"use strict";
var main;
(function() {
var $rt_seed = 2463534242;
function $rt_nextId() {
    var x = $rt_seed;
    x ^= x << 13;
    x ^= x >> 17;
    x ^= x << 5;
    $rt_seed = x;
    return x;
}
function $rt_compare(a, b) {
    return a > b ? 1 : a < b ?  -1 : a === b ? 0 : 1;
}
function $rt_isInstance(obj, cls) {
    return obj !== null && !!obj.constructor.$meta && $rt_isAssignable(obj.constructor, cls);
}
function $rt_isAssignable(from, to) {
    if (from === to) {
        return true;
    }
    if (to.$meta.item !== null) {
        return from.$meta.item !== null && $rt_isAssignable(from.$meta.item, to.$meta.item);
    }
    var supertypes = from.$meta.supertypes;
    for (var i = 0;i < supertypes.length;i = i + 1 | 0) {
        if ($rt_isAssignable(supertypes[i], to)) {
            return true;
        }
    }
    return false;
}
function $rt_createArray(cls, sz) {
    var data = new Array(sz);
    var arr = new $rt_array(cls, data);
    if (sz > 0) {
        var i = 0;
        do  {
            data[i] = null;
            i = i + 1 | 0;
        }while (i < sz);
    }
    return arr;
}
function $rt_wrapArray(cls, data) {
    return new $rt_array(cls, data);
}
function $rt_createUnfilledArray(cls, sz) {
    return new $rt_array(cls, new Array(sz));
}
function $rt_createLongArray(sz) {
    var data = new Array(sz);
    var arr = new $rt_array($rt_longcls(), data);
    for (var i = 0;i < sz;i = i + 1 | 0) {
        data[i] = Long_ZERO;
    }
    return arr;
}
function $rt_createNumericArray(cls, nativeArray) {
    return new $rt_array(cls, nativeArray);
}
function $rt_createCharArray(sz) {
    return $rt_createNumericArray($rt_charcls(), new Uint16Array(sz));
}
function $rt_createByteArray(sz) {
    return $rt_createNumericArray($rt_bytecls(), new Int8Array(sz));
}
function $rt_createShortArray(sz) {
    return $rt_createNumericArray($rt_shortcls(), new Int16Array(sz));
}
function $rt_createIntArray(sz) {
    return $rt_createNumericArray($rt_intcls(), new Int32Array(sz));
}
function $rt_createBooleanArray(sz) {
    return $rt_createNumericArray($rt_booleancls(), new Int8Array(sz));
}
function $rt_createFloatArray(sz) {
    return $rt_createNumericArray($rt_floatcls(), new Float32Array(sz));
}
function $rt_createDoubleArray(sz) {
    return $rt_createNumericArray($rt_doublecls(), new Float64Array(sz));
}
function $rt_arraycls(cls) {
    var result = cls.$array;
    if (result === null) {
        var arraycls = {  };
        var name = "[" + cls.$meta.binaryName;
        arraycls.$meta = { item : cls, supertypes : [$rt_objcls()], primitive : false, superclass : $rt_objcls(), name : name, binaryName : name, enum : false };
        arraycls.classObject = null;
        arraycls.$array = null;
        result = arraycls;
        cls.$array = arraycls;
    }
    return result;
}
function $rt_createcls() {
    return { $array : null, classObject : null, $meta : { supertypes : [], superclass : null } };
}
function $rt_createPrimitiveCls(name, binaryName) {
    var cls = $rt_createcls();
    cls.$meta.primitive = true;
    cls.$meta.name = name;
    cls.$meta.binaryName = binaryName;
    cls.$meta.enum = false;
    cls.$meta.item = null;
    return cls;
}
var $rt_booleanclsCache = null;
function $rt_booleancls() {
    if ($rt_booleanclsCache === null) {
        $rt_booleanclsCache = $rt_createPrimitiveCls("boolean", "Z");
    }
    return $rt_booleanclsCache;
}
var $rt_charclsCache = null;
function $rt_charcls() {
    if ($rt_charclsCache === null) {
        $rt_charclsCache = $rt_createPrimitiveCls("char", "C");
    }
    return $rt_charclsCache;
}
var $rt_byteclsCache = null;
function $rt_bytecls() {
    if ($rt_byteclsCache === null) {
        $rt_byteclsCache = $rt_createPrimitiveCls("byte", "B");
    }
    return $rt_byteclsCache;
}
var $rt_shortclsCache = null;
function $rt_shortcls() {
    if ($rt_shortclsCache === null) {
        $rt_shortclsCache = $rt_createPrimitiveCls("short", "S");
    }
    return $rt_shortclsCache;
}
var $rt_intclsCache = null;
function $rt_intcls() {
    if ($rt_intclsCache === null) {
        $rt_intclsCache = $rt_createPrimitiveCls("int", "I");
    }
    return $rt_intclsCache;
}
var $rt_longclsCache = null;
function $rt_longcls() {
    if ($rt_longclsCache === null) {
        $rt_longclsCache = $rt_createPrimitiveCls("long", "J");
    }
    return $rt_longclsCache;
}
var $rt_floatclsCache = null;
function $rt_floatcls() {
    if ($rt_floatclsCache === null) {
        $rt_floatclsCache = $rt_createPrimitiveCls("float", "F");
    }
    return $rt_floatclsCache;
}
var $rt_doubleclsCache = null;
function $rt_doublecls() {
    if ($rt_doubleclsCache === null) {
        $rt_doubleclsCache = $rt_createPrimitiveCls("double", "D");
    }
    return $rt_doubleclsCache;
}
var $rt_voidclsCache = null;
function $rt_voidcls() {
    if ($rt_voidclsCache === null) {
        $rt_voidclsCache = $rt_createPrimitiveCls("void", "V");
    }
    return $rt_voidclsCache;
}
function $rt_throw(ex) {
    throw $rt_exception(ex);
}
function $rt_exception(ex) {
    var err = ex.$jsException;
    if (!err) {
        err = new Error("Java exception thrown");
        if (typeof Error.captureStackTrace === "function") {
            Error.captureStackTrace(err);
        }
        err.$javaException = ex;
        ex.$jsException = err;
        $rt_fillStack(err, ex);
    }
    return err;
}
function $rt_fillStack(err, ex) {
    if (typeof $rt_decodeStack === "function" && err.stack) {
        var stack = $rt_decodeStack(err.stack);
        var javaStack = $rt_createArray($rt_objcls(), stack.length);
        var elem;
        var noStack = false;
        for (var i = 0;i < stack.length;++i) {
            var element = stack[i];
            elem = $rt_createStackElement($rt_str(element.className), $rt_str(element.methodName), $rt_str(element.fileName), element.lineNumber);
            if (elem == null) {
                noStack = true;
                break;
            }
            javaStack.data[i] = elem;
        }
        if (!noStack) {
            $rt_setStack(ex, javaStack);
        }
    }
}
function $rt_createMultiArray(cls, dimensions) {
    var first = 0;
    for (var i = dimensions.length - 1;i >= 0;i = i - 1 | 0) {
        if (dimensions[i] === 0) {
            first = i;
            break;
        }
    }
    if (first > 0) {
        for (i = 0;i < first;i = i + 1 | 0) {
            cls = $rt_arraycls(cls);
        }
        if (first === dimensions.length - 1) {
            return $rt_createArray(cls, dimensions[first]);
        }
    }
    var arrays = new Array($rt_primitiveArrayCount(dimensions, first));
    var firstDim = dimensions[first] | 0;
    for (i = 0;i < arrays.length;i = i + 1 | 0) {
        arrays[i] = $rt_createArray(cls, firstDim);
    }
    return $rt_createMultiArrayImpl(cls, arrays, dimensions, first);
}
function $rt_createByteMultiArray(dimensions) {
    var arrays = new Array($rt_primitiveArrayCount(dimensions, 0));
    if (arrays.length === 0) {
        return $rt_createMultiArray($rt_bytecls(), dimensions);
    }
    var firstDim = dimensions[0] | 0;
    for (var i = 0;i < arrays.length;i = i + 1 | 0) {
        arrays[i] = $rt_createByteArray(firstDim);
    }
    return $rt_createMultiArrayImpl($rt_bytecls(), arrays, dimensions);
}
function $rt_createCharMultiArray(dimensions) {
    var arrays = new Array($rt_primitiveArrayCount(dimensions, 0));
    if (arrays.length === 0) {
        return $rt_createMultiArray($rt_charcls(), dimensions);
    }
    var firstDim = dimensions[0] | 0;
    for (var i = 0;i < arrays.length;i = i + 1 | 0) {
        arrays[i] = $rt_createCharArray(firstDim);
    }
    return $rt_createMultiArrayImpl($rt_charcls(), arrays, dimensions, 0);
}
function $rt_createBooleanMultiArray(dimensions) {
    var arrays = new Array($rt_primitiveArrayCount(dimensions, 0));
    if (arrays.length === 0) {
        return $rt_createMultiArray($rt_booleancls(), dimensions);
    }
    var firstDim = dimensions[0] | 0;
    for (var i = 0;i < arrays.length;i = i + 1 | 0) {
        arrays[i] = $rt_createBooleanArray(firstDim);
    }
    return $rt_createMultiArrayImpl($rt_booleancls(), arrays, dimensions, 0);
}
function $rt_createShortMultiArray(dimensions) {
    var arrays = new Array($rt_primitiveArrayCount(dimensions, 0));
    if (arrays.length === 0) {
        return $rt_createMultiArray($rt_shortcls(), dimensions);
    }
    var firstDim = dimensions[0] | 0;
    for (var i = 0;i < arrays.length;i = i + 1 | 0) {
        arrays[i] = $rt_createShortArray(firstDim);
    }
    return $rt_createMultiArrayImpl($rt_shortcls(), arrays, dimensions, 0);
}
function $rt_createIntMultiArray(dimensions) {
    var arrays = new Array($rt_primitiveArrayCount(dimensions, 0));
    if (arrays.length === 0) {
        return $rt_createMultiArray($rt_intcls(), dimensions);
    }
    var firstDim = dimensions[0] | 0;
    for (var i = 0;i < arrays.length;i = i + 1 | 0) {
        arrays[i] = $rt_createIntArray(firstDim);
    }
    return $rt_createMultiArrayImpl($rt_intcls(), arrays, dimensions, 0);
}
function $rt_createLongMultiArray(dimensions) {
    var arrays = new Array($rt_primitiveArrayCount(dimensions, 0));
    if (arrays.length === 0) {
        return $rt_createMultiArray($rt_longcls(), dimensions);
    }
    var firstDim = dimensions[0] | 0;
    for (var i = 0;i < arrays.length;i = i + 1 | 0) {
        arrays[i] = $rt_createLongArray(firstDim);
    }
    return $rt_createMultiArrayImpl($rt_longcls(), arrays, dimensions, 0);
}
function $rt_createFloatMultiArray(dimensions) {
    var arrays = new Array($rt_primitiveArrayCount(dimensions, 0));
    if (arrays.length === 0) {
        return $rt_createMultiArray($rt_floatcls(), dimensions);
    }
    var firstDim = dimensions[0] | 0;
    for (var i = 0;i < arrays.length;i = i + 1 | 0) {
        arrays[i] = $rt_createFloatArray(firstDim);
    }
    return $rt_createMultiArrayImpl($rt_floatcls(), arrays, dimensions, 0);
}
function $rt_createDoubleMultiArray(dimensions) {
    var arrays = new Array($rt_primitiveArrayCount(dimensions, 0));
    if (arrays.length === 0) {
        return $rt_createMultiArray($rt_doublecls(), dimensions);
    }
    var firstDim = dimensions[0] | 0;
    for (var i = 0;i < arrays.length;i = i + 1 | 0) {
        arrays[i] = $rt_createDoubleArray(firstDim);
    }
    return $rt_createMultiArrayImpl($rt_doublecls(), arrays, dimensions, 0);
}
function $rt_primitiveArrayCount(dimensions, start) {
    var val = dimensions[start + 1] | 0;
    for (var i = start + 2;i < dimensions.length;i = i + 1 | 0) {
        val = val * (dimensions[i] | 0) | 0;
        if (val === 0) {
            break;
        }
    }
    return val;
}
function $rt_createMultiArrayImpl(cls, arrays, dimensions, start) {
    var limit = arrays.length;
    for (var i = start + 1 | 0;i < dimensions.length;i = i + 1 | 0) {
        cls = $rt_arraycls(cls);
        var dim = dimensions[i];
        var index = 0;
        var packedIndex = 0;
        while (index < limit) {
            var arr = $rt_createUnfilledArray(cls, dim);
            for (var j = 0;j < dim;j = j + 1 | 0) {
                arr.data[j] = arrays[index];
                index = index + 1 | 0;
            }
            arrays[packedIndex] = arr;
            packedIndex = packedIndex + 1 | 0;
        }
        limit = packedIndex;
    }
    return arrays[0];
}
function $rt_assertNotNaN(value) {
    if (typeof value === 'number' && isNaN(value)) {
        throw "NaN";
    }
    return value;
}
var $rt_stdoutBuffer = "";
var $rt_putStdout = typeof $rt_putStdoutCustom === "function" ? $rt_putStdoutCustom : function(ch) {
    if (ch === 0xA) {
        if (console) {
            console.info($rt_stdoutBuffer);
        }
        $rt_stdoutBuffer = "";
    } else {
        $rt_stdoutBuffer += String.fromCharCode(ch);
    }
};
var $rt_stderrBuffer = "";
var $rt_putStderr = typeof $rt_putStderrCustom === "function" ? $rt_putStderrCustom : function(ch) {
    if (ch === 0xA) {
        if (console) {
            console.error($rt_stderrBuffer);
        }
        $rt_stderrBuffer = "";
    } else {
        $rt_stderrBuffer += String.fromCharCode(ch);
    }
};
var $rt_packageData = null;
function $rt_packages(data) {
    var i = 0;
    var packages = new Array(data.length);
    for (var j = 0;j < data.length;++j) {
        var prefixIndex = data[i++];
        var prefix = prefixIndex >= 0 ? packages[prefixIndex] : "";
        packages[j] = prefix + data[i++] + ".";
    }
    $rt_packageData = packages;
}
function $rt_metadata(data) {
    var packages = $rt_packageData;
    var i = 0;
    while (i < data.length) {
        var cls = data[i++];
        cls.$meta = {  };
        var m = cls.$meta;
        var className = data[i++];
        m.name = className !== 0 ? className : null;
        if (m.name !== null) {
            var packageIndex = data[i++];
            if (packageIndex >= 0) {
                m.name = packages[packageIndex] + m.name;
            }
        }
        m.binaryName = "L" + m.name + ";";
        var superclass = data[i++];
        m.superclass = superclass !== 0 ? superclass : null;
        m.supertypes = data[i++];
        if (m.superclass) {
            m.supertypes.push(m.superclass);
            cls.prototype = Object.create(m.superclass.prototype);
        } else {
            cls.prototype = {  };
        }
        var flags = data[i++];
        m.enum = (flags & 8) !== 0;
        m.flags = flags;
        m.primitive = false;
        m.item = null;
        cls.prototype.constructor = cls;
        cls.classObject = null;
        m.accessLevel = data[i++];
        var clinit = data[i++];
        cls.$clinit = clinit !== 0 ? clinit : function() {
        };
        var virtualMethods = data[i++];
        if (virtualMethods !== 0) {
            for (var j = 0;j < virtualMethods.length;j += 2) {
                var name = virtualMethods[j];
                var func = virtualMethods[j + 1];
                if (typeof name === 'string') {
                    name = [name];
                }
                for (var k = 0;k < name.length;++k) {
                    cls.prototype[name[k]] = func;
                }
            }
        }
        cls.$array = null;
    }
}
function $rt_threadStarter(f) {
    return function() {
        var args = Array.prototype.slice.apply(arguments);
        $rt_startThread(function() {
            f.apply(this, args);
        });
    };
}
function $rt_mainStarter(f) {
    return function(args, callback) {
        if (!args) {
            args = [];
        }
        var javaArgs = $rt_createArray($rt_objcls(), args.length);
        for (var i = 0;i < args.length;++i) {
            javaArgs.data[i] = $rt_str(args[i]);
        }
        $rt_startThread(function() {
            f.call(null, javaArgs);
        }, callback);
    };
}
var $rt_stringPool_instance;
function $rt_stringPool(strings) {
    $rt_stringPool_instance = new Array(strings.length);
    for (var i = 0;i < strings.length;++i) {
        $rt_stringPool_instance[i] = $rt_intern($rt_str(strings[i]));
    }
}
function $rt_s(index) {
    return $rt_stringPool_instance[index];
}
function $rt_eraseClinit(target) {
    return target.$clinit = function() {
    };
}
var $rt_numberConversionView = new DataView(new ArrayBuffer(8));
function $rt_doubleToLongBits(n) {
    $rt_numberConversionView.setFloat64(0, n, true);
    return new Long($rt_numberConversionView.getInt32(0, true), $rt_numberConversionView.getInt32(4, true));
}
function $rt_longBitsToDouble(n) {
    $rt_numberConversionView.setInt32(0, n.lo, true);
    $rt_numberConversionView.setInt32(4, n.hi, true);
    return $rt_numberConversionView.getFloat64(0, true);
}
function $rt_floatToIntBits(n) {
    $rt_numberConversionView.setFloat32(0, n);
    return $rt_numberConversionView.getInt32(0);
}
function $rt_intBitsToFloat(n) {
    $rt_numberConversionView.setInt32(0, n);
    return $rt_numberConversionView.getFloat32(0);
}
function $rt_javaException(e) {
    return e instanceof Error && typeof e.$javaException === 'object' ? e.$javaException : null;
}
function $rt_jsException(e) {
    return typeof e.$jsException === 'object' ? e.$jsException : null;
}
function $rt_wrapException(err) {
    var ex = err.$javaException;
    if (!ex) {
        ex = $rt_createException($rt_str("(JavaScript) " + err.toString()));
        err.$javaException = ex;
        ex.$jsException = err;
        $rt_fillStack(err, ex);
    }
    return ex;
}
function $dbg_class(obj) {
    var cls = obj.constructor;
    var arrayDegree = 0;
    while (cls.$meta && cls.$meta.item) {
        ++arrayDegree;
        cls = cls.$meta.item;
    }
    var clsName = "";
    if (cls === $rt_booleancls()) {
        clsName = "boolean";
    } else if (cls === $rt_bytecls()) {
        clsName = "byte";
    } else if (cls === $rt_shortcls()) {
        clsName = "short";
    } else if (cls === $rt_charcls()) {
        clsName = "char";
    } else if (cls === $rt_intcls()) {
        clsName = "int";
    } else if (cls === $rt_longcls()) {
        clsName = "long";
    } else if (cls === $rt_floatcls()) {
        clsName = "float";
    } else if (cls === $rt_doublecls()) {
        clsName = "double";
    } else {
        clsName = cls.$meta ? cls.$meta.name || "a/" + cls.name : "@" + cls.name;
    }
    while (arrayDegree-- > 0) {
        clsName += "[]";
    }
    return clsName;
}
function Long(lo, hi) {
    this.lo = lo | 0;
    this.hi = hi | 0;
}
Long.prototype.__teavm_class__ = function() {
    return "long";
};
Long.prototype.toString = function() {
    var result = [];
    var n = this;
    var positive = Long_isPositive(n);
    if (!positive) {
        n = Long_neg(n);
    }
    var radix = new Long(10, 0);
    do  {
        var divRem = Long_divRem(n, radix);
        result.push(String.fromCharCode(48 + divRem[1].lo));
        n = divRem[0];
    }while (n.lo !== 0 || n.hi !== 0);
    result = (result.reverse()).join('');
    return positive ? result : "-" + result;
};
Long.prototype.valueOf = function() {
    return Long_toNumber(this);
};
var Long_ZERO = new Long(0, 0);
var Long_MAX_NORMAL = 1 << 18;
function Long_fromInt(val) {
    return val >= 0 ? new Long(val, 0) : new Long(val,  -1);
}
function Long_fromNumber(val) {
    if (val >= 0) {
        return new Long(val | 0, val / 0x100000000 | 0);
    } else {
        return Long_neg(new Long( -val | 0,  -val / 0x100000000 | 0));
    }
}
function Long_toNumber(val) {
    var lo = val.lo;
    var hi = val.hi;
    if (lo < 0) {
        lo += 0x100000000;
    }
    return 0x100000000 * hi + lo;
}
var $rt_imul = Math.imul || function(a, b) {
    var ah = a >>> 16 & 0xFFFF;
    var al = a & 0xFFFF;
    var bh = b >>> 16 & 0xFFFF;
    var bl = b & 0xFFFF;
    return al * bl + (ah * bl + al * bh << 16 >>> 0) | 0;
};
var $rt_udiv = function(a, b) {
    if (a < 0) {
        a += 0x100000000;
    }
    if (b < 0) {
        b += 0x100000000;
    }
    return a / b | 0;
};
var $rt_umod = function(a, b) {
    if (a < 0) {
        a += 0x100000000;
    }
    if (b < 0) {
        b += 0x100000000;
    }
    return a % b | 0;
};
function $rt_setCloneMethod(target, f) {
    target.$clone = f;
}
function $rt_cls(cls) {
    return jl_Class_getClass(cls);
}
function $rt_str(str) {
    if (str === null) {
        return null;
    }
    var characters = $rt_createCharArray(str.length);
    var charsBuffer = characters.data;
    for (var i = 0; i < str.length; i = (i + 1) | 0) {
        charsBuffer[i] = str.charCodeAt(i) & 0xFFFF;
    }
    return jl_String__init_(characters);
}
function $rt_ustr(str) {
    if (str === null) {
        return null;
    }
    var data = str.$characters.data;
    var result = "";
    for (var i = 0; i < data.length; i = (i + 1) | 0) {
        result += String.fromCharCode(data[i]);
    }
    return result;
}
function $rt_objcls() { return jl_Object; }
function $rt_nullCheck(val) {
    if (val === null) {
        $rt_throw(jl_NullPointerException__init_());
    }
    return val;
}
function $rt_intern(str) {
    return str;
}
function $rt_getThread() {
    return jl_Thread_currentThread();
}
function $rt_setThread(t) {
    return jl_Thread_setCurrentThread(t);
}
function $rt_createException(message) {
    return jl_RuntimeException__init_(message);
}
function $rt_createStackElement(className, methodName, fileName, lineNumber) {
    return null;
}
function $rt_setStack(e, stack) {
}
var $java = Object.create(null);
function jl_Object() {
    this.$monitor = null;
    this.$id$ = 0;
}
function jl_Object__init_() {
    var var_0 = new jl_Object();
    jl_Object__init_0(var_0);
    return var_0;
}
function jl_Object_monitorEnterSync($o) {
    var var$2;
    if ($o.$monitor === null)
        jl_Object_createMonitor($o);
    if ($o.$monitor.$owner === null)
        $o.$monitor.$owner = jl_Thread_currentThread0;
    else if ($o.$monitor.$owner !== jl_Thread_currentThread0) {
        var$2 = new jl_IllegalStateException;
        jl_Throwable__init_(var$2, $rt_s(0));
        $rt_throw(var$2);
    }
    $o = $o.$monitor;
    $o.$count = $o.$count + 1 | 0;
}
function jl_Object_monitorExitSync($o) {
    var var$2, var$3;
    if (!jl_Object_isEmptyMonitor($o) && $o.$monitor.$owner === jl_Thread_currentThread0) {
        var$2 = $o.$monitor;
        var$3 = var$2.$count - 1 | 0;
        var$2.$count = var$3;
        if (!var$3)
            $o.$monitor.$owner = null;
        jl_Object_isEmptyMonitor($o);
        return;
    }
    $o = new jl_IllegalMonitorStateException;
    jl_Throwable__init_0($o);
    $rt_throw($o);
}
function jl_Object_monitorEnter($o) {
    if ($o.$monitor === null)
        jl_Object_createMonitor($o);
    if ($o.$monitor.$owner === null)
        $o.$monitor.$owner = jl_Thread_currentThread0;
    if ($o.$monitor.$owner !== jl_Thread_currentThread0)
        jl_Object_monitorEnterWait($o, 1);
    else {
        $o = $o.$monitor;
        $o.$count = $o.$count + 1 | 0;
    }
}
function jl_Object_createMonitor($o) {
    $o.$monitor = jl_Object$Monitor__init_();
}
function jl_Object_monitorEnterWait(var$1, var$2) {
    var thread = $rt_nativeThread();
    var javaThread = $rt_getThread();
    if (thread.isResuming()) {
        thread.status = 0;
        var result = thread.attribute;
        if (result instanceof Error) {
            throw result;
        }
        return result;
    }
    var callback = function() {};
    callback.$complete = function(val) {
        thread.attribute = val;
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback.$error = function(e) {
        thread.attribute = $rt_exception(e);
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback = otpp_AsyncCallbackWrapper_create(callback);
    return thread.suspend(function() {
        try {
            jl_Object_monitorEnterWait0(var$1, var$2, callback);
        } catch($e) {
            callback.$error($rt_exception($e));
        }
    });
}
function jl_Object_monitorEnterWait0($o, $count, $callback) {
    var $thread_0, $monitor, var$6;
    $thread_0 = jl_Thread_currentThread0;
    if ($o.$monitor === null) {
        jl_Object_createMonitor($o);
        jl_Thread_setCurrentThread($thread_0);
        $o = $o.$monitor;
        $o.$count = $o.$count + $count | 0;
        otpp_AsyncCallbackWrapper_complete($callback, null);
        return;
    }
    if ($o.$monitor.$owner === null) {
        $o.$monitor.$owner = $thread_0;
        jl_Thread_setCurrentThread($thread_0);
        $o = $o.$monitor;
        $o.$count = $o.$count + $count | 0;
        otpp_AsyncCallbackWrapper_complete($callback, null);
        return;
    }
    $monitor = $o.$monitor;
    if ($monitor.$enteringThreads === null)
        $monitor.$enteringThreads = otp_Platform_createQueueJs$js_body$_30();
    $monitor = $monitor.$enteringThreads;
    var$6 = new jl_Object$monitorEnterWait$lambda$_6_0;
    var$6.$_0 = $thread_0;
    var$6.$_1 = $o;
    var$6.$_2 = $count;
    var$6.$_3 = $callback;
    $callback = var$6;
    $monitor.push($callback);
}
function jl_Object_monitorExit($o) {
    var var$2;
    if (!jl_Object_isEmptyMonitor($o) && $o.$monitor.$owner === jl_Thread_currentThread0) {
        var$2 = $o.$monitor;
        var$2.$count = var$2.$count - 1 | 0;
        if (var$2.$count <= 0) {
            var$2.$owner = null;
            if (var$2.$enteringThreads !== null && !otp_PlatformQueue_isEmpty$static(var$2.$enteringThreads)) {
                var$2 = new jl_Object$monitorExit$lambda$_8_0;
                var$2.$_00 = $o;
                otp_Platform_postpone(var$2);
            } else
                jl_Object_isEmptyMonitor($o);
        }
        return;
    }
    $o = new jl_IllegalMonitorStateException;
    jl_Throwable__init_0($o);
    $rt_throw($o);
}
function jl_Object_isEmptyMonitor($this) {
    var $monitor;
    $monitor = $this.$monitor;
    if ($monitor === null)
        return 1;
    a: {
        if ($monitor.$owner === null && !($monitor.$enteringThreads !== null && !otp_PlatformQueue_isEmpty$static($monitor.$enteringThreads))) {
            if ($monitor.$notifyListeners === null)
                break a;
            if (otp_PlatformQueue_isEmpty$static($monitor.$notifyListeners))
                break a;
        }
        return 0;
    }
    $this.$monitor = null;
    return 1;
}
function jl_Object__init_0($this) {
    return;
}
function jl_Object_getClass($this) {
    return jl_Class_getClass($this.constructor);
}
function jl_Object_hashCode($this) {
    return jl_Object_identity($this);
}
function jl_Object_equals($this, $other) {
    return $this !== $other ? 0 : 1;
}
function jl_Object_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, jl_Class_getName(jl_Object_getClass($this)));
    jl_AbstractStringBuilder_append(var$1, $rt_s(1));
    jl_AbstractStringBuilder_append(var$1, jl_Integer_toHexString(jl_Object_identity($this)));
    return jl_AbstractStringBuilder_toString(var$1);
}
function jl_Object_identity($this) {
    var $platformThis, var$2;
    $platformThis = $this;
    if (!$platformThis.$id$) {
        var$2 = $rt_nextId();
        $platformThis.$id$ = var$2;
    }
    return $this.$id$;
}
function jl_Object_clone($this) {
    var $result, var$2, var$3;
    if (!$rt_isInstance($this, jl_Cloneable) && $this.constructor.$meta.item === null) {
        $result = new jl_CloneNotSupportedException;
        jl_Throwable__init_0($result);
        $rt_throw($result);
    }
    $result = otp_Platform_clone($this);
    var$2 = $result;
    var$3 = $rt_nextId();
    var$2.$id$ = var$3;
    return $result;
}
function jl_Object_notifyAll($this) {
    var $listeners, $listener;
    if (!($this.$monitor !== null && $this.$monitor.$owner === jl_Thread_currentThread0 ? 1 : 0)) {
        $listeners = new jl_IllegalMonitorStateException;
        jl_Throwable__init_0($listeners);
        $rt_throw($listeners);
    }
    $listeners = $this.$monitor.$notifyListeners;
    if ($listeners === null)
        return;
    while (!otp_PlatformQueue_isEmpty$static($listeners)) {
        $listener = otp_PlatformQueue_remove$static($listeners);
        if (!$listener.$expired())
            otp_Platform_postpone($listener);
    }
    $this.$monitor.$notifyListeners = null;
}
function nle_Client() {
    jl_Object.call(this);
}
var nle_Client_rootElement = null;
var nle_Client_instance = null;
var nle_Client_isCrashed = 0;
function nle_Client__init_() {
    var var_0 = new nle_Client();
    nle_Client__init_0(var_0);
    return var_0;
}
function nle_Client__init_0($this) {
    return;
}
function nle_Client_main($args) {
    var var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$args = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nle_Client__clinit_();
        jl_String__clinit_();
        jl_Integer__clinit_();
        jl_Character__clinit_();
        ju_Locale__clinit_();
        ju_Calendar__clinit_();
        ju_GregorianCalendar__clinit_();
        otcit_CachedDateTimeZone__clinit_();
        otcit_DateTimeZoneProvider__clinit_();
        nms_NBTBase__clinit_();
        jl_Float__clinit_();
        jl_Byte__clinit_();
        jl_Long__clinit_();
        jl_Double__clinit_();
        jm_BigInteger__clinit_();
        jl_Short__clinit_();
        jl_Boolean__clinit_();
        ju_TimeZone__clinit_();
        nle_LocalStorageManager__clinit_();
        nms_ServerList__clinit_();
        nle_EarlyLoadScreen__clinit_();
        jl_Thread__clinit_();
        nle_AssetRepository__clinit_();
        nle_Base64__clinit_();
        nle_BaseNCodec__clinit_();
        jur_AbstractSet__clinit_();
        jur_AbstractCharClass$PredefinedCharacterClasses__clinit_();
        jur_AbstractCharClass__clinit_();
        jur_FSet__clinit_();
        nle_ConfigConstants__clinit_();
        nms_ServerData__clinit_();
        nmc_Minecraft__clinit_();
        nms_GLAllocation__clinit_();
        nms_Packet3Chat__clinit_();
        jl_AbstractStringBuilder$Constants__clinit_();
        otcit_FloatAnalyzer__clinit_();
        otcit_DoubleAnalyzer__clinit_();
        nms_EntityLiving__clinit_();
        nms_DataWatcher__clinit_();
        nms_Entity__clinit_();
        nms_EntityList__clinit_();
        ju_Hashtable__clinit_();
        nms_StringTranslate__clinit_();
        nms_StatCollector__clinit_();
        nms_MapColor__clinit_();
        nms_CreativeTabs__clinit_();
        nms_BlockWood__clinit_();
        nms_BlockSapling__clinit_();
        nms_BlockSand__clinit_();
        nms_BlockLog__clinit_();
        nms_BlockLeaves__clinit_();
        nms_BlockSandStone__clinit_();
        nms_BlockBed__clinit_();
        nms_BlockTallGrass__clinit_();
        nms_BlockStep__clinit_();
        nms_BlockStairs__clinit_();
        nms_BlockFurnace__clinit_();
        nms_BlockDoor__clinit_();
        nms_EnumMobType__clinit_();
        nms_BlockRedstoneTorch__clinit_();
        nms_BlockRedstoneRepeater__clinit_();
        nms_BlockSilverfish__clinit_();
        nms_BlockStoneBrick__clinit_();
        nms_BlockMushroomCap__clinit_();
        nms_BlockNetherStalk__clinit_();
        nms_BlockEndPortal__clinit_();
        nms_BlockWoodSlab__clinit_();
        nms_BlockCocoa__clinit_();
        nms_BlockWall__clinit_();
        nms_BlockAnvil__clinit_();
        nms_BlockQuartz__clinit_();
        nms_EnumToolMaterial__clinit_();
        jn_ByteOrder__clinit_();
        jnc_CodingErrorAction__clinit_();
        jnc_CoderResult__clinit_();
        cjj_Deflate__clinit_();
        cjj_CRC32__clinit_();
        cjj_Tree__clinit_();
        nms_ItemBow__clinit_();
        nms_Potion__clinit_();
        nms_ItemArmor__clinit_();
        nms_EnumArmorMaterial__clinit_();
        nms_ItemDye__clinit_();
        nms_ItemPotion__clinit_();
        nms_ItemSkull__clinit_();
        nms_ItemRecord__clinit_();
        nms_MathHelper__clinit_();
        jt_DecimalFormat__clinit_();
        jm_RoundingMode__clinit_();
        jm_Conversion__clinit_();
        jlr_Modifier__clinit_();
        oj_JSONObject__clinit_();
        jl_Package__clinit_();
        jl_ClassLoader__clinit_();
        ju_Collections__clinit_();
        nle_TextureLocation__clinit_();
        nle_GuiScreenEditProfile__clinit_();
        jnc_Charset$Charsets__clinit_();
        nms_EnumOS__clinit_();
        nle_BaseNCodec$CodecPolicy__clinit_();
        cjj_Inflate__clinit_();
        nms_AxisAlignedBB__clinit_();
        nms_RenderBlocks__clinit_();
        nms_EntityRenderer__clinit_();
        nms_GuiAchievement__clinit_();
        ju_Date__clinit_();
        nms_TexturePackImplementation__clinit_();
        nms_ChatAllowedCharacters__clinit_();
        nms_ColorizerGrass__clinit_();
        nms_ColorizerFoliage__clinit_();
        nms_RenderManager__clinit_();
        nms_ItemRenderer__clinit_();
        nms_RenderGlobal__clinit_();
        nms_EffectRenderer__clinit_();
        nms_GuiIngame__clinit_();
        nms_LoadingScreenRenderer__clinit_();
        nle_GuiScreenLicense__clinit_();
        cjj_InfBlocks__clinit_();
        nle_DefaultSkinRenderer__clinit_();
        nms_GuiMultiplayer__clinit_();
        nle_GuiScreenVoiceChannel__clinit_();
        nms_KeyBinding__clinit_();
        nleg_FixedFunctionShader__clinit_();
        nms_EnumOptions__clinit_();
        nms_GuiInventory__clinit_();
        nms_InventoryEffectRenderer__clinit_();
        nms_GuiContainer__clinit_();
        nms_IMob__clinit_();
        nms_RenderSpider__clinit_();
        nms_RenderLiving__clinit_();
        nms_Render__clinit_();
        nms_RenderPig__clinit_();
        nms_EntitySheep__clinit_();
        nms_RenderSheep__clinit_();
        nms_RenderCow__clinit_();
        nms_RenderMooshroom__clinit_();
        nms_RenderWolf__clinit_();
        nms_RenderChicken__clinit_();
        nms_RenderOcelot__clinit_();
        nms_RenderSilverfish__clinit_();
        nms_RenderCreeper__clinit_();
        nms_RenderEnderman__clinit_();
        nms_RenderSnowMan__clinit_();
        nms_RenderSkeleton__clinit_();
        nms_RenderBiped__clinit_();
        nms_RenderWitch__clinit_();
        nms_RenderBlaze__clinit_();
        nms_RenderZombie__clinit_();
        nms_EntitySlime__clinit_();
        nms_RenderSlime__clinit_();
        nms_RenderMagmaCube__clinit_();
        nms_RenderPlayer__clinit_();
        nms_RenderGhast__clinit_();
        nms_RenderSquid__clinit_();
        nms_RenderVillager__clinit_();
        nms_RenderIronGolem__clinit_();
        nms_RenderBat__clinit_();
        nms_RenderDragon__clinit_();
        nms_RenderEnderCrystal__clinit_();
        nms_EntityWither__clinit_();
        nms_RenderWither__clinit_();
        nms_RenderPainting__clinit_();
        nms_RenderItemFrame__clinit_();
        nms_RenderArrow__clinit_();
        nms_RenderSnowball__clinit_();
        nms_RenderFireball__clinit_();
        nms_RenderWitherSkull__clinit_();
        nms_RenderItem__clinit_();
        nms_RenderXPOrb__clinit_();
        nms_RenderTNTPrimed__clinit_();
        nms_RenderFallingSand__clinit_();
        nms_EntityMinecart__clinit_();
        nms_RenderMinecart__clinit_();
        nms_RenderBoat__clinit_();
        nms_RenderFish__clinit_();
        nms_MapItemRenderer__clinit_();
        cjj_InfTree__clinit_();
        cjj_InfCodes__clinit_();
        nms_Vec3__clinit_();
        nms_GuiParticle__clinit_();
        nms_EnumMovingObjectType__clinit_();
        nms_ModelSilverfish__clinit_();
        ju_TreeSet__clinit_();
        maat_TMIConfig__clinit_();
        maat_TMI__clinit_();
        nms_TileEntity__clinit_();
        maat_TMIView__clinit_();
        maat_TMIUtils__clinit_();
        maat_TMIPotionPanel__clinit_();
        maat_TMIFireworkPanel__clinit_();
        maat_TMIImages__clinit_();
        nms_BiomeGenBase__clinit_();
        maa_Color__clinit_();
        nms_EnumEntitySize__clinit_();
        nms_GuiButton__clinit_();
        nle_License__clinit_();
        nms_EnumChatFormatting__clinit_();
        nleg_EffectPipelineFXAA__clinit_();
        nms_ActiveRenderInfo__clinit_();
        nms_ClippingHelperImpl__clinit_();
        nms_StringUtils__clinit_();
        nle_EnumBrowser__clinit_();
        nms_Direction__clinit_();
        maat_TMIItemPanel__clinit_();
        maat_TMIFavoritesPanel__clinit_();
        nms_Facing__clinit_();
        nms_Packet51MapChunk__clinit_();
        nms_Packet52MultiBlockChange__clinit_();
        nms_Packet56MapChunks__clinit_();
        nms_Packet70GameEvent__clinit_();
        nms_IEntitySelector__clinit_();
        nms_TileEntityFurnace__clinit_();
        nms_TileEntityBrewingStand__clinit_();
        nms_EnchantmentProtection__clinit_();
        nms_EnumEnchantmentType__clinit_();
        nms_EnchantmentDamage__clinit_();
        jn_URL__clinit_();
        nms_Score__clinit_();
        nms_TextureClock__clinit_();
        jn_URLConnection__clinit_();
        jn_HttpURLConnection__clinit_();
        nms_GuiButtonLanguage__clinit_();
        nms_TileEntitySignRenderer__clinit_();
        nms_TileEntityRendererPiston__clinit_();
        nms_TileEntityChestRenderer__clinit_();
        nms_TileEntityEnderChestRenderer__clinit_();
        nms_RenderEnchantmentTable__clinit_();
        nms_RenderEndPortal__clinit_();
        nms_TileEntityBeaconRenderer__clinit_();
        nms_TileEntitySkullRenderer__clinit_();
        nms_EnumAction__clinit_();
        nms_GuiRepair__clinit_();
        nms_EnumRarity__clinit_();
        nms_ChatClickData__clinit_();
        maat_TMICompatibility__clinit_();
        nms_ChestItemRenderHelper__clinit_();
        nms_EnumGameType__clinit_();
        nms_GuiSlot__clinit_();
        nms_GuiSlotServer__clinit_();
        maa_MidiConverter__clinit_();
        nms_DamageSource__clinit_();
        nlea_EaglerAdapterImpl2$RateLimit__clinit_();
        maan_Instrument__clinit_();
        cjj_JZlib$WrapperType__clinit_();
        nms_EnumSkyBlock__clinit_();
        nms_EnumStatus__clinit_();
        nms_EnumCreatureAttribute__clinit_();
        jt_AttributedCharacterIterator$Attribute__clinit_();
        nms_EnumFacing__clinit_();
        nms_WorldType__clinit_();
        nms_ScoreObjectiveCriteria__clinit_();
        maa_PubKey__clinit_();
        otcf_VirtualFileSystemProvider__clinit_();
        ji_File__clinit_();
        jss_AudioFormat$Encoding__clinit_();
        jss_AudioFileFormat$Type__clinit_();
        jsm_Sequencer$SyncMode__clinit_();
        otjc_JSRegExpFlag__clinit_();
        jus_Collector$Characteristics__clinit_();
        jss_LineEvent$Type__clinit_();
        nms_EnumArt__clinit_();
        nms_PacketCount__clinit_();
        maa_CryptManager__clinit_();
        nms_GuiMerchant__clinit_();
        nms_GuiWinGame__clinit_();
        ju_Vector__clinit_();
        jt_MessageFormat$Field__clinit_();
        nms_GuiChest__clinit_();
        nms_GuiCrafting__clinit_();
        nms_GuiBeacon__clinit_();
        nms_GuiDispenser__clinit_();
        nms_GuiHopper__clinit_();
        nms_GuiBrewingStand__clinit_();
        nms_GuiEnchantment__clinit_();
        nms_GuiFurnace__clinit_();
        nms_FurnaceRecipes__clinit_();
        nms_EntityFootStepFX__clinit_();
        nms_EntityLargeExplodeFX__clinit_();
        nms_GuiBeaconButton__clinit_();
        nms_GuiButtonMerchant__clinit_();
        nms_GuiScreenBook__clinit_();
        nms_GuiButtonNextPage__clinit_();
        nle_Client_registerErrorHandler$js_body$_5();
        $args = otji_JS_unwrapStringArray(window.minecraftOpts).data;
        var$2 = window.document;
        var$3 = $args[0];
        var$3 = var$2.getElementById($rt_ustr(var$3));
        nle_Client_rootElement = var$3;
        var$2 = $args[1];
        $ptr = 1;
    case 1:
        nlea_EaglerAdapterImpl2_initializeContext(var$3, var$2);
        if ($rt_suspending()) {
            break main;
        }
        nle_LocalStorageManager_loadStorage();
        var$4 = $args.length;
        if (var$4 > 2 && jl_String_length($args[2]) > 0)
            nms_ServerList_loadDefaultServers($args[2]);
        if (var$4 > 3)
            nlea_EaglerAdapterImpl2_setServerToJoinOnLaunch($args[3]);
        $ptr = 2;
    case 2:
        nle_Client_run0();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($args, var$2, var$3, var$4, $ptr);
}
function nle_Client_run0() {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        ji_PrintStream_println(jl_System_out(), $rt_s(2));
        nle_Client_instance = nmc_Minecraft__init_();
        var$1 = nle_Client_instance;
        $ptr = 1;
    case 1:
        nmc_Minecraft_run(var$1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push(var$1, $ptr);
}
function nle_Client_showCrashScreen($t) {
    var $str, $doc, $s, var$5, $img, $div;
    if (!nle_Client_isCrashed) {
        nle_Client_isCrashed = 1;
        nlea_EaglerAdapterImpl2_$callClinit();
        $str = nlea_EaglerAdapterImpl2_win;
        $doc = nlea_EaglerAdapterImpl2_contextmenu;
        $str.removeEventListener("contextmenu", otji_JS_function($doc, "handleEvent"));
        $str = nlea_EaglerAdapterImpl2_win;
        $doc = nlea_EaglerAdapterImpl2_mousedown;
        $str.removeEventListener("mousedown", otji_JS_function($doc, "handleEvent"));
        $str = nlea_EaglerAdapterImpl2_win;
        $doc = nlea_EaglerAdapterImpl2_mouseup;
        $str.removeEventListener("mouseup", otji_JS_function($doc, "handleEvent"));
        $str = nlea_EaglerAdapterImpl2_win;
        $doc = nlea_EaglerAdapterImpl2_mousemove;
        $str.removeEventListener("mousemove", otji_JS_function($doc, "handleEvent"));
        $str = nlea_EaglerAdapterImpl2_win;
        $doc = nlea_EaglerAdapterImpl2_keydown;
        $str.removeEventListener("keydown", otji_JS_function($doc, "handleEvent"));
        $str = nlea_EaglerAdapterImpl2_win;
        $doc = nlea_EaglerAdapterImpl2_keyup;
        $str.removeEventListener("keyup", otji_JS_function($doc, "handleEvent"));
        $str = nlea_EaglerAdapterImpl2_win;
        $doc = nlea_EaglerAdapterImpl2_keypress;
        $str.removeEventListener("keypress", otji_JS_function($doc, "handleEvent"));
        $str = nlea_EaglerAdapterImpl2_win;
        $doc = nlea_EaglerAdapterImpl2_wheel;
        $str.removeEventListener("wheel", otji_JS_function($doc, "handleEvent"));
        $str = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($str);
        jl_AbstractStringBuilder_append($str, $rt_s(3));
        jl_AbstractStringBuilder_append($str, $t);
        jl_AbstractStringBuilder_append0($str, 10);
        jl_AbstractStringBuilder_append0($str, 10);
        jl_AbstractStringBuilder_append($str, $rt_s(4));
        jl_AbstractStringBuilder_append($str, $rt_s(5));
        jl_AbstractStringBuilder_append($str, $rt_s(6));
        jl_AbstractStringBuilder_append($str, $rt_s(7));
        jl_AbstractStringBuilder_append($str, $rt_s(8));
        jl_AbstractStringBuilder_append($str, $rt_s(9));
        nle_EaglerProfile_$callClinit();
        jl_AbstractStringBuilder_append($str, nle_EaglerProfile_username);
        jl_AbstractStringBuilder_append($str, $rt_s(6));
        jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($str, $rt_s(10)), nle_EaglerProfile_myChannel), $rt_s(6));
        jl_StringBuilder_append0($str, 10);
        nle_Client_addArray($str, $rt_s(11));
        jl_StringBuilder_append0($str, 10);
        nle_Client_addDebug($str, $rt_s(12));
        nle_Client_addDebug($str, $rt_s(13));
        nle_Client_addDebug($str, $rt_s(14));
        nle_Client_addDebug($str, $rt_s(15));
        nle_Client_addDebug($str, $rt_s(16));
        nle_Client_addDebug($str, $rt_s(17));
        nle_Client_addDebug($str, $rt_s(18));
        jl_StringBuilder_append0($str, 10);
        jl_StringBuilder_append0(jl_StringBuilder_append1(jl_StringBuilder_append($str, $rt_s(19)), nle_Client_rootElement.clientWidth), 10);
        jl_StringBuilder_append0(jl_StringBuilder_append1(jl_StringBuilder_append($str, $rt_s(20)), nle_Client_rootElement.clientHeight), 10);
        nle_Client_addDebug($str, $rt_s(21));
        nle_Client_addDebug($str, $rt_s(22));
        nle_Client_addDebug($str, $rt_s(23));
        nle_Client_addDebug($str, $rt_s(24));
        nle_Client_addDebug($str, $rt_s(25));
        nle_Client_addDebug($str, $rt_s(26));
        nle_Client_addDebug($str, $rt_s(27));
        nle_Client_addDebug($str, $rt_s(28));
        nle_Client_addDebug($str, $rt_s(29));
        jl_StringBuilder_append0($str, 10);
        nle_Client_addDebug($str, $rt_s(30));
        jl_StringBuilder_append0($str, 10);
        nle_Client_addDebug($str, $rt_s(31));
        nle_Client_addArray($str, $rt_s(32));
        jl_StringBuilder_append($str, $rt_s(33));
        jl_StringBuilder_append($str, nle_LocalStorageManager_dumpConfiguration());
        jl_StringBuilder_append($str, $rt_s(34));
        nle_Client_addDebug($str, $rt_s(35));
        $s = $rt_str(nle_Client_rootElement.getAttribute("style"));
        var$5 = nle_Client_rootElement;
        $t = jl_StringBuilder__init_();
        if ($s === null)
            $s = $rt_s(36);
        $t = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append($t, $s), $rt_s(37)));
        var$5.setAttribute("style", $rt_ustr($t));
        $doc = window.document;
        $img = $doc.createElement("img");
        $div = $doc.createElement("div");
        $img.setAttribute("style", "z-index:100;position:absolute;top:10px;left:calc(50% - 151px);");
        $img.setAttribute("src", "data:image/png;base64, ");
        $div.setAttribute("style", "z-index:100;position:absolute;top:135px;left:10%;right:10%;bottom:30px;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;");
        nle_Client_rootElement.appendChild($img);
        nle_Client_rootElement.appendChild($div);
        $t = jl_StringBuilder_toString($str);
        $t = $doc.createTextNode($rt_ustr($t));
        $div.appendChild($t);
    }
}
function nle_Client_addDebug($str, $var) {
    jl_AbstractStringBuilder_append($str, $var);
    jl_AbstractStringBuilder_append($str, $rt_s(38));
    jl_AbstractStringBuilder_append($str, $rt_str(nle_Client_getString$js_body$_10($rt_ustr($var))));
    jl_AbstractStringBuilder_append0($str, 10);
}
function nle_Client_addArray($str, $var) {
    jl_AbstractStringBuilder_append($str, $var);
    jl_AbstractStringBuilder_append($str, $rt_s(38));
    jl_AbstractStringBuilder_append($str, $rt_str(nle_Client_getArray$js_body$_13($rt_ustr($var))));
    jl_AbstractStringBuilder_append0($str, 10);
}
function nle_Client__clinit_() {
    nle_Client_rootElement = null;
    nle_Client_instance = null;
    nle_Client_isCrashed = 0;
}
function nle_Client_registerErrorHandler$js_body$_5() {
    window.minecraftError = null;
    window.onerror = function(message, file, line, column, errorObj) {
        if (errorObj) {
            window.minecraftError = errorObj;
            window.minecraftErrorL = "" + line + ":" + column;
            nle_Client_handleNativeError$jsocb$_0();
        } else {
            alert("a native browser exception was thrown but your browser does not support fith argument in onerror");
        }
    };
}
function nle_Client_handleNativeError$jsocb$_0() {
    var var$1, var$2;
    var$1 = window.minecraftError;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(39));
    jl_AbstractStringBuilder_append(var$2, $rt_s(40));
    jl_AbstractStringBuilder_append(var$2, $rt_s(41));
    jl_AbstractStringBuilder_append(var$2, $rt_str(window.minecraftErrorL));
    jl_AbstractStringBuilder_append0(var$2, 10);
    jl_AbstractStringBuilder_append(var$2, $rt_s(42));
    jl_AbstractStringBuilder_append(var$2, $rt_str(var$1.name));
    jl_AbstractStringBuilder_append0(var$2, 10);
    jl_AbstractStringBuilder_append(var$2, $rt_s(43));
    jl_AbstractStringBuilder_append(var$2, $rt_str(var$1.message));
    jl_AbstractStringBuilder_append0(var$2, 10);
    jl_AbstractStringBuilder_append(var$2, $rt_s(44));
    jl_AbstractStringBuilder_append(var$2, $rt_str(var$1.stack));
    jl_AbstractStringBuilder_append0(var$2, 10);
    nle_Client_showCrashScreen(jl_AbstractStringBuilder_toString(var$2));
}
function nle_Client_getString$js_body$_10(var$1) {
    try {
        return "" + window.eval(var$1);
    } catch (e){
        return "<error>";
    }
}
function nle_Client_getArray$js_body$_13(var$1) {
    try {
        return JSON.stringify(window.eval(var$1));
    } catch (e){
        return "[\"<error>\"]";
    }
}
function jlr_AnnotatedElement() {
}
function jlr_AnnotatedElement_isAnnotationPresent($this, $annotationClass) {
    return 0;
}
function jl_Class() {
    var a = this; jl_Object.call(a);
    a.$name = null;
    a.$simpleName = null;
    a.$platformClass = null;
    a.$declaredMethods = null;
}
var jl_Class_reflectionInitialized = 0;
function jl_Class_getClass($cls) {
    var $result, var$3;
    if ($cls === null)
        return null;
    $result = $cls.classObject;
    if ($result === null) {
        $result = new jl_Class;
        $result.$platformClass = $cls;
        var$3 = $result;
        $cls.classObject = var$3;
    }
    return $result;
}
function jl_Class_getPlatformClass($this) {
    return $this.$platformClass;
}
function jl_Class_isInstance($this, $obj) {
    var var$2;
    $obj = $obj;
    var$2 = $this.$platformClass;
    return $obj !== null && !(typeof $obj.constructor.$meta === 'undefined' ? 1 : 0) && otp_Platform_isAssignable($obj.constructor, var$2) ? 1 : 0;
}
function jl_Class_isAssignableFrom($this, $obj) {
    return otp_Platform_isAssignable($obj.$platformClass, $this.$platformClass);
}
function jl_Class_getName($this) {
    if ($this.$name === null)
        $this.$name = otp_Platform_getName($this.$platformClass);
    return $this.$name;
}
function jl_Class_getSimpleName($this) {
    var $simpleName, $lastDollar, $lastDot;
    $simpleName = $this.$simpleName;
    if ($simpleName === null) {
        if (jl_Class_isArray($this)) {
            $simpleName = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($simpleName);
            jl_AbstractStringBuilder_append($simpleName, jl_Class_getSimpleName(jl_Class_getComponentType($this)));
            jl_AbstractStringBuilder_append($simpleName, $rt_s(45));
            $simpleName = jl_AbstractStringBuilder_toString($simpleName);
            $this.$simpleName = $simpleName;
            return $simpleName;
        }
        $simpleName = otp_Platform_getName($this.$platformClass);
        $lastDollar = jl_String_lastIndexOf($simpleName, 36);
        if ($lastDollar == (-1)) {
            $lastDot = jl_String_lastIndexOf($simpleName, 46);
            if ($lastDot != (-1))
                $simpleName = jl_String_substring($simpleName, $lastDot + 1 | 0);
        } else {
            $simpleName = jl_String_substring($simpleName, $lastDollar + 1 | 0);
            if (jl_String_charAt($simpleName, 0) >= 48 && jl_String_charAt($simpleName, 0) <= 57)
                $simpleName = $rt_s(36);
        }
        $this.$simpleName = $simpleName;
    }
    return $simpleName;
}
function jl_Class_isPrimitive($this) {
    return $this.$platformClass.$meta.primitive ? 1 : 0;
}
function jl_Class_isArray($this) {
    return otp_Platform_getArrayItem($this.$platformClass) === null ? 0 : 1;
}
function jl_Class_isInterface($this) {
    return !($this.$platformClass.$meta.flags & 2) ? 0 : 1;
}
function jl_Class_getComponentType($this) {
    return jl_Class_getClass(otp_Platform_getArrayItem($this.$platformClass));
}
function jl_Class_createMetadata() {
    jl_String.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), jnc_Charset],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), jnc_Charset],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initWithBytes",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), jnc_Charset],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "charAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "codePointAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointBefore",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "offsetByCodePoints",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "length",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getChars",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contentEquals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuffer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "contentEquals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareToIgnoreCase",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "startsWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "startsWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "regionMatches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_intcls(), jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "regionMatches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "endsWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "substring",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "substring",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "subSequence",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_CharSequence,
            callable : null
        }, {
            name : "concat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "replace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls(), $rt_charcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "replace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, jl_CharSequence],
            returnType : jl_String,
            callable : null
        }, {
            name : "trim",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toCharArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_charcls()),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "copyValueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "copyValueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equalsIgnoreCase",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBytes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getBytes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getBytes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jnc_Charset],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toLowerCase",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toLowerCase",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "toUpperCase",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toUpperCase",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "intern",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "split",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "split",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "replaceAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "replaceFirst",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "format",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : jl_String,
            callable : null
        }, {
            name : "format",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Locale, jl_String, $rt_arraycls(jl_Object)],
            returnType : jl_String,
            callable : null
        }, {
            name : "join",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_arraycls(jl_CharSequence)],
            returnType : jl_String,
            callable : null
        }, {
            name : "join",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, jl_Iterable],
            returnType : jl_String,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$static$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Object.$meta.methods = [
        {
            name : "monitorEnterSync",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "monitorExitSync",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "monitorEnter",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "monitorEnter",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createMonitor",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "monitorEnterWait",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "monitorEnterWait",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls(), oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "monitorExit",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "monitorExit",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "waitForOtherThreads",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEmptyMonitor",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "deleteMonitor",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "holdsLock",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "fakeInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getClass",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "identity",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCodeLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCodeLowLevelImpl",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setHashCodeLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setHashCodeLowLevelImpl",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeObject, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "identityLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "identityOrMonitor",
            modifiers : 256,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "identityOrMonitorLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setIdentity",
            modifiers : 256,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setIdentityLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeObject, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "cloneLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeObject],
            returnType : otr_RuntimeObject,
            callable : null
        }, {
            name : "notify",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "notifyAll",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "wait",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "wait",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "waitImpl",
            modifiers : 256,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "waitImpl",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls(), oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "wait",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "finalize",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lambda$monitorExit$2",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lambda$monitorExit$1",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lambda$monitorEnterWait$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Thread, jl_Object, $rt_intcls(), oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_Serializable.$meta.methods = [];
    jl_Comparable.$meta.methods = [
        {
            name : "compareTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    jl_CharSequence.$meta.methods = [
        {
            name : "length",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "charAt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "subSequence",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_CharSequence,
            callable : null
        }, {
            name : "toString",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    otj_JSObject.$meta.methods = [
        {
            name : "cast",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "cast$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    jl_Class.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [otp_PlatformClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getClass",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otp_PlatformClass],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getPlatformClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otp_PlatformClass,
            callable : null
        }, {
            name : "isInstance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInstanceLowLevel",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeObject],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAssignableFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAssignableFromLowLevel",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeClass],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSimpleName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSimpleNameCache",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSimpleNameCacheLowLevel",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otr_RuntimeObject,
            callable : null
        }, {
            name : "setSimpleNameCache",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSimpleNameCacheLowLevel",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPrimitive",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEnum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInterface",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComponentType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getDeclaredFields",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jlr_Field),
            callable : null
        }, {
            name : "initReflection",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createMetadata",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFields",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jlr_Field),
            callable : null
        }, {
            name : "getDeclaredField",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jlr_Field,
            callable : null
        }, {
            name : "getField",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jlr_Field,
            callable : null
        }, {
            name : "findField",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, ju_Set],
            returnType : jlr_Field,
            callable : null
        }, {
            name : "newEmptyInstance",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getDeclaredConstructors",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jlr_Constructor),
            callable : null
        }, {
            name : "getConstructors",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jlr_Constructor),
            callable : null
        }, {
            name : "getDeclaredConstructor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Class)],
            returnType : jlr_Constructor,
            callable : null
        }, {
            name : "getConstructor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Class)],
            returnType : jlr_Constructor,
            callable : null
        }, {
            name : "getFieldsOfInterfaces",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Class, ju_List, ju_Set],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDeclaredMethods",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jlr_Method),
            callable : null
        }, {
            name : "getDeclaredMethod",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Class)],
            returnType : jlr_Method,
            callable : null
        }, {
            name : "getMethods",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jlr_Method),
            callable : null
        }, {
            name : "getMethod",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Class)],
            returnType : jlr_Method,
            callable : null
        }, {
            name : "findMethods",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Class, ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "findMethod",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Class, jlr_Method, jl_String, $rt_arraycls(jl_Class)],
            returnType : jlr_Method,
            callable : null
        }, {
            name : "getModifiers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "desiredAssertionStatus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSuperclass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getInterfaces",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_Class),
            callable : null
        }, {
            name : "getEnumConstants",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "cast",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getClassLoader",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_ClassLoader,
            callable : null
        }, {
            name : "forName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Class,
            callable : null
        }, {
            name : "forName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls(), jl_ClassLoader],
            returnType : jl_Class,
            callable : null
        }, {
            name : "initialize",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "newInstance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getDeclaringClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getDeclaringClassImpl",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otp_PlatformClass],
            returnType : otp_PlatformClass,
            callable : null
        }, {
            name : "asSubclass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : jl_Class,
            callable : null
        }, {
            name : "isAnnotationPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAnnotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : jla_Annotation,
            callable : null
        }, {
            name : "getAnnotations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }, {
            name : "getDeclaredAnnotations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }, {
            name : "ensureAnnotationsByType",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getResourceAsStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "getPackage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Package,
            callable : null
        }];
    jlr_AnnotatedElement.$meta.methods = [
        {
            name : "isAnnotationPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAnnotation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : jla_Annotation,
            callable : null
        }, {
            name : "getAnnotations",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }, {
            name : "getDeclaredAnnotations",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }, {
            name : "getAnnotationsByType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }, {
            name : "getDeclaredAnnotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : jla_Annotation,
            callable : null
        }, {
            name : "getDeclaredAnnotationsByType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }];
    jl_NoClassDefFoundError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_LinkageError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Error.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Throwable.$meta.methods = [
        {
            name : "fakeInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, jl_Throwable, $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable, $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fakeInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fakeInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fakeInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fakeInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillInStackTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Throwable,
            callable : null
        }, {
            name : "getMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLocalizedMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCause",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Throwable,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "initCause",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : jl_Throwable,
            callable : null
        }, {
            name : "printStackTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "printStackTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_PrintStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "printStackTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_PrintWriter],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStackTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_StackTraceElement),
            callable : null
        }, {
            name : "setStackTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_StackTraceElement)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSuppressed",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_Throwable),
            callable : null
        }, {
            name : "addSuppressed",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_NoSuchFieldError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_IncompatibleClassChangeError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_NoSuchMethodError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_RuntimeException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Exception.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_StringBuilder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "appendCodePoint",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuffer],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls())],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "delete",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "replace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "deleteCharAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "reverse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_StringBuilder,
            callable : null
        }, {
            name : "codePointBefore",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointAt",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointCount",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "offsetByCodePoints",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setCharAt",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "substring",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "substring",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "reverse",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "replace",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "delete",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "deleteCharAt",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "setLength",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChars",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "subSequence",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_CharSequence,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls())],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_StringBuffer],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "charAt",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "length",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "capacity",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "trimToSize",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ensureCapacity",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "appendCodePoint",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_Appendable,
            callable : null
        }];
    jl_AbstractStringBuilder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_longcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_longcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_doublecls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "trailingDecimalZeros",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "trailingDecimalZeros",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "appendCodePoint",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_Object],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "ensureCapacity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "trimToSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "capacity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "length",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "charAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_CharSequence],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_StringBuffer],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls())],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "subSequence",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_CharSequence,
            callable : null
        }, {
            name : "getChars",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteCharAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "delete",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "replace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insertSpace",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reverse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "substring",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "substring",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "setCharAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "offsetByCodePoints",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointBefore",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    jl_Appendable.$meta.methods = [
        {
            name : "append",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_Appendable,
            callable : null
        }];
    nle_Client.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "main",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "run0",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "run1",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOpts",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "registerErrorHandler",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWindowError",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSError,
            callable : null
        }, {
            name : "getWindowErrorL",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "handleNativeError",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "showCrashScreen",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getString",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "addDebug",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_StringBuilder, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addArray",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_StringBuilder, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOpts$js_body$_4",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "registerErrorHandler$js_body$_5",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleNativeError$jsocb$_0",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWindowError$js_body$_6",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getWindowErrorL$js_body$_7",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getString$js_body$_10",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getArray$js_body$_13",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjc_JSArrayReader.$meta.methods = [
        {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }];
    otjb_Window.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDocument",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLDocument,
            callable : null
        }, {
            name : "getScreen",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Screen,
            callable : null
        }, {
            name : "getScreenX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getScreenY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLocation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Location,
            callable : null
        }, {
            name : "getHistory",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_History,
            callable : null
        }, {
            name : "getFrameElement",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "getFrames",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSArrayReader,
            callable : null
        }, {
            name : "getInnerWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getInnerHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOuterWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOuterHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getScrollY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getParent",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Window,
            callable : null
        }, {
            name : "getTop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Window,
            callable : null
        }, {
            name : "alert",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "alert",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "confirm",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "confirm",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "prompt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "prompt",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "setTimeout",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjb_TimerHandler, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setTimeout",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjb_TimerHandler, $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clearTimeout",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setInterval",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjb_TimerHandler, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setInterval",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjb_TimerHandler, $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clearInterval",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "requestAnimationFrame",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjb_AnimationFrameCallback],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "cancelAnimationFrame",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blur",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "focus",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moveBy",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moveTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resizeBy",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resizeTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "scrollBy",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "scrollTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "open",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjb_Window,
            callable : null
        }, {
            name : "open",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, otjb_WindowFeatures],
            returnType : otjb_Window,
            callable : null
        }, {
            name : "open",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : otjb_Window,
            callable : null
        }, {
            name : "print",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, jl_String, otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postMessage",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, jl_String, $rt_arraycls(otj_JSObject)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "current",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Window,
            callable : null
        }, {
            name : "worker",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Window,
            callable : null
        }, {
            name : "encodeURI",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "encodeURIComponent",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "decodeURI",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "decodeURIComponent",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDevicePixelRatio",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "atob",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "btoa",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjb_Window],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "open$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjb_Window, jl_String, jl_String, otjb_WindowFeatures],
            returnType : otjb_Window,
            callable : null
        }, {
            name : "postMessage$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjb_Window, otj_JSObject, jl_String, $rt_arraycls(otj_JSObject)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "alert$js_body$_18",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "alert$js_body$_19",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "confirm$js_body$_20",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "confirm$js_body$_21",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "prompt$js_body$_23",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "setTimeout$js_body$_24",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "setTimeout$js_body$_25",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "clearTimeout$js_body$_26",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setInterval$js_body$_27",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "setInterval$js_body$_28",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "clearInterval$js_body$_29",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "requestAnimationFrame$js_body$_30",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "cancelAnimationFrame$js_body$_31",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "current$js_body$_50",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "worker$js_body$_51",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "encodeURI$js_body$_52",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "encodeURIComponent$js_body$_53",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "decodeURI$js_body$_54",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "decodeURIComponent$js_body$_55",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "atob$js_body$_57",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "btoa$js_body$_58",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "addEventListener$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "removeEventListener$exported$1",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "get$exported$2",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "removeEventListener$exported$3",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "dispatchEvent$exported$4",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getLength$exported$5",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "addEventListener$exported$6",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjb_WindowEventTarget.$meta.methods = [
        {
            name : "listenBeforeOnload",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectBeforeOnload",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenHashChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectHashChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenBeforeOnload$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjb_WindowEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectBeforeOnload$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjb_WindowEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMessage$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjb_WindowEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMessage$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjb_WindowEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenHashChange$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjb_WindowEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectHashChange$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjb_WindowEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjde_EventTarget.$meta.methods = [
        {
            name : "addEventListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, otjde_EventListener, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addEventListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEventListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, otjde_EventListener, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEventListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dispatchEvent",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otjde_FocusEventTarget.$meta.methods = [
        {
            name : "listenFocus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectFocus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenBlur",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectBlur",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenFocus$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_FocusEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectFocus$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_FocusEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenBlur$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_FocusEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectBlur$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_FocusEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjde_MouseEventTarget.$meta.methods = [
        {
            name : "listenClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenDoubleClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectDoubleClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseDown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseDown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseUp",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseUp",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseOver",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseOver",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseEnter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseEnter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseLeaeve",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseLeave",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseOut",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseOut",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenClick$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectClick$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenDoubleClick$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectDoubleClick$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseDown$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseDown$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseUp$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseUp$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseOver$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseOver$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseEnter$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseEnter$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseLeaeve$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseLeave$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenMouseOut$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectMouseOut$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjde_KeyboardEventTarget.$meta.methods = [
        {
            name : "listenKeyDown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectKeyDown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenKeyUp",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectKeyUp",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenKeyPress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectKeyPress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenKeyDown$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_KeyboardEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectKeyDown$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_KeyboardEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenKeyUp$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_KeyboardEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectKeyUp$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_KeyboardEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenKeyPress$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_KeyboardEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectKeyPress$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_KeyboardEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjde_LoadEventTarget.$meta.methods = [
        {
            name : "listenLoad",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectLoad",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenLoad$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_LoadEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectLoad$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_LoadEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjb_StorageProvider.$meta.methods = [
        {
            name : "getSessionStorage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Storage,
            callable : null
        }, {
            name : "getLocalStorage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Storage,
            callable : null
        }];
    otji_JS.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "arrayData",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "dataToByteArray",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "dataToCharArray",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_arraycls($rt_charcls()),
            callable : null
        }, {
            name : "dataToShortArray",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_arraycls($rt_shortcls()),
            callable : null
        }, {
            name : "dataToIntArray",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "dataToFloatArray",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "dataToDoubleArray",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_arraycls($rt_doublecls()),
            callable : null
        }, {
            name : "dataToArray",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_arraycls(otj_JSObject),
            callable : null
        }, {
            name : "wrap",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "wrap",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "wrap",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "wrap",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "wrap",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "wrap",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "wrap",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "wrap",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "unwrapByte",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "unwrapCharacter",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "unwrapShort",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "unwrapInt",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "unwrapFloat",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "unwrapDouble",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "unwrapBoolean",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "unwrapString",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : jl_String,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(otj_JSObject)],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "arrayWrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "map",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), juf_Function],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "arrayMapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : juf_Function,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_booleancls())],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "booleanArrayWrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "byteArrayWrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls())],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "shortArrayWrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "charArrayWrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "intArrayWrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "stringArrayWrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "floatArrayWrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "doubleArrayWrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "unwrapArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Class, otjc_JSArrayReader],
            returnType : $rt_arraycls(otj_JSObject),
            callable : null
        }, {
            name : "arrayUnwrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : juf_Function,
            callable : null
        }, {
            name : "unmapArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Class, otjc_JSArrayReader, juf_Function],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "arrayUnmapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Class, juf_Function],
            returnType : juf_Function,
            callable : null
        }, {
            name : "unwrapBooleanArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader],
            returnType : $rt_arraycls($rt_booleancls()),
            callable : null
        }, {
            name : "booleanArrayUnwrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "unwrapByteArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "byteArrayUnwrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "unwrapShortArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader],
            returnType : $rt_arraycls($rt_shortcls()),
            callable : null
        }, {
            name : "shortArrayUnwrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "unwrapIntArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "intArrayUnwrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "unwrapCharArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader],
            returnType : $rt_arraycls($rt_charcls()),
            callable : null
        }, {
            name : "charArrayUnwrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "unwrapFloatArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "floatArrayUnwrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "unwrapDoubleArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader],
            returnType : $rt_arraycls($rt_doublecls()),
            callable : null
        }, {
            name : "doubleArrayUnwrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "unwrapStringArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "stringArrayUnwrapper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "invoke",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "get",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "set",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "function",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "functionAsObject",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "lambda$arrayUnmapper$2",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Class, juf_Function, otjc_JSArray],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "lambda$arrayUnwrapper$1",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Class, otjc_JSArrayReader],
            returnType : $rt_arraycls(otj_JSObject),
            callable : null
        }, {
            name : "lambda$arrayMapper$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [juf_Function, $rt_arraycls(jl_Object)],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "get$js_body$_79",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "set$js_body$_80",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otp_Platform.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPlatformObject",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : otp_PlatformObject,
            callable : null
        }, {
            name : "clone",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "isInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otp_PlatformObject, otp_PlatformClass],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInstanceLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeClass, otr_RuntimeObject],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUndefined",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otj_JSObject],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAssignable",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otp_PlatformClass, otp_PlatformClass],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAssignableLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeClass, otr_RuntimeClass],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "asJavaClass",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otp_PlatformObject],
            returnType : jl_Class,
            callable : null
        }, {
            name : "nextObjectId",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "newInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otp_PlatformClass],
            returnType : jl_Object,
            callable : null
        }, {
            name : "prepareNewInstance",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "newInstanceImpl",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otp_PlatformClass],
            returnType : jl_Object,
            callable : null
        }, {
            name : "lookupClass",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otp_PlatformClass,
            callable : null
        }, {
            name : "initClass",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otp_PlatformClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initClassLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "objectFromResource",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otpm_StaticFieldResource],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getEnumConstants",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otp_PlatformClass],
            returnType : $rt_arraycls(jl_Enum),
            callable : null
        }, {
            name : "getEnumConstantsLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otp_PlatformClass],
            returnType : $rt_arraycls(jl_Enum),
            callable : null
        }, {
            name : "getEnumConstantsSize",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otp_PlatformClass],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEnumConstantsSizeImpl",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeClass],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "fillEnumConstants",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otp_PlatformClass, $rt_arraycls(jl_Enum)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillEnumConstantsImpl",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeClass, $rt_arraycls(oti_Address)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAnnotations",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otp_PlatformClass],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }, {
            name : "startThread",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otp_PlatformRunnable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "launchThread",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otp_PlatformRunnable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postpone",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otp_PlatformRunnable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "schedule",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otp_PlatformRunnable, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "killSchedule",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createQueue",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otp_PlatformQueue,
            callable : null
        }, {
            name : "createQueueJs",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otp_PlatformQueue,
            callable : null
        }, {
            name : "stringFromCharCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otp_PlatformString,
            callable : null
        }, {
            name : "isPrimitive",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otp_PlatformClass],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isPrimitiveLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeClass],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEnum",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otp_PlatformClass],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEnumLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeClass],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArrayItem",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otp_PlatformClass],
            returnType : otp_PlatformClass,
            callable : null
        }, {
            name : "getName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otp_PlatformClass],
            returnType : jl_String,
            callable : null
        }, {
            name : "isLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUndefined$js_body$_5",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "nextObjectId$js_body$_9",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "createQueueJs$js_body$_30",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    jl_Integer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toHexString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toOctalString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toBinaryString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "parseInt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "parseInt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : jl_Integer,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Integer,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Integer,
            callable : null
        }, {
            name : "ensureIntegerCache",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "intValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "longValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInteger",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Integer,
            callable : null
        }, {
            name : "getInteger",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : jl_Integer,
            callable : null
        }, {
            name : "getInteger",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Integer],
            returnType : jl_Integer,
            callable : null
        }, {
            name : "decode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Integer,
            callable : null
        }, {
            name : "decodeDigit",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Integer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "numberOfLeadingZeros",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "numberOfTrailingZeros",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "highestOneBit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lowestOneBit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "bitCount",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "rotateLeft",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "rotateRight",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reverse",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reverseBytes",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "signum",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "divideUnsigned",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "remainderUnsigned",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Number.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "intValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "longValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "byteValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "shortValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }];
    otjc_JSString.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stringValue",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "stringValue",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjc_JSString],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "fromCharCode",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "charAt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "charCodeAt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "concat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "concat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString, otjc_JSString],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "concat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString, otjc_JSString, otjc_JSString],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "indexOf",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "match",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSRegExp],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "match",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "replace",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSRegExp, otjc_JSString],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "replace",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSRegExp, otjc_JSReplaceFunction],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "replace",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString, otjc_JSString],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "replace",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString, otjc_JSReplaceFunction],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "search",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSRegExp],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "search",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "split",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSRegExp],
            returnType : $rt_arraycls(otjc_JSString),
            callable : null
        }, {
            name : "split",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString],
            returnType : $rt_arraycls(otjc_JSString),
            callable : null
        }, {
            name : "split",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSRegExp, $rt_intcls()],
            returnType : $rt_arraycls(otjc_JSString),
            callable : null
        }, {
            name : "split",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString, $rt_intcls()],
            returnType : $rt_arraycls(otjc_JSString),
            callable : null
        }, {
            name : "substr",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "substr",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "substring",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "substring",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "toLowerCase",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "toUpperCase",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "trim",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "isInstance",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSString],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stringValue$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSString],
            returnType : jl_String,
            callable : null
        }, {
            name : "stringValue$js_body$_2",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "valueOf$js_body$_3",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "fromCharCode$js_body$_4",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "isInstance$js_body$_34",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "startTitleMusic",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stopTitleMusic",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "volumeTitleMusic",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playingTitleMusic",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "_wisWebGL",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "_wisAnisotropicPatched",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "_wgetShaderHeader",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSelfProxy",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCustomProxyListString",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCustomProxyList",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getHostString",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLocationString",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isSSLPage",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "loadResource",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "loadResourceBytes",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "fileContents",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "fileContentsLines",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "downloadAssetPack",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "downloadAssetPack",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setContextVar",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setDebugVar",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasBeenActive",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIdentifier",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getString",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "onWindowUnload",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOffsetX",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjde_MouseEvent],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOffsetY",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjde_MouseEvent],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getWhich",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjde_KeyboardEvent],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "initializeContext",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [otjdh_HTMLElement, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "destroyContext",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEventHandlers",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "youEagler",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "_wglEnable",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglClearDepth",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDepthFunc",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglCullFace",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglViewport",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglClear",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglClearColor",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDisable",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglGetError",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "_wglFlush",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglTexImage2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jn_ByteBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBlendFunc",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDepthMask",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglColorMask",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBindTexture",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nlea_EaglerAdapterImpl2$TextureGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglCopyTexSubImage2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglTexParameteri",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglTexParameterf",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglTexImage2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jn_IntBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglTexSubImage2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jn_IntBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDeleteTextures",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$TextureGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDrawArrays",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDrawElements",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglGenTextures",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlea_EaglerAdapterImpl2$TextureGL,
            callable : null
        }, {
            name : "_wglTexSubImage2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jn_ByteBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglActiveTexture",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglCreateProgram",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlea_EaglerAdapterImpl2$ProgramGL,
            callable : null
        }, {
            name : "_wglCreateShader",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nlea_EaglerAdapterImpl2$ShaderGL,
            callable : null
        }, {
            name : "_wglAttachShader",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL, nlea_EaglerAdapterImpl2$ShaderGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDetachShader",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL, nlea_EaglerAdapterImpl2$ShaderGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglCompileShader",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ShaderGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglLinkProgram",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglShaderSource",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ShaderGL, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglGetShaderInfoLog",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ShaderGL],
            returnType : jl_String,
            callable : null
        }, {
            name : "_wglGetProgramInfoLog",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL],
            returnType : jl_String,
            callable : null
        }, {
            name : "_wglGetShaderCompiled",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ShaderGL],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "_wglGetProgramLinked",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "_wglDeleteShader",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ShaderGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDeleteProgram",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglCreateBuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlea_EaglerAdapterImpl2$BufferGL,
            callable : null
        }, {
            name : "_wglDeleteBuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$BufferGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBindBuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nlea_EaglerAdapterImpl2$BufferGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBufferData0",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jn_IntBuffer, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBufferSubData0",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jn_IntBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBufferData",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBufferSubData",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBindAttribLocation",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL, $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglEnableVertexAttribArray",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDisableVertexAttribArray",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglGetUniformLocation",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL, jl_String],
            returnType : nlea_EaglerAdapterImpl2$UniformGL,
            callable : null
        }, {
            name : "_wglBindAttributeLocation",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL, $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniform1f",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniform2f",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniform3f",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniform4f",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniform1i",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniform2i",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniform3i",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniform4i",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniformMat2fv",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniformMat3fv",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUniformMat4fv",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$UniformGL, $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglUseProgram",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglGetParameter",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglPolygonOffset",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglVertexAttribPointer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBindFramebuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nlea_EaglerAdapterImpl2$FramebufferGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglCreateFramebuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlea_EaglerAdapterImpl2$FramebufferGL,
            callable : null
        }, {
            name : "_wglDeleteFramebuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$FramebufferGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglFramebufferTexture2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nlea_EaglerAdapterImpl2$TextureGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglCreateQuery",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlea_EaglerAdapterImpl2$QueryGL,
            callable : null
        }, {
            name : "_wglBeginQuery",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nlea_EaglerAdapterImpl2$QueryGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglEndQuery",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDeleteQuery",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$QueryGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglGetQueryObjecti",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$QueryGL, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "_wglCreateVertexArray",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlea_EaglerAdapterImpl2$BufferArrayGL,
            callable : null
        }, {
            name : "_wglDeleteVertexArray",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$BufferArrayGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBindVertexArray",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$BufferArrayGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDrawBuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglCreateRenderBuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlea_EaglerAdapterImpl2$RenderbufferGL,
            callable : null
        }, {
            name : "_wglBindRenderbuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$RenderbufferGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglRenderbufferStorage",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglFramebufferRenderbuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nlea_EaglerAdapterImpl2$RenderbufferGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDeleteRenderbuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$RenderbufferGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglRenderbufferStorageMultisample",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglBlitFramebuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglGetAttribLocation",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$ProgramGL, jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "__wglGetTexParameteri",
            modifiers : 772,
            accessLevel : 1,
            parameterTypes : [nleat_WebGL2RenderingContext, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "_wglGetTexParameteri",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "__wglGetTexParameterf",
            modifiers : 772,
            accessLevel : 1,
            parameterTypes : [nleat_WebGL2RenderingContext, $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "_wglGetTexParameterf",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "isWindows",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDataURL",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjt_ArrayBuffer, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "freeDataURL",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadPNG",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : nle_EaglerImage,
            callable : null
        }, {
            name : "loadPNG0",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjt_ArrayBuffer],
            returnType : nle_EaglerImage,
            callable : null
        }, {
            name : "loadPNG0",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otjt_ArrayBuffer, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isVideoSupported",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "loadVideo",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadVideo",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVideoPointer",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String, otjdh_HTMLVideoElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "callVideoLoadEvent",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String, otjdh_HTMLVideoElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadVideo",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls(), jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bufferVideo",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unloadVideo",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isVideoLoaded",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isVideoPaused",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setVideoPaused",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVideoLoop",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVideoVolume",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "html5VideoTexImage2D",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [nleat_WebGL2RenderingContext, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjdh_HTMLVideoElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "html5VideoTexSubImage2D",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [nleat_WebGL2RenderingContext, $rt_intcls(), $rt_intcls(), $rt_intcls(), otjdh_HTMLVideoElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateVideoTexture",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindVideoTexture",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVideoWidth",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getVideoHeight",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getVideoCurrentTime",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setVideoCurrentTime",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVideoDuration",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getVideoError",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setVideoFrameRate",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isImageSupported",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "loadImage",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadImage",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setImagePointer",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String, otjdh_HTMLImageElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "callImageLoadEvent",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String, otjdh_HTMLImageElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadImage",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bufferImage",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unloadImage",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isImageLoaded",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "html5ImageTexImage2D",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [nleat_WebGL2RenderingContext, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjdh_HTMLImageElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "html5ImageTexSubImage2D",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [nleat_WebGL2RenderingContext, $rt_intcls(), $rt_intcls(), $rt_intcls(), otjdh_HTMLImageElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateImageTexture",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindImageTexture",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getImageWidth",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getImageHeight",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setImageFrameRate",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseNext",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mouseGetEventButton",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mouseGetEventButtonState",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mouseIsButtonDown",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mouseGetEventDWheel",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mouseSetCursorPosition",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseSetGrabbed",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseGetDX",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mouseGetDY",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mouseGetX",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mouseGetY",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mouseGetEventX",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mouseGetEventY",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "keysNext",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEventKey",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEventChar",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "getEventKeyState",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isKeyDown",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getKeyName",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "setFullscreen",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldShutdown",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "commitContext",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateDisplay",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVSyncEnabled",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enableRepeatEvents",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPointerLocked",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFocused",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getScreenWidth",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getScreenHeight",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCanvasWidth",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCanvasHeight",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setDisplaySize",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "syncDisplay",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveScreenshot",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveScreenshot",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String, otjdh_HTMLCanvasElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRateLimitStatus",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlea_EaglerAdapterImpl2$RateLimit,
            callable : null
        }, {
            name : "logRateLimit",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, nlea_EaglerAdapterImpl2$RateLimit],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkRateLimitHistory",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nlea_EaglerAdapterImpl2$RateLimit,
            callable : null
        }, {
            name : "connectWebSocket",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "connectWebSocket",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "startConnection",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "endConnection",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "connectionOpen",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nativeBinarySend",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjw_WebSocket, otjt_ArrayBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacket",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacket",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "loadLocalStorage",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "saveLocalStorage",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "openLink",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "redirectTo",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "execute",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBeforeCloseRegister",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "openFileChooser",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFileChooserResult",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getFileChooserResult0",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otjt_ArrayBuffer,
            callable : null
        }, {
            name : "getFileChooserResultName",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setListenerPos",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPlaybackOffsetDelay",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "decodeAudioAsync",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer],
            returnType : otjw_AudioBuffer,
            callable : null
        }, {
            name : "decodeAudioAsync",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otjt_ArrayBuffer, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBufferFor",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : otjw_AudioBuffer,
            callable : null
        }, {
            name : "beginPlayback",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "beginPlaybackStatic",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setPitch",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVolume",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moveSound",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "endSound",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPlaying",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openConsole",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "voiceConnect",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "voiceVolume",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "voiceActive",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "voiceRelayed",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "voiceUsers",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "voiceUsersTalking",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "voiceEnd",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doJavascriptCoroutines",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "maxMemory",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "totalMemory",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "freeMemory",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "exit",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getUserAgent",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "_wArrayByteLength",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "_wCreateLowLevelIntBuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "_wAppendLowLevelBuffer",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wGetLowLevelBuffersAppended",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remapKey",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getClipboard",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getClipboard",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getClipboard0",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [nlea_EaglerAdapterImpl2$StupidFunctionResolveString],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setClipboard",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isString",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otj_JSObject],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openQuery",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : nle_ServerQuery,
            callable : null
        }, {
            name : "setServerToJoinOnLaunch",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getServerToJoinOnLaunch",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$002",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "access$100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_booleancls()),
            callable : null
        }, {
            name : "access$200",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_LinkedList,
            callable : null
        }, {
            name : "access$302",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$400",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEvent],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$502",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$600",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [otjde_MouseEvent],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$700",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "access$702",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "access$800",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "access$802",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "access$900",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_booleancls()),
            callable : null
        }, {
            name : "access$1000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [otjde_KeyboardEvent],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$1100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$1200",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_LinkedList,
            callable : null
        }, {
            name : "access$1300",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$1402",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$1500",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_HashMap,
            callable : null
        }, {
            name : "access$1604",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$1700",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otjdh_HTMLCanvasElement,
            callable : null
        }, {
            name : "access$1702",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLCanvasElement],
            returnType : otjdh_HTMLCanvasElement,
            callable : null
        }, {
            name : "access$1800",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otjc_CanvasRenderingContext2D,
            callable : null
        }, {
            name : "access$1802",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [otjc_CanvasRenderingContext2D],
            returnType : otjc_CanvasRenderingContext2D,
            callable : null
        }, {
            name : "access$1900",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$2002",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$2100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otjdh_HTMLVideoElement,
            callable : null
        }, {
            name : "access$2200",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jl_String, otjdh_HTMLVideoElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$2302",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$2400",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otjdh_HTMLImageElement,
            callable : null
        }, {
            name : "access$2500",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jl_String, otjdh_HTMLImageElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$2602",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$2702",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$2802",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$2900",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_LinkedList,
            callable : null
        }, {
            name : "access$3002",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [otjw_WebSocket],
            returnType : otjw_WebSocket,
            callable : null
        }, {
            name : "access$2600",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$3100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : nlea_EaglerAdapterImpl2$RateLimit,
            callable : null
        }, {
            name : "access$3200",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$3300",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "access$3102",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$RateLimit],
            returnType : nlea_EaglerAdapterImpl2$RateLimit,
            callable : null
        }, {
            name : "access$3400",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "access$2700",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$3500",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$3000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otjw_WebSocket,
            callable : null
        }, {
            name : "access$3900",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_HashMap,
            callable : null
        }, {
            name : "access$4302",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "startTitleMusic$js_body$_1",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stopTitleMusic$js_body$_2",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "volumeTitleMusic$js_body$_3",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playingTitleMusic$js_body$_4",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getSelfProxy$js_body$_8",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getCustomProxyListString$js_body$_9",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getHostString$js_body$_11",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getLocationString$js_body$_12",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "setContextVar$js_body$_20",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "setDebugVar$js_body$_21",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasBeenActive$js_body$_22",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getString$js_body$_24",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getOffsetX$js_body$_26",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getOffsetY$js_body$_27",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getWhich$js_body$_28",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "youEagler$js_body$_32",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "__wglGetTexParameteri$js_body$_120",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "__wglGetTexParameterf$js_body$_122",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getDataURL$js_body$_125",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "freeDataURL$js_body$_126",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVideoPointer$js_body$_133",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "callVideoLoadEvent$js_body$_134",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "html5VideoTexImage2D$js_body$_143",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "html5VideoTexSubImage2D$js_body$_144",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setImagePointer$js_body$_157",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "callImageLoadEvent$js_body$_158",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "html5ImageTexImage2D$js_body$_163",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "html5ImageTexSubImage2D$js_body$_164",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "commitContext$js_body$_191",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "isPointerLocked$js_body$_195",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "saveScreenshot$js_body$_204",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "nativeBinarySend$js_body$_213",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "execute$js_body$_220",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBeforeCloseRegister$js_body$_221",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onWindowUnload$jsocb$_1",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "openFileChooser$js_body$_222",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFileChooserResult0$js_body$_224",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getFileChooserResultName$js_body$_225",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getUserAgent$js_body$_251",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getClipboard0$js_body$_259",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setClipboard$js_body$_260",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isString$js_body$_261",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_MouseEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjde_EventListener.$meta.methods = [
        {
            name : "handleEvent",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$3.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_MouseEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$4.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_MouseEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$5.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_MouseEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$6.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_KeyboardEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$7.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_KeyboardEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$8.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_KeyboardEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$9.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_WheelEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$10.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_WheelEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$11.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_WheelEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otpp_AsyncCallbackWrapper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [oti_AsyncCallback],
            returnType : otpp_AsyncCallbackWrapper,
            callable : null
        }, {
            name : "complete",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "error",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    oti_AsyncCallback.$meta.methods = [
        {
            name : "complete",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "error",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_LinkedList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_ListIterator,
            callable : null
        }, {
            name : "listIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : ju_ListIterator,
            callable : null
        }, {
            name : "offer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "poll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "element",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "peek",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "addFirst",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addLast",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "offerFirst",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "offerLast",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeFirst",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "removeLast",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "pollFirst",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "pollLast",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getFirst",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getLast",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "peekFirst",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "peekLast",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "removeFirstOccurrence",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeLastOccurrence",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "push",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pop",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "descendingIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "removeEntry",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_LinkedList$Entry],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_LinkedList, ju_LinkedList$Entry],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$202",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_LinkedList, ju_LinkedList$Entry],
            returnType : ju_LinkedList$Entry,
            callable : null
        }, {
            name : "access$302",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_LinkedList, ju_LinkedList$Entry],
            returnType : ju_LinkedList$Entry,
            callable : null
        }, {
            name : "access$404",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_LinkedList],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$300",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_LinkedList],
            returnType : ju_LinkedList$Entry,
            callable : null
        }];
    ju_AbstractSequentialList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "addAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "listIterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : ju_ListIterator,
            callable : null
        }];
    ju_AbstractList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "addAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "indexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_ListIterator,
            callable : null
        }, {
            name : "listIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : ju_ListIterator,
            callable : null
        }, {
            name : "subList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "removeRange",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ju_AbstractCollection.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "toArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "retainAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    ju_Collection.$meta.methods = [
        {
            name : "size",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "toArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "add",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsAll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addAll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeAll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "retainAll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spliterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator,
            callable : null
        }, {
            name : "stream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_Stream,
            callable : null
        }];
    jl_Iterable.$meta.methods = [
        {
            name : "iterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "forEach",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spliterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator,
            callable : null
        }];
    ju_List.$meta.methods = [
        {
            name : "addAll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "add",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "indexOf",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "listIterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_ListIterator,
            callable : null
        }, {
            name : "listIterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : ju_ListIterator,
            callable : null
        }, {
            name : "subList",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "replaceAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_UnaryOperator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Deque.$meta.methods = [
        {
            name : "addFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addLast",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "offerFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "offerLast",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "removeLast",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "pollFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "pollLast",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getLast",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "peekFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "peekLast",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "removeFirstOccurrence",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeLastOccurrence",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "push",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "descendingIterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    ju_Queue.$meta.methods = [
        {
            name : "offer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "poll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "element",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "peek",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    otjw_AudioContext.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDestination",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioDestinationNode,
            callable : null
        }, {
            name : "getSampleRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getCurrentTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioListener,
            callable : null
        }, {
            name : "getState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setOnStateChange",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOnStateChange",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjde_EventListener,
            callable : null
        }, {
            name : "suspend",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resume",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : otjw_AudioBuffer,
            callable : null
        }, {
            name : "decodeAudioData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, otjw_DecodeSuccessCallback, otjw_DecodeErrorCallback],
            returnType : otjw_AudioBuffer,
            callable : null
        }, {
            name : "decodeAudioData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, otjw_DecodeSuccessCallback],
            returnType : otjw_AudioBuffer,
            callable : null
        }, {
            name : "decodeAudioData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer],
            returnType : otjw_AudioBuffer,
            callable : null
        }, {
            name : "createBufferSource",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioBufferSourceNode,
            callable : null
        }, {
            name : "createMediaElementSource",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdh_HTMLMediaElement],
            returnType : otjw_MediaElementAudioSourceNode,
            callable : null
        }, {
            name : "createMediaStreamSource",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_MediaStream],
            returnType : otjw_MediaStreamAudioSourceNode,
            callable : null
        }, {
            name : "createMediaStreamDestination",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_MediaStreamAudioDestinationNode,
            callable : null
        }, {
            name : "createAudioWorker",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioWorker,
            callable : null
        }, {
            name : "createScriptProcessor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : otjw_ScriptProcessorNode,
            callable : null
        }, {
            name : "createScriptProcessor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otjw_ScriptProcessorNode,
            callable : null
        }, {
            name : "createScriptProcessor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjw_ScriptProcessorNode,
            callable : null
        }, {
            name : "createScriptProcessor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_ScriptProcessorNode,
            callable : null
        }, {
            name : "createAnalyser",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AnalyserNode,
            callable : null
        }, {
            name : "createGain",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_GainNode,
            callable : null
        }, {
            name : "createDelay",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : otjw_DelayNode,
            callable : null
        }, {
            name : "createDelay",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_DelayNode,
            callable : null
        }, {
            name : "createBiquadFilter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_BiquadFilterNode,
            callable : null
        }, {
            name : "createIIRFilter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array, otjt_Float32Array],
            returnType : otjw_IIRFilterNode,
            callable : null
        }, {
            name : "createWaveShaper",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_WaveShaperNode,
            callable : null
        }, {
            name : "createPanner",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_PannerNode,
            callable : null
        }, {
            name : "createStereoPanner",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_StereoPannerNode,
            callable : null
        }, {
            name : "createConvolver",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_ConvolverNode,
            callable : null
        }, {
            name : "createChannelSplitter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjw_ChannelSplitterNode,
            callable : null
        }, {
            name : "createChannelSplitter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_ChannelSplitterNode,
            callable : null
        }, {
            name : "createChannelMerger",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjw_ChannelMergerNode,
            callable : null
        }, {
            name : "createChannelMerger",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_ChannelMergerNode,
            callable : null
        }, {
            name : "createDynamicsCompressor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_DynamicsCompressorNode,
            callable : null
        }, {
            name : "createOscillator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_OscillatorNode,
            callable : null
        }, {
            name : "createPeriodicWave",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array, otjt_Float32Array, otjw_PeriodicWaveConstraints],
            returnType : otjw_PeriodicWave,
            callable : null
        }, {
            name : "createPeriodicWave",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_arraycls($rt_floatcls()), otjw_PeriodicWaveConstraints],
            returnType : otjw_PeriodicWave,
            callable : null
        }, {
            name : "createPeriodicWave",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array, otjt_Float32Array],
            returnType : otjw_PeriodicWave,
            callable : null
        }, {
            name : "createPeriodicWave",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_arraycls($rt_floatcls())],
            returnType : otjw_PeriodicWave,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioContext,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjw_AudioContext],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_44",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$12.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onTimer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onTimer$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    otjb_TimerHandler.$meta.methods = [
        {
            name : "onTimer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_IOException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_LocalStorageManager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadStorage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveStorageA",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveStorageG",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveStorageP",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dumpConfiguration",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasMadeAchievement",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Achievement],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_NBTTagCompound.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "setTag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_NBTBase],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setByte",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setShort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setInteger",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setByteArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setIntArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCompoundTag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "hasKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getByte",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "getShort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "getInteger",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getByteArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getIntArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "getCompoundTag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "getTagList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_NBTTagList,
            callable : null
        }, {
            name : "getBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeTag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasNoTags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTagMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : ju_Map,
            callable : null
        }, {
            name : "getStringOrNull",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }];
    nms_NBTBase.$meta.methods = [
        {
            name : "write",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "readNamedTag",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataInput],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "writeNamedTag",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTBase, ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "newTag",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls(), jl_String],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "getTagName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ServerList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadDefaultServers",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadServerList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveServerList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getServerData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ServerData,
            callable : null
        }, {
            name : "removeServerData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addServerData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ServerData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "countServers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "swapServers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "freeServerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "refreshServerPing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateServerPing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_NBTTagList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "appendTag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTBase],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeTag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "tagAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "tagCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    ji_PrintStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, $rt_booleancls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkError",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setError",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearError",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flush",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "check",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "printSB",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_FilterOutputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flush",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_OutputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flush",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_Closeable.$meta.methods = [
        {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_AutoCloseable.$meta.methods = [
        {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_Flushable.$meta.methods = [
        {
            name : "flush",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nmc_Minecraft.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "startTimerHackThread",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setServer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "startGame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "showWarningText",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "showIntroAnimation",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadScreen",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "scaledTessellator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumOS,
            callable : null
        }, {
            name : "displayGuiScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isChatOpen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getServerURI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "checkGLError",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shutdownMinecraftApplet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "run",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "runGameLoop",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_90020_K",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateDebugProfilerName",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayDebugInfo",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shutdown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setIngameFocus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setIngameNotInFocus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayInGameMenu",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendClickBlockToController",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayEaglercraftText",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clickMouse",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toggleFullscreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "runTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forceReload",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_WorldClient],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_WorldClient, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "debugInfoRenders",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getEntityDebug",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getWorldProviderName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "debugInfoEntities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setDimensionAndSpawnPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDemo",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isDemo",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getNetHandler",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NetClientHandler,
            callable : null
        }, {
            name : "isGuiEnabled",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFancyGraphicsEnabled",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAmbientOcclusionEnabled",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleClientCommand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clickMiddleMouseButton",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinecraft",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nmc_Minecraft,
            callable : null
        }, {
            name : "scheduleTexturePackRefresh",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setServerData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ServerData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getServerData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ServerData,
            callable : null
        }, {
            name : "isIntegratedServerRunning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSingleplayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSystemTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "isFullScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getGLMaximumTextureSize",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Runnable.$meta.methods = [
        {
            name : "run",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_String$_clinit_$lambda$_81_0.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_Comparator.$meta.methods = [
        {
            name : "compare",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reversed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "thenComparing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "thenComparing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Function, ju_Comparator],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "thenComparing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "thenComparingInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_ToIntFunction],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "thenComparingLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_ToLongFunction],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "thenComparingDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_ToDoubleFunction],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "comparing",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_Function, ju_Comparator],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "comparing",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "naturalOrder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "reverseOrder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "nullsFirst",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "nullsLast",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "comparingInt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_ToIntFunction],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "comparingLong",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_ToLongFunction],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "comparingDouble",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_ToDoubleFunction],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "lambda$comparingDouble$14",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [juf_ToDoubleFunction, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$comparingLong$13",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [juf_ToLongFunction, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$comparingInt$12",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [juf_ToIntFunction, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$nullsLast$11",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [ju_Comparator, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$nullsFirst$10",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [ju_Comparator, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$reverseOrder$9",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Comparable, jl_Comparable],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$naturalOrder$8",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Comparable, jl_Comparable],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$comparing$7",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [juf_Function, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$comparing$6",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [ju_Comparator, juf_Function, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$thenComparingDouble$5",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_ToDoubleFunction, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$thenComparingLong$4",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_ToLongFunction, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$thenComparingInt$3",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_ToIntFunction, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$thenComparing$2",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_Function, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$thenComparing$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [ju_Comparator, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$reversed$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    otci_IntegerUtil.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toUnsignedLogRadixString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toUnsignedLogRadixString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }];
    otjt_ArrayBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getByteLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otjt_ArrayBuffer,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjt_ArrayBuffer,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjt_ArrayBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_3",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjt_Uint8Array.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjt_Uint8Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer],
            returnType : otjt_Uint8Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBufferView],
            returnType : otjt_Uint8Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, $rt_intcls(), $rt_intcls()],
            returnType : otjt_Uint8Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, $rt_intcls()],
            returnType : otjt_Uint8Array,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjt_Uint8Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_3",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_4",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_5",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_6",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_7",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjt_ArrayBufferView.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getByteLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getByteOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjt_ArrayBuffer,
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBufferView, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBufferView],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjt_ArrayBufferView],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjt_Float32Array.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjt_Float32Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer],
            returnType : otjt_Float32Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBufferView],
            returnType : otjt_Float32Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, $rt_intcls(), $rt_intcls()],
            returnType : otjt_Float32Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, $rt_intcls()],
            returnType : otjt_Float32Array,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_3",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_4",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_5",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_6",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_7",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    ju_HashMap.$meta.methods = [
        {
            name : "newElementArray",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls(ju_HashMap$HashEntry),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "calculateCapacity",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "computeThreshold",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "containsKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entrySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : ju_HashMap$HashEntry,
            callable : null
        }, {
            name : "findNonNullKeyEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls(), $rt_intcls()],
            returnType : ju_HashMap$HashEntry,
            callable : null
        }, {
            name : "findNullKeyEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_HashMap$HashEntry,
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "keySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "putImpl",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "createEntry",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls(), jl_Object],
            returnType : ju_HashMap$HashEntry,
            callable : null
        }, {
            name : "createHashedEntry",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls(), $rt_intcls()],
            returnType : ju_HashMap$HashEntry,
            callable : null
        }, {
            name : "putAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "putAllImpl",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rehash",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rehash",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "removeEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [ju_HashMap$HashEntry],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : ju_HashMap$HashEntry,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "values",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "computeHashCode",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "areEqualKeys",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "areEqualValues",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ju_AbstractMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "putAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "entrySet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "values",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    ju_Map.$meta.methods = [
        {
            name : "size",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getOrDefault",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "putAll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keySet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "values",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "entrySet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "replace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "replace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "putIfAbsent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "computeIfAbsent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, juf_Function],
            returnType : jl_Object,
            callable : null
        }, {
            name : "computeIfPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, juf_BiFunction],
            returnType : jl_Object,
            callable : null
        }, {
            name : "compute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, juf_BiFunction],
            returnType : jl_Object,
            callable : null
        }, {
            name : "merge",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object, juf_BiFunction],
            returnType : jl_Object,
            callable : null
        }];
    jl_Cloneable.$meta.methods = [];
    jt_SimpleDateFormat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDefaultPattern",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_DateFormatSymbols],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Date, jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "applyPattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reparsePattern",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : ju_Date,
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getDateFormatSymbols",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_DateFormatSymbols,
            callable : null
        }, {
            name : "setDateFormatSymbols",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DateFormatSymbols],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toPattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "format",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "format",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [ju_Date],
            returnType : jl_String,
            callable : null
        }, {
            name : "format",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Date, jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "getAvailableLocales",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(ju_Locale),
            callable : null
        }, {
            name : "getCalendar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Calendar,
            callable : null
        }, {
            name : "getTimeZone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_TimeZone,
            callable : null
        }, {
            name : "setTimeZone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_TimeZone],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDateInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_DateFormat,
            callable : null
        }, {
            name : "getDateInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jt_DateFormat,
            callable : null
        }, {
            name : "getDateInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Locale],
            returnType : jt_DateFormat,
            callable : null
        }, {
            name : "getDateFormatString",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDateTimeInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_DateFormat,
            callable : null
        }, {
            name : "getDateTimeInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jt_DateFormat,
            callable : null
        }, {
            name : "getDateTimeInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), ju_Locale],
            returnType : jt_DateFormat,
            callable : null
        }, {
            name : "getDateTimeFormatString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "getInstance",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_DateFormat,
            callable : null
        }, {
            name : "getStyleName",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTimeInstance",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_DateFormat,
            callable : null
        }, {
            name : "getTimeInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jt_DateFormat,
            callable : null
        }, {
            name : "getTimeInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Locale],
            returnType : jt_DateFormat,
            callable : null
        }, {
            name : "getTimeFormatString",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isLenient",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ju_Date,
            callable : null
        }, {
            name : "parse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : ju_Date,
            callable : null
        }, {
            name : "parseObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : jl_Object,
            callable : null
        }, {
            name : "setCalendar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLenient",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_Format.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "convertPattern",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String, jl_String, jl_String, $rt_booleancls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "format",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_String,
            callable : null
        }, {
            name : "format",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "formatToCharacterIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jt_AttributedCharacterIterator,
            callable : null
        }, {
            name : "parseObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "parseObject",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : jl_Object,
            callable : null
        }, {
            name : "upTo",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_String, jt_ParsePosition, jl_StringBuffer, $rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "upToWithQuotes",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_String, jt_ParsePosition, jl_StringBuffer, $rt_charcls(), $rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ju_HashSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_HashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createBackingMap",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : ju_HashMap,
            callable : null
        }];
    ju_AbstractSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_Set.$meta.methods = [];
    otjt_Int32Array.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjt_Int32Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer],
            returnType : otjt_Int32Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBufferView],
            returnType : otjt_Int32Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, $rt_intcls(), $rt_intcls()],
            returnType : otjt_Int32Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, $rt_intcls()],
            returnType : otjt_Int32Array,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjt_Int32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_5",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_6",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_7",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_8",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_9",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nle_EarlyLoadScreen.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "paintScreen",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "paintEnable",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_IntBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "allocate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_IntBuffer],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "hasArray",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "array",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "arrayOffset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compact",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_IntBuffer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "order",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }, {
            name : "mark",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "rewind",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "position",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "array",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "rewind",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "mark",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "position",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    jn_Buffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "capacity",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "position",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "position",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "limit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "mark",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "rewind",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "remaining",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasRemaining",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isReadOnly",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "array",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "arrayOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isDirect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jl_InterruptedException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otja_XMLHttpRequest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "open",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "open",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "open",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, $rt_booleancls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "open",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, $rt_booleancls(), jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "send",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "send",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "send",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRequestHeader",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAllResponseHeaders",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getResponseHeader",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "setOnReadyStateChange",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otja_ReadyStateChangeHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onComplete",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Runnable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "overrideMimeType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getReadyState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getResponseText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getResponseXML",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Document,
            callable : null
        }, {
            name : "getResponse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getStatus",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStatusText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setResponseType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getResponseType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otja_XMLHttpRequest,
            callable : null
        }, {
            name : "abort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getResponseURL",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "lambda$onComplete$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [jl_Runnable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otja_XMLHttpRequest],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onComplete$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otja_XMLHttpRequest, jl_Runnable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lambda$onComplete$0$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otja_XMLHttpRequest, jl_Runnable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_22",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otja_XMLHttpRequest, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stateChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stateChanged$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    otja_ReadyStateChangeHandler.$meta.methods = [
        {
            name : "stateChanged",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Thread.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Runnable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Runnable, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "runThread",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCurrentThread",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Thread],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMainThread",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : jl_Thread,
            callable : null
        }, {
            name : "run",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "currentThread",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Thread,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isDaemon",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setDaemon",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "join",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "join",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "join",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "yield",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "switchContext",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [jl_Thread],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "switchContext",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Thread, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interrupt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interrupted",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInterrupted",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAlive",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "activeCount",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "holdsLock",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "sleep",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sleep",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPriority",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPriority",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_StackTraceElement),
            callable : null
        }, {
            name : "getContextClassLoader",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_ClassLoader,
            callable : null
        }, {
            name : "lambda$switchContext$2",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Thread, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lambda$switchContext$1",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Thread, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lambda$start$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$002",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jl_Thread, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Thread$SleepHandler.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Thread, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interrupted",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "run",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lambda$interrupted$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lambda$interrupted$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otp_PlatformRunnable.$meta.methods = [
        {
            name : "run",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otr_EventQueue$Event.$meta.methods = [
        {
            name : "run",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_ThreadInterruptHandler.$meta.methods = [
        {
            name : "interrupted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_AssetRepository.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "install",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getResource",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_ByteArrayInputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "skip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "available",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "markSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mark",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_InputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "skip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "skip",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "available",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mark",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ji_DataInputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readBoolean",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readByte",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "readToBuff",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readChar",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "readDouble",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "readFloat",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "readFully",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFully",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readInt",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readLine",
            modifiers : 132,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "readLong",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "readShort",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "readUnsignedByte",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readUnsignedShort",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readUTF",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "decodeUTF",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "decodeUTF",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), ji_DataInput],
            returnType : jl_String,
            callable : null
        }, {
            name : "readUTF",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataInput],
            returnType : jl_String,
            callable : null
        }, {
            name : "skipBytes",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "convertUTF8WithBuf",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }];
    ji_FilterInputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [ji_InputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "available",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mark",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "skip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }];
    ji_DataInput.$meta.methods = [
        {
            name : "readFully",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFully",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "skipBytes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readBoolean",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readByte",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "readUnsignedByte",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readShort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "readUnsignedShort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readChar",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "readInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "readFloat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "readDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "readLine",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "readUTF",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    cjj_InflaterInputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, cjj_Inflater],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, cjj_Inflater, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, cjj_Inflater, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "available",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "skip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mark",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTotalIn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getTotalOut",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getAvailIn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "readHeader",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInflater",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : cjj_Inflater,
            callable : null
        }];
    nle_SHA1Digest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_SHA1Digest],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAlgorithmName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDigestSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "processWord",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unpackWord",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processLength",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doFinal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "f",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "h",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "g",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "rotateLeft",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "processBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_GeneralDigest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nle_GeneralDigest],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "update",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "update",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "finish",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processWord",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processLength",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processBlock",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_EaglerAdapter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nleg_EaglerAdapterGL30.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "anisotropicPatch",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glClearStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDisplayListCount",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "glEnable",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glShadeModel",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glClearDepth",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glDepthFunc",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glAlphaFunc",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glCullFace",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glMatrixMode",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMatrix",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "glLoadIdentity",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glViewport",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glClear",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glOrtho",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glTranslatef",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glClearColor",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glDisable",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glColor4f",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glGetError",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "glFlush",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glLineWidth",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glTexImage2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jn_ByteBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glLight",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jn_FloatBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glLightModel",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jn_FloatBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyModelToLightMatrix",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flipLightMatrix",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "revertLightMatrix",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glPushMatrix",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glRotatef",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glPopMatrix",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glColorMaterial",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glGetFloat",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jn_FloatBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glGetInteger",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glScalef",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glBlendFunc",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glDepthMask",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glColorMask",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAnisotropicPatch",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glBindTexture",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glCopyTexSubImage2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glTexParameteri",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glTexParameterf",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glLogicOp",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glNormal3f",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glGenLists",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "_wglBindVertexArray0",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nlea_EaglerAdapterImpl2$BufferArrayGL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glCallList",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glNewList",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glEndList",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glColor3f",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glTexGeni",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glTexGen",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jn_FloatBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glTexImage2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jn_IntBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glTexImage2D_2",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jn_IntBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glTexSubImage2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jn_IntBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glDeleteTextures",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glPolygonOffset",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glCallLists",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [jn_IntBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glEnableVertexAttrib",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glDisableVertexAttrib",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hintAnisotropicFix",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShaderModeFlag0",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getShaderModeFlag1",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getShaderModeFlag",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "bindTheShader",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTheShader",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glDrawArrays",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_wglDrawQuadArrays",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initializeOcclusionObjects",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glCreateQuery",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "glBeginQuery",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glDeleteQuery",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glBindOcclusionBB",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glEndOcclusionBB",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glDrawOcclusionBB",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glEndQuery",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glGetQueryResult",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "glGetQueryResultAvailable",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "glGenTextures",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "glTexSubImage2D",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jn_ByteBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glFogi",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glFogf",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glFog",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jn_FloatBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glDeleteLists",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glActiveTexture",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glClientActiveTexture",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "glMultiTexCoord2f",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "gluUnProject",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), jn_FloatBuffer, jn_FloatBuffer, $rt_arraycls($rt_intcls()), jn_FloatBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "gluPerspective",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "gluPerspectiveFlat",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "gluErrorString",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getBitsPerSecond",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getVertexesPerSecond",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTrianglesPerSecond",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_CompressedStreamTools.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readCompressed",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "writeCompressed",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound, ji_OutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "decompress",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "compress",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "readUncompressed",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "writeUncompressed",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "read",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataInput],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "write",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound, ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_BufferedInputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "available",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillbuf",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ji_InputStream, $rt_arraycls($rt_bytecls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mark",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "read",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "skip",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }];
    ju_ArrayList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "trimToSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ensureCapacity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeRange",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkIndex",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkIndexForAdd",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "replaceAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_UnaryOperator],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_RandomAccess.$meta.methods = [];
    nle_Base64.$meta.methods = [
        {
            name : "decodeBase64",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "decodeBase64",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "decodeInteger",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "encodeBase64",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "encodeBase64",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_booleancls()],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "encodeBase64",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "encodeBase64",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_booleancls(), $rt_booleancls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "encodeBase64Chunked",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "encodeBase64String",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "encodeBase64URLSafe",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "encodeBase64URLSafeString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "encodeInteger",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "isArrayByteBase64",
            modifiers : 640,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBase64",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBase64",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBase64",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toIntegerBytes",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_booleancls(), nle_BaseNCodec$CodecPolicy],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "decode",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), nle_BaseNCodec$Context],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "encode",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), nle_BaseNCodec$Context],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInAlphabet",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUrlSafe",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "validateCharacter",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), nle_BaseNCodec$Context],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "validateTrailingCharacter",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_BaseNCodec.$meta.methods = [
        {
            name : "compareUnsigned",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createPositiveCapacity",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChunkSeparator",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "isWhiteSpace",
            modifiers : 512,
            accessLevel : 2,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "resizeBuffer",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nle_BaseNCodec$Context, $rt_intcls()],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_bytecls(), nle_BaseNCodec$CodecPolicy],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "available",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nle_BaseNCodec$Context],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "containsAlphabetOrPad",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "decode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "decode",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), nle_BaseNCodec$Context],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "decode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "decode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "encode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "encode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "encode",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), nle_BaseNCodec$Context],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "encode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "encodeAsString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "encodeToString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "ensureBufferSize",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nle_BaseNCodec$Context],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getCodecPolicy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nle_BaseNCodec$CodecPolicy,
            callable : null
        }, {
            name : "getDefaultBufferSize",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEncodedLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "hasData",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nle_BaseNCodec$Context],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInAlphabet",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInAlphabet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInAlphabet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isStrictDecoding",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readResults",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), nle_BaseNCodec$Context],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_ConfigConstants.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ServerData.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getNBTCompound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "getAcceptsTextures",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_78840_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setAcceptsTextures",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isHidingAddress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setHideAddress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getServerDataFromNBTCompound",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : nms_ServerData,
            callable : null
        }, {
            name : "setMOTDFromQuery",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_ServerQuery$QueryResponse],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRateLimitError",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "refreshIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "freeIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_System.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "out",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_PrintStream,
            callable : null
        }, {
            name : "err",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_PrintStream,
            callable : null
        }, {
            name : "in",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "console",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_Console,
            callable : null
        }, {
            name : "arraycopy",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_intcls(), jl_Object, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doArrayCopy",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_Object, $rt_intcls(), jl_Object, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doArrayCopyLowLevel",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otr_RuntimeArray, $rt_intcls(), otr_RuntimeArray, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "currentTimeMillis",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "currentTimeMillisLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "currentTimeMillisWasm",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "currentTimeMillisC",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "initPropertiesIfNeeded",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTempDir",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHomeDir",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toJavaString",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [oti_Address, $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getProperty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getProperty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getProperties",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Properties,
            callable : null
        }, {
            name : "setProperties",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Properties],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyProperties",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_Properties, ju_Properties],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setProperty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "clearProperty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "setErr",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_PrintStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOut",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_PrintStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "gc",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "gcLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "runFinalization",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "nanoTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "nanoTimeLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "identityHashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lineSeparator",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jl_ConsoleOutputStreamStdout.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeJs",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeLowLevel",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeJs$js_body$_2",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Timer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTimer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_SoundManager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadSoundSettings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GameSettings],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onSoundOptionsChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeMinecraft",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playRandomMusicIfReady",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setListener",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stopAllSounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playStreaming",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateSoundLocation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateSoundLocation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEntitySoundPlaying",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "stopEntitySound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setEntitySoundVolume",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setEntitySoundPitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playEntitySound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSoundFX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pauseAllSounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resumeAllSounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92071_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92070_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playTheTitleMusic",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stopTheTitleMusic",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Profiler.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearProfiling",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "startSection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "endSection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getProfilingData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ju_List,
            callable : null
        }, {
            name : "endStartSection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNameOfLastSection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jl_Character.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "charValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_Character,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "isValidCodePoint",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBmpCodePoint",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSupplementaryCodePoint",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isHighSurrogate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isLowSurrogate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSurrogate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSurrogatePair",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls(), $rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "charCount",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toCodePoint",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls(), $rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointAt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointAt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointAt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointBefore",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointBefore",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointBefore",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "highSurrogate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "lowSurrogate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "toLowerCase",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "toLowerCase",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toLowerCaseLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toLowerCaseSystem",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toUpperCase",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "toUpperCase",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toUpperCaseLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toUpperCaseSystem",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "digit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "digit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNumericValue",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNumericValue",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "forDigit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "isDigit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isDigit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDigitMapping",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "obtainDigitMapping",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_StringResource,
            callable : null
        }, {
            name : "getClasses",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_arraycls(otciu_UnicodeHelper$Range),
            callable : null
        }, {
            name : "obtainClasses",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_StringResource,
            callable : null
        }, {
            name : "toChars",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toChars",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls($rt_charcls()),
            callable : null
        }, {
            name : "codePointCount",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointCount",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "offsetByCodePoints",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "offsetByCodePoints",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isISOControl",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isISOControl",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isLowerCase",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isLowerCase",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUpperCase",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUpperCase",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isTitleCase",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isTitleCase",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isDefined",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isDefined",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isLetter",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isLetter",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isLetterOrDigit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isLetterOrDigit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isJavaLetter",
            modifiers : 640,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isJavaIdentifierStart",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isJavaIdentifierStart",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isJavaLetterOrDigit",
            modifiers : 640,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isJavaIdentifierPart",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isJavaIdentifierPart",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAlphabetic",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUnicodeIdentifierStart",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUnicodeIdentifierStart",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUnicodeIdentifierPart",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUnicodeIdentifierPart",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isIdentifierIgnorable",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isIdentifierIgnorable",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSpace",
            modifiers : 640,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSpaceChar",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSpaceChar",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isWhitespace",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isWhitespace",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Character],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls(), $rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reverseBytes",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "obtainDigitMapping$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_StringResource,
            callable : null
        }, {
            name : "obtainClasses$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_StringResource,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$TextureGL.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [otjw_WebGLTexture],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GLAllocation.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "generateDisplayLists",
            modifiers : 2560,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "generateTextureNames",
            modifiers : 2560,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deleteDisplayLists",
            modifiers : 2560,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98302_b",
            modifiers : 2560,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteTexturesAndDisplayLists",
            modifiers : 2560,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createDirectByteBuffer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "createDirectIntBuffer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "createDirectFloatBuffer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_ByteBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "allocateDirect",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "allocate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_bytecls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_ByteBuffer],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "hasArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "array",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "arrayOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compact",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_ByteBuffer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "order",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }, {
            name : "order",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jn_ByteOrder],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "getChar",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "putChar",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "getChar",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "putChar",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "asCharBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "getShort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "putShort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "getShort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "putShort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_shortcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "asShortBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "getInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "putInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "getInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "putInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "asIntBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "getLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "putLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "getLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "putLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "asLongBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "asFloatBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "asDoubleBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "mark",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "rewind",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "position",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "array",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "rewind",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "mark",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "position",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    nle_EaglerImage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadImage",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : nle_EaglerImage,
            callable : null
        }, {
            name : "getSubImage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nle_EaglerImage,
            callable : null
        }];
    jl_Float.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "intValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "longValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jl_Float,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isNaN",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInfinite",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFinite",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getNaN",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "parseFloat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "decimalExponent",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Float,
            callable : null
        }, {
            name : "isNaN",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInfinite",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Float],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "floatToRawIntBits",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "floatToIntBits",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "intBitsToFloat",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "toHexString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isNaN$js_body$_13",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "isInfinite$js_body$_14",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "isFinite$js_body$_15",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getNaN$js_body$_16",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "floatToIntBits$js_body$_25",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "intBitsToFloat$js_body$_26",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$BufferGL.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [otjw_WebGLBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$ShaderGL.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [otjw_WebGLShader],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$ProgramGL.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [otjw_WebGLProgram],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$UniformGL.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [otjw_WebGLUniformLocation],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$BufferArrayGL.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nleat_WebGLVertexArray],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnc_Charset.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, $rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkCanonicalName",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isValidCharsetStart",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "forName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jnc_Charset,
            callable : null
        }, {
            name : "defaultCharset",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_Charset,
            callable : null
        }, {
            name : "name",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "aliases",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "displayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "contains",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jnc_Charset],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "newDecoder",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_CharsetDecoder,
            callable : null
        }, {
            name : "newEncoder",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_CharsetEncoder,
            callable : null
        }, {
            name : "canEncode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "decode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jn_ByteBuffer],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "encode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jn_CharBuffer],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "encode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jnc_Charset],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    jl_IllegalArgumentException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnc_UnsupportedCharsetException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCharsetName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    ju_Arrays.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_charcls()),
            callable : null
        }, {
            name : "copyOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "copyOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_shortcls()),
            callable : null
        }, {
            name : "copyOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "copyOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_longcls()),
            callable : null
        }, {
            name : "copyOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "copyOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_doublecls()),
            callable : null
        }, {
            name : "copyOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_booleancls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_booleancls()),
            callable : null
        }, {
            name : "copyOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_intcls()],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "copyOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_intcls(), jl_Class],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "copyOfRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_booleancls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_booleancls()),
            callable : null
        }, {
            name : "copyOfRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "copyOfRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_charcls()),
            callable : null
        }, {
            name : "copyOfRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_shortcls()),
            callable : null
        }, {
            name : "copyOfRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "copyOfRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_longcls()),
            callable : null
        }, {
            name : "copyOfRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "copyOfRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_doublecls()),
            callable : null
        }, {
            name : "copyOfRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "copyOfRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_intcls(), $rt_intcls(), jl_Class],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_booleancls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_intcls(), $rt_intcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls(), $rt_intcls(), $rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls(), $rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_booleancls()), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_booleancls()), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_intcls(), $rt_intcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_intcls(), $rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "merge",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "merge",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_arraycls($rt_longcls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "merge",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_arraycls($rt_shortcls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "merge",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "merge",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "merge",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "merge",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_arraycls($rt_doublecls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_intcls(), $rt_intcls(), ju_Comparator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), ju_Comparator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "merge",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_arraycls(jl_Object), $rt_intcls(), $rt_intcls(), $rt_intcls(), ju_Comparator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_intcls(), $rt_intcls(), $rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_shortcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls(), $rt_intcls(), $rt_shortcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls(), $rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_bytecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), $rt_bytecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_intcls(), $rt_intcls(), $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_intcls(), $rt_intcls(), jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), jl_Object, ju_Comparator],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_intcls(), $rt_intcls(), jl_Object, ju_Comparator],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_arraycls($rt_longcls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_arraycls($rt_shortcls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_arraycls($rt_charcls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_arraycls($rt_bytecls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_arraycls($rt_floatcls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_arraycls($rt_doublecls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_booleancls()), $rt_arraycls($rt_booleancls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_arraycls(jl_Object)],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_booleancls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deepHashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deepEquals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_arraycls(jl_Object)],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "asList",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : ju_List,
            callable : null
        }, {
            name : "deepToString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : jl_String,
            callable : null
        }, {
            name : "deepToString",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(jl_Object), jl_StringBuilder, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deepToString",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Object, jl_StringBuilder, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "stream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), $rt_intcls(), $rt_intcls()],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "stream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "stream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "stream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "stream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_intcls(), $rt_intcls()],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "stream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "stream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_intcls(), $rt_intcls()],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "setAll",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), juf_IntFunction],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAll",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), juf_IntUnaryOperator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAll",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), juf_IntToLongFunction],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAll",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), juf_IntToDoubleFunction],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnci_UTF8Charset.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jnc_Charset],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "newDecoder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_CharsetDecoder,
            callable : null
        }, {
            name : "newEncoder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_CharsetEncoder,
            callable : null
        }];
    nle_EaglercraftRandom.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextBytes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "nextInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "nextBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "nextDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "nextGaussian",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }];
    nms_Packet3Chat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIsServer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canProcessAsync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Packet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addIdClassMapping",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_booleancls(), $rt_booleancls(), jl_Class],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNewPacket",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Packet,
            callable : null
        }, {
            name : "writeByteArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream, $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readBytesFromStream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getPacketId",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readPacket",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream, $rt_booleancls()],
            returnType : nms_Packet,
            callable : null
        }, {
            name : "writePacket",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Packet, ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream, $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canProcessAsync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "readItemStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "writeItemStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readNBTTagCompound",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "writeNBTTagCompound",
            modifiers : 512,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound, ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_EaglerProfile.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSkinSize",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSkinPacket",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "concatArrays",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String), $rt_arraycls(jl_String)],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "addSkin",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls($rt_bytecls()), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "loadFromStorage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Locale.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAvailableLocales",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(ju_Locale),
            callable : null
        }, {
            name : "getCountry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDefault",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Locale,
            callable : null
        }, {
            name : "getDisplayCountry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayCountry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayCountry",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayLanguage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayLanguage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayLanguage",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayVariant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayVariant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLanguage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getVariant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setDefault",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_DateFormatSymbols.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAmPmStrings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getEras",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getLocalPatternChars",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getMonths",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getShortMonths",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getShortWeekdays",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getWeekdays",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getZoneStrings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_arraycls(jl_String)),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setAmPmStrings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setEras",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLocalPatternChars",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMonths",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setShortMonths",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setShortWeekdays",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setWeekdays",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setZoneStrings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_arraycls(jl_String))],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$13.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLImageElement, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$14.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLImageElement, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    jnc_IllegalCharsetNameException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCharsetName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jnc_Charset$Charsets.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_Inflater.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [cjj_JZlib$WrapperType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), cjj_JZlib$WrapperType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [cjj_JZlib$WrapperType],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), cjj_JZlib$WrapperType],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "end",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "sync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "syncPoint",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setDictionary",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "finished",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    cjj_ZStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [cjj_Checksum],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "inflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [cjj_JZlib$WrapperType],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), cjj_JZlib$WrapperType],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateEnd",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateSync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateSyncPoint",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateSetDictionary",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateFinished",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "deflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), cjj_JZlib$WrapperType],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateInit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateEnd",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateParams",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateSetDictionary",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "flush_pending",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read_buf",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAdler",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "free",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNextIn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "setNextIn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNextInIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNextInIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAvailIn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setAvailIn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNextOut",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "setNextOut",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNextOutIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNextOutIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAvailOut",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setAvailOut",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTotalOut",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getTotalIn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "end",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "finished",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_NBTTagEnd.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }];
    jur_Pattern.$meta.methods = [
        {
            name : "matcher",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jur_Matcher,
            callable : null
        }, {
            name : "split",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls()],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "split",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "pattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "flags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compile",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : jur_Pattern,
            callable : null
        }, {
            name : "compileImpl",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : jur_Pattern,
            callable : null
        }, {
            name : "processAlternations",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jur_AbstractSet],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "processExpression",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jur_AbstractSet],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "processSequence",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "processDecomposedChar",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "processSubExpression",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jur_AbstractSet],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "processQuantifier",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "processTerminal",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jur_AbstractSet],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "processRange",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls(), jur_AbstractSet],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "processRangeExpression",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls()],
            returnType : jur_CharClass,
            callable : null
        }, {
            name : "processCharSet",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "processRangeSet",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jur_AbstractCharClass],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "compile",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jur_Pattern,
            callable : null
        }, {
            name : "finalizeCompile",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_CharSequence],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "quote",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "groupCount",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compCount",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "consCount",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSupplement",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "hasFlag",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_ByteArrayOutputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ensureCapacity",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toByteArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "writeTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    ji_DataOutputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flush",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeBoolean",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeByte",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeBytes",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeChar",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeChars",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeDouble",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeFloat",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeInt",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeLong",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeLongToBuffer",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "writeShort",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeShortToBuffer",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "writeUTF",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "countUTFBytes",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "writeUTFBytesToBuffer",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String, $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    ji_DataOutput.$meta.methods = [
        {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeBoolean",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeByte",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeShort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeChar",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeFloat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeBytes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeChars",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeUTF",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nleg_GLObjectMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "register",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "free",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlegv_Matrix4f.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setIdentity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "setIdentity",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "setZero",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "setZero",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "load",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "loadTranspose",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "store",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "store",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "storeTranspose",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "store3f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "add",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f, nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "sub",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f, nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "mul",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f, nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "transform",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f, nlegv_Vector4f, nlegv_Vector4f],
            returnType : nlegv_Vector4f,
            callable : null
        }, {
            name : "transpose",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "translate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector2f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "translate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "scale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "scale",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f, nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "rotate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), nlegv_Vector3f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "rotate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), nlegv_Vector3f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "rotate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), nlegv_Vector3f, nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "translate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "translate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f, nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "translate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector2f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "translate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector2f, nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "transpose",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "transpose",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "determinant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "determinant3x3",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "invert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "invert",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "negate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : nlegv_Matrix4f,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equal",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f, nlegv_Matrix4f],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nlegv_Matrix.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setIdentity",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "invert",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "load",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "loadTranspose",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "negate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "store",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "storeTranspose",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "transpose",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "setZero",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Matrix,
            callable : null
        }, {
            name : "determinant",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nlegv_Vector3f.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_ReadableVector3f],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_ReadableVector3f],
            returnType : nlegv_Vector3f,
            callable : null
        }, {
            name : "lengthSquared",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "translate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : nlegv_Vector3f,
            callable : null
        }, {
            name : "add",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f, nlegv_Vector3f, nlegv_Vector3f],
            returnType : nlegv_Vector3f,
            callable : null
        }, {
            name : "sub",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f, nlegv_Vector3f, nlegv_Vector3f],
            returnType : nlegv_Vector3f,
            callable : null
        }, {
            name : "cross",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f, nlegv_Vector3f, nlegv_Vector3f],
            returnType : nlegv_Vector3f,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f],
            returnType : nlegv_Vector3f,
            callable : null
        }, {
            name : "normalise",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f],
            returnType : nlegv_Vector3f,
            callable : null
        }, {
            name : "dot",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f, nlegv_Vector3f],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "angle",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector3f, nlegv_Vector3f],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "scale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "store",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getX",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getY",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setX",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setY",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nlegv_Vector.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "length",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "lengthSquared",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "negate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "normalise",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "store",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "scale",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : nlegv_Vector,
            callable : null
        }];
    nlegv_ReadableVector.$meta.methods = [
        {
            name : "length",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "lengthSquared",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "store",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Vector,
            callable : null
        }];
    nlegv_ReadableVector3f.$meta.methods = [
        {
            name : "getZ",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nlegv_ReadableVector2f.$meta.methods = [
        {
            name : "getX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nlegv_WritableVector3f.$meta.methods = [
        {
            name : "setZ",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlegv_WritableVector2f.$meta.methods = [
        {
            name : "setX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlegv_Vector4f.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_ReadableVector4f],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_ReadableVector4f],
            returnType : nlegv_Vector4f,
            callable : null
        }, {
            name : "lengthSquared",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "translate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : nlegv_Vector4f,
            callable : null
        }, {
            name : "add",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector4f, nlegv_Vector4f, nlegv_Vector4f],
            returnType : nlegv_Vector4f,
            callable : null
        }, {
            name : "sub",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector4f, nlegv_Vector4f, nlegv_Vector4f],
            returnType : nlegv_Vector4f,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector4f],
            returnType : nlegv_Vector4f,
            callable : null
        }, {
            name : "normalise",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector4f],
            returnType : nlegv_Vector4f,
            callable : null
        }, {
            name : "dot",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector4f, nlegv_Vector4f],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "angle",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector4f, nlegv_Vector4f],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "scale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "store",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getX",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getY",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setX",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setY",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setW",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getW",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nlegv_ReadableVector4f.$meta.methods = [
        {
            name : "getW",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nlegv_WritableVector4f.$meta.methods = [
        {
            name : "setW",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_ByteBufferImpl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "slice",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_bytecls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "compact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isReadOnly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getChar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "putChar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "getChar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "putChar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "asCharBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "getShort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "putShort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "getShort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "putShort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_shortcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "asShortBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "getInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "putInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "getInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "putInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "asIntBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "getLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "putLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "getLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "putLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "asLongBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "asFloatBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "asDoubleBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }];
    jn_ByteOrder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "nativeOrder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_IntBufferOverArray.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readOnly",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "order",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }];
    jn_IntBufferImpl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "slice",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "compact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isReadOnly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readOnly",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jn_CharBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChar",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "putChar",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "allocate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_CharBuffer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_CharBuffer],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "hasArray",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "array",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_charcls()),
            callable : null
        }, {
            name : "arrayOffset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_charcls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compact",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_CharBuffer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "length",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "charAt",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "subSequence",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "order",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }, {
            name : "mark",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "rewind",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "position",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "array",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "rewind",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "mark",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "position",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "subSequence",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_CharSequence,
            callable : null
        }];
    jl_Readable.$meta.methods = [
        {
            name : "read",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_CharBuffer],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_NBTTagByte.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_NBTTagShort.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_NBTTagInt.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_NBTTagLong.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_NBTTagFloat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_NBTTagDouble.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_NBTTagByteArray.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_NBTTagString.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_NBTTagIntArray.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataOutput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ji_DataInput],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jl_NullPointerException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjb_Performance.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "now",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "isSupported",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "now$js_body$_1",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "isSupported$js_body$_2",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    nle_GuiScreenEditProfile.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reconcatDD",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMouseInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "save",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiScreen.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getClipboardString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setClipboardString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseMovedOrUp",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_85041_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setWorldAndResolution",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMouseInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleKeyboardInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawDefaultBackground",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawWorldBackground",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawBackground",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doesGuiPauseGame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "confirmClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isCtrlKeyDown",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isShiftKeyDown",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Gui.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawHorizontalLine",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawVerticalLine",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawRect",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGradientRect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawCenteredString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawTexturedModalRect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "static_drawTexturedModalRect",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawTexturedModelRectFromIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_Icon, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otciu_CLDRHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLikelySubtags",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "resolveCountry",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLikelySubtagsMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveEras",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getErasMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveAmPm",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getAmPmMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveMonths",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getMonthMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveShortMonths",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getShortMonthMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveWeekdays",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getWeekdayMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveShortWeekdays",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getShortWeekdayMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveDateFormatSymbols",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otpm_ResourceMap, jl_String, jl_String],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getTimeZoneName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTimeZoneLocalizationMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getLanguagesMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getCountriesMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getDefaultLocale",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otpm_StringResource,
            callable : null
        }, {
            name : "getAvailableLocales",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otpm_ResourceArray,
            callable : null
        }, {
            name : "getMinimalDaysInFirstWeek",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getFirstDayOfWeek",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveDateFormats",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otciu_DateFormatCollection,
            callable : null
        }, {
            name : "getDateFormatMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveTimeFormats",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otciu_DateFormatCollection,
            callable : null
        }, {
            name : "getTimeFormatMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveDateTimeFormats",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otciu_DateFormatCollection,
            callable : null
        }, {
            name : "getDateTimeFormatMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveNumberFormat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getNumberFormatMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolvePercentFormat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPercentFormatMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveCurrencyFormat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCurrencyFormatMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveDateFormats",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otpm_ResourceMap, jl_String, jl_String],
            returnType : otciu_DateFormatCollection,
            callable : null
        }, {
            name : "resolveFormatSymbols",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otpm_ResourceMap, jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "resolveDecimalData",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otciu_DecimalData,
            callable : null
        }, {
            name : "getDecimalDataMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "resolveCurrency",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : otciu_CurrencyLocalization,
            callable : null
        }, {
            name : "getCurrencyMap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getLikelySubtagsMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getErasMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getAmPmMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getMonthMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getShortMonthMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getWeekdayMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getShortWeekdayMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getTimeZoneLocalizationMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getLanguagesMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getCountriesMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getDefaultLocale$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_StringResource,
            callable : null
        }, {
            name : "getAvailableLocales$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceArray,
            callable : null
        }, {
            name : "getMinimalDaysInFirstWeek$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getFirstDayOfWeek$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getDateFormatMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getTimeFormatMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getDateTimeFormatMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getNumberFormatMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getPercentFormatMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getCurrencyFormatMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getDecimalDataMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getCurrencyMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }];
    otpp_ResourceAccessor.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getProperty",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "get",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_String],
            returnType : otpm_Resource,
            callable : null
        }, {
            name : "keys",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "keysToStrings",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "put",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_String, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : otpm_Resource,
            callable : null
        }, {
            name : "add",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object, otpm_Resource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "has",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "size",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "castToInt",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "castToShort",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "castToByte",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "castToBoolean",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "castToFloat",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "castToDouble",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "castToString",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_String,
            callable : null
        }, {
            name : "castFromInt",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "castFromShort",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "castFromByte",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "castFromBoolean",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "castFromFloat",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "castFromDouble",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "castFromString",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }];
    cjj_GZIPException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_AbstractSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setType",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getQualifiedName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "processBackRefReplacement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_JointSet,
            callable : null
        }, {
            name : "processSecondPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_FSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getGroupIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_Lexer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "peek",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "restoreFlags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "peekSpecial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_SpecialToken,
            callable : null
        }, {
            name : "isSpecial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isQuantifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isNextSpecial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextSpecial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_SpecialToken,
            callable : null
        }, {
            name : "lookAhead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "back",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "normalize",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "reread",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "movePointer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parseCharClassName",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "processQuantifier",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : jur_Quantifier,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isLetter",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isLetter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isHighSurrogate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isLowSurrogate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isHighSurrogate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isLowSurrogate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readHex",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readOctals",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readFlags",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextIndex",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "skipComments",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isLineSeparator",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDecomposition",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "getHangulDecomposition",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "hasSingleCodepointDecomposition",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasDecompositionNonNullCanClass",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextCodePoint",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_PatternSyntaxException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDescription",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jl_CloneNotSupportedException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_TextureLocation.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "freeTextures",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Calendar.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_TimeZone],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [ju_TimeZone, ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resolveFirstDayOfWeek",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_Locale],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "resolveMinimalDaysInFirstWeek",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_Locale],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "after",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "before",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "complete",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeFields",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeTime",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getActualMaximum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getActualMinimum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAvailableLocales",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(ju_Locale),
            callable : null
        }, {
            name : "getFirstDayOfWeek",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getGreatestMinimum",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Calendar,
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : ju_Calendar,
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_TimeZone, ju_Locale],
            returnType : ju_Calendar,
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_TimeZone],
            returnType : ju_Calendar,
            callable : null
        }, {
            name : "getLeastMaximum",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaximum",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinimalDaysInFirstWeek",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinimum",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTime",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Date,
            callable : null
        }, {
            name : "getTimeInMillis",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getTimeZone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_TimeZone,
            callable : null
        }, {
            name : "setTimeZone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_TimeZone],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "internalGet",
            modifiers : 4,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isLenient",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSet",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "roll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "roll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFirstDayOfWeek",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLenient",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMinimalDaysInFirstWeek",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTime",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [ju_Date],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTimeInMillis",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_GregorianCalendar.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_TimeZone],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_TimeZone, ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "fullFieldsCalc",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "cachedFieldsCheckAndGet",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_longcls(), $rt_longcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTimeZoneOffset",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "computeFields",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeTime",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeYearAndDay",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "daysFromBaseYear",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "daysInMonth",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "daysInMonth",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "daysInYear",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "daysInYear",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getActualMaximum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getActualMinimum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getGreatestMinimum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getGregorianChange",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Date,
            callable : null
        }, {
            name : "getLeastMaximum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaximum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinimum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isLeapYear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "julianError",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mod",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mod7",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "roll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "roll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setGregorianChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Date],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFirstDayOfWeek",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMinimalDaysInFirstWeek",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_Adler32.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "update",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : cjj_Adler32,
            callable : null
        }, {
            name : "combine",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), $rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : cjj_Checksum,
            callable : null
        }];
    cjj_Checksum.$meta.methods = [
        {
            name : "update",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : cjj_Checksum,
            callable : null
        }];
    nle_BaseNCodec$CodecPolicy.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nle_BaseNCodec$CodecPolicy),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nle_BaseNCodec$CodecPolicy,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Enum.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "name",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "ordinal",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 4,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getDeclaringClass",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Enum],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Class, jl_String],
            returnType : jl_Enum,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_NonCapFSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AheadFSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_BehindFSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_AtomicFSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_FinalSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_EmptySet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_LeafSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "charCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_NonCapJointSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_ArrayList, jur_FSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_JointSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_ArrayList, jur_FSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getGroup",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "processSecondPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_PositiveLookAhead.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_ArrayList, jur_FSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_AtomicJointSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_ArrayList, jur_FSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_NegativeLookAhead.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_ArrayList, jur_FSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_PositiveLookBehind.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_ArrayList, jur_FSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_NegativeLookBehind.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_ArrayList, jur_FSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_SingleSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_FSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "processBackRefReplacement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_JointSet,
            callable : null
        }, {
            name : "processSecondPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_IndexOutOfBoundsException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_ArrayStoreException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_CharClass.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jur_CharClass,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass],
            returnType : jur_CharClass,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jur_CharClass,
            callable : null
        }, {
            name : "union",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "intersection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBits",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : ju_BitSet,
            callable : null
        }, {
            name : "getLowHighSurrogates",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : ju_BitSet,
            callable : null
        }, {
            name : "getInstance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasUCI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBits",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : ju_BitSet,
            callable : null
        }, {
            name : "getLowHighSurrogates",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : ju_BitSet,
            callable : null
        }, {
            name : "hasLowHighSurrogates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mayContainSupplCodepoints",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getInstance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }, {
            name : "getSurrogates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }, {
            name : "getWithoutSurrogates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }, {
            name : "hasUCI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setNegative",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jur_AbstractCharClass,
            callable : null
        }, {
            name : "isNegative",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "intersects",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "intersects",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "intersects",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass, jur_AbstractCharClass],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPredefinedClass",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : jur_AbstractCharClass,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_SpecialToken.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_LeafQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_LeafSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setInnerSet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_QuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInnerSet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setInnerSet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "processSecondPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_UnifiedQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_LeafSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_LeafQuantifierSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jlr_Array.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLength",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLengthLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "newInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Class, $rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "newInstanceImpl",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otp_PlatformClass, $rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "newInstanceLowLevel",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otr_RuntimeClass, $rt_intcls()],
            returnType : otr_RuntimeObject,
            callable : null
        }, {
            name : "get",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "set",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getImpl",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "setImpl",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_Object, $rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_AbstractCharClass$PredefinedCharacterClasses.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyCharClass.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jur_AbstractCharClass,
            callable : null
        }, {
            name : "computeValue",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    ju_MissingResourceException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getClassName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_Quantifier.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetCounter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCounter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setCounter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "min",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "max",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    jur_FSet$PossessiveFSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ju_BitSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : ju_BitSet,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : ju_BitSet,
            callable : null
        }, {
            name : "toByteArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "toLongArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_longcls()),
            callable : null
        }, {
            name : "flip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "trailingZeroBits",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "trailingOneBits",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : ju_BitSet,
            callable : null
        }, {
            name : "nextSetBit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextClearBit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "previousSetBit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "previousClearBit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "ensureCapacity",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "recalculateLength",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "length",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "intersects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_BitSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "cardinality",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "and",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_BitSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "andNot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_BitSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "or",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_BitSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "xor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_BitSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    jur_LowHighSurrogateRangeSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass, jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getChars",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CompositeRangeSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSurrogates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "getWithoutSurrogates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_UCISupplRangeSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass, jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_SupplRangeSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass, jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getChars",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_UCIRangeSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass, jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_RangeSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass, jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getChars",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_HangulDecomposedCharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDecomposedChar",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "charCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getChar",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_UCICharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_CICharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getChar",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }];
    jur_DecomposedCharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDecomposedChar",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "codePointAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_UCIDecomposedCharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_CIDecomposedCharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_PossessiveGroupQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_GroupQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_PosPlusGroupQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_PosAltGroupQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_AltGroupQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_PosCompositeGroupQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_Quantifier, jur_AbstractSet, jur_AbstractSet, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_CompositeGroupQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_Quantifier, jur_AbstractSet, jur_AbstractSet, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setQuantifier",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_Quantifier],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_ReluctantGroupQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_RelAltGroupQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_RelCompositeGroupQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_Quantifier, jur_AbstractSet, jur_AbstractSet, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_DotAllQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_DotQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_AbstractSet, $rt_intcls(), jur_AbstractLineTerminator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findLineTerminator",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBackLineTerminator",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_PossessiveQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_LeafSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_PossessiveAltQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_LeafSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_AltQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_LeafSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_PossessiveCompositeQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_Quantifier, jur_LeafSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_CompositeQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_Quantifier, jur_LeafSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setQuantifier",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_Quantifier],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_ReluctantQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_LeafSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_ReluctantAltQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_LeafSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_ReluctantCompositeQuantifierSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_Quantifier, jur_LeafSet, jur_AbstractSet, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_SOLSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_WordBoundary.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isSpace",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_intcls(), $rt_intcls(), jl_CharSequence],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_PreviousMatch.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_EOLSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_EOISet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_MultiLineSOLSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractLineTerminator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_DotAllSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_DotSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractLineTerminator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_UEOLSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_UMultiLineEOLSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_MultiLineEOLSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_BackReferenceSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_CIBackReferenceSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getString",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jur_MatchResultImpl],
            returnType : jl_String,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_UCIBackReferenceSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jl_StringBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "appendCodePoint",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuffer],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls())],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "delete",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "replace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "deleteCharAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "reverse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "codePointBefore",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointAt",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "codePointCount",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "offsetByCodePoints",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setCharAt",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "substring",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "substring",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "reverse",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "replace",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "delete",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "deleteCharAt",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "setLength",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChars",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "subSequence",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_CharSequence,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_charcls())],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_StringBuffer],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "charAt",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "length",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "capacity",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "trimToSize",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ensureCapacity",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "appendCodePoint",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "insert",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_AbstractStringBuilder,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_Appendable,
            callable : null
        }];
    jur_SequenceSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "startsWith",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_CharSequence, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_UCISequenceSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_CISequenceSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    ju_TimeZone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getAvailableIDs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getAvailableIDs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getDefault",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_TimeZone,
            callable : null
        }, {
            name : "getDisplayName",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayName",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayName",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_intcls(), ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "getID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDSTSavings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRawOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTimeZone",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ju_TimeZone,
            callable : null
        }, {
            name : "formatTimeZoneName",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasSameRules",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_TimeZone],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "inDaylightTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Date],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "parseNumber",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_arraycls($rt_intcls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setDefault",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_TimeZone],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRawOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "useDaylightTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCustomTimeZone",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_booleancls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_IANATimeZone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otcit_DateTimeZone],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRawOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inDaylightTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Date],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setRawOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "useDaylightTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_IANATimeZone,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    jl_NumberFormatException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_IntHash.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    jur_UCISupplCharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_LowSurrogateCharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getChar",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_HighSurrogateCharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractSet,
            callable : null
        }, {
            name : "setNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getChar",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_SupplCharSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accepts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCodePoint",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractLineTerminator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isLineTerminator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAfterLineTerminator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jur_AbstractLineTerminator,
            callable : null
        }];
    jur_AbstractLineTerminator$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isLineTerminator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAfterLineTerminator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractLineTerminator$2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isLineTerminator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAfterLineTerminator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_SequenceSet$IntHash.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    otcit_FixedDateTimeZone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOffsetFromLocal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isFixed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "previousTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readZone",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, otci_CharFlow],
            returnType : otcit_FixedDateTimeZone,
            callable : null
        }];
    otcit_StorableDateTimeZone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otci_CharFlow],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "writeUnsignedTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readUnsignedTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otci_CharFlow],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "writeTimeArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder, $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readTimeArray",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otci_CharFlow, $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otcit_StorableDateTimeZone,
            callable : null
        }];
    otcit_DateTimeZone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getID",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStandardOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getOffsetFromLocal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "convertUTCToLocal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "convertLocalToUTC",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_booleancls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "convertLocalToUTC",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_booleancls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getMillisKeepLocal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otcit_DateTimeZone, $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "adjustOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_booleancls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "isFixed",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextTransition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "previousTransition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }];
    otcit_DateTimeZoneProvider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTimeZone",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcit_DateTimeZone,
            callable : null
        }, {
            name : "createTimeZone",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : otcit_DateTimeZone,
            callable : null
        }, {
            name : "getIds",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "timeZoneDetectionEnabled",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "detectTimezone",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otcit_DateTimeZone,
            callable : null
        }, {
            name : "getTimeZoneResource",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : otcit_TimeZoneResource,
            callable : null
        }, {
            name : "getNativeOffset",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getResource",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "lambda$detectTimezone$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Long],
            returnType : ju_List,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getResource$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getNativeOffset$js_body$_7",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    ju_PriorityQueue.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_PriorityQueue],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_SortedSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initFromSortedSet",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_SortedSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initFromPriorityQueue",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_PriorityQueue],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillFromCollection",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_Collection],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Comparator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setComparator",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_Comparator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "comparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "offer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "poll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "peek",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeAt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ensureCapacity",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_PriorityQueue],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_PriorityQueue],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$200",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_PriorityQueue],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "access$300",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_PriorityQueue, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_AbstractQueue.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "element",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otcit_DateTimeZoneProvider$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Long, jl_Long],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    otcit_DateTimeZoneProvider$Score.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otcit_DateTimeZone],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Long.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_Long,
            callable : null
        }, {
            name : "parseLong",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "parseLong",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : jl_Long,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Long,
            callable : null
        }, {
            name : "decode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Long,
            callable : null
        }, {
            name : "decodeDigit",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "intValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "longValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toHexString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toOctalString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toBinaryString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Long],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLong",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Long,
            callable : null
        }, {
            name : "getLong",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_longcls()],
            returnType : jl_Long,
            callable : null
        }, {
            name : "getLong",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Long],
            returnType : jl_Long,
            callable : null
        }, {
            name : "highestOneBit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "numberOfLeadingZeros",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "numberOfTrailingZeros",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lowestOneBit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "bitCount",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "rotateLeft",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "rotateRight",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "reverse",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "reverseBytes",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "signum",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "divideUnsigned",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "remainderUnsigned",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Iterator.$meta.methods = [
        {
            name : "hasNext",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Long],
            returnType : ju_List,
            callable : null
        }];
    juf_Function.$meta.methods = [
        {
            name : "apply",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "compose",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : juf_Function,
            callable : null
        }, {
            name : "andThen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : juf_Function,
            callable : null
        }, {
            name : "identity",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "lambda$identity$2",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "lambda$andThen$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_Function, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "lambda$compose$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_Function, jl_Object],
            returnType : jl_Object,
            callable : null
        }];
    otcit_AliasDateTimeZone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, otcit_DateTimeZone],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isFixed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "previousTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Math.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sin",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "cos",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "tan",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "asin",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "acos",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "atan",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "toRadians",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "toDegrees",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "exp",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "log",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "log10",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "sqrt",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "cbrt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "IEEEremainder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "ceil",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "floor",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "pow",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "rint",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "atan2",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "round",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "round",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "random",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "randomC",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "randomImpl",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "min",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "min",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "min",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "min",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "abs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "abs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "abs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "abs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "ulp",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "ulp",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "signum",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "signum",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "sinh",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "cosh",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "tanh",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "hypot",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "expm1",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "log1p",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "copySign",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "copySign",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getExponent",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getExponent",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextAfter",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "nextAfter",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "nextUp",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "nextUp",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    jur_AbstractCharClass$LazySpace.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyDigit.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyLower.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyUpper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyASCII.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyAlpha.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyAlnum.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyPunct.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyGraph.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyPrint.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyBlank.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyCntrl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyXDigit.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaLowerCase.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaUpperCase.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaWhitespace.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaMirrored.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaDefined.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaDigit.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaIdentifierIgnorable.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaISOControl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaJavaIdentifierPart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaJavaIdentifierStart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaLetter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaLetterOrDigit.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaSpaceChar.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaTitleCase.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyWord.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyNonWord.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyNonSpace.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyNonDigit.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyRange.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazySpecialsBlock.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyCategory.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    jur_AbstractCharClass$LazyCategoryScope.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jur_AbstractCharClass,
            callable : null
        }];
    ju_PriorityQueue$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_PriorityQueue],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    otci_CharFlow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otci_Base46.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "encodeUnsigned",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "encode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "encodeUnsigned",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "encode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "decodeUnsigned",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otci_CharFlow],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "decode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otci_CharFlow],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "decodeUnsignedLong",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otci_CharFlow],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "decodeLong",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otci_CharFlow],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "encodeDigit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "decodeDigit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    otciu_UnicodeHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hexDigit",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "valueOfHexDigit",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "encodeIntByte",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "decodeIntByte",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "encodeByte",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "decodeByte",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "compressRle",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jl_String,
            callable : null
        }, {
            name : "extractRle",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls(otciu_UnicodeHelper$Range),
            callable : null
        }];
    otcit_DateTimeZoneBuilder$PrecalculatedZone.$meta.methods = [
        {
            name : "create",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_String, $rt_booleancls(), ju_ArrayList, otcit_DateTimeZoneBuilder$DSTZone],
            returnType : otcit_DateTimeZoneBuilder$PrecalculatedZone,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_arraycls($rt_longcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), otcit_DateTimeZoneBuilder$DSTZone],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readZone",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, otci_CharFlow],
            returnType : otcit_StorableDateTimeZone,
            callable : null
        }, {
            name : "getOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isFixed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "previousTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "isCachable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otcit_DateTimeZoneBuilder$DSTZone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String, $rt_intcls(), otcit_DateTimeZoneBuilder$Recurrence, otcit_DateTimeZoneBuilder$Recurrence],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isFixed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "previousTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "findMatchingRecurrence",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : otcit_DateTimeZoneBuilder$Recurrence,
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readZone",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, otci_CharFlow],
            returnType : otcit_DateTimeZoneBuilder$DSTZone,
            callable : null
        }];
    otciu_UnicodeHelper$Range.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcit_CachedDateTimeZone.$meta.methods = [
        {
            name : "forZone",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otcit_StorableDateTimeZone],
            returnType : otcit_CachedDateTimeZone,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [otcit_StorableDateTimeZone],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getUncachedZone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otcit_DateTimeZone,
            callable : null
        }, {
            name : "getOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isFixed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "previousTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getInfo",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : otcit_CachedDateTimeZone$Info,
            callable : null
        }, {
            name : "createInfo",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : otcit_CachedDateTimeZone$Info,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcit_DateTimeZoneBuilder$Recurrence.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otcit_DateTimeZoneBuilder$OfYear, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOfYear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otcit_DateTimeZoneBuilder$OfYear,
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "previous",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getSaveMillis",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otci_CharFlow],
            returnType : otcit_DateTimeZoneBuilder$Recurrence,
            callable : null
        }];
    otcit_CachedDateTimeZone$Info.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otcit_DateTimeZone, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    otcit_DateTimeZoneBuilder$OfYear.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_charcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuilder],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otci_CharFlow],
            returnType : otcit_DateTimeZoneBuilder$OfYear,
            callable : null
        }, {
            name : "setInstant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "previous",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setDayOfMonthNext",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_GregorianCalendar],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDayOfMonthPrevious",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_GregorianCalendar],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDayOfMonth",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_Calendar],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDayOfWeek",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_Calendar],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_NegativeArraySizeException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_ReadOnlyBufferException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_UnsupportedOperationException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_BufferOverflowException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_BufferUnderflowException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_StringIndexOutOfBoundsException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_EOFException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$BufferedVideo.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjdh_HTMLVideoElement, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_HashMap$HashEntry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    ju_MapEntry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    ju_Map$Entry.$meta.methods = [
        {
            name : "getKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "setValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }];
    cjj_Inflate.$meta.methods = [
        {
            name : "inflateReset",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateEnd",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [cjj_ZStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "inflateInit",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflate",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateSetDictionary",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateSync",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflateSyncPoint",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readBytes",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readBytes",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "checksum",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGZIPHeader",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : cjj_GZIPHeader,
            callable : null
        }, {
            name : "inParsingHeader",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_AbstractCharClass$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass, ju_BitSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass, ju_BitSet, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$18.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, ju_BitSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jl_IllegalStateException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_NoSuchElementException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_CharClass$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$3.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, $rt_booleancls(), jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, $rt_booleancls(), jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$5.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, $rt_booleancls(), jur_AbstractCharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$4.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, $rt_booleancls(), jur_AbstractCharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$7.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$6.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$9.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, jur_AbstractCharClass, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$8.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, jur_AbstractCharClass, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$11.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, $rt_booleancls(), jur_AbstractCharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$10.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, $rt_booleancls(), jur_AbstractCharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$13.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$12.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$15.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, jur_AbstractCharClass, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$14.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, jur_AbstractCharClass, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$17.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, $rt_booleancls(), jur_AbstractCharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_CharClass$16.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_CharClass, $rt_booleancls(), jur_AbstractCharClass, jur_AbstractCharClass],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ju_AbstractList$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_AbstractList],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkConcurrentModification",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_ConsoleOutputStreamStderr.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeImpl",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeJs",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeC",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeJs$js_body$_3",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_AABBPool.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAABB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "cleanPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getlistAABBsize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getnextPoolIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_RenderEngine.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TexturePackList, nms_GameSettings],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTextureContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetBoundTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "allocateAndSetupTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglerImage],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setupTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglerImage, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "makeViewportTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setupTextureExt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglerImage, $rt_intcls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setupTextureRaw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "colorToAnaglyph",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "createTextureFromBytes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateDynamicTextures",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "refreshTextures",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readTextureImage",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : nle_EaglerImage,
            callable : null
        }, {
            name : "refreshTextureMaps",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMissingIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }];
    nms_WorldClient.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetClientHandler, nms_WorldSettings, $rt_intcls(), $rt_intcls(), nms_Profiler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "invalidateBlockReceiveRegion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createChunkProvider",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_IChunkProvider,
            callable : null
        }, {
            name : "tickBlocksAndAmbiance",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doPreChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spawnEntityInWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "obtainEntitySkin",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "releaseEntitySkin",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addEntityToWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntityByID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "removeEntityFromWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "setBlockAndMetadataAndInvalidate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "sendQuittingDisconnectingPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82735_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityMinecart],
            returnType : nms_IUpdatePlayerListBox,
            callable : null
        }, {
            name : "updateWeather",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doVoidFogParticles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeAllEntities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), jl_String, $rt_floatcls(), $rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92088_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96443_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Scoreboard],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntityList",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldClient],
            returnType : ju_Set,
            callable : null
        }, {
            name : "getEntitySpawnQueue",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldClient],
            returnType : ju_Set,
            callable : null
        }];
    nms_World.$meta.methods = [
        {
            name : "getBiomeGenForCoords",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_WorldProvider, nms_WorldSettings, nms_Profiler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_WorldSettings, nms_WorldProvider, nms_Profiler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createChunkProvider",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_IChunkProvider,
            callable : null
        }, {
            name : "initialize",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_WorldSettings],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSpawnLocation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFirstUncoveredBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isAirBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "blockHasTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "blockGetRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "blockExists",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "doChunksNearChunkExist",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "checkChunksExist",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "chunkExists",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getChunkFromBlockCoords",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Chunk,
            callable : null
        }, {
            name : "getChunkFromChunkCoords",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Chunk,
            callable : null
        }, {
            name : "setBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlockMaterial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_Material,
            callable : null
        }, {
            name : "getBlockMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlockMetadataWithNotify",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockToAir",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "destroyBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "markBlockForUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "notifyBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markBlocksDirtyVertical",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markBlockRangeForRenderUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "notifyBlocksOfNeighborChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "notifyBlocksOfNeighborChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "notifyBlockOfNeighborChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBlockTickScheduled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBlockSeeTheSky",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFullBlockLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockLightValue_do",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHeightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChunkHeightMapMinimum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSkyBlockTypeBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumSkyBlock, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSavedLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumSkyBlock, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumSkyBlock, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markBlockForRenderUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLightBrightnessForSkyBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getLightBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "isDaytime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "rayTraceBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3, nms_Vec3],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "rayTraceBlocks_do",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3, nms_Vec3, $rt_booleancls()],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "rayTraceBlocks_do_do",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3, nms_Vec3, $rt_booleancls(), $rt_booleancls()],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "playSoundAtEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSoundToNearExcept",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSoundEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), jl_String, $rt_floatcls(), $rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playRecord",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spawnParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addWeatherEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "spawnEntityInWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "obtainEntitySkin",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "releaseEntitySkin",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removePlayerEntityDangerously",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addWorldAccess",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IWorldAccess],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeWorldAccess",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IWorldAccess],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollidingBoundingBoxes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_AxisAlignedBB],
            returnType : ju_List,
            callable : null
        }, {
            name : "getCollidingBlockBounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : ju_List,
            callable : null
        }, {
            name : "calculateSkylightSubtracted",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSunBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getSkyColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "getCelestialAngle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMoonPhase",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCelestialAngleRadians",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getCloudColour",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "getFogColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "getPrecipitationHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTopSolidOrLiquidBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStarBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "scheduleBlockUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82740_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "scheduleBlockUpdateFromLoad",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntityWithOptionalForce",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkNoEntityCollision",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "checkNoEntityCollision",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB, nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "checkBlockCollision",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAnyLiquid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBoundingBoxBurning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleMaterialAcceleration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB, nms_Material, nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isMaterialInBB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB, nms_Material],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAABBInMaterial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB, nms_Material],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_booleancls()],
            returnType : nms_Explosion,
            callable : null
        }, {
            name : "newExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_booleancls(), $rt_booleancls()],
            returnType : nms_Explosion,
            callable : null
        }, {
            name : "getBlockDensity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3, nms_AxisAlignedBB],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "extinguishFire",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDebugLoadedEntities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getProviderName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getBlockTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "setBlockTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), nms_TileEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeBlockTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markTileEntityForDespawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBlockOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlockNormalCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_85174_u",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "doesBlockHaveSolidTopSurface",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlockTopFacingSurfaceSolid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlockNormalCubeDefault",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "calculateInitialSkylight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAllowedSpawnTypes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "calculateInitialWeather",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateWeather",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toggleRain",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setActivePlayerChunksAndCheckLight",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moodSoundAndLightCheck",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_Chunk],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickBlocksAndAmbiance",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBlockFreezable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlockFreezableNaturally",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBlockFreeze",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canSnowAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateAllLightTypes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeLightValue",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EnumSkyBlock],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateLightByType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumSkyBlock, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickUpdates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPendingBlockUpdates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Chunk, $rt_booleancls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "getEntitiesWithinAABBExcludingEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_AxisAlignedBB],
            returnType : ju_List,
            callable : null
        }, {
            name : "getEntitiesWithinAABBExcludingEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_AxisAlignedBB, nms_IEntitySelector],
            returnType : ju_List,
            callable : null
        }, {
            name : "getEntitiesWithinAABB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, nms_AxisAlignedBB],
            returnType : ju_List,
            callable : null
        }, {
            name : "selectEntitiesWithinAABB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, nms_AxisAlignedBB, nms_IEntitySelector],
            returnType : ju_List,
            callable : null
        }, {
            name : "findNearestEntityWithinAABB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, nms_AxisAlignedBB, nms_Entity],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getEntityByID",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getLoadedEntityList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "updateTileEntityChunkAndDoNothing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), nms_TileEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "countEntities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "addLoadedEntities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unloadEntities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlaceEntityOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls(), nms_Entity, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPathEntityToEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_Entity, $rt_floatcls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : nms_PathEntity,
            callable : null
        }, {
            name : "getEntityPathToXYZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : nms_PathEntity,
            callable : null
        }, {
            name : "isBlockProvidingPowerTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockPowerInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIndirectPowerOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIndirectPowerLevelTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isBlockIndirectlyGettingPowered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStrongestIndirectPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getClosestPlayerToEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls()],
            returnType : nms_EntityPlayer,
            callable : null
        }, {
            name : "getClosestPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_EntityPlayer,
            callable : null
        }, {
            name : "getClosestVulnerablePlayerToEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls()],
            returnType : nms_EntityPlayer,
            callable : null
        }, {
            name : "getClosestVulnerablePlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_EntityPlayer,
            callable : null
        }, {
            name : "getPlayerEntityByName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EntityPlayer,
            callable : null
        }, {
            name : "sendQuittingDisconnectingPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkSessionLock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82738_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getTotalWorldTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getWorldTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setWorldTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSpawnPoint",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ChunkCoordinates,
            callable : null
        }, {
            name : "setSpawnLocation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "joinEntityInSurroundings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canMineBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setEntityState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChunkProvider",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_IChunkProvider,
            callable : null
        }, {
            name : "addBlockEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWorldInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_WorldInfo,
            callable : null
        }, {
            name : "getGameRules",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_GameRules,
            callable : null
        }, {
            name : "updateAllPlayersSleepingFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWeightedThunderStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getRainStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setRainStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isThundering",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isRaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canLightningStrikeAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlockHighHumidity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setItemData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_WorldSavedData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadItemData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, jl_String],
            returnType : nms_WorldSavedData,
            callable : null
        }, {
            name : "getUniqueDataId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82739_e",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playAuxSFX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playAuxSFXAtEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getActualHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82735_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityMinecart],
            returnType : nms_IUpdatePlayerListBox,
            callable : null
        }, {
            name : "setRandomSeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nle_EaglercraftRandom,
            callable : null
        }, {
            name : "findClosestStructure",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_ChunkPosition,
            callable : null
        }, {
            name : "extendedLevelsInChunkCache",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getHorizon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "destroyBlockInWorldPartially",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWorldVec3Pool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Vec3Pool,
            callable : null
        }, {
            name : "getCurrentDate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Calendar,
            callable : null
        }, {
            name : "func_92088_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getScoreboard",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Scoreboard,
            callable : null
        }, {
            name : "func_96440_m",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_IBlockAccess.$meta.methods = [
        {
            name : "getBlockId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockTileEntity",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "getLightBrightnessForSkyBlocks",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getLightBrightness",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getBlockMetadata",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockMaterial",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_Material,
            callable : null
        }, {
            name : "isBlockOpaqueCube",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlockNormalCube",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAirBlock",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBiomeGenForCoords",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "getHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "extendedLevelsInChunkCache",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "doesBlockHaveSolidTopSurface",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getWorldVec3Pool",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Vec3Pool,
            callable : null
        }, {
            name : "isBlockProvidingPowerTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Vec3Pool.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVecFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearAndFreeCache",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPoolSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82590_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82589_e",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EntityClientPlayerMP.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, nms_World, jl_String, nms_NetClientHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "heal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendMotionUpdates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropOneItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : nms_EntityItem,
            callable : null
        }, {
            name : "joinEntityItemWithWorld",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityItem],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendChatMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "swingItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "respawnPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "damageEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92015_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addStat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_StatBase, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "incrementStat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_StatBase, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendPlayerAbilities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_71066_bF",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EntityPlayerSP.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, nms_World, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moveEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntityActionState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isClientWorld",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canSprint",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFOVMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "updateCloak",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIEditSign",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIBook",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIHopper",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityHopper],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIHopperMinecart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityMinecartHopper],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIWorkbench",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIEnchantment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIAnvil",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIFurnace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityFurnace],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIBrewingStand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityBrewingStand],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIBeacon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityBeacon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIDispenser",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityDispenser],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIMerchant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IMerchant, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCriticalHit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEnchantmentCritical",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemPickup",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSneaking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addChatMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addStat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_StatBase, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBlockTranslucent",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "pushOutOfBlocks",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSprinting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setXPStats",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendChatToPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canCommandSenderUseCommand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPlayerCoordinates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ChunkCoordinates,
            callable : null
        }, {
            name : "getHeldItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "playSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityPlayer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getItemInUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getItemInUseCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isUsingItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemInUseDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "stopUsingItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearItemInUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBlocking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxInPortalTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPortalCooldown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "playSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateItemUse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUseFinish",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isMovementBlocked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "closeScreen",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mountEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRidden",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preparePlayerToSpawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntityActionState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "collideWithPlayer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getScore",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setScore",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addScore",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onDeath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addToPlayerScore",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropOneItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : nms_EntityItem,
            callable : null
        }, {
            name : "dropPlayerItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EntityItem,
            callable : null
        }, {
            name : "dropPlayerItemWithRandomChoice",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_booleancls()],
            returnType : nms_EntityItem,
            callable : null
        }, {
            name : "joinEntityItemWithWorld",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityItem],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCurrentPlayerStrVsBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_booleancls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "canHarvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIHopper",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityHopper],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIHopperMinecart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityMinecartHopper],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIEnchantment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIAnvil",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIWorkbench",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEyeHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "resetHeight",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_96122_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "alertWolves",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "damageArmor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTotalArmorValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82243_bO",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "damageEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIFurnace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityFurnace],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIDispenser",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityDispenser],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIEditSign",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIBrewingStand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityBrewingStand],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIBeacon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityBeacon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIMerchant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IMerchant, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayGUIBook",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interactWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCurrentEquippedItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "destroyCurrentEquippedItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getYOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "attackTargetEntityWithCurrentItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCriticalHit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEnchantmentCritical",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "respawnPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEntityInsideOpaqueBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_71066_bF",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "sleepInBedAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_EnumStatus,
            callable : null
        }, {
            name : "func_71013_b",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "wakeUpPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInBed",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "verifyRespawnCoordinates",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_ChunkCoordinates, $rt_booleancls()],
            returnType : nms_ChunkCoordinates,
            callable : null
        }, {
            name : "getBedOrientationInDegrees",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "isPlayerSleeping",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isPlayerFullyAsleep",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSleepTimer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHideCape",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setHideCape",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addChatMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBedLocation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ChunkCoordinates,
            callable : null
        }, {
            name : "isSpawnForced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSpawnChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ChunkCoordinates, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "triggerAchievement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_StatBase],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addStat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_StatBase, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "jump",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moveEntityWithHeading",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addMovementStat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addMountedMovementStat",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onKillEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setInWeb",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getItemIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getCurrentArmor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "addRandomArmor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82162_bC",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addExperience",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addExperienceLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "xpBarCap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "addExhaustion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFoodStats",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_FoodStats,
            callable : null
        }, {
            name : "canEat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldHeal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setItemInUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canCurrentToolHarvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlayerEdit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getExperiencePoints",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isPlayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEntityName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_94062_bN",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94059_bO",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPickUpLoot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clonePlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "sendPlayerAbilities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setGameType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumGameType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCommandSenderName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTranslator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_StringTranslate,
            callable : null
        }, {
            name : "translateString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : jl_String,
            callable : null
        }, {
            name : "getInventoryEnderChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_InventoryEnderChest,
            callable : null
        }, {
            name : "getCurrentItemOrArmor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getHeldItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setCurrentItemOrArmor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98034_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getLastActiveItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_ItemStack),
            callable : null
        }, {
            name : "getHideCape",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_96092_aw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getWorldScoreboard",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Scoreboard,
            callable : null
        }, {
            name : "getTeam",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ScorePlayerTeam,
            callable : null
        }, {
            name : "getTranslatedEntityName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_EntityLiving.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96121_ay",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLookHelper",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityLookHelper,
            callable : null
        }, {
            name : "getMoveHelper",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityMoveHelper,
            callable : null
        }, {
            name : "getJumpHelper",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityJumpHelper,
            callable : null
        }, {
            name : "getEntitySenses",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntitySenses,
            callable : null
        }, {
            name : "getRNG",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nle_EaglercraftRandom,
            callable : null
        }, {
            name : "getAITarget",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityLiving,
            callable : null
        }, {
            name : "getLastAttackingEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityLiving,
            callable : null
        }, {
            name : "setLastAttackingEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAge",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRotationYawHead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setRotationYawHead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAIMoveSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setAIMoveSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityAsMob",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAttackTarget",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityLiving,
            callable : null
        }, {
            name : "setAttackTarget",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canAttackClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "eatGrassBonus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateFallState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isWithinHomeDistanceCurrentPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isWithinHomeDistance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setHomeArea",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHomePosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ChunkCoordinates,
            callable : null
        }, {
            name : "getMaximumHomeDistance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "detachHome",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasHome",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setRevengeTarget",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canEntityBeSeen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBePushed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEyeHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getTalkInterval",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "playLivingSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEntityUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onDeathUpdate",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "decreaseAirSupply",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getExperiencePoints",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isPlayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "spawnExplosionParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRidden",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPositionAndRotation2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "heal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setEntityHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSoundPitch",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "performHurtAnimation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTotalArmorValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "damageArmor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "applyArmorCalculations",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "applyPotionDamageCalculations",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "damageEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSoundVolume",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "knockBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onDeath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropRareDrop",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moveEntityWithHeading",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOnLadder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEntityAlive",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBreatheUnderwater",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setMoveForward",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setJumping",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_85033_bc",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "collideWithEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isClientWorld",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isMovementBlocked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlocking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "jump",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canDespawn",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "despawnEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAITasks",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAITick",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntityActionState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateArmSwingProgress",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVerticalFaceSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "faceEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRotation",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "kill",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSwingProgress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "getLookVec",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "getLook",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "getRenderSizeModifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "rayTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_floatcls()],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "getMaxSpawnedInChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPlayerSleeping",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "updatePotionEffects",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearActivePotions",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getActivePotionEffects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "isPotionActive",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isPotionActive",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Potion],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getActivePotionEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Potion],
            returnType : nms_PotionEffect,
            callable : null
        }, {
            name : "addPotionEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PotionEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPotionApplicable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PotionEffect],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEntityUndead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removePotionEffectClient",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removePotionEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNewPotionEffect",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_PotionEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onChangedPotionEffect",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_PotionEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onFinishedPotionEffect",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_PotionEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSpeedModifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setPositionAndUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCreatureAttribute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumCreatureAttribute,
            callable : null
        }, {
            name : "renderBrokenItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82143_as",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHeldItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getCurrentItemOrArmor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getCurrentArmor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setCurrentItemOrArmor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLastActiveItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_ItemStack),
            callable : null
        }, {
            name : "dropEquipment",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRandomArmor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemPickup",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getArmorPosition",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getArmorItemForSlot",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Item,
            callable : null
        }, {
            name : "func_82162_bC",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getArmSwingAnimationEnd",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "swingItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBeSteered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArrowCountInEntity",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setArrowCountInEntity",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94060_bK",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityLiving,
            callable : null
        }, {
            name : "getEntityName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_94058_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94057_bL",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_94056_bM",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94061_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94062_bN",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94059_bO",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_96120_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPickUpLoot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setCanPickUpLoot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_104002_bU",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Entity.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDataWatcher",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_DataWatcher,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "preparePlayerToSpawn",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSize",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotation",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEntityUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxInPortalTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setOnFireFromLava",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFire",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "extinguish",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "kill",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOffsetPositionInLiquid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "moveEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doBlockCollisions",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateFallState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBoundingBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "dealFireDamage",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isImmuneToFire",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isWet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInWater",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleWaterMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInsideOfMaterial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Material],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEyeHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "handleLavaMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "moveFlying",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "setPositionAndRotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLocationAndAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDistanceToEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getDistanceSq",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getDistance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getDistanceSqToEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "onCollideWithPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "applyEntityCollision",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBeenAttacked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBePushed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addToPlayerScore",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInRangeToRenderVec3D",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInRangeToRenderDist",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addNotRiddenEntityID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addEntityID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntityString",
            modifiers : 4,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "newDoubleNBTList",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : nms_NBTTagList,
            callable : null
        }, {
            name : "newFloatNBTList",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : nms_NBTTagList,
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "dropItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_EntityItem,
            callable : null
        }, {
            name : "dropItemWithOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : nms_EntityItem,
            callable : null
        }, {
            name : "entityDropItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_floatcls()],
            returnType : nms_EntityItem,
            callable : null
        }, {
            name : "isEntityAlive",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEntityInsideOpaqueBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCollisionBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "updateRidden",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRiderPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getYOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getMountedYOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "mountEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unmountEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPositionAndRotation2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBorderSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getLookVec",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "setInPortal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPortalCooldown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "performHurtAnimation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateCloak",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLastActiveItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_ItemStack),
            callable : null
        }, {
            name : "setCurrentItemOrArmor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBurning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isRiding",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSneaking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSneaking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSprinting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSprinting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInvisible",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_98034_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setInvisible",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEating",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setEating",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFlag",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setFlag",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAir",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setAir",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onStruckByLightning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLightningBolt],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onKillEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pushOutOfBlocks",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setInWeb",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntityName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getParts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_Entity),
            callable : null
        }, {
            name : "isEntityEqual",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRotationYawHead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setRotationYawHead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canAttackWithItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_85031_j",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isEntityInvulnerable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82149_j",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyDataFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "travelToDimension",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82146_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Explosion, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_96091_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Explosion, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82143_as",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTeleportDirection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "doesEntityNotTriggerPressurePlate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canRenderOnFire",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_96092_aw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTranslatedEntityName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ICommandSender.$meta.methods = [
        {
            name : "getCommandSenderName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "sendChatToPlayer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canCommandSenderUseCommand",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "translateString",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPlayerCoordinates",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ChunkCoordinates,
            callable : null
        }];
    nms_EntityRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRenderer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMouseOver",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateFovModifierHand",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFOVModifier",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_booleancls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "hurtCameraEffect",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setupViewBobbing",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "orientCamera",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setupCameraTransform",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderHand",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disableLightmap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enableLightmap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTorchFlicker",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateLightmap",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNightVisionBrightness",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityPlayer, $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "updateCameraAndRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderCloudsCheck",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_RenderGlobal, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRainParticles",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderRainSnow",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setupOverlayRendering",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateFogColor",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setupFog",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFogColorBuffer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "performanceToFps",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRendererMinecraft",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_EntityRenderer],
            returnType : nmc_Minecraft,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiAchievement.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "queueTakenAchievement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Achievement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "queueAchievementInformation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Achievement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAchievementWindowScale",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAchievementWindow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_SimpleDatePatternParser.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DateFormatSymbols, ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getElements",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "parsePattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isControl",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "parseQuoted",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parseRepetitions",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_String, $rt_intcls(), jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "whichMatches",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_String, jt_ParsePosition, $rt_arraycls(jl_String)],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "tryParseFixedTimeZone",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "parseHoursMinutes",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStaticTimeZone",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : ju_TimeZone,
            callable : null
        }];
    jnc_CharsetEncoder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jnc_Charset, $rt_floatcls(), $rt_floatcls(), $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jnc_Charset, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "charset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_Charset,
            callable : null
        }, {
            name : "replacement",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "replaceWith",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : jnc_CharsetEncoder,
            callable : null
        }, {
            name : "checkReplacement",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "implReplaceWith",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "malformedInputAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_CodingErrorAction,
            callable : null
        }, {
            name : "onMalformedInput",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jnc_CodingErrorAction],
            returnType : jnc_CharsetEncoder,
            callable : null
        }, {
            name : "implOnMalformedInput",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jnc_CodingErrorAction],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unmappableCharacterAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_CodingErrorAction,
            callable : null
        }, {
            name : "onUnmappableCharacter",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jnc_CodingErrorAction],
            returnType : jnc_CharsetEncoder,
            callable : null
        }, {
            name : "implOnUnmappableCharacter",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jnc_CodingErrorAction],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "averageBytesPerChar",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "maxBytesPerChar",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "encode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jn_CharBuffer, jn_ByteBuffer, $rt_booleancls()],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "encode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jn_CharBuffer],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "encodeLoop",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [jn_CharBuffer, jn_ByteBuffer],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "canEncode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "implCanEncode",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jn_CharBuffer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canEncode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "allocateMore",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jn_ByteBuffer],
            returnType : jn_ByteBuffer,
            callable : null
        }, {
            name : "flush",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jn_ByteBuffer],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "implFlush",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_ByteBuffer],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "reset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_CharsetEncoder,
            callable : null
        }, {
            name : "implReset",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnc_CoderResult.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_bytecls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isUnderflow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOverflow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isError",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isMalformed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUnmappable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "length",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "malformedForLength",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "unmappableForLength",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "throwException",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_AxisAlignedBB.$meta.methods = [
        {
            name : "getBoundingBox",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getAABBPool",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_AABBPool,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "addCoord",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "expand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getOffsetBoundingBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "calculateXOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB, $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "calculateYOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB, $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "calculateZOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB, $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "intersectsWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "offset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isVecInside",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAverageEdgeLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "contract",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "calculateIntercept",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3, nms_Vec3],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "isVecInYZ",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isVecInXZ",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isVecInXY",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_ThreadLocal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initialValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GameSettings.$meta.methods = [
        {
            name : "getNewProxy",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getKeyBindingDescription",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getOptionDisplayString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getKeyDisplayString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "isKeyDown",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_KeyBinding],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setKeyBinding",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOptionFloatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumOptions, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOptionValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumOptions, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOptionFloatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumOptions],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getOptionOrdinalValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumOptions],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTranslation",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(jl_String), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getKeyBinding",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumOptions],
            returnType : jl_String,
            callable : null
        }, {
            name : "loadOptions",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveOptions",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendSettingsToServer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldRenderClouds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderBlocks.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOverrideBlockTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearOverrideBlockTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasOverrideBlockTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setRenderBounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRenderBoundsFromBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "overrideBlockBounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unlockBlockBounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockUsingTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockAllFaces",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockByRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockEndPortalFrame",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockEndPortalFrame, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockBed",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockBrewingStand",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockBrewingStand, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockCauldron",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockCauldron, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockFlowerpot",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockFlowerPot, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockAnvil",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockAnvil, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockAnvilMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_BlockAnvil, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockAnvilOrient",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockAnvil, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockAnvilRotate",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockAnvil, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_booleancls(), $rt_booleancls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "renderBlockTorch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockRepeater",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockRedstoneRepeater, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockComparator",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockComparator, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockRedstoneLogic",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockRedstoneLogic, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockRedstoneLogicMetadata",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockRedstoneLogic, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPistonBaseAllFaces",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPistonBase",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderPistonRodUD",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPistonRodSN",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPistonRodEW",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPistonExtensionAllFaces",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPistonExtension",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockLever",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockTripWireSource",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockTripWire",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockFire",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_BlockFire, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockRedstoneWire",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockMinecartTrack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_BlockRailBase, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockLadder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockVine",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockPane",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_BlockPane, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderCrossedSquares",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockStem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockCrops",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderTorchAtAngle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawCrossedSquares",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockStemSmall",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockLilyPad",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockStemBig",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_BlockStem, $rt_intcls(), $rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockCropsImpl",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockFluids",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFluidHeight",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Material],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "renderBlockSandFalling",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderStandardBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockLog",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockQuartz",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderStandardBlockWithAmbientOcclusion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_102027_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAoBrightness",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mixAoBrightness",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderStandardBlockWithColorMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockCocoa",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockCocoa, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockBeacon",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockBeacon, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockCactus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockCactusImpl",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockFence",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_BlockFence, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockWall",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_BlockWall, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockDragonEgg",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_BlockDragonEgg, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockFenceGate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_BlockFenceGate, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockHopper",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockHopper, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockHopperMetadata",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_BlockHopper, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockStairs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_BlockStairs, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderBlockDoor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderFaceYNeg",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderFaceYPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderFaceZNeg",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderFaceZPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderFaceXNeg",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderFaceXPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockAsItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderItemIn3d",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlockIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getBlockIconFromSideAndMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getBlockIconFromSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getBlockIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getIconSafe",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Icon],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ProfilerResult.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_76328_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ProfilerResult],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_76329_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    nlea_Tessellator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "startDrawingQuads",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "startDrawing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTextureUV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setColorOpaque_F",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setColorRGBA_F",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setColorOpaque",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setColorRGBA",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addVertexWithUV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addVertex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setColorOpaque_I",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setColorRGBA_I",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disableColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setNormal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTranslation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addTranslation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_DecimalFormat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_DecimalFormatSymbols],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "applyPattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toPattern",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDecimalFormatSymbols",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_DecimalFormatSymbols,
            callable : null
        }, {
            name : "fieldsToText",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(jt_DecimalFormat$FormatField), jl_StringBuffer],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "fieldsToText",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(jt_DecimalFormat$FormatField)],
            returnType : jl_String,
            callable : null
        }, {
            name : "textToFields",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls(jt_DecimalFormat$FormatField),
            callable : null
        }, {
            name : "getPositivePrefix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setPositivePrefix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNegativePrefix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setNegativePrefix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPositiveSuffix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setPositiveSuffix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNegativeSuffix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setNegativeSuffix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGroupingSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setGroupingSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isDecimalSeparatorAlwaysShown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setDecimalSeparatorAlwaysShown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isParseBigDecimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setParseBigDecimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : jl_Number,
            callable : null
        }, {
            name : "parseBigDecimal",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "parseNumber",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : jl_Number,
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jm_BigInteger, jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jm_BigDecimal, jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "formatExponent",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatRegular",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatExponent",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls(), jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatRegular",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls(), jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatExponent",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jm_BigDecimal, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "appendSuffix",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls(), jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatRegular",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jm_BigDecimal, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "applyRounding",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "applyRounding",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jm_BigInteger, $rt_intcls(), $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "fastLn10",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "fastLn10",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "pow10",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "getMantissaAndExponent",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls()],
            returnType : jt_DecimalFormat$MantissaAndExponent,
            callable : null
        }, {
            name : "forDigit",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_NumberFormat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getCurrency",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Currency,
            callable : null
        }, {
            name : "setCurrency",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Currency],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "format",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "format",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "format",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "format",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "getAvailableLocales",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(ju_Locale),
            callable : null
        }, {
            name : "getIntegerInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "getIntegerInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "getMaximumFractionDigits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaximumIntegerDigits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinimumFractionDigits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinimumIntegerDigits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNumberInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "getNumberInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "getPercentInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "getPercentInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "getCurrencyInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "getCurrencyInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isGroupingUsed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isParseIntegerOnly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Number,
            callable : null
        }, {
            name : "parse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : jl_Number,
            callable : null
        }, {
            name : "parseObject",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : jl_Object,
            callable : null
        }, {
            name : "setGroupingUsed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMaximumFractionDigits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMaximumIntegerDigits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMinimumFractionDigits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMinimumIntegerDigits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setParseIntegerOnly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRoundingMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_RoundingMode,
            callable : null
        }, {
            name : "setRoundingMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_RoundingMode],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_FontRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GameSettings, jl_String, nms_RenderEngine, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFontData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFontTexture",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readGlyphSizes",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderCharAtPos",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_charcls(), $rt_booleancls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "renderDefaultChar",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "loadGlyphTexture",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderUnicodeChar",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_booleancls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "drawStringWithShadow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "drawString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "drawString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "resetStyles",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderStringAtPos",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderStringAligned",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStringWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCharWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "trimStringToWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "trimStringToWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_booleancls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "trimStringNewline",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "drawSplitString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderSplitString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "splitStringWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setUnicodeFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getUnicodeFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBidiFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listFormattedStringToWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "wrapFormattedStringToWidth",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "sizeStringToWidth",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isFormatColor",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFormatSpecial",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFormatFromString",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getBidiFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ScaledResolution.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GameSettings, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getScaledWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getScaledHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getScaledWidth_double",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getScaledHeight_double",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getScaleFactor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_Date.$meta.methods = [
        {
            name : "initLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initDateLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "UTC",
            modifiers : 640,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "initUtcDateLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 640,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "parseLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getYear",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getYearLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setYear",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setYearLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getMonth",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMonthLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setMonth",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMonthLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getDate",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDateLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setDate",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDateLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDay",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDayLowLevel",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHours",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHoursLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setHours",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setHoursLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinutes",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinutesLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setMinutes",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMinutesLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSeconds",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSecondsLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setSeconds",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSecondsLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "before",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Date],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "after",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Date],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Date],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toStringLowLevel",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toLocaleString",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toGMTString",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTimezoneOffset",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_CharBufferOverArray.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "getChar",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "putChar",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_charcls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readOnly",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "order",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }];
    jn_CharBufferImpl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "slice",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "compact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isReadOnly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readOnly",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "subSequence",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "subSequence",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_CharSequence,
            callable : null
        }];
    jnc_CodingErrorAction.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_AABBLocalPool.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewDefaultPool",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_AABBPool,
            callable : null
        }, {
            name : "initialValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    jt_DecimalFormatSymbols.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initData",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAvailableLocales",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(ju_Locale),
            callable : null
        }, {
            name : "getInstance",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_DecimalFormatSymbols,
            callable : null
        }, {
            name : "getInstance",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jt_DecimalFormatSymbols,
            callable : null
        }, {
            name : "getZeroDigit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setZeroDigit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGroupingSeparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setGroupingSeparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPerMill",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setPerMill",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPercent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setPercent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLocale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Locale,
            callable : null
        }, {
            name : "getDecimalSeparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setDecimalSeparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDigit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setDigit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPatternSeparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setPatternSeparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNaN",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setNaN",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInfinity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setInfinity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinusSign",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setMinusSign",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMonetaryDecimalSeparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setMonetaryDecimalSeparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getExponentSeparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setExponentSeparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLocale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    nms_MathHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sin",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "cos",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "sqrt_float",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "sqrt_double",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "floor_float",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "truncateDoubleToInt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "floor_double",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "floor_double_long",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "abs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "abs_int",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "ceiling_float_int",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "ceiling_double_int",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clamp_int",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clamp_float",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "abs_max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "bucketInt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "stringNullOrLengthZero",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRandomIntegerInRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom, $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRandomDoubleInRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom, $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "average",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "wrapAngleTo180_float",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "wrapAngleTo180_double",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "parseIntWithDefault",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "parseIntWithDefaultAndMax",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "parseDoubleWithDefault",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "func_82713_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiMainMenu.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doesGuiPauseGame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleMouseInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hideAck",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawPanorama",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateAndBlurSkybox",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderSkybox",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_DecimalFormat$FormatField.$meta.methods = [
        {
            name : "render",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jt_DecimalFormat, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_DecimalFormat$TextField.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DecimalFormat, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jm_RoundingMode.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jm_RoundingMode),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jm_RoundingMode,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_RoundingMode,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Currency.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [otcic_CurrencyResource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initCurrencies",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ju_Currency,
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : ju_Currency,
            callable : null
        }, {
            name : "getAvailableCurrencies",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "getCurrencyCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSymbol",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSymbol",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDefaultFractionDigits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNumericCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_EnumOS.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumOS),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumOS,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcic_CurrencyHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCurrencies",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otpm_ResourceArray,
            callable : null
        }, {
            name : "getCountryToCurrencyMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }, {
            name : "getCurrencies$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceArray,
            callable : null
        }, {
            name : "getCountryToCurrencyMap$$create",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otpm_ResourceMap,
            callable : null
        }];
    jn_IntBufferOverByteBufferLittleEndian.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jn_ByteBufferImpl, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "order",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }];
    jn_IntBufferOverByteBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jn_ByteBufferImpl, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readOnly",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jn_IntBufferOverByteBufferBigEndian.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jn_ByteBufferImpl, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : jn_IntBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "order",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }];
    jur_BackReferencedSingleSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_AbstractSet, jur_FSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_SingleSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findBack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_CharSequence, jur_MatchResultImpl],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "processBackRefReplacement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_JointSet,
            callable : null
        }];
    ju_HashMap$2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_HashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    nle_BaseNCodec$Context.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_TexturePackList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTexturePack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ITexturePack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIsDownloading",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onDownloadFinished",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAvaliableTexturePacks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "availableTexturePacks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "getSelectedTexturePack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ITexturePack,
            callable : null
        }, {
            name : "func_77300_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAcceptsTextures",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isDownloading",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_TexturePackList],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSelectedTexturePack",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_TexturePackList, nms_ITexturePack],
            returnType : nms_ITexturePack,
            callable : null
        }, {
            name : "func_98143_h",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : nms_ITexturePack,
            callable : null
        }, {
            name : "getMinecraft",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_TexturePackList],
            returnType : nmc_Minecraft,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderManager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntityClassRenderObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : nms_Render,
            callable : null
        }, {
            name : "getEntityRenderObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : nms_Render,
            callable : null
        }, {
            name : "cacheActiveRenderInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_RenderEngine, nms_FontRenderer, nms_EntityLiving, nms_EntityLiving, nms_GameSettings, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEntityWithPosYaw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_85094_b",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDistanceToCamera",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getFontRenderer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_FontRenderer,
            callable : null
        }, {
            name : "updateIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderItemIn2D",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderItemInFirstPerson",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderOverlays",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderInsideOfBlock",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderWarpedTextureOverlay",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderFireInFirstPerson",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEquippedItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetEquippedProgress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetEquippedProgress2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_StatStringFormatKeyInv.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }];
    nms_IStatStringFormat.$meta.methods = [
        {
            name : "formatString",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }];
    nms_Achievement.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String, $rt_intcls(), $rt_intcls(), nms_Item, nms_Achievement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String, $rt_intcls(), $rt_intcls(), nms_Block, nms_Achievement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String, $rt_intcls(), $rt_intcls(), nms_ItemStack, nms_Achievement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setIndependent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Achievement,
            callable : null
        }, {
            name : "setSpecial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Achievement,
            callable : null
        }, {
            name : "registerAchievement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Achievement,
            callable : null
        }, {
            name : "isAchievement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDescription",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setStatStringFormatter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IStatStringFormat],
            returnType : nms_Achievement,
            callable : null
        }, {
            name : "getSpecial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerStat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_StatBase,
            callable : null
        }, {
            name : "initIndependentStat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_StatBase,
            callable : null
        }];
    nms_StatBase.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String, nms_IStatType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initIndependentStat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_StatBase,
            callable : null
        }, {
            name : "registerStat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_StatBase,
            callable : null
        }, {
            name : "isAchievement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_75968_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getNumberFormat",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : jt_NumberFormat,
            callable : null
        }, {
            name : "getDecimalFormat",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : jt_DecimalFormat,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_MouseHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GameSettings],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "grabMouseCursor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ungrabMouseCursor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseXYChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderGlobal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, nms_RenderEngine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderStars",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setWorldAndLoadRenderers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_WorldClient],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadRenderers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEntities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3, nms_ICamera, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDebugInfoRenders",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDebugInfoShort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDebugInfoEntities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "markRenderersForNewPosition",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sortAndRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderSortedRenderers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAllRenderLists",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateClouds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderSky",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderClouds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasCloudFog",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderCloudsFancy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRenderers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "drawBlockBreaking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_MovingObjectPosition, $rt_intcls(), nms_ItemStack, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawBlockDamageTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, nms_EntityPlayer, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawSelectionBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_MovingObjectPosition, $rt_intcls(), nms_ItemStack, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawOutlinedBoundingBox",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markBlocksForUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markBlockForUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markBlockForRenderUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markBlockRangeForRenderUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clipRenderersByFrustum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ICamera, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playRecord",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSoundToNearExcept",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spawnParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doSpawnParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_EntityFX,
            callable : null
        }, {
            name : "onEntityCreate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEntityDestroy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteAllDisplayLists",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "broadcastSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playAuxSFX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "destroyBlockPartially",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerDestroyBlockIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_IWorldAccess.$meta.methods = [
        {
            name : "markBlockForUpdate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markBlockForRenderUpdate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markBlockRangeForRenderUpdate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSound",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSoundToNearExcept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spawnParticle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEntityCreate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEntityDestroy",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playRecord",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "broadcastSound",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playAuxSFX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "destroyBlockPartially",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EffectRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_RenderEngine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityFX],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEffects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTransparentParticles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderLitParticles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearEffects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addBlockDestroyEffects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addBlockHitEffects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStatistics",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiIngame.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderGameOverlay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_booleancls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doubleToShorterString",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_96136_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_ScoreObjective, $rt_intcls(), $rt_intcls(), nms_FontRenderer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBossHealth",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPumpkinBlur",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderVignette",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPortalOverlay",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderInventorySlot",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRecordPlayingMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChatGUI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_GuiNewChat,
            callable : null
        }, {
            name : "getUpdateCounter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_StringTranslate.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_StringTranslate,
            callable : null
        }, {
            name : "loadLanguageList",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLanguageList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_TreeMap,
            callable : null
        }, {
            name : "loadLanguage",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_Properties, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLanguage",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCurrentLanguage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isUnicode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "translateKey",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "translateKeyFormat",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : jl_String,
            callable : null
        }, {
            name : "containsTranslateKey",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "translateNamedKey",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "isBidirectional",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiConnecting.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, nmc_Minecraft, nms_ServerData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "showDisconnectScreen",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setNetClientHandler",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_GuiConnecting, nms_NetClientHandler],
            returnType : nms_NetClientHandler,
            callable : null
        }, {
            name : "func_74256_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_GuiConnecting],
            returnType : nmc_Minecraft,
            callable : null
        }, {
            name : "isCancelled",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_GuiConnecting],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_74254_c",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_GuiConnecting],
            returnType : nmc_Minecraft,
            callable : null
        }, {
            name : "getNetClientHandler",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_GuiConnecting],
            returnType : nms_NetClientHandler,
            callable : null
        }, {
            name : "func_98097_e",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_GuiConnecting],
            returnType : nms_GuiScreen,
            callable : null
        }, {
            name : "func_74250_f",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_GuiConnecting],
            returnType : nmc_Minecraft,
            callable : null
        }, {
            name : "func_74251_g",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_GuiConnecting],
            returnType : nmc_Minecraft,
            callable : null
        }, {
            name : "func_98096_h",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_GuiConnecting],
            returnType : nmc_Minecraft,
            callable : null
        }];
    nms_LoadingScreenRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetProgressAndMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayProgressMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_73722_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetProgresAndWorkingMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLoadingProgress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNoMoreProgress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_IProgressUpdate.$meta.methods = [
        {
            name : "displayProgressMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetProgressAndMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetProgresAndWorkingMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLoadingProgress",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNoMoreProgress",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_GuiScreenLicense.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_InfBlocks.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [cjj_ZStream, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "proc",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "free",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set_dictionary",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sync_point",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflate_flush",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_PlayerControllerMP.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, nms_NetClientHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clickBlockCreative",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, nms_PlayerControllerMP, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPlayerCapabilities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enableEverythingIsScrewedUpMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setGameType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumGameType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flipPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldDrawHUD",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onPlayerDestroyBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clickBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetBlockRemoving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onPlayerDamageBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockReachDistance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "updateController",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sameToolAndBlock",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "syncCurrentPlayItem",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onPlayerRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_World, nms_ItemStack, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "sendUseItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_World, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_78754_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_EntityClientPlayerMP,
            callable : null
        }, {
            name : "attackEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78768_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "windowClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "sendEnchantPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendSlotPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78752_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onStoppedUsingItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78763_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isNotCreative",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInCreativeMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "extendedReach",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_GuiParticle.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "update",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_InventoryPlayer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCurrentItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getHotbarSize",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getInventorySlotContainItem",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getInventorySlotContainItemAndDamage",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "storeItemStack",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFirstEmptyStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setCurrentItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "changeCurrentItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_70439_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Item, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "storePartialItemStack",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "decrementAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "consumeInventoryItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addItemStackToInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStrVsBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagList],
            returnType : nms_NBTTagList,
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagList],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDamageVsEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canHarvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "armorItemInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getTotalArmorValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "damageArmor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropAllItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "copyInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_IInventory.$meta.methods = [
        {
            name : "getSizeInventory",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_KeyBinding.$meta.methods = [
        {
            name : "onTick",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setKeyBindState",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unPressAllKeys",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetKeyBindingArrayAndHash",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPressed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "unpressKey",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiInventory.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawPlayerOnGui",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_InventoryEffectRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Container],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "displayDebuffEffects",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiContainer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Container],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawItemStack",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_ItemStack, $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawItemStackTooltip",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawCreativeTabHoveringText",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_102021_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [ju_List, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawSlotInventory",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Slot],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94066_g",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSlotAtPosition",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Slot,
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_85041_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseMovedOrUp",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isMouseOverSlot",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Slot, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isPointInRegion",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleMouseClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Slot, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkHotbarKeys",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doesGuiPauseGame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiChat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMouseInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "confirmClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "completePlayerName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_73893_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSentHistory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_73894_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doesGuiPauseGame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_INetworkManager.$meta.methods = [
        {
            name : "setNetHandler",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addToSendQueue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "wakeThreads",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processReadPackets",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "serverShutdown",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "packetSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "networkShutdown",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeConnections",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getServerURI",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_GuiSleepMP.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "wakeEntity",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_SoundManager$EntitySoundEvent.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nms_SoundManager$EntitySoundEvent],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nms_SoundManager$EntitySoundEvent],
            returnType : nms_Entity,
            callable : null
        }];
    nms_SoundManager$QueuedSoundEvent.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$206",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nms_SoundManager$QueuedSoundEvent],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$300",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nms_SoundManager$QueuedSoundEvent],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$400",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nms_SoundManager$QueuedSoundEvent],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "access$500",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nms_SoundManager$QueuedSoundEvent],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "access$600",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nms_SoundManager$QueuedSoundEvent],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "access$700",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nms_SoundManager$QueuedSoundEvent],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "access$800",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nms_SoundManager$QueuedSoundEvent],
            returnType : $rt_floatcls(),
            callable : null
        }];
    jt_DateFormatElement$Numeric.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processBeforeFormat",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "processAfterParse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$WeekdayText.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DateFormatSymbols, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$EraText.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DateFormatSymbols],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$Rfc822Timezone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_DateFormatElement$BaseTimezone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "match",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DateFormatElement$TrieNode, jl_String, jt_ParsePosition],
            returnType : ju_TimeZone,
            callable : null
        }, {
            name : "prepareTrie",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "prepareIdTrie",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$AmPmText.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DateFormatSymbols],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$NumericHour.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processBeforeFormat",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "processAfterParse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$NumericWeekday.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processBeforeFormat",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "processAfterParse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$GeneralTimezone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_DateFormatElement$ConstantText.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$Year.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$Iso8601Timezone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$MonthText.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DateFormatSymbols, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Calendar, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Calendar, jt_ParsePosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DateFormatElement$NumericMonth.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processBeforeFormat",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "processAfterParse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    jnci_UTF8Encoder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jnc_Charset],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "arrayEncode",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), jnci_BufferedEncoder$Controller],
            returnType : jnc_CoderResult,
            callable : null
        }];
    jnci_BufferedEncoder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jnc_Charset, $rt_floatcls(), $rt_floatcls(), $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jnc_Charset, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "encodeLoop",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_CharBuffer, jn_ByteBuffer],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "arrayEncode",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), jnci_BufferedEncoder$Controller],
            returnType : jnc_CoderResult,
            callable : null
        }];
    jt_FieldPosition.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_Format$Field],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_Format$Field, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBeginIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEndIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getField",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFieldAttribute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_Format$Field,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBeginIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setEndIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jl_AssertionError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_DecimalFormatParser.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DecimalFormat],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parseText",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls(), $rt_booleancls()],
            returnType : $rt_arraycls(jt_DecimalFormat$FormatField),
            callable : null
        }, {
            name : "parseNumber",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parseIntegerPart",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parseFractionalPart",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parseExponent",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_ConcurrentModificationException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nleg_FixedFunctionShader.$meta.methods = [
        {
            name : "refreshCoreGL",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "instance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nleg_FixedFunctionShader,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setupArrayForProgram",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "useProgram",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unuseProgram",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAnisotropicFix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setModelMatrix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setProjectionMatrix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTextureMatrix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Matrix4f],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLightPositions",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector4f, nlegv_Vector4f],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFogMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFogColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFogStartEnd",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFogDensity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAlphaTest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTex0Coords",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTex1Coords",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTexGenS",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTexGenT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTexGenR",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTexGenQ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setNormal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Double.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "intValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "longValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_Double,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Double,
            callable : null
        }, {
            name : "parseDouble",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "decimalExponent",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Double],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isNaN",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInfinite",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isNaN",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getNaN",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "isInfinite",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFinite",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "doubleToRawLongBits",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "doubleToLongBits",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "longBitsToDouble",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "toHexString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isNaN$js_body$_19",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getNaN$js_body$_20",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "isInfinite$js_body$_21",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "isFinite$js_body$_22",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    jl_IllegalMonitorStateException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_OpenGlHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initializeTextures",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setActiveTexture",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setClientActiveTexture",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLightmapTextureCoords",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TextureManager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "instance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_TextureManager,
            callable : null
        }, {
            name : "getNextTextureId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_Texture],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Texture],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createStitcher",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Stitcher,
            callable : null
        }, {
            name : "createTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ju_List,
            callable : null
        }, {
            name : "getBasename",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasAnimationTxt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, nms_ITexturePack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "makeTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), nle_EaglerImage],
            returnType : nms_Texture,
            callable : null
        }, {
            name : "createEmptyTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_Texture,
            callable : null
        }];
    nms_IntHashMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeHash",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSlotIndex",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lookup",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "containsItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lookupEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : nms_IntHashMapEntry,
            callable : null
        }, {
            name : "addKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "grow",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyTo",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(nms_IntHashMapEntry)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "removeEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : nms_IntHashMapEntry,
            callable : null
        }, {
            name : "clearMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "insert",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getKeySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "getHash",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nle_TextureTerrainMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String, jl_String, nle_EaglerImage],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "generateMip",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglerImage],
            returnType : $rt_arraycls(nle_EaglerImage),
            callable : null
        }, {
            name : "generateLevel",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglerImage],
            returnType : nle_EaglerImage,
            callable : null
        }, {
            name : "premultiplyAlpha",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglerImage],
            returnType : nle_EaglerImage,
            callable : null
        }, {
            name : "populateAlpha",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglerImage],
            returnType : nle_EaglerImage,
            callable : null
        }, {
            name : "create3x3",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglerImage],
            returnType : nle_EaglerImage,
            callable : null
        }, {
            name : "create3x3_2",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglerImage],
            returnType : nle_EaglerImage,
            callable : null
        }, {
            name : "refreshTextures",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "replaceTexture",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nle_TextureTerrainMap$TerrainIcon, $rt_arraycls(nle_EaglerImage)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getMissingIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nle_TextureTerrainMap],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nle_TextureTerrainMap],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$200",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nle_TextureTerrainMap, nle_TextureTerrainMap$TerrainIcon, $rt_arraycls(nle_EaglerImage)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$300",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nle_TextureTerrainMap],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$400",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nle_TextureTerrainMap],
            returnType : $rt_arraycls(nle_EaglerImage),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_IconRegister.$meta.methods = [
        {
            name : "registerIcon",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Icon,
            callable : null
        }];
    nms_TextureMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String, jl_String, nle_EaglerImage],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "refreshTextures",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Texture,
            callable : null
        }, {
            name : "registerIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getMissingIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }];
    nms_ChatAllowedCharacters.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAllowedCharacters",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAllowedCharacter",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "filerAllowedCharacters",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_BufferedReader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_Reader, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_Reader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readLine",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "skip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "ready",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mark",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillBuffer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "requireOpened",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_Reader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "skip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "ready",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "markSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mark",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_InputStreamReader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, jnc_Charset],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, jnc_CharsetDecoder],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCharset",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jnc_Charset,
            callable : null
        }, {
            name : "getEncoding",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "fillBuffer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "fillReadBuffer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "ready",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ColorizerGrass.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setGrassBiomeColorizer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGrassColor",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ColorizerFoliage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFoliageBiomeColorizer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFoliageColor",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFoliageColorPine",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFoliageColorBirch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFoliageColorBasic",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_MouseFilter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "smooth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_EntitySpider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMountedYOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "findPlayerToAttack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOnLadder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setInWeb",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spiderScaleAmount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getCreatureAttribute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumCreatureAttribute,
            callable : null
        }, {
            name : "isPotionApplicable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PotionEffect],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBesideClimbableBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBesideClimbableBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityMob.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "findPlayerToAttack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntityAsMob",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockPathWeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "isValidLightLevel",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAttackStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EntityCreature.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isMovementCeased",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateEntityActionState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateWanderPath",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockPathWeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "findPlayerToAttack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasPath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPathToEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PathEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntityToAttack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "setTarget",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSpeedModifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_IMob.$meta.methods = [
        {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_IAnimals.$meta.methods = [];
    nms_RenderSpider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSpiderDeathMaxRotation",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySpider],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setSpiderEyeBrightness",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySpider, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "scaleSpider",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySpider, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDeathMaxRotation",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderLiving.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRenderPassModel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interpolateRotation",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderModel",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderLivingAt",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateCorpse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderSwingProgress",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "handleRotationFloat",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderArrowsStuckInEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "inheritRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82408_c",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDeathMaxRotation",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getColorMultiplier",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "passSpecialRender",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96449_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), jl_String, $rt_floatcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderLivingLabel",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Render.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEntityOnFire",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderShadow",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWorldFromRenderManager",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : nms_World,
            callable : null
        }, {
            name : "renderShadowOnBlock",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Block, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderOffsetAABB",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderAABB",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRenderManager",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_RenderManager],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderShadowAndFire",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFontRendererFromRenderManager",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_FontRenderer,
            callable : null
        }, {
            name : "updateIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityCaveSpider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "spiderScaleAmount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "attackEntityAsMob",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "initCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityPig.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateAITasks",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBeSteered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSaddled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSaddled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onStruckByLightning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLightningBolt],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spawnBabyAnimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityPig,
            callable : null
        }, {
            name : "isBreedingItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityAgeable,
            callable : null
        }];
    nms_EntityAnimal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAITick",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "procreate",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityAnimal],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlockPathWeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "findPlayerToAttack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTalkInterval",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canDespawn",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getExperiencePoints",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isBreedingItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInLove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "resetInLove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canMateWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAnimal],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EntityAgeable.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createChild",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityAgeable,
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGrowingAge",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setGrowingAge",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_98054_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSize",
            modifiers : 4,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98055_j",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderPig.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, nms_ModelBase, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderSaddledPig",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPig, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderLivingPig",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPig, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelPig.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelQuadruped.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelBase.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLivingAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRandomModelBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : nms_ModelRenderer,
            callable : null
        }, {
            name : "setTextureOffset",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTextureOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_TextureOffset,
            callable : null
        }];
    nms_EntitySheep.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateAITasks",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_70894_j",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_70890_k",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFleeceColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setFleeceColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSheared",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSheared",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRandomFleeceColor",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_90015_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntitySheep,
            callable : null
        }, {
            name : "eatGrassBonus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_90014_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityAnimal, nms_EntityAnimal],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_90013_b",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityAnimal],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityAgeable,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderSheep.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, nms_ModelBase, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setWoolColorAndRender",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySheep, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelSheep2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLivingAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelSheep1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLivingAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityCow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSoundVolume",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "spawnBabyAnimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityCow,
            callable : null
        }, {
            name : "createChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityAgeable,
            callable : null
        }];
    nms_RenderCow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderCow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityCow, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelCow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityMooshroom.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94900_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityMooshroom,
            callable : null
        }, {
            name : "spawnBabyAnimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityCow,
            callable : null
        }, {
            name : "createChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityAgeable,
            callable : null
        }];
    nms_RenderMooshroom.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderLivingMooshroom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityMooshroom, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderMooshroomEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityMooshroom, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityWolf.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setAttackTarget",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAITick",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canDespawn",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSoundVolume",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWolfShaking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getShadingWhileShaking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getShakeAngle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getInterestedAngle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getEyeHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getVerticalFaceSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "attackEntityAsMob",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTailRotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "isBreedingItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaxSpawnedInChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isAngry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setAngry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollarColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setCollarColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spawnBabyAnimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityWolf,
            callable : null
        }, {
            name : "func_70918_i",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canMateWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAnimal],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_70922_bv",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityAgeable,
            callable : null
        }];
    nms_EntityTameable.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playTameEffect",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isTamed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setTamed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSitting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSitting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOwnerName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setOwner",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOwner",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityLiving,
            callable : null
        }];
    nms_RenderWolf.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, nms_ModelBase, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTailRotation",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityWolf, $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_82447_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityWolf, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "handleRotationFloat",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelWolf.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLivingAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityChicken.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spawnBabyAnimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityChicken,
            callable : null
        }, {
            name : "isBreedingItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityAgeable,
            callable : null
        }];
    nms_RenderChicken.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderChicken",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityChicken, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWingRotation",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityChicken, $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "handleRotationFloat",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelChicken.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityOcelot.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAITick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canDespawn",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSoundVolume",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "attackEntityAsMob",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spawnBabyAnimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityOcelot,
            callable : null
        }, {
            name : "isBreedingItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canMateWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAnimal],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTameSkin",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setTameSkin",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEntityName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "initCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityAgeable,
            callable : null
        }];
    nms_RenderOcelot.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderLivingOcelot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityOcelot, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderOcelot",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityOcelot, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelOcelot.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLivingAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySilverfish.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "findPlayerToAttack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockPathWeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "isValidLightLevel",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAttackStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCreatureAttribute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumCreatureAttribute,
            callable : null
        }];
    nms_RenderSilverfish.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSilverfishDeathRotation",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySilverfish],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "renderSilverfish",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntitySilverfish, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldSilverfishRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySilverfish, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDeathMaxRotation",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityCreeper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82143_as",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "onDeath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityAsMob",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPowered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCreeperFlashIntensity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCreeperState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setCreeperState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onStruckByLightning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLightningBolt],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderCreeper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateCreeperScale",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityCreeper, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateCreeperColorMultiplier",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityCreeper, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderCreeperPassModel",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityCreeper, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_77061_b",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityCreeper, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getColorMultiplier",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inheritRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityEnderman.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "findPlayerToAttack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "shouldAttackPlayer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "teleportRandomly",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "teleportToEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "teleportTo",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCarried",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCarried",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setCarryingData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCarryingData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isScreaming",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setScreaming",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAttackStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderEnderman.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEnderman",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityEnderman, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderCarrying",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityEnderman, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEyes",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityEnderman, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySnowman.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityWithRangedAttack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityGolem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTalkInterval",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canDespawn",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_IRangedAttackMob.$meta.methods = [
        {
            name : "attackEntityWithRangedAttack",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderSnowMan.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderSnowmanPumpkin",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySnowman, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySkeleton.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityAsMob",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAttackStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCreatureAttribute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumCreatureAttribute,
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onDeath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropRareDrop",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRandomArmor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCombatTask",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityWithRangedAttack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSkeletonType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setSkeletonType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderSkeleton.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82438_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySkeleton, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82422_c",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderBiped.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBiped, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBiped, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82421_b",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82408_c",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82420_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82422_c",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityWitch.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setAggressive",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAggressive",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "applyPotionDamageCalculations",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSpeedModifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityWithRangedAttack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderWitch.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82412_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityWitch, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82411_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityWitch, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82410_b",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82409_b",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityWitch, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityBlaze.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "attackEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isBurning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_70845_n",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_70844_e",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isValidLightLevel",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAttackStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_RenderBlaze.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlaze",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityBlaze, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityZombie.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96121_ay",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSpeedModifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTotalArmorValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isVillager",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setVillager",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityAsMob",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAttackStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCreatureAttribute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumCreatureAttribute,
            callable : null
        }, {
            name : "dropRareDrop",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRandomArmor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onKillEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "startConversion",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isConverting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "convertToVillager",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getConversionTimeBoost",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_RenderZombie.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82421_b",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82429_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityZombie, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82426_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityZombie, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82428_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityZombie, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82427_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityZombie],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82430_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityZombie, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "rotateCorpse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySlime.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSlimeSize",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSlimeSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSlimeParticle",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getJumpSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntityActionState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_70808_l",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getJumpDelay",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createInstance",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_EntitySlime,
            callable : null
        }, {
            name : "onCollideWithPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canDamagePlayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAttackStrength",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSoundVolume",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getVerticalFaceSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "makesSoundOnJump",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "makesSoundOnLand",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderSlime.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, nms_ModelBase, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldSlimeRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySlime, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "scaleSlime",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySlime, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelSlime.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityMagmaCube.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTotalArmorValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getSlimeParticle",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "createInstance",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_EntitySlime,
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBurning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getJumpDelay",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_70808_l",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "jump",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canDamagePlayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAttackStrength",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getJumpSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "handleLavaMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "makesSoundOnLand",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_RenderMagmaCube.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderMagmaCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityMagmaCube, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "scaleMagmaCube",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityMagmaCube, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderPlayer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setArmorModel",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82439_b",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderSpecials",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPlayerScale",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96450_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), jl_String, $rt_floatcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderFirstPersonArm",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPlayerSleep",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotatePlayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96449_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), jl_String, $rt_floatcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82408_c",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateCorpse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderLivingAt",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityGhast.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateEntityActionState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isCourseTraversable",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSoundVolume",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaxSpawnedInChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityFlying.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateFallState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moveEntityWithHeading",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOnLadder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_RenderGhast.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderGhast",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityGhast, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySquid.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSoundVolume",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInWater",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moveEntityWithHeading",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntityActionState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EntityWaterMob.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBreatheUnderwater",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTalkInterval",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canDespawn",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getExperiencePoints",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onEntityUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderSquid.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderLivingSquid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntitySquid, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateSquidsCorpse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySquid, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleRotationFloat",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntitySquid, $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "handleRotationFloat",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "rotateCorpse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelSquid.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityVillager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateAITick",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canDespawn",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setProfession",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getProfession",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isMating",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setMating",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPlaying",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPlaying",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setRevengeTarget",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onDeath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCustomer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCustomer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityPlayer,
            callable : null
        }, {
            name : "isTrading",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "useRecipe",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MerchantRecipe],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : nms_MerchantRecipeList,
            callable : null
        }, {
            name : "func_82188_j",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "addDefaultEquipmentAndRecipies",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MerchantRecipeList],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addMerchantItem",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_MerchantRecipeList, $rt_intcls(), nle_EaglercraftRandom, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRandomSizedStack",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getRandomCountForItem",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "addBlacksmithItem",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_MerchantRecipeList, $rt_intcls(), nle_EaglercraftRandom, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRandomCountForBlacksmithItem",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "generateRandomParticles",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82187_q",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_90012_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityVillager,
            callable : null
        }, {
            name : "createChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityAgeable],
            returnType : nms_EntityAgeable,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_INpc.$meta.methods = [];
    nms_IMerchant.$meta.methods = [
        {
            name : "setCustomer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCustomer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityPlayer,
            callable : null
        }, {
            name : "getRecipes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : nms_MerchantRecipeList,
            callable : null
        }, {
            name : "setRecipes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_MerchantRecipeList],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "useRecipe",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_MerchantRecipe],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderVillager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldVillagerRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityVillager, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderVillager",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityVillager, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderVillagerEquipedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityVillager, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderVillager",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityVillager, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityIronGolem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateAITick",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "decreaseAirSupply",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "collideWithEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canAttackClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityAsMob",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAttackTimer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setHoldingRose",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "playStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHoldRoseTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isPlayerCreated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPlayerCreated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onDeath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderIronGolem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderIronGolem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityIronGolem, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateIronGolemCorpse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityIronGolem, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderIronGolemEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityIronGolem, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateCorpse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityBat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSoundVolume",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getSoundPitch",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "canBePushed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "collideWithEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_85033_bc",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIsBatHanging",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setIsBatHanging",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAITasks",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateFallState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doesEntityNotTriggerPressurePlate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "initCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityAmbientCreature.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderBat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82443_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityBat, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82442_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityBat, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82445_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityBat, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82444_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityBat, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateCorpse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderLivingAt",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityDragon.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMovementOffsets",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_arraycls($rt_doublecls()),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateDragonEnderCrystal",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "collideWithEntities",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntitiesInList",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setNewTarget",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "simplifyAngle",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "destroyBlocksInAABB",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntityFromPart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityDragonPart, nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82195_e",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onDeathUpdate",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createEnderPortal",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "despawnEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getParts",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_Entity),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBossHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82194_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_World,
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSoundVolume",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_IBossDisplayData.$meta.methods = [
        {
            name : "getMaxHealth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBossHealth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEntityName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_IEntityMultiPart.$meta.methods = [
        {
            name : "func_82194_d",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_World,
            callable : null
        }, {
            name : "attackEntityFromPart",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_EntityDragonPart, nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_RenderDragon.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateDragonBody",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityDragon, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderDragonModel",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityDragon, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderDragon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityDragon, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderDragonDying",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityDragon, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderGlow",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityDragon, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderEquippedItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateCorpse",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderModel",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityEnderCrystal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_RenderEnderCrystal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderEnderCrystal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityEnderCrystal, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityWither.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvul",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAITasks",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82206_m",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setInWeb",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTotalArmorValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82214_u",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "func_82208_v",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "func_82213_w",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "func_82204_b",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_82216_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82209_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityWithRangedAttack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "despawnEntity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBossHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addPotionEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PotionEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaxHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82207_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_82210_r",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_82212_n",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82215_s",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWatchedTargetId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82211_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isArmored",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCreatureAttribute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumCreatureAttribute,
            callable : null
        }, {
            name : "mountEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderWither.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82418_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityWither, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82415_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityWither, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82417_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityWither, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82416_b",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityWither, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "preRenderCallback",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inheritRenderPass",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "doRenderLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderEntity.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityPainting.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82329_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82330_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityHanging.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDirection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_70517_b",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onValidSurface",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_85031_j",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "moveEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82329_d",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82330_g",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropItemStack",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderPainting.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderThePainting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPainting, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77010_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityPainting, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77008_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityPainting, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityItemFrame.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82329_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82330_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isInRangeToRenderDist",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "dropItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDisplayedItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setDisplayedItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setItemRotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_RenderItemFrame.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82404_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityItemFrame, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderFrameItemAsBlock",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityItemFrame],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82402_b",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityItemFrame],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityArrow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving, nms_EntityLiving, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setThrowableHeading",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPositionAndRotation2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setKnockbackStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canAttackWithItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setIsCritical",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIsCritical",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_IProjectile.$meta.methods = [
        {
            name : "setThrowableHeading",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderArrow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderArrow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityArrow, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySnowball.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onImpact",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_MovingObjectPosition],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityThrowable.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInRangeToRenderDist",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_70182_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_70183_g",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setThrowableHeading",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGravityVelocity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onImpact",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [nms_MovingObjectPosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getThrower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityLiving,
            callable : null
        }];
    nms_RenderSnowball.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Item, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Item],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77026_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nlea_Tessellator, nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityEnderPearl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onImpact",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_MovingObjectPosition],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityEnderEye.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInRangeToRenderDist",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moveTowards",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_intcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canAttackWithItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EntityEgg.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onImpact",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_MovingObjectPosition],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityPotion.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGravityVelocity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_70182_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_70183_g",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setPotionDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPotionDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onImpact",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_MovingObjectPosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityExpBottle.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGravityVelocity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_70182_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_70183_g",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onImpact",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_MovingObjectPosition],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityFireworkRocket.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInRangeToRenderDist",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canAttackWithItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EntityLargeFireball.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onImpact",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_MovingObjectPosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityFireball.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInRangeToRenderDist",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMotionFactor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onImpact",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [nms_MovingObjectPosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCollisionBorderSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_RenderFireball.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderFireball",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityFireball, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySmallFireball.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onImpact",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_MovingObjectPosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EntityWitherSkull.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMotionFactor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBurning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82146_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Explosion, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onImpact",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_MovingObjectPosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInvulnerable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setInvulnerable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderWitherSkull.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82400_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_82399_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityWitherSkull, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityItem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "searchForOtherItemsNearby",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "combineItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityItem],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setAgeToCreativeDespawnTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleWaterMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "dealFireDamage",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntityName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "canAttackWithItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEntityItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setEntityItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderItem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityItem, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderDroppedItem",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_EntityItem, nms_Icon, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderItemIntoGUI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, nms_RenderEngine, nms_ItemStack, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderItemAndEffectIntoGUI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, nms_RenderEngine, nms_ItemStack, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderGlint",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderItemOverlayIntoGUI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, nms_RenderEngine, nms_ItemStack, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderItemOverlayIntoGUI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, nms_RenderEngine, nms_ItemStack, $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderQuad",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nlea_Tessellator, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_Icon, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityXPOrb.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleWaterMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "dealFireDamage",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getXpValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTextureByXP",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getXPSplit",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canAttackWithItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_RenderXPOrb.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTheXPOrb",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityXPOrb, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityTNTPrimed.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "explode",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getTntPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityLiving,
            callable : null
        }];
    nms_RenderTNTPrimed.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPrimedTNT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityTNTPrimed, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityFallingSand.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_World,
            callable : null
        }, {
            name : "setIsAnvil",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canRenderOnFire",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_RenderFallingSand.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderFallingSand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityFallingSand, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityMinecartTNT.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinecartType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDefaultDisplayTile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Block,
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "killMinecart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "explodeCart",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fall",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onActivatorRailPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleHealthUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ignite",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94104_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isIgnited",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82146_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Explosion, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_96091_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Explosion, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityMinecart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createMinecart",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls()],
            returnType : nms_EntityMinecart,
            callable : null
        }, {
            name : "setWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getBoundingBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "canBePushed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMountedYOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "killMinecart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "performHurtAnimation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setDead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onActivatorRailPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94088_b",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateOnTrack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "applyDrag",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_70495_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "func_70489_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "applyEntityCollision",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPositionAndRotation2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setRollingAmplitude",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRollingAmplitude",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setRollingDirection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRollingDirection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinecartType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDisplayTile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Block,
            callable : null
        }, {
            name : "getDefaultDisplayTile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Block,
            callable : null
        }, {
            name : "getDisplayTileData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDefaultDisplayTileData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDisplayTileOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDefaultDisplayTileOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setDisplayTile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDisplayTileData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDisplayTileOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasDisplayTile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setHasDisplayTile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96094_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntityName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_95999_t",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderTntMinecart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94146_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityMinecartTNT, $rt_floatcls(), nms_Block, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockInMinecart",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityMinecart, $rt_floatcls(), nms_Block, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderMinecart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTheMinecart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityMinecart, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockInMinecart",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityMinecart, $rt_floatcls(), nms_Block, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityMinecartMobSpawner.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinecartType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDefaultDisplayTile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Block,
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderMinecartMobSpawner.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98192_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityMinecartMobSpawner, $rt_floatcls(), nms_Block, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBlockInMinecart",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityMinecart, $rt_floatcls(), nms_Block, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityBoat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getBoundingBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "canBePushed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMountedYOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "performHurtAnimation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPositionAndRotation2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRiderPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setDamageTaken",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDamageTaken",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setTimeSinceHit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTimeSinceHit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setForwardDirection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getForwardDirection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_70270_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderBoat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderBoat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityBoat, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityFishHook.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInRangeToRenderDist",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "calculateVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPositionAndRotation2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "catchFish",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setDead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderFish.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderFishHook",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityFishHook, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityLightningBolt.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInRangeToRenderVec3D",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EntityWeatherEffect.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderLightningBolt.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRenderLightningBolt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLightningBolt, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_MapItemRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, nms_GameSettings, nms_RenderEngine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_RenderEngine, nms_MapData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_AchievementList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78422_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78418_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_78420_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78419_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78421_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nleg_EffectPipeline.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "beginPipelineRender",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reloadPipeline",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "endPipelineRender",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setUniforms",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(nlea_EaglerAdapterImpl2$UniformGL)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "makeBloomTexture",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setupPipeline",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String), $rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiNewChat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawChat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearChatMessages",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "printChatMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "printChatMessageWithOptionalDeletion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96129_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96132_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSentMessages",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "addToSentMessages",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetScroll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "scroll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_73766_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ChatClickData,
            callable : null
        }, {
            name : "addTranslatedMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChatOpen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "deleteChatLine",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96126_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_96133_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_96131_h",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_96128_a",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_96130_b",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_96127_i",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    cjj_InfTree.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "huft_build",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflate_trees_bits",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), cjj_ZStream],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflate_trees_dynamic",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), cjj_ZStream],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inflate_trees_fixed",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_arraycls($rt_intcls())), $rt_arraycls($rt_arraycls($rt_intcls())), cjj_ZStream],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "initWorkArea",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_InfCodes.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [cjj_ZStream, cjj_InfBlocks],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "proc",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "free",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [cjj_ZStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "inflate_fast",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls(), cjj_InfBlocks, cjj_ZStream],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_DefaultSkinRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteOldSkins",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindSyncedSkin",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "skinResponse",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isNewSkin",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAlexSkin",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isStandardModel",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isZombieModel",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isPlayerNewSkin",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isPlayerNewSkinSlim",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isPlayerStandard",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPlayerRenderer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderPlayerPreview",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderAlexOrSteve",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPlayerPreviewNew",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityOtherPlayerMP.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetHeight",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPositionAndRotation2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateCloak",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onLivingUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCurrentItemOrArmor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEyeHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "sendChatToPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canCommandSenderUseCommand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPlayerCoordinates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ChunkCoordinates,
            callable : null
        }];
    nms_GuiMultiplayer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRefreshCooldown",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "testIfCanRefresh",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGuiControls",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "confirmClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "joinServer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "connectToServer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_ServerData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_74007_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInternetServerList",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiMultiplayer],
            returnType : nms_ServerList,
            callable : null
        }, {
            name : "getListOfLanServers",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiMultiplayer],
            returnType : ju_List,
            callable : null
        }, {
            name : "getSelectedServer",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiMultiplayer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAndSetSelectedServer",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiMultiplayer, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getButtonSelect",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiMultiplayer],
            returnType : nms_GuiButton,
            callable : null
        }, {
            name : "getButtonEdit",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiMultiplayer],
            returnType : nms_GuiButton,
            callable : null
        }, {
            name : "getButtonDelete",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiMultiplayer],
            returnType : nms_GuiButton,
            callable : null
        }, {
            name : "func_74008_b",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiMultiplayer, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTicksOpened",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiMultiplayer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLock",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getThreadsPending",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "increaseThreadsPending",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "decreaseThreadsPending",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAndSetLagTooltip",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiMultiplayer, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_GuiScreenVoiceChannel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doesGuiPauseGame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "tickVoiceConnection",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawOverlay",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maa_NoteblockPlayer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tick",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateToBlock",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "play",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "notePlayed",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "zleep",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "placeAndTuneNoteblocks",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_HashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "spiral",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "songLinesToBlocks",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : ju_HashMap,
            callable : null
        }, {
            name : "loadSong",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Vec3.$meta.methods = [
        {
            name : "createVectorHelper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Vec3Pool, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setComponents",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "subtract",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "normalize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "dotProduct",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "crossProduct",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "addVector",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "distanceTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "squareDistanceTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "squareDistanceTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "lengthVector",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getIntermediateWithXValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3, $rt_doublecls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "getIntermediateWithYValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3, $rt_doublecls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "getIntermediateWithZValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3, $rt_doublecls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "rotateAroundX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateAroundY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateAroundZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnumOptions.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumOptions),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumOptions,
            callable : null
        }, {
            name : "getEnumOptions",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_EnumOptions,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), jl_String, $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEnumFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEnumBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "returnEnumOrdinal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEnumString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Block.$meta.methods = [
        {
            name : "initNoiseField",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initNoiseField0",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initializeBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setStepSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_StepSound],
            returnType : nms_Block,
            callable : null
        }, {
            name : "setLightOpacity",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Block,
            callable : null
        }, {
            name : "setLightValue",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : nms_Block,
            callable : null
        }, {
            name : "setResistance",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : nms_Block,
            callable : null
        }, {
            name : "isNormalCube",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setHardness",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls()],
            returnType : nms_Block,
            callable : null
        }, {
            name : "setBlockUnbreakable",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Block,
            callable : null
        }, {
            name : "getBlockHardness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setTickRandomly",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls()],
            returnType : nms_Block,
            callable : null
        }, {
            name : "getTickRandomly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBounds",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMixedBrightnessForBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlockSolid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlockTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getBlockTextureFromSide",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getSelectedBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canCollideCheck",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isCollidable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockDestroyedByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPlayerRelativeBlockHardness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "dropBlockAsItem",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropBlockAsItem_do",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropXpOnBlockBreak",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getExplosionResistance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "collisionRayTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Vec3, nms_Vec3],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "isVecInsideYZBounds",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isVecInsideXZBounds",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isVecInsideXYBounds",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockDestroyedByExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Explosion],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderBlockPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPlaceBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onEntityWalking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "velocityToAddToEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity, nms_Vec3],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockBoundsMinX",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getBlockBoundsMaxX",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getBlockBoundsMinY",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getBlockBoundsMaxY",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getBlockBoundsMinZ",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getBlockBoundsMaxZ",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getBlockColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRenderColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "colorMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onEntityCollidedWithBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isProvidingStrongPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "harvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityPlayer, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canSilkHarvest",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createStackedBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "quantityDroppedWithBonus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canBlockStay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onPostBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Block,
            callable : null
        }, {
            name : "getLocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getUnlocalizedName2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "onBlockEventReceived",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEnableStats",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "disableStats",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Block,
            callable : null
        }, {
            name : "getMobilityFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAmbientOcclusionLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onFallenUpon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDamageValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCreativeTabToDisplayOn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_CreativeTabs,
            callable : null
        }, {
            name : "setCreativeTab",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_CreativeTabs],
            returnType : nms_Block,
            callable : null
        }, {
            name : "onBlockHarvested",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onSetBlockIDWithMetaData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillWithRain",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isFlowerPot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82506_l",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canDropFromExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Explosion],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAssociatedBlockID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAssociatedBlockID",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getItemIconName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Item.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMaxStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Item,
            callable : null
        }, {
            name : "getSpriteNumber",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getIconIndex",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStrVsBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onEaten",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getItemStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHasSubtypes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setHasSubtypes",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls()],
            returnType : nms_Item,
            callable : null
        }, {
            name : "getMaxDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setMaxDamage",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Item,
            callable : null
        }, {
            name : "isDamageable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hitEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityLiving, nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockDestroyed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDamageVsEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canHarvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "itemInteractionForEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setFull3D",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Item,
            callable : null
        }, {
            name : "isFull3D",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldRotateAroundWhenRendering",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Item,
            callable : null
        }, {
            name : "getLocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "setContainerItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Item],
            returnType : nms_Item,
            callable : null
        }, {
            name : "doesContainerItemLeaveCraftingGrid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getShareTag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getContainerItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Item,
            callable : null
        }, {
            name : "hasContainerItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStatName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_77653_i",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "getColorFromItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_Entity, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCreated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemUseAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EnumAction,
            callable : null
        }, {
            name : "getMaxItemUseDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onPlayerStoppedUsing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPotionEffect",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : nms_Item,
            callable : null
        }, {
            name : "getPotionEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isPotionIngredient",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addInformation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, ju_List, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getItemDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRarity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EnumRarity,
            callable : null
        }, {
            name : "isItemTool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMovingObjectPositionFromPlayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, nms_EntityPlayer, $rt_booleancls()],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "getItemEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "requiresMultipleRenderPasses",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIconFromDamageForRenderPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getSubItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCreativeTab",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_CreativeTabs,
            callable : null
        }, {
            name : "setCreativeTab",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_CreativeTabs],
            returnType : nms_Item,
            callable : null
        }, {
            name : "func_82788_x",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIsRepairable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemStack.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Item],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Item, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Item, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadItemStackFromNBT",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "splitStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Item,
            callable : null
        }, {
            name : "getIconIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getItemSpriteNumber",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "tryPlaceItemIntoWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStrVsBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "useItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onFoodEaten",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isStackable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isItemStackDamageable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getHasSubtypes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isItemDamaged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemDamageForDisplay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getItemDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setItemDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "attemptDamageItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "damageItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hitEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockDestroyed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDamageVsEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canHarvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "interactWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "areItemStackTagsEqual",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "areItemStacksEqual",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isItemStackEqual",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isItemEqual",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "copyItemStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "updateAnimation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_Entity, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCrafting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityPlayer, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxItemUseDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getItemUseAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumAction,
            callable : null
        }, {
            name : "onPlayerStoppedUsing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityPlayer, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasTagCompound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTagCompound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "getEnchantmentTagList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTTagList,
            callable : null
        }, {
            name : "setTagCompound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setItemName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTooltip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_booleancls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "hasEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRarity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumRarity,
            callable : null
        }, {
            name : "isItemEnchantable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addEnchantment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemEnchanted",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setTagInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_NBTBase],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82835_x",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOnItemFrame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setItemFrame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityItemFrame],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getItemFrame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityItemFrame,
            callable : null
        }, {
            name : "getRepairCost",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setRepairCost",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Collections.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "emptyIterator",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "emptyListIterator",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_ListIterator,
            callable : null
        }, {
            name : "emptyList",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "emptyEnumeration",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Enumeration,
            callable : null
        }, {
            name : "emptySet",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "emptyMap",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "singletonList",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_List,
            callable : null
        }, {
            name : "singleton",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Set,
            callable : null
        }, {
            name : "singletonMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : ju_Map,
            callable : null
        }, {
            name : "unmodifiableList",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : ju_List,
            callable : null
        }, {
            name : "nCopies",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : ju_List,
            callable : null
        }, {
            name : "swap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, ju_Comparator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reverse",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "binarySearch",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, jl_Object, ju_Comparator],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shuffle",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shuffle",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, ju_Random],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shuffleRandomAccess",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_List, ju_Random],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "min",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : jl_Object,
            callable : null
        }, {
            name : "min",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection, ju_Comparator],
            returnType : jl_Object,
            callable : null
        }, {
            name : "max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : jl_Object,
            callable : null
        }, {
            name : "max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection, ju_Comparator],
            returnType : jl_Object,
            callable : null
        }, {
            name : "rotate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotateRandomAccess",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_List, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reverse",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_List, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "replaceAll",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, jl_Object, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "indexOfSubList",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, ju_List],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOfSubList",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, ju_List],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "unmodifiableCollection",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "unmodifiableIterator",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_Iterator],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "unmodifiableSet",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Set],
            returnType : ju_Set,
            callable : null
        }, {
            name : "unmodifiableMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : ju_Map,
            callable : null
        }, {
            name : "unmodifiableMapEntrySet",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_Set],
            returnType : ju_Set,
            callable : null
        }, {
            name : "unmodifiableMapEntryIterator",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_Iterator],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "synchronizedCollection",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "synchronizedSet",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Set],
            returnType : ju_Set,
            callable : null
        }, {
            name : "synchronizedList",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : ju_List,
            callable : null
        }, {
            name : "synchronizedMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : ju_Map,
            callable : null
        }, {
            name : "reverseOrder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "reverseOrder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "enumeration",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : ju_Enumeration,
            callable : null
        }, {
            name : "list",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Enumeration],
            returnType : ju_ArrayList,
            callable : null
        }, {
            name : "checkedCollection",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection, jl_Class],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "checkedSet",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Set, jl_Class],
            returnType : ju_Set,
            callable : null
        }, {
            name : "checkedList",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, jl_Class],
            returnType : ju_List,
            callable : null
        }, {
            name : "checkedMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Map, jl_Class, jl_Class],
            returnType : ju_Map,
            callable : null
        }, {
            name : "frequency",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "disjoint",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection, ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addAll",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection, $rt_arraycls(jl_Object)],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "newSetFromMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : ju_Set,
            callable : null
        }, {
            name : "lambda$reverseOrder$2",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [ju_Comparator, jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$static$1",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$static$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_Iterator],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "access$100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_Set],
            returnType : ju_Set,
            callable : null
        }, {
            name : "access$200",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_Iterator],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nleg_EaglerAdapterGL30$DisplayList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 32,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), nleg_EaglerAdapterGL30$1],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nleg_EaglerAdapterGL30$DisplayList],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$200",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nleg_EaglerAdapterGL30$DisplayList],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$300",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nleg_EaglerAdapterGL30$DisplayList],
            returnType : nlea_EaglerAdapterImpl2$BufferArrayGL,
            callable : null
        }, {
            name : "access$202",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nleg_EaglerAdapterGL30$DisplayList, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$102",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nleg_EaglerAdapterGL30$DisplayList, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$400",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nleg_EaglerAdapterGL30$DisplayList],
            returnType : nlea_EaglerAdapterImpl2$BufferGL,
            callable : null
        }, {
            name : "access$500",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nleg_EaglerAdapterGL30$DisplayList],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$302",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nleg_EaglerAdapterGL30$DisplayList, nlea_EaglerAdapterImpl2$BufferArrayGL],
            returnType : nlea_EaglerAdapterImpl2$BufferArrayGL,
            callable : null
        }, {
            name : "access$402",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nleg_EaglerAdapterGL30$DisplayList, nlea_EaglerAdapterImpl2$BufferGL],
            returnType : nlea_EaglerAdapterImpl2$BufferGL,
            callable : null
        }];
    jl_Object$Monitor.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Object$monitorExit$lambda$_8_0.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "run",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_UTFDataFormatException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TexturePackDefault.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadDescription",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98140_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isCompatible",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_98139_b",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "getResourceAsBytes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }];
    nms_TexturePackImplementation.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, jl_String, nms_ITexturePack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "trimStringToGUIWidth",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "loadThumbnailImage",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadDescription",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98137_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "getResourceAsStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "func_98139_b",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "deleteTexturePack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_RenderEngine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindThumbnailTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_RenderEngine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98138_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_98140_c",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTexturePackID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTexturePackFileName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFirstDescriptionLine",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSecondDescriptionLine",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ITexturePack.$meta.methods = [
        {
            name : "deleteTexturePack",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_RenderEngine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindThumbnailTexture",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_RenderEngine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98137_a",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "getResourceAsStream",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "getTexturePackID",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTexturePackFileName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFirstDescriptionLine",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSecondDescriptionLine",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_98138_b",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isCompatible",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getResourceAsBytes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }];
    nms_IntHashMapEntry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_Object, nms_IntHashMapEntry],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHash",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getValue",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nle_TextureTerrainMap$TerrainIcon.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), nle_TextureTerrainMap, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOriginX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOriginY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinU",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMaxU",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getInterpolatedU",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMinV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMaxV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getInterpolatedV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getIconName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSheetWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSheetHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateAnimation",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadData",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 32,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), nle_TextureTerrainMap, jl_String, nle_TextureTerrainMap$1],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$600",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nle_TextureTerrainMap$TerrainIcon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$700",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nle_TextureTerrainMap$TerrainIcon],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Icon.$meta.methods = [
        {
            name : "getOriginX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOriginY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinU",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMaxU",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getInterpolatedU",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMinV",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMaxV",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getInterpolatedV",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getIconName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSheetWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSheetHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ModelSpider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelBase, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelRenderer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTextureOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ModelRenderer,
            callable : null
        }, {
            name : "addBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_ModelRenderer,
            callable : null
        }, {
            name : "addBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_ModelRenderer,
            callable : null
        }, {
            name : "addBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationPoint",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderWithRotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compileDisplayList",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTextureSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ModelRenderer,
            callable : null
        }];
    nms_ModelSilverfish.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelCreeper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelEnderman.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelBiped.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEars",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderCloak",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelSnowMan.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelSkeleton.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLivingAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelZombie.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelWitch.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82899_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ModelVillager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelBlaze.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78104_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelZombieVillager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82897_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelMagmaCube.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78107_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setLivingAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_ModelBipedNewSkins.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_178727_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_178728_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_178725_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_178726_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postRenderHiddenArm",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_178685_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ModelRenderer, nms_ModelRenderer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelGhast.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelIronGolem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLivingAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78172_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_ModelBat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBatSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelDragon.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLivingAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRotations",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_ModelWither.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82903_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLivingAnimations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelSkeletonHead.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelMinecart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelBoat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$FramebufferGL.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [otjw_WebGLFramebuffer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_EaglerProfile$EaglerProfileSkin.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls($rt_bytecls()), $rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Arrays$NaturalOrder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 32,
            accessLevel : 0,
            parameterTypes : [ju_Arrays$1],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_PlayerCapabilities.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeCapabilitiesToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readCapabilitiesFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFlySpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setFlySpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWalkSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setPlayerWalkSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_MovingObjectPosition.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Vec3],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnumMovingObjectType.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumMovingObjectType),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumMovingObjectType,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Container.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addSlotToContainer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_Slot],
            returnType : nms_Slot,
            callable : null
        }, {
            name : "addCraftingToCrafters",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ICrafting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeCraftingFromCrafters",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ICrafting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "detectAndSendChanges",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enchantItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSlotFromInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory, $rt_intcls()],
            returnType : nms_Slot,
            callable : null
        }, {
            name : "getSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Slot,
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "slotClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "func_94530_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Slot],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "retrySlotClick",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCraftGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCraftMatrixChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "putStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "putStacksInSlots",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(nms_ItemStack)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateProgressBar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNextTransactionID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "isPlayerNotUsingContainer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPlayerIsPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mergeItemStack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94529_b",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94532_c",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94534_d",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94528_d",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94533_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94527_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Slot, nms_ItemStack, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94525_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Set, $rt_intcls(), nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94531_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Slot],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "calcRedstoneFromInventory",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_IInventory],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EntityList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addMapping",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Class, juf_Function, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addMapping",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Class, juf_Function, jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createEntityByName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "createEntityFromNBT",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound, nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "createEntityByID",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getEntityID",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getClassFromID",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getEntityString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : jl_String,
            callable : null
        }, {
            name : "getStringFromID",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "lambda$static$50",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$49",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$48",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$47",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$46",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$45",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$44",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$43",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$42",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$41",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$40",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$39",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$38",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$37",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$36",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$35",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$34",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$33",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$32",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$31",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$30",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$29",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$28",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$27",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$26",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$25",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$24",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$23",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$22",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$21",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$20",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$19",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$18",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$17",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$16",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$15",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$14",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$13",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$12",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$11",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$10",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$9",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$8",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$7",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$6",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$5",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$4",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$3",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$2",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$1",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "lambda$static$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Collections$_clinit_$lambda$_61_0.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_Collections$_clinit_$lambda$_61_1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    jl_Object$monitorEnterWait$lambda$_6_0.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Thread, jl_Object, $rt_intcls(), oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "run",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otp_PlatformQueue.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "push",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [otp_PlatformObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shift",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otp_PlatformObject,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : otp_PlatformObject,
            callable : null
        }, {
            name : "unwrap",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otp_PlatformObject],
            returnType : jl_Object,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otp_PlatformQueue],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEmpty$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otp_PlatformQueue],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "add$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otp_PlatformQueue, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otp_PlatformQueue],
            returnType : jl_Object,
            callable : null
        }];
    ji_UnsupportedEncodingException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnc_CharsetDecoder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jnc_Charset, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "charset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_Charset,
            callable : null
        }, {
            name : "replacement",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "replaceWith",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jnc_CharsetDecoder,
            callable : null
        }, {
            name : "implReplaceWith",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "malformedInputAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_CodingErrorAction,
            callable : null
        }, {
            name : "onMalformedInput",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jnc_CodingErrorAction],
            returnType : jnc_CharsetDecoder,
            callable : null
        }, {
            name : "implOnMalformedInput",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jnc_CodingErrorAction],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unmappableCharacterAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_CodingErrorAction,
            callable : null
        }, {
            name : "onUnmappableCharacter",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jnc_CodingErrorAction],
            returnType : jnc_CharsetDecoder,
            callable : null
        }, {
            name : "implOnUnmappableCharacter",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jnc_CodingErrorAction],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "averageCharsPerByte",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "maxCharsPerByte",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "decode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jn_ByteBuffer, jn_CharBuffer, $rt_booleancls()],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "flush",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jn_CharBuffer],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "reset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_CharsetDecoder,
            callable : null
        }, {
            name : "decode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jn_ByteBuffer],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "isAutoDetecting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isCharsetDetected",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "detectedCharset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jnc_Charset,
            callable : null
        }, {
            name : "expand",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jn_CharBuffer],
            returnType : jn_CharBuffer,
            callable : null
        }, {
            name : "decodeLoop",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [jn_ByteBuffer, jn_CharBuffer],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "implFlush",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_CharBuffer],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "implReset",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_FloatBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "allocate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "hasArray",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "array",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "arrayOffset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compact",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "order",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }, {
            name : "mark",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "rewind",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "position",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "array",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "rewind",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "mark",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "position",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ItemSpade.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_EnumToolMaterial],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canHarvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemTool.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_EnumToolMaterial, $rt_arraycls(nms_Block)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStrVsBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "hitEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityLiving, nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockDestroyed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDamageVsEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isFull3D",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getToolMaterialName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getIsRepairable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemPickaxe.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_EnumToolMaterial],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canHarvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStrVsBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemAxe.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_EnumToolMaterial],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStrVsBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemFlintAndSteel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemFood.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEaten",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onFoodEaten",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxItemUseDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getItemUseAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EnumAction,
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getHealAmount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSaturationModifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "isWolfsFavoriteMeat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPotionEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : nms_ItemFood,
            callable : null
        }, {
            name : "setAlwaysEdible",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemFood,
            callable : null
        }];
    nms_ItemBow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onPlayerStoppedUsing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEaten",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getMaxItemUseDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getItemUseAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EnumAction,
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getItemEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getItemIconForUseDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemCoal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSubItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemSword.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_EnumToolMaterial],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82803_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStrVsBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "hitEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityLiving, nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockDestroyed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDamageVsEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isFull3D",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemUseAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EnumAction,
            callable : null
        }, {
            name : "getMaxItemUseDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "canHarvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getToolMaterialName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getIsRepairable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemSoup.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEaten",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_ItemReed.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Block],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemHoe.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_EnumToolMaterial],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFull3D",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaterialName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_ItemSeeds.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemArmor.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_EnumArmorMaterial, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getColorFromItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "requiresMultipleRenderPasses",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getArmorMaterial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumArmorMaterial,
            callable : null
        }, {
            name : "hasColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIconFromDamageForRenderPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "removeColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82813_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIsRepairable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "func_94602_b",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getMaxDamageArray",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemHangingEntity.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Class],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createHangingEntity",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_EntityHanging,
            callable : null
        }];
    nms_ItemAppleGold.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRarity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EnumRarity,
            callable : null
        }, {
            name : "onFoodEaten",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSubItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemSign.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemDoor.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "placeDoorBlock",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Block],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemBucket.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "tryPlaceContainedLiquid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemMinecart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemSaddle.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "itemInteractionForEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hitEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityLiving, nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemRedstone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemSnowball.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_ItemBoat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_ItemBucketMilk.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEaten",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getMaxItemUseDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getItemUseAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EnumAction,
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_ItemBook.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemTool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ItemEgg.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_ItemFishingRod.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isFull3D",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldRotateAroundWhenRendering",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94597_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }];
    nms_ItemDye.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_96604_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_96603_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "itemInteractionForEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSubItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemBed.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMPMapData",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls(), nms_World],
            returnType : nms_MapData,
            callable : null
        }, {
            name : "getMapData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World],
            returnType : nms_MapData,
            callable : null
        }, {
            name : "updateMapData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_Entity, nms_MapData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_Entity, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createMapDataPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_Packet,
            callable : null
        }, {
            name : "onCreated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addInformation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, ju_List, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readAyunamiMapPacket",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_WorldClient, $rt_shortcls(), $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMapById",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_WorldClient, $rt_intcls()],
            returnType : nms_MapData,
            callable : null
        }, {
            name : "processVideoMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_WorldClient, $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processImageMap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_WorldClient, $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemMapBase.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createMapDataPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_Packet,
            callable : null
        }];
    nms_ItemShears.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockDestroyed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canHarvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStrVsBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Block],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_ItemEnderPearl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_ItemPotion.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEffects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : ju_List,
            callable : null
        }, {
            name : "getEffects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "onEaten",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getMaxItemUseDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getItemUseAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EnumAction,
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getIconFromDamageForRenderPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "isSplash",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getColorFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getColorFromItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "requiresMultipleRenderPasses",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEffectInstant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "addInformation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, ju_List, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSubItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94589_d",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemGlassBottle.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemEnderEye.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_ItemMonsterPlacer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getItemDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "getColorFromItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "requiresMultipleRenderPasses",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIconFromDamageForRenderPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "spawnCreature",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getSubItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemExpBottle.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_ItemFireball.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemWritableBook.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getShareTag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "validBookTagPages",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemEditableBook.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "validBookTagContents",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "addInformation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, ju_List, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getShareTag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemSeedFood.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemEmptyMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_ItemSkull.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSubItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "getItemDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemCarrotOnAStick.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isFull3D",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldRotateAroundWhenRendering",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemSimpleFoiled.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemFirework.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addInformation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, ju_List, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemFireworkCharge.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIconFromDamageForRenderPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getColorFromItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "requiresMultipleRenderPasses",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_92108_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, jl_String],
            returnType : nms_NBTBase,
            callable : null
        }, {
            name : "addInformation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, ju_List, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92107_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemEnchantedBook.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isItemTool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRarity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EnumRarity,
            callable : null
        }, {
            name : "func_92110_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_NBTTagList,
            callable : null
        }, {
            name : "addInformation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, ju_List, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92115_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EnchantmentData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92111_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnchantmentData],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "func_92113_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92109_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_ItemRecord.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addInformation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, ju_List, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRecordTitle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getRarity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_EnumRarity,
            callable : null
        }, {
            name : "getRecord",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_ItemRecord,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Properties.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Properties],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dumpString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_StringBuilder, jl_String, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toHexaDecimal",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls($rt_charcls()),
            callable : null
        }, {
            name : "getProperty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getProperty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "list",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_PrintStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "propertyNames",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Enumeration,
            callable : null
        }, {
            name : "selectProperties",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "save",
            modifiers : 128,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setProperty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "store",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeComments",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ji_Writer, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stringPropertyNames",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "selectPropertyNames",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_Set],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Hashtable.$meta.methods = [
        {
            name : "newEntry",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Object, jl_Object, $rt_intcls()],
            returnType : ju_Hashtable$Entry,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "newElementArray",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls(ju_Hashtable$Entry),
            callable : null
        }, {
            name : "clear",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "computeMaxSize",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsKey",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "elements",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Enumeration,
            callable : null
        }, {
            name : "entrySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "equals",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "get",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getEntry",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : ju_Hashtable$Entry,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "keys",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Enumeration,
            callable : null
        }, {
            name : "keySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "put",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "putAll",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rehash",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "size",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "values",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "lambda$keys$1",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [ju_MapEntry],
            returnType : jl_Object,
            callable : null
        }, {
            name : "lambda$elements$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [ju_MapEntry],
            returnType : jl_Object,
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Dictionary.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "elements",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Enumeration,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "keys",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Enumeration,
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "size",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_TreeMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_SortedMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ensureRevertedComparator",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillMap",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(ju_Map$Entry)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNode",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(ju_Map$Entry), $rt_intcls(), $rt_intcls()],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "findExact",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "findExactOrNext",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "pathToExactOrNext",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : $rt_arraycls(ju_TreeMap$TreeNode),
            callable : null
        }, {
            name : "findNext",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "pathToNext",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : $rt_arraycls(ju_TreeMap$TreeNode),
            callable : null
        }, {
            name : "pathToFirst",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_arraycls(ju_TreeMap$TreeNode),
            callable : null
        }, {
            name : "getOrCreateNode",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_TreeMap$TreeNode, jl_Object],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "deleteNode",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_TreeMap$TreeNode, jl_Object],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "entrySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "comparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "subMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : ju_SortedMap,
            callable : null
        }, {
            name : "headMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_NavigableMap,
            callable : null
        }, {
            name : "tailMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_NavigableMap,
            callable : null
        }, {
            name : "firstKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "lastKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "lowerEntry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "lowerKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "floorEntry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "floorKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "ceilingEntry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "ceilingKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "higherEntry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "higherKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "firstEntry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "lastEntry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "pollFirstEntry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "pollLastEntry",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "descendingMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_NavigableMap,
            callable : null
        }, {
            name : "navigableKeySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "descendingKeySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "subMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls(), jl_Object, $rt_booleancls()],
            returnType : ju_NavigableMap,
            callable : null
        }, {
            name : "headMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : ju_NavigableMap,
            callable : null
        }, {
            name : "tailMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : ju_NavigableMap,
            callable : null
        }, {
            name : "firstNode",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls()],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "height",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "tailMap",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_SortedMap,
            callable : null
        }, {
            name : "headMap",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_SortedMap,
            callable : null
        }, {
            name : "lambda$ensureRevertedComparator$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$new$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [ju_Map$Entry, ju_Map$Entry],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_TreeMap],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_TreeMap, $rt_booleancls()],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "access$200",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_TreeMap],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "access$300",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_TreeMap, ju_TreeMap$TreeNode, jl_Object],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "access$004",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_TreeMap],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$400",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_TreeMap],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "access$500",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_TreeMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$600",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_TreeMap],
            returnType : ju_Comparator,
            callable : null
        }];
    ju_NavigableMap.$meta.methods = [
        {
            name : "lowerEntry",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "lowerKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "floorEntry",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "floorKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "ceilingEntry",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "ceilingKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "higherEntry",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "higherKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "firstEntry",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "lastEntry",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "pollFirstEntry",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "pollLastEntry",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "descendingMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_NavigableMap,
            callable : null
        }, {
            name : "navigableKeySet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "descendingKeySet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "subMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls(), jl_Object, $rt_booleancls()],
            returnType : ju_NavigableMap,
            callable : null
        }, {
            name : "headMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : ju_NavigableMap,
            callable : null
        }, {
            name : "tailMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : ju_NavigableMap,
            callable : null
        }];
    ju_SortedMap.$meta.methods = [
        {
            name : "comparator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "subMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : ju_SortedMap,
            callable : null
        }, {
            name : "headMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_SortedMap,
            callable : null
        }, {
            name : "tailMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_SortedMap,
            callable : null
        }, {
            name : "firstKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "lastKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    maat_TMIController.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCreate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiContainer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEnterFrame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "focus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgWidget],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blur",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgWidget],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onClose",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "allowRegularTip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "showToolTip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleScrollWheel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onMouseEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), nms_Slot, nms_Container],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonPress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onItemEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onKeypress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldPauseGame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isCrafting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "disable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendWindowClick",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Container, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat__tmi_MgButtonHandler.$meta.methods = [
        {
            name : "onButtonPress",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonRightClick",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat__tmi_MgItemHandler.$meta.methods = [
        {
            name : "onItemEvent",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat__tmi_MgFocusHandler.$meta.methods = [
        {
            name : "focus",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgWidget],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blur",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgWidget],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_StepSound.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVolume",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getPitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getBreakSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getStepSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPlaceSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_StepSoundStone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBreakSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPlaceSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_StepSoundSand.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBreakSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_StepSoundAnvil.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBreakSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPlaceSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_NoiseGeneratorPerlin.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lerp",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "func_76309_a",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "grad",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "populateNoiseArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_NoiseGenerator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockStone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockGrass.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getBlockTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRenderColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "colorMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIconSideOverlay",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }];
    nms_BlockDirt.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockWood.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockSapling.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "isSameSapling",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockFlower.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canThisPlantGrowOnThisBlockID",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkFlowerChange",
            modifiers : 4,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBlockStay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockFlowing.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateFlow",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flowIntoBlock",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "calculateFlowCost",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOptimalFlowDirections",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_booleancls()),
            callable : null
        }, {
            name : "blockBlocksFlow",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSmallestFlowDecay",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "liquidCanDisplaceBlock",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82506_l",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockFluid.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlockColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "colorMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFluidHeightPercent",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getFlowDecay",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEffectiveFlowDecay",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canCollideCheck",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlockSolid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFlowVector",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "velocityToAddToEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity, nms_Vec3],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMixedBrightnessForBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getRenderBlockPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFlowDirection",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Material],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkForHarden",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "triggerLavaMixEffects",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94424_b",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Icon,
            callable : null
        }];
    nms_BlockStationary.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setNotStationary",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isFlammable",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockSand.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tryToFall",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onStartFalling",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityFallingSand],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canFallBelow",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onFinishFalling",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockGravel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockOre.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDroppedWithBonus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockLog.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "limitToValidMetadata",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createStackedBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockLeaves.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRenderColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "colorMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeLeaves",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "setGraphicsLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createStackedBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockLeavesBase.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockSponge.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockGlass.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Material, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRenderBlockPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canSilkHarvest",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockBreakable.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_String, nms_Material, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockDispenser.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDispenserDefaultDirection",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "dispense",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBehaviorForItemStack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack],
            returnType : nms_IBehaviorDispenseItem,
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIPositionFromBlockSource",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_IBlockSource],
            returnType : nms_IPosition,
            callable : null
        }, {
            name : "getFacing",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_EnumFacing,
            callable : null
        }, {
            name : "hasComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockContainer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockEventReceived",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ITileEntityProvider.$meta.methods = [
        {
            name : "createNewTileEntity",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }];
    nms_BlockSandStone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockNote.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "onBlockEventReceived",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockBed.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBounds",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBlockHeadOfBed",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBedOccupied",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBedOccupied",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNearestEmptyChunkCoordinates",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_ChunkCoordinates,
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMobilityFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockHarvested",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockDirectional.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDirection",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockRailPowered.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94360_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94361_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94358_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockRailBase.$meta.methods = [
        {
            name : "isRailBlockAt",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isRailBlock",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPowered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "collisionRayTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Vec3, nms_Vec3],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94358_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "refreshTrackShape",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMobilityFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockDetectorRail.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isProvidingStrongPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setStateIfMinecartInteractsWithRail",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }];
    nms_BlockPistonBase.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPistonExtensionTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "func_96479_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "func_94496_b",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updatePistonState",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isIndirectlyPowered",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockEventReceived",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getOrientation",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isExtended",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "determineOrientation",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPushBlock",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canExtend",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "tryExtend",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockWeb.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEntityCollidedWithBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canSilkHarvest",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockTallGrass.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getBlockColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRenderColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "colorMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDroppedWithBonus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDamageValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockDeadBush.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canThisPlantGrowOnThisBlockID",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockPistonExtension.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setHeadTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearHeadTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDirectionMeta",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockCloth.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockFromDye",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDyeFromBlock",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockPistonMoving.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTileEntity",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_booleancls()],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAxisAlignedBB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getTileEntityAtLocation",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_TileEntityPiston,
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockMushroom.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canThisPlantGrowOnThisBlockID",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBlockStay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockOreStorage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockStep.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createStackedBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getFullSlabName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockHalfSlab.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlockSingleSlab",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFullSlabName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDamageValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockTNT.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockDestroyedByExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Explosion],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockDestroyedByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94391_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canDropFromExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Explosion],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockBookshelf.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockObsidian.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockTorch.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPlaceTorchOn",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94397_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "dropTorchIfCantStay",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "collisionRayTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Vec3, nms_Vec3],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockFire.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initializeBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBurnRate",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82506_l",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "tryToCatchBlockOnFire",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canNeighborBurn",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getChanceOfNeighborsEncouragingFire",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isCollidable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBlockCatchFire",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getChanceToEncourageFire",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94438_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }];
    nms_BlockMobSpawner.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockStairs.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Block, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82541_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBlockStairsID",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82540_f",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82542_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82544_h",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockDestroyedByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMixedBrightnessForBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getExplosionResistance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getRenderBlockPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSelectedBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "velocityToAddToEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity, nms_Vec3],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isCollidable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canCollideCheck",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEntityWalking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockDestroyedByExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Explosion],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "collisionRayTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Vec3, nms_Vec3],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unifyAdjacentChests",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isThereANeighborChest",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_IInventory,
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isProvidingStrongPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOcelotBlockingChest",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockRedstoneWire.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "colorMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateAndPropagateCurrentStrength",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "calculateCurrentChanges",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxCurrentStrength",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isProvidingStrongPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPowerProviderOrWire",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isPoweredOrRepeater",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94409_b",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Icon,
            callable : null
        }];
    nms_BlockWorkbench.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockCrops.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canThisPlantGrowOnThisBlockID",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fertilize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGrowthRate",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSeedItem",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCropItem",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockFarmland.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isCropsNearby",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isWaterNearby",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockFurnace.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDefaultDirection",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateFurnaceBlockState",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockSign.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_Class, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getSelectedBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntitySign.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDescriptionPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Packet,
            callable : null
        }, {
            name : "isEditable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setEditable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntity.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addMapping",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Class, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWorldObj",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_World,
            callable : null
        }, {
            name : "setWorldObj",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_70309_m",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createAndLoadEntity",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "getBlockMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDistanceFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getMaxRenderDistanceSquared",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getBlockType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Block,
            callable : null
        }, {
            name : "getDescriptionPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Packet,
            callable : null
        }, {
            name : "isInvalid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "invalidate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "validate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "receiveClientEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateContainingBlockInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getClassToNameMap",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockDoor.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getBlockTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSelectedBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDoorOrientation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isDoorOpen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setDoorRotation",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onPoweredBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "collisionRayTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Vec3, nms_Vec3],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMobilityFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFullMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockHarvested",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockLadder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getSelectedBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateLadderBounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockRail.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94358_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockLever.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPlaceBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "invertMetadata",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkIfAttachedToBlock",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isProvidingStrongPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockPressurePlate.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_String, nms_Material, nms_EnumMobType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMetaFromWeight",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPowerSupply",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPlateState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockBasePressurePlate.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_String, nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94353_c_",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setStateIfMobInteractsWithPlate",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSensitiveAABB",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94354_b_",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isProvidingStrongPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMobilityFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPlateState",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPowerSupply",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMetaFromWeight",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockRedstoneOre.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onEntityWalking",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "glow",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDroppedWithBonus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sparkle",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createStackedBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_BlockRedstoneTorch.$meta.methods = [
        {
            name : "checkForBurnout",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isIndirectlyPowered",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isProvidingStrongPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isAssociatedBlockID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockButtonStone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }];
    nms_BlockButton.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOrientation",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "redundantCanPlaceBlockAt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82534_e",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isProvidingStrongPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82535_o",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82536_d",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockSnow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForSnowDepth",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canSnowStay",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "harvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityPlayer, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockIce.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderBlockPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "harvestBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityPlayer, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMobilityFlag",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockSnowBlock.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockCactus.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getSelectedBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBlockStay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onEntityCollidedWithBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockClay.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockReed.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkBlockCoordValid",
            modifiers : 4,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBlockStay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockJukeBox.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "insertRecord",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ejectRecord",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockFence.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String, nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canConnectFenceTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isIdAFence",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockPumpkin.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockNetherrack.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockSoulSand.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "onEntityCollidedWithBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockGlowStone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quantityDroppedWithBonus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockPortal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "tryToCreatePortal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRenderBlockPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onEntityCollidedWithBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockCake.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getSelectedBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "eatCakeSlice",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBlockStay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockRedstoneRepeater.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94481_j_",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94485_e",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_BlockRedstoneLogic,
            callable : null
        }, {
            name : "func_94484_i",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_BlockRedstoneLogic,
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94476_e",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94477_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockRedstoneLogic.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBlockStay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_96470_c",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isProvidingStrongPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94479_f",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94476_e",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94478_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInputStrength",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94482_f",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94488_g",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94483_i_",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockDestroyedByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94477_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94480_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRedstoneRepeaterBlockID",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94487_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_83011_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94486_g",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94481_j_",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94485_e",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_BlockRedstoneLogic,
            callable : null
        }, {
            name : "func_94484_i",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_BlockRedstoneLogic,
            callable : null
        }, {
            name : "isAssociatedBlockID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockLockedChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockTrapDoor.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSelectedBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForBlockRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onPoweredBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "collisionRayTrace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_Vec3, nms_Vec3],
            returnType : nms_MovingObjectPosition,
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPlaceBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isTrapdoorOpen",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isValidSupportBlock",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockSilverfish.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPosingIdByMetadata",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMetadataForBlockType",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createStackedBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getDamageValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockStoneBrick.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockMushroomCap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Material, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockPane.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_String, jl_String, nms_Material, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSideTextureIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "canThisPaneConnectToThisBlockID",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canSilkHarvest",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createStackedBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockMelon.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDroppedWithBonus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockStem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Block],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canThisPlantGrowOnThisBlockID",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fertilizeStem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGrowthModifier",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getRenderColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "colorMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94368_p",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }];
    nms_BlockVine.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "canPlaceBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBePlacedOn",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canVineStay",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlockColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRenderColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "colorMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockFenceGate.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFenceGateOpen",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockMycelium.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getBlockTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockLilyPad.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getBlockColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRenderColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "colorMultiplier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canThisPlantGrowOnThisBlockID",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBlockStay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockNetherStalk.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canThisPlantGrowOnThisBlockID",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canBlockStay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockEnchantmentTable.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockBrewingStand.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrewingStandIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }];
    nms_BlockCauldron.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94375_b",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "fillWithRain",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockEndPortal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockEndPortalFrame.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94398_p",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEnderEyeInserted",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockDragonEgg.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fallIfPossible",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "teleportNearby",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockRedstoneLight.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockWoodSlab.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createStackedBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getFullSlabName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockCocoa.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "func_94468_i_",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBlockStay",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "getSelectedBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_72219_c",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDamageValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockEnderChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "quantityDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canSilkHarvest",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "randomDisplayTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockTripWireSource.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canPlaceBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onPostBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_72143_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playSoundEffect",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "notifyNeighborOfChange",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_72144_l",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isProvidingStrongPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockTripWire.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderBlockPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_72149_e",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTripWireState",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_72148_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_BlockCommandBlock.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockBeacon.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBeaconIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockWall.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Block],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "canConnectWallTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockFlowerPot.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsForItemRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDamageValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isFlowerPot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceBlockAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPlantForMeta",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getMetaForPlant",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockCarrot.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getSeedItem",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCropItem",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockPotato.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getSeedItem",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCropItem",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockButtonWood.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }];
    nms_BlockSkull.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCollisionBoundingBoxFromPool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDamageValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "dropBlockAsItemWithChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockHarvested",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "makeWither",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_TileEntitySkull],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82528_d",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getItemIconName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_BlockAnvil.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onStartFalling",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_EntityFallingSand],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onFinishFalling",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockPressurePlateWeighted.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), jl_String, nms_Material, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPlateState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPowerSupply",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMetaFromWeight",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "tickRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockComparator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "idDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "idPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94481_j_",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94485_e",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_BlockRedstoneLogic,
            callable : null
        }, {
            name : "func_94484_i",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_BlockRedstoneLogic,
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "func_96470_c",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94480_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94491_m",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94490_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94478_d",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInputStrength",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTileEntityComparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_TileEntityComparator,
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94479_f",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96476_c",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockEventReceived",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }];
    nms_BlockDaylightDetector.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateLightLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockPoweredOre.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canProvidePower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isProvidingWeakPower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_BlockHopper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockBoundsBasedOnState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCollisionBoxesToList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_AxisAlignedBB, ju_List, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "onBlockPlacedBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityLiving, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onBlockActivated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onNeighborBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateMetadata",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "breakBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderAsNormalBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shouldSideBeRendered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getDirectionFromMetadata",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIsBlockNotPoweredFromMetadata",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComparatorInputOverride",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHopperIcon",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getItemIconName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHopperTile",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_TileEntityHopper,
            callable : null
        }];
    nms_BlockQuartz.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "onBlockPlaced",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "damageDropped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createStackedBlock",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getRenderType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSubBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BlockDropper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBehaviorForItemStack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack],
            returnType : nms_IBehaviorDispenseItem,
            callable : null
        }, {
            name : "createNewTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "dispense",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemCloth.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }];
    nms_ItemBlock.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSpriteNumber",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceItemBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCreativeTab",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_CreativeTabs,
            callable : null
        }, {
            name : "getSubItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_CreativeTabs, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerIcons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IconRegister],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ItemMultiTextureTile.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Block, $rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }];
    nms_ItemSlab.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_BlockHalfSlab, nms_BlockHalfSlab, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canPlaceItemBlockOnSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_77888_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemLeaves.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getColorFromItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }];
    nms_ItemColored.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getColorFromItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlockNames",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_String)],
            returnType : nms_ItemColored,
            callable : null
        }, {
            name : "getUnlocalizedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }];
    nms_ItemSnow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Block],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ItemBlockWithMetadata.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_Block],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIconFromDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ItemLilyPad.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getColorFromItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ItemPiston.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ItemAnvilBlock.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_LinkedHashMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "containsValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "newElementArray",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls(ju_HashMap$HashEntry),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "createEntry",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls(), jl_Object],
            returnType : ju_HashMap$HashEntry,
            callable : null
        }, {
            name : "createHashedEntry",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls(), $rt_intcls()],
            returnType : ju_HashMap$HashEntry,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "putImpl",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "linkEntry",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_LinkedHashMap$LinkedHashMapEntry],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entrySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "keySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "values",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "removeEldestEntry",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [ju_Map$Entry],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_LinkedHashMap],
            returnType : ju_LinkedHashMap$LinkedHashMapEntry,
            callable : null
        }, {
            name : "access$102",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_LinkedHashMap, ju_LinkedHashMap$LinkedHashMapEntry],
            returnType : ju_LinkedHashMap$LinkedHashMapEntry,
            callable : null
        }, {
            name : "access$002",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_LinkedHashMap, ju_LinkedHashMap$LinkedHashMapEntry],
            returnType : ju_LinkedHashMap$LinkedHashMapEntry,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_0.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_3.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_4.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_5.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_6.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_7.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_8.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_9.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_10.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_11.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_12.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_13.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_14.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_15.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_16.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityMinecartEmpty.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMinecartType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_17.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityMinecartChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "killMinecart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinecartType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDefaultDisplayTile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Block,
            callable : null
        }, {
            name : "getDefaultDisplayTileOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EntityMinecartContainer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "killMinecart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "travelToDimension",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "applyDrag",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_18.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityMinecartFurnace.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinecartType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "killMinecart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateOnTrack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "applyDrag",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isMinecartPowered",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setMinecartPowered",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDefaultDisplayTile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Block,
            callable : null
        }, {
            name : "getDefaultDisplayTileData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_19.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_20.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityMinecartHopper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinecartType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDefaultDisplayTile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Block,
            callable : null
        }, {
            name : "getDefaultDisplayTileOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onActivatorRailPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlocked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlocked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWorldObj",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_World,
            callable : null
        }, {
            name : "getXPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getYPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getZPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "func_96112_aD",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "killMinecart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTransferTicker",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canTransfer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Hopper.$meta.methods = [
        {
            name : "getWorldObj",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_World,
            callable : null
        }, {
            name : "getXPos",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getYPos",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getZPos",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_21.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_22.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_23.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_24.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_25.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_26.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_27.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_28.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityPigZombie.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAIEnabled",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCanSpawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "findPlayerToAttack",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "becomeAngryAt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLivingSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHurtSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDeathSound",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "dropFewItems",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "interact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "dropRareDrop",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDropItemId",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "addRandomArmor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAttackStrength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_29.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_30.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_31.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_32.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_33.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_34.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_35.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_36.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_37.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_38.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_39.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_40.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_41.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_42.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_43.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_44.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_45.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_46.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_47.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_48.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_49.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    nms_EntityList$_clinit_$lambda$_61_50.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "apply",
            modifiers : 64,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "apply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : nms_Entity,
            callable : null
        }];
    ju_Collections$5.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    ju_Collections$6.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entrySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }];
    ju_Collections$3.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jn_FloatBufferOverArray.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readOnly",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "order",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }];
    jn_FloatBufferImpl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "slice",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "compact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isReadOnly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readOnly",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EnumToolMaterial.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumToolMaterial),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumToolMaterial,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxUses",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEfficiencyOnProperMaterial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getDamageVsEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHarvestLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getToolCraftingMaterial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_CreativeTabs.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTabLabel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTranslatedTabLabel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTabIconItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Item,
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBackgroundImageName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setBackgroundImageName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_CreativeTabs,
            callable : null
        }, {
            name : "drawInForegroundOfTab",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setNoTitle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_CreativeTabs,
            callable : null
        }, {
            name : "shouldHidePlayerInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setNoScrollbar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_CreativeTabs,
            callable : null
        }, {
            name : "getTabColumn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isTabInFirstRow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "displayAllReleventItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92116_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List, $rt_arraycls(nms_EnumEnchantmentType)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_PotionHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkFlag",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFlagSet",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isFlagUnset",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_77909_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "calcPotionLiquidColor",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82817_b",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_77915_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_77905_c",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_77904_a",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "countSetFlags",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "parsePotionEffects",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPotionEffects",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "brewBitOperations",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "applyIngredient",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_77908_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnumArmorMaterial.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumArmorMaterial),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumArmorMaterial,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDurability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDamageReductionAmount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getArmorCraftingMaterial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Potion.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setIconIndex",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Potion,
            callable : null
        }, {
            name : "getId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "performEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "affectEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, nms_EntityLiving, $rt_intcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInstant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isReady",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPotionName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Potion,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasStatusIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStatusIconIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isBadEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDurationString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_PotionEffect],
            returnType : jl_String,
            callable : null
        }, {
            name : "setEffectiveness",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_doublecls()],
            returnType : nms_Potion,
            callable : null
        }, {
            name : "getEffectiveness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "isUsable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getLiquidColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Material.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MapColor],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isLiquid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSolid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCanBlockGrass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "blocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setTranslucent",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : nms_Material,
            callable : null
        }, {
            name : "setRequiresTool",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Material,
            callable : null
        }, {
            name : "setBurning",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Material,
            callable : null
        }, {
            name : "getCanBurn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setReplaceable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Material,
            callable : null
        }, {
            name : "isReplaceable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaque",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isToolNotRequired",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMaterialMobility",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNoPushMobility",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Material,
            callable : null
        }, {
            name : "setImmovableMobility",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Material,
            callable : null
        }, {
            name : "setAlwaysHarvested",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_Material,
            callable : null
        }, {
            name : "isAlwaysHarvested",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlegv_Vector2f.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_ReadableVector2f],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_ReadableVector2f],
            returnType : nlegv_Vector2f,
            callable : null
        }, {
            name : "lengthSquared",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "translate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : nlegv_Vector2f,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector2f],
            returnType : nlegv_Vector2f,
            callable : null
        }, {
            name : "normalise",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector2f],
            returnType : nlegv_Vector2f,
            callable : null
        }, {
            name : "dot",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector2f, nlegv_Vector2f],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "angle",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector2f, nlegv_Vector2f],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector2f, nlegv_Vector2f, nlegv_Vector2f],
            returnType : nlegv_Vector2f,
            callable : null
        }, {
            name : "sub",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nlegv_Vector2f, nlegv_Vector2f, nlegv_Vector2f],
            returnType : nlegv_Vector2f,
            callable : null
        }, {
            name : "store",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "load",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_FloatBuffer],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "scale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : nlegv_Vector,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getX",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getY",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setX",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setY",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat_TMI.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(maat_TMI),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : maat_TMI,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnumMobType.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumMobType),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumMobType,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityEggInfo.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_CreativeTabBlock.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_CreativeTabDeco.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_CreativeTabRedstone.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_CreativeTabTransport.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_CreativeTabMisc.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "displayAllReleventItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_CreativeTabSearch.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_CreativeTabFood.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_CreativeTabTools.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "displayAllReleventItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_CreativeTabCombat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "displayAllReleventItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_CreativeTabBrewing.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_CreativeTabMaterial.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_CreativeTabInventory.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIconItemIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_PotionHealth.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInstant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isReady",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_MaterialTransparent.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MapColor],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSolid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCanBlockGrass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "blocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_MaterialLiquid.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MapColor],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isLiquid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "blocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSolid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_MaterialLogic.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MapColor],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSolid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCanBlockGrass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "blocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_MaterialPortal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MapColor],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSolid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCanBlockGrass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "blocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_MaterialWeb.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_MapColor],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blocksMovement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ju_TreeMap$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_TreeMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_MapColor.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_StatTypeSimple.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }];
    nms_IStatType.$meta.methods = [
        {
            name : "format",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }];
    nms_StatTypeTime.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }];
    nms_StatTypeDistance.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }];
    ju_Hashtable$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasMoreElements",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextElement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    ju_Enumeration.$meta.methods = [
        {
            name : "hasMoreElements",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextElement",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    ju_Hashtable$2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Hashtable$Entry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "setValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getKeyHash",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equalsKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    maat_TMIConfig.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isMultiplayer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maat_TMIConfig,
            callable : null
        }, {
            name : "getSettings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "getItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "getEnchantableItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "getHotkey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNumSaves",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isStateSaved",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls(nms_ItemStack),
            callable : null
        }, {
            name : "getBooleanSetting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toggleEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isTool",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Item],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canItemBeUnlimited",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Item],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "areDamageVariantsShown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clearState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "encodeState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "decodeState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFavorites",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "decodeFavorites",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "encodeFavorites",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canDelete",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canChangeWeather",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canChangeCreativeMode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canChangeTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canChangeHealth",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canRestoreSaves",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canChangeDifficulty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMIItemInfo.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hideItem",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isHidden",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addFallbackName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasFallbackName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFallbackName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "setMaxDamageException",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxDamageException",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "packItemIDAndDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "unpackItemID",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "unpackDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "showItemWithDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "showItemWithDamageRange",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isShown",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addItemOffset",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_SortedSet.$meta.methods = [
        {
            name : "comparator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "subSet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : ju_SortedSet,
            callable : null
        }, {
            name : "headSet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_SortedSet,
            callable : null
        }, {
            name : "tailSet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_SortedSet,
            callable : null
        }, {
            name : "first",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "last",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    maat_TMIPrivateFields.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSpawnerEntityIdSet",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_SortedSet,
            callable : null
        }];
    ju_TreeSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_SortedSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "comparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Comparator,
            callable : null
        }, {
            name : "subSet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : ju_SortedSet,
            callable : null
        }, {
            name : "headSet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_SortedSet,
            callable : null
        }, {
            name : "tailSet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_SortedSet,
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "last",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "lower",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "floor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "ceiling",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "higher",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "pollFirst",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "pollLast",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "descendingSet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "descendingIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "subSet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls(), jl_Object, $rt_booleancls()],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "headSet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "tailSet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_NavigableSet.$meta.methods = [
        {
            name : "lower",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "floor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "ceiling",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "higher",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "pollFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "pollLast",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "descendingSet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "descendingIterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "subSet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls(), jl_Object, $rt_booleancls()],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "headSet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : ju_NavigableSet,
            callable : null
        }, {
            name : "tailSet",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : ju_NavigableSet,
            callable : null
        }];
    ju_HashMap$ValueIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_HashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    ju_HashMap$AbstractMapIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_HashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "checkConcurrentMod",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "makeNext",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnci_UTF8Decoder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jnc_Charset],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "arrayDecode",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls(), jnci_BufferedDecoder$Controller],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "checkMidByte",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jnci_BufferedDecoder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jnc_Charset, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "decodeLoop",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_ByteBuffer, jn_CharBuffer],
            returnType : jnc_CoderResult,
            callable : null
        }, {
            name : "arrayDecode",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), $rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls(), jnci_BufferedDecoder$Controller],
            returnType : jnc_CoderResult,
            callable : null
        }];
    ju_HashMap$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_HashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    ju_HashMap$HashMapEntrySet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_HashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hashMap",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_HashMap,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "valuesEq",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_Map$Entry, ju_Map$Entry],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    ju_LinkedHashMap$LinkedHashMapEntry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    maat__tmi_MgCanvas.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, nms_RenderItem],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGradientRectDirect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawRect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawText",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawText",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawTextCentered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawTextCentered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawText",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawTip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawMultilineTip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawMultilineTip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), ju_List, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawChrome",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawChrome",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), maat__tmi_MgImage],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sortByZOrder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawWidgets",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTextWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTextWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "flatMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hardSetFlatMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "arrangeHorizontally",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls(maat__tmi_MgWidget)],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMIView.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, maat_TMIConfig, maat_TMIController],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createWidgets",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "layout",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "determineTooltip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInitialized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setTooltip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTooltip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasTooltip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "showToolTip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat__tmi_MgTooltipHandler.$meta.methods = [
        {
            name : "setTooltip",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntitySkull.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDescriptionPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Packet,
            callable : null
        }, {
            name : "setSkullType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSkullType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82119_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setSkullRotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getExtraType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaLowerCase$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaLowerCase],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaUpperCase$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaUpperCase],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaWhitespace$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaWhitespace],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaMirrored$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaMirrored],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaDefined$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaDefined],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaDigit$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaDigit],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaIdentifierIgnorable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaISOControl$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaISOControl],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaJavaIdentifierPart],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaJavaIdentifierStart],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaLetter$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaLetter],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaLetterOrDigit$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaLetterOrDigit],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaSpaceChar$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaSpaceChar],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaTitleCase$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaTitleCase],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_UnicodeCategory.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_UnicodeCategoryScope.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_GuiGameOver.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doesGuiPauseGame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiIngameMenu.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_WorldRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, ju_List, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setupGLTranslation",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRenderer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "distanceToEntitySquared",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setDontDraw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stopRendering",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGLCallListForPass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateInFrustum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ICamera],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "callOcclusionQueryList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "skipAllRenderPasses",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "markDirty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySorter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sortByDistanceToEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_WorldRenderer, nms_WorldRenderer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_DestroyBlockProgress.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPartialBlockX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPartialBlockY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPartialBlockZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setPartialBlockDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPartialBlockDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setCloudUpdateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCreationCloudUpdateTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EntityFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "multiplyVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : nms_EntityFX,
            callable : null
        }, {
            name : "multipleParticleScaleBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : nms_EntityFX,
            callable : null
        }, {
            name : "setRBGColorF",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAlphaF",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRedColorF",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getGreenColorF",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getBlueColorF",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "canTriggerWalking",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFXLayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setParticleIcon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_RenderEngine, nms_Icon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setParticleTextureIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "nextTextureIndexX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canAttackWithItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jt_DecimalFormat$MinusField.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DecimalFormat, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_ListIterator.$meta.methods = [
        {
            name : "hasPrevious",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "previous",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "nextIndex",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "previousIndex",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityDiggingFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_Block, $rt_intcls(), $rt_intcls(), nms_RenderEngine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_70596_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_EntityDiggingFX,
            callable : null
        }, {
            name : "applyRenderColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_EntityDiggingFX,
            callable : null
        }, {
            name : "getFXLayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_FloatBufferOverByteBufferLittleEndian.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jn_ByteBufferImpl, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "order",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }];
    jn_FloatBufferOverByteBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jn_ByteBufferImpl, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readOnly",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jn_FloatBufferOverByteBufferBigEndian.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jn_ByteBufferImpl, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "order",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }];
    nms_ModelBox.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ModelRenderer, $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_78244_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_ModelBox,
            callable : null
        }];
    nms_TextureOffset.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_TreeMap$TreeNode.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "balance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "factor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "rotateRight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "rotateLeft",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "fix",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forward",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }, {
            name : "down",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : ju_TreeMap$TreeNode,
            callable : null
        }];
    ju_AbstractMap$SimpleEntry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map$Entry],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "setValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jl_ArithmeticException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnc_CharacterCodingException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disableStandardItemLighting",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enableStandardItemLighting",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enableStandardItemLighting2",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enableGUIStandardItemLighting",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enableGUIStandardItemLighting2",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat__tmi_MgTabView.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, maat__tmi_MgImage, maat__tmi_MgImage, maat__tmi_MgWidget],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : maat__tmi_MgWidget,
            callable : null
        }, {
            name : "getActiveChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maat__tmi_MgWidget,
            callable : null
        }, {
            name : "getActiveChildName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setActiveChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat__tmi_MgWidget.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getComparator",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maat__tmi_MgZOrder,
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "position",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "delegateClickToChildren",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "drawChildren",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMIEnchantPanel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgTooltipHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createChildren",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "chooseItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onButtonPress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat_TMIConfigPanel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat_TMIPotionPanel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEffects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "createCurrentPotion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "openEffectPicker",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat_TMIPotionEffectControl],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pickerPicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEffectControl",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat_TMIPotionEffectControl],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onButtonPress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMIFireworkPanel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createCurrentItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onButtonPress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "reLabel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat__tmi_MgButton.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, maat__tmi_MgButtonHandler, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String, maat__tmi_MgButtonHandler, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOwnWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "graphicWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMargin",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "scaleFactor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "neededWidth",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [maat__tmi_MgCanvas, jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "drawGraphic",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat_TMIUtils.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "configFile",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maa_File,
            callable : null
        }, {
            name : "nbtFile",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maa_File,
            callable : null
        }, {
            name : "loadPreferences",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [maat_TMIConfig],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "savePreferences",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [maat_TMIConfig],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveNBTFile",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [maat_TMIConfig],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadNBTFile",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [maat_TMIConfig],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadItems",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [maat_TMIConfig],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "makeRandomFireworkSpawner",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "makeSingleSpawner",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "makeFirework",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_booleancls(), $rt_booleancls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "makeExplosionTag",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_booleancls(), $rt_booleancls()],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "makeRandomFirework",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "randomBrightColor",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "makeFireworksTag",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls(nms_NBTTagCompound)],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "deaccent",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "filterItems",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, maat_TMIConfig],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "safeReportException",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Exception],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "itemDisplayNameMultiline",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_booleancls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "itemDisplayNameMultiline",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_booleancls(), $rt_booleancls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "itemDisplayName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "isValidItem",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getValidItem",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getValidItemDisplayName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : jl_String,
            callable : null
        }, {
            name : "setHeldItem",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteHeldItem",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHeldItem",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "giveStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, maat_TMIConfig],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "giveStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, maat_TMIConfig, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "copyStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "updateUnlimitedItems",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setStackDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteInventory",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteItemsOfType",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_GuiContainer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shiftKey",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getGameMode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setGameMode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isCreativeMode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setCreativeMode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isCreativeSearchTab",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isRaining",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setRaining",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setHourForward",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "logWithTrace",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "logWithTrace",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "playerIsAlive",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPlayerHealth",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillHunger",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "incrementDifficulty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDifficultyString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "suppressAchievementNotice",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "maxStackSize",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEnchantments",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : ju_List,
            callable : null
        }, {
            name : "addEnchantment",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addEffectToPotion",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_PotionEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "nameStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addLore",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTagCompoundWithCreate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, jl_String],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "getPlayer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityClientPlayerMP,
            callable : null
        }, {
            name : "fastTransfer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_Container],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEnchantmentNormallyPossible",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment, nms_Item],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEnchantmentNormallyPossible",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPossibleEnchantments",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Item],
            returnType : ju_List,
            callable : null
        }, {
            name : "replaceCustomItems",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dumpItemList",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unsetItem",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Item,
            callable : null
        }, {
            name : "unsetAndSaveItem",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "modMobSpawner",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "modMushroomBlock",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "modCrops",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "modSnowCover",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetItems",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_PotionEffect.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PotionEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "combine",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PotionEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPotionID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAmplifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isSplashPotionEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSplashPotion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIsAmbient",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "deincrementDuration",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "performEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEffectName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeCustomPotionEffectToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "readCustomPotionEffectFromNBT",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : nms_PotionEffect,
            callable : null
        }, {
            name : "setPotionDurationMax",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIsPotionDurationMax",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [otjw_AudioBufferSourceNode, otjw_PannerNode, otjw_GainNode],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 32,
            accessLevel : 0,
            parameterTypes : [otjw_AudioBufferSourceNode, otjw_PannerNode, otjw_GainNode, nlea_EaglerAdapterImpl2$1],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$4000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX],
            returnType : otjw_AudioBufferSourceNode,
            callable : null
        }, {
            name : "access$4100",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX],
            returnType : otjw_GainNode,
            callable : null
        }, {
            name : "access$4200",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX],
            returnType : otjw_PannerNode,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$24.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjw_MediaEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nms_BiomeGenBase.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTemperatureRainfall",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "setMinMaxHeight",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "setDisableRain",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "setEnableSnow",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "setBiomeName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "func_76733_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "setColor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "getSkyColorByTemp",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "HSBtoRGB",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSpawnableList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumCreatureType],
            returnType : ju_List,
            callable : null
        }, {
            name : "getEnableSnow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canSpawnLightningBolt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isHighHumidity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSpawningChance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getIntRainfall",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIntTemperature",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFloatRainfall",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getFloatTemperature",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getBiomeGrassColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBiomeFoliageColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySmokeFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityRainFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_BossStatus.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82824_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_IBossDisplayData, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$23.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjw_MediaEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    jt_DecimalFormat$MantissaAndExponent.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jm_BigDecimal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls(), jm_MathContext],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), jm_MathContext],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jm_MathContext],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), jm_MathContext],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger, jm_MathContext],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger, $rt_intcls(), jm_MathContext],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jm_MathContext],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), jm_MathContext],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "addAndMult10",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jm_BigDecimal, jm_BigDecimal, $rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "subtract",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "subtract",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "multiply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "multiply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "divide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, $rt_intcls(), $rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "divide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, $rt_intcls(), jm_RoundingMode],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "divideBigIntegers",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jm_BigInteger, jm_BigInteger, $rt_intcls(), jm_RoundingMode],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "dividePrimitiveLongs",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_longcls(), $rt_intcls(), jm_RoundingMode],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "divide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, $rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "divide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, jm_RoundingMode],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "divide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "divide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "divideToIntegralValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "divideToIntegralValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "remainder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "remainder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "divideAndRemainder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal],
            returnType : $rt_arraycls(jm_BigDecimal),
            callable : null
        }, {
            name : "divideAndRemainder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal, jm_MathContext],
            returnType : $rt_arraycls(jm_BigDecimal),
            callable : null
        }, {
            name : "pow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "pow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "abs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "abs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "plus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "plus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "signum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isZero",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "scale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "precision",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "unscaledValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "round",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_MathContext],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "setScale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jm_RoundingMode],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "setScale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "setScale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "movePointLeft",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "movePoint",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "movePointRight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "scaleByPowerOfTen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "stripTrailingZeros",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "min",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "max",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toEngineeringString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toPlainString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toBigInteger",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "toBigIntegerExact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "longValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "longValueExact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "intValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "intValueExact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shortValueExact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "byteValueExact",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "ulp",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "inplaceRound",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jm_MathContext],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "longCompareTo",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "smallRound",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jm_MathContext, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "roundingBehavior",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jm_RoundingMode],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "valueExact",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "aproxPrecision",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toIntScale",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "zeroScaledBy",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "getUnscaledValue",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "setUnscaledValue",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jm_BigInteger],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bitLength",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "bitLength",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_PositionTextureVertex.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTexturePosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : nms_PositionTextureVertex,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PositionTextureVertex, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TexturedQuad.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(nms_PositionTextureVertex)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(nms_PositionTextureVertex), nms_Vec3, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flipFace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_WorldProvider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerWorld",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "generateLightBrightnessTable",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerWorldChunkManager",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canCoordinateBeSpawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "calculateCelestialAngle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMoonPhase",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isSurfaceWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "calcSunriseSunsetColors",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "getFogColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "canRespawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getProviderForDimension",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_WorldProvider,
            callable : null
        }, {
            name : "getCloudHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "isSkyColored",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEntrancePortalLocation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ChunkCoordinates,
            callable : null
        }, {
            name : "getAverageGroundLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getWorldHasVoidParticles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getVoidFogYFactor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "doesXZShowFog",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDimensionName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    maat__tmi_MgTextField.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, jl_String, maat__tmi_MgFocusHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "keypress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "blur",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "value",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat__tmi_MgItemButton.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, maat__tmi_MgButtonHandler, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_ItemStack, maat__tmi_MgButtonHandler, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "graphicWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "drawGraphic",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat_TMIEnchantItemPicker.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat_TMIEnchantPanel],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "open",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonPress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat_TMIPotionEffectPicker.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat_TMIPotionPanel],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "countAvailablePotions",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAvailablePotions",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_Potion),
            callable : null
        }, {
            name : "onButtonPress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat_TMIPotionEffectControl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat_TMIPotionPanel],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat_TMIPotionPanel],
            returnType : maat_TMIPotionEffectControl,
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInstant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonPress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ju_Random.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextBytes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "nextInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "nextBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "nextDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "crand",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "nextGaussian",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "random",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "random$js_body$_13",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    jl_ClassNotFoundException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getException",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Throwable,
            callable : null
        }];
    jl_ReflectiveOperationException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMIItemMushroomCap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    maat_TMIItemSpawner.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onItemUse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_EntityPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maat_TMIItemCrop.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$AudioBufferX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [otjw_AudioBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 32,
            accessLevel : 0,
            parameterTypes : [otjw_AudioBuffer, nlea_EaglerAdapterImpl2$1],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$3700",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$AudioBufferX],
            returnType : otjw_AudioBuffer,
            callable : null
        }];
    jm_BigInteger.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Random],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), ju_Random],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "toByteArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "setFromString",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jm_BigInteger, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "abs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "subtract",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "signum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shiftRight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "shiftLeft",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "shiftLeftOneBit",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "bitLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "testBit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "clearBit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "flipBit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "getLowestSetBit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "bitCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "not",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "and",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "or",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "xor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "andNot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "intValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "longValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "min",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "max",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equalsArrays",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "gcd",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "multiply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "pow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "divideAndRemainder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : $rt_arraycls(jm_BigInteger),
            callable : null
        }, {
            name : "divide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "remainder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "modInverse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "modPow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "mod",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "isProbablePrime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nextProbablePrime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "probablePrime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Random],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "cutOffLeadingZeroes",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOne",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "putBytesPositiveToIntegers",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "putBytesNegativeToIntegers",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFirstNonzeroDigit",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "unCache",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPowerOfTwo",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_AchievementMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGuid",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMIImages.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Arrays$ArrayAsList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$21.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onSuccess",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjw_AudioBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onSuccess$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjw_DecodeSuccessCallback.$meta.methods = [
        {
            name : "onSuccess",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$22.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onError",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onError$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjw_DecodeErrorCallback.$meta.methods = [
        {
            name : "onError",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_DecimalFormat$1.$meta.methods = [
        {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiTextField.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateCursorCounter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setText",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getText",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSelectedtext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "writeText",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteWords",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteFromCursor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNthWordFromCursor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNthWordFromPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_73798_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "moveCursorBy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCursorPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCursorPositionZero",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCursorPositionEnd",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "textboxKeyTyped",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawTextBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawCursorVertical",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMaxStringLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxStringLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCursorPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEnableBackgroundDrawing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setEnableBackgroundDrawing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTextColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDisabledTextColour",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFocused",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isFocused",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSelectionEnd",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setSelectionPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCanLoseFocus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVisible",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setVisible",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat__tmi_MgImage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jm_Multiplication.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "multiply",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "karatsuba",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "multiplyPAP",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "multArraysPAP",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "multPAP",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "multiplyByInt",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "multiplyByInt",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "multiplyByPositiveInt",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "pow",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "square",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls())],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "multiplyByTenPow",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_longcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "powerOf10",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_longcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "multiplyByFivePow",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "unsignedMultAddAdd",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_DataWatcher.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addObjectByDataType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWatchableObjectByte",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "getWatchableObjectShort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "getWatchableObjectInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getWatchableObjectString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getWatchableObjectItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getWatchedObject",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : nms_WatchableObject,
            callable : null
        }, {
            name : "updateObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setObjectWatched",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasChanges",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeObjectsInListToStream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_List, ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unwatchAndReturnAllWatched",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "writeWatchableObjects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAllWatched",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "writeWatchableObject",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ji_DataOutputStream, nms_WatchableObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readWatchableObjects",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : ju_List,
            callable : null
        }, {
            name : "updateWatchedObjectsFromList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIsBlank",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maa_Color.$meta.methods = [
        {
            name : "testColorValueRange",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "testColorValueRange",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getGreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAlpha",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRGB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "brighter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maa_Color,
            callable : null
        }, {
            name : "darker",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maa_Color,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "decode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : maa_Color,
            callable : null
        }, {
            name : "getColor",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : maa_Color,
            callable : null
        }, {
            name : "getColor",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, maa_Color],
            returnType : maa_Color,
            callable : null
        }, {
            name : "getColor",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : maa_Color,
            callable : null
        }, {
            name : "HSBtoRGB",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "RGBtoHSB",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_arraycls($rt_floatcls())],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "getHSBColor",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : maa_Color,
            callable : null
        }, {
            name : "getRGBComponents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "getRGBColorComponents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "getComponents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "getColorComponents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnumEntitySize.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumEntitySize),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumEntitySize,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "multiplyBy32AndRound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Byte.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "intValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "longValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "byteValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : jl_Byte,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls(), $rt_bytecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Byte],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "parseByte",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "parseByte",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : jl_Byte,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Byte,
            callable : null
        }, {
            name : "decode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Byte,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Short.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "intValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "longValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "shortValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : jl_Short,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls(), $rt_shortcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Short],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "parseShort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "parseShort",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : jl_Short,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Short,
            callable : null
        }, {
            name : "decode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Short,
            callable : null
        }, {
            name : "reverseBytes",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ChunkCoordinates.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ChunkCoordinates],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareChunkCoordinate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ChunkCoordinates],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDistanceSquared",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getDistanceSquaredToChunkCoordinates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ChunkCoordinates],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_HashMap$KeyIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_HashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    ju_HashMap$EntryIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_HashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "next",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    nms_GuiContainerCreative.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMouseClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Slot, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateCreativeSearch",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseMovedOrUp",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "needsScrollBars",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setCurrentCreativeTab",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_CreativeTabs],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMouseInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_74232_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_CreativeTabs, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderCreativeInventoryHoveringText",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_CreativeTabs, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderCreativeTab",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_CreativeTabs],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_74230_h",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getInventory",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : nms_InventoryBasic,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiButton.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHoverState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "drawButton",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseDragged",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseReleased",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mousePressed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82252_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82251_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_WorldInfo.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_WorldSettings, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNBTTagCompound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "cloneNBTCompound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "updateTagCompound",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_NBTTagCompound, nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getSpawnX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSpawnY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSpawnZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getWorldTotalTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getWorldTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getSizeOnDisk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getPlayerNBTTagCompound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "getDimension",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setSpawnX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSpawnY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSpawnZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "incrementTotalWorldTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setWorldTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSpawnPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWorldName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setWorldName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSaveVersion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setSaveVersion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLastTimePlayed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "isThundering",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setThundering",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getThunderTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setThunderTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isRaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setRaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRainTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setRainTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGameType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumGameType,
            callable : null
        }, {
            name : "isMapFeaturesEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setGameType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumGameType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isHardcoreModeEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTerrainType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_WorldType,
            callable : null
        }, {
            name : "setTerrainType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_WorldType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGeneratorOptions",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "areCommandsAllowed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInitialized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setServerInitialized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGameRulesInstance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_GameRules,
            callable : null
        }, {
            name : "getTerrainTypeOfWorld",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : nms_WorldType,
            callable : null
        }, {
            name : "getMapFeaturesEnabled",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getWorldGeneratorOptions",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSpawnXCoordinate",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSpawnYCoordinate",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSpawnZCoordinate",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_85126_g",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getWorldTime",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "func_85122_i",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSaveVersion",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRainTime",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRaining",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getThunderTime",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getThundering",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getGameType",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : nms_EnumGameType,
            callable : null
        }, {
            name : "func_85117_p",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_85131_q",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Frustrum.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBoxInFrustum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBoundingBoxInFrustum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ICamera.$meta.methods = [
        {
            name : "isBoundingBoxInFrustum",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_AxisAlignedBB],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_FoodStats.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addStats",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addStats",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemFood],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFoodLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPrevFoodLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "needFood",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addExhaustion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSaturationLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setFoodLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFoodSaturationLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_EnumBrowser.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nle_EnumBrowser),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nle_EnumBrowser,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrowser",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nle_EnumBrowser,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Scoreboard.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getObjective",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_ScoreObjective,
            callable : null
        }, {
            name : "func_96535_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_ScoreObjectiveCriteria],
            returnType : nms_ScoreObjective,
            callable : null
        }, {
            name : "func_96520_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScoreObjectiveCriteria],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "func_96529_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_ScoreObjective],
            returnType : nms_Score,
            callable : null
        }, {
            name : "func_96534_i",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScoreObjective],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "getScoreObjectives",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "getObjectiveNames",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "func_96515_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96528_e",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "func_96510_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ju_Map,
            callable : null
        }, {
            name : "func_96519_k",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScoreObjective],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96530_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ScoreObjective],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96539_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ScoreObjective,
            callable : null
        }, {
            name : "func_96508_e",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_ScorePlayerTeam,
            callable : null
        }, {
            name : "func_96527_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_ScorePlayerTeam,
            callable : null
        }, {
            name : "func_96511_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScorePlayerTeam],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96521_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_ScorePlayerTeam],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96524_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removePlayerFromTeam",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_ScorePlayerTeam],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96531_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "func_96525_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "getPlayersTeam",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_ScorePlayerTeam,
            callable : null
        }, {
            name : "func_96522_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScoreObjective],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96532_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScoreObjective],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96533_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScoreObjective],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96536_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Score],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96516_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96523_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScorePlayerTeam],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96538_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScorePlayerTeam],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96513_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScorePlayerTeam],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getObjectiveDisplaySlot",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getObjectiveDisplaySlotNumber",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_GuiPlayerInfo.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ScoreObjective.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Scoreboard, jl_String, nms_ScoreObjectiveCriteria],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getScoreboard",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Scoreboard,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCriteria",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ScoreObjectiveCriteria,
            callable : null
        }, {
            name : "getDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setDisplayName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Score.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Scoreboard, nms_ScoreObjective, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96649_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96646_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96648_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96652_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_96647_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96645_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ScoreObjective,
            callable : null
        }, {
            name : "func_96653_e",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_96650_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Scoreboard,
            callable : null
        }, {
            name : "func_96651_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_AbstractMap$KeySet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_AbstractMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 32,
            accessLevel : 0,
            parameterTypes : [ju_AbstractMap, ju_AbstractMap$1],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_CRC32.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "update",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "combine",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), $rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "gf2_matrix_times",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "gf2_matrix_square",
            modifiers : 516,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_arraycls($rt_longcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : cjj_CRC32,
            callable : null
        }, {
            name : "getCRC32Table",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "copy",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : cjj_Checksum,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_GZIPHeader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setModifiedTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getModifiedTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setOS",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOS",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setComment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getComment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setCRC",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCRC",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [cjj_Deflate],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    nms_StitchHolder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Texture],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98150_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Texture,
            callable : null
        }, {
            name : "getWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "rotate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isRotated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "ceil16",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNewDimension",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "compareToStitchHolder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_StitchHolder],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Stitcher.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addStitchHolder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_StitchHolder],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Texture,
            callable : null
        }, {
            name : "doStitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStichSlots",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "getCeilPowerOf2",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "allocateSlot",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_StitchHolder],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "expandAndAllocateSlot",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_StitchHolder],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Texture.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglerImage],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nle_EaglerImage],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTextureRect",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Rect2i,
            callable : null
        }, {
            name : "fillRect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Rect2i, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeImage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_Texture, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_104062_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_Texture],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "transferFromImage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nle_EaglerImage],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTextureId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getGlTextureId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTextureName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uploadTexture",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTextureData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteBuffer,
            callable : null
        }];
    nms_TextureStitched.$meta.methods = [
        {
            name : "makeTextureStitched",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_TextureStitched,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Texture, ju_List, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TextureStitched],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOriginX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOriginY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinU",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMaxU",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getInterpolatedU",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMinV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMaxV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getInterpolatedV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getIconName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSheetWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSheetHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateAnimation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readAnimationInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_StitchSlot.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStitchHolder",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_StitchHolder,
            callable : null
        }, {
            name : "getOriginX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOriginY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94182_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_StitchHolder],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAllStitchSlots",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_Packet204ClientInfo.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLanguage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getRenderDistance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChatVisibility",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChatColours",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDifficulty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getShowCape",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_NetClientHandler.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "cleanup",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processReadPackets",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleServerAuthData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet253ServerAuthData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSharedKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet252SharedKey],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleLogin",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet1Login],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleVehicleSpawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet23VehicleSpawn],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityExpOrb",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet26EntityExpOrb],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleWeather",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet71Weather],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityPainting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet25EntityPainting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet28EntityVelocity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet40EntityMetadata],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleNamedEntitySpawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet20NamedEntitySpawn],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityTeleport",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet34EntityTeleport],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleBlockItemSwitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet16BlockItemSwitch],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet30Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityHeadRotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet35EntityHeadRotation],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleDestroyEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet29DestroyEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleFlying",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet10Flying],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMultiBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet52MultiBlockChange],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMapChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet51MapChunk],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet53BlockChange],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleKickDisconnect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet255KickDisconnect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleErrorMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quitWithPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addToSendQueue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleCollect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet22Collect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleChat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet3Chat],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleAnimation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet18Animation],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSleep",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet17Sleep],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disconnect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMobSpawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet24MobSpawn],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleUpdateTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet4UpdateTime],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSpawnPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet6SpawnPosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleAttachEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet39AttachEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityStatus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet38EntityStatus],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntityByID",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "handleUpdateHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet8UpdateHealth],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleExperience",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet43Experience],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleRespawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet9Respawn],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet60Explosion],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleOpenWindow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet100OpenWindow],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSetSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet103SetSlot],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleTransaction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet106Transaction],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleWindowItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet104WindowItems],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleUpdateSign",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet130UpdateSign],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleTileEntityData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet132TileEntityData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleUpdateProgressbar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet105UpdateProgressbar],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handlePlayerInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet5PlayerInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleCloseWindow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet101CloseWindow],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleBlockEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet54PlayNoteBlock],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleBlockDestroy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet55BlockDestroy],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMapChunks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet56MapChunks],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canProcessPacketsAsync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleGameEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet70GameEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMapData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet131MapData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleDoorChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet61DoorChange],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleStatistic",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet200Statistic],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet41EntityEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleRemoveEntityEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet42RemoveEntityEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isServerHandler",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handlePlayerInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet201PlayerInfo],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleKeepAlive",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet0KeepAlive],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handlePlayerAbilities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet202PlayerAbilities],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleAutoComplete",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet203AutoComplete],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleLevelSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet62LevelSound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleCustomPayload",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet250CustomPayload],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSetObjective",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet206SetObjective],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSetScore",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet207SetScore],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSetDisplayObjective",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet208SetDisplayObjective],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSetPlayerTeam",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet209SetPlayerTeam],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleWorldParticles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet63WorldParticles],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNetManager",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_INetworkManager,
            callable : null
        }];
    nms_NetHandler.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isServerHandler",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleMapChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet51MapChunk],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unexpectedPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleErrorMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleKickDisconnect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet255KickDisconnect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleLogin",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet1Login],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleFlying",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet10Flying],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMultiBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet52MultiBlockChange],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleBlockDig",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet14BlockDig],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleBlockChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet53BlockChange],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleNamedEntitySpawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet20NamedEntitySpawn],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet30Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityTeleport",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet34EntityTeleport],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handlePlace",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet15Place],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleBlockItemSwitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet16BlockItemSwitch],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleDestroyEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet29DestroyEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleCollect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet22Collect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleChat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet3Chat],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleVehicleSpawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet23VehicleSpawn],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleAnimation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet18Animation],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityAction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet19EntityAction],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleClientProtocol",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet2ClientProtocol],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleServerAuthData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet253ServerAuthData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSharedKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet252SharedKey],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMobSpawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet24MobSpawn],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleUpdateTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet4UpdateTime],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSpawnPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet6SpawnPosition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet28EntityVelocity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet40EntityMetadata],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleAttachEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet39AttachEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleUseEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet7UseEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityStatus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet38EntityStatus],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleUpdateHealth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet8UpdateHealth],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleRespawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet9Respawn],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet60Explosion],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleOpenWindow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet100OpenWindow],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleCloseWindow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet101CloseWindow],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleWindowClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet102WindowClick],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSetSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet103SetSlot],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleWindowItems",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet104WindowItems],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleUpdateSign",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet130UpdateSign],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleUpdateProgressbar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet105UpdateProgressbar],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handlePlayerInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet5PlayerInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleTransaction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet106Transaction],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityPainting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet25EntityPainting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleBlockEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet54PlayNoteBlock],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleStatistic",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet200Statistic],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSleep",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet17Sleep],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleGameEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet70GameEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleWeather",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet71Weather],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMapData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet131MapData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleDoorChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet61DoorChange],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleServerPing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet254ServerPing],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet41EntityEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleRemoveEntityEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet42RemoveEntityEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handlePlayerInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet201PlayerInfo],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleKeepAlive",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet0KeepAlive],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleExperience",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet43Experience],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleCreativeSetSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet107CreativeSetSlot],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityExpOrb",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet26EntityExpOrb],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEnchantItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet108EnchantItem],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleCustomPayload",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet250CustomPayload],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEntityHeadRotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet35EntityHeadRotation],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleTileEntityData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet132TileEntityData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handlePlayerAbilities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet202PlayerAbilities],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleAutoComplete",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet203AutoComplete],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleClientInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet204ClientInfo],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleLevelSound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet62LevelSound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleBlockDestroy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet55BlockDestroy],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleClientCommand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet205ClientCommand],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleMapChunks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet56MapChunks],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canProcessPacketsAsync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "handleSetObjective",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet206SetObjective],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSetScore",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet207SetScore],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSetDisplayObjective",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet208SetDisplayObjective],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleSetPlayerTeam",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet209SetPlayerTeam],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleWorldParticles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet63WorldParticles],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_DecimalFormat$PerMillField.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DecimalFormat, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DecimalFormat$CurrencyField.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DecimalFormat, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_DecimalFormat$PercentField.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_DecimalFormat, jl_StringBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_MovementInputFromOptions.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GameSettings],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updatePlayerMoveState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_MovementInput.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updatePlayerMoveState",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_LinkedList$SequentialListIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_LinkedList, ju_LinkedList$Entry, ju_LinkedList$Entry, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasPrevious",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "previous",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "nextIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "previousIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkConcurrentModification",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMIItemPanel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), ju_List, maat_TMIController],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onButtonPress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onButtonRightClick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHoverItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMIFavoritesPanel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat_TMIConfig, maat_TMIController],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMIStateButtonData.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_LinkedHashMap$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_LinkedHashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    nms_Packet0KeepAlive.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canProcessAsync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet1Login.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_WorldType, nms_EnumGameType, $rt_booleancls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet2ClientProtocol.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getProtocolVersion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getUsername",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_Packet4UpdateTime.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canProcessAsync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet5PlayerInventory.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getItemSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet6SpawnPosition.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canProcessAsync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet7UseEntity.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet8UpdateHealth.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet9Respawn.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_bytecls(), nms_WorldType, $rt_intcls(), nms_EnumGameType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet10Flying.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet11PlayerPosition.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet12PlayerLook.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet13PlayerLookMove.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet14BlockDig.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet15Place.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_ItemStack, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getXPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getYPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getZPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDirection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getItemStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getXOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getYOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getZOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_Packet16BlockItemSwitch.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet17Sleep.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet18Animation.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet19EntityAction.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet20NamedEntitySpawn.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getWatchedMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }];
    nms_Packet22Collect.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet23VehicleSpawn.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet24MobSpawn.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }];
    nms_Packet25EntityPainting.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPainting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet26EntityExpOrb.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityXPOrb],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet28EntityVelocity.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet29DestroyEntity.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet30Entity.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet31RelEntityMove.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_bytecls(), $rt_bytecls(), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet32EntityLook.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_bytecls(), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet33RelEntityMoveLook.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_bytecls(), $rt_bytecls(), $rt_bytecls(), $rt_bytecls(), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet34EntityTeleport.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_bytecls(), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet35EntityHeadRotation.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canProcessAsync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet38EntityStatus.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet39AttachEntity.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet40EntityMetadata.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_DataWatcher, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }];
    nms_Packet41EntityEffect.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_PotionEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isDurationMax",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet42RemoveEntityEffect.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_PotionEffect],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet43Experience.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet51MapChunk.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Chunk, $rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCompressedChunkData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getMapChunkData",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Chunk, $rt_booleancls(), $rt_intcls()],
            returnType : nms_Packet51MapChunkData,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Packet52MultiBlockChange.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls($rt_shortcls()), $rt_intcls(), nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Packet53BlockChange.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet54PlayNoteBlock.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet55BlockDestroy.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEntityId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPosX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPosY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPosZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDestroyedStage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet56MapChunks.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChunkPosX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChunkPosZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNumberOfChunkInPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChunkCompressedData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Packet60Explosion.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), ju_List, nms_Vec3],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPlayerVelocityX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getPlayerVelocityY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getPlayerVelocityZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_Packet61DoorChange.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRelativeVolumeDisabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet62LevelSound.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSoundName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getEffectX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getEffectY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getEffectZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getVolume",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getPitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet63WorldParticles.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getParticleName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPositionX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getPositionY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getPositionZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getOffsetX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getOffsetY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getOffsetZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getQuantity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet70GameEvent.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Packet71Weather.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet100OpenWindow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_String, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet101CloseWindow.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet102WindowClick.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_ItemStack, $rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet103SetSlot.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet104WindowItems.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet105UpdateProgressbar.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet106Transaction.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_shortcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet107CreativeSetSlot.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet108EnchantItem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet130UpdateSign.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet131MapData.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls(), $rt_shortcls(), $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet132TileEntityData.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet200Statistic.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canProcessAsync",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet201PlayerInfo.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet202PlayerAbilities.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PlayerCapabilities],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDisableDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setDisableDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFlying",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setFlying",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAllowFlying",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setAllowFlying",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isCreativeMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setCreativeMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFlySpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setFlySpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWalkSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setWalkSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet203AutoComplete.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getText",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_Packet205ClientCommand.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet206SetObjective.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScoreObjective, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet207SetScore.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Score, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet208SetDisplayObjective.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ScoreObjective],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet209SetPlayerTeam.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScorePlayerTeam, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ScorePlayerTeam, ju_Collection, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet250CustomPayload.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet252SharedKey.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maajc_SecretKey, maa_PubKey, $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSharedKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maa_PubKey],
            returnType : maajc_SecretKey,
            callable : null
        }, {
            name : "getSharedKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maajc_SecretKey,
            callable : null
        }, {
            name : "getVerifyToken",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maa_PubKey],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }];
    nms_Packet253ServerAuthData.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, maa_PubKey, $rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getServerId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPublicKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maa_PubKey,
            callable : null
        }, {
            name : "getVerifyToken",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }];
    nms_Packet254ServerPing.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_Packet255KickDisconnect.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPacketSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isRealPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsSameEntityIDAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_FilterIMob.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEntityApplicable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_IEntitySelector.$meta.methods = [
        {
            name : "isEntityApplicable",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Tuple.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFirst",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getSecond",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    nms_EntityWitherAttackFilter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEntityApplicable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_TileEntityFurnace.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94129_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCookProgressScaled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBurnTimeRemainingScaled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isBurning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canSmelt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "smeltItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getItemBurnTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isItemFuel",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAccessibleSlotsFromSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "canInsertItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canExtractItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ISidedInventory.$meta.methods = [
        {
            name : "getAccessibleSlotsFromSide",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "canInsertItem",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canExtractItem",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_TileEntityChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94043_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateContainingBlockInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_90009_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_TileEntityChest, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkForAdjacentChests",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94044_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "receiveClientEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "invalidate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98041_l",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_TileEntityEnderChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "receiveClientEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "invalidate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_TileEntityRecordPlayer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96097_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "func_96098_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityDispenser.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getRandomStackFromInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setCustomName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_TileEntityDropper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_TileEntityMobSpawner.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDescriptionPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Packet,
            callable : null
        }];
    nms_TileEntityNote.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "changePitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "triggerNote",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityPiston.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStoredBlockID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isExtending",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPistonOrientation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shouldRenderHead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getProgress",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getOffsetX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getOffsetY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getOffsetZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "updatePushedObjects",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearPistonTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityBrewingStand.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94131_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrewTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canBrew",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "brewPotions",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPotionResult",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBrewTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFilledSlots",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAccessibleSlotsFromSide",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "canInsertItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canExtractItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityEnchantmentTable.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94133_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_94135_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94134_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityEndPortal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityCommandBlock.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCommand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCommand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "executeCommandOnPowered",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCommandSenderName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setCommandSenderName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendChatToPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canCommandSenderUseCommand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "translateString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : jl_String,
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPlayerCoordinates",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ChunkCoordinates,
            callable : null
        }, {
            name : "getDescriptionPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Packet,
            callable : null
        }, {
            name : "func_96103_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_96102_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityBeacon.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addEffectsToPlayers",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateState",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82125_v_",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getPrimaryEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSecondaryEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLevels",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setLevels",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPrimaryEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSecondaryEffect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDescriptionPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Packet,
            callable : null
        }, {
            name : "getMaxRenderDistanceSquared",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94047_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityDaylightDetector.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityHopper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setInventoryName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "updateEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98045_j",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "insertItemToInventory",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "suckItemsIntoHopper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Hopper],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_102012_a",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_Hopper, nms_IInventory, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_96114_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_IInventory, nms_EntityItem],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "insertStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_IInventory, nms_ItemStack, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "func_102015_a",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_IInventory, nms_ItemStack, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canExtractItemFromInventory",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_IInventory, nms_ItemStack, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_102014_c",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_IInventory, nms_ItemStack, $rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getOutputInventory",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : nms_IInventory,
            callable : null
        }, {
            name : "getInventoryAboveHopper",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Hopper],
            returnType : nms_IInventory,
            callable : null
        }, {
            name : "func_96119_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_EntityItem,
            callable : null
        }, {
            name : "getInventoryAtLocation",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : nms_IInventory,
            callable : null
        }, {
            name : "areItemStacksEqualItem",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_ItemStack, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getXPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getYPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getZPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setTransferCooldown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isCoolingDown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_TileEntityComparator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96100_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_96099_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Enchantment.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_EnumEnchantmentType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "calcModifierDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_DamageSource],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "calcModifierLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canApplyTogether",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_Enchantment,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTranslatedName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "canApply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_WatchableObject.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDataValueId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getObjectType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isWatched",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setWatched",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setWatchableObjectWatched",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_WatchableObject, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jn_URL.$meta.methods = [
        {
            name : "setURLStreamHandlerFactory",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jn_URLStreamHandlerFactory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_URL, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_URL, jl_String, jn_URLStreamHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, $rt_intcls(), jl_String, jn_URLStreamHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fixURL",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, jl_String, $rt_intcls(), jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "sameFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setupStreamHandler",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "openStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "openConnection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_URLConnection,
            callable : null
        }, {
            name : "toURI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_URI,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toExternalForm",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHost",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getProtocol",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getRef",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getQuery",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getUserInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getAuthority",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, jl_String, $rt_intcls(), jl_String, jl_String, jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDefaultPort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_HttpURLConnection.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disconnect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getErrorStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "getFollowRedirects",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRequestMethod",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getResponseCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getResponseMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setFollowRedirects",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRequestMethod",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInstanceFollowRedirects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setInstanceFollowRedirects",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHeaderFieldDate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setFixedLengthStreamingMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setChunkedStreamingMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_URLConnection.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "connect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAllowUserInteraction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getContentEncoding",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getContentLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getContentType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getDefaultAllowUserInteraction",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDefaultRequestProperty",
            modifiers : 640,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDefaultUseCaches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDoInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDoOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getExpiration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getHeaderField",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHeaderFields",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "getRequestProperties",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "addRequestProperty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHeaderField",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHeaderFieldDate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getHeaderFieldInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHeaderFieldKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getIfModifiedSince",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getInputStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "getLastModified",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getOutputStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_OutputStream,
            callable : null
        }, {
            name : "getRequestProperty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getURL",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_URL,
            callable : null
        }, {
            name : "getUseCaches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "parseTypeString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "setAllowUserInteraction",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDefaultAllowUserInteraction",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDefaultRequestProperty",
            modifiers : 640,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDefaultUseCaches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDoInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDoOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setIfModifiedSince",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRequestProperty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setUseCaches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setConnectTimeout",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getConnectTimeout",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setReadTimeout",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getReadTimeout",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_Matcher.$meta.methods = [
        {
            name : "appendReplacement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuffer, jl_String],
            returnType : jur_Matcher,
            callable : null
        }, {
            name : "processReplacement",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jur_Matcher,
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_Matcher,
            callable : null
        }, {
            name : "region",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jur_Matcher,
            callable : null
        }, {
            name : "appendTail",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_StringBuffer],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "replaceFirst",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "replaceAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "pattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_Pattern,
            callable : null
        }, {
            name : "group",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "group",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "findAt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "find",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "start",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "end",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "quoteReplacement",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "runMatch",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jur_AbstractSet, $rt_intcls(), jur_MatchResultImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lookingAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lookingAt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "start",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "groupCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "end",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toMatchResult",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jur_MatchResult,
            callable : null
        }, {
            name : "useAnchoringBounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jur_Matcher,
            callable : null
        }, {
            name : "hasAnchoringBounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "useTransparentBounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jur_Matcher,
            callable : null
        }, {
            name : "hasTransparentBounds",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "regionStart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "regionEnd",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "requireEnd",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hitEnd",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "usePattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jur_Pattern],
            returnType : jur_Matcher,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_Pattern, jl_CharSequence],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jur_MatchResult.$meta.methods = [
        {
            name : "end",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "end",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "group",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "group",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "groupCount",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ContainerCreative.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "scrollTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasMoreThan1PageOfItemsInList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "retrySlotClick",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "func_94530_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Slot],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94531_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Slot],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nle_License.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnumChatFormatting.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumChatFormatting),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumChatFormatting,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_charcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96298_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "func_96301_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_96302_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_96297_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_96300_b",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumChatFormatting,
            callable : null
        }, {
            name : "func_96296_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls()],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_StatCollector.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "translateToLocal",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "translateToLocalFormatted",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_94522_b",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jm_BitLevel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bitLength",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "bitCount",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "testBit",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "nonZeroDroppedBits",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_intcls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "shiftLeft",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "inplaceShiftLeft",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shiftLeft",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shiftLeftOneBit",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shiftLeftOneBit",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "shiftRight",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "inplaceShiftRight",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shiftRight",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "flipBit",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }];
    jm_Division.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "divide",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "divideArrayByInt",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "remainderArrayByInt",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "remainder",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "divideLongByInt",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "divideAndRemainderByInteger",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls(jm_BigInteger),
            callable : null
        }, {
            name : "multiplyAndSubtract",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "gcdBinary",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "gcdBinary",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "modInverseMontgomery",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "calcN",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jm_BigInteger],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "squareAndMultiply",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger, jm_BigInteger, jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "modInverseHars",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "slidingWindow",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger, jm_BigInteger, jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "oddModPow",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "evenModPow",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "pow2ModPow",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "monReduction",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), jm_BigInteger, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "monPro",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger, jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "finalSubtraction",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "modPow2Inverse",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "inplaceModPow2",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jm_Elementary.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compareArrays",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "add",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "subtract",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "subtract",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "inplaceAdd",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "inplaceAdd",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inplaceAdd",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "inplaceSubtract",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "inverseSubtract",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "subtract",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "completeInPlaceSubtract",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "completeInPlaceAdd",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, jm_BigInteger],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unsignedArraysCompare",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nleg_EffectPipelineFXAA.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initFXAA",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initMSAA",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "destroy",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "beginPipelineRender",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "endPipelineRender",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ActiveRenderInfo.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRenderInfo",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "projectViewFromEntity",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, $rt_doublecls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "getBlockIdAtEntityViewpoint",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ClippingHelperImpl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ClippingHelper,
            callable : null
        }, {
            name : "normalize",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_arraycls($rt_floatcls())), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ClippingHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBoxInFrustum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_StringUtils.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ticksToElapsedTime",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "stripControlCodes",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Formatter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Appendable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Appendable, ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_PrintStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, jl_String, ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "locale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Locale,
            callable : null
        }, {
            name : "out",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "requireOpen",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "flush",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ioException",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_IOException,
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : ju_Formatter,
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale, jl_String, $rt_arraycls(jl_Object)],
            returnType : ju_Formatter,
            callable : null
        }];
    nms_Direction.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMovementDirection",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ScorePlayerTeam.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Scoreboard, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96661_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_96669_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_96664_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMembershipCollection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "func_96668_e",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_96666_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96663_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_96662_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96667_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ScorePlayerTeam, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_96665_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_96660_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98297_h",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_98300_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_98299_i",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_98298_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_Inflate$Return.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [cjj_Inflate, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_StitcherException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_StitchHolder],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TextureClock.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAnimation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TextureCompass.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateAnimation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateCompass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$17.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onTimer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onTimer$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    ju_LinkedList$Entry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Facing.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Boolean.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Boolean],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "parseBoolean",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "booleanValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jl_Boolean,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Boolean,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBoolean",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_URLStreamHandler.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "openConnection",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [jn_URL],
            returnType : jn_URLConnection,
            callable : null
        }, {
            name : "parseURL",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL, jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canonicalizePath",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "setURL",
            modifiers : 128,
            accessLevel : 2,
            parameterTypes : [jn_URL, jl_String, jl_String, $rt_intcls(), jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setURL",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL, jl_String, jl_String, $rt_intcls(), jl_String, jl_String, jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toExternalForm",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL],
            returnType : jl_String,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL, jn_URL],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDefaultPort",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hostsEqual",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL, jn_URL],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "sameFile",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL, jn_URL],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getHost",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jn_URL],
            returnType : jl_String,
            callable : null
        }];
    nms_Slot.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onSlotChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCrafting",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCrafting",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onPickupFromSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getHasStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "putStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onSlotChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSlotStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBackgroundIconIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "isSlotInInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canTakeStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_InventoryBasic.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ChunkPosition.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jl_OutOfMemoryError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_VirtualMachineError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnchantmentProtection.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "calcModifierDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_DamageSource],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "canApplyTogether",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_92093_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_92092_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnchantmentOxygen.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EnchantmentWaterWorker.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EnchantmentThorns.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canApply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_92094_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_92095_b",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_92096_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_EntityLiving, nle_EaglercraftRandom],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnchantmentDamage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "calcModifierLiving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "canApplyTogether",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canApply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnchantmentKnockback.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EnchantmentFireAspect.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EnchantmentLootBonus.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nms_EnumEnchantmentType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canApplyTogether",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EnchantmentDigging.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canApply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EnchantmentUntouching.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canApplyTogether",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canApply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EnchantmentDurability.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "canApply",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "negateDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, $rt_intcls(), nle_EaglercraftRandom],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EnchantmentArrowDamage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EnchantmentArrowKnockback.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EnchantmentArrowFire.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EnchantmentArrowInfinite.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxEnchantability",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jn_MalformedURLException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$RenderbufferGL.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [otjw_WebGLRenderbuffer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjc_JSArray.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "push",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "push",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "push",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "push",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "shift",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "join",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "join",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "concat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "concat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader, otjc_JSArrayReader],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "concat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader, otjc_JSArrayReader, otjc_JSArrayReader],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "concat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSArrayReader, otjc_JSArrayReader, otjc_JSArrayReader, otjc_JSArrayReader],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "pop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "unshift",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "unshift",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "unshift",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "unshift",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "reverse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "sort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSSortFunction],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "sort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "splice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "splice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), otj_JSObject],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "splice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), otj_JSObject, otj_JSObject],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "splice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "splice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), otj_JSObject, otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "setLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(otj_JSObject)],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSArray],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_29",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_30",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "get$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getLength$exported$1",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    otjc_JSNumber.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "intValue",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "intValue",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "charValue",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "charValue",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "byteValue",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "byteValue",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "shortValue",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "shortValue",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : otjc_JSNumber,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : otjc_JSNumber,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjc_JSNumber,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : otjc_JSNumber,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : otjc_JSNumber,
            callable : null
        }, {
            name : "valueOf",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : otjc_JSNumber,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doubleValue$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "intValue$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "charValue$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "byteValue$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "shortValue$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "floatValue$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSNumber],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doubleValue$js_body$_2",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "intValue$js_body$_4",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "charValue$js_body$_6",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "byteValue$js_body$_8",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "shortValue$js_body$_10",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "floatValue$js_body$_12",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "valueOf$js_body$_13",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "valueOf$js_body$_14",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "valueOf$js_body$_15",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "valueOf$js_body$_16",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "valueOf$js_body$_17",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "valueOf$js_body$_18",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nms_ScoreComparator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96659_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Score, nms_Score],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EnumEnchantmentType.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumEnchantmentType),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumEnchantmentType,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canEnchantItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Item],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnc_CoderMalfunctionError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Particle.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "update",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiParticle],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_AbstractMap$KeySet$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_AbstractMap$KeySet, ju_Iterator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_LinkedHashMap$KeyIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_LinkedHashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    ju_LinkedHashMap$AbstractMapIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_LinkedHashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "checkConcurrentMod",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "makeNext",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiButtonLanguage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawButton",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_CreativeCrafting.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendContainerAndContentsToPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Container, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendSlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Container, $rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendProgressBarUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Container, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ICrafting.$meta.methods = [
        {
            name : "sendContainerAndContentsToPlayer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_Container, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendSlotContents",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_Container, $rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendProgressBarUpdate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_Container, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ChatClickData.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_FontRenderer, nms_ChatLine, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getClickedUrl",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getURI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "findClickedUrl",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiConfirmOpenLink.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, jl_String, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyLinkToClipboard",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92026_h",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiYesNo.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, jl_String, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, jl_String, jl_String, jl_String, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSpecialRendererForClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : nms_TileEntitySpecialRenderer,
            callable : null
        }, {
            name : "hasSpecialRenderer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSpecialRendererForEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity],
            returnType : nms_TileEntitySpecialRenderer,
            callable : null
        }, {
            name : "cacheActiveRenderInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_RenderEngine, nms_FontRenderer, nms_EntityLiving, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFontRenderer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_FontRenderer,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderSorter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doCompare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_WorldRenderer, nms_WorldRenderer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ChatLine.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChatLineString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getUpdatedCounter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChatLineID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_IconFlipped.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Icon, $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOriginX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOriginY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMinU",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMaxU",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getInterpolatedU",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMinV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getMaxV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getInterpolatedV",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getIconName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSheetWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSheetHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_MinecraftError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySelectorAlive.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEntityApplicable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EntitySelectorInventory.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEntityApplicable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jni_XHRStreamHandler.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "openConnection",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL],
            returnType : jn_URLConnection,
            callable : null
        }, {
            name : "getDefaultPort",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jni_DummyStreamHandler.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "openConnection",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jn_URL],
            returnType : jn_URLConnection,
            callable : null
        }, {
            name : "getDefaultPort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jm_Conversion.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bigInteger2String",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toDecimalScaledString",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger, $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toDecimalScaledString",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "divideLongByBillion",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "bigInteger2Double",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jm_BigInteger],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcit_DateTimeZoneBuilder.$meta.methods = [
        {
            name : "buildFixedZone",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : otcit_StorableDateTimeZone,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGMT",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : ju_TimeZone,
            callable : null
        }, {
            name : "addCutover",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_charcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls()],
            returnType : otcit_DateTimeZoneBuilder,
            callable : null
        }, {
            name : "setStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otcit_DateTimeZoneBuilder,
            callable : null
        }, {
            name : "setFixedSavings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : otcit_DateTimeZoneBuilder,
            callable : null
        }, {
            name : "addRecurringSavings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_charcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls()],
            returnType : otcit_DateTimeZoneBuilder,
            callable : null
        }, {
            name : "getLastRuleSet",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otcit_DateTimeZoneBuilder$RuleSet,
            callable : null
        }, {
            name : "toDateTimeZone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : otcit_StorableDateTimeZone,
            callable : null
        }, {
            name : "addTransition",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_ArrayList, otcit_DateTimeZoneBuilder$Transition],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_TimeZone,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$QueryGL.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nleat_WebGLQuery],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_MapData.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateVisiblePlayers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82567_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), nms_World, jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getUpdatePacketData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_World, nms_EntityPlayer],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "setColumnDirty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateMPMapData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82568_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : nms_MapInfo,
            callable : null
        }, {
            name : "readAyunamiMapPacket",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ayunamiDisable",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ayunamiEnable",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ayunamiSetPixels_R8_G8_B8",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ayunamiSetPixels_R5_G6_B5",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ayunamiSetPallete_R8_G8_B8",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ayunamiSetPallete_R5_G6_B5",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "ayunamiSetPixelsFromPallete",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ji_DataInputStream],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_WorldSavedData.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromNBT",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToNBT",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markDirty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setDirty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isDirty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jur_MatchResultImpl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "cloneImpl",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : jur_MatchResult,
            callable : null
        }, {
            name : "setConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getConsumed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "end",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "end",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setStart",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setEnd",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStart",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEnd",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "group",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "group",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getGroupNoCheck",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "groupCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "finalizeMatch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEnterCounter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setEnterCounter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkGroup",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateGroup",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setValid",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isValid",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBounds",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setStartIndex",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLeftBound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRightBound",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setMode",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mode",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "useAnchoringBounds",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasAnchoringBounds",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "useTransparentBounds",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasTransparentBounds",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPreviousMatchEnd",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EnumAction.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumAction),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumAction,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiRepair.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendContainerAndContentsToPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Container, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendSlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Container, $rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendProgressBarUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Container, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ji_StringWriter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flush",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBuffer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : ji_StringWriter,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : ji_StringWriter,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : ji_StringWriter,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_Appendable,
            callable : null
        }];
    ji_Writer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_Appendable,
            callable : null
        }];
    ji_PrintWriter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_Writer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_Writer, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkError",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flush",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : ji_PrintWriter,
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale, jl_String, $rt_arraycls(jl_Object)],
            returnType : ji_PrintWriter,
            callable : null
        }, {
            name : "printf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : ji_PrintWriter,
            callable : null
        }, {
            name : "printf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale, jl_String, $rt_arraycls(jl_Object)],
            returnType : ji_PrintWriter,
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "print",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "println",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setError",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doWrite",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : ji_PrintWriter,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : ji_PrintWriter,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : ji_PrintWriter,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence, $rt_intcls(), $rt_intcls()],
            returnType : jl_Appendable,
            callable : null
        }, {
            name : "append",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_CharSequence],
            returnType : jl_Appendable,
            callable : null
        }];
    maa_File.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "exists",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFileName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    ji_StringReader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "skip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "ready",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "markSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mark",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkOpened",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnumRarity.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumRarity),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumRarity,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_AbstractStringBuilder$Constants.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcit_DoubleAnalyzer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "analyze",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), otcit_DoubleAnalyzer$Result],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "findLowerDistanceToZero",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "findUpperDistanceToZero",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "mulAndShiftRight",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls(), $rt_longcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcit_DoubleAnalyzer$Result.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Rect2i.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "intersection",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Rect2i],
            returnType : nms_Rect2i,
            callable : null
        }, {
            name : "getRectX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRectY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRectWidth",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRectHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_TileEntitySignRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntitySignAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntitySign, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntitySpecialRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTextureByName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTileEntityRenderer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityRenderer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onWorldChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFontRenderer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_FontRenderer,
            callable : null
        }];
    nms_TileEntityRendererPiston.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderPiston",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityPiston, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onWorldChange",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityChestRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityChestAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityChest, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityEnderChestRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEnderChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityEnderChest, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderEnchantmentTable.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityEnchantmentTableAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityEnchantmentTable, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RenderEndPortal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderEndPortalTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityEndPortal, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_76907_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : jn_FloatBuffer,
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityBeaconRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityBeaconAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityBeacon, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntitySkullRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntitySkullAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntitySkull, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTileEntityRenderer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityRenderer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82393_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_intcls(), $rt_floatcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_TileEntityMobSpawnerRenderer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderTileEntityAt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcit_FloatAnalyzer$Result.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelSign.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderSign",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelLargeChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ModelBook.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setRotationAngles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jni_XHRURLConnection.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disconnect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "connect",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "performRequestIfNecessary",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "performRequest",
            modifiers : 256,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_Boolean,
            callable : null
        }, {
            name : "performRequest",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parseHeaders",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHeaderFieldKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHeaderField",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHeaderField",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHeaderFields",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "getInputStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "getResponseCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getResponseMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getErrorStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "getOutputStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_OutputStream,
            callable : null
        }, {
            name : "lambda$performRequest$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnci_BufferedEncoder$Controller.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jn_CharBuffer, jn_ByteBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasMoreInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasMoreInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasMoreOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasMoreOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setInPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOutPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnc_BufferUnderflowException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnc_BufferOverflowException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jnc_MalformedInputException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jnc_UnmappableCharacterException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    ju_TreeMap$EntrySet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_TreeMap, jl_Object, $rt_booleancls(), $rt_booleancls(), jl_Object, $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "ascendingIterator",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "descendingIterator",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_SlotCreativeInventory.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiContainerCreative, nms_Slot, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onPickupFromSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getHasStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "putStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onSlotChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSlotStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBackgroundIconIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "isSlotInInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_75240_a",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_SlotCreativeInventory],
            returnType : nms_Slot,
            callable : null
        }];
    nms_GuiOptions.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, nms_GameSettings],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiLanguage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, nms_GameSettings],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGameSettings",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiLanguage],
            returnType : nms_GameSettings,
            callable : null
        }, {
            name : "getDoneButton",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_GuiLanguage],
            returnType : nms_GuiSmallButton,
            callable : null
        }];
    nle_GuiScreenLicenseDeclined.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maa_GuiScreenModules.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doesGuiPauseGame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ChunkCache.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "extendedLevelsInChunkCache",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlockId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getLightBrightnessForSkyBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLightBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLightValueExt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockMaterial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_Material,
            callable : null
        }, {
            name : "getBiomeGenForCoords",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "isBlockOpaqueCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isBlockNormalCube",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "doesBlockHaveSolidTopSurface",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getWorldVec3Pool",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Vec3Pool,
            callable : null
        }, {
            name : "isAirBlock",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSkyBlockTypeBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumSkyBlock, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSpecialBlockBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumSkyBlock, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isBlockProvidingPowerTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ChestItemRenderHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Block, $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_LinkedHashMap$2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_LinkedHashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    nms_MapCoord.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MapData, $rt_bytecls(), $rt_bytecls(), $rt_bytecls(), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Formatter$FormatWriter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_Formatter, jl_Appendable, ju_Locale, jl_String, $rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatValue",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatBoolean",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatHex",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatChar",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatDecimalInt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatRadixInt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "verifyIntFlags",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "formatGivenString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "verifyFlagsForGeneralFormat",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "verifyFlags",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flagsToString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "mayBeAppendSpaces",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "configureFormat",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "parseFormatSpecifier",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "parseFlags",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readInt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isDigit",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EnchantmentData.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMICompatibility.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disableCompetingMods",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "restoreCompetingMods",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setZanMinimapEnabled",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "callConvenientInventoryHandler",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls(), nmc_Minecraft, nms_Container],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jlr_Method.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, jl_String, $rt_intcls(), $rt_intcls(), jl_Class, $rt_arraycls(jl_Class), otcir_JSCallable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDeclaringClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getModifiers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getReturnType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getParameterTypes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_Class),
            callable : null
        }, {
            name : "getParameterCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "invoke",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_arraycls(jl_Object)],
            returnType : jl_Object,
            callable : null
        }, {
            name : "isBridge",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSynthetic",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isVarArgs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jlr_AccessibleObject.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAccessible",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jlr_AccessibleObject), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAccessible",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAccessible",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAnnotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : jla_Annotation,
            callable : null
        }, {
            name : "getAnnotations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }, {
            name : "getDeclaredAnnotations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }];
    jlr_Member.$meta.methods = [
        {
            name : "getDeclaringClass",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getModifiers",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isSynthetic",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jlr_InvocationTargetException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTargetException",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Throwable,
            callable : null
        }];
    jl_StrictMath.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sin",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "cos",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "tan",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "asin",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "acos",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "atan",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "toRadians",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "toDegrees",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "exp",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "log",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "log10",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "sqrt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "cbrt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "IEEEremainder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "ceil",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "floor",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "rint",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "atan2",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "pow",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "round",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "round",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "random",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "abs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "abs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "abs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "abs",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "max",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "min",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "min",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "min",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "min",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "ulp",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "ulp",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "signum",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "signum",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "sinh",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "cosh",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "tanh",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "hypot",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "expm1",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "log1p",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "copySign",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "copySign",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getExponent",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getExponent",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextAfter",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "nextAfter",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_doublecls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "nextUp",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "nextUp",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_Chunk.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAtLocation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getHeightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTopFilledSegment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockStorageArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_ExtendedBlockStorage),
            callable : null
        }, {
            name : "generateHeightMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "generateSkylightMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "propagateSkylightOcclusion",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateSkylight_do",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkSkylightNeighborHeight",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateSkylightNeighborHeight",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "relightBlock",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockLightOpacity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlockIDWithMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setBlockMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSavedLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumSkyBlock, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumSkyBlock, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "addEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEntityAtIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBlockSeeTheSky",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getChunkBlockTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "addTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setChunkBlockTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), nms_TileEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeChunkBlockTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onChunkLoad",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onChunkUnload",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setChunkModified",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntitiesWithinAABBForEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_AxisAlignedBB, ju_List, nms_IEntitySelector],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntitiesOfTypeWithinAAAB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, nms_AxisAlignedBB, ju_List, nms_IEntitySelector],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "needsSaving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRandomWithSeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : nle_EaglercraftRandom,
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "populateChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IChunkProvider, nms_IChunkProvider, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPrecipitationHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateSkylight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChunkCoordIntPair",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ChunkCoordIntPair,
            callable : null
        }, {
            name : "getAreLevelsEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setStorageArrays",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(nms_ExtendedBlockStorage)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBiomeGenForWorldCoords",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_BiomeGenBase,
            callable : null
        }, {
            name : "getBiomeArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "setBiomeArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetRelightChecks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enqueueRelightChecks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_FormatterClosedException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnumGameType.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumGameType),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumGameType,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "configurePlayerCapabilities",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PlayerCapabilities],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAdventure",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isCreative",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSurvivalOrAdventure",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getByID",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_EnumGameType,
            callable : null
        }, {
            name : "getByName",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumGameType,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_IllegalFormatException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Objects.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "compare",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object, ju_Comparator],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "requireNonNull",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "requireNonNull",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "nonNull",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "deepEquals",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hash",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : $rt_intcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$25.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resolveStr",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resolveStr$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$StupidFunctionResolveString.$meta.methods = [
        {
            name : "resolveStr",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_NoSuchMethodException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_IllegalAccessException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcit_FloatAnalyzer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "analyze",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), otcit_FloatAnalyzer$Result],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "findLowerDistanceToZero",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "findUpperDistanceToZero",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_LinkedHashMap$ValueIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_LinkedHashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    jnci_BufferedDecoder$Controller.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jn_ByteBuffer, jn_CharBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasMoreInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasMoreInput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasMoreOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasMoreOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setInPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOutPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiDisconnected.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, jl_String, jl_String, $rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiSmallButton.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EnumOptions, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "returnEnumOptions",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumOptions,
            callable : null
        }];
    nms_GuiSlider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EnumOptions, jl_String, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHoverState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mouseDragged",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mousePressed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mouseReleased",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiVideoSettings.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, nms_GameSettings],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiControls.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, nms_GameSettings],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLeftBorder",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiScreenChatOptions.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, nms_GameSettings],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiSlotLanguage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiLanguage],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSize",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "elementClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSelected",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getContentHeight",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "drawBackground",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawSlot",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nlea_Tessellator],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiSlot.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77207_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setShowSelectionBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77223_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSize",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "elementClicked",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSelected",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getContentHeight",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "drawBackground",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawSlot",
            modifiers : 1,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nlea_Tessellator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77222_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), nlea_Tessellator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77224_a",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77215_b",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77210_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "registerScrollButtons",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindAmountScrolled",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77209_d",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_77208_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getScrollBarX",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "overlayBackground",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiSlotServer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiMultiplayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSize",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "elementClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSelected",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getContentHeight",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "drawBackground",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawSlot",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nlea_Tessellator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77247_d",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), nlea_Tessellator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiScreenServerList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, nms_ServerData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiScreenAddServer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiScreen, nms_ServerData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiSlider2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHoverState",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "mouseDragged",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mousePressed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mouseReleased",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maa_GuiScreenModules$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [maa_GuiScreenModules, $rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "run",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_TreeMap$EntryIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_TreeMap, $rt_arraycls(ju_TreeMap$TreeNode), ju_TreeMap$TreeNode, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    nms_ContainerPlayer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, $rt_booleancls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCraftMatrixChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCraftGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "func_94530_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Slot],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ContainerWorkbench.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCraftMatrixChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "func_94530_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Slot],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_MapStorage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, jl_String],
            returnType : nms_WorldSavedData,
            callable : null
        }, {
            name : "setData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_WorldSavedData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveAllData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveData",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_WorldSavedData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadIdCounts",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getUniqueDataId",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }];
    nle_WebsocketNetworkManager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setNetHandler",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addToSendQueue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Packet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "wakeThreads",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "processReadPackets",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "serverShutdown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "packetSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "networkShutdown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeConnections",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getServerURI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    maa_MidiConverter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "midiToTxt",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getMidi",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_BufferedInputStream],
            returnType : ju_TreeMap,
            callable : null
        }, {
            name : "processMidiNote",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "noteConv",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maan_Song.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls(), jl_String, jl_String, jl_String, jl_String, $rt_shortcls(), $rt_booleancls(), $rt_bytecls(), $rt_bytecls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String, $rt_booleancls(), ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeSong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "setLength",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "setHeight",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAuthor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setAuthor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOriginalAuthor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setOriginalAuthor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDescription",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setDescription",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTempo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "setTempo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAutoSaveEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setAutoSave",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAutoSaveDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "setAutoSaveDuration",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTimeSignature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "setTimeSignature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinutesSpent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setMinutesSpent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRightClicks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setRightClicks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLeftClicks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setLeftClicks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlocksAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlocksAdded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlocksRemoved",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlocksRemoved",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMidiSchematicFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setMidiSchematicFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setIsONBS",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIsONBS",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSongBoard",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "changeSongBoardTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readShort",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "readInt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "readString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "writeShort",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeInt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maan_Layer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNoteList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_HashMap,
            callable : null
        }, {
            name : "setNote",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), maan_Note],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVolume",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "setVolume",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maan_Note.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maan_Instrument, $rt_bytecls(), $rt_bytecls(), $rt_intcls(), $rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInstrument",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maan_Instrument,
            callable : null
        }, {
            name : "setInstrument",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maan_Instrument],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "setPitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPanning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setPanning",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPrecisePitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "setPrecisePitch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maan_Instrument.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(maan_Instrument),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : maan_Instrument,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "fromID",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : maan_Instrument,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_UnknownFormatConversionException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getConversion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    maat__tmi_MgZOrder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgWidget, maat__tmi_MgWidget],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_DamageSource.$meta.methods = [
        {
            name : "causeMobDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "causePlayerDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "causeArrowDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityArrow, nms_Entity],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "causeFireballDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityFireball, nms_Entity],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "causeThrownDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_Entity],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "causeIndirectMagicDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_Entity],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "causeThornsDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "setExplosionSource",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Explosion],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "isProjectile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setProjectile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "isExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setExplosion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "isUnblockable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getHungerDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "canHarmInCreative",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSourceOfDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "setDamageBypassesArmor",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "setDamageAllowedInCreativeMode",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "setFireDamage",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "getDeathMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : jl_String,
            callable : null
        }, {
            name : "isFireDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDamageType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setDifficultyScaled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "isDifficultyScaled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isMagicDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setMagicDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_Matcher$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jur_Matcher, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jni_XHRURLConnection$performRequest$lambda$_5_0.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jni_XHRURLConnection, oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stateChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stateChanged$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    otjt_Int8Array.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjt_Int8Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer],
            returnType : otjt_Int8Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBufferView],
            returnType : otjt_Int8Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, $rt_intcls(), $rt_intcls()],
            returnType : otjt_Int8Array,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, $rt_intcls()],
            returnType : otjt_Int8Array,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjt_Int8Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_3",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_4",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_5",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_6",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_7",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$RateLimit.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nlea_EaglerAdapterImpl2$RateLimit),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nlea_EaglerAdapterImpl2$RateLimit,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_Sequence.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDivisionType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getResolution",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createTrack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Track,
            callable : null
        }, {
            name : "deleteTrack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jsm_Track],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTracks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_Track),
            callable : null
        }, {
            name : "getMicrosecondLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getTickLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getPatchList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_Patch),
            callable : null
        }];
    maa_MidiConverter$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jsm_MidiEvent, jsm_MidiEvent],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    jsm_Track.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jsm_MidiEvent],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jsm_MidiEvent],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jsm_MidiEvent,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "ticks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }];
    jsm_MidiEvent.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jsm_MidiMessage, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_MidiMessage,
            callable : null
        }, {
            name : "setTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }];
    jsm_MetaMessage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getVarIntLength",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "writeVarInt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_MidiMessage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getStatus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    jsm_ShortMessage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChannel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCommand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getData1",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getData2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getDataLength",
            modifiers : 4,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_DuplicateFormatFlagsException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFlags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    ju_IllegalFormatPrecisionException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPrecision",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_IllegalFormatCodePointException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCodePoint",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_IllegalFormatConversionException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls(), jl_Class],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getConversion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "getArgumentClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }];
    ju_Formattable.$meta.methods = [
        {
            name : "formatTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Formatter, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnchantmentHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEnchantmentLevel",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEnchantments",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : ju_Map,
            callable : null
        }, {
            name : "setEnchantments",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Map, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxEnchantmentLevel",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls(nms_ItemStack)],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "applyEnchantmentModifier",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_IEnchantmentModifier, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "applyEnchantmentModifierArray",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [nms_IEnchantmentModifier, $rt_arraycls(nms_ItemStack)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEnchantmentModifierDamage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(nms_ItemStack), nms_DamageSource],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEnchantmentModifierLiving",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getKnockbackModifier",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving, nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFireAspectModifier",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRespiration",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEfficiencyModifier",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSilkTouchModifier",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFortuneModifier",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLootingModifier",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAquaAffinityModifier",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_92098_i",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_92099_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment, nms_EntityLiving],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "calcItemStackEnchantability",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom, $rt_intcls(), $rt_intcls(), nms_ItemStack],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "addRandomEnchantment",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom, nms_ItemStack, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "buildEnchantmentList",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nle_EaglercraftRandom, nms_ItemStack, $rt_intcls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "mapEnchantmentData",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : ju_Map,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jlr_Modifier.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPublic",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isPrivate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isProtected",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isStatic",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFinal",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSynchronized",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isVolatile",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isTransient",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isNative",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isInterface",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAbstract",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isStrict",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getModifierNames",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_MidiSystem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMidiDeviceInfo",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_MidiDevice$Info),
            callable : null
        }, {
            name : "getMidiDevice",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jsm_MidiDevice$Info],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "getReceiver",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Receiver,
            callable : null
        }, {
            name : "getTransmitter",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Transmitter,
            callable : null
        }, {
            name : "getSynthesizer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Synthesizer,
            callable : null
        }, {
            name : "getSequencer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Sequencer,
            callable : null
        }, {
            name : "getSequencer",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : jsm_Sequencer,
            callable : null
        }, {
            name : "getSoundbank",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : jsm_Soundbank,
            callable : null
        }, {
            name : "getSoundbank",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : jsm_Soundbank,
            callable : null
        }, {
            name : "getSoundbank",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : jsm_Soundbank,
            callable : null
        }, {
            name : "getMidiFileFormat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : jsm_MidiFileFormat,
            callable : null
        }, {
            name : "getMidiFileFormat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : jsm_MidiFileFormat,
            callable : null
        }, {
            name : "getMidiFileFormat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : jsm_MidiFileFormat,
            callable : null
        }, {
            name : "getSequence",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : jsm_Sequence,
            callable : null
        }, {
            name : "getSequence",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : jsm_Sequence,
            callable : null
        }, {
            name : "getSequence",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : jsm_Sequence,
            callable : null
        }, {
            name : "getMidiFileTypes",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "isFileTypeSupported",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMidiFileTypes",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "isFileTypeSupported",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jsm_Sequence],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "write",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence, $rt_intcls(), ji_OutputStream],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence, $rt_intcls(), ji_File],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMidiDeviceProviders",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "getSoundbankReaders",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "getMidiFileWriters",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "getMidiFileReaders",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "getDefaultDeviceWrapper",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Class],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "getDefaultDevice",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Class],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "getNamedProvider",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, ju_List],
            returnType : jsms_MidiDeviceProvider,
            callable : null
        }, {
            name : "getNamedDevice",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, jsms_MidiDeviceProvider, jl_Class],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "getNamedDevice",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, jsms_MidiDeviceProvider, jl_Class, $rt_booleancls(), $rt_booleancls()],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "getNamedDevice",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, ju_List, jl_Class],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "getNamedDevice",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, ju_List, jl_Class, $rt_booleancls(), $rt_booleancls()],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "getFirstDevice",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jsms_MidiDeviceProvider, jl_Class],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "getFirstDevice",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jsms_MidiDeviceProvider, jl_Class, $rt_booleancls(), $rt_booleancls()],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "getFirstDevice",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_List, jl_Class],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "getFirstDevice",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_List, jl_Class, $rt_booleancls(), $rt_booleancls()],
            returnType : jsm_MidiDevice,
            callable : null
        }, {
            name : "isAppropriateDevice",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jsm_MidiDevice, jl_Class, $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getProviders",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Class],
            returnType : ju_List,
            callable : null
        }];
    jsms_MidiFileReader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMidiFileFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : jsm_MidiFileFormat,
            callable : null
        }, {
            name : "getMidiFileFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : jsm_MidiFileFormat,
            callable : null
        }, {
            name : "getMidiFileFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : jsm_MidiFileFormat,
            callable : null
        }, {
            name : "getSequence",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : jsm_Sequence,
            callable : null
        }, {
            name : "getSequence",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : jsm_Sequence,
            callable : null
        }, {
            name : "getSequence",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : jsm_Sequence,
            callable : null
        }];
    jsm_InvalidMidiDataException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_FormatFlagsConversionMismatchException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFlags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getConversion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }];
    ju_IllegalFormatFlagsException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFlags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    ju_MissingFormatWidthException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFormatSpecifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_EnchantmentModifierDamage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "calculateModifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_Empty3],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_IEnchantmentModifier.$meta.methods = [
        {
            name : "calculateModifier",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnchantmentModifierLiving.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "calculateModifier",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_Empty3],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$18.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_MessageEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$19.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [oti_AsyncCallback],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjw_CloseEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$20.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_MessageEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjw_WebSocket.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onClose",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onError",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onOpen",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjw_WebSocket,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjw_WebSocket,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_String)],
            returnType : otjw_WebSocket,
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "send",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBinaryType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setBinaryType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBufferedAmount",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getExtensions",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getProtocol",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getReadyState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getUrl",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isSupported",
            modifiers : 768,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjw_WebSocket],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_5",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_6",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_7",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "isSupported$js_body$_19",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    csms_JDK13Services.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getProviders",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : ju_List,
            callable : null
        }, {
            name : "getDefaultProviderClassName",
            modifiers : 2560,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDefaultInstanceName",
            modifiers : 2560,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDefaultProvider",
            modifiers : 2560,
            accessLevel : 1,
            parameterTypes : [jl_Class],
            returnType : jl_String,
            callable : null
        }, {
            name : "getProperties",
            modifiers : 2560,
            accessLevel : 1,
            parameterTypes : [],
            returnType : ju_Properties,
            callable : null
        }, {
            name : "lambda$getDefaultProvider$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }];
    jsss_MixerProvider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isMixerSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_Mixer$Info],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMixerInfo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jss_Mixer$Info),
            callable : null
        }, {
            name : "getMixer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_Mixer$Info],
            returnType : jss_Mixer,
            callable : null
        }];
    jsss_FormatConversionProvider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSourceEncodings",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jss_AudioFormat$Encoding),
            callable : null
        }, {
            name : "getTargetEncodings",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jss_AudioFormat$Encoding),
            callable : null
        }, {
            name : "isSourceEncodingSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat$Encoding],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isTargetEncodingSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat$Encoding],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTargetEncodings",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat],
            returnType : $rt_arraycls(jss_AudioFormat$Encoding),
            callable : null
        }, {
            name : "isConversionSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat$Encoding, jss_AudioFormat],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTargetFormats",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat$Encoding, jss_AudioFormat],
            returnType : $rt_arraycls(jss_AudioFormat),
            callable : null
        }, {
            name : "isConversionSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat, jss_AudioFormat],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAudioInputStream",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat$Encoding, jss_AudioInputStream],
            returnType : jss_AudioInputStream,
            callable : null
        }, {
            name : "getAudioInputStream",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat, jss_AudioInputStream],
            returnType : jss_AudioInputStream,
            callable : null
        }];
    jsss_AudioFileReader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAudioFileFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : jss_AudioFileFormat,
            callable : null
        }, {
            name : "getAudioFileFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : jss_AudioFileFormat,
            callable : null
        }, {
            name : "getAudioFileFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : jss_AudioFileFormat,
            callable : null
        }, {
            name : "getAudioInputStream",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : jss_AudioInputStream,
            callable : null
        }, {
            name : "getAudioInputStream",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : jss_AudioInputStream,
            callable : null
        }, {
            name : "getAudioInputStream",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : jss_AudioInputStream,
            callable : null
        }];
    jsss_AudioFileWriter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAudioFileTypes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jss_AudioFileFormat$Type),
            callable : null
        }, {
            name : "isFileTypeSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFileFormat$Type],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAudioFileTypes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_AudioInputStream],
            returnType : $rt_arraycls(jss_AudioFileFormat$Type),
            callable : null
        }, {
            name : "isFileTypeSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFileFormat$Type, jss_AudioInputStream],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_AudioInputStream, jss_AudioFileFormat$Type, ji_OutputStream],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_AudioInputStream, jss_AudioFileFormat$Type, ji_File],
            returnType : $rt_intcls(),
            callable : null
        }];
    jsms_MidiDeviceProvider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isDeviceSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jsm_MidiDevice$Info],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDeviceInfo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_MidiDevice$Info),
            callable : null
        }, {
            name : "getDevice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_MidiDevice$Info],
            returnType : jsm_MidiDevice,
            callable : null
        }];
    jsms_SoundbankReader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSoundbank",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : jsm_Soundbank,
            callable : null
        }, {
            name : "getSoundbank",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : jsm_Soundbank,
            callable : null
        }, {
            name : "getSoundbank",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : jsm_Soundbank,
            callable : null
        }];
    jsms_MidiFileWriter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMidiFileTypes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "getMidiFileTypes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "isFileTypeSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFileTypeSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jsm_Sequence],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence, $rt_intcls(), ji_OutputStream],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence, $rt_intcls(), ji_File],
            returnType : $rt_intcls(),
            callable : null
        }];
    csms_JSSecurityManager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasSecurityManager",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "checkRecordPermission",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadProperties",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [ju_Properties, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadPropertiesImpl",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [ju_Properties, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createThread",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Runnable, jl_String, $rt_booleancls(), $rt_intcls(), $rt_booleancls()],
            returnType : jl_Thread,
            callable : null
        }, {
            name : "getProviders",
            modifiers : 2560,
            accessLevel : 0,
            parameterTypes : [jl_Class],
            returnType : ju_List,
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_Properties, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    csms_JSSecurityManager$2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Class],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "run",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "run",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    js_PrivilegedAction.$meta.methods = [
        {
            name : "run",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    csms_JSSecurityManager$3.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_Iterator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "run",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Boolean,
            callable : null
        }, {
            name : "run",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    ju_Collections$10.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    js_AccessController.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doPrivileged",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [js_PrivilegedAction],
            returnType : jl_Object,
            callable : null
        }];
    otjw_DynamicsCompressorNode.$meta.methods = [
        {
            name : "getThreshold",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getKnee",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getRatio",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getReduction",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getAttack",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getRelease",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }];
    nms_ILocatableSource.$meta.methods = [];
    jt_ParsePosition.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getErrorIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setErrorIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    otjdh_HTMLMediaElement.$meta.methods = [
        {
            name : "getError",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_MediaError,
            callable : null
        }, {
            name : "getSrc",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setSrc",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCurrentSrc",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCrossOrigin",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setCrossOrigin",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNetworkState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPreload",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setPreload",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBuffered",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_TimeRanges,
            callable : null
        }, {
            name : "getReadyState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isSeeking",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCurrentTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setCurrentTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCurrentTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDuration",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getStartDate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Date,
            callable : null
        }, {
            name : "isPaused",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDefaultPlaybackRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setDefaultPlaybackRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPlaybackRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setPlaybackRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addPlaybackRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPlayed",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_TimeRanges,
            callable : null
        }, {
            name : "getSeekable",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_TimeRanges,
            callable : null
        }, {
            name : "isEnded",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAutoplay",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setAutoplay",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isLoop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setLoop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMediaGroup",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setMediaGroup",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getController",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_MediaController,
            callable : null
        }, {
            name : "setController",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjm_MediaController],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isControls",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setControls",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVolume",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setVolume",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addVolume",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isMuted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setMuted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isDefaultMuted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setDefaultMuted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAudioTracks",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_AudioTrackList,
            callable : null
        }, {
            name : "getVideoTracks",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_VideoTrackList,
            callable : null
        }, {
            name : "getTextTracks",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_TextTrackList,
            callable : null
        }, {
            name : "addTextTrack",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjm_TextTrack,
            callable : null
        }, {
            name : "addTextTrack",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjm_TextTrack,
            callable : null
        }, {
            name : "addTextTrack",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : otjm_TextTrack,
            callable : null
        }, {
            name : "play",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pause",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "load",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canPlayType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "addCurrentTime$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLMediaElement, $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addPlaybackRate$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLMediaElement, $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addVolume$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLMediaElement, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjc_CanvasImageSource.$meta.methods = [];
    otjw_ScriptProcessorNode.$meta.methods = [
        {
            name : "getOnAudioProcess",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjde_EventListener,
            callable : null
        }, {
            name : "setOnAudioProcess",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBufferSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_IUpdatePlayerListBox.$meta.methods = [
        {
            name : "update",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_TextureTerrainMap$1.$meta.methods = [];
    nms_InventoryEnderChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setAssociatedChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityEnderChest],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadInventoryFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagList],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveInventoryToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTTagList,
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_EnumOptionsHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nleat_WebGLQuery.$meta.methods = [];
    nms_MerchantRecipeList.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canRecipeBeUsed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_ItemStack, $rt_intcls()],
            returnType : nms_MerchantRecipe,
            callable : null
        }, {
            name : "addToListWithCheck",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MerchantRecipe],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeRecipiesToStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_DataOutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readRecipiesFromStream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_DataInputStream],
            returnType : nms_MerchantRecipeList,
            callable : null
        }, {
            name : "readRecipiesFromTags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRecipiesAsTags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTTagCompound,
            callable : null
        }];
    nms_WorldSettings.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), nms_EnumGameType, $rt_booleancls(), $rt_booleancls(), nms_WorldType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_WorldInfo],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enableBonusChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_WorldSettings,
            callable : null
        }, {
            name : "enableCommands",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_WorldSettings,
            callable : null
        }, {
            name : "func_82750_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_WorldSettings,
            callable : null
        }, {
            name : "isBonusChestEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getGameType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EnumGameType,
            callable : null
        }, {
            name : "getHardcoreEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isMapFeaturesEnabled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTerrainType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_WorldType,
            callable : null
        }, {
            name : "areCommandsAllowed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getGameTypeById",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_EnumGameType,
            callable : null
        }, {
            name : "func_82749_j",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_EntityDragonPart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IEntityMultiPart, jl_String, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entityInit",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readEntityFromNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeEntityToNBT",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBeCollidedWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "attackEntityFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEntityEqual",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }];
    juf_ToDoubleFunction.$meta.methods = [
        {
            name : "applyAsDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_doublecls(),
            callable : null
        }];
    otjde_KeyboardEvent.$meta.methods = [
        {
            name : "getKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getKeyCode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCharCode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLocation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isCtrlKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isShiftKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAltKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isMetaKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isRepeat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isComposing",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getModifierState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otjw_OscillatorNode.$meta.methods = [
        {
            name : "setType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFrequency",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getDetune",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "setOnEnded",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOnEnded",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjde_EventListener,
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPeriodicWave",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_PeriodicWave],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_MidiDevice$Info.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getVendor",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDescription",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getVersion",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    otr_RuntimeObject.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjde_MessageEvent.$meta.methods = [
        {
            name : "getData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getDataAsString",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDataAsArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjt_ArrayBuffer,
            callable : null
        }];
    jl_StackTraceElement.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getClassName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getMethodName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFileName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLineNumber",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isNativeMethod",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    juf_UnaryOperator.$meta.methods = [
        {
            name : "identity",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_UnaryOperator,
            callable : null
        }, {
            name : "lambda$identity$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }];
    jss_AudioFormat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat$Encoding, $rt_floatcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat$Encoding, $rt_floatcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls(), $rt_booleancls(), ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEncoding",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jss_AudioFormat$Encoding,
            callable : null
        }, {
            name : "getSampleRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getSampleSizeInBits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChannels",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFrameSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFrameRate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "isBigEndian",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "properties",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "getProperty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jl_ClassLoader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_ClassLoader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getParent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_ClassLoader,
            callable : null
        }, {
            name : "getSystemClassLoader",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_ClassLoader,
            callable : null
        }, {
            name : "getResourceAsStream",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "getSystemResourceAsStream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "resourceToString",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otj_JSObject],
            returnType : jl_String,
            callable : null
        }, {
            name : "supplyResources",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_ClassLoader$ResourceContainer,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resourceToString$js_body$_6",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjw_WebGLUniformLocation.$meta.methods = [];
    nms_EntityJumpHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setJumping",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doJump",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjde_MouseEvent.$meta.methods = [
        {
            name : "getScreenX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getScreenY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getClientX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getClientY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCtrlKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getShiftKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAltKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMetaKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getButton",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "getRelatedTarget",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjde_EventTarget,
            callable : null
        }, {
            name : "getMovementX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getMovementY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "initMouseEvent",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls(), $rt_booleancls(), otj_JSObject, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_shortcls(), otjde_EventTarget],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjb_Location.$meta.methods = [
        {
            name : "getFullURL",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setFullURL",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getProtocol",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setProtocol",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHost",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setHost",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHostName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setHostName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setPort",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPathName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setPathName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSearch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setSearch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHash",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setHash",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "assign",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reload",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reload",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "replace",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "current",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Location,
            callable : null
        }];
    otcir_JSCallable.$meta.methods = [
        {
            name : "call",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otp_PlatformObject, otp_PlatformSequence],
            returnType : otp_PlatformObject,
            callable : null
        }];
    otjb_WindowFeatures.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "left",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjb_WindowFeatures,
            callable : null
        }, {
            name : "top",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjb_WindowFeatures,
            callable : null
        }, {
            name : "width",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjb_WindowFeatures,
            callable : null
        }, {
            name : "height",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjb_WindowFeatures,
            callable : null
        }, {
            name : "menubar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_WindowFeatures,
            callable : null
        }, {
            name : "toolbar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_WindowFeatures,
            callable : null
        }, {
            name : "location",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_WindowFeatures,
            callable : null
        }, {
            name : "status",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_WindowFeatures,
            callable : null
        }, {
            name : "resizable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_WindowFeatures,
            callable : null
        }, {
            name : "scrollbars",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_WindowFeatures,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : otjb_WindowFeatures,
            callable : null
        }];
    nms_MapInfo.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MapData, nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPlayersOnMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }];
    otjw_ConvolverNode.$meta.methods = [
        {
            name : "setBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioBuffer,
            callable : null
        }, {
            name : "setNormalize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNormalize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otjw_ChannelMergerNode.$meta.methods = [];
    nleat_WebGL2RenderingContext.$meta.methods = [
        {
            name : "createQuery",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nleat_WebGLQuery,
            callable : null
        }, {
            name : "beginQuery",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nleat_WebGLQuery],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "endQuery",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteQuery",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nleat_WebGLQuery],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getQueryParameter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nleat_WebGLQuery, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createVertexArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nleat_WebGLVertexArray,
            callable : null
        }, {
            name : "deleteVertexArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nleat_WebGLVertexArray],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindVertexArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nleat_WebGLVertexArray],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderbufferStorageMultisample",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blitFramebuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawBuffers",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_AudioWorker.$meta.methods = [
        {
            name : "getParameters",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(otjw_AudioWorkerParamDescriptor),
            callable : null
        }, {
            name : "setOnMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOnMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjde_EventListener,
            callable : null
        }, {
            name : "setOnLoaded",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOnLoaded",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjde_EventListener,
            callable : null
        }, {
            name : "terminate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, $rt_arraycls(otj_JSObject)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otjw_AudioWorkerNode,
            callable : null
        }, {
            name : "addParameter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls()],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "removeParameter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_Format$Field.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_ServerQuery.$meta.methods = [
        {
            name : "isQueryOpen",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "send",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "send",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "responseAvailable",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "responseBinaryAvailable",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getResponse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nle_ServerQuery$QueryResponse,
            callable : null
        }, {
            name : "getBinaryResponse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "awaitResponseAvailable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "awaitResponseAvailable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "awaitResponseBinaryAvailable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "awaitResponseBinaryAvailable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "awaitResponse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : nle_ServerQuery$QueryResponse,
            callable : null
        }, {
            name : "awaitResponse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nle_ServerQuery$QueryResponse,
            callable : null
        }, {
            name : "awaitResponseBinary",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "awaitResponseBinary",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }];
    otjde_Event.$meta.methods = [
        {
            name : "getType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTarget",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjde_EventTarget,
            callable : null
        }, {
            name : "getCurrentTarget",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjde_EventTarget,
            callable : null
        }, {
            name : "getEventPhase",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "isBubbles",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isCancelable",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTimeStamp",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "stopPropagation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "preventDefault",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initEvent",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_MediaStreamAudioSourceNode.$meta.methods = [];
    nms_Explosion.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doExplosionA",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doExplosionB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_77277_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "func_94613_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityLiving,
            callable : null
        }];
    otjb_AnimationFrameCallback.$meta.methods = [
        {
            name : "onAnimationFrame",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jur_IntArrHash.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }];
    nms_IBehaviorDispenseItem.$meta.methods = [
        {
            name : "dispense",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_IBlockSource, nms_ItemStack],
            returnType : nms_ItemStack,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$ServerQueryImpl$3.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_MessageEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otciu_CurrencyLocalization.$meta.methods = [
        {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSymbol",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setSymbol",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_Patch.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBank",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getProgram",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    maa_PubKey.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), jm_BigInteger, jm_BigInteger],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEncoded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getModulus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "getPriExp",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_Transmitter.$meta.methods = [
        {
            name : "setReceiver",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Receiver],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getReceiver",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Receiver,
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_DelayNode.$meta.methods = [
        {
            name : "getDelayTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }];
    jss_AudioFileFormat$Type.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getExtension",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityMoveHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isUpdating",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSpeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setMoveTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdateMoveHelper",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "limitAngle",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    ju_Collections$reverseOrder$lambda$_44_0.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    cjj_Deflate.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [cjj_ZStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lm_init",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tr_init",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "init_block",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pqdownheap",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "smaller",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls(), $rt_intcls(), $rt_arraycls($rt_bytecls())],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "scan_tree",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "build_bl_tree",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "send_all_trees",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "send_tree",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "put_byte",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "put_byte",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "put_short",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "putShortMSB",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "send_code",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_shortcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "send_bits",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_tr_align",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_tr_tally",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compress_block",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_arraycls($rt_shortcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "set_data_type",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bi_flush",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bi_windup",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copy_block",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flush_block_only",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deflate_stored",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "_tr_stored_block",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "_tr_flush_block",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill_window",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deflate_fast",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflate_slow",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "longest_match",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateInit",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateInit",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateInit",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateInit",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateReset",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateEnd",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateParams",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateSetDictionary",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflate",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflateCopy",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [cjj_ZStream, cjj_ZStream],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "dup",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "dup",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_shortcls())],
            returnType : $rt_arraycls($rt_shortcls()),
            callable : null
        }, {
            name : "dup",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "getGZIPHeader",
            modifiers : 2048,
            accessLevel : 0,
            parameterTypes : [],
            returnType : cjj_GZIPHeader,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jss_AudioInputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, jss_AudioFormat, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_TargetDataLine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFormat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jss_AudioFormat,
            callable : null
        }, {
            name : "getFrameLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "skip",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "available",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mark",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "markSupported",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ChunkCoordIntPair.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "chunkXZ2Int",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCenterXPos",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCenterZPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChunkPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ChunkPosition,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    juf_IntFunction.$meta.methods = [
        {
            name : "apply",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }];
    nms_ScoreObjectiveCriteria.$meta.methods = [
        {
            name : "func_96636_a",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_96635_a",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isReadOnly",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nleg_EaglerAdapterGL30$1.$meta.methods = [];
    otjw_WaveShaperNode.$meta.methods = [
        {
            name : "setCurve",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCurve",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjt_Float32Array,
            callable : null
        }, {
            name : "setOversample",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOversample",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_EntitySenses.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearSensingCache",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canSee",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jss_Mixer.$meta.methods = [
        {
            name : "getMixerInfo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jss_Mixer$Info,
            callable : null
        }, {
            name : "getSourceLineInfo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jss_Line$Info),
            callable : null
        }, {
            name : "getTargetLineInfo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jss_Line$Info),
            callable : null
        }, {
            name : "getSourceLineInfo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_Line$Info],
            returnType : $rt_arraycls(jss_Line$Info),
            callable : null
        }, {
            name : "getTargetLineInfo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_Line$Info],
            returnType : $rt_arraycls(jss_Line$Info),
            callable : null
        }, {
            name : "isLineSupported",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_Line$Info],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getLine",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_Line$Info],
            returnType : jss_Line,
            callable : null
        }, {
            name : "getMaxLines",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_Line$Info],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSourceLines",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jss_Line),
            callable : null
        }, {
            name : "getTargetLines",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jss_Line),
            callable : null
        }, {
            name : "synchronize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jss_Line), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unsynchronize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jss_Line)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSynchronizationSupported",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jss_Line), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jsm_Soundbank.$meta.methods = [
        {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getVersion",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getVendor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDescription",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getResources",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_SoundbankResource),
            callable : null
        }, {
            name : "getInstruments",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_Instrument),
            callable : null
        }, {
            name : "getInstrument",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Patch],
            returnType : jsm_Instrument,
            callable : null
        }];
    nms_EnumStatus.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumStatus),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumStatus,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_Synthesizer.$meta.methods = [
        {
            name : "getMaxPolyphony",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLatency",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getChannels",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_MidiChannel),
            callable : null
        }, {
            name : "getVoiceStatus",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_VoiceStatus),
            callable : null
        }, {
            name : "isSoundbankSupported",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Soundbank],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "loadInstrument",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Instrument],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "unloadInstrument",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Instrument],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remapInstrument",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Instrument, jsm_Instrument],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDefaultSoundbank",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Soundbank,
            callable : null
        }, {
            name : "getAvailableInstruments",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_Instrument),
            callable : null
        }, {
            name : "getLoadedInstruments",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_Instrument),
            callable : null
        }, {
            name : "loadAllInstruments",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Soundbank],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "unloadAllInstruments",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Soundbank],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadInstruments",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Soundbank, $rt_arraycls(jsm_Patch)],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "unloadInstruments",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Soundbank, $rt_arraycls(jsm_Patch)],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jn_ShortBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "allocate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls())],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_shortcls()],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls())],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_ShortBuffer],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls())],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "hasArray",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "array",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_shortcls()),
            callable : null
        }, {
            name : "arrayOffset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_shortcls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compact",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_ShortBuffer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "order",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }, {
            name : "mark",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "rewind",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "position",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_ShortBuffer,
            callable : null
        }, {
            name : "array",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "rewind",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "mark",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "position",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    jss_AudioFileFormat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jss_AudioFileFormat$Type, $rt_intcls(), jss_AudioFormat, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFileFormat$Type, jss_AudioFormat, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_AudioFileFormat$Type, jss_AudioFormat, $rt_intcls(), ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jss_AudioFileFormat$Type,
            callable : null
        }, {
            name : "getByteLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFormat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jss_AudioFormat,
            callable : null
        }, {
            name : "getFrameLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "properties",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "getProperty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    otjw_AudioBuffer.$meta.methods = [
        {
            name : "getSampleRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDuration",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getNumberOfChannels",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChannelData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjt_Float32Array,
            callable : null
        }, {
            name : "copyFromChannel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyFromChannel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyFromChannel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyFromChannel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyToChannel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyToChannel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyToChannel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyToChannel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    juf_IntToLongFunction.$meta.methods = [
        {
            name : "applyAsLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }];
    ji_Console.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_Sequencer.$meta.methods = [
        {
            name : "setSequence",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSequence",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSequence",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Sequence,
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isRunning",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "startRecording",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stopRecording",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isRecording",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "recordEnable",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Track, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "recordDisable",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Track],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTempoInBPM",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setTempoInBPM",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTempoInMPQ",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setTempoInMPQ",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTempoFactor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTempoFactor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getTickLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getTickPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setTickPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMicrosecondLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getMicrosecondPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setMicrosecondPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMasterSyncMode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Sequencer$SyncMode],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMasterSyncMode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Sequencer$SyncMode,
            callable : null
        }, {
            name : "getMasterSyncModes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_Sequencer$SyncMode),
            callable : null
        }, {
            name : "setSlaveSyncMode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_Sequencer$SyncMode],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSlaveSyncMode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Sequencer$SyncMode,
            callable : null
        }, {
            name : "getSlaveSyncModes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jsm_Sequencer$SyncMode),
            callable : null
        }, {
            name : "setTrackMute",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTrackMute",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setTrackSolo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTrackSolo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addMetaEventListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_MetaEventListener],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeMetaEventListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_MetaEventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addControllerEventListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_ControllerEventListener, $rt_arraycls($rt_intcls())],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "removeControllerEventListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_ControllerEventListener, $rt_arraycls($rt_intcls())],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "setLoopStartPoint",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLoopStartPoint",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setLoopEndPoint",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLoopEndPoint",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setLoopCount",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLoopCount",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jus_Stream.$meta.methods = [
        {
            name : "filter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Predicate],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "map",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "mapToInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_ToIntFunction],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "mapToLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_ToLongFunction],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "mapToDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_ToDoubleFunction],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "flatMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "flatMapToInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "flatMapToLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "flatMapToDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "distinct",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "sorted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "sorted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "peek",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "limit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "skip",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "forEach",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forEachOrdered",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "toArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntFunction],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "reduce",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, juf_BinaryOperator],
            returnType : jl_Object,
            callable : null
        }, {
            name : "reduce",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_BinaryOperator],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "reduce",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, juf_BiFunction, juf_BinaryOperator],
            returnType : jl_Object,
            callable : null
        }, {
            name : "collect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Supplier, juf_BiConsumer, juf_BiConsumer],
            returnType : jl_Object,
            callable : null
        }, {
            name : "collect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jus_Collector],
            returnType : jl_Object,
            callable : null
        }, {
            name : "min",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "max",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "count",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "anyMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Predicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "allMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Predicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "noneMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Predicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "findFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "findAny",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "builder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_Stream$Builder,
            callable : null
        }, {
            name : "empty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "iterate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object, juf_UnaryOperator],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "generate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_Supplier],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "concat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jus_Stream, jus_Stream],
            returnType : jus_Stream,
            callable : null
        }];
    juf_ToIntFunction.$meta.methods = [
        {
            name : "applyAsInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    maajc_SecretKey.$meta.methods = [];
    otjc_JSError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "catchNative",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjc_JSError$TryClause, otjc_JSError$CatchClause],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "isError",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStack",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSError],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "catchNative$js_body$_1",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "isError$js_body$_2",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nms_EnumFacing.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumFacing),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumFacing,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFrontOffsetX",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFrontOffsetY",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFrontOffsetZ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFront",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_EnumFacing,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_DateFormatElement$TrieNode.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otpm_StaticFieldResource.$meta.methods = [];
    nlea_EaglerAdapterImpl2$ServerQueryImpl$4.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onTimer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onTimer$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    otjdh_HTMLImageElement.$meta.methods = [
        {
            name : "getAlt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setAlt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNaturalWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNaturalHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSrc",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setSrc",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCrossOrigin",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setCrossOrigin",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_GainNode.$meta.methods = [
        {
            name : "getGain",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$ServerQueryImpl$2.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjw_CloseEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    juf_IntUnaryOperator.$meta.methods = [
        {
            name : "applyAsInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compose",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_IntUnaryOperator],
            returnType : juf_IntUnaryOperator,
            callable : null
        }, {
            name : "andThen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_IntUnaryOperator],
            returnType : juf_IntUnaryOperator,
            callable : null
        }, {
            name : "identity",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_IntUnaryOperator,
            callable : null
        }, {
            name : "lambda$identity$2",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$andThen$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_IntUnaryOperator, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lambda$compose$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_IntUnaryOperator, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    otjw_AudioNode.$meta.methods = [
        {
            name : "connect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioNode, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "connect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioNode, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "connect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioNode],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "connect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioParam, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "connect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioParam],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disconnect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disconnect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disconnect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioNode],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disconnect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioNode, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disconnect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioNode, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disconnect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioParam],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disconnect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioParam, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getContext",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioContext,
            callable : null
        }, {
            name : "getNumberOfInputs",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNumberOfOutputs",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChannelCount",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getChannelCountMode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getChannelInterpretation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    otjb_History.$meta.methods = [
        {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "back",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forward",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "go",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pushState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pushState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "replaceState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "replaceState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "current",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_History,
            callable : null
        }];
    nms_ILocation.$meta.methods = [
        {
            name : "getWorld",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_World,
            callable : null
        }];
    nms_Empty3.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_AudioBufferSourceNode.$meta.methods = [
        {
            name : "getBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioBuffer,
            callable : null
        }, {
            name : "setBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_AudioBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPlaybackRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getDetune",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getLoop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setLoop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLoopStart",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setLoopStart",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLoopEnd",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setLoopEnd",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOnEnded",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOnEnded",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjde_EventListener,
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otciu_DecimalData.$meta.methods = [
        {
            name : "getGroupingSeparator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setGroupingSeparator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDecimalSeparator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setDecimalSeparator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getListSeparator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setListSeparator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPerMille",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setPerMille",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPercent",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setPercent",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNaN",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setNaN",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInfinity",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setInfinity",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinusSign",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setMinusSign",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getExponentSeparator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setExponentSeparator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjc_JSReplaceFunction.$meta.methods = [
        {
            name : "apply",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }];
    otjw_BiquadFilterNode.$meta.methods = [
        {
            name : "setType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFrequency",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getDetune",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getQ",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getGain",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }, {
            name : "getFrequencyResponse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array, otjt_Float32Array, otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFrequencyResponse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_arraycls($rt_floatcls()), $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityLookHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLookPositionWithEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLookPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdateLook",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRotation",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    jus_IntStream.$meta.methods = [
        {
            name : "filter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntPredicate],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "map",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntUnaryOperator],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "mapToObj",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntFunction],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "mapToLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntToLongFunction],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "mapToDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntToDoubleFunction],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "flatMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntFunction],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "distinct",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "sorted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "peek",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntConsumer],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "limit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "skip",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "forEach",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forEachOrdered",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_intcls()),
            callable : null
        }, {
            name : "reduce",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), juf_IntBinaryOperator],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reduce",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntBinaryOperator],
            returnType : ju_OptionalInt,
            callable : null
        }, {
            name : "collect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Supplier, juf_ObjIntConsumer, juf_BiConsumer],
            returnType : jl_Object,
            callable : null
        }, {
            name : "sum",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "min",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalInt,
            callable : null
        }, {
            name : "max",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalInt,
            callable : null
        }, {
            name : "count",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "average",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalDouble,
            callable : null
        }, {
            name : "anyMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntPredicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "allMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntPredicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "noneMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_IntPredicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "findFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalInt,
            callable : null
        }, {
            name : "findAny",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalInt,
            callable : null
        }, {
            name : "asLongStream",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "asDoubleStream",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "boxed",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "iterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_PrimitiveIterator$OfInt,
            callable : null
        }, {
            name : "spliterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator$OfInt,
            callable : null
        }, {
            name : "builder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_IntStream$Builder,
            callable : null
        }, {
            name : "empty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "iterate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), juf_IntUnaryOperator],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "generate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_IntSupplier],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "range",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "rangeClosed",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "concat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jus_IntStream, jus_IntStream],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "spliterator",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator,
            callable : null
        }, {
            name : "iterator",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$ServerQueryImpl$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_MessageEvent],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjw_AnalyserNode.$meta.methods = [
        {
            name : "setFftSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFftSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFrequencyBinCount",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setMinDecibels",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMinDecibels",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setMaxDecibels",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxDecibels",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setSmoothingTimeConstant",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSmoothingTimeConstant",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getFloatFrequencyData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFloatFrequencyData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getByteFrequencyData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Uint8Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFloatTimeDomainData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFloatTimeDomainData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getByteTimeDomainData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Uint8Array],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_JZlib$WrapperType.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(cjj_JZlib$WrapperType),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : cjj_JZlib$WrapperType,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otpm_StringResource.$meta.methods = [
        {
            name : "getValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnumSkyBlock.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumSkyBlock),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumSkyBlock,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjc_JSRegExp.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjc_JSRegExp,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjc_JSRegExp,
            callable : null
        }, {
            name : "create",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(otjc_JSRegExpFlag)],
            returnType : otjc_JSRegExp,
            callable : null
        }, {
            name : "isGlobal",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isIgnoreCase",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isMultiline",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getLastIndex",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSource",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSString,
            callable : null
        }, {
            name : "exec",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString],
            returnType : otjc_JSArray,
            callable : null
        }, {
            name : "test",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSString],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "test",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjc_JSRegExp],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_1",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_2",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjw_WebGLFramebuffer.$meta.methods = [];
    otjw_IIRFilterNode.$meta.methods = [
        {
            name : "getFrequencyResponse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array, otjt_Float32Array, otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFrequencyResponse",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_arraycls($rt_floatcls()), $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjdx_Element.$meta.methods = [
        {
            name : "getTagName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getAttribute",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "setAttribute",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeAttribute",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAttributeNode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Attr,
            callable : null
        }, {
            name : "setAttributeNode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Attr],
            returnType : otjdx_Attr,
            callable : null
        }, {
            name : "removeAttributeNode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Attr],
            returnType : otjdx_Attr,
            callable : null
        }, {
            name : "getElementsByTagName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_NodeList,
            callable : null
        }, {
            name : "getAttributeNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "setAttributeNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeAttributeNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAttributeNodeNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjdx_Attr,
            callable : null
        }, {
            name : "setAttributeNodeNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Attr],
            returnType : otjdx_Attr,
            callable : null
        }, {
            name : "getElementsByTagNameNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjdx_NodeList,
            callable : null
        }, {
            name : "hasAttribute",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasAttributeNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "querySelector",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "querySelectorAll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_NodeList,
            callable : null
        }];
    otjw_AudioDestinationNode.$meta.methods = [
        {
            name : "getMaxChannelCount",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jm_MathContext.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jm_RoundingMode],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPrecision",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRoundingMode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jm_RoundingMode,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_WebGLTexture.$meta.methods = [];
    otp_PlatformString.$meta.methods = [
        {
            name : "toUpperCase",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otp_PlatformString,
            callable : null
        }, {
            name : "toLowerCase",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otp_PlatformString,
            callable : null
        }, {
            name : "charCodeAt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    otjdh_HTMLCanvasElement.$meta.methods = [
        {
            name : "getWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getContext",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getContext",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "toDataURL",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "toDataURL",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "toDataURL",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jn_LongBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "allocate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_LongBuffer],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "hasArray",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "array",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_longcls()),
            callable : null
        }, {
            name : "arrayOffset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_longcls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compact",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_LongBuffer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "order",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }, {
            name : "mark",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "rewind",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "position",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_LongBuffer,
            callable : null
        }, {
            name : "array",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "rewind",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "mark",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "position",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_Spliterator.$meta.methods = [
        {
            name : "tryAdvance",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "trySplit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator,
            callable : null
        }, {
            name : "estimateSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getExactSizeIfKnown",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "characteristics",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hasCharacteristics",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getComparator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Comparator,
            callable : null
        }];
    otpm_ResourceMap.$meta.methods = [
        {
            name : "has",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otpm_Resource,
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, otpm_Resource],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keys",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }];
    otjw_AudioListener.$meta.methods = [
        {
            name : "setDopplerFactor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDopplerFactor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setSpeedOfSound",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSpeedOfSound",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOrientation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$ServerQueryImpl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isQueryOpen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "send",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "responseAvailable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "responseBinaryAvailable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getResponse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nle_ServerQuery$QueryResponse,
            callable : null
        }, {
            name : "getBinaryResponse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "access$4400",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$4500",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : otjw_WebSocket,
            callable : null
        }, {
            name : "access$4602",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$4700",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$4800",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$4900",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : ju_LinkedList,
            callable : null
        }, {
            name : "access$4702",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$5000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : ju_LinkedList,
            callable : null
        }, {
            name : "access$4600",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [nlea_EaglerAdapterImpl2$ServerQueryImpl],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 32,
            accessLevel : 0,
            parameterTypes : [jl_String, jl_String, nlea_EaglerAdapterImpl2$1],
            returnType : $rt_voidcls(),
            callable : null
        }];
    juf_IntToDoubleFunction.$meta.methods = [
        {
            name : "applyAsDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_doublecls(),
            callable : null
        }];
    otciu_DateFormatCollection.$meta.methods = [
        {
            name : "getShortFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setShortFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMediumFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setMediumFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLongFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setLongFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFullFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setFullFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcit_TimeZoneResource.$meta.methods = [
        {
            name : "getData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otr_RuntimeArray.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_MediaStream.$meta.methods = [];
    jn_DoubleBuffer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "allocate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "slice",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "asReadOnlyBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "put",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls()],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "getElement",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "putElement",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_DoubleBuffer],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_intcls(), $rt_intcls()],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "put",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "hasArray",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "array",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_doublecls()),
            callable : null
        }, {
            name : "arrayOffset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isArrayPresent",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getArray",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_doublecls()),
            callable : null
        }, {
            name : "getArrayOffset",
            modifiers : 1,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compact",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "isDirect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_DoubleBuffer],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "order",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_ByteOrder,
            callable : null
        }, {
            name : "mark",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "rewind",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "position",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_DoubleBuffer,
            callable : null
        }, {
            name : "array",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "rewind",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "flip",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "clear",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "reset",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "mark",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "limit",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "position",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jn_Buffer,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    jl_Thread$start$lambda$_4_0.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Thread],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "run",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_StereoPannerNode.$meta.methods = [
        {
            name : "getPan",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_AudioParam,
            callable : null
        }];
    nms_MerchantRecipe.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_ItemStack, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, nms_Item],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getItemToBuy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getSecondItemToBuy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "hasSecondItemToBuy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getItemToSell",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "hasSameIDsAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MerchantRecipe],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasSameItemsAs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MerchantRecipe],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "incrementToolUses",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82783_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82784_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82785_h",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readFromTags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "writeToTags",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTTagCompound,
            callable : null
        }];
    otjdh_HTMLVideoElement.$meta.methods = [
        {
            name : "getWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVideoWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getVideoHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPoster",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setPoster",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jlr_Constructor.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, jl_String, $rt_intcls(), $rt_intcls(), $rt_arraycls(jl_Class), otcir_JSCallable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDeclaringClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getModifiers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isSynthetic",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getParameterTypes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_Class),
            callable : null
        }, {
            name : "getParameterCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "newInstance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : jl_Object,
            callable : null
        }, {
            name : "isVarArgs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otjw_PeriodicWaveConstraints.$meta.methods = [
        {
            name : "setDisableNormalization",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDisableNormalization",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otjw_PannerNode.$meta.methods = [
        {
            name : "setPanningModel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPanningModel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setDistanceModel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDistanceModel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setRefDistance",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRefDistance",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setMaxDistance",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMaxDistance",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setRolloffFactor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRolloffFactor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setConeInnerAngle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getConeInnerAngle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setConeOuterAngle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getConeOuterAngle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setConeOuterGain",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getConeOuterGain",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOrientation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setVelocity",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nleat_WebGLVertexArray.$meta.methods = [];
    juf_ToLongFunction.$meta.methods = [
        {
            name : "applyAsLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_longcls(),
            callable : null
        }];
    jn_URLStreamHandlerFactory.$meta.methods = [
        {
            name : "createURLStreamHandler",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jn_URLStreamHandler,
            callable : null
        }];
    nms_EnumCreatureType.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumCreatureType),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumCreatureType,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), jl_Class, $rt_intcls(), nms_Material, $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCreatureClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getMaxNumberOfCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCreatureMaterial",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Material,
            callable : null
        }, {
            name : "getPeacefulCreature",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAnimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnumCreatureAttribute.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumCreatureAttribute),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumCreatureAttribute,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_MediaStreamAudioDestinationNode.$meta.methods = [
        {
            name : "getStream",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_MediaStream,
            callable : null
        }];
    jsm_Receiver.$meta.methods = [
        {
            name : "send",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_MidiMessage, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_ServerQuery$QueryResponse.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isResponseString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isResponseJSON",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getResponseString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getResponseJSON",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : oj_JSONObject,
            callable : null
        }];
    jss_AudioFormat$Encoding.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otpm_Resource.$meta.methods = [];
    jla_Annotation.$meta.methods = [
        {
            name : "annotationType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }];
    jss_Line.$meta.methods = [
        {
            name : "getLineInfo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jss_Line$Info,
            callable : null
        }, {
            name : "open",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpen",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getControls",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jss_Control),
            callable : null
        }, {
            name : "isControlSupported",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_Control$Type],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getControl",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_Control$Type],
            returnType : jss_Control,
            callable : null
        }, {
            name : "addLineListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_LineListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeLineListener",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_LineListener],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcic_CurrencyResource.$meta.methods = [
        {
            name : "getCode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setCode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNumericCode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setNumericCode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFractionDigits",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setFractionDigits",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjb_Storage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "key",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getItem",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "setItem",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeItem",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSessionStorage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Storage,
            callable : null
        }, {
            name : "getLocalStorage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Storage,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjb_Storage],
            returnType : $rt_voidcls(),
            callable : null
        }];
    oti_Structure.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "cast",
            modifiers : 260,
            accessLevel : 3,
            parameterTypes : [],
            returnType : oti_Structure,
            callable : null
        }, {
            name : "toAddress",
            modifiers : 260,
            accessLevel : 3,
            parameterTypes : [],
            returnType : oti_Address,
            callable : null
        }, {
            name : "sizeOf",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Class, oti_Structure, $rt_intcls()],
            returnType : oti_Structure,
            callable : null
        }];
    ji_File.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_File, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_URI],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkURI",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jn_URI],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canRead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canWrite",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "fs",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [],
            returnType : otcf_VirtualFileSystem,
            callable : null
        }, {
            name : "getAbsolutePath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getAbsoluteFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_File,
            callable : null
        }, {
            name : "isAbsolute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isAbsolutePath",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isDriveLetter",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isDirectory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isHidden",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCanonicalPath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCanonicalPathImpl",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCanonicalFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_File,
            callable : null
        }, {
            name : "getParent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getParentFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ji_File,
            callable : null
        }, {
            name : "listRoots",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(ji_File),
            callable : null
        }, {
            name : "list",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "list",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_FilenameFilter],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "listFiles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(ji_File),
            callable : null
        }, {
            name : "listFiles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_FileFilter],
            returnType : $rt_arraycls(ji_File),
            callable : null
        }, {
            name : "listFiles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_FilenameFilter],
            returnType : $rt_arraycls(ji_File),
            callable : null
        }, {
            name : "exists",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lastModified",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setLastModified",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setReadOnly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setWritable",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "length",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "createNewFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mkdir",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "mkdirs",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "delete",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "deleteOnExit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renameTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toURI",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_URI,
            callable : null
        }, {
            name : "getAbsoluteName",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "createTempFile",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : ji_File,
            callable : null
        }, {
            name : "createTempFile",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, ji_File],
            returnType : ji_File,
            callable : null
        }, {
            name : "genTempFile",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String, ji_File],
            returnType : ji_File,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "fixSlashes",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "calculatePath",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "findVirtualFile",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otcf_VirtualFile,
            callable : null
        }, {
            name : "findParentFile",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otcf_VirtualFile,
            callable : null
        }, {
            name : "isRoot",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_PathEntity.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(nms_PathPoint)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "incrementPathIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isFinished",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFinalPathPoint",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_PathPoint,
            callable : null
        }, {
            name : "getPathPointFromIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_PathPoint,
            callable : null
        }, {
            name : "getCurrentPathLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setCurrentPathLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCurrentPathIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setCurrentPathIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVectorFromIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "getPosition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "isSamePath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PathEntity],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isDestinationSame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Vec3],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otpm_ResourceArray.$meta.methods = [
        {
            name : "size",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otpm_Resource,
            callable : null
        }, {
            name : "add",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otpm_Resource],
            returnType : $rt_voidcls(),
            callable : null
        }];
    oti_Address.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : oti_Address,
            callable : null
        }, {
            name : "add",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : oti_Address,
            callable : null
        }, {
            name : "isLessThan",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [oti_Address],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toInt",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toLong",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "toStructure",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : oti_Structure,
            callable : null
        }, {
            name : "getByte",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_bytecls(),
            callable : null
        }, {
            name : "putByte",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [$rt_bytecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChar",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "putChar",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShort",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "putShort",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [$rt_shortcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInt",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "putInt",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLong",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "putLong",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFloat",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "putFloat",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDouble",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "putDouble",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAddress",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [],
            returnType : oti_Address,
            callable : null
        }, {
            name : "putAddress",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [oti_Address],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fromInt",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : oti_Address,
            callable : null
        }, {
            name : "fromLong",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : oti_Address,
            callable : null
        }, {
            name : "ofObject",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : oti_Address,
            callable : null
        }, {
            name : "ofData",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : oti_Address,
            callable : null
        }, {
            name : "ofData",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_charcls())],
            returnType : oti_Address,
            callable : null
        }, {
            name : "ofData",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_shortcls())],
            returnType : oti_Address,
            callable : null
        }, {
            name : "ofData",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_intcls())],
            returnType : oti_Address,
            callable : null
        }, {
            name : "ofData",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : oti_Address,
            callable : null
        }, {
            name : "ofData",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls())],
            returnType : oti_Address,
            callable : null
        }, {
            name : "ofData",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : oti_Address,
            callable : null
        }, {
            name : "ofData",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : oti_Address,
            callable : null
        }, {
            name : "align",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [oti_Address, $rt_intcls()],
            returnType : oti_Address,
            callable : null
        }, {
            name : "sizeOf",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 256,
            accessLevel : 3,
            parameterTypes : [jl_Class, $rt_intcls()],
            returnType : oti_Address,
            callable : null
        }, {
            name : "diff",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oti_Address],
            returnType : $rt_longcls(),
            callable : null
        }];
    otjw_WebGLRenderingContext.$meta.methods = [
        {
            name : "getCanvas",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLCanvasElement,
            callable : null
        }, {
            name : "getDrawingBufferWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDrawingBufferHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getContextAttributes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_WebGLContextAttributes,
            callable : null
        }, {
            name : "isContextLost",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSupportedExtensions",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSArrayReader,
            callable : null
        }, {
            name : "getSupportedExtensionArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getExtension",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "activeTexture",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "attachShader",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, otjw_WebGLShader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindAttribLocation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjw_WebGLBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindFramebuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjw_WebGLFramebuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindRenderbuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjw_WebGLRenderbuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bindTexture",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjw_WebGLTexture],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blendColor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blendEquation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blendEquationSeparate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blendFunc",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blendFuncSeparate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bufferData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bufferData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjt_ArrayBufferView, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bufferData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjt_ArrayBuffer, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bufferSubData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), otjt_ArrayBufferView],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bufferSubData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), otjt_ArrayBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkFramebufferStatus",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearColor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearDepth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearStencil",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "colorMask",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compileShader",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLShader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compressedTexImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjt_ArrayBufferView],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compressedTexSubImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjt_ArrayBufferView],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyTexImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyTexSubImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_WebGLBuffer,
            callable : null
        }, {
            name : "createFramebuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_WebGLFramebuffer,
            callable : null
        }, {
            name : "createProgram",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_WebGLProgram,
            callable : null
        }, {
            name : "createRenderbuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_WebGLRenderbuffer,
            callable : null
        }, {
            name : "createShader",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjw_WebGLShader,
            callable : null
        }, {
            name : "createTexture",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_WebGLTexture,
            callable : null
        }, {
            name : "cullFace",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteFramebuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLFramebuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteProgram",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteRenderbuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLRenderbuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteShader",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLShader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deleteTexture",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLTexture],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "depthFunc",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "depthMask",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "depthRange",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "detachShader",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, otjw_WebGLShader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disable",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "disableVertexAttribArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawArrays",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawElements",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enable",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enableVertexAttribArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "finish",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flush",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "framebufferRenderbuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), otjw_WebGLRenderbuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "framebufferTexture2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), otjw_WebGLTexture, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "frontFace",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "generateMipmap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getActiveAttrib",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, $rt_intcls()],
            returnType : otjw_WebGLActiveInfo,
            callable : null
        }, {
            name : "getActiveUniform",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, $rt_intcls()],
            returnType : otjw_WebGLActiveInfo,
            callable : null
        }, {
            name : "getAttachedShaders",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram],
            returnType : otjc_JSArrayReader,
            callable : null
        }, {
            name : "getAttachedShadersArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram],
            returnType : $rt_arraycls(otjw_WebGLShader),
            callable : null
        }, {
            name : "getAttribLocation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBufferParameter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getParameter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getParameteri",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getParameterString",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getParameterf",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getError",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFramebufferAttachmentParameter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getProgramParameter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, $rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getProgramParameterb",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getProgramParameteri",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getProgramInfoLog",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram],
            returnType : jl_String,
            callable : null
        }, {
            name : "getRenderbufferParameter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getShaderParameter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLShader, $rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getShaderParameterb",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLShader, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getShaderParameteri",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLShader, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getShaderPrecisionFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otjw_WebGLShaderPrecisionFormat,
            callable : null
        }, {
            name : "getShaderInfoLog",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLShader],
            returnType : jl_String,
            callable : null
        }, {
            name : "getShaderSource",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLShader],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTexParameter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getUniform",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, otjw_WebGLUniformLocation],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getUniformLocation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram, jl_String],
            returnType : otjw_WebGLUniformLocation,
            callable : null
        }, {
            name : "getVertexAttrib",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "getVertexAttribOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hint",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLBuffer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEnabled",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFramebuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLFramebuffer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isProgram",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isRenderbuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLRenderbuffer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isShader",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLShader],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isTexture",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLTexture],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lineWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "linkProgram",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pixelStorei",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "polygonOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readPixels",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjt_ArrayBufferView],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderbufferStorage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sampleCoverage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "scissor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "shaderSource",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLShader, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stencilFunc",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stencilFuncSeparate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stencilMask",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stencilMaskSeparate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stencilOp",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stencilOpSeparate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "texImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjt_ArrayBufferView],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "texImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjc_ImageData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "texImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjdh_HTMLImageElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "texImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjdh_HTMLCanvasElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "texParameterf",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "texParameteri",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "texSubImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjt_ArrayBufferView],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "texSubImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjc_ImageData],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "texSubImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjdh_HTMLImageElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "texSubImage2D",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), otjdh_HTMLCanvasElement],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform1f",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform1fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform1fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform1fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform1i",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform1iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjt_Int32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform1iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform1iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform2f",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform2fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform2fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform2fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform2i",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform2iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjt_Int32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform2iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform2iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform3f",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform3fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform3fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform3fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform3i",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform3iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjt_Int32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform3iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform3iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform4f",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform4fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform4fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform4fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform4i",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform4iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjt_Int32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform4iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniform4iv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_arraycls($rt_intcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniformMatrix2fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_booleancls(), otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniformMatrix2fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_booleancls(), otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniformMatrix2fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_booleancls(), $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniformMatrix3fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_booleancls(), otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniformMatrix3fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_booleancls(), otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniformMatrix3fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_booleancls(), $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniformMatrix4fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_booleancls(), otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniformMatrix4fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_booleancls(), otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uniformMatrix4fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLUniformLocation, $rt_booleancls(), $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "useProgram",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "validateProgram",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjw_WebGLProgram],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib1f",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib1fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib1fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib1fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib2f",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib2fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib2fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib2fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib3f",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib3fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib3fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib3fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib4f",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib4fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjt_Float32Array],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib4fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otjc_JSArrayReader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttrib4fv",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_floatcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "vertexAttribPointer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "viewport",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjdc_ElementCSSInlineStyle.$meta.methods = [
        {
            name : "getStyle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdc_CSSStyleDeclaration,
            callable : null
        }];
    nms_GameRules.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addGameRule",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOrCreateGameRule",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGameRuleStringValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getGameRuleBooleanValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "writeGameRulesToNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NBTTagCompound,
            callable : null
        }, {
            name : "readGameRulesFromNBT",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRules",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "hasRule",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otjc_JSSortFunction.$meta.methods = [
        {
            name : "compare",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_intcls(),
            callable : null
        }];
    jss_Mixer$Info.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String, jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getVendor",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDescription",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getVersion",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_IPosition.$meta.methods = [
        {
            name : "getX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getZ",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }];
    maajs_Key.$meta.methods = [
        {
            name : "getAlgorithm",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getEncoded",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }];
    jn_URI.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String, $rt_intcls(), jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "quoteComponent",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_URI],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jn_URI,
            callable : null
        }, {
            name : "duplicate",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jn_URI,
            callable : null
        }, {
            name : "convertHexToLowerCase",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "equalsHexCaseInsensitive",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAuthority",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFragment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHost",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPort",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getQuery",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getRawAuthority",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getRawFragment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getRawPath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getRawQuery",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getRawSchemeSpecificPart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getRawUserInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getScheme",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSchemeSpecificPart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getUserInfo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isAbsolute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isOpaque",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "normalize",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "normalize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_URI,
            callable : null
        }, {
            name : "parseServerAuthority",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_URI,
            callable : null
        }, {
            name : "relativize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_URI],
            returnType : jn_URI,
            callable : null
        }, {
            name : "resolve",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_URI],
            returnType : jn_URI,
            callable : null
        }, {
            name : "setSchemeSpecificPart",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resolve",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jn_URI,
            callable : null
        }, {
            name : "encodeOthers",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "decode",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "toASCIIString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getHashString",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toURL",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jn_URL,
            callable : null
        }, {
            name : "compareTo",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$202",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$302",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$300",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$402",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$502",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$500",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$602",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$600",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$702",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "access$802",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$800",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$902",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$1002",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$900",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$1000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$1102",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$1202",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "access$1302",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "access$1402",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [jn_URI, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jl_Package.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPackage",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Package,
            callable : null
        }, {
            name : "getAnnotation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : jla_Annotation,
            callable : null
        }, {
            name : "getAnnotations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }, {
            name : "getDeclaredAnnotations",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jla_Annotation),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_CharacterIterator.$meta.methods = [
        {
            name : "clone",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "current",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "getBeginIndex",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEndIndex",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIndex",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "last",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "previous",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setIndex",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }];
    otjb_Screen.$meta.methods = [
        {
            name : "getWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAvailWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAvailHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getColorDepth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "current",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjb_Screen,
            callable : null
        }];
    nms_IChunkProvider.$meta.methods = [
        {
            name : "chunkExists",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "provideChunk",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Chunk,
            callable : null
        }, {
            name : "loadChunk",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Chunk,
            callable : null
        }, {
            name : "populate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_IChunkProvider, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "saveChunks",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), nms_IProgressUpdate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "unloadQueuedChunks",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canSave",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "makeString",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPossibleCreatures",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_EnumCreatureType, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "findClosestStructure",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_World, jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_ChunkPosition,
            callable : null
        }, {
            name : "getLoadedChunkCount",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "recreateStructures",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_104112_b",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_AttributedCharacterIterator$Attribute.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otp_PlatformObject.$meta.methods = [
        {
            name : "getPlatformClass",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otp_PlatformClass,
            callable : null
        }, {
            name : "getId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Packet51MapChunkData.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    juf_BiFunction.$meta.methods = [
        {
            name : "apply",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "andThen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : juf_BiFunction,
            callable : null
        }, {
            name : "lambda$andThen$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_Function, jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }];
    nms_WorldType.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getWorldTypeName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getTranslateName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getGeneratorVersion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getWorldTypeForGeneratorVersion",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_WorldType,
            callable : null
        }, {
            name : "setCanBeCreated",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls()],
            returnType : nms_WorldType,
            callable : null
        }, {
            name : "getCanBeCreated",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setVersioned",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : nms_WorldType,
            callable : null
        }, {
            name : "isVersioned",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "parseWorldType",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_WorldType,
            callable : null
        }, {
            name : "getWorldTypeID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjdh_HTMLDocument.$meta.methods = [
        {
            name : "getDocumentElement",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLHtmlElement,
            callable : null
        }, {
            name : "createElement",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "createElement",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, juf_Consumer],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "getElementById",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "getBody",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLBodyElement,
            callable : null
        }, {
            name : "getHead",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLHeadElement,
            callable : null
        }, {
            name : "getScrollLeft",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getScrollTop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "current",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLDocument,
            callable : null
        }, {
            name : "querySelector",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "querySelectorAll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_NodeList,
            callable : null
        }, {
            name : "getActiveElement",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "isDesignMode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setDesignMode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "execCommand",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "execCommand",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCookie",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setCookie",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTitle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setTitle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPointerLockElement",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "exitPointerLock",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "querySelector",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "getElementById",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "createElement",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "getDocumentElement",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "createElement$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLDocument, jl_String, juf_Consumer],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "querySelector$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLDocument, jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "getElementById$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLDocument, jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "createElement$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLDocument, jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "getDocumentElement$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLDocument],
            returnType : otjdx_Element,
            callable : null
        }];
    otjdh_HTMLElement.$meta.methods = [
        {
            name : "getElementsByTagName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_NodeList,
            callable : null
        }, {
            name : "getTitle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setTitle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLang",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setLang",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isTranslate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setTranslate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDir",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setDir",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isHidden",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setHidden",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTabIndex",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setTabIndex",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "focus",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "blur",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAccessKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setAccessKey",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAccessKeyLabel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getClientWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getClientHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAbsoluteLeft",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAbsoluteTop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getScrollLeft",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setScrollLeft",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getScrollTop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setScrollTop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getScrollWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getScrollHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOffsetWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOffsetHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOffsetTop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOffsetLeft",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOwnerDocument",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLDocument,
            callable : null
        }, {
            name : "getInnerHTML",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setInnerHTML",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBoundingClientRect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_TextRectangle,
            callable : null
        }, {
            name : "getClassName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setClassName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "withAttr",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "withChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "withChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjdx_Node],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "withChild",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, juf_Consumer],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "withText",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "querySelector",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "querySelectorAll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_NodeList,
            callable : null
        }, {
            name : "requestPointerLock",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "querySelector",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "getOwnerDocument",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Document,
            callable : null
        }, {
            name : "withAttr$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLElement, jl_String, jl_String],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "withChild$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLElement, jl_String],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "withChild$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLElement, otjdx_Node],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "withChild$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLElement, jl_String, juf_Consumer],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "clear$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLElement],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "withText$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLElement, jl_String],
            returnType : otjdh_HTMLElement,
            callable : null
        }, {
            name : "querySelector$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLElement, jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "getOwnerDocument$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdh_HTMLElement],
            returnType : otjdx_Document,
            callable : null
        }];
    otjde_WheelEventTarget.$meta.methods = [
        {
            name : "listenWheel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectWheel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "listenWheel$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_WheelEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "neglectWheel$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjde_WheelEventTarget, otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_WebGLBuffer.$meta.methods = [];
    otjdx_Document.$meta.methods = [
        {
            name : "getDoctype",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_DocumentType,
            callable : null
        }, {
            name : "getImplementation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_DOMImplementation,
            callable : null
        }, {
            name : "getDocumentElement",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "createElement",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "createDocumentFragment",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_DocumentFragment,
            callable : null
        }, {
            name : "createTextNode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Text,
            callable : null
        }, {
            name : "createComment",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Comment,
            callable : null
        }, {
            name : "createCDATASection",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_CDATASection,
            callable : null
        }, {
            name : "createProcessingInstruction",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjdx_ProcessingInstruction,
            callable : null
        }, {
            name : "createAttribute",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Attr,
            callable : null
        }, {
            name : "createEntityReference",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_EntityReference,
            callable : null
        }, {
            name : "getElementsByTagName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_NodeList,
            callable : null
        }, {
            name : "importNode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Node, $rt_booleancls()],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "createElementNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "createAttributeNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjdx_Attr,
            callable : null
        }, {
            name : "getElementsByTagNameNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjdx_NodeList,
            callable : null
        }, {
            name : "getElementById",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "querySelector",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Element,
            callable : null
        }, {
            name : "querySelectorAll",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_NodeList,
            callable : null
        }];
    otcit_DateTimeZoneBuilder$Transition.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), otcit_DateTimeZoneBuilder$Transition],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), otcit_DateTimeZoneBuilder$Rule, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMillis",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getWallOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSaveMillis",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isTransitionFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otcit_DateTimeZoneBuilder$Transition],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otjw_WebGLRenderbuffer.$meta.methods = [];
    ju_AbstractMap$1.$meta.methods = [];
    nms_IBlockSource.$meta.methods = [
        {
            name : "getX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getZ",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getXInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getYInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getZInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockMetadata",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockTileEntity",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_TileEntity,
            callable : null
        }];
    jsm_MidiDevice.$meta.methods = [
        {
            name : "getDeviceInfo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_MidiDevice$Info,
            callable : null
        }, {
            name : "open",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isOpen",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getMicrosecondPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getMaxReceivers",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMaxTransmitters",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getReceiver",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Receiver,
            callable : null
        }, {
            name : "getReceivers",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "getTransmitter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Transmitter,
            callable : null
        }, {
            name : "getTransmitters",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }];
    otjw_WebGLShader.$meta.methods = [];
    otjde_WheelEvent.$meta.methods = [
        {
            name : "getDeltaX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getDeltaY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getDeltaZ",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getDeltaMode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jsm_MidiFileFormat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls(), $rt_intcls(), $rt_intcls(), $rt_longcls(), ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getDivisionType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getResolution",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getByteLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMicrosecondLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "properties",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "getProperty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }];
    otjdx_Node.$meta.methods = [
        {
            name : "getNodeName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getNodeValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setNodeValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getNodeType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "getParentNode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "getChildNodes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_NodeList,
            callable : null
        }, {
            name : "getFirstChild",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "getLastChild",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "getPreviousSibling",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "getNextSibling",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "getAttributes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_NamedNodeMap,
            callable : null
        }, {
            name : "insertBefore",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Node, otjdx_Node],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "replaceChild",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Node, otjdx_Node],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "removeChild",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Node],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "appendChild",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Node],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "hasChildNodes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hasChildNodesJS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "cloneNode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "normalize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSupported",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getNamespaceURI",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPrefix",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setPrefix",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLocalName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "hasAttributes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getOwnerDocument",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Document,
            callable : null
        }, {
            name : "delete",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "delete$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjdx_Node],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_CloseEvent.$meta.methods = [
        {
            name : "getCode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getReason",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "wasClean",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jus_BaseStream.$meta.methods = [
        {
            name : "iterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "spliterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator,
            callable : null
        }, {
            name : "isParallel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "sequential",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_BaseStream,
            callable : null
        }, {
            name : "parallel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_BaseStream,
            callable : null
        }, {
            name : "unordered",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_BaseStream,
            callable : null
        }, {
            name : "onClose",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Runnable],
            returnType : jus_BaseStream,
            callable : null
        }];
    jus_LongStream.$meta.methods = [
        {
            name : "filter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongPredicate],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "map",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongUnaryOperator],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "mapToObj",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongFunction],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "mapToInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongToIntFunction],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "mapToDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongToDoubleFunction],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "flatMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongFunction],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "distinct",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "sorted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "peek",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongConsumer],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "limit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "skip",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "forEach",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forEachOrdered",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_longcls()),
            callable : null
        }, {
            name : "reduce",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), juf_LongBinaryOperator],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "reduce",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongBinaryOperator],
            returnType : ju_OptionalLong,
            callable : null
        }, {
            name : "collect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Supplier, juf_ObjLongConsumer, juf_BiConsumer],
            returnType : jl_Object,
            callable : null
        }, {
            name : "sum",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "min",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalLong,
            callable : null
        }, {
            name : "max",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalLong,
            callable : null
        }, {
            name : "count",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "average",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalDouble,
            callable : null
        }, {
            name : "anyMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongPredicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "allMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongPredicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "noneMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_LongPredicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "findFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalLong,
            callable : null
        }, {
            name : "findAny",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalLong,
            callable : null
        }, {
            name : "asDoubleStream",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "boxed",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "iterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_PrimitiveIterator$OfLong,
            callable : null
        }, {
            name : "spliterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator$OfLong,
            callable : null
        }, {
            name : "builder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_LongStream$Builder,
            callable : null
        }, {
            name : "empty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_longcls())],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "iterate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), juf_LongUnaryOperator],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "generate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_LongSupplier],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "range",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "rangeClosed",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "concat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jus_LongStream, jus_LongStream],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "spliterator",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator,
            callable : null
        }, {
            name : "iterator",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    otjw_MediaElementAudioSourceNode.$meta.methods = [];
    jlr_Field.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, jl_String, $rt_intcls(), $rt_intcls(), jl_Class, otcir_JSFieldGetter, otcir_JSFieldSetter],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDeclaringClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getModifiers",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isEnumConstant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSynthetic",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkInstance",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Arrays$1.$meta.methods = [];
    juf_Consumer.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "andThen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : juf_Consumer,
            callable : null
        }, {
            name : "lambda$andThen$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_Consumer, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcit_DateTimeZoneBuilder$RuleSet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otcit_DateTimeZoneBuilder$RuleSet],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setStandardOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFixedSavings",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRule",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otcit_DateTimeZoneBuilder$Rule],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setUpperLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), otcit_DateTimeZoneBuilder$OfYear],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "firstTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : otcit_DateTimeZoneBuilder$Transition,
            callable : null
        }, {
            name : "nextTransition",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls()],
            returnType : otcit_DateTimeZoneBuilder$Transition,
            callable : null
        }, {
            name : "getUpperLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "buildTailZone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcit_DateTimeZoneBuilder$DSTZone,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjc_CanvasRenderingContext2D.$meta.methods = [
        {
            name : "beginPath",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closePath",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "arc",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "arc",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "arcTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bezierCurveTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clearRect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "moveTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lineTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPointInPath",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isPointInStroke",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "quadraticCurveTo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "scrollPathIntoView",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clip",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createImageData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : otjc_ImageData,
            callable : null
        }, {
            name : "createLinearGradient",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : otjc_CanvasGradient,
            callable : null
        }, {
            name : "createPattern",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_CanvasImageSource, jl_String],
            returnType : otjc_CanvasPattern,
            callable : null
        }, {
            name : "createRadialGradient",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : otjc_CanvasGradient,
            callable : null
        }, {
            name : "drawImage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_CanvasImageSource, $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawImage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_CanvasImageSource, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawImage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_CanvasImageSource, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawCustomFocusRing",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Element],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "drawSystemFocusRing",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Element],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLineDash",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjc_JSArrayReader,
            callable : null
        }, {
            name : "setLineDash",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_JSArray],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "putImageData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_ImageData, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "putImageData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_ImageData, $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getImageData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : otjc_ImageData,
            callable : null
        }, {
            name : "measureText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjc_TextMetrics,
            callable : null
        }, {
            name : "fill",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillRect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fillText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stroke",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "strokeRect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "strokeText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "strokeText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTransform",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "transform",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "translate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rotate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "scale",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "save",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "restore",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFillStyle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "setFillStyle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFillStyle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_CanvasGradient],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFillStyle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_CanvasPattern],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLineCap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setLineCap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLineDashOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setLineDashOffset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLineJoin",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setLineJoin",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLineWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setLineWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMiterLimit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setMiterLimit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStrokeStyle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "setStrokeStyle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setStrokeStyle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_CanvasGradient],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setStrokeStyle",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjc_CanvasPattern],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGlobalAlpha",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setGlobalAlpha",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGlobalCompositeOperation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setGlobalCompositeOperation",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowBlur",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setShadowBlur",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowColor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setShadowColor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowOffsetX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setShadowOffsetX",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getShadowOffsetY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setShadowOffsetY",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFont",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setFont",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTextAlign",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setTextAlign",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTextBaseline",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setTextBaseline",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCanvas",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdh_HTMLCanvasElement,
            callable : null
        }];
    otp_PlatformClass.$meta.methods = [
        {
            name : "getMetadata",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otp_PlatformClassMetadata,
            callable : null
        }, {
            name : "setJavaClass",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otp_PlatformObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getJavaClass",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otp_PlatformObject,
            callable : null
        }];
    nms_ExtendedBlockStorage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getExtBlockID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setExtBlockID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getExtBlockMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setExtBlockMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getNeedsRandomTick",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getYLocation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setExtSkylightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getExtSkylightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setExtBlocklightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getExtBlocklightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "removeInvalidBlocks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockLSBArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "clearMSBArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockMSBArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NibbleArray,
            callable : null
        }, {
            name : "getMetadataArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NibbleArray,
            callable : null
        }, {
            name : "getBlocklightArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NibbleArray,
            callable : null
        }, {
            name : "getSkylightArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NibbleArray,
            callable : null
        }, {
            name : "setBlockLSBArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockMSBArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NibbleArray],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlockMetadataArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NibbleArray],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBlocklightArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NibbleArray],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSkylightArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NibbleArray],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createBlockMSBArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_NibbleArray,
            callable : null
        }];
    otjw_MediaEvent.$meta.methods = [];
    jus_DoubleStream.$meta.methods = [
        {
            name : "filter",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoublePredicate],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "map",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoubleUnaryOperator],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "mapToObj",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoubleFunction],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "mapToInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoubleToIntFunction],
            returnType : jus_IntStream,
            callable : null
        }, {
            name : "mapToLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoubleToLongFunction],
            returnType : jus_LongStream,
            callable : null
        }, {
            name : "flatMap",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoubleFunction],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "distinct",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "sorted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "peek",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoubleConsumer],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "limit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "skip",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "forEach",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoubleConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forEachOrdered",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoubleConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toArray",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_doublecls()),
            callable : null
        }, {
            name : "reduce",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), juf_DoubleBinaryOperator],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "reduce",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoubleBinaryOperator],
            returnType : ju_OptionalDouble,
            callable : null
        }, {
            name : "collect",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_Supplier, juf_ObjDoubleConsumer, juf_BiConsumer],
            returnType : jl_Object,
            callable : null
        }, {
            name : "sum",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "min",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalDouble,
            callable : null
        }, {
            name : "max",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalDouble,
            callable : null
        }, {
            name : "count",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "average",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalDouble,
            callable : null
        }, {
            name : "anyMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoublePredicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "allMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoublePredicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "noneMatch",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [juf_DoublePredicate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "findFirst",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalDouble,
            callable : null
        }, {
            name : "findAny",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalDouble,
            callable : null
        }, {
            name : "boxed",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_Stream,
            callable : null
        }, {
            name : "iterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_PrimitiveIterator$OfDouble,
            callable : null
        }, {
            name : "spliterator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator$OfDouble,
            callable : null
        }, {
            name : "builder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_DoubleStream$Builder,
            callable : null
        }, {
            name : "empty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls())],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "iterate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), juf_DoubleUnaryOperator],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "generate",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_DoubleSupplier],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "concat",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jus_DoubleStream, jus_DoubleStream],
            returnType : jus_DoubleStream,
            callable : null
        }, {
            name : "spliterator",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator,
            callable : null
        }, {
            name : "iterator",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    otjw_PeriodicWave.$meta.methods = [];
    otr_RuntimeClass.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "computeCanary",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "computeCanary",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getClass",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otr_RuntimeObject],
            returnType : otr_RuntimeClass,
            callable : null
        }, {
            name : "unpack",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otr_RuntimeClass,
            callable : null
        }, {
            name : "pack",
            modifiers : 260,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    otjw_WebGLProgram.$meta.methods = [];
    otjw_ChannelSplitterNode.$meta.methods = [];
    jt_AttributedCharacterIterator.$meta.methods = [
        {
            name : "getAllAttributeKeys",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "getAttribute",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator$Attribute],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getAttributes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "getRunLimit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRunLimit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator$Attribute],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRunLimit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Set],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRunStart",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRunStart",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator$Attribute],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRunStart",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ju_Set],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_Collections$15.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "entrySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }];
    otjdx_ProcessingInstruction.$meta.methods = [
        {
            name : "getData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTarget",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    otjdx_DocumentType.$meta.methods = [
        {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getEntities",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_NamedNodeMap,
            callable : null
        }, {
            name : "getNotations",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_NamedNodeMap,
            callable : null
        }, {
            name : "getPublicId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getSystemId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getInternalSubset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    juf_Predicate.$meta.methods = [
        {
            name : "test",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "and",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Predicate],
            returnType : juf_Predicate,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Predicate,
            callable : null
        }, {
            name : "or",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Predicate],
            returnType : juf_Predicate,
            callable : null
        }, {
            name : "isEqual",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : juf_Predicate,
            callable : null
        }, {
            name : "lambda$isEqual$3",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lambda$or$2",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_Predicate, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lambda$negate$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lambda$and$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_Predicate, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jss_LineListener.$meta.methods = [
        {
            name : "update",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_LineEvent],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_ControllerEventListener.$meta.methods = [
        {
            name : "controlChange",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_ShortMessage],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jus_Stream$Builder.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jus_Stream$Builder,
            callable : null
        }, {
            name : "build",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_Stream,
            callable : null
        }];
    otjdx_Comment.$meta.methods = [];
    juf_IntSupplier.$meta.methods = [
        {
            name : "getAsInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    juf_LongPredicate.$meta.methods = [
        {
            name : "test",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "and",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_LongPredicate],
            returnType : juf_LongPredicate,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_LongPredicate,
            callable : null
        }, {
            name : "or",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_LongPredicate],
            returnType : juf_LongPredicate,
            callable : null
        }, {
            name : "lambda$or$2",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_LongPredicate, $rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lambda$negate$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lambda$and$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_LongPredicate, $rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    juf_DoubleToLongFunction.$meta.methods = [
        {
            name : "applyAsLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_longcls(),
            callable : null
        }];
    juf_LongToIntFunction.$meta.methods = [
        {
            name : "applyAsInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    juf_BinaryOperator.$meta.methods = [
        {
            name : "minBy",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : juf_BinaryOperator,
            callable : null
        }, {
            name : "maxBy",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ju_Comparator],
            returnType : juf_BinaryOperator,
            callable : null
        }, {
            name : "lambda$maxBy$1",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [ju_Comparator, jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "lambda$minBy$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [ju_Comparator, jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }];
    otcir_JSFieldGetter.$meta.methods = [
        {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otp_PlatformObject],
            returnType : otp_PlatformObject,
            callable : null
        }];
    otjdx_NamedNodeMap.$meta.methods = [
        {
            name : "getNamedItem",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "setNamedItem",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Node],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "removeNamedItem",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "item",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNamedItemNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "setNamedItemNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjdx_Node],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "removeNamedItemNS",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : otjdx_Node,
            callable : null
        }];
    ji_FileFilter.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ju_PrimitiveIterator$OfInt.$meta.methods = [
        {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_IntConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "nextInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Integer,
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    ju_Spliterator$OfDouble.$meta.methods = [
        {
            name : "tryAdvance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jus_IntStream$Builder.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jus_IntStream$Builder,
            callable : null
        }, {
            name : "build",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_IntStream,
            callable : null
        }];
    jss_Line$Info.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLineClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_Line$Info],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    juf_DoubleSupplier.$meta.methods = [
        {
            name : "getAsDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }];
    juf_DoubleToIntFunction.$meta.methods = [
        {
            name : "applyAsInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    otjm_MediaController.$meta.methods = [
        {
            name : "getBuffered",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_TimeRanges,
            callable : null
        }, {
            name : "getCurrentTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setCurrentTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDefaultPlaybackRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setDefaultPlaybackRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDuration",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "isMuted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setMuted",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPaused",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getPlaybackRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setPlaybackRate",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPlaybackState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPlayed",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_TimeRanges,
            callable : null
        }, {
            name : "getReadyState",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSeekable",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_TimeRanges,
            callable : null
        }, {
            name : "getVolume",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setVolume",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "play",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "pause",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Spliterator$OfInt.$meta.methods = [
        {
            name : "tryAdvance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    oj_JSONObject.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONObject, $rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONTokener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_Object, ju_Set],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "accumulate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Object],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Object],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "doubleToString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getEnum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, jl_String],
            returnType : jl_Enum,
            callable : null
        }, {
            name : "getBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBigInteger",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "getBigDecimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "getDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getNumber",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Number,
            callable : null
        }, {
            name : "getInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getJSONArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "getJSONObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "getLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getNames",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [oj_JSONObject],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getNames",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "has",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "increment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "isNull",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "keys",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "keySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "entrySet",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "length",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "names",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "numberToString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Number],
            returnType : jl_String,
            callable : null
        }, {
            name : "opt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "optEnum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, jl_String],
            returnType : jl_Enum,
            callable : null
        }, {
            name : "optEnum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, jl_String, jl_Enum],
            returnType : jl_Enum,
            callable : null
        }, {
            name : "optBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "optBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "optBigDecimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "objectToBigDecimal",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object, jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "objectToBigDecimal",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object, jm_BigDecimal, $rt_booleancls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "optBigInteger",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "objectToBigInteger",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object, jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "optDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "optDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "optFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "optFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "optInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "optInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "optJSONArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "optJSONObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "optJSONObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, oj_JSONObject],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "optLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "optLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "optNumber",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Number,
            callable : null
        }, {
            name : "optNumber",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Number],
            returnType : jl_Number,
            callable : null
        }, {
            name : "optString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "optString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "populateMap",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "populateMap",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_Object, ju_Set],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isValidMethodName",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getKeyNameFromMethod",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jlr_Method],
            returnType : jl_String,
            callable : null
        }, {
            name : "getAnnotation",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jlr_Method, jl_Class],
            returnType : jla_Annotation,
            callable : null
        }, {
            name : "getAnnotationDepth",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jlr_Method, jl_Class],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_booleancls()],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Collection],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_doublecls()],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_floatcls()],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_longcls()],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Map],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Object],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "putOnce",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Object],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "putOpt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Object],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "query",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "query",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONPointer],
            returnType : jl_Object,
            callable : null
        }, {
            name : "optQuery",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "optQuery",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONPointer],
            returnType : jl_Object,
            callable : null
        }, {
            name : "quote",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "quote",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, ji_Writer],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "similar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isNumberSimilar",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Number, jl_Number],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "numberIsFinite",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Number],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isDecimalNotation",
            modifiers : 512,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "stringToNumber",
            modifiers : 512,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : jl_Number,
            callable : null
        }, {
            name : "stringToValue",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "testValidity",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toJSONArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONArray],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "valueToString",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_String,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "wrap",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Object, ju_Set],
            returnType : jl_Object,
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_Writer],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "writeValue",
            modifiers : 516,
            accessLevel : 0,
            parameterTypes : [ji_Writer, jl_Object, $rt_intcls(), $rt_intcls()],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "indent",
            modifiers : 516,
            accessLevel : 0,
            parameterTypes : [ji_Writer, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_Writer, $rt_intcls(), $rt_intcls()],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "toMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "wrongValueFormatException",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String, jl_Throwable],
            returnType : oj_JSONException,
            callable : null
        }, {
            name : "wrongValueFormatException",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String, jl_Object, jl_Throwable],
            returnType : oj_JSONException,
            callable : null
        }, {
            name : "recursivelyDefinedObjectException",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : oj_JSONException,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjm_VideoTrackList.$meta.methods = [
        {
            name : "getSelectedIndex",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTrackById",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjm_VideoTrack,
            callable : null
        }];
    otjw_WebGLContextAttributes.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAlpha",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setAlpha",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isDepth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setDepth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isScencil",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setStencil",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAntialias",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setAntialias",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPremultipliedAlpha",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPremultipliedAlpha",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPreserveDrawingBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPreserveDrawingBuffer",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjw_WebGLContextAttributes,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjw_WebGLContextAttributes],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_13",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    otjw_AudioWorkerNode.$meta.methods = [
        {
            name : "setOnMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOnMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjde_EventListener,
            callable : null
        }, {
            name : "postMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, $rt_arraycls(otj_JSObject)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "postMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjm_AudioTrackList.$meta.methods = [
        {
            name : "getTrackById",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjm_AudioTrack,
            callable : null
        }];
    juf_LongBinaryOperator.$meta.methods = [
        {
            name : "applyAsLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }];
    otjc_ImageData.$meta.methods = [
        {
            name : "getWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjt_Uint8ClampedArray,
            callable : null
        }, {
            name : "setData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Uint8ClampedArray],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otp_PlatformSequence.$meta.methods = [
        {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otj_JSObject,
            callable : null
        }];
    otcf_VirtualFile.$meta.methods = [
        {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isDirectory",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFile",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "listFiles",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "createAccessor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : otcf_VirtualFileAccessor,
            callable : null
        }, {
            name : "createFile",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createDirectory",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "delete",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "adopt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otcf_VirtualFile, jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canRead",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canWrite",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lastModified",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setLastModified",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setReadOnly",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "length",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    otjm_MediaError.$meta.methods = [
        {
            name : "getCode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jus_Collector.$meta.methods = [
        {
            name : "supplier",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Supplier,
            callable : null
        }, {
            name : "accumulator",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_BiConsumer,
            callable : null
        }, {
            name : "combiner",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_BinaryOperator,
            callable : null
        }, {
            name : "finisher",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_Function,
            callable : null
        }, {
            name : "characteristics",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_Supplier, juf_BiConsumer, juf_BinaryOperator, $rt_arraycls(jus_Collector$Characteristics)],
            returnType : jus_Collector,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [juf_Supplier, juf_BiConsumer, juf_BinaryOperator, juf_Function, $rt_arraycls(jus_Collector$Characteristics)],
            returnType : jus_Collector,
            callable : null
        }, {
            name : "lambda$of$0",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }];
    jsm_SoundbankResource.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jsm_Soundbank, jl_String, jl_Class],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSoundbank",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Soundbank,
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDataClass",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Class,
            callable : null
        }, {
            name : "getData",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    jus_LongStream$Builder.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jus_LongStream$Builder,
            callable : null
        }, {
            name : "build",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_LongStream,
            callable : null
        }];
    otjc_CanvasPattern.$meta.methods = [];
    juf_IntPredicate.$meta.methods = [
        {
            name : "test",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "and",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_IntPredicate],
            returnType : juf_IntPredicate,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_IntPredicate,
            callable : null
        }, {
            name : "or",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_IntPredicate],
            returnType : juf_IntPredicate,
            callable : null
        }, {
            name : "lambda$or$2",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_IntPredicate, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lambda$negate$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lambda$and$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_IntPredicate, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otjm_TextTrack.$meta.methods = [
        {
            name : "getId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLabel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getKind",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLanguage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getMode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setMode",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCues",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_TextTrackCueList,
            callable : null
        }, {
            name : "getActiveCues",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_TextTrackCueList,
            callable : null
        }, {
            name : "addCue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjm_TextTrackCue],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeCue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjm_TextTrackCue],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_NibbleArray.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    juf_DoubleUnaryOperator.$meta.methods = [
        {
            name : "applyAsDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "compose",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_DoubleUnaryOperator],
            returnType : juf_DoubleUnaryOperator,
            callable : null
        }, {
            name : "andThen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_DoubleUnaryOperator],
            returnType : juf_DoubleUnaryOperator,
            callable : null
        }, {
            name : "identity",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_DoubleUnaryOperator,
            callable : null
        }, {
            name : "lambda$identity$2",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "lambda$andThen$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_DoubleUnaryOperator, $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "lambda$compose$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_DoubleUnaryOperator, $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }];
    otcir_JSFieldSetter.$meta.methods = [
        {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otp_PlatformObject, otp_PlatformObject],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjc_CanvasGradient.$meta.methods = [
        {
            name : "addColorStop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jss_TargetDataLine.$meta.methods = [
        {
            name : "open",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "open",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jss_AudioFormat],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    juf_LongFunction.$meta.methods = [
        {
            name : "apply",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_Object,
            callable : null
        }];
    juf_IntBinaryOperator.$meta.methods = [
        {
            name : "applyAsInt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    jss_Control.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jss_Control$Type],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jss_Control$Type,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    juf_DoubleConsumer.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "andThen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_DoubleConsumer],
            returnType : juf_DoubleConsumer,
            callable : null
        }, {
            name : "lambda$andThen$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_DoubleConsumer, $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjdc_CSSStyleDeclaration.$meta.methods = [
        {
            name : "getCssText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setCssText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "item",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPropertyValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPropertyPriority",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "setProperty",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setProperty",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPropertyValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPropertyPriority",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeProperty",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }];
    otjc_JSError$TryClause.$meta.methods = [
        {
            name : "run",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otj_JSObject,
            callable : null
        }];
    juf_LongSupplier.$meta.methods = [
        {
            name : "getAsLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }];
    otjdx_DocumentFragment.$meta.methods = [];
    jl_ClassLoader$ResourceContainer.$meta.methods = [
        {
            name : "getResource",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otj_JSObject,
            callable : null
        }];
    otjc_TextMetrics.$meta.methods = [
        {
            name : "getWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    otjm_TextTrackList.$meta.methods = [
        {
            name : "getTrackById",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjm_TextTrack,
            callable : null
        }];
    otjm_TimeRanges.$meta.methods = [
        {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "end",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    otjdh_HTMLHeadElement.$meta.methods = [];
    ju_Optional.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "empty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "ofNullable",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "isPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "ifPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "filter",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Predicate],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "map",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "flatMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Function],
            returnType : ju_Optional,
            callable : null
        }, {
            name : "orElse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "orElseGet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Supplier],
            returnType : jl_Object,
            callable : null
        }, {
            name : "orElseThrow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Supplier],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    ju_PrimitiveIterator$OfDouble.$meta.methods = [
        {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_DoubleConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "nextDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Double,
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    juf_DoubleBinaryOperator.$meta.methods = [
        {
            name : "applyAsDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }];
    jus_DoubleStream$Builder.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jus_DoubleStream$Builder,
            callable : null
        }, {
            name : "build",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jus_DoubleStream,
            callable : null
        }];
    otjdx_NodeList.$meta.methods = [
        {
            name : "item",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjdx_Node,
            callable : null
        }, {
            name : "getLength",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    otjdh_TextRectangle.$meta.methods = [
        {
            name : "getLeft",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBottom",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getWidth",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHeight",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_Spliterator$OfLong.$meta.methods = [
        {
            name : "tryAdvance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjdx_CDATASection.$meta.methods = [];
    ju_OptionalDouble.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "empty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalDouble,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : ju_OptionalDouble,
            callable : null
        }, {
            name : "getAsDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "isPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "ifPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_DoubleConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "orElse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "orElseGet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_DoubleSupplier],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "orElseThrow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Supplier],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    otjdx_EntityReference.$meta.methods = [];
    otjc_JSError$CatchClause.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    juf_LongUnaryOperator.$meta.methods = [
        {
            name : "applyAsLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "compose",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_LongUnaryOperator],
            returnType : juf_LongUnaryOperator,
            callable : null
        }, {
            name : "andThen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_LongUnaryOperator],
            returnType : juf_LongUnaryOperator,
            callable : null
        }, {
            name : "identity",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_LongUnaryOperator,
            callable : null
        }, {
            name : "lambda$identity$2",
            modifiers : 544,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "lambda$andThen$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_LongUnaryOperator, $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "lambda$compose$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_LongUnaryOperator, $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }];
    jsm_MidiChannel.$meta.methods = [
        {
            name : "noteOn",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "noteOff",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "noteOff",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setPolyPressure",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPolyPressure",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setChannelPressure",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChannelPressure",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "controlChange",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getController",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "programChange",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "programChange",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getProgram",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setPitchBend",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPitchBend",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "resetAllControllers",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "allNotesOff",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "allSoundOff",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "localControl",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setMono",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMono",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setOmni",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOmni",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setMute",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMute",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSolo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSolo",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otjdx_Text.$meta.methods = [
        {
            name : "splitText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjdx_Text,
            callable : null
        }];
    otjw_WebGLShaderPrecisionFormat.$meta.methods = [
        {
            name : "getRangeMin",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRangeMax",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getPrecision",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_PathPoint.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "makeHash",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "distanceTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PathPoint],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "func_75832_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PathPoint],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isAssigned",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    otp_PlatformClassMetadata.$meta.methods = [
        {
            name : "getArrayItem",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otp_PlatformClass,
            callable : null
        }, {
            name : "getSupertypes",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otp_PlatformSequence,
            callable : null
        }, {
            name : "getSuperclass",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otp_PlatformClass,
            callable : null
        }, {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isPrimitive",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isEnum",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFlags",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAccessLevel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    ju_OptionalLong.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "empty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalLong,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : ju_OptionalLong,
            callable : null
        }, {
            name : "getAsLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "isPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "ifPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_LongConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "orElse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "orElseGet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_LongSupplier],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "orElseThrow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Supplier],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    ju_PrimitiveIterator$OfLong.$meta.methods = [
        {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Consumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_LongConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "nextLong",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Long,
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    jss_Control$Type.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    otjw_WebGLActiveInfo.$meta.methods = [
        {
            name : "getSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jsm_Instrument.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jsm_Soundbank, jsm_Patch, jl_String, jl_Class],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPatch",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jsm_Patch,
            callable : null
        }];
    jsm_MetaEventListener.$meta.methods = [
        {
            name : "meta",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jsm_MetaMessage],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjw_AudioParam.$meta.methods = [
        {
            name : "getValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDefaultValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "setValueAtTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "linearRampToValueAtTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "exponentialRampToValueAtTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setTargetAtTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setValueCurveAtTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjt_Float32Array, $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setValueCurveAtTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_floatcls()), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "cancelScheduledValues",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_OptionalInt.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "empty",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_OptionalInt,
            callable : null
        }, {
            name : "of",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : ju_OptionalInt,
            callable : null
        }, {
            name : "getAsInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "ifPresent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_IntConsumer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "orElse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "orElseGet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_IntSupplier],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "orElseThrow",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_Supplier],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    juf_Supplier.$meta.methods = [
        {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    juf_LongConsumer.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "andThen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_LongConsumer],
            returnType : juf_LongConsumer,
            callable : null
        }, {
            name : "lambda$andThen$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_LongConsumer, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    juf_DoubleFunction.$meta.methods = [
        {
            name : "apply",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : jl_Object,
            callable : null
        }];
    juf_DoublePredicate.$meta.methods = [
        {
            name : "test",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "and",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_DoublePredicate],
            returnType : juf_DoublePredicate,
            callable : null
        }, {
            name : "negate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : juf_DoublePredicate,
            callable : null
        }, {
            name : "or",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_DoublePredicate],
            returnType : juf_DoublePredicate,
            callable : null
        }, {
            name : "lambda$or$2",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_DoublePredicate, $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lambda$negate$1",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lambda$and$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_DoublePredicate, $rt_doublecls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otjc_JSRegExpFlag.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(otjc_JSRegExpFlag),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjc_JSRegExpFlag,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjdx_DOMImplementation.$meta.methods = [
        {
            name : "hasFeature",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "createDocumentType",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : otjdx_DocumentType,
            callable : null
        }, {
            name : "createDocument",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_String, otjdx_DocumentType],
            returnType : otjdx_Document,
            callable : null
        }];
    jsm_Sequencer$SyncMode.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    juf_IntConsumer.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "andThen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_IntConsumer],
            returnType : juf_IntConsumer,
            callable : null
        }, {
            name : "lambda$andThen$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_IntConsumer, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    juf_BiConsumer.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "andThen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [juf_BiConsumer],
            returnType : juf_BiConsumer,
            callable : null
        }, {
            name : "lambda$andThen$0",
            modifiers : 32,
            accessLevel : 1,
            parameterTypes : [juf_BiConsumer, jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjdh_HTMLHtmlElement.$meta.methods = [];
    otcit_DateTimeZoneBuilder$Rule.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otcit_DateTimeZoneBuilder$Recurrence, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFromYear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getToYear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOfYear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otcit_DateTimeZoneBuilder$OfYear,
            callable : null
        }, {
            name : "getSaveMillis",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }];
    juf_LongToDoubleFunction.$meta.methods = [
        {
            name : "applyAsDouble",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_doublecls(),
            callable : null
        }];
    ji_FilenameFilter.$meta.methods = [
        {
            name : "accept",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [ji_File, jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }];
    otcf_VirtualFileSystem.$meta.methods = [
        {
            name : "getUserDir",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFile",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcf_VirtualFile,
            callable : null
        }, {
            name : "isWindows",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canonicalize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }];
    jsm_VoiceStatus.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjdx_Attr.$meta.methods = [
        {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isSpecified",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getOwnerElement",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_Element,
            callable : null
        }];
    otjw_AudioWorkerParamDescriptor.$meta.methods = [
        {
            name : "getName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getDefaultValue",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    otjdh_HTMLBodyElement.$meta.methods = [
        {
            name : "setOnBeforeUnload",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOnError",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOnLoad",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOnMessage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOnOffline",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOnOnline",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOnUnload",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otjde_EventListener],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_EventObject.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSource",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    oj_JSONArray.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONTokener],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Iterable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONArray],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "getFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getNumber",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Number,
            callable : null
        }, {
            name : "getEnum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, $rt_intcls()],
            returnType : jl_Enum,
            callable : null
        }, {
            name : "getBigDecimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "getBigInteger",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "getInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getJSONArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "getJSONObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "getLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "isNull",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "join",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "length",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "opt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "optBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "optBoolean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "optDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "optDouble",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "optFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "optFloat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "optInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "optInt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "optEnum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, $rt_intcls()],
            returnType : jl_Enum,
            callable : null
        }, {
            name : "optEnum",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, $rt_intcls(), jl_Enum],
            returnType : jl_Enum,
            callable : null
        }, {
            name : "optBigInteger",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jm_BigInteger],
            returnType : jm_BigInteger,
            callable : null
        }, {
            name : "optBigDecimal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jm_BigDecimal],
            returnType : jm_BigDecimal,
            callable : null
        }, {
            name : "optJSONArray",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "optJSONObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "optLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "optLong",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "optNumber",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Number,
            callable : null
        }, {
            name : "optNumber",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Number],
            returnType : jl_Number,
            callable : null
        }, {
            name : "optString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "optString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Collection],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_doublecls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Map],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "putAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "putAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Iterable],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "putAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONArray],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "putAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : oj_JSONArray,
            callable : null
        }, {
            name : "query",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "query",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONPointer],
            returnType : jl_Object,
            callable : null
        }, {
            name : "optQuery",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "optQuery",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONPointer],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "similar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "toJSONObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [oj_JSONArray],
            returnType : oj_JSONObject,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_Writer],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_Writer, $rt_intcls(), $rt_intcls()],
            returnType : ji_Writer,
            callable : null
        }, {
            name : "toList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addAll",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_Collection, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addAll",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_Iterable, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addAll",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_Object, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "wrongValueFormatException",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), jl_String, jl_Throwable],
            returnType : oj_JSONException,
            callable : null
        }, {
            name : "wrongValueFormatException",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), jl_String, jl_Object, jl_Throwable],
            returnType : oj_JSONException,
            callable : null
        }];
    otjm_TextTrackCueList.$meta.methods = [
        {
            name : "getCueById",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otjm_TextTrackCue,
            callable : null
        }];
    otjm_TextTrackCue.$meta.methods = [
        {
            name : "getTrack",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjm_TextTrack,
            callable : null
        }, {
            name : "getId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getStartTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setStartTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEndTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setEndTime",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPauseOnExit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setPauseOnExit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getVertical",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setVertical",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSnapToLines",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSnapToLines",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLine",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setLine",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAlign",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setAlign",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setText",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCueAsHTML",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otjdx_DocumentFragment,
            callable : null
        }];
    otjm_VideoTrack.$meta.methods = [
        {
            name : "getId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLabel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getKind",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLanguage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isSelected",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setSelected",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    oj_JSONException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    oj_JSONPointer.$meta.methods = [
        {
            name : "builder",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : oj_JSONPointer$Builder,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unescape",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "queryFrom",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "readByIndexToken",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_Object, jl_String],
            returnType : jl_Object,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "escape",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "toURIFragment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    otcf_VirtualFileAccessor.$meta.methods = [
        {
            name : "read",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "tell",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "seek",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "skip",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "resize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flush",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otjt_Uint8ClampedArray.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_shortcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : otjt_Uint8ClampedArray,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer],
            returnType : otjt_Uint8ClampedArray,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBufferView],
            returnType : otjt_Uint8ClampedArray,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, $rt_intcls(), $rt_intcls()],
            returnType : otjt_Uint8ClampedArray,
            callable : null
        }, {
            name : "create",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otjt_ArrayBuffer, $rt_intcls()],
            returnType : otjt_Uint8ClampedArray,
            callable : null
        }, {
            name : "<init>$static",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [otjt_Uint8ClampedArray],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "create$js_body$_3",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_4",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_5",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_6",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "create$js_body$_7",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    otjm_AudioTrack.$meta.methods = [
        {
            name : "getId",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLabel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getKind",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getLanguage",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isEnabled",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setEnabled",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jss_LineEvent.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jss_Line, jss_LineEvent$Type, $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLine",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jss_Line,
            callable : null
        }, {
            name : "getType",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jss_LineEvent$Type,
            callable : null
        }, {
            name : "getFramePosition",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    oj_JSONTokener.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_Reader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "back",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "decrementIndexes",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dehexchar",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "end",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "more",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "getPrevious",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "incrementIndexes",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "nextClean",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "nextString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "nextTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : jl_String,
            callable : null
        }, {
            name : "nextTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "nextValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "skipTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_charcls()],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "syntaxError",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : oj_JSONException,
            callable : null
        }, {
            name : "syntaxError",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : oj_JSONException,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    jus_Collector$Characteristics.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jus_Collector$Characteristics),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jus_Collector$Characteristics,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jss_LineEvent$Type.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    oj_JSONPointer$Builder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "build",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : oj_JSONPointer,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : oj_JSONPointer$Builder,
            callable : null
        }, {
            name : "append",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : oj_JSONPointer$Builder,
            callable : null
        }];
    otcfm_InMemoryVirtualFileSystem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcf_VirtualFile,
            callable : null
        }, {
            name : "getUserDir",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setUserDir",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isWindows",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canonicalize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : jl_String,
            callable : null
        }];
    ju_EventListener.$meta.methods = [];
    otcir_Flags.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getModifiers",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_ScoreHealthCriteria.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96635_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isReadOnly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jt_MessageFormat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "applyPattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "formatToCharacterIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jt_AttributedCharacterIterator,
            callable : null
        }, {
            name : "format",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object), jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "formatImpl",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(jl_Object), jl_StringBuffer, jt_FieldPosition, ju_List],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "handleArgumentField",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), jt_FieldPosition, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleformat",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jt_Format, jl_Object, $rt_intcls(), ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "format",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "format",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String, $rt_arraycls(jl_Object)],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFormats",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jt_Format),
            callable : null
        }, {
            name : "getFormatsByArgumentIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jt_Format),
            callable : null
        }, {
            name : "setFormatByArgumentIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jt_Format],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFormatsByArgumentIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jt_Format)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLocale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Locale,
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "parseObject",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : jl_Object,
            callable : null
        }, {
            name : "match",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, jt_ParsePosition, $rt_booleancls(), $rt_arraycls(jl_String)],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "parseVariable",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : jt_Format,
            callable : null
        }, {
            name : "setFormat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jt_Format],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setFormats",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jt_Format)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setLocale",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Locale],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "decodeDecimalFormat",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_StringBuffer, jt_Format],
            returnType : jl_String,
            callable : null
        }, {
            name : "decodeSimpleDateFormat",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_StringBuffer, jt_Format],
            returnType : jl_String,
            callable : null
        }, {
            name : "toPattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "appendQuoted",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_StringBuffer, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcf_VirtualFileSystemProvider.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : otcf_VirtualFileSystem,
            callable : null
        }, {
            name : "setInstance",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [otcf_VirtualFileSystem],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maat_TMIEnchanting.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setItem",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createStack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "adjustEnchantmentLevel",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEnchantmentLevel",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Enchantment],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_ServiceLoader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }, {
            name : "load",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : ju_ServiceLoader,
            callable : null
        }, {
            name : "load",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Class, jl_ClassLoader],
            returnType : ju_ServiceLoader,
            callable : null
        }, {
            name : "loadInstalled",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_Class],
            returnType : ju_ServiceLoader,
            callable : null
        }, {
            name : "loadServices",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [otp_PlatformClass],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "reload",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [ju_ServiceLoader],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }];
    nms_ModelEnderCrystal.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "render",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jss_DataLine.$meta.methods = [
        {
            name : "drain",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "flush",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "start",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "stop",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isRunning",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isActive",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getFormat",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jss_AudioFormat,
            callable : null
        }, {
            name : "getBufferSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "available",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getFramePosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getLongFramePosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getMicrosecondPosition",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getLevel",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    otcir_Converter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "toJava",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [otp_PlatformObject],
            returnType : jl_Object,
            callable : null
        }, {
            name : "fromJava",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : otp_PlatformObject,
            callable : null
        }, {
            name : "arrayFromJava",
            modifiers : 768,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : otp_PlatformSequence,
            callable : null
        }];
    nms_EnumArt.$meta.methods = [
        {
            name : "values",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(nms_EnumArt),
            callable : null
        }, {
            name : "valueOf",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : nms_EnumArt,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls(), jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nle_WebsocketNetworkManager$ByteBufferDirectInputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jn_ByteBuffer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "available",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 32,
            accessLevel : 0,
            parameterTypes : [jn_ByteBuffer, nle_WebsocketNetworkManager$1],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcfm_AbstractInMemoryVirtualFile.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "delete",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isDirectory",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFile",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "listFiles",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "canRead",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canWrite",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lastModified",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setLastModified",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "setReadOnly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "modify",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChildFile",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcfm_AbstractInMemoryVirtualFile,
            callable : null
        }, {
            name : "createAccessor",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : otcf_VirtualFileAccessor,
            callable : null
        }, {
            name : "createFile",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcfm_InMemoryVirtualFile,
            callable : null
        }, {
            name : "createDirectory",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcfm_InMemoryVirtualDirectory,
            callable : null
        }, {
            name : "adopt",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [otcfm_AbstractInMemoryVirtualFile, jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "length",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jl_SystemClassLoader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_PacketCount.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "countPacket",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    oj_JSONObject$Null.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 4,
            accessLevel : 2,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "<init>",
            modifiers : 32,
            accessLevel : 0,
            parameterTypes : [oj_JSONObject$1],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_Deflate$Config.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Spliterator$OfPrimitive.$meta.methods = [
        {
            name : "trySplit",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Spliterator$OfPrimitive,
            callable : null
        }, {
            name : "tryAdvance",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "forEachRemaining",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_PrimitiveIterator.$meta.methods = [
        {
            name : "forEachRemaining",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }];
    otcfm_InMemoryVirtualDirectory.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isDirectory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "listFiles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getChildFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcfm_AbstractInMemoryVirtualFile,
            callable : null
        }, {
            name : "createAccessor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : otcf_VirtualFileAccessor,
            callable : null
        }, {
            name : "createFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcfm_InMemoryVirtualFile,
            callable : null
        }, {
            name : "createDirectory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcfm_InMemoryVirtualDirectory,
            callable : null
        }, {
            name : "adopt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otcfm_AbstractInMemoryVirtualFile, jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "length",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "adoptFile",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [otcfm_AbstractInMemoryVirtualFile],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ScoreDummyCriteria.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_96636_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_96635_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_List],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isReadOnly",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ju_Collections$16.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_Set],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    otcfm_InMemoryVirtualFile.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isDirectory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "listFiles",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_String),
            callable : null
        }, {
            name : "getChildFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcfm_AbstractInMemoryVirtualFile,
            callable : null
        }, {
            name : "createAccessor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : otcf_VirtualFileAccessor,
            callable : null
        }, {
            name : "createFile",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcfm_InMemoryVirtualFile,
            callable : null
        }, {
            name : "createDirectory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : otcfm_InMemoryVirtualDirectory,
            callable : null
        }, {
            name : "adopt",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otcfm_AbstractInMemoryVirtualFile, jl_String],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "length",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "expandData",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "access$000",
            modifiers : 544,
            accessLevel : 0,
            parameterTypes : [otcfm_InMemoryVirtualFile, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    oj_JSONObject$1.$meta.methods = [];
    nle_WebsocketNetworkManager$1.$meta.methods = [];
    maat_TMIEnchantControl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String, nms_Enchantment, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "click",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "draw",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [maat__tmi_MgCanvas, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_InstantiationException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_Collections$17.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_Iterator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    csms_StandardMidiFileReader.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMidiFileFormat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : jsm_MidiFileFormat,
            callable : null
        }, {
            name : "getMidiFileFormatFromStream",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ji_InputStream, $rt_intcls(), csms_SMFParser],
            returnType : jsm_MidiFileFormat,
            callable : null
        }, {
            name : "getMidiFileFormat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : jsm_MidiFileFormat,
            callable : null
        }, {
            name : "getMidiFileFormat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : jsm_MidiFileFormat,
            callable : null
        }, {
            name : "getSequence",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : jsm_Sequence,
            callable : null
        }, {
            name : "getSequence",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jn_URL],
            returnType : jsm_Sequence,
            callable : null
        }, {
            name : "getSequence",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_File],
            returnType : jsm_Sequence,
            callable : null
        }];
    csms_SMFParser.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readUnsigned",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "read",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "readVarInt",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "readIntFromStream",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextTrack",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "trackFinished",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "readTrack",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jsm_Track],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_ServiceLoader$1.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_ServiceLoader],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_ChoiceFormat.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "applyPattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "format",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), jl_StringBuffer, jt_FieldPosition],
            returnType : jl_StringBuffer,
            callable : null
        }, {
            name : "getFormats",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "getLimits",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_doublecls()),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "nextDouble",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "nextDouble",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls(), $rt_booleancls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "parse",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jt_ParsePosition],
            returnType : jl_Number,
            callable : null
        }, {
            name : "previousDouble",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "setChoices",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_doublecls()), $rt_arraycls(jl_String)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "skipWhitespace",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toPattern",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    cjj_GZIPInputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_InputStream, cjj_Inflater, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getModifiedtime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getOS",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getComment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getCRC",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "readHeader",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "fill",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_intcls(),
            callable : null
        }];
    juca_AtomicInteger.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "get",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "lazySet",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAndSet",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compareAndSet",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "weakCompareAndSet",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAndIncrement",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAndDecrement",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAndAdd",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "incrementAndGet",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "decrementAndGet",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "addAndGet",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAndUpdate",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [juf_IntUnaryOperator],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "updateAndGet",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [juf_IntUnaryOperator],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getAndAccumulate",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), juf_IntBinaryOperator],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "accumulateAndGet",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), juf_IntBinaryOperator],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "intValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "longValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "floatValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "doubleValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_doublecls(),
            callable : null
        }];
    nms_CombatTracker.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94545_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94547_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94546_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_94550_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityLiving,
            callable : null
        }, {
            name : "func_94544_f",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : nms_CombatEntry,
            callable : null
        }, {
            name : "func_94548_b",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_CombatEntry],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_94542_g",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94549_h",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_Track$ImmutableEndOfTrack.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 32,
            accessLevel : 0,
            parameterTypes : [jsm_Track$1],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_LinkedHashMap$LinkedHashMapEntrySet.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_LinkedHashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    maa_CryptManager.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createNewSharedKey",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [],
            returnType : maajc_SecretKey,
            callable : null
        }, {
            name : "x509decode",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_arraycls(otjt_Uint8Array),
            callable : null
        }, {
            name : "decodePublicKey",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : maa_PubKey,
            callable : null
        }, {
            name : "uInt8toByteArr",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [otjt_Uint8Array],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "decryptSharedKey",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [maa_PubKey, $rt_arraycls($rt_bytecls())],
            returnType : maajc_SecretKey,
            callable : null
        }, {
            name : "encryptDataNative",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "decryptDataNative",
            modifiers : 768,
            accessLevel : 1,
            parameterTypes : [jl_String, jl_String, jl_String],
            returnType : jl_String,
            callable : null
        }, {
            name : "encryptData",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [maa_PubKey, $rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "decryptData",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [maa_PubKey, $rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "createBufferedBlockCipher",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), maajs_Key],
            returnType : obc_BufferedBlockCipher,
            callable : null
        }, {
            name : "encryptOuputStream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [maajc_SecretKey, ji_OutputStream],
            returnType : ji_OutputStream,
            callable : null
        }, {
            name : "decryptInputStream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [maajc_SecretKey, ji_InputStream],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "encryptOuputStream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [obc_BufferedBlockCipher, ji_OutputStream],
            returnType : ji_OutputStream,
            callable : null
        }, {
            name : "decryptInputStream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [obc_BufferedBlockCipher, ji_InputStream],
            returnType : ji_InputStream,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "x509decode$js_body$_2",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "encryptDataNative$js_body$_6",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }, {
            name : "decryptDataNative$js_body$_7",
            modifiers : 768,
            accessLevel : 0,
            parameterTypes : [otj_JSObject, otj_JSObject, otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nle_EaglerInflater.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "uncompress",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getBytesFromInputStream",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [ji_InputStream],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }];
    nms_EntityBodyHelper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_75664_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_75665_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_ContainerSheep.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_EntitySheep],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_InventoryCrafting.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Container, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInRowAndColumn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jn_InvalidMarkException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_StackOverflowError.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_CombatEntry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_DamageSource, $rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_94560_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_DamageSource,
            callable : null
        }, {
            name : "func_94563_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_94559_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_94562_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_94558_h",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_94561_i",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }];
    jsm_Track$1.$meta.methods = [];
    obc_BufferedBlockCipher.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [obc_BlockCipher],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), obc_CipherParameters],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getUpdateOutputSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getOutputSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "processByte",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "doFinal",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    obc_BlockCipher.$meta.methods = [
        {
            name : "init",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), obc_CipherParameters],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getAlgorithmName",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getBlockSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "processBlock",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "reset",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    obc_CipherParameters.$meta.methods = [];
    ju_Vector.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "newElementArray",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addAll",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addAll",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "addElement",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "capacity",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsAll",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "copyInto",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "elementAt",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "elements",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Enumeration,
            callable : null
        }, {
            name : "ensureCapacity",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "firstElement",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "grow",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "growByOne",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "growBy",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "indexOf",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "insertElementAt",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "lastElement",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "lastIndexOf",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeAll",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeAllElements",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeElement",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeElementAt",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeRange",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "retainAll",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "set",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "setElementAt",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setSize",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toArray",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "toArray",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jl_Object)],
            returnType : $rt_arraycls(jl_Object),
            callable : null
        }, {
            name : "toString",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "trimToSize",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiDownloadTerrain.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_NetClientHandler],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    maajss_KeySpec.$meta.methods = [];
    ju_AbstractMap$SimpleImmutableEntry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map$Entry],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "setValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_EntityCrit2FX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_Entity, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFXLayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_InventoryMerchant.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_IMerchant],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "inventoryResetNeededOnSlotChange",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resetRecipeAndSlots",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCurrentRecipe",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_MerchantRecipe,
            callable : null
        }, {
            name : "setCurrentRecipeIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$BufferedImageElem.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjdh_HTMLImageElement, jl_String, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_SlotArmor.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_ContainerPlayer, nms_IInventory, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSlotStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBackgroundIconIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Icon,
            callable : null
        }];
    nms_GuiMerchant.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_IMerchant, nms_World, jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIMerchant",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_IMerchant,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_WorldProviderSurface.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getDimensionName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_NpcMerchant.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCustomer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_EntityPlayer,
            callable : null
        }, {
            name : "setCustomer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : nms_MerchantRecipeList,
            callable : null
        }, {
            name : "setRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MerchantRecipeList],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "useRecipe",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_MerchantRecipe],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nlea_EaglerAdapterImpl2$16.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nms_InventoryCraftResult.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    maajcs_SecretKeySpec.$meta.methods = [
        {
            name : "getAlgorithm",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getFormat",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getEncoded",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_MessageFormat$FieldContainer.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jt_AttributedCharacterIterator$Attribute, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_WorldProviderHell.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerWorldChunkManager",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFogColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "generateLightBrightnessTable",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isSurfaceWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canCoordinateBeSpawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "calculateCelestialAngle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "canRespawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "doesXZShowFog",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDimensionName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_EntityPickupFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, nms_Entity, nms_Entity, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFXLayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_WorldProviderEnd.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "registerWorldChunkManager",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createChunkGenerator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_IChunkProvider,
            callable : null
        }, {
            name : "calculateCelestialAngle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "calcSunriseSunsetColors",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : $rt_arraycls($rt_floatcls()),
            callable : null
        }, {
            name : "getFogColor",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls(), $rt_floatcls()],
            returnType : nms_Vec3,
            callable : null
        }, {
            name : "isSkyColored",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canRespawnHere",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isSurfaceWorld",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCloudHeight",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "canCoordinateBeSpawn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEntrancePortalLocation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ChunkCoordinates,
            callable : null
        }, {
            name : "getAverageGroundLevel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "doesXZShowFog",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDimensionName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nlea_EaglerAdapterImpl2$15.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [otjde_Event],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "handleEvent$exported$0",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [otj_JSObject],
            returnType : otj_JSObject,
            callable : null
        }];
    nms_GuiWinGame.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "respawnPlayer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "doesGuiPauseGame",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_73986_b",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GameRuleValue.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getGameRuleStringValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getGameRuleBooleanValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_SlotCrafting.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_IInventory, nms_IInventory, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onCrafting",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCrafting",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onPickupFromSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_MessageFormat$Field.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_LinkedHashMap$EntryIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [ju_LinkedHashMap],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map$Entry,
            callable : null
        }, {
            name : "next",
            modifiers : 96,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    nms_LongHashMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHashedKey",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "hash",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getHashIndex",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getNumHashElements",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getValueByKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "containsItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [$rt_longcls()],
            returnType : nms_LongHashMapEntry,
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "resizeTable",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "copyHashTableTo",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls(nms_LongHashMapEntry)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : jl_Object,
            callable : null
        }, {
            name : "removeKey",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [$rt_longcls()],
            returnType : nms_LongHashMapEntry,
            callable : null
        }, {
            name : "createKey",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_longcls(), jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getHashCode",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_RecipesMapExtending.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting, nms_World],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCraftingResult",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_RecipesArmor.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_CraftingManager],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EmptyChunk.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isAtLocation",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getHeightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "generateHeightMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "generateSkylightMap",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockID",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBlockLightOpacity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlockIDWithMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getBlockMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setBlockMetadata",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSavedLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumSkyBlock, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumSkyBlock, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBlockLightValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "addEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEntityAtIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canBlockSeeTheSky",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getChunkBlockTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_TileEntity,
            callable : null
        }, {
            name : "addTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setChunkBlockTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), nms_TileEntity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeChunkBlockTileEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onChunkLoad",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onChunkUnload",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setChunkModified",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntitiesWithinAABBForEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_AxisAlignedBB, ju_List, nms_IEntitySelector],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntitiesOfTypeWithinAAAB",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Class, nms_AxisAlignedBB, ju_List, nms_IEntitySelector],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "needsSaving",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getRandomWithSeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : nle_EaglercraftRandom,
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAreLevelsEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_RecipesFood.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_CraftingManager],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_IRecipe.$meta.methods = [
        {
            name : "matches",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting, nms_World],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCraftingResult",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getRecipeSize",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRecipeOutput",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_LongHashMapEntry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_longcls(), jl_Object, nms_LongHashMapEntry],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getKey",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getValue",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "equals",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "toString",
            modifiers : 4,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_RecipesDyes.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_CraftingManager],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RecipesWeapons.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_CraftingManager],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_ArrayIndexOutOfBoundsException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_SoundUpdaterMinecart.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_SoundManager, nms_EntityMinecart, nms_EntityPlayerSP],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "update",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RecipesArmorDyes.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting, nms_World],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCraftingResult",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getRecipeSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRecipeOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_RecipeSorter.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_CraftingManager],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "compareRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IRecipe, nms_IRecipe],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "compare",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_RecipesMapCloning.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting, nms_World],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCraftingResult",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getRecipeSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRecipeOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_RecipeFireworks.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting, nms_World],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCraftingResult",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getRecipeSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRecipeOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_RecipesTools.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_CraftingManager],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_RecipesCrafting.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_CraftingManager],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jsm_SysexMessage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_arraycls($rt_bytecls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getData",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    csms_FastShortMessage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jsm_ShortMessage],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getPackedMsg",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_arraycls($rt_bytecls()),
            callable : null
        }, {
            name : "getLength",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getChannel",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getCommand",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getData1",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getData2",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getStatus",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    nms_ShapedRecipes.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_arraycls(nms_ItemStack), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRecipeOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting, nms_World],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "checkMatch",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_InventoryCrafting, $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCraftingResult",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getRecipeSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_92100_c",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ShapedRecipes,
            callable : null
        }];
    jt_AttributedString.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jt_AttributedCharacterIterator, $rt_intcls(), $rt_intcls(), ju_Set],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator, $rt_intcls(), $rt_intcls(), $rt_arraycls(jt_AttributedCharacterIterator$Attribute)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addAttribute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator$Attribute, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addAttribute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator$Attribute, jl_Object, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addAttributes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jt_AttributedCharacterIterator,
            callable : null
        }, {
            name : "getIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jt_AttributedCharacterIterator$Attribute)],
            returnType : jt_AttributedCharacterIterator,
            callable : null
        }, {
            name : "getIterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls(jt_AttributedCharacterIterator$Attribute), $rt_intcls(), $rt_intcls()],
            returnType : jt_AttributedCharacterIterator,
            callable : null
        }];
    nms_RecipesIngots.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRecipes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_CraftingManager],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_CraftingManager.$meta.methods = [
        {
            name : "getInstance",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_CraftingManager,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addRecipe",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_ItemStack, $rt_arraycls(jl_Object)],
            returnType : nms_ShapedRecipes,
            callable : null
        }, {
            name : "addShapelessRecipe",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_ItemStack, $rt_arraycls(jl_Object)],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "findMatchingRecipe",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting, nms_World],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getRecipeList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_List,
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ChunkProviderClient.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "chunkExists",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "unloadChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "loadChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Chunk,
            callable : null
        }, {
            name : "provideChunk",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_Chunk,
            callable : null
        }, {
            name : "saveChunks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls(), nms_IProgressUpdate],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_104112_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "unloadQueuedChunks",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canSave",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "populate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IChunkProvider, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "makeString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "getPossibleCreatures",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EnumCreatureType, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : ju_List,
            callable : null
        }, {
            name : "findClosestStructure",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, jl_String, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_ChunkPosition,
            callable : null
        }, {
            name : "getLoadedChunkCount",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "recreateStructures",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jt_AttributedString$AttributedIterator.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jt_AttributedString],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jt_AttributedString, $rt_arraycls(jt_AttributedCharacterIterator$Attribute), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "current",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "first",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "getBeginIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getEndIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "inRange",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jt_AttributedString$Range],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "inRange",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_List],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getAllAttributeKeys",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "currentValue",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_List],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getAttribute",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator$Attribute],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getAttributes",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "getRunLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "runLimit",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_List],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRunLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator$Attribute],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRunLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Set],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRunStart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "runStart",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_List],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRunStart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jt_AttributedCharacterIterator$Attribute],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getRunStart",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Set],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "last",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "previous",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_charcls(),
            callable : null
        }, {
            name : "setIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_charcls(),
            callable : null
        }];
    jt_AttributedString$Range.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls(), $rt_intcls(), jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_InventoryRepair.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_ContainerRepair, jl_String, $rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    oj_JSONPropertyIgnore.$meta.methods = [];
    nms_SlotBrewingStandPotion.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_IInventory, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSlotStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onPickupFromSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canHoldPotion",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ContainerFurnace.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_TileEntityFurnace],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCraftingToCrafters",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ICrafting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "detectAndSendChanges",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateProgressBar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }];
    oj_JSONPropertyName.$meta.methods = [
        {
            name : "value",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_ContainerBrewingStand.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_TileEntityBrewingStand],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCraftingToCrafters",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ICrafting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "detectAndSendChanges",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateProgressBar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_SlotBrewingStandIngredient.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ContainerBrewingStand, nms_IInventory, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSlotStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_SlotFurnace.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_IInventory, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onPickupFromSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCrafting",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCrafting",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ContainerRepair.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCraftMatrixChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateRepairOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCraftingToCrafters",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ICrafting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateProgressBar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "updateItemName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRepairInputInventory",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_ContainerRepair],
            returnType : nms_IInventory,
            callable : null
        }, {
            name : "getStackSizeUsedInRepair",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [nms_ContainerRepair],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_GuiEnchantment.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_74205_h",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    csms_MidiUtils.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isMetaEndOfTrack",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jsm_MidiMessage],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "isMetaTempo",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jsm_MidiMessage],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getTempoMPQ",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jsm_MidiMessage],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "convertTempo",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_doublecls()],
            returnType : $rt_doublecls(),
            callable : null
        }, {
            name : "ticks2microsec",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_doublecls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "microsec2ticks",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [$rt_longcls(), $rt_doublecls(), $rt_intcls()],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "tick2microsecond",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence, $rt_longcls(), csms_MidiUtils$TempoCache],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "microsecond2tick",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence, $rt_longcls(), csms_MidiUtils$TempoCache],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "tick2index",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [jsm_Track, $rt_longcls()],
            returnType : $rt_intcls(),
            callable : null
        }];
    csms_MidiUtils$TempoCache.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "refresh",
            modifiers : 2048,
            accessLevel : 3,
            parameterTypes : [jsm_Sequence],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCurrTempoMPQ",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getTempoMPQAt",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "getTempoMPQAt",
            modifiers : 2048,
            accessLevel : 0,
            parameterTypes : [$rt_longcls(), $rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_ContainerMerchant.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_IMerchant, nms_World],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getMerchantInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_InventoryMerchant,
            callable : null
        }, {
            name : "addCraftingToCrafters",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ICrafting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "detectAndSendChanges",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCraftMatrixChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setCurrentRecipeIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateProgressBar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onCraftGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory, nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityDamageSourceIndirect.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_Entity, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSourceOfDamage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getDeathMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : jl_String,
            callable : null
        }];
    nms_ContainerEnchantment.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCraftingToCrafters",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ICrafting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "detectAndSendChanges",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateProgressBar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCraftMatrixChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "enchantItem",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_GuiBeacon.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_TileEntityBeacon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    oj_JSONString.$meta.methods = [
        {
            name : "toJSONString",
            modifiers : 1,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_SlotBeacon.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ContainerBeacon, nms_IInventory, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getSlotStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_GuiBrewingStand.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_TileEntityBrewingStand],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_SlotEnchantment.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_ContainerEnchantment, nms_IInventory, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_GuiDispenser.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_TileEntityDispenser],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ShapelessRecipes.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack, ju_List],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getRecipeOutput",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "matches",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting, nms_World],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getCraftingResult",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryCrafting],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getRecipeSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    cjj_Deflater.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), cjj_JZlib$WrapperType],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), cjj_JZlib$WrapperType],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "init",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "deflate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "end",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "params",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "setDictionary",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "finished",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "copy",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [cjj_Deflater],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EntityDamageSource.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_Entity],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getEntity",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_Entity,
            callable : null
        }, {
            name : "getDeathMessage",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityLiving],
            returnType : jl_String,
            callable : null
        }, {
            name : "isDifficultyScaled",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_ContainerChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory, nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onCraftGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getLowerChestInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_IInventory,
            callable : null
        }];
    cjj_GZIPOutputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, cjj_Deflater, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "check",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setModifiedTime",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setOS",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setComment",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getCRC",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }];
    nms_GuiHopper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ContainerDispenser.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory, nms_TileEntityDispenser],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_SlotMerchantResult.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_IMerchant, nms_InventoryMerchant, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onCrafting",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onCrafting",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onPickupFromSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_75230_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_MerchantRecipe, nms_ItemStack, nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    cjj_DeflaterOutputStream.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, cjj_Deflater],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, cjj_Deflater, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ji_OutputStream, cjj_Deflater, $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "write",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_arraycls($rt_bytecls()), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "finish",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "close",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "deflate",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "flush",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getTotalIn",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "getTotalOut",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_longcls(),
            callable : null
        }, {
            name : "setSyncFlush",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSyncFlush",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getDeflater",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : cjj_Deflater,
            callable : null
        }];
    ju_IdentityHashMap.$meta.methods = [
        {
            name : "newElementArray",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_arraycls(ju_IdentityHashMap$HashEntry),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "calculateCapacity",
            modifiers : 512,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "computeThreshold",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "containsKey",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "containsValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "entrySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "get",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "getEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : ju_IdentityHashMap$HashEntry,
            callable : null
        }, {
            name : "findNonNullKeyEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls(), $rt_intcls()],
            returnType : ju_IdentityHashMap$HashEntry,
            callable : null
        }, {
            name : "findNullKeyEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [],
            returnType : ju_IdentityHashMap$HashEntry,
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "keySet",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Set,
            callable : null
        }, {
            name : "put",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "putImpl",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "createEntry",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls(), jl_Object],
            returnType : ju_IdentityHashMap$HashEntry,
            callable : null
        }, {
            name : "createHashedEntry",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls(), $rt_intcls()],
            returnType : ju_IdentityHashMap$HashEntry,
            callable : null
        }, {
            name : "putAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "putAllImpl",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rehash",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "rehash",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : jl_Object,
            callable : null
        }, {
            name : "removeEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [ju_IdentityHashMap$HashEntry],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "removeEntry",
            modifiers : 4,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : ju_IdentityHashMap$HashEntry,
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "values",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Collection,
            callable : null
        }, {
            name : "computeHashCode",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "areSameKeys",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "areSameValues",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }];
    ju_IdentityHashMap$HashEntry.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_Object, jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "clone",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }];
    nms_GuiFurnace.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_TileEntityFurnace],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    ju_SetFromMap.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Map],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "size",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "contains",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "removeAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "retainAll",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_Collection],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "clear",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "iterator",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Iterator,
            callable : null
        }];
    nms_ContainerHopper.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "onCraftGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_SlotEnchantmentTable.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_ContainerEnchantment, jl_String, $rt_booleancls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    jl_SecurityException.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Throwable],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_ContainerBeacon.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_TileEntityBeacon],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addCraftingToCrafters",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ICrafting],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "detectAndSendChanges",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateProgressBar",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBeacon",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_TileEntityBeacon,
            callable : null
        }, {
            name : "canInteractWith",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "transferStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }];
    nms_GuiCrafting.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_InventoryPlayer, nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerForegroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawGuiContainerBackgroundLayer",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_floatcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_SlotRepair.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [nms_ContainerRepair, nms_IInventory, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_World, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isItemValid",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "canTakeStack",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "onPickupFromSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityNoteFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiBeaconButtonConfirm.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiBeacon, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82251_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySuspendFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityCritFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityHeartFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiBeaconButton.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), jl_String, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawButton",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82255_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_82254_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySpellParticleFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "setBaseSpellTextureIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySplashFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityPortalFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityHugeExplodeFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFXLayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_EntityAuraFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    jl_Class$MethodSignature.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [jl_String, $rt_arraycls(jl_Class), jl_Class],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "equals",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "hashCode",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    jt_Annotation.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getValue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "toString",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }];
    nms_EntityLargeExplodeFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_RenderEngine, nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFXLayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiButtonMerchant.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawButton",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityLavaFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityExplodeFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityFootStepFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_RenderEngine, nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFXLayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiBeaconButtonPower.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiBeacon, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82251_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntitySnowShovelFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityFireworkStarterFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_EffectRenderer, nms_NBTTagCompound],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92037_i",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "func_92034_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92035_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls(), $rt_intcls(), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92038_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_doublecls(), $rt_arraycls($rt_arraycls($rt_doublecls())), $rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92036_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_intcls()), $rt_arraycls($rt_intcls()), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFXLayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }];
    nms_FurnaceRecipes.$meta.methods = [
        {
            name : "smelting",
            modifiers : 516,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_FurnaceRecipes,
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addSmelting",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSmeltingResult",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getSmeltingList",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : ju_Map,
            callable : null
        }, {
            name : "getExperience",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityBreakingFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_Item, nms_RenderEngine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_Item, nms_RenderEngine],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getFXLayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_Tree.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "d_code",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "gen_bitlen",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [cjj_Deflate],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "build_tree",
            modifiers : 0,
            accessLevel : 0,
            parameterTypes : [cjj_Deflate],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "gen_codes",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_intcls(), $rt_arraycls($rt_shortcls()), $rt_arraycls($rt_shortcls())],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "bi_reverse",
            modifiers : 516,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityBubbleFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityFireworkSparkFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_EffectRenderer],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92045_e",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92043_f",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92044_a",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_92046_g",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBoundingBox",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_AxisAlignedBB,
            callable : null
        }, {
            name : "canBePushed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }];
    nms_EntityFlameFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiBeaconButtonCancel.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_GuiBeacon, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_82251_b",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityEnchantmentTableParticleFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiCommandBlock.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntityCommandBlock],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "mouseClicked",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityCloudFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityDropParticleFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), nms_Material],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getBrightnessForRender",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getBrightness",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_floatcls()],
            returnType : $rt_floatcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiEditSign.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_TileEntitySign],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityReddustFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onUpdate",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EnchantmentNameParts.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "generateRandomEnchantName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "setRandSeed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_longcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_EntityFireworkOverlayFX.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_World, $rt_doublecls(), $rt_doublecls(), $rt_doublecls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "renderParticle",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nlea_Tessellator, $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_GuiScreenBook.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer, nms_ItemStack, $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "initGui",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "onGuiClosed",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "updateButtons",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sendBookToServer",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "actionPerformed",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [nms_GuiButton],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addNewPage",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTyped",
            modifiers : 0,
            accessLevel : 2,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "keyTypedInBook",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_74162_c",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_charcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_74158_i",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "func_74159_a",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "func_74160_b",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [jl_String],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawScreen",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_Path.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "addPoint",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PathPoint],
            returnType : nms_PathPoint,
            callable : null
        }, {
            name : "clearPath",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "dequeue",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : nms_PathPoint,
            callable : null
        }, {
            name : "changeDistance",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_PathPoint, $rt_floatcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sortBack",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "sortForward",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isPathEmpty",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_InventoryLargeChest.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_String, nms_IInventory, nms_IInventory],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getSizeInventory",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "isPartOfLargeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IInventory],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getInvName",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_String,
            callable : null
        }, {
            name : "isInvNameLocalized",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "getStackInSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "decrStackSize",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "getStackInSlotOnClosing",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls()],
            returnType : nms_ItemStack,
            callable : null
        }, {
            name : "setInventorySlotContents",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "getInventoryStackLimit",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "onInventoryChanged",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isUseableByPlayer",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_EntityPlayer],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "openChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "closeChest",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "isStackValidForSlot",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), nms_ItemStack],
            returnType : $rt_booleancls(),
            callable : null
        }];
    nms_GuiButtonNextPage.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "drawButton",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nmc_Minecraft, $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    nms_PathFinder.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_IBlockAccess, $rt_booleancls(), $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "createEntityPathTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, nms_Entity, $rt_floatcls()],
            returnType : nms_PathEntity,
            callable : null
        }, {
            name : "createEntityPathTo",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls(), $rt_intcls(), $rt_intcls(), $rt_floatcls()],
            returnType : nms_PathEntity,
            callable : null
        }, {
            name : "createEntityPathTo",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Entity, $rt_doublecls(), $rt_doublecls(), $rt_doublecls(), $rt_floatcls()],
            returnType : nms_PathEntity,
            callable : null
        }, {
            name : "addToPath",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Entity, nms_PathPoint, nms_PathPoint, nms_PathPoint, $rt_floatcls()],
            returnType : nms_PathEntity,
            callable : null
        }, {
            name : "findPathOptions",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Entity, nms_PathPoint, nms_PathPoint, nms_PathPoint, $rt_floatcls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "getSafePoint",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_Entity, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_PathPoint, $rt_intcls()],
            returnType : nms_PathPoint,
            callable : null
        }, {
            name : "openPoint",
            modifiers : 4,
            accessLevel : 1,
            parameterTypes : [$rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : nms_PathPoint,
            callable : null
        }, {
            name : "getVerticalOffset",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_PathPoint],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "func_82565_a",
            modifiers : 512,
            accessLevel : 3,
            parameterTypes : [nms_Entity, $rt_intcls(), $rt_intcls(), $rt_intcls(), nms_PathPoint, $rt_booleancls(), $rt_booleancls(), $rt_booleancls()],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "createEntityPath",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [nms_PathPoint, nms_PathPoint],
            returnType : nms_PathEntity,
            callable : null
        }];
    ju_AbstractList$TListIteratorImpl.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [ju_AbstractList, $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasNext",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "next",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "remove",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "hasPrevious",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_booleancls(),
            callable : null
        }, {
            name : "previous",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : jl_Object,
            callable : null
        }, {
            name : "nextIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "previousIndex",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [],
            returnType : $rt_intcls(),
            callable : null
        }, {
            name : "set",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "add",
            modifiers : 0,
            accessLevel : 3,
            parameterTypes : [jl_Object],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "checkConcurrentModification",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
    cjj_StaticTree.$meta.methods = [
        {
            name : "<init>",
            modifiers : 0,
            accessLevel : 1,
            parameterTypes : [$rt_arraycls($rt_shortcls()), $rt_arraycls($rt_intcls()), $rt_intcls(), $rt_intcls(), $rt_intcls()],
            returnType : $rt_voidcls(),
            callable : null
        }, {
            name : "<clinit>",
            modifiers : 512,
            accessLevel : 0,
            parameterTypes : [],
            returnType : $rt_voidcls(),
            callable : null
        }];
}
function jl_Class_getDeclaredMethods($this) {
    var $jsMethods, $count, $i, $jsMethod, $jsParameterTypes, $parameterTypes, var$7, $j, var$9, $returnType, var$11, $jsClass, var$13;
    if (!jl_Class_isPrimitive($this) && !jl_Class_isArray($this)) {
        if ($this.$declaredMethods === null) {
            if (!jl_Class_reflectionInitialized) {
                jl_Class_reflectionInitialized = 1;
                jl_Class_createMetadata();
            }
            $jsMethods = $this.$platformClass.$meta.methods;
            $this.$declaredMethods = $rt_createArray(jlr_Method, $jsMethods.length);
            $count = 0;
            $i = 0;
            while ($i < $jsMethods.length) {
                $jsMethod = $jsMethods[$i];
                if (!jl_String_equals($rt_str($jsMethod.name), $rt_s(46)) && !jl_String_equals($rt_str($jsMethod.name), $rt_s(47))) {
                    $jsParameterTypes = $jsMethod.parameterTypes;
                    $parameterTypes = $rt_createArray(jl_Class, $jsParameterTypes.length);
                    var$7 = $parameterTypes.data;
                    $j = 0;
                    var$9 = var$7.length;
                    while ($j < var$9) {
                        var$7[$j] = jl_Class_getClass($jsParameterTypes[$j]);
                        $j = $j + 1 | 0;
                    }
                    $returnType = jl_Class_getClass($jsMethod.returnType);
                    var$7 = $this.$declaredMethods.data;
                    $j = $count + 1 | 0;
                    var$11 = new jlr_Method;
                    $jsClass = $rt_str($jsMethod.name);
                    var$9 = $jsMethod.modifiers;
                    var$13 = $jsMethod.accessLevel;
                    $jsParameterTypes = otji_JS_functionAsObject($jsMethod.callable, "call");
                    var$11.$declaringClass = $this;
                    var$11.$name0 = $jsClass;
                    var$11.$flags = var$9;
                    var$11.$accessLevel = var$13;
                    var$11.$returnType = $returnType;
                    var$11.$parameterTypes = $parameterTypes;
                    var$11.$callable = $jsParameterTypes;
                    var$7[$count] = var$11;
                    $count = $j;
                }
                $i = $i + 1 | 0;
            }
            $this.$declaredMethods = ju_Arrays_copyOf($this.$declaredMethods, $count);
        }
        return $this.$declaredMethods.$clone();
    }
    return $rt_createArray(jlr_Method, 0);
}
function jl_Class_getMethods($this) {
    var $methods;
    $methods = ju_HashMap__init_();
    jl_Class_findMethods($this, $methods);
    return ju_AbstractCollection_toArray(ju_HashMap_values($methods), $rt_createArray(jlr_Method, $methods.$elementCount));
}
function jl_Class_getMethod($this, $name, $parameterTypes) {
    var $method;
    $method = jl_Class_findMethod($this, null, $name, $parameterTypes);
    if ($method !== null)
        return $method;
    $name = new jl_NoSuchMethodException;
    jl_Throwable__init_0($name);
    $rt_throw($name);
}
function jl_Class_findMethods($cls, $methods) {
    var var$3, var$4, var$5, $method, $signature, $superclass, var$9, $iface, var$11;
    var$3 = jl_Class_getDeclaredMethods($cls).data;
    var$4 = var$3.length;
    var$5 = 0;
    while (var$5 < var$4) {
        $method = var$3[var$5];
        if (jlr_Modifier_isPublic(jlr_Method_getModifiers($method))) {
            $signature = new jl_Class$MethodSignature;
            $superclass = $method.$name0;
            var$9 = jlr_Method_getParameterTypes($method);
            $iface = $method.$returnType;
            $signature.$name1 = $superclass;
            $signature.$parameterTypes0 = var$9;
            $signature.$returnType0 = $iface;
            if (!ju_HashMap_containsKey($methods, $signature))
                ju_HashMap_putImpl($methods, $signature, $method);
        }
        var$5 = var$5 + 1 | 0;
    }
    if (!jl_Class_isInterface($cls)) {
        $superclass = jl_Class_getSuperclass($cls);
        if ($superclass !== null)
            jl_Class_findMethods($superclass, $methods);
    }
    var$3 = jl_Class_getInterfaces($cls).data;
    var$4 = var$3.length;
    var$11 = 0;
    while (var$11 < var$4) {
        jl_Class_findMethods(var$3[var$11], $methods);
        var$11 = var$11 + 1 | 0;
    }
}
function jl_Class_findMethod($cls, $current, $name, $parameterTypes) {
    var var$5, var$6, var$7, $method, $superclass, var$10;
    var$5 = jl_Class_getDeclaredMethods($cls).data;
    var$6 = var$5.length;
    var$7 = 0;
    while (var$7 < var$6) {
        $method = var$5[var$7];
        if (jlr_Modifier_isPublic(jlr_Method_getModifiers($method)) && jl_String_equals($method.$name0, $name) && ju_Arrays_equals(jlr_Method_getParameterTypes($method), $parameterTypes) && !($current !== null && !jl_Class_isAssignableFrom($current.$returnType, $method.$returnType)))
            $current = $method;
        var$7 = var$7 + 1 | 0;
    }
    if (!jl_Class_isInterface($cls)) {
        $superclass = jl_Class_getSuperclass($cls);
        if ($superclass !== null)
            $current = jl_Class_findMethod($superclass, $current, $name, $parameterTypes);
    }
    var$10 = jl_Class_getInterfaces($cls).data;
    var$7 = var$10.length;
    var$6 = 0;
    while (var$6 < var$7) {
        $current = jl_Class_findMethod(var$10[var$6], $current, $name, $parameterTypes);
        var$6 = var$6 + 1 | 0;
    }
    return $current;
}
function jl_Class_desiredAssertionStatus($this) {
    return 1;
}
function jl_Class_getSuperclass($this) {
    return jl_Class_getClass($this.$platformClass.$meta.superclass);
}
function jl_Class_getInterfaces($this) {
    var $supertypes, $filteredSupertypes, $j, $i, var$5, var$6;
    $supertypes = $this.$platformClass.$meta.supertypes;
    $filteredSupertypes = $rt_createArray(jl_Class, $supertypes.length);
    $j = 0;
    $i = 0;
    while ($i < $supertypes.length) {
        if ($supertypes[$i] !== $this.$platformClass.$meta.superclass) {
            var$5 = $filteredSupertypes.data;
            var$6 = $j + 1 | 0;
            var$5[$j] = jl_Class_getClass($supertypes[var$6]);
            $j = var$6;
        }
        $i = $i + 1 | 0;
    }
    if ($filteredSupertypes.data.length > $j)
        $filteredSupertypes = ju_Arrays_copyOf($filteredSupertypes, $j);
    return $filteredSupertypes;
}
function jl_Class_getClassLoader($this) {
    return jl_ClassLoader_systemClassLoader;
}
function jl_Class_forName($name) {
    var $cls;
    $cls = otp_Platform_lookupClass($name);
    if ($cls !== null)
        return jl_Class_getClass($cls);
    $name = new jl_ClassNotFoundException;
    jl_Throwable__init_0($name);
    $rt_throw($name);
}
function jl_Class_newInstance($this) {
    var $instance, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$instance = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $instance = $this.$platformClass;
        if (!otp_Platform_newInstancePrepared) {
            otp_Platform_prepareNewInstance();
            otp_Platform_newInstancePrepared = 1;
        }
        $ptr = 1;
    case 1:
        $tmp = otp_Platform_newInstanceImpl($instance);
        if ($rt_suspending()) {
            break main;
        }
        $instance = $tmp;
        if ($instance !== null)
            return $instance;
        $instance = new jl_InstantiationException;
        jl_Throwable__init_0($instance);
        $rt_throw($instance);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $instance, $ptr);
}
function jl_Class_getPackage($this) {
    var $name, var$2;
    $name = jl_Class_getName($this);
    $name = jl_String_substring0($name, 0, jl_String_lastIndexOf($name, 46) + 1 | 0);
    var$2 = ju_HashMap_get(jl_Package_packages, $name);
    if (var$2 === null) {
        var$2 = new jl_Package;
        var$2.$name2 = $name;
        ju_HashMap_putImpl(jl_Package_packages, $name, var$2);
    }
    return var$2;
}
function otji_JS() {
    jl_Object.call(this);
}
function otji_JS__init_() {
    var var_0 = new otji_JS();
    otji_JS__init_0(var_0);
    return var_0;
}
function otji_JS__init_0($this) {
    return;
}
function otji_JS_unwrapStringArray($array) {
    var $result, var$3, $i, var$5;
    if ($array === null)
        return null;
    $result = $rt_createArray(jl_String, $array.length);
    var$3 = $result.data;
    $i = 0;
    var$5 = var$3.length;
    while ($i < var$5) {
        var$3[$i] = $rt_str($array[$i]);
        $i = $i + 1 | 0;
    }
    return $result;
}
function otji_JS_function(var$1, var$2) {
    var name = 'jso$functor$' + var$2;
    if (!var$1[name]) {
        var fn = function() {
            return var$1[var$2].apply(var$1, arguments);
        };
        var$1[name] = function() {
            return fn;
        };
    }
    return var$1[name]();
}
function otji_JS_functionAsObject(var$1, var$2) {
    if (typeof var$1 !== "function") return var$1;
    var result = {};
    result[var$2] = var$1;
    return result;
}
function otp_Platform() {
    jl_Object.call(this);
}
var otp_Platform_newInstancePrepared = 0;
function otp_Platform__init_() {
    var var_0 = new otp_Platform();
    otp_Platform__init_0(var_0);
    return var_0;
}
function otp_Platform__init_0($this) {
    return;
}
function otp_Platform_clone(var$1) {
    var copy = new var$1.constructor();
    for (var field in var$1) {
        if (!var$1.hasOwnProperty(field)) {
            continue;
        }
        copy[field] = var$1[field];
    }
    return copy;
}
function otp_Platform_isAssignable($from, $to) {
    var $supertypes, $i;
    if ($from === $to)
        return 1;
    $supertypes = $from.$meta.supertypes;
    $i = 0;
    while ($i < $supertypes.length) {
        if (otp_Platform_isAssignable($supertypes[$i], $to))
            return 1;
        $i = $i + 1 | 0;
    }
    return 0;
}
function otp_Platform_prepareNewInstance() {
    var c = '$$constructor$$';
    jl_String[c] = jl_String__init_0;
    jl_Object[c] = jl_Object__init_0;
    jl_NoClassDefFoundError[c] = jl_NoClassDefFoundError__init_;
    jl_LinkageError[c] = jl_LinkageError__init_;
    jl_Error[c] = jl_Error__init_;
    jl_Throwable[c] = jl_Throwable__init_0;
    jl_NoSuchFieldError[c] = jl_NoSuchFieldError__init_;
    jl_IncompatibleClassChangeError[c] = jl_IncompatibleClassChangeError__init_;
    jl_NoSuchMethodError[c] = jl_NoSuchMethodError__init_;
    jl_RuntimeException[c] = jl_RuntimeException__init_0;
    jl_Exception[c] = jl_Exception__init_;
    jl_StringBuilder[c] = jl_StringBuilder__init_0;
    jl_AbstractStringBuilder[c] = jl_AbstractStringBuilder__init_;
    nle_Client[c] = nle_Client__init_0;
    otji_JS[c] = otji_JS__init_0;
    otp_Platform[c] = otp_Platform__init_0;
    nlea_EaglerAdapterImpl2[c] = nlea_EaglerAdapterImpl2__init_;
    nlea_EaglerAdapterImpl2$2[c] = nlea_EaglerAdapterImpl2$2__init_;
    nlea_EaglerAdapterImpl2$3[c] = nlea_EaglerAdapterImpl2$3__init_;
    nlea_EaglerAdapterImpl2$4[c] = nlea_EaglerAdapterImpl2$4__init_;
    nlea_EaglerAdapterImpl2$5[c] = nlea_EaglerAdapterImpl2$5__init_;
    nlea_EaglerAdapterImpl2$6[c] = nlea_EaglerAdapterImpl2$6__init_;
    nlea_EaglerAdapterImpl2$7[c] = nlea_EaglerAdapterImpl2$7__init_;
    nlea_EaglerAdapterImpl2$8[c] = nlea_EaglerAdapterImpl2$8__init_;
    nlea_EaglerAdapterImpl2$9[c] = nlea_EaglerAdapterImpl2$9__init_;
    nlea_EaglerAdapterImpl2$10[c] = nlea_EaglerAdapterImpl2$10__init_;
    nlea_EaglerAdapterImpl2$11[c] = nlea_EaglerAdapterImpl2$11__init_;
    ju_LinkedList[c] = ju_LinkedList__init_;
    nlea_EaglerAdapterImpl2$12[c] = nlea_EaglerAdapterImpl2$12__init_;
    ji_IOException[c] = ji_IOException__init_;
    nle_LocalStorageManager[c] = nle_LocalStorageManager__init_;
    nms_NBTTagCompound[c] = nms_NBTTagCompound__init_;
    nms_NBTTagList[c] = nms_NBTTagList__init_;
    nmc_Minecraft[c] = nmc_Minecraft__init_0;
    jl_String$_clinit_$lambda$_81_0[c] = jl_String$_clinit_$lambda$_81_0__init_;
    otci_IntegerUtil[c] = otci_IntegerUtil__init_;
    ju_HashMap[c] = ju_HashMap__init_0;
    jt_SimpleDateFormat[c] = jt_SimpleDateFormat__init_;
    ju_HashSet[c] = ju_HashSet__init_;
    nle_EarlyLoadScreen[c] = nle_EarlyLoadScreen__init_;
    jl_InterruptedException[c] = jl_InterruptedException__init_;
    jl_Thread[c] = jl_Thread__init_;
    nle_AssetRepository[c] = nle_AssetRepository__init_;
    nle_SHA1Digest[c] = nle_SHA1Digest__init_;
    nle_EaglerAdapter[c] = nle_EaglerAdapter__init_;
    nleg_EaglerAdapterGL30[c] = nleg_EaglerAdapterGL30__init_;
    nms_CompressedStreamTools[c] = nms_CompressedStreamTools__init_;
    ju_ArrayList[c] = ju_ArrayList__init_;
    nle_Base64[c] = nle_Base64__init_;
    nle_ConfigConstants[c] = nle_ConfigConstants__init_;
    jl_System[c] = jl_System__init_;
    jl_ConsoleOutputStreamStdout[c] = jl_ConsoleOutputStreamStdout__init_;
    nms_SoundManager[c] = nms_SoundManager__init_;
    nms_Profiler[c] = nms_Profiler__init_;
    nms_GLAllocation[c] = nms_GLAllocation__init_;
    jl_IllegalArgumentException[c] = jl_IllegalArgumentException__init_;
    ju_Arrays[c] = ju_Arrays__init_;
    jnci_UTF8Charset[c] = jnci_UTF8Charset__init_;
    nle_EaglercraftRandom[c] = nle_EaglercraftRandom__init_;
    nms_Packet3Chat[c] = nms_Packet3Chat__init_;
    nle_EaglerProfile[c] = nle_EaglerProfile__init_;
    jt_DateFormatSymbols[c] = jt_DateFormatSymbols__init_;
    jnc_Charset$Charsets[c] = jnc_Charset$Charsets__init_;
    cjj_Inflater[c] = cjj_Inflater__init_;
    cjj_ZStream[c] = cjj_ZStream__init_;
    nms_NBTTagEnd[c] = nms_NBTTagEnd__init_;
    jur_Pattern[c] = jur_Pattern__init_;
    ji_ByteArrayOutputStream[c] = ji_ByteArrayOutputStream__init_;
    nlegv_Matrix4f[c] = nlegv_Matrix4f__init_;
    nlegv_Vector3f[c] = nlegv_Vector3f__init_;
    nlegv_Vector4f[c] = nlegv_Vector4f__init_;
    jl_NullPointerException[c] = jl_NullPointerException__init_0;
    otjb_Performance[c] = otjb_Performance__init_;
    nms_GuiScreen[c] = nms_GuiScreen__init_;
    nms_Gui[c] = nms_Gui__init_;
    otciu_CLDRHelper[c] = otciu_CLDRHelper__init_;
    otpp_ResourceAccessor[c] = otpp_ResourceAccessor__init_;
    cjj_GZIPException[c] = cjj_GZIPException__init_;
    jl_CloneNotSupportedException[c] = jl_CloneNotSupportedException__init_;
    ju_GregorianCalendar[c] = ju_GregorianCalendar__init_;
    cjj_Adler32[c] = cjj_Adler32__init_;
    jur_AheadFSet[c] = jur_AheadFSet__init_;
    jur_FinalSet[c] = jur_FinalSet__init_;
    jur_NonCapJointSet[c] = jur_NonCapJointSet__init_;
    jur_JointSet[c] = jur_JointSet__init_;
    jl_IndexOutOfBoundsException[c] = jl_IndexOutOfBoundsException__init_;
    jl_ArrayStoreException[c] = jl_ArrayStoreException__init_;
    jur_CharClass[c] = jur_CharClass__init_;
    jlr_Array[c] = jlr_Array__init_;
    jur_AbstractCharClass$PredefinedCharacterClasses[c] = jur_AbstractCharClass$PredefinedCharacterClasses__init_;
    jur_FSet$PossessiveFSet[c] = jur_FSet$PossessiveFSet__init_;
    ju_BitSet[c] = ju_BitSet__init_;
    jur_SOLSet[c] = jur_SOLSet__init_;
    jur_PreviousMatch[c] = jur_PreviousMatch__init_;
    jur_EOISet[c] = jur_EOISet__init_;
    jur_DotAllSet[c] = jur_DotAllSet__init_;
    jl_StringBuffer[c] = jl_StringBuffer__init_;
    jl_NumberFormatException[c] = jl_NumberFormatException__init_;
    jur_AbstractLineTerminator$1[c] = jur_AbstractLineTerminator$1__init_;
    jur_AbstractLineTerminator$2[c] = jur_AbstractLineTerminator$2__init_;
    otcit_DateTimeZoneProvider[c] = otcit_DateTimeZoneProvider__init_;
    ju_PriorityQueue[c] = ju_PriorityQueue__init_;
    otcit_DateTimeZoneProvider$1[c] = otcit_DateTimeZoneProvider$1__init_;
    otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0[c] = otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0__init_;
    jl_Math[c] = jl_Math__init_;
    jur_AbstractCharClass$LazySpace[c] = jur_AbstractCharClass$LazySpace__init_;
    jur_AbstractCharClass$LazyDigit[c] = jur_AbstractCharClass$LazyDigit__init_;
    jur_AbstractCharClass$LazyLower[c] = jur_AbstractCharClass$LazyLower__init_;
    jur_AbstractCharClass$LazyUpper[c] = jur_AbstractCharClass$LazyUpper__init_;
    jur_AbstractCharClass$LazyASCII[c] = jur_AbstractCharClass$LazyASCII__init_;
    jur_AbstractCharClass$LazyAlpha[c] = jur_AbstractCharClass$LazyAlpha__init_;
    jur_AbstractCharClass$LazyAlnum[c] = jur_AbstractCharClass$LazyAlnum__init_;
    jur_AbstractCharClass$LazyPunct[c] = jur_AbstractCharClass$LazyPunct__init_;
    jur_AbstractCharClass$LazyGraph[c] = jur_AbstractCharClass$LazyGraph__init_;
    jur_AbstractCharClass$LazyPrint[c] = jur_AbstractCharClass$LazyPrint__init_;
    jur_AbstractCharClass$LazyBlank[c] = jur_AbstractCharClass$LazyBlank__init_;
    jur_AbstractCharClass$LazyCntrl[c] = jur_AbstractCharClass$LazyCntrl__init_;
    jur_AbstractCharClass$LazyXDigit[c] = jur_AbstractCharClass$LazyXDigit__init_;
    jur_AbstractCharClass$LazyJavaLowerCase[c] = jur_AbstractCharClass$LazyJavaLowerCase__init_;
    jur_AbstractCharClass$LazyJavaUpperCase[c] = jur_AbstractCharClass$LazyJavaUpperCase__init_;
    jur_AbstractCharClass$LazyJavaWhitespace[c] = jur_AbstractCharClass$LazyJavaWhitespace__init_;
    jur_AbstractCharClass$LazyJavaMirrored[c] = jur_AbstractCharClass$LazyJavaMirrored__init_;
    jur_AbstractCharClass$LazyJavaDefined[c] = jur_AbstractCharClass$LazyJavaDefined__init_;
    jur_AbstractCharClass$LazyJavaDigit[c] = jur_AbstractCharClass$LazyJavaDigit__init_;
    jur_AbstractCharClass$LazyJavaIdentifierIgnorable[c] = jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_;
    jur_AbstractCharClass$LazyJavaISOControl[c] = jur_AbstractCharClass$LazyJavaISOControl__init_;
    jur_AbstractCharClass$LazyJavaJavaIdentifierPart[c] = jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_;
    jur_AbstractCharClass$LazyJavaJavaIdentifierStart[c] = jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_;
    jur_AbstractCharClass$LazyJavaLetter[c] = jur_AbstractCharClass$LazyJavaLetter__init_;
    jur_AbstractCharClass$LazyJavaLetterOrDigit[c] = jur_AbstractCharClass$LazyJavaLetterOrDigit__init_;
    jur_AbstractCharClass$LazyJavaSpaceChar[c] = jur_AbstractCharClass$LazyJavaSpaceChar__init_;
    jur_AbstractCharClass$LazyJavaTitleCase[c] = jur_AbstractCharClass$LazyJavaTitleCase__init_;
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart[c] = jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_;
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart[c] = jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_;
    jur_AbstractCharClass$LazyWord[c] = jur_AbstractCharClass$LazyWord__init_;
    jur_AbstractCharClass$LazyNonWord[c] = jur_AbstractCharClass$LazyNonWord__init_;
    jur_AbstractCharClass$LazyNonSpace[c] = jur_AbstractCharClass$LazyNonSpace__init_;
    jur_AbstractCharClass$LazyNonDigit[c] = jur_AbstractCharClass$LazyNonDigit__init_;
    jur_AbstractCharClass$LazySpecialsBlock[c] = jur_AbstractCharClass$LazySpecialsBlock__init_;
    otci_Base46[c] = otci_Base46__init_;
    otciu_UnicodeHelper[c] = otciu_UnicodeHelper__init_;
    jl_NegativeArraySizeException[c] = jl_NegativeArraySizeException__init_;
    jn_ReadOnlyBufferException[c] = jn_ReadOnlyBufferException__init_;
    jl_UnsupportedOperationException[c] = jl_UnsupportedOperationException__init_;
    jn_BufferOverflowException[c] = jn_BufferOverflowException__init_;
    jn_BufferUnderflowException[c] = jn_BufferUnderflowException__init_;
    jl_StringIndexOutOfBoundsException[c] = jl_StringIndexOutOfBoundsException__init_;
    ji_EOFException[c] = ji_EOFException__init_;
    jl_IllegalStateException[c] = jl_IllegalStateException__init_;
    ju_NoSuchElementException[c] = ju_NoSuchElementException__init_;
    jl_ConsoleOutputStreamStderr[c] = jl_ConsoleOutputStreamStderr__init_;
    jl_ThreadLocal[c] = jl_ThreadLocal__init_;
    nms_RenderBlocks[c] = nms_RenderBlocks__init_;
    jt_DecimalFormat[c] = jt_DecimalFormat__init_;
    ju_Date[c] = ju_Date__init_;
    nms_AABBLocalPool[c] = nms_AABBLocalPool__init_;
    jt_DecimalFormatSymbols[c] = jt_DecimalFormatSymbols__init_;
    nms_MathHelper[c] = nms_MathHelper__init_;
    nms_GuiMainMenu[c] = nms_GuiMainMenu__init_;
    otcic_CurrencyHelper[c] = otcic_CurrencyHelper__init_;
    nle_BaseNCodec$Context[c] = nle_BaseNCodec$Context__init_;
    nms_RenderManager[c] = nms_RenderManager__init_;
    nms_GuiChat[c] = nms_GuiChat__init_;
    nms_GuiSleepMP[c] = nms_GuiSleepMP__init_;
    jl_AssertionError[c] = jl_AssertionError__init_;
    jt_DecimalFormatParser[c] = jt_DecimalFormatParser__init_;
    ju_ConcurrentModificationException[c] = ju_ConcurrentModificationException__init_;
    jl_IllegalMonitorStateException[c] = jl_IllegalMonitorStateException__init_;
    nms_OpenGlHelper[c] = nms_OpenGlHelper__init_;
    nms_TextureManager[c] = nms_TextureManager__init_;
    nms_IntHashMap[c] = nms_IntHashMap__init_;
    nms_ChatAllowedCharacters[c] = nms_ChatAllowedCharacters__init_;
    nms_ColorizerGrass[c] = nms_ColorizerGrass__init_;
    nms_ColorizerFoliage[c] = nms_ColorizerFoliage__init_;
    nms_MouseFilter[c] = nms_MouseFilter__init_;
    nms_EntitySpider[c] = nms_EntitySpider__init_;
    nms_RenderSpider[c] = nms_RenderSpider__init_;
    nms_EntityCaveSpider[c] = nms_EntityCaveSpider__init_;
    nms_EntityPig[c] = nms_EntityPig__init_;
    nms_ModelPig[c] = nms_ModelPig__init_;
    nms_EntitySheep[c] = nms_EntitySheep__init_;
    nms_ModelSheep2[c] = nms_ModelSheep2__init_;
    nms_ModelSheep1[c] = nms_ModelSheep1__init_;
    nms_EntityCow[c] = nms_EntityCow__init_;
    nms_ModelCow[c] = nms_ModelCow__init_;
    nms_EntityMooshroom[c] = nms_EntityMooshroom__init_;
    nms_EntityWolf[c] = nms_EntityWolf__init_;
    nms_ModelWolf[c] = nms_ModelWolf__init_;
    nms_EntityChicken[c] = nms_EntityChicken__init_;
    nms_ModelChicken[c] = nms_ModelChicken__init_;
    nms_EntityOcelot[c] = nms_EntityOcelot__init_;
    nms_ModelOcelot[c] = nms_ModelOcelot__init_;
    nms_EntitySilverfish[c] = nms_EntitySilverfish__init_;
    nms_RenderSilverfish[c] = nms_RenderSilverfish__init_;
    nms_EntityCreeper[c] = nms_EntityCreeper__init_;
    nms_RenderCreeper[c] = nms_RenderCreeper__init_;
    nms_EntityEnderman[c] = nms_EntityEnderman__init_;
    nms_RenderEnderman[c] = nms_RenderEnderman__init_;
    nms_EntitySnowman[c] = nms_EntitySnowman__init_;
    nms_RenderSnowMan[c] = nms_RenderSnowMan__init_;
    nms_EntitySkeleton[c] = nms_EntitySkeleton__init_;
    nms_RenderSkeleton[c] = nms_RenderSkeleton__init_;
    nms_EntityWitch[c] = nms_EntityWitch__init_;
    nms_RenderWitch[c] = nms_RenderWitch__init_;
    nms_EntityBlaze[c] = nms_EntityBlaze__init_;
    nms_RenderBlaze[c] = nms_RenderBlaze__init_;
    nms_EntityZombie[c] = nms_EntityZombie__init_;
    nms_RenderZombie[c] = nms_RenderZombie__init_;
    nms_EntitySlime[c] = nms_EntitySlime__init_;
    nms_EntityMagmaCube[c] = nms_EntityMagmaCube__init_;
    nms_RenderMagmaCube[c] = nms_RenderMagmaCube__init_;
    nms_RenderPlayer[c] = nms_RenderPlayer__init_;
    nms_EntityGhast[c] = nms_EntityGhast__init_;
    nms_RenderGhast[c] = nms_RenderGhast__init_;
    nms_EntitySquid[c] = nms_EntitySquid__init_;
    nms_ModelSquid[c] = nms_ModelSquid__init_;
    nms_EntityVillager[c] = nms_EntityVillager__init_;
    nms_RenderVillager[c] = nms_RenderVillager__init_;
    nms_EntityIronGolem[c] = nms_EntityIronGolem__init_;
    nms_RenderIronGolem[c] = nms_RenderIronGolem__init_;
    nms_EntityBat[c] = nms_EntityBat__init_;
    nms_RenderBat[c] = nms_RenderBat__init_;
    nms_EntityDragon[c] = nms_EntityDragon__init_;
    nms_RenderDragon[c] = nms_RenderDragon__init_;
    nms_EntityEnderCrystal[c] = nms_EntityEnderCrystal__init_;
    nms_RenderEnderCrystal[c] = nms_RenderEnderCrystal__init_;
    nms_EntityWither[c] = nms_EntityWither__init_;
    nms_RenderWither[c] = nms_RenderWither__init_;
    nms_RenderEntity[c] = nms_RenderEntity__init_;
    nms_RenderPainting[c] = nms_RenderPainting__init_;
    nms_EntityItemFrame[c] = nms_EntityItemFrame__init_;
    nms_RenderItemFrame[c] = nms_RenderItemFrame__init_;
    nms_EntityArrow[c] = nms_EntityArrow__init_;
    nms_RenderArrow[c] = nms_RenderArrow__init_;
    nms_EntitySnowball[c] = nms_EntitySnowball__init_;
    nms_EntityEnderPearl[c] = nms_EntityEnderPearl__init_;
    nms_EntityEnderEye[c] = nms_EntityEnderEye__init_;
    nms_EntityEgg[c] = nms_EntityEgg__init_;
    nms_EntityPotion[c] = nms_EntityPotion__init_;
    nms_EntityExpBottle[c] = nms_EntityExpBottle__init_;
    nms_EntityFireworkRocket[c] = nms_EntityFireworkRocket__init_;
    nms_EntityLargeFireball[c] = nms_EntityLargeFireball__init_;
    nms_EntitySmallFireball[c] = nms_EntitySmallFireball__init_;
    nms_EntityWitherSkull[c] = nms_EntityWitherSkull__init_;
    nms_RenderWitherSkull[c] = nms_RenderWitherSkull__init_;
    nms_EntityItem[c] = nms_EntityItem__init_;
    nms_RenderItem[c] = nms_RenderItem__init_;
    nms_EntityXPOrb[c] = nms_EntityXPOrb__init_;
    nms_RenderXPOrb[c] = nms_RenderXPOrb__init_;
    nms_EntityTNTPrimed[c] = nms_EntityTNTPrimed__init_;
    nms_RenderTNTPrimed[c] = nms_RenderTNTPrimed__init_;
    nms_EntityFallingSand[c] = nms_EntityFallingSand__init_;
    nms_RenderFallingSand[c] = nms_RenderFallingSand__init_;
    nms_RenderTntMinecart[c] = nms_RenderTntMinecart__init_;
    nms_RenderMinecart[c] = nms_RenderMinecart__init_;
    nms_RenderMinecartMobSpawner[c] = nms_RenderMinecartMobSpawner__init_;
    nms_EntityBoat[c] = nms_EntityBoat__init_;
    nms_RenderBoat[c] = nms_RenderBoat__init_;
    nms_EntityFishHook[c] = nms_EntityFishHook__init_;
    nms_RenderFish[c] = nms_RenderFish__init_;
    nms_RenderLightningBolt[c] = nms_RenderLightningBolt__init_;
    nms_AchievementList[c] = nms_AchievementList__init_;
    nms_RenderList[c] = nms_RenderList__init_;
    nleg_EffectPipeline[c] = nleg_EffectPipeline__init_;
    cjj_InfTree[c] = cjj_InfTree__init_;
    nle_DefaultSkinRenderer[c] = nle_DefaultSkinRenderer__init_;
    maa_NoteblockPlayer[c] = maa_NoteblockPlayer__init_;
    nms_ItemStack[c] = nms_ItemStack__init_;
    ju_Collections[c] = ju_Collections__init_;
    jl_Object$Monitor[c] = jl_Object$Monitor__init_0;
    ji_UTFDataFormatException[c] = ji_UTFDataFormatException__init_;
    nms_TexturePackDefault[c] = nms_TexturePackDefault__init_;
    nms_ModelSpider[c] = nms_ModelSpider__init_;
    nms_ModelSilverfish[c] = nms_ModelSilverfish__init_;
    nms_ModelCreeper[c] = nms_ModelCreeper__init_;
    nms_ModelEnderman[c] = nms_ModelEnderman__init_;
    nms_ModelBiped[c] = nms_ModelBiped__init_;
    nms_ModelSnowMan[c] = nms_ModelSnowMan__init_;
    nms_ModelSkeleton[c] = nms_ModelSkeleton__init_;
    nms_ModelZombie[c] = nms_ModelZombie__init_;
    nms_ModelBlaze[c] = nms_ModelBlaze__init_;
    nms_ModelZombieVillager[c] = nms_ModelZombieVillager__init_;
    nms_ModelMagmaCube[c] = nms_ModelMagmaCube__init_;
    nms_ModelGhast[c] = nms_ModelGhast__init_;
    nms_ModelIronGolem[c] = nms_ModelIronGolem__init_;
    nms_ModelBat[c] = nms_ModelBat__init_;
    nms_ModelWither[c] = nms_ModelWither__init_;
    nms_ModelSkeletonHead[c] = nms_ModelSkeletonHead__init_;
    nms_ModelMinecart[c] = nms_ModelMinecart__init_;
    nms_ModelBoat[c] = nms_ModelBoat__init_;
    ju_Arrays$NaturalOrder[c] = ju_Arrays$NaturalOrder__init_;
    nms_PlayerCapabilities[c] = nms_PlayerCapabilities__init_;
    nms_EntityList[c] = nms_EntityList__init_;
    ju_Collections$_clinit_$lambda$_61_0[c] = ju_Collections$_clinit_$lambda$_61_0__init_;
    ju_Collections$_clinit_$lambda$_61_1[c] = ju_Collections$_clinit_$lambda$_61_1__init_;
    ji_UnsupportedEncodingException[c] = ji_UnsupportedEncodingException__init_;
    ju_Properties[c] = ju_Properties__init_;
    ju_Hashtable[c] = ju_Hashtable__init_;
    ju_TreeMap[c] = ju_TreeMap__init_;
    maat_TMIController[c] = maat_TMIController__init_;
    nms_NoiseGeneratorPerlin[c] = nms_NoiseGeneratorPerlin__init_;
    nms_BlockCloth[c] = nms_BlockCloth__init_;
    nms_TileEntitySign[c] = nms_TileEntitySign__init_;
    nms_TileEntity[c] = nms_TileEntity__init_;
    ju_LinkedHashMap[c] = ju_LinkedHashMap__init_;
    nms_EntityList$_clinit_$lambda$_61_0[c] = nms_EntityList$_clinit_$lambda$_61_0__init_;
    nms_EntityList$_clinit_$lambda$_61_1[c] = nms_EntityList$_clinit_$lambda$_61_1__init_;
    nms_EntityList$_clinit_$lambda$_61_2[c] = nms_EntityList$_clinit_$lambda$_61_2__init_;
    nms_EntityList$_clinit_$lambda$_61_3[c] = nms_EntityList$_clinit_$lambda$_61_3__init_;
    nms_EntityList$_clinit_$lambda$_61_4[c] = nms_EntityList$_clinit_$lambda$_61_4__init_;
    nms_EntityList$_clinit_$lambda$_61_5[c] = nms_EntityList$_clinit_$lambda$_61_5__init_;
    nms_EntityList$_clinit_$lambda$_61_6[c] = nms_EntityList$_clinit_$lambda$_61_6__init_;
    nms_EntityList$_clinit_$lambda$_61_7[c] = nms_EntityList$_clinit_$lambda$_61_7__init_;
    nms_EntityList$_clinit_$lambda$_61_8[c] = nms_EntityList$_clinit_$lambda$_61_8__init_;
    nms_EntityList$_clinit_$lambda$_61_9[c] = nms_EntityList$_clinit_$lambda$_61_9__init_;
    nms_EntityList$_clinit_$lambda$_61_10[c] = nms_EntityList$_clinit_$lambda$_61_10__init_;
    nms_EntityList$_clinit_$lambda$_61_11[c] = nms_EntityList$_clinit_$lambda$_61_11__init_;
    nms_EntityList$_clinit_$lambda$_61_12[c] = nms_EntityList$_clinit_$lambda$_61_12__init_;
    nms_EntityList$_clinit_$lambda$_61_13[c] = nms_EntityList$_clinit_$lambda$_61_13__init_;
    nms_EntityList$_clinit_$lambda$_61_14[c] = nms_EntityList$_clinit_$lambda$_61_14__init_;
    nms_EntityList$_clinit_$lambda$_61_15[c] = nms_EntityList$_clinit_$lambda$_61_15__init_;
    nms_EntityList$_clinit_$lambda$_61_16[c] = nms_EntityList$_clinit_$lambda$_61_16__init_;
    nms_EntityList$_clinit_$lambda$_61_17[c] = nms_EntityList$_clinit_$lambda$_61_17__init_;
    nms_EntityList$_clinit_$lambda$_61_18[c] = nms_EntityList$_clinit_$lambda$_61_18__init_;
    nms_EntityList$_clinit_$lambda$_61_19[c] = nms_EntityList$_clinit_$lambda$_61_19__init_;
    nms_EntityList$_clinit_$lambda$_61_20[c] = nms_EntityList$_clinit_$lambda$_61_20__init_;
    nms_EntityList$_clinit_$lambda$_61_21[c] = nms_EntityList$_clinit_$lambda$_61_21__init_;
    nms_EntityList$_clinit_$lambda$_61_22[c] = nms_EntityList$_clinit_$lambda$_61_22__init_;
    nms_EntityList$_clinit_$lambda$_61_23[c] = nms_EntityList$_clinit_$lambda$_61_23__init_;
    nms_EntityList$_clinit_$lambda$_61_24[c] = nms_EntityList$_clinit_$lambda$_61_24__init_;
    nms_EntityList$_clinit_$lambda$_61_25[c] = nms_EntityList$_clinit_$lambda$_61_25__init_;
    nms_EntityList$_clinit_$lambda$_61_26[c] = nms_EntityList$_clinit_$lambda$_61_26__init_;
    nms_EntityList$_clinit_$lambda$_61_27[c] = nms_EntityList$_clinit_$lambda$_61_27__init_;
    nms_EntityList$_clinit_$lambda$_61_28[c] = nms_EntityList$_clinit_$lambda$_61_28__init_;
    nms_EntityPigZombie[c] = nms_EntityPigZombie__init_;
    nms_EntityList$_clinit_$lambda$_61_29[c] = nms_EntityList$_clinit_$lambda$_61_29__init_;
    nms_EntityList$_clinit_$lambda$_61_30[c] = nms_EntityList$_clinit_$lambda$_61_30__init_;
    nms_EntityList$_clinit_$lambda$_61_31[c] = nms_EntityList$_clinit_$lambda$_61_31__init_;
    nms_EntityList$_clinit_$lambda$_61_32[c] = nms_EntityList$_clinit_$lambda$_61_32__init_;
    nms_EntityList$_clinit_$lambda$_61_33[c] = nms_EntityList$_clinit_$lambda$_61_33__init_;
    nms_EntityList$_clinit_$lambda$_61_34[c] = nms_EntityList$_clinit_$lambda$_61_34__init_;
    nms_EntityList$_clinit_$lambda$_61_35[c] = nms_EntityList$_clinit_$lambda$_61_35__init_;
    nms_EntityList$_clinit_$lambda$_61_36[c] = nms_EntityList$_clinit_$lambda$_61_36__init_;
    nms_EntityList$_clinit_$lambda$_61_37[c] = nms_EntityList$_clinit_$lambda$_61_37__init_;
    nms_EntityList$_clinit_$lambda$_61_38[c] = nms_EntityList$_clinit_$lambda$_61_38__init_;
    nms_EntityList$_clinit_$lambda$_61_39[c] = nms_EntityList$_clinit_$lambda$_61_39__init_;
    nms_EntityList$_clinit_$lambda$_61_40[c] = nms_EntityList$_clinit_$lambda$_61_40__init_;
    nms_EntityList$_clinit_$lambda$_61_41[c] = nms_EntityList$_clinit_$lambda$_61_41__init_;
    nms_EntityList$_clinit_$lambda$_61_42[c] = nms_EntityList$_clinit_$lambda$_61_42__init_;
    nms_EntityList$_clinit_$lambda$_61_43[c] = nms_EntityList$_clinit_$lambda$_61_43__init_;
    nms_EntityList$_clinit_$lambda$_61_44[c] = nms_EntityList$_clinit_$lambda$_61_44__init_;
    nms_EntityList$_clinit_$lambda$_61_45[c] = nms_EntityList$_clinit_$lambda$_61_45__init_;
    nms_EntityList$_clinit_$lambda$_61_46[c] = nms_EntityList$_clinit_$lambda$_61_46__init_;
    nms_EntityList$_clinit_$lambda$_61_47[c] = nms_EntityList$_clinit_$lambda$_61_47__init_;
    nms_EntityList$_clinit_$lambda$_61_48[c] = nms_EntityList$_clinit_$lambda$_61_48__init_;
    nms_EntityList$_clinit_$lambda$_61_49[c] = nms_EntityList$_clinit_$lambda$_61_49__init_;
    nms_EntityList$_clinit_$lambda$_61_50[c] = nms_EntityList$_clinit_$lambda$_61_50__init_;
    ju_Collections$5[c] = ju_Collections$5__init_;
    ju_Collections$6[c] = ju_Collections$6__init_;
    ju_Collections$3[c] = ju_Collections$3__init_;
    nms_PotionHelper[c] = nms_PotionHelper__init_;
    nlegv_Vector2f[c] = nlegv_Vector2f__init_;
    nms_StatTypeSimple[c] = nms_StatTypeSimple__init_;
    nms_StatTypeTime[c] = nms_StatTypeTime__init_;
    nms_StatTypeDistance[c] = nms_StatTypeDistance__init_;
    ju_Hashtable$1[c] = ju_Hashtable$1__init_;
    ju_Hashtable$2[c] = ju_Hashtable$2__init_;
    maat_TMIConfig[c] = maat_TMIConfig__init_;
    maat_TMIItemInfo[c] = maat_TMIItemInfo__init_;
    maat_TMIPrivateFields[c] = maat_TMIPrivateFields__init_;
    ju_TreeSet[c] = ju_TreeSet__init_;
    nms_TileEntitySkull[c] = nms_TileEntitySkull__init_;
    nms_GuiGameOver[c] = nms_GuiGameOver__init_;
    nms_GuiIngameMenu[c] = nms_GuiIngameMenu__init_;
    jt_DecimalFormat$MinusField[c] = jt_DecimalFormat$MinusField__init_;
    jl_ArithmeticException[c] = jl_ArithmeticException__init_;
    jnc_CharacterCodingException[c] = jnc_CharacterCodingException__init_;
    nms_RenderHelper[c] = nms_RenderHelper__init_;
    maat__tmi_MgTabView[c] = maat__tmi_MgTabView__init_;
    maat_TMIConfigPanel[c] = maat_TMIConfigPanel__init_;
    maat_TMIPotionPanel[c] = maat_TMIPotionPanel__init_;
    maat_TMIFireworkPanel[c] = maat_TMIFireworkPanel__init_;
    maat_TMIUtils[c] = maat_TMIUtils__init_;
    nms_BossStatus[c] = nms_BossStatus__init_;
    ju_Random[c] = ju_Random__init_;
    jl_ClassNotFoundException[c] = jl_ClassNotFoundException__init_;
    jl_ReflectiveOperationException[c] = jl_ReflectiveOperationException__init_;
    nms_AchievementMap[c] = nms_AchievementMap__init_;
    maat_TMIImages[c] = maat_TMIImages__init_;
    jm_Multiplication[c] = jm_Multiplication__init_;
    nms_DataWatcher[c] = nms_DataWatcher__init_;
    nms_ChunkCoordinates[c] = nms_ChunkCoordinates__init_;
    nms_WorldInfo[c] = nms_WorldInfo__init_;
    nms_Frustrum[c] = nms_Frustrum__init_;
    nms_FoodStats[c] = nms_FoodStats__init_;
    nms_Scoreboard[c] = nms_Scoreboard__init_;
    cjj_CRC32[c] = cjj_CRC32__init_;
    cjj_GZIPHeader[c] = cjj_GZIPHeader__init_;
    nms_Packet204ClientInfo[c] = nms_Packet204ClientInfo__init_;
    jt_DecimalFormat$PerMillField[c] = jt_DecimalFormat$PerMillField__init_;
    jt_DecimalFormat$CurrencyField[c] = jt_DecimalFormat$CurrencyField__init_;
    jt_DecimalFormat$PercentField[c] = jt_DecimalFormat$PercentField__init_;
    nms_MovementInput[c] = nms_MovementInput__init_;
    nms_Packet0KeepAlive[c] = nms_Packet0KeepAlive__init_;
    nms_Packet1Login[c] = nms_Packet1Login__init_;
    nms_Packet2ClientProtocol[c] = nms_Packet2ClientProtocol__init_;
    nms_Packet4UpdateTime[c] = nms_Packet4UpdateTime__init_;
    nms_Packet5PlayerInventory[c] = nms_Packet5PlayerInventory__init_;
    nms_Packet6SpawnPosition[c] = nms_Packet6SpawnPosition__init_;
    nms_Packet7UseEntity[c] = nms_Packet7UseEntity__init_;
    nms_Packet8UpdateHealth[c] = nms_Packet8UpdateHealth__init_;
    nms_Packet9Respawn[c] = nms_Packet9Respawn__init_;
    nms_Packet10Flying[c] = nms_Packet10Flying__init_;
    nms_Packet11PlayerPosition[c] = nms_Packet11PlayerPosition__init_;
    nms_Packet12PlayerLook[c] = nms_Packet12PlayerLook__init_;
    nms_Packet13PlayerLookMove[c] = nms_Packet13PlayerLookMove__init_;
    nms_Packet14BlockDig[c] = nms_Packet14BlockDig__init_;
    nms_Packet15Place[c] = nms_Packet15Place__init_;
    nms_Packet16BlockItemSwitch[c] = nms_Packet16BlockItemSwitch__init_;
    nms_Packet17Sleep[c] = nms_Packet17Sleep__init_;
    nms_Packet18Animation[c] = nms_Packet18Animation__init_;
    nms_Packet19EntityAction[c] = nms_Packet19EntityAction__init_;
    nms_Packet20NamedEntitySpawn[c] = nms_Packet20NamedEntitySpawn__init_;
    nms_Packet22Collect[c] = nms_Packet22Collect__init_;
    nms_Packet23VehicleSpawn[c] = nms_Packet23VehicleSpawn__init_;
    nms_Packet24MobSpawn[c] = nms_Packet24MobSpawn__init_;
    nms_Packet25EntityPainting[c] = nms_Packet25EntityPainting__init_;
    nms_Packet26EntityExpOrb[c] = nms_Packet26EntityExpOrb__init_;
    nms_Packet28EntityVelocity[c] = nms_Packet28EntityVelocity__init_;
    nms_Packet29DestroyEntity[c] = nms_Packet29DestroyEntity__init_;
    nms_Packet30Entity[c] = nms_Packet30Entity__init_;
    nms_Packet31RelEntityMove[c] = nms_Packet31RelEntityMove__init_;
    nms_Packet32EntityLook[c] = nms_Packet32EntityLook__init_;
    nms_Packet33RelEntityMoveLook[c] = nms_Packet33RelEntityMoveLook__init_;
    nms_Packet34EntityTeleport[c] = nms_Packet34EntityTeleport__init_;
    nms_Packet35EntityHeadRotation[c] = nms_Packet35EntityHeadRotation__init_;
    nms_Packet38EntityStatus[c] = nms_Packet38EntityStatus__init_;
    nms_Packet39AttachEntity[c] = nms_Packet39AttachEntity__init_;
    nms_Packet40EntityMetadata[c] = nms_Packet40EntityMetadata__init_;
    nms_Packet41EntityEffect[c] = nms_Packet41EntityEffect__init_;
    nms_Packet42RemoveEntityEffect[c] = nms_Packet42RemoveEntityEffect__init_;
    nms_Packet43Experience[c] = nms_Packet43Experience__init_;
    nms_Packet51MapChunk[c] = nms_Packet51MapChunk__init_;
    nms_Packet52MultiBlockChange[c] = nms_Packet52MultiBlockChange__init_;
    nms_Packet53BlockChange[c] = nms_Packet53BlockChange__init_;
    nms_Packet54PlayNoteBlock[c] = nms_Packet54PlayNoteBlock__init_;
    nms_Packet55BlockDestroy[c] = nms_Packet55BlockDestroy__init_;
    nms_Packet56MapChunks[c] = nms_Packet56MapChunks__init_;
    nms_Packet60Explosion[c] = nms_Packet60Explosion__init_;
    nms_Packet61DoorChange[c] = nms_Packet61DoorChange__init_;
    nms_Packet62LevelSound[c] = nms_Packet62LevelSound__init_;
    nms_Packet63WorldParticles[c] = nms_Packet63WorldParticles__init_;
    nms_Packet70GameEvent[c] = nms_Packet70GameEvent__init_;
    nms_Packet71Weather[c] = nms_Packet71Weather__init_;
    nms_Packet100OpenWindow[c] = nms_Packet100OpenWindow__init_;
    nms_Packet101CloseWindow[c] = nms_Packet101CloseWindow__init_;
    nms_Packet102WindowClick[c] = nms_Packet102WindowClick__init_;
    nms_Packet103SetSlot[c] = nms_Packet103SetSlot__init_;
    nms_Packet104WindowItems[c] = nms_Packet104WindowItems__init_;
    nms_Packet105UpdateProgressbar[c] = nms_Packet105UpdateProgressbar__init_;
    nms_Packet106Transaction[c] = nms_Packet106Transaction__init_;
    nms_Packet107CreativeSetSlot[c] = nms_Packet107CreativeSetSlot__init_;
    nms_Packet108EnchantItem[c] = nms_Packet108EnchantItem__init_;
    nms_Packet130UpdateSign[c] = nms_Packet130UpdateSign__init_;
    nms_Packet131MapData[c] = nms_Packet131MapData__init_;
    nms_Packet132TileEntityData[c] = nms_Packet132TileEntityData__init_;
    nms_Packet200Statistic[c] = nms_Packet200Statistic__init_;
    nms_Packet201PlayerInfo[c] = nms_Packet201PlayerInfo__init_;
    nms_Packet202PlayerAbilities[c] = nms_Packet202PlayerAbilities__init_;
    nms_Packet203AutoComplete[c] = nms_Packet203AutoComplete__init_;
    nms_Packet205ClientCommand[c] = nms_Packet205ClientCommand__init_;
    nms_Packet206SetObjective[c] = nms_Packet206SetObjective__init_;
    nms_Packet207SetScore[c] = nms_Packet207SetScore__init_;
    nms_Packet208SetDisplayObjective[c] = nms_Packet208SetDisplayObjective__init_;
    nms_Packet209SetPlayerTeam[c] = nms_Packet209SetPlayerTeam__init_;
    nms_Packet250CustomPayload[c] = nms_Packet250CustomPayload__init_;
    nms_Packet252SharedKey[c] = nms_Packet252SharedKey__init_;
    nms_Packet253ServerAuthData[c] = nms_Packet253ServerAuthData__init_;
    nms_Packet254ServerPing[c] = nms_Packet254ServerPing__init_;
    nms_Packet255KickDisconnect[c] = nms_Packet255KickDisconnect__init_;
    nms_FilterIMob[c] = nms_FilterIMob__init_;
    nms_EntityWitherAttackFilter[c] = nms_EntityWitherAttackFilter__init_;
    nms_TileEntityFurnace[c] = nms_TileEntityFurnace__init_;
    nms_TileEntityChest[c] = nms_TileEntityChest__init_;
    nms_TileEntityEnderChest[c] = nms_TileEntityEnderChest__init_;
    nms_TileEntityRecordPlayer[c] = nms_TileEntityRecordPlayer__init_;
    nms_TileEntityDispenser[c] = nms_TileEntityDispenser__init_;
    nms_TileEntityDropper[c] = nms_TileEntityDropper__init_;
    nms_TileEntityMobSpawner[c] = nms_TileEntityMobSpawner__init_;
    nms_TileEntityNote[c] = nms_TileEntityNote__init_;
    nms_TileEntityPiston[c] = nms_TileEntityPiston__init_;
    nms_TileEntityBrewingStand[c] = nms_TileEntityBrewingStand__init_;
    nms_TileEntityEnchantmentTable[c] = nms_TileEntityEnchantmentTable__init_;
    nms_TileEntityEndPortal[c] = nms_TileEntityEndPortal__init_;
    nms_TileEntityCommandBlock[c] = nms_TileEntityCommandBlock__init_;
    nms_TileEntityBeacon[c] = nms_TileEntityBeacon__init_;
    nms_TileEntityDaylightDetector[c] = nms_TileEntityDaylightDetector__init_;
    nms_TileEntityHopper[c] = nms_TileEntityHopper__init_;
    nms_TileEntityComparator[c] = nms_TileEntityComparator__init_;
    nle_License[c] = nle_License__init_;
    nms_StatCollector[c] = nms_StatCollector__init_;
    jm_BitLevel[c] = jm_BitLevel__init_;
    jm_Division[c] = jm_Division__init_;
    jm_Elementary[c] = jm_Elementary__init_;
    nleg_EffectPipelineFXAA[c] = nleg_EffectPipelineFXAA__init_;
    nms_ActiveRenderInfo[c] = nms_ActiveRenderInfo__init_;
    nms_ClippingHelperImpl[c] = nms_ClippingHelperImpl__init_;
    nms_ClippingHelper[c] = nms_ClippingHelper__init_;
    nms_StringUtils[c] = nms_StringUtils__init_;
    ju_Formatter[c] = ju_Formatter__init_;
    nms_Direction[c] = nms_Direction__init_;
    nms_TextureClock[c] = nms_TextureClock__init_;
    nms_TextureCompass[c] = nms_TextureCompass__init_;
    nlea_EaglerAdapterImpl2$17[c] = nlea_EaglerAdapterImpl2$17__init_;
    ju_LinkedList$Entry[c] = ju_LinkedList$Entry__init_;
    nms_Facing[c] = nms_Facing__init_;
    jl_OutOfMemoryError[c] = jl_OutOfMemoryError__init_;
    jl_VirtualMachineError[c] = jl_VirtualMachineError__init_;
    jn_MalformedURLException[c] = jn_MalformedURLException__init_;
    nms_ScoreComparator[c] = nms_ScoreComparator__init_;
    nms_Particle[c] = nms_Particle__init_;
    nms_TileEntityRenderer[c] = nms_TileEntityRenderer__init_;
    nms_MinecraftError[c] = nms_MinecraftError__init_;
    nms_EntitySelectorAlive[c] = nms_EntitySelectorAlive__init_;
    nms_EntitySelectorInventory[c] = nms_EntitySelectorInventory__init_;
    jni_XHRStreamHandler[c] = jni_XHRStreamHandler__init_;
    jm_Conversion[c] = jm_Conversion__init_;
    otcit_DateTimeZoneBuilder[c] = otcit_DateTimeZoneBuilder__init_;
    ji_StringWriter[c] = ji_StringWriter__init_;
    jl_AbstractStringBuilder$Constants[c] = jl_AbstractStringBuilder$Constants__init_;
    otcit_DoubleAnalyzer[c] = otcit_DoubleAnalyzer__init_;
    otcit_DoubleAnalyzer$Result[c] = otcit_DoubleAnalyzer$Result__init_;
    nms_TileEntitySignRenderer[c] = nms_TileEntitySignRenderer__init_;
    nms_TileEntityRendererPiston[c] = nms_TileEntityRendererPiston__init_;
    nms_TileEntityChestRenderer[c] = nms_TileEntityChestRenderer__init_;
    nms_TileEntityEnderChestRenderer[c] = nms_TileEntityEnderChestRenderer__init_;
    nms_RenderEnchantmentTable[c] = nms_RenderEnchantmentTable__init_;
    nms_RenderEndPortal[c] = nms_RenderEndPortal__init_;
    nms_TileEntityBeaconRenderer[c] = nms_TileEntityBeaconRenderer__init_;
    nms_TileEntitySkullRenderer[c] = nms_TileEntitySkullRenderer__init_;
    nms_TileEntityMobSpawnerRenderer[c] = nms_TileEntityMobSpawnerRenderer__init_;
    otcit_FloatAnalyzer$Result[c] = otcit_FloatAnalyzer$Result__init_;
    nms_ModelSign[c] = nms_ModelSign__init_;
    nms_ModelChest[c] = nms_ModelChest__init_;
    nms_ModelLargeChest[c] = nms_ModelLargeChest__init_;
    nms_ModelBook[c] = nms_ModelBook__init_;
    jnc_BufferUnderflowException[c] = jnc_BufferUnderflowException__init_;
    jnc_BufferOverflowException[c] = jnc_BufferOverflowException__init_;
    nle_GuiScreenLicenseDeclined[c] = nle_GuiScreenLicenseDeclined__init_;
    nms_ChestItemRenderHelper[c] = nms_ChestItemRenderHelper__init_;
    maat_TMICompatibility[c] = maat_TMICompatibility__init_;
    jlr_AccessibleObject[c] = jlr_AccessibleObject__init_;
    jlr_InvocationTargetException[c] = jlr_InvocationTargetException__init_;
    jl_StrictMath[c] = jl_StrictMath__init_;
    ju_FormatterClosedException[c] = ju_FormatterClosedException__init_;
    ju_IllegalFormatException[c] = ju_IllegalFormatException__init_;
    ju_Objects[c] = ju_Objects__init_;
    jl_NoSuchMethodException[c] = jl_NoSuchMethodException__init_;
    jl_IllegalAccessException[c] = jl_IllegalAccessException__init_;
    otcit_FloatAnalyzer[c] = otcit_FloatAnalyzer__init_;
    nms_MapStorage[c] = nms_MapStorage__init_;
    maa_MidiConverter[c] = maa_MidiConverter__init_;
    maat__tmi_MgZOrder[c] = maat__tmi_MgZOrder__init_;
    maa_MidiConverter$1[c] = maa_MidiConverter$1__init_;
    jsm_Track[c] = jsm_Track__init_;
    jsm_MetaMessage[c] = jsm_MetaMessage__init_;
    jsm_ShortMessage[c] = jsm_ShortMessage__init_;
    nms_EnchantmentHelper[c] = nms_EnchantmentHelper__init_;
    jlr_Modifier[c] = jlr_Modifier__init_;
    jsm_MidiSystem[c] = jsm_MidiSystem__init_;
    jsm_InvalidMidiDataException[c] = jsm_InvalidMidiDataException__init_;
    nms_EnchantmentModifierDamage[c] = nms_EnchantmentModifierDamage__init_;
    nms_Empty3[c] = nms_Empty3__init_;
    nms_EnchantmentModifierLiving[c] = nms_EnchantmentModifierLiving__init_;
    nlea_EaglerAdapterImpl2$20[c] = nlea_EaglerAdapterImpl2$20__init_;
    csms_JDK13Services[c] = csms_JDK13Services__init_;
    csms_JSSecurityManager[c] = csms_JSSecurityManager__init_;
    js_AccessController[c] = js_AccessController__init_;
    otr_RuntimeObject[c] = otr_RuntimeObject__init_;
    oti_Structure[c] = oti_Structure__init_;
    otr_RuntimeClass[c] = otr_RuntimeClass__init_;
    otjb_WindowFeatures[c] = otjb_WindowFeatures__init_;
    oti_Address[c] = oti_Address__init_;
    ji_Console[c] = ji_Console__init_;
    otr_RuntimeArray[c] = otr_RuntimeArray__init_;
    nms_GameRules[c] = nms_GameRules__init_;
    nms_InventoryEnderChest[c] = nms_InventoryEnderChest__init_;
    jt_DateFormatElement$TrieNode[c] = jt_DateFormatElement$TrieNode__init_;
    nms_MerchantRecipeList[c] = nms_MerchantRecipeList__init_;
    nms_Packet51MapChunkData[c] = nms_Packet51MapChunkData__init_;
    jn_URI[c] = jn_URI__init_;
    otcit_DateTimeZoneBuilder$RuleSet[c] = otcit_DateTimeZoneBuilder$RuleSet__init_;
    nms_EnumOptionsHelper[c] = nms_EnumOptionsHelper__init_;
    oj_JSONObject[c] = oj_JSONObject__init_;
    jsm_VoiceStatus[c] = jsm_VoiceStatus__init_;
    oj_JSONArray[c] = oj_JSONArray__init_;
    oj_JSONPointer$Builder[c] = oj_JSONPointer$Builder__init_;
    jl_SystemClassLoader[c] = jl_SystemClassLoader__init_;
    otcir_Converter[c] = otcir_Converter__init_;
    otcir_Flags[c] = otcir_Flags__init_;
    maat_TMIEnchanting[c] = maat_TMIEnchanting__init_;
    nms_PacketCount[c] = nms_PacketCount__init_;
    otcf_VirtualFileSystemProvider[c] = otcf_VirtualFileSystemProvider__init_;
    oj_JSONObject$Null[c] = oj_JSONObject$Null__init_;
    otcfm_InMemoryVirtualFileSystem[c] = otcfm_InMemoryVirtualFileSystem__init_;
    csms_StandardMidiFileReader[c] = csms_StandardMidiFileReader__init_;
    jl_InstantiationException[c] = jl_InstantiationException__init_;
    csms_SMFParser[c] = csms_SMFParser__init_;
    jsm_Track$ImmutableEndOfTrack[c] = jsm_Track$ImmutableEndOfTrack__init_;
    maa_CryptManager[c] = maa_CryptManager__init_;
    nle_EaglerInflater[c] = nle_EaglerInflater__init_;
    jn_InvalidMarkException[c] = jn_InvalidMarkException__init_;
    jl_StackOverflowError[c] = jl_StackOverflowError__init_;
    juca_AtomicInteger[c] = juca_AtomicInteger__init_;
    obc_BufferedBlockCipher[c] = obc_BufferedBlockCipher__init_;
    nms_GuiWinGame[c] = nms_GuiWinGame__init_;
    ju_Vector[c] = ju_Vector__init_;
    nms_WorldProviderSurface[c] = nms_WorldProviderSurface__init_;
    nms_WorldProviderHell[c] = nms_WorldProviderHell__init_;
    nms_WorldProviderEnd[c] = nms_WorldProviderEnd__init_;
    nms_InventoryCraftResult[c] = nms_InventoryCraftResult__init_;
    nms_CraftingManager[c] = nms_CraftingManager__init_;
    jsm_SysexMessage[c] = jsm_SysexMessage__init_;
    jl_ArrayIndexOutOfBoundsException[c] = jl_ArrayIndexOutOfBoundsException__init_;
    nms_LongHashMap[c] = nms_LongHashMap__init_;
    nms_RecipesTools[c] = nms_RecipesTools__init_;
    nms_RecipesWeapons[c] = nms_RecipesWeapons__init_;
    nms_RecipesIngots[c] = nms_RecipesIngots__init_;
    nms_RecipesFood[c] = nms_RecipesFood__init_;
    nms_RecipesCrafting[c] = nms_RecipesCrafting__init_;
    nms_RecipesArmor[c] = nms_RecipesArmor__init_;
    nms_RecipesDyes[c] = nms_RecipesDyes__init_;
    nms_RecipesArmorDyes[c] = nms_RecipesArmorDyes__init_;
    nms_RecipesMapCloning[c] = nms_RecipesMapCloning__init_;
    nms_RecipesMapExtending[c] = nms_RecipesMapExtending__init_;
    nms_RecipeFireworks[c] = nms_RecipeFireworks__init_;
    csms_MidiUtils[c] = csms_MidiUtils__init_;
    cjj_Deflater[c] = cjj_Deflater__init_;
    ju_IdentityHashMap[c] = ju_IdentityHashMap__init_;
    jl_SecurityException[c] = jl_SecurityException__init_;
    csms_MidiUtils$TempoCache[c] = csms_MidiUtils$TempoCache__init_;
    nms_FurnaceRecipes[c] = nms_FurnaceRecipes__init_;
    nms_EnchantmentNameParts[c] = nms_EnchantmentNameParts__init_;
    cjj_Tree[c] = cjj_Tree__init_;
    nms_Path[c] = nms_Path__init_;
}
function otp_Platform_newInstanceImpl(var$1) {
    if ($rt_resuming()) {
        var $r = $rt_nativeThread().pop();
        var$1.$$constructor$$($r);
        if ($rt_suspending()) {
            return $rt_nativeThread().push($r);
        }
        return $r;
    }
    if (!var$1.hasOwnProperty('$$constructor$$')) {
        return null;
    }
    var $r = new var$1();
    var$1.$$constructor$$($r);
    if ($rt_suspending()) {
        return $rt_nativeThread().push($r);
    }
    return $r;
}
function otp_Platform_lookupClass(var$1) {
    switch ($rt_ustr(var$1)) {
        case "net.lax1dude.eaglercraft.Client": nle_Client.$clinit(); return nle_Client;
        case "java.lang.Object": jl_Object.$clinit(); return jl_Object;
        case "java.lang.Class": jl_Class.$clinit(); return jl_Class;
        case "java.lang.reflect.AnnotatedElement": jlr_AnnotatedElement.$clinit(); return jlr_AnnotatedElement;
        case "org.teavm.jso.impl.JS": otji_JS.$clinit(); return otji_JS;
        case "org.teavm.platform.Platform": otp_Platform.$clinit(); return otp_Platform;
        case "java.lang.String": jl_String.$clinit(); return jl_String;
        case "java.io.Serializable": ji_Serializable.$clinit(); return ji_Serializable;
        case "java.lang.Comparable": jl_Comparable.$clinit(); return jl_Comparable;
        case "java.lang.CharSequence": jl_CharSequence.$clinit(); return jl_CharSequence;
        case "java.lang.NoClassDefFoundError": jl_NoClassDefFoundError.$clinit(); return jl_NoClassDefFoundError;
        case "java.lang.LinkageError": jl_LinkageError.$clinit(); return jl_LinkageError;
        case "java.lang.Error": jl_Error.$clinit(); return jl_Error;
        case "java.lang.Throwable": jl_Throwable.$clinit(); return jl_Throwable;
        case "java.lang.StringBuilder": jl_StringBuilder.$clinit(); return jl_StringBuilder;
        case "java.lang.AbstractStringBuilder": jl_AbstractStringBuilder.$clinit(); return jl_AbstractStringBuilder;
        case "java.lang.Appendable": jl_Appendable.$clinit(); return jl_Appendable;
        case "java.lang.Integer": jl_Integer.$clinit(); return jl_Integer;
        case "java.lang.Number": jl_Number.$clinit(); return jl_Number;
        case "java.lang.NoSuchFieldError": jl_NoSuchFieldError.$clinit(); return jl_NoSuchFieldError;
        case "java.lang.IncompatibleClassChangeError": jl_IncompatibleClassChangeError.$clinit(); return jl_IncompatibleClassChangeError;
        case "java.lang.NoSuchMethodError": jl_NoSuchMethodError.$clinit(); return jl_NoSuchMethodError;
        case "java.lang.RuntimeException": jl_RuntimeException.$clinit(); return jl_RuntimeException;
        case "java.lang.Exception": jl_Exception.$clinit(); return jl_Exception;
        case "org.teavm.jso.browser.Window": otjb_Window.$clinit(); return otjb_Window;
        case "org.teavm.jso.JSObject": otj_JSObject.$clinit(); return otj_JSObject;
        case "org.teavm.jso.browser.WindowEventTarget": otjb_WindowEventTarget.$clinit(); return otjb_WindowEventTarget;
        case "org.teavm.jso.dom.events.EventTarget": otjde_EventTarget.$clinit(); return otjde_EventTarget;
        case "org.teavm.jso.dom.events.FocusEventTarget": otjde_FocusEventTarget.$clinit(); return otjde_FocusEventTarget;
        case "org.teavm.jso.dom.events.MouseEventTarget": otjde_MouseEventTarget.$clinit(); return otjde_MouseEventTarget;
        case "org.teavm.jso.dom.events.KeyboardEventTarget": otjde_KeyboardEventTarget.$clinit(); return otjde_KeyboardEventTarget;
        case "org.teavm.jso.dom.events.LoadEventTarget": otjde_LoadEventTarget.$clinit(); return otjde_LoadEventTarget;
        case "org.teavm.jso.browser.StorageProvider": otjb_StorageProvider.$clinit(); return otjb_StorageProvider;
        case "org.teavm.jso.core.JSArrayReader": otjc_JSArrayReader.$clinit(); return otjc_JSArrayReader;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2": nlea_EaglerAdapterImpl2.$clinit(); return nlea_EaglerAdapterImpl2;
        case "net.lax1dude.eaglercraft.LocalStorageManager": nle_LocalStorageManager.$clinit(); return nle_LocalStorageManager;
        case "net.minecraft.src.ServerList": nms_ServerList.$clinit(); return nms_ServerList;
        case "org.teavm.classlib.impl.IntegerUtil": otci_IntegerUtil.$clinit(); return otci_IntegerUtil;
        case "org.teavm.jso.core.JSString": otjc_JSString.$clinit(); return otjc_JSString;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$2": nlea_EaglerAdapterImpl2$2.$clinit(); return nlea_EaglerAdapterImpl2$2;
        case "org.teavm.jso.dom.events.EventListener": otjde_EventListener.$clinit(); return otjde_EventListener;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$3": nlea_EaglerAdapterImpl2$3.$clinit(); return nlea_EaglerAdapterImpl2$3;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$4": nlea_EaglerAdapterImpl2$4.$clinit(); return nlea_EaglerAdapterImpl2$4;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$5": nlea_EaglerAdapterImpl2$5.$clinit(); return nlea_EaglerAdapterImpl2$5;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$6": nlea_EaglerAdapterImpl2$6.$clinit(); return nlea_EaglerAdapterImpl2$6;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$7": nlea_EaglerAdapterImpl2$7.$clinit(); return nlea_EaglerAdapterImpl2$7;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$8": nlea_EaglerAdapterImpl2$8.$clinit(); return nlea_EaglerAdapterImpl2$8;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$9": nlea_EaglerAdapterImpl2$9.$clinit(); return nlea_EaglerAdapterImpl2$9;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$10": nlea_EaglerAdapterImpl2$10.$clinit(); return nlea_EaglerAdapterImpl2$10;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$11": nlea_EaglerAdapterImpl2$11.$clinit(); return nlea_EaglerAdapterImpl2$11;
        case "net.lax1dude.eaglercraft.EarlyLoadScreen": nle_EarlyLoadScreen.$clinit(); return nle_EarlyLoadScreen;
        case "org.teavm.jso.webaudio.AudioContext": otjw_AudioContext.$clinit(); return otjw_AudioContext;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$12": nlea_EaglerAdapterImpl2$12.$clinit(); return nlea_EaglerAdapterImpl2$12;
        case "org.teavm.jso.browser.TimerHandler": otjb_TimerHandler.$clinit(); return otjb_TimerHandler;
        case "java.lang.Thread": jl_Thread.$clinit(); return jl_Thread;
        case "java.lang.Runnable": jl_Runnable.$clinit(); return jl_Runnable;
        case "java.lang.InterruptedException": jl_InterruptedException.$clinit(); return jl_InterruptedException;
        case "net.lax1dude.eaglercraft.AssetRepository": nle_AssetRepository.$clinit(); return nle_AssetRepository;
        case "java.io.IOException": ji_IOException.$clinit(); return ji_IOException;
        case "net.lax1dude.eaglercraft.EaglerAdapter": nle_EaglerAdapter.$clinit(); return nle_EaglerAdapter;
        case "net.lax1dude.eaglercraft.glemu.EaglerAdapterGL30": nleg_EaglerAdapterGL30.$clinit(); return nleg_EaglerAdapterGL30;
        case "net.minecraft.src.CompressedStreamTools": nms_CompressedStreamTools.$clinit(); return nms_CompressedStreamTools;
        case "net.minecraft.src.NBTTagCompound": nms_NBTTagCompound.$clinit(); return nms_NBTTagCompound;
        case "net.minecraft.src.NBTBase": nms_NBTBase.$clinit(); return nms_NBTBase;
        case "net.lax1dude.eaglercraft.Base64": nle_Base64.$clinit(); return nle_Base64;
        case "net.lax1dude.eaglercraft.BaseNCodec": nle_BaseNCodec.$clinit(); return nle_BaseNCodec;
        case "net.lax1dude.eaglercraft.ConfigConstants": nle_ConfigConstants.$clinit(); return nle_ConfigConstants;
        case "net.minecraft.src.ServerData": nms_ServerData.$clinit(); return nms_ServerData;
        case "java.lang.System": jl_System.$clinit(); return jl_System;
        case "net.minecraft.client.Minecraft": nmc_Minecraft.$clinit(); return nmc_Minecraft;
        case "java.lang.String$<clinit>$lambda$_81_0": jl_String$_clinit_$lambda$_81_0.$clinit(); return jl_String$_clinit_$lambda$_81_0;
        case "java.util.Comparator": ju_Comparator.$clinit(); return ju_Comparator;
        case "java.lang.Character": jl_Character.$clinit(); return jl_Character;
        case "java.util.LinkedList": ju_LinkedList.$clinit(); return ju_LinkedList;
        case "java.util.AbstractSequentialList": ju_AbstractSequentialList.$clinit(); return ju_AbstractSequentialList;
        case "java.util.AbstractList": ju_AbstractList.$clinit(); return ju_AbstractList;
        case "java.util.AbstractCollection": ju_AbstractCollection.$clinit(); return ju_AbstractCollection;
        case "java.util.Collection": ju_Collection.$clinit(); return ju_Collection;
        case "java.lang.Iterable": jl_Iterable.$clinit(); return jl_Iterable;
        case "java.util.List": ju_List.$clinit(); return ju_List;
        case "java.util.Deque": ju_Deque.$clinit(); return ju_Deque;
        case "java.util.Queue": ju_Queue.$clinit(); return ju_Queue;
        case "org.teavm.jso.typedarrays.ArrayBuffer": otjt_ArrayBuffer.$clinit(); return otjt_ArrayBuffer;
        case "org.teavm.jso.typedarrays.Uint8Array": otjt_Uint8Array.$clinit(); return otjt_Uint8Array;
        case "org.teavm.jso.typedarrays.ArrayBufferView": otjt_ArrayBufferView.$clinit(); return otjt_ArrayBufferView;
        case "org.teavm.jso.typedarrays.Float32Array": otjt_Float32Array.$clinit(); return otjt_Float32Array;
        case "java.util.HashMap": ju_HashMap.$clinit(); return ju_HashMap;
        case "java.util.AbstractMap": ju_AbstractMap.$clinit(); return ju_AbstractMap;
        case "java.util.Map": ju_Map.$clinit(); return ju_Map;
        case "java.lang.Cloneable": jl_Cloneable.$clinit(); return jl_Cloneable;
        case "java.text.SimpleDateFormat": jt_SimpleDateFormat.$clinit(); return jt_SimpleDateFormat;
        case "java.text.DateFormat": jt_DateFormat.$clinit(); return jt_DateFormat;
        case "java.text.Format": jt_Format.$clinit(); return jt_Format;
        case "java.util.HashSet": ju_HashSet.$clinit(); return ju_HashSet;
        case "java.util.AbstractSet": ju_AbstractSet.$clinit(); return ju_AbstractSet;
        case "java.util.Set": ju_Set.$clinit(); return ju_Set;
        case "org.teavm.jso.typedarrays.Int32Array": otjt_Int32Array.$clinit(); return otjt_Int32Array;
        case "net.minecraft.src.GLAllocation": nms_GLAllocation.$clinit(); return nms_GLAllocation;
        case "net.lax1dude.eaglercraft.EaglerImage": nle_EaglerImage.$clinit(); return nle_EaglerImage;
        case "java.lang.Float": jl_Float.$clinit(); return jl_Float;
        case "org.teavm.platform.plugin.AsyncCallbackWrapper": otpp_AsyncCallbackWrapper.$clinit(); return otpp_AsyncCallbackWrapper;
        case "org.teavm.interop.AsyncCallback": oti_AsyncCallback.$clinit(); return oti_AsyncCallback;
        case "org.teavm.jso.ajax.XMLHttpRequest": otja_XMLHttpRequest.$clinit(); return otja_XMLHttpRequest;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$1": nlea_EaglerAdapterImpl2$1.$clinit(); return nlea_EaglerAdapterImpl2$1;
        case "org.teavm.jso.ajax.ReadyStateChangeHandler": otja_ReadyStateChangeHandler.$clinit(); return otja_ReadyStateChangeHandler;
        case "java.lang.Thread$SleepHandler": jl_Thread$SleepHandler.$clinit(); return jl_Thread$SleepHandler;
        case "org.teavm.platform.PlatformRunnable": otp_PlatformRunnable.$clinit(); return otp_PlatformRunnable;
        case "org.teavm.runtime.EventQueue$Event": otr_EventQueue$Event.$clinit(); return otr_EventQueue$Event;
        case "java.lang.ThreadInterruptHandler": jl_ThreadInterruptHandler.$clinit(); return jl_ThreadInterruptHandler;
        case "java.io.ByteArrayInputStream": ji_ByteArrayInputStream.$clinit(); return ji_ByteArrayInputStream;
        case "java.io.InputStream": ji_InputStream.$clinit(); return ji_InputStream;
        case "java.io.Closeable": ji_Closeable.$clinit(); return ji_Closeable;
        case "java.lang.AutoCloseable": jl_AutoCloseable.$clinit(); return jl_AutoCloseable;
        case "java.io.DataInputStream": ji_DataInputStream.$clinit(); return ji_DataInputStream;
        case "java.io.FilterInputStream": ji_FilterInputStream.$clinit(); return ji_FilterInputStream;
        case "java.io.DataInput": ji_DataInput.$clinit(); return ji_DataInput;
        case "java.nio.charset.Charset": jnc_Charset.$clinit(); return jnc_Charset;
        case "com.jcraft.jzlib.InflaterInputStream": cjj_InflaterInputStream.$clinit(); return cjj_InflaterInputStream;
        case "net.lax1dude.eaglercraft.SHA1Digest": nle_SHA1Digest.$clinit(); return nle_SHA1Digest;
        case "net.lax1dude.eaglercraft.GeneralDigest": nle_GeneralDigest.$clinit(); return nle_GeneralDigest;
        case "java.util.Arrays": ju_Arrays.$clinit(); return ju_Arrays;
        case "java.io.BufferedInputStream": ji_BufferedInputStream.$clinit(); return ji_BufferedInputStream;
        case "java.util.ArrayList": ju_ArrayList.$clinit(); return ju_ArrayList;
        case "java.util.RandomAccess": ju_RandomAccess.$clinit(); return ju_RandomAccess;
        case "net.minecraft.src.NBTTagList": nms_NBTTagList.$clinit(); return nms_NBTTagList;
        case "java.io.PrintStream": ji_PrintStream.$clinit(); return ji_PrintStream;
        case "java.io.FilterOutputStream": ji_FilterOutputStream.$clinit(); return ji_FilterOutputStream;
        case "java.io.OutputStream": ji_OutputStream.$clinit(); return ji_OutputStream;
        case "java.io.Flushable": ji_Flushable.$clinit(); return ji_Flushable;
        case "java.lang.ConsoleOutputStreamStdout": jl_ConsoleOutputStreamStdout.$clinit(); return jl_ConsoleOutputStreamStdout;
        case "net.minecraft.src.Timer": nms_Timer.$clinit(); return nms_Timer;
        case "net.minecraft.src.SoundManager": nms_SoundManager.$clinit(); return nms_SoundManager;
        case "net.minecraft.src.Profiler": nms_Profiler.$clinit(); return nms_Profiler;
        case "net.minecraft.src.Packet3Chat": nms_Packet3Chat.$clinit(); return nms_Packet3Chat;
        case "net.minecraft.src.Packet": nms_Packet.$clinit(); return nms_Packet;
        case "net.lax1dude.eaglercraft.EaglerProfile": nle_EaglerProfile.$clinit(); return nle_EaglerProfile;
        case "java.util.Locale": ju_Locale.$clinit(); return ju_Locale;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$TextureGL": nlea_EaglerAdapterImpl2$TextureGL.$clinit(); return nlea_EaglerAdapterImpl2$TextureGL;
        case "java.nio.IntBuffer": jn_IntBuffer.$clinit(); return jn_IntBuffer;
        case "java.nio.Buffer": jn_Buffer.$clinit(); return jn_Buffer;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$BufferGL": nlea_EaglerAdapterImpl2$BufferGL.$clinit(); return nlea_EaglerAdapterImpl2$BufferGL;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$ShaderGL": nlea_EaglerAdapterImpl2$ShaderGL.$clinit(); return nlea_EaglerAdapterImpl2$ShaderGL;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$ProgramGL": nlea_EaglerAdapterImpl2$ProgramGL.$clinit(); return nlea_EaglerAdapterImpl2$ProgramGL;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$UniformGL": nlea_EaglerAdapterImpl2$UniformGL.$clinit(); return nlea_EaglerAdapterImpl2$UniformGL;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$BufferArrayGL": nlea_EaglerAdapterImpl2$BufferArrayGL.$clinit(); return nlea_EaglerAdapterImpl2$BufferArrayGL;
        case "java.nio.charset.Charset$Charsets": jnc_Charset$Charsets.$clinit(); return jnc_Charset$Charsets;
        case "java.lang.IllegalArgumentException": jl_IllegalArgumentException.$clinit(); return jl_IllegalArgumentException;
        case "java.nio.charset.UnsupportedCharsetException": jnc_UnsupportedCharsetException.$clinit(); return jnc_UnsupportedCharsetException;
        case "java.util.regex.Pattern": jur_Pattern.$clinit(); return jur_Pattern;
        case "java.nio.charset.impl.UTF8Charset": jnci_UTF8Charset.$clinit(); return jnci_UTF8Charset;
        case "net.lax1dude.eaglercraft.EaglercraftRandom": nle_EaglercraftRandom.$clinit(); return nle_EaglercraftRandom;
        case "java.text.DateFormatSymbols": jt_DateFormatSymbols.$clinit(); return jt_DateFormatSymbols;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$13": nlea_EaglerAdapterImpl2$13.$clinit(); return nlea_EaglerAdapterImpl2$13;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$14": nlea_EaglerAdapterImpl2$14.$clinit(); return nlea_EaglerAdapterImpl2$14;
        case "java.nio.ByteBuffer": jn_ByteBuffer.$clinit(); return jn_ByteBuffer;
        case "java.nio.ByteOrder": jn_ByteOrder.$clinit(); return jn_ByteOrder;
        case "java.nio.charset.IllegalCharsetNameException": jnc_IllegalCharsetNameException.$clinit(); return jnc_IllegalCharsetNameException;
        case "com.jcraft.jzlib.Inflater": cjj_Inflater.$clinit(); return cjj_Inflater;
        case "com.jcraft.jzlib.ZStream": cjj_ZStream.$clinit(); return cjj_ZStream;
        case "net.minecraft.src.NBTTagEnd": nms_NBTTagEnd.$clinit(); return nms_NBTTagEnd;
        case "org.teavm.jso.browser.Performance": otjb_Performance.$clinit(); return otjb_Performance;
        case "net.lax1dude.eaglercraft.GuiScreenEditProfile": nle_GuiScreenEditProfile.$clinit(); return nle_GuiScreenEditProfile;
        case "net.minecraft.src.GuiScreen": nms_GuiScreen.$clinit(); return nms_GuiScreen;
        case "net.minecraft.src.Gui": nms_Gui.$clinit(); return nms_Gui;
        case "java.io.ByteArrayOutputStream": ji_ByteArrayOutputStream.$clinit(); return ji_ByteArrayOutputStream;
        case "java.io.DataOutputStream": ji_DataOutputStream.$clinit(); return ji_DataOutputStream;
        case "java.io.DataOutput": ji_DataOutput.$clinit(); return ji_DataOutput;
        case "org.teavm.classlib.impl.unicode.CLDRHelper": otciu_CLDRHelper.$clinit(); return otciu_CLDRHelper;
        case "org.teavm.platform.plugin.ResourceAccessor": otpp_ResourceAccessor.$clinit(); return otpp_ResourceAccessor;
        case "net.lax1dude.eaglercraft.glemu.GLObjectMap": nleg_GLObjectMap.$clinit(); return nleg_GLObjectMap;
        case "net.lax1dude.eaglercraft.glemu.vector.Matrix4f": nlegv_Matrix4f.$clinit(); return nlegv_Matrix4f;
        case "net.lax1dude.eaglercraft.glemu.vector.Matrix": nlegv_Matrix.$clinit(); return nlegv_Matrix;
        case "net.lax1dude.eaglercraft.glemu.vector.Vector3f": nlegv_Vector3f.$clinit(); return nlegv_Vector3f;
        case "net.lax1dude.eaglercraft.glemu.vector.Vector": nlegv_Vector.$clinit(); return nlegv_Vector;
        case "net.lax1dude.eaglercraft.glemu.vector.ReadableVector": nlegv_ReadableVector.$clinit(); return nlegv_ReadableVector;
        case "net.lax1dude.eaglercraft.glemu.vector.ReadableVector3f": nlegv_ReadableVector3f.$clinit(); return nlegv_ReadableVector3f;
        case "net.lax1dude.eaglercraft.glemu.vector.ReadableVector2f": nlegv_ReadableVector2f.$clinit(); return nlegv_ReadableVector2f;
        case "net.lax1dude.eaglercraft.glemu.vector.WritableVector3f": nlegv_WritableVector3f.$clinit(); return nlegv_WritableVector3f;
        case "net.lax1dude.eaglercraft.glemu.vector.WritableVector2f": nlegv_WritableVector2f.$clinit(); return nlegv_WritableVector2f;
        case "net.lax1dude.eaglercraft.glemu.vector.Vector4f": nlegv_Vector4f.$clinit(); return nlegv_Vector4f;
        case "net.lax1dude.eaglercraft.glemu.vector.ReadableVector4f": nlegv_ReadableVector4f.$clinit(); return nlegv_ReadableVector4f;
        case "net.lax1dude.eaglercraft.glemu.vector.WritableVector4f": nlegv_WritableVector4f.$clinit(); return nlegv_WritableVector4f;
        case "java.nio.ByteBufferImpl": jn_ByteBufferImpl.$clinit(); return jn_ByteBufferImpl;
        case "java.nio.IntBufferOverArray": jn_IntBufferOverArray.$clinit(); return jn_IntBufferOverArray;
        case "java.nio.IntBufferImpl": jn_IntBufferImpl.$clinit(); return jn_IntBufferImpl;
        case "net.minecraft.src.NBTTagByte": nms_NBTTagByte.$clinit(); return nms_NBTTagByte;
        case "net.minecraft.src.NBTTagShort": nms_NBTTagShort.$clinit(); return nms_NBTTagShort;
        case "net.minecraft.src.NBTTagInt": nms_NBTTagInt.$clinit(); return nms_NBTTagInt;
        case "net.minecraft.src.NBTTagLong": nms_NBTTagLong.$clinit(); return nms_NBTTagLong;
        case "net.minecraft.src.NBTTagFloat": nms_NBTTagFloat.$clinit(); return nms_NBTTagFloat;
        case "net.minecraft.src.NBTTagDouble": nms_NBTTagDouble.$clinit(); return nms_NBTTagDouble;
        case "net.minecraft.src.NBTTagByteArray": nms_NBTTagByteArray.$clinit(); return nms_NBTTagByteArray;
        case "net.minecraft.src.NBTTagString": nms_NBTTagString.$clinit(); return nms_NBTTagString;
        case "net.minecraft.src.NBTTagIntArray": nms_NBTTagIntArray.$clinit(); return nms_NBTTagIntArray;
        case "java.lang.NullPointerException": jl_NullPointerException.$clinit(); return jl_NullPointerException;
        case "java.util.regex.AbstractSet": jur_AbstractSet.$clinit(); return jur_AbstractSet;
        case "java.util.Calendar": ju_Calendar.$clinit(); return ju_Calendar;
        case "java.nio.CharBuffer": jn_CharBuffer.$clinit(); return jn_CharBuffer;
        case "java.lang.Readable": jl_Readable.$clinit(); return jl_Readable;
        case "com.jcraft.jzlib.GZIPException": cjj_GZIPException.$clinit(); return cjj_GZIPException;
        case "net.lax1dude.eaglercraft.BaseNCodec$CodecPolicy": nle_BaseNCodec$CodecPolicy.$clinit(); return nle_BaseNCodec$CodecPolicy;
        case "java.lang.Enum": jl_Enum.$clinit(); return jl_Enum;
        case "java.util.regex.FSet": jur_FSet.$clinit(); return jur_FSet;
        case "java.util.regex.Lexer": jur_Lexer.$clinit(); return jur_Lexer;
        case "java.util.regex.PatternSyntaxException": jur_PatternSyntaxException.$clinit(); return jur_PatternSyntaxException;
        case "java.lang.CloneNotSupportedException": jl_CloneNotSupportedException.$clinit(); return jl_CloneNotSupportedException;
        case "net.lax1dude.eaglercraft.TextureLocation": nle_TextureLocation.$clinit(); return nle_TextureLocation;
        case "java.util.GregorianCalendar": ju_GregorianCalendar.$clinit(); return ju_GregorianCalendar;
        case "com.jcraft.jzlib.Adler32": cjj_Adler32.$clinit(); return cjj_Adler32;
        case "com.jcraft.jzlib.Checksum": cjj_Checksum.$clinit(); return cjj_Checksum;
        case "java.util.regex.NonCapFSet": jur_NonCapFSet.$clinit(); return jur_NonCapFSet;
        case "java.util.regex.AheadFSet": jur_AheadFSet.$clinit(); return jur_AheadFSet;
        case "java.util.regex.BehindFSet": jur_BehindFSet.$clinit(); return jur_BehindFSet;
        case "java.util.regex.AtomicFSet": jur_AtomicFSet.$clinit(); return jur_AtomicFSet;
        case "java.util.regex.FinalSet": jur_FinalSet.$clinit(); return jur_FinalSet;
        case "java.util.regex.EmptySet": jur_EmptySet.$clinit(); return jur_EmptySet;
        case "java.util.regex.LeafSet": jur_LeafSet.$clinit(); return jur_LeafSet;
        case "java.util.regex.NonCapJointSet": jur_NonCapJointSet.$clinit(); return jur_NonCapJointSet;
        case "java.util.regex.JointSet": jur_JointSet.$clinit(); return jur_JointSet;
        case "java.util.regex.PositiveLookAhead": jur_PositiveLookAhead.$clinit(); return jur_PositiveLookAhead;
        case "java.util.regex.AtomicJointSet": jur_AtomicJointSet.$clinit(); return jur_AtomicJointSet;
        case "java.util.regex.NegativeLookAhead": jur_NegativeLookAhead.$clinit(); return jur_NegativeLookAhead;
        case "java.util.regex.PositiveLookBehind": jur_PositiveLookBehind.$clinit(); return jur_PositiveLookBehind;
        case "java.util.regex.NegativeLookBehind": jur_NegativeLookBehind.$clinit(); return jur_NegativeLookBehind;
        case "java.util.regex.SingleSet": jur_SingleSet.$clinit(); return jur_SingleSet;
        case "java.lang.IndexOutOfBoundsException": jl_IndexOutOfBoundsException.$clinit(); return jl_IndexOutOfBoundsException;
        case "java.lang.reflect.Array": jlr_Array.$clinit(); return jlr_Array;
        case "java.lang.ArrayStoreException": jl_ArrayStoreException.$clinit(); return jl_ArrayStoreException;
        case "java.util.regex.CharClass": jur_CharClass.$clinit(); return jur_CharClass;
        case "java.util.regex.AbstractCharClass": jur_AbstractCharClass.$clinit(); return jur_AbstractCharClass;
        case "java.util.regex.SpecialToken": jur_SpecialToken.$clinit(); return jur_SpecialToken;
        case "java.util.MissingResourceException": ju_MissingResourceException.$clinit(); return ju_MissingResourceException;
        case "java.util.regex.LeafQuantifierSet": jur_LeafQuantifierSet.$clinit(); return jur_LeafQuantifierSet;
        case "java.util.regex.QuantifierSet": jur_QuantifierSet.$clinit(); return jur_QuantifierSet;
        case "java.util.regex.CompositeQuantifierSet": jur_CompositeQuantifierSet.$clinit(); return jur_CompositeQuantifierSet;
        case "java.util.regex.GroupQuantifierSet": jur_GroupQuantifierSet.$clinit(); return jur_GroupQuantifierSet;
        case "java.util.regex.AltQuantifierSet": jur_AltQuantifierSet.$clinit(); return jur_AltQuantifierSet;
        case "java.util.regex.UnifiedQuantifierSet": jur_UnifiedQuantifierSet.$clinit(); return jur_UnifiedQuantifierSet;
        case "java.util.TimeZone": ju_TimeZone.$clinit(); return ju_TimeZone;
        case "java.lang.NumberFormatException": jl_NumberFormatException.$clinit(); return jl_NumberFormatException;
        case "java.util.regex.Quantifier": jur_Quantifier.$clinit(); return jur_Quantifier;
        case "java.util.regex.FSet$PossessiveFSet": jur_FSet$PossessiveFSet.$clinit(); return jur_FSet$PossessiveFSet;
        case "java.util.BitSet": ju_BitSet.$clinit(); return ju_BitSet;
        case "java.util.regex.LowHighSurrogateRangeSet": jur_LowHighSurrogateRangeSet.$clinit(); return jur_LowHighSurrogateRangeSet;
        case "java.util.regex.CompositeRangeSet": jur_CompositeRangeSet.$clinit(); return jur_CompositeRangeSet;
        case "java.util.regex.UCISupplRangeSet": jur_UCISupplRangeSet.$clinit(); return jur_UCISupplRangeSet;
        case "java.util.regex.SupplRangeSet": jur_SupplRangeSet.$clinit(); return jur_SupplRangeSet;
        case "java.util.regex.UCIRangeSet": jur_UCIRangeSet.$clinit(); return jur_UCIRangeSet;
        case "java.util.regex.RangeSet": jur_RangeSet.$clinit(); return jur_RangeSet;
        case "java.util.regex.HangulDecomposedCharSet": jur_HangulDecomposedCharSet.$clinit(); return jur_HangulDecomposedCharSet;
        case "java.util.regex.CharSet": jur_CharSet.$clinit(); return jur_CharSet;
        case "java.util.regex.UCICharSet": jur_UCICharSet.$clinit(); return jur_UCICharSet;
        case "java.util.regex.CICharSet": jur_CICharSet.$clinit(); return jur_CICharSet;
        case "java.util.regex.DecomposedCharSet": jur_DecomposedCharSet.$clinit(); return jur_DecomposedCharSet;
        case "java.util.regex.UCIDecomposedCharSet": jur_UCIDecomposedCharSet.$clinit(); return jur_UCIDecomposedCharSet;
        case "java.util.regex.CIDecomposedCharSet": jur_CIDecomposedCharSet.$clinit(); return jur_CIDecomposedCharSet;
        case "java.util.regex.PossessiveGroupQuantifierSet": jur_PossessiveGroupQuantifierSet.$clinit(); return jur_PossessiveGroupQuantifierSet;
        case "java.util.regex.PosPlusGroupQuantifierSet": jur_PosPlusGroupQuantifierSet.$clinit(); return jur_PosPlusGroupQuantifierSet;
        case "java.util.regex.PosAltGroupQuantifierSet": jur_PosAltGroupQuantifierSet.$clinit(); return jur_PosAltGroupQuantifierSet;
        case "java.util.regex.AltGroupQuantifierSet": jur_AltGroupQuantifierSet.$clinit(); return jur_AltGroupQuantifierSet;
        case "java.util.regex.PosCompositeGroupQuantifierSet": jur_PosCompositeGroupQuantifierSet.$clinit(); return jur_PosCompositeGroupQuantifierSet;
        case "java.util.regex.CompositeGroupQuantifierSet": jur_CompositeGroupQuantifierSet.$clinit(); return jur_CompositeGroupQuantifierSet;
        case "java.util.regex.ReluctantGroupQuantifierSet": jur_ReluctantGroupQuantifierSet.$clinit(); return jur_ReluctantGroupQuantifierSet;
        case "java.util.regex.RelAltGroupQuantifierSet": jur_RelAltGroupQuantifierSet.$clinit(); return jur_RelAltGroupQuantifierSet;
        case "java.util.regex.RelCompositeGroupQuantifierSet": jur_RelCompositeGroupQuantifierSet.$clinit(); return jur_RelCompositeGroupQuantifierSet;
        case "java.util.regex.DotAllQuantifierSet": jur_DotAllQuantifierSet.$clinit(); return jur_DotAllQuantifierSet;
        case "java.util.regex.DotQuantifierSet": jur_DotQuantifierSet.$clinit(); return jur_DotQuantifierSet;
        case "java.util.regex.AbstractLineTerminator": jur_AbstractLineTerminator.$clinit(); return jur_AbstractLineTerminator;
        case "java.util.regex.PossessiveQuantifierSet": jur_PossessiveQuantifierSet.$clinit(); return jur_PossessiveQuantifierSet;
        case "java.util.regex.PossessiveAltQuantifierSet": jur_PossessiveAltQuantifierSet.$clinit(); return jur_PossessiveAltQuantifierSet;
        case "java.util.regex.PossessiveCompositeQuantifierSet": jur_PossessiveCompositeQuantifierSet.$clinit(); return jur_PossessiveCompositeQuantifierSet;
        case "java.util.regex.ReluctantQuantifierSet": jur_ReluctantQuantifierSet.$clinit(); return jur_ReluctantQuantifierSet;
        case "java.util.regex.ReluctantAltQuantifierSet": jur_ReluctantAltQuantifierSet.$clinit(); return jur_ReluctantAltQuantifierSet;
        case "java.util.regex.ReluctantCompositeQuantifierSet": jur_ReluctantCompositeQuantifierSet.$clinit(); return jur_ReluctantCompositeQuantifierSet;
        case "java.util.regex.SOLSet": jur_SOLSet.$clinit(); return jur_SOLSet;
        case "java.util.regex.WordBoundary": jur_WordBoundary.$clinit(); return jur_WordBoundary;
        case "java.util.regex.PreviousMatch": jur_PreviousMatch.$clinit(); return jur_PreviousMatch;
        case "java.util.regex.EOLSet": jur_EOLSet.$clinit(); return jur_EOLSet;
        case "java.util.regex.EOISet": jur_EOISet.$clinit(); return jur_EOISet;
        case "java.util.regex.MultiLineSOLSet": jur_MultiLineSOLSet.$clinit(); return jur_MultiLineSOLSet;
        case "java.util.regex.DotAllSet": jur_DotAllSet.$clinit(); return jur_DotAllSet;
        case "java.util.regex.DotSet": jur_DotSet.$clinit(); return jur_DotSet;
        case "java.util.regex.UEOLSet": jur_UEOLSet.$clinit(); return jur_UEOLSet;
        case "java.util.regex.UMultiLineEOLSet": jur_UMultiLineEOLSet.$clinit(); return jur_UMultiLineEOLSet;
        case "java.util.regex.MultiLineEOLSet": jur_MultiLineEOLSet.$clinit(); return jur_MultiLineEOLSet;
        case "java.util.regex.BackReferenceSet": jur_BackReferenceSet.$clinit(); return jur_BackReferenceSet;
        case "java.util.regex.CIBackReferenceSet": jur_CIBackReferenceSet.$clinit(); return jur_CIBackReferenceSet;
        case "java.util.regex.UCIBackReferenceSet": jur_UCIBackReferenceSet.$clinit(); return jur_UCIBackReferenceSet;
        case "java.lang.StringBuffer": jl_StringBuffer.$clinit(); return jl_StringBuffer;
        case "java.util.regex.SequenceSet": jur_SequenceSet.$clinit(); return jur_SequenceSet;
        case "java.util.regex.UCISequenceSet": jur_UCISequenceSet.$clinit(); return jur_UCISequenceSet;
        case "java.util.regex.CISequenceSet": jur_CISequenceSet.$clinit(); return jur_CISequenceSet;
        case "org.teavm.classlib.impl.tz.DateTimeZoneProvider": otcit_DateTimeZoneProvider.$clinit(); return otcit_DateTimeZoneProvider;
        case "java.util.IANATimeZone": ju_IANATimeZone.$clinit(); return ju_IANATimeZone;
        case "java.util.regex.AbstractCharClass$PredefinedCharacterClasses": jur_AbstractCharClass$PredefinedCharacterClasses.$clinit(); return jur_AbstractCharClass$PredefinedCharacterClasses;
        case "java.util.regex.AbstractCharClass$LazyCharClass": jur_AbstractCharClass$LazyCharClass.$clinit(); return jur_AbstractCharClass$LazyCharClass;
        case "java.util.regex.UCISupplCharSet": jur_UCISupplCharSet.$clinit(); return jur_UCISupplCharSet;
        case "java.util.regex.LowSurrogateCharSet": jur_LowSurrogateCharSet.$clinit(); return jur_LowSurrogateCharSet;
        case "java.util.regex.HighSurrogateCharSet": jur_HighSurrogateCharSet.$clinit(); return jur_HighSurrogateCharSet;
        case "java.util.regex.SupplCharSet": jur_SupplCharSet.$clinit(); return jur_SupplCharSet;
        case "java.util.regex.AbstractLineTerminator$1": jur_AbstractLineTerminator$1.$clinit(); return jur_AbstractLineTerminator$1;
        case "java.util.regex.AbstractLineTerminator$2": jur_AbstractLineTerminator$2.$clinit(); return jur_AbstractLineTerminator$2;
        case "java.util.regex.SequenceSet$IntHash": jur_SequenceSet$IntHash.$clinit(); return jur_SequenceSet$IntHash;
        case "org.teavm.classlib.impl.tz.FixedDateTimeZone": otcit_FixedDateTimeZone.$clinit(); return otcit_FixedDateTimeZone;
        case "org.teavm.classlib.impl.tz.StorableDateTimeZone": otcit_StorableDateTimeZone.$clinit(); return otcit_StorableDateTimeZone;
        case "org.teavm.classlib.impl.tz.DateTimeZone": otcit_DateTimeZone.$clinit(); return otcit_DateTimeZone;
        case "java.util.PriorityQueue": ju_PriorityQueue.$clinit(); return ju_PriorityQueue;
        case "java.util.AbstractQueue": ju_AbstractQueue.$clinit(); return ju_AbstractQueue;
        case "org.teavm.classlib.impl.tz.DateTimeZoneProvider$1": otcit_DateTimeZoneProvider$1.$clinit(); return otcit_DateTimeZoneProvider$1;
        case "java.lang.Long": jl_Long.$clinit(); return jl_Long;
        case "org.teavm.classlib.impl.tz.AliasDateTimeZone": otcit_AliasDateTimeZone.$clinit(); return otcit_AliasDateTimeZone;
        case "java.lang.Math": jl_Math.$clinit(); return jl_Math;
        case "org.teavm.classlib.impl.tz.DateTimeZoneProvider$Score": otcit_DateTimeZoneProvider$Score.$clinit(); return otcit_DateTimeZoneProvider$Score;
        case "org.teavm.classlib.impl.tz.DateTimeZoneProvider$detectTimezone$lambda$_5_0": otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0.$clinit(); return otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0;
        case "java.util.function.Function": juf_Function.$clinit(); return juf_Function;
        case "java.util.regex.IntHash": jur_IntHash.$clinit(); return jur_IntHash;
        case "java.util.regex.AbstractCharClass$LazySpace": jur_AbstractCharClass$LazySpace.$clinit(); return jur_AbstractCharClass$LazySpace;
        case "java.util.regex.AbstractCharClass$LazyDigit": jur_AbstractCharClass$LazyDigit.$clinit(); return jur_AbstractCharClass$LazyDigit;
        case "java.util.regex.AbstractCharClass$LazyLower": jur_AbstractCharClass$LazyLower.$clinit(); return jur_AbstractCharClass$LazyLower;
        case "java.util.regex.AbstractCharClass$LazyUpper": jur_AbstractCharClass$LazyUpper.$clinit(); return jur_AbstractCharClass$LazyUpper;
        case "java.util.regex.AbstractCharClass$LazyASCII": jur_AbstractCharClass$LazyASCII.$clinit(); return jur_AbstractCharClass$LazyASCII;
        case "java.util.regex.AbstractCharClass$LazyAlpha": jur_AbstractCharClass$LazyAlpha.$clinit(); return jur_AbstractCharClass$LazyAlpha;
        case "java.util.regex.AbstractCharClass$LazyAlnum": jur_AbstractCharClass$LazyAlnum.$clinit(); return jur_AbstractCharClass$LazyAlnum;
        case "java.util.regex.AbstractCharClass$LazyPunct": jur_AbstractCharClass$LazyPunct.$clinit(); return jur_AbstractCharClass$LazyPunct;
        case "java.util.regex.AbstractCharClass$LazyGraph": jur_AbstractCharClass$LazyGraph.$clinit(); return jur_AbstractCharClass$LazyGraph;
        case "java.util.regex.AbstractCharClass$LazyPrint": jur_AbstractCharClass$LazyPrint.$clinit(); return jur_AbstractCharClass$LazyPrint;
        case "java.util.regex.AbstractCharClass$LazyBlank": jur_AbstractCharClass$LazyBlank.$clinit(); return jur_AbstractCharClass$LazyBlank;
        case "java.util.regex.AbstractCharClass$LazyCntrl": jur_AbstractCharClass$LazyCntrl.$clinit(); return jur_AbstractCharClass$LazyCntrl;
        case "java.util.regex.AbstractCharClass$LazyXDigit": jur_AbstractCharClass$LazyXDigit.$clinit(); return jur_AbstractCharClass$LazyXDigit;
        case "java.util.regex.AbstractCharClass$LazyJavaLowerCase": jur_AbstractCharClass$LazyJavaLowerCase.$clinit(); return jur_AbstractCharClass$LazyJavaLowerCase;
        case "java.util.regex.AbstractCharClass$LazyJavaUpperCase": jur_AbstractCharClass$LazyJavaUpperCase.$clinit(); return jur_AbstractCharClass$LazyJavaUpperCase;
        case "java.util.regex.AbstractCharClass$LazyJavaWhitespace": jur_AbstractCharClass$LazyJavaWhitespace.$clinit(); return jur_AbstractCharClass$LazyJavaWhitespace;
        case "java.util.regex.AbstractCharClass$LazyJavaMirrored": jur_AbstractCharClass$LazyJavaMirrored.$clinit(); return jur_AbstractCharClass$LazyJavaMirrored;
        case "java.util.regex.AbstractCharClass$LazyJavaDefined": jur_AbstractCharClass$LazyJavaDefined.$clinit(); return jur_AbstractCharClass$LazyJavaDefined;
        case "java.util.regex.AbstractCharClass$LazyJavaDigit": jur_AbstractCharClass$LazyJavaDigit.$clinit(); return jur_AbstractCharClass$LazyJavaDigit;
        case "java.util.regex.AbstractCharClass$LazyJavaIdentifierIgnorable": jur_AbstractCharClass$LazyJavaIdentifierIgnorable.$clinit(); return jur_AbstractCharClass$LazyJavaIdentifierIgnorable;
        case "java.util.regex.AbstractCharClass$LazyJavaISOControl": jur_AbstractCharClass$LazyJavaISOControl.$clinit(); return jur_AbstractCharClass$LazyJavaISOControl;
        case "java.util.regex.AbstractCharClass$LazyJavaJavaIdentifierPart": jur_AbstractCharClass$LazyJavaJavaIdentifierPart.$clinit(); return jur_AbstractCharClass$LazyJavaJavaIdentifierPart;
        case "java.util.regex.AbstractCharClass$LazyJavaJavaIdentifierStart": jur_AbstractCharClass$LazyJavaJavaIdentifierStart.$clinit(); return jur_AbstractCharClass$LazyJavaJavaIdentifierStart;
        case "java.util.regex.AbstractCharClass$LazyJavaLetter": jur_AbstractCharClass$LazyJavaLetter.$clinit(); return jur_AbstractCharClass$LazyJavaLetter;
        case "java.util.regex.AbstractCharClass$LazyJavaLetterOrDigit": jur_AbstractCharClass$LazyJavaLetterOrDigit.$clinit(); return jur_AbstractCharClass$LazyJavaLetterOrDigit;
        case "java.util.regex.AbstractCharClass$LazyJavaSpaceChar": jur_AbstractCharClass$LazyJavaSpaceChar.$clinit(); return jur_AbstractCharClass$LazyJavaSpaceChar;
        case "java.util.regex.AbstractCharClass$LazyJavaTitleCase": jur_AbstractCharClass$LazyJavaTitleCase.$clinit(); return jur_AbstractCharClass$LazyJavaTitleCase;
        case "java.util.regex.AbstractCharClass$LazyJavaUnicodeIdentifierPart": jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart.$clinit(); return jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart;
        case "java.util.regex.AbstractCharClass$LazyJavaUnicodeIdentifierStart": jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart.$clinit(); return jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart;
        case "java.util.regex.AbstractCharClass$LazyWord": jur_AbstractCharClass$LazyWord.$clinit(); return jur_AbstractCharClass$LazyWord;
        case "java.util.regex.AbstractCharClass$LazyNonWord": jur_AbstractCharClass$LazyNonWord.$clinit(); return jur_AbstractCharClass$LazyNonWord;
        case "java.util.regex.AbstractCharClass$LazyNonSpace": jur_AbstractCharClass$LazyNonSpace.$clinit(); return jur_AbstractCharClass$LazyNonSpace;
        case "java.util.regex.AbstractCharClass$LazyNonDigit": jur_AbstractCharClass$LazyNonDigit.$clinit(); return jur_AbstractCharClass$LazyNonDigit;
        case "java.util.regex.AbstractCharClass$LazyRange": jur_AbstractCharClass$LazyRange.$clinit(); return jur_AbstractCharClass$LazyRange;
        case "java.util.regex.AbstractCharClass$LazySpecialsBlock": jur_AbstractCharClass$LazySpecialsBlock.$clinit(); return jur_AbstractCharClass$LazySpecialsBlock;
        case "java.util.regex.AbstractCharClass$LazyCategory": jur_AbstractCharClass$LazyCategory.$clinit(); return jur_AbstractCharClass$LazyCategory;
        case "java.util.regex.AbstractCharClass$LazyCategoryScope": jur_AbstractCharClass$LazyCategoryScope.$clinit(); return jur_AbstractCharClass$LazyCategoryScope;
        case "java.util.PriorityQueue$1": ju_PriorityQueue$1.$clinit(); return ju_PriorityQueue$1;
        case "org.teavm.classlib.impl.CharFlow": otci_CharFlow.$clinit(); return otci_CharFlow;
        case "org.teavm.classlib.impl.Base46": otci_Base46.$clinit(); return otci_Base46;
        case "org.teavm.classlib.impl.unicode.UnicodeHelper": otciu_UnicodeHelper.$clinit(); return otciu_UnicodeHelper;
        case "org.teavm.classlib.impl.tz.DateTimeZoneBuilder$PrecalculatedZone": otcit_DateTimeZoneBuilder$PrecalculatedZone.$clinit(); return otcit_DateTimeZoneBuilder$PrecalculatedZone;
        case "org.teavm.classlib.impl.tz.DateTimeZoneBuilder$DSTZone": otcit_DateTimeZoneBuilder$DSTZone.$clinit(); return otcit_DateTimeZoneBuilder$DSTZone;
        case "org.teavm.classlib.impl.unicode.UnicodeHelper$Range": otciu_UnicodeHelper$Range.$clinit(); return otciu_UnicodeHelper$Range;
        case "org.teavm.classlib.impl.tz.CachedDateTimeZone": otcit_CachedDateTimeZone.$clinit(); return otcit_CachedDateTimeZone;
        case "org.teavm.classlib.impl.tz.DateTimeZoneBuilder$Recurrence": otcit_DateTimeZoneBuilder$Recurrence.$clinit(); return otcit_DateTimeZoneBuilder$Recurrence;
        case "org.teavm.classlib.impl.tz.DateTimeZoneBuilder$OfYear": otcit_DateTimeZoneBuilder$OfYear.$clinit(); return otcit_DateTimeZoneBuilder$OfYear;
        case "org.teavm.classlib.impl.tz.CachedDateTimeZone$Info": otcit_CachedDateTimeZone$Info.$clinit(); return otcit_CachedDateTimeZone$Info;
        case "java.lang.NegativeArraySizeException": jl_NegativeArraySizeException.$clinit(); return jl_NegativeArraySizeException;
        case "java.nio.ReadOnlyBufferException": jn_ReadOnlyBufferException.$clinit(); return jn_ReadOnlyBufferException;
        case "java.lang.UnsupportedOperationException": jl_UnsupportedOperationException.$clinit(); return jl_UnsupportedOperationException;
        case "java.nio.BufferOverflowException": jn_BufferOverflowException.$clinit(); return jn_BufferOverflowException;
        case "java.nio.BufferUnderflowException": jn_BufferUnderflowException.$clinit(); return jn_BufferUnderflowException;
        case "java.util.HashMap$HashEntry": ju_HashMap$HashEntry.$clinit(); return ju_HashMap$HashEntry;
        case "java.util.MapEntry": ju_MapEntry.$clinit(); return ju_MapEntry;
        case "java.util.Map$Entry": ju_Map$Entry.$clinit(); return ju_Map$Entry;
        case "java.lang.StringIndexOutOfBoundsException": jl_StringIndexOutOfBoundsException.$clinit(); return jl_StringIndexOutOfBoundsException;
        case "java.io.EOFException": ji_EOFException.$clinit(); return ji_EOFException;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$BufferedVideo": nlea_EaglerAdapterImpl2$BufferedVideo.$clinit(); return nlea_EaglerAdapterImpl2$BufferedVideo;
        case "com.jcraft.jzlib.Inflate": cjj_Inflate.$clinit(); return cjj_Inflate;
        case "java.util.regex.AbstractCharClass$1": jur_AbstractCharClass$1.$clinit(); return jur_AbstractCharClass$1;
        case "java.util.regex.AbstractCharClass$2": jur_AbstractCharClass$2.$clinit(); return jur_AbstractCharClass$2;
        case "java.util.regex.CharClass$18": jur_CharClass$18.$clinit(); return jur_CharClass$18;
        case "java.lang.IllegalStateException": jl_IllegalStateException.$clinit(); return jl_IllegalStateException;
        case "java.util.NoSuchElementException": ju_NoSuchElementException.$clinit(); return ju_NoSuchElementException;
        case "java.util.regex.CharClass$1": jur_CharClass$1.$clinit(); return jur_CharClass$1;
        case "java.util.regex.CharClass$3": jur_CharClass$3.$clinit(); return jur_CharClass$3;
        case "java.util.regex.CharClass$2": jur_CharClass$2.$clinit(); return jur_CharClass$2;
        case "java.util.regex.CharClass$5": jur_CharClass$5.$clinit(); return jur_CharClass$5;
        case "java.util.regex.CharClass$4": jur_CharClass$4.$clinit(); return jur_CharClass$4;
        case "java.util.regex.CharClass$7": jur_CharClass$7.$clinit(); return jur_CharClass$7;
        case "java.util.regex.CharClass$6": jur_CharClass$6.$clinit(); return jur_CharClass$6;
        case "java.util.regex.CharClass$9": jur_CharClass$9.$clinit(); return jur_CharClass$9;
        case "java.util.regex.CharClass$8": jur_CharClass$8.$clinit(); return jur_CharClass$8;
        case "java.util.regex.CharClass$11": jur_CharClass$11.$clinit(); return jur_CharClass$11;
        case "java.util.regex.CharClass$10": jur_CharClass$10.$clinit(); return jur_CharClass$10;
        case "java.util.regex.CharClass$13": jur_CharClass$13.$clinit(); return jur_CharClass$13;
        case "java.util.regex.CharClass$12": jur_CharClass$12.$clinit(); return jur_CharClass$12;
        case "java.util.regex.CharClass$15": jur_CharClass$15.$clinit(); return jur_CharClass$15;
        case "java.util.regex.CharClass$14": jur_CharClass$14.$clinit(); return jur_CharClass$14;
        case "java.util.regex.CharClass$17": jur_CharClass$17.$clinit(); return jur_CharClass$17;
        case "java.util.regex.CharClass$16": jur_CharClass$16.$clinit(); return jur_CharClass$16;
        case "java.util.AbstractList$1": ju_AbstractList$1.$clinit(); return ju_AbstractList$1;
        case "java.util.Iterator": ju_Iterator.$clinit(); return ju_Iterator;
        case "java.lang.ConsoleOutputStreamStderr": jl_ConsoleOutputStreamStderr.$clinit(); return jl_ConsoleOutputStreamStderr;
        case "net.minecraft.src.AxisAlignedBB": nms_AxisAlignedBB.$clinit(); return nms_AxisAlignedBB;
        case "net.minecraft.src.GameSettings": nms_GameSettings.$clinit(); return nms_GameSettings;
        case "net.minecraft.src.RenderBlocks": nms_RenderBlocks.$clinit(); return nms_RenderBlocks;
        case "net.minecraft.src.EntityRenderer": nms_EntityRenderer.$clinit(); return nms_EntityRenderer;
        case "java.text.SimpleDatePatternParser": jt_SimpleDatePatternParser.$clinit(); return jt_SimpleDatePatternParser;
        case "java.text.DateFormatElement": jt_DateFormatElement.$clinit(); return jt_DateFormatElement;
        case "java.nio.charset.CodingErrorAction": jnc_CodingErrorAction.$clinit(); return jnc_CodingErrorAction;
        case "net.minecraft.src.AABBPool": nms_AABBPool.$clinit(); return nms_AABBPool;
        case "net.minecraft.src.RenderEngine": nms_RenderEngine.$clinit(); return nms_RenderEngine;
        case "net.minecraft.src.World": nms_World.$clinit(); return nms_World;
        case "net.minecraft.src.IBlockAccess": nms_IBlockAccess.$clinit(); return nms_IBlockAccess;
        case "net.minecraft.src.Vec3Pool": nms_Vec3Pool.$clinit(); return nms_Vec3Pool;
        case "net.minecraft.src.EntityPlayer": nms_EntityPlayer.$clinit(); return nms_EntityPlayer;
        case "net.minecraft.src.EntityLiving": nms_EntityLiving.$clinit(); return nms_EntityLiving;
        case "net.minecraft.src.Entity": nms_Entity.$clinit(); return nms_Entity;
        case "net.minecraft.src.ICommandSender": nms_ICommandSender.$clinit(); return nms_ICommandSender;
        case "net.lax1dude.eaglercraft.adapter.Tessellator": nlea_Tessellator.$clinit(); return nlea_Tessellator;
        case "java.text.DecimalFormat": jt_DecimalFormat.$clinit(); return jt_DecimalFormat;
        case "java.text.NumberFormat": jt_NumberFormat.$clinit(); return jt_NumberFormat;
        case "net.minecraft.src.ProfilerResult": nms_ProfilerResult.$clinit(); return nms_ProfilerResult;
        case "net.minecraft.src.MathHelper": nms_MathHelper.$clinit(); return nms_MathHelper;
        case "net.minecraft.src.GuiAchievement": nms_GuiAchievement.$clinit(); return nms_GuiAchievement;
        case "net.minecraft.src.ScaledResolution": nms_ScaledResolution.$clinit(); return nms_ScaledResolution;
        case "net.minecraft.src.GuiMainMenu": nms_GuiMainMenu.$clinit(); return nms_GuiMainMenu;
        case "java.util.Date": ju_Date.$clinit(); return ju_Date;
        case "java.nio.CharBufferOverArray": jn_CharBufferOverArray.$clinit(); return jn_CharBufferOverArray;
        case "java.nio.CharBufferImpl": jn_CharBufferImpl.$clinit(); return jn_CharBufferImpl;
        case "java.nio.charset.CharsetEncoder": jnc_CharsetEncoder.$clinit(); return jnc_CharsetEncoder;
        case "java.nio.charset.CoderResult": jnc_CoderResult.$clinit(); return jnc_CoderResult;
        case "net.minecraft.src.AABBLocalPool": nms_AABBLocalPool.$clinit(); return nms_AABBLocalPool;
        case "java.lang.ThreadLocal": jl_ThreadLocal.$clinit(); return jl_ThreadLocal;
        case "java.text.DecimalFormatSymbols": jt_DecimalFormatSymbols.$clinit(); return jt_DecimalFormatSymbols;
        case "net.minecraft.src.FontRenderer": nms_FontRenderer.$clinit(); return nms_FontRenderer;
        case "java.text.DecimalFormat$FormatField": jt_DecimalFormat$FormatField.$clinit(); return jt_DecimalFormat$FormatField;
        case "java.text.DecimalFormat$TextField": jt_DecimalFormat$TextField.$clinit(); return jt_DecimalFormat$TextField;
        case "java.math.RoundingMode": jm_RoundingMode.$clinit(); return jm_RoundingMode;
        case "java.util.Currency": ju_Currency.$clinit(); return ju_Currency;
        case "net.minecraft.src.EnumOS": nms_EnumOS.$clinit(); return nms_EnumOS;
        case "org.teavm.classlib.impl.currency.CurrencyHelper": otcic_CurrencyHelper.$clinit(); return otcic_CurrencyHelper;
        case "java.nio.IntBufferOverByteBufferLittleEndian": jn_IntBufferOverByteBufferLittleEndian.$clinit(); return jn_IntBufferOverByteBufferLittleEndian;
        case "java.nio.IntBufferOverByteBuffer": jn_IntBufferOverByteBuffer.$clinit(); return jn_IntBufferOverByteBuffer;
        case "java.nio.IntBufferOverByteBufferBigEndian": jn_IntBufferOverByteBufferBigEndian.$clinit(); return jn_IntBufferOverByteBufferBigEndian;
        case "java.util.regex.BackReferencedSingleSet": jur_BackReferencedSingleSet.$clinit(); return jur_BackReferencedSingleSet;
        case "java.util.HashMap$2": ju_HashMap$2.$clinit(); return ju_HashMap$2;
        case "java.lang.Double": jl_Double.$clinit(); return jl_Double;
        case "net.lax1dude.eaglercraft.BaseNCodec$Context": nle_BaseNCodec$Context.$clinit(); return nle_BaseNCodec$Context;
        case "net.minecraft.src.OpenGlHelper": nms_OpenGlHelper.$clinit(); return nms_OpenGlHelper;
        case "net.minecraft.src.TextureManager": nms_TextureManager.$clinit(); return nms_TextureManager;
        case "net.minecraft.src.TexturePackList": nms_TexturePackList.$clinit(); return nms_TexturePackList;
        case "net.minecraft.src.ChatAllowedCharacters": nms_ChatAllowedCharacters.$clinit(); return nms_ChatAllowedCharacters;
        case "net.minecraft.src.ColorizerGrass": nms_ColorizerGrass.$clinit(); return nms_ColorizerGrass;
        case "net.minecraft.src.ColorizerFoliage": nms_ColorizerFoliage.$clinit(); return nms_ColorizerFoliage;
        case "net.minecraft.src.RenderManager": nms_RenderManager.$clinit(); return nms_RenderManager;
        case "net.minecraft.src.ItemRenderer": nms_ItemRenderer.$clinit(); return nms_ItemRenderer;
        case "net.minecraft.src.AchievementList": nms_AchievementList.$clinit(); return nms_AchievementList;
        case "net.minecraft.src.StatStringFormatKeyInv": nms_StatStringFormatKeyInv.$clinit(); return nms_StatStringFormatKeyInv;
        case "net.minecraft.src.IStatStringFormat": nms_IStatStringFormat.$clinit(); return nms_IStatStringFormat;
        case "net.minecraft.src.MouseHelper": nms_MouseHelper.$clinit(); return nms_MouseHelper;
        case "net.minecraft.src.RenderGlobal": nms_RenderGlobal.$clinit(); return nms_RenderGlobal;
        case "net.minecraft.src.IWorldAccess": nms_IWorldAccess.$clinit(); return nms_IWorldAccess;
        case "net.minecraft.src.EffectRenderer": nms_EffectRenderer.$clinit(); return nms_EffectRenderer;
        case "net.lax1dude.eaglercraft.glemu.EffectPipeline": nleg_EffectPipeline.$clinit(); return nleg_EffectPipeline;
        case "net.minecraft.src.GuiIngame": nms_GuiIngame.$clinit(); return nms_GuiIngame;
        case "net.minecraft.src.StringTranslate": nms_StringTranslate.$clinit(); return nms_StringTranslate;
        case "net.minecraft.src.GuiConnecting": nms_GuiConnecting.$clinit(); return nms_GuiConnecting;
        case "net.minecraft.src.LoadingScreenRenderer": nms_LoadingScreenRenderer.$clinit(); return nms_LoadingScreenRenderer;
        case "net.minecraft.src.IProgressUpdate": nms_IProgressUpdate.$clinit(); return nms_IProgressUpdate;
        case "net.lax1dude.eaglercraft.GuiScreenLicense": nle_GuiScreenLicense.$clinit(); return nle_GuiScreenLicense;
        case "com.jcraft.jzlib.InfBlocks": cjj_InfBlocks.$clinit(); return cjj_InfBlocks;
        case "net.lax1dude.eaglercraft.DefaultSkinRenderer": nle_DefaultSkinRenderer.$clinit(); return nle_DefaultSkinRenderer;
        case "net.minecraft.src.GuiMultiplayer": nms_GuiMultiplayer.$clinit(); return nms_GuiMultiplayer;
        case "net.lax1dude.eaglercraft.GuiScreenVoiceChannel": nle_GuiScreenVoiceChannel.$clinit(); return nle_GuiScreenVoiceChannel;
        case "me.ayunami2000.ayuncraft.NoteblockPlayer": maa_NoteblockPlayer.$clinit(); return maa_NoteblockPlayer;
        case "net.minecraft.src.KeyBinding": nms_KeyBinding.$clinit(); return nms_KeyBinding;
        case "net.minecraft.src.EntityClientPlayerMP": nms_EntityClientPlayerMP.$clinit(); return nms_EntityClientPlayerMP;
        case "net.minecraft.src.EntityPlayerSP": nms_EntityPlayerSP.$clinit(); return nms_EntityPlayerSP;
        case "net.minecraft.src.InventoryPlayer": nms_InventoryPlayer.$clinit(); return nms_InventoryPlayer;
        case "net.minecraft.src.IInventory": nms_IInventory.$clinit(); return nms_IInventory;
        case "net.lax1dude.eaglercraft.glemu.FixedFunctionShader": nleg_FixedFunctionShader.$clinit(); return nleg_FixedFunctionShader;
        case "net.minecraft.src.EnumOptions": nms_EnumOptions.$clinit(); return nms_EnumOptions;
        case "net.minecraft.src.GuiInventory": nms_GuiInventory.$clinit(); return nms_GuiInventory;
        case "net.minecraft.src.InventoryEffectRenderer": nms_InventoryEffectRenderer.$clinit(); return nms_InventoryEffectRenderer;
        case "net.minecraft.src.GuiContainer": nms_GuiContainer.$clinit(); return nms_GuiContainer;
        case "net.minecraft.src.GuiChat": nms_GuiChat.$clinit(); return nms_GuiChat;
        case "net.minecraft.src.WorldClient": nms_WorldClient.$clinit(); return nms_WorldClient;
        case "net.minecraft.src.GuiSleepMP": nms_GuiSleepMP.$clinit(); return nms_GuiSleepMP;
        case "net.minecraft.src.SoundManager$EntitySoundEvent": nms_SoundManager$EntitySoundEvent.$clinit(); return nms_SoundManager$EntitySoundEvent;
        case "net.minecraft.src.SoundManager$QueuedSoundEvent": nms_SoundManager$QueuedSoundEvent.$clinit(); return nms_SoundManager$QueuedSoundEvent;
        case "java.text.DateFormatElement$Numeric": jt_DateFormatElement$Numeric.$clinit(); return jt_DateFormatElement$Numeric;
        case "java.text.DateFormatElement$WeekdayText": jt_DateFormatElement$WeekdayText.$clinit(); return jt_DateFormatElement$WeekdayText;
        case "java.text.DateFormatElement$EraText": jt_DateFormatElement$EraText.$clinit(); return jt_DateFormatElement$EraText;
        case "java.text.DateFormatElement$Rfc822Timezone": jt_DateFormatElement$Rfc822Timezone.$clinit(); return jt_DateFormatElement$Rfc822Timezone;
        case "java.text.DateFormatElement$BaseTimezone": jt_DateFormatElement$BaseTimezone.$clinit(); return jt_DateFormatElement$BaseTimezone;
        case "java.text.DateFormatElement$AmPmText": jt_DateFormatElement$AmPmText.$clinit(); return jt_DateFormatElement$AmPmText;
        case "java.text.DateFormatElement$NumericHour": jt_DateFormatElement$NumericHour.$clinit(); return jt_DateFormatElement$NumericHour;
        case "java.text.DateFormatElement$NumericWeekday": jt_DateFormatElement$NumericWeekday.$clinit(); return jt_DateFormatElement$NumericWeekday;
        case "java.text.DateFormatElement$GeneralTimezone": jt_DateFormatElement$GeneralTimezone.$clinit(); return jt_DateFormatElement$GeneralTimezone;
        case "java.text.DateFormatElement$ConstantText": jt_DateFormatElement$ConstantText.$clinit(); return jt_DateFormatElement$ConstantText;
        case "java.text.DateFormatElement$Year": jt_DateFormatElement$Year.$clinit(); return jt_DateFormatElement$Year;
        case "java.text.DateFormatElement$Iso8601Timezone": jt_DateFormatElement$Iso8601Timezone.$clinit(); return jt_DateFormatElement$Iso8601Timezone;
        case "java.text.DateFormatElement$MonthText": jt_DateFormatElement$MonthText.$clinit(); return jt_DateFormatElement$MonthText;
        case "java.text.DateFormatElement$NumericMonth": jt_DateFormatElement$NumericMonth.$clinit(); return jt_DateFormatElement$NumericMonth;
        case "java.nio.charset.impl.UTF8Encoder": jnci_UTF8Encoder.$clinit(); return jnci_UTF8Encoder;
        case "java.nio.charset.impl.BufferedEncoder": jnci_BufferedEncoder.$clinit(); return jnci_BufferedEncoder;
        case "java.util.Collections": ju_Collections.$clinit(); return ju_Collections;
        case "java.text.FieldPosition": jt_FieldPosition.$clinit(); return jt_FieldPosition;
        case "java.lang.AssertionError": jl_AssertionError.$clinit(); return jl_AssertionError;
        case "java.text.DecimalFormatParser": jt_DecimalFormatParser.$clinit(); return jt_DecimalFormatParser;
        case "java.util.ConcurrentModificationException": ju_ConcurrentModificationException.$clinit(); return ju_ConcurrentModificationException;
        case "net.lax1dude.eaglercraft.glemu.EaglerAdapterGL30$DisplayList": nleg_EaglerAdapterGL30$DisplayList.$clinit(); return nleg_EaglerAdapterGL30$DisplayList;
        case "java.lang.Object$Monitor": jl_Object$Monitor.$clinit(); return jl_Object$Monitor;
        case "java.lang.IllegalMonitorStateException": jl_IllegalMonitorStateException.$clinit(); return jl_IllegalMonitorStateException;
        case "net.minecraft.src.IntHashMap": nms_IntHashMap.$clinit(); return nms_IntHashMap;
        case "net.lax1dude.eaglercraft.TextureTerrainMap": nle_TextureTerrainMap.$clinit(); return nle_TextureTerrainMap;
        case "net.minecraft.src.IconRegister": nms_IconRegister.$clinit(); return nms_IconRegister;
        case "net.minecraft.src.TextureMap": nms_TextureMap.$clinit(); return nms_TextureMap;
        case "java.io.BufferedReader": ji_BufferedReader.$clinit(); return ji_BufferedReader;
        case "java.io.Reader": ji_Reader.$clinit(); return ji_Reader;
        case "java.io.InputStreamReader": ji_InputStreamReader.$clinit(); return ji_InputStreamReader;
        case "net.minecraft.src.MouseFilter": nms_MouseFilter.$clinit(); return nms_MouseFilter;
        case "net.minecraft.src.EntitySpider": nms_EntitySpider.$clinit(); return nms_EntitySpider;
        case "net.minecraft.src.EntityMob": nms_EntityMob.$clinit(); return nms_EntityMob;
        case "net.minecraft.src.EntityCreature": nms_EntityCreature.$clinit(); return nms_EntityCreature;
        case "net.minecraft.src.IMob": nms_IMob.$clinit(); return nms_IMob;
        case "net.minecraft.src.IAnimals": nms_IAnimals.$clinit(); return nms_IAnimals;
        case "net.minecraft.src.RenderSpider": nms_RenderSpider.$clinit(); return nms_RenderSpider;
        case "net.minecraft.src.RenderLiving": nms_RenderLiving.$clinit(); return nms_RenderLiving;
        case "net.minecraft.src.Render": nms_Render.$clinit(); return nms_Render;
        case "net.minecraft.src.EntityCaveSpider": nms_EntityCaveSpider.$clinit(); return nms_EntityCaveSpider;
        case "net.minecraft.src.EntityPig": nms_EntityPig.$clinit(); return nms_EntityPig;
        case "net.minecraft.src.EntityAnimal": nms_EntityAnimal.$clinit(); return nms_EntityAnimal;
        case "net.minecraft.src.EntityAgeable": nms_EntityAgeable.$clinit(); return nms_EntityAgeable;
        case "net.minecraft.src.RenderPig": nms_RenderPig.$clinit(); return nms_RenderPig;
        case "net.minecraft.src.ModelPig": nms_ModelPig.$clinit(); return nms_ModelPig;
        case "net.minecraft.src.ModelQuadruped": nms_ModelQuadruped.$clinit(); return nms_ModelQuadruped;
        case "net.minecraft.src.ModelBase": nms_ModelBase.$clinit(); return nms_ModelBase;
        case "net.minecraft.src.EntitySheep": nms_EntitySheep.$clinit(); return nms_EntitySheep;
        case "net.minecraft.src.RenderSheep": nms_RenderSheep.$clinit(); return nms_RenderSheep;
        case "net.minecraft.src.ModelSheep2": nms_ModelSheep2.$clinit(); return nms_ModelSheep2;
        case "net.minecraft.src.ModelSheep1": nms_ModelSheep1.$clinit(); return nms_ModelSheep1;
        case "net.minecraft.src.EntityCow": nms_EntityCow.$clinit(); return nms_EntityCow;
        case "net.minecraft.src.RenderCow": nms_RenderCow.$clinit(); return nms_RenderCow;
        case "net.minecraft.src.ModelCow": nms_ModelCow.$clinit(); return nms_ModelCow;
        case "net.minecraft.src.EntityMooshroom": nms_EntityMooshroom.$clinit(); return nms_EntityMooshroom;
        case "net.minecraft.src.RenderMooshroom": nms_RenderMooshroom.$clinit(); return nms_RenderMooshroom;
        case "net.minecraft.src.EntityWolf": nms_EntityWolf.$clinit(); return nms_EntityWolf;
        case "net.minecraft.src.EntityTameable": nms_EntityTameable.$clinit(); return nms_EntityTameable;
        case "net.minecraft.src.RenderWolf": nms_RenderWolf.$clinit(); return nms_RenderWolf;
        case "net.minecraft.src.ModelWolf": nms_ModelWolf.$clinit(); return nms_ModelWolf;
        case "net.minecraft.src.EntityChicken": nms_EntityChicken.$clinit(); return nms_EntityChicken;
        case "net.minecraft.src.RenderChicken": nms_RenderChicken.$clinit(); return nms_RenderChicken;
        case "net.minecraft.src.ModelChicken": nms_ModelChicken.$clinit(); return nms_ModelChicken;
        case "net.minecraft.src.EntityOcelot": nms_EntityOcelot.$clinit(); return nms_EntityOcelot;
        case "net.minecraft.src.RenderOcelot": nms_RenderOcelot.$clinit(); return nms_RenderOcelot;
        case "net.minecraft.src.ModelOcelot": nms_ModelOcelot.$clinit(); return nms_ModelOcelot;
        case "net.minecraft.src.EntitySilverfish": nms_EntitySilverfish.$clinit(); return nms_EntitySilverfish;
        case "net.minecraft.src.RenderSilverfish": nms_RenderSilverfish.$clinit(); return nms_RenderSilverfish;
        case "net.minecraft.src.EntityCreeper": nms_EntityCreeper.$clinit(); return nms_EntityCreeper;
        case "net.minecraft.src.RenderCreeper": nms_RenderCreeper.$clinit(); return nms_RenderCreeper;
        case "net.minecraft.src.EntityEnderman": nms_EntityEnderman.$clinit(); return nms_EntityEnderman;
        case "net.minecraft.src.RenderEnderman": nms_RenderEnderman.$clinit(); return nms_RenderEnderman;
        case "net.minecraft.src.EntitySnowman": nms_EntitySnowman.$clinit(); return nms_EntitySnowman;
        case "net.minecraft.src.EntityGolem": nms_EntityGolem.$clinit(); return nms_EntityGolem;
        case "net.minecraft.src.IRangedAttackMob": nms_IRangedAttackMob.$clinit(); return nms_IRangedAttackMob;
        case "net.minecraft.src.RenderSnowMan": nms_RenderSnowMan.$clinit(); return nms_RenderSnowMan;
        case "net.minecraft.src.EntitySkeleton": nms_EntitySkeleton.$clinit(); return nms_EntitySkeleton;
        case "net.minecraft.src.RenderSkeleton": nms_RenderSkeleton.$clinit(); return nms_RenderSkeleton;
        case "net.minecraft.src.RenderBiped": nms_RenderBiped.$clinit(); return nms_RenderBiped;
        case "net.minecraft.src.EntityWitch": nms_EntityWitch.$clinit(); return nms_EntityWitch;
        case "net.minecraft.src.RenderWitch": nms_RenderWitch.$clinit(); return nms_RenderWitch;
        case "net.minecraft.src.EntityBlaze": nms_EntityBlaze.$clinit(); return nms_EntityBlaze;
        case "net.minecraft.src.RenderBlaze": nms_RenderBlaze.$clinit(); return nms_RenderBlaze;
        case "net.minecraft.src.EntityZombie": nms_EntityZombie.$clinit(); return nms_EntityZombie;
        case "net.minecraft.src.RenderZombie": nms_RenderZombie.$clinit(); return nms_RenderZombie;
        case "net.minecraft.src.EntitySlime": nms_EntitySlime.$clinit(); return nms_EntitySlime;
        case "net.minecraft.src.RenderSlime": nms_RenderSlime.$clinit(); return nms_RenderSlime;
        case "net.minecraft.src.ModelSlime": nms_ModelSlime.$clinit(); return nms_ModelSlime;
        case "net.minecraft.src.EntityMagmaCube": nms_EntityMagmaCube.$clinit(); return nms_EntityMagmaCube;
        case "net.minecraft.src.RenderMagmaCube": nms_RenderMagmaCube.$clinit(); return nms_RenderMagmaCube;
        case "net.minecraft.src.RenderPlayer": nms_RenderPlayer.$clinit(); return nms_RenderPlayer;
        case "net.minecraft.src.EntityGhast": nms_EntityGhast.$clinit(); return nms_EntityGhast;
        case "net.minecraft.src.EntityFlying": nms_EntityFlying.$clinit(); return nms_EntityFlying;
        case "net.minecraft.src.RenderGhast": nms_RenderGhast.$clinit(); return nms_RenderGhast;
        case "net.minecraft.src.EntitySquid": nms_EntitySquid.$clinit(); return nms_EntitySquid;
        case "net.minecraft.src.EntityWaterMob": nms_EntityWaterMob.$clinit(); return nms_EntityWaterMob;
        case "net.minecraft.src.RenderSquid": nms_RenderSquid.$clinit(); return nms_RenderSquid;
        case "net.minecraft.src.ModelSquid": nms_ModelSquid.$clinit(); return nms_ModelSquid;
        case "net.minecraft.src.EntityVillager": nms_EntityVillager.$clinit(); return nms_EntityVillager;
        case "net.minecraft.src.INpc": nms_INpc.$clinit(); return nms_INpc;
        case "net.minecraft.src.IMerchant": nms_IMerchant.$clinit(); return nms_IMerchant;
        case "net.minecraft.src.RenderVillager": nms_RenderVillager.$clinit(); return nms_RenderVillager;
        case "net.minecraft.src.EntityIronGolem": nms_EntityIronGolem.$clinit(); return nms_EntityIronGolem;
        case "net.minecraft.src.RenderIronGolem": nms_RenderIronGolem.$clinit(); return nms_RenderIronGolem;
        case "net.minecraft.src.EntityBat": nms_EntityBat.$clinit(); return nms_EntityBat;
        case "net.minecraft.src.EntityAmbientCreature": nms_EntityAmbientCreature.$clinit(); return nms_EntityAmbientCreature;
        case "net.minecraft.src.RenderBat": nms_RenderBat.$clinit(); return nms_RenderBat;
        case "net.minecraft.src.EntityDragon": nms_EntityDragon.$clinit(); return nms_EntityDragon;
        case "net.minecraft.src.IBossDisplayData": nms_IBossDisplayData.$clinit(); return nms_IBossDisplayData;
        case "net.minecraft.src.IEntityMultiPart": nms_IEntityMultiPart.$clinit(); return nms_IEntityMultiPart;
        case "net.minecraft.src.RenderDragon": nms_RenderDragon.$clinit(); return nms_RenderDragon;
        case "net.minecraft.src.EntityEnderCrystal": nms_EntityEnderCrystal.$clinit(); return nms_EntityEnderCrystal;
        case "net.minecraft.src.RenderEnderCrystal": nms_RenderEnderCrystal.$clinit(); return nms_RenderEnderCrystal;
        case "net.minecraft.src.EntityWither": nms_EntityWither.$clinit(); return nms_EntityWither;
        case "net.minecraft.src.RenderWither": nms_RenderWither.$clinit(); return nms_RenderWither;
        case "net.minecraft.src.RenderEntity": nms_RenderEntity.$clinit(); return nms_RenderEntity;
        case "net.minecraft.src.EntityPainting": nms_EntityPainting.$clinit(); return nms_EntityPainting;
        case "net.minecraft.src.EntityHanging": nms_EntityHanging.$clinit(); return nms_EntityHanging;
        case "net.minecraft.src.RenderPainting": nms_RenderPainting.$clinit(); return nms_RenderPainting;
        case "net.minecraft.src.EntityItemFrame": nms_EntityItemFrame.$clinit(); return nms_EntityItemFrame;
        case "net.minecraft.src.RenderItemFrame": nms_RenderItemFrame.$clinit(); return nms_RenderItemFrame;
        case "net.minecraft.src.EntityArrow": nms_EntityArrow.$clinit(); return nms_EntityArrow;
        case "net.minecraft.src.IProjectile": nms_IProjectile.$clinit(); return nms_IProjectile;
        case "net.minecraft.src.RenderArrow": nms_RenderArrow.$clinit(); return nms_RenderArrow;
        case "net.minecraft.src.EntitySnowball": nms_EntitySnowball.$clinit(); return nms_EntitySnowball;
        case "net.minecraft.src.EntityThrowable": nms_EntityThrowable.$clinit(); return nms_EntityThrowable;
        case "net.minecraft.src.RenderSnowball": nms_RenderSnowball.$clinit(); return nms_RenderSnowball;
        case "net.minecraft.src.Item": nms_Item.$clinit(); return nms_Item;
        case "net.minecraft.src.EntityEnderPearl": nms_EntityEnderPearl.$clinit(); return nms_EntityEnderPearl;
        case "net.minecraft.src.EntityEnderEye": nms_EntityEnderEye.$clinit(); return nms_EntityEnderEye;
        case "net.minecraft.src.EntityEgg": nms_EntityEgg.$clinit(); return nms_EntityEgg;
        case "net.minecraft.src.EntityPotion": nms_EntityPotion.$clinit(); return nms_EntityPotion;
        case "net.minecraft.src.EntityExpBottle": nms_EntityExpBottle.$clinit(); return nms_EntityExpBottle;
        case "net.minecraft.src.EntityFireworkRocket": nms_EntityFireworkRocket.$clinit(); return nms_EntityFireworkRocket;
        case "net.minecraft.src.EntityLargeFireball": nms_EntityLargeFireball.$clinit(); return nms_EntityLargeFireball;
        case "net.minecraft.src.EntityFireball": nms_EntityFireball.$clinit(); return nms_EntityFireball;
        case "net.minecraft.src.RenderFireball": nms_RenderFireball.$clinit(); return nms_RenderFireball;
        case "net.minecraft.src.EntitySmallFireball": nms_EntitySmallFireball.$clinit(); return nms_EntitySmallFireball;
        case "net.minecraft.src.EntityWitherSkull": nms_EntityWitherSkull.$clinit(); return nms_EntityWitherSkull;
        case "net.minecraft.src.RenderWitherSkull": nms_RenderWitherSkull.$clinit(); return nms_RenderWitherSkull;
        case "net.minecraft.src.EntityItem": nms_EntityItem.$clinit(); return nms_EntityItem;
        case "net.minecraft.src.RenderItem": nms_RenderItem.$clinit(); return nms_RenderItem;
        case "net.minecraft.src.EntityXPOrb": nms_EntityXPOrb.$clinit(); return nms_EntityXPOrb;
        case "net.minecraft.src.RenderXPOrb": nms_RenderXPOrb.$clinit(); return nms_RenderXPOrb;
        case "net.minecraft.src.EntityTNTPrimed": nms_EntityTNTPrimed.$clinit(); return nms_EntityTNTPrimed;
        case "net.minecraft.src.RenderTNTPrimed": nms_RenderTNTPrimed.$clinit(); return nms_RenderTNTPrimed;
        case "net.minecraft.src.EntityFallingSand": nms_EntityFallingSand.$clinit(); return nms_EntityFallingSand;
        case "net.minecraft.src.RenderFallingSand": nms_RenderFallingSand.$clinit(); return nms_RenderFallingSand;
        case "net.minecraft.src.EntityMinecartTNT": nms_EntityMinecartTNT.$clinit(); return nms_EntityMinecartTNT;
        case "net.minecraft.src.EntityMinecart": nms_EntityMinecart.$clinit(); return nms_EntityMinecart;
        case "net.minecraft.src.RenderTntMinecart": nms_RenderTntMinecart.$clinit(); return nms_RenderTntMinecart;
        case "net.minecraft.src.RenderMinecart": nms_RenderMinecart.$clinit(); return nms_RenderMinecart;
        case "net.minecraft.src.EntityMinecartMobSpawner": nms_EntityMinecartMobSpawner.$clinit(); return nms_EntityMinecartMobSpawner;
        case "net.minecraft.src.RenderMinecartMobSpawner": nms_RenderMinecartMobSpawner.$clinit(); return nms_RenderMinecartMobSpawner;
        case "net.minecraft.src.EntityBoat": nms_EntityBoat.$clinit(); return nms_EntityBoat;
        case "net.minecraft.src.RenderBoat": nms_RenderBoat.$clinit(); return nms_RenderBoat;
        case "net.minecraft.src.EntityFishHook": nms_EntityFishHook.$clinit(); return nms_EntityFishHook;
        case "net.minecraft.src.RenderFish": nms_RenderFish.$clinit(); return nms_RenderFish;
        case "net.minecraft.src.EntityLightningBolt": nms_EntityLightningBolt.$clinit(); return nms_EntityLightningBolt;
        case "net.minecraft.src.EntityWeatherEffect": nms_EntityWeatherEffect.$clinit(); return nms_EntityWeatherEffect;
        case "net.minecraft.src.RenderLightningBolt": nms_RenderLightningBolt.$clinit(); return nms_RenderLightningBolt;
        case "net.minecraft.src.MapItemRenderer": nms_MapItemRenderer.$clinit(); return nms_MapItemRenderer;
        case "net.minecraft.src.Achievement": nms_Achievement.$clinit(); return nms_Achievement;
        case "net.minecraft.src.StatBase": nms_StatBase.$clinit(); return nms_StatBase;
        case "net.minecraft.src.RenderList": nms_RenderList.$clinit(); return nms_RenderList;
        case "net.minecraft.src.GuiNewChat": nms_GuiNewChat.$clinit(); return nms_GuiNewChat;
        case "com.jcraft.jzlib.InfTree": cjj_InfTree.$clinit(); return cjj_InfTree;
        case "com.jcraft.jzlib.InfCodes": cjj_InfCodes.$clinit(); return cjj_InfCodes;
        case "net.minecraft.src.PlayerControllerMP": nms_PlayerControllerMP.$clinit(); return nms_PlayerControllerMP;
        case "net.minecraft.src.EntityOtherPlayerMP": nms_EntityOtherPlayerMP.$clinit(); return nms_EntityOtherPlayerMP;
        case "net.minecraft.src.PlayerCapabilities": nms_PlayerCapabilities.$clinit(); return nms_PlayerCapabilities;
        case "net.minecraft.src.Vec3": nms_Vec3.$clinit(); return nms_Vec3;
        case "net.minecraft.src.GuiParticle": nms_GuiParticle.$clinit(); return nms_GuiParticle;
        case "net.minecraft.src.MovingObjectPosition": nms_MovingObjectPosition.$clinit(); return nms_MovingObjectPosition;
        case "net.minecraft.src.EnumMovingObjectType": nms_EnumMovingObjectType.$clinit(); return nms_EnumMovingObjectType;
        case "net.minecraft.src.ItemStack": nms_ItemStack.$clinit(); return nms_ItemStack;
        case "net.minecraft.src.Block": nms_Block.$clinit(); return nms_Block;
        case "net.minecraft.src.Container": nms_Container.$clinit(); return nms_Container;
        case "net.minecraft.src.EntityList": nms_EntityList.$clinit(); return nms_EntityList;
        case "org.teavm.platform.PlatformQueue": otp_PlatformQueue.$clinit(); return otp_PlatformQueue;
        case "java.lang.Object$monitorExit$lambda$_8_0": jl_Object$monitorExit$lambda$_8_0.$clinit(); return jl_Object$monitorExit$lambda$_8_0;
        case "java.io.UTFDataFormatException": ji_UTFDataFormatException.$clinit(); return ji_UTFDataFormatException;
        case "net.minecraft.src.TexturePackDefault": nms_TexturePackDefault.$clinit(); return nms_TexturePackDefault;
        case "net.minecraft.src.TexturePackImplementation": nms_TexturePackImplementation.$clinit(); return nms_TexturePackImplementation;
        case "net.minecraft.src.ITexturePack": nms_ITexturePack.$clinit(); return nms_ITexturePack;
        case "net.minecraft.src.IntHashMapEntry": nms_IntHashMapEntry.$clinit(); return nms_IntHashMapEntry;
        case "net.lax1dude.eaglercraft.TextureTerrainMap$TerrainIcon": nle_TextureTerrainMap$TerrainIcon.$clinit(); return nle_TextureTerrainMap$TerrainIcon;
        case "net.minecraft.src.Icon": nms_Icon.$clinit(); return nms_Icon;
        case "java.nio.FloatBuffer": jn_FloatBuffer.$clinit(); return jn_FloatBuffer;
        case "net.minecraft.src.ModelSpider": nms_ModelSpider.$clinit(); return nms_ModelSpider;
        case "net.minecraft.src.ModelRenderer": nms_ModelRenderer.$clinit(); return nms_ModelRenderer;
        case "net.minecraft.src.ModelSilverfish": nms_ModelSilverfish.$clinit(); return nms_ModelSilverfish;
        case "net.minecraft.src.ModelCreeper": nms_ModelCreeper.$clinit(); return nms_ModelCreeper;
        case "net.minecraft.src.ModelEnderman": nms_ModelEnderman.$clinit(); return nms_ModelEnderman;
        case "net.minecraft.src.ModelBiped": nms_ModelBiped.$clinit(); return nms_ModelBiped;
        case "net.minecraft.src.ModelSnowMan": nms_ModelSnowMan.$clinit(); return nms_ModelSnowMan;
        case "net.minecraft.src.ModelSkeleton": nms_ModelSkeleton.$clinit(); return nms_ModelSkeleton;
        case "net.minecraft.src.ModelZombie": nms_ModelZombie.$clinit(); return nms_ModelZombie;
        case "net.minecraft.src.ModelWitch": nms_ModelWitch.$clinit(); return nms_ModelWitch;
        case "net.minecraft.src.ModelVillager": nms_ModelVillager.$clinit(); return nms_ModelVillager;
        case "net.minecraft.src.ModelBlaze": nms_ModelBlaze.$clinit(); return nms_ModelBlaze;
        case "net.minecraft.src.ModelZombieVillager": nms_ModelZombieVillager.$clinit(); return nms_ModelZombieVillager;
        case "net.minecraft.src.ModelMagmaCube": nms_ModelMagmaCube.$clinit(); return nms_ModelMagmaCube;
        case "net.lax1dude.eaglercraft.ModelBipedNewSkins": nle_ModelBipedNewSkins.$clinit(); return nle_ModelBipedNewSkins;
        case "net.minecraft.src.ModelGhast": nms_ModelGhast.$clinit(); return nms_ModelGhast;
        case "net.minecraft.src.ModelIronGolem": nms_ModelIronGolem.$clinit(); return nms_ModelIronGolem;
        case "net.minecraft.src.ModelBat": nms_ModelBat.$clinit(); return nms_ModelBat;
        case "net.minecraft.src.ModelDragon": nms_ModelDragon.$clinit(); return nms_ModelDragon;
        case "net.minecraft.src.ModelWither": nms_ModelWither.$clinit(); return nms_ModelWither;
        case "net.minecraft.src.ModelSkeletonHead": nms_ModelSkeletonHead.$clinit(); return nms_ModelSkeletonHead;
        case "net.minecraft.src.ModelMinecart": nms_ModelMinecart.$clinit(); return nms_ModelMinecart;
        case "net.minecraft.src.ModelBoat": nms_ModelBoat.$clinit(); return nms_ModelBoat;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$FramebufferGL": nlea_EaglerAdapterImpl2$FramebufferGL.$clinit(); return nlea_EaglerAdapterImpl2$FramebufferGL;
        case "net.lax1dude.eaglercraft.EaglerProfile$EaglerProfileSkin": nle_EaglerProfile$EaglerProfileSkin.$clinit(); return nle_EaglerProfile$EaglerProfileSkin;
        case "java.util.Arrays$NaturalOrder": ju_Arrays$NaturalOrder.$clinit(); return ju_Arrays$NaturalOrder;
        case "java.util.Collections$<clinit>$lambda$_61_0": ju_Collections$_clinit_$lambda$_61_0.$clinit(); return ju_Collections$_clinit_$lambda$_61_0;
        case "java.util.Collections$<clinit>$lambda$_61_1": ju_Collections$_clinit_$lambda$_61_1.$clinit(); return ju_Collections$_clinit_$lambda$_61_1;
        case "java.lang.Object$monitorEnterWait$lambda$_6_0": jl_Object$monitorEnterWait$lambda$_6_0.$clinit(); return jl_Object$monitorEnterWait$lambda$_6_0;
        case "java.io.UnsupportedEncodingException": ji_UnsupportedEncodingException.$clinit(); return ji_UnsupportedEncodingException;
        case "net.minecraft.src.ItemSpade": nms_ItemSpade.$clinit(); return nms_ItemSpade;
        case "net.minecraft.src.ItemTool": nms_ItemTool.$clinit(); return nms_ItemTool;
        case "net.minecraft.src.EnumToolMaterial": nms_EnumToolMaterial.$clinit(); return nms_EnumToolMaterial;
        case "net.minecraft.src.ItemPickaxe": nms_ItemPickaxe.$clinit(); return nms_ItemPickaxe;
        case "net.minecraft.src.ItemAxe": nms_ItemAxe.$clinit(); return nms_ItemAxe;
        case "net.minecraft.src.ItemFlintAndSteel": nms_ItemFlintAndSteel.$clinit(); return nms_ItemFlintAndSteel;
        case "net.minecraft.src.ItemFood": nms_ItemFood.$clinit(); return nms_ItemFood;
        case "net.minecraft.src.ItemBow": nms_ItemBow.$clinit(); return nms_ItemBow;
        case "net.minecraft.src.CreativeTabs": nms_CreativeTabs.$clinit(); return nms_CreativeTabs;
        case "net.minecraft.src.ItemCoal": nms_ItemCoal.$clinit(); return nms_ItemCoal;
        case "net.minecraft.src.ItemSword": nms_ItemSword.$clinit(); return nms_ItemSword;
        case "net.minecraft.src.ItemSoup": nms_ItemSoup.$clinit(); return nms_ItemSoup;
        case "net.minecraft.src.ItemReed": nms_ItemReed.$clinit(); return nms_ItemReed;
        case "net.minecraft.src.PotionHelper": nms_PotionHelper.$clinit(); return nms_PotionHelper;
        case "net.minecraft.src.ItemHoe": nms_ItemHoe.$clinit(); return nms_ItemHoe;
        case "net.minecraft.src.ItemSeeds": nms_ItemSeeds.$clinit(); return nms_ItemSeeds;
        case "net.minecraft.src.ItemArmor": nms_ItemArmor.$clinit(); return nms_ItemArmor;
        case "net.minecraft.src.EnumArmorMaterial": nms_EnumArmorMaterial.$clinit(); return nms_EnumArmorMaterial;
        case "net.minecraft.src.ItemHangingEntity": nms_ItemHangingEntity.$clinit(); return nms_ItemHangingEntity;
        case "net.minecraft.src.ItemAppleGold": nms_ItemAppleGold.$clinit(); return nms_ItemAppleGold;
        case "net.minecraft.src.Potion": nms_Potion.$clinit(); return nms_Potion;
        case "net.minecraft.src.ItemSign": nms_ItemSign.$clinit(); return nms_ItemSign;
        case "net.minecraft.src.ItemDoor": nms_ItemDoor.$clinit(); return nms_ItemDoor;
        case "net.minecraft.src.Material": nms_Material.$clinit(); return nms_Material;
        case "net.minecraft.src.ItemBucket": nms_ItemBucket.$clinit(); return nms_ItemBucket;
        case "net.minecraft.src.BlockFluid": nms_BlockFluid.$clinit(); return nms_BlockFluid;
        case "net.minecraft.src.ItemMinecart": nms_ItemMinecart.$clinit(); return nms_ItemMinecart;
        case "net.minecraft.src.ItemSaddle": nms_ItemSaddle.$clinit(); return nms_ItemSaddle;
        case "net.minecraft.src.ItemRedstone": nms_ItemRedstone.$clinit(); return nms_ItemRedstone;
        case "net.minecraft.src.ItemSnowball": nms_ItemSnowball.$clinit(); return nms_ItemSnowball;
        case "net.minecraft.src.ItemBoat": nms_ItemBoat.$clinit(); return nms_ItemBoat;
        case "net.minecraft.src.ItemBucketMilk": nms_ItemBucketMilk.$clinit(); return nms_ItemBucketMilk;
        case "net.minecraft.src.ItemBook": nms_ItemBook.$clinit(); return nms_ItemBook;
        case "net.minecraft.src.ItemEgg": nms_ItemEgg.$clinit(); return nms_ItemEgg;
        case "net.minecraft.src.ItemFishingRod": nms_ItemFishingRod.$clinit(); return nms_ItemFishingRod;
        case "net.minecraft.src.ItemDye": nms_ItemDye.$clinit(); return nms_ItemDye;
        case "net.minecraft.src.ItemBed": nms_ItemBed.$clinit(); return nms_ItemBed;
        case "net.minecraft.src.ItemMap": nms_ItemMap.$clinit(); return nms_ItemMap;
        case "net.minecraft.src.ItemMapBase": nms_ItemMapBase.$clinit(); return nms_ItemMapBase;
        case "net.minecraft.src.ItemShears": nms_ItemShears.$clinit(); return nms_ItemShears;
        case "net.minecraft.src.ItemEnderPearl": nms_ItemEnderPearl.$clinit(); return nms_ItemEnderPearl;
        case "net.minecraft.src.ItemPotion": nms_ItemPotion.$clinit(); return nms_ItemPotion;
        case "net.minecraft.src.ItemGlassBottle": nms_ItemGlassBottle.$clinit(); return nms_ItemGlassBottle;
        case "net.minecraft.src.ItemEnderEye": nms_ItemEnderEye.$clinit(); return nms_ItemEnderEye;
        case "net.minecraft.src.ItemMonsterPlacer": nms_ItemMonsterPlacer.$clinit(); return nms_ItemMonsterPlacer;
        case "net.minecraft.src.ItemExpBottle": nms_ItemExpBottle.$clinit(); return nms_ItemExpBottle;
        case "net.minecraft.src.ItemFireball": nms_ItemFireball.$clinit(); return nms_ItemFireball;
        case "net.minecraft.src.ItemWritableBook": nms_ItemWritableBook.$clinit(); return nms_ItemWritableBook;
        case "net.minecraft.src.ItemEditableBook": nms_ItemEditableBook.$clinit(); return nms_ItemEditableBook;
        case "net.minecraft.src.ItemSeedFood": nms_ItemSeedFood.$clinit(); return nms_ItemSeedFood;
        case "net.minecraft.src.ItemEmptyMap": nms_ItemEmptyMap.$clinit(); return nms_ItemEmptyMap;
        case "net.minecraft.src.ItemSkull": nms_ItemSkull.$clinit(); return nms_ItemSkull;
        case "net.minecraft.src.ItemCarrotOnAStick": nms_ItemCarrotOnAStick.$clinit(); return nms_ItemCarrotOnAStick;
        case "net.minecraft.src.ItemSimpleFoiled": nms_ItemSimpleFoiled.$clinit(); return nms_ItemSimpleFoiled;
        case "net.minecraft.src.ItemFirework": nms_ItemFirework.$clinit(); return nms_ItemFirework;
        case "net.minecraft.src.ItemFireworkCharge": nms_ItemFireworkCharge.$clinit(); return nms_ItemFireworkCharge;
        case "net.minecraft.src.ItemEnchantedBook": nms_ItemEnchantedBook.$clinit(); return nms_ItemEnchantedBook;
        case "net.minecraft.src.ItemRecord": nms_ItemRecord.$clinit(); return nms_ItemRecord;
        case "java.util.Properties": ju_Properties.$clinit(); return ju_Properties;
        case "java.util.Hashtable": ju_Hashtable.$clinit(); return ju_Hashtable;
        case "java.util.Dictionary": ju_Dictionary.$clinit(); return ju_Dictionary;
        case "java.util.TreeMap": ju_TreeMap.$clinit(); return ju_TreeMap;
        case "java.util.NavigableMap": ju_NavigableMap.$clinit(); return ju_NavigableMap;
        case "java.util.SortedMap": ju_SortedMap.$clinit(); return ju_SortedMap;
        case "me.ayunami2000.ayuncraft.tmi.TMI": maat_TMI.$clinit(); return maat_TMI;
        case "net.minecraft.src.StepSound": nms_StepSound.$clinit(); return nms_StepSound;
        case "net.minecraft.src.StepSoundStone": nms_StepSoundStone.$clinit(); return nms_StepSoundStone;
        case "net.minecraft.src.StepSoundSand": nms_StepSoundSand.$clinit(); return nms_StepSoundSand;
        case "net.minecraft.src.StepSoundAnvil": nms_StepSoundAnvil.$clinit(); return nms_StepSoundAnvil;
        case "net.minecraft.src.NoiseGeneratorPerlin": nms_NoiseGeneratorPerlin.$clinit(); return nms_NoiseGeneratorPerlin;
        case "net.minecraft.src.NoiseGenerator": nms_NoiseGenerator.$clinit(); return nms_NoiseGenerator;
        case "net.minecraft.src.BlockStone": nms_BlockStone.$clinit(); return nms_BlockStone;
        case "net.minecraft.src.BlockGrass": nms_BlockGrass.$clinit(); return nms_BlockGrass;
        case "net.minecraft.src.BlockDirt": nms_BlockDirt.$clinit(); return nms_BlockDirt;
        case "net.minecraft.src.BlockWood": nms_BlockWood.$clinit(); return nms_BlockWood;
        case "net.minecraft.src.BlockSapling": nms_BlockSapling.$clinit(); return nms_BlockSapling;
        case "net.minecraft.src.BlockFlower": nms_BlockFlower.$clinit(); return nms_BlockFlower;
        case "net.minecraft.src.BlockFlowing": nms_BlockFlowing.$clinit(); return nms_BlockFlowing;
        case "net.minecraft.src.BlockStationary": nms_BlockStationary.$clinit(); return nms_BlockStationary;
        case "net.minecraft.src.BlockSand": nms_BlockSand.$clinit(); return nms_BlockSand;
        case "net.minecraft.src.BlockGravel": nms_BlockGravel.$clinit(); return nms_BlockGravel;
        case "net.minecraft.src.BlockOre": nms_BlockOre.$clinit(); return nms_BlockOre;
        case "net.minecraft.src.BlockLog": nms_BlockLog.$clinit(); return nms_BlockLog;
        case "net.minecraft.src.BlockLeaves": nms_BlockLeaves.$clinit(); return nms_BlockLeaves;
        case "net.minecraft.src.BlockLeavesBase": nms_BlockLeavesBase.$clinit(); return nms_BlockLeavesBase;
        case "net.minecraft.src.BlockSponge": nms_BlockSponge.$clinit(); return nms_BlockSponge;
        case "net.minecraft.src.BlockGlass": nms_BlockGlass.$clinit(); return nms_BlockGlass;
        case "net.minecraft.src.BlockBreakable": nms_BlockBreakable.$clinit(); return nms_BlockBreakable;
        case "net.minecraft.src.BlockDispenser": nms_BlockDispenser.$clinit(); return nms_BlockDispenser;
        case "net.minecraft.src.BlockContainer": nms_BlockContainer.$clinit(); return nms_BlockContainer;
        case "net.minecraft.src.ITileEntityProvider": nms_ITileEntityProvider.$clinit(); return nms_ITileEntityProvider;
        case "net.minecraft.src.BlockSandStone": nms_BlockSandStone.$clinit(); return nms_BlockSandStone;
        case "net.minecraft.src.BlockNote": nms_BlockNote.$clinit(); return nms_BlockNote;
        case "net.minecraft.src.BlockBed": nms_BlockBed.$clinit(); return nms_BlockBed;
        case "net.minecraft.src.BlockDirectional": nms_BlockDirectional.$clinit(); return nms_BlockDirectional;
        case "net.minecraft.src.BlockRailPowered": nms_BlockRailPowered.$clinit(); return nms_BlockRailPowered;
        case "net.minecraft.src.BlockRailBase": nms_BlockRailBase.$clinit(); return nms_BlockRailBase;
        case "net.minecraft.src.BlockDetectorRail": nms_BlockDetectorRail.$clinit(); return nms_BlockDetectorRail;
        case "net.minecraft.src.BlockPistonBase": nms_BlockPistonBase.$clinit(); return nms_BlockPistonBase;
        case "net.minecraft.src.BlockWeb": nms_BlockWeb.$clinit(); return nms_BlockWeb;
        case "net.minecraft.src.BlockTallGrass": nms_BlockTallGrass.$clinit(); return nms_BlockTallGrass;
        case "net.minecraft.src.BlockDeadBush": nms_BlockDeadBush.$clinit(); return nms_BlockDeadBush;
        case "net.minecraft.src.BlockPistonExtension": nms_BlockPistonExtension.$clinit(); return nms_BlockPistonExtension;
        case "net.minecraft.src.BlockCloth": nms_BlockCloth.$clinit(); return nms_BlockCloth;
        case "net.minecraft.src.BlockPistonMoving": nms_BlockPistonMoving.$clinit(); return nms_BlockPistonMoving;
        case "net.minecraft.src.BlockMushroom": nms_BlockMushroom.$clinit(); return nms_BlockMushroom;
        case "net.minecraft.src.BlockOreStorage": nms_BlockOreStorage.$clinit(); return nms_BlockOreStorage;
        case "net.minecraft.src.BlockStep": nms_BlockStep.$clinit(); return nms_BlockStep;
        case "net.minecraft.src.BlockHalfSlab": nms_BlockHalfSlab.$clinit(); return nms_BlockHalfSlab;
        case "net.minecraft.src.BlockTNT": nms_BlockTNT.$clinit(); return nms_BlockTNT;
        case "net.minecraft.src.BlockBookshelf": nms_BlockBookshelf.$clinit(); return nms_BlockBookshelf;
        case "net.minecraft.src.BlockObsidian": nms_BlockObsidian.$clinit(); return nms_BlockObsidian;
        case "net.minecraft.src.BlockTorch": nms_BlockTorch.$clinit(); return nms_BlockTorch;
        case "net.minecraft.src.BlockFire": nms_BlockFire.$clinit(); return nms_BlockFire;
        case "net.minecraft.src.BlockMobSpawner": nms_BlockMobSpawner.$clinit(); return nms_BlockMobSpawner;
        case "net.minecraft.src.BlockStairs": nms_BlockStairs.$clinit(); return nms_BlockStairs;
        case "net.minecraft.src.BlockChest": nms_BlockChest.$clinit(); return nms_BlockChest;
        case "net.minecraft.src.BlockRedstoneWire": nms_BlockRedstoneWire.$clinit(); return nms_BlockRedstoneWire;
        case "net.minecraft.src.BlockWorkbench": nms_BlockWorkbench.$clinit(); return nms_BlockWorkbench;
        case "net.minecraft.src.BlockCrops": nms_BlockCrops.$clinit(); return nms_BlockCrops;
        case "net.minecraft.src.BlockFarmland": nms_BlockFarmland.$clinit(); return nms_BlockFarmland;
        case "net.minecraft.src.BlockFurnace": nms_BlockFurnace.$clinit(); return nms_BlockFurnace;
        case "net.minecraft.src.BlockSign": nms_BlockSign.$clinit(); return nms_BlockSign;
        case "net.minecraft.src.TileEntitySign": nms_TileEntitySign.$clinit(); return nms_TileEntitySign;
        case "net.minecraft.src.TileEntity": nms_TileEntity.$clinit(); return nms_TileEntity;
        case "net.minecraft.src.BlockDoor": nms_BlockDoor.$clinit(); return nms_BlockDoor;
        case "net.minecraft.src.BlockLadder": nms_BlockLadder.$clinit(); return nms_BlockLadder;
        case "net.minecraft.src.BlockRail": nms_BlockRail.$clinit(); return nms_BlockRail;
        case "net.minecraft.src.BlockLever": nms_BlockLever.$clinit(); return nms_BlockLever;
        case "net.minecraft.src.BlockPressurePlate": nms_BlockPressurePlate.$clinit(); return nms_BlockPressurePlate;
        case "net.minecraft.src.BlockBasePressurePlate": nms_BlockBasePressurePlate.$clinit(); return nms_BlockBasePressurePlate;
        case "net.minecraft.src.EnumMobType": nms_EnumMobType.$clinit(); return nms_EnumMobType;
        case "net.minecraft.src.BlockRedstoneOre": nms_BlockRedstoneOre.$clinit(); return nms_BlockRedstoneOre;
        case "net.minecraft.src.BlockRedstoneTorch": nms_BlockRedstoneTorch.$clinit(); return nms_BlockRedstoneTorch;
        case "net.minecraft.src.BlockButtonStone": nms_BlockButtonStone.$clinit(); return nms_BlockButtonStone;
        case "net.minecraft.src.BlockButton": nms_BlockButton.$clinit(); return nms_BlockButton;
        case "net.minecraft.src.BlockSnow": nms_BlockSnow.$clinit(); return nms_BlockSnow;
        case "net.minecraft.src.BlockIce": nms_BlockIce.$clinit(); return nms_BlockIce;
        case "net.minecraft.src.BlockSnowBlock": nms_BlockSnowBlock.$clinit(); return nms_BlockSnowBlock;
        case "net.minecraft.src.BlockCactus": nms_BlockCactus.$clinit(); return nms_BlockCactus;
        case "net.minecraft.src.BlockClay": nms_BlockClay.$clinit(); return nms_BlockClay;
        case "net.minecraft.src.BlockReed": nms_BlockReed.$clinit(); return nms_BlockReed;
        case "net.minecraft.src.BlockJukeBox": nms_BlockJukeBox.$clinit(); return nms_BlockJukeBox;
        case "net.minecraft.src.BlockFence": nms_BlockFence.$clinit(); return nms_BlockFence;
        case "net.minecraft.src.BlockPumpkin": nms_BlockPumpkin.$clinit(); return nms_BlockPumpkin;
        case "net.minecraft.src.BlockNetherrack": nms_BlockNetherrack.$clinit(); return nms_BlockNetherrack;
        case "net.minecraft.src.BlockSoulSand": nms_BlockSoulSand.$clinit(); return nms_BlockSoulSand;
        case "net.minecraft.src.BlockGlowStone": nms_BlockGlowStone.$clinit(); return nms_BlockGlowStone;
        case "net.minecraft.src.BlockPortal": nms_BlockPortal.$clinit(); return nms_BlockPortal;
        case "net.minecraft.src.BlockCake": nms_BlockCake.$clinit(); return nms_BlockCake;
        case "net.minecraft.src.BlockRedstoneRepeater": nms_BlockRedstoneRepeater.$clinit(); return nms_BlockRedstoneRepeater;
        case "net.minecraft.src.BlockRedstoneLogic": nms_BlockRedstoneLogic.$clinit(); return nms_BlockRedstoneLogic;
        case "net.minecraft.src.BlockLockedChest": nms_BlockLockedChest.$clinit(); return nms_BlockLockedChest;
        case "net.minecraft.src.BlockTrapDoor": nms_BlockTrapDoor.$clinit(); return nms_BlockTrapDoor;
        case "net.minecraft.src.BlockSilverfish": nms_BlockSilverfish.$clinit(); return nms_BlockSilverfish;
        case "net.minecraft.src.BlockStoneBrick": nms_BlockStoneBrick.$clinit(); return nms_BlockStoneBrick;
        case "net.minecraft.src.BlockMushroomCap": nms_BlockMushroomCap.$clinit(); return nms_BlockMushroomCap;
        case "net.minecraft.src.BlockPane": nms_BlockPane.$clinit(); return nms_BlockPane;
        case "net.minecraft.src.BlockMelon": nms_BlockMelon.$clinit(); return nms_BlockMelon;
        case "net.minecraft.src.BlockStem": nms_BlockStem.$clinit(); return nms_BlockStem;
        case "net.minecraft.src.BlockVine": nms_BlockVine.$clinit(); return nms_BlockVine;
        case "net.minecraft.src.BlockFenceGate": nms_BlockFenceGate.$clinit(); return nms_BlockFenceGate;
        case "net.minecraft.src.BlockMycelium": nms_BlockMycelium.$clinit(); return nms_BlockMycelium;
        case "net.minecraft.src.BlockLilyPad": nms_BlockLilyPad.$clinit(); return nms_BlockLilyPad;
        case "net.minecraft.src.BlockNetherStalk": nms_BlockNetherStalk.$clinit(); return nms_BlockNetherStalk;
        case "net.minecraft.src.BlockEnchantmentTable": nms_BlockEnchantmentTable.$clinit(); return nms_BlockEnchantmentTable;
        case "net.minecraft.src.BlockBrewingStand": nms_BlockBrewingStand.$clinit(); return nms_BlockBrewingStand;
        case "net.minecraft.src.BlockCauldron": nms_BlockCauldron.$clinit(); return nms_BlockCauldron;
        case "net.minecraft.src.BlockEndPortal": nms_BlockEndPortal.$clinit(); return nms_BlockEndPortal;
        case "net.minecraft.src.BlockEndPortalFrame": nms_BlockEndPortalFrame.$clinit(); return nms_BlockEndPortalFrame;
        case "net.minecraft.src.BlockDragonEgg": nms_BlockDragonEgg.$clinit(); return nms_BlockDragonEgg;
        case "net.minecraft.src.BlockRedstoneLight": nms_BlockRedstoneLight.$clinit(); return nms_BlockRedstoneLight;
        case "net.minecraft.src.BlockWoodSlab": nms_BlockWoodSlab.$clinit(); return nms_BlockWoodSlab;
        case "net.minecraft.src.BlockCocoa": nms_BlockCocoa.$clinit(); return nms_BlockCocoa;
        case "net.minecraft.src.BlockEnderChest": nms_BlockEnderChest.$clinit(); return nms_BlockEnderChest;
        case "net.minecraft.src.BlockTripWireSource": nms_BlockTripWireSource.$clinit(); return nms_BlockTripWireSource;
        case "net.minecraft.src.BlockTripWire": nms_BlockTripWire.$clinit(); return nms_BlockTripWire;
        case "net.minecraft.src.BlockCommandBlock": nms_BlockCommandBlock.$clinit(); return nms_BlockCommandBlock;
        case "net.minecraft.src.BlockBeacon": nms_BlockBeacon.$clinit(); return nms_BlockBeacon;
        case "net.minecraft.src.BlockWall": nms_BlockWall.$clinit(); return nms_BlockWall;
        case "net.minecraft.src.BlockFlowerPot": nms_BlockFlowerPot.$clinit(); return nms_BlockFlowerPot;
        case "net.minecraft.src.BlockCarrot": nms_BlockCarrot.$clinit(); return nms_BlockCarrot;
        case "net.minecraft.src.BlockPotato": nms_BlockPotato.$clinit(); return nms_BlockPotato;
        case "net.minecraft.src.BlockButtonWood": nms_BlockButtonWood.$clinit(); return nms_BlockButtonWood;
        case "net.minecraft.src.BlockSkull": nms_BlockSkull.$clinit(); return nms_BlockSkull;
        case "net.minecraft.src.BlockAnvil": nms_BlockAnvil.$clinit(); return nms_BlockAnvil;
        case "net.minecraft.src.BlockPressurePlateWeighted": nms_BlockPressurePlateWeighted.$clinit(); return nms_BlockPressurePlateWeighted;
        case "net.minecraft.src.BlockComparator": nms_BlockComparator.$clinit(); return nms_BlockComparator;
        case "net.minecraft.src.BlockDaylightDetector": nms_BlockDaylightDetector.$clinit(); return nms_BlockDaylightDetector;
        case "net.minecraft.src.BlockPoweredOre": nms_BlockPoweredOre.$clinit(); return nms_BlockPoweredOre;
        case "net.minecraft.src.BlockHopper": nms_BlockHopper.$clinit(); return nms_BlockHopper;
        case "net.minecraft.src.BlockQuartz": nms_BlockQuartz.$clinit(); return nms_BlockQuartz;
        case "net.minecraft.src.BlockDropper": nms_BlockDropper.$clinit(); return nms_BlockDropper;
        case "net.minecraft.src.ItemCloth": nms_ItemCloth.$clinit(); return nms_ItemCloth;
        case "net.minecraft.src.ItemBlock": nms_ItemBlock.$clinit(); return nms_ItemBlock;
        case "net.minecraft.src.ItemMultiTextureTile": nms_ItemMultiTextureTile.$clinit(); return nms_ItemMultiTextureTile;
        case "net.minecraft.src.ItemSlab": nms_ItemSlab.$clinit(); return nms_ItemSlab;
        case "net.minecraft.src.ItemLeaves": nms_ItemLeaves.$clinit(); return nms_ItemLeaves;
        case "net.minecraft.src.ItemColored": nms_ItemColored.$clinit(); return nms_ItemColored;
        case "net.minecraft.src.ItemSnow": nms_ItemSnow.$clinit(); return nms_ItemSnow;
        case "net.minecraft.src.ItemBlockWithMetadata": nms_ItemBlockWithMetadata.$clinit(); return nms_ItemBlockWithMetadata;
        case "net.minecraft.src.ItemLilyPad": nms_ItemLilyPad.$clinit(); return nms_ItemLilyPad;
        case "net.minecraft.src.ItemPiston": nms_ItemPiston.$clinit(); return nms_ItemPiston;
        case "net.minecraft.src.ItemAnvilBlock": nms_ItemAnvilBlock.$clinit(); return nms_ItemAnvilBlock;
        case "java.util.LinkedHashMap": ju_LinkedHashMap.$clinit(); return ju_LinkedHashMap;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_0": nms_EntityList$_clinit_$lambda$_61_0.$clinit(); return nms_EntityList$_clinit_$lambda$_61_0;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_1": nms_EntityList$_clinit_$lambda$_61_1.$clinit(); return nms_EntityList$_clinit_$lambda$_61_1;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_2": nms_EntityList$_clinit_$lambda$_61_2.$clinit(); return nms_EntityList$_clinit_$lambda$_61_2;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_3": nms_EntityList$_clinit_$lambda$_61_3.$clinit(); return nms_EntityList$_clinit_$lambda$_61_3;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_4": nms_EntityList$_clinit_$lambda$_61_4.$clinit(); return nms_EntityList$_clinit_$lambda$_61_4;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_5": nms_EntityList$_clinit_$lambda$_61_5.$clinit(); return nms_EntityList$_clinit_$lambda$_61_5;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_6": nms_EntityList$_clinit_$lambda$_61_6.$clinit(); return nms_EntityList$_clinit_$lambda$_61_6;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_7": nms_EntityList$_clinit_$lambda$_61_7.$clinit(); return nms_EntityList$_clinit_$lambda$_61_7;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_8": nms_EntityList$_clinit_$lambda$_61_8.$clinit(); return nms_EntityList$_clinit_$lambda$_61_8;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_9": nms_EntityList$_clinit_$lambda$_61_9.$clinit(); return nms_EntityList$_clinit_$lambda$_61_9;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_10": nms_EntityList$_clinit_$lambda$_61_10.$clinit(); return nms_EntityList$_clinit_$lambda$_61_10;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_11": nms_EntityList$_clinit_$lambda$_61_11.$clinit(); return nms_EntityList$_clinit_$lambda$_61_11;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_12": nms_EntityList$_clinit_$lambda$_61_12.$clinit(); return nms_EntityList$_clinit_$lambda$_61_12;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_13": nms_EntityList$_clinit_$lambda$_61_13.$clinit(); return nms_EntityList$_clinit_$lambda$_61_13;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_14": nms_EntityList$_clinit_$lambda$_61_14.$clinit(); return nms_EntityList$_clinit_$lambda$_61_14;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_15": nms_EntityList$_clinit_$lambda$_61_15.$clinit(); return nms_EntityList$_clinit_$lambda$_61_15;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_16": nms_EntityList$_clinit_$lambda$_61_16.$clinit(); return nms_EntityList$_clinit_$lambda$_61_16;
        case "net.minecraft.src.EntityMinecartEmpty": nms_EntityMinecartEmpty.$clinit(); return nms_EntityMinecartEmpty;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_17": nms_EntityList$_clinit_$lambda$_61_17.$clinit(); return nms_EntityList$_clinit_$lambda$_61_17;
        case "net.minecraft.src.EntityMinecartChest": nms_EntityMinecartChest.$clinit(); return nms_EntityMinecartChest;
        case "net.minecraft.src.EntityMinecartContainer": nms_EntityMinecartContainer.$clinit(); return nms_EntityMinecartContainer;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_18": nms_EntityList$_clinit_$lambda$_61_18.$clinit(); return nms_EntityList$_clinit_$lambda$_61_18;
        case "net.minecraft.src.EntityMinecartFurnace": nms_EntityMinecartFurnace.$clinit(); return nms_EntityMinecartFurnace;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_19": nms_EntityList$_clinit_$lambda$_61_19.$clinit(); return nms_EntityList$_clinit_$lambda$_61_19;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_20": nms_EntityList$_clinit_$lambda$_61_20.$clinit(); return nms_EntityList$_clinit_$lambda$_61_20;
        case "net.minecraft.src.EntityMinecartHopper": nms_EntityMinecartHopper.$clinit(); return nms_EntityMinecartHopper;
        case "net.minecraft.src.Hopper": nms_Hopper.$clinit(); return nms_Hopper;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_21": nms_EntityList$_clinit_$lambda$_61_21.$clinit(); return nms_EntityList$_clinit_$lambda$_61_21;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_22": nms_EntityList$_clinit_$lambda$_61_22.$clinit(); return nms_EntityList$_clinit_$lambda$_61_22;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_23": nms_EntityList$_clinit_$lambda$_61_23.$clinit(); return nms_EntityList$_clinit_$lambda$_61_23;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_24": nms_EntityList$_clinit_$lambda$_61_24.$clinit(); return nms_EntityList$_clinit_$lambda$_61_24;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_25": nms_EntityList$_clinit_$lambda$_61_25.$clinit(); return nms_EntityList$_clinit_$lambda$_61_25;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_26": nms_EntityList$_clinit_$lambda$_61_26.$clinit(); return nms_EntityList$_clinit_$lambda$_61_26;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_27": nms_EntityList$_clinit_$lambda$_61_27.$clinit(); return nms_EntityList$_clinit_$lambda$_61_27;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_28": nms_EntityList$_clinit_$lambda$_61_28.$clinit(); return nms_EntityList$_clinit_$lambda$_61_28;
        case "net.minecraft.src.EntityPigZombie": nms_EntityPigZombie.$clinit(); return nms_EntityPigZombie;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_29": nms_EntityList$_clinit_$lambda$_61_29.$clinit(); return nms_EntityList$_clinit_$lambda$_61_29;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_30": nms_EntityList$_clinit_$lambda$_61_30.$clinit(); return nms_EntityList$_clinit_$lambda$_61_30;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_31": nms_EntityList$_clinit_$lambda$_61_31.$clinit(); return nms_EntityList$_clinit_$lambda$_61_31;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_32": nms_EntityList$_clinit_$lambda$_61_32.$clinit(); return nms_EntityList$_clinit_$lambda$_61_32;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_33": nms_EntityList$_clinit_$lambda$_61_33.$clinit(); return nms_EntityList$_clinit_$lambda$_61_33;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_34": nms_EntityList$_clinit_$lambda$_61_34.$clinit(); return nms_EntityList$_clinit_$lambda$_61_34;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_35": nms_EntityList$_clinit_$lambda$_61_35.$clinit(); return nms_EntityList$_clinit_$lambda$_61_35;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_36": nms_EntityList$_clinit_$lambda$_61_36.$clinit(); return nms_EntityList$_clinit_$lambda$_61_36;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_37": nms_EntityList$_clinit_$lambda$_61_37.$clinit(); return nms_EntityList$_clinit_$lambda$_61_37;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_38": nms_EntityList$_clinit_$lambda$_61_38.$clinit(); return nms_EntityList$_clinit_$lambda$_61_38;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_39": nms_EntityList$_clinit_$lambda$_61_39.$clinit(); return nms_EntityList$_clinit_$lambda$_61_39;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_40": nms_EntityList$_clinit_$lambda$_61_40.$clinit(); return nms_EntityList$_clinit_$lambda$_61_40;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_41": nms_EntityList$_clinit_$lambda$_61_41.$clinit(); return nms_EntityList$_clinit_$lambda$_61_41;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_42": nms_EntityList$_clinit_$lambda$_61_42.$clinit(); return nms_EntityList$_clinit_$lambda$_61_42;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_43": nms_EntityList$_clinit_$lambda$_61_43.$clinit(); return nms_EntityList$_clinit_$lambda$_61_43;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_44": nms_EntityList$_clinit_$lambda$_61_44.$clinit(); return nms_EntityList$_clinit_$lambda$_61_44;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_45": nms_EntityList$_clinit_$lambda$_61_45.$clinit(); return nms_EntityList$_clinit_$lambda$_61_45;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_46": nms_EntityList$_clinit_$lambda$_61_46.$clinit(); return nms_EntityList$_clinit_$lambda$_61_46;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_47": nms_EntityList$_clinit_$lambda$_61_47.$clinit(); return nms_EntityList$_clinit_$lambda$_61_47;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_48": nms_EntityList$_clinit_$lambda$_61_48.$clinit(); return nms_EntityList$_clinit_$lambda$_61_48;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_49": nms_EntityList$_clinit_$lambda$_61_49.$clinit(); return nms_EntityList$_clinit_$lambda$_61_49;
        case "net.minecraft.src.EntityList$<clinit>$lambda$_61_50": nms_EntityList$_clinit_$lambda$_61_50.$clinit(); return nms_EntityList$_clinit_$lambda$_61_50;
        case "java.util.Collections$5": ju_Collections$5.$clinit(); return ju_Collections$5;
        case "java.util.Collections$6": ju_Collections$6.$clinit(); return ju_Collections$6;
        case "java.util.Collections$3": ju_Collections$3.$clinit(); return ju_Collections$3;
        case "java.nio.charset.CharsetDecoder": jnc_CharsetDecoder.$clinit(); return jnc_CharsetDecoder;
        case "java.nio.FloatBufferOverArray": jn_FloatBufferOverArray.$clinit(); return jn_FloatBufferOverArray;
        case "java.nio.FloatBufferImpl": jn_FloatBufferImpl.$clinit(); return jn_FloatBufferImpl;
        case "net.lax1dude.eaglercraft.glemu.vector.Vector2f": nlegv_Vector2f.$clinit(); return nlegv_Vector2f;
        case "me.ayunami2000.ayuncraft.tmi.TMIController": maat_TMIController.$clinit(); return maat_TMIController;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgButtonHandler": maat__tmi_MgButtonHandler.$clinit(); return maat__tmi_MgButtonHandler;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgItemHandler": maat__tmi_MgItemHandler.$clinit(); return maat__tmi_MgItemHandler;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgFocusHandler": maat__tmi_MgFocusHandler.$clinit(); return maat__tmi_MgFocusHandler;
        case "net.minecraft.src.EntityEggInfo": nms_EntityEggInfo.$clinit(); return nms_EntityEggInfo;
        case "net.minecraft.src.CreativeTabBlock": nms_CreativeTabBlock.$clinit(); return nms_CreativeTabBlock;
        case "net.minecraft.src.CreativeTabDeco": nms_CreativeTabDeco.$clinit(); return nms_CreativeTabDeco;
        case "net.minecraft.src.CreativeTabRedstone": nms_CreativeTabRedstone.$clinit(); return nms_CreativeTabRedstone;
        case "net.minecraft.src.CreativeTabTransport": nms_CreativeTabTransport.$clinit(); return nms_CreativeTabTransport;
        case "net.minecraft.src.CreativeTabMisc": nms_CreativeTabMisc.$clinit(); return nms_CreativeTabMisc;
        case "net.minecraft.src.CreativeTabSearch": nms_CreativeTabSearch.$clinit(); return nms_CreativeTabSearch;
        case "net.minecraft.src.CreativeTabFood": nms_CreativeTabFood.$clinit(); return nms_CreativeTabFood;
        case "net.minecraft.src.CreativeTabTools": nms_CreativeTabTools.$clinit(); return nms_CreativeTabTools;
        case "net.minecraft.src.CreativeTabCombat": nms_CreativeTabCombat.$clinit(); return nms_CreativeTabCombat;
        case "net.minecraft.src.CreativeTabBrewing": nms_CreativeTabBrewing.$clinit(); return nms_CreativeTabBrewing;
        case "net.minecraft.src.CreativeTabMaterial": nms_CreativeTabMaterial.$clinit(); return nms_CreativeTabMaterial;
        case "net.minecraft.src.CreativeTabInventory": nms_CreativeTabInventory.$clinit(); return nms_CreativeTabInventory;
        case "net.minecraft.src.PotionHealth": nms_PotionHealth.$clinit(); return nms_PotionHealth;
        case "net.minecraft.src.MaterialTransparent": nms_MaterialTransparent.$clinit(); return nms_MaterialTransparent;
        case "net.minecraft.src.MapColor": nms_MapColor.$clinit(); return nms_MapColor;
        case "net.minecraft.src.MaterialLiquid": nms_MaterialLiquid.$clinit(); return nms_MaterialLiquid;
        case "net.minecraft.src.MaterialLogic": nms_MaterialLogic.$clinit(); return nms_MaterialLogic;
        case "net.minecraft.src.MaterialPortal": nms_MaterialPortal.$clinit(); return nms_MaterialPortal;
        case "net.minecraft.src.MaterialWeb": nms_MaterialWeb.$clinit(); return nms_MaterialWeb;
        case "java.util.TreeMap$1": ju_TreeMap$1.$clinit(); return ju_TreeMap$1;
        case "net.minecraft.src.StatTypeSimple": nms_StatTypeSimple.$clinit(); return nms_StatTypeSimple;
        case "net.minecraft.src.IStatType": nms_IStatType.$clinit(); return nms_IStatType;
        case "net.minecraft.src.StatTypeTime": nms_StatTypeTime.$clinit(); return nms_StatTypeTime;
        case "net.minecraft.src.StatTypeDistance": nms_StatTypeDistance.$clinit(); return nms_StatTypeDistance;
        case "java.util.Hashtable$1": ju_Hashtable$1.$clinit(); return ju_Hashtable$1;
        case "java.util.Enumeration": ju_Enumeration.$clinit(); return ju_Enumeration;
        case "java.util.Hashtable$2": ju_Hashtable$2.$clinit(); return ju_Hashtable$2;
        case "java.util.Hashtable$Entry": ju_Hashtable$Entry.$clinit(); return ju_Hashtable$Entry;
        case "me.ayunami2000.ayuncraft.tmi.TMIConfig": maat_TMIConfig.$clinit(); return maat_TMIConfig;
        case "me.ayunami2000.ayuncraft.tmi.TMIItemInfo": maat_TMIItemInfo.$clinit(); return maat_TMIItemInfo;
        case "me.ayunami2000.ayuncraft.tmi.TMIPrivateFields": maat_TMIPrivateFields.$clinit(); return maat_TMIPrivateFields;
        case "java.util.TreeSet": ju_TreeSet.$clinit(); return ju_TreeSet;
        case "java.util.NavigableSet": ju_NavigableSet.$clinit(); return ju_NavigableSet;
        case "java.util.SortedSet": ju_SortedSet.$clinit(); return ju_SortedSet;
        case "java.util.HashMap$ValueIterator": ju_HashMap$ValueIterator.$clinit(); return ju_HashMap$ValueIterator;
        case "java.util.HashMap$AbstractMapIterator": ju_HashMap$AbstractMapIterator.$clinit(); return ju_HashMap$AbstractMapIterator;
        case "java.lang.ArithmeticException": jl_ArithmeticException.$clinit(); return jl_ArithmeticException;
        case "java.nio.charset.CharacterCodingException": jnc_CharacterCodingException.$clinit(); return jnc_CharacterCodingException;
        case "java.nio.charset.impl.UTF8Decoder": jnci_UTF8Decoder.$clinit(); return jnci_UTF8Decoder;
        case "java.nio.charset.impl.BufferedDecoder": jnci_BufferedDecoder.$clinit(); return jnci_BufferedDecoder;
        case "net.minecraft.src.RenderHelper": nms_RenderHelper.$clinit(); return nms_RenderHelper;
        case "java.util.HashMap$1": ju_HashMap$1.$clinit(); return ju_HashMap$1;
        case "java.util.HashMap$HashMapEntrySet": ju_HashMap$HashMapEntrySet.$clinit(); return ju_HashMap$HashMapEntrySet;
        case "java.util.LinkedHashMap$LinkedHashMapEntry": ju_LinkedHashMap$LinkedHashMapEntry.$clinit(); return ju_LinkedHashMap$LinkedHashMapEntry;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgCanvas": maat__tmi_MgCanvas.$clinit(); return maat__tmi_MgCanvas;
        case "me.ayunami2000.ayuncraft.tmi.TMIView": maat_TMIView.$clinit(); return maat_TMIView;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgTooltipHandler": maat__tmi_MgTooltipHandler.$clinit(); return maat__tmi_MgTooltipHandler;
        case "me.ayunami2000.ayuncraft.tmi.TMIUtils": maat_TMIUtils.$clinit(); return maat_TMIUtils;
        case "net.minecraft.src.TileEntitySkull": nms_TileEntitySkull.$clinit(); return nms_TileEntitySkull;
        case "java.util.regex.AbstractCharClass$LazyJavaLowerCase$1": jur_AbstractCharClass$LazyJavaLowerCase$1.$clinit(); return jur_AbstractCharClass$LazyJavaLowerCase$1;
        case "java.util.regex.AbstractCharClass$LazyJavaUpperCase$1": jur_AbstractCharClass$LazyJavaUpperCase$1.$clinit(); return jur_AbstractCharClass$LazyJavaUpperCase$1;
        case "java.util.regex.AbstractCharClass$LazyJavaWhitespace$1": jur_AbstractCharClass$LazyJavaWhitespace$1.$clinit(); return jur_AbstractCharClass$LazyJavaWhitespace$1;
        case "java.util.regex.AbstractCharClass$LazyJavaMirrored$1": jur_AbstractCharClass$LazyJavaMirrored$1.$clinit(); return jur_AbstractCharClass$LazyJavaMirrored$1;
        case "java.util.regex.AbstractCharClass$LazyJavaDefined$1": jur_AbstractCharClass$LazyJavaDefined$1.$clinit(); return jur_AbstractCharClass$LazyJavaDefined$1;
        case "java.util.regex.AbstractCharClass$LazyJavaDigit$1": jur_AbstractCharClass$LazyJavaDigit$1.$clinit(); return jur_AbstractCharClass$LazyJavaDigit$1;
        case "java.util.regex.AbstractCharClass$LazyJavaIdentifierIgnorable$1": jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1.$clinit(); return jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1;
        case "java.util.regex.AbstractCharClass$LazyJavaISOControl$1": jur_AbstractCharClass$LazyJavaISOControl$1.$clinit(); return jur_AbstractCharClass$LazyJavaISOControl$1;
        case "java.util.regex.AbstractCharClass$LazyJavaJavaIdentifierPart$1": jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1.$clinit(); return jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1;
        case "java.util.regex.AbstractCharClass$LazyJavaJavaIdentifierStart$1": jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1.$clinit(); return jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1;
        case "java.util.regex.AbstractCharClass$LazyJavaLetter$1": jur_AbstractCharClass$LazyJavaLetter$1.$clinit(); return jur_AbstractCharClass$LazyJavaLetter$1;
        case "java.util.regex.AbstractCharClass$LazyJavaLetterOrDigit$1": jur_AbstractCharClass$LazyJavaLetterOrDigit$1.$clinit(); return jur_AbstractCharClass$LazyJavaLetterOrDigit$1;
        case "java.util.regex.AbstractCharClass$LazyJavaSpaceChar$1": jur_AbstractCharClass$LazyJavaSpaceChar$1.$clinit(); return jur_AbstractCharClass$LazyJavaSpaceChar$1;
        case "java.util.regex.AbstractCharClass$LazyJavaTitleCase$1": jur_AbstractCharClass$LazyJavaTitleCase$1.$clinit(); return jur_AbstractCharClass$LazyJavaTitleCase$1;
        case "java.util.regex.AbstractCharClass$LazyJavaUnicodeIdentifierPart$1": jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1.$clinit(); return jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1;
        case "java.util.regex.AbstractCharClass$LazyJavaUnicodeIdentifierStart$1": jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1.$clinit(); return jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1;
        case "java.util.regex.UnicodeCategory": jur_UnicodeCategory.$clinit(); return jur_UnicodeCategory;
        case "java.util.regex.UnicodeCategoryScope": jur_UnicodeCategoryScope.$clinit(); return jur_UnicodeCategoryScope;
        case "net.minecraft.src.GuiGameOver": nms_GuiGameOver.$clinit(); return nms_GuiGameOver;
        case "net.minecraft.src.GuiIngameMenu": nms_GuiIngameMenu.$clinit(); return nms_GuiIngameMenu;
        case "net.minecraft.src.WorldRenderer": nms_WorldRenderer.$clinit(); return nms_WorldRenderer;
        case "net.minecraft.src.EntitySorter": nms_EntitySorter.$clinit(); return nms_EntitySorter;
        case "net.minecraft.src.BossStatus": nms_BossStatus.$clinit(); return nms_BossStatus;
        case "net.minecraft.src.EntityFX": nms_EntityFX.$clinit(); return nms_EntityFX;
        case "java.text.DecimalFormat$MantissaAndExponent": jt_DecimalFormat$MantissaAndExponent.$clinit(); return jt_DecimalFormat$MantissaAndExponent;
        case "java.text.DecimalFormat$MinusField": jt_DecimalFormat$MinusField.$clinit(); return jt_DecimalFormat$MinusField;
        case "net.minecraft.src.EntityDiggingFX": nms_EntityDiggingFX.$clinit(); return nms_EntityDiggingFX;
        case "java.nio.FloatBufferOverByteBufferLittleEndian": jn_FloatBufferOverByteBufferLittleEndian.$clinit(); return jn_FloatBufferOverByteBufferLittleEndian;
        case "java.nio.FloatBufferOverByteBuffer": jn_FloatBufferOverByteBuffer.$clinit(); return jn_FloatBufferOverByteBuffer;
        case "java.nio.FloatBufferOverByteBufferBigEndian": jn_FloatBufferOverByteBufferBigEndian.$clinit(); return jn_FloatBufferOverByteBufferBigEndian;
        case "net.minecraft.src.ModelBox": nms_ModelBox.$clinit(); return nms_ModelBox;
        case "net.minecraft.src.TextureOffset": nms_TextureOffset.$clinit(); return nms_TextureOffset;
        case "net.minecraft.src.WorldProvider": nms_WorldProvider.$clinit(); return nms_WorldProvider;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgTabView": maat__tmi_MgTabView.$clinit(); return maat__tmi_MgTabView;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgWidget": maat__tmi_MgWidget.$clinit(); return maat__tmi_MgWidget;
        case "me.ayunami2000.ayuncraft.tmi.TMIEnchantPanel": maat_TMIEnchantPanel.$clinit(); return maat_TMIEnchantPanel;
        case "me.ayunami2000.ayuncraft.tmi.TMIConfigPanel": maat_TMIConfigPanel.$clinit(); return maat_TMIConfigPanel;
        case "me.ayunami2000.ayuncraft.tmi.TMIPotionPanel": maat_TMIPotionPanel.$clinit(); return maat_TMIPotionPanel;
        case "me.ayunami2000.ayuncraft.tmi.TMIFireworkPanel": maat_TMIFireworkPanel.$clinit(); return maat_TMIFireworkPanel;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgButton": maat__tmi_MgButton.$clinit(); return maat__tmi_MgButton;
        case "net.minecraft.src.PotionEffect": nms_PotionEffect.$clinit(); return nms_PotionEffect;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$AudioBufferSourceNodeX": nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX.$clinit(); return nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$24": nlea_EaglerAdapterImpl2$24.$clinit(); return nlea_EaglerAdapterImpl2$24;
        case "net.minecraft.src.EntitySmokeFX": nms_EntitySmokeFX.$clinit(); return nms_EntitySmokeFX;
        case "net.minecraft.src.EntityRainFX": nms_EntityRainFX.$clinit(); return nms_EntityRainFX;
        case "net.minecraft.src.DestroyBlockProgress": nms_DestroyBlockProgress.$clinit(); return nms_DestroyBlockProgress;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$23": nlea_EaglerAdapterImpl2$23.$clinit(); return nlea_EaglerAdapterImpl2$23;
        case "java.math.BigDecimal": jm_BigDecimal.$clinit(); return jm_BigDecimal;
        case "java.math.BigInteger": jm_BigInteger.$clinit(); return jm_BigInteger;
        case "net.minecraft.src.PositionTextureVertex": nms_PositionTextureVertex.$clinit(); return nms_PositionTextureVertex;
        case "net.minecraft.src.TexturedQuad": nms_TexturedQuad.$clinit(); return nms_TexturedQuad;
        case "net.minecraft.src.AchievementMap": nms_AchievementMap.$clinit(); return nms_AchievementMap;
        case "java.util.TreeMap$TreeNode": ju_TreeMap$TreeNode.$clinit(); return ju_TreeMap$TreeNode;
        case "java.util.AbstractMap$SimpleEntry": ju_AbstractMap$SimpleEntry.$clinit(); return ju_AbstractMap$SimpleEntry;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgTextField": maat__tmi_MgTextField.$clinit(); return maat__tmi_MgTextField;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgItemButton": maat__tmi_MgItemButton.$clinit(); return maat__tmi_MgItemButton;
        case "me.ayunami2000.ayuncraft.tmi.TMIImages": maat_TMIImages.$clinit(); return maat_TMIImages;
        case "me.ayunami2000.ayuncraft.tmi.TMIEnchantItemPicker": maat_TMIEnchantItemPicker.$clinit(); return maat_TMIEnchantItemPicker;
        case "me.ayunami2000.ayuncraft.tmi.TMIPotionEffectPicker": maat_TMIPotionEffectPicker.$clinit(); return maat_TMIPotionEffectPicker;
        case "me.ayunami2000.ayuncraft.tmi.TMIPotionEffectControl": maat_TMIPotionEffectControl.$clinit(); return maat_TMIPotionEffectControl;
        case "java.util.Random": ju_Random.$clinit(); return ju_Random;
        case "java.lang.ClassNotFoundException": jl_ClassNotFoundException.$clinit(); return jl_ClassNotFoundException;
        case "java.lang.ReflectiveOperationException": jl_ReflectiveOperationException.$clinit(); return jl_ReflectiveOperationException;
        case "me.ayunami2000.ayuncraft.tmi.TMIItemMushroomCap": maat_TMIItemMushroomCap.$clinit(); return maat_TMIItemMushroomCap;
        case "me.ayunami2000.ayuncraft.tmi.TMIItemSpawner": maat_TMIItemSpawner.$clinit(); return maat_TMIItemSpawner;
        case "me.ayunami2000.ayuncraft.tmi.TMIItemCrop": maat_TMIItemCrop.$clinit(); return maat_TMIItemCrop;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$AudioBufferX": nlea_EaglerAdapterImpl2$AudioBufferX.$clinit(); return nlea_EaglerAdapterImpl2$AudioBufferX;
        case "net.minecraft.src.BiomeGenBase": nms_BiomeGenBase.$clinit(); return nms_BiomeGenBase;
        case "java.text.DecimalFormat$1": jt_DecimalFormat$1.$clinit(); return jt_DecimalFormat$1;
        case "java.util.Arrays$ArrayAsList": ju_Arrays$ArrayAsList.$clinit(); return ju_Arrays$ArrayAsList;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$21": nlea_EaglerAdapterImpl2$21.$clinit(); return nlea_EaglerAdapterImpl2$21;
        case "org.teavm.jso.webaudio.DecodeSuccessCallback": otjw_DecodeSuccessCallback.$clinit(); return otjw_DecodeSuccessCallback;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$22": nlea_EaglerAdapterImpl2$22.$clinit(); return nlea_EaglerAdapterImpl2$22;
        case "org.teavm.jso.webaudio.DecodeErrorCallback": otjw_DecodeErrorCallback.$clinit(); return otjw_DecodeErrorCallback;
        case "java.math.Multiplication": jm_Multiplication.$clinit(); return jm_Multiplication;
        case "net.minecraft.src.GuiTextField": nms_GuiTextField.$clinit(); return nms_GuiTextField;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgImage": maat__tmi_MgImage.$clinit(); return maat__tmi_MgImage;
        case "me.ayunami2000.ayuncraft.Color": maa_Color.$clinit(); return maa_Color;
        case "net.minecraft.src.DataWatcher": nms_DataWatcher.$clinit(); return nms_DataWatcher;
        case "net.minecraft.src.EnumEntitySize": nms_EnumEntitySize.$clinit(); return nms_EnumEntitySize;
        case "java.lang.Byte": jl_Byte.$clinit(); return jl_Byte;
        case "java.lang.Short": jl_Short.$clinit(); return jl_Short;
        case "net.minecraft.src.ChunkCoordinates": nms_ChunkCoordinates.$clinit(); return nms_ChunkCoordinates;
        case "java.util.HashMap$KeyIterator": ju_HashMap$KeyIterator.$clinit(); return ju_HashMap$KeyIterator;
        case "java.util.HashMap$EntryIterator": ju_HashMap$EntryIterator.$clinit(); return ju_HashMap$EntryIterator;
        case "net.minecraft.src.GuiContainerCreative": nms_GuiContainerCreative.$clinit(); return nms_GuiContainerCreative;
        case "net.minecraft.src.GuiButton": nms_GuiButton.$clinit(); return nms_GuiButton;
        case "net.lax1dude.eaglercraft.License": nle_License.$clinit(); return nle_License;
        case "net.minecraft.src.EnumChatFormatting": nms_EnumChatFormatting.$clinit(); return nms_EnumChatFormatting;
        case "net.minecraft.src.StatCollector": nms_StatCollector.$clinit(); return nms_StatCollector;
        case "java.math.BitLevel": jm_BitLevel.$clinit(); return jm_BitLevel;
        case "java.math.Division": jm_Division.$clinit(); return jm_Division;
        case "java.math.Elementary": jm_Elementary.$clinit(); return jm_Elementary;
        case "net.lax1dude.eaglercraft.glemu.EffectPipelineFXAA": nleg_EffectPipelineFXAA.$clinit(); return nleg_EffectPipelineFXAA;
        case "net.minecraft.src.ActiveRenderInfo": nms_ActiveRenderInfo.$clinit(); return nms_ActiveRenderInfo;
        case "net.minecraft.src.ClippingHelperImpl": nms_ClippingHelperImpl.$clinit(); return nms_ClippingHelperImpl;
        case "net.minecraft.src.ClippingHelper": nms_ClippingHelper.$clinit(); return nms_ClippingHelper;
        case "net.minecraft.src.Frustrum": nms_Frustrum.$clinit(); return nms_Frustrum;
        case "net.minecraft.src.ICamera": nms_ICamera.$clinit(); return nms_ICamera;
        case "net.minecraft.src.StringUtils": nms_StringUtils.$clinit(); return nms_StringUtils;
        case "net.lax1dude.eaglercraft.EnumBrowser": nle_EnumBrowser.$clinit(); return nle_EnumBrowser;
        case "net.minecraft.src.Direction": nms_Direction.$clinit(); return nms_Direction;
        case "net.minecraft.src.NetClientHandler": nms_NetClientHandler.$clinit(); return nms_NetClientHandler;
        case "net.minecraft.src.NetHandler": nms_NetHandler.$clinit(); return nms_NetHandler;
        case "net.minecraft.src.GuiPlayerInfo": nms_GuiPlayerInfo.$clinit(); return nms_GuiPlayerInfo;
        case "net.minecraft.src.ScorePlayerTeam": nms_ScorePlayerTeam.$clinit(); return nms_ScorePlayerTeam;
        case "java.util.AbstractMap$KeySet": ju_AbstractMap$KeySet.$clinit(); return ju_AbstractMap$KeySet;
        case "com.jcraft.jzlib.Inflate$Return": cjj_Inflate$Return.$clinit(); return cjj_Inflate$Return;
        case "com.jcraft.jzlib.GZIPHeader": cjj_GZIPHeader.$clinit(); return cjj_GZIPHeader;
        case "com.jcraft.jzlib.CRC32": cjj_CRC32.$clinit(); return cjj_CRC32;
        case "net.minecraft.src.StitchHolder": nms_StitchHolder.$clinit(); return nms_StitchHolder;
        case "net.minecraft.src.Texture": nms_Texture.$clinit(); return nms_Texture;
        case "net.minecraft.src.StitcherException": nms_StitcherException.$clinit(); return nms_StitcherException;
        case "net.minecraft.src.TextureStitched": nms_TextureStitched.$clinit(); return nms_TextureStitched;
        case "net.minecraft.src.Packet204ClientInfo": nms_Packet204ClientInfo.$clinit(); return nms_Packet204ClientInfo;
        case "java.text.DecimalFormat$PerMillField": jt_DecimalFormat$PerMillField.$clinit(); return jt_DecimalFormat$PerMillField;
        case "java.text.DecimalFormat$CurrencyField": jt_DecimalFormat$CurrencyField.$clinit(); return jt_DecimalFormat$CurrencyField;
        case "java.text.DecimalFormat$PercentField": jt_DecimalFormat$PercentField.$clinit(); return jt_DecimalFormat$PercentField;
        case "net.minecraft.src.MovementInputFromOptions": nms_MovementInputFromOptions.$clinit(); return nms_MovementInputFromOptions;
        case "net.minecraft.src.MovementInput": nms_MovementInput.$clinit(); return nms_MovementInput;
        case "java.util.LinkedList$SequentialListIterator": ju_LinkedList$SequentialListIterator.$clinit(); return ju_LinkedList$SequentialListIterator;
        case "java.util.ListIterator": ju_ListIterator.$clinit(); return ju_ListIterator;
        case "java.util.LinkedList$Entry": ju_LinkedList$Entry.$clinit(); return ju_LinkedList$Entry;
        case "me.ayunami2000.ayuncraft.tmi.TMIItemPanel": maat_TMIItemPanel.$clinit(); return maat_TMIItemPanel;
        case "me.ayunami2000.ayuncraft.tmi.TMIFavoritesPanel": maat_TMIFavoritesPanel.$clinit(); return maat_TMIFavoritesPanel;
        case "me.ayunami2000.ayuncraft.tmi.TMIStateButtonData": maat_TMIStateButtonData.$clinit(); return maat_TMIStateButtonData;
        case "java.util.LinkedHashMap$1": ju_LinkedHashMap$1.$clinit(); return ju_LinkedHashMap$1;
        case "net.minecraft.src.Facing": nms_Facing.$clinit(); return nms_Facing;
        case "java.lang.Boolean": jl_Boolean.$clinit(); return jl_Boolean;
        case "net.minecraft.src.Packet0KeepAlive": nms_Packet0KeepAlive.$clinit(); return nms_Packet0KeepAlive;
        case "net.minecraft.src.Packet1Login": nms_Packet1Login.$clinit(); return nms_Packet1Login;
        case "net.minecraft.src.Packet2ClientProtocol": nms_Packet2ClientProtocol.$clinit(); return nms_Packet2ClientProtocol;
        case "net.minecraft.src.Packet4UpdateTime": nms_Packet4UpdateTime.$clinit(); return nms_Packet4UpdateTime;
        case "net.minecraft.src.Packet5PlayerInventory": nms_Packet5PlayerInventory.$clinit(); return nms_Packet5PlayerInventory;
        case "net.minecraft.src.Packet6SpawnPosition": nms_Packet6SpawnPosition.$clinit(); return nms_Packet6SpawnPosition;
        case "net.minecraft.src.Packet7UseEntity": nms_Packet7UseEntity.$clinit(); return nms_Packet7UseEntity;
        case "net.minecraft.src.Packet8UpdateHealth": nms_Packet8UpdateHealth.$clinit(); return nms_Packet8UpdateHealth;
        case "net.minecraft.src.Packet9Respawn": nms_Packet9Respawn.$clinit(); return nms_Packet9Respawn;
        case "net.minecraft.src.Packet10Flying": nms_Packet10Flying.$clinit(); return nms_Packet10Flying;
        case "net.minecraft.src.Packet11PlayerPosition": nms_Packet11PlayerPosition.$clinit(); return nms_Packet11PlayerPosition;
        case "net.minecraft.src.Packet12PlayerLook": nms_Packet12PlayerLook.$clinit(); return nms_Packet12PlayerLook;
        case "net.minecraft.src.Packet13PlayerLookMove": nms_Packet13PlayerLookMove.$clinit(); return nms_Packet13PlayerLookMove;
        case "net.minecraft.src.Packet14BlockDig": nms_Packet14BlockDig.$clinit(); return nms_Packet14BlockDig;
        case "net.minecraft.src.Packet15Place": nms_Packet15Place.$clinit(); return nms_Packet15Place;
        case "net.minecraft.src.Packet16BlockItemSwitch": nms_Packet16BlockItemSwitch.$clinit(); return nms_Packet16BlockItemSwitch;
        case "net.minecraft.src.Packet17Sleep": nms_Packet17Sleep.$clinit(); return nms_Packet17Sleep;
        case "net.minecraft.src.Packet18Animation": nms_Packet18Animation.$clinit(); return nms_Packet18Animation;
        case "net.minecraft.src.Packet19EntityAction": nms_Packet19EntityAction.$clinit(); return nms_Packet19EntityAction;
        case "net.minecraft.src.Packet20NamedEntitySpawn": nms_Packet20NamedEntitySpawn.$clinit(); return nms_Packet20NamedEntitySpawn;
        case "net.minecraft.src.Packet22Collect": nms_Packet22Collect.$clinit(); return nms_Packet22Collect;
        case "net.minecraft.src.Packet23VehicleSpawn": nms_Packet23VehicleSpawn.$clinit(); return nms_Packet23VehicleSpawn;
        case "net.minecraft.src.Packet24MobSpawn": nms_Packet24MobSpawn.$clinit(); return nms_Packet24MobSpawn;
        case "net.minecraft.src.Packet25EntityPainting": nms_Packet25EntityPainting.$clinit(); return nms_Packet25EntityPainting;
        case "net.minecraft.src.Packet26EntityExpOrb": nms_Packet26EntityExpOrb.$clinit(); return nms_Packet26EntityExpOrb;
        case "net.minecraft.src.Packet28EntityVelocity": nms_Packet28EntityVelocity.$clinit(); return nms_Packet28EntityVelocity;
        case "net.minecraft.src.Packet29DestroyEntity": nms_Packet29DestroyEntity.$clinit(); return nms_Packet29DestroyEntity;
        case "net.minecraft.src.Packet30Entity": nms_Packet30Entity.$clinit(); return nms_Packet30Entity;
        case "net.minecraft.src.Packet31RelEntityMove": nms_Packet31RelEntityMove.$clinit(); return nms_Packet31RelEntityMove;
        case "net.minecraft.src.Packet32EntityLook": nms_Packet32EntityLook.$clinit(); return nms_Packet32EntityLook;
        case "net.minecraft.src.Packet33RelEntityMoveLook": nms_Packet33RelEntityMoveLook.$clinit(); return nms_Packet33RelEntityMoveLook;
        case "net.minecraft.src.Packet34EntityTeleport": nms_Packet34EntityTeleport.$clinit(); return nms_Packet34EntityTeleport;
        case "net.minecraft.src.Packet35EntityHeadRotation": nms_Packet35EntityHeadRotation.$clinit(); return nms_Packet35EntityHeadRotation;
        case "net.minecraft.src.Packet38EntityStatus": nms_Packet38EntityStatus.$clinit(); return nms_Packet38EntityStatus;
        case "net.minecraft.src.Packet39AttachEntity": nms_Packet39AttachEntity.$clinit(); return nms_Packet39AttachEntity;
        case "net.minecraft.src.Packet40EntityMetadata": nms_Packet40EntityMetadata.$clinit(); return nms_Packet40EntityMetadata;
        case "net.minecraft.src.Packet41EntityEffect": nms_Packet41EntityEffect.$clinit(); return nms_Packet41EntityEffect;
        case "net.minecraft.src.Packet42RemoveEntityEffect": nms_Packet42RemoveEntityEffect.$clinit(); return nms_Packet42RemoveEntityEffect;
        case "net.minecraft.src.Packet43Experience": nms_Packet43Experience.$clinit(); return nms_Packet43Experience;
        case "net.minecraft.src.Packet51MapChunk": nms_Packet51MapChunk.$clinit(); return nms_Packet51MapChunk;
        case "net.minecraft.src.Packet52MultiBlockChange": nms_Packet52MultiBlockChange.$clinit(); return nms_Packet52MultiBlockChange;
        case "net.minecraft.src.Packet53BlockChange": nms_Packet53BlockChange.$clinit(); return nms_Packet53BlockChange;
        case "net.minecraft.src.Packet54PlayNoteBlock": nms_Packet54PlayNoteBlock.$clinit(); return nms_Packet54PlayNoteBlock;
        case "net.minecraft.src.Packet55BlockDestroy": nms_Packet55BlockDestroy.$clinit(); return nms_Packet55BlockDestroy;
        case "net.minecraft.src.Packet56MapChunks": nms_Packet56MapChunks.$clinit(); return nms_Packet56MapChunks;
        case "net.minecraft.src.Packet60Explosion": nms_Packet60Explosion.$clinit(); return nms_Packet60Explosion;
        case "net.minecraft.src.Packet61DoorChange": nms_Packet61DoorChange.$clinit(); return nms_Packet61DoorChange;
        case "net.minecraft.src.Packet62LevelSound": nms_Packet62LevelSound.$clinit(); return nms_Packet62LevelSound;
        case "net.minecraft.src.Packet63WorldParticles": nms_Packet63WorldParticles.$clinit(); return nms_Packet63WorldParticles;
        case "net.minecraft.src.Packet70GameEvent": nms_Packet70GameEvent.$clinit(); return nms_Packet70GameEvent;
        case "net.minecraft.src.Packet71Weather": nms_Packet71Weather.$clinit(); return nms_Packet71Weather;
        case "net.minecraft.src.Packet100OpenWindow": nms_Packet100OpenWindow.$clinit(); return nms_Packet100OpenWindow;
        case "net.minecraft.src.Packet101CloseWindow": nms_Packet101CloseWindow.$clinit(); return nms_Packet101CloseWindow;
        case "net.minecraft.src.Packet102WindowClick": nms_Packet102WindowClick.$clinit(); return nms_Packet102WindowClick;
        case "net.minecraft.src.Packet103SetSlot": nms_Packet103SetSlot.$clinit(); return nms_Packet103SetSlot;
        case "net.minecraft.src.Packet104WindowItems": nms_Packet104WindowItems.$clinit(); return nms_Packet104WindowItems;
        case "net.minecraft.src.Packet105UpdateProgressbar": nms_Packet105UpdateProgressbar.$clinit(); return nms_Packet105UpdateProgressbar;
        case "net.minecraft.src.Packet106Transaction": nms_Packet106Transaction.$clinit(); return nms_Packet106Transaction;
        case "net.minecraft.src.Packet107CreativeSetSlot": nms_Packet107CreativeSetSlot.$clinit(); return nms_Packet107CreativeSetSlot;
        case "net.minecraft.src.Packet108EnchantItem": nms_Packet108EnchantItem.$clinit(); return nms_Packet108EnchantItem;
        case "net.minecraft.src.Packet130UpdateSign": nms_Packet130UpdateSign.$clinit(); return nms_Packet130UpdateSign;
        case "net.minecraft.src.Packet131MapData": nms_Packet131MapData.$clinit(); return nms_Packet131MapData;
        case "net.minecraft.src.Packet132TileEntityData": nms_Packet132TileEntityData.$clinit(); return nms_Packet132TileEntityData;
        case "net.minecraft.src.Packet200Statistic": nms_Packet200Statistic.$clinit(); return nms_Packet200Statistic;
        case "net.minecraft.src.Packet201PlayerInfo": nms_Packet201PlayerInfo.$clinit(); return nms_Packet201PlayerInfo;
        case "net.minecraft.src.Packet202PlayerAbilities": nms_Packet202PlayerAbilities.$clinit(); return nms_Packet202PlayerAbilities;
        case "net.minecraft.src.Packet203AutoComplete": nms_Packet203AutoComplete.$clinit(); return nms_Packet203AutoComplete;
        case "net.minecraft.src.Packet205ClientCommand": nms_Packet205ClientCommand.$clinit(); return nms_Packet205ClientCommand;
        case "net.minecraft.src.Packet206SetObjective": nms_Packet206SetObjective.$clinit(); return nms_Packet206SetObjective;
        case "net.minecraft.src.Packet207SetScore": nms_Packet207SetScore.$clinit(); return nms_Packet207SetScore;
        case "net.minecraft.src.Packet208SetDisplayObjective": nms_Packet208SetDisplayObjective.$clinit(); return nms_Packet208SetDisplayObjective;
        case "net.minecraft.src.Packet209SetPlayerTeam": nms_Packet209SetPlayerTeam.$clinit(); return nms_Packet209SetPlayerTeam;
        case "net.minecraft.src.Packet250CustomPayload": nms_Packet250CustomPayload.$clinit(); return nms_Packet250CustomPayload;
        case "net.minecraft.src.Packet252SharedKey": nms_Packet252SharedKey.$clinit(); return nms_Packet252SharedKey;
        case "net.minecraft.src.Packet253ServerAuthData": nms_Packet253ServerAuthData.$clinit(); return nms_Packet253ServerAuthData;
        case "net.minecraft.src.Packet254ServerPing": nms_Packet254ServerPing.$clinit(); return nms_Packet254ServerPing;
        case "net.minecraft.src.Packet255KickDisconnect": nms_Packet255KickDisconnect.$clinit(); return nms_Packet255KickDisconnect;
        case "net.minecraft.src.FilterIMob": nms_FilterIMob.$clinit(); return nms_FilterIMob;
        case "net.minecraft.src.IEntitySelector": nms_IEntitySelector.$clinit(); return nms_IEntitySelector;
        case "net.minecraft.src.Tuple": nms_Tuple.$clinit(); return nms_Tuple;
        case "net.minecraft.src.EntityWitherAttackFilter": nms_EntityWitherAttackFilter.$clinit(); return nms_EntityWitherAttackFilter;
        case "net.minecraft.src.TileEntityFurnace": nms_TileEntityFurnace.$clinit(); return nms_TileEntityFurnace;
        case "net.minecraft.src.ISidedInventory": nms_ISidedInventory.$clinit(); return nms_ISidedInventory;
        case "net.minecraft.src.TileEntityChest": nms_TileEntityChest.$clinit(); return nms_TileEntityChest;
        case "net.minecraft.src.TileEntityEnderChest": nms_TileEntityEnderChest.$clinit(); return nms_TileEntityEnderChest;
        case "net.minecraft.src.TileEntityRecordPlayer": nms_TileEntityRecordPlayer.$clinit(); return nms_TileEntityRecordPlayer;
        case "net.minecraft.src.TileEntityDispenser": nms_TileEntityDispenser.$clinit(); return nms_TileEntityDispenser;
        case "net.minecraft.src.TileEntityDropper": nms_TileEntityDropper.$clinit(); return nms_TileEntityDropper;
        case "net.minecraft.src.TileEntityMobSpawner": nms_TileEntityMobSpawner.$clinit(); return nms_TileEntityMobSpawner;
        case "net.minecraft.src.TileEntityNote": nms_TileEntityNote.$clinit(); return nms_TileEntityNote;
        case "net.minecraft.src.TileEntityPiston": nms_TileEntityPiston.$clinit(); return nms_TileEntityPiston;
        case "net.minecraft.src.TileEntityBrewingStand": nms_TileEntityBrewingStand.$clinit(); return nms_TileEntityBrewingStand;
        case "net.minecraft.src.TileEntityEnchantmentTable": nms_TileEntityEnchantmentTable.$clinit(); return nms_TileEntityEnchantmentTable;
        case "net.minecraft.src.TileEntityEndPortal": nms_TileEntityEndPortal.$clinit(); return nms_TileEntityEndPortal;
        case "net.minecraft.src.TileEntityCommandBlock": nms_TileEntityCommandBlock.$clinit(); return nms_TileEntityCommandBlock;
        case "net.minecraft.src.TileEntityBeacon": nms_TileEntityBeacon.$clinit(); return nms_TileEntityBeacon;
        case "net.minecraft.src.TileEntityDaylightDetector": nms_TileEntityDaylightDetector.$clinit(); return nms_TileEntityDaylightDetector;
        case "net.minecraft.src.TileEntityHopper": nms_TileEntityHopper.$clinit(); return nms_TileEntityHopper;
        case "net.minecraft.src.TileEntityComparator": nms_TileEntityComparator.$clinit(); return nms_TileEntityComparator;
        case "net.minecraft.src.Enchantment": nms_Enchantment.$clinit(); return nms_Enchantment;
        case "net.minecraft.src.WatchableObject": nms_WatchableObject.$clinit(); return nms_WatchableObject;
        case "java.net.URL": jn_URL.$clinit(); return jn_URL;
        case "net.minecraft.src.ContainerCreative": nms_ContainerCreative.$clinit(); return nms_ContainerCreative;
        case "net.minecraft.src.WorldInfo": nms_WorldInfo.$clinit(); return nms_WorldInfo;
        case "net.minecraft.src.FoodStats": nms_FoodStats.$clinit(); return nms_FoodStats;
        case "java.util.Formatter": ju_Formatter.$clinit(); return ju_Formatter;
        case "net.minecraft.src.Scoreboard": nms_Scoreboard.$clinit(); return nms_Scoreboard;
        case "net.minecraft.src.ScoreObjective": nms_ScoreObjective.$clinit(); return nms_ScoreObjective;
        case "net.minecraft.src.Score": nms_Score.$clinit(); return nms_Score;
        case "net.minecraft.src.Stitcher": nms_Stitcher.$clinit(); return nms_Stitcher;
        case "net.minecraft.src.StitchSlot": nms_StitchSlot.$clinit(); return nms_StitchSlot;
        case "net.minecraft.src.TextureClock": nms_TextureClock.$clinit(); return nms_TextureClock;
        case "net.minecraft.src.TextureCompass": nms_TextureCompass.$clinit(); return nms_TextureCompass;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$17": nlea_EaglerAdapterImpl2$17.$clinit(); return nlea_EaglerAdapterImpl2$17;
        case "java.net.URLConnection": jn_URLConnection.$clinit(); return jn_URLConnection;
        case "java.net.HttpURLConnection": jn_HttpURLConnection.$clinit(); return jn_HttpURLConnection;
        case "java.util.regex.Matcher": jur_Matcher.$clinit(); return jur_Matcher;
        case "java.util.regex.MatchResult": jur_MatchResult.$clinit(); return jur_MatchResult;
        case "net.minecraft.src.Slot": nms_Slot.$clinit(); return nms_Slot;
        case "net.minecraft.src.InventoryBasic": nms_InventoryBasic.$clinit(); return nms_InventoryBasic;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$RenderbufferGL": nlea_EaglerAdapterImpl2$RenderbufferGL.$clinit(); return nlea_EaglerAdapterImpl2$RenderbufferGL;
        case "net.minecraft.src.ChunkPosition": nms_ChunkPosition.$clinit(); return nms_ChunkPosition;
        case "java.lang.OutOfMemoryError": jl_OutOfMemoryError.$clinit(); return jl_OutOfMemoryError;
        case "java.lang.VirtualMachineError": jl_VirtualMachineError.$clinit(); return jl_VirtualMachineError;
        case "net.minecraft.src.EnchantmentProtection": nms_EnchantmentProtection.$clinit(); return nms_EnchantmentProtection;
        case "net.minecraft.src.EnchantmentOxygen": nms_EnchantmentOxygen.$clinit(); return nms_EnchantmentOxygen;
        case "net.minecraft.src.EnchantmentWaterWorker": nms_EnchantmentWaterWorker.$clinit(); return nms_EnchantmentWaterWorker;
        case "net.minecraft.src.EnchantmentThorns": nms_EnchantmentThorns.$clinit(); return nms_EnchantmentThorns;
        case "net.minecraft.src.EnchantmentDamage": nms_EnchantmentDamage.$clinit(); return nms_EnchantmentDamage;
        case "net.minecraft.src.EnchantmentKnockback": nms_EnchantmentKnockback.$clinit(); return nms_EnchantmentKnockback;
        case "net.minecraft.src.EnchantmentFireAspect": nms_EnchantmentFireAspect.$clinit(); return nms_EnchantmentFireAspect;
        case "net.minecraft.src.EnchantmentLootBonus": nms_EnchantmentLootBonus.$clinit(); return nms_EnchantmentLootBonus;
        case "net.minecraft.src.EnumEnchantmentType": nms_EnumEnchantmentType.$clinit(); return nms_EnumEnchantmentType;
        case "net.minecraft.src.EnchantmentDigging": nms_EnchantmentDigging.$clinit(); return nms_EnchantmentDigging;
        case "net.minecraft.src.EnchantmentUntouching": nms_EnchantmentUntouching.$clinit(); return nms_EnchantmentUntouching;
        case "net.minecraft.src.EnchantmentDurability": nms_EnchantmentDurability.$clinit(); return nms_EnchantmentDurability;
        case "net.minecraft.src.EnchantmentArrowDamage": nms_EnchantmentArrowDamage.$clinit(); return nms_EnchantmentArrowDamage;
        case "net.minecraft.src.EnchantmentArrowKnockback": nms_EnchantmentArrowKnockback.$clinit(); return nms_EnchantmentArrowKnockback;
        case "net.minecraft.src.EnchantmentArrowFire": nms_EnchantmentArrowFire.$clinit(); return nms_EnchantmentArrowFire;
        case "net.minecraft.src.EnchantmentArrowInfinite": nms_EnchantmentArrowInfinite.$clinit(); return nms_EnchantmentArrowInfinite;
        case "java.net.MalformedURLException": jn_MalformedURLException.$clinit(); return jn_MalformedURLException;
        case "org.teavm.jso.core.JSArray": otjc_JSArray.$clinit(); return otjc_JSArray;
        case "org.teavm.jso.core.JSNumber": otjc_JSNumber.$clinit(); return otjc_JSNumber;
        case "net.minecraft.src.ScoreComparator": nms_ScoreComparator.$clinit(); return nms_ScoreComparator;
        case "java.net.URLStreamHandler": jn_URLStreamHandler.$clinit(); return jn_URLStreamHandler;
        case "java.nio.charset.CoderMalfunctionError": jnc_CoderMalfunctionError.$clinit(); return jnc_CoderMalfunctionError;
        case "net.minecraft.src.Particle": nms_Particle.$clinit(); return nms_Particle;
        case "java.util.AbstractMap$KeySet$1": ju_AbstractMap$KeySet$1.$clinit(); return ju_AbstractMap$KeySet$1;
        case "java.util.LinkedHashMap$KeyIterator": ju_LinkedHashMap$KeyIterator.$clinit(); return ju_LinkedHashMap$KeyIterator;
        case "java.util.LinkedHashMap$AbstractMapIterator": ju_LinkedHashMap$AbstractMapIterator.$clinit(); return ju_LinkedHashMap$AbstractMapIterator;
        case "java.math.Conversion": jm_Conversion.$clinit(); return jm_Conversion;
        case "net.minecraft.src.GuiButtonLanguage": nms_GuiButtonLanguage.$clinit(); return nms_GuiButtonLanguage;
        case "net.minecraft.src.CreativeCrafting": nms_CreativeCrafting.$clinit(); return nms_CreativeCrafting;
        case "net.minecraft.src.ICrafting": nms_ICrafting.$clinit(); return nms_ICrafting;
        case "net.minecraft.src.GuiConfirmOpenLink": nms_GuiConfirmOpenLink.$clinit(); return nms_GuiConfirmOpenLink;
        case "net.minecraft.src.GuiYesNo": nms_GuiYesNo.$clinit(); return nms_GuiYesNo;
        case "org.teavm.classlib.impl.tz.DateTimeZoneBuilder": otcit_DateTimeZoneBuilder.$clinit(); return otcit_DateTimeZoneBuilder;
        case "net.minecraft.src.TileEntityRenderer": nms_TileEntityRenderer.$clinit(); return nms_TileEntityRenderer;
        case "net.minecraft.src.RenderSorter": nms_RenderSorter.$clinit(); return nms_RenderSorter;
        case "net.minecraft.src.IconFlipped": nms_IconFlipped.$clinit(); return nms_IconFlipped;
        case "net.minecraft.src.MinecraftError": nms_MinecraftError.$clinit(); return nms_MinecraftError;
        case "net.minecraft.src.MapData": nms_MapData.$clinit(); return nms_MapData;
        case "net.minecraft.src.WorldSavedData": nms_WorldSavedData.$clinit(); return nms_WorldSavedData;
        case "net.minecraft.src.EnumAction": nms_EnumAction.$clinit(); return nms_EnumAction;
        case "net.minecraft.src.EntitySelectorAlive": nms_EntitySelectorAlive.$clinit(); return nms_EntitySelectorAlive;
        case "net.minecraft.src.EntitySelectorInventory": nms_EntitySelectorInventory.$clinit(); return nms_EntitySelectorInventory;
        case "net.minecraft.src.GuiRepair": nms_GuiRepair.$clinit(); return nms_GuiRepair;
        case "net.minecraft.src.EnumRarity": nms_EnumRarity.$clinit(); return nms_EnumRarity;
        case "java.net.impl.XHRStreamHandler": jni_XHRStreamHandler.$clinit(); return jni_XHRStreamHandler;
        case "java.net.impl.DummyStreamHandler": jni_DummyStreamHandler.$clinit(); return jni_DummyStreamHandler;
        case "net.minecraft.src.ChatClickData": nms_ChatClickData.$clinit(); return nms_ChatClickData;
        case "net.minecraft.src.ChatLine": nms_ChatLine.$clinit(); return nms_ChatLine;
        case "java.lang.AbstractStringBuilder$Constants": jl_AbstractStringBuilder$Constants.$clinit(); return jl_AbstractStringBuilder$Constants;
        case "org.teavm.classlib.impl.text.DoubleAnalyzer": otcit_DoubleAnalyzer.$clinit(); return otcit_DoubleAnalyzer;
        case "org.teavm.classlib.impl.text.DoubleAnalyzer$Result": otcit_DoubleAnalyzer$Result.$clinit(); return otcit_DoubleAnalyzer$Result;
        case "java.util.regex.MatchResultImpl": jur_MatchResultImpl.$clinit(); return jur_MatchResultImpl;
        case "java.io.StringWriter": ji_StringWriter.$clinit(); return ji_StringWriter;
        case "java.io.Writer": ji_Writer.$clinit(); return ji_Writer;
        case "java.io.PrintWriter": ji_PrintWriter.$clinit(); return ji_PrintWriter;
        case "java.io.StringReader": ji_StringReader.$clinit(); return ji_StringReader;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$QueryGL": nlea_EaglerAdapterImpl2$QueryGL.$clinit(); return nlea_EaglerAdapterImpl2$QueryGL;
        case "me.ayunami2000.ayuncraft.File": maa_File.$clinit(); return maa_File;
        case "net.minecraft.src.Rect2i": nms_Rect2i.$clinit(); return nms_Rect2i;
        case "net.minecraft.src.TileEntitySignRenderer": nms_TileEntitySignRenderer.$clinit(); return nms_TileEntitySignRenderer;
        case "net.minecraft.src.TileEntitySpecialRenderer": nms_TileEntitySpecialRenderer.$clinit(); return nms_TileEntitySpecialRenderer;
        case "net.minecraft.src.TileEntityRendererPiston": nms_TileEntityRendererPiston.$clinit(); return nms_TileEntityRendererPiston;
        case "net.minecraft.src.TileEntityChestRenderer": nms_TileEntityChestRenderer.$clinit(); return nms_TileEntityChestRenderer;
        case "net.minecraft.src.TileEntityEnderChestRenderer": nms_TileEntityEnderChestRenderer.$clinit(); return nms_TileEntityEnderChestRenderer;
        case "net.minecraft.src.RenderEnchantmentTable": nms_RenderEnchantmentTable.$clinit(); return nms_RenderEnchantmentTable;
        case "net.minecraft.src.RenderEndPortal": nms_RenderEndPortal.$clinit(); return nms_RenderEndPortal;
        case "net.minecraft.src.TileEntityBeaconRenderer": nms_TileEntityBeaconRenderer.$clinit(); return nms_TileEntityBeaconRenderer;
        case "net.minecraft.src.TileEntitySkullRenderer": nms_TileEntitySkullRenderer.$clinit(); return nms_TileEntitySkullRenderer;
        case "net.minecraft.src.TileEntityMobSpawnerRenderer": nms_TileEntityMobSpawnerRenderer.$clinit(); return nms_TileEntityMobSpawnerRenderer;
        case "org.teavm.classlib.impl.text.FloatAnalyzer$Result": otcit_FloatAnalyzer$Result.$clinit(); return otcit_FloatAnalyzer$Result;
        case "net.minecraft.src.ModelSign": nms_ModelSign.$clinit(); return nms_ModelSign;
        case "net.minecraft.src.ModelChest": nms_ModelChest.$clinit(); return nms_ModelChest;
        case "net.minecraft.src.ModelLargeChest": nms_ModelLargeChest.$clinit(); return nms_ModelLargeChest;
        case "net.minecraft.src.ModelBook": nms_ModelBook.$clinit(); return nms_ModelBook;
        case "java.net.impl.XHRURLConnection": jni_XHRURLConnection.$clinit(); return jni_XHRURLConnection;
        case "java.nio.charset.impl.BufferedEncoder$Controller": jnci_BufferedEncoder$Controller.$clinit(); return jnci_BufferedEncoder$Controller;
        case "java.nio.charset.BufferUnderflowException": jnc_BufferUnderflowException.$clinit(); return jnc_BufferUnderflowException;
        case "java.nio.charset.BufferOverflowException": jnc_BufferOverflowException.$clinit(); return jnc_BufferOverflowException;
        case "java.nio.charset.MalformedInputException": jnc_MalformedInputException.$clinit(); return jnc_MalformedInputException;
        case "java.nio.charset.UnmappableCharacterException": jnc_UnmappableCharacterException.$clinit(); return jnc_UnmappableCharacterException;
        case "java.util.TreeMap$EntrySet": ju_TreeMap$EntrySet.$clinit(); return ju_TreeMap$EntrySet;
        case "net.minecraft.src.SlotCreativeInventory": nms_SlotCreativeInventory.$clinit(); return nms_SlotCreativeInventory;
        case "me.ayunami2000.ayuncraft.tmi.TMICompatibility": maat_TMICompatibility.$clinit(); return maat_TMICompatibility;
        case "net.minecraft.src.GuiOptions": nms_GuiOptions.$clinit(); return nms_GuiOptions;
        case "net.minecraft.src.GuiLanguage": nms_GuiLanguage.$clinit(); return nms_GuiLanguage;
        case "net.lax1dude.eaglercraft.GuiScreenLicenseDeclined": nle_GuiScreenLicenseDeclined.$clinit(); return nle_GuiScreenLicenseDeclined;
        case "me.ayunami2000.ayuncraft.GuiScreenModules": maa_GuiScreenModules.$clinit(); return maa_GuiScreenModules;
        case "java.lang.StrictMath": jl_StrictMath.$clinit(); return jl_StrictMath;
        case "net.minecraft.src.Chunk": nms_Chunk.$clinit(); return nms_Chunk;
        case "net.minecraft.src.ChunkCache": nms_ChunkCache.$clinit(); return nms_ChunkCache;
        case "net.minecraft.src.ChestItemRenderHelper": nms_ChestItemRenderHelper.$clinit(); return nms_ChestItemRenderHelper;
        case "java.util.LinkedHashMap$2": ju_LinkedHashMap$2.$clinit(); return ju_LinkedHashMap$2;
        case "net.minecraft.src.MapCoord": nms_MapCoord.$clinit(); return nms_MapCoord;
        case "java.util.Formatter$FormatWriter": ju_Formatter$FormatWriter.$clinit(); return ju_Formatter$FormatWriter;
        case "net.minecraft.src.EnchantmentData": nms_EnchantmentData.$clinit(); return nms_EnchantmentData;
        case "java.util.IllegalFormatException": ju_IllegalFormatException.$clinit(); return ju_IllegalFormatException;
        case "java.util.Objects": ju_Objects.$clinit(); return ju_Objects;
        case "java.lang.NoSuchMethodException": jl_NoSuchMethodException.$clinit(); return jl_NoSuchMethodException;
        case "java.lang.reflect.InvocationTargetException": jlr_InvocationTargetException.$clinit(); return jlr_InvocationTargetException;
        case "java.lang.IllegalAccessException": jl_IllegalAccessException.$clinit(); return jl_IllegalAccessException;
        case "java.util.FormatterClosedException": ju_FormatterClosedException.$clinit(); return ju_FormatterClosedException;
        case "org.teavm.classlib.impl.text.FloatAnalyzer": otcit_FloatAnalyzer.$clinit(); return otcit_FloatAnalyzer;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$25": nlea_EaglerAdapterImpl2$25.$clinit(); return nlea_EaglerAdapterImpl2$25;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$StupidFunctionResolveString": nlea_EaglerAdapterImpl2$StupidFunctionResolveString.$clinit(); return nlea_EaglerAdapterImpl2$StupidFunctionResolveString;
        case "java.lang.reflect.Method": jlr_Method.$clinit(); return jlr_Method;
        case "java.lang.reflect.AccessibleObject": jlr_AccessibleObject.$clinit(); return jlr_AccessibleObject;
        case "java.lang.reflect.Member": jlr_Member.$clinit(); return jlr_Member;
        case "net.minecraft.src.EnumGameType": nms_EnumGameType.$clinit(); return nms_EnumGameType;
        case "java.util.LinkedHashMap$ValueIterator": ju_LinkedHashMap$ValueIterator.$clinit(); return ju_LinkedHashMap$ValueIterator;
        case "java.nio.charset.impl.BufferedDecoder$Controller": jnci_BufferedDecoder$Controller.$clinit(); return jnci_BufferedDecoder$Controller;
        case "net.minecraft.src.ContainerPlayer": nms_ContainerPlayer.$clinit(); return nms_ContainerPlayer;
        case "net.minecraft.src.ContainerWorkbench": nms_ContainerWorkbench.$clinit(); return nms_ContainerWorkbench;
        case "net.minecraft.src.GuiDisconnected": nms_GuiDisconnected.$clinit(); return nms_GuiDisconnected;
        case "net.minecraft.src.GuiSmallButton": nms_GuiSmallButton.$clinit(); return nms_GuiSmallButton;
        case "net.minecraft.src.GuiSlider": nms_GuiSlider.$clinit(); return nms_GuiSlider;
        case "net.minecraft.src.GuiVideoSettings": nms_GuiVideoSettings.$clinit(); return nms_GuiVideoSettings;
        case "net.minecraft.src.GuiControls": nms_GuiControls.$clinit(); return nms_GuiControls;
        case "net.minecraft.src.GuiScreenChatOptions": nms_GuiScreenChatOptions.$clinit(); return nms_GuiScreenChatOptions;
        case "net.minecraft.src.GuiSlotLanguage": nms_GuiSlotLanguage.$clinit(); return nms_GuiSlotLanguage;
        case "net.minecraft.src.GuiSlot": nms_GuiSlot.$clinit(); return nms_GuiSlot;
        case "net.minecraft.src.GuiSlotServer": nms_GuiSlotServer.$clinit(); return nms_GuiSlotServer;
        case "net.minecraft.src.GuiScreenServerList": nms_GuiScreenServerList.$clinit(); return nms_GuiScreenServerList;
        case "net.minecraft.src.GuiScreenAddServer": nms_GuiScreenAddServer.$clinit(); return nms_GuiScreenAddServer;
        case "net.minecraft.src.GuiSlider2": nms_GuiSlider2.$clinit(); return nms_GuiSlider2;
        case "me.ayunami2000.ayuncraft.MidiConverter": maa_MidiConverter.$clinit(); return maa_MidiConverter;
        case "me.ayunami2000.ayuncraft.GuiScreenModules$1": maa_GuiScreenModules$1.$clinit(); return maa_GuiScreenModules$1;
        case "net.minecraft.src.DamageSource": nms_DamageSource.$clinit(); return nms_DamageSource;
        case "java.util.TreeMap$EntryIterator": ju_TreeMap$EntryIterator.$clinit(); return ju_TreeMap$EntryIterator;
        case "net.minecraft.src.MapStorage": nms_MapStorage.$clinit(); return nms_MapStorage;
        case "net.lax1dude.eaglercraft.WebsocketNetworkManager": nle_WebsocketNetworkManager.$clinit(); return nle_WebsocketNetworkManager;
        case "net.minecraft.src.INetworkManager": nms_INetworkManager.$clinit(); return nms_INetworkManager;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$RateLimit": nlea_EaglerAdapterImpl2$RateLimit.$clinit(); return nlea_EaglerAdapterImpl2$RateLimit;
        case "me.ayunami2000.ayuncraft.nbsapi.Song": maan_Song.$clinit(); return maan_Song;
        case "java.util.UnknownFormatConversionException": ju_UnknownFormatConversionException.$clinit(); return ju_UnknownFormatConversionException;
        case "me.ayunami2000.ayuncraft.tmi._tmi_MgZOrder": maat__tmi_MgZOrder.$clinit(); return maat__tmi_MgZOrder;
        case "net.minecraft.src.EnchantmentHelper": nms_EnchantmentHelper.$clinit(); return nms_EnchantmentHelper;
        case "java.util.regex.Matcher$1": jur_Matcher$1.$clinit(); return jur_Matcher$1;
        case "java.lang.reflect.Modifier": jlr_Modifier.$clinit(); return jlr_Modifier;
        case "java.net.impl.XHRURLConnection$performRequest$lambda$_5_0": jni_XHRURLConnection$performRequest$lambda$_5_0.$clinit(); return jni_XHRURLConnection$performRequest$lambda$_5_0;
        case "org.teavm.jso.typedarrays.Int8Array": otjt_Int8Array.$clinit(); return otjt_Int8Array;
        case "javax.sound.midi.MidiSystem": jsm_MidiSystem.$clinit(); return jsm_MidiSystem;
        case "me.ayunami2000.ayuncraft.MidiConverter$1": maa_MidiConverter$1.$clinit(); return maa_MidiConverter$1;
        case "javax.sound.midi.MetaMessage": jsm_MetaMessage.$clinit(); return jsm_MetaMessage;
        case "javax.sound.midi.MidiMessage": jsm_MidiMessage.$clinit(); return jsm_MidiMessage;
        case "javax.sound.midi.ShortMessage": jsm_ShortMessage.$clinit(); return jsm_ShortMessage;
        case "me.ayunami2000.ayuncraft.nbsapi.Layer": maan_Layer.$clinit(); return maan_Layer;
        case "me.ayunami2000.ayuncraft.nbsapi.Note": maan_Note.$clinit(); return maan_Note;
        case "me.ayunami2000.ayuncraft.nbsapi.Instrument": maan_Instrument.$clinit(); return maan_Instrument;
        case "java.util.DuplicateFormatFlagsException": ju_DuplicateFormatFlagsException.$clinit(); return ju_DuplicateFormatFlagsException;
        case "java.util.IllegalFormatPrecisionException": ju_IllegalFormatPrecisionException.$clinit(); return ju_IllegalFormatPrecisionException;
        case "java.util.IllegalFormatCodePointException": ju_IllegalFormatCodePointException.$clinit(); return ju_IllegalFormatCodePointException;
        case "java.util.IllegalFormatConversionException": ju_IllegalFormatConversionException.$clinit(); return ju_IllegalFormatConversionException;
        case "java.util.Formattable": ju_Formattable.$clinit(); return ju_Formattable;
        case "javax.sound.midi.InvalidMidiDataException": jsm_InvalidMidiDataException.$clinit(); return jsm_InvalidMidiDataException;
        case "javax.sound.midi.Sequence": jsm_Sequence.$clinit(); return jsm_Sequence;
        case "javax.sound.midi.Track": jsm_Track.$clinit(); return jsm_Track;
        case "javax.sound.midi.MidiEvent": jsm_MidiEvent.$clinit(); return jsm_MidiEvent;
        case "java.util.FormatFlagsConversionMismatchException": ju_FormatFlagsConversionMismatchException.$clinit(); return ju_FormatFlagsConversionMismatchException;
        case "java.util.IllegalFormatFlagsException": ju_IllegalFormatFlagsException.$clinit(); return ju_IllegalFormatFlagsException;
        case "java.util.MissingFormatWidthException": ju_MissingFormatWidthException.$clinit(); return ju_MissingFormatWidthException;
        case "net.minecraft.src.EnchantmentModifierDamage": nms_EnchantmentModifierDamage.$clinit(); return nms_EnchantmentModifierDamage;
        case "net.minecraft.src.IEnchantmentModifier": nms_IEnchantmentModifier.$clinit(); return nms_IEnchantmentModifier;
        case "net.minecraft.src.EnchantmentModifierLiving": nms_EnchantmentModifierLiving.$clinit(); return nms_EnchantmentModifierLiving;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$18": nlea_EaglerAdapterImpl2$18.$clinit(); return nlea_EaglerAdapterImpl2$18;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$19": nlea_EaglerAdapterImpl2$19.$clinit(); return nlea_EaglerAdapterImpl2$19;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$20": nlea_EaglerAdapterImpl2$20.$clinit(); return nlea_EaglerAdapterImpl2$20;
        case "org.teavm.jso.websocket.WebSocket": otjw_WebSocket.$clinit(); return otjw_WebSocket;
        case "javax.sound.midi.spi.MidiFileReader": jsms_MidiFileReader.$clinit(); return jsms_MidiFileReader;
        case "com.sun.media.sound.JDK13Services": csms_JDK13Services.$clinit(); return csms_JDK13Services;
        case "javax.sound.sampled.spi.MixerProvider": jsss_MixerProvider.$clinit(); return jsss_MixerProvider;
        case "com.sun.media.sound.JSSecurityManager": csms_JSSecurityManager.$clinit(); return csms_JSSecurityManager;
        case "javax.sound.sampled.spi.FormatConversionProvider": jsss_FormatConversionProvider.$clinit(); return jsss_FormatConversionProvider;
        case "javax.sound.sampled.spi.AudioFileReader": jsss_AudioFileReader.$clinit(); return jsss_AudioFileReader;
        case "javax.sound.sampled.spi.AudioFileWriter": jsss_AudioFileWriter.$clinit(); return jsss_AudioFileWriter;
        case "javax.sound.midi.spi.MidiDeviceProvider": jsms_MidiDeviceProvider.$clinit(); return jsms_MidiDeviceProvider;
        case "javax.sound.midi.spi.SoundbankReader": jsms_SoundbankReader.$clinit(); return jsms_SoundbankReader;
        case "javax.sound.midi.spi.MidiFileWriter": jsms_MidiFileWriter.$clinit(); return jsms_MidiFileWriter;
        case "com.sun.media.sound.JSSecurityManager$2": csms_JSSecurityManager$2.$clinit(); return csms_JSSecurityManager$2;
        case "java.security.PrivilegedAction": js_PrivilegedAction.$clinit(); return js_PrivilegedAction;
        case "java.security.AccessController": js_AccessController.$clinit(); return js_AccessController;
        case "com.sun.media.sound.JSSecurityManager$3": csms_JSSecurityManager$3.$clinit(); return csms_JSSecurityManager$3;
        case "java.util.Collections$10": ju_Collections$10.$clinit(); return ju_Collections$10;
        case "org.teavm.runtime.RuntimeObject": otr_RuntimeObject.$clinit(); return otr_RuntimeObject;
        case "org.teavm.interop.Structure": oti_Structure.$clinit(); return oti_Structure;
        case "org.teavm.platform.PlatformClass": otp_PlatformClass.$clinit(); return otp_PlatformClass;
        case "org.teavm.runtime.RuntimeClass": otr_RuntimeClass.$clinit(); return otr_RuntimeClass;
        case "java.lang.reflect.Field": jlr_Field.$clinit(); return jlr_Field;
        case "java.lang.reflect.Constructor": jlr_Constructor.$clinit(); return jlr_Constructor;
        case "java.lang.ClassLoader": jl_ClassLoader.$clinit(); return jl_ClassLoader;
        case "java.lang.annotation.Annotation": jla_Annotation.$clinit(); return jla_Annotation;
        case "java.lang.Package": jl_Package.$clinit(); return jl_Package;
        case "java.lang.StackTraceElement": jl_StackTraceElement.$clinit(); return jl_StackTraceElement;
        case "org.teavm.jso.core.JSError": otjc_JSError.$clinit(); return otjc_JSError;
        case "org.teavm.jso.dom.html.HTMLDocument": otjdh_HTMLDocument.$clinit(); return otjdh_HTMLDocument;
        case "org.teavm.jso.dom.xml.Document": otjdx_Document.$clinit(); return otjdx_Document;
        case "org.teavm.jso.dom.xml.Node": otjdx_Node.$clinit(); return otjdx_Node;
        case "org.teavm.jso.browser.Screen": otjb_Screen.$clinit(); return otjb_Screen;
        case "org.teavm.jso.browser.Location": otjb_Location.$clinit(); return otjb_Location;
        case "org.teavm.jso.browser.History": otjb_History.$clinit(); return otjb_History;
        case "org.teavm.jso.dom.html.HTMLElement": otjdh_HTMLElement.$clinit(); return otjdh_HTMLElement;
        case "org.teavm.jso.dom.xml.Element": otjdx_Element.$clinit(); return otjdx_Element;
        case "org.teavm.jso.dom.css.ElementCSSInlineStyle": otjdc_ElementCSSInlineStyle.$clinit(); return otjdc_ElementCSSInlineStyle;
        case "org.teavm.jso.dom.events.WheelEventTarget": otjde_WheelEventTarget.$clinit(); return otjde_WheelEventTarget;
        case "org.teavm.jso.browser.AnimationFrameCallback": otjb_AnimationFrameCallback.$clinit(); return otjb_AnimationFrameCallback;
        case "org.teavm.jso.browser.WindowFeatures": otjb_WindowFeatures.$clinit(); return otjb_WindowFeatures;
        case "org.teavm.jso.dom.events.Event": otjde_Event.$clinit(); return otjde_Event;
        case "org.teavm.jso.browser.Storage": otjb_Storage.$clinit(); return otjb_Storage;
        case "org.teavm.platform.PlatformObject": otp_PlatformObject.$clinit(); return otp_PlatformObject;
        case "org.teavm.platform.metadata.StaticFieldResource": otpm_StaticFieldResource.$clinit(); return otpm_StaticFieldResource;
        case "org.teavm.platform.metadata.Resource": otpm_Resource.$clinit(); return otpm_Resource;
        case "org.teavm.interop.Address": oti_Address.$clinit(); return oti_Address;
        case "org.teavm.platform.PlatformString": otp_PlatformString.$clinit(); return otp_PlatformString;
        case "org.teavm.jso.core.JSRegExp": otjc_JSRegExp.$clinit(); return otjc_JSRegExp;
        case "org.teavm.jso.core.JSReplaceFunction": otjc_JSReplaceFunction.$clinit(); return otjc_JSReplaceFunction;
        case "org.teavm.jso.dom.events.MouseEvent": otjde_MouseEvent.$clinit(); return otjde_MouseEvent;
        case "org.teavm.jso.dom.events.KeyboardEvent": otjde_KeyboardEvent.$clinit(); return otjde_KeyboardEvent;
        case "net.lax1dude.eaglercraft.adapter.teavm.WebGL2RenderingContext": nleat_WebGL2RenderingContext.$clinit(); return nleat_WebGL2RenderingContext;
        case "org.teavm.jso.webgl.WebGLRenderingContext": otjw_WebGLRenderingContext.$clinit(); return otjw_WebGLRenderingContext;
        case "org.teavm.jso.dom.html.HTMLVideoElement": otjdh_HTMLVideoElement.$clinit(); return otjdh_HTMLVideoElement;
        case "org.teavm.jso.dom.html.HTMLMediaElement": otjdh_HTMLMediaElement.$clinit(); return otjdh_HTMLMediaElement;
        case "org.teavm.jso.dom.html.HTMLImageElement": otjdh_HTMLImageElement.$clinit(); return otjdh_HTMLImageElement;
        case "org.teavm.jso.canvas.CanvasImageSource": otjc_CanvasImageSource.$clinit(); return otjc_CanvasImageSource;
        case "org.teavm.jso.dom.html.HTMLCanvasElement": otjdh_HTMLCanvasElement.$clinit(); return otjdh_HTMLCanvasElement;
        case "org.teavm.jso.webaudio.AudioBuffer": otjw_AudioBuffer.$clinit(); return otjw_AudioBuffer;
        case "net.lax1dude.eaglercraft.ServerQuery": nle_ServerQuery.$clinit(); return nle_ServerQuery;
        case "org.teavm.jso.canvas.CanvasRenderingContext2D": otjc_CanvasRenderingContext2D.$clinit(); return otjc_CanvasRenderingContext2D;
        case "org.teavm.jso.dom.events.WheelEvent": otjde_WheelEvent.$clinit(); return otjde_WheelEvent;
        case "java.util.Spliterator": ju_Spliterator.$clinit(); return ju_Spliterator;
        case "java.util.stream.Stream": jus_Stream.$clinit(); return jus_Stream;
        case "java.util.stream.BaseStream": jus_BaseStream.$clinit(); return jus_BaseStream;
        case "java.util.function.Consumer": juf_Consumer.$clinit(); return juf_Consumer;
        case "java.util.function.UnaryOperator": juf_UnaryOperator.$clinit(); return juf_UnaryOperator;
        case "org.teavm.jso.webaudio.AudioDestinationNode": otjw_AudioDestinationNode.$clinit(); return otjw_AudioDestinationNode;
        case "org.teavm.jso.webaudio.AudioNode": otjw_AudioNode.$clinit(); return otjw_AudioNode;
        case "org.teavm.jso.webaudio.AudioListener": otjw_AudioListener.$clinit(); return otjw_AudioListener;
        case "org.teavm.jso.webaudio.AudioBufferSourceNode": otjw_AudioBufferSourceNode.$clinit(); return otjw_AudioBufferSourceNode;
        case "org.teavm.jso.webaudio.MediaElementAudioSourceNode": otjw_MediaElementAudioSourceNode.$clinit(); return otjw_MediaElementAudioSourceNode;
        case "org.teavm.jso.webaudio.MediaStreamAudioSourceNode": otjw_MediaStreamAudioSourceNode.$clinit(); return otjw_MediaStreamAudioSourceNode;
        case "org.teavm.jso.webaudio.MediaStream": otjw_MediaStream.$clinit(); return otjw_MediaStream;
        case "org.teavm.jso.webaudio.MediaStreamAudioDestinationNode": otjw_MediaStreamAudioDestinationNode.$clinit(); return otjw_MediaStreamAudioDestinationNode;
        case "org.teavm.jso.webaudio.AudioWorker": otjw_AudioWorker.$clinit(); return otjw_AudioWorker;
        case "org.teavm.jso.webaudio.ScriptProcessorNode": otjw_ScriptProcessorNode.$clinit(); return otjw_ScriptProcessorNode;
        case "org.teavm.jso.webaudio.AnalyserNode": otjw_AnalyserNode.$clinit(); return otjw_AnalyserNode;
        case "org.teavm.jso.webaudio.GainNode": otjw_GainNode.$clinit(); return otjw_GainNode;
        case "org.teavm.jso.webaudio.DelayNode": otjw_DelayNode.$clinit(); return otjw_DelayNode;
        case "org.teavm.jso.webaudio.BiquadFilterNode": otjw_BiquadFilterNode.$clinit(); return otjw_BiquadFilterNode;
        case "org.teavm.jso.webaudio.IIRFilterNode": otjw_IIRFilterNode.$clinit(); return otjw_IIRFilterNode;
        case "org.teavm.jso.webaudio.WaveShaperNode": otjw_WaveShaperNode.$clinit(); return otjw_WaveShaperNode;
        case "org.teavm.jso.webaudio.PannerNode": otjw_PannerNode.$clinit(); return otjw_PannerNode;
        case "org.teavm.jso.webaudio.StereoPannerNode": otjw_StereoPannerNode.$clinit(); return otjw_StereoPannerNode;
        case "org.teavm.jso.webaudio.ConvolverNode": otjw_ConvolverNode.$clinit(); return otjw_ConvolverNode;
        case "org.teavm.jso.webaudio.ChannelSplitterNode": otjw_ChannelSplitterNode.$clinit(); return otjw_ChannelSplitterNode;
        case "org.teavm.jso.webaudio.ChannelMergerNode": otjw_ChannelMergerNode.$clinit(); return otjw_ChannelMergerNode;
        case "org.teavm.jso.webaudio.DynamicsCompressorNode": otjw_DynamicsCompressorNode.$clinit(); return otjw_DynamicsCompressorNode;
        case "org.teavm.jso.webaudio.OscillatorNode": otjw_OscillatorNode.$clinit(); return otjw_OscillatorNode;
        case "org.teavm.jso.webaudio.PeriodicWave": otjw_PeriodicWave.$clinit(); return otjw_PeriodicWave;
        case "org.teavm.jso.webaudio.PeriodicWaveConstraints": otjw_PeriodicWaveConstraints.$clinit(); return otjw_PeriodicWaveConstraints;
        case "java.util.function.ToIntFunction": juf_ToIntFunction.$clinit(); return juf_ToIntFunction;
        case "java.util.function.ToLongFunction": juf_ToLongFunction.$clinit(); return juf_ToLongFunction;
        case "java.util.function.ToDoubleFunction": juf_ToDoubleFunction.$clinit(); return juf_ToDoubleFunction;
        case "java.util.function.BiFunction": juf_BiFunction.$clinit(); return juf_BiFunction;
        case "java.text.ParsePosition": jt_ParsePosition.$clinit(); return jt_ParsePosition;
        case "java.text.AttributedCharacterIterator": jt_AttributedCharacterIterator.$clinit(); return jt_AttributedCharacterIterator;
        case "java.text.CharacterIterator": jt_CharacterIterator.$clinit(); return jt_CharacterIterator;
        case "net.lax1dude.eaglercraft.ServerQuery$QueryResponse": nle_ServerQuery$QueryResponse.$clinit(); return nle_ServerQuery$QueryResponse;
        case "java.io.Console": ji_Console.$clinit(); return ji_Console;
        case "org.teavm.runtime.RuntimeArray": otr_RuntimeArray.$clinit(); return otr_RuntimeArray;
        case "org.teavm.platform.metadata.StringResource": otpm_StringResource.$clinit(); return otpm_StringResource;
        case "org.teavm.jso.webgl.WebGLTexture": otjw_WebGLTexture.$clinit(); return otjw_WebGLTexture;
        case "java.nio.ShortBuffer": jn_ShortBuffer.$clinit(); return jn_ShortBuffer;
        case "java.nio.LongBuffer": jn_LongBuffer.$clinit(); return jn_LongBuffer;
        case "java.nio.DoubleBuffer": jn_DoubleBuffer.$clinit(); return jn_DoubleBuffer;
        case "org.teavm.jso.webgl.WebGLBuffer": otjw_WebGLBuffer.$clinit(); return otjw_WebGLBuffer;
        case "org.teavm.jso.webgl.WebGLShader": otjw_WebGLShader.$clinit(); return otjw_WebGLShader;
        case "org.teavm.jso.webgl.WebGLProgram": otjw_WebGLProgram.$clinit(); return otjw_WebGLProgram;
        case "org.teavm.jso.webgl.WebGLUniformLocation": otjw_WebGLUniformLocation.$clinit(); return otjw_WebGLUniformLocation;
        case "net.lax1dude.eaglercraft.adapter.teavm.WebGLVertexArray": nleat_WebGLVertexArray.$clinit(); return nleat_WebGLVertexArray;
        case "java.util.stream.IntStream": jus_IntStream.$clinit(); return jus_IntStream;
        case "java.util.stream.LongStream": jus_LongStream.$clinit(); return jus_LongStream;
        case "java.util.stream.DoubleStream": jus_DoubleStream.$clinit(); return jus_DoubleStream;
        case "java.util.function.IntFunction": juf_IntFunction.$clinit(); return juf_IntFunction;
        case "java.util.function.IntUnaryOperator": juf_IntUnaryOperator.$clinit(); return juf_IntUnaryOperator;
        case "java.util.function.IntToLongFunction": juf_IntToLongFunction.$clinit(); return juf_IntToLongFunction;
        case "java.util.function.IntToDoubleFunction": juf_IntToDoubleFunction.$clinit(); return juf_IntToDoubleFunction;
        case "com.jcraft.jzlib.JZlib$WrapperType": cjj_JZlib$WrapperType.$clinit(); return cjj_JZlib$WrapperType;
        case "org.teavm.platform.metadata.ResourceMap": otpm_ResourceMap.$clinit(); return otpm_ResourceMap;
        case "org.teavm.platform.metadata.ResourceArray": otpm_ResourceArray.$clinit(); return otpm_ResourceArray;
        case "org.teavm.classlib.impl.unicode.DateFormatCollection": otciu_DateFormatCollection.$clinit(); return otciu_DateFormatCollection;
        case "org.teavm.classlib.impl.unicode.DecimalData": otciu_DecimalData.$clinit(); return otciu_DecimalData;
        case "org.teavm.classlib.impl.unicode.CurrencyLocalization": otciu_CurrencyLocalization.$clinit(); return otciu_CurrencyLocalization;
        case "org.teavm.classlib.impl.tz.TimeZoneResource": otcit_TimeZoneResource.$clinit(); return otcit_TimeZoneResource;
        case "net.minecraft.src.WorldSettings": nms_WorldSettings.$clinit(); return nms_WorldSettings;
        case "net.minecraft.src.IChunkProvider": nms_IChunkProvider.$clinit(); return nms_IChunkProvider;
        case "net.minecraft.src.IUpdatePlayerListBox": nms_IUpdatePlayerListBox.$clinit(); return nms_IUpdatePlayerListBox;
        case "net.minecraft.src.EnumSkyBlock": nms_EnumSkyBlock.$clinit(); return nms_EnumSkyBlock;
        case "net.minecraft.src.Explosion": nms_Explosion.$clinit(); return nms_Explosion;
        case "net.minecraft.src.PathEntity": nms_PathEntity.$clinit(); return nms_PathEntity;
        case "net.minecraft.src.GameRules": nms_GameRules.$clinit(); return nms_GameRules;
        case "net.minecraft.src.EnumStatus": nms_EnumStatus.$clinit(); return nms_EnumStatus;
        case "net.minecraft.src.InventoryEnderChest": nms_InventoryEnderChest.$clinit(); return nms_InventoryEnderChest;
        case "net.minecraft.src.EntityLookHelper": nms_EntityLookHelper.$clinit(); return nms_EntityLookHelper;
        case "net.minecraft.src.EntityMoveHelper": nms_EntityMoveHelper.$clinit(); return nms_EntityMoveHelper;
        case "net.minecraft.src.EntityJumpHelper": nms_EntityJumpHelper.$clinit(); return nms_EntityJumpHelper;
        case "net.minecraft.src.EntitySenses": nms_EntitySenses.$clinit(); return nms_EntitySenses;
        case "net.minecraft.src.EnumCreatureAttribute": nms_EnumCreatureAttribute.$clinit(); return nms_EnumCreatureAttribute;
        case "org.teavm.classlib.impl.currency.CurrencyResource": otcic_CurrencyResource.$clinit(); return otcic_CurrencyResource;
        case "java.text.DateFormatElement$TrieNode": jt_DateFormatElement$TrieNode.$clinit(); return jt_DateFormatElement$TrieNode;
        case "java.text.Format$Field": jt_Format$Field.$clinit(); return jt_Format$Field;
        case "java.text.AttributedCharacterIterator$Attribute": jt_AttributedCharacterIterator$Attribute.$clinit(); return jt_AttributedCharacterIterator$Attribute;
        case "net.minecraft.src.MerchantRecipe": nms_MerchantRecipe.$clinit(); return nms_MerchantRecipe;
        case "net.minecraft.src.MerchantRecipeList": nms_MerchantRecipeList.$clinit(); return nms_MerchantRecipeList;
        case "net.minecraft.src.EntityDragonPart": nms_EntityDragonPart.$clinit(); return nms_EntityDragonPart;
        case "net.lax1dude.eaglercraft.glemu.EaglerAdapterGL30$1": nleg_EaglerAdapterGL30$1.$clinit(); return nleg_EaglerAdapterGL30$1;
        case "net.lax1dude.eaglercraft.TextureTerrainMap$1": nle_TextureTerrainMap$1.$clinit(); return nle_TextureTerrainMap$1;
        case "org.teavm.jso.webgl.WebGLFramebuffer": otjw_WebGLFramebuffer.$clinit(); return otjw_WebGLFramebuffer;
        case "java.util.Arrays$1": ju_Arrays$1.$clinit(); return ju_Arrays$1;
        case "net.minecraft.src.IBehaviorDispenseItem": nms_IBehaviorDispenseItem.$clinit(); return nms_IBehaviorDispenseItem;
        case "net.minecraft.src.IPosition": nms_IPosition.$clinit(); return nms_IPosition;
        case "net.minecraft.src.IBlockSource": nms_IBlockSource.$clinit(); return nms_IBlockSource;
        case "net.minecraft.src.ILocatableSource": nms_ILocatableSource.$clinit(); return nms_ILocatableSource;
        case "net.minecraft.src.ILocation": nms_ILocation.$clinit(); return nms_ILocation;
        case "net.minecraft.src.EnumFacing": nms_EnumFacing.$clinit(); return nms_EnumFacing;
        case "org.teavm.jso.webaudio.MediaEvent": otjw_MediaEvent.$clinit(); return otjw_MediaEvent;
        case "net.minecraft.src.EnumCreatureType": nms_EnumCreatureType.$clinit(); return nms_EnumCreatureType;
        case "java.math.MathContext": jm_MathContext.$clinit(); return jm_MathContext;
        case "net.minecraft.src.WorldType": nms_WorldType.$clinit(); return nms_WorldType;
        case "net.minecraft.src.ScoreObjectiveCriteria": nms_ScoreObjectiveCriteria.$clinit(); return nms_ScoreObjectiveCriteria;
        case "java.util.AbstractMap$1": ju_AbstractMap$1.$clinit(); return ju_AbstractMap$1;
        case "com.jcraft.jzlib.Deflate": cjj_Deflate.$clinit(); return cjj_Deflate;
        case "net.minecraft.src.Packet51MapChunkData": nms_Packet51MapChunkData.$clinit(); return nms_Packet51MapChunkData;
        case "me.ayunami2000.ayuncraft.javax.crypto.SecretKey": maajc_SecretKey.$clinit(); return maajc_SecretKey;
        case "me.ayunami2000.ayuncraft.java.security.Key": maajs_Key.$clinit(); return maajs_Key;
        case "me.ayunami2000.ayuncraft.PubKey": maa_PubKey.$clinit(); return maa_PubKey;
        case "java.net.URLStreamHandlerFactory": jn_URLStreamHandlerFactory.$clinit(); return jn_URLStreamHandlerFactory;
        case "java.net.URI": jn_URI.$clinit(); return jn_URI;
        case "org.teavm.jso.webgl.WebGLRenderbuffer": otjw_WebGLRenderbuffer.$clinit(); return otjw_WebGLRenderbuffer;
        case "org.teavm.jso.core.JSSortFunction": otjc_JSSortFunction.$clinit(); return otjc_JSSortFunction;
        case "org.teavm.classlib.impl.tz.DateTimeZoneBuilder$RuleSet": otcit_DateTimeZoneBuilder$RuleSet.$clinit(); return otcit_DateTimeZoneBuilder$RuleSet;
        case "org.teavm.classlib.impl.tz.DateTimeZoneBuilder$Transition": otcit_DateTimeZoneBuilder$Transition.$clinit(); return otcit_DateTimeZoneBuilder$Transition;
        case "net.lax1dude.eaglercraft.adapter.teavm.WebGLQuery": nleat_WebGLQuery.$clinit(); return nleat_WebGLQuery;
        case "net.minecraft.src.MapInfo": nms_MapInfo.$clinit(); return nms_MapInfo;
        case "org.teavm.classlib.impl.reflection.JSCallable": otcir_JSCallable.$clinit(); return otcir_JSCallable;
        case "net.minecraft.src.ExtendedBlockStorage": nms_ExtendedBlockStorage.$clinit(); return nms_ExtendedBlockStorage;
        case "net.minecraft.src.ChunkCoordIntPair": nms_ChunkCoordIntPair.$clinit(); return nms_ChunkCoordIntPair;
        case "java.io.File": ji_File.$clinit(); return ji_File;
        case "javax.sound.midi.Patch": jsm_Patch.$clinit(); return jsm_Patch;
        case "javax.sound.midi.MidiDevice$Info": jsm_MidiDevice$Info.$clinit(); return jsm_MidiDevice$Info;
        case "javax.sound.midi.MidiDevice": jsm_MidiDevice.$clinit(); return jsm_MidiDevice;
        case "javax.sound.midi.Receiver": jsm_Receiver.$clinit(); return jsm_Receiver;
        case "javax.sound.midi.Transmitter": jsm_Transmitter.$clinit(); return jsm_Transmitter;
        case "javax.sound.midi.Synthesizer": jsm_Synthesizer.$clinit(); return jsm_Synthesizer;
        case "javax.sound.midi.Sequencer": jsm_Sequencer.$clinit(); return jsm_Sequencer;
        case "javax.sound.midi.Soundbank": jsm_Soundbank.$clinit(); return jsm_Soundbank;
        case "javax.sound.midi.MidiFileFormat": jsm_MidiFileFormat.$clinit(); return jsm_MidiFileFormat;
        case "net.minecraft.src.Empty3": nms_Empty3.$clinit(); return nms_Empty3;
        case "org.teavm.jso.dom.events.MessageEvent": otjde_MessageEvent.$clinit(); return otjde_MessageEvent;
        case "org.teavm.jso.websocket.CloseEvent": otjw_CloseEvent.$clinit(); return otjw_CloseEvent;
        case "javax.sound.sampled.Mixer$Info": jss_Mixer$Info.$clinit(); return jss_Mixer$Info;
        case "javax.sound.sampled.Mixer": jss_Mixer.$clinit(); return jss_Mixer;
        case "javax.sound.sampled.Line": jss_Line.$clinit(); return jss_Line;
        case "javax.sound.sampled.AudioFormat$Encoding": jss_AudioFormat$Encoding.$clinit(); return jss_AudioFormat$Encoding;
        case "javax.sound.sampled.AudioFormat": jss_AudioFormat.$clinit(); return jss_AudioFormat;
        case "javax.sound.sampled.AudioInputStream": jss_AudioInputStream.$clinit(); return jss_AudioInputStream;
        case "javax.sound.sampled.AudioFileFormat": jss_AudioFileFormat.$clinit(); return jss_AudioFileFormat;
        case "javax.sound.sampled.AudioFileFormat$Type": jss_AudioFileFormat$Type.$clinit(); return jss_AudioFileFormat$Type;
        case "java.lang.Thread$start$lambda$_4_0": jl_Thread$start$lambda$_4_0.$clinit(); return jl_Thread$start$lambda$_4_0;
        case "net.minecraft.src.EnumOptionsHelper": nms_EnumOptionsHelper.$clinit(); return nms_EnumOptionsHelper;
        case "java.util.Collections$15": ju_Collections$15.$clinit(); return ju_Collections$15;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$ServerQueryImpl": nlea_EaglerAdapterImpl2$ServerQueryImpl.$clinit(); return nlea_EaglerAdapterImpl2$ServerQueryImpl;
        case "java.util.Collections$reverseOrder$lambda$_44_0": ju_Collections$reverseOrder$lambda$_44_0.$clinit(); return ju_Collections$reverseOrder$lambda$_44_0;
        case "java.util.regex.IntArrHash": jur_IntArrHash.$clinit(); return jur_IntArrHash;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$ServerQueryImpl$1": nlea_EaglerAdapterImpl2$ServerQueryImpl$1.$clinit(); return nlea_EaglerAdapterImpl2$ServerQueryImpl$1;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$ServerQueryImpl$2": nlea_EaglerAdapterImpl2$ServerQueryImpl$2.$clinit(); return nlea_EaglerAdapterImpl2$ServerQueryImpl$2;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$ServerQueryImpl$3": nlea_EaglerAdapterImpl2$ServerQueryImpl$3.$clinit(); return nlea_EaglerAdapterImpl2$ServerQueryImpl$3;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$ServerQueryImpl$4": nlea_EaglerAdapterImpl2$ServerQueryImpl$4.$clinit(); return nlea_EaglerAdapterImpl2$ServerQueryImpl$4;
        case "org.teavm.jso.webaudio.AudioParam": otjw_AudioParam.$clinit(); return otjw_AudioParam;
        case "org.teavm.jso.media.MediaError": otjm_MediaError.$clinit(); return otjm_MediaError;
        case "org.teavm.jso.media.TimeRanges": otjm_TimeRanges.$clinit(); return otjm_TimeRanges;
        case "org.teavm.jso.media.MediaController": otjm_MediaController.$clinit(); return otjm_MediaController;
        case "org.teavm.jso.media.AudioTrackList": otjm_AudioTrackList.$clinit(); return otjm_AudioTrackList;
        case "org.teavm.jso.media.VideoTrackList": otjm_VideoTrackList.$clinit(); return otjm_VideoTrackList;
        case "org.teavm.jso.media.TextTrackList": otjm_TextTrackList.$clinit(); return otjm_TextTrackList;
        case "org.teavm.jso.media.TextTrack": otjm_TextTrack.$clinit(); return otjm_TextTrack;
        case "java.lang.ClassLoader$ResourceContainer": jl_ClassLoader$ResourceContainer.$clinit(); return jl_ClassLoader$ResourceContainer;
        case "org.teavm.platform.PlatformSequence": otp_PlatformSequence.$clinit(); return otp_PlatformSequence;
        case "org.teavm.jso.webaudio.AudioWorkerParamDescriptor": otjw_AudioWorkerParamDescriptor.$clinit(); return otjw_AudioWorkerParamDescriptor;
        case "org.teavm.jso.webaudio.AudioWorkerNode": otjw_AudioWorkerNode.$clinit(); return otjw_AudioWorkerNode;
        case "org.json.JSONObject": oj_JSONObject.$clinit(); return oj_JSONObject;
        case "javax.sound.sampled.TargetDataLine": jss_TargetDataLine.$clinit(); return jss_TargetDataLine;
        case "javax.sound.sampled.DataLine": jss_DataLine.$clinit(); return jss_DataLine;
        case "javax.sound.sampled.Line$Info": jss_Line$Info.$clinit(); return jss_Line$Info;
        case "javax.sound.midi.SoundbankResource": jsm_SoundbankResource.$clinit(); return jsm_SoundbankResource;
        case "javax.sound.midi.Instrument": jsm_Instrument.$clinit(); return jsm_Instrument;
        case "javax.sound.midi.MidiChannel": jsm_MidiChannel.$clinit(); return jsm_MidiChannel;
        case "javax.sound.midi.VoiceStatus": jsm_VoiceStatus.$clinit(); return jsm_VoiceStatus;
        case "javax.sound.midi.Sequencer$SyncMode": jsm_Sequencer$SyncMode.$clinit(); return jsm_Sequencer$SyncMode;
        case "javax.sound.midi.MetaEventListener": jsm_MetaEventListener.$clinit(); return jsm_MetaEventListener;
        case "java.util.EventListener": ju_EventListener.$clinit(); return ju_EventListener;
        case "javax.sound.midi.ControllerEventListener": jsm_ControllerEventListener.$clinit(); return jsm_ControllerEventListener;
        case "java.util.function.Predicate": juf_Predicate.$clinit(); return juf_Predicate;
        case "java.util.function.BinaryOperator": juf_BinaryOperator.$clinit(); return juf_BinaryOperator;
        case "java.util.Optional": ju_Optional.$clinit(); return ju_Optional;
        case "java.util.function.Supplier": juf_Supplier.$clinit(); return juf_Supplier;
        case "java.util.function.BiConsumer": juf_BiConsumer.$clinit(); return juf_BiConsumer;
        case "java.util.stream.Collector": jus_Collector.$clinit(); return jus_Collector;
        case "java.util.stream.Stream$Builder": jus_Stream$Builder.$clinit(); return jus_Stream$Builder;
        case "org.teavm.jso.core.JSError$TryClause": otjc_JSError$TryClause.$clinit(); return otjc_JSError$TryClause;
        case "org.teavm.jso.core.JSError$CatchClause": otjc_JSError$CatchClause.$clinit(); return otjc_JSError$CatchClause;
        case "java.util.function.IntPredicate": juf_IntPredicate.$clinit(); return juf_IntPredicate;
        case "java.util.function.IntConsumer": juf_IntConsumer.$clinit(); return juf_IntConsumer;
        case "java.util.function.IntBinaryOperator": juf_IntBinaryOperator.$clinit(); return juf_IntBinaryOperator;
        case "java.util.OptionalInt": ju_OptionalInt.$clinit(); return ju_OptionalInt;
        case "java.util.OptionalDouble": ju_OptionalDouble.$clinit(); return ju_OptionalDouble;
        case "java.util.PrimitiveIterator$OfInt": ju_PrimitiveIterator$OfInt.$clinit(); return ju_PrimitiveIterator$OfInt;
        case "java.util.PrimitiveIterator": ju_PrimitiveIterator.$clinit(); return ju_PrimitiveIterator;
        case "java.util.Spliterator$OfInt": ju_Spliterator$OfInt.$clinit(); return ju_Spliterator$OfInt;
        case "java.util.Spliterator$OfPrimitive": ju_Spliterator$OfPrimitive.$clinit(); return ju_Spliterator$OfPrimitive;
        case "java.util.stream.IntStream$Builder": jus_IntStream$Builder.$clinit(); return jus_IntStream$Builder;
        case "java.util.function.IntSupplier": juf_IntSupplier.$clinit(); return juf_IntSupplier;
        case "org.teavm.jso.core.JSRegExpFlag": otjc_JSRegExpFlag.$clinit(); return otjc_JSRegExpFlag;
        case "org.teavm.jso.dom.xml.Attr": otjdx_Attr.$clinit(); return otjdx_Attr;
        case "org.teavm.jso.dom.xml.NodeList": otjdx_NodeList.$clinit(); return otjdx_NodeList;
        case "javax.sound.sampled.Control": jss_Control.$clinit(); return jss_Control;
        case "javax.sound.sampled.Control$Type": jss_Control$Type.$clinit(); return jss_Control$Type;
        case "javax.sound.sampled.LineListener": jss_LineListener.$clinit(); return jss_LineListener;
        case "org.teavm.classlib.fs.VirtualFileSystem": otcf_VirtualFileSystem.$clinit(); return otcf_VirtualFileSystem;
        case "java.io.FilenameFilter": ji_FilenameFilter.$clinit(); return ji_FilenameFilter;
        case "java.io.FileFilter": ji_FileFilter.$clinit(); return ji_FileFilter;
        case "org.teavm.classlib.fs.VirtualFile": otcf_VirtualFile.$clinit(); return otcf_VirtualFile;
        case "net.minecraft.src.PathPoint": nms_PathPoint.$clinit(); return nms_PathPoint;
        case "org.teavm.jso.webgl.WebGLContextAttributes": otjw_WebGLContextAttributes.$clinit(); return otjw_WebGLContextAttributes;
        case "org.teavm.jso.webgl.WebGLActiveInfo": otjw_WebGLActiveInfo.$clinit(); return otjw_WebGLActiveInfo;
        case "org.teavm.jso.webgl.WebGLShaderPrecisionFormat": otjw_WebGLShaderPrecisionFormat.$clinit(); return otjw_WebGLShaderPrecisionFormat;
        case "org.teavm.jso.canvas.ImageData": otjc_ImageData.$clinit(); return otjc_ImageData;
        case "org.teavm.jso.dom.css.CSSStyleDeclaration": otjdc_CSSStyleDeclaration.$clinit(); return otjdc_CSSStyleDeclaration;
        case "org.teavm.jso.dom.html.HTMLHtmlElement": otjdh_HTMLHtmlElement.$clinit(); return otjdh_HTMLHtmlElement;
        case "org.teavm.jso.dom.html.HTMLBodyElement": otjdh_HTMLBodyElement.$clinit(); return otjdh_HTMLBodyElement;
        case "org.teavm.jso.dom.html.HTMLHeadElement": otjdh_HTMLHeadElement.$clinit(); return otjdh_HTMLHeadElement;
        case "org.teavm.jso.dom.html.TextRectangle": otjdh_TextRectangle.$clinit(); return otjdh_TextRectangle;
        case "org.teavm.jso.dom.xml.DocumentType": otjdx_DocumentType.$clinit(); return otjdx_DocumentType;
        case "org.teavm.jso.dom.xml.DOMImplementation": otjdx_DOMImplementation.$clinit(); return otjdx_DOMImplementation;
        case "org.teavm.jso.dom.xml.DocumentFragment": otjdx_DocumentFragment.$clinit(); return otjdx_DocumentFragment;
        case "org.teavm.jso.dom.xml.Text": otjdx_Text.$clinit(); return otjdx_Text;
        case "org.teavm.jso.dom.xml.Comment": otjdx_Comment.$clinit(); return otjdx_Comment;
        case "org.teavm.jso.dom.xml.CDATASection": otjdx_CDATASection.$clinit(); return otjdx_CDATASection;
        case "org.teavm.jso.dom.xml.ProcessingInstruction": otjdx_ProcessingInstruction.$clinit(); return otjdx_ProcessingInstruction;
        case "org.teavm.jso.dom.xml.EntityReference": otjdx_EntityReference.$clinit(); return otjdx_EntityReference;
        case "org.teavm.classlib.impl.tz.DateTimeZoneBuilder$Rule": otcit_DateTimeZoneBuilder$Rule.$clinit(); return otcit_DateTimeZoneBuilder$Rule;
        case "org.teavm.jso.dom.xml.NamedNodeMap": otjdx_NamedNodeMap.$clinit(); return otjdx_NamedNodeMap;
        case "java.util.function.LongPredicate": juf_LongPredicate.$clinit(); return juf_LongPredicate;
        case "java.util.function.LongUnaryOperator": juf_LongUnaryOperator.$clinit(); return juf_LongUnaryOperator;
        case "java.util.function.LongFunction": juf_LongFunction.$clinit(); return juf_LongFunction;
        case "java.util.function.LongToIntFunction": juf_LongToIntFunction.$clinit(); return juf_LongToIntFunction;
        case "java.util.function.LongToDoubleFunction": juf_LongToDoubleFunction.$clinit(); return juf_LongToDoubleFunction;
        case "java.util.function.LongConsumer": juf_LongConsumer.$clinit(); return juf_LongConsumer;
        case "java.util.function.LongBinaryOperator": juf_LongBinaryOperator.$clinit(); return juf_LongBinaryOperator;
        case "java.util.OptionalLong": ju_OptionalLong.$clinit(); return ju_OptionalLong;
        case "java.util.PrimitiveIterator$OfLong": ju_PrimitiveIterator$OfLong.$clinit(); return ju_PrimitiveIterator$OfLong;
        case "java.util.Spliterator$OfLong": ju_Spliterator$OfLong.$clinit(); return ju_Spliterator$OfLong;
        case "java.util.stream.LongStream$Builder": jus_LongStream$Builder.$clinit(); return jus_LongStream$Builder;
        case "java.util.function.LongSupplier": juf_LongSupplier.$clinit(); return juf_LongSupplier;
        case "org.teavm.classlib.impl.reflection.JSFieldGetter": otcir_JSFieldGetter.$clinit(); return otcir_JSFieldGetter;
        case "org.teavm.classlib.impl.reflection.JSFieldSetter": otcir_JSFieldSetter.$clinit(); return otcir_JSFieldSetter;
        case "org.teavm.jso.canvas.CanvasGradient": otjc_CanvasGradient.$clinit(); return otjc_CanvasGradient;
        case "org.teavm.jso.canvas.CanvasPattern": otjc_CanvasPattern.$clinit(); return otjc_CanvasPattern;
        case "org.teavm.jso.canvas.TextMetrics": otjc_TextMetrics.$clinit(); return otjc_TextMetrics;
        case "org.teavm.platform.PlatformClassMetadata": otp_PlatformClassMetadata.$clinit(); return otp_PlatformClassMetadata;
        case "net.minecraft.src.NibbleArray": nms_NibbleArray.$clinit(); return nms_NibbleArray;
        case "java.util.function.DoublePredicate": juf_DoublePredicate.$clinit(); return juf_DoublePredicate;
        case "java.util.function.DoubleUnaryOperator": juf_DoubleUnaryOperator.$clinit(); return juf_DoubleUnaryOperator;
        case "java.util.function.DoubleFunction": juf_DoubleFunction.$clinit(); return juf_DoubleFunction;
        case "java.util.function.DoubleToIntFunction": juf_DoubleToIntFunction.$clinit(); return juf_DoubleToIntFunction;
        case "java.util.function.DoubleToLongFunction": juf_DoubleToLongFunction.$clinit(); return juf_DoubleToLongFunction;
        case "java.util.function.DoubleConsumer": juf_DoubleConsumer.$clinit(); return juf_DoubleConsumer;
        case "java.util.function.DoubleBinaryOperator": juf_DoubleBinaryOperator.$clinit(); return juf_DoubleBinaryOperator;
        case "java.util.PrimitiveIterator$OfDouble": ju_PrimitiveIterator$OfDouble.$clinit(); return ju_PrimitiveIterator$OfDouble;
        case "java.util.Spliterator$OfDouble": ju_Spliterator$OfDouble.$clinit(); return ju_Spliterator$OfDouble;
        case "java.util.stream.DoubleStream$Builder": jus_DoubleStream$Builder.$clinit(); return jus_DoubleStream$Builder;
        case "java.util.function.DoubleSupplier": juf_DoubleSupplier.$clinit(); return juf_DoubleSupplier;
        case "javax.sound.sampled.LineEvent": jss_LineEvent.$clinit(); return jss_LineEvent;
        case "java.util.EventObject": ju_EventObject.$clinit(); return ju_EventObject;
        case "org.json.JSONTokener": oj_JSONTokener.$clinit(); return oj_JSONTokener;
        case "org.json.JSONArray": oj_JSONArray.$clinit(); return oj_JSONArray;
        case "org.json.JSONPointer": oj_JSONPointer.$clinit(); return oj_JSONPointer;
        case "org.json.JSONException": oj_JSONException.$clinit(); return oj_JSONException;
        case "org.teavm.jso.media.VideoTrack": otjm_VideoTrack.$clinit(); return otjm_VideoTrack;
        case "org.teavm.jso.media.AudioTrack": otjm_AudioTrack.$clinit(); return otjm_AudioTrack;
        case "org.teavm.jso.typedarrays.Uint8ClampedArray": otjt_Uint8ClampedArray.$clinit(); return otjt_Uint8ClampedArray;
        case "org.teavm.classlib.fs.VirtualFileAccessor": otcf_VirtualFileAccessor.$clinit(); return otcf_VirtualFileAccessor;
        case "java.util.stream.Collector$Characteristics": jus_Collector$Characteristics.$clinit(); return jus_Collector$Characteristics;
        case "org.teavm.jso.media.TextTrackCueList": otjm_TextTrackCueList.$clinit(); return otjm_TextTrackCueList;
        case "org.teavm.jso.media.TextTrackCue": otjm_TextTrackCue.$clinit(); return otjm_TextTrackCue;
        case "org.json.JSONPointer$Builder": oj_JSONPointer$Builder.$clinit(); return oj_JSONPointer$Builder;
        case "javax.sound.sampled.LineEvent$Type": jss_LineEvent$Type.$clinit(); return jss_LineEvent$Type;
        case "org.teavm.classlib.impl.reflection.Converter": otcir_Converter.$clinit(); return otcir_Converter;
        case "org.teavm.classlib.impl.reflection.Flags": otcir_Flags.$clinit(); return otcir_Flags;
        case "me.ayunami2000.ayuncraft.tmi.TMIEnchanting": maat_TMIEnchanting.$clinit(); return maat_TMIEnchanting;
        case "net.lax1dude.eaglercraft.WebsocketNetworkManager$ByteBufferDirectInputStream": nle_WebsocketNetworkManager$ByteBufferDirectInputStream.$clinit(); return nle_WebsocketNetworkManager$ByteBufferDirectInputStream;
        case "net.minecraft.src.ModelEnderCrystal": nms_ModelEnderCrystal.$clinit(); return nms_ModelEnderCrystal;
        case "net.minecraft.src.EnumArt": nms_EnumArt.$clinit(); return nms_EnumArt;
        case "java.lang.SystemClassLoader": jl_SystemClassLoader.$clinit(); return jl_SystemClassLoader;
        case "net.minecraft.src.ScoreDummyCriteria": nms_ScoreDummyCriteria.$clinit(); return nms_ScoreDummyCriteria;
        case "net.minecraft.src.ScoreHealthCriteria": nms_ScoreHealthCriteria.$clinit(); return nms_ScoreHealthCriteria;
        case "com.jcraft.jzlib.Deflate$Config": cjj_Deflate$Config.$clinit(); return cjj_Deflate$Config;
        case "java.util.ServiceLoader": ju_ServiceLoader.$clinit(); return ju_ServiceLoader;
        case "net.minecraft.src.PacketCount": nms_PacketCount.$clinit(); return nms_PacketCount;
        case "org.teavm.classlib.fs.VirtualFileSystemProvider": otcf_VirtualFileSystemProvider.$clinit(); return otcf_VirtualFileSystemProvider;
        case "java.util.Collections$16": ju_Collections$16.$clinit(); return ju_Collections$16;
        case "java.text.MessageFormat": jt_MessageFormat.$clinit(); return jt_MessageFormat;
        case "org.json.JSONObject$Null": oj_JSONObject$Null.$clinit(); return oj_JSONObject$Null;
        case "org.teavm.classlib.fs.memory.InMemoryVirtualFileSystem": otcfm_InMemoryVirtualFileSystem.$clinit(); return otcfm_InMemoryVirtualFileSystem;
        case "org.teavm.classlib.fs.memory.InMemoryVirtualDirectory": otcfm_InMemoryVirtualDirectory.$clinit(); return otcfm_InMemoryVirtualDirectory;
        case "org.teavm.classlib.fs.memory.AbstractInMemoryVirtualFile": otcfm_AbstractInMemoryVirtualFile.$clinit(); return otcfm_AbstractInMemoryVirtualFile;
        case "net.lax1dude.eaglercraft.WebsocketNetworkManager$1": nle_WebsocketNetworkManager$1.$clinit(); return nle_WebsocketNetworkManager$1;
        case "org.teavm.classlib.fs.memory.InMemoryVirtualFile": otcfm_InMemoryVirtualFile.$clinit(); return otcfm_InMemoryVirtualFile;
        case "org.json.JSONObject$1": oj_JSONObject$1.$clinit(); return oj_JSONObject$1;
        case "java.util.ServiceLoader$1": ju_ServiceLoader$1.$clinit(); return ju_ServiceLoader$1;
        case "com.sun.media.sound.StandardMidiFileReader": csms_StandardMidiFileReader.$clinit(); return csms_StandardMidiFileReader;
        case "java.lang.InstantiationException": jl_InstantiationException.$clinit(); return jl_InstantiationException;
        case "me.ayunami2000.ayuncraft.tmi.TMIEnchantControl": maat_TMIEnchantControl.$clinit(); return maat_TMIEnchantControl;
        case "java.text.ChoiceFormat": jt_ChoiceFormat.$clinit(); return jt_ChoiceFormat;
        case "java.util.Collections$17": ju_Collections$17.$clinit(); return ju_Collections$17;
        case "com.sun.media.sound.SMFParser": csms_SMFParser.$clinit(); return csms_SMFParser;
        case "me.ayunami2000.ayuncraft.CryptManager": maa_CryptManager.$clinit(); return maa_CryptManager;
        case "net.lax1dude.eaglercraft.EaglerInflater": nle_EaglerInflater.$clinit(); return nle_EaglerInflater;
        case "net.minecraft.src.InventoryCrafting": nms_InventoryCrafting.$clinit(); return nms_InventoryCrafting;
        case "net.minecraft.src.ContainerSheep": nms_ContainerSheep.$clinit(); return nms_ContainerSheep;
        case "javax.sound.midi.Track$ImmutableEndOfTrack": jsm_Track$ImmutableEndOfTrack.$clinit(); return jsm_Track$ImmutableEndOfTrack;
        case "java.util.LinkedHashMap$LinkedHashMapEntrySet": ju_LinkedHashMap$LinkedHashMapEntrySet.$clinit(); return ju_LinkedHashMap$LinkedHashMapEntrySet;
        case "java.lang.StackOverflowError": jl_StackOverflowError.$clinit(); return jl_StackOverflowError;
        case "java.nio.InvalidMarkException": jn_InvalidMarkException.$clinit(); return jn_InvalidMarkException;
        case "net.minecraft.src.CombatTracker": nms_CombatTracker.$clinit(); return nms_CombatTracker;
        case "net.minecraft.src.EntityBodyHelper": nms_EntityBodyHelper.$clinit(); return nms_EntityBodyHelper;
        case "com.jcraft.jzlib.GZIPInputStream": cjj_GZIPInputStream.$clinit(); return cjj_GZIPInputStream;
        case "java.util.concurrent.atomic.AtomicInteger": juca_AtomicInteger.$clinit(); return juca_AtomicInteger;
        case "net.minecraft.src.CombatEntry": nms_CombatEntry.$clinit(); return nms_CombatEntry;
        case "javax.sound.midi.Track$1": jsm_Track$1.$clinit(); return jsm_Track$1;
        case "org.bouncycastle.crypto.BufferedBlockCipher": obc_BufferedBlockCipher.$clinit(); return obc_BufferedBlockCipher;
        case "org.bouncycastle.crypto.BlockCipher": obc_BlockCipher.$clinit(); return obc_BlockCipher;
        case "org.bouncycastle.crypto.CipherParameters": obc_CipherParameters.$clinit(); return obc_CipherParameters;
        case "java.util.LinkedHashMap$EntryIterator": ju_LinkedHashMap$EntryIterator.$clinit(); return ju_LinkedHashMap$EntryIterator;
        case "net.minecraft.src.EntityPickupFX": nms_EntityPickupFX.$clinit(); return nms_EntityPickupFX;
        case "net.minecraft.src.GuiDownloadTerrain": nms_GuiDownloadTerrain.$clinit(); return nms_GuiDownloadTerrain;
        case "net.minecraft.src.NpcMerchant": nms_NpcMerchant.$clinit(); return nms_NpcMerchant;
        case "net.minecraft.src.WorldProviderSurface": nms_WorldProviderSurface.$clinit(); return nms_WorldProviderSurface;
        case "net.minecraft.src.GuiMerchant": nms_GuiMerchant.$clinit(); return nms_GuiMerchant;
        case "net.minecraft.src.GuiWinGame": nms_GuiWinGame.$clinit(); return nms_GuiWinGame;
        case "net.minecraft.src.EntityCrit2FX": nms_EntityCrit2FX.$clinit(); return nms_EntityCrit2FX;
        case "java.util.AbstractMap$SimpleImmutableEntry": ju_AbstractMap$SimpleImmutableEntry.$clinit(); return ju_AbstractMap$SimpleImmutableEntry;
        case "net.minecraft.src.GameRuleValue": nms_GameRuleValue.$clinit(); return nms_GameRuleValue;
        case "java.util.Vector": ju_Vector.$clinit(); return ju_Vector;
        case "me.ayunami2000.ayuncraft.javax.crypto.spec.SecretKeySpec": maajcs_SecretKeySpec.$clinit(); return maajcs_SecretKeySpec;
        case "me.ayunami2000.ayuncraft.java.security.spec.KeySpec": maajss_KeySpec.$clinit(); return maajss_KeySpec;
        case "net.minecraft.src.InventoryMerchant": nms_InventoryMerchant.$clinit(); return nms_InventoryMerchant;
        case "net.minecraft.src.WorldProviderHell": nms_WorldProviderHell.$clinit(); return nms_WorldProviderHell;
        case "net.minecraft.src.WorldProviderEnd": nms_WorldProviderEnd.$clinit(); return nms_WorldProviderEnd;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$BufferedImageElem": nlea_EaglerAdapterImpl2$BufferedImageElem.$clinit(); return nlea_EaglerAdapterImpl2$BufferedImageElem;
        case "java.text.MessageFormat$FieldContainer": jt_MessageFormat$FieldContainer.$clinit(); return jt_MessageFormat$FieldContainer;
        case "java.text.MessageFormat$Field": jt_MessageFormat$Field.$clinit(); return jt_MessageFormat$Field;
        case "net.minecraft.src.InventoryCraftResult": nms_InventoryCraftResult.$clinit(); return nms_InventoryCraftResult;
        case "net.minecraft.src.SlotCrafting": nms_SlotCrafting.$clinit(); return nms_SlotCrafting;
        case "net.minecraft.src.SlotArmor": nms_SlotArmor.$clinit(); return nms_SlotArmor;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$15": nlea_EaglerAdapterImpl2$15.$clinit(); return nlea_EaglerAdapterImpl2$15;
        case "net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2$16": nlea_EaglerAdapterImpl2$16.$clinit(); return nlea_EaglerAdapterImpl2$16;
        case "net.minecraft.src.SoundUpdaterMinecart": nms_SoundUpdaterMinecart.$clinit(); return nms_SoundUpdaterMinecart;
        case "net.minecraft.src.CraftingManager": nms_CraftingManager.$clinit(); return nms_CraftingManager;
        case "java.lang.ArrayIndexOutOfBoundsException": jl_ArrayIndexOutOfBoundsException.$clinit(); return jl_ArrayIndexOutOfBoundsException;
        case "javax.sound.midi.SysexMessage": jsm_SysexMessage.$clinit(); return jsm_SysexMessage;
        case "com.sun.media.sound.FastShortMessage": csms_FastShortMessage.$clinit(); return csms_FastShortMessage;
        case "net.minecraft.src.ChunkProviderClient": nms_ChunkProviderClient.$clinit(); return nms_ChunkProviderClient;
        case "java.text.AttributedString": jt_AttributedString.$clinit(); return jt_AttributedString;
        case "net.minecraft.src.LongHashMap": nms_LongHashMap.$clinit(); return nms_LongHashMap;
        case "net.minecraft.src.EmptyChunk": nms_EmptyChunk.$clinit(); return nms_EmptyChunk;
        case "net.minecraft.src.LongHashMapEntry": nms_LongHashMapEntry.$clinit(); return nms_LongHashMapEntry;
        case "net.minecraft.src.RecipesTools": nms_RecipesTools.$clinit(); return nms_RecipesTools;
        case "net.minecraft.src.RecipesWeapons": nms_RecipesWeapons.$clinit(); return nms_RecipesWeapons;
        case "net.minecraft.src.RecipesIngots": nms_RecipesIngots.$clinit(); return nms_RecipesIngots;
        case "net.minecraft.src.RecipesFood": nms_RecipesFood.$clinit(); return nms_RecipesFood;
        case "net.minecraft.src.RecipesCrafting": nms_RecipesCrafting.$clinit(); return nms_RecipesCrafting;
        case "net.minecraft.src.RecipesArmor": nms_RecipesArmor.$clinit(); return nms_RecipesArmor;
        case "net.minecraft.src.RecipesDyes": nms_RecipesDyes.$clinit(); return nms_RecipesDyes;
        case "net.minecraft.src.RecipesArmorDyes": nms_RecipesArmorDyes.$clinit(); return nms_RecipesArmorDyes;
        case "net.minecraft.src.IRecipe": nms_IRecipe.$clinit(); return nms_IRecipe;
        case "net.minecraft.src.RecipesMapCloning": nms_RecipesMapCloning.$clinit(); return nms_RecipesMapCloning;
        case "net.minecraft.src.RecipesMapExtending": nms_RecipesMapExtending.$clinit(); return nms_RecipesMapExtending;
        case "net.minecraft.src.ShapedRecipes": nms_ShapedRecipes.$clinit(); return nms_ShapedRecipes;
        case "net.minecraft.src.RecipeFireworks": nms_RecipeFireworks.$clinit(); return nms_RecipeFireworks;
        case "net.minecraft.src.RecipeSorter": nms_RecipeSorter.$clinit(); return nms_RecipeSorter;
        case "net.minecraft.src.GuiChest": nms_GuiChest.$clinit(); return nms_GuiChest;
        case "net.minecraft.src.GuiCrafting": nms_GuiCrafting.$clinit(); return nms_GuiCrafting;
        case "net.minecraft.src.GuiBeacon": nms_GuiBeacon.$clinit(); return nms_GuiBeacon;
        case "net.minecraft.src.GuiDispenser": nms_GuiDispenser.$clinit(); return nms_GuiDispenser;
        case "net.minecraft.src.GuiHopper": nms_GuiHopper.$clinit(); return nms_GuiHopper;
        case "net.minecraft.src.GuiBrewingStand": nms_GuiBrewingStand.$clinit(); return nms_GuiBrewingStand;
        case "net.minecraft.src.GuiEnchantment": nms_GuiEnchantment.$clinit(); return nms_GuiEnchantment;
        case "net.minecraft.src.GuiFurnace": nms_GuiFurnace.$clinit(); return nms_GuiFurnace;
        case "com.sun.media.sound.MidiUtils": csms_MidiUtils.$clinit(); return csms_MidiUtils;
        case "java.text.AttributedString$AttributedIterator": jt_AttributedString$AttributedIterator.$clinit(); return jt_AttributedString$AttributedIterator;
        case "net.minecraft.src.ShapelessRecipes": nms_ShapelessRecipes.$clinit(); return nms_ShapelessRecipes;
        case "net.minecraft.src.EntityDamageSource": nms_EntityDamageSource.$clinit(); return nms_EntityDamageSource;
        case "net.minecraft.src.ContainerChest": nms_ContainerChest.$clinit(); return nms_ContainerChest;
        case "net.minecraft.src.ContainerBeacon": nms_ContainerBeacon.$clinit(); return nms_ContainerBeacon;
        case "net.minecraft.src.ContainerRepair": nms_ContainerRepair.$clinit(); return nms_ContainerRepair;
        case "net.minecraft.src.ContainerDispenser": nms_ContainerDispenser.$clinit(); return nms_ContainerDispenser;
        case "net.minecraft.src.ContainerHopper": nms_ContainerHopper.$clinit(); return nms_ContainerHopper;
        case "net.minecraft.src.ContainerMerchant": nms_ContainerMerchant.$clinit(); return nms_ContainerMerchant;
        case "net.minecraft.src.ContainerBrewingStand": nms_ContainerBrewingStand.$clinit(); return nms_ContainerBrewingStand;
        case "net.minecraft.src.ContainerEnchantment": nms_ContainerEnchantment.$clinit(); return nms_ContainerEnchantment;
        case "net.minecraft.src.ContainerFurnace": nms_ContainerFurnace.$clinit(); return nms_ContainerFurnace;
        case "org.json.JSONString": oj_JSONString.$clinit(); return oj_JSONString;
        case "net.minecraft.src.EntityDamageSourceIndirect": nms_EntityDamageSourceIndirect.$clinit(); return nms_EntityDamageSourceIndirect;
        case "net.minecraft.src.SlotBeacon": nms_SlotBeacon.$clinit(); return nms_SlotBeacon;
        case "net.minecraft.src.InventoryRepair": nms_InventoryRepair.$clinit(); return nms_InventoryRepair;
        case "net.minecraft.src.SlotRepair": nms_SlotRepair.$clinit(); return nms_SlotRepair;
        case "net.minecraft.src.SlotMerchantResult": nms_SlotMerchantResult.$clinit(); return nms_SlotMerchantResult;
        case "net.minecraft.src.SlotBrewingStandPotion": nms_SlotBrewingStandPotion.$clinit(); return nms_SlotBrewingStandPotion;
        case "net.minecraft.src.SlotBrewingStandIngredient": nms_SlotBrewingStandIngredient.$clinit(); return nms_SlotBrewingStandIngredient;
        case "net.minecraft.src.SlotEnchantmentTable": nms_SlotEnchantmentTable.$clinit(); return nms_SlotEnchantmentTable;
        case "net.minecraft.src.SlotEnchantment": nms_SlotEnchantment.$clinit(); return nms_SlotEnchantment;
        case "net.minecraft.src.SlotFurnace": nms_SlotFurnace.$clinit(); return nms_SlotFurnace;
        case "com.jcraft.jzlib.GZIPOutputStream": cjj_GZIPOutputStream.$clinit(); return cjj_GZIPOutputStream;
        case "com.jcraft.jzlib.DeflaterOutputStream": cjj_DeflaterOutputStream.$clinit(); return cjj_DeflaterOutputStream;
        case "com.jcraft.jzlib.Deflater": cjj_Deflater.$clinit(); return cjj_Deflater;
        case "java.util.IdentityHashMap": ju_IdentityHashMap.$clinit(); return ju_IdentityHashMap;
        case "java.util.SetFromMap": ju_SetFromMap.$clinit(); return ju_SetFromMap;
        case "org.json.JSONPropertyIgnore": oj_JSONPropertyIgnore.$clinit(); return oj_JSONPropertyIgnore;
        case "org.json.JSONPropertyName": oj_JSONPropertyName.$clinit(); return oj_JSONPropertyName;
        case "java.lang.SecurityException": jl_SecurityException.$clinit(); return jl_SecurityException;
        case "java.text.AttributedString$Range": jt_AttributedString$Range.$clinit(); return jt_AttributedString$Range;
        case "com.sun.media.sound.MidiUtils$TempoCache": csms_MidiUtils$TempoCache.$clinit(); return csms_MidiUtils$TempoCache;
        case "java.util.IdentityHashMap$HashEntry": ju_IdentityHashMap$HashEntry.$clinit(); return ju_IdentityHashMap$HashEntry;
        case "net.minecraft.src.FurnaceRecipes": nms_FurnaceRecipes.$clinit(); return nms_FurnaceRecipes;
        case "net.minecraft.src.GuiEditSign": nms_GuiEditSign.$clinit(); return nms_GuiEditSign;
        case "net.minecraft.src.GuiCommandBlock": nms_GuiCommandBlock.$clinit(); return nms_GuiCommandBlock;
        case "net.minecraft.src.EntityFireworkStarterFX": nms_EntityFireworkStarterFX.$clinit(); return nms_EntityFireworkStarterFX;
        case "net.minecraft.src.EntityHugeExplodeFX": nms_EntityHugeExplodeFX.$clinit(); return nms_EntityHugeExplodeFX;
        case "net.minecraft.src.EntityBubbleFX": nms_EntityBubbleFX.$clinit(); return nms_EntityBubbleFX;
        case "net.minecraft.src.EntitySuspendFX": nms_EntitySuspendFX.$clinit(); return nms_EntitySuspendFX;
        case "net.minecraft.src.EntityAuraFX": nms_EntityAuraFX.$clinit(); return nms_EntityAuraFX;
        case "net.minecraft.src.EntityCritFX": nms_EntityCritFX.$clinit(); return nms_EntityCritFX;
        case "net.minecraft.src.EntitySpellParticleFX": nms_EntitySpellParticleFX.$clinit(); return nms_EntitySpellParticleFX;
        case "net.minecraft.src.EntityNoteFX": nms_EntityNoteFX.$clinit(); return nms_EntityNoteFX;
        case "net.minecraft.src.EntityPortalFX": nms_EntityPortalFX.$clinit(); return nms_EntityPortalFX;
        case "net.minecraft.src.EntityEnchantmentTableParticleFX": nms_EntityEnchantmentTableParticleFX.$clinit(); return nms_EntityEnchantmentTableParticleFX;
        case "net.minecraft.src.EntityExplodeFX": nms_EntityExplodeFX.$clinit(); return nms_EntityExplodeFX;
        case "net.minecraft.src.EntityFlameFX": nms_EntityFlameFX.$clinit(); return nms_EntityFlameFX;
        case "net.minecraft.src.EntityLavaFX": nms_EntityLavaFX.$clinit(); return nms_EntityLavaFX;
        case "net.minecraft.src.EntityFootStepFX": nms_EntityFootStepFX.$clinit(); return nms_EntityFootStepFX;
        case "net.minecraft.src.EntitySplashFX": nms_EntitySplashFX.$clinit(); return nms_EntitySplashFX;
        case "net.minecraft.src.EntityCloudFX": nms_EntityCloudFX.$clinit(); return nms_EntityCloudFX;
        case "net.minecraft.src.EntityReddustFX": nms_EntityReddustFX.$clinit(); return nms_EntityReddustFX;
        case "net.minecraft.src.EntityBreakingFX": nms_EntityBreakingFX.$clinit(); return nms_EntityBreakingFX;
        case "net.minecraft.src.EntityDropParticleFX": nms_EntityDropParticleFX.$clinit(); return nms_EntityDropParticleFX;
        case "net.minecraft.src.EntitySnowShovelFX": nms_EntitySnowShovelFX.$clinit(); return nms_EntitySnowShovelFX;
        case "net.minecraft.src.EntityHeartFX": nms_EntityHeartFX.$clinit(); return nms_EntityHeartFX;
        case "net.minecraft.src.EntityLargeExplodeFX": nms_EntityLargeExplodeFX.$clinit(); return nms_EntityLargeExplodeFX;
        case "net.minecraft.src.EntityFireworkSparkFX": nms_EntityFireworkSparkFX.$clinit(); return nms_EntityFireworkSparkFX;
        case "net.minecraft.src.GuiBeaconButtonConfirm": nms_GuiBeaconButtonConfirm.$clinit(); return nms_GuiBeaconButtonConfirm;
        case "net.minecraft.src.GuiBeaconButton": nms_GuiBeaconButton.$clinit(); return nms_GuiBeaconButton;
        case "net.minecraft.src.GuiBeaconButtonCancel": nms_GuiBeaconButtonCancel.$clinit(); return nms_GuiBeaconButtonCancel;
        case "net.minecraft.src.GuiButtonMerchant": nms_GuiButtonMerchant.$clinit(); return nms_GuiButtonMerchant;
        case "net.minecraft.src.GuiBeaconButtonPower": nms_GuiBeaconButtonPower.$clinit(); return nms_GuiBeaconButtonPower;
        case "net.minecraft.src.EnchantmentNameParts": nms_EnchantmentNameParts.$clinit(); return nms_EnchantmentNameParts;
        case "java.lang.Class$MethodSignature": jl_Class$MethodSignature.$clinit(); return jl_Class$MethodSignature;
        case "com.jcraft.jzlib.Tree": cjj_Tree.$clinit(); return cjj_Tree;
        case "java.text.Annotation": jt_Annotation.$clinit(); return jt_Annotation;
        case "net.minecraft.src.GuiScreenBook": nms_GuiScreenBook.$clinit(); return nms_GuiScreenBook;
        case "net.minecraft.src.EntityFireworkOverlayFX": nms_EntityFireworkOverlayFX.$clinit(); return nms_EntityFireworkOverlayFX;
        case "net.minecraft.src.PathFinder": nms_PathFinder.$clinit(); return nms_PathFinder;
        case "net.minecraft.src.InventoryLargeChest": nms_InventoryLargeChest.$clinit(); return nms_InventoryLargeChest;
        case "net.minecraft.src.GuiButtonNextPage": nms_GuiButtonNextPage.$clinit(); return nms_GuiButtonNextPage;
        case "net.minecraft.src.Path": nms_Path.$clinit(); return nms_Path;
        case "java.util.AbstractList$TListIteratorImpl": ju_AbstractList$TListIteratorImpl.$clinit(); return ju_AbstractList$TListIteratorImpl;
        case "com.jcraft.jzlib.StaticTree": cjj_StaticTree.$clinit(); return cjj_StaticTree;
        default: return null;
    }
}
function otp_Platform_startThread(var$1) {
    return setTimeout(function() {
        $rt_threadStarter(otp_Platform_launchThread)(var$1);
    }, 0);
}
function otp_Platform_launchThread($runnable) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$runnable = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $runnable.$run();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($runnable, $ptr);
}
function otp_Platform_postpone($runnable) {
    otp_Platform_schedule($runnable, 0);
}
function otp_Platform_schedule(var$1, var$2) {
    return setTimeout(function() {
        otp_Platform_launchThread(var$1);
    }, var$2);
}
function otp_Platform_stringFromCharCode($charCode) {
    return String.fromCharCode($charCode);
}
function otp_Platform_getArrayItem($cls) {
    return $cls.$meta.item;
}
function otp_Platform_getName($cls) {
    return $rt_str($cls.$meta.name);
}
function otp_Platform_createQueueJs$js_body$_30() {
    return [];
}
function ji_Serializable() {
}
function jl_Comparable() {
}
function jl_CharSequence() {
}
function jl_String() {
    var a = this; jl_Object.call(a);
    a.$characters = null;
    a.$hashCode = 0;
}
var jl_String_CASE_INSENSITIVE_ORDER = null;
function jl_String__init_1() {
    var var_0 = new jl_String();
    jl_String__init_0(var_0);
    return var_0;
}
function jl_String__init_(var_0) {
    var var_1 = new jl_String();
    jl_String__init_2(var_1, var_0);
    return var_1;
}
function jl_String__init_3(var_0, var_1, var_2) {
    var var_3 = new jl_String();
    jl_String__init_4(var_3, var_0, var_1, var_2);
    return var_3;
}
function jl_String__init_5(var_0) {
    var var_1 = new jl_String();
    jl_String__init_6(var_1, var_0);
    return var_1;
}
function jl_String__init_7(var_0, var_1) {
    var var_2 = new jl_String();
    jl_String__init_8(var_2, var_0, var_1);
    return var_2;
}
function jl_String__init_9(var_0, var_1, var_2) {
    var var_3 = new jl_String();
    jl_String__init_10(var_3, var_0, var_1, var_2);
    return var_3;
}
function jl_String__init_0($this) {
    $this.$characters = $rt_createCharArray(0);
}
function jl_String__init_2($this, $characters) {
    var var$2, $i;
    $characters = $characters.data;
    var$2 = $characters.length;
    $this.$characters = $rt_createCharArray(var$2);
    $i = 0;
    while ($i < var$2) {
        $this.$characters.data[$i] = $characters[$i];
        $i = $i + 1 | 0;
    }
}
function jl_String__init_4($this, $value, $offset, $count) {
    var $i, var$5;
    $this.$characters = $rt_createCharArray($count);
    $i = 0;
    while ($i < $count) {
        var$5 = $value.data;
        $this.$characters.data[$i] = var$5[$i + $offset | 0];
        $i = $i + 1 | 0;
    }
}
function jl_String__init_6($this, $bytes) {
    jl_String_initWithBytes($this, $bytes, 0, $bytes.data.length, jnci_UTF8Charset__init_0());
}
function jl_String__init_8($this, $bytes, $charset) {
    jl_String_initWithBytes($this, $bytes, 0, $bytes.data.length, $charset);
}
function jl_String__init_10($this, $codePoints, $offset, $count) {
    var $charCount, $i, var$6, var$7, $codePoint, var$9;
    $this.$characters = $rt_createCharArray($count * 2 | 0);
    $charCount = 0;
    $i = 0;
    while ($i < $count) {
        var$6 = $codePoints.data;
        var$7 = $offset + 1 | 0;
        $codePoint = var$6[$offset];
        if ($codePoint < 65536) {
            var$6 = $this.$characters.data;
            var$9 = $charCount + 1 | 0;
            var$6[$charCount] = $codePoint & 65535;
        } else {
            var$6 = $this.$characters.data;
            $offset = $charCount + 1 | 0;
            var$6[$charCount] = jl_Character_highSurrogate($codePoint);
            var$6 = $this.$characters.data;
            var$9 = $offset + 1 | 0;
            var$6[$offset] = jl_Character_lowSurrogate($codePoint);
        }
        $i = $i + 1 | 0;
        $offset = var$7;
        $charCount = var$9;
    }
    if ($charCount < $this.$characters.data.length)
        $this.$characters = ju_Arrays_copyOf0($this.$characters, $charCount);
}
function jl_String_initWithBytes($this, $bytes, $offset, $length, $charset) {
    var $buffer;
    $buffer = jnc_Charset_decode($charset, jn_ByteBuffer_wrap($bytes, $offset, $length));
    if (jn_CharBuffer_hasArray($buffer) && !$buffer.$position && $buffer.$limit == $buffer.$capacity)
        $this.$characters = jn_CharBuffer_array($buffer);
    else {
        $this.$characters = $rt_createCharArray(jn_Buffer_remaining($buffer));
        jn_CharBuffer_get($buffer, $this.$characters);
    }
}
function jl_String_charAt($this, $index) {
    var var$2;
    if ($index >= 0 && $index < $this.$characters.data.length)
        return $this.$characters.data[$index];
    var$2 = new jl_StringIndexOutOfBoundsException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function jl_String_length($this) {
    return $this.$characters.data.length;
}
function jl_String_isEmpty($this) {
    return $this.$characters.data.length ? 0 : 1;
}
function jl_String_compareTo($this, $anotherString) {
    var $l, $i, $a;
    if ($this === $anotherString)
        return 0;
    $l = jl_Math_min(jl_String_length($this), jl_String_length($anotherString));
    $i = 0;
    while (true) {
        if ($i >= $l)
            return jl_String_length($this) - jl_String_length($anotherString) | 0;
        $a = jl_String_charAt($this, $i) - jl_String_charAt($anotherString, $i) | 0;
        if ($a)
            break;
        $i = $i + 1 | 0;
    }
    return $a;
}
function jl_String_compareToIgnoreCase($this, $anotherString) {
    var $l, $i, $a;
    if ($this === $anotherString)
        return 0;
    $l = jl_Math_min(jl_String_length($this), jl_String_length($anotherString));
    $i = 0;
    while (true) {
        if ($i >= $l)
            return jl_String_length($this) - jl_String_length($anotherString) | 0;
        $a = jl_Character_toLowerCase(jl_String_charAt($this, $i)) - jl_Character_toLowerCase(jl_String_charAt($anotherString, $i)) | 0;
        if ($a)
            break;
        $i = $i + 1 | 0;
    }
    return $a;
}
function jl_String_startsWith($this, $prefix, $toffset) {
    var $i, var$4, var$5;
    if (($toffset + jl_String_length($prefix) | 0) > jl_String_length($this))
        return 0;
    $i = 0;
    while ($i < jl_String_length($prefix)) {
        var$4 = jl_String_charAt($prefix, $i);
        var$5 = $toffset + 1 | 0;
        if (var$4 != jl_String_charAt($this, $toffset))
            return 0;
        $i = $i + 1 | 0;
        $toffset = var$5;
    }
    return 1;
}
function jl_String_startsWith0($this, $prefix) {
    if ($this === $prefix)
        return 1;
    return jl_String_startsWith($this, $prefix, 0);
}
function jl_String_regionMatches($this, $ignoreCase, $toffset, $other, $ooffset, $len) {
    var $i, var$7, $a, var$9, $b;
    if ($toffset >= 0 && $ooffset >= 0 && ($toffset + $len | 0) <= jl_String_length($this) && ($ooffset + $len | 0) <= jl_String_length($other)) {
        $i = 0;
        while ($i < $len) {
            var$7 = $toffset + 1 | 0;
            $a = jl_String_charAt($this, $toffset);
            var$9 = $ooffset + 1 | 0;
            $b = jl_String_charAt($other, $ooffset);
            if ($ignoreCase) {
                $a = jl_Character_toLowerCase($a);
                $b = jl_Character_toLowerCase($b);
            }
            if ($a != $b)
                return 0;
            $i = $i + 1 | 0;
            $toffset = var$7;
            $ooffset = var$9;
        }
        return 1;
    }
    return 0;
}
function jl_String_regionMatches0($this, $toffset, $other, $ooffset, $len) {
    var $i, var$6, var$7, var$8;
    if ($toffset >= 0 && $ooffset >= 0 && ($toffset + $len | 0) <= jl_String_length($this) && ($ooffset + $len | 0) <= jl_String_length($other)) {
        $i = 0;
        while ($i < $len) {
            var$6 = $toffset + 1 | 0;
            var$7 = jl_String_charAt($this, $toffset);
            var$8 = $ooffset + 1 | 0;
            if (var$7 != jl_String_charAt($other, $ooffset))
                return 0;
            $i = $i + 1 | 0;
            $toffset = var$6;
            $ooffset = var$8;
        }
        return 1;
    }
    return 0;
}
function jl_String_endsWith($this, $suffix) {
    var $j, $i, var$4, var$5;
    if ($this === $suffix)
        return 1;
    if (jl_String_length($suffix) > jl_String_length($this))
        return 0;
    $j = 0;
    $i = jl_String_length($this) - jl_String_length($suffix) | 0;
    while ($i < jl_String_length($this)) {
        var$4 = jl_String_charAt($this, $i);
        var$5 = $j + 1 | 0;
        if (var$4 != jl_String_charAt($suffix, $j))
            return 0;
        $i = $i + 1 | 0;
        $j = var$5;
    }
    return 1;
}
function jl_String_indexOf($this, $ch, $fromIndex) {
    var $i, $bmpChar, $hi, $lo;
    $i = jl_Math_max(0, $fromIndex);
    if ($ch < 65536) {
        $bmpChar = $ch & 65535;
        while (true) {
            if ($i >= $this.$characters.data.length)
                return (-1);
            if ($this.$characters.data[$i] == $bmpChar)
                break;
            $i = $i + 1 | 0;
        }
        return $i;
    }
    $hi = jl_Character_highSurrogate($ch);
    $lo = jl_Character_lowSurrogate($ch);
    while (true) {
        if ($i >= ($this.$characters.data.length - 1 | 0))
            return (-1);
        if ($this.$characters.data[$i] == $hi && $this.$characters.data[$i + 1 | 0] == $lo)
            break;
        $i = $i + 1 | 0;
    }
    return $i;
}
function jl_String_indexOf0($this, $ch) {
    return jl_String_indexOf($this, $ch, 0);
}
function jl_String_lastIndexOf0($this, $ch, $fromIndex) {
    var $i, $bmpChar, $hi, $lo, var$7;
    $i = jl_Math_min($fromIndex, jl_String_length($this) - 1 | 0);
    if ($ch < 65536) {
        $bmpChar = $ch & 65535;
        while (true) {
            if ($i < 0)
                return (-1);
            if ($this.$characters.data[$i] == $bmpChar)
                break;
            $i = $i + (-1) | 0;
        }
        return $i;
    }
    $hi = jl_Character_highSurrogate($ch);
    $lo = jl_Character_lowSurrogate($ch);
    while (true) {
        if ($i < 1)
            return (-1);
        if ($this.$characters.data[$i] == $lo) {
            var$7 = $this.$characters.data;
            $ch = $i - 1 | 0;
            if (var$7[$ch] == $hi)
                break;
        }
        $i = $i + (-1) | 0;
    }
    return $ch;
}
function jl_String_lastIndexOf($this, $ch) {
    return jl_String_lastIndexOf0($this, $ch, jl_String_length($this) - 1 | 0);
}
function jl_String_indexOf1($this, $str, $fromIndex) {
    var $i, $toIndex, $j;
    $i = jl_Math_max(0, $fromIndex);
    $toIndex = jl_String_length($this) - jl_String_length($str) | 0;
    a: while (true) {
        if ($i > $toIndex)
            return (-1);
        $j = 0;
        while (true) {
            if ($j >= jl_String_length($str))
                break a;
            if (jl_String_charAt($this, $i + $j | 0) != jl_String_charAt($str, $j))
                break;
            $j = $j + 1 | 0;
        }
        $i = $i + 1 | 0;
    }
    return $i;
}
function jl_String_indexOf2($this, $str) {
    return jl_String_indexOf1($this, $str, 0);
}
function jl_String_lastIndexOf1($this, $str, $fromIndex) {
    var $i, $j;
    $i = jl_Math_min($fromIndex, jl_String_length($this) - jl_String_length($str) | 0);
    a: while (true) {
        if ($i < 0)
            return (-1);
        $j = 0;
        while (true) {
            if ($j >= jl_String_length($str))
                break a;
            if (jl_String_charAt($this, $i + $j | 0) != jl_String_charAt($str, $j))
                break;
            $j = $j + 1 | 0;
        }
        $i = $i + (-1) | 0;
    }
    return $i;
}
function jl_String_lastIndexOf2($this, $str) {
    return jl_String_lastIndexOf1($this, $str, jl_String_length($this));
}
function jl_String_substring0($this, $beginIndex, $endIndex) {
    var var$3;
    if ($beginIndex <= $endIndex)
        return jl_String__init_3($this.$characters, $beginIndex, $endIndex - $beginIndex | 0);
    var$3 = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0(var$3);
    $rt_throw(var$3);
}
function jl_String_substring($this, $beginIndex) {
    return jl_String_substring0($this, $beginIndex, jl_String_length($this));
}
function jl_String_subSequence($this, $beginIndex, $endIndex) {
    return jl_String_substring0($this, $beginIndex, $endIndex);
}
function jl_String_replace($this, $oldChar, $newChar) {
    var $buffer, var$4, $i;
    if ($oldChar == $newChar)
        return $this;
    $buffer = $rt_createCharArray(jl_String_length($this));
    var$4 = $buffer.data;
    $i = 0;
    while ($i < jl_String_length($this)) {
        var$4[$i] = jl_String_charAt($this, $i) != $oldChar ? jl_String_charAt($this, $i) : $newChar;
        $i = $i + 1 | 0;
    }
    return jl_String__init_($buffer);
}
function jl_String_contains($this, $s) {
    var $sz, $i, $j;
    $sz = jl_String_length($this) - jl_String_length($s) | 0;
    $i = 0;
    while ($i <= $sz) {
        $j = 0;
        while (true) {
            if ($j >= jl_String_length($s))
                return 1;
            if (jl_String_charAt($this, $i + $j | 0) != jl_String_charAt($s, $j))
                break;
            $j = $j + 1 | 0;
        }
        $i = $i + 1 | 0;
    }
    return 0;
}
function jl_String_replace0($this, $target, $replacement) {
    var $sb, $sz, $i, $j;
    $sb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($sb);
    $sz = jl_String_length($this) - jl_String_length($target) | 0;
    $i = 0;
    while ($i <= $sz) {
        $j = 0;
        a: {
            while (true) {
                if ($j >= jl_String_length($target)) {
                    jl_AbstractStringBuilder_append1($sb, $replacement);
                    $i = $i + (jl_String_length($target) - 1 | 0) | 0;
                    break a;
                }
                if (jl_String_charAt($this, $i + $j | 0) != jl_String_charAt($target, $j))
                    break;
                $j = $j + 1 | 0;
            }
            jl_AbstractStringBuilder_append0($sb, jl_String_charAt($this, $i));
        }
        $i = $i + 1 | 0;
    }
    jl_AbstractStringBuilder_append1($sb, jl_String_substring($this, $i));
    return jl_AbstractStringBuilder_toString($sb);
}
function jl_String_trim($this) {
    var $lower, $upper;
    $lower = 0;
    $upper = jl_String_length($this) - 1 | 0;
    a: {
        while ($lower <= $upper) {
            if (jl_String_charAt($this, $lower) > 32)
                break a;
            $lower = $lower + 1 | 0;
        }
    }
    while ($lower <= $upper && jl_String_charAt($this, $upper) <= 32) {
        $upper = $upper + (-1) | 0;
    }
    return jl_String_substring0($this, $lower, $upper + 1 | 0);
}
function jl_String_toString($this) {
    return $this;
}
function jl_String_toCharArray($this) {
    var $array, var$2, $i, var$4;
    $array = $rt_createCharArray($this.$characters.data.length);
    var$2 = $array.data;
    $i = 0;
    var$4 = var$2.length;
    while ($i < var$4) {
        var$2[$i] = $this.$characters.data[$i];
        $i = $i + 1 | 0;
    }
    return $array;
}
function jl_String_valueOf($obj) {
    return $obj === null ? $rt_s(48) : $obj.$toString();
}
function jl_String_valueOf0($c) {
    var var$2, var$3;
    var$2 = new jl_String;
    var$3 = $rt_createCharArray(1);
    var$3.data[0] = $c;
    jl_String__init_2(var$2, var$3);
    return var$2;
}
function jl_String_valueOf1($i) {
    var var$2;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append2(var$2, $i);
    return jl_AbstractStringBuilder_toString(var$2);
}
function jl_String_equals($this, $other) {
    var $str, $i;
    if ($this === $other)
        return 1;
    if (!($other instanceof jl_String))
        return 0;
    $str = $other;
    if (jl_String_length($str) != jl_String_length($this))
        return 0;
    $i = 0;
    while ($i < jl_String_length($str)) {
        if (jl_String_charAt($this, $i) != jl_String_charAt($str, $i))
            return 0;
        $i = $i + 1 | 0;
    }
    return 1;
}
function jl_String_equalsIgnoreCase($this, $other) {
    var $i;
    if ($this === $other)
        return 1;
    if ($other === null)
        return 0;
    if (jl_String_length($this) != jl_String_length($other))
        return 0;
    $i = 0;
    while ($i < jl_String_length($this)) {
        if (jl_Character_toLowerCase(jl_String_charAt($this, $i)) != jl_Character_toLowerCase(jl_String_charAt($other, $i)))
            return 0;
        $i = $i + 1 | 0;
    }
    return 1;
}
function jl_String_getBytes($this) {
    return jl_String_getBytes0($this, jnci_UTF8Charset__init_0());
}
function jl_String_getBytes0($this, $charset) {
    var $buffer, $result;
    $buffer = jnc_Charset_encode($charset, jn_CharBuffer_wrap($this.$characters));
    if (!$buffer.$position && $buffer.$limit == $buffer.$capacity)
        return $buffer.$array0;
    $result = $rt_createByteArray(jn_Buffer_remaining($buffer));
    jn_ByteBuffer_get($buffer, $result);
    return $result;
}
function jl_String_hashCode($this) {
    var var$1, var$2, var$3, $c;
    a: {
        if (!$this.$hashCode) {
            var$1 = $this.$characters.data;
            var$2 = var$1.length;
            var$3 = 0;
            while (true) {
                if (var$3 >= var$2)
                    break a;
                $c = var$1[var$3];
                $this.$hashCode = (31 * $this.$hashCode | 0) + $c | 0;
                var$3 = var$3 + 1 | 0;
            }
        }
    }
    return $this.$hashCode;
}
function jl_String_toLowerCase($this) {
    var $codePoints, var$2, $codePointCount, $i, var$5, var$6, var$7;
    if (jl_String_isEmpty($this))
        return $this;
    $codePoints = $rt_createIntArray($this.$characters.data.length);
    var$2 = $codePoints.data;
    $codePointCount = 0;
    $i = 0;
    while ($i < $this.$characters.data.length) {
        a: {
            if ($i != ($this.$characters.data.length - 1 | 0) && jl_Character_isHighSurrogate($this.$characters.data[$i])) {
                var$5 = $this.$characters.data;
                var$6 = $i + 1 | 0;
                if (jl_Character_isLowSurrogate(var$5[var$6])) {
                    var$7 = $codePointCount + 1 | 0;
                    var$2[$codePointCount] = jl_Character_toLowerCase0(jl_Character_toCodePoint($this.$characters.data[$i], $this.$characters.data[var$6]));
                    $i = var$6;
                    break a;
                }
            }
            var$7 = $codePointCount + 1 | 0;
            var$2[$codePointCount] = jl_Character_toLowerCase($this.$characters.data[$i]);
        }
        $i = $i + 1 | 0;
        $codePointCount = var$7;
    }
    return jl_String__init_9($codePoints, 0, $codePointCount);
}
function jl_String_toLowerCase0($this, $locale) {
    return jl_String_toLowerCase($this);
}
function jl_String_toUpperCase($this) {
    var $codePoints, var$2, $codePointCount, $i, var$5, var$6, var$7;
    if (jl_String_isEmpty($this))
        return $this;
    $codePoints = $rt_createIntArray($this.$characters.data.length);
    var$2 = $codePoints.data;
    $codePointCount = 0;
    $i = 0;
    while ($i < $this.$characters.data.length) {
        a: {
            if ($i != ($this.$characters.data.length - 1 | 0) && jl_Character_isHighSurrogate($this.$characters.data[$i])) {
                var$5 = $this.$characters.data;
                var$6 = $i + 1 | 0;
                if (jl_Character_isLowSurrogate(var$5[var$6])) {
                    var$7 = $codePointCount + 1 | 0;
                    var$2[$codePointCount] = jl_Character_toUpperCase(jl_Character_toCodePoint($this.$characters.data[$i], $this.$characters.data[var$6]));
                    $i = var$6;
                    break a;
                }
            }
            var$7 = $codePointCount + 1 | 0;
            var$2[$codePointCount] = jl_Character_toUpperCase0($this.$characters.data[$i]);
        }
        $i = $i + 1 | 0;
        $codePointCount = var$7;
    }
    return jl_String__init_9($codePoints, 0, $codePointCount);
}
function jl_String_matches($this, $regex) {
    var var$2;
    var$2 = $this;
    return jur_Matcher_matches(jur_Pattern_matcher(jur_Pattern_compile($regex), var$2));
}
function jl_String_split($this, $regex) {
    return jur_Pattern_split(jur_Pattern_compile($regex), $this);
}
function jl_String_split0($this, $regex, $limit) {
    return jur_Pattern_split0(jur_Pattern_compile($regex), $this, $limit);
}
function jl_String_replaceAll($this, $regex, $replacement) {
    return jur_Matcher_replaceAll(jur_Pattern_matcher(jur_Pattern_compile($regex), $this), $replacement);
}
function jl_String_format($format, $args) {
    return ju_Formatter_toString(ju_Formatter_format(ju_Formatter__init_0(), $format, $args));
}
function jl_String_compareTo0($this, var$1) {
    return jl_String_compareTo($this, var$1);
}
function jl_String__clinit_() {
    jl_String_CASE_INSENSITIVE_ORDER = new jl_String$_clinit_$lambda$_81_0;
}
function jl_Throwable() {
    var a = this; jl_Object.call(a);
    a.$message = null;
    a.$cause = null;
    a.$suppressionEnabled = 0;
    a.$writableStackTrace = 0;
    a.$stackTrace = null;
}
function jl_Throwable__init_1() {
    var var_0 = new jl_Throwable();
    jl_Throwable__init_0(var_0);
    return var_0;
}
function jl_Throwable__init_2(var_0) {
    var var_1 = new jl_Throwable();
    jl_Throwable__init_(var_1, var_0);
    return var_1;
}
function jl_Throwable__init_3(var_0, var_1) {
    var var_2 = new jl_Throwable();
    jl_Throwable__init_4(var_2, var_0, var_1);
    return var_2;
}
function jl_Throwable__init_5(var_0) {
    var var_1 = new jl_Throwable();
    jl_Throwable__init_6(var_1, var_0);
    return var_1;
}
function jl_Throwable__init_0($this) {
    $this.$suppressionEnabled = 1;
    $this.$writableStackTrace = 1;
}
function jl_Throwable__init_($this, $message) {
    $this.$suppressionEnabled = 1;
    $this.$writableStackTrace = 1;
    $this.$message = $message;
}
function jl_Throwable__init_4($this, $message, $cause) {
    $this.$suppressionEnabled = 1;
    $this.$writableStackTrace = 1;
    $this.$message = $message;
    $this.$cause = $cause;
}
function jl_Throwable__init_6($this, $cause) {
    $this.$suppressionEnabled = 1;
    $this.$writableStackTrace = 1;
    $this.$cause = $cause;
}
function jl_Throwable_fillInStackTrace($this) {
    return $this;
}
function jl_Throwable_getMessage($this) {
    return $this.$message;
}
function jl_Throwable_getLocalizedMessage($this) {
    return $this.$getMessage();
}
function jl_Throwable_toString($this) {
    var $message, var$2, var$3;
    $message = $this.$getMessage();
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, jl_Class_getName(jl_Object_getClass($this)));
    if ($message === null)
        $message = $rt_s(36);
    else {
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $rt_s(49));
        jl_AbstractStringBuilder_append(var$3, $message);
        $message = jl_AbstractStringBuilder_toString(var$3);
    }
    jl_AbstractStringBuilder_append(var$2, $message);
    return jl_AbstractStringBuilder_toString(var$2);
}
function jl_Throwable_printStackTrace($this) {
    jl_Throwable_printStackTrace0($this, jl_System_err());
}
function jl_Throwable_printStackTrace0($this, $stream) {
    var $message, $element, var$4, var$5, var$6;
    ji_PrintStream_print($stream, jl_Class_getName(jl_Object_getClass($this)));
    $message = $this.$getMessage();
    if ($message !== null) {
        $element = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($element);
        jl_AbstractStringBuilder_append($element, $rt_s(49));
        jl_AbstractStringBuilder_append($element, $message);
        ji_PrintStream_print($stream, jl_AbstractStringBuilder_toString($element));
    }
    a: {
        ji_PrintStream_println0($stream);
        if ($this.$stackTrace !== null) {
            var$4 = $this.$stackTrace.data;
            var$5 = var$4.length;
            var$6 = 0;
            while (true) {
                if (var$6 >= var$5)
                    break a;
                $element = var$4[var$6];
                ji_PrintStream_print($stream, $rt_s(50));
                ji_PrintStream_println1($stream, $element);
                var$6 = var$6 + 1 | 0;
            }
        }
    }
    if ($this.$cause !== null && $this.$cause !== $this) {
        ji_PrintStream_print($stream, $rt_s(51));
        jl_Throwable_printStackTrace0($this.$cause, $stream);
    }
}
function jl_Throwable_printStackTrace1($this, $stream) {
    var $message, $element, var$4, var$5, var$6;
    ji_PrintWriter_print($stream, jl_Class_getName(jl_Object_getClass($this)));
    $message = $this.$getMessage();
    if ($message !== null) {
        $element = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($element);
        jl_AbstractStringBuilder_append($element, $rt_s(49));
        jl_AbstractStringBuilder_append($element, $message);
        ji_PrintWriter_print($stream, jl_AbstractStringBuilder_toString($element));
    }
    a: {
        ji_PrintWriter_println($stream);
        if ($this.$stackTrace !== null) {
            var$4 = $this.$stackTrace.data;
            var$5 = var$4.length;
            var$6 = 0;
            while (true) {
                if (var$6 >= var$5)
                    break a;
                $element = var$4[var$6];
                ji_PrintWriter_print($stream, $rt_s(52));
                ji_PrintWriter_println0($stream, $element);
                var$6 = var$6 + 1 | 0;
            }
        }
    }
    if ($this.$cause !== null && $this.$cause !== $this) {
        ji_PrintWriter_print($stream, $rt_s(51));
        jl_Throwable_printStackTrace1($this.$cause, $stream);
    }
}
function jl_Error() {
    jl_Throwable.call(this);
}
function jl_Error__init_0() {
    var var_0 = new jl_Error();
    jl_Error__init_(var_0);
    return var_0;
}
function jl_Error__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_LinkageError() {
    jl_Error.call(this);
}
function jl_LinkageError__init_0() {
    var var_0 = new jl_LinkageError();
    jl_LinkageError__init_(var_0);
    return var_0;
}
function jl_LinkageError__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_NoClassDefFoundError() {
    jl_LinkageError.call(this);
}
function jl_NoClassDefFoundError__init_0() {
    var var_0 = new jl_NoClassDefFoundError();
    jl_NoClassDefFoundError__init_(var_0);
    return var_0;
}
function jl_NoClassDefFoundError__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_AbstractStringBuilder() {
    var a = this; jl_Object.call(a);
    a.$buffer = null;
    a.$length0 = 0;
}
function jl_AbstractStringBuilder__init_0() {
    var var_0 = new jl_AbstractStringBuilder();
    jl_AbstractStringBuilder__init_(var_0);
    return var_0;
}
function jl_AbstractStringBuilder__init_1(var_0) {
    var var_1 = new jl_AbstractStringBuilder();
    jl_AbstractStringBuilder__init_2(var_1, var_0);
    return var_1;
}
function jl_AbstractStringBuilder__init_($this) {
    jl_AbstractStringBuilder__init_2($this, 16);
}
function jl_AbstractStringBuilder__init_2($this, $capacity) {
    $this.$buffer = $rt_createCharArray($capacity);
}
function jl_AbstractStringBuilder_append($this, $string) {
    return $this.$insert($this.$length0, $string);
}
function jl_AbstractStringBuilder_insert($this, $index, $string) {
    var $i, var$4, var$5;
    if ($index >= 0 && $index <= $this.$length0) {
        if ($string === null)
            $string = $rt_s(48);
        else if (jl_String_isEmpty($string))
            return $this;
        $this.$ensureCapacity($this.$length0 + jl_String_length($string) | 0);
        $i = $this.$length0 - 1 | 0;
        while ($i >= $index) {
            $this.$buffer.data[$i + jl_String_length($string) | 0] = $this.$buffer.data[$i];
            $i = $i + (-1) | 0;
        }
        $this.$length0 = $this.$length0 + jl_String_length($string) | 0;
        $i = 0;
        while ($i < jl_String_length($string)) {
            var$4 = $this.$buffer.data;
            var$5 = $index + 1 | 0;
            var$4[$index] = jl_String_charAt($string, $i);
            $i = $i + 1 | 0;
            $index = var$5;
        }
        return $this;
    }
    $string = new jl_StringIndexOutOfBoundsException;
    jl_Throwable__init_0($string);
    $rt_throw($string);
}
function jl_AbstractStringBuilder_append2($this, $value) {
    return jl_AbstractStringBuilder_append3($this, $value, 10);
}
function jl_AbstractStringBuilder_append3($this, $value, $radix) {
    return jl_AbstractStringBuilder_insert0($this, $this.$length0, $value, $radix);
}
function jl_AbstractStringBuilder_insert0($this, $target, $value, $radix) {
    var $positive, var$5, var$6, $pos, $sz, $posLimit, var$10;
    $positive = 1;
    if ($value < 0) {
        $positive = 0;
        $value =  -$value;
    }
    a: {
        if ($value < $radix) {
            if ($positive)
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + 1 | 0);
            else {
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + 2 | 0);
                var$5 = $this.$buffer.data;
                var$6 = $target + 1 | 0;
                var$5[$target] = 45;
                $target = var$6;
            }
            $this.$buffer.data[$target] = jl_Character_forDigit($value, $radix);
        } else {
            $pos = 1;
            $sz = 1;
            $posLimit = 2147483647 / $radix | 0;
            b: {
                while (true) {
                    var$10 = $rt_imul($pos, $radix);
                    if (var$10 > $value) {
                        var$10 = $pos;
                        break b;
                    }
                    $sz = $sz + 1 | 0;
                    if (var$10 > $posLimit)
                        break;
                    $pos = var$10;
                }
            }
            if (!$positive)
                $sz = $sz + 1 | 0;
            jl_AbstractStringBuilder_insertSpace($this, $target, $target + $sz | 0);
            if ($positive)
                $positive = $target;
            else {
                var$5 = $this.$buffer.data;
                $positive = $target + 1 | 0;
                var$5[$target] = 45;
            }
            while (true) {
                if (var$10 <= 0)
                    break a;
                var$5 = $this.$buffer.data;
                $target = $positive + 1 | 0;
                var$5[$positive] = jl_Character_forDigit($value / var$10 | 0, $radix);
                $value = $value % var$10 | 0;
                var$10 = var$10 / $radix | 0;
                $positive = $target;
            }
        }
    }
    return $this;
}
function jl_AbstractStringBuilder_insert1($this, $target, $value, $radix) {
    var $positive, var$5, var$6, var$7, $sz, $pos, $pos_0;
    $positive = 1;
    if (Long_lt($value, Long_ZERO)) {
        $positive = 0;
        $value = Long_neg($value);
    }
    a: {
        var$5 = Long_fromInt($radix);
        if (Long_lt($value, var$5)) {
            if ($positive)
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + 1 | 0);
            else {
                jl_AbstractStringBuilder_insertSpace($this, $target, $target + 2 | 0);
                var$6 = $this.$buffer.data;
                var$7 = $target + 1 | 0;
                var$6[$target] = 45;
                $target = var$7;
            }
            $this.$buffer.data[$target] = jl_Character_forDigit($value.lo, $radix);
        } else {
            $sz = 1;
            $pos = Long_fromInt(1);
            while (true) {
                $pos_0 = Long_mul($pos, var$5);
                if (Long_le($pos_0, $pos))
                    break;
                if (Long_gt($pos_0, $value))
                    break;
                $sz = $sz + 1 | 0;
                $pos = $pos_0;
            }
            if (!$positive)
                $sz = $sz + 1 | 0;
            jl_AbstractStringBuilder_insertSpace($this, $target, $target + $sz | 0);
            if ($positive)
                $sz = $target;
            else {
                var$6 = $this.$buffer.data;
                $sz = $target + 1 | 0;
                var$6[$target] = 45;
            }
            while (true) {
                if (Long_le($pos, Long_ZERO))
                    break a;
                var$6 = $this.$buffer.data;
                $target = $sz + 1 | 0;
                var$6[$sz] = jl_Character_forDigit(Long_div($value, $pos).lo, $radix);
                $value = Long_rem($value, $pos);
                $pos = Long_div($pos, var$5);
                $sz = $target;
            }
        }
    }
    return $this;
}
function jl_AbstractStringBuilder_insert2($this, $target, $value) {
    var $mantissa, var$4, $number, $exp, $negative, $intPart, $sz, $digits, $zeros, $pos, $i, $intDigit;
    $mantissa = $rt_compare($value, 0.0);
    if (!$mantissa) {
        jl_AbstractStringBuilder_insertSpace($this, $target, $target + 3 | 0);
        var$4 = $this.$buffer.data;
        $mantissa = $target + 1 | 0;
        var$4[$target] = 48;
        var$4 = $this.$buffer.data;
        $target = $mantissa + 1 | 0;
        var$4[$mantissa] = 46;
        $this.$buffer.data[$target] = 48;
        return $this;
    }
    if (!$mantissa) {
        jl_AbstractStringBuilder_insertSpace($this, $target, $target + 4 | 0);
        var$4 = $this.$buffer.data;
        $mantissa = $target + 1 | 0;
        var$4[$target] = 45;
        var$4 = $this.$buffer.data;
        $target = $mantissa + 1 | 0;
        var$4[$mantissa] = 48;
        var$4 = $this.$buffer.data;
        $mantissa = $target + 1 | 0;
        var$4[$target] = 46;
        $this.$buffer.data[$mantissa] = 48;
        return $this;
    }
    if (isNaN($value) ? 1 : 0) {
        jl_AbstractStringBuilder_insertSpace($this, $target, $target + 3 | 0);
        var$4 = $this.$buffer.data;
        $mantissa = $target + 1 | 0;
        var$4[$target] = 78;
        var$4 = $this.$buffer.data;
        $target = $mantissa + 1 | 0;
        var$4[$mantissa] = 97;
        $this.$buffer.data[$target] = 78;
        return $this;
    }
    if (!isFinite($value) ? 1 : 0) {
        if ($mantissa > 0) {
            jl_AbstractStringBuilder_insertSpace($this, $target, $target + 8 | 0);
            $mantissa = $target;
        } else {
            jl_AbstractStringBuilder_insertSpace($this, $target, $target + 9 | 0);
            var$4 = $this.$buffer.data;
            $mantissa = $target + 1 | 0;
            var$4[$target] = 45;
        }
        var$4 = $this.$buffer.data;
        $target = $mantissa + 1 | 0;
        var$4[$mantissa] = 73;
        var$4 = $this.$buffer.data;
        $mantissa = $target + 1 | 0;
        var$4[$target] = 110;
        var$4 = $this.$buffer.data;
        $target = $mantissa + 1 | 0;
        var$4[$mantissa] = 102;
        var$4 = $this.$buffer.data;
        $mantissa = $target + 1 | 0;
        var$4[$target] = 105;
        var$4 = $this.$buffer.data;
        $target = $mantissa + 1 | 0;
        var$4[$mantissa] = 110;
        var$4 = $this.$buffer.data;
        $mantissa = $target + 1 | 0;
        var$4[$target] = 105;
        var$4 = $this.$buffer.data;
        $target = $mantissa + 1 | 0;
        var$4[$mantissa] = 116;
        $this.$buffer.data[$target] = 121;
        return $this;
    }
    $number = jl_AbstractStringBuilder$Constants_floatAnalysisResult;
    otcit_FloatAnalyzer_analyze($value, $number);
    $mantissa = $number.$mantissa;
    $exp = $number.$exponent;
    $negative = $number.$sign;
    $intPart = 1;
    $sz = 1;
    if ($negative) {
        $negative = 1;
        $sz = 2;
    }
    $digits = 9;
    $zeros = jl_AbstractStringBuilder_trailingDecimalZeros($mantissa);
    if ($zeros > 0)
        $digits = $digits - $zeros | 0;
    if ($exp < 7 && $exp >= (-3)) {
        if ($exp >= 0) {
            $intPart = $exp + 1 | 0;
            $digits = jl_Math_max($digits, $intPart + 1 | 0);
            $exp = 0;
        } else if ($exp < 0) {
            $mantissa = $mantissa / jl_AbstractStringBuilder$Constants_intPowersOfTen.data[ -$exp] | 0;
            $digits = $digits - $exp | 0;
            $exp = 0;
        }
    }
    if ($exp) {
        $sz = $sz + 2 | 0;
        if (!($exp > (-10) && $exp < 10))
            $sz = $sz + 1 | 0;
        if ($exp < 0)
            $sz = $sz + 1 | 0;
    }
    if ($exp && $digits == $intPart)
        $digits = $digits + 1 | 0;
    jl_AbstractStringBuilder_insertSpace($this, $target, $target + ($sz + $digits | 0) | 0);
    if (!$negative)
        $negative = $target;
    else {
        var$4 = $this.$buffer.data;
        $negative = $target + 1 | 0;
        var$4[$target] = 45;
    }
    $pos = 100000000;
    $i = 0;
    while ($i < $digits) {
        if ($pos <= 0)
            $intDigit = 0;
        else {
            $intDigit = $mantissa / $pos | 0;
            $mantissa = $mantissa % $pos | 0;
        }
        var$4 = $this.$buffer.data;
        $target = $negative + 1 | 0;
        var$4[$negative] = (48 + $intDigit | 0) & 65535;
        $intPart = $intPart + (-1) | 0;
        if ($intPart)
            $negative = $target;
        else {
            var$4 = $this.$buffer.data;
            $negative = $target + 1 | 0;
            var$4[$target] = 46;
        }
        $pos = $pos / 10 | 0;
        $i = $i + 1 | 0;
    }
    if ($exp) {
        var$4 = $this.$buffer.data;
        $target = $negative + 1 | 0;
        var$4[$negative] = 69;
        if ($exp >= 0)
            $mantissa = $target;
        else {
            $exp =  -$exp;
            var$4 = $this.$buffer.data;
            $mantissa = $target + 1 | 0;
            var$4[$target] = 45;
        }
        if ($exp < 10)
            $zeros = $mantissa;
        else {
            var$4 = $this.$buffer.data;
            $zeros = $mantissa + 1 | 0;
            var$4[$mantissa] = (48 + ($exp / 10 | 0) | 0) & 65535;
        }
        $this.$buffer.data[$zeros] = (48 + ($exp % 10 | 0) | 0) & 65535;
    }
    return $this;
}
function jl_AbstractStringBuilder_insert3($this, $target, $value) {
    var $zeros, var$4, $number, $mantissa, $exp, $negative, $intPart, $sz, $digits, $pos, $i, $intDigit;
    $zeros = $rt_compare($value, 0.0);
    if (!$zeros) {
        jl_AbstractStringBuilder_insertSpace($this, $target, $target + 3 | 0);
        var$4 = $this.$buffer.data;
        $zeros = $target + 1 | 0;
        var$4[$target] = 48;
        var$4 = $this.$buffer.data;
        $target = $zeros + 1 | 0;
        var$4[$zeros] = 46;
        $this.$buffer.data[$target] = 48;
        return $this;
    }
    if (!$zeros) {
        jl_AbstractStringBuilder_insertSpace($this, $target, $target + 4 | 0);
        var$4 = $this.$buffer.data;
        $zeros = $target + 1 | 0;
        var$4[$target] = 45;
        var$4 = $this.$buffer.data;
        $target = $zeros + 1 | 0;
        var$4[$zeros] = 48;
        var$4 = $this.$buffer.data;
        $zeros = $target + 1 | 0;
        var$4[$target] = 46;
        $this.$buffer.data[$zeros] = 48;
        return $this;
    }
    if (isNaN($value) ? 1 : 0) {
        jl_AbstractStringBuilder_insertSpace($this, $target, $target + 3 | 0);
        var$4 = $this.$buffer.data;
        $zeros = $target + 1 | 0;
        var$4[$target] = 78;
        var$4 = $this.$buffer.data;
        $target = $zeros + 1 | 0;
        var$4[$zeros] = 97;
        $this.$buffer.data[$target] = 78;
        return $this;
    }
    if (!isFinite($value) ? 1 : 0) {
        if ($zeros > 0) {
            jl_AbstractStringBuilder_insertSpace($this, $target, $target + 8 | 0);
            $zeros = $target;
        } else {
            jl_AbstractStringBuilder_insertSpace($this, $target, $target + 9 | 0);
            var$4 = $this.$buffer.data;
            $zeros = $target + 1 | 0;
            var$4[$target] = 45;
        }
        var$4 = $this.$buffer.data;
        $target = $zeros + 1 | 0;
        var$4[$zeros] = 73;
        var$4 = $this.$buffer.data;
        $zeros = $target + 1 | 0;
        var$4[$target] = 110;
        var$4 = $this.$buffer.data;
        $target = $zeros + 1 | 0;
        var$4[$zeros] = 102;
        var$4 = $this.$buffer.data;
        $zeros = $target + 1 | 0;
        var$4[$target] = 105;
        var$4 = $this.$buffer.data;
        $target = $zeros + 1 | 0;
        var$4[$zeros] = 110;
        var$4 = $this.$buffer.data;
        $zeros = $target + 1 | 0;
        var$4[$target] = 105;
        var$4 = $this.$buffer.data;
        $target = $zeros + 1 | 0;
        var$4[$zeros] = 116;
        $this.$buffer.data[$target] = 121;
        return $this;
    }
    $number = jl_AbstractStringBuilder$Constants_doubleAnalysisResult;
    otcit_DoubleAnalyzer_analyze($value, $number);
    $mantissa = $number.$mantissa0;
    $exp = $number.$exponent0;
    $negative = $number.$sign0;
    $intPart = 1;
    $sz = 1;
    if ($negative)
        $sz = 2;
    $digits = 18;
    $zeros = jl_AbstractStringBuilder_trailingDecimalZeros0($mantissa);
    if ($zeros > 0)
        $digits = $digits - $zeros | 0;
    if ($exp < 7 && $exp >= (-3)) {
        if ($exp >= 0) {
            $intPart = $exp + 1 | 0;
            $digits = jl_Math_max($digits, $intPart + 1 | 0);
            $exp = 0;
        } else if ($exp < 0) {
            $mantissa = Long_div($mantissa, jl_AbstractStringBuilder$Constants_longPowersOfTen.data[ -$exp]);
            $digits = $digits - $exp | 0;
            $exp = 0;
        }
    }
    if ($exp) {
        $sz = $sz + 2 | 0;
        if (!($exp > (-10) && $exp < 10))
            $sz = $sz + 1 | 0;
        if (!($exp > (-100) && $exp < 100))
            $sz = $sz + 1 | 0;
        if ($exp < 0)
            $sz = $sz + 1 | 0;
    }
    if ($exp && $digits == $intPart)
        $digits = $digits + 1 | 0;
    jl_AbstractStringBuilder_insertSpace($this, $target, $target + ($sz + $digits | 0) | 0);
    if (!$negative)
        $negative = $target;
    else {
        var$4 = $this.$buffer.data;
        $negative = $target + 1 | 0;
        var$4[$target] = 45;
    }
    $pos = new Long(1569325056, 23283064);
    $i = 0;
    while ($i < $digits) {
        if (Long_le($pos, Long_ZERO))
            $intDigit = 0;
        else {
            $intDigit = Long_div($mantissa, $pos).lo;
            $mantissa = Long_rem($mantissa, $pos);
        }
        var$4 = $this.$buffer.data;
        $target = $negative + 1 | 0;
        var$4[$negative] = (48 + $intDigit | 0) & 65535;
        $intPart = $intPart + (-1) | 0;
        if ($intPart)
            $negative = $target;
        else {
            var$4 = $this.$buffer.data;
            $negative = $target + 1 | 0;
            var$4[$target] = 46;
        }
        $pos = Long_div($pos, Long_fromInt(10));
        $i = $i + 1 | 0;
    }
    if ($exp) {
        var$4 = $this.$buffer.data;
        $target = $negative + 1 | 0;
        var$4[$negative] = 69;
        if ($exp >= 0)
            $zeros = $target;
        else {
            $exp =  -$exp;
            var$4 = $this.$buffer.data;
            $zeros = $target + 1 | 0;
            var$4[$target] = 45;
        }
        if ($exp >= 100) {
            var$4 = $this.$buffer.data;
            $target = $zeros + 1 | 0;
            var$4[$zeros] = (48 + ($exp / 100 | 0) | 0) & 65535;
            $exp = $exp % 100 | 0;
            var$4 = $this.$buffer.data;
            $intPart = $target + 1 | 0;
            var$4[$target] = (48 + ($exp / 10 | 0) | 0) & 65535;
        } else if ($exp < 10)
            $intPart = $zeros;
        else {
            var$4 = $this.$buffer.data;
            $intPart = $zeros + 1 | 0;
            var$4[$zeros] = (48 + ($exp / 10 | 0) | 0) & 65535;
        }
        $this.$buffer.data[$intPart] = (48 + ($exp % 10 | 0) | 0) & 65535;
    }
    return $this;
}
function jl_AbstractStringBuilder_trailingDecimalZeros($n) {
    var $result, $zeros, var$4;
    if (!($n % 1000000000 | 0))
        return 9;
    $result = 0;
    $zeros = 1;
    if (!($n % 100000000 | 0)) {
        $result = 8;
        $zeros = 100000000;
    }
    var$4 = $zeros * 10000 | 0;
    if ($n % var$4 | 0)
        var$4 = $zeros;
    else
        $result = $result | 4;
    $zeros = var$4 * 100 | 0;
    if ($n % $zeros | 0)
        $zeros = var$4;
    else
        $result = $result | 2;
    if (!($n % ($zeros * 10 | 0) | 0))
        $result = $result | 1;
    return $result;
}
function jl_AbstractStringBuilder_trailingDecimalZeros0($n) {
    var $zeros, $result, $bit, $i;
    $zeros = Long_fromInt(1);
    $result = 0;
    $bit = 16;
    $i = jl_AbstractStringBuilder$Constants_longLogPowersOfTen.data.length - 1 | 0;
    while ($i >= 0) {
        if (Long_eq(Long_rem($n, Long_mul($zeros, jl_AbstractStringBuilder$Constants_longLogPowersOfTen.data[$i])), Long_ZERO)) {
            $result = $result | $bit;
            $zeros = Long_mul($zeros, jl_AbstractStringBuilder$Constants_longLogPowersOfTen.data[$i]);
        }
        $bit = $bit >>> 1;
        $i = $i + (-1) | 0;
    }
    return $result;
}
function jl_AbstractStringBuilder_append0($this, $c) {
    return $this.$insert1($this.$length0, $c);
}
function jl_AbstractStringBuilder_insert4($this, $index, $c) {
    jl_AbstractStringBuilder_insertSpace($this, $index, $index + 1 | 0);
    $this.$buffer.data[$index] = $c;
    return $this;
}
function jl_AbstractStringBuilder_append1($this, $obj) {
    return $this.$insert2($this.$length0, $obj);
}
function jl_AbstractStringBuilder_insert5($this, $index, $obj) {
    return $this.$insert($index, $obj === null ? $rt_s(48) : $obj.$toString());
}
function jl_AbstractStringBuilder_ensureCapacity($this, $capacity) {
    var $newLength;
    if ($this.$buffer.data.length >= $capacity)
        return;
    $newLength = $this.$buffer.data.length >= 1073741823 ? 2147483647 : jl_Math_max($capacity, jl_Math_max($this.$buffer.data.length * 2 | 0, 5));
    $this.$buffer = ju_Arrays_copyOf0($this.$buffer, $newLength);
}
function jl_AbstractStringBuilder_toString($this) {
    return jl_String__init_3($this.$buffer, 0, $this.$length0);
}
function jl_AbstractStringBuilder_charAt($this, $index) {
    var var$2;
    if ($index >= 0 && $index < $this.$length0)
        return $this.$buffer.data[$index];
    var$2 = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function jl_AbstractStringBuilder_append4($this, $s, $start, $end) {
    return $this.$insert3($this.$length0, $s, $start, $end);
}
function jl_AbstractStringBuilder_insert6($this, $index, $s, $i, $end) {
    var var$5, var$6;
    if ($i <= $end && $end <= $s.$length() && $i >= 0) {
        jl_AbstractStringBuilder_insertSpace($this, $index, ($index + $end | 0) - $i | 0);
        while ($i < $end) {
            var$5 = $this.$buffer.data;
            var$6 = $index + 1 | 0;
            var$5[$index] = $s.$charAt($i);
            $i = $i + 1 | 0;
            $index = var$6;
        }
        return $this;
    }
    $s = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0($s);
    $rt_throw($s);
}
function jl_AbstractStringBuilder_append5($this, $s) {
    return $this.$append7($s, 0, $s.$length());
}
function jl_AbstractStringBuilder_append6($this, $chars, $offset, $len) {
    return $this.$insert4($this.$length0, $chars, $offset, $len);
}
function jl_AbstractStringBuilder_insert7($this, $index, $chars, $offset, $len) {
    var var$5, var$6, var$7, var$8;
    jl_AbstractStringBuilder_insertSpace($this, $index, $index + $len | 0);
    var$5 = $len + $offset | 0;
    while ($offset < var$5) {
        var$6 = $chars.data;
        var$7 = $this.$buffer.data;
        $len = $index + 1 | 0;
        var$8 = $offset + 1 | 0;
        var$7[$index] = var$6[$offset];
        $index = $len;
        $offset = var$8;
    }
    return $this;
}
function jl_AbstractStringBuilder_append7($this, $chars) {
    return $this.$append8($chars, 0, $chars.data.length);
}
function jl_AbstractStringBuilder_insertSpace($this, $start, $end) {
    var $sz, $i;
    $sz = $this.$length0 - $start | 0;
    $this.$ensureCapacity(($this.$length0 + $end | 0) - $start | 0);
    $i = $sz - 1 | 0;
    while ($i >= 0) {
        $this.$buffer.data[$end + $i | 0] = $this.$buffer.data[$start + $i | 0];
        $i = $i + (-1) | 0;
    }
    $this.$length0 = $this.$length0 + ($end - $start | 0) | 0;
}
function jl_Appendable() {
}
function jl_StringBuilder() {
    jl_AbstractStringBuilder.call(this);
}
function jl_StringBuilder__init_1(var_0) {
    var var_1 = new jl_StringBuilder();
    jl_StringBuilder__init_2(var_1, var_0);
    return var_1;
}
function jl_StringBuilder__init_() {
    var var_0 = new jl_StringBuilder();
    jl_StringBuilder__init_0(var_0);
    return var_0;
}
function jl_StringBuilder__init_2($this, $capacity) {
    jl_AbstractStringBuilder__init_2($this, $capacity);
}
function jl_StringBuilder__init_0($this) {
    jl_AbstractStringBuilder__init_($this);
}
function jl_StringBuilder_append($this, $string) {
    jl_AbstractStringBuilder_append($this, $string);
    return $this;
}
function jl_StringBuilder_append1($this, $value) {
    jl_AbstractStringBuilder_append2($this, $value);
    return $this;
}
function jl_StringBuilder_append2($this, $value) {
    jl_StringBuilder_insert($this, $this.$length0, $value);
    return $this;
}
function jl_StringBuilder_append3($this, $value) {
    jl_StringBuilder_insert0($this, $this.$length0, $value);
    return $this;
}
function jl_StringBuilder_append4($this, $value) {
    jl_StringBuilder_insert1($this, $this.$length0, $value);
    return $this;
}
function jl_StringBuilder_append0($this, $c) {
    jl_AbstractStringBuilder_append0($this, $c);
    return $this;
}
function jl_StringBuilder_append5($this, $chars, $offset, $len) {
    jl_AbstractStringBuilder_append6($this, $chars, $offset, $len);
    return $this;
}
function jl_StringBuilder_append6($this, $chars) {
    jl_AbstractStringBuilder_append7($this, $chars);
    return $this;
}
function jl_StringBuilder_append7($this, $s, $start, $end) {
    jl_AbstractStringBuilder_append4($this, $s, $start, $end);
    return $this;
}
function jl_StringBuilder_append8($this, $s) {
    jl_AbstractStringBuilder_append5($this, $s);
    return $this;
}
function jl_StringBuilder_append9($this, $obj) {
    jl_AbstractStringBuilder_append1($this, $obj);
    return $this;
}
function jl_StringBuilder_insert($this, $target, $value) {
    jl_AbstractStringBuilder_insert1($this, $target, $value, 10);
    return $this;
}
function jl_StringBuilder_insert0($this, $target, $value) {
    jl_AbstractStringBuilder_insert2($this, $target, $value);
    return $this;
}
function jl_StringBuilder_insert1($this, $target, $value) {
    jl_AbstractStringBuilder_insert3($this, $target, $value);
    return $this;
}
function jl_StringBuilder_insert2($this, $index, $s, $start, $end) {
    jl_AbstractStringBuilder_insert6($this, $index, $s, $start, $end);
    return $this;
}
function jl_StringBuilder_insert3($this, $index, $chars, $offset, $len) {
    jl_AbstractStringBuilder_insert7($this, $index, $chars, $offset, $len);
    return $this;
}
function jl_StringBuilder_insert4($this, $index, $obj) {
    jl_AbstractStringBuilder_insert5($this, $index, $obj);
    return $this;
}
function jl_StringBuilder_insert5($this, $index, $c) {
    jl_AbstractStringBuilder_insert4($this, $index, $c);
    return $this;
}
function jl_StringBuilder_delete($this, $start, $end) {
    var var$3, var$4, var$5, var$6, var$7, var$8, var$9;
    var$3 = $rt_compare($start, $end);
    if (var$3 <= 0 && $start <= $this.$length0) {
        if (var$3) {
            var$4 = $this.$length0 - $end | 0;
            $this.$length0 = $this.$length0 - ($end - $start | 0) | 0;
            var$3 = 0;
            while (var$3 < var$4) {
                var$5 = $this.$buffer.data;
                var$6 = $start + 1 | 0;
                var$7 = $this.$buffer.data;
                var$8 = $end + 1 | 0;
                var$5[$start] = var$7[$end];
                var$3 = var$3 + 1 | 0;
                $start = var$6;
                $end = var$8;
            }
        }
        return $this;
    }
    var$9 = new jl_StringIndexOutOfBoundsException;
    jl_Throwable__init_0(var$9);
    $rt_throw(var$9);
}
function jl_StringBuilder_deleteCharAt($this, $index) {
    var var$2, var$3, var$4, var$5;
    if ($index >= 0 && $index < $this.$length0) {
        $this.$length0 = $this.$length0 - 1 | 0;
        while ($index < $this.$length0) {
            var$2 = $this.$buffer.data;
            var$3 = $this.$buffer.data;
            var$4 = $index + 1 | 0;
            var$2[$index] = var$3[var$4];
            $index = var$4;
        }
        return $this;
    }
    var$5 = new jl_StringIndexOutOfBoundsException;
    jl_Throwable__init_0(var$5);
    $rt_throw(var$5);
}
function jl_StringBuilder_insert6($this, $index, $string) {
    jl_AbstractStringBuilder_insert($this, $index, $string);
    return $this;
}
function jl_StringBuilder_substring($this, var$1, var$2) {
    var var$3;
    if (var$1 <= var$2 && var$1 >= 0 && var$2 <= $this.$length0)
        return jl_String__init_3($this.$buffer, var$1, var$2 - var$1 | 0);
    var$3 = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0(var$3);
    $rt_throw(var$3);
}
function jl_StringBuilder_setLength($this, var$1) {
    $this.$length0 = var$1;
}
function jl_StringBuilder_getChars($this, var$1, var$2, var$3, var$4) {
    var var$5, var$6, var$7, var$8, var$9;
    if (var$1 > var$2) {
        var$5 = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_(var$5, $rt_s(53));
        $rt_throw(var$5);
    }
    while (var$1 < var$2) {
        var$6 = var$3.data;
        var$7 = var$4 + 1 | 0;
        var$8 = $this.$buffer.data;
        var$9 = var$1 + 1 | 0;
        var$6[var$4] = var$8[var$1];
        var$4 = var$7;
        var$1 = var$9;
    }
}
function jl_StringBuilder_subSequence($this, var$1, var$2) {
    return jl_StringBuilder_substring($this, var$1, var$2);
}
function jl_StringBuilder_insert7($this, var$1, var$2, var$3, var$4) {
    jl_AbstractStringBuilder_insert7($this, var$1, var$2, var$3, var$4);
    return $this;
}
function jl_StringBuilder_append10($this, var$1, var$2, var$3) {
    jl_AbstractStringBuilder_append6($this, var$1, var$2, var$3);
    return $this;
}
function jl_StringBuilder_insert8($this, var$1, var$2, var$3, var$4) {
    jl_AbstractStringBuilder_insert6($this, var$1, var$2, var$3, var$4);
    return $this;
}
function jl_StringBuilder_append11($this, var$1, var$2, var$3) {
    jl_AbstractStringBuilder_append4($this, var$1, var$2, var$3);
    return $this;
}
function jl_StringBuilder_charAt($this, var$1) {
    return jl_AbstractStringBuilder_charAt($this, var$1);
}
function jl_StringBuilder_length($this) {
    return $this.$length0;
}
function jl_StringBuilder_toString($this) {
    return jl_AbstractStringBuilder_toString($this);
}
function jl_StringBuilder_ensureCapacity($this, var$1) {
    jl_AbstractStringBuilder_ensureCapacity($this, var$1);
}
function jl_StringBuilder_insert9($this, var$1, var$2) {
    jl_AbstractStringBuilder_insert5($this, var$1, var$2);
    return $this;
}
function jl_StringBuilder_insert10($this, var$1, var$2) {
    jl_AbstractStringBuilder_insert4($this, var$1, var$2);
    return $this;
}
function jl_StringBuilder_insert11($this, var$1, var$2) {
    return jl_StringBuilder_insert1($this, var$1, var$2);
}
function jl_StringBuilder_insert12($this, var$1, var$2) {
    return jl_StringBuilder_insert0($this, var$1, var$2);
}
function jl_StringBuilder_insert13($this, var$1, var$2) {
    return jl_StringBuilder_insert($this, var$1, var$2);
}
function jl_StringBuilder_insert14($this, var$1, var$2) {
    jl_AbstractStringBuilder_insert($this, var$1, var$2);
    return $this;
}
function jl_StringBuilder_append12($this, var$1) {
    jl_AbstractStringBuilder_append5($this, var$1);
    return $this;
}
function jl_Number() {
    jl_Object.call(this);
}
function jl_Integer() {
    jl_Number.call(this);
    this.$value = 0;
}
var jl_Integer_TYPE = null;
var jl_Integer_integerCache = null;
function jl_Integer__init_(var_0) {
    var var_1 = new jl_Integer();
    jl_Integer__init_0(var_1, var_0);
    return var_1;
}
function jl_Integer__init_1(var_0) {
    var var_1 = new jl_Integer();
    jl_Integer__init_2(var_1, var_0);
    return var_1;
}
function jl_Integer__init_0($this, $value) {
    $this.$value = $value;
}
function jl_Integer__init_2($this, $s) {
    jl_Integer__init_0($this, jl_Integer_parseInt($s));
}
function jl_Integer_toHexString($i) {
    return otci_IntegerUtil_toUnsignedLogRadixString($i, 4);
}
function jl_Integer_toString($i) {
    return jl_AbstractStringBuilder_append3(jl_AbstractStringBuilder__init_1(20), $i, 10).$toString();
}
function jl_Integer_parseInt0($s, $radix) {
    var $negative, $index, $value, var$6, $digit, var$8, var$9;
    if ($radix >= 2 && $radix <= 36) {
        if ($s !== null && !jl_String_isEmpty($s)) {
            a: {
                $negative = 0;
                $index = 0;
                switch (jl_String_charAt($s, 0)) {
                    case 43:
                        $index = 1;
                        break a;
                    case 45:
                        $negative = 1;
                        $index = 1;
                        break a;
                    default:
                }
            }
            $value = 0;
            if ($index == jl_String_length($s)) {
                $s = new jl_NumberFormatException;
                jl_Throwable__init_0($s);
                $rt_throw($s);
            }
            while ($index < jl_String_length($s)) {
                var$6 = $index + 1 | 0;
                $digit = jl_Character_getNumericValue(jl_String_charAt($s, $index));
                if ($digit < 0) {
                    var$8 = new jl_NumberFormatException;
                    var$9 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$9);
                    jl_AbstractStringBuilder_append(var$9, $rt_s(54));
                    jl_AbstractStringBuilder_append(var$9, $s);
                    jl_Throwable__init_(var$8, jl_AbstractStringBuilder_toString(var$9));
                    $rt_throw(var$8);
                }
                if ($digit >= $radix) {
                    var$8 = new jl_NumberFormatException;
                    var$9 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$9);
                    jl_AbstractStringBuilder_append(var$9, $rt_s(55));
                    jl_AbstractStringBuilder_append2(var$9, $radix);
                    jl_AbstractStringBuilder_append(var$9, $rt_s(49));
                    jl_AbstractStringBuilder_append(var$9, $s);
                    jl_Throwable__init_(var$8, jl_AbstractStringBuilder_toString(var$9));
                    $rt_throw(var$8);
                }
                $value = $rt_imul($radix, $value) + $digit | 0;
                if ($value < 0) {
                    if (var$6 == jl_String_length($s) && $value == (-2147483648) && $negative)
                        return (-2147483648);
                    var$8 = new jl_NumberFormatException;
                    var$9 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$9);
                    jl_AbstractStringBuilder_append(var$9, $rt_s(56));
                    jl_AbstractStringBuilder_append(var$9, $s);
                    jl_Throwable__init_(var$8, jl_AbstractStringBuilder_toString(var$9));
                    $rt_throw(var$8);
                }
                $index = var$6;
            }
            if ($negative)
                $value =  -$value;
            return $value;
        }
        $s = new jl_NumberFormatException;
        jl_Throwable__init_($s, $rt_s(57));
        $rt_throw($s);
    }
    var$8 = new jl_NumberFormatException;
    $s = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($s);
    jl_AbstractStringBuilder_append($s, $rt_s(58));
    jl_AbstractStringBuilder_append2($s, $radix);
    jl_Throwable__init_(var$8, jl_AbstractStringBuilder_toString($s));
    $rt_throw(var$8);
}
function jl_Integer_parseInt($s) {
    return jl_Integer_parseInt0($s, 10);
}
function jl_Integer_valueOf($i) {
    var var$2;
    if ($i >= (-128) && $i <= 127) {
        a: {
            if (jl_Integer_integerCache === null) {
                jl_Integer_integerCache = $rt_createArray(jl_Integer, 256);
                var$2 = 0;
                while (true) {
                    if (var$2 >= jl_Integer_integerCache.data.length)
                        break a;
                    jl_Integer_integerCache.data[var$2] = jl_Integer__init_(var$2 - 128 | 0);
                    var$2 = var$2 + 1 | 0;
                }
            }
        }
        return jl_Integer_integerCache.data[$i + 128 | 0];
    }
    return jl_Integer__init_($i);
}
function jl_Integer_intValue($this) {
    return $this.$value;
}
function jl_Integer_longValue($this) {
    return Long_fromInt($this.$value);
}
function jl_Integer_doubleValue($this) {
    return $this.$value;
}
function jl_Integer_toString0($this) {
    return jl_Integer_toString($this.$value);
}
function jl_Integer_hashCode($this) {
    return $this.$value >>> 4 ^ $this.$value << 28 ^ $this.$value << 8 ^ $this.$value >>> 24;
}
function jl_Integer_equals($this, $other) {
    if ($this === $other)
        return 1;
    return $other instanceof jl_Integer && $other.$value == $this.$value ? 1 : 0;
}
function jl_Integer_compareTo($this, $other) {
    return $rt_compare($this.$value, $other.$value);
}
function jl_Integer_numberOfLeadingZeros($i) {
    var $n, var$3;
    if (!$i)
        return 32;
    $n = 0;
    var$3 = $i >>> 16;
    if (var$3)
        $n = 16;
    else
        var$3 = $i;
    $i = var$3 >>> 8;
    if (!$i)
        $i = var$3;
    else
        $n = $n | 8;
    var$3 = $i >>> 4;
    if (!var$3)
        var$3 = $i;
    else
        $n = $n | 4;
    $i = var$3 >>> 2;
    if (!$i)
        $i = var$3;
    else
        $n = $n | 2;
    if ($i >>> 1)
        $n = $n | 1;
    return (32 - $n | 0) - 1 | 0;
}
function jl_Integer_numberOfTrailingZeros($i) {
    var $n, var$3;
    if (!$i)
        return 32;
    $n = 0;
    var$3 = $i << 16;
    if (var$3)
        $n = 16;
    else
        var$3 = $i;
    $i = var$3 << 8;
    if (!$i)
        $i = var$3;
    else
        $n = $n | 8;
    var$3 = $i << 4;
    if (!var$3)
        var$3 = $i;
    else
        $n = $n | 4;
    $i = var$3 << 2;
    if (!$i)
        $i = var$3;
    else
        $n = $n | 2;
    if ($i << 1)
        $n = $n | 1;
    return (32 - $n | 0) - 1 | 0;
}
function jl_Integer_rotateLeft($i, $distance) {
    var var$3;
    var$3 = $distance & 31;
    return $i << var$3 | $i >>> (32 - var$3 | 0);
}
function jl_Integer_compareTo0($this, var$1) {
    return jl_Integer_compareTo($this, var$1);
}
function jl_Integer__clinit_() {
    jl_Integer_TYPE = $rt_cls($rt_intcls());
}
function jl_IncompatibleClassChangeError() {
    jl_LinkageError.call(this);
}
function jl_IncompatibleClassChangeError__init_0() {
    var var_0 = new jl_IncompatibleClassChangeError();
    jl_IncompatibleClassChangeError__init_(var_0);
    return var_0;
}
function jl_IncompatibleClassChangeError__init_1(var_0) {
    var var_1 = new jl_IncompatibleClassChangeError();
    jl_IncompatibleClassChangeError__init_2(var_1, var_0);
    return var_1;
}
function jl_IncompatibleClassChangeError__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_IncompatibleClassChangeError__init_2($this, $message) {
    jl_Throwable__init_($this, $message);
}
function jl_NoSuchFieldError() {
    jl_IncompatibleClassChangeError.call(this);
}
function jl_NoSuchFieldError__init_0() {
    var var_0 = new jl_NoSuchFieldError();
    jl_NoSuchFieldError__init_(var_0);
    return var_0;
}
function jl_NoSuchFieldError__init_1(var_0) {
    var var_1 = new jl_NoSuchFieldError();
    jl_NoSuchFieldError__init_2(var_1, var_0);
    return var_1;
}
function jl_NoSuchFieldError__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_NoSuchFieldError__init_2($this, $message) {
    jl_IncompatibleClassChangeError__init_2($this, $message);
}
function jl_NoSuchMethodError() {
    jl_IncompatibleClassChangeError.call(this);
}
function jl_NoSuchMethodError__init_0() {
    var var_0 = new jl_NoSuchMethodError();
    jl_NoSuchMethodError__init_(var_0);
    return var_0;
}
function jl_NoSuchMethodError__init_1(var_0) {
    var var_1 = new jl_NoSuchMethodError();
    jl_NoSuchMethodError__init_2(var_1, var_0);
    return var_1;
}
function jl_NoSuchMethodError__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_NoSuchMethodError__init_2($this, $message) {
    jl_IncompatibleClassChangeError__init_2($this, $message);
}
function jl_Exception() {
    jl_Throwable.call(this);
}
function jl_Exception__init_0() {
    var var_0 = new jl_Exception();
    jl_Exception__init_(var_0);
    return var_0;
}
function jl_Exception__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_RuntimeException() {
    jl_Exception.call(this);
}
function jl_RuntimeException__init_1() {
    var var_0 = new jl_RuntimeException();
    jl_RuntimeException__init_0(var_0);
    return var_0;
}
function jl_RuntimeException__init_(var_0) {
    var var_1 = new jl_RuntimeException();
    jl_RuntimeException__init_2(var_1, var_0);
    return var_1;
}
function jl_RuntimeException__init_0($this) {
    jl_Throwable__init_0($this);
}
function jl_RuntimeException__init_2($this, $message) {
    jl_Throwable__init_($this, $message);
}
function otj_JSObject() {
}
function otjde_EventTarget() {
}
function otjde_FocusEventTarget() {
}
function otjde_MouseEventTarget() {
}
function otjde_KeyboardEventTarget() {
}
function otjde_LoadEventTarget() {
}
function otjb_WindowEventTarget() {
}
function otjb_StorageProvider() {
}
function otjc_JSArrayReader() {
}
function otjb_Window() {
    jl_Object.call(this);
}
function otjb_Window_addEventListener$exported$0(var$0, var$1, var$2) {
    var$0.$addEventListener($rt_str(var$1), otji_JS_functionAsObject(var$2, "handleEvent"));
}
function otjb_Window_removeEventListener$exported$1(var$0, var$1, var$2) {
    var$0.$removeEventListener($rt_str(var$1), otji_JS_functionAsObject(var$2, "handleEvent"));
}
function otjb_Window_get$exported$2(var$0, var$1) {
    return var$0.$get2(var$1);
}
function otjb_Window_removeEventListener$exported$3(var$0, var$1, var$2, var$3) {
    var$0.$removeEventListener0($rt_str(var$1), otji_JS_functionAsObject(var$2, "handleEvent"), var$3 ? 1 : 0);
}
function otjb_Window_dispatchEvent$exported$4(var$0, var$1) {
    return !!var$0.$dispatchEvent(var$1);
}
function otjb_Window_getLength$exported$5(var$0) {
    return var$0.$getLength();
}
function otjb_Window_addEventListener$exported$6(var$0, var$1, var$2, var$3) {
    var$0.$addEventListener0($rt_str(var$1), otji_JS_functionAsObject(var$2, "handleEvent"), var$3 ? 1 : 0);
}
function nlea_EaglerAdapterImpl2() {
    jl_Object.call(this);
}
var nlea_EaglerAdapterImpl2_isAnisotropicPatched = 0;
var nlea_EaglerAdapterImpl2_doc = null;
var nlea_EaglerAdapterImpl2_parent = null;
var nlea_EaglerAdapterImpl2_canvas = null;
var nlea_EaglerAdapterImpl2_frameBuffer = null;
var nlea_EaglerAdapterImpl2_renderingCanvas = null;
var nlea_EaglerAdapterImpl2_webgl = null;
var nlea_EaglerAdapterImpl2_win = null;
var nlea_EaglerAdapterImpl2_loadedPackage = null;
var nlea_EaglerAdapterImpl2_contextmenu = null;
var nlea_EaglerAdapterImpl2_mousedown = null;
var nlea_EaglerAdapterImpl2_mouseup = null;
var nlea_EaglerAdapterImpl2_mousemove = null;
var nlea_EaglerAdapterImpl2_keydown = null;
var nlea_EaglerAdapterImpl2_keyup = null;
var nlea_EaglerAdapterImpl2_keypress = null;
var nlea_EaglerAdapterImpl2_wheel = null;
var nlea_EaglerAdapterImpl2_identifier = null;
var nlea_EaglerAdapterImpl2_mouseEvents = null;
var nlea_EaglerAdapterImpl2_keyEvents = null;
var nlea_EaglerAdapterImpl2_mouseX = 0;
var nlea_EaglerAdapterImpl2_mouseY = 0;
var nlea_EaglerAdapterImpl2_mouseDX = 0.0;
var nlea_EaglerAdapterImpl2_mouseDY = 0.0;
var nlea_EaglerAdapterImpl2_width = 0;
var nlea_EaglerAdapterImpl2_height = 0;
var nlea_EaglerAdapterImpl2_enableRepeatEvents = 0;
var nlea_EaglerAdapterImpl2_isWindowFocused = 0;
var nlea_EaglerAdapterImpl2_progId = 0;
var nlea_EaglerAdapterImpl2_viewportCache = null;
var nlea_EaglerAdapterImpl2_uploadBuffer = null;
var nlea_EaglerAdapterImpl2_mat2 = null;
var nlea_EaglerAdapterImpl2_mat3 = null;
var nlea_EaglerAdapterImpl2_mat4 = null;
var nlea_EaglerAdapterImpl2_currentProgram = 0;
var nlea_EaglerAdapterImpl2_imageLoadCanvas = null;
var nlea_EaglerAdapterImpl2_imageLoadContext = null;
var nlea_EaglerAdapterImpl2_currentVideo = null;
var nlea_EaglerAdapterImpl2_videoTexture = null;
var nlea_EaglerAdapterImpl2_videoIsLoaded = 0;
var nlea_EaglerAdapterImpl2_videoTexIsInitialized = 0;
var nlea_EaglerAdapterImpl2_frameRate = 0;
var nlea_EaglerAdapterImpl2_frameTimer = Long_ZERO;
var nlea_EaglerAdapterImpl2_currentVideoAudioSource = null;
var nlea_EaglerAdapterImpl2_currentVideoAudioGain = null;
var nlea_EaglerAdapterImpl2_currentVideoAudioGainValue = 0.0;
var nlea_EaglerAdapterImpl2_currentVideoAudioPanner = null;
var nlea_EaglerAdapterImpl2_currentVideoAudioX = 0.0;
var nlea_EaglerAdapterImpl2_currentVideoAudioY = 0.0;
var nlea_EaglerAdapterImpl2_currentVideoAudioZ = 0.0;
var nlea_EaglerAdapterImpl2_videosBuffer = null;
var nlea_EaglerAdapterImpl2_currentImage = null;
var nlea_EaglerAdapterImpl2_imageTexture = null;
var nlea_EaglerAdapterImpl2_imageIsLoaded = 0;
var nlea_EaglerAdapterImpl2_imageTexIsInitialized = 0;
var nlea_EaglerAdapterImpl2_imageFrameRate = 0;
var nlea_EaglerAdapterImpl2_imageFrameTimer = Long_ZERO;
var nlea_EaglerAdapterImpl2_imagesBuffer = null;
var nlea_EaglerAdapterImpl2_currentEvent = null;
var nlea_EaglerAdapterImpl2_currentEventK = null;
var nlea_EaglerAdapterImpl2_buttonStates = null;
var nlea_EaglerAdapterImpl2_keyStates = null;
var nlea_EaglerAdapterImpl2_mouseUngrabTimer = Long_ZERO;
var nlea_EaglerAdapterImpl2_mouseUngrabTimeout = 0;
var nlea_EaglerAdapterImpl2_pointerLockFlag = 0;
var nlea_EaglerAdapterImpl2_dateFormatSS = null;
var nlea_EaglerAdapterImpl2_rateLimitedAddresses = null;
var nlea_EaglerAdapterImpl2_blockedAddresses = null;
var nlea_EaglerAdapterImpl2_sock = null;
var nlea_EaglerAdapterImpl2_sockIsConnecting = 0;
var nlea_EaglerAdapterImpl2_sockIsConnected = 0;
var nlea_EaglerAdapterImpl2_sockIsAlive = 0;
var nlea_EaglerAdapterImpl2_readPackets = null;
var nlea_EaglerAdapterImpl2_rateLimitStatus = null;
var nlea_EaglerAdapterImpl2_currentSockURI = null;
var nlea_EaglerAdapterImpl2_playbackId = 0;
var nlea_EaglerAdapterImpl2_loadedSoundFiles = null;
var nlea_EaglerAdapterImpl2_audioctx = null;
var nlea_EaglerAdapterImpl2_playbackOffsetDelay = 0.0;
var nlea_EaglerAdapterImpl2_activeSoundEffects = null;
var nlea_EaglerAdapterImpl2_connected = 0;
var nlea_EaglerAdapterImpl2_LWJGLKeyNames = null;
var nlea_EaglerAdapterImpl2_LWJGLKeyCodes = null;
var nlea_EaglerAdapterImpl2_appendbufferindex = 0;
var nlea_EaglerAdapterImpl2_appendbuffer = null;
var nlea_EaglerAdapterImpl2_unpressCTRL = 0;
var nlea_EaglerAdapterImpl2_serverToJoinOnLaunch = null;
function nlea_EaglerAdapterImpl2_$callClinit() {
    nlea_EaglerAdapterImpl2_$callClinit = $rt_eraseClinit(nlea_EaglerAdapterImpl2);
    nlea_EaglerAdapterImpl2__clinit_();
}
function nlea_EaglerAdapterImpl2__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2();
    nlea_EaglerAdapterImpl2__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2__init_($this) {
    nlea_EaglerAdapterImpl2_$callClinit();
}
function nlea_EaglerAdapterImpl2__wisWebGL() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return 1;
}
function nlea_EaglerAdapterImpl2__wgetShaderHeader() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return $rt_s(59);
}
function nlea_EaglerAdapterImpl2_isSSLPage() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return jl_String_startsWith0($rt_str(window.location.href), $rt_s(60));
}
function nlea_EaglerAdapterImpl2_loadResource($path) {
    var $file;
    nlea_EaglerAdapterImpl2_$callClinit();
    $file = nlea_EaglerAdapterImpl2_loadResourceBytes($path);
    if ($file === null)
        return null;
    return ji_ByteArrayInputStream__init_($file);
}
function nlea_EaglerAdapterImpl2_loadResourceBytes($path) {
    nlea_EaglerAdapterImpl2_$callClinit();
    if (jl_String_startsWith0($path, $rt_s(61)))
        $path = jl_String_substring($path, 1);
    return ju_HashMap_get(nle_AssetRepository_filePool, $path);
}
function nlea_EaglerAdapterImpl2_fileContents($path) {
    var $contents;
    nlea_EaglerAdapterImpl2_$callClinit();
    $contents = nlea_EaglerAdapterImpl2_loadResourceBytes($path);
    if ($contents === null)
        return null;
    return jl_String__init_7($contents, jnc_Charset_forName($rt_s(62)));
}
function nlea_EaglerAdapterImpl2_fileContentsLines($path) {
    var $contents;
    nlea_EaglerAdapterImpl2_$callClinit();
    $contents = nlea_EaglerAdapterImpl2_fileContents($path);
    if ($contents === null)
        return null;
    return jl_String_split(jl_String_replace0($contents, $rt_s(63), $rt_s(64)), $rt_s(65));
}
function nlea_EaglerAdapterImpl2_downloadAssetPack(var$1) {
    var thread = $rt_nativeThread();
    var javaThread = $rt_getThread();
    if (thread.isResuming()) {
        thread.status = 0;
        var result = thread.attribute;
        if (result instanceof Error) {
            throw result;
        }
        return result;
    }
    var callback = function() {};
    callback.$complete = function(val) {
        thread.attribute = val;
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback.$error = function(e) {
        thread.attribute = $rt_exception(e);
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback = otpp_AsyncCallbackWrapper_create(callback);
    return thread.suspend(function() {
        try {
            nlea_EaglerAdapterImpl2_downloadAssetPack0(var$1, callback);
        } catch($e) {
            callback.$error($rt_exception($e));
        }
    });
}
function nlea_EaglerAdapterImpl2_downloadAssetPack0($assetPackageURI, $cb) {
    var $request, var$4;
    nlea_EaglerAdapterImpl2_$callClinit();
    $request = new XMLHttpRequest();
    var$4 = "arraybuffer";
    $request.responseType = var$4;
    $request.open("GET", $rt_ustr($assetPackageURI), !!1);
    $assetPackageURI = new nlea_EaglerAdapterImpl2$1;
    $assetPackageURI.$val$request = $request;
    $assetPackageURI.$val$cb = $cb;
    $assetPackageURI = otji_JS_function($assetPackageURI, "stateChanged");
    $request.onreadystatechange = $assetPackageURI;
    $request.send();
}
function nlea_EaglerAdapterImpl2_initializeContext($rootElement, $assetPackageURI) {
    var $s, var$4, $e, var$6, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$e = $thread.pop();var$4 = $thread.pop();$s = $thread.pop();$assetPackageURI = $thread.pop();$rootElement = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_EaglerAdapterImpl2_$callClinit();
        nlea_EaglerAdapterImpl2_parent = $rootElement;
        $s = $rt_str(nlea_EaglerAdapterImpl2_parent.getAttribute("style"));
        var$4 = nlea_EaglerAdapterImpl2_parent;
        $e = jl_StringBuilder__init_();
        if ($s === null)
            $s = $rt_s(36);
        $e = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append($e, $s), $rt_s(66)));
        var$4.setAttribute("style", $rt_ustr($e));
        nlea_EaglerAdapterImpl2_win = window;
        nlea_EaglerAdapterImpl2_doc = nlea_EaglerAdapterImpl2_win.document;
        nlea_EaglerAdapterImpl2_canvas = nlea_EaglerAdapterImpl2_doc.createElement("canvas");
        nlea_EaglerAdapterImpl2_canvas.setAttribute("id", "deevis589723589");
        $e = nlea_EaglerAdapterImpl2_canvas;
        var$4 = nlea_EaglerAdapterImpl2_parent.clientWidth;
        $e.width = var$4;
        $e = nlea_EaglerAdapterImpl2_canvas;
        var$4 = nlea_EaglerAdapterImpl2_parent.clientHeight;
        $e.height = var$4;
        $e = nlea_EaglerAdapterImpl2_canvas;
        $rootElement.appendChild($e);
        nlea_EaglerAdapterImpl2_renderingCanvas = nlea_EaglerAdapterImpl2_doc.createElement("canvas");
        $rootElement = nlea_EaglerAdapterImpl2_renderingCanvas;
        $e = nlea_EaglerAdapterImpl2_canvas.width;
        $rootElement.width = $e;
        $rootElement = nlea_EaglerAdapterImpl2_renderingCanvas;
        $e = nlea_EaglerAdapterImpl2_canvas.height;
        $rootElement.height = $e;
        nlea_EaglerAdapterImpl2_frameBuffer = nlea_EaglerAdapterImpl2_canvas.getContext("2d");
        $rootElement = nlea_EaglerAdapterImpl2_renderingCanvas;
        var$4 = nlea_EaglerAdapterImpl2_youEagler$js_body$_32();
        nlea_EaglerAdapterImpl2_webgl = $rootElement.getContext("webgl2", var$4);
        if (nlea_EaglerAdapterImpl2_webgl === null)
            $rt_throw(jl_RuntimeException__init_(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(67)), $rt_str(nlea_EaglerAdapterImpl2_getString$js_body$_24("window.navigator.userAgent"))), $rt_s(68)))));
        nlea_EaglerAdapterImpl2_setContextVar$js_body$_20(nlea_EaglerAdapterImpl2_webgl);
        nlea_EaglerAdapterImpl2_webgl.getExtension("EXT_texture_filter_anisotropic");
        $rootElement = nlea_EaglerAdapterImpl2_win;
        var$4 = nlea_EaglerAdapterImpl2$2__init_0();
        nlea_EaglerAdapterImpl2_contextmenu = var$4;
        $rootElement.addEventListener("contextmenu", otji_JS_function(var$4, "handleEvent"));
        $rootElement = nlea_EaglerAdapterImpl2_canvas;
        var$4 = nlea_EaglerAdapterImpl2$3__init_0();
        nlea_EaglerAdapterImpl2_mousedown = var$4;
        $rootElement.addEventListener("mousedown", otji_JS_function(var$4, "handleEvent"));
        $rootElement = nlea_EaglerAdapterImpl2_canvas;
        var$4 = nlea_EaglerAdapterImpl2$4__init_0();
        nlea_EaglerAdapterImpl2_mouseup = var$4;
        $rootElement.addEventListener("mouseup", otji_JS_function(var$4, "handleEvent"));
        $rootElement = nlea_EaglerAdapterImpl2_canvas;
        var$4 = nlea_EaglerAdapterImpl2$5__init_0();
        nlea_EaglerAdapterImpl2_mousemove = var$4;
        $rootElement.addEventListener("mousemove", otji_JS_function(var$4, "handleEvent"));
        $rootElement = nlea_EaglerAdapterImpl2_win;
        var$4 = nlea_EaglerAdapterImpl2$6__init_0();
        nlea_EaglerAdapterImpl2_keydown = var$4;
        $rootElement.addEventListener("keydown", otji_JS_function(var$4, "handleEvent"));
        $rootElement = nlea_EaglerAdapterImpl2_win;
        var$4 = nlea_EaglerAdapterImpl2$7__init_0();
        nlea_EaglerAdapterImpl2_keyup = var$4;
        $rootElement.addEventListener("keyup", otji_JS_function(var$4, "handleEvent"));
        $rootElement = nlea_EaglerAdapterImpl2_win;
        var$4 = nlea_EaglerAdapterImpl2$8__init_0();
        nlea_EaglerAdapterImpl2_keypress = var$4;
        $rootElement.addEventListener("keypress", otji_JS_function(var$4, "handleEvent"));
        $rootElement = nlea_EaglerAdapterImpl2_canvas;
        var$4 = nlea_EaglerAdapterImpl2$9__init_0();
        nlea_EaglerAdapterImpl2_wheel = var$4;
        $rootElement.addEventListener("wheel", otji_JS_function(var$4, "handleEvent"));
        $rootElement = nlea_EaglerAdapterImpl2_win;
        var$4 = nlea_EaglerAdapterImpl2$10__init_0();
        $rootElement.addEventListener("blur", otji_JS_function(var$4, "handleEvent"));
        $rootElement = nlea_EaglerAdapterImpl2_win;
        var$4 = nlea_EaglerAdapterImpl2$11__init_0();
        $rootElement.addEventListener("focus", otji_JS_function(var$4, "handleEvent"));
        nlea_EaglerAdapterImpl2_onBeforeCloseRegister$js_body$_221();
        window.eval("window.eagsFileChooser = {\r\ninputElement: null,\r\nopenFileChooser: function(ext, mime){\r\nel = window.eagsFileChooser.inputElement = document.createElement(\"input\");\r\nel.type = \"file\";\r\nel.multiple = false;\r\nel.addEventListener(\"change\", function(evt){\r\nvar f = window.eagsFileChooser.inputElement.files;\r\nif(f.length == 0){\r\nwindow.eagsFileChooser.getFileChooserResult = null;\r\n}else{\r\n(async function(){\r\nwindow.eagsFileChooser.getFileChooserResult = await f[0].arrayBuffer();\r\nwindow.eagsFileChooser.getFileChooserResultName = f[0].name;\r\n})();\r\n}\r\n});\r\nwindow.eagsFileChooser.getFileChooserResult = null;\r\nwindow.eagsFileChooser.getFileChooserResultName = null;\r\nel.accept = mime;\r\nel.click();\r\n},\r\ngetFileChooserResult: null,\r\ngetFileChooserResultName: null\r\n};");
        $ptr = 1;
    case 1:
        nle_EarlyLoadScreen_paintScreen();
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        nlea_EaglerAdapterImpl2_downloadAssetPack($assetPackageURI);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            try {
                nle_AssetRepository_install(nlea_EaglerAdapterImpl2_loadedPackage);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($e);
        }
        if (ju_AbstractCollection_isEmpty(nlea_EaglerAdapterImpl2_mouseEvents) && ju_AbstractCollection_isEmpty(nlea_EaglerAdapterImpl2_keyEvents) && !(nlea_EaglerAdapterImpl2_hasBeenActive$js_body$_22() ? 1 : 0)) {
            $ptr = 3;
            continue main;
        }
        nlea_EaglerAdapterImpl2_audioctx = otjw_AudioContext_create$js_body$_44();
        ju_LinkedList_clear(nlea_EaglerAdapterImpl2_mouseEvents);
        ju_LinkedList_clear(nlea_EaglerAdapterImpl2_keyEvents);
        setInterval(otji_JS_function(nlea_EaglerAdapterImpl2$12__init_0(), "onTimer"), 5000);
        return;
    case 3:
        nle_EarlyLoadScreen_paintEnable();
        if ($rt_suspending()) {
            break main;
        }
        while (ju_AbstractCollection_isEmpty(nlea_EaglerAdapterImpl2_mouseEvents) && ju_AbstractCollection_isEmpty(nlea_EaglerAdapterImpl2_keyEvents)) {
            try {
                var$6 = Long_fromInt(100);
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                } else {
                    throw $$e;
                }
            }
        }
        nlea_EaglerAdapterImpl2_audioctx = otjw_AudioContext_create$js_body$_44();
        ju_LinkedList_clear(nlea_EaglerAdapterImpl2_mouseEvents);
        ju_LinkedList_clear(nlea_EaglerAdapterImpl2_keyEvents);
        setInterval(otji_JS_function(nlea_EaglerAdapterImpl2$12__init_0(), "onTimer"), 5000);
        return;
    case 4:
        a: {
            try {
                jl_Thread_sleep(var$6);
                if ($rt_suspending()) {
                    break main;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                } else {
                    throw $$e;
                }
            }
        }
        while (ju_AbstractCollection_isEmpty(nlea_EaglerAdapterImpl2_mouseEvents) && ju_AbstractCollection_isEmpty(nlea_EaglerAdapterImpl2_keyEvents)) {
            try {
                var$6 = Long_fromInt(100);
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                } else {
                    throw $$e;
                }
            }
        }
        nlea_EaglerAdapterImpl2_audioctx = otjw_AudioContext_create$js_body$_44();
        ju_LinkedList_clear(nlea_EaglerAdapterImpl2_mouseEvents);
        ju_LinkedList_clear(nlea_EaglerAdapterImpl2_keyEvents);
        setInterval(otji_JS_function(nlea_EaglerAdapterImpl2$12__init_0(), "onTimer"), 5000);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($rootElement, $assetPackageURI, $s, var$4, $e, var$6, $ptr);
}
function nlea_EaglerAdapterImpl2__wglEnable($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.enable($p1);
}
function nlea_EaglerAdapterImpl2__wglClearDepth($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.clearDepth($p1);
}
function nlea_EaglerAdapterImpl2__wglViewport($p1, $p2, $p3, $p4) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_viewportCache.data[0] = $p1;
    nlea_EaglerAdapterImpl2_viewportCache.data[1] = $p2;
    nlea_EaglerAdapterImpl2_viewportCache.data[2] = $p3;
    nlea_EaglerAdapterImpl2_viewportCache.data[3] = $p4;
    nlea_EaglerAdapterImpl2_webgl.viewport($p1, $p2, $p3, $p4);
}
function nlea_EaglerAdapterImpl2__wglClear($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.clear($p1);
}
function nlea_EaglerAdapterImpl2__wglClearColor($p1, $p2, $p3, $p4) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.clearColor($p1, $p2, $p3, $p4);
}
function nlea_EaglerAdapterImpl2__wglDisable($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.disable($p1);
}
function nlea_EaglerAdapterImpl2__wglTexImage2D($p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8, $p9) {
    var $data, $len, $uploadBuffer1, $i, var$14;
    nlea_EaglerAdapterImpl2_$callClinit();
    if ($p9 === null) {
        $p9 = nlea_EaglerAdapterImpl2_webgl;
        $data = null;
        $p9.texImage2D($p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8, $data);
    } else {
        $len = jn_Buffer_remaining($p9);
        $uploadBuffer1 = nlea_EaglerAdapterImpl2_uploadBuffer;
        $i = 0;
        while ($i < $len) {
            var$14 = (jn_ByteBufferImpl_get($p9) & 255) << 16 >> 16;
            $uploadBuffer1[$i] = var$14;
            $i = $i + 1 | 0;
        }
        $data = new Uint8Array(nlea_EaglerAdapterImpl2_uploadBuffer.buffer, 0, $len);
        nlea_EaglerAdapterImpl2_webgl.texImage2D($p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8, $data);
    }
}
function nlea_EaglerAdapterImpl2__wglDepthMask($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.depthMask(!!$p1);
}
function nlea_EaglerAdapterImpl2__wglBindTexture($p1, $p2) {
    var var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_webgl;
    $p2 = $p2 !== null ? $p2.$obj : null;
    var$3.bindTexture($p1, $p2);
}
function nlea_EaglerAdapterImpl2__wglTexParameteri($p1, $p2, $p3) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.texParameteri($p1, $p2, $p3);
}
function nlea_EaglerAdapterImpl2__wglTexImage2D0($p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8, $p9) {
    var $len, $deevis, $i, var$13, $data;
    nlea_EaglerAdapterImpl2_$callClinit();
    $len = jn_Buffer_remaining($p9);
    $deevis = new Int32Array(nlea_EaglerAdapterImpl2_uploadBuffer.buffer);
    $i = 0;
    while ($i < $len) {
        var$13 = jn_IntBufferImpl_get($p9);
        $deevis[$i] = var$13;
        $i = $i + 1 | 0;
    }
    $p9 = nlea_EaglerAdapterImpl2_uploadBuffer.buffer;
    var$13 = $len * 4 | 0;
    $data = new Uint8Array($p9, 0, var$13);
    nlea_EaglerAdapterImpl2_webgl.texImage2D($p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8, $data);
}
function nlea_EaglerAdapterImpl2__wglDeleteTextures($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj;
    var$2.deleteTexture($p1);
}
function nlea_EaglerAdapterImpl2__wglDrawArrays($p1, $p2, $p3) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.drawArrays($p1, $p2, $p3);
}
function nlea_EaglerAdapterImpl2__wglGenTextures() {
    var var$1, var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$1 = new nlea_EaglerAdapterImpl2$TextureGL;
    var$2 = nlea_EaglerAdapterImpl2_webgl.createTexture();
    var$1.$w = (-1);
    var$1.$h = (-1);
    var$1.$nearest = 1;
    var$1.$anisotropic = 0;
    var$1.$obj = var$2;
    return var$1;
}
function nlea_EaglerAdapterImpl2__wglActiveTexture($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.activeTexture($p1);
}
function nlea_EaglerAdapterImpl2__wglCreateProgram() {
    var var$1, var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$1 = new nlea_EaglerAdapterImpl2$ProgramGL;
    var$1.$obj0 = nlea_EaglerAdapterImpl2_webgl.createProgram();
    var$2 = nlea_EaglerAdapterImpl2_progId + 1 | 0;
    nlea_EaglerAdapterImpl2_progId = var$2;
    var$1.$hashcode = var$2;
    return var$1;
}
function nlea_EaglerAdapterImpl2__wglCreateShader($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = new nlea_EaglerAdapterImpl2$ShaderGL;
    var$2.$obj1 = nlea_EaglerAdapterImpl2_webgl.createShader($p1);
    return var$2;
}
function nlea_EaglerAdapterImpl2__wglAttachShader($p1, $p2) {
    var var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj0;
    $p2 = $p2.$obj1;
    var$3.attachShader($p1, $p2);
}
function nlea_EaglerAdapterImpl2__wglDetachShader($p1, $p2) {
    var var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj0;
    $p2 = $p2.$obj1;
    var$3.detachShader($p1, $p2);
}
function nlea_EaglerAdapterImpl2__wglCompileShader($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj1;
    var$2.compileShader($p1);
}
function nlea_EaglerAdapterImpl2__wglLinkProgram($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj0;
    var$2.linkProgram($p1);
}
function nlea_EaglerAdapterImpl2__wglShaderSource($p1, $p2) {
    var var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj1;
    var$3.shaderSource($p1, $rt_ustr($p2));
}
function nlea_EaglerAdapterImpl2__wglGetShaderInfoLog($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj1;
    return $rt_str(var$2.getShaderInfoLog($p1));
}
function nlea_EaglerAdapterImpl2__wglGetProgramInfoLog($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj0;
    return $rt_str(var$2.getProgramInfoLog($p1));
}
function nlea_EaglerAdapterImpl2__wglGetShaderCompiled($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj1;
    return var$2.getShaderParameter($p1, 35713) != 1 ? 0 : 1;
}
function nlea_EaglerAdapterImpl2__wglGetProgramLinked($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj0;
    return var$2.getProgramParameter($p1, 35714) != 1 ? 0 : 1;
}
function nlea_EaglerAdapterImpl2__wglDeleteShader($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj1;
    var$2.deleteShader($p1);
}
function nlea_EaglerAdapterImpl2__wglDeleteProgram($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj0;
    var$2.deleteProgram($p1);
}
function nlea_EaglerAdapterImpl2__wglCreateBuffer() {
    var var$1;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$1 = new nlea_EaglerAdapterImpl2$BufferGL;
    var$1.$obj2 = nlea_EaglerAdapterImpl2_webgl.createBuffer();
    return var$1;
}
function nlea_EaglerAdapterImpl2__wglBindBuffer($p1, $p2) {
    var var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_webgl;
    $p2 = $p2 !== null ? $p2.$obj2 : null;
    var$3.bindBuffer($p1, $p2);
}
function nlea_EaglerAdapterImpl2__wglBufferData0($p1, $p2, $p3) {
    var $len, $deevis, $i, var$7, $data;
    nlea_EaglerAdapterImpl2_$callClinit();
    $len = jn_Buffer_remaining($p2);
    $deevis = new Int32Array(nlea_EaglerAdapterImpl2_uploadBuffer.buffer);
    $i = 0;
    while ($i < $len) {
        var$7 = jn_IntBufferImpl_get($p2);
        $deevis[$i] = var$7;
        $i = $i + 1 | 0;
    }
    $p2 = nlea_EaglerAdapterImpl2_uploadBuffer.buffer;
    $len = $len * 4 | 0;
    $data = new Uint8Array($p2, 0, $len);
    nlea_EaglerAdapterImpl2_webgl.bufferData($p1, $data, $p3);
}
function nlea_EaglerAdapterImpl2__wglBufferData($p1, $p2, $p3) {
    var var$4;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$4 = nlea_EaglerAdapterImpl2_webgl;
    $p2 = $p2;
    var$4.bufferData($p1, $p2, $p3);
}
function nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.enableVertexAttribArray($p1);
}
function nlea_EaglerAdapterImpl2__wglDisableVertexAttribArray($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.disableVertexAttribArray($p1);
}
function nlea_EaglerAdapterImpl2__wglGetUniformLocation($p1, $p2) {
    var $u;
    nlea_EaglerAdapterImpl2_$callClinit();
    $u = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj0;
    $u = $u.getUniformLocation($p1, $rt_ustr($p2));
    if ($u === null)
        $p1 = null;
    else {
        $p1 = new nlea_EaglerAdapterImpl2$UniformGL;
        $p1.$obj3 = $u;
    }
    return $p1;
}
function nlea_EaglerAdapterImpl2__wglBindAttributeLocation($p1, $p2, $p3) {
    var var$4;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$4 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj0;
    var$4.bindAttribLocation($p1, $p2, $rt_ustr($p3));
}
function nlea_EaglerAdapterImpl2__wglUniform1f($p1, $p2) {
    var var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    if ($p1 !== null) {
        var$3 = nlea_EaglerAdapterImpl2_webgl;
        $p1 = $p1.$obj3;
        var$3.uniform1f($p1, $p2);
    }
}
function nlea_EaglerAdapterImpl2__wglUniform2f($p1, $p2, $p3) {
    var var$4;
    nlea_EaglerAdapterImpl2_$callClinit();
    if ($p1 !== null) {
        var$4 = nlea_EaglerAdapterImpl2_webgl;
        $p1 = $p1.$obj3;
        var$4.uniform2f($p1, $p2, $p3);
    }
}
function nlea_EaglerAdapterImpl2__wglUniform3f($p1, $p2, $p3, $p4) {
    var var$5;
    nlea_EaglerAdapterImpl2_$callClinit();
    if ($p1 !== null) {
        var$5 = nlea_EaglerAdapterImpl2_webgl;
        $p1 = $p1.$obj3;
        var$5.uniform3f($p1, $p2, $p3, $p4);
    }
}
function nlea_EaglerAdapterImpl2__wglUniform4f($p1, $p2, $p3, $p4, $p5) {
    var var$6, var$7;
    nlea_EaglerAdapterImpl2_$callClinit();
    if ($p1 !== null) {
        var$6 = nlea_EaglerAdapterImpl2_webgl;
        var$7 = $p1.$obj3;
        var$6.uniform4f(var$7, $p2, $p3, $p4, $p5);
    }
}
function nlea_EaglerAdapterImpl2__wglUniform1i($p1, $p2) {
    var var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    if ($p1 !== null) {
        var$3 = nlea_EaglerAdapterImpl2_webgl;
        $p1 = $p1.$obj3;
        var$3.uniform1i($p1, $p2);
    }
}
function nlea_EaglerAdapterImpl2__wglUniformMat4fv($p1, $mat) {
    var var$3, var$4;
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_mat4.set($mat.data);
    if ($p1 !== null) {
        var$3 = nlea_EaglerAdapterImpl2_webgl;
        var$4 = $p1.$obj3;
        $p1 = nlea_EaglerAdapterImpl2_mat4;
        var$3.uniformMatrix4fv(var$4, !!0, $p1);
    }
}
function nlea_EaglerAdapterImpl2__wglUseProgram($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    if ($p1 !== null && nlea_EaglerAdapterImpl2_currentProgram != $p1.$hashcode) {
        nlea_EaglerAdapterImpl2_currentProgram = $p1.$hashcode;
        var$2 = nlea_EaglerAdapterImpl2_webgl;
        $p1 = $p1.$obj0;
        var$2.useProgram($p1);
    }
}
function nlea_EaglerAdapterImpl2__wglVertexAttribPointer($p1, $p2, $p3, $p4, $p5, $p6) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.vertexAttribPointer($p1, $p2, $p3, !!$p4, $p5, $p6);
}
function nlea_EaglerAdapterImpl2__wglBindFramebuffer($p1, $p2) {
    var var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_webgl;
    $p2 = $p2 !== null ? $p2.$obj4 : null;
    var$3.bindFramebuffer($p1, $p2);
}
function nlea_EaglerAdapterImpl2__wglCreateFramebuffer() {
    var var$1;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$1 = new nlea_EaglerAdapterImpl2$FramebufferGL;
    var$1.$obj4 = nlea_EaglerAdapterImpl2_webgl.createFramebuffer();
    return var$1;
}
function nlea_EaglerAdapterImpl2__wglFramebufferTexture2D($p1, $p2) {
    var var$3, var$4;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_webgl;
    var$4 = $p2 !== null ? $p2.$obj : null;
    var$3.framebufferTexture2D(36160, $p1, 3553, var$4, 0);
}
function nlea_EaglerAdapterImpl2__wglGetQueryObjecti($p1, $p2) {
    var var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj5;
    return var$3.getQueryParameter($p1, $p2);
}
function nlea_EaglerAdapterImpl2__wglCreateVertexArray() {
    var var$1;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$1 = new nlea_EaglerAdapterImpl2$BufferArrayGL;
    var$1.$obj6 = nlea_EaglerAdapterImpl2_webgl.createVertexArray();
    var$1.$isQuadBufferBound = 0;
    return var$1;
}
function nlea_EaglerAdapterImpl2__wglDeleteVertexArray($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj6;
    var$2.deleteVertexArray($p1);
}
function nlea_EaglerAdapterImpl2__wglBindVertexArray($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1 !== null ? $p1.$obj6 : null;
    var$2.bindVertexArray($p1);
}
function nlea_EaglerAdapterImpl2__wglCreateRenderBuffer() {
    var var$1;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$1 = new nlea_EaglerAdapterImpl2$RenderbufferGL;
    var$1.$obj7 = nlea_EaglerAdapterImpl2_webgl.createRenderbuffer();
    return var$1;
}
function nlea_EaglerAdapterImpl2__wglBindRenderbuffer($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1 !== null ? $p1.$obj7 : null;
    var$2.bindRenderbuffer(36161, $p1);
}
function nlea_EaglerAdapterImpl2__wglRenderbufferStorage($p1, $p2, $p3) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.renderbufferStorage(36161, $p1, $p2, $p3);
}
function nlea_EaglerAdapterImpl2__wglFramebufferRenderbuffer($p1, $p2) {
    var var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_webgl;
    $p2 = $p2 !== null ? $p2.$obj7 : null;
    var$3.framebufferRenderbuffer(36160, $p1, 36161, $p2);
}
function nlea_EaglerAdapterImpl2__wglDeleteRenderbuffer($p1) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_webgl;
    $p1 = $p1.$obj7;
    var$2.deleteRenderbuffer($p1);
}
function nlea_EaglerAdapterImpl2__wglRenderbufferStorageMultisample($p1, $p2, $p3, $p4) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.renderbufferStorageMultisample(36161, $p1, $p2, $p3, $p4);
}
function nlea_EaglerAdapterImpl2_loadPNG($data) {
    var $arr, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$arr = $thread.pop();$data = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_EaglerAdapterImpl2_$callClinit();
        $arr = new ArrayBuffer($data.data.length);
        (new Uint8Array($arr)).set($data.data);
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_loadPNG0($arr);
        if ($rt_suspending()) {
            break main;
        }
        $arr = $tmp;
        return $arr;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($data, $arr, $ptr);
}
function nlea_EaglerAdapterImpl2_loadPNG0(var$1) {
    var thread = $rt_nativeThread();
    var javaThread = $rt_getThread();
    if (thread.isResuming()) {
        thread.status = 0;
        var result = thread.attribute;
        if (result instanceof Error) {
            throw result;
        }
        return result;
    }
    var callback = function() {};
    callback.$complete = function(val) {
        thread.attribute = val;
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback.$error = function(e) {
        thread.attribute = $rt_exception(e);
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback = otpp_AsyncCallbackWrapper_create(callback);
    return thread.suspend(function() {
        try {
            nlea_EaglerAdapterImpl2_loadPNG00(var$1, callback);
        } catch($e) {
            callback.$error($rt_exception($e));
        }
    });
}
function nlea_EaglerAdapterImpl2_loadPNG00($data, $ret) {
    var $toLoad, $src, var$5;
    nlea_EaglerAdapterImpl2_$callClinit();
    $toLoad = nlea_EaglerAdapterImpl2_doc.createElement("img");
    $src = new nlea_EaglerAdapterImpl2$13;
    $src.$val$toLoad = $toLoad;
    $src.$val$ret = $ret;
    $toLoad.addEventListener("load", otji_JS_function($src, "handleEvent"));
    var$5 = new nlea_EaglerAdapterImpl2$14;
    var$5.$val$toLoad0 = $toLoad;
    var$5.$val$ret0 = $ret;
    $toLoad.addEventListener("error", otji_JS_function(var$5, "handleEvent"));
    $src = $rt_str(nlea_EaglerAdapterImpl2_getDataURL$js_body$_125($data, "image/png"));
    if ($src === null)
        otpp_AsyncCallbackWrapper_complete($ret, null);
    else {
        $data = $rt_ustr($src);
        $toLoad.src = $data;
    }
}
function nlea_EaglerAdapterImpl2_isVideoSupported() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return 1;
}
function nlea_EaglerAdapterImpl2_loadVideo($src, $autoplay) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_loadVideo0($src, $autoplay, null, null);
}
function nlea_EaglerAdapterImpl2_loadVideo0($src, $autoplay, $setJavascriptPointer, $javascriptOnloadFunction) {
    var var$5, $vid, var$7, var$8, var$9, var$10;
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_videoIsLoaded = 0;
    nlea_EaglerAdapterImpl2_videoTexIsInitialized = 0;
    if (nlea_EaglerAdapterImpl2_videoTexture === null)
        nlea_EaglerAdapterImpl2_videoTexture = nlea_EaglerAdapterImpl2__wglGenTextures();
    if (nlea_EaglerAdapterImpl2_currentVideo !== null) {
        nlea_EaglerAdapterImpl2_currentVideo.pause();
        var$5 = nlea_EaglerAdapterImpl2_currentVideo;
        $vid = "";
        var$5.src = $vid;
    }
    $vid = ju_HashMap_get(nlea_EaglerAdapterImpl2_videosBuffer, $src);
    if ($vid !== null) {
        nlea_EaglerAdapterImpl2_currentVideo = $vid.$videoElement;
        ju_HashMap_remove(nlea_EaglerAdapterImpl2_videosBuffer, $src);
    } else {
        nlea_EaglerAdapterImpl2_currentVideo = nlea_EaglerAdapterImpl2_win.document.createElement("video");
        nlea_EaglerAdapterImpl2_currentVideo.setAttribute("crossorigin", "anonymous");
        var$5 = nlea_EaglerAdapterImpl2_currentVideo;
        var$7 = !!$autoplay;
        var$5.autoplay = var$7;
    }
    if ($setJavascriptPointer !== null) {
        var$5 = nlea_EaglerAdapterImpl2_currentVideo;
        window[$rt_ustr($setJavascriptPointer)] = var$5;
    }
    $setJavascriptPointer = nlea_EaglerAdapterImpl2_currentVideo;
    var$7 = new nlea_EaglerAdapterImpl2$15;
    var$7.$val$javascriptOnloadFunction = $javascriptOnloadFunction;
    $setJavascriptPointer.addEventListener("playing", otji_JS_function(var$7, "handleEvent"));
    if ($vid === null) {
        $setJavascriptPointer = nlea_EaglerAdapterImpl2_currentVideo;
        $javascriptOnloadFunction = !!0;
        $setJavascriptPointer.controls = $javascriptOnloadFunction;
        $setJavascriptPointer = nlea_EaglerAdapterImpl2_currentVideo;
        $src = $rt_ustr($src);
        $setJavascriptPointer.src = $src;
    } else if ($autoplay)
        nlea_EaglerAdapterImpl2_currentVideo.play();
    if (nlea_EaglerAdapterImpl2_currentVideoAudioSource !== null)
        nlea_EaglerAdapterImpl2_currentVideoAudioSource.disconnect();
    $src = nlea_EaglerAdapterImpl2_audioctx;
    $setJavascriptPointer = nlea_EaglerAdapterImpl2_currentVideo;
    nlea_EaglerAdapterImpl2_currentVideoAudioSource = $src.createMediaElementSource($setJavascriptPointer);
    if (nlea_EaglerAdapterImpl2_currentVideoAudioGainValue < 0.0) {
        $src = nlea_EaglerAdapterImpl2_currentVideoAudioSource;
        $setJavascriptPointer = nlea_EaglerAdapterImpl2_audioctx.destination;
        $src.connect($setJavascriptPointer);
    } else {
        if (nlea_EaglerAdapterImpl2_currentVideoAudioGain === null) {
            nlea_EaglerAdapterImpl2_currentVideoAudioGain = nlea_EaglerAdapterImpl2_audioctx.createGain();
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioGain.gain;
            $setJavascriptPointer = nlea_EaglerAdapterImpl2_currentVideoAudioGainValue <= 1.0 ? nlea_EaglerAdapterImpl2_currentVideoAudioGainValue : 1.0;
            $src.value = $setJavascriptPointer;
        }
        $src = nlea_EaglerAdapterImpl2_currentVideoAudioSource;
        $setJavascriptPointer = nlea_EaglerAdapterImpl2_currentVideoAudioGain;
        $src.connect($setJavascriptPointer);
        if (nlea_EaglerAdapterImpl2_currentVideoAudioPanner === null) {
            nlea_EaglerAdapterImpl2_currentVideoAudioPanner = nlea_EaglerAdapterImpl2_audioctx.createPanner();
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            $setJavascriptPointer = 1.0;
            $src.rolloffFactor = $setJavascriptPointer;
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            $setJavascriptPointer = "linear";
            $src.distanceModel = $setJavascriptPointer;
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            $setJavascriptPointer = "HRTF";
            $src.panningModel = $setJavascriptPointer;
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            $setJavascriptPointer = 360.0;
            $src.coneInnerAngle = $setJavascriptPointer;
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            $setJavascriptPointer = 0.0;
            $src.coneOuterAngle = $setJavascriptPointer;
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            $setJavascriptPointer = 0.0;
            $src.coneOuterGain = $setJavascriptPointer;
            nlea_EaglerAdapterImpl2_currentVideoAudioPanner.setOrientation(0.0, 1.0, 0.0);
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            var$8 = nlea_EaglerAdapterImpl2_currentVideoAudioX;
            var$9 = nlea_EaglerAdapterImpl2_currentVideoAudioY;
            var$10 = nlea_EaglerAdapterImpl2_currentVideoAudioZ;
            $src.setPosition(var$8, var$9, var$10);
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            $setJavascriptPointer = nlea_EaglerAdapterImpl2_currentVideoAudioGainValue * 16.0 + 0.10000000149011612;
            $src.maxDistance = $setJavascriptPointer;
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioGain;
            $setJavascriptPointer = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            $src.connect($setJavascriptPointer);
            $src = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            $setJavascriptPointer = nlea_EaglerAdapterImpl2_audioctx.destination;
            $src.connect($setJavascriptPointer);
        }
    }
}
function nlea_EaglerAdapterImpl2_bufferVideo($src, $ttl) {
    var $video, var$4, var$5;
    nlea_EaglerAdapterImpl2_$callClinit();
    if (!ju_HashMap_containsKey(nlea_EaglerAdapterImpl2_videosBuffer, $src)) {
        $video = nlea_EaglerAdapterImpl2_win.document.createElement("video");
        var$4 = !!0;
        $video.autoplay = var$4;
        $video.setAttribute("crossorigin", "anonymous");
        var$4 = "auto";
        $video.preload = var$4;
        var$4 = !!0;
        $video.controls = var$4;
        var$4 = $rt_ustr($src);
        $video.src = var$4;
        var$4 = nlea_EaglerAdapterImpl2_videosBuffer;
        var$5 = new nlea_EaglerAdapterImpl2$BufferedVideo;
        var$5.$videoElement = $video;
        var$5.$url = $src;
        var$5.$requestedTime = jl_System_currentTimeMillis();
        var$5.$ttl = $ttl;
        ju_HashMap_putImpl(var$4, $src, var$5);
    }
}
function nlea_EaglerAdapterImpl2_unloadVideo() {
    var var$1, var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_videoTexture !== null) {
        nlea_EaglerAdapterImpl2__wglDeleteTextures(nlea_EaglerAdapterImpl2_videoTexture);
        nlea_EaglerAdapterImpl2_videoTexture = null;
    }
    if (nlea_EaglerAdapterImpl2_currentVideo !== null) {
        nlea_EaglerAdapterImpl2_currentVideo.pause();
        var$1 = nlea_EaglerAdapterImpl2_currentVideo;
        var$2 = "";
        var$1.src = var$2;
        nlea_EaglerAdapterImpl2_currentVideo = null;
    }
    if (nlea_EaglerAdapterImpl2_currentVideoAudioSource !== null)
        nlea_EaglerAdapterImpl2_currentVideoAudioSource.disconnect();
}
function nlea_EaglerAdapterImpl2_isVideoLoaded() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_videoTexture !== null && nlea_EaglerAdapterImpl2_currentVideo !== null && nlea_EaglerAdapterImpl2_videoIsLoaded ? 1 : 0;
}
function nlea_EaglerAdapterImpl2_setVideoPaused($pause) {
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_currentVideo !== null) {
        if (!$pause)
            nlea_EaglerAdapterImpl2_currentVideo.play();
        else
            nlea_EaglerAdapterImpl2_currentVideo.pause();
    }
}
function nlea_EaglerAdapterImpl2_setVideoLoop($loop) {
    var var$2, var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_currentVideo !== null) {
        var$2 = nlea_EaglerAdapterImpl2_currentVideo;
        var$3 = !!$loop;
        var$2.loop = var$3;
    }
}
function nlea_EaglerAdapterImpl2_setVideoVolume($x, $y, $z, $v) {
    var var$5, var$6, var$7;
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_currentVideoAudioX = $x;
    nlea_EaglerAdapterImpl2_currentVideoAudioY = $y;
    nlea_EaglerAdapterImpl2_currentVideoAudioZ = $z;
    if ($v < 0.0) {
        if (nlea_EaglerAdapterImpl2_currentVideoAudioGainValue >= 0.0 && nlea_EaglerAdapterImpl2_currentVideoAudioSource !== null) {
            nlea_EaglerAdapterImpl2_currentVideoAudioSource.disconnect();
            var$5 = nlea_EaglerAdapterImpl2_currentVideoAudioSource;
            var$6 = nlea_EaglerAdapterImpl2_audioctx.destination;
            var$5.connect(var$6);
        }
        nlea_EaglerAdapterImpl2_currentVideoAudioGainValue = $v;
    } else {
        if (nlea_EaglerAdapterImpl2_currentVideoAudioGain !== null) {
            var$5 = nlea_EaglerAdapterImpl2_currentVideoAudioGain.gain;
            var$6 = $v <= 1.0 ? $v : 1.0;
            var$5.value = var$6;
            if (nlea_EaglerAdapterImpl2_currentVideoAudioGainValue < 0.0 && nlea_EaglerAdapterImpl2_currentVideoAudioSource !== null) {
                nlea_EaglerAdapterImpl2_currentVideoAudioSource.disconnect();
                var$5 = nlea_EaglerAdapterImpl2_currentVideoAudioSource;
                var$6 = nlea_EaglerAdapterImpl2_currentVideoAudioGain;
                var$5.connect(var$6);
            }
        }
        nlea_EaglerAdapterImpl2_currentVideoAudioGainValue = $v;
        if (nlea_EaglerAdapterImpl2_currentVideoAudioPanner !== null) {
            var$6 = nlea_EaglerAdapterImpl2_currentVideoAudioPanner;
            var$7 = $v * 16.0 + 0.10000000149011612;
            var$6.maxDistance = var$7;
            nlea_EaglerAdapterImpl2_currentVideoAudioPanner.setPosition($x, $y, $z);
        }
    }
}
function nlea_EaglerAdapterImpl2_updateVideoTexture() {
    var $ms, var$2, var$3, $$je;
    nlea_EaglerAdapterImpl2_$callClinit();
    $ms = jl_System_currentTimeMillis();
    if (Long_lt(Long_sub($ms, nlea_EaglerAdapterImpl2_frameTimer), Long_fromInt(nlea_EaglerAdapterImpl2_frameRate)) && nlea_EaglerAdapterImpl2_videoTexIsInitialized)
        return;
    a: {
        nlea_EaglerAdapterImpl2_frameTimer = $ms;
        if (nlea_EaglerAdapterImpl2_currentVideo !== null && nlea_EaglerAdapterImpl2_videoTexture !== null && nlea_EaglerAdapterImpl2_videoIsLoaded)
            try {
                nlea_EaglerAdapterImpl2__wglBindTexture(3553, nlea_EaglerAdapterImpl2_videoTexture);
                if (nlea_EaglerAdapterImpl2_videoTexIsInitialized) {
                    var$2 = nlea_EaglerAdapterImpl2_webgl;
                    var$3 = nlea_EaglerAdapterImpl2_currentVideo;
                    var$2.texSubImage2D(3553, 0, 0, 0, 6408, 5121, var$3);
                } else {
                    var$3 = nlea_EaglerAdapterImpl2_webgl;
                    var$2 = nlea_EaglerAdapterImpl2_currentVideo;
                    var$3.texImage2D(3553, 0, 6408, 6408, 5121, var$2);
                    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10242, 33071);
                    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10243, 33071);
                    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10241, 9729);
                    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10240, 9729);
                    nlea_EaglerAdapterImpl2_videoTexIsInitialized = 1;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
    }
}
function nlea_EaglerAdapterImpl2_bindVideoTexture() {
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_videoTexture !== null)
        nlea_EaglerAdapterImpl2__wglBindTexture(3553, nlea_EaglerAdapterImpl2_videoTexture);
}
function nlea_EaglerAdapterImpl2_getVideoCurrentTime() {
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_currentVideo !== null && nlea_EaglerAdapterImpl2_videoIsLoaded)
        return nlea_EaglerAdapterImpl2_currentVideo.currentTime;
    return (-1.0);
}
function nlea_EaglerAdapterImpl2_setVideoCurrentTime($seconds) {
    var var$2, var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_currentVideo !== null && nlea_EaglerAdapterImpl2_videoIsLoaded) {
        var$2 = nlea_EaglerAdapterImpl2_currentVideo;
        var$3 = $seconds;
        var$2.currentTime = var$3;
    }
}
function nlea_EaglerAdapterImpl2_setVideoFrameRate($fps) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_frameRate = 1000.0 / $fps | 0;
    if (nlea_EaglerAdapterImpl2_frameRate < 1)
        nlea_EaglerAdapterImpl2_frameRate = 1;
}
function nlea_EaglerAdapterImpl2_loadImage($src) {
    var var$2, var$3, var$4, var$5, var$6;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = null;
    nlea_EaglerAdapterImpl2_imageIsLoaded = 0;
    nlea_EaglerAdapterImpl2_imageTexIsInitialized = 0;
    if (nlea_EaglerAdapterImpl2_imageTexture === null)
        nlea_EaglerAdapterImpl2_imageTexture = nlea_EaglerAdapterImpl2__wglGenTextures();
    if (nlea_EaglerAdapterImpl2_currentImage !== null) {
        var$3 = nlea_EaglerAdapterImpl2_currentImage;
        var$4 = "";
        var$3.src = var$4;
    }
    var$4 = ju_HashMap_get(nlea_EaglerAdapterImpl2_imagesBuffer, $src);
    if (var$4 !== null) {
        nlea_EaglerAdapterImpl2_currentImage = var$4.$imageElement;
        ju_HashMap_remove(nlea_EaglerAdapterImpl2_imagesBuffer, $src);
    } else {
        nlea_EaglerAdapterImpl2_currentImage = nlea_EaglerAdapterImpl2_win.document.createElement("img");
        nlea_EaglerAdapterImpl2_currentImage.setAttribute("crossorigin", "anonymous");
    }
    var$5 = nlea_EaglerAdapterImpl2_currentImage;
    var$6 = new nlea_EaglerAdapterImpl2$16;
    var$6.$val$javascriptOnloadFunction0 = var$2;
    var$5.addEventListener("load", otji_JS_function(var$6, "handleEvent"));
    if (var$4 === null) {
        var$2 = nlea_EaglerAdapterImpl2_currentImage;
        $src = $rt_ustr($src);
        var$2.src = $src;
    }
}
function nlea_EaglerAdapterImpl2_bufferImage($src, $ttl) {
    var $image, var$4, var$5;
    nlea_EaglerAdapterImpl2_$callClinit();
    if (!ju_HashMap_containsKey(nlea_EaglerAdapterImpl2_imagesBuffer, $src)) {
        $image = nlea_EaglerAdapterImpl2_win.document.createElement("img");
        $image.setAttribute("crossorigin", "anonymous");
        var$4 = $rt_ustr($src);
        $image.src = var$4;
        var$5 = nlea_EaglerAdapterImpl2_imagesBuffer;
        var$4 = new nlea_EaglerAdapterImpl2$BufferedImageElem;
        var$4.$imageElement = $image;
        var$4.$url0 = $src;
        var$4.$requestedTime0 = jl_System_currentTimeMillis();
        var$4.$ttl0 = $ttl;
        ju_HashMap_putImpl(var$5, $src, var$4);
    }
}
function nlea_EaglerAdapterImpl2_unloadImage() {
    var var$1, var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_imageTexture !== null) {
        nlea_EaglerAdapterImpl2__wglDeleteTextures(nlea_EaglerAdapterImpl2_imageTexture);
        nlea_EaglerAdapterImpl2_imageTexture = null;
    }
    if (nlea_EaglerAdapterImpl2_currentImage !== null) {
        var$1 = nlea_EaglerAdapterImpl2_currentImage;
        var$2 = "";
        var$1.src = var$2;
        nlea_EaglerAdapterImpl2_currentImage = null;
    }
}
function nlea_EaglerAdapterImpl2_isImageLoaded() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_imageTexture !== null && nlea_EaglerAdapterImpl2_currentImage !== null && nlea_EaglerAdapterImpl2_imageIsLoaded ? 1 : 0;
}
function nlea_EaglerAdapterImpl2_updateImageTexture() {
    var $ms, var$2, var$3, $$je;
    nlea_EaglerAdapterImpl2_$callClinit();
    $ms = jl_System_currentTimeMillis();
    if (Long_lt(Long_sub($ms, nlea_EaglerAdapterImpl2_imageFrameTimer), Long_fromInt(nlea_EaglerAdapterImpl2_imageFrameRate)) && nlea_EaglerAdapterImpl2_imageTexIsInitialized)
        return;
    a: {
        nlea_EaglerAdapterImpl2_imageFrameTimer = $ms;
        if (nlea_EaglerAdapterImpl2_currentImage !== null && nlea_EaglerAdapterImpl2_imageTexture !== null && nlea_EaglerAdapterImpl2_imageIsLoaded)
            try {
                nlea_EaglerAdapterImpl2__wglBindTexture(3553, nlea_EaglerAdapterImpl2_imageTexture);
                if (nlea_EaglerAdapterImpl2_imageTexIsInitialized) {
                    var$2 = nlea_EaglerAdapterImpl2_webgl;
                    var$3 = nlea_EaglerAdapterImpl2_currentImage;
                    var$2.texSubImage2D(3553, 0, 0, 0, 6408, 5121, var$3);
                } else {
                    var$3 = nlea_EaglerAdapterImpl2_webgl;
                    var$2 = nlea_EaglerAdapterImpl2_currentImage;
                    var$3.texImage2D(3553, 0, 6408, 6408, 5121, var$2);
                    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10242, 33071);
                    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10243, 33071);
                    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10241, 9729);
                    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10240, 9729);
                    nlea_EaglerAdapterImpl2_imageTexIsInitialized = 1;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
    }
}
function nlea_EaglerAdapterImpl2_bindImageTexture() {
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_imageTexture !== null)
        nlea_EaglerAdapterImpl2__wglBindTexture(3553, nlea_EaglerAdapterImpl2_imageTexture);
}
function nlea_EaglerAdapterImpl2_setImageFrameRate($fps) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_frameRate = 1000.0 / $fps | 0;
    if (nlea_EaglerAdapterImpl2_frameRate < 1)
        nlea_EaglerAdapterImpl2_frameRate = 1;
}
function nlea_EaglerAdapterImpl2_mouseNext() {
    var var$1, var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    a: {
        nlea_EaglerAdapterImpl2_currentEvent = null;
        if (!ju_AbstractCollection_isEmpty(nlea_EaglerAdapterImpl2_mouseEvents)) {
            var$1 = ju_AbstractSequentialList_remove(nlea_EaglerAdapterImpl2_mouseEvents, 0);
            nlea_EaglerAdapterImpl2_currentEvent = var$1;
            if (var$1 !== null) {
                var$2 = 1;
                break a;
            }
        }
        var$2 = 0;
    }
    return var$2;
}
function nlea_EaglerAdapterImpl2_mouseGetEventButton() {
    var $b;
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_currentEvent === null)
        return (-1);
    $b = nlea_EaglerAdapterImpl2_currentEvent.button;
    if ($b == 1)
        $b = 2;
    else if ($b == 2)
        $b = 1;
    return $b;
}
function nlea_EaglerAdapterImpl2_mouseGetEventButtonState() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_currentEvent === null ? 0 : jl_String_equals($rt_str(nlea_EaglerAdapterImpl2_currentEvent.type), $rt_s(69));
}
function nlea_EaglerAdapterImpl2_mouseIsButtonDown($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_buttonStates.data[$p1];
}
function nlea_EaglerAdapterImpl2_mouseGetEventDWheel() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return !jl_String_equals($rt_s(70), $rt_str(nlea_EaglerAdapterImpl2_currentEvent.type)) ? 0 : nlea_EaglerAdapterImpl2_currentEvent.deltaY === 0.0 ? 0 : nlea_EaglerAdapterImpl2_currentEvent.deltaY <= 0.0 ? 1 : (-1);
}
function nlea_EaglerAdapterImpl2_mouseSetGrabbed($grabbed) {
    var $t, var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    if (!$grabbed) {
        nlea_EaglerAdapterImpl2_mouseUngrabTimer = jl_System_currentTimeMillis();
        if (nlea_EaglerAdapterImpl2_mouseUngrabTimeout)
            clearTimeout(nlea_EaglerAdapterImpl2_mouseUngrabTimeout);
        nlea_EaglerAdapterImpl2_doc.exitPointerLock();
    } else {
        nlea_EaglerAdapterImpl2_canvas.requestPointerLock();
        $t = jl_System_currentTimeMillis();
        if (nlea_EaglerAdapterImpl2_mouseUngrabTimeout)
            clearTimeout(nlea_EaglerAdapterImpl2_mouseUngrabTimeout);
        if (Long_lt(Long_sub($t, nlea_EaglerAdapterImpl2_mouseUngrabTimer), Long_fromInt(3000))) {
            var$3 = new nlea_EaglerAdapterImpl2$17;
            $grabbed = 3000 - Long_sub($t, nlea_EaglerAdapterImpl2_mouseUngrabTimer).lo | 0;
            nlea_EaglerAdapterImpl2_mouseUngrabTimeout = setTimeout(otji_JS_function(var$3, "onTimer"), $grabbed);
        }
    }
}
function nlea_EaglerAdapterImpl2_mouseGetX() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_mouseX;
}
function nlea_EaglerAdapterImpl2_mouseGetY() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_mouseY;
}
function nlea_EaglerAdapterImpl2_keysNext() {
    var var$1, var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    if (!nlea_EaglerAdapterImpl2_unpressCTRL) {
        a: {
            nlea_EaglerAdapterImpl2_currentEventK = null;
            if (!ju_AbstractCollection_isEmpty(nlea_EaglerAdapterImpl2_keyEvents)) {
                var$1 = ju_AbstractSequentialList_remove(nlea_EaglerAdapterImpl2_keyEvents, 0);
                nlea_EaglerAdapterImpl2_currentEventK = var$1;
                if (var$1 !== null) {
                    var$2 = 1;
                    break a;
                }
            }
            var$2 = 0;
        }
        return var$2;
    }
    ju_LinkedList_clear(nlea_EaglerAdapterImpl2_keyEvents);
    nlea_EaglerAdapterImpl2_currentEventK = null;
    nlea_EaglerAdapterImpl2_keyStates.data[29] = 0;
    nlea_EaglerAdapterImpl2_keyStates.data[157] = 0;
    nlea_EaglerAdapterImpl2_keyStates.data[28] = 0;
    nlea_EaglerAdapterImpl2_keyStates.data[219] = 0;
    nlea_EaglerAdapterImpl2_keyStates.data[220] = 0;
    nlea_EaglerAdapterImpl2_unpressCTRL = 0;
    return 0;
}
function nlea_EaglerAdapterImpl2_getEventKey() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_currentEventK === null ? (-1) : nlea_EaglerAdapterImpl2_remapKey(nlea_EaglerAdapterImpl2_currentEventK.which);
}
function nlea_EaglerAdapterImpl2_getEventKeyState() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_currentEventK === null ? 0 : jl_String_equals($rt_str(nlea_EaglerAdapterImpl2_currentEventK.type), $rt_s(71)) ? 0 : 1;
}
function nlea_EaglerAdapterImpl2_isKeyDown($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_unpressCTRL) {
        nlea_EaglerAdapterImpl2_keyStates.data[28] = 0;
        nlea_EaglerAdapterImpl2_keyStates.data[29] = 0;
        nlea_EaglerAdapterImpl2_keyStates.data[157] = 0;
        nlea_EaglerAdapterImpl2_keyStates.data[219] = 0;
        nlea_EaglerAdapterImpl2_keyStates.data[220] = 0;
    }
    return nlea_EaglerAdapterImpl2_keyStates.data[$p1];
}
function nlea_EaglerAdapterImpl2_getKeyName($p1) {
    nlea_EaglerAdapterImpl2_$callClinit();
    return $p1 >= 0 && $p1 < 256 ? nlea_EaglerAdapterImpl2_LWJGLKeyNames.data[$p1] : $rt_s(48);
}
function nlea_EaglerAdapterImpl2_updateDisplay() {
    var $w, $h, var$3, var$4, var$5, var$6, var$7, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$h = $thread.pop();$w = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_EaglerAdapterImpl2_$callClinit();
        $w = nlea_EaglerAdapterImpl2_parent.clientWidth;
        $h = nlea_EaglerAdapterImpl2_parent.clientHeight;
        if (nlea_EaglerAdapterImpl2_canvas.width != $w) {
            var$3 = nlea_EaglerAdapterImpl2_canvas;
            var$4 = $w;
            var$3.width = var$4;
        }
        if (nlea_EaglerAdapterImpl2_canvas.height != $h) {
            var$3 = nlea_EaglerAdapterImpl2_canvas;
            var$4 = $h;
            var$3.height = var$4;
        }
        var$3 = nlea_EaglerAdapterImpl2_frameBuffer;
        var$4 = nlea_EaglerAdapterImpl2_renderingCanvas;
        var$5 = $w;
        var$6 = $h;
        var$3.drawImage(var$4, 0.0, 0.0, var$5, var$6);
        if (nlea_EaglerAdapterImpl2_renderingCanvas.width != $w) {
            var$3 = nlea_EaglerAdapterImpl2_renderingCanvas;
            var$4 = $w;
            var$3.width = var$4;
        }
        if (nlea_EaglerAdapterImpl2_renderingCanvas.height != $h) {
            var$3 = nlea_EaglerAdapterImpl2_renderingCanvas;
            var$4 = $h;
            var$3.height = var$4;
        }
        try {
            var$7 = Long_fromInt(1);
            $ptr = 1;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_InterruptedException) {
            } else {
                throw $$e;
            }
        }
        return;
    case 1:
        a: {
            try {
                jl_Thread_sleep(var$7);
                if ($rt_suspending()) {
                    break main;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                } else {
                    throw $$e;
                }
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($w, $h, var$3, var$4, var$5, var$6, var$7, $ptr);
}
function nlea_EaglerAdapterImpl2_enableRepeatEvents0($b) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_enableRepeatEvents = $b;
}
function nlea_EaglerAdapterImpl2_isFocused() {
    var $yee, $dee;
    nlea_EaglerAdapterImpl2_$callClinit();
    $yee = document.pointerLockElement != null ? 1 : 0;
    $dee = nlea_EaglerAdapterImpl2_pointerLockFlag;
    nlea_EaglerAdapterImpl2_pointerLockFlag = $yee;
    if (!$dee && $yee) {
        nlea_EaglerAdapterImpl2_mouseDX = 0.0;
        nlea_EaglerAdapterImpl2_mouseDY = 0.0;
    }
    a: {
        b: {
            if (nlea_EaglerAdapterImpl2_isWindowFocused) {
                if (!$dee)
                    break b;
                if ($yee)
                    break b;
            }
            $dee = 0;
            break a;
        }
        $dee = 1;
    }
    return $dee;
}
function nlea_EaglerAdapterImpl2_getCanvasWidth() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_renderingCanvas.width;
}
function nlea_EaglerAdapterImpl2_getCanvasHeight() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_renderingCanvas.height;
}
function nlea_EaglerAdapterImpl2_syncDisplay($performanceToFps) {
    nlea_EaglerAdapterImpl2_$callClinit();
}
function nlea_EaglerAdapterImpl2_saveScreenshot() {
    var var$1, var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(72));
    jl_AbstractStringBuilder_append(var$1, jt_DateFormat_format(nlea_EaglerAdapterImpl2_dateFormatSS, ju_Date__init_0()));
    jl_AbstractStringBuilder_append(var$1, $rt_s(73));
    var$2 = jl_AbstractStringBuilder_toString(var$1);
    var$1 = nlea_EaglerAdapterImpl2_canvas;
    nlea_EaglerAdapterImpl2_saveScreenshot$js_body$_204($rt_ustr(var$2), var$1);
}
function nlea_EaglerAdapterImpl2_getRateLimitStatus() {
    var $l;
    nlea_EaglerAdapterImpl2_$callClinit();
    $l = nlea_EaglerAdapterImpl2_rateLimitStatus;
    nlea_EaglerAdapterImpl2_rateLimitStatus = null;
    return $l;
}
function nlea_EaglerAdapterImpl2_logRateLimit($addr, $l) {
    nlea_EaglerAdapterImpl2_$callClinit();
    if ($l !== nlea_EaglerAdapterImpl2$RateLimit_BLOCKED)
        ju_HashSet_add(nlea_EaglerAdapterImpl2_rateLimitedAddresses, $addr);
    else
        ju_HashSet_add(nlea_EaglerAdapterImpl2_blockedAddresses, $addr);
}
function nlea_EaglerAdapterImpl2_connectWebSocket(var$1) {
    var thread = $rt_nativeThread();
    var javaThread = $rt_getThread();
    if (thread.isResuming()) {
        thread.status = 0;
        var result = thread.attribute;
        if (result instanceof Error) {
            throw result;
        }
        return result;
    }
    var callback = function() {};
    callback.$complete = function(val) {
        thread.attribute = val;
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback.$error = function(e) {
        thread.attribute = $rt_exception(e);
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback = otpp_AsyncCallbackWrapper_create(callback);
    return thread.suspend(function() {
        try {
            nlea_EaglerAdapterImpl2_connectWebSocket0(var$1, callback);
        } catch($e) {
            callback.$error($rt_exception($e));
        }
    });
}
function nlea_EaglerAdapterImpl2_connectWebSocket0($sockURI, $cb) {
    var var$3, $$je;
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_sockIsConnecting = 1;
    nlea_EaglerAdapterImpl2_sockIsConnected = 0;
    nlea_EaglerAdapterImpl2_sockIsAlive = 0;
    nlea_EaglerAdapterImpl2_rateLimitStatus = null;
    nlea_EaglerAdapterImpl2_currentSockURI = $sockURI;
    a: {
        try {
            nlea_EaglerAdapterImpl2_sock = new WebSocket($rt_ustr($sockURI));
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Throwable) {
            } else {
                throw $$e;
            }
        }
        nlea_EaglerAdapterImpl2_sockIsConnecting = 0;
        nlea_EaglerAdapterImpl2_sockIsAlive = 0;
        return;
    }
    var$3 = nlea_EaglerAdapterImpl2_sock;
    $sockURI = "arraybuffer";
    var$3.binaryType = $sockURI;
    $sockURI = nlea_EaglerAdapterImpl2_sock;
    var$3 = new nlea_EaglerAdapterImpl2$18;
    var$3.$val$cb0 = $cb;
    var$3 = otji_JS_function(var$3, "handleEvent");
    $sockURI.onopen = var$3;
    $sockURI = nlea_EaglerAdapterImpl2_sock;
    var$3 = new nlea_EaglerAdapterImpl2$19;
    var$3.$val$cb1 = $cb;
    $cb = otji_JS_function(var$3, "handleEvent");
    $sockURI.onclose = $cb;
    $sockURI = nlea_EaglerAdapterImpl2_sock;
    $cb = otji_JS_function(new nlea_EaglerAdapterImpl2$20, "handleEvent");
    $sockURI.onmessage = $cb;
}
function nlea_EaglerAdapterImpl2_endConnection() {
    nlea_EaglerAdapterImpl2_$callClinit();
    if (!(nlea_EaglerAdapterImpl2_sock !== null && nlea_EaglerAdapterImpl2_sock.readyState != 3))
        nlea_EaglerAdapterImpl2_sockIsConnecting = 0;
    if (nlea_EaglerAdapterImpl2_sock !== null && !nlea_EaglerAdapterImpl2_sockIsConnecting)
        nlea_EaglerAdapterImpl2_sock.close();
}
function nlea_EaglerAdapterImpl2_connectionOpen() {
    nlea_EaglerAdapterImpl2_$callClinit();
    if (!(nlea_EaglerAdapterImpl2_sock !== null && nlea_EaglerAdapterImpl2_sock.readyState != 3))
        nlea_EaglerAdapterImpl2_sockIsConnecting = 0;
    return nlea_EaglerAdapterImpl2_sock !== null && !nlea_EaglerAdapterImpl2_sockIsConnecting && nlea_EaglerAdapterImpl2_sock.readyState != 3 ? 1 : 0;
}
function nlea_EaglerAdapterImpl2_writePacket($packet) {
    var $arr;
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_sock !== null && !nlea_EaglerAdapterImpl2_sockIsConnecting) {
        $arr = new Uint8Array($packet.data.length);
        $arr.set($packet.data);
        nlea_EaglerAdapterImpl2_sock.send($arr.buffer);
    }
}
function nlea_EaglerAdapterImpl2_loadLocalStorage($key) {
    var var$2, $s;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = nlea_EaglerAdapterImpl2_win.localStorage;
    $s = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($s);
    jl_AbstractStringBuilder_append($s, $rt_s(74));
    jl_AbstractStringBuilder_append($s, $key);
    $s = jl_AbstractStringBuilder_toString($s);
    $s = $rt_str(var$2.getItem($rt_ustr($s)));
    if ($s === null)
        return null;
    return nle_Base64_decodeBase64($s);
}
function nlea_EaglerAdapterImpl2_saveLocalStorage($key, $data) {
    var var$3, var$4;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_win.localStorage;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, $rt_s(74));
    jl_AbstractStringBuilder_append(var$4, $key);
    $key = jl_AbstractStringBuilder_toString(var$4);
    var$4 = nle_Base64_encodeBase64String($data);
    var$3.setItem($rt_ustr($key), $rt_ustr(var$4));
}
function nlea_EaglerAdapterImpl2_openLink($url) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_win.open($rt_ustr($url), "_blank");
}
function nlea_EaglerAdapterImpl2_getFileChooserResult() {
    var $b, $array, $ret, var$4, $i, var$6;
    nlea_EaglerAdapterImpl2_$callClinit();
    $b = nlea_EaglerAdapterImpl2_getFileChooserResult0$js_body$_224();
    if ($b === null)
        return null;
    $array = new Uint8Array($b);
    $ret = $rt_createByteArray($array.byteLength);
    var$4 = $ret.data;
    $i = 0;
    var$6 = var$4.length;
    while ($i < var$6) {
        var$4[$i] = $array[$i] << 24 >> 24;
        $i = $i + 1 | 0;
    }
    return $ret;
}
function nlea_EaglerAdapterImpl2_setListenerPos($x, $y, $z, $vx, $vy, $vz, $pitch, $yaw) {
    var $var2, $var3, $var4, $var5, $l;
    nlea_EaglerAdapterImpl2_$callClinit();
    $vx =  -$yaw * 0.01745329238474369;
    $var2 = nms_MathHelper_cos($vx);
    $var3 = nms_MathHelper_sin($vx);
    $vx = $pitch * 0.01745329238474369;
    $var4 =  -nms_MathHelper_cos($vx);
    $var5 = nms_MathHelper_sin($vx);
    $l = nlea_EaglerAdapterImpl2_audioctx.listener;
    $l.setPosition($x, $y, $z);
    $x =  -$var3 * $var4;
    $y =  -$var5;
    $vy =  -$var2 * $var4;
    $l.setOrientation($x, $y, $vy, 0.0, 1.0, 0.0);
}
function nlea_EaglerAdapterImpl2_setPlaybackOffsetDelay($f) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_playbackOffsetDelay = $f;
}
function nlea_EaglerAdapterImpl2_decodeAudioAsync(var$1) {
    var thread = $rt_nativeThread();
    var javaThread = $rt_getThread();
    if (thread.isResuming()) {
        thread.status = 0;
        var result = thread.attribute;
        if (result instanceof Error) {
            throw result;
        }
        return result;
    }
    var callback = function() {};
    callback.$complete = function(val) {
        thread.attribute = val;
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback.$error = function(e) {
        thread.attribute = $rt_exception(e);
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback = otpp_AsyncCallbackWrapper_create(callback);
    return thread.suspend(function() {
        try {
            nlea_EaglerAdapterImpl2_decodeAudioAsync0(var$1, callback);
        } catch($e) {
            callback.$error($rt_exception($e));
        }
    });
}
function nlea_EaglerAdapterImpl2_decodeAudioAsync0($buffer, $cb) {
    var var$3, var$4, var$5;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_audioctx;
    var$4 = new nlea_EaglerAdapterImpl2$21;
    var$4.$val$cb2 = $cb;
    var$5 = new nlea_EaglerAdapterImpl2$22;
    var$5.$val$cb3 = $cb;
    var$3.decodeAudioData($buffer, otji_JS_function(var$4, "onSuccess"), otji_JS_function(var$5, "onError"));
}
function nlea_EaglerAdapterImpl2_getBufferFor($fileName) {
    var $ret, $file, $buf, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$buf = $thread.pop();$file = $thread.pop();$ret = $thread.pop();$fileName = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_EaglerAdapterImpl2_$callClinit();
        $ret = ju_HashMap_get(nlea_EaglerAdapterImpl2_loadedSoundFiles, $fileName);
        if ($ret !== null)
            return $ret.$buffer0;
        $file = nlea_EaglerAdapterImpl2_loadResourceBytes($fileName);
        if ($file === null)
            return null;
        $buf = new Uint8Array($file.data.length);
        $buf.set($file.data);
        $ret = new nlea_EaglerAdapterImpl2$AudioBufferX;
        $buf = $buf.buffer;
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_decodeAudioAsync($buf);
        if ($rt_suspending()) {
            break main;
        }
        $buf = $tmp;
        $ret.$buffer0 = $buf;
        ju_HashMap_putImpl(nlea_EaglerAdapterImpl2_loadedSoundFiles, $fileName, $ret);
        return $ret.$buffer0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($fileName, $ret, $file, $buf, $ptr);
}
function nlea_EaglerAdapterImpl2_beginPlayback($fileName, $x, $y, $z, $volume, $pitch) {
    var $b, $s, $p, $g, var$11, $theId, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$theId = $thread.pop();var$11 = $thread.pop();$g = $thread.pop();$p = $thread.pop();$s = $thread.pop();$b = $thread.pop();$pitch = $thread.pop();$volume = $thread.pop();$z = $thread.pop();$y = $thread.pop();$x = $thread.pop();$fileName = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_EaglerAdapterImpl2_$callClinit();
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_getBufferFor($fileName);
        if ($rt_suspending()) {
            break main;
        }
        $b = $tmp;
        if ($b === null)
            return (-1);
        $s = nlea_EaglerAdapterImpl2_audioctx.createBufferSource();
        $s.buffer = $b;
        $fileName = $s.playbackRate;
        $b = $pitch;
        $fileName.value = $b;
        $p = nlea_EaglerAdapterImpl2_audioctx.createPanner();
        if (!(!isFinite($x) ? 1 : 0) && !(!isFinite($y) ? 1 : 0) && !(!isFinite($z) ? 1 : 0))
            $p.setPosition($x, $y, $z);
        $fileName = $volume * 16.0 + 0.10000000149011612;
        $p.maxDistance = $fileName;
        $b = 1.0;
        $p.rolloffFactor = $b;
        $fileName = "linear";
        $p.distanceModel = $fileName;
        $fileName = "HRTF";
        $p.panningModel = $fileName;
        $fileName = 360.0;
        $p.coneInnerAngle = $fileName;
        $fileName = 0.0;
        $p.coneOuterAngle = $fileName;
        $fileName = 0.0;
        $p.coneOuterGain = $fileName;
        $p.setOrientation(0.0, 1.0, 0.0);
        $g = nlea_EaglerAdapterImpl2_audioctx.createGain();
        $fileName = $g.gain;
        $b = $volume;
        $fileName.value = $b;
        $s.connect($g);
        $g.connect($p);
        $fileName = nlea_EaglerAdapterImpl2_audioctx.destination;
        $p.connect($fileName);
        var$11 = nlea_EaglerAdapterImpl2_playbackOffsetDelay;
        $s.start(0.0, var$11);
        $theId = nlea_EaglerAdapterImpl2_playbackId + 1 | 0;
        nlea_EaglerAdapterImpl2_playbackId = $theId;
        ju_HashMap_putImpl(nlea_EaglerAdapterImpl2_activeSoundEffects, jl_Integer_valueOf($theId), nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX__init_($s, $p, $g, null));
        $b = new nlea_EaglerAdapterImpl2$23;
        $b.$val$theId = $theId;
        $fileName = otji_JS_function($b, "handleEvent");
        $s.onended = $fileName;
        return $theId;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($fileName, $x, $y, $z, $volume, $pitch, $b, $s, $p, $g, var$11, $theId, $ptr);
}
function nlea_EaglerAdapterImpl2_beginPlaybackStatic($fileName, $volume, $pitch) {
    var $b, $s, $g, var$7, $theId, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$theId = $thread.pop();var$7 = $thread.pop();$g = $thread.pop();$s = $thread.pop();$b = $thread.pop();$pitch = $thread.pop();$volume = $thread.pop();$fileName = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_EaglerAdapterImpl2_$callClinit();
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_getBufferFor($fileName);
        if ($rt_suspending()) {
            break main;
        }
        $b = $tmp;
        if ($b === null)
            return (-1);
        $s = nlea_EaglerAdapterImpl2_audioctx.createBufferSource();
        $s.buffer = $b;
        $fileName = $s.playbackRate;
        $b = $pitch;
        $fileName.value = $b;
        $g = nlea_EaglerAdapterImpl2_audioctx.createGain();
        $fileName = $g.gain;
        $b = $volume;
        $fileName.value = $b;
        $s.connect($g);
        $fileName = nlea_EaglerAdapterImpl2_audioctx.destination;
        $g.connect($fileName);
        var$7 = nlea_EaglerAdapterImpl2_playbackOffsetDelay;
        $s.start(0.0, var$7);
        $theId = nlea_EaglerAdapterImpl2_playbackId + 1 | 0;
        nlea_EaglerAdapterImpl2_playbackId = $theId;
        ju_HashMap_putImpl(nlea_EaglerAdapterImpl2_activeSoundEffects, jl_Integer_valueOf($theId), nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX__init_($s, null, $g, null));
        $fileName = new nlea_EaglerAdapterImpl2$24;
        $fileName.$val$theId0 = $theId;
        $fileName = otji_JS_function($fileName, "handleEvent");
        $s.onended = $fileName;
        return nlea_EaglerAdapterImpl2_playbackId;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($fileName, $volume, $pitch, $b, $s, $g, var$7, $theId, $ptr);
}
function nlea_EaglerAdapterImpl2_moveSound($id, $x, $y, $z, $vx, $vy, $vz) {
    var $b;
    nlea_EaglerAdapterImpl2_$callClinit();
    $b = ju_HashMap_get(nlea_EaglerAdapterImpl2_activeSoundEffects, jl_Integer_valueOf($id));
    if ($b !== null && $b.$panner !== null && !(!isFinite($x) ? 1 : 0) && !(!isFinite($y) ? 1 : 0) && !(!isFinite($z) ? 1 : 0))
        $b.$panner.setPosition($x, $y, $z);
}
function nlea_EaglerAdapterImpl2_endSound($id) {
    var $b;
    nlea_EaglerAdapterImpl2_$callClinit();
    $b = ju_HashMap_get(nlea_EaglerAdapterImpl2_activeSoundEffects, jl_Integer_valueOf($id));
    if ($b !== null) {
        $b.$source.stop();
        ju_HashMap_remove(nlea_EaglerAdapterImpl2_activeSoundEffects, jl_Integer_valueOf($id));
    }
}
function nlea_EaglerAdapterImpl2_isPlaying($id) {
    nlea_EaglerAdapterImpl2_$callClinit();
    return ju_HashMap_containsKey(nlea_EaglerAdapterImpl2_activeSoundEffects, jl_Integer_valueOf($id));
}
function nlea_EaglerAdapterImpl2_doJavascriptCoroutines() {
    nlea_EaglerAdapterImpl2_$callClinit();
}
function nlea_EaglerAdapterImpl2_maxMemory() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return Long_fromInt(1073741824);
}
function nlea_EaglerAdapterImpl2_totalMemory() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return Long_fromInt(1073741824);
}
function nlea_EaglerAdapterImpl2_freeMemory() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return Long_ZERO;
}
function nlea_EaglerAdapterImpl2__wArrayByteLength($obj) {
    nlea_EaglerAdapterImpl2_$callClinit();
    return $obj.byteLength;
}
function nlea_EaglerAdapterImpl2_remapKey($k) {
    nlea_EaglerAdapterImpl2_$callClinit();
    return $k <= nlea_EaglerAdapterImpl2_LWJGLKeyCodes.data.length && $k >= 0 ? nlea_EaglerAdapterImpl2_LWJGLKeyCodes.data[$k] : (-1);
}
function nlea_EaglerAdapterImpl2_getClipboard() {
    var thread = $rt_nativeThread();
    var javaThread = $rt_getThread();
    if (thread.isResuming()) {
        thread.status = 0;
        var result = thread.attribute;
        if (result instanceof Error) {
            throw result;
        }
        return result;
    }
    var callback = function() {};
    callback.$complete = function(val) {
        thread.attribute = val;
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback.$error = function(e) {
        thread.attribute = $rt_exception(e);
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback = otpp_AsyncCallbackWrapper_create(callback);
    return thread.suspend(function() {
        try {
            nlea_EaglerAdapterImpl2_getClipboard0(callback);
        } catch($e) {
            callback.$error($rt_exception($e));
        }
    });
}
function nlea_EaglerAdapterImpl2_getClipboard0($cb) {
    var $start, var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    $start = jl_System_currentTimeMillis();
    var$3 = new nlea_EaglerAdapterImpl2$25;
    var$3.$val$start = $start;
    var$3.$val$cb4 = $cb;
    nlea_EaglerAdapterImpl2_getClipboard0$js_body$_259(otji_JS_function(var$3, "resolveStr"));
}
function nlea_EaglerAdapterImpl2_setServerToJoinOnLaunch($s) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_serverToJoinOnLaunch = $s;
}
function nlea_EaglerAdapterImpl2_getServerToJoinOnLaunch() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_serverToJoinOnLaunch;
}
function nlea_EaglerAdapterImpl2_access$000() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_loadedPackage;
}
function nlea_EaglerAdapterImpl2_access$100() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_buttonStates;
}
function nlea_EaglerAdapterImpl2_access$200() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_mouseEvents;
}
function nlea_EaglerAdapterImpl2_access$900() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_keyStates;
}
function nlea_EaglerAdapterImpl2_access$1000($x0) {
    nlea_EaglerAdapterImpl2_$callClinit();
    return $x0.which;
}
function nlea_EaglerAdapterImpl2_access$1100($x0) {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_remapKey($x0);
}
function nlea_EaglerAdapterImpl2_access$1200() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_keyEvents;
}
function nlea_EaglerAdapterImpl2_access$1402($x0) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_isWindowFocused = $x0;
    return $x0;
}
function nlea_EaglerAdapterImpl2_access$1700() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_imageLoadCanvas;
}
function nlea_EaglerAdapterImpl2_access$1800() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_imageLoadContext;
}
function nlea_EaglerAdapterImpl2_access$1900($x0) {
    nlea_EaglerAdapterImpl2_$callClinit();
    URL.revokeObjectURL($rt_ustr($x0));
}
function nlea_EaglerAdapterImpl2_access$2602($x0) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_sockIsConnecting = $x0;
    return $x0;
}
function nlea_EaglerAdapterImpl2_access$2702($x0) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_sockIsAlive = $x0;
    return $x0;
}
function nlea_EaglerAdapterImpl2_access$2802($x0) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_sockIsConnected = $x0;
    return $x0;
}
function nlea_EaglerAdapterImpl2_access$2900() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_readPackets;
}
function nlea_EaglerAdapterImpl2_access$2600() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_sockIsConnecting;
}
function nlea_EaglerAdapterImpl2_access$3100() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_rateLimitStatus;
}
function nlea_EaglerAdapterImpl2_access$3200() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_currentSockURI;
}
function nlea_EaglerAdapterImpl2_access$3300() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_blockedAddresses;
}
function nlea_EaglerAdapterImpl2_access$3102($x0) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_rateLimitStatus = $x0;
    return $x0;
}
function nlea_EaglerAdapterImpl2_access$3400() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_rateLimitedAddresses;
}
function nlea_EaglerAdapterImpl2_access$3500($x0) {
    nlea_EaglerAdapterImpl2_$callClinit();
    return typeof $x0 === "string" ? 1 : 0;
}
function nlea_EaglerAdapterImpl2_access$3900() {
    nlea_EaglerAdapterImpl2_$callClinit();
    return nlea_EaglerAdapterImpl2_activeSoundEffects;
}
function nlea_EaglerAdapterImpl2__clinit_() {
    var var$1, var$2;
    nlea_EaglerAdapterImpl2_isAnisotropicPatched = 0;
    nlea_EaglerAdapterImpl2_doc = null;
    nlea_EaglerAdapterImpl2_parent = null;
    nlea_EaglerAdapterImpl2_canvas = null;
    nlea_EaglerAdapterImpl2_frameBuffer = null;
    nlea_EaglerAdapterImpl2_renderingCanvas = null;
    nlea_EaglerAdapterImpl2_webgl = null;
    nlea_EaglerAdapterImpl2_win = null;
    nlea_EaglerAdapterImpl2_loadedPackage = null;
    nlea_EaglerAdapterImpl2_contextmenu = null;
    nlea_EaglerAdapterImpl2_mousedown = null;
    nlea_EaglerAdapterImpl2_mouseup = null;
    nlea_EaglerAdapterImpl2_mousemove = null;
    nlea_EaglerAdapterImpl2_keydown = null;
    nlea_EaglerAdapterImpl2_keyup = null;
    nlea_EaglerAdapterImpl2_keypress = null;
    nlea_EaglerAdapterImpl2_wheel = null;
    nlea_EaglerAdapterImpl2_identifier = $rt_createArray(jl_String, 0);
    nlea_EaglerAdapterImpl2_mouseEvents = ju_LinkedList__init_0();
    nlea_EaglerAdapterImpl2_keyEvents = ju_LinkedList__init_0();
    nlea_EaglerAdapterImpl2_mouseX = 0;
    nlea_EaglerAdapterImpl2_mouseY = 0;
    nlea_EaglerAdapterImpl2_mouseDX = 0.0;
    nlea_EaglerAdapterImpl2_mouseDY = 0.0;
    nlea_EaglerAdapterImpl2_width = 0;
    nlea_EaglerAdapterImpl2_height = 0;
    nlea_EaglerAdapterImpl2_enableRepeatEvents = 0;
    nlea_EaglerAdapterImpl2_isWindowFocused = 1;
    nlea_EaglerAdapterImpl2_progId = 0;
    nlea_EaglerAdapterImpl2_viewportCache = $rt_createIntArray(4);
    nlea_EaglerAdapterImpl2_uploadBuffer = new Uint8Array(new ArrayBuffer(4194304));
    nlea_EaglerAdapterImpl2_mat2 = new Float32Array(4);
    nlea_EaglerAdapterImpl2_mat3 = new Float32Array(9);
    nlea_EaglerAdapterImpl2_mat4 = new Float32Array(16);
    nlea_EaglerAdapterImpl2_currentProgram = (-1);
    nlea_EaglerAdapterImpl2_imageLoadCanvas = null;
    nlea_EaglerAdapterImpl2_imageLoadContext = null;
    nlea_EaglerAdapterImpl2_currentVideo = null;
    nlea_EaglerAdapterImpl2_videoTexture = null;
    nlea_EaglerAdapterImpl2_videoIsLoaded = 0;
    nlea_EaglerAdapterImpl2_videoTexIsInitialized = 0;
    nlea_EaglerAdapterImpl2_frameRate = 33;
    nlea_EaglerAdapterImpl2_frameTimer = Long_ZERO;
    nlea_EaglerAdapterImpl2_currentVideoAudioSource = null;
    nlea_EaglerAdapterImpl2_currentVideoAudioGain = null;
    nlea_EaglerAdapterImpl2_currentVideoAudioGainValue = 1.0;
    nlea_EaglerAdapterImpl2_currentVideoAudioPanner = null;
    nlea_EaglerAdapterImpl2_currentVideoAudioX = 0.0;
    nlea_EaglerAdapterImpl2_currentVideoAudioY = 0.0;
    nlea_EaglerAdapterImpl2_currentVideoAudioZ = 0.0;
    nlea_EaglerAdapterImpl2_videosBuffer = ju_HashMap__init_();
    nlea_EaglerAdapterImpl2_currentImage = null;
    nlea_EaglerAdapterImpl2_imageTexture = null;
    nlea_EaglerAdapterImpl2_imageIsLoaded = 0;
    nlea_EaglerAdapterImpl2_imageTexIsInitialized = 0;
    nlea_EaglerAdapterImpl2_imageFrameRate = 33;
    nlea_EaglerAdapterImpl2_imageFrameTimer = Long_ZERO;
    nlea_EaglerAdapterImpl2_imagesBuffer = ju_HashMap__init_();
    nlea_EaglerAdapterImpl2_currentEvent = null;
    nlea_EaglerAdapterImpl2_currentEventK = null;
    nlea_EaglerAdapterImpl2_buttonStates = $rt_createBooleanArray(8);
    nlea_EaglerAdapterImpl2_keyStates = $rt_createBooleanArray(256);
    nlea_EaglerAdapterImpl2_mouseUngrabTimer = Long_ZERO;
    nlea_EaglerAdapterImpl2_mouseUngrabTimeout = 0;
    nlea_EaglerAdapterImpl2_pointerLockFlag = 0;
    nlea_EaglerAdapterImpl2_dateFormatSS = jt_SimpleDateFormat__init_0($rt_s(75));
    nlea_EaglerAdapterImpl2_rateLimitedAddresses = ju_HashSet__init_0();
    nlea_EaglerAdapterImpl2_blockedAddresses = ju_HashSet__init_0();
    nlea_EaglerAdapterImpl2_sock = null;
    nlea_EaglerAdapterImpl2_sockIsConnecting = 0;
    nlea_EaglerAdapterImpl2_sockIsConnected = 0;
    nlea_EaglerAdapterImpl2_sockIsAlive = 0;
    nlea_EaglerAdapterImpl2_readPackets = ju_LinkedList__init_0();
    nlea_EaglerAdapterImpl2_rateLimitStatus = null;
    nlea_EaglerAdapterImpl2_currentSockURI = null;
    nlea_EaglerAdapterImpl2_playbackId = 0;
    nlea_EaglerAdapterImpl2_loadedSoundFiles = ju_HashMap__init_();
    nlea_EaglerAdapterImpl2_audioctx = null;
    nlea_EaglerAdapterImpl2_playbackOffsetDelay = 0.029999999329447746;
    nlea_EaglerAdapterImpl2_activeSoundEffects = ju_HashMap__init_();
    nlea_EaglerAdapterImpl2_connected = 0;
    var$1 = $rt_createArray(jl_String, 256);
    var$2 = var$1.data;
    var$2[0] = $rt_s(76);
    var$2[1] = $rt_s(77);
    var$2[2] = $rt_s(78);
    var$2[3] = $rt_s(79);
    var$2[4] = $rt_s(80);
    var$2[5] = $rt_s(81);
    var$2[6] = $rt_s(82);
    var$2[7] = $rt_s(83);
    var$2[8] = $rt_s(84);
    var$2[9] = $rt_s(85);
    var$2[10] = $rt_s(86);
    var$2[11] = $rt_s(87);
    var$2[12] = $rt_s(88);
    var$2[13] = $rt_s(89);
    var$2[14] = $rt_s(90);
    var$2[15] = $rt_s(91);
    var$2[16] = $rt_s(92);
    var$2[17] = $rt_s(93);
    var$2[18] = $rt_s(94);
    var$2[19] = $rt_s(95);
    var$2[20] = $rt_s(96);
    var$2[21] = $rt_s(97);
    var$2[22] = $rt_s(98);
    var$2[23] = $rt_s(99);
    var$2[24] = $rt_s(100);
    var$2[25] = $rt_s(101);
    var$2[26] = $rt_s(102);
    var$2[27] = $rt_s(103);
    var$2[28] = $rt_s(104);
    var$2[29] = $rt_s(105);
    var$2[30] = $rt_s(106);
    var$2[31] = $rt_s(107);
    var$2[32] = $rt_s(108);
    var$2[33] = $rt_s(109);
    var$2[34] = $rt_s(110);
    var$2[35] = $rt_s(111);
    var$2[36] = $rt_s(112);
    var$2[37] = $rt_s(113);
    var$2[38] = $rt_s(114);
    var$2[39] = $rt_s(115);
    var$2[40] = $rt_s(116);
    var$2[41] = $rt_s(117);
    var$2[42] = $rt_s(118);
    var$2[43] = $rt_s(119);
    var$2[44] = $rt_s(120);
    var$2[45] = $rt_s(121);
    var$2[46] = $rt_s(122);
    var$2[47] = $rt_s(123);
    var$2[48] = $rt_s(124);
    var$2[49] = $rt_s(125);
    var$2[50] = $rt_s(126);
    var$2[51] = $rt_s(127);
    var$2[52] = $rt_s(128);
    var$2[53] = $rt_s(129);
    var$2[54] = $rt_s(130);
    var$2[55] = $rt_s(131);
    var$2[56] = $rt_s(132);
    var$2[57] = $rt_s(133);
    var$2[58] = $rt_s(134);
    var$2[59] = $rt_s(135);
    var$2[60] = $rt_s(136);
    var$2[61] = $rt_s(137);
    var$2[62] = $rt_s(138);
    var$2[63] = $rt_s(139);
    var$2[64] = $rt_s(140);
    var$2[65] = $rt_s(141);
    var$2[66] = $rt_s(142);
    var$2[67] = $rt_s(143);
    var$2[68] = $rt_s(144);
    var$2[69] = $rt_s(145);
    var$2[70] = $rt_s(146);
    var$2[71] = $rt_s(147);
    var$2[72] = $rt_s(148);
    var$2[73] = $rt_s(149);
    var$2[74] = $rt_s(150);
    var$2[75] = $rt_s(151);
    var$2[76] = $rt_s(152);
    var$2[77] = $rt_s(153);
    var$2[78] = $rt_s(154);
    var$2[79] = $rt_s(155);
    var$2[80] = $rt_s(156);
    var$2[81] = $rt_s(157);
    var$2[82] = $rt_s(158);
    var$2[83] = $rt_s(159);
    var$2[84] = $rt_s(48);
    var$2[85] = $rt_s(48);
    var$2[86] = $rt_s(48);
    var$2[87] = $rt_s(160);
    var$2[88] = $rt_s(161);
    var$2[89] = $rt_s(48);
    var$2[90] = $rt_s(48);
    var$2[91] = $rt_s(48);
    var$2[92] = $rt_s(48);
    var$2[93] = $rt_s(48);
    var$2[94] = $rt_s(48);
    var$2[95] = $rt_s(48);
    var$2[96] = $rt_s(48);
    var$2[97] = $rt_s(48);
    var$2[98] = $rt_s(48);
    var$2[99] = $rt_s(48);
    var$2[100] = $rt_s(162);
    var$2[101] = $rt_s(163);
    var$2[102] = $rt_s(164);
    var$2[103] = $rt_s(165);
    var$2[104] = $rt_s(166);
    var$2[105] = $rt_s(167);
    var$2[106] = $rt_s(48);
    var$2[107] = $rt_s(48);
    var$2[108] = $rt_s(48);
    var$2[109] = $rt_s(48);
    var$2[110] = $rt_s(48);
    var$2[111] = $rt_s(48);
    var$2[112] = $rt_s(168);
    var$2[113] = $rt_s(169);
    var$2[114] = $rt_s(48);
    var$2[115] = $rt_s(48);
    var$2[116] = $rt_s(48);
    var$2[117] = $rt_s(48);
    var$2[118] = $rt_s(48);
    var$2[119] = $rt_s(48);
    var$2[120] = $rt_s(48);
    var$2[121] = $rt_s(170);
    var$2[122] = $rt_s(48);
    var$2[123] = $rt_s(171);
    var$2[124] = $rt_s(48);
    var$2[125] = $rt_s(172);
    var$2[126] = $rt_s(48);
    var$2[127] = $rt_s(48);
    var$2[128] = $rt_s(48);
    var$2[129] = $rt_s(48);
    var$2[130] = $rt_s(48);
    var$2[131] = $rt_s(48);
    var$2[132] = $rt_s(48);
    var$2[133] = $rt_s(48);
    var$2[134] = $rt_s(48);
    var$2[135] = $rt_s(48);
    var$2[136] = $rt_s(48);
    var$2[137] = $rt_s(48);
    var$2[138] = $rt_s(48);
    var$2[139] = $rt_s(48);
    var$2[140] = $rt_s(48);
    var$2[141] = $rt_s(173);
    var$2[142] = $rt_s(48);
    var$2[143] = $rt_s(48);
    var$2[144] = $rt_s(174);
    var$2[145] = $rt_s(175);
    var$2[146] = $rt_s(176);
    var$2[147] = $rt_s(177);
    var$2[148] = $rt_s(178);
    var$2[149] = $rt_s(179);
    var$2[150] = $rt_s(180);
    var$2[151] = $rt_s(181);
    var$2[152] = $rt_s(48);
    var$2[153] = $rt_s(48);
    var$2[154] = $rt_s(48);
    var$2[155] = $rt_s(48);
    var$2[156] = $rt_s(182);
    var$2[157] = $rt_s(183);
    var$2[158] = $rt_s(48);
    var$2[159] = $rt_s(48);
    var$2[160] = $rt_s(48);
    var$2[161] = $rt_s(48);
    var$2[162] = $rt_s(48);
    var$2[163] = $rt_s(48);
    var$2[164] = $rt_s(48);
    var$2[165] = $rt_s(48);
    var$2[166] = $rt_s(48);
    var$2[167] = $rt_s(184);
    var$2[168] = $rt_s(48);
    var$2[169] = $rt_s(48);
    var$2[170] = $rt_s(48);
    var$2[171] = $rt_s(48);
    var$2[172] = $rt_s(48);
    var$2[173] = $rt_s(48);
    var$2[174] = $rt_s(48);
    var$2[175] = $rt_s(48);
    var$2[176] = $rt_s(48);
    var$2[177] = $rt_s(48);
    var$2[178] = $rt_s(48);
    var$2[179] = $rt_s(185);
    var$2[180] = $rt_s(48);
    var$2[181] = $rt_s(186);
    var$2[182] = $rt_s(48);
    var$2[183] = $rt_s(187);
    var$2[184] = $rt_s(188);
    var$2[185] = $rt_s(48);
    var$2[186] = $rt_s(48);
    var$2[187] = $rt_s(48);
    var$2[188] = $rt_s(48);
    var$2[189] = $rt_s(48);
    var$2[190] = $rt_s(48);
    var$2[191] = $rt_s(48);
    var$2[192] = $rt_s(48);
    var$2[193] = $rt_s(48);
    var$2[194] = $rt_s(48);
    var$2[195] = $rt_s(48);
    var$2[196] = $rt_s(189);
    var$2[197] = $rt_s(190);
    var$2[198] = $rt_s(48);
    var$2[199] = $rt_s(191);
    var$2[200] = $rt_s(192);
    var$2[201] = $rt_s(193);
    var$2[202] = $rt_s(48);
    var$2[203] = $rt_s(194);
    var$2[204] = $rt_s(48);
    var$2[205] = $rt_s(195);
    var$2[206] = $rt_s(48);
    var$2[207] = $rt_s(196);
    var$2[208] = $rt_s(197);
    var$2[209] = $rt_s(198);
    var$2[210] = $rt_s(199);
    var$2[211] = $rt_s(200);
    var$2[212] = $rt_s(48);
    var$2[213] = $rt_s(48);
    var$2[214] = $rt_s(48);
    var$2[215] = $rt_s(48);
    var$2[216] = $rt_s(48);
    var$2[217] = $rt_s(48);
    var$2[218] = $rt_s(201);
    var$2[219] = $rt_s(202);
    var$2[220] = $rt_s(203);
    var$2[221] = $rt_s(204);
    var$2[222] = $rt_s(205);
    var$2[223] = $rt_s(206);
    var$2[224] = $rt_s(48);
    var$2[225] = $rt_s(48);
    var$2[226] = $rt_s(48);
    var$2[227] = $rt_s(48);
    var$2[228] = $rt_s(48);
    var$2[229] = $rt_s(48);
    var$2[230] = $rt_s(48);
    var$2[231] = $rt_s(48);
    var$2[232] = $rt_s(48);
    var$2[233] = $rt_s(48);
    var$2[234] = $rt_s(48);
    var$2[235] = $rt_s(48);
    var$2[236] = $rt_s(48);
    var$2[237] = $rt_s(48);
    var$2[238] = $rt_s(48);
    var$2[239] = $rt_s(48);
    var$2[240] = $rt_s(48);
    var$2[241] = $rt_s(48);
    var$2[242] = $rt_s(48);
    var$2[243] = $rt_s(48);
    var$2[244] = $rt_s(48);
    var$2[245] = $rt_s(48);
    var$2[246] = $rt_s(48);
    var$2[247] = $rt_s(48);
    var$2[248] = $rt_s(48);
    var$2[249] = $rt_s(48);
    var$2[250] = $rt_s(48);
    var$2[251] = $rt_s(48);
    var$2[252] = $rt_s(48);
    var$2[253] = $rt_s(48);
    var$2[254] = $rt_s(48);
    var$2[255] = $rt_s(48);
    nlea_EaglerAdapterImpl2_LWJGLKeyNames = var$1;
    var$1 = $rt_createIntArray(224);
    var$2 = var$1.data;
    var$2[0] = (-1);
    var$2[1] = (-1);
    var$2[2] = (-1);
    var$2[3] = (-1);
    var$2[4] = (-1);
    var$2[5] = (-1);
    var$2[6] = (-1);
    var$2[7] = (-1);
    var$2[8] = 14;
    var$2[9] = 15;
    var$2[10] = (-1);
    var$2[11] = (-1);
    var$2[12] = (-1);
    var$2[13] = 28;
    var$2[14] = (-1);
    var$2[15] = (-1);
    var$2[16] = 42;
    var$2[17] = 29;
    var$2[18] = 56;
    var$2[19] = (-1);
    var$2[20] = (-1);
    var$2[21] = (-1);
    var$2[22] = (-1);
    var$2[23] = (-1);
    var$2[24] = (-1);
    var$2[25] = (-1);
    var$2[26] = (-1);
    var$2[27] = 1;
    var$2[28] = (-1);
    var$2[29] = (-1);
    var$2[30] = (-1);
    var$2[31] = (-1);
    var$2[32] = 57;
    var$2[33] = 210;
    var$2[34] = 201;
    var$2[35] = 207;
    var$2[36] = 199;
    var$2[37] = 203;
    var$2[38] = 200;
    var$2[39] = 205;
    var$2[40] = 208;
    var$2[41] = 205;
    var$2[42] = 208;
    var$2[43] = (-1);
    var$2[44] = (-1);
    var$2[45] = 210;
    var$2[46] = 211;
    var$2[47] = 211;
    var$2[48] = 11;
    var$2[49] = 2;
    var$2[50] = 3;
    var$2[51] = 4;
    var$2[52] = 5;
    var$2[53] = 6;
    var$2[54] = 7;
    var$2[55] = 8;
    var$2[56] = 9;
    var$2[57] = 10;
    var$2[58] = (-1);
    var$2[59] = (-1);
    var$2[60] = (-1);
    var$2[61] = (-1);
    var$2[62] = (-1);
    var$2[63] = (-1);
    var$2[64] = (-1);
    var$2[65] = 30;
    var$2[66] = 48;
    var$2[67] = 46;
    var$2[68] = 32;
    var$2[69] = 18;
    var$2[70] = 33;
    var$2[71] = 34;
    var$2[72] = 35;
    var$2[73] = 23;
    var$2[74] = 36;
    var$2[75] = 37;
    var$2[76] = 38;
    var$2[77] = 50;
    var$2[78] = 49;
    var$2[79] = 24;
    var$2[80] = 25;
    var$2[81] = 16;
    var$2[82] = 19;
    var$2[83] = 31;
    var$2[84] = 20;
    var$2[85] = 22;
    var$2[86] = 47;
    var$2[87] = 17;
    var$2[88] = 45;
    var$2[89] = 21;
    var$2[90] = 44;
    var$2[91] = (-1);
    var$2[92] = (-1);
    var$2[93] = (-1);
    var$2[94] = (-1);
    var$2[95] = (-1);
    var$2[96] = (-1);
    var$2[97] = (-1);
    var$2[98] = (-1);
    var$2[99] = (-1);
    var$2[100] = (-1);
    var$2[101] = (-1);
    var$2[102] = (-1);
    var$2[103] = (-1);
    var$2[104] = (-1);
    var$2[105] = (-1);
    var$2[106] = (-1);
    var$2[107] = (-1);
    var$2[108] = (-1);
    var$2[109] = 12;
    var$2[110] = 52;
    var$2[111] = 53;
    var$2[112] = (-1);
    var$2[113] = (-1);
    var$2[114] = (-1);
    var$2[115] = (-1);
    var$2[116] = (-1);
    var$2[117] = (-1);
    var$2[118] = (-1);
    var$2[119] = (-1);
    var$2[120] = (-1);
    var$2[121] = (-1);
    var$2[122] = (-1);
    var$2[123] = (-1);
    var$2[124] = (-1);
    var$2[125] = (-1);
    var$2[126] = (-1);
    var$2[127] = (-1);
    var$2[128] = (-1);
    var$2[129] = (-1);
    var$2[130] = (-1);
    var$2[131] = (-1);
    var$2[132] = (-1);
    var$2[133] = (-1);
    var$2[134] = (-1);
    var$2[135] = (-1);
    var$2[136] = (-1);
    var$2[137] = (-1);
    var$2[138] = (-1);
    var$2[139] = (-1);
    var$2[140] = (-1);
    var$2[141] = (-1);
    var$2[142] = (-1);
    var$2[143] = (-1);
    var$2[144] = (-1);
    var$2[145] = (-1);
    var$2[146] = (-1);
    var$2[147] = (-1);
    var$2[148] = (-1);
    var$2[149] = (-1);
    var$2[150] = (-1);
    var$2[151] = (-1);
    var$2[152] = (-1);
    var$2[153] = (-1);
    var$2[154] = (-1);
    var$2[155] = (-1);
    var$2[156] = (-1);
    var$2[157] = (-1);
    var$2[158] = (-1);
    var$2[159] = (-1);
    var$2[160] = (-1);
    var$2[161] = (-1);
    var$2[162] = (-1);
    var$2[163] = (-1);
    var$2[164] = (-1);
    var$2[165] = (-1);
    var$2[166] = (-1);
    var$2[167] = (-1);
    var$2[168] = (-1);
    var$2[169] = (-1);
    var$2[170] = (-1);
    var$2[171] = (-1);
    var$2[172] = (-1);
    var$2[173] = (-1);
    var$2[174] = (-1);
    var$2[175] = (-1);
    var$2[176] = (-1);
    var$2[177] = (-1);
    var$2[178] = (-1);
    var$2[179] = (-1);
    var$2[180] = (-1);
    var$2[181] = (-1);
    var$2[182] = (-1);
    var$2[183] = (-1);
    var$2[184] = (-1);
    var$2[185] = (-1);
    var$2[186] = 39;
    var$2[187] = 13;
    var$2[188] = 51;
    var$2[189] = 12;
    var$2[190] = 52;
    var$2[191] = 53;
    var$2[192] = (-1);
    var$2[193] = (-1);
    var$2[194] = (-1);
    var$2[195] = (-1);
    var$2[196] = (-1);
    var$2[197] = (-1);
    var$2[198] = (-1);
    var$2[199] = (-1);
    var$2[200] = (-1);
    var$2[201] = (-1);
    var$2[202] = (-1);
    var$2[203] = (-1);
    var$2[204] = (-1);
    var$2[205] = (-1);
    var$2[206] = (-1);
    var$2[207] = (-1);
    var$2[208] = (-1);
    var$2[209] = (-1);
    var$2[210] = (-1);
    var$2[211] = (-1);
    var$2[212] = (-1);
    var$2[213] = (-1);
    var$2[214] = (-1);
    var$2[215] = (-1);
    var$2[216] = (-1);
    var$2[217] = (-1);
    var$2[218] = (-1);
    var$2[219] = (-1);
    var$2[220] = 26;
    var$2[221] = 43;
    var$2[222] = 27;
    var$2[223] = 40;
    nlea_EaglerAdapterImpl2_LWJGLKeyCodes = var$1;
    nlea_EaglerAdapterImpl2_appendbufferindex = 0;
    nlea_EaglerAdapterImpl2_appendbuffer = new Int32Array(new ArrayBuffer(2100000));
    nlea_EaglerAdapterImpl2_unpressCTRL = 0;
    nlea_EaglerAdapterImpl2_serverToJoinOnLaunch = null;
}
function nlea_EaglerAdapterImpl2_setContextVar$js_body$_20(var$1) {
    window.currentContext = var$1;
}
function nlea_EaglerAdapterImpl2_hasBeenActive$js_body$_22() {
    if (window.navigator.userActivation) {
        return window.navigator.userActivation.hasBeenActive;
    } else {
        return false;
    }
}
function nlea_EaglerAdapterImpl2_getString$js_body$_24(var$1) {
    try {
        return "" + window.eval(var$1);
    } catch (e){
        return "<error>";
    }
}
function nlea_EaglerAdapterImpl2_youEagler$js_body$_32() {
    return { antialias : false, depth : true, powerPreference : "high-performance", desynchronized : false, preserveDrawingBuffer : false, premultipliedAlpha : false, alpha : false };
}
function nlea_EaglerAdapterImpl2_getDataURL$js_body$_125(var$1, var$2) {
    return URL.createObjectURL(new Blob([var$1], { type : var$2 }));
}
function nlea_EaglerAdapterImpl2_saveScreenshot$js_body$_204(var$1, var$2) {
    var a = document.createElement("a");
    a.href = var$2.toDataURL("image/png");
    a.download = var$1;
    a.click();
}
function nlea_EaglerAdapterImpl2_onBeforeCloseRegister$js_body$_221() {
    window.onbeforeunload = function() {
        nlea_EaglerAdapterImpl2_onWindowUnload$jsocb$_1();
        return false;
    };
}
function nlea_EaglerAdapterImpl2_onWindowUnload$jsocb$_1() {
    nlea_EaglerAdapterImpl2_$callClinit();
    nle_LocalStorageManager_saveStorageA();
    nle_LocalStorageManager_saveStorageG();
    nle_LocalStorageManager_saveStorageP();
}
function nlea_EaglerAdapterImpl2_getFileChooserResult0$js_body$_224() {
    var ret = window.eagsFileChooser.getFileChooserResult;
    window.eagsFileChooser.getFileChooserResult = null;
    return ret;
}
function nlea_EaglerAdapterImpl2_getFileChooserResultName$js_body$_225() {
    var ret = window.eagsFileChooser.getFileChooserResultName;
    window.eagsFileChooser.getFileChooserResultName = null;
    return ret;
}
function nlea_EaglerAdapterImpl2_getClipboard0$js_body$_259(var$1) {
    if (!window.navigator.clipboard) var$1(null); else (window.navigator.clipboard.readText()).then(function(s) {
        var$1(s);
    }, function(s) {
        var$1(null);
    });
}
function nlea_EaglerAdapterImpl2_setClipboard$js_body$_260(var$1) {
    if (window.navigator.clipboard) window.navigator.clipboard.writeText(var$1);
}
function nle_LocalStorageManager() {
    jl_Object.call(this);
}
var nle_LocalStorageManager_achievementStorage = null;
var nle_LocalStorageManager_gameSettingsStorage = null;
var nle_LocalStorageManager_profileSettingsStorage = null;
function nle_LocalStorageManager__init_0() {
    var var_0 = new nle_LocalStorageManager();
    nle_LocalStorageManager__init_(var_0);
    return var_0;
}
function nle_LocalStorageManager__init_($this) {
    return;
}
function nle_LocalStorageManager_loadStorage() {
    var $a, $g, $p, $$je;
    a: {
        $a = nlea_EaglerAdapterImpl2_loadLocalStorage($rt_s(207));
        $g = nlea_EaglerAdapterImpl2_loadLocalStorage($rt_s(208));
        $p = nlea_EaglerAdapterImpl2_loadLocalStorage($rt_s(209));
        if ($a !== null)
            try {
                nle_LocalStorageManager_achievementStorage = nms_CompressedStreamTools_readUncompressed($a);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
    }
    b: {
        if ($g !== null)
            try {
                nle_LocalStorageManager_gameSettingsStorage = nms_CompressedStreamTools_readUncompressed($g);
                break b;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
    }
    c: {
        if ($p !== null)
            try {
                nle_LocalStorageManager_profileSettingsStorage = nms_CompressedStreamTools_readUncompressed($p);
                break c;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
    }
    if (nle_LocalStorageManager_achievementStorage === null)
        nle_LocalStorageManager_achievementStorage = nms_NBTTagCompound__init_0();
    if (nle_LocalStorageManager_gameSettingsStorage === null)
        nle_LocalStorageManager_gameSettingsStorage = nms_NBTTagCompound__init_0();
    if (nle_LocalStorageManager_profileSettingsStorage === null)
        nle_LocalStorageManager_profileSettingsStorage = nms_NBTTagCompound__init_0();
}
function nle_LocalStorageManager_saveStorageA() {
    var $$je;
    a: {
        try {
            nlea_EaglerAdapterImpl2_saveLocalStorage($rt_s(207), nms_CompressedStreamTools_writeUncompressed(nle_LocalStorageManager_achievementStorage));
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
            } else {
                throw $$e;
            }
        }
    }
}
function nle_LocalStorageManager_saveStorageG() {
    var $$je;
    a: {
        try {
            nlea_EaglerAdapterImpl2_saveLocalStorage($rt_s(208), nms_CompressedStreamTools_writeUncompressed(nle_LocalStorageManager_gameSettingsStorage));
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
            } else {
                throw $$e;
            }
        }
    }
}
function nle_LocalStorageManager_saveStorageP() {
    var $$je;
    a: {
        try {
            nlea_EaglerAdapterImpl2_saveLocalStorage($rt_s(209), nms_CompressedStreamTools_writeUncompressed(nle_LocalStorageManager_profileSettingsStorage));
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
            } else {
                throw $$e;
            }
        }
    }
}
function nle_LocalStorageManager_dumpConfiguration() {
    var var$1, $$je;
    a: {
        try {
            var$1 = nle_Base64_encodeBase64String(nms_CompressedStreamTools_writeUncompressed(nle_LocalStorageManager_gameSettingsStorage));
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Throwable) {
                break a;
            } else {
                throw $$e;
            }
        }
        return var$1;
    }
    return $rt_s(210);
}
function nle_LocalStorageManager__clinit_() {
    nle_LocalStorageManager_achievementStorage = null;
    nle_LocalStorageManager_gameSettingsStorage = null;
    nle_LocalStorageManager_profileSettingsStorage = null;
}
function nms_ServerList() {
    var a = this; jl_Object.call(a);
    a.$mc = null;
    a.$servers = null;
    a.$allServers = null;
}
var nms_ServerList_forcedServers = null;
var nms_ServerList_motdLocks = null;
var nms_ServerList_hideDownDefaultServers = 0;
function nms_ServerList_loadDefaultServers($base64) {
    var $nbt, $cmp, $list, $i, $tag, $e, $$je;
    a: {
        try {
            $nbt = nms_CompressedStreamTools_readUncompressed(nle_Base64_decodeBase64($base64));
            nle_ConfigConstants_profanity = nms_NBTTagCompound_getBoolean($nbt, $rt_s(211));
            nms_ServerList_hideDownDefaultServers = nms_NBTTagCompound_getBoolean($nbt, $rt_s(212));
            nle_ConfigConstants_ayonullTitle = !nms_NBTTagCompound_hasKey($nbt, $rt_s(213)) ? null : nms_NBTTagCompound_getString($nbt, $rt_s(213));
            nle_ConfigConstants_ayonullLink = !nms_NBTTagCompound_hasKey($nbt, $rt_s(214)) ? null : nms_NBTTagCompound_getString($nbt, $rt_s(214));
            if (nms_NBTTagCompound_hasKey($nbt, $rt_s(215))) {
                $cmp = nms_NBTTagCompound_getCompoundTag($nbt, $rt_s(215));
                nle_ConfigConstants_mainMenuItem = !nms_NBTTagCompound_hasKey($cmp, $rt_s(216)) ? (-1) : nms_NBTTagCompound_getShort($cmp, $rt_s(216)) & 65535;
                if (nle_ConfigConstants_mainMenuItem > 0) {
                    nle_ConfigConstants_mainMenuItemLine0 = nms_NBTTagCompound_getStringOrNull($cmp, $rt_s(217));
                    nle_ConfigConstants_mainMenuItemLine1 = nms_NBTTagCompound_getStringOrNull($cmp, $rt_s(218));
                    nle_ConfigConstants_mainMenuItemLine2 = nms_NBTTagCompound_getStringOrNull($cmp, $rt_s(219));
                    nle_ConfigConstants_mainMenuItemLink = nms_NBTTagCompound_getStringOrNull($cmp, $rt_s(220));
                }
            }
            ju_ArrayList_clear(nms_ServerList_forcedServers);
            $list = nms_NBTTagCompound_getTagList($nbt, $rt_s(221));
            $i = 0;
            while ($i < nms_NBTTagList_tagCount($list)) {
                $tag = nms_NBTTagList_tagAt($list, $i);
                nms_NBTTagCompound_setBoolean($tag, $rt_s(222), 1);
                ju_ArrayList_add(nms_ServerList_forcedServers, nms_ServerData_getServerDataFromNBTCompound($tag));
                $i = $i + 1 | 0;
            }
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace($e);
    }
}
function nms_ServerList_loadServerList($this) {
    var $servers, $dat, $i;
    nms_ServerList_freeServerIcons($this);
    ju_ArrayList_clear($this.$servers);
    ju_ArrayList_clear($this.$allServers);
    $servers = ju_AbstractList_iterator(nms_ServerList_forcedServers);
    while (ju_AbstractList$1_hasNext($servers)) {
        $dat = ju_AbstractList$1_next($servers);
        $dat.$pingSentTime = Long_fromInt(-1);
        $dat.$hasPing = 0;
        ju_ArrayList_add($this.$servers, $dat);
        ju_ArrayList_add($this.$allServers, $dat);
    }
    $servers = nms_NBTTagCompound_getTagList(nle_LocalStorageManager_gameSettingsStorage, $rt_s(221));
    $i = 0;
    while ($i < nms_NBTTagList_tagCount($servers)) {
        $dat = nms_ServerData_getServerDataFromNBTCompound(nms_NBTTagList_tagAt($servers, $i));
        ju_ArrayList_add($this.$servers, $dat);
        ju_ArrayList_add($this.$allServers, $dat);
        $i = $i + 1 | 0;
    }
}
function nms_ServerList_saveServerList($this) {
    var $servers, $i;
    $servers = nms_NBTTagList__init_0();
    $i = nms_ServerList_forcedServers.$size;
    while ($i < $this.$allServers.$size) {
        nms_NBTTagList_appendTag($servers, nms_ServerData_getNBTCompound(ju_ArrayList_get($this.$allServers, $i)));
        $i = $i + 1 | 0;
    }
    nms_NBTTagCompound_setTag(nle_LocalStorageManager_gameSettingsStorage, $rt_s(221), $servers);
    nle_LocalStorageManager_saveStorageG();
}
function nms_ServerList_getServerData($this, $par1) {
    return ju_ArrayList_get($this.$servers, $par1);
}
function nms_ServerList_removeServerData($this, $par1) {
    var $dat;
    $dat = ju_ArrayList_remove($this.$servers, $par1);
    ju_ArrayList_remove0($this.$allServers, $dat);
    if ($dat !== null)
        nms_ServerData_freeIcon($dat);
}
function nms_ServerList_addServerData($this, $par1ServerData) {
    $par1ServerData.$pingSentTime = Long_fromInt(-1);
    $par1ServerData.$hasPing = 0;
    ju_ArrayList_add($this.$allServers, $par1ServerData);
    nms_ServerList_refreshServerPing($this);
}
function nms_ServerList_countServers($this) {
    return $this.$servers.$size;
}
function nms_ServerList_swapServers($this, $par1, $par2) {
    return;
}
function nms_ServerList_freeServerIcons($this) {
    var var$1, $dat;
    var$1 = ju_AbstractList_iterator($this.$allServers);
    while (ju_AbstractList$1_hasNext(var$1)) {
        $dat = ju_AbstractList$1_next(var$1);
        if ($dat.$currentQuery !== null && $dat.$currentQuery.$open)
            nlea_EaglerAdapterImpl2$ServerQueryImpl_close($dat.$currentQuery);
        if ($dat.$serverIconGL != (-1)) {
            nleg_EaglerAdapterGL30_glDeleteTextures($dat.$serverIconGL);
            $dat.$serverIconGL = (-1);
        }
        $dat.$serverIconDirty = 0;
        $dat.$serverIconEnabled = 0;
    }
}
function nms_ServerList_refreshServerPing($this) {
    var var$1, $dat;
    ju_ArrayList_clear($this.$servers);
    ju_AbstractCollection_addAll($this.$servers, $this.$allServers);
    var$1 = ju_AbstractList_iterator($this.$servers);
    while (ju_AbstractList$1_hasNext(var$1)) {
        $dat = ju_AbstractList$1_next(var$1);
        if ($dat.$currentQuery !== null && $dat.$currentQuery.$open)
            nlea_EaglerAdapterImpl2$ServerQueryImpl_close($dat.$currentQuery);
        $dat.$hasPing = 0;
        $dat.$pingSentTime = Long_fromInt(-1);
    }
}
function nms_ServerList_updateServerPing($this) {
    var $total, $itr, $dat, $addr, $pkt, $r, $i, var$8, var$9;
    $total = 0;
    $itr = ju_AbstractList_iterator($this.$servers);
    a: {
        while (true) {
            if (!ju_AbstractList$1_hasNext($itr))
                break a;
            $dat = ju_AbstractList$1_next($itr);
            if (Long_le($dat.$pingSentTime, Long_ZERO)) {
                $dat.$pingToServer = Long_fromInt(-2);
                $addr = $dat.$serverIP;
                if (!jl_String_startsWith0($addr, $rt_s(223)) && !jl_String_startsWith0($addr, $rt_s(224))) {
                    if (!nlea_EaglerAdapterImpl2_isSSLPage()) {
                        $pkt = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($pkt);
                        jl_AbstractStringBuilder_append($pkt, $rt_s(223));
                        jl_AbstractStringBuilder_append($pkt, $addr);
                        $addr = jl_AbstractStringBuilder_toString($pkt);
                    } else {
                        $pkt = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($pkt);
                        jl_AbstractStringBuilder_append($pkt, $rt_s(224));
                        jl_AbstractStringBuilder_append($pkt, $addr);
                        $addr = jl_AbstractStringBuilder_toString($pkt);
                    }
                }
                $dat.$pingSentTime = jl_System_currentTimeMillis();
                nlea_EaglerAdapterImpl2_$callClinit();
                $dat.$currentQuery = nlea_EaglerAdapterImpl2$ServerQueryImpl__init_($rt_s(225), $addr);
                if ($dat.$currentQuery !== null)
                    $total = $total + 1 | 0;
                else
                    $dat.$hasPing = 1;
            } else if ($dat.$currentQuery !== null) {
                if (!$dat.$hasPing)
                    $total = $total + 1 | 0;
                if (nlea_EaglerAdapterImpl2$ServerQueryImpl_responseAvailable($dat.$currentQuery) > 0) {
                    while (true) {
                        $pkt = nlea_EaglerAdapterImpl2$ServerQueryImpl_getResponse($dat.$currentQuery);
                        if (nlea_EaglerAdapterImpl2$ServerQueryImpl_responseAvailable($dat.$currentQuery) > 0)
                            continue;
                        else
                            break;
                    }
                    if ($pkt.$rateLimitStatus !== null) {
                        if ($pkt.$rateLimitStatus === nlea_EaglerAdapterImpl2$RateLimit_LOCKED)
                            nms_ServerData_setRateLimitError($dat, 1, $pkt.$rateLimitIsTCP);
                        else if ($pkt.$rateLimitStatus === nlea_EaglerAdapterImpl2$RateLimit_BLOCKED)
                            nms_ServerData_setRateLimitError($dat, 0, $pkt.$rateLimitIsTCP);
                        nlea_EaglerAdapterImpl2$ServerQueryImpl_close($dat.$currentQuery);
                        $dat.$pingToServer = Long_fromInt(-1);
                        $dat.$hasPing = 1;
                    } else if (jl_String_equalsIgnoreCase($pkt.$responseType, $rt_s(225)) && nle_ServerQuery$QueryResponse_isResponseJSON($pkt)) {
                        nms_ServerData_setMOTDFromQuery($dat, $pkt);
                        if (!$dat.$hasPing) {
                            $dat.$pingToServer = Long_sub($pkt.$clientTime, $dat.$pingSentTime);
                            $dat.$hasPing = 1;
                        }
                    }
                }
                if (nlea_EaglerAdapterImpl2$ServerQueryImpl_responseBinaryAvailable($dat.$currentQuery) > 0) {
                    while (true) {
                        $r = nlea_EaglerAdapterImpl2$ServerQueryImpl_getBinaryResponse($dat.$currentQuery);
                        if (nlea_EaglerAdapterImpl2$ServerQueryImpl_responseBinaryAvailable($dat.$currentQuery) > 0)
                            continue;
                        else
                            break;
                    }
                    $r = $r.data;
                    if ($r.length == 16384) {
                        if ($dat.$serverIcon === null)
                            $dat.$serverIcon = $rt_createIntArray(4096);
                        $i = 0;
                        while ($i < 4096) {
                            var$8 = $dat.$serverIcon.data;
                            var$9 = $i * 4 | 0;
                            var$8[$i] = ($r[var$9 + 3 | 0] & 255) << 24 | ($r[var$9] & 255) << 16 | ($r[var$9 + 1 | 0] & 255) << 8 | $r[var$9 + 2 | 0] & 255;
                            $i = $i + 1 | 0;
                        }
                        $dat.$serverIconDirty = 1;
                    }
                }
                if (!$dat.$currentQuery.$open && Long_gt($dat.$pingSentTime, Long_ZERO) && !$dat.$hasPing) {
                    $dat.$pingToServer = Long_fromInt(-1);
                    $dat.$hasPing = 1;
                }
                if (nms_ServerList_hideDownDefaultServers && $dat.$isDefault && Long_eq($dat.$pingToServer, Long_fromInt(-1)) && $dat.$hasPing == 1)
                    ju_AbstractList$1_remove($itr);
            }
            if ($total >= 4)
                break;
        }
    }
}
function nms_ServerList__clinit_() {
    nms_ServerList_forcedServers = ju_ArrayList__init_0();
    nms_ServerList_motdLocks = ju_HashSet__init_0();
    nms_ServerList_hideDownDefaultServers = 0;
}
function otci_IntegerUtil() {
    jl_Object.call(this);
}
function otci_IntegerUtil__init_0() {
    var var_0 = new otci_IntegerUtil();
    otci_IntegerUtil__init_(var_0);
    return var_0;
}
function otci_IntegerUtil__init_($this) {
    return;
}
function otci_IntegerUtil_toUnsignedLogRadixString($value, $radixLog2) {
    var $radix, $mask, $sz, $chars, var$7, $pos, $target, $target_0;
    if (!$value)
        return $rt_s(87);
    $radix = 1 << $radixLog2;
    $mask = $radix - 1 | 0;
    $sz = (((32 - jl_Integer_numberOfLeadingZeros($value) | 0) + $radixLog2 | 0) - 1 | 0) / $radixLog2 | 0;
    $chars = $rt_createCharArray($sz);
    var$7 = $chars.data;
    $pos = $rt_imul($sz - 1 | 0, $radixLog2);
    $target = 0;
    while ($pos >= 0) {
        $target_0 = $target + 1 | 0;
        var$7[$target] = jl_Character_forDigit($value >>> $pos & $mask, $radix);
        $pos = $pos - $radixLog2 | 0;
        $target = $target_0;
    }
    return jl_String__init_($chars);
}
function otjc_JSString() {
    jl_Object.call(this);
}
function otjde_EventListener() {
}
function nlea_EaglerAdapterImpl2$2() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$2__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$2();
    nlea_EaglerAdapterImpl2$2__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$2__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$2_handleEvent($this, $evt) {
    $evt.preventDefault();
    $evt.stopPropagation();
}
function nlea_EaglerAdapterImpl2$2_handleEvent0($this, var$1) {
    nlea_EaglerAdapterImpl2$2_handleEvent($this, var$1);
}
function nlea_EaglerAdapterImpl2$2_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$2_handleEvent0(var$0, var$1);
}
function nlea_EaglerAdapterImpl2$3() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$3__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$3();
    nlea_EaglerAdapterImpl2$3__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$3__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$3_handleEvent($this, $evt) {
    var $b, var$3;
    $b = $evt.button;
    var$3 = nlea_EaglerAdapterImpl2_access$100();
    if ($b == 1)
        $b = 2;
    else if ($b == 2)
        $b = 1;
    var$3.data[$b] = 1;
    ju_AbstractList_add(nlea_EaglerAdapterImpl2_access$200(), $evt);
    $evt.preventDefault();
    $evt.stopPropagation();
}
function nlea_EaglerAdapterImpl2$3_handleEvent0($this, var$1) {
    nlea_EaglerAdapterImpl2$3_handleEvent($this, var$1);
}
function nlea_EaglerAdapterImpl2$3_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$3_handleEvent0(var$0, var$1);
}
function nlea_EaglerAdapterImpl2$4() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$4__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$4();
    nlea_EaglerAdapterImpl2$4__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$4__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$4_handleEvent($this, $evt) {
    var $b, var$3;
    $b = $evt.button;
    var$3 = nlea_EaglerAdapterImpl2_access$100();
    if ($b == 1)
        $b = 2;
    else if ($b == 2)
        $b = 1;
    var$3.data[$b] = 0;
    ju_AbstractList_add(nlea_EaglerAdapterImpl2_access$200(), $evt);
    $evt.preventDefault();
    $evt.stopPropagation();
}
function nlea_EaglerAdapterImpl2$4_handleEvent0($this, var$1) {
    nlea_EaglerAdapterImpl2$4_handleEvent($this, var$1);
}
function nlea_EaglerAdapterImpl2$4_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$4_handleEvent0(var$0, var$1);
}
function nlea_EaglerAdapterImpl2$5() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$5__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$5();
    nlea_EaglerAdapterImpl2$5__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$5__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$5_handleEvent($this, $evt) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_mouseX = $evt.offsetX;
    nlea_EaglerAdapterImpl2_mouseY = nlea_EaglerAdapterImpl2_canvas.clientHeight - $evt.offsetY | 0;
    nlea_EaglerAdapterImpl2_mouseDX = nlea_EaglerAdapterImpl2_mouseDX + $evt.movementX;
    nlea_EaglerAdapterImpl2_mouseDY = nlea_EaglerAdapterImpl2_mouseDY +  -$evt.movementY;
    $evt.preventDefault();
    $evt.stopPropagation();
}
function nlea_EaglerAdapterImpl2$5_handleEvent0($this, var$1) {
    nlea_EaglerAdapterImpl2$5_handleEvent($this, var$1);
}
function nlea_EaglerAdapterImpl2$5_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$5_handleEvent0(var$0, var$1);
}
function nlea_EaglerAdapterImpl2$6() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$6__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$6();
    nlea_EaglerAdapterImpl2$6__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$6__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$6_handleEvent($this, $evt) {
    nlea_EaglerAdapterImpl2_access$900().data[nlea_EaglerAdapterImpl2_access$1100(nlea_EaglerAdapterImpl2_access$1000($evt))] = 1;
    ju_AbstractList_add(nlea_EaglerAdapterImpl2_access$1200(), $evt);
    $evt.preventDefault();
    $evt.stopPropagation();
}
function nlea_EaglerAdapterImpl2$6_handleEvent0($this, var$1) {
    nlea_EaglerAdapterImpl2$6_handleEvent($this, var$1);
}
function nlea_EaglerAdapterImpl2$6_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$6_handleEvent0(var$0, var$1);
}
function nlea_EaglerAdapterImpl2$7() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$7__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$7();
    nlea_EaglerAdapterImpl2$7__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$7__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$7_handleEvent($this, $evt) {
    nlea_EaglerAdapterImpl2_access$900().data[nlea_EaglerAdapterImpl2_access$1100(nlea_EaglerAdapterImpl2_access$1000($evt))] = 0;
    ju_AbstractList_add(nlea_EaglerAdapterImpl2_access$1200(), $evt);
    $evt.preventDefault();
    $evt.stopPropagation();
}
function nlea_EaglerAdapterImpl2$7_handleEvent0($this, var$1) {
    nlea_EaglerAdapterImpl2$7_handleEvent($this, var$1);
}
function nlea_EaglerAdapterImpl2$7_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$7_handleEvent0(var$0, var$1);
}
function nlea_EaglerAdapterImpl2$8() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$8__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$8();
    nlea_EaglerAdapterImpl2$8__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$8__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$8_handleEvent($this, $evt) {
    nlea_EaglerAdapterImpl2_$callClinit();
    if (nlea_EaglerAdapterImpl2_enableRepeatEvents && ($evt.repeat ? 1 : 0))
        ju_AbstractList_add(nlea_EaglerAdapterImpl2_access$1200(), $evt);
    $evt.preventDefault();
    $evt.stopPropagation();
}
function nlea_EaglerAdapterImpl2$8_handleEvent0($this, var$1) {
    nlea_EaglerAdapterImpl2$8_handleEvent($this, var$1);
}
function nlea_EaglerAdapterImpl2$8_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$8_handleEvent0(var$0, var$1);
}
function nlea_EaglerAdapterImpl2$9() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$9__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$9();
    nlea_EaglerAdapterImpl2$9__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$9__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$9_handleEvent($this, $evt) {
    ju_AbstractList_add(nlea_EaglerAdapterImpl2_access$200(), $evt);
    $evt.preventDefault();
    $evt.stopPropagation();
}
function nlea_EaglerAdapterImpl2$9_handleEvent0($this, var$1) {
    nlea_EaglerAdapterImpl2$9_handleEvent($this, var$1);
}
function nlea_EaglerAdapterImpl2$9_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$9_handleEvent0(var$0, var$1);
}
function nlea_EaglerAdapterImpl2$10() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$10__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$10();
    nlea_EaglerAdapterImpl2$10__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$10__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$10_handleEvent($this, $evt) {
    nlea_EaglerAdapterImpl2_access$1402(0);
}
function nlea_EaglerAdapterImpl2$10_handleEvent0($this, var$1) {
    nlea_EaglerAdapterImpl2$10_handleEvent($this, var$1);
}
function nlea_EaglerAdapterImpl2$10_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$10_handleEvent0(var$0, var$1);
}
function nlea_EaglerAdapterImpl2$11() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$11__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$11();
    nlea_EaglerAdapterImpl2$11__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$11__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$11_handleEvent($this, $evt) {
    nlea_EaglerAdapterImpl2_access$1402(1);
}
function nlea_EaglerAdapterImpl2$11_handleEvent0($this, var$1) {
    nlea_EaglerAdapterImpl2$11_handleEvent($this, var$1);
}
function nlea_EaglerAdapterImpl2$11_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$11_handleEvent0(var$0, var$1);
}
function nle_EarlyLoadScreen() {
    jl_Object.call(this);
}
var nle_EarlyLoadScreen_vbo = null;
var nle_EarlyLoadScreen_program = null;
function nle_EarlyLoadScreen__init_0() {
    var var_0 = new nle_EarlyLoadScreen();
    nle_EarlyLoadScreen__init_(var_0);
    return var_0;
}
function nle_EarlyLoadScreen__init_($this) {
    return;
}
function nle_EarlyLoadScreen_paintScreen() {
    var $tex, var$2, $img, $upload, $vert, $frag, var$7, $e, $width, $height, $x, $y, $vao, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$vao = $thread.pop();$y = $thread.pop();$x = $thread.pop();$height = $thread.pop();$width = $thread.pop();$e = $thread.pop();var$7 = $thread.pop();$frag = $thread.pop();$vert = $thread.pop();$upload = $thread.pop();$img = $thread.pop();var$2 = $thread.pop();$tex = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $tex = nlea_EaglerAdapterImpl2__wglGenTextures();
        nlea_EaglerAdapterImpl2__wglActiveTexture(33984);
        nlea_EaglerAdapterImpl2__wglBindTexture(3553, $tex);
        nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10240, 9728);
        nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10241, 9728);
        nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10242, 33071);
        nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10243, 33071);
        var$2 = nle_Base64_decodeBase64($rt_s(226));
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_loadPNG(var$2);
        if ($rt_suspending()) {
            break main;
        }
        $img = $tmp;
        $upload = nms_GLAllocation_createDirectIntBuffer(36864);
        jn_IntBuffer_put($upload, $img.$data);
        jn_IntBuffer_flip($upload);
        nlea_EaglerAdapterImpl2__wglTexImage2D0(3553, 0, 6408, 192, 192, 0, 6408, 5121, $upload);
        jn_IntBuffer_clear($upload);
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(0.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(0.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(0.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(1.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(1.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(0.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(1.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(0.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(0.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(1.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(1.0));
        jn_IntBufferImpl_put($upload, $rt_floatToIntBits(1.0));
        jn_IntBuffer_flip($upload);
        nle_EarlyLoadScreen_vbo = nlea_EaglerAdapterImpl2__wglCreateBuffer();
        nlea_EaglerAdapterImpl2__wglBindBuffer(34962, nle_EarlyLoadScreen_vbo);
        nlea_EaglerAdapterImpl2__wglBufferData0(34962, $upload, 35044);
        $vert = nlea_EaglerAdapterImpl2__wglCreateShader(35633);
        $img = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($img);
        jl_AbstractStringBuilder_append($img, nlea_EaglerAdapterImpl2__wgetShaderHeader());
        jl_AbstractStringBuilder_append($img, $rt_s(227));
        nlea_EaglerAdapterImpl2__wglShaderSource($vert, jl_AbstractStringBuilder_toString($img));
        nlea_EaglerAdapterImpl2__wglCompileShader($vert);
        $frag = nlea_EaglerAdapterImpl2__wglCreateShader(35632);
        $img = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($img);
        jl_AbstractStringBuilder_append($img, nlea_EaglerAdapterImpl2__wgetShaderHeader());
        jl_AbstractStringBuilder_append($img, $rt_s(228));
        nlea_EaglerAdapterImpl2__wglShaderSource($frag, jl_AbstractStringBuilder_toString($img));
        nlea_EaglerAdapterImpl2__wglCompileShader($frag);
        nle_EarlyLoadScreen_program = nlea_EaglerAdapterImpl2__wglCreateProgram();
        nlea_EaglerAdapterImpl2__wglAttachShader(nle_EarlyLoadScreen_program, $vert);
        nlea_EaglerAdapterImpl2__wglAttachShader(nle_EarlyLoadScreen_program, $frag);
        nlea_EaglerAdapterImpl2__wglBindAttributeLocation(nle_EarlyLoadScreen_program, 0, $rt_s(229));
        nlea_EaglerAdapterImpl2__wglLinkProgram(nle_EarlyLoadScreen_program);
        nlea_EaglerAdapterImpl2__wglDetachShader(nle_EarlyLoadScreen_program, $vert);
        nlea_EaglerAdapterImpl2__wglDetachShader(nle_EarlyLoadScreen_program, $frag);
        nlea_EaglerAdapterImpl2__wglDeleteShader($vert);
        nlea_EaglerAdapterImpl2__wglDeleteShader($frag);
        try {
            var$7 = Long_fromInt(50);
            $ptr = 2;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_InterruptedException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $e.$printStackTrace1();
        nlea_EaglerAdapterImpl2__wglUseProgram(nle_EarlyLoadScreen_program);
        nlea_EaglerAdapterImpl2__wglUniform1i(nlea_EaglerAdapterImpl2__wglGetUniformLocation(nle_EarlyLoadScreen_program, $rt_s(230)), 0);
        $width = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $height = nlea_EaglerAdapterImpl2_getCanvasHeight();
        if ($width <= $height) {
            $x = 1.0;
            $y = $height / $width;
        } else {
            $x = $width / $height;
            $y = 1.0;
        }
        nlea_EaglerAdapterImpl2__wglActiveTexture(33984);
        nlea_EaglerAdapterImpl2__wglBindTexture(3553, $tex);
        nlea_EaglerAdapterImpl2__wglViewport(0, 0, $width, $height);
        nlea_EaglerAdapterImpl2__wglClearColor(1.0, 1.0, 1.0, 1.0);
        nlea_EaglerAdapterImpl2__wglClear(16640);
        nlea_EaglerAdapterImpl2__wglUniform2f(nlea_EaglerAdapterImpl2__wglGetUniformLocation(nle_EarlyLoadScreen_program, $rt_s(231)), $x, $y);
        $vao = nlea_EaglerAdapterImpl2__wglCreateVertexArray();
        nlea_EaglerAdapterImpl2__wglBindVertexArray($vao);
        nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray(0);
        nlea_EaglerAdapterImpl2__wglVertexAttribPointer(0, 2, 5126, 0, 8, 0);
        nlea_EaglerAdapterImpl2__wglDrawArrays(4, 0, 6);
        nlea_EaglerAdapterImpl2__wglDisableVertexAttribArray(0);
        $ptr = 3;
        continue main;
    case 2:
        a: {
            try {
                jl_Thread_sleep(var$7);
                if ($rt_suspending()) {
                    break main;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $e.$printStackTrace1();
        }
        nlea_EaglerAdapterImpl2__wglUseProgram(nle_EarlyLoadScreen_program);
        nlea_EaglerAdapterImpl2__wglUniform1i(nlea_EaglerAdapterImpl2__wglGetUniformLocation(nle_EarlyLoadScreen_program, $rt_s(230)), 0);
        $width = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $height = nlea_EaglerAdapterImpl2_getCanvasHeight();
        if ($width <= $height) {
            $x = 1.0;
            $y = $height / $width;
        } else {
            $x = $width / $height;
            $y = 1.0;
        }
        nlea_EaglerAdapterImpl2__wglActiveTexture(33984);
        nlea_EaglerAdapterImpl2__wglBindTexture(3553, $tex);
        nlea_EaglerAdapterImpl2__wglViewport(0, 0, $width, $height);
        nlea_EaglerAdapterImpl2__wglClearColor(1.0, 1.0, 1.0, 1.0);
        nlea_EaglerAdapterImpl2__wglClear(16640);
        nlea_EaglerAdapterImpl2__wglUniform2f(nlea_EaglerAdapterImpl2__wglGetUniformLocation(nle_EarlyLoadScreen_program, $rt_s(231)), $x, $y);
        $vao = nlea_EaglerAdapterImpl2__wglCreateVertexArray();
        nlea_EaglerAdapterImpl2__wglBindVertexArray($vao);
        nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray(0);
        nlea_EaglerAdapterImpl2__wglVertexAttribPointer(0, 2, 5126, 0, 8, 0);
        nlea_EaglerAdapterImpl2__wglDrawArrays(4, 0, 6);
        nlea_EaglerAdapterImpl2__wglDisableVertexAttribArray(0);
        $ptr = 3;
    case 3:
        nlea_EaglerAdapterImpl2_updateDisplay();
        if ($rt_suspending()) {
            break main;
        }
        nlea_EaglerAdapterImpl2__wglUseProgram(null);
        nlea_EaglerAdapterImpl2__wglBindBuffer(34962, null);
        nlea_EaglerAdapterImpl2__wglBindTexture(3553, null);
        nlea_EaglerAdapterImpl2__wglDeleteTextures($tex);
        nlea_EaglerAdapterImpl2__wglDeleteVertexArray($vao);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($tex, var$2, $img, $upload, $vert, $frag, var$7, $e, $width, $height, $x, $y, $vao, $ptr);
}
function nle_EarlyLoadScreen_paintEnable() {
    var $tex, var$2, $img, $upload, var$5, $e, $width, $height, $x, $y, $vao, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$vao = $thread.pop();$y = $thread.pop();$x = $thread.pop();$height = $thread.pop();$width = $thread.pop();$e = $thread.pop();var$5 = $thread.pop();$upload = $thread.pop();$img = $thread.pop();var$2 = $thread.pop();$tex = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $tex = nlea_EaglerAdapterImpl2__wglGenTextures();
        nlea_EaglerAdapterImpl2__wglActiveTexture(33984);
        nlea_EaglerAdapterImpl2__wglBindTexture(3553, $tex);
        nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10240, 9728);
        nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10241, 9728);
        nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10242, 33071);
        nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10243, 33071);
        var$2 = nle_Base64_decodeBase64($rt_s(232));
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_loadPNG(var$2);
        if ($rt_suspending()) {
            break main;
        }
        $img = $tmp;
        $upload = nms_GLAllocation_createDirectIntBuffer(16384);
        jn_IntBuffer_put($upload, $img.$data);
        jn_IntBuffer_flip($upload);
        nlea_EaglerAdapterImpl2__wglTexImage2D0(3553, 0, 6408, 128, 128, 0, 6408, 5121, $upload);
        try {
            var$5 = Long_fromInt(50);
            $ptr = 2;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_InterruptedException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $e.$printStackTrace1();
        nlea_EaglerAdapterImpl2__wglUseProgram(nle_EarlyLoadScreen_program);
        $width = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $height = nlea_EaglerAdapterImpl2_getCanvasHeight();
        if ($width <= $height) {
            $x = 1.0;
            $y = $height / $width;
        } else {
            $x = $width / $height;
            $y = 1.0;
        }
        nlea_EaglerAdapterImpl2__wglActiveTexture(33984);
        nlea_EaglerAdapterImpl2__wglBindTexture(3553, $tex);
        nlea_EaglerAdapterImpl2__wglViewport(0, 0, $width, $height);
        nlea_EaglerAdapterImpl2__wglClearColor(1.0, 1.0, 1.0, 1.0);
        nlea_EaglerAdapterImpl2__wglClear(16640);
        nlea_EaglerAdapterImpl2__wglUniform2f(nlea_EaglerAdapterImpl2__wglGetUniformLocation(nle_EarlyLoadScreen_program, $rt_s(231)), $x, $y);
        $vao = nlea_EaglerAdapterImpl2__wglCreateVertexArray();
        nlea_EaglerAdapterImpl2__wglBindVertexArray($vao);
        nlea_EaglerAdapterImpl2__wglBindBuffer(34962, nle_EarlyLoadScreen_vbo);
        nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray(0);
        nlea_EaglerAdapterImpl2__wglVertexAttribPointer(0, 2, 5126, 0, 8, 0);
        nlea_EaglerAdapterImpl2__wglDrawArrays(4, 0, 6);
        nlea_EaglerAdapterImpl2__wglDisableVertexAttribArray(0);
        $ptr = 3;
        continue main;
    case 2:
        a: {
            try {
                jl_Thread_sleep(var$5);
                if ($rt_suspending()) {
                    break main;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $e.$printStackTrace1();
        }
        nlea_EaglerAdapterImpl2__wglUseProgram(nle_EarlyLoadScreen_program);
        $width = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $height = nlea_EaglerAdapterImpl2_getCanvasHeight();
        if ($width <= $height) {
            $x = 1.0;
            $y = $height / $width;
        } else {
            $x = $width / $height;
            $y = 1.0;
        }
        nlea_EaglerAdapterImpl2__wglActiveTexture(33984);
        nlea_EaglerAdapterImpl2__wglBindTexture(3553, $tex);
        nlea_EaglerAdapterImpl2__wglViewport(0, 0, $width, $height);
        nlea_EaglerAdapterImpl2__wglClearColor(1.0, 1.0, 1.0, 1.0);
        nlea_EaglerAdapterImpl2__wglClear(16640);
        nlea_EaglerAdapterImpl2__wglUniform2f(nlea_EaglerAdapterImpl2__wglGetUniformLocation(nle_EarlyLoadScreen_program, $rt_s(231)), $x, $y);
        $vao = nlea_EaglerAdapterImpl2__wglCreateVertexArray();
        nlea_EaglerAdapterImpl2__wglBindVertexArray($vao);
        nlea_EaglerAdapterImpl2__wglBindBuffer(34962, nle_EarlyLoadScreen_vbo);
        nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray(0);
        nlea_EaglerAdapterImpl2__wglVertexAttribPointer(0, 2, 5126, 0, 8, 0);
        nlea_EaglerAdapterImpl2__wglDrawArrays(4, 0, 6);
        nlea_EaglerAdapterImpl2__wglDisableVertexAttribArray(0);
        $ptr = 3;
    case 3:
        nlea_EaglerAdapterImpl2_updateDisplay();
        if ($rt_suspending()) {
            break main;
        }
        nlea_EaglerAdapterImpl2__wglUseProgram(null);
        nlea_EaglerAdapterImpl2__wglBindBuffer(34962, null);
        nlea_EaglerAdapterImpl2__wglBindTexture(3553, null);
        nlea_EaglerAdapterImpl2__wglDeleteTextures($tex);
        nlea_EaglerAdapterImpl2__wglDeleteVertexArray($vao);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($tex, var$2, $img, $upload, var$5, $e, $width, $height, $x, $y, $vao, $ptr);
}
function nle_EarlyLoadScreen__clinit_() {
    nle_EarlyLoadScreen_vbo = null;
    nle_EarlyLoadScreen_program = null;
}
function otjw_AudioContext() {
    jl_Object.call(this);
}
function otjw_AudioContext_create$js_body$_44() {
    var Context = window.AudioContext || window.webkitAudioContext;
    return new Context();
}
function otjb_TimerHandler() {
}
function nlea_EaglerAdapterImpl2$12() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$12__init_0() {
    var var_0 = new nlea_EaglerAdapterImpl2$12();
    nlea_EaglerAdapterImpl2$12__init_(var_0);
    return var_0;
}
function nlea_EaglerAdapterImpl2$12__init_($this) {
    return;
}
function nlea_EaglerAdapterImpl2$12_onTimer($this) {
    var $vids, $v, var$3;
    nlea_EaglerAdapterImpl2_$callClinit();
    $vids = ju_HashMap_values(nlea_EaglerAdapterImpl2_videosBuffer).$iterator();
    while ($vids.$hasNext()) {
        $v = $vids.$next();
        if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $v.$requestedTime), Long_fromInt($v.$ttl))) {
            var$3 = $v.$videoElement;
            $v = "";
            var$3.src = $v;
            $vids.$remove2();
        }
    }
}
function nlea_EaglerAdapterImpl2$12_onTimer$exported$0(var$0) {
    nlea_EaglerAdapterImpl2$12_onTimer(var$0);
}
function jl_Runnable() {
}
function jl_Thread() {
    var a = this; jl_Object.call(a);
    a.$id = Long_ZERO;
    a.$timeSliceStart = Long_ZERO;
    a.$finishedLock = null;
    a.$interruptHandler = null;
    a.$name3 = null;
    a.$alive = 0;
    a.$target = null;
}
var jl_Thread_mainThread = null;
var jl_Thread_currentThread0 = null;
var jl_Thread_nextId = Long_ZERO;
var jl_Thread_activeCount = 0;
function jl_Thread__init_0() {
    var var_0 = new jl_Thread();
    jl_Thread__init_(var_0);
    return var_0;
}
function jl_Thread__init_1(var_0, var_1) {
    var var_2 = new jl_Thread();
    jl_Thread__init_2(var_2, var_0, var_1);
    return var_2;
}
function jl_Thread__init_($this) {
    jl_Thread__init_2($this, null, null);
}
function jl_Thread__init_2($this, $target, $name) {
    var var$3;
    $this.$finishedLock = new jl_Object;
    $this.$alive = 1;
    $this.$name3 = $name;
    $this.$target = $target;
    var$3 = jl_Thread_nextId;
    jl_Thread_nextId = Long_add(var$3, Long_fromInt(1));
    $this.$id = var$3;
}
function jl_Thread_start($this) {
    var var$1;
    var$1 = new jl_Thread$start$lambda$_4_0;
    var$1.$_01 = $this;
    otp_Platform_startThread(var$1);
}
function jl_Thread_setCurrentThread($thread_0) {
    if (jl_Thread_currentThread0 !== $thread_0)
        jl_Thread_currentThread0 = $thread_0;
    jl_Thread_currentThread0.$timeSliceStart = jl_System_currentTimeMillis();
}
function jl_Thread_run($this) {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$target === null)
            return;
        var$1 = $this.$target;
        $ptr = 1;
    case 1:
        maa_GuiScreenModules$1_run(var$1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $ptr);
}
function jl_Thread_currentThread() {
    return jl_Thread_currentThread0;
}
function jl_Thread_sleep(var$1) {
    var thread = $rt_nativeThread();
    var javaThread = $rt_getThread();
    if (thread.isResuming()) {
        thread.status = 0;
        var result = thread.attribute;
        if (result instanceof Error) {
            throw result;
        }
        return result;
    }
    var callback = function() {};
    callback.$complete = function(val) {
        thread.attribute = val;
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback.$error = function(e) {
        thread.attribute = $rt_exception(e);
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback = otpp_AsyncCallbackWrapper_create(callback);
    return thread.suspend(function() {
        try {
            jl_Thread_sleep0(var$1, callback);
        } catch($e) {
            callback.$error($rt_exception($e));
        }
    });
}
function jl_Thread_sleep0($millis, $callback) {
    var $current, $handler;
    $current = jl_Thread_currentThread0;
    $handler = new jl_Thread$SleepHandler;
    $handler.$thread = $current;
    $handler.$callback = $callback;
    $handler.$scheduleId = otp_Platform_schedule($handler, Long_ge($millis, Long_fromInt(2147483647)) ? 2147483647 : $millis.lo);
    $current.$interruptHandler = $handler;
}
function jl_Thread__clinit_() {
    jl_Thread_mainThread = jl_Thread__init_1(null, $rt_s(233));
    jl_Thread_currentThread0 = jl_Thread_mainThread;
    jl_Thread_nextId = Long_fromInt(1);
    jl_Thread_activeCount = 1;
}
function jl_InterruptedException() {
    jl_Exception.call(this);
}
function jl_InterruptedException__init_0() {
    var var_0 = new jl_InterruptedException();
    jl_InterruptedException__init_(var_0);
    return var_0;
}
function jl_InterruptedException__init_($this) {
    jl_Throwable__init_0($this);
}
function nle_AssetRepository() {
    jl_Object.call(this);
}
var nle_AssetRepository_filePool = null;
function nle_AssetRepository__init_0() {
    var var_0 = new nle_AssetRepository();
    nle_AssetRepository__init_(var_0);
    return var_0;
}
function nle_AssetRepository__init_($this) {
    return;
}
function nle_AssetRepository_install($pkg) {
    var $in2, $in, $header, var$5, $dg, $path, $digest, $digest2, $len, $file;
    $in2 = ji_ByteArrayInputStream__init_($pkg);
    $in = ji_DataInputStream__init_($in2);
    $header = $rt_createByteArray(8);
    ji_DataInputStream_read($in, $header);
    if (!jl_String_equals($rt_s(234), jl_String__init_7($header, jnc_Charset_forName($rt_s(62))))) {
        $in2 = new ji_IOException;
        jl_Throwable__init_($in2, $rt_s(235));
        $rt_throw($in2);
    }
    ji_DataInputStream_readUTF($in);
    var$5 = ji_DataInputStream__init_(cjj_InflaterInputStream__init_($in2));
    $dg = nle_SHA1Digest__init_0();
    while (true) {
        $in = ji_DataInputStream_readUTF(var$5);
        if (!jl_String_equals($rt_s(236), $in)) {
            if (ji_FilterInputStream_available(var$5) <= 0 && jl_String_equals($rt_s(237), $in))
                return;
            $in2 = new ji_IOException;
            jl_Throwable__init_($in2, $rt_s(235));
            $rt_throw($in2);
        }
        $path = ji_DataInputStream_readUTF(var$5);
        $digest = $rt_createByteArray(20);
        $digest2 = $rt_createByteArray(20);
        ji_DataInputStream_read(var$5, $digest);
        $len = ji_DataInputStream_readInt(var$5);
        $file = $rt_createByteArray($len);
        ji_DataInputStream_read(var$5, $file);
        if (ju_HashMap_containsKey(nle_AssetRepository_filePool, $path))
            continue;
        nle_GeneralDigest_update($dg, $file, 0, $len);
        nle_SHA1Digest_doFinal($dg, $digest2, 0);
        if (!ju_Arrays_equals0($digest, $digest2)) {
            $in2 = new ji_IOException;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append(var$5, $rt_s(238));
            jl_AbstractStringBuilder_append(var$5, $path);
            jl_Throwable__init_($in2, jl_AbstractStringBuilder_toString(var$5));
            $rt_throw($in2);
        }
        ju_HashMap_putImpl(nle_AssetRepository_filePool, $path, $file);
        if (!jl_String_equals($rt_s(239), ji_DataInputStream_readUTF(var$5)))
            break;
    }
    $in2 = new ji_IOException;
    jl_Throwable__init_($in2, $rt_s(235));
    $rt_throw($in2);
}
function nle_AssetRepository__clinit_() {
    nle_AssetRepository_filePool = ju_HashMap__init_();
}
function ji_IOException() {
    jl_Exception.call(this);
}
function ji_IOException__init_0() {
    var var_0 = new ji_IOException();
    ji_IOException__init_(var_0);
    return var_0;
}
function ji_IOException__init_1(var_0, var_1) {
    var var_2 = new ji_IOException();
    ji_IOException__init_2(var_2, var_0, var_1);
    return var_2;
}
function ji_IOException__init_3(var_0) {
    var var_1 = new ji_IOException();
    ji_IOException__init_4(var_1, var_0);
    return var_1;
}
function ji_IOException__init_($this) {
    jl_Throwable__init_0($this);
}
function ji_IOException__init_2($this, $message, $cause) {
    jl_Throwable__init_4($this, $message, $cause);
}
function ji_IOException__init_4($this, $message) {
    jl_Throwable__init_($this, $message);
}
function nleg_EaglerAdapterGL30() {
    nlea_EaglerAdapterImpl2.call(this);
}
var nleg_EaglerAdapterGL30_glBlendEnabled = 0;
var nleg_EaglerAdapterGL30_isWebGL = 0;
var nleg_EaglerAdapterGL30_texObjects = null;
var nleg_EaglerAdapterGL30_enableTexture2D = 0;
var nleg_EaglerAdapterGL30_enableTexture2D_1 = 0;
var nleg_EaglerAdapterGL30_enableLighting = 0;
var nleg_EaglerAdapterGL30_enableAlphaTest = 0;
var nleg_EaglerAdapterGL30_alphaThresh = 0.0;
var nleg_EaglerAdapterGL30_isCompilingDisplayList = 0;
var nleg_EaglerAdapterGL30_compilingDisplayList = null;
var nleg_EaglerAdapterGL30_enableColorArray = 0;
var nleg_EaglerAdapterGL30_enableNormalArray = 0;
var nleg_EaglerAdapterGL30_enableTex0Array = 0;
var nleg_EaglerAdapterGL30_enableTex1Array = 0;
var nleg_EaglerAdapterGL30_enableAnisotropicFix = 0;
var nleg_EaglerAdapterGL30_anisotropicFixX = 0.0;
var nleg_EaglerAdapterGL30_anisotropicFixY = 0.0;
var nleg_EaglerAdapterGL30_colorR = 0.0;
var nleg_EaglerAdapterGL30_colorG = 0.0;
var nleg_EaglerAdapterGL30_colorB = 0.0;
var nleg_EaglerAdapterGL30_colorA = 0.0;
var nleg_EaglerAdapterGL30_normalX = 0.0;
var nleg_EaglerAdapterGL30_normalY = 0.0;
var nleg_EaglerAdapterGL30_normalZ = 0.0;
var nleg_EaglerAdapterGL30_selectedTex = 0;
var nleg_EaglerAdapterGL30_selectedClientTex = 0;
var nleg_EaglerAdapterGL30_tex0X = 0.0;
var nleg_EaglerAdapterGL30_tex0Y = 0.0;
var nleg_EaglerAdapterGL30_tex1X = 0.0;
var nleg_EaglerAdapterGL30_tex1Y = 0.0;
var nleg_EaglerAdapterGL30_boundTexture0 = null;
var nleg_EaglerAdapterGL30_enableAnisotropicPatch = 0;
var nleg_EaglerAdapterGL30_hintAnisotropicPatch = 0;
var nleg_EaglerAdapterGL30_swapRB = 0;
var nleg_EaglerAdapterGL30_enableTexGen = 0;
var nleg_EaglerAdapterGL30_enableColorMaterial = 0;
var nleg_EaglerAdapterGL30_texS_plane = 0;
var nleg_EaglerAdapterGL30_texS_X = 0.0;
var nleg_EaglerAdapterGL30_texS_Y = 0.0;
var nleg_EaglerAdapterGL30_texS_Z = 0.0;
var nleg_EaglerAdapterGL30_texS_W = 0.0;
var nleg_EaglerAdapterGL30_texT_plane = 0;
var nleg_EaglerAdapterGL30_texT_X = 0.0;
var nleg_EaglerAdapterGL30_texT_Y = 0.0;
var nleg_EaglerAdapterGL30_texT_Z = 0.0;
var nleg_EaglerAdapterGL30_texT_W = 0.0;
var nleg_EaglerAdapterGL30_texR_plane = 0;
var nleg_EaglerAdapterGL30_texR_X = 0.0;
var nleg_EaglerAdapterGL30_texR_Y = 0.0;
var nleg_EaglerAdapterGL30_texR_Z = 0.0;
var nleg_EaglerAdapterGL30_texR_W = 0.0;
var nleg_EaglerAdapterGL30_texQ_plane = 0;
var nleg_EaglerAdapterGL30_texQ_X = 0.0;
var nleg_EaglerAdapterGL30_texQ_Y = 0.0;
var nleg_EaglerAdapterGL30_texQ_Z = 0.0;
var nleg_EaglerAdapterGL30_texQ_W = 0.0;
var nleg_EaglerAdapterGL30_fogColorR = 0.0;
var nleg_EaglerAdapterGL30_fogColorG = 0.0;
var nleg_EaglerAdapterGL30_fogColorB = 0.0;
var nleg_EaglerAdapterGL30_fogColorA = 0.0;
var nleg_EaglerAdapterGL30_fogMode = 0;
var nleg_EaglerAdapterGL30_fogEnabled = 0;
var nleg_EaglerAdapterGL30_fogPremultiply = 0;
var nleg_EaglerAdapterGL30_fogStart = 0.0;
var nleg_EaglerAdapterGL30_fogEnd = 0.0;
var nleg_EaglerAdapterGL30_fogDensity = 0.0;
var nleg_EaglerAdapterGL30_bytesUploaded = 0;
var nleg_EaglerAdapterGL30_vertexDrawn = 0;
var nleg_EaglerAdapterGL30_triangleDrawn = 0;
var nleg_EaglerAdapterGL30_matrixMode = 0;
var nleg_EaglerAdapterGL30_matModelV = null;
var nleg_EaglerAdapterGL30_matModelPointer = 0;
var nleg_EaglerAdapterGL30_matProjV = null;
var nleg_EaglerAdapterGL30_matProjPointer = 0;
var nleg_EaglerAdapterGL30_matTexV = null;
var nleg_EaglerAdapterGL30_matTexPointer = 0;
var nleg_EaglerAdapterGL30_quadsToTrianglesBuffer = null;
var nleg_EaglerAdapterGL30_currentArray = null;
var nleg_EaglerAdapterGL30_displayLists = null;
var nleg_EaglerAdapterGL30_displayListsInitialized = null;
var nleg_EaglerAdapterGL30_deevis = null;
var nleg_EaglerAdapterGL30_lightPos0vec0 = null;
var nleg_EaglerAdapterGL30_lightPos1vec0 = null;
var nleg_EaglerAdapterGL30_lightPos0vec = null;
var nleg_EaglerAdapterGL30_lightPos1vec = null;
var nleg_EaglerAdapterGL30_displayListId = 0;
var nleg_EaglerAdapterGL30_shader = null;
var nleg_EaglerAdapterGL30_blankUploadArray = null;
var nleg_EaglerAdapterGL30_occlusion_vao = null;
var nleg_EaglerAdapterGL30_occlusion_vbo = null;
var nleg_EaglerAdapterGL30_occlusion_program = null;
var nleg_EaglerAdapterGL30_occlusion_matrix_m = null;
var nleg_EaglerAdapterGL30_occlusion_matrix_p = null;
var nleg_EaglerAdapterGL30_queryObjs = null;
var nleg_EaglerAdapterGL30_cachedOcclusionP = null;
var nleg_EaglerAdapterGL30_occlusionModel = null;
var nleg_EaglerAdapterGL30_occlusionProj = null;
var nleg_EaglerAdapterGL30_unprojA = null;
var nleg_EaglerAdapterGL30_unprojB = null;
var nleg_EaglerAdapterGL30_unprojC = null;
var nleg_EaglerAdapterGL30_lastBandwidthReset = Long_ZERO;
var nleg_EaglerAdapterGL30_lastBandwidth = 0;
function nleg_EaglerAdapterGL30_$callClinit() {
    nleg_EaglerAdapterGL30_$callClinit = $rt_eraseClinit(nleg_EaglerAdapterGL30);
    nleg_EaglerAdapterGL30__clinit_();
}
function nleg_EaglerAdapterGL30__init_0() {
    var var_0 = new nleg_EaglerAdapterGL30();
    nleg_EaglerAdapterGL30__init_(var_0);
    return var_0;
}
function nleg_EaglerAdapterGL30__init_($this) {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2__init_($this);
}
function nleg_EaglerAdapterGL30_anisotropicPatch($e) {
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_enableAnisotropicPatch = $e;
}
function nleg_EaglerAdapterGL30_getDisplayListCount() {
    nleg_EaglerAdapterGL30_$callClinit();
    return nleg_EaglerAdapterGL30_displayListsInitialized.$elementCount;
}
function nleg_EaglerAdapterGL30_glEnable($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        switch ($p1) {
            case -101:
                nleg_EaglerAdapterGL30_swapRB = 1;
                break a;
            case 2884:
                nlea_EaglerAdapterImpl2__wglEnable(2884);
                break a;
            case 2896:
                nleg_EaglerAdapterGL30_enableLighting = 1;
                break a;
            case 2903:
                nleg_EaglerAdapterGL30_enableColorMaterial = 1;
                break a;
            case 2912:
                nleg_EaglerAdapterGL30_fogEnabled = 1;
                break a;
            case 2929:
                nlea_EaglerAdapterImpl2__wglEnable(2929);
                break a;
            case 3008:
                nleg_EaglerAdapterGL30_enableAlphaTest = 1;
                break a;
            case 3042:
                nlea_EaglerAdapterImpl2__wglEnable(3042);
                nleg_EaglerAdapterGL30_glBlendEnabled = 1;
                break a;
            case 3168:
            case 3169:
            case 3170:
            case 3171:
                nleg_EaglerAdapterGL30_enableTexGen = 1;
                break a;
            case 3553:
                if (!nleg_EaglerAdapterGL30_selectedTex)
                    nleg_EaglerAdapterGL30_enableTexture2D = 1;
                if (nleg_EaglerAdapterGL30_selectedTex != 1)
                    break a;
                nleg_EaglerAdapterGL30_enableTexture2D_1 = 1;
                break a;
            case 32823:
                nlea_EaglerAdapterImpl2__wglEnable(32823);
                break a;
            case 32826:
                break;
            default:
                break a;
        }
    }
}
function nleg_EaglerAdapterGL30_glShadeModel($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
}
function nleg_EaglerAdapterGL30_glDepthFunc($p1) {
    var $f;
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        $f = 518;
        switch ($p1) {
            case 514:
                $f = 514;
                break a;
            case 515:
                $f = 518;
                break a;
            case 516:
                $f = 513;
                break a;
            default:
        }
    }
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.depthFunc($f);
}
function nleg_EaglerAdapterGL30_glAlphaFunc($p1, $p2) {
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_alphaThresh = $p2;
}
function nleg_EaglerAdapterGL30_glCullFace($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.cullFace($p1);
}
function nleg_EaglerAdapterGL30_glMatrixMode($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_matrixMode = $p1;
}
function nleg_EaglerAdapterGL30_getMatrix() {
    nleg_EaglerAdapterGL30_$callClinit();
    switch (nleg_EaglerAdapterGL30_matrixMode) {
        case 5888:
            break;
        case 5889:
            return nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer];
        case 5890:
            return nleg_EaglerAdapterGL30_matTexV.data[nleg_EaglerAdapterGL30_matTexPointer];
        default:
    }
    return nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer];
}
function nleg_EaglerAdapterGL30_glLoadIdentity() {
    nleg_EaglerAdapterGL30_$callClinit();
    nlegv_Matrix4f_setIdentity(nleg_EaglerAdapterGL30_getMatrix());
}
function nleg_EaglerAdapterGL30_glViewport($p1, $p2, $p3, $p4) {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2__wglViewport($p1, $p2, $p3, $p4);
}
function nleg_EaglerAdapterGL30_glClear($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2__wglClear($p1);
}
function nleg_EaglerAdapterGL30_glOrtho($left, $right, $bottom, $top, $zNear, $zFar) {
    var $res, var$8, var$9, var$10;
    nleg_EaglerAdapterGL30_$callClinit();
    $res = nleg_EaglerAdapterGL30_getMatrix();
    var$8 = $right - $left;
    $res.$m00 = 2.0 / var$8;
    $res.$m01 = 0.0;
    $res.$m02 = 0.0;
    $res.$m03 = 0.0;
    $res.$m10 = 0.0;
    var$9 = $top - $bottom;
    $res.$m11 = 2.0 / var$9;
    $res.$m12 = 0.0;
    $res.$m13 = 0.0;
    $res.$m20 = 0.0;
    $res.$m21 = 0.0;
    var$10 = $zFar - $zNear;
    $res.$m22 = 2.0 / var$10;
    $res.$m23 = 0.0;
    $res.$m30 =  -($right + $left) / var$8;
    $res.$m31 =  -($top + $bottom) / var$9;
    $res.$m32 = ($zFar + $zNear) / var$10;
    $res.$m33 = 1.0;
}
function nleg_EaglerAdapterGL30_glTranslatef($p1, $p2, $p3) {
    var var$4;
    nleg_EaglerAdapterGL30_$callClinit();
    nlegv_Vector3f_set(nleg_EaglerAdapterGL30_deevis, $p1, $p2, $p3);
    var$4 = nleg_EaglerAdapterGL30_getMatrix();
    nlegv_Matrix4f_translate(var$4, nleg_EaglerAdapterGL30_deevis, var$4);
    if (nleg_EaglerAdapterGL30_isCompilingDisplayList)
        ji_PrintStream_println(jl_System_err(), $rt_s(240));
}
function nleg_EaglerAdapterGL30_glClearColor($p1, $p2, $p3, $p4) {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2__wglClearColor($p1, $p2, $p3, $p4);
}
function nleg_EaglerAdapterGL30_glDisable($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        switch ($p1) {
            case -101:
                nleg_EaglerAdapterGL30_swapRB = 0;
                break a;
            case 2884:
                nlea_EaglerAdapterImpl2__wglDisable(2884);
                break a;
            case 2896:
                nleg_EaglerAdapterGL30_enableLighting = 0;
                break a;
            case 2903:
                nleg_EaglerAdapterGL30_enableColorMaterial = 0;
                break a;
            case 2912:
                nleg_EaglerAdapterGL30_fogEnabled = 0;
                break a;
            case 2929:
                nlea_EaglerAdapterImpl2__wglDisable(2929);
                break a;
            case 3008:
                nleg_EaglerAdapterGL30_enableAlphaTest = 0;
                break a;
            case 3042:
                nlea_EaglerAdapterImpl2__wglDisable(3042);
                nleg_EaglerAdapterGL30_glBlendEnabled = 0;
                break a;
            case 3168:
            case 3169:
            case 3170:
            case 3171:
                nleg_EaglerAdapterGL30_enableTexGen = 0;
                break a;
            case 3553:
                if (!nleg_EaglerAdapterGL30_selectedTex)
                    nleg_EaglerAdapterGL30_enableTexture2D = 0;
                if (nleg_EaglerAdapterGL30_selectedTex != 1)
                    break a;
                nleg_EaglerAdapterGL30_enableTexture2D_1 = 0;
                break a;
            case 32823:
                nlea_EaglerAdapterImpl2__wglDisable(32823);
                break a;
            case 32826:
                break;
            default:
                break a;
        }
    }
}
function nleg_EaglerAdapterGL30_glColor4f($p1, $p2, $p3, $p4) {
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_colorR = $p1;
    nleg_EaglerAdapterGL30_colorG = $p2;
    nleg_EaglerAdapterGL30_colorB = $p3;
    nleg_EaglerAdapterGL30_colorA = $p4;
}
function nleg_EaglerAdapterGL30_glFlush() {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2_$callClinit();
}
function nleg_EaglerAdapterGL30_glLineWidth($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
}
function nleg_EaglerAdapterGL30_flipLightMatrix() {
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_lightPos0vec.$x =  -nleg_EaglerAdapterGL30_lightPos0vec.$x;
    nleg_EaglerAdapterGL30_lightPos1vec.$x =  -nleg_EaglerAdapterGL30_lightPos1vec.$x;
    nleg_EaglerAdapterGL30_lightPos0vec.$y =  -nleg_EaglerAdapterGL30_lightPos0vec.$y;
    nleg_EaglerAdapterGL30_lightPos1vec.$y =  -nleg_EaglerAdapterGL30_lightPos1vec.$y;
    nleg_EaglerAdapterGL30_lightPos0vec.$z =  -nleg_EaglerAdapterGL30_lightPos0vec.$z;
    nleg_EaglerAdapterGL30_lightPos1vec.$z =  -nleg_EaglerAdapterGL30_lightPos1vec.$z;
}
function nleg_EaglerAdapterGL30_revertLightMatrix() {
    nleg_EaglerAdapterGL30_$callClinit();
    nlegv_Vector4f_set(nleg_EaglerAdapterGL30_lightPos0vec, nleg_EaglerAdapterGL30_lightPos0vec0);
    nlegv_Vector4f_set(nleg_EaglerAdapterGL30_lightPos1vec, nleg_EaglerAdapterGL30_lightPos1vec0);
}
function nleg_EaglerAdapterGL30_glPushMatrix() {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        switch (nleg_EaglerAdapterGL30_matrixMode) {
            case 5888:
                break;
            case 5889:
                if (nleg_EaglerAdapterGL30_matProjPointer >= (nleg_EaglerAdapterGL30_matProjV.data.length - 1 | 0)) {
                    ji_PrintStream_println(jl_System_err(), $rt_s(241));
                    break a;
                }
                nleg_EaglerAdapterGL30_matProjPointer = nleg_EaglerAdapterGL30_matProjPointer + 1 | 0;
                nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer], nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer - 1 | 0]);
                break a;
            case 5890:
                if (nleg_EaglerAdapterGL30_matTexPointer >= (nleg_EaglerAdapterGL30_matTexV.data.length - 1 | 0)) {
                    ji_PrintStream_println(jl_System_err(), $rt_s(242));
                    break a;
                }
                nleg_EaglerAdapterGL30_matTexPointer = nleg_EaglerAdapterGL30_matTexPointer + 1 | 0;
                nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matTexV.data[nleg_EaglerAdapterGL30_matTexPointer], nleg_EaglerAdapterGL30_matTexV.data[nleg_EaglerAdapterGL30_matTexPointer - 1 | 0]);
                break a;
            default:
        }
        if (nleg_EaglerAdapterGL30_matModelPointer >= (nleg_EaglerAdapterGL30_matModelV.data.length - 1 | 0))
            ji_PrintStream_println(jl_System_err(), $rt_s(243));
        else {
            nleg_EaglerAdapterGL30_matModelPointer = nleg_EaglerAdapterGL30_matModelPointer + 1 | 0;
            nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer], nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer - 1 | 0]);
        }
    }
}
function nleg_EaglerAdapterGL30_glRotatef($p1, $p2, $p3, $p4) {
    var var$5;
    nleg_EaglerAdapterGL30_$callClinit();
    nlegv_Vector3f_set(nleg_EaglerAdapterGL30_deevis, $p2, $p3, $p4);
    var$5 = nleg_EaglerAdapterGL30_getMatrix();
    nlegv_Matrix4f_rotate(var$5, $p1 * 0.01745329238474369, nleg_EaglerAdapterGL30_deevis, var$5);
    if (nleg_EaglerAdapterGL30_isCompilingDisplayList)
        ji_PrintStream_println(jl_System_err(), $rt_s(240));
}
function nleg_EaglerAdapterGL30_glPopMatrix() {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        switch (nleg_EaglerAdapterGL30_matrixMode) {
            case 5888:
                break;
            case 5889:
                if (nleg_EaglerAdapterGL30_matProjPointer <= 0) {
                    ji_PrintStream_println(jl_System_err(), $rt_s(244));
                    break a;
                }
                nleg_EaglerAdapterGL30_matProjPointer = nleg_EaglerAdapterGL30_matProjPointer - 1 | 0;
                break a;
            case 5890:
                if (nleg_EaglerAdapterGL30_matTexPointer <= 0) {
                    ji_PrintStream_println(jl_System_err(), $rt_s(245));
                    break a;
                }
                nleg_EaglerAdapterGL30_matTexPointer = nleg_EaglerAdapterGL30_matTexPointer - 1 | 0;
                break a;
            default:
        }
        if (nleg_EaglerAdapterGL30_matModelPointer <= 0)
            ji_PrintStream_println(jl_System_err(), $rt_s(246));
        else
            nleg_EaglerAdapterGL30_matModelPointer = nleg_EaglerAdapterGL30_matModelPointer - 1 | 0;
    }
}
function nleg_EaglerAdapterGL30_glGetFloat($p1, $p2) {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        switch ($p1) {
            case 2982:
                break;
            case 2983:
                nlegv_Matrix4f_store(nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer], $p2);
                break a;
            default:
        }
        nlegv_Matrix4f_store(nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer], $p2);
    }
}
function nleg_EaglerAdapterGL30_glScalef($p1, $p2, $p3) {
    nleg_EaglerAdapterGL30_$callClinit();
    nlegv_Vector3f_set(nleg_EaglerAdapterGL30_deevis, $p1, $p2, $p3);
    nlegv_Matrix4f_scale(nleg_EaglerAdapterGL30_getMatrix(), nleg_EaglerAdapterGL30_deevis);
    if (nleg_EaglerAdapterGL30_isCompilingDisplayList)
        ji_PrintStream_println(jl_System_err(), $rt_s(240));
}
function nleg_EaglerAdapterGL30_glBlendFunc($p1, $p2) {
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_fogPremultiply = $p1 == 1 && $p2 == 771 ? 1 : 0;
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.blendFunc($p1, $p2);
}
function nleg_EaglerAdapterGL30_glDepthMask($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2__wglDepthMask($p1);
}
function nleg_EaglerAdapterGL30_glColorMask($p1, $p2, $p3, $p4) {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.colorMask(!!$p1, !!$p2, !!$p3, !!$p4);
}
function nleg_EaglerAdapterGL30_updateAnisotropicPatch() {
    nleg_EaglerAdapterGL30_$callClinit();
    if (!nleg_EaglerAdapterGL30_selectedTex) {
        nleg_EaglerAdapterGL30_enableAnisotropicFix = 0;
        if (nleg_EaglerAdapterGL30_enableAnisotropicPatch && nleg_EaglerAdapterGL30_boundTexture0 !== null && nleg_EaglerAdapterGL30_boundTexture0.$anisotropic && nleg_EaglerAdapterGL30_boundTexture0.$nearest) {
            nleg_EaglerAdapterGL30_enableAnisotropicFix = 1;
            nleg_EaglerAdapterGL30_anisotropicFixX = nleg_EaglerAdapterGL30_boundTexture0.$w;
            nleg_EaglerAdapterGL30_anisotropicFixY = nleg_EaglerAdapterGL30_boundTexture0.$h;
        }
    }
}
function nleg_EaglerAdapterGL30_glBindTexture($p1, $p2) {
    var $t;
    nleg_EaglerAdapterGL30_$callClinit();
    $t = nleg_GLObjectMap_get(nleg_EaglerAdapterGL30_texObjects, $p2);
    nlea_EaglerAdapterImpl2__wglBindTexture(3553, $t);
    if (!nleg_EaglerAdapterGL30_selectedTex) {
        nleg_EaglerAdapterGL30_boundTexture0 = $t;
        nleg_EaglerAdapterGL30_updateAnisotropicPatch();
    }
}
function nleg_EaglerAdapterGL30_glTexParameteri($p1, $p2, $p3) {
    nleg_EaglerAdapterGL30_$callClinit();
    if (!nleg_EaglerAdapterGL30_selectedTex && nleg_EaglerAdapterGL30_boundTexture0 !== null && $p2 == 10240)
        nleg_EaglerAdapterGL30_boundTexture0.$nearest = $p3 != 9728 ? 0 : 1;
    nlea_EaglerAdapterImpl2__wglTexParameteri($p1, $p2, $p3);
    nleg_EaglerAdapterGL30_updateAnisotropicPatch();
}
function nleg_EaglerAdapterGL30_glTexParameterf($p1, $p2, $p3) {
    nleg_EaglerAdapterGL30_$callClinit();
    if (!nleg_EaglerAdapterGL30_selectedTex && nleg_EaglerAdapterGL30_boundTexture0 !== null && $p2 == (-103))
        nleg_EaglerAdapterGL30_boundTexture0.$anisotropic = $p3 <= 1.0 ? 0 : 1;
    if ($p2 == (-103))
        $p2 = 34046;
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.texParameterf($p1, $p2, $p3);
    nleg_EaglerAdapterGL30_updateAnisotropicPatch();
}
function nleg_EaglerAdapterGL30_glNormal3f($p1, $p2, $p3) {
    var $len;
    nleg_EaglerAdapterGL30_$callClinit();
    $len = jl_Math_sqrt($p1 * $p1 + $p2 * $p2 + $p3 * $p3);
    nleg_EaglerAdapterGL30_normalX = $p1 / $len;
    nleg_EaglerAdapterGL30_normalY = $p2 / $len;
    nleg_EaglerAdapterGL30_normalZ = $p3 / $len;
}
function nleg_EaglerAdapterGL30__wglBindVertexArray0($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_currentArray = $p1;
    nlea_EaglerAdapterImpl2__wglBindVertexArray($p1);
}
function nleg_EaglerAdapterGL30_glCallList($p1) {
    var $d, var$3, var$4;
    nleg_EaglerAdapterGL30_$callClinit();
    if (!nleg_EaglerAdapterGL30_isCompilingDisplayList) {
        $d = ju_HashMap_get(nleg_EaglerAdapterGL30_displayListsInitialized, jl_Integer_valueOf($p1));
        if ($d !== null && $d.$listLength > 0) {
            var$3 = $d.$shaderMode;
            $p1 = 0 | (!nleg_EaglerAdapterGL30_enableTexGen ? 0 : 16) | (nleg_EaglerAdapterGL30_enableColorMaterial && nleg_EaglerAdapterGL30_enableLighting ? 32 : 0) | (!nleg_EaglerAdapterGL30_fogEnabled ? 0 : 64) | (!nleg_EaglerAdapterGL30_enableAlphaTest ? 0 : 128) | (!nleg_EaglerAdapterGL30_enableTexture2D ? 0 : 256);
            var$4 = !nleg_EaglerAdapterGL30_enableTexture2D_1 ? 0 : 512;
            a: {
                b: {
                    $p1 = $p1 | var$4;
                    if (nleg_EaglerAdapterGL30_enableTexture2D) {
                        if (nleg_EaglerAdapterGL30_enableAnisotropicFix)
                            break b;
                        if (nleg_EaglerAdapterGL30_hintAnisotropicPatch && nleg_EaglerAdapterGL30_enableAnisotropicPatch)
                            break b;
                    }
                    var$4 = 0;
                    break a;
                }
                var$4 = 1024;
            }
            nleg_EaglerAdapterGL30_bindTheShader(var$3 | $p1 | var$4 | (!nleg_EaglerAdapterGL30_swapRB ? 0 : 2048));
            nleg_EaglerAdapterGL30__wglBindVertexArray0($d.$glarray);
            nleg_EaglerAdapterGL30__wglDrawQuadArrays(0, $d.$listLength);
            nleg_EaglerAdapterGL30_vertexDrawn = nleg_EaglerAdapterGL30_vertexDrawn + (($d.$listLength * 6 | 0) / 4 | 0) | 0;
            nleg_EaglerAdapterGL30_triangleDrawn = nleg_EaglerAdapterGL30_triangleDrawn + ($d.$listLength / 2 | 0) | 0;
        }
    }
}
function nleg_EaglerAdapterGL30_glNewList($p1, $p2) {
    nleg_EaglerAdapterGL30_$callClinit();
    if (!nleg_EaglerAdapterGL30_isCompilingDisplayList) {
        nleg_EaglerAdapterGL30_compilingDisplayList = ju_HashMap_get(nleg_EaglerAdapterGL30_displayLists, jl_Integer_valueOf($p1));
        if (nleg_EaglerAdapterGL30_compilingDisplayList !== null) {
            nleg_EaglerAdapterGL30_compilingDisplayList.$shaderMode = (-1);
            nleg_EaglerAdapterGL30_compilingDisplayList.$listLength = 0;
            nleg_EaglerAdapterGL30_isCompilingDisplayList = 1;
        }
    }
}
function nleg_EaglerAdapterGL30_glEndList() {
    var $f, var$2, var$3, $l;
    nleg_EaglerAdapterGL30_$callClinit();
    if (nleg_EaglerAdapterGL30_isCompilingDisplayList) {
        nleg_EaglerAdapterGL30_isCompilingDisplayList = 0;
        nlea_EaglerAdapterImpl2_$callClinit();
        $f = nlea_EaglerAdapterImpl2_appendbuffer.buffer;
        var$2 = nlea_EaglerAdapterImpl2_appendbufferindex;
        var$3 = new Int32Array($f, 0, var$2);
        nlea_EaglerAdapterImpl2_appendbufferindex = 0;
        $l = nlea_EaglerAdapterImpl2__wArrayByteLength(var$3);
        if ($l > 0) {
            if (nleg_EaglerAdapterGL30_compilingDisplayList.$glbuffer === null) {
                ju_HashMap_putImpl(nleg_EaglerAdapterGL30_displayListsInitialized, jl_Integer_valueOf(nleg_EaglerAdapterGL30_compilingDisplayList.$id0), nleg_EaglerAdapterGL30_compilingDisplayList);
                nleg_EaglerAdapterGL30_compilingDisplayList.$glarray = nlea_EaglerAdapterImpl2__wglCreateVertexArray();
                nleg_EaglerAdapterGL30_compilingDisplayList.$glbuffer = nlea_EaglerAdapterImpl2__wglCreateBuffer();
                $f = nleg_FixedFunctionShader_instance(nleg_EaglerAdapterGL30_compilingDisplayList.$shaderMode);
                nleg_EaglerAdapterGL30__wglBindVertexArray0(nleg_EaglerAdapterGL30_compilingDisplayList.$glarray);
                nlea_EaglerAdapterImpl2__wglBindBuffer(34962, nleg_EaglerAdapterGL30_compilingDisplayList.$glbuffer);
                nleg_FixedFunctionShader_setupArrayForProgram($f);
            }
            nlea_EaglerAdapterImpl2__wglBindBuffer(34962, nleg_EaglerAdapterGL30_compilingDisplayList.$glbuffer);
            nlea_EaglerAdapterImpl2__wglBufferData(34962, var$3, 35044);
            nleg_EaglerAdapterGL30_bytesUploaded = nleg_EaglerAdapterGL30_bytesUploaded + $l | 0;
        }
    }
}
function nleg_EaglerAdapterGL30_glColor3f($p1, $p2, $p3) {
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_colorR = $p1;
    nleg_EaglerAdapterGL30_colorG = $p2;
    nleg_EaglerAdapterGL30_colorB = $p3;
    nleg_EaglerAdapterGL30_colorA = 1.0;
}
function nleg_EaglerAdapterGL30_glTexGen($p1, $p2, $p3) {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        switch ($p1) {
            case 8192:
                break;
            case 8193:
                nleg_EaglerAdapterGL30_texT_plane = $p2 != 9474 ? 0 : 1;
                nleg_EaglerAdapterGL30_texT_X = jn_FloatBufferImpl_get($p3);
                nleg_EaglerAdapterGL30_texT_Y = jn_FloatBufferImpl_get($p3);
                nleg_EaglerAdapterGL30_texT_Z = jn_FloatBufferImpl_get($p3);
                nleg_EaglerAdapterGL30_texT_W = jn_FloatBufferImpl_get($p3);
                break a;
            case 8194:
                nleg_EaglerAdapterGL30_texR_plane = $p2 != 9474 ? 0 : 1;
                nleg_EaglerAdapterGL30_texR_X = jn_FloatBufferImpl_get($p3);
                nleg_EaglerAdapterGL30_texR_Y = jn_FloatBufferImpl_get($p3);
                nleg_EaglerAdapterGL30_texR_Z = jn_FloatBufferImpl_get($p3);
                nleg_EaglerAdapterGL30_texR_W = jn_FloatBufferImpl_get($p3);
                break a;
            case 8195:
                nleg_EaglerAdapterGL30_texQ_plane = $p2 != 9474 ? 0 : 1;
                nleg_EaglerAdapterGL30_texQ_X = jn_FloatBufferImpl_get($p3);
                nleg_EaglerAdapterGL30_texQ_Y = jn_FloatBufferImpl_get($p3);
                nleg_EaglerAdapterGL30_texQ_Z = jn_FloatBufferImpl_get($p3);
                nleg_EaglerAdapterGL30_texQ_W = jn_FloatBufferImpl_get($p3);
                break a;
            default:
                break a;
        }
        nleg_EaglerAdapterGL30_texS_plane = $p2 != 9474 ? 0 : 1;
        nleg_EaglerAdapterGL30_texS_X = jn_FloatBufferImpl_get($p3);
        nleg_EaglerAdapterGL30_texS_Y = jn_FloatBufferImpl_get($p3);
        nleg_EaglerAdapterGL30_texS_Z = jn_FloatBufferImpl_get($p3);
        nleg_EaglerAdapterGL30_texS_W = jn_FloatBufferImpl_get($p3);
    }
}
function nleg_EaglerAdapterGL30_glTexImage2D($p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8, $p9) {
    nleg_EaglerAdapterGL30_$callClinit();
    if (!$p2 && !nleg_EaglerAdapterGL30_selectedTex && nleg_EaglerAdapterGL30_boundTexture0 !== null) {
        nleg_EaglerAdapterGL30_boundTexture0.$w = $p4;
        nleg_EaglerAdapterGL30_boundTexture0.$h = $p5;
    }
    nleg_EaglerAdapterGL30_bytesUploaded = nleg_EaglerAdapterGL30_bytesUploaded + (jn_Buffer_remaining($p9) * 4 | 0) | 0;
    nlea_EaglerAdapterImpl2__wglTexImage2D0(3553, $p2, 32856, $p4, $p5, $p6, 6408, 5121, $p9);
    nleg_EaglerAdapterGL30_updateAnisotropicPatch();
}
function nleg_EaglerAdapterGL30_glTexSubImage2D($p1, $p2, $p3, $p4, $p5, $p6, $p7, $p8, $p9) {
    var var$10;
    nleg_EaglerAdapterGL30_$callClinit();
    switch ($p1) {
        case 3553:
            break;
        default:
    }
    nleg_EaglerAdapterGL30_bytesUploaded = nleg_EaglerAdapterGL30_bytesUploaded + (jn_Buffer_remaining($p9) * 4 | 0) | 0;
    nlea_EaglerAdapterImpl2_$callClinit();
    $p7 = jn_Buffer_remaining($p9);
    var$10 = new Int32Array(nlea_EaglerAdapterImpl2_uploadBuffer.buffer);
    $p1 = 0;
    while ($p1 < $p7) {
        $p8 = jn_IntBufferImpl_get($p9);
        var$10[$p1] = $p8;
        $p1 = $p1 + 1 | 0;
    }
    $p9 = nlea_EaglerAdapterImpl2_uploadBuffer.buffer;
    $p1 = $p7 * 4 | 0;
    var$10 = new Uint8Array($p9, 0, $p1);
    nlea_EaglerAdapterImpl2_webgl.texSubImage2D(3553, $p2, $p3, $p4, $p5, $p6, 6408, 5121, var$10);
}
function nleg_EaglerAdapterGL30_glDeleteTextures($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2__wglDeleteTextures(nleg_GLObjectMap_free(nleg_EaglerAdapterGL30_texObjects, $p1));
}
function nleg_EaglerAdapterGL30_glPolygonOffset($p1, $p2) {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.polygonOffset($p1, $p2);
}
function nleg_EaglerAdapterGL30_glEnableVertexAttrib($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        switch ($p1) {
            case 32885:
                break;
            case 32886:
                nleg_EaglerAdapterGL30_enableColorArray = 1;
                break a;
            case 32887:
                break a;
            case 32888:
                switch (nleg_EaglerAdapterGL30_selectedClientTex) {
                    case 0:
                        nleg_EaglerAdapterGL30_enableTex0Array = 1;
                        break a;
                    case 1:
                        nleg_EaglerAdapterGL30_enableTex1Array = 1;
                        break a;
                    default:
                }
                break a;
            default:
                break a;
        }
        nleg_EaglerAdapterGL30_enableNormalArray = 1;
    }
}
function nleg_EaglerAdapterGL30_glDisableVertexAttrib($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        switch ($p1) {
            case 32885:
                break;
            case 32886:
                nleg_EaglerAdapterGL30_enableColorArray = 0;
                break a;
            case 32887:
                break a;
            case 32888:
                switch (nleg_EaglerAdapterGL30_selectedClientTex) {
                    case 0:
                        nleg_EaglerAdapterGL30_enableTex0Array = 0;
                        break a;
                    case 1:
                        nleg_EaglerAdapterGL30_enableTex1Array = 0;
                        break a;
                    default:
                }
                break a;
            default:
                break a;
        }
        nleg_EaglerAdapterGL30_enableNormalArray = 0;
    }
}
function nleg_EaglerAdapterGL30_hintAnisotropicFix($hint) {
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_hintAnisotropicPatch = $hint;
}
function nleg_EaglerAdapterGL30_getShaderModeFlag0() {
    nleg_EaglerAdapterGL30_$callClinit();
    return 0 | (!nleg_EaglerAdapterGL30_enableColorArray ? 0 : 1) | (!nleg_EaglerAdapterGL30_enableNormalArray ? 0 : 2) | (!nleg_EaglerAdapterGL30_enableTex0Array ? 0 : 4) | (!nleg_EaglerAdapterGL30_enableTex1Array ? 0 : 8);
}
function nleg_EaglerAdapterGL30_getShaderModeFlag() {
    var $mode, var$2;
    nleg_EaglerAdapterGL30_$callClinit();
    $mode = 0 | (!nleg_EaglerAdapterGL30_enableColorArray ? 0 : 1) | (!nleg_EaglerAdapterGL30_enableNormalArray ? 0 : 2) | (!nleg_EaglerAdapterGL30_enableTex0Array ? 0 : 4) | (!nleg_EaglerAdapterGL30_enableTex1Array ? 0 : 8) | (!nleg_EaglerAdapterGL30_enableTexGen ? 0 : 16) | (nleg_EaglerAdapterGL30_enableColorMaterial && nleg_EaglerAdapterGL30_enableLighting ? 32 : 0) | (!nleg_EaglerAdapterGL30_fogEnabled ? 0 : 64) | (!nleg_EaglerAdapterGL30_enableAlphaTest ? 0 : 128) | (!nleg_EaglerAdapterGL30_enableTexture2D
    ? 0 : 256);
    var$2 = !nleg_EaglerAdapterGL30_enableTexture2D_1 ? 0 : 512;
    a: {
        b: {
            $mode = $mode | var$2;
            if (nleg_EaglerAdapterGL30_enableTexture2D) {
                if (nleg_EaglerAdapterGL30_enableAnisotropicFix)
                    break b;
                if (nleg_EaglerAdapterGL30_hintAnisotropicPatch && nleg_EaglerAdapterGL30_enableAnisotropicPatch)
                    break b;
            }
            var$2 = 0;
            break a;
        }
        var$2 = 1024;
    }
    return $mode | var$2 | (!nleg_EaglerAdapterGL30_swapRB ? 0 : 2048);
}
function nleg_EaglerAdapterGL30_bindTheShader($mode) {
    var $s;
    nleg_EaglerAdapterGL30_$callClinit();
    $s = nleg_FixedFunctionShader_instance($mode);
    nleg_EaglerAdapterGL30_shader = $s;
    nleg_FixedFunctionShader_useProgram($s);
    if (nleg_EaglerAdapterGL30_enableAlphaTest)
        nleg_FixedFunctionShader_setAlphaTest($s, nleg_EaglerAdapterGL30_alphaThresh);
    nleg_FixedFunctionShader_setColor($s, nleg_EaglerAdapterGL30_colorR, nleg_EaglerAdapterGL30_colorG, nleg_EaglerAdapterGL30_colorB, nleg_EaglerAdapterGL30_colorA);
    if (nleg_EaglerAdapterGL30_fogEnabled) {
        nleg_FixedFunctionShader_setFogMode($s, (!nleg_EaglerAdapterGL30_fogPremultiply ? 0 : 2) + nleg_EaglerAdapterGL30_fogMode | 0);
        nleg_FixedFunctionShader_setFogColor($s, nleg_EaglerAdapterGL30_fogColorR, nleg_EaglerAdapterGL30_fogColorG, nleg_EaglerAdapterGL30_fogColorB, nleg_EaglerAdapterGL30_fogColorA);
        nleg_FixedFunctionShader_setFogDensity($s, nleg_EaglerAdapterGL30_fogDensity);
        nleg_FixedFunctionShader_setFogStartEnd($s, nleg_EaglerAdapterGL30_fogStart, nleg_EaglerAdapterGL30_fogEnd);
    }
    nleg_FixedFunctionShader_setModelMatrix($s, nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer]);
    nleg_FixedFunctionShader_setProjectionMatrix($s, nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer]);
    nleg_FixedFunctionShader_setTextureMatrix($s, nleg_EaglerAdapterGL30_matTexV.data[nleg_EaglerAdapterGL30_matTexPointer]);
    if (nleg_EaglerAdapterGL30_enableColorMaterial && nleg_EaglerAdapterGL30_enableLighting) {
        nleg_FixedFunctionShader_setNormal($s, nleg_EaglerAdapterGL30_normalX, nleg_EaglerAdapterGL30_normalY, nleg_EaglerAdapterGL30_normalZ);
        nleg_FixedFunctionShader_setLightPositions($s, nleg_EaglerAdapterGL30_lightPos0vec, nleg_EaglerAdapterGL30_lightPos1vec);
    }
    nleg_FixedFunctionShader_setTex0Coords($s, nleg_EaglerAdapterGL30_tex0X, nleg_EaglerAdapterGL30_tex0Y);
    nleg_FixedFunctionShader_setTex1Coords($s, nleg_EaglerAdapterGL30_tex1X, nleg_EaglerAdapterGL30_tex1Y);
    if (nleg_EaglerAdapterGL30_enableTexGen) {
        nleg_FixedFunctionShader_setTexGenS($s, nleg_EaglerAdapterGL30_texS_plane, nleg_EaglerAdapterGL30_texS_X, nleg_EaglerAdapterGL30_texS_Y, nleg_EaglerAdapterGL30_texS_Z, nleg_EaglerAdapterGL30_texS_W);
        nleg_FixedFunctionShader_setTexGenT($s, nleg_EaglerAdapterGL30_texT_plane, nleg_EaglerAdapterGL30_texT_X, nleg_EaglerAdapterGL30_texT_Y, nleg_EaglerAdapterGL30_texT_Z, nleg_EaglerAdapterGL30_texT_W);
        nleg_FixedFunctionShader_setTexGenR($s, nleg_EaglerAdapterGL30_texR_plane, nleg_EaglerAdapterGL30_texR_X, nleg_EaglerAdapterGL30_texR_Y, nleg_EaglerAdapterGL30_texR_Z, nleg_EaglerAdapterGL30_texR_W);
        nleg_FixedFunctionShader_setTexGenQ($s, nleg_EaglerAdapterGL30_texQ_plane, nleg_EaglerAdapterGL30_texQ_X, nleg_EaglerAdapterGL30_texQ_Y, nleg_EaglerAdapterGL30_texQ_Z, nleg_EaglerAdapterGL30_texQ_W);
    }
    if (nleg_EaglerAdapterGL30_enableAnisotropicFix)
        nleg_FixedFunctionShader_setAnisotropicFix($s, nleg_EaglerAdapterGL30_anisotropicFixX, nleg_EaglerAdapterGL30_anisotropicFixY);
}
function nleg_EaglerAdapterGL30_glDrawArrays($p1, $p2, $p3, $buffer) {
    var var$5;
    nleg_EaglerAdapterGL30_$callClinit();
    if (nleg_EaglerAdapterGL30_isCompilingDisplayList) {
        if ($p1 != 7)
            ji_PrintStream_println(jl_System_err(), $rt_s(247));
        else {
            if (nleg_EaglerAdapterGL30_compilingDisplayList.$shaderMode == (-1))
                nleg_EaglerAdapterGL30_compilingDisplayList.$shaderMode = nleg_EaglerAdapterGL30_getShaderModeFlag0();
            else if (nleg_EaglerAdapterGL30_compilingDisplayList.$shaderMode != nleg_EaglerAdapterGL30_getShaderModeFlag0())
                ji_PrintStream_println(jl_System_err(), $rt_s(248));
            var$5 = nleg_EaglerAdapterGL30_compilingDisplayList;
            var$5.$listLength = var$5.$listLength + $p3 | 0;
            nlea_EaglerAdapterImpl2_$callClinit();
            $buffer = $buffer;
            if ((nlea_EaglerAdapterImpl2_appendbufferindex + $buffer.length | 0) < nlea_EaglerAdapterImpl2_appendbuffer.length) {
                var$5 = nlea_EaglerAdapterImpl2_appendbuffer;
                $p1 = nlea_EaglerAdapterImpl2_appendbufferindex;
                var$5.set($buffer, $p1);
                nlea_EaglerAdapterImpl2_appendbufferindex = nlea_EaglerAdapterImpl2_appendbufferindex + $buffer.length | 0;
            }
        }
    } else {
        nleg_EaglerAdapterGL30_bytesUploaded = nleg_EaglerAdapterGL30_bytesUploaded + nlea_EaglerAdapterImpl2__wArrayByteLength($buffer) | 0;
        nleg_EaglerAdapterGL30_vertexDrawn = nleg_EaglerAdapterGL30_vertexDrawn + $p3 | 0;
        nleg_EaglerAdapterGL30_bindTheShader(nleg_EaglerAdapterGL30_getShaderModeFlag());
        nleg_EaglerAdapterGL30__wglBindVertexArray0(nleg_EaglerAdapterGL30_shader.$genericArray);
        nlea_EaglerAdapterImpl2__wglBindBuffer(34962, nleg_EaglerAdapterGL30_shader.$genericBuffer);
        if (!nleg_EaglerAdapterGL30_shader.$bufferIsInitialized) {
            nleg_EaglerAdapterGL30_shader.$bufferIsInitialized = 1;
            nlea_EaglerAdapterImpl2__wglBufferData(34962, nleg_EaglerAdapterGL30_blankUploadArray, 35048);
        }
        var$5 = nlea_EaglerAdapterImpl2_webgl;
        $buffer = $buffer;
        var$5.bufferSubData(34962, 0, $buffer);
        if ($p1 == 7) {
            nleg_EaglerAdapterGL30__wglDrawQuadArrays($p2, $p3);
            nleg_EaglerAdapterGL30_triangleDrawn = nleg_EaglerAdapterGL30_triangleDrawn + ($p3 / 2 | 0) | 0;
        } else {
            a: {
                b: {
                    switch ($p1) {
                        case 1:
                            break;
                        case 2:
                        case 4:
                            break b;
                        case 3:
                            nleg_EaglerAdapterGL30_triangleDrawn = nleg_EaglerAdapterGL30_triangleDrawn + ($p3 - 1 | 0) | 0;
                            break a;
                        case 5:
                            nleg_EaglerAdapterGL30_triangleDrawn = nleg_EaglerAdapterGL30_triangleDrawn + ($p3 - 2 | 0) | 0;
                            break a;
                        case 6:
                            nleg_EaglerAdapterGL30_triangleDrawn = nleg_EaglerAdapterGL30_triangleDrawn + ($p3 - 2 | 0) | 0;
                            break a;
                        default:
                            break b;
                    }
                    nleg_EaglerAdapterGL30_triangleDrawn = nleg_EaglerAdapterGL30_triangleDrawn + ($p3 / 2 | 0) | 0;
                    break a;
                }
                nleg_EaglerAdapterGL30_triangleDrawn = nleg_EaglerAdapterGL30_triangleDrawn + ($p3 / 3 | 0) | 0;
            }
            nlea_EaglerAdapterImpl2__wglDrawArrays($p1, $p2, $p3);
        }
    }
}
function nleg_EaglerAdapterGL30__wglDrawQuadArrays($p2, $p3) {
    var $upload, $i, $v1, $v2, $v3, $v4, var$9;
    nleg_EaglerAdapterGL30_$callClinit();
    if (nleg_EaglerAdapterGL30_quadsToTrianglesBuffer === null) {
        if (nleg_EaglerAdapterGL30_isWebGL)
            $upload = jn_IntBuffer_wrap($rt_createIntArray(49200));
        else {
            $upload = jn_ByteBuffer_allocateDirect(196800);
            $upload.$order = jn_ByteOrder_BIG_ENDIAN;
            $upload = jn_ByteBufferImpl_asIntBuffer($upload);
        }
        $i = 0;
        while ($i < 16384) {
            $v1 = $i * 4 | 0;
            $v2 = $v1 + 1 | 0;
            $v3 = $v1 + 2 | 0;
            $v4 = $v1 + 3 | 0;
            var$9 = $v2 << 16;
            jn_IntBufferImpl_put($upload, $v1 | var$9);
            jn_IntBufferImpl_put($upload, $v4 | var$9);
            jn_IntBufferImpl_put($upload, $v3 | $v4 << 16);
            $i = $i + 1 | 0;
        }
        jn_IntBuffer_flip($upload);
        nleg_EaglerAdapterGL30_quadsToTrianglesBuffer = nlea_EaglerAdapterImpl2__wglCreateBuffer();
        nlea_EaglerAdapterImpl2__wglBindBuffer(34963, nleg_EaglerAdapterGL30_quadsToTrianglesBuffer);
        nlea_EaglerAdapterImpl2__wglBufferData0(34963, $upload, 35044);
    }
    if (!nleg_EaglerAdapterGL30_currentArray.$isQuadBufferBound) {
        nleg_EaglerAdapterGL30_currentArray.$isQuadBufferBound = 1;
        nlea_EaglerAdapterImpl2__wglBindBuffer(34963, nleg_EaglerAdapterGL30_quadsToTrianglesBuffer);
    }
    $v4 = ($p3 * 6 | 0) / 4 | 0;
    $p2 = ($p2 * 6 | 0) / 4 | 0;
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.drawElements(4, $v4, 5123, $p2);
}
function nleg_EaglerAdapterGL30_initializeOcclusionObjects() {
    var $upload, $verts, $i, $vert, $frag, $src;
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_occlusion_vao = nlea_EaglerAdapterImpl2__wglCreateVertexArray();
    nleg_EaglerAdapterGL30_occlusion_vbo = nlea_EaglerAdapterImpl2__wglCreateBuffer();
    $upload = nleg_EaglerAdapterGL30_isWebGL ? jn_IntBuffer_wrap($rt_createIntArray(108)) : jn_ByteBufferImpl_asIntBuffer(jn_ByteBuffer_order(jn_ByteBuffer_allocateDirect(432), jn_ByteOrder_nativeOrder()));
    $verts = $rt_createFloatArray(108).data;
    $verts[0] = 0.0;
    $verts[1] = 0.0;
    $verts[2] = 0.0;
    $verts[3] = 0.0;
    $verts[4] = 0.0;
    $verts[5] = 1.0;
    $verts[6] = 0.0;
    $verts[7] = 1.0;
    $verts[8] = 1.0;
    $verts[9] = 1.0;
    $verts[10] = 1.0;
    $verts[11] = 0.0;
    $verts[12] = 0.0;
    $verts[13] = 0.0;
    $verts[14] = 0.0;
    $verts[15] = 0.0;
    $verts[16] = 1.0;
    $verts[17] = 0.0;
    $verts[18] = 1.0;
    $verts[19] = 0.0;
    $verts[20] = 1.0;
    $verts[21] = 0.0;
    $verts[22] = 0.0;
    $verts[23] = 0.0;
    $verts[24] = 1.0;
    $verts[25] = 0.0;
    $verts[26] = 0.0;
    $verts[27] = 1.0;
    $verts[28] = 1.0;
    $verts[29] = 0.0;
    $verts[30] = 1.0;
    $verts[31] = 0.0;
    $verts[32] = 0.0;
    $verts[33] = 0.0;
    $verts[34] = 0.0;
    $verts[35] = 0.0;
    $verts[36] = 0.0;
    $verts[37] = 0.0;
    $verts[38] = 0.0;
    $verts[39] = 0.0;
    $verts[40] = 1.0;
    $verts[41] = 1.0;
    $verts[42] = 0.0;
    $verts[43] = 1.0;
    $verts[44] = 0.0;
    $verts[45] = 1.0;
    $verts[46] = 0.0;
    $verts[47] = 1.0;
    $verts[48] = 0.0;
    $verts[49] = 0.0;
    $verts[50] = 1.0;
    $verts[51] = 0.0;
    $verts[52] = 0.0;
    $verts[53] = 0.0;
    $verts[54] = 0.0;
    $verts[55] = 1.0;
    $verts[56] = 1.0;
    $verts[57] = 0.0;
    $verts[58] = 0.0;
    $verts[59] = 1.0;
    $verts[60] = 1.0;
    $verts[61] = 0.0;
    $verts[62] = 1.0;
    $verts[63] = 1.0;
    $verts[64] = 1.0;
    $verts[65] = 1.0;
    $verts[66] = 1.0;
    $verts[67] = 0.0;
    $verts[68] = 0.0;
    $verts[69] = 1.0;
    $verts[70] = 1.0;
    $verts[71] = 0.0;
    $verts[72] = 1.0;
    $verts[73] = 0.0;
    $verts[74] = 0.0;
    $verts[75] = 1.0;
    $verts[76] = 1.0;
    $verts[77] = 1.0;
    $verts[78] = 1.0;
    $verts[79] = 0.0;
    $verts[80] = 1.0;
    $verts[81] = 1.0;
    $verts[82] = 1.0;
    $verts[83] = 1.0;
    $verts[84] = 1.0;
    $verts[85] = 1.0;
    $verts[86] = 0.0;
    $verts[87] = 0.0;
    $verts[88] = 1.0;
    $verts[89] = 0.0;
    $verts[90] = 1.0;
    $verts[91] = 1.0;
    $verts[92] = 1.0;
    $verts[93] = 0.0;
    $verts[94] = 1.0;
    $verts[95] = 0.0;
    $verts[96] = 0.0;
    $verts[97] = 1.0;
    $verts[98] = 1.0;
    $verts[99] = 1.0;
    $verts[100] = 1.0;
    $verts[101] = 1.0;
    $verts[102] = 0.0;
    $verts[103] = 1.0;
    $verts[104] = 1.0;
    $verts[105] = 1.0;
    $verts[106] = 0.0;
    $verts[107] = 1.0;
    $i = 0;
    while ($i < $verts.length) {
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits($verts[$i]));
        $i = $i + 1 | 0;
    }
    jn_IntBuffer_flip($upload);
    nlea_EaglerAdapterImpl2__wglBindVertexArray(nleg_EaglerAdapterGL30_occlusion_vao);
    nlea_EaglerAdapterImpl2__wglBindBuffer(34962, nleg_EaglerAdapterGL30_occlusion_vbo);
    nlea_EaglerAdapterImpl2__wglBufferData0(34962, $upload, 35044);
    nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray(0);
    nlea_EaglerAdapterImpl2__wglVertexAttribPointer(0, 3, 5126, 0, 12, 0);
    $vert = nlea_EaglerAdapterImpl2__wglCreateShader(35633);
    $frag = nlea_EaglerAdapterImpl2__wglCreateShader(35632);
    $src = nlea_EaglerAdapterImpl2_fileContents($rt_s(249));
    nlea_EaglerAdapterImpl2__wglShaderSource($vert, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), nlea_EaglerAdapterImpl2__wgetShaderHeader()), $rt_s(250)), $src)));
    nlea_EaglerAdapterImpl2__wglShaderSource($frag, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), nlea_EaglerAdapterImpl2__wgetShaderHeader()), $rt_s(251)), $src)));
    nlea_EaglerAdapterImpl2__wglCompileShader($vert);
    if (!nlea_EaglerAdapterImpl2__wglGetShaderCompiled($vert))
        ji_PrintStream_println(jl_System_err(), jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), jl_String_replace0(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(64)), nlea_EaglerAdapterImpl2__wglGetShaderInfoLog($vert))), $rt_s(64), $rt_s(252))), $rt_s(64))));
    nlea_EaglerAdapterImpl2__wglCompileShader($frag);
    if (!nlea_EaglerAdapterImpl2__wglGetShaderCompiled($frag))
        ji_PrintStream_println(jl_System_err(), jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), jl_String_replace0(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(64)), nlea_EaglerAdapterImpl2__wglGetShaderInfoLog($frag))), $rt_s(64), $rt_s(253))), $rt_s(64))));
    nleg_EaglerAdapterGL30_occlusion_program = nlea_EaglerAdapterImpl2__wglCreateProgram();
    nlea_EaglerAdapterImpl2__wglAttachShader(nleg_EaglerAdapterGL30_occlusion_program, $vert);
    nlea_EaglerAdapterImpl2__wglAttachShader(nleg_EaglerAdapterGL30_occlusion_program, $frag);
    nlea_EaglerAdapterImpl2__wglLinkProgram(nleg_EaglerAdapterGL30_occlusion_program);
    nlea_EaglerAdapterImpl2__wglDetachShader(nleg_EaglerAdapterGL30_occlusion_program, $vert);
    nlea_EaglerAdapterImpl2__wglDetachShader(nleg_EaglerAdapterGL30_occlusion_program, $frag);
    nlea_EaglerAdapterImpl2__wglDeleteShader($vert);
    nlea_EaglerAdapterImpl2__wglDeleteShader($frag);
    if (!nlea_EaglerAdapterImpl2__wglGetProgramLinked(nleg_EaglerAdapterGL30_occlusion_program))
        ji_PrintStream_println(jl_System_err(), jl_String_replace0(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(254)), nlea_EaglerAdapterImpl2__wglGetProgramInfoLog(nleg_EaglerAdapterGL30_occlusion_program))), $rt_s(64), $rt_s(255)));
    nlea_EaglerAdapterImpl2__wglUseProgram(nleg_EaglerAdapterGL30_occlusion_program);
    nleg_EaglerAdapterGL30_occlusion_matrix_m = nlea_EaglerAdapterImpl2__wglGetUniformLocation(nleg_EaglerAdapterGL30_occlusion_program, $rt_s(256));
    nleg_EaglerAdapterGL30_occlusion_matrix_p = nlea_EaglerAdapterImpl2__wglGetUniformLocation(nleg_EaglerAdapterGL30_occlusion_program, $rt_s(257));
}
function nleg_EaglerAdapterGL30_glCreateQuery() {
    var var$1, var$2;
    nleg_EaglerAdapterGL30_$callClinit();
    var$1 = nleg_EaglerAdapterGL30_queryObjs;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$2 = new nlea_EaglerAdapterImpl2$QueryGL;
    var$2.$obj5 = nlea_EaglerAdapterImpl2_webgl.createQuery();
    return nleg_GLObjectMap_register(var$1, var$2);
}
function nleg_EaglerAdapterGL30_glBeginQuery($obj) {
    var var$2, var$3;
    nleg_EaglerAdapterGL30_$callClinit();
    var$2 = nleg_GLObjectMap_get(nleg_EaglerAdapterGL30_queryObjs, $obj);
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3 = nlea_EaglerAdapterImpl2_webgl;
    var$2 = var$2.$obj5;
    var$3.beginQuery(36202, var$2);
}
function nleg_EaglerAdapterGL30_glBindOcclusionBB() {
    nleg_EaglerAdapterGL30_$callClinit();
    if (nleg_EaglerAdapterGL30_occlusion_vao === null)
        nleg_EaglerAdapterGL30_initializeOcclusionObjects();
    nlea_EaglerAdapterImpl2__wglUseProgram(nleg_EaglerAdapterGL30_occlusion_program);
    nlea_EaglerAdapterImpl2__wglBindVertexArray(nleg_EaglerAdapterGL30_occlusion_vao);
    if (!nlegv_Matrix4f_equals(nleg_EaglerAdapterGL30_cachedOcclusionP, nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer])) {
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_cachedOcclusionP, nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer]);
        nlegv_Matrix4f_store0(nleg_EaglerAdapterGL30_cachedOcclusionP, nleg_EaglerAdapterGL30_occlusionProj);
        nlea_EaglerAdapterImpl2__wglUniformMat4fv(nleg_EaglerAdapterGL30_occlusion_matrix_p, nleg_EaglerAdapterGL30_occlusionProj);
    }
}
function nleg_EaglerAdapterGL30_glEndOcclusionBB() {
    nleg_EaglerAdapterGL30_$callClinit();
}
function nleg_EaglerAdapterGL30_glDrawOcclusionBB($posX, $posY, $posZ, $sizeX, $sizeY, $sizeZ) {
    nleg_EaglerAdapterGL30_$callClinit();
    nleg_EaglerAdapterGL30_glPushMatrix();
    nleg_EaglerAdapterGL30_glTranslatef($posX - $sizeX * 0.009999999776482582, $posY - $sizeY * 0.009999999776482582, $posZ - $sizeZ * 0.009999999776482582);
    nleg_EaglerAdapterGL30_glScalef($sizeX * 1.0199999809265137, $sizeY * 1.0199999809265137, $sizeZ * 1.0199999809265137);
    nlegv_Matrix4f_store0(nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer], nleg_EaglerAdapterGL30_occlusionModel);
    nlea_EaglerAdapterImpl2__wglUniformMat4fv(nleg_EaglerAdapterGL30_occlusion_matrix_m, nleg_EaglerAdapterGL30_occlusionModel);
    nlea_EaglerAdapterImpl2__wglDrawArrays(4, 0, 36);
    nleg_EaglerAdapterGL30_glPopMatrix();
}
function nleg_EaglerAdapterGL30_glEndQuery() {
    nleg_EaglerAdapterGL30_$callClinit();
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_webgl.endQuery(36202);
}
function nleg_EaglerAdapterGL30_glGetQueryResult($obj) {
    nleg_EaglerAdapterGL30_$callClinit();
    return nlea_EaglerAdapterImpl2__wglGetQueryObjecti(nleg_GLObjectMap_get(nleg_EaglerAdapterGL30_queryObjs, $obj), 34918) <= 0 ? 0 : 1;
}
function nleg_EaglerAdapterGL30_glGetQueryResultAvailable($obj) {
    nleg_EaglerAdapterGL30_$callClinit();
    return nlea_EaglerAdapterImpl2__wglGetQueryObjecti(nleg_GLObjectMap_get(nleg_EaglerAdapterGL30_queryObjs, $obj), 34919) < 0 ? 0 : 1;
}
function nleg_EaglerAdapterGL30_glGenTextures() {
    nleg_EaglerAdapterGL30_$callClinit();
    return nleg_GLObjectMap_register(nleg_EaglerAdapterGL30_texObjects, nlea_EaglerAdapterImpl2__wglGenTextures());
}
function nleg_EaglerAdapterGL30_glFogi($p1, $p2) {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        if ($p1 == 2917) {
            b: {
                switch ($p2) {
                    case 2048:
                        break;
                    case 9729:
                        break b;
                    default:
                        break b;
                }
                nleg_EaglerAdapterGL30_fogMode = 2;
                break a;
            }
            nleg_EaglerAdapterGL30_fogMode = 1;
        }
    }
}
function nleg_EaglerAdapterGL30_glFogf($p1, $p2) {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        switch ($p1) {
            case 2914:
                break;
            case 2915:
                nleg_EaglerAdapterGL30_fogStart = $p2;
                break a;
            case 2916:
                nleg_EaglerAdapterGL30_fogEnd = $p2;
                break a;
            default:
                break a;
        }
        nleg_EaglerAdapterGL30_fogDensity = $p2;
    }
}
function nleg_EaglerAdapterGL30_glFog($p1, $p2) {
    nleg_EaglerAdapterGL30_$callClinit();
    if ($p1 == 2918) {
        nleg_EaglerAdapterGL30_fogColorR = jn_FloatBufferImpl_get($p2);
        nleg_EaglerAdapterGL30_fogColorG = jn_FloatBufferImpl_get($p2);
        nleg_EaglerAdapterGL30_fogColorB = jn_FloatBufferImpl_get($p2);
        nleg_EaglerAdapterGL30_fogColorA = jn_FloatBufferImpl_get($p2);
    }
}
function nleg_EaglerAdapterGL30_glClientActiveTexture($p1) {
    nleg_EaglerAdapterGL30_$callClinit();
    a: {
        switch ($p1) {
            case 33984:
                break;
            case 33985:
                nleg_EaglerAdapterGL30_selectedClientTex = 1;
                break a;
            default:
                ji_PrintStream_println(jl_System_err(), $rt_s(258));
                break a;
        }
        nleg_EaglerAdapterGL30_selectedClientTex = 0;
    }
}
function nleg_EaglerAdapterGL30_gluPerspective($fovy, $aspect, $zNear, $zFar) {
    var $res, var$6, $cotangent;
    nleg_EaglerAdapterGL30_$callClinit();
    $res = nleg_EaglerAdapterGL30_getMatrix();
    var$6 = $fovy * 0.01745329238474369 * 0.5;
    $cotangent = jl_Math_cos(var$6) / jl_Math_sin(var$6);
    $res.$m00 = $cotangent / $aspect;
    $res.$m01 = 0.0;
    $res.$m02 = 0.0;
    $res.$m03 = 0.0;
    $res.$m10 = 0.0;
    $res.$m11 = $cotangent;
    $res.$m12 = 0.0;
    $res.$m13 = 0.0;
    $res.$m20 = 0.0;
    $res.$m21 = 0.0;
    $fovy = $zFar + $zNear;
    $aspect = $zFar - $zNear;
    $res.$m22 = $fovy / $aspect;
    $res.$m23 = (-1.0);
    $res.$m30 = 0.0;
    $res.$m31 = 0.0;
    $res.$m32 = 2.0 * $zFar * $zNear / $aspect;
    $res.$m33 = 0.0;
}
function nleg_EaglerAdapterGL30_getBitsPerSecond() {
    nleg_EaglerAdapterGL30_$callClinit();
    if (Long_gt(Long_sub(jl_System_currentTimeMillis(), nleg_EaglerAdapterGL30_lastBandwidthReset), Long_fromInt(1000))) {
        nleg_EaglerAdapterGL30_lastBandwidthReset = jl_System_currentTimeMillis();
        nleg_EaglerAdapterGL30_lastBandwidth = nleg_EaglerAdapterGL30_bytesUploaded * 8 | 0;
        nleg_EaglerAdapterGL30_bytesUploaded = 0;
    }
    return nleg_EaglerAdapterGL30_lastBandwidth;
}
function nleg_EaglerAdapterGL30_getVertexesPerSecond() {
    var $ret;
    nleg_EaglerAdapterGL30_$callClinit();
    $ret = nleg_EaglerAdapterGL30_vertexDrawn;
    nleg_EaglerAdapterGL30_vertexDrawn = 0;
    return $ret;
}
function nleg_EaglerAdapterGL30_getTrianglesPerSecond() {
    var $ret;
    nleg_EaglerAdapterGL30_$callClinit();
    $ret = nleg_EaglerAdapterGL30_triangleDrawn;
    nleg_EaglerAdapterGL30_triangleDrawn = 0;
    return $ret;
}
function nleg_EaglerAdapterGL30__clinit_() {
    var $i, var$2, var$3;
    nleg_EaglerAdapterGL30_glBlendEnabled = 0;
    nleg_EaglerAdapterGL30_isWebGL = nlea_EaglerAdapterImpl2__wisWebGL();
    nleg_EaglerAdapterGL30_texObjects = nleg_GLObjectMap__init_(256);
    nleg_EaglerAdapterGL30_enableTexture2D = 0;
    nleg_EaglerAdapterGL30_enableTexture2D_1 = 0;
    nleg_EaglerAdapterGL30_enableLighting = 0;
    nleg_EaglerAdapterGL30_enableAlphaTest = 0;
    nleg_EaglerAdapterGL30_alphaThresh = 0.10000000149011612;
    nleg_EaglerAdapterGL30_isCompilingDisplayList = 0;
    nleg_EaglerAdapterGL30_compilingDisplayList = null;
    nleg_EaglerAdapterGL30_enableColorArray = 0;
    nleg_EaglerAdapterGL30_enableNormalArray = 0;
    nleg_EaglerAdapterGL30_enableTex0Array = 0;
    nleg_EaglerAdapterGL30_enableTex1Array = 0;
    nleg_EaglerAdapterGL30_enableAnisotropicFix = 0;
    nleg_EaglerAdapterGL30_anisotropicFixX = 1024.0;
    nleg_EaglerAdapterGL30_anisotropicFixY = 1024.0;
    nleg_EaglerAdapterGL30_colorR = 1.0;
    nleg_EaglerAdapterGL30_colorG = 1.0;
    nleg_EaglerAdapterGL30_colorB = 1.0;
    nleg_EaglerAdapterGL30_colorA = 1.0;
    nleg_EaglerAdapterGL30_normalX = 1.0;
    nleg_EaglerAdapterGL30_normalY = 0.0;
    nleg_EaglerAdapterGL30_normalZ = 0.0;
    nleg_EaglerAdapterGL30_selectedTex = 0;
    nleg_EaglerAdapterGL30_selectedClientTex = 0;
    nleg_EaglerAdapterGL30_tex0X = 0.0;
    nleg_EaglerAdapterGL30_tex0Y = 0.0;
    nleg_EaglerAdapterGL30_tex1X = 0.0;
    nleg_EaglerAdapterGL30_tex1Y = 0.0;
    nleg_EaglerAdapterGL30_boundTexture0 = null;
    nleg_EaglerAdapterGL30_enableAnisotropicPatch = 0;
    nleg_EaglerAdapterGL30_hintAnisotropicPatch = 0;
    nleg_EaglerAdapterGL30_swapRB = 0;
    nleg_EaglerAdapterGL30_enableTexGen = 0;
    nleg_EaglerAdapterGL30_enableColorMaterial = 0;
    nleg_EaglerAdapterGL30_texS_plane = 0;
    nleg_EaglerAdapterGL30_texS_X = 0.0;
    nleg_EaglerAdapterGL30_texS_Y = 0.0;
    nleg_EaglerAdapterGL30_texS_Z = 0.0;
    nleg_EaglerAdapterGL30_texS_W = 0.0;
    nleg_EaglerAdapterGL30_texT_plane = 0;
    nleg_EaglerAdapterGL30_texT_X = 0.0;
    nleg_EaglerAdapterGL30_texT_Y = 0.0;
    nleg_EaglerAdapterGL30_texT_Z = 0.0;
    nleg_EaglerAdapterGL30_texT_W = 0.0;
    nleg_EaglerAdapterGL30_texR_plane = 0;
    nleg_EaglerAdapterGL30_texR_X = 0.0;
    nleg_EaglerAdapterGL30_texR_Y = 0.0;
    nleg_EaglerAdapterGL30_texR_Z = 0.0;
    nleg_EaglerAdapterGL30_texR_W = 0.0;
    nleg_EaglerAdapterGL30_texQ_plane = 0;
    nleg_EaglerAdapterGL30_texQ_X = 0.0;
    nleg_EaglerAdapterGL30_texQ_Y = 0.0;
    nleg_EaglerAdapterGL30_texQ_Z = 0.0;
    nleg_EaglerAdapterGL30_texQ_W = 0.0;
    nleg_EaglerAdapterGL30_fogColorR = 1.0;
    nleg_EaglerAdapterGL30_fogColorG = 1.0;
    nleg_EaglerAdapterGL30_fogColorB = 1.0;
    nleg_EaglerAdapterGL30_fogColorA = 1.0;
    nleg_EaglerAdapterGL30_fogMode = 1;
    nleg_EaglerAdapterGL30_fogEnabled = 0;
    nleg_EaglerAdapterGL30_fogPremultiply = 0;
    nleg_EaglerAdapterGL30_fogStart = 1.0;
    nleg_EaglerAdapterGL30_fogEnd = 1.0;
    nleg_EaglerAdapterGL30_fogDensity = 1.0;
    nleg_EaglerAdapterGL30_bytesUploaded = 0;
    nleg_EaglerAdapterGL30_vertexDrawn = 0;
    nleg_EaglerAdapterGL30_triangleDrawn = 0;
    nleg_EaglerAdapterGL30_matrixMode = 5888;
    nleg_EaglerAdapterGL30_matModelV = $rt_createArray(nlegv_Matrix4f, 32);
    nleg_EaglerAdapterGL30_matModelPointer = 0;
    nleg_EaglerAdapterGL30_matProjV = $rt_createArray(nlegv_Matrix4f, 6);
    nleg_EaglerAdapterGL30_matProjPointer = 0;
    nleg_EaglerAdapterGL30_matTexV = $rt_createArray(nlegv_Matrix4f, 16);
    nleg_EaglerAdapterGL30_matTexPointer = 0;
    $i = 0;
    while ($i < nleg_EaglerAdapterGL30_matModelV.data.length) {
        var$2 = nleg_EaglerAdapterGL30_matModelV.data;
        var$3 = new nlegv_Matrix4f;
        nlegv_Matrix4f_setIdentity(var$3);
        var$2[$i] = var$3;
        $i = $i + 1 | 0;
    }
    $i = 0;
    while ($i < nleg_EaglerAdapterGL30_matProjV.data.length) {
        var$2 = nleg_EaglerAdapterGL30_matProjV.data;
        var$3 = new nlegv_Matrix4f;
        nlegv_Matrix4f_setIdentity(var$3);
        var$2[$i] = var$3;
        $i = $i + 1 | 0;
    }
    $i = 0;
    while ($i < nleg_EaglerAdapterGL30_matTexV.data.length) {
        var$2 = nleg_EaglerAdapterGL30_matTexV.data;
        var$3 = new nlegv_Matrix4f;
        nlegv_Matrix4f_setIdentity(var$3);
        var$2[$i] = var$3;
        $i = $i + 1 | 0;
    }
    nleg_EaglerAdapterGL30_quadsToTrianglesBuffer = null;
    nleg_EaglerAdapterGL30_currentArray = null;
    nleg_EaglerAdapterGL30_displayLists = ju_HashMap__init_();
    nleg_EaglerAdapterGL30_displayListsInitialized = ju_HashMap__init_();
    nleg_EaglerAdapterGL30_deevis = new nlegv_Vector3f;
    nleg_EaglerAdapterGL30_lightPos0vec0 = new nlegv_Vector4f;
    nleg_EaglerAdapterGL30_lightPos1vec0 = new nlegv_Vector4f;
    nleg_EaglerAdapterGL30_lightPos0vec = new nlegv_Vector4f;
    nleg_EaglerAdapterGL30_lightPos1vec = new nlegv_Vector4f;
    nleg_EaglerAdapterGL30_displayListId = 0;
    nleg_EaglerAdapterGL30_shader = null;
    nleg_EaglerAdapterGL30_blankUploadArray = new Int32Array(525000);
    nleg_EaglerAdapterGL30_occlusion_vao = null;
    nleg_EaglerAdapterGL30_occlusion_vbo = null;
    nleg_EaglerAdapterGL30_occlusion_program = null;
    nleg_EaglerAdapterGL30_occlusion_matrix_m = null;
    nleg_EaglerAdapterGL30_occlusion_matrix_p = null;
    nleg_EaglerAdapterGL30_queryObjs = nleg_GLObjectMap__init_(256);
    var$3 = new nlegv_Matrix4f;
    nlegv_Matrix4f_setIdentity(var$3);
    nleg_EaglerAdapterGL30_cachedOcclusionP = nlegv_Matrix4f_setZero(var$3);
    nleg_EaglerAdapterGL30_occlusionModel = $rt_createFloatArray(16);
    nleg_EaglerAdapterGL30_occlusionProj = $rt_createFloatArray(16);
    var$3 = new nlegv_Matrix4f;
    nlegv_Matrix4f_setIdentity(var$3);
    nleg_EaglerAdapterGL30_unprojA = var$3;
    var$3 = new nlegv_Matrix4f;
    nlegv_Matrix4f_setIdentity(var$3);
    nleg_EaglerAdapterGL30_unprojB = var$3;
    nleg_EaglerAdapterGL30_unprojC = new nlegv_Vector4f;
    nleg_EaglerAdapterGL30_lastBandwidthReset = Long_ZERO;
    nleg_EaglerAdapterGL30_lastBandwidth = 0;
}
function nle_EaglerAdapter() {
    nleg_EaglerAdapterGL30.call(this);
}
function nle_EaglerAdapter__init_0() {
    var var_0 = new nle_EaglerAdapter();
    nle_EaglerAdapter__init_(var_0);
    return var_0;
}
function nle_EaglerAdapter__init_($this) {
    nleg_EaglerAdapterGL30__init_($this);
}
function nms_CompressedStreamTools() {
    jl_Object.call(this);
}
function nms_CompressedStreamTools__init_0() {
    var var_0 = new nms_CompressedStreamTools();
    nms_CompressedStreamTools__init_(var_0);
    return var_0;
}
function nms_CompressedStreamTools__init_($this) {
    return;
}
function nms_CompressedStreamTools_readUncompressed($par0ArrayOfByte) {
    var $var1, $var2, $$je;
    $var1 = ji_DataInputStream__init_(ji_BufferedInputStream__init_(ji_ByteArrayInputStream__init_($par0ArrayOfByte)));
    a: {
        try {
            $var2 = nms_CompressedStreamTools_read($var1);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            $var2 = $$je;

        }
        ji_FilterInputStream_close($var1);
        $rt_throw($var2);
    }
    ji_FilterInputStream_close($var1);
    return $var2;
}
function nms_CompressedStreamTools_writeUncompressed($par0NBTTagCompound) {
    var $var1, $var2, $$je;
    $var1 = ji_ByteArrayOutputStream__init_0();
    $var2 = ji_DataOutputStream__init_($var1);
    a: {
        try {
            nms_CompressedStreamTools_write($par0NBTTagCompound, $var2);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            $par0NBTTagCompound = $$je;

        }
        ji_FilterOutputStream_close($var2);
        $rt_throw($par0NBTTagCompound);
    }
    ji_FilterOutputStream_close($var2);
    return ji_ByteArrayOutputStream_toByteArray($var1);
}
function nms_CompressedStreamTools_read($par0DataInput) {
    var $var1;
    $var1 = nms_NBTBase_readNamedTag($par0DataInput);
    if ($var1 instanceof nms_NBTTagCompound)
        return $var1;
    $var1 = new ji_IOException;
    jl_Throwable__init_($var1, $rt_s(259));
    $rt_throw($var1);
}
function nms_CompressedStreamTools_write($par0NBTTagCompound, $par1DataOutput) {
    nms_NBTBase_writeNamedTag($par0NBTTagCompound, $par1DataOutput);
}
function nms_NBTBase() {
    jl_Object.call(this);
    this.$name4 = null;
}
var nms_NBTBase_NBTTypes = null;
function nms_NBTBase__init_(var_0) {
    var var_1 = new nms_NBTBase();
    nms_NBTBase__init_0(var_1, var_0);
    return var_1;
}
function nms_NBTBase__init_0($this, $par1Str) {
    if ($par1Str !== null)
        $this.$name4 = $par1Str;
    else
        $this.$name4 = $rt_s(36);
}
function nms_NBTBase_setName($this, $par1Str) {
    if ($par1Str !== null)
        $this.$name4 = $par1Str;
    else
        $this.$name4 = $rt_s(36);
    return $this;
}
function nms_NBTBase_getName($this) {
    return $this.$name4 !== null ? $this.$name4 : $rt_s(36);
}
function nms_NBTBase_readNamedTag($par0DataInput) {
    var $var1, $var3;
    $var1 = ji_DataInputStream_readByte($par0DataInput);
    if (!$var1)
        return nms_NBTTagEnd__init_0();
    $var3 = nms_NBTBase_newTag($var1, ji_DataInputStream_readUTF($par0DataInput));
    $var3.$load0($par0DataInput);
    return $var3;
}
function nms_NBTBase_writeNamedTag($par0NBTBase, $par1DataOutput) {
    ji_DataOutputStream_writeByte($par1DataOutput, $par0NBTBase.$getId());
    if ($par0NBTBase.$getId()) {
        ji_DataOutputStream_writeUTF($par1DataOutput, nms_NBTBase_getName($par0NBTBase));
        $par0NBTBase.$write0($par1DataOutput);
    }
}
function nms_NBTBase_newTag($par0, $par1Str) {
    var var$3;
    switch ($par0) {
        case 0:
            return nms_NBTTagEnd__init_0();
        case 1:
            var$3 = new nms_NBTTagByte;
            nms_NBTBase__init_0(var$3, $par1Str);
            return var$3;
        case 2:
            var$3 = new nms_NBTTagShort;
            nms_NBTBase__init_0(var$3, $par1Str);
            return var$3;
        case 3:
            var$3 = new nms_NBTTagInt;
            nms_NBTBase__init_0(var$3, $par1Str);
            return var$3;
        case 4:
            var$3 = new nms_NBTTagLong;
            nms_NBTBase__init_0(var$3, $par1Str);
            return var$3;
        case 5:
            var$3 = new nms_NBTTagFloat;
            nms_NBTBase__init_0(var$3, $par1Str);
            return var$3;
        case 6:
            var$3 = new nms_NBTTagDouble;
            nms_NBTBase__init_0(var$3, $par1Str);
            return var$3;
        case 7:
            var$3 = new nms_NBTTagByteArray;
            nms_NBTBase__init_0(var$3, $par1Str);
            return var$3;
        case 8:
            var$3 = new nms_NBTTagString;
            nms_NBTBase__init_0(var$3, $par1Str);
            return var$3;
        case 9:
            return nms_NBTTagList__init_1($par1Str);
        case 10:
            return nms_NBTTagCompound__init_1($par1Str);
        case 11:
            var$3 = new nms_NBTTagIntArray;
            nms_NBTBase__init_0(var$3, $par1Str);
            return var$3;
        default:
    }
    return null;
}
function nms_NBTBase_equals($this, $par1Obj) {
    var $var2, var$3;
    if (!($par1Obj instanceof nms_NBTBase))
        return 0;
    a: {
        $var2 = $par1Obj;
        if ($this.$getId() != $var2.$getId())
            var$3 = 0;
        else {
            b: {
                if (!($this.$name4 === null && $var2.$name4 !== null)) {
                    if ($this.$name4 === null)
                        break b;
                    if ($var2.$name4 !== null)
                        break b;
                }
                var$3 = 0;
                break a;
            }
            if ($this.$name4 !== null && !jl_String_equals($this.$name4, $var2.$name4))
                var$3 = 0;
            else
                var$3 = 1;
        }
    }
    return var$3;
}
function nms_NBTBase_hashCode($this) {
    return jl_String_hashCode($this.$name4) ^ $this.$getId();
}
function nms_NBTBase__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 12);
    var$2 = var$1.data;
    var$2[0] = $rt_s(196);
    var$2[1] = $rt_s(260);
    var$2[2] = $rt_s(261);
    var$2[3] = $rt_s(262);
    var$2[4] = $rt_s(263);
    var$2[5] = $rt_s(264);
    var$2[6] = $rt_s(265);
    var$2[7] = $rt_s(266);
    var$2[8] = $rt_s(267);
    var$2[9] = $rt_s(268);
    var$2[10] = $rt_s(269);
    var$2[11] = $rt_s(270);
    nms_NBTBase_NBTTypes = var$1;
}
function nms_NBTTagCompound() {
    nms_NBTBase.call(this);
    this.$tagMap = null;
}
function nms_NBTTagCompound__init_0() {
    var var_0 = new nms_NBTTagCompound();
    nms_NBTTagCompound__init_(var_0);
    return var_0;
}
function nms_NBTTagCompound__init_1(var_0) {
    var var_1 = new nms_NBTTagCompound();
    nms_NBTTagCompound__init_2(var_1, var_0);
    return var_1;
}
function nms_NBTTagCompound__init_($this) {
    nms_NBTBase__init_0($this, $rt_s(36));
    $this.$tagMap = ju_HashMap__init_();
}
function nms_NBTTagCompound__init_2($this, $par1Str) {
    nms_NBTBase__init_0($this, $par1Str);
    $this.$tagMap = ju_HashMap__init_();
}
function nms_NBTTagCompound_write($this, $par1DataOutput) {
    var $var2;
    $var2 = ju_HashMap_values($this.$tagMap).$iterator();
    while ($var2.$hasNext()) {
        nms_NBTBase_writeNamedTag($var2.$next(), $par1DataOutput);
    }
    ji_DataOutputStream_writeByte($par1DataOutput, 0);
}
function nms_NBTTagCompound_load($this, $par1DataInput) {
    var var$2;
    ju_HashMap_clear($this.$tagMap);
    while (true) {
        var$2 = nms_NBTBase_readNamedTag($par1DataInput);
        if (!var$2.$getId())
            break;
        ju_HashMap_putImpl($this.$tagMap, nms_NBTBase_getName(var$2), var$2);
    }
}
function nms_NBTTagCompound_getId($this) {
    return 10;
}
function nms_NBTTagCompound_setTag($this, $par1Str, $par2NBTBase) {
    ju_HashMap_putImpl($this.$tagMap, $par1Str, nms_NBTBase_setName($par2NBTBase, $par1Str));
}
function nms_NBTTagCompound_setByte($this, $par1Str, $par2) {
    ju_HashMap_putImpl($this.$tagMap, $par1Str, nms_NBTTagByte__init_($par1Str, $par2));
}
function nms_NBTTagCompound_setShort($this, $par1Str, $par2) {
    ju_HashMap_putImpl($this.$tagMap, $par1Str, nms_NBTTagShort__init_($par1Str, $par2));
}
function nms_NBTTagCompound_setInteger($this, $par1Str, $par2) {
    ju_HashMap_putImpl($this.$tagMap, $par1Str, nms_NBTTagInt__init_($par1Str, $par2));
}
function nms_NBTTagCompound_setFloat($this, $par1Str, $par2) {
    ju_HashMap_putImpl($this.$tagMap, $par1Str, nms_NBTTagFloat__init_($par1Str, $par2));
}
function nms_NBTTagCompound_setString($this, $par1Str, $par2Str) {
    ju_HashMap_putImpl($this.$tagMap, $par1Str, nms_NBTTagString__init_($par1Str, $par2Str));
}
function nms_NBTTagCompound_setByteArray($this, $par1Str, $par2ArrayOfByte) {
    ju_HashMap_putImpl($this.$tagMap, $par1Str, nms_NBTTagByteArray__init_($par1Str, $par2ArrayOfByte));
}
function nms_NBTTagCompound_setIntArray($this, $par1Str, $par2ArrayOfInteger) {
    ju_HashMap_putImpl($this.$tagMap, $par1Str, nms_NBTTagIntArray__init_($par1Str, $par2ArrayOfInteger));
}
function nms_NBTTagCompound_setCompoundTag($this, $par1Str, $par2NBTTagCompound) {
    ju_HashMap_putImpl($this.$tagMap, $par1Str, nms_NBTBase_setName($par2NBTTagCompound, $par1Str));
}
function nms_NBTTagCompound_setBoolean($this, $par1Str, $par2) {
    nms_NBTTagCompound_setByte($this, $par1Str, (!$par2 ? 0 : 1) << 24 >> 24);
}
function nms_NBTTagCompound_getTag($this, $par1Str) {
    return ju_HashMap_get($this.$tagMap, $par1Str);
}
function nms_NBTTagCompound_hasKey($this, $par1Str) {
    return ju_HashMap_containsKey($this.$tagMap, $par1Str);
}
function nms_NBTTagCompound_getByte($this, $par1Str) {
    return !ju_HashMap_containsKey($this.$tagMap, $par1Str) ? 0 : ju_HashMap_get($this.$tagMap, $par1Str).$data0;
}
function nms_NBTTagCompound_getShort($this, $par1Str) {
    return !ju_HashMap_containsKey($this.$tagMap, $par1Str) ? 0 : ju_HashMap_get($this.$tagMap, $par1Str).$data1;
}
function nms_NBTTagCompound_getInteger($this, $par1Str) {
    return !ju_HashMap_containsKey($this.$tagMap, $par1Str) ? 0 : ju_HashMap_get($this.$tagMap, $par1Str).$data2;
}
function nms_NBTTagCompound_getFloat($this, $par1Str) {
    return !ju_HashMap_containsKey($this.$tagMap, $par1Str) ? 0.0 : ju_HashMap_get($this.$tagMap, $par1Str).$data3;
}
function nms_NBTTagCompound_getString($this, $par1Str) {
    return !ju_HashMap_containsKey($this.$tagMap, $par1Str) ? $rt_s(36) : ju_HashMap_get($this.$tagMap, $par1Str).$data4;
}
function nms_NBTTagCompound_getByteArray($this, $par1Str) {
    return !ju_HashMap_containsKey($this.$tagMap, $par1Str) ? $rt_createByteArray(0) : ju_HashMap_get($this.$tagMap, $par1Str).$byteArray;
}
function nms_NBTTagCompound_getIntArray($this, $par1Str) {
    return !ju_HashMap_containsKey($this.$tagMap, $par1Str) ? $rt_createIntArray(0) : ju_HashMap_get($this.$tagMap, $par1Str).$intArray;
}
function nms_NBTTagCompound_getCompoundTag($this, $par1Str) {
    return !ju_HashMap_containsKey($this.$tagMap, $par1Str) ? nms_NBTTagCompound__init_1($par1Str) : ju_HashMap_get($this.$tagMap, $par1Str);
}
function nms_NBTTagCompound_getTagList($this, $par1Str) {
    return !ju_HashMap_containsKey($this.$tagMap, $par1Str) ? nms_NBTTagList__init_1($par1Str) : ju_HashMap_get($this.$tagMap, $par1Str);
}
function nms_NBTTagCompound_getBoolean($this, $par1Str) {
    return !nms_NBTTagCompound_getByte($this, $par1Str) ? 0 : 1;
}
function nms_NBTTagCompound_removeTag($this, $par1Str) {
    ju_HashMap_remove($this.$tagMap, $par1Str);
}
function nms_NBTTagCompound_toString($this) {
    var $var2, $var1, $var3, var$4;
    $var2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var2);
    jl_AbstractStringBuilder_append($var2, nms_NBTBase_getName($this));
    jl_AbstractStringBuilder_append($var2, $rt_s(271));
    $var1 = jl_AbstractStringBuilder_toString($var2);
    $var2 = ju_HashMap_keySet($this.$tagMap).$iterator();
    while ($var2.$hasNext()) {
        $var3 = $var2.$next();
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $var1);
        jl_AbstractStringBuilder_append(var$4, $var3);
        jl_AbstractStringBuilder_append(var$4, $rt_s(272));
        jl_AbstractStringBuilder_append1(var$4, ju_HashMap_get($this.$tagMap, $var3));
        jl_AbstractStringBuilder_append(var$4, $rt_s(273));
        $var1 = jl_AbstractStringBuilder_toString(var$4);
    }
    $var2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var2);
    jl_AbstractStringBuilder_append($var2, $var1);
    jl_AbstractStringBuilder_append($var2, $rt_s(274));
    return jl_AbstractStringBuilder_toString($var2);
}
function nms_NBTTagCompound_hasNoTags($this) {
    return ju_HashMap_isEmpty($this.$tagMap);
}
function nms_NBTTagCompound_copy($this) {
    var $var1, $var2, $var3;
    $var1 = nms_NBTTagCompound__init_1(nms_NBTBase_getName($this));
    $var2 = ju_HashMap_keySet($this.$tagMap).$iterator();
    while ($var2.$hasNext()) {
        $var3 = $var2.$next();
        nms_NBTTagCompound_setTag($var1, $var3, ju_HashMap_get($this.$tagMap, $var3).$copy());
    }
    return $var1;
}
function nms_NBTTagCompound_equals($this, $par1Obj) {
    var $var2;
    if (!nms_NBTBase_equals($this, $par1Obj))
        return 0;
    $var2 = $par1Obj;
    return ju_AbstractSet_equals(ju_HashMap_entrySet($this.$tagMap), ju_HashMap_entrySet($var2.$tagMap));
}
function nms_NBTTagCompound_hashCode($this) {
    return nms_NBTBase_hashCode($this) ^ ju_AbstractMap_hashCode($this.$tagMap);
}
function nms_NBTTagCompound_getStringOrNull($this, $string) {
    return !ju_HashMap_containsKey($this.$tagMap, $string) ? null : ju_HashMap_get($this.$tagMap, $string).$data4;
}
function nle_BaseNCodec() {
    var a = this; jl_Object.call(a);
    a.$PAD = 61;
    a.$pad = 0;
    a.$unencodedBlockSize = 0;
    a.$encodedBlockSize = 0;
    a.$lineLength = 0;
    a.$chunkSeparatorLength = 0;
    a.$decodingPolicy = null;
}
var nle_BaseNCodec_CHUNK_SEPARATOR = null;
function nle_BaseNCodec_compareUnsigned($xx, $yy) {
    $xx = $rt_compare($xx + (-2147483648) | 0, $yy + (-2147483648) | 0);
    return $xx < 0 ? (-1) : $xx ? 1 : 0;
}
function nle_BaseNCodec_available($this, $context) {
    return $context.$buffer1 === null ? 0 : $context.$pos - $context.$readPos | 0;
}
function nle_BaseNCodec_containsAlphabetOrPad($this, $arrayOctet) {
    var var$2, var$3, $element;
    if ($arrayOctet === null)
        return 0;
    $arrayOctet = $arrayOctet.data;
    var$2 = $arrayOctet.length;
    var$3 = 0;
    a: {
        while (var$3 < var$2) {
            $element = $arrayOctet[var$3];
            if ($this.$pad == $element)
                break a;
            if (nle_Base64_isInAlphabet($this, $element))
                break a;
            var$3 = var$3 + 1 | 0;
        }
        return 0;
    }
    return 1;
}
function nle_BaseNCodec_decode($this, $pArray) {
    var var$2, $context, $result;
    if ($pArray !== null) {
        var$2 = $pArray.data.length;
        if (var$2) {
            $context = new nle_BaseNCodec$Context;
            nle_Base64_decode($this, $pArray, 0, var$2, $context);
            nle_Base64_decode($this, $pArray, 0, (-1), $context);
            $result = $rt_createByteArray($context.$pos);
            nle_BaseNCodec_readResults($this, $result, 0, $result.data.length, $context);
            return $result;
        }
    }
    return $pArray;
}
function nle_BaseNCodec_decode0($this, $pArray) {
    return nle_BaseNCodec_decode($this, jl_String_getBytes0($pArray, jnc_Charset_forName($rt_s(62))));
}
function nle_BaseNCodec_encode($this, $pArray) {
    var var$2;
    if ($pArray !== null) {
        var$2 = $pArray.data.length;
        if (var$2)
            return nle_BaseNCodec_encode0($this, $pArray, 0, var$2);
    }
    return $pArray;
}
function nle_BaseNCodec_encode0($this, $pArray, $offset, $length) {
    var $context, $buf;
    if ($pArray !== null && $pArray.data.length) {
        $context = new nle_BaseNCodec$Context;
        nle_Base64_encode($this, $pArray, $offset, $length, $context);
        nle_Base64_encode($this, $pArray, $offset, (-1), $context);
        $buf = $rt_createByteArray($context.$pos - $context.$readPos | 0);
        nle_BaseNCodec_readResults($this, $buf, 0, $buf.data.length, $context);
        return $buf;
    }
    return $pArray;
}
function nle_BaseNCodec_ensureBufferSize($this, $size, $context) {
    var var$3, var$4, var$5;
    if ($context.$buffer1 === null) {
        $context.$buffer1 = $rt_createByteArray(jl_Math_max($size, 8192));
        $context.$pos = 0;
        $context.$readPos = 0;
    } else if ((($context.$pos + $size | 0) - $context.$buffer1.data.length | 0) > 0) {
        $size = $context.$pos + $size | 0;
        var$3 = $context.$buffer1.data.length * 2 | 0;
        if (nle_BaseNCodec_compareUnsigned(var$3, $size) < 0)
            var$3 = $size;
        if (nle_BaseNCodec_compareUnsigned(var$3, 2147483639) <= 0)
            $size = var$3;
        else {
            if ($size < 0) {
                var$4 = new jl_OutOfMemoryError;
                $context = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($context);
                jl_AbstractStringBuilder_append($context, $rt_s(275));
                jl_Throwable__init_(var$4, jl_AbstractStringBuilder_toString(jl_StringBuilder_append2($context, Long_and(Long_fromInt($size), new Long(4294967295, 0)))));
                $rt_throw(var$4);
            }
            if ($size <= 2147483639)
                $size = 2147483639;
        }
        var$5 = $rt_createByteArray($size);
        jl_System_arraycopy($context.$buffer1, 0, var$5, 0, $context.$buffer1.data.length);
        $context.$buffer1 = var$5;
        return var$5;
    }
    return $context.$buffer1;
}
function nle_BaseNCodec_getDefaultBufferSize($this) {
    return 8192;
}
function nle_BaseNCodec_getEncodedLength($this, $pArray) {
    var $len;
    $len = Long_mul(Long_fromInt((($pArray.data.length + $this.$unencodedBlockSize | 0) - 1 | 0) / $this.$unencodedBlockSize | 0), Long_fromInt($this.$encodedBlockSize));
    if ($this.$lineLength > 0)
        $len = Long_add($len, Long_mul(Long_div(Long_sub(Long_add($len, Long_fromInt($this.$lineLength)), Long_fromInt(1)), Long_fromInt($this.$lineLength)), Long_fromInt($this.$chunkSeparatorLength)));
    return $len;
}
function nle_BaseNCodec_isStrictDecoding($this) {
    return $this.$decodingPolicy !== nle_BaseNCodec$CodecPolicy_STRICT ? 0 : 1;
}
function nle_BaseNCodec_readResults($this, $b, $bPos, $bAvail, $context) {
    var $len;
    if ($context.$buffer1 === null)
        return !$context.$eof ? 0 : (-1);
    $len = jl_Math_min(nle_BaseNCodec_available($this, $context), $bAvail);
    jl_System_arraycopy($context.$buffer1, $context.$readPos, $b, $bPos, $len);
    $context.$readPos = $context.$readPos + $len | 0;
    if ($context.$readPos >= $context.$pos)
        $context.$buffer1 = null;
    return $len;
}
function nle_BaseNCodec__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createByteArray(2);
    var$2 = var$1.data;
    var$2[0] = 13;
    var$2[1] = 10;
    nle_BaseNCodec_CHUNK_SEPARATOR = var$1;
}
function nle_Base64() {
    var a = this; nle_BaseNCodec.call(a);
    a.$encodeTable = null;
    a.$decodeTable = null;
    a.$lineSeparator = null;
    a.$decodeSize = 0;
    a.$encodeSize = 0;
}
var nle_Base64_STANDARD_ENCODE_TABLE = null;
var nle_Base64_URL_SAFE_ENCODE_TABLE = null;
var nle_Base64_DECODE_TABLE = null;
function nle_Base64__init_0() {
    var var_0 = new nle_Base64();
    nle_Base64__init_(var_0);
    return var_0;
}
function nle_Base64__init_1(var_0, var_1, var_2) {
    var var_3 = new nle_Base64();
    nle_Base64__init_2(var_3, var_0, var_1, var_2);
    return var_3;
}
function nle_Base64_decodeBase64($base64String) {
    return nle_BaseNCodec_decode0(nle_Base64__init_0(), $base64String);
}
function nle_Base64_encodeBase64String($binaryData) {
    var var$2, var$3, var$4, var$5;
    var$2 = new jl_String;
    if ($binaryData !== null && $binaryData.data.length) {
        var$3 = nle_Base64__init_1(0, nle_BaseNCodec_CHUNK_SEPARATOR, 0);
        var$4 = nle_BaseNCodec_getEncodedLength(var$3, $binaryData);
        if (Long_gt(var$4, Long_fromInt(2147483647))) {
            var$5 = new jl_IllegalArgumentException;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            jl_AbstractStringBuilder_append(var$2, $rt_s(276));
            var$2 = jl_StringBuilder_append2(var$2, var$4);
            jl_AbstractStringBuilder_append(var$2, $rt_s(277));
            jl_AbstractStringBuilder_append2(var$2, 2147483647);
            jl_Throwable__init_(var$5, jl_AbstractStringBuilder_toString(var$2));
            $rt_throw(var$5);
        }
        $binaryData = nle_BaseNCodec_encode(var$3, $binaryData);
    }
    jl_String__init_8(var$2, $binaryData, jnc_Charset_forName($rt_s(62)));
    return var$2;
}
function nle_Base64__init_($this) {
    nle_Base64__init_2($this, 0, nle_BaseNCodec_CHUNK_SEPARATOR, 0);
}
function nle_Base64__init_2($this, $lineLength, $lineSeparator, $urlSafe) {
    var var$4, var$5, var$6, var$7;
    var$4 = nle_BaseNCodec$CodecPolicy_LENIANT;
    var$5 = $lineSeparator === null ? 0 : $lineSeparator.data.length;
    $this.$PAD = 61;
    $this.$unencodedBlockSize = 3;
    $this.$encodedBlockSize = 4;
    $this.$lineLength = !($lineLength > 0 && var$5 > 0 ? 1 : 0) ? 0 : ($lineLength / 4 | 0) * 4 | 0;
    $this.$chunkSeparatorLength = var$5;
    $this.$pad = 61;
    $this.$decodingPolicy = var$4;
    $this.$decodeTable = nle_Base64_DECODE_TABLE;
    if ($lineSeparator === null) {
        $this.$encodeSize = 4;
        $this.$lineSeparator = null;
    } else {
        if (nle_BaseNCodec_containsAlphabetOrPad($this, $lineSeparator)) {
            var$4 = jl_String__init_7($lineSeparator, jnc_Charset_forName($rt_s(62)));
            var$6 = new jl_IllegalArgumentException;
            var$7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$7);
            jl_AbstractStringBuilder_append(var$7, $rt_s(278));
            jl_AbstractStringBuilder_append(var$7, var$4);
            jl_AbstractStringBuilder_append(var$7, $rt_s(274));
            jl_Throwable__init_(var$6, jl_AbstractStringBuilder_toString(var$7));
            $rt_throw(var$6);
        }
        if ($lineLength <= 0) {
            $this.$encodeSize = 4;
            $this.$lineSeparator = null;
        } else {
            $lineLength = $lineSeparator.data.length;
            $this.$encodeSize = 4 + $lineLength | 0;
            $this.$lineSeparator = $rt_createByteArray($lineLength);
            jl_System_arraycopy($lineSeparator, 0, $this.$lineSeparator, 0, $lineLength);
        }
    }
    $this.$decodeSize = $this.$encodeSize - 1 | 0;
    $this.$encodeTable = !$urlSafe ? nle_Base64_STANDARD_ENCODE_TABLE : nle_Base64_URL_SAFE_ENCODE_TABLE;
}
function nle_Base64_decode($this, $in, $inPos, $inAvail, $context) {
    var $i, var$6, $buffer, var$8, $b, $result, var$11, var$12;
    if ($context.$eof)
        return;
    if ($inAvail < 0)
        $context.$eof = 1;
    $i = 0;
    a: {
        while (true) {
            if ($i >= $inAvail)
                break a;
            var$6 = $in.data;
            $buffer = nle_BaseNCodec_ensureBufferSize($this, $this.$decodeSize, $context);
            var$8 = $inPos + 1 | 0;
            $b = var$6[$inPos];
            if ($b == $this.$pad)
                break;
            if ($b >= 0 && $b < nle_Base64_DECODE_TABLE.data.length) {
                $result = nle_Base64_DECODE_TABLE.data[$b];
                if ($result >= 0) {
                    $context.$modulus = ($context.$modulus + 1 | 0) % 4 | 0;
                    $context.$ibitWorkArea = ($context.$ibitWorkArea << 6) + $result | 0;
                    if (!$context.$modulus) {
                        $buffer = $buffer.data;
                        $inPos = $context.$pos;
                        $context.$pos = $inPos + 1 | 0;
                        $buffer[$inPos] = ($context.$ibitWorkArea >> 16 & 255) << 24 >> 24;
                        $b = $context.$pos;
                        $context.$pos = $b + 1 | 0;
                        $buffer[$b] = ($context.$ibitWorkArea >> 8 & 255) << 24 >> 24;
                        $inPos = $context.$pos;
                        $context.$pos = $inPos + 1 | 0;
                        $buffer[$inPos] = ($context.$ibitWorkArea & 255) << 24 >> 24;
                    }
                }
            }
            $i = $i + 1 | 0;
            $inPos = var$8;
        }
        $context.$eof = 1;
    }
    b: {
        if ($context.$eof && $context.$modulus) {
            $buffer = nle_BaseNCodec_ensureBufferSize($this, $this.$decodeSize, $context);
            switch ($context.$modulus) {
                case 1:
                    break;
                case 2:
                    $in = $buffer.data;
                    nle_Base64_validateCharacter($this, 15, $context);
                    $context.$ibitWorkArea = $context.$ibitWorkArea >> 4;
                    $inAvail = $context.$pos;
                    $context.$pos = $inAvail + 1 | 0;
                    $in[$inAvail] = ($context.$ibitWorkArea & 255) << 24 >> 24;
                    break b;
                case 3:
                    $in = $buffer.data;
                    nle_Base64_validateCharacter($this, 3, $context);
                    $context.$ibitWorkArea = $context.$ibitWorkArea >> 2;
                    var$8 = $context.$pos;
                    $context.$pos = var$8 + 1 | 0;
                    $in[var$8] = ($context.$ibitWorkArea >> 8 & 255) << 24 >> 24;
                    $inPos = $context.$pos;
                    $context.$pos = $inPos + 1 | 0;
                    $in[$inPos] = ($context.$ibitWorkArea & 255) << 24 >> 24;
                    break b;
                default:
                    var$11 = new jl_IllegalStateException;
                    var$12 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$12);
                    jl_AbstractStringBuilder_append(var$12, $rt_s(279));
                    jl_AbstractStringBuilder_append2(var$12, $context.$modulus);
                    jl_Throwable__init_(var$11, jl_AbstractStringBuilder_toString(var$12));
                    $rt_throw(var$11);
            }
            if (nle_BaseNCodec_isStrictDecoding($this)) {
                var$11 = new jl_IllegalArgumentException;
                jl_Throwable__init_(var$11, $rt_s(280));
                $rt_throw(var$11);
            }
        }
    }
}
function nle_Base64_encode($this, $in, $inPos, $inAvail, $context) {
    var $i, $buffer, $buffer_0, var$8, $b, var$10, $savedPos, var$12, var$13;
    if ($context.$eof)
        return;
    a: {
        if ($inAvail >= 0) {
            $i = 0;
            while (true) {
                if ($i >= $inAvail)
                    break a;
                $buffer = $in.data;
                $buffer_0 = nle_BaseNCodec_ensureBufferSize($this, $this.$encodeSize, $context);
                $context.$modulus = ($context.$modulus + 1 | 0) % 3 | 0;
                var$8 = $inPos + 1 | 0;
                $b = $buffer[$inPos];
                if ($b < 0)
                    $b = $b + 256 | 0;
                $context.$ibitWorkArea = ($context.$ibitWorkArea << 8) + $b | 0;
                if (0 == $context.$modulus) {
                    var$10 = $buffer_0.data;
                    $inPos = $context.$pos;
                    $context.$pos = $inPos + 1 | 0;
                    var$10[$inPos] = $this.$encodeTable.data[$context.$ibitWorkArea >> 18 & 63];
                    $inPos = $context.$pos;
                    $context.$pos = $inPos + 1 | 0;
                    var$10[$inPos] = $this.$encodeTable.data[$context.$ibitWorkArea >> 12 & 63];
                    $inPos = $context.$pos;
                    $context.$pos = $inPos + 1 | 0;
                    var$10[$inPos] = $this.$encodeTable.data[$context.$ibitWorkArea >> 6 & 63];
                    $inPos = $context.$pos;
                    $context.$pos = $inPos + 1 | 0;
                    var$10[$inPos] = $this.$encodeTable.data[$context.$ibitWorkArea & 63];
                    $context.$currentLinePos = $context.$currentLinePos + 4 | 0;
                    if ($this.$lineLength > 0 && $this.$lineLength <= $context.$currentLinePos) {
                        jl_System_arraycopy($this.$lineSeparator, 0, $buffer_0, $context.$pos, $this.$lineSeparator.data.length);
                        $context.$pos = $context.$pos + $this.$lineSeparator.data.length | 0;
                        $context.$currentLinePos = 0;
                    }
                }
                $i = $i + 1 | 0;
                $inPos = var$8;
            }
        }
        $context.$eof = 1;
        if (0 == $context.$modulus && !$this.$lineLength)
            return;
        b: {
            c: {
                $buffer = nle_BaseNCodec_ensureBufferSize($this, $this.$encodeSize, $context);
                $savedPos = $context.$pos;
                switch ($context.$modulus) {
                    case 0:
                        break b;
                    case 1:
                        var$10 = $buffer.data;
                        $inPos = $context.$pos;
                        $context.$pos = $inPos + 1 | 0;
                        var$10[$inPos] = $this.$encodeTable.data[$context.$ibitWorkArea >> 2 & 63];
                        $inPos = $context.$pos;
                        $context.$pos = $inPos + 1 | 0;
                        var$10[$inPos] = $this.$encodeTable.data[$context.$ibitWorkArea << 4 & 63];
                        if ($this.$encodeTable !== nle_Base64_STANDARD_ENCODE_TABLE)
                            break b;
                        $inPos = $context.$pos;
                        $context.$pos = $inPos + 1 | 0;
                        var$10[$inPos] = $this.$pad;
                        $inPos = $context.$pos;
                        $context.$pos = $inPos + 1 | 0;
                        var$10[$inPos] = $this.$pad;
                        break b;
                    case 2:
                        break c;
                    default:
                }
                var$12 = new jl_IllegalStateException;
                var$13 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$13);
                jl_AbstractStringBuilder_append(var$13, $rt_s(279));
                jl_AbstractStringBuilder_append2(var$13, $context.$modulus);
                jl_Throwable__init_(var$12, jl_AbstractStringBuilder_toString(var$13));
                $rt_throw(var$12);
            }
            var$10 = $buffer.data;
            $inPos = $context.$pos;
            $context.$pos = $inPos + 1 | 0;
            var$10[$inPos] = $this.$encodeTable.data[$context.$ibitWorkArea >> 10 & 63];
            $inPos = $context.$pos;
            $context.$pos = $inPos + 1 | 0;
            var$10[$inPos] = $this.$encodeTable.data[$context.$ibitWorkArea >> 4 & 63];
            $inPos = $context.$pos;
            $context.$pos = $inPos + 1 | 0;
            var$10[$inPos] = $this.$encodeTable.data[$context.$ibitWorkArea << 2 & 63];
            if ($this.$encodeTable === nle_Base64_STANDARD_ENCODE_TABLE) {
                $inPos = $context.$pos;
                $context.$pos = $inPos + 1 | 0;
                var$10[$inPos] = $this.$pad;
            }
        }
        $context.$currentLinePos = $context.$currentLinePos + ($context.$pos - $savedPos | 0) | 0;
        if ($this.$lineLength > 0 && $context.$currentLinePos > 0) {
            jl_System_arraycopy($this.$lineSeparator, 0, $buffer, $context.$pos, $this.$lineSeparator.data.length);
            $context.$pos = $context.$pos + $this.$lineSeparator.data.length | 0;
        }
    }
}
function nle_Base64_isInAlphabet($this, $octet) {
    return $octet >= 0 && $octet < $this.$decodeTable.data.length && $this.$decodeTable.data[$octet] != (-1) ? 1 : 0;
}
function nle_Base64_validateCharacter($this, $emptyBitsMask, $context) {
    var var$3;
    if (nle_BaseNCodec_isStrictDecoding($this) && $context.$ibitWorkArea & $emptyBitsMask) {
        var$3 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$3, $rt_s(281));
        $rt_throw(var$3);
    }
}
function nle_Base64__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createByteArray(64);
    var$2 = var$1.data;
    var$2[0] = 65;
    var$2[1] = 66;
    var$2[2] = 67;
    var$2[3] = 68;
    var$2[4] = 69;
    var$2[5] = 70;
    var$2[6] = 71;
    var$2[7] = 72;
    var$2[8] = 73;
    var$2[9] = 74;
    var$2[10] = 75;
    var$2[11] = 76;
    var$2[12] = 77;
    var$2[13] = 78;
    var$2[14] = 79;
    var$2[15] = 80;
    var$2[16] = 81;
    var$2[17] = 82;
    var$2[18] = 83;
    var$2[19] = 84;
    var$2[20] = 85;
    var$2[21] = 86;
    var$2[22] = 87;
    var$2[23] = 88;
    var$2[24] = 89;
    var$2[25] = 90;
    var$2[26] = 97;
    var$2[27] = 98;
    var$2[28] = 99;
    var$2[29] = 100;
    var$2[30] = 101;
    var$2[31] = 102;
    var$2[32] = 103;
    var$2[33] = 104;
    var$2[34] = 105;
    var$2[35] = 106;
    var$2[36] = 107;
    var$2[37] = 108;
    var$2[38] = 109;
    var$2[39] = 110;
    var$2[40] = 111;
    var$2[41] = 112;
    var$2[42] = 113;
    var$2[43] = 114;
    var$2[44] = 115;
    var$2[45] = 116;
    var$2[46] = 117;
    var$2[47] = 118;
    var$2[48] = 119;
    var$2[49] = 120;
    var$2[50] = 121;
    var$2[51] = 122;
    var$2[52] = 48;
    var$2[53] = 49;
    var$2[54] = 50;
    var$2[55] = 51;
    var$2[56] = 52;
    var$2[57] = 53;
    var$2[58] = 54;
    var$2[59] = 55;
    var$2[60] = 56;
    var$2[61] = 57;
    var$2[62] = 43;
    var$2[63] = 47;
    nle_Base64_STANDARD_ENCODE_TABLE = var$1;
    var$1 = $rt_createByteArray(64);
    var$2 = var$1.data;
    var$2[0] = 65;
    var$2[1] = 66;
    var$2[2] = 67;
    var$2[3] = 68;
    var$2[4] = 69;
    var$2[5] = 70;
    var$2[6] = 71;
    var$2[7] = 72;
    var$2[8] = 73;
    var$2[9] = 74;
    var$2[10] = 75;
    var$2[11] = 76;
    var$2[12] = 77;
    var$2[13] = 78;
    var$2[14] = 79;
    var$2[15] = 80;
    var$2[16] = 81;
    var$2[17] = 82;
    var$2[18] = 83;
    var$2[19] = 84;
    var$2[20] = 85;
    var$2[21] = 86;
    var$2[22] = 87;
    var$2[23] = 88;
    var$2[24] = 89;
    var$2[25] = 90;
    var$2[26] = 97;
    var$2[27] = 98;
    var$2[28] = 99;
    var$2[29] = 100;
    var$2[30] = 101;
    var$2[31] = 102;
    var$2[32] = 103;
    var$2[33] = 104;
    var$2[34] = 105;
    var$2[35] = 106;
    var$2[36] = 107;
    var$2[37] = 108;
    var$2[38] = 109;
    var$2[39] = 110;
    var$2[40] = 111;
    var$2[41] = 112;
    var$2[42] = 113;
    var$2[43] = 114;
    var$2[44] = 115;
    var$2[45] = 116;
    var$2[46] = 117;
    var$2[47] = 118;
    var$2[48] = 119;
    var$2[49] = 120;
    var$2[50] = 121;
    var$2[51] = 122;
    var$2[52] = 48;
    var$2[53] = 49;
    var$2[54] = 50;
    var$2[55] = 51;
    var$2[56] = 52;
    var$2[57] = 53;
    var$2[58] = 54;
    var$2[59] = 55;
    var$2[60] = 56;
    var$2[61] = 57;
    var$2[62] = 45;
    var$2[63] = 95;
    nle_Base64_URL_SAFE_ENCODE_TABLE = var$1;
    var$1 = $rt_createByteArray(123);
    var$2 = var$1.data;
    var$2[0] = (-1);
    var$2[1] = (-1);
    var$2[2] = (-1);
    var$2[3] = (-1);
    var$2[4] = (-1);
    var$2[5] = (-1);
    var$2[6] = (-1);
    var$2[7] = (-1);
    var$2[8] = (-1);
    var$2[9] = (-1);
    var$2[10] = (-1);
    var$2[11] = (-1);
    var$2[12] = (-1);
    var$2[13] = (-1);
    var$2[14] = (-1);
    var$2[15] = (-1);
    var$2[16] = (-1);
    var$2[17] = (-1);
    var$2[18] = (-1);
    var$2[19] = (-1);
    var$2[20] = (-1);
    var$2[21] = (-1);
    var$2[22] = (-1);
    var$2[23] = (-1);
    var$2[24] = (-1);
    var$2[25] = (-1);
    var$2[26] = (-1);
    var$2[27] = (-1);
    var$2[28] = (-1);
    var$2[29] = (-1);
    var$2[30] = (-1);
    var$2[31] = (-1);
    var$2[32] = (-1);
    var$2[33] = (-1);
    var$2[34] = (-1);
    var$2[35] = (-1);
    var$2[36] = (-1);
    var$2[37] = (-1);
    var$2[38] = (-1);
    var$2[39] = (-1);
    var$2[40] = (-1);
    var$2[41] = (-1);
    var$2[42] = (-1);
    var$2[43] = 62;
    var$2[44] = (-1);
    var$2[45] = 62;
    var$2[46] = (-1);
    var$2[47] = 63;
    var$2[48] = 52;
    var$2[49] = 53;
    var$2[50] = 54;
    var$2[51] = 55;
    var$2[52] = 56;
    var$2[53] = 57;
    var$2[54] = 58;
    var$2[55] = 59;
    var$2[56] = 60;
    var$2[57] = 61;
    var$2[58] = (-1);
    var$2[59] = (-1);
    var$2[60] = (-1);
    var$2[61] = (-1);
    var$2[62] = (-1);
    var$2[63] = (-1);
    var$2[64] = (-1);
    var$2[65] = 0;
    var$2[66] = 1;
    var$2[67] = 2;
    var$2[68] = 3;
    var$2[69] = 4;
    var$2[70] = 5;
    var$2[71] = 6;
    var$2[72] = 7;
    var$2[73] = 8;
    var$2[74] = 9;
    var$2[75] = 10;
    var$2[76] = 11;
    var$2[77] = 12;
    var$2[78] = 13;
    var$2[79] = 14;
    var$2[80] = 15;
    var$2[81] = 16;
    var$2[82] = 17;
    var$2[83] = 18;
    var$2[84] = 19;
    var$2[85] = 20;
    var$2[86] = 21;
    var$2[87] = 22;
    var$2[88] = 23;
    var$2[89] = 24;
    var$2[90] = 25;
    var$2[91] = (-1);
    var$2[92] = (-1);
    var$2[93] = (-1);
    var$2[94] = (-1);
    var$2[95] = 63;
    var$2[96] = (-1);
    var$2[97] = 26;
    var$2[98] = 27;
    var$2[99] = 28;
    var$2[100] = 29;
    var$2[101] = 30;
    var$2[102] = 31;
    var$2[103] = 32;
    var$2[104] = 33;
    var$2[105] = 34;
    var$2[106] = 35;
    var$2[107] = 36;
    var$2[108] = 37;
    var$2[109] = 38;
    var$2[110] = 39;
    var$2[111] = 40;
    var$2[112] = 41;
    var$2[113] = 42;
    var$2[114] = 43;
    var$2[115] = 44;
    var$2[116] = 45;
    var$2[117] = 46;
    var$2[118] = 47;
    var$2[119] = 48;
    var$2[120] = 49;
    var$2[121] = 50;
    var$2[122] = 51;
    nle_Base64_DECODE_TABLE = var$1;
}
function nle_ConfigConstants() {
    jl_Object.call(this);
}
var nle_ConfigConstants_profanity = 0;
var nle_ConfigConstants_ayonullTitle = null;
var nle_ConfigConstants_ayonullLink = null;
var nle_ConfigConstants_proxies = null;
var nle_ConfigConstants_ipPattern = null;
var nle_ConfigConstants_mainMenuItem = 0;
var nle_ConfigConstants_mainMenuItemLine0 = null;
var nle_ConfigConstants_mainMenuItemLine1 = null;
var nle_ConfigConstants_mainMenuItemLine2 = null;
var nle_ConfigConstants_mainMenuItemLink = null;
function nle_ConfigConstants__init_0() {
    var var_0 = new nle_ConfigConstants();
    nle_ConfigConstants__init_(var_0);
    return var_0;
}
function nle_ConfigConstants__init_($this) {
    return;
}
function nle_ConfigConstants__clinit_() {
    var var$1, var$2;
    nle_ConfigConstants_profanity = 0;
    nle_ConfigConstants_ayonullTitle = null;
    nle_ConfigConstants_ayonullLink = null;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(282);
    var$2[1] = $rt_s(283);
    var$2[2] = $rt_s(284);
    nle_ConfigConstants_proxies = var$1;
    nle_ConfigConstants_ipPattern = jur_Pattern_compile($rt_s(285));
    nle_ConfigConstants_mainMenuItem = (-1);
    nle_ConfigConstants_mainMenuItemLine0 = null;
    nle_ConfigConstants_mainMenuItemLine1 = null;
    nle_ConfigConstants_mainMenuItemLine2 = null;
    nle_ConfigConstants_mainMenuItemLink = null;
}
function nms_ServerData() {
    var a = this; jl_Object.call(a);
    a.$serverName = null;
    a.$serverIP = null;
    a.$id1 = 0;
    a.$populationInfo = null;
    a.$serverMOTD = null;
    a.$pingToServer = Long_ZERO;
    a.$pingSentTime = Long_ZERO;
    a.$field_82821_f = 0;
    a.$gameVersion = null;
    a.$hasPing = 0;
    a.$field_78842_g = 0;
    a.$acceptsTextures = 0;
    a.$currentQuery = null;
    a.$serverIcon = null;
    a.$serverIconDirty = 0;
    a.$serverIconEnabled = 0;
    a.$hasError = 0;
    a.$playerList = null;
    a.$serverIconGL = 0;
    a.$isDefault = 0;
    a.$hideAddress = 0;
}
var nms_ServerData_idCounter = 0;
function nms_ServerData__init_(var_0, var_1, var_2) {
    var var_3 = new nms_ServerData();
    nms_ServerData__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_ServerData__init_0($this, $par1Str, $par2Str, $isDefault) {
    $this.$field_82821_f = 61;
    $this.$gameVersion = $rt_s(286);
    $this.$hasPing = 0;
    $this.$field_78842_g = 1;
    $this.$acceptsTextures = 0;
    $this.$currentQuery = null;
    $this.$serverIcon = null;
    $this.$serverIconDirty = 0;
    $this.$serverIconEnabled = 0;
    $this.$hasError = 0;
    $this.$playerList = ju_ArrayList__init_0();
    $this.$serverIconGL = (-1);
    $this.$hideAddress = 0;
    $this.$serverName = $par1Str;
    $this.$serverIP = $par2Str;
    $this.$isDefault = $isDefault;
    $isDefault = nms_ServerData_idCounter + 1 | 0;
    nms_ServerData_idCounter = $isDefault;
    $this.$id1 = $isDefault;
}
function nms_ServerData_hashCode($this) {
    return $this.$id1;
}
function nms_ServerData_equals($this, $o) {
    return $o instanceof nms_ServerData && $this.$id1 == $o.$id1 ? 1 : 0;
}
function nms_ServerData_getNBTCompound($this) {
    var $var1;
    $var1 = nms_NBTTagCompound__init_0();
    nms_NBTTagCompound_setString($var1, $rt_s(287), $this.$serverName);
    nms_NBTTagCompound_setString($var1, $rt_s(288), $this.$serverIP);
    nms_NBTTagCompound_setBoolean($var1, $rt_s(289), $this.$hideAddress);
    return $var1;
}
function nms_ServerData_isHidingAddress($this) {
    return $this.$hideAddress;
}
function nms_ServerData_setHideAddress($this, $par1) {
    $this.$hideAddress = $par1;
}
function nms_ServerData_getServerDataFromNBTCompound($par0NBTTagCompound) {
    var $var1;
    $var1 = nms_ServerData__init_(nms_NBTTagCompound_getString($par0NBTTagCompound, $rt_s(287)), nms_NBTTagCompound_getString($par0NBTTagCompound, $rt_s(288)), nms_NBTTagCompound_getBoolean($par0NBTTagCompound, $rt_s(222)));
    $var1.$hideAddress = nms_NBTTagCompound_getBoolean($par0NBTTagCompound, $rt_s(289));
    return $var1;
}
function nms_ServerData_setMOTDFromQuery($this, $pkt) {
    var $motdData, $motd, $players, $i, $l;
    $motdData = nle_ServerQuery$QueryResponse_getResponseJSON($pkt);
    $motd = oj_JSONObject_getJSONArray($motdData, $rt_s(290));
    if (oj_JSONArray_length($motd) <= 0)
        $pkt = $rt_s(36);
    else if (oj_JSONArray_length($motd) <= 1)
        $pkt = oj_JSONArray_getString($motd, 0);
    else {
        $pkt = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($pkt);
        jl_AbstractStringBuilder_append($pkt, oj_JSONArray_getString($motd, 0));
        jl_AbstractStringBuilder_append($pkt, $rt_s(64));
        jl_AbstractStringBuilder_append($pkt, oj_JSONArray_getString($motd, 1));
        $pkt = jl_AbstractStringBuilder_toString($pkt);
    }
    $this.$serverMOTD = $pkt;
    $pkt = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($pkt);
    jl_AbstractStringBuilder_append($pkt, $rt_s(36));
    jl_AbstractStringBuilder_append2($pkt, oj_JSONObject_getInt($motdData, $rt_s(291)));
    jl_AbstractStringBuilder_append($pkt, $rt_s(61));
    jl_AbstractStringBuilder_append2($pkt, oj_JSONObject_getInt($motdData, $rt_s(292)));
    $this.$populationInfo = jl_AbstractStringBuilder_toString($pkt);
    ju_ArrayList_clear($this.$playerList);
    $players = oj_JSONObject_getJSONArray($motdData, $rt_s(293));
    $i = 0;
    $l = oj_JSONArray_length($players);
    while ($i < $l) {
        ju_ArrayList_add($this.$playerList, oj_JSONArray_getString($players, $i));
        $i = $i + 1 | 0;
    }
    $this.$serverIconEnabled = oj_JSONObject_getBoolean($motdData, $rt_s(294));
    if (!$this.$serverIconEnabled && $this.$serverIconGL != (-1)) {
        nleg_EaglerAdapterGL30_glDeleteTextures($this.$serverIconGL);
        $this.$serverIconGL = (-1);
    }
    $this.$hasError = 0;
}
function nms_ServerData_setRateLimitError($this, $lock, $isTcp) {
    var var$3;
    if ($lock) {
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append1(var$3, nms_EnumChatFormatting_RED);
        jl_AbstractStringBuilder_append(var$3, $rt_s(295));
        jl_AbstractStringBuilder_append1(var$3, nms_EnumChatFormatting_GRAY);
        jl_AbstractStringBuilder_append(var$3, $rt_s(296));
        $this.$serverMOTD = jl_AbstractStringBuilder_toString(var$3);
    } else if (!$isTcp) {
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append1(var$3, nms_EnumChatFormatting_RED);
        jl_AbstractStringBuilder_append(var$3, $rt_s(297));
        jl_AbstractStringBuilder_append1(var$3, nms_EnumChatFormatting_GRAY);
        jl_AbstractStringBuilder_append(var$3, $rt_s(298));
        $this.$serverMOTD = jl_AbstractStringBuilder_toString(var$3);
    } else {
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append1(var$3, nms_EnumChatFormatting_RED);
        jl_AbstractStringBuilder_append(var$3, $rt_s(299));
        jl_AbstractStringBuilder_append1(var$3, nms_EnumChatFormatting_GRAY);
        jl_AbstractStringBuilder_append(var$3, $rt_s(298));
        $this.$serverMOTD = jl_AbstractStringBuilder_toString(var$3);
    }
    $this.$populationInfo = $rt_s(36);
    ju_ArrayList_clear($this.$playerList);
    $this.$serverIconEnabled = 0;
    $this.$hasError = 1;
}
function nms_ServerData_refreshIcon($this) {
    var $buf;
    if (!$this.$serverIconEnabled) {
        if ($this.$serverIconGL != (-1)) {
            nleg_EaglerAdapterGL30_glDeleteTextures($this.$serverIconGL);
            $this.$serverIconGL = (-1);
            $this.$serverIconDirty = 0;
        }
    } else if ($this.$serverIconDirty && $this.$serverIcon !== null) {
        if ($this.$serverIconGL != (-1))
            nms_RenderEngine_bindTexture(nmc_Minecraft_theMinecraft.$renderEngine, $this.$serverIconGL);
        else {
            $this.$serverIconGL = nleg_EaglerAdapterGL30_glGenTextures();
            nms_RenderEngine_bindTexture(nmc_Minecraft_theMinecraft.$renderEngine, $this.$serverIconGL);
            nleg_EaglerAdapterGL30_glTexParameteri(3553, 10242, 10497);
            nleg_EaglerAdapterGL30_glTexParameteri(3553, 10243, 10497);
            nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
            nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        }
        $buf = nms_GLAllocation_createDirectIntBuffer(4096);
        jn_IntBuffer_put($buf, $this.$serverIcon);
        jn_IntBuffer_flip($buf);
        nleg_EaglerAdapterGL30_glTexImage2D(3553, 0, 6408, 64, 64, 0, 32993, 33639, $buf);
        $this.$serverIconDirty = 0;
    }
}
function nms_ServerData_freeIcon($this) {
    if ($this.$serverIconGL != (-1)) {
        nleg_EaglerAdapterGL30_glDeleteTextures($this.$serverIconGL);
        $this.$serverIconGL = (-1);
    }
    $this.$serverIconDirty = 0;
    $this.$serverIconEnabled = 0;
}
function nms_ServerData__clinit_() {
    nms_ServerData_idCounter = 0;
}
function jl_System() {
    jl_Object.call(this);
}
var jl_System_outCache = null;
var jl_System_errCache = null;
function jl_System__init_0() {
    var var_0 = new jl_System();
    jl_System__init_(var_0);
    return var_0;
}
function jl_System__init_($this) {
    return;
}
function jl_System_out() {
    if (jl_System_outCache === null)
        jl_System_outCache = ji_PrintStream__init_(new jl_ConsoleOutputStreamStdout, 0);
    return jl_System_outCache;
}
function jl_System_err() {
    if (jl_System_errCache === null)
        jl_System_errCache = ji_PrintStream__init_(new jl_ConsoleOutputStreamStderr, 0);
    return jl_System_errCache;
}
function jl_System_arraycopy($src, $srcPos, $dest, $destPos, $length) {
    var $srcType, $targetType, $srcArray, $i, var$10, var$11, var$12;
    if ($src !== null && $dest !== null) {
        if ($srcPos >= 0 && $destPos >= 0 && $length >= 0 && ($srcPos + $length | 0) <= jlr_Array_getLength($src) && ($destPos + $length | 0) <= jlr_Array_getLength($dest)) {
            a: {
                b: {
                    if ($src !== $dest) {
                        $srcType = jl_Class_getComponentType(jl_Object_getClass($src));
                        $targetType = jl_Class_getComponentType(jl_Object_getClass($dest));
                        if ($srcType !== null && $targetType !== null) {
                            if ($srcType === $targetType)
                                break b;
                            if (!jl_Class_isPrimitive($srcType) && !jl_Class_isPrimitive($targetType)) {
                                $srcArray = $src;
                                $i = 0;
                                var$10 = $srcPos;
                                while ($i < $length) {
                                    var$11 = $srcArray.data;
                                    var$12 = var$10 + 1 | 0;
                                    if (!jl_Class_isInstance($targetType, var$11[var$10])) {
                                        jl_System_doArrayCopy($src, $srcPos, $dest, $destPos, $i);
                                        $src = new jl_ArrayStoreException;
                                        jl_Throwable__init_0($src);
                                        $rt_throw($src);
                                    }
                                    $i = $i + 1 | 0;
                                    var$10 = var$12;
                                }
                                jl_System_doArrayCopy($src, $srcPos, $dest, $destPos, $length);
                                return;
                            }
                            if (!jl_Class_isPrimitive($srcType))
                                break a;
                            if (jl_Class_isPrimitive($targetType))
                                break b;
                            else
                                break a;
                        }
                        $src = new jl_ArrayStoreException;
                        jl_Throwable__init_0($src);
                        $rt_throw($src);
                    }
                }
                jl_System_doArrayCopy($src, $srcPos, $dest, $destPos, $length);
                return;
            }
            $src = new jl_ArrayStoreException;
            jl_Throwable__init_0($src);
            $rt_throw($src);
        }
        $src = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0($src);
        $rt_throw($src);
    }
    $dest = new jl_NullPointerException;
    jl_Throwable__init_($dest, $rt_s(300));
    $rt_throw($dest);
}
function jl_System_doArrayCopy(var$1, var$2, var$3, var$4, var$5) {
    if (var$1 !== var$3 || var$4 < var$2) {
        for (var i = 0; i < var$5; i = (i + 1) | 0) {
            var$3.data[var$4++] = var$1.data[var$2++];
        }
    } else {
        var$2 = (var$2 + var$5) | 0;
        var$4 = (var$4 + var$5) | 0;
        for (var i = 0; i < var$5; i = (i + 1) | 0) {
            var$3.data[--var$4] = var$1.data[--var$2];
        }
    }
}
function jl_System_currentTimeMillis() {
    return Long_fromNumber(new Date().getTime());
}
function jl_System_nanoTime() {
    return Long_fromNumber(performance.now() * 1000000.0);
}
function nmc_Minecraft() {
    var a = this; jl_Object.call(a);
    a.$currentServerData = null;
    a.$playerController = null;
    a.$fullscreen = 0;
    a.$hasCrashed = 0;
    a.$isGonnaTakeDatScreenShot = 0;
    a.$displayWidth = 0;
    a.$displayHeight = 0;
    a.$timer = null;
    a.$theWorld = null;
    a.$renderGlobal = null;
    a.$thePlayer = null;
    a.$renderViewEntity = null;
    a.$pointedEntityLiving = null;
    a.$effectRenderer = null;
    a.$hideQuitButton = 0;
    a.$isGamePaused = 0;
    a.$renderEngine = null;
    a.$fontRenderer = null;
    a.$standardGalacticFontRenderer = null;
    a.$currentScreen = null;
    a.$loadingScreen = null;
    a.$entityRenderer = null;
    a.$leftClickCounter = 0;
    a.$tempDisplayHeight = 0;
    a.$guiAchievement = null;
    a.$ingameGUI = null;
    a.$skipRenderWorld = 0;
    a.$objectMouseOver = null;
    a.$gameSettings = null;
    a.$sndManager = null;
    a.$mouseHelper = null;
    a.$texturePackList = null;
    a.$rightClickDelayTimer = 0;
    a.$refreshTexturePacksScheduled = 0;
    a.$isTakingScreenshot = 0;
    a.$inGameHasFocus = 0;
    a.$systemTime = Long_ZERO;
    a.$joinPlayerCounter = 0;
    a.$isDemo = 0;
    a.$myNetworkManager = null;
    a.$integratedServerIsRunning = 0;
    a.$mcProfiler = null;
    a.$field_83002_am = Long_ZERO;
    a.$chunkUpdates = 0;
    a.$running = 0;
    a.$debug = null;
    a.$debugUpdateTime = Long_ZERO;
    a.$fpsCounter = 0;
    a.$prevFrameTime = Long_ZERO;
    a.$secondTimer = Long_ZERO;
    a.$shownPlayerMessages = null;
    a.$debugProfilerName = null;
    a.$titleMusicObj = 0;
}
var nmc_Minecraft_theMinecraft = null;
var nmc_Minecraft_debugFPS = 0;
var nmc_Minecraft_debugChunkUpdates = 0;
function nmc_Minecraft__init_() {
    var var_0 = new nmc_Minecraft();
    nmc_Minecraft__init_0(var_0);
    return var_0;
}
function nmc_Minecraft__init_0($this) {
    var var$1;
    $this.$fullscreen = 0;
    $this.$hasCrashed = 0;
    $this.$isGonnaTakeDatScreenShot = 0;
    var$1 = new nms_Timer;
    var$1.$timerSpeed = 1.0;
    var$1.$elapsedPartialTicks = 0.0;
    var$1.$timeSyncAdjustment = 1.0;
    var$1.$ticksPerSecond = 20.0;
    var$1.$lastSyncSysClock = jl_System_currentTimeMillis();
    var$1.$lastSyncHRClock = Long_div(jl_System_nanoTime(), Long_fromInt(1000000));
    $this.$timer = var$1;
    $this.$hideQuitButton = 0;
    $this.$isGamePaused = 0;
    $this.$currentScreen = null;
    $this.$leftClickCounter = 0;
    $this.$skipRenderWorld = 0;
    $this.$objectMouseOver = null;
    $this.$sndManager = nms_SoundManager__init_0();
    $this.$rightClickDelayTimer = 0;
    $this.$isTakingScreenshot = 0;
    $this.$inGameHasFocus = 0;
    $this.$systemTime = jl_System_currentTimeMillis();
    $this.$joinPlayerCounter = 0;
    $this.$mcProfiler = nms_Profiler__init_0();
    $this.$field_83002_am = Long_fromInt(-1);
    $this.$chunkUpdates = 0;
    $this.$running = 1;
    $this.$debug = $rt_s(36);
    $this.$debugUpdateTime = jl_System_currentTimeMillis();
    $this.$fpsCounter = 0;
    $this.$prevFrameTime = Long_fromInt(-1);
    $this.$secondTimer = Long_ZERO;
    $this.$shownPlayerMessages = ju_HashSet__init_0();
    $this.$debugProfilerName = $rt_s(301);
    $this.$titleMusicObj = (-1);
    $this.$tempDisplayHeight = 480;
    $this.$fullscreen = 0;
    nms_Packet3Chat_maxChatLength = 32767;
    $this.$displayWidth = 854;
    $this.$displayHeight = 480;
    $this.$fullscreen = 0;
    nmc_Minecraft_theMinecraft = $this;
}
function nmc_Minecraft_startGame($this) {
    var var$1, $s, $scr, var$4, var$5, var$6, var$7, var$8, var$9, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$scr = $thread.pop();$s = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_OpenGlHelper_defaultTexUnit = 33984;
        nms_OpenGlHelper_lightmapTexUnit = 33985;
        nms_TextureManager_instance = nms_TextureManager__init_0();
        $this.$gameSettings = nms_GameSettings__init_($this);
        var$1 = new nms_TexturePackList;
        $ptr = 1;
    case 1:
        nms_TexturePackList_$callClinit();
        if ($rt_suspending()) {
            break main;
        }
        var$1.$availableTexturePacks = ju_ArrayList__init_0();
        var$1.$texturePackCache = ju_HashMap__init_();
        var$1.$mc0 = $this;
        $ptr = 2;
    case 2:
        nms_TexturePackList_updateAvaliableTexturePacks(var$1);
        if ($rt_suspending()) {
            break main;
        }
        $this.$texturePackList = var$1;
        var$1 = new nms_RenderEngine;
        $s = $this.$texturePackList;
        $scr = $this.$gameSettings;
        var$1.$textureMap = ju_HashMap__init_();
        var$1.$textureContentsMap = ju_HashMap__init_();
        var$1.$textureNameToImageMap = nms_IntHashMap__init_0();
        var$1.$urlToImageDataMap = ju_HashMap__init_();
        var$1.$imageData = nms_GLAllocation_createDirectIntBuffer(4194304);
        var$1.$texturePack = $s;
        var$1.$options = $scr;
        var$4 = $rt_createIntArray(256);
        var$5 = var$4.data;
        var$6 = 0;
        while (var$6 < 256) {
            var$5[var$6] = ((var$6 / 16 | 0) + (var$6 % 16 | 0) | 0) % 2 | 0 ? (-16777216) : (-65281);
            var$6 = var$6 + 1 | 0;
        }
        var$1.$missingTextureImage = nle_EaglerImage__init_(var$4, 16, 16, 1);
        var$1.$textureMapBlocks = nle_TextureTerrainMap__init_(1024, $rt_s(302), $rt_s(303), var$1.$missingTextureImage);
        $s = new nms_TextureMap;
        var$7 = var$1.$missingTextureImage;
        $s.$mapTexturesStiched = ju_HashMap__init_();
        $s.$listTextureStiched = ju_ArrayList__init_0();
        $s.$textureStichedMap = ju_HashMap__init_();
        $s.$textureType = 1;
        $s.$textureName = $rt_s(304);
        $s.$basePath = $rt_s(305);
        $s.$textureExt = $rt_s(73);
        $s.$missingImage = var$7;
        var$1.$textureMapItems = $s;
        $this.$renderEngine = var$1;
        $ptr = 3;
    case 3:
        nmc_Minecraft_loadScreen($this);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $rt_s(36);
        a: {
            try {
                var$8 = var$1;
                var$9 = ji_BufferedReader__init_(ji_InputStreamReader__init_(nlea_EaglerAdapterImpl2_loadResource($rt_s(306)), $rt_s(62)));
                while (true) {
                    var$8 = var$1;
                    $s = ji_BufferedReader_readLine(var$9);
                    if ($s === null)
                        break;
                    var$8 = var$1;
                    if (jl_String_startsWith0($s, $rt_s(307)))
                        continue;
                    var$8 = var$1;
                    var$1 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), var$1), $s));
                    var$8 = var$1;
                }
                var$8 = var$1;
                ji_BufferedReader_close(var$9);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            var$1 = var$8;
        }
        nms_ChatAllowedCharacters_allowedCharacters = var$1;
        var$1 = new nms_FontRenderer;
        $s = $this.$gameSettings;
        $scr = $rt_s(308);
        var$9 = $this.$renderEngine;
        var$6 = 0;
        $ptr = 4;
    case 4:
        nms_FontRenderer__init_(var$1, $s, $scr, var$9, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $this.$fontRenderer = var$1;
        var$1 = new nms_FontRenderer;
        $s = $this.$gameSettings;
        $scr = $rt_s(309);
        var$9 = $this.$renderEngine;
        var$6 = 0;
        $ptr = 5;
    case 5:
        nms_FontRenderer__init_(var$1, $s, $scr, var$9, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $this.$standardGalacticFontRenderer = var$1;
        if ($this.$gameSettings.$language !== null)
            nms_StringTranslate_setLanguage(nms_StringTranslate_getInstance(), $this.$gameSettings.$language, 0);
        $ptr = 6;
    case 6:
        nmc_Minecraft_loadScreen($this);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $this.$renderEngine;
        $s = $rt_s(310);
        $ptr = 7;
    case 7:
        $tmp = nms_RenderEngine_getTextureContents(var$1, $s);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $tmp;
        nms_ColorizerGrass_grassBuffer = var$4;
        var$1 = $this.$renderEngine;
        $s = $rt_s(311);
        $ptr = 8;
    case 8:
        $tmp = nms_RenderEngine_getTextureContents(var$1, $s);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $tmp;
        nms_ColorizerFoliage_foliageBuffer = var$4;
        $this.$entityRenderer = nms_EntityRenderer__init_($this);
        nms_RenderManager_instance = nms_RenderManager__init_0();
        nms_RenderManager_instance.$itemRenderer = nms_ItemRenderer__init_($this);
        nms_AchievementList_$callClinit();
        var$1 = nms_AchievementList_openInventory;
        $s = new nms_StatStringFormatKeyInv;
        $s.$mc1 = $this;
        var$1.$statStringFormatter = $s;
        var$1 = new nms_MouseHelper;
        var$1.$field_85184_d = $this.$gameSettings;
        $this.$mouseHelper = var$1;
        nmc_Minecraft_checkGLError($this, $rt_s(312));
        nleg_EaglerAdapterGL30_glEnable(3553);
        nlea_EaglerAdapterImpl2__wglClearDepth((-1.0));
        nleg_EaglerAdapterGL30_glEnable(2929);
        nleg_EaglerAdapterGL30_glDepthFunc(515);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
        nleg_EaglerAdapterGL30_glCullFace(1029);
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nmc_Minecraft_checkGLError($this, $rt_s(313));
        nms_SoundManager_loadSoundSettings($this.$sndManager, $this.$gameSettings);
        $this.$renderGlobal = nms_RenderGlobal__init_($this, $this.$renderEngine);
        var$1 = $this.$renderEngine;
        $ptr = 9;
    case 9:
        nms_RenderEngine_refreshTextureMaps(var$1);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        $this.$effectRenderer = nms_EffectRenderer__init_($this.$theWorld, $this.$renderEngine);
        nleg_EffectPipeline_init();
        nmc_Minecraft_checkGLError($this, $rt_s(314));
        var$1 = new nms_GuiAchievement;
        nms_Gui__init_(var$1);
        var$1.$theGame = $this;
        var$1.$itemRender = nms_RenderItem__init_0();
        $this.$guiAchievement = var$1;
        $this.$ingameGUI = nms_GuiIngame__init_($this);
        nle_EaglerProfile_loadFromStorage();
        var$1 = $this.$sndManager;
        $ptr = 10;
    case 10:
        nms_SoundManager_playTheTitleMusic(var$1);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 11;
    case 11:
        nmc_Minecraft_showIntroAnimation($this);
        if ($rt_suspending()) {
            break main;
        }
        $s = nlea_EaglerAdapterImpl2_getServerToJoinOnLaunch();
        if ($s === null) {
            $scr = nle_GuiScreenEditProfile__init_(nms_GuiMainMenu__init_0());
            nmc_Minecraft_displayGuiScreen($this, nms_NBTTagCompound_getBoolean(nle_LocalStorageManager_profileSettingsStorage, $rt_s(315)) ? $scr : nle_GuiScreenLicense__init_($scr));
            $this.$loadingScreen = nms_LoadingScreenRenderer__init_($this);
            return;
        }
        $scr = new nle_GuiScreenEditProfile;
        var$9 = new nms_GuiConnecting;
        var$7 = nms_GuiMainMenu__init_0();
        var$8 = nms_ServerData__init_($rt_s(316), $s, 0);
        $ptr = 12;
    case 12:
        nms_GuiConnecting__init_(var$9, var$7, $this, var$8);
        if ($rt_suspending()) {
            break main;
        }
        nle_GuiScreenEditProfile__init_0($scr, var$9);
        nmc_Minecraft_displayGuiScreen($this, nms_NBTTagCompound_getBoolean(nle_LocalStorageManager_profileSettingsStorage, $rt_s(315)) ? $scr : nle_GuiScreenLicense__init_($scr));
        $this.$loadingScreen = nms_LoadingScreenRenderer__init_($this);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $s, $scr, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
}
function nmc_Minecraft_showWarningText($this) {
    var $var1, $s, var$3, var$4, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$s = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        $s = $rt_s(317);
        var$3 = $this.$fontRenderer;
        var$4 = ($var1.$scaledWidth - nms_FontRenderer_getStringWidth($this.$fontRenderer, $s) | 0) / 2 | 0;
        var$5 = $var1.$scaledHeight - 50 | 0;
        var$6 = (-3355444);
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$3, $s, var$4, var$5, var$6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $s, var$3, var$4, var$5, var$6, $ptr);
}
function nmc_Minecraft_showIntroAnimation($this) {
    var $t1, $i, $t, $var1, $f, $e, var$7, $f_0, $i_0, $t_0, $f1, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$f1 = $thread.pop();$t_0 = $thread.pop();$i_0 = $thread.pop();$f_0 = $thread.pop();var$7 = $thread.pop();$e = $thread.pop();$f = $thread.pop();$var1 = $thread.pop();$t = $thread.pop();$i = $thread.pop();$t1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_ScaledResolution__init_0(new nms_ScaledResolution, $this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        nleg_EaglerAdapterGL30_glClearColor(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-2000.0));
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glDisable(2912);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $t1 = jl_System_currentTimeMillis();
        $i = 0;
        $t = Long_add($t1, Long_fromInt(17));
        if ($i < 20) {
            $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
            $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
            nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
            $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glOrtho(0.0, nms_ScaledResolution_getScaledWidth($var1), nms_ScaledResolution_getScaledHeight($var1), 0.0, 1000.0, 3000.0);
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 333.0;
            nleg_EaglerAdapterGL30_glClear(16640);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
            $e = $this.$renderEngine;
            var$7 = $rt_s(318);
            $ptr = 1;
            continue main;
        }
        $t1 = jl_System_currentTimeMillis();
        $i = 0;
        $t = Long_add($t1, Long_fromInt(17));
        if ($i < 20) {
            $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
            $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
            nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
            var$7 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glOrtho(0.0, nms_ScaledResolution_getScaledWidth(var$7), nms_ScaledResolution_getScaledHeight(var$7), 0.0, 1000.0, 3000.0);
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $f_0 = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 333.0;
            nleg_EaglerAdapterGL30_glClear(16640);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float($f_0, 0.0, 1.0));
            $var1 = $this.$renderEngine;
            $e = $rt_s(319);
            $ptr = 6;
            continue main;
        }
        try {
            $t1 = Long_fromInt(1600);
            $ptr = 5;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_InterruptedException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $e.$printStackTrace1();
        $t1 = jl_System_currentTimeMillis();
        $i_0 = 0;
        $t_0 = Long_add($t1, Long_fromInt(17));
        if ($i_0 >= 21) {
            nleg_EaglerAdapterGL30_glClear(16640);
            $ptr = 10;
            continue main;
        }
        $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 340.0;
        nleg_EaglerAdapterGL30_glClear(16640);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
        $e = $this.$renderEngine;
        var$7 = $rt_s(319);
        $ptr = 12;
        continue main;
    case 1:
        nms_RenderEngine_bindTexture0($e, var$7);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        $f1 = 1.0 + 0.02500000037252903 * $f * $f;
        nleg_EaglerAdapterGL30_glTranslatef((nms_ScaledResolution_getScaledWidth($var1) - 256 | 0) / 2 | 0, (nms_ScaledResolution_getScaledHeight($var1) - 256 | 0) / 2 | 0, 0.0);
        $f = (-128.0) * ($f1 - 1.0);
        nleg_EaglerAdapterGL30_glTranslatef($f, $f, 0.0);
        nleg_EaglerAdapterGL30_glScalef($f1, $f1, 1.0);
        nmc_Minecraft_scaledTessellator($this, 0, 0, 0, 0, 256, 256);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 2;
    case 2:
        nmc_Minecraft_showWarningText($this);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glFlush();
        $ptr = 3;
    case 3:
        nlea_EaglerAdapterImpl2_updateDisplay();
        if ($rt_suspending()) {
            break main;
        }
        $t_0 = Long_sub(Long_add($t, Long_fromInt(17 * $i | 0)), jl_System_currentTimeMillis());
        if (Long_gt($t_0, Long_ZERO)) {
            try {
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $e.$printStackTrace1();
        }
        $i = $i + 1 | 0;
        if ($i < 20) {
            $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
            $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
            nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
            $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glOrtho(0.0, nms_ScaledResolution_getScaledWidth($var1), nms_ScaledResolution_getScaledHeight($var1), 0.0, 1000.0, 3000.0);
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 333.0;
            nleg_EaglerAdapterGL30_glClear(16640);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
            $e = $this.$renderEngine;
            var$7 = $rt_s(318);
            $ptr = 1;
            continue main;
        }
        $t1 = jl_System_currentTimeMillis();
        $i = 0;
        $t = Long_add($t1, Long_fromInt(17));
        if ($i < 20) {
            $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
            $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
            nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
            var$7 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glOrtho(0.0, nms_ScaledResolution_getScaledWidth(var$7), nms_ScaledResolution_getScaledHeight(var$7), 0.0, 1000.0, 3000.0);
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $f_0 = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 333.0;
            nleg_EaglerAdapterGL30_glClear(16640);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float($f_0, 0.0, 1.0));
            $var1 = $this.$renderEngine;
            $e = $rt_s(319);
            $ptr = 6;
            continue main;
        }
        try {
            $t1 = Long_fromInt(1600);
            $ptr = 5;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_InterruptedException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $e.$printStackTrace1();
        $t1 = jl_System_currentTimeMillis();
        $i_0 = 0;
        $t_0 = Long_add($t1, Long_fromInt(17));
        if ($i_0 >= 21) {
            nleg_EaglerAdapterGL30_glClear(16640);
            $ptr = 10;
            continue main;
        }
        $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 340.0;
        nleg_EaglerAdapterGL30_glClear(16640);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
        $e = $this.$renderEngine;
        var$7 = $rt_s(319);
        $ptr = 12;
        continue main;
    case 4:
        a: {
            try {
                jl_Thread_sleep($t_0);
                if ($rt_suspending()) {
                    break main;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $e.$printStackTrace1();
        }
        $i = $i + 1 | 0;
        if ($i < 20) {
            $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
            $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
            nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
            $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glOrtho(0.0, nms_ScaledResolution_getScaledWidth($var1), nms_ScaledResolution_getScaledHeight($var1), 0.0, 1000.0, 3000.0);
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 333.0;
            nleg_EaglerAdapterGL30_glClear(16640);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
            $e = $this.$renderEngine;
            var$7 = $rt_s(318);
            $ptr = 1;
            continue main;
        }
        $t1 = jl_System_currentTimeMillis();
        $i = 0;
        $t = Long_add($t1, Long_fromInt(17));
        if ($i < 20) {
            $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
            $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
            nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
            var$7 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glOrtho(0.0, nms_ScaledResolution_getScaledWidth(var$7), nms_ScaledResolution_getScaledHeight(var$7), 0.0, 1000.0, 3000.0);
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $f_0 = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 333.0;
            nleg_EaglerAdapterGL30_glClear(16640);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float($f_0, 0.0, 1.0));
            $var1 = $this.$renderEngine;
            $e = $rt_s(319);
            $ptr = 6;
            continue main;
        }
        try {
            $t1 = Long_fromInt(1600);
            $ptr = 5;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_InterruptedException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $e.$printStackTrace1();
        $t1 = jl_System_currentTimeMillis();
        $i_0 = 0;
        $t_0 = Long_add($t1, Long_fromInt(17));
        if ($i_0 >= 21) {
            nleg_EaglerAdapterGL30_glClear(16640);
            $ptr = 10;
            continue main;
        }
        $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 340.0;
        nleg_EaglerAdapterGL30_glClear(16640);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
        $e = $this.$renderEngine;
        var$7 = $rt_s(319);
        $ptr = 12;
        continue main;
    case 5:
        a: {
            try {
                jl_Thread_sleep($t1);
                if ($rt_suspending()) {
                    break main;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $e.$printStackTrace1();
        }
        $t1 = jl_System_currentTimeMillis();
        $i_0 = 0;
        $t_0 = Long_add($t1, Long_fromInt(17));
        if ($i_0 >= 21) {
            nleg_EaglerAdapterGL30_glClear(16640);
            $ptr = 10;
            continue main;
        }
        $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 340.0;
        nleg_EaglerAdapterGL30_glClear(16640);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
        $e = $this.$renderEngine;
        var$7 = $rt_s(319);
        $ptr = 12;
        continue main;
    case 6:
        nms_RenderEngine_bindTexture0($var1, $e);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        $f1 = 0.875 + 0.02500000037252903 * jl_Math_sqrt($f_0);
        nleg_EaglerAdapterGL30_glTranslatef((nms_ScaledResolution_getScaledWidth(var$7) - 256 | 0) / 2 | 0, (nms_ScaledResolution_getScaledHeight(var$7) - 256 | 0) / 2 | 0, 0.0);
        $f = (-128.0) * ($f1 - 1.0);
        nleg_EaglerAdapterGL30_glTranslatef($f, $f, 0.0);
        nleg_EaglerAdapterGL30_glScalef($f1, $f1, 1.0);
        nmc_Minecraft_scaledTessellator($this, 0, 0, 0, 0, 256, 256);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 7;
    case 7:
        nmc_Minecraft_showWarningText($this);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glFlush();
        $ptr = 8;
    case 8:
        nlea_EaglerAdapterImpl2_updateDisplay();
        if ($rt_suspending()) {
            break main;
        }
        $t_0 = Long_sub(Long_add($t, Long_fromInt(17 * $i | 0)), jl_System_currentTimeMillis());
        if (Long_gt($t_0, Long_ZERO)) {
            try {
                $ptr = 9;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $e.$printStackTrace1();
        }
        $i = $i + 1 | 0;
        if ($i < 20) {
            $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
            $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
            nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
            var$7 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glOrtho(0.0, nms_ScaledResolution_getScaledWidth(var$7), nms_ScaledResolution_getScaledHeight(var$7), 0.0, 1000.0, 3000.0);
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $f_0 = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 333.0;
            nleg_EaglerAdapterGL30_glClear(16640);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float($f_0, 0.0, 1.0));
            $var1 = $this.$renderEngine;
            $e = $rt_s(319);
            $ptr = 6;
            continue main;
        }
        try {
            $t1 = Long_fromInt(1600);
            $ptr = 5;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_InterruptedException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $e.$printStackTrace1();
        $t1 = jl_System_currentTimeMillis();
        $i_0 = 0;
        $t_0 = Long_add($t1, Long_fromInt(17));
        if ($i_0 >= 21) {
            nleg_EaglerAdapterGL30_glClear(16640);
            $ptr = 10;
            continue main;
        }
        $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 340.0;
        nleg_EaglerAdapterGL30_glClear(16640);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
        $e = $this.$renderEngine;
        var$7 = $rt_s(319);
        $ptr = 12;
        continue main;
    case 9:
        a: {
            try {
                jl_Thread_sleep($t_0);
                if ($rt_suspending()) {
                    break main;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $e.$printStackTrace1();
        }
        $i = $i + 1 | 0;
        if ($i < 20) {
            $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
            $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
            nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
            var$7 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glOrtho(0.0, nms_ScaledResolution_getScaledWidth(var$7), nms_ScaledResolution_getScaledHeight(var$7), 0.0, 1000.0, 3000.0);
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $f_0 = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 333.0;
            nleg_EaglerAdapterGL30_glClear(16640);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float($f_0, 0.0, 1.0));
            $var1 = $this.$renderEngine;
            $e = $rt_s(319);
            $ptr = 6;
            continue main;
        }
        try {
            $t1 = Long_fromInt(1600);
            $ptr = 5;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_InterruptedException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $e.$printStackTrace1();
        $t1 = jl_System_currentTimeMillis();
        $i_0 = 0;
        $t_0 = Long_add($t1, Long_fromInt(17));
        if ($i_0 >= 21) {
            nleg_EaglerAdapterGL30_glClear(16640);
            $ptr = 10;
            continue main;
        }
        $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 340.0;
        nleg_EaglerAdapterGL30_glClear(16640);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
        $e = $this.$renderEngine;
        var$7 = $rt_s(319);
        $ptr = 12;
        continue main;
    case 10:
        nmc_Minecraft_showWarningText($this);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glFlush();
        $ptr = 11;
    case 11:
        nlea_EaglerAdapterImpl2_updateDisplay();
        if ($rt_suspending()) {
            break main;
        }
        try {
            $t1 = Long_fromInt(100);
            $ptr = 15;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_InterruptedException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $e.$printStackTrace1();
        nle_GuiScreenVoiceChannel_fadeInTimer = jl_System_currentTimeMillis();
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
        while (nlea_EaglerAdapterImpl2_keysNext()) {
        }
        while (nlea_EaglerAdapterImpl2_mouseNext()) {
        }
        return;
    case 12:
        nms_RenderEngine_bindTexture0($e, var$7);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        $f1 = 0.8999999761581421 + 0.02500000037252903 * $f * $f;
        nleg_EaglerAdapterGL30_glTranslatef((nms_ScaledResolution_getScaledWidth($var1) - 256 | 0) / 2 | 0, (nms_ScaledResolution_getScaledHeight($var1) - 256 | 0) / 2 | 0, 0.0);
        $f = (-128.0) * ($f1 - 1.0);
        nleg_EaglerAdapterGL30_glTranslatef($f, $f, 0.0);
        nleg_EaglerAdapterGL30_glScalef($f1, $f1, 1.0);
        nmc_Minecraft_scaledTessellator($this, 0, 0, 0, 0, 256, 256);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 13;
    case 13:
        nmc_Minecraft_showWarningText($this);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glFlush();
        $ptr = 14;
    case 14:
        nlea_EaglerAdapterImpl2_updateDisplay();
        if ($rt_suspending()) {
            break main;
        }
        $t = Long_sub(Long_add($t_0, Long_fromInt(17 * $i_0 | 0)), jl_System_currentTimeMillis());
        if (Long_gt($t, Long_ZERO)) {
            try {
                $ptr = 16;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $e.$printStackTrace1();
        }
        $i_0 = $i_0 + 1 | 0;
        if ($i_0 >= 21) {
            nleg_EaglerAdapterGL30_glClear(16640);
            $ptr = 10;
            continue main;
        }
        $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 340.0;
        nleg_EaglerAdapterGL30_glClear(16640);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
        $e = $this.$renderEngine;
        var$7 = $rt_s(319);
        $ptr = 12;
        continue main;
    case 15:
        a: {
            try {
                jl_Thread_sleep($t1);
                if ($rt_suspending()) {
                    break main;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $e.$printStackTrace1();
        }
        nle_GuiScreenVoiceChannel_fadeInTimer = jl_System_currentTimeMillis();
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
        while (nlea_EaglerAdapterImpl2_keysNext()) {
        }
        while (nlea_EaglerAdapterImpl2_mouseNext()) {
        }
        return;
    case 16:
        a: {
            try {
                jl_Thread_sleep($t);
                if ($rt_suspending()) {
                    break main;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            $e.$printStackTrace1();
        }
        $i_0 = $i_0 + 1 | 0;
        if ($i_0 >= 21) {
            nleg_EaglerAdapterGL30_glClear(16640);
            $ptr = 10;
            continue main;
        }
        $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        $f = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $t1)) / 340.0;
        nleg_EaglerAdapterGL30_glClear(16640);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, nms_MathHelper_clamp_float(1.0 - $f, 0.0, 1.0));
        $e = $this.$renderEngine;
        var$7 = $rt_s(319);
        $ptr = 12;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $t1, $i, $t, $var1, $f, $e, var$7, $f_0, $i_0, $t_0, $f1, $ptr);
}
function nmc_Minecraft_loadScreen($this) {
    var $var1, var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
        $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
        $var1 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 1);
        nleg_EaglerAdapterGL30_glClearColor(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glOrtho(0.0, $var1.$scaledWidth, $var1.$scaledHeight, 0.0, 1000.0, 3000.0);
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-2000.0));
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$displayWidth, $this.$displayHeight);
        nleg_EaglerAdapterGL30_glClear(16640);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_glDisable(2912);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$2 = $this.$renderEngine;
        var$3 = $rt_s(318);
        $ptr = 1;
    case 1:
        nms_RenderEngine_bindTexture0(var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        nmc_Minecraft_scaledTessellator($this, ($var1.$scaledWidth - 256 | 0) / 2 | 0, ($var1.$scaledHeight - 256 | 0) / 2 | 0, 0, 0, 256, 256);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDisable(2912);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
        nleg_EaglerAdapterGL30_glFlush();
        $ptr = 2;
    case 2:
        nlea_EaglerAdapterImpl2_updateDisplay();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
}
function nmc_Minecraft_scaledTessellator($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    var $var9, var$8, var$9, var$10, var$11, var$12, var$13, var$14;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    nlea_Tessellator_startDrawingQuads($var9);
    nlea_Tessellator_setColorOpaque($var9, 255, 255, 255);
    var$8 = $par1 + 0 | 0;
    var$9 = $par2 + $par6 | 0;
    var$10 = ($par3 + 0 | 0) * 0.00390625;
    var$11 = ($par4 + $par6 | 0) * 0.00390625;
    nlea_Tessellator_addVertexWithUV($var9, var$8, var$9, 0.0, var$10, var$11);
    var$12 = $par1 + $par5 | 0;
    var$13 = ($par3 + $par5 | 0) * 0.00390625;
    nlea_Tessellator_addVertexWithUV($var9, var$12, var$9, 0.0, var$13, var$11);
    var$9 = $par2 + 0 | 0;
    var$14 = ($par4 + 0 | 0) * 0.00390625;
    nlea_Tessellator_addVertexWithUV($var9, var$12, var$9, 0.0, var$13, var$14);
    nlea_Tessellator_addVertexWithUV($var9, var$8, var$9, 0.0, var$10, var$14);
    nlea_Tessellator_draw($var9);
}
function nmc_Minecraft_displayGuiScreen($this, $par1GuiScreen) {
    var $var2;
    if ($this.$currentScreen !== null)
        $this.$currentScreen.$onGuiClosed();
    if ($par1GuiScreen === null && $this.$theWorld === null)
        $par1GuiScreen = nms_GuiMainMenu__init_0();
    else if ($par1GuiScreen === null && $this.$thePlayer.$health <= 0) {
        $par1GuiScreen = new nms_GuiGameOver;
        nms_GuiScreen__init_($par1GuiScreen);
    }
    if ($par1GuiScreen instanceof nms_GuiMainMenu) {
        $this.$gameSettings.$showDebugInfo = 0;
        nms_GuiNewChat_clearChatMessages($this.$ingameGUI.$persistantChatGUI);
    }
    $this.$currentScreen = $par1GuiScreen;
    if ($par1GuiScreen !== null) {
        nmc_Minecraft_setIngameNotInFocus($this);
        $var2 = nms_ScaledResolution__init_($this.$gameSettings, $this.$displayWidth, $this.$displayHeight);
        nms_GuiScreen_setWorldAndResolution($par1GuiScreen, $this, $var2.$scaledWidth, $var2.$scaledHeight);
        $this.$skipRenderWorld = 0;
    } else if (!$this.$inGameHasFocus)
        nmc_Minecraft_setIngameFocus($this);
}
function nmc_Minecraft_isChatOpen($this) {
    return $this.$currentScreen !== null && $this.$currentScreen instanceof nms_GuiChat ? 1 : 0;
}
function nmc_Minecraft_getServerURI($this) {
    return nmc_Minecraft_getNetHandler($this) === null ? $rt_s(320) : nmc_Minecraft_getNetHandler($this).$netManager.$serverURI;
}
function nmc_Minecraft_checkGLError($this, $par1Str) {
    var var$2, $var3, var$4, var$5;
    while (true) {
        nleg_EaglerAdapterGL30_$callClinit();
        nlea_EaglerAdapterImpl2_$callClinit();
        var$2 = nlea_EaglerAdapterImpl2_webgl.getError();
        if (var$2 == 37442)
            var$2 = (-100);
        if (!var$2)
            break;
        a: {
            switch (var$2) {
                case -100:
                    break;
                case 1280:
                    $var3 = $rt_s(321);
                    break a;
                case 1281:
                    $var3 = $rt_s(322);
                    break a;
                case 1282:
                    $var3 = $rt_s(323);
                    break a;
                case 1285:
                    $var3 = $rt_s(324);
                    break a;
                default:
                    $var3 = $rt_s(325);
                    break a;
            }
            $var3 = $rt_s(326);
        }
        ji_PrintStream_println(jl_System_err(), $rt_s(327));
        var$4 = jl_System_err();
        var$5 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$5);
        jl_AbstractStringBuilder_append(var$5, $rt_s(328));
        jl_AbstractStringBuilder_append(var$5, $par1Str);
        ji_PrintStream_println(var$4, jl_AbstractStringBuilder_toString(var$5));
        var$4 = jl_System_err();
        var$5 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$5);
        jl_AbstractStringBuilder_append2(var$5, var$2);
        jl_AbstractStringBuilder_append(var$5, $rt_s(49));
        jl_AbstractStringBuilder_append(var$5, $var3);
        ji_PrintStream_println(var$4, jl_AbstractStringBuilder_toString(var$5));
    }
}
function nmc_Minecraft_run($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$running = 1;
        $ptr = 1;
    case 1:
        nmc_Minecraft_startGame($this);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$running) {
            nlea_EaglerAdapterImpl2_$callClinit();
            return;
        }
        $ptr = 2;
    case 2:
        nmc_Minecraft_runGameLoop($this);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$running) {
            nlea_EaglerAdapterImpl2_$callClinit();
            return;
        }
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nmc_Minecraft_runGameLoop($this) {
    var var$1, $var1, $var6, $var3, $var7, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var7 = $thread.pop();$var3 = $thread.pop();$var6 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$refreshTexturePacksScheduled) {
            $this.$refreshTexturePacksScheduled = 0;
            var$1 = $this.$renderEngine;
            $ptr = 1;
            continue main;
        }
        nms_AABBPool_cleanPool(nms_AxisAlignedBB_getAABBPool());
        if ($this.$theWorld !== null)
            nms_Vec3Pool_clear($this.$theWorld.$vecPool);
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(301));
        nlea_EaglerAdapterImpl2_$callClinit();
        if ($this.$isGamePaused && $this.$theWorld !== null) {
            $var1 = $this.$timer.$renderPartialTicks;
            nms_Timer_updateTimer($this.$timer);
            $this.$timer.$renderPartialTicks = $var1;
        } else
            nms_Timer_updateTimer($this.$timer);
        $var6 = jl_System_nanoTime();
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(329));
        $var3 = 0;
        if ($var3 < $this.$timer.$elapsedTicks) {
            $ptr = 2;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(330));
        $var7 = Long_sub(jl_System_nanoTime(), $var6);
        nmc_Minecraft_checkGLError($this, $rt_s(331));
        nms_RenderBlocks_fancyGrass = $this.$gameSettings.$fancyGraphics;
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(332));
        nms_SoundManager_setListener($this.$sndManager, $this.$thePlayer, $this.$timer.$renderPartialTicks);
        if (!$this.$isGamePaused) {
            var$1 = $this.$sndManager;
            $ptr = 3;
            continue main;
        }
        nms_Profiler_endSection($this.$mcProfiler);
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(333));
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(334));
        nleg_EaglerAdapterGL30_glEnable(3553);
        if (!nlea_EaglerAdapterImpl2_isKeyDown(65)) {
            $ptr = 4;
            continue main;
        }
        if ($this.$thePlayer !== null && nms_EntityPlayer_isEntityInsideOpaqueBlock($this.$thePlayer))
            $this.$gameSettings.$thirdPersonView = 0;
        nms_Profiler_endSection($this.$mcProfiler);
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matModelV.data[0], nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer]);
        nleg_EaglerAdapterGL30_matModelPointer = 0;
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matProjV.data[0], nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer]);
        nleg_EaglerAdapterGL30_matProjPointer = 0;
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matTexV.data[0], nleg_EaglerAdapterGL30_matTexV.data[nleg_EaglerAdapterGL30_matTexPointer]);
        nleg_EaglerAdapterGL30_matTexPointer = 0;
        if (!$this.$skipRenderWorld) {
            nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(335));
            var$1 = $this.$entityRenderer;
            $var1 = $this.$timer.$renderPartialTicks;
            $ptr = 5;
            continue main;
        }
        nleg_EaglerAdapterGL30_glFlush();
        nms_Profiler_endSection($this.$mcProfiler);
        if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart) {
            if (!$this.$mcProfiler.$profilingEnabled)
                nms_Profiler_clearProfiling($this.$mcProfiler);
            $this.$mcProfiler.$profilingEnabled = 1;
            $ptr = 7;
            continue main;
        }
        $this.$mcProfiler.$profilingEnabled = 0;
        $this.$prevFrameTime = jl_System_nanoTime();
        var$1 = $this.$guiAchievement;
        $ptr = 6;
        continue main;
    case 1:
        nms_RenderEngine_refreshTextures(var$1);
        if ($rt_suspending()) {
            break main;
        }
        nms_AABBPool_cleanPool(nms_AxisAlignedBB_getAABBPool());
        if ($this.$theWorld !== null)
            nms_Vec3Pool_clear($this.$theWorld.$vecPool);
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(301));
        nlea_EaglerAdapterImpl2_$callClinit();
        if ($this.$isGamePaused && $this.$theWorld !== null) {
            $var1 = $this.$timer.$renderPartialTicks;
            nms_Timer_updateTimer($this.$timer);
            $this.$timer.$renderPartialTicks = $var1;
        } else
            nms_Timer_updateTimer($this.$timer);
        $var6 = jl_System_nanoTime();
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(329));
        $var3 = 0;
        if ($var3 < $this.$timer.$elapsedTicks) {
            $ptr = 2;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(330));
        $var7 = Long_sub(jl_System_nanoTime(), $var6);
        nmc_Minecraft_checkGLError($this, $rt_s(331));
        nms_RenderBlocks_fancyGrass = $this.$gameSettings.$fancyGraphics;
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(332));
        nms_SoundManager_setListener($this.$sndManager, $this.$thePlayer, $this.$timer.$renderPartialTicks);
        if (!$this.$isGamePaused) {
            var$1 = $this.$sndManager;
            $ptr = 3;
            continue main;
        }
        nms_Profiler_endSection($this.$mcProfiler);
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(333));
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(334));
        nleg_EaglerAdapterGL30_glEnable(3553);
        if (!nlea_EaglerAdapterImpl2_isKeyDown(65)) {
            $ptr = 4;
            continue main;
        }
        if ($this.$thePlayer !== null && nms_EntityPlayer_isEntityInsideOpaqueBlock($this.$thePlayer))
            $this.$gameSettings.$thirdPersonView = 0;
        nms_Profiler_endSection($this.$mcProfiler);
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matModelV.data[0], nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer]);
        nleg_EaglerAdapterGL30_matModelPointer = 0;
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matProjV.data[0], nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer]);
        nleg_EaglerAdapterGL30_matProjPointer = 0;
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matTexV.data[0], nleg_EaglerAdapterGL30_matTexV.data[nleg_EaglerAdapterGL30_matTexPointer]);
        nleg_EaglerAdapterGL30_matTexPointer = 0;
        if (!$this.$skipRenderWorld) {
            nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(335));
            var$1 = $this.$entityRenderer;
            $var1 = $this.$timer.$renderPartialTicks;
            $ptr = 5;
            continue main;
        }
        nleg_EaglerAdapterGL30_glFlush();
        nms_Profiler_endSection($this.$mcProfiler);
        if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart) {
            if (!$this.$mcProfiler.$profilingEnabled)
                nms_Profiler_clearProfiling($this.$mcProfiler);
            $this.$mcProfiler.$profilingEnabled = 1;
            $ptr = 7;
            continue main;
        }
        $this.$mcProfiler.$profilingEnabled = 0;
        $this.$prevFrameTime = jl_System_nanoTime();
        var$1 = $this.$guiAchievement;
        $ptr = 6;
        continue main;
    case 2:
        nmc_Minecraft_runTick($this);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $var3 + 1 | 0;
        if ($var3 < $this.$timer.$elapsedTicks) {
            continue main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(330));
        $var7 = Long_sub(jl_System_nanoTime(), $var6);
        nmc_Minecraft_checkGLError($this, $rt_s(331));
        nms_RenderBlocks_fancyGrass = $this.$gameSettings.$fancyGraphics;
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(332));
        nms_SoundManager_setListener($this.$sndManager, $this.$thePlayer, $this.$timer.$renderPartialTicks);
        if (!$this.$isGamePaused) {
            var$1 = $this.$sndManager;
            $ptr = 3;
            continue main;
        }
        nms_Profiler_endSection($this.$mcProfiler);
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(333));
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(334));
        nleg_EaglerAdapterGL30_glEnable(3553);
        if (!nlea_EaglerAdapterImpl2_isKeyDown(65)) {
            $ptr = 4;
            continue main;
        }
        if ($this.$thePlayer !== null && nms_EntityPlayer_isEntityInsideOpaqueBlock($this.$thePlayer))
            $this.$gameSettings.$thirdPersonView = 0;
        nms_Profiler_endSection($this.$mcProfiler);
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matModelV.data[0], nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer]);
        nleg_EaglerAdapterGL30_matModelPointer = 0;
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matProjV.data[0], nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer]);
        nleg_EaglerAdapterGL30_matProjPointer = 0;
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matTexV.data[0], nleg_EaglerAdapterGL30_matTexV.data[nleg_EaglerAdapterGL30_matTexPointer]);
        nleg_EaglerAdapterGL30_matTexPointer = 0;
        if (!$this.$skipRenderWorld) {
            nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(335));
            var$1 = $this.$entityRenderer;
            $var1 = $this.$timer.$renderPartialTicks;
            $ptr = 5;
            continue main;
        }
        nleg_EaglerAdapterGL30_glFlush();
        nms_Profiler_endSection($this.$mcProfiler);
        if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart) {
            if (!$this.$mcProfiler.$profilingEnabled)
                nms_Profiler_clearProfiling($this.$mcProfiler);
            $this.$mcProfiler.$profilingEnabled = 1;
            $ptr = 7;
            continue main;
        }
        $this.$mcProfiler.$profilingEnabled = 0;
        $this.$prevFrameTime = jl_System_nanoTime();
        var$1 = $this.$guiAchievement;
        $ptr = 6;
        continue main;
    case 3:
        nms_SoundManager_func_92071_g(var$1);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endSection($this.$mcProfiler);
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(333));
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(334));
        nleg_EaglerAdapterGL30_glEnable(3553);
        if (!nlea_EaglerAdapterImpl2_isKeyDown(65)) {
            $ptr = 4;
            continue main;
        }
        if ($this.$thePlayer !== null && nms_EntityPlayer_isEntityInsideOpaqueBlock($this.$thePlayer))
            $this.$gameSettings.$thirdPersonView = 0;
        nms_Profiler_endSection($this.$mcProfiler);
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matModelV.data[0], nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer]);
        nleg_EaglerAdapterGL30_matModelPointer = 0;
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matProjV.data[0], nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer]);
        nleg_EaglerAdapterGL30_matProjPointer = 0;
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matTexV.data[0], nleg_EaglerAdapterGL30_matTexV.data[nleg_EaglerAdapterGL30_matTexPointer]);
        nleg_EaglerAdapterGL30_matTexPointer = 0;
        if (!$this.$skipRenderWorld) {
            nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(335));
            var$1 = $this.$entityRenderer;
            $var1 = $this.$timer.$renderPartialTicks;
            $ptr = 5;
            continue main;
        }
        nleg_EaglerAdapterGL30_glFlush();
        nms_Profiler_endSection($this.$mcProfiler);
        if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart) {
            if (!$this.$mcProfiler.$profilingEnabled)
                nms_Profiler_clearProfiling($this.$mcProfiler);
            $this.$mcProfiler.$profilingEnabled = 1;
            $ptr = 7;
            continue main;
        }
        $this.$mcProfiler.$profilingEnabled = 0;
        $this.$prevFrameTime = jl_System_nanoTime();
        var$1 = $this.$guiAchievement;
        $ptr = 6;
        continue main;
    case 4:
        nlea_EaglerAdapterImpl2_updateDisplay();
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$thePlayer !== null && nms_EntityPlayer_isEntityInsideOpaqueBlock($this.$thePlayer))
            $this.$gameSettings.$thirdPersonView = 0;
        nms_Profiler_endSection($this.$mcProfiler);
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matModelV.data[0], nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer]);
        nleg_EaglerAdapterGL30_matModelPointer = 0;
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matProjV.data[0], nleg_EaglerAdapterGL30_matProjV.data[nleg_EaglerAdapterGL30_matProjPointer]);
        nleg_EaglerAdapterGL30_matProjPointer = 0;
        nlegv_Matrix4f_load(nleg_EaglerAdapterGL30_matTexV.data[0], nleg_EaglerAdapterGL30_matTexV.data[nleg_EaglerAdapterGL30_matTexPointer]);
        nleg_EaglerAdapterGL30_matTexPointer = 0;
        if (!$this.$skipRenderWorld) {
            nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(335));
            var$1 = $this.$entityRenderer;
            $var1 = $this.$timer.$renderPartialTicks;
            $ptr = 5;
            continue main;
        }
        nleg_EaglerAdapterGL30_glFlush();
        nms_Profiler_endSection($this.$mcProfiler);
        if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart) {
            if (!$this.$mcProfiler.$profilingEnabled)
                nms_Profiler_clearProfiling($this.$mcProfiler);
            $this.$mcProfiler.$profilingEnabled = 1;
            $ptr = 7;
            continue main;
        }
        $this.$mcProfiler.$profilingEnabled = 0;
        $this.$prevFrameTime = jl_System_nanoTime();
        var$1 = $this.$guiAchievement;
        $ptr = 6;
        continue main;
    case 5:
        nms_EntityRenderer_updateCameraAndRender(var$1, $var1);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endSection($this.$mcProfiler);
        nleg_EaglerAdapterGL30_glFlush();
        nms_Profiler_endSection($this.$mcProfiler);
        if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart) {
            if (!$this.$mcProfiler.$profilingEnabled)
                nms_Profiler_clearProfiling($this.$mcProfiler);
            $this.$mcProfiler.$profilingEnabled = 1;
            $ptr = 7;
            continue main;
        }
        $this.$mcProfiler.$profilingEnabled = 0;
        $this.$prevFrameTime = jl_System_nanoTime();
        var$1 = $this.$guiAchievement;
        $ptr = 6;
    case 6:
        nms_GuiAchievement_updateAchievementWindow(var$1);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(301));
        if (!$this.$fullscreen && !(nlea_EaglerAdapterImpl2_getCanvasWidth() == $this.$displayWidth && nlea_EaglerAdapterImpl2_getCanvasHeight() == $this.$displayHeight)) {
            $this.$displayWidth = nlea_EaglerAdapterImpl2_getCanvasWidth();
            $this.$displayHeight = nlea_EaglerAdapterImpl2_getCanvasHeight();
            if ($this.$displayWidth <= 0)
                $this.$displayWidth = 1;
            if ($this.$displayHeight <= 0)
                $this.$displayHeight = 1;
            $var3 = $this.$displayWidth;
            var$6 = $this.$displayHeight;
            $this.$displayWidth = $var3 > 0 ? $var3 : 1;
            $this.$displayHeight = var$6 > 0 ? var$6 : 1;
            if ($this.$currentScreen !== null) {
                var$1 = nms_ScaledResolution__init_($this.$gameSettings, $var3, var$6);
                var$6 = var$1.$scaledWidth;
                $var3 = var$1.$scaledHeight;
                nms_GuiScreen_setWorldAndResolution($this.$currentScreen, $this, var$6, $var3);
            }
        }
        nmc_Minecraft_checkGLError($this, $rt_s(336));
        $this.$fpsCounter = $this.$fpsCounter + 1 | 0;
        $this.$isGamePaused = 0;
        if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$secondTimer), Long_fromInt(1000))) {
            nmc_Minecraft_debugFPS = $this.$fpsCounter;
            $this.$fpsCounter = 0;
            nmc_Minecraft_debugChunkUpdates = $this.$chunkUpdates;
            $this.$chunkUpdates = 0;
            $this.$secondTimer = jl_System_currentTimeMillis();
        }
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(337));
        if (nmc_Minecraft_func_90020_K($this) > 0)
            nlea_EaglerAdapterImpl2_syncDisplay(nms_EntityRenderer_performanceToFps(nmc_Minecraft_func_90020_K($this)));
        if ($this.$isGonnaTakeDatScreenShot) {
            $this.$isGonnaTakeDatScreenShot = 0;
            nlea_EaglerAdapterImpl2_saveScreenshot();
        }
        nlea_EaglerAdapterImpl2_doJavascriptCoroutines();
        nms_Profiler_endSection($this.$mcProfiler);
        nms_Profiler_endSection($this.$mcProfiler);
        return;
    case 7:
        nmc_Minecraft_displayDebugInfo($this, $var7);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $this.$guiAchievement;
        $ptr = 6;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $var1, $var6, $var3, $var7, var$6, $ptr);
}
function nmc_Minecraft_func_90020_K($this) {
    return $this.$currentScreen !== null && $this.$currentScreen instanceof nms_GuiMainMenu ? 2 : $this.$gameSettings.$limitFramerate;
}
function nmc_Minecraft_updateDebugProfilerName($this, $par1) {
    var $var2, $var3, $var4;
    $var2 = nms_Profiler_getProfilingData($this.$mcProfiler, $this.$debugProfilerName);
    if ($var2 !== null && !ju_AbstractCollection_isEmpty($var2)) {
        $var3 = ju_ArrayList_remove($var2, 0);
        if ($par1) {
            $par1 = $par1 + (-1) | 0;
            if ($par1 < $var2.$size && !jl_String_equals(ju_ArrayList_get($var2, $par1).$field_76331_c, $rt_s(338))) {
                if (jl_String_length($this.$debugProfilerName) > 0) {
                    $var3 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var3);
                    jl_AbstractStringBuilder_append($var3, $this.$debugProfilerName);
                    jl_AbstractStringBuilder_append($var3, $rt_s(339));
                    $this.$debugProfilerName = jl_AbstractStringBuilder_toString($var3);
                }
                $var3 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var3);
                jl_AbstractStringBuilder_append($var3, $this.$debugProfilerName);
                jl_AbstractStringBuilder_append($var3, ju_ArrayList_get($var2, $par1).$field_76331_c);
                $this.$debugProfilerName = jl_AbstractStringBuilder_toString($var3);
            }
        } else if (jl_String_length($var3.$field_76331_c) > 0) {
            $var4 = jl_String_lastIndexOf2($this.$debugProfilerName, $rt_s(339));
            if ($var4 >= 0)
                $this.$debugProfilerName = jl_String_substring0($this.$debugProfilerName, 0, $var4);
        }
    }
}
function nmc_Minecraft_displayDebugInfo($this, $par1) {
    var $var3, $var4, $var5, $var6, $var7, $var8, var$8, var$9, var$10, var$11, var$12, $var9, $var11, var$15, var$16, $var12, $var13, var$19, $var14, $var15, $var16, $var17, $var18, $var19, $var13_0, $var21, $var20, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var20 = $thread.pop();$var21 = $thread.pop();$var13_0 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();var$19 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var8
        = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$mcProfiler.$profilingEnabled)
            return;
        $var3 = nms_Profiler_getProfilingData($this.$mcProfiler, $this.$debugProfilerName);
        $var4 = ju_ArrayList_remove($var3, 0);
        nleg_EaglerAdapterGL30_glClear(256);
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glEnable(2903);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glOrtho(0.0, $this.$displayWidth, $this.$displayHeight, 0.0, 1000.0, 3000.0);
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-2000.0));
        nleg_EaglerAdapterGL30_glLineWidth(1.0);
        nleg_EaglerAdapterGL30_glDisable(3553);
        nleg_EaglerAdapterGL30_glEnable(2929);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nlea_Tessellator_$callClinit();
        $var5 = nlea_Tessellator_instance;
        $var6 = 160;
        $var7 = ($this.$displayWidth - $var6 | 0) - 10 | 0;
        $var8 = $this.$displayHeight - 320 | 0;
        nleg_EaglerAdapterGL30_glEnable(3042);
        nlea_Tessellator_startDrawingQuads($var5);
        nlea_Tessellator_setColorRGBA_I($var5, 0, 200);
        var$8 = $var7;
        var$9 = var$8 - 176.0;
        var$10 = $var8;
        var$11 = var$10 - 96.0 - 16.0;
        nlea_Tessellator_addVertex($var5, var$9, var$11, 0.0);
        var$12 = $var8 + 320 | 0;
        nlea_Tessellator_addVertex($var5, var$9, var$12, 0.0);
        var$9 = var$8 + 176.0;
        nlea_Tessellator_addVertex($var5, var$9, var$12, 0.0);
        nlea_Tessellator_addVertex($var5, var$9, var$11, 0.0);
        nlea_Tessellator_draw($var5);
        nleg_EaglerAdapterGL30_glDisable(3042);
        $var9 = 0.0;
        nleg_EaglerAdapterGL30_glDepthMask(1);
        $var11 = 0;
        var$15 = $var7;
        var$16 = $var8;
        while ($var11 < ju_ArrayList_size($var3)) {
            $var12 = ju_ArrayList_get($var3, $var11);
            $var13 = nms_MathHelper_floor_double($var12.$field_76332_a / 4.0) + 1 | 0;
            nlea_Tessellator_startDrawing($var5, 6);
            nlea_Tessellator_setColorOpaque_I($var5, nms_ProfilerResult_func_76329_a($var12));
            nlea_Tessellator_addVertex($var5, var$15, var$16, 0.0);
            var$19 = $var13;
            $var14 = $var13;
            while ($var14 >= 0) {
                $var15 = ($var9 + $var12.$field_76332_a * $var14 / var$19) * 3.141592653589793 * 2.0 / 100.0;
                $var16 = nms_MathHelper_sin($var15) * 160.0;
                $var17 = nms_MathHelper_cos($var15) * 160.0 * 0.5;
                nlea_Tessellator_addVertex($var5, var$8 + $var16, var$10 - $var17, 0.0);
                $var14 = $var14 + (-1) | 0;
            }
            nlea_Tessellator_draw($var5);
            nlea_Tessellator_startDrawing($var5, 5);
            nlea_Tessellator_setColorOpaque_I($var5, (nms_ProfilerResult_func_76329_a($var12) & 16711422) >> 1);
            while ($var13 >= 0) {
                $var15 = ($var9 + $var12.$field_76332_a * $var13 / var$19) * 3.141592653589793 * 2.0 / 100.0;
                $var16 = nms_MathHelper_sin($var15) * 160.0;
                $var17 = nms_MathHelper_cos($var15) * 160.0 * 0.5;
                var$9 = var$8 + $var16;
                $var15 = var$10 - $var17;
                nlea_Tessellator_addVertex($var5, var$9, $var15, 0.0);
                nlea_Tessellator_addVertex($var5, var$9, $var15 + 10.0, 0.0);
                $var13 = $var13 + (-1) | 0;
            }
            nlea_Tessellator_draw($var5);
            $var9 = $var9 + $var12.$field_76332_a;
            $var11 = $var11 + 1 | 0;
        }
        $var18 = jt_DecimalFormat__init_0($rt_s(340));
        nleg_EaglerAdapterGL30_glEnable(3553);
        $var19 = $rt_s(36);
        if (!jl_String_equals($var4.$field_76331_c, $rt_s(338)))
            $var19 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var19), $rt_s(341)));
        $var5 = !jl_String_length($var4.$field_76331_c) ? jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var19), $rt_s(342))) : jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var19), $var4.$field_76331_c), $rt_s(343)));
        $var13_0 = 16777215;
        $var12 = $this.$fontRenderer;
        $var14 = $var7 - $var6 | 0;
        $var13 = ($var8 - 80 | 0) - 16 | 0;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawStringWithShadow($var12, $var5, $var14, $var13, $var13_0);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $this.$fontRenderer;
        $var4 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), jt_NumberFormat_format($var18, $var4.$field_76330_b)), $rt_s(344)));
        $var6 = $var7 + $var6 | 0;
        $var7 = $var6 - nms_FontRenderer_getStringWidth($this.$fontRenderer, $var4) | 0;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawStringWithShadow($var12, $var4, $var7, $var13, $var13_0);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = 0;
        $var13_0 = $var8 + 80 | 0;
        $var8 = $var6 - 50 | 0;
        if ($var21 >= ju_ArrayList_size($var3))
            return;
        $var20 = ju_ArrayList_get($var3, $var21);
        $var4 = jl_String_equals($var20.$field_76331_c, $rt_s(338)) ? jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $rt_s(345))) : jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $rt_s(346)), $var21 + 1 | 0), $rt_s(347)));
        $var4 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var4), $var20.$field_76331_c));
        $var5 = $this.$fontRenderer;
        $var7 = ($var13_0 + ($var21 * 8 | 0) | 0) + 20 | 0;
        $var13 = nms_ProfilerResult_func_76329_a($var20);
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawStringWithShadow($var5, $var4, $var14, $var7, $var13);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $this.$fontRenderer;
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), jt_NumberFormat_format($var18, $var20.$field_76332_a)), $rt_s(344)));
        $var13 = $var8 - nms_FontRenderer_getStringWidth($this.$fontRenderer, $var5) | 0;
        $var11 = nms_ProfilerResult_func_76329_a($var20);
        $ptr = 4;
    case 4:
        nms_FontRenderer_drawStringWithShadow($var4, $var5, $var13, $var7, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $this.$fontRenderer;
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), jt_NumberFormat_format($var18, $var20.$field_76330_b)), $rt_s(344)));
        $var13 = $var6 - nms_FontRenderer_getStringWidth($this.$fontRenderer, $var5) | 0;
        $var11 = nms_ProfilerResult_func_76329_a($var20);
        $ptr = 5;
    case 5:
        nms_FontRenderer_drawStringWithShadow($var4, $var5, $var13, $var7, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = $var21 + 1 | 0;
        if ($var21 >= ju_ArrayList_size($var3))
            return;
        $var20 = ju_ArrayList_get($var3, $var21);
        $var4 = jl_String_equals($var20.$field_76331_c, $rt_s(338)) ? jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $rt_s(345))) : jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $rt_s(346)), $var21 + 1 | 0), $rt_s(347)));
        $var4 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var4), $var20.$field_76331_c));
        $var5 = $this.$fontRenderer;
        $var7 = ($var13_0 + ($var21 * 8 | 0) | 0) + 20 | 0;
        $var13 = nms_ProfilerResult_func_76329_a($var20);
        $ptr = 3;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var3, $var4, $var5, $var6, $var7, $var8, var$8, var$9, var$10, var$11, var$12, $var9, $var11, var$15, var$16, $var12, $var13, var$19, $var14, $var15, $var16, $var17, $var18, $var19, $var13_0, $var21, $var20, $ptr);
}
function nmc_Minecraft_shutdown($this) {
    $this.$running = 0;
}
function nmc_Minecraft_setIngameFocus($this) {
    $this.$inGameHasFocus = 1;
    nms_MouseHelper_grabMouseCursor($this.$mouseHelper);
    nmc_Minecraft_displayGuiScreen($this, null);
    $this.$leftClickCounter = 10000;
}
function nmc_Minecraft_setIngameNotInFocus($this) {
    var var$1, var$2;
    var$1 = ju_AbstractList_iterator(nms_KeyBinding_keybindArray);
    while (ju_AbstractList$1_hasNext(var$1)) {
        var$2 = ju_AbstractList$1_next(var$1);
        var$2.$pressTime = 0;
        var$2.$pressed = 0;
    }
    $this.$inGameHasFocus = 0;
    nms_MouseHelper_ungrabMouseCursor($this.$mouseHelper);
}
function nmc_Minecraft_displayInGameMenu($this) {
    if ($this.$currentScreen === null)
        nmc_Minecraft_displayGuiScreen($this, nms_GuiIngameMenu__init_0());
}
function nmc_Minecraft_sendClickBlockToController($this, $par1, $par2) {
    var $var3, $var4, $var5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par2)
            $this.$leftClickCounter = 0;
        if (!(!$par1 && $this.$leftClickCounter > 0)) {
            if ($par2 && $this.$objectMouseOver !== null && $this.$objectMouseOver.$typeOfHit === nms_EnumMovingObjectType_TILE && !$par1) {
                $var3 = $this.$objectMouseOver.$blockX;
                $var4 = $this.$objectMouseOver.$blockY;
                $var5 = $this.$objectMouseOver.$blockZ;
                var$6 = $this.$playerController;
                $par1 = $this.$objectMouseOver.$sideHit;
                $ptr = 1;
                continue main;
            }
            nms_PlayerControllerMP_resetBlockRemoving($this.$playerController);
        }
        return;
    case 1:
        nms_PlayerControllerMP_onPlayerDamageBlock(var$6, $var3, $var4, $var5, $par1);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_EntityPlayer_canCurrentToolHarvestBlock($this.$thePlayer, $var3, $var4, $var5)) {
            nms_EffectRenderer_addBlockHitEffects($this.$effectRenderer, $var3, $var4, $var5, $this.$objectMouseOver.$sideHit);
            nms_EntityClientPlayerMP_swingItem($this.$thePlayer);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, $var4, $var5, var$6, $ptr);
}
function nmc_Minecraft_displayEaglercraftText($this, $s) {
    if ($this.$thePlayer !== null && ju_HashSet_add($this.$shownPlayerMessages, $s))
        nms_EntityPlayerSP_sendChatToPlayer($this.$thePlayer, $s);
}
function nmc_Minecraft_clickMouse($this, $par1) {
    var var$2, $var2, $var3, $var9, var$6, $var4, $var5, $var6, $var7, $var8, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$6 = $thread.pop();$var9 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!(!$par1 && $this.$leftClickCounter > 0)) {
            if (!$par1)
                nms_EntityClientPlayerMP_swingItem($this.$thePlayer);
            var$2 = $rt_compare($par1, 1);
            if (!var$2)
                $this.$rightClickDelayTimer = 4;
            a: {
                $var2 = 1;
                $var3 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
                if ($this.$objectMouseOver !== null) {
                    if ($this.$objectMouseOver.$typeOfHit === nms_EnumMovingObjectType_ENTITY) {
                        if (!$par1) {
                            $var3 = $this.$playerController;
                            $var9 = $this.$thePlayer;
                            var$6 = $this.$objectMouseOver.$entityHit;
                            $ptr = 1;
                            continue main;
                        }
                        if (var$2)
                            break a;
                        $var3 = $this.$playerController;
                        $var9 = $this.$thePlayer;
                        var$6 = $this.$objectMouseOver.$entityHit;
                        $ptr = 3;
                        continue main;
                    }
                    if ($this.$objectMouseOver.$typeOfHit === nms_EnumMovingObjectType_TILE) {
                        $var4 = $this.$objectMouseOver.$blockX;
                        $var5 = $this.$objectMouseOver.$blockY;
                        $var6 = $this.$objectMouseOver.$blockZ;
                        $var7 = $this.$objectMouseOver.$sideHit;
                        if (!$par1) {
                            $var3 = $this.$playerController;
                            $par1 = $this.$objectMouseOver.$sideHit;
                            $ptr = 2;
                            continue main;
                        }
                        $var8 = $var3 === null ? 0 : $var3.$stackSize;
                        $var9 = $this.$playerController;
                        var$6 = $this.$thePlayer;
                        var$12 = $this.$theWorld;
                        var$13 = $this.$objectMouseOver.$hitVec;
                        $ptr = 4;
                        continue main;
                    }
                } else if (!$par1 && nms_PlayerControllerMP_isNotCreative($this.$playerController))
                    $this.$leftClickCounter = 10;
            }
            if ($var2 && !var$2) {
                $var9 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
                if ($var9 !== null) {
                    $var3 = $this.$playerController;
                    var$6 = $this.$thePlayer;
                    var$12 = $this.$theWorld;
                    $ptr = 5;
                    continue main;
                }
            }
        }
        return;
    case 1:
        nms_PlayerControllerMP_attackEntity($var3, $var9, var$6);
        if ($rt_suspending()) {
            break main;
        }
        if (!var$2) {
            $var3 = $this.$playerController;
            $var9 = $this.$thePlayer;
            var$6 = $this.$objectMouseOver.$entityHit;
            $ptr = 3;
            continue main;
        }
        if ($var2 && !var$2) {
            $var9 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
            if ($var9 !== null) {
                $var3 = $this.$playerController;
                var$6 = $this.$thePlayer;
                var$12 = $this.$theWorld;
                $ptr = 5;
                continue main;
            }
        }
        return;
    case 2:
        nms_PlayerControllerMP_clickBlock($var3, $var4, $var5, $var6, $par1);
        if ($rt_suspending()) {
            break main;
        }
        if ($var2 && !var$2) {
            $var9 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
            if ($var9 !== null) {
                $var3 = $this.$playerController;
                var$6 = $this.$thePlayer;
                var$12 = $this.$theWorld;
                $ptr = 5;
                continue main;
            }
        }
        return;
    case 3:
        $tmp = nms_PlayerControllerMP_func_78768_b($var3, $var9, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        if ($par1)
            $var2 = 0;
        if ($var2 && !var$2) {
            $var9 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
            if ($var9 !== null) {
                $var3 = $this.$playerController;
                var$6 = $this.$thePlayer;
                var$12 = $this.$theWorld;
                $ptr = 5;
                continue main;
            }
        }
        return;
    case 4:
        $tmp = nms_PlayerControllerMP_onPlayerRightClick($var9, var$6, var$12, $var3, $var4, $var5, $var6, $var7, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        if ($par1) {
            $var2 = 0;
            nms_EntityClientPlayerMP_swingItem($this.$thePlayer);
        }
        if ($var3 === null)
            return;
        if (!$var3.$stackSize)
            $this.$thePlayer.$inventory.$mainInventory.data[$this.$thePlayer.$inventory.$currentItem] = null;
        else if (!($var3.$stackSize == $var8 && !nms_PlayerControllerMP_isInCreativeMode($this.$playerController)))
            nms_ItemRenderer_resetEquippedProgress($this.$entityRenderer.$itemRenderer0);
        if ($var2 && !var$2) {
            $var9 = nms_InventoryPlayer_getCurrentItem($this.$thePlayer.$inventory);
            if ($var9 !== null) {
                $var3 = $this.$playerController;
                var$6 = $this.$thePlayer;
                var$12 = $this.$theWorld;
                $ptr = 5;
                continue main;
            }
        }
        return;
    case 5:
        $tmp = nms_PlayerControllerMP_sendUseItem($var3, var$6, var$12, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        if ($par1)
            nms_ItemRenderer_resetEquippedProgress2($this.$entityRenderer.$itemRenderer0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, $var2, $var3, $var9, var$6, $var4, $var5, $var6, $var7, $var8, var$12, var$13, $ptr);
}
function nmc_Minecraft_toggleFullscreen($this) {
    return;
}
function nmc_Minecraft_runTick($this) {
    var var$1, var$2, $var8, $F3down, $var9, var$6, $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();var$6 = $thread.pop();$var9 = $thread.pop();$F3down = $thread.pop();$var8 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$rightClickDelayTimer > 0)
            $this.$rightClickDelayTimer = $this.$rightClickDelayTimer - 1 | 0;
        nleg_EaglerAdapterGL30_anisotropicPatch($this.$gameSettings.$patchAnisotropic);
        nms_Profiler_startSection($this.$mcProfiler, $rt_s(348));
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(349));
        if (!$this.$isGamePaused)
            nms_GuiIngame_updateTick($this.$ingameGUI);
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(350));
        var$1 = $this.$entityRenderer;
        var$2 = 1.0;
        $ptr = 1;
    case 1:
        nms_EntityRenderer_getMouseOver(var$1, var$2);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(351));
        if (!$this.$isGamePaused && $this.$theWorld !== null)
            nms_PlayerControllerMP_updateController($this.$playerController);
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(352));
        if (!$this.$isGamePaused)
            nms_RenderEngine_updateDynamicTextures($this.$renderEngine);
        nle_DefaultSkinRenderer_deleteOldSkins();
        if (!($this.$currentScreen === null && $this.$thePlayer !== null)) {
            if ($this.$currentScreen !== null && $this.$currentScreen instanceof nms_GuiSleepMP && !nms_EntityPlayer_isPlayerSleeping($this.$thePlayer))
                nmc_Minecraft_displayGuiScreen($this, null);
        } else if (nms_EntityLiving_getHealth($this.$thePlayer) <= 0)
            nmc_Minecraft_displayGuiScreen($this, null);
        else if (nms_EntityPlayer_isPlayerSleeping($this.$thePlayer) && $this.$theWorld !== null)
            nmc_Minecraft_displayGuiScreen($this, nms_GuiSleepMP__init_0());
        if ($this.$currentScreen !== null)
            $this.$leftClickCounter = 10000;
        if ($this.$currentScreen !== null) {
            var$1 = $this.$currentScreen;
            $ptr = 3;
            continue main;
        }
        nms_GuiMultiplayer_tickRefreshCooldown();
        nle_GuiScreenVoiceChannel_tickVoiceConnection();
        $ptr = 2;
    case 2:
        maa_NoteblockPlayer_tick();
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$currentScreen !== null && !$this.$currentScreen.$allowUserInput) {
            a: {
                if ($this.$theWorld === null) {
                    if ($this.$myNetworkManager === null)
                        break a;
                    nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(353));
                    var$1 = $this.$myNetworkManager;
                    $ptr = 5;
                    continue main;
                }
                if ($this.$thePlayer !== null) {
                    $this.$joinPlayerCounter = $this.$joinPlayerCounter + 1 | 0;
                    if ($this.$joinPlayerCounter == 30) {
                        $this.$joinPlayerCounter = 0;
                        nms_World_joinEntityInSurroundings($this.$theWorld, $this.$thePlayer);
                    }
                }
                nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(335));
                if (!$this.$isGamePaused) {
                    var$1 = $this.$entityRenderer;
                    $ptr = 7;
                    continue main;
                }
                nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(354));
                if (!$this.$isGamePaused)
                    nms_RenderGlobal_updateClouds($this.$renderGlobal);
                nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(355));
                if (!$this.$isGamePaused) {
                    if ($this.$theWorld.$lastLightningBolt > 0) {
                        var$1 = $this.$theWorld;
                        var$1.$lastLightningBolt = var$1.$lastLightningBolt - 1 | 0;
                    }
                    var$1 = $this.$theWorld;
                    $ptr = 9;
                    continue main;
                }
                if (!$this.$isGamePaused) {
                    nms_World_setAllowedSpawnTypes($this.$theWorld, $this.$theWorld.$difficultySetting <= 0 ? 0 : 1, 1);
                    var$1 = $this.$theWorld;
                    $ptr = 12;
                    continue main;
                }
                nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(356));
                if (!$this.$isGamePaused && $this.$theWorld !== null) {
                    var$1 = $this.$theWorld;
                    $var8 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                    $F3down = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                    $var9 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                    $ptr = 11;
                    continue main;
                }
                nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(357));
                if (!$this.$isGamePaused) {
                    var$1 = $this.$effectRenderer;
                    $ptr = 10;
                    continue main;
                }
            }
            if ($this.$theWorld !== null) {
                nms_SoundManager_stopTheTitleMusic($this.$sndManager);
                nms_Profiler_endSection($this.$mcProfiler);
                $this.$systemTime = nmc_Minecraft_getSystemTime();
                return;
            }
            var$1 = $this.$sndManager;
            $ptr = 6;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(358));
        while (true) {
            if (!nlea_EaglerAdapterImpl2_mouseNext()) {
                if ($this.$leftClickCounter > 0)
                    $this.$leftClickCounter = $this.$leftClickCounter - 1 | 0;
                nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(359));
                while (true) {
                    if (!nlea_EaglerAdapterImpl2_keysNext()) {
                        $var8 = $this.$gameSettings.$chatVisibility == 2 ? 0 : 1;
                        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindInventory)) {
                            nmc_Minecraft_displayGuiScreen($this, nms_GuiInventory__init_($this.$thePlayer));
                        }
                        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindDrop)) {
                            nms_EntityClientPlayerMP_dropOneItem($this.$thePlayer, nms_GuiScreen_isCtrlKeyDown());
                        }
                        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindChat) && $var8) {
                            nmc_Minecraft_displayGuiScreen($this, nms_GuiChat__init_0());
                        }
                        if ($this.$currentScreen === null && nlea_EaglerAdapterImpl2_isKeyDown(53) && $var8)
                            nmc_Minecraft_displayGuiScreen($this, nms_GuiChat__init_1($rt_s(61)));
                        if ($this.$gameSettings.$keyBindSprint.$pressed && !nms_Entity_isSprinting($this.$thePlayer) && nms_EntityPlayerSP_canSprint($this.$thePlayer) && !$this.$thePlayer.$isCollidedHorizontally)
                            nms_EntityPlayerSP_setSprinting($this.$thePlayer, 1);
                        b: {
                            if (!nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
                                if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack)) {
                                    $var8 = 0;
                                    $ptr = 13;
                                    continue main;
                                }
                                if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
                                    $var8 = 1;
                                    $ptr = 16;
                                    continue main;
                                }
                                if (!nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock))
                                    break b;
                                $ptr = 17;
                                continue main;
                            }
                            if (!$this.$gameSettings.$keyBindUseItem.$pressed) {
                                var$1 = $this.$playerController;
                                var$6 = $this.$thePlayer;
                                $ptr = 14;
                                continue main;
                            }
                            while (true) {
                                if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack))
                                    continue;
                                else
                                    break;
                            }
                            while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
                            }
                            while (true) {
                                if (!nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock))
                                    break b;
                            }
                        }
                        if ($this.$gameSettings.$keyBindUseItem.$pressed && !$this.$rightClickDelayTimer && !nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
                            $var8 = 1;
                            $ptr = 20;
                            continue main;
                        }
                        $var8 = 0;
                        $F3down = $this.$currentScreen === null && $this.$gameSettings.$keyBindAttack.$pressed && $this.$inGameHasFocus ? 1 : 0;
                        $ptr = 19;
                        continue main;
                    }
                    nms_KeyBinding_setKeyBindState(nlea_EaglerAdapterImpl2_getEventKey(), nlea_EaglerAdapterImpl2_getEventKeyState());
                    if (nlea_EaglerAdapterImpl2_getEventKeyState())
                        nms_KeyBinding_onTick(nlea_EaglerAdapterImpl2_getEventKey());
                    $F3down = $this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_isKeyDown(4) ? 1 : 0;
                    if (Long_gt($this.$field_83002_am, Long_ZERO)) {
                        if (Long_ge(Long_sub(nmc_Minecraft_getSystemTime(), $this.$field_83002_am), Long_fromInt(6000)))
                            break;
                        if (!(nlea_EaglerAdapterImpl2_isKeyDown(46) && $F3down))
                            $this.$field_83002_am = Long_fromInt(-1);
                    } else if ($F3down && nlea_EaglerAdapterImpl2_isKeyDown(46))
                        $this.$field_83002_am = nmc_Minecraft_getSystemTime();
                    c: {
                        if (nlea_EaglerAdapterImpl2_getEventKeyState()) {
                            $this.$isGonnaTakeDatScreenShot = $this.$isGonnaTakeDatScreenShot | ($this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_getEventKey() == 3 ? 1 : 0);
                            if (nlea_EaglerAdapterImpl2_getEventKey() == 87)
                                nmc_Minecraft_toggleFullscreen($this);
                            else {
                                if ($this.$currentScreen !== null) {
                                    var$1 = $this.$currentScreen;
                                    $ptr = 15;
                                    continue main;
                                }
                                if (nlea_EaglerAdapterImpl2_getEventKey() == 1)
                                    nmc_Minecraft_displayInGameMenu($this);
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 31)
                                    nmc_Minecraft_forceReload($this);
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 20) {
                                    var$1 = $this.$renderEngine;
                                    $ptr = 18;
                                    continue main;
                                }
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 33) {
                                    $var8 = nlea_EaglerAdapterImpl2_isKeyDown(42) | nlea_EaglerAdapterImpl2_isKeyDown(54);
                                    var$1 = $this.$gameSettings;
                                    var$6 = nms_EnumOptions_RENDER_DISTANCE;
                                    $var8 = !$var8 ? 1 : (-1);
                                    $ptr = 21;
                                    continue main;
                                }
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 30)
                                    nms_RenderGlobal_loadRenderers($this.$renderGlobal);
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 35) {
                                    $this.$gameSettings.$advancedItemTooltips = $this.$gameSettings.$advancedItemTooltips ? 0 : 1;
                                    nms_GameSettings_saveOptions($this.$gameSettings);
                                }
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 48)
                                    nms_RenderManager_field_85095_o = nms_RenderManager_field_85095_o ? 0 : 1;
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 25) {
                                    $this.$gameSettings.$pauseOnLostFocus = $this.$gameSettings.$pauseOnLostFocus ? 0 : 1;
                                    nms_GameSettings_saveOptions($this.$gameSettings);
                                }
                                if ($this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_getEventKey() == 2)
                                    $this.$gameSettings.$hideGUI = $this.$gameSettings.$hideGUI ? 0 : 1;
                                if (nlea_EaglerAdapterImpl2_getEventKey() == 4 && $this.$gameSettings.$keyBindFunction.$pressed) {
                                    $this.$gameSettings.$showDebugInfo = $this.$gameSettings.$showDebugInfo ? 0 : 1;
                                    $this.$gameSettings.$showDebugProfilerChart = 1;
                                }
                                if (nlea_EaglerAdapterImpl2_getEventKey() == 6 && $this.$gameSettings.$keyBindFunction.$pressed) {
                                    var$1 = $this.$gameSettings;
                                    var$1.$thirdPersonView = var$1.$thirdPersonView + 1 | 0;
                                    if ($this.$gameSettings.$thirdPersonView > 2)
                                        $this.$gameSettings.$thirdPersonView = 0;
                                }
                                if (nlea_EaglerAdapterImpl2_getEventKey() == 7 && $this.$gameSettings.$keyBindFunction.$pressed) {
                                    $this.$gameSettings.$showCoordinates = $this.$gameSettings.$showCoordinates ? 0 : 1;
                                    nms_GameSettings_saveOptions($this.$gameSettings);
                                }
                                if (nlea_EaglerAdapterImpl2_getEventKey() == 9 && $this.$gameSettings.$keyBindFunction.$pressed)
                                    $this.$gameSettings.$smoothCamera = $this.$gameSettings.$smoothCamera ? 0 : 1;
                                d: {
                                    if (!$this.$gameSettings.$keyBindFunction.$pressed) {
                                        $var9 = 0;
                                        while (true) {
                                            if ($var9 >= 9)
                                                break d;
                                            if (nlea_EaglerAdapterImpl2_getEventKey() == (2 + $var9 | 0))
                                                $this.$thePlayer.$inventory.$currentItem = $var9;
                                            $var9 = $var9 + 1 | 0;
                                        }
                                    }
                                }
                                if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart && !$this.$gameSettings.$keyBindFunction.$pressed) {
                                    if (nlea_EaglerAdapterImpl2_getEventKey() == 11)
                                        nmc_Minecraft_updateDebugProfilerName($this, 0);
                                    $var9 = 0;
                                    while (true) {
                                        if ($var9 >= 9)
                                            break c;
                                        if (nlea_EaglerAdapterImpl2_getEventKey() == (2 + $var9 | 0))
                                            nmc_Minecraft_updateDebugProfilerName($this, $var9 + 1 | 0);
                                        $var9 = $var9 + 1 | 0;
                                    }
                                }
                            }
                        }
                    }
                }
                $rt_throw(jl_RuntimeException__init_($rt_s(360)));
            }
            nms_KeyBinding_setKeyBindState(nlea_EaglerAdapterImpl2_mouseGetEventButton() - 100 | 0, nlea_EaglerAdapterImpl2_mouseGetEventButtonState());
            if (nlea_EaglerAdapterImpl2_mouseGetEventButtonState())
                nms_KeyBinding_onTick(nlea_EaglerAdapterImpl2_mouseGetEventButton() - 100 | 0);
            if (Long_le(Long_sub(nmc_Minecraft_getSystemTime(), $this.$systemTime), Long_fromInt(200))) {
                $var10 = nlea_EaglerAdapterImpl2_mouseGetEventDWheel();
                if ($var10) {
                    nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var10);
                    if ($this.$gameSettings.$noclip) {
                        if ($var10 > 0)
                            $var10 = 1;
                        if ($var10 < 0)
                            $var10 = (-1);
                        var$1 = $this.$gameSettings;
                        var$1.$noclipRate = var$1.$noclipRate + $var10 * 0.25;
                    }
                }
                if ($this.$currentScreen === null) {
                    if (!$this.$inGameHasFocus && nlea_EaglerAdapterImpl2_mouseGetEventButtonState())
                        nmc_Minecraft_setIngameFocus($this);
                } else if ($this.$currentScreen !== null)
                    break;
            }
        }
        var$1 = $this.$currentScreen;
        $ptr = 8;
        continue main;
    case 3:
        nms_GuiScreen_handleInput(var$1);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$currentScreen === null) {
            nms_GuiMultiplayer_tickRefreshCooldown();
            nle_GuiScreenVoiceChannel_tickVoiceConnection();
            $ptr = 2;
            continue main;
        }
        nms_GuiParticle_update($this.$currentScreen.$guiParticles);
        var$1 = $this.$currentScreen;
        $ptr = 4;
    case 4:
        var$1.$updateScreen();
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiMultiplayer_tickRefreshCooldown();
        nle_GuiScreenVoiceChannel_tickVoiceConnection();
        $ptr = 2;
        continue main;
    case 5:
        var$1.$processReadPackets();
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$theWorld !== null) {
            nms_SoundManager_stopTheTitleMusic($this.$sndManager);
            nms_Profiler_endSection($this.$mcProfiler);
            $this.$systemTime = nmc_Minecraft_getSystemTime();
            return;
        }
        var$1 = $this.$sndManager;
        $ptr = 6;
    case 6:
        nms_SoundManager_playTheTitleMusic(var$1);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endSection($this.$mcProfiler);
        $this.$systemTime = nmc_Minecraft_getSystemTime();
        return;
    case 7:
        nms_EntityRenderer_updateRenderer(var$1);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(354));
        if (!$this.$isGamePaused)
            nms_RenderGlobal_updateClouds($this.$renderGlobal);
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(355));
        if (!$this.$isGamePaused) {
            if ($this.$theWorld.$lastLightningBolt > 0) {
                var$1 = $this.$theWorld;
                var$1.$lastLightningBolt = var$1.$lastLightningBolt - 1 | 0;
            }
            var$1 = $this.$theWorld;
            $ptr = 9;
            continue main;
        }
        if (!$this.$isGamePaused) {
            nms_World_setAllowedSpawnTypes($this.$theWorld, $this.$theWorld.$difficultySetting <= 0 ? 0 : 1, 1);
            var$1 = $this.$theWorld;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(356));
        if (!$this.$isGamePaused && $this.$theWorld !== null) {
            var$1 = $this.$theWorld;
            $var8 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
            $F3down = nms_MathHelper_floor_double($this.$thePlayer.$posY);
            $var9 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
            $ptr = 11;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(357));
        if (!$this.$isGamePaused) {
            var$1 = $this.$effectRenderer;
            $ptr = 10;
            continue main;
        }
        if ($this.$theWorld !== null) {
            nms_SoundManager_stopTheTitleMusic($this.$sndManager);
            nms_Profiler_endSection($this.$mcProfiler);
            $this.$systemTime = nmc_Minecraft_getSystemTime();
            return;
        }
        var$1 = $this.$sndManager;
        $ptr = 6;
        continue main;
    case 8:
        var$1.$handleMouseInput();
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            if (!nlea_EaglerAdapterImpl2_mouseNext()) {
                if ($this.$leftClickCounter > 0)
                    $this.$leftClickCounter = $this.$leftClickCounter - 1 | 0;
                nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(359));
                while (true) {
                    if (!nlea_EaglerAdapterImpl2_keysNext()) {
                        $var8 = $this.$gameSettings.$chatVisibility == 2 ? 0 : 1;
                        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindInventory)) {
                            nmc_Minecraft_displayGuiScreen($this, nms_GuiInventory__init_($this.$thePlayer));
                        }
                        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindDrop)) {
                            nms_EntityClientPlayerMP_dropOneItem($this.$thePlayer, nms_GuiScreen_isCtrlKeyDown());
                        }
                        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindChat) && $var8) {
                            nmc_Minecraft_displayGuiScreen($this, nms_GuiChat__init_0());
                        }
                        if ($this.$currentScreen === null && nlea_EaglerAdapterImpl2_isKeyDown(53) && $var8)
                            nmc_Minecraft_displayGuiScreen($this, nms_GuiChat__init_1($rt_s(61)));
                        if ($this.$gameSettings.$keyBindSprint.$pressed && !nms_Entity_isSprinting($this.$thePlayer) && nms_EntityPlayerSP_canSprint($this.$thePlayer) && !$this.$thePlayer.$isCollidedHorizontally)
                            nms_EntityPlayerSP_setSprinting($this.$thePlayer, 1);
                        e: {
                            if (!nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
                                if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack)) {
                                    $var8 = 0;
                                    $ptr = 13;
                                    continue main;
                                }
                                if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
                                    $var8 = 1;
                                    $ptr = 16;
                                    continue main;
                                }
                                if (!nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock))
                                    break e;
                                $ptr = 17;
                                continue main;
                            }
                            if (!$this.$gameSettings.$keyBindUseItem.$pressed) {
                                var$1 = $this.$playerController;
                                var$6 = $this.$thePlayer;
                                $ptr = 14;
                                continue main;
                            }
                            while (true) {
                                if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack))
                                    continue;
                                else
                                    break;
                            }
                            while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
                            }
                            while (true) {
                                if (!nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock))
                                    break e;
                            }
                        }
                        if ($this.$gameSettings.$keyBindUseItem.$pressed && !$this.$rightClickDelayTimer && !nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
                            $var8 = 1;
                            $ptr = 20;
                            continue main;
                        }
                        $var8 = 0;
                        $F3down = $this.$currentScreen === null && $this.$gameSettings.$keyBindAttack.$pressed && $this.$inGameHasFocus ? 1 : 0;
                        $ptr = 19;
                        continue main;
                    }
                    nms_KeyBinding_setKeyBindState(nlea_EaglerAdapterImpl2_getEventKey(), nlea_EaglerAdapterImpl2_getEventKeyState());
                    if (nlea_EaglerAdapterImpl2_getEventKeyState())
                        nms_KeyBinding_onTick(nlea_EaglerAdapterImpl2_getEventKey());
                    $F3down = $this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_isKeyDown(4) ? 1 : 0;
                    if (Long_gt($this.$field_83002_am, Long_ZERO)) {
                        if (Long_ge(Long_sub(nmc_Minecraft_getSystemTime(), $this.$field_83002_am), Long_fromInt(6000)))
                            break;
                        if (!(nlea_EaglerAdapterImpl2_isKeyDown(46) && $F3down))
                            $this.$field_83002_am = Long_fromInt(-1);
                    } else if ($F3down && nlea_EaglerAdapterImpl2_isKeyDown(46))
                        $this.$field_83002_am = nmc_Minecraft_getSystemTime();
                    f: {
                        if (nlea_EaglerAdapterImpl2_getEventKeyState()) {
                            $this.$isGonnaTakeDatScreenShot = $this.$isGonnaTakeDatScreenShot | ($this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_getEventKey() == 3 ? 1 : 0);
                            if (nlea_EaglerAdapterImpl2_getEventKey() == 87)
                                nmc_Minecraft_toggleFullscreen($this);
                            else {
                                if ($this.$currentScreen !== null) {
                                    var$1 = $this.$currentScreen;
                                    $ptr = 15;
                                    continue main;
                                }
                                if (nlea_EaglerAdapterImpl2_getEventKey() == 1)
                                    nmc_Minecraft_displayInGameMenu($this);
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 31)
                                    nmc_Minecraft_forceReload($this);
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 20) {
                                    var$1 = $this.$renderEngine;
                                    $ptr = 18;
                                    continue main;
                                }
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 33) {
                                    $var8 = nlea_EaglerAdapterImpl2_isKeyDown(42) | nlea_EaglerAdapterImpl2_isKeyDown(54);
                                    var$1 = $this.$gameSettings;
                                    var$6 = nms_EnumOptions_RENDER_DISTANCE;
                                    $var8 = !$var8 ? 1 : (-1);
                                    $ptr = 21;
                                    continue main;
                                }
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 30)
                                    nms_RenderGlobal_loadRenderers($this.$renderGlobal);
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 35) {
                                    $this.$gameSettings.$advancedItemTooltips = $this.$gameSettings.$advancedItemTooltips ? 0 : 1;
                                    nms_GameSettings_saveOptions($this.$gameSettings);
                                }
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 48)
                                    nms_RenderManager_field_85095_o = nms_RenderManager_field_85095_o ? 0 : 1;
                                if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 25) {
                                    $this.$gameSettings.$pauseOnLostFocus = $this.$gameSettings.$pauseOnLostFocus ? 0 : 1;
                                    nms_GameSettings_saveOptions($this.$gameSettings);
                                }
                                if ($this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_getEventKey() == 2)
                                    $this.$gameSettings.$hideGUI = $this.$gameSettings.$hideGUI ? 0 : 1;
                                if (nlea_EaglerAdapterImpl2_getEventKey() == 4 && $this.$gameSettings.$keyBindFunction.$pressed) {
                                    $this.$gameSettings.$showDebugInfo = $this.$gameSettings.$showDebugInfo ? 0 : 1;
                                    $this.$gameSettings.$showDebugProfilerChart = 1;
                                }
                                if (nlea_EaglerAdapterImpl2_getEventKey() == 6 && $this.$gameSettings.$keyBindFunction.$pressed) {
                                    var$1 = $this.$gameSettings;
                                    var$1.$thirdPersonView = var$1.$thirdPersonView + 1 | 0;
                                    if ($this.$gameSettings.$thirdPersonView > 2)
                                        $this.$gameSettings.$thirdPersonView = 0;
                                }
                                if (nlea_EaglerAdapterImpl2_getEventKey() == 7 && $this.$gameSettings.$keyBindFunction.$pressed) {
                                    $this.$gameSettings.$showCoordinates = $this.$gameSettings.$showCoordinates ? 0 : 1;
                                    nms_GameSettings_saveOptions($this.$gameSettings);
                                }
                                if (nlea_EaglerAdapterImpl2_getEventKey() == 9 && $this.$gameSettings.$keyBindFunction.$pressed)
                                    $this.$gameSettings.$smoothCamera = $this.$gameSettings.$smoothCamera ? 0 : 1;
                                g: {
                                    if (!$this.$gameSettings.$keyBindFunction.$pressed) {
                                        $var9 = 0;
                                        while (true) {
                                            if ($var9 >= 9)
                                                break g;
                                            if (nlea_EaglerAdapterImpl2_getEventKey() == (2 + $var9 | 0))
                                                $this.$thePlayer.$inventory.$currentItem = $var9;
                                            $var9 = $var9 + 1 | 0;
                                        }
                                    }
                                }
                                if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart && !$this.$gameSettings.$keyBindFunction.$pressed) {
                                    if (nlea_EaglerAdapterImpl2_getEventKey() == 11)
                                        nmc_Minecraft_updateDebugProfilerName($this, 0);
                                    $var9 = 0;
                                    while (true) {
                                        if ($var9 >= 9)
                                            break f;
                                        if (nlea_EaglerAdapterImpl2_getEventKey() == (2 + $var9 | 0))
                                            nmc_Minecraft_updateDebugProfilerName($this, $var9 + 1 | 0);
                                        $var9 = $var9 + 1 | 0;
                                    }
                                }
                            }
                        }
                    }
                }
                $rt_throw(jl_RuntimeException__init_($rt_s(360)));
            }
            nms_KeyBinding_setKeyBindState(nlea_EaglerAdapterImpl2_mouseGetEventButton() - 100 | 0, nlea_EaglerAdapterImpl2_mouseGetEventButtonState());
            if (nlea_EaglerAdapterImpl2_mouseGetEventButtonState())
                nms_KeyBinding_onTick(nlea_EaglerAdapterImpl2_mouseGetEventButton() - 100 | 0);
            if (Long_gt(Long_sub(nmc_Minecraft_getSystemTime(), $this.$systemTime), Long_fromInt(200)))
                continue;
            $var10 = nlea_EaglerAdapterImpl2_mouseGetEventDWheel();
            if ($var10) {
                nms_InventoryPlayer_changeCurrentItem($this.$thePlayer.$inventory, $var10);
                if ($this.$gameSettings.$noclip) {
                    if ($var10 > 0)
                        $var10 = 1;
                    if ($var10 < 0)
                        $var10 = (-1);
                    var$1 = $this.$gameSettings;
                    var$1.$noclipRate = var$1.$noclipRate + $var10 * 0.25;
                }
            }
            if ($this.$currentScreen === null) {
                if ($this.$inGameHasFocus)
                    continue;
                if (!nlea_EaglerAdapterImpl2_mouseGetEventButtonState())
                    continue;
                nmc_Minecraft_setIngameFocus($this);
                continue;
            }
            if ($this.$currentScreen === null)
                continue;
            else
                break;
        }
        var$1 = $this.$currentScreen;
        continue main;
    case 9:
        nms_World_updateEntities(var$1);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$isGamePaused) {
            nms_World_setAllowedSpawnTypes($this.$theWorld, $this.$theWorld.$difficultySetting <= 0 ? 0 : 1, 1);
            var$1 = $this.$theWorld;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(356));
        if (!$this.$isGamePaused && $this.$theWorld !== null) {
            var$1 = $this.$theWorld;
            $var8 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
            $F3down = nms_MathHelper_floor_double($this.$thePlayer.$posY);
            $var9 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
            $ptr = 11;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(357));
        if (!$this.$isGamePaused) {
            var$1 = $this.$effectRenderer;
            $ptr = 10;
            continue main;
        }
        if ($this.$theWorld !== null) {
            nms_SoundManager_stopTheTitleMusic($this.$sndManager);
            nms_Profiler_endSection($this.$mcProfiler);
            $this.$systemTime = nmc_Minecraft_getSystemTime();
            return;
        }
        var$1 = $this.$sndManager;
        $ptr = 6;
        continue main;
    case 10:
        nms_EffectRenderer_updateEffects(var$1);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$theWorld !== null) {
            nms_SoundManager_stopTheTitleMusic($this.$sndManager);
            nms_Profiler_endSection($this.$mcProfiler);
            $this.$systemTime = nmc_Minecraft_getSystemTime();
            return;
        }
        var$1 = $this.$sndManager;
        $ptr = 6;
        continue main;
    case 11:
        nms_WorldClient_doVoidFogParticles(var$1, $var8, $F3down, $var9);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(357));
        if (!$this.$isGamePaused) {
            var$1 = $this.$effectRenderer;
            $ptr = 10;
            continue main;
        }
        if ($this.$theWorld !== null) {
            nms_SoundManager_stopTheTitleMusic($this.$sndManager);
            nms_Profiler_endSection($this.$mcProfiler);
            $this.$systemTime = nmc_Minecraft_getSystemTime();
            return;
        }
        var$1 = $this.$sndManager;
        $ptr = 6;
        continue main;
    case 12:
        nms_WorldClient_tick(var$1);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(356));
        if (!$this.$isGamePaused && $this.$theWorld !== null) {
            var$1 = $this.$theWorld;
            $var8 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
            $F3down = nms_MathHelper_floor_double($this.$thePlayer.$posY);
            $var9 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
            $ptr = 11;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(357));
        if (!$this.$isGamePaused) {
            var$1 = $this.$effectRenderer;
            $ptr = 10;
            continue main;
        }
        if ($this.$theWorld !== null) {
            nms_SoundManager_stopTheTitleMusic($this.$sndManager);
            nms_Profiler_endSection($this.$mcProfiler);
            $this.$systemTime = nmc_Minecraft_getSystemTime();
            return;
        }
        var$1 = $this.$sndManager;
        $ptr = 6;
        continue main;
    case 13:
        nmc_Minecraft_clickMouse($this, $var8);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack)) {
            $var8 = 0;
            continue main;
        }
        if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
            $var8 = 1;
            $ptr = 16;
            continue main;
        }
        if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock)) {
            $ptr = 17;
            continue main;
        }
        if ($this.$gameSettings.$keyBindUseItem.$pressed && !$this.$rightClickDelayTimer && !nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
            $var8 = 1;
            $ptr = 20;
            continue main;
        }
        $var8 = 0;
        $F3down = $this.$currentScreen === null && $this.$gameSettings.$keyBindAttack.$pressed && $this.$inGameHasFocus ? 1 : 0;
        $ptr = 19;
        continue main;
    case 14:
        nms_PlayerControllerMP_onStoppedUsingItem(var$1, var$6);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack))
                continue;
            else
                break;
        }
        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
        }
        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock)) {
        }
        if ($this.$gameSettings.$keyBindUseItem.$pressed && !$this.$rightClickDelayTimer && !nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
            $var8 = 1;
            $ptr = 20;
            continue main;
        }
        $var8 = 0;
        $F3down = $this.$currentScreen === null && $this.$gameSettings.$keyBindAttack.$pressed && $this.$inGameHasFocus ? 1 : 0;
        $ptr = 19;
        continue main;
    case 15:
        nms_GuiScreen_handleKeyboardInput(var$1);
        if ($rt_suspending()) {
            break main;
        }
        h: while (true) {
            i: {
                if (!$this.$gameSettings.$keyBindFunction.$pressed) {
                    $var9 = 0;
                    while (true) {
                        if ($var9 >= 9)
                            break i;
                        if (nlea_EaglerAdapterImpl2_getEventKey() == (2 + $var9 | 0))
                            $this.$thePlayer.$inventory.$currentItem = $var9;
                        $var9 = $var9 + 1 | 0;
                    }
                }
            }
            j: {
                if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart && !$this.$gameSettings.$keyBindFunction.$pressed) {
                    if (nlea_EaglerAdapterImpl2_getEventKey() == 11)
                        nmc_Minecraft_updateDebugProfilerName($this, 0);
                    $var9 = 0;
                    while (true) {
                        if ($var9 >= 9)
                            break j;
                        if (nlea_EaglerAdapterImpl2_getEventKey() == (2 + $var9 | 0))
                            nmc_Minecraft_updateDebugProfilerName($this, $var9 + 1 | 0);
                        $var9 = $var9 + 1 | 0;
                    }
                }
            }
            while (true) {
                if (!nlea_EaglerAdapterImpl2_keysNext()) {
                    $var8 = $this.$gameSettings.$chatVisibility == 2 ? 0 : 1;
                    while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindInventory)) {
                        nmc_Minecraft_displayGuiScreen($this, nms_GuiInventory__init_($this.$thePlayer));
                    }
                    while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindDrop)) {
                        nms_EntityClientPlayerMP_dropOneItem($this.$thePlayer, nms_GuiScreen_isCtrlKeyDown());
                    }
                    while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindChat) && $var8) {
                        nmc_Minecraft_displayGuiScreen($this, nms_GuiChat__init_0());
                    }
                    if ($this.$currentScreen === null && nlea_EaglerAdapterImpl2_isKeyDown(53) && $var8)
                        nmc_Minecraft_displayGuiScreen($this, nms_GuiChat__init_1($rt_s(61)));
                    if ($this.$gameSettings.$keyBindSprint.$pressed && !nms_Entity_isSprinting($this.$thePlayer) && nms_EntityPlayerSP_canSprint($this.$thePlayer) && !$this.$thePlayer.$isCollidedHorizontally)
                        nms_EntityPlayerSP_setSprinting($this.$thePlayer, 1);
                    k: {
                        if (!nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
                            if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack)) {
                                $var8 = 0;
                                $ptr = 13;
                                continue main;
                            }
                            if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
                                $var8 = 1;
                                $ptr = 16;
                                continue main;
                            }
                            if (!nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock))
                                break k;
                            $ptr = 17;
                            continue main;
                        }
                        if (!$this.$gameSettings.$keyBindUseItem.$pressed) {
                            var$1 = $this.$playerController;
                            var$6 = $this.$thePlayer;
                            $ptr = 14;
                            continue main;
                        }
                        while (true) {
                            if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack))
                                continue;
                            else
                                break;
                        }
                        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
                        }
                        while (true) {
                            if (!nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock))
                                break k;
                        }
                    }
                    if ($this.$gameSettings.$keyBindUseItem.$pressed && !$this.$rightClickDelayTimer && !nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
                        $var8 = 1;
                        $ptr = 20;
                        continue main;
                    }
                    $var8 = 0;
                    $F3down = $this.$currentScreen === null && $this.$gameSettings.$keyBindAttack.$pressed && $this.$inGameHasFocus ? 1 : 0;
                    $ptr = 19;
                    continue main;
                }
                nms_KeyBinding_setKeyBindState(nlea_EaglerAdapterImpl2_getEventKey(), nlea_EaglerAdapterImpl2_getEventKeyState());
                if (nlea_EaglerAdapterImpl2_getEventKeyState())
                    nms_KeyBinding_onTick(nlea_EaglerAdapterImpl2_getEventKey());
                $F3down = $this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_isKeyDown(4) ? 1 : 0;
                if (Long_gt($this.$field_83002_am, Long_ZERO)) {
                    if (Long_ge(Long_sub(nmc_Minecraft_getSystemTime(), $this.$field_83002_am), Long_fromInt(6000)))
                        break h;
                    if (!(nlea_EaglerAdapterImpl2_isKeyDown(46) && $F3down))
                        $this.$field_83002_am = Long_fromInt(-1);
                } else if ($F3down && nlea_EaglerAdapterImpl2_isKeyDown(46))
                    $this.$field_83002_am = nmc_Minecraft_getSystemTime();
                if (!nlea_EaglerAdapterImpl2_getEventKeyState())
                    continue;
                $this.$isGonnaTakeDatScreenShot = $this.$isGonnaTakeDatScreenShot | ($this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_getEventKey() == 3 ? 1 : 0);
                if (nlea_EaglerAdapterImpl2_getEventKey() != 87)
                    break;
                nmc_Minecraft_toggleFullscreen($this);
            }
            if ($this.$currentScreen !== null) {
                var$1 = $this.$currentScreen;
                continue main;
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 1)
                nmc_Minecraft_displayInGameMenu($this);
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 31)
                nmc_Minecraft_forceReload($this);
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 20) {
                var$1 = $this.$renderEngine;
                $ptr = 18;
                continue main;
            }
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 33) {
                $var8 = nlea_EaglerAdapterImpl2_isKeyDown(42) | nlea_EaglerAdapterImpl2_isKeyDown(54);
                var$1 = $this.$gameSettings;
                var$6 = nms_EnumOptions_RENDER_DISTANCE;
                $var8 = !$var8 ? 1 : (-1);
                $ptr = 21;
                continue main;
            }
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 30)
                nms_RenderGlobal_loadRenderers($this.$renderGlobal);
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 35) {
                $this.$gameSettings.$advancedItemTooltips = $this.$gameSettings.$advancedItemTooltips ? 0 : 1;
                nms_GameSettings_saveOptions($this.$gameSettings);
            }
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 48)
                nms_RenderManager_field_85095_o = nms_RenderManager_field_85095_o ? 0 : 1;
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 25) {
                $this.$gameSettings.$pauseOnLostFocus = $this.$gameSettings.$pauseOnLostFocus ? 0 : 1;
                nms_GameSettings_saveOptions($this.$gameSettings);
            }
            if ($this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_getEventKey() == 2)
                $this.$gameSettings.$hideGUI = $this.$gameSettings.$hideGUI ? 0 : 1;
            if (nlea_EaglerAdapterImpl2_getEventKey() == 4 && $this.$gameSettings.$keyBindFunction.$pressed) {
                $this.$gameSettings.$showDebugInfo = $this.$gameSettings.$showDebugInfo ? 0 : 1;
                $this.$gameSettings.$showDebugProfilerChart = 1;
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 6 && $this.$gameSettings.$keyBindFunction.$pressed) {
                var$1 = $this.$gameSettings;
                var$1.$thirdPersonView = var$1.$thirdPersonView + 1 | 0;
                if ($this.$gameSettings.$thirdPersonView > 2)
                    $this.$gameSettings.$thirdPersonView = 0;
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 7 && $this.$gameSettings.$keyBindFunction.$pressed) {
                $this.$gameSettings.$showCoordinates = $this.$gameSettings.$showCoordinates ? 0 : 1;
                nms_GameSettings_saveOptions($this.$gameSettings);
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() != 9)
                continue;
            if (!$this.$gameSettings.$keyBindFunction.$pressed)
                continue;
            $this.$gameSettings.$smoothCamera = $this.$gameSettings.$smoothCamera ? 0 : 1;
        }
        $rt_throw(jl_RuntimeException__init_($rt_s(360)));
    case 16:
        nmc_Minecraft_clickMouse($this, $var8);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
            $var8 = 1;
            continue main;
        }
        if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock)) {
            $ptr = 17;
            continue main;
        }
        if ($this.$gameSettings.$keyBindUseItem.$pressed && !$this.$rightClickDelayTimer && !nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
            $var8 = 1;
            $ptr = 20;
            continue main;
        }
        $var8 = 0;
        $F3down = $this.$currentScreen === null && $this.$gameSettings.$keyBindAttack.$pressed && $this.$inGameHasFocus ? 1 : 0;
        $ptr = 19;
        continue main;
    case 17:
        nmc_Minecraft_clickMiddleMouseButton($this);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock)) {
            continue main;
        }
        if ($this.$gameSettings.$keyBindUseItem.$pressed && !$this.$rightClickDelayTimer && !nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
            $var8 = 1;
            $ptr = 20;
            continue main;
        }
        $var8 = 0;
        $F3down = $this.$currentScreen === null && $this.$gameSettings.$keyBindAttack.$pressed && $this.$inGameHasFocus ? 1 : 0;
        $ptr = 19;
        continue main;
    case 18:
        nms_RenderEngine_refreshTextures(var$1);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderGlobal_loadRenderers($this.$renderGlobal);
        nleg_EffectPipeline_reloadPipeline();
        nleg_FixedFunctionShader_refreshCoreGL();
        h: while (true) {
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 33) {
                $var8 = nlea_EaglerAdapterImpl2_isKeyDown(42) | nlea_EaglerAdapterImpl2_isKeyDown(54);
                var$1 = $this.$gameSettings;
                var$6 = nms_EnumOptions_RENDER_DISTANCE;
                $var8 = !$var8 ? 1 : (-1);
                $ptr = 21;
                continue main;
            }
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 30)
                nms_RenderGlobal_loadRenderers($this.$renderGlobal);
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 35) {
                $this.$gameSettings.$advancedItemTooltips = $this.$gameSettings.$advancedItemTooltips ? 0 : 1;
                nms_GameSettings_saveOptions($this.$gameSettings);
            }
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 48)
                nms_RenderManager_field_85095_o = nms_RenderManager_field_85095_o ? 0 : 1;
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 25) {
                $this.$gameSettings.$pauseOnLostFocus = $this.$gameSettings.$pauseOnLostFocus ? 0 : 1;
                nms_GameSettings_saveOptions($this.$gameSettings);
            }
            if ($this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_getEventKey() == 2)
                $this.$gameSettings.$hideGUI = $this.$gameSettings.$hideGUI ? 0 : 1;
            if (nlea_EaglerAdapterImpl2_getEventKey() == 4 && $this.$gameSettings.$keyBindFunction.$pressed) {
                $this.$gameSettings.$showDebugInfo = $this.$gameSettings.$showDebugInfo ? 0 : 1;
                $this.$gameSettings.$showDebugProfilerChart = 1;
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 6 && $this.$gameSettings.$keyBindFunction.$pressed) {
                var$1 = $this.$gameSettings;
                var$1.$thirdPersonView = var$1.$thirdPersonView + 1 | 0;
                if ($this.$gameSettings.$thirdPersonView > 2)
                    $this.$gameSettings.$thirdPersonView = 0;
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 7 && $this.$gameSettings.$keyBindFunction.$pressed) {
                $this.$gameSettings.$showCoordinates = $this.$gameSettings.$showCoordinates ? 0 : 1;
                nms_GameSettings_saveOptions($this.$gameSettings);
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 9 && $this.$gameSettings.$keyBindFunction.$pressed)
                $this.$gameSettings.$smoothCamera = $this.$gameSettings.$smoothCamera ? 0 : 1;
            l: {
                if (!$this.$gameSettings.$keyBindFunction.$pressed) {
                    $var9 = 0;
                    while (true) {
                        if ($var9 >= 9)
                            break l;
                        if (nlea_EaglerAdapterImpl2_getEventKey() == (2 + $var9 | 0))
                            $this.$thePlayer.$inventory.$currentItem = $var9;
                        $var9 = $var9 + 1 | 0;
                    }
                }
            }
            m: {
                if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart && !$this.$gameSettings.$keyBindFunction.$pressed) {
                    if (nlea_EaglerAdapterImpl2_getEventKey() == 11)
                        nmc_Minecraft_updateDebugProfilerName($this, 0);
                    $var9 = 0;
                    while (true) {
                        if ($var9 >= 9)
                            break m;
                        if (nlea_EaglerAdapterImpl2_getEventKey() == (2 + $var9 | 0))
                            nmc_Minecraft_updateDebugProfilerName($this, $var9 + 1 | 0);
                        $var9 = $var9 + 1 | 0;
                    }
                }
            }
            while (true) {
                if (!nlea_EaglerAdapterImpl2_keysNext()) {
                    $var8 = $this.$gameSettings.$chatVisibility == 2 ? 0 : 1;
                    while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindInventory)) {
                        nmc_Minecraft_displayGuiScreen($this, nms_GuiInventory__init_($this.$thePlayer));
                    }
                    while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindDrop)) {
                        nms_EntityClientPlayerMP_dropOneItem($this.$thePlayer, nms_GuiScreen_isCtrlKeyDown());
                    }
                    while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindChat) && $var8) {
                        nmc_Minecraft_displayGuiScreen($this, nms_GuiChat__init_0());
                    }
                    if ($this.$currentScreen === null && nlea_EaglerAdapterImpl2_isKeyDown(53) && $var8)
                        nmc_Minecraft_displayGuiScreen($this, nms_GuiChat__init_1($rt_s(61)));
                    if ($this.$gameSettings.$keyBindSprint.$pressed && !nms_Entity_isSprinting($this.$thePlayer) && nms_EntityPlayerSP_canSprint($this.$thePlayer) && !$this.$thePlayer.$isCollidedHorizontally)
                        nms_EntityPlayerSP_setSprinting($this.$thePlayer, 1);
                    k: {
                        if (!nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
                            if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack)) {
                                $var8 = 0;
                                $ptr = 13;
                                continue main;
                            }
                            if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
                                $var8 = 1;
                                $ptr = 16;
                                continue main;
                            }
                            if (!nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock))
                                break k;
                            $ptr = 17;
                            continue main;
                        }
                        if (!$this.$gameSettings.$keyBindUseItem.$pressed) {
                            var$1 = $this.$playerController;
                            var$6 = $this.$thePlayer;
                            $ptr = 14;
                            continue main;
                        }
                        while (true) {
                            if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack))
                                continue;
                            else
                                break;
                        }
                        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
                        }
                        while (true) {
                            if (!nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock))
                                break k;
                        }
                    }
                    if ($this.$gameSettings.$keyBindUseItem.$pressed && !$this.$rightClickDelayTimer && !nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
                        $var8 = 1;
                        $ptr = 20;
                        continue main;
                    }
                    $var8 = 0;
                    $F3down = $this.$currentScreen === null && $this.$gameSettings.$keyBindAttack.$pressed && $this.$inGameHasFocus ? 1 : 0;
                    $ptr = 19;
                    continue main;
                }
                nms_KeyBinding_setKeyBindState(nlea_EaglerAdapterImpl2_getEventKey(), nlea_EaglerAdapterImpl2_getEventKeyState());
                if (nlea_EaglerAdapterImpl2_getEventKeyState())
                    nms_KeyBinding_onTick(nlea_EaglerAdapterImpl2_getEventKey());
                $F3down = $this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_isKeyDown(4) ? 1 : 0;
                if (Long_gt($this.$field_83002_am, Long_ZERO)) {
                    if (Long_ge(Long_sub(nmc_Minecraft_getSystemTime(), $this.$field_83002_am), Long_fromInt(6000)))
                        break h;
                    if (!(nlea_EaglerAdapterImpl2_isKeyDown(46) && $F3down))
                        $this.$field_83002_am = Long_fromInt(-1);
                } else if ($F3down && nlea_EaglerAdapterImpl2_isKeyDown(46))
                    $this.$field_83002_am = nmc_Minecraft_getSystemTime();
                if (!nlea_EaglerAdapterImpl2_getEventKeyState())
                    continue;
                $this.$isGonnaTakeDatScreenShot = $this.$isGonnaTakeDatScreenShot | ($this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_getEventKey() == 3 ? 1 : 0);
                if (nlea_EaglerAdapterImpl2_getEventKey() != 87)
                    break;
                nmc_Minecraft_toggleFullscreen($this);
            }
            if ($this.$currentScreen !== null) {
                var$1 = $this.$currentScreen;
                $ptr = 15;
                continue main;
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 1)
                nmc_Minecraft_displayInGameMenu($this);
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 31)
                nmc_Minecraft_forceReload($this);
            if (!$F3down)
                continue;
            if (nlea_EaglerAdapterImpl2_getEventKey() != 20)
                continue;
            else {
                var$1 = $this.$renderEngine;
                continue main;
            }
        }
        $rt_throw(jl_RuntimeException__init_($rt_s(360)));
    case 19:
        nmc_Minecraft_sendClickBlockToController($this, $var8, $F3down);
        if ($rt_suspending()) {
            break main;
        }
        n: {
            if ($this.$theWorld === null) {
                if ($this.$myNetworkManager === null)
                    break n;
                nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(353));
                var$1 = $this.$myNetworkManager;
                $ptr = 5;
                continue main;
            }
            if ($this.$thePlayer !== null) {
                $this.$joinPlayerCounter = $this.$joinPlayerCounter + 1 | 0;
                if ($this.$joinPlayerCounter == 30) {
                    $this.$joinPlayerCounter = 0;
                    nms_World_joinEntityInSurroundings($this.$theWorld, $this.$thePlayer);
                }
            }
            nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(335));
            if (!$this.$isGamePaused) {
                var$1 = $this.$entityRenderer;
                $ptr = 7;
                continue main;
            }
            nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(354));
            if (!$this.$isGamePaused)
                nms_RenderGlobal_updateClouds($this.$renderGlobal);
            nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(355));
            if (!$this.$isGamePaused) {
                if ($this.$theWorld.$lastLightningBolt > 0) {
                    var$1 = $this.$theWorld;
                    var$1.$lastLightningBolt = var$1.$lastLightningBolt - 1 | 0;
                }
                var$1 = $this.$theWorld;
                $ptr = 9;
                continue main;
            }
            if (!$this.$isGamePaused) {
                nms_World_setAllowedSpawnTypes($this.$theWorld, $this.$theWorld.$difficultySetting <= 0 ? 0 : 1, 1);
                var$1 = $this.$theWorld;
                $ptr = 12;
                continue main;
            }
            nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(356));
            if (!$this.$isGamePaused && $this.$theWorld !== null) {
                var$1 = $this.$theWorld;
                $var8 = nms_MathHelper_floor_double($this.$thePlayer.$posX);
                $F3down = nms_MathHelper_floor_double($this.$thePlayer.$posY);
                $var9 = nms_MathHelper_floor_double($this.$thePlayer.$posZ);
                $ptr = 11;
                continue main;
            }
            nms_Profiler_endStartSection($this.$mcProfiler, $rt_s(357));
            if (!$this.$isGamePaused) {
                var$1 = $this.$effectRenderer;
                $ptr = 10;
                continue main;
            }
        }
        if ($this.$theWorld !== null) {
            nms_SoundManager_stopTheTitleMusic($this.$sndManager);
            nms_Profiler_endSection($this.$mcProfiler);
            $this.$systemTime = nmc_Minecraft_getSystemTime();
            return;
        }
        var$1 = $this.$sndManager;
        $ptr = 6;
        continue main;
    case 20:
        nmc_Minecraft_clickMouse($this, $var8);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = 0;
        $F3down = $this.$currentScreen === null && $this.$gameSettings.$keyBindAttack.$pressed && $this.$inGameHasFocus ? 1 : 0;
        $ptr = 19;
        continue main;
    case 21:
        nms_GameSettings_setOptionValue(var$1, var$6, $var8);
        if ($rt_suspending()) {
            break main;
        }
        h: while (true) {
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 30)
                nms_RenderGlobal_loadRenderers($this.$renderGlobal);
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 35) {
                $this.$gameSettings.$advancedItemTooltips = $this.$gameSettings.$advancedItemTooltips ? 0 : 1;
                nms_GameSettings_saveOptions($this.$gameSettings);
            }
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 48)
                nms_RenderManager_field_85095_o = nms_RenderManager_field_85095_o ? 0 : 1;
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 25) {
                $this.$gameSettings.$pauseOnLostFocus = $this.$gameSettings.$pauseOnLostFocus ? 0 : 1;
                nms_GameSettings_saveOptions($this.$gameSettings);
            }
            if ($this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_getEventKey() == 2)
                $this.$gameSettings.$hideGUI = $this.$gameSettings.$hideGUI ? 0 : 1;
            if (nlea_EaglerAdapterImpl2_getEventKey() == 4 && $this.$gameSettings.$keyBindFunction.$pressed) {
                $this.$gameSettings.$showDebugInfo = $this.$gameSettings.$showDebugInfo ? 0 : 1;
                $this.$gameSettings.$showDebugProfilerChart = 1;
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 6 && $this.$gameSettings.$keyBindFunction.$pressed) {
                var$1 = $this.$gameSettings;
                var$1.$thirdPersonView = var$1.$thirdPersonView + 1 | 0;
                if ($this.$gameSettings.$thirdPersonView > 2)
                    $this.$gameSettings.$thirdPersonView = 0;
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 7 && $this.$gameSettings.$keyBindFunction.$pressed) {
                $this.$gameSettings.$showCoordinates = $this.$gameSettings.$showCoordinates ? 0 : 1;
                nms_GameSettings_saveOptions($this.$gameSettings);
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 9 && $this.$gameSettings.$keyBindFunction.$pressed)
                $this.$gameSettings.$smoothCamera = $this.$gameSettings.$smoothCamera ? 0 : 1;
            o: {
                if (!$this.$gameSettings.$keyBindFunction.$pressed) {
                    $var9 = 0;
                    while (true) {
                        if ($var9 >= 9)
                            break o;
                        if (nlea_EaglerAdapterImpl2_getEventKey() == (2 + $var9 | 0))
                            $this.$thePlayer.$inventory.$currentItem = $var9;
                        $var9 = $var9 + 1 | 0;
                    }
                }
            }
            p: {
                if ($this.$gameSettings.$showDebugInfo && $this.$gameSettings.$showDebugProfilerChart && !$this.$gameSettings.$keyBindFunction.$pressed) {
                    if (nlea_EaglerAdapterImpl2_getEventKey() == 11)
                        nmc_Minecraft_updateDebugProfilerName($this, 0);
                    $var9 = 0;
                    while (true) {
                        if ($var9 >= 9)
                            break p;
                        if (nlea_EaglerAdapterImpl2_getEventKey() == (2 + $var9 | 0))
                            nmc_Minecraft_updateDebugProfilerName($this, $var9 + 1 | 0);
                        $var9 = $var9 + 1 | 0;
                    }
                }
            }
            while (true) {
                if (!nlea_EaglerAdapterImpl2_keysNext()) {
                    $var8 = $this.$gameSettings.$chatVisibility == 2 ? 0 : 1;
                    while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindInventory)) {
                        nmc_Minecraft_displayGuiScreen($this, nms_GuiInventory__init_($this.$thePlayer));
                    }
                    while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindDrop)) {
                        nms_EntityClientPlayerMP_dropOneItem($this.$thePlayer, nms_GuiScreen_isCtrlKeyDown());
                    }
                    while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindChat) && $var8) {
                        nmc_Minecraft_displayGuiScreen($this, nms_GuiChat__init_0());
                    }
                    if ($this.$currentScreen === null && nlea_EaglerAdapterImpl2_isKeyDown(53) && $var8)
                        nmc_Minecraft_displayGuiScreen($this, nms_GuiChat__init_1($rt_s(61)));
                    if ($this.$gameSettings.$keyBindSprint.$pressed && !nms_Entity_isSprinting($this.$thePlayer) && nms_EntityPlayerSP_canSprint($this.$thePlayer) && !$this.$thePlayer.$isCollidedHorizontally)
                        nms_EntityPlayerSP_setSprinting($this.$thePlayer, 1);
                    k: {
                        if (!nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
                            if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack)) {
                                $var8 = 0;
                                $ptr = 13;
                                continue main;
                            }
                            if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
                                $var8 = 1;
                                $ptr = 16;
                                continue main;
                            }
                            if (!nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock))
                                break k;
                            $ptr = 17;
                            continue main;
                        }
                        if (!$this.$gameSettings.$keyBindUseItem.$pressed) {
                            var$1 = $this.$playerController;
                            var$6 = $this.$thePlayer;
                            $ptr = 14;
                            continue main;
                        }
                        while (true) {
                            if (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindAttack))
                                continue;
                            else
                                break;
                        }
                        while (nms_KeyBinding_isPressed($this.$gameSettings.$keyBindUseItem)) {
                        }
                        while (true) {
                            if (!nms_KeyBinding_isPressed($this.$gameSettings.$keyBindPickBlock))
                                break k;
                        }
                    }
                    if ($this.$gameSettings.$keyBindUseItem.$pressed && !$this.$rightClickDelayTimer && !nms_EntityPlayer_isUsingItem($this.$thePlayer)) {
                        $var8 = 1;
                        $ptr = 20;
                        continue main;
                    }
                    $var8 = 0;
                    $F3down = $this.$currentScreen === null && $this.$gameSettings.$keyBindAttack.$pressed && $this.$inGameHasFocus ? 1 : 0;
                    $ptr = 19;
                    continue main;
                }
                nms_KeyBinding_setKeyBindState(nlea_EaglerAdapterImpl2_getEventKey(), nlea_EaglerAdapterImpl2_getEventKeyState());
                if (nlea_EaglerAdapterImpl2_getEventKeyState())
                    nms_KeyBinding_onTick(nlea_EaglerAdapterImpl2_getEventKey());
                $F3down = $this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_isKeyDown(4) ? 1 : 0;
                if (Long_gt($this.$field_83002_am, Long_ZERO)) {
                    if (Long_ge(Long_sub(nmc_Minecraft_getSystemTime(), $this.$field_83002_am), Long_fromInt(6000)))
                        break h;
                    if (!(nlea_EaglerAdapterImpl2_isKeyDown(46) && $F3down))
                        $this.$field_83002_am = Long_fromInt(-1);
                } else if ($F3down && nlea_EaglerAdapterImpl2_isKeyDown(46))
                    $this.$field_83002_am = nmc_Minecraft_getSystemTime();
                if (!nlea_EaglerAdapterImpl2_getEventKeyState())
                    continue;
                $this.$isGonnaTakeDatScreenShot = $this.$isGonnaTakeDatScreenShot | ($this.$gameSettings.$keyBindFunction.$pressed && nlea_EaglerAdapterImpl2_getEventKey() == 3 ? 1 : 0);
                if (nlea_EaglerAdapterImpl2_getEventKey() != 87)
                    break;
                nmc_Minecraft_toggleFullscreen($this);
            }
            if ($this.$currentScreen !== null) {
                var$1 = $this.$currentScreen;
                $ptr = 15;
                continue main;
            }
            if (nlea_EaglerAdapterImpl2_getEventKey() == 1)
                nmc_Minecraft_displayInGameMenu($this);
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 31)
                nmc_Minecraft_forceReload($this);
            if ($F3down && nlea_EaglerAdapterImpl2_getEventKey() == 20) {
                var$1 = $this.$renderEngine;
                $ptr = 18;
                continue main;
            }
            if (!$F3down)
                continue;
            if (nlea_EaglerAdapterImpl2_getEventKey() != 33)
                continue;
            else {
                $var8 = nlea_EaglerAdapterImpl2_isKeyDown(42) | nlea_EaglerAdapterImpl2_isKeyDown(54);
                var$1 = $this.$gameSettings;
                var$6 = nms_EnumOptions_RENDER_DISTANCE;
                $var8 = !$var8 ? 1 : (-1);
                continue main;
            }
        }
        $rt_throw(jl_RuntimeException__init_($rt_s(360)));
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, $var8, $F3down, $var9, var$6, $var10, $ptr);
}
function nmc_Minecraft_forceReload($this) {
    ji_PrintStream_println(jl_System_err(), $rt_s(361));
    if ($this.$sndManager !== null)
        nms_SoundManager_stopAllSounds($this.$sndManager);
    $this.$sndManager = nms_SoundManager__init_0();
    nms_SoundManager_loadSoundSettings($this.$sndManager, $this.$gameSettings);
}
function nmc_Minecraft_loadWorld($this, $par1WorldClient) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1WorldClient = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $rt_s(36);
        $ptr = 1;
    case 1:
        nmc_Minecraft_loadWorld0($this, $par1WorldClient, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1WorldClient, var$2, $ptr);
}
function nmc_Minecraft_loadWorld0($this, $par1WorldClient, $par2Str) {
    var $var3, $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2Str = $thread.pop();$par1WorldClient = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1WorldClient === null) {
            $var3 = nmc_Minecraft_getNetHandler($this);
            if ($var3 !== null)
                nms_NetClientHandler_cleanup($var3);
            if ($this.$myNetworkManager !== null)
                $this.$myNetworkManager.$closeConnections();
        }
        $this.$renderViewEntity = null;
        $this.$myNetworkManager = null;
        if ($this.$loadingScreen !== null) {
            nms_LoadingScreenRenderer_resetProgressAndMessage($this.$loadingScreen, $par2Str);
            $par2Str = $this.$loadingScreen;
            $var3 = $rt_s(36);
            $ptr = 1;
            continue main;
        }
        if ($par1WorldClient === null && $this.$theWorld !== null) {
            if ($this.$texturePackList.$isDownloading) {
                $par2Str = $this.$texturePackList;
                $ptr = 2;
                continue main;
            }
            $this.$currentServerData = null;
            $this.$integratedServerIsRunning = 0;
        }
        nms_SoundManager_stopAllSounds($this.$sndManager);
        if (nlea_EaglerAdapterImpl2_isVideoSupported())
            nlea_EaglerAdapterImpl2_unloadVideo();
        $this.$theWorld = $par1WorldClient;
        if ($par1WorldClient === null) {
            $this.$thePlayer = null;
            $this.$systemTime = Long_ZERO;
            return;
        }
        if ($this.$renderGlobal !== null)
            nms_RenderGlobal_setWorldAndLoadRenderers($this.$renderGlobal, $par1WorldClient);
        if ($this.$effectRenderer !== null)
            nms_EffectRenderer_clearEffects($this.$effectRenderer, $par1WorldClient);
        if ($this.$thePlayer === null) {
            $this.$thePlayer = nms_PlayerControllerMP_func_78754_a($this.$playerController, $par1WorldClient);
            nms_PlayerControllerMP_flipPlayer($this.$playerController, $this.$thePlayer);
        }
        $var4 = nms_StringTranslate_instance;
        if (!($this.$gameSettings.$fancyGraphics && $this.$gameSettings.$ambientOcclusion)) {
            $par2Str = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par2Str);
            jl_AbstractStringBuilder_append($par2Str, $rt_s(362));
            jl_AbstractStringBuilder_append($par2Str, nms_StringTranslate_translateKey($var4, $rt_s(363)));
            nmc_Minecraft_displayEaglercraftText($this, jl_AbstractStringBuilder_toString($par2Str));
        }
        if (!$this.$gameSettings.$showCoordinates) {
            $par2Str = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par2Str);
            jl_AbstractStringBuilder_append1($par2Str, nms_EnumChatFormatting_LIGHT_PURPLE);
            jl_AbstractStringBuilder_append($par2Str, $rt_s(364));
            nmc_Minecraft_displayEaglercraftText($this, jl_AbstractStringBuilder_toString($par2Str));
        } else {
            $par2Str = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par2Str);
            jl_AbstractStringBuilder_append1($par2Str, nms_EnumChatFormatting_LIGHT_PURPLE);
            jl_AbstractStringBuilder_append($par2Str, $rt_s(365));
            nmc_Minecraft_displayEaglercraftText($this, jl_AbstractStringBuilder_toString($par2Str));
        }
        $par2Str = $this.$thePlayer;
        $ptr = 3;
        continue main;
    case 1:
        nms_LoadingScreenRenderer_resetProgresAndWorkingMessage($par2Str, $var3);
        if ($rt_suspending()) {
            break main;
        }
        if ($par1WorldClient === null && $this.$theWorld !== null) {
            if ($this.$texturePackList.$isDownloading) {
                $par2Str = $this.$texturePackList;
                $ptr = 2;
                continue main;
            }
            $this.$currentServerData = null;
            $this.$integratedServerIsRunning = 0;
        }
        nms_SoundManager_stopAllSounds($this.$sndManager);
        if (nlea_EaglerAdapterImpl2_isVideoSupported())
            nlea_EaglerAdapterImpl2_unloadVideo();
        $this.$theWorld = $par1WorldClient;
        if ($par1WorldClient === null) {
            $this.$thePlayer = null;
            $this.$systemTime = Long_ZERO;
            return;
        }
        if ($this.$renderGlobal !== null)
            nms_RenderGlobal_setWorldAndLoadRenderers($this.$renderGlobal, $par1WorldClient);
        if ($this.$effectRenderer !== null)
            nms_EffectRenderer_clearEffects($this.$effectRenderer, $par1WorldClient);
        if ($this.$thePlayer === null) {
            $this.$thePlayer = nms_PlayerControllerMP_func_78754_a($this.$playerController, $par1WorldClient);
            nms_PlayerControllerMP_flipPlayer($this.$playerController, $this.$thePlayer);
        }
        $var4 = nms_StringTranslate_instance;
        if (!($this.$gameSettings.$fancyGraphics && $this.$gameSettings.$ambientOcclusion)) {
            $par2Str = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par2Str);
            jl_AbstractStringBuilder_append($par2Str, $rt_s(362));
            jl_AbstractStringBuilder_append($par2Str, nms_StringTranslate_translateKey($var4, $rt_s(363)));
            nmc_Minecraft_displayEaglercraftText($this, jl_AbstractStringBuilder_toString($par2Str));
        }
        if (!$this.$gameSettings.$showCoordinates) {
            $par2Str = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par2Str);
            jl_AbstractStringBuilder_append1($par2Str, nms_EnumChatFormatting_LIGHT_PURPLE);
            jl_AbstractStringBuilder_append($par2Str, $rt_s(364));
            nmc_Minecraft_displayEaglercraftText($this, jl_AbstractStringBuilder_toString($par2Str));
        } else {
            $par2Str = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par2Str);
            jl_AbstractStringBuilder_append1($par2Str, nms_EnumChatFormatting_LIGHT_PURPLE);
            jl_AbstractStringBuilder_append($par2Str, $rt_s(365));
            nmc_Minecraft_displayEaglercraftText($this, jl_AbstractStringBuilder_toString($par2Str));
        }
        $par2Str = $this.$thePlayer;
        $ptr = 3;
        continue main;
    case 2:
        nms_TexturePackList_onDownloadFinished($par2Str);
        if ($rt_suspending()) {
            break main;
        }
        $this.$currentServerData = null;
        $this.$integratedServerIsRunning = 0;
        nms_SoundManager_stopAllSounds($this.$sndManager);
        if (nlea_EaglerAdapterImpl2_isVideoSupported())
            nlea_EaglerAdapterImpl2_unloadVideo();
        $this.$theWorld = $par1WorldClient;
        if ($par1WorldClient === null) {
            $this.$thePlayer = null;
            $this.$systemTime = Long_ZERO;
            return;
        }
        if ($this.$renderGlobal !== null)
            nms_RenderGlobal_setWorldAndLoadRenderers($this.$renderGlobal, $par1WorldClient);
        if ($this.$effectRenderer !== null)
            nms_EffectRenderer_clearEffects($this.$effectRenderer, $par1WorldClient);
        if ($this.$thePlayer === null) {
            $this.$thePlayer = nms_PlayerControllerMP_func_78754_a($this.$playerController, $par1WorldClient);
            nms_PlayerControllerMP_flipPlayer($this.$playerController, $this.$thePlayer);
        }
        $var4 = nms_StringTranslate_instance;
        if (!($this.$gameSettings.$fancyGraphics && $this.$gameSettings.$ambientOcclusion)) {
            $par2Str = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par2Str);
            jl_AbstractStringBuilder_append($par2Str, $rt_s(362));
            jl_AbstractStringBuilder_append($par2Str, nms_StringTranslate_translateKey($var4, $rt_s(363)));
            nmc_Minecraft_displayEaglercraftText($this, jl_AbstractStringBuilder_toString($par2Str));
        }
        if (!$this.$gameSettings.$showCoordinates) {
            $par2Str = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par2Str);
            jl_AbstractStringBuilder_append1($par2Str, nms_EnumChatFormatting_LIGHT_PURPLE);
            jl_AbstractStringBuilder_append($par2Str, $rt_s(364));
            nmc_Minecraft_displayEaglercraftText($this, jl_AbstractStringBuilder_toString($par2Str));
        } else {
            $par2Str = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par2Str);
            jl_AbstractStringBuilder_append1($par2Str, nms_EnumChatFormatting_LIGHT_PURPLE);
            jl_AbstractStringBuilder_append($par2Str, $rt_s(365));
            nmc_Minecraft_displayEaglercraftText($this, jl_AbstractStringBuilder_toString($par2Str));
        }
        $par2Str = $this.$thePlayer;
        $ptr = 3;
    case 3:
        nms_EntityPlayer_preparePlayerToSpawn($par2Str);
        if ($rt_suspending()) {
            break main;
        }
        nms_WorldClient_spawnEntityInWorld($par1WorldClient, $this.$thePlayer);
        $this.$thePlayer.$movementInput = nms_MovementInputFromOptions__init_($this.$gameSettings);
        nms_PlayerControllerMP_setPlayerCapabilities($this.$playerController, $this.$thePlayer);
        $this.$renderViewEntity = $this.$thePlayer;
        $this.$systemTime = Long_ZERO;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1WorldClient, $par2Str, $var3, $var4, $ptr);
}
function nmc_Minecraft_debugInfoRenders($this) {
    return nms_RenderGlobal_getDebugInfoRenders($this.$renderGlobal);
}
function nmc_Minecraft_getEntityDebug($this) {
    return nms_RenderGlobal_getDebugInfoEntities($this.$renderGlobal);
}
function nmc_Minecraft_getWorldProviderName($this) {
    return nms_World_getProviderName($this.$theWorld);
}
function nmc_Minecraft_debugInfoEntities($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(366));
    jl_AbstractStringBuilder_append(var$1, nms_EffectRenderer_getStatistics($this.$effectRenderer));
    jl_AbstractStringBuilder_append(var$1, $rt_s(367));
    jl_AbstractStringBuilder_append(var$1, nms_World_getDebugLoadedEntities($this.$theWorld));
    return jl_AbstractStringBuilder_toString(var$1);
}
function nmc_Minecraft_setDimensionAndSpawnPlayer($this, $par1) {
    var $var2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_World_setSpawnLocation($this.$theWorld);
        nms_WorldClient_removeAllEntities($this.$theWorld);
        $var2 = 0;
        if ($this.$thePlayer !== null) {
            $var2 = $this.$thePlayer.$entityId;
            var$3 = $this.$theWorld;
            var$4 = $this.$thePlayer;
            $ptr = 1;
            continue main;
        }
        $this.$renderViewEntity = null;
        $this.$thePlayer = nms_PlayerControllerMP_func_78754_a($this.$playerController, $this.$theWorld);
        $this.$thePlayer.$dimension = $par1;
        $this.$renderViewEntity = $this.$thePlayer;
        var$3 = $this.$thePlayer;
        $ptr = 2;
        continue main;
    case 1:
        nms_WorldClient_removeEntity(var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$renderViewEntity = null;
        $this.$thePlayer = nms_PlayerControllerMP_func_78754_a($this.$playerController, $this.$theWorld);
        $this.$thePlayer.$dimension = $par1;
        $this.$renderViewEntity = $this.$thePlayer;
        var$3 = $this.$thePlayer;
        $ptr = 2;
    case 2:
        nms_EntityPlayer_preparePlayerToSpawn(var$3);
        if ($rt_suspending()) {
            break main;
        }
        nms_WorldClient_spawnEntityInWorld($this.$theWorld, $this.$thePlayer);
        nms_PlayerControllerMP_flipPlayer($this.$playerController, $this.$thePlayer);
        $this.$thePlayer.$movementInput = nms_MovementInputFromOptions__init_($this.$gameSettings);
        $this.$thePlayer.$entityId = $var2;
        nms_PlayerControllerMP_setPlayerCapabilities($this.$playerController, $this.$thePlayer);
        if ($this.$currentScreen instanceof nms_GuiGameOver)
            nmc_Minecraft_displayGuiScreen($this, null);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, var$3, var$4, $ptr);
}
function nmc_Minecraft_isDemo($this) {
    return $this.$isDemo;
}
function nmc_Minecraft_getNetHandler($this) {
    return $this.$thePlayer === null ? null : $this.$thePlayer.$sendQueue;
}
function nmc_Minecraft_isFancyGraphicsEnabled() {
    return nmc_Minecraft_theMinecraft !== null && nmc_Minecraft_theMinecraft.$gameSettings.$fancyGraphics ? 1 : 0;
}
function nmc_Minecraft_isAmbientOcclusionEnabled() {
    return nmc_Minecraft_theMinecraft !== null && nmc_Minecraft_theMinecraft.$gameSettings.$ambientOcclusion ? 1 : 0;
}
function nmc_Minecraft_handleClientCommand($this, $par1Str) {
    return jl_String_startsWith0($par1Str, $rt_s(61)) ? 0 : 0;
}
function nmc_Minecraft_clickMiddleMouseButton($this) {
    var $var1, $var3, $var4, $var5, $var6, $var7, $var8, $var2, $var9, $var10, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var2 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$objectMouseOver !== null) {
            $var1 = $this.$thePlayer.$capabilities.$isCreativeMode;
            $var3 = 0;
            $var4 = 0;
            if ($this.$objectMouseOver.$typeOfHit === nms_EnumMovingObjectType_TILE) {
                $var5 = $this.$objectMouseOver.$blockX;
                $var6 = $this.$objectMouseOver.$blockY;
                $var7 = $this.$objectMouseOver.$blockZ;
                nms_Block_$callClinit();
                $var8 = nms_Block_blocksList.data[nms_World_getBlockId($this.$theWorld, $var5, $var6, $var7)];
                if ($var8 === null)
                    return;
                $var2 = $var8.$idPicked($this.$theWorld, $var5, $var6, $var7);
                if (!$var2)
                    return;
                nms_Item_$callClinit();
                $var4 = nms_Item_itemsList.data[$var2].$hasSubtypes;
                $var9 = $var2 < 256 && !nms_Block_blocksList.data[$var8.$blockID].$isFlowerPot() ? $var2 : $var8.$blockID;
                $var10 = nms_Block_blocksList.data[$var9];
                $var11 = $this.$theWorld;
                $ptr = 1;
                continue main;
            }
            if ($this.$objectMouseOver.$typeOfHit === nms_EnumMovingObjectType_ENTITY && $this.$objectMouseOver.$entityHit !== null && $var1) {
                a: {
                    if ($this.$objectMouseOver.$entityHit instanceof nms_EntityPainting) {
                        nms_Item_$callClinit();
                        $var2 = nms_Item_painting.$itemID;
                    } else if ($this.$objectMouseOver.$entityHit instanceof nms_EntityItemFrame) {
                        $var10 = $this.$objectMouseOver.$entityHit;
                        if (nms_EntityItemFrame_getDisplayedItem($var10) === null) {
                            nms_Item_$callClinit();
                            $var2 = nms_Item_itemFrame.$itemID;
                        } else {
                            $var2 = nms_EntityItemFrame_getDisplayedItem($var10).$itemID0;
                            $var3 = nms_EntityItemFrame_getDisplayedItem($var10).$itemDamage;
                            $var4 = 1;
                        }
                    } else {
                        if (!($this.$objectMouseOver.$entityHit instanceof nms_EntityMinecart)) {
                            if ($this.$objectMouseOver.$entityHit instanceof nms_EntityBoat) {
                                nms_Item_$callClinit();
                                $var2 = nms_Item_boat.$itemID;
                                break a;
                            }
                            nms_Item_$callClinit();
                            $var2 = nms_Item_monsterPlacer.$itemID;
                            $var10 = jl_Object_getClass($this.$objectMouseOver.$entityHit);
                            $var3 = !ju_HashMap_containsKey(nms_EntityList_classToIDMapping, $var10) ? 0 : ju_HashMap_get(nms_EntityList_classToIDMapping, $var10).$value;
                            $var4 = 1;
                            if ($var3 > 0 && ju_HashMap_containsKey(nms_EntityList_entityEggs, jl_Integer_valueOf($var3)))
                                break a;
                            return;
                        }
                        $var11 = $this.$objectMouseOver.$entityHit;
                        if ($var11.$getMinecartType() == 2) {
                            nms_Item_$callClinit();
                            $var2 = nms_Item_minecartPowered.$itemID;
                        } else if ($var11.$getMinecartType() == 1) {
                            nms_Item_$callClinit();
                            $var2 = nms_Item_minecartCrate.$itemID;
                        } else if ($var11.$getMinecartType() == 3) {
                            nms_Item_$callClinit();
                            $var2 = nms_Item_minecartTnt.$itemID;
                        } else if ($var11.$getMinecartType() != 5) {
                            nms_Item_$callClinit();
                            $var2 = nms_Item_minecartEmpty.$itemID;
                        } else {
                            nms_Item_$callClinit();
                            $var2 = nms_Item_minecartHopper.$itemID;
                        }
                    }
                }
                nms_InventoryPlayer_setCurrentItem($this.$thePlayer.$inventory, $var2, $var3, $var4, $var1);
                if ($var1) {
                    $var5 = ($this.$thePlayer.$inventoryContainer.$inventorySlots.$size - 9 | 0) + $this.$thePlayer.$inventory.$currentItem | 0;
                    nms_PlayerControllerMP_sendSlotPacket($this.$playerController, nms_InventoryPlayer_getStackInSlot($this.$thePlayer.$inventory, $this.$thePlayer.$inventory.$currentItem), $var5);
                }
            } else
                return;
        }
        return;
    case 1:
        $tmp = $var10.$getDamageValue($var11, $var5, $var6, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $tmp;
        nms_InventoryPlayer_setCurrentItem($this.$thePlayer.$inventory, $var2, $var3, $var4, $var1);
        if ($var1) {
            $var5 = ($this.$thePlayer.$inventoryContainer.$inventorySlots.$size - 9 | 0) + $this.$thePlayer.$inventory.$currentItem | 0;
            nms_PlayerControllerMP_sendSlotPacket($this.$playerController, nms_InventoryPlayer_getStackInSlot($this.$thePlayer.$inventory, $this.$thePlayer.$inventory.$currentItem), $var5);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var3, $var4, $var5, $var6, $var7, $var8, $var2, $var9, $var10, $var11, $ptr);
}
function nmc_Minecraft_getMinecraft() {
    return nmc_Minecraft_theMinecraft;
}
function nmc_Minecraft_scheduleTexturePackRefresh($this) {
    $this.$refreshTexturePacksScheduled = 1;
}
function nmc_Minecraft_setServerData($this, $par1ServerData) {
    $this.$currentServerData = $par1ServerData;
}
function nmc_Minecraft_isIntegratedServerRunning($this) {
    return $this.$integratedServerIsRunning;
}
function nmc_Minecraft_getSystemTime() {
    return jl_System_currentTimeMillis();
}
function nmc_Minecraft_isFullScreen($this) {
    return $this.$fullscreen;
}
function nmc_Minecraft__clinit_() {
    nmc_Minecraft_debugChunkUpdates = 0;
}
function ju_Comparator() {
}
function jl_String$_clinit_$lambda$_81_0() {
    jl_Object.call(this);
}
function jl_String$_clinit_$lambda$_81_0__init_0() {
    var var_0 = new jl_String$_clinit_$lambda$_81_0();
    jl_String$_clinit_$lambda$_81_0__init_(var_0);
    return var_0;
}
function jl_String$_clinit_$lambda$_81_0__init_(var$0) {
    return;
}
function jl_Character() {
    jl_Object.call(this);
    this.$value0 = 0;
}
var jl_Character_TYPE = null;
var jl_Character_digitMapping = null;
var jl_Character_classMapping = null;
var jl_Character_characterCache = null;
var jl_Character_$$metadata$$0 = null;
var jl_Character_$$metadata$$1 = null;
function jl_Character__init_(var_0) {
    var var_1 = new jl_Character();
    jl_Character__init_0(var_1, var_0);
    return var_1;
}
function jl_Character__init_0($this, $value) {
    $this.$value0 = $value;
}
function jl_Character_valueOf($value) {
    var $result;
    if ($value >= jl_Character_characterCache.data.length)
        return jl_Character__init_($value);
    $result = jl_Character_characterCache.data[$value];
    if ($result === null) {
        $result = jl_Character__init_($value);
        jl_Character_characterCache.data[$value] = $result;
    }
    return $result;
}
function jl_Character_toString($this) {
    return jl_Character_toString0($this.$value0);
}
function jl_Character_equals($this, $other) {
    if ($this === $other)
        return 1;
    return $other instanceof jl_Character && $other.$value0 == $this.$value0 ? 1 : 0;
}
function jl_Character_hashCode($this) {
    return $this.$value0;
}
function jl_Character_toString0($c) {
    var var$2, var$3;
    var$2 = new jl_String;
    var$3 = $rt_createCharArray(1);
    var$3.data[0] = $c;
    jl_String__init_2(var$2, var$3);
    return var$2;
}
function jl_Character_isSupplementaryCodePoint($codePoint) {
    return $codePoint >= 65536 && $codePoint <= 1114111 ? 1 : 0;
}
function jl_Character_isHighSurrogate($ch) {
    return ($ch & 64512) != 55296 ? 0 : 1;
}
function jl_Character_isLowSurrogate($ch) {
    return ($ch & 64512) != 56320 ? 0 : 1;
}
function jl_Character_isSurrogate($ch) {
    return !jl_Character_isHighSurrogate($ch) && !jl_Character_isLowSurrogate($ch) ? 0 : 1;
}
function jl_Character_isSurrogatePair($high, $low) {
    return jl_Character_isHighSurrogate($high) && jl_Character_isLowSurrogate($low) ? 1 : 0;
}
function jl_Character_toCodePoint($high, $low) {
    return (($high & 1023) << 10 | $low & 1023) + 65536 | 0;
}
function jl_Character_highSurrogate($codePoint) {
    return (55296 | ($codePoint - 65536 | 0) >> 10 & 1023) & 65535;
}
function jl_Character_lowSurrogate($codePoint) {
    return (56320 | $codePoint & 1023) & 65535;
}
function jl_Character_toLowerCase($ch) {
    return jl_Character_toLowerCase0($ch) & 65535;
}
function jl_Character_toLowerCase0($ch) {
    return otp_Platform_stringFromCharCode($ch).toLowerCase().charCodeAt(0);
}
function jl_Character_toUpperCase0($ch) {
    return jl_Character_toUpperCase($ch) & 65535;
}
function jl_Character_toUpperCase($codePoint) {
    return otp_Platform_stringFromCharCode($codePoint).toUpperCase().charCodeAt(0);
}
function jl_Character_digit($ch, $radix) {
    if ($radix >= 2 && $radix <= 36) {
        $ch = jl_Character_getNumericValue($ch);
        if ($ch >= $radix)
            $ch = (-1);
    } else
        $ch = (-1);
    return $ch;
}
function jl_Character_getNumericValue($codePoint) {
    var var$2, var$3, var$4, $digitMapping, var$6, $l, $u, $idx, $val;
    if (jl_Character_digitMapping === null) {
        if (jl_Character_$$metadata$$0 === null)
            jl_Character_$$metadata$$0 = jl_Character_obtainDigitMapping$$create();
        var$2 = (jl_Character_$$metadata$$0.value !== null ? $rt_str(jl_Character_$$metadata$$0.value) : null);
        var$3 = otci_CharFlow__init_(jl_String_toCharArray(var$2));
        var$4 = otci_Base46_decode(var$3);
        $digitMapping = $rt_createIntArray(var$4);
        var$6 = $digitMapping.data;
        $l = 0;
        while ($l < var$4) {
            var$6[$l] = otci_Base46_decode(var$3);
            $l = $l + 1 | 0;
        }
        jl_Character_digitMapping = $digitMapping;
    }
    $digitMapping = jl_Character_digitMapping.data;
    $l = 0;
    $u = ($digitMapping.length / 2 | 0) - 1 | 0;
    while ($u >= $l) {
        $idx = ($l + $u | 0) / 2 | 0;
        var$4 = $idx * 2 | 0;
        $val = $rt_compare($codePoint, $digitMapping[var$4]);
        if ($val > 0)
            $l = $idx + 1 | 0;
        else {
            if ($val >= 0)
                return $digitMapping[var$4 + 1 | 0];
            $u = $idx - 1 | 0;
        }
    }
    return (-1);
}
function jl_Character_forDigit($digit, $radix) {
    if ($radix >= 2 && $radix <= 36 && $digit < $radix)
        return $digit < 10 ? (48 + $digit | 0) & 65535 : ((97 + $digit | 0) - 10 | 0) & 65535;
    return 0;
}
function jl_Character_toChars($codePoint) {
    var var$2, var$3;
    if ($codePoint < 65536) {
        var$2 = $rt_createCharArray(1);
        var$2.data[0] = $codePoint & 65535;
        return var$2;
    }
    var$2 = $rt_createCharArray(2);
    var$3 = var$2.data;
    var$3[0] = jl_Character_highSurrogate($codePoint);
    var$3[1] = jl_Character_lowSurrogate($codePoint);
    return var$2;
}
function jl_Character_getType($codePoint) {
    var $u, $classes, $l, $i, $range;
    $u = $codePoint > 0 && $codePoint <= 65535 ? 1 : 0;
    if ($u && jl_Character_isSurrogate($codePoint & 65535))
        return 19;
    if (jl_Character_classMapping === null) {
        if (jl_Character_$$metadata$$1 === null)
            jl_Character_$$metadata$$1 = jl_Character_obtainClasses$$create();
        jl_Character_classMapping = otciu_UnicodeHelper_extractRle((jl_Character_$$metadata$$1.value !== null ? $rt_str(jl_Character_$$metadata$$1.value) : null));
    }
    $classes = jl_Character_classMapping.data;
    $l = 0;
    $u = $classes.length - 1 | 0;
    while ($l <= $u) {
        $i = ($l + $u | 0) / 2 | 0;
        $range = $classes[$i];
        if ($codePoint >= $range.$end)
            $l = $i + 1 | 0;
        else {
            if ($codePoint >= $range.$start)
                return $range.$data5.data[$codePoint - $range.$start | 0];
            $u = $i - 1 | 0;
        }
    }
    return 0;
}
function jl_Character_isLowerCase($codePoint) {
    return jl_Character_getType($codePoint) != 2 ? 0 : 1;
}
function jl_Character_isUpperCase($codePoint) {
    return jl_Character_getType($codePoint) != 1 ? 0 : 1;
}
function jl_Character_isLetterOrDigit($codePoint) {
    a: {
        switch (jl_Character_getType($codePoint)) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            case 9:
                break;
            case 6:
            case 7:
            case 8:
                break a;
            default:
                break a;
        }
        return 1;
    }
    return 0;
}
function jl_Character_isIdentifierIgnorable($codePoint) {
    a: {
        if (!($codePoint >= 0 && $codePoint <= 8) && !($codePoint >= 14 && $codePoint <= 27)) {
            if ($codePoint < 127)
                break a;
            if ($codePoint > 159)
                break a;
        }
        return 1;
    }
    return jl_Character_getType($codePoint) != 16 ? 0 : 1;
}
function jl_Character_isSpaceChar($codePoint) {
    switch (jl_Character_getType($codePoint)) {
        case 12:
        case 13:
        case 14:
            break;
        default:
            return 0;
    }
    return 1;
}
function jl_Character_isWhitespace($codePoint) {
    switch ($codePoint) {
        case 9:
        case 10:
        case 11:
        case 12:
        case 13:
        case 28:
        case 29:
        case 30:
        case 31:
            break;
        case 160:
        case 8199:
        case 8239:
            return 0;
        default:
            return jl_Character_isSpaceChar($codePoint);
    }
    return 1;
}
function jl_Character_compareTo($this, $anotherCharacter) {
    return $this.$value0 - $anotherCharacter.$value0 | 0;
}
function jl_Character_compareTo0($this, var$1) {
    return jl_Character_compareTo($this, var$1);
}
function jl_Character__clinit_() {
    jl_Character_TYPE = $rt_cls($rt_charcls());
    jl_Character_characterCache = $rt_createArray(jl_Character, 128);
}
function jl_Character_obtainDigitMapping$$create() {
    return {"value" : "oD#*% .%%2%)6%-:%1>%5B%9F%=J%AN%Eo%Is%Mw%Q{%U!\'Y&\'^*\'b.\'f2\'j6\'n:\'r>\'vB\'zF\'!#J\'&#N\'*#R\'.#V\'2#Z\'6#_\':#c\'>#g\'B#k\'F#o\'J#s\'N#w\'R#6)I:)M>)QB)UF)YJ)^N)bR)fV)jZ)n_)rc)vg)zk)!#o)&#s)*#w).#{)2#!+6#&+:#*+>#.+B#2+F#6+J#:+N#>+R#{R# !T#%&T#)*T#-.T#12T#56T#9:T#=>T#ABT#E6a# :a#%>a#)Ba#-Fa#1Ja#5Na#9Ra#=Va#AZa#E:s# >s#%Bs#)Fs#-Js#1Ns#5Rs#9Vs#=Zs#A_s#EZ:% _:%%c:%)g:%-k:%1o:%5s:%9w:%={:%A!<%E2F% 6F%%:F%)>F%-BF%1FF%5JF%9NF%=RF%AVF%EgP% kP%%oP%)sP%-wP%1{P%5!R%9&R%=*R%A.R%E>]% B]%%F]%)J]%-N]%1R]%5V]%9Z]%=_]%Ac]%Esg% wg%%{g%)!i%-&"
    + "i%1*i%5.i%92i%=6i%A:i%EJs% Ns%%Rs%)Vs%-Zs%1_s%5cs%9gs%=ks%Aos%E!!\' &!\'%*!\').!\'-2!\'16!\'5:!\'9>!\'=B!\'AF!\'EV,\' Z,\'%_,\')c,\'-g,\'1k,\'5o,\'9s,\'=w,\'A{,\'E.8\' 28\'%68\'):8\'->8\'1B8\'5F8\'9J8\'=N8\'AR8\'EcB\' gB\'%kB\')oB\'-sB\'1wB\'5{B\'9!D\'=&D\'A*D\'E>L\' BL\'%FL\')JL\'-NL\'1RL\'5VL\'9ZL\'=_L\'AcL\'EsV\' wV\'%{V\')!X\'-&X\'1*X\'5.X\'92X\'=6X\'A:X\'EB_\' F_\'%J_\')N_\'-R_\'1V_\'5Z_\'9__\'=c_\'Ag_\'Esw\' ww\'%{w\')!y\'-&y\'1*y\'5.y\'92y\'=6y\'A:y\'EB!) F!)%J!))N!)-R!)1V!)5Z!)9_!)=c!)Ag!)Egi+ ki+%oi+)si+-wi+1{i+5!k+9&k+=*k+A.k+Eom+ sm+%wm+){m+-!o+1&o+5*o+9.o+=2o+A6o+E>,- B,-%F"
    + ",-)J,--N,-1R,-5V,-9Z,-=_,-Ac,-E>8- B8-%F8-)J8--N8-1R8-5V8-9Z8-=_8-Ac8-E{F- !H-%&H-)*H--.H-12H-56H-9:H-=>H-ABH-E_H- cH-%gH-)kH--oH-1sH-5wH-9{H-=!J-A&J-E!Z- &Z-%*Z-).Z--2Z-16Z-5:Z-9>Z-=BZ-AFZ-E2c- 6c-%:c-)>c--Bc-1Fc-5Jc-9Nc-=Rc-AVc-EJo- No-%Ro-)Vo--Zo-1_o-5co-9go-=ko-Aoo-E.q- 2q-%6q-):q-->q-1Bq-5Fq-9Jq-=Nq-ARq-E&4r *4r%.4r)24r-64r1:4r5>4r9B4r=F4rAJ4rE{or !qr%&qr)*qr-.qr12qr56qr9:qr=>qrABqrE&ur *ur%.ur)2ur-6ur1:ur5>ur9Bur=FurAJurE**t .*t%2*t)6*t-:*t1>*t5B*t9F*t=J*tAN*tEN,t R,t%V,t)Z,t-_,t1c,t5g,t9k,t=o,tAs,tE_"
    + "4t c4t%g4t)k4t-o4t1s4t5w4t9{4t=!6tA&6tEgXt kXt%oXt)sXt-wXt1{Xt5!Zt9&Zt=*ZtA.ZtE{c@# !e@#%&e@#)*e@#-.e@#12e@#56e@#9:e@#=>e@#ABe@#Ece@#Ige@#Mke@#Qoe@#Use@#Ywe@#^{e@#b!g@#f&g@#j*g@#n.g@#r2g@#v6g@#z:g@#!#>g@#&#Bg@#*#Fg@#.#Jg@#2#Ng@#6#Rg@#:#Vg@#>#Zg@#B#_g@#F#cg@#J#gg@#N#kg@#R#*i@#I.i@#M2i@#Q6i@#U:i@#Y>i@#^Bi@#bFi@#fJi@#jNi@#nRi@#rVi@#vZi@#z_i@#!#ci@#&#gi@#*#ki@#.#oi@#2#si@#6#wi@#:#{i@#>#!k@#B#&k@#F#*k@#J#.k@#N#2k@#R#s&D# w&D#%{&D#)!(D#-&(D#1*(D#5.(D#92(D#=6(D#A:(D#E2.H# 6.H#%:.H#)>.H#-B.H#1F.H#5J.H#9N.H#=R.H#AV."
    + "H#EwuH# {uH#%!wH#)&wH#-*wH#1.wH#52wH#96wH#=:wH#A>wH#Ew$J# {$J#%!&J#)&&J#-*&J#1.&J#52&J#96&J#=:&J#A>&J#E{*J# !,J#%&,J#)*,J#-.,J#12,J#56,J#9:,J#=>,J#AB,J#E_8J# c8J#%g8J#)k8J#-o8J#1s8J#5w8J#9{8J#=!:J#A&:J#E2RJ# 6RJ#%:RJ#)>RJ#-BRJ#1FRJ#5JRJ#9NRJ#=RRJ#AVRJ#ENqJ# RqJ#%VqJ#)ZqJ#-_qJ#1cqJ#5gqJ#9kqJ#=oqJ#AsqJ#E&}J# *}J#%.}J#)2}J#-6}J#1:}J#5>}J#9B}J#=F}J#AJ}J#Eg@L# k@L#%o@L#)s@L#-w@L#1{@L#5!BL#9&BL#=*BL#A.BL#EZJL# _JL#%cJL#)gJL#-kJL#1oJL#5sJL#9wJL#={JL#A!LL#ENTL# RTL#%VTL#)ZTL#-_TL#1cTL#5gTL#9kTL#=oTL#AsTL#E:{L# >{L#"
    + "%B{L#)F{L#-J{L#1N{L#5R{L#9V{L#=Z{L#A_{L#ERkN# VkN#%ZkN#)_kN#-ckN#1gkN#5kkN#9okN#=skN#AwkN#E_$P# c$P#%g$P#)k$P#-o$P#1s$P#5w$P#9{$P#=!&P#A&&P#E.,P# 2,P#%6,P#):,P#->,P#1B,P#5F,P#9J,P#=N,P#AR,P#EFau# Jau#%Nau#)Rau#-Vau#1Zau#5_au#9cau#=gau#Akau#Eouu# suu#%wuu#){uu#-!wu#1&wu#5*wu#9.wu#=2wu#A6wu#EF0N% J0N%%N0N%)R0N%-V0N%1Z0N%5_0N%9c0N%=g0N%Ak0N%Eo0N% s0N%%w0N%){0N%-!2N%1&2N%5*2N%9.2N%=22N%A62N%E:2N% >2N%%B2N%)F2N%-J2N%1N2N%5R2N%9V2N%=Z2N%A_2N%Ec2N% g2N%%k2N%)o2N%-s2N%1w2N%5{2N%9!4N%=&4N%A*4N%E.4N% 24N%%64N%):4N%->"
    + "4N%1B4N%5F4N%9J4N%=N4N%AR4N%ERJR% VJR%%ZJR%)_JR%-cJR%1gJR%5kJR%9oJR%=sJR%AwJR%E>qR% BqR%%FqR%)JqR%-NqR%1RqR%5VqR%9ZqR%=_qR%AcqR%E:FV% >FV%%BFV%)FFV%-JFV%1NFV%5RFV%9VFV%=ZFV%A_FV%E"};
}
function jl_Character_obtainClasses$$create() {
    return {"value" : "PA-Y$;Y$679:95Y#J+Y#Z$Y#B;697<8<C;6:7:PB-9[%=9<=&>:1=<=:L#<#Y#<,&?L$9B8:B(C9:C)!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!C#!#!#!#!#!#!#!#!C#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#B##!#!C$B##!#B##B$C#B%#B##B$C$B##B##!#!#B##!C#!#B##B$#!#B#C#&!C$F%!$#!$#!$#!#!#!#!#!#!#!#!C#!#!#!#!#!#!#!#!#!C#!$#!#B$#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!C(B##B#C#!#B%#!#!#!#!Cg&C<E3]%E-]/E&](%<%]2b\'Q! !#!#%<!#A#%C$9!A%]#!9B$ ! B##B2 B*CD!C#B$C$!#!#!#!#!#!#!#!#!#!#!#!C&!#:!#B#C#BTCQ!#!#!#!#"
    + "!#!#!#!#!#!#!#!#!#!#!#!#!#=G&H#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#B##!#!#!#!#!#!C#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!# BGA#%Y\'CJ95A#^#; GN5\'9G#9G#9\'A)F<A%F%Y#A,Q\'Z$Y#;Y#^#G,91 Y#FA%F+G6J+Y%F#\'b&D! 9&G(1=G\'E#G#=G%F#J+F$^#&Y/ 1&\'F?G<A#b&:! G,&A/J+FBG*E#=Y$%A#\'[#F7G%%G*%G$%G&A#Y0 F:G$A#9 F,AVF6 F)A6G01GA)FW\')\'&I$G)I%\'I#&G(F+G#Y#J+9%F0\'I# F)A#F#A#F7 F( &A$F%A#\'&I$G%A#I#A#I#\'&A))A%F# F$G#A#J+F#[#L\'=;&9\'A#G#) F\'A%F#A#F7 F( F# F# F#A#\' "
    + "I$G#A%G#A#G$A$\'A(F% &A(J+G#F$\'9A+G#) F* F$ F7 F( F# F&A#\'&I$G& G#) I#\'A#&A0F#G#A#J+9;A(&G\' \'I# F)A#F#A#F7 F( F# F&A#\'&)\')G%A#I#A#I#\'A)\')A%F# F$G#A#J+=&L\'A+\'& F\'A$F$ F%A$F# & F#A$F#A$F$A$F-A%I#\'I#A$I$ I$\'A#&A\')A/J+L$^\';=A&\'I$\'F) F$ F8 F1A$&G$I% G$ G%A(G# F$A&F#G#A#J+A(9L(=&\'I#9F) F$ F8 F+ F&A#\'&)\'I& \'I# I#G#A(I#A(& F#G#A#J+ F#A.G#I# F) F$ FJG#&I$G% I$ I$\'&=A%F$)L(F$G#A#J+L*=F\'A#I# F3A$F9 F* &A#F(A$\'A%I$G$ \' I)A\'J+A#I#9A-FQ\'F#G(A%;F\'%G)9J+Y#AFF# & F& F9 & F+\'F#G*&A#F& % G\'A#J+A#F%AA&^$Y0=9^$G#^\'J+L+=\'=\'=\'6767"
    + "I#F) FEA%G/)G&9G#F&G, GE ^)\'^\' ^#Y&^%Y#AFFLI#G%)G\')G#I#G#&J+Y\'F\'I#G#F%G$&I$F#I(F$G%F.\'I#G#I\'\'&)J+I$\'^#BG !A&!A#CL9%C$b&*&  F%A#F( & F%A#FJ F%A#FB F%A#F( & F%A#F0 FZ F%A#FeA#G$Y*L5A$F1^+A\'b!7! A#C\'A#5b&M* =9F2-F;67A$FmY$K$F)A(F. F%G$A,F3G$Y#A*F3G#A-F. F$ G#A-FUG#)G(I)\'I#G,Y$%Y$;&\'A#J+A\'L+A\'Y\'5Y%G$1 J+A\'FD%FVA(F&G#FC\'&A&FhA+F@ G$I%G#I$A%I#\'I\'G$A%=A$Y#J+F?A#F&A,FMA%F;A\'J+,A$^CF8G#I#\'A#Y#FV)\')G( \')\'I#G)I\'G+A#\'J+A\'J+A\'Y(%Y\'A#G/(AcG%)FP\')G&)\'I&\'I#F(A%J+Y(^+G*^*A$G#)F?)G%I#G#)G$F#J+FM\')G#I$\')G$I#A)Y%FEI)G)I#G#A$Y&"
    + "J+A$F$J+F?E\'Y#C*A(BLA#B$Y)A)G$9G.)G(F%\'F\'\'F#)G#&A&CMEaC.%CCEFG[ G&!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!C*!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!C*B)C\'A#B\'A#C)B)C)B)C\'A#B\'A#C) ! ! ! !C)B)C/A#C)D)C)D)C)D)C& C#B%$<#]$C$ C#B%$]$C%A#C#B% ]$C)B&]$A#C$ C#B%$]# M,Q&U\'Y#>?6_#?6>Y)./Q&-Y*>?Y%X#Y$:67Y,:98Y+-Q& Q+,%A#L\'Z$67%L+Z$67 E.A$[AA1G.H%\'H$G-A0^#"
    + "!^%!^##B$C#B$#=!^#:B&^\'!=!=!=B%=#B%#F%#^#C#B#Z&!C%=:^##=L1KD!#K%,^#A%Z&^&Z#^%:^#:^#:^(:^@Z#^#:=:^@b:-% ^)6767^5Z#^(67b=2! :^?Z:^IZ\'^gA:^,A6L^^pL7b=X# :^*:^WZ)b=P! :b=Y$ 67676767676767L?^MZ&67Z@6767676767Z1b= % b:$# 6767676767676767676767Za6767ZA67b:#% ^QZ6^#Z\'^HA#^AA#b=I! BP CP !#B$C#!#!#!#B%#!C#!C\'E#B$#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!C#^\'!#!#G$!#A&Y%,Y#CG #A&#A#FYA(%9A/\'F8A*F( F( F( F( F( F( F( F( GAY#>?>?Y$>?9>?Y*5Y#59>?Y#>?67676767Y&%Y+U#Y%"
    + "596Y.AQ^; b=:! A-b=7$ A;^-A%-Y$=%&+6767676767^#6767676756W#=K*G%I#5E&^#K$%&9^# b&7! A#G#]#E#&5b&;! 9E$&A&FL b&?!  ^#L%^+F<A&^EA-F1^@ L+^?L)=L0^AL+^HL0b= & &b UG!&A+^b&b   %b O(!&A1F6%b&X2 A$^XA*FIE\'Y#b&-% %Y$F1J+F#A5!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#&\'H$9G+9%!#!#!#!#!#!#!#!#!#!#!#!#!#!#E#G#FhK+G#Y\'A)]8E*]#!#!#!#!#!#!#!C$!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#%C)!#!#B##!#!#!#!#%]#!#!#&!#!C$!#!#!#!#!#!#!#!#!#!#B&#B&#!#!#!#!#!#A#!#B$AQ&E##F(\'F$\'F%\'F8I#G#)^%A%L\'^#;=A\'FUY%A)I#F"
    + "SI1G#A)Y#J+A\'G3F\'Y$&9F#\'J+F=G)Y#F8G,I#A,9F>A$G$)FP\'I#G%I#G#I$Y. %J+A%Y#F&\'%F*J+F& FJG\'I#G#I#G#A*F$\'F)\')A#J+A#Y%F1%F\'^$&)\')FS\'&G$F#G#F&G#&\'&A9F#%Y#F,)G#I#Y#&E#)\'A+F\'A#F\'A#F\'A*F( F( CL<E%C)A)b#1! FDI#\'I#\'I#9)\'A#J+A\'&b CO#&A-F8A%FRA%4b `. T#b `! T#b `0 43b `D!3b&O& A#b&K! AGC(A-C&A&&\'F+:F. F& & F# F# b&M! ]1A2b&L& 76A1FbA#FWAIF-;=A#G1Y(679A\'G19U#X#6767676767676767Y#67Y%X$Y$ Y%5676767Y$:5Z$ 9;Y#A%F& b&(# A#1 Y$;Y$679:95Y#J+Y#Z$Y#B;697<8<C;6:7:67967Y#F+%FNE#F@A$F\'A#F\'A#F\'A#F$A$[#:<=[# =Z%^#A+Q$^#A#F- F; F4 F# F0"
    + "A#F/ACb&]! A&Y$A%LNA$^*KVL%^2L#^$ ^-A%=AP^N\'b ## F>A$FRA0\'L<A%FAL%A*F5+F)+A&FGG&A&F? 9FEA%F)9K&AKBICIFpA#J+A\'BEA%CEA%FIA)FUA,9b 1# b&X% A*F7A+F)b 9# F\'A#& FM F#A$&A#F8 9L)F8^#L(F@A)L*AQF4 F#A&L&F7L\'A$9F;A&9AbFYA%L#F#L1A#LO&G$ G#A&G%F% F$ F>A#G$A%\'L*A(Y*A(F>L#9F>L$AAF)=F=G#A%L&Y(A*FWA$Y(F7A#L)F4A&L)F3A(Y%A-L(b 1! FkAXBTA.CTA(L\'FEG%A)J+b G% L@b !# F>L+&A)F7G,L%Y&b \'# F8A*)\')FVG0Y(A%L5J+A0G$)FNI$G%I#G#Y#1Y%A,1A#F:A(J+A\'G$FEG&)G) J+Y%&I#A*FD\'Y#&A*G#)FQI$G*I#F%Y%G%9A#J+&9&Y$ L5A,F3 F:I$G$I#\')G#Y\'\'AcF( & F% F0 F+"
    + "9A\'FP\'I$G)A&J+A\'G#I# F)A#F#A#F7 F( F# F& G#&I#\'I%A#I#A#I$A#&A\')A&F&I#A#G(A$G&b ,# FVI$G)I#G$)\'F%Y&J+ 9 9\'&AAFQI$G\')\'I%G#)G#F#9&A)J+b G# FPI$G%A#I%G#)G#Y8F%G#ACFQI$G)I#\')G#Y$&A,J+A\'Y.A4FL\')\'I#G\')\'&A(J+AWF<A#G$I#G%)G&A%J+L#Y$=b  $ FMI$G*)G#9b E! BACAJ+L*A-&b A# F)A#FHI$G%A#G#I%\'&9&)A<&G+FIG\')&G%Y)\'A)&G\'I#G$FOG.)G#Y$&Y&A>FZb (% F* FF)G( G\')\'&Y&A+J+L4A$Y#F?A#G7 )G()G#)G#AkF( F# FGG\'A$\' G# G(&\'A)J+A\'F\' F# FAI& G# I#\')\'&A(J+b W% F4G#I#Y#b ($ L6^)[%^2A.9b&;/ b G! b+P!  Y&A,b&%$ b ^K b&P1  Q*b (a b&(* b Z\'#b&Z) A(F"
    + "@ J+A%Y#b A! F?A#G&9A+FQG(Y&^%E%9=A+J+ L( F6A&F4b Q+ BACAL8Y%b F! FmA%\'&IXA(G%E.AbE#9%A=&b W@!&A)b&T, b .5#b&@% ARF$A2F%A)b&-\' b %E b&L! A&F.A$F*A(F+A#=G#9Q%b =.!b=W$ A+^HA#^^I#G$^$I\'Q)G)^#G(^?G%^]A8^dG$=b ;# L5A-b=8! A*L:b (# B;C;B;C( C3B;C;! B#A#!A#B#A#B% B)C% # C( C,B;C;B# B%A#B) B( C;B# B% B& !A$B( C;B;C;B;C;B;C;B;C;B;C;B;C=A#B::C::C\'B::C::C\'B::C::C\'B::C::C\'B::C::C\'!#A#JSb= ) GX^%GS^)\'^/\'^#Y&A0G& G0b 16 G( G2A#G( G# G&b 6$ FNA$G(E(A#J+A%&=b Q& FMG%J+A&;b  5 b&&$ A#L*G(AJBCCCG(%A%J+A%Y#b 2- L]=L$;L%AnLN="
    + "L0b #$ F% F< F# &A#& F+ F% & &A\'&A%& & & F$ F# &A#& & & & & F# &A#F% F( F% F% & F+ F2A&F$ F& F2AUZ#b /% ^MA%b=E! A-^0A#^0 ^0 ^FA+L.A$b=>! A$^_AZ^>A.^MA%^*A(^#A/^\'b ;# b=]$ ]&b=7, A+^.A$^,A&b=U! A-b=:! A(^-A5^-A%^YA)^+A\'^IA)^?b 3! ^- b=F!  ^%A$^JA#^\'A$^>A#b=(# A-^/A#^%A%^$A&^$A.^\'b K6 &b   %b   %b 6<#&AJ&b T !&A,&b =$ &A#&b  ;!&A/&b PU!&b @Q b&?) b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   "
    + "%b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b   %b D8 1A?b1A! b  # b\'Q$ b   %b   %b   %b 1Y$3b   %b   %b   %b ^a$3A#3b   %b   %b   %b ^a$3"};
}
function jl_Iterable() {
}
function ju_Collection() {
}
function ju_AbstractCollection() {
    jl_Object.call(this);
}
function ju_AbstractCollection_isEmpty($this) {
    return $this.$size0() ? 0 : 1;
}
function ju_AbstractCollection_contains($this, $o) {
    var $iter, $e;
    $iter = $this.$iterator();
    a: {
        while ($iter.$hasNext()) {
            b: {
                $e = $iter.$next();
                if ($e !== null) {
                    if (!$e.$equals($o))
                        break b;
                    else
                        break a;
                }
                if ($o === null)
                    break a;
            }
        }
        return 0;
    }
    return 1;
}
function ju_AbstractCollection_toArray0($this) {
    var $arr, var$2, $i, $iter, var$5;
    $arr = $rt_createArray(jl_Object, ju_HashSet_size($this));
    var$2 = $arr.data;
    $i = 0;
    $iter = ju_HashSet_iterator($this);
    while ($iter.$hasNext()) {
        var$5 = $i + 1 | 0;
        var$2[$i] = $iter.$next();
        $i = var$5;
    }
    return $arr;
}
function ju_AbstractCollection_toArray($this, $a) {
    var var$2, $i, var$4, $iter;
    var$2 = $a.data;
    $i = $this.$size0();
    var$4 = var$2.length;
    if (var$4 < $i)
        $a = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($a)), $i);
    else
        while ($i < var$4) {
            var$2[$i] = null;
            $i = $i + 1 | 0;
        }
    $i = 0;
    $iter = $this.$iterator();
    while ($iter.$hasNext()) {
        var$2 = $a.data;
        var$4 = $i + 1 | 0;
        var$2[$i] = $iter.$next();
        $i = var$4;
    }
    return $a;
}
function ju_AbstractCollection_remove($this, $o) {
    var $iter, $e;
    $iter = ju_AbstractList_iterator($this);
    a: {
        while (ju_AbstractList$1_hasNext($iter)) {
            b: {
                $e = ju_AbstractList$1_next($iter);
                if ($e !== null) {
                    if (!$e.$equals($o))
                        break b;
                    else
                        break a;
                }
                if ($o === null)
                    break a;
            }
        }
        return 0;
    }
    ju_AbstractList$1_remove($iter);
    return 1;
}
function ju_AbstractCollection_addAll($this, $c) {
    var $changed, $iter;
    $changed = 0;
    $iter = $c.$iterator();
    while ($iter.$hasNext()) {
        if (!$this.$add($iter.$next()))
            continue;
        $changed = 1;
    }
    return $changed;
}
function ju_AbstractCollection_removeAll($this, $c) {
    var $changed, $iter;
    $changed = 0;
    $iter = ju_AbstractList_iterator($this);
    while (ju_AbstractList$1_hasNext($iter)) {
        if ($c.$contains(ju_AbstractList$1_next($iter))) {
            ju_AbstractList$1_remove($iter);
            $changed = 1;
        }
    }
    return $changed;
}
function ju_AbstractCollection_retainAll($this, $c) {
    var $changed, $iter;
    $changed = 0;
    $iter = ju_HashSet_iterator($this);
    while ($iter.$hasNext()) {
        if (!ju_HashSet_contains($c, $iter.$next())) {
            $iter.$remove2();
            $changed = 1;
        }
    }
    return $changed;
}
function ju_AbstractCollection_toString($this) {
    var $sb, $iter;
    $sb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($sb);
    jl_AbstractStringBuilder_append($sb, $rt_s(346));
    $iter = $this.$iterator();
    if ($iter.$hasNext())
        jl_AbstractStringBuilder_append($sb, jl_String_valueOf($iter.$next()));
    while ($iter.$hasNext()) {
        jl_AbstractStringBuilder_append($sb, $rt_s(368));
        jl_AbstractStringBuilder_append($sb, jl_String_valueOf($iter.$next()));
    }
    jl_AbstractStringBuilder_append($sb, $rt_s(274));
    return jl_AbstractStringBuilder_toString($sb);
}
function ju_List() {
}
function ju_AbstractList() {
    ju_AbstractCollection.call(this);
    this.$modCount = 0;
}
function ju_AbstractList_add($this, $e) {
    $this.$add0($this.$size0(), $e);
    return 1;
}
function ju_AbstractList_iterator($this) {
    var var$1;
    var$1 = new ju_AbstractList$1;
    var$1.$this$0 = $this;
    var$1.$modCount0 = var$1.$this$0.$modCount;
    var$1.$size1 = var$1.$this$0.$size0();
    var$1.$removeIndex = (-1);
    return var$1;
}
function ju_AbstractList_add0($this, $index, $element) {
    $element = new jl_UnsupportedOperationException;
    jl_Throwable__init_0($element);
    $rt_throw($element);
}
function ju_AbstractList_remove($this, $index) {
    var var$2;
    var$2 = new jl_UnsupportedOperationException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function ju_AbstractList_indexOf($this, $o) {
    var $sz, $i, $e;
    $sz = $this.$size;
    $i = 0;
    a: {
        while ($i < $sz) {
            b: {
                $e = ju_ArrayList_get($this, $i);
                if ($o !== null) {
                    if (!$o.$equals($e))
                        break b;
                    else
                        break a;
                }
                if ($e === null)
                    break a;
            }
            $i = $i + 1 | 0;
        }
        return (-1);
    }
    return $i;
}
function ju_AbstractList_listIterator($this, $index) {
    var var$2, var$3, var$4;
    var$2 = new ju_AbstractList$TListIteratorImpl;
    var$3 = $this.$modCount;
    var$4 = $this.$size;
    var$2.$this$00 = $this;
    var$2.$i = $index;
    var$2.$j = $index;
    var$2.$lastModCount = var$3;
    var$2.$sz = var$4;
    return var$2;
}
function ju_AbstractList_hashCode($this) {
    var $hashCode, $iter, $elem;
    $hashCode = 1;
    $iter = ju_AbstractList_iterator($this);
    while (ju_AbstractList$1_hasNext($iter)) {
        $elem = ju_AbstractList$1_next($iter);
        $hashCode = (31 * $hashCode | 0) + ($elem === null ? 0 : $elem.$hashCode0()) | 0;
    }
    return $hashCode;
}
function ju_AbstractList_equals($this, $other) {
    var $list, $i;
    if (!$rt_isInstance($other, ju_List))
        return 0;
    $list = $other;
    if ($this.$size0() != $list.$size0())
        return 0;
    $i = 0;
    while ($i < $list.$size0()) {
        if (!ju_Objects_equals($this.$get5($i), $list.$get5($i)))
            return 0;
        $i = $i + 1 | 0;
    }
    return 1;
}
function ju_AbstractSequentialList() {
    ju_AbstractList.call(this);
}
function ju_AbstractSequentialList_add($this, $index, $element) {
    if ($index >= 0) {
        ju_LinkedList$SequentialListIterator_add(ju_LinkedList_listIterator($this, $index), $element);
        return;
    }
    $element = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0($element);
    $rt_throw($element);
}
function ju_AbstractSequentialList_remove($this, $index) {
    var $iter, $elem;
    if ($index >= 0) {
        $iter = ju_LinkedList_listIterator($this, $index);
        $elem = ju_LinkedList$SequentialListIterator_next($iter);
        ju_LinkedList$SequentialListIterator_remove($iter);
        return $elem;
    }
    $iter = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0($iter);
    $rt_throw($iter);
}
function ju_AbstractSequentialList_iterator($this) {
    return ju_LinkedList_listIterator0($this);
}
function ju_Queue() {
}
function ju_Deque() {
}
function ju_LinkedList() {
    var a = this; ju_AbstractSequentialList.call(a);
    a.$firstEntry = null;
    a.$lastEntry = null;
    a.$size2 = 0;
}
function ju_LinkedList__init_0() {
    var var_0 = new ju_LinkedList();
    ju_LinkedList__init_(var_0);
    return var_0;
}
function ju_LinkedList__init_($this) {
    return;
}
function ju_LinkedList_size($this) {
    return $this.$size2;
}
function ju_LinkedList_clear($this) {
    $this.$firstEntry = null;
    $this.$lastEntry = null;
    $this.$size2 = 0;
    $this.$modCount = $this.$modCount + 1 | 0;
}
function ju_LinkedList_listIterator0($this) {
    return ju_LinkedList$SequentialListIterator__init_($this, $this.$firstEntry, null, 0);
}
function ju_LinkedList_listIterator($this, $index) {
    var $prev, $next, $i;
    if ($index < 0) {
        $prev = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0($prev);
        $rt_throw($prev);
    }
    if ($index <= ($this.$size2 / 2 | 0)) {
        $next = $this.$firstEntry;
        $i = 0;
        while ($i < $index) {
            $next = $next.$next0;
            $i = $i + 1 | 0;
        }
        return ju_LinkedList$SequentialListIterator__init_($this, $next, $next === null ? null : $next.$previous, $index);
    }
    if ($index > $this.$size2) {
        $prev = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0($prev);
        $rt_throw($prev);
    }
    $prev = $this.$lastEntry;
    $i = $index;
    while ($i < $this.$size2) {
        $prev = $prev.$previous;
        $i = $i + 1 | 0;
    }
    return ju_LinkedList$SequentialListIterator__init_($this, $prev === null ? null : $prev.$next0, $prev, $index);
}
function otjt_ArrayBuffer() {
    jl_Object.call(this);
}
function otjt_ArrayBufferView() {
    jl_Object.call(this);
}
function otjt_Uint8Array() {
    otjt_ArrayBufferView.call(this);
}
function otjt_Float32Array() {
    otjt_ArrayBufferView.call(this);
}
function ju_Map() {
}
function ju_Map_replace($this, $key, $value, $newValue) {
    if (ju_HashMap_containsKey($this, $key) && ju_Objects_equals(ju_HashMap_get($this, $key), $value)) {
        ju_HashMap_putImpl($this, $key, $newValue);
        return 1;
    }
    return 0;
}
function ju_Map_computeIfAbsent($this, $key, $mappingFunction) {
    var $v, $newValue;
    $v = ju_HashMap_get($this, $key);
    if ($v !== null)
        return $v;
    $newValue = otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0_apply($mappingFunction, $key);
    if ($newValue !== null)
        ju_HashMap_putImpl($this, $key, $newValue);
    return $newValue;
}
function ju_AbstractMap() {
    var a = this; jl_Object.call(a);
    a.$cachedKeySet = null;
    a.$cachedValues = null;
}
function ju_AbstractMap_keySet($this) {
    var var$1;
    if ($this.$cachedKeySet === null) {
        var$1 = new ju_AbstractMap$KeySet;
        var$1.$this$01 = $this;
        $this.$cachedKeySet = var$1;
    }
    return $this.$cachedKeySet;
}
function ju_AbstractMap_equals($this, $obj) {
    var $other, $iter, $entry;
    if ($this === $obj)
        return 1;
    if (!$rt_isInstance($obj, ju_Map))
        return 0;
    $other = $obj;
    if ($this.$elementCount != $other.$elementCount)
        return 0;
    $iter = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet($this));
    while (ju_HashMap$AbstractMapIterator_hasNext($iter)) {
        $entry = ju_HashMap$EntryIterator_next($iter);
        if (!ju_HashMap_containsKey($other, $entry.$key))
            return 0;
        if (!ju_Objects_equals($entry.$value1, ju_HashMap_get($other, $entry.$key)))
            return 0;
    }
    return 1;
}
function ju_AbstractMap_hashCode($this) {
    var $result, $iter;
    $result = 0;
    $iter = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet($this));
    while (ju_HashMap$AbstractMapIterator_hasNext($iter)) {
        $result = $result ^ ju_MapEntry_hashCode(ju_HashMap$EntryIterator_next($iter));
    }
    return $result;
}
function ju_AbstractMap_clone($this) {
    var $copy;
    $copy = jl_Object_clone($this);
    $copy.$cachedKeySet = null;
    $copy.$cachedValues = null;
    return $copy;
}
function jl_Cloneable() {
}
function ju_HashMap() {
    var a = this; ju_AbstractMap.call(a);
    a.$elementCount = 0;
    a.$elementData = null;
    a.$modCount1 = 0;
    a.$loadFactor = 0.0;
    a.$threshold = 0;
}
function ju_HashMap__init_() {
    var var_0 = new ju_HashMap();
    ju_HashMap__init_0(var_0);
    return var_0;
}
function ju_HashMap__init_1(var_0) {
    var var_1 = new ju_HashMap();
    ju_HashMap__init_2(var_1, var_0);
    return var_1;
}
function ju_HashMap_newElementArray($this, $s) {
    return $rt_createArray(ju_HashMap$HashEntry, $s);
}
function ju_HashMap__init_0($this) {
    ju_HashMap__init_2($this, 16);
}
function ju_HashMap__init_2($this, $capacity) {
    var var$2;
    if ($capacity < 0) {
        var$2 = new jl_IllegalArgumentException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    $capacity = ju_HashMap_calculateCapacity($capacity);
    $this.$elementCount = 0;
    $this.$elementData = $this.$newElementArray($capacity);
    $this.$loadFactor = 0.75;
    ju_HashMap_computeThreshold($this);
}
function ju_HashMap_calculateCapacity($x) {
    var var$2;
    if ($x >= 1073741824)
        return 1073741824;
    if (!$x)
        return 16;
    var$2 = $x - 1 | 0;
    $x = var$2 | var$2 >> 1;
    $x = $x | $x >> 2;
    $x = $x | $x >> 4;
    $x = $x | $x >> 8;
    return ($x | $x >> 16) + 1 | 0;
}
function ju_HashMap_clear($this) {
    var var$1;
    if ($this.$elementCount > 0) {
        $this.$elementCount = 0;
        var$1 = $this.$elementData;
        ju_Arrays_fill(var$1, 0, var$1.data.length, null);
        $this.$modCount1 = $this.$modCount1 + 1 | 0;
    }
}
function ju_HashMap_clone($this) {
    var $map, $$je;
    a: {
        try {
            $map = ju_AbstractMap_clone($this);
            $map.$elementCount = 0;
            $map.$elementData = ju_HashMap_newElementArray($this, $this.$elementData.data.length);
            ju_HashMap_putAll($map, $this);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_CloneNotSupportedException) {
                break a;
            } else {
                throw $$e;
            }
        }
        return $map;
    }
    return null;
}
function ju_HashMap_computeThreshold($this) {
    $this.$threshold = $this.$elementData.data.length * $this.$loadFactor | 0;
}
function ju_HashMap_containsKey($this, $key) {
    return ju_HashMap_getEntry($this, $key) === null ? 0 : 1;
}
function ju_HashMap_containsValue($this, $value) {
    var $i, $entry;
    a: {
        if ($value === null) {
            $i = 0;
            b: while (true) {
                if ($i >= $this.$elementData.data.length)
                    break a;
                $entry = $this.$elementData.data[$i];
                while ($entry !== null) {
                    if ($entry.$value1 === null)
                        break b;
                    $entry = $entry.$next2;
                }
                $i = $i + 1 | 0;
            }
            return 1;
        }
        $i = 0;
        c: while (true) {
            if ($i >= $this.$elementData.data.length)
                break a;
            $entry = $this.$elementData.data[$i];
            while ($entry !== null) {
                if (ju_HashMap_areEqualValues($value, $entry.$value1))
                    break c;
                $entry = $entry.$next2;
            }
            $i = $i + 1 | 0;
        }
        return 1;
    }
    return 0;
}
function ju_HashMap_entrySet($this) {
    return ju_HashMap$HashMapEntrySet__init_($this);
}
function ju_HashMap_get($this, $key) {
    var $m;
    $m = ju_HashMap_getEntry($this, $key);
    if ($m === null)
        return null;
    return $m.$value1;
}
function ju_HashMap_getEntry($this, $key) {
    var $m, $hash;
    if ($key === null)
        $m = ju_HashMap_findNullKeyEntry($this);
    else {
        $hash = $key.$hashCode0();
        $m = ju_HashMap_findNonNullKeyEntry($this, $key, $hash & ($this.$elementData.data.length - 1 | 0), $hash);
    }
    return $m;
}
function ju_HashMap_findNonNullKeyEntry($this, $key, $index, $keyHash) {
    var $m;
    $m = $this.$elementData.data[$index];
    while ($m !== null && !($m.$origKeyHash == $keyHash && ju_HashMap_areEqualKeys($key, $m.$key))) {
        $m = $m.$next2;
    }
    return $m;
}
function ju_HashMap_findNullKeyEntry($this) {
    var $m;
    $m = $this.$elementData.data[0];
    while ($m !== null && $m.$key !== null) {
        $m = $m.$next2;
    }
    return $m;
}
function ju_HashMap_isEmpty($this) {
    return $this.$elementCount ? 0 : 1;
}
function ju_HashMap_keySet($this) {
    var var$1;
    if ($this.$cachedKeySet === null) {
        var$1 = new ju_HashMap$1;
        var$1.$this$02 = $this;
        $this.$cachedKeySet = var$1;
    }
    return $this.$cachedKeySet;
}
function ju_HashMap_put($this, $key, $value) {
    return ju_HashMap_putImpl($this, $key, $value);
}
function ju_HashMap_putImpl($this, $key, $value) {
    var $entry, $hash, $index, $result;
    if ($key === null) {
        $entry = ju_HashMap_findNullKeyEntry($this);
        if ($entry === null) {
            $this.$modCount1 = $this.$modCount1 + 1 | 0;
            $entry = $this.$createHashedEntry(null, 0, 0);
            $hash = $this.$elementCount + 1 | 0;
            $this.$elementCount = $hash;
            if ($hash > $this.$threshold)
                ju_HashMap_rehash($this);
        }
    } else {
        $hash = $key.$hashCode0();
        $index = $hash & ($this.$elementData.data.length - 1 | 0);
        $entry = ju_HashMap_findNonNullKeyEntry($this, $key, $index, $hash);
        if ($entry === null) {
            $this.$modCount1 = $this.$modCount1 + 1 | 0;
            $entry = $this.$createHashedEntry($key, $index, $hash);
            $hash = $this.$elementCount + 1 | 0;
            $this.$elementCount = $hash;
            if ($hash > $this.$threshold)
                ju_HashMap_rehash($this);
        }
    }
    $result = $entry.$value1;
    $entry.$value1 = $value;
    return $result;
}
function ju_HashMap_createHashedEntry($this, $key, $index, $hash) {
    var $entry;
    $entry = ju_HashMap$HashEntry__init_($key, $hash);
    $entry.$next2 = $this.$elementData.data[$index];
    $this.$elementData.data[$index] = $entry;
    return $entry;
}
function ju_HashMap_putAll($this, $map) {
    var var$2, var$3;
    if (!ju_HashMap_isEmpty($map)) {
        var$2 = $this.$elementCount + $map.$elementCount | 0;
        if (var$2 > $this.$threshold)
            ju_HashMap_rehash0($this, var$2);
        $map = $map.$entrySet().$iterator();
        while ($map.$hasNext()) {
            var$3 = $map.$next();
            $this.$putImpl(var$3.$key, var$3.$value1);
        }
    }
}
function ju_HashMap_rehash0($this, $capacity) {
    var $length, $newData, $i, $entry, var$6, $index, $next;
    $length = ju_HashMap_calculateCapacity(!$capacity ? 1 : $capacity << 1);
    $newData = $this.$newElementArray($length);
    $i = 0;
    $length = $length - 1 | 0;
    while ($i < $this.$elementData.data.length) {
        $entry = $this.$elementData.data[$i];
        $this.$elementData.data[$i] = null;
        while ($entry !== null) {
            var$6 = $newData.data;
            $index = $entry.$origKeyHash & $length;
            $next = $entry.$next2;
            $entry.$next2 = var$6[$index];
            var$6[$index] = $entry;
            $entry = $next;
        }
        $i = $i + 1 | 0;
    }
    $this.$elementData = $newData;
    ju_HashMap_computeThreshold($this);
}
function ju_HashMap_rehash($this) {
    ju_HashMap_rehash0($this, $this.$elementData.data.length);
}
function ju_HashMap_remove($this, $key) {
    var $entry;
    $entry = ju_HashMap_removeEntry($this, $key);
    if ($entry === null)
        return null;
    return $entry.$value1;
}
function ju_HashMap_removeEntry0($this, $entry) {
    var $index, $m;
    $index = $entry.$origKeyHash & ($this.$elementData.data.length - 1 | 0);
    $m = $this.$elementData.data[$index];
    if ($m === $entry)
        $this.$elementData.data[$index] = $entry.$next2;
    else {
        while ($m.$next2 !== $entry) {
            $m = $m.$next2;
        }
        $m.$next2 = $entry.$next2;
    }
    $this.$modCount1 = $this.$modCount1 + 1 | 0;
    $this.$elementCount = $this.$elementCount - 1 | 0;
}
function ju_HashMap_removeEntry($this, $key) {
    var $index, $last, $entry, $entry_0, $hash;
    a: {
        $index = 0;
        $last = null;
        if ($key === null) {
            $entry = $this.$elementData.data[0];
            while ($entry !== null) {
                if ($entry.$key === null)
                    break a;
                $entry_0 = $entry.$next2;
                $last = $entry;
                $entry = $entry_0;
            }
        } else {
            $hash = $key.$hashCode0();
            $index = $hash & ($this.$elementData.data.length - 1 | 0);
            $entry = $this.$elementData.data[$index];
            while ($entry !== null && !($entry.$origKeyHash == $hash && ju_HashMap_areEqualKeys($key, $entry.$key))) {
                $entry_0 = $entry.$next2;
                $last = $entry;
                $entry = $entry_0;
            }
        }
    }
    if ($entry === null)
        return null;
    if ($last !== null)
        $last.$next2 = $entry.$next2;
    else
        $this.$elementData.data[$index] = $entry.$next2;
    $this.$modCount1 = $this.$modCount1 + 1 | 0;
    $this.$elementCount = $this.$elementCount - 1 | 0;
    return $entry;
}
function ju_HashMap_size($this) {
    return $this.$elementCount;
}
function ju_HashMap_values($this) {
    var var$1;
    if ($this.$cachedValues === null) {
        var$1 = new ju_HashMap$2;
        var$1.$this$03 = $this;
        $this.$cachedValues = var$1;
    }
    return $this.$cachedValues;
}
function ju_HashMap_areEqualKeys($key1, $key2) {
    return $key1 !== $key2 && !$key1.$equals($key2) ? 0 : 1;
}
function ju_HashMap_areEqualValues($value1, $value2) {
    return $value1 !== $value2 && !$value1.$equals($value2) ? 0 : 1;
}
function jt_Format() {
    jl_Object.call(this);
}
function jt_Format_format($this, $object) {
    var var$2;
    var$2 = new jl_StringBuffer;
    jl_AbstractStringBuilder__init_(var$2);
    return jl_AbstractStringBuilder_toString($this.$format2($object, var$2, jt_FieldPosition__init_(0)));
}
function jt_Format_formatToCharacterIterator($this, $object) {
    var var$2;
    var$2 = new jt_AttributedString;
    $object = jt_Format_format($this, $object);
    if ($object === null) {
        $object = new jl_NullPointerException;
        jl_Throwable__init_0($object);
        $rt_throw($object);
    }
    var$2.$text = $object;
    var$2.$attributeMap = ju_HashMap__init_1(11);
    return jt_AttributedString_getIterator(var$2);
}
function jt_Format_upTo($string, $position, $buffer, $stop) {
    var $index, $length, $lastQuote, $quote, var$9, $ch;
    $index = $position.$currentPosition;
    $length = jl_String_length($string);
    $lastQuote = 0;
    $quote = 0;
    while ($index < $length) {
        var$9 = $index + 1 | 0;
        $ch = jl_String_charAt($string, $index);
        if ($ch != 39) {
            if ($ch == $stop && !$quote) {
                $position.$currentPosition = var$9;
                return 1;
            }
            $lastQuote = 0;
            jl_AbstractStringBuilder_append0($buffer, $ch);
        } else {
            if ($lastQuote)
                jl_AbstractStringBuilder_append0($buffer, 39);
            $quote = $quote ? 0 : 1;
            $lastQuote = 1;
        }
        $index = var$9;
    }
    $position.$currentPosition = $index;
    return 0;
}
function jt_Format_upToWithQuotes($string, $position, $buffer, $stop, $start) {
    var $index, $length, $count, $quote, var$10, $ch;
    $index = $position.$currentPosition;
    $length = jl_String_length($string);
    $count = 1;
    $quote = 0;
    while (true) {
        if ($index >= $length) {
            $position = new jl_IllegalArgumentException;
            jl_Throwable__init_($position, $rt_s(369));
            $rt_throw($position);
        }
        var$10 = $index + 1 | 0;
        $ch = jl_String_charAt($string, $index);
        if ($ch == 39)
            $quote = $quote ? 0 : 1;
        if (!$quote) {
            if ($ch == $stop)
                $count = $count + (-1) | 0;
            if (!$count)
                break;
            if ($ch == $start)
                $count = $count + 1 | 0;
        }
        jl_AbstractStringBuilder_append0($buffer, $ch);
        $index = var$10;
    }
    $position.$currentPosition = var$10;
    return 1;
}
function jt_DateFormat() {
    jt_Format.call(this);
    this.$calendar = null;
}
function jt_DateFormat_format0($this, $object, $buffer, $field) {
    var var$4;
    if ($object instanceof ju_Date)
        return jt_SimpleDateFormat_format($this, $object, $buffer, $field);
    if (!($object instanceof jl_Number)) {
        $object = new jl_IllegalArgumentException;
        jl_Throwable__init_0($object);
        $rt_throw($object);
    }
    var$4 = new ju_Date;
    var$4.$value2 = $object.$longValue();
    return jt_SimpleDateFormat_format($this, var$4, $buffer, $field);
}
function jt_DateFormat_format($this, $date) {
    var var$2;
    var$2 = new jl_StringBuffer;
    jl_AbstractStringBuilder__init_(var$2);
    return jl_AbstractStringBuilder_toString(jt_SimpleDateFormat_format($this, $date, var$2, jt_FieldPosition__init_(0)));
}
function jt_DateFormat_getDateInstance($style, $locale) {
    return jt_SimpleDateFormat__init_1(jt_DateFormat_getDateFormatString($style, $locale), $locale);
}
function jt_DateFormat_getDateFormatString($style, $locale) {
    var $formats;
    $formats = otciu_CLDRHelper_resolveDateFormats($locale.$languageCode, $locale.$countryCode);
    switch ($style) {
        case 0:
            break;
        case 1:
            return ($formats.longFormat !== null ? $rt_str($formats.longFormat) : null);
        case 2:
            return ($formats.mediumFormat !== null ? $rt_str($formats.mediumFormat) : null);
        case 3:
            return ($formats.shortFormat !== null ? $rt_str($formats.shortFormat) : null);
        default:
            $formats = new jl_IllegalArgumentException;
            $locale = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($locale);
            jl_AbstractStringBuilder_append($locale, $rt_s(370));
            jl_AbstractStringBuilder_append2($locale, $style);
            jl_Throwable__init_($formats, jl_AbstractStringBuilder_toString($locale));
            $rt_throw($formats);
    }
    return ($formats.fullFormat !== null ? $rt_str($formats.fullFormat) : null);
}
function jt_DateFormat_getTimeInstance($style, $locale) {
    return jt_SimpleDateFormat__init_1(jt_DateFormat_getTimeFormatString($style, $locale), $locale);
}
function jt_DateFormat_getTimeFormatString($style, $locale) {
    var var$3, var$4, $formats;
    var$3 = $locale.$languageCode;
    var$4 = $locale.$countryCode;
    if (otciu_CLDRHelper_$$metadata$$15 === null)
        otciu_CLDRHelper_$$metadata$$15 = otciu_CLDRHelper_getTimeFormatMap$$create();
    $formats = otciu_CLDRHelper_resolveDateFormats0(otciu_CLDRHelper_$$metadata$$15, var$3, var$4);
    switch ($style) {
        case 0:
            break;
        case 1:
            return ($formats.longFormat !== null ? $rt_str($formats.longFormat) : null);
        case 2:
            return ($formats.mediumFormat !== null ? $rt_str($formats.mediumFormat) : null);
        case 3:
            return ($formats.shortFormat !== null ? $rt_str($formats.shortFormat) : null);
        default:
            $formats = new jl_IllegalArgumentException;
            $locale = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($locale);
            jl_AbstractStringBuilder_append($locale, $rt_s(370));
            jl_AbstractStringBuilder_append2($locale, $style);
            jl_Throwable__init_($formats, jl_AbstractStringBuilder_toString($locale));
            $rt_throw($formats);
    }
    return ($formats.fullFormat !== null ? $rt_str($formats.fullFormat) : null);
}
function jt_SimpleDateFormat() {
    var a = this; jt_DateFormat.call(a);
    a.$dateFormatSymbols = null;
    a.$elements = null;
    a.$pattern = null;
    a.$locale = null;
}
function jt_SimpleDateFormat__init_2() {
    var var_0 = new jt_SimpleDateFormat();
    jt_SimpleDateFormat__init_(var_0);
    return var_0;
}
function jt_SimpleDateFormat__init_0(var_0) {
    var var_1 = new jt_SimpleDateFormat();
    jt_SimpleDateFormat__init_3(var_1, var_0);
    return var_1;
}
function jt_SimpleDateFormat__init_1(var_0, var_1) {
    var var_2 = new jt_SimpleDateFormat();
    jt_SimpleDateFormat__init_4(var_2, var_0, var_1);
    return var_2;
}
function jt_SimpleDateFormat__init_($this) {
    var var$1;
    var$1 = ju_Locale_defaultLocale;
    jt_SimpleDateFormat__init_3($this, (otciu_CLDRHelper_resolveDateFormats(var$1.$languageCode, var$1.$countryCode).mediumFormat !== null ? $rt_str(otciu_CLDRHelper_resolveDateFormats(var$1.$languageCode, var$1.$countryCode).mediumFormat) : null));
}
function jt_SimpleDateFormat__init_3($this, $pattern) {
    jt_SimpleDateFormat__init_4($this, $pattern, ju_Locale_defaultLocale);
}
function jt_SimpleDateFormat__init_4($this, $pattern, $locale) {
    var var$3;
    var$3 = jt_DateFormatSymbols__init_0($locale);
    $this.$calendar = ju_Calendar_getInstance();
    $this.$dateFormatSymbols = jt_DateFormatSymbols_clone(var$3);
    $this.$locale = ju_Locale_defaultLocale;
    jt_SimpleDateFormat_applyPattern($this, $pattern);
    $this.$locale = $locale;
}
function jt_SimpleDateFormat_format($this, $date, $buffer, $field) {
    var $calendar, var$5, var$6, var$7;
    $calendar = ju_GregorianCalendar__init_0($this.$locale);
    ju_Calendar_setTime($calendar, $date);
    ju_Calendar_setTimeZone($calendar, $this.$calendar.$zone);
    var$5 = $this.$elements.data;
    var$6 = var$5.length;
    var$7 = 0;
    while (var$7 < var$6) {
        var$5[var$7].$format5($calendar, $buffer);
        var$7 = var$7 + 1 | 0;
    }
    return $buffer;
}
function jt_SimpleDateFormat_applyPattern($this, $pattern) {
    var var$2, var$3;
    $this.$pattern = $pattern;
    $pattern = new jt_SimpleDatePatternParser;
    var$2 = $this.$dateFormatSymbols;
    var$3 = $this.$locale;
    $pattern.$elements0 = ju_ArrayList__init_0();
    $pattern.$symbols = var$2;
    $pattern.$locale0 = var$3;
    jt_SimpleDatePatternParser_parsePattern($pattern, $this.$pattern);
    $this.$elements = ju_AbstractCollection_toArray($pattern.$elements0, $rt_createArray(jt_DateFormatElement, 0));
}
function jt_SimpleDateFormat_toPattern($this) {
    return $this.$pattern;
}
function jt_SimpleDateFormat_equals($this, $object) {
    var $other, var$3;
    if ($object === $this)
        return 1;
    if (!($object instanceof jt_SimpleDateFormat))
        return 0;
    $other = $object;
    if ($this === $other)
        var$3 = 1;
    else if (!($other instanceof jt_DateFormat))
        var$3 = 0;
    else {
        $object = $other;
        var$3 = $this.$calendar.$firstDayOfWeek == $object.$calendar.$firstDayOfWeek && $this.$calendar.$minimalDaysInFirstWeek == $object.$calendar.$minimalDaysInFirstWeek && $this.$calendar.$lenient == $object.$calendar.$lenient ? 1 : 0;
    }
    if (!var$3)
        return 0;
    return ju_Arrays_equals($this.$elements, $other.$elements) && jt_DateFormatSymbols_equals($this.$dateFormatSymbols, $other.$dateFormatSymbols) && ju_Locale_equals($this.$locale, $other.$locale) ? 1 : 0;
}
function jt_SimpleDateFormat_hashCode($this) {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createIntArray(4);
    var$2 = $this.$calendar.$firstDayOfWeek + $this.$calendar.$minimalDaysInFirstWeek | 0;
    var$3 = !$this.$calendar.$lenient ? 1237 : 1231;
    var$4 = var$1.data;
    var$4[0] = var$2 + var$3 | 0;
    var$4[1] = jt_DateFormatSymbols_hashCode($this.$dateFormatSymbols);
    var$4[2] = ju_Arrays_hashCode($this.$elements);
    var$4[3] = ju_Locale_hashCode($this.$locale);
    return ju_Arrays_hashCode0(var$1);
}
function ju_Set() {
}
function ju_AbstractSet() {
    ju_AbstractCollection.call(this);
}
function ju_AbstractSet_removeAll($this, $c) {
    var $modified, $iter;
    $modified = 0;
    if (ju_HashSet_size($this) >= $c.$size0()) {
        $iter = $c.$iterator();
        while ($iter.$hasNext()) {
            if (!ju_HashSet_remove($this, $iter.$next()))
                continue;
            $modified = 1;
        }
    } else {
        $iter = ju_HashSet_iterator($this);
        while ($iter.$hasNext()) {
            if ($c.$contains($iter.$next())) {
                $modified = 1;
                $iter.$remove2();
            }
        }
    }
    return $modified;
}
function ju_AbstractSet_equals($this, $obj) {
    var $other, $iter;
    if ($this === $obj)
        return 1;
    if (!$rt_isInstance($obj, ju_Set))
        return 0;
    $other = $obj;
    if ($this.$size0() != $other.$size0())
        return 0;
    $iter = $other.$iterator();
    while ($iter.$hasNext()) {
        if ($this.$contains($iter.$next()))
            continue;
        else
            return 0;
    }
    return 1;
}
function ju_AbstractSet_hashCode($this) {
    return ju_Arrays_hashCode(ju_AbstractCollection_toArray0($this));
}
function ju_HashSet() {
    ju_AbstractSet.call(this);
    this.$backingMap = null;
}
function ju_HashSet__init_0() {
    var var_0 = new ju_HashSet();
    ju_HashSet__init_(var_0);
    return var_0;
}
function ju_HashSet__init_1(var_0) {
    var var_1 = new ju_HashSet();
    ju_HashSet__init_2(var_1, var_0);
    return var_1;
}
function ju_HashSet__init_3(var_0) {
    var var_1 = new ju_HashSet();
    ju_HashSet__init_4(var_1, var_0);
    return var_1;
}
function ju_HashSet__init_($this) {
    ju_HashSet__init_4($this, ju_HashMap__init_());
}
function ju_HashSet__init_2($this, $capacity) {
    ju_HashSet__init_4($this, ju_HashMap__init_1($capacity));
}
function ju_HashSet__init_4($this, $backingMap) {
    $this.$backingMap = $backingMap;
}
function ju_HashSet_add($this, $object) {
    return ju_HashMap_putImpl($this.$backingMap, $object, $this) !== null ? 0 : 1;
}
function ju_HashSet_clear($this) {
    ju_HashMap_clear($this.$backingMap);
}
function ju_HashSet_contains($this, $object) {
    return ju_HashMap_containsKey($this.$backingMap, $object);
}
function ju_HashSet_isEmpty($this) {
    return ju_HashMap_isEmpty($this.$backingMap);
}
function ju_HashSet_iterator($this) {
    return ju_HashMap_keySet($this.$backingMap).$iterator();
}
function ju_HashSet_remove($this, $object) {
    return ju_HashMap_remove($this.$backingMap, $object) === null ? 0 : 1;
}
function ju_HashSet_size($this) {
    return $this.$backingMap.$elementCount;
}
function otjt_Int32Array() {
    otjt_ArrayBufferView.call(this);
}
function nms_GLAllocation() {
    jl_Object.call(this);
}
var nms_GLAllocation_field_74531_a = null;
var nms_GLAllocation_field_74530_b = null;
function nms_GLAllocation__init_0() {
    var var_0 = new nms_GLAllocation();
    nms_GLAllocation__init_(var_0);
    return var_0;
}
function nms_GLAllocation__init_($this) {
    return;
}
function nms_GLAllocation_generateDisplayLists($par0) {
    var $var1, var$3, var$4, var$5, var$6, var$7;
    jl_Object_monitorEnterSync($rt_cls(nms_GLAllocation));
    try {
        nleg_EaglerAdapterGL30_$callClinit();
        $var1 = nleg_EaglerAdapterGL30_displayListId + 1 | 0;
        var$3 = 0;
        while (var$3 < $par0) {
            var$4 = nleg_EaglerAdapterGL30_displayListId + 1 | 0;
            nleg_EaglerAdapterGL30_displayListId = var$4;
            var$5 = nleg_EaglerAdapterGL30_displayLists;
            var$6 = jl_Integer_valueOf(var$4);
            var$7 = new nleg_EaglerAdapterGL30$DisplayList;
            var$7.$id0 = var$4;
            var$7.$glarray = null;
            var$7.$glbuffer = null;
            var$7.$shaderMode = (-1);
            var$7.$listLength = 0;
            ju_HashMap_putImpl(var$5, var$6, var$7);
            var$3 = var$3 + 1 | 0;
        }
        ju_HashMap_putImpl(nms_GLAllocation_field_74531_a, jl_Integer_valueOf($var1), jl_Integer_valueOf($par0));
        return $var1;
    } finally {
        jl_Object_monitorExitSync($rt_cls(nms_GLAllocation));
    }
}
function nms_GLAllocation_generateTextureNames() {
    var $var0;
    jl_Object_monitorEnterSync($rt_cls(nms_GLAllocation));
    try {
        $var0 = nleg_EaglerAdapterGL30_glGenTextures();
        ju_ArrayList_add(nms_GLAllocation_field_74530_b, jl_Integer_valueOf($var0));
        return $var0;
    } finally {
        jl_Object_monitorExitSync($rt_cls(nms_GLAllocation));
    }
}
function nms_GLAllocation_createDirectByteBuffer($par0) {
    var var$2;
    nleg_EaglerAdapterGL30_$callClinit();
    if (!nleg_EaglerAdapterGL30_isWebGL) {
        var$2 = jn_ByteBuffer_allocateDirect($par0);
        var$2.$order = jn_ByteOrder_BIG_ENDIAN;
    } else {
        var$2 = jn_ByteBuffer_wrap0($rt_createByteArray($par0));
        var$2.$order = jn_ByteOrder_BIG_ENDIAN;
    }
    return var$2;
}
function nms_GLAllocation_createDirectIntBuffer($par0) {
    nleg_EaglerAdapterGL30_$callClinit();
    return nleg_EaglerAdapterGL30_isWebGL ? jn_IntBuffer_wrap($rt_createIntArray($par0)) : jn_ByteBufferImpl_asIntBuffer(nms_GLAllocation_createDirectByteBuffer($par0 << 2));
}
function nms_GLAllocation_createDirectFloatBuffer($par0) {
    var var$2, var$3, var$4;
    nleg_EaglerAdapterGL30_$callClinit();
    if (!nleg_EaglerAdapterGL30_isWebGL)
        var$2 = jn_ByteBufferImpl_asFloatBuffer(nms_GLAllocation_createDirectByteBuffer($par0 << 2));
    else {
        var$3 = $rt_createFloatArray($par0);
        var$4 = var$3.data.length;
        var$2 = new jn_FloatBufferOverArray;
        jn_FloatBufferImpl__init_(var$2, var$4, 0, 0 + var$4 | 0);
        var$2.$start0 = 0;
        var$2.$readOnly = 0;
        var$2.$array1 = var$3;
    }
    return var$2;
}
function nms_GLAllocation__clinit_() {
    nms_GLAllocation_field_74531_a = ju_HashMap__init_();
    nms_GLAllocation_field_74530_b = ju_ArrayList__init_0();
}
function nle_EaglerImage() {
    var a = this; jl_Object.call(a);
    a.$data = null;
    a.$w0 = 0;
    a.$h0 = 0;
    a.$alpha = 0;
}
function nle_EaglerImage__init_0(var_0, var_1, var_2) {
    var var_3 = new nle_EaglerImage();
    nle_EaglerImage__init_1(var_3, var_0, var_1, var_2);
    return var_3;
}
function nle_EaglerImage__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nle_EaglerImage();
    nle_EaglerImage__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nle_EaglerImage__init_1($this, $pw, $ph, $palpha) {
    $this.$w0 = $pw;
    $this.$h0 = $ph;
    $this.$alpha = $palpha;
    $this.$data = $rt_createIntArray($rt_imul($pw, $ph));
}
function nle_EaglerImage__init_2($this, $pdata, $pw, $ph, $palpha) {
    var var$5, var$6, var$7, $i;
    var$5 = $pdata.data;
    var$6 = var$5.length;
    if (var$6 != $rt_imul($pw, $ph)) {
        var$7 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$7, $rt_s(371));
        $rt_throw(var$7);
    }
    a: {
        $this.$w0 = $pw;
        $this.$h0 = $ph;
        $this.$alpha = $palpha;
        if (!$palpha) {
            $i = 0;
            while (true) {
                if ($i >= var$6)
                    break a;
                var$5[$i] = var$5[$i] | (-16777216);
                $i = $i + 1 | 0;
            }
        }
    }
    $this.$data = $pdata;
}
function nle_EaglerImage_loadImage($file) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$file = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_loadPNG($file);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        return var$2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($file, var$2, $ptr);
}
function nle_EaglerImage_getSubImage($this, $x, $y, $pw, $ph) {
    var $img, $i;
    $img = $rt_createIntArray($rt_imul($pw, $ph));
    $i = 0;
    while ($i < $ph) {
        jl_System_arraycopy($this.$data, $rt_imul($i + $y | 0, $this.$w0) + $x | 0, $img, $rt_imul($i, $pw), $pw);
        $i = $i + 1 | 0;
    }
    return nle_EaglerImage__init_($img, $pw, $ph, $this.$alpha);
}
function jl_Float() {
    jl_Number.call(this);
    this.$value3 = 0.0;
}
var jl_Float_NaN = 0.0;
var jl_Float_TYPE = null;
function jl_Float_intValue($this) {
    return $this.$value3 | 0;
}
function jl_Float_longValue($this) {
    return Long_fromNumber($this.$value3);
}
function jl_Float_doubleValue($this) {
    return $this.$value3;
}
function jl_Float_valueOf($d) {
    var var$2;
    var$2 = new jl_Float;
    var$2.$value3 = $d;
    return var$2;
}
function jl_Float_toString($this) {
    var var$1, var$2;
    var$1 = $this.$value3;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    return jl_AbstractStringBuilder_toString(jl_StringBuilder_append3(var$2, var$1));
}
function jl_Float_equals($this, $other) {
    if ($this === $other)
        return 1;
    return $other instanceof jl_Float && $other.$value3 === $this.$value3 ? 1 : 0;
}
function jl_Float_hashCode($this) {
    return $rt_floatToIntBits($this.$value3);
}
function jl_Float_isNaN($this) {
    return isNaN($this.$value3) ? 1 : 0;
}
function jl_Float_isInfinite($this) {
    return !isFinite($this.$value3) ? 1 : 0;
}
function jl_Float_compareTo($this, $other) {
    return $rt_compare($this.$value3, $other.$value3);
}
function jl_Float_floatToRawIntBits($value) {
    return $rt_floatToIntBits($value);
}
function jl_Float_compareTo0($this, var$1) {
    return jl_Float_compareTo($this, var$1);
}
function jl_Float__clinit_() {
    jl_Float_NaN = NaN;
    jl_Float_TYPE = $rt_cls($rt_floatcls());
}
function oti_AsyncCallback() {
}
function otpp_AsyncCallbackWrapper() {
    jl_Object.call(this);
    this.$realAsyncCallback = null;
}
function otpp_AsyncCallbackWrapper_create($realAsyncCallback) {
    var var$2;
    var$2 = new otpp_AsyncCallbackWrapper;
    var$2.$realAsyncCallback = $realAsyncCallback;
    return var$2;
}
function otpp_AsyncCallbackWrapper_complete($this, $result) {
    $this.$realAsyncCallback.$complete($result);
}
function otpp_AsyncCallbackWrapper_error($this, $e) {
    $this.$realAsyncCallback.$error($e);
}
function otja_XMLHttpRequest() {
    jl_Object.call(this);
}
function otja_ReadyStateChangeHandler() {
}
function nlea_EaglerAdapterImpl2$1() {
    var a = this; jl_Object.call(a);
    a.$val$request = null;
    a.$val$cb = null;
}
function nlea_EaglerAdapterImpl2$1_stateChanged($this) {
    var $bl, var$2, $i;
    if ($this.$val$request.readyState == 4) {
        $bl = new Uint8Array($this.$val$request.response);
        var$2 = $rt_createByteArray($bl.byteLength);
        nlea_EaglerAdapterImpl2_$callClinit();
        nlea_EaglerAdapterImpl2_loadedPackage = var$2;
        $i = 0;
        while ($i < nlea_EaglerAdapterImpl2_access$000().data.length) {
            nlea_EaglerAdapterImpl2_access$000().data[$i] = $bl[$i] << 24 >> 24;
            $i = $i + 1 | 0;
        }
        otpp_AsyncCallbackWrapper_complete($this.$val$cb, $rt_s(372));
    }
}
function nlea_EaglerAdapterImpl2$1_stateChanged$exported$0(var$0) {
    nlea_EaglerAdapterImpl2$1_stateChanged(var$0);
}
function otp_PlatformRunnable() {
}
function otr_EventQueue$Event() {
}
function jl_ThreadInterruptHandler() {
}
function jl_Thread$SleepHandler() {
    var a = this; jl_Object.call(a);
    a.$thread = null;
    a.$callback = null;
    a.$isInterrupted = 0;
    a.$scheduleId = 0;
}
function jl_Thread$SleepHandler_run($this) {
    if (!$this.$isInterrupted) {
        $this.$thread.$interruptHandler = null;
        jl_Thread_setCurrentThread($this.$thread);
        otpp_AsyncCallbackWrapper_complete($this.$callback, null);
    }
}
function jl_AutoCloseable() {
}
function ji_Closeable() {
}
function ji_InputStream() {
    jl_Object.call(this);
}
function ji_InputStream_read($this, $b) {
    return $this.$read1($b, 0, $b.data.length);
}
function ji_InputStream_read0($this, $b, $off, $len) {
    var $i, $bt, var$6, var$7;
    $i = 0;
    while ($i < $len) {
        $bt = $this.$read2();
        if ($bt < 0) {
            if (!$i)
                $i = (-1);
            return $i;
        }
        var$6 = $b.data;
        var$7 = $off + 1 | 0;
        var$6[$off] = $bt << 24 >> 24;
        $i = $i + 1 | 0;
        $off = var$7;
    }
    if ($len <= 0)
        $len = (-1);
    return $len;
}
function ji_InputStream_skip($this, $n) {
    var $i, var$3, var$4;
    if (Long_ge($n, Long_fromInt(2147483647))) {
        $i = Long_ZERO;
        while (Long_lt($i, $n)) {
            if ($this.$read2() < 0)
                return $i;
            $i = Long_add($i, Long_fromInt(1));
        }
        return $n;
    }
    var$3 = $n.lo;
    var$4 = 0;
    a: {
        while (var$4 < var$3) {
            if ($this.$read2() < 0) {
                var$3 = var$4;
                break a;
            }
            var$4 = var$4 + 1 | 0;
        }
    }
    return Long_fromInt(var$3);
}
function ji_InputStream_close($this) {
    return;
}
function ji_InputStream_mark($this, $readlimit) {
    return;
}
function ji_InputStream_reset($this) {
    var var$1;
    var$1 = new ji_IOException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
}
function ji_ByteArrayInputStream() {
    var a = this; ji_InputStream.call(a);
    a.$buf = null;
    a.$pos0 = 0;
    a.$mark = 0;
    a.$count0 = 0;
}
function ji_ByteArrayInputStream__init_(var_0) {
    var var_1 = new ji_ByteArrayInputStream();
    ji_ByteArrayInputStream__init_0(var_1, var_0);
    return var_1;
}
function ji_ByteArrayInputStream__init_0($this, $buf) {
    var var$2;
    var$2 = $buf.data.length;
    $this.$buf = $buf;
    $this.$pos0 = 0;
    $this.$mark = 0;
    $this.$count0 = 0 + var$2 | 0;
}
function ji_ByteArrayInputStream_read($this) {
    var var$1, var$2, var$3;
    if ($this.$pos0 >= $this.$count0)
        var$1 = (-1);
    else {
        var$2 = $this.$buf.data;
        var$3 = $this.$pos0;
        $this.$pos0 = var$3 + 1 | 0;
        var$1 = var$2[var$3] & 255;
    }
    return var$1;
}
function ji_ByteArrayInputStream_read0($this, $b, $off, $len) {
    var $bytesToRead, $i, var$6, var$7, var$8;
    $bytesToRead = jl_Math_min($len, $this.$count0 - $this.$pos0 | 0);
    $i = 0;
    while ($i < $bytesToRead) {
        var$6 = $b.data;
        $len = $off + 1 | 0;
        var$7 = $this.$buf.data;
        var$8 = $this.$pos0;
        $this.$pos0 = var$8 + 1 | 0;
        var$6[$off] = var$7[var$8];
        $i = $i + 1 | 0;
        $off = $len;
    }
    if ($bytesToRead <= 0)
        $bytesToRead = (-1);
    return $bytesToRead;
}
function ji_ByteArrayInputStream_skip($this, $n) {
    var $bytesSkipped;
    $bytesSkipped = jl_Math_min0($n, Long_fromInt($this.$count0 - $this.$pos0 | 0)).lo;
    $this.$pos0 = $this.$pos0 + $bytesSkipped | 0;
    return Long_fromInt($bytesSkipped);
}
function ji_ByteArrayInputStream_available($this) {
    return $this.$count0 - $this.$pos0 | 0;
}
function ji_ByteArrayInputStream_mark($this, $readAheadLimit) {
    $this.$mark = $this.$pos0;
}
function ji_ByteArrayInputStream_reset($this) {
    $this.$pos0 = $this.$mark;
}
function ji_ByteArrayInputStream_close($this) {
    return;
}
function ji_FilterInputStream() {
    ji_InputStream.call(this);
    this.$in = null;
}
function ji_FilterInputStream__init_(var_0) {
    var var_1 = new ji_FilterInputStream();
    ji_FilterInputStream__init_0(var_1, var_0);
    return var_1;
}
function ji_FilterInputStream__init_0($this, $in) {
    $this.$in = $in;
}
function ji_FilterInputStream_available($this) {
    return $this.$in.$available();
}
function ji_FilterInputStream_close($this) {
    $this.$in.$close();
}
function ji_FilterInputStream_mark($this, $readlimit) {
    $this.$in.$mark0($readlimit);
}
function ji_FilterInputStream_read($this) {
    return $this.$in.$read2();
}
function ji_FilterInputStream_read0($this, $buffer) {
    return $this.$read1($buffer, 0, $buffer.data.length);
}
function ji_FilterInputStream_reset($this) {
    jl_Object_monitorEnterSync($this);
    try {
        $this.$in.$reset();
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function ji_FilterInputStream_skip($this, $count) {
    return $this.$in.$skip($count);
}
function ji_DataInput() {
}
function ji_DataInputStream() {
    ji_FilterInputStream.call(this);
    this.$buff = null;
}
function ji_DataInputStream__init_(var_0) {
    var var_1 = new ji_DataInputStream();
    ji_DataInputStream__init_0(var_1, var_0);
    return var_1;
}
function ji_DataInputStream__init_0($this, $in) {
    ji_FilterInputStream__init_0($this, $in);
    $this.$buff = $rt_createByteArray(8);
}
function ji_DataInputStream_read($this, $buffer) {
    var var$2;
    var$2 = $buffer.data;
    return $this.$in.$read1($buffer, 0, var$2.length);
}
function ji_DataInputStream_readBoolean($this) {
    var $temp, var$2;
    $temp = $this.$in.$read2();
    if ($temp < 0) {
        var$2 = new ji_EOFException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    return !$temp ? 0 : 1;
}
function ji_DataInputStream_readByte($this) {
    var $temp, var$2;
    $temp = $this.$in.$read2();
    if ($temp >= 0)
        return $temp << 24 >> 24;
    var$2 = new ji_EOFException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function ji_DataInputStream_readToBuff($this, $count) {
    var $offset, $bytesRead;
    $offset = 0;
    while ($offset < $count) {
        $bytesRead = $this.$in.$read1($this.$buff, $offset, $count - $offset | 0);
        if ($bytesRead == (-1))
            return $bytesRead;
        $offset = $offset + $bytesRead | 0;
    }
    return $offset;
}
function ji_DataInputStream_readChar($this) {
    var var$1;
    if (ji_DataInputStream_readToBuff($this, 2) < 0) {
        var$1 = new ji_EOFException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    return (($this.$buff.data[0] & 255) << 8 | $this.$buff.data[1] & 255) & 65535;
}
function ji_DataInputStream_readDouble($this) {
    return $rt_longBitsToDouble(ji_DataInputStream_readLong($this));
}
function ji_DataInputStream_readFloat($this) {
    return $rt_intBitsToFloat(ji_DataInputStream_readInt($this));
}
function ji_DataInputStream_readFully($this, $buffer) {
    ji_DataInputStream_readFully0($this, $buffer, 0, $buffer.data.length);
}
function ji_DataInputStream_readFully0($this, $buffer, $offset, $length) {
    var var$4, $result;
    if ($length < 0) {
        var$4 = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if (!$length)
        return;
    if ($this.$in === null) {
        var$4 = new jl_NullPointerException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if ($buffer === null) {
        var$4 = new jl_NullPointerException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if ($offset >= 0 && $offset <= ($buffer.data.length - $length | 0)) {
        while ($length > 0) {
            $result = $this.$in.$read1($buffer, $offset, $length);
            if ($result < 0) {
                var$4 = new ji_EOFException;
                jl_Throwable__init_0(var$4);
                $rt_throw(var$4);
            }
            $offset = $offset + $result | 0;
            $length = $length - $result | 0;
        }
        return;
    }
    var$4 = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0(var$4);
    $rt_throw(var$4);
}
function ji_DataInputStream_readInt($this) {
    var var$1;
    if (ji_DataInputStream_readToBuff($this, 4) < 0) {
        var$1 = new ji_EOFException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    return ($this.$buff.data[0] & 255) << 24 | ($this.$buff.data[1] & 255) << 16 | ($this.$buff.data[2] & 255) << 8 | $this.$buff.data[3] & 255;
}
function ji_DataInputStream_readLong($this) {
    var var$1;
    if (ji_DataInputStream_readToBuff($this, 8) < 0) {
        var$1 = new ji_EOFException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    return Long_or(Long_shl(Long_and(Long_fromInt(($this.$buff.data[0] & 255) << 24 | ($this.$buff.data[1] & 255) << 16 | ($this.$buff.data[2] & 255) << 8 | $this.$buff.data[3] & 255), new Long(4294967295, 0)), 32), Long_and(Long_fromInt(($this.$buff.data[4] & 255) << 24 | ($this.$buff.data[5] & 255) << 16 | ($this.$buff.data[6] & 255) << 8 | $this.$buff.data[7] & 255), new Long(4294967295, 0)));
}
function ji_DataInputStream_readShort($this) {
    var var$1;
    if (ji_DataInputStream_readToBuff($this, 2) < 0) {
        var$1 = new ji_EOFException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    return (($this.$buff.data[0] & 255) << 24 >> 16 | $this.$buff.data[1] & 255) << 16 >> 16;
}
function ji_DataInputStream_readUnsignedByte($this) {
    var $temp, var$2;
    $temp = $this.$in.$read2();
    if ($temp >= 0)
        return $temp & 255;
    var$2 = new ji_EOFException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function ji_DataInputStream_readUnsignedShort($this) {
    var var$1;
    if (ji_DataInputStream_readToBuff($this, 2) < 0) {
        var$1 = new ji_EOFException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    return (($this.$buff.data[0] & 255) << 8 | $this.$buff.data[1] & 255) & 65535;
}
function ji_DataInputStream_readUTF($this) {
    return ji_DataInputStream_decodeUTF($this, ji_DataInputStream_readUnsignedShort($this));
}
function ji_DataInputStream_decodeUTF($this, $utfSize) {
    var var$2, var$3;
    var$2 = $rt_createByteArray($utfSize);
    var$3 = $rt_createCharArray($utfSize);
    ji_DataInputStream_readFully0($this, var$2, 0, $utfSize);
    return ji_DataInputStream_convertUTF8WithBuf(var$2, var$3, 0, $utfSize);
}
function ji_DataInputStream_skipBytes($this, $count) {
    var $skipped, $skip, var$4;
    $skipped = 0;
    a: {
        while (true) {
            if ($skipped >= $count)
                break a;
            $skip = $this.$in.$skip(Long_fromInt($count - $skipped | 0));
            if (Long_eq($skip, Long_ZERO))
                break;
            $skipped = Long_add(Long_fromInt($skipped), $skip).lo;
        }
    }
    if ($skipped >= 0)
        return $skipped;
    var$4 = new ji_EOFException;
    jl_Throwable__init_0(var$4);
    $rt_throw(var$4);
}
function ji_DataInputStream_convertUTF8WithBuf($buf, $out, $offset, $utfSize) {
    var $count, $s, var$7, var$8, $b, $ch, $a, var$12, $b_0, $c;
    $count = 0;
    $s = 0;
    a: {
        while ($count < $utfSize) {
            var$7 = $buf.data;
            var$8 = $out.data;
            $b = $count + 1 | 0;
            $ch = var$7[$offset + $count | 0] & 65535;
            var$8[$s] = $ch;
            $a = var$8[$s];
            if ($ch < 128)
                $s = $s + 1 | 0;
            else if (($a & 224) == 192) {
                if ($b >= $utfSize) {
                    var$12 = new ji_UTFDataFormatException;
                    jl_Throwable__init_(var$12, $rt_s(373));
                    $rt_throw(var$12);
                }
                $ch = $b + 1 | 0;
                $b = var$7[$offset + $b | 0];
                if (($b & 192) != 128) {
                    var$12 = new ji_UTFDataFormatException;
                    jl_Throwable__init_(var$12, $rt_s(374));
                    $rt_throw(var$12);
                }
                $b_0 = $s + 1 | 0;
                var$8[$s] = (($a & 31) << 6 | $b & 63) & 65535;
                $s = $b_0;
                $b = $ch;
            } else {
                if (($a & 240) != 224) {
                    var$12 = new ji_UTFDataFormatException;
                    jl_Throwable__init_(var$12, $rt_s(374));
                    $rt_throw(var$12);
                }
                $count = $b + 1 | 0;
                if ($count >= $utfSize) {
                    var$12 = new ji_UTFDataFormatException;
                    jl_Throwable__init_(var$12, $rt_s(374));
                    $rt_throw(var$12);
                }
                $b_0 = var$7[$offset + $b | 0];
                $b = $count + 1 | 0;
                $c = var$7[$offset + $count | 0];
                if (($b_0 & 192) != 128)
                    break a;
                if (($c & 192) != 128)
                    break a;
                $count = $s + 1 | 0;
                var$8[$s] = (($a & 15) << 12 | ($b_0 & 63) << 6 | $c & 63) & 65535;
                $s = $count;
            }
            $count = $b;
        }
        return jl_String__init_3($out, 0, $s);
    }
    var$12 = new ji_UTFDataFormatException;
    jl_Throwable__init_(var$12, $rt_s(374));
    $rt_throw(var$12);
}
function jnc_Charset() {
    var a = this; jl_Object.call(a);
    a.$canonicalName = null;
    a.$aliases = null;
}
function jnc_Charset_checkCanonicalName($name) {
    var $i, $c;
    if (jl_String_isEmpty($name))
        $rt_throw(jnc_IllegalCharsetNameException__init_($name));
    if (!jnc_Charset_isValidCharsetStart(jl_String_charAt($name, 0)))
        $rt_throw(jnc_IllegalCharsetNameException__init_($name));
    $i = 1;
    while ($i < jl_String_length($name)) {
        a: {
            $c = jl_String_charAt($name, $i);
            switch ($c) {
                case 43:
                case 45:
                case 46:
                case 58:
                case 95:
                    break;
                default:
                    if (jnc_Charset_isValidCharsetStart($c))
                        break a;
                    else
                        $rt_throw(jnc_IllegalCharsetNameException__init_($name));
            }
        }
        $i = $i + 1 | 0;
    }
}
function jnc_Charset_isValidCharsetStart($c) {
    return !($c >= 48 && $c <= 57) && !($c >= 97 && $c <= 122) && $c < 65 && $c > 90 ? 0 : 1;
}
function jnc_Charset_forName($charsetName) {
    var $charset;
    if ($charsetName === null) {
        $charsetName = new jl_IllegalArgumentException;
        jl_Throwable__init_($charsetName, $rt_s(375));
        $rt_throw($charsetName);
    }
    jnc_Charset_checkCanonicalName($charsetName);
    $charset = ju_HashMap_get(jnc_Charset$Charsets_value, jl_String_toUpperCase($charsetName));
    if ($charset !== null)
        return $charset;
    $charset = new jnc_UnsupportedCharsetException;
    jl_Throwable__init_0($charset);
    $charset.$charsetName = $charsetName;
    $rt_throw($charset);
}
function jnc_Charset_decode($this, $bb) {
    var $e, $$je;
    a: {
        try {
            $bb = jnc_CharsetDecoder_decode(jnc_CharsetDecoder_onUnmappableCharacter(jnc_CharsetDecoder_onMalformedInput(jnci_UTF8Charset_newDecoder($this), jnc_CodingErrorAction_REPLACE), jnc_CodingErrorAction_REPLACE), $bb);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jnc_CharacterCodingException) {
                $e = $$je;
                break a;
            } else {
                throw $$e;
            }
        }
        return $bb;
    }
    $rt_throw(jl_AssertionError__init_0($rt_s(376), $e));
}
function jnc_Charset_encode($this, $cb) {
    var $e, $$je;
    a: {
        try {
            $cb = jnc_CharsetEncoder_encode(jnc_CharsetEncoder_onUnmappableCharacter(jnc_CharsetEncoder_onMalformedInput(jnci_UTF8Charset_newEncoder($this), jnc_CodingErrorAction_REPLACE), jnc_CodingErrorAction_REPLACE), $cb);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jnc_CharacterCodingException) {
                $e = $$je;
                break a;
            } else {
                throw $$e;
            }
        }
        return $cb;
    }
    $rt_throw(jl_AssertionError__init_0($rt_s(376), $e));
}
function jnc_Charset_compareTo($this, $that) {
    return jl_String_compareToIgnoreCase($this.$canonicalName, $that.$canonicalName);
}
function jnc_Charset_compareTo0($this, var$1) {
    return jnc_Charset_compareTo($this, var$1);
}
function cjj_InflaterInputStream() {
    var a = this; ji_FilterInputStream.call(a);
    a.$inflater = null;
    a.$buf0 = null;
    a.$closed = 0;
    a.$eof0 = 0;
    a.$close_in = 0;
    a.$myinflater = 0;
    a.$byte1 = null;
    a.$b = null;
}
function cjj_InflaterInputStream__init_(var_0) {
    var var_1 = new cjj_InflaterInputStream();
    cjj_InflaterInputStream__init_0(var_1, var_0);
    return var_1;
}
function cjj_InflaterInputStream__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new cjj_InflaterInputStream();
    cjj_InflaterInputStream__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function cjj_InflaterInputStream__init_0($this, $in) {
    cjj_InflaterInputStream__init_2($this, $in, cjj_Inflater__init_0(15, 0), 512, 1);
    $this.$myinflater = 1;
}
function cjj_InflaterInputStream__init_2($this, $in, $inflater, $size, $close_in) {
    ji_FilterInputStream__init_0($this, $in);
    $this.$closed = 0;
    $this.$eof0 = 0;
    $this.$close_in = 1;
    $this.$myinflater = 0;
    $this.$byte1 = $rt_createByteArray(1);
    $this.$b = $rt_createByteArray(512);
    if ($in !== null && $inflater !== null) {
        if ($size > 0) {
            $this.$inflater = $inflater;
            $this.$buf0 = $rt_createByteArray($size);
            $this.$close_in = $close_in;
            return;
        }
        $inflater = new jl_IllegalArgumentException;
        jl_Throwable__init_($inflater, $rt_s(377));
        $rt_throw($inflater);
    }
    $in = new jl_NullPointerException;
    jl_Throwable__init_0($in);
    $rt_throw($in);
}
function cjj_InflaterInputStream_read($this) {
    var var$1;
    if ($this.$closed) {
        var$1 = new ji_IOException;
        jl_Throwable__init_(var$1, $rt_s(378));
        $rt_throw(var$1);
    }
    return cjj_InflaterInputStream_read0($this, $this.$byte1, 0, 1) == (-1) ? (-1) : $this.$byte1.data[0] & 255;
}
function cjj_InflaterInputStream_read0($this, $b, $off, $len) {
    var var$4, $n, $err;
    if ($this.$closed) {
        var$4 = new ji_IOException;
        jl_Throwable__init_(var$4, $rt_s(378));
        $rt_throw(var$4);
    }
    if ($b === null) {
        var$4 = new jl_NullPointerException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if ($off >= 0 && $len >= 0 && $len <= ($b.data.length - $off | 0)) {
        if (!$len)
            return 0;
        if ($this.$eof0)
            return (-1);
        $n = 0;
        cjj_ZStream_setOutput($this.$inflater, $b, $off, $len);
        a: {
            while (!$this.$eof0) {
                if (!$this.$inflater.$avail_in)
                    cjj_InflaterInputStream_fill($this);
                b: {
                    $err = cjj_Inflater_inflate($this.$inflater, 0);
                    $n = $n + ($this.$inflater.$next_out_index - $off | 0) | 0;
                    $off = $this.$inflater.$next_out_index;
                    switch ($err) {
                        case -3:
                            var$4 = new ji_IOException;
                            jl_Throwable__init_(var$4, $this.$inflater.$msg);
                            $rt_throw(var$4);
                        case 1:
                        case 2:
                            break;
                        default:
                            break b;
                    }
                    $this.$eof0 = 1;
                    if ($err == 2)
                        return (-1);
                }
                if (!$this.$inflater.$avail_out)
                    break a;
            }
        }
        return $n;
    }
    var$4 = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0(var$4);
    $rt_throw(var$4);
}
function cjj_InflaterInputStream_available($this) {
    var var$1;
    if (!$this.$closed) {
        if (!$this.$eof0)
            return 1;
        return 0;
    }
    var$1 = new ji_IOException;
    jl_Throwable__init_(var$1, $rt_s(378));
    $rt_throw(var$1);
}
function cjj_InflaterInputStream_skip($this, $n) {
    var var$2, $max, $total, $len;
    if (Long_lt($n, Long_ZERO)) {
        var$2 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$2, $rt_s(379));
        $rt_throw(var$2);
    }
    if ($this.$closed) {
        var$2 = new ji_IOException;
        jl_Throwable__init_(var$2, $rt_s(378));
        $rt_throw(var$2);
    }
    $max = jl_Math_min0($n, Long_fromInt(2147483647)).lo;
    $total = 0;
    a: {
        while (true) {
            if ($total >= $max)
                break a;
            $len = $max - $total | 0;
            if ($len > $this.$b.data.length)
                $len = $this.$b.data.length;
            $len = cjj_InflaterInputStream_read0($this, $this.$b, 0, $len);
            if ($len == (-1))
                break;
            $total = $total + $len | 0;
        }
        $this.$eof0 = 1;
    }
    return Long_fromInt($total);
}
function cjj_InflaterInputStream_close($this) {
    if (!$this.$closed) {
        if ($this.$myinflater)
            cjj_Inflater_end($this.$inflater);
        if ($this.$close_in)
            $this.$in.$close();
        $this.$closed = 1;
    }
}
function cjj_InflaterInputStream_fill($this) {
    var var$1, $len;
    if ($this.$closed) {
        var$1 = new ji_IOException;
        jl_Throwable__init_(var$1, $rt_s(378));
        $rt_throw(var$1);
    }
    a: {
        $len = $this.$in.$read1($this.$buf0, 0, $this.$buf0.data.length);
        if ($len == (-1)) {
            if ($this.$inflater.$istate.$wrap3)
                break a;
            if (cjj_Inflater_finished($this.$inflater))
                break a;
            $this.$buf0.data[0] = 0;
            $len = 1;
        }
        cjj_ZStream_setInput($this.$inflater, $this.$buf0, 0, $len, 1);
        return;
    }
    if (Long_ne($this.$inflater.$istate.$was, Long_fromInt(-1))) {
        var$1 = new ji_IOException;
        jl_Throwable__init_(var$1, $rt_s(380));
        $rt_throw(var$1);
    }
    var$1 = new ji_EOFException;
    jl_Throwable__init_(var$1, $rt_s(381));
    $rt_throw(var$1);
}
function cjj_InflaterInputStream_mark($this, $readlimit) {
    jl_Object_monitorEnterSync($this);
    try {
        return;
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function cjj_InflaterInputStream_reset($this) {
    var var$1;
    jl_Object_monitorEnterSync($this);
    try {
        var$1 = new ji_IOException;
        jl_Throwable__init_(var$1, $rt_s(382));
        $rt_throw(var$1);
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function nle_GeneralDigest() {
    var a = this; jl_Object.call(a);
    a.$xBuf = null;
    a.$xBufOff = 0;
    a.$byteCount = Long_ZERO;
}
function nle_GeneralDigest_update0($this, $in) {
    var var$2, var$3;
    var$2 = $this.$xBuf.data;
    var$3 = $this.$xBufOff;
    $this.$xBufOff = var$3 + 1 | 0;
    var$2[var$3] = $in;
    if ($this.$xBufOff == $this.$xBuf.data.length) {
        nle_SHA1Digest_processWord($this, $this.$xBuf, 0);
        $this.$xBufOff = 0;
    }
    $this.$byteCount = Long_add($this.$byteCount, Long_fromInt(1));
}
function nle_GeneralDigest_update($this, $in, $inOff, $len) {
    a: {
        while ($this.$xBufOff) {
            if ($len <= 0)
                break a;
            nle_GeneralDigest_update0($this, $in.data[$inOff]);
            $inOff = $inOff + 1 | 0;
            $len = $len + (-1) | 0;
        }
    }
    while ($len > $this.$xBuf.data.length) {
        nle_SHA1Digest_processWord($this, $in, $inOff);
        $inOff = $inOff + $this.$xBuf.data.length | 0;
        $len = $len - $this.$xBuf.data.length | 0;
        $this.$byteCount = Long_add($this.$byteCount, Long_fromInt($this.$xBuf.data.length));
    }
    while ($len > 0) {
        nle_GeneralDigest_update0($this, $in.data[$inOff]);
        $inOff = $inOff + 1 | 0;
        $len = $len + (-1) | 0;
    }
}
function nle_GeneralDigest_finish($this) {
    var $bitLength;
    $bitLength = Long_shl($this.$byteCount, 3);
    nle_GeneralDigest_update0($this, (-128));
    while ($this.$xBufOff) {
        nle_GeneralDigest_update0($this, 0);
    }
    nle_SHA1Digest_processLength($this, $bitLength);
    nle_SHA1Digest_processBlock($this);
}
function nle_SHA1Digest() {
    var a = this; nle_GeneralDigest.call(a);
    a.$H1 = 0;
    a.$H2 = 0;
    a.$H3 = 0;
    a.$H4 = 0;
    a.$H5 = 0;
    a.$X = null;
    a.$xOff = 0;
}
function nle_SHA1Digest__init_0() {
    var var_0 = new nle_SHA1Digest();
    nle_SHA1Digest__init_(var_0);
    return var_0;
}
function nle_SHA1Digest__init_($this) {
    $this.$xBuf = $rt_createByteArray(4);
    $this.$xBufOff = 0;
    $this.$X = $rt_createIntArray(80);
    nle_SHA1Digest_reset($this);
}
function nle_SHA1Digest_processWord($this, $in, $inOff) {
    var var$3, var$4;
    var$3 = $in.data;
    $in = $this.$X.data;
    var$4 = $this.$xOff;
    $this.$xOff = var$4 + 1 | 0;
    $in[var$4] = (var$3[$inOff] & 255) << 24 | (var$3[$inOff + 1 | 0] & 255) << 16 | (var$3[$inOff + 2 | 0] & 255) << 8 | var$3[$inOff + 3 | 0] & 255;
    if ($this.$xOff == 16)
        nle_SHA1Digest_processBlock($this);
}
function nle_SHA1Digest_unpackWord($this, $word, $out, $outOff) {
    $out = $out.data;
    $out[$outOff] = $word >>> 24 << 24 >> 24;
    $out[$outOff + 1 | 0] = $word >>> 16 << 24 >> 24;
    $out[$outOff + 2 | 0] = $word >>> 8 << 24 >> 24;
    $out[$outOff + 3 | 0] = $word << 24 >> 24;
}
function nle_SHA1Digest_processLength($this, $bitLength) {
    if ($this.$xOff > 14)
        nle_SHA1Digest_processBlock($this);
    $this.$X.data[14] = $bitLength.hi;
    $this.$X.data[15] = Long_and($bitLength, Long_fromInt(-1)).lo;
}
function nle_SHA1Digest_doFinal($this, $out, $outOff) {
    nle_GeneralDigest_finish($this);
    nle_SHA1Digest_unpackWord($this, $this.$H1, $out, $outOff);
    nle_SHA1Digest_unpackWord($this, $this.$H2, $out, $outOff + 4 | 0);
    nle_SHA1Digest_unpackWord($this, $this.$H3, $out, $outOff + 8 | 0);
    nle_SHA1Digest_unpackWord($this, $this.$H4, $out, $outOff + 12 | 0);
    nle_SHA1Digest_unpackWord($this, $this.$H5, $out, $outOff + 16 | 0);
    nle_SHA1Digest_reset($this);
    return 20;
}
function nle_SHA1Digest_reset($this) {
    var $i;
    $this.$byteCount = Long_ZERO;
    $this.$xBufOff = 0;
    $i = 0;
    while ($i < $this.$xBuf.data.length) {
        $this.$xBuf.data[$i] = 0;
        $i = $i + 1 | 0;
    }
    $this.$H1 = 1732584193;
    $this.$H2 = (-271733879);
    $this.$H3 = (-1732584194);
    $this.$H4 = 271733878;
    $this.$H5 = (-1009589776);
    $this.$xOff = 0;
    $i = 0;
    while ($i != $this.$X.data.length) {
        $this.$X.data[$i] = 0;
        $i = $i + 1 | 0;
    }
}
function nle_SHA1Digest_h($this, $u, $v, $w) {
    return $u ^ $v ^ $w;
}
function nle_SHA1Digest_rotateLeft($this, $x, $n) {
    return $x << $n | $x >>> (32 - $n | 0);
}
function nle_SHA1Digest_processBlock($this) {
    var $i, $A, $B, $C, $D, $E, $j, $t, $j_0;
    $i = 16;
    while ($i <= 79) {
        $this.$X.data[$i] = nle_SHA1Digest_rotateLeft($this, $this.$X.data[$i - 3 | 0] ^ $this.$X.data[$i - 8 | 0] ^ $this.$X.data[$i - 14 | 0] ^ $this.$X.data[$i - 16 | 0], 1);
        $i = $i + 1 | 0;
    }
    $A = $this.$H1;
    $B = $this.$H2;
    $C = $this.$H3;
    $D = $this.$H4;
    $E = $this.$H5;
    $j = 0;
    while ($j <= 19) {
        $t = (((nle_SHA1Digest_rotateLeft($this, $A, 5) + ($B & $C | ($B ^ (-1)) & $D) | 0) + $E | 0) + $this.$X.data[$j] | 0) + 1518500249 | 0;
        $i = nle_SHA1Digest_rotateLeft($this, $B, 30);
        $j = $j + 1 | 0;
        $E = $D;
        $D = $C;
        $C = $i;
        $B = $A;
        $A = $t;
    }
    $j_0 = 20;
    while ($j_0 <= 39) {
        $t = (((nle_SHA1Digest_rotateLeft($this, $A, 5) + nle_SHA1Digest_h($this, $B, $C, $D) | 0) + $E | 0) + $this.$X.data[$j_0] | 0) + 1859775393 | 0;
        $i = nle_SHA1Digest_rotateLeft($this, $B, 30);
        $j_0 = $j_0 + 1 | 0;
        $E = $D;
        $D = $C;
        $C = $i;
        $B = $A;
        $A = $t;
    }
    $j = 40;
    while ($j <= 59) {
        $t = (((nle_SHA1Digest_rotateLeft($this, $A, 5) + ($B & $C | $B & $D | $C & $D) | 0) + $E | 0) + $this.$X.data[$j] | 0) + (-1894007588) | 0;
        $i = nle_SHA1Digest_rotateLeft($this, $B, 30);
        $j = $j + 1 | 0;
        $E = $D;
        $D = $C;
        $C = $i;
        $B = $A;
        $A = $t;
    }
    $j_0 = 60;
    while ($j_0 <= 79) {
        $t = (((nle_SHA1Digest_rotateLeft($this, $A, 5) + nle_SHA1Digest_h($this, $B, $C, $D) | 0) + $E | 0) + $this.$X.data[$j_0] | 0) + (-899497514) | 0;
        $i = nle_SHA1Digest_rotateLeft($this, $B, 30);
        $j_0 = $j_0 + 1 | 0;
        $E = $D;
        $D = $C;
        $C = $i;
        $B = $A;
        $A = $t;
    }
    $this.$H1 = $this.$H1 + $A | 0;
    $this.$H2 = $this.$H2 + $B | 0;
    $this.$H3 = $this.$H3 + $C | 0;
    $this.$H4 = $this.$H4 + $D | 0;
    $this.$H5 = $this.$H5 + $E | 0;
    $this.$xOff = 0;
    $i = 0;
    while ($i != $this.$X.data.length) {
        $this.$X.data[$i] = 0;
        $i = $i + 1 | 0;
    }
}
function ju_Arrays() {
    jl_Object.call(this);
}
function ju_Arrays__init_0() {
    var var_0 = new ju_Arrays();
    ju_Arrays__init_(var_0);
    return var_0;
}
function ju_Arrays__init_($this) {
    return;
}
function ju_Arrays_copyOf0($array, $length) {
    var $result, var$4, $sz, $i;
    $array = $array.data;
    $result = $rt_createCharArray($length);
    var$4 = $result.data;
    $sz = jl_Math_min($length, $array.length);
    $i = 0;
    while ($i < $sz) {
        var$4[$i] = $array[$i];
        $i = $i + 1 | 0;
    }
    return $result;
}
function ju_Arrays_copyOf1($array, $length) {
    var $result, var$4, $sz, $i;
    $array = $array.data;
    $result = $rt_createByteArray($length);
    var$4 = $result.data;
    $sz = jl_Math_min($length, $array.length);
    $i = 0;
    while ($i < $sz) {
        var$4[$i] = $array[$i];
        $i = $i + 1 | 0;
    }
    return $result;
}
function ju_Arrays_copyOf($original, $newLength) {
    var var$3, $result, $sz, $i;
    var$3 = $original.data;
    $result = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($original)), $newLength);
    $sz = jl_Math_min($newLength, var$3.length);
    $i = 0;
    while ($i < $sz) {
        $result.data[$i] = var$3[$i];
        $i = $i + 1 | 0;
    }
    return $result;
}
function ju_Arrays_fill0($a, $val) {
    var var$3, var$4, var$5, var$6;
    $a = $a.data;
    var$3 = 0;
    var$4 = $a.length;
    if (var$3 > var$4) {
        var$5 = new jl_IllegalArgumentException;
        jl_Throwable__init_0(var$5);
        $rt_throw(var$5);
    }
    while (var$3 < var$4) {
        var$6 = var$3 + 1 | 0;
        $a[var$3] = $val;
        var$3 = var$6;
    }
}
function ju_Arrays_fill($a, $fromIndex, $toIndex, $val) {
    var var$5, var$6;
    if ($fromIndex > $toIndex) {
        $val = new jl_IllegalArgumentException;
        jl_Throwable__init_0($val);
        $rt_throw($val);
    }
    while ($fromIndex < $toIndex) {
        var$5 = $a.data;
        var$6 = $fromIndex + 1 | 0;
        var$5[$fromIndex] = $val;
        $fromIndex = var$6;
    }
}
function ju_Arrays_sort($a) {
    ju_Arrays_sort0($a, new ju_Arrays$NaturalOrder);
}
function ju_Arrays_sort0($a, $c) {
    var var$3, $second, $chunkSize, var$6, $i, var$8, var$9, var$10, $i_0, var$12, $i_1, var$14, var$15, var$16, var$17;
    var$3 = $a.data.length;
    if (!var$3)
        return;
    $second = $rt_createArray(jl_Object, var$3);
    $chunkSize = 1;
    var$6 = $a;
    while ($chunkSize < var$3) {
        $i = 0;
        while (true) {
            var$8 = var$6.data;
            var$9 = var$8.length;
            if ($i >= var$9)
                break;
            var$10 = jl_Math_min(var$9, $i + $chunkSize | 0);
            $i_0 = $i + (2 * $chunkSize | 0) | 0;
            var$12 = jl_Math_min(var$9, $i_0);
            $i_1 = $i;
            var$9 = var$10;
            a: {
                b: {
                    while ($i != var$10) {
                        if (var$9 == var$12)
                            break b;
                        var$14 = var$8[$i];
                        var$15 = var$8[var$9];
                        if ($c.$compare(var$14, var$15) > 0) {
                            var$16 = $second.data;
                            var$17 = $i_1 + 1 | 0;
                            var$16[$i_1] = var$15;
                            var$9 = var$9 + 1 | 0;
                        } else {
                            var$16 = $second.data;
                            var$17 = $i_1 + 1 | 0;
                            var$16[$i_1] = var$14;
                            $i = $i + 1 | 0;
                        }
                        $i_1 = var$17;
                    }
                    while (true) {
                        if (var$9 >= var$12)
                            break a;
                        var$16 = $second.data;
                        $i = $i_1 + 1 | 0;
                        var$17 = var$9 + 1 | 0;
                        var$16[$i_1] = var$8[var$9];
                        $i_1 = $i;
                        var$9 = var$17;
                    }
                }
                while (true) {
                    if ($i >= var$10)
                        break a;
                    var$16 = $second.data;
                    var$9 = $i_1 + 1 | 0;
                    var$17 = $i + 1 | 0;
                    var$16[$i_1] = var$8[$i];
                    $i_1 = var$9;
                    $i = var$17;
                }
            }
            $i = $i_0;
        }
        $chunkSize = $chunkSize * 2 | 0;
        var$8 = var$6;
        var$6 = $second;
        $second = var$8;
    }
    c: {
        if (var$6 !== $a) {
            $i_1 = 0;
            while (true) {
                $a = var$6.data;
                if ($i_1 >= $a.length)
                    break c;
                $second.data[$i_1] = $a[$i_1];
                $i_1 = $i_1 + 1 | 0;
            }
        }
    }
}
function ju_Arrays_binarySearch($a, $key) {
    var var$3, var$4, var$5, var$6, var$7;
    $a = $a.data;
    var$3 = 0;
    var$4 = $a.length;
    if (var$3 > var$4) {
        var$5 = new jl_IllegalArgumentException;
        jl_Throwable__init_0(var$5);
        $rt_throw(var$5);
    }
    var$6 = var$4 - 1 | 0;
    a: {
        while (true) {
            var$4 = (var$3 + var$6 | 0) / 2 | 0;
            var$7 = $a[var$4];
            if (var$7 == $key)
                break;
            if ($key >= var$7) {
                var$3 = var$4 + 1 | 0;
                if (var$3 > var$6) {
                    var$4 =  -var$4 - 2 | 0;
                    break a;
                }
            } else {
                var$6 = var$4 - 1 | 0;
                if (var$6 < var$3) {
                    var$4 =  -var$4 - 1 | 0;
                    break a;
                }
            }
        }
    }
    return var$4;
}
function ju_Arrays_binarySearch0($a, $key) {
    var var$3, var$4, var$5, var$6, var$7;
    $a = $a.data;
    var$3 = 0;
    var$4 = $a.length;
    if (var$3 > var$4) {
        var$5 = new jl_IllegalArgumentException;
        jl_Throwable__init_0(var$5);
        $rt_throw(var$5);
    }
    var$6 = var$4 - 1 | 0;
    a: {
        while (true) {
            var$4 = (var$3 + var$6 | 0) / 2 | 0;
            var$7 = Long_compare($a[var$4], $key);
            if (!var$7)
                break;
            if (var$7 <= 0) {
                var$3 = var$4 + 1 | 0;
                if (var$3 > var$6) {
                    var$4 =  -var$4 - 2 | 0;
                    break a;
                }
            } else {
                var$6 = var$4 - 1 | 0;
                if (var$6 < var$3) {
                    var$4 =  -var$4 - 1 | 0;
                    break a;
                }
            }
        }
    }
    return var$4;
}
function ju_Arrays_equals0($a, $a2) {
    var var$3, $i;
    if ($a === $a2)
        return 1;
    if ($a !== null && $a2 !== null) {
        $a2 = $a2.data;
        $a = $a.data;
        var$3 = $a.length;
        if (var$3 == $a2.length) {
            $i = 0;
            while ($i < var$3) {
                if ($a[$i] != $a2[$i])
                    return 0;
                $i = $i + 1 | 0;
            }
            return 1;
        }
    }
    return 0;
}
function ju_Arrays_equals($a, $a2) {
    var var$3, $i;
    if ($a === $a2)
        return 1;
    if ($a !== null && $a2 !== null) {
        $a2 = $a2.data;
        $a = $a.data;
        var$3 = $a.length;
        if (var$3 == $a2.length) {
            $i = 0;
            while ($i < var$3) {
                if (!ju_Objects_equals($a[$i], $a2[$i]))
                    return 0;
                $i = $i + 1 | 0;
            }
            return 1;
        }
    }
    return 0;
}
function ju_Arrays_hashCode0($a) {
    var $hash, $i, var$4;
    if ($a === null)
        return 0;
    $hash = 1;
    $i = 0;
    while (true) {
        var$4 = $a.data;
        if ($i >= var$4.length)
            break;
        $hash = (31 * $hash | 0) + var$4[$i] | 0;
        $i = $i + 1 | 0;
    }
    return $hash;
}
function ju_Arrays_hashCode($a) {
    var $hash, $i, var$4, $h;
    if ($a === null)
        return 0;
    $hash = (-1515898884);
    $i = 0;
    while (true) {
        var$4 = $a.data;
        if ($i >= var$4.length)
            break;
        $h = ju_Objects_hashCode(var$4[$i]) ^ 528111840;
        $hash = jl_Integer_rotateLeft($h, 4) ^ ($h >>> 7 | $h << 25) ^ jl_Integer_rotateLeft($hash, 13);
        $i = $i + 1 | 0;
    }
    return $hash;
}
function ju_Arrays_asList($a) {
    var var$2;
    var$2 = new ju_Arrays$ArrayAsList;
    var$2.$array2 = $a;
    return var$2;
}
function ji_BufferedInputStream() {
    var a = this; ji_FilterInputStream.call(a);
    a.$buf1 = null;
    a.$count1 = 0;
    a.$marklimit = 0;
    a.$markpos = 0;
    a.$pos1 = 0;
}
function ji_BufferedInputStream__init_(var_0) {
    var var_1 = new ji_BufferedInputStream();
    ji_BufferedInputStream__init_0(var_1, var_0);
    return var_1;
}
function ji_BufferedInputStream__init_0($this, $in) {
    ji_FilterInputStream__init_0($this, $in);
    $this.$markpos = (-1);
    $this.$buf1 = $rt_createByteArray(8192);
}
function ji_BufferedInputStream_available($this) {
    var $localIn, var$2;
    $localIn = $this.$in;
    if ($this.$buf1 !== null && $localIn !== null)
        return ($this.$count1 - $this.$pos1 | 0) + $localIn.$available() | 0;
    var$2 = new ji_IOException;
    jl_Throwable__init_(var$2, $rt_s(383));
    $rt_throw(var$2);
}
function ji_BufferedInputStream_close($this) {
    var $localIn;
    $this.$buf1 = null;
    $localIn = $this.$in;
    $this.$in = null;
    if ($localIn !== null)
        $localIn.$close();
}
function ji_BufferedInputStream_fillbuf($this, $localIn, $localBuf) {
    var $newbuf, $newLength, $result, $bytesread;
    if ($this.$markpos != (-1) && ($this.$pos1 - $this.$markpos | 0) < $this.$marklimit) {
        a: {
            if (!$this.$markpos) {
                $newbuf = $localBuf.data;
                $newLength = $this.$marklimit;
                $result = $newbuf.length;
                if ($newLength > $result) {
                    $newLength = $result * 2 | 0;
                    if ($newLength > $this.$marklimit)
                        $newLength = $this.$marklimit;
                    $newbuf = $rt_createByteArray($newLength);
                    jl_System_arraycopy($localBuf, 0, $newbuf, 0, $result);
                    $this.$buf1 = $newbuf;
                    $localBuf = $this.$buf1;
                    break a;
                }
            }
            if ($this.$markpos > 0) {
                $newbuf = $localBuf.data;
                jl_System_arraycopy($localBuf, $this.$markpos, $localBuf, 0, $newbuf.length - $this.$markpos | 0);
            }
        }
        $newbuf = $localBuf.data;
        $this.$pos1 = $this.$pos1 - $this.$markpos | 0;
        $this.$count1 = 0;
        $this.$markpos = 0;
        $bytesread = $localIn.$read1($localBuf, $this.$pos1, $newbuf.length - $this.$pos1 | 0);
        $this.$count1 = $bytesread <= 0 ? $this.$pos1 : $this.$pos1 + $bytesread | 0;
        return $bytesread;
    }
    $result = $localIn.$read($localBuf);
    if ($result > 0) {
        $this.$markpos = (-1);
        $this.$pos1 = 0;
        $this.$count1 = $result;
    }
    return $result;
}
function ji_BufferedInputStream_mark($this, $readlimit) {
    jl_Object_monitorEnterSync($this);
    try {
        $this.$marklimit = $readlimit;
        $this.$markpos = $this.$pos1;
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function ji_BufferedInputStream_read($this) {
    var $localBuf, $localIn, var$3, var$4;
    jl_Object_monitorEnterSync($this);
    try {
        $localBuf = $this.$buf1;
        $localIn = $this.$in;
        if ($localBuf !== null && $localIn !== null) {
            if ($this.$pos1 >= $this.$count1 && ji_BufferedInputStream_fillbuf($this, $localIn, $localBuf) == (-1))
                return (-1);
            if ($localBuf !== $this.$buf1) {
                $localBuf = $this.$buf1;
                if ($localBuf === null) {
                    $localIn = new ji_IOException;
                    jl_Throwable__init_($localIn, $rt_s(383));
                    $rt_throw($localIn);
                }
            }
            if (($this.$count1 - $this.$pos1 | 0) <= 0)
                return (-1);
            $localBuf = $localBuf.data;
            var$3 = $this.$pos1;
            $this.$pos1 = var$3 + 1 | 0;
            return $localBuf[var$3] & 255;
        }
        var$4 = new ji_IOException;
        jl_Throwable__init_(var$4, $rt_s(383));
        $rt_throw(var$4);
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function ji_BufferedInputStream_read0($this, $buffer, $offset, $length) {
    var $localBuf, $localIn, $required, $copylength, $read;
    jl_Object_monitorEnterSync($this);
    try {
        $localBuf = $this.$buf1;
        if ($localBuf === null) {
            $localIn = new ji_IOException;
            jl_Throwable__init_($localIn, $rt_s(383));
            $rt_throw($localIn);
        }
        if ($offset <= ($buffer.data.length - $length | 0) && $offset >= 0 && $length >= 0) {
            if (!$length)
                return 0;
            $localIn = $this.$in;
            if ($localIn === null) {
                $localIn = new ji_IOException;
                jl_Throwable__init_($localIn, $rt_s(383));
                $rt_throw($localIn);
            }
            if ($this.$pos1 >= $this.$count1)
                $required = $length;
            else {
                $copylength = ($this.$count1 - $this.$pos1 | 0) >= $length ? $length : $this.$count1 - $this.$pos1 | 0;
                jl_System_arraycopy($localBuf, $this.$pos1, $buffer, $offset, $copylength);
                $this.$pos1 = $this.$pos1 + $copylength | 0;
                if ($copylength != $length && $localIn.$available()) {
                    $offset = $offset + $copylength | 0;
                    $required = $length - $copylength | 0;
                } else
                    return $copylength;
            }
            while (true) {
                if ($this.$markpos == (-1) && $required >= $localBuf.data.length) {
                    $read = $localIn.$read1($buffer, $offset, $required);
                    if ($read == (-1))
                        return $required != $length ? $length - $required | 0 : (-1);
                } else {
                    if (ji_BufferedInputStream_fillbuf($this, $localIn, $localBuf) == (-1))
                        return $required != $length ? $length - $required | 0 : (-1);
                    if ($localBuf !== $this.$buf1) {
                        $localBuf = $this.$buf1;
                        if ($localBuf === null) {
                            $localIn = new ji_IOException;
                            jl_Throwable__init_($localIn, $rt_s(383));
                            $rt_throw($localIn);
                        }
                    }
                    $read = ($this.$count1 - $this.$pos1 | 0) >= $required ? $required : $this.$count1 - $this.$pos1 | 0;
                    jl_System_arraycopy($localBuf, $this.$pos1, $buffer, $offset, $read);
                    $this.$pos1 = $this.$pos1 + $read | 0;
                }
                $required = $required - $read | 0;
                if (!$required)
                    break;
                if (!$localIn.$available())
                    return $length - $required | 0;
                $offset = $offset + $read | 0;
            }
            return $length;
        }
        $localIn = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0($localIn);
        $rt_throw($localIn);
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function ji_BufferedInputStream_reset($this) {
    var var$1, var$2;
    jl_Object_monitorEnterSync($this);
    try {
        if ($this.$buf1 === null) {
            var$1 = new ji_IOException;
            jl_Throwable__init_(var$1, $rt_s(383));
            $rt_throw(var$1);
        }
        if ((-1) != $this.$markpos) {
            $this.$pos1 = $this.$markpos;
            return;
        }
        var$2 = new ji_IOException;
        jl_Throwable__init_(var$2, $rt_s(384));
        $rt_throw(var$2);
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function ji_BufferedInputStream_skip($this, $amount) {
    var $localBuf, $localIn, $read, var$5, var$6;
    jl_Object_monitorEnterSync($this);
    try {
        $localBuf = $this.$buf1;
        $localIn = $this.$in;
        if ($localBuf === null) {
            $localIn = new ji_IOException;
            jl_Throwable__init_($localIn, $rt_s(383));
            $rt_throw($localIn);
        }
        if (Long_lt($amount, Long_fromInt(1)))
            return Long_ZERO;
        if ($localIn === null) {
            $localIn = new ji_IOException;
            jl_Throwable__init_($localIn, $rt_s(383));
            $rt_throw($localIn);
        }
        if (Long_ge(Long_fromInt($this.$count1 - $this.$pos1 | 0), $amount)) {
            $this.$pos1 = Long_add(Long_fromInt($this.$pos1), $amount).lo;
            return $amount;
        }
        $read = Long_fromInt($this.$count1 - $this.$pos1 | 0);
        $this.$pos1 = $this.$count1;
        if ($this.$markpos != (-1) && Long_le($amount, Long_fromInt($this.$marklimit))) {
            if (ji_BufferedInputStream_fillbuf($this, $localIn, $localBuf) == (-1))
                return $read;
            var$5 = Long_fromInt($this.$count1 - $this.$pos1 | 0);
            var$6 = Long_sub($amount, $read);
            if (Long_ge(var$5, var$6)) {
                $this.$pos1 = Long_add(Long_fromInt($this.$pos1), var$6).lo;
                return $amount;
            }
            $amount = Long_add($read, Long_fromInt($this.$count1 - $this.$pos1 | 0));
            $this.$pos1 = $this.$count1;
            return $amount;
        }
        return Long_add($read, $localIn.$skip(Long_sub($amount, $read)));
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function ju_RandomAccess() {
}
function ju_ArrayList() {
    var a = this; ju_AbstractList.call(a);
    a.$array3 = null;
    a.$size = 0;
}
function ju_ArrayList__init_0() {
    var var_0 = new ju_ArrayList();
    ju_ArrayList__init_(var_0);
    return var_0;
}
function ju_ArrayList__init_1(var_0) {
    var var_1 = new ju_ArrayList();
    ju_ArrayList__init_2(var_1, var_0);
    return var_1;
}
function ju_ArrayList__init_3(var_0) {
    var var_1 = new ju_ArrayList();
    ju_ArrayList__init_4(var_1, var_0);
    return var_1;
}
function ju_ArrayList__init_($this) {
    ju_ArrayList__init_2($this, 10);
}
function ju_ArrayList__init_2($this, $initialCapacity) {
    $this.$array3 = $rt_createArray(jl_Object, $initialCapacity);
}
function ju_ArrayList__init_4($this, $c) {
    var $iter, $i;
    ju_ArrayList__init_2($this, $c.$size0());
    $iter = $c.$iterator();
    $i = 0;
    while ($i < $this.$array3.data.length) {
        $this.$array3.data[$i] = $iter.$next();
        $i = $i + 1 | 0;
    }
    $this.$size = $this.$array3.data.length;
}
function ju_ArrayList_ensureCapacity($this, $minCapacity) {
    var $newLength;
    if ($this.$array3.data.length < $minCapacity) {
        $newLength = $this.$array3.data.length >= 1073741823 ? 2147483647 : jl_Math_max($minCapacity, jl_Math_max($this.$array3.data.length * 2 | 0, 5));
        $this.$array3 = ju_Arrays_copyOf($this.$array3, $newLength);
    }
}
function ju_ArrayList_get($this, $index) {
    ju_ArrayList_checkIndex($this, $index);
    return $this.$array3.data[$index];
}
function ju_ArrayList_size($this) {
    return $this.$size;
}
function ju_ArrayList_set($this, $index, $element) {
    var $old;
    ju_ArrayList_checkIndex($this, $index);
    $old = $this.$array3.data[$index];
    $this.$array3.data[$index] = $element;
    return $old;
}
function ju_ArrayList_add($this, $element) {
    var var$2, var$3;
    ju_ArrayList_ensureCapacity($this, $this.$size + 1 | 0);
    var$2 = $this.$array3.data;
    var$3 = $this.$size;
    $this.$size = var$3 + 1 | 0;
    var$2[var$3] = $element;
    $this.$modCount = $this.$modCount + 1 | 0;
    return 1;
}
function ju_ArrayList_add0($this, $index, $element) {
    var $i;
    if ($index >= 0 && $index <= $this.$size) {
        ju_ArrayList_ensureCapacity($this, $this.$size + 1 | 0);
        $i = $this.$size;
        while ($i > $index) {
            $this.$array3.data[$i] = $this.$array3.data[$i - 1 | 0];
            $i = $i + (-1) | 0;
        }
        $this.$array3.data[$index] = $element;
        $this.$size = $this.$size + 1 | 0;
        $this.$modCount = $this.$modCount + 1 | 0;
        return;
    }
    $element = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0($element);
    $rt_throw($element);
}
function ju_ArrayList_remove($this, $i) {
    var $old, var$3, var$4, $i_0;
    ju_ArrayList_checkIndex($this, $i);
    $old = $this.$array3.data[$i];
    $this.$size = $this.$size - 1 | 0;
    while ($i < $this.$size) {
        var$3 = $this.$array3.data;
        var$4 = $this.$array3.data;
        $i_0 = $i + 1 | 0;
        var$3[$i] = var$4[$i_0];
        $i = $i_0;
    }
    $this.$array3.data[$this.$size] = null;
    $this.$modCount = $this.$modCount + 1 | 0;
    return $old;
}
function ju_ArrayList_remove0($this, $o) {
    var $index;
    $index = ju_AbstractList_indexOf($this, $o);
    if ($index < 0)
        return 0;
    ju_ArrayList_remove($this, $index);
    return 1;
}
function ju_ArrayList_clear($this) {
    ju_Arrays_fill($this.$array3, 0, $this.$size, null);
    $this.$size = 0;
}
function ju_ArrayList_checkIndex($this, $index) {
    var var$2;
    if ($index >= 0 && $index < $this.$size)
        return;
    var$2 = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function nms_NBTTagList() {
    var a = this; nms_NBTBase.call(a);
    a.$tagList = null;
    a.$tagType = 0;
}
function nms_NBTTagList__init_0() {
    var var_0 = new nms_NBTTagList();
    nms_NBTTagList__init_(var_0);
    return var_0;
}
function nms_NBTTagList__init_1(var_0) {
    var var_1 = new nms_NBTTagList();
    nms_NBTTagList__init_2(var_1, var_0);
    return var_1;
}
function nms_NBTTagList__init_($this) {
    nms_NBTBase__init_0($this, $rt_s(36));
    $this.$tagList = ju_ArrayList__init_0();
}
function nms_NBTTagList__init_2($this, $par1Str) {
    nms_NBTBase__init_0($this, $par1Str);
    $this.$tagList = ju_ArrayList__init_0();
}
function nms_NBTTagList_write($this, $par1DataOutput) {
    var $var2;
    if (ju_AbstractCollection_isEmpty($this.$tagList))
        $this.$tagType = 1;
    else
        $this.$tagType = ju_ArrayList_get($this.$tagList, 0).$getId();
    ji_DataOutputStream_writeByte($par1DataOutput, $this.$tagType);
    ji_DataOutputStream_writeInt($par1DataOutput, $this.$tagList.$size);
    $var2 = 0;
    while ($var2 < $this.$tagList.$size) {
        ju_ArrayList_get($this.$tagList, $var2).$write0($par1DataOutput);
        $var2 = $var2 + 1 | 0;
    }
}
function nms_NBTTagList_load($this, $par1DataInput) {
    var $var2, $var3, var$4, $var4;
    $this.$tagType = ji_DataInputStream_readByte($par1DataInput);
    $var2 = ji_DataInputStream_readInt($par1DataInput);
    $this.$tagList = ju_ArrayList__init_0();
    $var3 = 0;
    var$4 = null;
    while ($var3 < $var2) {
        $var4 = nms_NBTBase_newTag($this.$tagType, var$4);
        $var4.$load0($par1DataInput);
        ju_ArrayList_add($this.$tagList, $var4);
        $var3 = $var3 + 1 | 0;
    }
}
function nms_NBTTagList_getId($this) {
    return 9;
}
function nms_NBTTagList_toString($this) {
    var var$1, var$2;
    a: {
        var$1 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$1);
        jl_AbstractStringBuilder_append(var$1, $rt_s(36));
        jl_AbstractStringBuilder_append2(var$1, $this.$tagList.$size);
        jl_AbstractStringBuilder_append(var$1, $rt_s(385));
        switch ($this.$tagType) {
            case 0:
                break;
            case 1:
                var$2 = $rt_s(386);
                break a;
            case 2:
                var$2 = $rt_s(387);
                break a;
            case 3:
                var$2 = $rt_s(388);
                break a;
            case 4:
                var$2 = $rt_s(389);
                break a;
            case 5:
                var$2 = $rt_s(390);
                break a;
            case 6:
                var$2 = $rt_s(391);
                break a;
            case 7:
                var$2 = $rt_s(392);
                break a;
            case 8:
                var$2 = $rt_s(393);
                break a;
            case 9:
                var$2 = $rt_s(394);
                break a;
            case 10:
                var$2 = $rt_s(395);
                break a;
            case 11:
                var$2 = $rt_s(396);
                break a;
            default:
                var$2 = $rt_s(397);
                break a;
        }
        var$2 = $rt_s(398);
    }
    jl_AbstractStringBuilder_append(var$1, var$2);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_NBTTagList_appendTag($this, $par1NBTBase) {
    $this.$tagType = $par1NBTBase.$getId();
    ju_ArrayList_add($this.$tagList, $par1NBTBase);
}
function nms_NBTTagList_removeTag($this, $par1) {
    return ju_ArrayList_remove($this.$tagList, $par1);
}
function nms_NBTTagList_tagAt($this, $par1) {
    return ju_ArrayList_get($this.$tagList, $par1);
}
function nms_NBTTagList_tagCount($this) {
    return $this.$tagList.$size;
}
function nms_NBTTagList_copy($this) {
    var $var1, $var2, $var4;
    $var1 = nms_NBTTagList__init_1(nms_NBTBase_getName($this));
    $var1.$tagType = $this.$tagType;
    $var2 = ju_AbstractList_iterator($this.$tagList);
    while (ju_AbstractList$1_hasNext($var2)) {
        $var4 = ju_AbstractList$1_next($var2).$copy();
        ju_ArrayList_add($var1.$tagList, $var4);
    }
    return $var1;
}
function nms_NBTTagList_equals($this, $par1Obj) {
    var $var2;
    if (nms_NBTBase_equals($this, $par1Obj)) {
        $var2 = $par1Obj;
        if ($this.$tagType == $var2.$tagType)
            return ju_AbstractList_equals($this.$tagList, $var2.$tagList);
    }
    return 0;
}
function nms_NBTTagList_hashCode($this) {
    return nms_NBTBase_hashCode($this) ^ ju_AbstractList_hashCode($this.$tagList);
}
function ji_Flushable() {
}
function ji_OutputStream() {
    jl_Object.call(this);
}
function ji_OutputStream_write($this, $b) {
    $this.$write1($b, 0, $b.data.length);
}
function ji_OutputStream_write0($this, $b, $off, $len) {
    var $i, var$5, var$6;
    $i = 0;
    while ($i < $len) {
        var$5 = $b.data;
        var$6 = $off + 1 | 0;
        $this.$write2(var$5[$off]);
        $i = $i + 1 | 0;
        $off = var$6;
    }
}
function ji_OutputStream_close($this) {
    return;
}
function ji_OutputStream_flush($this) {
    return;
}
function ji_FilterOutputStream() {
    ji_OutputStream.call(this);
    this.$out0 = null;
}
function ji_FilterOutputStream__init_(var_0) {
    var var_1 = new ji_FilterOutputStream();
    ji_FilterOutputStream__init_0(var_1, var_0);
    return var_1;
}
function ji_FilterOutputStream__init_0($this, $out) {
    $this.$out0 = $out;
}
function ji_FilterOutputStream_close($this) {
    var $$je;
    a: {
        try {
            $this.$out0.$flush();
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
            } else {
                throw $$e;
            }
        }
    }
    $this.$out0.$close();
}
function ji_PrintStream() {
    var a = this; ji_FilterOutputStream.call(a);
    a.$autoFlush = 0;
    a.$errorState = 0;
    a.$sb = null;
    a.$buffer2 = null;
    a.$charset = null;
}
function ji_PrintStream__init_(var_0, var_1) {
    var var_2 = new ji_PrintStream();
    ji_PrintStream__init_0(var_2, var_0, var_1);
    return var_2;
}
function ji_PrintStream__init_0($this, $out, $autoFlush) {
    ji_FilterOutputStream__init_0($this, $out);
    $out = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($out);
    $this.$sb = $out;
    $this.$buffer2 = $rt_createCharArray(32);
    $this.$autoFlush = $autoFlush;
    $this.$charset = jnci_UTF8Charset__init_0();
}
function ji_PrintStream_write($this, $b, $off, $len) {
    var $$je;
    if ($this.$out0 === null)
        $this.$errorState = 1;
    if (!($this.$errorState ? 0 : 1))
        return;
    a: {
        try {
            $this.$out0.$write1($b, $off, $len);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
            } else {
                throw $$e;
            }
        }
        $this.$errorState = 1;
    }
}
function ji_PrintStream_print0($this, $s, $begin, $end) {
    var $destBytes, $src, $dest, $encoder, $overflow;
    $destBytes = $s.data;
    $src = jn_CharBuffer_wrap0($s, $begin, $end - $begin | 0);
    $destBytes = $rt_createByteArray(jl_Math_max(16, jl_Math_min($destBytes.length, 1024)));
    $dest = jn_ByteBuffer_wrap0($destBytes);
    $encoder = jnc_CharsetEncoder_onUnmappableCharacter(jnc_CharsetEncoder_onMalformedInput(jnci_UTF8Charset_newEncoder($this.$charset), jnc_CodingErrorAction_REPLACE), jnc_CodingErrorAction_REPLACE);
    while (true) {
        $overflow = jnc_CoderResult_isOverflow(jnc_CharsetEncoder_encode0($encoder, $src, $dest, 1));
        ji_PrintStream_write($this, $destBytes, 0, $dest.$position);
        jn_Buffer_clear($dest);
        if (!$overflow)
            break;
    }
    while (true) {
        $overflow = jnc_CoderResult_isOverflow(jnc_CharsetEncoder_flush($encoder, $dest));
        ji_PrintStream_write($this, $destBytes, 0, $dest.$position);
        jn_Buffer_clear($dest);
        if (!$overflow)
            break;
    }
}
function ji_PrintStream_print1($this, $c) {
    $this.$buffer2.data[0] = $c;
    ji_PrintStream_print0($this, $this.$buffer2, 0, 1);
}
function ji_PrintStream_print($this, $s) {
    jl_AbstractStringBuilder_append($this.$sb, $s);
    ji_PrintStream_printSB($this);
}
function ji_PrintStream_println($this, $s) {
    var var$2;
    var$2 = $this.$sb;
    jl_AbstractStringBuilder_append(var$2, $s);
    jl_AbstractStringBuilder_append0(var$2, 10);
    ji_PrintStream_printSB($this);
}
function ji_PrintStream_println1($this, $s) {
    var var$2;
    var$2 = $this.$sb;
    jl_AbstractStringBuilder_append1(var$2, $s);
    jl_AbstractStringBuilder_append0(var$2, 10);
    ji_PrintStream_printSB($this);
}
function ji_PrintStream_println0($this) {
    ji_PrintStream_print1($this, 10);
}
function ji_PrintStream_printSB($this) {
    var $buffer;
    $buffer = $this.$sb.$length0 <= $this.$buffer2.data.length ? $this.$buffer2 : $rt_createCharArray($this.$sb.$length0);
    jl_StringBuilder_getChars($this.$sb, 0, $this.$sb.$length0, $buffer, 0);
    ji_PrintStream_print0($this, $buffer, 0, $this.$sb.$length0);
    $this.$sb.$length0 = 0;
}
function jl_ConsoleOutputStreamStdout() {
    ji_OutputStream.call(this);
}
function jl_ConsoleOutputStreamStdout__init_0() {
    var var_0 = new jl_ConsoleOutputStreamStdout();
    jl_ConsoleOutputStreamStdout__init_(var_0);
    return var_0;
}
function jl_ConsoleOutputStreamStdout__init_($this) {
    return;
}
function jl_ConsoleOutputStreamStdout_write($this, $b) {
    $rt_putStdout($b);
}
function nms_Timer() {
    var a = this; jl_Object.call(a);
    a.$ticksPerSecond = 0.0;
    a.$lastHRTime = 0.0;
    a.$elapsedTicks = 0;
    a.$renderPartialTicks = 0.0;
    a.$timerSpeed = 0.0;
    a.$elapsedPartialTicks = 0.0;
    a.$lastSyncSysClock = Long_ZERO;
    a.$lastSyncHRClock = Long_ZERO;
    a.$field_74285_i = Long_ZERO;
    a.$timeSyncAdjustment = 0.0;
}
function nms_Timer_updateTimer($this) {
    var $var1, $var3, $var5, $var7, $var9, $var11, $var13;
    $var1 = jl_System_currentTimeMillis();
    $var3 = Long_sub($var1, $this.$lastSyncSysClock);
    $var5 = Long_div(jl_System_nanoTime(), Long_fromInt(1000000));
    $var7 = Long_toNumber($var5) / 1000.0;
    if (Long_le($var3, Long_fromInt(1000)) && Long_ge($var3, Long_ZERO)) {
        $this.$field_74285_i = Long_add($this.$field_74285_i, $var3);
        if (Long_gt($this.$field_74285_i, Long_fromInt(1000))) {
            $var9 = Long_sub($var5, $this.$lastSyncHRClock);
            $var11 = Long_toNumber($this.$field_74285_i) / Long_toNumber($var9);
            $this.$timeSyncAdjustment = $this.$timeSyncAdjustment + ($var11 - $this.$timeSyncAdjustment) * 0.20000000298023224;
            $this.$lastSyncHRClock = $var5;
            $this.$field_74285_i = Long_ZERO;
        }
        if (Long_lt($this.$field_74285_i, Long_ZERO))
            $this.$lastSyncHRClock = $var5;
    } else
        $this.$lastHRTime = $var7;
    $this.$lastSyncSysClock = $var1;
    $var13 = ($var7 - $this.$lastHRTime) * $this.$timeSyncAdjustment;
    $this.$lastHRTime = $var7;
    if ($var13 < 0.0)
        $var13 = 0.0;
    if ($var13 > 1.0)
        $var13 = 1.0;
    $this.$elapsedPartialTicks = $this.$elapsedPartialTicks + $var13 * $this.$timerSpeed * $this.$ticksPerSecond;
    $this.$elapsedTicks = $this.$elapsedPartialTicks | 0;
    $this.$elapsedPartialTicks = $this.$elapsedPartialTicks - $this.$elapsedTicks;
    if ($this.$elapsedTicks > 10)
        $this.$elapsedTicks = 10;
    $this.$renderPartialTicks = $this.$elapsedPartialTicks;
}
function nms_SoundManager() {
    var a = this; jl_Object.call(a);
    a.$options0 = null;
    a.$soundevents = null;
    a.$queuedsoundevents = null;
    a.$sounddefinitions = null;
    a.$soundrandom = null;
    a.$resetTimer = 0;
    a.$titleMusic = 0;
    a.$titleMusicVol = 0.0;
}
function nms_SoundManager__init_0() {
    var var_0 = new nms_SoundManager();
    nms_SoundManager__init_(var_0);
    return var_0;
}
function nms_SoundManager__init_($this) {
    $this.$resetTimer = 0;
    $this.$titleMusic = (-1);
    $this.$titleMusicVol = 0.5;
    $this.$soundevents = ju_ArrayList__init_0();
    $this.$queuedsoundevents = ju_ArrayList__init_0();
    $this.$sounddefinitions = null;
    $this.$soundrandom = nle_EaglercraftRandom__init_0();
}
function nms_SoundManager_loadSoundSettings($this, $par1GameSettings) {
    var $file, $l, $c, $i, $cc, $e, $$je;
    a: {
        $this.$options0 = $par1GameSettings;
        if ($this.$sounddefinitions === null) {
            $this.$sounddefinitions = ju_HashMap__init_();
            try {
                $file = nms_CompressedStreamTools_readUncompressed(nlea_EaglerAdapterImpl2_loadResourceBytes($rt_s(399)));
                nlea_EaglerAdapterImpl2_setPlaybackOffsetDelay(!nms_NBTTagCompound_hasKey($file, $rt_s(400)) ? 0.029999999329447746 : nms_NBTTagCompound_getFloat($file, $rt_s(400)));
                $l = nms_NBTTagCompound_getTagList($file, $rt_s(401));
                $c = nms_NBTTagList_tagCount($l);
                $i = 0;
                while ($i < $c) {
                    $cc = nms_NBTTagList_tagAt($l, $i);
                    ju_HashMap_put($this.$sounddefinitions, nms_NBTTagCompound_getString($cc, $rt_s(402)), jl_Integer_valueOf(nms_NBTTagCompound_getByte($cc, $rt_s(403)) & 255));
                    $i = $i + 1 | 0;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($e);
        }
    }
}
function nms_SoundManager_onSoundOptionsChanged($this) {
    return;
}
function nms_SoundManager_playRandomMusicIfReady($this) {
    return;
}
function nms_SoundManager_setListener($this, $par1EntityLiving, $par2) {
    var $x, $y, $pitch, $z, $yaw, $$je;
    a: {
        if ($par1EntityLiving === null)
            nlea_EaglerAdapterImpl2_setListenerPos(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
        else {
            $x = $par1EntityLiving.$prevPosX;
            $y = $par1EntityLiving.$posX - $par1EntityLiving.$prevPosX;
            $pitch = $par2;
            $x = $x + $y * $pitch;
            $y = $par1EntityLiving.$prevPosY + ($par1EntityLiving.$posY - $par1EntityLiving.$prevPosY) * $pitch;
            $z = $par1EntityLiving.$prevPosZ + ($par1EntityLiving.$posZ - $par1EntityLiving.$prevPosZ) * $pitch;
            $pitch = $par1EntityLiving.$prevRotationPitch + ($par1EntityLiving.$rotationPitch - $par1EntityLiving.$prevRotationPitch) * $par2;
            $yaw = $par1EntityLiving.$prevRotationYaw + ($par1EntityLiving.$rotationYaw - $par1EntityLiving.$prevRotationYaw) * $par2;
            try {
                nlea_EaglerAdapterImpl2_setListenerPos($x, $y, $z, $par1EntityLiving.$motionX, $par1EntityLiving.$motionY, $par1EntityLiving.$motionZ, $pitch, $yaw);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
            ji_PrintStream_println(jl_System_err(), $rt_s(404));
        }
    }
}
function nms_SoundManager_stopAllSounds($this) {
    var var$1;
    var$1 = ju_AbstractList_iterator($this.$soundevents);
    while (ju_AbstractList$1_hasNext(var$1)) {
        nlea_EaglerAdapterImpl2_endSound(ju_AbstractList$1_next(var$1).$id2);
    }
}
function nms_SoundManager_playStreaming($this, $par1Str, $par2, $par3, $par4) {
    return;
}
function nms_SoundManager_updateSoundLocation($this, $par1Entity) {
    var var$2, $e;
    var$2 = ju_AbstractList_iterator($this.$soundevents);
    while (ju_AbstractList$1_hasNext(var$2)) {
        $e = ju_AbstractList$1_next(var$2);
        if (nms_Entity_equals($e.$e, $par1Entity))
            nlea_EaglerAdapterImpl2_moveSound($e.$id2, $par1Entity.$posX, $par1Entity.$posY, $par1Entity.$posZ, $par1Entity.$motionX, $par1Entity.$motionY, $par1Entity.$motionZ);
    }
}
function nms_SoundManager_updateSoundLocation0($this, $par1Entity, $par2Entity) {
    var var$3, $e;
    var$3 = ju_AbstractList_iterator($this.$soundevents);
    while (ju_AbstractList$1_hasNext(var$3)) {
        $e = ju_AbstractList$1_next(var$3);
        if (nms_Entity_equals($e.$e, $par1Entity))
            nlea_EaglerAdapterImpl2_moveSound($e.$id2, $par2Entity.$posX, $par2Entity.$posY, $par2Entity.$posZ, $par2Entity.$motionX, $par2Entity.$motionY, $par2Entity.$motionZ);
    }
}
function nms_SoundManager_isEntitySoundPlaying($this, $par1Entity) {
    var var$2;
    var$2 = ju_AbstractList_iterator($this.$soundevents);
    while (ju_AbstractList$1_hasNext(var$2)) {
        if (nms_Entity_equals(ju_AbstractList$1_next(var$2).$e, $par1Entity))
            return 1;
    }
    return 0;
}
function nms_SoundManager_stopEntitySound($this, $par1Entity) {
    var var$2, $e;
    var$2 = ju_AbstractList_iterator($this.$soundevents);
    while (ju_AbstractList$1_hasNext(var$2)) {
        $e = ju_AbstractList$1_next(var$2);
        if (nms_Entity_equals($e.$e, $par1Entity))
            nlea_EaglerAdapterImpl2_endSound($e.$id2);
    }
}
function nms_SoundManager_setEntitySoundVolume($this, $par1Entity, $par2) {
    var var$3, var$4, $e, var$6, var$7, var$8, var$9;
    var$3 = ju_AbstractList_iterator($this.$soundevents);
    var$4 = $par2 * 16.0 + 0.10000000149011612;
    while (ju_AbstractList$1_hasNext(var$3)) {
        $e = ju_AbstractList$1_next(var$3);
        if (nms_Entity_equals($e.$e, $par1Entity)) {
            var$6 = $e.$id2;
            nlea_EaglerAdapterImpl2_$callClinit();
            var$7 = ju_HashMap_get(nlea_EaglerAdapterImpl2_activeSoundEffects, jl_Integer_valueOf(var$6));
            if (var$7 !== null) {
                var$8 = var$7.$gain.gain;
                $e = $par2;
                var$8.value = $e;
                if (var$7.$panner !== null) {
                    var$9 = var$7.$panner;
                    var$8 = var$4;
                    var$9.maxDistance = var$8;
                }
            }
        }
    }
}
function nms_SoundManager_setEntitySoundPitch($this, $par1Entity, $par2) {
    var var$3, $e, var$5, var$6;
    var$3 = ju_AbstractList_iterator($this.$soundevents);
    while (ju_AbstractList$1_hasNext(var$3)) {
        $e = ju_AbstractList$1_next(var$3);
        if (nms_Entity_equals($e.$e, $par1Entity)) {
            var$5 = $e.$id2;
            nlea_EaglerAdapterImpl2_$callClinit();
            var$6 = ju_HashMap_get(nlea_EaglerAdapterImpl2_activeSoundEffects, jl_Integer_valueOf(var$5));
            if (var$6 !== null) {
                var$6 = var$6.$source.playbackRate;
                $e = $par2;
                var$6.value = $e;
            }
        }
    }
}
function nms_SoundManager_playEntitySound($this, $par1Str, $par2Entity, $par3, $par4, $par5) {
    var $ct, $v, $c, $path, $r, var$11, var$12, $e, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$e = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$r = $thread.pop();$path = $thread.pop();$c = $thread.pop();$v = $thread.pop();$ct = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2Entity = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ct = ju_AbstractList_iterator($this.$soundevents);
        while (true) {
            if (!ju_AbstractList$1_hasNext($ct)) {
                $v = $par3 * $this.$options0.$soundVolume;
                if ($v > 0.0) {
                    $ct = ju_HashMap_get($this.$sounddefinitions, $par1Str);
                    if ($ct !== null) {
                        $c = $ct.$value;
                        if ($c <= 1) {
                            $ct = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($ct);
                            jl_AbstractStringBuilder_append($ct, $rt_s(405));
                            jl_AbstractStringBuilder_append($ct, jl_String_replace($par1Str, 46, 47));
                            jl_AbstractStringBuilder_append($ct, $rt_s(406));
                            $path = jl_AbstractStringBuilder_toString($ct);
                        } else {
                            $r = nle_EaglercraftRandom_nextInt($this.$soundrandom, $c) + 1 | 0;
                            $ct = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($ct);
                            jl_AbstractStringBuilder_append($ct, $rt_s(405));
                            jl_AbstractStringBuilder_append($ct, jl_String_replace($par1Str, 46, 47));
                            jl_AbstractStringBuilder_append2($ct, $r);
                            jl_AbstractStringBuilder_append($ct, $rt_s(406));
                            $path = jl_AbstractStringBuilder_toString($ct);
                        }
                        $par1Str = $this.$soundevents;
                        $ct = new nms_SoundManager$EntitySoundEvent;
                        var$11 = 0.0;
                        $par3 = 0.0;
                        var$12 = 0.0;
                        $ptr = 1;
                        continue main;
                    }
                    $par2Entity = jl_System_err();
                    $ct = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($ct);
                    jl_AbstractStringBuilder_append($ct, $rt_s(407));
                    jl_AbstractStringBuilder_append($ct, $par1Str);
                    ji_PrintStream_println($par2Entity, jl_AbstractStringBuilder_toString($ct));
                }
                return;
            }
            $e = ju_AbstractList$1_next($ct);
            if (nms_Entity_equals($e.$e, $par2Entity))
                break;
        }
        nlea_EaglerAdapterImpl2_moveSound($e.$id2, $par2Entity.$posX, $par2Entity.$posY, $par2Entity.$posZ, $par2Entity.$motionX, $par2Entity.$motionY, $par2Entity.$motionZ);
        return;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_beginPlayback($path, var$11, $par3, var$12, $v, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        $ct.$e = $par2Entity;
        $ct.$id2 = $par5;
        ju_ArrayList_add($par1Str, $ct);
        nlea_EaglerAdapterImpl2_moveSound($par5, $par2Entity.$posX, $par2Entity.$posY, $par2Entity.$posZ, $par2Entity.$motionX, $par2Entity.$motionY, $par2Entity.$motionZ);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2Entity, $par3, $par4, $par5, $ct, $v, $c, $path, $r, var$11, var$12, $e, $ptr);
}
function nms_SoundManager_playSound($this, $par1Str, $par2, $par3, $par4, $par5, $par6) {
    var $v, $ct, $c, $path, $r, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$r = $thread.pop();$path = $thread.pop();$c = $thread.pop();$ct = $thread.pop();$v = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $v = $par5 * $this.$options0.$soundVolume;
        if ($v > 0.0) {
            $ct = ju_HashMap_get($this.$sounddefinitions, $par1Str);
            if ($ct !== null) {
                $c = $ct.$value;
                if ($c <= 1) {
                    $path = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($path);
                    jl_AbstractStringBuilder_append($path, $rt_s(405));
                    jl_AbstractStringBuilder_append($path, jl_String_replace($par1Str, 46, 47));
                    jl_AbstractStringBuilder_append($path, $rt_s(406));
                    $path = jl_AbstractStringBuilder_toString($path);
                } else {
                    $r = nle_EaglercraftRandom_nextInt($this.$soundrandom, $c) + 1 | 0;
                    $path = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($path);
                    jl_AbstractStringBuilder_append($path, $rt_s(405));
                    jl_AbstractStringBuilder_append($path, jl_String_replace($par1Str, 46, 47));
                    jl_AbstractStringBuilder_append2($path, $r);
                    jl_AbstractStringBuilder_append($path, $rt_s(406));
                    $path = jl_AbstractStringBuilder_toString($path);
                }
                $ptr = 1;
                continue main;
            }
            $path = jl_System_err();
            $ct = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($ct);
            jl_AbstractStringBuilder_append($ct, $rt_s(407));
            jl_AbstractStringBuilder_append($ct, $par1Str);
            ji_PrintStream_println($path, jl_AbstractStringBuilder_toString($ct));
        }
        return;
    case 1:
        nlea_EaglerAdapterImpl2_beginPlayback($path, $par2, $par3, $par4, $v, $par6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par3, $par4, $par5, $par6, $v, $ct, $c, $path, $r, $ptr);
}
function nms_SoundManager_playSoundFX($this, $par1Str, $par2, $par3) {
    var $v, $ct, $c, $path, $r, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$r = $thread.pop();$path = $thread.pop();$c = $thread.pop();$ct = $thread.pop();$v = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $v = $par3 * $this.$options0.$soundVolume;
        if ($v > 0.0) {
            $ct = ju_HashMap_get($this.$sounddefinitions, $par1Str);
            if ($ct !== null) {
                $c = $ct.$value;
                if ($c <= 1) {
                    $path = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($path);
                    jl_AbstractStringBuilder_append($path, $rt_s(405));
                    jl_AbstractStringBuilder_append($path, jl_String_replace($par1Str, 46, 47));
                    jl_AbstractStringBuilder_append($path, $rt_s(406));
                    $path = jl_AbstractStringBuilder_toString($path);
                } else {
                    $r = nle_EaglercraftRandom_nextInt($this.$soundrandom, $c) + 1 | 0;
                    $path = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($path);
                    jl_AbstractStringBuilder_append($path, $rt_s(405));
                    jl_AbstractStringBuilder_append($path, jl_String_replace($par1Str, 46, 47));
                    jl_AbstractStringBuilder_append2($path, $r);
                    jl_AbstractStringBuilder_append($path, $rt_s(406));
                    $path = jl_AbstractStringBuilder_toString($path);
                }
                $ptr = 1;
                continue main;
            }
            $path = jl_System_err();
            $ct = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($ct);
            jl_AbstractStringBuilder_append($ct, $rt_s(407));
            jl_AbstractStringBuilder_append($ct, $par1Str);
            ji_PrintStream_println($path, jl_AbstractStringBuilder_toString($ct));
        }
        return;
    case 1:
        nlea_EaglerAdapterImpl2_beginPlaybackStatic($path, $v, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par3, $v, $ct, $c, $path, $r, $ptr);
}
function nms_SoundManager_resumeAllSounds($this) {
    return;
}
function nms_SoundManager_func_92071_g($this) {
    var $e, $itr, $e2, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$e2 = $thread.pop();$itr = $thread.pop();$e = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            $this.$resetTimer = $this.$resetTimer + 1 | 0;
            if (!($this.$resetTimer % 20 | 0)) {
                $e = $this.$soundevents;
                $this.$soundevents = ju_ArrayList__init_0();
                $itr = ju_AbstractList_iterator($e);
                while (true) {
                    if (!ju_AbstractList$1_hasNext($itr))
                        break a;
                    $e2 = ju_AbstractList$1_next($itr);
                    if (nlea_EaglerAdapterImpl2_isPlaying($e2.$id2))
                        ju_ArrayList_add($this.$soundevents, $e2);
                }
            }
        }
        $itr = ju_AbstractList_iterator($this.$queuedsoundevents);
        while (ju_AbstractList$1_hasNext($itr)) {
            $e = ju_AbstractList$1_next($itr);
            var$4 = $e.$timer0 - 1 | 0;
            $e.$timer0 = var$4;
            if (var$4 <= 0) {
                $e2 = $e.$sound;
                var$5 = $e.$x0;
                var$6 = $e.$y0;
                var$7 = $e.$z0;
                var$8 = $e.$volume;
                var$9 = $e.$pitch;
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        nms_SoundManager_playSound($this, $e2, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        ju_AbstractList$1_remove($itr);
        while (ju_AbstractList$1_hasNext($itr)) {
            $e = ju_AbstractList$1_next($itr);
            var$4 = $e.$timer0 - 1 | 0;
            $e.$timer0 = var$4;
            if (var$4 > 0)
                continue;
            else {
                $e2 = $e.$sound;
                var$5 = $e.$x0;
                var$6 = $e.$y0;
                var$7 = $e.$z0;
                var$8 = $e.$volume;
                var$9 = $e.$pitch;
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $e, $itr, $e2, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
}
function nms_SoundManager_func_92070_a($this, $par1Str, $par2, $par3, $par4, $par5, $par6, $par7) {
    var var$8, var$9;
    var$8 = $this.$queuedsoundevents;
    var$9 = new nms_SoundManager$QueuedSoundEvent;
    var$9.$sound = $par1Str;
    var$9.$x0 = $par2;
    var$9.$y0 = $par3;
    var$9.$z0 = $par4;
    var$9.$volume = $par5;
    var$9.$pitch = $par6;
    var$9.$timer0 = $par7;
    ju_ArrayList_add(var$8, var$9);
}
function nms_SoundManager_playTheTitleMusic($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            nleg_EaglerAdapterGL30_$callClinit();
            if (nleg_EaglerAdapterGL30_isWebGL) {
                if (!($this.$titleMusic != (-1) && (window.playingmusic() ? 1 : 0))) {
                    $this.$titleMusic = 1;
                    window.startmusic($this.$options0.$musicVolume);
                } else if ($this.$titleMusic == 1 && (window.playingmusic() ? 1 : 0) && $this.$titleMusicVol !== $this.$options0.$musicVolume) {
                    $this.$titleMusicVol = $this.$options0.$musicVolume;
                    window.volmusic($this.$titleMusicVol);
                }
            } else {
                if ($this.$titleMusic == (-1))
                    break a;
                if (!nlea_EaglerAdapterImpl2_isPlaying($this.$titleMusic))
                    break a;
            }
            return;
        }
        var$1 = $rt_s(408);
        var$2 = $this.$options0.$musicVolume;
        var$3 = 1.0;
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_beginPlaybackStatic(var$1, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $tmp;
        $this.$titleMusic = var$4;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
}
function nms_SoundManager_stopTheTitleMusic($this) {
    nleg_EaglerAdapterGL30_$callClinit();
    if (nleg_EaglerAdapterGL30_isWebGL) {
        if (window.playingmusic() ? 1 : 0)
            window.stopmusic();
    } else if (nlea_EaglerAdapterImpl2_isPlaying($this.$titleMusic))
        nlea_EaglerAdapterImpl2_endSound($this.$titleMusic);
    $this.$titleMusic = (-1);
}
function nms_Profiler() {
    var a = this; jl_Object.call(a);
    a.$sectionList = null;
    a.$timestampList = null;
    a.$profilingEnabled = 0;
    a.$profilingSection = null;
    a.$profilingMap = null;
}
function nms_Profiler__init_0() {
    var var_0 = new nms_Profiler();
    nms_Profiler__init_(var_0);
    return var_0;
}
function nms_Profiler__init_($this) {
    $this.$sectionList = ju_ArrayList__init_0();
    $this.$timestampList = ju_ArrayList__init_0();
    $this.$profilingEnabled = 0;
    $this.$profilingSection = $rt_s(36);
    $this.$profilingMap = ju_HashMap__init_();
}
function nms_Profiler_clearProfiling($this) {
    ju_HashMap_clear($this.$profilingMap);
    $this.$profilingSection = $rt_s(36);
    ju_ArrayList_clear($this.$sectionList);
}
function nms_Profiler_startSection($this, $par1Str) {
    var var$2;
    if ($this.$profilingEnabled) {
        if (jl_String_length($this.$profilingSection) > 0) {
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            jl_AbstractStringBuilder_append(var$2, $this.$profilingSection);
            jl_AbstractStringBuilder_append(var$2, $rt_s(339));
            $this.$profilingSection = jl_AbstractStringBuilder_toString(var$2);
        }
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append(var$2, $this.$profilingSection);
        jl_AbstractStringBuilder_append(var$2, $par1Str);
        $this.$profilingSection = jl_AbstractStringBuilder_toString(var$2);
        ju_ArrayList_add($this.$sectionList, $this.$profilingSection);
        ju_ArrayList_add($this.$timestampList, jl_Long_valueOf(jl_System_nanoTime()));
    }
}
function nms_Profiler_endSection($this) {
    var $var1, $var3, $var5, var$4, var$5;
    if ($this.$profilingEnabled) {
        $var1 = jl_System_nanoTime();
        $var3 = ju_ArrayList_remove($this.$timestampList, $this.$timestampList.$size - 1 | 0).$value4;
        ju_ArrayList_remove($this.$sectionList, $this.$sectionList.$size - 1 | 0);
        $var5 = Long_sub($var1, $var3);
        if (!ju_HashMap_containsKey($this.$profilingMap, $this.$profilingSection))
            ju_HashMap_putImpl($this.$profilingMap, $this.$profilingSection, jl_Long_valueOf($var5));
        else
            ju_HashMap_putImpl($this.$profilingMap, $this.$profilingSection, jl_Long_valueOf(Long_add(ju_HashMap_get($this.$profilingMap, $this.$profilingSection).$value4, $var5)));
        if (Long_gt($var5, Long_fromInt(100000000))) {
            var$4 = jl_System_out();
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append(var$5, $rt_s(409));
            jl_AbstractStringBuilder_append(var$5, $this.$profilingSection);
            jl_AbstractStringBuilder_append(var$5, $rt_s(410));
            var$5 = jl_StringBuilder_append4(var$5, Long_toNumber($var5) / 1000000.0);
            jl_AbstractStringBuilder_append(var$5, $rt_s(411));
            ji_PrintStream_println(var$4, jl_AbstractStringBuilder_toString(var$5));
        }
        $this.$profilingSection = ju_AbstractCollection_isEmpty($this.$sectionList) ? $rt_s(36) : ju_ArrayList_get($this.$sectionList, $this.$sectionList.$size - 1 | 0);
    }
}
function nms_Profiler_getProfilingData($this, $par1Str) {
    var $var3, $var5, $var7, $var12, $var8, $var10, $var11, $var20, $var21, $var17, $var15, var$13;
    if (!$this.$profilingEnabled)
        return null;
    $var3 = !ju_HashMap_containsKey($this.$profilingMap, $rt_s(301)) ? Long_ZERO : ju_HashMap_get($this.$profilingMap, $rt_s(301)).$value4;
    $var5 = !ju_HashMap_containsKey($this.$profilingMap, $par1Str) ? Long_fromInt(-1) : ju_HashMap_get($this.$profilingMap, $par1Str).$value4;
    $var7 = ju_ArrayList__init_0();
    if (jl_String_length($par1Str) > 0) {
        $var12 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var12);
        jl_AbstractStringBuilder_append($var12, $par1Str);
        jl_AbstractStringBuilder_append($var12, $rt_s(339));
        $par1Str = jl_AbstractStringBuilder_toString($var12);
    }
    $var8 = Long_ZERO;
    $var10 = ju_HashMap_keySet($this.$profilingMap).$iterator();
    while ($var10.$hasNext()) {
        $var11 = $var10.$next();
        if (jl_String_length($var11) > jl_String_length($par1Str) && jl_String_startsWith0($var11, $par1Str) && jl_String_indexOf1($var11, $rt_s(339), jl_String_length($par1Str) + 1 | 0) < 0)
            $var8 = Long_add($var8, ju_HashMap_get($this.$profilingMap, $var11).$value4);
    }
    $var20 = Long_toNumber($var8);
    if (Long_ge($var8, $var5))
        $var5 = $var8;
    if (Long_lt($var3, $var5))
        $var3 = $var5;
    $var21 = ju_HashMap_keySet($this.$profilingMap).$iterator();
    while ($var21.$hasNext()) {
        $var12 = $var21.$next();
        if (jl_String_length($var12) <= jl_String_length($par1Str))
            continue;
        if (!jl_String_startsWith0($var12, $par1Str))
            continue;
        if (jl_String_indexOf1($var12, $rt_s(339), jl_String_length($par1Str) + 1 | 0) >= 0)
            continue;
        $var17 = Long_toNumber(ju_HashMap_get($this.$profilingMap, $var12).$value4) * 100.0;
        $var15 = $var17 / Long_toNumber($var5);
        $var17 = $var17 / Long_toNumber($var3);
        ju_ArrayList_add($var7, nms_ProfilerResult__init_(jl_String_substring($var12, jl_String_length($par1Str)), $var15, $var17));
    }
    $var10 = ju_HashMap_keySet($this.$profilingMap).$iterator();
    while ($var10.$hasNext()) {
        $var12 = $var10.$next();
        ju_HashMap_putImpl($this.$profilingMap, $var12, jl_Long_valueOf(Long_div(Long_mul(ju_HashMap_get($this.$profilingMap, $var12).$value4, Long_fromInt(999)), Long_fromInt(1000))));
    }
    var$13 = Long_toNumber($var5);
    if (var$13 > $var20) {
        $var12 = new nms_ProfilerResult;
        $var17 = (var$13 - $var20) * 100.0;
        nms_ProfilerResult__init_0($var12, $rt_s(338), $var17 / Long_toNumber($var5), $var17 / Long_toNumber($var3));
        ju_ArrayList_add($var7, $var12);
    }
    ju_Collections_sort($var7, ju_Collections_naturalOrder);
    ju_ArrayList_add0($var7, 0, nms_ProfilerResult__init_($par1Str, 100.0, Long_toNumber($var5) * 100.0 / Long_toNumber($var3)));
    return $var7;
}
function nms_Profiler_endStartSection($this, $par1Str) {
    nms_Profiler_endSection($this);
    nms_Profiler_startSection($this, $par1Str);
}
function nms_Packet() {
    var a = this; jl_Object.call(a);
    a.$creationTimeMillis = Long_ZERO;
    a.$isChunkDataPacket = 0;
}
var nms_Packet_packetIdToClassMap = null;
var nms_Packet_packetClassToIdMap = null;
var nms_Packet_clientPacketIdList = null;
var nms_Packet_serverPacketIdList = null;
var nms_Packet_receivedID = Long_ZERO;
var nms_Packet_receivedSize = Long_ZERO;
var nms_Packet_sentID = Long_ZERO;
var nms_Packet_sentSize = Long_ZERO;
function nms_Packet_$callClinit() {
    nms_Packet_$callClinit = $rt_eraseClinit(nms_Packet);
    nms_Packet__clinit_();
}
function nms_Packet__init_() {
    var var_0 = new nms_Packet();
    nms_Packet__init_0(var_0);
    return var_0;
}
function nms_Packet__init_0($this) {
    nms_Packet_$callClinit();
    $this.$creationTimeMillis = jl_System_currentTimeMillis();
    $this.$isChunkDataPacket = 0;
}
function nms_Packet_addIdClassMapping($par0, $par1, $par2, $par3Class) {
    var var$5, var$6;
    nms_Packet_$callClinit();
    if (nms_IntHashMap_containsItem(nms_Packet_packetIdToClassMap, $par0)) {
        $par3Class = new jl_IllegalArgumentException;
        var$5 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$5);
        jl_AbstractStringBuilder_append(var$5, $rt_s(412));
        jl_AbstractStringBuilder_append2(var$5, $par0);
        jl_Throwable__init_($par3Class, jl_AbstractStringBuilder_toString(var$5));
        $rt_throw($par3Class);
    }
    if (ju_HashMap_containsKey(nms_Packet_packetClassToIdMap, $par3Class)) {
        var$5 = new jl_IllegalArgumentException;
        var$6 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$6);
        jl_AbstractStringBuilder_append(var$6, $rt_s(413));
        jl_AbstractStringBuilder_append1(var$6, $par3Class);
        jl_Throwable__init_(var$5, jl_AbstractStringBuilder_toString(var$6));
        $rt_throw(var$5);
    }
    nms_IntHashMap_addKey(nms_Packet_packetIdToClassMap, $par0, $par3Class);
    ju_HashMap_putImpl(nms_Packet_packetClassToIdMap, $par3Class, jl_Integer_valueOf($par0));
    if ($par1)
        ju_HashSet_add(nms_Packet_clientPacketIdList, jl_Integer_valueOf($par0));
    if ($par2)
        ju_HashSet_add(nms_Packet_serverPacketIdList, jl_Integer_valueOf($par0));
}
function nms_Packet_writeByteArray($par0DataOutputStream, $par1ArrayOfByte) {
    nms_Packet_$callClinit();
    ji_DataOutputStream_writeShort($par0DataOutputStream, $par1ArrayOfByte.data.length);
    ji_OutputStream_write($par0DataOutputStream, $par1ArrayOfByte);
}
function nms_Packet_readBytesFromStream($par0DataInputStream) {
    var $var1, $var2, var$4;
    nms_Packet_$callClinit();
    $var1 = ji_DataInputStream_readShort($par0DataInputStream);
    if ($var1 >= 0) {
        $var2 = $rt_createByteArray($var1);
        ji_DataInputStream_readFully($par0DataInputStream, $var2);
        return $var2;
    }
    var$4 = new ji_IOException;
    jl_Throwable__init_(var$4, $rt_s(414));
    $rt_throw(var$4);
}
function nms_Packet_getPacketId($this) {
    return ju_HashMap_get(nms_Packet_packetClassToIdMap, jl_Object_getClass($this)).$value;
}
function nms_Packet_readPacket($par1DataInputStream, $par2) {
    var $var9, var$4, var$5, var$6, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var9 = $thread.pop();$par2 = $thread.pop();$par1DataInputStream = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Packet_$callClinit();
        $var9 = ji_FilterInputStream_read($par1DataInputStream);
        if ($var9 == (-1))
            return null;
        a: {
            if (!($par2 && !ju_HashSet_contains(nms_Packet_serverPacketIdList, jl_Integer_valueOf($var9)))) {
                if ($par2)
                    break a;
                if (ju_HashSet_contains(nms_Packet_clientPacketIdList, jl_Integer_valueOf($var9)))
                    break a;
            }
            $par1DataInputStream = new ji_IOException;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, $rt_s(415));
            jl_AbstractStringBuilder_append2(var$4, $var9);
            jl_Throwable__init_($par1DataInputStream, jl_AbstractStringBuilder_toString(var$4));
            $rt_throw($par1DataInputStream);
        }
        b: {
            try {
                var$4 = nms_IntHashMap_lookup(nms_Packet_packetIdToClassMap, $var9);
                if (var$4 === null) {
                    var$4 = null;
                    break b;
                }
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    var$4 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace(var$4);
            var$4 = jl_System_err();
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append(var$5, $rt_s(416));
            jl_AbstractStringBuilder_append2(var$5, $var9);
            ji_PrintStream_println(var$4, jl_AbstractStringBuilder_toString(var$5));
            var$4 = null;
        }
        if (var$4 === null) {
            $par1DataInputStream = new ji_IOException;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, $rt_s(415));
            jl_AbstractStringBuilder_append2(var$4, $var9);
            jl_Throwable__init_($par1DataInputStream, jl_AbstractStringBuilder_toString(var$4));
            $rt_throw($par1DataInputStream);
        }
        var$4.$readPacketData($par1DataInputStream);
        nms_Packet_receivedID = Long_add(nms_Packet_receivedID, Long_fromInt(1));
        nms_Packet_receivedSize = Long_add(nms_Packet_receivedSize, Long_fromInt(var$4.$getPacketSize()));
        var$6 = Long_fromInt(var$4.$getPacketSize());
        if (!nms_PacketCount_allowCounting) {
            nms_Packet_receivedID = Long_add(nms_Packet_receivedID, Long_fromInt(1));
            nms_Packet_receivedSize = Long_add(nms_Packet_receivedSize, Long_fromInt(var$4.$getPacketSize()));
            return var$4;
        }
        $par1DataInputStream = nms_PacketCount_lock;
        $ptr = 2;
        continue main;
    case 1:
        c: {
            try {
                $tmp = jl_Class_newInstance(var$4);
                if ($rt_suspending()) {
                    break main;
                }
                var$4 = $tmp;
                var$4 = var$4;
                break c;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    var$4 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace(var$4);
            var$4 = jl_System_err();
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append(var$5, $rt_s(416));
            jl_AbstractStringBuilder_append2(var$5, $var9);
            ji_PrintStream_println(var$4, jl_AbstractStringBuilder_toString(var$5));
            var$4 = null;
        }
        if (var$4 === null) {
            $par1DataInputStream = new ji_IOException;
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, $rt_s(415));
            jl_AbstractStringBuilder_append2(var$4, $var9);
            jl_Throwable__init_($par1DataInputStream, jl_AbstractStringBuilder_toString(var$4));
            $rt_throw($par1DataInputStream);
        }
        var$4.$readPacketData($par1DataInputStream);
        nms_Packet_receivedID = Long_add(nms_Packet_receivedID, Long_fromInt(1));
        nms_Packet_receivedSize = Long_add(nms_Packet_receivedSize, Long_fromInt(var$4.$getPacketSize()));
        var$6 = Long_fromInt(var$4.$getPacketSize());
        if (!nms_PacketCount_allowCounting) {
            nms_Packet_receivedID = Long_add(nms_Packet_receivedID, Long_fromInt(1));
            nms_Packet_receivedSize = Long_add(nms_Packet_receivedSize, Long_fromInt(var$4.$getPacketSize()));
            return var$4;
        }
        $par1DataInputStream = nms_PacketCount_lock;
        $ptr = 2;
    case 2:
        jl_Object_monitorEnter($par1DataInputStream);
        if ($rt_suspending()) {
            break main;
        }
        c: {
            try {
                if (!ju_HashMap_containsKey(nms_PacketCount_packetCountForID, jl_Integer_valueOf($var9))) {
                    ju_HashMap_put(nms_PacketCount_packetCountForID, jl_Integer_valueOf($var9), jl_Long_valueOf(Long_fromInt(1)));
                    ju_HashMap_put(nms_PacketCount_sizeCountForID, jl_Integer_valueOf($var9), jl_Long_valueOf(var$6));
                } else {
                    ju_HashMap_put(nms_PacketCount_packetCountForID, jl_Integer_valueOf($var9), jl_Long_valueOf(Long_add(jl_Long_longValue(ju_HashMap_get(nms_PacketCount_packetCountForID, jl_Integer_valueOf($var9))), Long_fromInt(1))));
                    ju_HashMap_put(nms_PacketCount_sizeCountForID, jl_Integer_valueOf($var9), jl_Long_valueOf(Long_add(jl_Long_longValue(ju_HashMap_get(nms_PacketCount_sizeCountForID, jl_Integer_valueOf($var9))), var$6)));
                }
                jl_Object_monitorExit($par1DataInputStream);
                break c;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$4 = $$je;

            }
            jl_Object_monitorExit($par1DataInputStream);
            $rt_throw(var$4);
        }
        nms_Packet_receivedID = Long_add(nms_Packet_receivedID, Long_fromInt(1));
        nms_Packet_receivedSize = Long_add(nms_Packet_receivedSize, Long_fromInt(var$4.$getPacketSize()));
        return var$4;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($par1DataInputStream, $par2, $var9, var$4, var$5, var$6, $ptr);
}
function nms_Packet_writePacket($par0Packet, $par1DataOutputStream) {
    nms_Packet_$callClinit();
    ji_DataOutputStream_write($par1DataOutputStream, nms_Packet_getPacketId($par0Packet));
    $par0Packet.$writePacketData($par1DataOutputStream);
    nms_Packet_sentID = Long_add(nms_Packet_sentID, Long_fromInt(1));
    nms_Packet_sentSize = Long_add(nms_Packet_sentSize, Long_fromInt($par0Packet.$getPacketSize()));
}
function nms_Packet_writeString($par0Str, $par1DataOutputStream) {
    nms_Packet_$callClinit();
    if (jl_String_length($par0Str) <= 32767) {
        ji_DataOutputStream_writeShort($par1DataOutputStream, jl_String_length($par0Str));
        ji_DataOutputStream_writeChars($par1DataOutputStream, $par0Str);
        return;
    }
    $par1DataOutputStream = new ji_IOException;
    jl_Throwable__init_($par1DataOutputStream, $rt_s(417));
    $rt_throw($par1DataOutputStream);
}
function nms_Packet_readString($par0DataInputStream, $par1) {
    var $var2, $var3, $var4;
    nms_Packet_$callClinit();
    $var2 = ji_DataInputStream_readShort($par0DataInputStream);
    if ($var2 > $par1) {
        $par0DataInputStream = new ji_IOException;
        $var3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var3);
        jl_AbstractStringBuilder_append($var3, $rt_s(418));
        jl_AbstractStringBuilder_append2($var3, $var2);
        jl_AbstractStringBuilder_append($var3, $rt_s(419));
        jl_AbstractStringBuilder_append2($var3, $par1);
        jl_AbstractStringBuilder_append($var3, $rt_s(68));
        jl_Throwable__init_($par0DataInputStream, jl_AbstractStringBuilder_toString($var3));
        $rt_throw($par0DataInputStream);
    }
    if ($var2 < 0) {
        $var3 = new ji_IOException;
        jl_Throwable__init_($var3, $rt_s(420));
        $rt_throw($var3);
    }
    $var3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var3);
    $var4 = 0;
    while ($var4 < $var2) {
        jl_AbstractStringBuilder_append0($var3, ji_DataInputStream_readChar($par0DataInputStream));
        $var4 = $var4 + 1 | 0;
    }
    return jl_AbstractStringBuilder_toString($var3);
}
function nms_Packet_readItemStack($par0DataInputStream) {
    var $var1, $var2;
    nms_Packet_$callClinit();
    $var1 = null;
    $var2 = ji_DataInputStream_readShort($par0DataInputStream);
    if ($var2 >= 0) {
        $var1 = nms_ItemStack__init_0($var2, ji_DataInputStream_readByte($par0DataInputStream), ji_DataInputStream_readShort($par0DataInputStream));
        $var1.$stackTagCompound = nms_Packet_readNBTTagCompound($par0DataInputStream);
    }
    return $var1;
}
function nms_Packet_writeItemStack($par0ItemStack, $par1DataOutputStream) {
    var $var2, var$4, var$5, var$6, var$7, var$8, $$je;
    nms_Packet_$callClinit();
    if ($par0ItemStack === null)
        ji_DataOutputStream_writeShort($par1DataOutputStream, (-1));
    else {
        ji_DataOutputStream_writeShort($par1DataOutputStream, $par0ItemStack.$itemID0);
        ji_DataOutputStream_writeByte($par1DataOutputStream, $par0ItemStack.$stackSize);
        ji_DataOutputStream_writeShort($par1DataOutputStream, $par0ItemStack.$itemDamage);
        $var2 = null;
        if (!(!nms_Item_isDamageable(nms_ItemStack_getItem($par0ItemStack)) && !nms_ItemStack_getItem($par0ItemStack).$getShareTag()))
            $var2 = $par0ItemStack.$stackTagCompound;
        if ($var2 === null)
            ji_DataOutputStream_writeShort($par1DataOutputStream, (-1));
        else {
            $par0ItemStack = ji_ByteArrayOutputStream__init_0();
            var$4 = new ji_DataOutputStream;
            var$5 = new cjj_GZIPOutputStream;
            var$6 = new cjj_Deflater;
            cjj_ZStream__init_(var$6);
            var$6.$finished0 = 0;
            var$7 = cjj_Deflater_init(var$6, (-1), 31, 0);
            if (var$7) {
                $par0ItemStack = new cjj_GZIPException;
                $par1DataOutputStream = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($par1DataOutputStream);
                jl_AbstractStringBuilder_append2($par1DataOutputStream, var$7);
                jl_AbstractStringBuilder_append($par1DataOutputStream, $rt_s(49));
                jl_AbstractStringBuilder_append($par1DataOutputStream, var$6.$msg);
                ji_IOException__init_4($par0ItemStack, jl_AbstractStringBuilder_toString($par1DataOutputStream));
                $rt_throw($par0ItemStack);
            }
            ji_FilterOutputStream__init_0(var$5, $par0ItemStack);
            var$5.$closed0 = 0;
            var$5.$syncFlush = 0;
            var$5.$buf10 = $rt_createByteArray(1);
            var$5.$mydeflater = 0;
            var$5.$close_out = 1;
            var$5.$deflater = var$6;
            var$5.$buffer3 = $rt_createByteArray(512);
            var$5.$close_out = 1;
            var$5.$mydeflater = 1;
            ji_DataOutputStream__init_0(var$4, var$5);
            a: {
                try {
                    nms_CompressedStreamTools_write($var2, var$4);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    $par0ItemStack = $$je;

                }
                ji_FilterOutputStream_close(var$4);
                $rt_throw($par0ItemStack);
            }
            ji_FilterOutputStream_close(var$4);
            var$8 = ji_ByteArrayOutputStream_toByteArray($par0ItemStack);
            ji_DataOutputStream_writeShort($par1DataOutputStream, var$8.data.length << 16 >> 16);
            ji_OutputStream_write($par1DataOutputStream, var$8);
        }
    }
}
function nms_Packet_readNBTTagCompound($par0DataInputStream) {
    var $var1, $var2, var$4, var$5, $$je;
    nms_Packet_$callClinit();
    $var1 = ji_DataInputStream_readShort($par0DataInputStream);
    if ($var1 < 0)
        return null;
    $var2 = $rt_createByteArray($var1);
    ji_DataInputStream_readFully($par0DataInputStream, $var2);
    $par0DataInputStream = new ji_DataInputStream;
    var$4 = new ji_BufferedInputStream;
    var$5 = new cjj_GZIPInputStream;
    cjj_InflaterInputStream__init_2(var$5, ji_ByteArrayInputStream__init_($var2), cjj_Inflater__init_0(31, 0), 512, 1);
    var$5.$myinflater = 1;
    ji_BufferedInputStream__init_0(var$4, var$5);
    ji_DataInputStream__init_0($par0DataInputStream, var$4);
    a: {
        try {
            var$4 = nms_CompressedStreamTools_read($par0DataInputStream);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            var$4 = $$je;

        }
        ji_FilterInputStream_close($par0DataInputStream);
        $rt_throw(var$4);
    }
    ji_FilterInputStream_close($par0DataInputStream);
    return var$4;
}
function nms_Packet__clinit_() {
    nms_Packet_packetIdToClassMap = nms_IntHashMap__init_0();
    nms_Packet_packetClassToIdMap = ju_HashMap__init_();
    nms_Packet_clientPacketIdList = ju_HashSet__init_0();
    nms_Packet_serverPacketIdList = ju_HashSet__init_0();
    nms_Packet_addIdClassMapping(0, 1, 1, $rt_cls(nms_Packet0KeepAlive));
    nms_Packet_addIdClassMapping(1, 1, 1, $rt_cls(nms_Packet1Login));
    nms_Packet_addIdClassMapping(2, 0, 1, $rt_cls(nms_Packet2ClientProtocol));
    nms_Packet_addIdClassMapping(3, 1, 1, $rt_cls(nms_Packet3Chat));
    nms_Packet_addIdClassMapping(4, 1, 0, $rt_cls(nms_Packet4UpdateTime));
    nms_Packet_addIdClassMapping(5, 1, 0, $rt_cls(nms_Packet5PlayerInventory));
    nms_Packet_addIdClassMapping(6, 1, 0, $rt_cls(nms_Packet6SpawnPosition));
    nms_Packet_addIdClassMapping(7, 0, 1, $rt_cls(nms_Packet7UseEntity));
    nms_Packet_addIdClassMapping(8, 1, 0, $rt_cls(nms_Packet8UpdateHealth));
    nms_Packet_addIdClassMapping(9, 1, 1, $rt_cls(nms_Packet9Respawn));
    nms_Packet_addIdClassMapping(10, 1, 1, $rt_cls(nms_Packet10Flying));
    nms_Packet_addIdClassMapping(11, 1, 1, $rt_cls(nms_Packet11PlayerPosition));
    nms_Packet_addIdClassMapping(12, 1, 1, $rt_cls(nms_Packet12PlayerLook));
    nms_Packet_addIdClassMapping(13, 1, 1, $rt_cls(nms_Packet13PlayerLookMove));
    nms_Packet_addIdClassMapping(14, 0, 1, $rt_cls(nms_Packet14BlockDig));
    nms_Packet_addIdClassMapping(15, 0, 1, $rt_cls(nms_Packet15Place));
    nms_Packet_addIdClassMapping(16, 1, 1, $rt_cls(nms_Packet16BlockItemSwitch));
    nms_Packet_addIdClassMapping(17, 1, 0, $rt_cls(nms_Packet17Sleep));
    nms_Packet_addIdClassMapping(18, 1, 1, $rt_cls(nms_Packet18Animation));
    nms_Packet_addIdClassMapping(19, 0, 1, $rt_cls(nms_Packet19EntityAction));
    nms_Packet_addIdClassMapping(20, 1, 0, $rt_cls(nms_Packet20NamedEntitySpawn));
    nms_Packet_addIdClassMapping(22, 1, 0, $rt_cls(nms_Packet22Collect));
    nms_Packet_addIdClassMapping(23, 1, 0, $rt_cls(nms_Packet23VehicleSpawn));
    nms_Packet_addIdClassMapping(24, 1, 0, $rt_cls(nms_Packet24MobSpawn));
    nms_Packet_addIdClassMapping(25, 1, 0, $rt_cls(nms_Packet25EntityPainting));
    nms_Packet_addIdClassMapping(26, 1, 0, $rt_cls(nms_Packet26EntityExpOrb));
    nms_Packet_addIdClassMapping(28, 1, 0, $rt_cls(nms_Packet28EntityVelocity));
    nms_Packet_addIdClassMapping(29, 1, 0, $rt_cls(nms_Packet29DestroyEntity));
    nms_Packet_addIdClassMapping(30, 1, 0, $rt_cls(nms_Packet30Entity));
    nms_Packet_addIdClassMapping(31, 1, 0, $rt_cls(nms_Packet31RelEntityMove));
    nms_Packet_addIdClassMapping(32, 1, 0, $rt_cls(nms_Packet32EntityLook));
    nms_Packet_addIdClassMapping(33, 1, 0, $rt_cls(nms_Packet33RelEntityMoveLook));
    nms_Packet_addIdClassMapping(34, 1, 0, $rt_cls(nms_Packet34EntityTeleport));
    nms_Packet_addIdClassMapping(35, 1, 0, $rt_cls(nms_Packet35EntityHeadRotation));
    nms_Packet_addIdClassMapping(38, 1, 0, $rt_cls(nms_Packet38EntityStatus));
    nms_Packet_addIdClassMapping(39, 1, 0, $rt_cls(nms_Packet39AttachEntity));
    nms_Packet_addIdClassMapping(40, 1, 0, $rt_cls(nms_Packet40EntityMetadata));
    nms_Packet_addIdClassMapping(41, 1, 0, $rt_cls(nms_Packet41EntityEffect));
    nms_Packet_addIdClassMapping(42, 1, 0, $rt_cls(nms_Packet42RemoveEntityEffect));
    nms_Packet_addIdClassMapping(43, 1, 0, $rt_cls(nms_Packet43Experience));
    nms_Packet_addIdClassMapping(51, 1, 0, $rt_cls(nms_Packet51MapChunk));
    nms_Packet_addIdClassMapping(52, 1, 0, $rt_cls(nms_Packet52MultiBlockChange));
    nms_Packet_addIdClassMapping(53, 1, 0, $rt_cls(nms_Packet53BlockChange));
    nms_Packet_addIdClassMapping(54, 1, 0, $rt_cls(nms_Packet54PlayNoteBlock));
    nms_Packet_addIdClassMapping(55, 1, 0, $rt_cls(nms_Packet55BlockDestroy));
    nms_Packet_addIdClassMapping(56, 1, 0, $rt_cls(nms_Packet56MapChunks));
    nms_Packet_addIdClassMapping(60, 1, 0, $rt_cls(nms_Packet60Explosion));
    nms_Packet_addIdClassMapping(61, 1, 0, $rt_cls(nms_Packet61DoorChange));
    nms_Packet_addIdClassMapping(62, 1, 0, $rt_cls(nms_Packet62LevelSound));
    nms_Packet_addIdClassMapping(63, 1, 0, $rt_cls(nms_Packet63WorldParticles));
    nms_Packet_addIdClassMapping(70, 1, 0, $rt_cls(nms_Packet70GameEvent));
    nms_Packet_addIdClassMapping(71, 1, 0, $rt_cls(nms_Packet71Weather));
    nms_Packet_addIdClassMapping(100, 1, 0, $rt_cls(nms_Packet100OpenWindow));
    nms_Packet_addIdClassMapping(101, 1, 1, $rt_cls(nms_Packet101CloseWindow));
    nms_Packet_addIdClassMapping(102, 0, 1, $rt_cls(nms_Packet102WindowClick));
    nms_Packet_addIdClassMapping(103, 1, 0, $rt_cls(nms_Packet103SetSlot));
    nms_Packet_addIdClassMapping(104, 1, 0, $rt_cls(nms_Packet104WindowItems));
    nms_Packet_addIdClassMapping(105, 1, 0, $rt_cls(nms_Packet105UpdateProgressbar));
    nms_Packet_addIdClassMapping(106, 1, 1, $rt_cls(nms_Packet106Transaction));
    nms_Packet_addIdClassMapping(107, 1, 1, $rt_cls(nms_Packet107CreativeSetSlot));
    nms_Packet_addIdClassMapping(108, 0, 1, $rt_cls(nms_Packet108EnchantItem));
    nms_Packet_addIdClassMapping(130, 1, 1, $rt_cls(nms_Packet130UpdateSign));
    nms_Packet_addIdClassMapping(131, 1, 0, $rt_cls(nms_Packet131MapData));
    nms_Packet_addIdClassMapping(132, 1, 0, $rt_cls(nms_Packet132TileEntityData));
    nms_Packet_addIdClassMapping(200, 1, 0, $rt_cls(nms_Packet200Statistic));
    nms_Packet_addIdClassMapping(201, 1, 0, $rt_cls(nms_Packet201PlayerInfo));
    nms_Packet_addIdClassMapping(202, 1, 1, $rt_cls(nms_Packet202PlayerAbilities));
    nms_Packet_addIdClassMapping(203, 1, 1, $rt_cls(nms_Packet203AutoComplete));
    nms_Packet_addIdClassMapping(204, 0, 1, $rt_cls(nms_Packet204ClientInfo));
    nms_Packet_addIdClassMapping(205, 0, 1, $rt_cls(nms_Packet205ClientCommand));
    nms_Packet_addIdClassMapping(206, 1, 0, $rt_cls(nms_Packet206SetObjective));
    nms_Packet_addIdClassMapping(207, 1, 0, $rt_cls(nms_Packet207SetScore));
    nms_Packet_addIdClassMapping(208, 1, 0, $rt_cls(nms_Packet208SetDisplayObjective));
    nms_Packet_addIdClassMapping(209, 1, 0, $rt_cls(nms_Packet209SetPlayerTeam));
    nms_Packet_addIdClassMapping(250, 1, 1, $rt_cls(nms_Packet250CustomPayload));
    nms_Packet_addIdClassMapping(252, 1, 1, $rt_cls(nms_Packet252SharedKey));
    nms_Packet_addIdClassMapping(253, 1, 0, $rt_cls(nms_Packet253ServerAuthData));
    nms_Packet_addIdClassMapping(254, 0, 1, $rt_cls(nms_Packet254ServerPing));
    nms_Packet_addIdClassMapping(255, 1, 1, $rt_cls(nms_Packet255KickDisconnect));
}
function nms_Packet3Chat() {
    var a = this; nms_Packet.call(a);
    a.$message0 = null;
    a.$isServer = 0;
}
var nms_Packet3Chat_maxChatLength = 0;
function nms_Packet3Chat__init_0() {
    var var_0 = new nms_Packet3Chat();
    nms_Packet3Chat__init_(var_0);
    return var_0;
}
function nms_Packet3Chat__init_($this) {
    nms_Packet__init_0($this);
    $this.$isServer = 1;
}
function nms_Packet3Chat_readPacketData($this, $par1DataInputStream) {
    $this.$message0 = nms_Packet_readString($par1DataInputStream, nms_Packet3Chat_maxChatLength);
}
function nms_Packet3Chat_writePacketData($this, $par1DataOutputStream) {
    nms_Packet_writeString($this.$message0, $par1DataOutputStream);
}
function nms_Packet3Chat_processPacket($this, $par1NetHandler) {
    nms_NetClientHandler_handleChat($par1NetHandler, $this);
}
function nms_Packet3Chat_getPacketSize($this) {
    return 2 + (jl_String_length($this.$message0) * 2 | 0) | 0;
}
function nms_Packet3Chat__clinit_() {
    nms_Packet3Chat_maxChatLength = 119;
}
function nle_EaglerProfile() {
    jl_Object.call(this);
}
var nle_EaglerProfile_username = null;
var nle_EaglerProfile_presetSkinId = 0;
var nle_EaglerProfile_customSkinId = 0;
var nle_EaglerProfile_myChannel = null;
var nle_EaglerProfile_SKIN_DATA_SIZE = null;
var nle_EaglerProfile_skins = null;
var nle_EaglerProfile_rand = null;
function nle_EaglerProfile_$callClinit() {
    nle_EaglerProfile_$callClinit = $rt_eraseClinit(nle_EaglerProfile);
    nle_EaglerProfile__clinit_();
}
function nle_EaglerProfile__init_0() {
    var var_0 = new nle_EaglerProfile();
    nle_EaglerProfile__init_(var_0);
    return var_0;
}
function nle_EaglerProfile__init_($this) {
    nle_EaglerProfile_$callClinit();
}
function nle_EaglerProfile_getSkinSize($len) {
    var $i;
    nle_EaglerProfile_$callClinit();
    $i = 0;
    while (true) {
        if ($i >= nle_EaglerProfile_SKIN_DATA_SIZE.data.length)
            return (-1);
        if ($len == nle_EaglerProfile_SKIN_DATA_SIZE.data[$i])
            break;
        $i = $i + 1 | 0;
    }
    return $i;
}
function nle_EaglerProfile_getSkinPacket() {
    var $d, $d2, var$3, var$4;
    nle_EaglerProfile_$callClinit();
    if (nle_EaglerProfile_presetSkinId != (-1)) {
        $d = $rt_createByteArray(2);
        $d2 = $d.data;
        $d2[0] = 4;
        $d2[1] = nle_EaglerProfile_presetSkinId << 24 >> 24;
        return $d;
    }
    $d = ju_ArrayList_get(nle_EaglerProfile_skins, nle_EaglerProfile_customSkinId).$data6;
    var$3 = $d.data.length;
    $d2 = $rt_createByteArray(1 + var$3 | 0);
    var$4 = $d2.data;
    var$4[0] = nle_EaglerProfile_getSkinSize(var$3) << 24 >> 24;
    if (var$4[0] == 1 && ju_ArrayList_get(nle_EaglerProfile_skins, nle_EaglerProfile_customSkinId).$slim)
        var$4[0] = 5;
    if (var$4[0] == 3 && ju_ArrayList_get(nle_EaglerProfile_skins, nle_EaglerProfile_customSkinId).$slim)
        var$4[0] = 6;
    jl_System_arraycopy($d, 0, $d2, 1, var$3);
    return $d2;
}
function nle_EaglerProfile_addSkin($name, $data, $slim) {
    var $j, $l, $t, $w, $h, $im, var$10, var$11;
    nle_EaglerProfile_$callClinit();
    $j = 0;
    $l = nle_EaglerProfile_skins.$size;
    a: {
        while (true) {
            if ($j >= $l) {
                $j = (-1);
                break a;
            }
            if (jl_String_equalsIgnoreCase(ju_ArrayList_get(nle_EaglerProfile_skins, $j).$name5, $name))
                break;
            $j = $j + 1 | 0;
        }
    }
    $t = nle_EaglerProfile_getSkinSize($data.data.length);
    if ($t == (-1))
        return (-1);
    b: {
        c: {
            switch ($t) {
                case 0:
                case 4:
                    break c;
                case 1:
                case 5:
                    $w = 64;
                    $h = 64;
                    break b;
                case 2:
                    $w = 128;
                    $h = 64;
                    break b;
                case 3:
                case 6:
                    break;
                default:
                    break c;
            }
            $w = 128;
            $h = 128;
            break b;
        }
        $w = 64;
        $h = 32;
    }
    $im = nms_RenderEngine_setupTextureRaw(nmc_Minecraft_theMinecraft.$renderEngine, $data, $w, $h);
    if ($j != (-1)) {
        ju_ArrayList_get(nle_EaglerProfile_skins, $j).$glTex = $im;
        ju_ArrayList_get(nle_EaglerProfile_skins, $j).$data6 = $data;
        ju_ArrayList_get(nle_EaglerProfile_skins, $j).$slim = $slim;
    } else {
        $j = nle_EaglerProfile_skins.$size;
        var$10 = nle_EaglerProfile_skins;
        var$11 = new nle_EaglerProfile$EaglerProfileSkin;
        var$11.$name5 = $name;
        var$11.$data6 = $data;
        var$11.$slim = $slim;
        var$11.$glTex = $im;
        ju_ArrayList_add(var$10, var$11);
    }
    return $j;
}
function nle_EaglerProfile_loadFromStorage() {
    var var$1, $n, $s2, $k, $s;
    nle_EaglerProfile_$callClinit();
    a: {
        if (!nms_NBTTagCompound_hasNoTags(nle_LocalStorageManager_profileSettingsStorage)) {
            nle_EaglerProfile_presetSkinId = nms_NBTTagCompound_getInteger(nle_LocalStorageManager_profileSettingsStorage, $rt_s(421));
            nle_EaglerProfile_customSkinId = nms_NBTTagCompound_getInteger(nle_LocalStorageManager_profileSettingsStorage, $rt_s(422));
            nle_EaglerProfile_username = nms_NBTTagCompound_getString(nle_LocalStorageManager_profileSettingsStorage, $rt_s(287));
            var$1 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$1);
            jl_AbstractStringBuilder_append(var$1, nle_EaglerProfile_username);
            jl_AbstractStringBuilder_append(var$1, $rt_s(423));
            jl_AbstractStringBuilder_append2(var$1, 100 + nle_EaglercraftRandom_nextInt(nle_EaglerProfile_rand, 900) | 0);
            nle_EaglerProfile_myChannel = jl_AbstractStringBuilder_toString(var$1);
            $n = nms_NBTTagCompound_getCompoundTag(nle_LocalStorageManager_profileSettingsStorage, $rt_s(424));
            var$1 = ju_HashMap_keySet($n.$tagMap).$iterator();
            while (true) {
                if (!var$1.$hasNext())
                    break a;
                $s2 = var$1.$next();
                $k = nms_NBTTagCompound_getTag($n, $s2);
                if ($k.$getId() == 7)
                    nle_EaglerProfile_addSkin($s2, $k.$byteArray, 0);
                else if ($k.$getId() == 10) {
                    $s = $k;
                    nle_EaglerProfile_addSkin($s2, nms_NBTTagCompound_getByteArray($s, $rt_s(425)), nms_NBTTagCompound_getBoolean($s, $rt_s(426)));
                }
            }
        }
    }
}
function nle_EaglerProfile__clinit_() {
    var $usernameDefaultWords, var$2, var$3, var$4, var$5;
    $usernameDefaultWords = $rt_createIntArray(7);
    var$2 = $usernameDefaultWords.data;
    var$2[0] = 8192;
    var$2[1] = 16384;
    var$2[2] = 32768;
    var$2[3] = 65536;
    var$2[4] = 2;
    var$2[5] = 16384;
    var$2[6] = 65536;
    nle_EaglerProfile_SKIN_DATA_SIZE = $usernameDefaultWords;
    nle_EaglerProfile_skins = ju_ArrayList__init_0();
    if (!nle_ConfigConstants_profanity) {
        $usernameDefaultWords = $rt_createArray(jl_String, 16);
        var$2 = $usernameDefaultWords.data;
        var$2[0] = $rt_s(427);
        var$2[1] = $rt_s(427);
        var$2[2] = $rt_s(428);
        var$2[3] = $rt_s(428);
        var$2[4] = $rt_s(429);
        var$2[5] = $rt_s(430);
        var$2[6] = $rt_s(431);
        var$2[7] = $rt_s(432);
        var$2[8] = $rt_s(433);
        var$2[9] = $rt_s(434);
        var$2[10] = $rt_s(435);
        var$2[11] = $rt_s(436);
        var$2[12] = $rt_s(436);
        var$2[13] = $rt_s(437);
        var$2[14] = $rt_s(438);
        var$2[15] = $rt_s(439);
    } else {
        $usernameDefaultWords = $rt_createArray(jl_String, 38);
        var$2 = $usernameDefaultWords.data;
        var$2[0] = $rt_s(431);
        var$2[1] = $rt_s(431);
        var$2[2] = $rt_s(440);
        var$2[3] = $rt_s(441);
        var$2[4] = $rt_s(442);
        var$2[5] = $rt_s(442);
        var$2[6] = $rt_s(429);
        var$2[7] = $rt_s(443);
        var$2[8] = $rt_s(444);
        var$2[9] = $rt_s(445);
        var$2[10] = $rt_s(446);
        var$2[11] = $rt_s(437);
        var$2[12] = $rt_s(437);
        var$2[13] = $rt_s(447);
        var$2[14] = $rt_s(448);
        var$2[15] = $rt_s(449);
        var$2[16] = $rt_s(449);
        var$2[17] = $rt_s(450);
        var$2[18] = $rt_s(451);
        var$2[19] = $rt_s(452);
        var$2[20] = $rt_s(453);
        var$2[21] = $rt_s(454);
        var$2[22] = $rt_s(428);
        var$2[23] = $rt_s(428);
        var$2[24] = $rt_s(428);
        var$2[25] = $rt_s(455);
        var$2[26] = $rt_s(456);
        var$2[27] = $rt_s(457);
        var$2[28] = $rt_s(433);
        var$2[29] = $rt_s(433);
        var$2[30] = $rt_s(458);
        var$2[31] = $rt_s(458);
        var$2[32] = $rt_s(459);
        var$2[33] = $rt_s(431);
        var$2[34] = $rt_s(436);
        var$2[35] = $rt_s(436);
        var$2[36] = $rt_s(460);
        var$2[37] = $rt_s(461);
    }
    nle_EaglerProfile_rand = nle_EaglercraftRandom__init_0();
    while (true) {
        var$2 = $usernameDefaultWords.data;
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        var$4 = nle_EaglerProfile_rand;
        var$5 = var$2.length;
        jl_AbstractStringBuilder_append(var$3, var$2[nle_EaglercraftRandom_nextInt(var$4, var$5)]);
        jl_AbstractStringBuilder_append(var$3, var$2[nle_EaglercraftRandom_nextInt(nle_EaglerProfile_rand, var$5)]);
        jl_AbstractStringBuilder_append2(var$3, 10 + nle_EaglercraftRandom_nextInt(nle_EaglerProfile_rand, 90) | 0);
        nle_EaglerProfile_username = jl_AbstractStringBuilder_toString(var$3);
        if (jl_String_length(nle_EaglerProfile_username) > 16)
            continue;
        else
            break;
    }
    nle_EaglerProfile_presetSkinId = nle_EaglercraftRandom_nextInt(nle_EaglerProfile_rand, nle_GuiScreenEditProfile_defaultOptions.data.length);
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, nle_EaglerProfile_username);
    jl_AbstractStringBuilder_append(var$3, $rt_s(423));
    jl_AbstractStringBuilder_append2(var$3, 100 + nle_EaglercraftRandom_nextInt(nle_EaglerProfile_rand, 900) | 0);
    nle_EaglerProfile_myChannel = jl_AbstractStringBuilder_toString(var$3);
    nle_EaglerProfile_customSkinId = (-1);
}
function ju_Locale() {
    var a = this; jl_Object.call(a);
    a.$countryCode = null;
    a.$languageCode = null;
    a.$variantCode = null;
}
var ju_Locale_defaultLocale = null;
var ju_Locale_CANADA = null;
var ju_Locale_CANADA_FRENCH = null;
var ju_Locale_CHINA = null;
var ju_Locale_CHINESE = null;
var ju_Locale_ENGLISH = null;
var ju_Locale_FRANCE = null;
var ju_Locale_FRENCH = null;
var ju_Locale_GERMAN = null;
var ju_Locale_GERMANY = null;
var ju_Locale_ITALIAN = null;
var ju_Locale_ITALY = null;
var ju_Locale_JAPAN = null;
var ju_Locale_JAPANESE = null;
var ju_Locale_KOREA = null;
var ju_Locale_KOREAN = null;
var ju_Locale_PRC = null;
var ju_Locale_SIMPLIFIED_CHINESE = null;
var ju_Locale_TAIWAN = null;
var ju_Locale_TRADITIONAL_CHINESE = null;
var ju_Locale_UK = null;
var ju_Locale_US = null;
var ju_Locale_ROOT = null;
function ju_Locale__init_(var_0, var_1) {
    var var_2 = new ju_Locale();
    ju_Locale__init_0(var_2, var_0, var_1);
    return var_2;
}
function ju_Locale__init_1(var_0, var_1, var_2) {
    var var_3 = new ju_Locale();
    ju_Locale__init_2(var_3, var_0, var_1, var_2);
    return var_3;
}
function ju_Locale__init_0($this, $language, $country) {
    ju_Locale__init_2($this, $language, $country, $rt_s(36));
}
function ju_Locale__init_2($this, $language, $country, $variant) {
    if ($language !== null && $country !== null && $variant !== null) {
        if (!jl_String_length($language) && !jl_String_length($country)) {
            $this.$languageCode = $rt_s(36);
            $this.$countryCode = $rt_s(36);
            $this.$variantCode = $variant;
            return;
        }
        $this.$languageCode = $language;
        $this.$countryCode = $country;
        $this.$variantCode = $variant;
        return;
    }
    $language = new jl_NullPointerException;
    jl_Throwable__init_0($language);
    $rt_throw($language);
}
function ju_Locale_equals($this, $object) {
    var $o;
    if ($object === $this)
        return 1;
    if (!($object instanceof ju_Locale))
        return 0;
    $o = $object;
    return jl_String_equals($this.$languageCode, $o.$languageCode) && jl_String_equals($this.$countryCode, $o.$countryCode) && jl_String_equals($this.$variantCode, $o.$variantCode) ? 1 : 0;
}
function ju_Locale_getCountry($this) {
    return $this.$countryCode;
}
function ju_Locale_getLanguage($this) {
    return $this.$languageCode;
}
function ju_Locale_hashCode($this) {
    return (jl_String_hashCode($this.$countryCode) + jl_String_hashCode($this.$languageCode) | 0) + jl_String_hashCode($this.$variantCode) | 0;
}
function ju_Locale__clinit_() {
    var $localeName, $countryIndex;
    ju_Locale_CANADA = ju_Locale__init_($rt_s(462), $rt_s(463));
    ju_Locale_CANADA_FRENCH = ju_Locale__init_($rt_s(464), $rt_s(463));
    ju_Locale_CHINA = ju_Locale__init_($rt_s(465), $rt_s(466));
    ju_Locale_CHINESE = ju_Locale__init_($rt_s(465), $rt_s(36));
    ju_Locale_ENGLISH = ju_Locale__init_($rt_s(462), $rt_s(36));
    ju_Locale_FRANCE = ju_Locale__init_($rt_s(464), $rt_s(467));
    ju_Locale_FRENCH = ju_Locale__init_($rt_s(464), $rt_s(36));
    ju_Locale_GERMAN = ju_Locale__init_($rt_s(468), $rt_s(36));
    ju_Locale_GERMANY = ju_Locale__init_($rt_s(468), $rt_s(469));
    ju_Locale_ITALIAN = ju_Locale__init_($rt_s(470), $rt_s(36));
    ju_Locale_ITALY = ju_Locale__init_($rt_s(470), $rt_s(471));
    ju_Locale_JAPAN = ju_Locale__init_($rt_s(472), $rt_s(473));
    ju_Locale_JAPANESE = ju_Locale__init_($rt_s(472), $rt_s(36));
    ju_Locale_KOREA = ju_Locale__init_($rt_s(474), $rt_s(475));
    ju_Locale_KOREAN = ju_Locale__init_($rt_s(474), $rt_s(36));
    ju_Locale_PRC = ju_Locale__init_($rt_s(465), $rt_s(466));
    ju_Locale_SIMPLIFIED_CHINESE = ju_Locale__init_($rt_s(465), $rt_s(466));
    ju_Locale_TAIWAN = ju_Locale__init_($rt_s(465), $rt_s(476));
    ju_Locale_TRADITIONAL_CHINESE = ju_Locale__init_($rt_s(465), $rt_s(476));
    ju_Locale_UK = ju_Locale__init_($rt_s(462), $rt_s(477));
    ju_Locale_US = ju_Locale__init_($rt_s(462), $rt_s(478));
    ju_Locale_ROOT = ju_Locale__init_($rt_s(36), $rt_s(36));
    if (otciu_CLDRHelper_$$metadata$$10 === null)
        otciu_CLDRHelper_$$metadata$$10 = otciu_CLDRHelper_getDefaultLocale$$create();
    $localeName = (otciu_CLDRHelper_$$metadata$$10.value !== null ? $rt_str(otciu_CLDRHelper_$$metadata$$10.value) : null);
    $countryIndex = jl_String_indexOf0($localeName, 95);
    ju_Locale_defaultLocale = ju_Locale__init_1(jl_String_substring0($localeName, 0, $countryIndex), jl_String_substring($localeName, $countryIndex + 1 | 0), $rt_s(36));
}
function nlea_EaglerAdapterImpl2$TextureGL() {
    var a = this; jl_Object.call(a);
    a.$obj = null;
    a.$w = 0;
    a.$h = 0;
    a.$nearest = 0;
    a.$anisotropic = 0;
}
function jn_Buffer() {
    var a = this; jl_Object.call(a);
    a.$capacity = 0;
    a.$position = 0;
    a.$limit = 0;
    a.$mark1 = 0;
}
function jn_Buffer__init_(var_0) {
    var var_1 = new jn_Buffer();
    jn_Buffer__init_0(var_1, var_0);
    return var_1;
}
function jn_Buffer__init_0($this, $capacity) {
    $this.$mark1 = (-1);
    $this.$capacity = $capacity;
    $this.$limit = $capacity;
}
function jn_Buffer_capacity($this) {
    return $this.$capacity;
}
function jn_Buffer_position($this) {
    return $this.$position;
}
function jn_Buffer_position0($this, $newPosition) {
    var var$2, var$3;
    if ($newPosition >= 0 && $newPosition <= $this.$limit) {
        $this.$position = $newPosition;
        if ($newPosition < $this.$mark1)
            $this.$mark1 = 0;
        return $this;
    }
    var$2 = new jl_IllegalArgumentException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(479));
    jl_AbstractStringBuilder_append2(var$3, $newPosition);
    jl_AbstractStringBuilder_append(var$3, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$3, $this.$limit);
    jl_AbstractStringBuilder_append(var$3, $rt_s(274));
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$2);
}
function jn_Buffer_limit($this) {
    return $this.$limit;
}
function jn_Buffer_limit0($this, $newLimit) {
    var var$2, var$3;
    if ($newLimit >= 0 && $newLimit <= $this.$capacity) {
        if ($this.$mark1 > $newLimit)
            $this.$mark1 = (-1);
        $this.$limit = $newLimit;
        if ($this.$position > $this.$limit)
            $this.$position = $this.$limit;
        return $this;
    }
    var$2 = new jl_IllegalArgumentException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(481));
    jl_AbstractStringBuilder_append2(var$3, $newLimit);
    jl_AbstractStringBuilder_append(var$3, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$3, $this.$capacity);
    jl_AbstractStringBuilder_append(var$3, $rt_s(274));
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$2);
}
function jn_Buffer_clear($this) {
    $this.$position = 0;
    $this.$limit = $this.$capacity;
    $this.$mark1 = (-1);
    return $this;
}
function jn_Buffer_flip($this) {
    $this.$limit = $this.$position;
    $this.$position = 0;
    $this.$mark1 = (-1);
    return $this;
}
function jn_Buffer_remaining($this) {
    return $this.$limit - $this.$position | 0;
}
function jn_Buffer_hasRemaining($this) {
    return $this.$position >= $this.$limit ? 0 : 1;
}
function jn_IntBuffer() {
    jn_Buffer.call(this);
}
function jn_IntBuffer_wrap($array) {
    var var$2, var$3;
    var$2 = $array.data.length;
    var$3 = new jn_IntBufferOverArray;
    jn_IntBufferImpl__init_(var$3, var$2, 0, 0 + var$2 | 0);
    var$3.$start1 = 0;
    var$3.$readOnly0 = 0;
    var$3.$array4 = $array;
    return var$3;
}
function jn_IntBuffer_put0($this, $src, $offset, $length) {
    var var$4, var$5, var$6, $pos, var$8, var$9, $i, var$11;
    if ($this.$readOnly1()) {
        var$4 = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if (jn_Buffer_remaining($this) < $length) {
        var$4 = new jn_BufferOverflowException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if ($offset >= 0) {
        var$5 = $src.data;
        var$6 = var$5.length;
        if ($offset < var$6) {
            $pos = $offset + $length | 0;
            if ($pos > var$6) {
                var$8 = new jl_IndexOutOfBoundsException;
                var$4 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$4);
                jl_AbstractStringBuilder_append(var$4, $rt_s(482));
                jl_AbstractStringBuilder_append2(var$4, $pos);
                jl_AbstractStringBuilder_append(var$4, $rt_s(483));
                jl_AbstractStringBuilder_append2(var$4, var$6);
                jl_Throwable__init_(var$8, jl_AbstractStringBuilder_toString(var$4));
                $rt_throw(var$8);
            }
            if ($length < 0) {
                var$4 = new jl_IndexOutOfBoundsException;
                var$9 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$9);
                jl_AbstractStringBuilder_append(var$9, $rt_s(484));
                jl_AbstractStringBuilder_append2(var$9, $length);
                jl_AbstractStringBuilder_append(var$9, $rt_s(485));
                jl_Throwable__init_(var$4, jl_AbstractStringBuilder_toString(var$9));
                $rt_throw(var$4);
            }
            $pos = $this.$position;
            $i = 0;
            while ($i < $length) {
                var$11 = $pos + 1 | 0;
                var$6 = $offset + 1 | 0;
                $this.$putElement($pos, var$5[$offset]);
                $i = $i + 1 | 0;
                $pos = var$11;
                $offset = var$6;
            }
            $this.$position = $this.$position + $length | 0;
            return $this;
        }
    }
    $src = $src.data;
    var$9 = new jl_IndexOutOfBoundsException;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, $rt_s(486));
    jl_AbstractStringBuilder_append2(var$4, $offset);
    jl_AbstractStringBuilder_append(var$4, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$4, $src.length);
    jl_AbstractStringBuilder_append(var$4, $rt_s(68));
    jl_Throwable__init_(var$9, jl_AbstractStringBuilder_toString(var$4));
    $rt_throw(var$9);
}
function jn_IntBuffer_put($this, $src) {
    return jn_IntBuffer_put0($this, $src, 0, $src.data.length);
}
function jn_IntBuffer_clear0($this) {
    jn_Buffer_clear($this);
    return $this;
}
function jn_IntBuffer_flip0($this) {
    jn_Buffer_flip($this);
    return $this;
}
function jn_IntBuffer_limit($this, $newLimit) {
    jn_Buffer_limit0($this, $newLimit);
    return $this;
}
function jn_IntBuffer_position($this, $newPosition) {
    jn_Buffer_position0($this, $newPosition);
    return $this;
}
function jn_IntBuffer_flip($this) {
    jn_Buffer_flip($this);
    return $this;
}
function jn_IntBuffer_clear($this) {
    jn_Buffer_clear($this);
    return $this;
}
function jn_IntBuffer_limit0($this, var$1) {
    jn_Buffer_limit0($this, var$1);
    return $this;
}
function jn_IntBuffer_position0($this, var$1) {
    jn_Buffer_position0($this, var$1);
    return $this;
}
function nlea_EaglerAdapterImpl2$BufferGL() {
    jl_Object.call(this);
    this.$obj2 = null;
}
function nlea_EaglerAdapterImpl2$ShaderGL() {
    jl_Object.call(this);
    this.$obj1 = null;
}
function nlea_EaglerAdapterImpl2$ProgramGL() {
    var a = this; jl_Object.call(a);
    a.$obj0 = null;
    a.$hashcode = 0;
}
function nlea_EaglerAdapterImpl2$UniformGL() {
    jl_Object.call(this);
    this.$obj3 = null;
}
function nlea_EaglerAdapterImpl2$BufferArrayGL() {
    var a = this; jl_Object.call(a);
    a.$obj6 = null;
    a.$isQuadBufferBound = 0;
}
function jnc_Charset$Charsets() {
    jl_Object.call(this);
}
var jnc_Charset$Charsets_value = null;
function jnc_Charset$Charsets__init_0() {
    var var_0 = new jnc_Charset$Charsets();
    jnc_Charset$Charsets__init_(var_0);
    return var_0;
}
function jnc_Charset$Charsets__init_($this) {
    return;
}
function jnc_Charset$Charsets__clinit_() {
    jnc_Charset$Charsets_value = ju_HashMap__init_();
    ju_HashMap_putImpl(jnc_Charset$Charsets_value, $rt_s(62), jnci_UTF8Charset__init_0());
}
function jl_IllegalArgumentException() {
    jl_RuntimeException.call(this);
}
function jl_IllegalArgumentException__init_0() {
    var var_0 = new jl_IllegalArgumentException();
    jl_IllegalArgumentException__init_(var_0);
    return var_0;
}
function jl_IllegalArgumentException__init_1(var_0) {
    var var_1 = new jl_IllegalArgumentException();
    jl_IllegalArgumentException__init_2(var_1, var_0);
    return var_1;
}
function jl_IllegalArgumentException__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_IllegalArgumentException__init_2($this, $message) {
    jl_Throwable__init_($this, $message);
}
function jnc_UnsupportedCharsetException() {
    jl_IllegalArgumentException.call(this);
    this.$charsetName = null;
}
function jur_Pattern() {
    var a = this; jl_Object.call(a);
    a.$lexemes = null;
    a.$flags0 = 0;
    a.$backRefs = null;
    a.$needsBackRefReplacement = 0;
    a.$globalGroupIndex = 0;
    a.$compCount = 0;
    a.$consCount = 0;
    a.$start2 = null;
}
function jur_Pattern__init_0() {
    var var_0 = new jur_Pattern();
    jur_Pattern__init_(var_0);
    return var_0;
}
function jur_Pattern_matcher($this, $input) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
    var$2 = new jur_Matcher;
    var$2.$leftBound = (-1);
    var$2.$rightBound = (-1);
    var$2.$pat = $this;
    var$2.$start3 = $this.$start2;
    var$2.$string = $input;
    var$2.$leftBound = 0;
    var$2.$rightBound = jl_String_length(var$2.$string);
    var$3 = new jur_MatchResultImpl;
    var$4 = var$2.$leftBound;
    var$5 = var$2.$rightBound;
    var$6 = $this.$globalGroupIndex;
    var$7 = jur_Pattern_compCount($this);
    var$8 = jur_Pattern_consCount($this);
    var$3.$previousMatch = (-1);
    var$9 = var$6 + 1 | 0;
    var$3.$groupCount = var$9;
    var$3.$groupBounds = $rt_createIntArray(var$9 * 2 | 0);
    var$3.$consumers = $rt_createIntArray(var$8);
    ju_Arrays_fill0(var$3.$consumers, (-1));
    if (var$7 > 0)
        var$3.$compQuantCounters = $rt_createIntArray(var$7);
    ju_Arrays_fill0(var$3.$groupBounds, (-1));
    jur_MatchResultImpl_reset(var$3, $input, var$4, var$5);
    var$2.$matchResult = var$3;
    return var$2;
}
function jur_Pattern_split0($this, $inputSeq, $limit) {
    var $res, $mat, $index, $curPos, var$7, var$8;
    $res = ju_ArrayList__init_0();
    $mat = jur_Pattern_matcher($this, $inputSeq);
    $index = 0;
    $curPos = 0;
    if (!jl_String_length($inputSeq)) {
        var$7 = $rt_createArray(jl_String, 1);
        var$7.data[0] = $rt_s(36);
        return var$7;
    }
    while (jur_Matcher_find($mat)) {
        var$8 = $index + 1 | 0;
        if (var$8 >= $limit && $limit > 0)
            break;
        ju_ArrayList_add($res, jl_String_substring0($inputSeq, $curPos, jur_Matcher_start($mat)));
        $curPos = jur_Matcher_end($mat);
        $index = var$8;
    }
    a: {
        ju_ArrayList_add($res, jl_String_substring0($inputSeq, $curPos, jl_String_length($inputSeq)));
        $index = $index + 1 | 0;
        if (!$limit)
            while (true) {
                $index = $index + (-1) | 0;
                if ($index < 0)
                    break;
                if (jl_String_length(ju_ArrayList_get($res, $index)))
                    break a;
                ju_ArrayList_remove($res, $index);
            }
    }
    if ($index < 0)
        $index = 0;
    return ju_AbstractCollection_toArray($res, $rt_createArray(jl_String, $index));
}
function jur_Pattern_split($this, $input) {
    return jur_Pattern_split0($this, $input, 0);
}
function jur_Pattern_pattern($this) {
    return $this.$lexemes.$orig;
}
function jur_Pattern_processExpression($this, $ch, $newFlags, $last) {
    var $children, $saveFlags, $saveChangedFlags, $fSet, $child;
    $children = ju_ArrayList__init_0();
    $saveFlags = $this.$flags0;
    $saveChangedFlags = 0;
    if ($newFlags != $this.$flags0)
        $this.$flags0 = $newFlags;
    a: {
        switch ($ch) {
            case -1073741784:
                $fSet = new jur_NonCapFSet;
                $newFlags = $this.$consCount + 1 | 0;
                $this.$consCount = $newFlags;
                jur_FSet__init_($fSet, $newFlags);
                break a;
            case -536870872:
            case -268435416:
                break;
            case -134217688:
            case -67108824:
                $fSet = new jur_BehindFSet;
                $newFlags = $this.$consCount + 1 | 0;
                $this.$consCount = $newFlags;
                jur_FSet__init_($fSet, $newFlags);
                break a;
            case -33554392:
                $fSet = new jur_AtomicFSet;
                $newFlags = $this.$consCount + 1 | 0;
                $this.$consCount = $newFlags;
                jur_FSet__init_($fSet, $newFlags);
                break a;
            default:
                $this.$globalGroupIndex = $this.$globalGroupIndex + 1 | 0;
                if ($last !== null)
                    $fSet = jur_FSet__init_0($this.$globalGroupIndex);
                else {
                    $fSet = jur_FinalSet__init_0();
                    $saveChangedFlags = 1;
                }
                if ($this.$globalGroupIndex <= (-1))
                    break a;
                if ($this.$globalGroupIndex >= 10)
                    break a;
                $this.$backRefs.data[$this.$globalGroupIndex] = $fSet;
                break a;
        }
        $fSet = jur_AheadFSet__init_0();
    }
    while (true) {
        if (jur_Lexer_isLetter($this.$lexemes) && $this.$lexemes.$lookAhead == (-536870788)) {
            $last = jur_CharClass__init_0(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
            while (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes) && !($this.$lexemes.$lookAhead && $this.$lexemes.$lookAhead != (-536870788) && $this.$lexemes.$lookAhead != (-536870871))) {
                jur_CharClass_add($last, jur_Lexer_next($this.$lexemes));
                if ($this.$lexemes.$ch != (-536870788))
                    continue;
                jur_Lexer_next($this.$lexemes);
            }
            $child = jur_Pattern_processRangeSet($this, $last);
            $child.$setNext($fSet);
        } else if ($this.$lexemes.$ch == (-536870788)) {
            $child = jur_EmptySet__init_($fSet);
            jur_Lexer_next($this.$lexemes);
        } else {
            $child = jur_Pattern_processSubExpression($this, $fSet);
            if ($this.$lexemes.$ch == (-536870788))
                jur_Lexer_next($this.$lexemes);
        }
        if ($child !== null)
            ju_ArrayList_add($children, $child);
        if (jur_Lexer_isEmpty($this.$lexemes))
            break;
        if ($this.$lexemes.$ch == (-536870871))
            break;
    }
    if ($this.$lexemes.$lookBack == (-536870788))
        ju_ArrayList_add($children, jur_EmptySet__init_($fSet));
    if ($this.$flags0 != $saveFlags && !$saveChangedFlags) {
        $this.$flags0 = $saveFlags;
        jur_Lexer_restoreFlags($this.$lexemes, $this.$flags0);
    }
    switch ($ch) {
        case -1073741784:
            break;
        case -536870872:
            $last = new jur_PositiveLookAhead;
            jur_JointSet__init_0($last, $children, $fSet);
            return $last;
        case -268435416:
            $last = new jur_NegativeLookAhead;
            jur_JointSet__init_0($last, $children, $fSet);
            return $last;
        case -134217688:
            $last = new jur_PositiveLookBehind;
            jur_JointSet__init_0($last, $children, $fSet);
            return $last;
        case -67108824:
            $last = new jur_NegativeLookBehind;
            jur_JointSet__init_0($last, $children, $fSet);
            return $last;
        case -33554392:
            $last = new jur_AtomicJointSet;
            jur_JointSet__init_0($last, $children, $fSet);
            return $last;
        default:
            switch ($children.$size) {
                case 0:
                    break;
                case 1:
                    return jur_SingleSet__init_(ju_ArrayList_get($children, 0), $fSet);
                default:
                    return jur_JointSet__init_1($children, $fSet);
            }
            return jur_EmptySet__init_($fSet);
    }
    $last = new jur_NonCapJointSet;
    jur_JointSet__init_0($last, $children, $fSet);
    return $last;
}
function jur_Pattern_processDecomposedChar($this) {
    var $codePoints, $curSymb, $curSymbIndex, $codePointsHangul, $readCodePoints, var$6;
    $codePoints = $rt_createIntArray(4);
    $curSymb = (-1);
    $curSymbIndex = (-1);
    if (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
        $codePointsHangul = $codePoints.data;
        $curSymb = jur_Lexer_next($this.$lexemes);
        $codePointsHangul[0] = $curSymb;
        $curSymbIndex = $curSymb - 4352 | 0;
    }
    if ($curSymbIndex >= 0 && $curSymbIndex < 19) {
        $codePointsHangul = $rt_createCharArray(3);
        $codePoints = $codePointsHangul.data;
        $codePoints[0] = $curSymb & 65535;
        $readCodePoints = $this.$lexemes.$ch;
        $curSymb = $readCodePoints - 4449 | 0;
        if ($curSymb >= 0 && $curSymb < 21) {
            $codePoints[1] = $readCodePoints & 65535;
            jur_Lexer_next($this.$lexemes);
            $readCodePoints = $this.$lexemes.$ch;
            $curSymbIndex = $readCodePoints - 4519 | 0;
            if ($curSymbIndex >= 0 && $curSymbIndex < 28) {
                $codePoints[2] = $readCodePoints & 65535;
                jur_Lexer_next($this.$lexemes);
                return jur_HangulDecomposedCharSet__init_($codePointsHangul, 3);
            }
            return jur_HangulDecomposedCharSet__init_($codePointsHangul, 2);
        }
        if (!jur_Pattern_hasFlag($this, 2))
            return jur_CharSet__init_($codePoints[0]);
        if (jur_Pattern_hasFlag($this, 64))
            return jur_UCICharSet__init_($codePoints[0]);
        return jur_CICharSet__init_($codePoints[0]);
    }
    $codePointsHangul = $codePoints.data;
    $curSymb = 1;
    while ($curSymb < 4 && !jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes)) {
        $readCodePoints = $curSymb + 1 | 0;
        $codePointsHangul[$curSymb] = jur_Lexer_next($this.$lexemes);
        $curSymb = $readCodePoints;
    }
    if ($curSymb == 1) {
        $readCodePoints = $codePointsHangul[0];
        if (!(jur_Lexer_singleDecompTable.$get7($readCodePoints) == jur_Lexer_singleDecompTableSize ? 0 : 1))
            return jur_Pattern_processCharSet($this, $codePointsHangul[0]);
    }
    if (!jur_Pattern_hasFlag($this, 2))
        return jur_DecomposedCharSet__init_($codePoints, $curSymb);
    if (jur_Pattern_hasFlag($this, 64)) {
        var$6 = new jur_UCIDecomposedCharSet;
        jur_DecomposedCharSet__init_0(var$6, $codePoints, $curSymb);
        return var$6;
    }
    var$6 = new jur_CIDecomposedCharSet;
    jur_DecomposedCharSet__init_0(var$6, $codePoints, $curSymb);
    return var$6;
}
function jur_Pattern_processSubExpression($this, $last) {
    var $cur, $term, var$4, $next;
    if (jur_Lexer_isLetter($this.$lexemes) && !jur_Lexer_isNextSpecial($this.$lexemes) && jur_Lexer_isLetter0($this.$lexemes.$lookAhead)) {
        if (jur_Pattern_hasFlag($this, 128)) {
            $cur = jur_Pattern_processDecomposedChar($this);
            if (!jur_Lexer_isEmpty($this.$lexemes) && !($this.$lexemes.$ch == (-536870871) && !($last instanceof jur_FinalSet)) && $this.$lexemes.$ch != (-536870788) && !jur_Lexer_isLetter($this.$lexemes))
                $cur = jur_Pattern_processQuantifier($this, $last, $cur);
        } else if (!jur_Lexer_isHighSurrogate($this.$lexemes) && !jur_Lexer_isLowSurrogate($this.$lexemes)) {
            $term = new jl_StringBuffer;
            jl_AbstractStringBuilder__init_($term);
            while (!jur_Lexer_isEmpty($this.$lexemes) && jur_Lexer_isLetter($this.$lexemes) && !jur_Lexer_isHighSurrogate($this.$lexemes) && !jur_Lexer_isLowSurrogate($this.$lexemes) && !(!(!jur_Lexer_isNextSpecial($this.$lexemes) && !$this.$lexemes.$lookAhead) && !(!jur_Lexer_isNextSpecial($this.$lexemes) && jur_Lexer_isLetter0($this.$lexemes.$lookAhead)) && $this.$lexemes.$lookAhead != (-536870871) && ($this.$lexemes.$lookAhead & (-2147418113)) != (-2147483608) && $this.$lexemes.$lookAhead != (-536870788)
            && $this.$lexemes.$lookAhead != (-536870876))) {
                var$4 = jur_Lexer_next($this.$lexemes);
                if (!jl_Character_isSupplementaryCodePoint(var$4))
                    jl_AbstractStringBuilder_append0($term, var$4 & 65535);
                else
                    jl_AbstractStringBuilder_append7($term, jl_Character_toChars(var$4));
            }
            if (!jur_Pattern_hasFlag($this, 2))
                $cur = jur_SequenceSet__init_($term);
            else if (jur_Pattern_hasFlag($this, 64))
                $cur = jur_UCISequenceSet__init_($term);
            else {
                $cur = new jur_CISequenceSet;
                jur_LeafSet__init_($cur);
                $cur.$string0 = jl_AbstractStringBuilder_toString($term);
                $cur.$charCount = jl_StringBuffer_length($term);
            }
        } else
            $cur = jur_Pattern_processQuantifier($this, $last, jur_Pattern_processTerminal($this, $last));
    } else if ($this.$lexemes.$ch != (-536870871))
        $cur = jur_Pattern_processQuantifier($this, $last, jur_Pattern_processTerminal($this, $last));
    else {
        if ($last instanceof jur_FinalSet)
            $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$lexemes.$orig, $this.$lexemes.$curToc));
        $cur = jur_EmptySet__init_($last);
    }
    if (!jur_Lexer_isEmpty($this.$lexemes) && !($this.$lexemes.$ch == (-536870871) && !($last instanceof jur_FinalSet)) && $this.$lexemes.$ch != (-536870788)) {
        $next = jur_Pattern_processSubExpression($this, $last);
        if ($cur instanceof jur_LeafQuantifierSet && !($cur instanceof jur_CompositeQuantifierSet) && !($cur instanceof jur_GroupQuantifierSet) && !($cur instanceof jur_AltQuantifierSet)) {
            $last = $cur;
            if (!$next.$first($last.$innerSet)) {
                $cur = new jur_UnifiedQuantifierSet;
                jur_LeafQuantifierSet__init_($cur, $last.$innerSet, $last.$next4, $last.$type);
                $cur.$innerSet.$setNext($cur);
            }
        }
        if (($next.$getType0() & 65535) != 43)
            $cur.$setNext($next);
        else
            $cur.$setNext($next.$innerSet);
    } else {
        if ($cur === null)
            return null;
        $cur.$setNext($last);
    }
    if (($cur.$getType0() & 65535) != 43)
        return $cur;
    return $cur.$innerSet;
}
function jur_Pattern_processQuantifier($this, $last, $term) {
    var $quant, $leaf, $q, var$6;
    $quant = $this.$lexemes.$ch;
    if ($term !== null && !($term instanceof jur_LeafSet)) {
        switch ($quant) {
            case -2147483606:
                jur_Lexer_next($this.$lexemes);
                $leaf = new jur_PossessiveGroupQuantifierSet;
                jur_QuantifierSet__init_($leaf, $term, $last, $quant);
                $term.$setNext(jur_FSet_posFSet);
                return $leaf;
            case -2147483605:
                jur_Lexer_next($this.$lexemes);
                $leaf = new jur_PosPlusGroupQuantifierSet;
                jur_QuantifierSet__init_($leaf, $term, $last, (-2147483606));
                $term.$setNext(jur_FSet_posFSet);
                return $leaf;
            case -2147483585:
                jur_Lexer_next($this.$lexemes);
                $leaf = new jur_PosAltGroupQuantifierSet;
                jur_QuantifierSet__init_($leaf, $term, $last, (-536870849));
                $term.$setNext(jur_FSet_posFSet);
                return $leaf;
            case -2147483525:
                $leaf = new jur_PosCompositeGroupQuantifierSet;
                $q = jur_Lexer_nextSpecial($this.$lexemes);
                $quant = $this.$compCount + 1 | 0;
                $this.$compCount = $quant;
                jur_CompositeGroupQuantifierSet__init_($leaf, $q, $term, $last, (-536870849), $quant);
                $term.$setNext(jur_FSet_posFSet);
                return $leaf;
            case -1073741782:
            case -1073741781:
                jur_Lexer_next($this.$lexemes);
                $q = new jur_ReluctantGroupQuantifierSet;
                jur_QuantifierSet__init_($q, $term, $last, $quant);
                $term.$setNext($q);
                return $q;
            case -1073741761:
                jur_Lexer_next($this.$lexemes);
                $q = new jur_RelAltGroupQuantifierSet;
                jur_QuantifierSet__init_($q, $term, $last, (-536870849));
                $term.$setNext($last);
                return $q;
            case -1073741701:
                $q = new jur_RelCompositeGroupQuantifierSet;
                $leaf = jur_Lexer_nextSpecial($this.$lexemes);
                var$6 = $this.$compCount + 1 | 0;
                $this.$compCount = var$6;
                jur_CompositeGroupQuantifierSet__init_($q, $leaf, $term, $last, (-536870849), var$6);
                $term.$setNext($q);
                return $q;
            case -536870870:
            case -536870869:
                jur_Lexer_next($this.$lexemes);
                if ($term.$getType0() != (-2147483602)) {
                    $q = new jur_GroupQuantifierSet;
                    jur_QuantifierSet__init_($q, $term, $last, $quant);
                } else if (jur_Pattern_hasFlag($this, 32)) {
                    $q = new jur_DotAllQuantifierSet;
                    jur_QuantifierSet__init_($q, $term, $last, $quant);
                } else {
                    $q = new jur_DotQuantifierSet;
                    $leaf = jur_AbstractLineTerminator_getInstance($this.$flags0);
                    jur_QuantifierSet__init_($q, $term, $last, $quant);
                    $q.$lt = $leaf;
                }
                $term.$setNext($q);
                return $q;
            case -536870849:
                jur_Lexer_next($this.$lexemes);
                $q = new jur_AltGroupQuantifierSet;
                jur_QuantifierSet__init_($q, $term, $last, (-536870849));
                $term.$setNext($last);
                return $q;
            case -536870789:
                $q = new jur_CompositeGroupQuantifierSet;
                $leaf = jur_Lexer_nextSpecial($this.$lexemes);
                var$6 = $this.$compCount + 1 | 0;
                $this.$compCount = var$6;
                jur_CompositeGroupQuantifierSet__init_($q, $leaf, $term, $last, (-536870849), var$6);
                $term.$setNext($q);
                return $q;
            default:
        }
        return $term;
    }
    $leaf = null;
    if ($term !== null)
        $leaf = $term;
    switch ($quant) {
        case -2147483606:
        case -2147483605:
            jur_Lexer_next($this.$lexemes);
            $q = new jur_PossessiveQuantifierSet;
            jur_LeafQuantifierSet__init_($q, $leaf, $last, $quant);
            $leaf.$next4 = $q;
            return $q;
        case -2147483585:
            jur_Lexer_next($this.$lexemes);
            $term = new jur_PossessiveAltQuantifierSet;
            jur_LeafQuantifierSet__init_($term, $leaf, $last, (-2147483585));
            return $term;
        case -2147483525:
            $term = new jur_PossessiveCompositeQuantifierSet;
            jur_CompositeQuantifierSet__init_($term, jur_Lexer_nextSpecial($this.$lexemes), $leaf, $last, (-2147483525));
            return $term;
        case -1073741782:
        case -1073741781:
            jur_Lexer_next($this.$lexemes);
            $q = new jur_ReluctantQuantifierSet;
            jur_LeafQuantifierSet__init_($q, $leaf, $last, $quant);
            $leaf.$next4 = $q;
            return $q;
        case -1073741761:
            jur_Lexer_next($this.$lexemes);
            $term = new jur_ReluctantAltQuantifierSet;
            jur_LeafQuantifierSet__init_($term, $leaf, $last, (-1073741761));
            return $term;
        case -1073741701:
            $term = new jur_ReluctantCompositeQuantifierSet;
            jur_CompositeQuantifierSet__init_($term, jur_Lexer_nextSpecial($this.$lexemes), $leaf, $last, (-1073741701));
            return $term;
        case -536870870:
        case -536870869:
            jur_Lexer_next($this.$lexemes);
            $q = jur_LeafQuantifierSet__init_0($leaf, $last, $quant);
            $leaf.$next4 = $q;
            return $q;
        case -536870849:
            jur_Lexer_next($this.$lexemes);
            $term = new jur_AltQuantifierSet;
            jur_LeafQuantifierSet__init_($term, $leaf, $last, (-536870849));
            return $term;
        case -536870789:
            return jur_CompositeQuantifierSet__init_0(jur_Lexer_nextSpecial($this.$lexemes), $leaf, $last, (-536870789));
        default:
    }
    return $term;
}
function jur_Pattern_processTerminal($this, $last) {
    var $term, var$3, $ch, $newFlags, $number, $negative, $cc;
    $term = null;
    var$3 = $last instanceof jur_FinalSet;
    while (true) {
        a: {
            $ch = jur_Lexer_peek($this.$lexemes);
            if (($ch & (-2147418113)) == (-2147483608)) {
                jur_Lexer_next($this.$lexemes);
                $newFlags = ($ch & 16711680) >> 16;
                $ch = $ch & (-16711681);
                if ($ch == (-16777176))
                    $this.$flags0 = $newFlags;
                else {
                    if ($ch != (-1073741784))
                        $newFlags = $this.$flags0;
                    $term = jur_Pattern_processExpression($this, $ch, $newFlags, $last);
                    if (jur_Lexer_peek($this.$lexemes) != (-536870871))
                        $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Lexer_toString($this.$lexemes), jur_Lexer_getIndex($this.$lexemes)));
                    jur_Lexer_next($this.$lexemes);
                }
            } else {
                b: {
                    c: {
                        switch ($ch) {
                            case -2147483599:
                            case -2147483598:
                            case -2147483597:
                            case -2147483596:
                            case -2147483595:
                            case -2147483594:
                            case -2147483593:
                            case -2147483592:
                            case -2147483591:
                                $number = ($ch & 2147483647) - 48 | 0;
                                if ($this.$globalGroupIndex < $number)
                                    $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Lexer_toString($this.$lexemes), jur_Lexer_getIndex($this.$lexemes)));
                                jur_Lexer_next($this.$lexemes);
                                $this.$consCount = $this.$consCount + 1 | 0;
                                $term = !jur_Pattern_hasFlag($this, 2) ? jur_BackReferenceSet__init_($number, $this.$consCount) : jur_Pattern_hasFlag($this, 64) ? jur_UCIBackReferenceSet__init_($number, $this.$consCount) : jur_CIBackReferenceSet__init_($number, $this.$consCount);
                                $this.$backRefs.data[$number].$isBackReferenced = 1;
                                $this.$needsBackRefReplacement = 1;
                                break a;
                            case -2147483583:
                                break;
                            case -2147483582:
                                jur_Lexer_next($this.$lexemes);
                                $term = jur_WordBoundary__init_(0);
                                break a;
                            case -2147483577:
                                jur_Lexer_next($this.$lexemes);
                                $term = jur_PreviousMatch__init_0();
                                break a;
                            case -2147483558:
                                jur_Lexer_next($this.$lexemes);
                                $term = new jur_EOLSet;
                                $number = $this.$consCount + 1 | 0;
                                $this.$consCount = $number;
                                jur_EOLSet__init_($term, $number);
                                break a;
                            case -2147483550:
                                jur_Lexer_next($this.$lexemes);
                                $term = jur_WordBoundary__init_(1);
                                break a;
                            case -2147483526:
                                jur_Lexer_next($this.$lexemes);
                                $term = jur_EOISet__init_0();
                                break a;
                            case -536870876:
                                break c;
                            case -536870866:
                                jur_Lexer_next($this.$lexemes);
                                if (jur_Pattern_hasFlag($this, 32)) {
                                    $term = jur_DotAllSet__init_0();
                                    break a;
                                }
                                $term = jur_DotSet__init_(jur_AbstractLineTerminator_getInstance($this.$flags0));
                                break a;
                            case -536870821:
                                jur_Lexer_next($this.$lexemes);
                                $negative = 0;
                                if (jur_Lexer_peek($this.$lexemes) == (-536870818)) {
                                    $negative = 1;
                                    jur_Lexer_next($this.$lexemes);
                                }
                                $term = jur_Pattern_processRange($this, $negative, $last);
                                if (jur_Lexer_peek($this.$lexemes) != (-536870819))
                                    $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Lexer_toString($this.$lexemes), jur_Lexer_getIndex($this.$lexemes)));
                                jur_Lexer_setMode($this.$lexemes, 1);
                                jur_Lexer_next($this.$lexemes);
                                break a;
                            case -536870818:
                                jur_Lexer_next($this.$lexemes);
                                $this.$consCount = $this.$consCount + 1 | 0;
                                if (!jur_Pattern_hasFlag($this, 8)) {
                                    $term = jur_SOLSet__init_0();
                                    break a;
                                }
                                $term = jur_MultiLineSOLSet__init_(jur_AbstractLineTerminator_getInstance($this.$flags0));
                                break a;
                            case 0:
                                $cc = jur_Lexer_peekSpecial($this.$lexemes);
                                if ($cc !== null)
                                    $term = jur_Pattern_processRangeSet($this, $cc);
                                else {
                                    if (jur_Lexer_isEmpty($this.$lexemes)) {
                                        $term = jur_EmptySet__init_($last);
                                        break a;
                                    }
                                    $term = jur_CharSet__init_($ch & 65535);
                                }
                                jur_Lexer_next($this.$lexemes);
                                break a;
                            default:
                                break b;
                        }
                        jur_Lexer_next($this.$lexemes);
                        $term = jur_SOLSet__init_0();
                        break a;
                    }
                    jur_Lexer_next($this.$lexemes);
                    $this.$consCount = $this.$consCount + 1 | 0;
                    if (jur_Pattern_hasFlag($this, 8)) {
                        if (jur_Pattern_hasFlag($this, 1)) {
                            $term = jur_UMultiLineEOLSet__init_($this.$consCount);
                            break a;
                        }
                        $term = jur_MultiLineEOLSet__init_($this.$consCount);
                        break a;
                    }
                    if (jur_Pattern_hasFlag($this, 1)) {
                        $term = jur_UEOLSet__init_($this.$consCount);
                        break a;
                    }
                    $term = jur_EOLSet__init_0($this.$consCount);
                    break a;
                }
                if ($ch >= 0 && !jur_Lexer_isSpecial($this.$lexemes)) {
                    $term = jur_Pattern_processCharSet($this, $ch);
                    jur_Lexer_next($this.$lexemes);
                } else if ($ch == (-536870788))
                    $term = jur_EmptySet__init_($last);
                else {
                    if ($ch != (-536870871))
                        $rt_throw(jur_PatternSyntaxException__init_(!jur_Lexer_isSpecial($this.$lexemes) ? jl_Character_toString0($ch & 65535) : jur_Lexer_peekSpecial($this.$lexemes).$toString(), jur_Lexer_toString($this.$lexemes), jur_Lexer_getIndex($this.$lexemes)));
                    if (var$3)
                        $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Lexer_toString($this.$lexemes), jur_Lexer_getIndex($this.$lexemes)));
                    $term = jur_EmptySet__init_($last);
                }
            }
        }
        if ($ch != (-16777176))
            break;
    }
    return $term;
}
function jur_Pattern_processRange($this, $negative, $last) {
    var $rangeSet;
    $rangeSet = jur_Pattern_processRangeSet($this, jur_Pattern_processRangeExpression($this, $negative));
    $rangeSet.$setNext($last);
    return $rangeSet;
}
function jur_Pattern_processRangeExpression($this, $alt) {
    var $res, $buffer, $intersection, $notClosed, $firstInClass, $cur, $negative, $cs, $$je;
    $res = jur_CharClass__init_0(jur_Pattern_hasFlag($this, 2), jur_Pattern_hasFlag($this, 64));
    jur_AbstractCharClass_setNegative($res, $alt);
    $buffer = (-1);
    $intersection = 0;
    $notClosed = 0;
    $firstInClass = 1;
    a: {
        b: {
            c: while (true) {
                if (jur_Lexer_isEmpty($this.$lexemes))
                    break a;
                $notClosed = $this.$lexemes.$ch == (-536870819) && !$firstInClass ? 0 : 1;
                if (!$notClosed)
                    break a;
                d: {
                    switch ($this.$lexemes.$ch) {
                        case -536870874:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = jur_Lexer_next($this.$lexemes);
                            if ($this.$lexemes.$ch != (-536870874)) {
                                $buffer = 38;
                                break d;
                            }
                            if ($this.$lexemes.$lookAhead == (-536870821)) {
                                jur_Lexer_next($this.$lexemes);
                                $intersection = 1;
                                $buffer = (-1);
                                break d;
                            }
                            jur_Lexer_next($this.$lexemes);
                            if ($firstInClass) {
                                $res = jur_Pattern_processRangeExpression($this, 0);
                                break d;
                            }
                            if ($this.$lexemes.$ch == (-536870819))
                                break d;
                            jur_CharClass_intersection($res, jur_Pattern_processRangeExpression($this, 0));
                            break d;
                        case -536870867:
                            if (!$firstInClass && $this.$lexemes.$lookAhead != (-536870819) && $this.$lexemes.$lookAhead != (-536870821) && $buffer >= 0) {
                                jur_Lexer_next($this.$lexemes);
                                $cur = $this.$lexemes.$ch;
                                if (jur_Lexer_isSpecial($this.$lexemes))
                                    break c;
                                if ($cur < 0 && $this.$lexemes.$lookAhead != (-536870819) && $this.$lexemes.$lookAhead != (-536870821) && $buffer >= 0)
                                    break c;
                                e: {
                                    try {
                                        if (jur_Lexer_isLetter0($cur))
                                            break e;
                                        $cur = $cur & 65535;
                                        break e;
                                    } catch ($$e) {
                                        $$je = $rt_wrapException($$e);
                                        if ($$je instanceof jl_Exception) {
                                            break b;
                                        } else {
                                            throw $$e;
                                        }
                                    }
                                }
                                try {
                                    jur_CharClass_add0($res, $buffer, $cur);
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof jl_Exception) {
                                        break b;
                                    } else {
                                        throw $$e;
                                    }
                                }
                                jur_Lexer_next($this.$lexemes);
                                $buffer = (-1);
                                break d;
                            }
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 45;
                            jur_Lexer_next($this.$lexemes);
                            break d;
                        case -536870821:
                            if ($buffer >= 0) {
                                jur_CharClass_add($res, $buffer);
                                $buffer = (-1);
                            }
                            jur_Lexer_next($this.$lexemes);
                            $negative = 0;
                            if ($this.$lexemes.$ch == (-536870818)) {
                                jur_Lexer_next($this.$lexemes);
                                $negative = 1;
                            }
                            if (!$intersection)
                                jur_CharClass_union($res, jur_Pattern_processRangeExpression($this, $negative));
                            else
                                jur_CharClass_intersection($res, jur_Pattern_processRangeExpression($this, $negative));
                            $intersection = 0;
                            jur_Lexer_next($this.$lexemes);
                            break d;
                        case -536870819:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 93;
                            jur_Lexer_next($this.$lexemes);
                            break d;
                        case -536870818:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $buffer = 94;
                            jur_Lexer_next($this.$lexemes);
                            break d;
                        case 0:
                            if ($buffer >= 0)
                                jur_CharClass_add($res, $buffer);
                            $cs = $this.$lexemes.$curST;
                            if ($cs === null)
                                $buffer = 0;
                            else {
                                jur_CharClass_add1($res, $cs);
                                $buffer = (-1);
                            }
                            jur_Lexer_next($this.$lexemes);
                            break d;
                        default:
                    }
                    if ($buffer >= 0)
                        jur_CharClass_add($res, $buffer);
                    $buffer = jur_Lexer_next($this.$lexemes);
                }
                $firstInClass = 0;
            }
            $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Pattern_pattern($this), $this.$lexemes.$curToc));
        }
        $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Pattern_pattern($this), $this.$lexemes.$curToc));
    }
    if (!$notClosed) {
        if ($buffer >= 0)
            jur_CharClass_add($res, $buffer);
        return $res;
    }
    $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Pattern_pattern($this), $this.$lexemes.$curToc - 1 | 0));
}
function jur_Pattern_processCharSet($this, $ch) {
    var $isSupplCodePoint, var$3, var$4;
    $isSupplCodePoint = jl_Character_isSupplementaryCodePoint($ch);
    if (jur_Pattern_hasFlag($this, 2)) {
        a: {
            if (!($ch >= 97 && $ch <= 122)) {
                if ($ch < 65)
                    break a;
                if ($ch > 90)
                    break a;
            }
            return jur_CICharSet__init_($ch & 65535);
        }
        if (jur_Pattern_hasFlag($this, 64) && $ch > 128) {
            if ($isSupplCodePoint) {
                var$3 = new jur_UCISupplCharSet;
                jur_LeafSet__init_(var$3);
                var$3.$charCount = 2;
                var$3.$ch0 = jl_Character_toLowerCase0(jl_Character_toUpperCase($ch));
                return var$3;
            }
            if (jur_Lexer_isLowSurrogate0($ch))
                return jur_LowSurrogateCharSet__init_($ch & 65535);
            if (!jur_Lexer_isHighSurrogate0($ch))
                return jur_UCICharSet__init_($ch & 65535);
            return jur_HighSurrogateCharSet__init_($ch & 65535);
        }
    }
    if (!$isSupplCodePoint) {
        if (jur_Lexer_isLowSurrogate0($ch))
            return jur_LowSurrogateCharSet__init_($ch & 65535);
        if (!jur_Lexer_isHighSurrogate0($ch))
            return jur_CharSet__init_($ch & 65535);
        return jur_HighSurrogateCharSet__init_($ch & 65535);
    }
    var$3 = new jur_SupplCharSet;
    jur_LeafSet__init_(var$3);
    var$3.$charCount = 2;
    var$3.$ch1 = $ch;
    var$4 = jl_Character_toChars($ch).data;
    var$3.$high = var$4[0];
    var$3.$low = var$4[1];
    return var$3;
}
function jur_Pattern_processRangeSet($this, $charClass) {
    var $surrogates, $lowHighSurrRangeSet, var$4;
    if (!jur_AbstractCharClass_hasLowHighSurrogates($charClass)) {
        if (!$charClass.$mayContainSupplCodepoints) {
            if ($charClass.$hasUCI())
                return jur_UCIRangeSet__init_($charClass);
            return jur_RangeSet__init_($charClass);
        }
        if (!$charClass.$hasUCI())
            return jur_SupplRangeSet__init_($charClass);
        $surrogates = new jur_UCISupplRangeSet;
        jur_SupplRangeSet__init_0($surrogates, $charClass);
        return $surrogates;
    }
    $surrogates = jur_AbstractCharClass_getSurrogates($charClass);
    $lowHighSurrRangeSet = new jur_LowHighSurrogateRangeSet;
    jur_AbstractSet__init_($lowHighSurrRangeSet);
    $lowHighSurrRangeSet.$surrChars = $surrogates;
    $lowHighSurrRangeSet.$alt = $surrogates.$alt0;
    if (!$charClass.$mayContainSupplCodepoints) {
        if ($charClass.$hasUCI())
            return jur_CompositeRangeSet__init_(jur_UCIRangeSet__init_(jur_AbstractCharClass_getWithoutSurrogates($charClass)), $lowHighSurrRangeSet);
        return jur_CompositeRangeSet__init_(jur_RangeSet__init_(jur_AbstractCharClass_getWithoutSurrogates($charClass)), $lowHighSurrRangeSet);
    }
    if (!$charClass.$hasUCI())
        return jur_CompositeRangeSet__init_(jur_SupplRangeSet__init_(jur_AbstractCharClass_getWithoutSurrogates($charClass)), $lowHighSurrRangeSet);
    $surrogates = new jur_CompositeRangeSet;
    var$4 = new jur_UCISupplRangeSet;
    jur_SupplRangeSet__init_0(var$4, jur_AbstractCharClass_getWithoutSurrogates($charClass));
    jur_CompositeRangeSet__init_0($surrogates, var$4, $lowHighSurrRangeSet);
    return $surrogates;
}
function jur_Pattern_compile($pattern) {
    var var$2, var$3;
    if ($pattern === null) {
        $pattern = new jl_NullPointerException;
        jl_Throwable__init_($pattern, $rt_s(487));
        $rt_throw($pattern);
    }
    jur_AbstractSet_counter = 1;
    var$2 = jur_Pattern__init_0();
    var$3 = new jur_Lexer;
    var$3.$mode = 1;
    var$3.$orig = $pattern;
    var$3.$pattern1 = $rt_createCharArray(jl_String_length($pattern) + 2 | 0);
    jl_System_arraycopy(jl_String_toCharArray($pattern), 0, var$3.$pattern1, 0, jl_String_length($pattern));
    var$3.$pattern1.data[var$3.$pattern1.data.length - 1 | 0] = 0;
    var$3.$pattern1.data[var$3.$pattern1.data.length - 2 | 0] = 0;
    var$3.$patternFullLength = var$3.$pattern1.data.length;
    var$3.$flags1 = 0;
    jur_Lexer_movePointer(var$3);
    jur_Lexer_movePointer(var$3);
    var$2.$lexemes = var$3;
    var$2.$flags0 = 0;
    var$2.$start2 = jur_Pattern_processExpression(var$2, (-1), var$2.$flags0, null);
    if (jur_Lexer_isEmpty(var$2.$lexemes)) {
        if (var$2.$needsBackRefReplacement)
            var$2.$start2.$processSecondPass();
        return var$2;
    }
    $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), var$2.$lexemes.$orig, var$2.$lexemes.$curToc));
}
function jur_Pattern_groupCount($this) {
    return $this.$globalGroupIndex;
}
function jur_Pattern_compCount($this) {
    return $this.$compCount + 1 | 0;
}
function jur_Pattern_consCount($this) {
    return $this.$consCount + 1 | 0;
}
function jur_Pattern_getSupplement($ch) {
    if ($ch >= 97 && $ch <= 122)
        $ch = ($ch - 32 | 0) & 65535;
    else if ($ch >= 65 && $ch <= 90)
        $ch = ($ch + 32 | 0) & 65535;
    return $ch;
}
function jur_Pattern_hasFlag($this, $flag) {
    return ($this.$flags0 & $flag) != $flag ? 0 : 1;
}
function jur_Pattern__init_($this) {
    $this.$backRefs = $rt_createArray(jur_FSet, 10);
    $this.$globalGroupIndex = (-1);
    $this.$compCount = (-1);
    $this.$consCount = (-1);
}
function jnci_UTF8Charset() {
    jnc_Charset.call(this);
}
function jnci_UTF8Charset__init_0() {
    var var_0 = new jnci_UTF8Charset();
    jnci_UTF8Charset__init_(var_0);
    return var_0;
}
function jnci_UTF8Charset__init_($this) {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createArray(jl_String, 0);
    var$2 = var$1.data;
    jnc_Charset_checkCanonicalName($rt_s(62));
    var$3 = var$2.length;
    var$4 = 0;
    while (var$4 < var$3) {
        jnc_Charset_checkCanonicalName(var$2[var$4]);
        var$4 = var$4 + 1 | 0;
    }
    $this.$canonicalName = $rt_s(62);
    $this.$aliases = var$1.$clone();
}
function jnci_UTF8Charset_newDecoder($this) {
    var var$1;
    var$1 = new jnci_UTF8Decoder;
    var$1.$replacement = $rt_s(488);
    var$1.$malformedAction = jnc_CodingErrorAction_REPORT;
    var$1.$unmappableAction = jnc_CodingErrorAction_REPORT;
    var$1.$charset0 = $this;
    var$1.$averageCharsPerByte = 0.3333333432674408;
    var$1.$maxCharsPerByte = 0.5;
    return var$1;
}
function jnci_UTF8Charset_newEncoder($this) {
    var var$1, var$2, var$3, var$4, var$5;
    var$1 = new jnci_UTF8Encoder;
    var$2 = $rt_createByteArray(1);
    var$3 = var$2.data;
    var$3[0] = 63;
    var$1.$malformedAction0 = jnc_CodingErrorAction_REPORT;
    var$1.$unmappableAction0 = jnc_CodingErrorAction_REPORT;
    var$4 = var$3.length;
    if (var$4 && var$4 >= var$1.$maxBytesPerChar) {
        var$1.$charset1 = $this;
        var$1.$replacement0 = var$2.$clone();
        var$1.$averageBytesPerChar = 2.0;
        var$1.$maxBytesPerChar = 4.0;
        return var$1;
    }
    var$5 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$5, $rt_s(489));
    $rt_throw(var$5);
}
function nle_EaglercraftRandom() {
    var a = this; jl_Object.call(a);
    a.$seed = Long_ZERO;
    a.$nextNextGaussian = 0.0;
    a.$haveNextNextGaussian = 0;
}
function nle_EaglercraftRandom__init_0() {
    var var_0 = new nle_EaglercraftRandom();
    nle_EaglercraftRandom__init_(var_0);
    return var_0;
}
function nle_EaglercraftRandom__init_1(var_0) {
    var var_1 = new nle_EaglercraftRandom();
    nle_EaglercraftRandom__init_2(var_1, var_0);
    return var_1;
}
function nle_EaglercraftRandom__init_($this) {
    nle_EaglercraftRandom__init_2($this, jl_System_nanoTime());
}
function nle_EaglercraftRandom__init_2($this, $seed) {
    $this.$seed = Long_fromInt(69);
    $this.$haveNextNextGaussian = 0;
    $this.$seed = $seed;
}
function nle_EaglercraftRandom_setSeed($this, $yeed) {
    $this.$seed = $yeed;
}
function nle_EaglercraftRandom_next($this, $bits) {
    $this.$seed = Long_and(Long_add(Long_mul($this.$seed, new Long(3740067437, 5)), Long_fromInt(11)), new Long(4294967295, 65535));
    return Long_shru($this.$seed, 48 - $bits | 0).lo;
}
function nle_EaglercraftRandom_nextInt0($this) {
    return nle_EaglercraftRandom_next($this, 32);
}
function nle_EaglercraftRandom_nextInt($this, $bound) {
    var $u, $m, var$4;
    $u = nle_EaglercraftRandom_next($this, 31);
    $m = $bound - 1 | 0;
    if (!($bound & $m))
        var$4 = Long_shr(Long_mul(Long_fromInt($bound), Long_fromInt($u)), 31).lo;
    else
        while (true) {
            var$4 = $u % $bound | 0;
            if ((($u - var$4 | 0) + $m | 0) >= 0)
                break;
            $u = nle_EaglercraftRandom_next($this, 31);
        }
    return var$4;
}
function nle_EaglercraftRandom_nextLong($this) {
    return Long_add(Long_shl(Long_fromInt(nle_EaglercraftRandom_next($this, 32)), 32), Long_fromInt(nle_EaglercraftRandom_next($this, 32)));
}
function nle_EaglercraftRandom_nextBoolean($this) {
    return !nle_EaglercraftRandom_next($this, 1) ? 0 : 1;
}
function nle_EaglercraftRandom_nextFloat($this) {
    return nle_EaglercraftRandom_next($this, 24) / 1.6777216E7;
}
function nle_EaglercraftRandom_nextDouble($this) {
    return Long_toNumber(Long_add(Long_shl(Long_fromInt(nle_EaglercraftRandom_next($this, 26)), 27), Long_fromInt(nle_EaglercraftRandom_next($this, 27)))) * 1.1102230246251565E-16;
}
function nle_EaglercraftRandom_nextGaussian($this) {
    var $v1, $v2, $s, $multiplier;
    if ($this.$haveNextNextGaussian) {
        $this.$haveNextNextGaussian = 0;
        return $this.$nextNextGaussian;
    }
    while (true) {
        while (true) {
            $v1 = 2.0 * nle_EaglercraftRandom_nextDouble($this) - 1.0;
            $v2 = 2.0 * nle_EaglercraftRandom_nextDouble($this) - 1.0;
            $s = $v1 * $v1 + $v2 * $v2;
            if ($s >= 1.0)
                continue;
            else
                break;
        }
        if ($s === 0.0)
            continue;
        else
            break;
    }
    $multiplier = jl_Math_sqrt((-2.0) * jl_Math_log($s) / $s);
    $this.$nextNextGaussian = $v2 * $multiplier;
    $this.$haveNextNextGaussian = 1;
    return $v1 * $multiplier;
}
function jt_DateFormatSymbols() {
    var a = this; jl_Object.call(a);
    a.$locale1 = null;
    a.$localPatternChars = null;
    a.$ampms = null;
    a.$eras = null;
    a.$months = null;
    a.$shortMonths = null;
    a.$shortWeekdays = null;
    a.$weekdays = null;
    a.$zoneStrings = null;
}
function jt_DateFormatSymbols__init_1() {
    var var_0 = new jt_DateFormatSymbols();
    jt_DateFormatSymbols__init_(var_0);
    return var_0;
}
function jt_DateFormatSymbols__init_0(var_0) {
    var var_1 = new jt_DateFormatSymbols();
    jt_DateFormatSymbols__init_2(var_1, var_0);
    return var_1;
}
function jt_DateFormatSymbols__init_($this) {
    jt_DateFormatSymbols__init_2($this, ju_Locale_defaultLocale);
}
function jt_DateFormatSymbols__init_2($this, $locale) {
    $this.$locale1 = $locale;
}
function jt_DateFormatSymbols_clone($this) {
    var $symbols, $i;
    $symbols = jt_DateFormatSymbols__init_0($this.$locale1);
    if ($this.$ampms !== null)
        $symbols.$ampms = ju_Arrays_copyOf($this.$ampms, $this.$ampms.data.length);
    if ($this.$eras !== null)
        $symbols.$eras = ju_Arrays_copyOf($this.$eras, $this.$eras.data.length);
    if ($this.$months !== null)
        $symbols.$months = ju_Arrays_copyOf($this.$months, $this.$months.data.length);
    if ($this.$shortMonths !== null)
        $symbols.$shortMonths = ju_Arrays_copyOf($this.$shortMonths, $this.$shortMonths.data.length);
    if ($this.$shortWeekdays !== null)
        $symbols.$shortWeekdays = ju_Arrays_copyOf($this.$shortWeekdays.$clone(), $this.$shortWeekdays.data.length);
    if ($this.$weekdays !== null)
        $symbols.$weekdays = ju_Arrays_copyOf($this.$weekdays, $this.$weekdays.data.length);
    a: {
        if ($this.$zoneStrings !== null) {
            $symbols.$zoneStrings = $rt_createArray($rt_arraycls(jl_String), $this.$zoneStrings.data.length);
            $i = 0;
            while (true) {
                if ($i >= $this.$zoneStrings.data.length)
                    break a;
                $symbols.$zoneStrings.data[$i] = ju_Arrays_copyOf($this.$zoneStrings.data[$i], $this.$zoneStrings.data[$i].data.length);
                $i = $i + 1 | 0;
            }
        }
    }
    return $symbols;
}
function jt_DateFormatSymbols_equals($this, $object) {
    var $obj;
    if ($this === $object)
        return 1;
    if (!($object instanceof jt_DateFormatSymbols))
        return 0;
    $obj = $object;
    if (!ju_Locale_equals($this.$locale1, $obj.$locale1))
        return 0;
    if (!ju_Objects_equals($this.$localPatternChars, $obj.$localPatternChars))
        return 0;
    if (!ju_Arrays_equals($this.$ampms, $obj.$ampms))
        return 0;
    if (!ju_Arrays_equals($this.$eras, $obj.$eras))
        return 0;
    if (!ju_Arrays_equals($this.$months, $obj.$months))
        return 0;
    if (!ju_Arrays_equals($this.$shortMonths, $obj.$shortMonths))
        return 0;
    if (!ju_Arrays_equals($this.$shortWeekdays, $obj.$shortWeekdays))
        return 0;
    if (!ju_Arrays_equals($this.$weekdays, $obj.$weekdays))
        return 0;
    return ju_Arrays_equals($this.$zoneStrings, $obj.$zoneStrings);
}
function jt_DateFormatSymbols_getAmPmStrings($this) {
    var var$1, var$2;
    if ($this.$ampms === null) {
        var$1 = $this.$locale1.$languageCode;
        var$2 = $this.$locale1.$countryCode;
        if (otciu_CLDRHelper_$$metadata$$2 === null)
            otciu_CLDRHelper_$$metadata$$2 = otciu_CLDRHelper_getAmPmMap$$create();
        $this.$ampms = otciu_CLDRHelper_resolveDateFormatSymbols(otciu_CLDRHelper_$$metadata$$2, var$1, var$2);
    }
    return $this.$ampms.$clone();
}
function jt_DateFormatSymbols_getEras($this) {
    var var$1, var$2;
    if ($this.$eras === null) {
        var$1 = $this.$locale1.$languageCode;
        var$2 = $this.$locale1.$countryCode;
        if (otciu_CLDRHelper_$$metadata$$1 === null)
            otciu_CLDRHelper_$$metadata$$1 = otciu_CLDRHelper_getErasMap$$create();
        $this.$eras = otciu_CLDRHelper_resolveDateFormatSymbols(otciu_CLDRHelper_$$metadata$$1, var$1, var$2);
    }
    return $this.$eras.$clone();
}
function jt_DateFormatSymbols_getMonths($this) {
    var var$1, var$2;
    if ($this.$months === null) {
        var$1 = $this.$locale1.$languageCode;
        var$2 = $this.$locale1.$countryCode;
        if (otciu_CLDRHelper_$$metadata$$3 === null)
            otciu_CLDRHelper_$$metadata$$3 = otciu_CLDRHelper_getMonthMap$$create();
        $this.$months = otciu_CLDRHelper_resolveDateFormatSymbols(otciu_CLDRHelper_$$metadata$$3, var$1, var$2);
    }
    return $this.$months.$clone();
}
function jt_DateFormatSymbols_getShortMonths($this) {
    var var$1, var$2;
    if ($this.$shortMonths === null) {
        var$1 = $this.$locale1.$languageCode;
        var$2 = $this.$locale1.$countryCode;
        if (otciu_CLDRHelper_$$metadata$$4 === null)
            otciu_CLDRHelper_$$metadata$$4 = otciu_CLDRHelper_getShortMonthMap$$create();
        $this.$shortMonths = otciu_CLDRHelper_resolveDateFormatSymbols(otciu_CLDRHelper_$$metadata$$4, var$1, var$2);
    }
    return $this.$shortMonths.$clone();
}
function jt_DateFormatSymbols_getShortWeekdays($this) {
    var var$1, var$2;
    if ($this.$shortWeekdays === null) {
        var$1 = $this.$locale1.$languageCode;
        var$2 = $this.$locale1.$countryCode;
        if (otciu_CLDRHelper_$$metadata$$6 === null)
            otciu_CLDRHelper_$$metadata$$6 = otciu_CLDRHelper_getShortWeekdayMap$$create();
        $this.$shortWeekdays = otciu_CLDRHelper_resolveDateFormatSymbols(otciu_CLDRHelper_$$metadata$$6, var$1, var$2);
    }
    return $this.$shortWeekdays.$clone();
}
function jt_DateFormatSymbols_getWeekdays($this) {
    var var$1, var$2;
    if ($this.$weekdays === null) {
        var$1 = $this.$locale1.$languageCode;
        var$2 = $this.$locale1.$countryCode;
        if (otciu_CLDRHelper_$$metadata$$5 === null)
            otciu_CLDRHelper_$$metadata$$5 = otciu_CLDRHelper_getWeekdayMap$$create();
        $this.$weekdays = otciu_CLDRHelper_resolveDateFormatSymbols(otciu_CLDRHelper_$$metadata$$5, var$1, var$2);
    }
    return $this.$weekdays.$clone();
}
function jt_DateFormatSymbols_hashCode($this) {
    var $hashCode, var$2, var$3, var$4, $j, $element, var$7;
    $hashCode = $this.$localPatternChars.$hashCode0();
    var$2 = $this.$ampms.data;
    var$3 = var$2.length;
    var$4 = 0;
    while (var$4 < var$3) {
        $hashCode = $hashCode + jl_String_hashCode(var$2[var$4]) | 0;
        var$4 = var$4 + 1 | 0;
    }
    var$2 = $this.$eras.data;
    var$3 = var$2.length;
    var$4 = 0;
    while (var$4 < var$3) {
        $hashCode = $hashCode + jl_String_hashCode(var$2[var$4]) | 0;
        var$4 = var$4 + 1 | 0;
    }
    var$2 = $this.$months.data;
    var$4 = var$2.length;
    $j = 0;
    while ($j < var$4) {
        $hashCode = $hashCode + jl_String_hashCode(var$2[$j]) | 0;
        $j = $j + 1 | 0;
    }
    var$2 = $this.$shortMonths.data;
    var$3 = var$2.length;
    var$4 = 0;
    while (var$4 < var$3) {
        $hashCode = $hashCode + jl_String_hashCode(var$2[var$4]) | 0;
        var$4 = var$4 + 1 | 0;
    }
    var$2 = $this.$shortWeekdays.data;
    var$3 = var$2.length;
    var$4 = 0;
    while (var$4 < var$3) {
        $hashCode = $hashCode + jl_String_hashCode(var$2[var$4]) | 0;
        var$4 = var$4 + 1 | 0;
    }
    var$2 = $this.$weekdays.data;
    var$3 = var$2.length;
    var$4 = 0;
    while (var$4 < var$3) {
        $hashCode = $hashCode + jl_String_hashCode(var$2[var$4]) | 0;
        var$4 = var$4 + 1 | 0;
    }
    var$2 = $this.$zoneStrings.data;
    var$3 = var$2.length;
    var$4 = 0;
    while (var$4 < var$3) {
        $element = var$2[var$4];
        $j = 0;
        while (true) {
            var$7 = $element.data;
            if ($j >= var$7.length)
                break;
            if (var$7[$j] !== null)
                $hashCode = $hashCode + jl_String_hashCode(var$7[$j]) | 0;
            $j = $j + 1 | 0;
        }
        var$4 = var$4 + 1 | 0;
    }
    return $hashCode;
}
function nlea_EaglerAdapterImpl2$13() {
    var a = this; jl_Object.call(a);
    a.$val$toLoad = null;
    a.$val$ret = null;
}
function nlea_EaglerAdapterImpl2$13_handleEvent($this, $evt) {
    var $pxlsDat, var$3, var$4, $pxls, $totalPixels, $pixels, var$8, $i, var$10;
    if (nlea_EaglerAdapterImpl2_access$1700() === null)
        nlea_EaglerAdapterImpl2_imageLoadCanvas = nlea_EaglerAdapterImpl2_doc.createElement("canvas");
    if (nlea_EaglerAdapterImpl2_access$1700().width < $this.$val$toLoad.width) {
        $evt = nlea_EaglerAdapterImpl2_access$1700();
        $pxlsDat = $this.$val$toLoad.width;
        $evt.width = $pxlsDat;
    }
    if (nlea_EaglerAdapterImpl2_access$1700().height < $this.$val$toLoad.height) {
        $evt = nlea_EaglerAdapterImpl2_access$1700();
        $pxlsDat = $this.$val$toLoad.height;
        $evt.height = $pxlsDat;
    }
    if (nlea_EaglerAdapterImpl2_access$1800() === null)
        nlea_EaglerAdapterImpl2_imageLoadContext = nlea_EaglerAdapterImpl2_access$1700().getContext("2d");
    $evt = nlea_EaglerAdapterImpl2_access$1800();
    var$3 = $this.$val$toLoad.width;
    var$4 = $this.$val$toLoad.height;
    $evt.clearRect(0.0, 0.0, var$3, var$4);
    $evt = nlea_EaglerAdapterImpl2_access$1800();
    $pxlsDat = $this.$val$toLoad;
    var$3 = $this.$val$toLoad.width;
    var$4 = $this.$val$toLoad.height;
    $evt.drawImage($pxlsDat, 0.0, 0.0, var$3, var$4);
    $evt = nlea_EaglerAdapterImpl2_access$1800();
    var$3 = $this.$val$toLoad.width;
    var$4 = $this.$val$toLoad.height;
    $pxlsDat = $evt.getImageData(0.0, 0.0, var$3, var$4);
    $pxls = $pxlsDat.data;
    $totalPixels = $rt_imul($pxlsDat.width, $pxlsDat.height);
    nlea_EaglerAdapterImpl2_access$1900($rt_str($this.$val$toLoad.src));
    if ($pxls.byteLength < ($totalPixels * 4 | 0)) {
        otpp_AsyncCallbackWrapper_complete($this.$val$ret, null);
        return;
    }
    $pixels = $rt_createIntArray($totalPixels);
    var$8 = $pixels.data;
    $i = 0;
    $totalPixels = var$8.length;
    while ($i < $totalPixels) {
        var$10 = $i * 4 | 0;
        var$8[$i] = $pxls[var$10] << 16 | $pxls[var$10 + 1 | 0] << 8 | $pxls[var$10 + 2 | 0] | $pxls[var$10 + 3 | 0] << 24;
        $i = $i + 1 | 0;
    }
    otpp_AsyncCallbackWrapper_complete($this.$val$ret, nle_EaglerImage__init_($pixels, $pxlsDat.width, $pxlsDat.height, 1));
}
function nlea_EaglerAdapterImpl2$13_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$13_handleEvent(var$0, var$1);
}
function nlea_EaglerAdapterImpl2$14() {
    var a = this; jl_Object.call(a);
    a.$val$toLoad0 = null;
    a.$val$ret0 = null;
}
function nlea_EaglerAdapterImpl2$14_handleEvent($this, $evt) {
    nlea_EaglerAdapterImpl2_access$1900($rt_str($this.$val$toLoad0.src));
    otpp_AsyncCallbackWrapper_complete($this.$val$ret0, null);
}
function nlea_EaglerAdapterImpl2$14_handleEvent$exported$0(var$0, var$1) {
    nlea_EaglerAdapterImpl2$14_handleEvent(var$0, var$1);
}
function jn_ByteBuffer() {
    var a = this; jn_Buffer.call(a);
    a.$start5 = 0;
    a.$array0 = null;
    a.$order = null;
}
function jn_ByteBuffer_allocateDirect($capacity) {
    var var$2, var$3;
    if ($capacity >= 0)
        return jn_ByteBufferImpl__init_($capacity, 1);
    var$2 = new jl_IllegalArgumentException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(490));
    jl_AbstractStringBuilder_append2(var$3, $capacity);
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$2);
}
function jn_ByteBuffer_allocate($capacity) {
    var var$2, var$3;
    if ($capacity >= 0)
        return jn_ByteBufferImpl__init_($capacity, 0);
    var$2 = new jl_IllegalArgumentException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(490));
    jl_AbstractStringBuilder_append2(var$3, $capacity);
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$2);
}
function jn_ByteBuffer_wrap($array, $offset, $length) {
    return jn_ByteBufferImpl__init_0(0, $array.data.length, $array, $offset, $offset + $length | 0, 0, 0);
}
function jn_ByteBuffer_wrap0($array) {
    return jn_ByteBuffer_wrap($array, 0, $array.data.length);
}
function jn_ByteBuffer_get0($this, $dst, $offset, $length) {
    var var$4, var$5, var$6, var$7, var$8, $pos, $i;
    if ($offset >= 0) {
        var$4 = $dst.data;
        var$5 = var$4.length;
        if ($offset < var$5) {
            var$6 = $offset + $length | 0;
            if (var$6 > var$5) {
                var$7 = new jl_IndexOutOfBoundsException;
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                jl_AbstractStringBuilder_append(var$8, $rt_s(491));
                jl_AbstractStringBuilder_append2(var$8, var$6);
                jl_AbstractStringBuilder_append(var$8, $rt_s(483));
                jl_AbstractStringBuilder_append2(var$8, var$5);
                jl_Throwable__init_(var$7, jl_AbstractStringBuilder_toString(var$8));
                $rt_throw(var$7);
            }
            if (jn_Buffer_remaining($this) < $length) {
                var$7 = new jn_BufferUnderflowException;
                jl_Throwable__init_0(var$7);
                $rt_throw(var$7);
            }
            if ($length < 0) {
                var$7 = new jl_IndexOutOfBoundsException;
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                jl_AbstractStringBuilder_append(var$8, $rt_s(484));
                jl_AbstractStringBuilder_append2(var$8, $length);
                jl_AbstractStringBuilder_append(var$8, $rt_s(485));
                jl_Throwable__init_(var$7, jl_AbstractStringBuilder_toString(var$8));
                $rt_throw(var$7);
            }
            $pos = $this.$position + $this.$start5 | 0;
            $i = 0;
            while ($i < $length) {
                var$6 = $offset + 1 | 0;
                $dst = $this.$array0.data;
                var$5 = $pos + 1 | 0;
                var$4[$offset] = $dst[$pos];
                $i = $i + 1 | 0;
                $offset = var$6;
                $pos = var$5;
            }
            $this.$position = $this.$position + $length | 0;
            return $this;
        }
    }
    $dst = $dst.data;
    var$8 = new jl_IndexOutOfBoundsException;
    var$7 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$7);
    jl_AbstractStringBuilder_append(var$7, $rt_s(486));
    jl_AbstractStringBuilder_append2(var$7, $offset);
    jl_AbstractStringBuilder_append(var$7, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$7, $dst.length);
    jl_AbstractStringBuilder_append(var$7, $rt_s(68));
    jl_Throwable__init_(var$8, jl_AbstractStringBuilder_toString(var$7));
    $rt_throw(var$8);
}
function jn_ByteBuffer_get($this, $dst) {
    return jn_ByteBuffer_get0($this, $dst, 0, $dst.data.length);
}
function jn_ByteBuffer_put($this, $src) {
    return jn_ByteBuffer_put0($this, $src.$array0, $src.$start5 + $src.$position | 0, jn_Buffer_remaining($src));
}
function jn_ByteBuffer_put0($this, $src, $offset, $length) {
    var var$4, var$5, var$6, $pos, var$8, $i, var$10;
    if (!$length)
        return $this;
    if ($this.$readOnly2) {
        var$4 = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if (jn_Buffer_remaining($this) < $length) {
        var$4 = new jn_BufferOverflowException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if ($offset >= 0) {
        var$5 = $src.data;
        var$6 = var$5.length;
        if ($offset < var$6) {
            $pos = $offset + $length | 0;
            if ($pos > var$6) {
                var$4 = new jl_IndexOutOfBoundsException;
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                jl_AbstractStringBuilder_append(var$8, $rt_s(492));
                jl_AbstractStringBuilder_append2(var$8, $pos);
                jl_AbstractStringBuilder_append(var$8, $rt_s(483));
                jl_AbstractStringBuilder_append2(var$8, var$6);
                jl_Throwable__init_(var$4, jl_AbstractStringBuilder_toString(var$8));
                $rt_throw(var$4);
            }
            if ($length < 0) {
                var$4 = new jl_IndexOutOfBoundsException;
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                jl_AbstractStringBuilder_append(var$8, $rt_s(484));
                jl_AbstractStringBuilder_append2(var$8, $length);
                jl_AbstractStringBuilder_append(var$8, $rt_s(485));
                jl_Throwable__init_(var$4, jl_AbstractStringBuilder_toString(var$8));
                $rt_throw(var$4);
            }
            $pos = $this.$position + $this.$start5 | 0;
            $i = 0;
            while ($i < $length) {
                $src = $this.$array0.data;
                var$10 = $pos + 1 | 0;
                var$6 = $offset + 1 | 0;
                $src[$pos] = var$5[$offset];
                $i = $i + 1 | 0;
                $pos = var$10;
                $offset = var$6;
            }
            $this.$position = $this.$position + $length | 0;
            return $this;
        }
    }
    $src = $src.data;
    var$8 = new jl_IndexOutOfBoundsException;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, $rt_s(486));
    jl_AbstractStringBuilder_append2(var$4, $offset);
    jl_AbstractStringBuilder_append(var$4, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$4, $src.length);
    jl_AbstractStringBuilder_append(var$4, $rt_s(68));
    jl_Throwable__init_(var$8, jl_AbstractStringBuilder_toString(var$4));
    $rt_throw(var$8);
}
function jn_ByteBuffer_put1($this, $src) {
    return jn_ByteBuffer_put0($this, $src, 0, $src.data.length);
}
function jn_ByteBuffer_hasArray($this) {
    return 1;
}
function jn_ByteBuffer_array($this) {
    return $this.$array0;
}
function jn_ByteBuffer_toString($this) {
    var var$1, var$2;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(493));
    jl_AbstractStringBuilder_append2(var$1, $this.$position);
    jl_AbstractStringBuilder_append(var$1, $rt_s(494));
    jl_AbstractStringBuilder_append2(var$1, $this.$limit);
    jl_AbstractStringBuilder_append(var$1, $rt_s(495));
    jl_AbstractStringBuilder_append2(var$1, $this.$capacity);
    jl_AbstractStringBuilder_append(var$1, $rt_s(496));
    if ($this.$mark1 < 0)
        var$2 = $rt_s(497);
    else {
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append(var$2, $rt_s(498));
        jl_AbstractStringBuilder_append2(var$2, $this.$mark1);
        var$2 = jl_AbstractStringBuilder_toString(var$2);
    }
    jl_AbstractStringBuilder_append(var$1, var$2);
    jl_AbstractStringBuilder_append(var$1, $rt_s(274));
    return jl_AbstractStringBuilder_toString(var$1);
}
function jn_ByteBuffer_hashCode($this) {
    var $hashCode, $pos, $i, var$4, var$5, var$6;
    $hashCode = 0;
    $pos = $this.$position + $this.$start5 | 0;
    $i = $this.$position;
    while ($i < $this.$limit) {
        var$4 = 31 * $hashCode | 0;
        var$5 = $this.$array0.data;
        var$6 = $pos + 1 | 0;
        $hashCode = var$4 + var$5[$pos] | 0;
        $i = $i + 1 | 0;
        $pos = var$6;
    }
    return $hashCode;
}
function jn_ByteBuffer_equals($this, $obj) {
    var $other, $sz, $a, $b, $i, var$7, var$8, var$9;
    if ($this === $obj)
        return 1;
    if (!($obj instanceof jn_ByteBuffer))
        return 0;
    $other = $obj;
    $sz = jn_Buffer_remaining($this);
    if ($sz != jn_Buffer_remaining($other))
        return 0;
    $a = $this.$position + $this.$start5 | 0;
    $b = $other.$position + $other.$start5 | 0;
    $i = 0;
    while ($i < $sz) {
        var$7 = $this.$array0.data;
        var$8 = $a + 1 | 0;
        $a = var$7[$a];
        var$7 = $other.$array0.data;
        var$9 = $b + 1 | 0;
        if ($a != var$7[$b])
            return 0;
        $i = $i + 1 | 0;
        $a = var$8;
        $b = var$9;
    }
    return 1;
}
function jn_ByteBuffer_compareTo($this, $other) {
    var $sz, $a, $b, $i, var$6, var$7, $r, var$9;
    if ($this === $other)
        return 0;
    $sz = jl_Math_min(jn_Buffer_remaining($this), jn_Buffer_remaining($other));
    $a = $this.$position + $this.$start5 | 0;
    $b = $other.$position + $other.$start5 | 0;
    $i = 0;
    while (true) {
        if ($i >= $sz)
            return $rt_compare(jn_Buffer_remaining($this), jn_Buffer_remaining($other));
        var$6 = $this.$array0.data;
        var$7 = $a + 1 | 0;
        $r = var$6[$a];
        var$6 = $other.$array0.data;
        var$9 = $b + 1 | 0;
        $r = $r - var$6[$b] | 0;
        if ($r)
            break;
        $i = $i + 1 | 0;
        $a = var$7;
        $b = var$9;
    }
    return $r;
}
function jn_ByteBuffer_order($this, $bo) {
    $this.$order = $bo;
    return $this;
}
function jn_ByteBuffer_mark($this) {
    $this.$mark1 = $this.$position;
    return $this;
}
function jn_ByteBuffer_reset($this) {
    var var$1;
    if ($this.$mark1 >= 0) {
        $this.$position = $this.$mark1;
        return $this;
    }
    var$1 = new jn_InvalidMarkException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
}
function jn_ByteBuffer_clear($this) {
    jn_Buffer_clear($this);
    return $this;
}
function jn_ByteBuffer_flip($this) {
    jn_Buffer_flip($this);
    return $this;
}
function jn_ByteBuffer_limit($this, $newLimit) {
    jn_Buffer_limit0($this, $newLimit);
    return $this;
}
function jn_ByteBuffer_position($this, $newPosition) {
    jn_Buffer_position0($this, $newPosition);
    return $this;
}
function jn_ByteBuffer_flip0($this) {
    jn_Buffer_flip($this);
    return $this;
}
function jn_ByteBuffer_clear0($this) {
    jn_Buffer_clear($this);
    return $this;
}
function jn_ByteBuffer_reset0($this) {
    return jn_ByteBuffer_reset($this);
}
function jn_ByteBuffer_mark0($this) {
    return jn_ByteBuffer_mark($this);
}
function jn_ByteBuffer_limit0($this, var$1) {
    jn_Buffer_limit0($this, var$1);
    return $this;
}
function jn_ByteBuffer_position0($this, var$1) {
    jn_Buffer_position0($this, var$1);
    return $this;
}
function jn_ByteBuffer_compareTo0($this, var$1) {
    return jn_ByteBuffer_compareTo($this, var$1);
}
function jn_ByteOrder() {
    jl_Object.call(this);
    this.$name6 = null;
}
var jn_ByteOrder_BIG_ENDIAN = null;
var jn_ByteOrder_LITTLE_ENDIAN = null;
function jn_ByteOrder__init_(var_0) {
    var var_1 = new jn_ByteOrder();
    jn_ByteOrder__init_0(var_1, var_0);
    return var_1;
}
function jn_ByteOrder__init_0($this, $name) {
    $this.$name6 = $name;
}
function jn_ByteOrder_nativeOrder() {
    return jn_ByteOrder_BIG_ENDIAN;
}
function jn_ByteOrder__clinit_() {
    jn_ByteOrder_BIG_ENDIAN = jn_ByteOrder__init_($rt_s(499));
    jn_ByteOrder_LITTLE_ENDIAN = jn_ByteOrder__init_($rt_s(500));
}
function jnc_IllegalCharsetNameException() {
    jl_IllegalArgumentException.call(this);
    this.$charsetName0 = null;
}
function jnc_IllegalCharsetNameException__init_(var_0) {
    var var_1 = new jnc_IllegalCharsetNameException();
    jnc_IllegalCharsetNameException__init_0(var_1, var_0);
    return var_1;
}
function jnc_IllegalCharsetNameException__init_0($this, $charsetName) {
    jl_Throwable__init_0($this);
    $this.$charsetName0 = $charsetName;
}
function cjj_ZStream() {
    var a = this; jl_Object.call(a);
    a.$next_in = null;
    a.$next_in_index = 0;
    a.$avail_in = 0;
    a.$total_in = Long_ZERO;
    a.$next_out = null;
    a.$next_out_index = 0;
    a.$avail_out = 0;
    a.$total_out = Long_ZERO;
    a.$msg = null;
    a.$dstate = null;
    a.$istate = null;
    a.$data_type = 0;
    a.$adler = null;
}
function cjj_ZStream__init_0() {
    var var_0 = new cjj_ZStream();
    cjj_ZStream__init_(var_0);
    return var_0;
}
function cjj_ZStream__init_($this) {
    $this.$adler = cjj_Adler32__init_0();
}
function cjj_ZStream_flush_pending($this) {
    var $len, var$2;
    $len = $this.$dstate.$pending;
    if ($len > $this.$avail_out)
        $len = $this.$avail_out;
    if (!$len)
        return;
    jl_System_arraycopy($this.$dstate.$pending_buf, $this.$dstate.$pending_out, $this.$next_out, $this.$next_out_index, $len);
    $this.$next_out_index = $this.$next_out_index + $len | 0;
    var$2 = $this.$dstate;
    var$2.$pending_out = var$2.$pending_out + $len | 0;
    $this.$total_out = Long_add($this.$total_out, Long_fromInt($len));
    $this.$avail_out = $this.$avail_out - $len | 0;
    var$2 = $this.$dstate;
    var$2.$pending = var$2.$pending - $len | 0;
    if (!$this.$dstate.$pending)
        $this.$dstate.$pending_out = 0;
}
function cjj_ZStream_read_buf($this, $buf, $start, $size) {
    var $len;
    $len = $this.$avail_in;
    if ($len <= $size)
        $size = $len;
    if (!$size)
        return 0;
    $this.$avail_in = $this.$avail_in - $size | 0;
    if ($this.$dstate.$wrap5)
        $this.$adler.$update($this.$next_in, $this.$next_in_index, $size);
    jl_System_arraycopy($this.$next_in, $this.$next_in_index, $buf, $start, $size);
    $this.$next_in_index = $this.$next_in_index + $size | 0;
    $this.$total_in = Long_add($this.$total_in, Long_fromInt($size));
    return $size;
}
function cjj_ZStream_free($this) {
    $this.$next_in = null;
    $this.$next_out = null;
    $this.$msg = null;
}
function cjj_ZStream_setOutput($this, $buf, $off, $len) {
    $this.$next_out = $buf;
    $this.$next_out_index = $off;
    $this.$avail_out = $len;
}
function cjj_ZStream_setInput($this, $buf, $off, $len, $append) {
    var $tmp_0;
    if ($len <= 0 && $append && $this.$next_in !== null)
        return;
    if ($this.$avail_in > 0 && $append) {
        $tmp_0 = $rt_createByteArray($this.$avail_in + $len | 0);
        jl_System_arraycopy($this.$next_in, $this.$next_in_index, $tmp_0, 0, $this.$avail_in);
        jl_System_arraycopy($buf, $off, $tmp_0, $this.$avail_in, $len);
        $this.$next_in = $tmp_0;
        $this.$next_in_index = 0;
        $this.$avail_in = $this.$avail_in + $len | 0;
    } else {
        $this.$next_in = $buf;
        $this.$next_in_index = $off;
        $this.$avail_in = $len;
    }
}
function cjj_Inflater() {
    cjj_ZStream.call(this);
    this.$finished1 = 0;
}
function cjj_Inflater__init_1() {
    var var_0 = new cjj_Inflater();
    cjj_Inflater__init_(var_0);
    return var_0;
}
function cjj_Inflater__init_0(var_0, var_1) {
    var var_2 = new cjj_Inflater();
    cjj_Inflater__init_2(var_2, var_0, var_1);
    return var_2;
}
function cjj_Inflater__init_($this) {
    cjj_ZStream__init_($this);
    $this.$finished1 = 0;
    cjj_Inflater_init($this);
}
function cjj_Inflater__init_2($this, $w, $nowrap) {
    var $ret, var$4, var$5;
    cjj_ZStream__init_($this);
    $this.$finished1 = 0;
    $ret = cjj_Inflater_init0($this, $w, $nowrap);
    if (!$ret)
        return;
    var$4 = new cjj_GZIPException;
    var$5 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$5);
    jl_AbstractStringBuilder_append2(var$5, $ret);
    jl_AbstractStringBuilder_append(var$5, $rt_s(49));
    jl_AbstractStringBuilder_append(var$5, $this.$msg);
    jl_Throwable__init_(var$4, jl_AbstractStringBuilder_toString(var$5));
    $rt_throw(var$4);
}
function cjj_Inflater_init($this) {
    return cjj_Inflater_init1($this, 15);
}
function cjj_Inflater_init1($this, $w) {
    return cjj_Inflater_init0($this, $w, 0);
}
function cjj_Inflater_init0($this, $w, $nowrap) {
    var var$3;
    $this.$finished1 = 0;
    var$3 = new cjj_Inflate;
    var$3.$was = Long_fromInt(-1);
    var$3.$need_bytes = (-1);
    var$3.$crcbuf = $rt_createByteArray(4);
    var$3.$gheader = null;
    var$3.$tmp_string = null;
    var$3.$z1 = $this;
    $this.$istate = var$3;
    var$3 = $this.$istate;
    if ($nowrap)
        $w =  -$w;
    return cjj_Inflate_inflateInit(var$3, $w);
}
function cjj_Inflater_inflate($this, $f) {
    var $ret;
    if ($this.$istate === null)
        return (-2);
    $ret = cjj_Inflate_inflate($this.$istate, $f);
    if ($ret == 1)
        $this.$finished1 = 1;
    return $ret;
}
function cjj_Inflater_end($this) {
    $this.$finished1 = 1;
    if ($this.$istate === null)
        return (-2);
    return cjj_Inflate_inflateEnd($this.$istate);
}
function cjj_Inflater_finished($this) {
    return $this.$istate.$mode0 != 12 ? 0 : 1;
}
function nms_NBTTagEnd() {
    nms_NBTBase.call(this);
}
function nms_NBTTagEnd__init_0() {
    var var_0 = new nms_NBTTagEnd();
    nms_NBTTagEnd__init_(var_0);
    return var_0;
}
function nms_NBTTagEnd__init_($this) {
    nms_NBTBase__init_0($this, null);
}
function nms_NBTTagEnd_load($this, $par1DataInput) {
    return;
}
function nms_NBTTagEnd_write($this, $par1DataOutput) {
    return;
}
function nms_NBTTagEnd_getId($this) {
    return 0;
}
function nms_NBTTagEnd_toString($this) {
    return $rt_s(196);
}
function nms_NBTTagEnd_copy($this) {
    return nms_NBTTagEnd__init_0();
}
function otjb_Performance() {
    jl_Object.call(this);
}
function otjb_Performance__init_0() {
    var var_0 = new otjb_Performance();
    otjb_Performance__init_(var_0);
    return var_0;
}
function otjb_Performance__init_($this) {
    return;
}
function nms_Gui() {
    jl_Object.call(this);
    this.$zLevel = 0.0;
}
function nms_Gui__init_0() {
    var var_0 = new nms_Gui();
    nms_Gui__init_(var_0);
    return var_0;
}
function nms_Gui__init_($this) {
    $this.$zLevel = 0.0;
}
function nms_Gui_drawRect($par0, $par1, $par2, $par3, $par4) {
    var var$6, $var10, $var6, $var7, $var8, $var9, var$12, var$13, var$14;
    if ($par0 >= $par2) {
        var$6 = $par2;
        $par2 = $par0;
        $par0 = var$6;
    }
    if ($par1 >= $par3) {
        var$6 = $par3;
        $par3 = $par1;
        $par1 = var$6;
    }
    $var10 = ($par4 >> 24 & 255) / 255.0;
    $var6 = ($par4 >> 16 & 255) / 255.0;
    $var7 = ($par4 >> 8 & 255) / 255.0;
    $var8 = ($par4 & 255) / 255.0;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    nleg_EaglerAdapterGL30_glEnable(3042);
    nleg_EaglerAdapterGL30_glDisable(3553);
    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
    nleg_EaglerAdapterGL30_glColor4f($var6, $var7, $var8, $var10);
    nlea_Tessellator_startDrawingQuads($var9);
    var$12 = $par2;
    var$13 = $par1;
    nlea_Tessellator_addVertex($var9, var$12, var$13, 0.0);
    var$14 = $par0;
    nlea_Tessellator_addVertex($var9, var$14, var$13, 0.0);
    var$13 = $par3;
    nlea_Tessellator_addVertex($var9, var$14, var$13, 0.0);
    nlea_Tessellator_addVertex($var9, var$12, var$13, 0.0);
    nlea_Tessellator_draw($var9);
    nleg_EaglerAdapterGL30_glEnable(3553);
    nleg_EaglerAdapterGL30_glDisable(3042);
}
function nms_Gui_drawGradientRect($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    var $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, var$16, var$17, var$18;
    $var7 = ($par5 >> 24 & 255) / 255.0;
    $var8 = ($par5 >> 16 & 255) / 255.0;
    $var9 = ($par5 >> 8 & 255) / 255.0;
    $var10 = ($par5 & 255) / 255.0;
    $var11 = ($par6 >> 24 & 255) / 255.0;
    $var12 = ($par6 >> 16 & 255) / 255.0;
    $var13 = ($par6 >> 8 & 255) / 255.0;
    $var14 = ($par6 & 255) / 255.0;
    nleg_EaglerAdapterGL30_glDisable(3553);
    nleg_EaglerAdapterGL30_glEnable(3042);
    nleg_EaglerAdapterGL30_glDisable(3008);
    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
    nlea_Tessellator_$callClinit();
    $var15 = nlea_Tessellator_instance;
    nlea_Tessellator_startDrawingQuads($var15);
    nlea_Tessellator_setColorRGBA_F($var15, $var8, $var9, $var10, $var7);
    var$16 = $par3;
    var$17 = $par2;
    nlea_Tessellator_addVertex($var15, var$16, var$17, $this.$zLevel);
    var$18 = $par1;
    nlea_Tessellator_addVertex($var15, var$18, var$17, $this.$zLevel);
    nlea_Tessellator_setColorRGBA_F($var15, $var12, $var13, $var14, $var11);
    var$17 = $par4;
    nlea_Tessellator_addVertex($var15, var$18, var$17, $this.$zLevel);
    nlea_Tessellator_addVertex($var15, var$16, var$17, $this.$zLevel);
    nlea_Tessellator_draw($var15);
    nleg_EaglerAdapterGL30_glDisable(3042);
    nleg_EaglerAdapterGL30_glEnable(3008);
    nleg_EaglerAdapterGL30_glEnable(3553);
}
function nms_Gui_drawCenteredString($this, $par1FontRenderer, $par2Str, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2Str = $thread.pop();$par1FontRenderer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par3 = $par3 - (nms_FontRenderer_getStringWidth($par1FontRenderer, $par2Str) / 2 | 0) | 0;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawStringWithShadow($par1FontRenderer, $par2Str, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1FontRenderer, $par2Str, $par3, $par4, $par5, $ptr);
}
function nms_Gui_drawString($this, $par1FontRenderer, $par2Str, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2Str = $thread.pop();$par1FontRenderer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawStringWithShadow($par1FontRenderer, $par2Str, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1FontRenderer, $par2Str, $par3, $par4, $par5, $ptr);
}
function nms_Gui_drawTexturedModalRect($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    var $var9, var$8, var$9, var$10, var$11, var$12, var$13, var$14;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    nlea_Tessellator_startDrawingQuads($var9);
    var$8 = $par1 + 0 | 0;
    var$9 = $par2 + $par6 | 0;
    var$10 = $this.$zLevel;
    var$11 = ($par3 + 0 | 0) * 0.00390625;
    var$12 = ($par4 + $par6 | 0) * 0.00390625;
    nlea_Tessellator_addVertexWithUV($var9, var$8, var$9, var$10, var$11, var$12);
    var$13 = $par1 + $par5 | 0;
    var$14 = $this.$zLevel;
    var$10 = ($par3 + $par5 | 0) * 0.00390625;
    nlea_Tessellator_addVertexWithUV($var9, var$13, var$9, var$14, var$10, var$12);
    var$12 = $par2 + 0 | 0;
    var$14 = $this.$zLevel;
    var$9 = ($par4 + 0 | 0) * 0.00390625;
    nlea_Tessellator_addVertexWithUV($var9, var$13, var$12, var$14, var$10, var$9);
    nlea_Tessellator_addVertexWithUV($var9, var$8, var$12, $this.$zLevel, var$11, var$9);
    nlea_Tessellator_draw($var9);
}
function nms_Gui_static_drawTexturedModalRect($par1, $par2, $par3, $par4, $par5, $par6) {
    var $var9, var$8, var$9, var$10, var$11, var$12, var$13;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    nlea_Tessellator_startDrawingQuads($var9);
    var$8 = $par1 + 0 | 0;
    var$9 = $par2 + $par6 | 0;
    var$10 = ($par3 + 0 | 0) * 0.00390625;
    var$11 = ($par4 + $par6 | 0) * 0.00390625;
    nlea_Tessellator_addVertexWithUV($var9, var$8, var$9, 0.0, var$10, var$11);
    var$12 = $par1 + $par5 | 0;
    var$13 = ($par3 + $par5 | 0) * 0.00390625;
    nlea_Tessellator_addVertexWithUV($var9, var$12, var$9, 0.0, var$13, var$11);
    var$11 = $par2 + 0 | 0;
    var$9 = ($par4 + 0 | 0) * 0.00390625;
    nlea_Tessellator_addVertexWithUV($var9, var$12, var$11, 0.0, var$13, var$9);
    nlea_Tessellator_addVertexWithUV($var9, var$8, var$11, 0.0, var$10, var$9);
    nlea_Tessellator_draw($var9);
}
function nms_Gui_drawTexturedModelRectFromIcon($this, $par1, $par2, $par3Icon, $par4, $par5) {
    var $var6, var$7, var$8, var$9, var$10;
    nlea_Tessellator_$callClinit();
    $var6 = nlea_Tessellator_instance;
    nlea_Tessellator_startDrawingQuads($var6);
    var$7 = $par1 + 0 | 0;
    var$8 = $par2 + $par5 | 0;
    nlea_Tessellator_addVertexWithUV($var6, var$7, var$8, $this.$zLevel, $par3Icon.$getMinU(), $par3Icon.$getMaxV());
    var$9 = $par1 + $par4 | 0;
    nlea_Tessellator_addVertexWithUV($var6, var$9, var$8, $this.$zLevel, $par3Icon.$getMaxU(), $par3Icon.$getMaxV());
    var$10 = $par2 + 0 | 0;
    nlea_Tessellator_addVertexWithUV($var6, var$9, var$10, $this.$zLevel, $par3Icon.$getMaxU(), $par3Icon.$getMinV());
    nlea_Tessellator_addVertexWithUV($var6, var$7, var$10, $this.$zLevel, $par3Icon.$getMinU(), $par3Icon.$getMinV());
    nlea_Tessellator_draw($var6);
}
function nms_GuiScreen() {
    var a = this; nms_Gui.call(a);
    a.$mc2 = null;
    a.$width = 0;
    a.$height = 0;
    a.$buttonList = null;
    a.$allowUserInput = 0;
    a.$fontRenderer0 = null;
    a.$guiParticles = null;
    a.$selectedButton = null;
    a.$eventButton = 0;
    a.$field_85043_c = Long_ZERO;
    a.$field_92018_d = 0;
}
var nms_GuiScreen_isMacOs = 0;
var nms_GuiScreen_tex_background = null;
function nms_GuiScreen_$callClinit() {
    nms_GuiScreen_$callClinit = $rt_eraseClinit(nms_GuiScreen);
    nms_GuiScreen__clinit_();
}
function nms_GuiScreen__init_0() {
    var var_0 = new nms_GuiScreen();
    nms_GuiScreen__init_(var_0);
    return var_0;
}
function nms_GuiScreen__init_($this) {
    nms_GuiScreen_$callClinit();
    nms_Gui__init_($this);
    $this.$buttonList = ju_ArrayList__init_0();
    $this.$allowUserInput = 0;
    $this.$selectedButton = null;
    $this.$eventButton = 0;
    $this.$field_85043_c = Long_ZERO;
    $this.$field_92018_d = 0;
}
function nms_GuiScreen_drawScreen($this, $par1, $par2, $par3) {
    var $var4, $var5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = 0;
        if ($var4 >= $this.$buttonList.$size)
            return;
        $var5 = ju_ArrayList_get($this.$buttonList, $var4);
        var$6 = $this.$mc2;
        $ptr = 1;
    case 1:
        $var5.$drawButton(var$6, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $var4 + 1 | 0;
        if ($var4 >= $this.$buttonList.$size)
            return;
        $var5 = ju_ArrayList_get($this.$buttonList, $var4);
        var$6 = $this.$mc2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, var$6, $ptr);
}
function nms_GuiScreen_keyTyped($this, $par1, $par2) {
    return;
}
function nms_GuiScreen_getClipboardString() {
    var $s, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$s = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_GuiScreen_$callClinit();
        try {
            $ptr = 1;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Throwable) {
            } else {
                throw $$e;
            }
        }
        return $rt_s(36);
    case 1:
        a: {
            try {
                $tmp = nlea_EaglerAdapterImpl2_getClipboard();
                if ($rt_suspending()) {
                    break main;
                }
                $s = $tmp;
                if ($s === null)
                    $s = $rt_s(36);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                    break a;
                } else {
                    throw $$e;
                }
            }
            return $s;
        }
        return $rt_s(36);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($s, $ptr);
}
function nms_GuiScreen_setClipboardString($par0Str) {
    var $$je;
    nms_GuiScreen_$callClinit();
    a: {
        try {
            nlea_EaglerAdapterImpl2_setClipboard$js_body$_260($rt_ustr($par0Str));
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Throwable) {
            } else {
                throw $$e;
            }
        }
    }
}
function nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3) {
    var $var4, $var5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if (!$par3) {
                $var4 = 0;
                while (true) {
                    if ($var4 >= $this.$buttonList.$size)
                        break a;
                    $var5 = ju_ArrayList_get($this.$buttonList, $var4);
                    if ($var5.$mousePressed($this.$mc2, $par1, $par2)) {
                        $this.$selectedButton = $var5;
                        var$6 = $this.$mc2.$sndManager;
                        var$7 = $rt_s(501);
                        var$8 = 1.0;
                        var$9 = 1.0;
                        $ptr = 1;
                        continue main;
                    }
                    $var4 = $var4 + 1 | 0;
                }
            }
        }
        return;
    case 1:
        nms_SoundManager_playSoundFX(var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $this.$actionPerformed($var5);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var4 = $var4 + 1 | 0;
            if ($var4 >= $this.$buttonList.$size)
                break;
            $var5 = ju_ArrayList_get($this.$buttonList, $var4);
            if (!$var5.$mousePressed($this.$mc2, $par1, $par2))
                continue;
            else {
                $this.$selectedButton = $var5;
                var$6 = $this.$mc2.$sndManager;
                var$7 = $rt_s(501);
                var$8 = 1.0;
                var$9 = 1.0;
                $ptr = 1;
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, var$6, var$7, var$8, var$9, $ptr);
}
function nms_GuiScreen_mouseMovedOrUp($this, $par1, $par2, $par3) {
    if ($this.$selectedButton !== null && !$par3) {
        $this.$selectedButton.$mouseReleased($par1, $par2);
        $this.$selectedButton = null;
    }
}
function nms_GuiScreen_func_85041_a($this, $par1, $par2, $par3, $par4) {
    return;
}
function nms_GuiScreen_actionPerformed($this, $par1GuiButton) {
    return;
}
function nms_GuiScreen_setWorldAndResolution($this, $par1Minecraft, $par2, $par3) {
    var var$4;
    var$4 = new nms_GuiParticle;
    nms_Gui__init_(var$4);
    var$4.$particles = ju_ArrayList__init_0();
    var$4.$mc3 = $par1Minecraft;
    $this.$guiParticles = var$4;
    $this.$mc2 = $par1Minecraft;
    $this.$fontRenderer0 = $par1Minecraft.$fontRenderer;
    $this.$width = $par2;
    $this.$height = $par3;
    ju_ArrayList_clear($this.$buttonList);
    $this.$initGui();
}
function nms_GuiScreen_initGui($this) {
    return;
}
function nms_GuiScreen_handleInput($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nlea_EaglerAdapterImpl2_mouseNext()) {
            $ptr = 1;
            continue main;
        }
        if (!nlea_EaglerAdapterImpl2_keysNext())
            return;
        $ptr = 2;
        continue main;
    case 1:
        $this.$handleMouseInput();
        if ($rt_suspending()) {
            break main;
        }
        if (nlea_EaglerAdapterImpl2_mouseNext()) {
            continue main;
        }
        if (!nlea_EaglerAdapterImpl2_keysNext())
            return;
        $ptr = 2;
    case 2:
        nms_GuiScreen_handleKeyboardInput($this);
        if ($rt_suspending()) {
            break main;
        }
        if (!nlea_EaglerAdapterImpl2_keysNext())
            return;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_GuiScreen_handleMouseInput($this) {
    var $var2, $var1, var$3, var$4, $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_EaglerAdapterImpl2_$callClinit();
        $var2 = nlea_EaglerAdapterImpl2_currentEvent === null ? (-1) : nlea_EaglerAdapterImpl2_currentEvent.clientX;
        $var1 = $rt_imul($var2, $this.$width) / $this.$mc2.$displayWidth | 0;
        $var2 = $this.$height;
        var$3 = nlea_EaglerAdapterImpl2_currentEvent === null ? (-1) : nlea_EaglerAdapterImpl2_canvas.clientHeight - nlea_EaglerAdapterImpl2_currentEvent.clientY | 0;
        $var2 = ($var2 - ($rt_imul(var$3, $this.$height) / $this.$mc2.$displayHeight | 0) | 0) - 1 | 0;
        if ($this instanceof nms_GuiContainer)
            maat_TMIController_handleScrollWheel(maat_TMI_instance.$controller, $var1, $var2);
        if (nlea_EaglerAdapterImpl2_mouseGetEventButtonState()) {
            if ($this.$mc2.$gameSettings.$touchscreen) {
                var$4 = $this.$field_92018_d;
                $this.$field_92018_d = var$4 + 1 | 0;
                if (var$4 > 0)
                    return;
            }
            $this.$eventButton = nlea_EaglerAdapterImpl2_mouseGetEventButton();
            $this.$field_85043_c = jl_System_currentTimeMillis();
            var$4 = $this.$eventButton;
            $ptr = 1;
            continue main;
        }
        if (nlea_EaglerAdapterImpl2_mouseGetEventButton() == (-1)) {
            if ($this.$eventButton != (-1) && Long_gt($this.$field_85043_c, Long_ZERO)) {
                $var3 = Long_sub(jl_System_currentTimeMillis(), $this.$field_85043_c);
                var$4 = $this.$eventButton;
                $ptr = 3;
                continue main;
            }
            return;
        }
        if ($this.$mc2.$gameSettings.$touchscreen) {
            var$4 = $this.$field_92018_d - 1 | 0;
            $this.$field_92018_d = var$4;
            if (var$4 > 0)
                return;
        }
        $this.$eventButton = (-1);
        var$4 = nlea_EaglerAdapterImpl2_mouseGetEventButton();
        $ptr = 2;
        continue main;
    case 1:
        $this.$mouseClicked($var1, $var2, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        $this.$mouseMovedOrUp($var1, $var2, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        $this.$func_85041_a($var1, $var2, var$4, $var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var2, $var1, var$3, var$4, $var3, $ptr);
}
function nms_GuiScreen_handleKeyboardInput($this) {
    var $var1, $var2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nlea_EaglerAdapterImpl2_getEventKeyState())
            return;
        $var1 = nlea_EaglerAdapterImpl2_getEventKey();
        if (nlea_EaglerAdapterImpl2_currentEventK === null)
            $var2 = 0;
        else {
            var$3 = $rt_str(nlea_EaglerAdapterImpl2_currentEventK.key);
            $var2 = nlea_EaglerAdapterImpl2_currentEventK === null ? 32 : jl_String_length(var$3) > 1 ? 0 : jl_String_charAt(var$3, 0);
        }
        if ($var1 == 87)
            return;
        $ptr = 1;
    case 1:
        $this.$keyTyped($var2, $var1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
}
function nms_GuiScreen_updateScreen($this) {
    return;
}
function nms_GuiScreen_onGuiClosed($this) {
    return;
}
function nms_GuiScreen_drawDefaultBackground($this) {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = 0;
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawWorldBackground($this, var$1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $ptr);
}
function nms_GuiScreen_drawWorldBackground($this, $par1) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$mc2.$theWorld !== null) {
            nms_Gui_drawGradientRect($this, 0, 0, $this.$width, $this.$height, (-1072689136), (-804253680));
            return;
        }
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawBackground($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $ptr);
}
function nms_GuiScreen_drawBackground($this, $par1) {
    var $var2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDisable(2912);
        nlea_Tessellator_$callClinit();
        $var2 = nlea_Tessellator_instance;
        var$3 = nms_GuiScreen_tex_background;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$3);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nlea_Tessellator_startDrawingQuads($var2);
        nlea_Tessellator_setColorOpaque_I($var2, 4210752);
        var$4 = $this.$height;
        var$5 = $this.$height / 32.0;
        var$6 = $par1;
        nlea_Tessellator_addVertexWithUV($var2, 0.0, var$4, 0.0, 0.0, var$5 + var$6);
        nlea_Tessellator_addVertexWithUV($var2, $this.$width, $this.$height, 0.0, $this.$width / 32.0, $this.$height / 32.0 + var$6);
        var$7 = $this.$width;
        var$8 = $this.$width / 32.0;
        var$4 = $par1;
        nlea_Tessellator_addVertexWithUV($var2, var$7, 0.0, 0.0, var$8, var$4);
        nlea_Tessellator_addVertexWithUV($var2, 0.0, 0.0, 0.0, 0.0, var$4);
        nlea_Tessellator_draw($var2);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
}
function nms_GuiScreen_isCtrlKeyDown() {
    var var$1;
    nms_GuiScreen_$callClinit();
    a: {
        b: {
            if (!nlea_EaglerAdapterImpl2_isKeyDown(29) && !nlea_EaglerAdapterImpl2_isKeyDown(157)) {
                if (!nms_GuiScreen_isMacOs)
                    break b;
                if (!nlea_EaglerAdapterImpl2_isKeyDown(28) && !nlea_EaglerAdapterImpl2_isKeyDown(219) && !nlea_EaglerAdapterImpl2_isKeyDown(220))
                    break b;
            }
            var$1 = 1;
            break a;
        }
        var$1 = 0;
    }
    return var$1;
}
function nms_GuiScreen_isShiftKeyDown() {
    nms_GuiScreen_$callClinit();
    return !nlea_EaglerAdapterImpl2_isKeyDown(42) && !nlea_EaglerAdapterImpl2_isKeyDown(54) ? 0 : 1;
}
function nms_GuiScreen__clinit_() {
    var var$1;
    var$1 = jl_String_toLowerCase($rt_str(window.navigator.userAgent));
    nms_GuiScreen_isMacOs = (jl_String_contains(var$1, $rt_s(502)) ? nms_EnumOS_WINDOWS : jl_String_contains(var$1, $rt_s(503)) ? nms_EnumOS_MACOS : jl_String_contains(var$1, $rt_s(504)) ? nms_EnumOS_SOLARIS : jl_String_contains(var$1, $rt_s(505)) ? nms_EnumOS_SOLARIS : jl_String_contains(var$1, $rt_s(506)) ? nms_EnumOS_LINUX : !jl_String_contains(var$1, $rt_s(507)) ? nms_EnumOS_UNKNOWN : nms_EnumOS_LINUX) !== nms_EnumOS_MACOS ? 0 : 1;
    nms_GuiScreen_tex_background = nle_TextureLocation__init_($rt_s(508));
}
function nle_GuiScreenEditProfile() {
    var a = this; nms_GuiScreen.call(a);
    a.$parent = null;
    a.$username = null;
    a.$proxy = null;
    a.$dropDownOpen = 0;
    a.$dropDownOptions = null;
    a.$slotsVisible = 0;
    a.$selectedSlot = 0;
    a.$scrollPos = 0;
    a.$skinsHeight = 0;
    a.$dragging = 0;
    a.$mousex = 0;
    a.$mousey = 0;
    a.$proxyInvalid = 0;
    a.$newSkinWaitSteveOrAlex = 0;
    a.$screenTitle = null;
    a.$button0 = null;
    a.$button1 = null;
    a.$button2 = null;
    a.$button3 = null;
    a.$button4 = null;
}
var nle_GuiScreenEditProfile_gui = null;
var nle_GuiScreenEditProfile_defaultOptions = null;
function nle_GuiScreenEditProfile__init_(var_0) {
    var var_1 = new nle_GuiScreenEditProfile();
    nle_GuiScreenEditProfile__init_0(var_1, var_0);
    return var_1;
}
function nle_GuiScreenEditProfile__init_0($this, $parent) {
    nms_GuiScreen__init_($this);
    $this.$dropDownOpen = 0;
    $this.$slotsVisible = 0;
    $this.$selectedSlot = 0;
    $this.$scrollPos = (-1);
    $this.$skinsHeight = 0;
    $this.$dragging = 0;
    $this.$mousex = 0;
    $this.$mousey = 0;
    $this.$proxyInvalid = 0;
    $this.$newSkinWaitSteveOrAlex = 0;
    $this.$screenTitle = $rt_s(509);
    $this.$parent = $parent;
    nle_GuiScreenEditProfile_reconcatDD($this);
}
function nle_GuiScreenEditProfile_reconcatDD($this) {
    var $n, var$2, $i, var$4, var$5, var$6;
    nle_EaglerProfile_$callClinit();
    $n = $rt_createArray(jl_String, nle_EaglerProfile_skins.$size);
    var$2 = $n.data;
    $i = 0;
    var$4 = var$2.length;
    while ($i < var$4) {
        var$2[$i] = ju_ArrayList_get(nle_EaglerProfile_skins, $i).$name5;
        $i = $i + 1 | 0;
    }
    var$2 = nle_GuiScreenEditProfile_defaultOptions;
    var$5 = var$2.data.length;
    var$6 = $rt_createArray(jl_String, var$4 + var$5 | 0);
    jl_System_arraycopy($n, 0, var$6, 0, var$4);
    jl_System_arraycopy(var$2, 0, var$6, var$4, var$5);
    $this.$dropDownOptions = var$6;
}
function nle_GuiScreenEditProfile_initGui($this) {
    var $var1, var$2, var$3, var$4, var$5, var$6;
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
    $var1 = nms_StringTranslate_instance;
    $this.$screenTitle = nms_StringTranslate_translateKey($var1, $rt_s(510));
    $this.$username = nms_GuiTextField__init_($this.$fontRenderer0, (($this.$width / 2 | 0) - 20 | 0) + 1 | 0, (($this.$height / 6 | 0) + 24 | 0) + 1 | 0, 138, 20);
    nms_GuiTextField_setFocused($this.$username, 1);
    var$2 = $this.$username;
    nle_EaglerProfile_$callClinit();
    nms_GuiTextField_setText(var$2, nle_EaglerProfile_username);
    $this.$proxy = nms_GuiTextField__init_($this.$fontRenderer0, (($this.$width / 2 | 0) - 20 | 0) + 1 | 0, ($this.$height / 6 | 0) + 1 | 0, 138, 20);
    var$2 = $this.$proxy;
    nms_GameSettings_$callClinit();
    nms_GuiTextField_setText(var$2, nms_GameSettings_proxy);
    $this.$selectedSlot = nle_EaglerProfile_presetSkinId == (-1) ? nle_EaglerProfile_customSkinId : nle_EaglerProfile_presetSkinId + nle_EaglerProfile_skins.$size | 0;
    var$3 = $this.$buttonList;
    var$4 = nms_GuiButton__init_(200, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 168 | 0, nms_StringTranslate_translateKey($var1, $rt_s(511)));
    $this.$button0 = var$4;
    ju_ArrayList_add(var$3, var$4);
    var$3 = $this.$buttonList;
    var$4 = nms_GuiButton__init_0(2, ($this.$width / 2 | 0) - 21 | 0, ($this.$height / 6 | 0) + 110 | 0, 71, 20, nms_StringTranslate_translateKey($var1, $rt_s(512)));
    $this.$button1 = var$4;
    ju_ArrayList_add(var$3, var$4);
    var$2 = $this.$buttonList;
    var$3 = nms_GuiButton__init_0(3, (($this.$width / 2 | 0) - 21 | 0) + 71 | 0, ($this.$height / 6 | 0) + 110 | 0, 72, 20, nms_StringTranslate_translateKey($var1, $rt_s(513)));
    $this.$button2 = var$3;
    ju_ArrayList_add(var$2, var$3);
    var$2 = $this.$buttonList;
    var$3 = nms_GuiButton__init_0(4, (($this.$width / 2 | 0) - 21 | 0) + 71 | 0, ($this.$height / 6 | 0) + 134 | 0, 72, 20, !nms_GameSettings_useDefaultProtocol ? $rt_s(514) : $rt_s(515));
    $this.$button3 = var$3;
    ju_ArrayList_add(var$2, var$3);
    var$2 = $this.$buttonList;
    var$3 = new nms_GuiButton;
    var$5 = ($this.$width / 2 | 0) - 21 | 0;
    var$6 = ($this.$height / 6 | 0) + 134 | 0;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, !nms_GameSettings_useProxy ? $rt_s(516) : $rt_s(517));
    jl_AbstractStringBuilder_append(var$4, $rt_s(518));
    nms_GuiButton__init_1(var$3, 5, var$5, var$6, 72, 20, jl_AbstractStringBuilder_toString(var$4));
    $this.$button4 = var$3;
    ju_ArrayList_add(var$2, var$3);
}
function nle_GuiScreenEditProfile_drawScreen($this, $mx, $my, $par3) {
    var $var1, $eee, var$6, $skinY, $skinWidth, $skinX, $skinHeight, $scrollerPos, $scrollerSize, $xx, $i, $mouseOver, $cc, $yy, $w, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$w = $thread.pop();$yy = $thread.pop();$cc = $thread.pop();$mouseOver = $thread.pop();$i = $thread.pop();$xx = $thread.pop();$scrollerSize = $thread.pop();$scrollerPos = $thread.pop();$skinHeight = $thread.pop();$skinX = $thread.pop();$skinWidth = $thread.pop();$skinY = $thread.pop();var$6 = $thread.pop();$eee = $thread.pop();$var1 = $thread.pop();$par3 = $thread.pop();$my = $thread.pop();$mx = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = nms_StringTranslate_getInstance();
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$proxyInvalid <= 0) {
            $eee = $this.$fontRenderer0;
            var$6 = $this.$screenTitle;
            $skinY = $this.$width / 2 | 0;
            $skinWidth = 15;
            $skinX = 16777215;
            $ptr = 2;
            continue main;
        }
        $this.$proxyInvalid = $this.$proxyInvalid - 1 | 0;
        $eee = $this.$fontRenderer0;
        var$6 = $rt_s(519);
        $skinX = $this.$width / 2 | 0;
        $skinY = 5;
        $skinWidth = 16777215;
        $ptr = 7;
        continue main;
    case 2:
        nms_Gui_drawCenteredString($this, $eee, var$6, $skinY, $skinWidth, $skinX);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$fontRenderer0;
        $eee = nms_StringTranslate_translateKey($var1, $rt_s(520));
        $skinX = ($this.$width / 2 | 0) - 20 | 0;
        $skinY = ($this.$height / 6 | 0) + 8 | 0;
        $skinWidth = 10526880;
        $ptr = 3;
    case 3:
        nms_Gui_drawString($this, var$6, $eee, $skinX, $skinY, $skinWidth);
        if ($rt_suspending()) {
            break main;
        }
        $eee = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var1, $rt_s(521));
        $skinX = ($this.$width / 2 | 0) - 20 | 0;
        $skinY = ($this.$height / 6 | 0) + 66 | 0;
        $skinWidth = 10526880;
        $ptr = 4;
    case 4:
        nms_Gui_drawString($this, $eee, var$6, $skinX, $skinY, $skinWidth);
        if ($rt_suspending()) {
            break main;
        }
        $this.$mousex = $mx;
        $this.$mousey = $my;
        $skinX = ($this.$width / 2 | 0) - 120 | 0;
        $skinY = ($this.$height / 6 | 0) + 8 | 0;
        $skinWidth = $skinX + 80 | 0;
        $skinHeight = $skinY + 130 | 0;
        nms_Gui_drawRect($skinX, $skinY, $skinWidth, $skinHeight, (-6250336));
        nms_Gui_drawRect($skinX + 1 | 0, $skinY + 1 | 0, $skinWidth - 1 | 0, $skinHeight - 1 | 0, (-16777195));
        $eee = $this.$username;
        $ptr = 5;
    case 5:
        nms_GuiTextField_drawTextBox($eee);
        if ($rt_suspending()) {
            break main;
        }
        $eee = $this.$proxy;
        $ptr = 6;
    case 6:
        nms_GuiTextField_drawTextBox($eee);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$dropDownOpen && !$this.$newSkinWaitSteveOrAlex) {
            $ptr = 11;
            continue main;
        }
        $skinX = 0;
        $skinY = 0;
        $ptr = 8;
        continue main;
    case 7:
        nms_Gui_drawCenteredString($this, $eee, var$6, $skinX, $skinY, $skinWidth);
        if ($rt_suspending()) {
            break main;
        }
        $eee = $this.$fontRenderer0;
        var$6 = $this.$screenTitle;
        $skinY = $this.$width / 2 | 0;
        $skinWidth = 15;
        $skinX = 16777215;
        $ptr = 2;
        continue main;
    case 8:
        nms_GuiScreen_drawScreen($this, $skinX, $skinY, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $skinX = ($this.$width / 2 | 0) - 20 | 0;
        $skinY = ($this.$height / 6 | 0) + 82 | 0;
        $skinWidth = $skinX + 140 | 0;
        $skinHeight = $skinY + 22 | 0;
        nms_Gui_drawRect($skinX, $skinY, $skinWidth, $skinHeight, (-6250336));
        $scrollerPos = $skinX + 1 | 0;
        $scrollerSize = $skinY + 1 | 0;
        $xx = $skinWidth - 21 | 0;
        $skinHeight = $skinHeight - 1 | 0;
        nms_Gui_drawRect($scrollerPos, $scrollerSize, $xx, $skinHeight, (-16777216));
        nms_Gui_drawRect($skinWidth - 20 | 0, $scrollerSize, $skinWidth - 1 | 0, $skinHeight, (-16777216));
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $eee = nle_GuiScreenEditProfile_gui;
        $ptr = 9;
    case 9:
        nle_TextureLocation_bindTexture($eee);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this, $skinWidth - 18 | 0, $skinY + 3 | 0, 0, 240, 16, 16);
        $eee = $this.$fontRenderer0;
        var$6 = $this.$dropDownOptions.data[$this.$selectedSlot];
        $skinX = $skinX + 5 | 0;
        $skinY = $skinY + 7 | 0;
        $skinWidth = 14737632;
        $ptr = 10;
    case 10:
        nms_FontRenderer_drawStringWithShadow($eee, var$6, $skinX, $skinY, $skinWidth);
        if ($rt_suspending()) {
            break main;
        }
        $skinX = ($this.$width / 2 | 0) - 20 | 0;
        $skinY = ($this.$height / 6 | 0) + 103 | 0;
        $this.$slotsVisible = (($this.$height - $skinY | 0) - 10 | 0) / 10 | 0;
        if ($this.$slotsVisible > $this.$dropDownOptions.data.length)
            $this.$slotsVisible = $this.$dropDownOptions.data.length;
        $scrollerPos = ($this.$slotsVisible * 10 | 0) + 7 | 0;
        $this.$skinsHeight = $scrollerPos;
        if ($this.$scrollPos == (-1))
            $this.$scrollPos = $this.$selectedSlot - 2 | 0;
        if ($this.$scrollPos > ($this.$dropDownOptions.data.length - $this.$slotsVisible | 0))
            $this.$scrollPos = $this.$dropDownOptions.data.length - $this.$slotsVisible | 0;
        if ($this.$scrollPos < 0)
            $this.$scrollPos = 0;
        if ($this.$dropDownOpen) {
            $skinHeight = $skinX + 140 | 0;
            $skinWidth = $skinY + $scrollerPos | 0;
            nms_Gui_drawRect($skinX, $skinY, $skinHeight, $skinWidth, (-6250336));
            $scrollerSize = $skinX + 1 | 0;
            $i = $skinY + 1 | 0;
            $xx = $skinHeight - 1 | 0;
            nms_Gui_drawRect($scrollerSize, $i, $xx, $skinWidth - 1 | 0, (-16777216));
            $i = 0;
            $mouseOver = $skinX + 5 | 0;
            $cc = $skinY + 5 | 0;
            $yy = $rt_compare($mx, $skinX);
            $w = $rt_compare($mx, $skinHeight - 10 | 0);
            while ($i < $this.$slotsVisible) {
                if (($i + $this.$scrollPos | 0) < $this.$dropDownOptions.data.length) {
                    if ($this.$selectedSlot == ($i + $this.$scrollPos | 0)) {
                        $skinX = $skinY + ($i * 10 | 0) | 0;
                        nms_Gui_drawRect($scrollerSize, $skinX + 4 | 0, $xx, $skinX + 14 | 0, 2013265919);
                    } else if ($yy >= 0 && $w < 0) {
                        $skinX = $skinY + ($i * 10 | 0) | 0;
                        if ($my >= ($skinX + 5 | 0) && $my < ($skinX + 15 | 0))
                            nms_Gui_drawRect($scrollerSize, $skinX + 4 | 0, $xx, $skinX + 14 | 0, 1442840575);
                    }
                    $eee = $this.$fontRenderer0;
                    var$6 = $this.$dropDownOptions.data[$i + $this.$scrollPos | 0];
                    $skinX = $cc + ($i * 10 | 0) | 0;
                    $skinWidth = 14737632;
                    $ptr = 13;
                    continue main;
                }
                $i = $i + 1 | 0;
            }
            $scrollerSize = $rt_imul($scrollerPos, $this.$slotsVisible) / $this.$dropDownOptions.data.length | 0;
            $scrollerPos = $rt_imul($scrollerPos, $this.$scrollPos) / $this.$dropDownOptions.data.length | 0;
            $skinX = $skinHeight - 4 | 0;
            $skinY = $skinY + $scrollerPos | 0;
            nms_Gui_drawRect($skinX, $skinY + 1 | 0, $xx, $skinY + $scrollerSize | 0, (-7829368));
        }
        $xx = ($this.$width / 2 | 0) - 80 | 0;
        $yy = ($this.$height / 6 | 0) + 130 | 0;
        if ($this.$newSkinWaitSteveOrAlex) {
            $skinX = $this.$selectedSlot;
            nle_EaglerProfile_$callClinit();
            if ($skinX < ju_ArrayList_size(nle_EaglerProfile_skins)) {
                $skinX = 70;
                $skinY = 120;
                $eee = ju_ArrayList_get(nle_EaglerProfile_skins, $this.$selectedSlot);
                nleg_EaglerAdapterGL30_glClear(256);
                $skinWidth = ($this.$width / 2 | 0) - 90 | 0;
                $skinHeight = $this.$height / 4 | 0;
                $scrollerPos = $skinWidth + 35 | 0;
                $scrollerSize = $skinHeight + 117 | 0;
                $mouseOver = $mx >= $skinWidth && $my >= $skinHeight && $mx < ($skinWidth + $skinX | 0) && $my < ($skinHeight + $skinY | 0) ? 1 : 0;
                $cc = !$mouseOver ? (-11184811) : (-2237031);
                nleg_EaglerAdapterGL30_glEnable(3042);
                nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                nms_Gui_drawRect(0, 0, $this.$width, $this.$height, (-1157627904));
                $xx = $skinWidth + $skinX | 0;
                $i = $skinHeight + $skinY | 0;
                nms_Gui_drawRect($skinWidth, $skinHeight, $xx, $i, (-1157627904));
                nleg_EaglerAdapterGL30_glDisable(3042);
                nms_Gui_drawRect($skinWidth, $skinHeight, $skinWidth + 1 | 0, $i, $cc);
                nms_Gui_drawRect($skinWidth, $skinHeight, $xx, $skinHeight + 1 | 0, $cc);
                nms_Gui_drawRect($xx - 1 | 0, $skinHeight, $xx, $i, $cc);
                nms_Gui_drawRect($skinWidth, $i - 1 | 0, $xx, $i, $cc);
                if ($mouseOver) {
                    var$6 = $this.$fontRenderer0;
                    $var1 = $rt_s(522);
                    $skinWidth = $i + 6 | 0;
                    $ptr = 15;
                    continue main;
                }
                nms_RenderEngine_bindTexture($this.$mc2.$renderEngine, $eee.$glTex);
                nle_DefaultSkinRenderer_renderAlexOrSteve($scrollerPos, $scrollerSize, $mx, $my, 0);
                $skinWidth = ($this.$width / 2 | 0) + 20 | 0;
                $skinHeight = $this.$height / 4 | 0;
                $scrollerPos = $skinWidth + 35 | 0;
                $scrollerSize = $skinHeight + 117 | 0;
                $xx = $mx >= $skinWidth && $my >= $skinHeight && $mx < ($skinWidth + $skinX | 0) && $my < ($skinHeight + $skinY | 0) ? 1 : 0;
                $i = !$xx ? (-11184811) : (-2237031);
                nleg_EaglerAdapterGL30_glEnable(3042);
                $skinX = $skinWidth + $skinX | 0;
                $skinY = $skinHeight + $skinY | 0;
                nms_Gui_drawRect($skinWidth, $skinHeight, $skinX, $skinY, (-1157627904));
                nleg_EaglerAdapterGL30_glDisable(3042);
                nms_Gui_drawRect($skinWidth, $skinHeight, $skinWidth + 1 | 0, $skinY, $i);
                nms_Gui_drawRect($skinWidth, $skinHeight, $skinX, $skinHeight + 1 | 0, $i);
                nms_Gui_drawRect($skinX - 1 | 0, $skinHeight, $skinX, $skinY, $i);
                nms_Gui_drawRect($skinWidth, $skinY - 1 | 0, $skinX, $skinY, $i);
                if (!$xx) {
                    nms_RenderEngine_bindTexture($this.$mc2.$renderEngine, $eee.$glTex);
                    nle_DefaultSkinRenderer_renderAlexOrSteve($scrollerPos, $scrollerSize, $mx, $my, 1);
                    return;
                }
                var$6 = $this.$fontRenderer0;
                $var1 = $rt_s(523);
                $skinX = $skinY + 8 | 0;
                $ptr = 16;
                continue main;
            }
        }
        $skinX = ($this.$width / 2 | 0) - 120 | 0;
        $skinY = ($this.$height / 6 | 0) + 8 | 0;
        if (!nle_DefaultSkinRenderer_isPlayerPreviewNew($this.$selectedSlot)) {
            if ($this.$newSkinWaitSteveOrAlex)
                $mx = $this.$width / 2 | 0;
            if ($this.$newSkinWaitSteveOrAlex)
                $my = $this.$height / 2 | 0;
            $skinX = $this.$selectedSlot;
            $ptr = 14;
            continue main;
        }
        $w = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $rt_s(524)) + 4 | 0;
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        $eee = $this.$fontRenderer0;
        var$6 = $rt_s(524);
        $skinX = (($skinX + 80 | 0) / 0.75 | 0) - $w | 0;
        $skinY = (($skinY + 130 | 0) / 0.75 | 0) - 12 | 0;
        $skinWidth = (-4474010);
        $ptr = 12;
        continue main;
    case 11:
        nms_GuiScreen_drawScreen($this, $mx, $my, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $skinX = ($this.$width / 2 | 0) - 20 | 0;
        $skinY = ($this.$height / 6 | 0) + 82 | 0;
        $skinWidth = $skinX + 140 | 0;
        $skinHeight = $skinY + 22 | 0;
        nms_Gui_drawRect($skinX, $skinY, $skinWidth, $skinHeight, (-6250336));
        $scrollerPos = $skinX + 1 | 0;
        $scrollerSize = $skinY + 1 | 0;
        $xx = $skinWidth - 21 | 0;
        $skinHeight = $skinHeight - 1 | 0;
        nms_Gui_drawRect($scrollerPos, $scrollerSize, $xx, $skinHeight, (-16777216));
        nms_Gui_drawRect($skinWidth - 20 | 0, $scrollerSize, $skinWidth - 1 | 0, $skinHeight, (-16777216));
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $eee = nle_GuiScreenEditProfile_gui;
        $ptr = 9;
        continue main;
    case 12:
        nms_Gui_drawString($this, $eee, var$6, $skinX, $skinY, $skinWidth);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if ($this.$newSkinWaitSteveOrAlex)
            $mx = $this.$width / 2 | 0;
        if ($this.$newSkinWaitSteveOrAlex)
            $my = $this.$height / 2 | 0;
        $skinX = $this.$selectedSlot;
        $ptr = 14;
        continue main;
    case 13:
        nms_FontRenderer_drawStringWithShadow($eee, var$6, $mouseOver, $skinX, $skinWidth);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $i = $i + 1 | 0;
            if ($i >= $this.$slotsVisible) {
                $scrollerSize = $rt_imul($scrollerPos, $this.$slotsVisible) / $this.$dropDownOptions.data.length | 0;
                $scrollerPos = $rt_imul($scrollerPos, $this.$scrollPos) / $this.$dropDownOptions.data.length | 0;
                $skinX = $skinHeight - 4 | 0;
                $skinY = $skinY + $scrollerPos | 0;
                nms_Gui_drawRect($skinX, $skinY + 1 | 0, $xx, $skinY + $scrollerSize | 0, (-7829368));
                $xx = ($this.$width / 2 | 0) - 80 | 0;
                $yy = ($this.$height / 6 | 0) + 130 | 0;
                if ($this.$newSkinWaitSteveOrAlex) {
                    $skinX = $this.$selectedSlot;
                    nle_EaglerProfile_$callClinit();
                    if ($skinX < ju_ArrayList_size(nle_EaglerProfile_skins)) {
                        $skinX = 70;
                        $skinY = 120;
                        $eee = ju_ArrayList_get(nle_EaglerProfile_skins, $this.$selectedSlot);
                        nleg_EaglerAdapterGL30_glClear(256);
                        $skinWidth = ($this.$width / 2 | 0) - 90 | 0;
                        $skinHeight = $this.$height / 4 | 0;
                        $scrollerPos = $skinWidth + 35 | 0;
                        $scrollerSize = $skinHeight + 117 | 0;
                        $mouseOver = $mx >= $skinWidth && $my >= $skinHeight && $mx < ($skinWidth + $skinX | 0) && $my < ($skinHeight + $skinY | 0) ? 1 : 0;
                        $cc = !$mouseOver ? (-11184811) : (-2237031);
                        nleg_EaglerAdapterGL30_glEnable(3042);
                        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                        nms_Gui_drawRect(0, 0, $this.$width, $this.$height, (-1157627904));
                        $xx = $skinWidth + $skinX | 0;
                        $i = $skinHeight + $skinY | 0;
                        nms_Gui_drawRect($skinWidth, $skinHeight, $xx, $i, (-1157627904));
                        nleg_EaglerAdapterGL30_glDisable(3042);
                        nms_Gui_drawRect($skinWidth, $skinHeight, $skinWidth + 1 | 0, $i, $cc);
                        nms_Gui_drawRect($skinWidth, $skinHeight, $xx, $skinHeight + 1 | 0, $cc);
                        nms_Gui_drawRect($xx - 1 | 0, $skinHeight, $xx, $i, $cc);
                        nms_Gui_drawRect($skinWidth, $i - 1 | 0, $xx, $i, $cc);
                        if ($mouseOver) {
                            var$6 = $this.$fontRenderer0;
                            $var1 = $rt_s(522);
                            $skinWidth = $i + 6 | 0;
                            $ptr = 15;
                            continue main;
                        }
                        nms_RenderEngine_bindTexture($this.$mc2.$renderEngine, $eee.$glTex);
                        nle_DefaultSkinRenderer_renderAlexOrSteve($scrollerPos, $scrollerSize, $mx, $my, 0);
                        $skinWidth = ($this.$width / 2 | 0) + 20 | 0;
                        $skinHeight = $this.$height / 4 | 0;
                        $scrollerPos = $skinWidth + 35 | 0;
                        $scrollerSize = $skinHeight + 117 | 0;
                        $xx = $mx >= $skinWidth && $my >= $skinHeight && $mx < ($skinWidth + $skinX | 0) && $my < ($skinHeight + $skinY | 0) ? 1 : 0;
                        $i = !$xx ? (-11184811) : (-2237031);
                        nleg_EaglerAdapterGL30_glEnable(3042);
                        $skinX = $skinWidth + $skinX | 0;
                        $skinY = $skinHeight + $skinY | 0;
                        nms_Gui_drawRect($skinWidth, $skinHeight, $skinX, $skinY, (-1157627904));
                        nleg_EaglerAdapterGL30_glDisable(3042);
                        nms_Gui_drawRect($skinWidth, $skinHeight, $skinWidth + 1 | 0, $skinY, $i);
                        nms_Gui_drawRect($skinWidth, $skinHeight, $skinX, $skinHeight + 1 | 0, $i);
                        nms_Gui_drawRect($skinX - 1 | 0, $skinHeight, $skinX, $skinY, $i);
                        nms_Gui_drawRect($skinWidth, $skinY - 1 | 0, $skinX, $skinY, $i);
                        if (!$xx) {
                            nms_RenderEngine_bindTexture($this.$mc2.$renderEngine, $eee.$glTex);
                            nle_DefaultSkinRenderer_renderAlexOrSteve($scrollerPos, $scrollerSize, $mx, $my, 1);
                            return;
                        }
                        var$6 = $this.$fontRenderer0;
                        $var1 = $rt_s(523);
                        $skinX = $skinY + 8 | 0;
                        $ptr = 16;
                        continue main;
                    }
                }
                $skinX = ($this.$width / 2 | 0) - 120 | 0;
                $skinY = ($this.$height / 6 | 0) + 8 | 0;
                if (!nle_DefaultSkinRenderer_isPlayerPreviewNew($this.$selectedSlot)) {
                    if ($this.$newSkinWaitSteveOrAlex)
                        $mx = $this.$width / 2 | 0;
                    if ($this.$newSkinWaitSteveOrAlex)
                        $my = $this.$height / 2 | 0;
                    $skinX = $this.$selectedSlot;
                    $ptr = 14;
                    continue main;
                }
                $w = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $rt_s(524)) + 4 | 0;
                nleg_EaglerAdapterGL30_glPushMatrix();
                nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
                $eee = $this.$fontRenderer0;
                var$6 = $rt_s(524);
                $skinX = (($skinX + 80 | 0) / 0.75 | 0) - $w | 0;
                $skinY = (($skinY + 130 | 0) / 0.75 | 0) - 12 | 0;
                $skinWidth = (-4474010);
                $ptr = 12;
                continue main;
            }
            if (($i + $this.$scrollPos | 0) >= $this.$dropDownOptions.data.length)
                continue;
            else
                break;
        }
        if ($this.$selectedSlot == ($i + $this.$scrollPos | 0)) {
            $skinX = $skinY + ($i * 10 | 0) | 0;
            nms_Gui_drawRect($scrollerSize, $skinX + 4 | 0, $xx, $skinX + 14 | 0, 2013265919);
        } else if ($yy >= 0 && $w < 0) {
            $skinX = $skinY + ($i * 10 | 0) | 0;
            if ($my >= ($skinX + 5 | 0) && $my < ($skinX + 15 | 0))
                nms_Gui_drawRect($scrollerSize, $skinX + 4 | 0, $xx, $skinX + 14 | 0, 1442840575);
        }
        $eee = $this.$fontRenderer0;
        var$6 = $this.$dropDownOptions.data[$i + $this.$scrollPos | 0];
        $skinX = $cc + ($i * 10 | 0) | 0;
        $skinWidth = 14737632;
        continue main;
    case 14:
        nle_DefaultSkinRenderer_renderPlayerPreview($xx, $yy, $mx, $my, $skinX);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 15:
        nms_Gui_drawCenteredString($this, var$6, $var1, $scrollerPos, $skinWidth, $cc);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderEngine_bindTexture($this.$mc2.$renderEngine, $eee.$glTex);
        nle_DefaultSkinRenderer_renderAlexOrSteve($scrollerPos, $scrollerSize, $mx, $my, 0);
        $skinWidth = ($this.$width / 2 | 0) + 20 | 0;
        $skinHeight = $this.$height / 4 | 0;
        $scrollerPos = $skinWidth + 35 | 0;
        $scrollerSize = $skinHeight + 117 | 0;
        $xx = $mx >= $skinWidth && $my >= $skinHeight && $mx < ($skinWidth + $skinX | 0) && $my < ($skinHeight + $skinY | 0) ? 1 : 0;
        $i = !$xx ? (-11184811) : (-2237031);
        nleg_EaglerAdapterGL30_glEnable(3042);
        $skinX = $skinWidth + $skinX | 0;
        $skinY = $skinHeight + $skinY | 0;
        nms_Gui_drawRect($skinWidth, $skinHeight, $skinX, $skinY, (-1157627904));
        nleg_EaglerAdapterGL30_glDisable(3042);
        nms_Gui_drawRect($skinWidth, $skinHeight, $skinWidth + 1 | 0, $skinY, $i);
        nms_Gui_drawRect($skinWidth, $skinHeight, $skinX, $skinHeight + 1 | 0, $i);
        nms_Gui_drawRect($skinX - 1 | 0, $skinHeight, $skinX, $skinY, $i);
        nms_Gui_drawRect($skinWidth, $skinY - 1 | 0, $skinX, $skinY, $i);
        if (!$xx) {
            nms_RenderEngine_bindTexture($this.$mc2.$renderEngine, $eee.$glTex);
            nle_DefaultSkinRenderer_renderAlexOrSteve($scrollerPos, $scrollerSize, $mx, $my, 1);
            return;
        }
        var$6 = $this.$fontRenderer0;
        $var1 = $rt_s(523);
        $skinX = $skinY + 8 | 0;
        $ptr = 16;
    case 16:
        nms_Gui_drawCenteredString($this, var$6, $var1, $scrollerPos, $skinX, $i);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderEngine_bindTexture($this.$mc2.$renderEngine, $eee.$glTex);
        nle_DefaultSkinRenderer_renderAlexOrSteve($scrollerPos, $scrollerSize, $mx, $my, 1);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $mx, $my, $par3, $var1, $eee, var$6, $skinY, $skinWidth, $skinX, $skinHeight, $scrollerPos, $scrollerSize, $xx, $i, $mouseOver, $cc, $yy, $w, $ptr);
}
function nle_GuiScreenEditProfile_handleMouseInput($this) {
    var $var1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_handleMouseInput($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$dropDownOpen) {
            $var1 = nlea_EaglerAdapterImpl2_mouseGetEventDWheel();
            if ($var1 < 0)
                $this.$scrollPos = $this.$scrollPos + 3 | 0;
            if ($var1 > 0)
                $this.$scrollPos = $this.$scrollPos - 3 | 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $ptr);
}
function nle_GuiScreenEditProfile_save($this) {
    var $url, $con, var$3, $l, $i, $skins, $nbt, $http, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$http = $thread.pop();$nbt = $thread.pop();$skins = $thread.pop();$i = $thread.pop();$l = $thread.pop();var$3 = $thread.pop();$con = $thread.pop();$url = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $url = !jl_String_length($this.$username.$text0) ? $rt_s(48) : $this.$username.$text0;
        nle_EaglerProfile_$callClinit();
        nle_EaglerProfile_username = $url;
        $url = $this.$proxy.$text0;
        nms_GameSettings_$callClinit();
        nms_GameSettings_proxy = $url;
        if (nms_GameSettings_useProxy && !jl_String_equals(nms_GameSettings_proxy, $rt_s(36))) {
            $this.$proxyInvalid = 0;
            $url = $this.$fontRenderer0;
            $con = $rt_s(525);
            var$3 = $this.$width / 2 | 0;
            $l = 5;
            $i = 16777215;
            $ptr = 1;
            continue main;
        }
        nle_EaglerProfile_presetSkinId = $this.$selectedSlot - nle_EaglerProfile_skins.$size | 0;
        if (nle_EaglerProfile_presetSkinId >= 0)
            nle_EaglerProfile_customSkinId = (-1);
        else {
            nle_EaglerProfile_presetSkinId = (-1);
            nle_EaglerProfile_customSkinId = $this.$selectedSlot;
        }
        nms_NBTTagCompound_setInteger(nle_LocalStorageManager_profileSettingsStorage, $rt_s(421), nle_EaglerProfile_presetSkinId);
        nms_NBTTagCompound_setInteger(nle_LocalStorageManager_profileSettingsStorage, $rt_s(422), nle_EaglerProfile_customSkinId);
        nms_NBTTagCompound_setString(nle_LocalStorageManager_profileSettingsStorage, $rt_s(287), nle_EaglerProfile_username);
        $skins = nms_NBTTagCompound__init_0();
        $i = 0;
        $l = nle_EaglerProfile_skins.$size;
        while ($i < $l) {
            $nbt = nms_NBTTagCompound__init_0();
            nms_NBTTagCompound_setByteArray($nbt, $rt_s(425), ju_ArrayList_get(nle_EaglerProfile_skins, $i).$data6);
            nms_NBTTagCompound_setBoolean($nbt, $rt_s(426), ju_ArrayList_get(nle_EaglerProfile_skins, $i).$slim);
            nms_NBTTagCompound_setTag($skins, ju_ArrayList_get(nle_EaglerProfile_skins, $i).$name5, $nbt);
            $i = $i + 1 | 0;
        }
        nms_NBTTagCompound_setCompoundTag(nle_LocalStorageManager_profileSettingsStorage, $rt_s(424), $skins);
        nle_LocalStorageManager_saveStorageP();
        return;
    case 1:
        nms_Gui_drawCenteredString($this, $url, $con, var$3, $l, $i);
        if ($rt_suspending()) {
            break main;
        }
        try {
            if (!jur_Matcher_matches(jur_Pattern_matcher(nle_ConfigConstants_ipPattern, nms_GameSettings_proxy)))
                $rt_throw(ji_IOException__init_3($rt_s(526)));
            $http = jn_URL_openConnection(jn_URL__init_(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(527)), !nlea_EaglerAdapterImpl2_isSSLPage() ? $rt_s(36) : $rt_s(528)), $rt_s(529)), nms_GameSettings_proxy), $rt_s(530)))));
            jn_URLConnection_setConnectTimeout($http, 5000);
            jn_URLConnection_setReadTimeout($http, 5000);
            jni_XHRURLConnection_connect($http);
            $ptr = 2;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
            } else {
                throw $$e;
            }
        }
        nms_GameSettings_proxy = nms_GameSettings_getNewProxy();
        nms_GuiTextField_setText($this.$proxy, nms_GameSettings_proxy);
        $this.$proxyInvalid = 300;
        return;
    case 2:
        a: {
            try {
                $tmp = jni_XHRURLConnection_getResponseCode($http);
                if ($rt_suspending()) {
                    break main;
                }
                $i = $tmp;
                if ($i != 404) {
                    jni_XHRURLConnection_disconnect($http);
                    $rt_throw(ji_IOException__init_3($rt_s(526)));
                }
                jni_XHRURLConnection_disconnect($http);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            nms_GameSettings_proxy = nms_GameSettings_getNewProxy();
            nms_GuiTextField_setText($this.$proxy, nms_GameSettings_proxy);
            $this.$proxyInvalid = 300;
            return;
        }
        nle_EaglerProfile_presetSkinId = $this.$selectedSlot - nle_EaglerProfile_skins.$size | 0;
        if (nle_EaglerProfile_presetSkinId >= 0)
            nle_EaglerProfile_customSkinId = (-1);
        else {
            nle_EaglerProfile_presetSkinId = (-1);
            nle_EaglerProfile_customSkinId = $this.$selectedSlot;
        }
        nms_NBTTagCompound_setInteger(nle_LocalStorageManager_profileSettingsStorage, $rt_s(421), nle_EaglerProfile_presetSkinId);
        nms_NBTTagCompound_setInteger(nle_LocalStorageManager_profileSettingsStorage, $rt_s(422), nle_EaglerProfile_customSkinId);
        nms_NBTTagCompound_setString(nle_LocalStorageManager_profileSettingsStorage, $rt_s(287), nle_EaglerProfile_username);
        $skins = nms_NBTTagCompound__init_0();
        $i = 0;
        $l = nle_EaglerProfile_skins.$size;
        while ($i < $l) {
            $nbt = nms_NBTTagCompound__init_0();
            nms_NBTTagCompound_setByteArray($nbt, $rt_s(425), ju_ArrayList_get(nle_EaglerProfile_skins, $i).$data6);
            nms_NBTTagCompound_setBoolean($nbt, $rt_s(426), ju_ArrayList_get(nle_EaglerProfile_skins, $i).$slim);
            nms_NBTTagCompound_setTag($skins, ju_ArrayList_get(nle_EaglerProfile_skins, $i).$name5, $nbt);
            $i = $i + 1 | 0;
        }
        nms_NBTTagCompound_setCompoundTag(nle_LocalStorageManager_profileSettingsStorage, $rt_s(424), $skins);
        nle_LocalStorageManager_saveStorageP();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $url, $con, var$3, $l, $i, $skins, $nbt, $http, $ptr);
}
function nle_GuiScreenEditProfile_actionPerformed($this, $par1GuiButton) {
    var $i, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$i = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$dropDownOpen) {
            if ($par1GuiButton.$id3 == 200) {
                $ptr = 1;
                continue main;
            }
            if ($par1GuiButton.$id3 == 2)
                window.eagsFileChooser.openFileChooser("png", "image/png");
            else {
                if ($par1GuiButton.$id3 == 3) {
                    nle_EaglerProfile_$callClinit();
                    $par1GuiButton = ju_AbstractList_iterator(nle_EaglerProfile_skins);
                    while (ju_AbstractList$1_hasNext($par1GuiButton)) {
                        $i = ju_AbstractList$1_next($par1GuiButton);
                        nms_RenderEngine_deleteTexture($this.$mc2.$renderEngine, $i.$glTex);
                    }
                    ju_ArrayList_clear(nle_EaglerProfile_skins);
                    $this.$dropDownOptions = nle_GuiScreenEditProfile_defaultOptions;
                    $this.$selectedSlot = 0;
                    $ptr = 2;
                    continue main;
                }
                if ($par1GuiButton.$id3 == 4) {
                    nms_GameSettings_$callClinit();
                    nms_GameSettings_useDefaultProtocol = nms_GameSettings_useDefaultProtocol ? 0 : 1;
                    $this.$button3.$displayString = !nms_GameSettings_useDefaultProtocol ? $rt_s(514) : $rt_s(515);
                } else if ($par1GuiButton.$id3 == 5) {
                    nms_GameSettings_$callClinit();
                    nms_GameSettings_useProxy = nms_GameSettings_useProxy ? 0 : 1;
                    $par1GuiButton = $this.$button4;
                    $i = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($i);
                    jl_AbstractStringBuilder_append($i, !nms_GameSettings_useProxy ? $rt_s(516) : $rt_s(517));
                    jl_AbstractStringBuilder_append($i, $rt_s(518));
                    $par1GuiButton.$displayString = jl_AbstractStringBuilder_toString($i);
                }
            }
        }
        return;
    case 1:
        nle_GuiScreenEditProfile_save($this);
        if ($rt_suspending()) {
            break main;
        }
        nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$parent);
        return;
    case 2:
        nle_GuiScreenEditProfile_save($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, $i, $ptr);
}
function nle_GuiScreenEditProfile_updateScreen($this) {
    var $skinX, $skinY, $scrollerSize, $rawSkin, $img, var$6, $i, $i2, $i3, $name, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$name = $thread.pop();$i3 = $thread.pop();$i2 = $thread.pop();$i = $thread.pop();var$6 = $thread.pop();$img = $thread.pop();$rawSkin = $thread.pop();$scrollerSize = $thread.pop();$skinY = $thread.pop();$skinX = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_GuiTextField_updateCursorCounter($this.$username);
        nms_GuiTextField_updateCursorCounter($this.$proxy);
        if (!$this.$dropDownOpen)
            $this.$dragging = 0;
        else if (!nlea_EaglerAdapterImpl2_mouseIsButtonDown(0))
            $this.$dragging = 0;
        else {
            $skinX = ($this.$width / 2 | 0) - 20 | 0;
            $skinY = ($this.$height / 6 | 0) + 103 | 0;
            $scrollerSize = $this.$mousex;
            $skinX = $skinX + 140 | 0;
            if ($scrollerSize >= ($skinX - 10 | 0) && $this.$mousex < $skinX && $this.$mousey >= $skinY && $this.$mousey < ($skinY + $this.$skinsHeight | 0))
                $this.$dragging = 1;
            if ($this.$dragging) {
                $scrollerSize = $rt_imul($this.$skinsHeight, $this.$slotsVisible) / $this.$dropDownOptions.data.length | 0;
                $this.$scrollPos = $rt_imul(($this.$mousey - $skinY | 0) - ($scrollerSize / 2 | 0) | 0, $this.$dropDownOptions.data.length) / $this.$skinsHeight | 0;
            }
        }
        $rawSkin = nlea_EaglerAdapterImpl2_getFileChooserResult();
        if ($rawSkin !== null && $rawSkin.data.length > 0) {
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_loadPNG($rawSkin);
        if ($rt_suspending()) {
            break main;
        }
        $img = $tmp;
        if (!($img.$w0 == 64 && $img.$h0 == 32) && !($img.$w0 == 64 && $img.$h0 == 64) && !($img.$w0 == 128 && $img.$h0 == 64) && !($img.$w0 == 128 && $img.$h0 == 128))
            return;
        $rawSkin = $rt_createByteArray($img.$data.data.length * 4 | 0);
        var$6 = $rawSkin.data;
        $i = 0;
        while ($i < $img.$data.data.length) {
            $i2 = $i * 4 | 0;
            $i3 = $img.$data.data[$i];
            var$6[$i2] = $i3 << 24 >> 24;
            var$6[$i2 + 1 | 0] = $i3 >> 8 << 24 >> 24;
            var$6[$i2 + 2 | 0] = $i3 >> 16 << 24 >> 24;
            var$6[$i2 + 3 | 0] = $i3 >> 24 << 24 >> 24;
            $i = $i + 1 | 0;
        }
        $name = $rt_str(nlea_EaglerAdapterImpl2_getFileChooserResultName$js_body$_225());
        if (jl_String_length($name) > 32)
            $name = jl_String_substring0($name, 0, 32);
        a: {
            if (!($img.$w0 == 64 && $img.$h0 == 64)) {
                if ($img.$w0 != 128)
                    break a;
                if ($img.$h0 != 128)
                    break a;
            }
            $this.$newSkinWaitSteveOrAlex = 1;
        }
        $skinX = nle_EaglerProfile_addSkin($name, $rawSkin, 0);
        if ($skinX == (-1))
            return;
        $this.$selectedSlot = $skinX;
        nle_GuiScreenEditProfile_reconcatDD($this);
        $ptr = 2;
    case 2:
        nle_GuiScreenEditProfile_save($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $skinX, $skinY, $scrollerSize, $rawSkin, $img, var$6, $i, $i2, $i3, $name, $ptr);
}
function nle_GuiScreenEditProfile_onGuiClosed($this) {
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
}
function nle_GuiScreenEditProfile_keyTyped($this, $par1, $par2) {
    var $text, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$text = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $text = $this.$username;
        $ptr = 1;
    case 1:
        nms_GuiTextField_textboxKeyTyped($text, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $text = $this.$proxy;
        $ptr = 2;
    case 2:
        nms_GuiTextField_textboxKeyTyped($text, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $text = $this.$username.$text0;
        if (jl_String_length($text) > 16)
            $text = jl_String_substring0($text, 0, 16);
        $text = jl_String_replaceAll($text, $rt_s(531), $rt_s(423));
        nms_GuiTextField_setText($this.$username, $text);
        if ($par2 == 200 && $this.$selectedSlot > 0) {
            $this.$selectedSlot = $this.$selectedSlot - 1 | 0;
            $this.$scrollPos = $this.$selectedSlot - 2 | 0;
        }
        if ($par2 == 208 && $this.$selectedSlot < ($this.$dropDownOptions.data.length - 1 | 0)) {
            $this.$selectedSlot = $this.$selectedSlot + 1 | 0;
            $this.$scrollPos = $this.$selectedSlot - 2 | 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $text, $ptr);
}
function nle_GuiScreenEditProfile_mouseClicked($this, $par1, $par2, $par3) {
    var $skinX, $skinY, $type, $skinHeight, $i, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$i = $thread.pop();$skinHeight = $thread.pop();$type = $thread.pop();$skinY = $thread.pop();$skinX = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$newSkinWaitSteveOrAlex) {
            $skinX = $this.$selectedSlot;
            nle_EaglerProfile_$callClinit();
            if ($skinX < ju_ArrayList_size(nle_EaglerProfile_skins)) {
                $skinX = ($this.$width / 2 | 0) - 120 | 0;
                $skinY = ($this.$height / 6 | 0) + 8 | 0;
                if ($par1 >= $skinX && $par2 >= $skinY && $par1 < ($skinX + 80 | 0) && $par2 < ($skinY + 130 | 0) && $this.$selectedSlot < ju_ArrayList_size(nle_EaglerProfile_skins)) {
                    $type = nle_EaglerProfile_getSkinSize(ju_ArrayList_get(nle_EaglerProfile_skins, $this.$selectedSlot).$data6.data.length);
                    if (!($type != 1 && $type != 3)) {
                        $this.$newSkinWaitSteveOrAlex = 1;
                        return;
                    }
                }
            }
            $ptr = 1;
            continue main;
        }
        $skinX = ($this.$width / 2 | 0) - 90 | 0;
        $skinY = $this.$height / 4 | 0;
        if ($par1 >= $skinX && $par2 >= $skinY && $par1 < ($skinX + 70 | 0) && $par2 < ($skinY + 120 | 0)) {
            $par1 = $this.$selectedSlot;
            nle_EaglerProfile_$callClinit();
            if ($par1 >= ju_ArrayList_size(nle_EaglerProfile_skins))
                return;
            $this.$newSkinWaitSteveOrAlex = 0;
            ju_ArrayList_get(nle_EaglerProfile_skins, $this.$selectedSlot).$slim = 0;
            $ptr = 2;
            continue main;
        }
        $par3 = ($this.$width / 2 | 0) + 20 | 0;
        $skinX = $this.$height / 4 | 0;
        if ($par1 >= $par3 && $par2 >= $skinX && $par1 < ($par3 + 70 | 0) && $par2 < ($skinX + 120 | 0)) {
            $par1 = $this.$selectedSlot;
            nle_EaglerProfile_$callClinit();
            if ($par1 < ju_ArrayList_size(nle_EaglerProfile_skins)) {
                ju_ArrayList_get(nle_EaglerProfile_skins, $this.$selectedSlot).$slim = 1;
                $this.$newSkinWaitSteveOrAlex = 0;
                $ptr = 3;
                continue main;
            }
        }
        return;
    case 1:
        a: {
            nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
            if ($rt_suspending()) {
                break main;
            }
            nms_GuiTextField_mouseClicked($this.$username, $par1, $par2, $par3);
            nms_GuiTextField_mouseClicked($this.$proxy, $par1, $par2, $par3);
            if (!$par3) {
                $skinX = (($this.$width / 2 | 0) + 140 | 0) - 40 | 0;
                $skinY = ($this.$height / 6 | 0) + 82 | 0;
                if ($par1 >= $skinX && $par1 < ($skinX + 20 | 0) && $par2 >= $skinY && $par2 < ($skinY + 22 | 0))
                    $this.$dropDownOpen = $this.$dropDownOpen ? 0 : 1;
                $par3 = ($this.$width / 2 | 0) - 20 | 0;
                $skinX = ($this.$height / 6 | 0) + 82 | 0;
                $skinHeight = $this.$skinsHeight;
                $skinY = $rt_compare($par1, $par3);
                if (!($skinY >= 0 && $par1 < ($par3 + 140 | 0) && $par2 >= $skinX && $par2 < (($skinX + $skinHeight | 0) + 22 | 0))) {
                    $this.$dropDownOpen = 0;
                    $this.$dragging = 0;
                }
                $skinHeight = $skinX + 21 | 0;
                if ($this.$dropDownOpen && !$this.$dragging) {
                    $i = 0;
                    $par3 = $rt_compare($par1, ($par3 + 140 | 0) - 10 | 0);
                    while (true) {
                        if ($i >= $this.$slotsVisible)
                            break a;
                        if (($i + $this.$scrollPos | 0) < $this.$dropDownOptions.data.length && $this.$selectedSlot != ($i + $this.$scrollPos | 0) && $skinY >= 0 && $par3 < 0) {
                            $par1 = $skinHeight + ($i * 10 | 0) | 0;
                            if ($par2 >= ($par1 + 5 | 0) && $par2 < ($par1 + 15 | 0) && $this.$selectedSlot != ($i + $this.$scrollPos | 0)) {
                                $this.$selectedSlot = $i + $this.$scrollPos | 0;
                                $this.$dropDownOpen = 0;
                                $this.$dragging = 0;
                            }
                        }
                        $i = $i + 1 | 0;
                    }
                }
            }
        }
        return;
    case 2:
        nle_GuiScreenEditProfile_save($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nle_GuiScreenEditProfile_save($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $skinX, $skinY, $type, $skinHeight, $i, $ptr);
}
function nle_GuiScreenEditProfile__clinit_() {
    var var$1, var$2;
    nle_GuiScreenEditProfile_gui = nle_TextureLocation__init_($rt_s(532));
    var$1 = $rt_createArray(jl_String, 33);
    var$2 = var$1.data;
    var$2[0] = $rt_s(533);
    var$2[1] = $rt_s(534);
    var$2[2] = $rt_s(535);
    var$2[3] = $rt_s(536);
    var$2[4] = $rt_s(537);
    var$2[5] = $rt_s(538);
    var$2[6] = $rt_s(539);
    var$2[7] = $rt_s(540);
    var$2[8] = $rt_s(541);
    var$2[9] = $rt_s(542);
    var$2[10] = $rt_s(543);
    var$2[11] = $rt_s(544);
    var$2[12] = $rt_s(545);
    var$2[13] = $rt_s(546);
    var$2[14] = $rt_s(547);
    var$2[15] = $rt_s(548);
    var$2[16] = $rt_s(549);
    var$2[17] = $rt_s(550);
    var$2[18] = $rt_s(551);
    var$2[19] = $rt_s(552);
    var$2[20] = $rt_s(553);
    var$2[21] = $rt_s(554);
    var$2[22] = $rt_s(555);
    var$2[23] = $rt_s(556);
    var$2[24] = $rt_s(557);
    var$2[25] = $rt_s(558);
    var$2[26] = $rt_s(559);
    var$2[27] = $rt_s(560);
    var$2[28] = $rt_s(561);
    var$2[29] = $rt_s(562);
    var$2[30] = $rt_s(563);
    var$2[31] = $rt_s(564);
    var$2[32] = $rt_s(565);
    nle_GuiScreenEditProfile_defaultOptions = var$1;
}
function ji_ByteArrayOutputStream() {
    var a = this; ji_OutputStream.call(a);
    a.$buf2 = null;
    a.$count2 = 0;
}
function ji_ByteArrayOutputStream__init_0() {
    var var_0 = new ji_ByteArrayOutputStream();
    ji_ByteArrayOutputStream__init_(var_0);
    return var_0;
}
function ji_ByteArrayOutputStream__init_($this) {
    $this.$buf2 = $rt_createByteArray(32);
}
function ji_ByteArrayOutputStream_write($this, $b) {
    var var$2, var$3;
    ji_ByteArrayOutputStream_ensureCapacity($this, $this.$count2 + 1 | 0);
    var$2 = $this.$buf2.data;
    var$3 = $this.$count2;
    $this.$count2 = var$3 + 1 | 0;
    var$2[var$3] = $b << 24 >> 24;
}
function ji_ByteArrayOutputStream_write0($this, $b, $off, $len) {
    var $i, var$5, var$6, var$7, var$8;
    ji_ByteArrayOutputStream_ensureCapacity($this, $this.$count2 + $len | 0);
    $i = 0;
    while ($i < $len) {
        var$5 = $b.data;
        var$6 = $this.$buf2.data;
        var$7 = $this.$count2;
        $this.$count2 = var$7 + 1 | 0;
        var$8 = $off + 1 | 0;
        var$6[var$7] = var$5[$off];
        $i = $i + 1 | 0;
        $off = var$8;
    }
}
function ji_ByteArrayOutputStream_ensureCapacity($this, $capacity) {
    if ($this.$buf2.data.length < $capacity) {
        $capacity = jl_Math_max($capacity, ($this.$buf2.data.length * 3 | 0) / 2 | 0);
        $this.$buf2 = ju_Arrays_copyOf1($this.$buf2, $capacity);
    }
}
function ji_ByteArrayOutputStream_toByteArray($this) {
    return ju_Arrays_copyOf1($this.$buf2, $this.$count2);
}
function ji_ByteArrayOutputStream_reset($this) {
    $this.$count2 = 0;
}
function ji_DataOutput() {
}
function ji_DataOutputStream() {
    var a = this; ji_FilterOutputStream.call(a);
    a.$written = 0;
    a.$buff0 = null;
}
function ji_DataOutputStream__init_(var_0) {
    var var_1 = new ji_DataOutputStream();
    ji_DataOutputStream__init_0(var_1, var_0);
    return var_1;
}
function ji_DataOutputStream__init_0($this, $out) {
    ji_FilterOutputStream__init_0($this, $out);
    $this.$buff0 = $rt_createByteArray(8);
}
function ji_DataOutputStream_write0($this, $buffer, $offset, $count) {
    var var$4;
    if ($buffer !== null) {
        $this.$out0.$write1($buffer, $offset, $count);
        $this.$written = $this.$written + $count | 0;
        return;
    }
    var$4 = new jl_NullPointerException;
    jl_Throwable__init_0(var$4);
    $rt_throw(var$4);
}
function ji_DataOutputStream_write($this, $oneByte) {
    $this.$out0.$write2($oneByte);
    $this.$written = $this.$written + 1 | 0;
}
function ji_DataOutputStream_writeBoolean($this, $val) {
    $this.$out0.$write2(!$val ? 0 : 1);
    $this.$written = $this.$written + 1 | 0;
}
function ji_DataOutputStream_writeByte($this, $val) {
    $this.$out0.$write2($val);
    $this.$written = $this.$written + 1 | 0;
}
function ji_DataOutputStream_writeChars($this, $str) {
    var $newBytes, var$3, $index, $newIndex;
    $newBytes = $rt_createByteArray(jl_String_length($str) * 2 | 0);
    var$3 = $newBytes.data;
    $index = 0;
    while ($index < jl_String_length($str)) {
        $newIndex = !$index ? $index : $index * 2 | 0;
        var$3[$newIndex] = jl_String_charAt($str, $index) >> 8 << 24 >> 24;
        var$3[$newIndex + 1 | 0] = jl_String_charAt($str, $index) << 24 >> 24;
        $index = $index + 1 | 0;
    }
    ji_OutputStream_write($this.$out0, $newBytes);
    $this.$written = $this.$written + var$3.length | 0;
}
function ji_DataOutputStream_writeDouble($this, $val) {
    ji_DataOutputStream_writeLong($this, $rt_doubleToLongBits($val));
}
function ji_DataOutputStream_writeFloat($this, $val) {
    ji_DataOutputStream_writeInt($this, $rt_floatToIntBits($val));
}
function ji_DataOutputStream_writeInt($this, $val) {
    $this.$buff0.data[0] = $val >> 24 << 24 >> 24;
    $this.$buff0.data[1] = $val >> 16 << 24 >> 24;
    $this.$buff0.data[2] = $val >> 8 << 24 >> 24;
    $this.$buff0.data[3] = $val << 24 >> 24;
    $this.$out0.$write1($this.$buff0, 0, 4);
    $this.$written = $this.$written + 4 | 0;
}
function ji_DataOutputStream_writeLong($this, $val) {
    $this.$buff0.data[0] = Long_shr($val, 56).lo << 24 >> 24;
    $this.$buff0.data[1] = Long_shr($val, 48).lo << 24 >> 24;
    $this.$buff0.data[2] = Long_shr($val, 40).lo << 24 >> 24;
    $this.$buff0.data[3] = $val.hi << 24 >> 24;
    $this.$buff0.data[4] = Long_shr($val, 24).lo << 24 >> 24;
    $this.$buff0.data[5] = Long_shr($val, 16).lo << 24 >> 24;
    $this.$buff0.data[6] = Long_shr($val, 8).lo << 24 >> 24;
    $this.$buff0.data[7] = $val.lo << 24 >> 24;
    $this.$out0.$write1($this.$buff0, 0, 8);
    $this.$written = $this.$written + 8 | 0;
}
function ji_DataOutputStream_writeShort($this, $val) {
    $this.$buff0.data[0] = $val >> 8 << 24 >> 24;
    $this.$buff0.data[1] = $val << 24 >> 24;
    $this.$out0.$write1($this.$buff0, 0, 2);
    $this.$written = $this.$written + 2 | 0;
}
function ji_DataOutputStream_writeShortToBuffer($this, $val, $buffer, $offset) {
    var var$4;
    $buffer = $buffer.data;
    var$4 = $offset + 1 | 0;
    $buffer[$offset] = $val >> 8 << 24 >> 24;
    $offset = var$4 + 1 | 0;
    $buffer[var$4] = $val << 24 >> 24;
    return $offset;
}
function ji_DataOutputStream_writeUTF($this, $str) {
    var $utfCount, var$3, $buffer;
    $utfCount = ji_DataOutputStream_countUTFBytes($this, $str);
    if (Long_gt($utfCount, Long_fromInt(65535))) {
        $str = new ji_IOException;
        jl_Throwable__init_($str, $rt_s(566));
        $rt_throw($str);
    }
    var$3 = $utfCount.lo;
    $buffer = $rt_createByteArray(var$3 + 2 | 0);
    ji_DataOutputStream_write0($this, $buffer, 0, ji_DataOutputStream_writeUTFBytesToBuffer($this, $str, $buffer, ji_DataOutputStream_writeShortToBuffer($this, var$3, $buffer, 0)));
}
function ji_DataOutputStream_countUTFBytes($this, $str) {
    var $utfCount, $length, $i, $charValue;
    $utfCount = 0;
    $length = jl_String_length($str);
    $i = 0;
    while ($i < $length) {
        $charValue = jl_String_charAt($str, $i);
        $utfCount = $charValue > 0 && $charValue <= 127 ? $utfCount + 1 | 0 : $charValue > 2047 ? $utfCount + 3 | 0 : $utfCount + 2 | 0;
        $i = $i + 1 | 0;
    }
    return Long_fromInt($utfCount);
}
function ji_DataOutputStream_writeUTFBytesToBuffer($this, $str, $buffer, $offset) {
    var $length, $i, $charValue, var$7, var$8, var$9, var$10;
    $length = jl_String_length($str);
    $i = 0;
    while ($i < $length) {
        $charValue = jl_String_charAt($str, $i);
        if ($charValue > 0 && $charValue <= 127) {
            var$7 = $buffer.data;
            var$8 = $offset + 1 | 0;
            var$7[$offset] = $charValue << 24 >> 24;
        } else if ($charValue <= 2047) {
            var$7 = $buffer.data;
            var$9 = $offset + 1 | 0;
            var$7[$offset] = (192 | 31 & $charValue >> 6) << 24 >> 24;
            var$8 = var$9 + 1 | 0;
            var$7[var$9] = (128 | 63 & $charValue) << 24 >> 24;
        } else {
            var$7 = $buffer.data;
            var$8 = $offset + 1 | 0;
            var$7[$offset] = (224 | 15 & $charValue >> 12) << 24 >> 24;
            var$10 = var$8 + 1 | 0;
            var$7[var$8] = (128 | 63 & $charValue >> 6) << 24 >> 24;
            var$8 = var$10 + 1 | 0;
            var$7[var$10] = (128 | 63 & $charValue) << 24 >> 24;
        }
        $i = $i + 1 | 0;
        $offset = var$8;
    }
    return $offset;
}
function otciu_CLDRHelper() {
    jl_Object.call(this);
}
var otciu_CLDRHelper_$$metadata$$0 = null;
var otciu_CLDRHelper_$$metadata$$1 = null;
var otciu_CLDRHelper_$$metadata$$2 = null;
var otciu_CLDRHelper_$$metadata$$3 = null;
var otciu_CLDRHelper_$$metadata$$4 = null;
var otciu_CLDRHelper_$$metadata$$5 = null;
var otciu_CLDRHelper_$$metadata$$6 = null;
var otciu_CLDRHelper_$$metadata$$7 = null;
var otciu_CLDRHelper_$$metadata$$10 = null;
var otciu_CLDRHelper_$$metadata$$12 = null;
var otciu_CLDRHelper_$$metadata$$13 = null;
var otciu_CLDRHelper_$$metadata$$14 = null;
var otciu_CLDRHelper_$$metadata$$15 = null;
var otciu_CLDRHelper_$$metadata$$16 = null;
var otciu_CLDRHelper_$$metadata$$17 = null;
var otciu_CLDRHelper_$$metadata$$18 = null;
var otciu_CLDRHelper_$$metadata$$19 = null;
var otciu_CLDRHelper_$$metadata$$20 = null;
var otciu_CLDRHelper_$$metadata$$21 = null;
function otciu_CLDRHelper__init_0() {
    var var_0 = new otciu_CLDRHelper();
    otciu_CLDRHelper__init_(var_0);
    return var_0;
}
function otciu_CLDRHelper__init_($this) {
    return;
}
function otciu_CLDRHelper_getCode($language, $country) {
    var var$3;
    if (!jl_String_isEmpty($country)) {
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $language);
        jl_AbstractStringBuilder_append(var$3, $rt_s(567));
        jl_AbstractStringBuilder_append(var$3, $country);
        $language = jl_AbstractStringBuilder_toString(var$3);
    }
    return $language;
}
function otciu_CLDRHelper_resolveCountry($subtags, $country) {
    var $index;
    if (jl_String_isEmpty($country)) {
        if (otciu_CLDRHelper_$$metadata$$0 === null)
            otciu_CLDRHelper_$$metadata$$0 = otciu_CLDRHelper_getLikelySubtagsMap$$create();
        $country = otciu_CLDRHelper_$$metadata$$0;
        if ($country.hasOwnProperty($rt_ustr($subtags)))
            $subtags = ($country[$rt_ustr($subtags)].value !== null ? $rt_str($country[$rt_ustr($subtags)].value) : null);
        $index = jl_String_lastIndexOf($subtags, 95);
        $country = $index <= 0 ? $rt_s(36) : jl_String_substring($subtags, $index + 1 | 0);
    }
    return $country;
}
function otciu_CLDRHelper_resolveDateFormatSymbols($map, $language, $country) {
    var $localeCode, $arrayRes, $result, var$7, $i, var$9;
    $localeCode = otciu_CLDRHelper_getCode($language, $country);
    $arrayRes = $map.hasOwnProperty($rt_ustr($localeCode)) ? $map[$rt_ustr($localeCode)] : $map.hasOwnProperty($rt_ustr($language)) ? $map[$rt_ustr($language)] : $map.root;
    $result = $rt_createArray(jl_String, $arrayRes.length);
    var$7 = $result.data;
    $i = 0;
    var$9 = var$7.length;
    while ($i < var$9) {
        var$7[$i] = ($arrayRes[$i].value !== null ? $rt_str($arrayRes[$i].value) : null);
        $i = $i + 1 | 0;
    }
    return $result;
}
function otciu_CLDRHelper_getTimeZoneLocalizationMap() {
    if (otciu_CLDRHelper_$$metadata$$7 === null)
        otciu_CLDRHelper_$$metadata$$7 = otciu_CLDRHelper_getTimeZoneLocalizationMap$$create();
    return otciu_CLDRHelper_$$metadata$$7;
}
function otciu_CLDRHelper_resolveDateFormats($language, $country) {
    if (otciu_CLDRHelper_$$metadata$$14 === null)
        otciu_CLDRHelper_$$metadata$$14 = otciu_CLDRHelper_getDateFormatMap$$create();
    return otciu_CLDRHelper_resolveDateFormats0(otciu_CLDRHelper_$$metadata$$14, $language, $country);
}
function otciu_CLDRHelper_resolveNumberFormat($language, $country) {
    if (otciu_CLDRHelper_$$metadata$$17 === null)
        otciu_CLDRHelper_$$metadata$$17 = otciu_CLDRHelper_getNumberFormatMap$$create();
    return otciu_CLDRHelper_resolveFormatSymbols(otciu_CLDRHelper_$$metadata$$17, $language, $country);
}
function otciu_CLDRHelper_resolveDateFormats0($map, $language, $country) {
    var $localeCode;
    $localeCode = otciu_CLDRHelper_getCode($language, $country);
    return $map.hasOwnProperty($rt_ustr($localeCode)) ? $map[$rt_ustr($localeCode)] : $map.hasOwnProperty($rt_ustr($language)) ? $map[$rt_ustr($language)] : $map.root;
}
function otciu_CLDRHelper_resolveFormatSymbols($map, $language, $country) {
    var $localeCode;
    $localeCode = otciu_CLDRHelper_getCode($language, $country);
    return (($map.hasOwnProperty($rt_ustr($localeCode)) ? $map[$rt_ustr($localeCode)] : $map.hasOwnProperty($rt_ustr($language)) ? $map[$rt_ustr($language)] : $map.root).value !== null ? $rt_str(($map.hasOwnProperty($rt_ustr($localeCode)) ? $map[$rt_ustr($localeCode)] : $map.hasOwnProperty($rt_ustr($language)) ? $map[$rt_ustr($language)] : $map.root).value) : null);
}
function otciu_CLDRHelper_getLikelySubtagsMap$$create() {
    return {"ksh": {"value" : "ksh-Latn-DE"}, "ksj": {"value" : "ksj-Latn-ZZ"}, "cch": {"value" : "cch-Latn-NG"}, "und-Khar": {"value" : "pra-Khar-PK"}, "gkn": {"value" : "gkn-Latn-ZZ"}, "ksr": {"value" : "ksr-Latn-ZZ"}, "und-Mani": {"value" : "xmn-Mani-CN"}, "gkp": {"value" : "gkp-Latn-ZZ"}, "xmf": {"value" : "xmf-Geor-GE"}, "ccp": {"value" : "ccp-Cakm-BD"}, "ted": {"value" : "ted-Latn-ZZ"}, "und-Mand": {"value" : "myz-Mand-IR"}, "ktb": {"value" : "ktb-Ethi-ZZ"}, "xmn": {"value" : "xmn-Mani-CN"}, "sd-Sind":
    {"value" : "sd-Sind-IN"}, "xmr": {"value" : "xmr-Merc-SD"}, "tem": {"value" : "tem-Latn-SL"}, "und-Mroo": {"value" : "mro-Mroo-BD"}, "teo": {"value" : "teo-Latn-UG"}, "tet": {"value" : "tet-Latn-TL"}, "ktm": {"value" : "ktm-Latn-ZZ"}, "glk": {"value" : "glk-Arab-IR"}, "kto": {"value" : "kto-Latn-ZZ"}, "und-Soyo": {"value" : "cmg-Soyo-MN"}, "xna": {"value" : "xna-Narb-SA"}, "tfi": {"value" : "tfi-Latn-ZZ"}, "kub": {"value" : "kub-Latn-ZZ"}, "kue": {"value" : "kue-Latn-ZZ"}, "kud": {"value" : "kud-Latn-ZZ"}
    , "xnr": {"value" : "xnr-Deva-IN"}, "ceb": {"value" : "ceb-Latn-PH"}, "kuj": {"value" : "kuj-Latn-ZZ"}, "kum": {"value" : "kum-Cyrl-RU"}, "kun": {"value" : "kun-Latn-ZZ"}, "gmm": {"value" : "gmm-Latn-ZZ"}, "kup": {"value" : "kup-Latn-ZZ"}, "kus": {"value" : "kus-Latn-ZZ"}, "gmv": {"value" : "gmv-Ethi-ZZ"}, "tgc": {"value" : "tgc-Latn-ZZ"}, "xog": {"value" : "xog-Latn-UG"}, "und-Arab-YT": {"value" : "swb-Arab-YT"}, "und-Latn-ET": {"value" : "en-Latn-ET"}, "xon": {"value" : "xon-Latn-ZZ"}, "ha-CM": {"value"
    : "ha-Arab-CM"}, "gnd": {"value" : "gnd-Latn-ZZ"}, "kvg": {"value" : "kvg-Latn-ZZ"}, "tgo": {"value" : "tgo-Latn-ZZ"}, "cfa": {"value" : "cfa-Latn-ZZ"}, "gng": {"value" : "gng-Latn-ZZ"}, "tgu": {"value" : "tgu-Latn-ZZ"}, "und-Latn-GE": {"value" : "ku-Latn-GE"}, "kvr": {"value" : "kvr-Latn-ID"}, "kvx": {"value" : "kvx-Arab-PK"}, "und-Gujr": {"value" : "gu-Gujr-IN"}, "thl": {"value" : "thl-Deva-NP"}, "xpr": {"value" : "xpr-Prti-IR"}, "thq": {"value" : "thq-Deva-NP"}, "god": {"value" : "god-Latn-ZZ"}, "gof":
    {"value" : "gof-Ethi-ZZ"}, "kwj": {"value" : "kwj-Latn-ZZ"}, "ky-Arab": {"value" : "ky-Arab-CN"}, "thr": {"value" : "thr-Deva-NP"}, "goi": {"value" : "goi-Latn-ZZ"}, "cgg": {"value" : "cgg-Latn-UG"}, "kwo": {"value" : "kwo-Latn-ZZ"}, "gom": {"value" : "gom-Deva-IN"}, "gon": {"value" : "gon-Telu-IN"}, "gos": {"value" : "gos-Latn-NL"}, "gor": {"value" : "gor-Latn-ID"}, "und-Latn-CY": {"value" : "tr-Latn-CY"}, "got": {"value" : "got-Goth-UA"}, "tif": {"value" : "tif-Latn-ZZ"}, "tig": {"value" : "tig-Ethi-ER"}
    , "kxa": {"value" : "kxa-Latn-ZZ"}, "kxc": {"value" : "kxc-Ethi-ZZ"}, "pag": {"value" : "pag-Latn-PH"}, "tik": {"value" : "tik-Latn-ZZ"}, "tim": {"value" : "tim-Latn-ZZ"}, "pal": {"value" : "pal-Phli-IR"}, "tio": {"value" : "tio-Latn-ZZ"}, "pam": {"value" : "pam-Latn-PH"}, "und-Marc": {"value" : "bo-Marc-CN"}, "pap": {"value" : "pap-Latn-AW"}, "und-Latn-CN": {"value" : "za-Latn-CN"}, "tiv": {"value" : "tiv-Latn-NG"}, "kxm": {"value" : "kxm-Thai-TH"}, "kxp": {"value" : "kxp-Arab-PK"}, "pau": {"value" : "pau-Latn-PW"}
    , "chk": {"value" : "chk-Latn-FM"}, "chm": {"value" : "chm-Cyrl-RU"}, "xrb": {"value" : "xrb-Latn-ZZ"}, "chp": {"value" : "chp-Latn-CA"}, "cho": {"value" : "cho-Latn-US"}, "kxw": {"value" : "kxw-Latn-ZZ"}, "und-Latn-DZ": {"value" : "fr-Latn-DZ"}, "chr": {"value" : "chr-Cher-US"}, "kxz": {"value" : "kxz-Latn-ZZ"}, "und-Batk": {"value" : "bbc-Batk-ID"}, "und-Bass": {"value" : "bsq-Bass-LR"}, "kye": {"value" : "kye-Latn-ZZ"}, "pbi": {"value" : "pbi-Latn-ZZ"}, "und-Deva-MU": {"value" : "bho-Deva-MU"}, "und-Sgnw":
    {"value" : "ase-Sgnw-US"}, "xsa": {"value" : "xsa-Sarb-YE"}, "kyx": {"value" : "kyx-Latn-ZZ"}, "xsi": {"value" : "xsi-Latn-ZZ"}, "pcd": {"value" : "pcd-Latn-FR"}, "und-Latn-AM": {"value" : "ku-Latn-AM"}, "xsm": {"value" : "xsm-Latn-ZZ"}, "tkl": {"value" : "tkl-Latn-TK"}, "und-Thai-CN": {"value" : "lcp-Thai-CN"}, "grb": {"value" : "grb-Latn-ZZ"}, "xsr": {"value" : "xsr-Deva-NP"}, "und-Latn-AF": {"value" : "tk-Latn-AF"}, "grc": {"value" : "grc-Cprt-CY"}, "tkr": {"value" : "tkr-Latn-AZ"}, "cja": {"value" :
    "cja-Arab-KH"}, "pcm": {"value" : "pcm-Latn-NG"}, "tkt": {"value" : "tkt-Deva-NP"}, "und-Olck": {"value" : "sat-Olck-IN"}, "kzr": {"value" : "kzr-Latn-ZZ"}, "cjm": {"value" : "cjm-Cham-VN"}, "grt": {"value" : "grt-Beng-IN"}, "und-Arab-TJ": {"value" : "fa-Arab-TJ"}, "und-Arab-TG": {"value" : "apd-Arab-TG"}, "und-Arab-TH": {"value" : "mfa-Arab-TH"}, "und-Deva-PK": {"value" : "btv-Deva-PK"}, "grw": {"value" : "grw-Latn-ZZ"}, "cjv": {"value" : "cjv-Latn-ZZ"}, "pdc": {"value" : "pdc-Latn-US"}, "tlf": {"value"
    : "tlf-Latn-ZZ"}, "und-Arab-TR": {"value" : "az-Arab-TR"}, "ckb": {"value" : "ckb-Arab-IQ"}, "tly": {"value" : "tly-Latn-AZ"}, "pdt": {"value" : "pdt-Latn-CA"}, "tlx": {"value" : "tlx-Latn-ZZ"}, "ckl": {"value" : "ckl-Latn-ZZ"}, "cko": {"value" : "cko-Latn-ZZ"}, "gsw": {"value" : "gsw-Latn-CH"}, "ped": {"value" : "ped-Latn-ZZ"}, "tmh": {"value" : "tmh-Latn-NE"}, "cky": {"value" : "cky-Latn-ZZ"}, "kk-Arab": {"value" : "kk-Arab-CN"}, "und-Runr": {"value" : "non-Runr-SE"}, "cla": {"value" : "cla-Latn-ZZ"},
    "peo": {"value" : "peo-Xpeo-IR"}, "tmy": {"value" : "tmy-Latn-ZZ"}, "pex": {"value" : "pex-Latn-ZZ"}, "ky-TR": {"value" : "ky-Latn-TR"}, "tnh": {"value" : "tnh-Latn-ZZ"}, "guc": {"value" : "guc-Latn-CO"}, "gub": {"value" : "gub-Latn-BR"}, "gud": {"value" : "gud-Latn-ZZ"}, "pfl": {"value" : "pfl-Latn-DE"}, "cme": {"value" : "cme-Latn-ZZ"}, "cmg": {"value" : "cmg-Soyo-MN"}, "gur": {"value" : "gur-Latn-GH"}, "xwe": {"value" : "xwe-Latn-ZZ"}, "guw": {"value" : "guw-Latn-ZZ"}, "tof": {"value" : "tof-Latn-ZZ"}
    , "gux": {"value" : "gux-Latn-ZZ"}, "guz": {"value" : "guz-Latn-KE"}, "tog": {"value" : "tog-Latn-MW"}, "gvf": {"value" : "gvf-Latn-ZZ"}, "toq": {"value" : "toq-Latn-ZZ"}, "gvr": {"value" : "gvr-Deva-NP"}, "und-Guru": {"value" : "pa-Guru-IN"}, "gvs": {"value" : "gvs-Latn-ZZ"}, "tpi": {"value" : "tpi-Latn-PG"}, "tpm": {"value" : "tpm-Latn-ZZ"}, "und-Tfng": {"value" : "zgh-Tfng-MA"}, "gwc": {"value" : "gwc-Arab-ZZ"}, "und-Arab-PK": {"value" : "ur-Arab-PK"}, "phl": {"value" : "phl-Arab-ZZ"}, "und-Aghb": {"value"
    : "lez-Aghb-RU"}, "phn": {"value" : "phn-Phnx-LB"}, "gwi": {"value" : "gwi-Latn-CA"}, "tpz": {"value" : "tpz-Latn-ZZ"}, "cop": {"value" : "cop-Copt-EG"}, "gwt": {"value" : "gwt-Arab-ZZ"}, "lab": {"value" : "lab-Lina-GR"}, "lad": {"value" : "lad-Hebr-IL"}, "lah": {"value" : "lah-Arab-PK"}, "pil": {"value" : "pil-Latn-ZZ"}, "lag": {"value" : "lag-Latn-TZ"}, "tqo": {"value" : "tqo-Latn-ZZ"}, "laj": {"value" : "laj-Latn-UG"}, "pip": {"value" : "pip-Latn-ZZ"}, "und-Khmr": {"value" : "km-Khmr-KH"}, "las": {"value"
    : "las-Latn-ZZ"}, "sd-Deva": {"value" : "sd-Deva-IN"}, "und-Khoj": {"value" : "sd-Khoj-IN"}, "cps": {"value" : "cps-Latn-PH"}, "kk-AF": {"value" : "kk-Arab-AF"}, "und-Arab-MU": {"value" : "ur-Arab-MU"}, "lbe": {"value" : "lbe-Cyrl-RU"}, "und-Arab-NG": {"value" : "ha-Arab-NG"}, "gyi": {"value" : "gyi-Latn-ZZ"}, "tru": {"value" : "tru-Latn-TR"}, "trw": {"value" : "trw-Arab-ZZ"}, "trv": {"value" : "trv-Latn-TW"}, "lbu": {"value" : "lbu-Latn-ZZ"}, "lbw": {"value" : "lbw-Latn-ID"}, "tsd": {"value" : "tsd-Grek-GR"}
    , "tsf": {"value" : "tsf-Deva-NP"}, "pka": {"value" : "pka-Brah-IN"}, "tsg": {"value" : "tsg-Latn-PH"}, "tsj": {"value" : "tsj-Tibt-BT"}, "und-Deva-FJ": {"value" : "hif-Deva-FJ"}, "pko": {"value" : "pko-Latn-KE"}, "lcm": {"value" : "lcm-Latn-ZZ"}, "crh": {"value" : "crh-Cyrl-UA"}, "lcp": {"value" : "lcp-Thai-CN"}, "tsw": {"value" : "tsw-Latn-ZZ"}, "crj": {"value" : "crj-Cans-CA"}, "crl": {"value" : "crl-Cans-CA"}, "und-Arab-MN": {"value" : "kk-Arab-MN"}, "crk": {"value" : "crk-Cans-CA"}, "crm": {"value"
    : "crm-Cans-CA"}, "und-Arab-MM": {"value" : "rhg-Arab-MM"}, "pla": {"value" : "pla-Latn-ZZ"}, "tte": {"value" : "tte-Latn-ZZ"}, "crs": {"value" : "crs-Latn-SC"}, "ttd": {"value" : "ttd-Latn-ZZ"}, "ldb": {"value" : "ldb-Latn-ZZ"}, "ttj": {"value" : "ttj-Latn-UG"}, "kk-CN": {"value" : "kk-Arab-CN"}, "und-Yiii": {"value" : "ii-Yiii-CN"}, "tts": {"value" : "tts-Thai-TH"}, "csb": {"value" : "csb-Latn-PL"}, "ttr": {"value" : "ttr-Latn-ZZ"}, "ttt": {"value" : "ttt-Latn-AZ"}, "csw": {"value" : "csw-Cans-CA"}, "tuh":
    {"value" : "tuh-Latn-ZZ"}, "led": {"value" : "led-Latn-ZZ"}, "tul": {"value" : "tul-Latn-ZZ"}, "lee": {"value" : "lee-Latn-ZZ"}, "tum": {"value" : "tum-Latn-MW"}, "und-Arab-KH": {"value" : "cja-Arab-KH"}, "tuq": {"value" : "tuq-Latn-ZZ"}, "ctd": {"value" : "ctd-Pauc-MM"}, "lem": {"value" : "lem-Latn-ZZ"}, "lep": {"value" : "lep-Lepc-IN"}, "pms": {"value" : "pms-Latn-IT"}, "leq": {"value" : "leq-Latn-ZZ"}, "und-Pauc": {"value" : "ctd-Pauc-MM"}, "und-Sogo": {"value" : "sog-Sogo-UZ"}, "leu": {"value" : "leu-Latn-ZZ"}
    , "lez": {"value" : "lez-Cyrl-RU"}, "tvd": {"value" : "tvd-Latn-ZZ"}, "mn-CN": {"value" : "mn-Mong-CN"}, "sr-TR": {"value" : "sr-Latn-TR"}, "png": {"value" : "png-Latn-ZZ"}, "tvl": {"value" : "tvl-Latn-TV"}, "und-Brah": {"value" : "pka-Brah-IN"}, "und-Brai": {"value" : "fr-Brai-FR"}, "pnn": {"value" : "pnn-Latn-ZZ"}, "tvu": {"value" : "tvu-Latn-ZZ"}, "pnt": {"value" : "pnt-Grek-GR"}, "uz-CN": {"value" : "uz-Cyrl-CN"}, "ha-SD": {"value" : "ha-Arab-SD"}, "twh": {"value" : "twh-Latn-ZZ"}, "und-Takr": {"value"
    : "doi-Takr-IN"}, "lgg": {"value" : "lgg-Latn-ZZ"}, "pon": {"value" : "pon-Latn-FM"}, "twq": {"value" : "twq-Latn-NE"}, "und-Arab-ID": {"value" : "ms-Arab-ID"}, "und-Arab-IN": {"value" : "ur-Arab-IN"}, "txg": {"value" : "txg-Tang-CN"}, "yam": {"value" : "yam-Latn-ZZ"}, "und-Talu": {"value" : "khb-Talu-CN"}, "yao": {"value" : "yao-Latn-MZ"}, "yap": {"value" : "yap-Latn-FM"}, "yas": {"value" : "yas-Latn-ZZ"}, "yat": {"value" : "yat-Latn-ZZ"}, "ppo": {"value" : "ppo-Latn-ZZ"}, "yav": {"value" : "yav-Latn-CM"}
    , "yay": {"value" : "yay-Latn-ZZ"}, "yaz": {"value" : "yaz-Latn-ZZ"}, "und-Tale": {"value" : "tdd-Tale-CN"}, "ybb": {"value" : "ybb-Latn-CM"}, "yba": {"value" : "yba-Latn-ZZ"}, "tya": {"value" : "tya-Latn-ZZ"}, "lia": {"value" : "lia-Latn-ZZ"}, "lid": {"value" : "lid-Latn-ZZ"}, "und-Latn-TW": {"value" : "trv-Latn-TW"}, "lif": {"value" : "lif-Deva-NP"}, "lih": {"value" : "lih-Latn-ZZ"}, "lig": {"value" : "lig-Latn-ZZ"}, "lij": {"value" : "lij-Latn-IT"}, "hag": {"value" : "hag-Latn-ZZ"}, "und-Latn-TN": {"value"
    : "fr-Latn-TN"}, "tyv": {"value" : "tyv-Cyrl-RU"}, "yby": {"value" : "yby-Latn-ZZ"}, "und-Arab-GB": {"value" : "ks-Arab-GB"}, "hak": {"value" : "hak-Hans-CN"}, "und-Taml": {"value" : "ta-Taml-IN"}, "ham": {"value" : "ham-Latn-ZZ"}, "lis": {"value" : "lis-Lisu-CN"}, "und-Latn-SY": {"value" : "fr-Latn-SY"}, "ky-Latn": {"value" : "ky-Latn-TR"}, "pra": {"value" : "pra-Khar-PK"}, "haw": {"value" : "haw-Latn-US"}, "haz": {"value" : "haz-Arab-AF"}, "ku-LB": {"value" : "ku-Arab-LB"}, "prd": {"value" : "prd-Arab-IR"}
    , "prg": {"value" : "prg-Latn-001"}, "tzm": {"value" : "tzm-Latn-MA"}, "hbb": {"value" : "hbb-Latn-ZZ"}, "und-Latn-UA": {"value" : "pl-Latn-UA"}, "ljp": {"value" : "ljp-Latn-ID"}, "und-Tang": {"value" : "txg-Tang-CN"}, "yue-Hans": {"value" : "yue-Hans-CN"}, "und-Latn-RU": {"value" : "krl-Latn-RU"}, "lki": {"value" : "lki-Arab-IR"}, "pss": {"value" : "pss-Latn-ZZ"}, "lkt": {"value" : "lkt-Latn-US"}, "sr-RO": {"value" : "sr-Latn-RO"}, "und-Arab-CN": {"value" : "ug-Arab-CN"}, "lle": {"value" : "lle-Latn-ZZ"}
    , "und-Cyrl": {"value" : "ru-Cyrl-RU"}, "uz-AF": {"value" : "uz-Arab-AF"}, "yer": {"value" : "yer-Latn-ZZ"}, "und-Beng": {"value" : "bn-Beng-BD"}, "ptp": {"value" : "ptp-Latn-ZZ"}, "lln": {"value" : "lln-Latn-ZZ"}, "sr-RU": {"value" : "sr-Latn-RU"}, "hdy": {"value" : "hdy-Ethi-ZZ"}, "unr-NP": {"value" : "unr-Deva-NP"}, "und-Mend": {"value" : "men-Mend-SL"}, "lmn": {"value" : "lmn-Telu-IN"}, "lmp": {"value" : "lmp-Latn-ZZ"}, "lmo": {"value" : "lmo-Latn-IT"}, "puu": {"value" : "puu-Latn-GA"}, "und-Arab-CC":
    {"value" : "ms-Arab-CC"}, "pal-Phlp": {"value" : "pal-Phlp-CN"}, "ygr": {"value" : "ygr-Latn-ZZ"}, "ygw": {"value" : "ygw-Latn-ZZ"}, "lns": {"value" : "lns-Latn-ZZ"}, "ky-CN": {"value" : "ky-Arab-CN"}, "lnu": {"value" : "lnu-Latn-ZZ"}, "pwa": {"value" : "pwa-Latn-ZZ"}, "und-Mahj": {"value" : "hi-Mahj-IN"}, "rif-NL": {"value" : "rif-Latn-NL"}, "loj": {"value" : "loj-Latn-ZZ"}, "lol": {"value" : "lol-Latn-CD"}, "lok": {"value" : "lok-Latn-ZZ"}, "lor": {"value" : "lor-Latn-ZZ"}, "und-Sora": {"value" : "srb-Sora-IN"}
    , "los": {"value" : "los-Latn-ZZ"}, "loz": {"value" : "loz-Latn-ZM"}, "und-202": {"value" : "en-Latn-NG"}, "und-Latn-MR": {"value" : "fr-Latn-MR"}, "hhy": {"value" : "hhy-Latn-ZZ"}, "hia": {"value" : "hia-Latn-ZZ"}, "hif": {"value" : "hif-Latn-FJ"}, "dad": {"value" : "dad-Latn-ZZ"}, "hih": {"value" : "hih-Latn-ZZ"}, "hig": {"value" : "hig-Latn-ZZ"}, "daf": {"value" : "daf-Latn-ZZ"}, "ubu": {"value" : "ubu-Latn-ZZ"}, "dah": {"value" : "dah-Latn-ZZ"}, "hil": {"value" : "hil-Latn-PH"}, "dag": {"value" : "dag-Latn-ZZ"}
    , "und-Mero": {"value" : "xmr-Mero-SD"}, "dak": {"value" : "dak-Latn-US"}, "und-Merc": {"value" : "xmr-Merc-SD"}, "dar": {"value" : "dar-Cyrl-RU"}, "dav": {"value" : "dav-Latn-KE"}, "lrc": {"value" : "lrc-Arab-IR"}, "yko": {"value" : "yko-Latn-ZZ"}, "und-Latn-MK": {"value" : "sq-Latn-MK"}, "und-Latn-MM": {"value" : "kac-Latn-MM"}, "dbd": {"value" : "dbd-Latn-ZZ"}, "und-Latn-MO": {"value" : "pt-Latn-MO"}, "und-Latn-MA": {"value" : "fr-Latn-MA"}, "und-Bali": {"value" : "ban-Bali-ID"}, "und-Tavt": {"value"
    : "blt-Tavt-VN"}, "dbq": {"value" : "dbq-Latn-ZZ"}, "yle": {"value" : "yle-Latn-ZZ"}, "ylg": {"value" : "ylg-Latn-ZZ"}, "und-Maka": {"value" : "mak-Maka-ID"}, "yll": {"value" : "yll-Latn-ZZ"}, "udm": {"value" : "udm-Cyrl-RU"}, "dcc": {"value" : "dcc-Arab-IN"}, "yml": {"value" : "yml-Latn-ZZ"}, "hla": {"value" : "hla-Latn-ZZ"}, "und-Latn-IR": {"value" : "tk-Latn-IR"}, "ltg": {"value" : "ltg-Latn-LV"}, "und-Latn-KM": {"value" : "fr-Latn-KM"}, "ddn": {"value" : "ddn-Latn-ZZ"}, "hlu": {"value" : "hlu-Hluw-TR"}
    , "lua": {"value" : "lua-Latn-CD"}, "und-Bamu": {"value" : "bax-Bamu-CM"}, "hmd": {"value" : "hmd-Plrd-CN"}, "ded": {"value" : "ded-Latn-ZZ"}, "luo": {"value" : "luo-Latn-KE"}, "und-142": {"value" : "zh-Hans-CN"}, "und-143": {"value" : "uz-Latn-UZ"}, "den": {"value" : "den-Latn-CA"}, "und-Gran": {"value" : "sa-Gran-IN"}, "hmt": {"value" : "hmt-Latn-ZZ"}, "uga": {"value" : "uga-Ugar-SY"}, "luz": {"value" : "luz-Arab-IR"}, "luy": {"value" : "luy-Latn-KE"}, "und-145": {"value" : "ar-Arab-SA"}, "und-Cakm": {"value"
    : "ccp-Cakm-BD"}, "und-Dupl": {"value" : "fr-Dupl-FR"}, "yon": {"value" : "yon-Latn-ZZ"}, "ug-MN": {"value" : "ug-Cyrl-MN"}, "hne": {"value" : "hne-Deva-IN"}, "hnd": {"value" : "hnd-Arab-PK"}, "hnj": {"value" : "hnj-Hmng-LA"}, "hno": {"value" : "hno-Arab-PK"}, "hnn": {"value" : "hnn-Latn-PH"}, "ug-KZ": {"value" : "ug-Cyrl-KZ"}, "und-154": {"value" : "en-Latn-GB"}, "und-155": {"value" : "de-Latn-DE"}, "und-150": {"value" : "ru-Cyrl-RU"}, "und-151": {"value" : "ru-Cyrl-RU"}, "und-Sylo": {"value" : "syl-Sylo-BD"}
    , "hoc": {"value" : "hoc-Deva-IN"}, "dga": {"value" : "dga-Latn-ZZ"}, "lwl": {"value" : "lwl-Thai-TH"}, "und-Ital": {"value" : "ett-Ital-IT"}, "hoj": {"value" : "hoj-Deva-IN"}, "dgh": {"value" : "dgh-Latn-ZZ"}, "dgi": {"value" : "dgi-Latn-ZZ"}, "dgl": {"value" : "dgl-Arab-ZZ"}, "hot": {"value" : "hot-Latn-ZZ"}, "dgr": {"value" : "dgr-Latn-CA"}, "dgz": {"value" : "dgz-Latn-ZZ"}, "yrb": {"value" : "yrb-Latn-ZZ"}, "yre": {"value" : "yre-Latn-ZZ"}, "und-Lyci": {"value" : "xlc-Lyci-TR"}, "und-Cans": {"value"
    : "cr-Cans-CA"}, "und-Hluw": {"value" : "hlu-Hluw-TR"}, "und-Nand": {"value" : "sa-Nand-IN"}, "yrl": {"value" : "yrl-Latn-BR"}, "dia": {"value" : "dia-Latn-ZZ"}, "und-Grek": {"value" : "el-Grek-GR"}, "und-Mong": {"value" : "mn-Mong-CN"}, "und-Lydi": {"value" : "xld-Lydi-TR"}, "yss": {"value" : "yss-Latn-ZZ"}, "und-Newa": {"value" : "new-Newa-NP"}, "lzh": {"value" : "lzh-Hans-CN"}, "dje": {"value" : "dje-Latn-NE"}, "lzz": {"value" : "lzz-Latn-TR"}, "uli": {"value" : "uli-Latn-FM"}, "hsb": {"value" : "hsb-Latn-DE"}
    , "und-Xsux": {"value" : "akk-Xsux-IQ"}, "hsn": {"value" : "hsn-Hans-CN"}, "und-Cari": {"value" : "xcr-Cari-TR"}, "und-Syrc": {"value" : "syr-Syrc-IQ"}, "yua": {"value" : "yua-Latn-MX"}, "yue": {"value" : "yue-Hant-HK"}, "umb": {"value" : "umb-Latn-AO"}, "yuj": {"value" : "yuj-Latn-ZZ"}, "yut": {"value" : "yut-Latn-ZZ"}, "yuw": {"value" : "yuw-Latn-ZZ"}, "und-Bopo": {"value" : "zh-Bopo-TW"}, "und": {"value" : "en-Latn-US"}, "und-Egyp": {"value" : "egy-Egyp-EG"}, "und-Tglg": {"value" : "fil-Tglg-PH"}, "unr":
    {"value" : "unr-Beng-IN"}, "hui": {"value" : "hui-Latn-ZZ"}, "und-Elba": {"value" : "sq-Elba-AL"}, "unx": {"value" : "unx-Beng-IN"}, "und-Narb": {"value" : "xna-Narb-SA"}, "pa-PK": {"value" : "pa-Arab-PK"}, "und-Hebr-CA": {"value" : "yi-Hebr-CA"}, "und-Geor": {"value" : "ka-Geor-GE"}, "und-Shrd": {"value" : "sa-Shrd-IN"}, "dnj": {"value" : "dnj-Latn-CI"}, "dob": {"value" : "dob-Latn-ZZ"}, "und-Mymr-TH": {"value" : "mnw-Mymr-TH"}, "doi": {"value" : "doi-Arab-IN"}, "dop": {"value" : "dop-Latn-ZZ"}, "und-Sund":
    {"value" : "su-Sund-ID"}, "dow": {"value" : "dow-Latn-ZZ"}, "sr-ME": {"value" : "sr-Latn-ME"}, "und-Hung": {"value" : "hu-Hung-HU"}, "mad": {"value" : "mad-Latn-ID"}, "mag": {"value" : "mag-Deva-IN"}, "maf": {"value" : "maf-Latn-CM"}, "mai": {"value" : "mai-Deva-IN"}, "mak": {"value" : "mak-Latn-ID"}, "man": {"value" : "man-Latn-GM"}, "mas": {"value" : "mas-Latn-KE"}, "maw": {"value" : "maw-Latn-ZZ"}, "maz": {"value" : "maz-Latn-MX"}, "uri": {"value" : "uri-Latn-ZZ"}, "mbh": {"value" : "mbh-Latn-ZZ"}, "urt":
    {"value" : "urt-Latn-ZZ"}, "mbo": {"value" : "mbo-Latn-ZZ"}, "urw": {"value" : "urw-Latn-ZZ"}, "mbq": {"value" : "mbq-Latn-ZZ"}, "mbu": {"value" : "mbu-Latn-ZZ"}, "und-Hebr-GB": {"value" : "yi-Hebr-GB"}, "usa": {"value" : "usa-Latn-ZZ"}, "mbw": {"value" : "mbw-Latn-ZZ"}, "mci": {"value" : "mci-Latn-ZZ"}, "dri": {"value" : "dri-Latn-ZZ"}, "mcq": {"value" : "mcq-Latn-ZZ"}, "mcp": {"value" : "mcp-Latn-ZZ"}, "mcr": {"value" : "mcr-Latn-ZZ"}, "mcu": {"value" : "mcu-Latn-ZZ"}, "drs": {"value" : "drs-Ethi-ZZ"}
    , "mda": {"value" : "mda-Latn-ZZ"}, "mdf": {"value" : "mdf-Cyrl-RU"}, "mde": {"value" : "mde-Arab-ZZ"}, "mdh": {"value" : "mdh-Latn-PH"}, "dsb": {"value" : "dsb-Latn-DE"}, "mdj": {"value" : "mdj-Latn-ZZ"}, "utr": {"value" : "utr-Latn-ZZ"}, "mdr": {"value" : "mdr-Latn-ID"}, "mdx": {"value" : "mdx-Ethi-ZZ"}, "mee": {"value" : "mee-Latn-ZZ"}, "med": {"value" : "med-Latn-ZZ"}, "mek": {"value" : "mek-Latn-ZZ"}, "men": {"value" : "men-Latn-SL"}, "az-RU": {"value" : "az-Cyrl-RU"}, "mis-Medf": {"value" : "mis-Medf-NG"}
    , "mer": {"value" : "mer-Latn-KE"}, "dtm": {"value" : "dtm-Latn-ML"}, "meu": {"value" : "meu-Latn-ZZ"}, "met": {"value" : "met-Latn-ZZ"}, "dtp": {"value" : "dtp-Latn-MY"}, "dts": {"value" : "dts-Latn-ZZ"}, "uvh": {"value" : "uvh-Latn-ZZ"}, "dty": {"value" : "dty-Deva-NP"}, "mfa": {"value" : "mfa-Arab-TH"}, "uvl": {"value" : "uvl-Latn-ZZ"}, "mfe": {"value" : "mfe-Latn-MU"}, "dua": {"value" : "dua-Latn-CM"}, "dud": {"value" : "dud-Latn-ZZ"}, "duc": {"value" : "duc-Latn-ZZ"}, "mfn": {"value" : "mfn-Latn-ZZ"}
    , "dug": {"value" : "dug-Latn-ZZ"}, "mfo": {"value" : "mfo-Latn-ZZ"}, "mfq": {"value" : "mfq-Latn-ZZ"}, "und-Phag": {"value" : "lzh-Phag-CN"}, "dva": {"value" : "dva-Latn-ZZ"}, "mgh": {"value" : "mgh-Latn-MZ"}, "mgl": {"value" : "mgl-Latn-ZZ"}, "mgo": {"value" : "mgo-Latn-CM"}, "mgp": {"value" : "mgp-Deva-NP"}, "mgy": {"value" : "mgy-Latn-TZ"}, "zag": {"value" : "zag-Latn-SD"}, "mhi": {"value" : "mhi-Latn-ZZ"}, "mhl": {"value" : "mhl-Latn-ZZ"}, "dww": {"value" : "dww-Latn-ZZ"}, "mif": {"value" : "mif-Latn-ZZ"}
    , "und-Mymr-IN": {"value" : "kht-Mymr-IN"}, "min": {"value" : "min-Latn-ID"}, "mis": {"value" : "mis-Hatr-IQ"}, "ian": {"value" : "ian-Latn-ZZ"}, "miw": {"value" : "miw-Latn-ZZ"}, "iar": {"value" : "iar-Latn-ZZ"}, "uz-Arab": {"value" : "uz-Arab-AF"}, "ibb": {"value" : "ibb-Latn-NG"}, "iba": {"value" : "iba-Latn-MY"}, "dyo": {"value" : "dyo-Latn-SN"}, "dyu": {"value" : "dyu-Latn-BF"}, "iby": {"value" : "iby-Latn-ZZ"}, "zdj": {"value" : "zdj-Arab-KM"}, "ica": {"value" : "ica-Latn-ZZ"}, "mki": {"value" : "mki-Arab-ZZ"}
    , "und-Wcho": {"value" : "nnp-Wcho-IN"}, "ich": {"value" : "ich-Latn-ZZ"}, "mkl": {"value" : "mkl-Latn-ZZ"}, "dzg": {"value" : "dzg-Latn-ZZ"}, "mkp": {"value" : "mkp-Latn-ZZ"}, "zea": {"value" : "zea-Latn-NL"}, "mkw": {"value" : "mkw-Latn-ZZ"}, "mle": {"value" : "mle-Latn-ZZ"}, "idd": {"value" : "idd-Latn-ZZ"}, "idi": {"value" : "idi-Latn-ZZ"}, "lif-Limb": {"value" : "lif-Limb-IN"}, "mlp": {"value" : "mlp-Latn-ZZ"}, "mls": {"value" : "mls-Latn-SD"}, "idu": {"value" : "idu-Latn-ZZ"}, "quc": {"value" : "quc-Latn-GT"}
    , "qug": {"value" : "qug-Latn-EC"}, "und-Jamo": {"value" : "ko-Jamo-KR"}, "mmo": {"value" : "mmo-Latn-ZZ"}, "mmu": {"value" : "mmu-Latn-ZZ"}, "mmx": {"value" : "mmx-Latn-ZZ"}, "zgh": {"value" : "zgh-Tfng-MA"}, "mna": {"value" : "mna-Latn-ZZ"}, "mnf": {"value" : "mnf-Latn-ZZ"}, "ife": {"value" : "ife-Latn-TG"}, "mni": {"value" : "mni-Beng-IN"}, "mnw": {"value" : "mnw-Mymr-MM"}, "moa": {"value" : "moa-Latn-ZZ"}, "moe": {"value" : "moe-Latn-CA"}, "igb": {"value" : "igb-Latn-ZZ"}, "ige": {"value" : "ige-Latn-ZZ"}
    , "moh": {"value" : "moh-Latn-CA"}, "und-Hebr-SE": {"value" : "yi-Hebr-SE"}, "zhx": {"value" : "zhx-Nshu-CN"}, "mos": {"value" : "mos-Latn-BF"}, "und-Shaw": {"value" : "en-Shaw-GB"}, "zia": {"value" : "zia-Latn-ZZ"}, "mox": {"value" : "mox-Latn-ZZ"}, "vag": {"value" : "vag-Latn-ZZ"}, "vai": {"value" : "vai-Vaii-LR"}, "van": {"value" : "van-Latn-ZZ"}, "mpp": {"value" : "mpp-Latn-ZZ"}, "mpt": {"value" : "mpt-Latn-ZZ"}, "mps": {"value" : "mps-Latn-ZZ"}, "mpx": {"value" : "mpx-Latn-ZZ"}, "und-Hebr-US": {"value"
    : "yi-Hebr-US"}, "mql": {"value" : "mql-Latn-ZZ"}, "und-Hebr-UA": {"value" : "yi-Hebr-UA"}, "mrd": {"value" : "mrd-Deva-NP"}, "mrj": {"value" : "mrj-Cyrl-RU"}, "ijj": {"value" : "ijj-Latn-ZZ"}, "mro": {"value" : "mro-Mroo-BD"}, "und-Modi": {"value" : "mr-Modi-IN"}, "ebu": {"value" : "ebu-Latn-KE"}, "zlm": {"value" : "zlm-Latn-TG"}, "arc-Palm": {"value" : "arc-Palm-SY"}, "ikk": {"value" : "ikk-Latn-ZZ"}, "ikt": {"value" : "ikt-Latn-CA"}, "ikw": {"value" : "ikw-Latn-ZZ"}, "vec": {"value" : "vec-Latn-IT"},
    "ikx": {"value" : "ikx-Latn-ZZ"}, "zmi": {"value" : "zmi-Latn-MY"}, "mtc": {"value" : "mtc-Latn-ZZ"}, "mtf": {"value" : "mtf-Latn-ZZ"}, "vep": {"value" : "vep-Latn-RU"}, "zh-Bopo": {"value" : "zh-Bopo-TW"}, "mti": {"value" : "mti-Latn-ZZ"}, "und-Ethi": {"value" : "am-Ethi-ET"}, "mtr": {"value" : "mtr-Deva-IN"}, "und-Thai-LA": {"value" : "kdt-Thai-LA"}, "ilo": {"value" : "ilo-Latn-PH"}, "zne": {"value" : "zne-Latn-ZZ"}, "mua": {"value" : "mua-Latn-CM"}, "und-Thai-KH": {"value" : "kdt-Thai-KH"}, "imo": {"value"
    : "imo-Latn-ZZ"}, "mus": {"value" : "mus-Latn-US"}, "mur": {"value" : "mur-Latn-ZZ"}, "mva": {"value" : "mva-Latn-ZZ"}, "inh": {"value" : "inh-Cyrl-RU"}, "mvn": {"value" : "mvn-Latn-ZZ"}, "efi": {"value" : "efi-Latn-NG"}, "mvy": {"value" : "mvy-Arab-PK"}, "und-Java": {"value" : "jv-Java-ID"}, "mwk": {"value" : "mwk-Latn-ML"}, "mwr": {"value" : "mwr-Deva-IN"}, "und-021": {"value" : "en-Latn-US"}, "egl": {"value" : "egl-Latn-IT"}, "mww": {"value" : "mww-Hmnp-US"}, "mwv": {"value" : "mwv-Latn-ID"}, "iou": {"value"
    : "iou-Latn-ZZ"}, "und-029": {"value" : "es-Latn-CU"}, "vic": {"value" : "vic-Latn-SX"}, "egy": {"value" : "egy-Egyp-EG"}, "und-Ugar": {"value" : "uga-Ugar-SY"}, "mxc": {"value" : "mxc-Latn-ZW"}, "raj": {"value" : "raj-Deva-IN"}, "rai": {"value" : "rai-Latn-ZZ"}, "rao": {"value" : "rao-Latn-ZZ"}, "viv": {"value" : "viv-Latn-ZZ"}, "mxm": {"value" : "mxm-Latn-ZZ"}, "und-034": {"value" : "hi-Deva-IN"}, "und-030": {"value" : "zh-Hans-CN"}, "und-039": {"value" : "it-Latn-IT"}, "und-035": {"value" : "id-Latn-ID"}
    , "ug-Cyrl": {"value" : "ug-Cyrl-KZ"}, "myk": {"value" : "myk-Latn-ZZ"}, "mym": {"value" : "mym-Ethi-ZZ"}, "aai": {"value" : "aai-Latn-ZZ"}, "aak": {"value" : "aak-Latn-ZZ"}, "myw": {"value" : "myw-Latn-ZZ"}, "myv": {"value" : "myv-Cyrl-RU"}, "myx": {"value" : "myx-Latn-UG"}, "myz": {"value" : "myz-Mand-IR"}, "und-Sinh": {"value" : "si-Sinh-LK"}, "und-Sind": {"value" : "sd-Sind-IN"}, "aau": {"value" : "aau-Latn-ZZ"}, "rcf": {"value" : "rcf-Latn-RE"}, "und-Orkh": {"value" : "otk-Orkh-MN"}, "mzk": {"value"
    : "mzk-Latn-ZZ"}, "mzn": {"value" : "mzn-Arab-IR"}, "iri": {"value" : "iri-Latn-ZZ"}, "mzm": {"value" : "mzm-Latn-ZZ"}, "mzp": {"value" : "mzp-Latn-ZZ"}, "und-053": {"value" : "en-Latn-AU"}, "abi": {"value" : "abi-Latn-ZZ"}, "und-054": {"value" : "en-Latn-PG"}, "mzw": {"value" : "mzw-Latn-ZZ"}, "mzz": {"value" : "mzz-Latn-ZZ"}, "abr": {"value" : "abr-Latn-GH"}, "abq": {"value" : "abq-Cyrl-ZZ"}, "abt": {"value" : "abt-Latn-ZZ"}, "und-057": {"value" : "en-Latn-GU"}, "aby": {"value" : "aby-Latn-ZZ"}, "eka":
    {"value" : "eka-Latn-ZZ"}, "vls": {"value" : "vls-Latn-BE"}, "ace": {"value" : "ace-Latn-ID"}, "acd": {"value" : "acd-Latn-ZZ"}, "ach": {"value" : "ach-Latn-UG"}, "vmf": {"value" : "vmf-Latn-DE"}, "eky": {"value" : "eky-Kali-MM"}, "rej": {"value" : "rej-Latn-ID"}, "rel": {"value" : "rel-Latn-ZZ"}, "ada": {"value" : "ada-Latn-GH"}, "res": {"value" : "res-Latn-ZZ"}, "vmw": {"value" : "vmw-Latn-MZ"}, "ade": {"value" : "ade-Latn-ZZ"}, "adj": {"value" : "adj-Latn-ZZ"}, "und-Hira": {"value" : "ja-Hira-JP"}, "adz":
    {"value" : "adz-Latn-ZZ"}, "ady": {"value" : "ady-Cyrl-RU"}, "ema": {"value" : "ema-Latn-ZZ"}, "und-Deva": {"value" : "hi-Deva-IN"}, "aeb": {"value" : "aeb-Arab-TN"}, "emi": {"value" : "emi-Latn-ZZ"}, "und-009": {"value" : "en-Latn-AU"}, "aey": {"value" : "aey-Latn-ZZ"}, "und-002": {"value" : "en-Latn-NG"}, "und-003": {"value" : "en-Latn-US"}, "und-005": {"value" : "pt-Latn-BR"}, "rgn": {"value" : "rgn-Latn-IT"}, "vot": {"value" : "vot-Latn-RU"}, "enn": {"value" : "enn-Latn-ZZ"}, "enq": {"value" : "enq-Latn-ZZ"}
    , "und-011": {"value" : "en-Latn-NG"}, "rhg": {"value" : "rhg-Arab-MM"}, "und-017": {"value" : "sw-Latn-CD"}, "und-018": {"value" : "en-Latn-ZA"}, "und-019": {"value" : "en-Latn-US"}, "und-013": {"value" : "es-Latn-MX"}, "und-014": {"value" : "sw-Latn-TZ"}, "und-015": {"value" : "ar-Arab-EG"}, "agc": {"value" : "agc-Latn-ZZ"}, "und-Zanb": {"value" : "cmg-Zanb-MN"}, "iwm": {"value" : "iwm-Latn-ZZ"}, "agd": {"value" : "agd-Latn-ZZ"}, "agg": {"value" : "agg-Latn-ZZ"}, "iws": {"value" : "iws-Latn-ZZ"}, "agm":
    {"value" : "agm-Latn-ZZ"}, "ago": {"value" : "ago-Latn-ZZ"}, "agq": {"value" : "agq-Latn-CM"}, "ria": {"value" : "ria-Latn-IN"}, "rif": {"value" : "rif-Tfng-MA"}, "nac": {"value" : "nac-Latn-ZZ"}, "naf": {"value" : "naf-Latn-ZZ"}, "nak": {"value" : "nak-Latn-ZZ"}, "nan": {"value" : "nan-Hans-CN"}, "aha": {"value" : "aha-Latn-ZZ"}, "nap": {"value" : "nap-Latn-IT"}, "naq": {"value" : "naq-Latn-NA"}, "zza": {"value" : "zza-Latn-TR"}, "nas": {"value" : "nas-Latn-ZZ"}, "ahl": {"value" : "ahl-Latn-ZZ"}, "en-Shaw":
    {"value" : "en-Shaw-GB"}, "und-Copt": {"value" : "cop-Copt-EG"}, "aho": {"value" : "aho-Ahom-IN"}, "vro": {"value" : "vro-Latn-EE"}, "rjs": {"value" : "rjs-Deva-NP"}, "nca": {"value" : "nca-Latn-ZZ"}, "ncf": {"value" : "ncf-Latn-ZZ"}, "nce": {"value" : "nce-Latn-ZZ"}, "nch": {"value" : "nch-Latn-MX"}, "izh": {"value" : "izh-Latn-RU"}, "izi": {"value" : "izi-Latn-ZZ"}, "rkt": {"value" : "rkt-Beng-BD"}, "nco": {"value" : "nco-Latn-ZZ"}, "eri": {"value" : "eri-Latn-ZZ"}, "ajg": {"value" : "ajg-Latn-ZZ"}, "ncu":
    {"value" : "ncu-Latn-ZZ"}, "ndc": {"value" : "ndc-Latn-MZ"}, "esg": {"value" : "esg-Gonm-IN"}, "nds": {"value" : "nds-Latn-DE"}, "akk": {"value" : "akk-Xsux-IQ"}, "esu": {"value" : "esu-Latn-US"}, "neb": {"value" : "neb-Latn-ZZ"}, "rmf": {"value" : "rmf-Latn-FI"}, "und-061": {"value" : "sm-Latn-WS"}, "und-Limb": {"value" : "lif-Limb-IN"}, "vun": {"value" : "vun-Latn-TZ"}, "ff-Adlm": {"value" : "ff-Adlm-GN"}, "vut": {"value" : "vut-Latn-ZZ"}, "rmo": {"value" : "rmo-Latn-CH"}, "ala": {"value" : "ala-Latn-ZZ"}
    , "rmt": {"value" : "rmt-Arab-IR"}, "rmu": {"value" : "rmu-Latn-SE"}, "ali": {"value" : "ali-Latn-ZZ"}, "nex": {"value" : "nex-Latn-ZZ"}, "new": {"value" : "new-Deva-NP"}, "aln": {"value" : "aln-Latn-XK"}, "etr": {"value" : "etr-Latn-ZZ"}, "und-Rohg": {"value" : "rhg-Rohg-MM"}, "ett": {"value" : "ett-Ital-IT"}, "rna": {"value" : "rna-Latn-ZZ"}, "etu": {"value" : "etu-Latn-ZZ"}, "alt": {"value" : "alt-Cyrl-RU"}, "etx": {"value" : "etx-Latn-ZZ"}, "rng": {"value" : "rng-Latn-MZ"}, "und-Linb": {"value" : "grc-Linb-GR"}
    , "und-Lina": {"value" : "lab-Lina-GR"}, "und-Jpan": {"value" : "ja-Jpan-JP"}, "man-GN": {"value" : "man-Nkoo-GN"}, "nfr": {"value" : "nfr-Latn-ZZ"}, "amm": {"value" : "amm-Latn-ZZ"}, "und-Arab": {"value" : "ar-Arab-EG"}, "amo": {"value" : "amo-Latn-NG"}, "amn": {"value" : "amn-Latn-ZZ"}, "rob": {"value" : "rob-Latn-ID"}, "amp": {"value" : "amp-Latn-ZZ"}, "ngb": {"value" : "ngb-Latn-ZZ"}, "rof": {"value" : "rof-Latn-TZ"}, "nga": {"value" : "nga-Latn-ZZ"}, "ngl": {"value" : "ngl-Latn-MZ"}, "roo": {"value"
    : "roo-Latn-ZZ"}, "anc": {"value" : "anc-Latn-ZZ"}, "ank": {"value" : "ank-Latn-ZZ"}, "ann": {"value" : "ann-Latn-ZZ"}, "und-Bhks": {"value" : "sa-Bhks-IN"}, "nhb": {"value" : "nhb-Latn-ZZ"}, "nhe": {"value" : "nhe-Latn-MX"}, "any": {"value" : "any-Latn-ZZ"}, "und-Orya": {"value" : "or-Orya-IN"}, "ewo": {"value" : "ewo-Latn-CM"}, "nhw": {"value" : "nhw-Latn-MX"}, "aoj": {"value" : "aoj-Latn-ZZ"}, "aom": {"value" : "aom-Latn-ZZ"}, "zh-Hanb": {"value" : "zh-Hanb-TW"}, "jab": {"value" : "jab-Latn-ZZ"}, "nif":
    {"value" : "nif-Latn-ZZ"}, "aoz": {"value" : "aoz-Latn-ID"}, "nij": {"value" : "nij-Latn-ID"}, "nii": {"value" : "nii-Latn-ZZ"}, "zh-PH": {"value" : "zh-Hant-PH"}, "nin": {"value" : "nin-Latn-ZZ"}, "zh-Hant": {"value" : "zh-Hant-TW"}, "zh-PF": {"value" : "zh-Hant-PF"}, "und-Ahom": {"value" : "aho-Ahom-IN"}, "apd": {"value" : "apd-Arab-TG"}, "apc": {"value" : "apc-Arab-ZZ"}, "ape": {"value" : "ape-Latn-ZZ"}, "jam": {"value" : "jam-Latn-JM"}, "zh-PA": {"value" : "zh-Hant-PA"}, "niu": {"value" : "niu-Latn-NU"}
    , "niz": {"value" : "niz-Latn-ZZ"}, "niy": {"value" : "niy-Latn-ZZ"}, "ext": {"value" : "ext-Latn-ES"}, "apr": {"value" : "apr-Latn-ZZ"}, "aps": {"value" : "aps-Latn-ZZ"}, "apz": {"value" : "apz-Latn-ZZ"}, "rro": {"value" : "rro-Latn-ZZ"}, "njo": {"value" : "njo-Latn-IN"}, "jbo": {"value" : "jbo-Latn-001"}, "jbu": {"value" : "jbu-Latn-ZZ"}, "zh-MO": {"value" : "zh-Hant-MO"}, "nkg": {"value" : "nkg-Latn-ZZ"}, "zh-MY": {"value" : "zh-Hant-MY"}, "arc": {"value" : "arc-Armi-IR"}, "nko": {"value" : "nko-Latn-ZZ"}
    , "arh": {"value" : "arh-Latn-ZZ"}, "pa-Arab": {"value" : "pa-Arab-PK"}, "und-Mtei": {"value" : "mni-Mtei-IN"}, "arn": {"value" : "arn-Latn-CL"}, "aro": {"value" : "aro-Latn-BO"}, "und-Cyrl-RO": {"value" : "bg-Cyrl-RO"}, "arq": {"value" : "arq-Arab-DZ"}, "arz": {"value" : "arz-Arab-EG"}, "ary": {"value" : "ary-Arab-MA"}, "rtm": {"value" : "rtm-Latn-FJ"}, "asa": {"value" : "asa-Latn-TZ"}, "und-Grek-TR": {"value" : "bgx-Grek-TR"}, "ase": {"value" : "ase-Sgnw-US"}, "asg": {"value" : "asg-Latn-ZZ"}, "aso": {"value"
    : "aso-Latn-ZZ"}, "ast": {"value" : "ast-Latn-ES"}, "rue": {"value" : "rue-Cyrl-UA"}, "rug": {"value" : "rug-Latn-SB"}, "nmg": {"value" : "nmg-Latn-CM"}, "ata": {"value" : "ata-Latn-ZZ"}, "jen": {"value" : "jen-Latn-ZZ"}, "atg": {"value" : "atg-Latn-ZZ"}, "atj": {"value" : "atj-Latn-CA"}, "nmz": {"value" : "nmz-Latn-ZZ"}, "unr-Deva": {"value" : "unr-Deva-NP"}, "nnf": {"value" : "nnf-Latn-ZZ"}, "nnh": {"value" : "nnh-Latn-CM"}, "nnk": {"value" : "nnk-Latn-ZZ"}, "nnm": {"value" : "nnm-Latn-ZZ"}, "nnp": {"value"
    : "nnp-Wcho-IN"}, "az-IR": {"value" : "az-Arab-IR"}, "und-Adlm": {"value" : "ff-Adlm-GN"}, "az-IQ": {"value" : "az-Arab-IQ"}, "und-Nbat": {"value" : "arc-Nbat-JO"}, "sd-Khoj": {"value" : "sd-Khoj-IN"}, "nod": {"value" : "nod-Lana-TH"}, "auy": {"value" : "auy-Latn-ZZ"}, "noe": {"value" : "noe-Deva-IN"}, "rwk": {"value" : "rwk-Latn-TZ"}, "und-Cyrl-MD": {"value" : "uk-Cyrl-MD"}, "rwo": {"value" : "rwo-Latn-ZZ"}, "non": {"value" : "non-Runr-SE"}, "nop": {"value" : "nop-Latn-ZZ"}, "jgk": {"value" : "jgk-Latn-ZZ"}
    , "jgo": {"value" : "jgo-Latn-CM"}, "und-Vaii": {"value" : "vai-Vaii-LR"}, "nou": {"value" : "nou-Latn-ZZ"}, "avl": {"value" : "avl-Arab-ZZ"}, "avn": {"value" : "avn-Latn-ZZ"}, "wae": {"value" : "wae-Latn-CH"}, "avt": {"value" : "avt-Latn-ZZ"}, "avu": {"value" : "avu-Latn-ZZ"}, "waj": {"value" : "waj-Latn-ZZ"}, "wal": {"value" : "wal-Ethi-ET"}, "wan": {"value" : "wan-Latn-ZZ"}, "zh-HK": {"value" : "zh-Hant-HK"}, "war": {"value" : "war-Latn-PH"}, "awa": {"value" : "awa-Deva-IN"}, "und-Plrd": {"value" : "hmd-Plrd-CN"}
    , "awb": {"value" : "awb-Latn-ZZ"}, "awo": {"value" : "awo-Latn-ZZ"}, "und-Knda": {"value" : "kn-Knda-IN"}, "zh-ID": {"value" : "zh-Hant-ID"}, "jib": {"value" : "jib-Latn-ZZ"}, "awx": {"value" : "awx-Latn-ZZ"}, "wbp": {"value" : "wbp-Latn-AU"}, "und-Sidd": {"value" : "sa-Sidd-IN"}, "fab": {"value" : "fab-Latn-ZZ"}, "wbr": {"value" : "wbr-Deva-IN"}, "faa": {"value" : "faa-Latn-ZZ"}, "wbq": {"value" : "wbq-Telu-IN"}, "und-Kali": {"value" : "eky-Kali-MM"}, "fag": {"value" : "fag-Latn-ZZ"}, "nqo": {"value" :
    "nqo-Nkoo-GN"}, "fai": {"value" : "fai-Latn-ZZ"}, "ryu": {"value" : "ryu-Kana-JP"}, "fan": {"value" : "fan-Latn-GQ"}, "wci": {"value" : "wci-Latn-ZZ"}, "nrb": {"value" : "nrb-Latn-ZZ"}, "und-Phlp": {"value" : "pal-Phlp-CN"}, "ayb": {"value" : "ayb-Latn-ZZ"}, "und-Phli": {"value" : "pal-Phli-IR"}, "cu-Glag": {"value" : "cu-Glag-BG"}, "und-Cyrl-XK": {"value" : "sr-Cyrl-XK"}, "az-Arab": {"value" : "az-Arab-IR"}, "und-Thai": {"value" : "th-Thai-TH"}, "nsk": {"value" : "nsk-Cans-CA"}, "nsn": {"value" : "nsn-Latn-ZZ"}
    , "nso": {"value" : "nso-Latn-ZA"}, "und-Thaa": {"value" : "dv-Thaa-MV"}, "und-Nshu": {"value" : "zhx-Nshu-CN"}, "nss": {"value" : "nss-Latn-ZZ"}, "zh-VN": {"value" : "zh-Hant-VN"}, "und-Hmnp": {"value" : "mww-Hmnp-US"}, "und-Kana": {"value" : "ja-Kana-JP"}, "und-Hmng": {"value" : "hnj-Hmng-LA"}, "wer": {"value" : "wer-Latn-ZZ"}, "zh-TW": {"value" : "zh-Hant-TW"}, "ntm": {"value" : "ntm-Latn-ZZ"}, "ntr": {"value" : "ntr-Latn-ZZ"}, "zh-US": {"value" : "zh-Hant-US"}, "und-Xpeo": {"value" : "peo-Xpeo-IR"},
    "jmc": {"value" : "jmc-Latn-TZ"}, "nui": {"value" : "nui-Latn-ZZ"}, "jml": {"value" : "jml-Deva-NP"}, "nup": {"value" : "nup-Latn-ZZ"}, "und-Cyrl-SK": {"value" : "uk-Cyrl-SK"}, "nus": {"value" : "nus-Latn-SS"}, "nuv": {"value" : "nuv-Latn-ZZ"}, "nux": {"value" : "nux-Latn-ZZ"}, "zh-TH": {"value" : "zh-Hant-TH"}, "wgi": {"value" : "wgi-Latn-ZZ"}, "und-Phnx": {"value" : "phn-Phnx-LB"}, "und-Cyrl-TR": {"value" : "kbd-Cyrl-TR"}, "ffi": {"value" : "ffi-Latn-ZZ"}, "und-Elym": {"value" : "arc-Elym-IR"}, "ffm":
    {"value" : "ffm-Latn-ML"}, "und-Rjng": {"value" : "rej-Rjng-ID"}, "whg": {"value" : "whg-Latn-ZZ"}, "nwb": {"value" : "nwb-Latn-ZZ"}, "zh-SR": {"value" : "zh-Hant-SR"}, "wib": {"value" : "wib-Latn-ZZ"}, "und-Hebr": {"value" : "he-Hebr-IL"}, "saf": {"value" : "saf-Latn-GH"}, "sah": {"value" : "sah-Cyrl-RU"}, "saq": {"value" : "saq-Latn-KE"}, "wiu": {"value" : "wiu-Latn-ZZ"}, "sas": {"value" : "sas-Latn-ID"}, "wiv": {"value" : "wiv-Latn-ZZ"}, "nxq": {"value" : "nxq-Latn-CN"}, "sat": {"value" : "sat-Latn-IN"}
    , "nxr": {"value" : "nxr-Latn-ZZ"}, "sav": {"value" : "sav-Latn-SN"}, "saz": {"value" : "saz-Saur-IN"}, "wja": {"value" : "wja-Latn-ZZ"}, "sba": {"value" : "sba-Latn-ZZ"}, "sbe": {"value" : "sbe-Latn-ZZ"}, "wji": {"value" : "wji-Latn-ZZ"}, "mn-Mong": {"value" : "mn-Mong-CN"}, "und-419": {"value" : "es-Latn-419"}, "fia": {"value" : "fia-Arab-SD"}, "sbp": {"value" : "sbp-Latn-TZ"}, "und-NO": {"value" : "nb-Latn-NO"}, "nyn": {"value" : "nyn-Latn-UG"}, "nym": {"value" : "nym-Latn-TZ"}, "und-NL": {"value" : "nl-Latn-NL"}
    , "und-NP": {"value" : "ne-Deva-NP"}, "fil": {"value" : "fil-Latn-PH"}, "bal": {"value" : "bal-Arab-PK"}, "ban": {"value" : "ban-Latn-ID"}, "bap": {"value" : "bap-Deva-NP"}, "fit": {"value" : "fit-Latn-SE"}, "bar": {"value" : "bar-Latn-AT"}, "bas": {"value" : "bas-Latn-CM"}, "bav": {"value" : "bav-Latn-ZZ"}, "bax": {"value" : "bax-Bamu-CM"}, "jra": {"value" : "jra-Latn-ZZ"}, "sck": {"value" : "sck-Deva-IN"}, "nzi": {"value" : "nzi-Latn-GH"}, "scl": {"value" : "scl-Arab-ZZ"}, "sco": {"value" : "sco-Latn-GB"}
    , "scn": {"value" : "scn-Latn-IT"}, "aa": {"value" : "aa-Latn-ET"}, "bba": {"value" : "bba-Latn-ZZ"}, "und-MN": {"value" : "mn-Cyrl-MN"}, "ab": {"value" : "ab-Cyrl-GE"}, "und-MM": {"value" : "my-Mymr-MM"}, "und-Osma": {"value" : "so-Osma-SO"}, "bbc": {"value" : "bbc-Latn-ID"}, "scs": {"value" : "scs-Latn-CA"}, "und-ML": {"value" : "bm-Latn-ML"}, "bbb": {"value" : "bbb-Latn-ZZ"}, "und-MK": {"value" : "mk-Cyrl-MK"}, "ae": {"value" : "ae-Avst-IR"}, "und-MR": {"value" : "ar-Arab-MR"}, "af": {"value" : "af-Latn-ZA"}
    , "bbd": {"value" : "bbd-Latn-ZZ"}, "und-MQ": {"value" : "fr-Latn-MQ"}, "und-Wara": {"value" : "hoc-Wara-IN"}, "und-MO": {"value" : "zh-Hant-MO"}, "und-MV": {"value" : "dv-Thaa-MV"}, "und-MU": {"value" : "mfe-Latn-MU"}, "ak": {"value" : "ak-Latn-GH"}, "und-MT": {"value" : "mt-Latn-MT"}, "bbj": {"value" : "bbj-Latn-CM"}, "am": {"value" : "am-Ethi-ET"}, "und-MZ": {"value" : "pt-Latn-MZ"}, "und-MY": {"value" : "ms-Latn-MY"}, "und-MX": {"value" : "es-Latn-MX"}, "ar": {"value" : "ar-Arab-EG"}, "bbp": {"value"
    : "bbp-Latn-ZZ"}, "as": {"value" : "as-Beng-IN"}, "bbr": {"value" : "bbr-Latn-ZZ"}, "sdc": {"value" : "sdc-Latn-IT"}, "und-NC": {"value" : "fr-Latn-NC"}, "av": {"value" : "av-Cyrl-RU"}, "sdh": {"value" : "sdh-Arab-IR"}, "und-NA": {"value" : "af-Latn-NA"}, "ay": {"value" : "ay-Latn-BO"}, "az": {"value" : "az-Latn-AZ"}, "und-NE": {"value" : "ha-Latn-NE"}, "und-NI": {"value" : "es-Latn-NI"}, "ba": {"value" : "ba-Cyrl-RU"}, "wls": {"value" : "wls-Latn-WF"}, "und-Kore": {"value" : "ko-Kore-KR"}, "und-LK": {"value"
    : "si-Sinh-LK"}, "be": {"value" : "be-Cyrl-BY"}, "bcf": {"value" : "bcf-Latn-ZZ"}, "bg": {"value" : "bg-Cyrl-BG"}, "bch": {"value" : "bch-Latn-ZZ"}, "bi": {"value" : "bi-Latn-VU"}, "und-LU": {"value" : "fr-Latn-LU"}, "bci": {"value" : "bci-Latn-CI"}, "und-LT": {"value" : "lt-Latn-LT"}, "und-LS": {"value" : "st-Latn-LS"}, "bm": {"value" : "bm-Latn-ML"}, "bcn": {"value" : "bcn-Latn-ZZ"}, "bn": {"value" : "bn-Beng-BD"}, "und-LY": {"value" : "ar-Arab-LY"}, "bcm": {"value" : "bcm-Latn-ZZ"}, "bo": {"value" : "bo-Tibt-CN"}
    , "bco": {"value" : "bco-Latn-ZZ"}, "und-LV": {"value" : "lv-Latn-LV"}, "br": {"value" : "br-Latn-FR"}, "bcq": {"value" : "bcq-Ethi-ZZ"}, "bs": {"value" : "bs-Latn-BA"}, "bcu": {"value" : "bcu-Latn-ZZ"}, "sef": {"value" : "sef-Latn-CI"}, "und-MA": {"value" : "ar-Arab-MA"}, "sei": {"value" : "sei-Latn-MX"}, "seh": {"value" : "seh-Latn-MZ"}, "und-MF": {"value" : "fr-Latn-MF"}, "wmo": {"value" : "wmo-Latn-ZZ"}, "und-ME": {"value" : "sr-Latn-ME"}, "und-MD": {"value" : "ro-Latn-MD"}, "und-MC": {"value" : "fr-Latn-MC"}
    , "ca": {"value" : "ca-Latn-ES"}, "und-MG": {"value" : "mg-Latn-MG"}, "ses": {"value" : "ses-Latn-ML"}, "ce": {"value" : "ce-Cyrl-RU"}, "und-Cyrl-BA": {"value" : "sr-Cyrl-BA"}, "bdd": {"value" : "bdd-Latn-ZZ"}, "und-KP": {"value" : "ko-Kore-KP"}, "ch": {"value" : "ch-Latn-GU"}, "und-KM": {"value" : "ar-Arab-KM"}, "und-KR": {"value" : "ko-Kore-KR"}, "co": {"value" : "co-Latn-FR"}, "flr": {"value" : "flr-Latn-ZZ"}, "und-KW": {"value" : "ar-Arab-KW"}, "wnc": {"value" : "wnc-Latn-ZZ"}, "und-Dogr": {"value" :
    "doi-Dogr-IN"}, "cr": {"value" : "cr-Cans-CA"}, "cs": {"value" : "cs-Latn-CZ"}, "cu": {"value" : "cu-Cyrl-RU"}, "und-KZ": {"value" : "ru-Cyrl-KZ"}, "cv": {"value" : "cv-Cyrl-RU"}, "wni": {"value" : "wni-Arab-KM"}, "und-LA": {"value" : "lo-Laoo-LA"}, "cy": {"value" : "cy-Latn-GB"}, "und-LB": {"value" : "ar-Arab-LB"}, "und-LI": {"value" : "de-Latn-LI"}, "da": {"value" : "da-Latn-DK"}, "und-Cyrl-AL": {"value" : "mk-Cyrl-AL"}, "wnu": {"value" : "wnu-Latn-ZZ"}, "de": {"value" : "de-Latn-DE"}, "bef": {"value"
    : "bef-Latn-ZZ"}, "beh": {"value" : "beh-Latn-ZZ"}, "und-JO": {"value" : "ar-Arab-JO"}, "bej": {"value" : "bej-Arab-SD"}, "fmp": {"value" : "fmp-Latn-ZZ"}, "jut": {"value" : "jut-Latn-DK"}, "bem": {"value" : "bem-Latn-ZM"}, "und-JP": {"value" : "ja-Jpan-JP"}, "wob": {"value" : "wob-Latn-ZZ"}, "sga": {"value" : "sga-Ogam-IE"}, "bet": {"value" : "bet-Latn-ZZ"}, "dv": {"value" : "dv-Thaa-MV"}, "bex": {"value" : "bex-Latn-ZZ"}, "bew": {"value" : "bew-Latn-ID"}, "bez": {"value" : "bez-Latn-TZ"}, "dz": {"value"
    : "dz-Tibt-BT"}, "ms-ID": {"value" : "ms-Arab-ID"}, "wos": {"value" : "wos-Latn-ZZ"}, "und-KH": {"value" : "km-Khmr-KH"}, "und-KG": {"value" : "ky-Cyrl-KG"}, "sgs": {"value" : "sgs-Latn-LT"}, "und-KE": {"value" : "sw-Latn-KE"}, "ee": {"value" : "ee-Latn-GH"}, "bfd": {"value" : "bfd-Latn-CM"}, "sgw": {"value" : "sgw-Ethi-ZZ"}, "und-IN": {"value" : "hi-Deva-IN"}, "und-IL": {"value" : "he-Hebr-IL"}, "el": {"value" : "el-Grek-GR"}, "sgz": {"value" : "sgz-Latn-ZZ"}, "und-IR": {"value" : "fa-Arab-IR"}, "en": {"value"
    : "en-Latn-US"}, "und-IQ": {"value" : "ar-Arab-IQ"}, "und-Perm": {"value" : "kv-Perm-RU"}, "eo": {"value" : "eo-Latn-001"}, "bfq": {"value" : "bfq-Taml-IN"}, "es": {"value" : "es-Latn-ES"}, "und-IT": {"value" : "it-Latn-IT"}, "et": {"value" : "et-Latn-EE"}, "und-IS": {"value" : "is-Latn-IS"}, "eu": {"value" : "eu-Latn-ES"}, "bft": {"value" : "bft-Arab-PK"}, "bfy": {"value" : "bfy-Deva-IN"}, "shi": {"value" : "shi-Tfng-MA"}, "shk": {"value" : "shk-Latn-ZZ"}, "shn": {"value" : "shn-Mymr-MM"}, "fod": {"value"
    : "fod-Latn-ZZ"}, "fa": {"value" : "fa-Arab-IR"}, "bgc": {"value" : "bgc-Deva-IN"}, "ff": {"value" : "ff-Latn-SN"}, "shu": {"value" : "shu-Arab-ZZ"}, "fi": {"value" : "fi-Latn-FI"}, "fj": {"value" : "fj-Latn-FJ"}, "fon": {"value" : "fon-Latn-BJ"}, "und-HM": {"value" : "und-Latn-HM"}, "und-HK": {"value" : "zh-Hant-HK"}, "bgn": {"value" : "bgn-Arab-PK"}, "for": {"value" : "for-Latn-ZZ"}, "fo": {"value" : "fo-Latn-FO"}, "und-HN": {"value" : "es-Latn-HN"}, "fr": {"value" : "fr-Latn-FR"}, "und-HU": {"value" :
    "hu-Latn-HU"}, "und-HT": {"value" : "ht-Latn-HT"}, "ku-Arab": {"value" : "ku-Arab-IQ"}, "sid": {"value" : "sid-Latn-ET"}, "und-HR": {"value" : "hr-Latn-HR"}, "sig": {"value" : "sig-Latn-ZZ"}, "bgx": {"value" : "bgx-Grek-TR"}, "fy": {"value" : "fy-Latn-NL"}, "sim": {"value" : "sim-Latn-ZZ"}, "sil": {"value" : "sil-Latn-ZZ"}, "fpe": {"value" : "fpe-Latn-ZZ"}, "ga": {"value" : "ga-Latn-IE"}, "bhb": {"value" : "bhb-Deva-IN"}, "gd": {"value" : "gd-Latn-GB"}, "und-ID": {"value" : "id-Latn-ID"}, "und-IC": {"value"
    : "es-Latn-IC"}, "bhg": {"value" : "bhg-Latn-ZZ"}, "und-GH": {"value" : "ak-Latn-GH"}, "bhi": {"value" : "bhi-Deva-IN"}, "und-GF": {"value" : "fr-Latn-GF"}, "und-GE": {"value" : "ka-Geor-GE"}, "bhk": {"value" : "bhk-Latn-PH"}, "und-GL": {"value" : "kl-Latn-GL"}, "gl": {"value" : "gl-Latn-ES"}, "bhl": {"value" : "bhl-Latn-ZZ"}, "gn": {"value" : "gn-Latn-PY"}, "bho": {"value" : "bho-Deva-IN"}, "und-GP": {"value" : "fr-Latn-GP"}, "und-GN": {"value" : "fr-Latn-GN"}, "und-GT": {"value" : "es-Latn-GT"}, "und-GS":
    {"value" : "und-Latn-GS"}, "gu": {"value" : "gu-Gujr-IN"}, "und-GR": {"value" : "el-Grek-GR"}, "gv": {"value" : "gv-Latn-IM"}, "und-GQ": {"value" : "es-Latn-GQ"}, "und-Palm": {"value" : "arc-Palm-SY"}, "und-GW": {"value" : "pt-Latn-GW"}, "bhy": {"value" : "bhy-Latn-ZZ"}, "ha": {"value" : "ha-Latn-NG"}, "wrs": {"value" : "wrs-Latn-ZZ"}, "bib": {"value" : "bib-Latn-ZZ"}, "sjr": {"value" : "sjr-Latn-ZZ"}, "he": {"value" : "he-Hebr-IL"}, "big": {"value" : "big-Latn-ZZ"}, "hi": {"value" : "hi-Deva-IN"}, "und-Cyrl-GE":
    {"value" : "ab-Cyrl-GE"}, "bik": {"value" : "bik-Latn-PH"}, "bin": {"value" : "bin-Latn-NG"}, "und-Cham": {"value" : "cjm-Cham-VN"}, "und-FI": {"value" : "fi-Latn-FI"}, "bim": {"value" : "bim-Latn-ZZ"}, "ho": {"value" : "ho-Latn-PG"}, "tg-PK": {"value" : "tg-Arab-PK"}, "und-FO": {"value" : "fo-Latn-FO"}, "bio": {"value" : "bio-Latn-ZZ"}, "fqs": {"value" : "fqs-Latn-ZZ"}, "hr": {"value" : "hr-Latn-HR"}, "skc": {"value" : "skc-Latn-ZZ"}, "wsg": {"value" : "wsg-Gong-IN"}, "biq": {"value" : "biq-Latn-ZZ"}, "ht":
    {"value" : "ht-Latn-HT"}, "hu": {"value" : "hu-Latn-HU"}, "und-FR": {"value" : "fr-Latn-FR"}, "wsk": {"value" : "wsk-Latn-ZZ"}, "hy": {"value" : "hy-Armn-AM"}, "hz": {"value" : "hz-Latn-NA"}, "frc": {"value" : "frc-Latn-US"}, "ia": {"value" : "ia-Latn-001"}, "sks": {"value" : "sks-Latn-ZZ"}, "id": {"value" : "id-Latn-ID"}, "skr": {"value" : "skr-Arab-PK"}, "ig": {"value" : "ig-Latn-NG"}, "und-GA": {"value" : "fr-Latn-GA"}, "bji": {"value" : "bji-Ethi-ZZ"}, "ii": {"value" : "ii-Yiii-CN"}, "bjh": {"value"
    : "bjh-Latn-ZZ"}, "und-EE": {"value" : "et-Latn-EE"}, "ik": {"value" : "ik-Latn-US"}, "bjj": {"value" : "bjj-Deva-IN"}, "und-EC": {"value" : "es-Latn-EC"}, "und-Cprt": {"value" : "grc-Cprt-CY"}, "frp": {"value" : "frp-Latn-FR"}, "in": {"value" : "in-Latn-ID"}, "bjo": {"value" : "bjo-Latn-ZZ"}, "frs": {"value" : "frs-Latn-DE"}, "io": {"value" : "io-Latn-001"}, "und-EH": {"value" : "ar-Arab-EH"}, "bjn": {"value" : "bjn-Latn-ID"}, "frr": {"value" : "frr-Latn-DE"}, "und-EG": {"value" : "ar-Arab-EG"}, "is": {"value"
    : "is-Latn-IS"}, "sld": {"value" : "sld-Latn-ZZ"}, "bjr": {"value" : "bjr-Latn-ZZ"}, "it": {"value" : "it-Latn-IT"}, "iu": {"value" : "iu-Cans-CA"}, "und-ER": {"value" : "ti-Ethi-ER"}, "bjt": {"value" : "bjt-Latn-SN"}, "iw": {"value" : "iw-Hebr-IL"}, "und-Tirh": {"value" : "mai-Tirh-IN"}, "sli": {"value" : "sli-Latn-PL"}, "und-EU": {"value" : "en-Latn-GB"}, "wtm": {"value" : "wtm-Deva-IN"}, "sll": {"value" : "sll-Latn-ZZ"}, "und-ET": {"value" : "am-Ethi-ET"}, "bjz": {"value" : "bjz-Latn-ZZ"}, "und-ES": {"value"
    : "es-Latn-ES"}, "und-EZ": {"value" : "de-Latn-EZ"}, "ja": {"value" : "ja-Jpan-JP"}, "zh-GF": {"value" : "zh-Hant-GF"}, "bkc": {"value" : "bkc-Latn-ZZ"}, "zh-GB": {"value" : "zh-Hant-GB"}, "und-Cyrl-GR": {"value" : "mk-Cyrl-GR"}, "ji": {"value" : "ji-Hebr-UA"}, "und-DE": {"value" : "de-Latn-DE"}, "sly": {"value" : "sly-Latn-ID"}, "bkm": {"value" : "bkm-Latn-CM"}, "sma": {"value" : "sma-Latn-SE"}, "bkq": {"value" : "bkq-Latn-ZZ"}, "und-DK": {"value" : "da-Latn-DK"}, "und-DJ": {"value" : "aa-Latn-DJ"}, "bkv":
    {"value" : "bkv-Latn-ZZ"}, "jv": {"value" : "jv-Latn-ID"}, "bku": {"value" : "bku-Latn-PH"}, "jw": {"value" : "jw-Latn-ID"}, "und-DO": {"value" : "es-Latn-DO"}, "smj": {"value" : "smj-Latn-SE"}, "smn": {"value" : "smn-Latn-FI"}, "ka": {"value" : "ka-Geor-GE"}, "smq": {"value" : "smq-Latn-ZZ"}, "wuu": {"value" : "wuu-Hans-CN"}, "smp": {"value" : "smp-Samr-IL"}, "sms": {"value" : "sms-Latn-FI"}, "wuv": {"value" : "wuv-Latn-ZZ"}, "und-DZ": {"value" : "ar-Arab-DZ"}, "kg": {"value" : "kg-Latn-CD"}, "und-EA":
    {"value" : "es-Latn-EA"}, "ki": {"value" : "ki-Latn-KE"}, "kj": {"value" : "kj-Latn-NA"}, "kk": {"value" : "kk-Cyrl-KZ"}, "man-Nkoo": {"value" : "man-Nkoo-GN"}, "und-CD": {"value" : "sw-Latn-CD"}, "kl": {"value" : "kl-Latn-GL"}, "und-Telu": {"value" : "te-Telu-IN"}, "km": {"value" : "km-Khmr-KH"}, "kn": {"value" : "kn-Knda-IN"}, "ko": {"value" : "ko-Kore-KR"}, "und-CH": {"value" : "de-Latn-CH"}, "und-CG": {"value" : "fr-Latn-CG"}, "und-CF": {"value" : "fr-Latn-CF"}, "kr": {"value" : "kr-Latn-ZZ"}, "ks":
    {"value" : "ks-Arab-IN"}, "und-CL": {"value" : "es-Latn-CL"}, "snc": {"value" : "snc-Latn-ZZ"}, "ku": {"value" : "ku-Latn-TR"}, "blt": {"value" : "blt-Tavt-VN"}, "kv": {"value" : "kv-Cyrl-RU"}, "und-CI": {"value" : "fr-Latn-CI"}, "kw": {"value" : "kw-Latn-GB"}, "und-CP": {"value" : "und-Latn-CP"}, "und-CO": {"value" : "es-Latn-CO"}, "ky": {"value" : "ky-Cyrl-KG"}, "und-CN": {"value" : "zh-Hans-CN"}, "und-CM": {"value" : "fr-Latn-CM"}, "snk": {"value" : "snk-Latn-ML"}, "fub": {"value" : "fub-Arab-CM"}, "und-CR":
    {"value" : "es-Latn-CR"}, "fud": {"value" : "fud-Latn-WF"}, "snp": {"value" : "snp-Latn-ZZ"}, "la": {"value" : "la-Latn-VA"}, "und-CW": {"value" : "pap-Latn-CW"}, "fuf": {"value" : "fuf-Latn-GN"}, "lb": {"value" : "lb-Latn-LU"}, "und-CV": {"value" : "pt-Latn-CV"}, "fue": {"value" : "fue-Latn-ZZ"}, "und-CU": {"value" : "es-Latn-CU"}, "fuh": {"value" : "fuh-Latn-ZZ"}, "und-CZ": {"value" : "cs-Latn-CZ"}, "lg": {"value" : "lg-Latn-UG"}, "und-CY": {"value" : "el-Grek-CY"}, "bmh": {"value" : "bmh-Latn-ZZ"}, "snx":
    {"value" : "snx-Latn-ZZ"}, "li": {"value" : "li-Latn-NL"}, "sny": {"value" : "sny-Latn-ZZ"}, "wwa": {"value" : "wwa-Latn-ZZ"}, "bmk": {"value" : "bmk-Latn-ZZ"}, "und-Cher": {"value" : "chr-Cher-US"}, "fur": {"value" : "fur-Latn-IT"}, "ln": {"value" : "ln-Latn-CD"}, "und-BA": {"value" : "bs-Latn-BA"}, "fuq": {"value" : "fuq-Latn-NE"}, "lo": {"value" : "lo-Laoo-LA"}, "und-BG": {"value" : "bg-Cyrl-BG"}, "und-BF": {"value" : "fr-Latn-BF"}, "fuv": {"value" : "fuv-Latn-NG"}, "und-BE": {"value" : "nl-Latn-BE"}
    , "bmq": {"value" : "bmq-Latn-ML"}, "und-BD": {"value" : "bn-Beng-BD"}, "lt": {"value" : "lt-Latn-LT"}, "lu": {"value" : "lu-Latn-CD"}, "und-BJ": {"value" : "fr-Latn-BJ"}, "lv": {"value" : "lv-Latn-LV"}, "ogc": {"value" : "ogc-Latn-ZZ"}, "sog": {"value" : "sog-Sogd-UZ"}, "und-BI": {"value" : "rn-Latn-BI"}, "bmu": {"value" : "bmu-Latn-ZZ"}, "fuy": {"value" : "fuy-Latn-ZZ"}, "und-BH": {"value" : "ar-Arab-BH"}, "und-BO": {"value" : "es-Latn-BO"}, "und-BN": {"value" : "ms-Latn-BN"}, "sok": {"value" : "sok-Latn-ZZ"}
    , "und-BL": {"value" : "fr-Latn-BL"}, "und-BR": {"value" : "pt-Latn-BR"}, "und-BQ": {"value" : "pap-Latn-BQ"}, "soq": {"value" : "soq-Latn-ZZ"}, "und-BV": {"value" : "und-Latn-BV"}, "und-BT": {"value" : "dz-Tibt-BT"}, "sou": {"value" : "sou-Thai-TH"}, "bng": {"value" : "bng-Latn-ZZ"}, "mg": {"value" : "mg-Latn-MG"}, "und-BY": {"value" : "be-Cyrl-BY"}, "und-Glag": {"value" : "cu-Glag-BG"}, "mh": {"value" : "mh-Latn-MH"}, "mi": {"value" : "mi-Latn-NZ"}, "soy": {"value" : "soy-Latn-ZZ"}, "mk": {"value" : "mk-Cyrl-MK"}
    , "ml": {"value" : "ml-Mlym-IN"}, "bnm": {"value" : "bnm-Latn-ZZ"}, "mn": {"value" : "mn-Cyrl-MN"}, "und-Prti": {"value" : "xpr-Prti-IR"}, "fvr": {"value" : "fvr-Latn-SD"}, "und-AF": {"value" : "fa-Arab-AF"}, "bnp": {"value" : "bnp-Latn-ZZ"}, "mr": {"value" : "mr-Deva-IN"}, "und-AE": {"value" : "ar-Arab-AE"}, "ms": {"value" : "ms-Latn-MY"}, "spd": {"value" : "spd-Latn-ZZ"}, "und-AD": {"value" : "ca-Latn-AD"}, "mt": {"value" : "mt-Latn-MT"}, "my": {"value" : "my-Mymr-MM"}, "zh-BN": {"value" : "zh-Hant-BN"}
    , "und-AM": {"value" : "hy-Armn-AM"}, "spl": {"value" : "spl-Latn-ZZ"}, "und-AL": {"value" : "sq-Latn-AL"}, "und-AR": {"value" : "es-Latn-AR"}, "und-AQ": {"value" : "und-Latn-AQ"}, "na": {"value" : "na-Latn-NR"}, "und-AO": {"value" : "pt-Latn-AO"}, "nb": {"value" : "nb-Latn-NO"}, "nd": {"value" : "nd-Latn-ZW"}, "und-AT": {"value" : "de-Latn-AT"}, "ne": {"value" : "ne-Deva-NP"}, "sps": {"value" : "sps-Latn-ZZ"}, "und-AS": {"value" : "sm-Latn-AS"}, "und-AZ": {"value" : "az-Latn-AZ"}, "ng": {"value" : "ng-Latn-NA"}
    , "und-AX": {"value" : "sv-Latn-AX"}, "und-AW": {"value" : "nl-Latn-AW"}, "boj": {"value" : "boj-Latn-ZZ"}, "nl": {"value" : "nl-Latn-NL"}, "bon": {"value" : "bon-Latn-ZZ"}, "nn": {"value" : "nn-Latn-NO"}, "bom": {"value" : "bom-Latn-ZZ"}, "no": {"value" : "no-Latn-NO"}, "nr": {"value" : "nr-Latn-ZA"}, "arc-Nbat": {"value" : "arc-Nbat-JO"}, "und-Medf": {"value" : "mis-Medf-NG"}, "nv": {"value" : "nv-Latn-US"}, "kaa": {"value" : "kaa-Cyrl-UZ"}, "ny": {"value" : "ny-Latn-MW"}, "kac": {"value" : "kac-Latn-MM"}
    , "kab": {"value" : "kab-Latn-DZ"}, "kad": {"value" : "kad-Latn-ZZ"}, "kai": {"value" : "kai-Latn-ZZ"}, "oc": {"value" : "oc-Latn-FR"}, "zh-AU": {"value" : "zh-Hant-AU"}, "kaj": {"value" : "kaj-Latn-NG"}, "kam": {"value" : "kam-Latn-KE"}, "und-Tagb": {"value" : "tbw-Tagb-PH"}, "kao": {"value" : "kao-Latn-ML"}, "und-Ogam": {"value" : "sga-Ogam-IE"}, "om": {"value" : "om-Latn-ET"}, "srb": {"value" : "srb-Sora-IN"}, "or": {"value" : "or-Orya-IN"}, "tg-Arab": {"value" : "tg-Arab-PK"}, "os": {"value" : "os-Cyrl-GE"}
    , "und-Sogd": {"value" : "sog-Sogd-UZ"}, "bpy": {"value" : "bpy-Beng-IN"}, "kbd": {"value" : "kbd-Cyrl-RU"}, "srn": {"value" : "srn-Latn-SR"}, "pa": {"value" : "pa-Guru-IN"}, "srr": {"value" : "srr-Latn-SN"}, "bqc": {"value" : "bqc-Latn-ZZ"}, "und-Kthi": {"value" : "bho-Kthi-IN"}, "kbm": {"value" : "kbm-Latn-ZZ"}, "kbp": {"value" : "kbp-Latn-ZZ"}, "srx": {"value" : "srx-Deva-IN"}, "bqi": {"value" : "bqi-Arab-IR"}, "kbq": {"value" : "kbq-Latn-ZZ"}, "pl": {"value" : "pl-Latn-PL"}, "bqp": {"value" : "bqp-Latn-ZZ"}
    , "kbx": {"value" : "kbx-Latn-ZZ"}, "kby": {"value" : "kby-Arab-NE"}, "ps": {"value" : "ps-Arab-AF"}, "pt": {"value" : "pt-Latn-BR"}, "ssd": {"value" : "ssd-Latn-ZZ"}, "und-Nkoo": {"value" : "man-Nkoo-GN"}, "bqv": {"value" : "bqv-Latn-CI"}, "ssg": {"value" : "ssg-Latn-ZZ"}, "und-Mymr": {"value" : "my-Mymr-MM"}, "kcg": {"value" : "kcg-Latn-NG"}, "bra": {"value" : "bra-Deva-IN"}, "kck": {"value" : "kck-Latn-ZW"}, "kcl": {"value" : "kcl-Latn-ZZ"}, "okr": {"value" : "okr-Latn-ZZ"}, "ssy": {"value" : "ssy-Latn-ER"}
    , "brh": {"value" : "brh-Arab-PK"}, "okv": {"value" : "okv-Latn-ZZ"}, "kct": {"value" : "kct-Latn-ZZ"}, "und-Hani": {"value" : "zh-Hani-CN"}, "und-Bugi": {"value" : "bug-Bugi-ID"}, "und-Hang": {"value" : "ko-Hang-KR"}, "qu": {"value" : "qu-Latn-PE"}, "brx": {"value" : "brx-Deva-IN"}, "und-Samr": {"value" : "smp-Samr-IL"}, "brz": {"value" : "brz-Latn-ZZ"}, "stk": {"value" : "stk-Latn-ZZ"}, "und-Hano": {"value" : "hnn-Hano-PH"}, "kde": {"value" : "kde-Latn-TZ"}, "kdh": {"value" : "kdh-Arab-TG"}, "stq": {"value"
    : "stq-Latn-DE"}, "kdl": {"value" : "kdl-Latn-ZZ"}, "bsj": {"value" : "bsj-Latn-ZZ"}, "und-Hanb": {"value" : "zh-Hanb-TW"}, "kdt": {"value" : "kdt-Thai-TH"}, "rm": {"value" : "rm-Latn-CH"}, "rn": {"value" : "rn-Latn-BI"}, "ro": {"value" : "ro-Latn-RO"}, "sua": {"value" : "sua-Latn-ZZ"}, "und-Deva-BT": {"value" : "ne-Deva-BT"}, "bsq": {"value" : "bsq-Bass-LR"}, "bst": {"value" : "bst-Ethi-ZZ"}, "sue": {"value" : "sue-Latn-ZZ"}, "bss": {"value" : "bss-Latn-CM"}, "ru": {"value" : "ru-Cyrl-RU"}, "und-Buhd":
    {"value" : "bku-Buhd-PH"}, "rw": {"value" : "rw-Latn-RW"}, "kea": {"value" : "kea-Latn-CV"}, "suk": {"value" : "suk-Latn-TZ"}, "grc-Linb": {"value" : "grc-Linb-GR"}, "sa": {"value" : "sa-Deva-IN"}, "sc": {"value" : "sc-Latn-IT"}, "sus": {"value" : "sus-Latn-GN"}, "sd": {"value" : "sd-Arab-PK"}, "sur": {"value" : "sur-Latn-ZZ"}, "se": {"value" : "se-Latn-NO"}, "sg": {"value" : "sg-Latn-CF"}, "ken": {"value" : "ken-Latn-CM"}, "si": {"value" : "si-Sinh-LK"}, "und-Hant": {"value" : "zh-Hant-TW"}, "und-Hans":
    {"value" : "zh-Hans-CN"}, "sk": {"value" : "sk-Latn-SK"}, "sl": {"value" : "sl-Latn-SI"}, "sm": {"value" : "sm-Latn-WS"}, "sn": {"value" : "sn-Latn-ZW"}, "bto": {"value" : "bto-Latn-PH"}, "so": {"value" : "so-Latn-SO"}, "sq": {"value" : "sq-Latn-AL"}, "sr": {"value" : "sr-Cyrl-RS"}, "ss": {"value" : "ss-Latn-ZA"}, "kez": {"value" : "kez-Latn-ZZ"}, "st": {"value" : "st-Latn-ZA"}, "su": {"value" : "su-Latn-ID"}, "btt": {"value" : "btt-Latn-ZZ"}, "sv": {"value" : "sv-Latn-SE"}, "sw": {"value" : "sw-Latn-TZ"}
    , "btv": {"value" : "btv-Deva-PK"}, "ong": {"value" : "ong-Latn-ZZ"}, "ta": {"value" : "ta-Taml-IN"}, "onn": {"value" : "onn-Latn-ZZ"}, "bua": {"value" : "bua-Cyrl-RU"}, "bud": {"value" : "bud-Latn-ZZ"}, "buc": {"value" : "buc-Latn-YT"}, "te": {"value" : "te-Telu-IN"}, "tg": {"value" : "tg-Cyrl-TJ"}, "th": {"value" : "th-Thai-TH"}, "und-Gong": {"value" : "wsg-Gong-IN"}, "bug": {"value" : "bug-Latn-ID"}, "kfo": {"value" : "kfo-Latn-CI"}, "ons": {"value" : "ons-Latn-ZZ"}, "ti": {"value" : "ti-Ethi-ET"}, "kfr":
    {"value" : "kfr-Deva-IN"}, "tk": {"value" : "tk-Latn-TM"}, "tl": {"value" : "tl-Latn-PH"}, "und-Lisu": {"value" : "lis-Lisu-CN"}, "buk": {"value" : "buk-Latn-ZZ"}, "tn": {"value" : "tn-Latn-ZA"}, "bum": {"value" : "bum-Latn-CM"}, "to": {"value" : "to-Latn-TO"}, "buo": {"value" : "buo-Latn-ZZ"}, "swc": {"value" : "swc-Latn-CD"}, "tr": {"value" : "tr-Latn-TR"}, "und-Gonm": {"value" : "esg-Gonm-IN"}, "kfy": {"value" : "kfy-Deva-IN"}, "swb": {"value" : "swb-Arab-YT"}, "ts": {"value" : "ts-Latn-ZA"}, "tt": {"value"
    : "tt-Cyrl-RU"}, "bus": {"value" : "bus-Latn-ZZ"}, "swg": {"value" : "swg-Latn-DE"}, "buu": {"value" : "buu-Latn-ZZ"}, "ty": {"value" : "ty-Latn-PF"}, "kge": {"value" : "kge-Latn-ID"}, "kgf": {"value" : "kgf-Latn-ZZ"}, "swp": {"value" : "swp-Latn-ZZ"}, "bvb": {"value" : "bvb-Latn-GQ"}, "ug": {"value" : "ug-Arab-CN"}, "swv": {"value" : "swv-Deva-IN"}, "kgp": {"value" : "kgp-Latn-BR"}, "uk": {"value" : "uk-Cyrl-UA"}, "ur": {"value" : "ur-Arab-PK"}, "kk-IR": {"value" : "kk-Arab-IR"}, "khb": {"value" : "khb-Talu-CN"}
    , "kha": {"value" : "kha-Latn-IN"}, "uz": {"value" : "uz-Latn-UZ"}, "sxn": {"value" : "sxn-Latn-ID"}, "xav": {"value" : "xav-Latn-BR"}, "opm": {"value" : "opm-Latn-ZZ"}, "bwd": {"value" : "bwd-Latn-ZZ"}, "und-Mlym": {"value" : "ml-Mlym-IN"}, "ve": {"value" : "ve-Latn-ZA"}, "khn": {"value" : "khn-Deva-IN"}, "sxw": {"value" : "sxw-Latn-ZZ"}, "vi": {"value" : "vi-Latn-VN"}, "khq": {"value" : "khq-Latn-ML"}, "kht": {"value" : "kht-Mymr-IN"}, "khs": {"value" : "khs-Latn-ZZ"}, "vo": {"value" : "vo-Latn-001"},
    "khw": {"value" : "khw-Arab-PK"}, "bwr": {"value" : "bwr-Latn-ZZ"}, "khz": {"value" : "khz-Latn-ZZ"}, "und-ZW": {"value" : "sn-Latn-ZW"}, "xbi": {"value" : "xbi-Latn-ZZ"}, "gaa": {"value" : "gaa-Latn-GH"}, "syl": {"value" : "syl-Beng-BD"}, "wa": {"value" : "wa-Latn-BE"}, "gag": {"value" : "gag-Latn-MD"}, "gaf": {"value" : "gaf-Latn-ZZ"}, "kij": {"value" : "kij-Latn-ZZ"}, "syr": {"value" : "syr-Syrc-IQ"}, "und-YE": {"value" : "ar-Arab-YE"}, "gah": {"value" : "gah-Latn-ZZ"}, "gaj": {"value" : "gaj-Latn-ZZ"}
    , "gam": {"value" : "gam-Latn-ZZ"}, "bxh": {"value" : "bxh-Latn-ZZ"}, "gan": {"value" : "gan-Hans-CN"}, "kiu": {"value" : "kiu-Latn-TR"}, "kiw": {"value" : "kiw-Latn-ZZ"}, "wo": {"value" : "wo-Latn-SN"}, "gaw": {"value" : "gaw-Latn-ZZ"}, "und-Sarb": {"value" : "xsa-Sarb-YE"}, "gay": {"value" : "gay-Latn-ID"}, "und-YT": {"value" : "fr-Latn-YT"}, "kjd": {"value" : "kjd-Latn-ZZ"}, "szl": {"value" : "szl-Latn-PL"}, "xcr": {"value" : "xcr-Cari-TR"}, "gba": {"value" : "gba-Latn-ZZ"}, "und-Mult": {"value" : "skr-Mult-PK"}
    , "kjg": {"value" : "kjg-Laoo-LA"}, "gbf": {"value" : "gbf-Latn-ZZ"}, "oro": {"value" : "oro-Latn-ZZ"}, "und-Hatr": {"value" : "mis-Hatr-IQ"}, "bye": {"value" : "bye-Latn-ZZ"}, "xh": {"value" : "xh-Latn-ZA"}, "gbm": {"value" : "gbm-Deva-IN"}, "oru": {"value" : "oru-Arab-ZZ"}, "kjs": {"value" : "kjs-Latn-ZZ"}, "byn": {"value" : "byn-Ethi-ER"}, "und-XK": {"value" : "sq-Latn-XK"}, "yue-CN": {"value" : "yue-Hans-CN"}, "und-Lepc": {"value" : "lep-Lepc-IN"}, "byr": {"value" : "byr-Latn-ZZ"}, "kjy": {"value" :
    "kjy-Latn-ZZ"}, "osa": {"value" : "osa-Osge-US"}, "bys": {"value" : "bys-Latn-ZZ"}, "byv": {"value" : "byv-Latn-CM"}, "gbz": {"value" : "gbz-Arab-IR"}, "gby": {"value" : "gby-Latn-ZZ"}, "byx": {"value" : "byx-Latn-ZZ"}, "kkc": {"value" : "kkc-Latn-ZZ"}, "und-VU": {"value" : "bi-Latn-VU"}, "bza": {"value" : "bza-Latn-ZZ"}, "und-Goth": {"value" : "got-Goth-UA"}, "kkj": {"value" : "kkj-Latn-CM"}, "bze": {"value" : "bze-Latn-ML"}, "und-Avst": {"value" : "ae-Avst-IR"}, "bzf": {"value" : "bzf-Latn-ZZ"}, "yi":
    {"value" : "yi-Hebr-001"}, "bzh": {"value" : "bzh-Latn-ZZ"}, "und-WF": {"value" : "fr-Latn-WF"}, "yo": {"value" : "yo-Latn-NG"}, "gcr": {"value" : "gcr-Latn-GF"}, "ota": {"value" : "ota-Arab-ZZ"}, "und-WS": {"value" : "sm-Latn-WS"}, "bzw": {"value" : "bzw-Latn-ZZ"}, "und-UZ": {"value" : "uz-Latn-UZ"}, "und-UY": {"value" : "es-Latn-UY"}, "otk": {"value" : "otk-Orkh-MN"}, "xes": {"value" : "xes-Latn-ZZ"}, "za": {"value" : "za-Latn-CN"}, "gde": {"value" : "gde-Latn-ZZ"}, "kln": {"value" : "kln-Latn-KE"}, "und-VA":
    {"value" : "it-Latn-VA"}, "zh": {"value" : "zh-Hans-CN"}, "gdn": {"value" : "gdn-Latn-ZZ"}, "klq": {"value" : "klq-Latn-ZZ"}, "und-Saur": {"value" : "saz-Saur-IN"}, "klt": {"value" : "klt-Latn-ZZ"}, "und-VE": {"value" : "es-Latn-VE"}, "gdr": {"value" : "gdr-Latn-ZZ"}, "klx": {"value" : "klx-Latn-ZZ"}, "und-VN": {"value" : "vi-Latn-VN"}, "kk-MN": {"value" : "kk-Arab-MN"}, "zu": {"value" : "zu-Latn-ZA"}, "und-Armn": {"value" : "hy-Armn-AM"}, "kmb": {"value" : "kmb-Latn-AO"}, "und-TR": {"value" : "tr-Latn-TR"}
    , "geb": {"value" : "geb-Latn-ZZ"}, "und-TW": {"value" : "zh-Hant-TW"}, "kmh": {"value" : "kmh-Latn-ZZ"}, "und-TV": {"value" : "tvl-Latn-TV"}, "und-TZ": {"value" : "sw-Latn-TZ"}, "kmo": {"value" : "kmo-Latn-ZZ"}, "gej": {"value" : "gej-Latn-ZZ"}, "und-UA": {"value" : "uk-Cyrl-UA"}, "gel": {"value" : "gel-Latn-ZZ"}, "kms": {"value" : "kms-Latn-ZZ"}, "kmu": {"value" : "kmu-Latn-ZZ"}, "kmw": {"value" : "kmw-Latn-ZZ"}, "und-Tibt": {"value" : "bo-Tibt-CN"}, "und-UG": {"value" : "sw-Latn-UG"}, "und-Armi": {"value"
    : "arc-Armi-IR"}, "gez": {"value" : "gez-Ethi-ET"}, "und-ST": {"value" : "pt-Latn-ST"}, "knf": {"value" : "knf-Latn-GW"}, "und-SR": {"value" : "nl-Latn-SR"}, "und-SV": {"value" : "es-Latn-SV"}, "und-SY": {"value" : "ar-Arab-SY"}, "knp": {"value" : "knp-Latn-ZZ"}, "gfk": {"value" : "gfk-Latn-ZZ"}, "und-TD": {"value" : "fr-Latn-TD"}, "und-TH": {"value" : "th-Thai-TH"}, "und-TG": {"value" : "fr-Latn-TG"}, "und-TF": {"value" : "fr-Latn-TF"}, "und-TM": {"value" : "tk-Latn-TM"}, "und-TL": {"value" : "pt-Latn-TL"}
    , "und-TK": {"value" : "tkl-Latn-TK"}, "und-TJ": {"value" : "tg-Cyrl-TJ"}, "und-TO": {"value" : "to-Latn-TO"}, "und-TN": {"value" : "ar-Arab-TN"}, "und-RS": {"value" : "sr-Cyrl-RS"}, "koi": {"value" : "koi-Cyrl-RU"}, "und-RW": {"value" : "rw-Latn-RW"}, "kok": {"value" : "kok-Deva-IN"}, "und-RU": {"value" : "ru-Cyrl-RU"}, "kol": {"value" : "kol-Latn-ZZ"}, "kos": {"value" : "kos-Latn-FM"}, "ggn": {"value" : "ggn-Deva-NP"}, "und-SD": {"value" : "ar-Arab-SD"}, "und-SC": {"value" : "fr-Latn-SC"}, "und-SA": {"value"
    : "ar-Arab-SA"}, "koz": {"value" : "koz-Latn-ZZ"}, "und-SE": {"value" : "sv-Latn-SE"}, "und-SK": {"value" : "sk-Latn-SK"}, "und-SJ": {"value" : "nb-Latn-SJ"}, "und-SI": {"value" : "sl-Latn-SI"}, "taj": {"value" : "taj-Deva-NP"}, "und-SO": {"value" : "so-Latn-SO"}, "tal": {"value" : "tal-Latn-ZZ"}, "und-SN": {"value" : "fr-Latn-SN"}, "und-Osge": {"value" : "osa-Osge-US"}, "und-SM": {"value" : "it-Latn-SM"}, "kpf": {"value" : "kpf-Latn-ZZ"}, "tan": {"value" : "tan-Latn-ZZ"}, "kpe": {"value" : "kpe-Latn-LR"}
    , "und-QO": {"value" : "en-Latn-DG"}, "taq": {"value" : "taq-Latn-ZZ"}, "kpo": {"value" : "kpo-Latn-ZZ"}, "kpr": {"value" : "kpr-Latn-ZZ"}, "kpx": {"value" : "kpx-Latn-ZZ"}, "ghs": {"value" : "ghs-Latn-ZZ"}, "und-Lana": {"value" : "nod-Lana-TH"}, "tbc": {"value" : "tbc-Latn-ZZ"}, "und-RE": {"value" : "fr-Latn-RE"}, "tbd": {"value" : "tbd-Latn-ZZ"}, "tbg": {"value" : "tbg-Latn-ZZ"}, "tbf": {"value" : "tbf-Latn-ZZ"}, "und-RO": {"value" : "ro-Latn-RO"}, "kqb": {"value" : "kqb-Latn-ZZ"}, "tbo": {"value" : "tbo-Latn-ZZ"}
    , "kqf": {"value" : "kqf-Latn-ZZ"}, "und-PT": {"value" : "pt-Latn-PT"}, "und-PS": {"value" : "ar-Arab-PS"}, "und-PR": {"value" : "es-Latn-PR"}, "tbw": {"value" : "tbw-Latn-PH"}, "und-PY": {"value" : "gn-Latn-PY"}, "gim": {"value" : "gim-Latn-ZZ"}, "und-PW": {"value" : "pau-Latn-PW"}, "gil": {"value" : "gil-Latn-KI"}, "kqs": {"value" : "kqs-Latn-ZZ"}, "tbz": {"value" : "tbz-Latn-ZZ"}, "und-Laoo": {"value" : "lo-Laoo-LA"}, "can": {"value" : "can-Latn-ZZ"}, "und-QA": {"value" : "ar-Arab-QA"}, "kqy": {"value"
    : "kqy-Ethi-ZZ"}, "ms-CC": {"value" : "ms-Arab-CC"}, "tci": {"value" : "tci-Latn-ZZ"}, "krc": {"value" : "krc-Cyrl-RU"}, "krj": {"value" : "krj-Latn-PH"}, "kri": {"value" : "kri-Latn-SL"}, "ozm": {"value" : "ozm-Latn-ZZ"}, "und-OM": {"value" : "ar-Arab-OM"}, "krl": {"value" : "krl-Latn-RU"}, "gjk": {"value" : "gjk-Arab-PK"}, "cbj": {"value" : "cbj-Latn-ZZ"}, "gjn": {"value" : "gjn-Latn-ZZ"}, "tcy": {"value" : "tcy-Knda-IN"}, "xla": {"value" : "xla-Latn-ZZ"}, "krs": {"value" : "krs-Latn-ZZ"}, "xlc": {"value"
    : "xlc-Lyci-TR"}, "kru": {"value" : "kru-Deva-IN"}, "und-PA": {"value" : "es-Latn-PA"}, "xld": {"value" : "xld-Lydi-TR"}, "gju": {"value" : "gju-Arab-PK"}, "und-PE": {"value" : "es-Latn-PE"}, "tdd": {"value" : "tdd-Tale-CN"}, "tdg": {"value" : "tdg-Deva-NP"}, "tdh": {"value" : "tdh-Deva-NP"}, "und-PH": {"value" : "fil-Latn-PH"}, "und-PG": {"value" : "tpi-Latn-PG"}, "ksb": {"value" : "ksb-Latn-TZ"}, "und-PF": {"value" : "fr-Latn-PF"}, "und-PM": {"value" : "fr-Latn-PM"}, "ksd": {"value" : "ksd-Latn-ZZ"}, "und-PL":
    {"value" : "pl-Latn-PL"}, "und-PK": {"value" : "ur-Arab-PK"}, "ksf": {"value" : "ksf-Latn-CM"}};
}
function otciu_CLDRHelper_getErasMap$$create() {
    return {"root": [{"value" : "BCE"}, {"value" : "CE"}], "en": [{"value" : "BC"}, {"value" : "AD"}]};
}
function otciu_CLDRHelper_getAmPmMap$$create() {
    return {"root": [{"value" : "AM"}, {"value" : "PM"}], "en": [{"value" : "AM"}, {"value" : "PM"}]};
}
function otciu_CLDRHelper_getMonthMap$$create() {
    return {"root": [{"value" : "M01"}, {"value" : "M02"}, {"value" : "M03"}, {"value" : "M04"}, {"value" : "M05"}, {"value" : "M06"}, {"value" : "M07"}, {"value" : "M08"}, {"value" : "M09"}, {"value" : "M10"}, {"value" : "M11"}, {"value" : "M12"}], "en": [{"value" : "January"}, {"value" : "February"}, {"value" : "March"}, {"value" : "April"}, {"value" : "May"}, {"value" : "June"}, {"value" : "July"}, {"value" : "August"}, {"value" : "September"}, {"value" : "October"}, {"value" : "November"}, {"value" : "December"}
    ]};
}
function otciu_CLDRHelper_getShortMonthMap$$create() {
    return {"root": [{"value" : "M01"}, {"value" : "M02"}, {"value" : "M03"}, {"value" : "M04"}, {"value" : "M05"}, {"value" : "M06"}, {"value" : "M07"}, {"value" : "M08"}, {"value" : "M09"}, {"value" : "M10"}, {"value" : "M11"}, {"value" : "M12"}], "en": [{"value" : "Jan"}, {"value" : "Feb"}, {"value" : "Mar"}, {"value" : "Apr"}, {"value" : "May"}, {"value" : "Jun"}, {"value" : "Jul"}, {"value" : "Aug"}, {"value" : "Sep"}, {"value" : "Oct"}, {"value" : "Nov"}, {"value" : "Dec"}]};
}
function otciu_CLDRHelper_getWeekdayMap$$create() {
    return {"root": [{"value" : "Sun"}, {"value" : "Mon"}, {"value" : "Tue"}, {"value" : "Wed"}, {"value" : "Thu"}, {"value" : "Fri"}, {"value" : "Sat"}], "en": [{"value" : "Sunday"}, {"value" : "Monday"}, {"value" : "Tuesday"}, {"value" : "Wednesday"}, {"value" : "Thursday"}, {"value" : "Friday"}, {"value" : "Saturday"}]};
}
function otciu_CLDRHelper_getShortWeekdayMap$$create() {
    return {"root": [{"value" : "Sun"}, {"value" : "Mon"}, {"value" : "Tue"}, {"value" : "Wed"}, {"value" : "Thu"}, {"value" : "Fri"}, {"value" : "Sat"}], "en": [{"value" : "Sun"}, {"value" : "Mon"}, {"value" : "Tue"}, {"value" : "Wed"}, {"value" : "Thu"}, {"value" : "Fri"}, {"value" : "Sat"}]};
}
function otciu_CLDRHelper_getTimeZoneLocalizationMap$$create() {
    return {"root": {"timeZones" : {"Asia": {"Gaza": {"value" : "Gaza"}, "Makassar": {"value" : "Makassar"}, "Ulaanbaatar": {"value" : "Ulaanbaatar"}, "Vladivostok": {"value" : "Vladivostok"}, "Tashkent": {"value" : "Tashkent"}, "Beirut": {"value" : "Beirut"}, "Qyzylorda": {"value" : "Qyzylorda"}, "Hong_Kong": {"value" : "Hong Kong"}, "Phnom_Penh": {"value" : "Phnom Penh"}, "Kabul": {"value" : "Kabul"}, "Riyadh": {"value" : "Riyadh"}, "Ashgabat": {"value" : "Ashgabat"}, "Chita": {"value" : "Chita"}, "Aqtau":
    {"value" : "Aqtau"}, "Tokyo": {"value" : "Tokyo"}, "Baku": {"value" : "Baku"}, "Aqtobe": {"value" : "Aqtobe"}, "Novosibirsk": {"value" : "Novosibirsk"}, "Kamchatka": {"value" : "Kamchatka"}, "Nicosia": {"value" : "Nicosia"}, "Pontianak": {"value" : "Pontianak"}, "Qostanay": {"value" : "Qostanay"}, "Barnaul": {"value" : "Barnaul"}, "Jerusalem": {"value" : "Jerusalem"}, "Kuala_Lumpur": {"value" : "Kuala Lumpur"}, "Novokuznetsk": {"value" : "Novokuznetsk"}, "Bahrain": {"value" : "Bahrain"}, "Kuching": {"value"
    : "Kuching"}, "Bangkok": {"value" : "Bangkok"}, "Srednekolymsk": {"value" : "Srednekolymsk"}, "Karachi": {"value" : "Karachi"}, "Aden": {"value" : "Aden"}, "Irkutsk": {"value" : "Irkutsk"}, "Hovd": {"value" : "Hovd"}, "Katmandu": {"value" : "Kathmandu"}, "Baghdad": {"value" : "Baghdad"}, "Samarkand": {"value" : "Samarkand"}, "Thimphu": {"value" : "Thimphu"}, "Dhaka": {"value" : "Dhaka"}, "Yerevan": {"value" : "Yerevan"}, "Muscat": {"value" : "Muscat"}, "Saigon": {"value" : "Ho Chi Minh"}, "Dili": {"value"
    : "Dili"}, "Singapore": {"value" : "Singapore"}, "Rangoon": {"value" : "Yangon"}, "Damascus": {"value" : "Damascus"}, "Taipei": {"value" : "Taipei"}, "Amman": {"value" : "Amman"}, "Choibalsan": {"value" : "Choibalsan"}, "Macau": {"value" : "Macao"}, "Jayapura": {"value" : "Jayapura"}, "Manila": {"value" : "Manila"}, "Oral": {"value" : "Oral"}, "Dubai": {"value" : "Dubai"}, "Yakutsk": {"value" : "Yakutsk"}, "Seoul": {"value" : "Seoul"}, "Hebron": {"value" : "Hebron"}, "Qatar": {"value" : "Qatar"}, "Bishkek":
    {"value" : "Bishkek"}, "Tomsk": {"value" : "Tomsk"}, "Colombo": {"value" : "Colombo"}, "Khandyga": {"value" : "Khandyga"}, "Yekaterinburg": {"value" : "Yekaterinburg"}, "Dushanbe": {"value" : "Dushanbe"}, "Famagusta": {"value" : "Famagusta"}, "Kuwait": {"value" : "Kuwait"}, "Magadan": {"value" : "Magadan"}, "Pyongyang": {"value" : "Pyongyang"}, "Tehran": {"value" : "Tehran"}, "Sakhalin": {"value" : "Sakhalin"}, "Calcutta": {"value" : "Kolkata"}, "Urumqi": {"value" : "Urumqi"}, "Shanghai": {"value" : "Shanghai"}
    , "Atyrau": {"value" : "Atyrau"}, "Almaty": {"value" : "Almaty"}, "Tbilisi": {"value" : "Tbilisi"}, "Anadyr": {"value" : "Anadyr"}, "Brunei": {"value" : "Brunei"}, "Krasnoyarsk": {"value" : "Krasnoyarsk"}, "Vientiane": {"value" : "Vientiane"}, "Omsk": {"value" : "Omsk"}, "Jakarta": {"value" : "Jakarta"}, "Ust-Nera": {"value" : "Ust-Nera"}}, "Pacific": {"Easter": {"value" : "Easter"}, "Fiji": {"value" : "Fiji"}, "Port_Moresby": {"value" : "Port Moresby"}, "Kiritimati": {"value" : "Kiritimati"}, "Kosrae":
    {"value" : "Kosrae"}, "Kwajalein": {"value" : "Kwajalein"}, "Auckland": {"value" : "Auckland"}, "Efate": {"value" : "Efate"}, "Johnston": {"value" : "Johnston"}, "Niue": {"value" : "Niue"}, "Majuro": {"value" : "Majuro"}, "Truk": {"value" : "Chuuk"}, "Ponape": {"value" : "Pohnpei"}, "Guadalcanal": {"value" : "Guadalcanal"}, "Guam": {"value" : "Guam"}, "Chatham": {"value" : "Chatham"}, "Midway": {"value" : "Midway"}, "Tahiti": {"value" : "Tahiti"}, "Pago_Pago": {"value" : "Pago Pago"}, "Galapagos": {"value"
    : "Galapagos"}, "Funafuti": {"value" : "Funafuti"}, "Marquesas": {"value" : "Marquesas"}, "Rarotonga": {"value" : "Rarotonga"}, "Tarawa": {"value" : "Tarawa"}, "Saipan": {"value" : "Saipan"}, "Gambier": {"value" : "Gambier"}, "Tongatapu": {"value" : "Tongatapu"}, "Wallis": {"value" : "Wallis"}, "Fakaofo": {"value" : "Fakaofo"}, "Wake": {"value" : "Wake"}, "Enderbury": {"value" : "Enderbury"}, "Pitcairn": {"value" : "Pitcairn"}, "Apia": {"value" : "Apia"}, "Noumea": {"value" : "Noumea"}, "Palau": {"value"
    : "Palau"}, "Nauru": {"value" : "Nauru"}, "Bougainville": {"value" : "Bougainville"}, "Norfolk": {"value" : "Norfolk"}}, "Etc": {"Unknown": {"value" : "Unknown"}}, "Europe": {"Belgrade": {"value" : "Belgrade"}, "Saratov": {"value" : "Saratov"}, "Gibraltar": {"value" : "Gibraltar"}, "Bucharest": {"value" : "Bucharest"}, "Dublin": {"value" : "Dublin"}, "Zaporozhye": {"value" : "Zaporozhye"}, "Kiev": {"value" : "Kiev"}, "Zurich": {"value" : "Zurich"}, "Copenhagen": {"value" : "Copenhagen"}, "Rome": {"value"
    : "Rome"}, "Zagreb": {"value" : "Zagreb"}, "Monaco": {"value" : "Monaco"}, "Luxembourg": {"value" : "Luxembourg"}, "Jersey": {"value" : "Jersey"}, "Istanbul": {"value" : "Istanbul"}, "Ulyanovsk": {"value" : "Ulyanovsk"}, "Samara": {"value" : "Samara"}, "Sarajevo": {"value" : "Sarajevo"}, "Chisinau": {"value" : "Chisinau"}, "Vatican": {"value" : "Vatican"}, "Brussels": {"value" : "Brussels"}, "Oslo": {"value" : "Oslo"}, "Warsaw": {"value" : "Warsaw"}, "Berlin": {"value" : "Berlin"}, "Lisbon": {"value" : "Lisbon"}
    , "Athens": {"value" : "Athens"}, "Podgorica": {"value" : "Podgorica"}, "San_Marino": {"value" : "San Marino"}, "Simferopol": {"value" : "Simferopol"}, "Bratislava": {"value" : "Bratislava"}, "Stockholm": {"value" : "Stockholm"}, "Prague": {"value" : "Prague"}, "Uzhgorod": {"value" : "Uzhgorod"}, "Astrakhan": {"value" : "Astrakhan"}, "Budapest": {"value" : "Budapest"}, "Madrid": {"value" : "Madrid"}, "Vaduz": {"value" : "Vaduz"}, "London": {"value" : "London"}, "Vilnius": {"value" : "Vilnius"}, "Isle_of_Man":
    {"value" : "Isle of Man"}, "Sofia": {"value" : "Sofia"}, "Kirov": {"value" : "Kirov"}, "Tallinn": {"value" : "Tallinn"}, "Moscow": {"value" : "Moscow"}, "Malta": {"value" : "Malta"}, "Busingen": {"value" : "Busingen"}, "Amsterdam": {"value" : "Amsterdam"}, "Andorra": {"value" : "Andorra"}, "Riga": {"value" : "Riga"}, "Vienna": {"value" : "Vienna"}, "Helsinki": {"value" : "Helsinki"}, "Minsk": {"value" : "Minsk"}, "Kaliningrad": {"value" : "Kaliningrad"}, "Ljubljana": {"value" : "Ljubljana"}, "Mariehamn":
    {"value" : "Mariehamn"}, "Skopje": {"value" : "Skopje"}, "Tirane": {"value" : "Tirane"}, "Guernsey": {"value" : "Guernsey"}, "Volgograd": {"value" : "Volgograd"}, "Paris": {"value" : "Paris"}}, "America": {"Belem": {"value" : "Belem"}, "Guayaquil": {"value" : "Guayaquil"}, "Costa_Rica": {"value" : "Costa Rica"}, "Hermosillo": {"value" : "Hermosillo"}, "Punta_Arenas": {"value" : "Punta Arenas"}, "Iqaluit": {"value" : "Iqaluit"}, "Godthab": {"value" : "Nuuk"}, "Jujuy": {"value" : "Jujuy"}, "El_Salvador": {"value"
    : "El Salvador"}, "Monterrey": {"value" : "Monterrey"}, "Bahia": {"value" : "Bahia"}, "Sao_Paulo": {"value" : "Sao Paulo"}, "Grenada": {"value" : "Grenada"}, "Grand_Turk": {"value" : "Grand Turk"}, "Montserrat": {"value" : "Montserrat"}, "Guadeloupe": {"value" : "Guadeloupe"}, "Panama": {"value" : "Panama"}, "Guatemala": {"value" : "Guatemala"}, "Guyana": {"value" : "Guyana"}, "Swift_Current": {"value" : "Swift Current"}, "Puerto_Rico": {"value" : "Puerto Rico"}, "Moncton": {"value" : "Moncton"}, "Danmarkshavn":
    {"value" : "Danmarkshavn"}, "Nome": {"value" : "Nome"}, "Porto_Velho": {"value" : "Porto Velho"}, "Cuiaba": {"value" : "Cuiaba"}, "Pangnirtung": {"value" : "Pangnirtung"}, "Kralendijk": {"value" : "Kralendijk"}, "Belize": {"value" : "Belize"}, "Anguilla": {"value" : "Anguilla"}, "Santiago": {"value" : "Santiago"}, "Boise": {"value" : "Boise"}, "Creston": {"value" : "Creston"}, "Miquelon": {"value" : "Miquelon"}, "Jamaica": {"value" : "Jamaica"}, "Buenos_Aires": {"value" : "Buenos Aires"}, "Rankin_Inlet":
    {"value" : "Rankin Inlet"}, "Toronto": {"value" : "Toronto"}, "Eirunepe": {"value" : "Eirunepe"}, "Dawson": {"value" : "Dawson"}, "Nassau": {"value" : "Nassau"}, "Vancouver": {"value" : "Vancouver"}, "Noronha": {"value" : "Noronha"}, "Regina": {"value" : "Regina"}, "St_Vincent": {"value" : "St. Vincent"}, "Scoresbysund": {"value" : "Ittoqqortoormiit"}, "Louisville": {"value" : "Louisville"}, "Aruba": {"value" : "Aruba"}, "Thule": {"value" : "Thule"}, "Rio_Branco": {"value" : "Rio Branco"}, "Los_Angeles":
    {"value" : "Los Angeles"}, "St_Thomas": {"value" : "St. Thomas"}, "Cordoba": {"value" : "Cordoba"}, "Cancun": {"value" : "Cancun"}, "Coral_Harbour": {"value" : "Atikokan"}, "Maceio": {"value" : "Maceio"}, "Sitka": {"value" : "Sitka"}, "Denver": {"value" : "Denver"}, "Cayman": {"value" : "Cayman"}, "Nipigon": {"value" : "Nipigon"}, "Thunder_Bay": {"value" : "Thunder Bay"}, "Havana": {"value" : "Havana"}, "Campo_Grande": {"value" : "Campo Grande"}, "Cambridge_Bay": {"value" : "Cambridge Bay"}, "Fortaleza":
    {"value" : "Fortaleza"}, "Managua": {"value" : "Managua"}, "Menominee": {"value" : "Menominee"}, "Halifax": {"value" : "Halifax"}, "Ojinaga": {"value" : "Ojinaga"}, "Glace_Bay": {"value" : "Glace Bay"}, "Lower_Princes": {"value" : "Lower Princeâ€™s Quarter"}, "Mendoza": {"value" : "Mendoza"}, "Yakutat": {"value" : "Yakutat"}, "Detroit": {"value" : "Detroit"}, "Merida": {"value" : "Merida"}, "Bahia_Banderas": {"value" : "Bahia Banderas"}, "Matamoros": {"value" : "Matamoros"}, "St_Barthelemy": {"value" : "St. Barthelemy"}
    , "Boa_Vista": {"value" : "Boa Vista"}, "Metlakatla": {"value" : "Metlakatla"}, "Tortola": {"value" : "Tortola"}, "Inuvik": {"value" : "Inuvik"}, "Port_of_Spain": {"value" : "Port of Spain"}, "New_York": {"value" : "New York"}, "Paramaribo": {"value" : "Paramaribo"}, "Manaus": {"value" : "Manaus"}, "Resolute": {"value" : "Resolute"}, "Curacao": {"value" : "Curacao"}, "Bogota": {"value" : "Bogota"}, "Adak": {"value" : "Adak"}, "Caracas": {"value" : "Caracas"}, "Mazatlan": {"value" : "Mazatlan"}, "St_Kitts":
    {"value" : "St. Kitts"}, "Mexico_City": {"value" : "Mexico City"}, "Edmonton": {"value" : "Edmonton"}, "Araguaina": {"value" : "Araguaina"}, "Santo_Domingo": {"value" : "Santo Domingo"}, "Indianapolis": {"value" : "Indianapolis"}, "Whitehorse": {"value" : "Whitehorse"}, "Yellowknife": {"value" : "Yellowknife"}, "Asuncion": {"value" : "Asuncion"}, "Santarem": {"value" : "Santarem"}, "Antigua": {"value" : "Antigua"}, "Winnipeg": {"value" : "Winnipeg"}, "Recife": {"value" : "Recife"}, "Lima": {"value" : "Lima"}
    , "Martinique": {"value" : "Martinique"}, "Phoenix": {"value" : "Phoenix"}, "Goose_Bay": {"value" : "Goose Bay"}, "St_Johns": {"value" : "St. Johnâ€™s"}, "Montevideo": {"value" : "Montevideo"}, "St_Lucia": {"value" : "St. Lucia"}, "Chicago": {"value" : "Chicago"}, "Chihuahua": {"value" : "Chihuahua"}, "La_Paz": {"value" : "La Paz"}, "Blanc-Sablon": {"value" : "Blanc-Sablon"}, "Catamarca": {"value" : "Catamarca"}, "Tijuana": {"value" : "Tijuana"}, "Barbados": {"value" : "Barbados"}, "Anchorage": {"value"
    : "Anchorage"}, "Port-au-Prince": {"value" : "Port-au-Prince"}, "Rainy_River": {"value" : "Rainy River"}, "Cayenne": {"value" : "Cayenne"}, "Tegucigalpa": {"value" : "Tegucigalpa"}, "Juneau": {"value" : "Juneau"}, "Marigot": {"value" : "Marigot"}, "Dawson_Creek": {"value" : "Dawson Creek"}, "Dominica": {"value" : "Dominica"}, "Fort_Nelson": {"value" : "Fort Nelson"}}, "Africa": {"Tunis": {"value" : "Tunis"}, "Maputo": {"value" : "Maputo"}, "Casablanca": {"value" : "Casablanca"}, "Johannesburg": {"value"
    : "Johannesburg"}, "Addis_Ababa": {"value" : "Addis Ababa"}, "Lagos": {"value" : "Lagos"}, "Accra": {"value" : "Accra"}, "Nairobi": {"value" : "Nairobi"}, "Brazzaville": {"value" : "Brazzaville"}, "Lubumbashi": {"value" : "Lubumbashi"}, "Banjul": {"value" : "Banjul"}, "Porto-Novo": {"value" : "Porto-Novo"}, "Lusaka": {"value" : "Lusaka"}, "Kigali": {"value" : "Kigali"}, "Ouagadougou": {"value" : "Ouagadougou"}, "Freetown": {"value" : "Freetown"}, "Ndjamena": {"value" : "Ndjamena"}, "Conakry": {"value" :
    "Conakry"}, "Niamey": {"value" : "Niamey"}, "Maseru": {"value" : "Maseru"}, "El_Aaiun": {"value" : "El Aaiun"}, "Sao_Tome": {"value" : "Sao Tome"}, "Ceuta": {"value" : "Ceuta"}, "Khartoum": {"value" : "Khartoum"}, "Algiers": {"value" : "Algiers"}, "Bangui": {"value" : "Bangui"}, "Bujumbura": {"value" : "Bujumbura"}, "Gaborone": {"value" : "Gaborone"}, "Juba": {"value" : "Juba"}, "Dar_es_Salaam": {"value" : "Dar es Salaam"}, "Windhoek": {"value" : "Windhoek"}, "Harare": {"value" : "Harare"}, "Tripoli": {"value"
    : "Tripoli"}, "Libreville": {"value" : "Libreville"}, "Malabo": {"value" : "Malabo"}, "Abidjan": {"value" : "Abidjan"}, "Luanda": {"value" : "Luanda"}, "Lome": {"value" : "Lome"}, "Nouakchott": {"value" : "Nouakchott"}, "Bissau": {"value" : "Bissau"}, "Kinshasa": {"value" : "Kinshasa"}, "Asmera": {"value" : "Asmara"}, "Mogadishu": {"value" : "Mogadishu"}, "Djibouti": {"value" : "Djibouti"}, "Douala": {"value" : "Douala"}, "Kampala": {"value" : "Kampala"}, "Dakar": {"value" : "Dakar"}, "Cairo": {"value" :
    "Cairo"}, "Blantyre": {"value" : "Blantyre"}, "Monrovia": {"value" : "Monrovia"}, "Mbabane": {"value" : "Mbabane"}, "Bamako": {"value" : "Bamako"}}, "Indian": {"Reunion": {"value" : "Reunion"}, "Maldives": {"value" : "Maldives"}, "Christmas": {"value" : "Christmas"}, "Antananarivo": {"value" : "Antananarivo"}, "Chagos": {"value" : "Chagos"}, "Mahe": {"value" : "Mahe"}, "Mayotte": {"value" : "Mayotte"}, "Kerguelen": {"value" : "Kerguelen"}, "Mauritius": {"value" : "Mauritius"}, "Cocos": {"value" : "Cocos"}
    , "Comoro": {"value" : "Comoro"}}, "Antarctica": {"Macquarie": {"value" : "Macquarie"}, "Palmer": {"value" : "Palmer"}, "Casey": {"value" : "Casey"}, "Troll": {"value" : "Troll"}, "Vostok": {"value" : "Vostok"}, "DumontDUrville": {"value" : "Dumont dâ€™Urville"}, "Syowa": {"value" : "Syowa"}, "Mawson": {"value" : "Mawson"}, "McMurdo": {"value" : "McMurdo"}, "Davis": {"value" : "Davis"}, "Rothera": {"value" : "Rothera"}}, "Australia": {"Broken_Hill": {"value" : "Broken Hill"}, "Darwin": {"value" : "Darwin"}
    , "Brisbane": {"value" : "Brisbane"}, "Currie": {"value" : "Currie"}, "Lord_Howe": {"value" : "Lord Howe"}, "Lindeman": {"value" : "Lindeman"}, "Adelaide": {"value" : "Adelaide"}, "Perth": {"value" : "Perth"}, "Eucla": {"value" : "Eucla"}, "Melbourne": {"value" : "Melbourne"}, "Sydney": {"value" : "Sydney"}, "Hobart": {"value" : "Hobart"}}, "Arctic": {"Longyearbyen": {"value" : "Longyearbyen"}}, "Atlantic": {"St_Helena": {"value" : "St. Helena"}, "Reykjavik": {"value" : "Reykjavik"}, "Stanley": {"value"
    : "Stanley"}, "Madeira": {"value" : "Madeira"}, "Canary": {"value" : "Canary"}, "Faeroe": {"value" : "Faroe"}, "Bermuda": {"value" : "Bermuda"}, "Azores": {"value" : "Azores"}, "South_Georgia": {"value" : "South Georgia"}, "Cape_Verde": {"value" : "Cape Verde"}}}}, "en": {"timeZones" : {"Asia": {"Gaza": {"value" : "Gaza"}, "Makassar": {"value" : "Makassar"}, "Ulaanbaatar": {"value" : "Ulaanbaatar"}, "Vladivostok": {"value" : "Vladivostok"}, "Tashkent": {"value" : "Tashkent"}, "Beirut": {"value" : "Beirut"}
    , "Qyzylorda": {"value" : "Qyzylorda"}, "Hong_Kong": {"value" : "Hong Kong"}, "Phnom_Penh": {"value" : "Phnom Penh"}, "Kabul": {"value" : "Kabul"}, "Riyadh": {"value" : "Riyadh"}, "Ashgabat": {"value" : "Ashgabat"}, "Chita": {"value" : "Chita"}, "Aqtau": {"value" : "Aqtau"}, "Tokyo": {"value" : "Tokyo"}, "Baku": {"value" : "Baku"}, "Aqtobe": {"value" : "Aqtobe"}, "Novosibirsk": {"value" : "Novosibirsk"}, "Kamchatka": {"value" : "Kamchatka"}, "Nicosia": {"value" : "Nicosia"}, "Pontianak": {"value" : "Pontianak"}
    , "Qostanay": {"value" : "Kostanay"}, "Barnaul": {"value" : "Barnaul"}, "Jerusalem": {"value" : "Jerusalem"}, "Kuala_Lumpur": {"value" : "Kuala Lumpur"}, "Novokuznetsk": {"value" : "Novokuznetsk"}, "Bahrain": {"value" : "Bahrain"}, "Kuching": {"value" : "Kuching"}, "Bangkok": {"value" : "Bangkok"}, "Srednekolymsk": {"value" : "Srednekolymsk"}, "Karachi": {"value" : "Karachi"}, "Aden": {"value" : "Aden"}, "Irkutsk": {"value" : "Irkutsk"}, "Hovd": {"value" : "Hovd"}, "Katmandu": {"value" : "Kathmandu"}, "Baghdad":
    {"value" : "Baghdad"}, "Samarkand": {"value" : "Samarkand"}, "Thimphu": {"value" : "Thimphu"}, "Dhaka": {"value" : "Dhaka"}, "Yerevan": {"value" : "Yerevan"}, "Muscat": {"value" : "Muscat"}, "Saigon": {"value" : "Ho Chi Minh City"}, "Dili": {"value" : "Dili"}, "Singapore": {"value" : "Singapore"}, "Rangoon": {"value" : "Yangon"}, "Damascus": {"value" : "Damascus"}, "Taipei": {"value" : "Taipei"}, "Amman": {"value" : "Amman"}, "Choibalsan": {"value" : "Choibalsan"}, "Macau": {"value" : "Macao"}, "Jayapura":
    {"value" : "Jayapura"}, "Manila": {"value" : "Manila"}, "Oral": {"value" : "Oral"}, "Dubai": {"value" : "Dubai"}, "Yakutsk": {"value" : "Yakutsk"}, "Seoul": {"value" : "Seoul"}, "Hebron": {"value" : "Hebron"}, "Qatar": {"value" : "Qatar"}, "Bishkek": {"value" : "Bishkek"}, "Tomsk": {"value" : "Tomsk"}, "Colombo": {"value" : "Colombo"}, "Khandyga": {"value" : "Khandyga"}, "Yekaterinburg": {"value" : "Yekaterinburg"}, "Dushanbe": {"value" : "Dushanbe"}, "Famagusta": {"value" : "Famagusta"}, "Kuwait": {"value"
    : "Kuwait"}, "Magadan": {"value" : "Magadan"}, "Pyongyang": {"value" : "Pyongyang"}, "Tehran": {"value" : "Tehran"}, "Sakhalin": {"value" : "Sakhalin"}, "Calcutta": {"value" : "Kolkata"}, "Urumqi": {"value" : "Urumqi"}, "Shanghai": {"value" : "Shanghai"}, "Atyrau": {"value" : "Atyrau"}, "Almaty": {"value" : "Almaty"}, "Tbilisi": {"value" : "Tbilisi"}, "Anadyr": {"value" : "Anadyr"}, "Brunei": {"value" : "Brunei"}, "Krasnoyarsk": {"value" : "Krasnoyarsk"}, "Vientiane": {"value" : "Vientiane"}, "Omsk": {"value"
    : "Omsk"}, "Jakarta": {"value" : "Jakarta"}, "Ust-Nera": {"value" : "Ust-Nera"}}, "Pacific": {"Easter": {"value" : "Easter"}, "Fiji": {"value" : "Fiji"}, "Port_Moresby": {"value" : "Port Moresby"}, "Kiritimati": {"value" : "Kiritimati"}, "Kosrae": {"value" : "Kosrae"}, "Kwajalein": {"value" : "Kwajalein"}, "Auckland": {"value" : "Auckland"}, "Efate": {"value" : "Efate"}, "Johnston": {"value" : "Johnston"}, "Niue": {"value" : "Niue"}, "Majuro": {"value" : "Majuro"}, "Truk": {"value" : "Chuuk"}, "Ponape":
    {"value" : "Pohnpei"}, "Guadalcanal": {"value" : "Guadalcanal"}, "Guam": {"value" : "Guam"}, "Chatham": {"value" : "Chatham"}, "Midway": {"value" : "Midway"}, "Tahiti": {"value" : "Tahiti"}, "Pago_Pago": {"value" : "Pago Pago"}, "Galapagos": {"value" : "Galapagos"}, "Funafuti": {"value" : "Funafuti"}, "Marquesas": {"value" : "Marquesas"}, "Rarotonga": {"value" : "Rarotonga"}, "Tarawa": {"value" : "Tarawa"}, "Saipan": {"value" : "Saipan"}, "Gambier": {"value" : "Gambier"}, "Tongatapu": {"value" : "Tongatapu"}
    , "Wallis": {"value" : "Wallis"}, "Fakaofo": {"value" : "Fakaofo"}, "Wake": {"value" : "Wake"}, "Enderbury": {"value" : "Enderbury"}, "Pitcairn": {"value" : "Pitcairn"}, "Apia": {"value" : "Apia"}, "Noumea": {"value" : "Noumea"}, "Palau": {"value" : "Palau"}, "Nauru": {"value" : "Nauru"}, "Bougainville": {"value" : "Bougainville"}, "Norfolk": {"value" : "Norfolk"}}, "Etc": {"Unknown": {"value" : "Unknown City"}}, "Europe": {"Belgrade": {"value" : "Belgrade"}, "Saratov": {"value" : "Saratov"}, "Gibraltar":
    {"value" : "Gibraltar"}, "Bucharest": {"value" : "Bucharest"}, "Dublin": {"value" : "Dublin"}, "Zaporozhye": {"value" : "Zaporozhye"}, "Kiev": {"value" : "Kiev"}, "Zurich": {"value" : "Zurich"}, "Copenhagen": {"value" : "Copenhagen"}, "Rome": {"value" : "Rome"}, "Zagreb": {"value" : "Zagreb"}, "Monaco": {"value" : "Monaco"}, "Luxembourg": {"value" : "Luxembourg"}, "Jersey": {"value" : "Jersey"}, "Istanbul": {"value" : "Istanbul"}, "Ulyanovsk": {"value" : "Ulyanovsk"}, "Samara": {"value" : "Samara"}, "Sarajevo":
    {"value" : "Sarajevo"}, "Chisinau": {"value" : "Chisinau"}, "Vatican": {"value" : "Vatican"}, "Brussels": {"value" : "Brussels"}, "Oslo": {"value" : "Oslo"}, "Warsaw": {"value" : "Warsaw"}, "Berlin": {"value" : "Berlin"}, "Lisbon": {"value" : "Lisbon"}, "Athens": {"value" : "Athens"}, "Podgorica": {"value" : "Podgorica"}, "San_Marino": {"value" : "San Marino"}, "Simferopol": {"value" : "Simferopol"}, "Bratislava": {"value" : "Bratislava"}, "Stockholm": {"value" : "Stockholm"}, "Prague": {"value" : "Prague"}
    , "Uzhgorod": {"value" : "Uzhhorod"}, "Astrakhan": {"value" : "Astrakhan"}, "Budapest": {"value" : "Budapest"}, "Madrid": {"value" : "Madrid"}, "Vaduz": {"value" : "Vaduz"}, "London": {"value" : "London"}, "Vilnius": {"value" : "Vilnius"}, "Isle_of_Man": {"value" : "Isle of Man"}, "Sofia": {"value" : "Sofia"}, "Kirov": {"value" : "Kirov"}, "Tallinn": {"value" : "Tallinn"}, "Moscow": {"value" : "Moscow"}, "Malta": {"value" : "Malta"}, "Busingen": {"value" : "Busingen"}, "Amsterdam": {"value" : "Amsterdam"}
    , "Andorra": {"value" : "Andorra"}, "Riga": {"value" : "Riga"}, "Vienna": {"value" : "Vienna"}, "Helsinki": {"value" : "Helsinki"}, "Minsk": {"value" : "Minsk"}, "Kaliningrad": {"value" : "Kaliningrad"}, "Ljubljana": {"value" : "Ljubljana"}, "Mariehamn": {"value" : "Mariehamn"}, "Skopje": {"value" : "Skopje"}, "Tirane": {"value" : "Tirane"}, "Guernsey": {"value" : "Guernsey"}, "Volgograd": {"value" : "Volgograd"}, "Paris": {"value" : "Paris"}}, "America": {"Belem": {"value" : "Belem"}, "Guayaquil": {"value"
    : "Guayaquil"}, "Costa_Rica": {"value" : "Costa Rica"}, "Hermosillo": {"value" : "Hermosillo"}, "Punta_Arenas": {"value" : "Punta Arenas"}, "Iqaluit": {"value" : "Iqaluit"}, "Godthab": {"value" : "Nuuk"}, "Jujuy": {"value" : "Jujuy"}, "El_Salvador": {"value" : "El Salvador"}, "Monterrey": {"value" : "Monterrey"}, "Bahia": {"value" : "Bahia"}, "Sao_Paulo": {"value" : "Sao Paulo"}, "Grenada": {"value" : "Grenada"}, "Grand_Turk": {"value" : "Grand Turk"}, "Montserrat": {"value" : "Montserrat"}, "Guadeloupe":
    {"value" : "Guadeloupe"}, "Panama": {"value" : "Panama"}, "Guatemala": {"value" : "Guatemala"}, "Guyana": {"value" : "Guyana"}, "Swift_Current": {"value" : "Swift Current"}, "Puerto_Rico": {"value" : "Puerto Rico"}, "Moncton": {"value" : "Moncton"}, "Danmarkshavn": {"value" : "Danmarkshavn"}, "Nome": {"value" : "Nome"}, "Porto_Velho": {"value" : "Porto Velho"}, "Cuiaba": {"value" : "Cuiaba"}, "Pangnirtung": {"value" : "Pangnirtung"}, "Kralendijk": {"value" : "Kralendijk"}, "Belize": {"value" : "Belize"}
    , "Anguilla": {"value" : "Anguilla"}, "Santiago": {"value" : "Santiago"}, "Boise": {"value" : "Boise"}, "Creston": {"value" : "Creston"}, "Miquelon": {"value" : "Miquelon"}, "Jamaica": {"value" : "Jamaica"}, "Buenos_Aires": {"value" : "Buenos Aires"}, "Rankin_Inlet": {"value" : "Rankin Inlet"}, "Toronto": {"value" : "Toronto"}, "Eirunepe": {"value" : "Eirunepe"}, "Dawson": {"value" : "Dawson"}, "Nassau": {"value" : "Nassau"}, "Vancouver": {"value" : "Vancouver"}, "Noronha": {"value" : "Noronha"}, "Regina":
    {"value" : "Regina"}, "St_Vincent": {"value" : "St. Vincent"}, "Scoresbysund": {"value" : "Ittoqqortoormiit"}, "Louisville": {"value" : "Louisville"}, "Aruba": {"value" : "Aruba"}, "Thule": {"value" : "Thule"}, "Rio_Branco": {"value" : "Rio Branco"}, "Los_Angeles": {"value" : "Los Angeles"}, "St_Thomas": {"value" : "St. Thomas"}, "Cordoba": {"value" : "Cordoba"}, "Cancun": {"value" : "Cancun"}, "Coral_Harbour": {"value" : "Atikokan"}, "Maceio": {"value" : "Maceio"}, "Sitka": {"value" : "Sitka"}, "Denver":
    {"value" : "Denver"}, "Cayman": {"value" : "Cayman"}, "Nipigon": {"value" : "Nipigon"}, "Thunder_Bay": {"value" : "Thunder Bay"}, "Havana": {"value" : "Havana"}, "Campo_Grande": {"value" : "Campo Grande"}, "Cambridge_Bay": {"value" : "Cambridge Bay"}, "Fortaleza": {"value" : "Fortaleza"}, "Managua": {"value" : "Managua"}, "Menominee": {"value" : "Menominee"}, "Halifax": {"value" : "Halifax"}, "Ojinaga": {"value" : "Ojinaga"}, "Glace_Bay": {"value" : "Glace Bay"}, "Lower_Princes": {"value" : "Lower Princeâ€™s Quarter"}
    , "Mendoza": {"value" : "Mendoza"}, "Yakutat": {"value" : "Yakutat"}, "Detroit": {"value" : "Detroit"}, "Merida": {"value" : "Merida"}, "Bahia_Banderas": {"value" : "Bahia Banderas"}, "Matamoros": {"value" : "Matamoros"}, "St_Barthelemy": {"value" : "St. BarthÃ©lemy"}, "Boa_Vista": {"value" : "Boa Vista"}, "Metlakatla": {"value" : "Metlakatla"}, "Tortola": {"value" : "Tortola"}, "Inuvik": {"value" : "Inuvik"}, "Port_of_Spain": {"value" : "Port of Spain"}, "New_York": {"value" : "New York"}, "Paramaribo":
    {"value" : "Paramaribo"}, "Manaus": {"value" : "Manaus"}, "Resolute": {"value" : "Resolute"}, "Curacao": {"value" : "CuraÃ§ao"}, "Bogota": {"value" : "Bogota"}, "Adak": {"value" : "Adak"}, "Caracas": {"value" : "Caracas"}, "Mazatlan": {"value" : "Mazatlan"}, "St_Kitts": {"value" : "St. Kitts"}, "Mexico_City": {"value" : "Mexico City"}, "Edmonton": {"value" : "Edmonton"}, "Araguaina": {"value" : "Araguaina"}, "Santo_Domingo": {"value" : "Santo Domingo"}, "Indianapolis": {"value" : "Indianapolis"}, "Whitehorse":
    {"value" : "Whitehorse"}, "Yellowknife": {"value" : "Yellowknife"}, "Asuncion": {"value" : "AsunciÃ³n"}, "Santarem": {"value" : "Santarem"}, "Antigua": {"value" : "Antigua"}, "Winnipeg": {"value" : "Winnipeg"}, "Recife": {"value" : "Recife"}, "Lima": {"value" : "Lima"}, "Martinique": {"value" : "Martinique"}, "Phoenix": {"value" : "Phoenix"}, "Goose_Bay": {"value" : "Goose Bay"}, "St_Johns": {"value" : "St. Johnâ€™s"}, "Montevideo": {"value" : "Montevideo"}, "St_Lucia": {"value" : "St. Lucia"}, "Chicago":
    {"value" : "Chicago"}, "Chihuahua": {"value" : "Chihuahua"}, "La_Paz": {"value" : "La Paz"}, "Blanc-Sablon": {"value" : "Blanc-Sablon"}, "Catamarca": {"value" : "Catamarca"}, "Tijuana": {"value" : "Tijuana"}, "Barbados": {"value" : "Barbados"}, "Anchorage": {"value" : "Anchorage"}, "Port-au-Prince": {"value" : "Port-au-Prince"}, "Rainy_River": {"value" : "Rainy River"}, "Cayenne": {"value" : "Cayenne"}, "Tegucigalpa": {"value" : "Tegucigalpa"}, "Juneau": {"value" : "Juneau"}, "Marigot": {"value" : "Marigot"}
    , "Dawson_Creek": {"value" : "Dawson Creek"}, "Dominica": {"value" : "Dominica"}, "Fort_Nelson": {"value" : "Fort Nelson"}}, "Africa": {"Tunis": {"value" : "Tunis"}, "Maputo": {"value" : "Maputo"}, "Casablanca": {"value" : "Casablanca"}, "Johannesburg": {"value" : "Johannesburg"}, "Addis_Ababa": {"value" : "Addis Ababa"}, "Lagos": {"value" : "Lagos"}, "Accra": {"value" : "Accra"}, "Nairobi": {"value" : "Nairobi"}, "Brazzaville": {"value" : "Brazzaville"}, "Lubumbashi": {"value" : "Lubumbashi"}, "Banjul":
    {"value" : "Banjul"}, "Porto-Novo": {"value" : "Porto-Novo"}, "Lusaka": {"value" : "Lusaka"}, "Kigali": {"value" : "Kigali"}, "Ouagadougou": {"value" : "Ouagadougou"}, "Freetown": {"value" : "Freetown"}, "Ndjamena": {"value" : "Ndjamena"}, "Conakry": {"value" : "Conakry"}, "Niamey": {"value" : "Niamey"}, "Maseru": {"value" : "Maseru"}, "El_Aaiun": {"value" : "El Aaiun"}, "Sao_Tome": {"value" : "SÃ£o TomÃ©"}, "Ceuta": {"value" : "Ceuta"}, "Khartoum": {"value" : "Khartoum"}, "Algiers": {"value" : "Algiers"}
    , "Bangui": {"value" : "Bangui"}, "Bujumbura": {"value" : "Bujumbura"}, "Gaborone": {"value" : "Gaborone"}, "Juba": {"value" : "Juba"}, "Dar_es_Salaam": {"value" : "Dar es Salaam"}, "Windhoek": {"value" : "Windhoek"}, "Harare": {"value" : "Harare"}, "Tripoli": {"value" : "Tripoli"}, "Libreville": {"value" : "Libreville"}, "Malabo": {"value" : "Malabo"}, "Abidjan": {"value" : "Abidjan"}, "Luanda": {"value" : "Luanda"}, "Lome": {"value" : "Lome"}, "Nouakchott": {"value" : "Nouakchott"}, "Bissau": {"value"
    : "Bissau"}, "Kinshasa": {"value" : "Kinshasa"}, "Asmera": {"value" : "Asmara"}, "Mogadishu": {"value" : "Mogadishu"}, "Djibouti": {"value" : "Djibouti"}, "Douala": {"value" : "Douala"}, "Kampala": {"value" : "Kampala"}, "Dakar": {"value" : "Dakar"}, "Cairo": {"value" : "Cairo"}, "Blantyre": {"value" : "Blantyre"}, "Monrovia": {"value" : "Monrovia"}, "Mbabane": {"value" : "Mbabane"}, "Bamako": {"value" : "Bamako"}}, "Indian": {"Reunion": {"value" : "RÃ©union"}, "Maldives": {"value" : "Maldives"}, "Christmas":
    {"value" : "Christmas"}, "Antananarivo": {"value" : "Antananarivo"}, "Chagos": {"value" : "Chagos"}, "Mahe": {"value" : "Mahe"}, "Mayotte": {"value" : "Mayotte"}, "Kerguelen": {"value" : "Kerguelen"}, "Mauritius": {"value" : "Mauritius"}, "Cocos": {"value" : "Cocos"}, "Comoro": {"value" : "Comoro"}}, "Antarctica": {"Macquarie": {"value" : "Macquarie"}, "Palmer": {"value" : "Palmer"}, "Casey": {"value" : "Casey"}, "Troll": {"value" : "Troll"}, "Vostok": {"value" : "Vostok"}, "DumontDUrville": {"value" : "Dumont dâ€™Urville"}
    , "Syowa": {"value" : "Syowa"}, "Mawson": {"value" : "Mawson"}, "McMurdo": {"value" : "McMurdo"}, "Davis": {"value" : "Davis"}, "Rothera": {"value" : "Rothera"}}, "Australia": {"Broken_Hill": {"value" : "Broken Hill"}, "Darwin": {"value" : "Darwin"}, "Brisbane": {"value" : "Brisbane"}, "Currie": {"value" : "Currie"}, "Lord_Howe": {"value" : "Lord Howe"}, "Lindeman": {"value" : "Lindeman"}, "Adelaide": {"value" : "Adelaide"}, "Perth": {"value" : "Perth"}, "Eucla": {"value" : "Eucla"}, "Melbourne": {"value"
    : "Melbourne"}, "Sydney": {"value" : "Sydney"}, "Hobart": {"value" : "Hobart"}}, "Arctic": {"Longyearbyen": {"value" : "Longyearbyen"}}, "Atlantic": {"St_Helena": {"value" : "St. Helena"}, "Reykjavik": {"value" : "Reykjavik"}, "Stanley": {"value" : "Stanley"}, "Madeira": {"value" : "Madeira"}, "Canary": {"value" : "Canary"}, "Faeroe": {"value" : "Faroe"}, "Bermuda": {"value" : "Bermuda"}, "Azores": {"value" : "Azores"}, "South_Georgia": {"value" : "South Georgia"}, "Cape_Verde": {"value" : "Cape Verde"}
    }}}};
}
function otciu_CLDRHelper_getDefaultLocale$$create() {
    return {"value" : "en_GB"};
}
function otciu_CLDRHelper_getMinimalDaysInFirstWeek$$create() {
    return {"DE": {"value" : 4}, "PT": {"value" : 4}, "DK": {"value" : 4}, "LT": {"value" : 4}, "LU": {"value" : 4}, "HU": {"value" : 4}, "MC": {"value" : 4}, "UM": {"value" : 1}, "IE": {"value" : 4}, "US": {"value" : 1}, "EE": {"value" : 4}, "AD": {"value" : 4}, "IM": {"value" : 4}, "MQ": {"value" : 4}, "IS": {"value" : 4}, "IT": {"value" : 4}, "VA": {"value" : 4}, "AN": {"value" : 4}, "ES": {"value" : 4}, "001": {"value" : 1}, "AT": {"value" : 4}, "RE": {"value" : 4}, "VI": {"value" : 1}, "AX": {"value" :
    4}, "JE": {"value" : 4}, "NL": {"value" : 4}, "NO": {"value" : 4}, "BE": {"value" : 4}, "FI": {"value" : 4}, "RU": {"value" : 4}, "FJ": {"value" : 4}, "BG": {"value" : 4}, "FO": {"value" : 4}, "FR": {"value" : 4}, "SE": {"value" : 4}, "SJ": {"value" : 4}, "SK": {"value" : 4}, "SM": {"value" : 4}, "GB": {"value" : 4}, "GF": {"value" : 4}, "GG": {"value" : 4}, "GI": {"value" : 4}, "CH": {"value" : 4}, "GP": {"value" : 4}, "GR": {"value" : 4}, "GU": {"value" : 1}, "CZ": {"value" : 4}, "PL": {"value" : 4}, "LI":
    {"value" : 4}};
}
function otciu_CLDRHelper_getFirstDayOfWeek$$create() {
    return {"PR": {"value" : 1}, "HK": {"value" : 1}, "PT": {"value" : 1}, "HN": {"value" : 1}, "PY": {"value" : 1}, "HR": {"value" : 2}, "YE": {"value" : 1}, "HU": {"value" : 2}, "QA": {"value" : 7}, "ID": {"value" : 1}, "IE": {"value" : 2}, "AD": {"value" : 2}, "IL": {"value" : 1}, "AE": {"value" : 7}, "AF": {"value" : 7}, "IN": {"value" : 1}, "AG": {"value" : 1}, "ZA": {"value" : 1}, "AI": {"value" : 2}, "IQ": {"value" : 7}, "IR": {"value" : 7}, "IS": {"value" : 2}, "AL": {"value" : 2}, "IT": {"value" : 2}
    , "AM": {"value" : 2}, "AN": {"value" : 2}, "001": {"value" : 2}, "AR": {"value" : 1}, "AS": {"value" : 1}, "AT": {"value" : 2}, "RE": {"value" : 2}, "AU": {"value" : 1}, "AX": {"value" : 2}, "AZ": {"value" : 2}, "RO": {"value" : 2}, "ZW": {"value" : 1}, "BA": {"value" : 2}, "RS": {"value" : 2}, "BD": {"value" : 1}, "BE": {"value" : 2}, "JM": {"value" : 1}, "RU": {"value" : 2}, "BG": {"value" : 2}, "JO": {"value" : 7}, "BH": {"value" : 7}, "JP": {"value" : 1}, "BM": {"value" : 2}, "BN": {"value" : 2}, "SA":
    {"value" : 1}, "BR": {"value" : 1}, "BS": {"value" : 1}, "SD": {"value" : 7}, "BT": {"value" : 1}, "SE": {"value" : 2}, "SG": {"value" : 1}, "BW": {"value" : 1}, "SI": {"value" : 2}, "BY": {"value" : 2}, "BZ": {"value" : 1}, "SK": {"value" : 2}, "KE": {"value" : 1}, "SM": {"value" : 2}, "KG": {"value" : 2}, "KH": {"value" : 1}, "CA": {"value" : 1}, "SV": {"value" : 1}, "CH": {"value" : 2}, "SY": {"value" : 7}, "KR": {"value" : 1}, "CL": {"value" : 2}, "CM": {"value" : 2}, "CN": {"value" : 1}, "CO": {"value"
    : 1}, "KW": {"value" : 7}, "CR": {"value" : 2}, "KZ": {"value" : 2}, "TH": {"value" : 1}, "LA": {"value" : 1}, "CY": {"value" : 2}, "LB": {"value" : 2}, "TJ": {"value" : 2}, "CZ": {"value" : 2}, "TM": {"value" : 2}, "LI": {"value" : 2}, "TR": {"value" : 2}, "LK": {"value" : 2}, "TT": {"value" : 1}, "DE": {"value" : 2}, "TW": {"value" : 1}, "DJ": {"value" : 7}, "DK": {"value" : 2}, "LT": {"value" : 2}, "DM": {"value" : 1}, "LU": {"value" : 2}, "LV": {"value" : 2}, "DO": {"value" : 1}, "UA": {"value" : 2}
    , "LY": {"value" : 7}, "DZ": {"value" : 7}, "MC": {"value" : 2}, "MD": {"value" : 2}, "ME": {"value" : 2}, "UM": {"value" : 1}, "MH": {"value" : 1}, "EC": {"value" : 2}, "MK": {"value" : 2}, "US": {"value" : 1}, "EE": {"value" : 2}, "MM": {"value" : 1}, "MN": {"value" : 2}, "EG": {"value" : 7}, "MO": {"value" : 1}, "MQ": {"value" : 2}, "UY": {"value" : 2}, "UZ": {"value" : 2}, "MT": {"value" : 1}, "MV": {"value" : 6}, "MX": {"value" : 1}, "VA": {"value" : 2}, "MY": {"value" : 2}, "MZ": {"value" : 1}, "ES":
    {"value" : 2}, "ET": {"value" : 1}, "VE": {"value" : 1}, "GB-alt-variant": {"value" : 1}, "VI": {"value" : 1}, "VN": {"value" : 2}, "NI": {"value" : 1}, "NL": {"value" : 2}, "NO": {"value" : 2}, "NP": {"value" : 1}, "FI": {"value" : 2}, "FJ": {"value" : 2}, "FO": {"value" : 2}, "FR": {"value" : 2}, "NZ": {"value" : 2}, "GB": {"value" : 2}, "WS": {"value" : 1}, "GE": {"value" : 2}, "OM": {"value" : 7}, "GF": {"value" : 2}, "GP": {"value" : 2}, "GR": {"value" : 2}, "GT": {"value" : 1}, "GU": {"value" : 1}
    , "PA": {"value" : 1}, "XK": {"value" : 2}, "PE": {"value" : 1}, "PH": {"value" : 1}, "PK": {"value" : 1}, "PL": {"value" : 2}};
}
function otciu_CLDRHelper_getDateFormatMap$$create() {
    return {"root": {"fullFormat" : "y MMMM d, EEEE", "mediumFormat" : "y MMM d", "longFormat" : "y MMMM d", "shortFormat" : "y-MM-dd"}, "en": {"fullFormat" : "EEEE, MMMM d, y", "mediumFormat" : "MMM d, y", "longFormat" : "MMMM d, y", "shortFormat" : "M/d/yy"}};
}
function otciu_CLDRHelper_getTimeFormatMap$$create() {
    return {"root": {"fullFormat" : "HH:mm:ss zzzz", "mediumFormat" : "HH:mm:ss", "longFormat" : "HH:mm:ss z", "shortFormat" : "HH:mm"}, "en": {"fullFormat" : "h:mm:ss a zzzz", "mediumFormat" : "h:mm:ss a", "longFormat" : "h:mm:ss a z", "shortFormat" : "h:mm a"}};
}
function otciu_CLDRHelper_getDateTimeFormatMap$$create() {
    return {"root": {"fullFormat" : "{1} {0}", "mediumFormat" : "{1} {0}", "longFormat" : "{1} {0}", "shortFormat" : "{1} {0}"}, "en": {"fullFormat" : "{1} \'at\' {0}", "mediumFormat" : "{1}, {0}", "longFormat" : "{1} \'at\' {0}", "shortFormat" : "{1}, {0}"}};
}
function otciu_CLDRHelper_getNumberFormatMap$$create() {
    return {"root": {"value" : "#,##0.###"}, "en": {"value" : "#,##0.###"}};
}
function otciu_CLDRHelper_getPercentFormatMap$$create() {
    return {"root": {"value" : "#,##0%"}, "en": {"value" : "#,##0%"}};
}
function otciu_CLDRHelper_getCurrencyFormatMap$$create() {
    return {"root": {"value" : "Â¤Â #,##0.00"}, "en": {"value" : "Â¤#,##0.00"}};
}
function otciu_CLDRHelper_getDecimalDataMap$$create() {
    return {"root": {"exponentSeparator" : "E", "minusSign" : 45, "perMille" : 226, "decimalSeparator" : 46, "listSeparator" : 59, "infinity" : "âˆž", "naN" : "NaN", "groupingSeparator" : 44, "percent" : 37}, "en": {"exponentSeparator" : "E", "minusSign" : 45, "perMille" : 226, "decimalSeparator" : 46, "listSeparator" : 59, "infinity" : "âˆž", "naN" : "NaN", "groupingSeparator" : 44, "percent" : 37}};
}
function otciu_CLDRHelper_getCurrencyMap$$create() {
    return {"root": {"UGS": {"symbol" : "UGS", "name" : "UGS"}, "FJD": {"symbol" : "FJD", "name" : "FJD"}, "MXN": {"symbol" : "MX$", "name" : "MXN"}, "STD": {"symbol" : "STD", "name" : "STD"}, "BRR": {"symbol" : "BRR", "name" : "BRR"}, "LVL": {"symbol" : "LVL", "name" : "LVL"}, "SCR": {"symbol" : "SCR", "name" : "SCR"}, "CDF": {"symbol" : "CDF", "name" : "CDF"}, "MXP": {"symbol" : "MXP", "name" : "MXP"}, "ZAL": {"symbol" : "ZAL", "name" : "ZAL"}, "BBD": {"symbol" : "BBD", "name" : "BBD"}, "HNL": {"symbol" :
    "HNL", "name" : "HNL"}, "UGX": {"symbol" : "UGX", "name" : "UGX"}, "LVR": {"symbol" : "LVR", "name" : "LVR"}, "MXV": {"symbol" : "MXV", "name" : "MXV"}, "ZAR": {"symbol" : "ZAR", "name" : "ZAR"}, "BRZ": {"symbol" : "BRZ", "name" : "BRZ"}, "STN": {"symbol" : "STN", "name" : "STN"}, "CUC": {"symbol" : "CUC", "name" : "CUC"}, "BSD": {"symbol" : "BSD", "name" : "BSD"}, "SDD": {"symbol" : "SDD", "name" : "SDD"}, "SDG": {"symbol" : "SDG", "name" : "SDG"}, "ZRN": {"symbol" : "ZRN", "name" : "ZRN"}, "IQD": {"symbol"
    : "IQD", "name" : "IQD"}, "SDP": {"symbol" : "SDP", "name" : "SDP"}, "CUP": {"symbol" : "CUP", "name" : "CUP"}, "GMD": {"symbol" : "GMD", "name" : "GMD"}, "TWD": {"symbol" : "NT$", "name" : "TWD"}, "RSD": {"symbol" : "RSD", "name" : "RSD"}, "ZRZ": {"symbol" : "ZRZ", "name" : "ZRZ"}, "UYI": {"symbol" : "UYI", "name" : "UYI"}, "MYR": {"symbol" : "MYR", "name" : "MYR"}, "FKP": {"symbol" : "FKP", "name" : "FKP"}, "UYP": {"symbol" : "UYP", "name" : "UYP"}, "XOF": {"symbol" : "CFA", "name" : "XOF"}, "ARA": {"symbol"
    : "ARA", "name" : "ARA"}, "UYU": {"symbol" : "UYU", "name" : "UYU"}, "SUR": {"symbol" : "SUR", "name" : "SUR"}, "UYW": {"symbol" : "UYW", "name" : "UYW"}, "CVE": {"symbol" : "CVE", "name" : "CVE"}, "OMR": {"symbol" : "OMR", "name" : "OMR"}, "KES": {"symbol" : "KES", "name" : "KES"}, "SEK": {"symbol" : "SEK", "name" : "SEK"}, "MZE": {"symbol" : "MZE", "name" : "MZE"}, "ARL": {"symbol" : "ARL", "name" : "ARL"}, "ARM": {"symbol" : "ARM", "name" : "ARM"}, "BTN": {"symbol" : "BTN", "name" : "BTN"}, "GNF": {"symbol"
    : "GNF", "name" : "GNF"}, "ARP": {"symbol" : "ARP", "name" : "ARP"}, "MZN": {"symbol" : "MZN", "name" : "MZN"}, "MZM": {"symbol" : "MZM", "name" : "MZM"}, "SVC": {"symbol" : "SVC", "name" : "SVC"}, "ARS": {"symbol" : "ARS", "name" : "ARS"}, "QAR": {"symbol" : "QAR", "name" : "QAR"}, "IRR": {"symbol" : "IRR", "name" : "IRR"}, "NLG": {"symbol" : "NLG", "name" : "NLG"}, "GNS": {"symbol" : "GNS", "name" : "GNS"}, "XPD": {"symbol" : "XPD", "name" : "XPD"}, "THB": {"symbol" : "THB", "name" : "THB"}, "UZS": {"symbol"
    : "UZS", "name" : "UZS"}, "XPF": {"symbol" : "CFPF", "name" : "XPF"}, "BDT": {"symbol" : "BDT", "name" : "BDT"}, "LYD": {"symbol" : "LYD", "name" : "LYD"}, "BUK": {"symbol" : "BUK", "name" : "BUK"}, "KWD": {"symbol" : "KWD", "name" : "KWD"}, "XPT": {"symbol" : "XPT", "name" : "XPT"}, "RUB": {"symbol" : "RUB", "name" : "RUB"}, "ISK": {"symbol" : "ISK", "name" : "ISK"}, "BEC": {"symbol" : "BEC", "name" : "BEC"}, "ISJ": {"symbol" : "ISJ", "name" : "ISJ"}, "BEF": {"symbol" : "BEF", "name" : "BEF"}, "MKD": {"symbol"
    : "MKD", "name" : "MKD"}, "BEL": {"symbol" : "BEL", "name" : "BEL"}, "RUR": {"symbol" : "RUR", "name" : "RUR"}, "DZD": {"symbol" : "DZD", "name" : "DZD"}, "PAB": {"symbol" : "PAB", "name" : "PAB"}, "MKN": {"symbol" : "MKN", "name" : "MKN"}, "SGD": {"symbol" : "SGD", "name" : "SGD"}, "KGS": {"symbol" : "KGS", "name" : "KGS"}, "HRD": {"symbol" : "HRD", "name" : "HRD"}, "XAF": {"symbol" : "FCFA", "name" : "XAF"}, "XAG": {"symbol" : "XAG", "name" : "XAG"}, "ATS": {"symbol" : "ATS", "name" : "ATS"}, "CHF": {"symbol"
    : "CHF", "name" : "CHF"}, "HRK": {"symbol" : "HRK", "name" : "HRK"}, "ITL": {"symbol" : "ITL", "name" : "ITL"}, "CHE": {"symbol" : "CHE", "name" : "CHE"}, "DJF": {"symbol" : "DJF", "name" : "DJF"}, "MLF": {"symbol" : "MLF", "name" : "MLF"}, "XRE": {"symbol" : "XRE", "name" : "XRE"}, "TZS": {"symbol" : "TZS", "name" : "TZS"}, "ADP": {"symbol" : "ADP", "name" : "ADP"}, "VND": {"symbol" : "â‚«", "name" : "VND"}, "XAU": {"symbol" : "XAU", "name" : "XAU"}, "AUD": {"symbol" : "A$", "name" : "AUD"}, "CHW": {"symbol"
    : "CHW", "name" : "CHW"}, "KHR": {"symbol" : "KHR", "name" : "KHR"}, "IDR": {"symbol" : "IDR", "name" : "IDR"}, "XBA": {"symbol" : "XBA", "name" : "XBA"}, "KYD": {"symbol" : "KYD", "name" : "KYD"}, "VNN": {"symbol" : "VNN", "name" : "VNN"}, "XBC": {"symbol" : "XBC", "name" : "XBC"}, "YDD": {"symbol" : "YDD", "name" : "YDD"}, "XBB": {"symbol" : "XBB", "name" : "XBB"}, "BWP": {"symbol" : "BWP", "name" : "BWP"}, "GQE": {"symbol" : "GQE", "name" : "GQE"}, "SHP": {"symbol" : "SHP", "name" : "SHP"}, "CYP": {"symbol"
    : "CYP", "name" : "CYP"}, "XBD": {"symbol" : "XBD", "name" : "XBD"}, "TJS": {"symbol" : "TJS", "name" : "TJS"}, "TJR": {"symbol" : "TJR", "name" : "TJR"}, "AED": {"symbol" : "AED", "name" : "AED"}, "RWF": {"symbol" : "RWF", "name" : "RWF"}, "DKK": {"symbol" : "DKK", "name" : "DKK"}, "BGL": {"symbol" : "BGL", "name" : "BGL"}, "ZWD": {"symbol" : "ZWD", "name" : "ZWD"}, "BGN": {"symbol" : "BGN", "name" : "BGN"}, "BGM": {"symbol" : "BGM", "name" : "BGM"}, "YUD": {"symbol" : "YUD", "name" : "YUD"}, "MMK": {"symbol"
    : "MMK", "name" : "MMK"}, "BGO": {"symbol" : "BGO", "name" : "BGO"}, "NOK": {"symbol" : "NOK", "name" : "NOK"}, "SYP": {"symbol" : "SYP", "name" : "SYP"}, "ZWL": {"symbol" : "ZWL", "name" : "ZWL"}, "YUM": {"symbol" : "YUM", "name" : "YUM"}, "LKR": {"symbol" : "LKR", "name" : "LKR"}, "YUN": {"symbol" : "YUN", "name" : "YUN"}, "ZWR": {"symbol" : "ZWR", "name" : "ZWR"}, "CZK": {"symbol" : "CZK", "name" : "CZK"}, "IEP": {"symbol" : "IEP", "name" : "IEP"}, "YUR": {"symbol" : "YUR", "name" : "YUR"}, "GRD": {"symbol"
    : "GRD", "name" : "GRD"}, "XCD": {"symbol" : "EC$", "name" : "XCD"}, "HTG": {"symbol" : "HTG", "name" : "HTG"}, "XSU": {"symbol" : "XSU", "name" : "XSU"}, "AFA": {"symbol" : "AFA", "name" : "AFA"}, "BHD": {"symbol" : "BHD", "name" : "BHD"}, "SIT": {"symbol" : "SIT", "name" : "SIT"}, "PTE": {"symbol" : "PTE", "name" : "PTE"}, "KZT": {"symbol" : "KZT", "name" : "KZT"}, "SZL": {"symbol" : "SZL", "name" : "SZL"}, "YER": {"symbol" : "YER", "name" : "YER"}, "AFN": {"symbol" : "AFN", "name" : "AFN"}, "BYB": {"symbol"
    : "BYB", "name" : "BYB"}, "RHD": {"symbol" : "RHD", "name" : "RHD"}, "AWG": {"symbol" : "AWG", "name" : "AWG"}, "NPR": {"symbol" : "NPR", "name" : "NPR"}, "MNT": {"symbol" : "MNT", "name" : "MNT"}, "GBP": {"symbol" : "Â£", "name" : "GBP"}, "BYN": {"symbol" : "BYN", "name" : "BYN"}, "XTS": {"symbol" : "XTS", "name" : "XTS"}, "HUF": {"symbol" : "HUF", "name" : "HUF"}, "BYR": {"symbol" : "BYR", "name" : "BYR"}, "BIF": {"symbol" : "BIF", "name" : "BIF"}, "XUA": {"symbol" : "XUA", "name" : "XUA"}, "XDR": {"symbol"
    : "XDR", "name" : "XDR"}, "BZD": {"symbol" : "BZD", "name" : "BZD"}, "MOP": {"symbol" : "MOP", "name" : "MOP"}, "NAD": {"symbol" : "NAD", "name" : "NAD"}, "SKK": {"symbol" : "SKK", "name" : "SKK"}, "PEI": {"symbol" : "PEI", "name" : "PEI"}, "TMM": {"symbol" : "TMM", "name" : "TMM"}, "PEN": {"symbol" : "PEN", "name" : "PEN"}, "WST": {"symbol" : "WST", "name" : "WST"}, "TMT": {"symbol" : "TMT", "name" : "TMT"}, "FRF": {"symbol" : "FRF", "name" : "FRF"}, "CLF": {"symbol" : "CLF", "name" : "CLF"}, "CLE": {"symbol"
    : "CLE", "name" : "CLE"}, "PES": {"symbol" : "PES", "name" : "PES"}, "GTQ": {"symbol" : "GTQ", "name" : "GTQ"}, "CLP": {"symbol" : "CLP", "name" : "CLP"}, "XEU": {"symbol" : "XEU", "name" : "XEU"}, "TND": {"symbol" : "TND", "name" : "TND"}, "SLL": {"symbol" : "SLL", "name" : "SLL"}, "XFO": {"symbol" : "XFO", "name" : "XFO"}, "DOP": {"symbol" : "DOP", "name" : "DOP"}, "KMF": {"symbol" : "KMF", "name" : "KMF"}, "XFU": {"symbol" : "XFU", "name" : "XFU"}, "GEK": {"symbol" : "GEK", "name" : "GEK"}, "GEL": {"symbol"
    : "GEL", "name" : "GEL"}, "MAD": {"symbol" : "MAD", "name" : "MAD"}, "MAF": {"symbol" : "MAF", "name" : "MAF"}, "AZM": {"symbol" : "AZM", "name" : "AZM"}, "TOP": {"symbol" : "TOP", "name" : "TOP"}, "AZN": {"symbol" : "AZN", "name" : "AZN"}, "PGK": {"symbol" : "PGK", "name" : "PGK"}, "CNH": {"symbol" : "CNH", "name" : "CNH"}, "UAH": {"symbol" : "UAH", "name" : "UAH"}, "UAK": {"symbol" : "UAK", "name" : "UAK"}, "ERN": {"symbol" : "ERN", "name" : "ERN"}, "TPE": {"symbol" : "TPE", "name" : "TPE"}, "MRO": {"symbol"
    : "MRO", "name" : "MRO"}, "CNX": {"symbol" : "CNX", "name" : "CNX"}, "CNY": {"symbol" : "CNÂ¥", "name" : "CNY"}, "MRU": {"symbol" : "MRU", "name" : "MRU"}, "ESA": {"symbol" : "ESA", "name" : "ESA"}, "GWE": {"symbol" : "GWE", "name" : "GWE"}, "ESB": {"symbol" : "ESB", "name" : "ESB"}, "BMD": {"symbol" : "BMD", "name" : "BMD"}, "PHP": {"symbol" : "PHP", "name" : "PHP"}, "XXX": {"symbol" : "Â¤", "name" : "XXX"}, "PYG": {"symbol" : "PYG", "name" : "PYG"}, "JMD": {"symbol" : "JMD", "name" : "JMD"}, "GWP": {"symbol"
    : "GWP", "name" : "GWP"}, "ESP": {"symbol" : "ESP", "name" : "ESP"}, "COP": {"symbol" : "COP", "name" : "COP"}, "USD": {"symbol" : "US$", "name" : "USD"}, "COU": {"symbol" : "COU", "name" : "COU"}, "MCF": {"symbol" : "MCF", "name" : "MCF"}, "USN": {"symbol" : "USN", "name" : "USN"}, "ETB": {"symbol" : "ETB", "name" : "ETB"}, "VEB": {"symbol" : "VEB", "name" : "VEB"}, "ECS": {"symbol" : "ECS", "name" : "ECS"}, "USS": {"symbol" : "USS", "name" : "USS"}, "SOS": {"symbol" : "SOS", "name" : "SOS"}, "VEF": {"symbol"
    : "VEF", "name" : "VEF"}, "VUV": {"symbol" : "VUV", "name" : "VUV"}, "LAK": {"symbol" : "LAK", "name" : "LAK"}, "BND": {"symbol" : "BND", "name" : "BND"}, "ECV": {"symbol" : "ECV", "name" : "ECV"}, "ZMK": {"symbol" : "ZMK", "name" : "ZMK"}, "LRD": {"symbol" : "LRD", "name" : "LRD"}, "ALK": {"symbol" : "ALK", "name" : "ALK"}, "ALL": {"symbol" : "ALL", "name" : "ALL"}, "GHC": {"symbol" : "GHC", "name" : "GHC"}, "MTL": {"symbol" : "MTL", "name" : "MTL"}, "VES": {"symbol" : "VES", "name" : "VES"}, "ZMW": {"symbol"
    : "ZMW", "name" : "ZMW"}, "MTP": {"symbol" : "MTP", "name" : "MTP"}, "ILP": {"symbol" : "ILP", "name" : "ILP"}, "MDC": {"symbol" : "MDC", "name" : "MDC"}, "ILR": {"symbol" : "ILR", "name" : "ILR"}, "TRL": {"symbol" : "TRL", "name" : "TRL"}, "ILS": {"symbol" : "â‚ª", "name" : "ILS"}, "GHS": {"symbol" : "GHS", "name" : "GHS"}, "GYD": {"symbol" : "GYD", "name" : "GYD"}, "KPW": {"symbol" : "KPW", "name" : "KPW"}, "BOB": {"symbol" : "BOB", "name" : "BOB"}, "MDL": {"symbol" : "MDL", "name" : "MDL"}, "AMD": {"symbol"
    : "AMD", "name" : "AMD"}, "TRY": {"symbol" : "TRY", "name" : "TRY"}, "LBP": {"symbol" : "LBP", "name" : "LBP"}, "BOL": {"symbol" : "BOL", "name" : "BOL"}, "JOD": {"symbol" : "JOD", "name" : "JOD"}, "HKD": {"symbol" : "HK$", "name" : "HKD"}, "BOP": {"symbol" : "BOP", "name" : "BOP"}, "EUR": {"symbol" : "â‚¬", "name" : "EUR"}, "LSL": {"symbol" : "LSL", "name" : "LSL"}, "CAD": {"symbol" : "CA$", "name" : "CAD"}, "BOV": {"symbol" : "BOV", "name" : "BOV"}, "EEK": {"symbol" : "EEK", "name" : "EEK"}, "MUR": {"symbol"
    : "MUR", "name" : "MUR"}, "ROL": {"symbol" : "ROL", "name" : "ROL"}, "GIP": {"symbol" : "GIP", "name" : "GIP"}, "RON": {"symbol" : "RON", "name" : "RON"}, "NGN": {"symbol" : "NGN", "name" : "NGN"}, "CRC": {"symbol" : "CRC", "name" : "CRC"}, "PKR": {"symbol" : "PKR", "name" : "PKR"}, "ANG": {"symbol" : "ANG", "name" : "ANG"}, "KRH": {"symbol" : "KRH", "name" : "KRH"}, "SRD": {"symbol" : "SRD", "name" : "SRD"}, "LTL": {"symbol" : "LTL", "name" : "LTL"}, "SAR": {"symbol" : "SAR", "name" : "SAR"}, "TTD": {"symbol"
    : "TTD", "name" : "TTD"}, "MVP": {"symbol" : "MVP", "name" : "MVP"}, "MVR": {"symbol" : "MVR", "name" : "MVR"}, "KRO": {"symbol" : "KRO", "name" : "KRO"}, "SRG": {"symbol" : "SRG", "name" : "SRG"}, "DDM": {"symbol" : "DDM", "name" : "DDM"}, "INR": {"symbol" : "â‚¹", "name" : "INR"}, "LTT": {"symbol" : "LTT", "name" : "LTT"}, "KRW": {"symbol" : "â‚©", "name" : "KRW"}, "JPY": {"symbol" : "JPÂ¥", "name" : "JPY"}, "AOA": {"symbol" : "AOA", "name" : "AOA"}, "PLN": {"symbol" : "PLN", "name" : "PLN"}, "SBD": {"symbol"
    : "SBD", "name" : "SBD"}, "CSD": {"symbol" : "CSD", "name" : "CSD"}, "CSK": {"symbol" : "CSK", "name" : "CSK"}, "LUC": {"symbol" : "LUC", "name" : "LUC"}, "LUF": {"symbol" : "LUF", "name" : "LUF"}, "AOK": {"symbol" : "AOK", "name" : "AOK"}, "PLZ": {"symbol" : "PLZ", "name" : "PLZ"}, "AON": {"symbol" : "AON", "name" : "AON"}, "MWK": {"symbol" : "MWK", "name" : "MWK"}, "LUL": {"symbol" : "LUL", "name" : "LUL"}, "AOR": {"symbol" : "AOR", "name" : "AOR"}, "BAD": {"symbol" : "BAD", "name" : "BAD"}, "MGA": {"symbol"
    : "MGA", "name" : "MGA"}, "NIC": {"symbol" : "NIC", "name" : "NIC"}, "FIM": {"symbol" : "FIM", "name" : "FIM"}, "DEM": {"symbol" : "DEM", "name" : "DEM"}, "MGF": {"symbol" : "MGF", "name" : "MGF"}, "BAM": {"symbol" : "BAM", "name" : "BAM"}, "BAN": {"symbol" : "BAN", "name" : "BAN"}, "EGP": {"symbol" : "EGP", "name" : "EGP"}, "SSP": {"symbol" : "SSP", "name" : "SSP"}, "BRC": {"symbol" : "BRC", "name" : "BRC"}, "BRB": {"symbol" : "BRB", "name" : "BRB"}, "BRE": {"symbol" : "BRE", "name" : "BRE"}, "NIO": {"symbol"
    : "NIO", "name" : "NIO"}, "NZD": {"symbol" : "NZ$", "name" : "NZD"}, "BRL": {"symbol" : "R$", "name" : "BRL"}, "BRN": {"symbol" : "BRN", "name" : "BRN"}}, "en": {"UGS": {"symbol" : "UGS", "name" : "Ugandan Shilling (1966â€“1987)"}, "FJD": {"symbol" : "FJD", "name" : "Fijian Dollar"}, "MXN": {"symbol" : "MX$", "name" : "Mexican Peso"}, "STD": {"symbol" : "STD", "name" : "SÃ£o TomÃ© & PrÃ­ncipe Dobra (1977â€“2017)"}, "BRR": {"symbol" : "BRR", "name" : "Brazilian Cruzeiro (1993â€“1994)"}, "LVL": {"symbol" :
    "LVL", "name" : "Latvian Lats"}, "SCR": {"symbol" : "SCR", "name" : "Seychellois Rupee"}, "CDF": {"symbol" : "CDF", "name" : "Congolese Franc"}, "MXP": {"symbol" : "MXP", "name" : "Mexican Silver Peso (1861â€“1992)"}, "ZAL": {"symbol" : "ZAL", "name" : "South African Rand (financial)"}, "BBD": {"symbol" : "BBD", "name" : "Barbadian Dollar"}, "HNL": {"symbol" : "HNL", "name" : "Honduran Lempira"}, "UGX": {"symbol" : "UGX", "name" : "Ugandan Shilling"}, "LVR": {"symbol" : "LVR", "name" : "Latvian Ruble"},
    "MXV": {"symbol" : "MXV", "name" : "Mexican Investment Unit"}, "ZAR": {"symbol" : "ZAR", "name" : "South African Rand"}, "BRZ": {"symbol" : "BRZ", "name" : "Brazilian Cruzeiro (1942â€“1967)"}, "STN": {"symbol" : "STN", "name" : "SÃ£o TomÃ© & PrÃ­ncipe Dobra"}, "CUC": {"symbol" : "CUC", "name" : "Cuban Convertible Peso"}, "BSD": {"symbol" : "BSD", "name" : "Bahamian Dollar"}, "SDD": {"symbol" : "SDD", "name" : "Sudanese Dinar (1992â€“2007)"}, "SDG": {"symbol" : "SDG", "name" : "Sudanese Pound"}, "ZRN": {"symbol"
    : "ZRN", "name" : "Zairean New Zaire (1993â€“1998)"}, "IQD": {"symbol" : "IQD", "name" : "Iraqi Dinar"}, "SDP": {"symbol" : "SDP", "name" : "Sudanese Pound (1957â€“1998)"}, "CUP": {"symbol" : "CUP", "name" : "Cuban Peso"}, "GMD": {"symbol" : "GMD", "name" : "Gambian Dalasi"}, "TWD": {"symbol" : "NT$", "name" : "New Taiwan Dollar"}, "RSD": {"symbol" : "RSD", "name" : "Serbian Dinar"}, "ZRZ": {"symbol" : "ZRZ", "name" : "Zairean Zaire (1971â€“1993)"}, "UYI": {"symbol" : "UYI", "name" : "Uruguayan Peso (Indexed Units)"}
    , "MYR": {"symbol" : "MYR", "name" : "Malaysian Ringgit"}, "FKP": {"symbol" : "FKP", "name" : "Falkland Islands Pound"}, "UYP": {"symbol" : "UYP", "name" : "Uruguayan Peso (1975â€“1993)"}, "XOF": {"symbol" : "CFA", "name" : "West African CFA Franc"}, "ARA": {"symbol" : "ARA", "name" : "Argentine Austral"}, "UYU": {"symbol" : "UYU", "name" : "Uruguayan Peso"}, "SUR": {"symbol" : "SUR", "name" : "Soviet Rouble"}, "UYW": {"symbol" : "UYW", "name" : "Uruguayan Nominal Wage Index Unit"}, "CVE": {"symbol" : "CVE",
    "name" : "Cape Verdean Escudo"}, "OMR": {"symbol" : "OMR", "name" : "Omani Rial"}, "KES": {"symbol" : "KES", "name" : "Kenyan Shilling"}, "SEK": {"symbol" : "SEK", "name" : "Swedish Krona"}, "MZE": {"symbol" : "MZE", "name" : "Mozambican Escudo"}, "ARL": {"symbol" : "ARL", "name" : "Argentine Peso Ley (1970â€“1983)"}, "ARM": {"symbol" : "ARM", "name" : "Argentine Peso (1881â€“1970)"}, "BTN": {"symbol" : "BTN", "name" : "Bhutanese Ngultrum"}, "GNF": {"symbol" : "GNF", "name" : "Guinean Franc"}, "ARP": {"symbol"
    : "ARP", "name" : "Argentine Peso (1983â€“1985)"}, "MZN": {"symbol" : "MZN", "name" : "Mozambican Metical"}, "MZM": {"symbol" : "MZM", "name" : "Mozambican Metical (1980â€“2006)"}, "SVC": {"symbol" : "SVC", "name" : "Salvadoran ColÃ³n"}, "ARS": {"symbol" : "ARS", "name" : "Argentine Peso"}, "QAR": {"symbol" : "QAR", "name" : "Qatari Rial"}, "IRR": {"symbol" : "IRR", "name" : "Iranian Rial"}, "NLG": {"symbol" : "NLG", "name" : "Dutch Guilder"}, "GNS": {"symbol" : "GNS", "name" : "Guinean Syli"}, "XPD": {"symbol"
    : "XPD", "name" : "Palladium"}, "THB": {"symbol" : "THB", "name" : "Thai Baht"}, "UZS": {"symbol" : "UZS", "name" : "Uzbekistani Som"}, "XPF": {"symbol" : "CFPF", "name" : "CFP Franc"}, "BDT": {"symbol" : "BDT", "name" : "Bangladeshi Taka"}, "LYD": {"symbol" : "LYD", "name" : "Libyan Dinar"}, "BUK": {"symbol" : "BUK", "name" : "Burmese Kyat"}, "KWD": {"symbol" : "KWD", "name" : "Kuwaiti Dinar"}, "XPT": {"symbol" : "XPT", "name" : "Platinum"}, "RUB": {"symbol" : "RUB", "name" : "Russian Ruble"}, "ISK": {"symbol"
    : "ISK", "name" : "Icelandic KrÃ³na"}, "BEC": {"symbol" : "BEC", "name" : "Belgian Franc (convertible)"}, "ISJ": {"symbol" : "ISJ", "name" : "Icelandic KrÃ³na (1918â€“1981)"}, "BEF": {"symbol" : "BEF", "name" : "Belgian Franc"}, "MKD": {"symbol" : "MKD", "name" : "Macedonian Denar"}, "BEL": {"symbol" : "BEL", "name" : "Belgian Franc (financial)"}, "RUR": {"symbol" : "RUR", "name" : "Russian Ruble (1991â€“1998)"}, "DZD": {"symbol" : "DZD", "name" : "Algerian Dinar"}, "PAB": {"symbol" : "PAB", "name" : "Panamanian Balboa"}
    , "MKN": {"symbol" : "MKN", "name" : "Macedonian Denar (1992â€“1993)"}, "SGD": {"symbol" : "SGD", "name" : "Singapore Dollar"}, "KGS": {"symbol" : "KGS", "name" : "Kyrgystani Som"}, "HRD": {"symbol" : "HRD", "name" : "Croatian Dinar"}, "XAF": {"symbol" : "FCFA", "name" : "Central African CFA Franc"}, "XAG": {"symbol" : "XAG", "name" : "Silver"}, "ATS": {"symbol" : "ATS", "name" : "Austrian Schilling"}, "CHF": {"symbol" : "CHF", "name" : "Swiss Franc"}, "HRK": {"symbol" : "HRK", "name" : "Croatian Kuna"}
    , "ITL": {"symbol" : "ITL", "name" : "Italian Lira"}, "CHE": {"symbol" : "CHE", "name" : "WIR Euro"}, "DJF": {"symbol" : "DJF", "name" : "Djiboutian Franc"}, "MLF": {"symbol" : "MLF", "name" : "Malian Franc"}, "XRE": {"symbol" : "XRE", "name" : "RINET Funds"}, "TZS": {"symbol" : "TZS", "name" : "Tanzanian Shilling"}, "ADP": {"symbol" : "ADP", "name" : "Andorran Peseta"}, "VND": {"symbol" : "â‚«", "name" : "Vietnamese Dong"}, "XAU": {"symbol" : "XAU", "name" : "Gold"}, "AUD": {"symbol" : "A$", "name" : "Australian Dollar"}
    , "CHW": {"symbol" : "CHW", "name" : "WIR Franc"}, "KHR": {"symbol" : "KHR", "name" : "Cambodian Riel"}, "IDR": {"symbol" : "IDR", "name" : "Indonesian Rupiah"}, "XBA": {"symbol" : "XBA", "name" : "European Composite Unit"}, "KYD": {"symbol" : "KYD", "name" : "Cayman Islands Dollar"}, "VNN": {"symbol" : "VNN", "name" : "Vietnamese Dong (1978â€“1985)"}, "XBC": {"symbol" : "XBC", "name" : "European Unit of Account (XBC)"}, "YDD": {"symbol" : "YDD", "name" : "Yemeni Dinar"}, "XBB": {"symbol" : "XBB", "name"
    : "European Monetary Unit"}, "BWP": {"symbol" : "BWP", "name" : "Botswanan Pula"}, "GQE": {"symbol" : "GQE", "name" : "Equatorial Guinean Ekwele"}, "SHP": {"symbol" : "SHP", "name" : "St. Helena Pound"}, "CYP": {"symbol" : "CYP", "name" : "Cypriot Pound"}, "XBD": {"symbol" : "XBD", "name" : "European Unit of Account (XBD)"}, "TJS": {"symbol" : "TJS", "name" : "Tajikistani Somoni"}, "TJR": {"symbol" : "TJR", "name" : "Tajikistani Ruble"}, "AED": {"symbol" : "AED", "name" : "United Arab Emirates Dirham"},
    "RWF": {"symbol" : "RWF", "name" : "Rwandan Franc"}, "DKK": {"symbol" : "DKK", "name" : "Danish Krone"}, "BGL": {"symbol" : "BGL", "name" : "Bulgarian Hard Lev"}, "ZWD": {"symbol" : "ZWD", "name" : "Zimbabwean Dollar (1980â€“2008)"}, "BGN": {"symbol" : "BGN", "name" : "Bulgarian Lev"}, "BGM": {"symbol" : "BGM", "name" : "Bulgarian Socialist Lev"}, "YUD": {"symbol" : "YUD", "name" : "Yugoslavian Hard Dinar (1966â€“1990)"}, "MMK": {"symbol" : "MMK", "name" : "Myanmar Kyat"}, "BGO": {"symbol" : "BGO", "name"
    : "Bulgarian Lev (1879â€“1952)"}, "NOK": {"symbol" : "NOK", "name" : "Norwegian Krone"}, "SYP": {"symbol" : "SYP", "name" : "Syrian Pound"}, "ZWL": {"symbol" : "ZWL", "name" : "Zimbabwean Dollar (2009)"}, "YUM": {"symbol" : "YUM", "name" : "Yugoslavian New Dinar (1994â€“2002)"}, "LKR": {"symbol" : "LKR", "name" : "Sri Lankan Rupee"}, "YUN": {"symbol" : "YUN", "name" : "Yugoslavian Convertible Dinar (1990â€“1992)"}, "ZWR": {"symbol" : "ZWR", "name" : "Zimbabwean Dollar (2008)"}, "CZK": {"symbol" : "CZK",
    "name" : "Czech Koruna"}, "IEP": {"symbol" : "IEP", "name" : "Irish Pound"}, "YUR": {"symbol" : "YUR", "name" : "Yugoslavian Reformed Dinar (1992â€“1993)"}, "GRD": {"symbol" : "GRD", "name" : "Greek Drachma"}, "XCD": {"symbol" : "EC$", "name" : "East Caribbean Dollar"}, "HTG": {"symbol" : "HTG", "name" : "Haitian Gourde"}, "XSU": {"symbol" : "XSU", "name" : "Sucre"}, "AFA": {"symbol" : "AFA", "name" : "Afghan Afghani (1927â€“2002)"}, "BHD": {"symbol" : "BHD", "name" : "Bahraini Dinar"}, "SIT": {"symbol"
    : "SIT", "name" : "Slovenian Tolar"}, "PTE": {"symbol" : "PTE", "name" : "Portuguese Escudo"}, "KZT": {"symbol" : "KZT", "name" : "Kazakhstani Tenge"}, "SZL": {"symbol" : "SZL", "name" : "Swazi Lilangeni"}, "YER": {"symbol" : "YER", "name" : "Yemeni Rial"}, "AFN": {"symbol" : "AFN", "name" : "Afghan Afghani"}, "BYB": {"symbol" : "BYB", "name" : "Belarusian Ruble (1994â€“1999)"}, "RHD": {"symbol" : "RHD", "name" : "Rhodesian Dollar"}, "AWG": {"symbol" : "AWG", "name" : "Aruban Florin"}, "NPR": {"symbol" :
    "NPR", "name" : "Nepalese Rupee"}, "MNT": {"symbol" : "MNT", "name" : "Mongolian Tugrik"}, "GBP": {"symbol" : "Â£", "name" : "British Pound"}, "BYN": {"symbol" : "BYN", "name" : "Belarusian Ruble"}, "XTS": {"symbol" : "XTS", "name" : "Testing Currency Code"}, "HUF": {"symbol" : "HUF", "name" : "Hungarian Forint"}, "BYR": {"symbol" : "BYR", "name" : "Belarusian Ruble (2000â€“2016)"}, "BIF": {"symbol" : "BIF", "name" : "Burundian Franc"}, "XUA": {"symbol" : "XUA", "name" : "ADB Unit of Account"}, "XDR": {"symbol"
    : "XDR", "name" : "Special Drawing Rights"}, "BZD": {"symbol" : "BZD", "name" : "Belize Dollar"}, "MOP": {"symbol" : "MOP", "name" : "Macanese Pataca"}, "NAD": {"symbol" : "NAD", "name" : "Namibian Dollar"}, "SKK": {"symbol" : "SKK", "name" : "Slovak Koruna"}, "PEI": {"symbol" : "PEI", "name" : "Peruvian Inti"}, "TMM": {"symbol" : "TMM", "name" : "Turkmenistani Manat (1993â€“2009)"}, "PEN": {"symbol" : "PEN", "name" : "Peruvian Sol"}, "WST": {"symbol" : "WST", "name" : "Samoan Tala"}, "TMT": {"symbol" :
    "TMT", "name" : "Turkmenistani Manat"}, "FRF": {"symbol" : "FRF", "name" : "French Franc"}, "CLF": {"symbol" : "CLF", "name" : "Chilean Unit of Account (UF)"}, "CLE": {"symbol" : "CLE", "name" : "Chilean Escudo"}, "PES": {"symbol" : "PES", "name" : "Peruvian Sol (1863â€“1965)"}, "GTQ": {"symbol" : "GTQ", "name" : "Guatemalan Quetzal"}, "CLP": {"symbol" : "CLP", "name" : "Chilean Peso"}, "XEU": {"symbol" : "XEU", "name" : "European Currency Unit"}, "TND": {"symbol" : "TND", "name" : "Tunisian Dinar"}, "SLL":
    {"symbol" : "SLL", "name" : "Sierra Leonean Leone"}, "XFO": {"symbol" : "XFO", "name" : "French Gold Franc"}, "DOP": {"symbol" : "DOP", "name" : "Dominican Peso"}, "KMF": {"symbol" : "KMF", "name" : "Comorian Franc"}, "XFU": {"symbol" : "XFU", "name" : "French UIC-Franc"}, "GEK": {"symbol" : "GEK", "name" : "Georgian Kupon Larit"}, "GEL": {"symbol" : "GEL", "name" : "Georgian Lari"}, "MAD": {"symbol" : "MAD", "name" : "Moroccan Dirham"}, "MAF": {"symbol" : "MAF", "name" : "Moroccan Franc"}, "AZM": {"symbol"
    : "AZM", "name" : "Azerbaijani Manat (1993â€“2006)"}, "TOP": {"symbol" : "TOP", "name" : "Tongan PaÊ»anga"}, "AZN": {"symbol" : "AZN", "name" : "Azerbaijani Manat"}, "PGK": {"symbol" : "PGK", "name" : "Papua New Guinean Kina"}, "CNH": {"symbol" : "CNH", "name" : "Chinese Yuan (offshore)"}, "UAH": {"symbol" : "UAH", "name" : "Ukrainian Hryvnia"}, "UAK": {"symbol" : "UAK", "name" : "Ukrainian Karbovanets"}, "ERN": {"symbol" : "ERN", "name" : "Eritrean Nakfa"}, "TPE": {"symbol" : "TPE", "name" : "Timorese Escudo"}
    , "MRO": {"symbol" : "MRO", "name" : "Mauritanian Ouguiya (1973â€“2017)"}, "CNX": {"symbol" : "CNX", "name" : "Chinese Peopleâ€™s Bank Dollar"}, "CNY": {"symbol" : "CNÂ¥", "name" : "Chinese Yuan"}, "MRU": {"symbol" : "MRU", "name" : "Mauritanian Ouguiya"}, "ESA": {"symbol" : "ESA", "name" : "Spanish Peseta (A account)"}, "GWE": {"symbol" : "GWE", "name" : "Portuguese Guinea Escudo"}, "ESB": {"symbol" : "ESB", "name" : "Spanish Peseta (convertible account)"}, "BMD": {"symbol" : "BMD", "name" : "Bermudan Dollar"}
    , "PHP": {"symbol" : "PHP", "name" : "Philippine Piso"}, "XXX": {"symbol" : "Â¤", "name" : "Unknown Currency"}, "PYG": {"symbol" : "PYG", "name" : "Paraguayan Guarani"}, "JMD": {"symbol" : "JMD", "name" : "Jamaican Dollar"}, "GWP": {"symbol" : "GWP", "name" : "Guinea-Bissau Peso"}, "ESP": {"symbol" : "ESP", "name" : "Spanish Peseta"}, "COP": {"symbol" : "COP", "name" : "Colombian Peso"}, "USD": {"symbol" : "$", "name" : "US Dollar"}, "COU": {"symbol" : "COU", "name" : "Colombian Real Value Unit"}, "MCF":
    {"symbol" : "MCF", "name" : "Monegasque Franc"}, "USN": {"symbol" : "USN", "name" : "US Dollar (Next day)"}, "ETB": {"symbol" : "ETB", "name" : "Ethiopian Birr"}, "VEB": {"symbol" : "VEB", "name" : "Venezuelan BolÃ­var (1871â€“2008)"}, "ECS": {"symbol" : "ECS", "name" : "Ecuadorian Sucre"}, "USS": {"symbol" : "USS", "name" : "US Dollar (Same day)"}, "SOS": {"symbol" : "SOS", "name" : "Somali Shilling"}, "VEF": {"symbol" : "VEF", "name" : "Venezuelan BolÃ­var (2008â€“2018)"}, "VUV": {"symbol" : "VUV", "name"
    : "Vanuatu Vatu"}, "LAK": {"symbol" : "LAK", "name" : "Laotian Kip"}, "BND": {"symbol" : "BND", "name" : "Brunei Dollar"}, "ECV": {"symbol" : "ECV", "name" : "Ecuadorian Unit of Constant Value"}, "ZMK": {"symbol" : "ZMK", "name" : "Zambian Kwacha (1968â€“2012)"}, "LRD": {"symbol" : "LRD", "name" : "Liberian Dollar"}, "ALK": {"symbol" : "ALK", "name" : "Albanian Lek (1946â€“1965)"}, "ALL": {"symbol" : "ALL", "name" : "Albanian Lek"}, "GHC": {"symbol" : "GHC", "name" : "Ghanaian Cedi (1979â€“2007)"}, "MTL":
    {"symbol" : "MTL", "name" : "Maltese Lira"}, "VES": {"symbol" : "VES", "name" : "Venezuelan BolÃ­var"}, "ZMW": {"symbol" : "ZMW", "name" : "Zambian Kwacha"}, "MTP": {"symbol" : "MTP", "name" : "Maltese Pound"}, "ILP": {"symbol" : "ILP", "name" : "Israeli Pound"}, "MDC": {"symbol" : "MDC", "name" : "Moldovan Cupon"}, "ILR": {"symbol" : "ILR", "name" : "Israeli Shekel (1980â€“1985)"}, "TRL": {"symbol" : "TRL", "name" : "Turkish Lira (1922â€“2005)"}, "ILS": {"symbol" : "â‚ª", "name" : "Israeli New Shekel"}
    , "GHS": {"symbol" : "GHS", "name" : "Ghanaian Cedi"}, "GYD": {"symbol" : "GYD", "name" : "Guyanaese Dollar"}, "KPW": {"symbol" : "KPW", "name" : "North Korean Won"}, "BOB": {"symbol" : "BOB", "name" : "Bolivian Boliviano"}, "MDL": {"symbol" : "MDL", "name" : "Moldovan Leu"}, "AMD": {"symbol" : "AMD", "name" : "Armenian Dram"}, "TRY": {"symbol" : "TRY", "name" : "Turkish Lira"}, "LBP": {"symbol" : "LBP", "name" : "Lebanese Pound"}, "BOL": {"symbol" : "BOL", "name" : "Bolivian Boliviano (1863â€“1963)"}, "JOD":
    {"symbol" : "JOD", "name" : "Jordanian Dinar"}, "HKD": {"symbol" : "HK$", "name" : "Hong Kong Dollar"}, "BOP": {"symbol" : "BOP", "name" : "Bolivian Peso"}, "EUR": {"symbol" : "â‚¬", "name" : "Euro"}, "LSL": {"symbol" : "LSL", "name" : "Lesotho Loti"}, "CAD": {"symbol" : "CA$", "name" : "Canadian Dollar"}, "BOV": {"symbol" : "BOV", "name" : "Bolivian Mvdol"}, "EEK": {"symbol" : "EEK", "name" : "Estonian Kroon"}, "MUR": {"symbol" : "MUR", "name" : "Mauritian Rupee"}, "ROL": {"symbol" : "ROL", "name" : "Romanian Leu (1952â€“2006)"}
    , "GIP": {"symbol" : "GIP", "name" : "Gibraltar Pound"}, "RON": {"symbol" : "RON", "name" : "Romanian Leu"}, "NGN": {"symbol" : "NGN", "name" : "Nigerian Naira"}, "CRC": {"symbol" : "CRC", "name" : "Costa Rican ColÃ³n"}, "PKR": {"symbol" : "PKR", "name" : "Pakistani Rupee"}, "ANG": {"symbol" : "ANG", "name" : "Netherlands Antillean Guilder"}, "KRH": {"symbol" : "KRH", "name" : "South Korean Hwan (1953â€“1962)"}, "SRD": {"symbol" : "SRD", "name" : "Surinamese Dollar"}, "LTL": {"symbol" : "LTL", "name" : "Lithuanian Litas"}
    , "SAR": {"symbol" : "SAR", "name" : "Saudi Riyal"}, "TTD": {"symbol" : "TTD", "name" : "Trinidad & Tobago Dollar"}, "MVP": {"symbol" : "MVP", "name" : "Maldivian Rupee (1947â€“1981)"}, "MVR": {"symbol" : "MVR", "name" : "Maldivian Rufiyaa"}, "KRO": {"symbol" : "KRO", "name" : "South Korean Won (1945â€“1953)"}, "SRG": {"symbol" : "SRG", "name" : "Surinamese Guilder"}, "DDM": {"symbol" : "DDM", "name" : "East German Mark"}, "INR": {"symbol" : "â‚¹", "name" : "Indian Rupee"}, "LTT": {"symbol" : "LTT", "name"
    : "Lithuanian Talonas"}, "KRW": {"symbol" : "â‚©", "name" : "South Korean Won"}, "JPY": {"symbol" : "Â¥", "name" : "Japanese Yen"}, "AOA": {"symbol" : "AOA", "name" : "Angolan Kwanza"}, "PLN": {"symbol" : "PLN", "name" : "Polish Zloty"}, "SBD": {"symbol" : "SBD", "name" : "Solomon Islands Dollar"}, "CSD": {"symbol" : "CSD", "name" : "Serbian Dinar (2002â€“2006)"}, "CSK": {"symbol" : "CSK", "name" : "Czechoslovak Hard Koruna"}, "LUC": {"symbol" : "LUC", "name" : "Luxembourgian Convertible Franc"}, "LUF":
    {"symbol" : "LUF", "name" : "Luxembourgian Franc"}, "AOK": {"symbol" : "AOK", "name" : "Angolan Kwanza (1977â€“1991)"}, "PLZ": {"symbol" : "PLZ", "name" : "Polish Zloty (1950â€“1995)"}, "AON": {"symbol" : "AON", "name" : "Angolan New Kwanza (1990â€“2000)"}, "MWK": {"symbol" : "MWK", "name" : "Malawian Kwacha"}, "LUL": {"symbol" : "LUL", "name" : "Luxembourg Financial Franc"}, "AOR": {"symbol" : "AOR", "name" : "Angolan Readjusted Kwanza (1995â€“1999)"}, "BAD": {"symbol" : "BAD", "name" : "Bosnia-Herzegovina Dinar (1992â€“1994)"}
    , "MGA": {"symbol" : "MGA", "name" : "Malagasy Ariary"}, "NIC": {"symbol" : "NIC", "name" : "Nicaraguan CÃ³rdoba (1988â€“1991)"}, "FIM": {"symbol" : "FIM", "name" : "Finnish Markka"}, "DEM": {"symbol" : "DEM", "name" : "German Mark"}, "MGF": {"symbol" : "MGF", "name" : "Malagasy Franc"}, "BAM": {"symbol" : "BAM", "name" : "Bosnia-Herzegovina Convertible Mark"}, "BAN": {"symbol" : "BAN", "name" : "Bosnia-Herzegovina New Dinar (1994â€“1997)"}, "EGP": {"symbol" : "EGP", "name" : "Egyptian Pound"}, "SSP": {"symbol"
    : "SSP", "name" : "South Sudanese Pound"}, "BRC": {"symbol" : "BRC", "name" : "Brazilian Cruzado (1986â€“1989)"}, "BRB": {"symbol" : "BRB", "name" : "Brazilian New Cruzeiro (1967â€“1986)"}, "BRE": {"symbol" : "BRE", "name" : "Brazilian Cruzeiro (1990â€“1993)"}, "NIO": {"symbol" : "NIO", "name" : "Nicaraguan CÃ³rdoba"}, "NZD": {"symbol" : "NZ$", "name" : "New Zealand Dollar"}, "BRL": {"symbol" : "R$", "name" : "Brazilian Real"}, "BRN": {"symbol" : "BRN", "name" : "Brazilian New Cruzado (1989â€“1990)"}}};
}
function otpp_ResourceAccessor() {
    jl_Object.call(this);
}
function otpp_ResourceAccessor__init_0() {
    var var_0 = new otpp_ResourceAccessor();
    otpp_ResourceAccessor__init_(var_0);
    return var_0;
}
function otpp_ResourceAccessor__init_($this) {
    return;
}
function otpp_ResourceAccessor_keys(var$1) {
    var result = [];
    for (var key in var$1) {
        result.push(key);
    }
    return result;
}
function otpp_ResourceAccessor_keysToStrings($keys) {
    var $sz, $result, var$4, $i;
    $sz = $keys.length;
    $result = $rt_createArray(jl_String, $sz);
    var$4 = $result.data;
    $i = 0;
    while ($i < $sz) {
        var$4[$i] = ($keys[$i] !== null ? $rt_str($keys[$i]) : null);
        $i = $i + 1 | 0;
    }
    return $result;
}
function nleg_GLObjectMap() {
    var a = this; jl_Object.call(a);
    a.$values0 = null;
    a.$size3 = 0;
    a.$insertIndex = 0;
    a.$allocatedObjects = 0;
}
function nleg_GLObjectMap__init_(var_0) {
    var var_1 = new nleg_GLObjectMap();
    nleg_GLObjectMap__init_0(var_1, var_0);
    return var_1;
}
function nleg_GLObjectMap__init_0($this, $initialSize) {
    $this.$values0 = $rt_createArray(jl_Object, $initialSize);
    $this.$size3 = $initialSize;
    $this.$insertIndex = 0;
    $this.$allocatedObjects = 0;
}
function nleg_GLObjectMap_register($this, $obj) {
    var $start, var$3;
    $start = $this.$insertIndex;
    while (true) {
        $this.$insertIndex = $this.$insertIndex + 1 | 0;
        if ($this.$insertIndex >= $this.$size3)
            $this.$insertIndex = 0;
        if ($this.$insertIndex == $start) {
            $start = $this.$size3;
            $this.$size3 = $this.$size3 + ($this.$size3 / 2 | 0) | 0;
            var$3 = $this.$values0;
            $this.$values0 = $rt_createArray(jl_Object, $this.$size3);
            jl_System_arraycopy(var$3, 0, $this.$values0, 0, $start);
            return nleg_GLObjectMap_register($this, $obj);
        }
        if ($this.$values0.data[$this.$insertIndex] !== null)
            continue;
        else
            break;
    }
    $this.$values0.data[$this.$insertIndex] = $obj;
    $this.$allocatedObjects = $this.$allocatedObjects + 1 | 0;
    return $this.$insertIndex;
}
function nleg_GLObjectMap_free($this, $obj) {
    var $ret;
    if ($obj < $this.$size3 && $obj >= 0) {
        $ret = $this.$values0.data[$obj];
        $this.$values0.data[$obj] = null;
        $this.$allocatedObjects = $this.$allocatedObjects - 1 | 0;
        return $ret;
    }
    return null;
}
function nleg_GLObjectMap_get($this, $obj) {
    if ($obj < $this.$size3 && $obj >= 0)
        return $this.$values0.data[$obj];
    return null;
}
function nlegv_Matrix() {
    jl_Object.call(this);
}
function nlegv_Matrix4f() {
    var a = this; nlegv_Matrix.call(a);
    a.$m00 = 0.0;
    a.$m01 = 0.0;
    a.$m02 = 0.0;
    a.$m03 = 0.0;
    a.$m10 = 0.0;
    a.$m11 = 0.0;
    a.$m12 = 0.0;
    a.$m13 = 0.0;
    a.$m20 = 0.0;
    a.$m21 = 0.0;
    a.$m22 = 0.0;
    a.$m23 = 0.0;
    a.$m30 = 0.0;
    a.$m31 = 0.0;
    a.$m32 = 0.0;
    a.$m33 = 0.0;
}
function nlegv_Matrix4f__init_0() {
    var var_0 = new nlegv_Matrix4f();
    nlegv_Matrix4f__init_(var_0);
    return var_0;
}
function nlegv_Matrix4f__init_($this) {
    nlegv_Matrix4f_setIdentity($this);
}
function nlegv_Matrix4f_setIdentity($this) {
    $this.$m00 = 1.0;
    $this.$m01 = 0.0;
    $this.$m02 = 0.0;
    $this.$m03 = 0.0;
    $this.$m10 = 0.0;
    $this.$m11 = 1.0;
    $this.$m12 = 0.0;
    $this.$m13 = 0.0;
    $this.$m20 = 0.0;
    $this.$m21 = 0.0;
    $this.$m22 = 1.0;
    $this.$m23 = 0.0;
    $this.$m30 = 0.0;
    $this.$m31 = 0.0;
    $this.$m32 = 0.0;
    $this.$m33 = 1.0;
    return $this;
}
function nlegv_Matrix4f_setZero($this) {
    $this.$m00 = 0.0;
    $this.$m01 = 0.0;
    $this.$m02 = 0.0;
    $this.$m03 = 0.0;
    $this.$m10 = 0.0;
    $this.$m11 = 0.0;
    $this.$m12 = 0.0;
    $this.$m13 = 0.0;
    $this.$m20 = 0.0;
    $this.$m21 = 0.0;
    $this.$m22 = 0.0;
    $this.$m23 = 0.0;
    $this.$m30 = 0.0;
    $this.$m31 = 0.0;
    $this.$m32 = 0.0;
    $this.$m33 = 0.0;
    return $this;
}
function nlegv_Matrix4f_load($this, $src) {
    $this.$m00 = $src.$m00;
    $this.$m01 = $src.$m01;
    $this.$m02 = $src.$m02;
    $this.$m03 = $src.$m03;
    $this.$m10 = $src.$m10;
    $this.$m11 = $src.$m11;
    $this.$m12 = $src.$m12;
    $this.$m13 = $src.$m13;
    $this.$m20 = $src.$m20;
    $this.$m21 = $src.$m21;
    $this.$m22 = $src.$m22;
    $this.$m23 = $src.$m23;
    $this.$m30 = $src.$m30;
    $this.$m31 = $src.$m31;
    $this.$m32 = $src.$m32;
    $this.$m33 = $src.$m33;
    return $this;
}
function nlegv_Matrix4f_load0($this, $buf) {
    $this.$m00 = jn_FloatBufferImpl_get($buf);
    $this.$m01 = jn_FloatBufferImpl_get($buf);
    $this.$m02 = jn_FloatBufferImpl_get($buf);
    $this.$m03 = jn_FloatBufferImpl_get($buf);
    $this.$m10 = jn_FloatBufferImpl_get($buf);
    $this.$m11 = jn_FloatBufferImpl_get($buf);
    $this.$m12 = jn_FloatBufferImpl_get($buf);
    $this.$m13 = jn_FloatBufferImpl_get($buf);
    $this.$m20 = jn_FloatBufferImpl_get($buf);
    $this.$m21 = jn_FloatBufferImpl_get($buf);
    $this.$m22 = jn_FloatBufferImpl_get($buf);
    $this.$m23 = jn_FloatBufferImpl_get($buf);
    $this.$m30 = jn_FloatBufferImpl_get($buf);
    $this.$m31 = jn_FloatBufferImpl_get($buf);
    $this.$m32 = jn_FloatBufferImpl_get($buf);
    $this.$m33 = jn_FloatBufferImpl_get($buf);
    return $this;
}
function nlegv_Matrix4f_store($this, $buf) {
    jn_FloatBufferImpl_put($buf, $this.$m00);
    jn_FloatBufferImpl_put($buf, $this.$m01);
    jn_FloatBufferImpl_put($buf, $this.$m02);
    jn_FloatBufferImpl_put($buf, $this.$m03);
    jn_FloatBufferImpl_put($buf, $this.$m10);
    jn_FloatBufferImpl_put($buf, $this.$m11);
    jn_FloatBufferImpl_put($buf, $this.$m12);
    jn_FloatBufferImpl_put($buf, $this.$m13);
    jn_FloatBufferImpl_put($buf, $this.$m20);
    jn_FloatBufferImpl_put($buf, $this.$m21);
    jn_FloatBufferImpl_put($buf, $this.$m22);
    jn_FloatBufferImpl_put($buf, $this.$m23);
    jn_FloatBufferImpl_put($buf, $this.$m30);
    jn_FloatBufferImpl_put($buf, $this.$m31);
    jn_FloatBufferImpl_put($buf, $this.$m32);
    jn_FloatBufferImpl_put($buf, $this.$m33);
    return $this;
}
function nlegv_Matrix4f_store0($this, $buf) {
    $buf = $buf.data;
    $buf[0] = $this.$m00;
    $buf[1] = $this.$m01;
    $buf[2] = $this.$m02;
    $buf[3] = $this.$m03;
    $buf[4] = $this.$m10;
    $buf[5] = $this.$m11;
    $buf[6] = $this.$m12;
    $buf[7] = $this.$m13;
    $buf[8] = $this.$m20;
    $buf[9] = $this.$m21;
    $buf[10] = $this.$m22;
    $buf[11] = $this.$m23;
    $buf[12] = $this.$m30;
    $buf[13] = $this.$m31;
    $buf[14] = $this.$m32;
    $buf[15] = $this.$m33;
    return $this;
}
function nlegv_Matrix4f_mul($left, $right, $dest) {
    var $m00, $m01, $m02, $m03, $m10, $m11, $m12, $m13, $m20, $m21, $m22, $m23, $m30, $m31, $m32, $m33;
    if ($dest === null) {
        $dest = new nlegv_Matrix4f;
        nlegv_Matrix4f_setIdentity($dest);
    }
    $m00 = $left.$m00 * $right.$m00 + $left.$m10 * $right.$m01 + $left.$m20 * $right.$m02 + $left.$m30 * $right.$m03;
    $m01 = $left.$m01 * $right.$m00 + $left.$m11 * $right.$m01 + $left.$m21 * $right.$m02 + $left.$m31 * $right.$m03;
    $m02 = $left.$m02 * $right.$m00 + $left.$m12 * $right.$m01 + $left.$m22 * $right.$m02 + $left.$m32 * $right.$m03;
    $m03 = $left.$m03 * $right.$m00 + $left.$m13 * $right.$m01 + $left.$m23 * $right.$m02 + $left.$m33 * $right.$m03;
    $m10 = $left.$m00 * $right.$m10 + $left.$m10 * $right.$m11 + $left.$m20 * $right.$m12 + $left.$m30 * $right.$m13;
    $m11 = $left.$m01 * $right.$m10 + $left.$m11 * $right.$m11 + $left.$m21 * $right.$m12 + $left.$m31 * $right.$m13;
    $m12 = $left.$m02 * $right.$m10 + $left.$m12 * $right.$m11 + $left.$m22 * $right.$m12 + $left.$m32 * $right.$m13;
    $m13 = $left.$m03 * $right.$m10 + $left.$m13 * $right.$m11 + $left.$m23 * $right.$m12 + $left.$m33 * $right.$m13;
    $m20 = $left.$m00 * $right.$m20 + $left.$m10 * $right.$m21 + $left.$m20 * $right.$m22 + $left.$m30 * $right.$m23;
    $m21 = $left.$m01 * $right.$m20 + $left.$m11 * $right.$m21 + $left.$m21 * $right.$m22 + $left.$m31 * $right.$m23;
    $m22 = $left.$m02 * $right.$m20 + $left.$m12 * $right.$m21 + $left.$m22 * $right.$m22 + $left.$m32 * $right.$m23;
    $m23 = $left.$m03 * $right.$m20 + $left.$m13 * $right.$m21 + $left.$m23 * $right.$m22 + $left.$m33 * $right.$m23;
    $m30 = $left.$m00 * $right.$m30 + $left.$m10 * $right.$m31 + $left.$m20 * $right.$m32 + $left.$m30 * $right.$m33;
    $m31 = $left.$m01 * $right.$m30 + $left.$m11 * $right.$m31 + $left.$m21 * $right.$m32 + $left.$m31 * $right.$m33;
    $m32 = $left.$m02 * $right.$m30 + $left.$m12 * $right.$m31 + $left.$m22 * $right.$m32 + $left.$m32 * $right.$m33;
    $m33 = $left.$m03 * $right.$m30 + $left.$m13 * $right.$m31 + $left.$m23 * $right.$m32 + $left.$m33 * $right.$m33;
    $dest.$m00 = $m00;
    $dest.$m01 = $m01;
    $dest.$m02 = $m02;
    $dest.$m03 = $m03;
    $dest.$m10 = $m10;
    $dest.$m11 = $m11;
    $dest.$m12 = $m12;
    $dest.$m13 = $m13;
    $dest.$m20 = $m20;
    $dest.$m21 = $m21;
    $dest.$m22 = $m22;
    $dest.$m23 = $m23;
    $dest.$m30 = $m30;
    $dest.$m31 = $m31;
    $dest.$m32 = $m32;
    $dest.$m33 = $m33;
    return $dest;
}
function nlegv_Matrix4f_transform($left, $right, $dest) {
    var $x, $y, $z, $w;
    if ($dest === null)
        $dest = new nlegv_Vector4f;
    $x = $left.$m00 * $right.$x + $left.$m10 * $right.$y + $left.$m20 * $right.$z + $left.$m30 * $right.$w1;
    $y = $left.$m01 * $right.$x + $left.$m11 * $right.$y + $left.$m21 * $right.$z + $left.$m31 * $right.$w1;
    $z = $left.$m02 * $right.$x + $left.$m12 * $right.$y + $left.$m22 * $right.$z + $left.$m32 * $right.$w1;
    $w = $left.$m03 * $right.$x + $left.$m13 * $right.$y + $left.$m23 * $right.$z + $left.$m33 * $right.$w1;
    $dest.$x = $x;
    $dest.$y = $y;
    $dest.$z = $z;
    $dest.$w1 = $w;
    return $dest;
}
function nlegv_Matrix4f_translate0($this, $vec) {
    return nlegv_Matrix4f_translate($this, $vec, $this);
}
function nlegv_Matrix4f_scale($this, $vec) {
    $this.$m00 = $this.$m00 * $vec.$x1;
    $this.$m01 = $this.$m01 * $vec.$x1;
    $this.$m02 = $this.$m02 * $vec.$x1;
    $this.$m03 = $this.$m03 * $vec.$x1;
    $this.$m10 = $this.$m10 * $vec.$y1;
    $this.$m11 = $this.$m11 * $vec.$y1;
    $this.$m12 = $this.$m12 * $vec.$y1;
    $this.$m13 = $this.$m13 * $vec.$y1;
    $this.$m20 = $this.$m20 * $vec.$z2;
    $this.$m21 = $this.$m21 * $vec.$z2;
    $this.$m22 = $this.$m22 * $vec.$z2;
    $this.$m23 = $this.$m23 * $vec.$z2;
    return $this;
}
function nlegv_Matrix4f_rotate0($this, $angle, $axis) {
    return nlegv_Matrix4f_rotate($this, $angle, $axis, $this);
}
function nlegv_Matrix4f_rotate($this, $angle, $axis, $dest) {
    return nlegv_Matrix4f_rotate1($angle, $axis, $this, $dest);
}
function nlegv_Matrix4f_rotate1($angle, $axis, $src, $dest) {
    var var$5, $c, $s, $oneminusc, $xy, $yz, $xz, $xs, $ys, $zs, $f00, $f01, $t13, $f02, $f10, $f11, $f12, $f20, $f21, $f22, $t00, $t01, $t02, $t03, $t10, $t11, $t12;
    if ($dest === null)
        $dest = nlegv_Matrix4f__init_0();
    var$5 = $angle;
    $c = jl_Math_cos(var$5);
    $s = jl_Math_sin(var$5);
    $oneminusc = 1.0 - $c;
    $xy = $axis.$x1 * $axis.$y1;
    $yz = $axis.$y1 * $axis.$z2;
    $xz = $axis.$x1 * $axis.$z2;
    $xs = $axis.$x1 * $s;
    $ys = $axis.$y1 * $s;
    $zs = $axis.$z2 * $s;
    $f00 = $axis.$x1 * $axis.$x1 * $oneminusc + $c;
    $angle = $xy * $oneminusc;
    $f01 = $angle + $zs;
    $t13 = $xz * $oneminusc;
    $f02 = $t13 - $ys;
    $f10 = $angle - $zs;
    $f11 = $axis.$y1 * $axis.$y1 * $oneminusc + $c;
    $angle = $yz * $oneminusc;
    $f12 = $angle + $xs;
    $f20 = $t13 + $ys;
    $f21 = $angle - $xs;
    $f22 = $axis.$z2 * $axis.$z2 * $oneminusc + $c;
    $t00 = $src.$m00 * $f00 + $src.$m10 * $f01 + $src.$m20 * $f02;
    $t01 = $src.$m01 * $f00 + $src.$m11 * $f01 + $src.$m21 * $f02;
    $t02 = $src.$m02 * $f00 + $src.$m12 * $f01 + $src.$m22 * $f02;
    $t03 = $src.$m03 * $f00 + $src.$m13 * $f01 + $src.$m23 * $f02;
    $t10 = $src.$m00 * $f10 + $src.$m10 * $f11 + $src.$m20 * $f12;
    $t11 = $src.$m01 * $f10 + $src.$m11 * $f11 + $src.$m21 * $f12;
    $t12 = $src.$m02 * $f10 + $src.$m12 * $f11 + $src.$m22 * $f12;
    $t13 = $src.$m03 * $f10 + $src.$m13 * $f11 + $src.$m23 * $f12;
    $dest.$m20 = $src.$m00 * $f20 + $src.$m10 * $f21 + $src.$m20 * $f22;
    $dest.$m21 = $src.$m01 * $f20 + $src.$m11 * $f21 + $src.$m21 * $f22;
    $dest.$m22 = $src.$m02 * $f20 + $src.$m12 * $f21 + $src.$m22 * $f22;
    $dest.$m23 = $src.$m03 * $f20 + $src.$m13 * $f21 + $src.$m23 * $f22;
    $dest.$m00 = $t00;
    $dest.$m01 = $t01;
    $dest.$m02 = $t02;
    $dest.$m03 = $t03;
    $dest.$m10 = $t10;
    $dest.$m11 = $t11;
    $dest.$m12 = $t12;
    $dest.$m13 = $t13;
    return $dest;
}
function nlegv_Matrix4f_translate($this, $vec, $dest) {
    if ($dest === null)
        $dest = nlegv_Matrix4f__init_0();
    $dest.$m30 = $dest.$m30 + $this.$m00 * $vec.$x1 + $this.$m10 * $vec.$y1 + $this.$m20 * $vec.$z2;
    $dest.$m31 = $dest.$m31 + $this.$m01 * $vec.$x1 + $this.$m11 * $vec.$y1 + $this.$m21 * $vec.$z2;
    $dest.$m32 = $dest.$m32 + $this.$m02 * $vec.$x1 + $this.$m12 * $vec.$y1 + $this.$m22 * $vec.$z2;
    $dest.$m33 = $dest.$m33 + $this.$m03 * $vec.$x1 + $this.$m13 * $vec.$y1 + $this.$m23 * $vec.$z2;
    return $dest;
}
function nlegv_Matrix4f_determinant($this) {
    return $this.$m00 * ($this.$m11 * $this.$m22 * $this.$m33 + $this.$m12 * $this.$m23 * $this.$m31 + $this.$m13 * $this.$m21 * $this.$m32 - $this.$m13 * $this.$m22 * $this.$m31 - $this.$m11 * $this.$m23 * $this.$m32 - $this.$m12 * $this.$m21 * $this.$m33) - $this.$m01 * ($this.$m10 * $this.$m22 * $this.$m33 + $this.$m12 * $this.$m23 * $this.$m30 + $this.$m13 * $this.$m20 * $this.$m32 - $this.$m13 * $this.$m22 * $this.$m30 - $this.$m10 * $this.$m23 * $this.$m32 - $this.$m12 * $this.$m20 * $this.$m33) + $this.$m02
    * ($this.$m10 * $this.$m21 * $this.$m33 + $this.$m11 * $this.$m23 * $this.$m30 + $this.$m13 * $this.$m20 * $this.$m31 - $this.$m13 * $this.$m21 * $this.$m30 - $this.$m10 * $this.$m23 * $this.$m31 - $this.$m11 * $this.$m20 * $this.$m33) - $this.$m03 * ($this.$m10 * $this.$m21 * $this.$m32 + $this.$m11 * $this.$m22 * $this.$m30 + $this.$m12 * $this.$m20 * $this.$m31 - $this.$m12 * $this.$m21 * $this.$m30 - $this.$m10 * $this.$m22 * $this.$m31 - $this.$m11 * $this.$m20 * $this.$m32);
}
function nlegv_Matrix4f_determinant3x3($t00, $t01, $t02, $t10, $t11, $t12, $t20, $t21, $t22) {
    return $t00 * ($t11 * $t22 - $t12 * $t21) + $t01 * ($t12 * $t20 - $t10 * $t22) + $t02 * ($t10 * $t21 - $t11 * $t20);
}
function nlegv_Matrix4f_invert($this) {
    return nlegv_Matrix4f_invert0($this, $this);
}
function nlegv_Matrix4f_invert0($src, $dest) {
    var $determinant, $determinant_inv, $t00, $t01, $t02, $t03, $t10, $t11, $t12, $t13, $t20, $t21, $t22, $t23, $t30, $t31, $t32, $t33;
    $determinant = nlegv_Matrix4f_determinant($src);
    if ($determinant === 0.0)
        return null;
    if ($dest === null)
        $dest = nlegv_Matrix4f__init_0();
    $determinant_inv = 1.0 / $determinant;
    $t00 = nlegv_Matrix4f_determinant3x3($src.$m11, $src.$m12, $src.$m13, $src.$m21, $src.$m22, $src.$m23, $src.$m31, $src.$m32, $src.$m33);
    $t01 =  -nlegv_Matrix4f_determinant3x3($src.$m10, $src.$m12, $src.$m13, $src.$m20, $src.$m22, $src.$m23, $src.$m30, $src.$m32, $src.$m33);
    $t02 = nlegv_Matrix4f_determinant3x3($src.$m10, $src.$m11, $src.$m13, $src.$m20, $src.$m21, $src.$m23, $src.$m30, $src.$m31, $src.$m33);
    $t03 =  -nlegv_Matrix4f_determinant3x3($src.$m10, $src.$m11, $src.$m12, $src.$m20, $src.$m21, $src.$m22, $src.$m30, $src.$m31, $src.$m32);
    $t10 =  -nlegv_Matrix4f_determinant3x3($src.$m01, $src.$m02, $src.$m03, $src.$m21, $src.$m22, $src.$m23, $src.$m31, $src.$m32, $src.$m33);
    $t11 = nlegv_Matrix4f_determinant3x3($src.$m00, $src.$m02, $src.$m03, $src.$m20, $src.$m22, $src.$m23, $src.$m30, $src.$m32, $src.$m33);
    $t12 =  -nlegv_Matrix4f_determinant3x3($src.$m00, $src.$m01, $src.$m03, $src.$m20, $src.$m21, $src.$m23, $src.$m30, $src.$m31, $src.$m33);
    $t13 = nlegv_Matrix4f_determinant3x3($src.$m00, $src.$m01, $src.$m02, $src.$m20, $src.$m21, $src.$m22, $src.$m30, $src.$m31, $src.$m32);
    $t20 = nlegv_Matrix4f_determinant3x3($src.$m01, $src.$m02, $src.$m03, $src.$m11, $src.$m12, $src.$m13, $src.$m31, $src.$m32, $src.$m33);
    $t21 =  -nlegv_Matrix4f_determinant3x3($src.$m00, $src.$m02, $src.$m03, $src.$m10, $src.$m12, $src.$m13, $src.$m30, $src.$m32, $src.$m33);
    $t22 = nlegv_Matrix4f_determinant3x3($src.$m00, $src.$m01, $src.$m03, $src.$m10, $src.$m11, $src.$m13, $src.$m30, $src.$m31, $src.$m33);
    $t23 =  -nlegv_Matrix4f_determinant3x3($src.$m00, $src.$m01, $src.$m02, $src.$m10, $src.$m11, $src.$m12, $src.$m30, $src.$m31, $src.$m32);
    $t30 =  -nlegv_Matrix4f_determinant3x3($src.$m01, $src.$m02, $src.$m03, $src.$m11, $src.$m12, $src.$m13, $src.$m21, $src.$m22, $src.$m23);
    $t31 = nlegv_Matrix4f_determinant3x3($src.$m00, $src.$m02, $src.$m03, $src.$m10, $src.$m12, $src.$m13, $src.$m20, $src.$m22, $src.$m23);
    $t32 =  -nlegv_Matrix4f_determinant3x3($src.$m00, $src.$m01, $src.$m03, $src.$m10, $src.$m11, $src.$m13, $src.$m20, $src.$m21, $src.$m23);
    $t33 = nlegv_Matrix4f_determinant3x3($src.$m00, $src.$m01, $src.$m02, $src.$m10, $src.$m11, $src.$m12, $src.$m20, $src.$m21, $src.$m22);
    $dest.$m00 = $t00 * $determinant_inv;
    $dest.$m11 = $t11 * $determinant_inv;
    $dest.$m22 = $t22 * $determinant_inv;
    $dest.$m33 = $t33 * $determinant_inv;
    $dest.$m01 = $t10 * $determinant_inv;
    $dest.$m10 = $t01 * $determinant_inv;
    $dest.$m20 = $t02 * $determinant_inv;
    $dest.$m02 = $t20 * $determinant_inv;
    $dest.$m12 = $t21 * $determinant_inv;
    $dest.$m21 = $t12 * $determinant_inv;
    $dest.$m03 = $t30 * $determinant_inv;
    $dest.$m30 = $t03 * $determinant_inv;
    $dest.$m13 = $t31 * $determinant_inv;
    $dest.$m31 = $t13 * $determinant_inv;
    $dest.$m32 = $t23 * $determinant_inv;
    $dest.$m23 = $t32 * $determinant_inv;
    return $dest;
}
function nlegv_Matrix4f_equals($this, $m) {
    var var$2;
    a: {
        if ($m instanceof nlegv_Matrix4f) {
            b: {
                c: {
                    $m = $m;
                    if ($this.$m00 !== $m.$m00)
                        break c;
                    if ($this.$m01 !== $m.$m01)
                        break c;
                    if ($this.$m02 !== $m.$m02)
                        break c;
                    if ($this.$m03 !== $m.$m03)
                        break c;
                    if ($this.$m10 !== $m.$m10)
                        break c;
                    if ($this.$m11 !== $m.$m11)
                        break c;
                    if ($this.$m12 !== $m.$m12)
                        break c;
                    if ($this.$m13 !== $m.$m13)
                        break c;
                    if ($this.$m20 !== $m.$m20)
                        break c;
                    if ($this.$m21 !== $m.$m21)
                        break c;
                    if ($this.$m22 !== $m.$m22)
                        break c;
                    if ($this.$m23 !== $m.$m23)
                        break c;
                    if ($this.$m30 !== $m.$m30)
                        break c;
                    if ($this.$m31 !== $m.$m31)
                        break c;
                    if ($this.$m32 !== $m.$m32)
                        break c;
                    if ($this.$m33 === $m.$m33) {
                        var$2 = 1;
                        break b;
                    }
                }
                var$2 = 0;
            }
            if (var$2) {
                var$2 = 1;
                break a;
            }
        }
        var$2 = 0;
    }
    return var$2;
}
function nlegv_ReadableVector() {
}
function nlegv_Vector() {
    jl_Object.call(this);
}
function nlegv_Vector_length($this) {
    return jl_Math_sqrt(nlegv_Vector4f_lengthSquared($this));
}
function nlegv_Vector_normalise($this) {
    var $len, var$2;
    $len = nlegv_Vector_length($this);
    if ($len !== 0.0)
        return nlegv_Vector4f_scale($this, 1.0 / $len);
    var$2 = new jl_IllegalStateException;
    jl_Throwable__init_(var$2, $rt_s(568));
    $rt_throw(var$2);
}
function nlegv_ReadableVector2f() {
}
function nlegv_ReadableVector3f() {
}
function nlegv_WritableVector2f() {
}
function nlegv_WritableVector3f() {
}
function nlegv_Vector3f() {
    var a = this; nlegv_Vector.call(a);
    a.$x1 = 0.0;
    a.$y1 = 0.0;
    a.$z2 = 0.0;
}
function nlegv_Vector3f__init_0() {
    var var_0 = new nlegv_Vector3f();
    nlegv_Vector3f__init_(var_0);
    return var_0;
}
function nlegv_Vector3f__init_($this) {
    return;
}
function nlegv_Vector3f_set($this, $x, $y, $z) {
    $this.$x1 = $x;
    $this.$y1 = $y;
    $this.$z2 = $z;
}
function nlegv_ReadableVector4f() {
}
function nlegv_WritableVector4f() {
}
function nlegv_Vector4f() {
    var a = this; nlegv_Vector.call(a);
    a.$x = 0.0;
    a.$y = 0.0;
    a.$z = 0.0;
    a.$w1 = 0.0;
}
function nlegv_Vector4f__init_0() {
    var var_0 = new nlegv_Vector4f();
    nlegv_Vector4f__init_(var_0);
    return var_0;
}
function nlegv_Vector4f__init_($this) {
    return;
}
function nlegv_Vector4f_set0($this, $x, $y, $z, $w) {
    $this.$x = $x;
    $this.$y = $y;
    $this.$z = $z;
    $this.$w1 = $w;
}
function nlegv_Vector4f_set($this, $src) {
    $this.$x = $src.$x;
    $this.$y = $src.$y;
    $this.$z = $src.$z;
    $this.$w1 = $src.$w1;
    return $this;
}
function nlegv_Vector4f_lengthSquared($this) {
    return $this.$x * $this.$x + $this.$y * $this.$y + $this.$z * $this.$z + $this.$w1 * $this.$w1;
}
function nlegv_Vector4f_scale($this, $scale) {
    $this.$x = $this.$x * $scale;
    $this.$y = $this.$y * $scale;
    $this.$z = $this.$z * $scale;
    $this.$w1 = $this.$w1 * $scale;
    return $this;
}
function nlegv_Vector4f_getX($this) {
    return $this.$x;
}
function nlegv_Vector4f_getY($this) {
    return $this.$y;
}
function nlegv_Vector4f_getZ($this) {
    return $this.$z;
}
function nlegv_Vector4f_getW($this) {
    return $this.$w1;
}
function nlegv_Vector4f_equals($this, $obj) {
    var $other;
    if ($this === $obj)
        return 1;
    if ($obj === null)
        return 0;
    if (jl_Object_getClass($this) !== jl_Object_getClass($obj))
        return 0;
    $other = $obj;
    if ($this.$x === $other.$x && $this.$y === $other.$y && $this.$z === $other.$z && $this.$w1 === $other.$w1)
        return 1;
    return 0;
}
function jn_ByteBufferImpl() {
    var a = this; jn_ByteBuffer.call(a);
    a.$direct = 0;
    a.$readOnly2 = 0;
}
function jn_ByteBufferImpl__init_(var_0, var_1) {
    var var_2 = new jn_ByteBufferImpl();
    jn_ByteBufferImpl__init_1(var_2, var_0, var_1);
    return var_2;
}
function jn_ByteBufferImpl__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new jn_ByteBufferImpl();
    jn_ByteBufferImpl__init_2(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
function jn_ByteBufferImpl__init_1($this, $capacity, $direct) {
    jn_ByteBufferImpl__init_2($this, 0, $capacity, $rt_createByteArray($capacity), 0, $capacity, $direct, 0);
}
function jn_ByteBufferImpl__init_2($this, $start, $capacity, $array, $position, $limit, $direct, $readOnly) {
    jn_Buffer__init_0($this, $capacity);
    $this.$order = jn_ByteOrder_BIG_ENDIAN;
    $this.$start5 = $start;
    $this.$array0 = $array;
    $this.$position = $position;
    $this.$limit = $limit;
    $this.$direct = $direct;
    $this.$readOnly2 = $readOnly;
}
function jn_ByteBufferImpl_slice($this) {
    return jn_ByteBufferImpl__init_0($this.$position, $this.$limit - $this.$position | 0, $this.$array0, 0, $this.$limit - $this.$position | 0, $this.$direct, $this.$readOnly2);
}
function jn_ByteBufferImpl_get($this) {
    var var$1, var$2, var$3, var$4;
    if ($this.$position >= $this.$limit) {
        var$1 = new jn_BufferUnderflowException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    var$2 = $this.$array0.data;
    var$3 = $this.$start5;
    var$4 = $this.$position;
    $this.$position = var$4 + 1 | 0;
    return var$2[var$3 + var$4 | 0];
}
function jn_ByteBufferImpl_get0($this, $index) {
    var var$2, var$3;
    if ($index >= 0 && $index < $this.$limit)
        return $this.$array0.data[$this.$start5 + $index | 0];
    var$2 = new jl_IndexOutOfBoundsException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(569));
    jl_AbstractStringBuilder_append2(var$3, $index);
    jl_AbstractStringBuilder_append(var$3, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$3, $this.$limit);
    jl_AbstractStringBuilder_append(var$3, $rt_s(68));
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$2);
}
function jn_ByteBufferImpl_put($this, $index, $b) {
    var var$3, var$4;
    if ($this.$readOnly2) {
        var$3 = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0(var$3);
        $rt_throw(var$3);
    }
    if ($index >= 0 && $index < $this.$limit) {
        $this.$array0.data[$this.$start5 + $index | 0] = $b;
        return $this;
    }
    var$4 = new jl_IndexOutOfBoundsException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(569));
    jl_AbstractStringBuilder_append2(var$3, $index);
    jl_AbstractStringBuilder_append(var$3, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$3, $this.$limit);
    jl_AbstractStringBuilder_append(var$3, $rt_s(68));
    jl_Throwable__init_(var$4, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$4);
}
function jn_ByteBufferImpl_compact($this) {
    var var$1, $sz, $dst, $src, $i, var$6, var$7, var$8, var$9;
    if ($this.$readOnly2) {
        var$1 = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    a: {
        $sz = jn_Buffer_remaining($this);
        if ($this.$position > 0) {
            $dst = $this.$start5;
            $src = $this.$start5 + $this.$position | 0;
            $i = 0;
            while (true) {
                if ($i >= $sz)
                    break a;
                var$6 = $this.$array0.data;
                var$7 = $dst + 1 | 0;
                var$8 = $this.$array0.data;
                var$9 = $src + 1 | 0;
                var$6[$dst] = var$8[$src];
                $i = $i + 1 | 0;
                $dst = var$7;
                $src = var$9;
            }
        }
    }
    $this.$position = $sz;
    $this.$limit = $this.$capacity;
    $this.$mark1 = (-1);
    return $this;
}
function jn_ByteBufferImpl_isReadOnly($this) {
    return $this.$readOnly2;
}
function jn_ByteBufferImpl_putShort($this, $value) {
    var var$2, var$3, var$4, var$5, var$6;
    if ($this.$readOnly2) {
        var$2 = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    if (($this.$position + 1 | 0) >= $this.$limit) {
        var$2 = new jn_BufferOverflowException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    if ($this.$order !== jn_ByteOrder_BIG_ENDIAN) {
        var$3 = $this.$array0.data;
        var$4 = $this.$start5;
        var$5 = $this.$position;
        $this.$position = var$5 + 1 | 0;
        var$3[var$4 + var$5 | 0] = $value << 24 >> 24;
        var$3 = $this.$array0.data;
        var$6 = $this.$start5;
        var$4 = $this.$position;
        $this.$position = var$4 + 1 | 0;
        var$3[var$6 + var$4 | 0] = $value >> 8 << 24 >> 24;
    } else {
        var$3 = $this.$array0.data;
        var$6 = $this.$start5;
        var$4 = $this.$position;
        $this.$position = var$4 + 1 | 0;
        var$3[var$6 + var$4 | 0] = $value >> 8 << 24 >> 24;
        var$3 = $this.$array0.data;
        var$6 = $this.$start5;
        var$4 = $this.$position;
        $this.$position = var$4 + 1 | 0;
        var$3[var$6 + var$4 | 0] = $value << 24 >> 24;
    }
    return $this;
}
function jn_ByteBufferImpl_getShort($this, $index) {
    var $a, $b, var$4, var$5;
    if ($index >= 0 && ($index + 1 | 0) < $this.$limit) {
        $a = $this.$array0.data[$this.$start5 + $index | 0] & 255;
        $b = $this.$array0.data[($this.$start5 + $index | 0) + 1 | 0] & 255;
        if ($this.$order !== jn_ByteOrder_BIG_ENDIAN)
            return ($b << 8 | $a) << 16 >> 16;
        return ($a << 8 | $b) << 16 >> 16;
    }
    var$4 = new jl_IndexOutOfBoundsException;
    var$5 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$5);
    jl_AbstractStringBuilder_append(var$5, $rt_s(569));
    jl_AbstractStringBuilder_append2(var$5, $index);
    jl_AbstractStringBuilder_append(var$5, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$5, $this.$limit - 1 | 0);
    jl_AbstractStringBuilder_append(var$5, $rt_s(68));
    jl_Throwable__init_(var$4, jl_AbstractStringBuilder_toString(var$5));
    $rt_throw(var$4);
}
function jn_ByteBufferImpl_asIntBuffer($this) {
    var $sz, var$2;
    $sz = jn_Buffer_remaining($this) / 4 | 0;
    if ($this.$order !== jn_ByteOrder_BIG_ENDIAN) {
        var$2 = new jn_IntBufferOverByteBufferLittleEndian;
        jn_IntBufferOverByteBuffer__init_(var$2, $this.$start5 + $this.$position | 0, $sz, $this, 0, $sz, $this.$readOnly2);
        return var$2;
    }
    var$2 = new jn_IntBufferOverByteBufferBigEndian;
    jn_IntBufferOverByteBuffer__init_(var$2, $this.$start5 + $this.$position | 0, $sz, $this, 0, $sz, $this.$readOnly2);
    return var$2;
}
function jn_ByteBufferImpl_asFloatBuffer($this) {
    var $sz, var$2;
    $sz = jn_Buffer_remaining($this) / 4 | 0;
    if ($this.$order !== jn_ByteOrder_LITTLE_ENDIAN) {
        var$2 = new jn_FloatBufferOverByteBufferLittleEndian;
        jn_FloatBufferOverByteBuffer__init_(var$2, $this.$start5 + $this.$position | 0, $sz, $this, 0, $sz, $this.$readOnly2);
        return var$2;
    }
    var$2 = new jn_FloatBufferOverByteBufferBigEndian;
    jn_FloatBufferOverByteBuffer__init_(var$2, $this.$start5 + $this.$position | 0, $sz, $this, 0, $sz, $this.$readOnly2);
    return var$2;
}
function jn_IntBufferImpl() {
    jn_IntBuffer.call(this);
}
function jn_IntBufferImpl__init_0(var_0, var_1, var_2) {
    var var_3 = new jn_IntBufferImpl();
    jn_IntBufferImpl__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
function jn_IntBufferImpl__init_($this, $capacity, $position, $limit) {
    jn_Buffer__init_0($this, $capacity);
    $this.$position = $position;
    $this.$limit = $limit;
}
function jn_IntBufferImpl_get($this) {
    var var$1, var$2;
    if ($this.$position < $this.$limit) {
        var$1 = $this.$position;
        $this.$position = var$1 + 1 | 0;
        return $this.$getElement(var$1);
    }
    var$2 = new jn_BufferUnderflowException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function jn_IntBufferImpl_put($this, $b) {
    var var$2, var$3;
    if ($this.$readOnly1()) {
        var$2 = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    if ($this.$position < $this.$limit) {
        var$3 = $this.$position;
        $this.$position = var$3 + 1 | 0;
        $this.$putElement(var$3, $b);
        return $this;
    }
    var$2 = new jn_BufferOverflowException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function jn_IntBufferImpl_put0($this, $index, $b) {
    var var$3, var$4;
    if ($this.$readOnly1()) {
        var$3 = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0(var$3);
        $rt_throw(var$3);
    }
    if ($index >= 0 && $index < $this.$limit) {
        $this.$putElement($index, $b);
        return $this;
    }
    var$4 = new jl_IndexOutOfBoundsException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(569));
    jl_AbstractStringBuilder_append2(var$3, $index);
    jl_AbstractStringBuilder_append(var$3, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$3, $this.$limit);
    jl_AbstractStringBuilder_append(var$3, $rt_s(68));
    jl_Throwable__init_(var$4, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$4);
}
function jn_IntBufferImpl_isReadOnly($this) {
    return $this.$readOnly1();
}
function jn_IntBufferOverArray() {
    var a = this; jn_IntBufferImpl.call(a);
    a.$readOnly0 = 0;
    a.$start1 = 0;
    a.$array4 = null;
}
function jn_IntBufferOverArray_getElement($this, $index) {
    return $this.$array4.data[$index + $this.$start1 | 0];
}
function jn_IntBufferOverArray_putElement($this, $index, $value) {
    $this.$array4.data[$index + $this.$start1 | 0] = $value;
}
function jn_IntBufferOverArray_readOnly($this) {
    return $this.$readOnly0;
}
function nms_NBTTagByte() {
    nms_NBTBase.call(this);
    this.$data0 = 0;
}
function nms_NBTTagByte__init_(var_0, var_1) {
    var var_2 = new nms_NBTTagByte();
    nms_NBTTagByte__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_NBTTagByte__init_0($this, $par1Str, $par2) {
    nms_NBTBase__init_0($this, $par1Str);
    $this.$data0 = $par2;
}
function nms_NBTTagByte_write($this, $par1DataOutput) {
    ji_DataOutputStream_writeByte($par1DataOutput, $this.$data0);
}
function nms_NBTTagByte_load($this, $par1DataInput) {
    $this.$data0 = ji_DataInputStream_readByte($par1DataInput);
}
function nms_NBTTagByte_getId($this) {
    return 1;
}
function nms_NBTTagByte_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    jl_AbstractStringBuilder_append2(var$1, $this.$data0);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_NBTTagByte_copy($this) {
    return nms_NBTTagByte__init_(nms_NBTBase_getName($this), $this.$data0);
}
function nms_NBTTagByte_equals($this, $par1Obj) {
    var $var2;
    if (!nms_NBTBase_equals($this, $par1Obj))
        return 0;
    $var2 = $par1Obj;
    return $this.$data0 != $var2.$data0 ? 0 : 1;
}
function nms_NBTTagByte_hashCode($this) {
    return nms_NBTBase_hashCode($this) ^ $this.$data0;
}
function nms_NBTTagShort() {
    nms_NBTBase.call(this);
    this.$data1 = 0;
}
function nms_NBTTagShort__init_(var_0, var_1) {
    var var_2 = new nms_NBTTagShort();
    nms_NBTTagShort__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_NBTTagShort__init_0($this, $par1Str, $par2) {
    nms_NBTBase__init_0($this, $par1Str);
    $this.$data1 = $par2;
}
function nms_NBTTagShort_write($this, $par1DataOutput) {
    ji_DataOutputStream_writeShort($par1DataOutput, $this.$data1);
}
function nms_NBTTagShort_load($this, $par1DataInput) {
    $this.$data1 = ji_DataInputStream_readShort($par1DataInput);
}
function nms_NBTTagShort_getId($this) {
    return 2;
}
function nms_NBTTagShort_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    jl_AbstractStringBuilder_append2(var$1, $this.$data1);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_NBTTagShort_copy($this) {
    return nms_NBTTagShort__init_(nms_NBTBase_getName($this), $this.$data1);
}
function nms_NBTTagShort_equals($this, $par1Obj) {
    var $var2;
    if (!nms_NBTBase_equals($this, $par1Obj))
        return 0;
    $var2 = $par1Obj;
    return $this.$data1 != $var2.$data1 ? 0 : 1;
}
function nms_NBTTagShort_hashCode($this) {
    return nms_NBTBase_hashCode($this) ^ $this.$data1;
}
function nms_NBTTagInt() {
    nms_NBTBase.call(this);
    this.$data2 = 0;
}
function nms_NBTTagInt__init_(var_0, var_1) {
    var var_2 = new nms_NBTTagInt();
    nms_NBTTagInt__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_NBTTagInt__init_0($this, $par1Str, $par2) {
    nms_NBTBase__init_0($this, $par1Str);
    $this.$data2 = $par2;
}
function nms_NBTTagInt_write($this, $par1DataOutput) {
    ji_DataOutputStream_writeInt($par1DataOutput, $this.$data2);
}
function nms_NBTTagInt_load($this, $par1DataInput) {
    $this.$data2 = ji_DataInputStream_readInt($par1DataInput);
}
function nms_NBTTagInt_getId($this) {
    return 3;
}
function nms_NBTTagInt_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    jl_AbstractStringBuilder_append2(var$1, $this.$data2);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_NBTTagInt_copy($this) {
    return nms_NBTTagInt__init_(nms_NBTBase_getName($this), $this.$data2);
}
function nms_NBTTagInt_equals($this, $par1Obj) {
    var $var2;
    if (!nms_NBTBase_equals($this, $par1Obj))
        return 0;
    $var2 = $par1Obj;
    return $this.$data2 != $var2.$data2 ? 0 : 1;
}
function nms_NBTTagInt_hashCode($this) {
    return nms_NBTBase_hashCode($this) ^ $this.$data2;
}
function nms_NBTTagLong() {
    nms_NBTBase.call(this);
    this.$data7 = Long_ZERO;
}
function nms_NBTTagLong_write($this, $par1DataOutput) {
    ji_DataOutputStream_writeLong($par1DataOutput, $this.$data7);
}
function nms_NBTTagLong_load($this, $par1DataInput) {
    $this.$data7 = ji_DataInputStream_readLong($par1DataInput);
}
function nms_NBTTagLong_getId($this) {
    return 4;
}
function nms_NBTTagLong_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    return jl_AbstractStringBuilder_toString(jl_StringBuilder_append2(var$1, $this.$data7));
}
function nms_NBTTagLong_copy($this) {
    var var$1, var$2, var$3;
    var$1 = new nms_NBTTagLong;
    var$2 = nms_NBTBase_getName($this);
    var$3 = $this.$data7;
    nms_NBTBase__init_0(var$1, var$2);
    var$1.$data7 = var$3;
    return var$1;
}
function nms_NBTTagLong_equals($this, $par1Obj) {
    var $var2;
    if (!nms_NBTBase_equals($this, $par1Obj))
        return 0;
    $var2 = $par1Obj;
    return Long_ne($this.$data7, $var2.$data7) ? 0 : 1;
}
function nms_NBTTagLong_hashCode($this) {
    return nms_NBTBase_hashCode($this) ^ Long_xor($this.$data7, Long_shru($this.$data7, 32)).lo;
}
function nms_NBTTagFloat() {
    nms_NBTBase.call(this);
    this.$data3 = 0.0;
}
function nms_NBTTagFloat__init_(var_0, var_1) {
    var var_2 = new nms_NBTTagFloat();
    nms_NBTTagFloat__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_NBTTagFloat__init_0($this, $par1Str, $par2) {
    nms_NBTBase__init_0($this, $par1Str);
    $this.$data3 = $par2;
}
function nms_NBTTagFloat_write($this, $par1DataOutput) {
    ji_DataOutputStream_writeFloat($par1DataOutput, $this.$data3);
}
function nms_NBTTagFloat_load($this, $par1DataInput) {
    $this.$data3 = ji_DataInputStream_readFloat($par1DataInput);
}
function nms_NBTTagFloat_getId($this) {
    return 5;
}
function nms_NBTTagFloat_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    return jl_AbstractStringBuilder_toString(jl_StringBuilder_append3(var$1, $this.$data3));
}
function nms_NBTTagFloat_copy($this) {
    return nms_NBTTagFloat__init_(nms_NBTBase_getName($this), $this.$data3);
}
function nms_NBTTagFloat_equals($this, $par1Obj) {
    var $var2;
    if (!nms_NBTBase_equals($this, $par1Obj))
        return 0;
    $var2 = $par1Obj;
    return $this.$data3 !== $var2.$data3 ? 0 : 1;
}
function nms_NBTTagFloat_hashCode($this) {
    return nms_NBTBase_hashCode($this) ^ $rt_floatToIntBits($this.$data3);
}
function nms_NBTTagDouble() {
    nms_NBTBase.call(this);
    this.$data8 = 0.0;
}
function nms_NBTTagDouble_write($this, $par1DataOutput) {
    ji_DataOutputStream_writeDouble($par1DataOutput, $this.$data8);
}
function nms_NBTTagDouble_load($this, $par1DataInput) {
    $this.$data8 = ji_DataInputStream_readDouble($par1DataInput);
}
function nms_NBTTagDouble_getId($this) {
    return 6;
}
function nms_NBTTagDouble_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    return jl_AbstractStringBuilder_toString(jl_StringBuilder_append4(var$1, $this.$data8));
}
function nms_NBTTagDouble_copy($this) {
    var var$1, var$2, var$3;
    var$1 = new nms_NBTTagDouble;
    var$2 = nms_NBTBase_getName($this);
    var$3 = $this.$data8;
    nms_NBTBase__init_0(var$1, var$2);
    var$1.$data8 = var$3;
    return var$1;
}
function nms_NBTTagDouble_equals($this, $par1Obj) {
    var $var2;
    if (!nms_NBTBase_equals($this, $par1Obj))
        return 0;
    $var2 = $par1Obj;
    return $this.$data8 !== $var2.$data8 ? 0 : 1;
}
function nms_NBTTagDouble_hashCode($this) {
    var $var1;
    $var1 = $rt_doubleToLongBits($this.$data8);
    return nms_NBTBase_hashCode($this) ^ Long_xor($var1, Long_shru($var1, 32)).lo;
}
function nms_NBTTagByteArray() {
    nms_NBTBase.call(this);
    this.$byteArray = null;
}
function nms_NBTTagByteArray__init_(var_0, var_1) {
    var var_2 = new nms_NBTTagByteArray();
    nms_NBTTagByteArray__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_NBTTagByteArray__init_0($this, $par1Str, $par2ArrayOfByte) {
    nms_NBTBase__init_0($this, $par1Str);
    $this.$byteArray = $par2ArrayOfByte;
}
function nms_NBTTagByteArray_write($this, $par1DataOutput) {
    ji_DataOutputStream_writeInt($par1DataOutput, $this.$byteArray.data.length);
    ji_OutputStream_write($par1DataOutput, $this.$byteArray);
}
function nms_NBTTagByteArray_load($this, $par1DataInput) {
    $this.$byteArray = $rt_createByteArray(ji_DataInputStream_readInt($par1DataInput));
    ji_DataInputStream_readFully($par1DataInput, $this.$byteArray);
}
function nms_NBTTagByteArray_getId($this) {
    return 7;
}
function nms_NBTTagByteArray_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(346));
    jl_AbstractStringBuilder_append2(var$1, $this.$byteArray.data.length);
    jl_AbstractStringBuilder_append(var$1, $rt_s(570));
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_NBTTagByteArray_copy($this) {
    var $var1;
    $var1 = $rt_createByteArray($this.$byteArray.data.length);
    jl_System_arraycopy($this.$byteArray, 0, $var1, 0, $this.$byteArray.data.length);
    return nms_NBTTagByteArray__init_(nms_NBTBase_getName($this), $var1);
}
function nms_NBTTagByteArray_equals($this, $par1Obj) {
    return !nms_NBTBase_equals($this, $par1Obj) ? 0 : ju_Arrays_equals0($this.$byteArray, $par1Obj.$byteArray);
}
function nms_NBTTagByteArray_hashCode($this) {
    var var$1, var$2, var$3, var$4, var$5;
    var$1 = nms_NBTBase_hashCode($this);
    var$2 = $this.$byteArray;
    if (var$2 === null)
        var$3 = 0;
    else {
        var$3 = 1;
        var$4 = 0;
        while (true) {
            var$5 = var$2.data;
            if (var$4 >= var$5.length)
                break;
            var$3 = (31 * var$3 | 0) + var$5[var$4] | 0;
            var$4 = var$4 + 1 | 0;
        }
    }
    return var$1 ^ var$3;
}
function nms_NBTTagString() {
    nms_NBTBase.call(this);
    this.$data4 = null;
}
function nms_NBTTagString__init_(var_0, var_1) {
    var var_2 = new nms_NBTTagString();
    nms_NBTTagString__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_NBTTagString__init_0($this, $par1Str, $par2Str) {
    nms_NBTBase__init_0($this, $par1Str);
    $this.$data4 = $par2Str;
    if ($par2Str !== null)
        return;
    $par2Str = new jl_IllegalArgumentException;
    jl_Throwable__init_($par2Str, $rt_s(571));
    $rt_throw($par2Str);
}
function nms_NBTTagString_write($this, $par1DataOutput) {
    ji_DataOutputStream_writeUTF($par1DataOutput, $this.$data4);
}
function nms_NBTTagString_load($this, $par1DataInput) {
    $this.$data4 = ji_DataInputStream_readUTF($par1DataInput);
}
function nms_NBTTagString_getId($this) {
    return 8;
}
function nms_NBTTagString_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    jl_AbstractStringBuilder_append(var$1, $this.$data4);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_NBTTagString_copy($this) {
    return nms_NBTTagString__init_(nms_NBTBase_getName($this), $this.$data4);
}
function nms_NBTTagString_equals($this, $par1Obj) {
    var $var2, var$3;
    if (!nms_NBTBase_equals($this, $par1Obj))
        return 0;
    a: {
        b: {
            $var2 = $par1Obj;
            if (!($this.$data4 === null && $var2.$data4 === null)) {
                if ($this.$data4 === null)
                    break b;
                if (!jl_String_equals($this.$data4, $var2.$data4))
                    break b;
            }
            var$3 = 1;
            break a;
        }
        var$3 = 0;
    }
    return var$3;
}
function nms_NBTTagString_hashCode($this) {
    return nms_NBTBase_hashCode($this) ^ jl_String_hashCode($this.$data4);
}
function nms_NBTTagIntArray() {
    nms_NBTBase.call(this);
    this.$intArray = null;
}
function nms_NBTTagIntArray__init_(var_0, var_1) {
    var var_2 = new nms_NBTTagIntArray();
    nms_NBTTagIntArray__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_NBTTagIntArray__init_0($this, $par1Str, $par2ArrayOfInteger) {
    nms_NBTBase__init_0($this, $par1Str);
    $this.$intArray = $par2ArrayOfInteger;
}
function nms_NBTTagIntArray_write($this, $par1DataOutput) {
    var $var2;
    ji_DataOutputStream_writeInt($par1DataOutput, $this.$intArray.data.length);
    $var2 = 0;
    while ($var2 < $this.$intArray.data.length) {
        ji_DataOutputStream_writeInt($par1DataOutput, $this.$intArray.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
}
function nms_NBTTagIntArray_load($this, $par1DataInput) {
    var $var2, $var3;
    $var2 = ji_DataInputStream_readInt($par1DataInput);
    $this.$intArray = $rt_createIntArray($var2);
    $var3 = 0;
    while ($var3 < $var2) {
        $this.$intArray.data[$var3] = ji_DataInputStream_readInt($par1DataInput);
        $var3 = $var3 + 1 | 0;
    }
}
function nms_NBTTagIntArray_getId($this) {
    return 11;
}
function nms_NBTTagIntArray_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(346));
    jl_AbstractStringBuilder_append2(var$1, $this.$intArray.data.length);
    jl_AbstractStringBuilder_append(var$1, $rt_s(570));
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_NBTTagIntArray_copy($this) {
    var $var1;
    $var1 = $rt_createIntArray($this.$intArray.data.length);
    jl_System_arraycopy($this.$intArray, 0, $var1, 0, $this.$intArray.data.length);
    return nms_NBTTagIntArray__init_(nms_NBTBase_getName($this), $var1);
}
function nms_NBTTagIntArray_equals($this, $par1Obj) {
    var $var2, var$3, var$4, var$5, var$6;
    if (!nms_NBTBase_equals($this, $par1Obj))
        return 0;
    a: {
        b: {
            $var2 = $par1Obj;
            if (!($this.$intArray === null && $var2.$intArray === null)) {
                if ($this.$intArray === null)
                    break b;
                c: {
                    var$3 = $this.$intArray;
                    var$4 = $var2.$intArray;
                    if (var$3 === var$4)
                        var$5 = 1;
                    else {
                        if (var$3 !== null && var$4 !== null) {
                            var$3 = var$3.data;
                            var$4 = var$4.data;
                            var$5 = var$3.length;
                            if (var$5 == var$4.length) {
                                var$6 = 0;
                                while (var$6 < var$5) {
                                    if (var$3[var$6] != var$4[var$6]) {
                                        var$5 = 0;
                                        break c;
                                    }
                                    var$6 = var$6 + 1 | 0;
                                }
                                var$5 = 1;
                                break c;
                            }
                        }
                        var$5 = 0;
                    }
                }
                if (!var$5)
                    break b;
            }
            var$5 = 1;
            break a;
        }
        var$5 = 0;
    }
    return var$5;
}
function nms_NBTTagIntArray_hashCode($this) {
    return nms_NBTBase_hashCode($this) ^ ju_Arrays_hashCode0($this.$intArray);
}
function jl_NullPointerException() {
    jl_RuntimeException.call(this);
}
function jl_NullPointerException__init_() {
    var var_0 = new jl_NullPointerException();
    jl_NullPointerException__init_0(var_0);
    return var_0;
}
function jl_NullPointerException__init_0($this) {
    jl_Throwable__init_0($this);
}
function jur_AbstractSet() {
    var a = this; jl_Object.call(a);
    a.$next4 = null;
    a.$isSecondPassVisited = 0;
    a.$index = null;
    a.$type = 0;
}
var jur_AbstractSet_counter = 0;
function jur_AbstractSet__init_0() {
    var var_0 = new jur_AbstractSet();
    jur_AbstractSet__init_(var_0);
    return var_0;
}
function jur_AbstractSet__init_1(var_0) {
    var var_1 = new jur_AbstractSet();
    jur_AbstractSet__init_2(var_1, var_0);
    return var_1;
}
function jur_AbstractSet__init_($this) {
    var var$1, var$2;
    var$1 = new jl_Integer;
    var$2 = jur_AbstractSet_counter;
    jur_AbstractSet_counter = var$2 + 1 | 0;
    jl_Integer__init_0(var$1, var$2);
    $this.$index = jl_Integer_toString0(var$1);
}
function jur_AbstractSet__init_2($this, $n) {
    var var$2, var$3;
    var$2 = new jl_Integer;
    var$3 = jur_AbstractSet_counter;
    jur_AbstractSet_counter = var$3 + 1 | 0;
    jl_Integer__init_0(var$2, var$3);
    $this.$index = jl_Integer_toString0(var$2);
    $this.$next4 = $n;
}
function jur_AbstractSet_find($this, $stringIndex, $testString, $matchResult) {
    var $length;
    $length = $matchResult.$rightBound0;
    while (true) {
        if ($stringIndex > $length)
            return (-1);
        if ($this.$matches0($stringIndex, $testString, $matchResult) >= 0)
            break;
        $stringIndex = $stringIndex + 1 | 0;
    }
    return $stringIndex;
}
function jur_AbstractSet_findBack($this, $stringIndex, $startSearch, $testString, $matchResult) {
    while (true) {
        if ($startSearch < $stringIndex)
            return (-1);
        if ($this.$matches0($startSearch, $testString, $matchResult) >= 0)
            break;
        $startSearch = $startSearch + (-1) | 0;
    }
    return $startSearch;
}
function jur_AbstractSet_setType($this, $type) {
    $this.$type = $type;
}
function jur_AbstractSet_getType($this) {
    return $this.$type;
}
function jur_AbstractSet_getQualifiedName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(572));
    jl_AbstractStringBuilder_append(var$1, $this.$index);
    jl_AbstractStringBuilder_append(var$1, $rt_s(272));
    jl_AbstractStringBuilder_append(var$1, $this.$getName());
    jl_AbstractStringBuilder_append(var$1, $rt_s(573));
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_AbstractSet_toString($this) {
    return jur_AbstractSet_getQualifiedName($this);
}
function jur_AbstractSet_getNext($this) {
    return $this.$next4;
}
function jur_AbstractSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_AbstractSet_first($this, $set) {
    return 1;
}
function jur_AbstractSet_processBackRefReplacement($this) {
    return null;
}
function jur_AbstractSet_processSecondPass($this) {
    var $set;
    $this.$isSecondPassVisited = 1;
    if ($this.$next4 !== null) {
        if (!$this.$next4.$isSecondPassVisited) {
            $set = $this.$next4.$processBackRefReplacement();
            if ($set !== null) {
                $this.$next4.$isSecondPassVisited = 1;
                $this.$next4 = $set;
            }
            $this.$next4.$processSecondPass();
        } else if ($this.$next4 instanceof jur_SingleSet && $this.$next4.$fSet.$isBackReferenced)
            $this.$next4 = $this.$next4.$next4;
    }
}
function jur_AbstractSet__clinit_() {
    jur_AbstractSet_counter = 1;
}
function ju_Calendar() {
    var a = this; jl_Object.call(a);
    a.$areFieldsSet = 0;
    a.$fields = null;
    a.$isSet = null;
    a.$isTimeSet = 0;
    a.$time = Long_ZERO;
    a.$lastTimeFieldSet = 0;
    a.$lastDateFieldSet = 0;
    a.$lenient = 0;
    a.$firstDayOfWeek = 0;
    a.$minimalDaysInFirstWeek = 0;
    a.$zone = null;
}
var ju_Calendar_fieldNames = null;
var ju_Calendar_firstDayOfWeekCache = 0;
var ju_Calendar_minimalDaysInFirstWeekCache = 0;
var ju_Calendar_cacheFor = null;
function ju_Calendar_complete($this) {
    if (!$this.$isTimeSet) {
        ju_GregorianCalendar_computeTime($this);
        $this.$isTimeSet = 1;
    }
    if (!$this.$areFieldsSet) {
        ju_GregorianCalendar_computeFields($this);
        $this.$areFieldsSet = 1;
    }
}
function ju_Calendar_get($this, $field) {
    ju_Calendar_complete($this);
    return $this.$fields.data[$field];
}
function ju_Calendar_getFirstDayOfWeek($this) {
    return $this.$firstDayOfWeek;
}
function ju_Calendar_getInstance() {
    return ju_GregorianCalendar__init_1();
}
function ju_Calendar_getMinimalDaysInFirstWeek($this) {
    return $this.$minimalDaysInFirstWeek;
}
function ju_Calendar_getTimeInMillis($this) {
    if (!$this.$isTimeSet) {
        ju_GregorianCalendar_computeTime($this);
        $this.$isTimeSet = 1;
    }
    return $this.$time;
}
function ju_Calendar_getTimeZone($this) {
    return $this.$zone;
}
function ju_Calendar_setTimeZone($this, $timezone) {
    $this.$zone = $timezone;
    $this.$areFieldsSet = 0;
}
function ju_Calendar_isLenient($this) {
    return $this.$lenient;
}
function ju_Calendar_set($this, $field, $value) {
    $this.$fields.data[$field] = $value;
    $this.$isSet.data[$field] = 1;
    $this.$areFieldsSet = 0;
    $this.$isTimeSet = 0;
    if ($field > 2 && $field < 9)
        $this.$lastDateFieldSet = $field;
    if (!($field != 10 && $field != 11))
        $this.$lastTimeFieldSet = $field;
    if ($field == 9)
        $this.$lastTimeFieldSet = 10;
}
function ju_Calendar_setLenient($this, $value) {
    $this.$lenient = $value;
}
function ju_Calendar_setTime($this, $date) {
    ju_Calendar_setTimeInMillis($this, $date.$value2);
}
function ju_Calendar_setTimeInMillis($this, $milliseconds) {
    if (!($this.$isTimeSet && $this.$areFieldsSet && Long_eq($this.$time, $milliseconds))) {
        $this.$time = $milliseconds;
        $this.$isTimeSet = 1;
        $this.$areFieldsSet = 0;
        ju_Calendar_complete($this);
    }
}
function ju_Calendar__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 17);
    var$2 = var$1.data;
    var$2[0] = $rt_s(574);
    var$2[1] = $rt_s(575);
    var$2[2] = $rt_s(576);
    var$2[3] = $rt_s(577);
    var$2[4] = $rt_s(578);
    var$2[5] = $rt_s(579);
    var$2[6] = $rt_s(580);
    var$2[7] = $rt_s(581);
    var$2[8] = $rt_s(582);
    var$2[9] = $rt_s(583);
    var$2[10] = $rt_s(584);
    var$2[11] = $rt_s(585);
    var$2[12] = $rt_s(586);
    var$2[13] = $rt_s(587);
    var$2[14] = $rt_s(588);
    var$2[15] = $rt_s(589);
    var$2[16] = $rt_s(590);
    ju_Calendar_fieldNames = var$1;
    ju_Calendar_firstDayOfWeekCache = (-1);
    ju_Calendar_minimalDaysInFirstWeekCache = (-1);
}
function jl_Readable() {
}
function jn_CharBuffer() {
    jn_Buffer.call(this);
}
function jn_CharBuffer_allocate($capacity) {
    var var$2, var$3;
    if ($capacity >= 0)
        return jn_CharBufferOverArray__init_(0, $capacity, $rt_createCharArray($capacity), 0, $capacity, 0);
    var$2 = new jl_IllegalArgumentException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(490));
    jl_AbstractStringBuilder_append2(var$3, $capacity);
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$2);
}
function jn_CharBuffer_wrap0($array, $offset, $length) {
    return jn_CharBufferOverArray__init_(0, $array.data.length, $array, $offset, $offset + $length | 0, 0);
}
function jn_CharBuffer_wrap($array) {
    return jn_CharBuffer_wrap0($array, 0, $array.data.length);
}
function jn_CharBuffer_get0($this, $dst, $offset, $length) {
    var var$4, var$5, $pos, var$7, var$8, var$9, $i, var$11;
    if ($offset >= 0) {
        var$4 = $dst.data;
        var$5 = var$4.length;
        if ($offset < var$5) {
            $pos = $offset + $length | 0;
            if ($pos > var$5) {
                var$7 = new jl_IndexOutOfBoundsException;
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                jl_AbstractStringBuilder_append(var$8, $rt_s(591));
                jl_AbstractStringBuilder_append2(var$8, $pos);
                jl_AbstractStringBuilder_append(var$8, $rt_s(483));
                jl_AbstractStringBuilder_append2(var$8, var$5);
                jl_Throwable__init_(var$7, jl_AbstractStringBuilder_toString(var$8));
                $rt_throw(var$7);
            }
            if (jn_Buffer_remaining($this) < $length) {
                var$8 = new jn_BufferUnderflowException;
                jl_Throwable__init_0(var$8);
                $rt_throw(var$8);
            }
            if ($length < 0) {
                var$8 = new jl_IndexOutOfBoundsException;
                var$9 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$9);
                jl_AbstractStringBuilder_append(var$9, $rt_s(484));
                jl_AbstractStringBuilder_append2(var$9, $length);
                jl_AbstractStringBuilder_append(var$9, $rt_s(485));
                jl_Throwable__init_(var$8, jl_AbstractStringBuilder_toString(var$9));
                $rt_throw(var$8);
            }
            $pos = $this.$position;
            $i = 0;
            while ($i < $length) {
                var$11 = $offset + 1 | 0;
                var$5 = $pos + 1 | 0;
                var$4[$offset] = jn_CharBufferOverArray_getChar($this, $pos);
                $i = $i + 1 | 0;
                $offset = var$11;
                $pos = var$5;
            }
            $this.$position = $this.$position + $length | 0;
            return $this;
        }
    }
    $dst = $dst.data;
    var$9 = new jl_IndexOutOfBoundsException;
    var$8 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$8);
    jl_AbstractStringBuilder_append(var$8, $rt_s(486));
    jl_AbstractStringBuilder_append2(var$8, $offset);
    jl_AbstractStringBuilder_append(var$8, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$8, $dst.length);
    jl_AbstractStringBuilder_append(var$8, $rt_s(68));
    jl_Throwable__init_(var$9, jl_AbstractStringBuilder_toString(var$8));
    $rt_throw(var$9);
}
function jn_CharBuffer_get($this, $dst) {
    return jn_CharBuffer_get0($this, $dst, 0, $dst.data.length);
}
function jn_CharBuffer_put($this, $src, $offset, $length) {
    var var$4, var$5, var$6, $pos, var$8, var$9, $i, var$11;
    if (jn_CharBufferImpl_isReadOnly($this)) {
        var$4 = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if (jn_Buffer_remaining($this) < $length) {
        var$4 = new jn_BufferOverflowException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if ($offset >= 0) {
        var$5 = $src.data;
        var$6 = var$5.length;
        if ($offset < var$6) {
            $pos = $offset + $length | 0;
            if ($pos > var$6) {
                var$8 = new jl_IndexOutOfBoundsException;
                var$4 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$4);
                jl_AbstractStringBuilder_append(var$4, $rt_s(592));
                jl_AbstractStringBuilder_append2(var$4, $pos);
                jl_AbstractStringBuilder_append(var$4, $rt_s(483));
                jl_AbstractStringBuilder_append2(var$4, var$6);
                jl_Throwable__init_(var$8, jl_AbstractStringBuilder_toString(var$4));
                $rt_throw(var$8);
            }
            if ($length < 0) {
                var$4 = new jl_IndexOutOfBoundsException;
                var$9 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$9);
                jl_AbstractStringBuilder_append(var$9, $rt_s(484));
                jl_AbstractStringBuilder_append2(var$9, $length);
                jl_AbstractStringBuilder_append(var$9, $rt_s(485));
                jl_Throwable__init_(var$4, jl_AbstractStringBuilder_toString(var$9));
                $rt_throw(var$4);
            }
            $pos = $this.$position;
            $i = 0;
            while ($i < $length) {
                var$11 = $pos + 1 | 0;
                var$6 = $offset + 1 | 0;
                jn_CharBufferOverArray_putChar($this, $pos, var$5[$offset]);
                $i = $i + 1 | 0;
                $pos = var$11;
                $offset = var$6;
            }
            $this.$position = $this.$position + $length | 0;
            return $this;
        }
    }
    $src = $src.data;
    var$9 = new jl_IndexOutOfBoundsException;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, $rt_s(486));
    jl_AbstractStringBuilder_append2(var$4, $offset);
    jl_AbstractStringBuilder_append(var$4, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$4, $src.length);
    jl_AbstractStringBuilder_append(var$4, $rt_s(68));
    jl_Throwable__init_(var$9, jl_AbstractStringBuilder_toString(var$4));
    $rt_throw(var$9);
}
function jn_CharBuffer_put0($this, $src, $start, $end) {
    var $sz, var$5, var$6, $pos, $pos_0, var$9;
    if (jn_CharBufferImpl_isReadOnly($this)) {
        $src = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0($src);
        $rt_throw($src);
    }
    $sz = $end - $start | 0;
    if (jn_Buffer_remaining($this) < $sz) {
        $src = new jn_BufferOverflowException;
        jl_Throwable__init_0($src);
        $rt_throw($src);
    }
    if ($start >= 0 && $start < jl_String_length($src)) {
        if ($end > jl_String_length($src)) {
            var$5 = new jl_IndexOutOfBoundsException;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            jl_AbstractStringBuilder_append(var$6, $rt_s(592));
            jl_AbstractStringBuilder_append2(var$6, $end);
            jl_AbstractStringBuilder_append(var$6, $rt_s(593));
            jl_AbstractStringBuilder_append2(var$6, jl_String_length($src));
            jl_Throwable__init_(var$5, jl_AbstractStringBuilder_toString(var$6));
            $rt_throw(var$5);
        }
        if ($start <= $end) {
            $pos = $this.$position;
            while ($start < $end) {
                $pos_0 = $pos + 1 | 0;
                var$9 = $start + 1 | 0;
                jn_CharBufferOverArray_putChar($this, $pos, jl_String_charAt($src, $start));
                $pos = $pos_0;
                $start = var$9;
            }
            $this.$position = $this.$position + $sz | 0;
            return $this;
        }
        var$5 = new jl_IndexOutOfBoundsException;
        var$6 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$6);
        jl_AbstractStringBuilder_append(var$6, $rt_s(594));
        jl_AbstractStringBuilder_append2(var$6, $start);
        jl_AbstractStringBuilder_append(var$6, $rt_s(595));
        jl_AbstractStringBuilder_append2(var$6, $end);
        jl_Throwable__init_(var$5, jl_AbstractStringBuilder_toString(var$6));
        $rt_throw(var$5);
    }
    var$6 = new jl_IndexOutOfBoundsException;
    var$5 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$5);
    jl_AbstractStringBuilder_append(var$5, $rt_s(594));
    jl_AbstractStringBuilder_append2(var$5, $start);
    jl_AbstractStringBuilder_append(var$5, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$5, jl_String_length($src));
    jl_AbstractStringBuilder_append(var$5, $rt_s(68));
    jl_Throwable__init_(var$6, jl_AbstractStringBuilder_toString(var$5));
    $rt_throw(var$6);
}
function jn_CharBuffer_put1($this, $src) {
    return jn_CharBuffer_put0($this, $src, 0, jl_String_length($src));
}
function jn_CharBuffer_hasArray($this) {
    return 1;
}
function jn_CharBuffer_array($this) {
    return $this.$array5;
}
function jn_CharBuffer_flip($this) {
    jn_Buffer_flip($this);
    return $this;
}
function jn_CharBuffer_position($this, $newPosition) {
    jn_Buffer_position0($this, $newPosition);
    return $this;
}
function cjj_GZIPException() {
    ji_IOException.call(this);
}
function cjj_GZIPException__init_0() {
    var var_0 = new cjj_GZIPException();
    cjj_GZIPException__init_(var_0);
    return var_0;
}
function cjj_GZIPException__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_Enum() {
    var a = this; jl_Object.call(a);
    a.$name7 = null;
    a.$ordinal = 0;
}
function jl_Enum__init_(var_0, var_1) {
    var var_2 = new jl_Enum();
    jl_Enum__init_0(var_2, var_0, var_1);
    return var_2;
}
function jl_Enum__init_0($this, $name, $ordinal) {
    $this.$name7 = $name;
    $this.$ordinal = $ordinal;
}
function jl_Enum_name($this) {
    return $this.$name7;
}
function jl_Enum_ordinal($this) {
    return $this.$ordinal;
}
function jl_Enum_toString($this) {
    return $this.$name7;
}
function jl_Enum_equals($this, $other) {
    return $this !== $other ? 0 : 1;
}
function jl_Enum_hashCode($this) {
    return jl_Object_identity($this);
}
function jl_Enum_getDeclaringClass($this) {
    var $result;
    $result = jl_Object_getClass($this);
    if (!jl_Object_equals(jl_Class_getSuperclass($result), $rt_cls(jl_Enum)))
        $result = jl_Class_getSuperclass($result);
    return $result;
}
function jl_Enum_compareTo($this, $o) {
    var var$2, var$3;
    if (jl_Enum_getDeclaringClass($o) === jl_Enum_getDeclaringClass($this))
        return $rt_compare($this.$ordinal, $o.$ordinal);
    var$2 = new jl_IllegalArgumentException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(596));
    jl_AbstractStringBuilder_append(var$3, jl_Class_getName(jl_Enum_getDeclaringClass($this)));
    jl_AbstractStringBuilder_append(var$3, $rt_s(597));
    jl_AbstractStringBuilder_append(var$3, jl_Class_getName(jl_Enum_getDeclaringClass($o)));
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$2);
}
function jl_Enum_compareTo0($this, var$1) {
    return jl_Enum_compareTo($this, var$1);
}
function nle_BaseNCodec$CodecPolicy() {
    jl_Enum.call(this);
}
var nle_BaseNCodec$CodecPolicy_STRICT = null;
var nle_BaseNCodec$CodecPolicy_LENIANT = null;
var nle_BaseNCodec$CodecPolicy_$VALUES = null;
function nle_BaseNCodec$CodecPolicy__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nle_BaseNCodec$CodecPolicy;
    jl_Enum__init_0(var$1, $rt_s(598), 0);
    nle_BaseNCodec$CodecPolicy_STRICT = var$1;
    var$1 = new nle_BaseNCodec$CodecPolicy;
    jl_Enum__init_0(var$1, $rt_s(599), 1);
    nle_BaseNCodec$CodecPolicy_LENIANT = var$1;
    var$2 = $rt_createArray(nle_BaseNCodec$CodecPolicy, 2);
    var$3 = var$2.data;
    var$3[0] = nle_BaseNCodec$CodecPolicy_STRICT;
    var$3[1] = nle_BaseNCodec$CodecPolicy_LENIANT;
    nle_BaseNCodec$CodecPolicy_$VALUES = var$2;
}
function jur_FSet() {
    var a = this; jur_AbstractSet.call(a);
    a.$isBackReferenced = 0;
    a.$groupIndex = 0;
}
var jur_FSet_posFSet = null;
function jur_FSet__init_0(var_0) {
    var var_1 = new jur_FSet();
    jur_FSet__init_(var_1, var_0);
    return var_1;
}
function jur_FSet__init_($this, $groupIndex) {
    jur_AbstractSet__init_($this);
    $this.$groupIndex = $groupIndex;
}
function jur_FSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $end, $shift;
    $end = jur_MatchResultImpl_getEnd($matchResult, $this.$groupIndex);
    jur_MatchResultImpl_setEnd($matchResult, $this.$groupIndex, $stringIndex);
    $shift = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    if ($shift < 0)
        jur_MatchResultImpl_setEnd($matchResult, $this.$groupIndex, $end);
    return $shift;
}
function jur_FSet_getGroupIndex($this) {
    return $this.$groupIndex;
}
function jur_FSet_getName($this) {
    return $rt_s(600);
}
function jur_FSet_hasConsumed($this, $mr) {
    return 0;
}
function jur_FSet__clinit_() {
    var var$1;
    var$1 = new jur_FSet$PossessiveFSet;
    jur_AbstractSet__init_(var$1);
    jur_FSet_posFSet = var$1;
}
function jur_Lexer() {
    var a = this; jl_Object.call(a);
    a.$pattern1 = null;
    a.$flags1 = 0;
    a.$mode = 0;
    a.$savedMode = 0;
    a.$lookBack = 0;
    a.$ch = 0;
    a.$lookAhead = 0;
    a.$patternFullLength = 0;
    a.$curST = null;
    a.$lookAheadST = null;
    a.$index0 = 0;
    a.$prevNW = 0;
    a.$curToc = 0;
    a.$lookAheadToc = 0;
    a.$orig = null;
}
var jur_Lexer_decompTable = null;
var jur_Lexer_singleDecompTable = null;
var jur_Lexer_singleDecompTableSize = 0;
function jur_Lexer_peek($this) {
    return $this.$ch;
}
function jur_Lexer_setMode($this, $mode) {
    if ($mode > 0 && $mode < 3)
        $this.$mode = $mode;
    if ($mode == 1) {
        $this.$lookAhead = $this.$ch;
        $this.$lookAheadST = $this.$curST;
        $this.$index0 = $this.$lookAheadToc;
        $this.$lookAheadToc = $this.$curToc;
        jur_Lexer_movePointer($this);
    }
}
function jur_Lexer_restoreFlags($this, $flags) {
    $this.$flags1 = $flags;
    $this.$lookAhead = $this.$ch;
    $this.$lookAheadST = $this.$curST;
    $this.$index0 = $this.$curToc + 1 | 0;
    $this.$lookAheadToc = $this.$curToc;
    jur_Lexer_movePointer($this);
}
function jur_Lexer_peekSpecial($this) {
    return $this.$curST;
}
function jur_Lexer_isSpecial($this) {
    return $this.$curST === null ? 0 : 1;
}
function jur_Lexer_isNextSpecial($this) {
    return $this.$lookAheadST === null ? 0 : 1;
}
function jur_Lexer_next($this) {
    jur_Lexer_movePointer($this);
    return $this.$lookBack;
}
function jur_Lexer_nextSpecial($this) {
    var $res;
    $res = $this.$curST;
    jur_Lexer_movePointer($this);
    return $res;
}
function jur_Lexer_lookAhead($this) {
    return $this.$lookAhead;
}
function jur_Lexer_back($this) {
    return $this.$lookBack;
}
function jur_Lexer_movePointer($this) {
    var $reread, $nonCap, $behind, $cs, $negative, $$je;
    $this.$lookBack = $this.$ch;
    $this.$ch = $this.$lookAhead;
    $this.$curST = $this.$lookAheadST;
    $this.$curToc = $this.$lookAheadToc;
    $this.$lookAheadToc = $this.$index0;
    while (true) {
        $reread = 0;
        $this.$lookAhead = $this.$index0 >= $this.$pattern1.data.length ? 0 : jur_Lexer_nextCodePoint($this);
        $this.$lookAheadST = null;
        if ($this.$mode == 4) {
            if ($this.$lookAhead != 92)
                return;
            $this.$lookAhead = $this.$index0 >= $this.$pattern1.data.length ? 0 : $this.$pattern1.data[jur_Lexer_nextIndex($this)];
            switch ($this.$lookAhead) {
                case 69:
                    break;
                default:
                    $this.$lookAhead = 92;
                    $this.$index0 = $this.$prevNW;
                    return;
            }
            $this.$mode = $this.$savedMode;
            $this.$lookAhead = $this.$index0 > ($this.$pattern1.data.length - 2 | 0) ? 0 : jur_Lexer_nextCodePoint($this);
        }
        a: {
            if ($this.$lookAhead != 92) {
                if ($this.$mode == 1)
                    switch ($this.$lookAhead) {
                        case 36:
                            $this.$lookAhead = (-536870876);
                            break a;
                        case 40:
                            if ($this.$pattern1.data[$this.$index0] != 63) {
                                $this.$lookAhead = (-2147483608);
                                break a;
                            }
                            jur_Lexer_nextIndex($this);
                            $nonCap = $this.$pattern1.data[$this.$index0];
                            $behind = 0;
                            while (true) {
                                b: {
                                    if ($behind) {
                                        $behind = 0;
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 61:
                                                $this.$lookAhead = (-134217688);
                                                jur_Lexer_nextIndex($this);
                                                break b;
                                            default:
                                                $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Lexer_toString($this), $this.$index0));
                                        }
                                        $this.$lookAhead = (-67108824);
                                        jur_Lexer_nextIndex($this);
                                    } else {
                                        switch ($nonCap) {
                                            case 33:
                                                break;
                                            case 60:
                                                jur_Lexer_nextIndex($this);
                                                $nonCap = $this.$pattern1.data[$this.$index0];
                                                $behind = 1;
                                                break b;
                                            case 61:
                                                $this.$lookAhead = (-536870872);
                                                jur_Lexer_nextIndex($this);
                                                break b;
                                            case 62:
                                                $this.$lookAhead = (-33554392);
                                                jur_Lexer_nextIndex($this);
                                                break b;
                                            default:
                                                $this.$lookAhead = jur_Lexer_readFlags($this);
                                                if ($this.$lookAhead < 256) {
                                                    $this.$flags1 = $this.$lookAhead;
                                                    $this.$lookAhead = $this.$lookAhead << 16;
                                                    $this.$lookAhead = (-1073741784) | $this.$lookAhead;
                                                    break b;
                                                }
                                                $this.$lookAhead = $this.$lookAhead & 255;
                                                $this.$flags1 = $this.$lookAhead;
                                                $this.$lookAhead = $this.$lookAhead << 16;
                                                $this.$lookAhead = (-16777176) | $this.$lookAhead;
                                                break b;
                                        }
                                        $this.$lookAhead = (-268435416);
                                        jur_Lexer_nextIndex($this);
                                    }
                                }
                                if (!$behind)
                                    break;
                            }
                            break a;
                        case 41:
                            $this.$lookAhead = (-536870871);
                            break a;
                        case 42:
                        case 43:
                        case 63:
                            switch ($this.$index0 >= $this.$pattern1.data.length ? 42 : $this.$pattern1.data[$this.$index0]) {
                                case 43:
                                    $this.$lookAhead = $this.$lookAhead | (-2147483648);
                                    jur_Lexer_nextIndex($this);
                                    break a;
                                case 63:
                                    $this.$lookAhead = $this.$lookAhead | (-1073741824);
                                    jur_Lexer_nextIndex($this);
                                    break a;
                                default:
                            }
                            $this.$lookAhead = $this.$lookAhead | (-536870912);
                            break a;
                        case 46:
                            $this.$lookAhead = (-536870866);
                            break a;
                        case 91:
                            $this.$lookAhead = (-536870821);
                            jur_Lexer_setMode($this, 2);
                            break a;
                        case 93:
                            if ($this.$mode != 2)
                                break a;
                            $this.$lookAhead = (-536870819);
                            break a;
                        case 94:
                            $this.$lookAhead = (-536870818);
                            break a;
                        case 123:
                            $this.$lookAheadST = jur_Lexer_processQuantifier($this, $this.$lookAhead);
                            break a;
                        case 124:
                            $this.$lookAhead = (-536870788);
                            break a;
                        default:
                    }
                else if ($this.$mode == 2)
                    switch ($this.$lookAhead) {
                        case 38:
                            $this.$lookAhead = (-536870874);
                            break a;
                        case 45:
                            $this.$lookAhead = (-536870867);
                            break a;
                        case 91:
                            $this.$lookAhead = (-536870821);
                            break a;
                        case 93:
                            $this.$lookAhead = (-536870819);
                            break a;
                        case 94:
                            $this.$lookAhead = (-536870818);
                            break a;
                        default:
                    }
            } else {
                $nonCap = $this.$index0 >= ($this.$pattern1.data.length - 2 | 0) ? (-1) : jur_Lexer_nextCodePoint($this);
                c: {
                    $this.$lookAhead = $nonCap;
                    switch ($this.$lookAhead) {
                        case -1:
                            $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Lexer_toString($this), $this.$index0));
                        case 0:
                        case 1:
                        case 2:
                        case 3:
                        case 4:
                        case 5:
                        case 6:
                        case 7:
                        case 8:
                        case 9:
                        case 10:
                        case 11:
                        case 12:
                        case 13:
                        case 14:
                        case 15:
                        case 16:
                        case 17:
                        case 18:
                        case 19:
                        case 20:
                        case 21:
                        case 22:
                        case 23:
                        case 24:
                        case 25:
                        case 26:
                        case 27:
                        case 28:
                        case 29:
                        case 30:
                        case 31:
                        case 32:
                        case 33:
                        case 34:
                        case 35:
                        case 36:
                        case 37:
                        case 38:
                        case 39:
                        case 40:
                        case 41:
                        case 42:
                        case 43:
                        case 44:
                        case 45:
                        case 46:
                        case 47:
                        case 58:
                        case 59:
                        case 60:
                        case 61:
                        case 62:
                        case 63:
                        case 64:
                        case 91:
                        case 92:
                        case 93:
                        case 94:
                        case 95:
                        case 96:
                        case 118:
                            break;
                        case 48:
                            $this.$lookAhead = jur_Lexer_readOctals($this);
                            break a;
                        case 49:
                        case 50:
                        case 51:
                        case 52:
                        case 53:
                        case 54:
                        case 55:
                        case 56:
                        case 57:
                            if ($this.$mode != 1)
                                break a;
                            $this.$lookAhead = (-2147483648) | $this.$lookAhead;
                            break a;
                        case 65:
                            $this.$lookAhead = (-2147483583);
                            break a;
                        case 66:
                            $this.$lookAhead = (-2147483582);
                            break a;
                        case 67:
                        case 69:
                        case 70:
                        case 72:
                        case 73:
                        case 74:
                        case 75:
                        case 76:
                        case 77:
                        case 78:
                        case 79:
                        case 82:
                        case 84:
                        case 85:
                        case 86:
                        case 88:
                        case 89:
                        case 103:
                        case 104:
                        case 105:
                        case 106:
                        case 107:
                        case 108:
                        case 109:
                        case 111:
                        case 113:
                        case 121:
                            $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Lexer_toString($this), $this.$index0));
                        case 68:
                        case 83:
                        case 87:
                        case 100:
                        case 115:
                        case 119:
                            $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass(jl_String__init_3($this.$pattern1, $this.$prevNW, 1), 0);
                            $this.$lookAhead = 0;
                            break a;
                        case 71:
                            $this.$lookAhead = (-2147483577);
                            break a;
                        case 80:
                        case 112:
                            break c;
                        case 81:
                            $this.$savedMode = $this.$mode;
                            $this.$mode = 4;
                            $reread = 1;
                            break a;
                        case 90:
                            $this.$lookAhead = (-2147483558);
                            break a;
                        case 97:
                            $this.$lookAhead = 7;
                            break a;
                        case 98:
                            $this.$lookAhead = (-2147483550);
                            break a;
                        case 99:
                            if ($this.$index0 >= ($this.$pattern1.data.length - 2 | 0))
                                $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Lexer_toString($this), $this.$index0));
                            $this.$lookAhead = $this.$pattern1.data[jur_Lexer_nextIndex($this)] & 31;
                            break a;
                        case 101:
                            $this.$lookAhead = 27;
                            break a;
                        case 102:
                            $this.$lookAhead = 12;
                            break a;
                        case 110:
                            $this.$lookAhead = 10;
                            break a;
                        case 114:
                            $this.$lookAhead = 13;
                            break a;
                        case 116:
                            $this.$lookAhead = 9;
                            break a;
                        case 117:
                            $this.$lookAhead = jur_Lexer_readHex($this, 4);
                            break a;
                        case 120:
                            $this.$lookAhead = jur_Lexer_readHex($this, 2);
                            break a;
                        case 122:
                            $this.$lookAhead = (-2147483526);
                            break a;
                        default:
                    }
                    break a;
                }
                $cs = jur_Lexer_parseCharClassName($this);
                $negative = 0;
                if ($this.$lookAhead == 80)
                    $negative = 1;
                try {
                    $this.$lookAheadST = jur_AbstractCharClass_getPredefinedClass($cs, $negative);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ju_MissingResourceException) {
                        $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), jur_Lexer_toString($this), $this.$index0));
                    } else {
                        throw $$e;
                    }
                }
                $this.$lookAhead = 0;
            }
        }
        if ($reread)
            continue;
        else
            break;
    }
}
function jur_Lexer_parseCharClassName($this) {
    var $sb, $ch, $res;
    $sb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_2($sb, 10);
    if ($this.$index0 < ($this.$pattern1.data.length - 2 | 0)) {
        if ($this.$pattern1.data[$this.$index0] != 123) {
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            jl_AbstractStringBuilder_append($sb, $rt_s(601));
            jl_AbstractStringBuilder_append($sb, jl_String__init_3($this.$pattern1, jur_Lexer_nextIndex($this), 1));
            return jl_AbstractStringBuilder_toString($sb);
        }
        jur_Lexer_nextIndex($this);
        $ch = 0;
        a: {
            while ($this.$index0 < ($this.$pattern1.data.length - 2 | 0)) {
                $ch = $this.$pattern1.data[jur_Lexer_nextIndex($this)];
                if ($ch == 125)
                    break a;
                jl_AbstractStringBuilder_append0($sb, $ch);
            }
        }
        if ($ch != 125)
            $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
    }
    if (!jl_StringBuilder_length($sb))
        $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
    $res = jl_AbstractStringBuilder_toString($sb);
    if (jl_String_length($res) == 1) {
        $sb = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($sb);
        jl_AbstractStringBuilder_append($sb, $rt_s(601));
        jl_AbstractStringBuilder_append($sb, $res);
        return jl_AbstractStringBuilder_toString($sb);
    }
    b: {
        c: {
            if (jl_String_length($res) > 3) {
                if (jl_String_startsWith0($res, $rt_s(601)))
                    break c;
                if (jl_String_startsWith0($res, $rt_s(602)))
                    break c;
            }
            break b;
        }
        $res = jl_String_substring($res, 2);
    }
    return $res;
}
function jur_Lexer_processQuantifier($this, $ch) {
    var $sb, $min, $max, $mod, $$je;
    $sb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_2($sb, 4);
    $min = (-1);
    $max = 2147483647;
    a: {
        while (true) {
            if ($this.$index0 >= $this.$pattern1.data.length)
                break a;
            $ch = $this.$pattern1.data[jur_Lexer_nextIndex($this)];
            if ($ch == 125)
                break a;
            if ($ch == 44 && $min < 0)
                try {
                    $min = jl_Integer_parseInt0(jl_StringBuilder_toString($sb), 10);
                    jl_StringBuilder_delete($sb, 0, jl_StringBuilder_length($sb));
                    continue;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                        break;
                    } else {
                        throw $$e;
                    }
                }
            jl_AbstractStringBuilder_append0($sb, $ch & 65535);
        }
        $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
    }
    if ($ch != 125)
        $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
    if (jl_StringBuilder_length($sb) > 0)
        b: {
            try {
                $max = jl_Integer_parseInt0(jl_StringBuilder_toString($sb), 10);
                if ($min >= 0)
                    break b;
                $min = $max;
                break b;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NumberFormatException) {
                } else {
                    throw $$e;
                }
            }
            $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
        }
    else if ($min < 0)
        $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
    if (($min | $max | ($max - $min | 0)) < 0)
        $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
    $mod = $this.$index0 >= $this.$pattern1.data.length ? 42 : $this.$pattern1.data[$this.$index0];
    c: {
        switch ($mod) {
            case 43:
                $this.$lookAhead = (-2147483525);
                jur_Lexer_nextIndex($this);
                break c;
            case 63:
                $this.$lookAhead = (-1073741701);
                jur_Lexer_nextIndex($this);
                break c;
            default:
        }
        $this.$lookAhead = (-536870789);
    }
    $sb = new jur_Quantifier;
    $sb.$min1 = $min;
    $sb.$max0 = $max;
    return $sb;
}
function jur_Lexer_toString($this) {
    return $this.$orig;
}
function jur_Lexer_isEmpty($this) {
    return !$this.$ch && !$this.$lookAhead && $this.$index0 == $this.$patternFullLength && !jur_Lexer_isSpecial($this) ? 1 : 0;
}
function jur_Lexer_isLetter0($ch) {
    return $ch < 0 ? 0 : 1;
}
function jur_Lexer_isLetter($this) {
    return !jur_Lexer_isEmpty($this) && !jur_Lexer_isSpecial($this) && jur_Lexer_isLetter0($this.$ch) ? 1 : 0;
}
function jur_Lexer_isHighSurrogate($this) {
    return $this.$ch <= 56319 && $this.$ch >= 55296 ? 1 : 0;
}
function jur_Lexer_isLowSurrogate($this) {
    return $this.$ch <= 57343 && $this.$ch >= 56320 ? 1 : 0;
}
function jur_Lexer_isHighSurrogate0($ch) {
    return $ch <= 56319 && $ch >= 55296 ? 1 : 0;
}
function jur_Lexer_isLowSurrogate0($ch) {
    return $ch <= 57343 && $ch >= 56320 ? 1 : 0;
}
function jur_Lexer_readHex($this, $max) {
    var $st, $length, $i, var$5, $$je;
    $st = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_2($st, $max);
    $length = $this.$pattern1.data.length - 2 | 0;
    $i = 0;
    while (true) {
        var$5 = $rt_compare($i, $max);
        if (var$5 >= 0)
            break;
        if ($this.$index0 >= $length)
            break;
        jl_AbstractStringBuilder_append0($st, $this.$pattern1.data[jur_Lexer_nextIndex($this)]);
        $i = $i + 1 | 0;
    }
    if (!var$5)
        a: {
            try {
                $max = jl_Integer_parseInt0(jl_StringBuilder_toString($st), 16);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NumberFormatException) {
                    break a;
                } else {
                    throw $$e;
                }
            }
            return $max;
        }
    $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
}
function jur_Lexer_readOctals($this) {
    var $max, $i, $length, $res, var$5;
    $max = 3;
    $i = 1;
    $length = $this.$pattern1.data.length - 2 | 0;
    $res = jl_Character_digit($this.$pattern1.data[$this.$index0], 8);
    switch ($res) {
        case -1:
            break;
        default:
            if ($res > 3)
                $max = 2;
            jur_Lexer_nextIndex($this);
            a: {
                while (true) {
                    if ($i >= $max)
                        break a;
                    if ($this.$index0 >= $length)
                        break a;
                    var$5 = jl_Character_digit($this.$pattern1.data[$this.$index0], 8);
                    if (var$5 < 0)
                        break;
                    $res = ($res * 8 | 0) + var$5 | 0;
                    jur_Lexer_nextIndex($this);
                    $i = $i + 1 | 0;
                }
            }
            return $res;
    }
    $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
}
function jur_Lexer_readFlags($this) {
    var $pos, $res;
    $pos = 1;
    $res = $this.$flags1;
    a: while (true) {
        if ($this.$index0 >= $this.$pattern1.data.length)
            $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
        b: {
            c: {
                switch ($this.$pattern1.data[$this.$index0]) {
                    case 41:
                        jur_Lexer_nextIndex($this);
                        return $res | 256;
                    case 45:
                        if (!$pos)
                            $rt_throw(jur_PatternSyntaxException__init_($rt_s(36), $this.$orig, $this.$index0));
                        $pos = 0;
                        break b;
                    case 58:
                        break a;
                    case 100:
                        break c;
                    case 105:
                        $res = $pos ? $res | 2 : ($res ^ 2) & $res;
                        break b;
                    case 109:
                        $res = $pos ? $res | 8 : ($res ^ 8) & $res;
                        break b;
                    case 115:
                        $res = $pos ? $res | 32 : ($res ^ 32) & $res;
                        break b;
                    case 117:
                        $res = $pos ? $res | 64 : ($res ^ 64) & $res;
                        break b;
                    case 120:
                        $res = $pos ? $res | 4 : ($res ^ 4) & $res;
                        break b;
                    default:
                }
                break b;
            }
            $res = $pos ? $res | 1 : ($res ^ 1) & $res;
        }
        jur_Lexer_nextIndex($this);
    }
    jur_Lexer_nextIndex($this);
    return $res;
}
function jur_Lexer_nextIndex($this) {
    var var$1, var$2;
    $this.$prevNW = $this.$index0;
    if (!($this.$flags1 & 4))
        $this.$index0 = $this.$index0 + 1 | 0;
    else {
        var$1 = $this.$pattern1.data.length - 2 | 0;
        $this.$index0 = $this.$index0 + 1 | 0;
        a: while (true) {
            if ($this.$index0 < var$1 && jl_Character_isWhitespace($this.$pattern1.data[$this.$index0])) {
                $this.$index0 = $this.$index0 + 1 | 0;
                continue;
            }
            if ($this.$index0 >= var$1)
                break;
            if ($this.$pattern1.data[$this.$index0] != 35)
                break;
            $this.$index0 = $this.$index0 + 1 | 0;
            while (true) {
                if ($this.$index0 >= var$1)
                    continue a;
                var$2 = $this.$pattern1.data[$this.$index0];
                if (var$2 != 10 && var$2 != 13 && var$2 != 133 && (var$2 | 1) != 8233 ? 0 : 1)
                    continue a;
                $this.$index0 = $this.$index0 + 1 | 0;
            }
        }
    }
    return $this.$prevNW;
}
function jur_Lexer_getDecomposition($ch) {
    return jur_Lexer_decompTable.$get10($ch);
}
function jur_Lexer_nextCodePoint($this) {
    var $high, $lowExpectedIndex, $low;
    $high = $this.$pattern1.data[jur_Lexer_nextIndex($this)];
    if (jl_Character_isHighSurrogate($high)) {
        $lowExpectedIndex = $this.$prevNW + 1 | 0;
        if ($lowExpectedIndex < $this.$pattern1.data.length) {
            $low = $this.$pattern1.data[$lowExpectedIndex];
            if (jl_Character_isLowSurrogate($low)) {
                jur_Lexer_nextIndex($this);
                return jl_Character_toCodePoint($high, $low);
            }
        }
    }
    return $high;
}
function jur_Lexer_getIndex($this) {
    return $this.$curToc;
}
function jur_PatternSyntaxException() {
    var a = this; jl_IllegalArgumentException.call(a);
    a.$desc = null;
    a.$pattern2 = null;
    a.$index1 = 0;
}
function jur_PatternSyntaxException__init_(var_0, var_1, var_2) {
    var var_3 = new jur_PatternSyntaxException();
    jur_PatternSyntaxException__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function jur_PatternSyntaxException__init_0($this, $description, $pattern, $index) {
    jl_Throwable__init_0($this);
    $this.$index1 = (-1);
    $this.$desc = $description;
    $this.$pattern2 = $pattern;
    $this.$index1 = $index;
}
function jur_PatternSyntaxException_getMessage($this) {
    var $filler, $temp, var$3, var$4, var$5, var$6, var$7, var$8;
    $filler = $rt_s(36);
    if ($this.$index1 >= 1) {
        $temp = $rt_createCharArray($this.$index1);
        var$3 = $temp.data;
        var$4 = 0;
        var$5 = var$3.length;
        if (var$4 > var$5) {
            $filler = new jl_IllegalArgumentException;
            jl_Throwable__init_0($filler);
            $rt_throw($filler);
        }
        while (var$4 < var$5) {
            var$6 = var$4 + 1 | 0;
            var$3[var$4] = 32;
            var$4 = var$6;
        }
        $filler = jl_String__init_($temp);
    }
    var$7 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$7);
    jl_AbstractStringBuilder_append(var$7, $this.$desc);
    if ($this.$pattern2 !== null && jl_String_length($this.$pattern2)) {
        var$8 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$8);
        jl_AbstractStringBuilder_append2(var$8, $this.$index1);
        jl_AbstractStringBuilder_append(var$8, $rt_s(368));
        jl_AbstractStringBuilder_append(var$8, $this.$pattern2);
        jl_AbstractStringBuilder_append(var$8, $rt_s(368));
        jl_AbstractStringBuilder_append(var$8, $filler);
        $filler = jl_AbstractStringBuilder_toString(var$8);
    } else
        $filler = $rt_s(36);
    jl_AbstractStringBuilder_append(var$7, $filler);
    return jl_AbstractStringBuilder_toString(var$7);
}
function jl_CloneNotSupportedException() {
    jl_Exception.call(this);
}
function jl_CloneNotSupportedException__init_0() {
    var var_0 = new jl_CloneNotSupportedException();
    jl_CloneNotSupportedException__init_(var_0);
    return var_0;
}
function jl_CloneNotSupportedException__init_($this) {
    jl_Throwable__init_0($this);
}
function nle_TextureLocation() {
    var a = this; jl_Object.call(a);
    a.$path = null;
    a.$glObject = 0;
}
var nle_TextureLocation_locations = null;
function nle_TextureLocation__init_(var_0) {
    var var_1 = new nle_TextureLocation();
    nle_TextureLocation__init_0(var_1, var_0);
    return var_1;
}
function nle_TextureLocation__init_0($this, $path) {
    $this.$path = $path;
    $this.$glObject = (-1);
    ju_ArrayList_add(nle_TextureLocation_locations, $this);
}
function nle_TextureLocation_bindTexture($this) {
    var $r, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$r = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $r = nmc_Minecraft_theMinecraft.$renderEngine;
        if ($this.$glObject != (-1)) {
            nms_RenderEngine_bindTexture($r, $this.$glObject);
            return;
        }
        var$2 = $this.$path;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderEngine_getTexture($r, var$2);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $tmp;
        $this.$glObject = var$3;
        if ($this.$glObject == (-1)) {
            var$2 = jl_System_err();
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, $rt_s(603));
            jl_AbstractStringBuilder_append(var$4, $this.$path);
            ji_PrintStream_println(var$2, jl_AbstractStringBuilder_toString(var$4));
        }
        nms_RenderEngine_bindTexture($r, $this.$glObject);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $r, var$2, var$3, var$4, $ptr);
}
function nle_TextureLocation__clinit_() {
    nle_TextureLocation_locations = ju_ArrayList__init_0();
}
function ju_GregorianCalendar() {
    var a = this; ju_Calendar.call(a);
    a.$gregorianCutover = Long_ZERO;
    a.$changeYear = 0;
    a.$julianSkew = 0;
    a.$isCached = 0;
    a.$cachedFields = null;
    a.$nextMidnightMillis = Long_ZERO;
    a.$lastMidnightMillis = Long_ZERO;
    a.$currentYearSkew = 0;
    a.$lastYearSkew = 0;
}
var ju_GregorianCalendar_daysInMonth = null;
var ju_GregorianCalendar_daysInYear = null;
var ju_GregorianCalendar_maximums = null;
var ju_GregorianCalendar_minimums = null;
var ju_GregorianCalendar_leastMaximums = null;
function ju_GregorianCalendar__init_1() {
    var var_0 = new ju_GregorianCalendar();
    ju_GregorianCalendar__init_(var_0);
    return var_0;
}
function ju_GregorianCalendar__init_0(var_0) {
    var var_1 = new ju_GregorianCalendar();
    ju_GregorianCalendar__init_2(var_1, var_0);
    return var_1;
}
function ju_GregorianCalendar__init_3(var_0) {
    var var_1 = new ju_GregorianCalendar();
    ju_GregorianCalendar__init_4(var_1, var_0);
    return var_1;
}
function ju_GregorianCalendar__init_5(var_0, var_1) {
    var var_2 = new ju_GregorianCalendar();
    ju_GregorianCalendar__init_6(var_2, var_0, var_1);
    return var_2;
}
function ju_GregorianCalendar__init_($this) {
    ju_GregorianCalendar__init_2($this, ju_Locale_defaultLocale);
}
function ju_GregorianCalendar__init_2($this, $locale) {
    var var$2;
    if (ju_TimeZone_defaultTz === null) {
        var$2 = otcit_DateTimeZoneProvider_detectTimezone();
        if (var$2 === null)
            ju_TimeZone_defaultTz = ju_TimeZone_getTimeZone($rt_s(604));
        else
            ju_TimeZone_defaultTz = ju_IANATimeZone__init_(var$2);
    }
    ju_GregorianCalendar__init_6($this, ju_IANATimeZone_clone(ju_TimeZone_defaultTz), $locale);
}
function ju_GregorianCalendar__init_4($this, $zone) {
    ju_GregorianCalendar__init_6($this, $zone, ju_Locale_defaultLocale);
}
function ju_GregorianCalendar__init_6($this, $timezone, $locale) {
    var var$3, var$4, var$5, var$6;
    $this.$fields = $rt_createIntArray(17);
    $this.$isSet = $rt_createBooleanArray(17);
    $this.$areFieldsSet = 0;
    $this.$isTimeSet = 0;
    $this.$lenient = 1;
    ju_Calendar_setTimeZone($this, $timezone);
    $this.$fields = $rt_createIntArray(17);
    $this.$isSet = $rt_createBooleanArray(17);
    $this.$areFieldsSet = 0;
    $this.$isTimeSet = 0;
    $this.$lenient = 1;
    if ($locale === ju_Calendar_cacheFor && ju_Calendar_firstDayOfWeekCache >= 0)
        var$3 = ju_Calendar_firstDayOfWeekCache;
    else {
        $timezone = otciu_CLDRHelper_resolveCountry($locale.$languageCode, $locale.$countryCode);
        if (otciu_CLDRHelper_$$metadata$$13 === null)
            otciu_CLDRHelper_$$metadata$$13 = otciu_CLDRHelper_getFirstDayOfWeek$$create();
        var$4 = otciu_CLDRHelper_$$metadata$$13;
        ju_Calendar_firstDayOfWeekCache = var$4.hasOwnProperty($rt_ustr($timezone)) ? var$4[$rt_ustr($timezone)].value : var$4[$rt_ustr($rt_s(605))].value;
        var$3 = ju_Calendar_firstDayOfWeekCache;
    }
    ju_GregorianCalendar_setFirstDayOfWeek($this, var$3);
    if ($locale === ju_Calendar_cacheFor && ju_Calendar_minimalDaysInFirstWeekCache >= 0)
        var$3 = ju_Calendar_minimalDaysInFirstWeekCache;
    else {
        $timezone = otciu_CLDRHelper_resolveCountry($locale.$languageCode, $locale.$countryCode);
        if (otciu_CLDRHelper_$$metadata$$12 === null)
            otciu_CLDRHelper_$$metadata$$12 = otciu_CLDRHelper_getMinimalDaysInFirstWeek$$create();
        var$4 = otciu_CLDRHelper_$$metadata$$12;
        ju_Calendar_minimalDaysInFirstWeekCache = var$4.hasOwnProperty($rt_ustr($timezone)) ? var$4[$rt_ustr($timezone)].value : var$4[$rt_ustr($rt_s(605))].value;
        var$3 = ju_Calendar_minimalDaysInFirstWeekCache;
    }
    ju_GregorianCalendar_setMinimalDaysInFirstWeek($this, var$3);
    ju_Calendar_cacheFor = $locale;
    $this.$gregorianCutover = new Long(4184124416, 4294964450);
    $this.$changeYear = 1582;
    $this.$julianSkew = ((($this.$changeYear - 2000 | 0) / 400 | 0) + ju_GregorianCalendar_julianError($this) | 0) - (($this.$changeYear - 2000 | 0) / 100 | 0) | 0;
    var$5 = $rt_createIntArray(10);
    var$6 = var$5.data;
    var$6[0] = 0;
    var$6[1] = 0;
    var$6[2] = 0;
    var$6[3] = 0;
    var$6[4] = 0;
    var$6[5] = 0;
    var$6[6] = 0;
    var$6[7] = 0;
    var$6[8] = 0;
    var$6[9] = 0;
    $this.$cachedFields = var$5;
    $this.$currentYearSkew = 10;
    ju_Calendar_setTimeInMillis($this, jl_System_currentTimeMillis());
}
function ju_GregorianCalendar_add($this, $field, $value) {
    var $multiplier, $offset, $newOffset, $month, $days, var$8;
    if (!$value)
        return;
    if ($field >= 0 && $field < 15) {
        $this.$isCached = 0;
        if (!$field) {
            ju_Calendar_complete($this);
            if ($this.$fields.data[0] != 1) {
                if ($value <= 0)
                    return;
                ju_Calendar_set($this, 0, 1);
            } else {
                if ($value >= 0)
                    return;
                ju_Calendar_set($this, 0, 0);
            }
            ju_Calendar_complete($this);
            return;
        }
        if ($field != 1 && $field != 2) {
            a: {
                $multiplier = Long_ZERO;
                ju_Calendar_getTimeInMillis($this);
                switch ($field) {
                    case 3:
                    case 4:
                    case 8:
                        $multiplier = Long_fromInt(604800000);
                        break a;
                    case 5:
                    case 6:
                    case 7:
                        $multiplier = Long_fromInt(86400000);
                        break a;
                    case 9:
                        $multiplier = Long_fromInt(43200000);
                        break a;
                    case 10:
                    case 11:
                        $this.$time = Long_add($this.$time, Long_mul(Long_fromInt($value), Long_fromInt(3600000)));
                        break a;
                    case 12:
                        $this.$time = Long_add($this.$time, Long_mul(Long_fromInt($value), Long_fromInt(60000)));
                        break a;
                    case 13:
                        $this.$time = Long_add($this.$time, Long_mul(Long_fromInt($value), Long_fromInt(1000)));
                        break a;
                    case 14:
                        $this.$time = Long_add($this.$time, Long_fromInt($value));
                        break a;
                    default:
                }
            }
            if (Long_gt($multiplier, Long_ZERO)) {
                $offset = ju_GregorianCalendar_getTimeZoneOffset($this, $this.$time);
                $this.$time = Long_add($this.$time, Long_mul(Long_fromInt($value), $multiplier));
                $newOffset = ju_GregorianCalendar_getTimeZoneOffset($this, $this.$time);
                if ($newOffset != $offset)
                    $this.$time = Long_add($this.$time, Long_fromInt($offset - $newOffset | 0));
            }
            $this.$areFieldsSet = 0;
            ju_Calendar_complete($this);
            return;
        }
        ju_Calendar_complete($this);
        if ($field == 2) {
            $month = $this.$fields.data[2] + $value | 0;
            if ($month >= 0)
                $value = $month / 12 | 0;
            else {
                $value = ($month - 11 | 0) / 12 | 0;
                $month = 12 + ($month % 12 | 0) | 0;
            }
            ju_Calendar_set($this, 2, $month % 12 | 0);
        }
        ju_Calendar_set($this, 1, $this.$fields.data[1] + $value | 0);
        $days = ju_GregorianCalendar_daysInMonth0($this, ju_GregorianCalendar_isLeapYear($this, $this.$fields.data[1]), $this.$fields.data[2]);
        if ($this.$fields.data[5] > $days)
            ju_Calendar_set($this, 5, $days);
        ju_Calendar_complete($this);
        return;
    }
    var$8 = new jl_IllegalArgumentException;
    jl_Throwable__init_0(var$8);
    $rt_throw(var$8);
}
function ju_GregorianCalendar_fullFieldsCalc($this, $timeVal, $millis, $zoneOffset) {
    var $days, var$5, var$6, $dayOfYear, $month, $leapYear, $date, $dstOffset, var$12, $daysFromStart, $week;
    $days = Long_div($timeVal, Long_fromInt(86400000));
    if ($millis < 0) {
        $millis = $millis + 86400000 | 0;
        $days = Long_sub($days, Long_fromInt(1));
    }
    $millis = $millis + $zoneOffset | 0;
    while ($millis < 0) {
        $millis = $millis + 86400000 | 0;
        $days = Long_sub($days, Long_fromInt(1));
    }
    while ($millis >= 86400000) {
        $millis = $millis - 86400000 | 0;
        $days = Long_add($days, Long_fromInt(1));
    }
    var$5 = Long_fromInt($zoneOffset);
    var$6 = Long_add($timeVal, var$5);
    $dayOfYear = ju_GregorianCalendar_computeYearAndDay($this, $days, var$6);
    $this.$fields.data[6] = $dayOfYear;
    if ($this.$fields.data[1] == $this.$changeYear && Long_le($this.$gregorianCutover, var$6))
        $dayOfYear = $dayOfYear + $this.$currentYearSkew | 0;
    $month = $dayOfYear / 32 | 0;
    $leapYear = ju_GregorianCalendar_isLeapYear($this, $this.$fields.data[1]);
    $date = $dayOfYear - ju_GregorianCalendar_daysInYear0($this, $leapYear, $month) | 0;
    if ($date > ju_GregorianCalendar_daysInMonth0($this, $leapYear, $month)) {
        $date = $date - ju_GregorianCalendar_daysInMonth0($this, $leapYear, $month) | 0;
        $month = $month + 1 | 0;
    }
    $this.$fields.data[7] = ju_GregorianCalendar_mod7($this, Long_sub($days, Long_fromInt(3))) + 1 | 0;
    $dstOffset = ju_GregorianCalendar_getTimeZoneOffset($this, $timeVal);
    if ($this.$fields.data[1] > 0)
        $dstOffset = $dstOffset - $zoneOffset | 0;
    $this.$fields.data[16] = $dstOffset;
    if (!$dstOffset)
        var$6 = $days;
    else {
        $millis = $millis + $dstOffset | 0;
        if ($millis < 0) {
            $millis = $millis + 86400000 | 0;
            var$6 = Long_sub($days, Long_fromInt(1));
        } else if ($millis < 86400000)
            var$6 = $days;
        else {
            $millis = $millis - 86400000 | 0;
            var$6 = Long_add($days, Long_fromInt(1));
        }
        if (Long_ne($days, var$6)) {
            $timeVal = Long_add(Long_sub($timeVal, var$5), Long_fromInt($dstOffset));
            $zoneOffset = ju_GregorianCalendar_computeYearAndDay($this, var$6, $timeVal);
            $this.$fields.data[6] = $zoneOffset;
            if ($this.$fields.data[1] == $this.$changeYear && Long_le($this.$gregorianCutover, $timeVal))
                $zoneOffset = $zoneOffset + $this.$currentYearSkew | 0;
            $month = $zoneOffset / 32 | 0;
            $leapYear = ju_GregorianCalendar_isLeapYear($this, $this.$fields.data[1]);
            $date = $zoneOffset - ju_GregorianCalendar_daysInYear0($this, $leapYear, $month) | 0;
            if ($date > ju_GregorianCalendar_daysInMonth0($this, $leapYear, $month)) {
                $date = $date - ju_GregorianCalendar_daysInMonth0($this, $leapYear, $month) | 0;
                $month = $month + 1 | 0;
            }
            $this.$fields.data[7] = ju_GregorianCalendar_mod7($this, Long_sub(var$6, Long_fromInt(3))) + 1 | 0;
        }
    }
    $this.$fields.data[14] = $millis % 1000 | 0;
    $millis = $millis / 1000 | 0;
    $this.$fields.data[13] = $millis % 60 | 0;
    $millis = $millis / 60 | 0;
    $this.$fields.data[12] = $millis % 60 | 0;
    $this.$fields.data[11] = ($millis / 60 | 0) % 24 | 0;
    var$12 = $this.$fields;
    var$12.data[9] = $this.$fields.data[11] <= 11 ? 0 : 1;
    $this.$fields.data[10] = $this.$fields.data[11] % 12 | 0;
    if ($this.$fields.data[1] > 0)
        $this.$fields.data[0] = 1;
    else {
        $this.$fields.data[0] = 0;
        $this.$fields.data[1] =  -$this.$fields.data[1] + 1 | 0;
    }
    $this.$fields.data[2] = $month;
    $this.$fields.data[5] = $date;
    var$12 = $this.$fields.data;
    $zoneOffset = $date - 1 | 0;
    var$12[8] = ($zoneOffset / 7 | 0) + 1 | 0;
    $this.$fields.data[4] = (($zoneOffset + ju_GregorianCalendar_mod7($this, Long_sub(Long_sub(Long_sub(var$6, Long_fromInt($date)), Long_fromInt(2)), Long_fromInt(ju_Calendar_getFirstDayOfWeek($this) - 1 | 0))) | 0) / 7 | 0) + 1 | 0;
    $daysFromStart = ju_GregorianCalendar_mod7($this, Long_sub(Long_sub(Long_sub(var$6, Long_fromInt(3)), Long_fromInt($this.$fields.data[6] - 1 | 0)), Long_fromInt(ju_Calendar_getFirstDayOfWeek($this) - 1 | 0)));
    $week = ((($this.$fields.data[6] - 1 | 0) + $daysFromStart | 0) / 7 | 0) + ((7 - $daysFromStart | 0) < ju_Calendar_getMinimalDaysInFirstWeek($this) ? 0 : 1) | 0;
    if (!$week) {
        var$12 = $this.$fields;
        $month = !ju_GregorianCalendar_isLeapYear($this, $this.$fields.data[1] - 1 | 0) ? 1 : 2;
        var$12.data[3] = (7 - ju_GregorianCalendar_mod7($this, Long_fromInt($daysFromStart - $month | 0)) | 0) < ju_Calendar_getMinimalDaysInFirstWeek($this) ? 52 : 53;
    } else {
        $millis = $this.$fields.data[6];
        $zoneOffset = !$leapYear ? 366 : 367;
        $month = !$leapYear ? 1 : 2;
        if ($millis < ($zoneOffset - ju_GregorianCalendar_mod7($this, Long_fromInt($daysFromStart + $month | 0)) | 0))
            $this.$fields.data[3] = $week;
        else {
            var$12 = $this.$fields;
            $month = !$leapYear ? 1 : 2;
            if ((7 - ju_GregorianCalendar_mod7($this, Long_fromInt($daysFromStart + $month | 0)) | 0) >= ju_Calendar_getMinimalDaysInFirstWeek($this))
                $week = 1;
            var$12.data[3] = $week;
        }
    }
}
function ju_GregorianCalendar_cachedFieldsCheckAndGet($this, $timeVal, $newTimeMillis, $newTimeMillisAdjusted, $millis, $zoneOffset) {
    var $dstOffset;
    a: {
        b: {
            $dstOffset = $this.$fields.data[16];
            if ($this.$isCached && Long_lt($newTimeMillis, $this.$nextMidnightMillis) && Long_gt($newTimeMillis, $this.$lastMidnightMillis) && $this.$cachedFields.data[4] == $zoneOffset && !(!$dstOffset && Long_ge($newTimeMillisAdjusted, $this.$nextMidnightMillis))) {
                if (!$dstOffset)
                    break b;
                if (Long_gt($newTimeMillisAdjusted, $this.$lastMidnightMillis))
                    break b;
            }
            ju_GregorianCalendar_fullFieldsCalc($this, $timeVal, $millis, $zoneOffset);
            $this.$isCached = 0;
            break a;
        }
        $this.$fields.data[1] = $this.$cachedFields.data[0];
        $this.$fields.data[2] = $this.$cachedFields.data[1];
        $this.$fields.data[5] = $this.$cachedFields.data[2];
        $this.$fields.data[7] = $this.$cachedFields.data[3];
        $this.$fields.data[0] = $this.$cachedFields.data[5];
        $this.$fields.data[3] = $this.$cachedFields.data[6];
        $this.$fields.data[4] = $this.$cachedFields.data[7];
        $this.$fields.data[6] = $this.$cachedFields.data[8];
        $this.$fields.data[8] = $this.$cachedFields.data[9];
    }
}
function ju_GregorianCalendar_getTimeZoneOffset($this, $localTime) {
    return ju_IANATimeZone_getOffset($this.$zone, $localTime);
}
function ju_GregorianCalendar_computeFields($this) {
    var $zoneOffset, $millis, $dstOffset, $offset, $newTime, $i, var$7, var$8;
    $zoneOffset = ju_GregorianCalendar_getTimeZoneOffset($this, $this.$time);
    if (!$this.$isSet.data[15])
        $this.$fields.data[15] = $zoneOffset;
    $millis = Long_rem($this.$time, Long_fromInt(86400000)).lo;
    $dstOffset = $this.$fields.data[16];
    $offset = $zoneOffset + $dstOffset | 0;
    $newTime = Long_add($this.$time, Long_fromInt($offset));
    if (Long_gt($this.$time, Long_ZERO) && Long_lt($newTime, Long_ZERO) && $offset > 0)
        $newTime = new Long(4294967295, 2147483647);
    else if (Long_lt($this.$time, Long_ZERO) && Long_gt($newTime, Long_ZERO) && $offset < 0)
        $newTime = new Long(0, 2147483648);
    if (!$this.$isCached)
        ju_GregorianCalendar_fullFieldsCalc($this, $this.$time, $millis, $zoneOffset);
    else {
        $offset = (($millis >= 0 ? $millis : $millis + 86400000 | 0) + $zoneOffset | 0) + $dstOffset | 0;
        if ($offset < 0)
            $offset = $offset + 86400000 | 0;
        else if ($offset >= 86400000)
            $offset = $offset - 86400000 | 0;
        $this.$fields.data[14] = $offset % 1000 | 0;
        $offset = $offset / 1000 | 0;
        $this.$fields.data[13] = $offset % 60 | 0;
        $i = $offset / 60 | 0;
        $this.$fields.data[12] = $i % 60 | 0;
        $this.$fields.data[11] = ($i / 60 | 0) % 24 | 0;
        var$7 = $this.$fields;
        var$7.data[9] = $this.$fields.data[11] <= 11 ? 0 : 1;
        $this.$fields.data[10] = $this.$fields.data[11] % 12 | 0;
        $offset = Long_compare($newTime, Long_ZERO);
        var$8 = $offset > 0 && $offset < 0 && !$dstOffset ? new Long(4294967295, 2147483647) : $offset >= 0 ? $newTime : $offset <= 0 ? $newTime : $dstOffset ? new Long(0, 2147483648) : $newTime;
        ju_GregorianCalendar_cachedFieldsCheckAndGet($this, $this.$time, $newTime, var$8, $millis, $zoneOffset);
    }
    $i = 0;
    while ($i < 17) {
        $this.$isSet.data[$i] = 1;
        $i = $i + 1 | 0;
    }
    if (!$this.$isCached && Long_ne($newTime, new Long(4294967295, 2147483647)) && Long_ne($newTime, new Long(0, 2147483648))) {
        $this.$cachedFields.data[0] = $this.$fields.data[1];
        $this.$cachedFields.data[1] = $this.$fields.data[2];
        $this.$cachedFields.data[2] = $this.$fields.data[5];
        $this.$cachedFields.data[3] = $this.$fields.data[7];
        $this.$cachedFields.data[4] = $zoneOffset;
        $this.$cachedFields.data[5] = $this.$fields.data[0];
        $this.$cachedFields.data[6] = $this.$fields.data[3];
        $this.$cachedFields.data[7] = $this.$fields.data[4];
        $this.$cachedFields.data[8] = $this.$fields.data[6];
        $this.$cachedFields.data[9] = $this.$fields.data[8];
        $this.$nextMidnightMillis = Long_add($newTime, Long_fromInt(((0 + ((((23 - $this.$fields.data[11] | 0) * 60 | 0) * 60 | 0) * 1000 | 0) | 0) + (((59 - $this.$fields.data[12] | 0) * 60 | 0) * 1000 | 0) | 0) + ((59 - $this.$fields.data[13] | 0) * 1000 | 0) | 0));
        $this.$lastMidnightMillis = Long_sub($newTime, Long_fromInt((((($this.$fields.data[11] * 60 | 0) * 60 | 0) * 1000 | 0) + (($this.$fields.data[12] * 60 | 0) * 1000 | 0) | 0) + ($this.$fields.data[13] * 1000 | 0) | 0));
        $this.$isCached = 1;
    }
}
function ju_GregorianCalendar_computeTime($this) {
    var $hour, $timeVal, $year, $weekMonthSet, $useMonth, $useWeekYear, $days, $dayOfWeek, $skew, $month, $leapYear, $useDate;
    a: {
        b: {
            c: {
                d: {
                    e: {
                        if (!ju_Calendar_isLenient($this)) {
                            f: {
                                if ($this.$isSet.data[11]) {
                                    if ($this.$fields.data[11] >= 0 && $this.$fields.data[11] <= 23)
                                        break f;
                                    $rt_throw(jl_IllegalArgumentException__init_0());
                                }
                                if ($this.$isSet.data[10]) {
                                    if ($this.$fields.data[10] < 0)
                                        break a;
                                    if ($this.$fields.data[10] > 11)
                                        break a;
                                }
                            }
                            if ($this.$isSet.data[12] && !($this.$fields.data[12] >= 0 && $this.$fields.data[12] <= 59))
                                $rt_throw(jl_IllegalArgumentException__init_0());
                            if ($this.$isSet.data[13]) {
                                if ($this.$fields.data[13] < 0)
                                    break b;
                                if ($this.$fields.data[13] > 59)
                                    break b;
                            }
                            if ($this.$isSet.data[14]) {
                                if ($this.$fields.data[14] < 0)
                                    break c;
                                if ($this.$fields.data[14] > 999)
                                    break c;
                            }
                            if ($this.$isSet.data[3] && !($this.$fields.data[3] >= 1 && $this.$fields.data[3] <= 53))
                                $rt_throw(jl_IllegalArgumentException__init_0());
                            if ($this.$isSet.data[7] && !($this.$fields.data[7] >= 1 && $this.$fields.data[7] <= 7))
                                $rt_throw(jl_IllegalArgumentException__init_0());
                            if ($this.$isSet.data[8] && !($this.$fields.data[8] >= 1 && $this.$fields.data[8] <= 6))
                                $rt_throw(jl_IllegalArgumentException__init_0());
                            if ($this.$isSet.data[4]) {
                                if ($this.$fields.data[4] < 1)
                                    break d;
                                if ($this.$fields.data[4] > 6)
                                    break d;
                            }
                            if ($this.$isSet.data[9] && $this.$fields.data[9] && $this.$fields.data[9] != 1)
                                $rt_throw(jl_IllegalArgumentException__init_0());
                            if ($this.$isSet.data[10] && !($this.$fields.data[10] >= 0 && $this.$fields.data[10] <= 11))
                                $rt_throw(jl_IllegalArgumentException__init_0());
                            if ($this.$isSet.data[1]) {
                                if ($this.$isSet.data[0] && !$this.$fields.data[0] && !($this.$fields.data[1] >= 1 && $this.$fields.data[1] <= 292269054))
                                    $rt_throw(jl_IllegalArgumentException__init_0());
                                if (!($this.$fields.data[1] >= 1 && $this.$fields.data[1] <= 292278994))
                                    $rt_throw(jl_IllegalArgumentException__init_0());
                            }
                            if ($this.$isSet.data[2]) {
                                if ($this.$fields.data[2] < 0)
                                    break e;
                                if ($this.$fields.data[2] > 11)
                                    break e;
                            }
                        }
                        $hour = Long_ZERO;
                        if ($this.$isSet.data[11] && $this.$lastTimeFieldSet != 10)
                            $hour = Long_fromInt($this.$fields.data[11]);
                        else if ($this.$isSet.data[10])
                            $hour = Long_fromInt(($this.$fields.data[9] * 12 | 0) + $this.$fields.data[10] | 0);
                        $timeVal = Long_mul($hour, Long_fromInt(3600000));
                        if ($this.$isSet.data[12])
                            $timeVal = Long_add($timeVal, Long_mul(Long_fromInt($this.$fields.data[12]), Long_fromInt(60000)));
                        if ($this.$isSet.data[13])
                            $timeVal = Long_add($timeVal, Long_mul(Long_fromInt($this.$fields.data[13]), Long_fromInt(1000)));
                        if ($this.$isSet.data[14])
                            $timeVal = Long_add($timeVal, Long_fromInt($this.$fields.data[14]));
                        $year = !$this.$isSet.data[1] ? 1970 : $this.$fields.data[1];
                        if ($this.$isSet.data[0]) {
                            if ($this.$fields.data[0] && $this.$fields.data[0] != 1)
                                $rt_throw(jl_IllegalArgumentException__init_0());
                            if (!$this.$fields.data[0])
                                $year = 1 - $year | 0;
                        }
                        $weekMonthSet = !$this.$isSet.data[4] && !$this.$isSet.data[8] ? 0 : 1;
                        $useMonth = !(!$this.$isSet.data[5] && !$this.$isSet.data[2] && !$weekMonthSet) && $this.$lastDateFieldSet != 6 ? 1 : 0;
                        if ($useMonth && !($this.$lastDateFieldSet != 7 && $this.$lastDateFieldSet != 3)) {
                            if ($this.$isSet.data[3] && $this.$isSet.data[7])
                                $useMonth = $this.$lastDateFieldSet != 3 && $weekMonthSet && $this.$isSet.data[7] ? 1 : 0;
                            else if ($this.$isSet.data[6])
                                $useMonth = $this.$isSet.data[5] && $this.$isSet.data[2] ? 1 : 0;
                        }
                        if (!$useMonth) {
                            $useWeekYear = $this.$isSet.data[3] && $this.$lastDateFieldSet != 6 ? 1 : 0;
                            if ($useWeekYear && $this.$isSet.data[6])
                                $useWeekYear = $this.$isSet.data[7];
                            $days = ju_GregorianCalendar_daysFromBaseYear($this, $year);
                            if ($useWeekYear) {
                                $dayOfWeek = !$this.$isSet.data[7] ? ju_Calendar_getFirstDayOfWeek($this) - 1 | 0 : $this.$fields.data[7] - 1 | 0;
                                $hour = Long_sub($days, Long_fromInt(3));
                                $skew = ju_GregorianCalendar_mod7($this, Long_sub($hour, Long_fromInt(ju_Calendar_getFirstDayOfWeek($this) - 1 | 0)));
                                $days = Long_add($days, Long_fromInt(((($this.$fields.data[3] - 1 | 0) * 7 | 0) + ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($skew + $dayOfWeek | 0), $hour)) | 0) - $skew | 0));
                                if ((7 - $skew | 0) < ju_Calendar_getMinimalDaysInFirstWeek($this))
                                    $days = Long_add($days, Long_fromInt(7));
                            } else if ($this.$isSet.data[6]) {
                                if (!ju_Calendar_isLenient($this) && !($this.$fields.data[6] >= 1 && $this.$fields.data[6] <= (365 + (!ju_GregorianCalendar_isLeapYear($this, $year) ? 0 : 1) | 0)))
                                    $rt_throw(jl_IllegalArgumentException__init_0());
                                $days = Long_add($days, Long_fromInt($this.$fields.data[6] - 1 | 0));
                            } else if ($this.$isSet.data[7])
                                $days = Long_add($days, Long_fromInt(ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($this.$fields.data[7] - 1 | 0), Long_sub($days, Long_fromInt(3))))));
                        } else {
                            $month = $this.$fields.data[2];
                            $year = $year + ($month / 12 | 0) | 0;
                            $month = $month % 12 | 0;
                            if ($month < 0) {
                                $year = $year + (-1) | 0;
                                $month = $month + 12 | 0;
                            }
                            $leapYear = ju_GregorianCalendar_isLeapYear($this, $year);
                            $days = Long_add(ju_GregorianCalendar_daysFromBaseYear($this, $year), Long_fromInt(ju_GregorianCalendar_daysInYear0($this, $leapYear, $month)));
                            $useDate = $this.$isSet.data[5];
                            if ($useDate && !($this.$lastDateFieldSet != 7 && $this.$lastDateFieldSet != 4 && $this.$lastDateFieldSet != 8))
                                $useDate = $this.$isSet.data[7] && $weekMonthSet ? 0 : 1;
                            if ($useDate) {
                                if (!ju_Calendar_isLenient($this) && !($this.$fields.data[5] >= 1 && $this.$fields.data[5] <= ju_GregorianCalendar_daysInMonth0($this, $leapYear, $month)))
                                    $rt_throw(jl_IllegalArgumentException__init_0());
                                $days = Long_add($days, Long_fromInt($this.$fields.data[5] - 1 | 0));
                            } else {
                                $dayOfWeek = !$this.$isSet.data[7] ? ju_Calendar_getFirstDayOfWeek($this) - 1 | 0 : $this.$fields.data[7] - 1 | 0;
                                if ($this.$isSet.data[4] && $this.$lastDateFieldSet != 8) {
                                    $skew = ju_GregorianCalendar_mod7($this, Long_sub(Long_sub($days, Long_fromInt(3)), Long_fromInt(ju_Calendar_getFirstDayOfWeek($this) - 1 | 0)));
                                    $days = Long_add($days, Long_fromInt(((($this.$fields.data[4] - 1 | 0) * 7 | 0) + ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($skew + $dayOfWeek | 0), Long_sub($days, Long_fromInt(2)))) | 0) - $skew | 0));
                                } else if ($this.$isSet.data[8])
                                    $days = $this.$fields.data[8] >= 0 ? Long_add($days, Long_fromInt(ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($dayOfWeek), Long_sub($days, Long_fromInt(3)))) + (($this.$fields.data[8] - 1 | 0) * 7 | 0) | 0)) : Long_add($days, Long_fromInt((ju_GregorianCalendar_daysInMonth0($this, $leapYear, $month) + ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($dayOfWeek), Long_sub(Long_add($days, Long_fromInt(ju_GregorianCalendar_daysInMonth0($this, $leapYear, $month))),
                                    Long_fromInt(3)))) | 0) + ($this.$fields.data[8] * 7 | 0) | 0));
                                else if ($this.$isSet.data[7]) {
                                    $hour = Long_sub($days, Long_fromInt(3));
                                    $skew = ju_GregorianCalendar_mod7($this, Long_sub($hour, Long_fromInt(ju_Calendar_getFirstDayOfWeek($this) - 1 | 0)));
                                    $days = Long_add($days, Long_fromInt(ju_GregorianCalendar_mod7($this, Long_fromInt(ju_GregorianCalendar_mod7($this, Long_sub(Long_fromInt($skew + $dayOfWeek | 0), $hour)) - $skew | 0))));
                                }
                            }
                        }
                        $this.$lastDateFieldSet = 0;
                        $hour = Long_add($timeVal, Long_mul($days, Long_fromInt(86400000)));
                        if ($year == $this.$changeYear && Long_ge($hour, Long_add($this.$gregorianCutover, Long_mul(Long_fromInt(ju_GregorianCalendar_julianError($this)), Long_fromInt(86400000)))))
                            $hour = Long_sub($hour, Long_mul(Long_fromInt(ju_GregorianCalendar_julianError($this)), Long_fromInt(86400000)));
                        $this.$time = Long_sub($hour, Long_fromInt(ju_GregorianCalendar_getTimeZoneOffset($this, $hour)));
                        return;
                    }
                    $rt_throw(jl_IllegalArgumentException__init_0());
                }
                $rt_throw(jl_IllegalArgumentException__init_0());
            }
            $rt_throw(jl_IllegalArgumentException__init_0());
        }
        $rt_throw(jl_IllegalArgumentException__init_0());
    }
    $rt_throw(jl_IllegalArgumentException__init_0());
}
function ju_GregorianCalendar_computeYearAndDay($this, $dayCount, $localTime) {
    var $year, var$4, var$5;
    $year = 1970;
    $localTime = Long_ge($localTime, $this.$gregorianCutover) ? $dayCount : Long_sub($dayCount, Long_fromInt($this.$julianSkew));
    while (true) {
        var$4 = Long_div($localTime, Long_fromInt(365)).lo;
        if (!var$4)
            break;
        $year = $year + var$4 | 0;
        $localTime = Long_sub($dayCount, ju_GregorianCalendar_daysFromBaseYear($this, $year));
    }
    if (Long_lt($localTime, Long_ZERO)) {
        $year = $year - 1 | 0;
        var$5 = !ju_GregorianCalendar_isLeapYear($this, $year) ? 365 : 366;
        if ($year == $this.$changeYear)
            var$5 = var$5 - $this.$currentYearSkew | 0;
        if ($year == ($this.$changeYear - 1 | 0))
            var$5 = var$5 - $this.$lastYearSkew | 0;
        $localTime = Long_add($localTime, Long_fromInt(var$5));
    }
    $this.$fields.data[1] = $year;
    return $localTime.lo + 1 | 0;
}
function ju_GregorianCalendar_daysFromBaseYear($this, $iyear) {
    var $year, $days;
    $year = Long_fromInt($iyear);
    if (Long_lt($year, Long_fromInt(1970))) {
        if (Long_le($year, Long_fromInt($this.$changeYear)))
            return Long_add(Long_add(Long_mul(Long_sub($year, Long_fromInt(1970)), Long_fromInt(365)), Long_div(Long_sub($year, Long_fromInt(1972)), Long_fromInt(4))), Long_fromInt($this.$julianSkew));
        $days = Long_add(Long_mul(Long_sub($year, Long_fromInt(1970)), Long_fromInt(365)), Long_div(Long_sub($year, Long_fromInt(1972)), Long_fromInt(4)));
        $year = Long_sub($year, Long_fromInt(2000));
        return Long_add(Long_sub($days, Long_div($year, Long_fromInt(100))), Long_div($year, Long_fromInt(400)));
    }
    $days = Long_add(Long_mul(Long_sub($year, Long_fromInt(1970)), Long_fromInt(365)), Long_div(Long_sub($year, Long_fromInt(1969)), Long_fromInt(4)));
    return Long_gt($year, Long_fromInt($this.$changeYear)) ? Long_sub($days, Long_sub(Long_div(Long_sub($year, Long_fromInt(1901)), Long_fromInt(100)), Long_div(Long_sub($year, Long_fromInt(1601)), Long_fromInt(400)))) : Long_eq($year, Long_fromInt($this.$changeYear)) ? Long_add($days, Long_fromInt($this.$currentYearSkew)) : Long_ne($year, Long_fromInt($this.$changeYear - 1 | 0)) ? Long_add($days, Long_fromInt($this.$julianSkew)) : Long_add($days, Long_fromInt($this.$lastYearSkew));
}
function ju_GregorianCalendar_daysInMonth0($this, $leapYear, $month) {
    if ($leapYear && $month == 1)
        return ju_GregorianCalendar_daysInMonth.data[$month] + 1 | 0;
    return ju_GregorianCalendar_daysInMonth.data[$month];
}
function ju_GregorianCalendar_daysInYear0($this, $leapYear, $month) {
    if ($leapYear && $month > 1)
        return ju_GregorianCalendar_daysInYear.data[$month] + 1 | 0;
    return ju_GregorianCalendar_daysInYear.data[$month];
}
function ju_GregorianCalendar_isLeapYear($this, $year) {
    if ($year <= $this.$changeYear)
        return $year % 4 | 0 ? 0 : 1;
    a: {
        b: {
            if (!($year % 4 | 0)) {
                if ($year % 100 | 0)
                    break b;
                if (!($year % 400 | 0))
                    break b;
            }
            $year = 0;
            break a;
        }
        $year = 1;
    }
    return $year;
}
function ju_GregorianCalendar_julianError($this) {
    return (($this.$changeYear / 100 | 0) - ($this.$changeYear / 400 | 0) | 0) - 2 | 0;
}
function ju_GregorianCalendar_mod7($this, $num1) {
    var $rem;
    $rem = Long_rem($num1, Long_fromInt(7)).lo;
    if (Long_lt($num1, Long_ZERO) && $rem < 0)
        return $rem + 7 | 0;
    return $rem;
}
function ju_GregorianCalendar_setFirstDayOfWeek($this, $value) {
    $this.$firstDayOfWeek = $value;
    $this.$isCached = 0;
}
function ju_GregorianCalendar_setMinimalDaysInFirstWeek($this, $value) {
    $this.$minimalDaysInFirstWeek = $value;
    $this.$isCached = 0;
}
function ju_GregorianCalendar__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createByteArray(12);
    var$2 = var$1.data;
    var$2[0] = 31;
    var$2[1] = 28;
    var$2[2] = 31;
    var$2[3] = 30;
    var$2[4] = 31;
    var$2[5] = 30;
    var$2[6] = 31;
    var$2[7] = 31;
    var$2[8] = 30;
    var$2[9] = 31;
    var$2[10] = 30;
    var$2[11] = 31;
    ju_GregorianCalendar_daysInMonth = var$1;
    var$1 = $rt_createIntArray(12);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 31;
    var$2[2] = 59;
    var$2[3] = 90;
    var$2[4] = 120;
    var$2[5] = 151;
    var$2[6] = 181;
    var$2[7] = 212;
    var$2[8] = 243;
    var$2[9] = 273;
    var$2[10] = 304;
    var$2[11] = 334;
    ju_GregorianCalendar_daysInYear = var$1;
    var$1 = $rt_createIntArray(17);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 292278994;
    var$2[2] = 11;
    var$2[3] = 53;
    var$2[4] = 6;
    var$2[5] = 31;
    var$2[6] = 366;
    var$2[7] = 7;
    var$2[8] = 6;
    var$2[9] = 1;
    var$2[10] = 11;
    var$2[11] = 23;
    var$2[12] = 59;
    var$2[13] = 59;
    var$2[14] = 999;
    var$2[15] = 50400000;
    var$2[16] = 7200000;
    ju_GregorianCalendar_maximums = var$1;
    var$1 = $rt_createIntArray(17);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 1;
    var$2[2] = 0;
    var$2[3] = 1;
    var$2[4] = 0;
    var$2[5] = 1;
    var$2[6] = 1;
    var$2[7] = 1;
    var$2[8] = 1;
    var$2[9] = 0;
    var$2[10] = 0;
    var$2[11] = 0;
    var$2[12] = 0;
    var$2[13] = 0;
    var$2[14] = 0;
    var$2[15] = (-46800000);
    var$2[16] = 0;
    ju_GregorianCalendar_minimums = var$1;
    var$1 = $rt_createIntArray(17);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 292269054;
    var$2[2] = 11;
    var$2[3] = 50;
    var$2[4] = 3;
    var$2[5] = 28;
    var$2[6] = 355;
    var$2[7] = 7;
    var$2[8] = 3;
    var$2[9] = 1;
    var$2[10] = 11;
    var$2[11] = 23;
    var$2[12] = 59;
    var$2[13] = 59;
    var$2[14] = 999;
    var$2[15] = 50400000;
    var$2[16] = 1200000;
    ju_GregorianCalendar_leastMaximums = var$1;
}
function cjj_Checksum() {
}
function cjj_Adler32() {
    var a = this; jl_Object.call(a);
    a.$s1 = Long_ZERO;
    a.$s2 = Long_ZERO;
}
function cjj_Adler32__init_0() {
    var var_0 = new cjj_Adler32();
    cjj_Adler32__init_(var_0);
    return var_0;
}
function cjj_Adler32__init_($this) {
    $this.$s1 = Long_fromInt(1);
    $this.$s2 = Long_ZERO;
}
function cjj_Adler32_reset($this, $init) {
    $this.$s1 = Long_and($init, Long_fromInt(65535));
    $this.$s2 = Long_and(Long_shr($init, 16), Long_fromInt(65535));
}
function cjj_Adler32_reset0($this) {
    $this.$s1 = Long_fromInt(1);
    $this.$s2 = Long_ZERO;
}
function cjj_Adler32_getValue($this) {
    return Long_or(Long_shl($this.$s2, 16), $this.$s1);
}
function cjj_Adler32_update($this, $buf, $index, $len) {
    var $len1, $len2, var$6, $k, var$8, var$9;
    if ($len == 1) {
        $buf = $buf.data;
        $this.$s1 = Long_add($this.$s1, Long_fromInt($buf[$index] & 255));
        $this.$s2 = Long_add($this.$s2, $this.$s1);
        $this.$s1 = Long_rem($this.$s1, Long_fromInt(65521));
        $this.$s2 = Long_rem($this.$s2, Long_fromInt(65521));
        return;
    }
    $len1 = $len / 5552 | 0;
    $len2 = $len % 5552 | 0;
    while (true) {
        var$6 = $len1 + (-1) | 0;
        if ($len1 <= 0)
            break;
        $k = 5552;
        while (true) {
            $len1 = $k + (-1) | 0;
            if ($k <= 0)
                break;
            var$8 = $buf.data;
            var$9 = $this.$s1;
            $len = $index + 1 | 0;
            $this.$s1 = Long_add(var$9, Long_fromInt(var$8[$index] & 255));
            $this.$s2 = Long_add($this.$s2, $this.$s1);
            $k = $len1;
            $index = $len;
        }
        $this.$s1 = Long_rem($this.$s1, Long_fromInt(65521));
        $this.$s2 = Long_rem($this.$s2, Long_fromInt(65521));
        $len1 = var$6;
    }
    while (true) {
        $len = $len2 + (-1) | 0;
        if ($len2 <= 0)
            break;
        var$8 = $buf.data;
        var$9 = $this.$s1;
        $len1 = $index + 1 | 0;
        $this.$s1 = Long_add(var$9, Long_fromInt(var$8[$index] & 255));
        $this.$s2 = Long_add($this.$s2, $this.$s1);
        $len2 = $len;
        $index = $len1;
    }
    $this.$s1 = Long_rem($this.$s1, Long_fromInt(65521));
    $this.$s2 = Long_rem($this.$s2, Long_fromInt(65521));
}
function jur_NonCapFSet() {
    jur_FSet.call(this);
}
function jur_NonCapFSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $gr;
    $gr = $this.$groupIndex;
    jur_MatchResultImpl_setConsumed($matchResult, $gr, $stringIndex - jur_MatchResultImpl_getConsumed($matchResult, $gr) | 0);
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_NonCapFSet_getName($this) {
    return $rt_s(606);
}
function jur_NonCapFSet_hasConsumed($this, $mr) {
    return 0;
}
function jur_AheadFSet() {
    jur_FSet.call(this);
}
function jur_AheadFSet__init_0() {
    var var_0 = new jur_AheadFSet();
    jur_AheadFSet__init_(var_0);
    return var_0;
}
function jur_AheadFSet__init_($this) {
    jur_FSet__init_($this, (-1));
}
function jur_AheadFSet_matches($this, $stringIndex, $testString, $matchResult) {
    return $stringIndex;
}
function jur_AheadFSet_getName($this) {
    return $rt_s(607);
}
function jur_BehindFSet() {
    jur_FSet.call(this);
}
function jur_BehindFSet_matches($this, $stringIndex, $testString, $matchResult) {
    if (jur_MatchResultImpl_getConsumed($matchResult, $this.$groupIndex) != $stringIndex)
        $stringIndex = (-1);
    return $stringIndex;
}
function jur_BehindFSet_getName($this) {
    return $rt_s(608);
}
function jur_AtomicFSet() {
    jur_FSet.call(this);
    this.$index2 = 0;
}
function jur_AtomicFSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $gr;
    $gr = $this.$groupIndex;
    jur_MatchResultImpl_setConsumed($matchResult, $gr, $stringIndex - jur_MatchResultImpl_getConsumed($matchResult, $gr) | 0);
    $this.$index2 = $stringIndex;
    return $stringIndex;
}
function jur_AtomicFSet_getIndex($this) {
    return $this.$index2;
}
function jur_AtomicFSet_getName($this) {
    return $rt_s(609);
}
function jur_AtomicFSet_hasConsumed($this, $mr) {
    return 0;
}
function jur_FinalSet() {
    jur_FSet.call(this);
}
function jur_FinalSet__init_0() {
    var var_0 = new jur_FinalSet();
    jur_FinalSet__init_(var_0);
    return var_0;
}
function jur_FinalSet__init_($this) {
    jur_FSet__init_($this, 0);
}
function jur_FinalSet_matches($this, $stringIndex, $testString, $matchResult) {
    if ($matchResult.$mode1 != 1 && $stringIndex != $matchResult.$rightBound0)
        return (-1);
    jur_MatchResultImpl_setValid($matchResult);
    jur_MatchResultImpl_setEnd($matchResult, 0, $stringIndex);
    return $stringIndex;
}
function jur_FinalSet_getName($this) {
    return $rt_s(610);
}
function jur_LeafSet() {
    jur_AbstractSet.call(this);
    this.$charCount = 0;
}
function jur_LeafSet__init_0() {
    var var_0 = new jur_LeafSet();
    jur_LeafSet__init_(var_0);
    return var_0;
}
function jur_LeafSet__init_($this) {
    jur_AbstractSet__init_($this);
    $this.$charCount = 1;
}
function jur_LeafSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $shift;
    if (($stringIndex + $this.$charCount0() | 0) > $matchResult.$rightBound0) {
        $matchResult.$hitEnd = 1;
        return (-1);
    }
    $shift = $this.$accepts($stringIndex, $testString);
    if ($shift < 0)
        return (-1);
    return $this.$next4.$matches0($stringIndex + $shift | 0, $testString, $matchResult);
}
function jur_LeafSet_charCount($this) {
    return $this.$charCount;
}
function jur_LeafSet_hasConsumed($this, $mr) {
    return 1;
}
function jur_EmptySet() {
    jur_LeafSet.call(this);
}
function jur_EmptySet__init_(var_0) {
    var var_1 = new jur_EmptySet();
    jur_EmptySet__init_0(var_1, var_0);
    return var_1;
}
function jur_EmptySet__init_0($this, $next) {
    jur_AbstractSet__init_2($this, $next);
    $this.$charCount = 1;
    $this.$type = 1;
    $this.$charCount = 0;
}
function jur_EmptySet_accepts($this, $stringIndex, $testString) {
    return 0;
}
function jur_EmptySet_find($this, $stringIndex, $testString, $matchResult) {
    var $strLength, $startStr, $high;
    $strLength = $matchResult.$rightBound0;
    $startStr = $matchResult.$leftBound0;
    while (true) {
        $high = $rt_compare($stringIndex, $strLength);
        if ($high > 0)
            return (-1);
        if ($high < 0 && jl_Character_isLowSurrogate(jl_String_charAt($testString, $stringIndex)) && $stringIndex > $startStr && jl_Character_isHighSurrogate(jl_String_charAt($testString, $stringIndex - 1 | 0))) {
            $stringIndex = $stringIndex + 1 | 0;
            continue;
        }
        if ($this.$next4.$matches0($stringIndex, $testString, $matchResult) >= 0)
            break;
        $stringIndex = $stringIndex + 1 | 0;
    }
    return $stringIndex;
}
function jur_EmptySet_findBack($this, $stringIndex, $startSearch, $testString, $matchResult) {
    var $strLength, $startStr;
    $strLength = $matchResult.$rightBound0;
    $startStr = $matchResult.$leftBound0;
    while (true) {
        if ($startSearch < $stringIndex)
            return (-1);
        if ($startSearch < $strLength && jl_Character_isLowSurrogate(jl_String_charAt($testString, $startSearch)) && $startSearch > $startStr && jl_Character_isHighSurrogate(jl_String_charAt($testString, $startSearch - 1 | 0))) {
            $startSearch = $startSearch + (-1) | 0;
            continue;
        }
        if ($this.$next4.$matches0($startSearch, $testString, $matchResult) >= 0)
            break;
        $startSearch = $startSearch + (-1) | 0;
    }
    return $startSearch;
}
function jur_EmptySet_getName($this) {
    return $rt_s(611);
}
function jur_EmptySet_hasConsumed($this, $mr) {
    return 0;
}
function jur_JointSet() {
    var a = this; jur_AbstractSet.call(a);
    a.$children = null;
    a.$fSet = null;
    a.$groupIndex0 = 0;
}
function jur_JointSet__init_2() {
    var var_0 = new jur_JointSet();
    jur_JointSet__init_(var_0);
    return var_0;
}
function jur_JointSet__init_1(var_0, var_1) {
    var var_2 = new jur_JointSet();
    jur_JointSet__init_0(var_2, var_0, var_1);
    return var_2;
}
function jur_JointSet__init_($this) {
    jur_AbstractSet__init_($this);
}
function jur_JointSet__init_0($this, $children, $fSet) {
    jur_AbstractSet__init_($this);
    $this.$children = $children;
    $this.$fSet = $fSet;
    $this.$groupIndex0 = $fSet.$groupIndex;
}
function jur_JointSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $start, $size, $i, $shift;
    if ($this.$children === null)
        return (-1);
    $start = jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0);
    jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $stringIndex);
    $size = $this.$children.$size;
    $i = 0;
    while (true) {
        if ($i >= $size) {
            jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $start);
            return (-1);
        }
        $shift = ju_ArrayList_get($this.$children, $i).$matches0($stringIndex, $testString, $matchResult);
        if ($shift >= 0)
            break;
        $i = $i + 1 | 0;
    }
    return $shift;
}
function jur_JointSet_setNext($this, $next) {
    $this.$fSet.$next4 = $next;
}
function jur_JointSet_getName($this) {
    return $rt_s(612);
}
function jur_JointSet_first($this, $set) {
    var $i;
    a: {
        if ($this.$children !== null) {
            $i = ju_AbstractList_iterator($this.$children);
            while (true) {
                if (!ju_AbstractList$1_hasNext($i))
                    break a;
                if (!ju_AbstractList$1_next($i).$first($set))
                    continue;
                else
                    return 1;
            }
        }
    }
    return 0;
}
function jur_JointSet_hasConsumed($this, $matchResult) {
    return jur_MatchResultImpl_getEnd($matchResult, $this.$groupIndex0) >= 0 && jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0) == jur_MatchResultImpl_getEnd($matchResult, $this.$groupIndex0) ? 0 : 1;
}
function jur_JointSet_processSecondPass($this) {
    var $childrenSize, $i, $child, $set;
    $this.$isSecondPassVisited = 1;
    if ($this.$fSet !== null && !$this.$fSet.$isSecondPassVisited)
        jur_AbstractSet_processSecondPass($this.$fSet);
    a: {
        if ($this.$children !== null) {
            $childrenSize = $this.$children.$size;
            $i = 0;
            while (true) {
                if ($i >= $childrenSize)
                    break a;
                $child = ju_ArrayList_get($this.$children, $i);
                $set = $child.$processBackRefReplacement();
                if ($set === null)
                    $set = $child;
                else {
                    $child.$isSecondPassVisited = 1;
                    ju_ArrayList_remove($this.$children, $i);
                    ju_ArrayList_add0($this.$children, $i, $set);
                }
                if (!$set.$isSecondPassVisited)
                    $set.$processSecondPass();
                $i = $i + 1 | 0;
            }
        }
    }
    if ($this.$next4 !== null)
        jur_AbstractSet_processSecondPass($this);
}
function jur_NonCapJointSet() {
    jur_JointSet.call(this);
}
function jur_NonCapJointSet__init_0() {
    var var_0 = new jur_NonCapJointSet();
    jur_NonCapJointSet__init_(var_0);
    return var_0;
}
function jur_NonCapJointSet__init_($this) {
    jur_AbstractSet__init_($this);
}
function jur_NonCapJointSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $start, $size, $i, $shift;
    $start = jur_MatchResultImpl_getConsumed($matchResult, $this.$groupIndex0);
    jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $stringIndex);
    $size = $this.$children.$size;
    $i = 0;
    while (true) {
        if ($i >= $size) {
            jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $start);
            return (-1);
        }
        $shift = ju_ArrayList_get($this.$children, $i).$matches0($stringIndex, $testString, $matchResult);
        if ($shift >= 0)
            break;
        $i = $i + 1 | 0;
    }
    return $shift;
}
function jur_NonCapJointSet_getName($this) {
    return $rt_s(613);
}
function jur_NonCapJointSet_hasConsumed($this, $matchResult) {
    return !jur_MatchResultImpl_getConsumed($matchResult, $this.$groupIndex0) ? 0 : 1;
}
function jur_AtomicJointSet() {
    jur_NonCapJointSet.call(this);
}
function jur_AtomicJointSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $start, $size, $i;
    $start = jur_MatchResultImpl_getConsumed($matchResult, $this.$groupIndex0);
    jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $stringIndex);
    $size = $this.$children.$size;
    $i = 0;
    while ($i < $size) {
        if (ju_ArrayList_get($this.$children, $i).$matches0($stringIndex, $testString, $matchResult) >= 0)
            return $this.$next4.$matches0($this.$fSet.$index2, $testString, $matchResult);
        $i = $i + 1 | 0;
    }
    jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $start);
    return (-1);
}
function jur_AtomicJointSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_AtomicJointSet_getName($this) {
    return $rt_s(613);
}
function jur_PositiveLookAhead() {
    jur_AtomicJointSet.call(this);
}
function jur_PositiveLookAhead_matches($this, $stringIndex, $testString, $matchResult) {
    var $size, $i;
    $size = $this.$children.$size;
    $i = 0;
    while ($i < $size) {
        if (ju_ArrayList_get($this.$children, $i).$matches0($stringIndex, $testString, $matchResult) >= 0)
            return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
        $i = $i + 1 | 0;
    }
    return (-1);
}
function jur_PositiveLookAhead_hasConsumed($this, $matchResult) {
    return 0;
}
function jur_PositiveLookAhead_getName($this) {
    return $rt_s(614);
}
function jur_NegativeLookAhead() {
    jur_AtomicJointSet.call(this);
}
function jur_NegativeLookAhead_matches($this, $stringIndex, $testString, $matchResult) {
    var $size, $i;
    $size = $this.$children.$size;
    $i = 0;
    while (true) {
        if ($i >= $size)
            return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
        if (ju_ArrayList_get($this.$children, $i).$matches0($stringIndex, $testString, $matchResult) >= 0)
            break;
        $i = $i + 1 | 0;
    }
    return (-1);
}
function jur_NegativeLookAhead_hasConsumed($this, $matchResult) {
    return 0;
}
function jur_NegativeLookAhead_getName($this) {
    return $rt_s(615);
}
function jur_PositiveLookBehind() {
    jur_AtomicJointSet.call(this);
}
function jur_PositiveLookBehind_matches($this, $stringIndex, $testString, $matchResult) {
    var $size, $leftBound, $shift, $i;
    $size = $this.$children.$size;
    $leftBound = $matchResult.$transparentBounds ? 0 : $matchResult.$leftBound0;
    a: {
        $shift = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
        if ($shift >= 0) {
            jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $stringIndex);
            $i = 0;
            while (true) {
                if ($i >= $size)
                    break a;
                if (ju_ArrayList_get($this.$children, $i).$findBack($leftBound, $stringIndex, $testString, $matchResult) >= 0) {
                    jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, (-1));
                    return $shift;
                }
                $i = $i + 1 | 0;
            }
        }
    }
    return (-1);
}
function jur_PositiveLookBehind_hasConsumed($this, $matchResult) {
    return 0;
}
function jur_PositiveLookBehind_getName($this) {
    return $rt_s(616);
}
function jur_NegativeLookBehind() {
    jur_AtomicJointSet.call(this);
}
function jur_NegativeLookBehind_matches($this, $stringIndex, $testString, $matchResult) {
    var $size, $i;
    $size = $this.$children.$size;
    jur_MatchResultImpl_setConsumed($matchResult, $this.$groupIndex0, $stringIndex);
    $i = 0;
    while (true) {
        if ($i >= $size)
            return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
        if (ju_ArrayList_get($this.$children, $i).$findBack(0, $stringIndex, $testString, $matchResult) >= 0)
            break;
        $i = $i + 1 | 0;
    }
    return (-1);
}
function jur_NegativeLookBehind_hasConsumed($this, $matchResult) {
    return 0;
}
function jur_NegativeLookBehind_getName($this) {
    return $rt_s(617);
}
function jur_SingleSet() {
    jur_JointSet.call(this);
    this.$kid = null;
}
function jur_SingleSet__init_(var_0, var_1) {
    var var_2 = new jur_SingleSet();
    jur_SingleSet__init_0(var_2, var_0, var_1);
    return var_2;
}
function jur_SingleSet__init_0($this, $child, $fSet) {
    jur_AbstractSet__init_($this);
    $this.$kid = $child;
    $this.$fSet = $fSet;
    $this.$groupIndex0 = $fSet.$groupIndex;
}
function jur_SingleSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $start, $shift;
    $start = jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0);
    jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $stringIndex);
    $shift = $this.$kid.$matches0($stringIndex, $testString, $matchResult);
    if ($shift >= 0)
        return $shift;
    jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $start);
    return (-1);
}
function jur_SingleSet_find($this, $stringIndex, $testString, $matchResult) {
    var $res;
    $res = $this.$kid.$find0($stringIndex, $testString, $matchResult);
    if ($res >= 0)
        jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $res);
    return $res;
}
function jur_SingleSet_findBack($this, $stringIndex, $lastIndex, $testString, $matchResult) {
    var $res;
    $res = $this.$kid.$findBack($stringIndex, $lastIndex, $testString, $matchResult);
    if ($res >= 0)
        jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $res);
    return $res;
}
function jur_SingleSet_first($this, $set) {
    return $this.$kid.$first($set);
}
function jur_SingleSet_processBackRefReplacement($this) {
    var $set;
    $set = new jur_BackReferencedSingleSet;
    jur_SingleSet__init_0($set, $this.$kid, $this.$fSet);
    $this.$next4 = $set;
    return $set;
}
function jur_SingleSet_processSecondPass($this) {
    var $set;
    $this.$isSecondPassVisited = 1;
    if ($this.$fSet !== null && !$this.$fSet.$isSecondPassVisited)
        jur_AbstractSet_processSecondPass($this.$fSet);
    if ($this.$kid !== null && !$this.$kid.$isSecondPassVisited) {
        $set = $this.$kid.$processBackRefReplacement();
        if ($set !== null) {
            $this.$kid.$isSecondPassVisited = 1;
            $this.$kid = $set;
        }
        $this.$kid.$processSecondPass();
    }
}
function jl_IndexOutOfBoundsException() {
    jl_RuntimeException.call(this);
}
function jl_IndexOutOfBoundsException__init_0() {
    var var_0 = new jl_IndexOutOfBoundsException();
    jl_IndexOutOfBoundsException__init_(var_0);
    return var_0;
}
function jl_IndexOutOfBoundsException__init_($this) {
    jl_Throwable__init_0($this);
}
function jlr_Array() {
    jl_Object.call(this);
}
function jlr_Array__init_0() {
    var var_0 = new jlr_Array();
    jlr_Array__init_(var_0);
    return var_0;
}
function jlr_Array__init_($this) {
    return;
}
function jlr_Array_getLength(var$1) {
    if (var$1 === null || var$1.constructor.$meta.item === undefined) {
        $rt_throw(jl_IllegalArgumentException__init_0());
    }
    return var$1.data.length;
}
function jlr_Array_newInstance($componentType, $length) {
    if ($componentType === null) {
        $componentType = new jl_NullPointerException;
        jl_Throwable__init_0($componentType);
        $rt_throw($componentType);
    }
    if ($componentType === $rt_cls($rt_voidcls())) {
        $componentType = new jl_IllegalArgumentException;
        jl_Throwable__init_0($componentType);
        $rt_throw($componentType);
    }
    if ($length >= 0)
        return jlr_Array_newInstanceImpl($componentType.$platformClass, $length);
    $componentType = new jl_NegativeArraySizeException;
    jl_Throwable__init_0($componentType);
    $rt_throw($componentType);
}
function jlr_Array_newInstanceImpl(var$1, var$2) {
    if (var$1.$meta.primitive) {
        if (var$1 == $rt_bytecls()) {
            return $rt_createByteArray(var$2);
        }
        if (var$1 == $rt_shortcls()) {
            return $rt_createShortArray(var$2);
        }
        if (var$1 == $rt_charcls()) {
            return $rt_createCharArray(var$2);
        }
        if (var$1 == $rt_intcls()) {
            return $rt_createIntArray(var$2);
        }
        if (var$1 == $rt_longcls()) {
            return $rt_createLongArray(var$2);
        }
        if (var$1 == $rt_floatcls()) {
            return $rt_createFloatArray(var$2);
        }
        if (var$1 == $rt_doublecls()) {
            return $rt_createDoubleArray(var$2);
        }
        if (var$1 == $rt_booleancls()) {
            return $rt_createBooleanArray(var$2);
        }
    } else {
        return $rt_createArray(var$1, var$2)
    }
}
function jlr_Array_get($array, $index) {
    if ($index >= 0 && $index < jlr_Array_getLength($array))
        return jlr_Array_getImpl($array, $index);
    $array = new jl_ArrayIndexOutOfBoundsException;
    jl_Throwable__init_0($array);
    $rt_throw($array);
}
function jlr_Array_getImpl(var$1, var$2) {
    var item = var$1.data[var$2];
    var type = var$1.constructor.$meta.item;
    if (type === $rt_bytecls()) {
        return jl_Byte_valueOf(item);
    } else if (type === $rt_shortcls()) {
        return jl_Short_valueOf(item);
    } else if (type === $rt_charcls()) {
        return jl_Character_valueOf(item);
    } else if (type === $rt_intcls()) {
        return jl_Integer_valueOf(item);
    } else if (type === $rt_longcls()) {
        return jl_Long_valueOf(item);
    } else if (type === $rt_floatcls()) {
        return jl_Float_valueOf(item);
    } else if (type === $rt_doublecls()) {
        return jl_Double_valueOf(item);
    } else if (type === $rt_booleancls()) {
        return jl_Boolean_valueOf(item);
    } else {
        return item;
    }
}
function jl_ArrayStoreException() {
    jl_RuntimeException.call(this);
}
function jl_ArrayStoreException__init_0() {
    var var_0 = new jl_ArrayStoreException();
    jl_ArrayStoreException__init_(var_0);
    return var_0;
}
function jl_ArrayStoreException__init_($this) {
    jl_Throwable__init_0($this);
}
function jur_SpecialToken() {
    jl_Object.call(this);
}
function jur_AbstractCharClass() {
    var a = this; jur_SpecialToken.call(a);
    a.$alt0 = 0;
    a.$altSurrogates = 0;
    a.$lowHighSurrogates = null;
    a.$charClassWithoutSurrogates = null;
    a.$charClassWithSurrogates = null;
    a.$mayContainSupplCodepoints = 0;
}
var jur_AbstractCharClass_charClasses = null;
function jur_AbstractCharClass__init_() {
    var var_0 = new jur_AbstractCharClass();
    jur_AbstractCharClass__init_0(var_0);
    return var_0;
}
function jur_AbstractCharClass__init_0($this) {
    var var$1;
    var$1 = new ju_BitSet;
    var$1.$data9 = $rt_createIntArray(64);
    $this.$lowHighSurrogates = var$1;
}
function jur_AbstractCharClass_getBits($this) {
    return null;
}
function jur_AbstractCharClass_getLowHighSurrogates($this) {
    return $this.$lowHighSurrogates;
}
function jur_AbstractCharClass_hasLowHighSurrogates($this) {
    return !$this.$altSurrogates ? (ju_BitSet_nextSetBit($this.$lowHighSurrogates, 0) >= 2048 ? 0 : 1) : ju_BitSet_nextClearBit($this.$lowHighSurrogates, 0) >= 2048 ? 0 : 1;
}
function jur_AbstractCharClass_mayContainSupplCodepoints($this) {
    return $this.$mayContainSupplCodepoints;
}
function jur_AbstractCharClass_getInstance($this) {
    return $this;
}
function jur_AbstractCharClass_getSurrogates($this) {
    var $lHS, var$2;
    if ($this.$charClassWithSurrogates === null) {
        $lHS = $this.$getLowHighSurrogates();
        var$2 = new jur_AbstractCharClass$1;
        var$2.$this$04 = $this;
        var$2.$val$lHS = $lHS;
        jur_AbstractCharClass__init_0(var$2);
        $this.$charClassWithSurrogates = var$2;
        jur_AbstractCharClass_setNegative($this.$charClassWithSurrogates, $this.$altSurrogates);
    }
    return $this.$charClassWithSurrogates;
}
function jur_AbstractCharClass_getWithoutSurrogates($this) {
    var $lHS, var$2;
    if ($this.$charClassWithoutSurrogates === null) {
        $lHS = $this.$getLowHighSurrogates();
        var$2 = new jur_AbstractCharClass$2;
        var$2.$this$05 = $this;
        var$2.$val$lHS0 = $lHS;
        var$2.$val$thisClass = $this;
        jur_AbstractCharClass__init_0(var$2);
        $this.$charClassWithoutSurrogates = var$2;
        jur_AbstractCharClass_setNegative($this.$charClassWithoutSurrogates, $this.$alt0);
        $this.$charClassWithoutSurrogates.$mayContainSupplCodepoints = $this.$mayContainSupplCodepoints;
    }
    return $this.$charClassWithoutSurrogates;
}
function jur_AbstractCharClass_hasUCI($this) {
    return 0;
}
function jur_AbstractCharClass_setNegative($this, $value) {
    if ($this.$alt0 ^ $value) {
        $this.$alt0 = $this.$alt0 ? 0 : 1;
        $this.$altSurrogates = $this.$altSurrogates ? 0 : 1;
    }
    if (!$this.$mayContainSupplCodepoints)
        $this.$mayContainSupplCodepoints = 1;
    return $this;
}
function jur_AbstractCharClass_isNegative($this) {
    return $this.$alt0;
}
function jur_AbstractCharClass_intersects($cc1, $cc2) {
    if ($cc1.$getBits() !== null && $cc2.$getBits() !== null)
        return ju_BitSet_intersects($cc1.$getBits(), $cc2.$getBits());
    return 1;
}
function jur_AbstractCharClass_getPredefinedClass($name, $negative) {
    return jur_AbstractCharClass$LazyCharClass_getValue(jur_AbstractCharClass$PredefinedCharacterClasses_getObject(jur_AbstractCharClass_charClasses, $name), $negative);
}
function jur_AbstractCharClass__clinit_() {
    jur_AbstractCharClass_charClasses = new jur_AbstractCharClass$PredefinedCharacterClasses;
}
function jur_CharClass() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$ci = 0;
    a.$uci = 0;
    a.$hasUCI0 = 0;
    a.$invertedSurrogates = 0;
    a.$inverted = 0;
    a.$hideBits = 0;
    a.$bits = null;
    a.$nonBitSet = null;
}
function jur_CharClass__init_1() {
    var var_0 = new jur_CharClass();
    jur_CharClass__init_(var_0);
    return var_0;
}
function jur_CharClass__init_0(var_0, var_1) {
    var var_2 = new jur_CharClass();
    jur_CharClass__init_2(var_2, var_0, var_1);
    return var_2;
}
function jur_CharClass__init_($this) {
    jur_AbstractCharClass__init_0($this);
    $this.$bits = ju_BitSet__init_0();
}
function jur_CharClass__init_2($this, $ci, $uci) {
    jur_AbstractCharClass__init_0($this);
    $this.$bits = ju_BitSet__init_0();
    $this.$ci = $ci;
    $this.$uci = $uci;
}
function jur_CharClass_add($this, $ch) {
    a: {
        if ($this.$ci) {
            b: {
                if (!($ch >= 97 && $ch <= 122)) {
                    if ($ch < 65)
                        break b;
                    if ($ch > 90)
                        break b;
                }
                if ($this.$inverted) {
                    ju_BitSet_clear($this.$bits, jur_Pattern_getSupplement($ch & 65535));
                    break a;
                }
                ju_BitSet_set($this.$bits, jur_Pattern_getSupplement($ch & 65535));
                break a;
            }
            if ($this.$uci && $ch > 128) {
                $this.$hasUCI0 = 1;
                $ch = jl_Character_toLowerCase0(jl_Character_toUpperCase($ch));
            }
        }
    }
    if (!(!jur_Lexer_isHighSurrogate0($ch) && !jur_Lexer_isLowSurrogate0($ch))) {
        if ($this.$invertedSurrogates)
            ju_BitSet_clear($this.$lowHighSurrogates, $ch - 55296 | 0);
        else
            ju_BitSet_set($this.$lowHighSurrogates, $ch - 55296 | 0);
    }
    if ($this.$inverted)
        ju_BitSet_clear($this.$bits, $ch);
    else
        ju_BitSet_set($this.$bits, $ch);
    if (!$this.$mayContainSupplCodepoints && jl_Character_isSupplementaryCodePoint($ch))
        $this.$mayContainSupplCodepoints = 1;
    return $this;
}
function jur_CharClass_add1($this, $cc) {
    var $curAlt, $nb, var$4;
    if (!$this.$mayContainSupplCodepoints && $cc.$mayContainSupplCodepoints)
        $this.$mayContainSupplCodepoints = 1;
    if ($this.$invertedSurrogates) {
        if (!$cc.$altSurrogates)
            ju_BitSet_andNot($this.$lowHighSurrogates, $cc.$getLowHighSurrogates());
        else
            ju_BitSet_and($this.$lowHighSurrogates, $cc.$getLowHighSurrogates());
    } else if (!$cc.$altSurrogates)
        ju_BitSet_or($this.$lowHighSurrogates, $cc.$getLowHighSurrogates());
    else {
        ju_BitSet_xor($this.$lowHighSurrogates, $cc.$getLowHighSurrogates());
        ju_BitSet_and($this.$lowHighSurrogates, $cc.$getLowHighSurrogates());
        $this.$altSurrogates = $this.$altSurrogates ? 0 : 1;
        $this.$invertedSurrogates = 1;
    }
    if (!$this.$hideBits && $cc.$getBits() !== null) {
        if ($this.$inverted) {
            if (!$cc.$alt0)
                ju_BitSet_andNot($this.$bits, $cc.$getBits());
            else
                ju_BitSet_and($this.$bits, $cc.$getBits());
        } else if (!$cc.$alt0)
            ju_BitSet_or($this.$bits, $cc.$getBits());
        else {
            ju_BitSet_xor($this.$bits, $cc.$getBits());
            ju_BitSet_and($this.$bits, $cc.$getBits());
            $this.$alt0 = $this.$alt0 ? 0 : 1;
            $this.$inverted = 1;
        }
    } else {
        $curAlt = $this.$alt0;
        if ($this.$nonBitSet !== null) {
            $nb = $this.$nonBitSet;
            if (!$curAlt) {
                var$4 = new jur_CharClass$5;
                var$4.$this$06 = $this;
                var$4.$val$curAlt = $curAlt;
                var$4.$val$nb = $nb;
                var$4.$val$cc = $cc;
                jur_AbstractCharClass__init_0(var$4);
                $this.$nonBitSet = var$4;
            } else {
                var$4 = new jur_CharClass$4;
                var$4.$this$07 = $this;
                var$4.$val$curAlt0 = $curAlt;
                var$4.$val$nb0 = $nb;
                var$4.$val$cc0 = $cc;
                jur_AbstractCharClass__init_0(var$4);
                $this.$nonBitSet = var$4;
            }
        } else {
            if ($curAlt && !$this.$inverted && ju_BitSet_isEmpty($this.$bits)) {
                $nb = new jur_CharClass$1;
                $nb.$this$08 = $this;
                $nb.$val$cc1 = $cc;
                jur_AbstractCharClass__init_0($nb);
                $this.$nonBitSet = $nb;
            } else if (!$curAlt) {
                $nb = new jur_CharClass$3;
                $nb.$this$09 = $this;
                $nb.$val$curAlt1 = $curAlt;
                $nb.$val$cc2 = $cc;
                jur_AbstractCharClass__init_0($nb);
                $this.$nonBitSet = $nb;
            } else {
                $nb = new jur_CharClass$2;
                $nb.$this$010 = $this;
                $nb.$val$curAlt2 = $curAlt;
                $nb.$val$cc3 = $cc;
                jur_AbstractCharClass__init_0($nb);
                $this.$nonBitSet = $nb;
            }
            $this.$hideBits = 1;
        }
    }
    return $this;
}
function jur_CharClass_add0($this, $i, $end) {
    var var$3;
    if ($i > $end) {
        var$3 = new jl_IllegalArgumentException;
        jl_Throwable__init_0(var$3);
        $rt_throw(var$3);
    }
    a: {
        b: {
            if (!$this.$ci) {
                if ($end < 55296)
                    break b;
                if ($i > 57343)
                    break b;
            }
            $end = $end + 1 | 0;
            while (true) {
                if ($i >= $end)
                    break a;
                jur_CharClass_add($this, $i);
                $i = $i + 1 | 0;
            }
        }
        if ($this.$inverted)
            ju_BitSet_clear0($this.$bits, $i, $end + 1 | 0);
        else
            ju_BitSet_set0($this.$bits, $i, $end + 1 | 0);
    }
    return $this;
}
function jur_CharClass_union($this, $clazz) {
    var $curAlt, $nb, var$4;
    if (!$this.$mayContainSupplCodepoints && $clazz.$mayContainSupplCodepoints)
        $this.$mayContainSupplCodepoints = 1;
    if ($clazz.$hasUCI0)
        $this.$hasUCI0 = 1;
    if (!($this.$altSurrogates ^ $clazz.$altSurrogates)) {
        if (!$this.$altSurrogates)
            ju_BitSet_or($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
        else
            ju_BitSet_and($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
    } else if ($this.$altSurrogates)
        ju_BitSet_andNot($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
    else {
        ju_BitSet_xor($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
        ju_BitSet_and($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
        $this.$altSurrogates = 1;
    }
    if (!$this.$hideBits && jur_CharClass_getBits($clazz) !== null) {
        if (!($this.$alt0 ^ $clazz.$alt0)) {
            if (!$this.$alt0)
                ju_BitSet_or($this.$bits, jur_CharClass_getBits($clazz));
            else
                ju_BitSet_and($this.$bits, jur_CharClass_getBits($clazz));
        } else if ($this.$alt0)
            ju_BitSet_andNot($this.$bits, jur_CharClass_getBits($clazz));
        else {
            ju_BitSet_xor($this.$bits, jur_CharClass_getBits($clazz));
            ju_BitSet_and($this.$bits, jur_CharClass_getBits($clazz));
            $this.$alt0 = 1;
        }
    } else {
        $curAlt = $this.$alt0;
        if ($this.$nonBitSet !== null) {
            $nb = $this.$nonBitSet;
            if (!$curAlt) {
                var$4 = new jur_CharClass$11;
                var$4.$this$011 = $this;
                var$4.$val$curAlt3 = $curAlt;
                var$4.$val$nb1 = $nb;
                var$4.$val$clazz = $clazz;
                jur_AbstractCharClass__init_0(var$4);
                $this.$nonBitSet = var$4;
            } else {
                var$4 = new jur_CharClass$10;
                var$4.$this$012 = $this;
                var$4.$val$curAlt4 = $curAlt;
                var$4.$val$nb2 = $nb;
                var$4.$val$clazz0 = $clazz;
                jur_AbstractCharClass__init_0(var$4);
                $this.$nonBitSet = var$4;
            }
        } else {
            if (!$this.$inverted && ju_BitSet_isEmpty($this.$bits)) {
                if (!$curAlt) {
                    $nb = new jur_CharClass$7;
                    $nb.$this$013 = $this;
                    $nb.$val$clazz1 = $clazz;
                    jur_AbstractCharClass__init_0($nb);
                    $this.$nonBitSet = $nb;
                } else {
                    $nb = new jur_CharClass$6;
                    $nb.$this$014 = $this;
                    $nb.$val$clazz2 = $clazz;
                    jur_AbstractCharClass__init_0($nb);
                    $this.$nonBitSet = $nb;
                }
            } else if (!$curAlt) {
                $nb = new jur_CharClass$9;
                $nb.$this$015 = $this;
                $nb.$val$clazz3 = $clazz;
                $nb.$val$curAlt5 = $curAlt;
                jur_AbstractCharClass__init_0($nb);
                $this.$nonBitSet = $nb;
            } else {
                $nb = new jur_CharClass$8;
                $nb.$this$016 = $this;
                $nb.$val$clazz4 = $clazz;
                $nb.$val$curAlt6 = $curAlt;
                jur_AbstractCharClass__init_0($nb);
                $this.$nonBitSet = $nb;
            }
            $this.$hideBits = 1;
        }
    }
}
function jur_CharClass_intersection($this, $clazz) {
    var $curAlt, $nb, var$4;
    if (!$this.$mayContainSupplCodepoints && $clazz.$mayContainSupplCodepoints)
        $this.$mayContainSupplCodepoints = 1;
    if ($clazz.$hasUCI0)
        $this.$hasUCI0 = 1;
    if (!($this.$altSurrogates ^ $clazz.$altSurrogates)) {
        if (!$this.$altSurrogates)
            ju_BitSet_and($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
        else
            ju_BitSet_or($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
    } else if (!$this.$altSurrogates)
        ju_BitSet_andNot($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
    else {
        ju_BitSet_xor($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
        ju_BitSet_and($this.$lowHighSurrogates, $clazz.$lowHighSurrogates);
        $this.$altSurrogates = 0;
    }
    if (!$this.$hideBits && jur_CharClass_getBits($clazz) !== null) {
        if (!($this.$alt0 ^ $clazz.$alt0)) {
            if (!$this.$alt0)
                ju_BitSet_and($this.$bits, jur_CharClass_getBits($clazz));
            else
                ju_BitSet_or($this.$bits, jur_CharClass_getBits($clazz));
        } else if (!$this.$alt0)
            ju_BitSet_andNot($this.$bits, jur_CharClass_getBits($clazz));
        else {
            ju_BitSet_xor($this.$bits, jur_CharClass_getBits($clazz));
            ju_BitSet_and($this.$bits, jur_CharClass_getBits($clazz));
            $this.$alt0 = 0;
        }
    } else {
        $curAlt = $this.$alt0;
        if ($this.$nonBitSet !== null) {
            $nb = $this.$nonBitSet;
            if (!$curAlt) {
                var$4 = new jur_CharClass$17;
                var$4.$this$017 = $this;
                var$4.$val$curAlt7 = $curAlt;
                var$4.$val$nb3 = $nb;
                var$4.$val$clazz5 = $clazz;
                jur_AbstractCharClass__init_0(var$4);
                $this.$nonBitSet = var$4;
            } else {
                var$4 = new jur_CharClass$16;
                var$4.$this$018 = $this;
                var$4.$val$curAlt8 = $curAlt;
                var$4.$val$nb4 = $nb;
                var$4.$val$clazz6 = $clazz;
                jur_AbstractCharClass__init_0(var$4);
                $this.$nonBitSet = var$4;
            }
        } else {
            if (!$this.$inverted && ju_BitSet_isEmpty($this.$bits)) {
                if (!$curAlt) {
                    $nb = new jur_CharClass$13;
                    $nb.$this$019 = $this;
                    $nb.$val$clazz7 = $clazz;
                    jur_AbstractCharClass__init_0($nb);
                    $this.$nonBitSet = $nb;
                } else {
                    $nb = new jur_CharClass$12;
                    $nb.$this$020 = $this;
                    $nb.$val$clazz8 = $clazz;
                    jur_AbstractCharClass__init_0($nb);
                    $this.$nonBitSet = $nb;
                }
            } else if (!$curAlt) {
                $nb = new jur_CharClass$15;
                $nb.$this$021 = $this;
                $nb.$val$clazz9 = $clazz;
                $nb.$val$curAlt9 = $curAlt;
                jur_AbstractCharClass__init_0($nb);
                $this.$nonBitSet = $nb;
            } else {
                $nb = new jur_CharClass$14;
                $nb.$this$022 = $this;
                $nb.$val$clazz10 = $clazz;
                $nb.$val$curAlt10 = $curAlt;
                jur_AbstractCharClass__init_0($nb);
                $this.$nonBitSet = $nb;
            }
            $this.$hideBits = 1;
        }
    }
}
function jur_CharClass_contains($this, $ch) {
    if ($this.$nonBitSet !== null)
        return $this.$alt0 ^ $this.$nonBitSet.$contains1($ch);
    return $this.$alt0 ^ ju_BitSet_get($this.$bits, $ch);
}
function jur_CharClass_getBits($this) {
    if (!$this.$hideBits)
        return $this.$bits;
    return null;
}
function jur_CharClass_getLowHighSurrogates($this) {
    return $this.$lowHighSurrogates;
}
function jur_CharClass_getInstance($this) {
    var $bs, $res;
    if ($this.$nonBitSet !== null)
        return $this;
    $bs = jur_CharClass_getBits($this);
    $res = new jur_CharClass$18;
    $res.$this$023 = $this;
    $res.$val$bs = $bs;
    jur_AbstractCharClass__init_0($res);
    return jur_AbstractCharClass_setNegative($res, $this.$alt0);
}
function jur_CharClass_toString($this) {
    var $temp, $i;
    $temp = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($temp);
    $i = ju_BitSet_nextSetBit($this.$bits, 0);
    while ($i >= 0) {
        jl_AbstractStringBuilder_append7($temp, jl_Character_toChars($i));
        jl_AbstractStringBuilder_append0($temp, 124);
        $i = ju_BitSet_nextSetBit($this.$bits, $i + 1 | 0);
    }
    if ($temp.$length0 > 0)
        jl_StringBuilder_deleteCharAt($temp, $temp.$length0 - 1 | 0);
    return jl_AbstractStringBuilder_toString($temp);
}
function jur_CharClass_hasUCI($this) {
    return $this.$hasUCI0;
}
function ju_MissingResourceException() {
    var a = this; jl_RuntimeException.call(a);
    a.$className = null;
    a.$key0 = null;
}
function jur_QuantifierSet() {
    jur_AbstractSet.call(this);
    this.$innerSet = null;
}
function jur_QuantifierSet__init_0(var_0, var_1, var_2) {
    var var_3 = new jur_QuantifierSet();
    jur_QuantifierSet__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
function jur_QuantifierSet__init_($this, $innerSet, $next, $type) {
    jur_AbstractSet__init_2($this, $next);
    $this.$innerSet = $innerSet;
    $this.$type = $type;
}
function jur_QuantifierSet_getInnerSet($this) {
    return $this.$innerSet;
}
function jur_QuantifierSet_first($this, $set) {
    return !$this.$innerSet.$first($set) && !$this.$next4.$first($set) ? 0 : 1;
}
function jur_QuantifierSet_hasConsumed($this, $mr) {
    return 1;
}
function jur_QuantifierSet_processSecondPass($this) {
    var $set;
    $this.$isSecondPassVisited = 1;
    if ($this.$next4 !== null && !$this.$next4.$isSecondPassVisited) {
        $set = $this.$next4.$processBackRefReplacement();
        if ($set !== null) {
            $this.$next4.$isSecondPassVisited = 1;
            $this.$next4 = $set;
        }
        $this.$next4.$processSecondPass();
    }
    if ($this.$innerSet !== null) {
        if (!$this.$innerSet.$isSecondPassVisited) {
            $set = $this.$innerSet.$processBackRefReplacement();
            if ($set !== null) {
                $this.$innerSet.$isSecondPassVisited = 1;
                $this.$innerSet = $set;
            }
            $this.$innerSet.$processSecondPass();
        } else if ($this.$innerSet instanceof jur_SingleSet && $this.$innerSet.$fSet.$isBackReferenced)
            $this.$innerSet = $this.$innerSet.$next4;
    }
}
function jur_LeafQuantifierSet() {
    jur_QuantifierSet.call(this);
    this.$leaf = null;
}
function jur_LeafQuantifierSet__init_0(var_0, var_1, var_2) {
    var var_3 = new jur_LeafQuantifierSet();
    jur_LeafQuantifierSet__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
function jur_LeafQuantifierSet__init_($this, $innerSet, $next, $type) {
    jur_QuantifierSet__init_($this, $innerSet, $next, $type);
    $this.$leaf = $innerSet;
}
function jur_LeafQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $i, var$5;
    $i = 0;
    a: {
        while (($stringIndex + $this.$leaf.$charCount0() | 0) <= $matchResult.$rightBound0) {
            var$5 = $this.$leaf.$accepts($stringIndex, $testString);
            if (var$5 <= 0)
                break a;
            $stringIndex = $stringIndex + var$5 | 0;
            $i = $i + 1 | 0;
        }
    }
    while (true) {
        if ($i < 0)
            return (-1);
        var$5 = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
        if (var$5 >= 0)
            break;
        $stringIndex = $stringIndex - $this.$leaf.$charCount0() | 0;
        $i = $i + (-1) | 0;
    }
    return var$5;
}
function jur_LeafQuantifierSet_getName($this) {
    return $rt_s(618);
}
function jur_CompositeQuantifierSet() {
    jur_LeafQuantifierSet.call(this);
    this.$quantifier = null;
}
function jur_CompositeQuantifierSet__init_0(var_0, var_1, var_2, var_3) {
    var var_4 = new jur_CompositeQuantifierSet();
    jur_CompositeQuantifierSet__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function jur_CompositeQuantifierSet__init_($this, $quant, $innerSet, $next, $type) {
    jur_LeafQuantifierSet__init_($this, $innerSet, $next, $type);
    $this.$quantifier = $quant;
}
function jur_CompositeQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $min, $max, $i, $shift;
    $min = $this.$quantifier.$min1;
    $max = $this.$quantifier.$max0;
    $i = 0;
    while (true) {
        if ($i >= $min) {
            a: {
                while ($i < $max) {
                    if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0)
                        break a;
                    $shift = $this.$leaf.$accepts($stringIndex, $testString);
                    if ($shift < 1)
                        break a;
                    $stringIndex = $stringIndex + $shift | 0;
                    $i = $i + 1 | 0;
                }
            }
            while (true) {
                if ($i < $min)
                    return (-1);
                $shift = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
                if ($shift >= 0)
                    break;
                $stringIndex = $stringIndex - $this.$leaf.$charCount0() | 0;
                $i = $i + (-1) | 0;
            }
            return $shift;
        }
        if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0) {
            $matchResult.$hitEnd = 1;
            return (-1);
        }
        $shift = $this.$leaf.$accepts($stringIndex, $testString);
        if ($shift < 1)
            break;
        $stringIndex = $stringIndex + $shift | 0;
        $i = $i + 1 | 0;
    }
    return (-1);
}
function jur_CompositeQuantifierSet_getName($this) {
    return jur_Quantifier_toString($this.$quantifier);
}
function jur_GroupQuantifierSet() {
    jur_QuantifierSet.call(this);
}
function jur_GroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $nextIndex;
    if (!$this.$innerSet.$hasConsumed($matchResult))
        return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    $nextIndex = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
    if ($nextIndex >= 0)
        return $nextIndex;
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_GroupQuantifierSet_getName($this) {
    return $rt_s(619);
}
function jur_AltQuantifierSet() {
    jur_LeafQuantifierSet.call(this);
}
function jur_AltQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $shift;
    $shift = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
    if ($shift < 0)
        $shift = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    return $shift;
}
function jur_AltQuantifierSet_setNext($this, $next) {
    $this.$next4 = $next;
    $this.$innerSet.$setNext($next);
}
function jur_UnifiedQuantifierSet() {
    jur_LeafQuantifierSet.call(this);
}
function jur_UnifiedQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    while (($stringIndex + $this.$leaf.$charCount0() | 0) <= $matchResult.$rightBound0 && $this.$leaf.$accepts($stringIndex, $testString) > 0) {
        $stringIndex = $stringIndex + $this.$leaf.$charCount0() | 0;
    }
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_UnifiedQuantifierSet_find($this, $stringIndex, $testString, $matchResult) {
    var $startSearch, $newSearch, $newSearch_0;
    $startSearch = $this.$next4.$find0($stringIndex, $testString, $matchResult);
    if ($startSearch < 0)
        return (-1);
    $newSearch = $startSearch - $this.$leaf.$charCount0() | 0;
    while ($newSearch >= $stringIndex && $this.$leaf.$accepts($newSearch, $testString) > 0) {
        $newSearch_0 = $newSearch - $this.$leaf.$charCount0() | 0;
        $startSearch = $newSearch;
        $newSearch = $newSearch_0;
    }
    return $startSearch;
}
function ju_TimeZone() {
    jl_Object.call(this);
    this.$id4 = null;
}
var ju_TimeZone_defaultTz = null;
var ju_TimeZone_GMT = null;
function ju_TimeZone_getDisplayName($this, $locale) {
    return ju_TimeZone_getDisplayName0($this, 0, 1, $locale);
}
function ju_TimeZone_getDisplayName0($this, $daylightTime, $style, $locale) {
    var var$4, $name, var$6;
    var$4 = $locale.$languageCode;
    $name = $locale.$countryCode;
    $locale = $this.$id4;
    $name = otciu_CLDRHelper_getCode(var$4, $name);
    if (otciu_CLDRHelper_getTimeZoneLocalizationMap().hasOwnProperty($rt_ustr($name)))
        var$4 = $name;
    if (!otciu_CLDRHelper_getTimeZoneLocalizationMap().hasOwnProperty($rt_ustr(var$4)))
        $name = null;
    else {
        $name = otciu_CLDRHelper_getTimeZoneLocalizationMap()[$rt_ustr(var$4)];
        $daylightTime = jl_String_indexOf0($locale, 47);
        if ($daylightTime < 0)
            $name = null;
        else {
            var$6 = jl_String_substring0($locale, 0, $daylightTime);
            $locale = jl_String_substring($locale, $daylightTime + 1 | 0);
            if (!$name.timeZones.hasOwnProperty($rt_ustr(var$6)))
                $name = null;
            else {
                $name = $name.timeZones[$rt_ustr(var$6)];
                $name = !$name.hasOwnProperty($rt_ustr($locale)) ? null : ($name[$rt_ustr($locale)].value !== null ? $rt_str($name[$rt_ustr($locale)].value) : null);
            }
        }
    }
    if ($name === null)
        $name = $this.$id4;
    return $name;
}
function ju_TimeZone_getID($this) {
    return $this.$id4;
}
function ju_TimeZone_getTimeZone($name) {
    var $jodaZone, $sign, $position, $hour, $raw, var$7, $index, $minute;
    $jodaZone = otcit_DateTimeZoneProvider_getTimeZone($name);
    if ($jodaZone !== null)
        return ju_IANATimeZone__init_($jodaZone);
    a: {
        if (jl_String_startsWith0($name, $rt_s(620)) && jl_String_length($name) > 3) {
            $sign = jl_String_charAt($name, 3);
            if (!($sign != 43 && $sign != 45)) {
                $position = $rt_createIntArray(1);
                $hour = 4;
                $jodaZone = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($jodaZone);
                $raw = jl_String_length($name);
                jl_AbstractStringBuilder_append($jodaZone, jl_String_substring0($name, 0, $hour));
                while ($hour < $raw) {
                    if (jl_Character_digit(jl_String_charAt($name, $hour), 10) != (-1)) {
                        jl_AbstractStringBuilder_append0($jodaZone, jl_String_charAt($name, $hour));
                        if (($raw - ($hour + 1 | 0) | 0) == 2)
                            jl_AbstractStringBuilder_append0($jodaZone, 58);
                    } else if (jl_String_charAt($name, $hour) == 58)
                        jl_AbstractStringBuilder_append0($jodaZone, 58);
                    $hour = $hour + 1 | 0;
                }
                if (jl_String_indexOf2(jl_AbstractStringBuilder_toString($jodaZone), $rt_s(272)) == (-1)) {
                    jl_AbstractStringBuilder_append0($jodaZone, 58);
                    jl_AbstractStringBuilder_append($jodaZone, $rt_s(621));
                }
                if (jl_String_indexOf2(jl_AbstractStringBuilder_toString($jodaZone), $rt_s(272)) == 5)
                    jl_AbstractStringBuilder_insert4($jodaZone, 4, 48);
                $name = jl_AbstractStringBuilder_toString($jodaZone);
                $hour = ju_TimeZone_parseNumber($name, 4, $position);
                if ($hour >= 0 && $hour <= 23) {
                    var$7 = $position.data;
                    $index = var$7[0];
                    if ($index == (-1))
                        break a;
                    else {
                        b: {
                            $raw = $rt_imul($hour, 3600000);
                            if ($index < jl_String_length($name) && jl_String_charAt($name, $index) == 58) {
                                $minute = ju_TimeZone_parseNumber($name, $index + 1 | 0, $position);
                                if (var$7[0] != (-1) && $minute >= 0 && $minute <= 59) {
                                    $raw = $raw + ($minute * 60000 | 0) | 0;
                                    break b;
                                }
                                return ju_IANATimeZone_clone(ju_TimeZone_GMT);
                            }
                            if (!($hour < 30 && $index <= 6))
                                $raw = $rt_imul($hour / 100 | 0, 3600000) + (($hour % 100 | 0) * 60000 | 0) | 0;
                        }
                        if ($sign == 45)
                            $raw =  -$raw;
                        return ju_IANATimeZone__init_(otcit_FixedDateTimeZone__init_($name, $raw, $raw));
                    }
                }
                return ju_IANATimeZone_clone(ju_TimeZone_GMT);
            }
        }
    }
    return ju_IANATimeZone_clone(ju_TimeZone_GMT);
}
function ju_TimeZone_parseNumber($string, $offset, $position) {
    var $length, $result, var$6, $digit;
    $length = jl_String_length($string);
    $result = 0;
    var$6 = $offset;
    a: {
        while (true) {
            if (var$6 >= $length)
                break a;
            $digit = jl_Character_digit(jl_String_charAt($string, var$6), 10);
            if ($digit == (-1))
                break;
            var$6 = var$6 + 1 | 0;
            $result = ($result * 10 | 0) + $digit | 0;
        }
    }
    if (var$6 == $offset)
        var$6 = (-1);
    $position.data[0] = var$6;
    return $result;
}
function ju_TimeZone__clinit_() {
    ju_TimeZone_GMT = ju_IANATimeZone__init_(otcit_FixedDateTimeZone__init_($rt_s(620), 0, 0));
}
function jl_NumberFormatException() {
    jl_IllegalArgumentException.call(this);
}
function jl_NumberFormatException__init_0() {
    var var_0 = new jl_NumberFormatException();
    jl_NumberFormatException__init_(var_0);
    return var_0;
}
function jl_NumberFormatException__init_1(var_0) {
    var var_1 = new jl_NumberFormatException();
    jl_NumberFormatException__init_2(var_1, var_0);
    return var_1;
}
function jl_NumberFormatException__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_NumberFormatException__init_2($this, $message) {
    jl_Throwable__init_($this, $message);
}
function jur_Quantifier() {
    var a = this; jur_SpecialToken.call(a);
    a.$min1 = 0;
    a.$max0 = 0;
}
function jur_Quantifier_min($this) {
    return $this.$min1;
}
function jur_Quantifier_max($this) {
    return $this.$max0;
}
function jur_Quantifier_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(622));
    jl_AbstractStringBuilder_append2(var$1, $this.$min1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(273));
    jl_AbstractStringBuilder_append(var$1, $this.$max0 == 2147483647 ? $rt_s(36) : jl_Integer_toString0(jl_Integer__init_($this.$max0)));
    jl_AbstractStringBuilder_append(var$1, $rt_s(623));
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_FSet$PossessiveFSet() {
    jur_AbstractSet.call(this);
}
function jur_FSet$PossessiveFSet__init_0() {
    var var_0 = new jur_FSet$PossessiveFSet();
    jur_FSet$PossessiveFSet__init_(var_0);
    return var_0;
}
function jur_FSet$PossessiveFSet__init_($this) {
    jur_AbstractSet__init_($this);
}
function jur_FSet$PossessiveFSet_matches($this, $stringIndex, $testString, $matchResult) {
    return $stringIndex;
}
function jur_FSet$PossessiveFSet_getName($this) {
    return $rt_s(624);
}
function jur_FSet$PossessiveFSet_hasConsumed($this, $mr) {
    return 0;
}
function ju_BitSet() {
    var a = this; jl_Object.call(a);
    a.$data9 = null;
    a.$length2 = 0;
}
function ju_BitSet__init_0() {
    var var_0 = new ju_BitSet();
    ju_BitSet__init_(var_0);
    return var_0;
}
function ju_BitSet__init_($this) {
    $this.$data9 = $rt_createIntArray(0);
}
function ju_BitSet_set($this, $bitIndex) {
    var $index, var$3;
    $index = $bitIndex / 32 | 0;
    if ($bitIndex >= $this.$length2) {
        ju_BitSet_ensureCapacity($this, $index + 1 | 0);
        $this.$length2 = $bitIndex + 1 | 0;
    }
    var$3 = $this.$data9.data;
    var$3[$index] = var$3[$index] | 1 << ($bitIndex % 32 | 0);
}
function ju_BitSet_set0($this, $fromIndex, $toIndex) {
    var var$3, $fromDataIndex, $toDataIndex, var$6, $i;
    if ($fromIndex > $toIndex) {
        var$3 = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0(var$3);
        $rt_throw(var$3);
    }
    $fromDataIndex = $fromIndex / 32 | 0;
    $toDataIndex = $toIndex / 32 | 0;
    if ($toIndex > $this.$length2) {
        ju_BitSet_ensureCapacity($this, $toDataIndex + 1 | 0);
        $this.$length2 = $toIndex;
    }
    if ($fromDataIndex == $toDataIndex) {
        var$6 = $this.$data9.data;
        var$6[$fromDataIndex] = var$6[$fromDataIndex] | ju_BitSet_trailingZeroBits($this, $fromIndex) & ju_BitSet_trailingOneBits($this, $toIndex);
    } else {
        var$6 = $this.$data9.data;
        var$6[$fromDataIndex] = var$6[$fromDataIndex] | ju_BitSet_trailingZeroBits($this, $fromIndex);
        $i = $fromDataIndex + 1 | 0;
        while ($i < $toDataIndex) {
            $this.$data9.data[$i] = (-1);
            $i = $i + 1 | 0;
        }
        var$6 = $this.$data9.data;
        var$6[$toDataIndex] = var$6[$toDataIndex] | ju_BitSet_trailingOneBits($this, $toIndex);
    }
}
function ju_BitSet_trailingZeroBits($this, $num) {
    return (-1) << ($num % 32 | 0);
}
function ju_BitSet_trailingOneBits($this, $num) {
    $num = $num % 32 | 0;
    return !$num ? 0 : (-1) >>> (32 - $num | 0);
}
function ju_BitSet_clear($this, $bitIndex) {
    var $index, var$3;
    $index = $bitIndex / 32 | 0;
    if ($index < $this.$data9.data.length) {
        var$3 = $this.$data9.data;
        var$3[$index] = var$3[$index] & jl_Integer_rotateLeft((-2), $bitIndex % 32 | 0);
        if ($bitIndex == ($this.$length2 - 1 | 0))
            ju_BitSet_recalculateLength($this);
    }
}
function ju_BitSet_clear0($this, $fromIndex, $toIndex) {
    var var$3, $fromDataIndex, $toDataIndex, var$6, $i;
    if ($fromIndex > $toIndex) {
        var$3 = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0(var$3);
        $rt_throw(var$3);
    }
    if ($fromIndex >= $this.$length2)
        return;
    $toIndex = jl_Math_min($this.$length2, $toIndex);
    $fromDataIndex = $fromIndex / 32 | 0;
    $toDataIndex = $toIndex / 32 | 0;
    if ($fromDataIndex == $toDataIndex) {
        var$6 = $this.$data9.data;
        var$6[$fromDataIndex] = var$6[$fromDataIndex] & (ju_BitSet_trailingOneBits($this, $fromIndex) | ju_BitSet_trailingZeroBits($this, $toIndex));
    } else {
        var$6 = $this.$data9.data;
        var$6[$fromDataIndex] = var$6[$fromDataIndex] & ju_BitSet_trailingOneBits($this, $fromIndex);
        $i = $fromDataIndex + 1 | 0;
        while ($i < $toDataIndex) {
            $this.$data9.data[$i] = 0;
            $i = $i + 1 | 0;
        }
        var$6 = $this.$data9.data;
        var$6[$toDataIndex] = var$6[$toDataIndex] & ju_BitSet_trailingZeroBits($this, $toIndex);
    }
    ju_BitSet_recalculateLength($this);
}
function ju_BitSet_get($this, $bitIndex) {
    var $index;
    $index = $bitIndex / 32 | 0;
    return $index < $this.$data9.data.length && $this.$data9.data[$index] & 1 << ($bitIndex % 32 | 0) ? 1 : 0;
}
function ju_BitSet_nextSetBit($this, $fromIndex) {
    var $index, $top, $i;
    if ($fromIndex >= $this.$length2)
        return (-1);
    $index = $fromIndex / 32 | 0;
    $top = $this.$data9.data[$index] >>> ($fromIndex % 32 | 0);
    if ($top)
        return jl_Integer_numberOfTrailingZeros($top) + $fromIndex | 0;
    $top = ($this.$length2 + 31 | 0) / 32 | 0;
    $i = $index + 1 | 0;
    while ($i < $top) {
        if ($this.$data9.data[$i])
            return ($i * 32 | 0) + jl_Integer_numberOfTrailingZeros($this.$data9.data[$i]) | 0;
        $i = $i + 1 | 0;
    }
    return (-1);
}
function ju_BitSet_nextClearBit($this, $fromIndex) {
    var $index, $top, $i;
    if ($fromIndex >= $this.$length2)
        return $fromIndex;
    $index = $fromIndex / 32 | 0;
    $top = ($this.$data9.data[$index] ^ (-1)) >>> ($fromIndex % 32 | 0);
    if ($top)
        return jl_Integer_numberOfTrailingZeros($top) + $fromIndex | 0;
    $top = ($this.$length2 + 31 | 0) / 32 | 0;
    $i = $index + 1 | 0;
    while ($i < $top) {
        if ($this.$data9.data[$i] != (-1))
            return ($i * 32 | 0) + jl_Integer_numberOfTrailingZeros($this.$data9.data[$i] ^ (-1)) | 0;
        $i = $i + 1 | 0;
    }
    return $this.$length2;
}
function ju_BitSet_ensureCapacity($this, $capacity) {
    var $newArrayLength, var$3, var$4, var$5;
    if ($this.$data9.data.length >= $capacity)
        return;
    $newArrayLength = jl_Math_max(($capacity * 3 | 0) / 2 | 0, ($this.$data9.data.length * 2 | 0) + 1 | 0);
    var$3 = $this.$data9.data;
    var$4 = $rt_createIntArray($newArrayLength);
    var$5 = var$4.data;
    $capacity = jl_Math_min($newArrayLength, var$3.length);
    $newArrayLength = 0;
    while ($newArrayLength < $capacity) {
        var$5[$newArrayLength] = var$3[$newArrayLength];
        $newArrayLength = $newArrayLength + 1 | 0;
    }
    $this.$data9 = var$4;
}
function ju_BitSet_recalculateLength($this) {
    var $top, $i, $sz;
    $top = ($this.$length2 + 31 | 0) / 32 | 0;
    $this.$length2 = $top * 32 | 0;
    $i = $top - 1 | 0;
    a: {
        while (true) {
            if ($i < 0)
                break a;
            $sz = jl_Integer_numberOfLeadingZeros($this.$data9.data[$i]);
            if ($sz < 32)
                break;
            $i = $i + (-1) | 0;
            $this.$length2 = $this.$length2 - 32 | 0;
        }
        $this.$length2 = $this.$length2 - $sz | 0;
    }
}
function ju_BitSet_intersects($this, $set) {
    var $sz, $i;
    $sz = jl_Math_min($this.$data9.data.length, $set.$data9.data.length);
    $i = 0;
    while ($i < $sz) {
        if ($this.$data9.data[$i] & $set.$data9.data[$i])
            return 1;
        $i = $i + 1 | 0;
    }
    return 0;
}
function ju_BitSet_and($this, $set) {
    var $i, $i_0, var$4;
    $i = jl_Math_min($this.$data9.data.length, $set.$data9.data.length);
    $i_0 = 0;
    while ($i_0 < $i) {
        var$4 = $this.$data9.data;
        var$4[$i_0] = var$4[$i_0] & $set.$data9.data[$i_0];
        $i_0 = $i_0 + 1 | 0;
    }
    while ($i < $this.$data9.data.length) {
        $this.$data9.data[$i] = 0;
        $i = $i + 1 | 0;
    }
    $this.$length2 = jl_Math_min($this.$length2, $set.$length2);
    ju_BitSet_recalculateLength($this);
}
function ju_BitSet_andNot($this, $set) {
    var $sz, $i, var$4;
    $sz = jl_Math_min($this.$data9.data.length, $set.$data9.data.length);
    $i = 0;
    while ($i < $sz) {
        var$4 = $this.$data9.data;
        var$4[$i] = var$4[$i] & ($set.$data9.data[$i] ^ (-1));
        $i = $i + 1 | 0;
    }
    ju_BitSet_recalculateLength($this);
}
function ju_BitSet_or($this, $set) {
    var $sz, $i, var$4;
    $this.$length2 = jl_Math_max($this.$length2, $set.$length2);
    ju_BitSet_ensureCapacity($this, ($this.$length2 + 31 | 0) / 32 | 0);
    $sz = jl_Math_min($this.$data9.data.length, $set.$length2);
    $i = 0;
    while ($i < $sz) {
        var$4 = $this.$data9.data;
        var$4[$i] = var$4[$i] | $set.$data9.data[$i];
        $i = $i + 1 | 0;
    }
}
function ju_BitSet_xor($this, $set) {
    var $sz, $i, var$4;
    $this.$length2 = jl_Math_max($this.$length2, $set.$length2);
    ju_BitSet_ensureCapacity($this, ($this.$length2 + 31 | 0) / 32 | 0);
    $sz = jl_Math_min($this.$data9.data.length, $set.$length2);
    $i = 0;
    while ($i < $sz) {
        var$4 = $this.$data9.data;
        var$4[$i] = var$4[$i] ^ $set.$data9.data[$i];
        $i = $i + 1 | 0;
    }
    ju_BitSet_recalculateLength($this);
}
function ju_BitSet_isEmpty($this) {
    return $this.$length2 ? 0 : 1;
}
function jur_LowHighSurrogateRangeSet() {
    var a = this; jur_JointSet.call(a);
    a.$surrChars = null;
    a.$alt = 0;
}
function jur_LowHighSurrogateRangeSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_LowHighSurrogateRangeSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $startStr, $strLength, var$6, $low, $ch;
    $startStr = $matchResult.$leftBound0;
    $strLength = $matchResult.$rightBound0;
    var$6 = $stringIndex + 1 | 0;
    $low = $rt_compare(var$6, $strLength);
    if ($low > 0) {
        $matchResult.$hitEnd = 1;
        return (-1);
    }
    $ch = jl_String_charAt($testString, $stringIndex);
    if (!$this.$surrChars.$contains1($ch))
        return (-1);
    if (jl_Character_isHighSurrogate($ch)) {
        if ($low < 0 && jl_Character_isLowSurrogate(jl_String_charAt($testString, var$6)))
            return (-1);
    } else if (jl_Character_isLowSurrogate($ch) && $stringIndex > $startStr && jl_Character_isHighSurrogate(jl_String_charAt($testString, $stringIndex - 1 | 0)))
        return (-1);
    return $this.$next4.$matches0(var$6, $testString, $matchResult);
}
function jur_LowHighSurrogateRangeSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(625));
    jl_AbstractStringBuilder_append(var$1, !$this.$alt ? $rt_s(343) : $rt_s(626));
    jl_AbstractStringBuilder_append(var$1, $this.$surrChars.$toString());
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_CompositeRangeSet() {
    var a = this; jur_JointSet.call(a);
    a.$withoutSurrogates = null;
    a.$withSurrogates = null;
}
function jur_CompositeRangeSet__init_(var_0, var_1) {
    var var_2 = new jur_CompositeRangeSet();
    jur_CompositeRangeSet__init_0(var_2, var_0, var_1);
    return var_2;
}
function jur_CompositeRangeSet__init_0($this, $withoutSurrogates, $withSurrogates) {
    jur_AbstractSet__init_($this);
    $this.$withoutSurrogates = $withoutSurrogates;
    $this.$withSurrogates = $withSurrogates;
}
function jur_CompositeRangeSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $shift;
    $shift = $this.$withoutSurrogates.$matches0($stringIndex, $testString, $matchResult);
    if ($shift < 0)
        $shift = jur_LowHighSurrogateRangeSet_matches($this.$withSurrogates, $stringIndex, $testString, $matchResult);
    if ($shift >= 0)
        return $shift;
    return (-1);
}
function jur_CompositeRangeSet_setNext($this, $next) {
    $this.$next4 = $next;
    $this.$withSurrogates.$next4 = $next;
    $this.$withoutSurrogates.$setNext($next);
}
function jur_CompositeRangeSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(627));
    jl_AbstractStringBuilder_append1(var$1, $this.$withoutSurrogates);
    jl_AbstractStringBuilder_append(var$1, $rt_s(628));
    jl_AbstractStringBuilder_append1(var$1, $this.$withSurrogates);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_CompositeRangeSet_hasConsumed($this, $matchResult) {
    return 1;
}
function jur_CompositeRangeSet_first($this, $set) {
    return 1;
}
function jur_SupplRangeSet() {
    var a = this; jur_JointSet.call(a);
    a.$chars = null;
    a.$alt1 = 0;
}
function jur_SupplRangeSet__init_(var_0) {
    var var_1 = new jur_SupplRangeSet();
    jur_SupplRangeSet__init_0(var_1, var_0);
    return var_1;
}
function jur_SupplRangeSet__init_0($this, $cc) {
    jur_AbstractSet__init_($this);
    $this.$chars = $cc.$getInstance2();
    $this.$alt1 = $cc.$alt0;
}
function jur_SupplRangeSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $strLength, $low, $high;
    $strLength = $matchResult.$rightBound0;
    if ($stringIndex < $strLength) {
        $low = $stringIndex + 1 | 0;
        $high = jl_String_charAt($testString, $stringIndex);
        if ($this.$contains1($high)) {
            $stringIndex = $this.$next4.$matches0($low, $testString, $matchResult);
            if ($stringIndex > 0)
                return $stringIndex;
        }
        if ($low < $strLength) {
            $stringIndex = $low + 1 | 0;
            $low = jl_String_charAt($testString, $low);
            if (jl_Character_isSurrogatePair($high, $low) && $this.$contains1(jl_Character_toCodePoint($high, $low)))
                return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
        }
    }
    return (-1);
}
function jur_SupplRangeSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(625));
    jl_AbstractStringBuilder_append(var$1, !$this.$alt1 ? $rt_s(343) : $rt_s(626));
    jl_AbstractStringBuilder_append(var$1, $this.$chars.$toString());
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_SupplRangeSet_contains($this, $ch) {
    return $this.$chars.$contains1($ch);
}
function jur_SupplRangeSet_first($this, $set) {
    if ($set instanceof jur_SupplCharSet)
        return $this.$chars.$contains1($set.$ch1);
    if ($set instanceof jur_CharSet)
        return $this.$chars.$contains1($set.$ch2);
    if ($set instanceof jur_SupplRangeSet)
        return jur_AbstractCharClass_intersects($this.$chars, $set.$chars);
    if (!($set instanceof jur_RangeSet))
        return 1;
    return jur_AbstractCharClass_intersects($this.$chars, $set.$chars0);
}
function jur_SupplRangeSet_getChars($this) {
    return $this.$chars;
}
function jur_SupplRangeSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_SupplRangeSet_hasConsumed($this, $mr) {
    return 1;
}
function jur_UCISupplRangeSet() {
    jur_SupplRangeSet.call(this);
}
function jur_UCISupplRangeSet_contains($this, $ch) {
    return $this.$chars.$contains1(jl_Character_toLowerCase0(jl_Character_toUpperCase($ch)));
}
function jur_UCISupplRangeSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(629));
    jl_AbstractStringBuilder_append(var$1, !$this.$alt1 ? $rt_s(343) : $rt_s(626));
    jl_AbstractStringBuilder_append(var$1, $this.$chars.$toString());
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_UCIRangeSet() {
    var a = this; jur_LeafSet.call(a);
    a.$chars1 = null;
    a.$alt2 = 0;
}
function jur_UCIRangeSet__init_(var_0) {
    var var_1 = new jur_UCIRangeSet();
    jur_UCIRangeSet__init_0(var_1, var_0);
    return var_1;
}
function jur_UCIRangeSet__init_0($this, $cc) {
    jur_LeafSet__init_($this);
    $this.$chars1 = $cc.$getInstance2();
    $this.$alt2 = $cc.$alt0;
}
function jur_UCIRangeSet_accepts($this, $strIndex, $testString) {
    return !$this.$chars1.$contains1(jl_Character_toLowerCase(jl_Character_toUpperCase0(jl_String_charAt($testString, $strIndex)))) ? (-1) : 1;
}
function jur_UCIRangeSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(629));
    jl_AbstractStringBuilder_append(var$1, !$this.$alt2 ? $rt_s(343) : $rt_s(626));
    jl_AbstractStringBuilder_append(var$1, $this.$chars1.$toString());
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_RangeSet() {
    var a = this; jur_LeafSet.call(a);
    a.$chars0 = null;
    a.$alt3 = 0;
}
function jur_RangeSet__init_(var_0) {
    var var_1 = new jur_RangeSet();
    jur_RangeSet__init_0(var_1, var_0);
    return var_1;
}
function jur_RangeSet__init_0($this, $cc) {
    jur_LeafSet__init_($this);
    $this.$chars0 = $cc.$getInstance2();
    $this.$alt3 = $cc.$alt0;
}
function jur_RangeSet_accepts($this, $strIndex, $testString) {
    return !$this.$chars0.$contains1(jl_String_charAt($testString, $strIndex)) ? (-1) : 1;
}
function jur_RangeSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(625));
    jl_AbstractStringBuilder_append(var$1, !$this.$alt3 ? $rt_s(343) : $rt_s(626));
    jl_AbstractStringBuilder_append(var$1, $this.$chars0.$toString());
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_RangeSet_first($this, $set) {
    if ($set instanceof jur_CharSet)
        return $this.$chars0.$contains1($set.$ch2);
    if ($set instanceof jur_RangeSet)
        return jur_AbstractCharClass_intersects($this.$chars0, $set.$chars0);
    if (!($set instanceof jur_SupplRangeSet)) {
        if (!($set instanceof jur_SupplCharSet))
            return 1;
        return 0;
    }
    return jur_AbstractCharClass_intersects($this.$chars0, $set.$chars);
}
function jur_RangeSet_getChars($this) {
    return $this.$chars0;
}
function jur_HangulDecomposedCharSet() {
    var a = this; jur_JointSet.call(a);
    a.$decomposedChar = null;
    a.$decomposedCharUTF16 = null;
    a.$decomposedCharLength = 0;
}
function jur_HangulDecomposedCharSet__init_(var_0, var_1) {
    var var_2 = new jur_HangulDecomposedCharSet();
    jur_HangulDecomposedCharSet__init_0(var_2, var_0, var_1);
    return var_2;
}
function jur_HangulDecomposedCharSet__init_0($this, $decomposedChar, $decomposedCharLength) {
    jur_AbstractSet__init_($this);
    $this.$decomposedChar = $decomposedChar;
    $this.$decomposedCharLength = $decomposedCharLength;
}
function jur_HangulDecomposedCharSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_HangulDecomposedCharSet_getDecomposedChar($this) {
    if ($this.$decomposedCharUTF16 === null)
        $this.$decomposedCharUTF16 = jl_String__init_($this.$decomposedChar);
    return $this.$decomposedCharUTF16;
}
function jur_HangulDecomposedCharSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(630));
    jl_AbstractStringBuilder_append(var$1, jur_HangulDecomposedCharSet_getDecomposedChar($this));
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_HangulDecomposedCharSet_matches($this, $strIndex, $testString, $matchResult) {
    var $rightBound, $decompSyllable, $vIndex, $tIndex, var$8, $curSymb, $lIndex, $i, $decompCurSymb, var$13, var$14;
    $rightBound = $matchResult.$rightBound0;
    $decompSyllable = $rt_createIntArray(3);
    $vIndex = (-1);
    $tIndex = (-1);
    if ($strIndex >= $rightBound)
        return (-1);
    var$8 = $strIndex + 1 | 0;
    $curSymb = jl_String_charAt($testString, $strIndex);
    $lIndex = $curSymb - 44032 | 0;
    if ($lIndex >= 0 && $lIndex < 11172) {
        $strIndex = 4352 + ($lIndex / 588 | 0) | 0;
        $i = 4449 + (($lIndex % 588 | 0) / 28 | 0) | 0;
        $lIndex = $lIndex % 28 | 0;
        if (!$lIndex) {
            $decompCurSymb = $rt_createIntArray(2);
            var$13 = $decompCurSymb.data;
            var$13[0] = $strIndex;
            var$13[1] = $i;
        } else {
            var$14 = 4519 + $lIndex | 0;
            $decompCurSymb = $rt_createIntArray(3);
            var$13 = $decompCurSymb.data;
            var$13[0] = $strIndex;
            var$13[1] = $i;
            var$13[2] = var$14;
        }
    } else
        $decompCurSymb = null;
    if ($decompCurSymb !== null) {
        $decompCurSymb = $decompCurSymb.data;
        $i = 0;
        if ($decompCurSymb.length != $this.$decomposedCharLength)
            return (-1);
        while (true) {
            if ($i >= $this.$decomposedCharLength)
                return $this.$next4.$matches0(var$8, $testString, $matchResult);
            if ($decompCurSymb[$i] != $this.$decomposedChar.data[$i])
                break;
            $i = $i + 1 | 0;
        }
        return (-1);
    }
    $decompSyllable = $decompSyllable.data;
    $decompSyllable[0] = $curSymb;
    $lIndex = $curSymb - 4352 | 0;
    if ($lIndex >= 0 && $lIndex < 19) {
        if (var$8 < $rightBound) {
            $curSymb = jl_String_charAt($testString, var$8);
            $vIndex = $curSymb - 4449 | 0;
        }
        if ($vIndex >= 0 && $vIndex < 21) {
            $lIndex = var$8 + 1 | 0;
            $decompSyllable[1] = $curSymb;
            if ($lIndex < $rightBound) {
                $curSymb = jl_String_charAt($testString, $lIndex);
                $tIndex = $curSymb - 4519 | 0;
            }
            if ($tIndex >= 0 && $tIndex < 28) {
                $strIndex = $lIndex + 1 | 0;
                $decompSyllable[2] = $curSymb;
                return $this.$decomposedCharLength == 3 && $decompSyllable[0] == $this.$decomposedChar.data[0] && $decompSyllable[1] == $this.$decomposedChar.data[1] && $decompSyllable[2] == $this.$decomposedChar.data[2] ? $this.$next4.$matches0($strIndex, $testString, $matchResult) : (-1);
            }
            return $this.$decomposedCharLength == 2 && $decompSyllable[0] == $this.$decomposedChar.data[0] && $decompSyllable[1] == $this.$decomposedChar.data[1] ? $this.$next4.$matches0($lIndex, $testString, $matchResult) : (-1);
        }
        return (-1);
    }
    return (-1);
}
function jur_HangulDecomposedCharSet_first($this, $set) {
    return $set instanceof jur_HangulDecomposedCharSet && !jl_String_equals(jur_HangulDecomposedCharSet_getDecomposedChar($set), jur_HangulDecomposedCharSet_getDecomposedChar($this)) ? 0 : 1;
}
function jur_HangulDecomposedCharSet_hasConsumed($this, $matchResult) {
    return 1;
}
function jur_CharSet() {
    jur_LeafSet.call(this);
    this.$ch2 = 0;
}
function jur_CharSet__init_(var_0) {
    var var_1 = new jur_CharSet();
    jur_CharSet__init_0(var_1, var_0);
    return var_1;
}
function jur_CharSet__init_0($this, $ch) {
    jur_LeafSet__init_($this);
    $this.$ch2 = $ch;
}
function jur_CharSet_charCount($this) {
    return 1;
}
function jur_CharSet_accepts($this, $strIndex, $testString) {
    return $this.$ch2 != jl_String_charAt($testString, $strIndex) ? (-1) : 1;
}
function jur_CharSet_find($this, $strIndex, $testString, $matchResult) {
    var $testStr, $strLength, var$6, var$7;
    if (!($testString instanceof jl_String))
        return jur_AbstractSet_find($this, $strIndex, $testString, $matchResult);
    $testStr = $testString;
    $strLength = $matchResult.$rightBound0;
    while (true) {
        if ($strIndex >= $strLength)
            return (-1);
        var$6 = jl_String_indexOf($testStr, $this.$ch2, $strIndex);
        if (var$6 < 0)
            return (-1);
        var$7 = $this.$next4;
        $strIndex = var$6 + 1 | 0;
        if (var$7.$matches0($strIndex, $testString, $matchResult) >= 0)
            break;
    }
    return var$6;
}
function jur_CharSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult) {
    var $testStr, var$6;
    if (!($testString instanceof jl_String))
        return jur_AbstractSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult);
    $testStr = $testString;
    a: {
        while (true) {
            if ($lastIndex < $strIndex)
                return (-1);
            var$6 = jl_String_lastIndexOf0($testStr, $this.$ch2, $lastIndex);
            if (var$6 < 0)
                break a;
            if (var$6 < $strIndex)
                break a;
            if ($this.$next4.$matches0(var$6 + 1 | 0, $testString, $matchResult) >= 0)
                break;
            $lastIndex = var$6 + (-1) | 0;
        }
        return var$6;
    }
    return (-1);
}
function jur_CharSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    jl_AbstractStringBuilder_append0(var$1, $this.$ch2);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_CharSet_getChar($this) {
    return $this.$ch2;
}
function jur_CharSet_first($this, $set) {
    if ($set instanceof jur_CharSet)
        return $set.$ch2 != $this.$ch2 ? 0 : 1;
    if (!($set instanceof jur_RangeSet)) {
        if ($set instanceof jur_SupplRangeSet)
            return $set.$contains1($this.$ch2);
        if (!($set instanceof jur_SupplCharSet))
            return 1;
        return 0;
    }
    return jur_RangeSet_accepts($set, 0, jl_Character_toString0($this.$ch2)) <= 0 ? 0 : 1;
}
function jur_UCICharSet() {
    jur_LeafSet.call(this);
    this.$ch3 = 0;
}
function jur_UCICharSet__init_(var_0) {
    var var_1 = new jur_UCICharSet();
    jur_UCICharSet__init_0(var_1, var_0);
    return var_1;
}
function jur_UCICharSet__init_0($this, $ch) {
    jur_LeafSet__init_($this);
    $this.$ch3 = jl_Character_toLowerCase(jl_Character_toUpperCase0($ch));
}
function jur_UCICharSet_accepts($this, $strIndex, $testString) {
    return $this.$ch3 != jl_Character_toLowerCase(jl_Character_toUpperCase0(jl_String_charAt($testString, $strIndex))) ? (-1) : 1;
}
function jur_UCICharSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(631));
    jl_AbstractStringBuilder_append0(var$1, $this.$ch3);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_CICharSet() {
    var a = this; jur_LeafSet.call(a);
    a.$ch4 = 0;
    a.$supplement = 0;
}
function jur_CICharSet__init_(var_0) {
    var var_1 = new jur_CICharSet();
    jur_CICharSet__init_0(var_1, var_0);
    return var_1;
}
function jur_CICharSet__init_0($this, $ch) {
    jur_LeafSet__init_($this);
    $this.$ch4 = $ch;
    $this.$supplement = jur_Pattern_getSupplement($ch);
}
function jur_CICharSet_accepts($this, $strIndex, $testString) {
    return $this.$ch4 != jl_String_charAt($testString, $strIndex) && $this.$supplement != jl_String_charAt($testString, $strIndex) ? (-1) : 1;
}
function jur_CICharSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(632));
    jl_AbstractStringBuilder_append0(var$1, $this.$ch4);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_DecomposedCharSet() {
    var a = this; jur_JointSet.call(a);
    a.$readCharsForCodePoint = 0;
    a.$decomposedCharUTF160 = null;
    a.$decomposedChar0 = null;
    a.$decomposedCharLength0 = 0;
}
function jur_DecomposedCharSet__init_(var_0, var_1) {
    var var_2 = new jur_DecomposedCharSet();
    jur_DecomposedCharSet__init_0(var_2, var_0, var_1);
    return var_2;
}
function jur_DecomposedCharSet__init_0($this, $decomposedChar, $decomposedCharLength) {
    jur_AbstractSet__init_($this);
    $this.$readCharsForCodePoint = 1;
    $this.$decomposedChar0 = $decomposedChar;
    $this.$decomposedCharLength0 = $decomposedCharLength;
}
function jur_DecomposedCharSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_DecomposedCharSet_matches($this, $strIndex, $testString, $matchResult) {
    var $decCodePoint, $rightBound, $curChar, var$7, $decCurCodePoint, var$9, var$10, $readCodePoints;
    $decCodePoint = $rt_createIntArray(4);
    $rightBound = $matchResult.$rightBound0;
    if ($strIndex >= $rightBound)
        return (-1);
    $curChar = jur_DecomposedCharSet_codePointAt($this, $strIndex, $testString, $rightBound);
    var$7 = $strIndex + $this.$readCharsForCodePoint | 0;
    $decCurCodePoint = jur_Lexer_getDecomposition($curChar);
    if ($decCurCodePoint === null) {
        $decCurCodePoint = $decCodePoint.data;
        $strIndex = 1;
        $decCurCodePoint[0] = $curChar;
    } else {
        $strIndex = $decCurCodePoint.data.length;
        jl_System_arraycopy($decCurCodePoint, 0, $decCodePoint, 0, $strIndex);
        $strIndex = 0 + $strIndex | 0;
    }
    a: {
        if (var$7 < $rightBound) {
            var$9 = $decCodePoint.data;
            $curChar = jur_DecomposedCharSet_codePointAt($this, var$7, $testString, $rightBound);
            while ($strIndex < 4) {
                if (!(($curChar != 832 ? 0 : 1) | ($curChar != 833 ? 0 : 1) | ($curChar != 835 ? 0 : 1) | ($curChar != 836 ? 0 : 1))) {
                    var$10 = $strIndex + 1 | 0;
                    var$9[$strIndex] = $curChar;
                } else {
                    $decCurCodePoint = jur_Lexer_getDecomposition($curChar).data;
                    if ($decCurCodePoint.length != 2) {
                        var$10 = $strIndex + 1 | 0;
                        var$9[$strIndex] = $decCurCodePoint[0];
                    } else {
                        $readCodePoints = $strIndex + 1 | 0;
                        var$9[$strIndex] = $decCurCodePoint[0];
                        var$10 = $readCodePoints + 1 | 0;
                        var$9[$readCodePoints] = $decCurCodePoint[1];
                    }
                }
                var$7 = var$7 + $this.$readCharsForCodePoint | 0;
                if (var$7 >= $rightBound) {
                    $strIndex = var$10;
                    break a;
                }
                $curChar = jur_DecomposedCharSet_codePointAt($this, var$7, $testString, $rightBound);
                $strIndex = var$10;
            }
        }
    }
    if ($strIndex != $this.$decomposedCharLength0)
        return (-1);
    $decCurCodePoint = $decCodePoint.data;
    $curChar = 0;
    while (true) {
        if ($curChar >= $strIndex)
            return $this.$next4.$matches0(var$7, $testString, $matchResult);
        if ($decCurCodePoint[$curChar] != $this.$decomposedChar0.data[$curChar])
            break;
        $curChar = $curChar + 1 | 0;
    }
    return (-1);
}
function jur_DecomposedCharSet_getDecomposedChar($this) {
    var $strBuff, $i;
    if ($this.$decomposedCharUTF160 === null) {
        $strBuff = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($strBuff);
        $i = 0;
        while ($i < $this.$decomposedCharLength0) {
            jl_AbstractStringBuilder_append7($strBuff, jl_Character_toChars($this.$decomposedChar0.data[$i]));
            $i = $i + 1 | 0;
        }
        $this.$decomposedCharUTF160 = jl_AbstractStringBuilder_toString($strBuff);
    }
    return $this.$decomposedCharUTF160;
}
function jur_DecomposedCharSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(633));
    jl_AbstractStringBuilder_append(var$1, jur_DecomposedCharSet_getDecomposedChar($this));
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_DecomposedCharSet_codePointAt($this, $strIndex, $testString, $rightBound) {
    var $curChar, $low, $curCodePointUTF16;
    $this.$readCharsForCodePoint = 1;
    if ($strIndex >= ($rightBound - 1 | 0))
        $curChar = jl_String_charAt($testString, $strIndex);
    else {
        $rightBound = $strIndex + 1 | 0;
        $curChar = jl_String_charAt($testString, $strIndex);
        $low = jl_String_charAt($testString, $rightBound);
        if (jl_Character_isSurrogatePair($curChar, $low)) {
            $curCodePointUTF16 = $rt_createCharArray(2).data;
            $curCodePointUTF16[0] = $curChar;
            $curCodePointUTF16[1] = $low;
            $curChar = 0 < ($curCodePointUTF16.length - 1 | 0) && jl_Character_isHighSurrogate($curCodePointUTF16[0]) && jl_Character_isLowSurrogate($curCodePointUTF16[1]) ? jl_Character_toCodePoint($curCodePointUTF16[0], $curCodePointUTF16[1]) : $curCodePointUTF16[0];
            $this.$readCharsForCodePoint = 2;
        }
    }
    return $curChar;
}
function jur_DecomposedCharSet_first($this, $set) {
    return $set instanceof jur_DecomposedCharSet && !jl_String_equals(jur_DecomposedCharSet_getDecomposedChar($set), jur_DecomposedCharSet_getDecomposedChar($this)) ? 0 : 1;
}
function jur_DecomposedCharSet_hasConsumed($this, $matchResult) {
    return 1;
}
function jur_UCIDecomposedCharSet() {
    jur_DecomposedCharSet.call(this);
}
function jur_CIDecomposedCharSet() {
    jur_DecomposedCharSet.call(this);
}
function jur_PossessiveGroupQuantifierSet() {
    jur_GroupQuantifierSet.call(this);
}
function jur_PossessiveGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $stringIndex_0;
    while (true) {
        $stringIndex_0 = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
        if ($stringIndex_0 <= 0)
            break;
        $stringIndex = $stringIndex_0;
    }
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_PosPlusGroupQuantifierSet() {
    jur_GroupQuantifierSet.call(this);
}
function jur_PosPlusGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $nextIndex;
    $nextIndex = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
    if ($nextIndex < 0)
        return (-1);
    if ($nextIndex > $stringIndex) {
        while (true) {
            $stringIndex = $this.$innerSet.$matches0($nextIndex, $testString, $matchResult);
            if ($stringIndex <= $nextIndex)
                break;
            $nextIndex = $stringIndex;
        }
        $stringIndex = $nextIndex;
    }
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_AltGroupQuantifierSet() {
    jur_GroupQuantifierSet.call(this);
}
function jur_AltGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $nextIndex;
    if (!$this.$innerSet.$hasConsumed($matchResult))
        return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    $nextIndex = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
    if ($nextIndex >= 0)
        return $nextIndex;
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_AltGroupQuantifierSet_setNext($this, $next) {
    $this.$next4 = $next;
    $this.$innerSet.$setNext($next);
}
function jur_PosAltGroupQuantifierSet() {
    jur_AltGroupQuantifierSet.call(this);
}
function jur_PosAltGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $nextIndex;
    $nextIndex = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
    if ($nextIndex <= 0)
        $nextIndex = $stringIndex;
    return $this.$next4.$matches0($nextIndex, $testString, $matchResult);
}
function jur_PosAltGroupQuantifierSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_CompositeGroupQuantifierSet() {
    var a = this; jur_GroupQuantifierSet.call(a);
    a.$quantifier0 = null;
    a.$setCounter = 0;
}
function jur_CompositeGroupQuantifierSet__init_0(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new jur_CompositeGroupQuantifierSet();
    jur_CompositeGroupQuantifierSet__init_(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function jur_CompositeGroupQuantifierSet__init_($this, $quant, $innerSet, $next, $type, $setCounter) {
    jur_QuantifierSet__init_($this, $innerSet, $next, $type);
    $this.$quantifier0 = $quant;
    $this.$setCounter = $setCounter;
}
function jur_CompositeGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $enterCounter, $nextIndex;
    $enterCounter = jur_MatchResultImpl_getEnterCounter($matchResult, $this.$setCounter);
    if (!$this.$innerSet.$hasConsumed($matchResult))
        return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    if ($enterCounter >= $this.$quantifier0.$max0)
        return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    $nextIndex = $this.$setCounter;
    $enterCounter = $enterCounter + 1 | 0;
    jur_MatchResultImpl_setEnterCounter($matchResult, $nextIndex, $enterCounter);
    $nextIndex = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
    if ($nextIndex >= 0) {
        jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, 0);
        return $nextIndex;
    }
    $nextIndex = $this.$setCounter;
    $enterCounter = $enterCounter + (-1) | 0;
    jur_MatchResultImpl_setEnterCounter($matchResult, $nextIndex, $enterCounter);
    if ($enterCounter >= $this.$quantifier0.$min1)
        return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, 0);
    return (-1);
}
function jur_CompositeGroupQuantifierSet_getName($this) {
    return jur_Quantifier_toString($this.$quantifier0);
}
function jur_PosCompositeGroupQuantifierSet() {
    jur_CompositeGroupQuantifierSet.call(this);
}
function jur_PosCompositeGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $counter, $max, $nextIndex;
    $counter = 0;
    $max = $this.$quantifier0.$max0;
    a: {
        while (true) {
            $nextIndex = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
            if ($nextIndex <= $stringIndex)
                break a;
            if ($counter >= $max)
                break;
            $counter = $counter + 1 | 0;
            $stringIndex = $nextIndex;
        }
    }
    if ($nextIndex < 0 && $counter < $this.$quantifier0.$min1)
        return (-1);
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_ReluctantGroupQuantifierSet() {
    jur_GroupQuantifierSet.call(this);
}
function jur_ReluctantGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $res;
    if (!$this.$innerSet.$hasConsumed($matchResult))
        return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    $res = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    if ($res >= 0)
        return $res;
    return $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
}
function jur_RelAltGroupQuantifierSet() {
    jur_AltGroupQuantifierSet.call(this);
}
function jur_RelAltGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $nextIndex;
    if (!$this.$innerSet.$hasConsumed($matchResult))
        return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    $nextIndex = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    if ($nextIndex < 0)
        $nextIndex = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
    return $nextIndex;
}
function jur_RelCompositeGroupQuantifierSet() {
    jur_CompositeGroupQuantifierSet.call(this);
}
function jur_RelCompositeGroupQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $enterCounter, $nextIndex;
    $enterCounter = jur_MatchResultImpl_getEnterCounter($matchResult, $this.$setCounter);
    if (!$this.$innerSet.$hasConsumed($matchResult))
        return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    if ($enterCounter >= $this.$quantifier0.$max0) {
        jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, 0);
        return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    }
    if ($enterCounter < $this.$quantifier0.$min1) {
        jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, $enterCounter + 1 | 0);
        $nextIndex = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
    } else {
        $nextIndex = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
        if ($nextIndex >= 0) {
            jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, 0);
            return $nextIndex;
        }
        jur_MatchResultImpl_setEnterCounter($matchResult, $this.$setCounter, $enterCounter + 1 | 0);
        $nextIndex = $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
    }
    return $nextIndex;
}
function jur_DotAllQuantifierSet() {
    jur_QuantifierSet.call(this);
}
function jur_DotAllQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $strLength;
    $strLength = $matchResult.$rightBound0;
    if ($strLength > $stringIndex)
        return $this.$next4.$findBack($stringIndex, $strLength, $testString, $matchResult);
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_DotAllQuantifierSet_find($this, $stringIndex, $testString, $matchResult) {
    var $strLength;
    $strLength = $matchResult.$rightBound0;
    if ($this.$next4.$findBack($stringIndex, $strLength, $testString, $matchResult) >= 0)
        return $stringIndex;
    return (-1);
}
function jur_DotAllQuantifierSet_getName($this) {
    return $rt_s(634);
}
function jur_DotQuantifierSet() {
    jur_QuantifierSet.call(this);
    this.$lt = null;
}
function jur_DotQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $strLength, $startSearch;
    $strLength = $matchResult.$rightBound0;
    $startSearch = jur_DotQuantifierSet_findLineTerminator($this, $stringIndex, $strLength, $testString);
    if ($startSearch >= 0)
        $strLength = $startSearch;
    if ($strLength > $stringIndex)
        return $this.$next4.$findBack($stringIndex, $strLength, $testString, $matchResult);
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_DotQuantifierSet_find($this, $stringIndex, $testString, $matchResult) {
    var $strLength, $res, $nextSearch, $leftBound;
    $strLength = $matchResult.$rightBound0;
    $res = $this.$next4.$find0($stringIndex, $testString, $matchResult);
    if ($res < 0)
        return (-1);
    $nextSearch = jur_DotQuantifierSet_findLineTerminator($this, $res, $strLength, $testString);
    if ($nextSearch >= 0)
        $strLength = $nextSearch;
    $nextSearch = $this.$next4.$findBack($res, $strLength, $testString, $matchResult);
    if ($res < $nextSearch)
        $res = $nextSearch;
    if ($res <= 0)
        $leftBound = $res ? (-1) : 0;
    else {
        $leftBound = $res - 1 | 0;
        a: {
            while (true) {
                if ($leftBound < $stringIndex) {
                    $leftBound = (-1);
                    break a;
                }
                if ($this.$lt.$isLineTerminator(jl_String_charAt($testString, $leftBound)))
                    break;
                $leftBound = $leftBound + (-1) | 0;
            }
        }
    }
    if ($leftBound >= $stringIndex)
        $stringIndex = $leftBound >= $res ? $leftBound : $leftBound + 1 | 0;
    return $stringIndex;
}
function jur_DotQuantifierSet_findLineTerminator($this, $i, $to, $testString) {
    while (true) {
        if ($i >= $to)
            return (-1);
        if ($this.$lt.$isLineTerminator(jl_String_charAt($testString, $i)))
            break;
        $i = $i + 1 | 0;
    }
    return $i;
}
function jur_DotQuantifierSet_getName($this) {
    return $rt_s(635);
}
function jur_AbstractLineTerminator() {
    jl_Object.call(this);
}
var jur_AbstractLineTerminator_unixLT = null;
var jur_AbstractLineTerminator_unicodeLT = null;
function jur_AbstractLineTerminator_getInstance($flag) {
    if (!($flag & 1)) {
        if (jur_AbstractLineTerminator_unicodeLT !== null)
            return jur_AbstractLineTerminator_unicodeLT;
        jur_AbstractLineTerminator_unicodeLT = new jur_AbstractLineTerminator$2;
        return jur_AbstractLineTerminator_unicodeLT;
    }
    if (jur_AbstractLineTerminator_unixLT !== null)
        return jur_AbstractLineTerminator_unixLT;
    jur_AbstractLineTerminator_unixLT = new jur_AbstractLineTerminator$1;
    return jur_AbstractLineTerminator_unixLT;
}
function jur_PossessiveQuantifierSet() {
    jur_LeafQuantifierSet.call(this);
}
function jur_PossessiveQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var var$4;
    a: {
        while (true) {
            if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0)
                break a;
            var$4 = $this.$leaf.$accepts($stringIndex, $testString);
            if (var$4 < 1)
                break;
            $stringIndex = $stringIndex + var$4 | 0;
        }
    }
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_PossessiveAltQuantifierSet() {
    jur_AltQuantifierSet.call(this);
}
function jur_PossessiveAltQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var var$4;
    if (($stringIndex + $this.$leaf.$charCount0() | 0) <= $matchResult.$rightBound0) {
        var$4 = $this.$leaf.$accepts($stringIndex, $testString);
        if (var$4 >= 1)
            $stringIndex = $stringIndex + var$4 | 0;
    }
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_PossessiveCompositeQuantifierSet() {
    jur_CompositeQuantifierSet.call(this);
}
function jur_PossessiveCompositeQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $min, $max, $i, $shift, $shift_0;
    $min = $this.$quantifier.$min1;
    $max = $this.$quantifier.$max0;
    $i = 0;
    while (true) {
        if ($i >= $min) {
            a: {
                while (true) {
                    if ($i >= $max)
                        break a;
                    if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0)
                        break a;
                    $shift = $this.$leaf.$accepts($stringIndex, $testString);
                    if ($shift < 1)
                        break;
                    $stringIndex = $stringIndex + $shift | 0;
                    $i = $i + 1 | 0;
                }
            }
            return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
        }
        if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0) {
            $matchResult.$hitEnd = 1;
            return (-1);
        }
        $shift_0 = $this.$leaf.$accepts($stringIndex, $testString);
        if ($shift_0 < 1)
            break;
        $stringIndex = $stringIndex + $shift_0 | 0;
        $i = $i + 1 | 0;
    }
    return (-1);
}
function jur_ReluctantQuantifierSet() {
    jur_LeafQuantifierSet.call(this);
}
function jur_ReluctantQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var var$4;
    while (true) {
        var$4 = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
        if (var$4 >= 0)
            break;
        if (($stringIndex + $this.$leaf.$charCount0() | 0) <= $matchResult.$rightBound0) {
            var$4 = $this.$leaf.$accepts($stringIndex, $testString);
            $stringIndex = $stringIndex + var$4 | 0;
        }
        if (var$4 < 1)
            return (-1);
    }
    return var$4;
}
function jur_ReluctantAltQuantifierSet() {
    jur_AltQuantifierSet.call(this);
}
function jur_ReluctantAltQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $shift;
    $shift = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
    if ($shift >= 0)
        return $shift;
    return $this.$innerSet.$matches0($stringIndex, $testString, $matchResult);
}
function jur_ReluctantCompositeQuantifierSet() {
    jur_CompositeQuantifierSet.call(this);
}
function jur_ReluctantCompositeQuantifierSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $min, $max, $i, var$7, var$8;
    $min = $this.$quantifier.$min1;
    $max = $this.$quantifier.$max0;
    $i = 0;
    while (true) {
        if ($i >= $min) {
            a: {
                while (true) {
                    var$7 = $this.$next4.$matches0($stringIndex, $testString, $matchResult);
                    if (var$7 >= 0)
                        break;
                    if (($stringIndex + $this.$leaf.$charCount0() | 0) <= $matchResult.$rightBound0) {
                        var$7 = $this.$leaf.$accepts($stringIndex, $testString);
                        $stringIndex = $stringIndex + var$7 | 0;
                        $i = $i + 1 | 0;
                    }
                    if (var$7 < 1)
                        break a;
                    if ($i > $max)
                        break a;
                }
                return var$7;
            }
            return (-1);
        }
        if (($stringIndex + $this.$leaf.$charCount0() | 0) > $matchResult.$rightBound0) {
            $matchResult.$hitEnd = 1;
            return (-1);
        }
        var$8 = $this.$leaf.$accepts($stringIndex, $testString);
        if (var$8 < 1)
            break;
        $stringIndex = $stringIndex + var$8 | 0;
        $i = $i + 1 | 0;
    }
    return (-1);
}
function jur_SOLSet() {
    jur_AbstractSet.call(this);
}
function jur_SOLSet__init_0() {
    var var_0 = new jur_SOLSet();
    jur_SOLSet__init_(var_0);
    return var_0;
}
function jur_SOLSet__init_($this) {
    jur_AbstractSet__init_($this);
}
function jur_SOLSet_matches($this, $strIndex, $testString, $matchResult) {
    if ($strIndex && !($matchResult.$anchoringBounds && $strIndex == $matchResult.$leftBound0))
        return (-1);
    return $this.$next4.$matches0($strIndex, $testString, $matchResult);
}
function jur_SOLSet_hasConsumed($this, $matchResult) {
    return 0;
}
function jur_SOLSet_getName($this) {
    return $rt_s(636);
}
function jur_WordBoundary() {
    jur_AbstractSet.call(this);
    this.$positive = 0;
}
function jur_WordBoundary__init_(var_0) {
    var var_1 = new jur_WordBoundary();
    jur_WordBoundary__init_0(var_1, var_0);
    return var_1;
}
function jur_WordBoundary__init_0($this, $positive) {
    jur_AbstractSet__init_($this);
    $this.$positive = $positive;
}
function jur_WordBoundary_matches($this, $stringIndex, $testString, $matchResult) {
    var $ch1, $ch2, $leftBound;
    $ch1 = $stringIndex < $matchResult.$rightBound0 ? jl_String_charAt($testString, $stringIndex) : 32;
    $ch2 = !$stringIndex ? 32 : jl_String_charAt($testString, $stringIndex - 1 | 0);
    $leftBound = $matchResult.$transparentBounds ? 0 : $matchResult.$leftBound0;
    return ($ch1 != 32 && !jur_WordBoundary_isSpace($this, $ch1, $stringIndex, $leftBound, $testString) ? 0 : 1) ^ ($ch2 != 32 && !jur_WordBoundary_isSpace($this, $ch2, $stringIndex - 1 | 0, $leftBound, $testString) ? 0 : 1) ^ $this.$positive ? (-1) : $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_WordBoundary_hasConsumed($this, $matchResult) {
    return 0;
}
function jur_WordBoundary_getName($this) {
    return $rt_s(637);
}
function jur_WordBoundary_isSpace($this, $ch, $index, $leftBound, $testString) {
    var var$5;
    if (!jl_Character_isLetterOrDigit($ch) && $ch != 95) {
        a: {
            if (jl_Character_getType($ch) == 6)
                while (true) {
                    $index = $index + (-1) | 0;
                    if ($index < $leftBound)
                        break a;
                    var$5 = jl_String_charAt($testString, $index);
                    if (jl_Character_isLetterOrDigit(var$5))
                        return 0;
                    if (jl_Character_getType(var$5) != 6)
                        return 1;
                }
        }
        return 1;
    }
    return 0;
}
function jur_PreviousMatch() {
    jur_AbstractSet.call(this);
}
function jur_PreviousMatch__init_0() {
    var var_0 = new jur_PreviousMatch();
    jur_PreviousMatch__init_(var_0);
    return var_0;
}
function jur_PreviousMatch__init_($this) {
    jur_AbstractSet__init_($this);
}
function jur_PreviousMatch_matches($this, $stringIndex, $testString, $matchResult) {
    if ($stringIndex != $matchResult.$previousMatch)
        return (-1);
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_PreviousMatch_hasConsumed($this, $matchResult) {
    return 0;
}
function jur_PreviousMatch_getName($this) {
    return $rt_s(638);
}
function jur_EOLSet() {
    jur_AbstractSet.call(this);
    this.$consCounter = 0;
}
function jur_EOLSet__init_0(var_0) {
    var var_1 = new jur_EOLSet();
    jur_EOLSet__init_(var_1, var_0);
    return var_1;
}
function jur_EOLSet__init_($this, $counter) {
    jur_AbstractSet__init_($this);
    $this.$consCounter = $counter;
}
function jur_EOLSet_matches($this, $strIndex, $testString, $matchResult) {
    var $rightBound, var$5, $ch;
    $rightBound = !$matchResult.$anchoringBounds ? jl_String_length($testString) : $matchResult.$rightBound0;
    if ($strIndex >= $rightBound) {
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter, 0);
        return $this.$next4.$matches0($strIndex, $testString, $matchResult);
    }
    var$5 = $rightBound - $strIndex | 0;
    if (var$5 == 2 && jl_String_charAt($testString, $strIndex) == 13 && jl_String_charAt($testString, $strIndex + 1 | 0) == 10) {
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter, 0);
        return $this.$next4.$matches0($strIndex, $testString, $matchResult);
    }
    a: {
        if (var$5 == 1) {
            $ch = jl_String_charAt($testString, $strIndex);
            if ($ch == 10)
                break a;
            if ($ch == 13)
                break a;
            if ($ch == 133)
                break a;
            if (($ch | 1) == 8233)
                break a;
        }
        return (-1);
    }
    jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter, 0);
    return $this.$next4.$matches0($strIndex, $testString, $matchResult);
}
function jur_EOLSet_hasConsumed($this, $matchResult) {
    var $res;
    $res = !jur_MatchResultImpl_getConsumed($matchResult, $this.$consCounter) ? 0 : 1;
    jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter, (-1));
    return $res;
}
function jur_EOLSet_getName($this) {
    return $rt_s(639);
}
function jur_EOISet() {
    jur_AbstractSet.call(this);
}
function jur_EOISet__init_0() {
    var var_0 = new jur_EOISet();
    jur_EOISet__init_(var_0);
    return var_0;
}
function jur_EOISet__init_($this) {
    jur_AbstractSet__init_($this);
}
function jur_EOISet_matches($this, $stringIndex, $testString, $matchResult) {
    if ($stringIndex < ($matchResult.$transparentBounds ? jl_String_length($testString) : $matchResult.$rightBound0))
        return (-1);
    $matchResult.$hitEnd = 1;
    $matchResult.$requireEnd = 1;
    return $this.$next4.$matches0($stringIndex, $testString, $matchResult);
}
function jur_EOISet_hasConsumed($this, $matchResult) {
    return 0;
}
function jur_EOISet_getName($this) {
    return $rt_s(640);
}
function jur_MultiLineSOLSet() {
    jur_AbstractSet.call(this);
    this.$lt0 = null;
}
function jur_MultiLineSOLSet__init_(var_0) {
    var var_1 = new jur_MultiLineSOLSet();
    jur_MultiLineSOLSet__init_0(var_1, var_0);
    return var_1;
}
function jur_MultiLineSOLSet__init_0($this, $lt) {
    jur_AbstractSet__init_($this);
    $this.$lt0 = $lt;
}
function jur_MultiLineSOLSet_matches($this, $strIndex, $testString, $matchResult) {
    a: {
        if ($strIndex != $matchResult.$rightBound0) {
            if (!$strIndex)
                break a;
            if ($matchResult.$anchoringBounds && $strIndex == $matchResult.$leftBound0)
                break a;
            if ($this.$lt0.$isAfterLineTerminator(jl_String_charAt($testString, $strIndex - 1 | 0), jl_String_charAt($testString, $strIndex)))
                break a;
        }
        return (-1);
    }
    return $this.$next4.$matches0($strIndex, $testString, $matchResult);
}
function jur_MultiLineSOLSet_hasConsumed($this, $matchResult) {
    return 0;
}
function jur_MultiLineSOLSet_getName($this) {
    return $rt_s(641);
}
function jur_DotAllSet() {
    jur_JointSet.call(this);
}
function jur_DotAllSet__init_0() {
    var var_0 = new jur_DotAllSet();
    jur_DotAllSet__init_(var_0);
    return var_0;
}
function jur_DotAllSet__init_($this) {
    jur_AbstractSet__init_($this);
}
function jur_DotAllSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $strLength, var$5, $high, var$7;
    $strLength = $matchResult.$rightBound0;
    var$5 = $stringIndex + 1 | 0;
    if (var$5 > $strLength) {
        $matchResult.$hitEnd = 1;
        return (-1);
    }
    $high = jl_String_charAt($testString, $stringIndex);
    if (jl_Character_isHighSurrogate($high)) {
        var$7 = $stringIndex + 2 | 0;
        if (var$7 <= $strLength && jl_Character_isSurrogatePair($high, jl_String_charAt($testString, var$5)))
            return $this.$next4.$matches0(var$7, $testString, $matchResult);
    }
    return $this.$next4.$matches0(var$5, $testString, $matchResult);
}
function jur_DotAllSet_getName($this) {
    return $rt_s(642);
}
function jur_DotAllSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_DotAllSet_getType($this) {
    return (-2147483602);
}
function jur_DotAllSet_hasConsumed($this, $matchResult) {
    return 1;
}
function jur_DotSet() {
    jur_JointSet.call(this);
    this.$lt1 = null;
}
function jur_DotSet__init_(var_0) {
    var var_1 = new jur_DotSet();
    jur_DotSet__init_0(var_1, var_0);
    return var_1;
}
function jur_DotSet__init_0($this, $lt) {
    jur_AbstractSet__init_($this);
    $this.$lt1 = $lt;
}
function jur_DotSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $strLength, var$5, $high, $low;
    $strLength = $matchResult.$rightBound0;
    var$5 = $stringIndex + 1 | 0;
    if (var$5 > $strLength) {
        $matchResult.$hitEnd = 1;
        return (-1);
    }
    $high = jl_String_charAt($testString, $stringIndex);
    if (jl_Character_isHighSurrogate($high)) {
        $stringIndex = $stringIndex + 2 | 0;
        if ($stringIndex <= $strLength) {
            $low = jl_String_charAt($testString, var$5);
            if (jl_Character_isSurrogatePair($high, $low))
                return $this.$lt1.$isLineTerminator(jl_Character_toCodePoint($high, $low)) ? (-1) : $this.$next4.$matches0($stringIndex, $testString, $matchResult);
        }
    }
    return $this.$lt1.$isLineTerminator($high) ? (-1) : $this.$next4.$matches0(var$5, $testString, $matchResult);
}
function jur_DotSet_getName($this) {
    return $rt_s(339);
}
function jur_DotSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_DotSet_getType($this) {
    return (-2147483602);
}
function jur_DotSet_hasConsumed($this, $matchResult) {
    return 1;
}
function jur_UEOLSet() {
    jur_AbstractSet.call(this);
    this.$consCounter0 = 0;
}
function jur_UEOLSet__init_(var_0) {
    var var_1 = new jur_UEOLSet();
    jur_UEOLSet__init_0(var_1, var_0);
    return var_1;
}
function jur_UEOLSet__init_0($this, $counter) {
    jur_AbstractSet__init_($this);
    $this.$consCounter0 = $counter;
}
function jur_UEOLSet_matches($this, $strIndex, $testString, $matchResult) {
    var $rightBound;
    $rightBound = !$matchResult.$anchoringBounds ? jl_String_length($testString) : $matchResult.$rightBound0;
    if ($strIndex >= $rightBound) {
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter0, 0);
        return $this.$next4.$matches0($strIndex, $testString, $matchResult);
    }
    if (($rightBound - $strIndex | 0) == 1 && jl_String_charAt($testString, $strIndex) == 10) {
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter0, 1);
        return $this.$next4.$matches0($strIndex + 1 | 0, $testString, $matchResult);
    }
    return (-1);
}
function jur_UEOLSet_hasConsumed($this, $matchResult) {
    var $res;
    $res = !jur_MatchResultImpl_getConsumed($matchResult, $this.$consCounter0) ? 0 : 1;
    jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter0, (-1));
    return $res;
}
function jur_UEOLSet_getName($this) {
    return $rt_s(639);
}
function jur_UMultiLineEOLSet() {
    jur_AbstractSet.call(this);
    this.$consCounter1 = 0;
}
function jur_UMultiLineEOLSet__init_(var_0) {
    var var_1 = new jur_UMultiLineEOLSet();
    jur_UMultiLineEOLSet__init_0(var_1, var_0);
    return var_1;
}
function jur_UMultiLineEOLSet__init_0($this, $counter) {
    jur_AbstractSet__init_($this);
    $this.$consCounter1 = $counter;
}
function jur_UMultiLineEOLSet_matches($this, $strIndex, $testString, $matchResult) {
    if ((!$matchResult.$anchoringBounds ? jl_String_length($testString) - $strIndex | 0 : $matchResult.$rightBound0 - $strIndex | 0) <= 0) {
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter1, 0);
        return $this.$next4.$matches0($strIndex, $testString, $matchResult);
    }
    if (jl_String_charAt($testString, $strIndex) != 10)
        return (-1);
    jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter1, 1);
    return $this.$next4.$matches0($strIndex + 1 | 0, $testString, $matchResult);
}
function jur_UMultiLineEOLSet_hasConsumed($this, $matchResult) {
    var $res;
    $res = !jur_MatchResultImpl_getConsumed($matchResult, $this.$consCounter1) ? 0 : 1;
    jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter1, (-1));
    return $res;
}
function jur_UMultiLineEOLSet_getName($this) {
    return $rt_s(643);
}
function jur_MultiLineEOLSet() {
    jur_AbstractSet.call(this);
    this.$consCounter2 = 0;
}
function jur_MultiLineEOLSet__init_(var_0) {
    var var_1 = new jur_MultiLineEOLSet();
    jur_MultiLineEOLSet__init_0(var_1, var_0);
    return var_1;
}
function jur_MultiLineEOLSet__init_0($this, $counter) {
    jur_AbstractSet__init_($this);
    $this.$consCounter2 = $counter;
}
function jur_MultiLineEOLSet_matches($this, $strIndex, $testString, $matchResult) {
    var $strDif, $ch1, $ch2;
    $strDif = !$matchResult.$anchoringBounds ? jl_String_length($testString) - $strIndex | 0 : $matchResult.$leftBound0 - $strIndex | 0;
    if (!$strDif) {
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter2, 0);
        return $this.$next4.$matches0($strIndex, $testString, $matchResult);
    }
    if ($strDif < 2) {
        $ch1 = jl_String_charAt($testString, $strIndex);
        $ch2 = 97;
    } else {
        $ch1 = jl_String_charAt($testString, $strIndex);
        $ch2 = jl_String_charAt($testString, $strIndex + 1 | 0);
    }
    switch ($ch1) {
        case 10:
        case 133:
        case 8232:
        case 8233:
            jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter2, 0);
            return $this.$next4.$matches0($strIndex, $testString, $matchResult);
        case 13:
            if ($ch2 != 10) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter2, 0);
                return $this.$next4.$matches0($strIndex, $testString, $matchResult);
            }
            jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter2, 0);
            return $this.$next4.$matches0($strIndex, $testString, $matchResult);
        default:
    }
    return (-1);
}
function jur_MultiLineEOLSet_hasConsumed($this, $matchResult) {
    var $res;
    $res = !jur_MatchResultImpl_getConsumed($matchResult, $this.$consCounter2) ? 0 : 1;
    jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter2, (-1));
    return $res;
}
function jur_MultiLineEOLSet_getName($this) {
    return $rt_s(644);
}
function jur_CIBackReferenceSet() {
    var a = this; jur_JointSet.call(a);
    a.$referencedGroup = 0;
    a.$consCounter3 = 0;
}
function jur_CIBackReferenceSet__init_(var_0, var_1) {
    var var_2 = new jur_CIBackReferenceSet();
    jur_CIBackReferenceSet__init_0(var_2, var_0, var_1);
    return var_2;
}
function jur_CIBackReferenceSet__init_0($this, $groupIndex, $consCounter) {
    jur_AbstractSet__init_($this);
    $this.$referencedGroup = $groupIndex;
    $this.$consCounter3 = $consCounter;
}
function jur_CIBackReferenceSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $group, $i, var$6, var$7;
    $group = jur_CIBackReferenceSet_getString($this, $matchResult);
    if ($group !== null && ($stringIndex + jl_String_length($group) | 0) <= $matchResult.$rightBound0) {
        $i = 0;
        while (true) {
            if ($i >= jl_String_length($group)) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter3, jl_String_length($group));
                return $this.$next4.$matches0($stringIndex + jl_String_length($group) | 0, $testString, $matchResult);
            }
            var$6 = jl_String_charAt($group, $i);
            var$7 = $stringIndex + $i | 0;
            if (var$6 != jl_String_charAt($testString, var$7) && jur_Pattern_getSupplement(jl_String_charAt($group, $i)) != jl_String_charAt($testString, var$7))
                break;
            $i = $i + 1 | 0;
        }
        return (-1);
    }
    return (-1);
}
function jur_CIBackReferenceSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_CIBackReferenceSet_getString($this, $matchResult) {
    return jur_MatchResultImpl_getGroupNoCheck($matchResult, $this.$referencedGroup);
}
function jur_CIBackReferenceSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(645));
    jl_AbstractStringBuilder_append2(var$1, $this.$groupIndex0);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_CIBackReferenceSet_hasConsumed($this, $matchResult) {
    var $res;
    $res = !jur_MatchResultImpl_getConsumed($matchResult, $this.$consCounter3) ? 0 : 1;
    jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter3, (-1));
    return $res;
}
function jur_BackReferenceSet() {
    jur_CIBackReferenceSet.call(this);
}
function jur_BackReferenceSet__init_(var_0, var_1) {
    var var_2 = new jur_BackReferenceSet();
    jur_BackReferenceSet__init_0(var_2, var_0, var_1);
    return var_2;
}
function jur_BackReferenceSet__init_0($this, $groupIndex, $consCounter) {
    jur_CIBackReferenceSet__init_0($this, $groupIndex, $consCounter);
}
function jur_BackReferenceSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $group, $shift;
    $group = jur_CIBackReferenceSet_getString($this, $matchResult);
    if ($group !== null && ($stringIndex + jl_String_length($group) | 0) <= $matchResult.$rightBound0) {
        $shift = !jl_String_startsWith($testString, $group, $stringIndex) ? (-1) : jl_String_length($group);
        if ($shift < 0)
            return (-1);
        jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter3, $shift);
        return $this.$next4.$matches0($stringIndex + $shift | 0, $testString, $matchResult);
    }
    return (-1);
}
function jur_BackReferenceSet_find($this, $strIndex, $testString, $matchResult) {
    var $group, $strLength, $testStr;
    $group = jur_CIBackReferenceSet_getString($this, $matchResult);
    $strLength = $matchResult.$leftBound0;
    if ($group !== null && ($strIndex + jl_String_length($group) | 0) <= $strLength) {
        $testStr = $testString;
        while (true) {
            if ($strIndex > $strLength)
                return (-1);
            $strIndex = jl_String_indexOf1($testStr, $group, $strIndex);
            if ($strIndex < 0)
                return (-1);
            if ($this.$next4.$matches0($strIndex + jl_String_length($group) | 0, $testString, $matchResult) >= 0)
                break;
            $strIndex = $strIndex + 1 | 0;
        }
        return $strIndex;
    }
    return (-1);
}
function jur_BackReferenceSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult) {
    var $group, $testStr, var$7;
    $group = jur_CIBackReferenceSet_getString($this, $matchResult);
    if ($group === null)
        return (-1);
    $testStr = $testString;
    a: {
        while (true) {
            if ($lastIndex < $strIndex)
                return (-1);
            var$7 = jl_String_lastIndexOf1($testStr, $group, $lastIndex);
            if (var$7 < 0)
                break a;
            if (var$7 < $strIndex)
                break a;
            if ($this.$next4.$matches0(var$7 + jl_String_length($group) | 0, $testString, $matchResult) >= 0)
                break;
            $lastIndex = var$7 + (-1) | 0;
        }
        return var$7;
    }
    return (-1);
}
function jur_BackReferenceSet_first($this, $set) {
    return 1;
}
function jur_BackReferenceSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(646));
    jl_AbstractStringBuilder_append2(var$1, $this.$groupIndex0);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_UCIBackReferenceSet() {
    jur_CIBackReferenceSet.call(this);
    this.$groupIndex1 = 0;
}
function jur_UCIBackReferenceSet__init_(var_0, var_1) {
    var var_2 = new jur_UCIBackReferenceSet();
    jur_UCIBackReferenceSet__init_0(var_2, var_0, var_1);
    return var_2;
}
function jur_UCIBackReferenceSet__init_0($this, $groupIndex, $consCounter) {
    jur_CIBackReferenceSet__init_0($this, $groupIndex, $consCounter);
}
function jur_UCIBackReferenceSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $group, $i;
    $group = jur_CIBackReferenceSet_getString($this, $matchResult);
    if ($group !== null && ($stringIndex + jl_String_length($group) | 0) <= $matchResult.$rightBound0) {
        $i = 0;
        while (true) {
            if ($i >= jl_String_length($group)) {
                jur_MatchResultImpl_setConsumed($matchResult, $this.$consCounter3, jl_String_length($group));
                return $this.$next4.$matches0($stringIndex + jl_String_length($group) | 0, $testString, $matchResult);
            }
            if (jl_Character_toLowerCase(jl_Character_toUpperCase0(jl_String_charAt($group, $i))) != jl_Character_toLowerCase(jl_Character_toUpperCase0(jl_String_charAt($testString, $stringIndex + $i | 0))))
                break;
            $i = $i + 1 | 0;
        }
        return (-1);
    }
    return (-1);
}
function jur_UCIBackReferenceSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(647));
    jl_AbstractStringBuilder_append2(var$1, $this.$groupIndex1);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jl_StringBuffer() {
    jl_AbstractStringBuilder.call(this);
}
function jl_StringBuffer__init_0() {
    var var_0 = new jl_StringBuffer();
    jl_StringBuffer__init_(var_0);
    return var_0;
}
function jl_StringBuffer__init_($this) {
    jl_AbstractStringBuilder__init_($this);
}
function jl_StringBuffer_append($this, $string) {
    jl_AbstractStringBuilder_append($this, $string);
    return $this;
}
function jl_StringBuffer_append0($this, $value) {
    jl_AbstractStringBuilder_append2($this, $value);
    return $this;
}
function jl_StringBuffer_append1($this, $c) {
    jl_AbstractStringBuilder_append0($this, $c);
    return $this;
}
function jl_StringBuffer_append2($this, $chars, $offset, $len) {
    jl_AbstractStringBuilder_append6($this, $chars, $offset, $len);
    return $this;
}
function jl_StringBuffer_append3($this, $chars) {
    jl_AbstractStringBuilder_append7($this, $chars);
    return $this;
}
function jl_StringBuffer_append4($this, $s, $start, $end) {
    jl_AbstractStringBuilder_append4($this, $s, $start, $end);
    return $this;
}
function jl_StringBuffer_append5($this, $s) {
    jl_AbstractStringBuilder_append5($this, $s);
    return $this;
}
function jl_StringBuffer_append6($this, $obj) {
    jl_AbstractStringBuilder_append1($this, $obj);
    return $this;
}
function jl_StringBuffer_insert($this, $index, $s, $start, $end) {
    jl_AbstractStringBuilder_insert6($this, $index, $s, $start, $end);
    return $this;
}
function jl_StringBuffer_insert0($this, $index, $chars, $offset, $len) {
    jl_AbstractStringBuilder_insert7($this, $index, $chars, $offset, $len);
    return $this;
}
function jl_StringBuffer_insert1($this, $index, $obj) {
    jl_AbstractStringBuilder_insert5($this, $index, $obj);
    return $this;
}
function jl_StringBuffer_insert2($this, $index, $c) {
    jl_AbstractStringBuilder_insert4($this, $index, $c);
    return $this;
}
function jl_StringBuffer_insert3($this, $index, $string) {
    jl_AbstractStringBuilder_insert($this, $index, $string);
    return $this;
}
function jl_StringBuffer_setLength($this, var$1) {
    $this.$length0 = var$1;
}
function jl_StringBuffer_insert4($this, var$1, var$2, var$3, var$4) {
    jl_AbstractStringBuilder_insert7($this, var$1, var$2, var$3, var$4);
    return $this;
}
function jl_StringBuffer_append7($this, var$1, var$2, var$3) {
    jl_AbstractStringBuilder_append6($this, var$1, var$2, var$3);
    return $this;
}
function jl_StringBuffer_insert5($this, var$1, var$2, var$3, var$4) {
    jl_AbstractStringBuilder_insert6($this, var$1, var$2, var$3, var$4);
    return $this;
}
function jl_StringBuffer_append8($this, var$1, var$2, var$3) {
    jl_AbstractStringBuilder_append4($this, var$1, var$2, var$3);
    return $this;
}
function jl_StringBuffer_charAt($this, var$1) {
    return jl_AbstractStringBuilder_charAt($this, var$1);
}
function jl_StringBuffer_length($this) {
    return $this.$length0;
}
function jl_StringBuffer_toString($this) {
    return jl_AbstractStringBuilder_toString($this);
}
function jl_StringBuffer_ensureCapacity($this, var$1) {
    jl_AbstractStringBuilder_ensureCapacity($this, var$1);
}
function jl_StringBuffer_insert6($this, var$1, var$2) {
    jl_AbstractStringBuilder_insert5($this, var$1, var$2);
    return $this;
}
function jl_StringBuffer_insert7($this, var$1, var$2) {
    jl_AbstractStringBuilder_insert4($this, var$1, var$2);
    return $this;
}
function jl_StringBuffer_insert8($this, var$1, var$2) {
    jl_AbstractStringBuilder_insert($this, var$1, var$2);
    return $this;
}
function jur_SequenceSet() {
    var a = this; jur_LeafSet.call(a);
    a.$string1 = null;
    a.$leftToRight = null;
    a.$rightToLeft = null;
}
function jur_SequenceSet__init_(var_0) {
    var var_1 = new jur_SequenceSet();
    jur_SequenceSet__init_0(var_1, var_0);
    return var_1;
}
function jur_SequenceSet__init_0($this, $substring) {
    var $j;
    jur_LeafSet__init_($this);
    $this.$string1 = jl_AbstractStringBuilder_toString($substring);
    $this.$charCount = jl_StringBuffer_length($substring);
    $this.$leftToRight = jur_SequenceSet$IntHash__init_($this.$charCount);
    $this.$rightToLeft = jur_SequenceSet$IntHash__init_($this.$charCount);
    $j = 0;
    while ($j < ($this.$charCount - 1 | 0)) {
        jur_SequenceSet$IntHash_put($this.$leftToRight, jl_String_charAt($this.$string1, $j), ($this.$charCount - $j | 0) - 1 | 0);
        jur_SequenceSet$IntHash_put($this.$rightToLeft, jl_String_charAt($this.$string1, ($this.$charCount - $j | 0) - 1 | 0), ($this.$charCount - $j | 0) - 1 | 0);
        $j = $j + 1 | 0;
    }
}
function jur_SequenceSet_accepts($this, $strIndex, $testString) {
    return !jur_SequenceSet_startsWith($this, $testString, $strIndex) ? (-1) : $this.$charCount;
}
function jur_SequenceSet_find($this, $strIndex, $testString, $matchResult) {
    var $strLength, var$5;
    $strLength = $matchResult.$rightBound0;
    while (true) {
        if ($strIndex > $strLength)
            return (-1);
        var$5 = jur_SequenceSet_indexOf($this, $testString, $strIndex, $strLength);
        if (var$5 < 0)
            return (-1);
        if ($this.$next4.$matches0(var$5 + $this.$charCount | 0, $testString, $matchResult) >= 0)
            break;
        $strIndex = var$5 + 1 | 0;
    }
    return var$5;
}
function jur_SequenceSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult) {
    while (true) {
        if ($lastIndex < $strIndex)
            return (-1);
        $lastIndex = jur_SequenceSet_lastIndexOf($this, $testString, $strIndex, $lastIndex);
        if ($lastIndex < 0)
            return (-1);
        if ($this.$next4.$matches0($lastIndex + $this.$charCount | 0, $testString, $matchResult) >= 0)
            break;
        $lastIndex = $lastIndex + (-1) | 0;
    }
    return $lastIndex;
}
function jur_SequenceSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(648));
    jl_AbstractStringBuilder_append(var$1, $this.$string1);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_SequenceSet_first($this, $set) {
    var var$2;
    if ($set instanceof jur_CharSet)
        return $set.$ch2 != jl_String_charAt($this.$string1, 0) ? 0 : 1;
    if ($set instanceof jur_RangeSet)
        return jur_RangeSet_accepts($set, 0, jl_String_substring0($this.$string1, 0, 1)) <= 0 ? 0 : 1;
    if (!($set instanceof jur_SupplRangeSet)) {
        if (!($set instanceof jur_SupplCharSet))
            return 1;
        return jl_String_length($this.$string1) > 1 && $set.$ch1 == jl_Character_toCodePoint(jl_String_charAt($this.$string1, 0), jl_String_charAt($this.$string1, 1)) ? 1 : 0;
    }
    a: {
        b: {
            $set = $set;
            if (!$set.$contains1(jl_String_charAt($this.$string1, 0))) {
                if (jl_String_length($this.$string1) <= 1)
                    break b;
                if (!$set.$contains1(jl_Character_toCodePoint(jl_String_charAt($this.$string1, 0), jl_String_charAt($this.$string1, 1))))
                    break b;
            }
            var$2 = 1;
            break a;
        }
        var$2 = 0;
    }
    return var$2;
}
function jur_SequenceSet_indexOf($this, $str, $i, $to) {
    var $last, $ch;
    $last = jl_String_charAt($this.$string1, $this.$charCount - 1 | 0);
    while (true) {
        if ($i > ($to - $this.$charCount | 0))
            return (-1);
        $ch = jl_String_charAt($str, ($i + $this.$charCount | 0) - 1 | 0);
        if ($ch == $last && jur_SequenceSet_startsWith($this, $str, $i))
            break;
        $i = $i + jur_SequenceSet$IntHash_get($this.$leftToRight, $ch) | 0;
    }
    return $i;
}
function jur_SequenceSet_lastIndexOf($this, $str, $to, $i) {
    var $first, $delta, $ch;
    $first = jl_String_charAt($this.$string1, 0);
    $delta = (jl_String_length($str) - $i | 0) - $this.$charCount | 0;
    if ($delta <= 0)
        $i = $i + $delta | 0;
    while (true) {
        if ($i < $to)
            return (-1);
        $ch = jl_String_charAt($str, $i);
        if ($ch == $first && jur_SequenceSet_startsWith($this, $str, $i))
            break;
        $i = $i - jur_SequenceSet$IntHash_get($this.$rightToLeft, $ch) | 0;
    }
    return $i;
}
function jur_SequenceSet_startsWith($this, $str, $from) {
    var $i;
    $i = 0;
    while ($i < $this.$charCount) {
        if (jl_String_charAt($str, $i + $from | 0) != jl_String_charAt($this.$string1, $i))
            return 0;
        $i = $i + 1 | 0;
    }
    return 1;
}
function jur_UCISequenceSet() {
    jur_LeafSet.call(this);
    this.$string2 = null;
}
function jur_UCISequenceSet__init_(var_0) {
    var var_1 = new jur_UCISequenceSet();
    jur_UCISequenceSet__init_0(var_1, var_0);
    return var_1;
}
function jur_UCISequenceSet__init_0($this, $substring) {
    var $res, $i;
    jur_LeafSet__init_($this);
    $res = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($res);
    $i = 0;
    while ($i < jl_StringBuffer_length($substring)) {
        jl_AbstractStringBuilder_append0($res, jl_Character_toLowerCase(jl_Character_toUpperCase0(jl_AbstractStringBuilder_charAt($substring, $i))));
        $i = $i + 1 | 0;
    }
    $this.$string2 = jl_AbstractStringBuilder_toString($res);
    $this.$charCount = jl_StringBuilder_length($res);
}
function jur_UCISequenceSet_accepts($this, $strIndex, $testString) {
    var $i;
    $i = 0;
    while (true) {
        if ($i >= jl_String_length($this.$string2))
            return jl_String_length($this.$string2);
        if (jl_String_charAt($this.$string2, $i) != jl_Character_toLowerCase(jl_Character_toUpperCase0(jl_String_charAt($testString, $strIndex + $i | 0))))
            break;
        $i = $i + 1 | 0;
    }
    return (-1);
}
function jur_UCISequenceSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(649));
    jl_AbstractStringBuilder_append(var$1, $this.$string2);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_CISequenceSet() {
    jur_LeafSet.call(this);
    this.$string0 = null;
}
function jur_CISequenceSet_accepts($this, $strIndex, $testString) {
    var $i, var$4, var$5;
    $i = 0;
    while (true) {
        if ($i >= jl_String_length($this.$string0))
            return jl_String_length($this.$string0);
        var$4 = jl_String_charAt($this.$string0, $i);
        var$5 = $strIndex + $i | 0;
        if (var$4 != jl_String_charAt($testString, var$5) && jur_Pattern_getSupplement(jl_String_charAt($this.$string0, $i)) != jl_String_charAt($testString, var$5))
            break;
        $i = $i + 1 | 0;
    }
    return (-1);
}
function jur_CISequenceSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(650));
    jl_AbstractStringBuilder_append(var$1, $this.$string0);
    return jl_AbstractStringBuilder_toString(var$1);
}
function otcit_DateTimeZoneProvider() {
    jl_Object.call(this);
}
var otcit_DateTimeZoneProvider_cache = null;
var otcit_DateTimeZoneProvider_$$metadata$$0 = null;
function otcit_DateTimeZoneProvider__init_0() {
    var var_0 = new otcit_DateTimeZoneProvider();
    otcit_DateTimeZoneProvider__init_(var_0);
    return var_0;
}
function otcit_DateTimeZoneProvider__init_($this) {
    return;
}
function otcit_DateTimeZoneProvider_getTimeZone($id) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
    if (!ju_HashMap_containsKey(otcit_DateTimeZoneProvider_cache, $id)) {
        var$2 = otcit_DateTimeZoneProvider_cache;
        var$3 = jl_String_indexOf0($id, 47);
        if (var$3 < 0) {
            var$4 = $rt_s(36);
            var$5 = $id;
        } else {
            var$4 = jl_String_substring0($id, 0, var$3);
            var$5 = jl_String_substring($id, var$3 + 1 | 0);
        }
        if (!otcit_DateTimeZoneProvider_getResource().hasOwnProperty($rt_ustr(var$4)))
            var$4 = null;
        else {
            var$4 = otcit_DateTimeZoneProvider_getResource()[$rt_ustr(var$4)];
            var$4 = !var$4.hasOwnProperty($rt_ustr(var$5)) ? null : var$4[$rt_ustr(var$5)];
        }
        if (var$4 === null)
            var$4 = null;
        else {
            var$4 = (var$4.data !== null ? $rt_str(var$4.data) : null);
            var$5 = otci_CharFlow__init_(jl_String_toCharArray(var$4));
            if (otci_Base46_decodeUnsigned(var$5) == 4) {
                var$5 = jl_String_substring(var$4, var$5.$pointer);
                var$4 = new otcit_AliasDateTimeZone;
                var$5 = otcit_DateTimeZoneProvider_getTimeZone(var$5);
                otcit_StorableDateTimeZone__init_(var$4, $id);
                var$4.$innerZone = var$5;
            } else
                a: {
                    b: {
                        var$5 = otci_CharFlow__init_(jl_String_toCharArray(var$4));
                        var$3 = otci_Base46_decodeUnsigned(var$5);
                        switch (var$3) {
                            case 0:
                                var$6 = otci_Base46_decodeUnsigned(var$5);
                                var$7 = $rt_createLongArray(var$6);
                                var$8 = var$7.data;
                                var$9 = $rt_createIntArray(var$6);
                                var$10 = $rt_createIntArray(var$6);
                                var$8[0] = otcit_StorableDateTimeZone_readTime(var$5);
                                var$3 = 1;
                                while (var$3 < var$6) {
                                    var$8[var$3] = Long_add(Long_add(var$8[var$3 - 1 | 0], otcit_StorableDateTimeZone_readTime(var$5)), Long_fromInt(657000000));
                                    var$3 = var$3 + 1 | 0;
                                }
                                otcit_StorableDateTimeZone_readTimeArray(var$5, var$9);
                                otcit_StorableDateTimeZone_readTimeArray(var$5, var$10);
                                var$8 = var$5.$characters0.data;
                                var$3 = var$5.$pointer;
                                var$5.$pointer = var$3 + 1 | 0;
                                if (var$8[var$3] != 121)
                                    var$5 = null;
                                else {
                                    var$5.$pointer = var$5.$pointer + 1 | 0;
                                    var$5 = otcit_DateTimeZoneBuilder$DSTZone_readZone($id, var$5);
                                }
                                var$4 = new otcit_DateTimeZoneBuilder$PrecalculatedZone;
                                otcit_StorableDateTimeZone__init_(var$4, $id);
                                var$4.$iTransitions = var$7;
                                var$4.$iWallOffsets = var$9;
                                var$4.$iStandardOffsets = var$10;
                                var$4.$iTailZone = var$5;
                                if (otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable(var$4)) {
                                    if (var$4 instanceof otcit_CachedDateTimeZone)
                                        var$4 = var$4;
                                    else {
                                        var$5 = new otcit_CachedDateTimeZone;
                                        otcit_StorableDateTimeZone__init_(var$5, var$4.$iID);
                                        var$5.$iInfoCache = $rt_createArray(otcit_CachedDateTimeZone$Info, otcit_CachedDateTimeZone_cInfoCacheMask + 1 | 0);
                                        var$5.$iZone = var$4;
                                        var$4 = var$5;
                                    }
                                }
                                break a;
                            case 1:
                                var$4 = otcit_FixedDateTimeZone__init_($id, otcit_StorableDateTimeZone_readTime(var$5).lo, otcit_StorableDateTimeZone_readTime(var$5).lo);
                                break a;
                            case 2:
                                break b;
                            case 3:
                                break;
                            default:
                                break b;
                        }
                        var$4 = otcit_DateTimeZoneBuilder$DSTZone_readZone($id, var$5);
                        break a;
                    }
                    $id = new jl_IllegalArgumentException;
                    var$2 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$2);
                    jl_AbstractStringBuilder_append(var$2, $rt_s(651));
                    jl_AbstractStringBuilder_append2(var$2, var$3);
                    jl_Throwable__init_($id, jl_AbstractStringBuilder_toString(var$2));
                    $rt_throw($id);
                }
        }
        ju_HashMap_putImpl(var$2, $id, var$4);
    }
    return ju_HashMap_get(otcit_DateTimeZoneProvider_cache, $id);
}
function otcit_DateTimeZoneProvider_timeZoneDetectionEnabled() {
    return false;}
function otcit_DateTimeZoneProvider_detectTimezone() {
    var $zones, $time, $offset, $score, var$5, $i, $tzOffset, $scoreTable, var$9, $j, $tzOffset_0, $zoneMap, $queue, $tz, $timeInQueue, var$16, $id, $prev;
    if (!otcit_DateTimeZoneProvider_timeZoneDetectionEnabled())
        return null;
    $zones = ju_ArrayList__init_0();
    $time = jl_System_currentTimeMillis();
    $offset =  -(new Date(Long_toNumber(jl_System_currentTimeMillis()))).getTimezoneOffset();
    $score = ju_ArrayList__init_0();
    var$5 = otpp_ResourceAccessor_keysToStrings(otpp_ResourceAccessor_keys(otcit_DateTimeZoneProvider_getResource())).data;
    $i = var$5.length;
    $tzOffset = 0;
    while ($tzOffset < $i) {
        $scoreTable = var$5[$tzOffset];
        var$9 = otpp_ResourceAccessor_keysToStrings(otpp_ResourceAccessor_keys(otcit_DateTimeZoneProvider_getResource()[$rt_ustr($scoreTable)])).data;
        $j = var$9.length;
        $tzOffset_0 = 0;
        while ($tzOffset_0 < $j) {
            $zoneMap = var$9[$tzOffset_0];
            if (!jl_String_isEmpty($scoreTable)) {
                $queue = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($queue);
                jl_AbstractStringBuilder_append($queue, $scoreTable);
                jl_AbstractStringBuilder_append($queue, $rt_s(61));
                jl_AbstractStringBuilder_append($queue, $zoneMap);
                $zoneMap = jl_AbstractStringBuilder_toString($queue);
            }
            ju_ArrayList_add($score, $zoneMap);
            $tzOffset_0 = $tzOffset_0 + 1 | 0;
        }
        $tzOffset = $tzOffset + 1 | 0;
    }
    var$5 = ju_AbstractCollection_toArray($score, $rt_createArray(jl_String, $score.$size)).data;
    $i = var$5.length;
    $tzOffset = 0;
    while ($tzOffset < $i) {
        $tz = otcit_DateTimeZoneProvider_getTimeZone(var$5[$tzOffset]);
        if (!($tz instanceof otcit_AliasDateTimeZone) && jl_Math_abs(($tz.$getOffset($time) / 60000 | 0) - $offset | 0) <= 120 && Long_ne($tz.$previousTransition($time), $time)) {
            $score = new otcit_DateTimeZoneProvider$Score;
            $score.$tz = $tz;
            ju_ArrayList_add($zones, $score);
        }
        $tzOffset = $tzOffset + 1 | 0;
    }
    $scoreTable = ju_ArrayList__init_0();
    ju_AbstractCollection_addAll($scoreTable, $zones);
    $zoneMap = ju_HashMap__init_();
    $queue = ju_PriorityQueue__init_0($zones.$size, new otcit_DateTimeZoneProvider$1);
    $timeInQueue = ju_HashSet__init_0();
    ju_AbstractQueue_add($queue, jl_Long_valueOf($time));
    ju_HashMap_putImpl($zoneMap, jl_Long_valueOf($time), ju_ArrayList__init_3($zones));
    a: {
        b: {
            c: while (true) {
                if (ju_AbstractCollection_isEmpty($queue))
                    break b;
                if ($scoreTable.$size <= 1)
                    break b;
                var$16 = ju_AbstractQueue_remove($queue).$value4;
                ju_HashSet_remove($timeInQueue, jl_Long_valueOf(var$16));
                $score = ju_HashMap_remove($zoneMap, jl_Long_valueOf(var$16));
                $tzOffset_0 =  -(new Date(Long_toNumber(var$16))).getTimezoneOffset();
                $id = ju_AbstractList_iterator($score);
                while (ju_AbstractList$1_hasNext($id)) {
                    $score = ju_AbstractList$1_next($id);
                    $prev = $score.$tz.$previousTransition(var$16);
                    if (Long_eq($prev, var$16)) {
                        if (ju_ArrayList_get($scoreTable, 0) === $score)
                            break c;
                        ju_ArrayList_remove0($scoreTable, $score);
                    } else {
                        if (jl_Math_abs(($score.$tz.$getOffset(var$16) / 60000 | 0) - $tzOffset_0 | 0) > 120) {
                            ju_ArrayList_remove0($scoreTable, $score);
                            continue;
                        }
                        ju_Map_computeIfAbsent($zoneMap, jl_Long_valueOf($prev), new otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0).$add($score);
                        if (ju_HashSet_add($timeInQueue, jl_Long_valueOf($prev)))
                            ju_AbstractQueue_add($queue, jl_Long_valueOf($prev));
                    }
                }
                if ($scoreTable.$size == 1)
                    break a;
                if (Long_eq(ju_ArrayList_get($scoreTable, 0).$tz.$previousTransition(var$16), var$16))
                    break a;
                if ($scoreTable.$size > 1 && (ju_ArrayList_get($scoreTable, 0).$value5 + 2880 | 0) < ju_ArrayList_get($scoreTable, 1).$value5)
                    return ju_ArrayList_get($scoreTable, 0).$tz;
                $i = $scoreTable.$size - 1 | 0;
                while ($i >= 0) {
                    $score = ju_ArrayList_get($scoreTable, $i);
                    $tzOffset = $score.$tz.$getOffset(var$16) / 60000 | 0;
                    if ($tzOffset != $tzOffset_0)
                        $score.$value5 = $score.$value5 + ($rt_imul(Long_div(Long_sub($time, var$16), Long_fromInt(60000)).lo, jl_Math_abs($tzOffset - $tzOffset_0 | 0)) / 30 | 0) | 0;
                    $j = $i + 1 | 0;
                    while ($j < $scoreTable.$size && $score.$value5 > ju_ArrayList_get($scoreTable, $j).$value5) {
                        ju_ArrayList_set($scoreTable, $j - 1 | 0, ju_ArrayList_get($scoreTable, $j));
                        $j = $j + 1 | 0;
                    }
                    ju_ArrayList_set($scoreTable, $j - 1 | 0, $score);
                    $i = $i + (-1) | 0;
                }
                $time = var$16;
            }
            return $score.$tz;
        }
        return ju_ArrayList_get($scoreTable, 0).$tz;
    }
    return ju_ArrayList_get($scoreTable, 0).$tz;
}
function otcit_DateTimeZoneProvider_getResource() {
    if (otcit_DateTimeZoneProvider_$$metadata$$0 === null)
        otcit_DateTimeZoneProvider_$$metadata$$0 = otcit_DateTimeZoneProvider_getResource$$create();
    return otcit_DateTimeZoneProvider_$$metadata$$0;
}
function otcit_DateTimeZoneProvider__clinit_() {
    otcit_DateTimeZoneProvider_cache = ju_HashMap__init_();
}
function otcit_DateTimeZoneProvider_getResource$$create() {
    return {"": {"CET": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1s\'\u001e=n11s5\u001e=n1 "}, "EET": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEdAQAQAQAQAQAQAQA+AYAy\'Au\'\u001e=n)1u5\u001e=n) "}, "PST8PDT": {"data" : " ls&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#+H#V#H#y\'H#w\'1=y11w7#=y1 "}, "EST": {"data"
    : "#tt"}, "WET": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd 1 1 1 1 1 1 1 + Y y\' u\'\u001e=n)1u5\u001e=n) "}, "HST": {"data" : "#i#i#"}, "CST6CDT": {"data" : " lR&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#+(#V#(#y\'(#w\'1=y11w7#=y1 "}, "MET": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1s\'\u001e=n11s5\u001e=n1 "}, "EST5EDT":
    {"data" : " lB&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdt+tV#ty\'tw\'1=y11w7#=y1 "}, "MST7MDT": {"data" : " lc&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#+8#V#8#y\'8#w\'1=y11w7#=y1 "}, "MST": {"data" : "#8#8#"}}, "Asia": {"Gaza": {"data" : " >#&y0=geCs:;{BE*w;{BE*w;Z2E6L;Z2E!o9omE6L;>TE>L=c:C>L=c:C>L=.TEwu?:w?wu?*o?wu?*o?wu?*o?wu?:w?NT=R2C2o=6T?B*?_]AJw;R:CFT;Z2E:w;g&g7B,_/o_@;*<i-ouIFT?Z2AF]?Z*AZBEFD;ZBEVD;>eEc!;>eEc!;>eER!;a%AQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQ+AV%Ay\'Aw5\u001e9n) w\'\u001e5n 1"}
    , "Makassar": {"data" : " #PPNC+F#+F#n"}, "Ulaanbaatar": {"data" : " h_m4=*o?{JA*o?gm?*o?gm?*o?gm?*o?gm?*o?gm?>LAgm?*o?gm?*o?gm?:Zo#c2;*o?wu?*o?wu?:w?wu?*o?wu?*o?wu?:{*-Vu?Zw?Vu?X#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#+F#N#F#n"}, "Vladivostok": {"data" : " |om4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%$%g#w#g#V#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#7g#g#g#V#c#g#/w#g#n"}
    , "Tashkent": {"data" : " )Ro4=wm?.LAg@b7&#6#&#r7&#&#&#rn"}, "Beirut": {"data" : " KRo8=c2C>T=c2C>T=s:C6L;s2?gm?*o?gm?*o?gm?>LAgm?*o?gm?*o?gm?*o?o}E|AQAQAQAQAQAQAQAQAQAQA+ArAy\'Aw\'\u001e=n 1w5\u001e=n  "}, "Qyzylorda": {"data" : " [co4=wm?.LA&Pv*2Mwm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;VTX5@#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r7rrr&#*#rn"}, "Phnom_Penh": {"data" : " #D(DDO+6#+6#n"}, "Hong_Kong": {"data" : " #_m&/+F#+F#n"}, "Kabul": {"data" : " #eR!E+j+jn"}, "Riyadh":
    {"data" : " #mqsc5+Q+Qn"}, "Ashgabat": {"data" : " +co4=wm?.LAg@bgL3;r&#rbr;rrrbrn"}, "Chita": {"data" : " !#!o4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%c>!#(%V#g#V#F#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#F#V#7V#V#V#F#c#V#3g#F#V#n"}, "Aqtau": {"data" : " ^co4=wm?.LAg@bgL3:_+wm?wm?wm?wm?*o?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;D#r&#rbr&#r&#r&#brbrbrbrbrbrbrbrbrbr7rrrb9r+bnbn"}
    , "Tokyo": {"data" : " #u{2;+V#+V#n"}, "Baku": {"data" : " |so4=wm?.LAg@bwm?&(s%kBEs:;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;kBE$%brbQbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrb;bbbQQg#bn"}, "Kathmandu": {"data" : " #F8R7+&^+&^n"}, "Novosibirsk": {"data" : " $#Bo4=wm?.LAg@bgL3:_+wm?wm?ND)sg5wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%6,8#,%6#F#6#&#6#F#6#F#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#76#6#6#&#16#+&#R#&#36#&#6#n"}
    , "Aqtobe": {"data" : " `co4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!GH#r&#rbr&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r7rrrb2#rn"}, "Kamchatka": {"data" : " xNm4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE{{bo]9y#*%:%*%w#*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%w#*%7*%*%*%w#Z#*%/w#*%n"}, "Istanbul": {"data" : " 2#&q4=wm?.LAwm?wm?wm?wm?wm?wm?c2?.LAwm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G2_9!!G&<;kBE&<;kBE&<;!!G!g9ouEo]9!!G&<;kBE6D;Z:E&<;6]GZ!9H%AQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQ+A>%An"}
    , "Nicosia": {"data" : " Ico4=*o?{JA*o?gm?*o?gm?*o?gm?*o?gm?*o?gm?>LAgm?*o?gm?*o?>DE&<;xAQAQAQAQAQAQAQAQAQAQ+AnAy\'Au\'\u001e=n)1u5\u001e=n) "}, "Pontianak": {"data" : " #wL{9+6#+6#n"}, "Qostanay": {"data" : " ^co4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;D#r&#rbr&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#7rrrb.#rn"}, "Jerusalem": {"data" : " (#&y0=geCs:;{BE*w;{BE*w;Z2E6L;Z2E!o9omE6L;2wA:*Ak2AsB?{:A_e={2Es:;F]GB2?Z*A>T=k2ANeABw={JA{:A>T=k*AB2C_T={JA&<?B*?oeA_mABw=:*Ag]?_e=B!C.TA&<?Ve?*o?o}E4%AQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQA+A*%Ay\'Aw\'O5y11w5\u001e=n1 "}
    , "Barnaul": {"data" : " $#Bo4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?c!+_,5.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%R>!#,%6#F#6#&#6#F#6#F#6#F#6#F#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#76#6#6#&#A6#+&#B#&#36#&#6#n"}, "Kuala_Lumpur": {"data" : " #{_]1+F#+F#n"}, "Kolkata": {"data" : " #8PJC+z+zn"}, "Hanoi": {"data" : " #<R}5+6#+6#n"}, "Novokuznetsk": {"data" : " xBo4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE{{bo]9y#6#F#6#&#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#&#6#76#6#6#&#Z#6#/&#6#n"}
    , "Kuching": {"data" : " #HPPC+F#+F#n"}, "Bahrain": {"data" : " #c!g#+Q+Qn"}, "Bangkok": {"data" : " #D(DDO+6#+6#n"}, "Srednekolymsk": {"data" : " |_m4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%$%w#*%w#g#w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#7w#w#w#g#c#w#/*%w#n"}, "Karachi": {"data" : " /]&0;FXDjgm?Va&)c2;.<=sJCCr&#r&#r&#r+r9rn"}, "Aden": {"data" : " #mqsc5+Q+Qn"}, "Irkutsk":
    {"data" : " |2o4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%$%F#V#F#6#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#V#F#7F#F#F#6#c#F#/V#F#n"}, "Hovd": {"data" : " hom4=*o?{JA*o?gm?*o?gm?*o?gm?*o?gm?*o?gm?>LAgm?*o?gm?*o?gm?:Zo#c2;*o?wu?*o?wu?:w?wu?*o?wu?*o?wu?:{*-Vu?Zw?Vu?X#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#+6#N#6#n"}, "Baghdad": {"data" : " lso4=wm?.LAJw?*w?*w?*w?wm?*w?wm?*w?wm?*w?*w?*w?wm?*w?wm?*w?wm?*w?*w?*w?wm?*w?wm?*w?wm?*w?*w?*w?wm?*w?wm?*w?wm?*w?a#QbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQ+QV#Qn"}
    , "Samarkand": {"data" : " +co4=wm?.LAwm?wm?;r&#r&#r+r1rn"}, "Thimphu": {"data" : " #B.k9+&#+&#n"}, "Dhaka": {"data" : " \'m&0;k>Vt2,*73&#6#&#3&#&#&#n"}, "Yerevan": {"data" : " tso4=wm?.LAg@bwm?wm?wm?wm?wm?wm?wm?w}H#kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Gq#brbQbQbQbQbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrb3bbbAQ+b:#bn"}, "Muscat": {"data" : " #HJgNO+b+bn"}, "Dili": {"data" : " %swT)k.TC/F#V#/F#V#n"}, "Singapore": {"data" : " #{_]1+F#+F#n"}, "Damascus": {"data" : " !#:N6=*o?gm?wu?wu?NTAc:?&<?wu?.DAwu?*o?wu?:w?wu?s2?.TAs2?.TA*o?wu?:w?wu?*o?wu?*o?wu?*o?wu?:w?wu?*o?wu?*o?B*?J!AcJGs*;.]END9>eE*g;w}C*g;w}Cs*;(%AQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQ+A{#Ay\'Aw\'\u001e5n 1w5\u001e5n  "}
    , "Taipei": {"data" : " #V}!/+F#+F#n"}, "Macau": {"data" : " #_m&/+F#+F#n"}, "Choibalsan": {"data" : " jNm4=*o?{JA*o?gm?*o?gm?*o?gm?*o?gm?*o?gm?>LAgm?*o?gm?*o?gm?:Zo#c2;*o?wu?*o?wu?:w?wu?*o?wu?*o?wu?JV(#:c!+Vu?Zw?Vu?]#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#F#V#F#V#F#+V#>#V#+F#1F#n"}, "Amman": {"data" : " (#*V6=J*EV];c2CJ*=R*CR2?*o?wu?*o?.L=s:C>L=sBC>L=c:C>L=c:C>L=BJS&$/*w?*w?wm?*w?*w?wm?*w?.TE&<;VeCJ!=wm?*w?>]Ec*;>]Es2;>]Ec*;>]Ec*;>]Ec*;>]Es2;Bo6#.$1>]E4%AQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQA+A*%Ay\'Aw)#5n 1s5\u001e5n  "}
    , "Jayapura": {"data" : " #uw>)+V#+V#n"}, "Oral": {"data" : " ^so4=wm?.LAwm?wm?gL3*2Mwm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;D#brbrbrbrbrbrbrbrbrbrbrbrbrbrbr+b1b+r&#bn"}, "Manila": {"data" : " #B{:-+F#+F#n"}, "Dubai": {"data" : " #HJgNO+b+bn"}, "Yakutsk": {"data" : " |!o4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%$%V#g#V#F#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#7V#V#V#F#c#V#/g#V#n"}
    , "Seoul": {"data" : " #.(R;+V#+V#n"}, "Qatar": {"data" : " #c!g#+Q+Qn"}, "Hebron": {"data" : " B#&y0=geCs:;{BE*w;{BE*w;Z2E6L;Z2E!o9omE6L;>TE>L=c:C>L=c:C>L=.TEwu?:w?wu?*o?wu?*o?wu?*o?wu?:w?NT=R2C2o=6T?B*?_]AJw;R:Cwm;*wC:w;wuC*o7o_@;*<i-Ny#N,%FL?FT?Z2AF]?Z*AZBEFD;ZBEVD;>eEc!;>eEc!;>eER!;i%AQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQ+A_%Ay\'Aw5\u001e9n) w\'\u001e5n 1"}, "Bishkek": {"data" : " `Ro4=wm?.LARc[6eG>T=R*C>T=R*C>T=R*C>T=R*CR2?Ro?ZBE6<;ZBE6<;o}E!_9o}E!_9o}E6<;ZBE6<;ZBE6<;o}E!_9H#&#6#&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#3&#&#&#6#rn"}
    , "Tomsk": {"data" : " $#Bo4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;_,%VT?&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%N$.#,%6#F#6#&#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#76#6#6#&#z6#+&#f&#36#&#6#n"}, "Yekaterinburg": {"data" : " |co4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%$%r&#rbr&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r&#r7rrrbc#r/&#rn"}
    , "Colombo": {"data" : " )eFJCcNJj{:;g(m-7z.#&#z7z.#&#zn"}, "Khandyga": {"data" : " $#!o4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBEVD+V4/!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9>e=s_6%,%V#g#V#F#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#V#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#V#7V#V#V#F#*#V#+g#Yg#3w#g#V#n"}, "Dushanbe": {"data" : " )Ro4=wm?.LA:R^7&#6#&#r7&#&#&#rn"}, "Famagusta": {"data" : " 8#co4=*o?{JA*o?gm?*o?gm?*o?gm?*o?gm?*o?gm?>LAgm?*o?gm?*o?>DE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;kBE&<;>$.#o]9!!GT%AQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQA+AJ%Ay\'Au\'\u001e=n)1u5\u001e=n) "}
    , "Kuwait": {"data" : " #mqsc5+Q+Qn"}, "Pyongyang": {"data" : " \'q<kt:J]Z#.Py#3V#N#V#3V#N#V#n"}, "Magadan": {"data" : " !#_m4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%Vq&#(%w#*%w#g#w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%g#w#7w#w#w#g#c#w#3*%g#w#n"}, "Tehran": {"data" : " 4)ZNe/2oZ/k29*o?*!Awe?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!As{i#*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!"
    + "Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!Awe?*!Awe?*!A*o?*!Awe?*!AL1YjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjYjY+YB1Yy\'Yw\'K n 1w3K n  "}, "Sakhalin": {"data" : " |_m4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBEg@b&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%R>!#$%w#*%w#g#w#*%w#*%w#*%w#*%w#*%w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#7w#w#w#g#Mw#+g#.#g#3w#g#w#n"}
    , "Urumqi": {"data" : " #H_oeG+&#+&#n"}, "Shanghai": {"data" : " +k24={BEs:;{BEs:;;F#V#F#V#F#+F#1F#n"}, "Atyrau": {"data" : " [co4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE{{bo]9!!Go]9!!G&<;kBE&<;kBE&<;@#r&#rbr&#r&#r&#r&#r&#r&#r&#rbrbrbrbrbr7rrrb^r+bEbn"}, "Yangon": {"data" : " #DNiC+.#+.#n"}, "Almaty": {"data" : " `Ro4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!GH#&#6#&#r&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#7&#&#&#r2#&#n"}, "Tbilisi":
    {"data" : " [so4=wm?.LAg@bVm?gm?*o?gm?*o?F@bgm?>LAwD,#6<;ZBE6<;o}E!_9o}E!_9o}E6<;ZBE6<;ZBE6<;wT/sg5o]9@#brbQbQbQbrbrbrbrbrbrbrbrbrbQb3bbb9Q+bbb3QQbn"}, "Anadyr": {"data" : " xNm4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE{{bo]9y#*%:%*%w#*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%w#*%7*%*%*%w#Z#*%/w#*%n"}, "Vientiane": {"data" : " #D(DDO+6#+6#n"}, "Krasnoyarsk": {"data" : " |Bo4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%$%6#F#6#&#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#F#6#76#6#6#&#c#6#/F#6#n"}
    , "Brunei": {"data" : " #X8_U+F#+F#n"}, "Omsk": {"data" : " |Ro4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%$%&#6#&#r&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#6#&#7&#&#&#rc#&#/6#&#n"}, "Jakarta": {"data" : " #Tw>)+6#+6#n"}, "Ho_Chi_Minh": {"data" : " #RJw\'+6#+6#n"}, "Ust-Nera": {"data" : " !#_m4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9>e=s_6%(%w#*%w#g#w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#*%w#g#7w#w#w#g#c#w#3*%w#g#n"}
    }, "Etc": {"UTC": {"data" : "#  "}, "GMT+9": {"data" : "#X#X#"}, "GMT-10": {"data" : "#g#g#"}, "GMT-11": {"data" : "#w#w#"}, "GMT-7": {"data" : "#6#6#"}, "GMT+5": {"data" : "#tt"}, "GMT-8": {"data" : "#F#F#"}, "GMT+6": {"data" : "#(#(#"}, "GMT+12": {"data" : "#,%,%"}, "GMT-9": {"data" : "#V#V#"}, "GMT+7": {"data" : "#8#8#"}, "GMT+11": {"data" : "#y#y#"}, "GMT+8": {"data" : "#H#H#"}, "GMT+10": {"data" : "#i#i#"}, "GMT-3": {"data" : "#QQ"}, "GMT+1": {"data" : "#33"}, "GMT-4": {"data" : "#bb"}, "GMT+2": {"data"
    : "#CC"}, "GMT-5": {"data" : "#rr"}, "GMT+3": {"data" : "#SS"}, "GMT-6": {"data" : "#&#&#"}, "GMT+4": {"data" : "#dd"}, "GMT-1": {"data" : "#11"}, "GMT-2": {"data" : "#AA"}, "GMT-12": {"data" : "#*%*%"}, "GMT-13": {"data" : "#:%:%"}, "GMT-14": {"data" : "#J%J%"}, "GMT": {"data" : "#  "}}, "Pacific": {"Easter": {"data" : " <#Vi8=_]9>LAR2?2!Gs:;{BEs:;{BEs:;{BEs:;2!G_]92!G>T=R*Cs:;R*C{JA>LAs:;2!G_]92!G_]92!G_]92!Gs:;{BEs:;{BEs:;2!G_]92!G>T=R*Cs:;{BER2?>LAZBEco1w0MBg5NuIVD7::IVD7644#:V/V(Q:V/V(Q:V/NuI6<;]%t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t+(#R%(#y\'(#u)%=y9 u3%=yA1"}
    , "Fiji": {"data" : " CTi2LSZTu}n{*5*2MgL3wX!/{*5kBEFD7J:I*V/g(Q*V/{cQcw-BBS_<-l*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%+*%b*%y\'*%w7#=y11w#;=y9 "}, "Port_Moresby": {"data" : " #,(&8h+g#+g#n"}, "Kiritimati": {"data" : " %ZyaV):H00//i#J%/i#J%n"}, "Pohnpei": {"data" : " #e>XC+w#+w#n"}, "Chuuk": {"data" : " #e>XC+g#+g#n"}, "Kwajalein": {"data" : " %yD1_(4C/,%*%/,%*%n"}, "Kosrae": {"data" : " %yD12g&K/*%w#/*%w#n"}, "Auckland": {"data" : " nw(8=:w;VeC:w;VeC:w;VeCNT=B*CNT=B*CNT=B*CNT=VeC:w;VeC:w;VeCNT=B*CNT=B*CNT=VeC:w;VeC:w;VeCNT=B*CNT=B*CNT=B*CNT=B*C.LAe#:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%+*%Z#*%y\'*%s3\u001e=n11s)#=y1 "}
    , "Efate": {"data" : " 1>m4=gm?*o?gm?>LAk*5w(QwT/G*%w#*%w#*%w#*%w#+w#=w#n"}, "Niue": {"data" : " #_y<-+y#+y#n"}, "Majuro": {"data" : " #yD1+*%+*%n"}, "Guadalcanal": {"data" : " #HFLuU+w#+w#n"}, "Honolulu": {"data" : " #Hu8A+i#+i#n"}, "Guam": {"data" : " #c_P++g#+g#n"}, "Chatham": {"data" : " nw(8=:w;VeC:w;VeC:w;VeCNT=B*CNT=B*CNT=B*CNT=VeC:w;VeC:w;VeCNT=B*CNT=B*CNT=VeC:w;VeC:w;VeCNT=B*CNT=B*CNT=B*CNT=B*C.LAe#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#kT#VJ#+VJ#Z#VJ#y\'VJ#s3\u001e=n4/1s)#=y4/ "}
    , "Midway": {"data" : " #D@6eW+y#+y#n"}, "Tahiti": {"data" : " #i&HuU+i#+i#n"}, "Pago_Pago": {"data" : " #D@6eW+y#+y#n"}, "Galapagos": {"data" : " \'6<R768{)*V+3(#t(#3(#(#(#n"}, "Funafuti": {"data" : " #y.FHb+*%+*%n"}, "Marquesas": {"data" : " #@.HuU+a#+a#n"}, "Rarotonga": {"data" : " )&(<=*g5guI*g57a#i#a#i#+i#-i#n"}, "Tarawa": {"data" : " #q*FHb+*%+*%n"}, "Saipan": {"data" : " #c_P++g#+g#n"}, "Gambier": {"data" : " #0D8t+X#+X#n"}, "Wallis": {"data" : " #X2FHb+*%+*%n"}, "Tongatapu": {"data" : " 3y&oZ;c8_XWk2=J:Icw-.eQcw-&$]5J_+K:%J%:%J%:%J%:%J%:%+:%A:%n"}
    , "Fakaofo": {"data" : " %,P@HbgsT..#/y#:%/y#:%n"}, "Wake": {"data" : " #X&FHb+*%+*%n"}, "Enderbury": {"data" : " %6($/kc{5/y#:%/y#:%n"}, "Pitcairn": {"data" : " %Dm@Hb*y{c|/P#H#/P#H#n"}, "Apia": {"data" : " /LkF=*.gxNDAc2?J*1{_/wm?Cy#i#y#i#J%:%J%+y#-y#3:%:%:%y\':%w)#=yA w3\u001e=n91"}, "Noumea": {"data" : " \'NDX-{wi9*V/3w#*%w#3w#w#w#n"}, "Palau": {"data" : " #DmDHb+V#+V#n"}, "Nauru": {"data" : " #{oT-+*%+*%n"}, "Bougainville": {"data" : " %8PTCoiy(#/g#w#/g#w#n"}, "Norfolk": {"data" : " %2*e\'sV6[/!%w#/!%w#n"}
    }, "Europe": {"Saratov": {"data" : " z&q4=wm?.LAwm?6q&#wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%B2P#}#QbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQb7QQQbZ#Q3bQbn"}, "Belgrade": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Gibraltar": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Bucharest": {"data" :
    " C6q4=wm?.LAVm?wm?wm?wm?wm?wm?wm?gm?*o?gm?>LAZBEg<;kBElAQAQAQAQAQAQAQAQA+AbAy\'Au\'\u001e=n)1u5\u001e=n) "}, "Dublin": {"data" : " ?N$<=o]9!!G&<;kBE&<;kBE&<;kBE&<;kBE&<;kBE:w;kBEd 1 1 1 1 1 1 1 +1Y1y\'1u\'\u001e=n) u5\u001e=n)3"}, "Zaporozhye": {"data" : " =&q4=wm?.LA6@b*o?gm?*o?gm?*o?gm?Zo?wm?.LAkBE`QbQAQAQAQAQAQA3QQQMAy\'Au\'\u001e=n)1u5\u001e=n) "}, "Kiev": {"data" : " =&q4=wm?.41gXrVm?gm?*o?gm?*o?gm?Zo?wm?.LAkBE`QbQAQAQAQAQAQA/QQQAy\'Au\'\u001e=n)1u5\u001e=n) "}, "Zurich": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}
    , "Copenhagen": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Rome": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Zagreb": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Monaco": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Luxembourg": {"data"
    : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Jersey": {"data" : " ?N$<=o]9!!G&<;kBE&<;kBE&<;kBE&<;kBE&<;kBE:w;kBEd 1 1 1 1 1 1 1 + Y y\' u\'\u001e=n)1u5\u001e=n) "}, "Istanbul": {"data" : " 2#&q4=wm?.LAwm?wm?wm?wm?wm?wm?c2?.LAwm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G2_9!!G&<;kBE&<;kBE&<;!!G!g9ouEo]9!!G&<;kBE6D;Z:E&<;6]GZ!9H%AQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQ+A>%An"}, "Ulyanovsk": {"data" : " !#&q4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%R>!#(%QbQAQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQb7QQQAc#Q3bQbn"}
    , "Samara": {"data" : " v&q4=wm?.LAF8fwu;wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE{{bo]9u#QbQbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbrbQb3QQQZ#b/Qbn"}, "Sarajevo": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Nicosia": {"data" : " Ico4=*o?{JA*o?gm?*o?gm?*o?gm?*o?gm?*o?gm?>LAgm?*o?gm?*o?>DE&<;xAQAQAQAQAQAQAQAQAQAQ+AnAy\'Au\'\u001e=n)1u5\u001e=n) "}, "Chisinau": {"data" : " E&q4=wm?F,\'2_9wm?wm?Vm?gm?*o?gm?*o?gm?*o?gm?>LAZBEV<;kBEpQbQAQAQAQAQAQAQAQA/QQbAy\'Aw\'\u001e=n11w5\u001e=n9 "}
    , "Vatican": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Brussels": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Oslo": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Warsaw": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Lisbon": {"data"
    : " =Fq4=wm?.LAwm?wm?wm?V@bwm?wm?wm?wm?wm?_Ph&<;` 1 1 1A1A1A1 1+ 5 +151/  y\' u\'\u001e=n)1u5\u001e=n) "}, "Berlin": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Simferopol": {"data" : " &#&q4={cQs*8#gm?*o?gm?*o?2N%_]9*o?gm?>LA>DEg@b&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBEs:;JBE0%QAQAQAQbQbQbQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAbQ+Q9A+Q5Q+AF#A/bQn"}, "San_Marino": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}
    , "Podgorica": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Athens": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEdAQAQAQAQAQAQAQA+AYAy\'Au\'\u001e=n)1u5\u001e=n) "}, "Bratislava": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Stockholm": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Prague":
    {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Uzhgorod": {"data" : " ;&q4={cQ:*Qs>bgm?*o?gm?*o?gm?Zo?wm?.LAkBE[Q1AQAQAQAQAQA/Q1MAy\'Au\'\u001e=n)1u5\u001e=n) "}, "Budapest": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Astrakhan": {"data" : " z&q4=wm?.LAwm?6q&#wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%R>!#}#QbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQb7QQQbZ#Q3bQbn"}
    , "Madrid": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Vaduz": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "London": {"data" : " ?N$<=o]9!!G&<;kBE&<;kBE&<;kBE&<;kBE&<;kBE:w;kBEd 1 1 1 1 1 1 1 + Y y\' u\'\u001e=n)1u5\u001e=n) "}, "Vilnius": {"data" : " K6q4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBEg@b&<;c&s%kBE|AQAQAQAQAQAQAQAQA1AQA+AbA711AAy\'Au\'\u001e=n)1u5\u001e=n) "}
    , "Isle_of_Man": {"data" : " ?N$<=o]9!!G&<;kBE&<;kBE&<;kBE&<;kBE&<;kBE:w;kBEd 1 1 1 1 1 1 1 + Y y\' u\'\u001e=n)1u5\u001e=n) "}, "Sofia": {"data" : " C6q4=wm?.LAVm?gm?*o?gm?*o?gm?*o?gm?*o?gm?>LAZBEg<;kBElAQAQAQAQAQAQAQAQA+AbAy\'Au\'\u001e=n)1u5\u001e=n) "}, "Kirov": {"data" : " x&q4=wm?.LAwm?6q&#wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%y#QbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQ7QQQbZ#Q/bQn"}, "Tallinn": {"data" : " O6q4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;{BE&<;!!G_@e#kBE(#AQAQAQAQAQAQAQAQAQAQAQA+AzAy\'Au\'\u001e=n)1u5\u001e=n) "}
    , "Moscow": {"data" : " |&q4=wm?.LAg@bgL3:_+wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%$%QbQAQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQ7QQQAc#Q/bQn"}, "Malta": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Busingen": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Amsterdam": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}
    , "Andorra": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Riga": {"data" : " O6q4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAwm?*o?kBE&<;kBE&<;!!G.a|!!G(#AQAQAQAQAQAQAQAQAQAQAQA+AzAy\'Au\'\u001e=n)1u5\u001e=n) "}, "Vienna": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Helsinki": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEdAQAQAQAQAQAQAQA+AYAy\'Au\'\u001e=n)1u5\u001e=n) "}
    , "Minsk": {"data" : " t&q4=:!J#wm?wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9q#QAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQ+Qc#A+Qn"}, "Kaliningrad": {"data" : " |6q4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%$%AQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQA+Ao#A/QAn"}, "Skopje": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}
    , "Mariehamn": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEdAQAQAQAQAQAQAQA+AYAy\'Au\'\u001e=n)1u5\u001e=n) "}, "Ljubljana": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Tirane": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Guernsey": {"data" : " ?N$<=o]9!!G&<;kBE&<;kBE&<;kBE&<;kBE&<;kBE:w;kBEd 1 1 1 1 1 1 1 + Y y\' u\'\u001e=n)1u5\u001e=n) "}, "Volgograd":
    {"data" : " z&q4=wm?.LAwm?6q&#wm?wm?wm?wm?wm?wm?.LAkBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9g(V%s&s%}#QbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQbQb7QQQbZ#Q3bQbn"}, "Paris": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}}, "America": {"Belem": {"data" : " #*s$;+S+Sn"}, "Guayaquil": {"data" : " \'H{y>E>k]([*V+3tdt3tttn"}, "Argentina/Buenos_Aires": {"data" : " 9Fi8=J!9Z:I6D7Z:I6D7Z:IJ!9N<_5N<-2!G_]9WCSCSCSCSCSCS+SMSn"}
    , "Costa_Rica": {"data" : " +J2P/FL]/{B=&DCB_);(#t(#t(#+(#1(#n"}, "Hermosillo": {"data" : " /F#kguEFeCJw;FeCJw;FeCC8#(#8#(#8#(#8#+8#98#n"}, "Punta_Arenas": {"data" : " 0#Vi8=_]9>LAR2?2!Gs:;{BEs:;{BEs:;{BEs:;2!G_]92!G>T=R*Cs:;R*C{JA>LAs:;2!G_]92!G_]92!G_]92!Gs:;{BEs:;{BEs:;2!G_]92!G>T=R*Cs:;{BER2?>LAZBEco1w0MBg5NuIVD7::IVD7644#:V/D%SdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdS+d:%dn"}, "Iqaluit": {"data" : " jB&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;kBE6<;F@bZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuI]#tdtdtdtdtdtdtdtdtdtd(#tdtdtdtdtdtdtdt+tnt/(#(#Yty\'tw\'1=y11w7#=y1 "}
    , "Godthab": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEdSCSCSCSCSCSCSCS+SYSy\'Su\'\u001e=n)1u5\u001e=n) "}, "El_Salvador": {"data" : " #koN;+(#+(#n"}, "Monterrey": {"data" : " ?6$V;kg@+FeCJw;FeCJw;FeCJw;ZBE6<;ZBE>LA_]9>LAFeCd(#t(#t(#t(#t(#t(#t(#t(#+(#Y(#y\'(#w)#=y11w5\u001e=n1 "}, "Sao_Paulo": {"data" : " >#Fi8=k*5:2Mk*5&TKVL3NmM.41NmM!g5ouI!g5ouIk*5ouI6D7kBINT9F]G6D7F]G_]9F]G6D7ouI!g5NmMBo1&TKk*5o}M6<3ouI!g5NmMVL3Z:I!g5&TKk*5&TK!g5ouI!g5ouI6D7ouIk*5&TKk*5&TK!g5ouI!g5ouI!g5ouI!g5NmMBo1a%CSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCS+SV%Sn"}
    , "Bahia": {"data" : " ^Fi8=k*5:2Mk*5&TKVL3NmM.41NmM!g5ouI!g5ouIk*5ouI6D7kBINT9F]G6D7F]G_]9F]G6D7ouI!g5NmMBo1cF6-6D7D#CSCSCSCSCSCSCSCSCSCSCSCSCSCSCS+S:#Sn"}, "Indiana/Winamac": {"data" : " +c{UwiwSVD7>uIBg5;t(#dtd/t(#-ty\'tw\'1=y11w7#=y1 "}, "Grenada": {"data" : " #aR$2W+d+dn"}, "Grand_Turk": {"data" : " 2#B&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIBg5NuIBg5NuIVD7NuIBg5NuIBg5NuIBg5NuIBg5NuIBg5ZZZ%Bg5H%tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtd+t>%ty\'tw\'1=y11w7#=y1 "}
    , "Montserrat": {"data" : " #aR$2W+d+dn"}, "Panama": {"data" : " #qVL}Y+t+tn"}, "Guadeloupe": {"data" : " #aR$2W+d+dn"}, "Guatemala": {"data" : " +Rks3koD+>T=c_R5s:;;(#t(#t(#+(#1(#n"}, "Guyana": {"data" : " %JDTZ%Rus6//Sd/Sdn"}, "Swift_Current": {"data" : " #F0a#+(#+(#n"}, "Puerto_Rico": {"data" : " #qmLC+d+dn"}, "Moncton": {"data" : " l2&<=6<;ZBEJw;FeCJw;FeCgJ(3ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEBaH/NuIa#dSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSd+dV#dy\'dw\'1=y11w7#=y1 "}
    , "Danmarkshavn": {"data" : " =Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?o<1`SCSCSCSCSCSCS +SQS+ n"}, "Nome": {"data" : " l&(<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#+X#V#X#y\'X#w\'1=y11w7#=y1 "}, "Porto_Velho": {"data" : " #:s$;+d+dn"}, "Cuiaba": {"data" : " :#Vi8=k*5:2Mk*5&TKVL3NmM.41NmM!g5ouI!g5ouIk*5ouI6D7kBINT9F]G6D7F]G_]9F]G6D7ouI!g5NmMBo1.$6#6<3ouI!g5NmMVL3Z:I!g5&TKk*5&TK!g5ouI!g5ouI6D7ouIk*5&TKk*5&TK!g5ouI!g5ouI!g5ouI!g5NmMBo1X%SdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSd+dN%dn"}
    , "Pangnirtung": {"data" : " h2&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBEg@bJw;FeCJw;FeCJw;FeCJw;kBE6<;F@bZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIX#dSdSdSdSdSdtdtdtdtd(#tdtdtdtdtdtdtdt+dId+t=t/(#(#Yty\'tw\'1=y11w7#=y1 "}, "Kralendijk": {"data" : " #m_X\'+d+dn"}, "Indiana/Vincennes": {"data" : " +c{UwiwSVD7F@bNuI;t(#tdt;t(#(#tty\'tw\'1=y11w7#=y1 "}, "Indiana/Indianapolis": {"data" : " +c{UFePSZBEVD7NuI;tdtdt+t1ty\'tw\'1=y11w7#=y1 "}, "Belize": {"data" : " #w]J3+(#+(#n"}, "Indiana/Marengo": {"data" : " +Jg2)_yuKZBEVD7NuI;tdtdt+t1ty\'tw\'1=y11w7#=y1 "}
    , "Anguilla": {"data" : " #aR$2W+d+dn"}, "Argentina/Ushuaia": {"data" : " 9Fi8=J!9Z:I6D7Z:I6D7Z:IJ!9oP(1*6#*2R%N<-WCSCSCSCSdSCS+S=S+d-Sn"}, "Santiago": {"data" : " <#Vi8=_]9>LAR2?2!Gs:;{BEs:;{BEs:;{BEs:;2!G_]92!G>T=R*Cs:;R*C{JA>LAs:;2!G_]92!G_]92!G_]92!Gs:;{BEs:;{BEs:;2!G_]92!G>T=R*Cs:;{BER2?>LAZBEco1w0MBg5NuIVD7::IVD7644#:V/V(Q:V/V(Q:V/NuI6<;]%SdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdS+dR%dy\'du)%=y9 u3%=yA1"}, "Argentina/Catamarca": {"data" : " 9Fi8=J!9Z:I6D7k:I&D7Z:IJ!92c(1g$#*2R%N<-WCSCdCSCSdSCS7SSSd1S+d-Sn"}
    , "Boise": {"data" : " lc&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#+8#V#8#y\'8#w\'1=y11w7#=y1 "}, "Creston": {"data" : " #@T0l+8#+8#n"}, "Miquelon": {"data" : " l!&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#SCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCSCS+SV#Sy\'Sw\'1=y11w7#=y1 "}, "Jamaica": {"data" : " #>8{3+t+tn"}
    , "Rankin_Inlet": {"data" : " hR&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;wD,#Jw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIX#(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#+(#N#(#y\'(#w\'1=y11w7#=y1 "}, "Toronto": {"data" : " lB&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdt+tV#ty\'tw\'1=y11w7#=y1 "}, "Eirunepe": {"data" : " +Js$;!{()!g5FX>5oXq\';tdtdt;tttdtn"}, "Dawson": {"data" :
    " ls&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#+H#V#H#y\'H#w\'1=y11w7#=y1 "}, "Argentina/Mendoza": {"data" : " 9Fi8=J!9geGwe7*!I*o7Z:I:!9Zs&1Bg5&<@%N<-WCdSdSdCSdSCS+S5d3SSd-Sn"}, "Nassau": {"data" : " lB&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdt+tV#ty\'tw\'1=y11w7#=y1 "}
    , "Vancouver": {"data" : " ls&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#+H#V#H#y\'H#w\'1=y11w7#=y1 "}, "Noronha": {"data" : " 16i8=k*5kkw-_]9F]Ge%g@b!g5G3C3C3C3C+C=Cn"}, "Argentina/Cordoba": {"data" : " 9Fi8=J!9Z:I6D7k:I&D7Z:IJ!9N<_5N<-2!G_]9WCSCdCSCSCSCS7SSSdASn"}, "Argentina/La_Rioja": {"data" : " ;Fi8=J!9Z:Is27:F+{B=6D7Z:IJ!92c(1g$#*2R%N<-[CSCdSCSCSdSCS7SSSd5S+d-Sn"}
    , "Regina": {"data" : " #y(}-+(#+(#n"}, "St_Vincent": {"data" : " #aR$2W+d+dn"}, "Scoresbysund": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd3 3 3 3 3 3 3 3+3Y3y\'3u\'\u001e=n)1u5\u001e=n) "}, "Aruba": {"data" : " #m_X\'+d+dn"}, "North_Dakota/Center": {"data" : " jc&<=6<;ZBEJw;FeCJw;F@bZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuI]#8#(#8#(#8#(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#+8#58#+(#:#(#y\'(#w\'1=y11w7#=y1 "}, "Thule": {"data" : " hDXm*S>NR(hgm?*o?gm?>LAZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIX#dSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSd+dN#dy\'dw\'1=y11w7#=y1 "}
    , "Argentina/San_Juan": {"data" : " ;Fi8=J!9Z:Is27:F+{B=6D7Z:IJ!9!Z(1!>)!!L%N<-[CSCdSCSCSdSCS7SSSd5S+d-Sn"}, "Rio_Branco": {"data" : " \'Js$;s__=oXq\'3tdt3tdtn"}, "Los_Angeles": {"data" : " ls&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#+H#V#H#y\'H#w\'1=y11w7#=y1 "}, "St_Thomas": {"data" : " #aR$2W+d+dn"}, "Cancun": {"data" : " tguZ1*s:5FeCJw;FeCJw;k*5&y-Jw;ZBE6<;ZBE>LA_]9>LAFeCJw;FeCJw;ZBE6<;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCN41q#tdtdtdt(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t+t5t+(#J#(#+tn"}
    , "Maceio": {"data" : " 5Fi8=k*5k>()k*5g}X%_]9F]GRURc`!g5OCSCSCSCSCS+SESn"}, "Sitka": {"data" : " l&(<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#+X#V#X#y\'X#w\'1=y11w7#=y1 "}, "Denver": {"data" : " lc&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#+8#V#8#y\'8#w\'1=y11w7#=y1 "}
    , "Cayman": {"data" : " #qVL}Y+t+tn"}, "Thunder_Bay": {"data" : " lB&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdt+tV#ty\'tw\'1=y11w7#=y1 "}, "Nipigon": {"data" : " lB&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdt+tV#ty\'tw\'1=y11w7#=y1 "}, "Havana": {"data" : " zB.8=s2?2*Cs2?.LAc2?.LAc2?.LAc2?.LAc2?.LAwm?wm?wm?.LANT=kBE&<;!!G&<;kBE&<;kBE:w;VeC:w;VeC&<;Z&q#FD7J:IZ!96]GFD7J:IZ!9J:IZ!9_uIZ!9!!G2g5}#tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtd+ts#ty\'ts7#=y  s\'1=y 1"}
    , "Campo_Grande": {"data" : " >#Vi8=k*5:2Mk*5&TKVL3NmM.41NmM!g5ouI!g5ouIk*5ouI6D7kBINT9F]G6D7F]G_]9F]G6D7ouI!g5NmMBo1&TKk*5o}M6<3ouI!g5NmMVL3Z:I!g5&TKk*5&TK!g5ouI!g5ouI6D7ouIk*5&TKk*5&TK!g5ouI!g5ouI!g5ouI!g5NmMBo1a%SdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSd+dV%dn"}, "Cambridge_Bay": {"data" : " hc&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;F@bN}Esc`Jw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIX#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#t(#8#(#8#(#8#(#8#(#8#(#8#(#8#+8#n8#/(#(#U8#y\'8#w\'1=y11w7#=y1 "}
    , "Fortaleza": {"data" : " 1Fi8=k*5kkw-_]9F]GRURc`!g5GCSCSCSCS+S=Sn"}, "Managua": {"data" : " 3J:T/{.<1oPO_<12sq%oHy+R2?>DEc:;K(#t(#t(#t(#t(#7(#t(#t5(#n"}, "Menominee": {"data" : " lR&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#+(#V#(#y\'(#w\'1=y11w7#=y1 "}, "Halifax": {"data" : " l2&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#dSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSd+dV#dy\'dw\'1=y11w7#=y1 "}
    , "Ojinaga": {"data" : " ^u.4Wsw*!#FeCJw;FeCg@bJw;ZBE6<;ZBE>LA_]9>LAFeCJw;FeCJw;ZBE6<;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCk!9NuID#(#t(#t(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#+(#1(#+8#&#8#y\'8#w\'1=y11w7#=y1 "}, "Glace_Bay": {"data" : " l2&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#dSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSd+dV#dy\'dw\'1=y11w7#=y1 "}, "Lower_Princes": {"data" : " #m_X\'+d+dn"}, "Argentina/Tucuman": {"data" : " =Fi8=J!9Z:I6D7k:I&D7Z:IJ!92c(1RE>mR%N<-2!G_]9`CSCdCSCSdSCSCS7SSSd1S+d5Sn"}
    , "Indiana/Petersburg": {"data" : " +g<:+sJ8KVD7F@bNuI;t(#tdt;(#(#(#tty\'tw\'1=y11w7#=y1 "}, "Yakutat": {"data" : " l&(<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#+X#V#X#y\'X#w\'1=y11w7#=y1 "}, "Detroit": {"data" : " lB&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdt+tV#ty\'tw\'1=y11w7#=y1 "}
    , "Merida": {"data" : " ?F,>3Z_X3FeCJw;FeCJw;FeCJw;ZBE6<;ZBE>LA_]9>LAFeCd(#t(#t(#t(#t(#t(#t(#t(#+(#Y(#y\'(#w)#=y11w5\u001e=n1 "}, "Bahia_Banderas": {"data" : " bF#kguEFeCJw;FeCJw;FeCJw;ZBE6<;ZBE>LA_]9>LAFeCJw;FeCJw;ZBE6<;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;JBE6<;L#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#t(#t+8#6#8#3(#(#(#y\'(#w)#=y11w5\u001e=n1 "}, "Matamoros": {"data" : " `6$V;kg@+FeCJw;FeCJw;FeCJw;ZBE6<;ZBE>LA_]9>LAFeCJw;FeCJw;ZBE6<;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCk!9NuIH#(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#+(#>#(#y\'(#w\'1=y11w7#=y1 "}
    , "Indiana/Vevay": {"data" : " +R_$%V$(QZBEVD7NuI;tdtdt+t1ty\'tw\'1=y11w7#=y1 "}, "St_Barthelemy": {"data" : " #aR$2W+d+dn"}, "Argentina/San_Luis": {"data" : " ;Fi8=2w9!oEwe7J_/o,B3!>)!!L%w<#k_\'2!G_]92!G[CdSdSdSCSdSdS+S-d7SdSS1d+Sn"}, "Indiana/Tell_City": {"data" : " )c{UwiwSVD7NuI7t(#t(#+t-(#y\'(#w\'1=y11w7#=y1 "}, "Boa_Vista": {"data" : " +:s$;ZND1_]9F]Ge%;dSdSd+d1dn"}, "Metlakatla": {"data" : " 5o8{3N$&OVD7NuIBg5NuIBg5ssW{g\'NuIOH#X#H#X#H#X#H#X#H#X#+H#EX#y\'X#w\'1=y11w7#=y1 "}, "Tortola": {"data" : " #aR$2W+d+dn"}
    , "Argentina/Jujuy": {"data" : " 5Fi8=J!9!wIJ!9geCN]9Z:IJ!9N<_5N<-OCdSdCSCSCS+S-d+S5Sn"}, "North_Dakota/New_Salem": {"data" : " jc&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;F@bZBE6<;ZBE6<;ZBEVD7NuI]#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#t(#t(#t(#t(#+8#2#8#+(#=(#y\'(#w\'1=y11w7#=y1 "}, "Inuvik": {"data" : " lc&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#+8#V#8#y\'8#w\'1=y11w7#=y1 "}
    , "Port_of_Spain": {"data" : " #aR$2W+d+dn"}, "Paramaribo": {"data" : " #NmZ5+S+Sn"}, "New_York": {"data" : " lB&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdt+tV#ty\'tw\'1=y11w7#=y1 "}, "Manaus": {"data" : " \':s$;!{()!g53dSd3dddn"}, "Resolute": {"data" : " fR&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;wD,#Jw;FeCJw;FeCJw;ZBE6<;ZBE6<;.$.#Bg5T#(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t+(#J#(#y\'(#w\'1=y11w7#=y1 "}
    , "Curacao": {"data" : " #m_X\'+d+dn"}, "North_Dakota/Beulah": {"data" : " zc&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIBg5NuIBg5NuIVD7F@bNuI}#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#t(#+8#k#8#/(#(#y\'(#w\'1=y11w7#=y1 "}, "Bogota": {"data" : " \'m4*uS:,HDjRk[3tdt3tttn"}, "Adak": {"data" : " l6(<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#X#i#+i#V#i#y\'i#w\'1=y11w7#=y1 "}
    , "Mazatlan": {"data" : " ?F#kguEFeCJw;FeCJw;FeCJw;ZBE6<;ZBE>LA_]9>LAFeCd8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#+8#Y8#y\'8#w)#=y11w5\u001e=n1 "}, "Caracas": {"data" : " \'m_X\'!:w^NP$-3dld3dldn"}, "St_Kitts": {"data" : " #aR$2W+d+dn"}, "Argentina/Salta": {"data" : " 5Fi8=J!9Z:I6D7k:I&D7Z:IJ!9N<_5N<-OCSCdCSCSCS7SSSd9Sn"}, "Mexico_City": {"data" : " ?(i};&TubFeCJw;FeCJw;FeCJw;ZBE6<;ZBE>LA_]9>LAFeCd(#t(#t(#t(#t(#t(#t(#t(#+(#Y(#y\'(#w)#=y11w5\u001e=n1 "}, "Edmonton": {"data" : " lc&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#+8#V#8#y\'8#w\'1=y11w7#=y1 "}
    , "Kentucky/Louisville": {"data" : " lB&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdtdt+tV#ty\'tw\'1=y11w7#=y1 "}, "Araguaina": {"data" : " IFi8=k*5k>()k*5ouI6D7kBINT9F]G6D7F]G_]9F]G6D7ouI!g5NmMBo16({-k*5xCSCSCSCSCSCSCSCSCSCS+SnSn"}, "Santo_Domingo": {"data" : " \'{cL\'J6eEBN%3dtd3dtdn"}, "Indiana/Knox": {"data" : " /R&<=6<;ZBEJw;Z&47VD7NuIC(#t(#t(#t(#+(#9(#y\'(#w\'1=y11w7#=y1 "}, "Whitehorse": {"data" :
    " ls&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#+H#V#H#y\'H#w\'1=y11w7#=y1 "}, "Yellowknife": {"data" : " lc&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#(#8#+8#V#8#y\'8#w\'1=y11w7#=y1 "}, "Kentucky/Monticello": {"data" : " jR&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;F@bZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuI]#(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#tdtdtdtdtdtdtdt+(#v(#+tUty\'tw\'1=y11w7#=y1 "}
    , "Asuncion": {"data" : " &#kF:=*w;:w?gm?.DA_]9B*GsB?J!A!o9!wEoe92!GR*;R2GJ!9F]G_]92!Gs:;{BEs:;{BEs:;2!Ggm?!_9o}E6<;ZBER*C_]92!G_]92!G_]9F]GJ!9F]GJ!9F]GR2?s2?{JAs2?{JA*o?>T=0%SdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSd+d&%dy\'dw5#=y 1w\'M=y  "}, "Santarem": {"data" : " %:s$;s__=/dS/dSn"}, "Antigua": {"data" : " #aR$2W+d+dn"}, "Winnipeg": {"data" : " lc&<=&<;kBE:w;VeC:w;VeC:w;kBE&<;kBE&<;kBE:w;VeC:w;VeC:w;VeC:w;kBE&<;kBE&<;kBE:w;VeC:w;VeC:w;kBE&<;kBE&<;ZBEVD7NuIa#(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#+(#V#(#y\'(#w\'1=y11w7#=y1 "}
    , "Recife": {"data" : " 1Fi8=k*5kkw-_]9F]Ge%g@b!g5GCSCSCSCS+S=Sn"}, "Lima": {"data" : " +2VH9FX{#gL/sca%gL/;tdtdt+t1tn"}, "Phoenix": {"data" : " #u*V#+8#+8#n"}, "Martinique": {"data" : " #k{e/+d+dn"}, "St_Johns": {"data" : " !#>.P>36<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIBg5NuIBg5NuIVD7NuIBg5g:];Bg5(%[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K[K+[{#[y\'[w\'1=y11w7#=y1 "}, "Goose_Bay": {"data" : " !#w2P>36<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIBg5NuIBg5NuIVD7NuIBg5g:];Bg5(%dSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdS+d{#dy\'dw\'1=y11w7#=y1 "}
    , "Montevideo": {"data" : " ^o$<=k*5ouI6D7ouI!g5Z:I6D7R>>1>LAR*Cs:;geC*w;{BEs:;{BEs:;{BE*w;geC*w;geC*w;{BEs:;{BEs:;{BEs:;D#CSCSCSCSCSCSCSCSCSCSCSCSCSCSCS+S:#Sn"}, "St_Lucia": {"data" : " #aR$2W+d+dn"}, "Chicago": {"data" : " lR&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#+(#V#(#y\'(#w\'1=y11w7#=y1 "}, "Chihuahua": {"data" : " =u.4Wsw*!#FeCJw;FeCg@bJw;ZBE6<;ZBE>LA_]9>LAFeC`(#t(#t(#8#(#8#(#8#(#8#(#8#+(#1(#+8#A8#y\'8#w)#=y11w5\u001e=n1 "}
    , "La_Paz": {"data" : " #LmZgC+d+dn"}, "Blanc-Sablon": {"data" : " #qmLC+d+dn"}, "Tijuana": {"data" : " xs&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCk!9NuIy#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#+H#o#H#y\'H#w\'1=y11w7#=y1 "}, "Barbados": {"data" : " #Zce/+d+dn"}, "Anchorage": {"data" : " l&(<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#+X#V#X#y\'X#w\'1=y11w7#=y1 "}
    , "Rainy_River": {"data" : " lR&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#t(#+(#V#(#y\'(#w\'1=y11w7#=y1 "}, "Port-au-Prince": {"data" : " `B&<=&<;kBE:w;VeC:w;VeC:w;kBE&<;kBE&<;kBE:w;VeC:w;VeCJg@+ZBE6<;ZBE_0q\'NuIBg5NuIBg5NuIBg5NuIsFzNuIH#tdtdtdtdtdtdtdtdtdtdtdtdtdtdtdt+t>#ty\'tw\'1=y11w7#=y1 "}, "Tegucigalpa": {"data" : " \'koN;6$a964/3(#t(#3(#(#(#n"}, "Cayenne": {"data" : " #L_Z#+S+Sn"}
    , "Marigot": {"data" : " #aR$2W+d+dn"}, "Juneau": {"data" : " l&(<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#H#X#+X#V#X#y\'X#w\'1=y11w7#=y1 "}, "Atikokan": {"data" : " #HX(K+t+(#n"}, "Argentina/Rio_Gallegos": {"data" : " 9Fi8=J!9Z:I6D7Z:I6D7Z:IJ!92c(1g$#*2R%N<-WCSCSCSCSdSCS+S=S+d-Sn"}, "Dawson_Creek": {"data" : " #V0a#+8#+H#n"}, "Dominica": {"data" : " #aR$2W+d+dn"}, "Fort_Nelson":
    {"data" : " .#s&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIBg5NuIBg5NuIVD7NuIBg5NuIBg5NuIBg5NuIBg5NuIBg5@%H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#H#8#+H#2%H#+8#n"}}, "Africa": {"Tunis": {"data" : " 7&q4=B2Gc*;c_N5s*;6D?!!Go]9!!G&<;kBES1A1A1A1A1A1+1I1n"}, "Maputo": {"data" : " #L<aF`+A+An"}, "Casablanca": {"data" : " s\'2:R7:2.A*_/w(Q2_-ZBM.41ouIk*5:*QRg-_,%F$\'kBEJ_+2F%oD-&<;wL/BN%&$/&<;_<-BN%>41&<;J_+BN%gL3o]9!F)V,\'{*5o]9kg\'BN%:RYBN%&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWBN%:RYBN%&uWV,\'&uWBN%:RY"
    + "BN%&uWV,\'&uWBN%:RYBN%&uWBN%m/ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1+ R# +1.-1n"}, "Johannesburg": {"data" : " #<_VE+A+An"}, "Addis_Ababa": {"data" : " #L42c)+Q+Qn"}, "Lagos": {"data" : " #q.{]O+1+1n"}, "Accra": {"data" : " #q:_a9+ + n"}, "Nairobi": {"data" : " #L42c)+Q+Qn"}, "Brazzaville": {"data" : " #q.{]O+1+1n"}, "Lubumbashi": {"data" : " #L<aF`+A+An"}, "Banjul":
    {"data" : " #y!_8W+ + n"}, "Porto-Novo": {"data" : " #q.{]O+1+1n"}, "Lusaka": {"data" : " #L<aF`+A+An"}, "Kigali": {"data" : " #L<aF`+A+An"}, "Ouagadougou": {"data" : " #y!_8W+ + n"}, "Freetown": {"data" : " #y!_8W+ + n"}, "Ndjamena": {"data" : " #JJ@/+1+1n"}, "Conakry": {"data" : " #y!_8W+ + n"}, "Niamey": {"data" : " #q.{]O+1+1n"}, "Maseru": {"data" : " #<_VE+A+An"}, "El_Aaiun": {"data" : " s\'F]2-&mLK*_/w(Q2_-ZBM.41ouIk*5:*QRg-_,%F$\'kBEJ_+2F%oD-&<;wL/BN%&$/&<;_<-BN%>41&<;J_+BN%gL3o]9!F)V,\'{*5o]9kg\'BN%:RYBN%&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWV,\'&uWBN%:RYBN%&uWBN%:RYBN%&uWV,\'&uWBN%:RY"
    + "BN%&uWV,\'&uWBN%:RYBN%&uWBN%m/ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1+ R# +1.-1n"}, "Sao_Tome": {"data" : " \'D:ktoDB_#gHb3 1 3 1 n"}, "Ceuta": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}, "Khartoum": {"data" : " \':2D7g]85J&m93AQA3AQAn"}, "Algiers": {"data" : " #_L01+1+1n"}, "Bujumbura": {"data" :
    " #L<aF`+A+An"}, "Bangui": {"data" : " #q.{]O+1+1n"}, "Gaborone": {"data" : " #L<aF`+A+An"}, "Juba": {"data" : " %:2D7g]85/AQ/AQn"}, "Windhoek": {"data" : " (#Xa<GgTejoL=ZBE6<;o}E!_9o}E6<;ZBE6<;ZBE6<;ZBE6<;ZBE6<;o}E!_9o}E6<;ZBE6<;ZBE6<;ZBE6<;ZBE6<;o}E6<;ZBE6<;ZBE6<;ZBE6<;ZBE6<;o}E!_9o}E6<;ZBE6<;ZBE6<;ZBE6<;4%A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A+A*%An"}, "Dar_es_Salaam": {"data" : " #L42c)+Q+Qn"}, "Harare": {"data" : " #L<aF`+A+An"}, "Tripoli": {"data" : " -*N6=omE6eX)k2AVH67gT7?1A1A1A/1A11n"}
    , "Malabo": {"data" : " #q.{]O+1+1n"}, "Libreville": {"data" : " #q.{]O+1+1n"}, "Abidjan": {"data" : " #y!_8W+ + n"}, "Luanda": {"data" : " #q.{]O+1+1n"}, "Lome": {"data" : " #y!_8W+ + n"}, "Nouakchott": {"data" : " #y!_8W+ + n"}, "Bissau": {"data" : " #gaX\'+ + n"}, "Asmara": {"data" : " #L42c)+Q+Qn"}, "Kinshasa": {"data" : " #q.{]O+1+1n"}, "Mogadishu": {"data" : " #L42c)+Q+Qn"}, "Djibouti": {"data" : " #L42c)+Q+Qn"}, "Douala": {"data" : " #q.{]O+1+1n"}, "Kampala": {"data" : " #L42c)+Q+Qn"}, "Dakar": {"data"
    : " #y!_8W+ + n"}, "Cairo": {"data" : " (#JN6={RE&4;{RE&4;.]E&4;{RE&4;{RE&4;VuCs:;>TEs:;.LEs:;.LEs:;.LEs:;>TEs:;.LEs:;.LEs:;.LEs:;>TEs:;.LEs:;.LEB!;_eE&<7.TI_T5B2Kk*56]K&43_$%c^VuX%F,\'RN%_<)4%AQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQAQA+A*%An"}, "Blantyre": {"data" : " #L<aF`+A+An"}, "Monrovia": {"data" : " #sTTx+ + n"}, "Mbabane": {"data" : " #<_VE+A+An"}, "Bamako": {"data" : " #y!_8W+ + n"}}, "Indian": {"Reunion": {"data" : " #0!@RW+b+bn"}, "Maldives": {"data" : " #aJ2c)+r+rn"}, "Christmas": {"data"
    : " #yB44h+6#+6#n"}, "Chagos": {"data" : " %P2eX[_.4mt/r&#/r&#n"}, "Antananarivo": {"data" : " #L42c)+Q+Qn"}, "Mahe": {"data" : " #,XDs[+b+bn"}, "Mayotte": {"data" : " #L42c)+Q+Qn"}, "Kerguelen": {"data" : " #LoF=+r+rn"}, "Mauritius": {"data" : " \'Z{P3&mHEs:;3brb3bbbn"}, "Comoro": {"data" : " #L42c)+Q+Qn"}, "Cocos": {"data" : " #a*}sb+.#+.#n"}}, "Antarctica": {"Macquarie": {"data" : " tw}:=Z!96]G&<;.LAc2?.LAc2?.LAc2?.LAc2?.LAwm?.LAc2?.LAc2?.LAc2?.LAc2?&<;kBEB*Cc2?.LAc2?.LAc2?.LAc2?.LAwm?wm?c2?B*Cwm?wm?wm?wm?q#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#+g#g#g#n"}
    , "Palmer": {"data" : " 0#Vi8=_]9>LAR2?2!Gs:;{BEs:;{BEs:;{BEs:;2!G_]92!G>T=R*Cs:;R*C{JA>LAs:;2!G_]92!G_]92!G_]92!Gs:;{BEs:;{BEs:;2!G_]92!G>T=R*Cs:;{BER2?>LAZBEco1w0MBg5NuIVD7::IVD7644#:V/D%SdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdS+d:%dn"}, "Troll": {"data" : " \'ZeR4o12(]g23!!G3 A 3   y\' u\'\u001e=n)Au5\u001e=n) "}, "Casey": {"data" : " /P,dR:D[gm7Ny0#Jw3Jw@\':.|CF#w#F#w#F#w#F#CF#w#F#w#F#w#F#n"}, "Vostok": {"data" : " #(0a1+&#+&#n"}, "Syowa": {"data" : " #u:>3+Q+Qn"}, "DumontDUrville": {"data"
    : " #DBN3+g#+g#n"}, "McMurdo": {"data" : " nw(8=:w;VeC:w;VeC:w;VeCNT=B*CNT=B*CNT=B*CNT=VeC:w;VeC:w;VeCNT=B*CNT=B*CNT=VeC:w;VeC:w;VeCNT=B*CNT=B*CNT=B*CNT=B*C.LAe#:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%:%*%+*%Z#*%y\'*%s3\u001e=n11s)#=y1 "}, "Mawson": {"data" : " %uBJ7:R*r/&#r/&#rn"}, "Davis": {"data" : " +,>^>L>[ND9gD0#kw3;6#r6#r6#;6#r6#r6#n"}, "Rothera": {"data" : " #>4})+S+Sn"}}, "Australia": {"Broken_Hill": {"data" : " p!!<=2g5_uI2g5_uI2g5_uIFD7_uI2g5_uI2g5_uI&<;kBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!G&<;kBEo]9!!G:w;wm?i#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#+_#_#_#y\'_#s)#=y1 s5#=y11"}
    , "Darwin": {"data" : " #D&VE+_#+_#n"}, "Brisbane": {"data" : " -w}:=2g5_uI2g5_uI2g5?w#g#w#g#w#g#+g#5g#n"}, "Currie": {"data" : " nw}:=Z!96]G&<;.LAc2?.LAc2?.LAc2?.LAc2?.LAwm?.LAc2?.LAc2?.LAc2?.LAc2?&<;kBEB*Cc2?.LAc2?.LAc2?.LAc2?.LAwm?wm?c2?B*Cwm?e#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#+g#Z#g#y\'g#s5#=y11s)#=y1 "}, "Lord_Howe": {"data" : " po}:=*g5guI*g5guI*g5guI>D7guI*g5guI*g5guI{:;sBE{:;sBE{:;sBE{:;*!Gg]9.<;cBE*!G{:;sBE{:;sBE{:;*!Gg]9*!G{:;sBEg]9*!G2w;!o?i#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#o#w#+o#_#o#y\'o#w)#=y1 w5#=y1)"}
    , "Lindeman": {"data" : " 5w}:=2g5_uI2g5_uI2g5_uIFD7_uI2g5Ow#g#w#g#w#g#w#g#w#g#+g#Eg#n"}, "Perth": {"data" : " 3.]45_]R+Ro1_DZ5gL3!!G&<;kBE&<;KF#V#F#V#F#V#F#V#F#+F#AF#n"}, "Adelaide": {"data" : " p!!<=Z!96]G2g5_uIo]9!!GFD7_uIZ!96]Go]9!!G&<;kBE&<;kBE&<;kBE&<;!!Go]9!!Go]9!!G&<;kBE&<;kBE&<;!!Go]9!!G&<;kBEo]9!!G:w;wm?i#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#_#o#+_#_#_#y\'_#s)#=y1 s5#=y11"}, "Eucla": {"data" : " 3&w:_-_]R+Ro1_DZ5gL3!!G&<;kBE&<;Kc|w*#c|w*#c|w*#c|w*#c|+c|Ac|n"}
    , "Sydney": {"data" : " pw}:=2g5_uI2g5_uI2g5_uIFD7_uI2g5_uI2g5_uI&<;kBE&<;kBE&<;kBE&<;!!Go]9&<;kBE!!G&<;kBE&<;kBE&<;!!Go]9!!G&<;kBEo]9!!G:w;wm?i#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#+g#_#g#y\'g#s)#=y1 s5#=y11"}, "Melbourne": {"data" : " pw}:=Z!96]G2g5_uI2g5_uIFD7_uI2g5_uIo]9!!G&<;kBE&<;kBE&<;kBE&<;!!Go]9&<;kBE!!G&<;kBE&<;kBE&<;!!Go]9!!G&<;kBEo]9!!G:w;wm?i#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#+g#_#g#y\'g#s)#=y1 s5#=y11"}, "Hobart":
    {"data" : " nw}:=Z!96]G&<;.LAc2?.LAc2?.LAc2?.LAc2?.LAwm?.LAc2?.LAc2?.LAc2?.LAc2?&<;kBEB*Cc2?.LAc2?.LAc2?.LAc2?.LAwm?wm?c2?B*Cwm?e#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#w#g#+g#Z#g#y\'g#s5#=y11s)#=y1 "}}, "Arctic": {"Longyearbyen": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd1A1A1A1A1A1A1A1+1Y1y\'1u\'\u001e=n)1u5\u001e=n) "}}, "Atlantic": {"St_Helena": {"data" : " #y!_8W+ + n"}, "Reykjavik": {"data" : " #yP8#+ + n"}, "Stanley": {"data" : " xNX2=&]Gk!9&]G!_9o}E!_9o}E!_9o}E!_9o}E!_9&]G!_9o}E!_9o}E!_9o}E!_9o}E!_92!Gk!9::IVD7::Ik!9&]Gk!9&]Gk!9&]Gk!9&]Gk!9::Ik!9&]Gk!9&]Gk!9y#SdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdS+dk#d+Sn"}
    , "Faroe": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd 1 1 1 1 1 1 1 + Y y\' u\'\u001e=n)1u5\u001e=n) "}, "Madeira": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd 1 1 1 1 1 1 1 + Y y\' u\'\u001e=n)1u5\u001e=n) "}, "Canary": {"data" : " ?Fq4=wm?.LAwm?wm?wm?wm?wm?wm?wm?wm?wm?wm?.LAkBEd 1 1 1 1 1 1 1 + Y y\' u\'\u001e=n)1u5\u001e=n) "}, "Bermuda": {"data" : " l2&<=6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEJw;FeCJw;FeCJw;ZBE6<;ZBE6<;ZBEVD7NuIa#dSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSdSd+dV#dy\'dw\'1=y11w7#=y1 "}
    , "Azores": {"data" : " ;Vq4=wm?.LAwm?wm?wm?&q&#wm?wm?wm?wm?.LAkBE[3 3 3 3 3 3 3+3Q3y\'3u\'\u001e=n)1u5\u001e=n) "}, "South_Georgia": {"data" : " #0:(Xl+C+Cn"}, "Cape_Verde": {"data" : " #>L8)+3+3n"}}};
}
function ju_IANATimeZone() {
    var a = this; ju_TimeZone.call(a);
    a.$underlyingZone = null;
    a.$rawOffset = 0;
    a.$diff = 0;
}
function ju_IANATimeZone__init_(var_0) {
    var var_1 = new ju_IANATimeZone();
    ju_IANATimeZone__init_0(var_1, var_0);
    return var_1;
}
function ju_IANATimeZone__init_0($this, $underlyingZone) {
    $this.$id4 = $underlyingZone.$iID;
    $this.$underlyingZone = $underlyingZone;
    $this.$rawOffset = $underlyingZone.$getStandardOffset(jl_System_currentTimeMillis());
    $this.$diff =  -$this.$rawOffset;
}
function ju_IANATimeZone_getOffset($this, $time) {
    return ($this.$rawOffset + $this.$diff | 0) + $this.$underlyingZone.$getOffset($time) | 0;
}
function ju_IANATimeZone_getRawOffset($this) {
    return $this.$rawOffset;
}
function ju_IANATimeZone_clone($this) {
    var $copy, $$je;
    a: {
        try {
            $copy = jl_Object_clone($this);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_CloneNotSupportedException) {
            } else {
                throw $$e;
            }
        }
        $copy = null;
    }
    $copy = $copy;
    $copy.$rawOffset = $this.$rawOffset;
    $copy.$underlyingZone = $this.$underlyingZone;
    return $copy;
}
function ju_IANATimeZone_clone0($this) {
    return ju_IANATimeZone_clone($this);
}
function jur_AbstractCharClass$PredefinedCharacterClasses() {
    jl_Object.call(this);
}
var jur_AbstractCharClass$PredefinedCharacterClasses_space = null;
var jur_AbstractCharClass$PredefinedCharacterClasses_digit = null;
var jur_AbstractCharClass$PredefinedCharacterClasses_contents = null;
function jur_AbstractCharClass$PredefinedCharacterClasses__init_0() {
    var var_0 = new jur_AbstractCharClass$PredefinedCharacterClasses();
    jur_AbstractCharClass$PredefinedCharacterClasses__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$PredefinedCharacterClasses__init_($this) {
    return;
}
function jur_AbstractCharClass$PredefinedCharacterClasses_getObject($this, $name) {
    var $i, var$3, $row;
    $i = 0;
    while (true) {
        if ($i >= jur_AbstractCharClass$PredefinedCharacterClasses_contents.data.length) {
            var$3 = new ju_MissingResourceException;
            jl_Throwable__init_(var$3, $rt_s(36));
            var$3.$className = $rt_s(36);
            var$3.$key0 = $name;
            $rt_throw(var$3);
        }
        $row = jur_AbstractCharClass$PredefinedCharacterClasses_contents.data[$i].data;
        if (jl_String_equals($name, $row[0]))
            break;
        $i = $i + 1 | 0;
    }
    return $row[1];
}
function jur_AbstractCharClass$PredefinedCharacterClasses__clinit_() {
    var var$1, var$2, var$3, var$4;
    jur_AbstractCharClass$PredefinedCharacterClasses_space = jur_AbstractCharClass$LazySpace__init_0();
    jur_AbstractCharClass$PredefinedCharacterClasses_digit = jur_AbstractCharClass$LazyDigit__init_0();
    var$1 = $rt_createArray($rt_arraycls(jl_Object), 194);
    var$2 = var$1.data;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(652);
    var$4[1] = jur_AbstractCharClass$LazyLower__init_0();
    var$2[0] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(653);
    var$4[1] = jur_AbstractCharClass$LazyUpper__init_0();
    var$2[1] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(654);
    var$4[1] = jur_AbstractCharClass$LazyASCII__init_0();
    var$2[2] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(655);
    var$4[1] = jur_AbstractCharClass$LazyAlpha__init_0();
    var$2[3] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(656);
    var$4[1] = jur_AbstractCharClass$PredefinedCharacterClasses_digit;
    var$2[4] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(657);
    var$4[1] = jur_AbstractCharClass$LazyAlnum__init_0();
    var$2[5] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(658);
    var$4[1] = jur_AbstractCharClass$LazyPunct__init_0();
    var$2[6] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(659);
    var$4[1] = jur_AbstractCharClass$LazyGraph__init_0();
    var$2[7] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(660);
    var$4[1] = jur_AbstractCharClass$LazyPrint__init_0();
    var$2[8] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(661);
    var$4[1] = jur_AbstractCharClass$LazyBlank__init_0();
    var$2[9] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(662);
    var$4[1] = jur_AbstractCharClass$LazyCntrl__init_0();
    var$2[10] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(663);
    var$4[1] = jur_AbstractCharClass$LazyXDigit__init_0();
    var$2[11] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(664);
    var$4[1] = jur_AbstractCharClass$LazyJavaLowerCase__init_0();
    var$2[12] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(665);
    var$4[1] = jur_AbstractCharClass$LazyJavaUpperCase__init_0();
    var$2[13] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(666);
    var$4[1] = jur_AbstractCharClass$LazyJavaWhitespace__init_0();
    var$2[14] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(667);
    var$4[1] = jur_AbstractCharClass$LazyJavaMirrored__init_0();
    var$2[15] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(668);
    var$4[1] = jur_AbstractCharClass$LazyJavaDefined__init_0();
    var$2[16] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(669);
    var$4[1] = jur_AbstractCharClass$LazyJavaDigit__init_0();
    var$2[17] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(670);
    var$4[1] = jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_0();
    var$2[18] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(671);
    var$4[1] = jur_AbstractCharClass$LazyJavaISOControl__init_0();
    var$2[19] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(672);
    var$4[1] = jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_0();
    var$2[20] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(673);
    var$4[1] = jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_0();
    var$2[21] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(674);
    var$4[1] = jur_AbstractCharClass$LazyJavaLetter__init_0();
    var$2[22] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(675);
    var$4[1] = jur_AbstractCharClass$LazyJavaLetterOrDigit__init_0();
    var$2[23] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(676);
    var$4[1] = jur_AbstractCharClass$LazyJavaSpaceChar__init_0();
    var$2[24] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(677);
    var$4[1] = jur_AbstractCharClass$LazyJavaTitleCase__init_0();
    var$2[25] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(678);
    var$4[1] = jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_0();
    var$2[26] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(679);
    var$4[1] = jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_0();
    var$2[27] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(680);
    var$4[1] = jur_AbstractCharClass$PredefinedCharacterClasses_space;
    var$2[28] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(681);
    var$4[1] = jur_AbstractCharClass$LazyWord__init_0();
    var$2[29] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(93);
    var$4[1] = jur_AbstractCharClass$LazyNonWord__init_0();
    var$2[30] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(528);
    var$4[1] = jur_AbstractCharClass$PredefinedCharacterClasses_space;
    var$2[31] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(107);
    var$4[1] = jur_AbstractCharClass$LazyNonSpace__init_0();
    var$2[32] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(682);
    var$4[1] = jur_AbstractCharClass$PredefinedCharacterClasses_digit;
    var$2[33] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(108);
    var$4[1] = jur_AbstractCharClass$LazyNonDigit__init_0();
    var$2[34] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(683);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(0, 127);
    var$2[35] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(684);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(128, 255);
    var$2[36] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(685);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(256, 383);
    var$2[37] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(686);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(384, 591);
    var$2[38] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(687);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(592, 687);
    var$2[39] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(688);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(688, 767);
    var$2[40] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(689);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(768, 879);
    var$2[41] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(690);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(880, 1023);
    var$2[42] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(691);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(1024, 1279);
    var$2[43] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(692);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(1280, 1327);
    var$2[44] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(693);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(1328, 1423);
    var$2[45] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(694);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(1424, 1535);
    var$2[46] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(695);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(1536, 1791);
    var$2[47] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(696);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(1792, 1871);
    var$2[48] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(697);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(1872, 1919);
    var$2[49] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(698);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(1920, 1983);
    var$2[50] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(699);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(2304, 2431);
    var$2[51] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(700);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(2432, 2559);
    var$2[52] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(701);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(2560, 2687);
    var$2[53] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(702);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(2688, 2815);
    var$2[54] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(703);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(2816, 2943);
    var$2[55] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(704);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(2944, 3071);
    var$2[56] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(705);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(3072, 3199);
    var$2[57] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(706);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(3200, 3327);
    var$2[58] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(707);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(3328, 3455);
    var$2[59] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(708);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(3456, 3583);
    var$2[60] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(709);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(3584, 3711);
    var$2[61] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(710);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(3712, 3839);
    var$2[62] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(711);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(3840, 4095);
    var$2[63] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(712);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(4096, 4255);
    var$2[64] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(713);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(4256, 4351);
    var$2[65] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(714);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(4352, 4607);
    var$2[66] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(715);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(4608, 4991);
    var$2[67] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(716);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(4992, 5023);
    var$2[68] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(717);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(5024, 5119);
    var$2[69] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(718);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(5120, 5759);
    var$2[70] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(719);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(5760, 5791);
    var$2[71] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(720);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(5792, 5887);
    var$2[72] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(721);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(5888, 5919);
    var$2[73] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(722);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(5920, 5951);
    var$2[74] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(723);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(5952, 5983);
    var$2[75] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(724);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(5984, 6015);
    var$2[76] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(725);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(6016, 6143);
    var$2[77] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(726);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(6144, 6319);
    var$2[78] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(727);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(6400, 6479);
    var$2[79] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(728);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(6480, 6527);
    var$2[80] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(729);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(6528, 6623);
    var$2[81] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(730);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(6624, 6655);
    var$2[82] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(731);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(6656, 6687);
    var$2[83] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(732);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(7424, 7551);
    var$2[84] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(733);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(7552, 7615);
    var$2[85] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(734);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(7616, 7679);
    var$2[86] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(735);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(7680, 7935);
    var$2[87] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(736);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(7936, 8191);
    var$2[88] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(737);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(8192, 8303);
    var$2[89] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(738);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(8304, 8351);
    var$2[90] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(739);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(8352, 8399);
    var$2[91] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(740);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(8400, 8447);
    var$2[92] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(741);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(8448, 8527);
    var$2[93] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(742);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(8528, 8591);
    var$2[94] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(743);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(8592, 8703);
    var$2[95] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(744);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(8704, 8959);
    var$2[96] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(745);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(8960, 9215);
    var$2[97] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(746);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(9216, 9279);
    var$2[98] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(747);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(9280, 9311);
    var$2[99] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(748);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(9312, 9471);
    var$2[100] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(749);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(9472, 9599);
    var$2[101] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(750);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(9600, 9631);
    var$2[102] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(751);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(9632, 9727);
    var$2[103] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(752);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(9728, 9983);
    var$2[104] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(753);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(9984, 10175);
    var$2[105] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(754);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(10176, 10223);
    var$2[106] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(755);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(10224, 10239);
    var$2[107] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(756);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(10240, 10495);
    var$2[108] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(757);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(10496, 10623);
    var$2[109] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(758);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(10624, 10751);
    var$2[110] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(759);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(10752, 11007);
    var$2[111] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(760);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(11008, 11263);
    var$2[112] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(761);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(11264, 11359);
    var$2[113] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(762);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(11392, 11519);
    var$2[114] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(763);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(11520, 11567);
    var$2[115] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(764);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(11568, 11647);
    var$2[116] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(765);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(11648, 11743);
    var$2[117] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(766);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(11776, 11903);
    var$2[118] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(767);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(11904, 12031);
    var$2[119] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(768);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12032, 12255);
    var$2[120] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(769);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12272, 12287);
    var$2[121] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(770);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12288, 12351);
    var$2[122] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(771);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12352, 12447);
    var$2[123] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(772);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12448, 12543);
    var$2[124] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(773);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12544, 12591);
    var$2[125] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(774);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12592, 12687);
    var$2[126] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(775);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12688, 12703);
    var$2[127] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(776);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12704, 12735);
    var$2[128] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(777);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12736, 12783);
    var$2[129] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(778);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12784, 12799);
    var$2[130] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(779);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(12800, 13055);
    var$2[131] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(780);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(13056, 13311);
    var$2[132] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(781);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(13312, 19893);
    var$2[133] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(782);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(19904, 19967);
    var$2[134] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(783);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(19968, 40959);
    var$2[135] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(784);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(40960, 42127);
    var$2[136] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(785);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(42128, 42191);
    var$2[137] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(786);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(42752, 42783);
    var$2[138] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(787);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(43008, 43055);
    var$2[139] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(788);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(44032, 55203);
    var$2[140] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(789);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(55296, 56191);
    var$2[141] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(790);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(56192, 56319);
    var$2[142] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(791);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(56320, 57343);
    var$2[143] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(792);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(57344, 63743);
    var$2[144] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(793);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(63744, 64255);
    var$2[145] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(794);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(64256, 64335);
    var$2[146] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(795);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(64336, 65023);
    var$2[147] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(796);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(65024, 65039);
    var$2[148] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(797);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(65040, 65055);
    var$2[149] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(798);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(65056, 65071);
    var$2[150] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(799);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(65072, 65103);
    var$2[151] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(800);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(65104, 65135);
    var$2[152] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(801);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(65136, 65279);
    var$2[153] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(802);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(65280, 65519);
    var$2[154] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(803);
    var$4[1] = jur_AbstractCharClass$LazyRange__init_(0, 1114111);
    var$2[155] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(804);
    var$4[1] = jur_AbstractCharClass$LazySpecialsBlock__init_0();
    var$2[156] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(805);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(0, 1);
    var$2[157] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(806);
    var$4[1] = jur_AbstractCharClass$LazyCategoryScope__init_(62, 1);
    var$2[158] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(807);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(1, 1);
    var$2[159] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(808);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(2, 1);
    var$2[160] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(809);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(3, 0);
    var$2[161] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(810);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(4, 0);
    var$2[162] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(811);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(5, 1);
    var$2[163] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(812);
    var$4[1] = jur_AbstractCharClass$LazyCategoryScope__init_(448, 1);
    var$2[164] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(813);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(6, 1);
    var$2[165] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(814);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(7, 0);
    var$2[166] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(815);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(8, 1);
    var$2[167] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(125);
    var$4[1] = jur_AbstractCharClass$LazyCategoryScope__init_(3584, 1);
    var$2[168] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(816);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(9, 1);
    var$2[169] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(817);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(10, 1);
    var$2[170] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(818);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(11, 1);
    var$2[171] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(819);
    var$4[1] = jur_AbstractCharClass$LazyCategoryScope__init_(28672, 0);
    var$2[172] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(820);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(12, 0);
    var$2[173] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(821);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(13, 0);
    var$2[174] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(822);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(14, 0);
    var$2[175] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(823);
    var$4[1] = jur_AbstractCharClass$LazyCategoryScope__init_0(983040, 1, 1);
    var$2[176] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(824);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(15, 0);
    var$2[177] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(825);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(16, 1);
    var$2[178] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(826);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(18, 1);
    var$2[179] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(827);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_0(19, 0, 1);
    var$2[180] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(828);
    var$4[1] = jur_AbstractCharClass$LazyCategoryScope__init_(1643118592, 1);
    var$2[181] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(829);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(20, 0);
    var$2[182] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(830);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(21, 0);
    var$2[183] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(831);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(22, 0);
    var$2[184] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(832);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(23, 0);
    var$2[185] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(833);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(24, 1);
    var$2[186] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(834);
    var$4[1] = jur_AbstractCharClass$LazyCategoryScope__init_(2113929216, 1);
    var$2[187] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(835);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(25, 1);
    var$2[188] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(836);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(26, 0);
    var$2[189] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(837);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(27, 0);
    var$2[190] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(838);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(28, 1);
    var$2[191] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(839);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(29, 0);
    var$2[192] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(840);
    var$4[1] = jur_AbstractCharClass$LazyCategory__init_(30, 0);
    var$2[193] = var$3;
    jur_AbstractCharClass$PredefinedCharacterClasses_contents = var$1;
}
function jur_AbstractCharClass$LazyCharClass() {
    var a = this; jl_Object.call(a);
    a.$posValue = null;
    a.$negValue = null;
}
function jur_AbstractCharClass$LazyCharClass_getValue($this, $negative) {
    if (!$negative && $this.$posValue === null)
        $this.$posValue = $this.$computeValue();
    else if ($negative && $this.$negValue === null)
        $this.$negValue = jur_AbstractCharClass_setNegative($this.$computeValue(), 1);
    if ($negative)
        return $this.$negValue;
    return $this.$posValue;
}
function jur_UCISupplCharSet() {
    jur_LeafSet.call(this);
    this.$ch0 = 0;
}
function jur_UCISupplCharSet_accepts($this, $strIndex, $testString) {
    var $low, $high;
    $low = $strIndex + 1 | 0;
    $high = jl_String_charAt($testString, $strIndex);
    $low = jl_String_charAt($testString, $low);
    return $this.$ch0 != jl_Character_toLowerCase0(jl_Character_toUpperCase(jl_Character_toCodePoint($high, $low))) ? (-1) : 2;
}
function jur_UCISupplCharSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(631));
    jl_AbstractStringBuilder_append(var$1, jl_String__init_(jl_Character_toChars($this.$ch0)));
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_LowSurrogateCharSet() {
    jur_JointSet.call(this);
    this.$low0 = 0;
}
function jur_LowSurrogateCharSet__init_(var_0) {
    var var_1 = new jur_LowSurrogateCharSet();
    jur_LowSurrogateCharSet__init_0(var_1, var_0);
    return var_1;
}
function jur_LowSurrogateCharSet__init_0($this, $low) {
    jur_AbstractSet__init_($this);
    $this.$low0 = $low;
}
function jur_LowSurrogateCharSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_LowSurrogateCharSet_matches($this, $stringIndex, $testString, $matchResult) {
    var var$4, $low;
    var$4 = $stringIndex + 1 | 0;
    if (var$4 > $matchResult.$rightBound0) {
        $matchResult.$hitEnd = 1;
        return (-1);
    }
    $low = jl_String_charAt($testString, $stringIndex);
    if ($stringIndex > $matchResult.$leftBound0 && jl_Character_isHighSurrogate(jl_String_charAt($testString, $stringIndex - 1 | 0)))
        return (-1);
    if ($this.$low0 != $low)
        return (-1);
    return $this.$next4.$matches0(var$4, $testString, $matchResult);
}
function jur_LowSurrogateCharSet_find($this, $strIndex, $testString, $matchResult) {
    var $testStr, $startStr, $strLength, var$7, var$8;
    if (!($testString instanceof jl_String))
        return jur_AbstractSet_find($this, $strIndex, $testString, $matchResult);
    $testStr = $testString;
    $startStr = $matchResult.$leftBound0;
    $strLength = $matchResult.$rightBound0;
    while (true) {
        if ($strIndex >= $strLength)
            return (-1);
        var$7 = jl_String_indexOf($testStr, $this.$low0, $strIndex);
        if (var$7 < 0)
            return (-1);
        if (var$7 > $startStr && jl_Character_isHighSurrogate(jl_String_charAt($testStr, var$7 - 1 | 0))) {
            $strIndex = var$7 + 1 | 0;
            continue;
        }
        var$8 = $this.$next4;
        $strIndex = var$7 + 1 | 0;
        if (var$8.$matches0($strIndex, $testString, $matchResult) >= 0)
            break;
    }
    return var$7;
}
function jur_LowSurrogateCharSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult) {
    var $startStr, $testStr;
    if (!($testString instanceof jl_String))
        return jur_AbstractSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult);
    $startStr = $matchResult.$leftBound0;
    $testStr = $testString;
    a: {
        while (true) {
            if ($lastIndex < $strIndex)
                return (-1);
            $lastIndex = jl_String_lastIndexOf0($testStr, $this.$low0, $lastIndex);
            if ($lastIndex < 0)
                break a;
            if ($lastIndex < $strIndex)
                break a;
            if ($lastIndex > $startStr && jl_Character_isHighSurrogate(jl_String_charAt($testStr, $lastIndex - 1 | 0))) {
                $lastIndex = $lastIndex + (-2) | 0;
                continue;
            }
            if ($this.$next4.$matches0($lastIndex + 1 | 0, $testString, $matchResult) >= 0)
                break;
            $lastIndex = $lastIndex + (-1) | 0;
        }
        return $lastIndex;
    }
    return (-1);
}
function jur_LowSurrogateCharSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    jl_AbstractStringBuilder_append0(var$1, $this.$low0);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_LowSurrogateCharSet_first($this, $set) {
    if ($set instanceof jur_CharSet)
        return 0;
    if ($set instanceof jur_RangeSet)
        return 0;
    if ($set instanceof jur_SupplRangeSet)
        return 0;
    if ($set instanceof jur_SupplCharSet)
        return 0;
    if ($set instanceof jur_HighSurrogateCharSet)
        return 0;
    if (!($set instanceof jur_LowSurrogateCharSet))
        return 1;
    return $set.$low0 != $this.$low0 ? 0 : 1;
}
function jur_LowSurrogateCharSet_hasConsumed($this, $matchResult) {
    return 1;
}
function jur_HighSurrogateCharSet() {
    jur_JointSet.call(this);
    this.$high0 = 0;
}
function jur_HighSurrogateCharSet__init_(var_0) {
    var var_1 = new jur_HighSurrogateCharSet();
    jur_HighSurrogateCharSet__init_0(var_1, var_0);
    return var_1;
}
function jur_HighSurrogateCharSet__init_0($this, $high) {
    jur_AbstractSet__init_($this);
    $this.$high0 = $high;
}
function jur_HighSurrogateCharSet_setNext($this, $next) {
    $this.$next4 = $next;
}
function jur_HighSurrogateCharSet_matches($this, $stringIndex, $testString, $matchResult) {
    var $strLength, var$5, $low, $high;
    $strLength = $matchResult.$rightBound0;
    var$5 = $stringIndex + 1 | 0;
    $low = $rt_compare(var$5, $strLength);
    if ($low > 0) {
        $matchResult.$hitEnd = 1;
        return (-1);
    }
    $high = jl_String_charAt($testString, $stringIndex);
    if ($low < 0 && jl_Character_isLowSurrogate(jl_String_charAt($testString, var$5)))
        return (-1);
    if ($this.$high0 != $high)
        return (-1);
    return $this.$next4.$matches0(var$5, $testString, $matchResult);
}
function jur_HighSurrogateCharSet_find($this, $strIndex, $testString, $matchResult) {
    var $testStr, $strLength, var$6;
    if (!($testString instanceof jl_String))
        return jur_AbstractSet_find($this, $strIndex, $testString, $matchResult);
    $testStr = $testString;
    $strLength = $matchResult.$rightBound0;
    while (true) {
        if ($strIndex >= $strLength)
            return (-1);
        var$6 = jl_String_indexOf($testStr, $this.$high0, $strIndex);
        if (var$6 < 0)
            return (-1);
        $strIndex = var$6 + 1 | 0;
        if ($strIndex < $strLength && jl_Character_isLowSurrogate(jl_String_charAt($testStr, $strIndex))) {
            $strIndex = var$6 + 2 | 0;
            continue;
        }
        if ($this.$next4.$matches0($strIndex, $testString, $matchResult) >= 0)
            break;
    }
    return var$6;
}
function jur_HighSurrogateCharSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult) {
    var $testStr, $strLength, var$7;
    if (!($testString instanceof jl_String))
        return jur_AbstractSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult);
    $testStr = $testString;
    $strLength = $matchResult.$rightBound0;
    a: {
        while (true) {
            if ($lastIndex < $strIndex)
                return (-1);
            $lastIndex = jl_String_lastIndexOf0($testStr, $this.$high0, $lastIndex);
            if ($lastIndex < 0)
                break a;
            if ($lastIndex < $strIndex)
                break a;
            var$7 = $lastIndex + 1 | 0;
            if (var$7 < $strLength && jl_Character_isLowSurrogate(jl_String_charAt($testStr, var$7))) {
                $lastIndex = $lastIndex + (-1) | 0;
                continue;
            }
            if ($this.$next4.$matches0(var$7, $testString, $matchResult) >= 0)
                break;
            $lastIndex = $lastIndex + (-1) | 0;
        }
        return $lastIndex;
    }
    return (-1);
}
function jur_HighSurrogateCharSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    jl_AbstractStringBuilder_append0(var$1, $this.$high0);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_HighSurrogateCharSet_first($this, $set) {
    if ($set instanceof jur_CharSet)
        return 0;
    if ($set instanceof jur_RangeSet)
        return 0;
    if ($set instanceof jur_SupplRangeSet)
        return 0;
    if ($set instanceof jur_SupplCharSet)
        return 0;
    if ($set instanceof jur_LowSurrogateCharSet)
        return 0;
    if (!($set instanceof jur_HighSurrogateCharSet))
        return 1;
    return $set.$high0 != $this.$high0 ? 0 : 1;
}
function jur_HighSurrogateCharSet_hasConsumed($this, $matchResult) {
    return 1;
}
function jur_SupplCharSet() {
    var a = this; jur_LeafSet.call(a);
    a.$high = 0;
    a.$low = 0;
    a.$ch1 = 0;
}
function jur_SupplCharSet_accepts($this, $strIndex, $testString) {
    var $low, $high;
    $low = $strIndex + 1 | 0;
    $high = jl_String_charAt($testString, $strIndex);
    $low = jl_String_charAt($testString, $low);
    return $this.$high == $high && $this.$low == $low ? 2 : (-1);
}
function jur_SupplCharSet_find($this, $strIndex, $testString, $matchResult) {
    var $testStr, $strLength, $ch;
    if (!($testString instanceof jl_String))
        return jur_AbstractSet_find($this, $strIndex, $testString, $matchResult);
    $testStr = $testString;
    $strLength = $matchResult.$rightBound0;
    while ($strIndex < $strLength) {
        $strIndex = jl_String_indexOf($testStr, $this.$high, $strIndex);
        if ($strIndex < 0)
            return (-1);
        $strIndex = $strIndex + 1 | 0;
        if ($strIndex >= $strLength)
            continue;
        $ch = jl_String_charAt($testStr, $strIndex);
        if ($this.$low == $ch && $this.$next4.$matches0($strIndex + 1 | 0, $testString, $matchResult) >= 0)
            return $strIndex + (-1) | 0;
        $strIndex = $strIndex + 1 | 0;
    }
    return (-1);
}
function jur_SupplCharSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult) {
    var $testStr;
    if (!($testString instanceof jl_String))
        return jur_AbstractSet_findBack($this, $strIndex, $lastIndex, $testString, $matchResult);
    $testStr = $testString;
    a: {
        while (true) {
            if ($lastIndex < $strIndex)
                return (-1);
            $lastIndex = jl_String_lastIndexOf0($testStr, $this.$low, $lastIndex) + (-1) | 0;
            if ($lastIndex < 0)
                break a;
            if ($lastIndex < $strIndex)
                break a;
            if ($this.$high == jl_String_charAt($testStr, $lastIndex) && $this.$next4.$matches0($lastIndex + 2 | 0, $testString, $matchResult) >= 0)
                break;
            $lastIndex = $lastIndex + (-1) | 0;
        }
        return $lastIndex;
    }
    return (-1);
}
function jur_SupplCharSet_getName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    jl_AbstractStringBuilder_append0(var$1, $this.$high);
    jl_AbstractStringBuilder_append0(var$1, $this.$low);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jur_SupplCharSet_getCodePoint($this) {
    return $this.$ch1;
}
function jur_SupplCharSet_first($this, $set) {
    if ($set instanceof jur_SupplCharSet)
        return $set.$ch1 != $this.$ch1 ? 0 : 1;
    if ($set instanceof jur_SupplRangeSet)
        return $set.$contains1($this.$ch1);
    if ($set instanceof jur_CharSet)
        return 0;
    if (!($set instanceof jur_RangeSet))
        return 1;
    return 0;
}
function jur_AbstractLineTerminator$1() {
    jur_AbstractLineTerminator.call(this);
}
function jur_AbstractLineTerminator$1__init_0() {
    var var_0 = new jur_AbstractLineTerminator$1();
    jur_AbstractLineTerminator$1__init_(var_0);
    return var_0;
}
function jur_AbstractLineTerminator$1__init_($this) {
    return;
}
function jur_AbstractLineTerminator$1_isLineTerminator($this, $ch) {
    return $ch != 10 ? 0 : 1;
}
function jur_AbstractLineTerminator$1_isAfterLineTerminator($this, $ch, $ch2) {
    return $ch != 10 ? 0 : 1;
}
function jur_AbstractLineTerminator$2() {
    jur_AbstractLineTerminator.call(this);
}
function jur_AbstractLineTerminator$2__init_0() {
    var var_0 = new jur_AbstractLineTerminator$2();
    jur_AbstractLineTerminator$2__init_(var_0);
    return var_0;
}
function jur_AbstractLineTerminator$2__init_($this) {
    return;
}
function jur_AbstractLineTerminator$2_isLineTerminator($this, $ch) {
    return $ch != 10 && $ch != 13 && $ch != 133 && ($ch | 1) != 8233 ? 0 : 1;
}
function jur_AbstractLineTerminator$2_isAfterLineTerminator($this, $ch, $ch2) {
    a: {
        b: {
            if ($ch != 10 && $ch != 133 && ($ch | 1) != 8233) {
                if ($ch != 13)
                    break b;
                if ($ch2 == 10)
                    break b;
            }
            $ch = 1;
            break a;
        }
        $ch = 0;
    }
    return $ch;
}
function jur_SequenceSet$IntHash() {
    var a = this; jl_Object.call(a);
    a.$table = null;
    a.$values1 = null;
    a.$mask = 0;
    a.$size4 = 0;
}
function jur_SequenceSet$IntHash__init_(var_0) {
    var var_1 = new jur_SequenceSet$IntHash();
    jur_SequenceSet$IntHash__init_0(var_1, var_0);
    return var_1;
}
function jur_SequenceSet$IntHash__init_0($this, $size) {
    while ($size >= $this.$mask) {
        $this.$mask = $this.$mask << 1 | 1;
    }
    $this.$mask = $this.$mask << 1 | 1;
    $this.$table = $rt_createIntArray($this.$mask + 1 | 0);
    $this.$values1 = $rt_createIntArray($this.$mask + 1 | 0);
    $this.$size4 = $size;
}
function jur_SequenceSet$IntHash_put($this, $key, $value) {
    var $i, $hashCode;
    $i = 0;
    $hashCode = $key & $this.$mask;
    while ($this.$table.data[$hashCode] && $this.$table.data[$hashCode] != $key) {
        $i = ($i + 1 | 0) & $this.$mask;
        $hashCode = ($hashCode + $i | 0) & $this.$mask;
    }
    $this.$table.data[$hashCode] = $key;
    $this.$values1.data[$hashCode] = $value;
}
function jur_SequenceSet$IntHash_get($this, $key) {
    var $hashCode, $i, $storedKey;
    $hashCode = $key & $this.$mask;
    $i = 0;
    while (true) {
        $storedKey = $this.$table.data[$hashCode];
        if (!$storedKey)
            break;
        if ($storedKey == $key)
            return $this.$values1.data[$hashCode];
        $i = ($i + 1 | 0) & $this.$mask;
        $hashCode = ($hashCode + $i | 0) & $this.$mask;
    }
    return $this.$size4;
}
function otcit_DateTimeZone() {
    jl_Object.call(this);
    this.$iID = null;
}
function otcit_DateTimeZone_getID($this) {
    return $this.$iID;
}
function otcit_StorableDateTimeZone() {
    otcit_DateTimeZone.call(this);
}
function otcit_StorableDateTimeZone__init_0(var_0) {
    var var_1 = new otcit_StorableDateTimeZone();
    otcit_StorableDateTimeZone__init_(var_1, var_0);
    return var_1;
}
function otcit_StorableDateTimeZone__init_($this, $id) {
    var var$2;
    if ($id !== null) {
        $this.$iID = $id;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(841));
    $rt_throw(var$2);
}
function otcit_StorableDateTimeZone_readTime($flow) {
    var var$2, $value;
    var$2 = Long_fromInt(otci_Base46_decodeUnsigned($flow));
    $value = Long_div(var$2, Long_fromInt(2));
    if (Long_ne(Long_rem(var$2, Long_fromInt(2)), Long_ZERO))
        $value = Long_neg($value);
    if (Long_ne(Long_and($value, Long_fromInt(1)), Long_ZERO))
        return Long_mul(Long_shr($value, 1), Long_fromInt(60000));
    return Long_mul(Long_shr($value, 1), Long_fromInt(1800000));
}
function otcit_StorableDateTimeZone_readTimeArray($flow, $array) {
    var $index, var$4, $count, var$6, $t, var$8;
    $index = 0;
    while (true) {
        var$4 = $array.data;
        if ($index >= var$4.length)
            break;
        $count = otci_Base46_decode($flow);
        if ($count < 0) {
            var$6 = $count ^ (-1);
            while (true) {
                $t = var$6 + (-1) | 0;
                if (var$6 <= 0)
                    break;
                var$8 = $index + 1 | 0;
                var$4[$index] = otcit_StorableDateTimeZone_readTime($flow).lo;
                var$6 = $t;
                $index = var$8;
            }
        } else {
            $t = otcit_StorableDateTimeZone_readTime($flow).lo;
            while (true) {
                var$8 = $count + (-1) | 0;
                if ($count <= 0)
                    break;
                var$6 = $index + 1 | 0;
                var$4[$index] = $t;
                $count = var$8;
                $index = var$6;
            }
        }
    }
}
function otcit_FixedDateTimeZone() {
    var a = this; otcit_StorableDateTimeZone.call(a);
    a.$iWallOffset = 0;
    a.$iStandardOffset = 0;
}
function otcit_FixedDateTimeZone__init_(var_0, var_1, var_2) {
    var var_3 = new otcit_FixedDateTimeZone();
    otcit_FixedDateTimeZone__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function otcit_FixedDateTimeZone__init_0($this, $id, $wallOffset, $standardOffset) {
    otcit_StorableDateTimeZone__init_($this, $id);
    $this.$iWallOffset = $wallOffset;
    $this.$iStandardOffset = $standardOffset;
}
function otcit_FixedDateTimeZone_getOffset($this, $instant) {
    return $this.$iWallOffset;
}
function otcit_FixedDateTimeZone_getStandardOffset($this, $instant) {
    return $this.$iStandardOffset;
}
function otcit_FixedDateTimeZone_previousTransition($this, $instant) {
    return $instant;
}
function ju_AbstractQueue() {
    ju_AbstractCollection.call(this);
}
function ju_AbstractQueue_add($this, $e) {
    if (ju_PriorityQueue_offer($this, $e))
        return 1;
    $e = new jl_IllegalStateException;
    jl_Throwable__init_0($e);
    $rt_throw($e);
}
function ju_AbstractQueue_remove($this) {
    var var$1;
    if (!ju_AbstractCollection_isEmpty($this))
        return ju_PriorityQueue_poll($this);
    var$1 = new ju_NoSuchElementException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
}
function ju_PriorityQueue() {
    var a = this; ju_AbstractQueue.call(a);
    a.$data10 = null;
    a.$comparator = null;
    a.$originalComparator = null;
    a.$size5 = 0;
    a.$version = 0;
}
function ju_PriorityQueue__init_1() {
    var var_0 = new ju_PriorityQueue();
    ju_PriorityQueue__init_(var_0);
    return var_0;
}
function ju_PriorityQueue__init_0(var_0, var_1) {
    var var_2 = new ju_PriorityQueue();
    ju_PriorityQueue__init_2(var_2, var_0, var_1);
    return var_2;
}
function ju_PriorityQueue__init_($this) {
    ju_PriorityQueue__init_2($this, 1, null);
}
function ju_PriorityQueue__init_2($this, $initialCapacity, $comparator) {
    if ($initialCapacity < 1) {
        $comparator = new jl_IllegalArgumentException;
        jl_Throwable__init_0($comparator);
        $rt_throw($comparator);
    }
    $this.$data10 = $rt_createArray(jl_Object, $initialCapacity);
    $this.$originalComparator = $comparator;
    if ($comparator === null) {
        $comparator = new ju_PriorityQueue$1;
        $comparator.$this$024 = $this;
    }
    $this.$comparator = $comparator;
}
function ju_PriorityQueue_offer($this, $e) {
    var $current, $current_0;
    if ($e === null) {
        $e = new jl_NullPointerException;
        jl_Throwable__init_0($e);
        $rt_throw($e);
    }
    $current = $this.$size5 + 1 | 0;
    if ($this.$data10.data.length < $current) {
        $current = jl_Math_max($current, ($this.$data10.data.length * 3 | 0) / 2 | 0);
        $this.$data10 = ju_Arrays_copyOf($this.$data10, $current);
    }
    $current = $this.$size5;
    while ($current > 0) {
        $current_0 = ($current - 1 | 0) / 2 | 0;
        if ($this.$comparator.$compare($e, $this.$data10.data[$current_0]) >= 0)
            break;
        $this.$data10.data[$current] = $this.$data10.data[$current_0];
        $current = $current_0;
    }
    $this.$data10.data[$current] = $e;
    $this.$size5 = $this.$size5 + 1 | 0;
    $this.$version = $this.$version + 1 | 0;
    return 1;
}
function ju_PriorityQueue_poll($this) {
    var $elem, var$2, var$3, var$4, var$5, var$6;
    if (!$this.$size5)
        return null;
    $elem = $this.$data10.data[0];
    var$2 = 0;
    $this.$version = $this.$version + 1 | 0;
    var$3 = $this.$data10.data[$this.$size5 - 1 | 0];
    a: {
        while (true) {
            var$4 = (var$2 * 2 | 0) + 1 | 0;
            var$5 = var$4 + 1 | 0;
            if (var$4 >= $this.$size5)
                break;
            if (var$5 < $this.$size5 && $this.$comparator.$compare($this.$data10.data[var$4], $this.$data10.data[var$5]) >= 0)
                var$4 = var$5;
            if ($this.$comparator.$compare(var$3, $this.$data10.data[var$4]) <= 0)
                break a;
            $this.$data10.data[var$2] = $this.$data10.data[var$4];
            var$2 = var$4;
        }
    }
    $this.$data10.data[var$2] = var$3;
    var$6 = $this.$data10.data;
    var$2 = $this.$size5 - 1 | 0;
    $this.$size5 = var$2;
    var$6[var$2] = null;
    return $elem;
}
function ju_PriorityQueue_size($this) {
    return $this.$size5;
}
function otcit_DateTimeZoneProvider$1() {
    jl_Object.call(this);
}
function otcit_DateTimeZoneProvider$1__init_0() {
    var var_0 = new otcit_DateTimeZoneProvider$1();
    otcit_DateTimeZoneProvider$1__init_(var_0);
    return var_0;
}
function otcit_DateTimeZoneProvider$1__init_($this) {
    return;
}
function otcit_DateTimeZoneProvider$1_compare($this, $o1, $o2) {
    return jl_Long_compareTo($o2, $o1);
}
function otcit_DateTimeZoneProvider$1_compare0($this, var$1, var$2) {
    return jl_Long_compareTo(var$2, var$1);
}
function jl_Long() {
    jl_Number.call(this);
    this.$value4 = Long_ZERO;
}
var jl_Long_TYPE = null;
function jl_Long_valueOf($value) {
    var var$2;
    var$2 = new jl_Long;
    var$2.$value4 = $value;
    return var$2;
}
function jl_Long_parseLong($s, $radix) {
    var $negative, $index, $value, var$6, var$7, $digit, var$9, var$10;
    if ($radix >= 2 && $radix <= 36) {
        if ($s !== null && !jl_String_isEmpty($s)) {
            a: {
                $negative = 0;
                $index = 0;
                switch (jl_String_charAt($s, 0)) {
                    case 43:
                        $index = 1;
                        break a;
                    case 45:
                        $negative = 1;
                        $index = 1;
                        break a;
                    default:
                }
            }
            $value = Long_ZERO;
            var$6 = Long_fromInt($radix);
            while ($index < jl_String_length($s)) {
                var$7 = $index + 1 | 0;
                $digit = jl_Character_getNumericValue(jl_String_charAt($s, $index));
                if ($digit < 0) {
                    var$9 = new jl_NumberFormatException;
                    var$10 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$10);
                    jl_AbstractStringBuilder_append(var$10, $rt_s(54));
                    jl_AbstractStringBuilder_append(var$10, $s);
                    jl_Throwable__init_(var$9, jl_AbstractStringBuilder_toString(var$10));
                    $rt_throw(var$9);
                }
                if ($digit >= $radix) {
                    var$9 = new jl_NumberFormatException;
                    var$10 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$10);
                    jl_AbstractStringBuilder_append(var$10, $rt_s(55));
                    jl_AbstractStringBuilder_append2(var$10, $radix);
                    jl_AbstractStringBuilder_append(var$10, $rt_s(49));
                    jl_AbstractStringBuilder_append(var$10, $s);
                    jl_Throwable__init_(var$9, jl_AbstractStringBuilder_toString(var$10));
                    $rt_throw(var$9);
                }
                $value = Long_add(Long_mul(var$6, $value), Long_fromInt($digit));
                if (Long_lt($value, Long_ZERO)) {
                    if (var$7 == jl_String_length($s) && Long_eq($value, new Long(0, 2147483648)) && $negative)
                        return new Long(0, 2147483648);
                    var$9 = new jl_NumberFormatException;
                    var$10 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$10);
                    jl_AbstractStringBuilder_append(var$10, $rt_s(56));
                    jl_AbstractStringBuilder_append(var$10, $s);
                    jl_Throwable__init_(var$9, jl_AbstractStringBuilder_toString(var$10));
                    $rt_throw(var$9);
                }
                $index = var$7;
            }
            if ($negative)
                $value = Long_neg($value);
            return $value;
        }
        $s = new jl_NumberFormatException;
        jl_Throwable__init_($s, $rt_s(57));
        $rt_throw($s);
    }
    var$9 = new jl_NumberFormatException;
    $s = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($s);
    jl_AbstractStringBuilder_append($s, $rt_s(58));
    jl_AbstractStringBuilder_append2($s, $radix);
    jl_Throwable__init_(var$9, jl_AbstractStringBuilder_toString($s));
    $rt_throw(var$9);
}
function jl_Long_parseLong0($s) {
    return jl_Long_parseLong($s, 10);
}
function jl_Long_intValue($this) {
    return $this.$value4.lo;
}
function jl_Long_longValue($this) {
    return $this.$value4;
}
function jl_Long_doubleValue($this) {
    return Long_toNumber($this.$value4);
}
function jl_Long_toString($value) {
    var var$2;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    return jl_AbstractStringBuilder_toString(jl_StringBuilder_append2(var$2, $value));
}
function jl_Long_toString0($this) {
    return jl_Long_toString($this.$value4);
}
function jl_Long_hashCode($this) {
    var var$1;
    var$1 = $this.$value4;
    return var$1.lo ^ var$1.hi;
}
function jl_Long_equals($this, $other) {
    if ($this === $other)
        return 1;
    return $other instanceof jl_Long && Long_eq($other.$value4, $this.$value4) ? 1 : 0;
}
function jl_Long_compareTo($this, $other) {
    return Long_compare($this.$value4, $other.$value4);
}
function jl_Long_numberOfLeadingZeros($i) {
    var $n, var$3;
    if (Long_eq($i, Long_ZERO))
        return 64;
    $n = 0;
    var$3 = Long_shru($i, 32);
    if (Long_ne(var$3, Long_ZERO))
        $n = 32;
    else
        var$3 = $i;
    $i = Long_shru(var$3, 16);
    if (Long_eq($i, Long_ZERO))
        $i = var$3;
    else
        $n = $n | 16;
    var$3 = Long_shru($i, 8);
    if (Long_eq(var$3, Long_ZERO))
        var$3 = $i;
    else
        $n = $n | 8;
    $i = Long_shru(var$3, 4);
    if (Long_eq($i, Long_ZERO))
        $i = var$3;
    else
        $n = $n | 4;
    var$3 = Long_shru($i, 2);
    if (Long_eq(var$3, Long_ZERO))
        var$3 = $i;
    else
        $n = $n | 2;
    if (Long_ne(Long_shru(var$3, 1), Long_ZERO))
        $n = $n | 1;
    return (64 - $n | 0) - 1 | 0;
}
function jl_Long_numberOfTrailingZeros($i) {
    var $n, var$3;
    if (Long_eq($i, Long_ZERO))
        return 64;
    $n = 0;
    var$3 = Long_shl($i, 32);
    if (Long_ne(var$3, Long_ZERO))
        $n = 32;
    else
        var$3 = $i;
    $i = Long_shl(var$3, 16);
    if (Long_eq($i, Long_ZERO))
        $i = var$3;
    else
        $n = $n | 16;
    var$3 = Long_shl($i, 8);
    if (Long_eq(var$3, Long_ZERO))
        var$3 = $i;
    else
        $n = $n | 8;
    $i = Long_shl(var$3, 4);
    if (Long_eq($i, Long_ZERO))
        $i = var$3;
    else
        $n = $n | 4;
    var$3 = Long_shl($i, 2);
    if (Long_eq(var$3, Long_ZERO))
        var$3 = $i;
    else
        $n = $n | 2;
    if (Long_ne(Long_shl(var$3, 1), Long_ZERO))
        $n = $n | 1;
    return (64 - $n | 0) - 1 | 0;
}
function jl_Long_divideUnsigned(var$1, var$2) {
    return Long_udiv(var$1, var$2);
}
function jl_Long_remainderUnsigned(var$1, var$2) {
    return Long_urem(var$1, var$2);
}
function jl_Long_compareTo0($this, var$1) {
    return jl_Long_compareTo($this, var$1);
}
function jl_Long__clinit_() {
    jl_Long_TYPE = $rt_cls($rt_longcls());
}
function otcit_AliasDateTimeZone() {
    otcit_StorableDateTimeZone.call(this);
    this.$innerZone = null;
}
function otcit_AliasDateTimeZone_getOffset($this, $instant) {
    return $this.$innerZone.$getOffset($instant);
}
function otcit_AliasDateTimeZone_getStandardOffset($this, $instant) {
    return $this.$innerZone.$getStandardOffset($instant);
}
function otcit_AliasDateTimeZone_previousTransition($this, $instant) {
    return $this.$innerZone.$previousTransition($instant);
}
function jl_Math() {
    jl_Object.call(this);
}
function jl_Math__init_0() {
    var var_0 = new jl_Math();
    jl_Math__init_(var_0);
    return var_0;
}
function jl_Math__init_($this) {
    return;
}
function jl_Math_sin(var$1) {
    return Math.sin(var$1);
}
function jl_Math_cos(var$1) {
    return Math.cos(var$1);
}
function jl_Math_atan(var$1) {
    return Math.atan(var$1);
}
function jl_Math_toDegrees($angrad) {
    return $angrad * 180.0 / 3.141592653589793;
}
function jl_Math_log(var$1) {
    return Math.log(var$1);
}
function jl_Math_sqrt(var$1) {
    return Math.sqrt(var$1);
}
function jl_Math_ceil(var$1) {
    return Math.ceil(var$1);
}
function jl_Math_floor(var$1) {
    return Math.floor(var$1);
}
function jl_Math_pow(var$1, var$2) {
    return Math.pow(var$1, var$2);
}
function jl_Math_atan2(var$1, var$2) {
    return Math.atan2(var$1, var$2);
}
function jl_Math_round($a) {
    var var$2;
    var$2 = $rt_compare($a, 0.0);
    return $a + (var$2 > 0 ? 1.0 : var$2 >= 0 ? $a : (-1.0)) * 0.5 | 0;
}
function jl_Math_round0($a) {
    return Long_fromNumber($a + jl_Math_signum($a) * 0.5);
}
function jl_Math_random() {
    return jl_Math_randomImpl();
}
function jl_Math_randomImpl() {
    return Math.random();
}
function jl_Math_min($a, $b) {
    if ($a < $b)
        $b = $a;
    return $b;
}
function jl_Math_max($a, $b) {
    if ($a > $b)
        $b = $a;
    return $b;
}
function jl_Math_min0($a, $b) {
    if (Long_lt($a, $b))
        $b = $a;
    return $b;
}
function jl_Math_min1($a, $b) {
    if ($a < $b)
        $b = $a;
    return $b;
}
function jl_Math_max0($a, $b) {
    if ($a > $b)
        $b = $a;
    return $b;
}
function jl_Math_abs($n) {
    if ($n <= 0)
        $n =  -$n;
    return $n;
}
function jl_Math_abs0($n) {
    if (Long_le($n, Long_ZERO))
        $n = Long_neg($n);
    return $n;
}
function jl_Math_abs1($n) {
    if ($n <= 0.0)
        $n =  -$n;
    return $n;
}
function jl_Math_abs2($n) {
    if ($n <= 0.0)
        $n =  -$n;
    return $n;
}
function jl_Math_signum($d) {
    var var$2;
    var$2 = $rt_compare($d, 0.0);
    if (var$2 > 0)
        $d = 1.0;
    else if (var$2 < 0)
        $d = (-1.0);
    return $d;
}
function otcit_DateTimeZoneProvider$Score() {
    var a = this; jl_Object.call(a);
    a.$tz = null;
    a.$value5 = 0;
}
function juf_Function() {
}
function otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0() {
    jl_Object.call(this);
}
function otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0__init_0() {
    var var_0 = new otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0();
    otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0__init_(var_0);
    return var_0;
}
function otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0__init_(var$0) {
    return;
}
function otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0_apply(var$0, var$1) {
    return ju_ArrayList__init_0();
}
function jur_IntHash() {
    jl_Object.call(this);
}
function jur_AbstractCharClass$LazySpace() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazySpace__init_0() {
    var var_0 = new jur_AbstractCharClass$LazySpace();
    jur_AbstractCharClass$LazySpace__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazySpace__init_($this) {
    return;
}
function jur_AbstractCharClass$LazySpace_computeValue($this) {
    return jur_CharClass_add(jur_CharClass_add0(jur_CharClass__init_1(), 9, 13), 32);
}
function jur_AbstractCharClass$LazyDigit() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyDigit__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyDigit();
    jur_AbstractCharClass$LazyDigit__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyDigit__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyDigit_computeValue($this) {
    return jur_CharClass_add0(jur_CharClass__init_1(), 48, 57);
}
function jur_AbstractCharClass$LazyLower() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyLower__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyLower();
    jur_AbstractCharClass$LazyLower__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyLower__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyLower_computeValue($this) {
    return jur_CharClass_add0(jur_CharClass__init_1(), 97, 122);
}
function jur_AbstractCharClass$LazyUpper() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyUpper__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyUpper();
    jur_AbstractCharClass$LazyUpper__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyUpper__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyUpper_computeValue($this) {
    return jur_CharClass_add0(jur_CharClass__init_1(), 65, 90);
}
function jur_AbstractCharClass$LazyASCII() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyASCII__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyASCII();
    jur_AbstractCharClass$LazyASCII__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyASCII__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyASCII_computeValue($this) {
    return jur_CharClass_add0(jur_CharClass__init_1(), 0, 127);
}
function jur_AbstractCharClass$LazyAlpha() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyAlpha__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyAlpha();
    jur_AbstractCharClass$LazyAlpha__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyAlpha__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyAlpha_computeValue($this) {
    return jur_CharClass_add0(jur_CharClass_add0(jur_CharClass__init_1(), 97, 122), 65, 90);
}
function jur_AbstractCharClass$LazyAlnum() {
    jur_AbstractCharClass$LazyAlpha.call(this);
}
function jur_AbstractCharClass$LazyAlnum__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyAlnum();
    jur_AbstractCharClass$LazyAlnum__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyAlnum__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyAlnum_computeValue($this) {
    return jur_CharClass_add0(jur_AbstractCharClass$LazyAlpha_computeValue($this), 48, 57);
}
function jur_AbstractCharClass$LazyPunct() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyPunct__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyPunct();
    jur_AbstractCharClass$LazyPunct__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyPunct__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyPunct_computeValue($this) {
    return jur_CharClass_add0(jur_CharClass_add0(jur_CharClass_add0(jur_CharClass__init_1(), 33, 64), 91, 96), 123, 126);
}
function jur_AbstractCharClass$LazyGraph() {
    jur_AbstractCharClass$LazyAlnum.call(this);
}
function jur_AbstractCharClass$LazyGraph__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyGraph();
    jur_AbstractCharClass$LazyGraph__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyGraph__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyGraph_computeValue($this) {
    return jur_CharClass_add0(jur_CharClass_add0(jur_CharClass_add0(jur_AbstractCharClass$LazyAlnum_computeValue($this), 33, 64), 91, 96), 123, 126);
}
function jur_AbstractCharClass$LazyPrint() {
    jur_AbstractCharClass$LazyGraph.call(this);
}
function jur_AbstractCharClass$LazyPrint__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyPrint();
    jur_AbstractCharClass$LazyPrint__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyPrint__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyPrint_computeValue($this) {
    return jur_CharClass_add(jur_AbstractCharClass$LazyGraph_computeValue($this), 32);
}
function jur_AbstractCharClass$LazyBlank() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyBlank__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyBlank();
    jur_AbstractCharClass$LazyBlank__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyBlank__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyBlank_computeValue($this) {
    return jur_CharClass_add(jur_CharClass_add(jur_CharClass__init_1(), 32), 9);
}
function jur_AbstractCharClass$LazyCntrl() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyCntrl__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyCntrl();
    jur_AbstractCharClass$LazyCntrl__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyCntrl__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyCntrl_computeValue($this) {
    return jur_CharClass_add(jur_CharClass_add0(jur_CharClass__init_1(), 0, 31), 127);
}
function jur_AbstractCharClass$LazyXDigit() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyXDigit__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyXDigit();
    jur_AbstractCharClass$LazyXDigit__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyXDigit__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyXDigit_computeValue($this) {
    return jur_CharClass_add0(jur_CharClass_add0(jur_CharClass_add0(jur_CharClass__init_1(), 48, 57), 97, 102), 65, 70);
}
function jur_AbstractCharClass$LazyJavaLowerCase() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaLowerCase__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaLowerCase();
    jur_AbstractCharClass$LazyJavaLowerCase__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaLowerCase__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaLowerCase_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaLowerCase$1;
    $chCl.$this$025 = $this;
    jur_AbstractCharClass__init_0($chCl);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyJavaUpperCase() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaUpperCase__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaUpperCase();
    jur_AbstractCharClass$LazyJavaUpperCase__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaUpperCase__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaUpperCase_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaUpperCase$1;
    $chCl.$this$026 = $this;
    jur_AbstractCharClass__init_0($chCl);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyJavaWhitespace() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaWhitespace__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaWhitespace();
    jur_AbstractCharClass$LazyJavaWhitespace__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaWhitespace__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaWhitespace_computeValue($this) {
    var var$1;
    var$1 = new jur_AbstractCharClass$LazyJavaWhitespace$1;
    var$1.$this$027 = $this;
    jur_AbstractCharClass__init_0(var$1);
    return var$1;
}
function jur_AbstractCharClass$LazyJavaMirrored() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaMirrored__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaMirrored();
    jur_AbstractCharClass$LazyJavaMirrored__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaMirrored__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaMirrored_computeValue($this) {
    var var$1;
    var$1 = new jur_AbstractCharClass$LazyJavaMirrored$1;
    var$1.$this$028 = $this;
    jur_AbstractCharClass__init_0(var$1);
    return var$1;
}
function jur_AbstractCharClass$LazyJavaDefined() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaDefined__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaDefined();
    jur_AbstractCharClass$LazyJavaDefined__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaDefined__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaDefined_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaDefined$1;
    $chCl.$this$029 = $this;
    jur_AbstractCharClass__init_0($chCl);
    ju_BitSet_set0($chCl.$lowHighSurrogates, 0, 2048);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyJavaDigit() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaDigit__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaDigit();
    jur_AbstractCharClass$LazyJavaDigit__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaDigit__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaDigit_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaDigit$1;
    $chCl.$this$030 = $this;
    jur_AbstractCharClass__init_0($chCl);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyJavaIdentifierIgnorable() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaIdentifierIgnorable();
    jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaIdentifierIgnorable__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaIdentifierIgnorable_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1;
    $chCl.$this$031 = $this;
    jur_AbstractCharClass__init_0($chCl);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyJavaISOControl() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaISOControl__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaISOControl();
    jur_AbstractCharClass$LazyJavaISOControl__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaISOControl__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaISOControl_computeValue($this) {
    var var$1;
    var$1 = new jur_AbstractCharClass$LazyJavaISOControl$1;
    var$1.$this$032 = $this;
    jur_AbstractCharClass__init_0(var$1);
    return var$1;
}
function jur_AbstractCharClass$LazyJavaJavaIdentifierPart() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaJavaIdentifierPart();
    jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaJavaIdentifierPart__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaJavaIdentifierPart_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1;
    $chCl.$this$033 = $this;
    jur_AbstractCharClass__init_0($chCl);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyJavaJavaIdentifierStart() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaJavaIdentifierStart();
    jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaJavaIdentifierStart__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaJavaIdentifierStart_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1;
    $chCl.$this$034 = $this;
    jur_AbstractCharClass__init_0($chCl);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyJavaLetter() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaLetter__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaLetter();
    jur_AbstractCharClass$LazyJavaLetter__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaLetter__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaLetter_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaLetter$1;
    $chCl.$this$035 = $this;
    jur_AbstractCharClass__init_0($chCl);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyJavaLetterOrDigit() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaLetterOrDigit__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaLetterOrDigit();
    jur_AbstractCharClass$LazyJavaLetterOrDigit__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaLetterOrDigit__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaLetterOrDigit_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaLetterOrDigit$1;
    $chCl.$this$036 = $this;
    jur_AbstractCharClass__init_0($chCl);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyJavaSpaceChar() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaSpaceChar__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaSpaceChar();
    jur_AbstractCharClass$LazyJavaSpaceChar__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaSpaceChar__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaSpaceChar_computeValue($this) {
    var var$1;
    var$1 = new jur_AbstractCharClass$LazyJavaSpaceChar$1;
    var$1.$this$037 = $this;
    jur_AbstractCharClass__init_0(var$1);
    return var$1;
}
function jur_AbstractCharClass$LazyJavaTitleCase() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaTitleCase__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaTitleCase();
    jur_AbstractCharClass$LazyJavaTitleCase__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaTitleCase__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaTitleCase_computeValue($this) {
    var var$1;
    var$1 = new jur_AbstractCharClass$LazyJavaTitleCase$1;
    var$1.$this$038 = $this;
    jur_AbstractCharClass__init_0(var$1);
    return var$1;
}
function jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart();
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1;
    $chCl.$this$039 = $this;
    jur_AbstractCharClass__init_0($chCl);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart();
    jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart_computeValue($this) {
    var $chCl;
    $chCl = new jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1;
    $chCl.$this$040 = $this;
    jur_AbstractCharClass__init_0($chCl);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyWord() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazyWord__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyWord();
    jur_AbstractCharClass$LazyWord__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyWord__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyWord_computeValue($this) {
    return jur_CharClass_add(jur_CharClass_add0(jur_CharClass_add0(jur_CharClass_add0(jur_CharClass__init_1(), 97, 122), 65, 90), 48, 57), 95);
}
function jur_AbstractCharClass$LazyNonWord() {
    jur_AbstractCharClass$LazyWord.call(this);
}
function jur_AbstractCharClass$LazyNonWord__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyNonWord();
    jur_AbstractCharClass$LazyNonWord__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyNonWord__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyNonWord_computeValue($this) {
    var $chCl;
    $chCl = jur_AbstractCharClass_setNegative(jur_AbstractCharClass$LazyWord_computeValue($this), 1);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyNonSpace() {
    jur_AbstractCharClass$LazySpace.call(this);
}
function jur_AbstractCharClass$LazyNonSpace__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyNonSpace();
    jur_AbstractCharClass$LazyNonSpace__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyNonSpace__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyNonSpace_computeValue($this) {
    var $chCl;
    $chCl = jur_AbstractCharClass_setNegative(jur_AbstractCharClass$LazySpace_computeValue($this), 1);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyNonDigit() {
    jur_AbstractCharClass$LazyDigit.call(this);
}
function jur_AbstractCharClass$LazyNonDigit__init_0() {
    var var_0 = new jur_AbstractCharClass$LazyNonDigit();
    jur_AbstractCharClass$LazyNonDigit__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazyNonDigit__init_($this) {
    return;
}
function jur_AbstractCharClass$LazyNonDigit_computeValue($this) {
    var $chCl;
    $chCl = jur_AbstractCharClass_setNegative(jur_AbstractCharClass$LazyDigit_computeValue($this), 1);
    $chCl.$mayContainSupplCodepoints = 1;
    return $chCl;
}
function jur_AbstractCharClass$LazyRange() {
    var a = this; jur_AbstractCharClass$LazyCharClass.call(a);
    a.$start6 = 0;
    a.$end1 = 0;
}
function jur_AbstractCharClass$LazyRange__init_(var_0, var_1) {
    var var_2 = new jur_AbstractCharClass$LazyRange();
    jur_AbstractCharClass$LazyRange__init_0(var_2, var_0, var_1);
    return var_2;
}
function jur_AbstractCharClass$LazyRange__init_0($this, $start, $end) {
    $this.$start6 = $start;
    $this.$end1 = $end;
}
function jur_AbstractCharClass$LazyRange_computeValue($this) {
    return jur_CharClass_add0(jur_CharClass__init_1(), $this.$start6, $this.$end1);
}
function jur_AbstractCharClass$LazySpecialsBlock() {
    jur_AbstractCharClass$LazyCharClass.call(this);
}
function jur_AbstractCharClass$LazySpecialsBlock__init_0() {
    var var_0 = new jur_AbstractCharClass$LazySpecialsBlock();
    jur_AbstractCharClass$LazySpecialsBlock__init_(var_0);
    return var_0;
}
function jur_AbstractCharClass$LazySpecialsBlock__init_($this) {
    return;
}
function jur_AbstractCharClass$LazySpecialsBlock_computeValue($this) {
    return jur_CharClass_add0(jur_CharClass_add0(jur_CharClass__init_1(), 65279, 65279), 65520, 65533);
}
function jur_AbstractCharClass$LazyCategory() {
    var a = this; jur_AbstractCharClass$LazyCharClass.call(a);
    a.$category = 0;
    a.$mayContainSupplCodepoints0 = 0;
    a.$containsAllSurrogates = 0;
}
function jur_AbstractCharClass$LazyCategory__init_(var_0, var_1) {
    var var_2 = new jur_AbstractCharClass$LazyCategory();
    jur_AbstractCharClass$LazyCategory__init_1(var_2, var_0, var_1);
    return var_2;
}
function jur_AbstractCharClass$LazyCategory__init_0(var_0, var_1, var_2) {
    var var_3 = new jur_AbstractCharClass$LazyCategory();
    jur_AbstractCharClass$LazyCategory__init_2(var_3, var_0, var_1, var_2);
    return var_3;
}
function jur_AbstractCharClass$LazyCategory__init_1($this, $cat, $mayContainSupplCodepoints) {
    $this.$mayContainSupplCodepoints0 = $mayContainSupplCodepoints;
    $this.$category = $cat;
}
function jur_AbstractCharClass$LazyCategory__init_2($this, $cat, $mayContainSupplCodepoints, $containsAllSurrogates) {
    $this.$containsAllSurrogates = $containsAllSurrogates;
    $this.$mayContainSupplCodepoints0 = $mayContainSupplCodepoints;
    $this.$category = $cat;
}
function jur_AbstractCharClass$LazyCategory_computeValue($this) {
    var $chCl;
    $chCl = jur_UnicodeCategory__init_($this.$category);
    if ($this.$containsAllSurrogates)
        ju_BitSet_set0($chCl.$lowHighSurrogates, 0, 2048);
    $chCl.$mayContainSupplCodepoints = $this.$mayContainSupplCodepoints0;
    return $chCl;
}
function jur_AbstractCharClass$LazyCategoryScope() {
    var a = this; jur_AbstractCharClass$LazyCharClass.call(a);
    a.$category0 = 0;
    a.$mayContainSupplCodepoints1 = 0;
    a.$containsAllSurrogates0 = 0;
}
function jur_AbstractCharClass$LazyCategoryScope__init_(var_0, var_1) {
    var var_2 = new jur_AbstractCharClass$LazyCategoryScope();
    jur_AbstractCharClass$LazyCategoryScope__init_1(var_2, var_0, var_1);
    return var_2;
}
function jur_AbstractCharClass$LazyCategoryScope__init_0(var_0, var_1, var_2) {
    var var_3 = new jur_AbstractCharClass$LazyCategoryScope();
    jur_AbstractCharClass$LazyCategoryScope__init_2(var_3, var_0, var_1, var_2);
    return var_3;
}
function jur_AbstractCharClass$LazyCategoryScope__init_1($this, $cat, $mayContainSupplCodepoints) {
    $this.$mayContainSupplCodepoints1 = $mayContainSupplCodepoints;
    $this.$category0 = $cat;
}
function jur_AbstractCharClass$LazyCategoryScope__init_2($this, $cat, $mayContainSupplCodepoints, $containsAllSurrogates) {
    $this.$containsAllSurrogates0 = $containsAllSurrogates;
    $this.$mayContainSupplCodepoints1 = $mayContainSupplCodepoints;
    $this.$category0 = $cat;
}
function jur_AbstractCharClass$LazyCategoryScope_computeValue($this) {
    var $chCl;
    $chCl = new jur_UnicodeCategoryScope;
    jur_UnicodeCategory__init_0($chCl, $this.$category0);
    if ($this.$containsAllSurrogates0)
        ju_BitSet_set0($chCl.$lowHighSurrogates, 0, 2048);
    $chCl.$mayContainSupplCodepoints = $this.$mayContainSupplCodepoints1;
    return $chCl;
}
function ju_PriorityQueue$1() {
    jl_Object.call(this);
    this.$this$024 = null;
}
function ju_PriorityQueue$1_compare($this, $o1, $o2) {
    if ($rt_isInstance($o1, jl_Comparable))
        return $o1.$compareTo7($o2);
    return  -$o2.$compareTo7($o1);
}
function otci_CharFlow() {
    var a = this; jl_Object.call(a);
    a.$characters0 = null;
    a.$pointer = 0;
}
function otci_CharFlow__init_(var_0) {
    var var_1 = new otci_CharFlow();
    otci_CharFlow__init_0(var_1, var_0);
    return var_1;
}
function otci_CharFlow__init_0($this, $characters) {
    $this.$characters0 = $characters;
}
function otci_Base46() {
    jl_Object.call(this);
}
function otci_Base46__init_0() {
    var var_0 = new otci_Base46();
    otci_Base46__init_(var_0);
    return var_0;
}
function otci_Base46__init_($this) {
    return;
}
function otci_Base46_decodeUnsigned($seq) {
    var $number, $pos, var$4, $hasMore, $digit;
    $number = 0;
    $pos = 1;
    while (true) {
        var$4 = $seq.$characters0.data;
        $hasMore = $seq.$pointer;
        $seq.$pointer = $hasMore + 1 | 0;
        $digit = otci_Base46_decodeDigit(var$4[$hasMore]);
        $hasMore = ($digit % 2 | 0) != 1 ? 0 : 1;
        $number = $number + $rt_imul($pos, $digit / 2 | 0) | 0;
        $pos = $pos * 46 | 0;
        if (!$hasMore)
            break;
    }
    return $number;
}
function otci_Base46_decode($seq) {
    var $number, $result;
    $number = otci_Base46_decodeUnsigned($seq);
    $result = $number / 2 | 0;
    if ($number % 2 | 0)
        $result =  -$result;
    return $result;
}
function otci_Base46_decodeDigit($c) {
    if ($c < 34)
        return $c - 32 | 0;
    if ($c >= 92)
        return ($c - 32 | 0) - 2 | 0;
    return ($c - 32 | 0) - 1 | 0;
}
function otciu_UnicodeHelper() {
    jl_Object.call(this);
}
function otciu_UnicodeHelper__init_0() {
    var var_0 = new otciu_UnicodeHelper();
    otciu_UnicodeHelper__init_(var_0);
    return var_0;
}
function otciu_UnicodeHelper__init_($this) {
    return;
}
function otciu_UnicodeHelper_decodeByte($c) {
    if ($c > 92)
        return (($c - 32 | 0) - 2 | 0) << 24 >> 24;
    if ($c <= 34)
        return ($c - 32 | 0) << 24 >> 24;
    return (($c - 32 | 0) - 1 | 0) << 24 >> 24;
}
function otciu_UnicodeHelper_extractRle($encoded) {
    var $ranges, var$3, $buffer, var$5, $index, $rangeIndex, $codePoint, $i, $b, $count, $pos, $j, $digit;
    $ranges = $rt_createArray(otciu_UnicodeHelper$Range, 16384);
    var$3 = $ranges.data;
    $buffer = $rt_createByteArray(16384);
    var$5 = $buffer.data;
    $index = 0;
    $rangeIndex = 0;
    $codePoint = 0;
    $i = 0;
    while ($i < jl_String_length($encoded)) {
        $b = otciu_UnicodeHelper_decodeByte(jl_String_charAt($encoded, $i));
        if ($b == 64) {
            $i = $i + 1 | 0;
            $b = otciu_UnicodeHelper_decodeByte(jl_String_charAt($encoded, $i));
            $count = 0;
            $pos = 1;
            $j = 0;
            while ($j < 3) {
                $i = $i + 1 | 0;
                $count = $count | $rt_imul($pos, otciu_UnicodeHelper_decodeByte(jl_String_charAt($encoded, $i)));
                $pos = $pos * 64 | 0;
                $j = $j + 1 | 0;
            }
        } else if ($b < 32)
            $count = 1;
        else {
            $b = ($b - 32 | 0) << 24 >> 24;
            $i = $i + 1 | 0;
            $count = otciu_UnicodeHelper_decodeByte(jl_String_charAt($encoded, $i));
        }
        if (!$b && $count >= 128) {
            if ($index > 0) {
                $pos = $rangeIndex + 1 | 0;
                var$3[$rangeIndex] = otciu_UnicodeHelper$Range__init_($codePoint, $codePoint + $index | 0, ju_Arrays_copyOf1($buffer, $index));
                $rangeIndex = $pos;
            }
            $codePoint = $codePoint + ($index + $count | 0) | 0;
            $index = 0;
        } else {
            $digit = $index + $count | 0;
            if ($digit < var$5.length)
                $j = $rangeIndex;
            else {
                $j = $rangeIndex + 1 | 0;
                var$3[$rangeIndex] = otciu_UnicodeHelper$Range__init_($codePoint, $codePoint + $index | 0, ju_Arrays_copyOf1($buffer, $index));
                $codePoint = $codePoint + $digit | 0;
                $index = 0;
            }
            while (true) {
                $pos = $count + (-1) | 0;
                if ($count <= 0)
                    break;
                $digit = $index + 1 | 0;
                var$5[$index] = $b;
                $index = $digit;
                $count = $pos;
            }
            $rangeIndex = $j;
        }
        $i = $i + 1 | 0;
    }
    return ju_Arrays_copyOf($ranges, $rangeIndex);
}
function otcit_DateTimeZoneBuilder$PrecalculatedZone() {
    var a = this; otcit_StorableDateTimeZone.call(a);
    a.$iTransitions = null;
    a.$iWallOffsets = null;
    a.$iStandardOffsets = null;
    a.$iTailZone = null;
}
function otcit_DateTimeZoneBuilder$PrecalculatedZone_getOffset($this, $instant) {
    var $transitions, $i;
    $transitions = $this.$iTransitions;
    $i = ju_Arrays_binarySearch0($transitions, $instant);
    if ($i >= 0)
        return $this.$iWallOffsets.data[$i];
    $transitions = $transitions.data;
    $i = $i ^ (-1);
    if ($i < $transitions.length) {
        if ($i <= 0)
            return 0;
        return $this.$iWallOffsets.data[$i - 1 | 0];
    }
    if ($this.$iTailZone !== null)
        return otcit_DateTimeZoneBuilder$DSTZone_getOffset($this.$iTailZone, $instant);
    return $this.$iWallOffsets.data[$i - 1 | 0];
}
function otcit_DateTimeZoneBuilder$PrecalculatedZone_getStandardOffset($this, $instant) {
    var $transitions, $i;
    $transitions = $this.$iTransitions;
    $i = ju_Arrays_binarySearch0($transitions, $instant);
    if ($i >= 0)
        return $this.$iStandardOffsets.data[$i];
    $transitions = $transitions.data;
    $i = $i ^ (-1);
    if ($i < $transitions.length) {
        if ($i <= 0)
            return 0;
        return $this.$iStandardOffsets.data[$i - 1 | 0];
    }
    if ($this.$iTailZone !== null)
        return $this.$iTailZone.$iStandardOffset0;
    return $this.$iStandardOffsets.data[$i - 1 | 0];
}
function otcit_DateTimeZoneBuilder$PrecalculatedZone_nextTransition($this, $instant) {
    var $transitions, $i, var$4, $end;
    $transitions = $this.$iTransitions;
    $i = ju_Arrays_binarySearch0($transitions, $instant);
    $i = $i < 0 ? $i ^ (-1) : $i + 1 | 0;
    $transitions = $transitions.data;
    var$4 = $transitions.length;
    if ($i < var$4)
        return $transitions[$i];
    if ($this.$iTailZone === null)
        return $instant;
    $end = $transitions[var$4 - 1 | 0];
    if (Long_ge($instant, $end))
        $end = $instant;
    return otcit_DateTimeZoneBuilder$DSTZone_nextTransition($this.$iTailZone, $end);
}
function otcit_DateTimeZoneBuilder$PrecalculatedZone_previousTransition($this, $instant) {
    var $transitions, $i, $prev;
    $transitions = $this.$iTransitions;
    $i = ju_Arrays_binarySearch0($transitions, $instant);
    if ($i >= 0) {
        if (Long_le($instant, new Long(0, 2147483648)))
            return $instant;
        return Long_sub($instant, Long_fromInt(1));
    }
    $transitions = $transitions.data;
    $i = $i ^ (-1);
    if ($i < $transitions.length) {
        if ($i > 0) {
            $prev = $transitions[$i - 1 | 0];
            if (Long_gt($prev, new Long(0, 2147483648)))
                return Long_sub($prev, Long_fromInt(1));
        }
        return $instant;
    }
    if ($this.$iTailZone !== null) {
        $prev = otcit_DateTimeZoneBuilder$DSTZone_previousTransition($this.$iTailZone, $instant);
        if (Long_lt($prev, $instant))
            return $prev;
    }
    $prev = $transitions[$i - 1 | 0];
    if (Long_le($prev, new Long(0, 2147483648)))
        return $instant;
    return Long_sub($prev, Long_fromInt(1));
}
function otcit_DateTimeZoneBuilder$PrecalculatedZone_isCachable($this) {
    var $transitions, var$2, $distances, $count, $i, $diff;
    if ($this.$iTailZone !== null)
        return 1;
    $transitions = $this.$iTransitions.data;
    var$2 = $transitions.length;
    if (var$2 <= 1)
        return 0;
    $distances = 0.0;
    $count = 0;
    $i = 1;
    while ($i < var$2) {
        $diff = Long_sub($transitions[$i], $transitions[$i - 1 | 0]);
        if (Long_lt($diff, new Long(3028857856, 14))) {
            $distances = $distances + Long_toNumber($diff);
            $count = $count + 1 | 0;
        }
        $i = $i + 1 | 0;
    }
    if ($count > 0 && $distances / $count / 8.64E7 >= 25.0)
        return 1;
    return 0;
}
function otcit_DateTimeZoneBuilder$DSTZone() {
    var a = this; otcit_StorableDateTimeZone.call(a);
    a.$iStandardOffset0 = 0;
    a.$iStartRecurrence = null;
    a.$iEndRecurrence = null;
}
function otcit_DateTimeZoneBuilder$DSTZone_getOffset($this, $instant) {
    var var$2, var$3, var$4, var$5, var$6, var$7, $$je;
    var$2 = $this.$iStandardOffset0;
    var$3 = $this.$iStandardOffset0;
    var$4 = $this.$iStartRecurrence;
    var$5 = $this.$iEndRecurrence;
    a: {
        b: {
            try {
                var$6 = otcit_DateTimeZoneBuilder$Recurrence_next(var$4, $instant, var$3, otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$5));
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_IllegalArgumentException) {
                    break b;
                } else if ($$je instanceof jl_ArithmeticException) {
                    break b;
                } else {
                    throw $$e;
                }
            }
            break a;
        }
        var$6 = $instant;
    }
    c: {
        d: {
            try {
                var$7 = otcit_DateTimeZoneBuilder$Recurrence_next(var$5, $instant, var$3, otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis(var$4));
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_IllegalArgumentException) {
                    break d;
                } else if ($$je instanceof jl_ArithmeticException) {
                    break d;
                } else {
                    throw $$e;
                }
            }
            break c;
        }
        var$7 = $instant;
    }
    if (Long_gt(var$6, var$7))
        var$5 = var$4;
    return var$2 + var$5.$iSaveMillis | 0;
}
function otcit_DateTimeZoneBuilder$DSTZone_getStandardOffset($this, $instant) {
    return $this.$iStandardOffset0;
}
function otcit_DateTimeZoneBuilder$DSTZone_nextTransition($this, $end) {
    var $standardOffset, $startRecurrence, $endRecurrence, $start, var$6, $end_0, $$je;
    $standardOffset = $this.$iStandardOffset0;
    $startRecurrence = $this.$iStartRecurrence;
    $endRecurrence = $this.$iEndRecurrence;
    a: {
        b: {
            try {
                c: {
                    try {
                        $start = otcit_DateTimeZoneBuilder$Recurrence_next($startRecurrence, $end, $standardOffset, otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis($endRecurrence));
                        var$6 = Long_compare($end, Long_ZERO);
                        if (var$6 <= 0)
                            break c;
                        if (Long_ge($start, Long_ZERO))
                            break c;
                        $start = $end;
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_IllegalArgumentException) {
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_ArithmeticException) {
                } else {
                    throw $$e;
                }
            }
        }
        $start = $end;
    }
    d: {
        e: {
            try {
                f: {
                    try {
                        $end_0 = otcit_DateTimeZoneBuilder$Recurrence_next($endRecurrence, $end, $standardOffset, otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis($startRecurrence));
                        if (var$6 <= 0)
                            break f;
                        if (Long_ge($end_0, Long_ZERO))
                            break f;
                        $end_0 = $end;
                        break f;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_IllegalArgumentException) {
                            break e;
                        } else {
                            throw $$e;
                        }
                    }
                }
                break d;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_ArithmeticException) {
                } else {
                    throw $$e;
                }
            }
        }
        $end_0 = $end;
    }
    if (Long_gt($start, $end_0))
        $start = $end_0;
    return $start;
}
function otcit_DateTimeZoneBuilder$DSTZone_previousTransition($this, $instant) {
    var $end, $standardOffset, $startRecurrence, $endRecurrence, $start, var$7, $end_0, $$je;
    $end = Long_add($instant, Long_fromInt(1));
    $standardOffset = $this.$iStandardOffset0;
    $startRecurrence = $this.$iStartRecurrence;
    $endRecurrence = $this.$iEndRecurrence;
    a: {
        b: {
            try {
                c: {
                    try {
                        $start = otcit_DateTimeZoneBuilder$Recurrence_previous($startRecurrence, $end, $standardOffset, otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis($endRecurrence));
                        var$7 = Long_compare($end, Long_ZERO);
                        if (var$7 >= 0)
                            break c;
                        if (Long_le($start, Long_ZERO))
                            break c;
                        $start = $end;
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_IllegalArgumentException) {
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_ArithmeticException) {
                } else {
                    throw $$e;
                }
            }
        }
        $start = $end;
    }
    d: {
        e: {
            try {
                f: {
                    try {
                        $end_0 = otcit_DateTimeZoneBuilder$Recurrence_previous($endRecurrence, $end, $standardOffset, otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis($startRecurrence));
                        if (var$7 >= 0)
                            break f;
                        if (Long_le($end_0, Long_ZERO))
                            break f;
                        $end_0 = $end;
                        break f;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_IllegalArgumentException) {
                            break e;
                        } else {
                            throw $$e;
                        }
                    }
                }
                break d;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_ArithmeticException) {
                } else {
                    throw $$e;
                }
            }
        }
        $end_0 = $end;
    }
    if (Long_gt($start, $end_0))
        $end_0 = $start;
    return Long_sub($end_0, Long_fromInt(1));
}
function otcit_DateTimeZoneBuilder$DSTZone_readZone($id, $flow) {
    var $standardOffset, $startRecurrence, $endRecurrence;
    $standardOffset = otcit_StorableDateTimeZone_readTime($flow).lo;
    $startRecurrence = otcit_DateTimeZoneBuilder$Recurrence_read($flow);
    $endRecurrence = otcit_DateTimeZoneBuilder$Recurrence_read($flow);
    $flow = new otcit_DateTimeZoneBuilder$DSTZone;
    otcit_StorableDateTimeZone__init_($flow, $id);
    $flow.$iStandardOffset0 = $standardOffset;
    $flow.$iStartRecurrence = $startRecurrence;
    $flow.$iEndRecurrence = $endRecurrence;
    return $flow;
}
function otciu_UnicodeHelper$Range() {
    var a = this; jl_Object.call(a);
    a.$start = 0;
    a.$end = 0;
    a.$data5 = null;
}
function otciu_UnicodeHelper$Range__init_(var_0, var_1, var_2) {
    var var_3 = new otciu_UnicodeHelper$Range();
    otciu_UnicodeHelper$Range__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function otciu_UnicodeHelper$Range__init_0($this, $start, $end, $data) {
    $this.$start = $start;
    $this.$end = $end;
    $this.$data5 = $data;
}
function otcit_CachedDateTimeZone() {
    var a = this; otcit_StorableDateTimeZone.call(a);
    a.$iZone = null;
    a.$iInfoCache = null;
}
var otcit_CachedDateTimeZone_cInfoCacheMask = 0;
function otcit_CachedDateTimeZone_getOffset($this, $instant) {
    return otcit_CachedDateTimeZone$Info_getOffset(otcit_CachedDateTimeZone_getInfo($this, $instant), $instant);
}
function otcit_CachedDateTimeZone_getStandardOffset($this, $instant) {
    return otcit_CachedDateTimeZone$Info_getStandardOffset(otcit_CachedDateTimeZone_getInfo($this, $instant), $instant);
}
function otcit_CachedDateTimeZone_previousTransition($this, $instant) {
    return otcit_DateTimeZoneBuilder$PrecalculatedZone_previousTransition($this.$iZone, $instant);
}
function otcit_CachedDateTimeZone_getInfo($this, $millis) {
    var $period, $cache, $index, $info, var$6, var$7, var$8;
    $period = $millis.hi;
    $cache = $this.$iInfoCache.data;
    $index = $period & otcit_CachedDateTimeZone_cInfoCacheMask;
    $info = $cache[$index];
    if (!($info !== null && $info.$iPeriodStart.hi == $period)) {
        var$6 = Long_and($millis, new Long(0, 4294967295));
        $info = otcit_CachedDateTimeZone$Info__init_($this.$iZone, var$6);
        $millis = Long_or(var$6, new Long(4294967295, 0));
        var$7 = $info;
        a: {
            while (true) {
                var$8 = otcit_DateTimeZoneBuilder$PrecalculatedZone_nextTransition($this.$iZone, var$6);
                if (Long_eq(var$8, var$6))
                    break a;
                if (Long_gt(var$8, $millis))
                    break;
                var$7.$iNextInfo = otcit_CachedDateTimeZone$Info__init_($this.$iZone, var$8);
                var$7 = var$7.$iNextInfo;
                var$6 = var$8;
            }
        }
        $cache[$index] = $info;
    }
    return $info;
}
function otcit_CachedDateTimeZone__clinit_() {
    otcit_CachedDateTimeZone_cInfoCacheMask = 511;
}
function otcit_DateTimeZoneBuilder$Recurrence() {
    var a = this; jl_Object.call(a);
    a.$iOfYear = null;
    a.$iSaveMillis = 0;
}
function otcit_DateTimeZoneBuilder$Recurrence_next($this, $instant, $standardOffset, $saveMillis) {
    return otcit_DateTimeZoneBuilder$OfYear_next($this.$iOfYear, $instant, $standardOffset, $saveMillis);
}
function otcit_DateTimeZoneBuilder$Recurrence_previous($this, $instant, $standardOffset, $saveMillis) {
    return otcit_DateTimeZoneBuilder$OfYear_previous($this.$iOfYear, $instant, $standardOffset, $saveMillis);
}
function otcit_DateTimeZoneBuilder$Recurrence_getSaveMillis($this) {
    return $this.$iSaveMillis;
}
function otcit_DateTimeZoneBuilder$Recurrence_read($flow) {
    var var$2, var$3, $saveMillis, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ofYear;
    var$2 = $flow.$characters0.data;
    var$3 = $flow.$pointer;
    $flow.$pointer = var$3 + 1 | 0;
    $saveMillis = var$2[var$3];
    var$3 = otci_Base46_decodeUnsigned($flow);
    var$5 = otci_Base46_decodeUnsigned($flow);
    var$6 = otci_Base46_decode($flow);
    var$2 = $flow.$characters0.data;
    var$7 = $flow.$pointer;
    $flow.$pointer = var$7 + 1 | 0;
    var$8 = var$2[var$7] != 121 ? 0 : 1;
    var$9 = Long_ZERO;
    var$10 = Long_fromInt(1);
    while (true) {
        var$2 = $flow.$characters0.data;
        var$11 = $flow.$pointer;
        $flow.$pointer = var$11 + 1 | 0;
        var$11 = otci_Base46_decodeDigit(var$2[var$11]);
        var$12 = (var$11 % 2 | 0) != 1 ? 0 : 1;
        var$9 = Long_add(var$9, Long_mul(var$10, Long_fromInt(var$11 / 2 | 0)));
        var$10 = Long_mul(var$10, Long_fromInt(46));
        if (!var$12)
            break;
    }
    var$7 = (Long_ne(Long_and(var$9, Long_fromInt(1)), Long_ZERO) ? Long_mul(Long_shru(var$9, 1), Long_fromInt(60000)) : Long_mul(Long_shru(var$9, 1), Long_fromInt(1800000))).lo;
    $ofYear = new otcit_DateTimeZoneBuilder$OfYear;
    if ($saveMillis != 117 && $saveMillis != 119 && $saveMillis != 115) {
        $ofYear = new jl_IllegalArgumentException;
        $flow = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($flow);
        jl_AbstractStringBuilder_append($flow, $rt_s(842));
        jl_AbstractStringBuilder_append0($flow, $saveMillis);
        jl_Throwable__init_($ofYear, jl_AbstractStringBuilder_toString($flow));
        $rt_throw($ofYear);
    }
    $ofYear.$iMode = $saveMillis;
    $ofYear.$iMonthOfYear = var$3;
    $ofYear.$iDayOfMonth = var$5;
    $ofYear.$iDayOfWeek = var$6;
    $ofYear.$iAdvance = var$8;
    $ofYear.$iMillisOfDay = var$7;
    $saveMillis = otcit_StorableDateTimeZone_readTime($flow).lo;
    $flow = new otcit_DateTimeZoneBuilder$Recurrence;
    $flow.$iOfYear = $ofYear;
    $flow.$iSaveMillis = $saveMillis;
    return $flow;
}
function otcit_DateTimeZoneBuilder$OfYear() {
    var a = this; jl_Object.call(a);
    a.$iMode = 0;
    a.$iMonthOfYear = 0;
    a.$iDayOfMonth = 0;
    a.$iDayOfWeek = 0;
    a.$iAdvance = 0;
    a.$iMillisOfDay = 0;
}
function otcit_DateTimeZoneBuilder$OfYear_next($this, $instant, $offset, $saveMillis) {
    var var$4, $calendar;
    if ($this.$iMode == 119)
        $offset = $offset + $saveMillis | 0;
    else if ($this.$iMode != 115)
        $offset = 0;
    var$4 = Long_fromInt($offset);
    $instant = Long_add($instant, var$4);
    $calendar = ju_GregorianCalendar__init_3(otcit_DateTimeZoneBuilder_access$000());
    ju_Calendar_setTimeInMillis($calendar, $instant);
    ju_Calendar_set($calendar, 2, $this.$iMonthOfYear - 1 | 0);
    ju_Calendar_set($calendar, 5, 1);
    ju_Calendar_set($calendar, 11, 0);
    ju_Calendar_set($calendar, 12, 0);
    ju_Calendar_set($calendar, 13, 0);
    ju_Calendar_set($calendar, 14, 0);
    ju_GregorianCalendar_add($calendar, 14, $this.$iMillisOfDay);
    otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthNext($this, $calendar);
    if ($this.$iDayOfWeek) {
        otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek($this, $calendar);
        if (Long_le(ju_Calendar_getTimeInMillis($calendar), $instant)) {
            ju_GregorianCalendar_add($calendar, 1, 1);
            ju_Calendar_set($calendar, 2, $this.$iMonthOfYear - 1 | 0);
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthNext($this, $calendar);
            otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek($this, $calendar);
        }
    } else if (Long_le(ju_Calendar_getTimeInMillis($calendar), $instant)) {
        ju_GregorianCalendar_add($calendar, 1, 1);
        otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthNext($this, $calendar);
    }
    return Long_sub(ju_Calendar_getTimeInMillis($calendar), var$4);
}
function otcit_DateTimeZoneBuilder$OfYear_previous($this, $instant, $offset, $saveMillis) {
    var var$4, $calendar;
    if ($this.$iMode == 119)
        $offset = $offset + $saveMillis | 0;
    else if ($this.$iMode != 115)
        $offset = 0;
    var$4 = Long_fromInt($offset);
    $instant = Long_add($instant, var$4);
    $calendar = ju_GregorianCalendar__init_3(otcit_DateTimeZoneBuilder_access$000());
    ju_Calendar_setTimeInMillis($calendar, $instant);
    ju_Calendar_set($calendar, 2, $this.$iMonthOfYear - 1 | 0);
    ju_Calendar_set($calendar, 5, 1);
    ju_Calendar_set($calendar, 11, 0);
    ju_Calendar_set($calendar, 12, 0);
    ju_Calendar_set($calendar, 13, 0);
    ju_Calendar_set($calendar, 14, 0);
    ju_GregorianCalendar_add($calendar, 14, $this.$iMillisOfDay);
    otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthPrevious($this, $calendar);
    if ($this.$iDayOfWeek) {
        otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek($this, $calendar);
        if (Long_ge(ju_Calendar_getTimeInMillis($calendar), $instant)) {
            ju_GregorianCalendar_add($calendar, 1, (-1));
            ju_Calendar_set($calendar, 2, $this.$iMonthOfYear - 1 | 0);
            otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthPrevious($this, $calendar);
            otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek($this, $calendar);
        }
    } else if (Long_ge(ju_Calendar_getTimeInMillis($calendar), $instant)) {
        ju_GregorianCalendar_add($calendar, 1, (-1));
        otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthPrevious($this, $calendar);
    }
    return Long_sub(ju_Calendar_getTimeInMillis($calendar), var$4);
}
function otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthNext($this, $calendar) {
    a: {
        if (ju_Calendar_get($calendar, 2) == 1 && ju_Calendar_get($calendar, 5) == 29)
            while (true) {
                if (ju_GregorianCalendar_isLeapYear($calendar, ju_Calendar_get($calendar, 1)))
                    break a;
                ju_GregorianCalendar_add($calendar, 1, 1);
            }
    }
    otcit_DateTimeZoneBuilder$OfYear_setDayOfMonth($this, $calendar);
}
function otcit_DateTimeZoneBuilder$OfYear_setDayOfMonthPrevious($this, $calendar) {
    a: {
        if (ju_Calendar_get($calendar, 2) == 1 && ju_Calendar_get($calendar, 5) == 29)
            while (true) {
                if (ju_GregorianCalendar_isLeapYear($calendar, ju_Calendar_get($calendar, 1)))
                    break a;
                ju_GregorianCalendar_add($calendar, 1, (-1));
            }
    }
    otcit_DateTimeZoneBuilder$OfYear_setDayOfMonth($this, $calendar);
}
function otcit_DateTimeZoneBuilder$OfYear_setDayOfMonth($this, $calendar) {
    if ($this.$iDayOfMonth >= 0)
        ju_Calendar_set($calendar, 5, $this.$iDayOfMonth);
    else {
        ju_Calendar_set($calendar, 5, 1);
        ju_GregorianCalendar_add($calendar, 2, 1);
        ju_GregorianCalendar_add($calendar, 5, $this.$iDayOfMonth);
    }
}
function otcit_DateTimeZoneBuilder$OfYear_setDayOfWeek($this, $calendar) {
    var $dayOfWeek, $daysToAdd;
    $dayOfWeek = ju_Calendar_get($calendar, 7);
    $daysToAdd = ($this.$iDayOfWeek == 7 ? 1 : $dayOfWeek + 1 | 0) - $dayOfWeek | 0;
    if ($daysToAdd) {
        if (!$this.$iAdvance) {
            if ($daysToAdd > 0)
                $daysToAdd = $daysToAdd + (-7) | 0;
        } else if ($daysToAdd < 0)
            $daysToAdd = $daysToAdd + 7 | 0;
        ju_GregorianCalendar_add($calendar, 5, $daysToAdd);
    }
}
function otcit_CachedDateTimeZone$Info() {
    var a = this; jl_Object.call(a);
    a.$iPeriodStart = Long_ZERO;
    a.$iZoneRef = null;
    a.$iNextInfo = null;
    a.$iOffset = 0;
    a.$iStandardOffset1 = 0;
}
function otcit_CachedDateTimeZone$Info__init_(var_0, var_1) {
    var var_2 = new otcit_CachedDateTimeZone$Info();
    otcit_CachedDateTimeZone$Info__init_0(var_2, var_0, var_1);
    return var_2;
}
function otcit_CachedDateTimeZone$Info__init_0($this, $zone, $periodStart) {
    $this.$iOffset = (-2147483648);
    $this.$iStandardOffset1 = (-2147483648);
    $this.$iPeriodStart = $periodStart;
    $this.$iZoneRef = $zone;
}
function otcit_CachedDateTimeZone$Info_getOffset($this, $millis) {
    if ($this.$iNextInfo !== null && Long_ge($millis, $this.$iNextInfo.$iPeriodStart))
        return otcit_CachedDateTimeZone$Info_getOffset($this.$iNextInfo, $millis);
    if ($this.$iOffset == (-2147483648))
        $this.$iOffset = otcit_DateTimeZoneBuilder$PrecalculatedZone_getOffset($this.$iZoneRef, $this.$iPeriodStart);
    return $this.$iOffset;
}
function otcit_CachedDateTimeZone$Info_getStandardOffset($this, $millis) {
    if ($this.$iNextInfo !== null && Long_ge($millis, $this.$iNextInfo.$iPeriodStart))
        return otcit_CachedDateTimeZone$Info_getStandardOffset($this.$iNextInfo, $millis);
    if ($this.$iStandardOffset1 == (-2147483648))
        $this.$iStandardOffset1 = otcit_DateTimeZoneBuilder$PrecalculatedZone_getStandardOffset($this.$iZoneRef, $this.$iPeriodStart);
    return $this.$iStandardOffset1;
}
function jl_NegativeArraySizeException() {
    jl_RuntimeException.call(this);
}
function jl_NegativeArraySizeException__init_0() {
    var var_0 = new jl_NegativeArraySizeException();
    jl_NegativeArraySizeException__init_(var_0);
    return var_0;
}
function jl_NegativeArraySizeException__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_UnsupportedOperationException() {
    jl_RuntimeException.call(this);
}
function jl_UnsupportedOperationException__init_0() {
    var var_0 = new jl_UnsupportedOperationException();
    jl_UnsupportedOperationException__init_(var_0);
    return var_0;
}
function jl_UnsupportedOperationException__init_($this) {
    jl_Throwable__init_0($this);
}
function jn_ReadOnlyBufferException() {
    jl_UnsupportedOperationException.call(this);
}
function jn_ReadOnlyBufferException__init_0() {
    var var_0 = new jn_ReadOnlyBufferException();
    jn_ReadOnlyBufferException__init_(var_0);
    return var_0;
}
function jn_ReadOnlyBufferException__init_($this) {
    jl_Throwable__init_0($this);
}
function jn_BufferOverflowException() {
    jl_RuntimeException.call(this);
}
function jn_BufferOverflowException__init_0() {
    var var_0 = new jn_BufferOverflowException();
    jn_BufferOverflowException__init_(var_0);
    return var_0;
}
function jn_BufferOverflowException__init_($this) {
    jl_Throwable__init_0($this);
}
function jn_BufferUnderflowException() {
    jl_RuntimeException.call(this);
}
function jn_BufferUnderflowException__init_0() {
    var var_0 = new jn_BufferUnderflowException();
    jn_BufferUnderflowException__init_(var_0);
    return var_0;
}
function jn_BufferUnderflowException__init_($this) {
    jl_Throwable__init_0($this);
}
function ju_Map$Entry() {
}
function ju_MapEntry() {
    var a = this; jl_Object.call(a);
    a.$key = null;
    a.$value1 = null;
}
function ju_MapEntry__init_(var_0, var_1) {
    var var_2 = new ju_MapEntry();
    ju_MapEntry__init_0(var_2, var_0, var_1);
    return var_2;
}
function ju_MapEntry__init_0($this, $theKey, $theValue) {
    $this.$key = $theKey;
    $this.$value1 = $theValue;
}
function ju_MapEntry_equals($this, $object) {
    var $entry, var$3;
    if ($this === $object)
        return 1;
    if (!$rt_isInstance($object, ju_Map$Entry))
        return 0;
    a: {
        b: {
            c: {
                $entry = $object;
                if ($this.$key === null) {
                    if ($entry.$getKey() !== null)
                        break c;
                } else if (!$this.$key.$equals($entry.$getKey()))
                    break c;
                if ($this.$value1 === null) {
                    if ($entry.$getValue0() !== null)
                        break c;
                    break b;
                }
                if ($this.$value1.$equals($entry.$getValue0()))
                    break b;
            }
            var$3 = 0;
            break a;
        }
        var$3 = 1;
    }
    return var$3;
}
function ju_MapEntry_getKey($this) {
    return $this.$key;
}
function ju_MapEntry_getValue($this) {
    return $this.$value1;
}
function ju_MapEntry_hashCode($this) {
    return ($this.$key === null ? 0 : $this.$key.$hashCode0()) ^ ($this.$value1 === null ? 0 : $this.$value1.$hashCode0());
}
function ju_MapEntry_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append1(var$1, $this.$key);
    jl_AbstractStringBuilder_append(var$1, $rt_s(843));
    jl_AbstractStringBuilder_append1(var$1, $this.$value1);
    return jl_AbstractStringBuilder_toString(var$1);
}
function ju_HashMap$HashEntry() {
    var a = this; ju_MapEntry.call(a);
    a.$origKeyHash = 0;
    a.$next2 = null;
}
function ju_HashMap$HashEntry__init_(var_0, var_1) {
    var var_2 = new ju_HashMap$HashEntry();
    ju_HashMap$HashEntry__init_0(var_2, var_0, var_1);
    return var_2;
}
function ju_HashMap$HashEntry__init_0($this, $theKey, $hash) {
    ju_MapEntry__init_0($this, $theKey, null);
    $this.$origKeyHash = $hash;
}
function jl_StringIndexOutOfBoundsException() {
    jl_IndexOutOfBoundsException.call(this);
}
function jl_StringIndexOutOfBoundsException__init_0() {
    var var_0 = new jl_StringIndexOutOfBoundsException();
    jl_StringIndexOutOfBoundsException__init_(var_0);
    return var_0;
}
function jl_StringIndexOutOfBoundsException__init_($this) {
    jl_Throwable__init_0($this);
}
function ji_EOFException() {
    ji_IOException.call(this);
}
function ji_EOFException__init_0() {
    var var_0 = new ji_EOFException();
    ji_EOFException__init_(var_0);
    return var_0;
}
function ji_EOFException__init_($this) {
    jl_Throwable__init_0($this);
}
function nlea_EaglerAdapterImpl2$BufferedVideo() {
    var a = this; jl_Object.call(a);
    a.$videoElement = null;
    a.$url = null;
    a.$requestedTime = Long_ZERO;
    a.$ttl = 0;
}
function cjj_Inflate() {
    var a = this; jl_Object.call(a);
    a.$mode0 = 0;
    a.$method = 0;
    a.$was = Long_ZERO;
    a.$need = Long_ZERO;
    a.$marker = 0;
    a.$wrap3 = 0;
    a.$wbits = 0;
    a.$blocks = null;
    a.$z1 = null;
    a.$flags2 = 0;
    a.$need_bytes = 0;
    a.$crcbuf = null;
    a.$gheader = null;
    a.$tmp_string = null;
}
var cjj_Inflate_mark = null;
function cjj_Inflate_inflateReset($this) {
    var var$1;
    if ($this.$z1 === null)
        return (-2);
    var$1 = $this.$z1;
    $this.$z1.$total_out = Long_ZERO;
    var$1.$total_in = Long_ZERO;
    $this.$z1.$msg = null;
    $this.$mode0 = 14;
    $this.$need_bytes = (-1);
    cjj_InfBlocks_reset($this.$blocks);
    return 0;
}
function cjj_Inflate_inflateEnd($this) {
    if ($this.$blocks !== null)
        cjj_InfBlocks_free($this.$blocks);
    return 0;
}
function cjj_Inflate_inflateInit($this, $w) {
    var var$2, var$3, var$4, var$5;
    $this.$z1.$msg = null;
    $this.$blocks = null;
    $this.$wrap3 = 0;
    if ($w < 0)
        $w =  -$w;
    else if ($w & 1073741824) {
        $this.$wrap3 = 4;
        $w = $w & (-1073741825);
        if ($w < 48)
            $w = $w & 15;
    } else if ($w & (-32)) {
        $this.$wrap3 = 4;
        $w = $w & 15;
    } else {
        $this.$wrap3 = ($w >> 4) + 1 | 0;
        if ($w < 48)
            $w = $w & 15;
    }
    if ($w >= 8 && $w <= 15) {
        if ($this.$blocks !== null && $this.$wbits != $w) {
            cjj_InfBlocks_free($this.$blocks);
            $this.$blocks = null;
        }
        $this.$wbits = $w;
        var$2 = new cjj_InfBlocks;
        var$3 = $this.$z1;
        $w = 1 << $w;
        var$2.$bb = $rt_createIntArray(1);
        var$2.$tb = $rt_createIntArray(1);
        var$2.$bl = $rt_createIntArray(1);
        var$2.$bd = $rt_createIntArray(1);
        var$2.$tl = $rt_createArray($rt_arraycls($rt_intcls()), 1);
        var$2.$td = $rt_createArray($rt_arraycls($rt_intcls()), 1);
        var$2.$tli = $rt_createIntArray(1);
        var$2.$tdi = $rt_createIntArray(1);
        var$2.$inftree = cjj_InfTree__init_0();
        var$2.$z3 = var$3;
        var$4 = new cjj_InfCodes;
        var$5 = var$2.$z3;
        var$4.$tree_index = 0;
        var$4.$z4 = var$5;
        var$4.$s = var$2;
        var$2.$codes = var$4;
        var$2.$hufts = $rt_createIntArray(4320);
        var$2.$window = $rt_createByteArray($w);
        var$2.$end2 = $w;
        var$2.$check = var$3.$istate.$wrap3 ? 1 : 0;
        var$2.$mode2 = 0;
        cjj_InfBlocks_reset(var$2);
        $this.$blocks = var$2;
        cjj_Inflate_inflateReset($this);
        return 0;
    }
    cjj_Inflate_inflateEnd($this);
    return (-2);
}
function cjj_Inflate_inflate($this, $f) {
    var var$2, $r, $e, $foo, var$6, $b, var$8, $$je;
    if ($this.$z1 !== null && $this.$z1.$next_in !== null) {
        var$2 = $f != 4 ? 0 : (-5);
        $r = (-5);
        a: {
            b: {
                c: {
                    d: {
                        e: {
                            f: {
                                g: {
                                    h: {
                                        i: while (true) {
                                            j: {
                                                k: {
                                                    l: {
                                                        m: {
                                                            n: {
                                                                o: {
                                                                    p: {
                                                                        q: {
                                                                            r: {
                                                                                s: {
                                                                                    t: {
                                                                                        u: {
                                                                                            v: {
                                                                                                w: {
                                                                                                    switch ($this.$mode0) {
                                                                                                        case 6:
                                                                                                            $this.$mode0 = 13;
                                                                                                            $this.$z1.$msg = $rt_s(844);
                                                                                                            $this.$marker = 0;
                                                                                                            return (-2);
                                                                                                        case 7:
                                                                                                            $r = cjj_InfBlocks_proc($this.$blocks, $r);
                                                                                                            if ($r == (-3)) {
                                                                                                                $this.$mode0 = 13;
                                                                                                                $this.$marker = 0;
                                                                                                                continue i;
                                                                                                            }
                                                                                                            if (!$r)
                                                                                                                $r = var$2;
                                                                                                            if ($r != 1)
                                                                                                                break i;
                                                                                                            $this.$was = $this.$z1.$adler.$getValue1();
                                                                                                            cjj_InfBlocks_reset($this.$blocks);
                                                                                                            if (!$this.$wrap3) {
                                                                                                                $this.$mode0 = 12;
                                                                                                                $r = var$2;
                                                                                                                continue i;
                                                                                                            }
                                                                                                            $this.$mode0 = 8;
                                                                                                            $r = var$2;
                                                                                                            break w;
                                                                                                        case 12:
                                                                                                            break e;
                                                                                                        case 13:
                                                                                                            return (-3);
                                                                                                        case 14:
                                                                                                            break r;
                                                                                                        case 23:
                                                                                                            try {
                                                                                                                $r = cjj_Inflate_readBytes($this, 2, $r, var$2);
                                                                                                            } catch ($$e) {
                                                                                                                $$je = $rt_wrapException($$e);
                                                                                                                if ($$je instanceof cjj_Inflate$Return) {
                                                                                                                    $e = $$je;
                                                                                                                    return $e.$r;
                                                                                                                } else {
                                                                                                                    throw $$e;
                                                                                                                }
                                                                                                            }
                                                                                                            $this.$flags2 = $this.$need.lo & 65535;
                                                                                                            if (($this.$flags2 & 255) != 8) {
                                                                                                                $this.$z1.$msg = $rt_s(845);
                                                                                                                $this.$mode0 = 13;
                                                                                                                continue i;
                                                                                                            }
                                                                                                            if ($this.$flags2 & 57344) {
                                                                                                                $this.$z1.$msg = $rt_s(846);
                                                                                                                $this.$mode0 = 13;
                                                                                                                continue i;
                                                                                                            }
                                                                                                            if ($this.$flags2 & 512)
                                                                                                                cjj_Inflate_checksum($this, 2, $this.$need);
                                                                                                            $this.$mode0 = 16;
                                                                                                            break p;
                                                                                                        case 2:
                                                                                                            break d;
                                                                                                        case 3:
                                                                                                            break c;
                                                                                                        case 4:
                                                                                                            break b;
                                                                                                        case 5:
                                                                                                            var$2 = $r;
                                                                                                            break a;
                                                                                                        case 8:
                                                                                                            break w;
                                                                                                        case 9:
                                                                                                            break v;
                                                                                                        case 10:
                                                                                                            break u;
                                                                                                        case 11:
                                                                                                            break t;
                                                                                                        case 15:
                                                                                                            break s;
                                                                                                        case 16:
                                                                                                            break p;
                                                                                                        case 17:
                                                                                                            break o;
                                                                                                        case 18:
                                                                                                            break n;
                                                                                                        case 19:
                                                                                                            break q;
                                                                                                        case 20:
                                                                                                            break l;
                                                                                                        case 21:
                                                                                                            break k;
                                                                                                        case 22:
                                                                                                            break;
                                                                                                        default:
                                                                                                            return (-2);
                                                                                                    }
                                                                                                    break j;
                                                                                                }
                                                                                                if (!$this.$z1.$avail_in)
                                                                                                    return $r;
                                                                                                $e = $this.$z1;
                                                                                                $e.$avail_in = $e.$avail_in - 1 | 0;
                                                                                                $e = $this.$z1;
                                                                                                $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                                                                                                $foo = $this.$z1.$next_in.data;
                                                                                                $e = $this.$z1;
                                                                                                $f = $e.$next_in_index;
                                                                                                $e.$next_in_index = $f + 1 | 0;
                                                                                                $this.$need = Long_and(Long_fromInt(($foo[$f] & 255) << 24), new Long(4278190080, 0));
                                                                                                $this.$mode0 = 9;
                                                                                                $r = var$2;
                                                                                            }
                                                                                            if (!$this.$z1.$avail_in)
                                                                                                return $r;
                                                                                            $e = $this.$z1;
                                                                                            $e.$avail_in = $e.$avail_in - 1 | 0;
                                                                                            $e = $this.$z1;
                                                                                            $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                                                                                            var$6 = $this.$need;
                                                                                            $foo = $this.$z1.$next_in.data;
                                                                                            $e = $this.$z1;
                                                                                            $f = $e.$next_in_index;
                                                                                            $e.$next_in_index = $f + 1 | 0;
                                                                                            $this.$need = Long_add(var$6, Long_and(Long_fromInt(($foo[$f] & 255) << 16), Long_fromInt(16711680)));
                                                                                            $this.$mode0 = 10;
                                                                                            $r = var$2;
                                                                                        }
                                                                                        if (!$this.$z1.$avail_in)
                                                                                            return $r;
                                                                                        $e = $this.$z1;
                                                                                        $e.$avail_in = $e.$avail_in - 1 | 0;
                                                                                        $e = $this.$z1;
                                                                                        $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                                                                                        var$6 = $this.$need;
                                                                                        $foo = $this.$z1.$next_in.data;
                                                                                        $e = $this.$z1;
                                                                                        $f = $e.$next_in_index;
                                                                                        $e.$next_in_index = $f + 1 | 0;
                                                                                        $this.$need = Long_add(var$6, Long_and(Long_fromInt(($foo[$f] & 255) << 8), Long_fromInt(65280)));
                                                                                        $this.$mode0 = 11;
                                                                                        $r = var$2;
                                                                                    }
                                                                                    if (!$this.$z1.$avail_in)
                                                                                        return $r;
                                                                                    $e = $this.$z1;
                                                                                    $e.$avail_in = $e.$avail_in - 1 | 0;
                                                                                    $e = $this.$z1;
                                                                                    $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                                                                                    var$6 = $this.$need;
                                                                                    $foo = $this.$z1.$next_in.data;
                                                                                    $e = $this.$z1;
                                                                                    $f = $e.$next_in_index;
                                                                                    $e.$next_in_index = $f + 1 | 0;
                                                                                    $this.$need = Long_add(var$6, Long_and(Long_fromInt($foo[$f]), Long_fromInt(255)));
                                                                                    if ($this.$flags2)
                                                                                        $this.$need = Long_and(Long_or(Long_or(Long_or(Long_shr(Long_and($this.$need, Long_fromInt(-16777216)), 24), Long_shr(Long_and($this.$need, Long_fromInt(16711680)), 8)), Long_shl(Long_and($this.$need, Long_fromInt(65280)), 8)), Long_shl(Long_and($this.$need, Long_fromInt(65535)), 24)), new Long(4294967295, 0));
                                                                                    if ($this.$was.lo != $this.$need.lo)
                                                                                        $this.$z1.$msg = $rt_s(847);
                                                                                    else if ($this.$flags2 && $this.$gheader !== null)
                                                                                        $this.$gheader.$crc = $this.$need;
                                                                                    $this.$mode0 = 15;
                                                                                    $r = var$2;
                                                                                }
                                                                                if (!($this.$wrap3 && $this.$flags2)) {
                                                                                    if ($this.$z1.$msg === null)
                                                                                        break f;
                                                                                    if (!jl_String_equals($this.$z1.$msg, $rt_s(847)))
                                                                                        break f;
                                                                                    $this.$mode0 = 13;
                                                                                    $this.$marker = 5;
                                                                                    continue i;
                                                                                }
                                                                                try {
                                                                                    $r = cjj_Inflate_readBytes($this, 4, $r, var$2);
                                                                                } catch ($$e) {
                                                                                    $$je = $rt_wrapException($$e);
                                                                                    if ($$je instanceof cjj_Inflate$Return) {
                                                                                        $e = $$je;
                                                                                        return $e.$r;
                                                                                    } else {
                                                                                        throw $$e;
                                                                                    }
                                                                                }
                                                                                if ($this.$z1.$msg !== null && jl_String_equals($this.$z1.$msg, $rt_s(847))) {
                                                                                    $this.$mode0 = 13;
                                                                                    $this.$marker = 5;
                                                                                    continue i;
                                                                                }
                                                                                if (Long_eq($this.$need, Long_and($this.$z1.$total_out, new Long(4294967295, 0)))) {
                                                                                    $this.$z1.$msg = null;
                                                                                    break f;
                                                                                }
                                                                                $this.$z1.$msg = $rt_s(848);
                                                                                $this.$mode0 = 13;
                                                                                continue i;
                                                                            }
                                                                            if (!$this.$wrap3) {
                                                                                $this.$mode0 = 7;
                                                                                continue i;
                                                                            }
                                                                            try {
                                                                                $r = cjj_Inflate_readBytes($this, 2, $r, var$2);
                                                                            } catch ($$e) {
                                                                                $$je = $rt_wrapException($$e);
                                                                                if ($$je instanceof cjj_Inflate$Return) {
                                                                                    $e = $$je;
                                                                                    return $e.$r;
                                                                                } else {
                                                                                    throw $$e;
                                                                                }
                                                                            }
                                                                            if (!($this.$wrap3 != 4 && !($this.$wrap3 & 2)) && Long_eq($this.$need, Long_fromInt(35615))) {
                                                                                if ($this.$wrap3 == 4)
                                                                                    $this.$wrap3 = 2;
                                                                                $this.$z1.$adler = cjj_CRC32__init_0();
                                                                                cjj_Inflate_checksum($this, 2, $this.$need);
                                                                                if ($this.$gheader === null)
                                                                                    $this.$gheader = cjj_GZIPHeader__init_0();
                                                                                $this.$mode0 = 23;
                                                                                continue i;
                                                                            }
                                                                            if ($this.$wrap3 & 2) {
                                                                                $this.$mode0 = 13;
                                                                                $this.$z1.$msg = $rt_s(849);
                                                                                continue i;
                                                                            }
                                                                            $this.$flags2 = 0;
                                                                            $this.$method = $this.$need.lo & 255;
                                                                            $b = Long_shr($this.$need, 8).lo & 255;
                                                                            if (!($this.$wrap3 & 1 && !((($this.$method << 8) + $b | 0) % 31 | 0)) && ($this.$method & 15) != 8) {
                                                                                if ($this.$wrap3 != 4) {
                                                                                    $this.$mode0 = 13;
                                                                                    $this.$z1.$msg = $rt_s(849);
                                                                                    continue i;
                                                                                }
                                                                                $e = $this.$z1;
                                                                                $e.$next_in_index = $e.$next_in_index - 2 | 0;
                                                                                $e = $this.$z1;
                                                                                $e.$avail_in = $e.$avail_in + 2 | 0;
                                                                                $e = $this.$z1;
                                                                                $e.$total_in = Long_sub($e.$total_in, Long_fromInt(2));
                                                                                $this.$wrap3 = 0;
                                                                                $this.$mode0 = 7;
                                                                                continue i;
                                                                            }
                                                                            if (($this.$method & 15) != 8) {
                                                                                $this.$mode0 = 13;
                                                                                $this.$z1.$msg = $rt_s(845);
                                                                                continue i;
                                                                            }
                                                                            if ($this.$wrap3 == 4)
                                                                                $this.$wrap3 = 1;
                                                                            if ((($this.$method >> 4) + 8 | 0) > $this.$wbits) {
                                                                                $this.$mode0 = 13;
                                                                                $this.$z1.$msg = $rt_s(850);
                                                                                continue i;
                                                                            }
                                                                            $this.$z1.$adler = cjj_Adler32__init_0();
                                                                            if ($b & 32) {
                                                                                $this.$mode0 = 2;
                                                                                break d;
                                                                            }
                                                                            $this.$mode0 = 7;
                                                                            continue i;
                                                                        }
                                                                        break m;
                                                                    }
                                                                    try {
                                                                        $r = cjj_Inflate_readBytes($this, 4, $r, var$2);
                                                                    } catch ($$e) {
                                                                        $$je = $rt_wrapException($$e);
                                                                        if ($$je instanceof cjj_Inflate$Return) {
                                                                            $e = $$je;
                                                                            return $e.$r;
                                                                        } else {
                                                                            throw $$e;
                                                                        }
                                                                    }
                                                                    if ($this.$gheader !== null)
                                                                        $this.$gheader.$time0 = $this.$need;
                                                                    if ($this.$flags2 & 512)
                                                                        cjj_Inflate_checksum($this, 4, $this.$need);
                                                                    $this.$mode0 = 17;
                                                                }
                                                                try {
                                                                    $r = cjj_Inflate_readBytes($this, 2, $r, var$2);
                                                                } catch ($$e) {
                                                                    $$je = $rt_wrapException($$e);
                                                                    if ($$je instanceof cjj_Inflate$Return) {
                                                                        $e = $$je;
                                                                        return $e.$r;
                                                                    } else {
                                                                        throw $$e;
                                                                    }
                                                                }
                                                                if ($this.$gheader !== null) {
                                                                    $this.$gheader.$xflags = $this.$need.lo & 255;
                                                                    $this.$gheader.$os = $this.$need.lo >> 8 & 255;
                                                                }
                                                                if ($this.$flags2 & 512)
                                                                    cjj_Inflate_checksum($this, 2, $this.$need);
                                                                $this.$mode0 = 18;
                                                            }
                                                            if ($this.$flags2 & 1024) {
                                                                try {
                                                                    $r = cjj_Inflate_readBytes($this, 2, $r, var$2);
                                                                } catch ($$e) {
                                                                    $$je = $rt_wrapException($$e);
                                                                    if ($$je instanceof cjj_Inflate$Return) {
                                                                        $e = $$je;
                                                                        return $e.$r;
                                                                    } else {
                                                                        throw $$e;
                                                                    }
                                                                }
                                                                if ($this.$gheader !== null)
                                                                    $this.$gheader.$extra = $rt_createByteArray($this.$need.lo & 65535);
                                                                if ($this.$flags2 & 512)
                                                                    cjj_Inflate_checksum($this, 2, $this.$need);
                                                            } else if ($this.$gheader !== null)
                                                                $this.$gheader.$extra = null;
                                                            $this.$mode0 = 19;
                                                        }
                                                        if ($this.$flags2 & 1024)
                                                            x: {
                                                                try {
                                                                    $r = cjj_Inflate_readBytes0($this, $r, var$2);
                                                                    if ($this.$gheader === null)
                                                                        break x;
                                                                    $foo = ji_ByteArrayOutputStream_toByteArray($this.$tmp_string);
                                                                    var$8 = $foo.data;
                                                                    $this.$tmp_string = null;
                                                                    $f = var$8.length;
                                                                    if ($f != $this.$gheader.$extra.data.length) {
                                                                        $this.$z1.$msg = $rt_s(851);
                                                                        $this.$mode0 = 13;
                                                                        continue i;
                                                                    }
                                                                    jl_System_arraycopy($foo, 0, $this.$gheader.$extra, 0, $f);
                                                                    break x;
                                                                } catch ($$e) {
                                                                    $$je = $rt_wrapException($$e);
                                                                    if ($$je instanceof cjj_Inflate$Return) {
                                                                        $e = $$je;
                                                                        return $e.$r;
                                                                    } else {
                                                                        throw $$e;
                                                                    }
                                                                }
                                                            }
                                                        else if ($this.$gheader !== null)
                                                            $this.$gheader.$extra = null;
                                                        $this.$mode0 = 20;
                                                    }
                                                    y: {
                                                        if ($this.$flags2 & 2048) {
                                                            z: {
                                                                try {
                                                                    $r = cjj_Inflate_readString($this, $r, var$2);
                                                                    if ($this.$gheader === null)
                                                                        break z;
                                                                    $this.$gheader.$name8 = ji_ByteArrayOutputStream_toByteArray($this.$tmp_string);
                                                                    break z;
                                                                } catch ($$e) {
                                                                    $$je = $rt_wrapException($$e);
                                                                    if ($$je instanceof cjj_Inflate$Return) {
                                                                        $e = $$je;
                                                                        break h;
                                                                    } else {
                                                                        throw $$e;
                                                                    }
                                                                }
                                                            }
                                                            try {
                                                                $this.$tmp_string = null;
                                                                break y;
                                                            } catch ($$e) {
                                                                $$je = $rt_wrapException($$e);
                                                                if ($$je instanceof cjj_Inflate$Return) {
                                                                    $e = $$je;
                                                                    break h;
                                                                } else {
                                                                    throw $$e;
                                                                }
                                                            }
                                                        } else if ($this.$gheader !== null)
                                                            $this.$gheader.$name8 = null;
                                                    }
                                                    $this.$mode0 = 21;
                                                }
                                                ba: {
                                                    if ($this.$flags2 & 4096) {
                                                        bb: {
                                                            try {
                                                                $r = cjj_Inflate_readString($this, $r, var$2);
                                                                if ($this.$gheader === null)
                                                                    break bb;
                                                                $this.$gheader.$comment = ji_ByteArrayOutputStream_toByteArray($this.$tmp_string);
                                                                break bb;
                                                            } catch ($$e) {
                                                                $$je = $rt_wrapException($$e);
                                                                if ($$je instanceof cjj_Inflate$Return) {
                                                                    $e = $$je;
                                                                    break g;
                                                                } else {
                                                                    throw $$e;
                                                                }
                                                            }
                                                        }
                                                        try {
                                                            $this.$tmp_string = null;
                                                            break ba;
                                                        } catch ($$e) {
                                                            $$je = $rt_wrapException($$e);
                                                            if ($$je instanceof cjj_Inflate$Return) {
                                                                $e = $$je;
                                                                break g;
                                                            } else {
                                                                throw $$e;
                                                            }
                                                        }
                                                    } else if ($this.$gheader !== null)
                                                        $this.$gheader.$comment = null;
                                                }
                                                $this.$mode0 = 22;
                                            }
                                            if ($this.$flags2 & 512) {
                                                try {
                                                    $r = cjj_Inflate_readBytes($this, 2, $r, var$2);
                                                } catch ($$e) {
                                                    $$je = $rt_wrapException($$e);
                                                    if ($$je instanceof cjj_Inflate$Return) {
                                                        $e = $$je;
                                                        return $e.$r;
                                                    } else {
                                                        throw $$e;
                                                    }
                                                }
                                                if ($this.$gheader !== null)
                                                    $this.$gheader.$hcrc = Long_and($this.$need, Long_fromInt(65535)).lo;
                                                if (Long_ne($this.$need, Long_and($this.$z1.$adler.$getValue1(), Long_fromInt(65535)))) {
                                                    $this.$mode0 = 13;
                                                    $this.$z1.$msg = $rt_s(852);
                                                    $this.$marker = 5;
                                                    continue;
                                                }
                                            }
                                            $this.$z1.$adler = cjj_CRC32__init_0();
                                            $this.$mode0 = 7;
                                        }
                                        return $r;
                                    }
                                    return $e.$r;
                                }
                                return $e.$r;
                            }
                            $this.$mode0 = 12;
                        }
                        return 1;
                    }
                    if (!$this.$z1.$avail_in)
                        return $r;
                    $e = $this.$z1;
                    $e.$avail_in = $e.$avail_in - 1 | 0;
                    $e = $this.$z1;
                    $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                    $foo = $this.$z1.$next_in.data;
                    $e = $this.$z1;
                    $r = $e.$next_in_index;
                    $e.$next_in_index = $r + 1 | 0;
                    $this.$need = Long_and(Long_fromInt(($foo[$r] & 255) << 24), new Long(4278190080, 0));
                    $this.$mode0 = 3;
                    $r = var$2;
                }
                if (!$this.$z1.$avail_in)
                    return $r;
                $e = $this.$z1;
                $e.$avail_in = $e.$avail_in - 1 | 0;
                $e = $this.$z1;
                $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
                var$6 = $this.$need;
                $foo = $this.$z1.$next_in.data;
                $e = $this.$z1;
                $r = $e.$next_in_index;
                $e.$next_in_index = $r + 1 | 0;
                $this.$need = Long_add(var$6, Long_and(Long_fromInt(($foo[$r] & 255) << 16), Long_fromInt(16711680)));
                $this.$mode0 = 4;
                $r = var$2;
            }
            if (!$this.$z1.$avail_in)
                return $r;
            $e = $this.$z1;
            $e.$avail_in = $e.$avail_in - 1 | 0;
            $e = $this.$z1;
            $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
            var$6 = $this.$need;
            $foo = $this.$z1.$next_in.data;
            $e = $this.$z1;
            $f = $e.$next_in_index;
            $e.$next_in_index = $f + 1 | 0;
            $this.$need = Long_add(var$6, Long_and(Long_fromInt(($foo[$f] & 255) << 8), Long_fromInt(65280)));
            $this.$mode0 = 5;
        }
        if (!$this.$z1.$avail_in)
            return var$2;
        $e = $this.$z1;
        $e.$avail_in = $e.$avail_in - 1 | 0;
        $e = $this.$z1;
        $e.$total_in = Long_add($e.$total_in, Long_fromInt(1));
        var$6 = $this.$need;
        $foo = $this.$z1.$next_in.data;
        $e = $this.$z1;
        $f = $e.$next_in_index;
        $e.$next_in_index = $f + 1 | 0;
        $this.$need = Long_add(var$6, Long_and(Long_fromInt($foo[$f]), Long_fromInt(255)));
        $this.$z1.$adler.$reset2($this.$need);
        $this.$mode0 = 6;
        return 2;
    }
    if ($f == 4 && $this.$mode0 == 14)
        return 0;
    return (-2);
}
function cjj_Inflate_readBytes($this, $n, $r, $f) {
    var var$4, var$5, var$6, var$7;
    if ($this.$need_bytes == (-1)) {
        $this.$need_bytes = $n;
        $this.$need = Long_ZERO;
    }
    while (true) {
        if ($this.$need_bytes <= 0) {
            if ($n == 2)
                $this.$need = Long_and($this.$need, Long_fromInt(65535));
            else if ($n == 4)
                $this.$need = Long_and($this.$need, new Long(4294967295, 0));
            $this.$need_bytes = (-1);
            return $r;
        }
        if (!$this.$z1.$avail_in)
            break;
        var$4 = $this.$z1;
        var$4.$avail_in = var$4.$avail_in - 1 | 0;
        var$4 = $this.$z1;
        var$4.$total_in = Long_add(var$4.$total_in, Long_fromInt(1));
        var$5 = $this.$need;
        var$6 = $this.$z1.$next_in.data;
        var$4 = $this.$z1;
        var$7 = var$4.$next_in_index;
        var$4.$next_in_index = var$7 + 1 | 0;
        $this.$need = Long_or(var$5, Long_fromInt((var$6[var$7] & 255) << (($n - $this.$need_bytes | 0) * 8 | 0)));
        $this.$need_bytes = $this.$need_bytes - 1 | 0;
        $r = $f;
    }
    $rt_throw(cjj_Inflate$Return__init_($this, $r));
}
function cjj_Inflate_readString($this, $r, $f) {
    var var$3, var$4;
    if ($this.$tmp_string === null)
        $this.$tmp_string = ji_ByteArrayOutputStream__init_0();
    while (true) {
        if (!$this.$z1.$avail_in)
            $rt_throw(cjj_Inflate$Return__init_($this, $r));
        var$3 = $this.$z1;
        var$3.$avail_in = var$3.$avail_in - 1 | 0;
        var$3 = $this.$z1;
        var$3.$total_in = Long_add(var$3.$total_in, Long_fromInt(1));
        var$4 = $this.$z1.$next_in.data[$this.$z1.$next_in_index];
        if (var$4)
            ji_ByteArrayOutputStream_write0($this.$tmp_string, $this.$z1.$next_in, $this.$z1.$next_in_index, 1);
        $this.$z1.$adler.$update($this.$z1.$next_in, $this.$z1.$next_in_index, 1);
        var$3 = $this.$z1;
        var$3.$next_in_index = var$3.$next_in_index + 1 | 0;
        if (!var$4)
            break;
        $r = $f;
    }
    return $f;
}
function cjj_Inflate_readBytes0($this, $r, $f) {
    var var$3;
    if ($this.$tmp_string === null)
        $this.$tmp_string = ji_ByteArrayOutputStream__init_0();
    while (Long_gt($this.$need, Long_ZERO)) {
        if (!$this.$z1.$avail_in)
            $rt_throw(cjj_Inflate$Return__init_($this, $r));
        var$3 = $this.$z1;
        var$3.$avail_in = var$3.$avail_in - 1 | 0;
        var$3 = $this.$z1;
        var$3.$total_in = Long_add(var$3.$total_in, Long_fromInt(1));
        ji_ByteArrayOutputStream_write0($this.$tmp_string, $this.$z1.$next_in, $this.$z1.$next_in_index, 1);
        $this.$z1.$adler.$update($this.$z1.$next_in, $this.$z1.$next_in_index, 1);
        var$3 = $this.$z1;
        var$3.$next_in_index = var$3.$next_in_index + 1 | 0;
        $this.$need = Long_sub($this.$need, Long_fromInt(1));
        $r = $f;
    }
    return $r;
}
function cjj_Inflate_checksum($this, $n, $v) {
    var $i;
    $i = 0;
    while ($i < $n) {
        $this.$crcbuf.data[$i] = Long_and($v, Long_fromInt(255)).lo << 24 >> 24;
        $v = Long_shr($v, 8);
        $i = $i + 1 | 0;
    }
    $this.$z1.$adler.$update($this.$crcbuf, 0, $n);
}
function cjj_Inflate__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createByteArray(4);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 0;
    var$2[2] = (-1);
    var$2[3] = (-1);
    cjj_Inflate_mark = var$1;
}
function jur_AbstractCharClass$1() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$lHS = null;
    a.$this$04 = null;
}
function jur_AbstractCharClass$1_contains($this, $ch) {
    var $index;
    $index = $ch - 55296 | 0;
    return $index >= 0 && $index < 2048 ? $this.$altSurrogates ^ ju_BitSet_get($this.$val$lHS, $index) : 0;
}
function jur_AbstractCharClass$2() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$lHS0 = null;
    a.$val$thisClass = null;
    a.$this$05 = null;
}
function jur_AbstractCharClass$2_contains($this, $ch) {
    var $index, $containslHS;
    $index = $ch - 55296 | 0;
    $containslHS = $index >= 0 && $index < 2048 ? $this.$altSurrogates ^ ju_BitSet_get($this.$val$lHS0, $index) : 0;
    return $this.$val$thisClass.$contains1($ch) && !$containslHS ? 1 : 0;
}
function jur_CharClass$18() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$bs = null;
    a.$this$023 = null;
}
function jur_CharClass$18_contains($this, $ch) {
    return $this.$alt0 ^ ju_BitSet_get($this.$val$bs, $ch);
}
function jur_CharClass$18_toString($this) {
    var $temp, $i;
    $temp = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($temp);
    $i = ju_BitSet_nextSetBit($this.$val$bs, 0);
    while ($i >= 0) {
        jl_AbstractStringBuilder_append7($temp, jl_Character_toChars($i));
        jl_AbstractStringBuilder_append0($temp, 124);
        $i = ju_BitSet_nextSetBit($this.$val$bs, $i + 1 | 0);
    }
    if ($temp.$length0 > 0)
        jl_StringBuilder_deleteCharAt($temp, $temp.$length0 - 1 | 0);
    return jl_AbstractStringBuilder_toString($temp);
}
function jl_IllegalStateException() {
    jl_Exception.call(this);
}
function jl_IllegalStateException__init_0() {
    var var_0 = new jl_IllegalStateException();
    jl_IllegalStateException__init_(var_0);
    return var_0;
}
function jl_IllegalStateException__init_($this) {
    jl_Throwable__init_0($this);
}
function ju_NoSuchElementException() {
    jl_RuntimeException.call(this);
}
function ju_NoSuchElementException__init_0() {
    var var_0 = new ju_NoSuchElementException();
    ju_NoSuchElementException__init_(var_0);
    return var_0;
}
function ju_NoSuchElementException__init_($this) {
    jl_Throwable__init_0($this);
}
function jur_CharClass$1() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$cc1 = null;
    a.$this$08 = null;
}
function jur_CharClass$1_contains($this, $ch) {
    return $this.$val$cc1.$contains1($ch);
}
function jur_CharClass$3() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$curAlt1 = 0;
    a.$val$cc2 = null;
    a.$this$09 = null;
}
function jur_CharClass$3_contains($this, $ch) {
    return !($this.$val$curAlt1 ^ ju_BitSet_get($this.$this$09.$bits, $ch)) && !($this.$val$curAlt1 ^ $this.$this$09.$inverted ^ $this.$val$cc2.$contains1($ch)) ? 0 : 1;
}
function jur_CharClass$2() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$curAlt2 = 0;
    a.$val$cc3 = null;
    a.$this$010 = null;
}
function jur_CharClass$2_contains($this, $ch) {
    return !($this.$val$curAlt2 ^ ju_BitSet_get($this.$this$010.$bits, $ch)) && !($this.$val$curAlt2 ^ $this.$this$010.$inverted ^ $this.$val$cc3.$contains1($ch)) ? 1 : 0;
}
function jur_CharClass$5() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$curAlt = 0;
    a.$val$nb = null;
    a.$val$cc = null;
    a.$this$06 = null;
}
function jur_CharClass$5_contains($this, $ch) {
    return $this.$val$curAlt ^ (!$this.$val$nb.$contains1($ch) && !$this.$val$cc.$contains1($ch) ? 0 : 1);
}
function jur_CharClass$4() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$curAlt0 = 0;
    a.$val$nb0 = null;
    a.$val$cc0 = null;
    a.$this$07 = null;
}
function jur_CharClass$4_contains($this, $ch) {
    return $this.$val$curAlt0 ^ (!$this.$val$nb0.$contains1($ch) && !$this.$val$cc0.$contains1($ch) ? 0 : 1) ? 0 : 1;
}
function jur_CharClass$7() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$clazz1 = null;
    a.$this$013 = null;
}
function jur_CharClass$7_contains($this, $ch) {
    return jur_CharClass_contains($this.$val$clazz1, $ch);
}
function jur_CharClass$6() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$clazz2 = null;
    a.$this$014 = null;
}
function jur_CharClass$6_contains($this, $ch) {
    return jur_CharClass_contains($this.$val$clazz2, $ch) ? 0 : 1;
}
function jur_CharClass$9() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$clazz3 = null;
    a.$val$curAlt5 = 0;
    a.$this$015 = null;
}
function jur_CharClass$9_contains($this, $ch) {
    return !jur_CharClass_contains($this.$val$clazz3, $ch) && !($this.$val$curAlt5 ^ ju_BitSet_get($this.$this$015.$bits, $ch)) ? 0 : 1;
}
function jur_CharClass$8() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$clazz4 = null;
    a.$val$curAlt6 = 0;
    a.$this$016 = null;
}
function jur_CharClass$8_contains($this, $ch) {
    return !jur_CharClass_contains($this.$val$clazz4, $ch) && !($this.$val$curAlt6 ^ ju_BitSet_get($this.$this$016.$bits, $ch)) ? 1 : 0;
}
function jur_CharClass$11() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$curAlt3 = 0;
    a.$val$nb1 = null;
    a.$val$clazz = null;
    a.$this$011 = null;
}
function jur_CharClass$11_contains($this, $ch) {
    return !($this.$val$curAlt3 ^ $this.$val$nb1.$contains1($ch)) && !jur_CharClass_contains($this.$val$clazz, $ch) ? 0 : 1;
}
function jur_CharClass$10() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$curAlt4 = 0;
    a.$val$nb2 = null;
    a.$val$clazz0 = null;
    a.$this$012 = null;
}
function jur_CharClass$10_contains($this, $ch) {
    return !($this.$val$curAlt4 ^ $this.$val$nb2.$contains1($ch)) && !jur_CharClass_contains($this.$val$clazz0, $ch) ? 1 : 0;
}
function jur_CharClass$13() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$clazz7 = null;
    a.$this$019 = null;
}
function jur_CharClass$13_contains($this, $ch) {
    return jur_CharClass_contains($this.$val$clazz7, $ch);
}
function jur_CharClass$12() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$clazz8 = null;
    a.$this$020 = null;
}
function jur_CharClass$12_contains($this, $ch) {
    return jur_CharClass_contains($this.$val$clazz8, $ch) ? 0 : 1;
}
function jur_CharClass$15() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$clazz9 = null;
    a.$val$curAlt9 = 0;
    a.$this$021 = null;
}
function jur_CharClass$15_contains($this, $ch) {
    return jur_CharClass_contains($this.$val$clazz9, $ch) && $this.$val$curAlt9 ^ ju_BitSet_get($this.$this$021.$bits, $ch) ? 1 : 0;
}
function jur_CharClass$14() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$clazz10 = null;
    a.$val$curAlt10 = 0;
    a.$this$022 = null;
}
function jur_CharClass$14_contains($this, $ch) {
    return jur_CharClass_contains($this.$val$clazz10, $ch) && $this.$val$curAlt10 ^ ju_BitSet_get($this.$this$022.$bits, $ch) ? 0 : 1;
}
function jur_CharClass$17() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$curAlt7 = 0;
    a.$val$nb3 = null;
    a.$val$clazz5 = null;
    a.$this$017 = null;
}
function jur_CharClass$17_contains($this, $ch) {
    return $this.$val$curAlt7 ^ $this.$val$nb3.$contains1($ch) && jur_CharClass_contains($this.$val$clazz5, $ch) ? 1 : 0;
}
function jur_CharClass$16() {
    var a = this; jur_AbstractCharClass.call(a);
    a.$val$curAlt8 = 0;
    a.$val$nb4 = null;
    a.$val$clazz6 = null;
    a.$this$018 = null;
}
function jur_CharClass$16_contains($this, $ch) {
    return $this.$val$curAlt8 ^ $this.$val$nb4.$contains1($ch) && jur_CharClass_contains($this.$val$clazz6, $ch) ? 0 : 1;
}
function ju_Iterator() {
}
function ju_AbstractList$1() {
    var a = this; jl_Object.call(a);
    a.$index3 = 0;
    a.$modCount0 = 0;
    a.$size1 = 0;
    a.$removeIndex = 0;
    a.$this$0 = null;
}
function ju_AbstractList$1_hasNext($this) {
    return $this.$index3 >= $this.$size1 ? 0 : 1;
}
function ju_AbstractList$1_next($this) {
    var var$1, var$2;
    ju_AbstractList$1_checkConcurrentModification($this);
    $this.$removeIndex = $this.$index3;
    var$1 = $this.$this$0;
    var$2 = $this.$index3;
    $this.$index3 = var$2 + 1 | 0;
    return var$1.$get5(var$2);
}
function ju_AbstractList$1_remove($this) {
    var var$1;
    if ($this.$removeIndex < 0) {
        var$1 = new jl_IllegalStateException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    ju_AbstractList$1_checkConcurrentModification($this);
    $this.$this$0.$remove0($this.$removeIndex);
    $this.$modCount0 = $this.$this$0.$modCount;
    if ($this.$removeIndex < $this.$index3)
        $this.$index3 = $this.$index3 - 1 | 0;
    $this.$size1 = $this.$size1 - 1 | 0;
    $this.$removeIndex = (-1);
}
function ju_AbstractList$1_checkConcurrentModification($this) {
    var var$1;
    if ($this.$modCount0 >= $this.$this$0.$modCount)
        return;
    var$1 = new ju_ConcurrentModificationException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
}
function jl_ConsoleOutputStreamStderr() {
    ji_OutputStream.call(this);
}
function jl_ConsoleOutputStreamStderr__init_0() {
    var var_0 = new jl_ConsoleOutputStreamStderr();
    jl_ConsoleOutputStreamStderr__init_(var_0);
    return var_0;
}
function jl_ConsoleOutputStreamStderr__init_($this) {
    return;
}
function jl_ConsoleOutputStreamStderr_write($this, $b) {
    $rt_putStderr($b);
}
function nms_AxisAlignedBB() {
    var a = this; jl_Object.call(a);
    a.$minX = 0.0;
    a.$minY = 0.0;
    a.$minZ = 0.0;
    a.$maxX = 0.0;
    a.$maxY = 0.0;
    a.$maxZ = 0.0;
}
var nms_AxisAlignedBB_theAABBLocalPool = null;
function nms_AxisAlignedBB__init_(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_AxisAlignedBB();
    nms_AxisAlignedBB__init_0(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
}
function nms_AxisAlignedBB_getBoundingBox($par0, $par2, $par4, $par6, $par8, $par10) {
    return nms_AxisAlignedBB__init_($par0, $par2, $par4, $par6, $par8, $par10);
}
function nms_AxisAlignedBB_getAABBPool() {
    return jl_ThreadLocal_get(nms_AxisAlignedBB_theAABBLocalPool);
}
function nms_AxisAlignedBB__init_0($this, $par1, $par3, $par5, $par7, $par9, $par11) {
    $this.$minX = $par1;
    $this.$minY = $par3;
    $this.$minZ = $par5;
    $this.$maxX = $par7;
    $this.$maxY = $par9;
    $this.$maxZ = $par11;
}
function nms_AxisAlignedBB_setBounds($this, $par1, $par3, $par5, $par7, $par9, $par11) {
    $this.$minX = $par1;
    $this.$minY = $par3;
    $this.$minZ = $par5;
    $this.$maxX = $par7;
    $this.$maxY = $par9;
    $this.$maxZ = $par11;
    return $this;
}
function nms_AxisAlignedBB_addCoord($this, $par1, $par3, $par5) {
    var $var7, $var9, $var11, $var13, $var15, $var17, var$10;
    $var7 = $this.$minX;
    $var9 = $this.$minY;
    $var11 = $this.$minZ;
    $var13 = $this.$maxX;
    $var15 = $this.$maxY;
    $var17 = $this.$maxZ;
    var$10 = $rt_compare($par1, 0.0);
    if (var$10 < 0)
        $var7 = $var7 + $par1;
    if (var$10 > 0)
        $var13 = $var13 + $par1;
    var$10 = $rt_compare($par3, 0.0);
    if (var$10 < 0)
        $var9 = $var9 + $par3;
    if (var$10 > 0)
        $var15 = $var15 + $par3;
    var$10 = $rt_compare($par5, 0.0);
    if (var$10 < 0)
        $var11 = $var11 + $par5;
    if (var$10 > 0)
        $var17 = $var17 + $par5;
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $var7, $var9, $var11, $var13, $var15, $var17);
}
function nms_AxisAlignedBB_expand($this, $par1, $par3, $par5) {
    var $var7, $var9, $var11, $var13, $var15, $var17;
    $var7 = $this.$minX - $par1;
    $var9 = $this.$minY - $par3;
    $var11 = $this.$minZ - $par5;
    $var13 = $this.$maxX + $par1;
    $var15 = $this.$maxY + $par3;
    $var17 = $this.$maxZ + $par5;
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $var7, $var9, $var11, $var13, $var15, $var17);
}
function nms_AxisAlignedBB_getOffsetBoundingBox($this, $par1, $par3, $par5) {
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $this.$minX + $par1, $this.$minY + $par3, $this.$minZ + $par5, $this.$maxX + $par1, $this.$maxY + $par3, $this.$maxZ + $par5);
}
function nms_AxisAlignedBB_calculateXOffset($this, $par1AxisAlignedBB, $par2) {
    var $var4, $var4_0;
    if ($par1AxisAlignedBB.$maxY > $this.$minY && $par1AxisAlignedBB.$minY < $this.$maxY) {
        if ($par1AxisAlignedBB.$maxZ > $this.$minZ && $par1AxisAlignedBB.$minZ < $this.$maxZ) {
            if ($par2 <= 0.0)
                $var4 = $par2;
            else if ($par1AxisAlignedBB.$maxX > $this.$minX)
                $var4 = $par2;
            else {
                $var4 = $this.$minX - $par1AxisAlignedBB.$maxX;
                if ($var4 >= $par2)
                    $var4 = $par2;
            }
            if ($var4 >= 0.0)
                $var4_0 = $var4;
            else if ($par1AxisAlignedBB.$minX < $this.$maxX)
                $var4_0 = $var4;
            else {
                $var4_0 = $this.$maxX - $par1AxisAlignedBB.$minX;
                if ($var4_0 <= $var4)
                    $var4_0 = $var4;
            }
            return $var4_0;
        }
        return $par2;
    }
    return $par2;
}
function nms_AxisAlignedBB_calculateYOffset($this, $par1AxisAlignedBB, $par2) {
    var $var4, $var4_0;
    if ($par1AxisAlignedBB.$maxX > $this.$minX && $par1AxisAlignedBB.$minX < $this.$maxX) {
        if ($par1AxisAlignedBB.$maxZ > $this.$minZ && $par1AxisAlignedBB.$minZ < $this.$maxZ) {
            if ($par2 <= 0.0)
                $var4 = $par2;
            else if ($par1AxisAlignedBB.$maxY > $this.$minY)
                $var4 = $par2;
            else {
                $var4 = $this.$minY - $par1AxisAlignedBB.$maxY;
                if ($var4 >= $par2)
                    $var4 = $par2;
            }
            if ($var4 >= 0.0)
                $var4_0 = $var4;
            else if ($par1AxisAlignedBB.$minY < $this.$maxY)
                $var4_0 = $var4;
            else {
                $var4_0 = $this.$maxY - $par1AxisAlignedBB.$minY;
                if ($var4_0 <= $var4)
                    $var4_0 = $var4;
            }
            return $var4_0;
        }
        return $par2;
    }
    return $par2;
}
function nms_AxisAlignedBB_calculateZOffset($this, $par1AxisAlignedBB, $par2) {
    var $var4, $var4_0;
    if ($par1AxisAlignedBB.$maxX > $this.$minX && $par1AxisAlignedBB.$minX < $this.$maxX) {
        if ($par1AxisAlignedBB.$maxY > $this.$minY && $par1AxisAlignedBB.$minY < $this.$maxY) {
            if ($par2 <= 0.0)
                $var4 = $par2;
            else if ($par1AxisAlignedBB.$maxZ > $this.$minZ)
                $var4 = $par2;
            else {
                $var4 = $this.$minZ - $par1AxisAlignedBB.$maxZ;
                if ($var4 >= $par2)
                    $var4 = $par2;
            }
            if ($var4 >= 0.0)
                $var4_0 = $var4;
            else if ($par1AxisAlignedBB.$minZ < $this.$maxZ)
                $var4_0 = $var4;
            else {
                $var4_0 = $this.$maxZ - $par1AxisAlignedBB.$minZ;
                if ($var4_0 <= $var4)
                    $var4_0 = $var4;
            }
            return $var4_0;
        }
        return $par2;
    }
    return $par2;
}
function nms_AxisAlignedBB_intersectsWith($this, $par1AxisAlignedBB) {
    return $par1AxisAlignedBB.$maxX > $this.$minX && $par1AxisAlignedBB.$minX < $this.$maxX ? ($par1AxisAlignedBB.$maxY > $this.$minY && $par1AxisAlignedBB.$minY < $this.$maxY ? ($par1AxisAlignedBB.$maxZ > $this.$minZ && $par1AxisAlignedBB.$minZ < $this.$maxZ ? 1 : 0) : 0) : 0;
}
function nms_AxisAlignedBB_offset($this, $par1, $par3, $par5) {
    $this.$minX = $this.$minX + $par1;
    $this.$minY = $this.$minY + $par3;
    $this.$minZ = $this.$minZ + $par5;
    $this.$maxX = $this.$maxX + $par1;
    $this.$maxY = $this.$maxY + $par3;
    $this.$maxZ = $this.$maxZ + $par5;
    return $this;
}
function nms_AxisAlignedBB_isVecInside($this, $par1Vec3) {
    return $par1Vec3.$xCoord > $this.$minX && $par1Vec3.$xCoord < $this.$maxX ? ($par1Vec3.$yCoord > $this.$minY && $par1Vec3.$yCoord < $this.$maxY ? ($par1Vec3.$zCoord > $this.$minZ && $par1Vec3.$zCoord < $this.$maxZ ? 1 : 0) : 0) : 0;
}
function nms_AxisAlignedBB_getAverageEdgeLength($this) {
    return ($this.$maxX - $this.$minX + $this.$maxY - $this.$minY + $this.$maxZ - $this.$minZ) / 3.0;
}
function nms_AxisAlignedBB_contract($this, $par1, $par3, $par5) {
    var $var7, $var9, $var11, $var13, $var15, $var17;
    $var7 = $this.$minX + $par1;
    $var9 = $this.$minY + $par3;
    $var11 = $this.$minZ + $par5;
    $var13 = $this.$maxX - $par1;
    $var15 = $this.$maxY - $par3;
    $var17 = $this.$maxZ - $par5;
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $var7, $var9, $var11, $var13, $var15, $var17);
}
function nms_AxisAlignedBB_copy($this) {
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $this.$minX, $this.$minY, $this.$minZ, $this.$maxX, $this.$maxY, $this.$maxZ);
}
function nms_AxisAlignedBB_calculateIntercept($this, $par1Vec3, $par2Vec3) {
    var $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10;
    $var3 = nms_Vec3_getIntermediateWithXValue($par1Vec3, $par2Vec3, $this.$minX);
    $var4 = nms_Vec3_getIntermediateWithXValue($par1Vec3, $par2Vec3, $this.$maxX);
    $var5 = nms_Vec3_getIntermediateWithYValue($par1Vec3, $par2Vec3, $this.$minY);
    $var6 = nms_Vec3_getIntermediateWithYValue($par1Vec3, $par2Vec3, $this.$maxY);
    $var7 = nms_Vec3_getIntermediateWithZValue($par1Vec3, $par2Vec3, $this.$minZ);
    $var8 = nms_Vec3_getIntermediateWithZValue($par1Vec3, $par2Vec3, $this.$maxZ);
    if (!nms_AxisAlignedBB_isVecInYZ($this, $var3))
        $var3 = null;
    if (!nms_AxisAlignedBB_isVecInYZ($this, $var4))
        $var4 = null;
    if (!nms_AxisAlignedBB_isVecInXZ($this, $var5))
        $var5 = null;
    if (!nms_AxisAlignedBB_isVecInXZ($this, $var6))
        $var6 = null;
    if (!nms_AxisAlignedBB_isVecInXY($this, $var7))
        $var7 = null;
    if (!nms_AxisAlignedBB_isVecInXY($this, $var8))
        $var8 = null;
    $var9 = null;
    if ($var3 !== null)
        $var9 = $var3;
    if ($var4 !== null && !($var9 !== null && nms_Vec3_squareDistanceTo($par1Vec3, $var4) >= nms_Vec3_squareDistanceTo($par1Vec3, $var9)))
        $var9 = $var4;
    if ($var5 !== null && !($var9 !== null && nms_Vec3_squareDistanceTo($par1Vec3, $var5) >= nms_Vec3_squareDistanceTo($par1Vec3, $var9)))
        $var9 = $var5;
    if ($var6 !== null && !($var9 !== null && nms_Vec3_squareDistanceTo($par1Vec3, $var6) >= nms_Vec3_squareDistanceTo($par1Vec3, $var9)))
        $var9 = $var6;
    if ($var7 !== null && !($var9 !== null && nms_Vec3_squareDistanceTo($par1Vec3, $var7) >= nms_Vec3_squareDistanceTo($par1Vec3, $var9)))
        $var9 = $var7;
    if ($var8 !== null && !($var9 !== null && nms_Vec3_squareDistanceTo($par1Vec3, $var8) >= nms_Vec3_squareDistanceTo($par1Vec3, $var9)))
        $var9 = $var8;
    if ($var9 === null)
        return null;
    $var10 = (-1);
    if ($var9 === $var3)
        $var10 = 4;
    if ($var9 === $var4)
        $var10 = 5;
    if ($var9 === $var5)
        $var10 = 0;
    if ($var9 === $var6)
        $var10 = 1;
    if ($var9 === $var7)
        $var10 = 2;
    if ($var9 === $var8)
        $var10 = 3;
    return nms_MovingObjectPosition__init_(0, 0, 0, $var10, $var9);
}
function nms_AxisAlignedBB_isVecInYZ($this, $par1Vec3) {
    return $par1Vec3 === null ? 0 : $par1Vec3.$yCoord >= $this.$minY && $par1Vec3.$yCoord <= $this.$maxY && $par1Vec3.$zCoord >= $this.$minZ && $par1Vec3.$zCoord <= $this.$maxZ ? 1 : 0;
}
function nms_AxisAlignedBB_isVecInXZ($this, $par1Vec3) {
    return $par1Vec3 === null ? 0 : $par1Vec3.$xCoord >= $this.$minX && $par1Vec3.$xCoord <= $this.$maxX && $par1Vec3.$zCoord >= $this.$minZ && $par1Vec3.$zCoord <= $this.$maxZ ? 1 : 0;
}
function nms_AxisAlignedBB_isVecInXY($this, $par1Vec3) {
    return $par1Vec3 === null ? 0 : $par1Vec3.$xCoord >= $this.$minX && $par1Vec3.$xCoord <= $this.$maxX && $par1Vec3.$yCoord >= $this.$minY && $par1Vec3.$yCoord <= $this.$maxY ? 1 : 0;
}
function nms_AxisAlignedBB_setBB($this, $par1AxisAlignedBB) {
    $this.$minX = $par1AxisAlignedBB.$minX;
    $this.$minY = $par1AxisAlignedBB.$minY;
    $this.$minZ = $par1AxisAlignedBB.$minZ;
    $this.$maxX = $par1AxisAlignedBB.$maxX;
    $this.$maxY = $par1AxisAlignedBB.$maxY;
    $this.$maxZ = $par1AxisAlignedBB.$maxZ;
}
function nms_AxisAlignedBB_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(853));
    var$1 = jl_StringBuilder_append4(var$1, $this.$minX);
    jl_AbstractStringBuilder_append(var$1, $rt_s(368));
    var$1 = jl_StringBuilder_append4(var$1, $this.$minY);
    jl_AbstractStringBuilder_append(var$1, $rt_s(368));
    var$1 = jl_StringBuilder_append4(var$1, $this.$minZ);
    jl_AbstractStringBuilder_append(var$1, $rt_s(854));
    var$1 = jl_StringBuilder_append4(var$1, $this.$maxX);
    jl_AbstractStringBuilder_append(var$1, $rt_s(368));
    var$1 = jl_StringBuilder_append4(var$1, $this.$maxY);
    jl_AbstractStringBuilder_append(var$1, $rt_s(368));
    var$1 = jl_StringBuilder_append4(var$1, $this.$maxZ);
    jl_AbstractStringBuilder_append(var$1, $rt_s(274));
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_AxisAlignedBB__clinit_() {
    nms_AxisAlignedBB_theAABBLocalPool = new nms_AABBLocalPool;
}
function nms_GameSettings() {
    var a = this; jl_Object.call(a);
    a.$musicVolume = 0.0;
    a.$soundVolume = 0.0;
    a.$mouseSensitivity = 0.0;
    a.$invertMouse = 0;
    a.$renderDistance = 0;
    a.$viewBobbing = 0;
    a.$anaglyph = 0;
    a.$advancedOpengl = 0;
    a.$limitFramerate = 0;
    a.$fancyGraphics = 0;
    a.$enableFog = 0;
    a.$ambientOcclusion = 0;
    a.$clouds = 0;
    a.$skin = null;
    a.$chatVisibility = 0;
    a.$chatColours = 0;
    a.$chatLinks = 0;
    a.$chatLinksPrompt = 0;
    a.$chatOpacity = 0.0;
    a.$serverTextures = 0;
    a.$snooperEnabled = 0;
    a.$fullScreen = 0;
    a.$enableVsync = 0;
    a.$hideServerAddress = 0;
    a.$advancedItemTooltips = 0;
    a.$pauseOnLostFocus = 0;
    a.$showCape = 0;
    a.$touchscreen = 0;
    a.$antialiasMode = 0;
    a.$patchAnisotropic = 0;
    a.$overrideWidth = 0;
    a.$overrideHeight = 0;
    a.$heldItemTooltips = 0;
    a.$chatScale = 0.0;
    a.$chatWidth = 0.0;
    a.$chatHeightUnfocused = 0.0;
    a.$chatHeightFocused = 0.0;
    a.$keyBindForward = null;
    a.$keyBindLeft = null;
    a.$keyBindBack = null;
    a.$keyBindRight = null;
    a.$keyBindJump = null;
    a.$keyBindInventory = null;
    a.$keyBindDrop = null;
    a.$keyBindChat = null;
    a.$keyBindSneak = null;
    a.$keyBindAttack = null;
    a.$keyBindUseItem = null;
    a.$keyBindPlayerList = null;
    a.$keyBindPickBlock = null;
    a.$keyBindSprint = null;
    a.$keyBindZoom = null;
    a.$keyBindFunction = null;
    a.$keyBindings = null;
    a.$mc4 = null;
    a.$difficulty = 0;
    a.$hideGUI = 0;
    a.$thirdPersonView = 0;
    a.$showDebugInfo = 0;
    a.$showDebugProfilerChart = 0;
    a.$showCoordinates = 0;
    a.$lastServer = null;
    a.$noclip = 0;
    a.$smoothCamera = 0;
    a.$debugCamEnable = 0;
    a.$noclipRate = 0.0;
    a.$debugCamRate = 0.0;
    a.$fovSetting = 0.0;
    a.$gammaSetting = 0.0;
    a.$guiScale = 0;
    a.$particleSetting = 0;
    a.$language = null;
}
var nms_GameSettings_useDefaultProtocol = 0;
var nms_GameSettings_useProxy = 0;
var nms_GameSettings_proxy = null;
var nms_GameSettings_RENDER_DISTANCES = null;
var nms_GameSettings_DIFFICULTIES = null;
var nms_GameSettings_GUISCALES = null;
var nms_GameSettings_CHAT_VISIBILITIES = null;
var nms_GameSettings_PARTICLES = null;
var nms_GameSettings_LIMIT_FRAMERATES = null;
var nms_GameSettings_AMBIENT_OCCLUSIONS = null;
var nms_GameSettings_ANTIALIASING = null;
function nms_GameSettings_$callClinit() {
    nms_GameSettings_$callClinit = $rt_eraseClinit(nms_GameSettings);
    nms_GameSettings__clinit_();
}
function nms_GameSettings__init_(var_0) {
    var var_1 = new nms_GameSettings();
    nms_GameSettings__init_0(var_1, var_0);
    return var_1;
}
function nms_GameSettings_getNewProxy() {
    var $res;
    nms_GameSettings_$callClinit();
    if (nle_ConfigConstants_proxies.data.length == 1)
        return nle_ConfigConstants_proxies.data[0];
    $res = nms_GameSettings_proxy;
    while (jl_String_equals($res, nms_GameSettings_proxy)) {
        $res = nle_ConfigConstants_proxies.data[jl_Math_floor(jl_Math_random() * nle_ConfigConstants_proxies.data.length) | 0];
    }
    return $res;
}
function nms_GameSettings__init_0($this, $par1Minecraft) {
    var var$2, var$3;
    nms_GameSettings_$callClinit();
    $this.$musicVolume = 0.25;
    $this.$soundVolume = 1.0;
    $this.$mouseSensitivity = 0.5;
    $this.$invertMouse = 0;
    $this.$renderDistance = 1;
    $this.$viewBobbing = 1;
    $this.$anaglyph = 0;
    $this.$advancedOpengl = 0;
    $this.$limitFramerate = 1;
    $this.$fancyGraphics = 0;
    $this.$enableFog = 1;
    $this.$ambientOcclusion = 0;
    $this.$clouds = 0;
    $this.$skin = $rt_s(855);
    $this.$chatVisibility = 0;
    $this.$chatColours = 1;
    $this.$chatLinks = 1;
    $this.$chatLinksPrompt = 1;
    $this.$chatOpacity = 1.0;
    $this.$serverTextures = 1;
    $this.$snooperEnabled = 0;
    $this.$fullScreen = 0;
    $this.$enableVsync = 1;
    $this.$hideServerAddress = 0;
    $this.$advancedItemTooltips = 0;
    $this.$pauseOnLostFocus = 1;
    $this.$showCape = 1;
    $this.$touchscreen = 0;
    $this.$antialiasMode = 1;
    $this.$patchAnisotropic = 0;
    $this.$overrideWidth = 0;
    $this.$overrideHeight = 0;
    $this.$heldItemTooltips = 1;
    $this.$chatScale = 1.0;
    $this.$chatWidth = 1.0;
    $this.$chatHeightUnfocused = 0.44366195797920227;
    $this.$chatHeightFocused = 1.0;
    $this.$keyBindForward = nms_KeyBinding__init_($rt_s(856), 17);
    $this.$keyBindLeft = nms_KeyBinding__init_($rt_s(857), 30);
    $this.$keyBindBack = nms_KeyBinding__init_($rt_s(858), 31);
    $this.$keyBindRight = nms_KeyBinding__init_($rt_s(859), 32);
    $this.$keyBindJump = nms_KeyBinding__init_($rt_s(860), 57);
    $this.$keyBindInventory = nms_KeyBinding__init_($rt_s(861), 18);
    $this.$keyBindDrop = nms_KeyBinding__init_($rt_s(862), 16);
    $this.$keyBindChat = nms_KeyBinding__init_($rt_s(863), 20);
    $this.$keyBindSneak = nms_KeyBinding__init_($rt_s(864), 42);
    $this.$keyBindAttack = nms_KeyBinding__init_($rt_s(865), (-100));
    $this.$keyBindUseItem = nms_KeyBinding__init_($rt_s(866), (-99));
    $this.$keyBindPlayerList = nms_KeyBinding__init_($rt_s(867), 15);
    $this.$keyBindPickBlock = nms_KeyBinding__init_($rt_s(868), (-98));
    $this.$keyBindSprint = nms_KeyBinding__init_($rt_s(869), 19);
    $this.$keyBindZoom = nms_KeyBinding__init_($rt_s(870), 46);
    $this.$keyBindFunction = nms_KeyBinding__init_($rt_s(871), 33);
    var$2 = $rt_createArray(nms_KeyBinding, 16);
    var$3 = var$2.data;
    var$3[0] = $this.$keyBindAttack;
    var$3[1] = $this.$keyBindUseItem;
    var$3[2] = $this.$keyBindForward;
    var$3[3] = $this.$keyBindLeft;
    var$3[4] = $this.$keyBindBack;
    var$3[5] = $this.$keyBindRight;
    var$3[6] = $this.$keyBindJump;
    var$3[7] = $this.$keyBindSneak;
    var$3[8] = $this.$keyBindDrop;
    var$3[9] = $this.$keyBindInventory;
    var$3[10] = $this.$keyBindChat;
    var$3[11] = $this.$keyBindPlayerList;
    var$3[12] = $this.$keyBindPickBlock;
    var$3[13] = $this.$keyBindSprint;
    var$3[14] = $this.$keyBindZoom;
    var$3[15] = $this.$keyBindFunction;
    $this.$keyBindings = var$2;
    $this.$difficulty = 2;
    $this.$hideGUI = 0;
    $this.$thirdPersonView = 0;
    $this.$showDebugInfo = 0;
    $this.$showDebugProfilerChart = 1;
    $this.$showCoordinates = 1;
    $this.$lastServer = $rt_s(36);
    $this.$noclip = 0;
    $this.$smoothCamera = 0;
    $this.$debugCamEnable = 0;
    $this.$noclipRate = 1.0;
    $this.$debugCamRate = 1.0;
    $this.$fovSetting = 0.0;
    $this.$gammaSetting = 1.0;
    $this.$guiScale = 3;
    $this.$particleSetting = 0;
    $this.$language = $rt_s(872);
    $this.$mc4 = $par1Minecraft;
    nlea_EaglerAdapterImpl2_$callClinit();
    $this.$patchAnisotropic = jl_String_contains(jl_String_toLowerCase($rt_str(nlea_EaglerAdapterImpl2_getString$js_body$_24("window.navigator.platform"))), $rt_s(502));
    nms_GameSettings_loadOptions($this);
}
function nms_GameSettings_getKeyBindingDescription($this, $par1) {
    return nms_StringTranslate_translateKey(nms_StringTranslate_instance, $this.$keyBindings.data[$par1].$keyDescription);
}
function nms_GameSettings_getOptionDisplayString($this, $par1) {
    var $var2, var$3, var$4;
    $var2 = $this.$keyBindings.data[$par1].$keyCode;
    nms_GameSettings_$callClinit();
    if ($var2 >= 0)
        var$3 = nlea_EaglerAdapterImpl2_getKeyName($var2);
    else {
        var$4 = $rt_createArray(jl_Object, 1);
        var$4.data[0] = jl_Integer_valueOf($var2 + 101 | 0);
        var$3 = nms_StatCollector_translateToLocalFormatted($rt_s(873), var$4);
    }
    return var$3;
}
function nms_GameSettings_setKeyBinding($this, $par1, $par2) {
    $this.$keyBindings.data[$par1].$keyCode = $par2;
    nms_GameSettings_saveOptions($this);
}
function nms_GameSettings_setOptionFloatValue($this, $par1EnumOptions, $par2) {
    if ($par1EnumOptions === nms_EnumOptions_MUSIC)
        $this.$musicVolume = $par2;
    if ($par1EnumOptions === nms_EnumOptions_SOUND)
        $this.$soundVolume = $par2;
    if ($par1EnumOptions === nms_EnumOptions_SENSITIVITY)
        $this.$mouseSensitivity = $par2;
    if ($par1EnumOptions === nms_EnumOptions_FOV)
        $this.$fovSetting = $par2;
    if ($par1EnumOptions === nms_EnumOptions_GAMMA)
        $this.$gammaSetting = $par2;
    if ($par1EnumOptions === nms_EnumOptions_CHAT_OPACITY) {
        $this.$chatOpacity = $par2;
        nms_GuiNewChat_func_96132_b($this.$mc4.$ingameGUI.$persistantChatGUI);
    }
    if ($par1EnumOptions === nms_EnumOptions_CHAT_HEIGHT_FOCUSED) {
        $this.$chatHeightFocused = $par2;
        nms_GuiNewChat_func_96132_b($this.$mc4.$ingameGUI.$persistantChatGUI);
    }
    if ($par1EnumOptions === nms_EnumOptions_CHAT_HEIGHT_UNFOCUSED) {
        $this.$chatHeightUnfocused = $par2;
        nms_GuiNewChat_func_96132_b($this.$mc4.$ingameGUI.$persistantChatGUI);
    }
    if ($par1EnumOptions === nms_EnumOptions_CHAT_WIDTH) {
        $this.$chatWidth = $par2;
        nms_GuiNewChat_func_96132_b($this.$mc4.$ingameGUI.$persistantChatGUI);
    }
    if ($par1EnumOptions === nms_EnumOptions_CHAT_SCALE) {
        $this.$chatScale = $par2;
        nms_GuiNewChat_func_96132_b($this.$mc4.$ingameGUI.$persistantChatGUI);
    }
}
function nms_GameSettings_setOptionValue($this, $par1EnumOptions, $par2) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1EnumOptions = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1EnumOptions === nms_EnumOptions_INVERT_MOUSE)
            $this.$invertMouse = $this.$invertMouse ? 0 : 1;
        if ($par1EnumOptions === nms_EnumOptions_RENDER_DISTANCE)
            $this.$renderDistance = ($this.$renderDistance + $par2 | 0) & 3;
        if ($par1EnumOptions === nms_EnumOptions_GUI_SCALE)
            $this.$guiScale = ($this.$guiScale + $par2 | 0) & 3;
        if ($par1EnumOptions === nms_EnumOptions_PARTICLES)
            $this.$particleSetting = ($this.$particleSetting + $par2 | 0) % 3 | 0;
        if ($par1EnumOptions === nms_EnumOptions_VIEW_BOBBING)
            $this.$viewBobbing = $this.$viewBobbing ? 0 : 1;
        if ($par1EnumOptions === nms_EnumOptions_RENDER_CLOUDS)
            $this.$clouds = $this.$clouds ? 0 : 1;
        if ($par1EnumOptions === nms_EnumOptions_ENABLE_FOG)
            $this.$enableFog = $this.$enableFog ? 0 : 1;
        if ($par1EnumOptions !== nms_EnumOptions_ANAGLYPH) {
            if ($par1EnumOptions === nms_EnumOptions_FRAMERATE_LIMIT)
                $this.$limitFramerate = (($this.$limitFramerate + $par2 | 0) + 3 | 0) % 3 | 0;
            if ($par1EnumOptions === nms_EnumOptions_DIFFICULTY)
                $this.$difficulty = ($this.$difficulty + $par2 | 0) & 3;
            if ($par1EnumOptions === nms_EnumOptions_GRAPHICS) {
                $this.$fancyGraphics = $this.$fancyGraphics ? 0 : 1;
                nms_RenderGlobal_loadRenderers($this.$mc4.$renderGlobal);
            }
            if ($par1EnumOptions === nms_EnumOptions_AMBIENT_OCCLUSION) {
                $this.$ambientOcclusion = ($this.$ambientOcclusion + $par2 | 0) % 3 | 0;
                nms_RenderGlobal_loadRenderers($this.$mc4.$renderGlobal);
            }
            if ($par1EnumOptions === nms_EnumOptions_CHAT_VISIBILITY)
                $this.$chatVisibility = ($this.$chatVisibility + $par2 | 0) % 3 | 0;
            if ($par1EnumOptions === nms_EnumOptions_CHAT_COLOR)
                $this.$chatColours = $this.$chatColours ? 0 : 1;
            if ($par1EnumOptions === nms_EnumOptions_CHAT_LINKS)
                $this.$chatLinks = $this.$chatLinks ? 0 : 1;
            if ($par1EnumOptions === nms_EnumOptions_CHAT_LINKS_PROMPT)
                $this.$chatLinksPrompt = $this.$chatLinksPrompt ? 0 : 1;
            if ($par1EnumOptions === nms_EnumOptions_USE_SERVER_TEXTURES)
                $this.$serverTextures = $this.$serverTextures ? 0 : 1;
            if ($par1EnumOptions === nms_EnumOptions_SNOOPER_ENABLED)
                $this.$snooperEnabled = $this.$snooperEnabled ? 0 : 1;
            if ($par1EnumOptions === nms_EnumOptions_SHOW_CAPE)
                $this.$showCape = $this.$showCape ? 0 : 1;
            if ($par1EnumOptions === nms_EnumOptions_ANTIALIASING)
                $this.$antialiasMode = ($this.$antialiasMode + $par2 | 0) % 5 | 0;
            if ($par1EnumOptions === nms_EnumOptions_USE_FULLSCREEN)
                $this.$fullScreen = $this.$fullScreen ? 0 : 1;
            if ($par1EnumOptions === nms_EnumOptions_PATCH_ANGLE) {
                $this.$patchAnisotropic = $this.$patchAnisotropic ? 0 : 1;
                nms_RenderGlobal_loadRenderers($this.$mc4.$renderGlobal);
            }
            nms_GameSettings_saveOptions($this);
            return;
        }
        $this.$anaglyph = $this.$anaglyph ? 0 : 1;
        var$3 = $this.$mc4.$renderEngine;
        $ptr = 1;
    case 1:
        nms_RenderEngine_refreshTextures(var$3);
        if ($rt_suspending()) {
            break main;
        }
        if ($par1EnumOptions === nms_EnumOptions_FRAMERATE_LIMIT)
            $this.$limitFramerate = (($this.$limitFramerate + $par2 | 0) + 3 | 0) % 3 | 0;
        if ($par1EnumOptions === nms_EnumOptions_DIFFICULTY)
            $this.$difficulty = ($this.$difficulty + $par2 | 0) & 3;
        if ($par1EnumOptions === nms_EnumOptions_GRAPHICS) {
            $this.$fancyGraphics = $this.$fancyGraphics ? 0 : 1;
            nms_RenderGlobal_loadRenderers($this.$mc4.$renderGlobal);
        }
        if ($par1EnumOptions === nms_EnumOptions_AMBIENT_OCCLUSION) {
            $this.$ambientOcclusion = ($this.$ambientOcclusion + $par2 | 0) % 3 | 0;
            nms_RenderGlobal_loadRenderers($this.$mc4.$renderGlobal);
        }
        if ($par1EnumOptions === nms_EnumOptions_CHAT_VISIBILITY)
            $this.$chatVisibility = ($this.$chatVisibility + $par2 | 0) % 3 | 0;
        if ($par1EnumOptions === nms_EnumOptions_CHAT_COLOR)
            $this.$chatColours = $this.$chatColours ? 0 : 1;
        if ($par1EnumOptions === nms_EnumOptions_CHAT_LINKS)
            $this.$chatLinks = $this.$chatLinks ? 0 : 1;
        if ($par1EnumOptions === nms_EnumOptions_CHAT_LINKS_PROMPT)
            $this.$chatLinksPrompt = $this.$chatLinksPrompt ? 0 : 1;
        if ($par1EnumOptions === nms_EnumOptions_USE_SERVER_TEXTURES)
            $this.$serverTextures = $this.$serverTextures ? 0 : 1;
        if ($par1EnumOptions === nms_EnumOptions_SNOOPER_ENABLED)
            $this.$snooperEnabled = $this.$snooperEnabled ? 0 : 1;
        if ($par1EnumOptions === nms_EnumOptions_SHOW_CAPE)
            $this.$showCape = $this.$showCape ? 0 : 1;
        if ($par1EnumOptions === nms_EnumOptions_ANTIALIASING)
            $this.$antialiasMode = ($this.$antialiasMode + $par2 | 0) % 5 | 0;
        if ($par1EnumOptions === nms_EnumOptions_USE_FULLSCREEN)
            $this.$fullScreen = $this.$fullScreen ? 0 : 1;
        if ($par1EnumOptions === nms_EnumOptions_PATCH_ANGLE) {
            $this.$patchAnisotropic = $this.$patchAnisotropic ? 0 : 1;
            nms_RenderGlobal_loadRenderers($this.$mc4.$renderGlobal);
        }
        nms_GameSettings_saveOptions($this);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EnumOptions, $par2, var$3, $ptr);
}
function nms_GameSettings_getOptionFloatValue($this, $par1EnumOptions) {
    var var$2;
    a: {
        if ($par1EnumOptions === nms_EnumOptions_FOV) {
            var$2 = $this.$fovSetting;
            break a;
        }
        if ($par1EnumOptions === nms_EnumOptions_GAMMA) {
            var$2 = $this.$gammaSetting;
            break a;
        }
        if ($par1EnumOptions === nms_EnumOptions_MUSIC) {
            var$2 = $this.$musicVolume;
            break a;
        }
        if ($par1EnumOptions === nms_EnumOptions_SOUND) {
            var$2 = $this.$soundVolume;
            break a;
        }
        if ($par1EnumOptions === nms_EnumOptions_SENSITIVITY) {
            var$2 = $this.$mouseSensitivity;
            break a;
        }
        if ($par1EnumOptions === nms_EnumOptions_CHAT_OPACITY) {
            var$2 = $this.$chatOpacity;
            break a;
        }
        if ($par1EnumOptions === nms_EnumOptions_CHAT_HEIGHT_FOCUSED) {
            var$2 = $this.$chatHeightFocused;
            break a;
        }
        if ($par1EnumOptions === nms_EnumOptions_CHAT_HEIGHT_UNFOCUSED) {
            var$2 = $this.$chatHeightUnfocused;
            break a;
        }
        if ($par1EnumOptions === nms_EnumOptions_CHAT_SCALE) {
            var$2 = $this.$chatScale;
            break a;
        }
        if ($par1EnumOptions !== nms_EnumOptions_CHAT_WIDTH) {
            var$2 = 0.0;
            break a;
        }
        var$2 = $this.$chatWidth;
    }
    return var$2;
}
function nms_GameSettings_getOptionOrdinalValue($this, $par1EnumOptions) {
    nms_EnumOptionsHelper_$callClinit();
    switch (nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[$par1EnumOptions.$ordinal]) {
        case 1:
            break;
        case 2:
            return $this.$viewBobbing;
        case 3:
            return $this.$anaglyph;
        case 4:
            return $this.$advancedOpengl;
        case 5:
            return $this.$clouds;
        case 6:
            return $this.$chatColours;
        case 7:
            return $this.$chatLinks;
        case 8:
            return $this.$chatLinksPrompt;
        case 9:
            return $this.$serverTextures;
        case 10:
            return $this.$snooperEnabled;
        case 11:
            return $this.$fullScreen;
        case 12:
            return $this.$patchAnisotropic;
        case 13:
            return $this.$showCape;
        case 14:
            return $this.$touchscreen;
        case 15:
            return $this.$enableFog;
        default:
            return 0;
    }
    return $this.$invertMouse;
}
function nms_GameSettings_getTranslation($par0ArrayOfStr, $par1) {
    nms_GameSettings_$callClinit();
    if (!($par1 >= 0 && $par1 < $par0ArrayOfStr.data.length))
        $par1 = 0;
    $par0ArrayOfStr = $par0ArrayOfStr.data;
    return nms_StringTranslate_translateKey(nms_StringTranslate_instance, $par0ArrayOfStr[$par1]);
}
function nms_GameSettings_getKeyBinding($this, $par1EnumOptions) {
    var $var2, $var3, $var5;
    $var2 = nms_StringTranslate_getInstance();
    $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), nms_StringTranslate_translateKey($var2, nms_EnumOptions_getEnumString($par1EnumOptions))), $rt_s(49)));
    if (!nms_EnumOptions_getEnumFloat($par1EnumOptions)) {
        if (nms_EnumOptions_getEnumBoolean($par1EnumOptions))
            return !nms_GameSettings_getOptionOrdinalValue($this, $par1EnumOptions) ? jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(874)))) : jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(875))));
        a: {
            if ($par1EnumOptions === nms_EnumOptions_RENDER_DISTANCE) {
                $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GameSettings_getTranslation(nms_GameSettings_RENDER_DISTANCES, $this.$renderDistance)));
                break a;
            }
            if ($par1EnumOptions === nms_EnumOptions_DIFFICULTY) {
                $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GameSettings_getTranslation(nms_GameSettings_DIFFICULTIES, $this.$difficulty)));
                break a;
            }
            if ($par1EnumOptions === nms_EnumOptions_GUI_SCALE) {
                $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GameSettings_getTranslation(nms_GameSettings_GUISCALES, $this.$guiScale)));
                break a;
            }
            if ($par1EnumOptions === nms_EnumOptions_CHAT_VISIBILITY) {
                $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GameSettings_getTranslation(nms_GameSettings_CHAT_VISIBILITIES, $this.$chatVisibility)));
                break a;
            }
            if ($par1EnumOptions === nms_EnumOptions_PARTICLES) {
                $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GameSettings_getTranslation(nms_GameSettings_PARTICLES, $this.$particleSetting)));
                break a;
            }
            if ($par1EnumOptions === nms_EnumOptions_FRAMERATE_LIMIT) {
                $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GameSettings_getTranslation(nms_GameSettings_LIMIT_FRAMERATES, $this.$limitFramerate)));
                break a;
            }
            if ($par1EnumOptions === nms_EnumOptions_AMBIENT_OCCLUSION) {
                $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GameSettings_getTranslation(nms_GameSettings_AMBIENT_OCCLUSIONS, $this.$ambientOcclusion)));
                break a;
            }
            if ($par1EnumOptions === nms_EnumOptions_ANTIALIASING) {
                $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GameSettings_getTranslation(nms_GameSettings_ANTIALIASING, $this.$antialiasMode)));
                break a;
            }
            if ($par1EnumOptions !== nms_EnumOptions_GRAPHICS)
                break a;
            if (!$this.$fancyGraphics) {
                $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(876))));
                break a;
            }
            $var3 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(877))));
        }
        return $var3;
    }
    b: {
        $var5 = nms_GameSettings_getOptionFloatValue($this, $par1EnumOptions);
        if ($par1EnumOptions === nms_EnumOptions_SENSITIVITY) {
            if ($var5 === 0.0) {
                $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(878))));
                break b;
            }
            if ($var5 === 1.0) {
                $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(879))));
                break b;
            }
            $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), $var5 * 200.0 | 0), $rt_s(344)));
            break b;
        }
        if ($par1EnumOptions === nms_EnumOptions_FOV) {
            if ($var5 === 0.0) {
                $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(880))));
                break b;
            }
            if ($var5 === 1.0) {
                $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(881))));
                break b;
            }
            $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), 70.0 + $var5 * 40.0 | 0));
            break b;
        }
        if ($par1EnumOptions === nms_EnumOptions_GAMMA) {
            if ($var5 === 0.0) {
                $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(882))));
                break b;
            }
            if ($var5 === 1.0) {
                $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(883))));
                break b;
            }
            $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), $rt_s(884)), $var5 * 100.0 | 0), $rt_s(344)));
            break b;
        }
        if ($par1EnumOptions === nms_EnumOptions_CHAT_OPACITY) {
            $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), $var5 * 90.0 + 10.0 | 0), $rt_s(344)));
            break b;
        }
        if ($par1EnumOptions === nms_EnumOptions_CHAT_HEIGHT_UNFOCUSED) {
            $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GuiNewChat_func_96130_b($var5)), $rt_s(885)));
            break b;
        }
        if ($par1EnumOptions === nms_EnumOptions_CHAT_HEIGHT_FOCUSED) {
            $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GuiNewChat_func_96130_b($var5)), $rt_s(885)));
            break b;
        }
        if ($par1EnumOptions === nms_EnumOptions_CHAT_WIDTH) {
            $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_GuiNewChat_func_96128_a($var5)), $rt_s(885)));
            break b;
        }
        if ($var5 === 0.0) {
            $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), nms_StringTranslate_translateKey($var2, $rt_s(874))));
            break b;
        }
        $par1EnumOptions = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $var3), $var5 * 100.0 | 0), $rt_s(344)));
    }
    return $par1EnumOptions;
}
function nms_GameSettings_loadOptions($this) {
    var $yee, $var4;
    $yee = nle_LocalStorageManager_gameSettingsStorage;
    if (!nms_NBTTagCompound_hasNoTags($yee)) {
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(886)))
            $this.$musicVolume = nms_NBTTagCompound_getFloat($yee, $rt_s(886));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(887)))
            $this.$soundVolume = nms_NBTTagCompound_getFloat($yee, $rt_s(887));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(888)))
            $this.$mouseSensitivity = nms_NBTTagCompound_getFloat($yee, $rt_s(888));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(889)))
            $this.$fovSetting = nms_NBTTagCompound_getFloat($yee, $rt_s(889));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(890)))
            $this.$gammaSetting = nms_NBTTagCompound_getFloat($yee, $rt_s(890));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(891)))
            $this.$invertMouse = nms_NBTTagCompound_getBoolean($yee, $rt_s(891));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(892)))
            $this.$renderDistance = nms_NBTTagCompound_getInteger($yee, $rt_s(892));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(893)))
            $this.$guiScale = nms_NBTTagCompound_getInteger($yee, $rt_s(893));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(357)))
            $this.$particleSetting = nms_NBTTagCompound_getInteger($yee, $rt_s(357));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(894)))
            $this.$viewBobbing = nms_NBTTagCompound_getBoolean($yee, $rt_s(894));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(895)))
            $this.$anaglyph = nms_NBTTagCompound_getBoolean($yee, $rt_s(895));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(896)))
            $this.$limitFramerate = nms_NBTTagCompound_getInteger($yee, $rt_s(896));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(897)))
            $this.$fancyGraphics = nms_NBTTagCompound_getBoolean($yee, $rt_s(897));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(898)))
            $this.$ambientOcclusion = nms_NBTTagCompound_getInteger($yee, $rt_s(898));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(899)))
            $this.$clouds = nms_NBTTagCompound_getBoolean($yee, $rt_s(899));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(900)))
            $this.$enableFog = nms_NBTTagCompound_getBoolean($yee, $rt_s(900));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(901)))
            $this.$lastServer = nms_NBTTagCompound_getString($yee, $rt_s(901));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(902)))
            $this.$language = nms_NBTTagCompound_getString($yee, $rt_s(902));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(903)))
            $this.$chatVisibility = nms_NBTTagCompound_getInteger($yee, $rt_s(903));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(904)))
            $this.$chatColours = nms_NBTTagCompound_getBoolean($yee, $rt_s(904));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(905)))
            $this.$chatLinks = nms_NBTTagCompound_getBoolean($yee, $rt_s(905));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(906)))
            $this.$chatLinksPrompt = nms_NBTTagCompound_getBoolean($yee, $rt_s(906));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(907)))
            $this.$chatOpacity = nms_NBTTagCompound_getFloat($yee, $rt_s(907));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(908)))
            $this.$fullScreen = nms_NBTTagCompound_getBoolean($yee, $rt_s(908));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(909)))
            $this.$hideServerAddress = nms_NBTTagCompound_getBoolean($yee, $rt_s(909));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(910)))
            $this.$advancedItemTooltips = nms_NBTTagCompound_getBoolean($yee, $rt_s(910));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(911)))
            $this.$pauseOnLostFocus = nms_NBTTagCompound_getBoolean($yee, $rt_s(911));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(912)))
            $this.$showCape = nms_NBTTagCompound_getBoolean($yee, $rt_s(912));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(913)))
            $this.$touchscreen = nms_NBTTagCompound_getBoolean($yee, $rt_s(913));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(914)))
            $this.$overrideHeight = nms_NBTTagCompound_getInteger($yee, $rt_s(914));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(915)))
            $this.$overrideWidth = nms_NBTTagCompound_getInteger($yee, $rt_s(915));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(916)))
            $this.$antialiasMode = nms_NBTTagCompound_getInteger($yee, $rt_s(916));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(917)))
            $this.$heldItemTooltips = nms_NBTTagCompound_getBoolean($yee, $rt_s(917));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(918)))
            $this.$chatHeightFocused = nms_NBTTagCompound_getFloat($yee, $rt_s(918));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(919)))
            $this.$chatHeightUnfocused = nms_NBTTagCompound_getFloat($yee, $rt_s(919));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(920)))
            $this.$chatScale = nms_NBTTagCompound_getFloat($yee, $rt_s(920));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(921)))
            $this.$chatWidth = nms_NBTTagCompound_getFloat($yee, $rt_s(921));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(922)))
            $this.$patchAnisotropic = nms_NBTTagCompound_getBoolean($yee, $rt_s(922));
        if (nms_NBTTagCompound_hasKey($yee, $rt_s(923)))
            $this.$showCoordinates = nms_NBTTagCompound_getBoolean($yee, $rt_s(923));
        $var4 = 0;
        while ($var4 < $this.$keyBindings.data.length) {
            if (nms_NBTTagCompound_hasKey($yee, $this.$keyBindings.data[$var4].$keyDescription))
                $this.$keyBindings.data[$var4].$keyCode = nms_NBTTagCompound_getInteger($yee, $this.$keyBindings.data[$var4].$keyDescription);
            $var4 = $var4 + 1 | 0;
        }
        nms_KeyBinding_resetKeyBindingArrayAndHash();
    }
}
function nms_GameSettings_saveOptions($this) {
    var $yee, $var4;
    $yee = nle_LocalStorageManager_gameSettingsStorage;
    nms_NBTTagCompound_setFloat($yee, $rt_s(886), $this.$musicVolume);
    nms_NBTTagCompound_setFloat($yee, $rt_s(887), $this.$soundVolume);
    nms_NBTTagCompound_setFloat($yee, $rt_s(888), $this.$mouseSensitivity);
    nms_NBTTagCompound_setFloat($yee, $rt_s(889), $this.$fovSetting);
    nms_NBTTagCompound_setFloat($yee, $rt_s(890), $this.$gammaSetting);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(891), $this.$invertMouse);
    nms_NBTTagCompound_setInteger($yee, $rt_s(892), $this.$renderDistance);
    nms_NBTTagCompound_setInteger($yee, $rt_s(893), $this.$guiScale);
    nms_NBTTagCompound_setInteger($yee, $rt_s(357), $this.$particleSetting);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(894), $this.$viewBobbing);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(895), $this.$anaglyph);
    nms_NBTTagCompound_setInteger($yee, $rt_s(896), $this.$limitFramerate);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(897), $this.$fancyGraphics);
    nms_NBTTagCompound_setInteger($yee, $rt_s(898), $this.$ambientOcclusion);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(899), $this.$clouds);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(900), $this.$enableFog);
    nms_NBTTagCompound_setString($yee, $rt_s(901), $this.$lastServer);
    nms_NBTTagCompound_setString($yee, $rt_s(902), $this.$language);
    nms_NBTTagCompound_setInteger($yee, $rt_s(903), $this.$chatVisibility);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(904), $this.$chatColours);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(905), $this.$chatLinks);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(906), $this.$chatLinksPrompt);
    nms_NBTTagCompound_setFloat($yee, $rt_s(907), $this.$chatOpacity);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(908), $this.$fullScreen);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(909), $this.$hideServerAddress);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(910), $this.$advancedItemTooltips);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(911), $this.$pauseOnLostFocus);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(912), $this.$showCape);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(913), $this.$touchscreen);
    nms_NBTTagCompound_setInteger($yee, $rt_s(914), $this.$overrideHeight);
    nms_NBTTagCompound_setInteger($yee, $rt_s(915), $this.$overrideWidth);
    nms_NBTTagCompound_setInteger($yee, $rt_s(916), $this.$antialiasMode);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(917), $this.$heldItemTooltips);
    nms_NBTTagCompound_setFloat($yee, $rt_s(918), $this.$chatHeightFocused);
    nms_NBTTagCompound_setFloat($yee, $rt_s(919), $this.$chatHeightUnfocused);
    nms_NBTTagCompound_setFloat($yee, $rt_s(920), $this.$chatScale);
    nms_NBTTagCompound_setFloat($yee, $rt_s(921), $this.$chatWidth);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(922), $this.$patchAnisotropic);
    nms_NBTTagCompound_setBoolean($yee, $rt_s(923), $this.$showCoordinates);
    $var4 = 0;
    while ($var4 < $this.$keyBindings.data.length) {
        nms_NBTTagCompound_setInteger($yee, $this.$keyBindings.data[$var4].$keyDescription, $this.$keyBindings.data[$var4].$keyCode);
        $var4 = $var4 + 1 | 0;
    }
    nle_LocalStorageManager_saveStorageG();
    nms_GameSettings_sendSettingsToServer($this);
}
function nms_GameSettings_sendSettingsToServer($this) {
    var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8;
    if ($this.$mc4.$thePlayer !== null) {
        var$1 = $this.$mc4.$thePlayer.$sendQueue;
        var$2 = new nms_Packet204ClientInfo;
        var$3 = $this.$language;
        var$4 = $this.$renderDistance;
        var$5 = $this.$chatVisibility;
        var$6 = $this.$chatColours;
        var$7 = $this.$difficulty;
        var$8 = $this.$showCape;
        nms_Packet__init_0(var$2);
        var$2.$language0 = var$3;
        var$2.$renderDistance0 = var$4;
        var$2.$chatVisisble = var$5;
        var$2.$chatColours0 = var$6;
        var$2.$gameDifficulty = var$7;
        var$2.$showCape0 = var$8;
        nms_NetClientHandler_addToSendQueue(var$1, var$2);
    }
}
function nms_GameSettings_shouldRenderClouds($this) {
    return $this.$renderDistance < 2 && $this.$clouds ? 1 : 0;
}
function nms_GameSettings__clinit_() {
    var $proxyList, var$2;
    nms_GameSettings_useDefaultProtocol = 0;
    nms_GameSettings_useProxy = 0;
    nms_GameSettings_proxy = $rt_s(36);
    nlea_EaglerAdapterImpl2_$callClinit();
    $proxyList = jl_String_split($rt_str("" + (window.eag_proxy_list || "")), $rt_s(273));
    var$2 = $proxyList.data;
    if (var$2.length && !jl_String_equals(var$2[0], $rt_s(36)))
        nle_ConfigConstants_proxies = $proxyList;
    nms_GameSettings_proxy = !(!!window.eag_self_proxy ? 1 : 0) ? nms_GameSettings_getNewProxy() : $rt_str(window.location.host);
    var$2 = $rt_createArray(jl_String, 4);
    $proxyList = var$2.data;
    $proxyList[0] = $rt_s(924);
    $proxyList[1] = $rt_s(925);
    $proxyList[2] = $rt_s(926);
    $proxyList[3] = $rt_s(927);
    nms_GameSettings_RENDER_DISTANCES = var$2;
    var$2 = $rt_createArray(jl_String, 4);
    $proxyList = var$2.data;
    $proxyList[0] = $rt_s(928);
    $proxyList[1] = $rt_s(929);
    $proxyList[2] = $rt_s(930);
    $proxyList[3] = $rt_s(931);
    nms_GameSettings_DIFFICULTIES = var$2;
    var$2 = $rt_createArray(jl_String, 4);
    $proxyList = var$2.data;
    $proxyList[0] = $rt_s(932);
    $proxyList[1] = $rt_s(933);
    $proxyList[2] = $rt_s(934);
    $proxyList[3] = $rt_s(935);
    nms_GameSettings_GUISCALES = var$2;
    var$2 = $rt_createArray(jl_String, 3);
    $proxyList = var$2.data;
    $proxyList[0] = $rt_s(936);
    $proxyList[1] = $rt_s(937);
    $proxyList[2] = $rt_s(938);
    nms_GameSettings_CHAT_VISIBILITIES = var$2;
    var$2 = $rt_createArray(jl_String, 3);
    $proxyList = var$2.data;
    $proxyList[0] = $rt_s(939);
    $proxyList[1] = $rt_s(940);
    $proxyList[2] = $rt_s(941);
    nms_GameSettings_PARTICLES = var$2;
    var$2 = $rt_createArray(jl_String, 3);
    $proxyList = var$2.data;
    $proxyList[0] = $rt_s(942);
    $proxyList[1] = $rt_s(943);
    $proxyList[2] = $rt_s(944);
    nms_GameSettings_LIMIT_FRAMERATES = var$2;
    var$2 = $rt_createArray(jl_String, 3);
    $proxyList = var$2.data;
    $proxyList[0] = $rt_s(945);
    $proxyList[1] = $rt_s(946);
    $proxyList[2] = $rt_s(947);
    nms_GameSettings_AMBIENT_OCCLUSIONS = var$2;
    var$2 = $rt_createArray(jl_String, 5);
    $proxyList = var$2.data;
    $proxyList[0] = $rt_s(948);
    $proxyList[1] = $rt_s(949);
    $proxyList[2] = $rt_s(950);
    $proxyList[3] = $rt_s(951);
    $proxyList[4] = $rt_s(952);
    nms_GameSettings_ANTIALIASING = var$2;
}
function nms_RenderBlocks() {
    var a = this; jl_Object.call(a);
    a.$blockAccess = null;
    a.$overrideBlockTexture = null;
    a.$flipTexture = 0;
    a.$renderAllFaces = 0;
    a.$useInventoryTint = 0;
    a.$renderMinX = 0.0;
    a.$renderMaxX = 0.0;
    a.$renderMinY = 0.0;
    a.$renderMaxY = 0.0;
    a.$renderMinZ = 0.0;
    a.$renderMaxZ = 0.0;
    a.$lockBlockBounds = 0;
    a.$partialRenderBounds = 0;
    a.$minecraftRB = null;
    a.$uvRotateEast = 0;
    a.$uvRotateWest = 0;
    a.$uvRotateSouth = 0;
    a.$uvRotateNorth = 0;
    a.$uvRotateTop = 0;
    a.$uvRotateBottom = 0;
    a.$enableAO = 0;
    a.$aoLightValueScratchXYZNNN = 0.0;
    a.$aoLightValueScratchXYNN = 0.0;
    a.$aoLightValueScratchXYZNNP = 0.0;
    a.$aoLightValueScratchYZNN = 0.0;
    a.$aoLightValueScratchYZNP = 0.0;
    a.$aoLightValueScratchXYZPNN = 0.0;
    a.$aoLightValueScratchXYPN = 0.0;
    a.$aoLightValueScratchXYZPNP = 0.0;
    a.$aoLightValueScratchXYZNPN = 0.0;
    a.$aoLightValueScratchXYNP = 0.0;
    a.$aoLightValueScratchXYZNPP = 0.0;
    a.$aoLightValueScratchYZPN = 0.0;
    a.$aoLightValueScratchXYZPPN = 0.0;
    a.$aoLightValueScratchXYPP = 0.0;
    a.$aoLightValueScratchYZPP = 0.0;
    a.$aoLightValueScratchXYZPPP = 0.0;
    a.$aoLightValueScratchXZNN = 0.0;
    a.$aoLightValueScratchXZPN = 0.0;
    a.$aoLightValueScratchXZNP = 0.0;
    a.$aoLightValueScratchXZPP = 0.0;
    a.$aoBrightnessXYZNNN = 0;
    a.$aoBrightnessXYNN = 0;
    a.$aoBrightnessXYZNNP = 0;
    a.$aoBrightnessYZNN = 0;
    a.$aoBrightnessYZNP = 0;
    a.$aoBrightnessXYZPNN = 0;
    a.$aoBrightnessXYPN = 0;
    a.$aoBrightnessXYZPNP = 0;
    a.$aoBrightnessXYZNPN = 0;
    a.$aoBrightnessXYNP = 0;
    a.$aoBrightnessXYZNPP = 0;
    a.$aoBrightnessYZPN = 0;
    a.$aoBrightnessXYZPPN = 0;
    a.$aoBrightnessXYPP = 0;
    a.$aoBrightnessYZPP = 0;
    a.$aoBrightnessXYZPPP = 0;
    a.$aoBrightnessXZNN = 0;
    a.$aoBrightnessXZPN = 0;
    a.$aoBrightnessXZNP = 0;
    a.$aoBrightnessXZPP = 0;
    a.$brightnessTopLeft = 0;
    a.$brightnessBottomLeft = 0;
    a.$brightnessBottomRight = 0;
    a.$brightnessTopRight = 0;
    a.$colorRedTopLeft = 0.0;
    a.$colorRedBottomLeft = 0.0;
    a.$colorRedBottomRight = 0.0;
    a.$colorRedTopRight = 0.0;
    a.$colorGreenTopLeft = 0.0;
    a.$colorGreenBottomLeft = 0.0;
    a.$colorGreenBottomRight = 0.0;
    a.$colorGreenTopRight = 0.0;
    a.$colorBlueTopLeft = 0.0;
    a.$colorBlueBottomLeft = 0.0;
    a.$colorBlueBottomRight = 0.0;
    a.$colorBlueTopRight = 0.0;
}
var nms_RenderBlocks_fancyGrass = 0;
function nms_RenderBlocks__init_0(var_0) {
    var var_1 = new nms_RenderBlocks();
    nms_RenderBlocks__init_1(var_1, var_0);
    return var_1;
}
function nms_RenderBlocks__init_2() {
    var var_0 = new nms_RenderBlocks();
    nms_RenderBlocks__init_(var_0);
    return var_0;
}
function nms_RenderBlocks__init_1($this, $par1IBlockAccess) {
    $this.$overrideBlockTexture = null;
    $this.$flipTexture = 0;
    $this.$renderAllFaces = 0;
    $this.$useInventoryTint = 1;
    $this.$lockBlockBounds = 0;
    $this.$partialRenderBounds = 0;
    $this.$uvRotateEast = 0;
    $this.$uvRotateWest = 0;
    $this.$uvRotateSouth = 0;
    $this.$uvRotateNorth = 0;
    $this.$uvRotateTop = 0;
    $this.$uvRotateBottom = 0;
    $this.$blockAccess = $par1IBlockAccess;
    $this.$minecraftRB = nmc_Minecraft_theMinecraft;
}
function nms_RenderBlocks__init_($this) {
    $this.$overrideBlockTexture = null;
    $this.$flipTexture = 0;
    $this.$renderAllFaces = 0;
    $this.$useInventoryTint = 1;
    $this.$lockBlockBounds = 0;
    $this.$partialRenderBounds = 0;
    $this.$uvRotateEast = 0;
    $this.$uvRotateWest = 0;
    $this.$uvRotateSouth = 0;
    $this.$uvRotateNorth = 0;
    $this.$uvRotateTop = 0;
    $this.$uvRotateBottom = 0;
    $this.$minecraftRB = nmc_Minecraft_theMinecraft;
}
function nms_RenderBlocks_setOverrideBlockTexture($this, $par1Icon) {
    $this.$overrideBlockTexture = $par1Icon;
}
function nms_RenderBlocks_clearOverrideBlockTexture($this) {
    $this.$overrideBlockTexture = null;
}
function nms_RenderBlocks_hasOverrideBlockTexture($this) {
    return $this.$overrideBlockTexture === null ? 0 : 1;
}
function nms_RenderBlocks_setRenderBounds($this, $par1, $par3, $par5, $par7, $par9, $par11) {
    var var$7;
    if (!$this.$lockBlockBounds) {
        a: {
            b: {
                $this.$renderMinX = $par1;
                $this.$renderMaxX = $par7;
                $this.$renderMinY = $par3;
                $this.$renderMaxY = $par9;
                $this.$renderMinZ = $par5;
                $this.$renderMaxZ = $par11;
                if ($this.$minecraftRB.$gameSettings.$ambientOcclusion >= 2) {
                    if ($this.$renderMinX > 0.0)
                        break b;
                    if ($this.$renderMaxX < 1.0)
                        break b;
                    if ($this.$renderMinY > 0.0)
                        break b;
                    if ($this.$renderMaxY < 1.0)
                        break b;
                    if ($this.$renderMinZ > 0.0)
                        break b;
                    if ($this.$renderMaxZ < 1.0)
                        break b;
                }
                var$7 = 0;
                break a;
            }
            var$7 = 1;
        }
        $this.$partialRenderBounds = var$7;
    }
}
function nms_RenderBlocks_setRenderBoundsFromBlock($this, $par1Block) {
    var var$2;
    if (!$this.$lockBlockBounds) {
        a: {
            b: {
                $this.$renderMinX = $par1Block.$minX0;
                $this.$renderMaxX = $par1Block.$maxX0;
                $this.$renderMinY = $par1Block.$minY0;
                $this.$renderMaxY = $par1Block.$maxY0;
                $this.$renderMinZ = $par1Block.$minZ0;
                $this.$renderMaxZ = $par1Block.$maxZ0;
                if ($this.$minecraftRB.$gameSettings.$ambientOcclusion >= 2) {
                    if ($this.$renderMinX > 0.0)
                        break b;
                    if ($this.$renderMaxX < 1.0)
                        break b;
                    if ($this.$renderMinY > 0.0)
                        break b;
                    if ($this.$renderMaxY < 1.0)
                        break b;
                    if ($this.$renderMinZ > 0.0)
                        break b;
                    if ($this.$renderMaxZ < 1.0)
                        break b;
                }
                var$2 = 0;
                break a;
            }
            var$2 = 1;
        }
        $this.$partialRenderBounds = var$2;
    }
}
function nms_RenderBlocks_overrideBlockBounds($this, $par1, $par3, $par5, $par7, $par9, $par11) {
    var var$7;
    a: {
        b: {
            $this.$renderMinX = $par1;
            $this.$renderMaxX = $par7;
            $this.$renderMinY = $par3;
            $this.$renderMaxY = $par9;
            $this.$renderMinZ = $par5;
            $this.$renderMaxZ = $par11;
            $this.$lockBlockBounds = 1;
            if ($this.$minecraftRB.$gameSettings.$ambientOcclusion >= 2) {
                if ($this.$renderMinX > 0.0)
                    break b;
                if ($this.$renderMaxX < 1.0)
                    break b;
                if ($this.$renderMinY > 0.0)
                    break b;
                if ($this.$renderMaxY < 1.0)
                    break b;
                if ($this.$renderMinZ > 0.0)
                    break b;
                if ($this.$renderMaxZ < 1.0)
                    break b;
            }
            var$7 = 0;
            break a;
        }
        var$7 = 1;
    }
    $this.$partialRenderBounds = var$7;
}
function nms_RenderBlocks_unlockBlockBounds($this) {
    $this.$lockBlockBounds = 0;
}
function nms_RenderBlocks_renderBlockUsingTexture($this, $par1Block, $par2, $par3, $par4, $par5Icon) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5Icon = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Block = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$overrideBlockTexture = $par5Icon;
        $ptr = 1;
    case 1:
        nms_RenderBlocks_renderBlockByRenderType($this, $par1Block, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderBlocks_clearOverrideBlockTexture($this);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Block, $par2, $par3, $par4, $par5Icon, $ptr);
}
function nms_RenderBlocks_renderBlockAllFaces($this, $par1Block, $par2, $par3, $par4) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Block = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$renderAllFaces = 1;
        $ptr = 1;
    case 1:
        nms_RenderBlocks_renderBlockByRenderType($this, $par1Block, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$renderAllFaces = 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Block, $par2, $par3, $par4, $ptr);
}
function nms_RenderBlocks_renderBlockByRenderType($this, $par1Block, $par2, $par3, $par4) {
    var $var5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Block = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $par1Block.$getRenderType();
        if ($var5 == (-1))
            return 0;
        var$6 = $this.$blockAccess;
        $ptr = 1;
    case 1:
        a: {
            $par1Block.$setBlockBoundsBasedOnState(var$6, $par2, $par3, $par4);
            if ($rt_suspending()) {
                break main;
            }
            nms_RenderBlocks_setRenderBoundsFromBlock($this, $par1Block);
            if (!$var5) {
                $par2 = nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 4) {
                $par2 = nms_RenderBlocks_renderBlockFluids($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 31) {
                $par2 = nms_RenderBlocks_renderBlockLog($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 1) {
                $par2 = nms_RenderBlocks_renderCrossedSquares($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 2) {
                $par2 = nms_RenderBlocks_renderBlockTorch($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 20) {
                $par2 = nms_RenderBlocks_renderBlockVine($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 11) {
                $par2 = nms_RenderBlocks_renderBlockFence($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 39) {
                $par2 = nms_RenderBlocks_renderBlockQuartz($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 5) {
                $par2 = nms_RenderBlocks_renderBlockRedstoneWire($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 13) {
                $par2 = nms_RenderBlocks_renderBlockCactus($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 9) {
                $par2 = nms_RenderBlocks_renderBlockMinecartTrack($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 19) {
                $par2 = nms_RenderBlocks_renderBlockStem($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 23) {
                $par2 = nms_RenderBlocks_renderBlockLilyPad($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 6) {
                $par2 = nms_RenderBlocks_renderBlockCrops($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 3) {
                $par2 = nms_RenderBlocks_renderBlockFire($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 8) {
                $par2 = nms_RenderBlocks_renderBlockLadder($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 7) {
                $par2 = nms_RenderBlocks_renderBlockDoor($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 10) {
                $par2 = nms_RenderBlocks_renderBlockStairs($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 27) {
                $par2 = nms_RenderBlocks_renderBlockDragonEgg($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 32) {
                $par2 = nms_RenderBlocks_renderBlockWall($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 12) {
                $par2 = nms_RenderBlocks_renderBlockLever($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 29) {
                $par2 = nms_RenderBlocks_renderBlockTripWireSource($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 30) {
                $par2 = nms_RenderBlocks_renderBlockTripWire($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 14) {
                $par2 = nms_RenderBlocks_renderBlockBed($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 15) {
                $par1Block = $par1Block;
                $ptr = 2;
                continue main;
            }
            if ($var5 == 36) {
                $par2 = nms_RenderBlocks_renderBlockRedstoneLogic($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 37) {
                $par2 = nms_RenderBlocks_renderBlockComparator($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 16) {
                $par2 = nms_RenderBlocks_renderPistonBase($this, $par1Block, $par2, $par3, $par4, 0);
                break a;
            }
            if ($var5 == 17) {
                $par2 = nms_RenderBlocks_renderPistonExtension($this, $par1Block, $par2, $par3, $par4, 1);
                break a;
            }
            if ($var5 == 18) {
                $par2 = nms_RenderBlocks_renderBlockPane($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 21) {
                $par2 = nms_RenderBlocks_renderBlockFenceGate($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 24) {
                $par2 = nms_RenderBlocks_renderBlockCauldron($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 33) {
                $par1Block = $par1Block;
                $ptr = 3;
                continue main;
            }
            if ($var5 == 35) {
                $par2 = nms_RenderBlocks_renderBlockAnvilMetadata($this, $par1Block, $par2, $par3, $par4, $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4));
                break a;
            }
            if ($var5 == 25) {
                $par2 = nms_RenderBlocks_renderBlockBrewingStand($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 26) {
                $par2 = nms_RenderBlocks_renderBlockEndPortalFrame($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 28) {
                $par2 = nms_RenderBlocks_renderBlockCocoa($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 == 34) {
                $par2 = nms_RenderBlocks_renderBlockBeacon($this, $par1Block, $par2, $par3, $par4);
                break a;
            }
            if ($var5 != 38) {
                $par2 = 0;
                break a;
            }
            $par2 = nms_RenderBlocks_renderBlockHopper($this, $par1Block, $par2, $par3, $par4);
        }
        return $par2;
    case 2:
        $tmp = nms_RenderBlocks_renderBlockRepeater($this, $par1Block, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    case 3:
        $tmp = nms_RenderBlocks_renderBlockFlowerpot($this, $par1Block, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Block, $par2, $par3, $par4, $var5, var$6, $ptr);
}
function nms_RenderBlocks_renderBlockEndPortalFrame($this, $par1BlockEndPortalFrame, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var6 = $var5 & 3;
    if (!$var6)
        $this.$uvRotateTop = 3;
    else if ($var6 == 3)
        $this.$uvRotateTop = 1;
    else if ($var6 == 1)
        $this.$uvRotateTop = 2;
    if (!nms_BlockEndPortalFrame_isEnderEyeInserted($var5)) {
        nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 0.8125, 1.0);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockEndPortalFrame, $par2, $par3, $par4);
        $this.$uvRotateTop = 0;
        return 1;
    }
    $this.$renderAllFaces = 1;
    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 0.8125, 1.0);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockEndPortalFrame, $par2, $par3, $par4);
    $this.$overrideBlockTexture = $par1BlockEndPortalFrame.$field_94399_b;
    nms_RenderBlocks_setRenderBounds($this, 0.25, 0.8125, 0.25, 0.75, 1.0, 0.75);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockEndPortalFrame, $par2, $par3, $par4);
    $this.$renderAllFaces = 0;
    nms_RenderBlocks_clearOverrideBlockTexture($this);
    $this.$uvRotateTop = 0;
    return 1;
}
function nms_RenderBlocks_renderBlockBed($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var25, $var27, $var28, $var30, $var32, $var34, var$15, $var36, $var38, var$18, $var40, var$20, $var42, $var44, $var60, $var52, $var54, $var56, $var58, $var62, $var63;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $var6 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var7 = nms_BlockDirectional_getDirection($var6);
    $var8 = nms_BlockBed_isBlockHeadOfBed($var6);
    $var25 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4);
    nlea_Tessellator_setBrightness($var5, $var25);
    nlea_Tessellator_setColorOpaque_F($var5, 0.5, 0.5, 0.5);
    $var27 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 0);
    $var28 = $var27.$getMinU();
    $var30 = $var27.$getMaxU();
    $var32 = $var27.$getMinV();
    $var34 = $var27.$getMaxV();
    var$15 = $par2;
    $var36 = var$15 + $this.$renderMinX;
    $var38 = var$15 + $this.$renderMaxX;
    var$18 = $par3;
    $var40 = var$18 + $this.$renderMinY + 0.1875;
    var$20 = $par4;
    $var42 = var$20 + $this.$renderMinZ;
    $var44 = var$20 + $this.$renderMaxZ;
    nlea_Tessellator_addVertexWithUV($var5, $var36, $var40, $var44, $var28, $var34);
    nlea_Tessellator_addVertexWithUV($var5, $var36, $var40, $var42, $var28, $var32);
    nlea_Tessellator_addVertexWithUV($var5, $var38, $var40, $var42, $var30, $var32);
    nlea_Tessellator_addVertexWithUV($var5, $var38, $var40, $var44, $var30, $var34);
    nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 + 1 | 0, $par4));
    nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
    $var27 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 1);
    $var28 = $var27.$getMinU();
    $var30 = $var27.$getMaxU();
    $var32 = $var27.$getMinV();
    $var34 = $var27.$getMaxV();
    if (!$var7) {
        $var36 = $var28;
        $var38 = $var34;
        $var40 = $var30;
        $var42 = $var32;
    } else if ($var7 == 2) {
        $var36 = $var30;
        $var38 = $var32;
        $var40 = $var28;
        $var42 = $var34;
        $var60 = $var28;
        $var52 = $var32;
        $var28 = $var30;
        $var32 = $var34;
        $var30 = $var60;
        $var34 = $var52;
    } else if ($var7 != 3) {
        $var36 = $var30;
        $var38 = $var32;
        $var40 = $var28;
        $var42 = $var34;
    } else {
        $var36 = $var28;
        $var38 = $var34;
        $var40 = $var30;
        $var42 = $var32;
        $var60 = $var28;
        $var52 = $var32;
        $var28 = $var30;
        $var32 = $var34;
        $var30 = $var60;
        $var34 = $var52;
    }
    $var52 = var$15 + $this.$renderMinX;
    $var54 = var$15 + $this.$renderMaxX;
    $var56 = var$18 + $this.$renderMaxY;
    $var58 = var$20 + $this.$renderMinZ;
    $var60 = var$20 + $this.$renderMaxZ;
    nlea_Tessellator_addVertexWithUV($var5, $var54, $var56, $var60, $var40, $var34);
    nlea_Tessellator_addVertexWithUV($var5, $var54, $var56, $var58, $var28, $var38);
    nlea_Tessellator_addVertexWithUV($var5, $var52, $var56, $var58, $var36, $var32);
    nlea_Tessellator_addVertexWithUV($var5, $var52, $var56, $var60, $var30, $var42);
    $var62 = nms_Direction_directionToFacing.data[$var7];
    if ($var8)
        $var62 = nms_Direction_directionToFacing.data[nms_Direction_rotateOpposite.data[$var7]];
    a: {
        b: {
            c: {
                $var63 = 4;
                switch ($var7) {
                    case 0:
                        break;
                    case 1:
                        $var63 = 3;
                        break b;
                    case 3:
                        $var63 = 2;
                        break a;
                    case 2:
                        break c;
                    default:
                        break c;
                }
                $var63 = 5;
                break a;
            }
        }
    }
    if ($var62 != 2 && !(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3, $par4 - 1 | 0, 2))) {
        nlea_Tessellator_setBrightness($var5, $this.$renderMinZ > 0.0 ? $var25 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 - 1 | 0));
        nlea_Tessellator_setColorOpaque_F($var5, 0.800000011920929, 0.800000011920929, 0.800000011920929);
        $this.$flipTexture = $var63 != 2 ? 0 : 1;
        nms_RenderBlocks_renderFaceZNeg($this, $par1Block, var$15, var$18, var$20, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 2));
    }
    if ($var62 != 3 && !(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3, $par4 + 1 | 0, 3))) {
        nlea_Tessellator_setBrightness($var5, $this.$renderMaxZ < 1.0 ? $var25 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 + 1 | 0));
        nlea_Tessellator_setColorOpaque_F($var5, 0.800000011920929, 0.800000011920929, 0.800000011920929);
        $this.$flipTexture = $var63 != 3 ? 0 : 1;
        nms_RenderBlocks_renderFaceZPos($this, $par1Block, var$15, var$18, var$20, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 3));
    }
    if ($var62 != 4 && !(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2 - 1 | 0, $par3, $par4, 4))) {
        nlea_Tessellator_setBrightness($var5, $this.$renderMinZ > 0.0 ? $var25 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 - 1 | 0, $par3, $par4));
        nlea_Tessellator_setColorOpaque_F($var5, 0.6000000238418579, 0.6000000238418579, 0.6000000238418579);
        $this.$flipTexture = $var63 != 4 ? 0 : 1;
        nms_RenderBlocks_renderFaceXNeg($this, $par1Block, var$15, var$18, var$20, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 4));
    }
    if ($var62 != 5 && !(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2 + 1 | 0, $par3, $par4, 5))) {
        if ($this.$renderMaxZ >= 1.0)
            $var25 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 + 1 | 0, $par3, $par4);
        nlea_Tessellator_setBrightness($var5, $var25);
        nlea_Tessellator_setColorOpaque_F($var5, 0.6000000238418579, 0.6000000238418579, 0.6000000238418579);
        $this.$flipTexture = $var63 != 5 ? 0 : 1;
        nms_RenderBlocks_renderFaceXPos($this, $par1Block, var$15, var$18, var$20, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 5));
    }
    $this.$flipTexture = 0;
    return 1;
}
function nms_RenderBlocks_renderBlockBrewingStand($this, $par1BlockBrewingStand, $par2, $par3, $par4) {
    var $var5, $var13, $var11, var$8, $var32, $var33, $var14, $var16, $var17, $var24, $var28, var$16, var$17, $var18, $var20, $var22, $var26, $var30;
    nms_RenderBlocks_setRenderBounds($this, 0.4375, 0.0, 0.4375, 0.5625, 0.875, 0.5625);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockBrewingStand, $par2, $par3, $par4);
    $this.$overrideBlockTexture = $par1BlockBrewingStand.$theIcon;
    nms_RenderBlocks_setRenderBounds($this, 0.5625, 0.0, 0.3125, 0.9375, 0.125, 0.6875);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockBrewingStand, $par2, $par3, $par4);
    nms_RenderBlocks_setRenderBounds($this, 0.125, 0.0, 0.0625, 0.5, 0.125, 0.4375);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockBrewingStand, $par2, $par3, $par4);
    nms_RenderBlocks_setRenderBounds($this, 0.125, 0.0, 0.5625, 0.5, 0.125, 0.9375);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockBrewingStand, $par2, $par3, $par4);
    nms_RenderBlocks_clearOverrideBlockTexture($this);
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var5, nms_Block_getMixedBrightnessForBlock($par1BlockBrewingStand, $this.$blockAccess, $par2, $par3, $par4));
    $var13 = 1.0;
    if (!nms_EntityRenderer_anaglyphEnable) {
        $var11 = $var13;
        var$8 = $var13;
    } else {
        $var11 = 1.0;
        $var13 = 1.0;
        var$8 = $var13;
    }
    nlea_Tessellator_setColorOpaque_F($var5, 1.0 * $var11, 1.0 * var$8, 1.0 * $var13);
    $var32 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockBrewingStand, 0, 0);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var32 = $this.$overrideBlockTexture;
    $var33 = $var32.$getMinV();
    $var14 = $var32.$getMaxV();
    $var16 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var17 = 0;
    $var24 = $par2 + 0.5;
    $var28 = $par4 + 0.5;
    var$16 = $par3 + 1 | 0;
    var$17 = $par3 + 0 | 0;
    while ($var17 < 3) {
        $var18 = $var17 * 3.141592653589793 * 2.0 / 3.0 + 1.5707963267948966;
        $var20 = $var32.$getInterpolatedU(8.0);
        $var22 = $var32.$getMaxU();
        if ($var16 & 1 << $var17)
            $var22 = $var32.$getMinU();
        $var26 = $var24 + jl_Math_sin($var18) * 8.0 / 16.0;
        $var30 = $var28 + jl_Math_cos($var18) * 8.0 / 16.0;
        nlea_Tessellator_addVertexWithUV($var5, $var24, var$16, $var28, $var20, $var33);
        nlea_Tessellator_addVertexWithUV($var5, $var24, var$17, $var28, $var20, $var14);
        nlea_Tessellator_addVertexWithUV($var5, $var26, var$17, $var30, $var22, $var14);
        nlea_Tessellator_addVertexWithUV($var5, $var26, var$16, $var30, $var22, $var33);
        nlea_Tessellator_addVertexWithUV($var5, $var26, var$16, $var30, $var22, $var33);
        nlea_Tessellator_addVertexWithUV($var5, $var26, var$17, $var30, $var22, $var14);
        nlea_Tessellator_addVertexWithUV($var5, $var24, var$17, $var28, $var20, $var14);
        nlea_Tessellator_addVertexWithUV($var5, $var24, var$16, $var28, $var20, $var33);
        $var17 = $var17 + 1 | 0;
    }
    nms_BlockBrewingStand_setBlockBoundsForItemRender($par1BlockBrewingStand);
    return 1;
}
function nms_RenderBlocks_renderBlockCauldron($this, $par1BlockCauldron, $par2, $par3, $par4) {
    var $var5, $var13, $var11, $var12, $var16, var$10, var$11, var$12, var$13, $var17, $var14, $var15;
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockCauldron, $par2, $par3, $par4);
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var5, nms_Block_getMixedBrightnessForBlock($par1BlockCauldron, $this.$blockAccess, $par2, $par3, $par4));
    $var13 = 1.0;
    if (!nms_EntityRenderer_anaglyphEnable) {
        $var11 = $var13;
        $var12 = $var13;
    } else {
        $var11 = 1.0;
        $var13 = 1.0;
        $var12 = $var13;
    }
    nlea_Tessellator_setColorOpaque_F($var5, 1.0 * $var11, 1.0 * $var12, 1.0 * $var13);
    $var16 = nms_Block_getBlockTextureFromSide($par1BlockCauldron, 2);
    $var13 = $par2;
    var$10 = $var13 - 1.0 + 0.125;
    var$11 = $par3;
    var$12 = $par4;
    nms_RenderBlocks_renderFaceXPos($this, $par1BlockCauldron, var$10, var$11, var$12, $var16);
    nms_RenderBlocks_renderFaceXNeg($this, $par1BlockCauldron, $var13 + 1.0 - 0.125, var$11, var$12, $var16);
    var$13 = $par2;
    $var11 = $par4;
    nms_RenderBlocks_renderFaceZPos($this, $par1BlockCauldron, var$13, var$11, $var11 - 1.0 + 0.125, $var16);
    nms_RenderBlocks_renderFaceZNeg($this, $par1BlockCauldron, var$13, var$11, $var11 + 1.0 - 0.125, $var16);
    $var17 = $rt_s(953) === $rt_s(953) ? nms_Block_cauldron.$field_94378_a : $rt_s(953) !== $rt_s(954) ? null : nms_Block_cauldron.$cauldronBottomIcon;
    $var13 = $par3;
    $var12 = $var13 - 1.0;
    nms_RenderBlocks_renderFaceYPos($this, $par1BlockCauldron, var$13, $var12 + 0.25, var$12, $var17);
    nms_RenderBlocks_renderFaceYNeg($this, $par1BlockCauldron, var$13, $var13 + 1.0 - 0.75, var$12, $var17);
    $var14 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    if ($var14 > 0) {
        $var15 = $rt_s(955) === $rt_s(955) ? nms_Block_waterMoving.$theIcon0.data[0] : $rt_s(955) === $rt_s(956) ? nms_Block_waterMoving.$theIcon0.data[1] : $rt_s(955) === $rt_s(957) ? nms_Block_lavaMoving.$theIcon0.data[0] : $rt_s(955) !== $rt_s(958) ? null : nms_Block_lavaMoving.$theIcon0.data[1];
        if ($var14 > 3)
            $var14 = 3;
        nms_RenderBlocks_renderFaceYPos($this, $par1BlockCauldron, var$13, $var12 + (6.0 + $var14 * 3.0) / 16.0, var$12, $var15);
    }
    return 1;
}
function nms_RenderBlocks_renderBlockFlowerpot($this, $par1BlockFlowerPot, $par2, $par3, $par4) {
    var $var5, $var8, $var14, $var12, var$9, var$10, var$11, var$12, $var19, $var17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var17 = $thread.pop();$var19 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var12 = $thread.pop();$var14 = $thread.pop();$var8 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1BlockFlowerPot = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockFlowerPot, $par2, $par3, $par4);
        nlea_Tessellator_$callClinit();
        $var5 = nlea_Tessellator_instance;
        nlea_Tessellator_setBrightness($var5, nms_Block_getMixedBrightnessForBlock($par1BlockFlowerPot, $this.$blockAccess, $par2, $par3, $par4));
        $var8 = nms_RenderBlocks_getBlockIconFromSide($this, $par1BlockFlowerPot, 0);
        $var14 = 1.0;
        if (!nms_EntityRenderer_anaglyphEnable) {
            $var12 = $var14;
            var$9 = $var14;
        } else {
            $var12 = 1.0;
            $var14 = 1.0;
            var$9 = $var14;
        }
        nlea_Tessellator_setColorOpaque_F($var5, 1.0 * $var12, 1.0 * var$9, 1.0 * $var14);
        $var14 = $par2;
        var$10 = $var14 - 0.5 + 0.18649999797344208;
        var$11 = $par3;
        var$12 = $par4;
        nms_RenderBlocks_renderFaceXPos($this, $par1BlockFlowerPot, var$10, var$11, var$12, $var8);
        nms_RenderBlocks_renderFaceXNeg($this, $par1BlockFlowerPot, $var14 + 0.5 - 0.18649999797344208, var$11, var$12, $var8);
        var$10 = $par2;
        var$9 = $par4;
        nms_RenderBlocks_renderFaceZPos($this, $par1BlockFlowerPot, var$10, var$11, var$9 - 0.5 + 0.18649999797344208, $var8);
        nms_RenderBlocks_renderFaceZNeg($this, $par1BlockFlowerPot, var$10, var$11, var$9 + 0.5 - 0.18649999797344208, $var8);
        nms_RenderBlocks_renderFaceYPos($this, $par1BlockFlowerPot, var$10, $par3 - 0.5 + 0.18649999797344208 + 0.1875, var$12, nms_RenderBlocks_getBlockIcon0($this, nms_Block_dirt));
        $var19 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
        if ($var19) {
            a: {
                b: {
                    c: {
                        $var17 = null;
                        switch ($var19) {
                            case 1:
                                break;
                            case 2:
                                $var17 = nms_Block_plantYellow;
                                break b;
                            case 7:
                                $var17 = nms_Block_mushroomRed;
                                break a;
                            case 8:
                                $var17 = nms_Block_mushroomBrown;
                                break a;
                            case 3:
                            case 4:
                            case 5:
                            case 6:
                                break c;
                            default:
                                break c;
                        }
                        $var17 = nms_Block_plantRed;
                        break a;
                    }
                }
            }
            nlea_Tessellator_addTranslation($var5, 0.0, 0.25, 0.0);
            if ($var17 !== null) {
                $ptr = 1;
                continue main;
            }
            if ($var19 == 9) {
                $this.$renderAllFaces = 1;
                nms_RenderBlocks_setRenderBounds($this, 0.375, 0.0, 0.375, 0.625, 0.25, 0.625);
                nms_RenderBlocks_renderStandardBlock($this, nms_Block_cactus, $par2, $par3, $par4);
                nms_RenderBlocks_setRenderBounds($this, 0.375, 0.25, 0.375, 0.625, 0.5, 0.625);
                nms_RenderBlocks_renderStandardBlock($this, nms_Block_cactus, $par2, $par3, $par4);
                nms_RenderBlocks_setRenderBounds($this, 0.375, 0.5, 0.375, 0.625, 0.75, 0.625);
                nms_RenderBlocks_renderStandardBlock($this, nms_Block_cactus, $par2, $par3, $par4);
                $this.$renderAllFaces = 0;
                nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
            } else if ($var19 == 3)
                nms_RenderBlocks_drawCrossedSquares($this, nms_Block_sapling, 0, var$10, var$11, var$12, 0.75);
            else if ($var19 == 5)
                nms_RenderBlocks_drawCrossedSquares($this, nms_Block_sapling, 2, var$10, var$11, var$12, 0.75);
            else if ($var19 == 4)
                nms_RenderBlocks_drawCrossedSquares($this, nms_Block_sapling, 1, var$10, var$11, var$12, 0.75);
            else if ($var19 == 6)
                nms_RenderBlocks_drawCrossedSquares($this, nms_Block_sapling, 3, var$10, var$11, var$12, 0.75);
            else if ($var19 == 11) {
                $par2 = nms_BlockTallGrass_colorMultiplier(nms_Block_tallGrass, $this.$blockAccess, $par2, $par3, $par4);
                nlea_Tessellator_setColorOpaque_F($var5, 1.0 * ($par2 >> 16 & 255) / 255.0, 1.0 * ($par2 >> 8 & 255) / 255.0, 1.0 * ($par2 & 255) / 255.0);
                nms_RenderBlocks_drawCrossedSquares($this, nms_Block_tallGrass, 2, var$10, var$11, var$12, 0.75);
            } else if ($var19 == 10)
                nms_RenderBlocks_drawCrossedSquares($this, nms_Block_deadBush, 2, var$10, var$11, var$12, 0.75);
            nlea_Tessellator_addTranslation($var5, -0.0, (-0.25), -0.0);
        }
        return 1;
    case 1:
        nms_RenderBlocks_renderBlockByRenderType($this, $var17, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_addTranslation($var5, -0.0, (-0.25), -0.0);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1BlockFlowerPot, $par2, $par3, $par4, $var5, $var8, $var14, $var12, var$9, var$10, var$11, var$12, $var19, $var17, $ptr);
}
function nms_RenderBlocks_renderBlockAnvilMetadata($this, $par1BlockAnvil, $par2, $par3, $par4, $par5) {
    var $var6, $var14, $var12, var$9;
    nlea_Tessellator_$callClinit();
    $var6 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var6, nms_Block_getMixedBrightnessForBlock($par1BlockAnvil, $this.$blockAccess, $par2, $par3, $par4));
    $var14 = 1.0;
    if (!nms_EntityRenderer_anaglyphEnable) {
        $var12 = $var14;
        var$9 = $var14;
    } else {
        $var12 = 1.0;
        $var14 = 1.0;
        var$9 = $var14;
    }
    nlea_Tessellator_setColorOpaque_F($var6, 1.0 * $var12, 1.0 * var$9, 1.0 * $var14);
    return nms_RenderBlocks_renderBlockAnvilOrient($this, $par1BlockAnvil, $par2, $par3, $par4, $par5, 0);
}
function nms_RenderBlocks_renderBlockAnvilOrient($this, $par1BlockAnvil, $par2, $par3, $par4, $par5, $par6) {
    var $var7, $var8;
    $var7 = $par6 ? 0 : $par5 & 3;
    a: {
        $var8 = 0;
        switch ($var7) {
            case 0:
                $this.$uvRotateSouth = 2;
                $this.$uvRotateNorth = 1;
                $this.$uvRotateTop = 3;
                $this.$uvRotateBottom = 3;
                break a;
            case 1:
                $this.$uvRotateEast = 1;
                $this.$uvRotateWest = 2;
                $this.$uvRotateTop = 2;
                $this.$uvRotateBottom = 1;
                $var8 = 1;
                break a;
            case 2:
                $this.$uvRotateSouth = 1;
                $this.$uvRotateNorth = 2;
                break a;
            case 3:
                $this.$uvRotateEast = 2;
                $this.$uvRotateWest = 1;
                $this.$uvRotateTop = 1;
                $this.$uvRotateBottom = 2;
                $var8 = 1;
                break a;
            default:
        }
    }
    nms_RenderBlocks_renderBlockAnvilRotate($this, $par1BlockAnvil, $par2, $par3, $par4, 3, nms_RenderBlocks_renderBlockAnvilRotate($this, $par1BlockAnvil, $par2, $par3, $par4, 2, nms_RenderBlocks_renderBlockAnvilRotate($this, $par1BlockAnvil, $par2, $par3, $par4, 1, nms_RenderBlocks_renderBlockAnvilRotate($this, $par1BlockAnvil, $par2, $par3, $par4, 0, 0.0, 0.75, 0.25, 0.75, $var8, $par6, $par5), 0.5, 0.0625, 0.625, $var8, $par6, $par5), 0.25, 0.3125, 0.5, $var8, $par6, $par5), 0.625, 0.375, 1.0, $var8, $par6,
    $par5);
    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    $this.$uvRotateEast = 0;
    $this.$uvRotateWest = 0;
    $this.$uvRotateSouth = 0;
    $this.$uvRotateNorth = 0;
    $this.$uvRotateTop = 0;
    $this.$uvRotateBottom = 0;
    return 1;
}
function nms_RenderBlocks_renderBlockAnvilRotate($this, $par1BlockAnvil, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9, $par10, $par11, $par12) {
    var var$13, var$14, var$15, var$16, var$17, $var14;
    if (!$par10) {
        var$13 = $par9;
        $par9 = $par7;
        $par7 = var$13;
    }
    $par9 = $par9 / 2.0;
    var$13 = $par7 / 2.0;
    $par1BlockAnvil.$field_82521_b = $par5;
    var$14 = 0.5 - $par9;
    var$15 = $par6;
    var$16 = 0.5 - var$13;
    var$17 = 0.5 + $par9;
    $par7 = $par6 + $par8;
    nms_RenderBlocks_setRenderBounds($this, var$14, var$15, var$16, var$17, $par7, 0.5 + var$13);
    if (!$par11)
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockAnvil, $par2, $par3, $par4);
    else {
        nlea_Tessellator_$callClinit();
        $var14 = nlea_Tessellator_instance;
        nlea_Tessellator_startDrawingQuads($var14);
        nlea_Tessellator_setNormal($var14, 0.0, (-1.0), 0.0);
        nms_RenderBlocks_renderFaceYNeg($this, $par1BlockAnvil, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockAnvil, 0, $par12));
        nlea_Tessellator_draw($var14);
        nlea_Tessellator_startDrawingQuads($var14);
        nlea_Tessellator_setNormal($var14, 0.0, 1.0, 0.0);
        nms_RenderBlocks_renderFaceYPos($this, $par1BlockAnvil, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockAnvil, 1, $par12));
        nlea_Tessellator_draw($var14);
        nlea_Tessellator_startDrawingQuads($var14);
        nlea_Tessellator_setNormal($var14, 0.0, 0.0, (-1.0));
        nms_RenderBlocks_renderFaceZNeg($this, $par1BlockAnvil, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockAnvil, 2, $par12));
        nlea_Tessellator_draw($var14);
        nlea_Tessellator_startDrawingQuads($var14);
        nlea_Tessellator_setNormal($var14, 0.0, 0.0, 1.0);
        nms_RenderBlocks_renderFaceZPos($this, $par1BlockAnvil, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockAnvil, 3, $par12));
        nlea_Tessellator_draw($var14);
        nlea_Tessellator_startDrawingQuads($var14);
        nlea_Tessellator_setNormal($var14, (-1.0), 0.0, 0.0);
        nms_RenderBlocks_renderFaceXNeg($this, $par1BlockAnvil, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockAnvil, 4, $par12));
        nlea_Tessellator_draw($var14);
        nlea_Tessellator_startDrawingQuads($var14);
        nlea_Tessellator_setNormal($var14, 1.0, 0.0, 0.0);
        nms_RenderBlocks_renderFaceXPos($this, $par1BlockAnvil, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockAnvil, 5, $par12));
        nlea_Tessellator_draw($var14);
    }
    return $par7;
}
function nms_RenderBlocks_renderBlockTorch($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    nlea_Tessellator_$callClinit();
    $var6 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var6, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
    nlea_Tessellator_setColorOpaque_F($var6, 1.0, 1.0, 1.0);
    if ($var5 == 1)
        nms_RenderBlocks_renderTorchAtAngle($this, $par1Block, $par2 - 0.09999999403953552, $par3 + 0.20000000298023224, $par4, (-0.4000000059604645), 0.0, 0);
    else if ($var5 == 2)
        nms_RenderBlocks_renderTorchAtAngle($this, $par1Block, $par2 + 0.09999999403953552, $par3 + 0.20000000298023224, $par4, 0.4000000059604645, 0.0, 0);
    else if ($var5 == 3)
        nms_RenderBlocks_renderTorchAtAngle($this, $par1Block, $par2, $par3 + 0.20000000298023224, $par4 - 0.09999999403953552, 0.0, (-0.4000000059604645), 0);
    else if ($var5 != 4)
        nms_RenderBlocks_renderTorchAtAngle($this, $par1Block, $par2, $par3, $par4, 0.0, 0.0, 0);
    else
        nms_RenderBlocks_renderTorchAtAngle($this, $par1Block, $par2, $par3 + 0.20000000298023224, $par4 + 0.09999999403953552, 0.0, 0.4000000059604645, 0);
    return 1;
}
function nms_RenderBlocks_renderBlockRepeater($this, $par1BlockRedstoneRepeater, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var20, $var11, $var12, $var14, $var16, $var18, $var21, $var22, $var23, $var24, var$20, var$21, $var29, var$23, var$24, var$25, var$26, $var27, $var25, $var31, var$30, var$31, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();$var31 = $thread.pop();$var25 = $thread.pop();$var27 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();$var29 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var20
        = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1BlockRedstoneRepeater = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
        $var6 = $var5 & 3;
        $var7 = ($var5 & 12) >> 2;
        nlea_Tessellator_$callClinit();
        $var8 = nlea_Tessellator_instance;
        nlea_Tessellator_setBrightness($var8, nms_Block_getMixedBrightnessForBlock($par1BlockRedstoneRepeater, $this.$blockAccess, $par2, $par3, $par4));
        nlea_Tessellator_setColorOpaque_F($var8, 1.0, 1.0, 1.0);
        $var9 = (-0.1875);
        $var20 = $this.$blockAccess;
        $ptr = 1;
    case 1:
        a: {
            $tmp = nms_BlockRedstoneRepeater_func_94476_e($par1BlockRedstoneRepeater, $var20, $par2, $par3, $par4, $var5);
            if ($rt_suspending()) {
                break main;
            }
            $var11 = $tmp;
            $var12 = 0.0;
            $var14 = 0.0;
            $var16 = 0.0;
            $var18 = 0.0;
            switch ($var6) {
                case 0:
                    $var18 = (-0.3125);
                    $var14 = nms_BlockRedstoneRepeater_repeaterTorchOffset.data[$var7];
                    break a;
                case 1:
                    $var16 = 0.3125;
                    $var12 =  -nms_BlockRedstoneRepeater_repeaterTorchOffset.data[$var7];
                    break a;
                case 2:
                    $var18 = 0.3125;
                    $var14 =  -nms_BlockRedstoneRepeater_repeaterTorchOffset.data[$var7];
                    break a;
                case 3:
                    $var16 = (-0.3125);
                    $var12 = nms_BlockRedstoneRepeater_repeaterTorchOffset.data[$var7];
                    break a;
                default:
            }
        }
        if (!$var11)
            nms_RenderBlocks_renderTorchAtAngle($this, $par1BlockRedstoneRepeater, $par2 + $var12, $par3 + $var9, $par4 + $var14, 0.0, 0.0, 0);
        else {
            b: {
                $var20 = nms_RenderBlocks_getBlockIcon0($this, nms_Block_bedrock);
                $this.$overrideBlockTexture = $var20;
                $var21 = 2.0;
                $var22 = 14.0;
                $var23 = 7.0;
                $var24 = 9.0;
                switch ($var6) {
                    case 1:
                    case 3:
                        $var21 = 7.0;
                        $var22 = 9.0;
                        $var23 = 2.0;
                        $var24 = 14.0;
                        break b;
                    case 0:
                    case 2:
                        break;
                    default:
                }
            }
            var$20 = $var21 / 16.0;
            var$21 = $var12;
            $var29 = var$20 + var$21;
            var$23 = $var23 / 16.0;
            var$24 = $var14;
            var$25 = var$23 + var$24;
            var$26 = $var22 / 16.0;
            $var27 = var$26 + var$21;
            var$21 = $var24 / 16.0;
            nms_RenderBlocks_setRenderBounds($this, $var29, 0.125, var$25, $var27, 0.25, var$21 + var$24);
            $var25 = $var20.$getInterpolatedU($var21);
            $var27 = $var20.$getInterpolatedV($var23);
            $var29 = $var20.$getInterpolatedU($var22);
            $var31 = $var20.$getInterpolatedV($var24);
            $var21 = $par2;
            var$25 = $var21 + var$20 + $var12;
            var$30 = $par3 + 0.25;
            $var22 = $par4;
            var$31 = $var22 + var$23 + $var14;
            nlea_Tessellator_addVertexWithUV($var8, var$25, var$30, var$31, $var25, $var27);
            $var14 = $var22 + var$21 + $var14;
            nlea_Tessellator_addVertexWithUV($var8, var$25, var$30, $var14, $var25, $var31);
            var$25 = $var21 + var$26 + $var12;
            nlea_Tessellator_addVertexWithUV($var8, var$25, var$30, $var14, $var29, $var31);
            nlea_Tessellator_addVertexWithUV($var8, var$25, var$30, var$31, $var29, $var27);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockRedstoneRepeater, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 0.125, 1.0);
            nms_RenderBlocks_clearOverrideBlockTexture($this);
        }
        nlea_Tessellator_setBrightness($var8, nms_Block_getMixedBrightnessForBlock($par1BlockRedstoneRepeater, $this.$blockAccess, $par2, $par3, $par4));
        nlea_Tessellator_setColorOpaque_F($var8, 1.0, 1.0, 1.0);
        nms_RenderBlocks_renderTorchAtAngle($this, $par1BlockRedstoneRepeater, $par2 + $var16, $par3 + $var9, $par4 + $var18, 0.0, 0.0, 0);
        nms_RenderBlocks_renderBlockRedstoneLogic($this, $par1BlockRedstoneRepeater, $par2, $par3, $par4);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1BlockRedstoneRepeater, $par2, $par3, $par4, $var5, $var6, $var7, $var8, $var9, $var20, $var11, $var12, $var14, $var16, $var18, $var21, $var22, $var23, $var24, var$20, var$21, $var29, var$23, var$24, var$25, var$26, $var27, $var25, $var31, var$30, var$31, $ptr);
}
function nms_RenderBlocks_renderBlockComparator($this, $par1BlockComparator, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var10, $var12, $var14, $var16, $var18, var$14, var$15, var$16, var$17, var$18, var$19;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var5, nms_Block_getMixedBrightnessForBlock($par1BlockComparator, $this.$blockAccess, $par2, $par3, $par4));
    nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
    $var6 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var7 = $var6 & 3;
    $var8 = 0.0;
    $var10 = (-0.1875);
    $var12 = 0.0;
    $var14 = 0.0;
    $var16 = 0.0;
    if (!nms_BlockComparator_func_94490_c($par1BlockComparator, $var6)) {
        $var10 = (-0.375);
        $var18 = nms_Block_getBlockTextureFromSide(nms_Block_torchRedstoneIdle, 0);
    } else
        $var18 = nms_Block_getBlockTextureFromSide(nms_Block_torchRedstoneActive, 0);
    a: {
        switch ($var7) {
            case 0:
                $var12 = (-0.3125);
                $var16 = 1.0;
                break a;
            case 1:
                $var8 = 0.3125;
                $var14 = (-1.0);
                break a;
            case 2:
                $var12 = 0.3125;
                $var16 = (-1.0);
                break a;
            case 3:
                $var8 = (-0.3125);
                $var14 = 1.0;
                break a;
            default:
        }
    }
    var$14 = $par2;
    var$15 = var$14 + 0.25 * $var14;
    var$16 = var$15 + 0.1875 * $var16;
    var$17 = $par3 - 0.1875;
    var$18 = $par4;
    var$19 = var$18 + 0.25 * $var16;
    nms_RenderBlocks_renderTorchAtAngle($this, $par1BlockComparator, var$16, var$17, var$19 + 0.1875 * $var14, 0.0, 0.0, $var6);
    nms_RenderBlocks_renderTorchAtAngle($this, $par1BlockComparator, var$15 + (-0.1875) * $var16, var$17, var$19 + (-0.1875) * $var14, 0.0, 0.0, $var6);
    $this.$overrideBlockTexture = $var18;
    nms_RenderBlocks_renderTorchAtAngle($this, $par1BlockComparator, var$14 + $var8, $par3 + $var10, var$18 + $var12, 0.0, 0.0, $var6);
    nms_RenderBlocks_clearOverrideBlockTexture($this);
    nms_RenderBlocks_renderBlockRedstoneLogicMetadata($this, $par1BlockComparator, $par2, $par3, $par4, $var7);
    return 1;
}
function nms_RenderBlocks_renderBlockRedstoneLogic($this, $par1BlockRedstoneLogic, $par2, $par3, $par4) {
    nms_RenderBlocks_renderBlockRedstoneLogicMetadata($this, $par1BlockRedstoneLogic, $par2, $par3, $par4, $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4) & 3);
    return 1;
}
function nms_RenderBlocks_renderBlockRedstoneLogicMetadata($this, $par1BlockRedstoneLogic, $par2, $par3, $par4, $par5) {
    var $var6, $var8, $var9, $var11, $var13, $var15, $var19, $var23, $var27, $var29, $var35, var$17, var$18, var$19, var$20, var$21, $var17, var$23;
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockRedstoneLogic, $par2, $par3, $par4);
    nlea_Tessellator_$callClinit();
    $var6 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var6, nms_Block_getMixedBrightnessForBlock($par1BlockRedstoneLogic, $this.$blockAccess, $par2, $par3, $par4));
    nlea_Tessellator_setColorOpaque_F($var6, 1.0, 1.0, 1.0);
    $var8 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockRedstoneLogic, 1, $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4));
    $var9 = $var8.$getMinU();
    $var11 = $var8.$getMaxU();
    $var13 = $var8.$getMinV();
    $var15 = $var8.$getMaxV();
    $var19 = $par2 + 1 | 0;
    $var23 = $par2 + 0 | 0;
    $var27 = $par4 + 0 | 0;
    $var29 = $par4 + 1 | 0;
    $var35 = $par3 + 0.125;
    if ($par5 == 2) {
        var$17 = $var23;
        var$18 = $var19;
        var$19 = $var29;
        var$20 = $var27;
    } else if ($par5 == 3) {
        var$17 = $var19;
        var$21 = $var23;
        var$18 = $var23;
        var$19 = $var29;
        $var17 = $var27;
        var$20 = $var29;
        $var23 = var$21;
        $var29 = $var17;
    } else if ($par5 != 1) {
        var$17 = $var19;
        var$18 = $var23;
        var$21 = $var23;
        var$19 = $var27;
        var$20 = $var29;
        $var17 = $var29;
        $var23 = $var19;
        $var19 = var$21;
        $var29 = $var27;
        $var27 = $var17;
    } else {
        var$17 = $var23;
        var$18 = $var19;
        var$21 = $var23;
        var$19 = $var27;
        $var17 = $var29;
        var$23 = $var29;
        $var23 = var$18;
        var$18 = $var19;
        $var19 = var$21;
        $var29 = $var17;
        var$20 = $var27;
        $var27 = var$23;
    }
    nlea_Tessellator_addVertexWithUV($var6, var$18, $var35, var$19, $var9, $var13);
    nlea_Tessellator_addVertexWithUV($var6, $var19, $var35, var$20, $var9, $var15);
    nlea_Tessellator_addVertexWithUV($var6, var$17, $var35, $var27, $var11, $var15);
    nlea_Tessellator_addVertexWithUV($var6, $var23, $var35, $var29, $var11, $var13);
}
function nms_RenderBlocks_renderPistonBaseAllFaces($this, $par1Block, $par2, $par3, $par4) {
    $this.$renderAllFaces = 1;
    nms_RenderBlocks_renderPistonBase($this, $par1Block, $par2, $par3, $par4, 1);
    $this.$renderAllFaces = 0;
}
function nms_RenderBlocks_renderPistonBase($this, $par1Block, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, var$9;
    $var6 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var7 = !$par5 && !($var6 & 8) ? 0 : 1;
    $var8 = nms_BlockPistonBase_getOrientation($var6);
    if (!$var7) {
        a: {
            b: {
                switch ($var8) {
                    case 0:
                        $this.$uvRotateEast = 3;
                        $this.$uvRotateWest = 3;
                        $this.$uvRotateSouth = 3;
                        $this.$uvRotateNorth = 3;
                        break b;
                    case 1:
                        break b;
                    case 2:
                        break;
                    case 3:
                        $this.$uvRotateSouth = 2;
                        $this.$uvRotateNorth = 1;
                        $this.$uvRotateTop = 3;
                        $this.$uvRotateBottom = 3;
                        break a;
                    case 4:
                        $this.$uvRotateEast = 1;
                        $this.$uvRotateWest = 2;
                        $this.$uvRotateTop = 2;
                        $this.$uvRotateBottom = 1;
                        break a;
                    case 5:
                        $this.$uvRotateEast = 2;
                        $this.$uvRotateWest = 1;
                        $this.$uvRotateTop = 1;
                        $this.$uvRotateBottom = 2;
                        break a;
                    default:
                        break b;
                }
                $this.$uvRotateSouth = 1;
                $this.$uvRotateNorth = 2;
                break a;
            }
        }
        nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
        $this.$uvRotateEast = 0;
        $this.$uvRotateWest = 0;
        $this.$uvRotateSouth = 0;
        $this.$uvRotateNorth = 0;
        $this.$uvRotateTop = 0;
        $this.$uvRotateBottom = 0;
    } else {
        c: {
            switch ($var8) {
                case 0:
                    $this.$uvRotateEast = 3;
                    $this.$uvRotateWest = 3;
                    $this.$uvRotateSouth = 3;
                    $this.$uvRotateNorth = 3;
                    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.25, 0.0, 1.0, 1.0, 1.0);
                    break c;
                case 1:
                    break;
                case 2:
                    $this.$uvRotateSouth = 1;
                    $this.$uvRotateNorth = 2;
                    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.25, 1.0, 1.0, 1.0);
                    break c;
                case 3:
                    $this.$uvRotateSouth = 2;
                    $this.$uvRotateNorth = 1;
                    $this.$uvRotateTop = 3;
                    $this.$uvRotateBottom = 3;
                    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.75);
                    break c;
                case 4:
                    $this.$uvRotateEast = 1;
                    $this.$uvRotateWest = 2;
                    $this.$uvRotateTop = 2;
                    $this.$uvRotateBottom = 1;
                    nms_RenderBlocks_setRenderBounds($this, 0.25, 0.0, 0.0, 1.0, 1.0, 1.0);
                    break c;
                case 5:
                    $this.$uvRotateEast = 2;
                    $this.$uvRotateWest = 1;
                    $this.$uvRotateTop = 1;
                    $this.$uvRotateBottom = 2;
                    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 0.75, 1.0, 1.0);
                    break c;
                default:
                    break c;
            }
            nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 0.75, 1.0);
        }
        var$9 = $par1Block;
        nms_Block_setBlockBounds(var$9, $this.$renderMinX, $this.$renderMinY, $this.$renderMinZ, $this.$renderMaxX, $this.$renderMaxY, $this.$renderMaxZ);
        nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
        $this.$uvRotateEast = 0;
        $this.$uvRotateWest = 0;
        $this.$uvRotateSouth = 0;
        $this.$uvRotateNorth = 0;
        $this.$uvRotateTop = 0;
        $this.$uvRotateBottom = 0;
        nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        nms_Block_setBlockBounds(var$9, $this.$renderMinX, $this.$renderMinY, $this.$renderMinZ, $this.$renderMaxX, $this.$renderMaxY, $this.$renderMaxZ);
    }
    return 1;
}
function nms_RenderBlocks_renderPistonRodUD($this, $par1, $par3, $par5, $par7, $par9, $par11, $par13, $par14) {
    var $var16, $var17, $var18, $var20, $var22, $var24;
    $var16 = nms_BlockPistonBase_func_94496_b($rt_s(959));
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var16 = $this.$overrideBlockTexture;
    nlea_Tessellator_$callClinit();
    $var17 = nlea_Tessellator_instance;
    $var18 = $var16.$getMinU();
    $var20 = $var16.$getMinV();
    $var22 = $var16.$getInterpolatedU($par14);
    $var24 = $var16.$getInterpolatedV(4.0);
    nlea_Tessellator_setColorOpaque_F($var17, $par13, $par13, $par13);
    nlea_Tessellator_addVertexWithUV($var17, $par1, $par7, $par9, $var22, $var20);
    nlea_Tessellator_addVertexWithUV($var17, $par1, $par5, $par9, $var18, $var20);
    nlea_Tessellator_addVertexWithUV($var17, $par3, $par5, $par11, $var18, $var24);
    nlea_Tessellator_addVertexWithUV($var17, $par3, $par7, $par11, $var22, $var24);
}
function nms_RenderBlocks_renderPistonRodSN($this, $par1, $par3, $par5, $par7, $par9, $par11, $par13, $par14) {
    var $var16, $var17, $var18, $var20, $var22, $var24;
    $var16 = nms_BlockPistonBase_func_94496_b($rt_s(959));
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var16 = $this.$overrideBlockTexture;
    nlea_Tessellator_$callClinit();
    $var17 = nlea_Tessellator_instance;
    $var18 = $var16.$getMinU();
    $var20 = $var16.$getMinV();
    $var22 = $var16.$getInterpolatedU($par14);
    $var24 = $var16.$getInterpolatedV(4.0);
    nlea_Tessellator_setColorOpaque_F($var17, $par13, $par13, $par13);
    nlea_Tessellator_addVertexWithUV($var17, $par1, $par5, $par11, $var22, $var20);
    nlea_Tessellator_addVertexWithUV($var17, $par1, $par5, $par9, $var18, $var20);
    nlea_Tessellator_addVertexWithUV($var17, $par3, $par7, $par9, $var18, $var24);
    nlea_Tessellator_addVertexWithUV($var17, $par3, $par7, $par11, $var22, $var24);
}
function nms_RenderBlocks_renderPistonRodEW($this, $par1, $par3, $par5, $par7, $par9, $par11, $par13, $par14) {
    var $var16, $var17, $var18, $var20, $var22, $var24;
    $var16 = nms_BlockPistonBase_func_94496_b($rt_s(959));
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var16 = $this.$overrideBlockTexture;
    nlea_Tessellator_$callClinit();
    $var17 = nlea_Tessellator_instance;
    $var18 = $var16.$getMinU();
    $var20 = $var16.$getMinV();
    $var22 = $var16.$getInterpolatedU($par14);
    $var24 = $var16.$getInterpolatedV(4.0);
    nlea_Tessellator_setColorOpaque_F($var17, $par13, $par13, $par13);
    nlea_Tessellator_addVertexWithUV($var17, $par3, $par5, $par9, $var22, $var20);
    nlea_Tessellator_addVertexWithUV($var17, $par1, $par5, $par9, $var18, $var20);
    nlea_Tessellator_addVertexWithUV($var17, $par1, $par7, $par11, $var18, $var24);
    nlea_Tessellator_addVertexWithUV($var17, $par3, $par7, $par11, $var22, $var24);
}
function nms_RenderBlocks_renderPistonExtensionAllFaces($this, $par1Block, $par2, $par3, $par4, $par5) {
    $this.$renderAllFaces = 1;
    nms_RenderBlocks_renderPistonExtension($this, $par1Block, $par2, $par3, $par4, $par5);
    $this.$renderAllFaces = 0;
}
function nms_RenderBlocks_renderPistonExtension($this, $par1Block, $par2, $par3, $par4, $par5) {
    var $var7, $var11, $var12, $var13, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17;
    $var7 = nms_BlockPistonExtension_getDirectionMeta($this.$blockAccess.$getBlockMetadata($par2, $par3, $par4));
    $var11 = $par1Block.$getBlockBrightness($this.$blockAccess, $par2, $par3, $par4);
    $var12 = !$par5 ? 0.5 : 1.0;
    $var13 = !$par5 ? 8.0 : 16.0;
    a: {
        switch ($var7) {
            case 0:
                $this.$uvRotateEast = 3;
                $this.$uvRotateWest = 3;
                $this.$uvRotateSouth = 3;
                $this.$uvRotateNorth = 3;
                nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 0.25, 1.0);
                nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
                var$10 = $par2;
                var$11 = var$10 + 0.375;
                var$12 = var$10 + 0.625;
                var$10 = $par3 + 0.25;
                var$13 = var$10;
                var$14 = var$10 + $var12;
                $var12 = $par4;
                var$15 = $var12 + 0.625;
                var$10 = $var11 * 0.800000011920929;
                nms_RenderBlocks_renderPistonRodUD($this, var$11, var$12, var$13, var$14, var$15, var$15, var$10, $var13);
                var$16 = $var12 + 0.375;
                nms_RenderBlocks_renderPistonRodUD($this, var$12, var$11, var$13, var$14, var$16, var$16, var$10, $var13);
                $var11 = $var11 * 0.6000000238418579;
                nms_RenderBlocks_renderPistonRodUD($this, var$11, var$11, var$13, var$14, var$16, var$15, $var11, $var13);
                nms_RenderBlocks_renderPistonRodUD($this, var$12, var$12, var$13, var$14, var$15, var$16, $var11, $var13);
                break a;
            case 1:
                break;
            case 2:
                $this.$uvRotateSouth = 1;
                $this.$uvRotateNorth = 2;
                nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.25);
                nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
                var$10 = $par2;
                var$11 = var$10 + 0.375;
                var$17 = $par3;
                var$12 = var$17 + 0.625;
                var$13 = var$17 + 0.375;
                var$17 = $par4 + 0.25;
                var$14 = var$17;
                var$15 = var$17 + $var12;
                $var12 = $var11 * 0.6000000238418579;
                nms_RenderBlocks_renderPistonRodSN($this, var$11, var$11, var$12, var$13, var$14, var$15, $var12, $var13);
                var$16 = var$10 + 0.625;
                nms_RenderBlocks_renderPistonRodSN($this, var$16, var$16, var$13, var$12, var$14, var$15, $var12, $var13);
                nms_RenderBlocks_renderPistonRodSN($this, var$11, var$16, var$13, var$13, var$14, var$15, $var11 * 0.5, $var13);
                nms_RenderBlocks_renderPistonRodSN($this, var$16, var$11, var$12, var$12, var$14, var$15, $var11, $var13);
                break a;
            case 3:
                $this.$uvRotateSouth = 2;
                $this.$uvRotateNorth = 1;
                $this.$uvRotateTop = 3;
                $this.$uvRotateBottom = 3;
                nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.75, 1.0, 1.0, 1.0);
                nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
                var$10 = $par2;
                var$11 = var$10 + 0.375;
                var$17 = $par3;
                var$12 = var$17 + 0.625;
                var$13 = var$17 + 0.375;
                var$17 = $par4 - 0.25 + 1.0;
                var$14 = var$17 - $var12;
                var$15 = var$17;
                $var12 = $var11 * 0.6000000238418579;
                nms_RenderBlocks_renderPistonRodSN($this, var$11, var$11, var$12, var$13, var$14, var$15, $var12, $var13);
                var$16 = var$10 + 0.625;
                nms_RenderBlocks_renderPistonRodSN($this, var$16, var$16, var$13, var$12, var$14, var$15, $var12, $var13);
                nms_RenderBlocks_renderPistonRodSN($this, var$11, var$16, var$13, var$13, var$14, var$15, $var11 * 0.5, $var13);
                nms_RenderBlocks_renderPistonRodSN($this, var$16, var$11, var$12, var$12, var$14, var$15, $var11, $var13);
                break a;
            case 4:
                $this.$uvRotateEast = 1;
                $this.$uvRotateWest = 2;
                $this.$uvRotateTop = 2;
                $this.$uvRotateBottom = 1;
                nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 0.25, 1.0, 1.0);
                nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
                var$10 = $par2 + 0.25;
                var$11 = var$10;
                var$12 = var$10 + $var12;
                $var12 = $par3;
                var$13 = $var12 + 0.375;
                var$10 = $par4;
                var$14 = var$10 + 0.625;
                var$15 = var$10 + 0.375;
                nms_RenderBlocks_renderPistonRodEW($this, var$11, var$12, var$13, var$13, var$14, var$15, $var11 * 0.5, $var13);
                var$16 = $var12 + 0.625;
                nms_RenderBlocks_renderPistonRodEW($this, var$11, var$12, var$16, var$16, var$15, var$14, $var11, $var13);
                $var11 = $var11 * 0.6000000238418579;
                nms_RenderBlocks_renderPistonRodEW($this, var$11, var$12, var$13, var$16, var$15, var$15, $var11, $var13);
                nms_RenderBlocks_renderPistonRodEW($this, var$11, var$12, var$16, var$13, var$14, var$14, $var11, $var13);
                break a;
            case 5:
                $this.$uvRotateEast = 2;
                $this.$uvRotateWest = 1;
                $this.$uvRotateTop = 1;
                $this.$uvRotateBottom = 2;
                nms_RenderBlocks_setRenderBounds($this, 0.75, 0.0, 0.0, 1.0, 1.0, 1.0);
                nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
                var$10 = $par2 - 0.25 + 1.0;
                var$11 = var$10 - $var12;
                var$12 = var$10;
                $var12 = $par3;
                var$13 = $var12 + 0.375;
                var$10 = $par4;
                var$14 = var$10 + 0.625;
                var$15 = var$10 + 0.375;
                nms_RenderBlocks_renderPistonRodEW($this, var$11, var$12, var$13, var$13, var$14, var$15, $var11 * 0.5, $var13);
                var$16 = $var12 + 0.625;
                nms_RenderBlocks_renderPistonRodEW($this, var$11, var$12, var$16, var$16, var$15, var$14, $var11, $var13);
                $var11 = $var11 * 0.6000000238418579;
                nms_RenderBlocks_renderPistonRodEW($this, var$11, var$12, var$13, var$16, var$15, var$15, $var11, $var13);
                nms_RenderBlocks_renderPistonRodEW($this, var$11, var$12, var$16, var$13, var$14, var$14, $var11, $var13);
                break a;
            default:
                break a;
        }
        nms_RenderBlocks_setRenderBounds($this, 0.0, 0.75, 0.0, 1.0, 1.0, 1.0);
        nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
        var$10 = $par2;
        var$11 = var$10 + 0.375;
        var$12 = var$10 + 0.625;
        var$10 = $par3 - 0.25 + 1.0;
        var$13 = var$10 - $var12;
        var$14 = var$10;
        $var12 = $par4;
        var$15 = $var12 + 0.625;
        var$10 = $var11 * 0.800000011920929;
        nms_RenderBlocks_renderPistonRodUD($this, var$11, var$12, var$13, var$14, var$15, var$15, var$10, $var13);
        var$16 = $var12 + 0.375;
        nms_RenderBlocks_renderPistonRodUD($this, var$12, var$11, var$13, var$14, var$16, var$16, var$10, $var13);
        $var11 = $var11 * 0.6000000238418579;
        nms_RenderBlocks_renderPistonRodUD($this, var$11, var$11, var$13, var$14, var$16, var$15, $var11, $var13);
        nms_RenderBlocks_renderPistonRodUD($this, var$12, var$12, var$13, var$14, var$15, var$16, $var11, $var13);
    }
    $this.$uvRotateEast = 0;
    $this.$uvRotateWest = 0;
    $this.$uvRotateSouth = 0;
    $this.$uvRotateNorth = 0;
    $this.$uvRotateTop = 0;
    $this.$uvRotateBottom = 0;
    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    return 1;
}
function nms_RenderBlocks_renderBlockLever($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, var$10, $var13, $var14, $var15, $var17, $var19, $var21, $var23, $var27, $var31, var$20, var$21, var$22, var$23, var$24, var$25, var$26, var$27, $var32, $var28, $var29, $var30;
    $var5 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var6 = $var5 & 7;
    $var7 = ($var5 & 8) <= 0 ? 0 : 1;
    nlea_Tessellator_$callClinit();
    $var8 = nlea_Tessellator_instance;
    $var9 = nms_RenderBlocks_hasOverrideBlockTexture($this);
    if (!$var9) {
        nms_Block_$callClinit();
        nms_RenderBlocks_setOverrideBlockTexture($this, nms_RenderBlocks_getBlockIcon0($this, nms_Block_cobblestone));
    }
    a: {
        var$10 = $rt_compare($var6, 5);
        if (!var$10) {
            nms_RenderBlocks_setRenderBounds($this, 0.3125, 0.0, 0.25, 0.6875, 0.1875, 0.75);
            break a;
        }
        if ($var6 == 6) {
            nms_RenderBlocks_setRenderBounds($this, 0.25, 0.0, 0.3125, 0.75, 0.1875, 0.6875);
            break a;
        }
        if ($var6 == 4) {
            nms_RenderBlocks_setRenderBounds($this, 0.3125, 0.25, 0.8125, 0.6875, 0.75, 1.0);
            break a;
        }
        if ($var6 == 3) {
            nms_RenderBlocks_setRenderBounds($this, 0.3125, 0.25, 0.0, 0.6875, 0.75, 0.1875);
            break a;
        }
        if ($var6 == 2) {
            nms_RenderBlocks_setRenderBounds($this, 0.8125, 0.25, 0.3125, 1.0, 0.75, 0.6875);
            break a;
        }
        if ($var6 == 1) {
            nms_RenderBlocks_setRenderBounds($this, 0.0, 0.25, 0.3125, 0.1875, 0.75, 0.6875);
            break a;
        }
        if (!$var6) {
            nms_RenderBlocks_setRenderBounds($this, 0.25, 0.8125, 0.3125, 0.75, 1.0, 0.6875);
            break a;
        }
        if ($var6 != 7)
            break a;
        nms_RenderBlocks_setRenderBounds($this, 0.3125, 0.8125, 0.25, 0.6875, 1.0, 0.75);
    }
    nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
    if (!$var9)
        nms_RenderBlocks_clearOverrideBlockTexture($this);
    nlea_Tessellator_setBrightness($var8, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
    $var13 = 1.0;
    if (nms_Block_lightValue.data[$par1Block.$blockID] > 0)
        $var13 = 1.0;
    nlea_Tessellator_setColorOpaque_F($var8, $var13, $var13, $var13);
    $var14 = nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var14 = $this.$overrideBlockTexture;
    $var15 = $var14.$getMinU();
    $var17 = $var14.$getMinV();
    $var19 = $var14.$getMaxU();
    $var21 = $var14.$getMaxV();
    $var23 = $rt_createArray(nms_Vec3, 8).data;
    $var23[0] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.0625), 0.0, (-0.0625));
    $var23[1] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.0625, 0.0, (-0.0625));
    $var23[2] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.0625, 0.0, 0.0625);
    $var23[3] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.0625), 0.0, 0.0625);
    $var23[4] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.0625), 0.625, (-0.0625));
    $var23[5] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.0625, 0.625, (-0.0625));
    $var23[6] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.0625, 0.625, 0.0625);
    $var23[7] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.0625), 0.625, 0.0625);
    $var27 = 0;
    $var31 = $rt_compare($var6, 6);
    $var9 = $rt_compare($var6, 4);
    $var5 = $rt_compare($var6, 3);
    var$20 = $rt_compare($var6, 2);
    var$21 = $rt_compare($var6, 1);
    var$22 = $par2 + 0.5;
    var$23 = $par3;
    var$24 = var$23 + 0.5;
    var$25 = $par4 + 0.5;
    $par2 = $rt_compare($var6, 7);
    var$26 = var$23 + 0.125;
    var$27 = var$23 + 0.875;
    while ($var27 < 8) {
        if (!$var7) {
            $par1Block = $var23[$var27];
            $par1Block.$zCoord = $par1Block.$zCoord + 0.0625;
            nms_Vec3_rotateAroundX($var23[$var27], (-0.6981317400932312));
        } else {
            $par1Block = $var23[$var27];
            $par1Block.$zCoord = $par1Block.$zCoord - 0.0625;
            nms_Vec3_rotateAroundX($var23[$var27], 0.6981317400932312);
        }
        if (!($var6 && $par2))
            nms_Vec3_rotateAroundZ($var23[$var27], 3.1415927410125732);
        if (!($var31 && $var6))
            nms_Vec3_rotateAroundY($var23[$var27], 1.5707963705062866);
        if ($var6 > 0 && var$10 < 0) {
            $par1Block = $var23[$var27];
            $par1Block.$yCoord = $par1Block.$yCoord - 0.375;
            nms_Vec3_rotateAroundX($var23[$var27], 1.5707963705062866);
            if (!$var9)
                nms_Vec3_rotateAroundY($var23[$var27], 0.0);
            if (!$var5)
                nms_Vec3_rotateAroundY($var23[$var27], 3.1415927410125732);
            if (!var$20)
                nms_Vec3_rotateAroundY($var23[$var27], 1.5707963705062866);
            if (!var$21)
                nms_Vec3_rotateAroundY($var23[$var27], (-1.5707963705062866));
            $par1Block = $var23[$var27];
            $par1Block.$xCoord = $par1Block.$xCoord + var$22;
            $par1Block = $var23[$var27];
            $par1Block.$yCoord = $par1Block.$yCoord + var$24;
            $par1Block = $var23[$var27];
            $par1Block.$zCoord = $par1Block.$zCoord + var$25;
        } else if ($var6 && $par2) {
            $par1Block = $var23[$var27];
            $par1Block.$xCoord = $par1Block.$xCoord + var$22;
            $par1Block = $var23[$var27];
            $par1Block.$yCoord = $par1Block.$yCoord + var$26;
            $par1Block = $var23[$var27];
            $par1Block.$zCoord = $par1Block.$zCoord + var$25;
        } else {
            $par1Block = $var23[$var27];
            $par1Block.$xCoord = $par1Block.$xCoord + var$22;
            $par1Block = $var23[$var27];
            $par1Block.$yCoord = $par1Block.$yCoord + var$27;
            $par1Block = $var23[$var27];
            $par1Block.$zCoord = $par1Block.$zCoord + var$25;
        }
        $var27 = $var27 + 1 | 0;
    }
    $var32 = null;
    $var28 = null;
    $var29 = null;
    $var30 = null;
    $var31 = 0;
    while ($var31 < 6) {
        if (!$var31) {
            $var15 = $var14.$getInterpolatedU(7.0);
            $var17 = $var14.$getInterpolatedV(6.0);
            $var19 = $var14.$getInterpolatedU(9.0);
            $var21 = $var14.$getInterpolatedV(8.0);
        } else if ($var31 == 2) {
            $var15 = $var14.$getInterpolatedU(7.0);
            $var17 = $var14.$getInterpolatedV(6.0);
            $var19 = $var14.$getInterpolatedU(9.0);
            $var21 = $var14.$getMaxV();
        }
        if (!$var31) {
            $var32 = $var23[0];
            $var28 = $var23[1];
            $var29 = $var23[2];
            $var30 = $var23[3];
        } else if ($var31 == 1) {
            $var32 = $var23[7];
            $var28 = $var23[6];
            $var29 = $var23[5];
            $var30 = $var23[4];
        } else if ($var31 == 2) {
            $var32 = $var23[1];
            $var28 = $var23[0];
            $var29 = $var23[4];
            $var30 = $var23[5];
        } else if ($var31 == 3) {
            $var32 = $var23[2];
            $var28 = $var23[1];
            $var29 = $var23[5];
            $var30 = $var23[6];
        } else if ($var31 == 4) {
            $var32 = $var23[3];
            $var28 = $var23[2];
            $var29 = $var23[6];
            $var30 = $var23[7];
        } else if ($var31 == 5) {
            $var32 = $var23[0];
            $var28 = $var23[3];
            $var29 = $var23[7];
            $var30 = $var23[4];
        }
        nlea_Tessellator_addVertexWithUV($var8, $var32.$xCoord, $var32.$yCoord, $var32.$zCoord, $var15, $var21);
        nlea_Tessellator_addVertexWithUV($var8, $var28.$xCoord, $var28.$yCoord, $var28.$zCoord, $var19, $var21);
        nlea_Tessellator_addVertexWithUV($var8, $var29.$xCoord, $var29.$yCoord, $var29.$zCoord, $var19, $var17);
        nlea_Tessellator_addVertexWithUV($var8, $var30.$xCoord, $var30.$yCoord, $var30.$zCoord, $var15, $var17);
        $var31 = $var31 + 1 | 0;
    }
    return 1;
}
function nms_RenderBlocks_renderBlockTripWireSource($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var17, $var18, $var19, $var21, $var23, $var25, $var27, $var31, $var46, var$21, var$22, $var52, var$24, var$25, $var62, $var32, $var33, $var34, $var39, $var42, var$32, $var65, $var54, $var56, $var58, $var60, var$38, var$39;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $var6 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var7 = $var6 & 3;
    $var8 = ($var6 & 4) != 4 ? 0 : 1;
    $var9 = ($var6 & 8) != 8 ? 0 : 1;
    $var10 = $this.$blockAccess.$doesBlockHaveSolidTopSurface($par2, $par3 - 1 | 0, $par4) ? 0 : 1;
    $var11 = nms_RenderBlocks_hasOverrideBlockTexture($this);
    if (!$var11) {
        nms_Block_$callClinit();
        nms_RenderBlocks_setOverrideBlockTexture($this, nms_RenderBlocks_getBlockIcon0($this, nms_Block_planks));
    }
    $var6 = $rt_compare($var7, 2);
    if (!$var6)
        nms_RenderBlocks_setRenderBounds($this, 0.375, 0.050000011920928955, 0.875, 0.625, 0.550000011920929, 1.0);
    else if (!$var7)
        nms_RenderBlocks_setRenderBounds($this, 0.375, 0.050000011920928955, 0.0, 0.625, 0.550000011920929, 0.125);
    else if ($var7 == 1)
        nms_RenderBlocks_setRenderBounds($this, 0.875, 0.050000011920928955, 0.375, 1.0, 0.550000011920929, 0.625);
    else if ($var7 == 3)
        nms_RenderBlocks_setRenderBounds($this, 0.0, 0.050000011920928955, 0.375, 0.125, 0.550000011920929, 0.625);
    nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
    if (!$var11)
        nms_RenderBlocks_clearOverrideBlockTexture($this);
    nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
    $var17 = 1.0;
    if (nms_Block_lightValue.data[$par1Block.$blockID] > 0)
        $var17 = 1.0;
    nlea_Tessellator_setColorOpaque_F($var5, $var17, $var17, $var17);
    $var18 = nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var18 = $this.$overrideBlockTexture;
    $var19 = $var18.$getMinU();
    $var21 = $var18.$getMinV();
    $var23 = $var18.$getMaxU();
    $var25 = $var18.$getMaxV();
    $var27 = $rt_createArray(nms_Vec3, 8).data;
    $var27[0] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.046875), 0.0, (-0.046875));
    $var27[1] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.046875, 0.0, (-0.046875));
    $var27[2] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.046875, 0.0, 0.046875);
    $var27[3] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.046875), 0.0, 0.046875);
    $var27[4] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.046875), 0.3125, (-0.046875));
    $var27[5] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.046875, 0.3125, (-0.046875));
    $var27[6] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.046875, 0.3125, 0.046875);
    $var27[7] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.046875), 0.3125, 0.046875);
    $var31 = 0;
    $var11 = $rt_compare($var7, 1);
    $var46 = $rt_compare($var7, 3);
    var$21 = $par2;
    var$22 = var$21 + 0.5;
    $var52 = $par3 + 0.3125;
    var$24 = $par4;
    var$25 = var$24 + 0.5;
    while ($var31 < 8) {
        $var62 = $var27[$var31];
        $var62.$zCoord = $var62.$zCoord + 0.0625;
        if ($var9) {
            nms_Vec3_rotateAroundX($var27[$var31], 0.5235987901687622);
            $var62 = $var27[$var31];
            $var62.$yCoord = $var62.$yCoord - 0.4375;
        } else if (!$var8) {
            nms_Vec3_rotateAroundX($var27[$var31], (-0.6981317400932312));
            $var62 = $var27[$var31];
            $var62.$yCoord = $var62.$yCoord - 0.375;
        } else {
            nms_Vec3_rotateAroundX($var27[$var31], 0.0872664675116539);
            $var62 = $var27[$var31];
            $var62.$yCoord = $var62.$yCoord - 0.4375;
        }
        nms_Vec3_rotateAroundX($var27[$var31], 1.5707963705062866);
        if (!$var6)
            nms_Vec3_rotateAroundY($var27[$var31], 0.0);
        if (!$var7)
            nms_Vec3_rotateAroundY($var27[$var31], 3.1415927410125732);
        if (!$var11)
            nms_Vec3_rotateAroundY($var27[$var31], 1.5707963705062866);
        if (!$var46)
            nms_Vec3_rotateAroundY($var27[$var31], (-1.5707963705062866));
        $var62 = $var27[$var31];
        $var62.$xCoord = $var62.$xCoord + var$22;
        $var62 = $var27[$var31];
        $var62.$yCoord = $var62.$yCoord + $var52;
        $var62 = $var27[$var31];
        $var62.$zCoord = $var62.$zCoord + var$25;
        $var31 = $var31 + 1 | 0;
    }
    $var62 = null;
    $var32 = null;
    $var33 = null;
    $var34 = null;
    $var39 = 0;
    while ($var39 < 6) {
        if (!$var39) {
            $var62 = $var27[0];
            $var32 = $var27[1];
            $var33 = $var27[2];
            $var34 = $var27[3];
            $var19 = $var18.$getInterpolatedU(7.0);
            $var21 = $var18.$getInterpolatedV(9.0);
            $var23 = $var18.$getInterpolatedU(9.0);
            $var25 = $var18.$getInterpolatedV(11.0);
        } else if ($var39 == 1) {
            $var62 = $var27[7];
            $var32 = $var27[6];
            $var33 = $var27[5];
            $var34 = $var27[4];
        } else if ($var39 == 2) {
            $var62 = $var27[1];
            $var32 = $var27[0];
            $var33 = $var27[4];
            $var34 = $var27[5];
            $var19 = $var18.$getInterpolatedU(7.0);
            $var21 = $var18.$getInterpolatedV(9.0);
            $var23 = $var18.$getInterpolatedU(9.0);
            $var25 = $var18.$getInterpolatedV(16.0);
        } else if ($var39 == 3) {
            $var62 = $var27[2];
            $var32 = $var27[1];
            $var33 = $var27[5];
            $var34 = $var27[6];
        } else if ($var39 == 4) {
            $var62 = $var27[3];
            $var32 = $var27[2];
            $var33 = $var27[6];
            $var34 = $var27[7];
        } else if ($var39 == 5) {
            $var62 = $var27[0];
            $var32 = $var27[3];
            $var33 = $var27[7];
            $var34 = $var27[4];
        }
        nlea_Tessellator_addVertexWithUV($var5, $var62.$xCoord, $var62.$yCoord, $var62.$zCoord, $var19, $var25);
        nlea_Tessellator_addVertexWithUV($var5, $var32.$xCoord, $var32.$yCoord, $var32.$zCoord, $var23, $var25);
        nlea_Tessellator_addVertexWithUV($var5, $var33.$xCoord, $var33.$yCoord, $var33.$zCoord, $var23, $var21);
        nlea_Tessellator_addVertexWithUV($var5, $var34.$xCoord, $var34.$yCoord, $var34.$zCoord, $var19, $var21);
        $var39 = $var39 + 1 | 0;
    }
    $var27[0] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.09375), 0.0, (-0.09375));
    $var27[1] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.09375, 0.0, (-0.09375));
    $var27[2] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.09375, 0.0, 0.09375);
    $var27[3] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.09375), 0.0, 0.09375);
    $var27[4] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.09375), 0.03125, (-0.09375));
    $var27[5] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.09375, 0.03125, (-0.09375));
    $var27[6] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), 0.09375, 0.03125, 0.09375);
    $var27[7] = nms_Vec3Pool_getVecFromPool($this.$blockAccess.$getWorldVec3Pool(), (-0.09375), 0.03125, 0.09375);
    $var42 = 0;
    while ($var42 < 8) {
        var$32 = $var27[$var42];
        var$32.$zCoord = var$32.$zCoord + 0.21875;
        if ($var9) {
            var$32 = $var27[$var42];
            var$32.$yCoord = var$32.$yCoord - 0.09375;
            var$32 = $var27[$var42];
            var$32.$zCoord = var$32.$zCoord - 0.1625;
            nms_Vec3_rotateAroundX($var27[$var42], 0.0);
        } else if (!$var8)
            nms_Vec3_rotateAroundX($var27[$var42], 0.8726646304130554);
        else {
            var$32 = $var27[$var42];
            var$32.$yCoord = var$32.$yCoord + 0.015625;
            var$32 = $var27[$var42];
            var$32.$zCoord = var$32.$zCoord - 0.171875;
            nms_Vec3_rotateAroundX($var27[$var42], 0.1745329350233078);
        }
        if (!$var6)
            nms_Vec3_rotateAroundY($var27[$var42], 0.0);
        if (!$var7)
            nms_Vec3_rotateAroundY($var27[$var42], 3.1415927410125732);
        if (!$var11)
            nms_Vec3_rotateAroundY($var27[$var42], 1.5707963705062866);
        if (!$var46)
            nms_Vec3_rotateAroundY($var27[$var42], (-1.5707963705062866));
        var$32 = $var27[$var42];
        var$32.$xCoord = var$32.$xCoord + var$22;
        var$32 = $var27[$var42];
        var$32.$yCoord = var$32.$yCoord + $var52;
        var$32 = $var27[$var42];
        var$32.$zCoord = var$32.$zCoord + var$25;
        $var42 = $var42 + 1 | 0;
    }
    $var46 = 0;
    while ($var46 < 6) {
        if (!$var46) {
            $var62 = $var27[0];
            $var32 = $var27[1];
            $var33 = $var27[2];
            $var34 = $var27[3];
            $var19 = $var18.$getInterpolatedU(5.0);
            $var21 = $var18.$getInterpolatedV(3.0);
            $var23 = $var18.$getInterpolatedU(11.0);
            $var25 = $var18.$getInterpolatedV(9.0);
        } else if ($var46 == 1) {
            $var62 = $var27[7];
            $var32 = $var27[6];
            $var33 = $var27[5];
            $var34 = $var27[4];
        } else if ($var46 == 2) {
            $var62 = $var27[1];
            $var32 = $var27[0];
            $var33 = $var27[4];
            $var34 = $var27[5];
            $var19 = $var18.$getInterpolatedU(5.0);
            $var21 = $var18.$getInterpolatedV(3.0);
            $var23 = $var18.$getInterpolatedU(11.0);
            $var25 = $var18.$getInterpolatedV(5.0);
        } else if ($var46 == 3) {
            $var62 = $var27[2];
            $var32 = $var27[1];
            $var33 = $var27[5];
            $var34 = $var27[6];
        } else if ($var46 == 4) {
            $var62 = $var27[3];
            $var32 = $var27[2];
            $var33 = $var27[6];
            $var34 = $var27[7];
        } else if ($var46 == 5) {
            $var62 = $var27[0];
            $var32 = $var27[3];
            $var33 = $var27[7];
            $var34 = $var27[4];
        }
        nlea_Tessellator_addVertexWithUV($var5, $var62.$xCoord, $var62.$yCoord, $var62.$zCoord, $var19, $var25);
        nlea_Tessellator_addVertexWithUV($var5, $var32.$xCoord, $var32.$yCoord, $var32.$zCoord, $var23, $var25);
        nlea_Tessellator_addVertexWithUV($var5, $var33.$xCoord, $var33.$yCoord, $var33.$zCoord, $var23, $var21);
        nlea_Tessellator_addVertexWithUV($var5, $var34.$xCoord, $var34.$yCoord, $var34.$zCoord, $var19, $var21);
        $var46 = $var46 + 1 | 0;
    }
    if ($var8) {
        $var65 = $var27[0].$yCoord;
        nms_RenderBlocks_getBlockIcon0($this, nms_Block_tripWire);
        $var52 = $var18.$getMinU();
        $var54 = $var18.$getInterpolatedV(!$var8 ? 0.0 : 2.0);
        $var56 = $var18.$getMaxU();
        $var58 = $var18.$getInterpolatedV(!$var8 ? 2.0 : 4.0);
        $var60 = (!$var10 ? 1.5 : 3.5) / 16.0;
        $var17 = $par1Block.$getBlockBrightness($this.$blockAccess, $par2, $par3, $par4) * 0.75;
        nlea_Tessellator_setColorOpaque_F($var5, $var17, $var17, $var17);
        if (!$var6) {
            $var17 = $par2;
            var$38 = $var17 + 0.484375;
            var$39 = $par3 + $var60;
            var$21 = var$24 + 0.25;
            nlea_Tessellator_addVertexWithUV($var5, var$38, var$39, var$21, $var52, $var54);
            var$22 = $var17 + 0.515625;
            nlea_Tessellator_addVertexWithUV($var5, var$22, var$39, var$21, $var52, $var58);
            nlea_Tessellator_addVertexWithUV($var5, var$22, var$39, var$24, $var56, $var58);
            nlea_Tessellator_addVertexWithUV($var5, var$38, var$39, var$24, $var56, $var54);
            nlea_Tessellator_addVertexWithUV($var5, var$38, $var65, var$25, $var52, $var54);
            nlea_Tessellator_addVertexWithUV($var5, var$22, $var65, var$25, $var52, $var58);
            nlea_Tessellator_addVertexWithUV($var5, var$22, var$39, var$21, $var56, $var58);
            nlea_Tessellator_addVertexWithUV($var5, var$38, var$39, var$21, $var56, $var54);
        } else if (!$var7) {
            $var17 = $par2;
            var$38 = $var17 + 0.484375;
            var$39 = $par3 + $var60;
            var$21 = var$24 + 0.75;
            nlea_Tessellator_addVertexWithUV($var5, var$38, var$39, var$21, $var52, $var54);
            var$22 = $var17 + 0.515625;
            nlea_Tessellator_addVertexWithUV($var5, var$22, var$39, var$21, $var52, $var58);
            nlea_Tessellator_addVertexWithUV($var5, var$22, $var65, var$25, $var56, $var58);
            nlea_Tessellator_addVertexWithUV($var5, var$38, $var65, var$25, $var56, $var54);
            $var65 = $par4 + 1 | 0;
            nlea_Tessellator_addVertexWithUV($var5, var$38, var$39, $var65, $var52, $var54);
            nlea_Tessellator_addVertexWithUV($var5, var$22, var$39, $var65, $var52, $var58);
            nlea_Tessellator_addVertexWithUV($var5, var$22, var$39, var$21, $var56, $var58);
            nlea_Tessellator_addVertexWithUV($var5, var$38, var$39, var$21, $var56, $var54);
        } else if (!$var11) {
            var$24 = $par3 + $var60;
            $var17 = $par4;
            var$25 = $var17 + 0.515625;
            nlea_Tessellator_addVertexWithUV($var5, var$21, var$24, var$25, $var52, $var58);
            var$38 = var$21 + 0.25;
            nlea_Tessellator_addVertexWithUV($var5, var$38, var$24, var$25, $var56, $var58);
            var$39 = $var17 + 0.484375;
            nlea_Tessellator_addVertexWithUV($var5, var$38, var$24, var$39, $var56, $var54);
            nlea_Tessellator_addVertexWithUV($var5, var$21, var$24, var$39, $var52, $var54);
            nlea_Tessellator_addVertexWithUV($var5, var$38, var$24, var$25, $var52, $var58);
            nlea_Tessellator_addVertexWithUV($var5, var$22, $var65, var$25, $var56, $var58);
            nlea_Tessellator_addVertexWithUV($var5, var$22, $var65, var$39, $var56, $var54);
            nlea_Tessellator_addVertexWithUV($var5, var$38, var$24, var$39, $var52, $var54);
        } else {
            $var17 = $par4;
            var$38 = $var17 + 0.515625;
            nlea_Tessellator_addVertexWithUV($var5, var$22, $var65, var$38, $var52, $var58);
            var$39 = var$21 + 0.75;
            var$21 = $par3 + $var60;
            nlea_Tessellator_addVertexWithUV($var5, var$39, var$21, var$38, $var56, $var58);
            var$24 = $var17 + 0.484375;
            nlea_Tessellator_addVertexWithUV($var5, var$39, var$21, var$24, $var56, $var54);
            nlea_Tessellator_addVertexWithUV($var5, var$22, $var65, var$24, $var52, $var54);
            nlea_Tessellator_addVertexWithUV($var5, var$39, var$21, var$38, $var52, $var58);
            $var65 = $par2 + 1 | 0;
            nlea_Tessellator_addVertexWithUV($var5, $var65, var$21, var$38, $var56, $var58);
            nlea_Tessellator_addVertexWithUV($var5, $var65, var$21, var$24, $var56, $var54);
            nlea_Tessellator_addVertexWithUV($var5, var$39, var$21, var$24, $var52, $var54);
        }
    }
    return 1;
}
function nms_RenderBlocks_renderBlockTripWire($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var13, $var15, $var17, $var19, $var21, $var22, $var23, $var24, var$20, var$21, var$22, var$23, var$24, var$25;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $var6 = nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0);
    $var7 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var8 = ($var7 & 4) != 4 ? 0 : 1;
    $var9 = ($var7 & 2) != 2 ? 0 : 1;
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var6 = $this.$overrideBlockTexture;
    nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
    $var10 = $par1Block.$getBlockBrightness($this.$blockAccess, $par2, $par3, $par4) * 0.75;
    nlea_Tessellator_setColorOpaque_F($var5, $var10, $var10, $var10);
    $var11 = $var6.$getMinU();
    $var13 = $var6.$getInterpolatedV(!$var8 ? 0.0 : 2.0);
    $var15 = $var6.$getMaxU();
    $var17 = $var6.$getInterpolatedV(!$var8 ? 2.0 : 4.0);
    $var19 = (!$var9 ? 1.5 : 3.5) / 16.0;
    $var21 = nms_BlockTripWire_func_72148_a($this.$blockAccess, $par2, $par3, $par4, $var7, 1);
    $var22 = nms_BlockTripWire_func_72148_a($this.$blockAccess, $par2, $par3, $par4, $var7, 3);
    $var23 = nms_BlockTripWire_func_72148_a($this.$blockAccess, $par2, $par3, $par4, $var7, 2);
    $var24 = nms_BlockTripWire_func_72148_a($this.$blockAccess, $par2, $par3, $par4, $var7, 0);
    if (!$var23 && !$var22 && !$var24 && !$var21) {
        $var23 = 1;
        $var24 = 1;
    }
    if ($var23) {
        $var10 = $par2;
        var$20 = $var10 + 0.484375;
        var$21 = $par3 + $var19;
        var$22 = $par4;
        var$23 = var$22 + 0.25;
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$23, $var11, $var13);
        var$24 = $var10 + 0.515625;
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$23, $var11, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$22, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$22, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$22, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$22, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$23, $var11, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$23, $var11, $var13);
    }
    a: {
        if (!$var23) {
            if (!$var24)
                break a;
            if ($var22)
                break a;
            if ($var21)
                break a;
        }
        $var10 = $par2;
        var$21 = $var10 + 0.484375;
        var$22 = $par3 + $var19;
        var$23 = $par4;
        var$24 = var$23 + 0.5;
        nlea_Tessellator_addVertexWithUV($var5, var$21, var$22, var$24, $var11, $var13);
        var$25 = $var10 + 0.515625;
        nlea_Tessellator_addVertexWithUV($var5, var$25, var$22, var$24, $var11, $var17);
        var$20 = var$23 + 0.25;
        nlea_Tessellator_addVertexWithUV($var5, var$25, var$22, var$20, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$21, var$22, var$20, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$21, var$22, var$20, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$25, var$22, var$20, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$25, var$22, var$24, $var11, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$21, var$22, var$24, $var11, $var13);
    }
    b: {
        if (!$var24) {
            if (!$var23)
                break b;
            if ($var22)
                break b;
            if ($var21)
                break b;
        }
        $var10 = $par2;
        var$20 = $var10 + 0.484375;
        var$21 = $par3 + $var19;
        var$22 = $par4;
        var$23 = var$22 + 0.75;
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$23, $var11, $var13);
        var$24 = $var10 + 0.515625;
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$23, $var11, $var17);
        var$22 = var$22 + 0.5;
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$22, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$22, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$22, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$22, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$23, $var11, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$23, $var11, $var13);
    }
    if ($var24) {
        $var10 = $par2;
        var$20 = $var10 + 0.484375;
        var$21 = $par3 + $var19;
        var$22 = $par4 + 1 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$22, $var11, $var13);
        var$23 = $var10 + 0.515625;
        nlea_Tessellator_addVertexWithUV($var5, var$23, var$21, var$22, $var11, $var17);
        var$24 = $par4 + 0.75;
        nlea_Tessellator_addVertexWithUV($var5, var$23, var$21, var$24, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$24, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$24, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$23, var$21, var$24, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$23, var$21, var$22, $var11, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$22, $var11, $var13);
    }
    if ($var21) {
        var$20 = $par2;
        var$21 = $par3 + $var19;
        $var10 = $par4;
        var$22 = $var10 + 0.515625;
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$22, $var11, $var17);
        var$24 = var$20 + 0.25;
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$22, $var15, $var17);
        var$23 = $var10 + 0.484375;
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$23, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$23, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$23, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$23, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$21, var$22, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$22, $var11, $var17);
    }
    c: {
        if (!$var21) {
            if (!$var22)
                break c;
            if ($var23)
                break c;
            if ($var24)
                break c;
        }
        var$20 = $par2;
        var$21 = var$20 + 0.25;
        var$22 = $par3 + $var19;
        $var10 = $par4;
        var$23 = $var10 + 0.515625;
        nlea_Tessellator_addVertexWithUV($var5, var$21, var$22, var$23, $var11, $var17);
        var$20 = var$20 + 0.5;
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$22, var$23, $var15, $var17);
        var$24 = $var10 + 0.484375;
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$22, var$24, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$21, var$22, var$24, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$21, var$22, var$24, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$22, var$24, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$22, var$23, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$21, var$22, var$23, $var11, $var17);
    }
    d: {
        if (!$var22) {
            if (!$var21)
                break d;
            if ($var23)
                break d;
            if ($var24)
                break d;
        }
        var$23 = $par2;
        var$24 = var$23 + 0.5;
        var$20 = $par3 + $var19;
        $var10 = $par4;
        var$21 = $var10 + 0.515625;
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$20, var$21, $var11, $var17);
        var$22 = var$23 + 0.75;
        nlea_Tessellator_addVertexWithUV($var5, var$22, var$20, var$21, $var15, $var17);
        var$23 = $var10 + 0.484375;
        nlea_Tessellator_addVertexWithUV($var5, var$22, var$20, var$23, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$20, var$23, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$20, var$23, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$22, var$20, var$23, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$22, var$20, var$21, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$24, var$20, var$21, $var11, $var17);
    }
    if ($var22) {
        var$20 = $par2 + 0.75;
        var$21 = $par3 + $var19;
        $var10 = $par4;
        var$22 = $var10 + 0.515625;
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$22, $var11, $var17);
        var$23 = $par2 + 1 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$23, var$21, var$22, $var15, $var17);
        $var19 = $var10 + 0.484375;
        nlea_Tessellator_addVertexWithUV($var5, var$23, var$21, $var19, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, $var19, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, $var19, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$23, var$21, $var19, $var15, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$23, var$21, var$22, $var15, $var17);
        nlea_Tessellator_addVertexWithUV($var5, var$20, var$21, var$22, $var11, $var17);
    }
    return 1;
}
function nms_RenderBlocks_renderBlockFire($this, $par1BlockFire, $par2, $par3, $par4) {
    var $var5, $var6, $var7, var$8, $var9, $var11, $var13, $var15, var$13, $var20, $var22, $var24, $var26, $var28, $var30, var$20, var$21, $var32, var$23, $var18, $var20_0, var$26, var$27, var$28, var$29, var$30, var$31;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $var6 = nms_BlockFire_func_94438_c($par1BlockFire, 0);
    $var7 = nms_BlockFire_func_94438_c($par1BlockFire, 1);
    var$8 = nms_RenderBlocks_hasOverrideBlockTexture($this) ? $this.$overrideBlockTexture : $var6;
    nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
    nlea_Tessellator_setBrightness($var5, nms_Block_getMixedBrightnessForBlock($par1BlockFire, $this.$blockAccess, $par2, $par3, $par4));
    $var9 = var$8.$getMinU();
    $var11 = var$8.$getMinV();
    $var13 = var$8.$getMaxU();
    $var15 = var$8.$getMaxV();
    $par1BlockFire = $this.$blockAccess;
    var$13 = $par3 - 1 | 0;
    if (!$par1BlockFire.$doesBlockHaveSolidTopSurface($par2, var$13, $par4) && !nms_BlockFire_canBlockCatchFire(nms_Block_fire, $this.$blockAccess, $par2, var$13, $par4)) {
        if (((($par2 + $par3 | 0) + $par4 | 0) & 1) == 1) {
            $var9 = $var7.$getMinU();
            $var11 = $var7.$getMinV();
            $var13 = $var7.$getMaxU();
            $var15 = $var7.$getMaxV();
        }
        if ((((($par2 / 2 | 0) + ($par3 / 2 | 0) | 0) + ($par4 / 2 | 0) | 0) & 1) != 1) {
            $var20 = $var9;
            $var9 = $var13;
            $var13 = $var20;
        }
        if (nms_BlockFire_canBlockCatchFire(nms_Block_fire, $this.$blockAccess, $par2 - 1 | 0, $par3, $par4)) {
            $var20 = $par2 + 0.20000000298023224;
            $var22 = $par3 + 1.399999976158142 + 0.0625;
            $var24 = $par4 + 1 | 0;
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var24, $var9, $var11);
            $var26 = $par2 + 0 | 0;
            $var28 = ($par3 + 0 | 0) + 0.0625;
            nlea_Tessellator_addVertexWithUV($var5, $var26, $var28, $var24, $var9, $var15);
            $var30 = $par4 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var5, $var26, $var28, $var30, $var13, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var30, $var13, $var11);
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var30, $var13, $var11);
            nlea_Tessellator_addVertexWithUV($var5, $var26, $var28, $var30, $var13, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var26, $var28, $var24, $var9, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var24, $var9, $var11);
        }
        $par1BlockFire = nms_Block_fire;
        var$20 = $this.$blockAccess;
        var$13 = $par2 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire($par1BlockFire, var$20, var$13, $par3, $par4)) {
            $var20 = var$13 - 0.20000000298023224;
            $var22 = $par3 + 1.399999976158142 + 0.0625;
            $var24 = $par4 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var24, $var13, $var11);
            $var26 = var$13 - 0 | 0;
            $var28 = ($par3 + 0 | 0) + 0.0625;
            nlea_Tessellator_addVertexWithUV($var5, $var26, $var28, $var24, $var13, $var15);
            $var30 = $par4 + 1 | 0;
            nlea_Tessellator_addVertexWithUV($var5, $var26, $var28, $var30, $var9, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var30, $var9, $var11);
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var30, $var9, $var11);
            nlea_Tessellator_addVertexWithUV($var5, $var26, $var28, $var30, $var9, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var26, $var28, $var24, $var13, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var24, $var13, $var11);
        }
        if (nms_BlockFire_canBlockCatchFire(nms_Block_fire, $this.$blockAccess, $par2, $par3, $par4 - 1 | 0)) {
            $var20 = $par2 + 0 | 0;
            $var22 = $par3 + 1.399999976158142 + 0.0625;
            $var24 = $par4 + 0.20000000298023224;
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var24, $var9, $var11);
            $var26 = ($par3 + 0 | 0) + 0.0625;
            $var28 = $par4 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var26, $var28, $var9, $var15);
            $var30 = var$13;
            nlea_Tessellator_addVertexWithUV($var5, $var30, $var26, $var28, $var13, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var30, $var22, $var24, $var13, $var11);
            nlea_Tessellator_addVertexWithUV($var5, $var30, $var22, $var24, $var13, $var11);
            nlea_Tessellator_addVertexWithUV($var5, $var30, $var26, $var28, $var13, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var26, $var28, $var9, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var24, $var9, $var11);
        }
        $par1BlockFire = nms_Block_fire;
        var$20 = $this.$blockAccess;
        var$21 = $par4 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire($par1BlockFire, var$20, $par2, $par3, var$21)) {
            $var20 = var$13;
            $var22 = $par3 + 1.399999976158142 + 0.0625;
            $var24 = var$21 - 0.20000000298023224;
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var24, $var13, $var11);
            $var26 = ($par3 + 0 | 0) + 0.0625;
            $var28 = var$21 - 0 | 0;
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var26, $var28, $var13, $var15);
            $var30 = $par2 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var5, $var30, $var26, $var28, $var9, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var30, $var22, $var24, $var9, $var11);
            nlea_Tessellator_addVertexWithUV($var5, $var30, $var22, $var24, $var9, $var11);
            nlea_Tessellator_addVertexWithUV($var5, $var30, $var26, $var28, $var9, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var26, $var28, $var13, $var15);
            nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var24, $var13, $var11);
        }
        $par1BlockFire = nms_Block_fire;
        var$20 = $this.$blockAccess;
        $par3 = $par3 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire($par1BlockFire, var$20, $par2, $par3, $par4)) {
            $var9 = $par2 + 0.5;
            $var20 = $var9 + 0.5;
            $var22 = $var9 - 0.5;
            $var9 = $par4 + 0.5;
            $var24 = $var9 + 0.5;
            $var26 = $var9 - 0.5;
            $var11 = $var6.$getMinU();
            $var9 = $var6.$getMinV();
            $var13 = $var6.$getMaxU();
            $var28 = $var6.$getMaxV();
            if ((($par2 + $par3 | 0) + $par4 | 0) & 1) {
                $var20 = $par2 + 0 | 0;
                $var22 = $par3 + (-0.20000000298023224);
                nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var24, $var13, $var9);
                $var30 = $par3 + 0 | 0;
                nlea_Tessellator_addVertexWithUV($var5, $var20, $var30, $var26, $var13, $var28);
                $var13 = var$13;
                nlea_Tessellator_addVertexWithUV($var5, $var13, $var30, $var26, $var11, $var28);
                nlea_Tessellator_addVertexWithUV($var5, $var13, $var22, $var24, $var11, $var9);
                $var9 = $var7.$getMinU();
                $var11 = $var7.$getMinV();
                $var28 = $var7.$getMaxU();
                $var32 = $var7.$getMaxV();
                nlea_Tessellator_addVertexWithUV($var5, $var13, $var22, $var26, $var28, $var11);
                nlea_Tessellator_addVertexWithUV($var5, $var13, $var30, $var24, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var5, $var20, $var30, $var24, $var9, $var32);
                nlea_Tessellator_addVertexWithUV($var5, $var20, $var22, $var26, $var9, $var11);
            } else {
                $var24 = $par3 + (-0.20000000298023224);
                $var26 = $par4 + 0 | 0;
                nlea_Tessellator_addVertexWithUV($var5, $var22, $var24, $var26, $var13, $var9);
                $var30 = $par3 + 0 | 0;
                nlea_Tessellator_addVertexWithUV($var5, $var20, $var30, $var26, $var13, $var28);
                $var13 = var$21;
                nlea_Tessellator_addVertexWithUV($var5, $var20, $var30, $var13, $var11, $var28);
                nlea_Tessellator_addVertexWithUV($var5, $var22, $var24, $var13, $var11, $var9);
                $var9 = $var7.$getMinU();
                $var11 = $var7.$getMinV();
                $var28 = $var7.$getMaxU();
                $var32 = $var7.$getMaxV();
                nlea_Tessellator_addVertexWithUV($var5, $var20, $var24, $var13, $var28, $var11);
                nlea_Tessellator_addVertexWithUV($var5, $var22, $var30, $var13, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var5, $var22, $var30, $var26, $var9, $var32);
                nlea_Tessellator_addVertexWithUV($var5, $var20, $var24, $var26, $var9, $var11);
            }
        }
    } else {
        var$23 = $par2 + 0.5;
        $var18 = var$23 + 0.2;
        $var20_0 = var$23 - 0.2;
        $var20 = $par4 + 0.5;
        $var22 = $var20 + 0.2;
        $var24 = $var20 - 0.2;
        $var26 = var$23 - 0.3;
        $var28 = var$23 + 0.3;
        $var30 = $var20 - 0.3;
        $var32 = $var20 + 0.3;
        var$26 = $par3 + 1.399999976158142;
        var$27 = $par4 + 1 | 0;
        nlea_Tessellator_addVertexWithUV($var5, $var26, var$26, var$27, $var13, $var11);
        var$28 = $par3 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, $var18, var$28, var$27, $var13, $var15);
        var$29 = $par4 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, $var18, var$28, var$29, $var9, $var15);
        nlea_Tessellator_addVertexWithUV($var5, $var26, var$26, var$29, $var9, $var11);
        nlea_Tessellator_addVertexWithUV($var5, $var28, var$26, var$29, $var13, $var11);
        nlea_Tessellator_addVertexWithUV($var5, $var20_0, var$28, var$29, $var13, $var15);
        nlea_Tessellator_addVertexWithUV($var5, $var20_0, var$28, var$27, $var9, $var15);
        nlea_Tessellator_addVertexWithUV($var5, $var28, var$26, var$27, $var9, $var11);
        $var18 = $var7.$getMinU();
        $var20_0 = $var7.$getMinV();
        var$30 = $var7.$getMaxU();
        var$31 = $var7.$getMaxV();
        $var15 = $par2 + 1 | 0;
        nlea_Tessellator_addVertexWithUV($var5, $var15, var$26, $var32, var$30, $var20_0);
        nlea_Tessellator_addVertexWithUV($var5, $var15, var$28, $var24, var$30, var$31);
        $var9 = $par2 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, $var9, var$28, $var24, $var18, var$31);
        nlea_Tessellator_addVertexWithUV($var5, $var9, var$26, $var32, $var18, $var20_0);
        nlea_Tessellator_addVertexWithUV($var5, $var9, var$26, $var30, var$30, $var20_0);
        nlea_Tessellator_addVertexWithUV($var5, $var9, var$28, $var22, var$30, var$31);
        nlea_Tessellator_addVertexWithUV($var5, $var15, var$28, $var22, $var18, var$31);
        nlea_Tessellator_addVertexWithUV($var5, $var15, var$26, $var30, $var18, $var20_0);
        $var11 = var$23 - 0.5;
        $var13 = var$23 + 0.5;
        $var22 = $var20 - 0.5;
        $var24 = $var20 + 0.5;
        $var26 = var$23 - 0.4;
        $var28 = var$23 + 0.4;
        $var30 = $var20 - 0.4;
        $var20 = $var20 + 0.4;
        nlea_Tessellator_addVertexWithUV($var5, $var26, var$26, var$29, $var18, $var20_0);
        nlea_Tessellator_addVertexWithUV($var5, $var11, var$28, var$29, $var18, var$31);
        nlea_Tessellator_addVertexWithUV($var5, $var11, var$28, var$27, var$30, var$31);
        nlea_Tessellator_addVertexWithUV($var5, $var26, var$26, var$27, var$30, $var20_0);
        nlea_Tessellator_addVertexWithUV($var5, $var28, var$26, var$27, $var18, $var20_0);
        nlea_Tessellator_addVertexWithUV($var5, $var13, var$28, var$27, $var18, var$31);
        nlea_Tessellator_addVertexWithUV($var5, $var13, var$28, var$29, var$30, var$31);
        nlea_Tessellator_addVertexWithUV($var5, $var28, var$26, var$29, var$30, $var20_0);
        $var11 = $var6.$getMinU();
        $var13 = $var6.$getMinV();
        $var26 = $var6.$getMaxU();
        $var28 = $var6.$getMaxV();
        nlea_Tessellator_addVertexWithUV($var5, $var9, var$26, $var20, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, $var9, var$28, $var24, $var11, $var28);
        nlea_Tessellator_addVertexWithUV($var5, $var15, var$28, $var24, $var26, $var28);
        nlea_Tessellator_addVertexWithUV($var5, $var15, var$26, $var20, $var26, $var13);
        nlea_Tessellator_addVertexWithUV($var5, $var15, var$26, $var30, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, $var15, var$28, $var22, $var11, $var28);
        nlea_Tessellator_addVertexWithUV($var5, $var9, var$28, $var22, $var26, $var28);
        nlea_Tessellator_addVertexWithUV($var5, $var9, var$26, $var30, $var26, $var13);
    }
    return 1;
}
function nms_RenderBlocks_renderBlockRedstoneWire($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var12, $var13, $var26, $var14, $var15, var$16, $var20, var$18, $var21, var$20, $var22, var$22, $var23, var$24, var$25, $var24, $var25, var$28, $var27, $var28, var$31, var$32, var$33, var$34, var$35, $var29, $var30, $var31, $var32, var$40, var$41, var$42, var$43, var$44, var$45;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $var6 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var7 = nms_BlockRedstoneWire_func_94409_b($rt_s(960));
    $var8 = nms_BlockRedstoneWire_func_94409_b($rt_s(961));
    $var9 = nms_BlockRedstoneWire_func_94409_b($rt_s(962));
    $var10 = nms_BlockRedstoneWire_func_94409_b($rt_s(963));
    nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
    $var12 = $var6 / 15.0;
    $var13 = $var12 * 0.6000000238418579 + 0.4000000059604645;
    if (!$var6)
        $var13 = 0.30000001192092896;
    $var26 = $var12 * $var12;
    $var14 = $var26 * 0.699999988079071 - 0.5;
    $var15 = $var26 * 0.6000000238418579 - 0.699999988079071;
    if ($var14 < 0.0)
        $var14 = 0.0;
    if ($var15 < 0.0)
        $var15 = 0.0;
    nlea_Tessellator_setColorOpaque_F($var5, $var13, $var14, $var15);
    $par1Block = $this.$blockAccess;
    var$16 = $par2 - 1 | 0;
    $var20 = !nms_BlockRedstoneWire_isPowerProviderOrWire($par1Block, var$16, $par3, $par4, 1) && !(!$this.$blockAccess.$isBlockNormalCube(var$16, $par3, $par4) && nms_BlockRedstoneWire_isPowerProviderOrWire($this.$blockAccess, var$16, $par3 - 1 | 0, $par4, (-1))) ? 0 : 1;
    $par1Block = $this.$blockAccess;
    var$18 = $par2 + 1 | 0;
    $var21 = !nms_BlockRedstoneWire_isPowerProviderOrWire($par1Block, var$18, $par3, $par4, 3) && !(!$this.$blockAccess.$isBlockNormalCube(var$18, $par3, $par4) && nms_BlockRedstoneWire_isPowerProviderOrWire($this.$blockAccess, var$18, $par3 - 1 | 0, $par4, (-1))) ? 0 : 1;
    a: {
        b: {
            $par1Block = $this.$blockAccess;
            var$20 = $par4 - 1 | 0;
            if (!nms_BlockRedstoneWire_isPowerProviderOrWire($par1Block, $par2, $par3, var$20, 2)) {
                if ($this.$blockAccess.$isBlockNormalCube($par2, $par3, var$20))
                    break b;
                if (!nms_BlockRedstoneWire_isPowerProviderOrWire($this.$blockAccess, $par2, $par3 - 1 | 0, var$20, (-1)))
                    break b;
            }
            $var22 = 1;
            break a;
        }
        $var22 = 0;
    }
    c: {
        d: {
            $par1Block = $this.$blockAccess;
            var$22 = $par4 + 1 | 0;
            if (!nms_BlockRedstoneWire_isPowerProviderOrWire($par1Block, $par2, $par3, var$22, 0)) {
                if ($this.$blockAccess.$isBlockNormalCube($par2, $par3, var$22))
                    break d;
                if (!nms_BlockRedstoneWire_isPowerProviderOrWire($this.$blockAccess, $par2, $par3 - 1 | 0, var$22, (-1)))
                    break d;
            }
            $var23 = 1;
            break c;
        }
        $var23 = 0;
    }
    $par1Block = $this.$blockAccess;
    var$24 = $par3 + 1 | 0;
    if (!$par1Block.$isBlockNormalCube($par2, var$24, $par4)) {
        if ($this.$blockAccess.$isBlockNormalCube(var$16, $par3, $par4) && nms_BlockRedstoneWire_isPowerProviderOrWire($this.$blockAccess, var$16, var$24, $par4, (-1)))
            $var20 = 1;
        if ($this.$blockAccess.$isBlockNormalCube(var$18, $par3, $par4) && nms_BlockRedstoneWire_isPowerProviderOrWire($this.$blockAccess, var$18, var$24, $par4, (-1)))
            $var21 = 1;
        if ($this.$blockAccess.$isBlockNormalCube($par2, $par3, var$20) && nms_BlockRedstoneWire_isPowerProviderOrWire($this.$blockAccess, $par2, var$24, var$20, (-1)))
            $var22 = 1;
        if ($this.$blockAccess.$isBlockNormalCube($par2, $par3, var$22) && nms_BlockRedstoneWire_isPowerProviderOrWire($this.$blockAccess, $par2, var$24, var$22, (-1)))
            $var23 = 1;
    }
    var$25 = $par2 + 0 | 0;
    $var24 = var$25;
    $var25 = var$18;
    var$28 = $par4 + 0 | 0;
    $var26 = var$28;
    $var27 = var$22;
    $var28 = 0;
    if (!(!$var20 && !$var21) && !$var22 && !$var23)
        $var28 = 1;
    if (!(!$var22 && !$var23) && !$var21 && !$var20)
        $var28 = 2;
    if ($var28) {
        if ($var28 != 1) {
            var$31 = $var25;
            var$32 = $par3 + 0.015625;
            var$33 = $var27;
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$33, $var8.$getMaxU(), $var8.$getMaxV());
            var$34 = $var26;
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$34, $var8.$getMinU(), $var8.$getMaxV());
            var$35 = $var24;
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$32, var$34, $var8.$getMinU(), $var8.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$32, var$33, $var8.$getMaxU(), $var8.$getMinV());
            nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$33, $var10.$getMaxU(), $var10.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$34, $var10.$getMinU(), $var10.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$32, var$34, $var10.$getMinU(), $var10.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$32, var$33, $var10.$getMaxU(), $var10.$getMinV());
        } else {
            var$31 = $var25;
            var$32 = $par3 + 0.015625;
            var$33 = $var27;
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$33, $var8.$getMaxU(), $var8.$getMaxV());
            var$34 = $var26;
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$34, $var8.$getMaxU(), $var8.$getMinV());
            var$35 = $var24;
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$32, var$34, $var8.$getMinU(), $var8.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$32, var$33, $var8.$getMinU(), $var8.$getMaxV());
            nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$33, $var10.$getMaxU(), $var10.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$34, $var10.$getMaxU(), $var10.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$32, var$34, $var10.$getMinU(), $var10.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$32, var$33, $var10.$getMinU(), $var10.$getMaxV());
        }
    } else {
        $var29 = 0;
        $var30 = 0;
        $var31 = 16;
        $var32 = 16;
        if (!$var20)
            $var24 = $var24 + 0.3125;
        if (!$var20)
            $var29 = 5;
        if (!$var21)
            $var25 = $var25 - 0.3125;
        if (!$var21)
            $var31 = 11;
        if (!$var22)
            $var26 = $var26 + 0.3125;
        if (!$var22)
            $var30 = 5;
        if (!$var23)
            $var27 = $var27 - 0.3125;
        if (!$var23)
            $var32 = 11;
        var$40 = $var25;
        var$41 = $par3 + 0.015625;
        var$42 = $var27;
        var$43 = $var31;
        var$31 = $var7.$getInterpolatedU(var$43);
        var$44 = $var32;
        nlea_Tessellator_addVertexWithUV($var5, var$40, var$41, var$42, var$31, $var7.$getInterpolatedV(var$44));
        var$45 = $var26;
        var$31 = $var7.$getInterpolatedU(var$43);
        var$32 = $var30;
        nlea_Tessellator_addVertexWithUV($var5, var$40, var$41, var$45, var$31, $var7.$getInterpolatedV(var$32));
        var$31 = $var24;
        var$33 = $var29;
        nlea_Tessellator_addVertexWithUV($var5, var$31, var$41, var$45, $var7.$getInterpolatedU(var$33), $var7.$getInterpolatedV(var$32));
        nlea_Tessellator_addVertexWithUV($var5, var$31, var$41, var$42, $var7.$getInterpolatedU(var$33), $var7.$getInterpolatedV(var$44));
        nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
        nlea_Tessellator_addVertexWithUV($var5, var$40, var$41, var$42, $var9.$getInterpolatedU(var$43), $var9.$getInterpolatedV(var$44));
        nlea_Tessellator_addVertexWithUV($var5, var$40, var$41, var$45, $var9.$getInterpolatedU(var$43), $var9.$getInterpolatedV(var$32));
        nlea_Tessellator_addVertexWithUV($var5, var$31, var$41, var$45, $var9.$getInterpolatedU(var$33), $var9.$getInterpolatedV(var$32));
        nlea_Tessellator_addVertexWithUV($var5, var$31, var$41, var$42, $var9.$getInterpolatedU(var$33), $var9.$getInterpolatedV(var$44));
    }
    if (!$this.$blockAccess.$isBlockNormalCube($par2, var$24, $par4)) {
        if ($this.$blockAccess.$isBlockNormalCube(var$16, $par3, $par4) && $this.$blockAccess.$getBlockId(var$16, var$24, $par4) == nms_Block_redstoneWire.$blockID) {
            nlea_Tessellator_setColorOpaque_F($var5, 1.0 * $var13, 1.0 * $var14, 1.0 * $var15);
            var$31 = $par2 + 0.015625;
            var$32 = var$24 + 0.02187499962747097;
            var$33 = var$22;
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$33, $var8.$getMaxU(), $var8.$getMinV());
            var$34 = $par3 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$34, var$33, $var8.$getMinU(), $var8.$getMinV());
            var$35 = var$28;
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$34, var$35, $var8.$getMinU(), $var8.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$35, $var8.$getMaxU(), $var8.$getMaxV());
            nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$33, $var10.$getMaxU(), $var10.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$34, var$33, $var10.$getMinU(), $var10.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$34, var$35, $var10.$getMinU(), $var10.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$35, $var10.$getMaxU(), $var10.$getMaxV());
        }
        if ($this.$blockAccess.$isBlockNormalCube(var$18, $par3, $par4) && $this.$blockAccess.$getBlockId(var$18, var$24, $par4) == nms_Block_redstoneWire.$blockID) {
            nlea_Tessellator_setColorOpaque_F($var5, 1.0 * $var13, 1.0 * $var14, 1.0 * $var15);
            var$33 = var$18 - 0.015625;
            var$34 = $par3 + 0 | 0;
            var$31 = var$22;
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$34, var$31, $var8.$getMinU(), $var8.$getMaxV());
            var$35 = var$24 + 0.02187499962747097;
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$35, var$31, $var8.$getMaxU(), $var8.$getMaxV());
            var$40 = var$28;
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$35, var$40, $var8.$getMaxU(), $var8.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$34, var$40, $var8.$getMinU(), $var8.$getMinV());
            nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$34, var$31, $var10.$getMinU(), $var10.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$35, var$31, $var10.$getMaxU(), $var10.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$35, var$40, $var10.$getMaxU(), $var10.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$34, var$40, $var10.$getMinU(), $var10.$getMinV());
        }
        if ($this.$blockAccess.$isBlockNormalCube($par2, $par3, var$20) && $this.$blockAccess.$getBlockId($par2, var$24, var$20) == nms_Block_redstoneWire.$blockID) {
            nlea_Tessellator_setColorOpaque_F($var5, 1.0 * $var13, 1.0 * $var14, 1.0 * $var15);
            var$33 = var$18;
            var$34 = $par3 + 0 | 0;
            var$35 = $par4 + 0.015625;
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$34, var$35, $var8.$getMinU(), $var8.$getMaxV());
            var$40 = var$24 + 0.02187499962747097;
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$40, var$35, $var8.$getMaxU(), $var8.$getMaxV());
            var$41 = var$25;
            nlea_Tessellator_addVertexWithUV($var5, var$41, var$40, var$35, $var8.$getMaxU(), $var8.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$41, var$34, var$35, $var8.$getMinU(), $var8.$getMinV());
            nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$34, var$35, $var10.$getMinU(), $var10.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$33, var$40, var$35, $var10.$getMaxU(), $var10.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$41, var$40, var$35, $var10.$getMaxU(), $var10.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$41, var$34, var$35, $var10.$getMinU(), $var10.$getMinV());
        }
        if ($this.$blockAccess.$isBlockNormalCube($par2, $par3, var$22) && $this.$blockAccess.$getBlockId($par2, var$24, var$22) == nms_Block_redstoneWire.$blockID) {
            nlea_Tessellator_setColorOpaque_F($var5, 1.0 * $var13, 1.0 * $var14, 1.0 * $var15);
            var$31 = var$18;
            var$32 = var$24 + 0.02187499962747097;
            var$33 = var$22 - 0.015625;
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$33, $var8.$getMaxU(), $var8.$getMinV());
            var$34 = $par3 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$34, var$33, $var8.$getMinU(), $var8.$getMinV());
            var$35 = var$25;
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$34, var$33, $var8.$getMinU(), $var8.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$32, var$33, $var8.$getMaxU(), $var8.$getMaxV());
            nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$32, var$33, $var10.$getMaxU(), $var10.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$31, var$34, var$33, $var10.$getMinU(), $var10.$getMinV());
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$34, var$33, $var10.$getMinU(), $var10.$getMaxV());
            nlea_Tessellator_addVertexWithUV($var5, var$35, var$32, var$33, $var10.$getMaxU(), $var10.$getMaxV());
        }
    }
    return 1;
}
function nms_RenderBlocks_renderBlockMinecartTrack($this, $par1BlockRailBase, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var10, $var12, $var14, $var18, $var22, $var26, $var28, $var34, var$17, $var16, var$19, var$20, var$21, var$22, var$23, var$24;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $var6 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var7 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockRailBase, 0, $var6);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var7 = $this.$overrideBlockTexture;
    if ($par1BlockRailBase.$isPowered)
        $var6 = $var6 & 7;
    nlea_Tessellator_setBrightness($var5, nms_Block_getMixedBrightnessForBlock($par1BlockRailBase, $this.$blockAccess, $par2, $par3, $par4));
    nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
    $var8 = $var7.$getMinU();
    $var10 = $var7.$getMinV();
    $var12 = $var7.$getMaxU();
    $var14 = $var7.$getMaxV();
    $var18 = $par2 + 1 | 0;
    $var22 = $par2 + 0 | 0;
    $var26 = $par4 + 0 | 0;
    $var28 = $par4 + 1 | 0;
    $var34 = $par3 + 0.0625;
    if ($var6 != 1 && $var6 != 2 && $var6 != 3 && $var6 != 7) {
        if ($var6 == 8) {
            var$17 = $var22;
            $var16 = $var18;
            var$19 = $var18;
            var$20 = $var28;
            var$21 = $var26;
            var$22 = $var26;
            var$23 = $var22;
            $var18 = $var16;
            $var22 = var$19;
            $var16 = $var28;
            $var26 = var$21;
            $var28 = var$22;
        } else if ($var6 != 9) {
            var$17 = $var18;
            $var16 = $var22;
            var$20 = $var26;
            var$21 = $var28;
            var$23 = $var18;
            $var18 = $var16;
            $var16 = $var26;
            $var26 = var$21;
        } else {
            var$17 = $var18;
            var$23 = $var22;
            var$22 = $var18;
            var$20 = $var28;
            $var16 = $var26;
            var$21 = $var26;
            $var18 = $var22;
            $var22 = var$22;
            $var26 = $var28;
            $var28 = var$21;
        }
    } else {
        var$17 = $var22;
        var$23 = $var18;
        var$20 = $var26;
        $var16 = $var28;
    }
    if ($var6 != 2 && $var6 != 4) {
        if ($var6 != 3 && $var6 != 5) {
            var$19 = $var34;
            var$22 = $var34;
            var$24 = $var34;
            var$21 = $var34;
            $var34 = var$22;
        } else {
            var$22 = $var34 + 1.0;
            var$19 = var$22;
            var$24 = $var34;
            var$21 = $var34;
            $var34 = var$22;
        }
    } else {
        var$21 = $var34 + 1.0;
        var$19 = $var34;
        var$24 = var$21;
    }
    nlea_Tessellator_addVertexWithUV($var5, var$23, var$24, $var16, $var12, $var10);
    nlea_Tessellator_addVertexWithUV($var5, var$17, var$19, $var28, $var12, $var14);
    nlea_Tessellator_addVertexWithUV($var5, $var22, $var34, $var26, $var8, $var14);
    nlea_Tessellator_addVertexWithUV($var5, $var18, var$21, var$20, $var8, $var10);
    nlea_Tessellator_addVertexWithUV($var5, $var18, var$21, var$20, $var8, $var10);
    nlea_Tessellator_addVertexWithUV($var5, $var22, $var34, $var26, $var8, $var14);
    nlea_Tessellator_addVertexWithUV($var5, var$17, var$19, $var28, $var12, $var14);
    nlea_Tessellator_addVertexWithUV($var5, var$23, var$24, $var16, $var12, $var10);
    return 1;
}
function nms_RenderBlocks_renderBlockLadder($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6, $var20, $var9, $var11, $var13, $var15, var$12, var$13, var$14, var$15;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $var6 = nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var6 = $this.$overrideBlockTexture;
    nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
    nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
    $var20 = $var6.$getMinU();
    $var9 = $var6.$getMinV();
    $var11 = $var6.$getMaxU();
    $var13 = $var6.$getMaxV();
    $var15 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    if ($var15 == 5) {
        var$12 = $par2 + 0.05000000074505806;
        var$13 = ($par3 + 1 | 0) + 0.0;
        var$14 = ($par4 + 1 | 0) + 0.0;
        nlea_Tessellator_addVertexWithUV($var5, var$12, var$13, var$14, $var20, $var9);
        var$15 = ($par3 + 0 | 0) - 0.0;
        nlea_Tessellator_addVertexWithUV($var5, var$12, var$15, var$14, $var20, $var13);
        var$14 = ($par4 + 0 | 0) - 0.0;
        nlea_Tessellator_addVertexWithUV($var5, var$12, var$15, var$14, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$12, var$13, var$14, $var11, $var9);
    }
    if ($var15 == 4) {
        var$12 = ($par2 + 1 | 0) - 0.05000000074505806;
        var$13 = ($par3 + 0 | 0) - 0.0;
        var$15 = ($par4 + 1 | 0) + 0.0;
        nlea_Tessellator_addVertexWithUV($var5, var$12, var$13, var$15, $var11, $var13);
        var$14 = ($par3 + 1 | 0) + 0.0;
        nlea_Tessellator_addVertexWithUV($var5, var$12, var$14, var$15, $var11, $var9);
        var$15 = ($par4 + 0 | 0) - 0.0;
        nlea_Tessellator_addVertexWithUV($var5, var$12, var$14, var$15, $var20, $var9);
        nlea_Tessellator_addVertexWithUV($var5, var$12, var$13, var$15, $var20, $var13);
    }
    if ($var15 == 3) {
        var$15 = ($par2 + 1 | 0) + 0.0;
        var$14 = ($par3 + 0 | 0) - 0.0;
        var$12 = $par4 + 0.05000000074505806;
        nlea_Tessellator_addVertexWithUV($var5, var$15, var$14, var$12, $var11, $var13);
        var$13 = ($par3 + 1 | 0) + 0.0;
        nlea_Tessellator_addVertexWithUV($var5, var$15, var$13, var$12, $var11, $var9);
        var$15 = ($par2 + 0 | 0) - 0.0;
        nlea_Tessellator_addVertexWithUV($var5, var$15, var$13, var$12, $var20, $var9);
        nlea_Tessellator_addVertexWithUV($var5, var$15, var$14, var$12, $var20, $var13);
    }
    if ($var15 == 2) {
        var$15 = ($par2 + 1 | 0) + 0.0;
        var$14 = ($par3 + 1 | 0) + 0.0;
        var$12 = ($par4 + 1 | 0) - 0.05000000074505806;
        nlea_Tessellator_addVertexWithUV($var5, var$15, var$14, var$12, $var20, $var9);
        var$13 = ($par3 + 0 | 0) - 0.0;
        nlea_Tessellator_addVertexWithUV($var5, var$15, var$13, var$12, $var20, $var13);
        var$15 = ($par2 + 0 | 0) - 0.0;
        nlea_Tessellator_addVertexWithUV($var5, var$15, var$13, var$12, $var11, $var13);
        nlea_Tessellator_addVertexWithUV($var5, var$15, var$14, var$12, $var11, $var9);
    }
    return 1;
}
function nms_RenderBlocks_renderBlockVine($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6, $var8, $var19, $var20, $var12, $var14, $var18, var$13, var$14, var$15, var$16, var$17, var$18;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $var6 = nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var6 = $this.$overrideBlockTexture;
    nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
    $var8 = $par1Block.$colorMultiplier($this.$blockAccess, $par2, $par3, $par4);
    nlea_Tessellator_setColorOpaque_F($var5, 1.0 * ($var8 >> 16 & 255) / 255.0, 1.0 * ($var8 >> 8 & 255) / 255.0, 1.0 * ($var8 & 255) / 255.0);
    $var19 = $var6.$getMinU();
    $var20 = $var6.$getMinV();
    $var12 = $var6.$getMaxU();
    $var14 = $var6.$getMaxV();
    $var18 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    if ($var18 & 2) {
        var$13 = $par2 + 0.05000000074505806;
        var$14 = $par3 + 1 | 0;
        var$15 = $par4 + 1 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$14, var$15, $var19, $var20);
        var$16 = $par3 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$16, var$15, $var19, $var14);
        var$17 = $par4 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$16, var$17, $var12, $var14);
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$14, var$17, $var12, $var20);
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$14, var$17, $var12, $var20);
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$16, var$17, $var12, $var14);
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$16, var$15, $var19, $var14);
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$14, var$15, $var19, $var20);
    }
    if ($var18 & 8) {
        var$17 = ($par2 + 1 | 0) - 0.05000000074505806;
        var$13 = $par3 + 0 | 0;
        var$14 = $par4 + 1 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$13, var$14, $var12, $var14);
        var$15 = $par3 + 1 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$15, var$14, $var12, $var20);
        var$16 = $par4 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$15, var$16, $var19, $var20);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$13, var$16, $var19, $var14);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$13, var$16, $var19, $var14);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$15, var$16, $var19, $var20);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$15, var$14, $var12, $var20);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$13, var$14, $var12, $var14);
    }
    if ($var18 & 4) {
        var$13 = $par2 + 1 | 0;
        var$14 = $par3 + 0 | 0;
        var$15 = $par4 + 0.05000000074505806;
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$14, var$15, $var12, $var14);
        var$16 = $par3 + 1 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$16, var$15, $var12, $var20);
        var$17 = $par2 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$16, var$15, $var19, $var20);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$14, var$15, $var19, $var14);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$14, var$15, $var19, $var14);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$16, var$15, $var19, $var20);
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$16, var$15, $var12, $var20);
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$14, var$15, $var12, $var14);
    }
    if ($var18 & 1) {
        var$13 = $par2 + 1 | 0;
        var$14 = $par3 + 1 | 0;
        var$15 = ($par4 + 1 | 0) - 0.05000000074505806;
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$14, var$15, $var19, $var20);
        var$16 = $par3 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$16, var$15, $var19, $var14);
        var$17 = $par2 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$16, var$15, $var12, $var14);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$14, var$15, $var12, $var20);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$14, var$15, $var12, $var20);
        nlea_Tessellator_addVertexWithUV($var5, var$17, var$16, var$15, $var12, $var14);
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$16, var$15, $var19, $var14);
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$14, var$15, $var19, $var20);
    }
    $par1Block = $this.$blockAccess;
    var$18 = $par3 + 1 | 0;
    if ($par1Block.$isBlockNormalCube($par2, var$18, $par4)) {
        var$13 = $par2 + 1 | 0;
        var$14 = var$18 - 0.05000000074505806;
        var$15 = $par4 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$14, var$15, $var19, $var20);
        var$16 = $par4 + 1 | 0;
        nlea_Tessellator_addVertexWithUV($var5, var$13, var$14, var$16, $var19, $var14);
        $var19 = $par2 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, $var19, var$14, var$16, $var12, $var14);
        nlea_Tessellator_addVertexWithUV($var5, $var19, var$14, var$15, $var12, $var20);
    }
    return 1;
}
function nms_RenderBlocks_renderBlockPane($this, $par1BlockPane, $par2, $par3, $par4) {
    var $var5, $var6, $var8, $var12, $var13, $var14, var$11, $var64, $var65, $var16, $var18, $var20, $var22, $var24, $var28, $var30, $var32, $var34, $var36, $var38, $var40, var$26, $var42, $var44, $var46, var$30, $var48, $var50, $var52, $var54, $var56, var$36, $var58, $var59, $var66, $var60, $var61, var$42, $var62, var$44, $var63, var$46, var$47, var$48;
    $var5 = $this.$blockAccess.$getHeight();
    nlea_Tessellator_$callClinit();
    $var6 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var6, nms_Block_getMixedBrightnessForBlock($par1BlockPane, $this.$blockAccess, $par2, $par3, $par4));
    $var8 = nms_Block_colorMultiplier($par1BlockPane, $this.$blockAccess, $par2, $par3, $par4);
    $var12 = ($var8 >> 16 & 255) / 255.0;
    $var13 = ($var8 >> 8 & 255) / 255.0;
    $var14 = ($var8 & 255) / 255.0;
    if (nms_EntityRenderer_anaglyphEnable) {
        var$11 = $var12 * 30.0;
        $var12 = (var$11 + $var13 * 59.0 + $var14 * 11.0) / 100.0;
        $var13 = (var$11 + $var13 * 70.0) / 100.0;
        $var14 = (var$11 + $var14 * 70.0) / 100.0;
    }
    nlea_Tessellator_setColorOpaque_F($var6, 1.0 * $var12, 1.0 * $var13, 1.0 * $var14);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this)) {
        $var64 = $this.$overrideBlockTexture;
        $var65 = $this.$overrideBlockTexture;
    } else {
        $var64 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockPane, 0, $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4));
        $var65 = nms_BlockPane_getSideTextureIndex($par1BlockPane);
    }
    a: {
        b: {
            $var64.$getOriginX();
            $var64.$getOriginY();
            $var16 = $var64.$getMinU();
            $var18 = $var64.$getInterpolatedU(8.0);
            $var20 = $var64.$getMaxU();
            $var22 = $var64.$getMinV();
            $var24 = $var64.$getMaxV();
            $var65.$getOriginX();
            $var65.$getOriginY();
            $var28 = $var65.$getInterpolatedU(7.0);
            $var30 = $var65.$getInterpolatedU(9.0);
            $var32 = $var65.$getMinV();
            $var34 = $var65.$getInterpolatedV(8.0);
            $var36 = $var65.$getMaxV();
            $var38 = $par2;
            $var40 = $var38 + 0.5;
            var$26 = $par2 + 1 | 0;
            $var42 = var$26;
            $var44 = $par4;
            $var46 = $var44 + 0.5;
            var$30 = $par4 + 1 | 0;
            $var48 = var$30;
            $var50 = $var40 - 0.0625;
            $var52 = $var40 + 0.0625;
            $var54 = $var46 - 0.0625;
            $var56 = $var46 + 0.0625;
            $var65 = $this.$blockAccess;
            var$36 = $par4 - 1 | 0;
            $var58 = nms_BlockPane_canThisPaneConnectToThisBlockID($par1BlockPane, $var65.$getBlockId($par2, $par3, var$36));
            $var59 = nms_BlockPane_canThisPaneConnectToThisBlockID($par1BlockPane, $this.$blockAccess.$getBlockId($par2, $par3, var$30));
            $var65 = $this.$blockAccess;
            $var66 = $par2 - 1 | 0;
            $var60 = nms_BlockPane_canThisPaneConnectToThisBlockID($par1BlockPane, $var65.$getBlockId($var66, $par3, $par4));
            $var61 = nms_BlockPane_canThisPaneConnectToThisBlockID($par1BlockPane, $this.$blockAccess.$getBlockId(var$26, $par3, $par4));
            $var65 = $this.$blockAccess;
            var$42 = $par3 + 1 | 0;
            $var62 = nms_BlockPane_shouldSideBeRendered($par1BlockPane, $var65, $par2, var$42, $par4, 1);
            $var65 = $this.$blockAccess;
            var$44 = $par3 - 1 | 0;
            $var63 = nms_BlockPane_shouldSideBeRendered($par1BlockPane, $var65, $par2, var$44, $par4, 0);
            if (!($var60 && $var61)) {
                if ($var60)
                    break b;
                if ($var61)
                    break b;
                if ($var58)
                    break b;
                if ($var59)
                    break b;
            }
            var$46 = var$42;
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var46, $var16, $var22);
            var$47 = $par3 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$47, $var46, $var16, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$47, $var46, $var20, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var46, $var20, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var46, $var16, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$47, $var46, $var16, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$47, $var46, $var20, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var46, $var20, $var22);
            if ($var62) {
                var$46 = var$46 + 0.01;
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var56, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var54, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var56, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var54, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var36);
            } else {
                var$48 = $rt_compare($par3, $var5 - 1 | 0);
                if (var$48 < 0 && $this.$blockAccess.$isAirBlock($var66, var$42, $par4)) {
                    var$47 = var$46 + 0.01;
                    nlea_Tessellator_addVertexWithUV($var6, $var38, var$47, $var56, $var30, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var56, $var30, $var36);
                    nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var54, $var28, $var36);
                    nlea_Tessellator_addVertexWithUV($var6, $var38, var$47, $var54, $var28, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var56, $var30, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var38, var$47, $var56, $var30, $var36);
                    nlea_Tessellator_addVertexWithUV($var6, $var38, var$47, $var54, $var28, $var36);
                    nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var54, $var28, $var34);
                }
                if (var$48 < 0 && $this.$blockAccess.$isAirBlock(var$26, var$42, $par4)) {
                    var$46 = var$46 + 0.01;
                    nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var32);
                    nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var32);
                    nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var32);
                    nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var32);
                }
            }
            if ($var63) {
                var$46 = $par3 - 0.01;
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var56, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var54, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var56, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var54, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var36);
                break a;
            }
            $var8 = $rt_compare($par3, 1);
            if ($var8 > 0 && $this.$blockAccess.$isAirBlock($var66, var$44, $par4)) {
                var$46 = $par3 - 0.01;
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var56, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var54, $var28, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var56, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var54, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var34);
            }
            if ($var8 <= 0)
                break a;
            if (!$this.$blockAccess.$isAirBlock(var$26, var$44, $par4))
                break a;
            var$46 = $par3 - 0.01;
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var32);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var32);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var32);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var32);
            break a;
        }
        if ($var60 && !$var61) {
            var$46 = var$42;
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var46, $var16, $var22);
            var$47 = $par3 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$47, $var46, $var16, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var46, $var18, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var46, $var18, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var46, $var16, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var46, $var16, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$47, $var46, $var18, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var46, $var18, $var22);
            if (!$var59 && !$var58) {
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var56, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var54, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var54, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var56, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var32);
            }
            c: {
                if (!$var62) {
                    if ($par3 >= ($var5 - 1 | 0))
                        break c;
                    if (!$this.$blockAccess.$isAirBlock($var66, var$42, $par4))
                        break c;
                }
                var$46 = var$46 + 0.01;
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var56, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var54, $var28, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var56, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var54, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var34);
            }
            if (!$var63) {
                if ($par3 <= 1)
                    break a;
                if (!$this.$blockAccess.$isAirBlock($var66, var$44, $par4))
                    break a;
            }
            var$46 = $par3 - 0.01;
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var56, $var30, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var54, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var56, $var30, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var38, var$46, $var54, $var28, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var34);
        } else if (!$var60 && $var61) {
            var$46 = var$42;
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var46, $var18, $var22);
            var$47 = $par3 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var46, $var18, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$47, $var46, $var20, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var46, $var20, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var46, $var18, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$47, $var46, $var18, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var46, $var20, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var46, $var20, $var22);
            if (!$var59 && !$var58) {
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var54, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var56, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var56, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var54, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var30, $var32);
            }
            d: {
                if (!$var62) {
                    if ($par3 >= ($var5 - 1 | 0))
                        break d;
                    if (!$this.$blockAccess.$isAirBlock(var$26, var$42, $par4))
                        break d;
                }
                var$46 = var$46 + 0.01;
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var32);
            }
            if (!$var63) {
                if ($par3 <= 1)
                    break a;
                if (!$this.$blockAccess.$isAirBlock(var$26, var$44, $par4))
                    break a;
            }
            var$46 = $par3 - 0.01;
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var32);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var32);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var56, $var30, $var32);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var56, $var30, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var54, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var42, var$46, $var54, $var28, $var32);
        }
    }
    e: {
        f: {
            if (!($var58 && $var59)) {
                if ($var60)
                    break f;
                if ($var61)
                    break f;
                if ($var58)
                    break f;
                if ($var59)
                    break f;
            }
            var$46 = var$42;
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var48, $var16, $var22);
            var$47 = $par3 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var48, $var16, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var44, $var20, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var44, $var20, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var44, $var16, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var44, $var16, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var48, $var20, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var48, $var20, $var22);
            if ($var62) {
                var$46 = var$46 + 0.005;
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var44, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var44, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var44, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var44, $var28, $var36);
            } else {
                $par4 = $rt_compare($par3, $var5 - 1 | 0);
                if ($par4 < 0 && $this.$blockAccess.$isAirBlock($par2, var$42, var$36)) {
                    var$47 = var$46 + 0.005;
                    nlea_Tessellator_addVertexWithUV($var6, $var50, var$47, $var44, $var30, $var32);
                    nlea_Tessellator_addVertexWithUV($var6, $var50, var$47, $var46, $var30, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var52, var$47, $var46, $var28, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var52, var$47, $var44, $var28, $var32);
                    nlea_Tessellator_addVertexWithUV($var6, $var50, var$47, $var46, $var30, $var32);
                    nlea_Tessellator_addVertexWithUV($var6, $var50, var$47, $var44, $var30, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var52, var$47, $var44, $var28, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var52, var$47, $var46, $var28, $var32);
                }
                if ($par4 < 0 && $this.$blockAccess.$isAirBlock($par2, var$42, var$30)) {
                    var$46 = var$46 + 0.005;
                    nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var28, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var36);
                    nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var36);
                    nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var30, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var34);
                    nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var28, $var36);
                    nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var30, $var36);
                    nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var34);
                }
            }
            if ($var63) {
                var$46 = $par3 - 0.005;
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var44, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var44, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var44, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var44, $var28, $var36);
                break e;
            }
            $par4 = $rt_compare($par3, 1);
            if ($par4 > 0 && $this.$blockAccess.$isAirBlock($par2, var$44, var$36)) {
                var$46 = $par3 - 0.005;
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var44, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var28, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var44, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var44, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var44, $var28, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var28, $var32);
            }
            if ($par4 <= 0)
                break e;
            if (!$this.$blockAccess.$isAirBlock($par2, var$44, var$30))
                break e;
            var$46 = $par3 - 0.005;
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var30, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var28, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var30, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var34);
            break e;
        }
        if ($var58 && !$var59) {
            var$47 = var$42;
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var44, $var16, $var22);
            var$46 = $par3 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var44, $var16, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var46, $var18, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var46, $var18, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var46, $var16, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var46, $var16, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var44, $var18, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var44, $var18, $var22);
            if (!$var61 && !$var60) {
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$47, $var46, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$47, $var46, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$47, $var46, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$47, $var46, $var30, $var32);
            }
            g: {
                if (!$var62) {
                    if ($par3 >= ($var5 - 1 | 0))
                        break g;
                    if (!$this.$blockAccess.$isAirBlock($par2, var$42, var$36))
                        break g;
                }
                var$46 = var$47 + 0.005;
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var44, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var28, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var44, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var44, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var44, $var28, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var28, $var32);
            }
            if (!$var63) {
                if ($par3 <= 1)
                    break e;
                if (!$this.$blockAccess.$isAirBlock($par2, var$44, var$36))
                    break e;
            }
            var$46 = $par3 - 0.005;
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var44, $var30, $var32);
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var30, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var44, $var28, $var32);
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var30, $var32);
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var44, $var30, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var44, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var28, $var32);
        } else if (!$var58 && $var59) {
            var$46 = var$42;
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var46, $var18, $var22);
            var$47 = $par3 + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var46, $var18, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var48, $var20, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var48, $var20, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var48, $var18, $var22);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var48, $var18, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$47, $var46, $var20, $var24);
            nlea_Tessellator_addVertexWithUV($var6, $var40, var$46, $var46, $var20, $var22);
            if (!$var61 && !$var60) {
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$47, $var46, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$47, $var46, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var30, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var28, $var32);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$47, $var46, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$47, $var46, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var30, $var32);
            }
            h: {
                if (!$var62) {
                    if ($par3 >= ($var5 - 1 | 0))
                        break h;
                    if (!$this.$blockAccess.$isAirBlock($par2, var$42, var$30))
                        break h;
                }
                var$46 = var$46 + 0.005;
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var28, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var30, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var34);
                nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var28, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var30, $var36);
                nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var34);
            }
            if (!$var63) {
                if ($par3 <= 1)
                    break e;
                if (!$this.$blockAccess.$isAirBlock($par2, var$44, var$30))
                    break e;
            }
            var$46 = $par3 - 0.005;
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var30, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var48, $var28, $var34);
            nlea_Tessellator_addVertexWithUV($var6, $var50, var$46, $var46, $var28, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var46, $var30, $var36);
            nlea_Tessellator_addVertexWithUV($var6, $var52, var$46, $var48, $var30, $var34);
        }
    }
    return 1;
}
function nms_RenderBlocks_renderCrossedSquares($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var7, $var11, $var12, $var13, var$10, $var19, $var20, $var15, $var17, var$15;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
    $var7 = $par1Block.$colorMultiplier($this.$blockAccess, $par2, $par3, $par4);
    $var11 = ($var7 >> 16 & 255) / 255.0;
    $var12 = ($var7 >> 8 & 255) / 255.0;
    $var13 = ($var7 & 255) / 255.0;
    if (nms_EntityRenderer_anaglyphEnable) {
        var$10 = $var11 * 30.0;
        $var11 = (var$10 + $var12 * 59.0 + $var13 * 11.0) / 100.0;
        $var12 = (var$10 + $var12 * 70.0) / 100.0;
        $var13 = (var$10 + $var13 * 70.0) / 100.0;
    }
    nlea_Tessellator_setColorOpaque_F($var5, 1.0 * $var11, 1.0 * $var12, 1.0 * $var13);
    $var19 = $par2;
    $var20 = $par3;
    $var15 = $par4;
    if ($par1Block === nms_Block_tallGrass) {
        $var17 = Long_xor(Long_xor(Long_fromInt($rt_imul($par2, 3129871)), Long_mul(Long_fromInt($par4), Long_fromInt(116129781))), Long_fromInt($par3));
        var$15 = Long_add(Long_mul(Long_mul($var17, $var17), Long_fromInt(42317861)), Long_mul($var17, Long_fromInt(11)));
        $var19 = $var19 + (Long_toNumber(Long_and(Long_shr(var$15, 16), Long_fromInt(15))) / 15.0 - 0.5) * 0.5;
        $var20 = $var20 + (Long_toNumber(Long_and(Long_shr(var$15, 20), Long_fromInt(15))) / 15.0 - 1.0) * 0.2;
        $var15 = $var15 + (Long_toNumber(Long_and(Long_shr(var$15, 24), Long_fromInt(15))) / 15.0 - 0.5) * 0.5;
    }
    nms_RenderBlocks_drawCrossedSquares($this, $par1Block, $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4), $var19, $var20, $var15, 1.0);
    return 1;
}
function nms_RenderBlocks_renderBlockStem($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6, $var8, $var12, $var13, $var14, var$11, $var15, var$13, var$14, var$15, var$16;
    $var5 = $par1Block;
    nlea_Tessellator_$callClinit();
    $var6 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var6, nms_Block_getMixedBrightnessForBlock($var5, $this.$blockAccess, $par2, $par3, $par4));
    $var8 = nms_BlockStem_colorMultiplier($var5, $this.$blockAccess, $par2, $par3, $par4);
    $var12 = ($var8 >> 16 & 255) / 255.0;
    $var13 = ($var8 >> 8 & 255) / 255.0;
    $var14 = ($var8 & 255) / 255.0;
    if (nms_EntityRenderer_anaglyphEnable) {
        var$11 = $var12 * 30.0;
        $var12 = (var$11 + $var13 * 59.0 + $var14 * 11.0) / 100.0;
        $var13 = (var$11 + $var13 * 70.0) / 100.0;
        $var14 = (var$11 + $var14 * 70.0) / 100.0;
    }
    nlea_Tessellator_setColorOpaque_F($var6, 1.0 * $var12, 1.0 * $var13, 1.0 * $var14);
    nms_BlockStem_setBlockBoundsBasedOnState($var5, $this.$blockAccess, $par2, $par3, $par4);
    $var15 = nms_BlockStem_getState($var5, $this.$blockAccess, $par2, $par3, $par4);
    if ($var15 < 0)
        nms_RenderBlocks_renderBlockStemSmall($this, $var5, $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4), $this.$renderMaxY, $par2, $par3 - 0.0625, $par4);
    else {
        var$13 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
        var$14 = $par2;
        var$15 = $par3 - 0.0625;
        var$16 = $par4;
        nms_RenderBlocks_renderBlockStemSmall($this, $var5, var$13, 0.5, var$14, var$15, var$16);
        nms_RenderBlocks_renderBlockStemBig($this, $var5, $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4), $var15, $this.$renderMaxY, var$14, var$15, var$16);
    }
    return 1;
}
function nms_RenderBlocks_renderBlockCrops($this, $par1Block, $par2, $par3, $par4) {
    var $var5;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
    nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
    nms_RenderBlocks_renderBlockCropsImpl($this, $par1Block, $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4), $par2, $par3 - 0.0625, $par4);
    return 1;
}
function nms_RenderBlocks_renderTorchAtAngle($this, $par1Block, $par2, $par4, $par6, $par8, $par10, $par12) {
    var $var13, $var14, $var15, $var17, $var19, $var21, $var23, $var25, $var27, $var29, $var31, $var33, $var35, $var37, $var39, $var41, $var43, $var45, var$26, var$27, var$28, $var49, var$30, var$31;
    nlea_Tessellator_$callClinit();
    $var13 = nlea_Tessellator_instance;
    $var14 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 0, $par12);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var14 = $this.$overrideBlockTexture;
    $var15 = $var14.$getMinU();
    $var17 = $var14.$getMinV();
    $var19 = $var14.$getMaxU();
    $var21 = $var14.$getMaxV();
    $var23 = $var14.$getInterpolatedU(7.0);
    $var25 = $var14.$getInterpolatedV(6.0);
    $var27 = $var14.$getInterpolatedU(9.0);
    $var29 = $var14.$getInterpolatedV(8.0);
    $var31 = $var14.$getInterpolatedU(7.0);
    $var33 = $var14.$getInterpolatedV(13.0);
    $var35 = $var14.$getInterpolatedU(9.0);
    $var37 = $var14.$getInterpolatedV(15.0);
    $par2 = $par2 + 0.5;
    $par6 = $par6 + 0.5;
    $var39 = $par2 - 0.5;
    $var41 = $par2 + 0.5;
    $var43 = $par6 - 0.5;
    $var45 = $par6 + 0.5;
    var$26 = $par2 + $par8 * 0.375;
    var$27 = var$26 - 0.0625;
    var$28 = $par4 + 0.625;
    $var49 = $par6 + $par10 * 0.375;
    var$30 = $var49 - 0.0625;
    nlea_Tessellator_addVertexWithUV($var13, var$27, var$28, var$30, $var23, $var25);
    var$31 = $var49 + 0.0625;
    nlea_Tessellator_addVertexWithUV($var13, var$27, var$28, var$31, $var23, $var29);
    $var49 = var$26 + 0.0625;
    nlea_Tessellator_addVertexWithUV($var13, $var49, var$28, var$31, $var27, $var29);
    nlea_Tessellator_addVertexWithUV($var13, $var49, var$28, var$30, $var27, $var25);
    $var27 = $par2 + 0.0625;
    $var29 = $var27 + $par8;
    $var49 = $par6 - 0.0625;
    $var25 = $var49 + $par10;
    nlea_Tessellator_addVertexWithUV($var13, $var29, $par4, $var25, $var35, $var33);
    var$30 = $par6 + 0.0625;
    var$26 = var$30 + $par10;
    nlea_Tessellator_addVertexWithUV($var13, $var29, $par4, var$26, $var35, $var37);
    $var35 = $par2 - 0.0625;
    $var29 = $var35 + $par8;
    nlea_Tessellator_addVertexWithUV($var13, $var29, $par4, var$26, $var31, $var37);
    nlea_Tessellator_addVertexWithUV($var13, $var29, $par4, $var25, $var31, $var33);
    $var37 = $par4 + 1.0;
    nlea_Tessellator_addVertexWithUV($var13, $var35, $var37, $var43, $var15, $var17);
    $par4 = $par4 + 0.0;
    $par6 = $var43 + $par10;
    nlea_Tessellator_addVertexWithUV($var13, $var29, $par4, $par6, $var15, $var21);
    $par10 = $var45 + $par10;
    nlea_Tessellator_addVertexWithUV($var13, $var29, $par4, $par10, $var19, $var21);
    nlea_Tessellator_addVertexWithUV($var13, $var35, $var37, $var45, $var19, $var17);
    nlea_Tessellator_addVertexWithUV($var13, $var27, $var37, $var45, $var15, $var17);
    $par2 = $par2 + $par8 + 0.0625;
    nlea_Tessellator_addVertexWithUV($var13, $par2, $par4, $par10, $var15, $var21);
    nlea_Tessellator_addVertexWithUV($var13, $par2, $par4, $par6, $var19, $var21);
    nlea_Tessellator_addVertexWithUV($var13, $var27, $var37, $var43, $var19, $var17);
    nlea_Tessellator_addVertexWithUV($var13, $var39, $var37, var$30, $var15, $var17);
    $par2 = $var39 + $par8;
    nlea_Tessellator_addVertexWithUV($var13, $par2, $par4, var$26, $var15, $var21);
    $par6 = $var41 + $par8;
    nlea_Tessellator_addVertexWithUV($var13, $par6, $par4, var$26, $var19, $var21);
    nlea_Tessellator_addVertexWithUV($var13, $var41, $var37, var$30, $var19, $var17);
    nlea_Tessellator_addVertexWithUV($var13, $var41, $var37, $var49, $var15, $var17);
    nlea_Tessellator_addVertexWithUV($var13, $par6, $par4, $var25, $var15, $var21);
    nlea_Tessellator_addVertexWithUV($var13, $par2, $par4, $var25, $var19, $var21);
    nlea_Tessellator_addVertexWithUV($var13, $var39, $var37, $var49, $var19, $var17);
}
function nms_RenderBlocks_drawCrossedSquares($this, $par1Block, $par2, $par3, $par5, $par7, $par9) {
    var $var10, $var11, $var12, $var14, $var16, $var18, var$13, $var20, $var22, $var24, $var26, $var28;
    nlea_Tessellator_$callClinit();
    $var10 = nlea_Tessellator_instance;
    $var11 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 0, $par2);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var11 = $this.$overrideBlockTexture;
    $var12 = $var11.$getMinU();
    $var14 = $var11.$getMinV();
    $var16 = $var11.$getMaxU();
    $var18 = $var11.$getMaxV();
    var$13 = $par9;
    $var20 = 0.45 * var$13;
    $par3 = $par3 + 0.5;
    $var22 = $par3 - $var20;
    $var24 = $par3 + $var20;
    $par3 = $par7 + 0.5;
    $var26 = $par3 - $var20;
    $var28 = $par3 + $var20;
    $par3 = $par5 + var$13;
    nlea_Tessellator_addVertexWithUV($var10, $var22, $par3, $var26, $var12, $var14);
    $par5 = $par5 + 0.0;
    nlea_Tessellator_addVertexWithUV($var10, $var22, $par5, $var26, $var12, $var18);
    nlea_Tessellator_addVertexWithUV($var10, $var24, $par5, $var28, $var16, $var18);
    nlea_Tessellator_addVertexWithUV($var10, $var24, $par3, $var28, $var16, $var14);
    nlea_Tessellator_addVertexWithUV($var10, $var24, $par3, $var28, $var12, $var14);
    nlea_Tessellator_addVertexWithUV($var10, $var24, $par5, $var28, $var12, $var18);
    nlea_Tessellator_addVertexWithUV($var10, $var22, $par5, $var26, $var16, $var18);
    nlea_Tessellator_addVertexWithUV($var10, $var22, $par3, $var26, $var16, $var14);
    nlea_Tessellator_addVertexWithUV($var10, $var22, $par3, $var28, $var12, $var14);
    nlea_Tessellator_addVertexWithUV($var10, $var22, $par5, $var28, $var12, $var18);
    nlea_Tessellator_addVertexWithUV($var10, $var24, $par5, $var26, $var16, $var18);
    nlea_Tessellator_addVertexWithUV($var10, $var24, $par3, $var26, $var16, $var14);
    nlea_Tessellator_addVertexWithUV($var10, $var24, $par3, $var26, $var12, $var14);
    nlea_Tessellator_addVertexWithUV($var10, $var24, $par5, $var26, $var12, $var18);
    nlea_Tessellator_addVertexWithUV($var10, $var22, $par5, $var28, $var16, $var18);
    nlea_Tessellator_addVertexWithUV($var10, $var22, $par3, $var28, $var16, $var14);
}
function nms_RenderBlocks_renderBlockStemSmall($this, $par1Block, $par2, $par3, $par5, $par7, $par9) {
    var $var11, $var12, $var13, $var15, $var17, $var19, $var21, $var23, $var25, $var27;
    nlea_Tessellator_$callClinit();
    $var11 = nlea_Tessellator_instance;
    $var12 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 0, $par2);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var12 = $this.$overrideBlockTexture;
    $var13 = $var12.$getMinU();
    $var15 = $var12.$getMinV();
    $var17 = $var12.$getMaxU();
    $var19 = $var12.$getInterpolatedV($par3 * 16.0);
    $par5 = $par5 + 0.5;
    $var21 = $par5 - 0.44999998807907104;
    $var23 = $par5 + 0.44999998807907104;
    $par9 = $par9 + 0.5;
    $var25 = $par9 - 0.44999998807907104;
    $var27 = $par9 + 0.44999998807907104;
    $par3 = $par7 + $par3;
    nlea_Tessellator_addVertexWithUV($var11, $var21, $par3, $var25, $var13, $var15);
    $par5 = $par7 + 0.0;
    nlea_Tessellator_addVertexWithUV($var11, $var21, $par5, $var25, $var13, $var19);
    nlea_Tessellator_addVertexWithUV($var11, $var23, $par5, $var27, $var17, $var19);
    nlea_Tessellator_addVertexWithUV($var11, $var23, $par3, $var27, $var17, $var15);
    nlea_Tessellator_addVertexWithUV($var11, $var23, $par3, $var27, $var13, $var15);
    nlea_Tessellator_addVertexWithUV($var11, $var23, $par5, $var27, $var13, $var19);
    nlea_Tessellator_addVertexWithUV($var11, $var21, $par5, $var25, $var17, $var19);
    nlea_Tessellator_addVertexWithUV($var11, $var21, $par3, $var25, $var17, $var15);
    nlea_Tessellator_addVertexWithUV($var11, $var21, $par3, $var27, $var13, $var15);
    nlea_Tessellator_addVertexWithUV($var11, $var21, $par5, $var27, $var13, $var19);
    nlea_Tessellator_addVertexWithUV($var11, $var23, $par5, $var25, $var17, $var19);
    nlea_Tessellator_addVertexWithUV($var11, $var23, $par3, $var25, $var17, $var15);
    nlea_Tessellator_addVertexWithUV($var11, $var23, $par3, $var25, $var13, $var15);
    nlea_Tessellator_addVertexWithUV($var11, $var23, $par5, $var25, $var13, $var19);
    nlea_Tessellator_addVertexWithUV($var11, $var21, $par5, $var27, $var17, $var19);
    nlea_Tessellator_addVertexWithUV($var11, $var21, $par3, $var27, $var17, $var15);
}
function nms_RenderBlocks_renderBlockLilyPad($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6, $var8, $var10, $var12, $var14, $var16, $var18, $var19, $var20, $var21, $var22, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, var$27;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $var6 = nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 1);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var6 = $this.$overrideBlockTexture;
    $var8 = $var6.$getMinU();
    $var10 = $var6.$getMinV();
    $var12 = $var6.$getMaxU();
    $var14 = $var6.$getMaxV();
    $var16 = Long_xor(Long_xor(Long_fromInt($rt_imul($par2, 3129871)), Long_mul(Long_fromInt($par4), Long_fromInt(116129781))), Long_fromInt($par3));
    $var18 = Long_and(Long_shr(Long_add(Long_mul(Long_mul($var16, $var16), Long_fromInt(42317861)), Long_mul($var16, Long_fromInt(11))), 16), Long_fromInt(3)).lo;
    nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
    $var19 = $par2 + 0.5;
    $var20 = $par4 + 0.5;
    $var21 = ($var18 & 1) * 0.5 * (1 - ((($var18 / 2 | 0) % 2 | 0) * 2 | 0) | 0);
    $par2 = $var18 + 1 | 0;
    $var22 = ($par2 & 1) * 0.5 * (1 - ((($par2 / 2 | 0) % 2 | 0) * 2 | 0) | 0);
    nlea_Tessellator_setColorOpaque_I($var5, $par1Block.$getBlockColor());
    var$17 = $var19 + $var21;
    var$18 = var$17 - $var22;
    var$19 = $par3 + 0.015625;
    var$20 = $var20 + $var21;
    var$21 = var$20 + $var22;
    nlea_Tessellator_addVertexWithUV($var5, var$18, var$19, var$21, $var8, $var10);
    var$22 = var$17 + $var22;
    var$17 = $var20 - $var21;
    var$23 = var$17 + $var22;
    nlea_Tessellator_addVertexWithUV($var5, var$22, var$19, var$23, $var12, $var10);
    $var21 = $var19 - $var21;
    var$24 = $var21 + $var22;
    var$25 = var$17 - $var22;
    nlea_Tessellator_addVertexWithUV($var5, var$24, var$19, var$25, $var12, $var14);
    var$26 = $var21 - $var22;
    var$27 = var$20 - $var22;
    nlea_Tessellator_addVertexWithUV($var5, var$26, var$19, var$27, $var8, $var14);
    nlea_Tessellator_setColorOpaque_I($var5, ($par1Block.$getBlockColor() & 16711422) >> 1);
    nlea_Tessellator_addVertexWithUV($var5, var$26, var$19, var$27, $var8, $var14);
    nlea_Tessellator_addVertexWithUV($var5, var$24, var$19, var$25, $var12, $var14);
    nlea_Tessellator_addVertexWithUV($var5, var$22, var$19, var$23, $var12, $var10);
    nlea_Tessellator_addVertexWithUV($var5, var$18, var$19, var$21, $var8, $var10);
    return 1;
}
function nms_RenderBlocks_renderBlockStemBig($this, $par1BlockStem, $par2, $par3, $par4, $par6, $par8, $par10) {
    var $var12, $var13, $var14, $var16, $var18, $var20, var$14, $var22, $var24, $var26, $var28;
    nlea_Tessellator_$callClinit();
    $var12 = nlea_Tessellator_instance;
    $var13 = $par1BlockStem.$theIcon1;
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var13 = $this.$overrideBlockTexture;
    $var14 = $var13.$getMinU();
    $var16 = $var13.$getMinV();
    $var18 = $var13.$getMaxU();
    $var20 = $var13.$getMaxV();
    var$14 = $par6 + 0.5;
    $var22 = var$14 - 0.5;
    $var24 = var$14 + 0.5;
    $par10 = $par10 + 0.5;
    $var26 = $par10 - 0.5;
    $var28 = $par10 + 0.5;
    if (((($par3 + 1 | 0) / 2 | 0) % 2 | 0) != 1) {
        $par6 = $var14;
        $var14 = $var18;
        $var18 = $par6;
    }
    if ($par3 >= 2) {
        $par4 = $par8 + $par4;
        nlea_Tessellator_addVertexWithUV($var12, var$14, $par4, $var28, $var18, $var16);
        $par6 = $par8 + 0.0;
        nlea_Tessellator_addVertexWithUV($var12, var$14, $par6, $var28, $var18, $var20);
        nlea_Tessellator_addVertexWithUV($var12, var$14, $par6, $var26, $var14, $var20);
        nlea_Tessellator_addVertexWithUV($var12, var$14, $par4, $var26, $var14, $var16);
        nlea_Tessellator_addVertexWithUV($var12, var$14, $par4, $var26, $var14, $var16);
        nlea_Tessellator_addVertexWithUV($var12, var$14, $par6, $var26, $var14, $var20);
        nlea_Tessellator_addVertexWithUV($var12, var$14, $par6, $var28, $var18, $var20);
        nlea_Tessellator_addVertexWithUV($var12, var$14, $par4, $var28, $var18, $var16);
    } else {
        $par4 = $par8 + $par4;
        nlea_Tessellator_addVertexWithUV($var12, $var22, $par4, $par10, $var18, $var16);
        $par6 = $par8 + 0.0;
        nlea_Tessellator_addVertexWithUV($var12, $var22, $par6, $par10, $var18, $var20);
        nlea_Tessellator_addVertexWithUV($var12, $var24, $par6, $par10, $var14, $var20);
        nlea_Tessellator_addVertexWithUV($var12, $var24, $par4, $par10, $var14, $var16);
        nlea_Tessellator_addVertexWithUV($var12, $var24, $par4, $par10, $var14, $var16);
        nlea_Tessellator_addVertexWithUV($var12, $var24, $par6, $par10, $var14, $var20);
        nlea_Tessellator_addVertexWithUV($var12, $var22, $par6, $par10, $var18, $var20);
        nlea_Tessellator_addVertexWithUV($var12, $var22, $par4, $par10, $var18, $var16);
    }
}
function nms_RenderBlocks_renderBlockCropsImpl($this, $par1Block, $par2, $par3, $par5, $par7) {
    var $var9, $var10, $var11, $var13, $var15, $var17, $var19, $var21, $var23, $var25, var$16;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    $var10 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 0, $par2);
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var10 = $this.$overrideBlockTexture;
    $var11 = $var10.$getMinU();
    $var13 = $var10.$getMinV();
    $var15 = $var10.$getMaxU();
    $var17 = $var10.$getMaxV();
    $par3 = $par3 + 0.5;
    $var19 = $par3 - 0.25;
    $var21 = $par3 + 0.25;
    $par7 = $par7 + 0.5;
    $var23 = $par7 - 0.5;
    $var25 = $par7 + 0.5;
    var$16 = $par5 + 1.0;
    nlea_Tessellator_addVertexWithUV($var9, $var19, var$16, $var23, $var11, $var13);
    $par5 = $par5 + 0.0;
    nlea_Tessellator_addVertexWithUV($var9, $var19, $par5, $var23, $var11, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var19, $par5, $var25, $var15, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var19, var$16, $var25, $var15, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $var19, var$16, $var25, $var11, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $var19, $par5, $var25, $var11, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var19, $par5, $var23, $var15, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var19, var$16, $var23, $var15, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $var21, var$16, $var25, $var11, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $var21, $par5, $var25, $var11, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var21, $par5, $var23, $var15, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var21, var$16, $var23, $var15, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $var21, var$16, $var23, $var11, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $var21, $par5, $var23, $var11, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var21, $par5, $var25, $var15, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var21, var$16, $var25, $var15, $var13);
    $var19 = $par3 - 0.5;
    $par3 = $par3 + 0.5;
    $var21 = $par7 - 0.25;
    $par7 = $par7 + 0.25;
    nlea_Tessellator_addVertexWithUV($var9, $var19, var$16, $var21, $var11, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $var19, $par5, $var21, $var11, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $par3, $par5, $var21, $var15, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $par3, var$16, $var21, $var15, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $par3, var$16, $var21, $var11, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $par3, $par5, $var21, $var11, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var19, $par5, $var21, $var15, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var19, var$16, $var21, $var15, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $par3, var$16, $par7, $var11, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $par3, $par5, $par7, $var11, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var19, $par5, $par7, $var15, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $var19, var$16, $par7, $var15, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $var19, var$16, $par7, $var11, $var13);
    nlea_Tessellator_addVertexWithUV($var9, $var19, $par5, $par7, $var11, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $par3, $par5, $par7, $var15, $var17);
    nlea_Tessellator_addVertexWithUV($var9, $par3, var$16, $par7, $var15, $var13);
}
function nms_RenderBlocks_renderBlockFluids($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var60, $var59, $var11, $var12, var$15, var$16, var$17, var$18, $var13, $var22, $var23, $var24, $var26, $var28, $var30, $var34, $var35, $var36, $var50, $var46, $var40, $var36_0, $var44, $var46_0, $var40_0, $var52, $var53, $var51, $var32, var$40, $var45, var$42, $var32_0, $var47, $var43, $var45_0, $var45_1, $var45_2, $var43_0, $var43_1, $var49, $var52_0, $var54, $var55;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $var6 = $par1Block.$colorMultiplier($this.$blockAccess, $par2, $par3, $par4);
    $var7 = ($var6 >> 16 & 255) / 255.0;
    $var8 = ($var6 >> 8 & 255) / 255.0;
    $var9 = ($var6 & 255) / 255.0;
    $var10 = $par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3 + 1 | 0, $par4, 1);
    $var60 = $this.$blockAccess;
    $var59 = $par3 - 1 | 0;
    $var11 = $par1Block.$shouldSideBeRendered($var60, $par2, $var59, $par4, 0);
    $var12 = $rt_createBooleanArray(4).data;
    $var60 = $this.$blockAccess;
    var$15 = $par4 - 1 | 0;
    $var12[0] = $par1Block.$shouldSideBeRendered($var60, $par2, $par3, var$15, 2);
    $var60 = $this.$blockAccess;
    var$16 = $par4 + 1 | 0;
    $var12[1] = $par1Block.$shouldSideBeRendered($var60, $par2, $par3, var$16, 3);
    $var60 = $this.$blockAccess;
    var$17 = $par2 - 1 | 0;
    $var12[2] = $par1Block.$shouldSideBeRendered($var60, var$17, $par3, $par4, 4);
    $var60 = $this.$blockAccess;
    var$18 = $par2 + 1 | 0;
    $var12[3] = $par1Block.$shouldSideBeRendered($var60, var$18, $par3, $par4, 5);
    if (!$var10 && !$var11 && !$var12[0] && !$var12[1] && !$var12[2] && !$var12[3])
        return 0;
    $var13 = 0;
    $var22 = $par1Block.$blockMaterial;
    $var23 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var24 = nms_RenderBlocks_getFluidHeight($this, $par2, $par3, $par4, $var22);
    $var26 = nms_RenderBlocks_getFluidHeight($this, $par2, $par3, var$16, $var22);
    $var28 = nms_RenderBlocks_getFluidHeight($this, var$18, $par3, var$16, $var22);
    $var30 = nms_RenderBlocks_getFluidHeight($this, var$18, $par3, $par4, $var22);
    if (!(!$this.$renderAllFaces && !$var10)) {
        $var13 = 1;
        $var34 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 1, $var23);
        $var35 = nms_BlockFluid_getFlowDirection($this.$blockAccess, $par2, $par3, $par4, $var22);
        $var10 = $rt_compare($var35, (-999.0));
        if ($var10 > 0)
            $var34 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 2, $var23);
        $var24 = $var24 - 0.0010000000474974513;
        $var26 = $var26 - 0.0010000000474974513;
        $var28 = $var28 - 0.0010000000474974513;
        $var30 = $var30 - 0.0010000000474974513;
        if ($var10 < 0) {
            $var36 = $var34.$getInterpolatedU(0.0);
            $var50 = $var34.$getInterpolatedV(0.0);
            $var46 = $var34.$getInterpolatedV(16.0);
            $var40 = $var34.$getInterpolatedU(16.0);
            $var36_0 = $var36;
            $var44 = $var50;
            $var46_0 = $var46;
            $var40_0 = $var40;
        } else {
            $var52 = nms_MathHelper_sin($var35) * 0.25;
            $var53 = nms_MathHelper_cos($var35) * 0.25;
            $var51 =  -$var53;
            $var32 = 8.0 + ($var51 - $var52) * 16.0;
            $var36_0 = $var34.$getInterpolatedU($var32);
            var$40 = 8.0 + ($var51 + $var52) * 16.0;
            $var44 = $var34.$getInterpolatedV(var$40);
            $var36 = $var34.$getInterpolatedU(var$40);
            var$40 = 8.0 + ($var53 + $var52) * 16.0;
            $var46_0 = $var34.$getInterpolatedV(var$40);
            $var40_0 = $var34.$getInterpolatedU(var$40);
            var$40 = 8.0 + ($var53 - $var52) * 16.0;
            $var46 = $var34.$getInterpolatedV(var$40);
            $var40 = $var34.$getInterpolatedU(var$40);
            $var50 = $var34.$getInterpolatedV($var32);
        }
        nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4));
        nlea_Tessellator_setColorOpaque_F($var5, 1.0 * $var7, 1.0 * $var8, 1.0 * $var9);
        $var32 = $par2 + 0 | 0;
        $var45 = $par3;
        var$40 = $var45 + $var24;
        var$42 = $par4 + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var5, $var32, var$40, var$42, $var36_0, $var44);
        var$40 = $var45 + $var26;
        $var36_0 = var$16;
        nlea_Tessellator_addVertexWithUV($var5, $var32, var$40, $var36_0, $var36, $var46_0);
        $var32 = var$18;
        nlea_Tessellator_addVertexWithUV($var5, $var32, $var45 + $var28, $var36_0, $var40_0, $var46);
        nlea_Tessellator_addVertexWithUV($var5, $var32, $var45 + $var30, var$42, $var40, $var50);
    }
    if (!(!$this.$renderAllFaces && !$var11)) {
        nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var59, $par4));
        nlea_Tessellator_setColorOpaque_F($var5, 0.5, 0.5, 0.5);
        nms_RenderBlocks_renderFaceYNeg($this, $par1Block, $par2, $par3 + 0.0010000000474974513, $par4, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0));
        $var13 = 1;
    }
    $var59 = 0;
    $var40_0 = $par3;
    $var32_0 = $par3 + 0 | 0;
    $var47 = $par2;
    $var43 = var$18;
    $var45_0 = $par4;
    $var45 = $var45_0 + 0.0010000000474974513;
    $var45_1 = var$16;
    $var45_2 = $var45_1 - 0.0010000000474974513;
    $var43_0 = $var47 + 0.0010000000474974513;
    $var43_1 = $var43 - 0.0010000000474974513;
    while ($var59 < 4) {
        $var6 = !$var59 ? var$15 : $par4;
        var$18 = $rt_compare($var59, 1);
        if (!var$18)
            $var6 = $var6 + 1 | 0;
        $var11 = $rt_compare($var59, 2);
        $var10 = !$var11 ? var$17 : $par2;
        if ($var59 == 3)
            $var10 = $var10 + 1 | 0;
        $var60 = nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, $var59 + 2 | 0, $var23);
        if (!(!$this.$renderAllFaces && !$var12[$var59])) {
            if (!$var59) {
                var$42 = $var24;
                $var36_0 = $var30;
                $var44 = $var47;
                $var36 = $var43;
                $var46_0 = $var45;
                $var49 = $var45;
            } else if (!var$18) {
                var$42 = $var28;
                $var36_0 = $var26;
                $var44 = $var43;
                $var36 = $var47;
                $var46_0 = $var45_2;
                $var49 = $var45_2;
            } else if ($var11) {
                var$42 = $var30;
                $var36_0 = $var28;
                $var44 = $var43_1;
                $var36 = $var43_1;
                $var46_0 = $var45_0;
                $var49 = $var45_1;
            } else {
                var$42 = $var26;
                $var36_0 = $var24;
                $var44 = $var43_0;
                $var36 = $var43_0;
                $var46_0 = $var45_1;
                $var49 = $var45_0;
            }
            $var13 = 1;
            $var51 = $var60.$getInterpolatedU(0.0);
            $var52_0 = $var60.$getInterpolatedU(8.0);
            $var53 = $var60.$getInterpolatedV((1.0 - var$42) * 16.0 * 0.5);
            $var54 = $var60.$getInterpolatedV((1.0 - $var36_0) * 16.0 * 0.5);
            $var55 = $var60.$getInterpolatedV(8.0);
            nlea_Tessellator_setBrightness($var5, $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var10, $par3, $var6));
            $var35 = 1.0 * ($var11 >= 0 ? 0.6000000238418579 : 0.800000011920929);
            nlea_Tessellator_setColorOpaque_F($var5, $var35 * $var7, $var35 * $var8, $var35 * $var9);
            $var32 = $var40_0 + var$42;
            var$40 = $var51;
            nlea_Tessellator_addVertexWithUV($var5, $var44, $var32, $var46_0, var$40, $var53);
            $var32 = $var40_0 + $var36_0;
            var$42 = $var52_0;
            nlea_Tessellator_addVertexWithUV($var5, $var36, $var32, $var49, var$42, $var54);
            $var32 = $var55;
            nlea_Tessellator_addVertexWithUV($var5, $var36, $var32_0, $var49, var$42, $var32);
            nlea_Tessellator_addVertexWithUV($var5, $var44, $var32_0, $var46_0, var$40, $var32);
        }
        $var59 = $var59 + 1 | 0;
    }
    $this.$renderMinY = 0.0;
    $this.$renderMaxY = 1.0;
    return $var13;
}
function nms_RenderBlocks_getFluidHeight($this, $par1, $par2, $par3, $par4Material) {
    var $var5, $var6, $var7, var$8, $var8, $var10, $var11, $var12;
    $var5 = 0;
    $var6 = 0.0;
    $var7 = 0;
    var$8 = $par2 + 1 | 0;
    while (true) {
        if ($var7 >= 4)
            return 1.0 - $var6 / $var5;
        $var8 = $par1 - ($var7 & 1) | 0;
        $var10 = $par3 - ($var7 >> 1 & 1) | 0;
        if ($this.$blockAccess.$getBlockMaterial($var8, var$8, $var10) === $par4Material)
            break;
        $var11 = $this.$blockAccess.$getBlockMaterial($var8, $par2, $var10);
        if ($var11 === $par4Material) {
            $var12 = $this.$blockAccess.$getBlockMetadata($var8, $par2, $var10);
            if (!($var12 < 8 && $var12)) {
                $var6 = $var6 + nms_BlockFluid_getFluidHeightPercent($var12) * 10.0;
                $var5 = $var5 + 10 | 0;
            }
            $var6 = $var6 + nms_BlockFluid_getFluidHeightPercent($var12);
            $var5 = $var5 + 1 | 0;
        } else if (!$var11.$isSolid()) {
            $var6 = $var6 + 1.0;
            $var5 = $var5 + 1 | 0;
        }
        $var7 = $var7 + 1 | 0;
    }
    return 1.0;
}
function nms_RenderBlocks_renderBlockSandFalling($this, $par1Block, $par2World, $par3, $par4, $par5, $par6) {
    var $var11;
    nlea_Tessellator_$callClinit();
    $var11 = nlea_Tessellator_instance;
    nlea_Tessellator_startDrawingQuads($var11);
    nlea_Tessellator_setBrightness($var11, $par1Block.$getMixedBrightnessForBlock($par2World, $par3, $par4, $par5));
    nlea_Tessellator_setColorOpaque_F($var11, 0.5, 0.5, 0.5);
    nms_RenderBlocks_renderFaceYNeg($this, $par1Block, (-0.5), (-0.5), (-0.5), nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 0, $par6));
    nlea_Tessellator_setColorOpaque_F($var11, 1.0, 1.0, 1.0);
    nms_RenderBlocks_renderFaceYPos($this, $par1Block, (-0.5), (-0.5), (-0.5), nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 1, $par6));
    nlea_Tessellator_setColorOpaque_F($var11, 0.800000011920929, 0.800000011920929, 0.800000011920929);
    nms_RenderBlocks_renderFaceZNeg($this, $par1Block, (-0.5), (-0.5), (-0.5), nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 2, $par6));
    nlea_Tessellator_setColorOpaque_F($var11, 0.800000011920929, 0.800000011920929, 0.800000011920929);
    nms_RenderBlocks_renderFaceZPos($this, $par1Block, (-0.5), (-0.5), (-0.5), nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 3, $par6));
    nlea_Tessellator_setColorOpaque_F($var11, 0.6000000238418579, 0.6000000238418579, 0.6000000238418579);
    nms_RenderBlocks_renderFaceXNeg($this, $par1Block, (-0.5), (-0.5), (-0.5), nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 4, $par6));
    nlea_Tessellator_setColorOpaque_F($var11, 0.6000000238418579, 0.6000000238418579, 0.6000000238418579);
    nms_RenderBlocks_renderFaceXPos($this, $par1Block, (-0.5), (-0.5), (-0.5), nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 5, $par6));
    nlea_Tessellator_draw($var11);
}
function nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var9, $var10, $var11, var$9;
    $var5 = $par1Block.$colorMultiplier($this.$blockAccess, $par2, $par3, $par4);
    $var9 = ($var5 >> 16 & 255) / 255.0;
    $var10 = ($var5 >> 8 & 255) / 255.0;
    $var11 = ($var5 & 255) / 255.0;
    if (nms_EntityRenderer_anaglyphEnable) {
        var$9 = $var9 * 30.0;
        $var9 = (var$9 + $var10 * 59.0 + $var11 * 11.0) / 100.0;
        $var10 = (var$9 + $var10 * 70.0) / 100.0;
        $var11 = (var$9 + $var11 * 70.0) / 100.0;
    }
    return nmc_Minecraft_isAmbientOcclusionEnabled() && !nms_Block_lightValue.data[$par1Block.$blockID] ? (!$this.$partialRenderBounds ? nms_RenderBlocks_renderStandardBlockWithAmbientOcclusion($this, $par1Block, $par2, $par3, $par4, $var9, $var10, $var11) : nms_RenderBlocks_func_102027_b($this, $par1Block, $par2, $par3, $par4, $var9, $var10, $var11)) : nms_RenderBlocks_renderStandardBlockWithColorMultiplier($this, $par1Block, $par2, $par3, $par4, $var9, $var10, $var11);
}
function nms_RenderBlocks_renderBlockLog($this, $par1Block, $par2, $par3, $par4) {
    var $var6, $var7;
    $var6 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4) & 12;
    if ($var6 == 4) {
        $this.$uvRotateEast = 1;
        $this.$uvRotateWest = 1;
        $this.$uvRotateTop = 1;
        $this.$uvRotateBottom = 1;
    } else if ($var6 == 8) {
        $this.$uvRotateSouth = 1;
        $this.$uvRotateNorth = 1;
    }
    $var7 = nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
    $this.$uvRotateSouth = 0;
    $this.$uvRotateEast = 0;
    $this.$uvRotateWest = 0;
    $this.$uvRotateNorth = 0;
    $this.$uvRotateTop = 0;
    $this.$uvRotateBottom = 0;
    return $var7;
}
function nms_RenderBlocks_renderBlockQuartz($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
    if ($var5 == 3) {
        $this.$uvRotateEast = 1;
        $this.$uvRotateWest = 1;
        $this.$uvRotateTop = 1;
        $this.$uvRotateBottom = 1;
    } else if ($var5 == 4) {
        $this.$uvRotateSouth = 1;
        $this.$uvRotateNorth = 1;
    }
    $var6 = nms_RenderBlocks_renderStandardBlock($this, $par1Block, $par2, $par3, $par4);
    $this.$uvRotateSouth = 0;
    $this.$uvRotateEast = 0;
    $this.$uvRotateWest = 0;
    $this.$uvRotateNorth = 0;
    $this.$uvRotateTop = 0;
    $this.$uvRotateBottom = 0;
    return $var6;
}
function nms_RenderBlocks_renderStandardBlockWithAmbientOcclusion($this, $par1Block, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var13, $var14, $var22, $var19, $var16, $var17, $var18, var$16, $var19_0, $var16_0, $var17_0, $var18_0, $var21, var$22, var$23, var$24, var$25, var$26, var$27, var$28;
    $this.$enableAO = 1;
    $var8 = 0;
    $var13 = 1;
    $var14 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4);
    nlea_Tessellator_$callClinit();
    nlea_Tessellator_setBrightness(nlea_Tessellator_instance, 983055);
    if (jl_String_equals(nms_RenderBlocks_getBlockIcon0($this, $par1Block).$getIconName(), $rt_s(964)))
        $var13 = 0;
    else if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var13 = 0;
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3 - 1 | 0, $par4, 0))) {
        if ($this.$renderMinY <= 0.0)
            $par3 = $par3 + (-1) | 0;
        $var22 = $this.$blockAccess;
        $var19 = $par2 - 1 | 0;
        $this.$aoBrightnessXYNN = $par1Block.$getMixedBrightnessForBlock($var22, $var19, $par3, $par4);
        $var22 = $this.$blockAccess;
        $var16 = $par4 - 1 | 0;
        $this.$aoBrightnessYZNN = $par1Block.$getMixedBrightnessForBlock($var22, $par2, $par3, $var16);
        $var22 = $this.$blockAccess;
        $var17 = $par4 + 1 | 0;
        $this.$aoBrightnessYZNP = $par1Block.$getMixedBrightnessForBlock($var22, $par2, $par3, $var17);
        $var22 = $this.$blockAccess;
        $var18 = $par2 + 1 | 0;
        $this.$aoBrightnessXYPN = $par1Block.$getMixedBrightnessForBlock($var22, $var18, $par3, $par4);
        $this.$aoLightValueScratchXYNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var19, $par3, $par4);
        $this.$aoLightValueScratchYZNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $var16);
        $this.$aoLightValueScratchYZNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $var17);
        $this.$aoLightValueScratchXYPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var18, $par3, $par4);
        var$16 = nms_Block_canBlockGrass.data;
        $var22 = $this.$blockAccess;
        $var19_0 = $par3 - 1 | 0;
        $var16_0 = var$16[$var22.$getBlockId($var18, $var19_0, $par4)];
        $var17_0 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $var19_0, $par4)];
        $var18_0 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var19_0, $var17)];
        $var19_0 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var19_0, $var16)];
        if (!$var19_0 && !$var17_0) {
            $this.$aoLightValueScratchXYZNNN = $this.$aoLightValueScratchXYNN;
            $this.$aoBrightnessXYZNNN = $this.$aoBrightnessXYNN;
        } else {
            $this.$aoLightValueScratchXYZNNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var19, $par3, $var16);
            $this.$aoBrightnessXYZNNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var19, $par3, $var16);
        }
        if (!$var18_0 && !$var17_0) {
            $this.$aoLightValueScratchXYZNNP = $this.$aoLightValueScratchXYNN;
            $this.$aoBrightnessXYZNNP = $this.$aoBrightnessXYNN;
        } else {
            $this.$aoLightValueScratchXYZNNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var19, $par3, $var17);
            $this.$aoBrightnessXYZNNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var19, $par3, $var17);
        }
        if (!$var19_0 && !$var16_0) {
            $this.$aoLightValueScratchXYZPNN = $this.$aoLightValueScratchXYPN;
            $this.$aoBrightnessXYZPNN = $this.$aoBrightnessXYPN;
        } else {
            $this.$aoLightValueScratchXYZPNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var18, $par3, $var16);
            $this.$aoBrightnessXYZPNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var18, $par3, $var16);
        }
        if (!$var18_0 && !$var16_0) {
            $this.$aoLightValueScratchXYZPNP = $this.$aoLightValueScratchXYPN;
            $this.$aoBrightnessXYZPNP = $this.$aoBrightnessXYPN;
        } else {
            $this.$aoLightValueScratchXYZPNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var18, $par3, $var17);
            $this.$aoBrightnessXYZPNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var18, $par3, $var17);
        }
        if ($this.$renderMinY <= 0.0)
            $par3 = $par3 + 1 | 0;
        $var8 = $this.$renderMinY > 0.0 && $this.$blockAccess.$isBlockOpaqueCube($par2, $par3 - 1 | 0, $par4) ? $var14 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 - 1 | 0, $par4);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3 - 1 | 0, $par4);
        var$22 = ($this.$aoLightValueScratchXYZNNP + $this.$aoLightValueScratchXYNN + $this.$aoLightValueScratchYZNP + $var21) / 4.0;
        var$23 = ($this.$aoLightValueScratchYZNP + $var21 + $this.$aoLightValueScratchXYZPNP + $this.$aoLightValueScratchXYPN) / 4.0;
        var$24 = ($var21 + $this.$aoLightValueScratchYZNN + $this.$aoLightValueScratchXYPN + $this.$aoLightValueScratchXYZPNN) / 4.0;
        $var21 = ($this.$aoLightValueScratchXYNN + $this.$aoLightValueScratchXYZNNN + $var21 + $this.$aoLightValueScratchYZNN) / 4.0;
        $this.$brightnessTopLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZNNP, $this.$aoBrightnessXYNN, $this.$aoBrightnessYZNP, $var8);
        $this.$brightnessTopRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZNP, $this.$aoBrightnessXYZPNP, $this.$aoBrightnessXYPN, $var8);
        $this.$brightnessBottomRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZNN, $this.$aoBrightnessXYPN, $this.$aoBrightnessXYZPNN, $var8);
        $this.$brightnessBottomLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYNN, $this.$aoBrightnessXYZNNN, $this.$aoBrightnessYZNN, $var8);
        if (!$var13) {
            $this.$colorRedTopRight = 0.5;
            $this.$colorRedBottomRight = 0.5;
            $this.$colorRedBottomLeft = 0.5;
            $this.$colorRedTopLeft = 0.5;
            $this.$colorGreenTopRight = 0.5;
            $this.$colorGreenBottomRight = 0.5;
            $this.$colorGreenBottomLeft = 0.5;
            $this.$colorGreenTopLeft = 0.5;
            $this.$colorBlueTopRight = 0.5;
            $this.$colorBlueBottomRight = 0.5;
            $this.$colorBlueBottomLeft = 0.5;
            $this.$colorBlueTopLeft = 0.5;
        } else {
            var$25 = $par5 * 0.5;
            $this.$colorRedTopRight = var$25;
            $this.$colorRedBottomRight = var$25;
            $this.$colorRedBottomLeft = var$25;
            $this.$colorRedTopLeft = var$25;
            var$25 = $par6 * 0.5;
            $this.$colorGreenTopRight = var$25;
            $this.$colorGreenBottomRight = var$25;
            $this.$colorGreenBottomLeft = var$25;
            $this.$colorGreenTopLeft = var$25;
            var$25 = $par7 * 0.5;
            $this.$colorBlueTopRight = var$25;
            $this.$colorBlueBottomRight = var$25;
            $this.$colorBlueBottomLeft = var$25;
            $this.$colorBlueTopLeft = var$25;
        }
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * var$22;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * var$22;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * var$22;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $var21;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $var21;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $var21;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * var$24;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * var$24;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * var$24;
        $this.$colorRedTopRight = $this.$colorRedTopRight * var$23;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * var$23;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * var$23;
        nms_RenderBlocks_renderFaceYNeg($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 0));
        $var8 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3 + 1 | 0, $par4, 1))) {
        if ($this.$renderMaxY >= 1.0)
            $par3 = $par3 + 1 | 0;
        $var22 = $this.$blockAccess;
        $var8 = $par2 - 1 | 0;
        $this.$aoBrightnessXYNP = $par1Block.$getMixedBrightnessForBlock($var22, $var8, $par3, $par4);
        $var22 = $this.$blockAccess;
        $var17_0 = $par2 + 1 | 0;
        $this.$aoBrightnessXYPP = $par1Block.$getMixedBrightnessForBlock($var22, $var17_0, $par3, $par4);
        $var22 = $this.$blockAccess;
        $var18_0 = $par4 - 1 | 0;
        $this.$aoBrightnessYZPN = $par1Block.$getMixedBrightnessForBlock($var22, $par2, $par3, $var18_0);
        $var22 = $this.$blockAccess;
        $var19_0 = $par4 + 1 | 0;
        $this.$aoBrightnessYZPP = $par1Block.$getMixedBrightnessForBlock($var22, $par2, $par3, $var19_0);
        $this.$aoLightValueScratchXYNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $par3, $par4);
        $this.$aoLightValueScratchXYPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var17_0, $par3, $par4);
        $this.$aoLightValueScratchYZPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $var18_0);
        $this.$aoLightValueScratchYZPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $var19_0);
        var$16 = nms_Block_canBlockGrass.data;
        $var22 = $this.$blockAccess;
        $var19 = $par3 + 1 | 0;
        $var16 = var$16[$var22.$getBlockId($var17_0, $var19, $par4)];
        $var17 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var8, $var19, $par4)];
        $var18 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var19, $var19_0)];
        $var19 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var19, $var18_0)];
        if (!$var19 && !$var17) {
            $this.$aoLightValueScratchXYZNPN = $this.$aoLightValueScratchXYNP;
            $this.$aoBrightnessXYZNPN = $this.$aoBrightnessXYNP;
        } else {
            $this.$aoLightValueScratchXYZNPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $par3, $var18_0);
            $this.$aoBrightnessXYZNPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $par3, $var18_0);
        }
        if (!$var19 && !$var16) {
            $this.$aoLightValueScratchXYZPPN = $this.$aoLightValueScratchXYPP;
            $this.$aoBrightnessXYZPPN = $this.$aoBrightnessXYPP;
        } else {
            $this.$aoLightValueScratchXYZPPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var17_0, $par3, $var18_0);
            $this.$aoBrightnessXYZPPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var17_0, $par3, $var18_0);
        }
        if (!$var18 && !$var17) {
            $this.$aoLightValueScratchXYZNPP = $this.$aoLightValueScratchXYNP;
            $this.$aoBrightnessXYZNPP = $this.$aoBrightnessXYNP;
        } else {
            $this.$aoLightValueScratchXYZNPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $par3, $var19_0);
            $this.$aoBrightnessXYZNPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $par3, $var19_0);
        }
        if (!$var18 && !$var16) {
            $this.$aoLightValueScratchXYZPPP = $this.$aoLightValueScratchXYPP;
            $this.$aoBrightnessXYZPPP = $this.$aoBrightnessXYPP;
        } else {
            $this.$aoLightValueScratchXYZPPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var17_0, $par3, $var19_0);
            $this.$aoBrightnessXYZPPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var17_0, $par3, $var19_0);
        }
        if ($this.$renderMaxY >= 1.0)
            $par3 = $par3 + (-1) | 0;
        $var8 = $this.$renderMaxY < 1.0 && $this.$blockAccess.$isBlockOpaqueCube($par2, $par3 + 1 | 0, $par4) ? $var14 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 + 1 | 0, $par4);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3 + 1 | 0, $par4);
        var$22 = ($this.$aoLightValueScratchXYZNPP + $this.$aoLightValueScratchXYNP + $this.$aoLightValueScratchYZPP + $var21) / 4.0;
        var$23 = ($this.$aoLightValueScratchYZPP + $var21 + $this.$aoLightValueScratchXYZPPP + $this.$aoLightValueScratchXYPP) / 4.0;
        var$24 = ($var21 + $this.$aoLightValueScratchYZPN + $this.$aoLightValueScratchXYPP + $this.$aoLightValueScratchXYZPPN) / 4.0;
        $var21 = ($this.$aoLightValueScratchXYNP + $this.$aoLightValueScratchXYZNPN + $var21 + $this.$aoLightValueScratchYZPN) / 4.0;
        $this.$brightnessTopRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZNPP, $this.$aoBrightnessXYNP, $this.$aoBrightnessYZPP, $var8);
        $this.$brightnessTopLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZPP, $this.$aoBrightnessXYZPPP, $this.$aoBrightnessXYPP, $var8);
        $this.$brightnessBottomLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZPN, $this.$aoBrightnessXYPP, $this.$aoBrightnessXYZPPN, $var8);
        $this.$brightnessBottomRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYNP, $this.$aoBrightnessXYZNPN, $this.$aoBrightnessYZPN, $var8);
        $this.$colorRedTopRight = $par5;
        $this.$colorRedBottomRight = $par5;
        $this.$colorRedBottomLeft = $par5;
        $this.$colorRedTopLeft = $par5;
        $this.$colorGreenTopRight = $par6;
        $this.$colorGreenBottomRight = $par6;
        $this.$colorGreenBottomLeft = $par6;
        $this.$colorGreenTopLeft = $par6;
        $this.$colorBlueTopRight = $par7;
        $this.$colorBlueBottomRight = $par7;
        $this.$colorBlueBottomLeft = $par7;
        $this.$colorBlueTopLeft = $par7;
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * var$23;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * var$23;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * var$23;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * var$24;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * var$24;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * var$24;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * $var21;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $var21;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $var21;
        $this.$colorRedTopRight = $this.$colorRedTopRight * var$22;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * var$22;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * var$22;
        nms_RenderBlocks_renderFaceYPos($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 1));
        $var8 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3, $par4 - 1 | 0, 2))) {
        if ($this.$renderMinZ <= 0.0)
            $par4 = $par4 + (-1) | 0;
        $var22 = $this.$blockAccess;
        $var8 = $par2 - 1 | 0;
        $this.$aoLightValueScratchXZNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $var8, $par3, $par4);
        $var22 = $this.$blockAccess;
        $var17_0 = $par3 - 1 | 0;
        $this.$aoLightValueScratchYZNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $var17_0, $par4);
        $var22 = $this.$blockAccess;
        $var18_0 = $par3 + 1 | 0;
        $this.$aoLightValueScratchYZPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $var18_0, $par4);
        $var22 = $this.$blockAccess;
        $var19_0 = $par2 + 1 | 0;
        $this.$aoLightValueScratchXZPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $var19_0, $par3, $par4);
        $this.$aoBrightnessXZNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $par3, $par4);
        $this.$aoBrightnessYZNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var17_0, $par4);
        $this.$aoBrightnessYZPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var18_0, $par4);
        $this.$aoBrightnessXZPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var19_0, $par3, $par4);
        var$16 = nms_Block_canBlockGrass.data;
        $var22 = $this.$blockAccess;
        $var19 = $par4 - 1 | 0;
        $var16 = var$16[$var22.$getBlockId($var19_0, $par3, $var19)];
        $var17 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var8, $par3, $var19)];
        $var18 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var18_0, $var19)];
        $var19 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var17_0, $var19)];
        if (!$var17 && !$var19) {
            $this.$aoLightValueScratchXYZNNN = $this.$aoLightValueScratchXZNN;
            $this.$aoBrightnessXYZNNN = $this.$aoBrightnessXZNN;
        } else {
            $this.$aoLightValueScratchXYZNNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $var17_0, $par4);
            $this.$aoBrightnessXYZNNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $var17_0, $par4);
        }
        if (!$var17 && !$var18) {
            $this.$aoLightValueScratchXYZNPN = $this.$aoLightValueScratchXZNN;
            $this.$aoBrightnessXYZNPN = $this.$aoBrightnessXZNN;
        } else {
            $this.$aoLightValueScratchXYZNPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $var18_0, $par4);
            $this.$aoBrightnessXYZNPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $var18_0, $par4);
        }
        if (!$var16 && !$var19) {
            $this.$aoLightValueScratchXYZPNN = $this.$aoLightValueScratchXZPN;
            $this.$aoBrightnessXYZPNN = $this.$aoBrightnessXZPN;
        } else {
            $this.$aoLightValueScratchXYZPNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var19_0, $var17_0, $par4);
            $this.$aoBrightnessXYZPNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var19_0, $var17_0, $par4);
        }
        if (!$var16 && !$var18) {
            $this.$aoLightValueScratchXYZPPN = $this.$aoLightValueScratchXZPN;
            $this.$aoBrightnessXYZPPN = $this.$aoBrightnessXZPN;
        } else {
            $this.$aoLightValueScratchXYZPPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var19_0, $var18_0, $par4);
            $this.$aoBrightnessXYZPPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var19_0, $var18_0, $par4);
        }
        if ($this.$renderMinZ <= 0.0)
            $par4 = $par4 + 1 | 0;
        $var8 = $this.$renderMinZ > 0.0 && $this.$blockAccess.$isBlockOpaqueCube($par2, $par3, $par4 - 1 | 0) ? $var14 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 - 1 | 0);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $par4 - 1 | 0);
        var$22 = ($this.$aoLightValueScratchXZNN + $this.$aoLightValueScratchXYZNPN + $var21 + $this.$aoLightValueScratchYZPN) / 4.0;
        var$23 = ($var21 + $this.$aoLightValueScratchYZPN + $this.$aoLightValueScratchXZPN + $this.$aoLightValueScratchXYZPPN) / 4.0;
        var$24 = ($this.$aoLightValueScratchYZNN + $var21 + $this.$aoLightValueScratchXYZPNN + $this.$aoLightValueScratchXZPN) / 4.0;
        $var21 = ($this.$aoLightValueScratchXYZNNN + $this.$aoLightValueScratchXZNN + $this.$aoLightValueScratchYZNN + $var21) / 4.0;
        $this.$brightnessTopLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZNN, $this.$aoBrightnessXYZNPN, $this.$aoBrightnessYZPN, $var8);
        $this.$brightnessBottomLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZPN, $this.$aoBrightnessXZPN, $this.$aoBrightnessXYZPPN, $var8);
        $this.$brightnessBottomRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZNN, $this.$aoBrightnessXYZPNN, $this.$aoBrightnessXZPN, $var8);
        $this.$brightnessTopRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZNNN, $this.$aoBrightnessXZNN, $this.$aoBrightnessYZNN, $var8);
        if (!$var13) {
            $this.$colorRedTopRight = 0.800000011920929;
            $this.$colorRedBottomRight = 0.800000011920929;
            $this.$colorRedBottomLeft = 0.800000011920929;
            $this.$colorRedTopLeft = 0.800000011920929;
            $this.$colorGreenTopRight = 0.800000011920929;
            $this.$colorGreenBottomRight = 0.800000011920929;
            $this.$colorGreenBottomLeft = 0.800000011920929;
            $this.$colorGreenTopLeft = 0.800000011920929;
            $this.$colorBlueTopRight = 0.800000011920929;
            $this.$colorBlueBottomRight = 0.800000011920929;
            $this.$colorBlueBottomLeft = 0.800000011920929;
            $this.$colorBlueTopLeft = 0.800000011920929;
        } else {
            var$25 = $par5 * 0.800000011920929;
            $this.$colorRedTopRight = var$25;
            $this.$colorRedBottomRight = var$25;
            $this.$colorRedBottomLeft = var$25;
            $this.$colorRedTopLeft = var$25;
            var$25 = $par6 * 0.800000011920929;
            $this.$colorGreenTopRight = var$25;
            $this.$colorGreenBottomRight = var$25;
            $this.$colorGreenBottomLeft = var$25;
            $this.$colorGreenTopLeft = var$25;
            var$25 = $par7 * 0.800000011920929;
            $this.$colorBlueTopRight = var$25;
            $this.$colorBlueBottomRight = var$25;
            $this.$colorBlueBottomLeft = var$25;
            $this.$colorBlueTopLeft = var$25;
        }
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * var$22;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * var$22;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * var$22;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * var$23;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * var$23;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * var$23;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * var$24;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * var$24;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * var$24;
        $this.$colorRedTopRight = $this.$colorRedTopRight * $var21;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * $var21;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * $var21;
        $var22 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 2);
        var$26 = $par2;
        var$27 = $par3;
        var$28 = $par4;
        nms_RenderBlocks_renderFaceZNeg($this, $par1Block, var$26, var$27, var$28, $var22);
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var22.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            $this.$colorRedTopLeft = $this.$colorRedTopLeft * $par5;
            $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $par5;
            $this.$colorRedBottomRight = $this.$colorRedBottomRight * $par5;
            $this.$colorRedTopRight = $this.$colorRedTopRight * $par5;
            $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $par6;
            $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $par6;
            $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $par6;
            $this.$colorGreenTopRight = $this.$colorGreenTopRight * $par6;
            $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $par7;
            $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $par7;
            $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $par7;
            $this.$colorBlueTopRight = $this.$colorBlueTopRight * $par7;
            nms_RenderBlocks_renderFaceZNeg($this, $par1Block, var$26, var$27, var$28, nms_BlockGrass_getIconSideOverlay());
        }
        $var8 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3, $par4 + 1 | 0, 3))) {
        if ($this.$renderMaxZ >= 1.0)
            $par4 = $par4 + 1 | 0;
        $var22 = $this.$blockAccess;
        $var8 = $par2 - 1 | 0;
        $this.$aoLightValueScratchXZNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $var8, $par3, $par4);
        $var22 = $this.$blockAccess;
        $var17_0 = $par2 + 1 | 0;
        $this.$aoLightValueScratchXZPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $var17_0, $par3, $par4);
        $var22 = $this.$blockAccess;
        $var18_0 = $par3 - 1 | 0;
        $this.$aoLightValueScratchYZNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $var18_0, $par4);
        $var22 = $this.$blockAccess;
        $var19_0 = $par3 + 1 | 0;
        $this.$aoLightValueScratchYZPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $var19_0, $par4);
        $this.$aoBrightnessXZNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $par3, $par4);
        $this.$aoBrightnessXZPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var17_0, $par3, $par4);
        $this.$aoBrightnessYZNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var18_0, $par4);
        $this.$aoBrightnessYZPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $par4);
        var$16 = nms_Block_canBlockGrass.data;
        $var22 = $this.$blockAccess;
        $var19 = $par4 + 1 | 0;
        $var16 = var$16[$var22.$getBlockId($var17_0, $par3, $var19)];
        $var17 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var8, $par3, $var19)];
        $var18 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var19_0, $var19)];
        $var19 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var18_0, $var19)];
        if (!$var17 && !$var19) {
            $this.$aoLightValueScratchXYZNNP = $this.$aoLightValueScratchXZNP;
            $this.$aoBrightnessXYZNNP = $this.$aoBrightnessXZNP;
        } else {
            $this.$aoLightValueScratchXYZNNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $var18_0, $par4);
            $this.$aoBrightnessXYZNNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $var18_0, $par4);
        }
        if (!$var17 && !$var18) {
            $this.$aoLightValueScratchXYZNPP = $this.$aoLightValueScratchXZNP;
            $this.$aoBrightnessXYZNPP = $this.$aoBrightnessXZNP;
        } else {
            $this.$aoLightValueScratchXYZNPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $var19_0, $par4);
            $this.$aoBrightnessXYZNPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $var19_0, $par4);
        }
        if (!$var16 && !$var19) {
            $this.$aoLightValueScratchXYZPNP = $this.$aoLightValueScratchXZPP;
            $this.$aoBrightnessXYZPNP = $this.$aoBrightnessXZPP;
        } else {
            $this.$aoLightValueScratchXYZPNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var17_0, $var18_0, $par4);
            $this.$aoBrightnessXYZPNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var17_0, $var18_0, $par4);
        }
        if (!$var16 && !$var18) {
            $this.$aoLightValueScratchXYZPPP = $this.$aoLightValueScratchXZPP;
            $this.$aoBrightnessXYZPPP = $this.$aoBrightnessXZPP;
        } else {
            $this.$aoLightValueScratchXYZPPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var17_0, $var19_0, $par4);
            $this.$aoBrightnessXYZPPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var17_0, $var19_0, $par4);
        }
        if ($this.$renderMaxZ >= 1.0)
            $par4 = $par4 + (-1) | 0;
        $var8 = $this.$renderMaxZ < 1.0 && $this.$blockAccess.$isBlockOpaqueCube($par2, $par3, $par4 + 1 | 0) ? $var14 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 + 1 | 0);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $par4 + 1 | 0);
        var$22 = ($this.$aoLightValueScratchXZNP + $this.$aoLightValueScratchXYZNPP + $var21 + $this.$aoLightValueScratchYZPP) / 4.0;
        var$23 = ($var21 + $this.$aoLightValueScratchYZPP + $this.$aoLightValueScratchXZPP + $this.$aoLightValueScratchXYZPPP) / 4.0;
        var$24 = ($this.$aoLightValueScratchYZNP + $var21 + $this.$aoLightValueScratchXYZPNP + $this.$aoLightValueScratchXZPP) / 4.0;
        $var21 = ($this.$aoLightValueScratchXYZNNP + $this.$aoLightValueScratchXZNP + $this.$aoLightValueScratchYZNP + $var21) / 4.0;
        $this.$brightnessTopLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZNP, $this.$aoBrightnessXYZNPP, $this.$aoBrightnessYZPP, $var8);
        $this.$brightnessTopRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZPP, $this.$aoBrightnessXZPP, $this.$aoBrightnessXYZPPP, $var8);
        $this.$brightnessBottomRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZNP, $this.$aoBrightnessXYZPNP, $this.$aoBrightnessXZPP, $var8);
        $this.$brightnessBottomLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZNNP, $this.$aoBrightnessXZNP, $this.$aoBrightnessYZNP, $var8);
        if (!$var13) {
            $this.$colorRedTopRight = 0.800000011920929;
            $this.$colorRedBottomRight = 0.800000011920929;
            $this.$colorRedBottomLeft = 0.800000011920929;
            $this.$colorRedTopLeft = 0.800000011920929;
            $this.$colorGreenTopRight = 0.800000011920929;
            $this.$colorGreenBottomRight = 0.800000011920929;
            $this.$colorGreenBottomLeft = 0.800000011920929;
            $this.$colorGreenTopLeft = 0.800000011920929;
            $this.$colorBlueTopRight = 0.800000011920929;
            $this.$colorBlueBottomRight = 0.800000011920929;
            $this.$colorBlueBottomLeft = 0.800000011920929;
            $this.$colorBlueTopLeft = 0.800000011920929;
        } else {
            var$25 = $par5 * 0.800000011920929;
            $this.$colorRedTopRight = var$25;
            $this.$colorRedBottomRight = var$25;
            $this.$colorRedBottomLeft = var$25;
            $this.$colorRedTopLeft = var$25;
            var$25 = $par6 * 0.800000011920929;
            $this.$colorGreenTopRight = var$25;
            $this.$colorGreenBottomRight = var$25;
            $this.$colorGreenBottomLeft = var$25;
            $this.$colorGreenTopLeft = var$25;
            var$25 = $par7 * 0.800000011920929;
            $this.$colorBlueTopRight = var$25;
            $this.$colorBlueBottomRight = var$25;
            $this.$colorBlueBottomLeft = var$25;
            $this.$colorBlueTopLeft = var$25;
        }
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * var$22;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * var$22;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * var$22;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $var21;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $var21;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $var21;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * var$24;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * var$24;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * var$24;
        $this.$colorRedTopRight = $this.$colorRedTopRight * var$23;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * var$23;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * var$23;
        $var22 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 3);
        var$26 = $par2;
        var$27 = $par3;
        var$28 = $par4;
        nms_RenderBlocks_renderFaceZPos($this, $par1Block, var$26, var$27, var$28, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 3));
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var22.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            $this.$colorRedTopLeft = $this.$colorRedTopLeft * $par5;
            $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $par5;
            $this.$colorRedBottomRight = $this.$colorRedBottomRight * $par5;
            $this.$colorRedTopRight = $this.$colorRedTopRight * $par5;
            $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $par6;
            $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $par6;
            $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $par6;
            $this.$colorGreenTopRight = $this.$colorGreenTopRight * $par6;
            $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $par7;
            $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $par7;
            $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $par7;
            $this.$colorBlueTopRight = $this.$colorBlueTopRight * $par7;
            nms_RenderBlocks_renderFaceZPos($this, $par1Block, var$26, var$27, var$28, nms_BlockGrass_getIconSideOverlay());
        }
        $var8 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2 - 1 | 0, $par3, $par4, 4))) {
        if ($this.$renderMinX <= 0.0)
            $par2 = $par2 + (-1) | 0;
        $var22 = $this.$blockAccess;
        $var8 = $par3 - 1 | 0;
        $this.$aoLightValueScratchXYNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $var8, $par4);
        $var22 = $this.$blockAccess;
        $var17_0 = $par4 - 1 | 0;
        $this.$aoLightValueScratchXZNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $par3, $var17_0);
        $var22 = $this.$blockAccess;
        $var18_0 = $par4 + 1 | 0;
        $this.$aoLightValueScratchXZNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $par3, $var18_0);
        $var22 = $this.$blockAccess;
        $var19_0 = $par3 + 1 | 0;
        $this.$aoLightValueScratchXYNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $var19_0, $par4);
        $this.$aoBrightnessXYNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $par4);
        $this.$aoBrightnessXZNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $var17_0);
        $this.$aoBrightnessXZNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $var18_0);
        $this.$aoBrightnessXYNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $par4);
        var$16 = nms_Block_canBlockGrass.data;
        $var22 = $this.$blockAccess;
        $var19 = $par2 - 1 | 0;
        $var16 = var$16[$var22.$getBlockId($var19, $var19_0, $par4)];
        $var17 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $var8, $par4)];
        $var18 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $par3, $var17_0)];
        $var19 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $par3, $var18_0)];
        if (!$var18 && !$var17) {
            $this.$aoLightValueScratchXYZNNN = $this.$aoLightValueScratchXZNN;
            $this.$aoBrightnessXYZNNN = $this.$aoBrightnessXZNN;
        } else {
            $this.$aoLightValueScratchXYZNNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var8, $var17_0);
            $this.$aoBrightnessXYZNNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $var17_0);
        }
        if (!$var19 && !$var17) {
            $this.$aoLightValueScratchXYZNNP = $this.$aoLightValueScratchXZNP;
            $this.$aoBrightnessXYZNNP = $this.$aoBrightnessXZNP;
        } else {
            $this.$aoLightValueScratchXYZNNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var8, $var18_0);
            $this.$aoBrightnessXYZNNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $var18_0);
        }
        if (!$var18 && !$var16) {
            $this.$aoLightValueScratchXYZNPN = $this.$aoLightValueScratchXZNN;
            $this.$aoBrightnessXYZNPN = $this.$aoBrightnessXZNN;
        } else {
            $this.$aoLightValueScratchXYZNPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var19_0, $var17_0);
            $this.$aoBrightnessXYZNPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $var17_0);
        }
        if (!$var19 && !$var16) {
            $this.$aoLightValueScratchXYZNPP = $this.$aoLightValueScratchXZNP;
            $this.$aoBrightnessXYZNPP = $this.$aoBrightnessXZNP;
        } else {
            $this.$aoLightValueScratchXYZNPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var19_0, $var18_0);
            $this.$aoBrightnessXYZNPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $var18_0);
        }
        if ($this.$renderMinX <= 0.0)
            $par2 = $par2 + 1 | 0;
        $var8 = $this.$renderMinX > 0.0 && $this.$blockAccess.$isBlockOpaqueCube($par2 - 1 | 0, $par3, $par4) ? $var14 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 - 1 | 0, $par3, $par4);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2 - 1 | 0, $par3, $par4);
        var$22 = ($this.$aoLightValueScratchXYNN + $this.$aoLightValueScratchXYZNNP + $var21 + $this.$aoLightValueScratchXZNP) / 4.0;
        var$23 = ($var21 + $this.$aoLightValueScratchXZNP + $this.$aoLightValueScratchXYNP + $this.$aoLightValueScratchXYZNPP) / 4.0;
        var$24 = ($this.$aoLightValueScratchXZNN + $var21 + $this.$aoLightValueScratchXYZNPN + $this.$aoLightValueScratchXYNP) / 4.0;
        $var21 = ($this.$aoLightValueScratchXYZNNN + $this.$aoLightValueScratchXYNN + $this.$aoLightValueScratchXZNN + $var21) / 4.0;
        $this.$brightnessTopRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYNN, $this.$aoBrightnessXYZNNP, $this.$aoBrightnessXZNP, $var8);
        $this.$brightnessTopLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZNP, $this.$aoBrightnessXYNP, $this.$aoBrightnessXYZNPP, $var8);
        $this.$brightnessBottomLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZNN, $this.$aoBrightnessXYZNPN, $this.$aoBrightnessXYNP, $var8);
        $this.$brightnessBottomRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZNNN, $this.$aoBrightnessXYNN, $this.$aoBrightnessXZNN, $var8);
        if (!$var13) {
            $this.$colorRedTopRight = 0.6000000238418579;
            $this.$colorRedBottomRight = 0.6000000238418579;
            $this.$colorRedBottomLeft = 0.6000000238418579;
            $this.$colorRedTopLeft = 0.6000000238418579;
            $this.$colorGreenTopRight = 0.6000000238418579;
            $this.$colorGreenBottomRight = 0.6000000238418579;
            $this.$colorGreenBottomLeft = 0.6000000238418579;
            $this.$colorGreenTopLeft = 0.6000000238418579;
            $this.$colorBlueTopRight = 0.6000000238418579;
            $this.$colorBlueBottomRight = 0.6000000238418579;
            $this.$colorBlueBottomLeft = 0.6000000238418579;
            $this.$colorBlueTopLeft = 0.6000000238418579;
        } else {
            var$25 = $par5 * 0.6000000238418579;
            $this.$colorRedTopRight = var$25;
            $this.$colorRedBottomRight = var$25;
            $this.$colorRedBottomLeft = var$25;
            $this.$colorRedTopLeft = var$25;
            var$25 = $par6 * 0.6000000238418579;
            $this.$colorGreenTopRight = var$25;
            $this.$colorGreenBottomRight = var$25;
            $this.$colorGreenBottomLeft = var$25;
            $this.$colorGreenTopLeft = var$25;
            var$25 = $par7 * 0.6000000238418579;
            $this.$colorBlueTopRight = var$25;
            $this.$colorBlueBottomRight = var$25;
            $this.$colorBlueBottomLeft = var$25;
            $this.$colorBlueTopLeft = var$25;
        }
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * var$23;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * var$23;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * var$23;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * var$24;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * var$24;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * var$24;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * $var21;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $var21;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $var21;
        $this.$colorRedTopRight = $this.$colorRedTopRight * var$22;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * var$22;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * var$22;
        $var22 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 4);
        var$26 = $par2;
        var$27 = $par3;
        var$28 = $par4;
        nms_RenderBlocks_renderFaceXNeg($this, $par1Block, var$26, var$27, var$28, $var22);
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var22.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            $this.$colorRedTopLeft = $this.$colorRedTopLeft * $par5;
            $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $par5;
            $this.$colorRedBottomRight = $this.$colorRedBottomRight * $par5;
            $this.$colorRedTopRight = $this.$colorRedTopRight * $par5;
            $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $par6;
            $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $par6;
            $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $par6;
            $this.$colorGreenTopRight = $this.$colorGreenTopRight * $par6;
            $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $par7;
            $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $par7;
            $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $par7;
            $this.$colorBlueTopRight = $this.$colorBlueTopRight * $par7;
            nms_RenderBlocks_renderFaceXNeg($this, $par1Block, var$26, var$27, var$28, nms_BlockGrass_getIconSideOverlay());
        }
        $var8 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2 + 1 | 0, $par3, $par4, 5))) {
        if ($this.$renderMaxX >= 1.0)
            $par2 = $par2 + 1 | 0;
        $var22 = $this.$blockAccess;
        $var8 = $par3 - 1 | 0;
        $this.$aoLightValueScratchXYPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $var8, $par4);
        $var22 = $this.$blockAccess;
        $var17_0 = $par4 - 1 | 0;
        $this.$aoLightValueScratchXZPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $par3, $var17_0);
        $var22 = $this.$blockAccess;
        $var18_0 = $par4 + 1 | 0;
        $this.$aoLightValueScratchXZPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $par3, $var18_0);
        $var22 = $this.$blockAccess;
        $var19_0 = $par3 + 1 | 0;
        $this.$aoLightValueScratchXYPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var22, $par2, $var19_0, $par4);
        $this.$aoBrightnessXYPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $par4);
        $this.$aoBrightnessXZPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $var17_0);
        $this.$aoBrightnessXZPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $var18_0);
        $this.$aoBrightnessXYPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $par4);
        var$16 = nms_Block_canBlockGrass.data;
        $var22 = $this.$blockAccess;
        $var19 = $par2 + 1 | 0;
        $var16_0 = var$16[$var22.$getBlockId($var19, $var19_0, $par4)];
        $var17 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $var8, $par4)];
        $var18 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $par3, $var18_0)];
        $var19 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $par3, $var17_0)];
        if (!$var17 && !$var19) {
            $this.$aoLightValueScratchXYZPNN = $this.$aoLightValueScratchXZPN;
            $this.$aoBrightnessXYZPNN = $this.$aoBrightnessXZPN;
        } else {
            $this.$aoLightValueScratchXYZPNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var8, $var17_0);
            $this.$aoBrightnessXYZPNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $var17_0);
        }
        if (!$var17 && !$var18) {
            $this.$aoLightValueScratchXYZPNP = $this.$aoLightValueScratchXZPP;
            $this.$aoBrightnessXYZPNP = $this.$aoBrightnessXZPP;
        } else {
            $this.$aoLightValueScratchXYZPNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var8, $var18_0);
            $this.$aoBrightnessXYZPNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $var18_0);
        }
        if (!$var16_0 && !$var19) {
            $this.$aoLightValueScratchXYZPPN = $this.$aoLightValueScratchXZPN;
            $this.$aoBrightnessXYZPPN = $this.$aoBrightnessXZPN;
        } else {
            $this.$aoLightValueScratchXYZPPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var19_0, $var17_0);
            $this.$aoBrightnessXYZPPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $var17_0);
        }
        if (!$var16_0 && !$var18) {
            $this.$aoLightValueScratchXYZPPP = $this.$aoLightValueScratchXZPP;
            $this.$aoBrightnessXYZPPP = $this.$aoBrightnessXZPP;
        } else {
            $this.$aoLightValueScratchXYZPPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var19_0, $var18_0);
            $this.$aoBrightnessXYZPPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $var18_0);
        }
        if ($this.$renderMaxX >= 1.0)
            $par2 = $par2 + (-1) | 0;
        if (!($this.$renderMaxX < 1.0 && $this.$blockAccess.$isBlockOpaqueCube($par2 + 1 | 0, $par3, $par4)))
            $var14 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 + 1 | 0, $par3, $par4);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2 + 1 | 0, $par3, $par4);
        var$22 = ($this.$aoLightValueScratchXYPN + $this.$aoLightValueScratchXYZPNP + $var21 + $this.$aoLightValueScratchXZPP) / 4.0;
        var$23 = ($this.$aoLightValueScratchXYZPNN + $this.$aoLightValueScratchXYPN + $this.$aoLightValueScratchXZPN + $var21) / 4.0;
        var$24 = ($this.$aoLightValueScratchXZPN + $var21 + $this.$aoLightValueScratchXYZPPN + $this.$aoLightValueScratchXYPP) / 4.0;
        $var21 = ($var21 + $this.$aoLightValueScratchXZPP + $this.$aoLightValueScratchXYPP + $this.$aoLightValueScratchXYZPPP) / 4.0;
        $this.$brightnessTopLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYPN, $this.$aoBrightnessXYZPNP, $this.$aoBrightnessXZPP, $var14);
        $this.$brightnessTopRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZPP, $this.$aoBrightnessXYPP, $this.$aoBrightnessXYZPPP, $var14);
        $this.$brightnessBottomRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZPN, $this.$aoBrightnessXYZPPN, $this.$aoBrightnessXYPP, $var14);
        $this.$brightnessBottomLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZPNN, $this.$aoBrightnessXYPN, $this.$aoBrightnessXZPN, $var14);
        if (!$var13) {
            $this.$colorRedTopRight = 0.6000000238418579;
            $this.$colorRedBottomRight = 0.6000000238418579;
            $this.$colorRedBottomLeft = 0.6000000238418579;
            $this.$colorRedTopLeft = 0.6000000238418579;
            $this.$colorGreenTopRight = 0.6000000238418579;
            $this.$colorGreenBottomRight = 0.6000000238418579;
            $this.$colorGreenBottomLeft = 0.6000000238418579;
            $this.$colorGreenTopLeft = 0.6000000238418579;
            $this.$colorBlueTopRight = 0.6000000238418579;
            $this.$colorBlueBottomRight = 0.6000000238418579;
            $this.$colorBlueBottomLeft = 0.6000000238418579;
            $this.$colorBlueTopLeft = 0.6000000238418579;
        } else {
            var$25 = $par5 * 0.6000000238418579;
            $this.$colorRedTopRight = var$25;
            $this.$colorRedBottomRight = var$25;
            $this.$colorRedBottomLeft = var$25;
            $this.$colorRedTopLeft = var$25;
            var$25 = $par6 * 0.6000000238418579;
            $this.$colorGreenTopRight = var$25;
            $this.$colorGreenBottomRight = var$25;
            $this.$colorGreenBottomLeft = var$25;
            $this.$colorGreenTopLeft = var$25;
            var$25 = $par7 * 0.6000000238418579;
            $this.$colorBlueTopRight = var$25;
            $this.$colorBlueBottomRight = var$25;
            $this.$colorBlueBottomLeft = var$25;
            $this.$colorBlueTopLeft = var$25;
        }
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * var$22;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * var$22;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * var$22;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * var$23;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * var$23;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * var$23;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * var$24;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * var$24;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * var$24;
        $this.$colorRedTopRight = $this.$colorRedTopRight * $var21;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * $var21;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * $var21;
        $var22 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 5);
        var$26 = $par2;
        var$27 = $par3;
        var$28 = $par4;
        nms_RenderBlocks_renderFaceXPos($this, $par1Block, var$26, var$27, var$28, $var22);
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var22.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            $this.$colorRedTopLeft = $this.$colorRedTopLeft * $par5;
            $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $par5;
            $this.$colorRedBottomRight = $this.$colorRedBottomRight * $par5;
            $this.$colorRedTopRight = $this.$colorRedTopRight * $par5;
            $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $par6;
            $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $par6;
            $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $par6;
            $this.$colorGreenTopRight = $this.$colorGreenTopRight * $par6;
            $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $par7;
            $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $par7;
            $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $par7;
            $this.$colorBlueTopRight = $this.$colorBlueTopRight * $par7;
            nms_RenderBlocks_renderFaceXPos($this, $par1Block, var$26, var$27, var$28, nms_BlockGrass_getIconSideOverlay());
        }
        $var8 = 1;
    }
    $this.$enableAO = 0;
    return $var8;
}
function nms_RenderBlocks_func_102027_b($this, $par1Block, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var13, $var14, $var30, $var19, $var16, $var17, $var18, var$16, $var19_0, $var16_0, $var17_0, $var18_0, $var21, $var24, $var25, $var22, $var23, var$26, var$27, var$28, var$29, var$30, $var26, $var27, $var28, $var29, $var21_0;
    $this.$enableAO = 1;
    $var8 = 0;
    $var13 = 1;
    $var14 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4);
    nlea_Tessellator_$callClinit();
    nlea_Tessellator_setBrightness(nlea_Tessellator_instance, 983055);
    if (jl_String_equals(nms_RenderBlocks_getBlockIcon0($this, $par1Block).$getIconName(), $rt_s(964)))
        $var13 = 0;
    else if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $var13 = 0;
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3 - 1 | 0, $par4, 0))) {
        if ($this.$renderMinY <= 0.0)
            $par3 = $par3 + (-1) | 0;
        $var30 = $this.$blockAccess;
        $var19 = $par2 - 1 | 0;
        $this.$aoBrightnessXYNN = $par1Block.$getMixedBrightnessForBlock($var30, $var19, $par3, $par4);
        $var30 = $this.$blockAccess;
        $var16 = $par4 - 1 | 0;
        $this.$aoBrightnessYZNN = $par1Block.$getMixedBrightnessForBlock($var30, $par2, $par3, $var16);
        $var30 = $this.$blockAccess;
        $var17 = $par4 + 1 | 0;
        $this.$aoBrightnessYZNP = $par1Block.$getMixedBrightnessForBlock($var30, $par2, $par3, $var17);
        $var30 = $this.$blockAccess;
        $var18 = $par2 + 1 | 0;
        $this.$aoBrightnessXYPN = $par1Block.$getMixedBrightnessForBlock($var30, $var18, $par3, $par4);
        $this.$aoLightValueScratchXYNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var19, $par3, $par4);
        $this.$aoLightValueScratchYZNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $var16);
        $this.$aoLightValueScratchYZNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $var17);
        $this.$aoLightValueScratchXYPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var18, $par3, $par4);
        var$16 = nms_Block_canBlockGrass.data;
        $var30 = $this.$blockAccess;
        $var19_0 = $par3 - 1 | 0;
        $var16_0 = var$16[$var30.$getBlockId($var18, $var19_0, $par4)];
        $var17_0 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $var19_0, $par4)];
        $var18_0 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var19_0, $var17)];
        $var19_0 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var19_0, $var16)];
        if (!$var19_0 && !$var17_0) {
            $this.$aoLightValueScratchXYZNNN = $this.$aoLightValueScratchXYNN;
            $this.$aoBrightnessXYZNNN = $this.$aoBrightnessXYNN;
        } else {
            $this.$aoLightValueScratchXYZNNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var19, $par3, $var16);
            $this.$aoBrightnessXYZNNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var19, $par3, $var16);
        }
        if (!$var18_0 && !$var17_0) {
            $this.$aoLightValueScratchXYZNNP = $this.$aoLightValueScratchXYNN;
            $this.$aoBrightnessXYZNNP = $this.$aoBrightnessXYNN;
        } else {
            $this.$aoLightValueScratchXYZNNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var19, $par3, $var17);
            $this.$aoBrightnessXYZNNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var19, $par3, $var17);
        }
        if (!$var19_0 && !$var16_0) {
            $this.$aoLightValueScratchXYZPNN = $this.$aoLightValueScratchXYPN;
            $this.$aoBrightnessXYZPNN = $this.$aoBrightnessXYPN;
        } else {
            $this.$aoLightValueScratchXYZPNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var18, $par3, $var16);
            $this.$aoBrightnessXYZPNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var18, $par3, $var16);
        }
        if (!$var18_0 && !$var16_0) {
            $this.$aoLightValueScratchXYZPNP = $this.$aoLightValueScratchXYPN;
            $this.$aoBrightnessXYZPNP = $this.$aoBrightnessXYPN;
        } else {
            $this.$aoLightValueScratchXYZPNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var18, $par3, $var17);
            $this.$aoBrightnessXYZPNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var18, $par3, $var17);
        }
        if ($this.$renderMinY <= 0.0)
            $par3 = $par3 + 1 | 0;
        $var8 = $this.$renderMinY > 0.0 && $this.$blockAccess.$isBlockOpaqueCube($par2, $par3 - 1 | 0, $par4) ? $var14 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 - 1 | 0, $par4);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3 - 1 | 0, $par4);
        $var24 = ($this.$aoLightValueScratchXYZNNP + $this.$aoLightValueScratchXYNN + $this.$aoLightValueScratchYZNP + $var21) / 4.0;
        $var25 = ($this.$aoLightValueScratchYZNP + $var21 + $this.$aoLightValueScratchXYZPNP + $this.$aoLightValueScratchXYPN) / 4.0;
        $var22 = ($var21 + $this.$aoLightValueScratchYZNN + $this.$aoLightValueScratchXYPN + $this.$aoLightValueScratchXYZPNN) / 4.0;
        $var21 = ($this.$aoLightValueScratchXYNN + $this.$aoLightValueScratchXYZNNN + $var21 + $this.$aoLightValueScratchYZNN) / 4.0;
        $this.$brightnessTopLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZNNP, $this.$aoBrightnessXYNN, $this.$aoBrightnessYZNP, $var8);
        $this.$brightnessTopRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZNP, $this.$aoBrightnessXYZPNP, $this.$aoBrightnessXYPN, $var8);
        $this.$brightnessBottomRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZNN, $this.$aoBrightnessXYPN, $this.$aoBrightnessXYZPNN, $var8);
        $this.$brightnessBottomLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYNN, $this.$aoBrightnessXYZNNN, $this.$aoBrightnessYZNN, $var8);
        if (!$var13) {
            $this.$colorRedTopRight = 0.5;
            $this.$colorRedBottomRight = 0.5;
            $this.$colorRedBottomLeft = 0.5;
            $this.$colorRedTopLeft = 0.5;
            $this.$colorGreenTopRight = 0.5;
            $this.$colorGreenBottomRight = 0.5;
            $this.$colorGreenBottomLeft = 0.5;
            $this.$colorGreenTopLeft = 0.5;
            $this.$colorBlueTopRight = 0.5;
            $this.$colorBlueBottomRight = 0.5;
            $this.$colorBlueBottomLeft = 0.5;
            $this.$colorBlueTopLeft = 0.5;
        } else {
            $var23 = $par5 * 0.5;
            $this.$colorRedTopRight = $var23;
            $this.$colorRedBottomRight = $var23;
            $this.$colorRedBottomLeft = $var23;
            $this.$colorRedTopLeft = $var23;
            $var23 = $par6 * 0.5;
            $this.$colorGreenTopRight = $var23;
            $this.$colorGreenBottomRight = $var23;
            $this.$colorGreenBottomLeft = $var23;
            $this.$colorGreenTopLeft = $var23;
            $var23 = $par7 * 0.5;
            $this.$colorBlueTopRight = $var23;
            $this.$colorBlueBottomRight = $var23;
            $this.$colorBlueBottomLeft = $var23;
            $this.$colorBlueTopLeft = $var23;
        }
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * $var24;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $var24;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $var24;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $var21;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $var21;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $var21;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * $var22;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $var22;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $var22;
        $this.$colorRedTopRight = $this.$colorRedTopRight * $var25;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * $var25;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * $var25;
        nms_RenderBlocks_renderFaceYNeg($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 0));
        $var8 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3 + 1 | 0, $par4, 1))) {
        if ($this.$renderMaxY >= 1.0)
            $par3 = $par3 + 1 | 0;
        $var30 = $this.$blockAccess;
        $var8 = $par2 - 1 | 0;
        $this.$aoBrightnessXYNP = $par1Block.$getMixedBrightnessForBlock($var30, $var8, $par3, $par4);
        $var30 = $this.$blockAccess;
        $var17_0 = $par2 + 1 | 0;
        $this.$aoBrightnessXYPP = $par1Block.$getMixedBrightnessForBlock($var30, $var17_0, $par3, $par4);
        $var30 = $this.$blockAccess;
        $var18_0 = $par4 - 1 | 0;
        $this.$aoBrightnessYZPN = $par1Block.$getMixedBrightnessForBlock($var30, $par2, $par3, $var18_0);
        $var30 = $this.$blockAccess;
        $var19_0 = $par4 + 1 | 0;
        $this.$aoBrightnessYZPP = $par1Block.$getMixedBrightnessForBlock($var30, $par2, $par3, $var19_0);
        $this.$aoLightValueScratchXYNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $par3, $par4);
        $this.$aoLightValueScratchXYPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var17_0, $par3, $par4);
        $this.$aoLightValueScratchYZPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $var18_0);
        $this.$aoLightValueScratchYZPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $var19_0);
        var$16 = nms_Block_canBlockGrass.data;
        $var30 = $this.$blockAccess;
        $var19 = $par3 + 1 | 0;
        $var16 = var$16[$var30.$getBlockId($var17_0, $var19, $par4)];
        $var17 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var8, $var19, $par4)];
        $var18 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var19, $var19_0)];
        $var19 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var19, $var18_0)];
        if (!$var19 && !$var17) {
            $this.$aoLightValueScratchXYZNPN = $this.$aoLightValueScratchXYNP;
            $this.$aoBrightnessXYZNPN = $this.$aoBrightnessXYNP;
        } else {
            $this.$aoLightValueScratchXYZNPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $par3, $var18_0);
            $this.$aoBrightnessXYZNPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $par3, $var18_0);
        }
        if (!$var19 && !$var16) {
            $this.$aoLightValueScratchXYZPPN = $this.$aoLightValueScratchXYPP;
            $this.$aoBrightnessXYZPPN = $this.$aoBrightnessXYPP;
        } else {
            $this.$aoLightValueScratchXYZPPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var17_0, $par3, $var18_0);
            $this.$aoBrightnessXYZPPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var17_0, $par3, $var18_0);
        }
        if (!$var18 && !$var17) {
            $this.$aoLightValueScratchXYZNPP = $this.$aoLightValueScratchXYNP;
            $this.$aoBrightnessXYZNPP = $this.$aoBrightnessXYNP;
        } else {
            $this.$aoLightValueScratchXYZNPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $par3, $var19_0);
            $this.$aoBrightnessXYZNPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $par3, $var19_0);
        }
        if (!$var18 && !$var16) {
            $this.$aoLightValueScratchXYZPPP = $this.$aoLightValueScratchXYPP;
            $this.$aoBrightnessXYZPPP = $this.$aoBrightnessXYPP;
        } else {
            $this.$aoLightValueScratchXYZPPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var17_0, $par3, $var19_0);
            $this.$aoBrightnessXYZPPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var17_0, $par3, $var19_0);
        }
        if ($this.$renderMaxY >= 1.0)
            $par3 = $par3 + (-1) | 0;
        $var8 = $this.$renderMaxY < 1.0 && $this.$blockAccess.$isBlockOpaqueCube($par2, $par3 + 1 | 0, $par4) ? $var14 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 + 1 | 0, $par4);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3 + 1 | 0, $par4);
        $var24 = ($this.$aoLightValueScratchXYZNPP + $this.$aoLightValueScratchXYNP + $this.$aoLightValueScratchYZPP + $var21) / 4.0;
        $var25 = ($this.$aoLightValueScratchYZPP + $var21 + $this.$aoLightValueScratchXYZPPP + $this.$aoLightValueScratchXYPP) / 4.0;
        $var22 = ($var21 + $this.$aoLightValueScratchYZPN + $this.$aoLightValueScratchXYPP + $this.$aoLightValueScratchXYZPPN) / 4.0;
        $var21 = ($this.$aoLightValueScratchXYNP + $this.$aoLightValueScratchXYZNPN + $var21 + $this.$aoLightValueScratchYZPN) / 4.0;
        $this.$brightnessTopRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZNPP, $this.$aoBrightnessXYNP, $this.$aoBrightnessYZPP, $var8);
        $this.$brightnessTopLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZPP, $this.$aoBrightnessXYZPPP, $this.$aoBrightnessXYPP, $var8);
        $this.$brightnessBottomLeft = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZPN, $this.$aoBrightnessXYPP, $this.$aoBrightnessXYZPPN, $var8);
        $this.$brightnessBottomRight = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYNP, $this.$aoBrightnessXYZNPN, $this.$aoBrightnessYZPN, $var8);
        $this.$colorRedTopRight = $par5;
        $this.$colorRedBottomRight = $par5;
        $this.$colorRedBottomLeft = $par5;
        $this.$colorRedTopLeft = $par5;
        $this.$colorGreenTopRight = $par6;
        $this.$colorGreenBottomRight = $par6;
        $this.$colorGreenBottomLeft = $par6;
        $this.$colorGreenTopLeft = $par6;
        $this.$colorBlueTopRight = $par7;
        $this.$colorBlueBottomRight = $par7;
        $this.$colorBlueBottomLeft = $par7;
        $this.$colorBlueTopLeft = $par7;
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * $var25;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $var25;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $var25;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $var22;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $var22;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $var22;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * $var21;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $var21;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $var21;
        $this.$colorRedTopRight = $this.$colorRedTopRight * $var24;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * $var24;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * $var24;
        nms_RenderBlocks_renderFaceYPos($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 1));
        $var8 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3, $par4 - 1 | 0, 2))) {
        if ($this.$renderMinZ <= 0.0)
            $par4 = $par4 + (-1) | 0;
        $var30 = $this.$blockAccess;
        $var8 = $par2 - 1 | 0;
        $this.$aoLightValueScratchXZNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $var8, $par3, $par4);
        $var30 = $this.$blockAccess;
        $var17_0 = $par3 - 1 | 0;
        $this.$aoLightValueScratchYZNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $var17_0, $par4);
        $var30 = $this.$blockAccess;
        $var18_0 = $par3 + 1 | 0;
        $this.$aoLightValueScratchYZPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $var18_0, $par4);
        $var30 = $this.$blockAccess;
        $var19_0 = $par2 + 1 | 0;
        $this.$aoLightValueScratchXZPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $var19_0, $par3, $par4);
        $this.$aoBrightnessXZNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $par3, $par4);
        $this.$aoBrightnessYZNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var17_0, $par4);
        $this.$aoBrightnessYZPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var18_0, $par4);
        $this.$aoBrightnessXZPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var19_0, $par3, $par4);
        var$16 = nms_Block_canBlockGrass.data;
        $var30 = $this.$blockAccess;
        $var19 = $par4 - 1 | 0;
        $var16 = var$16[$var30.$getBlockId($var19_0, $par3, $var19)];
        $var17 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var8, $par3, $var19)];
        $var18 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var18_0, $var19)];
        $var19 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var17_0, $var19)];
        if (!$var17 && !$var19) {
            $this.$aoLightValueScratchXYZNNN = $this.$aoLightValueScratchXZNN;
            $this.$aoBrightnessXYZNNN = $this.$aoBrightnessXZNN;
        } else {
            $this.$aoLightValueScratchXYZNNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $var17_0, $par4);
            $this.$aoBrightnessXYZNNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $var17_0, $par4);
        }
        if (!$var17 && !$var18) {
            $this.$aoLightValueScratchXYZNPN = $this.$aoLightValueScratchXZNN;
            $this.$aoBrightnessXYZNPN = $this.$aoBrightnessXZNN;
        } else {
            $this.$aoLightValueScratchXYZNPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $var18_0, $par4);
            $this.$aoBrightnessXYZNPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $var18_0, $par4);
        }
        if (!$var16 && !$var19) {
            $this.$aoLightValueScratchXYZPNN = $this.$aoLightValueScratchXZPN;
            $this.$aoBrightnessXYZPNN = $this.$aoBrightnessXZPN;
        } else {
            $this.$aoLightValueScratchXYZPNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var19_0, $var17_0, $par4);
            $this.$aoBrightnessXYZPNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var19_0, $var17_0, $par4);
        }
        if (!$var16 && !$var18) {
            $this.$aoLightValueScratchXYZPPN = $this.$aoLightValueScratchXZPN;
            $this.$aoBrightnessXYZPPN = $this.$aoBrightnessXZPN;
        } else {
            $this.$aoLightValueScratchXYZPPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var19_0, $var18_0, $par4);
            $this.$aoBrightnessXYZPPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var19_0, $var18_0, $par4);
        }
        if ($this.$renderMinZ <= 0.0)
            $par4 = $par4 + 1 | 0;
        $var8 = $this.$renderMinZ > 0.0 && $this.$blockAccess.$isBlockOpaqueCube($par2, $par3, $par4 - 1 | 0) ? $var14 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 - 1 | 0);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $par4 - 1 | 0);
        $var22 = ($this.$aoLightValueScratchXZNN + $this.$aoLightValueScratchXYZNPN + $var21 + $this.$aoLightValueScratchYZPN) / 4.0;
        $var23 = ($var21 + $this.$aoLightValueScratchYZPN + $this.$aoLightValueScratchXZPN + $this.$aoLightValueScratchXYZPPN) / 4.0;
        $var24 = ($this.$aoLightValueScratchYZNN + $var21 + $this.$aoLightValueScratchXYZPNN + $this.$aoLightValueScratchXZPN) / 4.0;
        $var25 = ($this.$aoLightValueScratchXYZNNN + $this.$aoLightValueScratchXZNN + $this.$aoLightValueScratchYZNN + $var21) / 4.0;
        var$26 = $var22;
        var$27 = var$26 * $this.$renderMaxY * (1.0 - $this.$renderMinX);
        var$28 = $var23;
        var$27 = var$27 + var$28 * $this.$renderMinY * $this.$renderMinX;
        var$29 = $var24;
        var$27 = var$27 + var$29 * (1.0 - $this.$renderMaxY) * $this.$renderMinX;
        var$30 = $var25;
        $var21 = var$27 + var$30 * (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMinX);
        $var24 = var$26 * $this.$renderMaxY * (1.0 - $this.$renderMaxX) + var$28 * $this.$renderMaxY * $this.$renderMaxX + var$29 * (1.0 - $this.$renderMaxY) * $this.$renderMaxX + var$30 * (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMaxX);
        $var25 = var$26 * $this.$renderMinY * (1.0 - $this.$renderMaxX) + var$28 * $this.$renderMinY * $this.$renderMaxX + var$29 * (1.0 - $this.$renderMinY) * $this.$renderMaxX + var$30 * (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMaxX);
        $var23 = var$26 * $this.$renderMinY * (1.0 - $this.$renderMinX) + var$28 * $this.$renderMinY * $this.$renderMinX + var$29 * (1.0 - $this.$renderMinY) * $this.$renderMinX + var$30 * (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMinX);
        $var26 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZNN, $this.$aoBrightnessXYZNPN, $this.$aoBrightnessYZPN, $var8);
        $var27 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZPN, $this.$aoBrightnessXZPN, $this.$aoBrightnessXYZPPN, $var8);
        $var28 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZNN, $this.$aoBrightnessXYZPNN, $this.$aoBrightnessXZPN, $var8);
        $var29 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZNNN, $this.$aoBrightnessXZNN, $this.$aoBrightnessYZNN, $var8);
        $this.$brightnessTopLeft = nms_RenderBlocks_mixAoBrightness($this, $var26, $var27, $var28, $var29, $this.$renderMaxY * (1.0 - $this.$renderMinX), $this.$renderMaxY * $this.$renderMinX, (1.0 - $this.$renderMaxY) * $this.$renderMinX, (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMinX));
        $this.$brightnessBottomLeft = nms_RenderBlocks_mixAoBrightness($this, $var26, $var27, $var28, $var29, $this.$renderMaxY * (1.0 - $this.$renderMaxX), $this.$renderMaxY * $this.$renderMaxX, (1.0 - $this.$renderMaxY) * $this.$renderMaxX, (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMaxX));
        $this.$brightnessBottomRight = nms_RenderBlocks_mixAoBrightness($this, $var26, $var27, $var28, $var29, $this.$renderMinY * (1.0 - $this.$renderMaxX), $this.$renderMinY * $this.$renderMaxX, (1.0 - $this.$renderMinY) * $this.$renderMaxX, (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMaxX));
        $this.$brightnessTopRight = nms_RenderBlocks_mixAoBrightness($this, $var26, $var27, $var28, $var29, $this.$renderMinY * (1.0 - $this.$renderMinX), $this.$renderMinY * $this.$renderMinX, (1.0 - $this.$renderMinY) * $this.$renderMinX, (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMinX));
        if (!$var13) {
            $this.$colorRedTopRight = 0.800000011920929;
            $this.$colorRedBottomRight = 0.800000011920929;
            $this.$colorRedBottomLeft = 0.800000011920929;
            $this.$colorRedTopLeft = 0.800000011920929;
            $this.$colorGreenTopRight = 0.800000011920929;
            $this.$colorGreenBottomRight = 0.800000011920929;
            $this.$colorGreenBottomLeft = 0.800000011920929;
            $this.$colorGreenTopLeft = 0.800000011920929;
            $this.$colorBlueTopRight = 0.800000011920929;
            $this.$colorBlueBottomRight = 0.800000011920929;
            $this.$colorBlueBottomLeft = 0.800000011920929;
            $this.$colorBlueTopLeft = 0.800000011920929;
        } else {
            $var22 = $par5 * 0.800000011920929;
            $this.$colorRedTopRight = $var22;
            $this.$colorRedBottomRight = $var22;
            $this.$colorRedBottomLeft = $var22;
            $this.$colorRedTopLeft = $var22;
            $var22 = $par6 * 0.800000011920929;
            $this.$colorGreenTopRight = $var22;
            $this.$colorGreenBottomRight = $var22;
            $this.$colorGreenBottomLeft = $var22;
            $this.$colorGreenTopLeft = $var22;
            $var22 = $par7 * 0.800000011920929;
            $this.$colorBlueTopRight = $var22;
            $this.$colorBlueBottomRight = $var22;
            $this.$colorBlueBottomLeft = $var22;
            $this.$colorBlueTopLeft = $var22;
        }
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * $var21;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $var21;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $var21;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $var24;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $var24;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $var24;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * $var25;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $var25;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $var25;
        $this.$colorRedTopRight = $this.$colorRedTopRight * $var23;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * $var23;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * $var23;
        $var30 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 2);
        var$26 = $par2;
        var$27 = $par3;
        var$28 = $par4;
        nms_RenderBlocks_renderFaceZNeg($this, $par1Block, var$26, var$27, var$28, $var30);
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var30.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            $this.$colorRedTopLeft = $this.$colorRedTopLeft * $par5;
            $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $par5;
            $this.$colorRedBottomRight = $this.$colorRedBottomRight * $par5;
            $this.$colorRedTopRight = $this.$colorRedTopRight * $par5;
            $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $par6;
            $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $par6;
            $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $par6;
            $this.$colorGreenTopRight = $this.$colorGreenTopRight * $par6;
            $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $par7;
            $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $par7;
            $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $par7;
            $this.$colorBlueTopRight = $this.$colorBlueTopRight * $par7;
            nms_RenderBlocks_renderFaceZNeg($this, $par1Block, var$26, var$27, var$28, nms_BlockGrass_getIconSideOverlay());
        }
        $var8 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3, $par4 + 1 | 0, 3))) {
        if ($this.$renderMaxZ >= 1.0)
            $par4 = $par4 + 1 | 0;
        $var30 = $this.$blockAccess;
        $var8 = $par2 - 1 | 0;
        $this.$aoLightValueScratchXZNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $var8, $par3, $par4);
        $var30 = $this.$blockAccess;
        $var17_0 = $par2 + 1 | 0;
        $this.$aoLightValueScratchXZPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $var17_0, $par3, $par4);
        $var30 = $this.$blockAccess;
        $var18_0 = $par3 - 1 | 0;
        $this.$aoLightValueScratchYZNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $var18_0, $par4);
        $var30 = $this.$blockAccess;
        $var19_0 = $par3 + 1 | 0;
        $this.$aoLightValueScratchYZPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $var19_0, $par4);
        $this.$aoBrightnessXZNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $par3, $par4);
        $this.$aoBrightnessXZPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var17_0, $par3, $par4);
        $this.$aoBrightnessYZNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var18_0, $par4);
        $this.$aoBrightnessYZPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $par4);
        var$16 = nms_Block_canBlockGrass.data;
        $var30 = $this.$blockAccess;
        $var19 = $par4 + 1 | 0;
        $var16 = var$16[$var30.$getBlockId($var17_0, $par3, $var19)];
        $var17 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var8, $par3, $var19)];
        $var18 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var19_0, $var19)];
        $var19 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($par2, $var18_0, $var19)];
        if (!$var17 && !$var19) {
            $this.$aoLightValueScratchXYZNNP = $this.$aoLightValueScratchXZNP;
            $this.$aoBrightnessXYZNNP = $this.$aoBrightnessXZNP;
        } else {
            $this.$aoLightValueScratchXYZNNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $var18_0, $par4);
            $this.$aoBrightnessXYZNNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $var18_0, $par4);
        }
        if (!$var17 && !$var18) {
            $this.$aoLightValueScratchXYZNPP = $this.$aoLightValueScratchXZNP;
            $this.$aoBrightnessXYZNPP = $this.$aoBrightnessXZNP;
        } else {
            $this.$aoLightValueScratchXYZNPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var8, $var19_0, $par4);
            $this.$aoBrightnessXYZNPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var8, $var19_0, $par4);
        }
        if (!$var16 && !$var19) {
            $this.$aoLightValueScratchXYZPNP = $this.$aoLightValueScratchXZPP;
            $this.$aoBrightnessXYZPNP = $this.$aoBrightnessXZPP;
        } else {
            $this.$aoLightValueScratchXYZPNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var17_0, $var18_0, $par4);
            $this.$aoBrightnessXYZPNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var17_0, $var18_0, $par4);
        }
        if (!$var16 && !$var18) {
            $this.$aoLightValueScratchXYZPPP = $this.$aoLightValueScratchXZPP;
            $this.$aoBrightnessXYZPPP = $this.$aoBrightnessXZPP;
        } else {
            $this.$aoLightValueScratchXYZPPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $var17_0, $var19_0, $par4);
            $this.$aoBrightnessXYZPPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $var17_0, $var19_0, $par4);
        }
        if ($this.$renderMaxZ >= 1.0)
            $par4 = $par4 + (-1) | 0;
        $var19_0 = $this.$renderMaxZ < 1.0 && $this.$blockAccess.$isBlockOpaqueCube($par2, $par3, $par4 + 1 | 0) ? $var14 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 + 1 | 0);
        $var21_0 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $par3, $par4 + 1 | 0);
        $var22 = ($this.$aoLightValueScratchXZNP + $this.$aoLightValueScratchXYZNPP + $var21_0 + $this.$aoLightValueScratchYZPP) / 4.0;
        $var23 = ($var21_0 + $this.$aoLightValueScratchYZPP + $this.$aoLightValueScratchXZPP + $this.$aoLightValueScratchXYZPPP) / 4.0;
        $var24 = ($this.$aoLightValueScratchYZNP + $var21_0 + $this.$aoLightValueScratchXYZPNP + $this.$aoLightValueScratchXZPP) / 4.0;
        $var25 = ($this.$aoLightValueScratchXYZNNP + $this.$aoLightValueScratchXZNP + $this.$aoLightValueScratchYZNP + $var21_0) / 4.0;
        var$26 = $var22;
        var$27 = var$26 * $this.$renderMaxY * (1.0 - $this.$renderMinX);
        var$28 = $var23;
        var$27 = var$27 + var$28 * $this.$renderMaxY * $this.$renderMinX;
        var$29 = $var24;
        var$27 = var$27 + var$29 * (1.0 - $this.$renderMaxY) * $this.$renderMinX;
        var$30 = $var25;
        $var21 = var$27 + var$30 * (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMinX);
        $var24 = var$26 * $this.$renderMinY * (1.0 - $this.$renderMinX) + var$28 * $this.$renderMinY * $this.$renderMinX + var$29 * (1.0 - $this.$renderMinY) * $this.$renderMinX + var$30 * (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMinX);
        $var25 = var$26 * $this.$renderMinY * (1.0 - $this.$renderMaxX) + var$28 * $this.$renderMinY * $this.$renderMaxX + var$29 * (1.0 - $this.$renderMinY) * $this.$renderMaxX + var$30 * (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMaxX);
        $var22 = var$26 * $this.$renderMaxY * (1.0 - $this.$renderMaxX) + var$28 * $this.$renderMaxY * $this.$renderMaxX + var$29 * (1.0 - $this.$renderMaxY) * $this.$renderMaxX + var$30 * (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMaxX);
        $var26 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZNP, $this.$aoBrightnessXYZNPP, $this.$aoBrightnessYZPP, $var19_0);
        $var27 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZPP, $this.$aoBrightnessXZPP, $this.$aoBrightnessXYZPPP, $var19_0);
        $var28 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessYZNP, $this.$aoBrightnessXYZPNP, $this.$aoBrightnessXZPP, $var19_0);
        $var29 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZNNP, $this.$aoBrightnessXZNP, $this.$aoBrightnessYZNP, $var19_0);
        $this.$brightnessTopLeft = nms_RenderBlocks_mixAoBrightness($this, $var26, $var29, $var28, $var27, $this.$renderMaxY * (1.0 - $this.$renderMinX), (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMinX), (1.0 - $this.$renderMaxY) * $this.$renderMinX, $this.$renderMaxY * $this.$renderMinX);
        $this.$brightnessBottomLeft = nms_RenderBlocks_mixAoBrightness($this, $var26, $var29, $var28, $var27, $this.$renderMinY * (1.0 - $this.$renderMinX), (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMinX), (1.0 - $this.$renderMinY) * $this.$renderMinX, $this.$renderMinY * $this.$renderMinX);
        $this.$brightnessBottomRight = nms_RenderBlocks_mixAoBrightness($this, $var26, $var29, $var28, $var27, $this.$renderMinY * (1.0 - $this.$renderMaxX), (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMaxX), (1.0 - $this.$renderMinY) * $this.$renderMaxX, $this.$renderMinY * $this.$renderMaxX);
        $this.$brightnessTopRight = nms_RenderBlocks_mixAoBrightness($this, $var26, $var29, $var28, $var27, $this.$renderMaxY * (1.0 - $this.$renderMaxX), (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMaxX), (1.0 - $this.$renderMaxY) * $this.$renderMaxX, $this.$renderMaxY * $this.$renderMaxX);
        if (!$var13) {
            $this.$colorRedTopRight = 0.800000011920929;
            $this.$colorRedBottomRight = 0.800000011920929;
            $this.$colorRedBottomLeft = 0.800000011920929;
            $this.$colorRedTopLeft = 0.800000011920929;
            $this.$colorGreenTopRight = 0.800000011920929;
            $this.$colorGreenBottomRight = 0.800000011920929;
            $this.$colorGreenBottomLeft = 0.800000011920929;
            $this.$colorGreenTopLeft = 0.800000011920929;
            $this.$colorBlueTopRight = 0.800000011920929;
            $this.$colorBlueBottomRight = 0.800000011920929;
            $this.$colorBlueBottomLeft = 0.800000011920929;
            $this.$colorBlueTopLeft = 0.800000011920929;
        } else {
            $var23 = $par5 * 0.800000011920929;
            $this.$colorRedTopRight = $var23;
            $this.$colorRedBottomRight = $var23;
            $this.$colorRedBottomLeft = $var23;
            $this.$colorRedTopLeft = $var23;
            $var23 = $par6 * 0.800000011920929;
            $this.$colorGreenTopRight = $var23;
            $this.$colorGreenBottomRight = $var23;
            $this.$colorGreenBottomLeft = $var23;
            $this.$colorGreenTopLeft = $var23;
            $var23 = $par7 * 0.800000011920929;
            $this.$colorBlueTopRight = $var23;
            $this.$colorBlueBottomRight = $var23;
            $this.$colorBlueBottomLeft = $var23;
            $this.$colorBlueTopLeft = $var23;
        }
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * $var21;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $var21;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $var21;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $var24;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $var24;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $var24;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * $var25;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $var25;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $var25;
        $this.$colorRedTopRight = $this.$colorRedTopRight * $var22;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * $var22;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * $var22;
        $var30 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 3);
        var$26 = $par2;
        var$27 = $par3;
        var$28 = $par4;
        nms_RenderBlocks_renderFaceZPos($this, $par1Block, var$26, var$27, var$28, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 3));
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var30.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            $this.$colorRedTopLeft = $this.$colorRedTopLeft * $par5;
            $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $par5;
            $this.$colorRedBottomRight = $this.$colorRedBottomRight * $par5;
            $this.$colorRedTopRight = $this.$colorRedTopRight * $par5;
            $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $par6;
            $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $par6;
            $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $par6;
            $this.$colorGreenTopRight = $this.$colorGreenTopRight * $par6;
            $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $par7;
            $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $par7;
            $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $par7;
            $this.$colorBlueTopRight = $this.$colorBlueTopRight * $par7;
            nms_RenderBlocks_renderFaceZPos($this, $par1Block, var$26, var$27, var$28, nms_BlockGrass_getIconSideOverlay());
        }
        $var8 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2 - 1 | 0, $par3, $par4, 4))) {
        if ($this.$renderMinX <= 0.0)
            $par2 = $par2 + (-1) | 0;
        $var30 = $this.$blockAccess;
        $var8 = $par3 - 1 | 0;
        $this.$aoLightValueScratchXYNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $var8, $par4);
        $var30 = $this.$blockAccess;
        $var17_0 = $par4 - 1 | 0;
        $this.$aoLightValueScratchXZNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $par3, $var17_0);
        $var30 = $this.$blockAccess;
        $var18_0 = $par4 + 1 | 0;
        $this.$aoLightValueScratchXZNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $par3, $var18_0);
        $var30 = $this.$blockAccess;
        $var19_0 = $par3 + 1 | 0;
        $this.$aoLightValueScratchXYNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $var19_0, $par4);
        $this.$aoBrightnessXYNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $par4);
        $this.$aoBrightnessXZNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $var17_0);
        $this.$aoBrightnessXZNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $var18_0);
        $this.$aoBrightnessXYNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $par4);
        var$16 = nms_Block_canBlockGrass.data;
        $var30 = $this.$blockAccess;
        $var19 = $par2 - 1 | 0;
        $var16 = var$16[$var30.$getBlockId($var19, $var19_0, $par4)];
        $var17 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $var8, $par4)];
        $var18 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $par3, $var17_0)];
        $var19 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $par3, $var18_0)];
        if (!$var18 && !$var17) {
            $this.$aoLightValueScratchXYZNNN = $this.$aoLightValueScratchXZNN;
            $this.$aoBrightnessXYZNNN = $this.$aoBrightnessXZNN;
        } else {
            $this.$aoLightValueScratchXYZNNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var8, $var17_0);
            $this.$aoBrightnessXYZNNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $var17_0);
        }
        if (!$var19 && !$var17) {
            $this.$aoLightValueScratchXYZNNP = $this.$aoLightValueScratchXZNP;
            $this.$aoBrightnessXYZNNP = $this.$aoBrightnessXZNP;
        } else {
            $this.$aoLightValueScratchXYZNNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var8, $var18_0);
            $this.$aoBrightnessXYZNNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $var18_0);
        }
        if (!$var18 && !$var16) {
            $this.$aoLightValueScratchXYZNPN = $this.$aoLightValueScratchXZNN;
            $this.$aoBrightnessXYZNPN = $this.$aoBrightnessXZNN;
        } else {
            $this.$aoLightValueScratchXYZNPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var19_0, $var17_0);
            $this.$aoBrightnessXYZNPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $var17_0);
        }
        if (!$var19 && !$var16) {
            $this.$aoLightValueScratchXYZNPP = $this.$aoLightValueScratchXZNP;
            $this.$aoBrightnessXYZNPP = $this.$aoBrightnessXZNP;
        } else {
            $this.$aoLightValueScratchXYZNPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var19_0, $var18_0);
            $this.$aoBrightnessXYZNPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $var18_0);
        }
        if ($this.$renderMinX <= 0.0)
            $par2 = $par2 + 1 | 0;
        $var8 = $this.$renderMinX > 0.0 && $this.$blockAccess.$isBlockOpaqueCube($par2 - 1 | 0, $par3, $par4) ? $var14 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 - 1 | 0, $par3, $par4);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2 - 1 | 0, $par3, $par4);
        $var22 = ($this.$aoLightValueScratchXYNN + $this.$aoLightValueScratchXYZNNP + $var21 + $this.$aoLightValueScratchXZNP) / 4.0;
        $var23 = ($var21 + $this.$aoLightValueScratchXZNP + $this.$aoLightValueScratchXYNP + $this.$aoLightValueScratchXYZNPP) / 4.0;
        $var24 = ($this.$aoLightValueScratchXZNN + $var21 + $this.$aoLightValueScratchXYZNPN + $this.$aoLightValueScratchXYNP) / 4.0;
        $var25 = ($this.$aoLightValueScratchXYZNNN + $this.$aoLightValueScratchXYNN + $this.$aoLightValueScratchXZNN + $var21) / 4.0;
        var$26 = $var23;
        var$27 = var$26 * $this.$renderMaxY * $this.$renderMaxZ;
        var$28 = $var24;
        var$27 = var$27 + var$28 * $this.$renderMaxY * (1.0 - $this.$renderMaxZ);
        var$29 = $var25;
        var$27 = var$27 + var$29 * (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMaxZ);
        var$30 = $var22;
        $var21 = var$27 + var$30 * (1.0 - $this.$renderMaxY) * $this.$renderMaxZ;
        $var24 = var$26 * $this.$renderMaxY * $this.$renderMinZ + var$28 * $this.$renderMaxY * (1.0 - $this.$renderMinZ) + var$29 * (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMinZ) + var$30 * (1.0 - $this.$renderMaxY) * $this.$renderMinZ;
        $var25 = var$26 * $this.$renderMinY * $this.$renderMinZ + var$28 * $this.$renderMinY * (1.0 - $this.$renderMinZ) + var$29 * (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMinZ) + var$30 * (1.0 - $this.$renderMinY) * $this.$renderMinZ;
        $var22 = var$26 * $this.$renderMinY * $this.$renderMaxZ + var$28 * $this.$renderMinY * (1.0 - $this.$renderMaxZ) + var$29 * (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMaxZ) + var$30 * (1.0 - $this.$renderMinY) * $this.$renderMaxZ;
        $var26 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYNN, $this.$aoBrightnessXYZNNP, $this.$aoBrightnessXZNP, $var8);
        $var27 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZNP, $this.$aoBrightnessXYNP, $this.$aoBrightnessXYZNPP, $var8);
        $var28 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZNN, $this.$aoBrightnessXYZNPN, $this.$aoBrightnessXYNP, $var8);
        $var29 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZNNN, $this.$aoBrightnessXYNN, $this.$aoBrightnessXZNN, $var8);
        $this.$brightnessTopLeft = nms_RenderBlocks_mixAoBrightness($this, $var27, $var28, $var29, $var26, $this.$renderMaxY * $this.$renderMaxZ, $this.$renderMaxY * (1.0 - $this.$renderMaxZ), (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMaxZ), (1.0 - $this.$renderMaxY) * $this.$renderMaxZ);
        $this.$brightnessBottomLeft = nms_RenderBlocks_mixAoBrightness($this, $var27, $var28, $var29, $var26, $this.$renderMaxY * $this.$renderMinZ, $this.$renderMaxY * (1.0 - $this.$renderMinZ), (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMinZ), (1.0 - $this.$renderMaxY) * $this.$renderMinZ);
        $this.$brightnessBottomRight = nms_RenderBlocks_mixAoBrightness($this, $var27, $var28, $var29, $var26, $this.$renderMinY * $this.$renderMinZ, $this.$renderMinY * (1.0 - $this.$renderMinZ), (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMinZ), (1.0 - $this.$renderMinY) * $this.$renderMinZ);
        $this.$brightnessTopRight = nms_RenderBlocks_mixAoBrightness($this, $var27, $var28, $var29, $var26, $this.$renderMinY * $this.$renderMaxZ, $this.$renderMinY * (1.0 - $this.$renderMaxZ), (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMaxZ), (1.0 - $this.$renderMinY) * $this.$renderMaxZ);
        if (!$var13) {
            $this.$colorRedTopRight = 0.6000000238418579;
            $this.$colorRedBottomRight = 0.6000000238418579;
            $this.$colorRedBottomLeft = 0.6000000238418579;
            $this.$colorRedTopLeft = 0.6000000238418579;
            $this.$colorGreenTopRight = 0.6000000238418579;
            $this.$colorGreenBottomRight = 0.6000000238418579;
            $this.$colorGreenBottomLeft = 0.6000000238418579;
            $this.$colorGreenTopLeft = 0.6000000238418579;
            $this.$colorBlueTopRight = 0.6000000238418579;
            $this.$colorBlueBottomRight = 0.6000000238418579;
            $this.$colorBlueBottomLeft = 0.6000000238418579;
            $this.$colorBlueTopLeft = 0.6000000238418579;
        } else {
            $var23 = $par5 * 0.6000000238418579;
            $this.$colorRedTopRight = $var23;
            $this.$colorRedBottomRight = $var23;
            $this.$colorRedBottomLeft = $var23;
            $this.$colorRedTopLeft = $var23;
            $var23 = $par6 * 0.6000000238418579;
            $this.$colorGreenTopRight = $var23;
            $this.$colorGreenBottomRight = $var23;
            $this.$colorGreenBottomLeft = $var23;
            $this.$colorGreenTopLeft = $var23;
            $var23 = $par7 * 0.6000000238418579;
            $this.$colorBlueTopRight = $var23;
            $this.$colorBlueBottomRight = $var23;
            $this.$colorBlueBottomLeft = $var23;
            $this.$colorBlueTopLeft = $var23;
        }
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * $var21;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $var21;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $var21;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $var24;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $var24;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $var24;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * $var25;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $var25;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $var25;
        $this.$colorRedTopRight = $this.$colorRedTopRight * $var22;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * $var22;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * $var22;
        $var30 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 4);
        var$26 = $par2;
        var$27 = $par3;
        var$28 = $par4;
        nms_RenderBlocks_renderFaceXNeg($this, $par1Block, var$26, var$27, var$28, $var30);
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var30.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            $this.$colorRedTopLeft = $this.$colorRedTopLeft * $par5;
            $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $par5;
            $this.$colorRedBottomRight = $this.$colorRedBottomRight * $par5;
            $this.$colorRedTopRight = $this.$colorRedTopRight * $par5;
            $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $par6;
            $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $par6;
            $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $par6;
            $this.$colorGreenTopRight = $this.$colorGreenTopRight * $par6;
            $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $par7;
            $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $par7;
            $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $par7;
            $this.$colorBlueTopRight = $this.$colorBlueTopRight * $par7;
            nms_RenderBlocks_renderFaceXNeg($this, $par1Block, var$26, var$27, var$28, nms_BlockGrass_getIconSideOverlay());
        }
        $var8 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2 + 1 | 0, $par3, $par4, 5))) {
        if ($this.$renderMaxX >= 1.0)
            $par2 = $par2 + 1 | 0;
        $var30 = $this.$blockAccess;
        $var8 = $par3 - 1 | 0;
        $this.$aoLightValueScratchXYPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $var8, $par4);
        $var30 = $this.$blockAccess;
        $var17_0 = $par4 - 1 | 0;
        $this.$aoLightValueScratchXZPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $par3, $var17_0);
        $var30 = $this.$blockAccess;
        $var18_0 = $par4 + 1 | 0;
        $this.$aoLightValueScratchXZPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $par3, $var18_0);
        $var30 = $this.$blockAccess;
        $var19_0 = $par3 + 1 | 0;
        $this.$aoLightValueScratchXYPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $var30, $par2, $var19_0, $par4);
        $this.$aoBrightnessXYPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $par4);
        $this.$aoBrightnessXZPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $var17_0);
        $this.$aoBrightnessXZPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $var18_0);
        $this.$aoBrightnessXYPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $par4);
        var$16 = nms_Block_canBlockGrass.data;
        $var30 = $this.$blockAccess;
        $var19 = $par2 + 1 | 0;
        $var16 = var$16[$var30.$getBlockId($var19, $var19_0, $par4)];
        $var17 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $var8, $par4)];
        $var18 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $par3, $var18_0)];
        $var19 = nms_Block_canBlockGrass.data[$this.$blockAccess.$getBlockId($var19, $par3, $var17_0)];
        if (!$var17 && !$var19) {
            $this.$aoLightValueScratchXYZPNN = $this.$aoLightValueScratchXZPN;
            $this.$aoBrightnessXYZPNN = $this.$aoBrightnessXZPN;
        } else {
            $this.$aoLightValueScratchXYZPNN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var8, $var17_0);
            $this.$aoBrightnessXYZPNN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $var17_0);
        }
        if (!$var17 && !$var18) {
            $this.$aoLightValueScratchXYZPNP = $this.$aoLightValueScratchXZPP;
            $this.$aoBrightnessXYZPNP = $this.$aoBrightnessXZPP;
        } else {
            $this.$aoLightValueScratchXYZPNP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var8, $var18_0);
            $this.$aoBrightnessXYZPNP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var8, $var18_0);
        }
        if (!$var16 && !$var19) {
            $this.$aoLightValueScratchXYZPPN = $this.$aoLightValueScratchXZPN;
            $this.$aoBrightnessXYZPPN = $this.$aoBrightnessXZPN;
        } else {
            $this.$aoLightValueScratchXYZPPN = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var19_0, $var17_0);
            $this.$aoBrightnessXYZPPN = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $var17_0);
        }
        if (!$var16 && !$var18) {
            $this.$aoLightValueScratchXYZPPP = $this.$aoLightValueScratchXZPP;
            $this.$aoBrightnessXYZPPP = $this.$aoBrightnessXZPP;
        } else {
            $this.$aoLightValueScratchXYZPPP = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2, $var19_0, $var18_0);
            $this.$aoBrightnessXYZPPP = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $var19_0, $var18_0);
        }
        if ($this.$renderMaxX >= 1.0)
            $par2 = $par2 + (-1) | 0;
        if (!($this.$renderMaxX < 1.0 && $this.$blockAccess.$isBlockOpaqueCube($par2 + 1 | 0, $par3, $par4)))
            $var14 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 + 1 | 0, $par3, $par4);
        $var21 = nms_Block_getAmbientOcclusionLightValue($par1Block, $this.$blockAccess, $par2 + 1 | 0, $par3, $par4);
        $var22 = ($this.$aoLightValueScratchXYPN + $this.$aoLightValueScratchXYZPNP + $var21 + $this.$aoLightValueScratchXZPP) / 4.0;
        $var23 = ($this.$aoLightValueScratchXYZPNN + $this.$aoLightValueScratchXYPN + $this.$aoLightValueScratchXZPN + $var21) / 4.0;
        $var24 = ($this.$aoLightValueScratchXZPN + $var21 + $this.$aoLightValueScratchXYZPPN + $this.$aoLightValueScratchXYPP) / 4.0;
        $var25 = ($var21 + $this.$aoLightValueScratchXZPP + $this.$aoLightValueScratchXYPP + $this.$aoLightValueScratchXYZPPP) / 4.0;
        var$26 = $var22;
        var$27 = var$26 * (1.0 - $this.$renderMinY) * $this.$renderMaxZ;
        var$28 = $var23;
        var$27 = var$27 + var$28 * (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMaxZ);
        var$29 = $var24;
        var$27 = var$27 + var$29 * $this.$renderMinY * (1.0 - $this.$renderMaxZ);
        var$30 = $var25;
        $var21 = var$27 + var$30 * $this.$renderMinY * $this.$renderMaxZ;
        $var24 = var$26 * (1.0 - $this.$renderMinY) * $this.$renderMinZ + var$28 * (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMinZ) + var$29 * $this.$renderMinY * (1.0 - $this.$renderMinZ) + var$30 * $this.$renderMinY * $this.$renderMinZ;
        $var25 = var$26 * (1.0 - $this.$renderMaxY) * $this.$renderMinZ + var$28 * (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMinZ) + var$29 * $this.$renderMaxY * (1.0 - $this.$renderMinZ) + var$30 * $this.$renderMaxY * $this.$renderMinZ;
        $var22 = var$26 * (1.0 - $this.$renderMaxY) * $this.$renderMaxZ + var$28 * (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMaxZ) + var$29 * $this.$renderMaxY * (1.0 - $this.$renderMaxZ) + var$30 * $this.$renderMaxY * $this.$renderMaxZ;
        $var26 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYPN, $this.$aoBrightnessXYZPNP, $this.$aoBrightnessXZPP, $var14);
        $var27 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZPP, $this.$aoBrightnessXYPP, $this.$aoBrightnessXYZPPP, $var14);
        $var28 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXZPN, $this.$aoBrightnessXYZPPN, $this.$aoBrightnessXYPP, $var14);
        $var29 = nms_RenderBlocks_getAoBrightness($this, $this.$aoBrightnessXYZPNN, $this.$aoBrightnessXYPN, $this.$aoBrightnessXZPN, $var14);
        $this.$brightnessTopLeft = nms_RenderBlocks_mixAoBrightness($this, $var26, $var29, $var28, $var27, (1.0 - $this.$renderMinY) * $this.$renderMaxZ, (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMaxZ), $this.$renderMinY * (1.0 - $this.$renderMaxZ), $this.$renderMinY * $this.$renderMaxZ);
        $this.$brightnessBottomLeft = nms_RenderBlocks_mixAoBrightness($this, $var26, $var29, $var28, $var27, (1.0 - $this.$renderMinY) * $this.$renderMinZ, (1.0 - $this.$renderMinY) * (1.0 - $this.$renderMinZ), $this.$renderMinY * (1.0 - $this.$renderMinZ), $this.$renderMinY * $this.$renderMinZ);
        $this.$brightnessBottomRight = nms_RenderBlocks_mixAoBrightness($this, $var26, $var29, $var28, $var27, (1.0 - $this.$renderMaxY) * $this.$renderMinZ, (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMinZ), $this.$renderMaxY * (1.0 - $this.$renderMinZ), $this.$renderMaxY * $this.$renderMinZ);
        $this.$brightnessTopRight = nms_RenderBlocks_mixAoBrightness($this, $var26, $var29, $var28, $var27, (1.0 - $this.$renderMaxY) * $this.$renderMaxZ, (1.0 - $this.$renderMaxY) * (1.0 - $this.$renderMaxZ), $this.$renderMaxY * (1.0 - $this.$renderMaxZ), $this.$renderMaxY * $this.$renderMaxZ);
        if (!$var13) {
            $this.$colorRedTopRight = 0.6000000238418579;
            $this.$colorRedBottomRight = 0.6000000238418579;
            $this.$colorRedBottomLeft = 0.6000000238418579;
            $this.$colorRedTopLeft = 0.6000000238418579;
            $this.$colorGreenTopRight = 0.6000000238418579;
            $this.$colorGreenBottomRight = 0.6000000238418579;
            $this.$colorGreenBottomLeft = 0.6000000238418579;
            $this.$colorGreenTopLeft = 0.6000000238418579;
            $this.$colorBlueTopRight = 0.6000000238418579;
            $this.$colorBlueBottomRight = 0.6000000238418579;
            $this.$colorBlueBottomLeft = 0.6000000238418579;
            $this.$colorBlueTopLeft = 0.6000000238418579;
        } else {
            $var23 = $par5 * 0.6000000238418579;
            $this.$colorRedTopRight = $var23;
            $this.$colorRedBottomRight = $var23;
            $this.$colorRedBottomLeft = $var23;
            $this.$colorRedTopLeft = $var23;
            $var23 = $par6 * 0.6000000238418579;
            $this.$colorGreenTopRight = $var23;
            $this.$colorGreenBottomRight = $var23;
            $this.$colorGreenBottomLeft = $var23;
            $this.$colorGreenTopLeft = $var23;
            $var23 = $par7 * 0.6000000238418579;
            $this.$colorBlueTopRight = $var23;
            $this.$colorBlueBottomRight = $var23;
            $this.$colorBlueBottomLeft = $var23;
            $this.$colorBlueTopLeft = $var23;
        }
        $this.$colorRedTopLeft = $this.$colorRedTopLeft * $var21;
        $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $var21;
        $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $var21;
        $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $var24;
        $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $var24;
        $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $var24;
        $this.$colorRedBottomRight = $this.$colorRedBottomRight * $var25;
        $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $var25;
        $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $var25;
        $this.$colorRedTopRight = $this.$colorRedTopRight * $var22;
        $this.$colorGreenTopRight = $this.$colorGreenTopRight * $var22;
        $this.$colorBlueTopRight = $this.$colorBlueTopRight * $var22;
        $var30 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 5);
        var$26 = $par2;
        var$27 = $par3;
        var$28 = $par4;
        nms_RenderBlocks_renderFaceXPos($this, $par1Block, var$26, var$27, var$28, $var30);
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var30.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            $this.$colorRedTopLeft = $this.$colorRedTopLeft * $par5;
            $this.$colorRedBottomLeft = $this.$colorRedBottomLeft * $par5;
            $this.$colorRedBottomRight = $this.$colorRedBottomRight * $par5;
            $this.$colorRedTopRight = $this.$colorRedTopRight * $par5;
            $this.$colorGreenTopLeft = $this.$colorGreenTopLeft * $par6;
            $this.$colorGreenBottomLeft = $this.$colorGreenBottomLeft * $par6;
            $this.$colorGreenBottomRight = $this.$colorGreenBottomRight * $par6;
            $this.$colorGreenTopRight = $this.$colorGreenTopRight * $par6;
            $this.$colorBlueTopLeft = $this.$colorBlueTopLeft * $par7;
            $this.$colorBlueBottomLeft = $this.$colorBlueBottomLeft * $par7;
            $this.$colorBlueBottomRight = $this.$colorBlueBottomRight * $par7;
            $this.$colorBlueTopRight = $this.$colorBlueTopRight * $par7;
            nms_RenderBlocks_renderFaceXPos($this, $par1Block, var$26, var$27, var$28, nms_BlockGrass_getIconSideOverlay());
        }
        $var8 = 1;
    }
    $this.$enableAO = 0;
    return $var8;
}
function nms_RenderBlocks_getAoBrightness($this, $par1, $par2, $par3, $par4) {
    if (!$par1)
        $par1 = $par4;
    if (!$par2)
        $par2 = $par4;
    if (!$par3)
        $par3 = $par4;
    return ((($par1 + $par2 | 0) + $par3 | 0) + $par4 | 0) >> 2 & 16711935;
}
function nms_RenderBlocks_mixAoBrightness($this, $par1, $par2, $par3, $par4, $par5, $par7, $par9, $par11) {
    return ((($par1 >> 16 & 255) * $par5 + ($par2 >> 16 & 255) * $par7 + ($par3 >> 16 & 255) * $par9 + ($par4 >> 16 & 255) * $par11 | 0) & 255) << 16 | (($par1 & 255) * $par5 + ($par2 & 255) * $par7 + ($par3 & 255) * $par9 + ($par4 & 255) * $par11 | 0) & 255;
}
function nms_RenderBlocks_renderStandardBlockWithColorMultiplier($this, $par1Block, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var10, $var12, $var13, $var14, $var15, $var16, var$16, $var11, var$18, var$19, var$20, var$21, $var26, $var28, var$24, var$25, var$26;
    $this.$enableAO = 0;
    nlea_Tessellator_$callClinit();
    $var8 = nlea_Tessellator_instance;
    $var9 = 0;
    $var10 = 0.5;
    $var12 = 0.800000011920929;
    $var13 = 0.6000000238418579;
    $var14 = 1.0 * $par5;
    $var15 = 1.0 * $par6;
    $var16 = 1.0 * $par7;
    nms_Block_$callClinit();
    if ($par1Block === nms_Block_grass) {
        var$16 = $var10;
        $var11 = $var12;
        var$18 = $var13;
        var$19 = $var10;
        var$20 = $var12;
        var$21 = $var13;
    } else {
        var$16 = $var10 * $par5;
        $var11 = $var12 * $par5;
        var$18 = $var13 * $par5;
        var$19 = $var10 * $par6;
        var$20 = $var12 * $par6;
        var$21 = $var13 * $par6;
        $var10 = $var10 * $par7;
        $var12 = $var12 * $par7;
        $var13 = $var13 * $par7;
    }
    $var26 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4);
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3 - 1 | 0, $par4, 0))) {
        nlea_Tessellator_setBrightness($var8, $this.$renderMinY > 0.0 ? $var26 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 - 1 | 0, $par4));
        nlea_Tessellator_setColorOpaque_F($var8, var$16, var$19, $var10);
        nms_RenderBlocks_renderFaceYNeg($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 0));
        $var9 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3 + 1 | 0, $par4, 1))) {
        nlea_Tessellator_setBrightness($var8, $this.$renderMaxY < 1.0 ? $var26 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 + 1 | 0, $par4));
        nlea_Tessellator_setColorOpaque_F($var8, $var14, $var15, $var16);
        nms_RenderBlocks_renderFaceYPos($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 1));
        $var9 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3, $par4 - 1 | 0, 2))) {
        nlea_Tessellator_setBrightness($var8, $this.$renderMinZ > 0.0 ? $var26 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 - 1 | 0));
        nlea_Tessellator_setColorOpaque_F($var8, $var11, var$20, $var12);
        $var28 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 2);
        var$24 = $par2;
        var$25 = $par3;
        var$26 = $par4;
        nms_RenderBlocks_renderFaceZNeg($this, $par1Block, var$24, var$25, var$26, $var28);
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var28.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            nlea_Tessellator_setColorOpaque_F($var8, $var11 * $par5, var$20 * $par6, $var12 * $par7);
            nms_RenderBlocks_renderFaceZNeg($this, $par1Block, var$24, var$25, var$26, nms_BlockGrass_getIconSideOverlay());
        }
        $var9 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3, $par4 + 1 | 0, 3))) {
        nlea_Tessellator_setBrightness($var8, $this.$renderMaxZ < 1.0 ? $var26 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 + 1 | 0));
        nlea_Tessellator_setColorOpaque_F($var8, $var11, var$20, $var12);
        $var28 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 3);
        var$24 = $par2;
        var$25 = $par3;
        var$26 = $par4;
        nms_RenderBlocks_renderFaceZPos($this, $par1Block, var$24, var$25, var$26, $var28);
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var28.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            nlea_Tessellator_setColorOpaque_F($var8, $var11 * $par5, var$20 * $par6, $var12 * $par7);
            nms_RenderBlocks_renderFaceZPos($this, $par1Block, var$24, var$25, var$26, nms_BlockGrass_getIconSideOverlay());
        }
        $var9 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2 - 1 | 0, $par3, $par4, 4))) {
        nlea_Tessellator_setBrightness($var8, $this.$renderMinX > 0.0 ? $var26 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 - 1 | 0, $par3, $par4));
        nlea_Tessellator_setColorOpaque_F($var8, var$18, var$21, $var13);
        $var28 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 4);
        var$24 = $par2;
        var$25 = $par3;
        var$26 = $par4;
        nms_RenderBlocks_renderFaceXNeg($this, $par1Block, var$24, var$25, var$26, $var28);
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var28.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            nlea_Tessellator_setColorOpaque_F($var8, var$18 * $par5, var$21 * $par6, $var13 * $par7);
            nms_RenderBlocks_renderFaceXNeg($this, $par1Block, var$24, var$25, var$26, nms_BlockGrass_getIconSideOverlay());
        }
        $var9 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2 + 1 | 0, $par3, $par4, 5))) {
        if ($this.$renderMaxX >= 1.0)
            $var26 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 + 1 | 0, $par3, $par4);
        nlea_Tessellator_setBrightness($var8, $var26);
        nlea_Tessellator_setColorOpaque_F($var8, var$18, var$21, $var13);
        $var28 = nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 5);
        var$24 = $par2;
        var$25 = $par3;
        var$26 = $par4;
        nms_RenderBlocks_renderFaceXPos($this, $par1Block, var$24, var$25, var$26, $var28);
        if (nms_RenderBlocks_fancyGrass && jl_String_equals($var28.$getIconName(), $rt_s(965)) && !nms_RenderBlocks_hasOverrideBlockTexture($this)) {
            nlea_Tessellator_setColorOpaque_F($var8, var$18 * $par5, var$21 * $par6, $var13 * $par7);
            nms_RenderBlocks_renderFaceXPos($this, $par1Block, var$24, var$25, var$26, nms_BlockGrass_getIconSideOverlay());
        }
        $var9 = 1;
    }
    return $var9;
}
function nms_RenderBlocks_renderBlockCocoa($this, $par1BlockCocoa, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var11, $var10, var$12, $var12, $var38, $var18, $var20, $var22, $var24, $var26, $var28, $var14, $var16, $var32, $var34, $var36, $var40, $var42;
    a: {
        nlea_Tessellator_$callClinit();
        $var5 = nlea_Tessellator_instance;
        nlea_Tessellator_setBrightness($var5, nms_Block_getMixedBrightnessForBlock($par1BlockCocoa, $this.$blockAccess, $par2, $par3, $par4));
        nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
        $var6 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
        $var7 = nms_BlockDirectional_getDirection($var6);
        $var8 = nms_BlockCocoa_func_72219_c($var6);
        $var9 = nms_BlockCocoa_func_94468_i_($par1BlockCocoa, $var8);
        $var11 = $var8 * 2 | 0;
        $var10 = 4 + $var11 | 0;
        $var11 = 5 + $var11 | 0;
        var$12 = $var10;
        $var12 = 15.0 - var$12;
        $var38 = $var11;
        $var18 = 4.0 + $var38;
        $var20 = $var9.$getInterpolatedU($var12);
        $var22 = $var9.$getInterpolatedU(15.0);
        $var24 = $var9.$getInterpolatedV(4.0);
        $var26 = $var9.$getInterpolatedV($var18);
        $var28 = 0.0;
        switch ($var7) {
            case 0:
                $var28 = 8.0 - ($var10 / 2 | 0);
                break a;
            case 1:
                $var28 = 1.0;
                $var12 = 8.0 - ($var10 / 2 | 0);
                break a;
            case 2:
                $var28 = 8.0 - ($var10 / 2 | 0);
                $var12 = 1.0;
                break a;
            case 3:
                $var14 = 8.0 - ($var10 / 2 | 0);
                $var28 = $var12;
                $var12 = $var14;
                break a;
            default:
        }
        $var12 = 0.0;
    }
    $var16 = $par2;
    $var32 = $var16 + $var28 / 16.0;
    $var34 = $var16 + ($var28 + var$12) / 16.0;
    $var18 = $par3;
    $var36 = $var18 + (12.0 - $var38) / 16.0;
    $var38 = $var18 + 0.75;
    $var14 = $par4;
    $var40 = $var14 + $var12 / 16.0;
    $var42 = $var14 + ($var12 + var$12) / 16.0;
    nlea_Tessellator_addVertexWithUV($var5, $var32, $var36, $var40, $var20, $var26);
    nlea_Tessellator_addVertexWithUV($var5, $var32, $var36, $var42, $var22, $var26);
    nlea_Tessellator_addVertexWithUV($var5, $var32, $var38, $var42, $var22, $var24);
    nlea_Tessellator_addVertexWithUV($var5, $var32, $var38, $var40, $var20, $var24);
    nlea_Tessellator_addVertexWithUV($var5, $var34, $var36, $var42, $var20, $var26);
    nlea_Tessellator_addVertexWithUV($var5, $var34, $var36, $var40, $var22, $var26);
    nlea_Tessellator_addVertexWithUV($var5, $var34, $var38, $var40, $var22, $var24);
    nlea_Tessellator_addVertexWithUV($var5, $var34, $var38, $var42, $var20, $var24);
    nlea_Tessellator_addVertexWithUV($var5, $var34, $var36, $var40, $var20, $var26);
    nlea_Tessellator_addVertexWithUV($var5, $var32, $var36, $var40, $var22, $var26);
    nlea_Tessellator_addVertexWithUV($var5, $var32, $var38, $var40, $var22, $var24);
    nlea_Tessellator_addVertexWithUV($var5, $var34, $var38, $var40, $var20, $var24);
    nlea_Tessellator_addVertexWithUV($var5, $var32, $var36, $var42, $var20, $var26);
    nlea_Tessellator_addVertexWithUV($var5, $var34, $var36, $var42, $var22, $var26);
    nlea_Tessellator_addVertexWithUV($var5, $var34, $var38, $var42, $var22, $var24);
    nlea_Tessellator_addVertexWithUV($var5, $var32, $var38, $var42, $var20, $var24);
    if ($var8 >= 2)
        $var10 = $var10 - 1 | 0;
    b: {
        $var20 = $var9.$getMinU();
        $var12 = $var10;
        $var22 = $var9.$getInterpolatedU($var12);
        var$12 = $var9.$getMinV();
        $var12 = $var9.$getInterpolatedV($var12);
        nlea_Tessellator_addVertexWithUV($var5, $var32, $var38, $var42, $var20, $var12);
        nlea_Tessellator_addVertexWithUV($var5, $var34, $var38, $var42, $var22, $var12);
        nlea_Tessellator_addVertexWithUV($var5, $var34, $var38, $var40, $var22, var$12);
        nlea_Tessellator_addVertexWithUV($var5, $var32, $var38, $var40, $var20, var$12);
        nlea_Tessellator_addVertexWithUV($var5, $var32, $var36, $var40, $var20, var$12);
        nlea_Tessellator_addVertexWithUV($var5, $var34, $var36, $var40, $var22, var$12);
        nlea_Tessellator_addVertexWithUV($var5, $var34, $var36, $var42, $var22, $var12);
        nlea_Tessellator_addVertexWithUV($var5, $var32, $var36, $var42, $var20, $var12);
        $var40 = $var9.$getInterpolatedU(12.0);
        var$12 = $var9.$getMaxU();
        $var12 = $var9.$getMinV();
        $var36 = $var9.$getInterpolatedV(4.0);
        $var20 = 8.0;
        $var22 = 0.0;
        switch ($var7) {
            case 0:
                break;
            case 1:
                $var20 = 0.0;
                $var22 = 8.0;
                $var24 = var$12;
                var$12 = $var40;
                $var40 = $var24;
                break b;
            case 2:
                $var20 = 8.0;
                $var22 = 0.0;
                $var24 = var$12;
                var$12 = $var40;
                $var40 = $var24;
                break b;
            case 3:
                $var20 = 12.0;
                $var22 = 8.0;
                break b;
            default:
                $var24 = var$12;
                var$12 = $var40;
                $var40 = $var24;
                break b;
        }
        $var20 = 8.0;
        $var22 = 12.0;
    }
    $var24 = $var16 + $var20 / 16.0;
    $var16 = $var16 + ($var20 + 4.0) / 16.0;
    $var20 = $var18 + 1.0;
    $var26 = $var14 + $var22 / 16.0;
    $var14 = $var14 + ($var22 + 4.0) / 16.0;
    if (!($var7 != 2 && $var7)) {
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var38, $var26, $var40, $var36);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var38, $var14, var$12, $var36);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var20, $var14, var$12, $var12);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var20, $var26, $var40, $var12);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var38, $var14, var$12, $var36);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var38, $var26, $var40, $var36);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var20, $var26, $var40, $var12);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var20, $var14, var$12, $var12);
    } else if (!($var7 != 1 && $var7 != 3)) {
        nlea_Tessellator_addVertexWithUV($var5, $var16, $var38, $var26, var$12, $var36);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var38, $var26, $var40, $var36);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var20, $var26, $var40, $var12);
        nlea_Tessellator_addVertexWithUV($var5, $var16, $var20, $var26, var$12, $var12);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var38, $var26, $var40, $var36);
        nlea_Tessellator_addVertexWithUV($var5, $var16, $var38, $var26, var$12, $var36);
        nlea_Tessellator_addVertexWithUV($var5, $var16, $var20, $var26, var$12, $var12);
        nlea_Tessellator_addVertexWithUV($var5, $var24, $var20, $var26, $var40, $var12);
    }
    return 1;
}
function nms_RenderBlocks_renderBlockBeacon($this, $par1BlockBeacon, $par2, $par3, $par4) {
    nms_Block_$callClinit();
    $this.$overrideBlockTexture = nms_RenderBlocks_getBlockIcon0($this, nms_Block_obsidian);
    nms_RenderBlocks_setRenderBounds($this, 0.125, 0.0062500000931322575, 0.125, 0.875, 0.1875, 0.875);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockBeacon, $par2, $par3, $par4);
    $this.$overrideBlockTexture = nms_RenderBlocks_getBlockIcon0($this, nms_Block_glass);
    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockBeacon, $par2, $par3, $par4);
    $this.$overrideBlockTexture = $par1BlockBeacon.$theIcon2;
    nms_RenderBlocks_setRenderBounds($this, 0.1875, 0.1875, 0.1875, 0.8125, 0.875, 0.8125);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockBeacon, $par2, $par3, $par4);
    nms_RenderBlocks_clearOverrideBlockTexture($this);
    return 1;
}
function nms_RenderBlocks_renderBlockCactus($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var9, $var10, $var11, var$9;
    $var5 = $par1Block.$colorMultiplier($this.$blockAccess, $par2, $par3, $par4);
    $var9 = ($var5 >> 16 & 255) / 255.0;
    $var10 = ($var5 >> 8 & 255) / 255.0;
    $var11 = ($var5 & 255) / 255.0;
    if (nms_EntityRenderer_anaglyphEnable) {
        var$9 = $var9 * 30.0;
        $var9 = (var$9 + $var10 * 59.0 + $var11 * 11.0) / 100.0;
        $var10 = (var$9 + $var10 * 70.0) / 100.0;
        $var11 = (var$9 + $var11 * 70.0) / 100.0;
    }
    return nms_RenderBlocks_renderBlockCactusImpl($this, $par1Block, $par2, $par3, $par4, $var9, $var10, $var11);
}
function nms_RenderBlocks_renderBlockCactusImpl($this, $par1Block, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var14, $var15, $var16, $var17, $var18, $var19, $var20, $var21, $var22, $var23, $var24, $var25, $var28;
    nlea_Tessellator_$callClinit();
    $var8 = nlea_Tessellator_instance;
    $var9 = 0;
    $var14 = 0.5 * $par5;
    $var15 = 1.0 * $par5;
    $var16 = 0.800000011920929 * $par5;
    $var17 = 0.6000000238418579 * $par5;
    $var18 = 0.5 * $par6;
    $var19 = 1.0 * $par6;
    $var20 = 0.800000011920929 * $par6;
    $var21 = 0.6000000238418579 * $par6;
    $var22 = 0.5 * $par7;
    $var23 = 1.0 * $par7;
    $var24 = 0.800000011920929 * $par7;
    $var25 = 0.6000000238418579 * $par7;
    $var28 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4);
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3 - 1 | 0, $par4, 0))) {
        nlea_Tessellator_setBrightness($var8, $this.$renderMinY > 0.0 ? $var28 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 - 1 | 0, $par4));
        nlea_Tessellator_setColorOpaque_F($var8, $var14, $var18, $var22);
        nms_RenderBlocks_renderFaceYNeg($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 0));
        $var9 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3 + 1 | 0, $par4, 1))) {
        nlea_Tessellator_setBrightness($var8, $this.$renderMaxY < 1.0 ? $var28 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 + 1 | 0, $par4));
        nlea_Tessellator_setColorOpaque_F($var8, $var15, $var19, $var23);
        nms_RenderBlocks_renderFaceYPos($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 1));
        $var9 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3, $par4 - 1 | 0, 2))) {
        nlea_Tessellator_setBrightness($var8, $this.$renderMinZ > 0.0 ? $var28 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 - 1 | 0));
        nlea_Tessellator_setColorOpaque_F($var8, $var16, $var20, $var24);
        nlea_Tessellator_addTranslation($var8, 0.0, 0.0, 0.0625);
        nms_RenderBlocks_renderFaceZNeg($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 2));
        nlea_Tessellator_addTranslation($var8, 0.0, 0.0, (-0.0625));
        $var9 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2, $par3, $par4 + 1 | 0, 3))) {
        nlea_Tessellator_setBrightness($var8, $this.$renderMaxZ < 1.0 ? $var28 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 + 1 | 0));
        nlea_Tessellator_setColorOpaque_F($var8, $var16, $var20, $var24);
        nlea_Tessellator_addTranslation($var8, 0.0, 0.0, (-0.0625));
        nms_RenderBlocks_renderFaceZPos($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 3));
        nlea_Tessellator_addTranslation($var8, 0.0, 0.0, 0.0625);
        $var9 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2 - 1 | 0, $par3, $par4, 4))) {
        nlea_Tessellator_setBrightness($var8, $this.$renderMinX > 0.0 ? $var28 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 - 1 | 0, $par3, $par4));
        nlea_Tessellator_setColorOpaque_F($var8, $var17, $var21, $var25);
        nlea_Tessellator_addTranslation($var8, 0.0625, 0.0, 0.0);
        nms_RenderBlocks_renderFaceXNeg($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 4));
        nlea_Tessellator_addTranslation($var8, (-0.0625), 0.0, 0.0);
        $var9 = 1;
    }
    if (!(!$this.$renderAllFaces && !$par1Block.$shouldSideBeRendered($this.$blockAccess, $par2 + 1 | 0, $par3, $par4, 5))) {
        if ($this.$renderMaxX >= 1.0)
            $var28 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 + 1 | 0, $par3, $par4);
        nlea_Tessellator_setBrightness($var8, $var28);
        nlea_Tessellator_setColorOpaque_F($var8, $var17, $var21, $var25);
        nlea_Tessellator_addTranslation($var8, (-0.0625), 0.0, 0.0);
        nms_RenderBlocks_renderFaceXPos($this, $par1Block, $par2, $par3, $par4, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 5));
        nlea_Tessellator_addTranslation($var8, 0.0625, 0.0, 0.0);
        $var9 = 1;
    }
    return $var9;
}
function nms_RenderBlocks_renderBlockFence($this, $par1BlockFence, $par2, $par3, $par4) {
    var var$5, $var8, $var9, var$8, $var10, $var12, $var11, $var13, $var18, $var19, $var16, $var17;
    nms_RenderBlocks_setRenderBounds($this, 0.375, 0.0, 0.375, 0.625, 1.0, 0.625);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockFence, $par2, $par3, $par4);
    var$5 = 1;
    $var8 = 0;
    $var9 = 0;
    var$8 = $this.$blockAccess;
    $var10 = $par2 - 1 | 0;
    if (!(!nms_BlockFence_canConnectFenceTo($par1BlockFence, var$8, $var10, $par3, $par4) && !nms_BlockFence_canConnectFenceTo($par1BlockFence, $this.$blockAccess, $par2 + 1 | 0, $par3, $par4)))
        $var8 = 1;
    var$8 = $this.$blockAccess;
    $var12 = $par4 - 1 | 0;
    if (!(!nms_BlockFence_canConnectFenceTo($par1BlockFence, var$8, $par2, $par3, $var12) && !nms_BlockFence_canConnectFenceTo($par1BlockFence, $this.$blockAccess, $par2, $par3, $par4 + 1 | 0)))
        $var9 = 1;
    $var10 = nms_BlockFence_canConnectFenceTo($par1BlockFence, $this.$blockAccess, $var10, $par3, $par4);
    $var11 = nms_BlockFence_canConnectFenceTo($par1BlockFence, $this.$blockAccess, $par2 + 1 | 0, $par3, $par4);
    $var12 = nms_BlockFence_canConnectFenceTo($par1BlockFence, $this.$blockAccess, $par2, $par3, $var12);
    $var13 = nms_BlockFence_canConnectFenceTo($par1BlockFence, $this.$blockAccess, $par2, $par3, $par4 + 1 | 0);
    if (!$var8 && !$var9)
        $var8 = 1;
    $var18 = 0.4375;
    $var19 = 0.5625;
    $var16 = !$var10 ? $var18 : 0.0;
    $var17 = !$var11 ? $var19 : 1.0;
    if ($var12)
        $var18 = 0.0;
    if ($var13)
        $var19 = 1.0;
    if ($var8) {
        nms_RenderBlocks_setRenderBounds($this, $var16, 0.75, 0.4375, $var17, 0.9375, 0.5625);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockFence, $par2, $par3, $par4);
        var$5 = 1;
    }
    if ($var9) {
        nms_RenderBlocks_setRenderBounds($this, 0.4375, 0.75, $var18, 0.5625, 0.9375, $var19);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockFence, $par2, $par3, $par4);
        var$5 = 1;
    }
    if ($var8) {
        nms_RenderBlocks_setRenderBounds($this, $var16, 0.375, 0.4375, $var17, 0.5625, 0.5625);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockFence, $par2, $par3, $par4);
        var$5 = 1;
    }
    if ($var9) {
        nms_RenderBlocks_setRenderBounds($this, 0.4375, 0.375, $var18, 0.5625, 0.5625, $var19);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockFence, $par2, $par3, $par4);
        var$5 = 1;
    }
    nms_BlockFence_setBlockBoundsBasedOnState($par1BlockFence, $this.$blockAccess, $par2, $par3, $par4);
    return var$5;
}
function nms_RenderBlocks_renderBlockWall($this, $par1BlockWall, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var11;
    $var5 = nms_BlockWall_canConnectWallTo($par1BlockWall, $this.$blockAccess, $par2 - 1 | 0, $par3, $par4);
    $var6 = nms_BlockWall_canConnectWallTo($par1BlockWall, $this.$blockAccess, $par2 + 1 | 0, $par3, $par4);
    $var7 = nms_BlockWall_canConnectWallTo($par1BlockWall, $this.$blockAccess, $par2, $par3, $par4 - 1 | 0);
    $var8 = nms_BlockWall_canConnectWallTo($par1BlockWall, $this.$blockAccess, $par2, $par3, $par4 + 1 | 0);
    $var9 = $var7 && $var8 && !$var5 && !$var6 ? 1 : 0;
    $var10 = !$var7 && !$var8 && $var5 && $var6 ? 1 : 0;
    $var11 = $this.$blockAccess.$isAirBlock($par2, $par3 + 1 | 0, $par4);
    if (!(!$var9 && !$var10) && $var11) {
        if (!$var9) {
            nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.3125, 1.0, 0.8125, 0.6875);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockWall, $par2, $par3, $par4);
        } else {
            nms_RenderBlocks_setRenderBounds($this, 0.3125, 0.0, 0.0, 0.6875, 0.8125, 1.0);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockWall, $par2, $par3, $par4);
        }
    } else {
        nms_RenderBlocks_setRenderBounds($this, 0.25, 0.0, 0.25, 0.75, 1.0, 0.75);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockWall, $par2, $par3, $par4);
        if ($var5) {
            nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.3125, 0.25, 0.8125, 0.6875);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockWall, $par2, $par3, $par4);
        }
        if ($var6) {
            nms_RenderBlocks_setRenderBounds($this, 0.75, 0.0, 0.3125, 1.0, 0.8125, 0.6875);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockWall, $par2, $par3, $par4);
        }
        if ($var7) {
            nms_RenderBlocks_setRenderBounds($this, 0.3125, 0.0, 0.0, 0.6875, 0.8125, 0.25);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockWall, $par2, $par3, $par4);
        }
        if ($var8) {
            nms_RenderBlocks_setRenderBounds($this, 0.3125, 0.0, 0.75, 0.6875, 0.8125, 1.0);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockWall, $par2, $par3, $par4);
        }
    }
    nms_BlockWall_setBlockBoundsBasedOnState($par1BlockWall, $this.$blockAccess, $par2, $par3, $par4);
    return 1;
}
function nms_RenderBlocks_renderBlockDragonEgg($this, $par1BlockDragonEgg, $par2, $par3, $par4) {
    var $var6, $var7, $var8, $var9, $var10, $var11, $var12, var$12, var$13, var$14;
    $var6 = 0;
    $var7 = 0;
    while ($var7 < 8) {
        $var8 = 0;
        $var9 = 1;
        if (!$var7)
            $var8 = 2;
        if ($var7 == 1)
            $var8 = 3;
        if ($var7 == 2)
            $var8 = 4;
        if ($var7 == 3) {
            $var8 = 5;
            $var9 = 2;
        }
        if ($var7 == 4) {
            $var8 = 6;
            $var9 = 3;
        }
        if ($var7 == 5) {
            $var8 = 7;
            $var9 = 5;
        }
        if ($var7 == 6) {
            $var8 = 6;
            $var9 = 2;
        }
        if ($var7 == 7)
            $var8 = 3;
        $var10 = $var8 / 16.0;
        $var11 = 1.0 - $var6 / 16.0;
        $var6 = $var6 + $var9 | 0;
        $var12 = 1.0 - $var6 / 16.0;
        var$12 = 0.5 - $var10;
        var$13 = $var12;
        var$14 = 0.5 + $var10;
        nms_RenderBlocks_setRenderBounds($this, var$12, var$13, var$12, var$14, $var11, var$14);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockDragonEgg, $par2, $par3, $par4);
        $var7 = $var7 + 1 | 0;
    }
    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    return 1;
}
function nms_RenderBlocks_renderBlockFenceGate($this, $par1BlockFenceGate, $par2, $par3, $par4) {
    var $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21;
    a: {
        b: {
            $var6 = $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4);
            $var7 = nms_BlockFenceGate_isFenceGateOpen($var6);
            $var8 = nms_BlockDirectional_getDirection($var6);
            $var9 = 0.375;
            $var10 = 0.5625;
            $var11 = 0.75;
            $var12 = 0.9375;
            $var13 = 0.3125;
            $var14 = 1.0;
            $var6 = $rt_compare($var8, 2);
            if (!($var6 && $var8)) {
                var$14 = $this.$blockAccess.$getBlockId($par2 - 1 | 0, $par3, $par4);
                nms_Block_$callClinit();
                if (var$14 == nms_Block_cobblestoneWall.$blockID && $this.$blockAccess.$getBlockId($par2 + 1 | 0, $par3, $par4) == nms_Block_cobblestoneWall.$blockID)
                    break b;
            }
            if ($var8 != 3 && $var8 != 1)
                break a;
            var$14 = $this.$blockAccess.$getBlockId($par2, $par3, $par4 - 1 | 0);
            nms_Block_$callClinit();
            if (var$14 != nms_Block_cobblestoneWall.$blockID)
                break a;
            if ($this.$blockAccess.$getBlockId($par2, $par3, $par4 + 1 | 0) != nms_Block_cobblestoneWall.$blockID)
                break a;
        }
        $var9 = 0.1875;
        $var10 = 0.375;
        $var11 = 0.5625;
        $var12 = 0.75;
        $var13 = 0.125;
        $var14 = 0.8125;
    }
    $this.$renderAllFaces = 1;
    var$15 = $rt_compare($var8, 3);
    if (var$15 && $var8 != 1) {
        var$16 = $var13;
        var$17 = $var14;
        nms_RenderBlocks_setRenderBounds($this, 0.0, var$16, 0.4375, 0.125, var$17, 0.5625);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
        nms_RenderBlocks_setRenderBounds($this, 0.875, var$16, 0.4375, 1.0, var$17, 0.5625);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
    } else {
        $this.$uvRotateTop = 1;
        var$16 = $var13;
        var$18 = $var14;
        nms_RenderBlocks_setRenderBounds($this, 0.4375, var$16, 0.0, 0.5625, var$18, 0.125);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
        nms_RenderBlocks_setRenderBounds($this, 0.4375, var$16, 0.875, 0.5625, var$18, 1.0);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
        $this.$uvRotateTop = 0;
    }
    if (!$var7) {
        if (var$15 && $var8 != 1) {
            var$16 = $var9;
            var$17 = $var12;
            nms_RenderBlocks_setRenderBounds($this, 0.375, var$16, 0.4375, 0.5, var$17, 0.5625);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.5, var$16, 0.4375, 0.625, var$17, 0.5625);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$19 = $var10;
            nms_RenderBlocks_setRenderBounds($this, 0.625, var$16, 0.4375, 0.875, var$19, 0.5625);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$20 = $var11;
            nms_RenderBlocks_setRenderBounds($this, 0.625, var$20, 0.4375, 0.875, var$17, 0.5625);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.125, var$16, 0.4375, 0.375, var$19, 0.5625);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.125, var$20, 0.4375, 0.375, var$17, 0.5625);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
        } else {
            $this.$uvRotateTop = 1;
            var$16 = $var9;
            var$17 = $var12;
            nms_RenderBlocks_setRenderBounds($this, 0.4375, var$16, 0.375, 0.5625, var$17, 0.5);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.4375, var$16, 0.5, 0.5625, var$17, 0.625);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$21 = $var10;
            nms_RenderBlocks_setRenderBounds($this, 0.4375, var$16, 0.625, 0.5625, var$21, 0.875);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$20 = $var11;
            nms_RenderBlocks_setRenderBounds($this, 0.4375, var$20, 0.625, 0.5625, var$17, 0.875);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.4375, var$16, 0.125, 0.5625, var$21, 0.375);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.4375, var$20, 0.125, 0.5625, var$17, 0.375);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
        }
    } else {
        if (!($var6 && $var8))
            $this.$uvRotateTop = 1;
        if (!var$15) {
            var$16 = $var9;
            var$17 = $var12;
            nms_RenderBlocks_setRenderBounds($this, 0.8125, var$16, 0.0, 0.9375, var$17, 0.125);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.8125, var$16, 0.875, 0.9375, var$17, 1.0);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$21 = $var10;
            nms_RenderBlocks_setRenderBounds($this, 0.5625, var$16, 0.0, 0.8125, var$21, 0.125);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.5625, var$16, 0.875, 0.8125, var$21, 1.0);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$16 = $var11;
            nms_RenderBlocks_setRenderBounds($this, 0.5625, var$16, 0.0, 0.8125, var$17, 0.125);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.5625, var$16, 0.875, 0.8125, var$17, 1.0);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
        } else if ($var8 == 1) {
            var$16 = $var9;
            var$17 = $var12;
            nms_RenderBlocks_setRenderBounds($this, 0.0625, var$16, 0.0, 0.1875, var$17, 0.125);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.0625, var$16, 0.875, 0.1875, var$17, 1.0);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$21 = $var10;
            nms_RenderBlocks_setRenderBounds($this, 0.1875, var$16, 0.0, 0.4375, var$21, 0.125);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.1875, var$16, 0.875, 0.4375, var$21, 1.0);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$16 = $var11;
            nms_RenderBlocks_setRenderBounds($this, 0.1875, var$16, 0.0, 0.4375, var$17, 0.125);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.1875, var$16, 0.875, 0.4375, var$17, 1.0);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
        } else if (!$var8) {
            var$16 = $var9;
            var$18 = $var12;
            nms_RenderBlocks_setRenderBounds($this, 0.0, var$16, 0.8125, 0.125, var$18, 0.9375);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.875, var$16, 0.8125, 1.0, var$18, 0.9375);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$21 = $var10;
            nms_RenderBlocks_setRenderBounds($this, 0.0, var$16, 0.5625, 0.125, var$21, 0.8125);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.875, var$16, 0.5625, 1.0, var$21, 0.8125);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$16 = $var11;
            nms_RenderBlocks_setRenderBounds($this, 0.0, var$16, 0.5625, 0.125, var$18, 0.8125);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.875, var$16, 0.5625, 1.0, var$18, 0.8125);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
        } else if (!$var6) {
            var$16 = $var9;
            var$17 = $var12;
            nms_RenderBlocks_setRenderBounds($this, 0.0, var$16, 0.0625, 0.125, var$17, 0.1875);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.875, var$16, 0.0625, 1.0, var$17, 0.1875);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$21 = $var10;
            nms_RenderBlocks_setRenderBounds($this, 0.0, var$16, 0.1875, 0.125, var$21, 0.4375);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.875, var$16, 0.1875, 1.0, var$21, 0.4375);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            var$16 = $var11;
            nms_RenderBlocks_setRenderBounds($this, 0.0, var$16, 0.1875, 0.125, var$17, 0.4375);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
            nms_RenderBlocks_setRenderBounds($this, 0.875, var$16, 0.1875, 1.0, var$17, 0.4375);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockFenceGate, $par2, $par3, $par4);
        }
    }
    $this.$renderAllFaces = 0;
    $this.$uvRotateTop = 0;
    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    return 1;
}
function nms_RenderBlocks_renderBlockHopper($this, $par1BlockHopper, $par2, $par3, $par4) {
    var $var5, $var13, $var11, var$8;
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    nlea_Tessellator_setBrightness($var5, nms_Block_getMixedBrightnessForBlock($par1BlockHopper, $this.$blockAccess, $par2, $par3, $par4));
    $var13 = 1.0;
    if (!nms_EntityRenderer_anaglyphEnable) {
        $var11 = $var13;
        var$8 = $var13;
    } else {
        $var11 = 1.0;
        $var13 = 1.0;
        var$8 = $var13;
    }
    nlea_Tessellator_setColorOpaque_F($var5, 1.0 * $var11, 1.0 * var$8, 1.0 * $var13);
    return nms_RenderBlocks_renderBlockHopperMetadata($this, $par1BlockHopper, $par2, $par3, $par4, $this.$blockAccess.$getBlockMetadata($par2, $par3, $par4), 0);
}
function nms_RenderBlocks_renderBlockHopperMetadata($this, $par1BlockHopper, $par2, $par3, $par4, $par5, $par6) {
    var $var7, $var8, $var12, $var16, $var17, $var18, var$13, $var24, $var25, var$16, $var26, $var27, $var20;
    nlea_Tessellator_$callClinit();
    $var7 = nlea_Tessellator_instance;
    $var8 = nms_BlockHopper_getDirectionFromMetadata($par5);
    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.625, 0.0, 1.0, 1.0, 1.0);
    if (!$par6)
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockHopper, $par2, $par3, $par4);
    else {
        nlea_Tessellator_startDrawingQuads($var7);
        nlea_Tessellator_setNormal($var7, 0.0, (-1.0), 0.0);
        nms_RenderBlocks_renderFaceYNeg($this, $par1BlockHopper, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockHopper, 0, $par5));
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nlea_Tessellator_setNormal($var7, 0.0, 1.0, 0.0);
        nms_RenderBlocks_renderFaceYPos($this, $par1BlockHopper, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockHopper, 1, $par5));
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nlea_Tessellator_setNormal($var7, 0.0, 0.0, (-1.0));
        nms_RenderBlocks_renderFaceZNeg($this, $par1BlockHopper, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockHopper, 2, $par5));
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nlea_Tessellator_setNormal($var7, 0.0, 0.0, 1.0);
        nms_RenderBlocks_renderFaceZPos($this, $par1BlockHopper, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockHopper, 3, $par5));
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nlea_Tessellator_setNormal($var7, (-1.0), 0.0, 0.0);
        nms_RenderBlocks_renderFaceXNeg($this, $par1BlockHopper, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockHopper, 4, $par5));
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nlea_Tessellator_setNormal($var7, 1.0, 0.0, 0.0);
        nms_RenderBlocks_renderFaceXPos($this, $par1BlockHopper, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1BlockHopper, 5, $par5));
        nlea_Tessellator_draw($var7);
    }
    if (!$par6) {
        nlea_Tessellator_setBrightness($var7, nms_Block_getMixedBrightnessForBlock($par1BlockHopper, $this.$blockAccess, $par2, $par3, $par4));
        $var12 = nms_Block_colorMultiplier($par1BlockHopper, $this.$blockAccess, $par2, $par3, $par4);
        $var16 = ($var12 >> 16 & 255) / 255.0;
        $var17 = ($var12 >> 8 & 255) / 255.0;
        $var18 = ($var12 & 255) / 255.0;
        if (nms_EntityRenderer_anaglyphEnable) {
            var$13 = $var16 * 30.0;
            $var16 = (var$13 + $var17 * 59.0 + $var18 * 11.0) / 100.0;
            $var17 = (var$13 + $var17 * 70.0) / 100.0;
            $var18 = (var$13 + $var18 * 70.0) / 100.0;
        }
        nlea_Tessellator_setColorOpaque_F($var7, 1.0 * $var16, 1.0 * $var17, 1.0 * $var18);
    }
    $var24 = nms_BlockHopper_getHopperIcon($rt_s(966));
    $var25 = nms_BlockHopper_getHopperIcon($rt_s(967));
    if ($par6) {
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceXPos($this, $par1BlockHopper, (-0.875), 0.0, 0.0, $var24);
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceXNeg($this, $par1BlockHopper, 0.875, 0.0, 0.0, $var24);
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceZPos($this, $par1BlockHopper, 0.0, 0.0, (-0.875), $var24);
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceZNeg($this, $par1BlockHopper, 0.0, 0.0, 0.875, $var24);
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceYPos($this, $par1BlockHopper, 0.0, (-0.375), 0.0, $var25);
        nlea_Tessellator_draw($var7);
    } else {
        var$16 = $par2;
        $var26 = var$16 - 1.0 + 0.125;
        $var27 = $par3;
        $var20 = $par4;
        nms_RenderBlocks_renderFaceXPos($this, $par1BlockHopper, $var26, $var27, $var20, $var24);
        nms_RenderBlocks_renderFaceXNeg($this, $par1BlockHopper, var$16 + 1.0 - 0.125, $var27, $var20, $var24);
        $var26 = $par2;
        var$13 = $par4;
        nms_RenderBlocks_renderFaceZPos($this, $par1BlockHopper, $var26, $var27, var$13 - 1.0 + 0.125, $var24);
        nms_RenderBlocks_renderFaceZNeg($this, $par1BlockHopper, $var26, $var27, var$13 + 1.0 - 0.125, $var24);
        nms_RenderBlocks_renderFaceYPos($this, $par1BlockHopper, $var26, $par3 - 1.0 + 0.625, $var20, $var25);
    }
    nms_RenderBlocks_setOverrideBlockTexture($this, $var24);
    nms_RenderBlocks_setRenderBounds($this, 0.25, 0.25, 0.25, 0.75, 0.623, 0.75);
    if (!$par6)
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockHopper, $par2, $par3, $par4);
    else {
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceXPos($this, $par1BlockHopper, 0.0, 0.0, 0.0, $var24);
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceXNeg($this, $par1BlockHopper, 0.0, 0.0, 0.0, $var24);
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceZPos($this, $par1BlockHopper, 0.0, 0.0, 0.0, $var24);
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceZNeg($this, $par1BlockHopper, 0.0, 0.0, 0.0, $var24);
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceYPos($this, $par1BlockHopper, 0.0, 0.0, 0.0, $var24);
        nlea_Tessellator_draw($var7);
        nlea_Tessellator_startDrawingQuads($var7);
        nms_RenderBlocks_renderFaceYNeg($this, $par1BlockHopper, 0.0, 0.0, 0.0, $var24);
        nlea_Tessellator_draw($var7);
    }
    if (!$par6) {
        nms_RenderBlocks_setOverrideBlockTexture($this, $var24);
        if (!$var8) {
            nms_RenderBlocks_setRenderBounds($this, 0.375, 0.0, 0.375, 0.625, 0.25, 0.625);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockHopper, $par2, $par3, $par4);
        }
        if ($var8 == 2) {
            nms_RenderBlocks_setRenderBounds($this, 0.375, 0.25, 0.0, 0.625, 0.5, 0.25);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockHopper, $par2, $par3, $par4);
        }
        if ($var8 == 3) {
            nms_RenderBlocks_setRenderBounds($this, 0.375, 0.25, 0.75, 0.625, 0.5, 1.0);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockHopper, $par2, $par3, $par4);
        }
        if ($var8 == 4) {
            nms_RenderBlocks_setRenderBounds($this, 0.0, 0.25, 0.375, 0.25, 0.5, 0.625);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockHopper, $par2, $par3, $par4);
        }
        if ($var8 == 5) {
            nms_RenderBlocks_setRenderBounds($this, 0.75, 0.25, 0.375, 1.0, 0.5, 0.625);
            nms_RenderBlocks_renderStandardBlock($this, $par1BlockHopper, $par2, $par3, $par4);
        }
    }
    nms_RenderBlocks_clearOverrideBlockTexture($this);
    return 1;
}
function nms_RenderBlocks_renderBlockStairs($this, $par1BlockStairs, $par2, $par3, $par4) {
    var $var5;
    nms_BlockStairs_func_82541_d($par1BlockStairs, $this.$blockAccess, $par2, $par3, $par4);
    nms_RenderBlocks_setRenderBoundsFromBlock($this, $par1BlockStairs);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockStairs, $par2, $par3, $par4);
    $var5 = nms_BlockStairs_func_82542_g($par1BlockStairs, $this.$blockAccess, $par2, $par3, $par4);
    nms_RenderBlocks_setRenderBoundsFromBlock($this, $par1BlockStairs);
    nms_RenderBlocks_renderStandardBlock($this, $par1BlockStairs, $par2, $par3, $par4);
    if ($var5 && nms_BlockStairs_func_82544_h($par1BlockStairs, $this.$blockAccess, $par2, $par3, $par4)) {
        nms_RenderBlocks_setRenderBoundsFromBlock($this, $par1BlockStairs);
        nms_RenderBlocks_renderStandardBlock($this, $par1BlockStairs, $par2, $par3, $par4);
    }
    return 1;
}
function nms_RenderBlocks_renderBlockDoor($this, $par1Block, $par2, $par3, $par4) {
    var $var5, $var12, var$7, var$8, var$9;
    a: {
        nlea_Tessellator_$callClinit();
        $var5 = nlea_Tessellator_instance;
        if (!($this.$blockAccess.$getBlockMetadata($par2, $par3, $par4) & 8)) {
            if ($this.$blockAccess.$getBlockId($par2, $par3 + 1 | 0, $par4) == $par1Block.$blockID)
                break a;
            return 0;
        }
        if ($this.$blockAccess.$getBlockId($par2, $par3 - 1 | 0, $par4) != $par1Block.$blockID)
            return 0;
    }
    $var12 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4);
    nlea_Tessellator_setBrightness($var5, $this.$renderMinY > 0.0 ? $var12 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 - 1 | 0, $par4));
    nlea_Tessellator_setColorOpaque_F($var5, 0.5, 0.5, 0.5);
    var$7 = $par2;
    var$8 = $par3;
    var$9 = $par4;
    nms_RenderBlocks_renderFaceYNeg($this, $par1Block, var$7, var$8, var$9, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 0));
    nlea_Tessellator_setBrightness($var5, $this.$renderMaxY < 1.0 ? $var12 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3 + 1 | 0, $par4));
    nlea_Tessellator_setColorOpaque_F($var5, 1.0, 1.0, 1.0);
    nms_RenderBlocks_renderFaceYPos($this, $par1Block, var$7, var$8, var$9, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 1));
    nlea_Tessellator_setBrightness($var5, $this.$renderMinZ > 0.0 ? $var12 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 - 1 | 0));
    nlea_Tessellator_setColorOpaque_F($var5, 0.800000011920929, 0.800000011920929, 0.800000011920929);
    nms_RenderBlocks_renderFaceZNeg($this, $par1Block, var$7, var$8, var$9, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 2));
    $this.$flipTexture = 0;
    nlea_Tessellator_setBrightness($var5, $this.$renderMaxZ < 1.0 ? $var12 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2, $par3, $par4 + 1 | 0));
    nlea_Tessellator_setColorOpaque_F($var5, 0.800000011920929, 0.800000011920929, 0.800000011920929);
    nms_RenderBlocks_renderFaceZPos($this, $par1Block, var$7, var$8, var$9, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 3));
    $this.$flipTexture = 0;
    nlea_Tessellator_setBrightness($var5, $this.$renderMinX > 0.0 ? $var12 : $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 - 1 | 0, $par3, $par4));
    nlea_Tessellator_setColorOpaque_F($var5, 0.6000000238418579, 0.6000000238418579, 0.6000000238418579);
    nms_RenderBlocks_renderFaceXNeg($this, $par1Block, var$7, var$8, var$9, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 4));
    $this.$flipTexture = 0;
    if ($this.$renderMaxX >= 1.0)
        $var12 = $par1Block.$getMixedBrightnessForBlock($this.$blockAccess, $par2 + 1 | 0, $par3, $par4);
    nlea_Tessellator_setBrightness($var5, $var12);
    nlea_Tessellator_setColorOpaque_F($var5, 0.6000000238418579, 0.6000000238418579, 0.6000000238418579);
    nms_RenderBlocks_renderFaceXPos($this, $par1Block, var$7, var$8, var$9, nms_RenderBlocks_getBlockIcon($this, $par1Block, $this.$blockAccess, $par2, $par3, $par4, 5));
    $this.$flipTexture = 0;
    return 1;
}
function nms_RenderBlocks_renderFaceYNeg($this, $par1Block, $par2, $par4, $par6, $par8Icon) {
    var $var9, $var10, $var12, $var14, $var16, var$11, var$12, var$13, var$14, $var26, $var28, $var30, $var32, $var34;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $par8Icon = $this.$overrideBlockTexture;
    $var10 = $par8Icon.$getInterpolatedU($this.$renderMinX * 16.0);
    $var12 = $par8Icon.$getInterpolatedU($this.$renderMaxX * 16.0);
    $var14 = $par8Icon.$getInterpolatedV($this.$renderMinZ * 16.0);
    $var16 = $par8Icon.$getInterpolatedV($this.$renderMaxZ * 16.0);
    if (!($this.$renderMinX >= 0.0 && $this.$renderMaxX <= 1.0)) {
        $var10 = $par8Icon.$getMinU();
        $var12 = $par8Icon.$getMaxU();
    }
    if (!($this.$renderMinZ >= 0.0 && $this.$renderMaxZ <= 1.0)) {
        $var14 = $par8Icon.$getMinV();
        $var16 = $par8Icon.$getMaxV();
    }
    if ($this.$uvRotateBottom == 2) {
        $var12 = $par8Icon.$getInterpolatedU($this.$renderMinZ * 16.0);
        $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxX * 16.0);
        $var10 = $par8Icon.$getInterpolatedU($this.$renderMaxZ * 16.0);
        $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinX * 16.0);
        var$11 = $var12;
        var$12 = $var16;
        var$13 = $var10;
        var$14 = $var14;
    } else if ($this.$uvRotateBottom == 1) {
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxZ * 16.0);
        $var16 = $par8Icon.$getInterpolatedV($this.$renderMinX * 16.0);
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinZ * 16.0);
        $var14 = $par8Icon.$getInterpolatedV($this.$renderMaxX * 16.0);
        var$11 = $var12;
        var$12 = $var16;
        var$13 = $var10;
        var$14 = $var14;
    } else if ($this.$uvRotateBottom != 3) {
        var$11 = $var10;
        var$12 = $var14;
        var$13 = $var12;
        var$14 = $var16;
    } else {
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinX * 16.0);
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxX * 16.0);
        $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinZ * 16.0);
        $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxZ * 16.0);
        var$11 = $var10;
        var$12 = $var14;
        var$13 = $var12;
        var$14 = $var16;
    }
    $var26 = $par2 + $this.$renderMinX;
    $var28 = $par2 + $this.$renderMaxX;
    $var30 = $par4 + $this.$renderMinY;
    $var32 = $par6 + $this.$renderMinZ;
    $var34 = $par6 + $this.$renderMaxZ;
    if (!$this.$enableAO) {
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, $var10, $var16);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var32, var$11, var$12);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var32, $var12, $var14);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var34, var$13, var$14);
    } else {
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopLeft, $this.$colorGreenTopLeft, $this.$colorBlueTopLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, $var10, $var16);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomLeft, $this.$colorGreenBottomLeft, $this.$colorBlueBottomLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var32, var$11, var$12);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomRight, $this.$colorGreenBottomRight, $this.$colorBlueBottomRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomRight);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var32, $var12, $var14);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopRight, $this.$colorGreenTopRight, $this.$colorBlueTopRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopRight);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var34, var$13, var$14);
    }
}
function nms_RenderBlocks_renderFaceYPos($this, $par1Block, $par2, $par4, $par6, $par8Icon) {
    var $var9, $var10, $var12, $var14, $var16, var$11, var$12, var$13, var$14, $var26, $var28, $var30, $var32, $var34;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $par8Icon = $this.$overrideBlockTexture;
    $var10 = $par8Icon.$getInterpolatedU($this.$renderMinX * 16.0);
    $var12 = $par8Icon.$getInterpolatedU($this.$renderMaxX * 16.0);
    $var14 = $par8Icon.$getInterpolatedV($this.$renderMinZ * 16.0);
    $var16 = $par8Icon.$getInterpolatedV($this.$renderMaxZ * 16.0);
    if (!($this.$renderMinX >= 0.0 && $this.$renderMaxX <= 1.0)) {
        $var10 = $par8Icon.$getMinU();
        $var12 = $par8Icon.$getMaxU();
    }
    if (!($this.$renderMinZ >= 0.0 && $this.$renderMaxZ <= 1.0)) {
        $var14 = $par8Icon.$getMinV();
        $var16 = $par8Icon.$getMaxV();
    }
    if ($this.$uvRotateTop == 1) {
        $var12 = $par8Icon.$getInterpolatedU($this.$renderMinZ * 16.0);
        $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxX * 16.0);
        $var10 = $par8Icon.$getInterpolatedU($this.$renderMaxZ * 16.0);
        $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinX * 16.0);
        var$11 = $var12;
        var$12 = $var16;
        var$13 = $var10;
        var$14 = $var14;
    } else if ($this.$uvRotateTop == 2) {
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxZ * 16.0);
        $var16 = $par8Icon.$getInterpolatedV($this.$renderMinX * 16.0);
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinZ * 16.0);
        $var14 = $par8Icon.$getInterpolatedV($this.$renderMaxX * 16.0);
        var$11 = $var12;
        var$12 = $var16;
        var$13 = $var10;
        var$14 = $var14;
    } else if ($this.$uvRotateTop != 3) {
        var$11 = $var10;
        var$12 = $var14;
        var$13 = $var12;
        var$14 = $var16;
    } else {
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinX * 16.0);
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxX * 16.0);
        $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinZ * 16.0);
        $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxZ * 16.0);
        var$11 = $var10;
        var$12 = $var14;
        var$13 = $var12;
        var$14 = $var16;
    }
    $var26 = $par2 + $this.$renderMinX;
    $var28 = $par2 + $this.$renderMaxX;
    $var30 = $par4 + $this.$renderMaxY;
    $var32 = $par6 + $this.$renderMinZ;
    $var34 = $par6 + $this.$renderMaxZ;
    if (!$this.$enableAO) {
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var34, var$13, var$14);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var32, $var12, $var14);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var32, var$11, var$12);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, $var10, $var16);
    } else {
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopLeft, $this.$colorGreenTopLeft, $this.$colorBlueTopLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var34, var$13, var$14);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomLeft, $this.$colorGreenBottomLeft, $this.$colorBlueBottomLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var32, $var12, $var14);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomRight, $this.$colorGreenBottomRight, $this.$colorBlueBottomRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomRight);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var32, var$11, var$12);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopRight, $this.$colorGreenTopRight, $this.$colorBlueTopRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopRight);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, $var10, $var16);
    }
}
function nms_RenderBlocks_renderFaceZNeg($this, $par1Block, $par2, $par4, $par6, $par8Icon) {
    var $var9, $var10, $var12, $var14, $var16, var$11, var$12, var$13, var$14, $var26, $var28, $var30, $var32, $var34;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $par8Icon = $this.$overrideBlockTexture;
    $var10 = $par8Icon.$getInterpolatedU($this.$renderMinX * 16.0);
    $var12 = $par8Icon.$getInterpolatedU($this.$renderMaxX * 16.0);
    $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxY * 16.0);
    $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinY * 16.0);
    if (!$this.$flipTexture) {
        var$11 = $var12;
        $var12 = $var10;
        $var10 = var$11;
    }
    if (!($this.$renderMinX >= 0.0 && $this.$renderMaxX <= 1.0)) {
        $var12 = $par8Icon.$getMinU();
        $var10 = $par8Icon.$getMaxU();
    }
    if (!($this.$renderMinY >= 0.0 && $this.$renderMaxY <= 1.0)) {
        $var14 = $par8Icon.$getMinV();
        $var16 = $par8Icon.$getMaxV();
    }
    if ($this.$uvRotateEast == 2) {
        $var10 = $par8Icon.$getInterpolatedU($this.$renderMinY * 16.0);
        $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinX * 16.0);
        $var12 = $par8Icon.$getInterpolatedU($this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxX * 16.0);
        var$11 = $var10;
        var$12 = $var16;
        var$13 = $var12;
        var$14 = $var14;
    } else if ($this.$uvRotateEast == 1) {
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV($this.$renderMaxX * 16.0);
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinY * 16.0);
        $var14 = $par8Icon.$getInterpolatedV($this.$renderMinX * 16.0);
        var$11 = $var10;
        var$12 = $var16;
        var$13 = $var12;
        var$14 = $var14;
    } else if ($this.$uvRotateEast != 3) {
        var$11 = $var12;
        var$12 = $var14;
        var$13 = $var10;
        var$14 = $var16;
    } else {
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinX * 16.0);
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxX * 16.0);
        $var14 = $par8Icon.$getInterpolatedV($this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV($this.$renderMinY * 16.0);
        var$11 = $var12;
        var$12 = $var14;
        var$13 = $var10;
        var$14 = $var16;
    }
    $var26 = $par2 + $this.$renderMinX;
    $var28 = $par2 + $this.$renderMaxX;
    $var30 = $par4 + $this.$renderMinY;
    $var32 = $par4 + $this.$renderMaxY;
    $var34 = $par6 + $this.$renderMinZ;
    if (!$this.$enableAO) {
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var32, $var34, $var10, $var14);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var32, $var34, var$11, var$12);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var34, $var12, $var16);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, var$13, var$14);
    } else {
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopLeft, $this.$colorGreenTopLeft, $this.$colorBlueTopLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var32, $var34, $var10, $var14);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomLeft, $this.$colorGreenBottomLeft, $this.$colorBlueBottomLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var32, $var34, var$11, var$12);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomRight, $this.$colorGreenBottomRight, $this.$colorBlueBottomRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomRight);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var34, $var12, $var16);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopRight, $this.$colorGreenTopRight, $this.$colorBlueTopRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopRight);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, var$13, var$14);
    }
}
function nms_RenderBlocks_renderFaceZPos($this, $par1Block, $par2, $par4, $par6, $par8Icon) {
    var $var9, $var10, $var12, $var14, $var16, var$11, var$12, var$13, var$14, $var26, $var28, $var30, $var32, $var34;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $par8Icon = $this.$overrideBlockTexture;
    $var10 = $par8Icon.$getInterpolatedU($this.$renderMinX * 16.0);
    $var12 = $par8Icon.$getInterpolatedU($this.$renderMaxX * 16.0);
    $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxY * 16.0);
    $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinY * 16.0);
    if (!$this.$flipTexture) {
        var$11 = $var12;
        $var12 = $var10;
        $var10 = var$11;
    }
    if (!($this.$renderMinX >= 0.0 && $this.$renderMaxX <= 1.0)) {
        $var12 = $par8Icon.$getMinU();
        $var10 = $par8Icon.$getMaxU();
    }
    if (!($this.$renderMinY >= 0.0 && $this.$renderMaxY <= 1.0)) {
        $var14 = $par8Icon.$getMinV();
        $var16 = $par8Icon.$getMaxV();
    }
    if ($this.$uvRotateWest == 1) {
        $var10 = $par8Icon.$getInterpolatedU($this.$renderMinY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinX * 16.0);
        $var12 = $par8Icon.$getInterpolatedU($this.$renderMaxY * 16.0);
        $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxX * 16.0);
        var$11 = $var10;
        var$12 = $var14;
        var$13 = $var12;
        var$14 = $var16;
    } else if ($this.$uvRotateWest == 2) {
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV($this.$renderMinX * 16.0);
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinY * 16.0);
        $var14 = $par8Icon.$getInterpolatedV($this.$renderMaxX * 16.0);
        var$11 = $var10;
        var$12 = $var14;
        var$13 = $var12;
        var$14 = $var16;
    } else if ($this.$uvRotateWest != 3) {
        var$11 = $var12;
        var$12 = $var16;
        var$13 = $var10;
        var$14 = $var14;
    } else {
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinX * 16.0);
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxX * 16.0);
        $var14 = $par8Icon.$getInterpolatedV($this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV($this.$renderMinY * 16.0);
        var$11 = $var12;
        var$12 = $var16;
        var$13 = $var10;
        var$14 = $var14;
    }
    $var26 = $par2 + $this.$renderMinX;
    $var28 = $par2 + $this.$renderMaxX;
    $var30 = $par4 + $this.$renderMinY;
    $var32 = $par4 + $this.$renderMaxY;
    $var34 = $par6 + $this.$renderMaxZ;
    if (!$this.$enableAO) {
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var32, $var34, var$11, var$14);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, $var12, $var16);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var34, var$13, var$12);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var32, $var34, $var10, $var14);
    } else {
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopLeft, $this.$colorGreenTopLeft, $this.$colorBlueTopLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var32, $var34, var$11, var$14);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomLeft, $this.$colorGreenBottomLeft, $this.$colorBlueBottomLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, $var12, $var16);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomRight, $this.$colorGreenBottomRight, $this.$colorBlueBottomRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomRight);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var30, $var34, var$13, var$12);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopRight, $this.$colorGreenTopRight, $this.$colorBlueTopRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopRight);
        nlea_Tessellator_addVertexWithUV($var9, $var28, $var32, $var34, $var10, $var14);
    }
}
function nms_RenderBlocks_renderFaceXNeg($this, $par1Block, $par2, $par4, $par6, $par8Icon) {
    var $var9, $var10, $var12, $var14, $var16, var$11, var$12, var$13, var$14, $var26, $var28, $var30, $var32, $var34;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $par8Icon = $this.$overrideBlockTexture;
    $var10 = $par8Icon.$getInterpolatedU($this.$renderMinZ * 16.0);
    $var12 = $par8Icon.$getInterpolatedU($this.$renderMaxZ * 16.0);
    $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxY * 16.0);
    $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinY * 16.0);
    if (!$this.$flipTexture) {
        var$11 = $var12;
        $var12 = $var10;
        $var10 = var$11;
    }
    if (!($this.$renderMinZ >= 0.0 && $this.$renderMaxZ <= 1.0)) {
        $var12 = $par8Icon.$getMinU();
        $var10 = $par8Icon.$getMaxU();
    }
    if (!($this.$renderMinY >= 0.0 && $this.$renderMaxY <= 1.0)) {
        $var14 = $par8Icon.$getMinV();
        $var16 = $par8Icon.$getMaxV();
    }
    if ($this.$uvRotateNorth == 1) {
        $var10 = $par8Icon.$getInterpolatedU($this.$renderMinY * 16.0);
        $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxZ * 16.0);
        $var12 = $par8Icon.$getInterpolatedU($this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinZ * 16.0);
        var$12 = $var10;
        var$13 = $var16;
        var$11 = $var12;
        var$14 = $var14;
    } else if ($this.$uvRotateNorth == 2) {
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV($this.$renderMinZ * 16.0);
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinY * 16.0);
        $var14 = $par8Icon.$getInterpolatedV($this.$renderMaxZ * 16.0);
        var$12 = $var10;
        var$13 = $var16;
        var$11 = $var12;
        var$14 = $var14;
    } else if ($this.$uvRotateNorth != 3) {
        var$12 = $var12;
        var$13 = $var14;
        var$11 = $var10;
        var$14 = $var16;
    } else {
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinZ * 16.0);
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxZ * 16.0);
        $var14 = $par8Icon.$getInterpolatedV($this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV($this.$renderMinY * 16.0);
        var$12 = $var12;
        var$13 = $var14;
        var$11 = $var10;
        var$14 = $var16;
    }
    $var26 = $par2 + $this.$renderMinX;
    $var28 = $par4 + $this.$renderMinY;
    $var30 = $par4 + $this.$renderMaxY;
    $var32 = $par6 + $this.$renderMinZ;
    $var34 = $par6 + $this.$renderMaxZ;
    if (!$this.$enableAO) {
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, $var10, $var14);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var32, var$12, var$13);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var28, $var32, $var12, $var16);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var28, $var34, var$11, var$14);
    } else {
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopLeft, $this.$colorGreenTopLeft, $this.$colorBlueTopLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, $var10, $var14);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomLeft, $this.$colorGreenBottomLeft, $this.$colorBlueBottomLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var32, var$12, var$13);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomRight, $this.$colorGreenBottomRight, $this.$colorBlueBottomRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomRight);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var28, $var32, $var12, $var16);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopRight, $this.$colorGreenTopRight, $this.$colorBlueTopRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopRight);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var28, $var34, var$11, var$14);
    }
}
function nms_RenderBlocks_renderFaceXPos($this, $par1Block, $par2, $par4, $par6, $par8Icon) {
    var $var9, $var10, $var12, $var14, $var16, var$11, var$12, var$13, var$14, $var26, $var28, $var30, $var32, $var34;
    nlea_Tessellator_$callClinit();
    $var9 = nlea_Tessellator_instance;
    if (nms_RenderBlocks_hasOverrideBlockTexture($this))
        $par8Icon = $this.$overrideBlockTexture;
    $var10 = $par8Icon.$getInterpolatedU($this.$renderMinZ * 16.0);
    $var12 = $par8Icon.$getInterpolatedU($this.$renderMaxZ * 16.0);
    $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxY * 16.0);
    $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinY * 16.0);
    if (!$this.$flipTexture) {
        var$11 = $var12;
        $var12 = $var10;
        $var10 = var$11;
    }
    if (!($this.$renderMinZ >= 0.0 && $this.$renderMaxZ <= 1.0)) {
        $var12 = $par8Icon.$getMinU();
        $var10 = $par8Icon.$getMaxU();
    }
    if (!($this.$renderMinY >= 0.0 && $this.$renderMaxY <= 1.0)) {
        $var14 = $par8Icon.$getMinV();
        $var16 = $par8Icon.$getMaxV();
    }
    if ($this.$uvRotateSouth == 2) {
        $var10 = $par8Icon.$getInterpolatedU($this.$renderMinY * 16.0);
        $var14 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMinZ * 16.0);
        $var12 = $par8Icon.$getInterpolatedU($this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV(16.0 - $this.$renderMaxZ * 16.0);
        var$11 = $var10;
        var$12 = $var16;
        var$13 = $var12;
        var$14 = $var14;
    } else if ($this.$uvRotateSouth == 1) {
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV($this.$renderMaxZ * 16.0);
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinY * 16.0);
        $var14 = $par8Icon.$getInterpolatedV($this.$renderMinZ * 16.0);
        var$11 = $var10;
        var$12 = $var16;
        var$13 = $var12;
        var$14 = $var14;
    } else if ($this.$uvRotateSouth != 3) {
        var$11 = $var12;
        var$12 = $var14;
        var$13 = $var10;
        var$14 = $var16;
    } else {
        $var12 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMinZ * 16.0);
        $var10 = $par8Icon.$getInterpolatedU(16.0 - $this.$renderMaxZ * 16.0);
        $var14 = $par8Icon.$getInterpolatedV($this.$renderMaxY * 16.0);
        $var16 = $par8Icon.$getInterpolatedV($this.$renderMinY * 16.0);
        var$11 = $var12;
        var$12 = $var14;
        var$13 = $var10;
        var$14 = $var16;
    }
    $var26 = $par2 + $this.$renderMaxX;
    $var28 = $par4 + $this.$renderMinY;
    $var30 = $par4 + $this.$renderMaxY;
    $var32 = $par6 + $this.$renderMinZ;
    $var34 = $par6 + $this.$renderMaxZ;
    if (!$this.$enableAO) {
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var28, $var34, $var12, $var16);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var28, $var32, var$13, var$14);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var32, $var10, $var14);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, var$11, var$12);
    } else {
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopLeft, $this.$colorGreenTopLeft, $this.$colorBlueTopLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var28, $var34, $var12, $var16);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomLeft, $this.$colorGreenBottomLeft, $this.$colorBlueBottomLeft);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomLeft);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var28, $var32, var$13, var$14);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedBottomRight, $this.$colorGreenBottomRight, $this.$colorBlueBottomRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessBottomRight);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var32, $var10, $var14);
        nlea_Tessellator_setColorOpaque_F($var9, $this.$colorRedTopRight, $this.$colorGreenTopRight, $this.$colorBlueTopRight);
        nlea_Tessellator_setBrightness($var9, $this.$brightnessTopRight);
        nlea_Tessellator_addVertexWithUV($var9, $var26, $var30, $var34, var$11, var$12);
    }
}
function nms_RenderBlocks_renderBlockAsItem($this, $par1Block, $par2, $par3) {
    var $var4, $var14, $var5, $var6, var$8, $var15, $var16, $var17, $var11, $var12, $var13, var$15, var$16, var$17, $var14_0, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var14_0 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var14 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Block = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_Tessellator_$callClinit();
        $var4 = nlea_Tessellator_instance;
        $var14 = $par1Block.$blockID;
        nms_Block_$callClinit();
        $var5 = $var14 != nms_Block_grass.$blockID ? 0 : 1;
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        if (!($par1Block !== nms_Block_dispenser && $par1Block !== nms_Block_dropper && $par1Block !== nms_Block_furnaceIdle))
            $par2 = 3;
        if ($this.$useInventoryTint) {
            $var6 = $par1Block.$getRenderColor($par2);
            if ($var5)
                $var6 = 16777215;
            nleg_EaglerAdapterGL30_glColor4f(($var6 >> 16 & 255) / 255.0 * $par3, ($var6 >> 8 & 255) / 255.0 * $par3, ($var6 & 255) / 255.0 * $par3, 1.0);
        }
        a: {
            $var6 = $par1Block.$getRenderType();
            nms_RenderBlocks_setRenderBoundsFromBlock($this, $par1Block);
            if ($var6 && $var6 != 31 && $var6 != 39 && $var6 != 16 && $var6 != 26) {
                if ($var6 == 1) {
                    nlea_Tessellator_startDrawingQuads($var4);
                    nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                    nms_RenderBlocks_drawCrossedSquares($this, $par1Block, $par2, (-0.5), (-0.5), (-0.5), 1.0);
                    nlea_Tessellator_draw($var4);
                } else if ($var6 == 19) {
                    nlea_Tessellator_startDrawingQuads($var4);
                    nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                    $par1Block.$setBlockBoundsForItemRender();
                    nms_RenderBlocks_renderBlockStemSmall($this, $par1Block, $par2, $this.$renderMaxY, (-0.5), (-0.5), (-0.5));
                    nlea_Tessellator_draw($var4);
                } else if ($var6 == 23) {
                    nlea_Tessellator_startDrawingQuads($var4);
                    nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                    $par1Block.$setBlockBoundsForItemRender();
                    nlea_Tessellator_draw($var4);
                } else if ($var6 == 13) {
                    $par1Block.$setBlockBoundsForItemRender();
                    nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                    nlea_Tessellator_startDrawingQuads($var4);
                    nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                    nms_RenderBlocks_renderFaceYNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0));
                    nlea_Tessellator_draw($var4);
                    nlea_Tessellator_startDrawingQuads($var4);
                    nlea_Tessellator_setNormal($var4, 0.0, 1.0, 0.0);
                    nms_RenderBlocks_renderFaceYPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 1));
                    nlea_Tessellator_draw($var4);
                    nlea_Tessellator_startDrawingQuads($var4);
                    nlea_Tessellator_setNormal($var4, 0.0, 0.0, (-1.0));
                    nlea_Tessellator_addTranslation($var4, 0.0, 0.0, 0.0625);
                    nms_RenderBlocks_renderFaceZNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 2));
                    nlea_Tessellator_addTranslation($var4, 0.0, 0.0, (-0.0625));
                    nlea_Tessellator_draw($var4);
                    nlea_Tessellator_startDrawingQuads($var4);
                    nlea_Tessellator_setNormal($var4, 0.0, 0.0, 1.0);
                    nlea_Tessellator_addTranslation($var4, 0.0, 0.0, (-0.0625));
                    nms_RenderBlocks_renderFaceZPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 3));
                    nlea_Tessellator_addTranslation($var4, 0.0, 0.0, 0.0625);
                    nlea_Tessellator_draw($var4);
                    nlea_Tessellator_startDrawingQuads($var4);
                    nlea_Tessellator_setNormal($var4, (-1.0), 0.0, 0.0);
                    nlea_Tessellator_addTranslation($var4, 0.0625, 0.0, 0.0);
                    nms_RenderBlocks_renderFaceXNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 4));
                    nlea_Tessellator_addTranslation($var4, (-0.0625), 0.0, 0.0);
                    nlea_Tessellator_draw($var4);
                    nlea_Tessellator_startDrawingQuads($var4);
                    nlea_Tessellator_setNormal($var4, 1.0, 0.0, 0.0);
                    nlea_Tessellator_addTranslation($var4, (-0.0625), 0.0, 0.0);
                    nms_RenderBlocks_renderFaceXPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 5));
                    nlea_Tessellator_addTranslation($var4, 0.0625, 0.0, 0.0);
                    nlea_Tessellator_draw($var4);
                    nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
                } else {
                    if ($var6 == 22) {
                        nms_RenderHelper_enableStandardItemLighting();
                        nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 1.0, 0.0);
                        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                        var$8 = nms_ChestItemRenderHelper_instance;
                        $ptr = 1;
                        continue main;
                    }
                    if ($var6 == 6) {
                        nlea_Tessellator_startDrawingQuads($var4);
                        nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                        nms_RenderBlocks_renderBlockCropsImpl($this, $par1Block, $par2, (-0.5), (-0.5), (-0.5));
                        nlea_Tessellator_draw($var4);
                    } else if ($var6 == 2) {
                        nlea_Tessellator_startDrawingQuads($var4);
                        nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                        nms_RenderBlocks_renderTorchAtAngle($this, $par1Block, (-0.5), (-0.5), (-0.5), 0.0, 0.0, 0);
                        nlea_Tessellator_draw($var4);
                    } else {
                        if ($var6 == 10) {
                            $var14 = 0;
                            while (true) {
                                if ($var14 >= 2)
                                    break a;
                                if (!$var14)
                                    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.5);
                                if ($var14 == 1)
                                    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.5, 1.0, 0.5, 1.0);
                                nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                                nlea_Tessellator_startDrawingQuads($var4);
                                nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                                nms_RenderBlocks_renderFaceYNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0));
                                nlea_Tessellator_draw($var4);
                                nlea_Tessellator_startDrawingQuads($var4);
                                nlea_Tessellator_setNormal($var4, 0.0, 1.0, 0.0);
                                nms_RenderBlocks_renderFaceYPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 1));
                                nlea_Tessellator_draw($var4);
                                nlea_Tessellator_startDrawingQuads($var4);
                                nlea_Tessellator_setNormal($var4, 0.0, 0.0, (-1.0));
                                nms_RenderBlocks_renderFaceZNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 2));
                                nlea_Tessellator_draw($var4);
                                nlea_Tessellator_startDrawingQuads($var4);
                                nlea_Tessellator_setNormal($var4, 0.0, 0.0, 1.0);
                                nms_RenderBlocks_renderFaceZPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 3));
                                nlea_Tessellator_draw($var4);
                                nlea_Tessellator_startDrawingQuads($var4);
                                nlea_Tessellator_setNormal($var4, (-1.0), 0.0, 0.0);
                                nms_RenderBlocks_renderFaceXNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 4));
                                nlea_Tessellator_draw($var4);
                                nlea_Tessellator_startDrawingQuads($var4);
                                nlea_Tessellator_setNormal($var4, 1.0, 0.0, 0.0);
                                nms_RenderBlocks_renderFaceXPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 5));
                                nlea_Tessellator_draw($var4);
                                nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
                                $var14 = $var14 + 1 | 0;
                            }
                        }
                        if ($var6 != 27) {
                            if ($var6 == 11) {
                                $var14 = 0;
                                while ($var14 < 4) {
                                    if (!$var14)
                                        nms_RenderBlocks_setRenderBounds($this, 0.375, 0.0, 0.0, 0.625, 1.0, 0.25);
                                    if ($var14 == 1)
                                        nms_RenderBlocks_setRenderBounds($this, 0.375, 0.0, 0.75, 0.625, 1.0, 1.0);
                                    if ($var14 == 2)
                                        nms_RenderBlocks_setRenderBounds($this, 0.4375, 0.8125, (-0.125), 0.5625, 0.9375, 1.125);
                                    if ($var14 == 3)
                                        nms_RenderBlocks_setRenderBounds($this, 0.4375, 0.3125, (-0.125), 0.5625, 0.4375, 1.125);
                                    nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                                    nlea_Tessellator_startDrawingQuads($var4);
                                    nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                                    nms_RenderBlocks_renderFaceYNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0));
                                    nlea_Tessellator_draw($var4);
                                    nlea_Tessellator_startDrawingQuads($var4);
                                    nlea_Tessellator_setNormal($var4, 0.0, 1.0, 0.0);
                                    nms_RenderBlocks_renderFaceYPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 1));
                                    nlea_Tessellator_draw($var4);
                                    nlea_Tessellator_startDrawingQuads($var4);
                                    nlea_Tessellator_setNormal($var4, 0.0, 0.0, (-1.0));
                                    nms_RenderBlocks_renderFaceZNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 2));
                                    nlea_Tessellator_draw($var4);
                                    nlea_Tessellator_startDrawingQuads($var4);
                                    nlea_Tessellator_setNormal($var4, 0.0, 0.0, 1.0);
                                    nms_RenderBlocks_renderFaceZPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 3));
                                    nlea_Tessellator_draw($var4);
                                    nlea_Tessellator_startDrawingQuads($var4);
                                    nlea_Tessellator_setNormal($var4, (-1.0), 0.0, 0.0);
                                    nms_RenderBlocks_renderFaceXNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 4));
                                    nlea_Tessellator_draw($var4);
                                    nlea_Tessellator_startDrawingQuads($var4);
                                    nlea_Tessellator_setNormal($var4, 1.0, 0.0, 0.0);
                                    nms_RenderBlocks_renderFaceXPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 5));
                                    nlea_Tessellator_draw($var4);
                                    nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
                                    $var14 = $var14 + 1 | 0;
                                }
                                nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
                            } else {
                                if ($var6 == 21) {
                                    $var14 = 0;
                                    while (true) {
                                        if ($var14 >= 3)
                                            break a;
                                        if (!$var14)
                                            nms_RenderBlocks_setRenderBounds($this, 0.4375, 0.30000001192092896, 0.0, 0.5625, 1.0, 0.125);
                                        if ($var14 == 1)
                                            nms_RenderBlocks_setRenderBounds($this, 0.4375, 0.30000001192092896, 0.875, 0.5625, 1.0, 1.0);
                                        if ($var14 == 2)
                                            nms_RenderBlocks_setRenderBounds($this, 0.4375, 0.5, 0.0, 0.5625, 0.9375, 1.0);
                                        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                                        nms_RenderBlocks_renderFaceYNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, 1.0, 0.0);
                                        nms_RenderBlocks_renderFaceYPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 1));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, 0.0, (-1.0));
                                        nms_RenderBlocks_renderFaceZNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, 0.0, 1.0);
                                        nms_RenderBlocks_renderFaceZPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 3));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, (-1.0), 0.0, 0.0);
                                        nms_RenderBlocks_renderFaceXNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 4));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 1.0, 0.0, 0.0);
                                        nms_RenderBlocks_renderFaceXPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 5));
                                        nlea_Tessellator_draw($var4);
                                        nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
                                        $var14 = $var14 + 1 | 0;
                                    }
                                }
                                if ($var6 == 32) {
                                    $var14 = 0;
                                    while ($var14 < 2) {
                                        if (!$var14)
                                            nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.3125, 1.0, 0.8125, 0.6875);
                                        if ($var14 == 1)
                                            nms_RenderBlocks_setRenderBounds($this, 0.25, 0.0, 0.25, 0.75, 1.0, 0.75);
                                        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                                        nms_RenderBlocks_renderFaceYNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 0, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, 1.0, 0.0);
                                        nms_RenderBlocks_renderFaceYPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 1, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, 0.0, (-1.0));
                                        nms_RenderBlocks_renderFaceZNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 2, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, 0.0, 1.0);
                                        nms_RenderBlocks_renderFaceZPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 3, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, (-1.0), 0.0, 0.0);
                                        nms_RenderBlocks_renderFaceXNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 4, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 1.0, 0.0, 0.0);
                                        nms_RenderBlocks_renderFaceXPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 5, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
                                        $var14 = $var14 + 1 | 0;
                                    }
                                    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
                                } else if ($var6 == 35) {
                                    nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                                    nms_RenderBlocks_renderBlockAnvilOrient($this, $par1Block, 0, 0, 0, $par2, 1);
                                    nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
                                } else if ($var6 == 34) {
                                    $var14 = 0;
                                    while ($var14 < 3) {
                                        if (!$var14) {
                                            nms_RenderBlocks_setRenderBounds($this, 0.125, 0.0, 0.125, 0.875, 0.1875, 0.875);
                                            nms_RenderBlocks_setOverrideBlockTexture($this, nms_RenderBlocks_getBlockIcon0($this, nms_Block_obsidian));
                                        } else if ($var14 == 1) {
                                            nms_RenderBlocks_setRenderBounds($this, 0.1875, 0.1875, 0.1875, 0.8125, 0.875, 0.8125);
                                            nms_RenderBlocks_setOverrideBlockTexture($this, nms_BlockBeacon_getBeaconIcon(nms_Block_beacon));
                                        } else if ($var14 == 2) {
                                            nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
                                            nms_RenderBlocks_setOverrideBlockTexture($this, nms_RenderBlocks_getBlockIcon0($this, nms_Block_glass));
                                        }
                                        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                                        nms_RenderBlocks_renderFaceYNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 0, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, 1.0, 0.0);
                                        nms_RenderBlocks_renderFaceYPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 1, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, 0.0, (-1.0));
                                        nms_RenderBlocks_renderFaceZNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 2, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 0.0, 0.0, 1.0);
                                        nms_RenderBlocks_renderFaceZPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 3, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, (-1.0), 0.0, 0.0);
                                        nms_RenderBlocks_renderFaceXNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 4, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nlea_Tessellator_startDrawingQuads($var4);
                                        nlea_Tessellator_setNormal($var4, 1.0, 0.0, 0.0);
                                        nms_RenderBlocks_renderFaceXPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 5, $par2));
                                        nlea_Tessellator_draw($var4);
                                        nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
                                        $var14 = $var14 + 1 | 0;
                                    }
                                    nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
                                    nms_RenderBlocks_clearOverrideBlockTexture($this);
                                } else if ($var6 == 38) {
                                    nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                                    nms_RenderBlocks_renderBlockHopperMetadata($this, $par1Block, 0, 0, 0, 0, 1);
                                    nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
                                }
                            }
                        } else {
                            $var14 = 0;
                            nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                            nlea_Tessellator_startDrawingQuads($var4);
                            $var15 = 0;
                            while ($var15 < 8) {
                                $var16 = 0;
                                $var17 = 1;
                                if (!$var15)
                                    $var16 = 2;
                                if ($var15 == 1)
                                    $var16 = 3;
                                if ($var15 == 2)
                                    $var16 = 4;
                                if ($var15 == 3) {
                                    $var16 = 5;
                                    $var17 = 2;
                                }
                                if ($var15 == 4) {
                                    $var16 = 6;
                                    $var17 = 3;
                                }
                                if ($var15 == 5) {
                                    $var16 = 7;
                                    $var17 = 5;
                                }
                                if ($var15 == 6) {
                                    $var16 = 6;
                                    $var17 = 2;
                                }
                                if ($var15 == 7)
                                    $var16 = 3;
                                $var11 = $var16 / 16.0;
                                $var12 = 1.0 - $var14 / 16.0;
                                $var14 = $var14 + $var17 | 0;
                                $var13 = 1.0 - $var14 / 16.0;
                                var$15 = 0.5 - $var11;
                                var$16 = $var13;
                                var$17 = 0.5 + $var11;
                                nms_RenderBlocks_setRenderBounds($this, var$15, var$16, var$15, var$17, $var12, var$17);
                                nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                                nms_RenderBlocks_renderFaceYNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 0));
                                nlea_Tessellator_setNormal($var4, 0.0, 1.0, 0.0);
                                nms_RenderBlocks_renderFaceYPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 1));
                                nlea_Tessellator_setNormal($var4, 0.0, 0.0, (-1.0));
                                nms_RenderBlocks_renderFaceZNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 2));
                                nlea_Tessellator_setNormal($var4, 0.0, 0.0, 1.0);
                                nms_RenderBlocks_renderFaceZPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 3));
                                nlea_Tessellator_setNormal($var4, (-1.0), 0.0, 0.0);
                                nms_RenderBlocks_renderFaceXNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 4));
                                nlea_Tessellator_setNormal($var4, 1.0, 0.0, 0.0);
                                nms_RenderBlocks_renderFaceXPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, 5));
                                $var15 = $var15 + 1 | 0;
                            }
                            nlea_Tessellator_draw($var4);
                            nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
                            nms_RenderBlocks_setRenderBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
                        }
                    }
                }
            } else {
                if ($var6 == 16)
                    $par2 = 1;
                $par1Block.$setBlockBoundsForItemRender();
                nms_RenderBlocks_setRenderBoundsFromBlock($this, $par1Block);
                nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
                nlea_Tessellator_startDrawingQuads($var4);
                nlea_Tessellator_setNormal($var4, 0.0, (-1.0), 0.0);
                nms_RenderBlocks_renderFaceYNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 0, $par2));
                nlea_Tessellator_draw($var4);
                if ($var5 && $this.$useInventoryTint) {
                    $var14_0 = $par1Block.$getRenderColor($par2);
                    nleg_EaglerAdapterGL30_glColor4f(($var14_0 >> 16 & 255) / 255.0 * $par3, ($var14_0 >> 8 & 255) / 255.0 * $par3, ($var14_0 & 255) / 255.0 * $par3, 1.0);
                }
                nlea_Tessellator_startDrawingQuads($var4);
                nlea_Tessellator_setNormal($var4, 0.0, 1.0, 0.0);
                nms_RenderBlocks_renderFaceYPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 1, $par2));
                nlea_Tessellator_draw($var4);
                if ($var5 && $this.$useInventoryTint)
                    nleg_EaglerAdapterGL30_glColor4f($par3, $par3, $par3, 1.0);
                nlea_Tessellator_startDrawingQuads($var4);
                nlea_Tessellator_setNormal($var4, 0.0, 0.0, (-1.0));
                nms_RenderBlocks_renderFaceZNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 2, $par2));
                nlea_Tessellator_draw($var4);
                nlea_Tessellator_startDrawingQuads($var4);
                nlea_Tessellator_setNormal($var4, 0.0, 0.0, 1.0);
                nms_RenderBlocks_renderFaceZPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 3, $par2));
                nlea_Tessellator_draw($var4);
                nlea_Tessellator_startDrawingQuads($var4);
                nlea_Tessellator_setNormal($var4, (-1.0), 0.0, 0.0);
                nms_RenderBlocks_renderFaceXNeg($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 4, $par2));
                nlea_Tessellator_draw($var4);
                nlea_Tessellator_startDrawingQuads($var4);
                nlea_Tessellator_setNormal($var4, 1.0, 0.0, 0.0);
                nms_RenderBlocks_renderFaceXPos($this, $par1Block, 0.0, 0.0, 0.0, nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, 5, $par2));
                nlea_Tessellator_draw($var4);
                nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
            }
        }
        return;
    case 1:
        nms_ChestItemRenderHelper_renderChest(var$8, $par1Block, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_revertLightMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Block, $par2, $par3, $var4, $var14, $var5, $var6, var$8, $var15, $var16, $var17, $var11, $var12, $var13, var$15, var$16, var$17, $var14_0, $ptr);
}
function nms_RenderBlocks_renderItemIn3d($par0) {
    a: {
        if (!$par0) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 31) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 39) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 13) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 10) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 11) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 27) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 22) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 21) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 16) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 26) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 32) {
            $par0 = 1;
            break a;
        }
        if ($par0 == 34) {
            $par0 = 1;
            break a;
        }
        if ($par0 != 35) {
            $par0 = 0;
            break a;
        }
        $par0 = 1;
    }
    return $par0;
}
function nms_RenderBlocks_getBlockIcon($this, $par1Block, $par2IBlockAccess, $par3, $par4, $par5, $par6) {
    return nms_RenderBlocks_getIconSafe($this, $par1Block.$getBlockTexture($par2IBlockAccess, $par3, $par4, $par5, $par6));
}
function nms_RenderBlocks_getBlockIconFromSideAndMetadata($this, $par1Block, $par2, $par3) {
    return nms_RenderBlocks_getIconSafe($this, $par1Block.$getIcon($par2, $par3));
}
function nms_RenderBlocks_getBlockIconFromSide($this, $par1Block, $par2) {
    return nms_RenderBlocks_getIconSafe($this, nms_Block_getBlockTextureFromSide($par1Block, $par2));
}
function nms_RenderBlocks_getBlockIcon0($this, $par1Block) {
    return nms_RenderBlocks_getIconSafe($this, nms_Block_getBlockTextureFromSide($par1Block, 1));
}
function nms_RenderBlocks_getIconSafe($this, $par1Icon) {
    if ($par1Icon === null)
        $par1Icon = nms_RenderEngine_getMissingIcon($this.$minecraftRB.$renderEngine, 0);
    return $par1Icon;
}
function nms_RenderBlocks__clinit_() {
    nms_RenderBlocks_fancyGrass = 1;
}
function nms_EntityRenderer() {
    var a = this; jl_Object.call(a);
    a.$mc5 = null;
    a.$farPlaneDistance = 0.0;
    a.$itemRenderer0 = null;
    a.$rendererUpdateCount = 0;
    a.$pointedEntity = null;
    a.$mouseFilterXAxis = null;
    a.$mouseFilterYAxis = null;
    a.$mouseFilterDummy1 = null;
    a.$mouseFilterDummy2 = null;
    a.$mouseFilterDummy3 = null;
    a.$mouseFilterDummy4 = null;
    a.$thirdPersonDistance = 0.0;
    a.$thirdPersonDistanceTemp = 0.0;
    a.$debugCamYaw = 0.0;
    a.$prevDebugCamYaw = 0.0;
    a.$debugCamPitch = 0.0;
    a.$prevDebugCamPitch = 0.0;
    a.$smoothCamYaw = 0.0;
    a.$smoothCamPitch = 0.0;
    a.$smoothCamFilterX = 0.0;
    a.$smoothCamFilterY = 0.0;
    a.$smoothCamPartialTicks = 0.0;
    a.$debugCamFOV = 0.0;
    a.$prevDebugCamFOV = 0.0;
    a.$camRoll = 0.0;
    a.$prevCamRoll = 0.0;
    a.$lightmapTexture = 0;
    a.$lightmapColors = null;
    a.$fovModifierHand = 0.0;
    a.$fovModifierHandPrev = 0.0;
    a.$fovMultiplierTemp = 0.0;
    a.$field_82831_U = 0.0;
    a.$field_82832_V = 0.0;
    a.$cloudFog = 0;
    a.$cameraZoom = 0.0;
    a.$cameraYaw = 0.0;
    a.$cameraPitch = 0.0;
    a.$prevFrameTime0 = Long_ZERO;
    a.$renderEndNanoTime = Long_ZERO;
    a.$lightmapUpdateNeeded = 0;
    a.$torchFlickerX = 0.0;
    a.$torchFlickerDX = 0.0;
    a.$torchFlickerY = 0.0;
    a.$torchFlickerDY = 0.0;
    a.$random0 = null;
    a.$rainSoundCounter = 0;
    a.$rainXCoords = null;
    a.$rainYCoords = null;
    a.$field_78523_k = 0;
    a.$field_78520_l = 0;
    a.$fogColorBuffer = null;
    a.$fogColorRed = 0.0;
    a.$fogColorGreen = 0.0;
    a.$fogColorBlue = 0.0;
    a.$fogColor2 = 0.0;
    a.$fogColor1 = 0.0;
    a.$debugViewDirection = 0;
}
var nms_EntityRenderer_anaglyphEnable = 0;
var nms_EntityRenderer_anaglyphField = 0;
var nms_EntityRenderer_terrain = null;
var nms_EntityRenderer_rain = null;
var nms_EntityRenderer_snow = null;
function nms_EntityRenderer__init_(var_0) {
    var var_1 = new nms_EntityRenderer();
    nms_EntityRenderer__init_0(var_1, var_0);
    return var_1;
}
function nms_EntityRenderer__init_0($this, $par1Minecraft) {
    $this.$farPlaneDistance = 0.0;
    $this.$pointedEntity = null;
    $this.$mouseFilterXAxis = new nms_MouseFilter;
    $this.$mouseFilterYAxis = new nms_MouseFilter;
    $this.$mouseFilterDummy1 = new nms_MouseFilter;
    $this.$mouseFilterDummy2 = new nms_MouseFilter;
    $this.$mouseFilterDummy3 = new nms_MouseFilter;
    $this.$mouseFilterDummy4 = new nms_MouseFilter;
    $this.$thirdPersonDistance = 4.0;
    $this.$thirdPersonDistanceTemp = 4.0;
    $this.$debugCamYaw = 0.0;
    $this.$prevDebugCamYaw = 0.0;
    $this.$debugCamPitch = 0.0;
    $this.$prevDebugCamPitch = 0.0;
    $this.$debugCamFOV = 0.0;
    $this.$prevDebugCamFOV = 0.0;
    $this.$camRoll = 0.0;
    $this.$prevCamRoll = 0.0;
    $this.$cloudFog = 0;
    $this.$cameraZoom = 1.0;
    $this.$cameraYaw = 0.0;
    $this.$cameraPitch = 0.0;
    $this.$prevFrameTime0 = jl_System_currentTimeMillis();
    $this.$renderEndNanoTime = Long_ZERO;
    $this.$lightmapUpdateNeeded = 0;
    $this.$torchFlickerX = 0.0;
    $this.$torchFlickerDX = 0.0;
    $this.$torchFlickerY = 0.0;
    $this.$torchFlickerDY = 0.0;
    $this.$random0 = nle_EaglercraftRandom__init_0();
    $this.$rainSoundCounter = 0;
    $this.$field_78523_k = 0;
    $this.$field_78520_l = 0;
    $this.$fogColorBuffer = nms_GLAllocation_createDirectFloatBuffer(16);
    $this.$mc5 = $par1Minecraft;
    $this.$itemRenderer0 = nms_ItemRenderer__init_($par1Minecraft);
    $this.$lightmapTexture = nms_RenderEngine_allocateAndSetupTexture($par1Minecraft.$renderEngine, nle_EaglerImage__init_0(16, 16, 1));
    $this.$lightmapColors = $rt_createIntArray(256);
}
function nms_EntityRenderer_updateRenderer($this) {
    var $var1, $var2, var$3, $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$fovMultiplierTemp = nms_EntityPlayerSP_getFOVMultiplier($this.$mc5.$renderViewEntity);
        $this.$fovModifierHandPrev = $this.$fovModifierHand;
        $this.$fovModifierHand = $this.$fovModifierHand + ($this.$fovMultiplierTemp - $this.$fovModifierHand) * 0.5;
        if ($this.$fovModifierHand > 1.5)
            $this.$fovModifierHand = 1.5;
        if ($this.$fovModifierHand < 0.10000000149011612)
            $this.$fovModifierHand = 0.10000000149011612;
        $this.$torchFlickerDX = $this.$torchFlickerDX + (jl_Math_random() - jl_Math_random()) * jl_Math_random() * jl_Math_random();
        $this.$torchFlickerDY = $this.$torchFlickerDY + (jl_Math_random() - jl_Math_random()) * jl_Math_random() * jl_Math_random();
        $this.$torchFlickerDX = $this.$torchFlickerDX * 0.9;
        $this.$torchFlickerDY = $this.$torchFlickerDY * 0.9;
        $this.$torchFlickerX = $this.$torchFlickerX + ($this.$torchFlickerDX - $this.$torchFlickerX) * 1.0;
        $this.$torchFlickerY = $this.$torchFlickerY + ($this.$torchFlickerDY - $this.$torchFlickerY) * 1.0;
        $this.$lightmapUpdateNeeded = 1;
        $this.$fogColor2 = $this.$fogColor1;
        $this.$thirdPersonDistanceTemp = $this.$thirdPersonDistance;
        $this.$prevDebugCamYaw = $this.$debugCamYaw;
        $this.$prevDebugCamPitch = $this.$debugCamPitch;
        $this.$prevDebugCamFOV = $this.$debugCamFOV;
        $this.$prevCamRoll = $this.$camRoll;
        if ($this.$mc5.$gameSettings.$smoothCamera) {
            $var1 = $this.$mc5.$gameSettings.$mouseSensitivity * 0.6000000238418579 + 0.20000000298023224;
            $var2 = $var1 * $var1 * $var1 * 8.0;
            var$3 = $this.$mouseFilterXAxis;
            $var1 = $this.$smoothCamYaw;
            $var2 = 0.05000000074505806 * $var2;
            $this.$smoothCamFilterX = nms_MouseFilter_smooth(var$3, $var1, $var2);
            $this.$smoothCamFilterY = nms_MouseFilter_smooth($this.$mouseFilterYAxis, $this.$smoothCamPitch, $var2);
            $this.$smoothCamPartialTicks = 0.0;
            $this.$smoothCamYaw = 0.0;
            $this.$smoothCamPitch = 0.0;
        }
        if ($this.$mc5.$renderViewEntity === null)
            $this.$mc5.$renderViewEntity = $this.$mc5.$thePlayer;
        $var1 = nms_World_getLightBrightness($this.$mc5.$theWorld, nms_MathHelper_floor_double($this.$mc5.$renderViewEntity.$posX), nms_MathHelper_floor_double($this.$mc5.$renderViewEntity.$posY), nms_MathHelper_floor_double($this.$mc5.$renderViewEntity.$posZ));
        $var2 = (3 - $this.$mc5.$gameSettings.$renderDistance | 0) / 3.0;
        $var3 = $var1 * (1.0 - $var2) + $var2;
        $this.$fogColor1 = $this.$fogColor1 + ($var3 - $this.$fogColor1) * 0.10000000149011612;
        $this.$rendererUpdateCount = $this.$rendererUpdateCount + 1 | 0;
        nms_ItemRenderer_updateEquippedItem($this.$itemRenderer0);
        $ptr = 1;
    case 1:
        nms_EntityRenderer_addRainParticles($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_82832_V = $this.$field_82831_U;
        if (nms_BossStatus_field_82825_d) {
            $this.$field_82831_U = $this.$field_82831_U + 0.05000000074505806;
            if ($this.$field_82831_U > 1.0)
                $this.$field_82831_U = 1.0;
            nms_BossStatus_field_82825_d = 0;
        } else if ($this.$field_82831_U > 0.0)
            $this.$field_82831_U = $this.$field_82831_U - 0.012500000186264515;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $ptr);
}
function nms_EntityRenderer_getMouseOver($this, $par1) {
    var $var2, $var6, $var8, var$5, $var7, $var10, $var13, var$9, $var14, $var15, $var16, $var18, $var17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var17 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();var$9 = $thread.pop();$var13 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();var$5 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$mc5.$renderViewEntity !== null && $this.$mc5.$theWorld !== null) {
            $this.$mc5.$pointedEntityLiving = null;
            $var2 = nms_PlayerControllerMP_getBlockReachDistance($this.$mc5.$playerController);
            $var6 = $this.$mc5;
            $var8 = $this.$mc5.$renderViewEntity;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        $tmp = nms_EntityLiving_rayTrace($var8, $var2, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        $var6.$objectMouseOver = $var8;
        $var6 = nms_EntityLiving_getPosition($this.$mc5.$renderViewEntity, $par1);
        if (nms_PlayerControllerMP_extendedReach($this.$mc5.$playerController)) {
            var$5 = 6.0;
            $var2 = 6.0;
        } else {
            if ($var2 > 3.0)
                $var2 = 3.0;
            var$5 = $var2;
        }
        if ($this.$mc5.$objectMouseOver !== null)
            $var2 = nms_Vec3_distanceTo($this.$mc5.$objectMouseOver.$hitVec, $var6);
        $var7 = nms_EntityLiving_getLook($this.$mc5.$renderViewEntity, $par1);
        $var8 = nms_Vec3_addVector($var6, $var7.$xCoord * var$5, $var7.$yCoord * var$5, $var7.$zCoord * var$5);
        $this.$pointedEntity = null;
        $var10 = nms_World_getEntitiesWithinAABBExcludingEntity($this.$mc5.$theWorld, $this.$mc5.$renderViewEntity, nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($this.$mc5.$renderViewEntity.$boundingBox, $var7.$xCoord * var$5, $var7.$yCoord * var$5, $var7.$zCoord * var$5), 1.0, 1.0, 1.0));
        $var13 = 0;
        var$9 = $var2;
        while ($var13 < $var10.$size) {
            $var14 = ju_ArrayList_get($var10, $var13);
            if ($var14.$canBeCollidedWith()) {
                $var15 = $var14.$getCollisionBorderSize();
                $var16 = $var14.$boundingBox;
                $var18 = $var15;
                $var16 = nms_AxisAlignedBB_expand($var16, $var18, $var18, $var18);
                $var17 = nms_AxisAlignedBB_calculateIntercept($var16, $var6, $var8);
                if (nms_AxisAlignedBB_isVecInside($var16, $var6)) {
                    if (!(0.0 >= var$9 && var$9 !== 0.0)) {
                        $this.$pointedEntity = $var14;
                        var$9 = 0.0;
                    }
                } else if ($var17 !== null) {
                    $var18 = nms_Vec3_distanceTo($var6, $var17.$hitVec);
                    if (!($var18 >= var$9 && var$9 !== 0.0)) {
                        $this.$pointedEntity = $var14;
                        var$9 = $var18;
                    }
                }
            }
            $var13 = $var13 + 1 | 0;
        }
        if ($this.$pointedEntity !== null && !(var$9 >= $var2 && $this.$mc5.$objectMouseOver !== null)) {
            $this.$mc5.$objectMouseOver = nms_MovingObjectPosition__init_0($this.$pointedEntity);
            if ($this.$pointedEntity instanceof nms_EntityLiving)
                $this.$mc5.$pointedEntityLiving = $this.$pointedEntity;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $var6, $var8, var$5, $var7, $var10, $var13, var$9, $var14, $var15, $var16, $var18, $var17, $ptr);
}
function nms_EntityRenderer_getFOVModifier($this, $par1, $par2) {
    var $var3, $var4, $var6;
    if ($this.$mc5.$gameSettings.$keyBindZoom.$pressed)
        return 12.0;
    if ($this.$debugViewDirection > 0)
        return 90.0;
    $var3 = $this.$mc5.$renderViewEntity;
    $var4 = 70.0;
    if ($par2)
        $var4 = ($var4 + $this.$mc5.$gameSettings.$fovSetting * 40.0) * ($this.$fovModifierHandPrev + ($this.$fovModifierHand - $this.$fovModifierHandPrev) * $par1);
    if ($var3.$health <= 0)
        $var4 = $var4 / ((1.0 - 500.0 / ($var3.$deathTime + $par1 + 500.0)) * 2.0 + 1.0);
    $var6 = nms_ActiveRenderInfo_getBlockIdAtEntityViewpoint($this.$mc5.$theWorld, $var3, $par1);
    if ($var6) {
        nms_Block_$callClinit();
        $var3 = nms_Block_blocksList.data[$var6].$blockMaterial;
        nms_Material_$callClinit();
        if ($var3 === nms_Material_water)
            $var4 = $var4 * 60.0 / 70.0;
    }
    return $var4 + $this.$prevDebugCamFOV + ($this.$debugCamFOV - $this.$prevDebugCamFOV) * $par1;
}
function nms_EntityRenderer_hurtCameraEffect($this, $par1) {
    var $var2, $var3, $var4;
    $var2 = $this.$mc5.$renderViewEntity;
    $var3 = $var2.$hurtTime - $par1;
    if ($var2.$health <= 0)
        nleg_EaglerAdapterGL30_glRotatef(40.0 - 8000.0 / ($var2.$deathTime + $par1 + 200.0), 0.0, 0.0, 1.0);
    if ($var3 >= 0.0) {
        $par1 = $var3 / $var2.$maxHurtTime;
        $par1 = nms_MathHelper_sin($par1 * $par1 * $par1 * $par1 * 3.1415927410125732);
        $var4 = $var2.$attackedAtYaw;
        nleg_EaglerAdapterGL30_glRotatef( -$var4, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef( -$par1 * 14.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glRotatef($var4, 0.0, 1.0, 0.0);
    }
}
function nms_EntityRenderer_setupViewBobbing($this, $par1) {
    var $var2, $var3, $var4, $var5, $var6;
    if ($this.$mc5.$renderViewEntity instanceof nms_EntityPlayer) {
        $var2 = $this.$mc5.$renderViewEntity;
        $var3 = $var2.$distanceWalkedModified - $var2.$prevDistanceWalkedModified;
        $var4 =  -($var2.$distanceWalkedModified + $var3 * $par1);
        $var5 = $var2.$prevCameraYaw + ($var2.$cameraYaw0 - $var2.$prevCameraYaw) * $par1;
        $var6 = $var2.$prevCameraPitch + ($var2.$cameraPitch0 - $var2.$prevCameraPitch) * $par1;
        $var3 = $var4 * 3.1415927410125732;
        nleg_EaglerAdapterGL30_glTranslatef(nms_MathHelper_sin($var3) * $var5 * 0.5,  -jl_Math_abs1(nms_MathHelper_cos($var3) * $var5), 0.0);
        nleg_EaglerAdapterGL30_glRotatef(nms_MathHelper_sin($var3) * $var5 * 3.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glRotatef(jl_Math_abs1(nms_MathHelper_cos($var3 - 0.20000000298023224) * $var5) * 5.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef($var6, 1.0, 0.0, 0.0);
    }
}
function nms_EntityRenderer_orientCamera($this, $par1) {
    var $var2, $var3, $var6, $var8, var$6, $var4, $var14, $var10, $var27, $var28, $var13, $var28_0, $var13_0, $var23, $var21, $var16, $var18, $var20, $var22, $var24, var$22, $var25, var$24, var$25, var$26, var$27, var$28, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();$var25 = $thread.pop();var$22 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var21 = $thread.pop();$var23 = $thread.pop();$var13_0 = $thread.pop();$var28_0 = $thread.pop();$var13 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var10 = $thread.pop();$var14 = $thread.pop();$var4
        = $thread.pop();var$6 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $this.$mc5.$renderViewEntity;
        $var3 = $var2.$yOffset - 1.6200000047683716;
        $var6 = $var2.$prevPosX;
        $var8 = $var2.$posX - $var2.$prevPosX;
        var$6 = $par1;
        $var4 = $var6 + $var8 * var$6;
        $var6 = $var2.$prevPosY + ($var2.$posY - $var2.$prevPosY) * var$6;
        $var14 = $var3;
        $var6 = $var6 - $var14;
        $var8 = $var2.$prevPosZ + ($var2.$posZ - $var2.$prevPosZ) * var$6;
        nleg_EaglerAdapterGL30_glRotatef($this.$prevCamRoll + ($this.$camRoll - $this.$prevCamRoll) * $par1, 0.0, 0.0, 1.0);
        if (nms_EntityPlayer_isPlayerSleeping($var2)) {
            $var3 = $var14 + 1.0;
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.30000001192092896, 0.0);
            if (!$this.$mc5.$gameSettings.$debugCamEnable) {
                $var10 = nms_World_getBlockId($this.$mc5.$theWorld, nms_MathHelper_floor_double($var2.$posX), nms_MathHelper_floor_double($var2.$posY), nms_MathHelper_floor_double($var2.$posZ));
                nms_Block_$callClinit();
                if ($var10 == nms_Block_bed.$blockID)
                    nleg_EaglerAdapterGL30_glRotatef((nms_World_getBlockMetadata($this.$mc5.$theWorld, nms_MathHelper_floor_double($var2.$posX), nms_MathHelper_floor_double($var2.$posY), nms_MathHelper_floor_double($var2.$posZ)) & 3) * 90 | 0, 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var2.$prevRotationYaw + ($var2.$rotationYaw - $var2.$prevRotationYaw) * $par1 + 180.0, 0.0, (-1.0), 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var2.$prevRotationPitch + ($var2.$rotationPitch - $var2.$prevRotationPitch) * $par1, (-1.0), 0.0, 0.0);
            }
        } else if ($this.$mc5.$gameSettings.$thirdPersonView <= 0)
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-0.10000000149011612));
        else {
            $var27 = $this.$thirdPersonDistanceTemp + ($this.$thirdPersonDistance - $this.$thirdPersonDistanceTemp) * $par1;
            if ($this.$mc5.$gameSettings.$debugCamEnable) {
                $var28 = $this.$prevDebugCamYaw + ($this.$debugCamYaw - $this.$prevDebugCamYaw) * $par1;
                $var13 = $this.$prevDebugCamPitch + ($this.$debugCamPitch - $this.$prevDebugCamPitch) * $par1;
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0,  -$var27);
                nleg_EaglerAdapterGL30_glRotatef($var13, 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var28, 0.0, 1.0, 0.0);
            } else {
                $var28_0 = $var2.$rotationYaw;
                $var13_0 = $var2.$rotationPitch;
                if ($this.$mc5.$gameSettings.$thirdPersonView == 2)
                    $var13_0 = $var13_0 + 180.0;
                $var23 = $var28_0 / 180.0 * 3.1415927410125732;
                $var21 =  -nms_MathHelper_sin($var23);
                $var28 = $var13_0 / 180.0 * 3.1415927410125732;
                $var14 = $var21 * nms_MathHelper_cos($var28) * $var27;
                $var16 = nms_MathHelper_cos($var23) * nms_MathHelper_cos($var28) * $var27;
                $var18 =  -nms_MathHelper_sin($var28) * $var27;
                $var20 = 0;
                $var14 = $var4 - $var14;
                $var18 = $var6 - $var18;
                $var16 = $var8 - $var16;
                if ($var20 < 8) {
                    $var21 = (($var20 & 1) * 2 | 0) - 1 | 0;
                    $var22 = (($var20 >> 1 & 1) * 2 | 0) - 1 | 0;
                    $var23 = (($var20 >> 2 & 1) * 2 | 0) - 1 | 0;
                    $var21 = $var21 * 0.10000000149011612;
                    $var28 = $var22 * 0.10000000149011612;
                    $var23 = $var23 * 0.10000000149011612;
                    $var24 = $this.$mc5.$theWorld;
                    var$22 = nms_World_getWorldVec3Pool($this.$mc5.$theWorld);
                    $var25 = $var21;
                    var$24 = $var4 + $var25;
                    var$25 = $var28;
                    var$26 = $var6 + var$25;
                    var$27 = $var23;
                    var$22 = nms_Vec3Pool_getVecFromPool(var$22, var$24, var$26, $var8 + var$27);
                    var$28 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$mc5.$theWorld), $var14 + $var25 + var$27, $var18 + var$25, $var16 + var$27);
                    $ptr = 1;
                    continue main;
                }
                if ($this.$mc5.$gameSettings.$thirdPersonView == 2)
                    nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var2.$rotationPitch - $var13_0, 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var2.$rotationYaw - $var28_0, 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0,  -$var27);
                nleg_EaglerAdapterGL30_glRotatef($var28_0 - $var2.$rotationYaw, 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var13_0 - $var2.$rotationPitch, 1.0, 0.0, 0.0);
            }
        }
        if (!$this.$mc5.$gameSettings.$debugCamEnable) {
            nleg_EaglerAdapterGL30_glRotatef($var2.$prevRotationPitch + ($var2.$rotationPitch - $var2.$prevRotationPitch) * $par1, 1.0, 0.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef($var2.$prevRotationYaw + ($var2.$rotationYaw - $var2.$prevRotationYaw) * $par1 + 180.0, 0.0, 1.0, 0.0);
        }
        nleg_EaglerAdapterGL30_glTranslatef(0.0, $var3, 0.0);
        $var6 = $var2.$prevPosX + ($var2.$posX - $var2.$prevPosX) * var$6;
        $var8 = $var2.$prevPosY + ($var2.$posY - $var2.$prevPosY) * var$6 - $var3;
        $var14 = $var2.$prevPosZ + ($var2.$posZ - $var2.$prevPosZ) * var$6;
        $this.$cloudFog = nms_RenderGlobal_hasCloudFog($this.$mc5.$renderGlobal, $var6, $var8, $var14, $par1);
        return;
    case 1:
        $tmp = nms_World_rayTraceBlocks($var24, var$22, var$28);
        if ($rt_suspending()) {
            break main;
        }
        $var24 = $tmp;
        if ($var24 !== null) {
            $var25 = nms_Vec3_distanceTo($var24.$hitVec, nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$mc5.$theWorld), $var4, $var6, $var8));
            if ($var25 < $var27)
                $var27 = $var25;
        }
        $var20 = $var20 + 1 | 0;
        if ($var20 >= 8) {
            if ($this.$mc5.$gameSettings.$thirdPersonView == 2)
                nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef($var2.$rotationPitch - $var13_0, 1.0, 0.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef($var2.$rotationYaw - $var28_0, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0,  -$var27);
            nleg_EaglerAdapterGL30_glRotatef($var28_0 - $var2.$rotationYaw, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef($var13_0 - $var2.$rotationPitch, 1.0, 0.0, 0.0);
            if (!$this.$mc5.$gameSettings.$debugCamEnable) {
                nleg_EaglerAdapterGL30_glRotatef($var2.$prevRotationPitch + ($var2.$rotationPitch - $var2.$prevRotationPitch) * $par1, 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var2.$prevRotationYaw + ($var2.$rotationYaw - $var2.$prevRotationYaw) * $par1 + 180.0, 0.0, 1.0, 0.0);
            }
            nleg_EaglerAdapterGL30_glTranslatef(0.0, $var3, 0.0);
            $var6 = $var2.$prevPosX + ($var2.$posX - $var2.$prevPosX) * var$6;
            $var8 = $var2.$prevPosY + ($var2.$posY - $var2.$prevPosY) * var$6 - $var3;
            $var14 = $var2.$prevPosZ + ($var2.$posZ - $var2.$prevPosZ) * var$6;
            $this.$cloudFog = nms_RenderGlobal_hasCloudFog($this.$mc5.$renderGlobal, $var6, $var8, $var14, $par1);
            return;
        }
        $var21 = (($var20 & 1) * 2 | 0) - 1 | 0;
        $var22 = (($var20 >> 1 & 1) * 2 | 0) - 1 | 0;
        $var23 = (($var20 >> 2 & 1) * 2 | 0) - 1 | 0;
        $var21 = $var21 * 0.10000000149011612;
        $var28 = $var22 * 0.10000000149011612;
        $var23 = $var23 * 0.10000000149011612;
        $var24 = $this.$mc5.$theWorld;
        var$22 = nms_World_getWorldVec3Pool($this.$mc5.$theWorld);
        $var25 = $var21;
        var$24 = $var4 + $var25;
        var$25 = $var28;
        var$26 = $var6 + var$25;
        var$27 = $var23;
        var$22 = nms_Vec3Pool_getVecFromPool(var$22, var$24, var$26, $var8 + var$27);
        var$28 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$mc5.$theWorld), $var14 + $var25 + var$27, $var18 + var$25, $var16 + var$27);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $var3, $var6, $var8, var$6, $var4, $var14, $var10, $var27, $var28, $var13, $var28_0, $var13_0, $var23, $var21, $var16, $var18, $var20, $var22, $var24, var$22, $var25, var$24, var$25, var$26, var$27, var$28, $ptr);
}
function nms_EntityRenderer_setupCameraTransform($this, $par1, $par2) {
    var $var4, $var5, $var6, $var3, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var3 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$farPlaneDistance = 256 >> $this.$mc5.$gameSettings.$renderDistance;
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        if ($this.$mc5.$gameSettings.$anaglyph)
            nleg_EaglerAdapterGL30_glTranslatef( -(($par2 * 2 | 0) - 1 | 0) * 0.07000000029802322, 0.0, 0.0);
        if ($this.$cameraZoom !== 1.0) {
            nleg_EaglerAdapterGL30_glTranslatef($this.$cameraYaw,  -$this.$cameraPitch, 0.0);
            nleg_EaglerAdapterGL30_glScalef($this.$cameraZoom, $this.$cameraZoom, 1.0);
        }
        nleg_EaglerAdapterGL30_gluPerspective(nms_EntityRenderer_getFOVModifier($this, $par1, 1), $this.$mc5.$displayWidth / $this.$mc5.$displayHeight, 0.05000000074505806, $this.$farPlaneDistance * 2.0);
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        if ($this.$mc5.$gameSettings.$anaglyph)
            nleg_EaglerAdapterGL30_glTranslatef((($par2 * 2 | 0) - 1 | 0) * 0.10000000149011612, 0.0, 0.0);
        nms_EntityRenderer_hurtCameraEffect($this, $par1);
        if ($this.$mc5.$gameSettings.$viewBobbing)
            nms_EntityRenderer_setupViewBobbing($this, $par1);
        $var4 = $this.$mc5.$thePlayer.$prevTimeInPortal + ($this.$mc5.$thePlayer.$timeInPortal - $this.$mc5.$thePlayer.$prevTimeInPortal) * $par1;
        if ($var4 > 0.0) {
            $var5 = 20;
            if (nms_EntityLiving_isPotionActive($this.$mc5.$thePlayer, nms_Potion_confusion))
                $var5 = 7;
            $var6 = 5.0 / ($var4 * $var4 + 5.0) - $var4 * 0.03999999910593033;
            $var3 = $var6 * $var6;
            $var4 = $this.$rendererUpdateCount + $par1;
            $var6 = $var5;
            nleg_EaglerAdapterGL30_glRotatef($var4 * $var6, 0.0, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glScalef(1.0 / $var3, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glRotatef( -($this.$rendererUpdateCount + $par1) * $var6, 0.0, 1.0, 1.0);
        }
        $ptr = 1;
    case 1:
        nms_EntityRenderer_orientCamera($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$debugViewDirection > 0) {
            $var7 = $this.$debugViewDirection - 1 | 0;
            if ($var7 == 1)
                nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 1.0, 0.0);
            if ($var7 == 2)
                nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 1.0, 0.0);
            if ($var7 == 3)
                nleg_EaglerAdapterGL30_glRotatef((-90.0), 0.0, 1.0, 0.0);
            if ($var7 == 4)
                nleg_EaglerAdapterGL30_glRotatef(90.0, 1.0, 0.0, 0.0);
            if ($var7 == 5)
                nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var4, $var5, $var6, $var3, $var7, $ptr);
}
function nms_EntityRenderer_renderHand($this, $par1, $par2) {
    var var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$debugViewDirection <= 0) {
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            var$3 = nms_EntityRenderer_getFOVModifier($this, $par1, 0);
            var$4 = $this.$mc5.$displayWidth / $this.$mc5.$displayHeight;
            var$5 = nleg_EaglerAdapterGL30_getMatrix();
            var$6 = var$3 * 0.01745329238474369 * 0.5;
            var$7 = jl_Math_cos(var$6) / jl_Math_sin(var$6);
            var$5.$m00 = var$7 / var$4;
            var$5.$m01 = 0.0;
            var$5.$m02 = 0.0;
            var$5.$m03 = 0.0;
            var$5.$m10 = 0.0;
            var$5.$m11 = var$7;
            var$5.$m12 = 0.0;
            var$5.$m13 = 0.0;
            var$5.$m20 = 0.0;
            var$5.$m21 = 0.0;
            var$5.$m22 = 0.0010100502986460924;
            var$5.$m23 = (-1.0);
            var$5.$m30 = 0.0;
            var$5.$m31 = 0.0;
            var$5.$m32 = 0.10050251334905624;
            var$5.$m33 = 0.0;
            if ($this.$mc5.$gameSettings.$anaglyph)
                nleg_EaglerAdapterGL30_glTranslatef( -(($par2 * 2 | 0) - 1 | 0) * 0.07000000029802322, 0.0, 0.0);
            if ($this.$cameraZoom !== 1.0) {
                nleg_EaglerAdapterGL30_glTranslatef($this.$cameraYaw,  -$this.$cameraPitch, 0.0);
                nleg_EaglerAdapterGL30_glScalef($this.$cameraZoom, $this.$cameraZoom, 1.0);
            }
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            if ($this.$mc5.$gameSettings.$anaglyph)
                nleg_EaglerAdapterGL30_glTranslatef((($par2 * 2 | 0) - 1 | 0) * 0.10000000149011612, 0.0, 0.0);
            nleg_EaglerAdapterGL30_glPushMatrix();
            nms_EntityRenderer_hurtCameraEffect($this, $par1);
            if ($this.$mc5.$gameSettings.$viewBobbing)
                nms_EntityRenderer_setupViewBobbing($this, $par1);
            if (!$this.$mc5.$gameSettings.$thirdPersonView && !$this.$mc5.$renderViewEntity.$sleeping && !$this.$mc5.$gameSettings.$hideGUI) {
                var$6 = $par1;
                nms_EntityRenderer_enableLightmap($this, var$6);
                var$5 = $this.$itemRenderer0;
                $ptr = 2;
                continue main;
            }
            nleg_EaglerAdapterGL30_glPopMatrix();
            if (!$this.$mc5.$gameSettings.$thirdPersonView && !$this.$mc5.$renderViewEntity.$sleeping) {
                var$5 = $this.$itemRenderer0;
                $ptr = 1;
                continue main;
            }
            if ($this.$mc5.$gameSettings.$viewBobbing)
                nms_EntityRenderer_setupViewBobbing($this, $par1);
        }
        return;
    case 1:
        nms_ItemRenderer_renderOverlays(var$5, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityRenderer_hurtCameraEffect($this, $par1);
        if ($this.$mc5.$gameSettings.$viewBobbing)
            nms_EntityRenderer_setupViewBobbing($this, $par1);
        return;
    case 2:
        nms_ItemRenderer_renderItemInFirstPerson(var$5, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityRenderer_disableLightmap($this, var$6);
        nleg_EaglerAdapterGL30_glPopMatrix();
        if (!$this.$mc5.$gameSettings.$thirdPersonView && !$this.$mc5.$renderViewEntity.$sleeping) {
            var$5 = $this.$itemRenderer0;
            $ptr = 1;
            continue main;
        }
        if ($this.$mc5.$gameSettings.$viewBobbing)
            nms_EntityRenderer_setupViewBobbing($this, $par1);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, var$5, var$6, var$7, $ptr);
}
function nms_EntityRenderer_disableLightmap($this, $par1) {
    nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
    nleg_EaglerAdapterGL30_glDisable(3553);
    nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
}
function nms_EntityRenderer_enableLightmap($this, $par1) {
    nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
    nleg_EaglerAdapterGL30_glBindTexture(3553, $this.$lightmapTexture);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9729);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9729);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10242, 33071);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10243, 33071);
    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
    nleg_EaglerAdapterGL30_glEnable(3553);
    nms_RenderEngine_resetBoundTexture($this.$mc5.$renderEngine);
    nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
}
function nms_EntityRenderer_updateLightmap($this, $par1) {
    var $var2, $var3, $var4, var$5, $var21, $var5, $var6, $var7, $var11, $var12, $var13, $var14, $var15, $var16, $var17, $var18, $var19;
    $var2 = $this.$mc5.$theWorld;
    if ($var2 !== null) {
        $var3 = 0;
        while ($var3 < 256) {
            $var4 = nms_World_getSunBrightness($var2, 1.0) * 0.949999988079071 + 0.05000000074505806;
            var$5 = $var2.$provider.$lightBrightnessTable.data;
            $var21 = $var3 / 16 | 0;
            $var5 = var$5[$var21] * $var4;
            $var6 = $var2.$provider.$lightBrightnessTable.data[$var3 % 16 | 0] * ($this.$torchFlickerX * 0.15000000596046448 + 1.4500000476837158);
            if ($var2.$lastLightningBolt > 0)
                $var5 = $var2.$provider.$lightBrightnessTable.data[$var21];
            $var7 = $var5 * (nms_World_getSunBrightness($var2, 1.0) * 0.6499999761581421 + 0.3499999940395355);
            $var11 = $var6 * (($var6 * 0.6000000238418579 + 0.4000000059604645) * 0.6000000238418579 + 0.4000000059604645);
            $var12 = $var6 * ($var6 * $var6 * 0.6000000238418579 + 0.4000000059604645);
            $var13 = $var7 + $var6;
            $var14 = $var7 + $var11;
            $var15 = $var5 + $var12;
            $var13 = $var13 * 0.9599999785423279 + 0.029999999329447746;
            $var14 = $var14 * 0.9599999785423279 + 0.029999999329447746;
            $var15 = $var15 * 0.9599999785423279 + 0.029999999329447746;
            if ($this.$field_82831_U > 0.0) {
                $var16 = $this.$field_82832_V + ($this.$field_82831_U - $this.$field_82832_V) * $par1;
                $var4 = 1.0 - $var16;
                $var13 = $var13 * $var4 + $var13 * 0.699999988079071 * $var16;
                $var14 = $var14 * $var4 + $var14 * 0.6000000238418579 * $var16;
                $var15 = $var15 * $var4 + $var15 * 0.6000000238418579 * $var16;
            }
            if ($var2.$provider.$dimensionId == 1) {
                $var13 = 0.2199999988079071 + $var6 * 0.75;
                $var14 = 0.2800000011920929 + $var11 * 0.75;
                $var15 = 0.25 + $var12 * 0.75;
            }
            if (nms_EntityLiving_isPotionActive($this.$mc5.$thePlayer, nms_Potion_nightVision)) {
                $var16 = nms_EntityRenderer_getNightVisionBrightness($this, $this.$mc5.$thePlayer, $par1);
                $var17 = 1.0 / $var13;
                $var4 = 1.0 / $var14;
                if ($var17 <= $var4)
                    $var4 = $var17;
                $var5 = 1.0 / $var15;
                if ($var4 <= $var5)
                    $var5 = $var4;
                $var4 = 1.0 - $var16;
                $var13 = $var13 * $var4 + $var13 * $var5 * $var16;
                $var14 = $var14 * $var4 + $var14 * $var5 * $var16;
                $var15 = $var15 * $var4 + $var15 * $var5 * $var16;
            }
            if ($var13 > 1.0)
                $var13 = 1.0;
            if ($var14 > 1.0)
                $var14 = 1.0;
            if ($var15 > 1.0)
                $var15 = 1.0;
            $var16 = $this.$mc5.$gameSettings.$gammaSetting;
            $var17 = 1.0 - $var13;
            $var18 = 1.0 - $var14;
            $var19 = 1.0 - $var15;
            $var4 = 1.0 - $var17 * $var17 * $var17 * $var17;
            $var5 = 1.0 - $var18 * $var18 * $var18 * $var18;
            $var6 = 1.0 - $var19 * $var19 * $var19 * $var19;
            $var7 = 1.0 - $var16;
            $var4 = $var13 * $var7 + $var4 * $var16;
            $var5 = $var14 * $var7 + $var5 * $var16;
            $var6 = $var15 * $var7 + $var6 * $var16;
            $var4 = $var4 * 0.9599999785423279 + 0.029999999329447746;
            $var5 = $var5 * 0.9599999785423279 + 0.029999999329447746;
            $var6 = $var6 * 0.9599999785423279 + 0.029999999329447746;
            if ($var4 > 1.0)
                $var4 = 1.0;
            if ($var5 > 1.0)
                $var5 = 1.0;
            if ($var6 > 1.0)
                $var6 = 1.0;
            if ($var4 < 0.0)
                $var4 = 0.0;
            if ($var5 < 0.0)
                $var5 = 0.0;
            if ($var6 < 0.0)
                $var6 = 0.0;
            $this.$lightmapColors.data[$var3] = (-16777216) | ($var4 * 255.0 | 0) << 16 | ($var5 * 255.0 | 0) << 8 | $var6 * 255.0 | 0;
            $var3 = $var3 + 1 | 0;
        }
        nms_RenderEngine_createTextureFromBytes($this.$mc5.$renderEngine, $this.$lightmapColors, 16, 16, $this.$lightmapTexture);
    }
}
function nms_EntityRenderer_getNightVisionBrightness($this, $par1EntityPlayer, $par2) {
    var $var3;
    $var3 = nms_EntityLiving_getActivePotionEffect($par1EntityPlayer, nms_Potion_nightVision).$duration;
    return $var3 > 200 ? 1.0 : 0.699999988079071 + nms_MathHelper_sin(($var3 - $par2) * 3.1415927410125732 * 0.20000000298023224) * 0.30000001192092896;
}
function nms_EntityRenderer_updateCameraAndRender($this, $par1) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var13, $var14, $var15, $var16, $var17, $var18, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Profiler_startSection($this.$mc5.$mcProfiler, $rt_s(968));
        if ($this.$lightmapUpdateNeeded)
            nms_EntityRenderer_updateLightmap($this, $par1);
        nms_Profiler_endSection($this.$mc5.$mcProfiler);
        $var2 = nlea_EaglerAdapterImpl2_isFocused();
        if (!$var2 && $this.$mc5.$gameSettings.$pauseOnLostFocus)
            nmc_Minecraft_displayInGameMenu($this.$mc5);
        else
            $this.$prevFrameTime0 = jl_System_currentTimeMillis();
        nms_Profiler_startSection($this.$mc5.$mcProfiler, $rt_s(358));
        if ($this.$mc5.$inGameHasFocus && $var2) {
            nms_MouseHelper_mouseXYChange($this.$mc5.$mouseHelper);
            $var3 = $this.$mc5.$gameSettings.$mouseSensitivity * 0.6000000238418579 + 0.20000000298023224;
            if ($this.$mc5.$gameSettings.$keyBindZoom.$pressed)
                $var3 = $var3 * 0.5;
            $var4 = $var3 * $var3 * $var3 * 8.0;
            $var5 = $this.$mc5.$mouseHelper.$deltaX * $var4;
            $var6 = $this.$mc5.$mouseHelper.$deltaY * $var4;
            $var7 = 1;
            if ($this.$mc5.$gameSettings.$invertMouse)
                $var7 = (-1);
            if (!$this.$mc5.$gameSettings.$smoothCamera)
                nms_Entity_setAngles($this.$mc5.$thePlayer, $var5, $var6 * $var7);
            else {
                $this.$smoothCamYaw = $this.$smoothCamYaw + $var5;
                $this.$smoothCamPitch = $this.$smoothCamPitch + $var6;
                $var8 = $par1 - $this.$smoothCamPartialTicks;
                $this.$smoothCamPartialTicks = $par1;
                $var3 = $this.$smoothCamFilterX * $var8;
                $var4 = $this.$smoothCamFilterY * $var8;
                nms_Entity_setAngles($this.$mc5.$thePlayer, $var3, $var4 * $var7);
            }
        }
        nms_Profiler_endSection($this.$mc5.$mcProfiler);
        if ($this.$mc5.$skipRenderWorld)
            return;
        nms_EntityRenderer_anaglyphEnable = $this.$mc5.$gameSettings.$anaglyph;
        $var13 = nms_ScaledResolution__init_($this.$mc5.$gameSettings, $this.$mc5.$displayWidth, $this.$mc5.$displayHeight);
        $var14 = $var13.$scaledWidth;
        $var15 = $var13.$scaledHeight;
        $var16 = $rt_imul(nlea_EaglerAdapterImpl2_mouseGetX(), $var14) / $this.$mc5.$displayWidth | 0;
        $var17 = ($var15 - ($rt_imul(nlea_EaglerAdapterImpl2_mouseGetY(), $var15) / $this.$mc5.$displayHeight | 0) | 0) - 1 | 0;
        $var18 = nms_EntityRenderer_performanceToFps($this.$mc5.$gameSettings.$limitFramerate);
        if ($this.$mc5.$theWorld !== null) {
            nms_Profiler_startSection($this.$mc5.$mcProfiler, $rt_s(355));
            if (!$this.$mc5.$gameSettings.$limitFramerate) {
                var$15 = Long_ZERO;
                $ptr = 2;
                continue main;
            }
            var$15 = Long_add($this.$renderEndNanoTime, Long_fromInt(1000000000 / $var18 | 0));
            $ptr = 1;
            continue main;
        }
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$mc5.$displayWidth, $this.$mc5.$displayHeight);
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nms_EntityRenderer_setupOverlayRendering($this);
        $this.$renderEndNanoTime = jl_System_nanoTime();
        nleg_EaglerAdapterGL30_glClear(256);
        if ($this.$mc5.$currentScreen === null) {
            $ptr = 3;
            continue main;
        }
        $var13 = $this.$mc5.$currentScreen;
        $ptr = 4;
        continue main;
    case 1:
        nms_EntityRenderer_renderWorld($this, $par1, var$15);
        if ($rt_suspending()) {
            break main;
        }
        $this.$renderEndNanoTime = jl_System_nanoTime();
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(349));
        if ($this.$mc5.$gameSettings.$hideGUI && $this.$mc5.$currentScreen === null) {
            nms_Profiler_endSection($this.$mc5.$mcProfiler);
            nleg_EaglerAdapterGL30_glClear(256);
            if ($this.$mc5.$currentScreen === null) {
                $ptr = 3;
                continue main;
            }
            $var13 = $this.$mc5.$currentScreen;
            $ptr = 4;
            continue main;
        }
        $var13 = $this.$mc5.$ingameGUI;
        $var2 = $this.$mc5.$currentScreen === null ? 0 : 1;
        $ptr = 6;
        continue main;
    case 2:
        nms_EntityRenderer_renderWorld($this, $par1, var$15);
        if ($rt_suspending()) {
            break main;
        }
        $this.$renderEndNanoTime = jl_System_nanoTime();
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(349));
        if ($this.$mc5.$gameSettings.$hideGUI && $this.$mc5.$currentScreen === null) {
            nms_Profiler_endSection($this.$mc5.$mcProfiler);
            nleg_EaglerAdapterGL30_glClear(256);
            if ($this.$mc5.$currentScreen === null) {
                $ptr = 3;
                continue main;
            }
            $var13 = $this.$mc5.$currentScreen;
            $ptr = 4;
            continue main;
        }
        $var13 = $this.$mc5.$ingameGUI;
        $var2 = $this.$mc5.$currentScreen === null ? 0 : 1;
        $ptr = 6;
        continue main;
    case 3:
        nle_GuiScreenVoiceChannel_drawOverlay();
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        $var13.$drawScreen($var16, $var17, $par1);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$mc5.$currentScreen !== null && $this.$mc5.$currentScreen.$guiParticles !== null) {
            $var13 = $this.$mc5.$currentScreen.$guiParticles;
            $ptr = 5;
            continue main;
        }
        $ptr = 3;
        continue main;
    case 5:
        nms_GuiParticle_draw($var13, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 3;
        continue main;
    case 6:
        nms_GuiIngame_renderGameOverlay($var13, $par1, $var2, $var16, $var17);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endSection($this.$mc5.$mcProfiler);
        nleg_EaglerAdapterGL30_glClear(256);
        if ($this.$mc5.$currentScreen === null) {
            $ptr = 3;
            continue main;
        }
        $var13 = $this.$mc5.$currentScreen;
        $ptr = 4;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var13, $var14, $var15, $var16, $var17, $var18, var$15, $ptr);
}
function nms_EntityRenderer_renderWorld($this, $par1, $par2) {
    var $var4, $var5, $var6, var$6, var$7, var$8, $var7, $var9, $var11, $var13, var$13, var$14, $var17, $var14, var$17, $var18, $var15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var15 = $thread.pop();$var18 = $thread.pop();var$17 = $thread.pop();$var14 = $thread.pop();$var17 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Profiler_startSection($this.$mc5.$mcProfiler, $rt_s(968));
        if ($this.$lightmapUpdateNeeded)
            nms_EntityRenderer_updateLightmap($this, $par1);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glEnable(2929);
        if ($this.$mc5.$renderViewEntity === null)
            $this.$mc5.$renderViewEntity = $this.$mc5.$thePlayer;
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(350));
        $ptr = 1;
    case 1:
        nms_EntityRenderer_getMouseOver($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $this.$mc5.$renderViewEntity;
        $var5 = $this.$mc5.$renderGlobal;
        $var6 = $this.$mc5.$effectRenderer;
        var$6 = $var4.$lastTickPosX;
        var$7 = $var4.$posX - $var4.$lastTickPosX;
        var$8 = $par1;
        $var7 = var$6 + var$7 * var$8;
        $var9 = $var4.$lastTickPosY + ($var4.$posY - $var4.$lastTickPosY) * var$8;
        $var11 = $var4.$lastTickPosZ + ($var4.$posZ - $var4.$lastTickPosZ) * var$8;
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(969));
        nleg_EffectPipelineFXAA_displayWidth = $this.$mc5.$displayWidth;
        nleg_EffectPipelineFXAA_displayHeight = $this.$mc5.$displayHeight;
        nleg_EffectPipelineFXAA_beginPipelineRender();
        $var13 = 0;
        var$13 = Long_compare($par2, Long_ZERO);
        var$14 = $var4 instanceof nms_EntityPlayer;
        $var17 = $var4;
        if ($var13 >= 2) {
            nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(970));
            nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 0);
            nleg_EffectPipelineFXAA_endPipelineRender();
            nms_Profiler_endSection($this.$mc5.$mcProfiler);
            return;
        }
        if ($this.$mc5.$gameSettings.$anaglyph) {
            nms_EntityRenderer_anaglyphField = $var13;
            if (nms_EntityRenderer_anaglyphField)
                nleg_EaglerAdapterGL30_glColorMask(1, 0, 0, 0);
            else
                nleg_EaglerAdapterGL30_glColorMask(0, 1, 1, 0);
        }
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$mc5.$displayWidth, $this.$mc5.$displayHeight);
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(971));
        nleg_EaglerAdapterGL30_glClear(16640);
        nms_EntityRenderer_updateFogColor($this, $par1);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(972));
        $ptr = 2;
    case 2:
        nms_EntityRenderer_setupCameraTransform($this, $par1, $var13);
        if ($rt_suspending()) {
            break main;
        }
        nms_ActiveRenderInfo_updateRenderInfo($this.$mc5.$thePlayer, $this.$mc5.$gameSettings.$thirdPersonView != 2 ? 0 : 1);
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(973));
        nms_ClippingHelperImpl_getInstance();
        nleg_EaglerAdapterGL30_glEnable(2912);
        if ($this.$mc5.$gameSettings.$renderDistance < 2) {
            nms_EntityRenderer_setupFog($this, (-1), $par1);
            nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(974));
            $ptr = 3;
            continue main;
        }
        nms_EntityRenderer_setupFog($this, 1, $par1);
        if ($this.$mc5.$gameSettings.$ambientOcclusion)
            nleg_EaglerAdapterGL30_glShadeModel(7425);
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(975));
        $var14 = nms_Frustrum__init_0();
        nms_Frustrum_setPosition($var14, $var7, $var9, $var11);
        nms_RenderGlobal_clipRenderersByFrustum($this.$mc5.$renderGlobal, $var14, $par1);
        if (!$var13) {
            nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(976));
            var$17 = $this.$mc5.$renderGlobal;
            $var18 = 0;
            $ptr = 6;
            continue main;
        }
        if ($var4.$posY < 128.0) {
            $ptr = 5;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(977));
        nleg_EaglerAdapterGL30_glEnable(2912);
        nms_EntityRenderer_setupFog($this, 0, $par1);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nms_RenderHelper_disableStandardItemLighting();
        var$17 = nms_EntityRenderer_terrain;
        $ptr = 4;
        continue main;
    case 3:
        nms_RenderGlobal_renderSky($var5, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityRenderer_setupFog($this, 1, $par1);
        if ($this.$mc5.$gameSettings.$ambientOcclusion)
            nleg_EaglerAdapterGL30_glShadeModel(7425);
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(975));
        $var14 = nms_Frustrum__init_0();
        nms_Frustrum_setPosition($var14, $var7, $var9, $var11);
        nms_RenderGlobal_clipRenderersByFrustum($this.$mc5.$renderGlobal, $var14, $par1);
        if (!$var13) {
            nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(976));
            var$17 = $this.$mc5.$renderGlobal;
            $var18 = 0;
            $ptr = 6;
            continue main;
        }
        if ($var4.$posY < 128.0) {
            $ptr = 5;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(977));
        nleg_EaglerAdapterGL30_glEnable(2912);
        nms_EntityRenderer_setupFog($this, 0, $par1);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nms_RenderHelper_disableStandardItemLighting();
        var$17 = nms_EntityRenderer_terrain;
        $ptr = 4;
    case 4:
        nle_TextureLocation_bindTexture(var$17);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameterf(3553, (-103), 16.0);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9986);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.6000000238418579);
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(302));
        nms_RenderGlobal_sortAndRender($var5, $var4, 0, var$8);
        nleg_EaglerAdapterGL30_glShadeModel(7424);
        if (!$this.$debugViewDirection) {
            nms_RenderHelper_enableStandardItemLighting();
            nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(978));
            var$17 = nms_EntityLiving_getPosition($var4, $par1);
            $ptr = 8;
            continue main;
        }
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nms_EntityRenderer_setupFog($this, 0, $par1);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.029999999329447746);
        nleg_EaglerAdapterGL30_glDisable(2884);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var14 = nms_EntityRenderer_terrain;
        $ptr = 7;
        continue main;
    case 5:
        nms_EntityRenderer_renderCloudsCheck($this, $var5, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(977));
        nleg_EaglerAdapterGL30_glEnable(2912);
        nms_EntityRenderer_setupFog($this, 0, $par1);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nms_RenderHelper_disableStandardItemLighting();
        var$17 = nms_EntityRenderer_terrain;
        $ptr = 4;
        continue main;
    case 6:
        $tmp = nms_RenderGlobal_updateRenderers(var$17, $var4, $var18);
        if ($rt_suspending()) {
            break main;
        }
        $var18 = $tmp;
        if (!$var18 && var$13) {
            $var15 = Long_sub($par2, jl_System_nanoTime());
            if (Long_ge($var15, Long_ZERO) && Long_le($var15, Long_fromInt(1000000000))) {
                var$17 = $this.$mc5.$renderGlobal;
                $var18 = 0;
                continue main;
            }
        }
        if ($var4.$posY < 128.0) {
            $ptr = 5;
            continue main;
        }
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(977));
        nleg_EaglerAdapterGL30_glEnable(2912);
        nms_EntityRenderer_setupFog($this, 0, $par1);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nms_RenderHelper_disableStandardItemLighting();
        var$17 = nms_EntityRenderer_terrain;
        $ptr = 4;
        continue main;
    case 7:
        nle_TextureLocation_bindTexture($var14);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(955));
        nleg_EaglerAdapterGL30_glColorMask(0, 0, 0, 0);
        $var18 = nms_RenderGlobal_sortAndRender($var5, $var4, 1, var$8);
        if (!$this.$mc5.$gameSettings.$anaglyph)
            nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 1);
        else if (nms_EntityRenderer_anaglyphField)
            nleg_EaglerAdapterGL30_glColorMask(1, 0, 0, 1);
        else
            nleg_EaglerAdapterGL30_glColorMask(0, 1, 1, 1);
        if ($var18 > 0) {
            nleg_EaglerAdapterGL30_glDepthFunc(514);
            nms_RenderGlobal_renderSortedRenderers($var5, 0, $var5.$sortedWorldRenderers.data.length, 1, var$8);
            nleg_EaglerAdapterGL30_glDepthFunc(515);
        }
        nleg_EaglerAdapterGL30_glTexParameterf(3553, (-103), 1.0);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9986);
        $ptr = 11;
        continue main;
    case 8:
        nms_RenderGlobal_renderEntities($var5, var$17, $var14, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityRenderer_enableLightmap($this, var$8);
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(979));
        $ptr = 9;
    case 9:
        nms_EffectRenderer_renderLitParticles($var6, $var4, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderHelper_disableStandardItemLighting();
        nms_EntityRenderer_setupFog($this, 0, $par1);
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(357));
        $ptr = 10;
    case 10:
        nms_EffectRenderer_renderParticles($var6, $var4, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityRenderer_disableLightmap($this, var$8);
        if ($this.$mc5.$objectMouseOver !== null) {
            nms_Material_$callClinit();
            if (nms_Entity_isInsideOfMaterial($var4, nms_Material_water) && var$14 && !$this.$mc5.$gameSettings.$hideGUI) {
                nleg_EaglerAdapterGL30_glDisable(3008);
                nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(980));
                $var14 = $this.$mc5.$objectMouseOver;
                $var18 = 0;
                var$17 = nms_InventoryPlayer_getCurrentItem($var17.$inventory);
                $ptr = 13;
                continue main;
            }
        }
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nms_EntityRenderer_setupFog($this, 0, $par1);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.029999999329447746);
        nleg_EaglerAdapterGL30_glDisable(2884);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var14 = nms_EntityRenderer_terrain;
        $ptr = 7;
        continue main;
    case 11:
        nms_EffectRenderer_renderTransparentParticles($var6, $var4, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glDisable(3042);
        if ($this.$cameraZoom === 1.0 && var$14 && !$this.$mc5.$gameSettings.$hideGUI && $this.$mc5.$objectMouseOver !== null) {
            nms_Material_$callClinit();
            if (!nms_Entity_isInsideOfMaterial($var4, nms_Material_water)) {
                nleg_EaglerAdapterGL30_glDisable(3008);
                nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(980));
                $var14 = $this.$mc5.$objectMouseOver;
                $var18 = 0;
                var$17 = nms_InventoryPlayer_getCurrentItem($var17.$inventory);
                $ptr = 18;
                continue main;
            }
        }
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(981));
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 1);
        nlea_Tessellator_$callClinit();
        $var14 = nlea_Tessellator_instance;
        $ptr = 12;
    case 12:
        nms_RenderGlobal_drawBlockDamageTexture($var5, $var14, $var17, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(3042);
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(982));
        nleg_EaglerAdapterGL30_glDisable(2912);
        if ($var4.$posY < 128.0) {
            $ptr = 15;
            continue main;
        }
        $ptr = 16;
        continue main;
    case 13:
        nms_RenderGlobal_drawBlockBreaking($var5, $var17, $var14, $var18, var$17, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $this.$mc5.$objectMouseOver;
        $var18 = 0;
        var$17 = nms_InventoryPlayer_getCurrentItem($var17.$inventory);
        $ptr = 14;
    case 14:
        nms_RenderGlobal_drawSelectionBox($var5, $var17, $var14, $var18, var$17, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nms_EntityRenderer_setupFog($this, 0, $par1);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.029999999329447746);
        nleg_EaglerAdapterGL30_glDisable(2884);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var14 = nms_EntityRenderer_terrain;
        $ptr = 7;
        continue main;
    case 15:
        nms_EntityRenderer_renderRainSnow($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(983));
        if (!$this.$mc5.$gameSettings.$keyBindZoom.$pressed) {
            $ptr = 17;
            continue main;
        }
        if ($this.$mc5.$gameSettings.$anaglyph) {
            $var13 = $var13 + 1 | 0;
            if ($var13 < 2) {
                if ($this.$mc5.$gameSettings.$anaglyph) {
                    nms_EntityRenderer_anaglyphField = $var13;
                    if (nms_EntityRenderer_anaglyphField)
                        nleg_EaglerAdapterGL30_glColorMask(1, 0, 0, 0);
                    else
                        nleg_EaglerAdapterGL30_glColorMask(0, 1, 1, 0);
                }
                nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$mc5.$displayWidth, $this.$mc5.$displayHeight);
                nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(971));
                nleg_EaglerAdapterGL30_glClear(16640);
                nms_EntityRenderer_updateFogColor($this, $par1);
                nleg_EaglerAdapterGL30_glEnable(2884);
                nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(972));
                $ptr = 2;
                continue main;
            }
        }
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(970));
        nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 0);
        nleg_EffectPipelineFXAA_endPipelineRender();
        nms_Profiler_endSection($this.$mc5.$mcProfiler);
        return;
    case 16:
        nms_EntityRenderer_renderCloudsCheck($this, $var5, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 15;
        continue main;
    case 17:
        nms_EntityRenderer_renderHand($this, $par1, $var13);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$mc5.$gameSettings.$anaglyph) {
            $var13 = $var13 + 1 | 0;
            if ($var13 < 2) {
                if ($this.$mc5.$gameSettings.$anaglyph) {
                    nms_EntityRenderer_anaglyphField = $var13;
                    if (nms_EntityRenderer_anaglyphField)
                        nleg_EaglerAdapterGL30_glColorMask(1, 0, 0, 0);
                    else
                        nleg_EaglerAdapterGL30_glColorMask(0, 1, 1, 0);
                }
                nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$mc5.$displayWidth, $this.$mc5.$displayHeight);
                nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(971));
                nleg_EaglerAdapterGL30_glClear(16640);
                nms_EntityRenderer_updateFogColor($this, $par1);
                nleg_EaglerAdapterGL30_glEnable(2884);
                nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(972));
                $ptr = 2;
                continue main;
            }
        }
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(970));
        nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 0);
        nleg_EffectPipelineFXAA_endPipelineRender();
        nms_Profiler_endSection($this.$mc5.$mcProfiler);
        return;
    case 18:
        nms_RenderGlobal_drawBlockBreaking($var5, $var17, $var14, $var18, var$17, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $this.$mc5.$objectMouseOver;
        $var18 = 0;
        var$17 = nms_InventoryPlayer_getCurrentItem($var17.$inventory);
        $ptr = 19;
    case 19:
        nms_RenderGlobal_drawSelectionBox($var5, $var17, $var14, $var18, var$17, $par1);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3008);
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(981));
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 1);
        nlea_Tessellator_$callClinit();
        $var14 = nlea_Tessellator_instance;
        $ptr = 12;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var4, $var5, $var6, var$6, var$7, var$8, $var7, $var9, $var11, $var13, var$13, var$14, $var17, $var14, var$17, $var18, $var15, $ptr);
}
function nms_EntityRenderer_renderCloudsCheck($this, $par1RenderGlobal, $par2) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2 = $thread.pop();$par1RenderGlobal = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_GameSettings_shouldRenderClouds($this.$mc5.$gameSettings))
            return;
        nms_Profiler_endStartSection($this.$mc5.$mcProfiler, $rt_s(899));
        nleg_EaglerAdapterGL30_glPushMatrix();
        nms_EntityRenderer_setupFog($this, 0, $par2);
        nleg_EaglerAdapterGL30_glEnable(2912);
        $ptr = 1;
    case 1:
        nms_RenderGlobal_renderClouds($par1RenderGlobal, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(2912);
        nms_EntityRenderer_setupFog($this, 1, $par2);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1RenderGlobal, $par2, $ptr);
}
function nms_EntityRenderer_addRainParticles($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var8, $var10, $var12, $var14, $var15, $var16, var$13, $var17, $var18, $var19, $var20, $var21, $var22, $var23, var$21, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();var$21 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();var$13 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 =
        $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = nms_World_getRainStrength($this.$mc5.$theWorld, 1.0);
        if (!$this.$mc5.$gameSettings.$fancyGraphics)
            $var1 = $var1 / 2.0;
        if ($var1 !== 0.0) {
            $this.$random0.$seed = Long_mul(Long_fromInt($this.$rendererUpdateCount), Long_fromInt(312987231));
            $var2 = $this.$mc5.$renderViewEntity;
            $var3 = $this.$mc5.$theWorld;
            $var4 = nms_MathHelper_floor_double($var2.$posX);
            $var5 = nms_MathHelper_floor_double($var2.$posY);
            $var6 = nms_MathHelper_floor_double($var2.$posZ);
            $var8 = 0.0;
            $var10 = 0.0;
            $var12 = 0.0;
            $var14 = 0;
            $var15 = 100.0 * $var1 * $var1 | 0;
            if ($this.$mc5.$gameSettings.$particleSetting == 1)
                $var15 = $var15 >> 1;
            else if ($this.$mc5.$gameSettings.$particleSetting == 2)
                $var15 = 0;
            $var16 = 0;
            var$13 = $var5 + 10 | 0;
            $var5 = $var5 - 10 | 0;
            while ($var16 < $var15) {
                $var17 = ($var4 + nle_EaglercraftRandom_nextInt($this.$random0, 10) | 0) - nle_EaglercraftRandom_nextInt($this.$random0, 10) | 0;
                $var18 = ($var6 + nle_EaglercraftRandom_nextInt($this.$random0, 10) | 0) - nle_EaglercraftRandom_nextInt($this.$random0, 10) | 0;
                $var19 = nms_World_getPrecipitationHeight($var3, $var17, $var18);
                $var20 = nms_World_getBlockId($var3, $var17, $var19 - 1 | 0, $var18);
                $var21 = nms_World_getBiomeGenForCoords($var3, $var17, $var18);
                if ($var19 <= var$13 && $var19 >= $var5 && nms_BiomeGenBase_canSpawnLightningBolt($var21) && $var21.$temperature >= 0.20000000298023224) {
                    $var22 = nle_EaglercraftRandom_nextFloat($this.$random0);
                    $var23 = nle_EaglercraftRandom_nextFloat($this.$random0);
                    if ($var20 > 0) {
                        nms_Block_$callClinit();
                        $var21 = nms_Block_blocksList.data[$var20].$blockMaterial;
                        nms_Material_$callClinit();
                        if ($var21 === nms_Material_lava)
                            nms_EffectRenderer_addEffect($this.$mc5.$effectRenderer, nms_EntitySmokeFX__init_($var3, $var17 + $var22, $var19 + 0.10000000149011612 - nms_Block_blocksList.data[$var20].$minY0, $var18 + $var23, 0.0, 0.0, 0.0));
                        else {
                            $var14 = $var14 + 1 | 0;
                            if (!nle_EaglercraftRandom_nextInt($this.$random0, $var14)) {
                                $var8 = $var17 + $var22;
                                $var10 = $var19 + 0.10000000149011612 - nms_Block_blocksList.data[$var20].$minY0;
                                $var12 = $var18 + $var23;
                            }
                            nms_EffectRenderer_addEffect($this.$mc5.$effectRenderer, nms_EntityRainFX__init_($var3, $var17 + $var22, $var19 + 0.10000000149011612 - nms_Block_blocksList.data[$var20].$minY0, $var18 + $var23));
                        }
                    }
                }
                $var16 = $var16 + 1 | 0;
            }
            if ($var14 > 0) {
                $var4 = nle_EaglercraftRandom_nextInt($this.$random0, 3);
                $var17 = $this.$rainSoundCounter;
                $this.$rainSoundCounter = $var17 + 1 | 0;
                if ($var4 < $var17) {
                    $this.$rainSoundCounter = 0;
                    if ($var10 > $var2.$posY + 1.0 && nms_World_getPrecipitationHeight($var3, nms_MathHelper_floor_double($var2.$posX), nms_MathHelper_floor_double($var2.$posZ)) > nms_MathHelper_floor_double($var2.$posY)) {
                        $var2 = $this.$mc5.$theWorld;
                        $var21 = $rt_s(984);
                        $var1 = 0.006000000052154064;
                        var$21 = 0.5;
                        $var7 = 0;
                        $ptr = 2;
                        continue main;
                    }
                    $var21 = $this.$mc5.$theWorld;
                    $var2 = $rt_s(984);
                    $var1 = 0.012000000104308128;
                    var$21 = 1.0;
                    $var7 = 0;
                    $ptr = 1;
                    continue main;
                }
            }
        }
        return;
    case 1:
        nms_WorldClient_playSound($var21, $var8, $var10, $var12, $var2, $var1, var$21, $var7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_WorldClient_playSound($var2, $var8, $var10, $var12, $var21, $var1, var$21, $var7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var8, $var10, $var12, $var14, $var15, $var16, var$13, $var17, $var18, $var19, $var20, $var21, $var22, $var23, var$21, $var7, $ptr);
}
function nms_EntityRenderer_renderRainSnow($this, $par1) {
    var $var2, var$3, $var3, $var4, $var5, $var6, $var7, var$9, $var45, $var41, $var42, $var43, $var44, $var8, $var9, $var11, $var13, $var15, $var16, $var18, $ticks, $var19, $var20, var$25, var$26, var$27, $var32, $var21, $var22, $var23, $var24, $var25, $var26, $var27, $var28, $var29, var$38, var$39, var$40, $var32_0, $var29_0, $var33, $var35, $var37, $var46, $var34, $var47, var$49, $var39, var$51, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$51 = $thread.pop();$var39 = $thread.pop();var$49 = $thread.pop();$var47 = $thread.pop();$var34 = $thread.pop();$var46 = $thread.pop();$var37 = $thread.pop();$var35 = $thread.pop();$var33 = $thread.pop();$var29_0 = $thread.pop();$var32_0 = $thread.pop();var$40 = $thread.pop();var$39 = $thread.pop();var$38 = $thread.pop();$var29 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22
        = $thread.pop();$var21 = $thread.pop();$var32 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$ticks = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var44 = $thread.pop();$var43 = $thread.pop();$var42 = $thread.pop();$var41 = $thread.pop();$var45 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6
        = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = nms_World_getRainStrength($this.$mc5.$theWorld, $par1) * 0.5;
        if ($var2 > 0.0) {
            a: {
                var$3 = $par1;
                nms_EntityRenderer_enableLightmap($this, var$3);
                if ($this.$rainXCoords === null) {
                    $this.$rainXCoords = $rt_createFloatArray(1024);
                    $this.$rainYCoords = $rt_createFloatArray(1024);
                    $var3 = 0;
                    while (true) {
                        if ($var3 >= 32)
                            break a;
                        $var4 = 0;
                        while ($var4 < 32) {
                            $var5 = $var4 - 16 | 0;
                            $var6 = $var3 - 16 | 0;
                            $var7 = nms_MathHelper_sqrt_float($var5 * $var5 + $var6 * $var6);
                            var$9 = $this.$rainXCoords.data;
                            $var45 = $var3 << 5 | $var4;
                            var$9[$var45] =  -$var6 / $var7;
                            $this.$rainYCoords.data[$var45] = $var5 / $var7;
                            $var4 = $var4 + 1 | 0;
                        }
                        $var3 = $var3 + 1 | 0;
                    }
                }
            }
            $var41 = $this.$mc5.$renderViewEntity;
            $var42 = $this.$mc5.$theWorld;
            $var43 = nms_MathHelper_floor_double($var41.$posX);
            $var44 = nms_MathHelper_floor_double($var41.$posY);
            $var45 = nms_MathHelper_floor_double($var41.$posZ);
            nlea_Tessellator_$callClinit();
            $var8 = nlea_Tessellator_instance;
            nleg_EaglerAdapterGL30_glDisable(2884);
            nleg_EaglerAdapterGL30_glNormal3f(0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
            nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.009999999776482582);
            $var9 = $var41.$lastTickPosX + ($var41.$posX - $var41.$lastTickPosX) * var$3;
            $var11 = $var41.$lastTickPosY + ($var41.$posY - $var41.$lastTickPosY) * var$3;
            $var13 = $var41.$lastTickPosZ + ($var41.$posZ - $var41.$lastTickPosZ) * var$3;
            $var15 = nms_MathHelper_floor_double($var11);
            $var16 = 5;
            if ($this.$mc5.$gameSettings.$fancyGraphics)
                $var16 = 10;
            $var18 = (-1);
            $ticks = $this.$rendererUpdateCount % 100000 | 0;
            $var19 = $ticks + $par1;
            if ($this.$mc5.$gameSettings.$fancyGraphics)
                $var16 = 10;
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            $var20 = $var45 - $var16 | 0;
            var$25 =  -$var9 * 1.0;
            var$26 =  -$var11 * 1.0;
            var$27 =  -$var13 * 1.0;
            $var32 = (($ticks % 512 | 0) + $par1) / 512.0;
            $var5 = $var19 * 0.009999999776482582;
            $var6 = $var32 * 1.0;
            while ($var20 <= ($var45 + $var16 | 0)) {
                $var21 = $var43 - $var16 | 0;
                while ($var21 <= ($var43 + $var16 | 0)) {
                    $var22 = ((((($var20 - $var45 | 0) + 16 | 0) * 32 | 0) + $var21 | 0) - $var43 | 0) + 16 | 0;
                    $var23 = $this.$rainXCoords.data[$var22] * 0.5;
                    $var24 = $this.$rainYCoords.data[$var22] * 0.5;
                    $var25 = nms_World_getBiomeGenForCoords($var42, $var21, $var20);
                    if (!(!nms_BiomeGenBase_canSpawnLightningBolt($var25) && !nms_BiomeGenBase_getEnableSnow($var25))) {
                        $var26 = nms_World_getPrecipitationHeight($var42, $var21, $var20);
                        $var27 = $var44 - $var16 | 0;
                        $var28 = $var44 + $var16 | 0;
                        if ($var27 < $var26)
                            $var27 = $var26;
                        if ($var28 < $var26)
                            $var28 = $var26;
                        $var29 = 1.0;
                        if ($var26 < $var15)
                            $var26 = $var15;
                        if ($var27 != $var28) {
                            var$38 = $this.$random0;
                            $var22 = $rt_imul($var21, $var21) * 3121 | 0;
                            $var3 = $rt_imul($var21, 45238971);
                            $var4 = $var22 + $var3 | 0;
                            var$39 = $rt_imul($rt_imul($var20, $var20), 418711);
                            var$40 = $var20 * 13761 | 0;
                            nle_EaglercraftRandom_setSeed(var$38, Long_fromInt($var4 ^ (var$39 + var$40 | 0)));
                            if (nms_BiomeGenBase_getFloatTemperature($var25) >= 0.15000000596046448) {
                                if ($var18) {
                                    if ($var18 >= 0)
                                        nlea_Tessellator_draw($var8);
                                    $var18 = 0;
                                    $var25 = nms_EntityRenderer_rain;
                                    $ptr = 2;
                                    continue main;
                                }
                                $var32_0 = ((((((($ticks + $var22 | 0) + $var3 | 0) + var$39 | 0) + var$40 | 0) & 31) % 100000 | 0) + $par1) / 32.0 * (3.0 + nle_EaglercraftRandom_nextFloat($this.$random0));
                                $var29_0 = $var21;
                                $var33 = $var29_0 + 0.5 - $var41.$posX;
                                $var32 = $var20;
                                $var35 = $var32 + 0.5 - $var41.$posZ;
                                $var37 = nms_MathHelper_sqrt_double($var33 * $var33 + $var35 * $var35) / $var16;
                                nlea_Tessellator_setBrightness($var8, nms_World_getLightBrightnessForSkyBlocks($var42, $var21, $var26, $var20, 0));
                                nlea_Tessellator_setColorRGBA_F($var8, 1.0, 1.0, 1.0, ((1.0 - $var37 * $var37) * 0.5 + 0.5) * $var2);
                                nlea_Tessellator_setTranslation($var8, var$25, var$26, var$27);
                                $var35 = $var29_0 - $var23 + 0.5;
                                $var9 = $var27;
                                $var11 = $var32 - $var24 + 0.5;
                                $var46 = $var27 * $var29 / 4.0;
                                $var34 = $var32_0 * $var29;
                                $var33 = $var46 + $var34;
                                nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, 0.0, $var33);
                                $var47 = $var29_0 + $var23 + 0.5;
                                var$49 = $var32 + $var24 + 0.5;
                                nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, 1.0, $var33);
                                $var9 = $var28;
                                $var33 = $var28 * $var29 / 4.0 + $var34;
                                nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, 1.0, $var33);
                                nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, 0.0, $var33);
                                nlea_Tessellator_setTranslation($var8, 0.0, 0.0, 0.0);
                            } else {
                                if ($var18 != 1) {
                                    if ($var18 >= 0)
                                        nlea_Tessellator_draw($var8);
                                    $var18 = 1;
                                    $var25 = nms_EntityRenderer_snow;
                                    $ptr = 1;
                                    continue main;
                                }
                                $var46 = nle_EaglercraftRandom_nextFloat($this.$random0) + $var5 * nle_EaglercraftRandom_nextGaussian($this.$random0);
                                $var34 = nle_EaglercraftRandom_nextFloat($this.$random0) + $var19 * nle_EaglercraftRandom_nextGaussian($this.$random0) * 0.0010000000474974513;
                                $var29_0 = $var21;
                                $var35 = $var29_0 + 0.5 - $var41.$posX;
                                $var32_0 = $var20;
                                $var47 = $var32_0 + 0.5 - $var41.$posZ;
                                $var39 = nms_MathHelper_sqrt_double($var35 * $var35 + $var47 * $var47) / $var16;
                                nlea_Tessellator_setBrightness($var8, ((nms_World_getLightBrightnessForSkyBlocks($var42, $var21, $var26, $var20, 0) * 3 | 0) + 15728880 | 0) / 4 | 0);
                                nlea_Tessellator_setColorRGBA_F($var8, 1.0, 1.0, 1.0, ((1.0 - $var39 * $var39) * 0.30000001192092896 + 0.5) * $var2);
                                nlea_Tessellator_setTranslation($var8, var$25, var$26, var$27);
                                $var35 = $var29_0 - $var23 + 0.5;
                                $var9 = $var27;
                                $var11 = $var32_0 - $var24 + 0.5;
                                $var13 = 0.0 + $var46;
                                $var33 = $var27 * $var29 / 4.0 + $var6 + $var34;
                                nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, $var13, $var33);
                                $var47 = $var29_0 + $var23 + 0.5;
                                var$49 = $var32_0 + $var24 + 0.5;
                                var$51 = 1.0 + $var46;
                                nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, var$51, $var33);
                                $var9 = $var28;
                                $var33 = $var28 * $var29 / 4.0 + $var6 + $var34;
                                nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, var$51, $var33);
                                nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, $var13, $var33);
                                nlea_Tessellator_setTranslation($var8, 0.0, 0.0, 0.0);
                            }
                        }
                    }
                    $var21 = $var21 + 1 | 0;
                }
                $var20 = $var20 + 1 | 0;
            }
            if ($var18 >= 0)
                nlea_Tessellator_draw($var8);
            nleg_EaglerAdapterGL30_glEnable(2884);
            nleg_EaglerAdapterGL30_glDisable(3042);
            nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
            nms_EntityRenderer_disableLightmap($this, var$3);
        }
        return;
    case 1:
        nle_TextureLocation_bindTexture($var25);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_startDrawingQuads($var8);
        b: while (true) {
            $var46 = nle_EaglercraftRandom_nextFloat($this.$random0) + $var5 * nle_EaglercraftRandom_nextGaussian($this.$random0);
            $var34 = nle_EaglercraftRandom_nextFloat($this.$random0) + $var19 * nle_EaglercraftRandom_nextGaussian($this.$random0) * 0.0010000000474974513;
            $var29_0 = $var21;
            $var35 = $var29_0 + 0.5 - $var41.$posX;
            $var32_0 = $var20;
            $var47 = $var32_0 + 0.5 - $var41.$posZ;
            $var39 = nms_MathHelper_sqrt_double($var35 * $var35 + $var47 * $var47) / $var16;
            nlea_Tessellator_setBrightness($var8, ((nms_World_getLightBrightnessForSkyBlocks($var42, $var21, $var26, $var20, 0) * 3 | 0) + 15728880 | 0) / 4 | 0);
            nlea_Tessellator_setColorRGBA_F($var8, 1.0, 1.0, 1.0, ((1.0 - $var39 * $var39) * 0.30000001192092896 + 0.5) * $var2);
            nlea_Tessellator_setTranslation($var8, var$25, var$26, var$27);
            $var35 = $var29_0 - $var23 + 0.5;
            $var9 = $var27;
            $var11 = $var32_0 - $var24 + 0.5;
            $var13 = 0.0 + $var46;
            $var33 = $var27 * $var29 / 4.0 + $var6 + $var34;
            nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, $var13, $var33);
            $var47 = $var29_0 + $var23 + 0.5;
            var$49 = $var32_0 + $var24 + 0.5;
            var$51 = 1.0 + $var46;
            nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, var$51, $var33);
            $var9 = $var28;
            $var33 = $var28 * $var29 / 4.0 + $var6 + $var34;
            nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, var$51, $var33);
            nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, $var13, $var33);
            nlea_Tessellator_setTranslation($var8, 0.0, 0.0, 0.0);
            while (true) {
                $var21 = $var21 + 1 | 0;
                while ($var21 > ($var43 + $var16 | 0)) {
                    $var20 = $var20 + 1 | 0;
                    if ($var20 > ($var45 + $var16 | 0))
                        break b;
                    $var21 = $var43 - $var16 | 0;
                }
                $var22 = ((((($var20 - $var45 | 0) + 16 | 0) * 32 | 0) + $var21 | 0) - $var43 | 0) + 16 | 0;
                $var23 = $this.$rainXCoords.data[$var22] * 0.5;
                $var24 = $this.$rainYCoords.data[$var22] * 0.5;
                $var25 = nms_World_getBiomeGenForCoords($var42, $var21, $var20);
                if (!nms_BiomeGenBase_canSpawnLightningBolt($var25) && !nms_BiomeGenBase_getEnableSnow($var25))
                    continue;
                $var26 = nms_World_getPrecipitationHeight($var42, $var21, $var20);
                $var27 = $var44 - $var16 | 0;
                $var28 = $var44 + $var16 | 0;
                if ($var27 < $var26)
                    $var27 = $var26;
                if ($var28 < $var26)
                    $var28 = $var26;
                $var29 = 1.0;
                if ($var26 < $var15)
                    $var26 = $var15;
                if ($var27 == $var28)
                    continue;
                var$38 = $this.$random0;
                $var22 = $rt_imul($var21, $var21) * 3121 | 0;
                $var3 = $rt_imul($var21, 45238971);
                $var4 = $var22 + $var3 | 0;
                var$39 = $rt_imul($rt_imul($var20, $var20), 418711);
                var$40 = $var20 * 13761 | 0;
                nle_EaglercraftRandom_setSeed(var$38, Long_fromInt($var4 ^ (var$39 + var$40 | 0)));
                if (nms_BiomeGenBase_getFloatTemperature($var25) < 0.15000000596046448)
                    break;
                if ($var18) {
                    if ($var18 >= 0)
                        nlea_Tessellator_draw($var8);
                    $var18 = 0;
                    $var25 = nms_EntityRenderer_rain;
                    $ptr = 2;
                    continue main;
                }
                $var32_0 = ((((((($ticks + $var22 | 0) + $var3 | 0) + var$39 | 0) + var$40 | 0) & 31) % 100000 | 0) + $par1) / 32.0 * (3.0 + nle_EaglercraftRandom_nextFloat($this.$random0));
                $var29_0 = $var21;
                $var33 = $var29_0 + 0.5 - $var41.$posX;
                $var32 = $var20;
                $var35 = $var32 + 0.5 - $var41.$posZ;
                $var37 = nms_MathHelper_sqrt_double($var33 * $var33 + $var35 * $var35) / $var16;
                nlea_Tessellator_setBrightness($var8, nms_World_getLightBrightnessForSkyBlocks($var42, $var21, $var26, $var20, 0));
                nlea_Tessellator_setColorRGBA_F($var8, 1.0, 1.0, 1.0, ((1.0 - $var37 * $var37) * 0.5 + 0.5) * $var2);
                nlea_Tessellator_setTranslation($var8, var$25, var$26, var$27);
                $var35 = $var29_0 - $var23 + 0.5;
                $var9 = $var27;
                $var11 = $var32 - $var24 + 0.5;
                $var46 = $var27 * $var29 / 4.0;
                $var34 = $var32_0 * $var29;
                $var33 = $var46 + $var34;
                nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, 0.0, $var33);
                $var47 = $var29_0 + $var23 + 0.5;
                var$49 = $var32 + $var24 + 0.5;
                nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, 1.0, $var33);
                $var9 = $var28;
                $var33 = $var28 * $var29 / 4.0 + $var34;
                nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, 1.0, $var33);
                nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, 0.0, $var33);
                nlea_Tessellator_setTranslation($var8, 0.0, 0.0, 0.0);
            }
            if ($var18 != 1) {
                if ($var18 >= 0)
                    nlea_Tessellator_draw($var8);
                $var18 = 1;
                $var25 = nms_EntityRenderer_snow;
                continue main;
            }
        }
        if ($var18 >= 0)
            nlea_Tessellator_draw($var8);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
        nms_EntityRenderer_disableLightmap($this, var$3);
        return;
    case 2:
        nle_TextureLocation_bindTexture($var25);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_startDrawingQuads($var8);
        b: while (true) {
            $var32_0 = ((((((($ticks + $var22 | 0) + $var3 | 0) + var$39 | 0) + var$40 | 0) & 31) % 100000 | 0) + $par1) / 32.0 * (3.0 + nle_EaglercraftRandom_nextFloat($this.$random0));
            $var29_0 = $var21;
            $var33 = $var29_0 + 0.5 - $var41.$posX;
            $var32 = $var20;
            $var35 = $var32 + 0.5 - $var41.$posZ;
            $var37 = nms_MathHelper_sqrt_double($var33 * $var33 + $var35 * $var35) / $var16;
            nlea_Tessellator_setBrightness($var8, nms_World_getLightBrightnessForSkyBlocks($var42, $var21, $var26, $var20, 0));
            nlea_Tessellator_setColorRGBA_F($var8, 1.0, 1.0, 1.0, ((1.0 - $var37 * $var37) * 0.5 + 0.5) * $var2);
            nlea_Tessellator_setTranslation($var8, var$25, var$26, var$27);
            $var35 = $var29_0 - $var23 + 0.5;
            $var9 = $var27;
            $var11 = $var32 - $var24 + 0.5;
            $var46 = $var27 * $var29 / 4.0;
            $var34 = $var32_0 * $var29;
            $var33 = $var46 + $var34;
            nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, 0.0, $var33);
            $var47 = $var29_0 + $var23 + 0.5;
            var$49 = $var32 + $var24 + 0.5;
            nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, 1.0, $var33);
            $var9 = $var28;
            $var33 = $var28 * $var29 / 4.0 + $var34;
            nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, 1.0, $var33);
            nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, 0.0, $var33);
            nlea_Tessellator_setTranslation($var8, 0.0, 0.0, 0.0);
            while (true) {
                $var21 = $var21 + 1 | 0;
                while ($var21 > ($var43 + $var16 | 0)) {
                    $var20 = $var20 + 1 | 0;
                    if ($var20 > ($var45 + $var16 | 0))
                        break b;
                    $var21 = $var43 - $var16 | 0;
                }
                $var22 = ((((($var20 - $var45 | 0) + 16 | 0) * 32 | 0) + $var21 | 0) - $var43 | 0) + 16 | 0;
                $var23 = $this.$rainXCoords.data[$var22] * 0.5;
                $var24 = $this.$rainYCoords.data[$var22] * 0.5;
                $var25 = nms_World_getBiomeGenForCoords($var42, $var21, $var20);
                if (!nms_BiomeGenBase_canSpawnLightningBolt($var25) && !nms_BiomeGenBase_getEnableSnow($var25))
                    continue;
                $var26 = nms_World_getPrecipitationHeight($var42, $var21, $var20);
                $var27 = $var44 - $var16 | 0;
                $var28 = $var44 + $var16 | 0;
                if ($var27 < $var26)
                    $var27 = $var26;
                if ($var28 < $var26)
                    $var28 = $var26;
                $var29 = 1.0;
                if ($var26 < $var15)
                    $var26 = $var15;
                if ($var27 == $var28)
                    continue;
                var$38 = $this.$random0;
                $var22 = $rt_imul($var21, $var21) * 3121 | 0;
                $var3 = $rt_imul($var21, 45238971);
                $var4 = $var22 + $var3 | 0;
                var$39 = $rt_imul($rt_imul($var20, $var20), 418711);
                var$40 = $var20 * 13761 | 0;
                nle_EaglercraftRandom_setSeed(var$38, Long_fromInt($var4 ^ (var$39 + var$40 | 0)));
                if (nms_BiomeGenBase_getFloatTemperature($var25) >= 0.15000000596046448)
                    break;
                if ($var18 != 1) {
                    if ($var18 >= 0)
                        nlea_Tessellator_draw($var8);
                    $var18 = 1;
                    $var25 = nms_EntityRenderer_snow;
                    $ptr = 1;
                    continue main;
                }
                $var46 = nle_EaglercraftRandom_nextFloat($this.$random0) + $var5 * nle_EaglercraftRandom_nextGaussian($this.$random0);
                $var34 = nle_EaglercraftRandom_nextFloat($this.$random0) + $var19 * nle_EaglercraftRandom_nextGaussian($this.$random0) * 0.0010000000474974513;
                $var29_0 = $var21;
                $var35 = $var29_0 + 0.5 - $var41.$posX;
                $var32_0 = $var20;
                $var47 = $var32_0 + 0.5 - $var41.$posZ;
                $var39 = nms_MathHelper_sqrt_double($var35 * $var35 + $var47 * $var47) / $var16;
                nlea_Tessellator_setBrightness($var8, ((nms_World_getLightBrightnessForSkyBlocks($var42, $var21, $var26, $var20, 0) * 3 | 0) + 15728880 | 0) / 4 | 0);
                nlea_Tessellator_setColorRGBA_F($var8, 1.0, 1.0, 1.0, ((1.0 - $var39 * $var39) * 0.30000001192092896 + 0.5) * $var2);
                nlea_Tessellator_setTranslation($var8, var$25, var$26, var$27);
                $var35 = $var29_0 - $var23 + 0.5;
                $var9 = $var27;
                $var11 = $var32_0 - $var24 + 0.5;
                $var13 = 0.0 + $var46;
                $var33 = $var27 * $var29 / 4.0 + $var6 + $var34;
                nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, $var13, $var33);
                $var47 = $var29_0 + $var23 + 0.5;
                var$49 = $var32_0 + $var24 + 0.5;
                var$51 = 1.0 + $var46;
                nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, var$51, $var33);
                $var9 = $var28;
                $var33 = $var28 * $var29 / 4.0 + $var6 + $var34;
                nlea_Tessellator_addVertexWithUV($var8, $var47, $var9, var$49, var$51, $var33);
                nlea_Tessellator_addVertexWithUV($var8, $var35, $var9, $var11, $var13, $var33);
                nlea_Tessellator_setTranslation($var8, 0.0, 0.0, 0.0);
            }
            if ($var18) {
                if ($var18 >= 0)
                    nlea_Tessellator_draw($var8);
                $var18 = 0;
                $var25 = nms_EntityRenderer_rain;
                continue main;
            }
        }
        if ($var18 >= 0)
            nlea_Tessellator_draw($var8);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
        nms_EntityRenderer_disableLightmap($this, var$3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, var$3, $var3, $var4, $var5, $var6, $var7, var$9, $var45, $var41, $var42, $var43, $var44, $var8, $var9, $var11, $var13, $var15, $var16, $var18, $ticks, $var19, $var20, var$25, var$26, var$27, $var32, $var21, $var22, $var23, $var24, $var25, $var26, $var27, $var28, $var29, var$38, var$39, var$40, $var32_0, $var29_0, $var33, $var35, $var37, $var46, $var34, $var47, var$49, $var39, var$51, $ptr);
}
function nms_EntityRenderer_setupOverlayRendering($this) {
    var $var1;
    $var1 = nms_ScaledResolution__init_($this.$mc5.$gameSettings, $this.$mc5.$displayWidth, $this.$mc5.$displayHeight);
    nleg_EaglerAdapterGL30_glClear(256);
    nleg_EaglerAdapterGL30_glMatrixMode(5889);
    nleg_EaglerAdapterGL30_glLoadIdentity();
    nleg_EaglerAdapterGL30_glOrtho(0.0, $var1.$scaledWidth, $var1.$scaledHeight, 0.0, 1000.0, 3000.0);
    nleg_EaglerAdapterGL30_glMatrixMode(5888);
    nleg_EaglerAdapterGL30_glLoadIdentity();
    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-2000.0));
}
function nms_EntityRenderer_updateFogColor($this, $par1) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var22, $var20, $var19, $var21, $var13, $var14, $var16, $var23, $var17, $var18;
    $var2 = $this.$mc5.$theWorld;
    $var3 = $this.$mc5.$renderViewEntity;
    $var4 = 1.0 - jl_Math_pow(1.0 / (4 - $this.$mc5.$gameSettings.$renderDistance | 0), 0.25);
    $var5 = nms_World_getSkyColor($var2, $this.$mc5.$renderViewEntity, $par1);
    $var6 = $var5.$xCoord;
    $var7 = $var5.$yCoord;
    $var8 = $var5.$zCoord;
    $var9 = nms_World_getFogColor($var2, $par1);
    $this.$fogColorRed = $var9.$xCoord;
    $this.$fogColorGreen = $var9.$yCoord;
    $this.$fogColorBlue = $var9.$zCoord;
    if ($this.$mc5.$gameSettings.$renderDistance < 2) {
        $var10 = nms_MathHelper_sin(nms_World_getCelestialAngleRadians($var2, $par1)) <= 0.0 ? nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($var2), 1.0, 0.0, 0.0) : nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($var2), (-1.0), 0.0, 0.0);
        $var11 = nms_Vec3_dotProduct(nms_EntityLiving_getLook($var3, $par1), $var10);
        if ($var11 < 0.0)
            $var11 = 0.0;
        if ($var11 > 0.0) {
            $var12 = $var2.$provider.$calcSunriseSunsetColors(nms_World_getCelestialAngle($var2, $par1), $par1);
            if ($var12 !== null) {
                $var12 = $var12.data;
                $var22 = $var11 * $var12[3];
                $var20 = $this.$fogColorRed;
                $var11 = 1.0 - $var22;
                $this.$fogColorRed = $var20 * $var11 + $var12[0] * $var22;
                $this.$fogColorGreen = $this.$fogColorGreen * $var11 + $var12[1] * $var22;
                $this.$fogColorBlue = $this.$fogColorBlue * $var11 + $var12[2] * $var22;
            }
        }
    }
    $this.$fogColorRed = $this.$fogColorRed + ($var6 - $this.$fogColorRed) * $var4;
    $this.$fogColorGreen = $this.$fogColorGreen + ($var7 - $this.$fogColorGreen) * $var4;
    $this.$fogColorBlue = $this.$fogColorBlue + ($var8 - $this.$fogColorBlue) * $var4;
    $var19 = nms_World_getRainStrength($var2, $par1);
    if ($var19 > 0.0) {
        $var11 = 1.0 - $var19 * 0.5;
        $var20 = 1.0 - $var19 * 0.4000000059604645;
        $this.$fogColorRed = $this.$fogColorRed * $var11;
        $this.$fogColorGreen = $this.$fogColorGreen * $var11;
        $this.$fogColorBlue = $this.$fogColorBlue * $var20;
    }
    $var11 = nms_World_getWeightedThunderStrength($var2, $par1);
    if ($var11 > 0.0) {
        $var20 = 1.0 - $var11 * 0.5;
        $this.$fogColorRed = $this.$fogColorRed * $var20;
        $this.$fogColorGreen = $this.$fogColorGreen * $var20;
        $this.$fogColorBlue = $this.$fogColorBlue * $var20;
    }
    a: {
        $var21 = nms_ActiveRenderInfo_getBlockIdAtEntityViewpoint($this.$mc5.$theWorld, $var3, $par1);
        if ($this.$cloudFog) {
            $var13 = nms_World_getCloudColour($var2, $par1);
            $this.$fogColorRed = $var13.$xCoord;
            $this.$fogColorGreen = $var13.$yCoord;
            $this.$fogColorBlue = $var13.$zCoord;
        } else {
            if ($var21) {
                nms_Block_$callClinit();
                $var13 = nms_Block_blocksList.data[$var21].$blockMaterial;
                nms_Material_$callClinit();
                if ($var13 === nms_Material_water) {
                    $this.$fogColorRed = 0.019999999552965164;
                    $this.$fogColorGreen = 0.019999999552965164;
                    $this.$fogColorBlue = 0.20000000298023224;
                    break a;
                }
            }
            if ($var21) {
                nms_Block_$callClinit();
                $var13 = nms_Block_blocksList.data[$var21].$blockMaterial;
                nms_Material_$callClinit();
                if ($var13 === nms_Material_lava) {
                    $this.$fogColorRed = 0.6000000238418579;
                    $this.$fogColorGreen = 0.10000000149011612;
                    $this.$fogColorBlue = 0.0;
                }
            }
        }
    }
    $var22 = $this.$fogColor2 + ($this.$fogColor1 - $this.$fogColor2) * $par1;
    $this.$fogColorRed = $this.$fogColorRed * $var22;
    $this.$fogColorGreen = $this.$fogColorGreen * $var22;
    $this.$fogColorBlue = $this.$fogColorBlue * $var22;
    $var14 = ($var3.$lastTickPosY + ($var3.$posY - $var3.$lastTickPosY) * $par1) * nms_WorldProvider_getVoidFogYFactor($var2.$provider);
    if (nms_EntityLiving_isPotionActive($var3, nms_Potion_blindness)) {
        $var16 = nms_PotionEffect_getDuration(nms_EntityLiving_getActivePotionEffect($var3, nms_Potion_blindness));
        $var14 = $var16 >= 20 ? 0.0 : $var14 * (1.0 - $var16 / 20.0);
    }
    if ($var14 < 1.0) {
        if ($var14 < 0.0)
            $var14 = 0.0;
        $var14 = $var14 * $var14;
        $this.$fogColorRed = $this.$fogColorRed * $var14;
        $this.$fogColorGreen = $this.$fogColorGreen * $var14;
        $this.$fogColorBlue = $this.$fogColorBlue * $var14;
    }
    if ($this.$field_82831_U > 0.0) {
        $var23 = $this.$field_82832_V + ($this.$field_82831_U - $this.$field_82832_V) * $par1;
        $var22 = $this.$fogColorRed;
        $var20 = 1.0 - $var23;
        $this.$fogColorRed = $var22 * $var20 + $this.$fogColorRed * 0.699999988079071 * $var23;
        $this.$fogColorGreen = $this.$fogColorGreen * $var20 + $this.$fogColorGreen * 0.6000000238418579 * $var23;
        $this.$fogColorBlue = $this.$fogColorBlue * $var20 + $this.$fogColorBlue * 0.6000000238418579 * $var23;
    }
    if (nms_EntityLiving_isPotionActive($var3, nms_Potion_nightVision)) {
        $var23 = nms_EntityRenderer_getNightVisionBrightness($this, $this.$mc5.$thePlayer, $par1);
        $var17 = 1.0 / $this.$fogColorRed;
        if ($var17 > 1.0 / $this.$fogColorGreen)
            $var17 = 1.0 / $this.$fogColorGreen;
        if ($var17 > 1.0 / $this.$fogColorBlue)
            $var17 = 1.0 / $this.$fogColorBlue;
        $par1 = $this.$fogColorRed;
        $var22 = 1.0 - $var23;
        $this.$fogColorRed = $par1 * $var22 + $this.$fogColorRed * $var17 * $var23;
        $this.$fogColorGreen = $this.$fogColorGreen * $var22 + $this.$fogColorGreen * $var17 * $var23;
        $this.$fogColorBlue = $this.$fogColorBlue * $var22 + $this.$fogColorBlue * $var17 * $var23;
    }
    if ($this.$mc5.$gameSettings.$anaglyph) {
        $var23 = ($this.$fogColorRed * 30.0 + $this.$fogColorGreen * 59.0 + $this.$fogColorBlue * 11.0) / 100.0;
        $var17 = ($this.$fogColorRed * 30.0 + $this.$fogColorGreen * 70.0) / 100.0;
        $var18 = ($this.$fogColorRed * 30.0 + $this.$fogColorBlue * 70.0) / 100.0;
        $this.$fogColorRed = $var23;
        $this.$fogColorGreen = $var17;
        $this.$fogColorBlue = $var18;
    }
    nleg_EaglerAdapterGL30_glClearColor($this.$fogColorRed, $this.$fogColorGreen, $this.$fogColorBlue, 0.0);
}
function nms_EntityRenderer_setupFog($this, $par1, $par2) {
    var $var3, $var5, $var6, $var7, var$7, $var9, $var13;
    $var3 = $this.$mc5.$renderViewEntity;
    if ($par1 == 999) {
        nleg_EaglerAdapterGL30_glFog(2918, nms_EntityRenderer_setFogColorBuffer($this, 0.0, 0.0, 0.0, 1.0));
        nleg_EaglerAdapterGL30_glFogi(2917, 9729);
        nleg_EaglerAdapterGL30_glFogf(2915, 0.0);
        nleg_EaglerAdapterGL30_glFogf(2916, 8.0);
        nleg_EaglerAdapterGL30_glFogf(2915, 0.0);
    } else {
        a: {
            nleg_EaglerAdapterGL30_glFog(2918, nms_EntityRenderer_setFogColorBuffer($this, $this.$fogColorRed, $this.$fogColorGreen, $this.$fogColorBlue, 1.0));
            nleg_EaglerAdapterGL30_glNormal3f(0.0, (-1.0), 0.0);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            $var5 = nms_ActiveRenderInfo_getBlockIdAtEntityViewpoint($this.$mc5.$theWorld, $var3, $par2);
            if (nms_EntityLiving_isPotionActive($var3, nms_Potion_blindness)) {
                $var6 = 5.0;
                $var7 = nms_EntityLiving_getActivePotionEffect($var3, nms_Potion_blindness).$duration;
                if ($var7 < 20)
                    $var6 = 5.0 + ($this.$farPlaneDistance - 5.0) * (1.0 - $var7 / 20.0);
                nleg_EaglerAdapterGL30_glFogi(2917, 9729);
                if ($par1 >= 0) {
                    nleg_EaglerAdapterGL30_glFogf(2915, $var6 * 0.25);
                    nleg_EaglerAdapterGL30_glFogf(2916, $var6);
                } else {
                    nleg_EaglerAdapterGL30_glFogf(2915, 0.0);
                    nleg_EaglerAdapterGL30_glFogf(2916, $var6 * 0.800000011920929);
                }
            } else if ($this.$cloudFog) {
                nleg_EaglerAdapterGL30_glFogi(2917, 2048);
                nleg_EaglerAdapterGL30_glFogf(2914, 0.10000000149011612);
            } else {
                if ($var5 > 0) {
                    nms_Block_$callClinit();
                    var$7 = nms_Block_blocksList.data[$var5].$blockMaterial;
                    nms_Material_$callClinit();
                    if (var$7 === nms_Material_water) {
                        nleg_EaglerAdapterGL30_glFogi(2917, 2048);
                        if (!nms_EntityLiving_isPotionActive($var3, nms_Potion_waterBreathing))
                            nleg_EaglerAdapterGL30_glFogf(2914, 0.10000000149011612);
                        else
                            nleg_EaglerAdapterGL30_glFogf(2914, 0.05000000074505806);
                        if (!$this.$mc5.$gameSettings.$anaglyph)
                            break a;
                        break a;
                    }
                }
                if ($var5 > 0) {
                    nms_Block_$callClinit();
                    var$7 = nms_Block_blocksList.data[$var5].$blockMaterial;
                    nms_Material_$callClinit();
                    if (var$7 === nms_Material_lava) {
                        nleg_EaglerAdapterGL30_glFogi(2917, 2048);
                        nleg_EaglerAdapterGL30_glFogf(2914, 2.0);
                        if (!$this.$mc5.$gameSettings.$anaglyph)
                            break a;
                        break a;
                    }
                }
                if (!$this.$mc5.$gameSettings.$enableFog)
                    nleg_EaglerAdapterGL30_glDisable(2912);
                else {
                    $var6 = $this.$farPlaneDistance;
                    if (!nms_WorldProvider_getWorldHasVoidParticles($this.$mc5.$theWorld.$provider))
                        $var9 = $var6;
                    else {
                        $var13 = ((nms_EntityPlayer_getBrightnessForRender($var3, $par2) & 15728640) >> 20) / 16.0 + ($var3.$lastTickPosY + ($var3.$posY - $var3.$lastTickPosY) * $par2 + 4.0) / 32.0;
                        if ($var13 >= 1.0)
                            $var9 = $var6;
                        else {
                            if ($var13 < 0.0)
                                $var13 = 0.0;
                            $var9 = 100.0 * $var13 * $var13;
                            if ($var9 < 5.0)
                                $var9 = 5.0;
                            if ($var6 <= $var9)
                                $var9 = $var6;
                        }
                    }
                    nleg_EaglerAdapterGL30_glFogi(2917, 9729);
                    if ($par1 < 0) {
                        nleg_EaglerAdapterGL30_glFogf(2915, 0.0);
                        nleg_EaglerAdapterGL30_glFogf(2916, $var9 * 0.800000011920929);
                    } else {
                        nleg_EaglerAdapterGL30_glFogf(2915, $var9 * 0.25);
                        nleg_EaglerAdapterGL30_glFogf(2916, $var9 * 0.8999999761581421);
                    }
                    if ($this.$mc5.$theWorld.$provider.$doesXZShowFog($var3.$posX | 0, $var3.$posZ | 0)) {
                        nleg_EaglerAdapterGL30_glFogf(2915, $var9 * 0.05000000074505806);
                        nleg_EaglerAdapterGL30_glFogf(2916, jl_Math_min1($var9, 192.0) * 0.5);
                    }
                }
            }
        }
        nleg_EaglerAdapterGL30_glEnable(2903);
    }
}
function nms_EntityRenderer_setFogColorBuffer($this, $par1, $par2, $par3, $par4) {
    jn_FloatBuffer_clear($this.$fogColorBuffer);
    jn_FloatBufferImpl_put(jn_FloatBufferImpl_put(jn_FloatBufferImpl_put(jn_FloatBufferImpl_put($this.$fogColorBuffer, $par1), $par2), $par3), $par4);
    jn_FloatBuffer_flip($this.$fogColorBuffer);
    return $this.$fogColorBuffer;
}
function nms_EntityRenderer_performanceToFps($par0) {
    var $var1;
    $var1 = 240;
    if ($par0 == 1)
        $var1 = 90;
    if ($par0 == 2)
        $var1 = 35;
    return $var1;
}
function nms_EntityRenderer__clinit_() {
    nms_EntityRenderer_anaglyphEnable = 0;
    nms_EntityRenderer_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_EntityRenderer_rain = nle_TextureLocation__init_($rt_s(986));
    nms_EntityRenderer_snow = nle_TextureLocation__init_($rt_s(987));
}
function jt_SimpleDatePatternParser() {
    var a = this; jl_Object.call(a);
    a.$symbols = null;
    a.$locale0 = null;
    a.$elements0 = null;
    a.$index4 = 0;
    a.$pattern3 = null;
}
function jt_SimpleDatePatternParser_getElements($this) {
    return $this.$elements0;
}
function jt_SimpleDatePatternParser_parsePattern($this, $pattern) {
    var $c, $sb, var$4, $rep;
    ju_ArrayList_clear($this.$elements0);
    $this.$pattern3 = $pattern;
    $this.$index4 = 0;
    while ($this.$index4 < jl_String_length($pattern)) {
        a: {
            b: {
                c: {
                    $c = jl_String_charAt($pattern, $this.$index4);
                    switch ($c) {
                        case 39:
                            $this.$index4 = $this.$index4 + 1 | 0;
                            $sb = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($sb);
                            while ($this.$index4 < jl_String_length($this.$pattern3)) {
                                var$4 = $this.$pattern3;
                                $rep = $this.$index4;
                                $this.$index4 = $rep + 1 | 0;
                                $c = jl_String_charAt(var$4, $rep);
                                if ($c != 39)
                                    jl_AbstractStringBuilder_append0($sb, $c);
                                else {
                                    if ($this.$index4 >= jl_String_length($this.$pattern3))
                                        break;
                                    if (jl_String_charAt($this.$pattern3, $this.$index4) != 39)
                                        break;
                                    jl_AbstractStringBuilder_append0($sb, 39);
                                    $this.$index4 = $this.$index4 + 1 | 0;
                                }
                            }
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$ConstantText__init_(jl_AbstractStringBuilder_toString($sb)));
                            break a;
                        case 40:
                        case 41:
                        case 42:
                        case 43:
                        case 44:
                        case 45:
                        case 46:
                        case 47:
                        case 48:
                        case 49:
                        case 50:
                        case 51:
                        case 52:
                        case 53:
                        case 54:
                        case 55:
                        case 56:
                        case 57:
                        case 58:
                        case 59:
                        case 60:
                        case 61:
                        case 62:
                        case 63:
                        case 64:
                        case 65:
                        case 66:
                        case 67:
                        case 73:
                        case 74:
                        case 78:
                        case 79:
                        case 80:
                        case 81:
                        case 82:
                        case 84:
                        case 85:
                        case 86:
                        case 91:
                        case 92:
                        case 93:
                        case 94:
                        case 95:
                        case 96:
                        case 98:
                        case 101:
                        case 102:
                        case 103:
                        case 105:
                        case 106:
                        case 108:
                        case 110:
                        case 111:
                        case 112:
                        case 113:
                        case 114:
                        case 116:
                        case 118:
                        case 120:
                            break b;
                        case 68:
                            break;
                        case 69:
                        case 99:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$WeekdayText__init_($this.$symbols, $rep > 3 ? 0 : 1));
                            break a;
                        case 70:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(8, $rep));
                            break a;
                        case 71:
                            jt_SimpleDatePatternParser_parseRepetitions($this);
                            $sb = $this.$elements0;
                            var$4 = new jt_DateFormatElement$EraText;
                            var$4.$eras0 = jt_DateFormatSymbols_getEras($this.$symbols);
                            ju_ArrayList_add($sb, var$4);
                            break a;
                        case 72:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(11, $rep));
                            break a;
                        case 75:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(10, $rep));
                            break a;
                        case 76:
                        case 77:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            if ($rep <= 2) {
                                ju_ArrayList_add($this.$elements0, jt_DateFormatElement$NumericMonth__init_($rep));
                                break a;
                            }
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$MonthText__init_($this.$symbols, $rep != 3 ? 0 : 1));
                            break a;
                        case 83:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(14, $rep));
                            break a;
                        case 87:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(4, $rep));
                            break a;
                        case 88:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            if ($rep > 3) {
                                $pattern = new jl_IllegalArgumentException;
                                $sb = new jl_StringBuilder;
                                jl_AbstractStringBuilder__init_($sb);
                                jl_AbstractStringBuilder_append($sb, $rt_s(988));
                                jl_IllegalArgumentException__init_2($pattern, jl_StringBuilder_toString(jl_StringBuilder_append1($sb, $this.$index4)));
                                $rt_throw($pattern);
                            }
                            $sb = $this.$elements0;
                            var$4 = new jt_DateFormatElement$Iso8601Timezone;
                            var$4.$size6 = $rep;
                            ju_ArrayList_add($sb, var$4);
                            break a;
                        case 89:
                        case 121:
                            break c;
                        case 90:
                            jt_SimpleDatePatternParser_parseRepetitions($this);
                            $sb = $this.$elements0;
                            var$4 = new jt_DateFormatElement$Rfc822Timezone;
                            jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale0);
                            ju_ArrayList_add($sb, var$4);
                            break a;
                        case 97:
                            jt_SimpleDatePatternParser_parseRepetitions($this);
                            $sb = $this.$elements0;
                            var$4 = new jt_DateFormatElement$AmPmText;
                            var$4.$ampms0 = jt_DateFormatSymbols_getAmPmStrings($this.$symbols);
                            ju_ArrayList_add($sb, var$4);
                            break a;
                        case 100:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(5, $rep));
                            break a;
                        case 104:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$NumericHour__init_(10, $rep, 12));
                            break a;
                        case 107:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$NumericHour__init_(11, $rep, 24));
                            break a;
                        case 109:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(12, $rep));
                            break a;
                        case 115:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(13, $rep));
                            break a;
                        case 117:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            $sb = $this.$elements0;
                            var$4 = new jt_DateFormatElement$NumericWeekday;
                            jt_DateFormatElement$Numeric__init_0(var$4, 7, $rep);
                            ju_ArrayList_add($sb, var$4);
                            break a;
                        case 119:
                            $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                            ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(3, $rep));
                            break a;
                        case 122:
                            jt_SimpleDatePatternParser_parseRepetitions($this);
                            $sb = $this.$elements0;
                            var$4 = new jt_DateFormatElement$GeneralTimezone;
                            jt_DateFormatElement$BaseTimezone__init_(var$4, $this.$locale0);
                            ju_ArrayList_add($sb, var$4);
                            break a;
                        default:
                            break b;
                    }
                    $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                    ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(6, $rep));
                    break a;
                }
                $rep = jt_SimpleDatePatternParser_parseRepetitions($this);
                if ($rep != 2) {
                    ju_ArrayList_add($this.$elements0, jt_DateFormatElement$Numeric__init_(1, $rep));
                    break a;
                }
                $sb = $this.$elements0;
                var$4 = new jt_DateFormatElement$Year;
                var$4.$field = 1;
                ju_ArrayList_add($sb, var$4);
                break a;
            }
            if (jt_SimpleDatePatternParser_isControl($this, $c))
                jt_SimpleDatePatternParser_parseRepetitions($this);
            else {
                $sb = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($sb);
                while ($this.$index4 < jl_String_length($pattern) && !jt_SimpleDatePatternParser_isControl($this, jl_String_charAt($pattern, $this.$index4))) {
                    $rep = $this.$index4;
                    $this.$index4 = $rep + 1 | 0;
                    jl_AbstractStringBuilder_append0($sb, jl_String_charAt($pattern, $rep));
                }
                ju_ArrayList_add($this.$elements0, jt_DateFormatElement$ConstantText__init_(jl_AbstractStringBuilder_toString($sb)));
            }
        }
    }
}
function jt_SimpleDatePatternParser_isControl($this, $c) {
    a: {
        b: {
            if ($c != 39 && !($c >= 97 && $c <= 122)) {
                if ($c < 65)
                    break b;
                if ($c > 90)
                    break b;
            }
            $c = 1;
            break a;
        }
        $c = 0;
    }
    return $c;
}
function jt_SimpleDatePatternParser_parseRepetitions($this) {
    var $count, var$2, var$3, $orig;
    $count = 1;
    var$2 = $this.$pattern3;
    var$3 = $this.$index4;
    $this.$index4 = var$3 + 1 | 0;
    $orig = jl_String_charAt(var$2, var$3);
    while ($this.$index4 < jl_String_length($this.$pattern3) && jl_String_charAt($this.$pattern3, $this.$index4) == $orig) {
        $this.$index4 = $this.$index4 + 1 | 0;
        $count = $count + 1 | 0;
    }
    return $count;
}
function jt_DateFormatElement() {
    jl_Object.call(this);
}
function jnc_CodingErrorAction() {
    jl_Object.call(this);
    this.$name9 = null;
}
var jnc_CodingErrorAction_IGNORE = null;
var jnc_CodingErrorAction_REPLACE = null;
var jnc_CodingErrorAction_REPORT = null;
function jnc_CodingErrorAction__init_(var_0) {
    var var_1 = new jnc_CodingErrorAction();
    jnc_CodingErrorAction__init_0(var_1, var_0);
    return var_1;
}
function jnc_CodingErrorAction__init_0($this, $name) {
    $this.$name9 = $name;
}
function jnc_CodingErrorAction__clinit_() {
    jnc_CodingErrorAction_IGNORE = jnc_CodingErrorAction__init_($rt_s(989));
    jnc_CodingErrorAction_REPLACE = jnc_CodingErrorAction__init_($rt_s(990));
    jnc_CodingErrorAction_REPORT = jnc_CodingErrorAction__init_($rt_s(991));
}
function nms_AABBPool() {
    var a = this; jl_Object.call(a);
    a.$maxNumCleans = 0;
    a.$numEntriesToRemove = 0;
    a.$listAABB = null;
    a.$nextPoolIndex = 0;
    a.$maxPoolIndex = 0;
    a.$numCleans = 0;
}
function nms_AABBPool_getAABB($this, $par1, $par3, $par5, $par7, $par9, $par11) {
    var $var13;
    if ($this.$nextPoolIndex >= $this.$listAABB.$size) {
        $var13 = nms_AxisAlignedBB__init_($par1, $par3, $par5, $par7, $par9, $par11);
        ju_ArrayList_add($this.$listAABB, $var13);
    } else {
        $var13 = ju_ArrayList_get($this.$listAABB, $this.$nextPoolIndex);
        nms_AxisAlignedBB_setBounds($var13, $par1, $par3, $par5, $par7, $par9, $par11);
    }
    $this.$nextPoolIndex = $this.$nextPoolIndex + 1 | 0;
    return $var13;
}
function nms_AABBPool_cleanPool($this) {
    var var$1, $var1;
    if ($this.$nextPoolIndex > $this.$maxPoolIndex)
        $this.$maxPoolIndex = $this.$nextPoolIndex;
    var$1 = $this.$numCleans;
    $this.$numCleans = var$1 + 1 | 0;
    if (var$1 == $this.$maxNumCleans) {
        $var1 = jl_Math_max($this.$maxPoolIndex, $this.$listAABB.$size - $this.$numEntriesToRemove | 0);
        while ($this.$listAABB.$size > $var1) {
            ju_ArrayList_remove($this.$listAABB, $var1);
        }
        $this.$maxPoolIndex = 0;
        $this.$numCleans = 0;
    }
    $this.$nextPoolIndex = 0;
}
function nms_RenderEngine() {
    var a = this; jl_Object.call(a);
    a.$textureMap = null;
    a.$textureContentsMap = null;
    a.$textureNameToImageMap = null;
    a.$imageData = null;
    a.$urlToImageDataMap = null;
    a.$options = null;
    a.$texturePack = null;
    a.$missingTextureImage = null;
    a.$textureMapBlocks = null;
    a.$textureMapItems = null;
    a.$boundTexture = 0;
}
function nms_RenderEngine_getTextureContents($this, $par1Str) {
    var $var3, $var7, $var4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var7 = $thread.pop();$var3 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = ju_HashMap_get($this.$textureContentsMap, $par1Str);
        if ($var3 !== null)
            return $var3;
        $var7 = nlea_EaglerAdapterImpl2_loadResourceBytes($par1Str);
        if ($var7 === null) {
            $var4 = $this.$missingTextureImage.$data;
            ju_HashMap_putImpl($this.$textureContentsMap, $par1Str, $var4);
            return $var4;
        }
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_loadPNG($var7);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $tmp;
        $var4 = var$5.$data;
        ju_HashMap_putImpl($this.$textureContentsMap, $par1Str, $var4);
        return $var4;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $var3, $var7, $var4, var$5, $ptr);
}
function nms_RenderEngine_bindTexture0($this, $par1Str) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_RenderEngine_getTexture($this, $par1Str);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        nms_RenderEngine_bindTexture($this, var$2);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, var$2, $ptr);
}
function nms_RenderEngine_bindTexture($this, $par1) {
    if ($par1 != $this.$boundTexture) {
        nleg_EaglerAdapterGL30_glBindTexture(3553, $par1);
        $this.$boundTexture = $par1;
    }
}
function nms_RenderEngine_resetBoundTexture($this) {
    $this.$boundTexture = (-1);
}
function nms_RenderEngine_getTexture($this, $par1Str) {
    var $var2, var$3, $var3, $var9, $var5, $var7, $var4, $var6, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var9 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (jl_String_equals($par1Str, $rt_s(985)))
            return $this.$textureMapBlocks.$texture;
        if (jl_String_equals($par1Str, $rt_s(992))) {
            nms_Texture_bindTexture($this.$textureMapItems.$atlasTexture, 0);
            return $this.$textureMapItems.$atlasTexture.$glTextureId;
        }
        $var2 = ju_HashMap_get($this.$textureMap, $par1Str);
        if ($var2 !== null)
            return $var2.$value;
        try {
            var$3 = $par1Str;
            $var3 = nms_GLAllocation_generateTextureNames();
            $var9 = jl_String_startsWith0($par1Str, $rt_s(993));
            if (!$var9)
                $var2 = $par1Str;
            else {
                var$3 = $par1Str;
                $var2 = jl_String_substring($par1Str, 6);
                var$3 = $var2;
            }
            var$3 = $var2;
            $var5 = jl_String_startsWith0($var2, $rt_s(994));
            if ($var5) {
                var$3 = $var2;
                $var2 = jl_String_substring($var2, 7);
                var$3 = $var2;
            }
            var$3 = $var2;
            $var7 = $this.$texturePack;
            $ptr = 1;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var7 = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace($var7);
        $var4 = nms_GLAllocation_generateTextureNames();
        nms_RenderEngine_setupTexture($this, $this.$missingTextureImage, $var4);
        ju_HashMap_putImpl($this.$textureMap, var$3, jl_Integer_valueOf($var4));
        return $var4;
    case 1:
        a: {
            b: {
                try {
                    $tmp = nms_TexturePackList_getSelectedTexturePack($var7);
                    if ($rt_suspending()) {
                        break main;
                    }
                    $var7 = $tmp;
                    $var6 = nms_TexturePackDefault_getResourceAsBytes($var7, $var2);
                    if ($var6 !== null)
                        break b;
                    var$3 = $var2;
                    nms_RenderEngine_setupTextureExt($this, $this.$missingTextureImage, $var3, $var9, $var5);
                    var$3 = $var2;
                    ju_HashMap_put($this.$textureMap, $par1Str, jl_Integer_valueOf($var3));
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var7 = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $var3;
            }
            try {
                var$3 = $var2;
                $ptr = 2;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var7 = $$je;
                } else {
                    throw $$e;
                }
            }
        }
        jl_Throwable_printStackTrace($var7);
        $var4 = nms_GLAllocation_generateTextureNames();
        nms_RenderEngine_setupTexture($this, $this.$missingTextureImage, $var4);
        ju_HashMap_putImpl($this.$textureMap, var$3, jl_Integer_valueOf($var4));
        return $var4;
    case 2:
        a: {
            try {
                $tmp = nle_EaglerImage_loadImage($var6);
                if ($rt_suspending()) {
                    break main;
                }
                $var7 = $tmp;
                nms_RenderEngine_setupTextureExt($this, $var7, $var3, $var9, $var5);
                var$3 = $var2;
                ju_HashMap_put($this.$textureMap, $par1Str, jl_Integer_valueOf($var3));
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var7 = $$je;
                    break a;
                } else {
                    throw $$e;
                }
            }
            return $var3;
        }
        jl_Throwable_printStackTrace($var7);
        $var4 = nms_GLAllocation_generateTextureNames();
        nms_RenderEngine_setupTexture($this, $this.$missingTextureImage, $var4);
        ju_HashMap_putImpl($this.$textureMap, var$3, jl_Integer_valueOf($var4));
        return $var4;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $var2, var$3, $var3, $var9, $var5, $var7, $var4, $var6, $ptr);
}
function nms_RenderEngine_allocateAndSetupTexture($this, $par1BufferedImage) {
    var $var2;
    $var2 = nms_GLAllocation_generateTextureNames();
    nms_RenderEngine_setupTexture($this, $par1BufferedImage, $var2);
    nms_IntHashMap_addKey($this.$textureNameToImageMap, $var2, $par1BufferedImage);
    return $var2;
}
function nms_RenderEngine_setupTexture($this, $par1BufferedImage, $par2) {
    nms_RenderEngine_setupTextureExt($this, $par1BufferedImage, $par2, 0, 0);
}
function nms_RenderEngine_makeViewportTexture($this, $w, $h) {
    var $t, var$4;
    $t = nleg_EaglerAdapterGL30_glGenTextures();
    nms_RenderEngine_bindTexture($this, $t);
    var$4 = $this.$imageData;
    jn_Buffer_position0(var$4, 0);
    jn_Buffer_limit0(var$4, $rt_imul($w, $h));
    var$4 = $this.$imageData;
    if (!nleg_EaglerAdapterGL30_selectedTex && nleg_EaglerAdapterGL30_boundTexture0 !== null) {
        nleg_EaglerAdapterGL30_boundTexture0.$w = $w;
        nleg_EaglerAdapterGL30_boundTexture0.$h = $h;
    }
    nleg_EaglerAdapterGL30_bytesUploaded = nleg_EaglerAdapterGL30_bytesUploaded + (jn_Buffer_remaining(var$4) * 4 | 0) | 0;
    nlea_EaglerAdapterImpl2__wglTexImage2D0(3553, 0, 32849, $w, $h, 0, 6407, 5121, var$4);
    nleg_EaglerAdapterGL30_updateAnisotropicPatch();
    return $t;
}
function nms_RenderEngine_setupTextureExt($this, $par1BufferedImage, $par2, $par3, $par4) {
    var $var5, $var6, $var7, var$8;
    nms_RenderEngine_bindTexture($this, $par2);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
    if ($par3) {
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9729);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9729);
    }
    if (!$par4) {
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10242, 10497);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10243, 10497);
    } else {
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10242, 33071);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10243, 33071);
    }
    $var5 = $par1BufferedImage.$w0;
    $var6 = $par1BufferedImage.$h0;
    $var7 = $par1BufferedImage.$data;
    if ($this.$options !== null && $this.$options.$anaglyph)
        $var7 = nms_RenderEngine_colorToAnaglyph($this, $var7);
    var$8 = $var7.data;
    jn_Buffer_clear($this.$imageData);
    jn_IntBuffer_put($this.$imageData, $var7);
    $par1BufferedImage = $this.$imageData;
    jn_Buffer_position0($par1BufferedImage, 0);
    jn_Buffer_limit0($par1BufferedImage, var$8.length);
    nleg_EaglerAdapterGL30_glTexImage2D(3553, 0, 6408, $var5, $var6, 0, 32993, 33639, $this.$imageData);
}
function nms_RenderEngine_setupTextureRaw($this, $data, $w, $h) {
    var $e, $upload, var$6, $i, var$8, var$9;
    $data = $data.data;
    $e = nms_GLAllocation_generateTextureNames();
    nms_RenderEngine_bindTexture($this, $e);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10242, 33071);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10243, 33071);
    jn_Buffer_clear($this.$imageData);
    $upload = $rt_createIntArray($data.length / 4 | 0);
    var$6 = $upload.data;
    $i = 0;
    var$8 = var$6.length;
    while ($i < var$8) {
        var$9 = $i * 4 | 0;
        var$6[$i] = ($data[var$9 + 3 | 0] & 255) << 24 | ($data[var$9 + 2 | 0] & 255) << 16 | ($data[var$9 + 1 | 0] & 255) << 8 | $data[var$9] & 255;
        $i = $i + 1 | 0;
    }
    jn_Buffer_flip(jn_IntBuffer_put($this.$imageData, $upload));
    nleg_EaglerAdapterGL30_glTexImage2D(3553, 0, 6408, $w, $h, 0, 32993, 33639, $this.$imageData);
    return $e;
}
function nms_RenderEngine_colorToAnaglyph($this, $par1ArrayOfInteger) {
    var var$2, $var2, var$4, $var3, $var4, $var5, $var6, $var7, $var10;
    $par1ArrayOfInteger = $par1ArrayOfInteger.data;
    var$2 = $par1ArrayOfInteger.length;
    $var2 = $rt_createIntArray(var$2);
    var$4 = $var2.data;
    $var3 = 0;
    while ($var3 < var$2) {
        $var4 = $par1ArrayOfInteger[$var3] >> 24 & 255;
        $var5 = $par1ArrayOfInteger[$var3] >> 16 & 255;
        $var6 = $par1ArrayOfInteger[$var3] >> 8 & 255;
        $var7 = $par1ArrayOfInteger[$var3] & 255;
        $var10 = $var5 * 30 | 0;
        var$4[$var3] = $var4 << 24 | ((($var10 + ($var6 * 59 | 0) | 0) + ($var7 * 11 | 0) | 0) / 100 | 0) << 16 | (($var10 + ($var6 * 70 | 0) | 0) / 100 | 0) << 8 | (($var10 + ($var7 * 70 | 0) | 0) / 100 | 0);
        $var3 = $var3 + 1 | 0;
    }
    return $var2;
}
function nms_RenderEngine_createTextureFromBytes($this, $par1ArrayOfInteger, $par2, $par3, $par4) {
    var var$5, var$6;
    nms_RenderEngine_bindTexture($this, $par4);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10242, 10497);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10243, 10497);
    if ($this.$options !== null && $this.$options.$anaglyph)
        $par1ArrayOfInteger = nms_RenderEngine_colorToAnaglyph($this, $par1ArrayOfInteger);
    var$5 = $par1ArrayOfInteger.data;
    jn_Buffer_clear($this.$imageData);
    jn_IntBuffer_put($this.$imageData, $par1ArrayOfInteger);
    var$6 = $this.$imageData;
    jn_Buffer_position0(var$6, 0);
    jn_Buffer_limit0(var$6, var$5.length);
    nleg_EaglerAdapterGL30_glTexSubImage2D(3553, 0, 0, 0, $par2, $par3, 32993, 33639, $this.$imageData);
}
function nms_RenderEngine_deleteTexture($this, $par1) {
    nms_IntHashMap_removeObject($this.$textureNameToImageMap, $par1);
    nleg_EaglerAdapterGL30_glDeleteTextures($par1);
}
function nms_RenderEngine_updateDynamicTextures($this) {
    nle_TextureTerrainMap_updateAnimations($this.$textureMapBlocks);
    nms_TextureMap_updateAnimations($this.$textureMapItems);
}
function nms_RenderEngine_refreshTextures($this) {
    var $var2, $var1, $var3, $var11, $var12, $var6, $var7, var$8, $var9, $var8, $var4, $var5, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var8 = $thread.pop();$var9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = ju_AbstractList_iterator(nle_TextureLocation_locations);
        while (ju_AbstractList$1_hasNext($var2)) {
            ju_AbstractList$1_next($var2).$glObject = (-1);
        }
        $var1 = $this.$texturePack.$selectedTexturePack;
        $ptr = 1;
    case 1:
        nms_RenderEngine_refreshTextureMaps($this);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = ju_HashSet_iterator($this.$textureNameToImageMap.$keySet0);
        while ($var2.$hasNext()) {
            $var3 = $var2.$next().$value;
            nms_RenderEngine_setupTexture($this, nms_IntHashMap_lookup($this.$textureNameToImageMap, $var3), $var3);
        }
        $var2 = ju_HashMap_keySet($this.$textureMap).$iterator();
        while ($var2.$hasNext()) {
            $var11 = $var2.$next();
            try {
                $var12 = jl_Integer_intValue(ju_HashMap_get($this.$textureMap, $var11));
                $var6 = jl_String_startsWith0($var11, $rt_s(993));
                if ($var6)
                    $var11 = jl_String_substring($var11, 6);
                $var7 = jl_String_startsWith0($var11, $rt_s(994));
                if ($var7)
                    $var11 = jl_String_substring($var11, 7);
                var$8 = nms_TexturePackDefault_getResourceAsBytes($var1, $var11);
                $ptr = 5;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var9 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var9);
        }
        $var2 = ju_HashMap_keySet($this.$textureContentsMap).$iterator();
        while ($var2.$hasNext()) {
            $var11 = $var2.$next();
            try {
                var$8 = nms_TexturePackDefault_getResourceAsBytes($var1, $var11);
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var8 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var8);
        }
        $var2 = nmc_Minecraft_theMinecraft.$fontRenderer;
        $ptr = 2;
    case 2:
        nms_FontRenderer_readFontData($var2);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = nmc_Minecraft_theMinecraft.$standardGalacticFontRenderer;
        $ptr = 3;
    case 3:
        nms_FontRenderer_readFontData($var2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        a: {
            try {
                $tmp = nlea_EaglerAdapterImpl2_loadPNG(var$8);
                if ($rt_suspending()) {
                    break main;
                }
                $var4 = $tmp;
                if ($var4 === null)
                    $rt_throw(ji_IOException__init_3($rt_s(995)));
                jl_System_arraycopy($var4.$data, 0, ju_HashMap_get($this.$textureContentsMap, $var11), 0, $var4.$data.data.length);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var8 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var8);
        }
        while ($var2.$hasNext()) {
            $var11 = $var2.$next();
            try {
                var$8 = nms_TexturePackDefault_getResourceAsBytes($var1, $var11);
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var8 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var8);
        }
        $var2 = nmc_Minecraft_theMinecraft.$fontRenderer;
        $ptr = 2;
        continue main;
    case 5:
        a: {
            try {
                $tmp = nlea_EaglerAdapterImpl2_loadPNG(var$8);
                if ($rt_suspending()) {
                    break main;
                }
                $var5 = $tmp;
                if ($var5 === null)
                    $rt_throw(ji_IOException__init_3($rt_s(995)));
                nms_RenderEngine_setupTextureExt($this, $var5, $var12, $var6, $var7);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var9 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var9);
        }
        while ($var2.$hasNext()) {
            $var11 = $var2.$next();
            try {
                $var12 = jl_Integer_intValue(ju_HashMap_get($this.$textureMap, $var11));
                $var6 = jl_String_startsWith0($var11, $rt_s(993));
                if ($var6)
                    $var11 = jl_String_substring($var11, 6);
                $var7 = jl_String_startsWith0($var11, $rt_s(994));
                if ($var7)
                    $var11 = jl_String_substring($var11, 7);
                var$8 = nms_TexturePackDefault_getResourceAsBytes($var1, $var11);
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var9 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var9);
        }
        $var2 = ju_HashMap_keySet($this.$textureContentsMap).$iterator();
        while ($var2.$hasNext()) {
            $var11 = $var2.$next();
            try {
                var$8 = nms_TexturePackDefault_getResourceAsBytes($var1, $var11);
                $ptr = 4;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var8 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var8);
        }
        $var2 = nmc_Minecraft_theMinecraft.$fontRenderer;
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var2, $var1, $var3, $var11, $var12, $var6, $var7, var$8, $var9, $var8, $var4, $var5, $ptr);
}
function nms_RenderEngine_refreshTextureMaps($this) {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = $this.$textureMapBlocks;
        $ptr = 1;
    case 1:
        nle_TextureTerrainMap_refreshTextures(var$1);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $this.$textureMapItems;
        $ptr = 2;
    case 2:
        nms_TextureMap_refreshTextures(var$1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $ptr);
}
function nms_RenderEngine_getMissingIcon($this, $par1) {
    a: {
        switch ($par1) {
            case 0:
                break;
            case 1:
                break a;
            default:
                break a;
        }
        return $this.$textureMapBlocks.$missingImage0;
    }
    return $this.$textureMapItems.$missingTextureStiched;
}
function nms_IBlockAccess() {
}
function nms_World() {
    var a = this; jl_Object.call(a);
    a.$scheduledUpdatesAreImmediate = 0;
    a.$loadedEntityList = null;
    a.$unloadedEntityList = null;
    a.$loadedTileEntityList = null;
    a.$addedTileEntityList = null;
    a.$entityRemoval = null;
    a.$playerEntities = null;
    a.$weatherEffects = null;
    a.$cloudColour = Long_ZERO;
    a.$skylightSubtracted = 0;
    a.$updateLCG = 0;
    a.$DIST_HASH_MAGIC = 1013904223;
    a.$prevRainingStrength = 0.0;
    a.$rainingStrength = 0.0;
    a.$prevThunderingStrength = 0.0;
    a.$thunderingStrength = 0.0;
    a.$lastLightningBolt = 0;
    a.$difficultySetting = 0;
    a.$rand = null;
    a.$provider = null;
    a.$worldAccesses = null;
    a.$chunkProvider = null;
    a.$worldInfo = null;
    a.$mapStorage = null;
    a.$theProfiler = null;
    a.$vecPool = null;
    a.$theCalendar = null;
    a.$worldScoreboard = null;
    a.$collidingBoundingBoxes = null;
    a.$scanningTileEntities = 0;
    a.$spawnHostileMobs = 0;
    a.$spawnPeacefulMobs = 0;
    a.$activeChunkSet = null;
    a.$ambientTickCountdown = 0;
    a.$lightUpdateBlockList = null;
    a.$isRemote = 0;
}
function nms_World_getBiomeGenForCoords($this, $par1, $par2) {
    if (!nms_World_blockExists($this, $par1, 0, $par2))
        return nms_BiomeGenBase_ocean;
    return nms_Chunk_getBiomeGenForWorldCoords(nms_World_getChunkFromBlockCoords($this, $par1, $par2), $par1 & 15, $par2 & 15);
}
function nms_World_setSpawnLocation($this) {
    nms_World_setSpawnLocation0($this, 8, 64, 8);
}
function nms_World_getBlockId($this, $par1, $par2, $par3) {
    if ($par1 >= (-30000000) && $par3 >= (-30000000) && $par1 < 30000000 && $par3 < 30000000) {
        if ($par2 < 0)
            return 0;
        if ($par2 >= 256)
            return 0;
        return nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par3 >> 4).$getBlockID($par1 & 15, $par2, $par3 & 15);
    }
    return 0;
}
function nms_World_isAirBlock($this, $par1, $par2, $par3) {
    return nms_World_getBlockId($this, $par1, $par2, $par3) ? 0 : 1;
}
function nms_World_blockGetRenderType($this, $par1, $par2, $par3) {
    var $var4;
    $var4 = nms_World_getBlockId($this, $par1, $par2, $par3);
    nms_Block_$callClinit();
    return nms_Block_blocksList.data[$var4] === null ? (-1) : nms_Block_blocksList.data[$var4].$getRenderType();
}
function nms_World_blockExists($this, $par1, $par2, $par3) {
    return $par2 >= 0 && $par2 < 256 ? nms_World_chunkExists($this, $par1 >> 4, $par3 >> 4) : 0;
}
function nms_World_doChunksNearChunkExist($this, $par1, $par2, $par3, $par4) {
    return nms_World_checkChunksExist($this, $par1 - $par4 | 0, $par2 - $par4 | 0, $par3 - $par4 | 0, $par1 + $par4 | 0, $par2 + $par4 | 0, $par3 + $par4 | 0);
}
function nms_World_checkChunksExist($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    var $var7, $var8;
    if ($par5 >= 0 && $par2 < 256) {
        $var7 = $par1 >> 4;
        $par1 = $par3 >> 4;
        $par2 = $par4 >> 4;
        $par3 = $par6 >> 4;
        while ($var7 <= $par2) {
            $var8 = $par1;
            while ($var8 <= $par3) {
                if (!nms_World_chunkExists($this, $var7, $var8))
                    return 0;
                $var8 = $var8 + 1 | 0;
            }
            $var7 = $var7 + 1 | 0;
        }
        return 1;
    }
    return 0;
}
function nms_World_chunkExists($this, $par1, $par2) {
    return 1;
}
function nms_World_getChunkFromBlockCoords($this, $par1, $par2) {
    return nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par2 >> 4);
}
function nms_World_getChunkFromChunkCoords($this, $par1, $par2) {
    return nms_ChunkProviderClient_provideChunk($this.$chunkProvider, $par1, $par2);
}
function nms_World_setBlock($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    var $var7, $var9, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 >= (-30000000) && $par3 >= (-30000000) && $par1 < 30000000 && $par3 < 30000000) {
            if ($par2 < 0)
                return 0;
            if ($par2 >= 256)
                return 0;
            $var7 = nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par3 >> 4);
            if ($par6 & 1)
                $var7.$getBlockID($par1 & 15, $par2, $par3 & 15);
            $var9 = $par1 & 15;
            var$9 = $par3 & 15;
            $ptr = 1;
            continue main;
        }
        return 0;
    case 1:
        $tmp = $var7.$setBlockIDWithMetadata($var9, $par2, var$9, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = $tmp;
        nms_Profiler_startSection($this.$theProfiler, $rt_s(996));
        nms_World_updateAllLightTypes($this, $par1, $par2, $par3);
        nms_Profiler_endSection($this.$theProfiler);
        if ($var9 && $par6 & 2 && !($par6 & 4))
            nms_World_markBlockForUpdate($this, $par1, $par2, $par3);
        return $var9;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5, $par6, $var7, $var9, var$9, $ptr);
}
function nms_World_getBlockMaterial($this, $par1, $par2, $par3) {
    var $var4, var$5;
    $var4 = nms_World_getBlockId($this, $par1, $par2, $par3);
    if (!$var4) {
        nms_Material_$callClinit();
        var$5 = nms_Material_air;
    } else {
        nms_Block_$callClinit();
        var$5 = nms_Block_blocksList.data[$var4].$blockMaterial;
    }
    return var$5;
}
function nms_World_getBlockMetadata($this, $par1, $par2, $par3) {
    if ($par1 >= (-30000000) && $par3 >= (-30000000) && $par1 < 30000000 && $par3 < 30000000) {
        if ($par2 < 0)
            return 0;
        if ($par2 >= 256)
            return 0;
        return nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par3 >> 4).$getBlockMetadata($par1 & 15, $par2, $par3 & 15);
    }
    return 0;
}
function nms_World_setBlockMetadataWithNotify($this, $par1, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 >= (-30000000) && $par3 >= (-30000000) && $par1 < 30000000 && $par3 < 30000000) {
            if ($par2 < 0)
                return 0;
            if ($par2 >= 256)
                return 0;
            $var6 = nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par3 >> 4);
            $var7 = $par1 & 15;
            $var8 = $par3 & 15;
            $ptr = 1;
            continue main;
        }
        return 0;
    case 1:
        $tmp = $var6.$setBlockMetadata($var7, $par2, $var8, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = $tmp;
        if ($var9) {
            $var6.$getBlockID($var7, $par2, $var8);
            if ($par5 & 2 && !($par5 & 4))
                nms_World_markBlockForUpdate($this, $par1, $par2, $par3);
        }
        return $var9;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5, $var6, $var7, $var8, $var9, $ptr);
}
function nms_World_setBlockToAir($this, $par1, $par2, $par3) {
    var var$4, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = 0;
        var$5 = 0;
        var$6 = 3;
        $ptr = 1;
    case 1:
        $tmp = nms_World_setBlock($this, $par1, $par2, $par3, var$4, var$5, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        return $par1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, var$6, $ptr);
}
function nms_World_destroyBlock($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = nms_World_getBlockId($this, $par1, $par2, $par3);
        if ($var5 <= 0)
            return 0;
        $var6 = nms_World_getBlockMetadata($this, $par1, $par2, $par3);
        var$7 = 2001;
        var$8 = $var5 + ($var6 << 12) | 0;
        $ptr = 1;
    case 1:
        nms_World_playAuxSFX($this, var$7, $par1, $par2, $par3, var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($par4) {
            nms_Block_$callClinit();
            nms_Block_dropBlockAsItem(nms_Block_blocksList.data[$var5], $this, $par1, $par2, $par3, $var6, 0);
        }
        $var6 = 0;
        $par4 = 0;
        $var5 = 3;
        $ptr = 2;
    case 2:
        $tmp = nms_World_setBlock($this, $par1, $par2, $par3, $var6, $par4, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        return $par1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, $var6, var$7, var$8, $ptr);
}
function nms_World_setBlock0($this, $par1, $par2, $par3, $par4) {
    var var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$5 = 0;
        var$6 = 3;
        $ptr = 1;
    case 1:
        $tmp = nms_World_setBlock($this, $par1, $par2, $par3, $par4, var$5, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        return $par1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, var$5, var$6, $ptr);
}
function nms_World_markBlockForUpdate($this, $par1, $par2, $par3) {
    var $var4;
    $var4 = 0;
    while ($var4 < $this.$worldAccesses.$size) {
        nms_RenderGlobal_markBlockForUpdate(ju_ArrayList_get($this.$worldAccesses, $var4), $par1, $par2, $par3);
        $var4 = $var4 + 1 | 0;
    }
}
function nms_World_markBlocksDirtyVertical($this, $par1, $par2, $par3, $par4) {
    var $var5;
    if ($par3 <= $par4) {
        $var5 = $par3;
        $par3 = $par4;
        $par4 = $var5;
    }
    a: {
        if (!$this.$provider.$hasNoSky) {
            $var5 = $par4;
            while (true) {
                if ($var5 > $par3)
                    break a;
                nms_World_updateLightByType($this, nms_EnumSkyBlock_Sky, $par1, $var5, $par2);
                $var5 = $var5 + 1 | 0;
            }
        }
    }
    nms_World_markBlockRangeForRenderUpdate($this, $par1, $par4, $par2, $par1, $par3, $par2);
}
function nms_World_markBlockRangeForRenderUpdate($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    var $var7;
    $var7 = 0;
    while ($var7 < $this.$worldAccesses.$size) {
        nms_RenderGlobal_markBlockRangeForRenderUpdate(ju_ArrayList_get($this.$worldAccesses, $var7), $par1, $par2, $par3, $par4, $par5, $par6);
        $var7 = $var7 + 1 | 0;
    }
}
function nms_World_notifyBlocksOfNeighborChange($this, $par1, $par2, $par3, $par4) {
    return;
}
function nms_World_notifyBlocksOfNeighborChange0($this, $par1, $par2, $par3, $par4, $par5) {
    return;
}
function nms_World_notifyBlockOfNeighborChange($this, $par1, $par2, $par3, $par4) {
    return;
}
function nms_World_isBlockTickScheduled($this, $par1, $par2, $par3, $par4) {
    return 0;
}
function nms_World_canBlockSeeTheSky($this, $par1, $par2, $par3) {
    return nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par3 >> 4).$canBlockSeeTheSky($par1 & 15, $par2, $par3 & 15);
}
function nms_World_getFullBlockLightValue($this, $par1, $par2, $par3) {
    if ($par2 < 0)
        return 0;
    if ($par2 >= 256)
        $par2 = 255;
    return nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par3 >> 4).$getBlockLightValue($par1 & 15, $par2, $par3 & 15, 0);
}
function nms_World_getBlockLightValue($this, $par1, $par2, $par3) {
    return nms_World_getBlockLightValue_do($this, $par1, $par2, $par3, 1);
}
function nms_World_getBlockLightValue_do($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10;
    if ($par1 >= (-30000000) && $par3 >= (-30000000) && $par1 < 30000000 && $par3 < 30000000) {
        if ($par4) {
            $var5 = nms_World_getBlockId($this, $par1, $par2, $par3);
            nms_Block_$callClinit();
            if (nms_Block_useNeighborBrightness.data[$var5]) {
                $var6 = nms_World_getBlockLightValue_do($this, $par1, $par2 + 1 | 0, $par3, 0);
                $var7 = nms_World_getBlockLightValue_do($this, $par1 + 1 | 0, $par2, $par3, 0);
                $var8 = nms_World_getBlockLightValue_do($this, $par1 - 1 | 0, $par2, $par3, 0);
                $var9 = nms_World_getBlockLightValue_do($this, $par1, $par2, $par3 + 1 | 0, 0);
                $var10 = nms_World_getBlockLightValue_do($this, $par1, $par2, $par3 - 1 | 0, 0);
                if ($var7 <= $var6)
                    $var7 = $var6;
                if ($var8 <= $var7)
                    $var8 = $var7;
                if ($var9 <= $var8)
                    $var9 = $var8;
                if ($var10 <= $var9)
                    $var10 = $var9;
                return $var10;
            }
        }
        if ($par2 < 0)
            return 0;
        if ($par2 >= 256)
            $par2 = 255;
        return nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par3 >> 4).$getBlockLightValue($par1 & 15, $par2, $par3 & 15, $this.$skylightSubtracted);
    }
    return 15;
}
function nms_World_getSkyBlockTypeBrightness($this, $par1EnumSkyBlock, $par2, $par3, $par4) {
    var $var5, $var6, $var12, $var8, $var9, $var10, $var11;
    if ($this.$provider.$hasNoSky && $par1EnumSkyBlock === nms_EnumSkyBlock_Sky)
        return 0;
    if ($par3 < 0)
        $par3 = 0;
    if ($par3 >= 256)
        return $par1EnumSkyBlock.$defaultLightValue;
    if ($par2 >= (-30000000) && $par4 >= (-30000000) && $par2 < 30000000 && $par4 < 30000000) {
        $var5 = $par2 >> 4;
        $var6 = $par4 >> 4;
        if (!nms_World_chunkExists($this, $var5, $var6))
            return $par1EnumSkyBlock.$defaultLightValue;
        nms_Block_$callClinit();
        if (!nms_Block_useNeighborBrightness.data[nms_World_getBlockId($this, $par2, $par3, $par4)])
            return nms_World_getChunkFromChunkCoords($this, $var5, $var6).$getSavedLightValue($par1EnumSkyBlock, $par2 & 15, $par3, $par4 & 15);
        $var12 = nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $par2, $par3 + 1 | 0, $par4);
        $var8 = nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $par2 + 1 | 0, $par3, $par4);
        $var9 = nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $par2 - 1 | 0, $par3, $par4);
        $var10 = nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $par2, $par3, $par4 + 1 | 0);
        $var11 = nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $par2, $par3, $par4 - 1 | 0);
        if ($var8 <= $var12)
            $var8 = $var12;
        if ($var9 <= $var8)
            $var9 = $var8;
        if ($var10 <= $var9)
            $var10 = $var9;
        if ($var11 <= $var10)
            $var11 = $var10;
        return $var11;
    }
    return $par1EnumSkyBlock.$defaultLightValue;
}
function nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $par2, $par3, $par4) {
    var $var5, $var6;
    if ($par3 < 0)
        $par3 = 0;
    if ($par3 >= 256)
        $par3 = 255;
    if ($par2 >= (-30000000) && $par4 >= (-30000000) && $par2 < 30000000 && $par4 < 30000000) {
        $var5 = $par2 >> 4;
        $var6 = $par4 >> 4;
        if (!nms_World_chunkExists($this, $var5, $var6))
            return $par1EnumSkyBlock.$defaultLightValue;
        return nms_World_getChunkFromChunkCoords($this, $var5, $var6).$getSavedLightValue($par1EnumSkyBlock, $par2 & 15, $par3, $par4 & 15);
    }
    return $par1EnumSkyBlock.$defaultLightValue;
}
function nms_World_setLightValue($this, $par1EnumSkyBlock, $par2, $par3, $par4, $par5) {
    var $var7, var$7;
    a: {
        if ($par2 >= (-30000000) && $par4 >= (-30000000) && $par2 < 30000000 && $par4 < 30000000 && $par3 >= 0 && $par3 < 256) {
            $var7 = $par2 >> 4;
            var$7 = $par4 >> 4;
            if (nms_World_chunkExists($this, $var7, var$7)) {
                nms_World_getChunkFromChunkCoords($this, $var7, var$7).$setLightValue($par1EnumSkyBlock, $par2 & 15, $par3, $par4 & 15, $par5);
                $var7 = 0;
                while (true) {
                    if ($var7 >= $this.$worldAccesses.$size)
                        break a;
                    nms_RenderGlobal_markBlockForRenderUpdate(ju_ArrayList_get($this.$worldAccesses, $var7), $par2, $par3, $par4);
                    $var7 = $var7 + 1 | 0;
                }
            }
        }
    }
}
function nms_World_markBlockForRenderUpdate($this, $par1, $par2, $par3) {
    var $var4;
    $var4 = 0;
    while ($var4 < $this.$worldAccesses.$size) {
        nms_RenderGlobal_markBlockForRenderUpdate(ju_ArrayList_get($this.$worldAccesses, $var4), $par1, $par2, $par3);
        $var4 = $var4 + 1 | 0;
    }
}
function nms_World_getLightBrightnessForSkyBlocks($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = nms_World_getSkyBlockTypeBrightness($this, nms_EnumSkyBlock_Sky, $par1, $par2, $par3);
    $var6 = nms_World_getSkyBlockTypeBrightness($this, nms_EnumSkyBlock_Block, $par1, $par2, $par3);
    if ($var6 >= $par4)
        $par4 = $var6;
    return $var5 << 20 | $par4 << 4;
}
function nms_World_getBrightness($this, $par1, $par2, $par3, $par4) {
    var $var5;
    $var5 = nms_World_getBlockLightValue($this, $par1, $par2, $par3);
    if ($var5 >= $par4)
        $par4 = $var5;
    return $this.$provider.$lightBrightnessTable.data[$par4];
}
function nms_World_getLightBrightness($this, $par1, $par2, $par3) {
    return $this.$provider.$lightBrightnessTable.data[nms_World_getBlockLightValue($this, $par1, $par2, $par3)];
}
function nms_World_rayTraceBlocks($this, $par1Vec3, $par2Vec3) {
    var var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2Vec3 = $thread.pop();$par1Vec3 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = 0;
        var$4 = 0;
        $ptr = 1;
    case 1:
        $tmp = nms_World_rayTraceBlocks_do_do($this, $par1Vec3, $par2Vec3, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $par1Vec3 = $tmp;
        return $par1Vec3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Vec3, $par2Vec3, var$3, var$4, $ptr);
}
function nms_World_rayTraceBlocks_do($this, $par1Vec3, $par2Vec3, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2Vec3 = $thread.pop();$par1Vec3 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = 0;
        $ptr = 1;
    case 1:
        $tmp = nms_World_rayTraceBlocks_do_do($this, $par1Vec3, $par2Vec3, $par3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $par1Vec3 = $tmp;
        return $par1Vec3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Vec3, $par2Vec3, $par3, var$4, $ptr);
}
function nms_World_rayTraceBlocks_do_do($this, $par1Vec3, $par2Vec3, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var35, $var39, $var40, $var41, $var15, $var17, $var19, $var36, $var21, $var23, $var25, $var27, $var29, $var31, $var42, $var34, var$30, $var37, $var14, $var38, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var38 = $thread.pop();$var14 = $thread.pop();$var37 = $thread.pop();var$30 = $thread.pop();$var34 = $thread.pop();$var42 = $thread.pop();$var31 = $thread.pop();$var29 = $thread.pop();$var27 = $thread.pop();$var25 = $thread.pop();$var23 = $thread.pop();$var21 = $thread.pop();$var36 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var41 = $thread.pop();$var40 = $thread.pop();$var39 = $thread.pop();$var35 = $thread.pop();$var13 = $thread.pop();$var12
        = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2Vec3 = $thread.pop();$par1Vec3 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!(isNaN($par1Vec3.$xCoord) ? 1 : 0) && !(isNaN($par1Vec3.$yCoord) ? 1 : 0) && !(isNaN($par1Vec3.$zCoord) ? 1 : 0)) {
            if (!(isNaN($par2Vec3.$xCoord) ? 1 : 0) && !(isNaN($par2Vec3.$yCoord) ? 1 : 0) && !(isNaN($par2Vec3.$zCoord) ? 1 : 0)) {
                $var5 = nms_MathHelper_floor_double($par2Vec3.$xCoord);
                $var6 = nms_MathHelper_floor_double($par2Vec3.$yCoord);
                $var7 = nms_MathHelper_floor_double($par2Vec3.$zCoord);
                $var8 = nms_MathHelper_floor_double($par1Vec3.$xCoord);
                $var9 = nms_MathHelper_floor_double($par1Vec3.$yCoord);
                $var10 = nms_MathHelper_floor_double($par1Vec3.$zCoord);
                $var11 = nms_World_getBlockId($this, $var8, $var9, $var10);
                $var12 = nms_World_getBlockMetadata($this, $var8, $var9, $var10);
                nms_Block_$callClinit();
                $var13 = nms_Block_blocksList.data[$var11];
                if ($par4 && $var13 !== null) {
                    $ptr = 1;
                    continue main;
                }
                if ($var11 > 0 && $var13.$canCollideCheck($var12, $par3)) {
                    $ptr = 2;
                    continue main;
                }
                $var35 = 200;
                a: {
                    while (true) {
                        $var11 = $var35 + (-1) | 0;
                        if ($var35 < 0)
                            break;
                        if (isNaN($par1Vec3.$xCoord) ? 1 : 0)
                            break a;
                        if (isNaN($par1Vec3.$yCoord) ? 1 : 0)
                            break a;
                        if (isNaN($par1Vec3.$zCoord) ? 1 : 0)
                            break a;
                        if ($var8 == $var5 && $var9 == $var6 && $var10 == $var7)
                            return null;
                        $var39 = 1;
                        $var40 = 1;
                        $var41 = 1;
                        $var15 = 999.0;
                        $var17 = 999.0;
                        $var19 = 999.0;
                        $var35 = $rt_compare($var5, $var8);
                        if ($var35 > 0)
                            $var15 = $var8 + 1.0;
                        else if ($var35 >= 0)
                            $var39 = 0;
                        else
                            $var15 = $var8 + 0.0;
                        $var36 = $rt_compare($var6, $var9);
                        if ($var36 > 0)
                            $var17 = $var9 + 1.0;
                        else if ($var36 >= 0)
                            $var40 = 0;
                        else
                            $var17 = $var9 + 0.0;
                        $var9 = $rt_compare($var7, $var10);
                        if ($var9 > 0)
                            $var19 = $var10 + 1.0;
                        else if ($var9 >= 0)
                            $var41 = 0;
                        else
                            $var19 = $var10 + 0.0;
                        $var21 = 999.0;
                        $var23 = 999.0;
                        $var25 = 999.0;
                        $var27 = $par2Vec3.$xCoord - $par1Vec3.$xCoord;
                        $var29 = $par2Vec3.$yCoord - $par1Vec3.$yCoord;
                        $var31 = $par2Vec3.$zCoord - $par1Vec3.$zCoord;
                        if ($var39)
                            $var21 = ($var15 - $par1Vec3.$xCoord) / $var27;
                        if ($var40)
                            $var23 = ($var17 - $par1Vec3.$yCoord) / $var29;
                        if ($var41)
                            $var25 = ($var19 - $par1Vec3.$zCoord) / $var31;
                        if ($var21 < $var23 && $var21 < $var25) {
                            $var42 = $var35 <= 0 ? 5 : 4;
                            $par1Vec3.$xCoord = $var15;
                            $par1Vec3.$yCoord = $par1Vec3.$yCoord + $var29 * $var21;
                            $par1Vec3.$zCoord = $par1Vec3.$zCoord + $var31 * $var21;
                        } else if ($var23 >= $var25) {
                            $var42 = $var9 <= 0 ? 3 : 2;
                            $par1Vec3.$xCoord = $par1Vec3.$xCoord + $var27 * $var25;
                            $par1Vec3.$yCoord = $par1Vec3.$yCoord + $var29 * $var25;
                            $par1Vec3.$zCoord = $var19;
                        } else {
                            $var42 = $var36 <= 0 ? 1 : 0;
                            $par1Vec3.$xCoord = $par1Vec3.$xCoord + $var27 * $var23;
                            $par1Vec3.$yCoord = $var17;
                            $par1Vec3.$zCoord = $par1Vec3.$zCoord + $var31 * $var23;
                        }
                        $var34 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this), $par1Vec3.$xCoord, $par1Vec3.$yCoord, $par1Vec3.$zCoord);
                        var$30 = nms_MathHelper_floor_double($par1Vec3.$xCoord);
                        $var34.$xCoord = var$30;
                        $var8 = var$30 | 0;
                        if ($var42 == 5) {
                            $var8 = $var8 + (-1) | 0;
                            $var34.$xCoord = $var34.$xCoord + 1.0;
                        }
                        var$30 = nms_MathHelper_floor_double($par1Vec3.$yCoord);
                        $var34.$yCoord = var$30;
                        $var9 = var$30 | 0;
                        if ($var42 == 1) {
                            $var9 = $var9 + (-1) | 0;
                            $var34.$yCoord = $var34.$yCoord + 1.0;
                        }
                        var$30 = nms_MathHelper_floor_double($par1Vec3.$zCoord);
                        $var34.$zCoord = var$30;
                        $var10 = var$30 | 0;
                        if ($var42 == 3) {
                            $var10 = $var10 + (-1) | 0;
                            $var34.$zCoord = $var34.$zCoord + 1.0;
                        }
                        $var35 = nms_World_getBlockId($this, $var8, $var9, $var10);
                        $var36 = nms_World_getBlockMetadata($this, $var8, $var9, $var10);
                        $var37 = nms_Block_blocksList.data[$var35];
                        if ($par4 && $var37 !== null) {
                            $ptr = 3;
                            continue main;
                        }
                        if ($var35 > 0 && $var37.$canCollideCheck($var36, $par3)) {
                            $ptr = 4;
                            continue main;
                        }
                        $var35 = $var11;
                    }
                    return null;
                }
                return null;
            }
            return null;
        }
        return null;
    case 1:
        $tmp = $var13.$getCollisionBoundingBoxFromPool($this, $var8, $var9, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $var37 = $tmp;
        if ($var37 !== null && $var11 > 0 && $var13.$canCollideCheck($var12, $par3)) {
            $ptr = 2;
            continue main;
        }
        $var35 = 200;
        b: {
            while (true) {
                $var11 = $var35 + (-1) | 0;
                if ($var35 < 0)
                    break;
                if (isNaN($par1Vec3.$xCoord) ? 1 : 0)
                    break b;
                if (isNaN($par1Vec3.$yCoord) ? 1 : 0)
                    break b;
                if (isNaN($par1Vec3.$zCoord) ? 1 : 0)
                    break b;
                if ($var8 == $var5 && $var9 == $var6 && $var10 == $var7)
                    return null;
                $var39 = 1;
                $var40 = 1;
                $var41 = 1;
                $var15 = 999.0;
                $var17 = 999.0;
                $var19 = 999.0;
                $var35 = $rt_compare($var5, $var8);
                if ($var35 > 0)
                    $var15 = $var8 + 1.0;
                else if ($var35 >= 0)
                    $var39 = 0;
                else
                    $var15 = $var8 + 0.0;
                $var36 = $rt_compare($var6, $var9);
                if ($var36 > 0)
                    $var17 = $var9 + 1.0;
                else if ($var36 >= 0)
                    $var40 = 0;
                else
                    $var17 = $var9 + 0.0;
                $var9 = $rt_compare($var7, $var10);
                if ($var9 > 0)
                    $var19 = $var10 + 1.0;
                else if ($var9 >= 0)
                    $var41 = 0;
                else
                    $var19 = $var10 + 0.0;
                $var21 = 999.0;
                $var23 = 999.0;
                $var25 = 999.0;
                $var27 = $par2Vec3.$xCoord - $par1Vec3.$xCoord;
                $var29 = $par2Vec3.$yCoord - $par1Vec3.$yCoord;
                $var31 = $par2Vec3.$zCoord - $par1Vec3.$zCoord;
                if ($var39)
                    $var21 = ($var15 - $par1Vec3.$xCoord) / $var27;
                if ($var40)
                    $var23 = ($var17 - $par1Vec3.$yCoord) / $var29;
                if ($var41)
                    $var25 = ($var19 - $par1Vec3.$zCoord) / $var31;
                if ($var21 < $var23 && $var21 < $var25) {
                    $var42 = $var35 <= 0 ? 5 : 4;
                    $par1Vec3.$xCoord = $var15;
                    $par1Vec3.$yCoord = $par1Vec3.$yCoord + $var29 * $var21;
                    $par1Vec3.$zCoord = $par1Vec3.$zCoord + $var31 * $var21;
                } else if ($var23 >= $var25) {
                    $var42 = $var9 <= 0 ? 3 : 2;
                    $par1Vec3.$xCoord = $par1Vec3.$xCoord + $var27 * $var25;
                    $par1Vec3.$yCoord = $par1Vec3.$yCoord + $var29 * $var25;
                    $par1Vec3.$zCoord = $var19;
                } else {
                    $var42 = $var36 <= 0 ? 1 : 0;
                    $par1Vec3.$xCoord = $par1Vec3.$xCoord + $var27 * $var23;
                    $par1Vec3.$yCoord = $var17;
                    $par1Vec3.$zCoord = $par1Vec3.$zCoord + $var31 * $var23;
                }
                $var34 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this), $par1Vec3.$xCoord, $par1Vec3.$yCoord, $par1Vec3.$zCoord);
                var$30 = nms_MathHelper_floor_double($par1Vec3.$xCoord);
                $var34.$xCoord = var$30;
                $var8 = var$30 | 0;
                if ($var42 == 5) {
                    $var8 = $var8 + (-1) | 0;
                    $var34.$xCoord = $var34.$xCoord + 1.0;
                }
                var$30 = nms_MathHelper_floor_double($par1Vec3.$yCoord);
                $var34.$yCoord = var$30;
                $var9 = var$30 | 0;
                if ($var42 == 1) {
                    $var9 = $var9 + (-1) | 0;
                    $var34.$yCoord = $var34.$yCoord + 1.0;
                }
                var$30 = nms_MathHelper_floor_double($par1Vec3.$zCoord);
                $var34.$zCoord = var$30;
                $var10 = var$30 | 0;
                if ($var42 == 3) {
                    $var10 = $var10 + (-1) | 0;
                    $var34.$zCoord = $var34.$zCoord + 1.0;
                }
                $var35 = nms_World_getBlockId($this, $var8, $var9, $var10);
                $var36 = nms_World_getBlockMetadata($this, $var8, $var9, $var10);
                $var37 = nms_Block_blocksList.data[$var35];
                if ($par4 && $var37 !== null) {
                    $ptr = 3;
                    continue main;
                }
                if ($var35 > 0 && $var37.$canCollideCheck($var36, $par3)) {
                    $ptr = 4;
                    continue main;
                }
                $var35 = $var11;
            }
            return null;
        }
        return null;
    case 2:
        $tmp = $var13.$collisionRayTrace($this, $var8, $var9, $var10, $par1Vec3, $par2Vec3);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $tmp;
        if ($var14 !== null)
            return $var14;
        $var35 = 200;
        b: {
            while (true) {
                $var11 = $var35 + (-1) | 0;
                if ($var35 < 0)
                    break;
                if (isNaN($par1Vec3.$xCoord) ? 1 : 0)
                    break b;
                if (isNaN($par1Vec3.$yCoord) ? 1 : 0)
                    break b;
                if (isNaN($par1Vec3.$zCoord) ? 1 : 0)
                    break b;
                if ($var8 == $var5 && $var9 == $var6 && $var10 == $var7)
                    return null;
                $var39 = 1;
                $var40 = 1;
                $var41 = 1;
                $var15 = 999.0;
                $var17 = 999.0;
                $var19 = 999.0;
                $var35 = $rt_compare($var5, $var8);
                if ($var35 > 0)
                    $var15 = $var8 + 1.0;
                else if ($var35 >= 0)
                    $var39 = 0;
                else
                    $var15 = $var8 + 0.0;
                $var36 = $rt_compare($var6, $var9);
                if ($var36 > 0)
                    $var17 = $var9 + 1.0;
                else if ($var36 >= 0)
                    $var40 = 0;
                else
                    $var17 = $var9 + 0.0;
                $var9 = $rt_compare($var7, $var10);
                if ($var9 > 0)
                    $var19 = $var10 + 1.0;
                else if ($var9 >= 0)
                    $var41 = 0;
                else
                    $var19 = $var10 + 0.0;
                $var21 = 999.0;
                $var23 = 999.0;
                $var25 = 999.0;
                $var27 = $par2Vec3.$xCoord - $par1Vec3.$xCoord;
                $var29 = $par2Vec3.$yCoord - $par1Vec3.$yCoord;
                $var31 = $par2Vec3.$zCoord - $par1Vec3.$zCoord;
                if ($var39)
                    $var21 = ($var15 - $par1Vec3.$xCoord) / $var27;
                if ($var40)
                    $var23 = ($var17 - $par1Vec3.$yCoord) / $var29;
                if ($var41)
                    $var25 = ($var19 - $par1Vec3.$zCoord) / $var31;
                if ($var21 < $var23 && $var21 < $var25) {
                    $var42 = $var35 <= 0 ? 5 : 4;
                    $par1Vec3.$xCoord = $var15;
                    $par1Vec3.$yCoord = $par1Vec3.$yCoord + $var29 * $var21;
                    $par1Vec3.$zCoord = $par1Vec3.$zCoord + $var31 * $var21;
                } else if ($var23 >= $var25) {
                    $var42 = $var9 <= 0 ? 3 : 2;
                    $par1Vec3.$xCoord = $par1Vec3.$xCoord + $var27 * $var25;
                    $par1Vec3.$yCoord = $par1Vec3.$yCoord + $var29 * $var25;
                    $par1Vec3.$zCoord = $var19;
                } else {
                    $var42 = $var36 <= 0 ? 1 : 0;
                    $par1Vec3.$xCoord = $par1Vec3.$xCoord + $var27 * $var23;
                    $par1Vec3.$yCoord = $var17;
                    $par1Vec3.$zCoord = $par1Vec3.$zCoord + $var31 * $var23;
                }
                $var34 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this), $par1Vec3.$xCoord, $par1Vec3.$yCoord, $par1Vec3.$zCoord);
                var$30 = nms_MathHelper_floor_double($par1Vec3.$xCoord);
                $var34.$xCoord = var$30;
                $var8 = var$30 | 0;
                if ($var42 == 5) {
                    $var8 = $var8 + (-1) | 0;
                    $var34.$xCoord = $var34.$xCoord + 1.0;
                }
                var$30 = nms_MathHelper_floor_double($par1Vec3.$yCoord);
                $var34.$yCoord = var$30;
                $var9 = var$30 | 0;
                if ($var42 == 1) {
                    $var9 = $var9 + (-1) | 0;
                    $var34.$yCoord = $var34.$yCoord + 1.0;
                }
                var$30 = nms_MathHelper_floor_double($par1Vec3.$zCoord);
                $var34.$zCoord = var$30;
                $var10 = var$30 | 0;
                if ($var42 == 3) {
                    $var10 = $var10 + (-1) | 0;
                    $var34.$zCoord = $var34.$zCoord + 1.0;
                }
                $var35 = nms_World_getBlockId($this, $var8, $var9, $var10);
                $var36 = nms_World_getBlockMetadata($this, $var8, $var9, $var10);
                $var37 = nms_Block_blocksList.data[$var35];
                if ($par4 && $var37 !== null) {
                    $ptr = 3;
                    continue main;
                }
                if ($var35 > 0 && $var37.$canCollideCheck($var36, $par3)) {
                    $ptr = 4;
                    continue main;
                }
                $var35 = $var11;
            }
            return null;
        }
        return null;
    case 3:
        c: {
            $tmp = $var37.$getCollisionBoundingBoxFromPool($this, $var8, $var9, $var10);
            if ($rt_suspending()) {
                break main;
            }
            $var38 = $tmp;
            if ($var38 !== null && $var35 > 0) {
                $var35 = $var37.$canCollideCheck($var36, $par3);
                if ($var35)
                    break c;
            }
            d: {
                while (true) {
                    $var35 = $var11;
                    $var11 = $var35 + (-1) | 0;
                    if ($var35 < 0)
                        return null;
                    if (isNaN($par1Vec3.$xCoord) ? 1 : 0)
                        break d;
                    if (isNaN($par1Vec3.$yCoord) ? 1 : 0)
                        break d;
                    if (isNaN($par1Vec3.$zCoord) ? 1 : 0)
                        break d;
                    if ($var8 == $var5 && $var9 == $var6 && $var10 == $var7)
                        break;
                    $var39 = 1;
                    $var40 = 1;
                    $var41 = 1;
                    $var15 = 999.0;
                    $var17 = 999.0;
                    $var19 = 999.0;
                    $var35 = $rt_compare($var5, $var8);
                    if ($var35 > 0)
                        $var15 = $var8 + 1.0;
                    else if ($var35 >= 0)
                        $var39 = 0;
                    else
                        $var15 = $var8 + 0.0;
                    $var36 = $rt_compare($var6, $var9);
                    if ($var36 > 0)
                        $var17 = $var9 + 1.0;
                    else if ($var36 >= 0)
                        $var40 = 0;
                    else
                        $var17 = $var9 + 0.0;
                    $var9 = $rt_compare($var7, $var10);
                    if ($var9 > 0)
                        $var19 = $var10 + 1.0;
                    else if ($var9 >= 0)
                        $var41 = 0;
                    else
                        $var19 = $var10 + 0.0;
                    $var21 = 999.0;
                    $var23 = 999.0;
                    $var25 = 999.0;
                    $var27 = $par2Vec3.$xCoord - $par1Vec3.$xCoord;
                    $var29 = $par2Vec3.$yCoord - $par1Vec3.$yCoord;
                    $var31 = $par2Vec3.$zCoord - $par1Vec3.$zCoord;
                    if ($var39)
                        $var21 = ($var15 - $par1Vec3.$xCoord) / $var27;
                    if ($var40)
                        $var23 = ($var17 - $par1Vec3.$yCoord) / $var29;
                    if ($var41)
                        $var25 = ($var19 - $par1Vec3.$zCoord) / $var31;
                    if ($var21 < $var23 && $var21 < $var25) {
                        $var42 = $var35 <= 0 ? 5 : 4;
                        $par1Vec3.$xCoord = $var15;
                        $par1Vec3.$yCoord = $par1Vec3.$yCoord + $var29 * $var21;
                        $par1Vec3.$zCoord = $par1Vec3.$zCoord + $var31 * $var21;
                    } else if ($var23 >= $var25) {
                        $var42 = $var9 <= 0 ? 3 : 2;
                        $par1Vec3.$xCoord = $par1Vec3.$xCoord + $var27 * $var25;
                        $par1Vec3.$yCoord = $par1Vec3.$yCoord + $var29 * $var25;
                        $par1Vec3.$zCoord = $var19;
                    } else {
                        $var42 = $var36 <= 0 ? 1 : 0;
                        $par1Vec3.$xCoord = $par1Vec3.$xCoord + $var27 * $var23;
                        $par1Vec3.$yCoord = $var17;
                        $par1Vec3.$zCoord = $par1Vec3.$zCoord + $var31 * $var23;
                    }
                    $var34 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this), $par1Vec3.$xCoord, $par1Vec3.$yCoord, $par1Vec3.$zCoord);
                    var$30 = nms_MathHelper_floor_double($par1Vec3.$xCoord);
                    $var34.$xCoord = var$30;
                    $var8 = var$30 | 0;
                    if ($var42 == 5) {
                        $var8 = $var8 + (-1) | 0;
                        $var34.$xCoord = $var34.$xCoord + 1.0;
                    }
                    var$30 = nms_MathHelper_floor_double($par1Vec3.$yCoord);
                    $var34.$yCoord = var$30;
                    $var9 = var$30 | 0;
                    if ($var42 == 1) {
                        $var9 = $var9 + (-1) | 0;
                        $var34.$yCoord = $var34.$yCoord + 1.0;
                    }
                    var$30 = nms_MathHelper_floor_double($par1Vec3.$zCoord);
                    $var34.$zCoord = var$30;
                    $var10 = var$30 | 0;
                    if ($var42 == 3) {
                        $var10 = $var10 + (-1) | 0;
                        $var34.$zCoord = $var34.$zCoord + 1.0;
                    }
                    $var35 = nms_World_getBlockId($this, $var8, $var9, $var10);
                    $var36 = nms_World_getBlockMetadata($this, $var8, $var9, $var10);
                    $var37 = nms_Block_blocksList.data[$var35];
                    if ($par4 && $var37 !== null) {
                        continue main;
                    }
                    if ($var35 <= 0)
                        continue;
                    $var35 = $var37.$canCollideCheck($var36, $par3);
                    if (!$var35)
                        continue;
                    else
                        break c;
                }
                return null;
            }
            return null;
        }
        $ptr = 4;
    case 4:
        $tmp = $var37.$collisionRayTrace($this, $var8, $var9, $var10, $par1Vec3, $par2Vec3);
        if ($rt_suspending()) {
            break main;
        }
        $var38 = $tmp;
        if ($var38 !== null)
            return $var38;
        d: {
            while (true) {
                $var35 = $var11;
                $var11 = $var35 + (-1) | 0;
                if ($var35 < 0)
                    return null;
                if (isNaN($par1Vec3.$xCoord) ? 1 : 0)
                    break d;
                if (isNaN($par1Vec3.$yCoord) ? 1 : 0)
                    break d;
                if (isNaN($par1Vec3.$zCoord) ? 1 : 0)
                    break d;
                if ($var8 == $var5 && $var9 == $var6 && $var10 == $var7)
                    break;
                $var39 = 1;
                $var40 = 1;
                $var41 = 1;
                $var15 = 999.0;
                $var17 = 999.0;
                $var19 = 999.0;
                $var35 = $rt_compare($var5, $var8);
                if ($var35 > 0)
                    $var15 = $var8 + 1.0;
                else if ($var35 >= 0)
                    $var39 = 0;
                else
                    $var15 = $var8 + 0.0;
                $var36 = $rt_compare($var6, $var9);
                if ($var36 > 0)
                    $var17 = $var9 + 1.0;
                else if ($var36 >= 0)
                    $var40 = 0;
                else
                    $var17 = $var9 + 0.0;
                $var9 = $rt_compare($var7, $var10);
                if ($var9 > 0)
                    $var19 = $var10 + 1.0;
                else if ($var9 >= 0)
                    $var41 = 0;
                else
                    $var19 = $var10 + 0.0;
                $var21 = 999.0;
                $var23 = 999.0;
                $var25 = 999.0;
                $var27 = $par2Vec3.$xCoord - $par1Vec3.$xCoord;
                $var29 = $par2Vec3.$yCoord - $par1Vec3.$yCoord;
                $var31 = $par2Vec3.$zCoord - $par1Vec3.$zCoord;
                if ($var39)
                    $var21 = ($var15 - $par1Vec3.$xCoord) / $var27;
                if ($var40)
                    $var23 = ($var17 - $par1Vec3.$yCoord) / $var29;
                if ($var41)
                    $var25 = ($var19 - $par1Vec3.$zCoord) / $var31;
                if ($var21 < $var23 && $var21 < $var25) {
                    $var42 = $var35 <= 0 ? 5 : 4;
                    $par1Vec3.$xCoord = $var15;
                    $par1Vec3.$yCoord = $par1Vec3.$yCoord + $var29 * $var21;
                    $par1Vec3.$zCoord = $par1Vec3.$zCoord + $var31 * $var21;
                } else if ($var23 >= $var25) {
                    $var42 = $var9 <= 0 ? 3 : 2;
                    $par1Vec3.$xCoord = $par1Vec3.$xCoord + $var27 * $var25;
                    $par1Vec3.$yCoord = $par1Vec3.$yCoord + $var29 * $var25;
                    $par1Vec3.$zCoord = $var19;
                } else {
                    $var42 = $var36 <= 0 ? 1 : 0;
                    $par1Vec3.$xCoord = $par1Vec3.$xCoord + $var27 * $var23;
                    $par1Vec3.$yCoord = $var17;
                    $par1Vec3.$zCoord = $par1Vec3.$zCoord + $var31 * $var23;
                }
                $var34 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this), $par1Vec3.$xCoord, $par1Vec3.$yCoord, $par1Vec3.$zCoord);
                var$30 = nms_MathHelper_floor_double($par1Vec3.$xCoord);
                $var34.$xCoord = var$30;
                $var8 = var$30 | 0;
                if ($var42 == 5) {
                    $var8 = $var8 + (-1) | 0;
                    $var34.$xCoord = $var34.$xCoord + 1.0;
                }
                var$30 = nms_MathHelper_floor_double($par1Vec3.$yCoord);
                $var34.$yCoord = var$30;
                $var9 = var$30 | 0;
                if ($var42 == 1) {
                    $var9 = $var9 + (-1) | 0;
                    $var34.$yCoord = $var34.$yCoord + 1.0;
                }
                var$30 = nms_MathHelper_floor_double($par1Vec3.$zCoord);
                $var34.$zCoord = var$30;
                $var10 = var$30 | 0;
                if ($var42 == 3) {
                    $var10 = $var10 + (-1) | 0;
                    $var34.$zCoord = $var34.$zCoord + 1.0;
                }
                $var35 = nms_World_getBlockId($this, $var8, $var9, $var10);
                $var36 = nms_World_getBlockMetadata($this, $var8, $var9, $var10);
                $var37 = nms_Block_blocksList.data[$var35];
                if ($par4 && $var37 !== null) {
                    $ptr = 3;
                    continue main;
                }
                if ($var35 <= 0)
                    continue;
                if (!$var37.$canCollideCheck($var36, $par3))
                    continue;
                else {
                    continue main;
                }
            }
            return null;
        }
        return null;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Vec3, $par2Vec3, $par3, $par4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var35, $var39, $var40, $var41, $var15, $var17, $var19, $var36, $var21, $var23, $var25, $var27, $var29, $var31, $var42, $var34, var$30, $var37, $var14, $var38, $ptr);
}
function nms_World_playSoundAtEntity($this, $par1Entity, $par2Str, $par3, $par4) {
    var $var5;
    a: {
        if ($par1Entity !== null && $par2Str !== null) {
            $var5 = 0;
            while (true) {
                if ($var5 >= $this.$worldAccesses.$size)
                    break a;
                ju_ArrayList_get($this.$worldAccesses, $var5);
                $var5 = $var5 + 1 | 0;
            }
        }
    }
}
function nms_World_playSoundToNearExcept($this, $par1EntityPlayer, $par2Str, $par3, $par4) {
    var $var5;
    a: {
        if ($par1EntityPlayer !== null && $par2Str !== null) {
            $var5 = 0;
            while (true) {
                if ($var5 >= $this.$worldAccesses.$size)
                    break a;
                ju_ArrayList_get($this.$worldAccesses, $var5);
                $var5 = $var5 + 1 | 0;
            }
        }
    }
}
function nms_World_playSoundEffect($this, $par1, $par3, $par5, $par7Str, $par8, $par9) {
    var $var10;
    a: {
        if ($par7Str !== null) {
            $var10 = 0;
            while (true) {
                if ($var10 >= $this.$worldAccesses.$size)
                    break a;
                ju_ArrayList_get($this.$worldAccesses, $var10);
                $var10 = $var10 + 1 | 0;
            }
        }
    }
}
function nms_World_playRecord($this, $par1Str, $par2, $par3, $par4) {
    var $var5;
    $var5 = 0;
    while ($var5 < $this.$worldAccesses.$size) {
        nms_RenderGlobal_playRecord(ju_ArrayList_get($this.$worldAccesses, $var5), $par1Str, $par2, $par3, $par4);
        $var5 = $var5 + 1 | 0;
    }
}
function nms_World_spawnParticle($this, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12) {
    var $var14, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();$var14 = $thread.pop();$par12 = $thread.pop();$par10 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var14 = 0;
        if ($var14 >= $this.$worldAccesses.$size)
            return;
        var$9 = ju_ArrayList_get($this.$worldAccesses, $var14);
        $ptr = 1;
    case 1:
        nms_RenderGlobal_doSpawnParticle(var$9, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $var14 + 1 | 0;
        if ($var14 >= $this.$worldAccesses.$size)
            return;
        var$9 = ju_ArrayList_get($this.$worldAccesses, $var14);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12, $var14, var$9, $ptr);
}
function nms_World_addWeatherEffect($this, $par1Entity) {
    ju_ArrayList_add($this.$weatherEffects, $par1Entity);
    return 1;
}
function nms_World_addWorldAccess($this, $par1IWorldAccess) {
    ju_ArrayList_add($this.$worldAccesses, $par1IWorldAccess);
}
function nms_World_removeWorldAccess($this, $par1IWorldAccess) {
    ju_ArrayList_remove0($this.$worldAccesses, $par1IWorldAccess);
}
function nms_World_getCollidingBoundingBoxes($this, $par1Entity, $par2AxisAlignedBB) {
    var $var9, $var4, $var5, $var6, $var7, $var8, $var16, $var10, $var11, $var12, $var15, $var13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var13 = $thread.pop();$var15 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var16 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var9 = $thread.pop();$par2AxisAlignedBB = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        ju_ArrayList_clear($this.$collidingBoundingBoxes);
        $var9 = nms_MathHelper_floor_double($par2AxisAlignedBB.$minX);
        $var4 = nms_MathHelper_floor_double($par2AxisAlignedBB.$maxX + 1.0);
        $var5 = nms_MathHelper_floor_double($par2AxisAlignedBB.$minY);
        $var6 = nms_MathHelper_floor_double($par2AxisAlignedBB.$maxY + 1.0);
        $var7 = nms_MathHelper_floor_double($par2AxisAlignedBB.$minZ);
        $var8 = nms_MathHelper_floor_double($par2AxisAlignedBB.$maxZ + 1.0);
        $var16 = $var5 - 1 | 0;
        while ($var9 < $var4) {
            $var10 = $var7;
            while ($var10 < $var8) {
                a: {
                    if (nms_World_blockExists($this, $var9, 64, $var10)) {
                        $var11 = $var16;
                        while (true) {
                            if ($var11 >= $var6)
                                break a;
                            nms_Block_$callClinit();
                            $var12 = nms_Block_blocksList.data[nms_World_getBlockId($this, $var9, $var11, $var10)];
                            if ($var12 !== null) {
                                $var15 = $this.$collidingBoundingBoxes;
                                $ptr = 1;
                                continue main;
                            }
                            $var11 = $var11 + 1 | 0;
                        }
                    }
                }
                $var10 = $var10 + 1 | 0;
            }
            $var9 = $var9 + 1 | 0;
        }
        $var15 = nms_World_getEntitiesWithinAABBExcludingEntity($this, $par1Entity, nms_AxisAlignedBB_expand($par2AxisAlignedBB, 0.25, 0.25, 0.25));
        $var16 = 0;
        while ($var16 < $var15.$size) {
            $var13 = ju_ArrayList_get($var15, $var16).$getBoundingBox();
            if ($var13 !== null && nms_AxisAlignedBB_intersectsWith($var13, $par2AxisAlignedBB))
                ju_ArrayList_add($this.$collidingBoundingBoxes, $var13);
            $var12 = $par1Entity.$getCollisionBox(ju_ArrayList_get($var15, $var16));
            if ($var12 !== null && nms_AxisAlignedBB_intersectsWith($var12, $par2AxisAlignedBB))
                ju_ArrayList_add($this.$collidingBoundingBoxes, $var12);
            $var16 = $var16 + 1 | 0;
        }
        return $this.$collidingBoundingBoxes;
    case 1:
        $var12.$addCollisionBoxesToList($this, $var9, $var11, $var10, $par2AxisAlignedBB, $var15, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        b: while (true) {
            $var11 = $var11 + 1 | 0;
            while ($var11 >= $var6) {
                while (true) {
                    $var10 = $var10 + 1 | 0;
                    while ($var10 >= $var8) {
                        $var9 = $var9 + 1 | 0;
                        if ($var9 >= $var4)
                            break b;
                        $var10 = $var7;
                    }
                    if (!nms_World_blockExists($this, $var9, 64, $var10))
                        continue;
                    else
                        break;
                }
                $var11 = $var16;
            }
            nms_Block_$callClinit();
            $var12 = nms_Block_blocksList.data[nms_World_getBlockId($this, $var9, $var11, $var10)];
            if ($var12 === null)
                continue;
            else {
                $var15 = $this.$collidingBoundingBoxes;
                continue main;
            }
        }
        $var15 = nms_World_getEntitiesWithinAABBExcludingEntity($this, $par1Entity, nms_AxisAlignedBB_expand($par2AxisAlignedBB, 0.25, 0.25, 0.25));
        $var16 = 0;
        while ($var16 < $var15.$size) {
            $var13 = ju_ArrayList_get($var15, $var16).$getBoundingBox();
            if ($var13 !== null && nms_AxisAlignedBB_intersectsWith($var13, $par2AxisAlignedBB))
                ju_ArrayList_add($this.$collidingBoundingBoxes, $var13);
            $var12 = $par1Entity.$getCollisionBox(ju_ArrayList_get($var15, $var16));
            if ($var12 !== null && nms_AxisAlignedBB_intersectsWith($var12, $par2AxisAlignedBB))
                ju_ArrayList_add($this.$collidingBoundingBoxes, $var12);
            $var16 = $var16 + 1 | 0;
        }
        return $this.$collidingBoundingBoxes;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2AxisAlignedBB, $var9, $var4, $var5, $var6, $var7, $var8, $var16, $var10, $var11, $var12, $var15, $var13, $ptr);
}
function nms_World_getCollidingBlockBounds($this, $par1AxisAlignedBB) {
    var $var8, $var3, $var4, $var5, $var6, $var7, var$8, $var9, $var10, $var11, var$12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var8 = $thread.pop();$par1AxisAlignedBB = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        ju_ArrayList_clear($this.$collidingBoundingBoxes);
        $var8 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minX);
        $var3 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxX + 1.0);
        $var4 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minY);
        $var5 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxY + 1.0);
        $var6 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minZ);
        $var7 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxZ + 1.0);
        $var4 = $var4 - 1 | 0;
        var$8 = null;
        while ($var8 < $var3) {
            $var9 = $var6;
            while ($var9 < $var7) {
                a: {
                    if (nms_World_blockExists($this, $var8, 64, $var9)) {
                        $var10 = $var4;
                        while (true) {
                            if ($var10 >= $var5)
                                break a;
                            nms_Block_$callClinit();
                            $var11 = nms_Block_blocksList.data[nms_World_getBlockId($this, $var8, $var10, $var9)];
                            if ($var11 !== null) {
                                var$12 = $this.$collidingBoundingBoxes;
                                $ptr = 1;
                                continue main;
                            }
                            $var10 = $var10 + 1 | 0;
                        }
                    }
                }
                $var9 = $var9 + 1 | 0;
            }
            $var8 = $var8 + 1 | 0;
        }
        return $this.$collidingBoundingBoxes;
    case 1:
        $var11.$addCollisionBoxesToList($this, $var8, $var10, $var9, $par1AxisAlignedBB, var$12, var$8);
        if ($rt_suspending()) {
            break main;
        }
        b: while (true) {
            $var10 = $var10 + 1 | 0;
            while ($var10 >= $var5) {
                while (true) {
                    $var9 = $var9 + 1 | 0;
                    while ($var9 >= $var7) {
                        $var8 = $var8 + 1 | 0;
                        if ($var8 >= $var3)
                            break b;
                        $var9 = $var6;
                    }
                    if (!nms_World_blockExists($this, $var8, 64, $var9))
                        continue;
                    else
                        break;
                }
                $var10 = $var4;
            }
            nms_Block_$callClinit();
            $var11 = nms_Block_blocksList.data[nms_World_getBlockId($this, $var8, $var10, $var9)];
            if ($var11 === null)
                continue;
            else {
                var$12 = $this.$collidingBoundingBoxes;
                continue main;
            }
        }
        return $this.$collidingBoundingBoxes;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1AxisAlignedBB, $var8, $var3, $var4, $var5, $var6, $var7, var$8, $var9, $var10, $var11, var$12, $ptr);
}
function nms_World_calculateSkylightSubtracted($this, $par1) {
    var $var3;
    $var3 = 1.0 - (nms_MathHelper_cos(nms_World_getCelestialAngle($this, $par1) * 3.1415927410125732 * 2.0) * 2.0 + 0.5);
    if ($var3 < 0.0)
        $var3 = 0.0;
    if ($var3 > 1.0)
        $var3 = 1.0;
    return (1.0 - (1.0 - $var3) * (1.0 - nms_World_getRainStrength($this, $par1) * 5.0 / 16.0) * (1.0 - nms_World_getWeightedThunderStrength($this, $par1) * 5.0 / 16.0)) * 11.0 | 0;
}
function nms_World_getSunBrightness($this, $par1) {
    var $var3;
    $var3 = 1.0 - (nms_MathHelper_cos(nms_World_getCelestialAngle($this, $par1) * 3.1415927410125732 * 2.0) * 2.0 + 0.20000000298023224);
    if ($var3 < 0.0)
        $var3 = 0.0;
    if ($var3 > 1.0)
        $var3 = 1.0;
    return (1.0 - $var3) * (1.0 - nms_World_getRainStrength($this, $par1) * 5.0 / 16.0) * (1.0 - nms_World_getWeightedThunderStrength($this, $par1) * 5.0 / 16.0) * 0.800000011920929 + 0.20000000298023224;
}
function nms_World_getSkyColor($this, $par1Entity, $par2) {
    var $var4, $var7, $var9, $var10, $var11, $var12, $var3, $var13, $var14, $var15, $var16, $var8;
    $var4 = nms_MathHelper_cos(nms_World_getCelestialAngle($this, $par2) * 3.1415927410125732 * 2.0) * 2.0 + 0.5;
    if ($var4 < 0.10000000149011612)
        $var4 = 0.10000000149011612;
    if ($var4 > 1.0)
        $var4 = 1.0;
    $var7 = nms_World_getBiomeGenForCoords($this, nms_MathHelper_floor_double($par1Entity.$posX), nms_MathHelper_floor_double($par1Entity.$posZ));
    $var9 = nms_BiomeGenBase_getSkyColorByTemp($var7, $var7.$temperature);
    $var10 = ($var9 >> 16 & 255) / 255.0;
    $var11 = ($var9 >> 8 & 255) / 255.0;
    $var12 = ($var9 & 255) / 255.0;
    $var3 = $var10 * $var4;
    $var11 = $var11 * $var4;
    $var4 = $var12 * $var4;
    $var13 = nms_World_getRainStrength($this, $par2);
    if ($var13 > 0.0) {
        $var14 = ($var3 * 0.30000001192092896 + $var11 * 0.5899999737739563 + $var4 * 0.10999999940395355) * 0.6000000238418579;
        $var15 = 1.0 - $var13 * 0.75;
        $var3 = $var3 * $var15;
        $var12 = $var14 * (1.0 - $var15);
        $var3 = $var3 + $var12;
        $var11 = $var11 * $var15 + $var12;
        $var4 = $var4 * $var15 + $var12;
    }
    $var14 = nms_World_getWeightedThunderStrength($this, $par2);
    if ($var14 > 0.0) {
        $var15 = ($var3 * 0.30000001192092896 + $var11 * 0.5899999737739563 + $var4 * 0.10999999940395355) * 0.20000000298023224;
        $var16 = 1.0 - $var14 * 0.75;
        $var3 = $var3 * $var16;
        $var12 = $var15 * (1.0 - $var16);
        $var3 = $var3 + $var12;
        $var11 = $var11 * $var16 + $var12;
        $var4 = $var4 * $var16 + $var12;
    }
    if ($this.$lastLightningBolt > 0) {
        $var15 = $this.$lastLightningBolt - $par2;
        if ($var15 > 1.0)
            $var15 = 1.0;
        $par2 = $var15 * 0.44999998807907104;
        $var12 = 1.0 - $par2;
        $var3 = $var3 * $var12;
        $var8 = 0.800000011920929 * $par2;
        $var3 = $var3 + $var8;
        $var11 = $var11 * $var12 + $var8;
        $var4 = $var4 * $var12 + 1.0 * $par2;
    }
    return nms_Vec3Pool_getVecFromPool($this.$vecPool, $var3, $var11, $var4);
}
function nms_World_getCelestialAngle($this, $par1) {
    return $this.$provider.$calculateCelestialAngle($this.$worldInfo.$worldTime, $par1);
}
function nms_World_getMoonPhase($this) {
    return nms_WorldProvider_getMoonPhase($this.$provider, $this.$worldInfo.$worldTime);
}
function nms_World_getCelestialAngleRadians($this, $par1) {
    return nms_World_getCelestialAngle($this, $par1) * 3.1415927410125732 * 2.0;
}
function nms_World_getCloudColour($this, $par1) {
    var $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var2, $var8_0, $var10;
    $var3 = nms_MathHelper_cos(nms_World_getCelestialAngle($this, $par1) * 3.1415927410125732 * 2.0) * 2.0 + 0.5;
    if ($var3 < 0.0)
        $var3 = 0.0;
    if ($var3 > 1.0)
        $var3 = 1.0;
    $var4 = Long_toNumber(Long_and(Long_shr($this.$cloudColour, 16), Long_fromInt(255))) / 255.0;
    $var5 = Long_toNumber(Long_and(Long_shr($this.$cloudColour, 8), Long_fromInt(255))) / 255.0;
    $var6 = Long_toNumber(Long_and($this.$cloudColour, Long_fromInt(255))) / 255.0;
    $var7 = nms_World_getRainStrength($this, $par1);
    if ($var7 > 0.0) {
        $var8 = ($var4 * 0.30000001192092896 + $var5 * 0.5899999737739563 + $var6 * 0.10999999940395355) * 0.6000000238418579;
        $var9 = 1.0 - $var7 * 0.949999988079071;
        $var2 = $var4 * $var9;
        $var8 = $var8 * (1.0 - $var9);
        $var4 = $var2 + $var8;
        $var5 = $var5 * $var9 + $var8;
        $var6 = $var6 * $var9 + $var8;
    }
    $var2 = $var3 * 0.8999999761581421 + 0.10000000149011612;
    $var8 = $var4 * $var2;
    $var2 = $var5 * $var2;
    $var3 = $var6 * ($var3 * 0.8500000238418579 + 0.15000000596046448);
    $var8_0 = nms_World_getWeightedThunderStrength($this, $par1);
    if ($var8_0 > 0.0) {
        $var9 = ($var8 * 0.30000001192092896 + $var2 * 0.5899999737739563 + $var3 * 0.10999999940395355) * 0.20000000298023224;
        $var10 = 1.0 - $var8_0 * 0.949999988079071;
        $var8 = $var8 * $var10;
        $par1 = $var9 * (1.0 - $var10);
        $var8 = $var8 + $par1;
        $var2 = $var2 * $var10 + $par1;
        $var3 = $var3 * $var10 + $par1;
    }
    return nms_Vec3Pool_getVecFromPool($this.$vecPool, $var8, $var2, $var3);
}
function nms_World_getFogColor($this, $par1) {
    var $var2;
    $var2 = nms_World_getCelestialAngle($this, $par1);
    return $this.$provider.$getFogColor0($var2, $par1);
}
function nms_World_getPrecipitationHeight($this, $par1, $par2) {
    return nms_Chunk_getPrecipitationHeight(nms_World_getChunkFromBlockCoords($this, $par1, $par2), $par1 & 15, $par2 & 15);
}
function nms_World_getStarBrightness($this, $par1) {
    var $var3;
    $var3 = 1.0 - (nms_MathHelper_cos(nms_World_getCelestialAngle($this, $par1) * 3.1415927410125732 * 2.0) * 2.0 + 0.25);
    if ($var3 < 0.0)
        $var3 = 0.0;
    if ($var3 > 1.0)
        $var3 = 1.0;
    return $var3 * $var3 * 0.5;
}
function nms_World_scheduleBlockUpdate($this, $par1, $par2, $par3, $par4, $par5) {
    return;
}
function nms_World_func_82740_a($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    return;
}
function nms_World_updateEntities($this) {
    var $var1, $var2, $var3, $var13, $var14, $var10, $var12, $var15, $var9, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var15 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Profiler_startSection($this.$theProfiler, $rt_s(978));
        nms_Profiler_startSection($this.$theProfiler, $rt_s(997));
        $var1 = 0;
        if ($var1 < $this.$weatherEffects.$size) {
            $var2 = ju_ArrayList_get($this.$weatherEffects, $var1);
            $var2.$ticksExisted = $var2.$ticksExisted + 1 | 0;
            $ptr = 1;
            continue main;
        }
        nms_Profiler_endStartSection($this.$theProfiler, $rt_s(998));
        ju_AbstractCollection_removeAll($this.$loadedEntityList, $this.$unloadedEntityList);
        $var1 = 0;
        while ($var1 < $this.$unloadedEntityList.$size) {
            $var2 = ju_ArrayList_get($this.$unloadedEntityList, $var1);
            $var3 = $var2.$chunkCoordX;
            $var13 = $var2.$chunkCoordZ;
            if ($var2.$addedToChunk && nms_World_chunkExists($this, $var3, $var13))
                nms_World_getChunkFromChunkCoords($this, $var3, $var13).$removeEntity($var2);
            $var1 = $var1 + 1 | 0;
        }
        $var1 = 0;
        while ($var1 < $this.$unloadedEntityList.$size) {
            nms_WorldClient_releaseEntitySkin($this, ju_ArrayList_get($this.$unloadedEntityList, $var1));
            $var1 = $var1 + 1 | 0;
        }
        ju_ArrayList_clear($this.$unloadedEntityList);
        nms_Profiler_endStartSection($this.$theProfiler, $rt_s(999));
        $var1 = 0;
        a: while (true) {
            if ($var1 >= $this.$loadedEntityList.$size) {
                nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1000));
                $this.$scanningTileEntities = 1;
                $var14 = ju_AbstractList_iterator($this.$loadedTileEntityList);
                while (true) {
                    if (!ju_AbstractList$1_hasNext($var14)) {
                        $this.$scanningTileEntities = 0;
                        if (!ju_AbstractCollection_isEmpty($this.$entityRemoval)) {
                            ju_AbstractCollection_removeAll($this.$loadedTileEntityList, $this.$entityRemoval);
                            ju_ArrayList_clear($this.$entityRemoval);
                        }
                        nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1001));
                        if (!ju_AbstractCollection_isEmpty($this.$addedTileEntityList)) {
                            $var10 = 0;
                            while ($var10 < $this.$addedTileEntityList.$size) {
                                $var12 = ju_ArrayList_get($this.$addedTileEntityList, $var10);
                                if (!$var12.$tileEntityInvalid) {
                                    if (!ju_AbstractCollection_contains($this.$loadedTileEntityList, $var12))
                                        ju_ArrayList_add($this.$loadedTileEntityList, $var12);
                                    if (nms_World_chunkExists($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4)) {
                                        $var15 = nms_World_getChunkFromChunkCoords($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4);
                                        if ($var15 !== null) {
                                            $var3 = $var12.$xCoord0 & 15;
                                            $var13 = $var12.$yCoord0;
                                            $var1 = $var12.$zCoord0 & 15;
                                            $ptr = 5;
                                            continue main;
                                        }
                                    }
                                    nms_World_markBlockForUpdate($this, $var12.$xCoord0, $var12.$yCoord0, $var12.$zCoord0);
                                }
                                $var10 = $var10 + 1 | 0;
                            }
                            ju_ArrayList_clear($this.$addedTileEntityList);
                        }
                        nms_Profiler_endSection($this.$theProfiler);
                        nms_Profiler_endSection($this.$theProfiler);
                        return;
                    }
                    $var9 = ju_AbstractList$1_next($var14);
                    if (!$var9.$tileEntityInvalid && nms_TileEntity_func_70309_m($var9) && nms_World_blockExists($this, $var9.$xCoord0, $var9.$yCoord0, $var9.$zCoord0))
                        break;
                    if ($var9.$tileEntityInvalid) {
                        ju_AbstractList$1_remove($var14);
                        if (nms_World_chunkExists($this, $var9.$xCoord0 >> 4, $var9.$zCoord0 >> 4)) {
                            $var11 = nms_World_getChunkFromChunkCoords($this, $var9.$xCoord0 >> 4, $var9.$zCoord0 >> 4);
                            if ($var11 !== null) {
                                $var1 = $var9.$xCoord0 & 15;
                                $var10 = $var9.$yCoord0;
                                $var3 = $var9.$zCoord0 & 15;
                                $ptr = 4;
                                continue main;
                            }
                        }
                    }
                }
                $ptr = 3;
                continue main;
            }
            b: {
                $var2 = ju_ArrayList_get($this.$loadedEntityList, $var1);
                if ($var2.$ridingEntity !== null) {
                    if (!$var2.$ridingEntity.$isDead && $var2.$ridingEntity.$riddenByEntity === $var2)
                        break b;
                    $var2.$ridingEntity.$riddenByEntity = null;
                    $var2.$ridingEntity = null;
                }
                nms_Profiler_startSection($this.$theProfiler, $rt_s(329));
                if (!$var2.$isDead)
                    break a;
                nms_Profiler_endSection($this.$theProfiler);
                nms_Profiler_startSection($this.$theProfiler, $rt_s(998));
                if ($var2.$isDead) {
                    $var3 = $var2.$chunkCoordX;
                    $var13 = $var2.$chunkCoordZ;
                    if ($var2.$addedToChunk && nms_World_chunkExists($this, $var3, $var13))
                        nms_World_getChunkFromChunkCoords($this, $var3, $var13).$removeEntity($var2);
                    $var14 = $this.$loadedEntityList;
                    $var10 = $var1 + (-1) | 0;
                    ju_ArrayList_remove($var14, $var1);
                    nms_WorldClient_releaseEntitySkin($this, $var2);
                    $var1 = $var10;
                }
                nms_Profiler_endSection($this.$theProfiler);
            }
            $var1 = $var1 + 1 | 0;
        }
        $ptr = 2;
        continue main;
    case 1:
        $var2.$onUpdate();
        if ($rt_suspending()) {
            break main;
        }
        if (!$var2.$isDead)
            $var10 = $var1;
        else {
            $var14 = $this.$weatherEffects;
            $var10 = $var1 + (-1) | 0;
            ju_ArrayList_remove($var14, $var1);
        }
        $var1 = $var10 + 1 | 0;
        if ($var1 < $this.$weatherEffects.$size) {
            $var2 = ju_ArrayList_get($this.$weatherEffects, $var1);
            $var2.$ticksExisted = $var2.$ticksExisted + 1 | 0;
            continue main;
        }
        nms_Profiler_endStartSection($this.$theProfiler, $rt_s(998));
        ju_AbstractCollection_removeAll($this.$loadedEntityList, $this.$unloadedEntityList);
        $var1 = 0;
        while ($var1 < $this.$unloadedEntityList.$size) {
            $var2 = ju_ArrayList_get($this.$unloadedEntityList, $var1);
            $var3 = $var2.$chunkCoordX;
            $var13 = $var2.$chunkCoordZ;
            if ($var2.$addedToChunk && nms_World_chunkExists($this, $var3, $var13))
                nms_World_getChunkFromChunkCoords($this, $var3, $var13).$removeEntity($var2);
            $var1 = $var1 + 1 | 0;
        }
        $var1 = 0;
        while ($var1 < $this.$unloadedEntityList.$size) {
            nms_WorldClient_releaseEntitySkin($this, ju_ArrayList_get($this.$unloadedEntityList, $var1));
            $var1 = $var1 + 1 | 0;
        }
        ju_ArrayList_clear($this.$unloadedEntityList);
        nms_Profiler_endStartSection($this.$theProfiler, $rt_s(999));
        $var1 = 0;
        b: while (true) {
            if ($var1 >= $this.$loadedEntityList.$size) {
                nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1000));
                $this.$scanningTileEntities = 1;
                $var14 = ju_AbstractList_iterator($this.$loadedTileEntityList);
                while (true) {
                    if (!ju_AbstractList$1_hasNext($var14)) {
                        $this.$scanningTileEntities = 0;
                        if (!ju_AbstractCollection_isEmpty($this.$entityRemoval)) {
                            ju_AbstractCollection_removeAll($this.$loadedTileEntityList, $this.$entityRemoval);
                            ju_ArrayList_clear($this.$entityRemoval);
                        }
                        nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1001));
                        if (!ju_AbstractCollection_isEmpty($this.$addedTileEntityList)) {
                            $var10 = 0;
                            while ($var10 < $this.$addedTileEntityList.$size) {
                                $var12 = ju_ArrayList_get($this.$addedTileEntityList, $var10);
                                if (!$var12.$tileEntityInvalid) {
                                    if (!ju_AbstractCollection_contains($this.$loadedTileEntityList, $var12))
                                        ju_ArrayList_add($this.$loadedTileEntityList, $var12);
                                    if (nms_World_chunkExists($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4)) {
                                        $var15 = nms_World_getChunkFromChunkCoords($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4);
                                        if ($var15 !== null) {
                                            $var3 = $var12.$xCoord0 & 15;
                                            $var13 = $var12.$yCoord0;
                                            $var1 = $var12.$zCoord0 & 15;
                                            $ptr = 5;
                                            continue main;
                                        }
                                    }
                                    nms_World_markBlockForUpdate($this, $var12.$xCoord0, $var12.$yCoord0, $var12.$zCoord0);
                                }
                                $var10 = $var10 + 1 | 0;
                            }
                            ju_ArrayList_clear($this.$addedTileEntityList);
                        }
                        nms_Profiler_endSection($this.$theProfiler);
                        nms_Profiler_endSection($this.$theProfiler);
                        return;
                    }
                    $var9 = ju_AbstractList$1_next($var14);
                    if (!$var9.$tileEntityInvalid && nms_TileEntity_func_70309_m($var9) && nms_World_blockExists($this, $var9.$xCoord0, $var9.$yCoord0, $var9.$zCoord0))
                        break;
                    if ($var9.$tileEntityInvalid) {
                        ju_AbstractList$1_remove($var14);
                        if (nms_World_chunkExists($this, $var9.$xCoord0 >> 4, $var9.$zCoord0 >> 4)) {
                            $var11 = nms_World_getChunkFromChunkCoords($this, $var9.$xCoord0 >> 4, $var9.$zCoord0 >> 4);
                            if ($var11 !== null) {
                                $var1 = $var9.$xCoord0 & 15;
                                $var10 = $var9.$yCoord0;
                                $var3 = $var9.$zCoord0 & 15;
                                $ptr = 4;
                                continue main;
                            }
                        }
                    }
                }
                $ptr = 3;
                continue main;
            }
            c: {
                $var2 = ju_ArrayList_get($this.$loadedEntityList, $var1);
                if ($var2.$ridingEntity !== null) {
                    if (!$var2.$ridingEntity.$isDead && $var2.$ridingEntity.$riddenByEntity === $var2)
                        break c;
                    $var2.$ridingEntity.$riddenByEntity = null;
                    $var2.$ridingEntity = null;
                }
                nms_Profiler_startSection($this.$theProfiler, $rt_s(329));
                if (!$var2.$isDead)
                    break b;
                nms_Profiler_endSection($this.$theProfiler);
                nms_Profiler_startSection($this.$theProfiler, $rt_s(998));
                if ($var2.$isDead) {
                    $var3 = $var2.$chunkCoordX;
                    $var13 = $var2.$chunkCoordZ;
                    if ($var2.$addedToChunk && nms_World_chunkExists($this, $var3, $var13))
                        nms_World_getChunkFromChunkCoords($this, $var3, $var13).$removeEntity($var2);
                    $var14 = $this.$loadedEntityList;
                    $var10 = $var1 + (-1) | 0;
                    ju_ArrayList_remove($var14, $var1);
                    nms_WorldClient_releaseEntitySkin($this, $var2);
                    $var1 = $var10;
                }
                nms_Profiler_endSection($this.$theProfiler);
            }
            $var1 = $var1 + 1 | 0;
        }
        $ptr = 2;
    case 2:
        nms_World_updateEntity($this, $var2);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            nms_Profiler_endSection($this.$theProfiler);
            nms_Profiler_startSection($this.$theProfiler, $rt_s(998));
            if ($var2.$isDead) {
                $var3 = $var2.$chunkCoordX;
                $var13 = $var2.$chunkCoordZ;
                if ($var2.$addedToChunk && nms_World_chunkExists($this, $var3, $var13))
                    nms_World_getChunkFromChunkCoords($this, $var3, $var13).$removeEntity($var2);
                $var14 = $this.$loadedEntityList;
                $var10 = $var1 + (-1) | 0;
                ju_ArrayList_remove($var14, $var1);
                nms_WorldClient_releaseEntitySkin($this, $var2);
                $var1 = $var10;
            }
            nms_Profiler_endSection($this.$theProfiler);
            a: {
                while (true) {
                    $var1 = $var1 + 1 | 0;
                    if ($var1 >= $this.$loadedEntityList.$size) {
                        nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1000));
                        $this.$scanningTileEntities = 1;
                        $var14 = ju_AbstractList_iterator($this.$loadedTileEntityList);
                        while (true) {
                            if (!ju_AbstractList$1_hasNext($var14)) {
                                $this.$scanningTileEntities = 0;
                                if (!ju_AbstractCollection_isEmpty($this.$entityRemoval)) {
                                    ju_AbstractCollection_removeAll($this.$loadedTileEntityList, $this.$entityRemoval);
                                    ju_ArrayList_clear($this.$entityRemoval);
                                }
                                nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1001));
                                if (!ju_AbstractCollection_isEmpty($this.$addedTileEntityList)) {
                                    $var10 = 0;
                                    while ($var10 < $this.$addedTileEntityList.$size) {
                                        $var12 = ju_ArrayList_get($this.$addedTileEntityList, $var10);
                                        if (!$var12.$tileEntityInvalid) {
                                            if (!ju_AbstractCollection_contains($this.$loadedTileEntityList, $var12))
                                                ju_ArrayList_add($this.$loadedTileEntityList, $var12);
                                            if (nms_World_chunkExists($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4)) {
                                                $var15 = nms_World_getChunkFromChunkCoords($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4);
                                                if ($var15 !== null) {
                                                    $var3 = $var12.$xCoord0 & 15;
                                                    $var13 = $var12.$yCoord0;
                                                    $var1 = $var12.$zCoord0 & 15;
                                                    $ptr = 5;
                                                    continue main;
                                                }
                                            }
                                            nms_World_markBlockForUpdate($this, $var12.$xCoord0, $var12.$yCoord0, $var12.$zCoord0);
                                        }
                                        $var10 = $var10 + 1 | 0;
                                    }
                                    ju_ArrayList_clear($this.$addedTileEntityList);
                                }
                                nms_Profiler_endSection($this.$theProfiler);
                                nms_Profiler_endSection($this.$theProfiler);
                                return;
                            }
                            $var9 = ju_AbstractList$1_next($var14);
                            if (!$var9.$tileEntityInvalid && nms_TileEntity_func_70309_m($var9) && nms_World_blockExists($this, $var9.$xCoord0, $var9.$yCoord0, $var9.$zCoord0))
                                break;
                            if ($var9.$tileEntityInvalid) {
                                ju_AbstractList$1_remove($var14);
                                if (nms_World_chunkExists($this, $var9.$xCoord0 >> 4, $var9.$zCoord0 >> 4)) {
                                    $var11 = nms_World_getChunkFromChunkCoords($this, $var9.$xCoord0 >> 4, $var9.$zCoord0 >> 4);
                                    if ($var11 !== null) {
                                        $var1 = $var9.$xCoord0 & 15;
                                        $var10 = $var9.$yCoord0;
                                        $var3 = $var9.$zCoord0 & 15;
                                        $ptr = 4;
                                        continue main;
                                    }
                                }
                            }
                        }
                        $ptr = 3;
                        continue main;
                    }
                    $var2 = ju_ArrayList_get($this.$loadedEntityList, $var1);
                    if ($var2.$ridingEntity === null)
                        break a;
                    if ($var2.$ridingEntity.$isDead)
                        break;
                    if ($var2.$ridingEntity.$riddenByEntity !== $var2)
                        break;
                }
                $var2.$ridingEntity.$riddenByEntity = null;
                $var2.$ridingEntity = null;
            }
            nms_Profiler_startSection($this.$theProfiler, $rt_s(329));
            if ($var2.$isDead)
                continue;
            else
                break;
        }
        continue main;
    case 3:
        $var9.$updateEntity0();
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            if ($var9.$tileEntityInvalid) {
                ju_AbstractList$1_remove($var14);
                if (nms_World_chunkExists($this, $var9.$xCoord0 >> 4, $var9.$zCoord0 >> 4)) {
                    $var11 = nms_World_getChunkFromChunkCoords($this, $var9.$xCoord0 >> 4, $var9.$zCoord0 >> 4);
                    if ($var11 !== null) {
                        $var1 = $var9.$xCoord0 & 15;
                        $var10 = $var9.$yCoord0;
                        $var3 = $var9.$zCoord0 & 15;
                        $ptr = 4;
                        continue main;
                    }
                }
            }
            if (!ju_AbstractList$1_hasNext($var14)) {
                $this.$scanningTileEntities = 0;
                if (!ju_AbstractCollection_isEmpty($this.$entityRemoval)) {
                    ju_AbstractCollection_removeAll($this.$loadedTileEntityList, $this.$entityRemoval);
                    ju_ArrayList_clear($this.$entityRemoval);
                }
                nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1001));
                if (!ju_AbstractCollection_isEmpty($this.$addedTileEntityList)) {
                    $var10 = 0;
                    while ($var10 < $this.$addedTileEntityList.$size) {
                        $var12 = ju_ArrayList_get($this.$addedTileEntityList, $var10);
                        if (!$var12.$tileEntityInvalid) {
                            if (!ju_AbstractCollection_contains($this.$loadedTileEntityList, $var12))
                                ju_ArrayList_add($this.$loadedTileEntityList, $var12);
                            if (nms_World_chunkExists($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4)) {
                                $var15 = nms_World_getChunkFromChunkCoords($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4);
                                if ($var15 !== null) {
                                    $var3 = $var12.$xCoord0 & 15;
                                    $var13 = $var12.$yCoord0;
                                    $var1 = $var12.$zCoord0 & 15;
                                    $ptr = 5;
                                    continue main;
                                }
                            }
                            nms_World_markBlockForUpdate($this, $var12.$xCoord0, $var12.$yCoord0, $var12.$zCoord0);
                        }
                        $var10 = $var10 + 1 | 0;
                    }
                    ju_ArrayList_clear($this.$addedTileEntityList);
                }
                nms_Profiler_endSection($this.$theProfiler);
                nms_Profiler_endSection($this.$theProfiler);
                return;
            }
            $var9 = ju_AbstractList$1_next($var14);
            if ($var9.$tileEntityInvalid)
                continue;
            if (!nms_TileEntity_func_70309_m($var9))
                continue;
            if (!nms_World_blockExists($this, $var9.$xCoord0, $var9.$yCoord0, $var9.$zCoord0))
                continue;
            else
                break;
        }
        continue main;
    case 4:
        $var11.$removeChunkBlockTileEntity($var1, $var10, $var3);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            if (!ju_AbstractList$1_hasNext($var14)) {
                $this.$scanningTileEntities = 0;
                if (!ju_AbstractCollection_isEmpty($this.$entityRemoval)) {
                    ju_AbstractCollection_removeAll($this.$loadedTileEntityList, $this.$entityRemoval);
                    ju_ArrayList_clear($this.$entityRemoval);
                }
                nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1001));
                if (!ju_AbstractCollection_isEmpty($this.$addedTileEntityList)) {
                    $var10 = 0;
                    while ($var10 < $this.$addedTileEntityList.$size) {
                        $var12 = ju_ArrayList_get($this.$addedTileEntityList, $var10);
                        if (!$var12.$tileEntityInvalid) {
                            if (!ju_AbstractCollection_contains($this.$loadedTileEntityList, $var12))
                                ju_ArrayList_add($this.$loadedTileEntityList, $var12);
                            if (nms_World_chunkExists($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4)) {
                                $var15 = nms_World_getChunkFromChunkCoords($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4);
                                if ($var15 !== null) {
                                    $var3 = $var12.$xCoord0 & 15;
                                    $var13 = $var12.$yCoord0;
                                    $var1 = $var12.$zCoord0 & 15;
                                    $ptr = 5;
                                    continue main;
                                }
                            }
                            nms_World_markBlockForUpdate($this, $var12.$xCoord0, $var12.$yCoord0, $var12.$zCoord0);
                        }
                        $var10 = $var10 + 1 | 0;
                    }
                    ju_ArrayList_clear($this.$addedTileEntityList);
                }
                nms_Profiler_endSection($this.$theProfiler);
                nms_Profiler_endSection($this.$theProfiler);
                return;
            }
            $var9 = ju_AbstractList$1_next($var14);
            if (!$var9.$tileEntityInvalid && nms_TileEntity_func_70309_m($var9) && nms_World_blockExists($this, $var9.$xCoord0, $var9.$yCoord0, $var9.$zCoord0))
                break;
            if (!$var9.$tileEntityInvalid)
                continue;
            ju_AbstractList$1_remove($var14);
            if (!nms_World_chunkExists($this, $var9.$xCoord0 >> 4, $var9.$zCoord0 >> 4))
                continue;
            $var11 = nms_World_getChunkFromChunkCoords($this, $var9.$xCoord0 >> 4, $var9.$zCoord0 >> 4);
            if ($var11 === null)
                continue;
            else {
                $var1 = $var9.$xCoord0 & 15;
                $var10 = $var9.$yCoord0;
                $var3 = $var9.$zCoord0 & 15;
                continue main;
            }
        }
        $ptr = 3;
        continue main;
    case 5:
        $var15.$setChunkBlockTileEntity($var3, $var13, $var1, $var12);
        if ($rt_suspending()) {
            break main;
        }
        d: while (true) {
            nms_World_markBlockForUpdate($this, $var12.$xCoord0, $var12.$yCoord0, $var12.$zCoord0);
            while (true) {
                $var10 = $var10 + 1 | 0;
                if ($var10 >= $this.$addedTileEntityList.$size)
                    break d;
                $var12 = ju_ArrayList_get($this.$addedTileEntityList, $var10);
                if ($var12.$tileEntityInvalid)
                    continue;
                else
                    break;
            }
            if (!ju_AbstractCollection_contains($this.$loadedTileEntityList, $var12))
                ju_ArrayList_add($this.$loadedTileEntityList, $var12);
            if (!nms_World_chunkExists($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4))
                continue;
            $var15 = nms_World_getChunkFromChunkCoords($this, $var12.$xCoord0 >> 4, $var12.$zCoord0 >> 4);
            if ($var15 === null)
                continue;
            else {
                $var3 = $var12.$xCoord0 & 15;
                $var13 = $var12.$yCoord0;
                $var1 = $var12.$zCoord0 & 15;
                continue main;
            }
        }
        ju_ArrayList_clear($this.$addedTileEntityList);
        nms_Profiler_endSection($this.$theProfiler);
        nms_Profiler_endSection($this.$theProfiler);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var13, $var14, $var10, $var12, $var15, $var9, $var11, $ptr);
}
function nms_World_updateEntity($this, $par1Entity) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = 1;
        $ptr = 1;
    case 1:
        nms_World_updateEntityWithOptionalForce($this, $par1Entity, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, var$2, $ptr);
}
function nms_World_updateEntityWithOptionalForce($this, $par1Entity, $par2) {
    var $var3, $var4, $var6, $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = nms_MathHelper_floor_double($par1Entity.$posX);
        $var4 = nms_MathHelper_floor_double($par1Entity.$posZ);
        if (!($par2 && !nms_World_checkChunksExist($this, $var3 - 32 | 0, 0, $var4 - 32 | 0, $var3 + 32 | 0, 0, $var4 + 32 | 0))) {
            $par1Entity.$lastTickPosX = $par1Entity.$posX;
            $par1Entity.$lastTickPosY = $par1Entity.$posY;
            $par1Entity.$lastTickPosZ = $par1Entity.$posZ;
            $par1Entity.$prevRotationYaw = $par1Entity.$rotationYaw;
            $par1Entity.$prevRotationPitch = $par1Entity.$rotationPitch;
            if ($par2 && $par1Entity.$addedToChunk) {
                if ($par1Entity.$ridingEntity !== null) {
                    $ptr = 2;
                    continue main;
                }
                $par1Entity.$ticksExisted = $par1Entity.$ticksExisted + 1 | 0;
                $ptr = 1;
                continue main;
            }
            nms_Profiler_startSection($this.$theProfiler, $rt_s(1002));
            if (!(!(isNaN($par1Entity.$posX) ? 1 : 0) && !(!isFinite($par1Entity.$posX) ? 1 : 0)))
                $par1Entity.$posX = $par1Entity.$lastTickPosX;
            if (!(!(isNaN($par1Entity.$posY) ? 1 : 0) && !(!isFinite($par1Entity.$posY) ? 1 : 0)))
                $par1Entity.$posY = $par1Entity.$lastTickPosY;
            if (!(!(isNaN($par1Entity.$posZ) ? 1 : 0) && !(!isFinite($par1Entity.$posZ) ? 1 : 0)))
                $par1Entity.$posZ = $par1Entity.$lastTickPosZ;
            if (!(!(isNaN($par1Entity.$rotationPitch) ? 1 : 0) && !(!isFinite($par1Entity.$rotationPitch) ? 1 : 0)))
                $par1Entity.$rotationPitch = $par1Entity.$prevRotationPitch;
            if (!(!(isNaN($par1Entity.$rotationYaw) ? 1 : 0) && !(!isFinite($par1Entity.$rotationYaw) ? 1 : 0)))
                $par1Entity.$rotationYaw = $par1Entity.$prevRotationYaw;
            $var6 = nms_MathHelper_floor_double($par1Entity.$posX / 16.0);
            $var7 = nms_MathHelper_floor_double($par1Entity.$posY / 16.0);
            $var8 = nms_MathHelper_floor_double($par1Entity.$posZ / 16.0);
            if (!($par1Entity.$addedToChunk && $par1Entity.$chunkCoordX == $var6 && $par1Entity.$chunkCoordY == $var7 && $par1Entity.$chunkCoordZ == $var8)) {
                if ($par1Entity.$addedToChunk && nms_World_chunkExists($this, $par1Entity.$chunkCoordX, $par1Entity.$chunkCoordZ))
                    nms_World_getChunkFromChunkCoords($this, $par1Entity.$chunkCoordX, $par1Entity.$chunkCoordZ).$removeEntityAtIndex($par1Entity, $par1Entity.$chunkCoordY);
                if (!nms_World_chunkExists($this, $var6, $var8))
                    $par1Entity.$addedToChunk = 0;
                else {
                    $par1Entity.$addedToChunk = 1;
                    nms_World_getChunkFromChunkCoords($this, $var6, $var8).$addEntity($par1Entity);
                }
            }
            nms_Profiler_endSection($this.$theProfiler);
            if ($par2 && $par1Entity.$addedToChunk && $par1Entity.$riddenByEntity !== null) {
                if (!$par1Entity.$riddenByEntity.$isDead && $par1Entity.$riddenByEntity.$ridingEntity === $par1Entity) {
                    $par1Entity = $par1Entity.$riddenByEntity;
                    $ptr = 3;
                    continue main;
                }
                $par1Entity.$riddenByEntity.$ridingEntity = null;
                $par1Entity.$riddenByEntity = null;
            }
        }
        return;
    case 1:
        $par1Entity.$onUpdate();
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_startSection($this.$theProfiler, $rt_s(1002));
        if (!(!(isNaN($par1Entity.$posX) ? 1 : 0) && !(!isFinite($par1Entity.$posX) ? 1 : 0)))
            $par1Entity.$posX = $par1Entity.$lastTickPosX;
        if (!(!(isNaN($par1Entity.$posY) ? 1 : 0) && !(!isFinite($par1Entity.$posY) ? 1 : 0)))
            $par1Entity.$posY = $par1Entity.$lastTickPosY;
        if (!(!(isNaN($par1Entity.$posZ) ? 1 : 0) && !(!isFinite($par1Entity.$posZ) ? 1 : 0)))
            $par1Entity.$posZ = $par1Entity.$lastTickPosZ;
        if (!(!(isNaN($par1Entity.$rotationPitch) ? 1 : 0) && !(!isFinite($par1Entity.$rotationPitch) ? 1 : 0)))
            $par1Entity.$rotationPitch = $par1Entity.$prevRotationPitch;
        if (!(!(isNaN($par1Entity.$rotationYaw) ? 1 : 0) && !(!isFinite($par1Entity.$rotationYaw) ? 1 : 0)))
            $par1Entity.$rotationYaw = $par1Entity.$prevRotationYaw;
        $var6 = nms_MathHelper_floor_double($par1Entity.$posX / 16.0);
        $var7 = nms_MathHelper_floor_double($par1Entity.$posY / 16.0);
        $var8 = nms_MathHelper_floor_double($par1Entity.$posZ / 16.0);
        if (!($par1Entity.$addedToChunk && $par1Entity.$chunkCoordX == $var6 && $par1Entity.$chunkCoordY == $var7 && $par1Entity.$chunkCoordZ == $var8)) {
            if ($par1Entity.$addedToChunk && nms_World_chunkExists($this, $par1Entity.$chunkCoordX, $par1Entity.$chunkCoordZ))
                nms_World_getChunkFromChunkCoords($this, $par1Entity.$chunkCoordX, $par1Entity.$chunkCoordZ).$removeEntityAtIndex($par1Entity, $par1Entity.$chunkCoordY);
            if (!nms_World_chunkExists($this, $var6, $var8))
                $par1Entity.$addedToChunk = 0;
            else {
                $par1Entity.$addedToChunk = 1;
                nms_World_getChunkFromChunkCoords($this, $var6, $var8).$addEntity($par1Entity);
            }
        }
        nms_Profiler_endSection($this.$theProfiler);
        if ($par2 && $par1Entity.$addedToChunk && $par1Entity.$riddenByEntity !== null) {
            if (!$par1Entity.$riddenByEntity.$isDead && $par1Entity.$riddenByEntity.$ridingEntity === $par1Entity) {
                $par1Entity = $par1Entity.$riddenByEntity;
                $ptr = 3;
                continue main;
            }
            $par1Entity.$riddenByEntity.$ridingEntity = null;
            $par1Entity.$riddenByEntity = null;
        }
        return;
    case 2:
        $par1Entity.$updateRidden();
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_startSection($this.$theProfiler, $rt_s(1002));
        if (!(!(isNaN($par1Entity.$posX) ? 1 : 0) && !(!isFinite($par1Entity.$posX) ? 1 : 0)))
            $par1Entity.$posX = $par1Entity.$lastTickPosX;
        if (!(!(isNaN($par1Entity.$posY) ? 1 : 0) && !(!isFinite($par1Entity.$posY) ? 1 : 0)))
            $par1Entity.$posY = $par1Entity.$lastTickPosY;
        if (!(!(isNaN($par1Entity.$posZ) ? 1 : 0) && !(!isFinite($par1Entity.$posZ) ? 1 : 0)))
            $par1Entity.$posZ = $par1Entity.$lastTickPosZ;
        if (!(!(isNaN($par1Entity.$rotationPitch) ? 1 : 0) && !(!isFinite($par1Entity.$rotationPitch) ? 1 : 0)))
            $par1Entity.$rotationPitch = $par1Entity.$prevRotationPitch;
        if (!(!(isNaN($par1Entity.$rotationYaw) ? 1 : 0) && !(!isFinite($par1Entity.$rotationYaw) ? 1 : 0)))
            $par1Entity.$rotationYaw = $par1Entity.$prevRotationYaw;
        $var6 = nms_MathHelper_floor_double($par1Entity.$posX / 16.0);
        $var7 = nms_MathHelper_floor_double($par1Entity.$posY / 16.0);
        $var8 = nms_MathHelper_floor_double($par1Entity.$posZ / 16.0);
        if (!($par1Entity.$addedToChunk && $par1Entity.$chunkCoordX == $var6 && $par1Entity.$chunkCoordY == $var7 && $par1Entity.$chunkCoordZ == $var8)) {
            if ($par1Entity.$addedToChunk && nms_World_chunkExists($this, $par1Entity.$chunkCoordX, $par1Entity.$chunkCoordZ))
                nms_World_getChunkFromChunkCoords($this, $par1Entity.$chunkCoordX, $par1Entity.$chunkCoordZ).$removeEntityAtIndex($par1Entity, $par1Entity.$chunkCoordY);
            if (!nms_World_chunkExists($this, $var6, $var8))
                $par1Entity.$addedToChunk = 0;
            else {
                $par1Entity.$addedToChunk = 1;
                nms_World_getChunkFromChunkCoords($this, $var6, $var8).$addEntity($par1Entity);
            }
        }
        nms_Profiler_endSection($this.$theProfiler);
        if ($par2 && $par1Entity.$addedToChunk && $par1Entity.$riddenByEntity !== null) {
            if (!$par1Entity.$riddenByEntity.$isDead && $par1Entity.$riddenByEntity.$ridingEntity === $par1Entity) {
                $par1Entity = $par1Entity.$riddenByEntity;
                $ptr = 3;
                continue main;
            }
            $par1Entity.$riddenByEntity.$ridingEntity = null;
            $par1Entity.$riddenByEntity = null;
        }
        return;
    case 3:
        nms_World_updateEntity($this, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $var3, $var4, $var6, $var7, $var8, $ptr);
}
function nms_World_checkNoEntityCollision($this, $par1AxisAlignedBB) {
    return nms_World_checkNoEntityCollision0($this, $par1AxisAlignedBB, null);
}
function nms_World_checkNoEntityCollision0($this, $par1AxisAlignedBB, $par2Entity) {
    var $var3, $var4, $var5;
    $var3 = nms_World_getEntitiesWithinAABBExcludingEntity($this, null, $par1AxisAlignedBB);
    $var4 = 0;
    while ($var4 < $var3.$size) {
        $var5 = ju_ArrayList_get($var3, $var4);
        if (!$var5.$isDead && $var5.$preventEntitySpawning && $var5 !== $par2Entity)
            return 0;
        $var4 = $var4 + 1 | 0;
    }
    return 1;
}
function nms_World_isAnyLiquid($this, $par1AxisAlignedBB) {
    var $var8, $var3, $var4, $var5, $var6, $var7, $var9, $var10, $var11;
    $var8 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minX);
    $var3 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxX + 1.0);
    $var4 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minY);
    $var5 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxY + 1.0);
    $var6 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minZ);
    $var7 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxZ + 1.0);
    if ($par1AxisAlignedBB.$minX < 0.0)
        $var8 = $var8 + (-1) | 0;
    if ($par1AxisAlignedBB.$minY < 0.0)
        $var4 = $var4 + (-1) | 0;
    if ($par1AxisAlignedBB.$minZ < 0.0)
        $var6 = $var6 + (-1) | 0;
    while ($var8 < $var3) {
        $var9 = $var4;
        while ($var9 < $var5) {
            $var10 = $var6;
            while ($var10 < $var7) {
                nms_Block_$callClinit();
                $var11 = nms_Block_blocksList.data[nms_World_getBlockId($this, $var8, $var9, $var10)];
                if ($var11 !== null && $var11.$blockMaterial.$isLiquid())
                    return 1;
                $var10 = $var10 + 1 | 0;
            }
            $var9 = $var9 + 1 | 0;
        }
        $var8 = $var8 + 1 | 0;
    }
    return 0;
}
function nms_World_isBoundingBoxBurning($this, $par1AxisAlignedBB) {
    var $var8, $var3, $var4, $var5, $var6, $var7, $var9, $var10, $var11;
    a: {
        b: {
            $var8 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minX);
            $var3 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxX + 1.0);
            $var4 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minY);
            $var5 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxY + 1.0);
            $var6 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minZ);
            $var7 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxZ + 1.0);
            if (nms_World_checkChunksExist($this, $var8, $var4, $var6, $var3, $var5, $var7))
                while (true) {
                    if ($var8 >= $var3)
                        break b;
                    $var9 = $var4;
                    while ($var9 < $var5) {
                        $var10 = $var6;
                        while ($var10 < $var7) {
                            $var11 = nms_World_getBlockId($this, $var8, $var9, $var10);
                            nms_Block_$callClinit();
                            if ($var11 == nms_Block_fire.$blockID)
                                break a;
                            if ($var11 == nms_Block_lavaMoving.$blockID)
                                break a;
                            if ($var11 == nms_Block_lavaStill.$blockID)
                                break a;
                            $var10 = $var10 + 1 | 0;
                        }
                        $var9 = $var9 + 1 | 0;
                    }
                    $var8 = $var8 + 1 | 0;
                }
        }
        return 0;
    }
    return 1;
}
function nms_World_handleMaterialAcceleration($this, $par1AxisAlignedBB, $par2Material, $par3Entity) {
    var $var12, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var18, $var13, $var14, $var15;
    $var12 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minX);
    $var5 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxX + 1.0);
    $var6 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minY);
    $var7 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxY + 1.0);
    $var8 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minZ);
    $var9 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxZ + 1.0);
    if (!nms_World_checkChunksExist($this, $var12, $var6, $var8, $var5, $var7, $var9))
        return 0;
    $var10 = 0;
    $var11 = nms_Vec3Pool_getVecFromPool($this.$vecPool, 0.0, 0.0, 0.0);
    $var18 = $var7;
    while ($var12 < $var5) {
        $var13 = $var6;
        while ($var13 < $var7) {
            $var14 = $var8;
            while ($var14 < $var9) {
                nms_Block_$callClinit();
                $var15 = nms_Block_blocksList.data[nms_World_getBlockId($this, $var12, $var13, $var14)];
                if ($var15 !== null && $var15.$blockMaterial === $par2Material && $var18 >= ($var13 + 1 | 0) - nms_BlockFluid_getFluidHeightPercent(nms_World_getBlockMetadata($this, $var12, $var13, $var14))) {
                    $var10 = 1;
                    $var15.$velocityToAddToEntity($this, $var12, $var13, $var14, $par3Entity, $var11);
                }
                $var14 = $var14 + 1 | 0;
            }
            $var13 = $var13 + 1 | 0;
        }
        $var12 = $var12 + 1 | 0;
    }
    if (nms_Vec3_lengthVector($var11) > 0.0 && $par3Entity.$func_96092_aw()) {
        $par1AxisAlignedBB = nms_Vec3_normalize($var11);
        $par3Entity.$motionX = $par3Entity.$motionX + $par1AxisAlignedBB.$xCoord * 0.014;
        $par3Entity.$motionY = $par3Entity.$motionY + $par1AxisAlignedBB.$yCoord * 0.014;
        $par3Entity.$motionZ = $par3Entity.$motionZ + $par1AxisAlignedBB.$zCoord * 0.014;
    }
    return $var10;
}
function nms_World_isMaterialInBB($this, $par1AxisAlignedBB, $par2Material) {
    var $var9, $var4, $var5, $var6, $var7, $var8, $var10, $var11, $var12;
    $var9 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minX);
    $var4 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxX + 1.0);
    $var5 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minY);
    $var6 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxY + 1.0);
    $var7 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minZ);
    $var8 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxZ + 1.0);
    while ($var9 < $var4) {
        $var10 = $var5;
        while ($var10 < $var6) {
            $var11 = $var7;
            while ($var11 < $var8) {
                nms_Block_$callClinit();
                $var12 = nms_Block_blocksList.data[nms_World_getBlockId($this, $var9, $var10, $var11)];
                if ($var12 !== null && $var12.$blockMaterial === $par2Material)
                    return 1;
                $var11 = $var11 + 1 | 0;
            }
            $var10 = $var10 + 1 | 0;
        }
        $var9 = $var9 + 1 | 0;
    }
    return 0;
}
function nms_World_isAABBInMaterial($this, $par1AxisAlignedBB, $par2Material) {
    var $var9, $var4, $var5, $var6, $var7, $var8, $var10, $var11, $var12, $var13, $var14;
    $var9 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minX);
    $var4 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxX + 1.0);
    $var5 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minY);
    $var6 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxY + 1.0);
    $var7 = nms_MathHelper_floor_double($par1AxisAlignedBB.$minZ);
    $var8 = nms_MathHelper_floor_double($par1AxisAlignedBB.$maxZ + 1.0);
    while ($var9 < $var4) {
        $var10 = $var5;
        while ($var10 < $var6) {
            $var11 = $var7;
            while ($var11 < $var8) {
                nms_Block_$callClinit();
                $var12 = nms_Block_blocksList.data[nms_World_getBlockId($this, $var9, $var10, $var11)];
                if ($var12 !== null && $var12.$blockMaterial === $par2Material) {
                    $var13 = nms_World_getBlockMetadata($this, $var9, $var10, $var11);
                    $var14 = $var10 + 1 | 0;
                    if ($var13 < 8)
                        $var14 = $var14 - $var13 / 8.0;
                    if ($var14 >= $par1AxisAlignedBB.$minY)
                        return 1;
                }
                $var11 = $var11 + 1 | 0;
            }
            $var10 = $var10 + 1 | 0;
        }
        $var9 = $var9 + 1 | 0;
    }
    return 0;
}
function nms_World_newExplosion($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $par10) {
    var $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var11 = nms_Explosion__init_($this, $par1Entity, $par2, $par4, $par6, $par8);
        $var11.$isFlaming = $par9;
        $var11.$isSmoking = $par10;
        $ptr = 1;
    case 1:
        nms_Explosion_doExplosionA($var11);
        if ($rt_suspending()) {
            break main;
        }
        $par9 = 1;
        $ptr = 2;
    case 2:
        nms_Explosion_doExplosionB($var11, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return $var11;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $par10, $var11, $ptr);
}
function nms_World_getBlockDensity($this, $par1Vec3, $par2AxisAlignedBB) {
    var $var3, $var5, $var7, $var9, $var10, $var11, $var12, $var14, $var16, $var18, var$13, var$14, var$15, $var13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var13 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$par2AxisAlignedBB = $thread.pop();$par1Vec3 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = 1.0 / (($par2AxisAlignedBB.$maxX - $par2AxisAlignedBB.$minX) * 2.0 + 1.0);
        $var5 = 1.0 / (($par2AxisAlignedBB.$maxY - $par2AxisAlignedBB.$minY) * 2.0 + 1.0);
        $var7 = 1.0 / (($par2AxisAlignedBB.$maxZ - $par2AxisAlignedBB.$minZ) * 2.0 + 1.0);
        $var9 = 0;
        $var10 = 0;
        $var11 = 0.0;
        while ($var11 <= 1.0) {
            $var12 = 0.0;
            while ($var12 <= 1.0) {
                if (0.0 <= 1.0) {
                    $var14 = $par2AxisAlignedBB.$minX + ($par2AxisAlignedBB.$maxX - $par2AxisAlignedBB.$minX) * $var11;
                    $var16 = $par2AxisAlignedBB.$minY + ($par2AxisAlignedBB.$maxY - $par2AxisAlignedBB.$minY) * $var12;
                    $var18 = $par2AxisAlignedBB.$minZ;
                    var$13 = $par2AxisAlignedBB.$maxZ - $par2AxisAlignedBB.$minZ;
                    var$14 = 0.0;
                    $var18 = $var18 + var$13 * var$14;
                    var$15 = nms_Vec3Pool_getVecFromPool($this.$vecPool, $var14, $var16, $var18);
                    $ptr = 1;
                    continue main;
                }
                $var12 = $var12 + $var5;
            }
            $var11 = $var11 + $var3;
        }
        return $var9 / $var10;
    case 1:
        $tmp = nms_World_rayTraceBlocks($this, var$15, $par1Vec3);
        if ($rt_suspending()) {
            break main;
        }
        var$15 = $tmp;
        if (var$15 === null)
            $var9 = $var9 + 1 | 0;
        $var10 = $var10 + 1 | 0;
        $var13 = var$14 + $var7;
        a: while (true) {
            if ($var13 <= 1.0) {
                $var14 = $par2AxisAlignedBB.$minX + ($par2AxisAlignedBB.$maxX - $par2AxisAlignedBB.$minX) * $var11;
                $var16 = $par2AxisAlignedBB.$minY + ($par2AxisAlignedBB.$maxY - $par2AxisAlignedBB.$minY) * $var12;
                $var18 = $par2AxisAlignedBB.$minZ;
                var$13 = $par2AxisAlignedBB.$maxZ - $par2AxisAlignedBB.$minZ;
                var$14 = $var13;
                $var18 = $var18 + var$13 * var$14;
                var$15 = nms_Vec3Pool_getVecFromPool($this.$vecPool, $var14, $var16, $var18);
                continue main;
            }
            $var12 = $var12 + $var5;
            while ($var12 > 1.0) {
                $var11 = $var11 + $var3;
                if ($var11 > 1.0)
                    break a;
                $var12 = 0.0;
            }
            $var13 = 0.0;
        }
        return $var9 / $var10;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Vec3, $par2AxisAlignedBB, $var3, $var5, $var7, $var9, $var10, $var11, $var12, $var14, $var16, $var18, var$13, var$14, var$15, $var13, $ptr);
}
function nms_World_extinguishFire($this, $par1EntityPlayer, $par2, $par3, $par4, $par5) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par5)
            $par3 = $par3 + (-1) | 0;
        if ($par5 == 1)
            $par3 = $par3 + 1 | 0;
        if ($par5 == 2)
            $par4 = $par4 + (-1) | 0;
        if ($par5 == 3)
            $par4 = $par4 + 1 | 0;
        if ($par5 == 4)
            $par2 = $par2 + (-1) | 0;
        if ($par5 == 5)
            $par2 = $par2 + 1 | 0;
        $par5 = nms_World_getBlockId($this, $par2, $par3, $par4);
        nms_Block_$callClinit();
        if ($par5 != nms_Block_fire.$blockID)
            return 0;
        $par5 = 1004;
        var$6 = 0;
        $ptr = 1;
    case 1:
        nms_World_playAuxSFXAtEntity($this, $par1EntityPlayer, $par5, $par2, $par3, $par4, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        nms_World_setBlockToAir($this, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $par3, $par4, $par5, var$6, $ptr);
}
function nms_World_getDebugLoadedEntities($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1003));
    jl_AbstractStringBuilder_append2(var$1, $this.$loadedEntityList.$size);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_World_getProviderName($this) {
    return nms_ChunkProviderClient_makeString($this.$chunkProvider);
}
function nms_World_getBlockTileEntity($this, $par1, $par2, $par3) {
    var $var4, $var6, $var5, $var7, var$8, $var6_0, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6_0 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par2 >= 0 && $par2 < 256) {
            a: {
                $var4 = null;
                if (!$this.$scanningTileEntities)
                    $var6 = $var4;
                else {
                    $var5 = 0;
                    while (true) {
                        if ($var5 >= $this.$addedTileEntityList.$size) {
                            $var6 = $var4;
                            break a;
                        }
                        $var6 = ju_ArrayList_get($this.$addedTileEntityList, $var5);
                        if (!$var6.$tileEntityInvalid && $var6.$xCoord0 == $par1 && $var6.$yCoord0 == $par2 && $var6.$zCoord0 == $par3)
                            break;
                        $var5 = $var5 + 1 | 0;
                    }
                }
            }
            if ($var6 === null) {
                $var7 = nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par3 >> 4);
                if ($var7 !== null) {
                    $var5 = $par1 & 15;
                    var$8 = $par3 & 15;
                    $ptr = 1;
                    continue main;
                }
            }
            b: {
                if ($var6 !== null)
                    $var6_0 = $var6;
                else {
                    $var5 = 0;
                    while (true) {
                        if ($var5 >= $this.$addedTileEntityList.$size) {
                            $var6_0 = $var6;
                            break b;
                        }
                        $var6_0 = ju_ArrayList_get($this.$addedTileEntityList, $var5);
                        if (!$var6_0.$tileEntityInvalid && $var6_0.$xCoord0 == $par1 && $var6_0.$yCoord0 == $par2 && $var6_0.$zCoord0 == $par3)
                            break;
                        $var5 = $var5 + 1 | 0;
                    }
                }
            }
            return $var6_0;
        }
        return null;
    case 1:
        $tmp = $var7.$getChunkBlockTileEntity($var5, $par2, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $tmp;
        c: {
            if ($var6 !== null)
                $var6_0 = $var6;
            else {
                $var5 = 0;
                while (true) {
                    if ($var5 >= $this.$addedTileEntityList.$size) {
                        $var6_0 = $var6;
                        break c;
                    }
                    $var6_0 = ju_ArrayList_get($this.$addedTileEntityList, $var5);
                    if (!$var6_0.$tileEntityInvalid && $var6_0.$xCoord0 == $par1 && $var6_0.$yCoord0 == $par2 && $var6_0.$zCoord0 == $par3)
                        break;
                    $var5 = $var5 + 1 | 0;
                }
            }
        }
        return $var6_0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var6, $var5, $var7, var$8, $var6_0, $ptr);
}
function nms_World_setBlockTileEntity($this, $par1, $par2, $par3, $par4TileEntity) {
    var $var7, $var5, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var7 = $thread.pop();$par4TileEntity = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($par4TileEntity !== null && !$par4TileEntity.$tileEntityInvalid) {
                if (!$this.$scanningTileEntities) {
                    ju_ArrayList_add($this.$loadedTileEntityList, $par4TileEntity);
                    $var7 = nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par3 >> 4);
                    if ($var7 === null)
                        break a;
                    $par1 = $par1 & 15;
                    $par3 = $par3 & 15;
                    $ptr = 1;
                    continue main;
                }
                $par4TileEntity.$xCoord0 = $par1;
                $par4TileEntity.$yCoord0 = $par2;
                $par4TileEntity.$zCoord0 = $par3;
                $var5 = ju_AbstractList_iterator($this.$addedTileEntityList);
                while (ju_AbstractList$1_hasNext($var5)) {
                    $var6 = ju_AbstractList$1_next($var5);
                    if ($var6.$xCoord0 == $par1 && $var6.$yCoord0 == $par2 && $var6.$zCoord0 == $par3) {
                        $ptr = 2;
                        continue main;
                    }
                }
                ju_ArrayList_add($this.$addedTileEntityList, $par4TileEntity);
            }
        }
        return;
    case 1:
        $var7.$setChunkBlockTileEntity($par1, $par2, $par3, $par4TileEntity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        $var6.$invalidate();
        if ($rt_suspending()) {
            break main;
        }
        ju_AbstractList$1_remove($var5);
        while (ju_AbstractList$1_hasNext($var5)) {
            $var6 = ju_AbstractList$1_next($var5);
            if ($var6.$xCoord0 != $par1)
                continue;
            if ($var6.$yCoord0 != $par2)
                continue;
            if ($var6.$zCoord0 != $par3)
                continue;
            else {
                continue main;
            }
        }
        ju_ArrayList_add($this.$addedTileEntityList, $par4TileEntity);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4TileEntity, $var7, $var5, $var6, $ptr);
}
function nms_World_removeBlockTileEntity($this, $par1, $par2, $par3) {
    var $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        if ($var4 !== null && $this.$scanningTileEntities) {
            $ptr = 2;
            continue main;
        }
        if ($var4 !== null) {
            ju_ArrayList_remove0($this.$addedTileEntityList, $var4);
            ju_ArrayList_remove0($this.$loadedTileEntityList, $var4);
        }
        $var5 = nms_World_getChunkFromChunkCoords($this, $par1 >> 4, $par3 >> 4);
        if ($var5 === null)
            return;
        $par1 = $par1 & 15;
        $par3 = $par3 & 15;
        $ptr = 3;
        continue main;
    case 2:
        $var4.$invalidate();
        if ($rt_suspending()) {
            break main;
        }
        ju_ArrayList_remove0($this.$addedTileEntityList, $var4);
        return;
    case 3:
        $var5.$removeChunkBlockTileEntity($par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $ptr);
}
function nms_World_markTileEntityForDespawn($this, $par1TileEntity) {
    ju_ArrayList_add($this.$entityRemoval, $par1TileEntity);
}
function nms_World_isBlockOpaqueCube($this, $par1, $par2, $par3) {
    var $var4;
    nms_Block_$callClinit();
    $var4 = nms_Block_blocksList.data[nms_World_getBlockId($this, $par1, $par2, $par3)];
    return $var4 !== null ? $var4.$isOpaqueCube() : 0;
}
function nms_World_isBlockNormalCube($this, $par1, $par2, $par3) {
    return nms_Block_isNormalCube(nms_World_getBlockId($this, $par1, $par2, $par3));
}
function nms_World_func_85174_u($this, $par1, $par2, $par3) {
    var $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = nms_World_getBlockId($this, $par1, $par2, $par3);
        if ($var4) {
            nms_Block_$callClinit();
            if (nms_Block_blocksList.data[$var4] !== null) {
                $var5 = nms_Block_blocksList.data[$var4];
                $ptr = 1;
                continue main;
            }
        }
        return 0;
    case 1:
        $tmp = $var5.$getCollisionBoundingBoxFromPool($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        return $var5 !== null && nms_AxisAlignedBB_getAverageEdgeLength($var5) >= 1.0 ? 1 : 0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $ptr);
}
function nms_World_doesBlockHaveSolidTopSurface($this, $par1, $par2, $par3) {
    nms_Block_$callClinit();
    return nms_World_isBlockTopFacingSurfaceSolid($this, nms_Block_blocksList.data[nms_World_getBlockId($this, $par1, $par2, $par3)], nms_World_getBlockMetadata($this, $par1, $par2, $par3));
}
function nms_World_isBlockTopFacingSurfaceSolid($this, $par1Block, $par2) {
    return $par1Block === null ? 0 : nms_Material_isOpaque($par1Block.$blockMaterial) && $par1Block.$renderAsNormalBlock() ? 1 : $par1Block instanceof nms_BlockStairs ? (($par2 & 4) != 4 ? 0 : 1) : $par1Block instanceof nms_BlockHalfSlab ? (($par2 & 8) != 8 ? 0 : 1) : $par1Block instanceof nms_BlockHopper ? 1 : !($par1Block instanceof nms_BlockSnow) ? 0 : ($par2 & 7) != 7 ? 0 : 1;
}
function nms_World_isBlockNormalCubeDefault($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6;
    if ($par1 >= (-30000000) && $par3 >= (-30000000) && $par1 < 30000000 && $par3 < 30000000) {
        $var5 = nms_ChunkProviderClient_provideChunk($this.$chunkProvider, $par1 >> 4, $par3 >> 4);
        if ($var5 !== null && !$var5.$isEmpty()) {
            nms_Block_$callClinit();
            $var6 = nms_Block_blocksList.data[nms_World_getBlockId($this, $par1, $par2, $par3)];
            return $var6 === null ? 0 : nms_Material_isOpaque($var6.$blockMaterial) && $var6.$renderAsNormalBlock() ? 1 : 0;
        }
        return $par4;
    }
    return $par4;
}
function nms_World_calculateInitialSkylight($this) {
    var $var1;
    $var1 = nms_World_calculateSkylightSubtracted($this, 1.0);
    if ($var1 != $this.$skylightSubtracted)
        $this.$skylightSubtracted = $var1;
}
function nms_World_setAllowedSpawnTypes($this, $par1, $par2) {
    $this.$spawnHostileMobs = $par1;
    $this.$spawnPeacefulMobs = $par2;
}
function nms_World_setActivePlayerChunksAndCheckLight($this) {
    var $var1, $var2, $var3, $var4, $var6, $var7, var$7, var$8, var$9;
    ju_HashSet_clear($this.$activeChunkSet);
    nms_Profiler_startSection($this.$theProfiler, $rt_s(1004));
    $var1 = 0;
    while ($var1 < $this.$playerEntities.$size) {
        $var2 = ju_ArrayList_get($this.$playerEntities, $var1);
        $var3 = nms_MathHelper_floor_double($var2.$posX / 16.0);
        $var4 = nms_MathHelper_floor_double($var2.$posZ / 16.0);
        $var6 = (-7);
        while ($var6 <= 7) {
            $var7 = (-7);
            while ($var7 <= 7) {
                $var2 = $this.$activeChunkSet;
                var$7 = new nms_ChunkCoordIntPair;
                var$8 = $var6 + $var3 | 0;
                var$9 = $var7 + $var4 | 0;
                var$7.$chunkXPos = var$8;
                var$7.$chunkZPos = var$9;
                ju_HashSet_add($var2, var$7);
                $var7 = $var7 + 1 | 0;
            }
            $var6 = $var6 + 1 | 0;
        }
        $var1 = $var1 + 1 | 0;
    }
    nms_Profiler_endSection($this.$theProfiler);
    if ($this.$ambientTickCountdown > 0)
        $this.$ambientTickCountdown = $this.$ambientTickCountdown - 1 | 0;
    nms_Profiler_startSection($this.$theProfiler, $rt_s(1005));
    if (!ju_AbstractCollection_isEmpty($this.$playerEntities)) {
        $var1 = nle_EaglercraftRandom_nextInt($this.$rand, $this.$playerEntities.$size);
        $var2 = ju_ArrayList_get($this.$playerEntities, $var1);
        nms_World_updateAllLightTypes($this, (nms_MathHelper_floor_double($var2.$posX) + nle_EaglercraftRandom_nextInt($this.$rand, 11) | 0) - 5 | 0, (nms_MathHelper_floor_double($var2.$posY) + nle_EaglercraftRandom_nextInt($this.$rand, 11) | 0) - 5 | 0, (nms_MathHelper_floor_double($var2.$posZ) + nle_EaglercraftRandom_nextInt($this.$rand, 11) | 0) - 5 | 0);
    }
    nms_Profiler_endSection($this.$theProfiler);
}
function nms_World_moodSoundAndLightCheck($this, $par1, $par2, $par3Chunk) {
    nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1006));
    nms_Profiler_endStartSection($this.$theProfiler, $rt_s(996));
    nms_Chunk_enqueueRelightChecks($par3Chunk);
}
function nms_World_updateAllLightTypes($this, $par1, $par2, $par3) {
    if (!$this.$provider.$hasNoSky)
        nms_World_updateLightByType($this, nms_EnumSkyBlock_Sky, $par1, $par2, $par3);
    nms_World_updateLightByType($this, nms_EnumSkyBlock_Block, $par1, $par2, $par3);
}
function nms_World_computeLightValue($this, $par1, $par2, $par3, $par4EnumSkyBlock) {
    var $var5, $var6, $var7, $var8, $var12;
    if ($par4EnumSkyBlock === nms_EnumSkyBlock_Sky && nms_World_canBlockSeeTheSky($this, $par1, $par2, $par3))
        return 15;
    $var5 = nms_World_getBlockId($this, $par1, $par2, $par3);
    if ($par4EnumSkyBlock === nms_EnumSkyBlock_Sky)
        $var6 = 0;
    else {
        nms_Block_$callClinit();
        $var6 = nms_Block_lightValue.data[$var5];
    }
    nms_Block_$callClinit();
    $var7 = nms_Block_lightOpacity.data[$var5];
    if ($var7 >= 15 && nms_Block_lightValue.data[$var5] > 0)
        $var7 = 1;
    if ($var7 < 1)
        $var7 = 1;
    if ($var7 >= 15)
        return 0;
    if ($var6 >= 14)
        return $var6;
    $var8 = 0;
    while ($var8 < 6) {
        $var12 = nms_World_getSavedLightValue($this, $par4EnumSkyBlock, $par1 + nms_Facing_offsetsXForSide.data[$var8] | 0, $par2 + nms_Facing_offsetsYForSide.data[$var8] | 0, $par3 + nms_Facing_offsetsZForSide.data[$var8] | 0) - $var7 | 0;
        if ($var12 <= $var6)
            $var12 = $var6;
        if ($var12 >= 14)
            return $var12;
        $var8 = $var8 + 1 | 0;
        $var6 = $var12;
    }
    return $var6;
}
function nms_World_updateLightByType($this, $par1EnumSkyBlock, $par2, $par3, $par4) {
    var $var5, $var7, $var8, var$8, $var9, $var10, $var11, $var12, $var13, $var18, $var19, $var20, $var21, $var22, $var10_0, $var11_0, $var12_0, $var13_0, $var14, $var15, $var16, $var17, $var23;
    if (nms_World_doChunksNearChunkExist($this, $par2, $par3, $par4, 17)) {
        $var5 = 0;
        nms_Profiler_startSection($this.$theProfiler, $rt_s(1007));
        $var7 = nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $par2, $par3, $par4);
        $var8 = $rt_compare(nms_World_computeLightValue($this, $par2, $par3, $par4, $par1EnumSkyBlock), $var7);
        if ($var8 > 0) {
            var$8 = $this.$lightUpdateBlockList.data;
            $var8 = 1;
            var$8[0] = 133152;
        } else if ($var8 >= 0)
            $var8 = 0;
        else {
            var$8 = $this.$lightUpdateBlockList.data;
            $var8 = 1;
            var$8[0] = 133152 | $var7 << 18;
            while ($var5 < $var8) {
                var$8 = $this.$lightUpdateBlockList.data;
                $var7 = $var5 + 1 | 0;
                $var9 = var$8[$var5];
                $var10 = (($var9 & 63) - 32 | 0) + $par2 | 0;
                $var11 = (($var9 >> 6 & 63) - 32 | 0) + $par3 | 0;
                $var12 = (($var9 >> 12 & 63) - 32 | 0) + $par4 | 0;
                $var13 = $var9 >> 18 & 15;
                if (nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $var10, $var11, $var12) != $var13) {
                    $var5 = $var7;
                    continue;
                }
                nms_World_setLightValue($this, $par1EnumSkyBlock, $var10, $var11, $var12, 0);
                if ($var13 <= 0) {
                    $var5 = $var7;
                    continue;
                }
                if (((nms_MathHelper_abs_int($var10 - $par2 | 0) + nms_MathHelper_abs_int($var11 - $par3 | 0) | 0) + nms_MathHelper_abs_int($var12 - $par4 | 0) | 0) >= 17) {
                    $var5 = $var7;
                    continue;
                }
                $var18 = 0;
                while ($var18 < 6) {
                    $var19 = $var10 + nms_Facing_offsetsXForSide.data[$var18] | 0;
                    $var20 = $var11 + nms_Facing_offsetsYForSide.data[$var18] | 0;
                    $var21 = $var12 + nms_Facing_offsetsZForSide.data[$var18] | 0;
                    nms_Block_$callClinit();
                    $var22 = jl_Math_max(1, nms_Block_lightOpacity.data[nms_World_getBlockId($this, $var19, $var20, $var21)]);
                    $var10_0 = nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $var19, $var20, $var21);
                    $var22 = $var13 - $var22 | 0;
                    if ($var10_0 == $var22 && $var8 < $this.$lightUpdateBlockList.data.length) {
                        var$8 = $this.$lightUpdateBlockList.data;
                        $var10_0 = $var8 + 1 | 0;
                        var$8[$var8] = (($var19 - $par2 | 0) + 32 | 0) | (($var20 - $par3 | 0) + 32 | 0) << 6 | (($var21 - $par4 | 0) + 32 | 0) << 12 | $var22 << 18;
                        $var8 = $var10_0;
                    }
                    $var18 = $var18 + 1 | 0;
                }
                $var5 = $var7;
            }
            $var5 = 0;
        }
        nms_Profiler_endSection($this.$theProfiler);
        nms_Profiler_startSection($this.$theProfiler, $rt_s(1008));
        while ($var5 < $var8) {
            var$8 = $this.$lightUpdateBlockList.data;
            $var22 = $var5 + 1 | 0;
            $var9 = var$8[$var5];
            $var10_0 = (($var9 & 63) - 32 | 0) + $par2 | 0;
            $var11_0 = (($var9 >> 6 & 63) - 32 | 0) + $par3 | 0;
            $var12_0 = (($var9 >> 12 & 63) - 32 | 0) + $par4 | 0;
            $var13_0 = nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $var10_0, $var11_0, $var12_0);
            $var14 = nms_World_computeLightValue($this, $var10_0, $var11_0, $var12_0, $par1EnumSkyBlock);
            $var7 = $rt_compare($var14, $var13_0);
            if (!$var7) {
                $var5 = $var22;
                continue;
            }
            nms_World_setLightValue($this, $par1EnumSkyBlock, $var10_0, $var11_0, $var12_0, $var14);
            if ($var7 <= 0) {
                $var5 = $var22;
                continue;
            }
            $var13_0 = $var10_0 - $par2 | 0;
            $var15 = jl_Math_abs($var13_0);
            $var10 = $var11_0 - $par3 | 0;
            $var16 = jl_Math_abs($var10);
            $var11 = $var12_0 - $par4 | 0;
            $var17 = jl_Math_abs($var11);
            $var23 = $var8 >= ($this.$lightUpdateBlockList.data.length - 6 | 0) ? 0 : 1;
            if ((($var15 + $var16 | 0) + $var17 | 0) < 17 && $var23) {
                $var15 = $var10_0 - 1 | 0;
                if (nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $var15, $var11_0, $var12_0) >= $var14)
                    $var23 = $var8;
                else {
                    var$8 = $this.$lightUpdateBlockList.data;
                    $var23 = $var8 + 1 | 0;
                    var$8[$var8] = ((($var15 - $par2 | 0) + 32 | 0) + (($var10 + 32 | 0) << 6) | 0) + (($var11 + 32 | 0) << 12) | 0;
                }
                $var8 = $var10_0 + 1 | 0;
                if (nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $var8, $var11_0, $var12_0) >= $var14)
                    $var17 = $var23;
                else {
                    var$8 = $this.$lightUpdateBlockList.data;
                    $var17 = $var23 + 1 | 0;
                    var$8[$var23] = ((($var8 - $par2 | 0) + 32 | 0) + (($var10 + 32 | 0) << 6) | 0) + (($var11 + 32 | 0) << 12) | 0;
                }
                $var8 = $var11_0 - 1 | 0;
                if (nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $var10_0, $var8, $var12_0) >= $var14)
                    $var16 = $var17;
                else {
                    var$8 = $this.$lightUpdateBlockList.data;
                    $var16 = $var17 + 1 | 0;
                    var$8[$var17] = (($var13_0 + 32 | 0) + ((($var8 - $par3 | 0) + 32 | 0) << 6) | 0) + (($var11 + 32 | 0) << 12) | 0;
                }
                $var7 = $var11_0 + 1 | 0;
                if (nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $var10_0, $var7, $var12_0) >= $var14)
                    $var8 = $var16;
                else {
                    var$8 = $this.$lightUpdateBlockList.data;
                    $var8 = $var16 + 1 | 0;
                    var$8[$var16] = (($var13_0 + 32 | 0) + ((($var7 - $par3 | 0) + 32 | 0) << 6) | 0) + (($var11 + 32 | 0) << 12) | 0;
                }
                $var7 = $var12_0 - 1 | 0;
                if (nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $var10_0, $var11_0, $var7) >= $var14)
                    $var15 = $var8;
                else {
                    var$8 = $this.$lightUpdateBlockList.data;
                    $var15 = $var8 + 1 | 0;
                    var$8[$var8] = (($var13_0 + 32 | 0) + (($var10 + 32 | 0) << 6) | 0) + ((($var7 - $par4 | 0) + 32 | 0) << 12) | 0;
                }
                $var7 = $var12_0 + 1 | 0;
                if (nms_World_getSavedLightValue($this, $par1EnumSkyBlock, $var10_0, $var11_0, $var7) >= $var14)
                    $var8 = $var15;
                else {
                    var$8 = $this.$lightUpdateBlockList.data;
                    $var8 = $var15 + 1 | 0;
                    var$8[$var15] = (($var13_0 + 32 | 0) + (($var10 + 32 | 0) << 6) | 0) + ((($var7 - $par4 | 0) + 32 | 0) << 12) | 0;
                }
            }
            $var5 = $var22;
        }
        nms_Profiler_endSection($this.$theProfiler);
    }
}
function nms_World_getEntitiesWithinAABBExcludingEntity($this, $par1Entity, $par2AxisAlignedBB) {
    return nms_World_getEntitiesWithinAABBExcludingEntity0($this, $par1Entity, $par2AxisAlignedBB, null);
}
function nms_World_getEntitiesWithinAABBExcludingEntity0($this, $par1Entity, $par2AxisAlignedBB, $par3IEntitySelector) {
    var $var4, $var9, $var6, $var7, $var8, $var10;
    $var4 = ju_ArrayList__init_0();
    $var9 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$minX - 2.0) / 16.0);
    $var6 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$maxX + 2.0) / 16.0);
    $var7 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$minZ - 2.0) / 16.0);
    $var8 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$maxZ + 2.0) / 16.0);
    while ($var9 <= $var6) {
        $var10 = $var7;
        while ($var10 <= $var8) {
            if (nms_World_chunkExists($this, $var9, $var10))
                nms_World_getChunkFromChunkCoords($this, $var9, $var10).$getEntitiesWithinAABBForEntity($par1Entity, $par2AxisAlignedBB, $var4, $par3IEntitySelector);
            $var10 = $var10 + 1 | 0;
        }
        $var9 = $var9 + 1 | 0;
    }
    return $var4;
}
function nms_World_getEntitiesWithinAABB($this, $par1Class, $par2AxisAlignedBB) {
    return nms_World_selectEntitiesWithinAABB($this, $par1Class, $par2AxisAlignedBB, null);
}
function nms_World_selectEntitiesWithinAABB($this, $par1Class, $par2AxisAlignedBB, $par3IEntitySelector) {
    var $var9, $var5, $var6, $var7, $var8, $var10;
    $var9 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$minX - 2.0) / 16.0);
    $var5 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$maxX + 2.0) / 16.0);
    $var6 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$minZ - 2.0) / 16.0);
    $var7 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$maxZ + 2.0) / 16.0);
    $var8 = ju_ArrayList__init_0();
    while ($var9 <= $var5) {
        $var10 = $var6;
        while ($var10 <= $var7) {
            if (nms_World_chunkExists($this, $var9, $var10))
                nms_World_getChunkFromChunkCoords($this, $var9, $var10).$getEntitiesOfTypeWithinAAAB($par1Class, $par2AxisAlignedBB, $var8, $par3IEntitySelector);
            $var10 = $var10 + 1 | 0;
        }
        $var9 = $var9 + 1 | 0;
    }
    return $var8;
}
function nms_World_getLoadedEntityList($this) {
    return $this.$loadedEntityList;
}
function nms_World_updateTileEntityChunkAndDoNothing($this, $par1, $par2, $par3, $par4TileEntity) {
    if (nms_World_blockExists($this, $par1, $par2, $par3))
        nms_World_getChunkFromBlockCoords($this, $par1, $par3).$setChunkModified();
}
function nms_World_unloadEntities($this, $par1List) {
    ju_AbstractCollection_addAll($this.$unloadedEntityList, $par1List);
}
function nms_World_canPlaceEntityOnSide($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity, $par8ItemStack) {
    var $var9, $var10, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$par8ItemStack = $thread.pop();$par7Entity = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var9 = nms_World_getBlockId($this, $par2, $par3, $par4);
        nms_Block_$callClinit();
        $var10 = nms_Block_blocksList.data[$var9];
        $var11 = nms_Block_blocksList.data[$par1];
        $ptr = 1;
    case 1:
        $tmp = $var11.$getCollisionBoundingBoxFromPool($this, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $tmp;
        if ($par5)
            $var12 = null;
        if ($var12 !== null && !nms_World_checkNoEntityCollision0($this, $var12, $par7Entity))
            return 0;
        if ($var10 !== null && !($var10 !== nms_Block_waterMoving && $var10 !== nms_Block_waterStill && $var10 !== nms_Block_lavaMoving && $var10 !== nms_Block_lavaStill && $var10 !== nms_Block_fire && !$var10.$blockMaterial.$replaceable))
            $var10 = null;
        a: {
            if ($var10 !== null) {
                $par7Entity = $var10.$blockMaterial;
                nms_Material_$callClinit();
                if ($par7Entity === nms_Material_circuits && $var11 === nms_Block_anvil) {
                    $par1 = 1;
                    break a;
                }
            }
            if ($par1 > 0 && $var10 === null && $var11.$canPlaceBlockOnSide($this, $par2, $par3, $par4, $par6))
                $par1 = 1;
            else
                $par1 = 0;
        }
        return $par1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity, $par8ItemStack, $var9, $var10, $var11, $var12, $ptr);
}
function nms_World_getPathEntityToEntity($this, $par1Entity, $par2Entity, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var10, $var11, $var19;
    nms_Profiler_startSection($this.$theProfiler, $rt_s(1009));
    $var8 = nms_MathHelper_floor_double($par1Entity.$posX);
    $var9 = nms_MathHelper_floor_double($par1Entity.$posY + 1.0);
    $var10 = nms_MathHelper_floor_double($par1Entity.$posZ);
    $var11 = $par3 + 16.0 | 0;
    $var19 = nms_PathFinder_createEntityPathTo(nms_PathFinder__init_(nms_ChunkCache__init_($this, $var8 - $var11 | 0, $var9 - $var11 | 0, $var10 - $var11 | 0, $var8 + $var11 | 0, $var9 + $var11 | 0, $var10 + $var11 | 0, 0), $par4, $par5, $par6, $par7), $par1Entity, $par2Entity, $par3);
    nms_Profiler_endSection($this.$theProfiler);
    return $var19;
}
function nms_World_getEntityPathToXYZ($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    var $var10, $var11, $var12, $var13, $var21;
    nms_Profiler_startSection($this.$theProfiler, $rt_s(1009));
    $var10 = nms_MathHelper_floor_double($par1Entity.$posX);
    $var11 = nms_MathHelper_floor_double($par1Entity.$posY);
    $var12 = nms_MathHelper_floor_double($par1Entity.$posZ);
    $var13 = $par5 + 8.0 | 0;
    $var21 = nms_PathFinder_createEntityPathTo0(nms_PathFinder__init_(nms_ChunkCache__init_($this, $var10 - $var13 | 0, $var11 - $var13 | 0, $var12 - $var13 | 0, $var10 + $var13 | 0, $var11 + $var13 | 0, $var12 + $var13 | 0, 0), $par6, $par7, $par8, $par9), $par1Entity, $par2, $par3, $par4, $par5);
    nms_Profiler_endSection($this.$theProfiler);
    return $var21;
}
function nms_World_isBlockProvidingPowerTo($this, $par1, $par2, $par3, $par4) {
    var $var5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = nms_World_getBlockId($this, $par1, $par2, $par3);
        if (!$var5)
            return 0;
        nms_Block_$callClinit();
        var$6 = nms_Block_blocksList.data[$var5];
        $ptr = 1;
    case 1:
        $tmp = var$6.$isProvidingStrongPower($this, $par1, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        return $par1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, var$6, $ptr);
}
function nms_World_getBlockPowerInput($this, $par1, $par2, $par3) {
    var $var4, var$5, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = 0;
        var$5 = $par2 - 1 | 0;
        $var5 = 0;
        $ptr = 1;
    case 1:
        $tmp = nms_World_isBlockProvidingPowerTo($this, $par1, var$5, $par3, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        $var5 = jl_Math_max($var4, $var5);
        if ($var5 >= 15)
            return $var5;
        $var4 = $par2 + 1 | 0;
        var$5 = 1;
        $ptr = 2;
    case 2:
        $tmp = nms_World_isBlockProvidingPowerTo($this, $par1, $var4, $par3, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        var$5 = jl_Math_max($var5, $var4);
        if (var$5 >= 15)
            return var$5;
        $var4 = $par3 - 1 | 0;
        $var5 = 2;
        $ptr = 3;
    case 3:
        $tmp = nms_World_isBlockProvidingPowerTo($this, $par1, $par2, $var4, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        $var4 = jl_Math_max(var$5, $var4);
        if ($var4 >= 15)
            return $var4;
        $var5 = $par3 + 1 | 0;
        var$5 = 3;
        $ptr = 4;
    case 4:
        $tmp = nms_World_isBlockProvidingPowerTo($this, $par1, $par2, $var5, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        $var4 = jl_Math_max($var4, $var5);
        if ($var4 >= 15)
            return $var4;
        $var5 = $par1 - 1 | 0;
        var$5 = 4;
        $ptr = 5;
    case 5:
        $tmp = nms_World_isBlockProvidingPowerTo($this, $var5, $par2, $par3, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        $var4 = jl_Math_max($var4, $var5);
        if ($var4 >= 15)
            return $var4;
        $par1 = $par1 + 1 | 0;
        $var5 = 5;
        $ptr = 6;
    case 6:
        $tmp = nms_World_isBlockProvidingPowerTo($this, $par1, $par2, $par3, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        $par1 = jl_Math_max($var4, $par1);
        return $par1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, var$5, $var5, $ptr);
}
function nms_World_getIndirectPowerOutput($this, $par1, $par2, $par3, $par4) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getIndirectPowerLevelTo($this, $par1, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        return $par1 <= 0 ? 0 : 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $ptr);
}
function nms_World_getIndirectPowerLevelTo($this, $par1, $par2, $par3, $par4) {
    var $var5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_World_isBlockNormalCube($this, $par1, $par2, $par3)) {
            $ptr = 1;
            continue main;
        }
        $var5 = nms_World_getBlockId($this, $par1, $par2, $par3);
        if (!$var5)
            return 0;
        nms_Block_$callClinit();
        var$6 = nms_Block_blocksList.data[$var5];
        $ptr = 2;
        continue main;
    case 1:
        $tmp = nms_World_getBlockPowerInput($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        return $par1;
    case 2:
        $tmp = var$6.$isProvidingWeakPower($this, $par1, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        return $par1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, var$6, $ptr);
}
function nms_World_isBlockIndirectlyGettingPowered($this, $par1, $par2, $par3) {
    var var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = $par2 - 1 | 0;
        var$5 = 0;
        $ptr = 1;
    case 1:
        $tmp = nms_World_getIndirectPowerLevelTo($this, $par1, var$4, $par3, var$5);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $tmp;
        if (var$5 > 0)
            return 1;
        var$5 = $par2 + 1 | 0;
        var$4 = 1;
        $ptr = 2;
    case 2:
        $tmp = nms_World_getIndirectPowerLevelTo($this, $par1, var$5, $par3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $tmp;
        if (var$5 > 0)
            return 1;
        var$4 = $par3 - 1 | 0;
        var$5 = 2;
        $ptr = 3;
    case 3:
        $tmp = nms_World_getIndirectPowerLevelTo($this, $par1, $par2, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $tmp;
        if (var$5 > 0)
            return 1;
        var$5 = $par3 + 1 | 0;
        var$4 = 3;
        $ptr = 4;
    case 4:
        $tmp = nms_World_getIndirectPowerLevelTo($this, $par1, $par2, var$5, var$4);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $tmp;
        if (var$5 > 0)
            return 1;
        var$5 = $par1 - 1 | 0;
        var$4 = 4;
        $ptr = 5;
    case 5:
        $tmp = nms_World_getIndirectPowerLevelTo($this, var$5, $par2, $par3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $tmp;
        if (var$5 > 0)
            return 1;
        $par1 = $par1 + 1 | 0;
        var$5 = 5;
        $ptr = 6;
    case 6:
        $tmp = nms_World_getIndirectPowerLevelTo($this, $par1, $par2, $par3, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        return $par1 <= 0 ? 0 : 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, $ptr);
}
function nms_World_getClosestPlayerToEntity($this, $par1Entity, $par2) {
    return nms_World_getClosestPlayer($this, $par1Entity.$posX, $par1Entity.$posY, $par1Entity.$posZ, $par2);
}
function nms_World_getClosestPlayer($this, $par1, $par3, $par5, $par7) {
    var $var9, $var11, $var12, var$8, var$9, $var13, $var14;
    $var9 = (-1.0);
    $var11 = null;
    $var12 = 0;
    var$8 = $rt_compare($par7, 0.0);
    var$9 = $par7 * $par7;
    while ($var12 < $this.$playerEntities.$size) {
        $var13 = ju_ArrayList_get($this.$playerEntities, $var12);
        $var14 = nms_Entity_getDistanceSq($var13, $par1, $par3, $par5);
        if (!(var$8 >= 0 && $var14 >= var$9) && !($var9 !== (-1.0) && $var14 >= $var9)) {
            $var9 = $var14;
            $var11 = $var13;
        }
        $var12 = $var12 + 1 | 0;
    }
    return $var11;
}
function nms_World_getClosestVulnerablePlayerToEntity($this, $par1Entity, $par2) {
    return nms_World_getClosestVulnerablePlayer($this, $par1Entity.$posX, $par1Entity.$posY, $par1Entity.$posZ, $par2);
}
function nms_World_getClosestVulnerablePlayer($this, $par1, $par3, $par5, $par7) {
    var $var9, $var11, $var12, var$8, var$9, $var13, $var14, var$12, $var18;
    $var9 = (-1.0);
    $var11 = null;
    $var12 = 0;
    var$8 = $par7 * 0.800000011920929;
    var$9 = $rt_compare($par7, 0.0);
    while ($var12 < $this.$playerEntities.$size) {
        $var13 = ju_ArrayList_get($this.$playerEntities, $var12);
        if (!$var13.$capabilities.$disableDamage && nms_EntityLiving_isEntityAlive($var13)) {
            $var14 = nms_Entity_getDistanceSq($var13, $par1, $par3, $par5);
            var$12 = $var13.$isSneaking() ? var$8 : $par7;
            if (nms_Entity_isInvisible($var13)) {
                $var18 = nms_EntityPlayer_func_82243_bO($var13);
                if ($var18 < 0.10000000149011612)
                    $var18 = 0.10000000149011612;
                var$12 = var$12 * 0.699999988079071 * $var18;
            }
            if (!(var$9 >= 0 && $var14 >= var$12 * var$12) && !($var9 !== (-1.0) && $var14 >= $var9)) {
                $var9 = $var14;
                $var11 = $var13;
            }
        }
        $var12 = $var12 + 1 | 0;
    }
    return $var11;
}
function nms_World_getPlayerEntityByName($this, $par1Str) {
    var $var2;
    $var2 = 0;
    while ($var2 < $this.$playerEntities.$size) {
        if ($par1Str.$equals(ju_ArrayList_get($this.$playerEntities, $var2).$username0))
            return ju_ArrayList_get($this.$playerEntities, $var2);
        $var2 = $var2 + 1 | 0;
    }
    return null;
}
function nms_World_func_82738_a($this, $par1) {
    $this.$worldInfo.$totalTime = $par1;
}
function nms_World_getTotalWorldTime($this) {
    return $this.$worldInfo.$totalTime;
}
function nms_World_getWorldTime($this) {
    return $this.$worldInfo.$worldTime;
}
function nms_World_setWorldTime($this, $par1) {
    $this.$worldInfo.$worldTime = $par1;
}
function nms_World_getSpawnPoint($this) {
    return nms_ChunkCoordinates__init_0($this.$worldInfo.$spawnX, $this.$worldInfo.$spawnY, $this.$worldInfo.$spawnZ);
}
function nms_World_setSpawnLocation0($this, $par1, $par2, $par3) {
    nms_WorldInfo_setSpawnPosition($this.$worldInfo, $par1, $par2, $par3);
}
function nms_World_joinEntityInSurroundings($this, $par1Entity) {
    var $var2, $var3, $var5, var$5, $var4, $var6;
    $var2 = nms_MathHelper_floor_double($par1Entity.$posX / 16.0);
    $var3 = nms_MathHelper_floor_double($par1Entity.$posZ / 16.0);
    $var5 = $var2 - 2 | 0;
    $var2 = $var2 + 2 | 0;
    var$5 = $var3 - 2 | 0;
    $var4 = $var3 + 2 | 0;
    while ($var5 <= $var2) {
        $var6 = var$5;
        while ($var6 <= $var4) {
            nms_World_getChunkFromChunkCoords($this, $var5, $var6);
            $var6 = $var6 + 1 | 0;
        }
        $var5 = $var5 + 1 | 0;
    }
    if (!ju_AbstractCollection_contains($this.$loadedEntityList, $par1Entity))
        ju_ArrayList_add($this.$loadedEntityList, $par1Entity);
}
function nms_World_canMineBlock($this, $par1EntityPlayer, $par2, $par3, $par4) {
    return 1;
}
function nms_World_setEntityState($this, $par1Entity, $par2) {
    return;
}
function nms_World_addBlockEvent($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    var var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par4 <= 0)
            return;
        nms_Block_$callClinit();
        var$7 = nms_Block_blocksList.data[$par4];
        $ptr = 1;
    case 1:
        var$7.$onBlockEventReceived($this, $par1, $par2, $par3, $par5, $par6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5, $par6, var$7, $ptr);
}
function nms_World_getWorldInfo($this) {
    return $this.$worldInfo;
}
function nms_World_getGameRules($this) {
    return $this.$worldInfo.$theGameRules;
}
function nms_World_updateAllPlayersSleepingFlag($this) {
    return;
}
function nms_World_getWeightedThunderStrength($this, $par1) {
    return ($this.$prevThunderingStrength + ($this.$thunderingStrength - $this.$prevThunderingStrength) * $par1) * nms_World_getRainStrength($this, $par1);
}
function nms_World_getRainStrength($this, $par1) {
    return $this.$prevRainingStrength + ($this.$rainingStrength - $this.$prevRainingStrength) * $par1;
}
function nms_World_setRainStrength($this, $par1) {
    $this.$prevRainingStrength = $par1;
    $this.$rainingStrength = $par1;
}
function nms_World_isRaining($this) {
    return nms_World_getRainStrength($this, 1.0) <= 0.2 ? 0 : 1;
}
function nms_World_canLightningStrikeAt($this, $par1, $par2, $par3) {
    var $var4;
    if (!nms_World_isRaining($this))
        return 0;
    if (!nms_World_canBlockSeeTheSky($this, $par1, $par2, $par3))
        return 0;
    if (nms_World_getPrecipitationHeight($this, $par1, $par3) > $par2)
        return 0;
    $var4 = nms_World_getBiomeGenForCoords($this, $par1, $par3);
    return !$var4.$enableSnow ? nms_BiomeGenBase_canSpawnLightningBolt($var4) : 0;
}
function nms_World_setItemData($this, $par1Str, $par2WorldSavedData) {
    nms_MapStorage_setData($this.$mapStorage, $par1Str, $par2WorldSavedData);
}
function nms_World_loadItemData($this, $par1Class, $par2Str) {
    return nms_MapStorage_loadData($this.$mapStorage, $par1Class, $par2Str);
}
function nms_World_getUniqueDataId($this, $par1Str) {
    return nms_MapStorage_getUniqueDataId($this.$mapStorage, $par1Str);
}
function nms_World_func_82739_e($this, $par1, $par2, $par3, $par4, $par5) {
    var $var6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = 0;
        if ($var6 >= $this.$worldAccesses.$size)
            return;
        var$7 = ju_ArrayList_get($this.$worldAccesses, $var6);
        $ptr = 1;
    case 1:
        nms_RenderGlobal_broadcastSound(var$7, $par1, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 >= $this.$worldAccesses.$size)
            return;
        var$7 = ju_ArrayList_get($this.$worldAccesses, $var6);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5, $var6, var$7, $ptr);
}
function nms_World_playAuxSFX($this, $par1, $par2, $par3, $par4, $par5) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$6 = null;
        $ptr = 1;
    case 1:
        nms_World_playAuxSFXAtEntity($this, var$6, $par1, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5, var$6, $ptr);
}
function nms_World_playAuxSFXAtEntity($this, $par1EntityPlayer, $par2, $par3, $par4, $par5, $par6) {
    var $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = 0;
        if ($var7 >= $this.$worldAccesses.$size)
            return;
        var$8 = ju_ArrayList_get($this.$worldAccesses, $var7);
        $ptr = 1;
    case 1:
        nms_RenderGlobal_playAuxSFX(var$8, $par1EntityPlayer, $par2, $par3, $par4, $par5, $par6);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $var7 + 1 | 0;
        if ($var7 >= $this.$worldAccesses.$size)
            return;
        var$8 = ju_ArrayList_get($this.$worldAccesses, $var7);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $par3, $par4, $par5, $par6, $var7, var$8, $ptr);
}
function nms_World_getHeight($this) {
    return 256;
}
function nms_World_getHorizon($this) {
    return $this.$worldInfo.$terrainType !== nms_WorldType_FLAT ? 63.0 : 0.0;
}
function nms_World_destroyBlockInWorldPartially($this, $par1, $par2, $par3, $par4, $par5) {
    var $var6;
    $var6 = 0;
    while ($var6 < $this.$worldAccesses.$size) {
        nms_RenderGlobal_destroyBlockPartially(ju_ArrayList_get($this.$worldAccesses, $var6), $par1, $par2, $par3, $par4, $par5);
        $var6 = $var6 + 1 | 0;
    }
}
function nms_World_getWorldVec3Pool($this) {
    return $this.$vecPool;
}
function nms_World_getScoreboard($this) {
    return $this.$worldScoreboard;
}
function nms_World_func_96440_m($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = 0;
        while ($var5 < 4) {
            $var6 = $par1 + nms_Direction_offsetX.data[$var5] | 0;
            $var7 = $par3 + nms_Direction_offsetZ.data[$var5] | 0;
            $var8 = nms_World_getBlockId($this, $var6, $par2, $var7);
            if ($var8) {
                nms_Block_$callClinit();
                $var9 = nms_Block_blocksList.data[$var8];
                if (nms_BlockRedstoneLogic_func_94487_f(nms_Block_redstoneComparatorIdle, $var8)) {
                    $ptr = 1;
                    continue main;
                }
                if (nms_Block_isNormalCube($var8)) {
                    $var6 = $var6 + nms_Direction_offsetX.data[$var5] | 0;
                    $var7 = $var7 + nms_Direction_offsetZ.data[$var5] | 0;
                    $var8 = nms_World_getBlockId($this, $var6, $par2, $var7);
                    $var9 = nms_Block_blocksList.data[$var8];
                    if (nms_BlockRedstoneLogic_func_94487_f(nms_Block_redstoneComparatorIdle, $var8)) {
                        $ptr = 2;
                        continue main;
                    }
                }
            }
            $var5 = $var5 + 1 | 0;
        }
        return;
    case 1:
        $var9.$onNeighborBlockChange($this, $var6, $par2, $var7, $par4);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var5 = $var5 + 1 | 0;
            if ($var5 >= 4)
                break;
            $var6 = $par1 + nms_Direction_offsetX.data[$var5] | 0;
            $var7 = $par3 + nms_Direction_offsetZ.data[$var5] | 0;
            $var8 = nms_World_getBlockId($this, $var6, $par2, $var7);
            if (!$var8)
                continue;
            nms_Block_$callClinit();
            $var9 = nms_Block_blocksList.data[$var8];
            if (nms_BlockRedstoneLogic_func_94487_f(nms_Block_redstoneComparatorIdle, $var8)) {
                continue main;
            }
            if (!nms_Block_isNormalCube($var8))
                continue;
            $var6 = $var6 + nms_Direction_offsetX.data[$var5] | 0;
            $var7 = $var7 + nms_Direction_offsetZ.data[$var5] | 0;
            $var8 = nms_World_getBlockId($this, $var6, $par2, $var7);
            $var9 = nms_Block_blocksList.data[$var8];
            if (!nms_BlockRedstoneLogic_func_94487_f(nms_Block_redstoneComparatorIdle, $var8))
                continue;
            else {
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 2:
        $var9.$onNeighborBlockChange($this, $var6, $par2, $var7, $par4);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var5 = $var5 + 1 | 0;
            if ($var5 >= 4)
                break;
            $var6 = $par1 + nms_Direction_offsetX.data[$var5] | 0;
            $var7 = $par3 + nms_Direction_offsetZ.data[$var5] | 0;
            $var8 = nms_World_getBlockId($this, $var6, $par2, $var7);
            if (!$var8)
                continue;
            nms_Block_$callClinit();
            $var9 = nms_Block_blocksList.data[$var8];
            if (nms_BlockRedstoneLogic_func_94487_f(nms_Block_redstoneComparatorIdle, $var8)) {
                $ptr = 1;
                continue main;
            }
            if (!nms_Block_isNormalCube($var8))
                continue;
            $var6 = $var6 + nms_Direction_offsetX.data[$var5] | 0;
            $var7 = $var7 + nms_Direction_offsetZ.data[$var5] | 0;
            $var8 = nms_World_getBlockId($this, $var6, $par2, $var7);
            $var9 = nms_Block_blocksList.data[$var8];
            if (!nms_BlockRedstoneLogic_func_94487_f(nms_Block_redstoneComparatorIdle, $var8))
                continue;
            else {
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, $var6, $var7, $var8, $var9, $ptr);
}
function nms_Vec3Pool() {
    var a = this; jl_Object.call(a);
    a.$truncateArrayResetThreshold = 0;
    a.$minimumSize = 0;
    a.$vec3Cache = null;
    a.$nextFreeSpace = 0;
    a.$maximumSizeSinceLastTruncation = 0;
    a.$resetCount = 0;
}
function nms_Vec3Pool__init_(var_0, var_1) {
    var var_2 = new nms_Vec3Pool();
    nms_Vec3Pool__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_Vec3Pool__init_0($this, $par1, $par2) {
    $this.$vec3Cache = ju_ArrayList__init_0();
    $this.$nextFreeSpace = 0;
    $this.$maximumSizeSinceLastTruncation = 0;
    $this.$resetCount = 0;
    $this.$truncateArrayResetThreshold = $par1;
    $this.$minimumSize = $par2;
}
function nms_Vec3Pool_getVecFromPool($this, $par1, $par3, $par5) {
    var $var7;
    if (nms_Vec3Pool_func_82589_e($this))
        return nms_Vec3__init_($this, $par1, $par3, $par5);
    if ($this.$nextFreeSpace >= $this.$vec3Cache.$size) {
        $var7 = nms_Vec3__init_($this, $par1, $par3, $par5);
        ju_ArrayList_add($this.$vec3Cache, $var7);
    } else {
        $var7 = ju_ArrayList_get($this.$vec3Cache, $this.$nextFreeSpace);
        nms_Vec3_setComponents($var7, $par1, $par3, $par5);
    }
    $this.$nextFreeSpace = $this.$nextFreeSpace + 1 | 0;
    return $var7;
}
function nms_Vec3Pool_clear($this) {
    var var$1, $var1;
    if (!nms_Vec3Pool_func_82589_e($this)) {
        if ($this.$nextFreeSpace > $this.$maximumSizeSinceLastTruncation)
            $this.$maximumSizeSinceLastTruncation = $this.$nextFreeSpace;
        var$1 = $this.$resetCount;
        $this.$resetCount = var$1 + 1 | 0;
        if (var$1 == $this.$truncateArrayResetThreshold) {
            $var1 = jl_Math_max($this.$maximumSizeSinceLastTruncation, $this.$vec3Cache.$size - $this.$minimumSize | 0);
            while ($this.$vec3Cache.$size > $var1) {
                ju_ArrayList_remove($this.$vec3Cache, $var1);
            }
            $this.$maximumSizeSinceLastTruncation = 0;
            $this.$resetCount = 0;
        }
        $this.$nextFreeSpace = 0;
    }
}
function nms_Vec3Pool_func_82589_e($this) {
    return $this.$minimumSize >= 0 && $this.$truncateArrayResetThreshold >= 0 ? 0 : 1;
}
function nms_Entity() {
    var a = this; jl_Object.call(a);
    a.$entityId = 0;
    a.$renderDistanceWeight = 0.0;
    a.$preventEntitySpawning = 0;
    a.$riddenByEntity = null;
    a.$ridingEntity = null;
    a.$field_98038_p = 0;
    a.$worldObj = null;
    a.$prevPosX = 0.0;
    a.$prevPosY = 0.0;
    a.$prevPosZ = 0.0;
    a.$posX = 0.0;
    a.$posY = 0.0;
    a.$posZ = 0.0;
    a.$motionX = 0.0;
    a.$motionY = 0.0;
    a.$motionZ = 0.0;
    a.$rotationYaw = 0.0;
    a.$rotationPitch = 0.0;
    a.$prevRotationYaw = 0.0;
    a.$prevRotationPitch = 0.0;
    a.$boundingBox = null;
    a.$onGround = 0;
    a.$isCollidedHorizontally = 0;
    a.$isCollidedVertically = 0;
    a.$isCollided = 0;
    a.$velocityChanged = 0;
    a.$isInWeb = 0;
    a.$field_70135_K = 0;
    a.$isDead = 0;
    a.$yOffset = 0.0;
    a.$width0 = 0.0;
    a.$height0 = 0.0;
    a.$prevDistanceWalkedModified = 0.0;
    a.$distanceWalkedModified = 0.0;
    a.$distanceWalkedOnStepModified = 0.0;
    a.$fallDistance = 0.0;
    a.$nextStepDistance = 0;
    a.$lastTickPosX = 0.0;
    a.$lastTickPosY = 0.0;
    a.$lastTickPosZ = 0.0;
    a.$ySize = 0.0;
    a.$stepHeight = 0.0;
    a.$noClip = 0;
    a.$entityCollisionReduction = 0.0;
    a.$rand0 = null;
    a.$ticksExisted = 0;
    a.$fireResistance = 0;
    a.$fire = 0;
    a.$inWater = 0;
    a.$hurtResistantTime = 0;
    a.$firstUpdate = 0;
    a.$isImmuneToFire = 0;
    a.$dataWatcher = null;
    a.$entityRiderPitchDelta = 0.0;
    a.$entityRiderYawDelta = 0.0;
    a.$addedToChunk = 0;
    a.$chunkCoordX = 0;
    a.$chunkCoordY = 0;
    a.$chunkCoordZ = 0;
    a.$serverPosX = 0;
    a.$serverPosY = 0;
    a.$serverPosZ = 0;
    a.$ignoreFrustumCheck = 0;
    a.$isAirBorne = 0;
    a.$timeUntilPortal = 0;
    a.$inPortal = 0;
    a.$dimension = 0;
    a.$teleportDirection = 0;
    a.$invulnerable = 0;
    a.$myEntitySize = null;
}
var nms_Entity_nextEntityID = 0;
function nms_Entity__init_() {
    var var_0 = new nms_Entity();
    nms_Entity__init_0(var_0);
    return var_0;
}
function nms_Entity__init_0($this) {
    var var$1;
    var$1 = nms_Entity_nextEntityID;
    nms_Entity_nextEntityID = var$1 + 1 | 0;
    $this.$entityId = var$1;
    $this.$renderDistanceWeight = 1.0;
    $this.$preventEntitySpawning = 0;
    $this.$boundingBox = nms_AxisAlignedBB_getBoundingBox(0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    $this.$onGround = 0;
    $this.$isCollided = 0;
    $this.$velocityChanged = 0;
    $this.$field_70135_K = 1;
    $this.$isDead = 0;
    $this.$yOffset = 0.0;
    $this.$width0 = 0.6000000238418579;
    $this.$height0 = 1.7999999523162842;
    $this.$prevDistanceWalkedModified = 0.0;
    $this.$distanceWalkedModified = 0.0;
    $this.$distanceWalkedOnStepModified = 0.0;
    $this.$fallDistance = 0.0;
    $this.$nextStepDistance = 1;
    $this.$ySize = 0.0;
    $this.$stepHeight = 0.0;
    $this.$noClip = 0;
    $this.$entityCollisionReduction = 0.0;
    $this.$rand0 = nle_EaglercraftRandom__init_0();
    $this.$ticksExisted = 0;
    $this.$fireResistance = 1;
    $this.$fire = 0;
    $this.$inWater = 0;
    $this.$hurtResistantTime = 0;
    $this.$firstUpdate = 1;
    $this.$isImmuneToFire = 0;
    $this.$dataWatcher = nms_DataWatcher__init_0();
    $this.$addedToChunk = 0;
    $this.$teleportDirection = 0;
    $this.$invulnerable = 0;
    $this.$myEntitySize = nms_EnumEntitySize_SIZE_2;
    nms_Entity_setPosition($this, 0.0, 0.0, 0.0);
    nms_DataWatcher_addObject($this.$dataWatcher, 0, jl_Byte_valueOf(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 1, jl_Short_valueOf(300));
    $this.$entityInit();
}
function nms_Entity_getDataWatcher($this) {
    return $this.$dataWatcher;
}
function nms_Entity_equals($this, $par1Obj) {
    return !($par1Obj instanceof nms_Entity) ? 0 : $par1Obj.$entityId != $this.$entityId ? 0 : 1;
}
function nms_Entity_hashCode($this) {
    return $this.$entityId;
}
function nms_Entity_setDead($this) {
    $this.$isDead = 1;
}
function nms_Entity_setSize($this, $par1, $par2) {
    var var$3;
    if (!($par1 === $this.$width0 && $par2 === $this.$height0)) {
        $this.$width0 = $par1;
        $this.$height0 = $par2;
        $this.$boundingBox.$maxX = $this.$boundingBox.$minX + $this.$width0;
        $this.$boundingBox.$maxZ = $this.$boundingBox.$minZ + $this.$width0;
        $this.$boundingBox.$maxY = $this.$boundingBox.$minY + $this.$height0;
    }
    var$3 = $par1 % 2.0;
    if (var$3 < 0.375)
        $this.$myEntitySize = nms_EnumEntitySize_SIZE_1;
    else if (var$3 < 0.75)
        $this.$myEntitySize = nms_EnumEntitySize_SIZE_2;
    else if (var$3 < 1.0)
        $this.$myEntitySize = nms_EnumEntitySize_SIZE_3;
    else if (var$3 < 1.375)
        $this.$myEntitySize = nms_EnumEntitySize_SIZE_4;
    else if (var$3 >= 1.75)
        $this.$myEntitySize = nms_EnumEntitySize_SIZE_6;
    else
        $this.$myEntitySize = nms_EnumEntitySize_SIZE_5;
}
function nms_Entity_setRotation($this, $par1, $par2) {
    $this.$rotationYaw = $par1 % 360.0;
    $this.$rotationPitch = $par2 % 360.0;
}
function nms_Entity_setPosition($this, $par1, $par3, $par5) {
    var $var7, $var8, var$6, var$7;
    $this.$posX = $par1;
    $this.$posY = $par3;
    $this.$posZ = $par5;
    $var7 = $this.$width0 / 2.0;
    $var8 = $this.$height0;
    var$6 = $this.$boundingBox;
    var$7 = $var7;
    nms_AxisAlignedBB_setBounds(var$6, $par1 - var$7, $par3 - $this.$yOffset + $this.$ySize, $par5 - var$7, $par1 + var$7, $par3 - $this.$yOffset + $this.$ySize + $var8, $par5 + var$7);
}
function nms_Entity_setAngles($this, $par1, $par2) {
    var $var3, $var4;
    $var3 = $this.$rotationPitch;
    $var4 = $this.$rotationYaw;
    $this.$rotationYaw = $this.$rotationYaw + $par1 * 0.15;
    $this.$rotationPitch = $this.$rotationPitch - $par2 * 0.15;
    if ($this.$rotationPitch < (-90.0))
        $this.$rotationPitch = (-90.0);
    if ($this.$rotationPitch > 90.0)
        $this.$rotationPitch = 90.0;
    $this.$prevRotationPitch = $this.$prevRotationPitch + $this.$rotationPitch - $var3;
    $this.$prevRotationYaw = $this.$prevRotationYaw + $this.$rotationYaw - $var4;
}
function nms_Entity_onUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $this.$onEntityUpdate();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_Entity_onEntityUpdate($this) {
    var $var5, $var2, $var6, $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var6 = $thread.pop();$var2 = $thread.pop();$var5 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1010));
        if ($this.$ridingEntity !== null && $this.$ridingEntity.$isDead)
            $this.$ridingEntity = null;
        $this.$prevDistanceWalkedModified = $this.$distanceWalkedModified;
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        $this.$prevRotationPitch = $this.$rotationPitch;
        $this.$prevRotationYaw = $this.$rotationYaw;
        if (nms_Entity_isSprinting($this) && !$this.$isInWater()) {
            $var5 = nms_MathHelper_floor_double($this.$posX);
            $var2 = nms_MathHelper_floor_double($this.$posY - 0.20000000298023224 - $this.$yOffset);
            $var6 = nms_MathHelper_floor_double($this.$posZ);
            $var4 = nms_World_getBlockId($this.$worldObj, $var5, $var2, $var6);
            if ($var4 > 0) {
                var$5 = $this.$worldObj;
                var$6 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$6);
                jl_AbstractStringBuilder_append(var$6, $rt_s(1011));
                jl_AbstractStringBuilder_append2(var$6, $var4);
                jl_AbstractStringBuilder_append(var$6, $rt_s(423));
                jl_AbstractStringBuilder_append2(var$6, nms_World_getBlockMetadata($this.$worldObj, $var5, $var2, $var6));
                var$7 = jl_AbstractStringBuilder_toString(var$6);
                var$8 = $this.$posX + (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * $this.$width0;
                var$9 = $this.$boundingBox.$minY + 0.1;
                var$10 = $this.$posZ + (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * $this.$width0;
                var$11 =  -$this.$motionX * 4.0;
                var$12 = 1.5;
                var$13 =  -$this.$motionZ * 4.0;
                $ptr = 4;
                continue main;
            }
        }
        $ptr = 1;
    case 1:
        $this.$handleWaterMovement();
        if ($rt_suspending()) {
            break main;
        }
        $this.$fire = 0;
        if ($this.$handleLavaMovement()) {
            $ptr = 2;
            continue main;
        }
        if ($this.$posY >= (-64.0)) {
            $this.$firstUpdate = 0;
            nms_Profiler_endSection($this.$worldObj.$theProfiler);
            return;
        }
        $ptr = 3;
        continue main;
    case 2:
        nms_Entity_setOnFireFromLava($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$fallDistance = $this.$fallDistance * 0.5;
        if ($this.$posY >= (-64.0)) {
            $this.$firstUpdate = 0;
            nms_Profiler_endSection($this.$worldObj.$theProfiler);
            return;
        }
        $ptr = 3;
    case 3:
        $this.$kill();
        if ($rt_suspending()) {
            break main;
        }
        $this.$firstUpdate = 0;
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        return;
    case 4:
        nms_World_spawnParticle(var$5, var$7, var$8, var$9, var$10, var$11, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var5, $var2, $var6, $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
}
function nms_Entity_setOnFireFromLava($this) {
    var var$1, var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$isImmuneToFire)
            return;
        var$1 = nms_DamageSource_lava;
        var$2 = 4;
        $ptr = 1;
    case 1:
        $this.$attackEntityFrom(var$1, var$2);
        if ($rt_suspending()) {
            break main;
        }
        nms_Entity_setFire($this, 15);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, $ptr);
}
function nms_Entity_setFire($this, $par1) {
    var $var2;
    $var2 = $par1 * 20 | 0;
    nms_Enchantment_$callClinit();
    $par1 = nms_EnchantmentHelper_getMaxEnchantmentLevel(nms_Enchantment_fireProtection.$effectId, $this.$getLastActiveItems());
    if ($par1 > 0)
        $var2 = $var2 - nms_MathHelper_floor_float($var2 * $par1 * 0.15000000596046448) | 0;
    if ($this.$fire < $var2)
        $this.$fire = $var2;
}
function nms_Entity_extinguish($this) {
    $this.$fire = 0;
}
function nms_Entity_kill($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $this.$setDead();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_Entity_isOffsetPositionInLiquid($this, $par1, $par3, $par5) {
    var $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$par5 = $thread.pop();$par3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $par1, $par3, $par5);
        $var8 = $this.$worldObj;
        $ptr = 1;
    case 1:
        $tmp = nms_World_getCollidingBoundingBoxes($var8, $this, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        return !ju_AbstractCollection_isEmpty($var8) ? 0 : nms_World_isAnyLiquid($this.$worldObj, $var7) ? 0 : 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, $par5, $var7, $var8, $ptr);
}
function nms_Entity_moveEntity($this, $par1, $par3, $par5) {
    var $var7, $var9, $var11, $var19, $var20, $var27, var$10, $var21, $var22, $var34, $var29, $var35, $var36, $var23, $var25, $var30, var$20, $var37, $var31, $var32, $var33, $var39, var$26, $var38, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var38 = $thread.pop();var$26 = $thread.pop();$var39 = $thread.pop();$var33 = $thread.pop();$var32 = $thread.pop();$var31 = $thread.pop();$var37 = $thread.pop();var$20 = $thread.pop();$var30 = $thread.pop();$var25 = $thread.pop();$var23 = $thread.pop();$var36 = $thread.pop();$var35 = $thread.pop();$var29 = $thread.pop();$var34 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();var$10 = $thread.pop();$var27 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var11
        = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$par5 = $thread.pop();$par3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$noClip) {
            nms_AxisAlignedBB_offset($this.$boundingBox, $par1, $par3, $par5);
            $this.$posX = ($this.$boundingBox.$minX + $this.$boundingBox.$maxX) / 2.0;
            $this.$posY = $this.$boundingBox.$minY + $this.$yOffset - $this.$ySize;
            $this.$posZ = ($this.$boundingBox.$minZ + $this.$boundingBox.$maxZ) / 2.0;
            return;
        }
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1012));
        $this.$ySize = $this.$ySize * 0.4000000059604645;
        $var7 = $this.$posX;
        $var9 = $this.$posY;
        $var11 = $this.$posZ;
        if ($this.$isInWeb) {
            $this.$isInWeb = 0;
            $par1 = $par1 * 0.25;
            $par3 = $par3 * 0.05000000074505806;
            $par5 = $par5 * 0.25;
            $this.$motionX = 0.0;
            $this.$motionY = 0.0;
            $this.$motionZ = 0.0;
        }
        $var19 = nms_AxisAlignedBB_copy($this.$boundingBox);
        $var20 = $this.$onGround && $this.$isSneaking() && $this instanceof nms_EntityPlayer ? 1 : 0;
        if (!$var20) {
            $var27 = $par1;
            var$10 = $par5;
        } else {
            $var21 = 0.05;
            $var27 = $par1;
            $var22 = $rt_compare($par1, 0.0);
            if ($var22) {
                $var34 = $this.$worldObj;
                $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $par1, (-1.0), 0.0);
                $ptr = 2;
                continue main;
            }
            var$10 = $par5;
            $var22 = $rt_compare($par5, 0.0);
            if ($var22) {
                $var34 = $this.$worldObj;
                $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, 0.0, (-1.0), $par5);
                $ptr = 3;
                continue main;
            }
            $var22 = $rt_compare($par1, 0.0);
            if ($var22) {
                $var35 = $rt_compare($par5, 0.0);
                if ($var35) {
                    $var34 = $this.$worldObj;
                    $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $par1, (-1.0), $par5);
                    $ptr = 4;
                    continue main;
                }
            }
        }
        $var34 = $this.$worldObj;
        $var29 = nms_AxisAlignedBB_addCoord($this.$boundingBox, $par1, $par3, $par5);
        $ptr = 1;
    case 1:
        $tmp = nms_World_getCollidingBoundingBoxes($var34, $this, $var29);
        if ($rt_suspending()) {
            break main;
        }
        $var34 = $tmp;
        $var22 = 0;
        $var36 = $par3;
        while ($var22 < ju_ArrayList_size($var34)) {
            $var36 = nms_AxisAlignedBB_calculateYOffset(ju_ArrayList_get($var34, $var22), $this.$boundingBox, $var36);
            $var22 = $var22 + 1 | 0;
        }
        nms_AxisAlignedBB_offset($this.$boundingBox, 0.0, $var36, 0.0);
        if (!$this.$field_70135_K && $par3 !== $var36) {
            $par5 = 0.0;
            $var36 = 0.0;
            $par1 = 0.0;
        }
        a: {
            b: {
                if (!$this.$onGround) {
                    if ($par3 === $var36)
                        break b;
                    if ($par3 >= 0.0)
                        break b;
                }
                $var35 = 1;
                break a;
            }
            $var35 = 0;
        }
        $var23 = 0;
        while ($var23 < ju_ArrayList_size($var34)) {
            $par1 = nms_AxisAlignedBB_calculateXOffset(ju_ArrayList_get($var34, $var23), $this.$boundingBox, $par1);
            $var23 = $var23 + 1 | 0;
        }
        nms_AxisAlignedBB_offset($this.$boundingBox, $par1, 0.0, 0.0);
        if (!$this.$field_70135_K && $var27 !== $par1) {
            $par5 = 0.0;
            $var36 = 0.0;
            $par1 = 0.0;
        }
        $var22 = 0;
        while ($var22 < ju_ArrayList_size($var34)) {
            $par5 = nms_AxisAlignedBB_calculateZOffset(ju_ArrayList_get($var34, $var22), $this.$boundingBox, $par5);
            $var22 = $var22 + 1 | 0;
        }
        nms_AxisAlignedBB_offset($this.$boundingBox, 0.0, 0.0, $par5);
        if (!$this.$field_70135_K && var$10 !== $par5) {
            $par5 = 0.0;
            $var36 = 0.0;
            $par1 = 0.0;
        }
        c: {
            if ($this.$stepHeight > 0.0 && $var35 && !(!$var20 && $this.$ySize >= 0.05000000074505806)) {
                if ($var27 !== $par1)
                    break c;
                if (var$10 !== $par5)
                    break c;
            }
            nms_Profiler_endSection($this.$worldObj.$theProfiler);
            nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1013));
            $this.$posX = ($this.$boundingBox.$minX + $this.$boundingBox.$maxX) / 2.0;
            $this.$posY = $this.$boundingBox.$minY + $this.$yOffset - $this.$ySize;
            $this.$posZ = ($this.$boundingBox.$minZ + $this.$boundingBox.$maxZ) / 2.0;
            $var22 = $rt_compare($var27, $par1);
            $this.$isCollidedHorizontally = !$var22 && var$10 === $par5 ? 0 : 1;
            $var35 = $rt_compare($par3, $var36);
            $this.$isCollidedVertically = !$var35 ? 0 : 1;
            $this.$onGround = $var35 && $par3 < 0.0 ? 1 : 0;
            $this.$isCollided = !$this.$isCollidedHorizontally && !$this.$isCollidedVertically ? 0 : 1;
            $var23 = $this.$onGround;
            $ptr = 6;
            continue main;
        }
        $var25 = $this.$stepHeight;
        $var29 = nms_AxisAlignedBB_copy($this.$boundingBox);
        nms_AxisAlignedBB_setBB($this.$boundingBox, $var19);
        $var34 = $this.$worldObj;
        $var19 = nms_AxisAlignedBB_addCoord($this.$boundingBox, $var27, $var25, var$10);
        $ptr = 5;
        continue main;
    case 2:
        $tmp = nms_World_getCollidingBoundingBoxes($var34, $this, $var29);
        if ($rt_suspending()) {
            break main;
        }
        $var34 = $tmp;
        if (!ju_AbstractCollection_isEmpty($var34))
            var$10 = $par5;
        else {
            $par1 = $par1 < $var21 && $par1 >= (-0.05) ? 0.0 : $var22 <= 0 ? $par1 + $var21 : $par1 - $var21;
            $var27 = $par1;
            $var22 = $rt_compare($par1, 0.0);
            if ($var22) {
                $var34 = $this.$worldObj;
                $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $par1, (-1.0), 0.0);
                continue main;
            }
            var$10 = $par5;
        }
        $var22 = $rt_compare($par5, 0.0);
        if ($var22) {
            $var34 = $this.$worldObj;
            $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, 0.0, (-1.0), $par5);
            $ptr = 3;
            continue main;
        }
        $var22 = $rt_compare($par1, 0.0);
        if ($var22) {
            $var35 = $rt_compare($par5, 0.0);
            if ($var35) {
                $var34 = $this.$worldObj;
                $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $par1, (-1.0), $par5);
                $ptr = 4;
                continue main;
            }
        }
        $var34 = $this.$worldObj;
        $var29 = nms_AxisAlignedBB_addCoord($this.$boundingBox, $par1, $par3, $par5);
        $ptr = 1;
        continue main;
    case 3:
        $tmp = nms_World_getCollidingBoundingBoxes($var34, $this, $var29);
        if ($rt_suspending()) {
            break main;
        }
        $var34 = $tmp;
        if (ju_AbstractCollection_isEmpty($var34)) {
            $par5 = $par5 < $var21 && $par5 >= (-0.05) ? 0.0 : $var22 <= 0 ? $par5 + $var21 : $par5 - $var21;
            var$10 = $par5;
            $var22 = $rt_compare($par5, 0.0);
            if ($var22) {
                $var34 = $this.$worldObj;
                $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, 0.0, (-1.0), $par5);
                continue main;
            }
        }
        $var22 = $rt_compare($par1, 0.0);
        if ($var22) {
            $var35 = $rt_compare($par5, 0.0);
            if ($var35) {
                $var34 = $this.$worldObj;
                $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $par1, (-1.0), $par5);
                $ptr = 4;
                continue main;
            }
        }
        $var34 = $this.$worldObj;
        $var29 = nms_AxisAlignedBB_addCoord($this.$boundingBox, $par1, $par3, $par5);
        $ptr = 1;
        continue main;
    case 4:
        $tmp = nms_World_getCollidingBoundingBoxes($var34, $this, $var29);
        if ($rt_suspending()) {
            break main;
        }
        $var34 = $tmp;
        if (ju_AbstractCollection_isEmpty($var34)) {
            $par1 = $par1 < $var21 && $par1 >= (-0.05) ? 0.0 : $var22 <= 0 ? $par1 + $var21 : $par1 - $var21;
            $par5 = $par5 < $var21 && $par5 >= (-0.05) ? 0.0 : $var35 <= 0 ? $par5 + $var21 : $par5 - $var21;
            $var27 = $par1;
            var$10 = $par5;
            $var22 = $rt_compare($par1, 0.0);
            if ($var22) {
                $var35 = $rt_compare($par5, 0.0);
                if ($var35) {
                    $var34 = $this.$worldObj;
                    $var29 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $par1, (-1.0), $par5);
                    continue main;
                }
            }
        }
        $var34 = $this.$worldObj;
        $var29 = nms_AxisAlignedBB_addCoord($this.$boundingBox, $par1, $par3, $par5);
        $ptr = 1;
        continue main;
    case 5:
        $tmp = nms_World_getCollidingBoundingBoxes($var34, $this, $var19);
        if ($rt_suspending()) {
            break main;
        }
        $var34 = $tmp;
        $var30 = 0;
        while ($var30 < ju_ArrayList_size($var34)) {
            $var25 = nms_AxisAlignedBB_calculateYOffset(ju_ArrayList_get($var34, $var30), $this.$boundingBox, $var25);
            $var30 = $var30 + 1 | 0;
        }
        nms_AxisAlignedBB_offset($this.$boundingBox, 0.0, $var25, 0.0);
        if ($this.$field_70135_K) {
            $var21 = var$10;
            var$20 = $var27;
        } else if ($par3 === $var25) {
            $var21 = var$10;
            var$20 = $var27;
        } else {
            $var21 = 0.0;
            $var25 = 0.0;
            var$20 = 0.0;
        }
        $var22 = 0;
        while ($var22 < ju_ArrayList_size($var34)) {
            var$20 = nms_AxisAlignedBB_calculateXOffset(ju_ArrayList_get($var34, $var22), $this.$boundingBox, var$20);
            $var22 = $var22 + 1 | 0;
        }
        nms_AxisAlignedBB_offset($this.$boundingBox, var$20, 0.0, 0.0);
        if (!$this.$field_70135_K && $var27 !== var$20) {
            $var21 = 0.0;
            $var25 = 0.0;
            var$20 = 0.0;
        }
        $var22 = 0;
        while ($var22 < ju_ArrayList_size($var34)) {
            $var21 = nms_AxisAlignedBB_calculateZOffset(ju_ArrayList_get($var34, $var22), $this.$boundingBox, $var21);
            $var22 = $var22 + 1 | 0;
        }
        nms_AxisAlignedBB_offset($this.$boundingBox, 0.0, 0.0, $var21);
        if (!$this.$field_70135_K && var$10 !== $var21) {
            $var21 = 0.0;
            $var25 = 0.0;
            var$20 = 0.0;
        }
        if (!$this.$field_70135_K && $par3 !== $var25) {
            $var21 = 0.0;
            $var25 = 0.0;
            var$20 = 0.0;
        } else {
            $var25 =  -$this.$stepHeight;
            $var22 = 0;
            while ($var22 < ju_ArrayList_size($var34)) {
                $var25 = nms_AxisAlignedBB_calculateYOffset(ju_ArrayList_get($var34, $var22), $this.$boundingBox, $var25);
                $var22 = $var22 + 1 | 0;
            }
            nms_AxisAlignedBB_offset($this.$boundingBox, 0.0, $var25, 0.0);
        }
        if ($par1 * $par1 + $par5 * $par5 >= var$20 * var$20 + $var21 * $var21)
            nms_AxisAlignedBB_setBB($this.$boundingBox, $var29);
        else {
            $par1 = var$20;
            $var36 = $var25;
            $par5 = $var21;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1013));
        $this.$posX = ($this.$boundingBox.$minX + $this.$boundingBox.$maxX) / 2.0;
        $this.$posY = $this.$boundingBox.$minY + $this.$yOffset - $this.$ySize;
        $this.$posZ = ($this.$boundingBox.$minZ + $this.$boundingBox.$maxZ) / 2.0;
        $var22 = $rt_compare($var27, $par1);
        $this.$isCollidedHorizontally = !$var22 && var$10 === $par5 ? 0 : 1;
        $var35 = $rt_compare($par3, $var36);
        $this.$isCollidedVertically = !$var35 ? 0 : 1;
        $this.$onGround = $var35 && $par3 < 0.0 ? 1 : 0;
        $this.$isCollided = !$this.$isCollidedHorizontally && !$this.$isCollidedVertically ? 0 : 1;
        $var23 = $this.$onGround;
        $ptr = 6;
    case 6:
        $this.$updateFallState($var36, $var23);
        if ($rt_suspending()) {
            break main;
        }
        if ($var22)
            $this.$motionX = 0.0;
        if ($var35)
            $this.$motionY = 0.0;
        if (var$10 !== $par5)
            $this.$motionZ = 0.0;
        $var36 = $this.$posX - $var7;
        $var25 = $this.$posY - $var9;
        $var27 = $this.$posZ - $var11;
        if ($this.$canTriggerWalking() && !$var20 && $this.$ridingEntity === null) {
            $var37 = nms_MathHelper_floor_double($this.$posX);
            $var30 = nms_MathHelper_floor_double($this.$posY - 0.20000000298023224 - $this.$yOffset);
            $var31 = nms_MathHelper_floor_double($this.$posZ);
            $var32 = nms_World_getBlockId($this.$worldObj, $var37, $var30, $var31);
            if (!$var32) {
                $var34 = $this.$worldObj;
                $var22 = $var30 - 1 | 0;
                $var33 = nms_World_blockGetRenderType($var34, $var37, $var22, $var31);
                if (!($var33 != 11 && $var33 != 32 && $var33 != 21))
                    $var32 = nms_World_getBlockId($this.$worldObj, $var37, $var22, $var31);
            }
            nms_Block_$callClinit();
            if ($var32 != nms_Block_ladder.$blockID)
                $var25 = 0.0;
            $par1 = $this.$distanceWalkedModified;
            $par3 = $var36 * $var36;
            $par5 = $var27 * $var27;
            $this.$distanceWalkedModified = $par1 + nms_MathHelper_sqrt_double($par3 + $par5) * 0.6;
            $this.$distanceWalkedOnStepModified = $this.$distanceWalkedOnStepModified + nms_MathHelper_sqrt_double($par3 + $var25 * $var25 + $par5) * 0.6;
            if ($this.$distanceWalkedOnStepModified > $this.$nextStepDistance && $var32 > 0) {
                $this.$nextStepDistance = ($this.$distanceWalkedOnStepModified | 0) + 1 | 0;
                if (!$this.$isInWater()) {
                    $ptr = 10;
                    continue main;
                }
                $var39 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX * 0.20000000298023224 + $this.$motionY * $this.$motionY + $this.$motionZ * $this.$motionZ * 0.20000000298023224) * 0.3499999940395355;
                if ($var39 > 1.0)
                    $var39 = 1.0;
                $var34 = $rt_s(1014);
                var$26 = 1.0 + (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.4000000059604645;
                $ptr = 12;
                continue main;
            }
        }
        $ptr = 7;
    case 7:
        nms_Entity_doBlockCollisions($this);
        if ($rt_suspending()) {
            break main;
        }
        $var38 = nms_Entity_isWet($this);
        if (nms_World_isBoundingBoxBurning($this.$worldObj, nms_AxisAlignedBB_contract($this.$boundingBox, 0.001, 0.001, 0.001))) {
            $var22 = 1;
            $ptr = 8;
            continue main;
        }
        if ($this.$fire <= 0)
            $this.$fire =  -$this.$fireResistance;
        if ($var38 && $this.$fire > 0) {
            $var34 = $rt_s(1015);
            $var39 = 0.699999988079071;
            var$26 = 1.600000023841858 + (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.4000000059604645;
            $ptr = 9;
            continue main;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        return;
    case 8:
        $this.$dealFireDamage($var22);
        if ($rt_suspending()) {
            break main;
        }
        if (!$var38) {
            $this.$fire = $this.$fire + 1 | 0;
            if (!$this.$fire)
                nms_Entity_setFire($this, 8);
        }
        if ($var38 && $this.$fire > 0) {
            $var34 = $rt_s(1015);
            $var39 = 0.699999988079071;
            var$26 = 1.600000023841858 + (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.4000000059604645;
            $ptr = 9;
            continue main;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        return;
    case 9:
        $this.$playSound1($var34, $var39, var$26);
        if ($rt_suspending()) {
            break main;
        }
        $this.$fire =  -$this.$fireResistance;
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        return;
    case 10:
        $this.$playStepSound($var37, $var30, $var31, $var32);
        if ($rt_suspending()) {
            break main;
        }
        $var34 = nms_Block_blocksList.data[$var32];
        $var29 = $this.$worldObj;
        $ptr = 11;
    case 11:
        $var34.$onEntityWalking($var29, $var37, $var30, $var31, $this);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 7;
        continue main;
    case 12:
        $this.$playSound1($var34, $var39, var$26);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 10;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, $par5, $var7, $var9, $var11, $var19, $var20, $var27, var$10, $var21, $var22, $var34, $var29, $var35, $var36, $var23, $var25, $var30, var$20, $var37, $var31, $var32, $var33, $var39, var$26, $var38, $ptr);
}
function nms_Entity_doBlockCollisions($this) {
    var $var7, $var2, $var3, $var4, $var5, $var6, $var8, $var9, $var10, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var7 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            $var7 = nms_MathHelper_floor_double($this.$boundingBox.$minX + 0.001);
            $var2 = nms_MathHelper_floor_double($this.$boundingBox.$minY + 0.001);
            $var3 = nms_MathHelper_floor_double($this.$boundingBox.$minZ + 0.001);
            $var4 = nms_MathHelper_floor_double($this.$boundingBox.$maxX - 0.001);
            $var5 = nms_MathHelper_floor_double($this.$boundingBox.$maxY - 0.001);
            $var6 = nms_MathHelper_floor_double($this.$boundingBox.$maxZ - 0.001);
            if (nms_World_checkChunksExist($this.$worldObj, $var7, $var2, $var3, $var4, $var5, $var6))
                while (true) {
                    if ($var7 > $var4)
                        break a;
                    $var8 = $var2;
                    while ($var8 <= $var5) {
                        $var9 = $var3;
                        while ($var9 <= $var6) {
                            $var10 = nms_World_getBlockId($this.$worldObj, $var7, $var8, $var9);
                            if ($var10 > 0) {
                                nms_Block_$callClinit();
                                var$10 = nms_Block_blocksList.data[$var10];
                                var$11 = $this.$worldObj;
                                $ptr = 1;
                                continue main;
                            }
                            $var9 = $var9 + 1 | 0;
                        }
                        $var8 = $var8 + 1 | 0;
                    }
                    $var7 = $var7 + 1 | 0;
                }
        }
        return;
    case 1:
        var$10.$onEntityCollidedWithBlock(var$11, $var7, $var8, $var9, $this);
        if ($rt_suspending()) {
            break main;
        }
        a: while (true) {
            $var9 = $var9 + 1 | 0;
            while ($var9 > $var6) {
                $var8 = $var8 + 1 | 0;
                while ($var8 > $var5) {
                    $var7 = $var7 + 1 | 0;
                    if ($var7 > $var4)
                        break a;
                    $var8 = $var2;
                }
                $var9 = $var3;
            }
            $var10 = nms_World_getBlockId($this.$worldObj, $var7, $var8, $var9);
            if ($var10 <= 0)
                continue;
            else {
                nms_Block_$callClinit();
                var$10 = nms_Block_blocksList.data[$var10];
                var$11 = $this.$worldObj;
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var7, $var2, $var3, $var4, $var5, $var6, $var8, $var9, $var10, var$10, var$11, $ptr);
}
function nms_Entity_playStepSound($this, $par1, $par2, $par3, $par4) {
    var $var5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Block_$callClinit();
        $var5 = nms_Block_blocksList.data[$par4].$stepSound;
        if (nms_World_getBlockId($this.$worldObj, $par1, $par2 + 1 | 0, $par3) == nms_Block_snow.$blockID) {
            $var5 = nms_Block_snow.$stepSound;
            var$6 = nms_StepSound_getStepSound($var5);
            var$7 = $var5.$stepSoundVolume * 0.15000000596046448;
            var$8 = $var5.$stepSoundPitch;
            $ptr = 1;
            continue main;
        }
        if (nms_Block_blocksList.data[$par4].$blockMaterial.$isLiquid())
            return;
        var$6 = nms_StepSound_getStepSound($var5);
        var$7 = $var5.$stepSoundVolume * 0.15000000596046448;
        var$8 = $var5.$stepSoundPitch;
        $ptr = 2;
        continue main;
    case 1:
        $this.$playSound1(var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        $this.$playSound1(var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, var$6, var$7, var$8, $ptr);
}
function nms_Entity_playSound($this, $par1Str, $par2, $par3) {
    nms_World_playSoundAtEntity($this.$worldObj, $this, $par1Str, $par2, $par3);
}
function nms_Entity_canTriggerWalking($this) {
    return 1;
}
function nms_Entity_updateFallState($this, $par1, $par3) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par3) {
            if ($par1 < 0.0)
                $this.$fallDistance = $this.$fallDistance - $par1;
        } else if ($this.$fallDistance > 0.0) {
            var$3 = $this.$fallDistance;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        $this.$fall(var$3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$fallDistance = 0.0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, var$3, $ptr);
}
function nms_Entity_getBoundingBox($this) {
    return null;
}
function nms_Entity_dealFireDamage($this, $par1) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$isImmuneToFire)
            return;
        var$2 = nms_DamageSource_inFire;
        $ptr = 1;
    case 1:
        $this.$attackEntityFrom(var$2, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, $ptr);
}
function nms_Entity_fall($this, $par1) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$riddenByEntity === null)
            return;
        var$2 = $this.$riddenByEntity;
        $ptr = 1;
    case 1:
        var$2.$fall($par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, $ptr);
}
function nms_Entity_isWet($this) {
    return !$this.$inWater && !nms_World_canLightningStrikeAt($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ)) && !nms_World_canLightningStrikeAt($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY + $this.$height0), nms_MathHelper_floor_double($this.$posZ)) ? 0 : 1;
}
function nms_Entity_isInWater($this) {
    return $this.$inWater;
}
function nms_Entity_handleWaterMovement($this) {
    var var$1, var$2, $var1, $var2, $var3, var$6, $var4, $var5, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$6 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = $this.$worldObj;
        var$2 = nms_AxisAlignedBB_contract(nms_AxisAlignedBB_expand($this.$boundingBox, 0.0, (-0.4000000059604645), 0.0), 0.001, 0.001, 0.001);
        nms_Material_$callClinit();
        if (!nms_World_handleMaterialAcceleration(var$1, var$2, nms_Material_water, $this))
            $this.$inWater = 0;
        else {
            if (!$this.$inWater && !$this.$firstUpdate) {
                $var1 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX * 0.20000000298023224 + $this.$motionY * $this.$motionY + $this.$motionZ * $this.$motionZ * 0.20000000298023224) * 0.20000000298023224;
                if ($var1 > 1.0)
                    $var1 = 1.0;
                var$1 = $rt_s(1016);
                $var2 = 1.0 + (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.4000000059604645;
                $ptr = 1;
                continue main;
            }
            $this.$fallDistance = 0.0;
            $this.$inWater = 1;
            $this.$fire = 0;
        }
        return $this.$inWater;
    case 1:
        $this.$playSound1(var$1, $var1, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = nms_MathHelper_floor_double($this.$boundingBox.$minY);
        $var3 = 0;
        var$6 = $var2 + 1.0;
        if ($var3 < 1.0 + $this.$width0 * 20.0) {
            $var4 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
            $var5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
            var$1 = $this.$worldObj;
            var$2 = $rt_s(1017);
            var$9 = $this.$posX + $var4;
            var$10 = $this.$posZ + $var5;
            var$11 = $this.$motionX;
            var$12 = $this.$motionY - nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            var$13 = $this.$motionZ;
            $ptr = 2;
            continue main;
        }
        $var3 = 0;
        if ($var3 >= 1.0 + $this.$width0 * 20.0) {
            $this.$fallDistance = 0.0;
            $this.$inWater = 1;
            $this.$fire = 0;
            return $this.$inWater;
        }
        $var4 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        $var5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        var$1 = $this.$worldObj;
        var$2 = $rt_s(1018);
        var$9 = $this.$posX + $var4;
        var$10 = $this.$posZ + $var5;
        var$11 = $this.$motionX;
        var$12 = $this.$motionY;
        var$13 = $this.$motionZ;
        $ptr = 3;
        continue main;
    case 2:
        nms_World_spawnParticle(var$1, var$2, var$9, var$6, var$10, var$11, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $var3 + 1 | 0;
        if ($var3 < 1.0 + $this.$width0 * 20.0) {
            $var4 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
            $var5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
            var$1 = $this.$worldObj;
            var$2 = $rt_s(1017);
            var$9 = $this.$posX + $var4;
            var$10 = $this.$posZ + $var5;
            var$11 = $this.$motionX;
            var$12 = $this.$motionY - nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            var$13 = $this.$motionZ;
            continue main;
        }
        $var3 = 0;
        if ($var3 >= 1.0 + $this.$width0 * 20.0) {
            $this.$fallDistance = 0.0;
            $this.$inWater = 1;
            $this.$fire = 0;
            return $this.$inWater;
        }
        $var4 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        $var5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        var$1 = $this.$worldObj;
        var$2 = $rt_s(1018);
        var$9 = $this.$posX + $var4;
        var$10 = $this.$posZ + $var5;
        var$11 = $this.$motionX;
        var$12 = $this.$motionY;
        var$13 = $this.$motionZ;
        $ptr = 3;
    case 3:
        nms_World_spawnParticle(var$1, var$2, var$9, var$6, var$10, var$11, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $var3 + 1 | 0;
        if ($var3 >= 1.0 + $this.$width0 * 20.0) {
            $this.$fallDistance = 0.0;
            $this.$inWater = 1;
            $this.$fire = 0;
            return $this.$inWater;
        }
        $var4 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        $var5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        var$1 = $this.$worldObj;
        var$2 = $rt_s(1018);
        var$9 = $this.$posX + $var4;
        var$10 = $this.$posZ + $var5;
        var$11 = $this.$motionX;
        var$12 = $this.$motionY;
        var$13 = $this.$motionZ;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, $var1, $var2, $var3, var$6, $var4, $var5, var$9, var$10, var$11, var$12, var$13, $ptr);
}
function nms_Entity_isInsideOfMaterial($this, $par1Material) {
    var $var2, $var4, $var5, $var6, $var7;
    $var2 = $this.$posY + $this.$getEyeHeight();
    $var4 = nms_MathHelper_floor_double($this.$posX);
    $var5 = nms_MathHelper_floor_float(nms_MathHelper_floor_double($var2));
    $var6 = nms_MathHelper_floor_double($this.$posZ);
    $var7 = nms_World_getBlockId($this.$worldObj, $var4, $var5, $var6);
    if ($var7) {
        nms_Block_$callClinit();
        if (nms_Block_blocksList.data[$var7].$blockMaterial === $par1Material)
            return $var2 >= ($var5 + 1 | 0) - (nms_BlockFluid_getFluidHeightPercent(nms_World_getBlockMetadata($this.$worldObj, $var4, $var5, $var6)) - 0.1111111119389534) ? 0 : 1;
    }
    return 0;
}
function nms_Entity_getEyeHeight($this) {
    return 0.0;
}
function nms_Entity_handleLavaMovement($this) {
    var var$1, var$2;
    var$1 = $this.$worldObj;
    var$2 = nms_AxisAlignedBB_expand($this.$boundingBox, (-0.10000000149011612), (-0.4000000059604645), (-0.10000000149011612));
    nms_Material_$callClinit();
    return nms_World_isMaterialInBB(var$1, var$2, nms_Material_lava);
}
function nms_Entity_moveFlying($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6;
    $var4 = $par1 * $par1 + $par2 * $par2;
    if ($var4 >= 9.999999747378752E-5) {
        $var4 = nms_MathHelper_sqrt_float($var4);
        if ($var4 < 1.0)
            $var4 = 1.0;
        $par3 = $par3 / $var4;
        $par1 = $par1 * $par3;
        $par2 = $par2 * $par3;
        $var5 = nms_MathHelper_sin($this.$rotationYaw * 3.1415927410125732 / 180.0);
        $var6 = nms_MathHelper_cos($this.$rotationYaw * 3.1415927410125732 / 180.0);
        $this.$motionX = $this.$motionX + $par1 * $var6 - $par2 * $var5;
        $this.$motionZ = $this.$motionZ + $par2 * $var6 + $par1 * $var5;
    }
}
function nms_Entity_getBrightnessForRender($this, $par1) {
    var $var2, $var3, $var4, $var6;
    $var2 = nms_MathHelper_floor_double($this.$posX);
    $var3 = nms_MathHelper_floor_double($this.$posZ);
    if (!nms_World_blockExists($this.$worldObj, $var2, 0, $var3))
        return 0;
    $var4 = ($this.$boundingBox.$maxY - $this.$boundingBox.$minY) * 0.66;
    $var6 = nms_MathHelper_floor_double($this.$posY - $this.$yOffset + $var4);
    return nms_World_getLightBrightnessForSkyBlocks($this.$worldObj, $var2, $var6, $var3, 0);
}
function nms_Entity_getBrightness($this, $par1) {
    var $var2, $var3, $var4, $var6;
    $var2 = nms_MathHelper_floor_double($this.$posX);
    $var3 = nms_MathHelper_floor_double($this.$posZ);
    if (!nms_World_blockExists($this.$worldObj, $var2, 0, $var3))
        return 0.0;
    $var4 = ($this.$boundingBox.$maxY - $this.$boundingBox.$minY) * 0.66;
    $var6 = nms_MathHelper_floor_double($this.$posY - $this.$yOffset + $var4);
    return nms_World_getLightBrightness($this.$worldObj, $var2, $var6, $var3);
}
function nms_Entity_setWorld($this, $par1World) {
    $this.$worldObj = $par1World;
    if ($par1World !== null)
        $this.$dimension = $par1World.$provider.$dimensionId;
    return $this;
}
function nms_Entity_setPositionAndRotation($this, $par1, $par3, $par5, $par7, $par8) {
    var $var9;
    $this.$posX = $par1;
    $this.$prevPosX = $par1;
    $this.$posY = $par3;
    $this.$prevPosY = $par3;
    $this.$posZ = $par5;
    $this.$prevPosZ = $par5;
    $this.$rotationYaw = $par7;
    $this.$prevRotationYaw = $par7;
    $this.$rotationPitch = $par8;
    $this.$prevRotationPitch = $par8;
    $this.$ySize = 0.0;
    $var9 = $this.$prevRotationYaw - $par7;
    if ($var9 < (-180.0))
        $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
    if ($var9 >= 180.0)
        $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
    nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
    nms_Entity_setRotation($this, $par7, $par8);
}
function nms_Entity_setLocationAndAngles($this, $par1, $par3, $par5, $par7, $par8) {
    $this.$posX = $par1;
    $this.$prevPosX = $par1;
    $this.$lastTickPosX = $par1;
    $par1 = $par3 + $this.$yOffset;
    $this.$posY = $par1;
    $this.$prevPosY = $par1;
    $this.$lastTickPosY = $par1;
    $this.$posZ = $par5;
    $this.$prevPosZ = $par5;
    $this.$lastTickPosZ = $par5;
    $this.$rotationYaw = $par7;
    $this.$rotationPitch = $par8;
    nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
}
function nms_Entity_getDistanceToEntity($this, $par1Entity) {
    var $var2, $var3, $var4;
    $var2 = $this.$posX - $par1Entity.$posX;
    $var3 = $this.$posY - $par1Entity.$posY;
    $var4 = $this.$posZ - $par1Entity.$posZ;
    return nms_MathHelper_sqrt_float($var2 * $var2 + $var3 * $var3 + $var4 * $var4);
}
function nms_Entity_getDistanceSq($this, $par1, $par3, $par5) {
    var $var7, $var9, $var11;
    $var7 = $this.$posX - $par1;
    $var9 = $this.$posY - $par3;
    $var11 = $this.$posZ - $par5;
    return $var7 * $var7 + $var9 * $var9 + $var11 * $var11;
}
function nms_Entity_getDistance($this, $par1, $par3, $par5) {
    var $var7, $var9, $var11;
    $var7 = $this.$posX - $par1;
    $var9 = $this.$posY - $par3;
    $var11 = $this.$posZ - $par5;
    return nms_MathHelper_sqrt_double($var7 * $var7 + $var9 * $var9 + $var11 * $var11);
}
function nms_Entity_getDistanceSqToEntity($this, $par1Entity) {
    var $var2, $var4, $var6;
    $var2 = $this.$posX - $par1Entity.$posX;
    $var4 = $this.$posY - $par1Entity.$posY;
    $var6 = $this.$posZ - $par1Entity.$posZ;
    return $var2 * $var2 + $var4 * $var4 + $var6 * $var6;
}
function nms_Entity_onCollideWithPlayer($this, $par1EntityPlayer) {
    return;
}
function nms_Entity_addVelocity($this, $par1, $par3, $par5) {
    $this.$motionX = $this.$motionX + $par1;
    $this.$motionY = $this.$motionY + $par3;
    $this.$motionZ = $this.$motionZ + $par5;
    $this.$isAirBorne = 1;
}
function nms_Entity_setBeenAttacked($this) {
    $this.$velocityChanged = 1;
}
function nms_Entity_attackEntityFrom($this, $par1DamageSource, $par2) {
    if ($this.$invulnerable)
        return 0;
    nms_Entity_setBeenAttacked($this);
    return 0;
}
function nms_Entity_canBeCollidedWith($this) {
    return 0;
}
function nms_Entity_canBePushed($this) {
    return 0;
}
function nms_Entity_isInRangeToRenderVec3D($this, $par1Vec3) {
    var $var2, $var4, $var6;
    $var2 = $this.$posX - $par1Vec3.$xCoord;
    $var4 = $this.$posY - $par1Vec3.$yCoord;
    $var6 = $this.$posZ - $par1Vec3.$zCoord;
    return $this.$isInRangeToRenderDist($var2 * $var2 + $var4 * $var4 + $var6 * $var6);
}
function nms_Entity_isInRangeToRenderDist($this, $par1) {
    var var$2;
    var$2 = nms_AxisAlignedBB_getAverageEdgeLength($this.$boundingBox) * 64.0 * $this.$renderDistanceWeight;
    return $par1 >= var$2 * var$2 ? 0 : 1;
}
function nms_Entity_getShadowSize($this) {
    return $this.$height0 / 2.0;
}
function nms_Entity_dropItem($this, $par1, $par2) {
    return nms_Entity_dropItemWithOffset($this, $par1, $par2, 0.0);
}
function nms_Entity_dropItemWithOffset($this, $par1, $par2, $par3) {
    return nms_Entity_entityDropItem($this, nms_ItemStack__init_0($par1, $par2, 0), $par3);
}
function nms_Entity_entityDropItem($this, $par1ItemStack, $par2) {
    var $var3;
    $var3 = nms_EntityItem__init_0($this.$worldObj, $this.$posX, $this.$posY + $par2, $this.$posZ, $par1ItemStack);
    $var3.$delayBeforeCanPickup = 10;
    nms_WorldClient_spawnEntityInWorld($this.$worldObj, $var3);
    return $var3;
}
function nms_Entity_isEntityAlive($this) {
    return $this.$isDead ? 0 : 1;
}
function nms_Entity_isEntityInsideOpaqueBlock($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var7;
    $var1 = 0;
    while ($var1 < 8) {
        $var2 = ((($var1 >> 0) % 2 | 0) - 0.5) * $this.$width0 * 0.800000011920929;
        $var3 = ((($var1 >> 1) % 2 | 0) - 0.5) * 0.10000000149011612;
        $var4 = ((($var1 >> 2) % 2 | 0) - 0.5) * $this.$width0 * 0.800000011920929;
        $var5 = nms_MathHelper_floor_double($this.$posX + $var2);
        $var6 = nms_MathHelper_floor_double($this.$posY + $this.$getEyeHeight() + $var3);
        $var7 = nms_MathHelper_floor_double($this.$posZ + $var4);
        if (nms_World_isBlockNormalCube($this.$worldObj, $var5, $var6, $var7))
            return 1;
        $var1 = $var1 + 1 | 0;
    }
    return 0;
}
function nms_Entity_interact($this, $par1EntityPlayer) {
    return 0;
}
function nms_Entity_getCollisionBox($this, $par1Entity) {
    return null;
}
function nms_Entity_updateRidden($this) {
    var $var1, $var3, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$ridingEntity.$isDead) {
            $this.$ridingEntity = null;
            return;
        }
        $this.$motionX = 0.0;
        $this.$motionY = 0.0;
        $this.$motionZ = 0.0;
        $ptr = 1;
    case 1:
        $this.$onUpdate();
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$ridingEntity !== null) {
            $this.$ridingEntity.$updateRiderPosition();
            $this.$entityRiderYawDelta = $this.$entityRiderYawDelta + $this.$ridingEntity.$rotationYaw - $this.$ridingEntity.$prevRotationYaw;
            $this.$entityRiderPitchDelta = $this.$entityRiderPitchDelta + $this.$ridingEntity.$rotationPitch - $this.$ridingEntity.$prevRotationPitch;
            while ($this.$entityRiderYawDelta >= 180.0) {
                $this.$entityRiderYawDelta = $this.$entityRiderYawDelta - 360.0;
            }
            while ($this.$entityRiderYawDelta < (-180.0)) {
                $this.$entityRiderYawDelta = $this.$entityRiderYawDelta + 360.0;
            }
            while ($this.$entityRiderPitchDelta >= 180.0) {
                $this.$entityRiderPitchDelta = $this.$entityRiderPitchDelta - 360.0;
            }
            while ($this.$entityRiderPitchDelta < (-180.0)) {
                $this.$entityRiderPitchDelta = $this.$entityRiderPitchDelta + 360.0;
            }
            $var1 = $this.$entityRiderYawDelta * 0.5;
            $var3 = $this.$entityRiderPitchDelta * 0.5;
            var$3 = 10.0;
            if ($var1 > var$3)
                $var1 = var$3;
            var$4 = (-10.0);
            if ($var1 < var$4)
                $var1 = var$4;
            if ($var3 <= var$3)
                var$3 = $var3;
            if (var$3 >= var$4)
                var$4 = var$3;
            $this.$entityRiderYawDelta = $this.$entityRiderYawDelta - $var1;
            $this.$entityRiderPitchDelta = $this.$entityRiderPitchDelta - var$4;
            $this.$rotationYaw = $this.$rotationYaw + $var1;
            $this.$rotationPitch = $this.$rotationPitch + var$4;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var3, var$3, var$4, $ptr);
}
function nms_Entity_updateRiderPosition($this) {
    if ($this.$riddenByEntity !== null) {
        if (!($this.$riddenByEntity instanceof nms_EntityPlayer && $this.$riddenByEntity.$func_71066_bF())) {
            $this.$riddenByEntity.$lastTickPosX = $this.$lastTickPosX;
            $this.$riddenByEntity.$lastTickPosY = $this.$lastTickPosY + $this.$getMountedYOffset() + $this.$riddenByEntity.$getYOffset();
            $this.$riddenByEntity.$lastTickPosZ = $this.$lastTickPosZ;
        }
        nms_Entity_setPosition($this.$riddenByEntity, $this.$posX, $this.$posY + $this.$getMountedYOffset() + $this.$riddenByEntity.$getYOffset(), $this.$posZ);
    }
}
function nms_Entity_getYOffset($this) {
    return $this.$yOffset;
}
function nms_Entity_getMountedYOffset($this) {
    return $this.$height0 * 0.75;
}
function nms_Entity_mountEntity($this, $par1Entity) {
    $this.$entityRiderPitchDelta = 0.0;
    $this.$entityRiderYawDelta = 0.0;
    if ($par1Entity !== null) {
        if ($this.$ridingEntity !== null)
            $this.$ridingEntity.$riddenByEntity = null;
        $this.$ridingEntity = $par1Entity;
        $par1Entity.$riddenByEntity = $this;
    } else {
        if ($this.$ridingEntity !== null) {
            nms_Entity_setLocationAndAngles($this, $this.$ridingEntity.$posX, $this.$ridingEntity.$boundingBox.$minY + $this.$ridingEntity.$height0, $this.$ridingEntity.$posZ, $this.$rotationYaw, $this.$rotationPitch);
            $this.$ridingEntity.$riddenByEntity = null;
        }
        $this.$ridingEntity = null;
    }
}
function nms_Entity_unmountEntity($this, $par1Entity) {
    var $var3, $var5, $var7, $var9, $var11, $var13, $var14, $var2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var2 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = $this.$posX;
        $var5 = $this.$posY;
        $var7 = $this.$posZ;
        if ($par1Entity !== null) {
            $var3 = $par1Entity.$posX;
            $var5 = $par1Entity.$boundingBox.$minY + $par1Entity.$height0;
            $var7 = $par1Entity.$posZ;
        }
        $var9 = (-1.5);
        a: {
            while ($var9 < 2.0) {
                $var11 = (-1.5);
                while ($var11 < 2.0) {
                    if ($var9 !== 0.0)
                        break a;
                    if ($var11 !== 0.0)
                        break a;
                    $var11 = $var11 + 1.0;
                }
                $var9 = $var9 + 1.0;
            }
            nms_Entity_setLocationAndAngles($this, $var3, $var5, $var7, $this.$rotationYaw, $this.$rotationPitch);
            return;
        }
        $var13 = $this.$posX + $var9 | 0;
        $var14 = $this.$posZ + $var11 | 0;
        $var2 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $var9, 1.0, $var11);
        $par1Entity = $this.$worldObj;
        $ptr = 1;
    case 1:
        b: {
            $tmp = nms_World_getCollidingBlockBounds($par1Entity, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $par1Entity = $tmp;
            if (ju_AbstractCollection_isEmpty($par1Entity)) {
                if (nms_World_doesBlockHaveSolidTopSurface($this.$worldObj, $var13, $this.$posY | 0, $var14)) {
                    nms_Entity_setLocationAndAngles($this, $this.$posX + $var9, $this.$posY + 1.0, $this.$posZ + $var11, $this.$rotationYaw, $this.$rotationPitch);
                    return;
                }
                if (!nms_World_doesBlockHaveSolidTopSurface($this.$worldObj, $var13, ($this.$posY | 0) - 1 | 0, $var14)) {
                    $par1Entity = nms_World_getBlockMaterial($this.$worldObj, $var13, ($this.$posY | 0) - 1 | 0, $var14);
                    nms_Material_$callClinit();
                    if ($par1Entity !== nms_Material_water)
                        break b;
                }
                $var3 = $this.$posX + $var9;
                $var5 = $this.$posY + 1.0;
                $var7 = $this.$posZ + $var11;
            }
        }
        c: {
            d: while (true) {
                $var11 = $var11 + 1.0;
                while ($var11 >= 2.0) {
                    $var9 = $var9 + 1.0;
                    if ($var9 >= 2.0)
                        break d;
                    $var11 = (-1.5);
                }
                if ($var9 !== 0.0)
                    break c;
                if ($var11 !== 0.0)
                    break c;
            }
            nms_Entity_setLocationAndAngles($this, $var3, $var5, $var7, $this.$rotationYaw, $this.$rotationPitch);
            return;
        }
        $var13 = $this.$posX + $var9 | 0;
        $var14 = $this.$posZ + $var11 | 0;
        $var2 = nms_AxisAlignedBB_getOffsetBoundingBox($this.$boundingBox, $var9, 1.0, $var11);
        $par1Entity = $this.$worldObj;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $var3, $var5, $var7, $var9, $var11, $var13, $var14, $var2, $ptr);
}
function nms_Entity_setPositionAndRotation2($this, $par1, $par3, $par5, $par7, $par8, $par9) {
    var $var10, $var14, $var11, $var13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var14 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par5 = $thread.pop();$par3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Entity_setPosition($this, $par1, $par3, $par5);
        nms_Entity_setRotation($this, $par7, $par8);
        $var10 = $this.$worldObj;
        $var14 = nms_AxisAlignedBB_contract($this.$boundingBox, 0.03125, 0.0, 0.03125);
        $ptr = 1;
    case 1:
        $tmp = nms_World_getCollidingBoundingBoxes($var10, $this, $var14);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $tmp;
        if (!ju_AbstractCollection_isEmpty($var10)) {
            $var11 = 0.0;
            $var13 = 0;
            while ($var13 < $var10.$size) {
                $var14 = ju_ArrayList_get($var10, $var13);
                if ($var14.$maxY > $var11)
                    $var11 = $var14.$maxY;
                $var13 = $var13 + 1 | 0;
            }
            nms_Entity_setPosition($this, $par1, $par3 + $var11 - $this.$boundingBox.$minY, $par5);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, $par5, $par7, $par8, $par9, $var10, $var14, $var11, $var13, $ptr);
}
function nms_Entity_getCollisionBorderSize($this) {
    return 0.10000000149011612;
}
function nms_Entity_getLookVec($this) {
    return null;
}
function nms_Entity_setInPortal($this) {
    if ($this.$timeUntilPortal <= 0)
        $this.$inPortal = 1;
    else
        $this.$timeUntilPortal = $this.$getPortalCooldown();
}
function nms_Entity_getPortalCooldown($this) {
    return 900;
}
function nms_Entity_setVelocity($this, $par1, $par3, $par5) {
    $this.$motionX = $par1;
    $this.$motionY = $par3;
    $this.$motionZ = $par5;
}
function nms_Entity_handleHealthUpdate($this, $par1) {
    return;
}
function nms_Entity_performHurtAnimation($this) {
    return;
}
function nms_Entity_updateCloak($this) {
    return;
}
function nms_Entity_getLastActiveItems($this) {
    return null;
}
function nms_Entity_setCurrentItemOrArmor($this, $par1, $par2ItemStack) {
    return;
}
function nms_Entity_isBurning($this) {
    return $this.$fire <= 0 && !nms_Entity_getFlag($this, 0) ? 0 : 1;
}
function nms_Entity_isRiding($this) {
    return $this.$ridingEntity === null && !nms_Entity_getFlag($this, 2) ? 0 : 1;
}
function nms_Entity_isSneaking($this) {
    return nms_Entity_getFlag($this, 1);
}
function nms_Entity_setSneaking($this, $par1) {
    nms_Entity_setFlag($this, 1, $par1);
}
function nms_Entity_isSprinting($this) {
    return nms_Entity_getFlag($this, 3);
}
function nms_Entity_setSprinting($this, $par1) {
    nms_Entity_setFlag($this, 3, $par1);
}
function nms_Entity_isInvisible($this) {
    return nms_Entity_getFlag($this, 5);
}
function nms_Entity_func_98034_c($this, $par1EntityPlayer) {
    return nms_Entity_isInvisible($this);
}
function nms_Entity_isEating($this) {
    return nms_Entity_getFlag($this, 4);
}
function nms_Entity_getFlag($this, $par1) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 0) & 1 << $par1) ? 0 : 1;
}
function nms_Entity_setFlag($this, $par1, $par2) {
    var $var3;
    $var3 = nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 0);
    if ($par2)
        nms_DataWatcher_updateObject($this.$dataWatcher, 0, jl_Byte_valueOf(($var3 | 1 << $par1) << 24 >> 24));
    else
        nms_DataWatcher_updateObject($this.$dataWatcher, 0, jl_Byte_valueOf(($var3 & (1 << $par1 ^ (-1))) << 24 >> 24));
}
function nms_Entity_getAir($this) {
    return nms_DataWatcher_getWatchableObjectShort($this.$dataWatcher, 1);
}
function nms_Entity_setAir($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 1, jl_Short_valueOf($par1 << 16 >> 16));
}
function nms_Entity_pushOutOfBlocks($this, $par1, $par3, $par5) {
    var $var7, $var8, $var9, $var10, $var12, $var14, $var16, var$11, $var21, $var17, $var18, $var20, $var22, $var23, $var24, $var26, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var21 = $thread.pop();var$11 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$par5 = $thread.pop();$par3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = nms_MathHelper_floor_double($par1);
        $var8 = nms_MathHelper_floor_double($par3);
        $var9 = nms_MathHelper_floor_double($par5);
        $var10 = $par1 - $var7;
        $var12 = $par3 - $var8;
        $var14 = $par5 - $var9;
        $var16 = $this.$worldObj;
        var$11 = $this.$boundingBox;
        $ptr = 1;
    case 1:
        $tmp = nms_World_getCollidingBlockBounds($var16, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $var16 = $tmp;
        if (ju_AbstractCollection_isEmpty($var16)) {
            $var16 = $this.$worldObj;
            $ptr = 3;
            continue main;
        }
        $var16 = $this.$worldObj;
        $var21 = $var7 - 1 | 0;
        $ptr = 2;
    case 2:
        $tmp = nms_World_func_85174_u($var16, $var21, $var8, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = $tmp;
        $var17 = $var21 ? 0 : 1;
        $var16 = $this.$worldObj;
        $var21 = $var7 + 1 | 0;
        $ptr = 4;
        continue main;
    case 3:
        $tmp = nms_World_func_85174_u($var16, $var7, $var8, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = $tmp;
        if (!$var21)
            return 0;
        $var16 = $this.$worldObj;
        $var21 = $var7 - 1 | 0;
        $ptr = 2;
        continue main;
    case 4:
        $tmp = nms_World_func_85174_u($var16, $var21, $var8, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = $tmp;
        $var18 = $var21 ? 0 : 1;
        $var16 = $this.$worldObj;
        $var21 = $var8 - 1 | 0;
        $ptr = 5;
    case 5:
        $tmp = nms_World_func_85174_u($var16, $var7, $var21, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = $tmp;
        $var16 = $this.$worldObj;
        $var21 = $var8 + 1 | 0;
        $ptr = 6;
    case 6:
        $tmp = nms_World_func_85174_u($var16, $var7, $var21, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = $tmp;
        $var20 = $var21 ? 0 : 1;
        $var16 = $this.$worldObj;
        $var21 = $var9 - 1 | 0;
        $ptr = 7;
    case 7:
        $tmp = nms_World_func_85174_u($var16, $var7, $var8, $var21);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = $tmp;
        $var21 = $var21 ? 0 : 1;
        $var16 = $this.$worldObj;
        $var22 = $var9 + 1 | 0;
        $ptr = 8;
    case 8:
        $tmp = nms_World_func_85174_u($var16, $var7, $var8, $var22);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        $var22 = $var7 ? 0 : 1;
        $var23 = 3;
        $var24 = 9999.0;
        if ($var17 && $var10 < $var24) {
            $var23 = 0;
            $var24 = $var10;
        }
        if (!$var18)
            $par1 = $var24;
        else {
            $par1 = 1.0 - $var10;
            if ($par1 < $var24)
                $var23 = 1;
            else
                $par1 = $var24;
        }
        if (!$var20)
            $par3 = $par1;
        else {
            $par3 = 1.0 - $var12;
            if ($par3 < $par1)
                $var23 = 3;
            else
                $par3 = $par1;
        }
        if ($var21 && $var14 < $par3) {
            $var23 = 4;
            $par3 = $var14;
        }
        if ($var22 && 1.0 - $var14 < $par3)
            $var23 = 5;
        $var26 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224 + 0.10000000149011612;
        if (!$var23)
            $this.$motionX =  -$var26;
        if ($var23 == 1)
            $this.$motionX = $var26;
        if ($var23 == 2)
            $this.$motionY =  -$var26;
        if ($var23 == 3)
            $this.$motionY = $var26;
        if ($var23 == 4)
            $this.$motionZ =  -$var26;
        if ($var23 == 5)
            $this.$motionZ = $var26;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, $par5, $var7, $var8, $var9, $var10, $var12, $var14, $var16, var$11, $var21, $var17, $var18, $var20, $var22, $var23, $var24, $var26, $ptr);
}
function nms_Entity_setInWeb($this) {
    $this.$isInWeb = 1;
    $this.$fallDistance = 0.0;
}
function nms_Entity_getEntityName($this) {
    var $var1, var$2;
    $var1 = ju_HashMap_get(nms_EntityList_classToStringMapping, jl_Object_getClass($this));
    if ($var1 === null)
        $var1 = $rt_s(1019);
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(1020));
    jl_AbstractStringBuilder_append(var$2, $var1);
    jl_AbstractStringBuilder_append(var$2, $rt_s(1021));
    return nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString(var$2));
}
function nms_Entity_getParts($this) {
    return null;
}
function nms_Entity_isEntityEqual($this, $par1Entity) {
    return $this !== $par1Entity ? 0 : 1;
}
function nms_Entity_setRotationYawHead($this, $par1) {
    return;
}
function nms_Entity_canAttackWithItem($this) {
    return 1;
}
function nms_Entity_func_85031_j($this, $par1Entity) {
    return 0;
}
function nms_Entity_toString($this) {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_Object, 7);
    var$2 = var$1.data;
    var$2[0] = jl_Class_getSimpleName(jl_Object_getClass($this));
    var$2[1] = $this.$getEntityName();
    var$2[2] = jl_Integer_valueOf($this.$entityId);
    var$2[3] = $this.$worldObj === null ? $rt_s(1022) : $this.$worldObj.$worldInfo.$levelName;
    var$2[4] = jl_Double_valueOf($this.$posX);
    var$2[5] = jl_Double_valueOf($this.$posY);
    var$2[6] = jl_Double_valueOf($this.$posZ);
    return jl_String_format($rt_s(1023), var$1);
}
function nms_Entity_isEntityInvulnerable($this) {
    return $this.$invulnerable;
}
function nms_Entity_func_82146_a($this, $par1Explosion, $par2World, $par3, $par4, $par5, $par6Block) {
    return $par6Block.$getExplosionResistance($this);
}
function nms_Entity_func_96091_a($this, $par1Explosion, $par2World, $par3, $par4, $par5, $par6, $par7) {
    return 1;
}
function nms_Entity_canRenderOnFire($this) {
    return $this.$isBurning();
}
function nms_Entity_func_96092_aw($this) {
    return 1;
}
function nms_Entity_getTranslatedEntityName($this) {
    return $this.$getEntityName();
}
function nms_Entity__clinit_() {
    nms_Entity_nextEntityID = 0;
}
function nms_EntityLiving() {
    var a = this; nms_Entity.call(a);
    a.$maxHurtResistantTime = 0;
    a.$field_70769_ao = 0.0;
    a.$field_70770_ap = 0.0;
    a.$renderYawOffset = 0.0;
    a.$prevRenderYawOffset = 0.0;
    a.$rotationYawHead = 0.0;
    a.$prevRotationYawHead = 0.0;
    a.$field_70768_au = 0.0;
    a.$field_70766_av = 0.0;
    a.$field_70764_aw = 0.0;
    a.$field_70763_ax = 0.0;
    a.$field_70753_ay = 0;
    a.$field_70740_aA = 0;
    a.$field_70741_aB = 0.0;
    a.$entityType = null;
    a.$field_70743_aD = 0.0;
    a.$scoreValue = 0;
    a.$field_70745_aF = 0.0;
    a.$landMovementFactor = 0.0;
    a.$jumpMovementFactor = 0.0;
    a.$prevSwingProgress = 0.0;
    a.$swingProgress = 0.0;
    a.$health = 0;
    a.$prevHealth = 0;
    a.$livingSoundTime = 0;
    a.$hurtTime = 0;
    a.$maxHurtTime = 0;
    a.$attackedAtYaw = 0.0;
    a.$deathTime = 0;
    a.$attackTime = 0;
    a.$prevCameraPitch = 0.0;
    a.$cameraPitch0 = 0.0;
    a.$dead = 0;
    a.$experienceValue = 0;
    a.$field_70731_aW = 0;
    a.$field_70730_aX = 0.0;
    a.$prevLimbYaw = 0.0;
    a.$limbYaw = 0.0;
    a.$limbSwing = 0.0;
    a.$attackingPlayer = null;
    a.$recentlyHit = 0;
    a.$entityLivingToAttack = null;
    a.$revengeTimer = 0;
    a.$lastAttackingEntity = null;
    a.$arrowHitTimer = 0;
    a.$activePotionsMap = null;
    a.$potionsNeedUpdate = 0;
    a.$field_70748_f = 0;
    a.$lookHelper = null;
    a.$moveHelper = null;
    a.$jumpHelper = null;
    a.$bodyHelper = null;
    a.$attackTarget = null;
    a.$senses = null;
    a.$AIMoveSpeed = 0.0;
    a.$homePosition = null;
    a.$maximumHomeDistance = 0.0;
    a.$equipment = null;
    a.$equipmentDropChances = null;
    a.$previousEquipment = null;
    a.$isSwingInProgress = 0;
    a.$swingProgressInt = 0;
    a.$canPickUpLoot = 0;
    a.$persistenceRequired = 0;
    a.$field_94063_bt = null;
    a.$newPosRotationIncrements = 0;
    a.$newPosX = 0.0;
    a.$newPosY = 0.0;
    a.$newPosZ = 0.0;
    a.$newRotationYaw = 0.0;
    a.$newRotationPitch = 0.0;
    a.$field_70706_bo = 0.0;
    a.$lastDamage = 0;
    a.$entityAge = 0;
    a.$moveStrafing = 0.0;
    a.$moveForward = 0.0;
    a.$randomYawVelocity = 0.0;
    a.$isJumping = 0;
    a.$defaultPitch = 0.0;
    a.$moveSpeed = 0.0;
    a.$jumpTicks = 0;
    a.$currentTarget = null;
    a.$numTicksToChaseTarget = 0;
}
var nms_EntityLiving_enchantmentProbability = null;
var nms_EntityLiving_armorEnchantmentProbability = null;
var nms_EntityLiving_armorProbability = null;
var nms_EntityLiving_pickUpLootProability = null;
function nms_EntityLiving__init_() {
    var var_0 = new nms_EntityLiving();
    nms_EntityLiving__init_0(var_0);
    return var_0;
}
function nms_EntityLiving__init_0($this) {
    var var$1, $var2;
    nms_Entity__init_0($this);
    $this.$maxHurtResistantTime = 20;
    $this.$renderYawOffset = 0.0;
    $this.$prevRenderYawOffset = 0.0;
    $this.$rotationYawHead = 0.0;
    $this.$prevRotationYawHead = 0.0;
    $this.$field_70753_ay = 1;
    $this.$field_70740_aA = 1;
    $this.$field_70741_aB = 0.0;
    $this.$entityType = null;
    $this.$field_70743_aD = 1.0;
    $this.$scoreValue = 0;
    $this.$field_70745_aF = 0.0;
    $this.$landMovementFactor = 0.10000000149011612;
    $this.$jumpMovementFactor = 0.019999999552965164;
    $this.$health = $this.$getMaxHealth();
    $this.$attackedAtYaw = 0.0;
    $this.$deathTime = 0;
    $this.$attackTime = 0;
    $this.$dead = 0;
    $this.$field_70731_aW = (-1);
    $this.$field_70730_aX = jl_Math_random() * 0.8999999761581421 + 0.10000000149011612;
    $this.$attackingPlayer = null;
    $this.$recentlyHit = 0;
    $this.$entityLivingToAttack = null;
    $this.$revengeTimer = 0;
    $this.$lastAttackingEntity = null;
    $this.$arrowHitTimer = 0;
    $this.$activePotionsMap = ju_HashMap__init_();
    $this.$potionsNeedUpdate = 1;
    $this.$homePosition = nms_ChunkCoordinates__init_0(0, 0, 0);
    $this.$maximumHomeDistance = (-1.0);
    $this.$equipment = $rt_createArray(nms_ItemStack, 5);
    $this.$equipmentDropChances = $rt_createFloatArray(5);
    $this.$previousEquipment = $rt_createArray(nms_ItemStack, 5);
    $this.$isSwingInProgress = 0;
    $this.$swingProgressInt = 0;
    $this.$canPickUpLoot = 0;
    $this.$persistenceRequired = 0;
    var$1 = new nms_CombatTracker;
    var$1.$field_94556_a = ju_ArrayList__init_0();
    var$1.$field_94555_c = 0;
    var$1.$field_94552_d = 0;
    var$1.$field_94553_e = 0;
    var$1.$field_94554_b = $this;
    $this.$field_94063_bt = var$1;
    $this.$field_70706_bo = 0.0;
    $this.$lastDamage = 0;
    $this.$entityAge = 0;
    $this.$isJumping = 0;
    $this.$defaultPitch = 0.0;
    $this.$moveSpeed = 0.699999988079071;
    $this.$jumpTicks = 0;
    $this.$numTicksToChaseTarget = 0;
    $this.$preventEntitySpawning = 1;
    var$1 = new nms_EntityLookHelper;
    var$1.$isLooking = 0;
    var$1.$entity = $this;
    $this.$lookHelper = var$1;
    var$1 = new nms_EntityMoveHelper;
    var$1.$update2 = 0;
    var$1.$entity0 = $this;
    var$1.$posX0 = $this.$posX;
    var$1.$posY0 = $this.$posY;
    var$1.$posZ0 = $this.$posZ;
    $this.$moveHelper = var$1;
    var$1 = new nms_EntityJumpHelper;
    var$1.$isJumping0 = 0;
    var$1.$entity1 = $this;
    $this.$jumpHelper = var$1;
    var$1 = new nms_EntityBodyHelper;
    var$1.$field_75666_b = 0;
    var$1.$field_75667_c = 0.0;
    var$1.$theLiving = $this;
    $this.$bodyHelper = var$1;
    var$1 = new nms_EntitySenses;
    var$1.$seenEntities = ju_ArrayList__init_0();
    var$1.$unseenEntities = ju_ArrayList__init_0();
    var$1.$entityObj = $this;
    $this.$senses = var$1;
    $this.$field_70770_ap = (jl_Math_random() + 1.0) * 0.009999999776482582;
    nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
    $this.$field_70769_ao = jl_Math_random() * 12398.0;
    $this.$rotationYaw = jl_Math_random() * 3.141592653589793 * 2.0;
    $this.$rotationYawHead = $this.$rotationYaw;
    $var2 = 0;
    while ($var2 < $this.$equipmentDropChances.data.length) {
        $this.$equipmentDropChances.data[$var2] = 0.08500000089406967;
        $var2 = $var2 + 1 | 0;
    }
    $this.$stepHeight = 0.5;
}
function nms_EntityLiving_getMoveHelper($this) {
    return $this.$moveHelper;
}
function nms_EntityLiving_getJumpHelper($this) {
    return $this.$jumpHelper;
}
function nms_EntityLiving_getRNG($this) {
    return $this.$rand0;
}
function nms_EntityLiving_setLastAttackingEntity($this, $par1Entity) {
    if ($par1Entity instanceof nms_EntityLiving)
        $this.$lastAttackingEntity = $par1Entity;
}
function nms_EntityLiving_setRotationYawHead($this, $par1) {
    $this.$rotationYawHead = $par1;
}
function nms_EntityLiving_getAIMoveSpeed($this) {
    return $this.$AIMoveSpeed;
}
function nms_EntityLiving_setAIMoveSpeed($this, $par1) {
    $this.$AIMoveSpeed = $par1;
    $this.$moveForward = $par1;
}
function nms_EntityLiving_getAttackTarget($this) {
    return $this.$attackTarget;
}
function nms_EntityLiving_updateFallState($this, $par1, $par3) {
    var $var4, $var5, $var6, $var7, var$7, var$8, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$isInWater()) {
            $ptr = 1;
            continue main;
        }
        if ($par3 && $this.$fallDistance > 0.0) {
            $var4 = nms_MathHelper_floor_double($this.$posX);
            $var5 = nms_MathHelper_floor_double($this.$posY - 0.20000000298023224 - $this.$yOffset);
            $var6 = nms_MathHelper_floor_double($this.$posZ);
            $var7 = nms_World_getBlockId($this.$worldObj, $var4, $var5, $var6);
            if (!$var7) {
                var$7 = $this.$worldObj;
                var$8 = $var5 - 1 | 0;
                $var8 = nms_World_blockGetRenderType(var$7, $var4, var$8, $var6);
                if (!($var8 != 11 && $var8 != 32 && $var8 != 21))
                    $var7 = nms_World_getBlockId($this.$worldObj, $var4, var$8, $var6);
            }
            if ($var7 > 0)
                nms_Block_$callClinit();
        }
        $ptr = 2;
        continue main;
    case 1:
        nms_Entity_handleWaterMovement($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($par3 && $this.$fallDistance > 0.0) {
            $var4 = nms_MathHelper_floor_double($this.$posX);
            $var5 = nms_MathHelper_floor_double($this.$posY - 0.20000000298023224 - $this.$yOffset);
            $var6 = nms_MathHelper_floor_double($this.$posZ);
            $var7 = nms_World_getBlockId($this.$worldObj, $var4, $var5, $var6);
            if (!$var7) {
                var$7 = $this.$worldObj;
                var$8 = $var5 - 1 | 0;
                $var8 = nms_World_blockGetRenderType(var$7, $var4, var$8, $var6);
                if (!($var8 != 11 && $var8 != 32 && $var8 != 21))
                    $var7 = nms_World_getBlockId($this.$worldObj, $var4, var$8, $var6);
            }
            if ($var7 > 0)
                nms_Block_$callClinit();
        }
        $ptr = 2;
    case 2:
        nms_Entity_updateFallState($this, $par1, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, $var4, $var5, $var6, $var7, var$7, var$8, $var8, $ptr);
}
function nms_EntityLiving_setRevengeTarget($this, $par1EntityLiving) {
    $this.$entityLivingToAttack = $par1EntityLiving;
    $this.$revengeTimer = $this.$entityLivingToAttack === null ? 0 : 100;
}
function nms_EntityLiving_entityInit($this) {
    nms_DataWatcher_addObject($this.$dataWatcher, 8, jl_Integer_valueOf($this.$field_70748_f));
    nms_DataWatcher_addObject($this.$dataWatcher, 9, jl_Byte_valueOf(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 10, jl_Byte_valueOf(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 6, jl_Byte_valueOf(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 5, $rt_s(36));
}
function nms_EntityLiving_canEntityBeSeen($this, $par1Entity) {
    var var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$worldObj;
        var$3 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, $this.$posX, $this.$posY + $this.$getEyeHeight(), $this.$posZ);
        $par1Entity = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, $par1Entity.$posX, $par1Entity.$posY + $par1Entity.$getEyeHeight(), $par1Entity.$posZ);
        $ptr = 1;
    case 1:
        $tmp = nms_World_rayTraceBlocks(var$2, var$3, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        $par1Entity = $tmp;
        return $par1Entity !== null ? 0 : 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, var$2, var$3, $ptr);
}
function nms_EntityLiving_canBeCollidedWith($this) {
    return $this.$isDead ? 0 : 1;
}
function nms_EntityLiving_canBePushed($this) {
    return $this.$isDead ? 0 : 1;
}
function nms_EntityLiving_getEyeHeight($this) {
    return $this.$height0 * 0.8500000238418579;
}
function nms_EntityLiving_getTalkInterval($this) {
    return 80;
}
function nms_EntityLiving_playLivingSound($this) {
    var $var1, var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = $this.$getLivingSound();
        if ($var1 === null)
            return;
        var$2 = $this.$getSoundVolume();
        var$3 = $this.$getSoundPitch();
        $ptr = 1;
    case 1:
        $this.$playSound1($var1, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, var$2, var$3, $ptr);
}
function nms_EntityLiving_onEntityUpdate($this) {
    var $var1, $var2, var$3, $var3, $var4, $var5, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevSwingProgress = $this.$swingProgress;
        $ptr = 1;
    case 1:
        nms_Entity_onEntityUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1024));
        if (nms_EntityLiving_isEntityAlive($this)) {
            $var1 = nle_EaglercraftRandom_nextInt($this.$rand0, 1000);
            $var2 = $this.$livingSoundTime;
            $this.$livingSoundTime = $var2 + 1 | 0;
            if ($var1 < $var2) {
                $this.$livingSoundTime =  -$this.$getTalkInterval();
                $ptr = 2;
                continue main;
            }
        }
        if (nms_EntityLiving_isEntityAlive($this) && $this.$isEntityInsideOpaqueBlock()) {
            var$3 = nms_DamageSource_inWall;
            $var1 = 1;
            $ptr = 3;
            continue main;
        }
        nms_Entity_extinguish($this);
        $var1 = $this instanceof nms_EntityPlayer && $this.$capabilities.$disableDamage ? 1 : 0;
        a: {
            if (nms_EntityLiving_isEntityAlive($this)) {
                nms_Material_$callClinit();
                if (nms_Entity_isInsideOfMaterial($this, nms_Material_water) && !$this.$canBreatheUnderwater() && !ju_HashMap_containsKey($this.$activePotionsMap, jl_Integer_valueOf(nms_Potion_waterBreathing.$id5)) && !$var1) {
                    nms_Entity_setAir($this, $this.$decreaseAirSupply(nms_Entity_getAir($this)));
                    if (nms_Entity_getAir($this) == (-20)) {
                        nms_Entity_setAir($this, 0);
                        $var2 = 0;
                        if ($var2 >= 8) {
                            var$3 = nms_DamageSource_drown;
                            $var1 = 2;
                            $ptr = 5;
                            continue main;
                        }
                        $var3 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
                        $var4 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
                        $var5 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
                        var$3 = $this.$worldObj;
                        var$7 = $rt_s(1017);
                        var$8 = $this.$posX + $var3;
                        var$9 = $this.$posY + $var4;
                        var$10 = $this.$posZ + $var5;
                        var$11 = $this.$motionX;
                        var$12 = $this.$motionY;
                        var$13 = $this.$motionZ;
                        $ptr = 6;
                        continue main;
                    }
                    nms_Entity_extinguish($this);
                    break a;
                }
            }
            nms_Entity_setAir($this, 300);
        }
        $this.$prevCameraPitch = $this.$cameraPitch0;
        if ($this.$attackTime > 0)
            $this.$attackTime = $this.$attackTime - 1 | 0;
        if ($this.$hurtTime > 0)
            $this.$hurtTime = $this.$hurtTime - 1 | 0;
        if ($this.$hurtResistantTime > 0)
            $this.$hurtResistantTime = $this.$hurtResistantTime - 1 | 0;
        if ($this.$health <= 0) {
            $ptr = 4;
            continue main;
        }
        if ($this.$recentlyHit <= 0)
            $this.$attackingPlayer = null;
        else
            $this.$recentlyHit = $this.$recentlyHit - 1 | 0;
        if ($this.$lastAttackingEntity !== null && !nms_EntityLiving_isEntityAlive($this.$lastAttackingEntity))
            $this.$lastAttackingEntity = null;
        if ($this.$entityLivingToAttack !== null) {
            if (!$this.$entityLivingToAttack.$isEntityAlive())
                $this.$setRevengeTarget(null);
            else if ($this.$revengeTimer <= 0)
                $this.$setRevengeTarget(null);
            else
                $this.$revengeTimer = $this.$revengeTimer - 1 | 0;
        }
        $ptr = 7;
        continue main;
    case 2:
        nms_EntityLiving_playLivingSound($this);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_EntityLiving_isEntityAlive($this) && $this.$isEntityInsideOpaqueBlock()) {
            var$3 = nms_DamageSource_inWall;
            $var1 = 1;
            $ptr = 3;
            continue main;
        }
        nms_Entity_extinguish($this);
        $var1 = $this instanceof nms_EntityPlayer && $this.$capabilities.$disableDamage ? 1 : 0;
        b: {
            if (nms_EntityLiving_isEntityAlive($this)) {
                nms_Material_$callClinit();
                if (nms_Entity_isInsideOfMaterial($this, nms_Material_water) && !$this.$canBreatheUnderwater() && !ju_HashMap_containsKey($this.$activePotionsMap, jl_Integer_valueOf(nms_Potion_waterBreathing.$id5)) && !$var1) {
                    nms_Entity_setAir($this, $this.$decreaseAirSupply(nms_Entity_getAir($this)));
                    if (nms_Entity_getAir($this) == (-20)) {
                        nms_Entity_setAir($this, 0);
                        $var2 = 0;
                        if ($var2 >= 8) {
                            var$3 = nms_DamageSource_drown;
                            $var1 = 2;
                            $ptr = 5;
                            continue main;
                        }
                        $var3 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
                        $var4 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
                        $var5 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
                        var$3 = $this.$worldObj;
                        var$7 = $rt_s(1017);
                        var$8 = $this.$posX + $var3;
                        var$9 = $this.$posY + $var4;
                        var$10 = $this.$posZ + $var5;
                        var$11 = $this.$motionX;
                        var$12 = $this.$motionY;
                        var$13 = $this.$motionZ;
                        $ptr = 6;
                        continue main;
                    }
                    nms_Entity_extinguish($this);
                    break b;
                }
            }
            nms_Entity_setAir($this, 300);
        }
        $this.$prevCameraPitch = $this.$cameraPitch0;
        if ($this.$attackTime > 0)
            $this.$attackTime = $this.$attackTime - 1 | 0;
        if ($this.$hurtTime > 0)
            $this.$hurtTime = $this.$hurtTime - 1 | 0;
        if ($this.$hurtResistantTime > 0)
            $this.$hurtResistantTime = $this.$hurtResistantTime - 1 | 0;
        if ($this.$health <= 0) {
            $ptr = 4;
            continue main;
        }
        if ($this.$recentlyHit <= 0)
            $this.$attackingPlayer = null;
        else
            $this.$recentlyHit = $this.$recentlyHit - 1 | 0;
        if ($this.$lastAttackingEntity !== null && !nms_EntityLiving_isEntityAlive($this.$lastAttackingEntity))
            $this.$lastAttackingEntity = null;
        if ($this.$entityLivingToAttack !== null) {
            if (!$this.$entityLivingToAttack.$isEntityAlive())
                $this.$setRevengeTarget(null);
            else if ($this.$revengeTimer <= 0)
                $this.$setRevengeTarget(null);
            else
                $this.$revengeTimer = $this.$revengeTimer - 1 | 0;
        }
        $ptr = 7;
        continue main;
    case 3:
        $this.$attackEntityFrom(var$3, $var1);
        if ($rt_suspending()) {
            break main;
        }
        nms_Entity_extinguish($this);
        $var1 = $this instanceof nms_EntityPlayer && $this.$capabilities.$disableDamage ? 1 : 0;
        c: {
            if (nms_EntityLiving_isEntityAlive($this)) {
                nms_Material_$callClinit();
                if (nms_Entity_isInsideOfMaterial($this, nms_Material_water) && !$this.$canBreatheUnderwater() && !ju_HashMap_containsKey($this.$activePotionsMap, jl_Integer_valueOf(nms_Potion_waterBreathing.$id5)) && !$var1) {
                    nms_Entity_setAir($this, $this.$decreaseAirSupply(nms_Entity_getAir($this)));
                    if (nms_Entity_getAir($this) == (-20)) {
                        nms_Entity_setAir($this, 0);
                        $var2 = 0;
                        if ($var2 >= 8) {
                            var$3 = nms_DamageSource_drown;
                            $var1 = 2;
                            $ptr = 5;
                            continue main;
                        }
                        $var3 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
                        $var4 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
                        $var5 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
                        var$3 = $this.$worldObj;
                        var$7 = $rt_s(1017);
                        var$8 = $this.$posX + $var3;
                        var$9 = $this.$posY + $var4;
                        var$10 = $this.$posZ + $var5;
                        var$11 = $this.$motionX;
                        var$12 = $this.$motionY;
                        var$13 = $this.$motionZ;
                        $ptr = 6;
                        continue main;
                    }
                    nms_Entity_extinguish($this);
                    break c;
                }
            }
            nms_Entity_setAir($this, 300);
        }
        $this.$prevCameraPitch = $this.$cameraPitch0;
        if ($this.$attackTime > 0)
            $this.$attackTime = $this.$attackTime - 1 | 0;
        if ($this.$hurtTime > 0)
            $this.$hurtTime = $this.$hurtTime - 1 | 0;
        if ($this.$hurtResistantTime > 0)
            $this.$hurtResistantTime = $this.$hurtResistantTime - 1 | 0;
        if ($this.$health <= 0) {
            $ptr = 4;
            continue main;
        }
        if ($this.$recentlyHit <= 0)
            $this.$attackingPlayer = null;
        else
            $this.$recentlyHit = $this.$recentlyHit - 1 | 0;
        if ($this.$lastAttackingEntity !== null && !nms_EntityLiving_isEntityAlive($this.$lastAttackingEntity))
            $this.$lastAttackingEntity = null;
        if ($this.$entityLivingToAttack !== null) {
            if (!$this.$entityLivingToAttack.$isEntityAlive())
                $this.$setRevengeTarget(null);
            else if ($this.$revengeTimer <= 0)
                $this.$setRevengeTarget(null);
            else
                $this.$revengeTimer = $this.$revengeTimer - 1 | 0;
        }
        $ptr = 7;
        continue main;
    case 4:
        $this.$onDeathUpdate();
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$recentlyHit <= 0)
            $this.$attackingPlayer = null;
        else
            $this.$recentlyHit = $this.$recentlyHit - 1 | 0;
        if ($this.$lastAttackingEntity !== null && !nms_EntityLiving_isEntityAlive($this.$lastAttackingEntity))
            $this.$lastAttackingEntity = null;
        if ($this.$entityLivingToAttack !== null) {
            if (!$this.$entityLivingToAttack.$isEntityAlive())
                $this.$setRevengeTarget(null);
            else if ($this.$revengeTimer <= 0)
                $this.$setRevengeTarget(null);
            else
                $this.$revengeTimer = $this.$revengeTimer - 1 | 0;
        }
        $ptr = 7;
        continue main;
    case 5:
        $this.$attackEntityFrom(var$3, $var1);
        if ($rt_suspending()) {
            break main;
        }
        nms_Entity_extinguish($this);
        $this.$prevCameraPitch = $this.$cameraPitch0;
        if ($this.$attackTime > 0)
            $this.$attackTime = $this.$attackTime - 1 | 0;
        if ($this.$hurtTime > 0)
            $this.$hurtTime = $this.$hurtTime - 1 | 0;
        if ($this.$hurtResistantTime > 0)
            $this.$hurtResistantTime = $this.$hurtResistantTime - 1 | 0;
        if ($this.$health <= 0) {
            $ptr = 4;
            continue main;
        }
        if ($this.$recentlyHit <= 0)
            $this.$attackingPlayer = null;
        else
            $this.$recentlyHit = $this.$recentlyHit - 1 | 0;
        if ($this.$lastAttackingEntity !== null && !nms_EntityLiving_isEntityAlive($this.$lastAttackingEntity))
            $this.$lastAttackingEntity = null;
        if ($this.$entityLivingToAttack !== null) {
            if (!$this.$entityLivingToAttack.$isEntityAlive())
                $this.$setRevengeTarget(null);
            else if ($this.$revengeTimer <= 0)
                $this.$setRevengeTarget(null);
            else
                $this.$revengeTimer = $this.$revengeTimer - 1 | 0;
        }
        $ptr = 7;
        continue main;
    case 6:
        nms_World_spawnParticle(var$3, var$7, var$8, var$9, var$10, var$11, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $var2 + 1 | 0;
        if ($var2 >= 8) {
            var$3 = nms_DamageSource_drown;
            $var1 = 2;
            $ptr = 5;
            continue main;
        }
        $var3 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
        $var4 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
        $var5 = nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0);
        var$3 = $this.$worldObj;
        var$7 = $rt_s(1017);
        var$8 = $this.$posX + $var3;
        var$9 = $this.$posY + $var4;
        var$10 = $this.$posZ + $var5;
        var$11 = $this.$motionX;
        var$12 = $this.$motionY;
        var$13 = $this.$motionZ;
        continue main;
    case 7:
        nms_EntityLiving_updatePotionEffects($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_70763_ax = $this.$field_70764_aw;
        $this.$prevRenderYawOffset = $this.$renderYawOffset;
        $this.$prevRotationYawHead = $this.$rotationYawHead;
        $this.$prevRotationYaw = $this.$rotationYaw;
        $this.$prevRotationPitch = $this.$rotationPitch;
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $var4, $var5, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
}
function nms_EntityLiving_onDeathUpdate($this) {
    var $var1, $var8, $var4, $var6, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var8 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$deathTime = $this.$deathTime + 1 | 0;
        if ($this.$deathTime != 20)
            return;
        $ptr = 1;
    case 1:
        $this.$setDead();
        if ($rt_suspending()) {
            break main;
        }
        $var1 = 0;
        if ($var1 >= 20)
            return;
        $var8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var4 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        var$5 = $this.$worldObj;
        var$6 = $rt_s(1025);
        var$7 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        var$8 = $this.$posY + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
        var$9 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        $ptr = 2;
    case 2:
        nms_World_spawnParticle(var$5, var$6, var$7, var$8, var$9, $var8, $var4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $var1 + 1 | 0;
        if ($var1 >= 20)
            return;
        $var8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var4 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        var$5 = $this.$worldObj;
        var$6 = $rt_s(1025);
        var$7 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        var$8 = $this.$posY + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
        var$9 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var8, $var4, $var6, var$5, var$6, var$7, var$8, var$9, $ptr);
}
function nms_EntityLiving_decreaseAirSupply($this, $par1) {
    var $var2;
    nms_EnchantmentHelper_$callClinit();
    nms_Enchantment_$callClinit();
    $var2 = nms_EnchantmentHelper_getMaxEnchantmentLevel(nms_Enchantment_respiration.$effectId, $this.$getLastActiveItems());
    if (!($var2 > 0 && nle_EaglercraftRandom_nextInt($this.$rand0, $var2 + 1 | 0) > 0))
        $par1 = $par1 - 1 | 0;
    return $par1;
}
function nms_EntityLiving_updateRidden($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_Entity_updateRidden($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_70768_au = $this.$field_70766_av;
        $this.$field_70766_av = 0.0;
        $this.$fallDistance = 0.0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_EntityLiving_setPositionAndRotation2($this, $par1, $par3, $par5, $par7, $par8, $par9) {
    $this.$yOffset = 0.0;
    $this.$newPosX = $par1;
    $this.$newPosY = $par3;
    $this.$newPosZ = $par5;
    $this.$newRotationYaw = $par7;
    $this.$newRotationPitch = $par8;
    $this.$newPosRotationIncrements = $par9;
}
function nms_EntityLiving_onUpdate($this) {
    var $var12, $var3, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var12 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $this.$onEntityUpdate();
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $this.$onLivingUpdate();
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $this.$posX - $this.$prevPosX;
        $var3 = $this.$posZ - $this.$prevPosZ;
        $var5 = $var12 * $var12 + $var3 * $var3;
        $var6 = $this.$renderYawOffset;
        $var7 = 0.0;
        $this.$field_70768_au = $this.$field_70766_av;
        $var8 = 0.0;
        if ($var5 > 0.002500000176951289) {
            $var8 = 1.0;
            $var7 = jl_Math_sqrt($var5) * 3.0;
            $var6 = jl_Math_atan2($var3, $var12) * 180.0 / 3.1415927410125732 - 90.0;
        }
        if ($this.$swingProgress > 0.0)
            $var6 = $this.$rotationYaw;
        if (!$this.$onGround)
            $var8 = 0.0;
        $this.$field_70766_av = $this.$field_70766_av + ($var8 - $this.$field_70766_av) * 0.30000001192092896;
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1026));
        if ($this.$isAIEnabled())
            nms_EntityBodyHelper_func_75664_a($this.$bodyHelper);
        else {
            $var9 = nms_MathHelper_wrapAngleTo180_float($var6 - $this.$renderYawOffset);
            $this.$renderYawOffset = $this.$renderYawOffset + $var9 * 0.30000001192092896;
            $var10 = nms_MathHelper_wrapAngleTo180_float($this.$rotationYaw - $this.$renderYawOffset);
            $var11 = $var10 >= (-90.0) && $var10 < 90.0 ? 0 : 1;
            if ($var10 < (-75.0))
                $var10 = (-75.0);
            if ($var10 >= 75.0)
                $var10 = 75.0;
            $this.$renderYawOffset = $this.$rotationYaw - $var10;
            if ($var10 * $var10 > 2500.0)
                $this.$renderYawOffset = $this.$renderYawOffset + $var10 * 0.20000000298023224;
            if ($var11)
                $var7 = $var7 * (-1.0);
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1027));
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        while ($this.$renderYawOffset - $this.$prevRenderYawOffset < (-180.0)) {
            $this.$prevRenderYawOffset = $this.$prevRenderYawOffset - 360.0;
        }
        while ($this.$renderYawOffset - $this.$prevRenderYawOffset >= 180.0) {
            $this.$prevRenderYawOffset = $this.$prevRenderYawOffset + 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYawHead - $this.$prevRotationYawHead < (-180.0)) {
            $this.$prevRotationYawHead = $this.$prevRotationYawHead - 360.0;
        }
        while ($this.$rotationYawHead - $this.$prevRotationYawHead >= 180.0) {
            $this.$prevRotationYawHead = $this.$prevRotationYawHead + 360.0;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        $this.$field_70764_aw = $this.$field_70764_aw + $var7;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var12, $var3, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $ptr);
}
function nms_EntityLiving_heal($this, $par1) {
    if ($this.$health > 0) {
        nms_EntityLiving_setEntityHealth($this, $this.$health + $par1 | 0);
        if ($this.$health > $this.$getMaxHealth())
            nms_EntityLiving_setEntityHealth($this, $this.$getMaxHealth());
        $this.$hurtResistantTime = $this.$maxHurtResistantTime / 2 | 0;
    }
}
function nms_EntityLiving_getHealth($this) {
    return $this.$health;
}
function nms_EntityLiving_setEntityHealth($this, $par1) {
    $this.$health = $par1;
    if ($par1 > $this.$getMaxHealth())
        $this.$getMaxHealth();
}
function nms_EntityLiving_attackEntityFrom($this, $par1DamageSource, $par2) {
    return 0;
}
function nms_EntityLiving_getSoundPitch($this) {
    return !$this.$isChild() ? (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0 : (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.5;
}
function nms_EntityLiving_performHurtAnimation($this) {
    $this.$maxHurtTime = 10;
    $this.$hurtTime = 10;
    $this.$attackedAtYaw = 0.0;
}
function nms_EntityLiving_getSoundVolume($this) {
    return 1.0;
}
function nms_EntityLiving_getLivingSound($this) {
    return null;
}
function nms_EntityLiving_getHurtSound($this) {
    return $rt_s(1028);
}
function nms_EntityLiving_getDeathSound($this) {
    return $rt_s(1028);
}
function nms_EntityLiving_onDeath($this, $par1DamageSource) {
    var $var3;
    $var3 = nms_EntityLiving_func_94060_bK($this);
    if ($this.$scoreValue >= 0 && $var3 !== null)
        $var3.$addToPlayerScore($this, $this.$scoreValue);
    $this.$dead = 1;
}
function nms_EntityLiving_fall($this, $par1) {
    var $var2, $var4, var$4, $var3, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var3 = $thread.pop();var$4 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_Entity_fall($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = nms_MathHelper_ceiling_float_int($par1 - 3.0);
        if ($var2 <= 0)
            return;
        if ($var2 <= 4) {
            $var4 = $rt_s(1029);
            $par1 = 1.0;
            var$4 = 1.0;
            $ptr = 2;
            continue main;
        }
        $var4 = $rt_s(1030);
        $par1 = 1.0;
        var$4 = 1.0;
        $ptr = 3;
        continue main;
    case 2:
        $this.$playSound1($var4, $par1, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = nms_DamageSource_fall;
        $ptr = 4;
        continue main;
    case 3:
        $this.$playSound1($var4, $par1, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = nms_DamageSource_fall;
        $ptr = 4;
    case 4:
        $this.$attackEntityFrom($var4, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = nms_World_getBlockId($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY - 0.20000000298023224 - $this.$yOffset), nms_MathHelper_floor_double($this.$posZ));
        if ($var3 <= 0)
            return;
        nms_Block_$callClinit();
        $var4 = nms_Block_blocksList.data[$var3].$stepSound;
        var$6 = nms_StepSound_getStepSound($var4);
        $par1 = $var4.$stepSoundVolume * 0.5;
        var$4 = $var4.$stepSoundPitch * 0.75;
        $ptr = 5;
    case 5:
        $this.$playSound1(var$6, $par1, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $var4, var$4, $var3, var$6, $ptr);
}
function nms_EntityLiving_moveEntityWithHeading($this, $par1, $par2) {
    var $var3, $var4, $var8, $var6, $var9, $var11, var$9, var$10, $var12, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var12 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var6 = $thread.pop();$var8 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($this.$isInWater()) {
                if (!($this instanceof nms_EntityPlayer))
                    break a;
                if (!$this.$capabilities.$isFlying)
                    break a;
            }
            b: {
                if ($this.$handleLavaMovement()) {
                    if (!($this instanceof nms_EntityPlayer))
                        break b;
                    if (!$this.$capabilities.$isFlying)
                        break b;
                }
                $var3 = 0.9100000262260437;
                if ($this.$onGround) {
                    $var3 = 0.546000063419342;
                    $var4 = nms_World_getBlockId($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$boundingBox.$minY) - 1 | 0, nms_MathHelper_floor_double($this.$posZ));
                    if ($var4 > 0) {
                        nms_Block_$callClinit();
                        $var3 = nms_Block_blocksList.data[$var4].$slipperiness * 0.9100000262260437;
                    }
                }
                $var8 = 0.16277135908603668 / ($var3 * $var3 * $var3);
                nms_Entity_moveFlying($this, $par1, $par2, !$this.$onGround ? $this.$jumpMovementFactor : (!$this.$isAIEnabled() ? $this.$landMovementFactor : nms_EntityLiving_getAIMoveSpeed($this)) * $var8);
                $par1 = 0.9100000262260437;
                if ($this.$onGround) {
                    $par1 = 0.546000063419342;
                    $var6 = nms_World_getBlockId($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$boundingBox.$minY) - 1 | 0, nms_MathHelper_floor_double($this.$posZ));
                    if ($var6 > 0) {
                        nms_Block_$callClinit();
                        $par1 = nms_Block_blocksList.data[$var6].$slipperiness * 0.9100000262260437;
                    }
                }
                if ($this.$isOnLadder()) {
                    if ($this.$motionX < (-0.15000000596046448))
                        $this.$motionX = (-0.15000000596046448);
                    if ($this.$motionX > 0.15000000596046448)
                        $this.$motionX = 0.15000000596046448;
                    if ($this.$motionZ < (-0.15000000596046448))
                        $this.$motionZ = (-0.15000000596046448);
                    if ($this.$motionZ > 0.15000000596046448)
                        $this.$motionZ = 0.15000000596046448;
                    $this.$fallDistance = 0.0;
                    if ($this.$motionY < (-0.15))
                        $this.$motionY = (-0.15);
                    if (($this.$isSneaking() && $this instanceof nms_EntityPlayer ? 1 : 0) && $this.$motionY < 0.0)
                        $this.$motionY = 0.0;
                }
                $var9 = $this.$motionX;
                $var11 = $this.$motionY;
                var$9 = $this.$motionZ;
                $ptr = 5;
                continue main;
            }
            $var9 = $this.$posY;
            nms_Entity_moveFlying($this, $par1, $par2, 0.019999999552965164);
            $var11 = $this.$motionX;
            var$9 = $this.$motionY;
            var$10 = $this.$motionZ;
            $ptr = 1;
            continue main;
        }
        $var9 = $this.$posY;
        nms_Entity_moveFlying($this, $par1, $par2, !$this.$isAIEnabled() ? 0.019999999552965164 : 0.03999999910593033);
        $var11 = $this.$motionX;
        var$9 = $this.$motionY;
        var$10 = $this.$motionZ;
        $ptr = 3;
        continue main;
    case 1:
        $this.$moveEntity($var11, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.5;
        $this.$motionY = $this.$motionY * 0.5;
        $this.$motionZ = $this.$motionZ * 0.5;
        $this.$motionY = $this.$motionY - 0.02;
        if (!$this.$isCollidedHorizontally) {
            $this.$prevLimbYaw = $this.$limbYaw;
            $var9 = $this.$posX - $this.$prevPosX;
            $var11 = $this.$posZ - $this.$prevPosZ;
            $var12 = nms_MathHelper_sqrt_double($var9 * $var9 + $var11 * $var11) * 4.0;
            if ($var12 > 1.0)
                $var12 = 1.0;
            $this.$limbYaw = $this.$limbYaw + ($var12 - $this.$limbYaw) * 0.4000000059604645;
            $this.$limbSwing = $this.$limbSwing + $this.$limbYaw;
            return;
        }
        $var11 = $this.$motionX;
        $var9 = $this.$motionY + 0.6000000238418579 - $this.$posY + $var9;
        var$9 = $this.$motionZ;
        $ptr = 2;
    case 2:
        $tmp = nms_Entity_isOffsetPositionInLiquid($this, $var11, $var9, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        if ($var7)
            $this.$motionY = 0.30000001192092896;
        $this.$prevLimbYaw = $this.$limbYaw;
        $var9 = $this.$posX - $this.$prevPosX;
        $var11 = $this.$posZ - $this.$prevPosZ;
        $var12 = nms_MathHelper_sqrt_double($var9 * $var9 + $var11 * $var11) * 4.0;
        if ($var12 > 1.0)
            $var12 = 1.0;
        $this.$limbYaw = $this.$limbYaw + ($var12 - $this.$limbYaw) * 0.4000000059604645;
        $this.$limbSwing = $this.$limbSwing + $this.$limbYaw;
        return;
    case 3:
        $this.$moveEntity($var11, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.800000011920929;
        $this.$motionY = $this.$motionY * 0.800000011920929;
        $this.$motionZ = $this.$motionZ * 0.800000011920929;
        $this.$motionY = $this.$motionY - 0.02;
        if (!$this.$isCollidedHorizontally) {
            $this.$prevLimbYaw = $this.$limbYaw;
            $var9 = $this.$posX - $this.$prevPosX;
            $var11 = $this.$posZ - $this.$prevPosZ;
            $var12 = nms_MathHelper_sqrt_double($var9 * $var9 + $var11 * $var11) * 4.0;
            if ($var12 > 1.0)
                $var12 = 1.0;
            $this.$limbYaw = $this.$limbYaw + ($var12 - $this.$limbYaw) * 0.4000000059604645;
            $this.$limbSwing = $this.$limbSwing + $this.$limbYaw;
            return;
        }
        $var11 = $this.$motionX;
        $var9 = $this.$motionY + 0.6000000238418579 - $this.$posY + $var9;
        var$9 = $this.$motionZ;
        $ptr = 4;
    case 4:
        $tmp = nms_Entity_isOffsetPositionInLiquid($this, $var11, $var9, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        if ($var7)
            $this.$motionY = 0.30000001192092896;
        $this.$prevLimbYaw = $this.$limbYaw;
        $var9 = $this.$posX - $this.$prevPosX;
        $var11 = $this.$posZ - $this.$prevPosZ;
        $var12 = nms_MathHelper_sqrt_double($var9 * $var9 + $var11 * $var11) * 4.0;
        if ($var12 > 1.0)
            $var12 = 1.0;
        $this.$limbYaw = $this.$limbYaw + ($var12 - $this.$limbYaw) * 0.4000000059604645;
        $this.$limbSwing = $this.$limbSwing + $this.$limbYaw;
        return;
    case 5:
        $this.$moveEntity($var9, $var11, var$9);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$isCollidedHorizontally && $this.$isOnLadder())
            $this.$motionY = 0.2;
        if (nms_World_blockExists($this.$worldObj, $this.$posX | 0, 0, $this.$posZ | 0) && nms_World_getChunkFromBlockCoords($this.$worldObj, $this.$posX | 0, $this.$posZ | 0).$isChunkLoaded)
            $this.$motionY = $this.$motionY - 0.08;
        else if ($this.$posY <= 0.0)
            $this.$motionY = 0.0;
        else
            $this.$motionY = (-0.1);
        $this.$motionY = $this.$motionY * 0.9800000190734863;
        $var9 = $this.$motionX;
        $var11 = $par1;
        $this.$motionX = $var9 * $var11;
        $this.$motionZ = $this.$motionZ * $var11;
        $this.$prevLimbYaw = $this.$limbYaw;
        $var9 = $this.$posX - $this.$prevPosX;
        $var11 = $this.$posZ - $this.$prevPosZ;
        $var12 = nms_MathHelper_sqrt_double($var9 * $var9 + $var11 * $var11) * 4.0;
        if ($var12 > 1.0)
            $var12 = 1.0;
        $this.$limbYaw = $this.$limbYaw + ($var12 - $this.$limbYaw) * 0.4000000059604645;
        $this.$limbSwing = $this.$limbSwing + $this.$limbYaw;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, $var4, $var8, $var6, $var9, $var11, var$9, var$10, $var12, $var7, $ptr);
}
function nms_EntityLiving_isOnLadder($this) {
    var $var1, $var2, $var3, $var4;
    $var1 = nms_MathHelper_floor_double($this.$posX);
    $var2 = nms_MathHelper_floor_double($this.$boundingBox.$minY);
    $var3 = nms_MathHelper_floor_double($this.$posZ);
    $var4 = nms_World_getBlockId($this.$worldObj, $var1, $var2, $var3);
    nms_Block_$callClinit();
    return $var4 != nms_Block_ladder.$blockID && $var4 != nms_Block_vine.$blockID ? 0 : 1;
}
function nms_EntityLiving_isEntityAlive($this) {
    return !$this.$isDead && $this.$health > 0 ? 1 : 0;
}
function nms_EntityLiving_canBreatheUnderwater($this) {
    return 0;
}
function nms_EntityLiving_setMoveForward($this, $par1) {
    $this.$moveForward = $par1;
}
function nms_EntityLiving_setJumping($this, $par1) {
    $this.$isJumping = $par1;
}
function nms_EntityLiving_onLivingUpdate($this) {
    var $var1, $var3, $var5, $var7, $var11, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var11 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$jumpTicks > 0)
            $this.$jumpTicks = $this.$jumpTicks - 1 | 0;
        if ($this.$newPosRotationIncrements > 0) {
            $var1 = $this.$posX + ($this.$newPosX - $this.$posX) / $this.$newPosRotationIncrements;
            $var3 = $this.$posY + ($this.$newPosY - $this.$posY) / $this.$newPosRotationIncrements;
            $var5 = $this.$posZ + ($this.$newPosZ - $this.$posZ) / $this.$newPosRotationIncrements;
            $var7 = nms_MathHelper_wrapAngleTo180_double($this.$newRotationYaw - $this.$rotationYaw);
            $this.$rotationYaw = $this.$rotationYaw + $var7 / $this.$newPosRotationIncrements;
            $this.$rotationPitch = $this.$rotationPitch + ($this.$newRotationPitch - $this.$rotationPitch) / $this.$newPosRotationIncrements;
            $this.$newPosRotationIncrements = $this.$newPosRotationIncrements - 1 | 0;
            nms_Entity_setPosition($this, $var1, $var3, $var5);
            nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
        } else if (!$this.$isClientWorld()) {
            $this.$motionX = $this.$motionX * 0.98;
            $this.$motionY = $this.$motionY * 0.98;
            $this.$motionZ = $this.$motionZ * 0.98;
        }
        if (jl_Math_abs2($this.$motionX) < 0.005)
            $this.$motionX = 0.0;
        if (jl_Math_abs2($this.$motionY) < 0.005)
            $this.$motionY = 0.0;
        if (jl_Math_abs2($this.$motionZ) < 0.005)
            $this.$motionZ = 0.0;
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1031));
        if ($this.$isMovementBlocked()) {
            $this.$isJumping = 0;
            $this.$moveStrafing = 0.0;
            $this.$moveForward = 0.0;
            $this.$randomYawVelocity = 0.0;
        } else if ($this.$isClientWorld()) {
            if (!$this.$isAIEnabled()) {
                nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1032));
                $ptr = 1;
                continue main;
            }
            nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1033));
            $ptr = 2;
            continue main;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1034));
        if (!$this.$isJumping)
            $this.$jumpTicks = 0;
        else if (!(!$this.$isInWater() && !$this.$handleLavaMovement()))
            $this.$motionY = $this.$motionY + 0.03999999910593033;
        else if ($this.$onGround && !$this.$jumpTicks) {
            $this.$jump();
            $this.$jumpTicks = 10;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1035));
        $this.$moveStrafing = $this.$moveStrafing * 0.9800000190734863;
        $this.$moveForward = $this.$moveForward * 0.9800000190734863;
        $this.$randomYawVelocity = $this.$randomYawVelocity * 0.8999999761581421;
        $var11 = $this.$landMovementFactor;
        $this.$landMovementFactor = $this.$landMovementFactor * $this.$getSpeedModifier();
        var$6 = $this.$moveStrafing;
        var$7 = $this.$moveForward;
        $ptr = 3;
        continue main;
    case 1:
        $this.$updateEntityActionState();
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        $this.$rotationYawHead = $this.$rotationYaw;
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1034));
        if (!$this.$isJumping)
            $this.$jumpTicks = 0;
        else if (!(!$this.$isInWater() && !$this.$handleLavaMovement()))
            $this.$motionY = $this.$motionY + 0.03999999910593033;
        else if ($this.$onGround && !$this.$jumpTicks) {
            $this.$jump();
            $this.$jumpTicks = 10;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1035));
        $this.$moveStrafing = $this.$moveStrafing * 0.9800000190734863;
        $this.$moveForward = $this.$moveForward * 0.9800000190734863;
        $this.$randomYawVelocity = $this.$randomYawVelocity * 0.8999999761581421;
        $var11 = $this.$landMovementFactor;
        $this.$landMovementFactor = $this.$landMovementFactor * $this.$getSpeedModifier();
        var$6 = $this.$moveStrafing;
        var$7 = $this.$moveForward;
        $ptr = 3;
        continue main;
    case 2:
        $this.$updateAITasks();
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1034));
        if (!$this.$isJumping)
            $this.$jumpTicks = 0;
        else if (!(!$this.$isInWater() && !$this.$handleLavaMovement()))
            $this.$motionY = $this.$motionY + 0.03999999910593033;
        else if ($this.$onGround && !$this.$jumpTicks) {
            $this.$jump();
            $this.$jumpTicks = 10;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1035));
        $this.$moveStrafing = $this.$moveStrafing * 0.9800000190734863;
        $this.$moveForward = $this.$moveForward * 0.9800000190734863;
        $this.$randomYawVelocity = $this.$randomYawVelocity * 0.8999999761581421;
        $var11 = $this.$landMovementFactor;
        $this.$landMovementFactor = $this.$landMovementFactor * $this.$getSpeedModifier();
        var$6 = $this.$moveStrafing;
        var$7 = $this.$moveForward;
        $ptr = 3;
    case 3:
        $this.$moveEntityWithHeading(var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $this.$landMovementFactor = $var11;
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1036));
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1037));
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, $var11, var$6, var$7, $ptr);
}
function nms_EntityLiving_isAIEnabled($this) {
    return 0;
}
function nms_EntityLiving_isClientWorld($this) {
    return $this.$worldObj.$isRemote ? 0 : 1;
}
function nms_EntityLiving_isMovementBlocked($this) {
    return $this.$health > 0 ? 0 : 1;
}
function nms_EntityLiving_jump($this) {
    var $var1;
    $this.$motionY = 0.41999998688697815;
    if (nms_EntityLiving_isPotionActive($this, nms_Potion_jump))
        $this.$motionY = $this.$motionY + (nms_EntityLiving_getActivePotionEffect($this, nms_Potion_jump).$amplifier + 1 | 0) * 0.10000000149011612;
    if (nms_Entity_isSprinting($this)) {
        $var1 = $this.$rotationYaw * 0.01745329238474369;
        $this.$motionX = $this.$motionX - nms_MathHelper_sin($var1) * 0.20000000298023224;
        $this.$motionZ = $this.$motionZ + nms_MathHelper_cos($var1) * 0.20000000298023224;
    }
    $this.$isAirBorne = 1;
}
function nms_EntityLiving_canDespawn($this) {
    return 1;
}
function nms_EntityLiving_despawnEntity($this) {
    var $var1, $var2, $var4, $var6, $var8;
    if (!$this.$persistenceRequired) {
        $var1 = nms_World_getClosestPlayerToEntity($this.$worldObj, $this, (-1.0));
        if ($var1 !== null) {
            $var2 = $var1.$posX - $this.$posX;
            $var4 = $var1.$posY - $this.$posY;
            $var6 = $var1.$posZ - $this.$posZ;
            $var8 = $var2 * $var2 + $var4 * $var4 + $var6 * $var6;
            if ($this.$canDespawn() && $var8 > 16384.0)
                $this.$setDead();
            if ($this.$entityAge > 600 && !nle_EaglercraftRandom_nextInt($this.$rand0, 800) && $var8 > 1024.0 && $this.$canDespawn())
                $this.$setDead();
            else if ($var8 < 1024.0)
                $this.$entityAge = 0;
        }
    }
}
function nms_EntityLiving_updateAITasks($this) {
    $this.$entityAge = $this.$entityAge + 1 | 0;
    nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1038));
    $this.$despawnEntity();
    nms_Profiler_endSection($this.$worldObj.$theProfiler);
    nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1039));
    nms_EntitySenses_clearSensingCache($this.$senses);
    nms_Profiler_endSection($this.$worldObj.$theProfiler);
    nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1040));
    nms_Profiler_endSection($this.$worldObj.$theProfiler);
    nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1041));
    nms_Profiler_endSection($this.$worldObj.$theProfiler);
    nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1042));
    $this.$updateAITick();
    nms_Profiler_endSection($this.$worldObj.$theProfiler);
    nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1043));
    nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1012));
    nms_EntityMoveHelper_onUpdateMoveHelper($this.$moveHelper);
    nms_Profiler_endStartSection($this.$worldObj.$theProfiler, $rt_s(1044));
    nms_EntityLookHelper_onUpdateLook($this.$lookHelper);
    nms_Profiler_endStartSection($this.$worldObj.$theProfiler, $rt_s(1034));
    nms_EntityJumpHelper_doJump($this.$jumpHelper);
    nms_Profiler_endSection($this.$worldObj.$theProfiler);
    nms_Profiler_endSection($this.$worldObj.$theProfiler);
}
function nms_EntityLiving_updateAITick($this) {
    return;
}
function nms_EntityLiving_updateEntityActionState($this) {
    var $var2, $var4, $var3;
    $this.$entityAge = $this.$entityAge + 1 | 0;
    $this.$despawnEntity();
    $this.$moveStrafing = 0.0;
    $this.$moveForward = 0.0;
    if (nle_EaglercraftRandom_nextFloat($this.$rand0) < 0.019999999552965164) {
        $var2 = nms_World_getClosestPlayerToEntity($this.$worldObj, $this, 8.0);
        if ($var2 === null)
            $this.$randomYawVelocity = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 20.0;
        else {
            $this.$currentTarget = $var2;
            $this.$numTicksToChaseTarget = 10 + nle_EaglercraftRandom_nextInt($this.$rand0, 20) | 0;
        }
    }
    if ($this.$currentTarget === null) {
        if (nle_EaglercraftRandom_nextFloat($this.$rand0) < 0.05000000074505806)
            $this.$randomYawVelocity = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 20.0;
        $this.$rotationYaw = $this.$rotationYaw + $this.$randomYawVelocity;
        $this.$rotationPitch = $this.$defaultPitch;
    } else {
        nms_EntityLiving_faceEntity($this, $this.$currentTarget, 10.0, $this.$getVerticalFaceSpeed());
        $var4 = $this.$numTicksToChaseTarget;
        $this.$numTicksToChaseTarget = $var4 - 1 | 0;
        if (!($var4 > 0 && !$this.$currentTarget.$isDead && nms_Entity_getDistanceSqToEntity($this.$currentTarget, $this) <= 64.0))
            $this.$currentTarget = null;
    }
    $var4 = $this.$isInWater();
    $var3 = $this.$handleLavaMovement();
    if (!(!$var4 && !$var3))
        $this.$isJumping = nle_EaglercraftRandom_nextFloat($this.$rand0) >= 0.800000011920929 ? 0 : 1;
}
function nms_EntityLiving_updateArmSwingProgress($this) {
    var $var1;
    $var1 = nms_EntityLiving_getArmSwingAnimationEnd($this);
    if (!$this.$isSwingInProgress)
        $this.$swingProgressInt = 0;
    else {
        $this.$swingProgressInt = $this.$swingProgressInt + 1 | 0;
        if ($this.$swingProgressInt >= $var1) {
            $this.$swingProgressInt = 0;
            $this.$isSwingInProgress = 0;
        }
    }
    $this.$swingProgress = $this.$swingProgressInt / $var1;
}
function nms_EntityLiving_getVerticalFaceSpeed($this) {
    return 40;
}
function nms_EntityLiving_faceEntity($this, $par1Entity, $par2, $par3) {
    var $var4, $var8, $var6, $var10, $var14, $var12, $var13;
    $var4 = $par1Entity.$posX - $this.$posX;
    $var8 = $par1Entity.$posZ - $this.$posZ;
    if (!($par1Entity instanceof nms_EntityLiving))
        $var6 = ($par1Entity.$boundingBox.$minY + $par1Entity.$boundingBox.$maxY) / 2.0 - ($this.$posY + $this.$getEyeHeight());
    else {
        $var10 = $par1Entity;
        $var6 = $var10.$posY + $var10.$getEyeHeight() - ($this.$posY + $this.$getEyeHeight());
    }
    $var14 = nms_MathHelper_sqrt_double($var4 * $var4 + $var8 * $var8);
    $var12 = jl_Math_atan2($var8, $var4) * 180.0 / 3.141592653589793 - 90.0;
    $var13 =  -(jl_Math_atan2($var6, $var14) * 180.0 / 3.141592653589793);
    $this.$rotationPitch = nms_EntityLiving_updateRotation($this, $this.$rotationPitch, $var13, $par3);
    $this.$rotationYaw = nms_EntityLiving_updateRotation($this, $this.$rotationYaw, $var12, $par2);
}
function nms_EntityLiving_updateRotation($this, $par1, $par2, $par3) {
    var $var4;
    $var4 = nms_MathHelper_wrapAngleTo180_float($par2 - $par1);
    if ($var4 > $par3)
        $var4 = $par3;
    $par2 =  -$par3;
    if ($var4 >= $par2)
        $par2 = $var4;
    return $par1 + $par2;
}
function nms_EntityLiving_kill($this) {
    var var$1, var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = nms_DamageSource_outOfWorld;
        var$2 = 4;
        $ptr = 1;
    case 1:
        $this.$attackEntityFrom(var$1, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, $ptr);
}
function nms_EntityLiving_getSwingProgress($this, $par1) {
    var $var2;
    $var2 = $this.$swingProgress - $this.$prevSwingProgress;
    if ($var2 < 0.0)
        $var2 = $var2 + 1.0;
    return $this.$prevSwingProgress + $var2 * $par1;
}
function nms_EntityLiving_getPosition($this, $par1) {
    var $var2, $var4, $var6;
    if ($par1 === 1.0)
        return nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, $this.$posX, $this.$posY, $this.$posZ);
    $var2 = $this.$prevPosX;
    $var4 = $this.$posX - $this.$prevPosX;
    $var6 = $par1;
    $var2 = $var2 + $var4 * $var6;
    $var4 = $this.$prevPosY + ($this.$posY - $this.$prevPosY) * $var6;
    $var6 = $this.$prevPosZ + ($this.$posZ - $this.$prevPosZ) * $var6;
    return nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, $var2, $var4, $var6);
}
function nms_EntityLiving_getLookVec($this) {
    return nms_EntityLiving_getLook($this, 1.0);
}
function nms_EntityLiving_getLook($this, $par1) {
    var $var2, $var3, $var4, $var5, $var6, $var7;
    if ($par1 === 1.0) {
        $var2 = nms_MathHelper_cos( -$this.$rotationYaw * 0.01745329238474369 - 3.1415927410125732);
        $var3 = nms_MathHelper_sin( -$this.$rotationYaw * 0.01745329238474369 - 3.1415927410125732);
        $var4 =  -nms_MathHelper_cos( -$this.$rotationPitch * 0.01745329238474369);
        $var5 = nms_MathHelper_sin( -$this.$rotationPitch * 0.01745329238474369);
        return nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, $var3 * $var4, $var5, $var2 * $var4);
    }
    $var2 = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * $par1;
    $par1 =  -($this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * $par1) * 0.01745329238474369 - 3.1415927410125732;
    $var4 = nms_MathHelper_cos($par1);
    $var5 = nms_MathHelper_sin($par1);
    $par1 =  -$var2 * 0.01745329238474369;
    $var6 =  -nms_MathHelper_cos($par1);
    $var7 = nms_MathHelper_sin($par1);
    return nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, $var5 * $var6, $var7, $var4 * $var6);
}
function nms_EntityLiving_getRenderSizeModifier($this) {
    return 1.0;
}
function nms_EntityLiving_rayTrace($this, $par1, $par3) {
    var $var4, $var5, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = nms_EntityLiving_getPosition($this, $par3);
        $var5 = nms_EntityLiving_getLook($this, $par3);
        $var6 = nms_Vec3_addVector($var4, $var5.$xCoord * $par1, $var5.$yCoord * $par1, $var5.$zCoord * $par1);
        $var5 = $this.$worldObj;
        $ptr = 1;
    case 1:
        $tmp = nms_World_rayTraceBlocks($var5, $var4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        return $var4;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, $var4, $var5, $var6, $ptr);
}
function nms_EntityLiving_handleHealthUpdate($this, $par1) {
    var var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 != 2) {
            if ($par1 != 3)
                return;
            var$2 = $this.$getDeathSound();
            var$3 = $this.$getSoundVolume();
            var$4 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0;
            $ptr = 3;
            continue main;
        }
        $this.$limbYaw = 1.5;
        $this.$hurtResistantTime = $this.$maxHurtResistantTime;
        $this.$maxHurtTime = 10;
        $this.$hurtTime = 10;
        $this.$attackedAtYaw = 0.0;
        var$2 = $this.$getHurtSound();
        var$3 = $this.$getSoundVolume();
        var$4 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0;
        $ptr = 1;
    case 1:
        $this.$playSound1(var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = nms_DamageSource_generic;
        $par1 = 0;
        $ptr = 2;
    case 2:
        $this.$attackEntityFrom(var$2, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        $this.$playSound1(var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$health = 0;
        $this.$onDeath(nms_DamageSource_generic);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, var$3, var$4, $ptr);
}
function nms_EntityLiving_isPlayerSleeping($this) {
    return 0;
}
function nms_EntityLiving_getItemIcon($this, $par1ItemStack, $par2) {
    return nms_ItemStack_getIconIndex($par1ItemStack);
}
function nms_EntityLiving_updatePotionEffects($this) {
    var $var1, $var2, $var3, $var12, $var13, var$6, $var14, $var7, $var9, var$10, var$11, var$12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var14 = $thread.pop();var$6 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = ju_HashMap_keySet($this.$activePotionsMap).$iterator();
        if ($var1.$hasNext()) {
            $var2 = $var1.$next();
            $var3 = ju_HashMap_get($this.$activePotionsMap, $var2);
            $ptr = 1;
            continue main;
        }
        $this.$potionsNeedUpdate = 0;
        $var12 = nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 8);
        $var13 = nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 9) <= 0 ? 0 : 1;
        if ($var12 > 0) {
            var$6 = !nms_Entity_isInvisible($this) ? nle_EaglercraftRandom_nextBoolean($this.$rand0) : nle_EaglercraftRandom_nextInt($this.$rand0, 15) ? 0 : 1;
            if ($var13)
                var$6 = var$6 & (nle_EaglercraftRandom_nextInt($this.$rand0, 5) ? 0 : 1);
            if (var$6 && $var12 > 0) {
                $var14 = ($var12 >> 16 & 255) / 255.0;
                $var7 = ($var12 >> 8 & 255) / 255.0;
                $var9 = ($var12 >> 0 & 255) / 255.0;
                $var2 = $this.$worldObj;
                $var3 = !$var13 ? $rt_s(1045) : $rt_s(1046);
                var$10 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
                var$11 = $this.$posY + nle_EaglercraftRandom_nextDouble($this.$rand0) * $this.$height0 - $this.$yOffset;
                var$12 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 1:
        $tmp = nms_PotionEffect_onUpdate($var3, $this);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $tmp;
        if ($var12 && !($var3.$duration % 600 | 0))
            nms_EntityLiving_onChangedPotionEffect($this, $var3);
        if ($var1.$hasNext()) {
            $var2 = $var1.$next();
            $var3 = ju_HashMap_get($this.$activePotionsMap, $var2);
            continue main;
        }
        $this.$potionsNeedUpdate = 0;
        $var12 = nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 8);
        $var13 = nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 9) <= 0 ? 0 : 1;
        if ($var12 > 0) {
            var$6 = !nms_Entity_isInvisible($this) ? nle_EaglercraftRandom_nextBoolean($this.$rand0) : nle_EaglercraftRandom_nextInt($this.$rand0, 15) ? 0 : 1;
            if ($var13)
                var$6 = var$6 & (nle_EaglercraftRandom_nextInt($this.$rand0, 5) ? 0 : 1);
            if (var$6 && $var12 > 0) {
                $var14 = ($var12 >> 16 & 255) / 255.0;
                $var7 = ($var12 >> 8 & 255) / 255.0;
                $var9 = ($var12 >> 0 & 255) / 255.0;
                $var2 = $this.$worldObj;
                $var3 = !$var13 ? $rt_s(1045) : $rt_s(1046);
                var$10 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
                var$11 = $this.$posY + nle_EaglercraftRandom_nextDouble($this.$rand0) * $this.$height0 - $this.$yOffset;
                var$12 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 2:
        nms_World_spawnParticle($var2, $var3, var$10, var$11, var$12, $var14, $var7, $var9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var12, $var13, var$6, $var14, $var7, $var9, var$10, var$11, var$12, $ptr);
}
function nms_EntityLiving_getActivePotionEffects($this) {
    return ju_HashMap_values($this.$activePotionsMap);
}
function nms_EntityLiving_isPotionActive($this, $par1Potion) {
    return ju_HashMap_containsKey($this.$activePotionsMap, jl_Integer_valueOf($par1Potion.$id5));
}
function nms_EntityLiving_getActivePotionEffect($this, $par1Potion) {
    return ju_HashMap_get($this.$activePotionsMap, jl_Integer_valueOf($par1Potion.$id5));
}
function nms_EntityLiving_addPotionEffect($this, $par1PotionEffect) {
    if ($this.$isPotionApplicable($par1PotionEffect)) {
        if (!ju_HashMap_containsKey($this.$activePotionsMap, jl_Integer_valueOf($par1PotionEffect.$potionID))) {
            ju_HashMap_putImpl($this.$activePotionsMap, jl_Integer_valueOf($par1PotionEffect.$potionID), $par1PotionEffect);
            nms_EntityLiving_onNewPotionEffect($this, $par1PotionEffect);
        } else {
            nms_PotionEffect_combine(ju_HashMap_get($this.$activePotionsMap, jl_Integer_valueOf($par1PotionEffect.$potionID)), $par1PotionEffect);
            nms_EntityLiving_onChangedPotionEffect($this, ju_HashMap_get($this.$activePotionsMap, jl_Integer_valueOf($par1PotionEffect.$potionID)));
        }
    }
}
function nms_EntityLiving_isPotionApplicable($this, $par1PotionEffect) {
    var $var2;
    a: {
        if ($this.$getCreatureAttribute() === nms_EnumCreatureAttribute_UNDEAD) {
            $var2 = $par1PotionEffect.$potionID;
            if ($var2 == nms_Potion_regeneration.$id5)
                break a;
            if ($var2 == nms_Potion_poison.$id5)
                break a;
        }
        return 1;
    }
    return 0;
}
function nms_EntityLiving_isEntityUndead($this) {
    return $this.$getCreatureAttribute() !== nms_EnumCreatureAttribute_UNDEAD ? 0 : 1;
}
function nms_EntityLiving_removePotionEffectClient($this, $par1) {
    ju_HashMap_remove($this.$activePotionsMap, jl_Integer_valueOf($par1));
}
function nms_EntityLiving_onNewPotionEffect($this, $par1PotionEffect) {
    $this.$potionsNeedUpdate = 1;
}
function nms_EntityLiving_onChangedPotionEffect($this, $par1PotionEffect) {
    $this.$potionsNeedUpdate = 1;
}
function nms_EntityLiving_getSpeedModifier($this) {
    var $var1;
    $var1 = 1.0;
    if (nms_EntityLiving_isPotionActive($this, nms_Potion_moveSpeed))
        $var1 = $var1 * (1.0 + 0.20000000298023224 * (nms_EntityLiving_getActivePotionEffect($this, nms_Potion_moveSpeed).$amplifier + 1 | 0));
    if (nms_EntityLiving_isPotionActive($this, nms_Potion_moveSlowdown))
        $var1 = $var1 * (1.0 - 0.15000000596046448 * (nms_EntityLiving_getActivePotionEffect($this, nms_Potion_moveSlowdown).$amplifier + 1 | 0));
    if ($var1 < 0.0)
        $var1 = 0.0;
    return $var1;
}
function nms_EntityLiving_isChild($this) {
    return 0;
}
function nms_EntityLiving_getCreatureAttribute($this) {
    return nms_EnumCreatureAttribute_UNDEFINED;
}
function nms_EntityLiving_renderBrokenItemStack($this, $par1ItemStack) {
    var $var3, var$3, var$4, $var2, $var4, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var3 = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = $rt_s(1047);
        var$3 = 0.800000011920929;
        var$4 = 0.800000011920929 + nle_EaglercraftRandom_nextFloat($this.$worldObj.$rand) * 0.4000000059604645;
        $ptr = 1;
    case 1:
        $this.$playSound1($var3, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = 0;
        if ($var2 >= 5)
            return;
        $var3 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.1, jl_Math_random() * 0.1 + 0.1, 0.0);
        nms_Vec3_rotateAroundX($var3,  -$this.$rotationPitch * 3.1415927410125732 / 180.0);
        nms_Vec3_rotateAroundY($var3,  -$this.$rotationYaw * 3.1415927410125732 / 180.0);
        $var4 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.3,  -nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6 - 0.3, 0.6);
        nms_Vec3_rotateAroundX($var4,  -$this.$rotationPitch * 3.1415927410125732 / 180.0);
        nms_Vec3_rotateAroundY($var4,  -$this.$rotationYaw * 3.1415927410125732 / 180.0);
        var$7 = nms_Vec3_addVector($var4, $this.$posX, $this.$posY + $this.$getEyeHeight(), $this.$posZ);
        $var4 = $this.$worldObj;
        var$8 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$8);
        jl_AbstractStringBuilder_append(var$8, $rt_s(1048));
        jl_AbstractStringBuilder_append2(var$8, nms_ItemStack_getItem($par1ItemStack).$itemID);
        var$8 = jl_AbstractStringBuilder_toString(var$8);
        var$9 = var$7.$xCoord;
        var$10 = var$7.$yCoord;
        var$11 = var$7.$zCoord;
        var$12 = $var3.$xCoord;
        var$13 = $var3.$yCoord + 0.05;
        var$14 = $var3.$zCoord;
        $ptr = 2;
    case 2:
        nms_World_spawnParticle($var4, var$8, var$9, var$10, var$11, var$12, var$13, var$14);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $var2 + 1 | 0;
        if ($var2 >= 5)
            return;
        $var3 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.1, jl_Math_random() * 0.1 + 0.1, 0.0);
        nms_Vec3_rotateAroundX($var3,  -$this.$rotationPitch * 3.1415927410125732 / 180.0);
        nms_Vec3_rotateAroundY($var3,  -$this.$rotationYaw * 3.1415927410125732 / 180.0);
        $var4 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.3,  -nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6 - 0.3, 0.6);
        nms_Vec3_rotateAroundX($var4,  -$this.$rotationPitch * 3.1415927410125732 / 180.0);
        nms_Vec3_rotateAroundY($var4,  -$this.$rotationYaw * 3.1415927410125732 / 180.0);
        var$7 = nms_Vec3_addVector($var4, $this.$posX, $this.$posY + $this.$getEyeHeight(), $this.$posZ);
        $var4 = $this.$worldObj;
        var$8 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$8);
        jl_AbstractStringBuilder_append(var$8, $rt_s(1048));
        jl_AbstractStringBuilder_append2(var$8, nms_ItemStack_getItem($par1ItemStack).$itemID);
        var$8 = jl_AbstractStringBuilder_toString(var$8);
        var$9 = var$7.$xCoord;
        var$10 = var$7.$yCoord;
        var$11 = var$7.$zCoord;
        var$12 = $var3.$xCoord;
        var$13 = $var3.$yCoord + 0.05;
        var$14 = $var3.$zCoord;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $var3, var$3, var$4, $var2, $var4, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
}
function nms_EntityLiving_func_82143_as($this) {
    var $var1;
    if ($this.$attackTarget === null)
        return 3;
    $var1 = ($this.$health - $this.$getMaxHealth() * 0.33000001311302185 | 0) - ((3 - $this.$worldObj.$difficultySetting | 0) * 4 | 0) | 0;
    if ($var1 < 0)
        $var1 = 0;
    return $var1 + 3 | 0;
}
function nms_EntityLiving_getHeldItem($this) {
    return $this.$equipment.data[0];
}
function nms_EntityLiving_getCurrentArmor($this, $par1) {
    return $this.$equipment.data[$par1 + 1 | 0];
}
function nms_EntityLiving_setCurrentItemOrArmor($this, $par1, $par2ItemStack) {
    $this.$equipment.data[$par1] = $par2ItemStack;
}
function nms_EntityLiving_getLastActiveItems($this) {
    return $this.$equipment;
}
function nms_EntityLiving_getArmSwingAnimationEnd($this) {
    return nms_EntityLiving_isPotionActive($this, nms_Potion_digSpeed) ? 6 - ((1 + nms_EntityLiving_getActivePotionEffect($this, nms_Potion_digSpeed).$amplifier | 0) * 1 | 0) | 0 : !nms_EntityLiving_isPotionActive($this, nms_Potion_digSlowdown) ? 6 : 6 + ((1 + nms_EntityLiving_getActivePotionEffect($this, nms_Potion_digSlowdown).$amplifier | 0) * 2 | 0) | 0;
}
function nms_EntityLiving_swingItem($this) {
    if (!($this.$isSwingInProgress && $this.$swingProgressInt < (nms_EntityLiving_getArmSwingAnimationEnd($this) / 2 | 0) && $this.$swingProgressInt >= 0)) {
        $this.$swingProgressInt = (-1);
        $this.$isSwingInProgress = 1;
    }
}
function nms_EntityLiving_getArrowCountInEntity($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 10);
}
function nms_EntityLiving_func_94060_bK($this) {
    return nms_CombatTracker_func_94550_c($this.$field_94063_bt) !== null ? nms_CombatTracker_func_94550_c($this.$field_94063_bt) : $this.$attackingPlayer !== null ? $this.$attackingPlayer : $this.$entityLivingToAttack === null ? null : $this.$entityLivingToAttack;
}
function nms_EntityLiving_getEntityName($this) {
    return !nms_EntityLiving_func_94056_bM($this) ? nms_Entity_getEntityName($this) : nms_EntityLiving_func_94057_bL($this);
}
function nms_EntityLiving_func_94057_bL($this) {
    return nms_DataWatcher_getWatchableObjectString($this.$dataWatcher, 5);
}
function nms_EntityLiving_func_94056_bM($this) {
    return jl_String_length(nms_DataWatcher_getWatchableObjectString($this.$dataWatcher, 5)) <= 0 ? 0 : 1;
}
function nms_EntityLiving_func_94062_bN($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 6) != 1 ? 0 : 1;
}
function nms_EntityLiving_func_94059_bO($this) {
    return $this.$func_94062_bN();
}
function nms_EntityLiving__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createFloatArray(4);
    var$2 = var$1.data;
    var$2[0] = 0.0;
    var$2[1] = 0.0;
    var$2[2] = 0.10000000149011612;
    var$2[3] = 0.20000000298023224;
    nms_EntityLiving_enchantmentProbability = var$1;
    var$1 = $rt_createFloatArray(4);
    var$2 = var$1.data;
    var$2[0] = 0.0;
    var$2[1] = 0.0;
    var$2[2] = 0.25;
    var$2[3] = 0.5;
    nms_EntityLiving_armorEnchantmentProbability = var$1;
    var$1 = $rt_createFloatArray(4);
    var$2 = var$1.data;
    var$2[0] = 0.0;
    var$2[1] = 0.0;
    var$2[2] = 0.05000000074505806;
    var$2[3] = 0.07000000029802322;
    nms_EntityLiving_armorProbability = var$1;
    var$1 = $rt_createFloatArray(4);
    var$2 = var$1.data;
    var$2[0] = 0.0;
    var$2[1] = 0.10000000149011612;
    var$2[2] = 0.15000000596046448;
    var$2[3] = 0.44999998807907104;
    nms_EntityLiving_pickUpLootProability = var$1;
}
function nms_ICommandSender() {
}
function nms_EntityPlayer() {
    var a = this; nms_EntityLiving.call(a);
    a.$inventory = null;
    a.$theInventoryEnderChest = null;
    a.$inventoryContainer = null;
    a.$openContainer = null;
    a.$foodStats = null;
    a.$flyToggleTimer = 0;
    a.$field_71098_bD = 0;
    a.$prevCameraYaw = 0.0;
    a.$cameraYaw0 = 0.0;
    a.$username0 = null;
    a.$xpCooldown = 0;
    a.$field_71091_bM = 0.0;
    a.$field_71096_bN = 0.0;
    a.$field_71097_bO = 0.0;
    a.$field_71094_bP = 0.0;
    a.$field_71095_bQ = 0.0;
    a.$field_71085_bR = 0.0;
    a.$sleeping = 0;
    a.$playerLocation = null;
    a.$sleepTimer = 0;
    a.$field_71079_bU = 0.0;
    a.$field_71082_cx = 0.0;
    a.$field_71089_bV = 0.0;
    a.$spawnChunk = null;
    a.$spawnForced = 0;
    a.$startMinecartRidingCoordinate = null;
    a.$capabilities = null;
    a.$experienceLevel = 0;
    a.$experienceTotal = 0;
    a.$experience = 0.0;
    a.$itemInUse = null;
    a.$itemInUseCount = 0;
    a.$speedOnGround = 0.0;
    a.$speedInAir = 0.0;
    a.$field_82249_h = 0;
    a.$fishEntity = null;
}
function nms_EntityPlayer__init_() {
    var var_0 = new nms_EntityPlayer();
    nms_EntityPlayer__init_0(var_0);
    return var_0;
}
function nms_EntityPlayer__init_0($this) {
    var var$1;
    nms_EntityLiving__init_0($this);
    var$1 = new nms_InventoryPlayer;
    var$1.$mainInventory = $rt_createArray(nms_ItemStack, 36);
    var$1.$armorInventory = $rt_createArray(nms_ItemStack, 4);
    var$1.$currentItem = 0;
    var$1.$inventoryChanged = 0;
    var$1.$player = $this;
    $this.$inventory = var$1;
    $this.$theInventoryEnderChest = nms_InventoryEnderChest__init_0();
    $this.$foodStats = nms_FoodStats__init_0();
    $this.$flyToggleTimer = 0;
    $this.$field_71098_bD = 0;
    $this.$xpCooldown = 0;
    $this.$capabilities = nms_PlayerCapabilities__init_0();
    $this.$speedOnGround = 0.10000000149011612;
    $this.$speedInAir = 0.019999999552965164;
    $this.$field_82249_h = 0;
    $this.$fishEntity = null;
    $this.$inventoryContainer = nms_ContainerPlayer__init_($this.$inventory, 0, $this);
    $this.$openContainer = $this.$inventoryContainer;
    $this.$yOffset = 1.6200000047683716;
    $this.$entityType = $rt_s(1049);
    $this.$field_70741_aB = 180.0;
    $this.$fireResistance = 20;
}
function nms_EntityPlayer_getBrightnessForRender($this, $par1) {
    return nle_DefaultSkinRenderer_getPlayerRenderer($this) != 21 ? nms_Entity_getBrightnessForRender($this, $par1) : 15728880;
}
function nms_EntityPlayer_getMaxHealth($this) {
    return 20;
}
function nms_EntityPlayer_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte_valueOf(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 17, jl_Byte_valueOf(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 18, jl_Integer_valueOf(0));
}
function nms_EntityPlayer_getItemInUse($this) {
    return $this.$itemInUse;
}
function nms_EntityPlayer_getItemInUseCount($this) {
    return $this.$itemInUseCount;
}
function nms_EntityPlayer_isUsingItem($this) {
    return $this.$itemInUse === null ? 0 : 1;
}
function nms_EntityPlayer_getItemInUseDuration($this) {
    return !nms_EntityPlayer_isUsingItem($this) ? 0 : nms_ItemStack_getMaxItemUseDuration($this.$itemInUse) - $this.$itemInUseCount | 0;
}
function nms_EntityPlayer_stopUsingItem($this) {
    var var$1, var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$itemInUse === null) {
            nms_EntityPlayer_clearItemInUse($this);
            return;
        }
        var$1 = $this.$itemInUse;
        var$2 = $this.$worldObj;
        var$3 = $this.$itemInUseCount;
        $ptr = 1;
    case 1:
        nms_ItemStack_onPlayerStoppedUsing(var$1, var$2, $this, var$3);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityPlayer_clearItemInUse($this);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
}
function nms_EntityPlayer_clearItemInUse($this) {
    $this.$itemInUse = null;
    $this.$itemInUseCount = 0;
}
function nms_EntityPlayer_onUpdate($this) {
    var $var1, $i, var$3, $var7, $var9, $var3, $var5, var$8, var$9, $j, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$j = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();var$3 = $thread.pop();$i = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$itemInUse !== null) {
            $var1 = nms_InventoryPlayer_getCurrentItem($this.$inventory);
            if ($var1 !== $this.$itemInUse)
                nms_EntityPlayer_clearItemInUse($this);
            else if ($this.$itemInUseCount <= 25 && !($this.$itemInUseCount % 4 | 0)) {
                $i = 5;
                $ptr = 2;
                continue main;
            }
        }
        if ($this.$xpCooldown > 0)
            $this.$xpCooldown = $this.$xpCooldown - 1 | 0;
        if ($this.$sleeping) {
            $this.$sleepTimer = $this.$sleepTimer + 1 | 0;
            if ($this.$sleepTimer > 100)
                $this.$sleepTimer = 100;
        } else if ($this.$sleepTimer > 0) {
            $this.$sleepTimer = $this.$sleepTimer + 1 | 0;
            if ($this.$sleepTimer >= 110)
                $this.$sleepTimer = 0;
        }
        $ptr = 1;
    case 1:
        nms_EntityLiving_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$itemInUseCount = $this.$itemInUseCount - 1 | 0;
        if (nms_Entity_isBurning($this) && $this.$capabilities.$disableDamage)
            nms_Entity_extinguish($this);
        if (!(nms_Entity_equals($this, nmc_Minecraft_theMinecraft.$renderViewEntity) && !nmc_Minecraft_theMinecraft.$gameSettings.$thirdPersonView)) {
            $i = nle_DefaultSkinRenderer_getPlayerRenderer($this);
            if ($i == 21) {
                $var1 = $this.$worldObj;
                var$3 = $rt_s(1050);
                $var7 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
                $var9 = $this.$posY - $this.$yOffset + nle_EaglercraftRandom_nextDouble($this.$rand0) * $this.$height0;
                $var3 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
                $var5 = 0.0;
                var$8 = 0.0;
                var$9 = 0.0;
                $ptr = 3;
                continue main;
            }
            if ($i == 19) {
                $j = 0;
                if ($j < 2) {
                    $var1 = $this.$worldObj;
                    var$3 = $rt_s(1051);
                    $var9 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
                    $var3 = $this.$posY - $this.$yOffset + nle_EaglercraftRandom_nextDouble($this.$rand0) * 2.5;
                    $var5 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
                    var$8 = (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 2.0;
                    var$9 =  -nle_EaglercraftRandom_nextDouble($this.$rand0);
                    $var7 = (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 2.0;
                    $ptr = 4;
                    continue main;
                }
            }
        }
        $this.$field_71091_bM = $this.$field_71094_bP;
        $this.$field_71096_bN = $this.$field_71095_bQ;
        $this.$field_71097_bO = $this.$field_71085_bR;
        $var9 = $this.$posX - $this.$field_71094_bP;
        $var3 = $this.$posY - $this.$field_71095_bQ;
        $var5 = $this.$posZ - $this.$field_71085_bR;
        if ($var9 > 10.0) {
            var$8 = $this.$posX;
            $this.$field_71094_bP = var$8;
            $this.$field_71091_bM = var$8;
        }
        if ($var5 > 10.0) {
            var$8 = $this.$posZ;
            $this.$field_71085_bR = var$8;
            $this.$field_71097_bO = var$8;
        }
        if ($var3 > 10.0) {
            $var7 = $this.$posY;
            $this.$field_71095_bQ = $var7;
            $this.$field_71096_bN = $var7;
        }
        if ($var9 < (-10.0)) {
            var$8 = $this.$posX;
            $this.$field_71094_bP = var$8;
            $this.$field_71091_bM = var$8;
        }
        if ($var5 < (-10.0)) {
            var$8 = $this.$posZ;
            $this.$field_71085_bR = var$8;
            $this.$field_71097_bO = var$8;
        }
        if ($var3 < (-10.0)) {
            $var7 = $this.$posY;
            $this.$field_71095_bQ = $var7;
            $this.$field_71096_bN = $var7;
        }
        $this.$field_71094_bP = $this.$field_71094_bP + $var9 * 0.25;
        $this.$field_71085_bR = $this.$field_71085_bR + $var5 * 0.25;
        $this.$field_71095_bQ = $this.$field_71095_bQ + $var3 * 0.25;
        if ($this.$ridingEntity === null)
            $this.$startMinecartRidingCoordinate = null;
        return;
    case 2:
        nms_EntityPlayer_updateItemUse($this, $var1, $i);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$xpCooldown > 0)
            $this.$xpCooldown = $this.$xpCooldown - 1 | 0;
        if ($this.$sleeping) {
            $this.$sleepTimer = $this.$sleepTimer + 1 | 0;
            if ($this.$sleepTimer > 100)
                $this.$sleepTimer = 100;
        } else if ($this.$sleepTimer > 0) {
            $this.$sleepTimer = $this.$sleepTimer + 1 | 0;
            if ($this.$sleepTimer >= 110)
                $this.$sleepTimer = 0;
        }
        $ptr = 1;
        continue main;
    case 3:
        nms_World_spawnParticle($var1, var$3, $var7, $var9, $var3, $var5, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_71091_bM = $this.$field_71094_bP;
        $this.$field_71096_bN = $this.$field_71095_bQ;
        $this.$field_71097_bO = $this.$field_71085_bR;
        $var9 = $this.$posX - $this.$field_71094_bP;
        $var3 = $this.$posY - $this.$field_71095_bQ;
        $var5 = $this.$posZ - $this.$field_71085_bR;
        if ($var9 > 10.0) {
            var$8 = $this.$posX;
            $this.$field_71094_bP = var$8;
            $this.$field_71091_bM = var$8;
        }
        if ($var5 > 10.0) {
            var$8 = $this.$posZ;
            $this.$field_71085_bR = var$8;
            $this.$field_71097_bO = var$8;
        }
        if ($var3 > 10.0) {
            $var7 = $this.$posY;
            $this.$field_71095_bQ = $var7;
            $this.$field_71096_bN = $var7;
        }
        if ($var9 < (-10.0)) {
            var$8 = $this.$posX;
            $this.$field_71094_bP = var$8;
            $this.$field_71091_bM = var$8;
        }
        if ($var5 < (-10.0)) {
            var$8 = $this.$posZ;
            $this.$field_71085_bR = var$8;
            $this.$field_71097_bO = var$8;
        }
        if ($var3 < (-10.0)) {
            $var7 = $this.$posY;
            $this.$field_71095_bQ = $var7;
            $this.$field_71096_bN = $var7;
        }
        $this.$field_71094_bP = $this.$field_71094_bP + $var9 * 0.25;
        $this.$field_71085_bR = $this.$field_71085_bR + $var5 * 0.25;
        $this.$field_71095_bQ = $this.$field_71095_bQ + $var3 * 0.25;
        if ($this.$ridingEntity === null)
            $this.$startMinecartRidingCoordinate = null;
        return;
    case 4:
        nms_World_spawnParticle($var1, var$3, $var9, $var3, $var5, var$8, var$9, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $j = $j + 1 | 0;
        if ($j >= 2) {
            $this.$field_71091_bM = $this.$field_71094_bP;
            $this.$field_71096_bN = $this.$field_71095_bQ;
            $this.$field_71097_bO = $this.$field_71085_bR;
            $var9 = $this.$posX - $this.$field_71094_bP;
            $var3 = $this.$posY - $this.$field_71095_bQ;
            $var5 = $this.$posZ - $this.$field_71085_bR;
            if ($var9 > 10.0) {
                var$8 = $this.$posX;
                $this.$field_71094_bP = var$8;
                $this.$field_71091_bM = var$8;
            }
            if ($var5 > 10.0) {
                var$8 = $this.$posZ;
                $this.$field_71085_bR = var$8;
                $this.$field_71097_bO = var$8;
            }
            if ($var3 > 10.0) {
                $var7 = $this.$posY;
                $this.$field_71095_bQ = $var7;
                $this.$field_71096_bN = $var7;
            }
            if ($var9 < (-10.0)) {
                var$8 = $this.$posX;
                $this.$field_71094_bP = var$8;
                $this.$field_71091_bM = var$8;
            }
            if ($var5 < (-10.0)) {
                var$8 = $this.$posZ;
                $this.$field_71085_bR = var$8;
                $this.$field_71097_bO = var$8;
            }
            if ($var3 < (-10.0)) {
                $var7 = $this.$posY;
                $this.$field_71095_bQ = $var7;
                $this.$field_71096_bN = $var7;
            }
            $this.$field_71094_bP = $this.$field_71094_bP + $var9 * 0.25;
            $this.$field_71085_bR = $this.$field_71085_bR + $var5 * 0.25;
            $this.$field_71095_bQ = $this.$field_71095_bQ + $var3 * 0.25;
            if ($this.$ridingEntity === null)
                $this.$startMinecartRidingCoordinate = null;
            return;
        }
        $var1 = $this.$worldObj;
        var$3 = $rt_s(1051);
        $var9 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
        $var3 = $this.$posY - $this.$yOffset + nle_EaglercraftRandom_nextDouble($this.$rand0) * 2.5;
        $var5 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
        var$8 = (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 2.0;
        var$9 =  -nle_EaglercraftRandom_nextDouble($this.$rand0);
        $var7 = (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 2.0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $i, var$3, $var7, $var9, $var3, $var5, var$8, var$9, $j, $ptr);
}
function nms_EntityPlayer_getPortalCooldown($this) {
    return 10;
}
function nms_EntityPlayer_playSound($this, $par1Str, $par2, $par3) {
    nms_World_playSoundToNearExcept($this.$worldObj, $this, $par1Str, $par2, $par3);
}
function nms_EntityPlayer_updateItemUse($this, $par1ItemStack, $par2) {
    var $var5, var$4, var$5, $var3, $var4, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var5 = $thread.pop();$par2 = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_ItemStack_getItemUseAction($par1ItemStack) === nms_EnumAction_drink) {
            $var5 = $rt_s(1052);
            var$4 = 0.5;
            var$5 = nle_EaglercraftRandom_nextFloat($this.$worldObj.$rand) * 0.10000000149011612 + 0.8999999761581421;
            $ptr = 1;
            continue main;
        }
        if (nms_ItemStack_getItemUseAction($par1ItemStack) !== nms_EnumAction_eat)
            return;
        $var3 = 0;
        if ($var3 >= $par2) {
            $par1ItemStack = $rt_s(1053);
            var$4 = 0.5 + 0.5 * nle_EaglercraftRandom_nextInt($this.$rand0, 2);
            var$5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0;
            $ptr = 2;
            continue main;
        }
        $var4 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.1, jl_Math_random() * 0.1 + 0.1, 0.0);
        nms_Vec3_rotateAroundX($var4,  -$this.$rotationPitch * 3.1415927410125732 / 180.0);
        nms_Vec3_rotateAroundY($var4,  -$this.$rotationYaw * 3.1415927410125732 / 180.0);
        $var5 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.3,  -nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6 - 0.3, 0.6);
        nms_Vec3_rotateAroundX($var5,  -$this.$rotationPitch * 3.1415927410125732 / 180.0);
        nms_Vec3_rotateAroundY($var5,  -$this.$rotationYaw * 3.1415927410125732 / 180.0);
        $var5 = nms_Vec3_addVector($var5, $this.$posX, $this.$posY + $this.$getEyeHeight(), $this.$posZ);
        var$8 = $this.$worldObj;
        var$9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$9);
        jl_AbstractStringBuilder_append(var$9, $rt_s(1048));
        jl_AbstractStringBuilder_append2(var$9, nms_ItemStack_getItem($par1ItemStack).$itemID);
        var$9 = jl_AbstractStringBuilder_toString(var$9);
        var$10 = $var5.$xCoord;
        var$11 = $var5.$yCoord;
        var$12 = $var5.$zCoord;
        var$13 = $var4.$xCoord;
        var$14 = $var4.$yCoord + 0.05;
        var$15 = $var4.$zCoord;
        $ptr = 3;
        continue main;
    case 1:
        $this.$playSound1($var5, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_ItemStack_getItemUseAction($par1ItemStack) !== nms_EnumAction_eat)
            return;
        $var3 = 0;
        if ($var3 >= $par2) {
            $par1ItemStack = $rt_s(1053);
            var$4 = 0.5 + 0.5 * nle_EaglercraftRandom_nextInt($this.$rand0, 2);
            var$5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0;
            $ptr = 2;
            continue main;
        }
        $var4 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.1, jl_Math_random() * 0.1 + 0.1, 0.0);
        nms_Vec3_rotateAroundX($var4,  -$this.$rotationPitch * 3.1415927410125732 / 180.0);
        nms_Vec3_rotateAroundY($var4,  -$this.$rotationYaw * 3.1415927410125732 / 180.0);
        $var5 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.3,  -nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6 - 0.3, 0.6);
        nms_Vec3_rotateAroundX($var5,  -$this.$rotationPitch * 3.1415927410125732 / 180.0);
        nms_Vec3_rotateAroundY($var5,  -$this.$rotationYaw * 3.1415927410125732 / 180.0);
        $var5 = nms_Vec3_addVector($var5, $this.$posX, $this.$posY + $this.$getEyeHeight(), $this.$posZ);
        var$8 = $this.$worldObj;
        var$9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$9);
        jl_AbstractStringBuilder_append(var$9, $rt_s(1048));
        jl_AbstractStringBuilder_append2(var$9, nms_ItemStack_getItem($par1ItemStack).$itemID);
        var$9 = jl_AbstractStringBuilder_toString(var$9);
        var$10 = $var5.$xCoord;
        var$11 = $var5.$yCoord;
        var$12 = $var5.$zCoord;
        var$13 = $var4.$xCoord;
        var$14 = $var4.$yCoord + 0.05;
        var$15 = $var4.$zCoord;
        $ptr = 3;
        continue main;
    case 2:
        $this.$playSound1($par1ItemStack, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_World_spawnParticle(var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $var3 + 1 | 0;
        if ($var3 >= $par2) {
            $par1ItemStack = $rt_s(1053);
            var$4 = 0.5 + 0.5 * nle_EaglercraftRandom_nextInt($this.$rand0, 2);
            var$5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0;
            $ptr = 2;
            continue main;
        }
        $var4 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.1, jl_Math_random() * 0.1 + 0.1, 0.0);
        nms_Vec3_rotateAroundX($var4,  -$this.$rotationPitch * 3.1415927410125732 / 180.0);
        nms_Vec3_rotateAroundY($var4,  -$this.$rotationYaw * 3.1415927410125732 / 180.0);
        $var5 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.3,  -nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6 - 0.3, 0.6);
        nms_Vec3_rotateAroundX($var5,  -$this.$rotationPitch * 3.1415927410125732 / 180.0);
        nms_Vec3_rotateAroundY($var5,  -$this.$rotationYaw * 3.1415927410125732 / 180.0);
        $var5 = nms_Vec3_addVector($var5, $this.$posX, $this.$posY + $this.$getEyeHeight(), $this.$posZ);
        var$8 = $this.$worldObj;
        var$9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$9);
        jl_AbstractStringBuilder_append(var$9, $rt_s(1048));
        jl_AbstractStringBuilder_append2(var$9, nms_ItemStack_getItem($par1ItemStack).$itemID);
        var$9 = jl_AbstractStringBuilder_toString(var$9);
        var$10 = $var5.$xCoord;
        var$11 = $var5.$yCoord;
        var$12 = $var5.$zCoord;
        var$13 = $var4.$xCoord;
        var$14 = $var4.$yCoord + 0.05;
        var$15 = $var4.$zCoord;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2, $var5, var$4, var$5, $var3, $var4, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
}
function nms_EntityPlayer_onItemUseFinish($this) {
    var $var2, $var1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var1 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$itemInUse === null)
            return;
        $var2 = $this.$itemInUse;
        $var1 = 16;
        $ptr = 1;
    case 1:
        a: {
            nms_EntityPlayer_updateItemUse($this, $var2, $var1);
            if ($rt_suspending()) {
                break main;
            }
            $var1 = $this.$itemInUse.$stackSize;
            $var2 = nms_ItemStack_onFoodEaten($this.$itemInUse, $this.$worldObj, $this);
            if ($var2 === $this.$itemInUse) {
                if ($var2 === null)
                    break a;
                if ($var2.$stackSize == $var1)
                    break a;
            }
            $this.$inventory.$mainInventory.data[$this.$inventory.$currentItem] = $var2;
            if (!$var2.$stackSize)
                $this.$inventory.$mainInventory.data[$this.$inventory.$currentItem] = null;
        }
        nms_EntityPlayer_clearItemInUse($this);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var2, $var1, $ptr);
}
function nms_EntityPlayer_handleHealthUpdate($this, $par1) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 != 9) {
            $ptr = 1;
            continue main;
        }
        $ptr = 2;
        continue main;
    case 1:
        nms_EntityLiving_handleHealthUpdate($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_EntityPlayer_onItemUseFinish($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $ptr);
}
function nms_EntityPlayer_isMovementBlocked($this) {
    return $this.$health > 0 && !$this.$sleeping ? 0 : 1;
}
function nms_EntityPlayer_mountEntity($this, $par1Entity) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$ridingEntity !== $par1Entity) {
            $ptr = 1;
            continue main;
        }
        $ptr = 2;
        continue main;
    case 1:
        nms_Entity_mountEntity($this, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_Entity_unmountEntity($this, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$ridingEntity !== null)
            $this.$ridingEntity.$riddenByEntity = null;
        $this.$ridingEntity = null;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $ptr);
}
function nms_EntityPlayer_updateRidden($this) {
    var $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = $this.$rotationYaw;
        $var8 = $this.$rotationPitch;
        $ptr = 1;
    case 1:
        nms_EntityLiving_updateRidden($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$prevCameraYaw = $this.$cameraYaw0;
        $this.$cameraYaw0 = 0.0;
        if ($this.$ridingEntity instanceof nms_EntityPig) {
            $this.$rotationPitch = $var8;
            $this.$rotationYaw = $var7;
            $this.$renderYawOffset = $this.$ridingEntity.$renderYawOffset;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var7, $var8, $ptr);
}
function nms_EntityPlayer_preparePlayerToSpawn($this) {
    var var$1, var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$yOffset = 1.6200000047683716;
        nms_Entity_setSize($this, 0.6000000238418579, 1.7999999523162842);
        if ($this.$worldObj !== null) {
            if ($this.$posY > 0.0) {
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                var$1 = $this.$worldObj;
                var$2 = $this.$boundingBox;
                $ptr = 1;
                continue main;
            }
            $this.$motionZ = 0.0;
            $this.$motionY = 0.0;
            $this.$motionX = 0.0;
            $this.$rotationPitch = 0.0;
        }
        nms_EntityLiving_setEntityHealth($this, 20);
        $this.$deathTime = 0;
        return;
    case 1:
        $tmp = nms_World_getCollidingBoundingBoxes(var$1, $this, var$2);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $tmp;
        if (!ju_AbstractCollection_isEmpty(var$1)) {
            $this.$posY = $this.$posY + 1.0;
            if ($this.$posY > 0.0) {
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                var$1 = $this.$worldObj;
                var$2 = $this.$boundingBox;
                continue main;
            }
        }
        $this.$motionZ = 0.0;
        $this.$motionY = 0.0;
        $this.$motionX = 0.0;
        $this.$rotationPitch = 0.0;
        nms_EntityLiving_setEntityHealth($this, 20);
        $this.$deathTime = 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, $ptr);
}
function nms_EntityPlayer_updateEntityActionState($this) {
    nms_EntityLiving_updateArmSwingProgress($this);
}
function nms_EntityPlayer_onLivingUpdate($this) {
    var $var1, $var2, $var3, $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$flyToggleTimer > 0)
            $this.$flyToggleTimer = $this.$flyToggleTimer - 1 | 0;
        nms_InventoryPlayer_decrementAnimations($this.$inventory);
        $this.$prevCameraYaw = $this.$cameraYaw0;
        $ptr = 1;
    case 1:
        nms_EntityLiving_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$landMovementFactor = $this.$capabilities.$walkSpeed;
        $this.$jumpMovementFactor = $this.$speedInAir;
        if (nms_Entity_isSprinting($this)) {
            $this.$landMovementFactor = $this.$landMovementFactor + $this.$capabilities.$walkSpeed * 0.3;
            $this.$jumpMovementFactor = $this.$jumpMovementFactor + $this.$speedInAir * 0.3;
        }
        $var1 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $var2 = jl_Math_atan( -$this.$motionY * 0.20000000298023224) * 15.0;
        if ($var1 > 0.10000000149011612)
            $var1 = 0.10000000149011612;
        if (!($this.$onGround && $this.$health > 0))
            $var1 = 0.0;
        if (!(!$this.$onGround && $this.$health > 0))
            $var2 = 0.0;
        a: {
            $this.$cameraYaw0 = $this.$cameraYaw0 + ($var1 - $this.$cameraYaw0) * 0.4000000059604645;
            $this.$cameraPitch0 = $this.$cameraPitch0 + ($var2 - $this.$cameraPitch0) * 0.800000011920929;
            if ($this.$health > 0) {
                $var3 = nms_World_getEntitiesWithinAABBExcludingEntity($this.$worldObj, $this, nms_AxisAlignedBB_expand($this.$boundingBox, 1.0, 0.5, 1.0));
                if ($var3 !== null) {
                    $var4 = 0;
                    while (true) {
                        if ($var4 >= $var3.$size)
                            break a;
                        $var5 = ju_ArrayList_get($var3, $var4);
                        if (!$var5.$isDead) {
                            $ptr = 2;
                            continue main;
                        }
                        $var4 = $var4 + 1 | 0;
                    }
                }
            }
        }
        return;
    case 2:
        $var5.$onCollideWithPlayer($this);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var4 = $var4 + 1 | 0;
            if ($var4 >= $var3.$size)
                break;
            $var5 = ju_ArrayList_get($var3, $var4);
            if ($var5.$isDead)
                continue;
            else {
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
}
function nms_EntityPlayer_getScore($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 18);
}
function nms_EntityPlayer_onDeath($this, $par1DamageSource) {
    var var$2;
    nms_EntityLiving_onDeath($this, $par1DamageSource);
    nms_Entity_setSize($this, 0.20000000298023224, 0.20000000298023224);
    nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
    $this.$motionY = 0.10000000149011612;
    if (jl_String_equals($this.$username0, $rt_s(559))) {
        var$2 = new nms_ItemStack;
        nms_Item_$callClinit();
        nms_ItemStack__init_1(var$2, nms_Item_appleRed, 1);
        nms_EntityPlayer_dropPlayerItemWithRandomChoice($this, var$2, 1);
    }
    if (!nms_GameRules_getGameRuleBooleanValue(nms_World_getGameRules($this.$worldObj), $rt_s(1054)))
        nms_InventoryPlayer_dropAllItems($this.$inventory);
    if ($par1DamageSource === null) {
        $this.$motionZ = 0.0;
        $this.$motionX = 0.0;
    } else {
        $this.$motionX =  -nms_MathHelper_cos(($this.$attackedAtYaw + $this.$rotationYaw) * 3.1415927410125732 / 180.0) * 0.10000000149011612;
        $this.$motionZ =  -nms_MathHelper_sin(($this.$attackedAtYaw + $this.$rotationYaw) * 3.1415927410125732 / 180.0) * 0.10000000149011612;
    }
    $this.$yOffset = 0.10000000149011612;
}
function nms_EntityPlayer_dropPlayerItem($this, $par1ItemStack) {
    return nms_EntityPlayer_dropPlayerItemWithRandomChoice($this, $par1ItemStack, 0);
}
function nms_EntityPlayer_dropPlayerItemWithRandomChoice($this, $par1ItemStack, $par2) {
    var $var3, $var5, $var6, $var5_0, var$7, var$8, var$9, var$10;
    if ($par1ItemStack === null)
        return null;
    $var3 = nms_EntityItem__init_0($this.$worldObj, $this.$posX, $this.$posY - 0.30000001192092896 + $this.$getEyeHeight(), $this.$posZ, $par1ItemStack);
    $var3.$delayBeforeCanPickup = 40;
    if ($par2) {
        $var5 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.5;
        $var6 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.1415927410125732 * 2.0;
        $var3.$motionX =  -nms_MathHelper_sin($var6) * $var5;
        $var3.$motionZ = nms_MathHelper_cos($var6) * $var5;
        $var3.$motionY = 0.20000000298023224;
    } else {
        $var3.$motionX =  -nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.30000001192092896;
        $var3.$motionZ = nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.30000001192092896;
        $var3.$motionY =  -nms_MathHelper_sin($this.$rotationPitch / 180.0 * 3.1415927410125732) * 0.30000001192092896 + 0.10000000149011612;
        $var5_0 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.1415927410125732 * 2.0;
        $var6 = 0.019999999552965164 * nle_EaglercraftRandom_nextFloat($this.$rand0);
        var$7 = $var3.$motionX;
        var$8 = $var5_0;
        var$9 = jl_Math_cos(var$8);
        var$10 = $var6;
        $var3.$motionX = var$7 + var$9 * var$10;
        $var3.$motionY = $var3.$motionY + (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.10000000149011612;
        $var3.$motionZ = $var3.$motionZ + jl_Math_sin(var$8) * var$10;
    }
    $this.$joinEntityItemWithWorld($var3);
    return $var3;
}
function nms_EntityPlayer_joinEntityItemWithWorld($this, $par1EntityItem) {
    nms_WorldClient_spawnEntityInWorld($this.$worldObj, $par1EntityItem);
}
function nms_EntityPlayer_getCurrentPlayerStrVsBlock($this, $par1Block, $par2) {
    var $var3, var$4, $var4, $var5, $var6;
    $var3 = nms_InventoryPlayer_getStrVsBlock($this.$inventory, $par1Block);
    var$4 = $rt_compare($var3, 1.0);
    if (var$4 > 0) {
        nms_EnchantmentHelper_$callClinit();
        nms_Enchantment_$callClinit();
        $var4 = nms_EnchantmentHelper_getEnchantmentLevel(nms_Enchantment_efficiency.$effectId, nms_EntityPlayerSP_getHeldItem($this));
        $var5 = nms_InventoryPlayer_getCurrentItem($this.$inventory);
        if ($var4 > 0 && $var5 !== null) {
            $var6 = $rt_imul($var4, $var4) + 1 | 0;
            $var3 = !nms_ItemStack_canHarvestBlock($var5, $par1Block) && var$4 <= 0 ? $var3 + $var6 * 0.07999999821186066 : $var3 + $var6;
        }
    }
    if (nms_EntityLiving_isPotionActive($this, nms_Potion_digSpeed))
        $var3 = $var3 * (1.0 + (nms_EntityLiving_getActivePotionEffect($this, nms_Potion_digSpeed).$amplifier + 1 | 0) * 0.20000000298023224);
    if (nms_EntityLiving_isPotionActive($this, nms_Potion_digSlowdown))
        $var3 = $var3 * (1.0 - (nms_EntityLiving_getActivePotionEffect($this, nms_Potion_digSlowdown).$amplifier + 1 | 0) * 0.20000000298023224);
    nms_Material_$callClinit();
    if (nms_Entity_isInsideOfMaterial($this, nms_Material_water)) {
        nms_EnchantmentHelper_$callClinit();
        nms_Enchantment_$callClinit();
        if (!(nms_EnchantmentHelper_getMaxEnchantmentLevel(nms_Enchantment_aquaAffinity.$effectId, nms_EntityPlayer_getLastActiveItems($this)) <= 0 ? 0 : 1))
            $var3 = $var3 / 5.0;
    }
    if (!$this.$onGround)
        $var3 = $var3 / 5.0;
    return $var3;
}
function nms_EntityPlayer_canHarvestBlock($this, $par1Block) {
    return nms_InventoryPlayer_canHarvestBlock($this.$inventory, $par1Block);
}
function nms_EntityPlayer_getEyeHeight($this) {
    return 0.11999999731779099;
}
function nms_EntityPlayer_resetHeight($this) {
    $this.$yOffset = 1.6200000047683716;
}
function nms_EntityPlayer_func_96122_a($this, $par1EntityPlayer) {
    var $var2;
    $var2 = nms_EntityPlayer_getTeam($this);
    return $var2 !== nms_EntityPlayer_getTeam($par1EntityPlayer) ? 1 : $var2 === null ? 1 : $var2.$field_96672_g;
}
function nms_EntityPlayer_alertWolves($this, $par1EntityLiving, $par2) {
    var $var3, $var4, $var5;
    a: {
        if (!($par1EntityLiving instanceof nms_EntityCreeper) && !($par1EntityLiving instanceof nms_EntityGhast)) {
            if ($par1EntityLiving instanceof nms_EntityWolf) {
                $var3 = $par1EntityLiving;
                if (nms_EntityTameable_isTamed($var3) && jl_String_equals($this.$username0, nms_EntityTameable_getOwnerName($var3)))
                    return;
            }
            if (!($par1EntityLiving instanceof nms_EntityPlayer && !nms_EntityPlayer_func_96122_a($this, $par1EntityLiving))) {
                $var4 = ju_AbstractList_iterator(nms_World_getEntitiesWithinAABB($this.$worldObj, $rt_cls(nms_EntityWolf), nms_AxisAlignedBB_expand(nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $this.$posX, $this.$posY, $this.$posZ, $this.$posX + 1.0, $this.$posY + 1.0, $this.$posZ + 1.0), 16.0, 4.0, 16.0)));
                while (true) {
                    if (!ju_AbstractList$1_hasNext($var4))
                        break a;
                    $var5 = ju_AbstractList$1_next($var4);
                    if (nms_EntityTameable_isTamed($var5) && $var5.$entityToAttack === null && jl_String_equals($this.$username0, nms_EntityTameable_getOwnerName($var5)) && !($par2 && nms_EntityTameable_isSitting($var5))) {
                        nms_EntityTameable_setSitting($var5, 0);
                        $var5.$entityToAttack = $par1EntityLiving;
                    }
                }
            }
        }
    }
}
function nms_EntityPlayer_getTotalArmorValue($this) {
    return nms_InventoryPlayer_getTotalArmorValue($this.$inventory);
}
function nms_EntityPlayer_func_82243_bO($this) {
    var $var1, $var2, $var3, $var4;
    $var1 = 0;
    $var2 = $this.$inventory.$armorInventory.data;
    $var3 = $var2.length;
    $var4 = 0;
    while ($var4 < $var3) {
        if ($var2[$var4] !== null)
            $var1 = $var1 + 1 | 0;
        $var4 = $var4 + 1 | 0;
    }
    return $var1 / $this.$inventory.$armorInventory.data.length;
}
function nms_EntityPlayer_interactWith($this, $par1Entity) {
    var var$2, $var2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $par1Entity.$interact($this);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        if (var$2)
            return 1;
        $var2 = nms_EntityPlayer_getCurrentEquippedItem($this);
        if ($var2 !== null && $par1Entity instanceof nms_EntityLiving) {
            if ($this.$capabilities.$isCreativeMode)
                $var2 = nms_ItemStack_copy($var2);
            if (nms_ItemStack_interactWith($var2, $par1Entity)) {
                if ($var2.$stackSize <= 0 && !$this.$capabilities.$isCreativeMode)
                    nms_EntityPlayer_destroyCurrentEquippedItem($this);
                return 1;
            }
        }
        return 0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, var$2, $var2, $ptr);
}
function nms_EntityPlayer_getCurrentEquippedItem($this) {
    return nms_InventoryPlayer_getCurrentItem($this.$inventory);
}
function nms_EntityPlayer_destroyCurrentEquippedItem($this) {
    nms_InventoryPlayer_setInventorySlotContents($this.$inventory, $this.$inventory.$currentItem, null);
}
function nms_EntityPlayer_getYOffset($this) {
    return $this.$yOffset - 0.5;
}
function nms_EntityPlayer_attackTargetEntityWithCurrentItem($this, $par1Entity) {
    var $var2, $var3, $var4, var$5, $var9, $var5, var$8, $var6, $var7, $var8, var$12, var$13, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$8 = $thread.pop();$var5 = $thread.pop();$var9 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($par1Entity.$canAttackWithItem() && !$par1Entity.$func_85031_j($this)) {
                $var2 = nms_InventoryPlayer_getDamageVsEntity($this.$inventory, $par1Entity);
                if (nms_EntityLiving_isPotionActive($this, nms_Potion_damageBoost))
                    $var2 = $var2 + (3 << nms_EntityLiving_getActivePotionEffect($this, nms_Potion_damageBoost).$amplifier) | 0;
                if (nms_EntityLiving_isPotionActive($this, nms_Potion_weakness))
                    $var2 = $var2 - (2 << nms_EntityLiving_getActivePotionEffect($this, nms_Potion_weakness).$amplifier) | 0;
                $var3 = 0;
                $var4 = 0;
                var$5 = $par1Entity instanceof nms_EntityLiving;
                if (var$5) {
                    $var9 = $par1Entity;
                    $var4 = nms_EnchantmentHelper_getEnchantmentModifierLiving($this, $var9);
                    $var3 = $var3 + nms_EnchantmentHelper_getKnockbackModifier($this, $var9) | 0;
                }
                if (nms_Entity_isSprinting($this))
                    $var3 = $var3 + 1 | 0;
                if ($var2 > 0)
                    break a;
                if ($var4 > 0)
                    break a;
            }
            return;
        }
        $var5 = $this.$fallDistance > 0.0 && !$this.$onGround && !nms_EntityLiving_isOnLadder($this) && !$this.$inWater && !nms_EntityLiving_isPotionActive($this, nms_Potion_blindness) && $this.$ridingEntity === null && var$5 ? 1 : 0;
        if ($var5 && $var2 > 0)
            $var2 = $var2 + nle_EaglercraftRandom_nextInt($this.$rand0, ($var2 / 2 | 0) + 2 | 0) | 0;
        var$8 = $var2 + $var4 | 0;
        $var6 = 0;
        $var7 = nms_EnchantmentHelper_getFireAspectModifier($this);
        if (var$5 && $var7 > 0 && !$par1Entity.$isBurning()) {
            $var6 = 1;
            nms_Entity_setFire($par1Entity, 1);
        }
        $var9 = nms_DamageSource_causePlayerDamage($this);
        $ptr = 1;
    case 1:
        $tmp = $par1Entity.$attackEntityFrom($var9, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        if ($var8) {
            if ($var3 > 0) {
                var$12 =  -nms_MathHelper_sin($this.$rotationYaw * 3.1415927410125732 / 180.0);
                var$13 = $var3;
                $par1Entity.$addVelocity(var$12 * var$13 * 0.5, 0.1, nms_MathHelper_cos($this.$rotationYaw * 3.1415927410125732 / 180.0) * var$13 * 0.5);
                $this.$motionX = $this.$motionX * 0.6;
                $this.$motionZ = $this.$motionZ * 0.6;
                nms_EntityPlayerSP_setSprinting($this, 0);
            }
            if ($var5) {
                $ptr = 2;
                continue main;
            }
            if ($var4 > 0) {
                $ptr = 3;
                continue main;
            }
            if (var$8 >= 18) {
                nms_AchievementList_$callClinit();
                nms_EntityPlayer_triggerAchievement($this, nms_AchievementList_overkill);
            }
            nms_EntityLiving_setLastAttackingEntity($this, $par1Entity);
            if (var$5) {
                $var9 = $par1Entity;
                $var11 = $this.$rand0;
                $ptr = 5;
                continue main;
            }
        }
        $var9 = nms_EntityPlayer_getCurrentEquippedItem($this);
        if (!($par1Entity instanceof nms_EntityDragonPart))
            $var11 = $par1Entity;
        else {
            $var11 = $par1Entity.$entityDragonObj;
            $var11 = $var11 === null ? $par1Entity : $var11 instanceof nms_EntityLiving ? $var11 : $par1Entity;
        }
        if ($var9 !== null && $var11 instanceof nms_EntityLiving) {
            $var11 = $var11;
            $ptr = 4;
            continue main;
        }
        if (var$5) {
            if ($par1Entity.$isEntityAlive())
                nms_EntityPlayer_alertWolves($this, $par1Entity, 1);
            if ($var7 > 0 && $var8)
                nms_Entity_setFire($par1Entity, $var7 * 4 | 0);
            else if ($var6)
                nms_Entity_extinguish($par1Entity);
        }
        return;
    case 2:
        nms_EntityPlayerSP_onCriticalHit($this, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        if ($var4 > 0) {
            $ptr = 3;
            continue main;
        }
        if (var$8 >= 18) {
            nms_AchievementList_$callClinit();
            nms_EntityPlayer_triggerAchievement($this, nms_AchievementList_overkill);
        }
        nms_EntityLiving_setLastAttackingEntity($this, $par1Entity);
        if (var$5) {
            $var9 = $par1Entity;
            $var11 = $this.$rand0;
            $ptr = 5;
            continue main;
        }
        $var9 = nms_EntityPlayer_getCurrentEquippedItem($this);
        if (!($par1Entity instanceof nms_EntityDragonPart))
            $var11 = $par1Entity;
        else {
            $var11 = $par1Entity.$entityDragonObj;
            $var11 = $var11 === null ? $par1Entity : $var11 instanceof nms_EntityLiving ? $var11 : $par1Entity;
        }
        if ($var9 !== null && $var11 instanceof nms_EntityLiving) {
            $var11 = $var11;
            $ptr = 4;
            continue main;
        }
        if (var$5) {
            if ($par1Entity.$isEntityAlive())
                nms_EntityPlayer_alertWolves($this, $par1Entity, 1);
            if ($var7 > 0 && $var8)
                nms_Entity_setFire($par1Entity, $var7 * 4 | 0);
            else if ($var6)
                nms_Entity_extinguish($par1Entity);
        }
        return;
    case 3:
        nms_EntityPlayerSP_onEnchantmentCritical($this, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        if (var$8 >= 18) {
            nms_AchievementList_$callClinit();
            nms_EntityPlayer_triggerAchievement($this, nms_AchievementList_overkill);
        }
        nms_EntityLiving_setLastAttackingEntity($this, $par1Entity);
        if (var$5) {
            $var9 = $par1Entity;
            $var11 = $this.$rand0;
            $ptr = 5;
            continue main;
        }
        $var9 = nms_EntityPlayer_getCurrentEquippedItem($this);
        if (!($par1Entity instanceof nms_EntityDragonPart))
            $var11 = $par1Entity;
        else {
            $var11 = $par1Entity.$entityDragonObj;
            $var11 = $var11 === null ? $par1Entity : $var11 instanceof nms_EntityLiving ? $var11 : $par1Entity;
        }
        if ($var9 !== null && $var11 instanceof nms_EntityLiving) {
            $var11 = $var11;
            $ptr = 4;
            continue main;
        }
        if (var$5) {
            if ($par1Entity.$isEntityAlive())
                nms_EntityPlayer_alertWolves($this, $par1Entity, 1);
            if ($var7 > 0 && $var8)
                nms_Entity_setFire($par1Entity, $var7 * 4 | 0);
            else if ($var6)
                nms_Entity_extinguish($par1Entity);
        }
        return;
    case 4:
        nms_ItemStack_hitEntity($var9, $var11, $this);
        if ($rt_suspending()) {
            break main;
        }
        if ($var9.$stackSize <= 0)
            nms_EntityPlayer_destroyCurrentEquippedItem($this);
        if (var$5) {
            if ($par1Entity.$isEntityAlive())
                nms_EntityPlayer_alertWolves($this, $par1Entity, 1);
            if ($var7 > 0 && $var8)
                nms_Entity_setFire($par1Entity, $var7 * 4 | 0);
            else if ($var6)
                nms_Entity_extinguish($par1Entity);
        }
        return;
    case 5:
        nms_EnchantmentThorns_func_92096_a($this, $var9, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = nms_EntityPlayer_getCurrentEquippedItem($this);
        if (!($par1Entity instanceof nms_EntityDragonPart))
            $var11 = $par1Entity;
        else {
            $var11 = $par1Entity.$entityDragonObj;
            $var11 = $var11 === null ? $par1Entity : $var11 instanceof nms_EntityLiving ? $var11 : $par1Entity;
        }
        if ($var9 !== null && $var11 instanceof nms_EntityLiving) {
            $var11 = $var11;
            $ptr = 4;
            continue main;
        }
        if (var$5) {
            if ($par1Entity.$isEntityAlive())
                nms_EntityPlayer_alertWolves($this, $par1Entity, 1);
            if ($var7 > 0 && $var8)
                nms_Entity_setFire($par1Entity, $var7 * 4 | 0);
            else if ($var6)
                nms_Entity_extinguish($par1Entity);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $var2, $var3, $var4, var$5, $var9, $var5, var$8, $var6, $var7, $var8, var$12, var$13, $var11, $ptr);
}
function nms_EntityPlayer_setDead($this) {
    nms_Entity_setDead($this);
    nms_ContainerPlayer_onCraftGuiClosed($this.$inventoryContainer, $this);
    if ($this.$openContainer !== null)
        $this.$openContainer.$onCraftGuiClosed($this);
}
function nms_EntityPlayer_isEntityInsideOpaqueBlock($this) {
    return !$this.$sleeping && nms_Entity_isEntityInsideOpaqueBlock($this) ? 1 : 0;
}
function nms_EntityPlayer_func_71066_bF($this) {
    return 0;
}
function nms_EntityPlayer_sleepInBedAt($this, $par1, $par2, $par3) {
    var $var5, $var10, $var7;
    nms_Entity_setSize($this, 0.20000000298023224, 0.20000000298023224);
    $this.$yOffset = 0.20000000298023224;
    if (!nms_World_blockExists($this.$worldObj, $par1, $par2, $par3))
        nms_Entity_setPosition($this, $par1 + 0.5, $par2 + 0.9375, $par3 + 0.5);
    else {
        a: {
            $var5 = nms_BlockDirectional_getDirection(nms_World_getBlockMetadata($this.$worldObj, $par1, $par2, $par3));
            $var10 = 0.5;
            $var7 = 0.5;
            switch ($var5) {
                case 0:
                    $var7 = 0.8999999761581421;
                    break a;
                case 1:
                    $var10 = 0.10000000149011612;
                    break a;
                case 2:
                    $var7 = 0.10000000149011612;
                    break a;
                case 3:
                    $var10 = 0.8999999761581421;
                    break a;
                default:
            }
        }
        b: {
            $this.$field_71079_bU = 0.0;
            $this.$field_71089_bV = 0.0;
            switch ($var5) {
                case 0:
                    break;
                case 1:
                    $this.$field_71079_bU = 1.7999999523162842;
                    break b;
                case 2:
                    $this.$field_71089_bV = 1.7999999523162842;
                    break b;
                case 3:
                    $this.$field_71079_bU = (-1.7999999523162842);
                    break b;
                default:
                    break b;
            }
            $this.$field_71089_bV = (-1.7999999523162842);
        }
        nms_Entity_setPosition($this, $par1 + $var10, $par2 + 0.9375, $par3 + $var7);
    }
    $this.$sleeping = 1;
    $this.$sleepTimer = 0;
    $this.$playerLocation = nms_ChunkCoordinates__init_0($par1, $par2, $par3);
    $this.$motionY = 0.0;
    $this.$motionZ = 0.0;
    $this.$motionX = 0.0;
    return nms_EnumStatus_OK;
}
function nms_EntityPlayer_wakeUpPlayer($this, $par1, $par2, $par3) {
    var $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Entity_setSize($this, 0.6000000238418579, 1.7999999523162842);
        $this.$resetHeight();
        $var4 = $this.$playerLocation;
        if ($var4 !== null) {
            $par2 = nms_World_getBlockId($this.$worldObj, $var4.$posX1, $var4.$posY1, $var4.$posZ1);
            nms_Block_$callClinit();
            if ($par2 == nms_Block_bed.$blockID) {
                var$5 = $this.$worldObj;
                $par2 = $var4.$posX1;
                var$6 = $var4.$posY1;
                var$7 = $var4.$posZ1;
                var$8 = nms_World_getBlockMetadata(var$5, $par2, var$6, var$7) & (-5);
                var$9 = 4;
                $ptr = 1;
                continue main;
            }
        }
        $this.$sleeping = 0;
        if (!$par1)
            $this.$sleepTimer = 100;
        else
            $this.$sleepTimer = 0;
        if ($par3)
            nms_EntityPlayer_setSpawnChunk($this, $this.$playerLocation, 0);
        return;
    case 1:
        nms_World_setBlockMetadataWithNotify(var$5, $par2, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$worldObj;
        $par2 = $var4.$posX1;
        var$9 = $var4.$posY1;
        var$10 = $var4.$posZ1;
        var$11 = 0;
        var$12 = nms_BlockDirectional_getDirection(nms_World_getBlockMetadata(var$5, $par2, var$9, var$10));
        var$13 = 0;
        var$8 = var$9 - 1 | 0;
        var$7 = var$9 + 1 | 0;
        a: {
            while (var$13 <= 1) {
                var$14 = ($par2 - $rt_imul(nms_BlockBed_footBlockToHeadBlockMap.data[var$12].data[0], var$13) | 0) - 1 | 0;
                var$15 = (var$10 - $rt_imul(nms_BlockBed_footBlockToHeadBlockMap.data[var$12].data[1], var$13) | 0) - 1 | 0;
                var$16 = var$14 + 2 | 0;
                var$17 = var$15 + 2 | 0;
                while (var$14 <= var$16) {
                    var$18 = var$15;
                    while (var$18 <= var$17) {
                        if (nms_World_doesBlockHaveSolidTopSurface(var$5, var$14, var$8, var$18) && nms_World_isAirBlock(var$5, var$14, var$9, var$18) && nms_World_isAirBlock(var$5, var$14, var$7, var$18)) {
                            if (var$11 <= 0) {
                                var$5 = nms_ChunkCoordinates__init_0(var$14, var$9, var$18);
                                break a;
                            }
                            var$11 = var$11 + (-1) | 0;
                        }
                        var$18 = var$18 + 1 | 0;
                    }
                    var$14 = var$14 + 1 | 0;
                }
                var$13 = var$13 + 1 | 0;
            }
            var$5 = null;
        }
        if (var$5 === null)
            var$5 = nms_ChunkCoordinates__init_0($var4.$posX1, $var4.$posY1 + 1 | 0, $var4.$posZ1);
        nms_Entity_setPosition($this, var$5.$posX1 + 0.5, var$5.$posY1 + $this.$yOffset + 0.10000000149011612, var$5.$posZ1 + 0.5);
        $this.$sleeping = 0;
        if (!$par1)
            $this.$sleepTimer = 100;
        else
            $this.$sleepTimer = 0;
        if ($par3)
            nms_EntityPlayer_setSpawnChunk($this, $this.$playerLocation, 0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, $ptr);
}
function nms_EntityPlayer_getBedOrientationInDegrees($this) {
    a: {
        if ($this.$playerLocation !== null)
            switch (nms_BlockDirectional_getDirection(nms_World_getBlockMetadata($this.$worldObj, $this.$playerLocation.$posX1, $this.$playerLocation.$posY1, $this.$playerLocation.$posZ1))) {
                case 0:
                    return 90.0;
                case 1:
                    return 0.0;
                case 2:
                    return 270.0;
                case 3:
                    return 180.0;
                default:
                    break a;
            }
    }
    return 0.0;
}
function nms_EntityPlayer_isPlayerSleeping($this) {
    return $this.$sleeping;
}
function nms_EntityPlayer_getSleepTimer($this) {
    return $this.$sleepTimer;
}
function nms_EntityPlayer_getHideCape($this, $par1) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 1 << $par1) ? 0 : 1;
}
function nms_EntityPlayer_setSpawnChunk($this, $par1ChunkCoordinates, $par2) {
    var var$3;
    if ($par1ChunkCoordinates === null) {
        $this.$spawnChunk = null;
        $this.$spawnForced = 0;
    } else {
        var$3 = new nms_ChunkCoordinates;
        var$3.$posX1 = $par1ChunkCoordinates.$posX1;
        var$3.$posY1 = $par1ChunkCoordinates.$posY1;
        var$3.$posZ1 = $par1ChunkCoordinates.$posZ1;
        $this.$spawnChunk = var$3;
        $this.$spawnForced = $par2;
    }
}
function nms_EntityPlayer_triggerAchievement($this, $par1StatBase) {
    $this.$addStat($par1StatBase, 1);
}
function nms_EntityPlayer_addStat($this, $par1StatBase, $par2) {
    return;
}
function nms_EntityPlayer_jump($this) {
    nms_EntityLiving_jump($this);
    nms_Entity_isSprinting($this);
}
function nms_EntityPlayer_moveEntityWithHeading($this, $par1, $par2) {
    var $var3, $var5, $var7, $var9, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = $this.$posX;
        $var5 = $this.$posY;
        $var7 = $this.$posZ;
        if ($this.$capabilities.$isFlying && $this.$ridingEntity === null) {
            $var9 = $this.$motionY;
            $var11 = $this.$jumpMovementFactor;
            $this.$jumpMovementFactor = $this.$capabilities.$flySpeed;
            $ptr = 2;
            continue main;
        }
        $ptr = 1;
    case 1:
        nms_EntityLiving_moveEntityWithHeading($this, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityPlayer_addMovementStat($this, $this.$posX - $var3, $this.$posY - $var5, $this.$posZ - $var7);
        return;
    case 2:
        nms_EntityLiving_moveEntityWithHeading($this, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionY = $var9 * 0.6;
        $this.$jumpMovementFactor = $var11;
        nms_EntityPlayer_addMovementStat($this, $this.$posX - $var3, $this.$posY - $var5, $this.$posZ - $var7);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, $var5, $var7, $var9, $var11, $ptr);
}
function nms_EntityPlayer_addMovementStat($this, $par1, $par3, $par5) {
    a: {
        if ($this.$ridingEntity === null) {
            nms_Material_$callClinit();
            if (nms_Entity_isInsideOfMaterial($this, nms_Material_water)) {
                if (jl_Math_round(nms_MathHelper_sqrt_double($par1 * $par1 + $par3 * $par3 + $par5 * $par5) * 100.0) > 0) {
                }
            } else if ($this.$inWater) {
                if (jl_Math_round(nms_MathHelper_sqrt_double($par1 * $par1 + $par5 * $par5) * 100.0) > 0) {
                }
            } else if (!nms_EntityLiving_isOnLadder($this)) {
                if (!$this.$onGround) {
                    if (jl_Math_round(nms_MathHelper_sqrt_double($par1 * $par1 + $par5 * $par5) * 100.0) <= 25)
                        break a;
                    else
                        break a;
                }
                if (jl_Math_round(nms_MathHelper_sqrt_double($par1 * $par1 + $par5 * $par5) * 100.0) > 0 && nms_Entity_isSprinting($this)) {
                }
            } else if ($par3 <= 0.0) {
            }
        }
    }
}
function nms_EntityPlayer_fall($this, $par1) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$capabilities.$allowFlying)
            return;
        $ptr = 1;
    case 1:
        nms_EntityLiving_fall($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $ptr);
}
function nms_EntityPlayer_setInWeb($this) {
    if (!$this.$capabilities.$isFlying)
        nms_Entity_setInWeb($this);
}
function nms_EntityPlayer_getItemIcon($this, $par1ItemStack, $par2) {
    var $var3, $var4;
    $var3 = nms_ItemStack_getIconIndex($par1ItemStack);
    $var4 = $par1ItemStack.$itemID0;
    nms_Item_$callClinit();
    if ($var4 == nms_Item_fishingRod.$itemID && $this.$fishEntity !== null)
        $var3 = nms_Item_fishingRod.$theIcon3;
    else {
        if (nms_ItemStack_getItem($par1ItemStack).$requiresMultipleRenderPasses())
            return nms_ItemStack_getItem($par1ItemStack).$getIconFromDamageForRenderPass($par1ItemStack.$itemDamage, $par2);
        if ($this.$itemInUse !== null && $par1ItemStack.$itemID0 == nms_Item_bow.$itemID) {
            $var4 = nms_ItemStack_getMaxItemUseDuration($par1ItemStack) - $this.$itemInUseCount | 0;
            if ($var4 >= 18)
                return nms_ItemBow_getItemIconForUseDuration(nms_Item_bow, 2);
            if ($var4 > 13)
                return nms_ItemBow_getItemIconForUseDuration(nms_Item_bow, 1);
            if ($var4 > 0)
                return nms_ItemBow_getItemIconForUseDuration(nms_Item_bow, 0);
        }
    }
    return $var3;
}
function nms_EntityPlayer_getCurrentArmor($this, $par1) {
    return nms_InventoryPlayer_armorItemInSlot($this.$inventory, $par1);
}
function nms_EntityPlayer_addExperienceLevel($this, $par1) {
    var $var2;
    $this.$experienceLevel = $this.$experienceLevel + $par1 | 0;
    if ($this.$experienceLevel < 0) {
        $this.$experienceLevel = 0;
        $this.$experience = 0.0;
        $this.$experienceTotal = 0;
    }
    if ($par1 > 0 && !($this.$experienceLevel % 5 | 0) && $this.$field_82249_h < $this.$ticksExisted - 100.0) {
        $var2 = $this.$experienceLevel > 30 ? 1.0 : $this.$experienceLevel / 30.0;
        nms_World_playSoundAtEntity($this.$worldObj, $this, $rt_s(1055), $var2 * 0.75, 1.0);
        $this.$field_82249_h = $this.$ticksExisted;
    }
}
function nms_EntityPlayer_xpBarCap($this) {
    return $this.$experienceLevel >= 30 ? 62 + (($this.$experienceLevel - 30 | 0) * 7 | 0) | 0 : $this.$experienceLevel < 15 ? 17 : 17 + (($this.$experienceLevel - 15 | 0) * 3 | 0) | 0;
}
function nms_EntityPlayer_addExhaustion($this, $par1) {
    return;
}
function nms_EntityPlayer_getFoodStats($this) {
    return $this.$foodStats;
}
function nms_EntityPlayer_canEat($this, $par1) {
    return !(!$par1 && !nms_FoodStats_needFood($this.$foodStats)) && !$this.$capabilities.$disableDamage ? 1 : 0;
}
function nms_EntityPlayer_setItemInUse($this, $par1ItemStack, $par2) {
    if ($par1ItemStack !== $this.$itemInUse) {
        $this.$itemInUse = $par1ItemStack;
        $this.$itemInUseCount = $par2;
    }
}
function nms_EntityPlayer_canCurrentToolHarvestBlock($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6;
    if ($this.$capabilities.$allowEdit)
        return 1;
    a: {
        $var4 = nms_World_getBlockId($this.$worldObj, $par1, $par2, $par3);
        if ($var4 > 0) {
            nms_Block_$callClinit();
            $var5 = nms_Block_blocksList.data[$var4];
            if ($var5.$blockMaterial.$field_85159_M)
                return 1;
            if (nms_EntityPlayer_getCurrentEquippedItem($this) !== null) {
                $var6 = nms_EntityPlayer_getCurrentEquippedItem($this);
                if (nms_ItemStack_canHarvestBlock($var6, $var5))
                    break a;
                if (nms_ItemStack_getStrVsBlock($var6, $var5) > 1.0)
                    break a;
            }
        }
        return 0;
    }
    return 1;
}
function nms_EntityPlayer_canPlayerEdit($this, $par1, $par2, $par3, $par4, $par5ItemStack) {
    return $this.$capabilities.$allowEdit ? 1 : $par5ItemStack === null ? 0 : nms_ItemStack_func_82835_x($par5ItemStack);
}
function nms_EntityPlayer_getEntityName($this) {
    return $this.$username0;
}
function nms_EntityPlayer_func_94062_bN($this) {
    return nms_EntityLiving_func_94062_bN($this);
}
function nms_EntityPlayer_func_94059_bO($this) {
    return 1;
}
function nms_EntityPlayer_canTriggerWalking($this) {
    return $this.$capabilities.$isFlying ? 0 : 1;
}
function nms_EntityPlayer_getTranslator($this) {
    return nms_StringTranslate_instance;
}
function nms_EntityPlayer_getHeldItem($this) {
    return nms_InventoryPlayer_getCurrentItem($this.$inventory);
}
function nms_EntityPlayer_setCurrentItemOrArmor($this, $par1, $par2ItemStack) {
    $this.$inventory.$armorInventory.data[$par1] = $par2ItemStack;
}
function nms_EntityPlayer_func_98034_c($this, $par1EntityPlayer) {
    var $var2;
    if (!nms_Entity_isInvisible($this))
        return 0;
    $var2 = nms_EntityPlayer_getTeam($this);
    return $var2 !== null && $par1EntityPlayer !== null && nms_EntityPlayer_getTeam($par1EntityPlayer) === $var2 && $var2.$field_98301_h ? 0 : 1;
}
function nms_EntityPlayer_getLastActiveItems($this) {
    return $this.$inventory.$armorInventory;
}
function nms_EntityPlayer_getHideCape0($this) {
    return nms_EntityPlayer_getHideCape($this, 1);
}
function nms_EntityPlayer_func_96092_aw($this) {
    return $this.$capabilities.$isFlying ? 0 : 1;
}
function nms_EntityPlayer_getWorldScoreboard($this) {
    return $this.$worldObj.$worldScoreboard;
}
function nms_EntityPlayer_getTeam($this) {
    return nms_Scoreboard_getPlayersTeam(nms_EntityPlayer_getWorldScoreboard($this), $this.$username0);
}
function nms_EntityPlayer_getTranslatedEntityName($this) {
    return nms_ScorePlayerTeam_func_96667_a(nms_EntityPlayer_getTeam($this), $this.$username0);
}
function nlea_Tessellator() {
    var a = this; jl_Object.call(a);
    a.$intBuffer = null;
    a.$floatBuffer = null;
    a.$vertexCount = 0;
    a.$textureU = 0.0;
    a.$textureV = 0.0;
    a.$brightness = 0;
    a.$color = 0;
    a.$hasColor = 0;
    a.$hasTexture = 0;
    a.$hasBrightness = 0;
    a.$hasNormals = 0;
    a.$rawBufferIndex = 0;
    a.$addedVertices = 0;
    a.$isColorDisabled = 0;
    a.$drawMode = 0;
    a.$xOffset = 0.0;
    a.$yOffset0 = 0.0;
    a.$zOffset = 0.0;
    a.$normal = 0;
    a.$isDrawing = 0;
    a.$useVBO = 0;
    a.$bufferSize = 0;
}
var nlea_Tessellator_instance = null;
function nlea_Tessellator_$callClinit() {
    nlea_Tessellator_$callClinit = $rt_eraseClinit(nlea_Tessellator);
    nlea_Tessellator__clinit_();
}
function nlea_Tessellator_draw($this) {
    var var$1, var$2, var$3, var$4, $var1;
    if (!$this.$isDrawing)
        return 0;
    $this.$isDrawing = 0;
    if ($this.$vertexCount > 0) {
        if ($this.$hasTexture)
            nleg_EaglerAdapterGL30_glEnableVertexAttrib(32888);
        if ($this.$hasColor)
            nleg_EaglerAdapterGL30_glEnableVertexAttrib(32886);
        if ($this.$hasNormals)
            nleg_EaglerAdapterGL30_glEnableVertexAttrib(32885);
        if ($this.$hasBrightness) {
            nleg_EaglerAdapterGL30_glClientActiveTexture(33985);
            nleg_EaglerAdapterGL30_glEnableVertexAttrib(32888);
            nleg_EaglerAdapterGL30_glClientActiveTexture(33984);
        }
        var$1 = $this.$drawMode;
        var$2 = $this.$vertexCount;
        var$3 = $this.$intBuffer.buffer;
        var$4 = $this.$vertexCount * 8 | 0;
        nleg_EaglerAdapterGL30_glDrawArrays(var$1, 0, var$2, new Int32Array(var$3, 0, var$4));
        if ($this.$hasTexture)
            nleg_EaglerAdapterGL30_glDisableVertexAttrib(32888);
        if ($this.$hasColor)
            nleg_EaglerAdapterGL30_glDisableVertexAttrib(32886);
        if ($this.$hasNormals)
            nleg_EaglerAdapterGL30_glDisableVertexAttrib(32885);
        if ($this.$hasBrightness) {
            nleg_EaglerAdapterGL30_glClientActiveTexture(33985);
            nleg_EaglerAdapterGL30_glDisableVertexAttrib(32888);
            nleg_EaglerAdapterGL30_glClientActiveTexture(33984);
        }
    }
    $var1 = $this.$rawBufferIndex * 4 | 0;
    nlea_Tessellator_reset($this);
    return $var1;
}
function nlea_Tessellator_reset($this) {
    $this.$vertexCount = 0;
    $this.$rawBufferIndex = 0;
    $this.$addedVertices = 0;
}
function nlea_Tessellator_startDrawingQuads($this) {
    nlea_Tessellator_startDrawing($this, 7);
}
function nlea_Tessellator_startDrawing($this, $par1) {
    if ($this.$isDrawing)
        nlea_Tessellator_draw($this);
    $this.$isDrawing = 1;
    nlea_Tessellator_reset($this);
    $this.$drawMode = $par1;
    $this.$hasNormals = 0;
    $this.$hasColor = 0;
    $this.$hasTexture = 0;
    $this.$hasBrightness = 0;
    $this.$isColorDisabled = 0;
}
function nlea_Tessellator_setTextureUV($this, $par1, $par3) {
    $this.$hasTexture = 1;
    $this.$textureU = $par1;
    $this.$textureV = $par3;
}
function nlea_Tessellator_setBrightness($this, $par1) {
    $this.$hasBrightness = 1;
    $this.$brightness = $par1;
}
function nlea_Tessellator_setColorOpaque_F($this, $par1, $par2, $par3) {
    nlea_Tessellator_setColorOpaque($this, $par1 * 255.0 | 0, $par2 * 255.0 | 0, $par3 * 255.0 | 0);
}
function nlea_Tessellator_setColorRGBA_F($this, $par1, $par2, $par3, $par4) {
    nlea_Tessellator_setColorRGBA($this, $par1 * 255.0 | 0, $par2 * 255.0 | 0, $par3 * 255.0 | 0, $par4 * 255.0 | 0);
}
function nlea_Tessellator_setColorOpaque($this, $par1, $par2, $par3) {
    nlea_Tessellator_setColorRGBA($this, $par1, $par2, $par3, 255);
}
function nlea_Tessellator_setColorRGBA($this, $par1, $par2, $par3, $par4) {
    if (!$this.$isColorDisabled) {
        if ($par1 > 255)
            $par1 = 255;
        if ($par2 > 255)
            $par2 = 255;
        if ($par3 > 255)
            $par3 = 255;
        if ($par4 > 255)
            $par4 = 255;
        if ($par1 < 0)
            $par1 = 0;
        if ($par2 < 0)
            $par2 = 0;
        if ($par3 < 0)
            $par3 = 0;
        if ($par4 < 0)
            $par4 = 0;
        $this.$hasColor = 1;
        $this.$color = $par4 << 24 | $par3 << 16 | $par2 << 8 | $par1;
    }
}
function nlea_Tessellator_addVertexWithUV($this, $par1, $par3, $par5, $par7, $par9) {
    nlea_Tessellator_setTextureUV($this, $par7, $par9);
    nlea_Tessellator_addVertex($this, $par1, $par3, $par5);
}
function nlea_Tessellator_addVertex($this, $par1, $par3, $par5) {
    var $bufferIndex, $intBuffer0, $floatBuffer0, var$7, var$8, var$9;
    if ($this.$addedVertices > 65534)
        return;
    $this.$addedVertices = $this.$addedVertices + 1 | 0;
    $this.$vertexCount = $this.$vertexCount + 1 | 0;
    $bufferIndex = $this.$rawBufferIndex;
    $intBuffer0 = $this.$intBuffer;
    $floatBuffer0 = $this.$floatBuffer;
    var$7 = $bufferIndex + 0 | 0;
    var$8 = $par1 + $this.$xOffset;
    $floatBuffer0[var$7] = var$8;
    var$7 = $bufferIndex + 1 | 0;
    var$8 = $par3 + $this.$yOffset0;
    $floatBuffer0[var$7] = var$8;
    var$7 = $bufferIndex + 2 | 0;
    var$8 = $par5 + $this.$zOffset;
    $floatBuffer0[var$7] = var$8;
    if ($this.$hasTexture) {
        var$7 = $bufferIndex + 3 | 0;
        var$8 = $this.$textureU;
        $floatBuffer0[var$7] = var$8;
        var$7 = $bufferIndex + 4 | 0;
        var$8 = $this.$textureV;
        $floatBuffer0[var$7] = var$8;
    }
    if ($this.$hasColor) {
        var$7 = $bufferIndex + 5 | 0;
        var$9 = $this.$color;
        $intBuffer0[var$7] = var$9;
    }
    if ($this.$hasNormals) {
        var$7 = $bufferIndex + 6 | 0;
        var$9 = $this.$normal;
        $intBuffer0[var$7] = var$9;
    }
    if ($this.$hasBrightness) {
        $bufferIndex = $bufferIndex + 7 | 0;
        var$7 = $this.$brightness;
        $intBuffer0[$bufferIndex] = var$7;
    }
    $this.$rawBufferIndex = $this.$rawBufferIndex + 8 | 0;
}
function nlea_Tessellator_setColorOpaque_I($this, $par1) {
    nlea_Tessellator_setColorOpaque($this, $par1 >> 16 & 255, $par1 >> 8 & 255, $par1 & 255);
}
function nlea_Tessellator_setColorRGBA_I($this, $par1, $par2) {
    nlea_Tessellator_setColorRGBA($this, $par1 >> 16 & 255, $par1 >> 8 & 255, $par1 & 255, $par2);
}
function nlea_Tessellator_disableColor($this) {
    $this.$isColorDisabled = 1;
}
function nlea_Tessellator_setNormal($this, $par1, $par2, $par3) {
    var $len;
    $this.$hasNormals = 1;
    $len = jl_Math_sqrt($par1 * $par1 + $par2 * $par2 + $par3 * $par3);
    $this.$normal = (($par1 / $len * 127.0 | 0) + 127 | 0) & 255 | ((($par2 / $len * 127.0 | 0) + 127 | 0) & 255) << 8 | ((($par3 / $len * 127.0 | 0) + 127 | 0) & 255) << 16;
}
function nlea_Tessellator_setTranslation($this, $par1, $par3, $par5) {
    $this.$xOffset = $par1;
    $this.$yOffset0 = $par3;
    $this.$zOffset = $par5;
}
function nlea_Tessellator_addTranslation($this, $par1, $par2, $par3) {
    $this.$xOffset = $this.$xOffset + $par1;
    $this.$yOffset0 = $this.$yOffset0 + $par2;
    $this.$zOffset = $this.$zOffset + $par3;
}
function nlea_Tessellator__clinit_() {
    var var$1, var$2;
    var$1 = new nlea_Tessellator;
    nlea_Tessellator_$callClinit();
    var$1.$vertexCount = 0;
    var$1.$hasColor = 0;
    var$1.$hasTexture = 0;
    var$1.$hasBrightness = 0;
    var$1.$hasNormals = 0;
    var$1.$rawBufferIndex = 0;
    var$1.$addedVertices = 0;
    var$1.$isColorDisabled = 0;
    var$1.$isDrawing = 0;
    var$1.$useVBO = 0;
    var$1.$bufferSize = 525000;
    var$2 = new ArrayBuffer(2100000);
    var$1.$intBuffer = new Int32Array(var$2);
    var$1.$floatBuffer = new Float32Array(var$2);
    nlea_Tessellator_instance = var$1;
}
function jt_NumberFormat() {
    var a = this; jt_Format.call(a);
    a.$groupingUsed = 0;
    a.$parseIntegerOnly = 0;
    a.$maximumIntegerDigits = 0;
    a.$minimumIntegerDigits = 0;
    a.$maximumFractionDigits = 0;
    a.$minimumFractionDigits = 0;
    a.$roundingMode = null;
    a.$currency = null;
}
function jt_NumberFormat__init_() {
    var var_0 = new jt_NumberFormat();
    jt_NumberFormat__init_0(var_0);
    return var_0;
}
function jt_NumberFormat__init_0($this) {
    var var$1, var$2, var$3, var$4, var$5, var$6, var$7;
    $this.$groupingUsed = 1;
    $this.$maximumIntegerDigits = 40;
    $this.$minimumIntegerDigits = 1;
    $this.$maximumFractionDigits = 3;
    $this.$roundingMode = jm_RoundingMode_HALF_EVEN;
    var$1 = ju_Locale_defaultLocale;
    if (var$1 === null) {
        var$1 = new jl_NullPointerException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    var$1 = otciu_CLDRHelper_resolveCountry(var$1.$languageCode, var$1.$countryCode);
    if (otcic_CurrencyHelper_$$metadata$$1 === null)
        otcic_CurrencyHelper_$$metadata$$1 = otcic_CurrencyHelper_getCountryToCurrencyMap$$create();
    var$2 = otcic_CurrencyHelper_$$metadata$$1;
    if (!var$2.hasOwnProperty($rt_ustr(var$1)))
        var$1 = null;
    else {
        var$2 = (var$2[$rt_ustr(var$1)].value !== null ? $rt_str(var$2[$rt_ustr(var$1)].value) : null);
        if (var$2 === null) {
            var$1 = new jl_NullPointerException;
            jl_Throwable__init_0(var$1);
            $rt_throw(var$1);
        }
        if (ju_Currency_currencies === null) {
            ju_Currency_currencies = ju_HashMap__init_();
            if (otcic_CurrencyHelper_$$metadata$$0 === null)
                otcic_CurrencyHelper_$$metadata$$0 = otcic_CurrencyHelper_getCurrencies$$create();
            var$3 = otcic_CurrencyHelper_$$metadata$$0;
            var$4 = 0;
            while (var$4 < var$3.length) {
                var$5 = var$3[var$4];
                var$6 = ju_Currency_currencies;
                var$7 = (var$5.code !== null ? $rt_str(var$5.code) : null);
                var$1 = new ju_Currency;
                var$1.$resource = var$5;
                ju_HashMap_putImpl(var$6, var$7, var$1);
                var$4 = var$4 + 1 | 0;
            }
        }
        var$1 = ju_HashMap_get(ju_Currency_currencies, var$2);
        if (var$1 === null) {
            var$5 = new jl_IllegalArgumentException;
            var$1 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$1);
            jl_AbstractStringBuilder_append(var$1, $rt_s(1056));
            jl_AbstractStringBuilder_append(var$1, var$2);
            jl_Throwable__init_(var$5, jl_AbstractStringBuilder_toString(var$1));
            $rt_throw(var$5);
        }
    }
    $this.$currency = var$1;
}
function jt_NumberFormat_getCurrency($this) {
    return $this.$currency;
}
function jt_NumberFormat_format($this, $value) {
    var var$2;
    var$2 = new jl_StringBuffer;
    jl_AbstractStringBuilder__init_(var$2);
    return jl_AbstractStringBuilder_toString(jt_DecimalFormat_format($this, $value, var$2, jt_FieldPosition__init_(0)));
}
function jt_NumberFormat_format0($this, $object, $buffer, $field) {
    var $dv, $lv;
    if (!($object instanceof jl_Number)) {
        $object = new jl_IllegalArgumentException;
        jl_Throwable__init_0($object);
        $rt_throw($object);
    }
    $object = $object;
    $dv = $object.$doubleValue();
    $lv = $object.$longValue();
    if ($dv !== Long_toNumber($lv))
        return $this.$format7($dv, $buffer, $field);
    return $this.$format8($lv, $buffer, $field);
}
function jt_NumberFormat_getIntegerInstance($locale) {
    var $pattern, $format;
    $pattern = otciu_CLDRHelper_resolveNumberFormat($locale.$languageCode, $locale.$countryCode);
    $format = jt_DecimalFormat__init_1($pattern, jt_DecimalFormatSymbols__init_0($locale));
    $format.$parseIntegerOnly = 1;
    jt_NumberFormat_setMinimumFractionDigits($format, 0);
    jt_NumberFormat_setMaximumFractionDigits($format, 0);
    $format.$decimalSeparatorAlwaysShown = 0;
    return $format;
}
function jt_NumberFormat_getInstance() {
    return jt_NumberFormat_getNumberInstance(ju_Locale_defaultLocale);
}
function jt_NumberFormat_getMaximumFractionDigits($this) {
    return $this.$maximumFractionDigits;
}
function jt_NumberFormat_getMaximumIntegerDigits($this) {
    return $this.$maximumIntegerDigits;
}
function jt_NumberFormat_getMinimumFractionDigits($this) {
    return $this.$minimumFractionDigits;
}
function jt_NumberFormat_getMinimumIntegerDigits($this) {
    return $this.$minimumIntegerDigits;
}
function jt_NumberFormat_getNumberInstance($locale) {
    return jt_DecimalFormat__init_1(otciu_CLDRHelper_resolveNumberFormat($locale.$languageCode, $locale.$countryCode), jt_DecimalFormatSymbols__init_0($locale));
}
function jt_NumberFormat_setGroupingUsed($this, $value) {
    $this.$groupingUsed = $value;
}
function jt_NumberFormat_setMaximumFractionDigits($this, $value) {
    if ($value < 0)
        $value = 0;
    $this.$maximumFractionDigits = $value;
    if ($this.$maximumFractionDigits < $this.$minimumFractionDigits)
        $this.$minimumFractionDigits = $this.$maximumFractionDigits;
}
function jt_NumberFormat_setMaximumIntegerDigits($this, $value) {
    if ($value < 0)
        $value = 0;
    $this.$maximumIntegerDigits = $value;
    if ($this.$maximumIntegerDigits < $this.$minimumIntegerDigits)
        $this.$minimumIntegerDigits = $this.$maximumIntegerDigits;
}
function jt_NumberFormat_setMinimumFractionDigits($this, $value) {
    if ($value < 0)
        $value = 0;
    $this.$minimumFractionDigits = $value;
    if ($this.$maximumFractionDigits < $this.$minimumFractionDigits)
        $this.$maximumFractionDigits = $this.$minimumFractionDigits;
}
function jt_NumberFormat_setMinimumIntegerDigits($this, $value) {
    if ($value < 0)
        $value = 0;
    $this.$minimumIntegerDigits = $value;
    if ($this.$maximumIntegerDigits < $this.$minimumIntegerDigits)
        $this.$maximumIntegerDigits = $this.$minimumIntegerDigits;
}
function jt_NumberFormat_setParseIntegerOnly($this, $value) {
    $this.$parseIntegerOnly = $value;
}
function jt_NumberFormat_getRoundingMode($this) {
    return $this.$roundingMode;
}
function jt_DecimalFormat() {
    var a = this; jt_NumberFormat.call(a);
    a.$symbols0 = null;
    a.$positivePrefix = null;
    a.$negativePrefix = null;
    a.$positiveSuffix = null;
    a.$negativeSuffix = null;
    a.$multiplier = 0;
    a.$groupingSize = 0;
    a.$decimalSeparatorAlwaysShown = 0;
    a.$parseBigDecimal = 0;
    a.$exponentDigits = 0;
    a.$pattern4 = null;
}
var jt_DecimalFormat_POW10_ARRAY = null;
var jt_DecimalFormat_POW10_INT_ARRAY = null;
var jt_DecimalFormat_POW10_FRAC_ARRAY = null;
var jt_DecimalFormat_POWM10_FRAC_ARRAY = null;
function jt_DecimalFormat__init_2() {
    var var_0 = new jt_DecimalFormat();
    jt_DecimalFormat__init_(var_0);
    return var_0;
}
function jt_DecimalFormat__init_0(var_0) {
    var var_1 = new jt_DecimalFormat();
    jt_DecimalFormat__init_3(var_1, var_0);
    return var_1;
}
function jt_DecimalFormat__init_1(var_0, var_1) {
    var var_2 = new jt_DecimalFormat();
    jt_DecimalFormat__init_4(var_2, var_0, var_1);
    return var_2;
}
function jt_DecimalFormat__init_($this) {
    jt_DecimalFormat__init_3($this, otciu_CLDRHelper_resolveNumberFormat(ju_Locale_defaultLocale.$languageCode, ju_Locale_defaultLocale.$countryCode));
}
function jt_DecimalFormat__init_3($this, $pattern) {
    jt_DecimalFormat__init_4($this, $pattern, jt_DecimalFormatSymbols__init_1());
}
function jt_DecimalFormat__init_4($this, $pattern, $value) {
    var var$3;
    jt_NumberFormat__init_0($this);
    $this.$positivePrefix = $rt_createArray(jt_DecimalFormat$FormatField, 0);
    var$3 = $rt_createArray(jt_DecimalFormat$FormatField, 1);
    var$3.data[0] = jt_DecimalFormat$TextField__init_($rt_s(567));
    $this.$negativePrefix = var$3;
    $this.$positiveSuffix = $rt_createArray(jt_DecimalFormat$FormatField, 0);
    $this.$negativeSuffix = $rt_createArray(jt_DecimalFormat$FormatField, 0);
    $this.$multiplier = 1;
    $this.$symbols0 = jt_DecimalFormatSymbols_clone($value);
    jt_DecimalFormat_applyPattern($this, $pattern);
}
function jt_DecimalFormat_applyPattern($this, $pattern) {
    var $parser;
    $parser = new jt_DecimalFormatParser;
    jt_DecimalFormatParser_parse($parser, $pattern);
    jt_DecimalFormatParser_apply($parser, $this);
    $this.$pattern4 = $pattern;
}
function jt_DecimalFormat_toPattern($this) {
    return $this.$pattern4;
}
function jt_DecimalFormat_fieldsToText($this, $fields, $buffer) {
    var var$3, var$4;
    $fields = $fields.data;
    var$3 = $fields.length;
    var$4 = 0;
    while (var$4 < var$3) {
        $fields[var$4].$render($this, $buffer);
        var$4 = var$4 + 1 | 0;
    }
    return $buffer;
}
function jt_DecimalFormat_fieldsToText0($this, $fields) {
    var var$2;
    if ($fields === null)
        return null;
    var$2 = new jl_StringBuffer;
    jl_AbstractStringBuilder__init_(var$2);
    return jl_AbstractStringBuilder_toString(jt_DecimalFormat_fieldsToText($this, $fields, var$2));
}
function jt_DecimalFormat_getPositivePrefix($this) {
    return jt_DecimalFormat_fieldsToText0($this, $this.$positivePrefix);
}
function jt_DecimalFormat_getNegativePrefix($this) {
    return jt_DecimalFormat_fieldsToText0($this, $this.$negativePrefix);
}
function jt_DecimalFormat_getPositiveSuffix($this) {
    return jt_DecimalFormat_fieldsToText0($this, $this.$positiveSuffix);
}
function jt_DecimalFormat_getNegativeSuffix($this) {
    return jt_DecimalFormat_fieldsToText0($this, $this.$negativeSuffix);
}
function jt_DecimalFormat_setMultiplier($this, $newValue) {
    $this.$multiplier = $newValue;
}
function jt_DecimalFormat_getGroupingSize($this) {
    return $this.$groupingSize;
}
function jt_DecimalFormat_setGroupingSize($this, $newValue) {
    $this.$groupingSize = $newValue;
}
function jt_DecimalFormat_isDecimalSeparatorAlwaysShown($this) {
    return $this.$decimalSeparatorAlwaysShown;
}
function jt_DecimalFormat_setDecimalSeparatorAlwaysShown($this, $newValue) {
    $this.$decimalSeparatorAlwaysShown = $newValue;
}
function jt_DecimalFormat_isParseBigDecimal($this) {
    return $this.$parseBigDecimal;
}
function jt_DecimalFormat_equals($this, $obj) {
    var $other, var$3;
    if ($obj === $this)
        return 1;
    if (!($obj instanceof jt_DecimalFormat))
        return 0;
    $other = $obj;
    if ($obj === $this)
        var$3 = 1;
    else if (!($obj instanceof jt_NumberFormat))
        var$3 = 0;
    else {
        $obj = $obj;
        var$3 = $this.$groupingUsed == $obj.$groupingUsed && $this.$parseIntegerOnly == $obj.$parseIntegerOnly && $this.$maximumFractionDigits == $obj.$maximumFractionDigits && $this.$maximumIntegerDigits == $obj.$maximumIntegerDigits && $this.$minimumFractionDigits == $obj.$minimumFractionDigits && $this.$minimumIntegerDigits == $obj.$minimumIntegerDigits && $this.$roundingMode === $obj.$roundingMode && $this.$currency === $obj.$currency ? 1 : 0;
    }
    if (!var$3)
        return 0;
    a: {
        b: {
            if (!ju_Arrays_equals($this.$positivePrefix, $other.$positivePrefix))
                break b;
            if (!ju_Arrays_equals($this.$positiveSuffix, $other.$positiveSuffix))
                break b;
            if (!ju_Arrays_equals($this.$negativePrefix, $other.$negativePrefix))
                break b;
            if (!ju_Arrays_equals($this.$negativeSuffix, $other.$negativeSuffix))
                break b;
            if ($this.$multiplier != $other.$multiplier)
                break b;
            if ($this.$groupingSize != $other.$groupingSize)
                break b;
            if ($this.$decimalSeparatorAlwaysShown != $other.$decimalSeparatorAlwaysShown)
                break b;
            if ($this.$parseBigDecimal != $other.$parseBigDecimal)
                break b;
            if ($this.$exponentDigits == $other.$exponentDigits) {
                var$3 = 1;
                break a;
            }
        }
        var$3 = 0;
    }
    return var$3;
}
function jt_DecimalFormat_hashCode($this) {
    var var$1, $result;
    var$1 = !$this.$groupingUsed ? 1237 : 1231;
    $result = !$this.$parseIntegerOnly ? 1237 : 1231;
    return ((((((((((((((((((((((((var$1 + $result | 0) + $this.$maximumFractionDigits | 0) + $this.$maximumIntegerDigits | 0) + $this.$minimumFractionDigits | 0) + $this.$minimumIntegerDigits | 0) + jl_Object_identity($this.$roundingMode) | 0) + ju_Objects_hashCode($this.$currency) | 0) * 31 | 0) + ju_Arrays_hashCode($this.$positivePrefix) | 0) * 31 | 0) + ju_Arrays_hashCode($this.$positiveSuffix) | 0) * 31 | 0) + ju_Arrays_hashCode($this.$negativePrefix) | 0) * 31 | 0) + ju_Arrays_hashCode($this.$negativeSuffix)
    | 0) * 31 | 0) + $this.$multiplier | 0) * 31 | 0) + $this.$groupingSize | 0) * 31 | 0) + (!$this.$decimalSeparatorAlwaysShown ? 0 : 1) | 0) * 31 | 0) + (!$this.$parseBigDecimal ? 0 : 1) | 0) * 31 | 0) + $this.$exponentDigits | 0;
}
function jt_DecimalFormat_parse($this, $string, $position) {
    return !$this.$parseBigDecimal ? jt_DecimalFormat_parseNumber($this, $string, $position) : jt_DecimalFormat_parseBigDecimal($this, $string, $position);
}
function jt_DecimalFormat_parseBigDecimal($this, $string, $position) {
    var $mantissa, $exponent, $index, $allowGroupSeparator, $exponentSeparator, $intSize, $fracSize, $fractionalPart, $positive, $negPrefix, $posPrefix, $suffix, $c, $digit, $positiveExponent, $exponentLength, $result;
    $mantissa = jm_BigInteger_ZERO;
    $exponent = 0;
    $index = $position.$currentPosition;
    $allowGroupSeparator = 0;
    $exponentSeparator = $this.$symbols0.$exponentSeparator;
    $intSize = 0;
    $fracSize = 0;
    $fractionalPart = 0;
    $positive = 1;
    $negPrefix = jt_DecimalFormat_getNegativePrefix($this);
    $posPrefix = jt_DecimalFormat_getPositivePrefix($this);
    if (jl_String_regionMatches0($string, $index, $negPrefix, 0, jl_String_length($negPrefix))) {
        $positive = 0;
        $index = $index + jl_String_length($negPrefix) | 0;
    } else {
        if (!jl_String_regionMatches0($string, $index, $posPrefix, 0, jl_String_length($posPrefix))) {
            $position.$errorIndex = $index;
            return null;
        }
        $index = $index + jl_String_length($posPrefix) | 0;
    }
    $suffix = !$positive ? jt_DecimalFormat_getNegativeSuffix($this) : jt_DecimalFormat_getPositiveSuffix($this);
    if ($suffix === null)
        $suffix = jt_DecimalFormat_getPositiveSuffix($this);
    a: {
        while (true) {
            if ($index >= jl_String_length($string))
                break a;
            $c = jl_String_charAt($string, $index);
            $digit = $c - $this.$symbols0.$zeroDigit | 0;
            if ($digit >= 0 && $digit <= 9) {
                if ($fractionalPart)
                    $fracSize = $fracSize + 1 | 0;
                else {
                    $intSize = $intSize + 1 | 0;
                    $allowGroupSeparator = $this.$groupingSize <= 1 ? 0 : 1;
                }
                $mantissa = jm_BigInteger_add(jm_BigInteger_multiply($mantissa, jm_BigInteger_TEN), jm_BigInteger_valueOf(Long_fromInt($digit)));
                $index = $index + 1 | 0;
            } else if ($c == $this.$symbols0.$decimalSeparator) {
                if ($fractionalPart)
                    break a;
                if ($intSize < 1)
                    break;
                $fractionalPart = 1;
                $allowGroupSeparator = 0;
                $index = $index + 1 | 0;
            } else {
                if ($c != $this.$symbols0.$groupingSeparator) {
                    if (!jl_String_regionMatches0($string, $index, $exponentSeparator, 0, jl_String_length($exponentSeparator)))
                        break a;
                    if (!$this.$exponentDigits)
                        break a;
                    $index = $index + jl_String_length($exponentSeparator) | 0;
                    if ($index == jl_String_length($string)) {
                        $position.$errorIndex = $index;
                        return null;
                    }
                    $positiveExponent = 1;
                    if (jl_String_charAt($string, $index) == $this.$symbols0.$minusSign) {
                        $positiveExponent = 0;
                        $index = $index + 1 | 0;
                    }
                    $exponentLength = 0;
                    b: {
                        while (true) {
                            if ($index >= jl_String_length($string))
                                break b;
                            $c = jl_String_charAt($string, $index) - $this.$symbols0.$zeroDigit | 0;
                            if ($c < 0)
                                break b;
                            if ($c > 9)
                                break;
                            $exponent = ($exponent * 10 | 0) + $c | 0;
                            $exponentLength = $exponentLength + 1 | 0;
                            $index = $index + 1 | 0;
                        }
                    }
                    if (!$exponentLength) {
                        $position.$errorIndex = $index;
                        return null;
                    }
                    if ($positiveExponent)
                        break a;
                    $exponent =  -$exponent;
                    break a;
                }
                if (!$allowGroupSeparator)
                    break a;
                $allowGroupSeparator = 0;
                $index = $index + 1 | 0;
            }
        }
        $position.$errorIndex = $index;
        return null;
    }
    if (!$fracSize && $fractionalPart && !$this.$decimalSeparatorAlwaysShown) {
        $position.$errorIndex = $index;
        return null;
    }
    if ($suffix !== null && !jl_String_regionMatches0($string, $index, $suffix, 0, jl_String_length($suffix))) {
        $position.$errorIndex = $index;
        return null;
    }
    $position.$currentPosition = $index;
    $result = jm_BigDecimal__init_($mantissa,  -($exponent - $fracSize | 0));
    if ($this.$multiplier != 1)
        $result = jm_BigDecimal_divide($result, jm_BigDecimal_valueOf(Long_fromInt($this.$multiplier)));
    if (!$positive)
        $result = jm_BigDecimal_negate($result);
    return $result;
}
function jt_DecimalFormat_parseNumber($this, $string, $position) {
    var $mantissa, $shift, $exponent, $index, $allowGroupSeparator, $exponentSeparator, $intSize, $fracSize, $fractionalPart, $positive, $negPrefix, $posPrefix, $multiplierDigits, $suffix, $c, $digit, $next, var$20, $positiveExponent, $exponentLength, $result;
    $mantissa = Long_ZERO;
    $shift = 0;
    $exponent = 0;
    $index = jt_ParsePosition_getIndex($position);
    $allowGroupSeparator = 0;
    $exponentSeparator = jt_DecimalFormatSymbols_getExponentSeparator($this.$symbols0);
    $intSize = 0;
    $fracSize = 0;
    $fractionalPart = 0;
    $positive = 1;
    $negPrefix = jt_DecimalFormat_getNegativePrefix($this);
    $posPrefix = jt_DecimalFormat_getPositivePrefix($this);
    if (jl_String_regionMatches0($string, $index, $negPrefix, 0, jl_String_length($negPrefix))) {
        $positive = 0;
        $multiplierDigits = $index + jl_String_length($negPrefix) | 0;
    } else {
        if (!jl_String_regionMatches0($string, $index, $posPrefix, 0, jl_String_length($posPrefix))) {
            jt_ParsePosition_setErrorIndex($position, $index);
            return null;
        }
        $multiplierDigits = $index + jl_String_length($posPrefix) | 0;
    }
    $suffix = !$positive ? jt_DecimalFormat_getNegativeSuffix($this) : jt_DecimalFormat_getPositiveSuffix($this);
    if ($suffix === null)
        $suffix = jt_DecimalFormat_getPositiveSuffix($this);
    if (jl_String_regionMatches0($string, $multiplierDigits, jt_DecimalFormatSymbols_getInfinity($this.$symbols0), 0, jl_String_length(jt_DecimalFormatSymbols_getInfinity($this.$symbols0)))) {
        $multiplierDigits = $multiplierDigits + jl_String_length(jt_DecimalFormatSymbols_getInfinity($this.$symbols0)) | 0;
        if ($suffix !== null && !jl_String_regionMatches0($string, $multiplierDigits, $suffix, 0, jl_String_length($suffix))) {
            jt_ParsePosition_setErrorIndex($position, $multiplierDigits);
            return null;
        }
        jt_ParsePosition_setIndex($position, $multiplierDigits);
        return jl_Double_valueOf(!$positive ? (-Infinity) : Infinity);
    }
    a: {
        while (true) {
            if ($multiplierDigits >= jl_String_length($string))
                break a;
            $c = jl_String_charAt($string, $multiplierDigits);
            $digit = $c - jt_DecimalFormatSymbols_getZeroDigit($this.$symbols0) | 0;
            if ($digit >= 0 && $digit <= 9) {
                if ($fractionalPart)
                    $fracSize = $fracSize + 1 | 0;
                else {
                    $intSize = $intSize + 1 | 0;
                    $allowGroupSeparator = $this.$groupingSize <= 1 ? 0 : 1;
                }
                if (Long_le($mantissa, new Long(3435973836, 214748364))) {
                    $next = Long_mul($mantissa, Long_fromInt(10));
                    var$20 = Long_fromInt($digit);
                    if (Long_le($next, Long_sub(new Long(4294967295, 2147483647), var$20)))
                        $mantissa = Long_add($next, var$20);
                    else
                        $shift = $shift + 1 | 0;
                } else {
                    if (!$shift && $digit > 5)
                        $mantissa = Long_add($mantissa, Long_fromInt(1));
                    $shift = $shift + 1 | 0;
                }
                $multiplierDigits = $multiplierDigits + 1 | 0;
            } else if ($c == jt_DecimalFormatSymbols_getDecimalSeparator($this.$symbols0)) {
                if ($fractionalPart)
                    break a;
                if ($intSize < 1)
                    break;
                $fractionalPart = 1;
                $allowGroupSeparator = 0;
                $multiplierDigits = $multiplierDigits + 1 | 0;
            } else {
                if ($c != jt_DecimalFormatSymbols_getGroupingSeparator($this.$symbols0)) {
                    if (!jl_String_regionMatches0($string, $multiplierDigits, $exponentSeparator, 0, jl_String_length($exponentSeparator)))
                        break a;
                    if (!$this.$exponentDigits)
                        break a;
                    $multiplierDigits = $multiplierDigits + jl_String_length($exponentSeparator) | 0;
                    if ($multiplierDigits == jl_String_length($string)) {
                        jt_ParsePosition_setErrorIndex($position, $multiplierDigits);
                        return null;
                    }
                    $positiveExponent = 1;
                    if (jl_String_charAt($string, $multiplierDigits) == jt_DecimalFormatSymbols_getMinusSign($this.$symbols0)) {
                        $positiveExponent = 0;
                        $multiplierDigits = $multiplierDigits + 1 | 0;
                    }
                    $exponentLength = 0;
                    b: {
                        while (true) {
                            if ($multiplierDigits >= jl_String_length($string))
                                break b;
                            $c = jl_String_charAt($string, $multiplierDigits) - jt_DecimalFormatSymbols_getZeroDigit($this.$symbols0) | 0;
                            if ($c < 0)
                                break b;
                            if ($c > 9)
                                break;
                            $exponent = ($exponent * 10 | 0) + $c | 0;
                            $exponentLength = $exponentLength + 1 | 0;
                            $multiplierDigits = $multiplierDigits + 1 | 0;
                        }
                    }
                    if (!$exponentLength) {
                        jt_ParsePosition_setErrorIndex($position, $multiplierDigits);
                        return null;
                    }
                    if ($positiveExponent)
                        break a;
                    $exponent =  -$exponent;
                    break a;
                }
                if (!$allowGroupSeparator)
                    break a;
                $allowGroupSeparator = 0;
                $multiplierDigits = $multiplierDigits + 1 | 0;
            }
        }
        jt_ParsePosition_setErrorIndex($position, $multiplierDigits);
        return null;
    }
    if (!$fracSize && $fractionalPart && !jt_DecimalFormat_isDecimalSeparatorAlwaysShown($this)) {
        jt_ParsePosition_setErrorIndex($position, $multiplierDigits);
        return null;
    }
    if ($suffix !== null && !jl_String_regionMatches0($string, $multiplierDigits, $suffix, 0, jl_String_length($suffix))) {
        jt_ParsePosition_setErrorIndex($position, $multiplierDigits);
        return null;
    }
    jt_ParsePosition_setIndex($position, $multiplierDigits);
    if ($this.$multiplier != 1) {
        $multiplierDigits = jt_DecimalFormat_fastLn10($this, $this.$multiplier);
        if (jt_DecimalFormat_POW10_INT_ARRAY.data[$multiplierDigits] == $this.$multiplier)
            $exponent = $exponent - $multiplierDigits | 0;
        else
            $mantissa = Long_div($mantissa, Long_fromInt($this.$multiplier));
    }
    $multiplierDigits = $exponent + ($shift - $fracSize | 0) | 0;
    if ($multiplierDigits > 0 && $multiplierDigits < jt_DecimalFormat_POW10_ARRAY.data.length) {
        if (Long_lt($mantissa, Long_div(new Long(4294967295, 2147483647), jt_DecimalFormat_POW10_ARRAY.data[$multiplierDigits]))) {
            $mantissa = Long_mul($mantissa, jt_DecimalFormat_POW10_ARRAY.data[$multiplierDigits]);
            $multiplierDigits = 0;
        }
    } else if ($multiplierDigits < 0) {
        $c =  -$multiplierDigits;
        if ($c < jt_DecimalFormat_POW10_ARRAY.data.length && Long_eq(Long_rem($mantissa, jt_DecimalFormat_POW10_ARRAY.data[$c]), Long_ZERO)) {
            $mantissa = Long_div($mantissa, jt_DecimalFormat_POW10_ARRAY.data[$c]);
            $multiplierDigits = 0;
        }
    }
    if (Long_eq($mantissa, Long_ZERO) && !$positive)
        return jl_Double_valueOf(-0.0);
    if (!$multiplierDigits) {
        if (!$positive)
            $mantissa = Long_neg($mantissa);
        return jl_Long_valueOf($mantissa);
    }
    $result = jl_Double_decimalExponent($multiplierDigits) * Long_toNumber($mantissa);
    if (!$positive)
        $result =  -$result;
    return jl_Double_valueOf($result);
}
function jt_DecimalFormat_format0($this, $object, $buffer, $field) {
    var var$4;
    if ($object instanceof jm_BigDecimal)
        return jt_DecimalFormat_format1($this, $object, $buffer, $field);
    if (!($object instanceof jm_BigInteger))
        return jt_NumberFormat_format0($this, $object, $buffer, $field);
    $object = $object;
    var$4 = new jm_BigDecimal;
    jm_BigDecimal_$callClinit();
    jm_BigDecimal__init_0(var$4, $object, 0);
    return jt_DecimalFormat_format1($this, var$4, $buffer, $field);
}
function jt_DecimalFormat_format1($this, $value, $buffer, $field) {
    if ($this.$exponentDigits <= 0)
        jt_DecimalFormat_formatRegular($this, $value, $buffer);
    else
        jt_DecimalFormat_formatExponent($this, $value, $buffer);
    return $buffer;
}
function jt_DecimalFormat_format2($this, $value, $buffer, $field) {
    if ($this.$exponentDigits <= 0)
        jt_DecimalFormat_formatRegular0($this, $value, jt_DecimalFormat_fastLn100($this, jl_Math_abs0($value)), $buffer);
    else
        jt_DecimalFormat_formatExponent0($this, $value, jt_DecimalFormat_fastLn100($this, jl_Math_abs0($value)), $buffer);
    return $buffer;
}
function jt_DecimalFormat_format($this, $value, $buffer, $field) {
    var $me, var$5, var$6;
    if (isNaN($value) ? 1 : 0) {
        jl_AbstractStringBuilder_append(jt_DecimalFormat_fieldsToText($this, $this.$positivePrefix, $buffer), $this.$symbols0.$nan);
        jt_DecimalFormat_appendSuffix($this, 1, $buffer);
    } else if (!(!isFinite($value) ? 1 : 0)) {
        $me = jt_DecimalFormat_getMantissaAndExponent($this, $value);
        if ($this.$exponentDigits <= 0)
            jt_DecimalFormat_formatRegular0($this, $me.$mantissa1, $me.$exponent1, $buffer);
        else
            jt_DecimalFormat_formatExponent0($this, $me.$mantissa1, $me.$exponent1, $buffer);
    } else {
        var$5 = $rt_compare($value, 0.0);
        var$6 = var$5 <= 0 ? $this.$negativePrefix : $this.$positivePrefix;
        jl_AbstractStringBuilder_append(jt_DecimalFormat_fieldsToText($this, var$6, $buffer), $this.$symbols0.$infinity);
        jt_DecimalFormat_appendSuffix($this, var$5 <= 0 ? 0 : 1, $buffer);
    }
    return $buffer;
}
function jt_DecimalFormat_formatExponent0($this, $mantissa, $exponent, $buffer) {
    var $positive, $visibleExponent, $mantissaLength, $multiplierDigits, $significantSize, $exponentMultiplier, $delta, $exponentPos, $i, $mantissaDigitMask, $requiredSize, $limit, $count, $exponentDigit;
    $positive = Long_lt($mantissa, Long_ZERO) ? 0 : 1;
    $visibleExponent = jt_DecimalFormat_fastLn100($this, $mantissa);
    $mantissaLength = $visibleExponent + 1 | 0;
    if ($this.$multiplier != 1) {
        $multiplierDigits = jt_DecimalFormat_fastLn10($this, $this.$multiplier);
        if (jt_DecimalFormat_POW10_INT_ARRAY.data[$multiplierDigits] == $this.$multiplier)
            $exponent = $exponent + $multiplierDigits | 0;
        else if (Long_lt($mantissa, Long_div(new Long(4294967295, 2147483647), Long_fromInt($this.$multiplier))) && Long_gt($mantissa, Long_div(new Long(0, 2147483648), Long_fromInt($this.$multiplier)))) {
            $mantissa = Long_mul($mantissa, Long_fromInt($this.$multiplier));
            $positive = Long_lt($mantissa, Long_ZERO) ? 0 : 1;
            $visibleExponent = jt_DecimalFormat_fastLn100($this, $mantissa);
            $mantissaLength = $visibleExponent + 1 | 0;
        } else {
            jt_DecimalFormat_formatExponent($this, jm_BigDecimal__init_(jm_BigInteger_valueOf($mantissa), $visibleExponent - $exponent | 0), $buffer);
            return;
        }
    }
    $significantSize = $this.$minimumIntegerDigits + $this.$maximumFractionDigits | 0;
    $exponentMultiplier = ($this.$maximumIntegerDigits - $this.$minimumIntegerDigits | 0) + 1 | 0;
    if ($exponentMultiplier > 1) {
        $delta = $exponent - $rt_imul($exponent / $exponentMultiplier | 0, $exponentMultiplier) | 0;
        $exponent = $exponent - $delta | 0;
        $delta = $visibleExponent - $delta | 0;
    } else {
        $exponent = $exponent - ($this.$minimumIntegerDigits - 1 | 0) | 0;
        $delta = $visibleExponent - ($this.$minimumIntegerDigits - 1 | 0) | 0;
    }
    if ($significantSize < 0)
        $mantissa = Long_ZERO;
    else if ($significantSize < $mantissaLength)
        $mantissa = jt_DecimalFormat_applyRounding($this, $mantissa, $mantissaLength, $significantSize);
    jt_DecimalFormat_fieldsToText($this, !$positive ? $this.$negativePrefix : $this.$positivePrefix, $buffer);
    $exponentPos = jl_Math_max($delta, 0);
    $i = $mantissaLength - 1 | 0;
    while ($i >= $exponentPos) {
        $mantissaDigitMask = jt_DecimalFormat_POW10_ARRAY.data[$i];
        jl_AbstractStringBuilder_append0($buffer, jt_DecimalFormat_forDigit($this, jl_Math_abs(Long_div($mantissa, $mantissaDigitMask).lo)));
        $mantissa = Long_rem($mantissa, $mantissaDigitMask);
        $i = $i + (-1) | 0;
    }
    $i = $exponentPos - 1 | 0;
    while ($i >= $delta) {
        jl_AbstractStringBuilder_append0($buffer, 48);
        $i = $i + (-1) | 0;
    }
    a: {
        $exponentPos = $significantSize - ($mantissaLength - $delta | 0) | 0;
        $requiredSize = $exponentPos - ($this.$maximumFractionDigits - $this.$minimumFractionDigits | 0) | 0;
        if ($requiredSize <= 0) {
            if (Long_eq($mantissa, Long_ZERO))
                break a;
            if ($exponentPos <= 0)
                break a;
        }
        jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$decimalSeparator);
        $limit = jl_Math_max(0, $delta - $exponentPos | 0);
        $count = 0;
        $i = $delta - 1 | 0;
        b: {
            while ($i >= $limit) {
                $mantissaDigitMask = jt_DecimalFormat_POW10_ARRAY.data[$i];
                jl_AbstractStringBuilder_append0($buffer, jt_DecimalFormat_forDigit($this, jl_Math_abs(Long_div($mantissa, $mantissaDigitMask).lo)));
                $mantissa = Long_rem($mantissa, $mantissaDigitMask);
                $count = $count + 1 | 0;
                if (Long_eq($mantissa, Long_ZERO))
                    break b;
                $i = $i + (-1) | 0;
            }
        }
        while (true) {
            $delta = $count + 1 | 0;
            if ($count >= $requiredSize)
                break a;
            jl_AbstractStringBuilder_append0($buffer, 48);
            $count = $delta;
        }
    }
    jl_AbstractStringBuilder_append($buffer, $this.$symbols0.$exponentSeparator);
    if ($exponent < 0) {
        $exponent =  -$exponent;
        jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$minusSign);
    }
    $i = jl_Math_max($this.$exponentDigits, jt_DecimalFormat_fastLn10($this, $exponent) + 1 | 0) - 1 | 0;
    while ($i >= 0) {
        $exponentDigit = jt_DecimalFormat_POW10_INT_ARRAY.data[$i];
        jl_AbstractStringBuilder_append0($buffer, jt_DecimalFormat_forDigit($this, $exponent / $exponentDigit | 0));
        $exponent = $exponent % $exponentDigit | 0;
        $i = $i + (-1) | 0;
    }
    jt_DecimalFormat_appendSuffix($this, $positive, $buffer);
}
function jt_DecimalFormat_formatRegular0($this, $mantissa, $exponent, $buffer) {
    var $positive, $mantissaLength, $significantFracDigits, $multiplierDigits, $roundingPos, $intLength, $digitPos, $i, $significantIntDigits, $mantissaDigit, var$14, $mantissaDigitMask, $fracZeros, $i_0;
    $positive = Long_lt($mantissa, Long_ZERO) ? 0 : 1;
    $mantissaLength = jt_DecimalFormat_fastLn100($this, $mantissa) + 1 | 0;
    $significantFracDigits = $exponent + 1 | 0;
    if ($this.$multiplier != 1) {
        $multiplierDigits = jt_DecimalFormat_fastLn10($this, $this.$multiplier);
        if (jt_DecimalFormat_POW10_INT_ARRAY.data[$multiplierDigits] == $this.$multiplier)
            $significantFracDigits = $significantFracDigits + $multiplierDigits | 0;
        else if (Long_lt($mantissa, Long_div(new Long(4294967295, 2147483647), Long_fromInt($this.$multiplier))) && Long_gt($mantissa, Long_div(new Long(0, 2147483648), Long_fromInt($this.$multiplier)))) {
            $mantissa = Long_mul($mantissa, Long_fromInt($this.$multiplier));
            $mantissaLength = jt_DecimalFormat_fastLn100($this, $mantissa) + 1 | 0;
        } else {
            jt_DecimalFormat_formatRegular($this, jm_BigDecimal__init_(jm_BigInteger_valueOf($mantissa), $mantissaLength - $significantFracDigits | 0), $buffer);
            return;
        }
    }
    $roundingPos = $significantFracDigits + $this.$maximumFractionDigits | 0;
    if ($roundingPos < 0)
        $mantissa = Long_ZERO;
    else if ($roundingPos < $mantissaLength)
        $mantissa = jt_DecimalFormat_applyRounding($this, $mantissa, $mantissaLength, $roundingPos);
    jt_DecimalFormat_fieldsToText($this, !$positive ? $this.$negativePrefix : $this.$positivePrefix, $buffer);
    $intLength = jl_Math_max(0, $significantFracDigits);
    $digitPos = jl_Math_max($intLength, $this.$minimumIntegerDigits) - 1 | 0;
    $i = $this.$minimumIntegerDigits - 1 | 0;
    while ($i >= $intLength) {
        jl_AbstractStringBuilder_append0($buffer, 48);
        if ($this.$groupingSize > 0 && !($digitPos % $this.$groupingSize | 0) && $digitPos > 0)
            jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$groupingSeparator);
        $digitPos = $digitPos + (-1) | 0;
        $i = $i + (-1) | 0;
    }
    $significantIntDigits = jl_Math_min($mantissaLength, $intLength);
    $mantissaDigit = $mantissaLength - 1 | 0;
    $i = 0;
    while ($i < $significantIntDigits) {
        var$14 = jt_DecimalFormat_POW10_ARRAY.data;
        $exponent = $mantissaDigit + (-1) | 0;
        $mantissaDigitMask = var$14[$mantissaDigit];
        jl_AbstractStringBuilder_append0($buffer, jt_DecimalFormat_forDigit($this, jl_Math_abs(Long_div($mantissa, $mantissaDigitMask).lo)));
        $mantissa = Long_rem($mantissa, $mantissaDigitMask);
        if ($this.$groupingSize > 0 && !($digitPos % $this.$groupingSize | 0) && $digitPos > 0)
            jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$groupingSeparator);
        $digitPos = $digitPos + (-1) | 0;
        $i = $i + 1 | 0;
        $mantissaDigit = $exponent;
    }
    $intLength = $intLength - $significantIntDigits | 0;
    $i = 0;
    while ($i < $intLength) {
        jl_AbstractStringBuilder_append0($buffer, 48);
        if ($this.$groupingSize > 0 && !($digitPos % $this.$groupingSize | 0) && $digitPos > 0)
            jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$groupingSeparator);
        $digitPos = $digitPos + (-1) | 0;
        $i = $i + 1 | 0;
    }
    a: {
        if (Long_eq($mantissa, Long_ZERO)) {
            if ($this.$minimumFractionDigits) {
                jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$decimalSeparator);
                $i = 0;
                while ($i < $this.$minimumFractionDigits) {
                    jl_AbstractStringBuilder_append0($buffer, 48);
                    $i = $i + 1 | 0;
                }
            } else if ($this.$decimalSeparatorAlwaysShown)
                jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$decimalSeparator);
        } else {
            jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$decimalSeparator);
            $fracZeros = jl_Math_min($this.$maximumFractionDigits, jl_Math_max(0,  -$significantFracDigits));
            $i = 0;
            $i_0 = 0;
            while ($i_0 < $fracZeros) {
                $i = $i + 1 | 0;
                jl_AbstractStringBuilder_append0($buffer, 48);
                $i_0 = $i_0 + 1 | 0;
            }
            $significantFracDigits = jl_Math_min($this.$maximumFractionDigits - $i | 0, $mantissaDigit);
            $i_0 = 0;
            b: {
                while (true) {
                    if ($i_0 >= $significantFracDigits)
                        break b;
                    if (Long_eq($mantissa, Long_ZERO))
                        break;
                    $i = $i + 1 | 0;
                    $mantissaDigitMask = jt_DecimalFormat_POW10_ARRAY.data[$mantissaDigit];
                    jl_AbstractStringBuilder_append0($buffer, jt_DecimalFormat_forDigit($this, jl_Math_abs(Long_div($mantissa, $mantissaDigitMask).lo)));
                    $mantissa = Long_rem($mantissa, $mantissaDigitMask);
                    $mantissaDigit = $mantissaDigit + (-1) | 0;
                    $i_0 = $i_0 + 1 | 0;
                }
            }
            while (true) {
                if ($i >= $this.$minimumFractionDigits)
                    break a;
                jl_AbstractStringBuilder_append0($buffer, 48);
                $i = $i + 1 | 0;
            }
        }
    }
    jt_DecimalFormat_appendSuffix($this, $positive, $buffer);
}
function jt_DecimalFormat_formatExponent($this, $value, $buffer) {
    var $positive, $mantissaLength, $i, $exponent, $mantissa, $significantSize, $exponentMultiplier, $delta, $exponentPos, $mantissaDigitMask, $parts, $i_0, $limit, $requiredSize, $count, $exponentDigit;
    if ($this.$multiplier != 1)
        $value = jm_BigDecimal_multiply($value, jm_BigDecimal_valueOf(Long_fromInt($this.$multiplier)));
    jm_BigDecimal_$callClinit();
    $positive = jm_BigDecimal_compareTo($value, jm_BigDecimal_ZERO) < 0 ? 0 : 1;
    $mantissaLength = jm_BigDecimal_precision($value);
    $i = $mantissaLength - 1 | 0;
    $exponent = $i - $value.$scale1 | 0;
    $mantissa = jm_BigDecimal_getUnscaledValue($value);
    $significantSize = $this.$minimumIntegerDigits + $this.$maximumFractionDigits | 0;
    $exponentMultiplier = ($this.$maximumIntegerDigits - $this.$minimumIntegerDigits | 0) + 1 | 0;
    if ($exponentMultiplier > 1) {
        $delta = $exponent - $rt_imul($exponent / $exponentMultiplier | 0, $exponentMultiplier) | 0;
        $exponent = $exponent - $delta | 0;
        $exponentMultiplier = $i - $delta | 0;
    } else {
        $exponent = $exponent - ($this.$minimumIntegerDigits - 1 | 0) | 0;
        $exponentMultiplier = $i - ($this.$minimumIntegerDigits - 1 | 0) | 0;
    }
    if ($significantSize < 0)
        $mantissa = jm_BigInteger_ZERO;
    else if ($significantSize < $mantissaLength)
        $mantissa = jt_DecimalFormat_applyRounding0($this, $mantissa, $mantissaLength, $significantSize);
    jt_DecimalFormat_fieldsToText($this, !$positive ? $this.$negativePrefix : $this.$positivePrefix, $buffer);
    $exponentPos = jl_Math_max($exponentMultiplier, 0);
    $mantissaDigitMask = jt_DecimalFormat_pow10($this, jm_BigInteger_ONE, $i);
    while ($i >= $exponentPos) {
        $parts = jm_BigInteger_divideAndRemainder($mantissa, $mantissaDigitMask).data;
        jl_AbstractStringBuilder_append0($buffer, jt_DecimalFormat_forDigit($this, jl_Math_abs(jm_BigInteger_intValue($parts[0]))));
        $mantissa = $parts[1];
        $mantissaDigitMask = jm_BigInteger_divide($mantissaDigitMask, jm_BigInteger_TEN);
        $i = $i + (-1) | 0;
    }
    $i_0 = $exponentPos - 1 | 0;
    while ($i_0 >= $exponentMultiplier) {
        jl_AbstractStringBuilder_append0($buffer, 48);
        $i_0 = $i_0 + (-1) | 0;
    }
    a: {
        $limit = $significantSize - ($mantissaLength - $exponentMultiplier | 0) | 0;
        $requiredSize = $limit - ($this.$maximumFractionDigits - $this.$minimumFractionDigits | 0) | 0;
        if ($requiredSize <= 0) {
            if (jm_BigInteger_equals($mantissa, jm_BigInteger_ZERO))
                break a;
            if ($limit <= 0)
                break a;
        }
        jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$decimalSeparator);
        $limit = jl_Math_max(0, $exponentMultiplier - $limit | 0);
        $count = 0;
        $i_0 = $exponentMultiplier - 1 | 0;
        b: {
            while ($i_0 >= $limit) {
                $parts = jm_BigInteger_divideAndRemainder($mantissa, $mantissaDigitMask).data;
                jl_AbstractStringBuilder_append0($buffer, jt_DecimalFormat_forDigit($this, jl_Math_abs(jm_BigInteger_intValue($parts[0]))));
                $mantissa = $parts[1];
                $count = $count + 1 | 0;
                if (jm_BigInteger_equals($mantissa, jm_BigInteger_ZERO))
                    break b;
                $mantissaDigitMask = jm_BigInteger_divide($mantissaDigitMask, jm_BigInteger_TEN);
                $i_0 = $i_0 + (-1) | 0;
            }
        }
        while (true) {
            $exponentPos = $count + 1 | 0;
            if ($count >= $requiredSize)
                break a;
            jl_AbstractStringBuilder_append0($buffer, 48);
            $count = $exponentPos;
        }
    }
    jl_AbstractStringBuilder_append($buffer, $this.$symbols0.$exponentSeparator);
    if ($exponent < 0) {
        $exponent =  -$exponent;
        jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$minusSign);
    }
    $i_0 = jl_Math_max($this.$exponentDigits, jt_DecimalFormat_fastLn10($this, $exponent) + 1 | 0) - 1 | 0;
    while ($i_0 >= 0) {
        $exponentDigit = jt_DecimalFormat_POW10_INT_ARRAY.data[$i_0];
        jl_AbstractStringBuilder_append0($buffer, jt_DecimalFormat_forDigit($this, $exponent / $exponentDigit | 0));
        $exponent = $exponent % $exponentDigit | 0;
        $i_0 = $i_0 + (-1) | 0;
    }
    jt_DecimalFormat_appendSuffix($this, $positive, $buffer);
}
function jt_DecimalFormat_appendSuffix($this, $positive, $buffer) {
    if (!$positive)
        jt_DecimalFormat_fieldsToText($this, $this.$negativeSuffix !== null ? $this.$negativeSuffix : $this.$positiveSuffix !== null ? $this.$positiveSuffix : $rt_createArray(jt_DecimalFormat$FormatField, 0), $buffer);
    else if ($this.$positiveSuffix !== null)
        jt_DecimalFormat_fieldsToText($this, $this.$positiveSuffix, $buffer);
}
function jt_DecimalFormat_formatRegular($this, $value, $buffer) {
    var $mantissa, $positive, $mantissaLength, $exponent, $roundingPos, $intLength, $digitPos, $i, $significantIntDigits, $mantissaDigitMask, $parts, $i_0, $fracZeros, $significantFracDigits;
    if ($this.$multiplier != 1)
        $value = jm_BigDecimal_multiply($value, jm_BigDecimal_valueOf(Long_fromInt($this.$multiplier)));
    $mantissa = jm_BigDecimal_getUnscaledValue($value);
    $positive = jm_BigInteger_compareTo($mantissa, jm_BigInteger_ZERO) < 0 ? 0 : 1;
    $mantissaLength = jm_BigDecimal_precision($value);
    $exponent = jm_BigDecimal_precision($value) - $value.$scale1 | 0;
    $roundingPos = $exponent + $this.$maximumFractionDigits | 0;
    if ($roundingPos < 0)
        $mantissa = jm_BigInteger_ZERO;
    else if ($roundingPos < $mantissaLength)
        $mantissa = jt_DecimalFormat_applyRounding0($this, $mantissa, $mantissaLength, $roundingPos);
    jt_DecimalFormat_fieldsToText($this, !$positive ? $this.$negativePrefix : $this.$positivePrefix, $buffer);
    $intLength = jl_Math_max(0, $exponent);
    $digitPos = jl_Math_max($intLength, $this.$minimumIntegerDigits) - 1 | 0;
    $i = $this.$minimumIntegerDigits - 1 | 0;
    while ($i >= $intLength) {
        jl_AbstractStringBuilder_append0($buffer, 48);
        if ($this.$groupingSize > 0 && !($digitPos % $this.$groupingSize | 0) && $digitPos > 0)
            jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$groupingSeparator);
        $digitPos = $digitPos + (-1) | 0;
        $i = $i + (-1) | 0;
    }
    $significantIntDigits = jl_Math_min($mantissaLength, $intLength);
    $mantissaDigitMask = jt_DecimalFormat_pow10($this, jm_BigInteger_ONE, $mantissaLength - 1 | 0);
    $i = 0;
    while ($i < $significantIntDigits) {
        $parts = jm_BigInteger_divideAndRemainder($mantissa, $mantissaDigitMask).data;
        jl_AbstractStringBuilder_append0($buffer, jt_DecimalFormat_forDigit($this, jl_Math_abs(jm_BigInteger_intValue($parts[0]))));
        $mantissa = $parts[1];
        if ($this.$groupingSize > 0 && !($digitPos % $this.$groupingSize | 0) && $digitPos > 0)
            jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$groupingSeparator);
        $digitPos = $digitPos + (-1) | 0;
        $mantissaLength = $mantissaLength + (-1) | 0;
        $mantissaDigitMask = jm_BigInteger_divide($mantissaDigitMask, jm_BigInteger_TEN);
        $i = $i + 1 | 0;
    }
    $i = $intLength - $significantIntDigits | 0;
    $i_0 = 0;
    while ($i_0 < $i) {
        jl_AbstractStringBuilder_append0($buffer, 48);
        if ($this.$groupingSize > 0 && !($digitPos % $this.$groupingSize | 0) && $digitPos > 0)
            jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$groupingSeparator);
        $digitPos = $digitPos + (-1) | 0;
        $i_0 = $i_0 + 1 | 0;
    }
    a: {
        if (jm_BigInteger_equals($mantissa, jm_BigInteger_ZERO)) {
            if ($this.$minimumFractionDigits) {
                jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$decimalSeparator);
                $i = 0;
                while ($i < $this.$minimumFractionDigits) {
                    jl_AbstractStringBuilder_append0($buffer, 48);
                    $i = $i + 1 | 0;
                }
            } else if ($this.$decimalSeparatorAlwaysShown)
                jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$decimalSeparator);
        } else {
            jl_AbstractStringBuilder_append0($buffer, $this.$symbols0.$decimalSeparator);
            $fracZeros = jl_Math_min($this.$maximumFractionDigits, jl_Math_max(0,  -$exponent));
            $i = 0;
            $i_0 = 0;
            while ($i_0 < $fracZeros) {
                $i = $i + 1 | 0;
                jl_AbstractStringBuilder_append0($buffer, 48);
                $i_0 = $i_0 + 1 | 0;
            }
            $significantFracDigits = jl_Math_min($this.$maximumFractionDigits - $i | 0, $mantissaLength);
            $i_0 = 0;
            b: {
                while (true) {
                    if ($i_0 >= $significantFracDigits)
                        break b;
                    if (jm_BigInteger_equals($mantissa, jm_BigInteger_ZERO))
                        break;
                    $i = $i + 1 | 0;
                    $parts = jm_BigInteger_divideAndRemainder($mantissa, $mantissaDigitMask).data;
                    jl_AbstractStringBuilder_append0($buffer, jt_DecimalFormat_forDigit($this, jl_Math_abs(jm_BigInteger_intValue($parts[0]))));
                    $mantissa = $parts[1];
                    $mantissaDigitMask = jm_BigInteger_divide($mantissaDigitMask, jm_BigInteger_TEN);
                    $i_0 = $i_0 + 1 | 0;
                }
            }
            while (true) {
                if ($i >= $this.$minimumFractionDigits)
                    break a;
                jl_AbstractStringBuilder_append0($buffer, 48);
                $i = $i + 1 | 0;
            }
        }
    }
    jt_DecimalFormat_appendSuffix($this, $positive, $buffer);
}
function jt_DecimalFormat_applyRounding($this, $mantissa, $mantissaLength, $exponent) {
    var $rounding, $signedRounding, var$6, var$7, var$8;
    $rounding = jt_DecimalFormat_POW10_ARRAY.data[$mantissaLength - $exponent | 0];
    $signedRounding = Long_le($mantissa, Long_ZERO) ? Long_neg($rounding) : $rounding;
    a: {
        jt_DecimalFormat$1_$callClinit();
        switch (jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode.data[$this.$roundingMode.$ordinal]) {
            case 1:
                $mantissa = Long_mul(Long_div($mantissa, $rounding), $rounding);
                if (Long_lt($mantissa, Long_ZERO))
                    break a;
                $mantissa = Long_add($mantissa, $rounding);
                break a;
            case 2:
                $mantissa = Long_mul(Long_div($mantissa, $rounding), $rounding);
                if (Long_gt($mantissa, Long_ZERO))
                    break a;
                $mantissa = Long_sub($mantissa, $rounding);
                break a;
            case 3:
                $mantissa = Long_add(Long_mul(Long_div($mantissa, $rounding), $rounding), $signedRounding);
                break a;
            case 4:
                $mantissa = Long_mul(Long_div($mantissa, $rounding), $rounding);
                break a;
            case 5:
                if (Long_eq(Long_rem($mantissa, $rounding), Long_ZERO))
                    break a;
                var$6 = new jl_ArithmeticException;
                jl_Throwable__init_(var$6, $rt_s(1057));
                $rt_throw(var$6);
            case 6:
                var$7 = Long_rem($mantissa, $rounding);
                $signedRounding = Long_div($signedRounding, Long_fromInt(2));
                if (Long_eq(var$7, $signedRounding)) {
                    $mantissa = Long_mul(Long_div($mantissa, $rounding), $rounding);
                    break a;
                }
                $mantissa = Long_mul(Long_div(Long_add($mantissa, $signedRounding), $rounding), $rounding);
                break a;
            case 7:
                var$8 = Long_rem($mantissa, $rounding);
                var$7 = Long_div($signedRounding, Long_fromInt(2));
                if (Long_ne(var$8, var$7)) {
                    $mantissa = Long_mul(Long_div(Long_add($mantissa, var$7), $rounding), $rounding);
                    break a;
                }
                $mantissa = Long_add(Long_mul(Long_div($mantissa, $rounding), $rounding), $signedRounding);
                break a;
            case 8:
                var$8 = Long_rem($mantissa, $rounding);
                var$7 = Long_div($signedRounding, Long_fromInt(2));
                if (Long_ne(var$8, var$7)) {
                    $mantissa = Long_mul(Long_div(Long_add($mantissa, var$7), $rounding), $rounding);
                    break a;
                }
                $mantissa = Long_mul(Long_div($mantissa, $rounding), $rounding);
                if (Long_eq(Long_rem(Long_div($mantissa, $rounding), Long_fromInt(2)), Long_ZERO))
                    break a;
                $mantissa = Long_add($mantissa, $signedRounding);
                break a;
            default:
        }
    }
    return $mantissa;
}
function jt_DecimalFormat_applyRounding0($this, $mantissa, $mantissaLength, $exponent) {
    var $rounding, $signedRounding;
    $rounding = jt_DecimalFormat_pow10($this, jm_BigInteger_ONE, $mantissaLength - $exponent | 0);
    $signedRounding = jm_BigInteger_compareTo($mantissa, jm_BigInteger_ZERO) < 0 ? jm_BigInteger_negate($rounding) : $rounding;
    a: {
        jt_DecimalFormat$1_$callClinit();
        switch (jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode.data[$this.$roundingMode.$ordinal]) {
            case 1:
                $mantissa = jm_BigInteger_multiply(jm_BigInteger_divide($mantissa, $rounding), $rounding);
                if (jm_BigInteger_compareTo($mantissa, jm_BigInteger_ZERO) < 0)
                    break a;
                $mantissa = jm_BigInteger_add($mantissa, $rounding);
                break a;
            case 2:
                $mantissa = jm_BigInteger_multiply(jm_BigInteger_divide($mantissa, $rounding), $rounding);
                if (jm_BigInteger_compareTo($mantissa, jm_BigInteger_ZERO) > 0)
                    break a;
                $mantissa = jm_BigInteger_subtract($mantissa, $rounding);
                break a;
            case 3:
                $mantissa = jm_BigInteger_add(jm_BigInteger_multiply(jm_BigInteger_divide($mantissa, $rounding), $rounding), $signedRounding);
                break a;
            case 4:
                $mantissa = jm_BigInteger_multiply(jm_BigInteger_divide($mantissa, $rounding), $rounding);
                break a;
            case 5:
                if (!jm_BigInteger_equals(jm_BigInteger_remainder($mantissa, $rounding), jm_BigInteger_ZERO))
                    break a;
                $mantissa = new jl_ArithmeticException;
                jl_Throwable__init_($mantissa, $rt_s(1057));
                $rt_throw($mantissa);
            case 6:
                if (jm_BigInteger_equals(jm_BigInteger_remainder($mantissa, $rounding), jm_BigInteger_divide($signedRounding, jm_BigInteger_valueOf(Long_fromInt(2))))) {
                    $mantissa = jm_BigInteger_multiply(jm_BigInteger_divide($mantissa, $rounding), $rounding);
                    break a;
                }
                $mantissa = jm_BigInteger_multiply(jm_BigInteger_divide(jm_BigInteger_add($mantissa, jm_BigInteger_divide($signedRounding, jm_BigInteger_valueOf(Long_fromInt(2)))), $rounding), $rounding);
                break a;
            case 7:
                if (jm_BigInteger_equals(jm_BigInteger_remainder($mantissa, $rounding), jm_BigInteger_divide($signedRounding, jm_BigInteger_valueOf(Long_fromInt(2))))) {
                    $mantissa = jm_BigInteger_add(jm_BigInteger_multiply(jm_BigInteger_divide($mantissa, $rounding), $rounding), $signedRounding);
                    break a;
                }
                $mantissa = jm_BigInteger_multiply(jm_BigInteger_divide(jm_BigInteger_add($mantissa, jm_BigInteger_divide($signedRounding, jm_BigInteger_valueOf(Long_fromInt(2)))), $rounding), $rounding);
                break a;
            case 8:
                if (!jm_BigInteger_equals(jm_BigInteger_remainder($mantissa, $rounding), jm_BigInteger_divide($signedRounding, jm_BigInteger_valueOf(Long_fromInt(2))))) {
                    $mantissa = jm_BigInteger_multiply(jm_BigInteger_divide(jm_BigInteger_add($mantissa, jm_BigInteger_divide($signedRounding, jm_BigInteger_valueOf(Long_fromInt(2)))), $rounding), $rounding);
                    break a;
                }
                $mantissa = jm_BigInteger_multiply(jm_BigInteger_divide($mantissa, $rounding), $rounding);
                if (jm_BigInteger_equals(jm_BigInteger_remainder(jm_BigInteger_divide($mantissa, $rounding), jm_BigInteger_valueOf(Long_fromInt(2))), jm_BigInteger_ZERO))
                    break a;
                $mantissa = jm_BigInteger_add($mantissa, $signedRounding);
                break a;
            default:
        }
    }
    return $mantissa;
}
function jt_DecimalFormat_fastLn100($this, $value) {
    var $result;
    $result = 0;
    if (Long_lt($value, Long_ZERO)) {
        if (Long_le($value, new Long(2420047872, 4292638989))) {
            $result = 16;
            $value = Long_div($value, new Long(1874919424, 2328306));
        }
        if (Long_le($value, Long_fromInt(-100000000))) {
            $result = $result + 8 | 0;
            $value = Long_div($value, Long_fromInt(100000000));
        }
        if (Long_le($value, Long_fromInt(-10000))) {
            $result = $result + 4 | 0;
            $value = Long_div($value, Long_fromInt(10000));
        }
        if (Long_le($value, Long_fromInt(-100))) {
            $result = $result + 2 | 0;
            $value = Long_div($value, Long_fromInt(100));
        }
        if (Long_le($value, Long_fromInt(-10)))
            $result = $result + 1 | 0;
    } else {
        if (Long_ge($value, new Long(1874919424, 2328306))) {
            $result = 16;
            $value = Long_div($value, new Long(1874919424, 2328306));
        }
        if (Long_ge($value, Long_fromInt(100000000))) {
            $result = $result + 8 | 0;
            $value = Long_div($value, Long_fromInt(100000000));
        }
        if (Long_ge($value, Long_fromInt(10000))) {
            $result = $result + 4 | 0;
            $value = Long_div($value, Long_fromInt(10000));
        }
        if (Long_ge($value, Long_fromInt(100))) {
            $result = $result + 2 | 0;
            $value = Long_div($value, Long_fromInt(100));
        }
        if (Long_ge($value, Long_fromInt(10)))
            $result = $result + 1 | 0;
    }
    return $result;
}
function jt_DecimalFormat_fastLn10($this, $value) {
    var $result;
    $result = 0;
    if ($value >= 100000000) {
        $result = 8;
        $value = $value / 100000000 | 0;
    }
    if ($value >= 10000) {
        $result = $result + 4 | 0;
        $value = $value / 10000 | 0;
    }
    if ($value >= 100) {
        $result = $result + 2 | 0;
        $value = $value / 100 | 0;
    }
    if ($value >= 10)
        $result = $result + 1 | 0;
    return $result;
}
function jt_DecimalFormat_pow10($this, $value, $power) {
    var $digit;
    $digit = jm_BigInteger_TEN;
    while ($power) {
        if ($power & 1)
            $value = jm_BigInteger_multiply($value, $digit);
        $digit = jm_BigInteger_multiply($digit, $digit);
        $power = $power >>> 1;
    }
    return $value;
}
function jt_DecimalFormat_getMantissaAndExponent($this, $value) {
    var $mantissaPattern, $positive, $bit, var$5, $digit, $i, var$8, var$9, $bit_0, $digit_0, var$12;
    $mantissaPattern = jt_DecimalFormat_POW10_ARRAY.data[17];
    if ($value >= 0.0)
        $positive = 1;
    else {
        $positive = 0;
        $value =  -$value;
    }
    if ($value >= 1.0) {
        $bit = 256;
        var$5 = 0;
        $digit = 1.0;
        $i = jt_DecimalFormat_POW10_FRAC_ARRAY.data.length - 1 | 0;
        while ($i >= 0) {
            var$8 = var$5 | $bit;
            if (var$8 <= 308 && jt_DecimalFormat_POW10_FRAC_ARRAY.data[$i] * $digit <= $value) {
                $digit = $digit * jt_DecimalFormat_POW10_FRAC_ARRAY.data[$i];
                var$5 = var$8;
            }
            $bit = $bit >> 1;
            $i = $i + (-1) | 0;
        }
        var$9 = Long_fromNumber($value / $digit * Long_toNumber($mantissaPattern) + 0.5);
    } else {
        $bit_0 = 256;
        var$5 = 0;
        $digit_0 = 1.0;
        $i = jt_DecimalFormat_POWM10_FRAC_ARRAY.data.length - 1 | 0;
        while ($i >= 0) {
            $bit = var$5 | $bit_0;
            if ($bit <= 308 && jt_DecimalFormat_POWM10_FRAC_ARRAY.data[$i] * $digit_0 * 10.0 > $value) {
                $digit_0 = $digit_0 * jt_DecimalFormat_POWM10_FRAC_ARRAY.data[$i];
                var$5 = $bit;
            }
            $bit_0 = $bit_0 >> 1;
            $i = $i + (-1) | 0;
        }
        var$5 =  -var$5;
        var$9 = Long_fromNumber($value * Long_toNumber($mantissaPattern) / $digit_0 + 0.5);
    }
    $mantissaPattern = Long_mul(Long_div(Long_add(var$9, Long_fromInt(500)), Long_fromInt(1000)), Long_fromInt(1000));
    var$12 = new jt_DecimalFormat$MantissaAndExponent;
    if (!$positive)
        $mantissaPattern = Long_neg($mantissaPattern);
    var$12.$mantissa1 = $mantissaPattern;
    var$12.$exponent1 = var$5;
    return var$12;
}
function jt_DecimalFormat_forDigit($this, $n) {
    return ($this.$symbols0.$zeroDigit + $n | 0) & 65535;
}
function jt_DecimalFormat__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createLongArray(19);
    var$2 = var$1.data;
    var$2[0] = Long_fromInt(1);
    var$2[1] = Long_fromInt(10);
    var$2[2] = Long_fromInt(100);
    var$2[3] = Long_fromInt(1000);
    var$2[4] = Long_fromInt(10000);
    var$2[5] = Long_fromInt(100000);
    var$2[6] = Long_fromInt(1000000);
    var$2[7] = Long_fromInt(10000000);
    var$2[8] = Long_fromInt(100000000);
    var$2[9] = Long_fromInt(1000000000);
    var$2[10] = new Long(1410065408, 2);
    var$2[11] = new Long(1215752192, 23);
    var$2[12] = new Long(3567587328, 232);
    var$2[13] = new Long(1316134912, 2328);
    var$2[14] = new Long(276447232, 23283);
    var$2[15] = new Long(2764472320, 232830);
    var$2[16] = new Long(1874919424, 2328306);
    var$2[17] = new Long(1569325056, 23283064);
    var$2[18] = new Long(2808348672, 232830643);
    jt_DecimalFormat_POW10_ARRAY = var$1;
    var$1 = $rt_createIntArray(10);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 10;
    var$2[2] = 100;
    var$2[3] = 1000;
    var$2[4] = 10000;
    var$2[5] = 100000;
    var$2[6] = 1000000;
    var$2[7] = 10000000;
    var$2[8] = 100000000;
    var$2[9] = 1000000000;
    jt_DecimalFormat_POW10_INT_ARRAY = var$1;
    var$1 = $rt_createDoubleArray(9);
    var$2 = var$1.data;
    var$2[0] = 10.0;
    var$2[1] = 100.0;
    var$2[2] = 10000.0;
    var$2[3] = 1.0E8;
    var$2[4] = 1.0E16;
    var$2[5] = 1.0E32;
    var$2[6] = 1.0E64;
    var$2[7] = 1.0E128;
    var$2[8] = 1.0E256;
    jt_DecimalFormat_POW10_FRAC_ARRAY = var$1;
    var$1 = $rt_createDoubleArray(9);
    var$2 = var$1.data;
    var$2[0] = 0.1;
    var$2[1] = 0.01;
    var$2[2] = 1.0E-4;
    var$2[3] = 1.0E-8;
    var$2[4] = 1.0E-16;
    var$2[5] = 1.0E-32;
    var$2[6] = 1.0E-64;
    var$2[7] = 1.0E-128;
    var$2[8] = 1.0E-256;
    jt_DecimalFormat_POWM10_FRAC_ARRAY = var$1;
}
function nms_ProfilerResult() {
    var a = this; jl_Object.call(a);
    a.$field_76332_a = 0.0;
    a.$field_76330_b = 0.0;
    a.$field_76331_c = null;
}
function nms_ProfilerResult__init_(var_0, var_1, var_2) {
    var var_3 = new nms_ProfilerResult();
    nms_ProfilerResult__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_ProfilerResult__init_0($this, $par1Str, $par2, $par4) {
    $this.$field_76331_c = $par1Str;
    $this.$field_76332_a = $par2;
    $this.$field_76330_b = $par4;
}
function nms_ProfilerResult_func_76328_a($this, $par1ProfilerResult) {
    return $par1ProfilerResult.$field_76332_a < $this.$field_76332_a ? (-1) : $par1ProfilerResult.$field_76332_a > $this.$field_76332_a ? 1 : jl_String_compareTo($par1ProfilerResult.$field_76331_c, $this.$field_76331_c);
}
function nms_ProfilerResult_func_76329_a($this) {
    return (jl_String_hashCode($this.$field_76331_c) & 11184810) + 4473924 | 0;
}
function nms_ProfilerResult_compareTo($this, $par1Obj) {
    return nms_ProfilerResult_func_76328_a($this, $par1Obj);
}
function nms_MathHelper() {
    jl_Object.call(this);
}
var nms_MathHelper_SIN_TABLE = null;
function nms_MathHelper__init_0() {
    var var_0 = new nms_MathHelper();
    nms_MathHelper__init_(var_0);
    return var_0;
}
function nms_MathHelper__init_($this) {
    return;
}
function nms_MathHelper_sin($par0) {
    return nms_MathHelper_SIN_TABLE.data[($par0 * 10430.3779296875 | 0) & 65535];
}
function nms_MathHelper_cos($par0) {
    return nms_MathHelper_SIN_TABLE.data[($par0 * 10430.3779296875 + 16384.0 | 0) & 65535];
}
function nms_MathHelper_sqrt_float($par0) {
    return jl_Math_sqrt($par0);
}
function nms_MathHelper_sqrt_double($par0) {
    return jl_Math_sqrt($par0);
}
function nms_MathHelper_floor_float($par0) {
    var $var1;
    $var1 = $par0 | 0;
    if ($par0 < $var1)
        $var1 = $var1 - 1 | 0;
    return $var1;
}
function nms_MathHelper_truncateDoubleToInt($par0) {
    return ($par0 + 1024.0 | 0) - 1024 | 0;
}
function nms_MathHelper_floor_double($par0) {
    var $var2;
    $var2 = $par0 | 0;
    if ($par0 < $var2)
        $var2 = $var2 - 1 | 0;
    return $var2;
}
function nms_MathHelper_abs($par0) {
    if ($par0 < 0.0)
        $par0 =  -$par0;
    return $par0;
}
function nms_MathHelper_abs_int($par0) {
    if ($par0 < 0)
        $par0 =  -$par0;
    return $par0;
}
function nms_MathHelper_ceiling_float_int($par0) {
    var $var1;
    $var1 = $par0 | 0;
    if ($par0 > $var1)
        $var1 = $var1 + 1 | 0;
    return $var1;
}
function nms_MathHelper_ceiling_double_int($par0) {
    var $var2;
    $var2 = $par0 | 0;
    if ($par0 > $var2)
        $var2 = $var2 + 1 | 0;
    return $var2;
}
function nms_MathHelper_clamp_int($par0, $par1, $par2) {
    if ($par0 >= $par1)
        $par1 = $par0 <= $par2 ? $par0 : $par2;
    return $par1;
}
function nms_MathHelper_clamp_float($par0, $par1, $par2) {
    if ($par0 >= $par1)
        $par1 = $par0 <= $par2 ? $par0 : $par2;
    return $par1;
}
function nms_MathHelper_bucketInt($par0, $par1) {
    return $par0 >= 0 ? $par0 / $par1 | 0 :  -(( -$par0 - 1 | 0) / $par1 | 0) - 1 | 0;
}
function nms_MathHelper_getRandomIntegerInRange($par0Random, $par1, $par2) {
    if ($par1 < $par2)
        $par1 = nle_EaglercraftRandom_nextInt($par0Random, ($par2 - $par1 | 0) + 1 | 0) + $par1 | 0;
    return $par1;
}
function nms_MathHelper_getRandomDoubleInRange($par0Random, $par1, $par3) {
    if ($par1 < $par3)
        $par1 = nle_EaglercraftRandom_nextDouble($par0Random) * ($par3 - $par1) + $par1;
    return $par1;
}
function nms_MathHelper_wrapAngleTo180_float($par0) {
    $par0 = $par0 % 360.0;
    if ($par0 >= 180.0)
        $par0 = $par0 - 360.0;
    if ($par0 < (-180.0))
        $par0 = $par0 + 360.0;
    return $par0;
}
function nms_MathHelper_wrapAngleTo180_double($par0) {
    $par0 = $par0 % 360.0;
    if ($par0 >= 180.0)
        $par0 = $par0 - 360.0;
    if ($par0 < (-180.0))
        $par0 = $par0 + 360.0;
    return $par0;
}
function nms_MathHelper__clinit_() {
    var $var0;
    nms_MathHelper_SIN_TABLE = $rt_createFloatArray(65536);
    $var0 = 0;
    while ($var0 < 65536) {
        nms_MathHelper_SIN_TABLE.data[$var0] = jl_Math_sin($var0 * 3.141592653589793 * 2.0 / 65536.0);
        $var0 = $var0 + 1 | 0;
    }
}
function nms_GuiAchievement() {
    var a = this; nms_Gui.call(a);
    a.$theGame = null;
    a.$achievementWindowWidth = 0;
    a.$achievementWindowHeight = 0;
    a.$achievementGetLocalText = null;
    a.$achievementStatName = null;
    a.$theAchievement = null;
    a.$achievementTime = Long_ZERO;
    a.$itemRender = null;
    a.$haveAchiement = 0;
}
var nms_GuiAchievement_bg = null;
function nms_GuiAchievement_queueTakenAchievement($this, $par1Achievement) {
    $this.$achievementGetLocalText = nms_StatCollector_translateToLocal($rt_s(1058));
    $this.$achievementStatName = nms_StatCollector_translateToLocal($par1Achievement.$statName);
    $this.$achievementTime = jl_System_currentTimeMillis();
    $this.$theAchievement = $par1Achievement;
    $this.$haveAchiement = 0;
}
function nms_GuiAchievement_updateAchievementWindow($this) {
    var $var1, var$2, $var3, $var5, $var6, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($this.$theAchievement !== null && Long_ne($this.$achievementTime, Long_ZERO)) {
                $var1 = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $this.$achievementTime)) / 3000.0;
                if ($this.$haveAchiement)
                    break a;
                if ($var1 >= 0.0 && $var1 <= 1.0)
                    break a;
                $this.$achievementTime = Long_ZERO;
            }
            return;
        }
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$theGame.$displayWidth, $this.$theGame.$displayHeight);
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        $this.$achievementWindowWidth = $this.$theGame.$displayWidth;
        $this.$achievementWindowHeight = $this.$theGame.$displayHeight;
        var$2 = nms_ScaledResolution__init_($this.$theGame.$gameSettings, $this.$theGame.$displayWidth, $this.$theGame.$displayHeight);
        $this.$achievementWindowWidth = var$2.$scaledWidth;
        $this.$achievementWindowHeight = var$2.$scaledHeight;
        nleg_EaglerAdapterGL30_glClear(256);
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glOrtho(0.0, $this.$achievementWindowWidth, $this.$achievementWindowHeight, 0.0, 1000.0, 3000.0);
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-2000.0));
        nleg_EaglerAdapterGL30_glDisable(2929);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        $var3 = $var1 * 2.0;
        if ($var3 > 1.0)
            $var3 = 2.0 - $var3;
        $var1 = 1.0 - $var3 * 4.0;
        if ($var1 < 0.0)
            $var1 = 0.0;
        $var1 = $var1 * $var1;
        $var3 = $var1 * $var1;
        $var5 = $this.$achievementWindowWidth - 160 | 0;
        $var6 = 0 - ($var3 * 36.0 | 0) | 0;
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glEnable(3553);
        var$2 = nms_GuiAchievement_bg;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(2896);
        nms_Gui_drawTexturedModalRect($this, $var5, $var6, 96, 202, 160, 32);
        if (!$this.$haveAchiement) {
            var$2 = $this.$theGame.$fontRenderer;
            var$6 = $this.$achievementGetLocalText;
            var$7 = $var5 + 30 | 0;
            var$8 = $var6 + 7 | 0;
            var$9 = (-256);
            $ptr = 2;
            continue main;
        }
        var$2 = $this.$theGame.$fontRenderer;
        var$6 = $this.$achievementStatName;
        var$7 = $var5 + 30 | 0;
        var$9 = $var6 + 7 | 0;
        var$8 = 120;
        var$10 = (-1);
        $ptr = 4;
        continue main;
    case 2:
        nms_FontRenderer_drawString(var$2, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $this.$theGame.$fontRenderer;
        var$6 = $this.$achievementStatName;
        var$9 = $var6 + 18 | 0;
        var$8 = (-1);
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawString(var$2, var$6, var$7, var$9, var$8);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderHelper_enableGUIStandardItemLighting2();
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glEnable(2903);
        var$2 = $this.$itemRender;
        var$6 = $this.$theGame.$fontRenderer;
        var$11 = $this.$theGame.$renderEngine;
        var$12 = $this.$theAchievement.$theItemStack;
        var$7 = $var5 + 8 | 0;
        var$9 = $var6 + 8 | 0;
        $ptr = 5;
        continue main;
    case 4:
        nms_FontRenderer_drawSplitString(var$2, var$6, var$7, var$9, var$8, var$10);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderHelper_enableGUIStandardItemLighting2();
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glEnable(2903);
        var$2 = $this.$itemRender;
        var$6 = $this.$theGame.$fontRenderer;
        var$11 = $this.$theGame.$renderEngine;
        var$12 = $this.$theAchievement.$theItemStack;
        var$7 = $var5 + 8 | 0;
        var$9 = $var6 + 8 | 0;
        $ptr = 5;
    case 5:
        nms_RenderItem_renderItemAndEffectIntoGUI(var$2, var$6, var$11, var$12, var$7, var$9);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderHelper_disableStandardItemLighting();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glEnable(2929);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, var$2, $var3, $var5, $var6, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
}
function nms_GuiAchievement__clinit_() {
    nms_GuiAchievement_bg = nle_TextureLocation__init_($rt_s(1059));
}
function nms_ScaledResolution() {
    var a = this; jl_Object.call(a);
    a.$scaledWidth = 0;
    a.$scaledHeight = 0;
    a.$scaledWidthD = 0.0;
    a.$scaledHeightD = 0.0;
    a.$scaleFactor = 0;
}
function nms_ScaledResolution__init_(var_0, var_1, var_2) {
    var var_3 = new nms_ScaledResolution();
    nms_ScaledResolution__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_ScaledResolution__init_0($this, $par1GameSettings, $par2, $par3) {
    var $var4;
    $this.$scaledWidth = $par2;
    $this.$scaledHeight = $par3;
    $this.$scaleFactor = 1;
    $var4 = $par1GameSettings.$guiScale;
    if (!$var4)
        $var4 = 1000;
    while ($this.$scaleFactor < $var4 && ($this.$scaledWidth / ($this.$scaleFactor + 1 | 0) | 0) >= 320 && ($this.$scaledHeight / ($this.$scaleFactor + 1 | 0) | 0) >= 240) {
        $this.$scaleFactor = $this.$scaleFactor + 1 | 0;
    }
    $this.$scaledWidthD = $this.$scaledWidth / $this.$scaleFactor;
    $this.$scaledHeightD = $this.$scaledHeight / $this.$scaleFactor;
    $this.$scaledWidth = nms_MathHelper_ceiling_double_int($this.$scaledWidthD);
    $this.$scaledHeight = nms_MathHelper_ceiling_double_int($this.$scaledHeightD);
}
function nms_ScaledResolution_getScaledWidth($this) {
    return $this.$scaledWidth;
}
function nms_ScaledResolution_getScaledHeight($this) {
    return $this.$scaledHeight;
}
function nms_ScaledResolution_getScaleFactor($this) {
    return $this.$scaleFactor;
}
function nms_GuiMainMenu() {
    var a = this; nms_GuiScreen.call(a);
    a.$splashText = null;
    a.$start7 = Long_ZERO;
    a.$field_96141_q = 0;
    a.$field_104025_t = null;
    a.$field_92025_p = null;
    a.$field_92024_r = 0;
    a.$field_92023_s = 0;
    a.$field_92022_t = 0;
    a.$field_92021_u = 0;
    a.$field_92020_v = 0;
    a.$field_92019_w = 0;
    a.$scrollPosition = 0;
    a.$dragstart = 0;
    a.$dragstartI = 0;
    a.$ackLines = null;
    a.$showAck = 0;
    a.$mousex0 = 0;
    a.$mousey0 = 0;
}
var nms_GuiMainMenu_rand = null;
var nms_GuiMainMenu_viewportTexture = 0;
var nms_GuiMainMenu_field_96140_r = 0;
var nms_GuiMainMenu_field_96139_s = 0;
var nms_GuiMainMenu_titlePanoramaPaths = null;
var nms_GuiMainMenu_mclogo = null;
var nms_GuiMainMenu_ackbk = null;
var nms_GuiMainMenu_beaconx = null;
var nms_GuiMainMenu_items = null;
function nms_GuiMainMenu_$callClinit() {
    nms_GuiMainMenu_$callClinit = $rt_eraseClinit(nms_GuiMainMenu);
    nms_GuiMainMenu__clinit_();
}
function nms_GuiMainMenu__init_0() {
    var var_0 = new nms_GuiMainMenu();
    nms_GuiMainMenu__init_(var_0);
    return var_0;
}
function nms_GuiMainMenu__init_($this) {
    nms_GuiMainMenu_$callClinit();
    nms_GuiScreen__init_($this);
    $this.$splashText = $rt_s(1060);
    $this.$field_96141_q = 1;
    $this.$field_104025_t = new jl_Object;
    $this.$scrollPosition = 0;
    $this.$dragstart = (-1);
    $this.$dragstartI = (-1);
    $this.$showAck = 0;
    $this.$mousex0 = 0;
    $this.$mousey0 = 0;
    $this.$field_92025_p = !nlea_EaglerAdapterImpl2__wisWebGL() ? $rt_s(1061) : $rt_s(1062);
    $this.$start7 = Long_add(jl_System_currentTimeMillis(), Long_rem(jl_System_currentTimeMillis(), Long_fromInt(10000)));
    $this.$ackLines = ju_ArrayList__init_0();
    if (!nms_NBTTagCompound_getBoolean(nle_LocalStorageManager_gameSettingsStorage, $rt_s(1063)))
        $this.$showAck = 1;
}
function nms_GuiMainMenu_handleMouseInput($this) {
    var $var1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_handleMouseInput($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$showAck) {
            $var1 = nlea_EaglerAdapterImpl2_mouseGetEventDWheel();
            if ($var1 < 0)
                $this.$scrollPosition = $this.$scrollPosition + 3 | 0;
            if ($var1 > 0)
                $this.$scrollPosition = $this.$scrollPosition - 3 | 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $ptr);
}
function nms_GuiMainMenu_keyTyped($this, $par1, $par2) {
    if ($par2 == 1)
        nms_GuiMainMenu_hideAck($this);
}
function nms_GuiMainMenu_hideAck($this) {
    if (!nms_NBTTagCompound_getBoolean(nle_LocalStorageManager_gameSettingsStorage, $rt_s(1063))) {
        nms_NBTTagCompound_setBoolean(nle_LocalStorageManager_gameSettingsStorage, $rt_s(1063), 1);
        nle_LocalStorageManager_saveStorageG();
    }
    $this.$showAck = 0;
}
function nms_GuiMainMenu_initGui($this) {
    var $var2, $var4, $file, $s, $width, $var1, $var6, $i, $lines, $s2, $words, $currentLine, var$13, $s3, $cCurrentLine, $$je;
    if (nms_GuiMainMenu_viewportTexture == (-1))
        nms_GuiMainMenu_viewportTexture = nms_RenderEngine_makeViewportTexture($this.$mc2.$renderEngine, 256, 256);
    ju_Calendar_setTime(ju_Calendar_getInstance(), ju_Date__init_0());
    $this.$splashText = $rt_s(1064);
    $var2 = nms_StringTranslate_instance;
    $var4 = ($this.$height / 4 | 0) + 48 | 0;
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(2, ($this.$width / 2 | 0) - 100 | 0, $var4, nms_StringTranslate_translateKey($var2, $rt_s(1065))));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(3, ($this.$width / 2 | 0) - 100 | 0, $var4 + 24 | 0, nms_StringTranslate_translateKey($var2, $rt_s(1066))));
    $file = $this.$buttonList;
    $s = new nms_GuiButton;
    $width = ($this.$width / 2 | 0) - 100 | 0;
    $var4 = ($var4 + 72 | 0) + 12 | 0;
    nms_GuiButton__init_1($s, 0, $width, $var4, 98, 20, nms_StringTranslate_translateKey($var2, $rt_s(1067)));
    ju_ArrayList_add($file, $s);
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(4, ($this.$width / 2 | 0) + 2 | 0, $var4, 98, 20, nms_StringTranslate_translateKey($var2, $rt_s(1068))));
    $var1 = $this.$buttonList;
    $file = new nms_GuiButtonLanguage;
    nms_GuiButton__init_1($file, 5, ($this.$width / 2 | 0) - 124 | 0, $var4, 20, 20, $rt_s(36));
    ju_ArrayList_add($var1, $file);
    $var1 = $this.$field_104025_t;
    jl_Object_monitorEnterSync($var1);
    a: {
        try {
            $this.$field_92023_s = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $this.$field_92025_p);
            $this.$field_92024_r = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $rt_s(36));
            $var6 = jl_Math_max($this.$field_92023_s, $this.$field_92024_r);
            $this.$field_92022_t = ($this.$width - $var6 | 0) / 2 | 0;
            $this.$field_92021_u = 82;
            $this.$field_92020_v = $this.$field_92022_t + $var6 | 0;
            $this.$field_92019_w = $this.$field_92021_u + 12 | 0;
            jl_Object_monitorExitSync($var1);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            $file = $$je;

        }
        jl_Object_monitorExitSync($var1);
        $rt_throw($file);
    }
    b: {
        if (ju_AbstractCollection_isEmpty($this.$ackLines)) {
            $file = nlea_EaglerAdapterImpl2_fileContents($rt_s(1069));
            if ($file === null) {
                $i = 0;
                while ($i < 30) {
                    ju_ArrayList_add($this.$ackLines, $rt_s(1070));
                    $i = $i + 1 | 0;
                }
            } else {
                $lines = jl_String_split($file, $rt_s(64)).data;
                $var6 = $lines.length;
                $var4 = 0;
                while (true) {
                    if ($var4 >= $var6)
                        break b;
                    $s2 = jl_String_trim($lines[$var4]);
                    if (jl_String_isEmpty($s2))
                        ju_ArrayList_add($this.$ackLines, $rt_s(36));
                    else {
                        $words = jl_String_split($s2, $rt_s(343)).data;
                        $currentLine = $rt_s(1071);
                        $i = $words.length;
                        var$13 = 0;
                        while (var$13 < $i) {
                            $s3 = $words[var$13];
                            $var1 = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($var1);
                            jl_AbstractStringBuilder_append($var1, $currentLine);
                            jl_AbstractStringBuilder_append($var1, $s3);
                            jl_AbstractStringBuilder_append($var1, $rt_s(343));
                            $cCurrentLine = jl_AbstractStringBuilder_toString($var1);
                            if (nms_FontRenderer_getStringWidth($this.$mc2.$fontRenderer, $cCurrentLine) >= 315) {
                                ju_ArrayList_add($this.$ackLines, $currentLine);
                                $var1 = new jl_StringBuilder;
                                jl_AbstractStringBuilder__init_($var1);
                                jl_AbstractStringBuilder_append($var1, $s3);
                                jl_AbstractStringBuilder_append($var1, $rt_s(343));
                                $cCurrentLine = jl_AbstractStringBuilder_toString($var1);
                            }
                            var$13 = var$13 + 1 | 0;
                            $currentLine = $cCurrentLine;
                        }
                        ju_ArrayList_add($this.$ackLines, $currentLine);
                    }
                    $var4 = $var4 + 1 | 0;
                }
            }
        }
    }
}
function nms_GuiMainMenu_mouseClicked($this, $par1, $par2, $par3) {
    var $x, $y, var$6, var$7, var$8, var$9, $offset, $w, $posX, $posY, $ww, $hh, $ln0w, $ln1w, $ln2w, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$ln2w = $thread.pop();$ln1w = $thread.pop();$ln0w = $thread.pop();$hh = $thread.pop();$ww = $thread.pop();$posY = $thread.pop();$posX = $thread.pop();$w = $thread.pop();$offset = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$y = $thread.pop();$x = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$showAck) {
            $ptr = 1;
            continue main;
        }
        if (!$par3) {
            $x = ($this.$width - 345 | 0) / 2 | 0;
            $y = ($this.$height - 230 | 0) / 2 | 0;
            $par3 = $x + 323 | 0;
            if ($par1 >= $par3 && $par1 <= ($par3 + 13 | 0)) {
                $par3 = $y + 7 | 0;
                if ($par2 >= $par3 && $par2 <= ($par3 + 13 | 0)) {
                    var$6 = $this.$mc2.$sndManager;
                    var$7 = $rt_s(501);
                    var$8 = 1.0;
                    var$9 = 1.0;
                    $ptr = 2;
                    continue main;
                }
            }
            $offset = (193 * $this.$scrollPosition | 0) / $this.$ackLines.$size | 0;
            if ($par1 >= ($x + 326 | 0) && $par1 <= ($x + 334 | 0)) {
                $par3 = ($y + 27 | 0) + $offset | 0;
                if ($par2 >= $par3 && $par2 <= (($par3 + (4053 / $this.$ackLines.$size | 0) | 0) + 1 | 0)) {
                    $this.$dragstart = $par2;
                    $this.$dragstartI = $this.$scrollPosition;
                }
            }
        }
        return;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        if (!$par3) {
            $w = (nms_FontRenderer_getStringWidth($this.$fontRenderer0, $rt_s(1072)) * 3 | 0) / 4 | 0;
            if ($par1 >= (($this.$width - $w | 0) - 4 | 0) && $par1 <= $this.$width && $par2 >= 0 && $par2 <= 9) {
                $this.$showAck = 1;
                return;
            }
            if (nle_ConfigConstants_mainMenuItem > 0 && nle_ConfigConstants_mainMenuItemLink !== null) {
                $posX = (($this.$width / 2 | 0) - 170 | 0) - ($this.$width / 10 | 0) | 0;
                $posY = ($this.$height / 4 | 0) + 70 | 0;
                $ww = 66;
                $hh = 46;
                $ln0w = nle_ConfigConstants_mainMenuItemLine0 === null ? 0 : nms_FontRenderer_getStringWidth($this.$fontRenderer0, nle_ConfigConstants_mainMenuItemLine0);
                if ($ww < $ln0w)
                    $ww = $ln0w;
                if ($hh < $ln0w)
                    $hh = 58;
                $ln1w = nle_ConfigConstants_mainMenuItemLine1 === null ? 0 : nms_FontRenderer_getStringWidth($this.$fontRenderer0, nle_ConfigConstants_mainMenuItemLine1);
                if ($ww < $ln1w)
                    $ww = $ln1w;
                if ($hh < $ln1w)
                    $hh = $hh + 12 | 0;
                $ln2w = nle_ConfigConstants_mainMenuItemLine2 === null ? 0 : nms_FontRenderer_getStringWidth($this.$fontRenderer0, nle_ConfigConstants_mainMenuItemLine2);
                if ($ww < $ln2w)
                    $ww = $ln2w;
                if ($hh < $ln2w)
                    $hh = $hh + 12 | 0;
                $par3 = $ww + 20 | 0;
                $w = $hh + 20 | 0;
                if ($par1 > $posX && $par1 < ($posX + (($par3 / 4 | 0) * 3 | 0) | 0) && $par2 > $posY && $par2 < ($posY + (($w / 4 | 0) * 3 | 0) | 0)) {
                    nlea_EaglerAdapterImpl2_openLink(nle_ConfigConstants_mainMenuItemLink);
                    return;
                }
            }
        }
        return;
    case 2:
        nms_SoundManager_playSoundFX(var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiMainMenu_hideAck($this);
        $offset = (193 * $this.$scrollPosition | 0) / $this.$ackLines.$size | 0;
        if ($par1 >= ($x + 326 | 0) && $par1 <= ($x + 334 | 0)) {
            $par3 = ($y + 27 | 0) + $offset | 0;
            if ($par2 >= $par3 && $par2 <= (($par3 + (4053 / $this.$ackLines.$size | 0) | 0) + 1 | 0)) {
                $this.$dragstart = $par2;
                $this.$dragstartI = $this.$scrollPosition;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $x, $y, var$6, var$7, var$8, var$9, $offset, $w, $posX, $posY, $ww, $hh, $ln0w, $ln1w, $ln2w, $ptr);
}
function nms_GuiMainMenu_actionPerformed($this, $par1GuiButton) {
    if (!$par1GuiButton.$id3)
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiOptions__init_($this, $this.$mc2.$gameSettings));
    if ($par1GuiButton.$id3 == 5)
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiLanguage__init_($this, $this.$mc2.$gameSettings));
    if ($par1GuiButton.$id3 == 2)
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiMultiplayer__init_($this));
    if ($par1GuiButton.$id3 == 3)
        nlea_EaglerAdapterImpl2_openLink($rt_s(1073));
    if ($par1GuiButton.$id3 == 4)
        nmc_Minecraft_displayGuiScreen($this.$mc2, nle_GuiScreenEditProfile__init_($this));
}
function nms_GuiMainMenu_drawPanorama($this, $par1, $par2, $par3) {
    var $var4, $panTimer, $var10, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();$var10 = $thread.pop();$panTimer = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_Tessellator_$callClinit();
        $var4 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_gluPerspective(120.0, $this.$mc2.$displayWidth / $this.$mc2.$displayHeight, 0.05000000074505806, 10.0);
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glDisable(2884);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        $panTimer = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $this.$start7)) * 0.029999999329447746;
        nleg_EaglerAdapterGL30_glRotatef(nms_MathHelper_sin($panTimer / 400.0) * 25.0 + 20.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef( -$panTimer * 0.10000000149011612, 0.0, 1.0, 0.0);
        $var10 = 0;
        if ($var10 >= 6) {
            nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 0);
            nlea_Tessellator_setTranslation($var4, 0.0, 0.0, 0.0);
            nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 1);
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glDepthMask(1);
            nleg_EaglerAdapterGL30_glEnable(2884);
            nleg_EaglerAdapterGL30_glEnable(3008);
            nleg_EaglerAdapterGL30_glEnable(2929);
            return;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        if ($var10 == 1)
            nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 1.0, 0.0);
        if ($var10 == 2)
            nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 1.0, 0.0);
        if ($var10 == 3)
            nleg_EaglerAdapterGL30_glRotatef((-90.0), 0.0, 1.0, 0.0);
        if ($var10 == 4)
            nleg_EaglerAdapterGL30_glRotatef(90.0, 1.0, 0.0, 0.0);
        if ($var10 == 5)
            nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
        var$7 = nms_GuiMainMenu_titlePanoramaPaths.data[$var10];
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$7);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_startDrawingQuads($var4);
        nlea_Tessellator_setColorRGBA_I($var4, 16777215, 255);
        nlea_Tessellator_addVertexWithUV($var4, (-1.0), (-1.0), 1.0, 0.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var4, 1.0, (-1.0), 1.0, 1.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var4, 1.0, 1.0, 1.0, 1.0, 1.0);
        nlea_Tessellator_addVertexWithUV($var4, (-1.0), 1.0, 1.0, 0.0, 1.0);
        nlea_Tessellator_draw($var4);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $var10 = $var10 + 1 | 0;
        if ($var10 >= 6) {
            nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 0);
            nlea_Tessellator_setTranslation($var4, 0.0, 0.0, 0.0);
            nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 1);
            nleg_EaglerAdapterGL30_glMatrixMode(5889);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glDepthMask(1);
            nleg_EaglerAdapterGL30_glEnable(2884);
            nleg_EaglerAdapterGL30_glEnable(3008);
            nleg_EaglerAdapterGL30_glEnable(2929);
            return;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        if ($var10 == 1)
            nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 1.0, 0.0);
        if ($var10 == 2)
            nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 1.0, 0.0);
        if ($var10 == 3)
            nleg_EaglerAdapterGL30_glRotatef((-90.0), 0.0, 1.0, 0.0);
        if ($var10 == 4)
            nleg_EaglerAdapterGL30_glRotatef(90.0, 1.0, 0.0, 0.0);
        if ($var10 == 5)
            nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
        var$7 = nms_GuiMainMenu_titlePanoramaPaths.data[$var10];
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $panTimer, $var10, var$7, $ptr);
}
function nms_GuiMainMenu_renderSkybox($this, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$mc2.$displayWidth, $this.$mc2.$displayHeight);
        $ptr = 1;
    case 1:
        nms_GuiMainMenu_drawPanorama($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $ptr);
}
function nms_GuiMainMenu_drawScreen($this, $par1, $par2, $par3) {
    var $var6, $var10, $posX, var$7, $posY, $ww, $w, $hh, $ln0w, $ln1w, $ln2w, $over, $iconSize, $i, $x, $y, $lines, $offset, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$offset = $thread.pop();$lines = $thread.pop();$y = $thread.pop();$x = $thread.pop();$i = $thread.pop();$iconSize = $thread.pop();$over = $thread.pop();$ln2w = $thread.pop();$ln1w = $thread.pop();$ln0w = $thread.pop();$hh = $thread.pop();$w = $thread.pop();$ww = $thread.pop();$posY = $thread.pop();var$7 = $thread.pop();$posX = $thread.pop();$var10 = $thread.pop();$var6 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$mousex0 = $par1;
        $this.$mousey0 = $par2;
        $ptr = 1;
    case 1:
        nms_GuiMainMenu_renderSkybox($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = ($this.$width / 2 | 0) - 137 | 0;
        $var10 = nms_GuiMainMenu_mclogo;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this, $var6 + 0 | 0, 30, 0, 0, 99, 44);
        $posX = $var6 + 99 | 0;
        nms_Gui_drawTexturedModalRect($this, $posX, 30, 129, 0, 27, 44);
        $posX = $posX + 26 | 0;
        nms_Gui_drawTexturedModalRect($this, $posX, 30, 126, 0, 3, 44);
        nms_Gui_drawTexturedModalRect($this, $posX + 3 | 0, 30, 99, 0, 26, 44);
        nms_Gui_drawTexturedModalRect($this, $var6 + 154 | 0, 30, 0, 45, 155, 44);
        $var10 = $this.$fontRenderer0;
        var$7 = $rt_s(1074);
        $posX = 2;
        $posY = $this.$height - 20 | 0;
        $ww = 16777215;
        $ptr = 3;
    case 3:
        nms_Gui_drawString($this, $var10, var$7, $posX, $posY, $ww);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $this.$fontRenderer0;
        var$7 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append9(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1075)), nms_EnumChatFormatting_GRAY), $rt_s(1076)));
        $posX = 2;
        $posY = $this.$height - 10 | 0;
        $ww = 16777215;
        $ptr = 4;
    case 4:
        nms_Gui_drawString($this, $var10, var$7, $posX, $posY, $ww);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $rt_s(1077);
        var$7 = $this.$fontRenderer0;
        $posX = ($this.$width - nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var10) | 0) - 2 | 0;
        $posY = $this.$height - 10 | 0;
        $ww = 16777215;
        $ptr = 5;
    case 5:
        nms_Gui_drawString($this, var$7, $var10, $posX, $posY, $ww);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $rt_s(1078);
        var$7 = $this.$fontRenderer0;
        $posX = ($this.$width - nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var10) | 0) - 2 | 0;
        $posY = $this.$height - 20 | 0;
        $ww = 16777215;
        $ptr = 6;
    case 6:
        nms_Gui_drawString($this, var$7, $var10, $posX, $posY, $ww);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$field_92025_p !== null && jl_String_length($this.$field_92025_p) > 0) {
            nms_Gui_drawRect($this.$field_92022_t - 2 | 0, $this.$field_92021_u - 2 | 0, $this.$field_92020_v + 2 | 0, $this.$field_92019_w - 1 | 0, 1428160512);
            $var10 = $this.$fontRenderer0;
            var$7 = $this.$field_92025_p;
            $posX = $this.$field_92022_t;
            $posY = $this.$field_92021_u;
            $ww = 16777215;
            $ptr = 7;
            continue main;
        }
        var$7 = $rt_s(1079);
        $w = (nms_FontRenderer_getStringWidth($this.$fontRenderer0, var$7) * 3 | 0) / 4 | 0;
        if (!$this.$showAck && $par1 >= (($this.$width - $w | 0) - 4 | 0) && $par1 <= $this.$width && $par2 >= 0 && $par2 <= 9)
            nms_Gui_drawRect(($this.$width - $w | 0) - 4 | 0, 0, $this.$width, 9, 1426063513);
        else
            nms_Gui_drawRect(($this.$width - $w | 0) - 4 | 0, 0, $this.$width, 9, 1428160512);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(($this.$width - $w | 0) - 2 | 0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        $var10 = $this.$fontRenderer0;
        $posX = 0;
        $posY = 0;
        $ww = 16777215;
        $ptr = 8;
        continue main;
    case 7:
        nms_Gui_drawString($this, $var10, var$7, $posX, $posY, $ww);
        if ($rt_suspending()) {
            break main;
        }
        var$7 = $rt_s(1079);
        $w = (nms_FontRenderer_getStringWidth($this.$fontRenderer0, var$7) * 3 | 0) / 4 | 0;
        if (!$this.$showAck && $par1 >= (($this.$width - $w | 0) - 4 | 0) && $par1 <= $this.$width && $par2 >= 0 && $par2 <= 9)
            nms_Gui_drawRect(($this.$width - $w | 0) - 4 | 0, 0, $this.$width, 9, 1426063513);
        else
            nms_Gui_drawRect(($this.$width - $w | 0) - 4 | 0, 0, $this.$width, 9, 1428160512);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(($this.$width - $w | 0) - 2 | 0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        $var10 = $this.$fontRenderer0;
        $posX = 0;
        $posY = 0;
        $ww = 16777215;
        $ptr = 8;
    case 8:
        nms_Gui_drawString($this, $var10, var$7, $posX, $posY, $ww);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if (nle_ConfigConstants_mainMenuItem > 0 && nle_ConfigConstants_mainMenuItemLink !== null) {
            $posX = (($this.$width / 2 | 0) - 170 | 0) - ($this.$width / 10 | 0) | 0;
            $posY = ($this.$height / 4 | 0) + 70 | 0;
            $ww = 66;
            $hh = 46;
            $ln0w = nle_ConfigConstants_mainMenuItemLine0 === null ? 0 : nms_FontRenderer_getStringWidth($this.$fontRenderer0, nle_ConfigConstants_mainMenuItemLine0);
            if ($ww < $ln0w)
                $ww = $ln0w;
            if ($hh < $ln0w)
                $hh = 58;
            $ln1w = nle_ConfigConstants_mainMenuItemLine1 === null ? 0 : nms_FontRenderer_getStringWidth($this.$fontRenderer0, nle_ConfigConstants_mainMenuItemLine1);
            if ($ww < $ln1w)
                $ww = $ln1w;
            if ($hh < $ln1w)
                $hh = $hh + 12 | 0;
            $ln2w = nle_ConfigConstants_mainMenuItemLine2 === null ? 0 : nms_FontRenderer_getStringWidth($this.$fontRenderer0, nle_ConfigConstants_mainMenuItemLine2);
            if ($ww < $ln2w)
                $ww = $ln2w;
            if ($hh < $ln2w)
                $hh = $hh + 12 | 0;
            $ww = $ww + 20 | 0;
            $hh = $hh + 20 | 0;
            $over = $par1 > $posX && $par1 < ($posX + (($ww / 4 | 0) * 3 | 0) | 0) && $par2 > $posY && $par2 < ($posY + (($hh / 4 | 0) * 3 | 0) | 0) ? 1 : 0;
            $iconSize = 45;
            if (!$over) {
                nleg_EaglerAdapterGL30_glEnable(3042);
                nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                nleg_EaglerAdapterGL30_glColor4f(0.8999999761581421, 0.8999999761581421, 0.8999999761581421, nms_MathHelper_sin(Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(1000000))) / 300.0) * 0.17000000178813934 + 0.5);
                $var10 = nms_GuiMainMenu_items;
                $ptr = 14;
                continue main;
            }
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glTranslatef($posX, $posY, 0.0);
            nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
            nms_Gui_drawRect(0, 0, $ww, $hh, 1140850722);
            $var6 = $ww - 3 | 0;
            nms_Gui_drawRect(3, 3, $var6, 4, (-1717986919));
            $posY = $hh - 4 | 0;
            nms_Gui_drawRect(3, $posY, $var6, $hh - 3 | 0, (-1717986919));
            nms_Gui_drawRect(3, 4, 4, $posY, (-1717986919));
            nms_Gui_drawRect($ww - 4 | 0, 4, $var6, $posY, (-1717986919));
            $i = 10;
            if ($ln0w <= 0) {
                $var10 = nms_GuiMainMenu_items;
                $ptr = 16;
                continue main;
            }
            $var10 = $this.$fontRenderer0;
            var$7 = nle_ConfigConstants_mainMenuItemLine0;
            $posX = ($ww - $ln0w | 0) / 2 | 0;
            $posY = 16777113;
            $ptr = 15;
            continue main;
        }
        if (!$this.$showAck) {
            $ptr = 9;
            continue main;
        }
        $par1 = 0;
        $par2 = 0;
        $ptr = 10;
        continue main;
    case 9:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 10:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawGradientRect($this, 0, 0, $this.$width, $this.$height, (-1072689136), (-804253680));
        $x = ($this.$width - 345 | 0) / 2 | 0;
        $y = ($this.$height - 230 | 0) / 2 | 0;
        $var10 = nms_GuiMainMenu_ackbk;
        $ptr = 11;
    case 11:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($x, $y, 0.0);
        nleg_EaglerAdapterGL30_glScalef(1.3899999856948853, 1.3899999856948853, 1.3899999856948853);
        nms_Gui_drawTexturedModalRect($this, 0, 0, 0, 0, 248, 166);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $var10 = nms_GuiMainMenu_beaconx;
        $ptr = 12;
    case 12:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this, $x + 323 | 0, $y + 7 | 0, 114, 223, 13, 13);
        $lines = ju_ArrayList_size($this.$ackLines);
        if ($this.$scrollPosition < 0)
            $this.$scrollPosition = 0;
        if (($this.$scrollPosition + 21 | 0) > $lines)
            $this.$scrollPosition = $lines - 21 | 0;
        $i = 0;
        $par2 = $x + 10 | 0;
        $posX = $y + 10 | 0;
        if ($i >= 21) {
            $offset = (193 * $this.$scrollPosition | 0) / $lines | 0;
            $par1 = $x + 326 | 0;
            $par2 = $y + 27 | 0;
            $posX = $x + 334 | 0;
            nms_Gui_drawRect($par1, $par2, $posX, $y + 220 | 0, 855638048);
            nms_Gui_drawRect($par1, $par2 + $offset | 0, $posX, (($par2 + (4053 / $lines | 0) | 0) + $offset | 0) + 1 | 0, 1711276032);
            return;
        }
        $var10 = $this.$fontRenderer0;
        var$7 = ju_ArrayList_get($this.$ackLines, $this.$scrollPosition + $i | 0);
        $par1 = $posX + ($i * 10 | 0) | 0;
        $posY = 4210784;
        $ptr = 13;
    case 13:
        nms_FontRenderer_drawString($var10, var$7, $par2, $par1, $posY);
        if ($rt_suspending()) {
            break main;
        }
        $i = $i + 1 | 0;
        if ($i >= 21) {
            $offset = (193 * $this.$scrollPosition | 0) / $lines | 0;
            $par1 = $x + 326 | 0;
            $par2 = $y + 27 | 0;
            $posX = $x + 334 | 0;
            nms_Gui_drawRect($par1, $par2, $posX, $y + 220 | 0, 855638048);
            nms_Gui_drawRect($par1, $par2 + $offset | 0, $posX, (($par2 + (4053 / $lines | 0) | 0) + $offset | 0) + 1 | 0, 1711276032);
            return;
        }
        $var10 = $this.$fontRenderer0;
        var$7 = ju_ArrayList_get($this.$ackLines, $this.$scrollPosition + $i | 0);
        $par1 = $posX + ($i * 10 | 0) | 0;
        $posY = 4210784;
        continue main;
    case 14:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($posX, $posY, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        $posX = ($ww - $iconSize | 0) / 2 | 0;
        $posY = $ln0w <= 0 ? 10 : 22;
        nms_Item_$callClinit();
        nms_Gui_drawTexturedModelRectFromIcon($this, $posX, $posY, nms_Item_itemsList.data[nle_ConfigConstants_mainMenuItem].$getIconFromDamage(0), $iconSize, $iconSize);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        if (!$this.$showAck) {
            $ptr = 9;
            continue main;
        }
        $par1 = 0;
        $par2 = 0;
        $ptr = 10;
        continue main;
    case 15:
        nms_Gui_drawString($this, $var10, var$7, $posX, $i, $posY);
        if ($rt_suspending()) {
            break main;
        }
        $i = 22;
        $var10 = nms_GuiMainMenu_items;
        $ptr = 16;
    case 16:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $posX = ($ww - $iconSize | 0) / 2 | 0;
        nms_Item_$callClinit();
        nms_Gui_drawTexturedModelRectFromIcon($this, $posX, $i, nms_Item_itemsList.data[nle_ConfigConstants_mainMenuItem].$getIconFromDamage(0), $iconSize, $iconSize);
        $posX = $i + 50 | 0;
        if ($ln1w > 0) {
            $var10 = $this.$fontRenderer0;
            var$7 = nle_ConfigConstants_mainMenuItemLine1;
            $posY = ($ww - $ln1w | 0) / 2 | 0;
            $hh = 16777113;
            $ptr = 17;
            continue main;
        }
        if ($ln2w > 0) {
            $var10 = $this.$fontRenderer0;
            var$7 = nle_ConfigConstants_mainMenuItemLine2;
            $posY = ($ww - $ln2w | 0) / 2 | 0;
            $ww = 14540253;
            $ptr = 18;
            continue main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if (!$this.$showAck) {
            $ptr = 9;
            continue main;
        }
        $par1 = 0;
        $par2 = 0;
        $ptr = 10;
        continue main;
    case 17:
        nms_Gui_drawString($this, $var10, var$7, $posY, $posX, $hh);
        if ($rt_suspending()) {
            break main;
        }
        $posX = $posX + 12 | 0;
        if ($ln2w > 0) {
            $var10 = $this.$fontRenderer0;
            var$7 = nle_ConfigConstants_mainMenuItemLine2;
            $posY = ($ww - $ln2w | 0) / 2 | 0;
            $ww = 14540253;
            $ptr = 18;
            continue main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if (!$this.$showAck) {
            $ptr = 9;
            continue main;
        }
        $par1 = 0;
        $par2 = 0;
        $ptr = 10;
        continue main;
    case 18:
        nms_Gui_drawString($this, $var10, var$7, $posY, $posX, $ww);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if (!$this.$showAck) {
            $ptr = 9;
            continue main;
        }
        $par1 = 0;
        $par2 = 0;
        $ptr = 10;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var6, $var10, $posX, var$7, $posY, $ww, $w, $hh, $ln0w, $ln1w, $ln2w, $over, $iconSize, $i, $x, $y, $lines, $offset, $ptr);
}
function nms_GuiMainMenu_updateScreen($this) {
    if (nlea_EaglerAdapterImpl2_mouseIsButtonDown(0) && $this.$dragstart > 0) {
        $this.$scrollPosition = ($rt_imul($this.$mousey0 - $this.$dragstart | 0, $this.$ackLines.$size) / 193 | 0) + $this.$dragstartI | 0;
        if ($this.$scrollPosition < 0)
            $this.$scrollPosition = 0;
        if (($this.$scrollPosition + 21 | 0) > $this.$ackLines.$size)
            $this.$scrollPosition = $this.$ackLines.$size - 21 | 0;
    } else
        $this.$dragstart = (-1);
}
function nms_GuiMainMenu__clinit_() {
    var var$1, var$2;
    nms_GuiMainMenu_rand = nle_EaglercraftRandom__init_0();
    nms_GuiMainMenu_viewportTexture = (-1);
    nms_GuiMainMenu_field_96140_r = 0;
    nms_GuiMainMenu_field_96139_s = 0;
    var$1 = $rt_createArray(nle_TextureLocation, 6);
    var$2 = var$1.data;
    var$2[0] = nle_TextureLocation__init_($rt_s(1080));
    var$2[1] = nle_TextureLocation__init_($rt_s(1081));
    var$2[2] = nle_TextureLocation__init_($rt_s(1082));
    var$2[3] = nle_TextureLocation__init_($rt_s(1083));
    var$2[4] = nle_TextureLocation__init_($rt_s(1084));
    var$2[5] = nle_TextureLocation__init_($rt_s(1085));
    nms_GuiMainMenu_titlePanoramaPaths = var$1;
    nms_GuiMainMenu_mclogo = nle_TextureLocation__init_($rt_s(1086));
    nms_GuiMainMenu_ackbk = nle_TextureLocation__init_($rt_s(1087));
    nms_GuiMainMenu_beaconx = nle_TextureLocation__init_($rt_s(1088));
    nms_GuiMainMenu_items = nle_TextureLocation__init_($rt_s(992));
}
function ju_Date() {
    jl_Object.call(this);
    this.$value2 = Long_ZERO;
}
function ju_Date__init_0() {
    var var_0 = new ju_Date();
    ju_Date__init_(var_0);
    return var_0;
}
function ju_Date__init_($this) {
    $this.$value2 = jl_System_currentTimeMillis();
}
function ju_Date_getTime($this) {
    return $this.$value2;
}
function ju_Date__clinit_() {
    return;
}
function jn_CharBufferImpl() {
    jn_CharBuffer.call(this);
}
function jn_CharBufferImpl_compact($this) {
    var var$1, $sz, $src, $i, var$5;
    if (jn_CharBufferImpl_isReadOnly($this)) {
        var$1 = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    a: {
        $sz = jn_Buffer_remaining($this);
        if ($this.$position > 0) {
            $src = $this.$position;
            $i = 0;
            while (true) {
                if ($i >= $sz)
                    break a;
                var$5 = $src + 1 | 0;
                jn_CharBufferOverArray_putChar($this, $i, jn_CharBufferOverArray_getChar($this, $src));
                $i = $i + 1 | 0;
                $src = var$5;
            }
        }
    }
    $this.$position = $sz;
    $this.$limit = $this.$capacity;
    $this.$mark1 = (-1);
    return $this;
}
function jn_CharBufferImpl_isReadOnly($this) {
    return $this.$readOnly3;
}
function jn_CharBufferOverArray() {
    var a = this; jn_CharBufferImpl.call(a);
    a.$readOnly3 = 0;
    a.$start8 = 0;
    a.$array5 = null;
}
function jn_CharBufferOverArray__init_(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new jn_CharBufferOverArray();
    jn_CharBufferOverArray__init_0(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
}
function jn_CharBufferOverArray__init_0($this, $start, $capacity, $array, $position, $limit, $readOnly) {
    jn_Buffer__init_0($this, $capacity);
    $this.$position = $position;
    $this.$limit = $limit;
    $this.$start8 = $start;
    $this.$readOnly3 = $readOnly;
    $this.$array5 = $array;
}
function jn_CharBufferOverArray_getChar($this, $index) {
    return $this.$array5.data[$index + $this.$start8 | 0];
}
function jn_CharBufferOverArray_putChar($this, $index, $value) {
    $this.$array5.data[$index + $this.$start8 | 0] = $value;
}
function jn_CharBufferOverArray_isArrayPresent($this) {
    return 1;
}
function jn_CharBufferOverArray_getArray($this) {
    return $this.$array5;
}
function jn_CharBufferOverArray_readOnly($this) {
    return $this.$readOnly3;
}
function jnc_CharsetEncoder() {
    var a = this; jl_Object.call(a);
    a.$charset1 = null;
    a.$replacement0 = null;
    a.$averageBytesPerChar = 0.0;
    a.$maxBytesPerChar = 0.0;
    a.$malformedAction0 = null;
    a.$unmappableAction0 = null;
    a.$status = 0;
}
function jnc_CharsetEncoder_onMalformedInput($this, $newAction) {
    var var$2;
    if ($newAction !== null) {
        $this.$malformedAction0 = $newAction;
        return $this;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(1089));
    $rt_throw(var$2);
}
function jnc_CharsetEncoder_implOnMalformedInput($this, $newAction) {
    return;
}
function jnc_CharsetEncoder_onUnmappableCharacter($this, $newAction) {
    var var$2;
    if ($newAction !== null) {
        $this.$unmappableAction0 = $newAction;
        return $this;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(1089));
    $rt_throw(var$2);
}
function jnc_CharsetEncoder_implOnUnmappableCharacter($this, $newAction) {
    return;
}
function jnc_CharsetEncoder_encode0($this, $in, $out, $endOfInput) {
    var $result, $e, $remaining, $action, $$je;
    a: {
        if ($this.$status != 3) {
            if ($endOfInput)
                break a;
            if ($this.$status != 2)
                break a;
        }
        $in = new jl_IllegalStateException;
        jl_Throwable__init_0($in);
        $rt_throw($in);
    }
    $this.$status = !$endOfInput ? 1 : 2;
    while (true) {
        try {
            $result = jnci_BufferedEncoder_encodeLoop($this, $in, $out);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_RuntimeException) {
                $e = $$je;
                $rt_throw(jnc_CoderMalfunctionError__init_($e));
            } else {
                throw $$e;
            }
        }
        if (jnc_CoderResult_isUnderflow($result)) {
            if (!$endOfInput)
                return $result;
            $remaining = jn_Buffer_remaining($in);
            if ($remaining <= 0)
                return $result;
            $result = jnc_CoderResult_malformedForLength($remaining);
        } else if (jnc_CoderResult_isOverflow($result))
            break;
        $action = !jnc_CoderResult_isUnmappable($result) ? $this.$malformedAction0 : $this.$unmappableAction0;
        b: {
            if ($action !== jnc_CodingErrorAction_REPLACE) {
                if ($action === jnc_CodingErrorAction_IGNORE)
                    break b;
                else
                    return $result;
            }
            if (jn_Buffer_remaining($out) < $this.$replacement0.data.length)
                return jnc_CoderResult_OVERFLOW;
            jn_ByteBuffer_put1($out, $this.$replacement0);
        }
        jn_Buffer_position0($in, $in.$position + jnc_CoderResult_length($result) | 0);
    }
    return $result;
}
function jnc_CharsetEncoder_encode($this, $in) {
    var $output, $result;
    if (!jn_Buffer_remaining($in))
        return jn_ByteBuffer_allocate(0);
    jnc_CharsetEncoder_reset($this);
    $output = jn_ByteBuffer_allocate(jn_Buffer_remaining($in) * $this.$averageBytesPerChar | 0);
    while (true) {
        $result = jnc_CharsetEncoder_encode0($this, $in, $output, 0);
        if ($result === jnc_CoderResult_UNDERFLOW)
            break;
        if ($result === jnc_CoderResult_OVERFLOW) {
            $output = jnc_CharsetEncoder_allocateMore($this, $output);
            continue;
        }
        if (!jnc_CoderResult_isError($result))
            continue;
        jnc_CoderResult_throwException($result);
    }
    $in = jnc_CharsetEncoder_encode0($this, $in, $output, 1);
    if (jnc_CoderResult_isError($in))
        jnc_CoderResult_throwException($in);
    while (true) {
        $in = jnc_CharsetEncoder_flush($this, $output);
        if (jnc_CoderResult_isUnderflow($in))
            break;
        if (!jnc_CoderResult_isOverflow($in))
            continue;
        $output = jnc_CharsetEncoder_allocateMore($this, $output);
    }
    jn_Buffer_flip($output);
    return $output;
}
function jnc_CharsetEncoder_allocateMore($this, $buffer) {
    var $array, $result;
    $array = $buffer.$array0;
    $result = jn_ByteBuffer_wrap0(ju_Arrays_copyOf1($array, $array.data.length * 2 | 0));
    jn_Buffer_position0($result, $buffer.$position);
    return $result;
}
function jnc_CharsetEncoder_flush($this, $out) {
    var $result;
    if ($this.$status != 2 && $this.$status != 4) {
        $out = new jl_IllegalStateException;
        jl_Throwable__init_0($out);
        $rt_throw($out);
    }
    $result = jnc_CoderResult_UNDERFLOW;
    if ($result === jnc_CoderResult_UNDERFLOW)
        $this.$status = 3;
    return $result;
}
function jnc_CharsetEncoder_implFlush($this, $out) {
    return jnc_CoderResult_UNDERFLOW;
}
function jnc_CharsetEncoder_reset($this) {
    $this.$status = 0;
    return $this;
}
function jnc_CharsetEncoder_implReset($this) {
    return;
}
function jnc_CoderResult() {
    var a = this; jl_Object.call(a);
    a.$kind = 0;
    a.$length3 = 0;
}
var jnc_CoderResult_UNDERFLOW = null;
var jnc_CoderResult_OVERFLOW = null;
function jnc_CoderResult__init_(var_0, var_1) {
    var var_2 = new jnc_CoderResult();
    jnc_CoderResult__init_0(var_2, var_0, var_1);
    return var_2;
}
function jnc_CoderResult__init_0($this, $kind, $length) {
    $this.$kind = $kind;
    $this.$length3 = $length;
}
function jnc_CoderResult_isUnderflow($this) {
    return $this.$kind ? 0 : 1;
}
function jnc_CoderResult_isOverflow($this) {
    return $this.$kind != 1 ? 0 : 1;
}
function jnc_CoderResult_isError($this) {
    return !jnc_CoderResult_isMalformed($this) && !jnc_CoderResult_isUnmappable($this) ? 0 : 1;
}
function jnc_CoderResult_isMalformed($this) {
    return $this.$kind != 2 ? 0 : 1;
}
function jnc_CoderResult_isUnmappable($this) {
    return $this.$kind != 3 ? 0 : 1;
}
function jnc_CoderResult_length($this) {
    var var$1;
    if (jnc_CoderResult_isError($this))
        return $this.$length3;
    var$1 = new jl_UnsupportedOperationException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
}
function jnc_CoderResult_malformedForLength($length) {
    return jnc_CoderResult__init_(2, $length);
}
function jnc_CoderResult_throwException($this) {
    var var$1, var$2;
    switch ($this.$kind) {
        case 0:
            var$1 = new jnc_BufferUnderflowException;
            jl_Throwable__init_0(var$1);
            $rt_throw(var$1);
        case 1:
            var$1 = new jnc_BufferOverflowException;
            jl_Throwable__init_0(var$1);
            $rt_throw(var$1);
        case 2:
            var$1 = new jnc_MalformedInputException;
            var$2 = $this.$length3;
            jl_Throwable__init_0(var$1);
            var$1.$length4 = var$2;
            $rt_throw(var$1);
        case 3:
            var$1 = new jnc_UnmappableCharacterException;
            var$2 = $this.$length3;
            jl_Throwable__init_0(var$1);
            var$1.$length5 = var$2;
            $rt_throw(var$1);
        default:
    }
}
function jnc_CoderResult__clinit_() {
    jnc_CoderResult_UNDERFLOW = jnc_CoderResult__init_(0, 0);
    jnc_CoderResult_OVERFLOW = jnc_CoderResult__init_(1, 0);
}
function jl_ThreadLocal() {
    var a = this; jl_Object.call(a);
    a.$initialized = 0;
    a.$value6 = null;
}
function jl_ThreadLocal__init_0() {
    var var_0 = new jl_ThreadLocal();
    jl_ThreadLocal__init_(var_0);
    return var_0;
}
function jl_ThreadLocal__init_($this) {
    return;
}
function jl_ThreadLocal_get($this) {
    if (!$this.$initialized) {
        $this.$value6 = nms_AABBLocalPool_createNewDefaultPool($this);
        $this.$initialized = 1;
    }
    return $this.$value6;
}
function nms_AABBLocalPool() {
    jl_ThreadLocal.call(this);
}
function nms_AABBLocalPool__init_0() {
    var var_0 = new nms_AABBLocalPool();
    nms_AABBLocalPool__init_(var_0);
    return var_0;
}
function nms_AABBLocalPool__init_($this) {
    return;
}
function nms_AABBLocalPool_createNewDefaultPool($this) {
    var var$1;
    var$1 = new nms_AABBPool;
    var$1.$listAABB = ju_ArrayList__init_0();
    var$1.$nextPoolIndex = 0;
    var$1.$maxPoolIndex = 0;
    var$1.$numCleans = 0;
    var$1.$maxNumCleans = 300;
    var$1.$numEntriesToRemove = 2000;
    return var$1;
}
function nms_AABBLocalPool_initialValue($this) {
    return nms_AABBLocalPool_createNewDefaultPool($this);
}
function jt_DecimalFormatSymbols() {
    var a = this; jl_Object.call(a);
    a.$locale2 = null;
    a.$zeroDigit = 0;
    a.$groupingSeparator = 0;
    a.$decimalSeparator = 0;
    a.$perMill = 0;
    a.$percent = 0;
    a.$digit0 = 0;
    a.$patternSeparator = 0;
    a.$nan = null;
    a.$infinity = null;
    a.$minusSign = 0;
    a.$monetaryDecimalSeparator = 0;
    a.$exponentSeparator = null;
}
function jt_DecimalFormatSymbols__init_1() {
    var var_0 = new jt_DecimalFormatSymbols();
    jt_DecimalFormatSymbols__init_(var_0);
    return var_0;
}
function jt_DecimalFormatSymbols__init_0(var_0) {
    var var_1 = new jt_DecimalFormatSymbols();
    jt_DecimalFormatSymbols__init_2(var_1, var_0);
    return var_1;
}
function jt_DecimalFormatSymbols__init_($this) {
    jt_DecimalFormatSymbols__init_2($this, ju_Locale_defaultLocale);
}
function jt_DecimalFormatSymbols__init_2($this, $locale) {
    var var$2, var$3, var$4;
    $this.$locale2 = $locale;
    var$2 = $this.$locale2.$languageCode;
    var$3 = $this.$locale2.$countryCode;
    if (otciu_CLDRHelper_$$metadata$$20 === null)
        otciu_CLDRHelper_$$metadata$$20 = otciu_CLDRHelper_getDecimalDataMap$$create();
    var$4 = otciu_CLDRHelper_$$metadata$$20;
    $locale = otciu_CLDRHelper_getCode(var$2, var$3);
    var$4 = var$4.hasOwnProperty($rt_ustr($locale)) ? var$4[$rt_ustr($locale)] : var$4.hasOwnProperty($rt_ustr(var$2)) ? var$4[$rt_ustr(var$2)] : var$4.root;
    $this.$zeroDigit = 48;
    $this.$groupingSeparator = var$4.groupingSeparator & 65535;
    $this.$decimalSeparator = var$4.decimalSeparator & 65535;
    $this.$perMill = var$4.perMille & 65535;
    $this.$percent = var$4.percent & 65535;
    $this.$digit0 = 35;
    $this.$patternSeparator = 59;
    $this.$nan = (var$4.naN !== null ? $rt_str(var$4.naN) : null);
    $this.$infinity = (var$4.infinity !== null ? $rt_str(var$4.infinity) : null);
    $this.$minusSign = var$4.minusSign & 65535;
    $this.$monetaryDecimalSeparator = var$4.decimalSeparator & 65535;
    $this.$exponentSeparator = (var$4.exponentSeparator !== null ? $rt_str(var$4.exponentSeparator) : null);
}
function jt_DecimalFormatSymbols_getZeroDigit($this) {
    return $this.$zeroDigit;
}
function jt_DecimalFormatSymbols_getGroupingSeparator($this) {
    return $this.$groupingSeparator;
}
function jt_DecimalFormatSymbols_getPerMill($this) {
    return $this.$perMill;
}
function jt_DecimalFormatSymbols_getPercent($this) {
    return $this.$percent;
}
function jt_DecimalFormatSymbols_getLocale($this) {
    return $this.$locale2;
}
function jt_DecimalFormatSymbols_getDecimalSeparator($this) {
    return $this.$decimalSeparator;
}
function jt_DecimalFormatSymbols_getNaN($this) {
    return $this.$nan;
}
function jt_DecimalFormatSymbols_getInfinity($this) {
    return $this.$infinity;
}
function jt_DecimalFormatSymbols_getMinusSign($this) {
    return $this.$minusSign;
}
function jt_DecimalFormatSymbols_getExponentSeparator($this) {
    return $this.$exponentSeparator;
}
function jt_DecimalFormatSymbols_clone($this) {
    var var$1, $e, $$je;
    a: {
        try {
            var$1 = jl_Object_clone($this);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_CloneNotSupportedException) {
                $e = $$je;
                break a;
            } else {
                throw $$e;
            }
        }
        return var$1;
    }
    $rt_throw(jl_AssertionError__init_0($rt_s(1090), $e));
}
function nms_FontRenderer() {
    var a = this; jl_Object.call(a);
    a.$charWidth = null;
    a.$FONT_HEIGHT = 0;
    a.$fontRandom = null;
    a.$glyphWidth = null;
    a.$colorCode = null;
    a.$fontTexture = null;
    a.$fontTextureName = null;
    a.$renderEngine0 = null;
    a.$posX2 = 0.0;
    a.$posY2 = 0.0;
    a.$unicodeFlag = 0;
    a.$bidiFlag = 0;
    a.$red = 0.0;
    a.$blue = 0.0;
    a.$green = 0.0;
    a.$alpha0 = 0.0;
    a.$textColor = 0;
    a.$randomStyle = 0;
    a.$boldStyle = 0;
    a.$italicStyle = 0;
    a.$underlineStyle = 0;
    a.$strikethroughStyle = 0;
}
function nms_FontRenderer__init_0(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_FontRenderer();
    nms_FontRenderer__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_FontRenderer__init_($this, $par1GameSettings, $par2Str, $par3RenderEngine, $par4) {
    var $var5, $var6, $var10, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3RenderEngine = $thread.pop();$par2Str = $thread.pop();$par1GameSettings = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$charWidth = $rt_createIntArray(256);
        $this.$FONT_HEIGHT = 9;
        $this.$fontRandom = nle_EaglercraftRandom__init_0();
        $this.$glyphWidth = $rt_createByteArray(65536);
        $this.$colorCode = $rt_createIntArray(32);
        $this.$randomStyle = 0;
        $this.$boldStyle = 0;
        $this.$italicStyle = 0;
        $this.$underlineStyle = 0;
        $this.$strikethroughStyle = 0;
        $this.$fontTexture = nle_TextureLocation__init_($par2Str);
        $this.$fontTextureName = $par2Str;
        $this.$renderEngine0 = $par3RenderEngine;
        $this.$unicodeFlag = $par4;
        $ptr = 1;
    case 1:
        nms_FontRenderer_readFontData($this);
        if ($rt_suspending()) {
            break main;
        }
        $par2Str = $this.$fontTexture;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture($par2Str);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = 0;
        while ($var5 < 32) {
            $var6 = ($var5 >> 3 & 1) * 85 | 0;
            $var10 = (($var5 >> 2 & 1) * 170 | 0) + $var6 | 0;
            $var11 = (($var5 >> 1 & 1) * 170 | 0) + $var6 | 0;
            $var12 = (($var5 >> 0 & 1) * 170 | 0) + $var6 | 0;
            if ($var5 == 6)
                $var10 = $var10 + 85 | 0;
            if ($par1GameSettings.$anaglyph) {
                $par4 = $var10 * 30 | 0;
                $var10 = (($par4 + ($var11 * 59 | 0) | 0) + ($var12 * 11 | 0) | 0) / 100 | 0;
                $var11 = ($par4 + ($var11 * 70 | 0) | 0) / 100 | 0;
                $var12 = ($par4 + ($var12 * 70 | 0) | 0) / 100 | 0;
            }
            if ($var5 >= 16) {
                $var10 = $var10 / 4 | 0;
                $var11 = $var11 / 4 | 0;
                $var12 = $var12 / 4 | 0;
            }
            $this.$colorCode.data[$var5] = ($var10 & 255) << 16 | ($var11 & 255) << 8 | $var12 & 255;
            $var5 = $var5 + 1 | 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GameSettings, $par2Str, $par3RenderEngine, $par4, $var5, $var6, $var10, $var11, $var12, $ptr);
}
function nms_FontRenderer_readFontData($this) {
    var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$glyphWidth = nlea_EaglerAdapterImpl2_loadResourceBytes($rt_s(1091));
        var$1 = nlea_EaglerAdapterImpl2_loadResourceBytes($this.$fontTextureName);
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_loadPNG(var$1);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        var$1 = var$2.$data;
        var$3 = var$2.$w0;
        var$4 = 0;
        while (var$4 < 256) {
            var$5 = var$4 % 16 | 0;
            var$6 = var$4 / 16 | 0;
            var$7 = 7;
            var$5 = var$5 * 8 | 0;
            var$8 = var$6 * 8 | 0;
            while (var$7 >= 0) {
                var$6 = var$5 + var$7 | 0;
                var$9 = 1;
                var$10 = 0;
                while (var$10 < 8 && var$9) {
                    if ((var$1.data[var$6 + $rt_imul(var$8 + var$10 | 0, var$3) | 0] & 255) > 0)
                        var$9 = 0;
                    var$10 = var$10 + 1 | 0;
                }
                if (!var$9)
                    break;
                var$7 = var$7 + (-1) | 0;
            }
            if (var$4 == 32)
                var$7 = 2;
            $this.$charWidth.data[var$4] = var$7 + 2 | 0;
            var$4 = var$4 + 1 | 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
}
function nms_FontRenderer_renderCharAtPos($this, $par1, $par2, $par3) {
    var var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($par2 == 32)
                var$4 = 4.0;
            else {
                if ($par1 <= 0)
                    break a;
                if ($this.$unicodeFlag)
                    break a;
                $par1 = $par1 + 32 | 0;
                var$5 = ($par1 % 16 | 0) * 8 | 0;
                var$6 = ($par1 / 16 | 0) * 8 | 0;
                var$7 = !$par3 ? 0.0 : 1.0;
                var$8 = $this.$charWidth.data[$par1] - 0.20000000298023224;
                nlea_Tessellator_$callClinit();
                var$9 = nlea_Tessellator_instance;
                var$10 = $this.$posX2 + 0.05000000074505806 + var$7;
                var$11 = $this.$posY2 + 0.05000000074505806;
                var$12 = (var$5 + 0.10000000149011612) / 128.0;
                var$13 = (var$6 + 0.10000000149011612) / 128.0;
                nlea_Tessellator_addVertexWithUV(var$9, var$10, var$11, 0.0, var$12, var$13);
                var$10 = $this.$posX2 + 0.05000000074505806 - var$7;
                var$14 = $this.$posY2 + 7.949999809265137;
                var$15 = (var$6 + 7.800000190734863) / 128.0;
                nlea_Tessellator_addVertexWithUV(var$9, var$10, var$14, 0.0, var$12, var$15);
                var$10 = $this.$posX2 + var$8 - var$7;
                var$14 = $this.$posY2 + 7.949999809265137;
                var$12 = (var$5 + var$8) / 128.0;
                nlea_Tessellator_addVertexWithUV(var$9, var$10, var$14, 0.0, var$12, var$15);
                nlea_Tessellator_addVertexWithUV(var$9, $this.$posX2 + var$8 + var$7, $this.$posY2 + 0.05000000074505806, 0.0, var$12, var$13);
                var$4 = $this.$charWidth.data[$par1];
            }
            return var$4;
        }
        $ptr = 1;
    case 1:
        $tmp = nms_FontRenderer_renderUnicodeChar($this, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $tmp;
        return var$4;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
}
function nms_FontRenderer_renderUnicodeChar($this, $par1, $par2) {
    var $t, $var3, var$5, var$6, var$7, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, var$16, var$17, var$18, var$19, var$20, var$21, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();$t = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$glyphWidth.data[$par1])
            return 0.0;
        nlea_Tessellator_$callClinit();
        $t = nlea_Tessellator_instance;
        nlea_Tessellator_draw($t);
        $var3 = $par1 / 256 | 0;
        var$5 = $rt_createArray(jl_Object, 1);
        var$5.data[0] = jl_Integer_valueOf($var3);
        var$6 = jl_String_format($rt_s(1092), var$5);
        var$7 = $this.$renderEngine0;
        $ptr = 1;
    case 1:
        nms_RenderEngine_bindTexture0(var$7, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $this.$glyphWidth.data[$par1] >>> 4;
        $var5 = $this.$glyphWidth.data[$par1] & 15;
        $var6 = $var4;
        $var7 = $var5 + 1 | 0;
        $var8 = (($par1 % 16 | 0) * 16 | 0) + $var6;
        $var9 = (($par1 & 255) / 16 | 0) * 16 | 0;
        $var7 = $var7 - $var6;
        $var10 = $var7 - 0.03999999910593033;
        $var11 = !$par2 ? 0.0 : 1.0;
        nlea_Tessellator_startDrawing($t, 5);
        var$16 = $this.$posX2 + 0.019999999552965164 + $var11;
        var$17 = $this.$posY2 + 0.019999999552965164;
        var$18 = ($var8 + 0.019999999552965164) / 256.0;
        var$19 = ($var9 + 0.019999999552965164) / 256.0;
        nlea_Tessellator_addVertexWithUV($t, var$16, var$17, 0.0, var$18, var$19);
        var$16 = $this.$posX2 + 0.019999999552965164 - $var11;
        var$17 = $this.$posY2 + 7.980000019073486;
        var$20 = ($var9 + 15.979999542236328) / 256.0;
        nlea_Tessellator_addVertexWithUV($t, var$16, var$17, 0.0, var$18, var$20);
        $var6 = $this.$posX2;
        $var9 = $var10 / 2.0;
        var$16 = $var6 + $var9 + $var11;
        var$17 = $this.$posY2 + 0.019999999552965164;
        var$21 = ($var8 + $var10) / 256.0;
        nlea_Tessellator_addVertexWithUV($t, var$16, var$17, 0.0, var$21, var$19);
        nlea_Tessellator_addVertexWithUV($t, $this.$posX2 + $var9 - $var11, $this.$posY2 + 7.980000019073486, 0.0, var$21, var$20);
        nlea_Tessellator_draw($t);
        var$6 = $this.$fontTexture;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture(var$6);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_startDrawingQuads($t);
        return $var7 / 2.0 + 1.0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $t, $var3, var$5, var$6, var$7, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, var$16, var$17, var$18, var$19, var$20, var$21, $ptr);
}
function nms_FontRenderer_drawStringWithShadow($this, $par1Str, $par2, $par3, $par4) {
    var var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$5 = 1;
        $ptr = 1;
    case 1:
        $tmp = nms_FontRenderer_drawString0($this, $par1Str, $par2, $par3, $par4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par3, $par4, var$5, $ptr);
}
function nms_FontRenderer_drawString($this, $par1Str, $par2, $par3, $par4) {
    var var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$5 = 0;
        $ptr = 1;
    case 1:
        $tmp = nms_FontRenderer_drawString0($this, $par1Str, $par2, $par3, $par4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par3, $par4, var$5, $ptr);
}
function nms_FontRenderer_drawString0($this, $par1Str, $par2, $par3, $par4, $par5) {
    var $var6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_FontRenderer_resetStyles($this);
        if (!$par5) {
            $par5 = 0;
            $ptr = 1;
            continue main;
        }
        $var6 = $par2 + 1 | 0;
        var$7 = $par3 + 1 | 0;
        $par5 = 1;
        $ptr = 2;
        continue main;
    case 1:
        $tmp = nms_FontRenderer_renderString($this, $par1Str, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $tmp;
        return $var6;
    case 2:
        $tmp = nms_FontRenderer_renderString($this, $par1Str, $var6, var$7, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $tmp;
        $par5 = 0;
        $ptr = 3;
    case 3:
        $tmp = nms_FontRenderer_renderString($this, $par1Str, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return jl_Math_max($var6, $par2);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par3, $par4, $par5, $var6, var$7, $ptr);
}
function nms_FontRenderer_resetStyles($this) {
    $this.$randomStyle = 0;
    $this.$boldStyle = 0;
    $this.$italicStyle = 0;
    $this.$underlineStyle = 0;
    $this.$strikethroughStyle = 0;
}
function nms_FontRenderer_renderStringAtPos($this, $par1Str, $par2) {
    var $t, $var9, $var3, $var4, $var5, $var5_0, $var6, $var11, $var7, $var8, $var10, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var11 = $thread.pop();$var6 = $thread.pop();$var5_0 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var9 = $thread.pop();$t = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_Tessellator_$callClinit();
        $t = nlea_Tessellator_instance;
        $var9 = $this.$fontTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var9);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_startDrawingQuads($t);
        $var3 = 0;
        a: {
            while ($var3 < jl_String_length($par1Str)) {
                $var4 = jl_String_charAt($par1Str, $var3);
                if ($var4 != 167)
                    break a;
                $var5 = $var3 + 1 | 0;
                if ($var5 >= jl_String_length($par1Str))
                    break a;
                $var5_0 = jl_String_indexOf0($rt_s(1093), jl_Character_toLowerCase(jl_String_charAt($par1Str, $var5)));
                $var4 = $rt_compare($var5_0, 16);
                if ($var4 >= 0) {
                    if (!$var4)
                        $this.$randomStyle = 1;
                    else if ($var5_0 == 17)
                        $this.$boldStyle = 1;
                    else if ($var5_0 == 18)
                        $this.$strikethroughStyle = 1;
                    else if ($var5_0 == 19)
                        $this.$underlineStyle = 1;
                    else if ($var5_0 == 20)
                        $this.$italicStyle = 1;
                    else if ($var5_0 == 21) {
                        $this.$randomStyle = 0;
                        $this.$boldStyle = 0;
                        $this.$strikethroughStyle = 0;
                        $this.$underlineStyle = 0;
                        $this.$italicStyle = 0;
                        nlea_Tessellator_draw($t);
                        nlea_Tessellator_startDrawingQuads($t);
                        nleg_EaglerAdapterGL30_glColor4f($this.$red, $this.$blue, $this.$green, $this.$alpha0);
                    }
                } else {
                    $this.$randomStyle = 0;
                    $this.$boldStyle = 0;
                    $this.$strikethroughStyle = 0;
                    $this.$underlineStyle = 0;
                    $this.$italicStyle = 0;
                    if (!($var5_0 >= 0 && $var5_0 <= 15))
                        $var5_0 = 15;
                    if ($par2)
                        $var5_0 = $var5_0 + 16 | 0;
                    nlea_Tessellator_draw($t);
                    nlea_Tessellator_startDrawingQuads($t);
                    $var6 = $this.$colorCode.data[$var5_0];
                    $this.$textColor = $var6;
                    nleg_EaglerAdapterGL30_glColor4f(($var6 >> 16 & 255) / 255.0, ($var6 >> 8 & 255) / 255.0, ($var6 & 255) / 255.0, $this.$alpha0);
                }
                $var3 = $var5 + 1 | 0;
            }
            nlea_Tessellator_draw($t);
            return;
        }
        $var5 = jl_String_indexOf0(nms_ChatAllowedCharacters_allowedCharacters, $var4);
        if (!$this.$randomStyle)
            $var6 = $var5;
        else if ($var5 <= 0)
            $var6 = $var5;
        else
            while (true) {
                $var6 = nle_EaglercraftRandom_nextInt($this.$fontRandom, jl_String_length(nms_ChatAllowedCharacters_allowedCharacters));
                if ($this.$charWidth.data[$var5 + 32 | 0] != $this.$charWidth.data[$var6 + 32 | 0])
                    continue;
                else
                    break;
            }
        $var11 = !$this.$unicodeFlag ? 1.0 : 0.5;
        $var7 = !($var6 > 0 && !$this.$unicodeFlag) && $par2 ? 1 : 0;
        if ($var7) {
            $this.$posX2 = $this.$posX2 - $var11;
            $this.$posY2 = $this.$posY2 - $var11;
        }
        $var5 = $this.$italicStyle;
        $ptr = 2;
    case 2:
        $tmp = nms_FontRenderer_renderCharAtPos($this, $var6, $var4, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        if ($var7) {
            $this.$posX2 = $this.$posX2 + $var11;
            $this.$posY2 = $this.$posY2 + $var11;
        }
        if ($this.$boldStyle) {
            $this.$posX2 = $this.$posX2 + $var11;
            if ($var7) {
                $this.$posX2 = $this.$posX2 - $var11;
                $this.$posY2 = $this.$posY2 - $var11;
            }
            $var5 = $this.$italicStyle;
            $ptr = 3;
            continue main;
        }
        if ($this.$strikethroughStyle) {
            $var9 = nlea_Tessellator_instance;
            nlea_Tessellator_draw($var9);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nlea_Tessellator_startDrawingQuads($var9);
            nlea_Tessellator_addVertex($var9, $this.$posX2, $this.$posY2 + ($this.$FONT_HEIGHT / 2 | 0), 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2 + $var8, $this.$posY2 + ($this.$FONT_HEIGHT / 2 | 0), 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2 + $var8, $this.$posY2 + ($this.$FONT_HEIGHT / 2 | 0) - 1.0, 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2, $this.$posY2 + ($this.$FONT_HEIGHT / 2 | 0) - 1.0, 0.0);
            nlea_Tessellator_draw($var9);
            nlea_Tessellator_startDrawingQuads($var9);
            nleg_EaglerAdapterGL30_glEnable(3553);
        }
        if ($this.$underlineStyle) {
            $var9 = nlea_Tessellator_instance;
            nlea_Tessellator_draw($var9);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nlea_Tessellator_startDrawingQuads($var9);
            $var10 = !$this.$underlineStyle ? 0 : (-1);
            $var11 = $this.$posX2;
            var$14 = $var10;
            nlea_Tessellator_addVertex($var9, $var11 + var$14, $this.$posY2 + $this.$FONT_HEIGHT, 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2 + $var8, $this.$posY2 + $this.$FONT_HEIGHT, 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2 + $var8, $this.$posY2 + $this.$FONT_HEIGHT - 1.0, 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2 + var$14, $this.$posY2 + $this.$FONT_HEIGHT - 1.0, 0.0);
            nlea_Tessellator_draw($var9);
            nlea_Tessellator_startDrawingQuads($var9);
            nleg_EaglerAdapterGL30_glEnable(3553);
        }
        $this.$posX2 = $this.$posX2 + ($var8 | 0);
        $var5 = $var3;
        b: {
            while (true) {
                $var3 = $var5 + 1 | 0;
                if ($var3 >= jl_String_length($par1Str))
                    break;
                $var4 = jl_String_charAt($par1Str, $var3);
                if ($var4 != 167)
                    break b;
                $var5 = $var3 + 1 | 0;
                if ($var5 >= jl_String_length($par1Str))
                    break b;
                $var5_0 = jl_String_indexOf0($rt_s(1093), jl_Character_toLowerCase(jl_String_charAt($par1Str, $var5)));
                $var4 = $rt_compare($var5_0, 16);
                if ($var4 >= 0) {
                    if (!$var4)
                        $this.$randomStyle = 1;
                    else if ($var5_0 == 17)
                        $this.$boldStyle = 1;
                    else if ($var5_0 == 18)
                        $this.$strikethroughStyle = 1;
                    else if ($var5_0 == 19)
                        $this.$underlineStyle = 1;
                    else if ($var5_0 == 20)
                        $this.$italicStyle = 1;
                    else if ($var5_0 == 21) {
                        $this.$randomStyle = 0;
                        $this.$boldStyle = 0;
                        $this.$strikethroughStyle = 0;
                        $this.$underlineStyle = 0;
                        $this.$italicStyle = 0;
                        nlea_Tessellator_draw($t);
                        nlea_Tessellator_startDrawingQuads($t);
                        nleg_EaglerAdapterGL30_glColor4f($this.$red, $this.$blue, $this.$green, $this.$alpha0);
                    }
                } else {
                    $this.$randomStyle = 0;
                    $this.$boldStyle = 0;
                    $this.$strikethroughStyle = 0;
                    $this.$underlineStyle = 0;
                    $this.$italicStyle = 0;
                    if (!($var5_0 >= 0 && $var5_0 <= 15))
                        $var5_0 = 15;
                    if ($par2)
                        $var5_0 = $var5_0 + 16 | 0;
                    nlea_Tessellator_draw($t);
                    nlea_Tessellator_startDrawingQuads($t);
                    $var6 = $this.$colorCode.data[$var5_0];
                    $this.$textColor = $var6;
                    nleg_EaglerAdapterGL30_glColor4f(($var6 >> 16 & 255) / 255.0, ($var6 >> 8 & 255) / 255.0, ($var6 & 255) / 255.0, $this.$alpha0);
                }
            }
            nlea_Tessellator_draw($t);
            return;
        }
        $var5 = jl_String_indexOf0(nms_ChatAllowedCharacters_allowedCharacters, $var4);
        if (!$this.$randomStyle)
            $var6 = $var5;
        else if ($var5 <= 0)
            $var6 = $var5;
        else
            while (true) {
                $var6 = nle_EaglercraftRandom_nextInt($this.$fontRandom, jl_String_length(nms_ChatAllowedCharacters_allowedCharacters));
                if ($this.$charWidth.data[$var5 + 32 | 0] != $this.$charWidth.data[$var6 + 32 | 0])
                    continue;
                else
                    break;
            }
        $var11 = !$this.$unicodeFlag ? 1.0 : 0.5;
        $var7 = !($var6 > 0 && !$this.$unicodeFlag) && $par2 ? 1 : 0;
        if ($var7) {
            $this.$posX2 = $this.$posX2 - $var11;
            $this.$posY2 = $this.$posY2 - $var11;
        }
        $var5 = $this.$italicStyle;
        continue main;
    case 3:
        nms_FontRenderer_renderCharAtPos($this, $var6, $var4, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $this.$posX2 = $this.$posX2 - $var11;
        if ($var7) {
            $this.$posX2 = $this.$posX2 + $var11;
            $this.$posY2 = $this.$posY2 + $var11;
        }
        $var8 = $var8 + 1.0;
        if ($this.$strikethroughStyle) {
            $var9 = nlea_Tessellator_instance;
            nlea_Tessellator_draw($var9);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nlea_Tessellator_startDrawingQuads($var9);
            nlea_Tessellator_addVertex($var9, $this.$posX2, $this.$posY2 + ($this.$FONT_HEIGHT / 2 | 0), 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2 + $var8, $this.$posY2 + ($this.$FONT_HEIGHT / 2 | 0), 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2 + $var8, $this.$posY2 + ($this.$FONT_HEIGHT / 2 | 0) - 1.0, 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2, $this.$posY2 + ($this.$FONT_HEIGHT / 2 | 0) - 1.0, 0.0);
            nlea_Tessellator_draw($var9);
            nlea_Tessellator_startDrawingQuads($var9);
            nleg_EaglerAdapterGL30_glEnable(3553);
        }
        if ($this.$underlineStyle) {
            $var9 = nlea_Tessellator_instance;
            nlea_Tessellator_draw($var9);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nlea_Tessellator_startDrawingQuads($var9);
            $var10 = !$this.$underlineStyle ? 0 : (-1);
            $var11 = $this.$posX2;
            var$14 = $var10;
            nlea_Tessellator_addVertex($var9, $var11 + var$14, $this.$posY2 + $this.$FONT_HEIGHT, 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2 + $var8, $this.$posY2 + $this.$FONT_HEIGHT, 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2 + $var8, $this.$posY2 + $this.$FONT_HEIGHT - 1.0, 0.0);
            nlea_Tessellator_addVertex($var9, $this.$posX2 + var$14, $this.$posY2 + $this.$FONT_HEIGHT - 1.0, 0.0);
            nlea_Tessellator_draw($var9);
            nlea_Tessellator_startDrawingQuads($var9);
            nleg_EaglerAdapterGL30_glEnable(3553);
        }
        $this.$posX2 = $this.$posX2 + ($var8 | 0);
        $var5 = $var3;
        c: {
            while (true) {
                $var3 = $var5 + 1 | 0;
                if ($var3 >= jl_String_length($par1Str))
                    break;
                $var4 = jl_String_charAt($par1Str, $var3);
                if ($var4 != 167)
                    break c;
                $var5 = $var3 + 1 | 0;
                if ($var5 >= jl_String_length($par1Str))
                    break c;
                $var5_0 = jl_String_indexOf0($rt_s(1093), jl_Character_toLowerCase(jl_String_charAt($par1Str, $var5)));
                $var4 = $rt_compare($var5_0, 16);
                if ($var4 >= 0) {
                    if (!$var4)
                        $this.$randomStyle = 1;
                    else if ($var5_0 == 17)
                        $this.$boldStyle = 1;
                    else if ($var5_0 == 18)
                        $this.$strikethroughStyle = 1;
                    else if ($var5_0 == 19)
                        $this.$underlineStyle = 1;
                    else if ($var5_0 == 20)
                        $this.$italicStyle = 1;
                    else if ($var5_0 == 21) {
                        $this.$randomStyle = 0;
                        $this.$boldStyle = 0;
                        $this.$strikethroughStyle = 0;
                        $this.$underlineStyle = 0;
                        $this.$italicStyle = 0;
                        nlea_Tessellator_draw($t);
                        nlea_Tessellator_startDrawingQuads($t);
                        nleg_EaglerAdapterGL30_glColor4f($this.$red, $this.$blue, $this.$green, $this.$alpha0);
                    }
                } else {
                    $this.$randomStyle = 0;
                    $this.$boldStyle = 0;
                    $this.$strikethroughStyle = 0;
                    $this.$underlineStyle = 0;
                    $this.$italicStyle = 0;
                    if (!($var5_0 >= 0 && $var5_0 <= 15))
                        $var5_0 = 15;
                    if ($par2)
                        $var5_0 = $var5_0 + 16 | 0;
                    nlea_Tessellator_draw($t);
                    nlea_Tessellator_startDrawingQuads($t);
                    $var6 = $this.$colorCode.data[$var5_0];
                    $this.$textColor = $var6;
                    nleg_EaglerAdapterGL30_glColor4f(($var6 >> 16 & 255) / 255.0, ($var6 >> 8 & 255) / 255.0, ($var6 & 255) / 255.0, $this.$alpha0);
                }
            }
            nlea_Tessellator_draw($t);
            return;
        }
        $var5 = jl_String_indexOf0(nms_ChatAllowedCharacters_allowedCharacters, $var4);
        if (!$this.$randomStyle)
            $var6 = $var5;
        else if ($var5 <= 0)
            $var6 = $var5;
        else
            while (true) {
                $var6 = nle_EaglercraftRandom_nextInt($this.$fontRandom, jl_String_length(nms_ChatAllowedCharacters_allowedCharacters));
                if ($this.$charWidth.data[$var5 + 32 | 0] != $this.$charWidth.data[$var6 + 32 | 0])
                    continue;
                else
                    break;
            }
        $var11 = !$this.$unicodeFlag ? 1.0 : 0.5;
        $var7 = !($var6 > 0 && !$this.$unicodeFlag) && $par2 ? 1 : 0;
        if ($var7) {
            $this.$posX2 = $this.$posX2 - $var11;
            $this.$posY2 = $this.$posY2 - $var11;
        }
        $var5 = $this.$italicStyle;
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $t, $var9, $var3, $var4, $var5, $var5_0, $var6, $var11, $var7, $var8, $var10, var$14, $ptr);
}
function nms_FontRenderer_renderString($this, $par1Str, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1Str === null)
            return 0;
        if (!($par4 & (-67108864)))
            $par4 = $par4 | (-16777216);
        if ($par5)
            $par4 = ($par4 & 16579836) >> 2 | $par4 & (-16777216);
        $this.$red = ($par4 >> 16 & 255) / 255.0;
        $this.$blue = ($par4 >> 8 & 255) / 255.0;
        $this.$green = ($par4 & 255) / 255.0;
        $this.$alpha0 = ($par4 >> 24 & 255) / 255.0;
        nleg_EaglerAdapterGL30_glColor4f($this.$red, $this.$blue, $this.$green, $this.$alpha0);
        $this.$posX2 = $par2;
        $this.$posY2 = $par3;
        $ptr = 1;
    case 1:
        nms_FontRenderer_renderStringAtPos($this, $par1Str, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return $this.$posX2 | 0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par3, $par4, $par5, $ptr);
}
function nms_FontRenderer_getStringWidth($this, $par1Str) {
    var $var2, $var3, $var4, $var6, $var5;
    if ($par1Str === null)
        return 0;
    $var2 = 0;
    $var3 = 0;
    $var4 = 0;
    while ($var4 < jl_String_length($par1Str)) {
        $var6 = nms_FontRenderer_getCharWidth($this, jl_String_charAt($par1Str, $var4));
        if ($var6 < 0 && $var4 < (jl_String_length($par1Str) - 1 | 0)) {
            $var4 = $var4 + 1 | 0;
            $var5 = jl_String_charAt($par1Str, $var4);
            if (!($var5 != 108 && $var5 != 76))
                $var3 = 1;
            else if (!($var5 != 114 && $var5 != 82))
                $var3 = 0;
            $var6 = 0;
        }
        $var2 = $var2 + $var6 | 0;
        if ($var3)
            $var2 = $var2 + 1 | 0;
        $var4 = $var4 + 1 | 0;
    }
    return $var2;
}
function nms_FontRenderer_getCharWidth($this, $par1) {
    var $var2, $var3, $var4;
    if ($par1 == 167)
        return (-1);
    if ($par1 == 32)
        return 4;
    $var2 = jl_String_indexOf0(nms_ChatAllowedCharacters_allowedCharacters, $par1);
    if ($var2 >= 0 && !$this.$unicodeFlag)
        return $this.$charWidth.data[$var2 + 32 | 0];
    if (!$this.$glyphWidth.data[$par1])
        return 0;
    $var3 = $this.$glyphWidth.data[$par1] >>> 4;
    $var4 = $this.$glyphWidth.data[$par1] & 15;
    if ($var4 > 7) {
        $var4 = 15;
        $var3 = 0;
    }
    return ((($var4 + 1 | 0) - $var3 | 0) / 2 | 0) + 1 | 0;
}
function nms_FontRenderer_trimStringToWidth($this, $par1Str, $par2) {
    return nms_FontRenderer_trimStringToWidth0($this, $par1Str, $par2, 0);
}
function nms_FontRenderer_trimStringToWidth0($this, $par1Str, $par2, $par3) {
    var $var4, $var5, $var10, $var7, $var8, $var9, $var11, $var12;
    $var4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var4);
    $var5 = 0;
    $var10 = !$par3 ? 0 : jl_String_length($par1Str) - 1 | 0;
    $var7 = !$par3 ? 1 : (-1);
    $var8 = 0;
    $var9 = 0;
    a: {
        while (true) {
            if ($var10 < 0)
                break a;
            if ($var10 >= jl_String_length($par1Str))
                break a;
            if ($var5 >= $par2)
                break a;
            $var11 = jl_String_charAt($par1Str, $var10);
            $var12 = nms_FontRenderer_getCharWidth($this, $var11);
            if (!$var8) {
                if ($var12 < 0)
                    $var8 = 1;
                else {
                    $var5 = $var5 + $var12 | 0;
                    if ($var9)
                        $var5 = $var5 + 1 | 0;
                }
            } else {
                $var8 = 0;
                if (!($var11 != 108 && $var11 != 76))
                    $var9 = 1;
                else if (!($var11 != 114 && $var11 != 82))
                    $var9 = 0;
            }
            if ($var5 > $par2)
                break;
            if (!$par3)
                jl_AbstractStringBuilder_append0($var4, $var11);
            else
                jl_AbstractStringBuilder_insert4($var4, 0, $var11);
            $var10 = $var10 + $var7 | 0;
        }
    }
    return jl_AbstractStringBuilder_toString($var4);
}
function nms_FontRenderer_drawSplitString($this, $par1Str, $par2, $par3, $par4, $par5) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_FontRenderer_resetStyles($this);
        $this.$textColor = $par5;
        while ($par1Str !== null && jl_String_endsWith($par1Str, $rt_s(64))) {
            $par1Str = jl_String_substring0($par1Str, 0, jl_String_length($par1Str) - 1 | 0);
        }
        $par5 = 0;
        $par1Str = ju_AbstractList_iterator(nms_FontRenderer_listFormattedStringToWidth($this, $par1Str, $par4));
        if (!ju_AbstractList$1_hasNext($par1Str))
            return;
        var$6 = ju_AbstractList$1_next($par1Str);
        $par4 = $this.$textColor;
        $ptr = 1;
    case 1:
        nms_FontRenderer_renderString($this, var$6, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par3 = $par3 + $this.$FONT_HEIGHT | 0;
        if (!ju_AbstractList$1_hasNext($par1Str))
            return;
        var$6 = ju_AbstractList$1_next($par1Str);
        $par4 = $this.$textColor;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par3, $par4, $par5, var$6, $ptr);
}
function nms_FontRenderer_splitStringWidth($this, $par1Str, $par2) {
    return $rt_imul($this.$FONT_HEIGHT, ju_Arrays$ArrayAsList_size(nms_FontRenderer_listFormattedStringToWidth($this, $par1Str, $par2)));
}
function nms_FontRenderer_setUnicodeFlag($this, $par1) {
    $this.$unicodeFlag = $par1;
}
function nms_FontRenderer_getUnicodeFlag($this) {
    return $this.$unicodeFlag;
}
function nms_FontRenderer_setBidiFlag($this, $par1) {
    $this.$bidiFlag = $par1;
}
function nms_FontRenderer_listFormattedStringToWidth($this, $par1Str, $par2) {
    return ju_Arrays_asList(jl_String_split(nms_FontRenderer_wrapFormattedStringToWidth($this, $par1Str, $par2), $rt_s(64)));
}
function nms_FontRenderer_wrapFormattedStringToWidth($this, $par1Str, $par2) {
    var $var5, var$4, $var3, $var3_0, var$7, var$8, var$9, var$10, $var4, $var6, $var7, var$14, var$15;
    $var5 = jl_String_length($par1Str);
    var$4 = 0;
    $var3 = 0;
    $var3_0 = (-1);
    var$7 = 0;
    var$8 = $var5 - 1 | 0;
    a: {
        while ($var3 < $var5) {
            b: {
                c: {
                    var$9 = jl_String_charAt($par1Str, $var3);
                    switch (var$9) {
                        case 10:
                            break;
                        case 32:
                            $var3_0 = $var3;
                            break c;
                        case 167:
                            if ($var3 >= var$8)
                                break b;
                            $var3 = $var3 + 1 | 0;
                            var$10 = jl_String_charAt($par1Str, $var3);
                            if (!(var$10 != 108 && var$10 != 76))
                                var$7 = 1;
                            else if (!(var$10 != 114 && var$10 != 82 && !nms_FontRenderer_isFormatColor(var$10)))
                                var$7 = 0;
                            break b;
                        default:
                            break c;
                    }
                    $var3 = $var3 + (-1) | 0;
                    break b;
                }
                var$4 = var$4 + nms_FontRenderer_getCharWidth($this, var$9) | 0;
                if (var$7)
                    var$4 = var$4 + 1 | 0;
            }
            if (var$9 == 10) {
                $var3_0 = $var3 + 1 | 0;
                $var3 = $var3_0;
                break a;
            }
            if (var$4 > $par2)
                break a;
            $var3 = $var3 + 1 | 0;
        }
    }
    if ($var3 != $var5 && $var3_0 != (-1) && $var3_0 < $var3)
        $var3 = $var3_0;
    if (jl_String_length($par1Str) <= $var3)
        return $par1Str;
    $var4 = jl_String_substring0($par1Str, 0, $var3);
    $var5 = jl_String_charAt($par1Str, $var3);
    $var6 = $var5 != 32 && $var5 != 10 ? 0 : 1;
    $var7 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var7);
    var$14 = $rt_s(36);
    $var3_0 = (-1);
    var$7 = jl_String_length($var4) - 1 | 0;
    while (true) {
        $var3_0 = jl_String_indexOf($var4, 167, $var3_0 + 1 | 0);
        if ($var3_0 == (-1))
            break;
        if ($var3_0 >= var$7)
            continue;
        var$4 = jl_String_charAt($var4, $var3_0 + 1 | 0);
        if (nms_FontRenderer_isFormatColor(var$4)) {
            var$14 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$14);
            jl_AbstractStringBuilder_append(var$14, $rt_s(1094));
            jl_AbstractStringBuilder_append0(var$14, var$4);
            var$14 = jl_AbstractStringBuilder_toString(var$14);
        } else if (!(var$4 >= 107 && var$4 <= 111) && !(var$4 >= 75 && var$4 <= 79) && var$4 != 114 && var$4 != 82 ? 0 : 1) {
            var$15 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$15);
            jl_AbstractStringBuilder_append(var$15, var$14);
            jl_AbstractStringBuilder_append(var$15, $rt_s(1094));
            jl_AbstractStringBuilder_append0(var$15, var$4);
            var$14 = jl_AbstractStringBuilder_toString(var$15);
        }
    }
    jl_AbstractStringBuilder_append($var7, var$14);
    jl_AbstractStringBuilder_append($var7, jl_String_substring($par1Str, $var3 + (!$var6 ? 0 : 1) | 0));
    $var7 = jl_AbstractStringBuilder_toString($var7);
    $par1Str = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($par1Str);
    jl_AbstractStringBuilder_append($par1Str, $var4);
    jl_AbstractStringBuilder_append($par1Str, $rt_s(64));
    jl_AbstractStringBuilder_append($par1Str, nms_FontRenderer_wrapFormattedStringToWidth($this, $var7, $par2));
    return jl_AbstractStringBuilder_toString($par1Str);
}
function nms_FontRenderer_isFormatColor($par0) {
    a: {
        b: {
            if (!($par0 >= 48 && $par0 <= 57) && !($par0 >= 97 && $par0 <= 102)) {
                if ($par0 < 65)
                    break b;
                if ($par0 > 70)
                    break b;
            }
            $par0 = 1;
            break a;
        }
        $par0 = 0;
    }
    return $par0;
}
function nms_FontRenderer_getBidiFlag($this) {
    return $this.$bidiFlag;
}
function jt_DecimalFormat$FormatField() {
}
function jt_DecimalFormat$TextField() {
    jl_Object.call(this);
    this.$text1 = null;
}
function jt_DecimalFormat$TextField__init_(var_0) {
    var var_1 = new jt_DecimalFormat$TextField();
    jt_DecimalFormat$TextField__init_0(var_1, var_0);
    return var_1;
}
function jt_DecimalFormat$TextField__init_0($this, $text) {
    $this.$text1 = $text;
}
function jt_DecimalFormat$TextField_render($this, $format, $buffer) {
    jl_AbstractStringBuilder_append($buffer, $this.$text1);
}
function jt_DecimalFormat$TextField_equals($this, $obj) {
    var $other;
    if ($this === $obj)
        return 1;
    if (!($obj instanceof jt_DecimalFormat$TextField))
        return 0;
    $other = $obj;
    return jl_String_equals($this.$text1, $other.$text1);
}
function jt_DecimalFormat$TextField_hashCode($this) {
    return jl_String_hashCode($this.$text1);
}
function jm_RoundingMode() {
    jl_Enum.call(this);
    this.$bigDecimalRM = 0;
}
var jm_RoundingMode_UP = null;
var jm_RoundingMode_DOWN = null;
var jm_RoundingMode_CEILING = null;
var jm_RoundingMode_FLOOR = null;
var jm_RoundingMode_HALF_UP = null;
var jm_RoundingMode_HALF_DOWN = null;
var jm_RoundingMode_HALF_EVEN = null;
var jm_RoundingMode_UNNECESSARY = null;
var jm_RoundingMode_$VALUES = null;
function jm_RoundingMode__init_(var_0, var_1, var_2) {
    var var_3 = new jm_RoundingMode();
    jm_RoundingMode__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function jm_RoundingMode__init_0($this, var$1, var$2, $rm) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$bigDecimalRM = $rm;
}
function jm_RoundingMode__clinit_() {
    var var$1, var$2;
    jm_RoundingMode_UP = jm_RoundingMode__init_($rt_s(192), 0, 0);
    jm_RoundingMode_DOWN = jm_RoundingMode__init_($rt_s(197), 1, 1);
    jm_RoundingMode_CEILING = jm_RoundingMode__init_($rt_s(1095), 2, 2);
    jm_RoundingMode_FLOOR = jm_RoundingMode__init_($rt_s(1096), 3, 3);
    jm_RoundingMode_HALF_UP = jm_RoundingMode__init_($rt_s(1097), 4, 4);
    jm_RoundingMode_HALF_DOWN = jm_RoundingMode__init_($rt_s(1098), 5, 5);
    jm_RoundingMode_HALF_EVEN = jm_RoundingMode__init_($rt_s(1099), 6, 6);
    jm_RoundingMode_UNNECESSARY = jm_RoundingMode__init_($rt_s(1100), 7, 7);
    var$1 = $rt_createArray(jm_RoundingMode, 8);
    var$2 = var$1.data;
    var$2[0] = jm_RoundingMode_UP;
    var$2[1] = jm_RoundingMode_DOWN;
    var$2[2] = jm_RoundingMode_CEILING;
    var$2[3] = jm_RoundingMode_FLOOR;
    var$2[4] = jm_RoundingMode_HALF_UP;
    var$2[5] = jm_RoundingMode_HALF_DOWN;
    var$2[6] = jm_RoundingMode_HALF_EVEN;
    var$2[7] = jm_RoundingMode_UNNECESSARY;
    jm_RoundingMode_$VALUES = var$1;
}
function ju_Currency() {
    jl_Object.call(this);
    this.$resource = null;
}
var ju_Currency_currencies = null;
function ju_Currency_getCurrencyCode($this) {
    return ($this.$resource.code !== null ? $rt_str($this.$resource.code) : null);
}
function ju_Currency_getSymbol($this, $locale) {
    var var$2, $localization, var$4;
    var$2 = $locale.$languageCode;
    $localization = $locale.$countryCode;
    $locale = ju_Currency_getCurrencyCode($this);
    $localization = otciu_CLDRHelper_getCode(var$2, $localization);
    if (otciu_CLDRHelper_$$metadata$$21 === null)
        otciu_CLDRHelper_$$metadata$$21 = otciu_CLDRHelper_getCurrencyMap$$create();
    a: {
        var$4 = otciu_CLDRHelper_$$metadata$$21;
        if (var$4.hasOwnProperty($rt_ustr($localization))) {
            $localization = var$4[$rt_ustr($localization)];
            if ($localization.hasOwnProperty($rt_ustr($locale))) {
                $localization = $localization[$rt_ustr($locale)];
                break a;
            }
        }
        if (var$4.hasOwnProperty($rt_ustr(var$2))) {
            $localization = var$4[$rt_ustr(var$2)];
            if ($localization.hasOwnProperty($rt_ustr($locale))) {
                $localization = $localization[$rt_ustr($locale)];
                break a;
            }
        }
        $localization = null;
    }
    return $localization !== null && !jl_String_isEmpty(($localization.symbol !== null ? $rt_str($localization.symbol) : null)) ? ($localization.symbol !== null ? $rt_str($localization.symbol) : null) : ju_Currency_getCurrencyCode($this);
}
function ju_Currency_toString($this) {
    return ($this.$resource.code !== null ? $rt_str($this.$resource.code) : null);
}
function nms_EnumOS() {
    jl_Enum.call(this);
}
var nms_EnumOS_LINUX = null;
var nms_EnumOS_SOLARIS = null;
var nms_EnumOS_WINDOWS = null;
var nms_EnumOS_MACOS = null;
var nms_EnumOS_UNKNOWN = null;
var nms_EnumOS_$VALUES = null;
function nms_EnumOS__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nms_EnumOS;
    jl_Enum__init_0(var$1, $rt_s(1101), 0);
    nms_EnumOS_LINUX = var$1;
    var$1 = new nms_EnumOS;
    jl_Enum__init_0(var$1, $rt_s(1102), 1);
    nms_EnumOS_SOLARIS = var$1;
    var$1 = new nms_EnumOS;
    jl_Enum__init_0(var$1, $rt_s(1103), 2);
    nms_EnumOS_WINDOWS = var$1;
    var$1 = new nms_EnumOS;
    jl_Enum__init_0(var$1, $rt_s(1104), 3);
    nms_EnumOS_MACOS = var$1;
    var$1 = new nms_EnumOS;
    jl_Enum__init_0(var$1, $rt_s(397), 4);
    nms_EnumOS_UNKNOWN = var$1;
    var$2 = $rt_createArray(nms_EnumOS, 5);
    var$3 = var$2.data;
    var$3[0] = nms_EnumOS_LINUX;
    var$3[1] = nms_EnumOS_SOLARIS;
    var$3[2] = nms_EnumOS_WINDOWS;
    var$3[3] = nms_EnumOS_MACOS;
    var$3[4] = nms_EnumOS_UNKNOWN;
    nms_EnumOS_$VALUES = var$2;
}
function otcic_CurrencyHelper() {
    jl_Object.call(this);
}
var otcic_CurrencyHelper_$$metadata$$0 = null;
var otcic_CurrencyHelper_$$metadata$$1 = null;
function otcic_CurrencyHelper__init_0() {
    var var_0 = new otcic_CurrencyHelper();
    otcic_CurrencyHelper__init_(var_0);
    return var_0;
}
function otcic_CurrencyHelper__init_($this) {
    return;
}
function otcic_CurrencyHelper_getCurrencies$$create() {
    return [{"code" : "AFN", "fractionDigits" : 2, "numericCode" : 971}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "ALL", "fractionDigits" : 2, "numericCode" : 8}, {"code" : "DZD", "fractionDigits" : 2, "numericCode" : 12}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "AOA", "fractionDigits" : 2, "numericCode" : 973}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : null,
    "fractionDigits" : 0, "numericCode" : 0}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "ARS", "fractionDigits" : 2, "numericCode" : 32}, {"code" : "AMD", "fractionDigits" : 2, "numericCode" : 51}, {"code" : "AWG", "fractionDigits" : 2, "numericCode" : 533}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "AZN", "fractionDigits" : 2, "numericCode" : 944}, {"code" : "BSD", "fractionDigits" : 2, "numericCode"
    : 44}, {"code" : "BHD", "fractionDigits" : 3, "numericCode" : 48}, {"code" : "BDT", "fractionDigits" : 2, "numericCode" : 50}, {"code" : "BBD", "fractionDigits" : 2, "numericCode" : 52}, {"code" : "BYR", "fractionDigits" : 0, "numericCode" : 974}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "BZD", "fractionDigits" : 2, "numericCode" : 84}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "BMD", "fractionDigits" : 2, "numericCode" : 60}, {"code" : "BTN", "fractionDigits"
    : 2, "numericCode" : 64}, {"code" : "INR", "fractionDigits" : 2, "numericCode" : 356}, {"code" : "BOB", "fractionDigits" : 2, "numericCode" : 68}, {"code" : "BOV", "fractionDigits" : 2, "numericCode" : 984}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "BAM", "fractionDigits" : 2, "numericCode" : 977}, {"code" : "BWP", "fractionDigits" : 2, "numericCode" : 72}, {"code" : "NOK", "fractionDigits" : 2, "numericCode" : 578}, {"code" : "BRL", "fractionDigits" : 2, "numericCode" : 986}
    , {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "BND", "fractionDigits" : 2, "numericCode" : 96}, {"code" : "BGN", "fractionDigits" : 2, "numericCode" : 975}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "BIF", "fractionDigits" : 0, "numericCode" : 108}, {"code" : "KHR", "fractionDigits" : 2, "numericCode" : 116}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "CAD", "fractionDigits" : 2, "numericCode" : 124}, {"code" : "CVE", "fractionDigits"
    : 2, "numericCode" : 132}, {"code" : "KYD", "fractionDigits" : 2, "numericCode" : 136}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "CLF", "fractionDigits" : 4, "numericCode" : 990}, {"code" : "CLP", "fractionDigits" : 0, "numericCode" : 152}, {"code" : "CNY", "fractionDigits" : 2, "numericCode" : 156}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}
    , {"code" : "COP", "fractionDigits" : 2, "numericCode" : 170}, {"code" : "COU", "fractionDigits" : 2, "numericCode" : 970}, {"code" : "KMF", "fractionDigits" : 0, "numericCode" : 174}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "CDF", "fractionDigits" : 2, "numericCode" : 976}, {"code" : "NZD", "fractionDigits" : 2, "numericCode" : 554}, {"code" : "CRC", "fractionDigits" : 2, "numericCode" : 188}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "HRK", "fractionDigits"
    : 2, "numericCode" : 191}, {"code" : "CUC", "fractionDigits" : 2, "numericCode" : 931}, {"code" : "CUP", "fractionDigits" : 2, "numericCode" : 192}, {"code" : "ANG", "fractionDigits" : 2, "numericCode" : 532}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "CZK", "fractionDigits" : 2, "numericCode" : 203}, {"code" : "DKK", "fractionDigits" : 2, "numericCode" : 208}, {"code" : "DJF", "fractionDigits" : 0, "numericCode" : 262}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" :
    951}, {"code" : "DOP", "fractionDigits" : 2, "numericCode" : 214}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "EGP", "fractionDigits" : 2, "numericCode" : 818}, {"code" : "SVC", "fractionDigits" : 2, "numericCode" : 222}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "ERN", "fractionDigits" : 2, "numericCode" : 232}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "ETB",
    "fractionDigits" : 2, "numericCode" : 230}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "FKP", "fractionDigits" : 2, "numericCode" : 238}, {"code" : "DKK", "fractionDigits" : 2, "numericCode" : 208}, {"code" : "FJD", "fractionDigits" : 2, "numericCode" : 242}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "XPF", "fractionDigits" : 0,
    "numericCode" : 953}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "XAF", "fractionDigits" : 0, "numericCode" : 950}, {"code" : "GMD", "fractionDigits" : 2, "numericCode" : 270}, {"code" : "GEL", "fractionDigits" : 2, "numericCode" : 981}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "GHS", "fractionDigits" : 2, "numericCode" : 936}, {"code" : "GIP", "fractionDigits" : 2, "numericCode" : 292}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}
    , {"code" : "DKK", "fractionDigits" : 2, "numericCode" : 208}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "GTQ", "fractionDigits" : 2, "numericCode" : 320}, {"code" : "GBP", "fractionDigits" : 2, "numericCode" : 826}, {"code" : "GNF", "fractionDigits" : 0, "numericCode" : 324}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "GYD", "fractionDigits"
    : 2, "numericCode" : 328}, {"code" : "HTG", "fractionDigits" : 2, "numericCode" : 332}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "HNL", "fractionDigits" : 2, "numericCode" : 340}, {"code" : "HKD", "fractionDigits" : 2, "numericCode" : 344}, {"code" : "HUF", "fractionDigits" : 2, "numericCode" : 348}, {"code" : "ISK", "fractionDigits" : 0, "numericCode" : 352}
    , {"code" : "INR", "fractionDigits" : 2, "numericCode" : 356}, {"code" : "IDR", "fractionDigits" : 2, "numericCode" : 360}, {"code" : "XDR", "fractionDigits" : -1, "numericCode" : 960}, {"code" : "IRR", "fractionDigits" : 2, "numericCode" : 364}, {"code" : "IQD", "fractionDigits" : 3, "numericCode" : 368}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "GBP", "fractionDigits" : 2, "numericCode" : 826}, {"code" : "ILS", "fractionDigits" : 2, "numericCode" : 376}, {"code" : "EUR", "fractionDigits"
    : 2, "numericCode" : 978}, {"code" : "JMD", "fractionDigits" : 2, "numericCode" : 388}, {"code" : "JPY", "fractionDigits" : 0, "numericCode" : 392}, {"code" : "GBP", "fractionDigits" : 2, "numericCode" : 826}, {"code" : "JOD", "fractionDigits" : 3, "numericCode" : 400}, {"code" : "KZT", "fractionDigits" : 2, "numericCode" : 398}, {"code" : "KES", "fractionDigits" : 2, "numericCode" : 404}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "KPW", "fractionDigits" : 2, "numericCode" : 408}
    , {"code" : "KRW", "fractionDigits" : 0, "numericCode" : 410}, {"code" : "KWD", "fractionDigits" : 3, "numericCode" : 414}, {"code" : "KGS", "fractionDigits" : 2, "numericCode" : 417}, {"code" : "LAK", "fractionDigits" : 2, "numericCode" : 418}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "LBP", "fractionDigits" : 2, "numericCode" : 422}, {"code" : "LSL", "fractionDigits" : 2, "numericCode" : 426}, {"code" : "ZAR", "fractionDigits" : 2, "numericCode" : 710}, {"code" : "LRD", "fractionDigits"
    : 2, "numericCode" : 430}, {"code" : "LYD", "fractionDigits" : 3, "numericCode" : 434}, {"code" : "CHF", "fractionDigits" : 2, "numericCode" : 756}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "MOP", "fractionDigits" : 2, "numericCode" : 446}, {"code" : "MKD", "fractionDigits" : 2, "numericCode" : 807}, {"code" : "MGA", "fractionDigits" : 2, "numericCode" : 969}, {"code" : "MWK", "fractionDigits" : 2, "numericCode" :
    454}, {"code" : "MYR", "fractionDigits" : 2, "numericCode" : 458}, {"code" : "MVR", "fractionDigits" : 2, "numericCode" : 462}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "MRO", "fractionDigits" : 2, "numericCode" : 478}, {"code" : "MUR", "fractionDigits" : 2, "numericCode" : 480}, {"code" : "EUR",
    "fractionDigits" : 2, "numericCode" : 978}, {"code" : "XUA", "fractionDigits" : -1, "numericCode" : 965}, {"code" : "MXN", "fractionDigits" : 2, "numericCode" : 484}, {"code" : "MXV", "fractionDigits" : 2, "numericCode" : 979}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "MDL", "fractionDigits" : 2, "numericCode" : 498}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "MNT", "fractionDigits" : 2, "numericCode" : 496}, {"code" : "EUR", "fractionDigits" : 2,
    "numericCode" : 978}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "MAD", "fractionDigits" : 2, "numericCode" : 504}, {"code" : "MZN", "fractionDigits" : 2, "numericCode" : 943}, {"code" : "MMK", "fractionDigits" : 2, "numericCode" : 104}, {"code" : "NAD", "fractionDigits" : 2, "numericCode" : 516}, {"code" : "ZAR", "fractionDigits" : 2, "numericCode" : 710}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "NPR", "fractionDigits" : 2, "numericCode" : 524},
    {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "XPF", "fractionDigits" : 0, "numericCode" : 953}, {"code" : "NZD", "fractionDigits" : 2, "numericCode" : 554}, {"code" : "NIO", "fractionDigits" : 2, "numericCode" : 558}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "NGN", "fractionDigits" : 2, "numericCode" : 566}, {"code" : "NZD", "fractionDigits" : 2, "numericCode" : 554}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "USD", "fractionDigits"
    : 2, "numericCode" : 840}, {"code" : "NOK", "fractionDigits" : 2, "numericCode" : 578}, {"code" : "OMR", "fractionDigits" : 3, "numericCode" : 512}, {"code" : "PKR", "fractionDigits" : 2, "numericCode" : 586}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : null, "fractionDigits" : 0, "numericCode" : 0}, {"code" : "PAB", "fractionDigits" : 2, "numericCode" : 590}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "PGK", "fractionDigits" : 2, "numericCode" : 598}
    , {"code" : "PYG", "fractionDigits" : 0, "numericCode" : 600}, {"code" : "PEN", "fractionDigits" : 2, "numericCode" : 604}, {"code" : "PHP", "fractionDigits" : 2, "numericCode" : 608}, {"code" : "NZD", "fractionDigits" : 2, "numericCode" : 554}, {"code" : "PLN", "fractionDigits" : 2, "numericCode" : 985}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "QAR", "fractionDigits" : 2, "numericCode" : 634}, {"code" : "EUR", "fractionDigits"
    : 2, "numericCode" : 978}, {"code" : "RON", "fractionDigits" : 2, "numericCode" : 946}, {"code" : "RUB", "fractionDigits" : 2, "numericCode" : 643}, {"code" : "RWF", "fractionDigits" : 0, "numericCode" : 646}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "SHP", "fractionDigits" : 2, "numericCode" : 654}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" :
    978}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "XCD", "fractionDigits" : 2, "numericCode" : 951}, {"code" : "WST", "fractionDigits" : 2, "numericCode" : 882}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "STD", "fractionDigits" : 2, "numericCode" : 678}, {"code" : "SAR", "fractionDigits" : 2, "numericCode" : 682}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "RSD", "fractionDigits" : 2, "numericCode" : 941}, {"code" : "SCR",
    "fractionDigits" : 2, "numericCode" : 690}, {"code" : "SLL", "fractionDigits" : 2, "numericCode" : 694}, {"code" : "SGD", "fractionDigits" : 2, "numericCode" : 702}, {"code" : "ANG", "fractionDigits" : 2, "numericCode" : 532}, {"code" : "XSU", "fractionDigits" : -1, "numericCode" : 994}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "SBD", "fractionDigits" : 2, "numericCode" : 90}, {"code" : "SOS", "fractionDigits" : 2,
    "numericCode" : 706}, {"code" : "ZAR", "fractionDigits" : 2, "numericCode" : 710}, {"code" : null, "fractionDigits" : 0, "numericCode" : 0}, {"code" : "SSP", "fractionDigits" : 2, "numericCode" : 728}, {"code" : "EUR", "fractionDigits" : 2, "numericCode" : 978}, {"code" : "LKR", "fractionDigits" : 2, "numericCode" : 144}, {"code" : "SDG", "fractionDigits" : 2, "numericCode" : 938}, {"code" : "SRD", "fractionDigits" : 2, "numericCode" : 968}, {"code" : "NOK", "fractionDigits" : 2, "numericCode" : 578}, {"code"
    : "SZL", "fractionDigits" : 2, "numericCode" : 748}, {"code" : "SEK", "fractionDigits" : 2, "numericCode" : 752}, {"code" : "CHE", "fractionDigits" : 2, "numericCode" : 947}, {"code" : "CHF", "fractionDigits" : 2, "numericCode" : 756}, {"code" : "CHW", "fractionDigits" : 2, "numericCode" : 948}, {"code" : "SYP", "fractionDigits" : 2, "numericCode" : 760}, {"code" : "TWD", "fractionDigits" : 2, "numericCode" : 901}, {"code" : "TJS", "fractionDigits" : 2, "numericCode" : 972}, {"code" : "TZS", "fractionDigits"
    : 2, "numericCode" : 834}, {"code" : "THB", "fractionDigits" : 2, "numericCode" : 764}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "XOF", "fractionDigits" : 0, "numericCode" : 952}, {"code" : "NZD", "fractionDigits" : 2, "numericCode" : 554}, {"code" : "TOP", "fractionDigits" : 2, "numericCode" : 776}, {"code" : "TTD", "fractionDigits" : 2, "numericCode" : 780}, {"code" : "TND", "fractionDigits" : 3, "numericCode" : 788}, {"code" : "TRY", "fractionDigits" : 2, "numericCode" :
    949}, {"code" : "TMT", "fractionDigits" : 2, "numericCode" : 934}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "AUD", "fractionDigits" : 2, "numericCode" : 36}, {"code" : "UGX", "fractionDigits" : 0, "numericCode" : 800}, {"code" : "UAH", "fractionDigits" : 2, "numericCode" : 980}, {"code" : "AED", "fractionDigits" : 2, "numericCode" : 784}, {"code" : "GBP", "fractionDigits" : 2, "numericCode" : 826}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "USN",
    "fractionDigits" : 2, "numericCode" : 997}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "UYI", "fractionDigits" : 0, "numericCode" : 940}, {"code" : "UYU", "fractionDigits" : 2, "numericCode" : 858}, {"code" : "UZS", "fractionDigits" : 2, "numericCode" : 860}, {"code" : "VUV", "fractionDigits" : 0, "numericCode" : 548}, {"code" : "VEF", "fractionDigits" : 2, "numericCode" : 937}, {"code" : "VND", "fractionDigits" : 0, "numericCode" : 704}, {"code" : "USD", "fractionDigits" : 2,
    "numericCode" : 840}, {"code" : "USD", "fractionDigits" : 2, "numericCode" : 840}, {"code" : "XPF", "fractionDigits" : 0, "numericCode" : 953}, {"code" : "MAD", "fractionDigits" : 2, "numericCode" : 504}, {"code" : "YER", "fractionDigits" : 2, "numericCode" : 886}, {"code" : "ZMW", "fractionDigits" : 2, "numericCode" : 967}, {"code" : "ZWL", "fractionDigits" : 2, "numericCode" : 932}, {"code" : "XBA", "fractionDigits" : -1, "numericCode" : 955}, {"code" : "XBB", "fractionDigits" : -1, "numericCode" : 956}
    , {"code" : "XBC", "fractionDigits" : -1, "numericCode" : 957}, {"code" : "XBD", "fractionDigits" : -1, "numericCode" : 958}, {"code" : "XTS", "fractionDigits" : -1, "numericCode" : 963}, {"code" : "XXX", "fractionDigits" : -1, "numericCode" : 999}, {"code" : "XAU", "fractionDigits" : -1, "numericCode" : 959}, {"code" : "XPD", "fractionDigits" : -1, "numericCode" : 964}, {"code" : "XPT", "fractionDigits" : -1, "numericCode" : 962}, {"code" : "XAG", "fractionDigits" : -1, "numericCode" : 961}];
}
function otcic_CurrencyHelper_getCountryToCurrencyMap$$create() {
    return {"": {"value" : "CYP"}, "PR": {"value" : "USD"}, "PT": {"value" : "EUR"}, "PW": {"value" : "USD"}, "PY": {"value" : "PYG"}, "QA": {"value" : "QAR"}, "AC": {"value" : "SHP"}, "AD": {"value" : "EUR"}, "AE": {"value" : "AED"}, "AF": {"value" : "AFN"}, "AG": {"value" : "XCD"}, "AI": {"value" : "XCD"}, "AL": {"value" : "ALL"}, "AM": {"value" : "AMD"}, "AN": {"value" : "ANG"}, "AO": {"value" : "AOA"}, "242": {"value" : "Brazzaville"}, "AQ": {"value" : ""}, "AR": {"value" : "ARS"}, "243": {"value" : "Kinshasa"}
    , "AS": {"value" : "USD"}, "AT": {"value" : "EUR"}, "RE": {"value" : "EUR"}, "AU": {"value" : ""}, "AW": {"value" : "AWG"}, "AX": {"value" : "EUR"}, "AZ": {"value" : "AMD"}, "RO": {"value" : "RON"}, "BA": {"value" : "BAM"}, "BB": {"value" : "BBD"}, "RS": {"value" : "RSD"}, "BD": {"value" : "BDT"}, "BE": {"value" : "EUR"}, "RU": {"value" : "RUB"}, "BF": {"value" : "XOF"}, "BG": {"value" : "BGN"}, "RW": {"value" : "RWF"}, "27": {"value" : ""}, "BH": {"value" : "BHD"}, "BI": {"value" : "BIF"}, "BJ": {"value"
    : "XOF"}, "BM": {"value" : "BMD"}, "BN": {"value" : "BND"}, "BO": {"value" : "BOB"}, "SA": {"value" : "SAR"}, "SB": {"value" : "SBD"}, "BR": {"value" : "BRL"}, "SC": {"value" : "SCR"}, "SD": {"value" : "SDD"}, "BT": {"value" : "BTN"}, "SE": {"value" : "SEK"}, "SG": {"value" : "SGD"}, "BV": {"value" : ""}, "BW": {"value" : "BWP"}, "SH": {"value" : "SHP"}, "SI": {"value" : "EUR"}, "BY": {"value" : "BYR"}, "SJ": {"value" : "NOK"}, "BZ": {"value" : "BZD"}, "SK": {"value" : "SKK"}, "SL": {"value" : "SLL"}, "SM":
    {"value" : "EUR"}, "SN": {"value" : "XOF"}, "SO": {"value" : ""}, "CA": {"value" : "CAD"}, "SR": {"value" : "SRD"}, "CC": {"value" : "AUD"}, "ST": {"value" : "STD"}, "CF": {"value" : "XAF"}, "SV": {"value" : "USD"}, "CH": {"value" : "CHF"}, "CI": {"value" : "XOF"}, "SY": {"value" : "SYP"}, "SZ": {"value" : "SZL"}, "CK": {"value" : "NZD"}, "CL": {"value" : "CLP"}, "CM": {"value" : "XAF"}, "CO": {"value" : "COP"}, "TA": {"value" : "SHP"}, "CR": {"value" : "CRC"}, "TC": {"value" : "USD"}, "TD": {"value" : "XAF"}
    , "CU": {"value" : "CUP"}, "TF": {"value" : ""}, "CV": {"value" : "CVE"}, "TG": {"value" : "XOF"}, "TH": {"value" : "THB"}, "CX": {"value" : "AUD"}, "CY": {"value" : "TRY"}, "TJ": {"value" : "TJS"}, "CZ": {"value" : "CZK"}, "TK": {"value" : "NZD"}, "TL": {"value" : "USD"}, "TM": {"value" : "TMM"}, "TN": {"value" : "TND"}, "TO": {"value" : "TOP"}, "TR": {"value" : "TRY"}, "TT": {"value" : "TTD"}, "DE": {"value" : "EUR"}, "TV": {"value" : "AUD"}, "DJ": {"value" : "DJF"}, "TZ": {"value" : "TZS"}, "DK": {"value"
    : "DKK"}, "DM": {"value" : "XCD"}, "DO": {"value" : "DOP"}, "UA": {"value" : "UAH"}, "UG": {"value" : "UGX"}, "DZ": {"value" : "DZD"}, "UM": {"value" : ""}, "EC": {"value" : "USD"}, "US": {"value" : "USD"}, "EE": {"value" : "EEK"}, "EG": {"value" : "EGP"}, "UY": {"value" : "UYU"}, "UZ": {"value" : "UZS"}, "VA": {"value" : "EUR"}, "ER": {"value" : "ERN"}, "VC": {"value" : "XCD"}, "ES": {"value" : "EUR"}, "ET": {"value" : "ETB"}, "VE": {"value" : "VEB"}, "VG": {"value" : "USD"}, "VI": {"value" : "USD"}, "VN":
    {"value" : "VND"}, "VU": {"value" : "VUV"}, "FI": {"value" : "EUR"}, "FJ": {"value" : "FJD"}, "FK": {"value" : "FKP"}, "FM": {"value" : "USD"}, "FO": {"value" : "DKK"}, "FR": {"value" : "EUR"}, "WF": {"value" : "XPF"}, "850": {"value" : "Pyongyang"}, "GA": {"value" : "XAF"}, "GB": {"value" : "GBP"}, "WS": {"value" : "WST"}, "GD": {"value" : "XCD"}, "GE": {"value" : "RUB and GEL"}, "GF": {"value" : "EUR"}, "GG": {"value" : "GGP"}, "GH": {"value" : "GHC"}, "GI": {"value" : "GIP"}, "GL": {"value" : "DKK"},
    "GN": {"value" : "GNF"}, "GP": {"value" : "EUR"}, "GQ": {"value" : "XAF"}, "GR": {"value" : "EUR"}, "GS": {"value" : ""}, "GT": {"value" : "GTQ"}, "GU": {"value" : "USD"}, "GW": {"value" : "XOF"}, "GY": {"value" : "GYD"}, "-241": {"value" : "Nassau"}, "82": {"value" : "Seoul"}, "86": {"value" : "Beijing"}, "HK": {"value" : "HKD"}, "HM": {"value" : ""}, "HN": {"value" : "HNL"}, "HR": {"value" : "HRK"}, "HT": {"value" : "HTG"}, "YE": {"value" : "YER"}, "HU": {"value" : "HUF"}, "ID": {"value" : "IDR"}, "YT":
    {"value" : "EUR"}, "IE": {"value" : "EUR"}, "IL": {"value" : "ILS"}, "IM": {"value" : "IMP"}, "IN": {"value" : "INR"}, "IO": {"value" : ""}, "IQ": {"value" : "IQD"}, "IR": {"value" : "IRR"}, "IS": {"value" : "ISK"}, "IT": {"value" : "EUR"}, "ZM": {"value" : "ZMK"}, "886": {"value" : "Taipei"}, "JE": {"value" : "JEP"}, "ZW": {"value" : "ZWD"}, "JM": {"value" : "JMD"}, "JO": {"value" : "JOD"}, "JP": {"value" : "JPY"}, "KE": {"value" : "KES"}, "KG": {"value" : "KGS"}, "KH": {"value" : "KHR"}, "KI": {"value"
    : "AUD"}, "KM": {"value" : "KMF"}, "KN": {"value" : "XCD"}, "KW": {"value" : "KWD"}, "KY": {"value" : "KYD"}, "KZ": {"value" : "KZT"}, "LA": {"value" : "LAK"}, "LB": {"value" : "LBP"}, "LC": {"value" : "XCD"}, "LI": {"value" : "CHF"}, "LK": {"value" : "LKR"}, "LR": {"value" : "LRD"}, "LS": {"value" : "LSL"}, "LT": {"value" : "LTL"}, "LU": {"value" : "EUR"}, "LV": {"value" : "LVL"}, "LY": {"value" : "LYD"}, "MA": {"value" : "MAD"}, "MC": {"value" : "EUR"}, "MD": {"value" : ""}, "ME": {"value" : "EUR"}, "MG":
    {"value" : "MGA"}, "MH": {"value" : "USD"}, "MK": {"value" : "MKD"}, "ML": {"value" : "XOF"}, "MM": {"value" : "MMK"}, "MN": {"value" : "MNT"}, "MO": {"value" : "MOP"}, "MP": {"value" : "USD"}, "MQ": {"value" : "EUR"}, "MR": {"value" : "MRO"}, "MS": {"value" : "XCD"}, "MT": {"value" : "MTL"}, "MU": {"value" : "MUR"}, "MV": {"value" : "MVR"}, "MW": {"value" : "MWK"}, "MX": {"value" : "MXN"}, "MY": {"value" : "MYR"}, "MZ": {"value" : "MZM"}, "NA": {"value" : "NAD"}, "NC": {"value" : "XPF"}, "NE": {"value"
    : "XOF"}, "NF": {"value" : "AUD"}, "NG": {"value" : "NGN"}, "NI": {"value" : "NIO"}, "NL": {"value" : "EUR"}, "NO": {"value" : "NOK"}, "NP": {"value" : "NPR"}, "NR": {"value" : "AUD"}, "NU": {"value" : "NZD"}, "NZ": {"value" : "NZD"}, "OM": {"value" : "OMR"}, "220": {"value" : "Banjul"}, "PA": {"value" : "PAB"}, "PE": {"value" : "PEN"}, "PF": {"value" : ""}, "PG": {"value" : "PGK"}, "PH": {"value" : "PHP"}, "PK": {"value" : "PKR"}, "PL": {"value" : "PLN"}, "PM": {"value" : "EUR"}, "PN": {"value" : "NZD"}
    };
}
function jn_IntBufferOverByteBuffer() {
    var a = this; jn_IntBufferImpl.call(a);
    a.$byteByffer = null;
    a.$readOnly4 = 0;
    a.$start9 = 0;
}
function jn_IntBufferOverByteBuffer__init_0(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new jn_IntBufferOverByteBuffer();
    jn_IntBufferOverByteBuffer__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
}
function jn_IntBufferOverByteBuffer__init_($this, $start, $capacity, $byteBuffer, $position, $limit, $readOnly) {
    jn_IntBufferImpl__init_($this, $capacity, $position, $limit);
    $this.$start9 = $start;
    $this.$byteByffer = $byteBuffer;
    $this.$readOnly4 = $readOnly;
}
function jn_IntBufferOverByteBuffer_readOnly($this) {
    return $this.$readOnly4;
}
function jn_IntBufferOverByteBufferLittleEndian() {
    jn_IntBufferOverByteBuffer.call(this);
}
function jn_IntBufferOverByteBufferLittleEndian_getElement($this, $index) {
    var var$2, var$3;
    var$2 = $this.$byteByffer.$array0.data;
    var$3 = $this.$start9;
    $index = $index * 4 | 0;
    return var$2[var$3 + $index | 0] & 255 | ($this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 1 | 0] & 255) << 8 | ($this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 2 | 0] & 255) << 16 | ($this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 3 | 0] & 255) << 24;
}
function jn_IntBufferOverByteBufferLittleEndian_putElement($this, $index, $value) {
    var var$3, var$4;
    var$3 = $this.$byteByffer.$array0.data;
    var$4 = $this.$start9;
    $index = $index * 4 | 0;
    var$3[var$4 + $index | 0] = $value << 24 >> 24;
    $this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 1 | 0] = $value >> 8 << 24 >> 24;
    $this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 2 | 0] = $value >> 16 << 24 >> 24;
    $this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 3 | 0] = $value >> 24 << 24 >> 24;
}
function jn_IntBufferOverByteBufferBigEndian() {
    jn_IntBufferOverByteBuffer.call(this);
}
function jn_IntBufferOverByteBufferBigEndian_getElement($this, $index) {
    var var$2, var$3;
    var$2 = $this.$byteByffer.$array0.data;
    var$3 = $this.$start9;
    $index = $index * 4 | 0;
    return (var$2[var$3 + $index | 0] & 255) << 24 | ($this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 1 | 0] & 255) << 16 | ($this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 2 | 0] & 255) << 8 | $this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 3 | 0] & 255;
}
function jn_IntBufferOverByteBufferBigEndian_putElement($this, $index, $value) {
    var var$3, var$4;
    var$3 = $this.$byteByffer.$array0.data;
    var$4 = $this.$start9;
    $index = $index * 4 | 0;
    var$3[var$4 + $index | 0] = $value >> 24 << 24 >> 24;
    $this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 1 | 0] = $value >> 16 << 24 >> 24;
    $this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 2 | 0] = $value >> 8 << 24 >> 24;
    $this.$byteByffer.$array0.data[($this.$start9 + $index | 0) + 3 | 0] = $value << 24 >> 24;
}
function jur_BackReferencedSingleSet() {
    jur_SingleSet.call(this);
}
function jur_BackReferencedSingleSet_find($this, $startSearch, $testString, $matchResult) {
    var $res, $lastIndex, $saveStart;
    $res = 0;
    $lastIndex = $matchResult.$rightBound0;
    a: {
        while (true) {
            if ($startSearch > $lastIndex) {
                $startSearch = $res;
                break a;
            }
            $saveStart = jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0);
            jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $startSearch);
            $res = $this.$kid.$matches0($startSearch, $testString, $matchResult);
            if ($res >= 0)
                break;
            jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $saveStart);
            $startSearch = $startSearch + 1 | 0;
        }
    }
    return $startSearch;
}
function jur_BackReferencedSingleSet_findBack($this, $stringIndex, $startSearch, $testString, $matchResult) {
    var $res, $saveStart;
    $res = 0;
    a: {
        while (true) {
            if ($startSearch < $stringIndex) {
                $startSearch = $res;
                break a;
            }
            $saveStart = jur_MatchResultImpl_getStart($matchResult, $this.$groupIndex0);
            jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $startSearch);
            $res = $this.$kid.$matches0($startSearch, $testString, $matchResult);
            if ($res >= 0)
                break;
            jur_MatchResultImpl_setStart($matchResult, $this.$groupIndex0, $saveStart);
            $startSearch = $startSearch + (-1) | 0;
        }
    }
    return $startSearch;
}
function jur_BackReferencedSingleSet_processBackRefReplacement($this) {
    return null;
}
function ju_HashMap$2() {
    ju_AbstractCollection.call(this);
    this.$this$03 = null;
}
function ju_HashMap$2_size($this) {
    return $this.$this$03.$elementCount;
}
function ju_HashMap$2_iterator($this) {
    var var$1;
    var$1 = new ju_HashMap$ValueIterator;
    ju_HashMap$AbstractMapIterator__init_(var$1, $this.$this$03);
    return var$1;
}
function jl_Double() {
    jl_Number.call(this);
    this.$value7 = 0.0;
}
var jl_Double_NaN = 0.0;
var jl_Double_TYPE = null;
function jl_Double_doubleValue($this) {
    return $this.$value7;
}
function jl_Double_intValue($this) {
    return $this.$value7 | 0;
}
function jl_Double_longValue($this) {
    return Long_fromNumber($this.$value7);
}
function jl_Double_valueOf($d) {
    var var$2;
    var$2 = new jl_Double;
    var$2.$value7 = $d;
    return var$2;
}
function jl_Double_toString($d) {
    var var$2;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    return jl_AbstractStringBuilder_toString(jl_StringBuilder_append4(var$2, $d));
}
function jl_Double_valueOf0($string) {
    return jl_Double_valueOf(jl_Double_parseDouble($string));
}
function jl_Double_parseDouble($string) {
    var $start, $end, $negative, $c, $mantissa, $exp, $hasOneDigit, var$9, $negativeExp, $numExp;
    if (jl_String_isEmpty($string)) {
        $string = new jl_NumberFormatException;
        jl_Throwable__init_0($string);
        $rt_throw($string);
    }
    $start = 0;
    $end = jl_String_length($string);
    while (true) {
        if (jl_String_charAt($string, $start) > 32) {
            while (jl_String_charAt($string, $end - 1 | 0) <= 32) {
                $end = $end + (-1) | 0;
            }
            $negative = 0;
            if (jl_String_charAt($string, $start) == 45) {
                $start = $start + 1 | 0;
                $negative = 1;
            } else if (jl_String_charAt($string, $start) == 43)
                $start = $start + 1 | 0;
            if ($start == $end) {
                $string = new jl_NumberFormatException;
                jl_Throwable__init_0($string);
                $rt_throw($string);
            }
            a: {
                $c = jl_String_charAt($string, $start);
                $mantissa = Long_ZERO;
                $exp = 0;
                $hasOneDigit = 0;
                if ($c != 46) {
                    $hasOneDigit = 1;
                    if ($c >= 48 && $c <= 57) {
                        b: {
                            while ($start < $end) {
                                if (jl_String_charAt($string, $start) != 48)
                                    break b;
                                $start = $start + 1 | 0;
                            }
                        }
                        while ($start < $end) {
                            var$9 = jl_String_charAt($string, $start);
                            if (var$9 < 48)
                                break a;
                            if (var$9 > 57)
                                break a;
                            if (Long_toNumber($mantissa) >= 1.0E17)
                                $exp = $exp + 1 | 0;
                            else
                                $mantissa = Long_add(Long_mul($mantissa, Long_fromInt(10)), Long_fromInt(var$9 - 48 | 0));
                            $start = $start + 1 | 0;
                        }
                    } else {
                        $string = new jl_NumberFormatException;
                        jl_Throwable__init_0($string);
                        $rt_throw($string);
                    }
                }
            }
            if ($start < $end && jl_String_charAt($string, $start) == 46) {
                $start = $start + 1 | 0;
                c: {
                    while (true) {
                        if ($start >= $end)
                            break c;
                        $c = jl_String_charAt($string, $start);
                        if ($c < 48)
                            break c;
                        if ($c > 57)
                            break;
                        if (Long_toNumber($mantissa) < 1.0E17) {
                            $mantissa = Long_add(Long_mul($mantissa, Long_fromInt(10)), Long_fromInt($c - 48 | 0));
                            $exp = $exp + (-1) | 0;
                        }
                        $start = $start + 1 | 0;
                        $hasOneDigit = 1;
                    }
                }
                if (!$hasOneDigit) {
                    $string = new jl_NumberFormatException;
                    jl_Exception__init_($string);
                    $rt_throw($string);
                }
            }
            if ($start < $end) {
                $c = jl_String_charAt($string, $start);
                if ($c != 101 && $c != 69)
                    $rt_throw(jl_NumberFormatException__init_0());
                $c = $start + 1 | 0;
                $negativeExp = 0;
                if ($c == $end)
                    $rt_throw(jl_NumberFormatException__init_0());
                if (jl_String_charAt($string, $c) == 45) {
                    $c = $c + 1 | 0;
                    $negativeExp = 1;
                } else if (jl_String_charAt($string, $c) == 43)
                    $c = $c + 1 | 0;
                $numExp = 0;
                $start = 0;
                d: {
                    while (true) {
                        if ($c >= $end)
                            break d;
                        $hasOneDigit = jl_String_charAt($string, $c);
                        if ($hasOneDigit < 48)
                            break d;
                        if ($hasOneDigit > 57)
                            break;
                        $numExp = (10 * $numExp | 0) + ($hasOneDigit - 48 | 0) | 0;
                        $start = 1;
                        $c = $c + 1 | 0;
                    }
                }
                if (!$start)
                    $rt_throw(jl_NumberFormatException__init_0());
                if ($negativeExp)
                    $numExp =  -$numExp;
                $exp = $exp + $numExp | 0;
            }
            e: {
                var$9 = $rt_compare($exp, 308);
                if (var$9 <= 0) {
                    if (var$9)
                        break e;
                    if (Long_le($mantissa, new Long(2133831477, 4185580)))
                        break e;
                }
                return $negative ? (-Infinity) : Infinity;
            }
            if ($negative)
                $mantissa = Long_neg($mantissa);
            return Long_toNumber($mantissa) * jl_Double_decimalExponent($exp);
        }
        $start = $start + 1 | 0;
        if ($start == $end)
            break;
    }
    $string = new jl_NumberFormatException;
    jl_Throwable__init_0($string);
    $rt_throw($string);
}
function jl_Double_decimalExponent($n) {
    var $d, $result;
    if ($n >= 0)
        $d = 10.0;
    else {
        $d = 0.1;
        $n =  -$n;
    }
    $result = 1.0;
    while ($n) {
        if ($n % 2 | 0)
            $result = $result * $d;
        $d = $d * $d;
        $n = $n / 2 | 0;
    }
    return $result;
}
function jl_Double_toString0($this) {
    return jl_Double_toString($this.$value7);
}
function jl_Double_equals($this, $other) {
    if ($this === $other)
        return 1;
    return $other instanceof jl_Double && $other.$value7 === $this.$value7 ? 1 : 0;
}
function jl_Double_hashCode($this) {
    var var$1;
    var$1 = $rt_doubleToLongBits($this.$value7);
    return var$1.hi ^ var$1.lo;
}
function jl_Double_compareTo($this, $other) {
    return $rt_compare($this.$value7, $other.$value7);
}
function jl_Double_isNaN($this) {
    return isNaN($this.$value7) ? 1 : 0;
}
function jl_Double_isInfinite($this) {
    return !isFinite($this.$value7) ? 1 : 0;
}
function jl_Double_compareTo0($this, var$1) {
    return jl_Double_compareTo($this, var$1);
}
function jl_Double__clinit_() {
    jl_Double_NaN = NaN;
    jl_Double_TYPE = $rt_cls($rt_doublecls());
}
function nle_BaseNCodec$Context() {
    var a = this; jl_Object.call(a);
    a.$ibitWorkArea = 0;
    a.$buffer1 = null;
    a.$pos = 0;
    a.$readPos = 0;
    a.$eof = 0;
    a.$currentLinePos = 0;
    a.$modulus = 0;
}
function nle_BaseNCodec$Context__init_0() {
    var var_0 = new nle_BaseNCodec$Context();
    nle_BaseNCodec$Context__init_(var_0);
    return var_0;
}
function nle_BaseNCodec$Context__init_($this) {
    return;
}
function nms_OpenGlHelper() {
    jl_Object.call(this);
}
var nms_OpenGlHelper_defaultTexUnit = 0;
var nms_OpenGlHelper_lightmapTexUnit = 0;
function nms_OpenGlHelper__init_0() {
    var var_0 = new nms_OpenGlHelper();
    nms_OpenGlHelper__init_(var_0);
    return var_0;
}
function nms_OpenGlHelper__init_($this) {
    return;
}
function nms_OpenGlHelper_setActiveTexture($par0) {
    a: {
        nleg_EaglerAdapterGL30_$callClinit();
        switch ($par0) {
            case 33984:
                nleg_EaglerAdapterGL30_selectedTex = 0;
                nlea_EaglerAdapterImpl2__wglActiveTexture(33984);
                break a;
            case 33985:
                nleg_EaglerAdapterGL30_selectedTex = 1;
                nlea_EaglerAdapterImpl2__wglActiveTexture(33985);
                break a;
            default:
        }
        ji_PrintStream_println(jl_System_err(), $rt_s(258));
    }
}
function nms_OpenGlHelper_setLightmapTextureCoords($par0, $par1, $par2) {
    a: {
        nleg_EaglerAdapterGL30_$callClinit();
        switch ($par0) {
            case 33984:
                break;
            case 33985:
                nleg_EaglerAdapterGL30_tex1X = $par1;
                nleg_EaglerAdapterGL30_tex1Y = $par2;
                break a;
            default:
                ji_PrintStream_println(jl_System_err(), $rt_s(258));
                break a;
        }
        nleg_EaglerAdapterGL30_tex0X = $par1;
        nleg_EaglerAdapterGL30_tex0Y = $par2;
    }
}
function nms_TextureManager() {
    var a = this; jl_Object.call(a);
    a.$nextTextureID = 0;
    a.$texturesMap = null;
    a.$mapNameToId = null;
}
var nms_TextureManager_instance = null;
function nms_TextureManager__init_0() {
    var var_0 = new nms_TextureManager();
    nms_TextureManager__init_(var_0);
    return var_0;
}
function nms_TextureManager__init_($this) {
    $this.$nextTextureID = 0;
    $this.$texturesMap = ju_HashMap__init_();
    $this.$mapNameToId = ju_HashMap__init_();
}
function nms_TextureManager_getNextTextureId($this) {
    var var$1;
    var$1 = $this.$nextTextureID;
    $this.$nextTextureID = var$1 + 1 | 0;
    return var$1;
}
function nms_TextureManager_registerTexture($this, $par1Str, $par2Texture) {
    ju_HashMap_putImpl($this.$mapNameToId, $par1Str, jl_Integer_valueOf($par2Texture.$textureId));
    if (!ju_HashMap_containsKey($this.$texturesMap, jl_Integer_valueOf($par2Texture.$textureId)))
        ju_HashMap_putImpl($this.$texturesMap, jl_Integer_valueOf($par2Texture.$textureId), $par2Texture);
}
function nms_TextureManager_registerTexture0($this, $par1Texture) {
    if (ju_HashMap_containsValue($this.$texturesMap, $par1Texture))
        ji_PrintStream_println(jl_System_out(), $rt_s(1105));
    else
        ju_HashMap_putImpl($this.$texturesMap, jl_Integer_valueOf($par1Texture.$textureId), $par1Texture);
}
function nms_TextureManager_createStitcher($this, $par1Str) {
    var var$2;
    var$2 = new nms_Stitcher;
    var$2.$setStitchHolders = ju_HashSet__init_1(256);
    var$2.$stitchSlots = ju_ArrayList__init_1(256);
    var$2.$currentWidth = 0;
    var$2.$currentHeight = 0;
    var$2.$textureName0 = $par1Str;
    var$2.$maxWidth = 8192;
    var$2.$maxHeight = 8192;
    var$2.$forcePowerOf2 = 1;
    var$2.$maxTileDimension = 0;
    return var$2;
}
function nms_TextureManager_createTexture($this, $par1Str) {
    var $var2, $var3, $var17, $b, $var9, $var10, $var11, $var12, var$10, var$11, $var15, $var16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$b = $thread.pop();$var17 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = ju_ArrayList__init_0();
        $var3 = nmc_Minecraft_theMinecraft.$texturePackList.$selectedTexturePack;
        $var17 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var17);
        jl_AbstractStringBuilder_append($var17, $rt_s(61));
        jl_AbstractStringBuilder_append($var17, $par1Str);
        $b = nlea_EaglerAdapterImpl2_loadResourceBytes(jl_AbstractStringBuilder_toString($var17));
        if ($b === null)
            return $var2;
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_loadPNG($b);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = $tmp;
        $var10 = $var9.$w0;
        $var11 = $var9.$h0;
        $var17 = jl_String_substring($par1Str, jl_String_lastIndexOf($par1Str, 47) + 1 | 0);
        $var12 = jl_String_substring0($var17, 0, jl_String_lastIndexOf($var17, 46));
        var$10 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$10);
        jl_AbstractStringBuilder_append(var$10, $rt_s(61));
        jl_AbstractStringBuilder_append(var$10, jl_String_substring0($par1Str, 0, jl_String_lastIndexOf($par1Str, 46)));
        jl_AbstractStringBuilder_append(var$10, $rt_s(1106));
        var$11 = jl_AbstractStringBuilder_toString(var$10);
        $var17 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var17);
        jl_AbstractStringBuilder_append($var17, $rt_s(61));
        jl_AbstractStringBuilder_append($var17, $par1Str);
        $var15 = nms_TexturePackImplementation_func_98138_b($var3, jl_AbstractStringBuilder_toString($var17), 0);
        if (nms_TexturePackImplementation_func_98138_b(nmc_Minecraft_theMinecraft.$texturePackList.$selectedTexturePack, var$11, $var15 ? 0 : 1)) {
            $var15 = $var11 / $var10 | 0;
            $var16 = 0;
            while ($var16 < $var15) {
                ju_ArrayList_add($var2, nms_TextureManager_makeTexture($this, $var12, 2, $var10, $var10, 33071, 6408, 9728, 9728, 0, nle_EaglerImage_getSubImage($var9, 0, $rt_imul($var10, $var16), $var10, $var10)));
                $var16 = $var16 + 1 | 0;
            }
        } else if ($var10 == $var11)
            ju_ArrayList_add($var2, nms_TextureManager_makeTexture($this, $var12, 2, $var10, $var10, 33071, 6408, 9728, 9728, 0, $var9));
        else {
            $var17 = jl_System_out();
            var$10 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$10);
            jl_AbstractStringBuilder_append(var$10, $rt_s(1107));
            jl_AbstractStringBuilder_append(var$10, $par1Str);
            jl_AbstractStringBuilder_append(var$10, $rt_s(1108));
            ji_PrintStream_println($var17, jl_AbstractStringBuilder_toString(var$10));
        }
        return $var2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $var2, $var3, $var17, $b, $var9, $var10, $var11, $var12, var$10, var$11, $var15, $var16, $ptr);
}
function nms_TextureManager_makeTexture($this, $par1Str, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9, $par10BufferedImage) {
    var $var11, var$12, var$13, var$14;
    $var11 = new nms_Texture;
    $var11.$textureName1 = $par1Str;
    $var11.$textureType0 = $par2;
    $var11.$width1 = $par3;
    $var11.$height1 = $par4;
    $var11.$textureDepth = 1;
    $var11.$textureFormat = $par6;
    $var11.$textureMinFilter = $par7;
    $var11.$textureMagFilter = $par8;
    $var11.$textureWrap = $par5;
    $var11.$textureRect = nms_Rect2i__init_(0, 0, $par3, $par4);
    $var11.$textureTarget = 3553;
    $var11.$mipmapActive = 0;
    var$12 = $rt_compare($par2, 2);
    if (!var$12)
        $var11.$glTextureId = (-1);
    else {
        $var11.$glTextureId = nleg_EaglerAdapterGL30_glGenTextures();
        nleg_EaglerAdapterGL30_glBindTexture($var11.$textureTarget, $var11.$glTextureId);
        nleg_EaglerAdapterGL30_glTexParameteri($var11.$textureTarget, 10241, $par7);
        nleg_EaglerAdapterGL30_glTexParameteri($var11.$textureTarget, 10240, $par8);
        nleg_EaglerAdapterGL30_glTexParameteri($var11.$textureTarget, 10242, $par5);
        nleg_EaglerAdapterGL30_glTexParameteri($var11.$textureTarget, 10243, $par5);
    }
    $var11.$textureId = nms_TextureManager_getNextTextureId(nms_TextureManager_instance);
    if ($par10BufferedImage !== null) {
        $var11.$transferred = 1;
        nms_Texture_transferFromImage($var11, $par10BufferedImage);
        if (var$12) {
            nms_Texture_uploadTexture($var11);
            $var11.$autoCreate = 0;
        }
    } else if ($par3 != (-1) && $par4 != (-1)) {
        var$13 = $rt_createByteArray(($rt_imul($par3, $par4) * 1 | 0) * 4 | 0);
        var$14 = var$13.data;
        $par2 = 0;
        $par3 = var$14.length;
        while ($par2 < $par3) {
            var$14[$par2] = 0;
            $par2 = $par2 + 1 | 0;
        }
        $var11.$textureData = nms_GLAllocation_createDirectByteBuffer($par3);
        jn_Buffer_clear($var11.$textureData);
        jn_ByteBuffer_put1($var11.$textureData, var$13);
        $par1Str = $var11.$textureData;
        jn_Buffer_position0($par1Str, 0);
        jn_Buffer_limit0($par1Str, $par3);
        if ($var11.$autoCreate)
            nms_Texture_uploadTexture($var11);
        else
            $var11.$textureNotModified = 0;
    } else
        $var11.$transferred = 0;
    nms_TextureManager_registerTexture0($this, $var11);
    return $var11;
}
function nms_TextureManager_createEmptyTexture($this, $par1Str, $par2, $par3, $par4, $par5) {
    return nms_TextureManager_makeTexture($this, $par1Str, $par2, $par3, $par4, 33071, $par5, 9728, 9728, 0, null);
}
function nms_TexturePackList() {
    var a = this; jl_Object.call(a);
    a.$mc0 = null;
    a.$availableTexturePacks = null;
    a.$texturePackCache = null;
    a.$selectedTexturePack = null;
    a.$isDownloading = 0;
}
var nms_TexturePackList_defaultTexturePack = null;
var nms_TexturePackList_$clinitCalled = false;
function nms_TexturePackList_$callClinit() {
    var $ptr = 0;
    if ($rt_resuming()) {
        $ptr = $rt_nativeThread().pop();
    } else if (nms_TexturePackList_$clinitCalled) {
        return;
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_TexturePackList_$clinitCalled = true;
        $ptr = 1;
    case 1:
        nms_TexturePackList__clinit_();
        if ($rt_suspending()) {
            break main;
        }
        nms_TexturePackList_$callClinit = $rt_eraseClinit(nms_TexturePackList);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($ptr);
}
function nms_TexturePackList_getIsDownloading($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        return $this.$isDownloading;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_TexturePackList_onDownloadFinished($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$isDownloading = 0;
        $ptr = 1;
    case 1:
        nms_TexturePackList_updateAvaliableTexturePacks($this);
        if ($rt_suspending()) {
            break main;
        }
        nmc_Minecraft_scheduleTexturePackRefresh($this.$mc0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_TexturePackList_updateAvaliableTexturePacks($this) {
    var $var1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = ju_ArrayList__init_0();
        $this.$selectedTexturePack = nms_TexturePackList_defaultTexturePack;
        ju_ArrayList_add($var1, nms_TexturePackList_defaultTexturePack);
        $this.$availableTexturePacks = $var1;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $ptr);
}
function nms_TexturePackList_getSelectedTexturePack($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        return $this.$selectedTexturePack;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_TexturePackList__clinit_() {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = new nms_TexturePackDefault;
        $ptr = 1;
    case 1:
        nms_TexturePackDefault__init_(var$1);
        if ($rt_suspending()) {
            break main;
        }
        nms_TexturePackList_defaultTexturePack = var$1;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push(var$1, $ptr);
}
function nms_ChatAllowedCharacters() {
    jl_Object.call(this);
}
var nms_ChatAllowedCharacters_allowedCharacters = null;
var nms_ChatAllowedCharacters_allowedCharactersArray = null;
function nms_ChatAllowedCharacters__init_0() {
    var var_0 = new nms_ChatAllowedCharacters();
    nms_ChatAllowedCharacters__init_(var_0);
    return var_0;
}
function nms_ChatAllowedCharacters__init_($this) {
    return;
}
function nms_ChatAllowedCharacters_isAllowedCharacter($par0) {
    a: {
        b: {
            if ($par0 != 167) {
                if (jl_String_indexOf0(nms_ChatAllowedCharacters_allowedCharacters, $par0) >= 0)
                    break b;
                if ($par0 > 32)
                    break b;
            }
            $par0 = 0;
            break a;
        }
        $par0 = 1;
    }
    return $par0;
}
function nms_ChatAllowedCharacters__clinit_() {
    var var$1, var$2;
    nms_ChatAllowedCharacters_allowedCharacters = null;
    var$1 = $rt_createCharArray(15);
    var$2 = var$1.data;
    var$2[0] = 47;
    var$2[1] = 10;
    var$2[2] = 13;
    var$2[3] = 9;
    var$2[4] = 0;
    var$2[5] = 12;
    var$2[6] = 96;
    var$2[7] = 63;
    var$2[8] = 42;
    var$2[9] = 92;
    var$2[10] = 60;
    var$2[11] = 62;
    var$2[12] = 124;
    var$2[13] = 34;
    var$2[14] = 58;
    nms_ChatAllowedCharacters_allowedCharactersArray = var$1;
}
function nms_ColorizerGrass() {
    jl_Object.call(this);
}
var nms_ColorizerGrass_grassBuffer = null;
function nms_ColorizerGrass__init_0() {
    var var_0 = new nms_ColorizerGrass();
    nms_ColorizerGrass__init_(var_0);
    return var_0;
}
function nms_ColorizerGrass__init_($this) {
    return;
}
function nms_ColorizerGrass_getGrassColor($par0, $par2) {
    var $var4, $var5;
    $par2 = $par2 * $par0;
    $var4 = (1.0 - $par0) * 255.0 | 0;
    $var5 = (1.0 - $par2) * 255.0 | 0;
    return nms_ColorizerGrass_grassBuffer.data[$var5 << 8 | $var4];
}
function nms_ColorizerGrass__clinit_() {
    nms_ColorizerGrass_grassBuffer = $rt_createIntArray(65536);
}
function nms_ColorizerFoliage() {
    jl_Object.call(this);
}
var nms_ColorizerFoliage_foliageBuffer = null;
function nms_ColorizerFoliage__init_0() {
    var var_0 = new nms_ColorizerFoliage();
    nms_ColorizerFoliage__init_(var_0);
    return var_0;
}
function nms_ColorizerFoliage__init_($this) {
    return;
}
function nms_ColorizerFoliage_getFoliageColor($par0, $par2) {
    var $var4, $var5;
    $par2 = $par2 * $par0;
    $var4 = (1.0 - $par0) * 255.0 | 0;
    $var5 = (1.0 - $par2) * 255.0 | 0;
    return nms_ColorizerFoliage_foliageBuffer.data[$var5 << 8 | $var4];
}
function nms_ColorizerFoliage__clinit_() {
    nms_ColorizerFoliage_foliageBuffer = $rt_createIntArray(65536);
}
function nms_RenderManager() {
    var a = this; jl_Object.call(a);
    a.$entityRenderMap = null;
    a.$fontRenderer1 = null;
    a.$renderEngine1 = null;
    a.$itemRenderer = null;
    a.$worldObj0 = null;
    a.$livingPlayer = null;
    a.$field_96451_i = null;
    a.$playerViewY = 0.0;
    a.$playerViewX = 0.0;
    a.$options1 = null;
    a.$viewerPosX = 0.0;
    a.$viewerPosY = 0.0;
    a.$viewerPosZ = 0.0;
}
var nms_RenderManager_instance = null;
var nms_RenderManager_renderPosX = 0.0;
var nms_RenderManager_renderPosY = 0.0;
var nms_RenderManager_renderPosZ = 0.0;
var nms_RenderManager_field_85095_o = 0;
function nms_RenderManager__init_0() {
    var var_0 = new nms_RenderManager();
    nms_RenderManager__init_(var_0);
    return var_0;
}
function nms_RenderManager__init_($this) {
    var $var1, var$2;
    jl_Object__init_0($this);
    $this.$entityRenderMap = ju_HashMap__init_();
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntitySpider), nms_RenderSpider__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityCaveSpider), nms_RenderSpider__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityPig), nms_RenderPig__init_(nms_ModelPig__init_0(), nms_ModelPig__init_1(0.5), 0.699999988079071));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntitySheep), nms_RenderSheep__init_(nms_ModelSheep2__init_0(), nms_ModelSheep1__init_0(), 0.699999988079071));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityCow), nms_RenderCow__init_(nms_ModelCow__init_0(), 0.699999988079071));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityMooshroom), nms_RenderMooshroom__init_(nms_ModelCow__init_0(), 0.699999988079071));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityWolf), nms_RenderWolf__init_(nms_ModelWolf__init_0(), nms_ModelWolf__init_0(), 0.5));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityChicken), nms_RenderChicken__init_(nms_ModelChicken__init_0(), 0.30000001192092896));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityOcelot), nms_RenderOcelot__init_(nms_ModelOcelot__init_0(), 0.4000000059604645));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntitySilverfish), nms_RenderSilverfish__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityCreeper), nms_RenderCreeper__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityEnderman), nms_RenderEnderman__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntitySnowman), nms_RenderSnowMan__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntitySkeleton), nms_RenderSkeleton__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityWitch), nms_RenderWitch__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityBlaze), nms_RenderBlaze__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityZombie), nms_RenderZombie__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntitySlime), nms_RenderSlime__init_(nms_ModelSlime__init_(16), nms_ModelSlime__init_(0), 0.25));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityMagmaCube), nms_RenderMagmaCube__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityPlayer), nms_RenderPlayer__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityGhast), nms_RenderGhast__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntitySquid), nms_RenderSquid__init_(nms_ModelSquid__init_0(), 0.699999988079071));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityVillager), nms_RenderVillager__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityIronGolem), nms_RenderIronGolem__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityBat), nms_RenderBat__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityDragon), nms_RenderDragon__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityEnderCrystal), nms_RenderEnderCrystal__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityWither), nms_RenderWither__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_Entity), nms_RenderEntity__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityPainting), nms_RenderPainting__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityItemFrame), nms_RenderItemFrame__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityArrow), nms_RenderArrow__init_0());
    $var1 = $this.$entityRenderMap;
    var$2 = new nms_RenderSnowball;
    nms_Item_$callClinit();
    nms_RenderSnowball__init_(var$2, nms_Item_snowball);
    ju_HashMap_put($var1, $rt_cls(nms_EntitySnowball), var$2);
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityEnderPearl), nms_RenderSnowball__init_0(nms_Item_enderPearl));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityEnderEye), nms_RenderSnowball__init_0(nms_Item_eyeOfEnder));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityEgg), nms_RenderSnowball__init_0(nms_Item_egg));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityPotion), nms_RenderSnowball__init_1(nms_Item_potion, 16384));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityExpBottle), nms_RenderSnowball__init_0(nms_Item_expBottle));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityFireworkRocket), nms_RenderSnowball__init_0(nms_Item_firework));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityLargeFireball), nms_RenderFireball__init_(2.0));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntitySmallFireball), nms_RenderFireball__init_(0.5));
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityWitherSkull), nms_RenderWitherSkull__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityItem), nms_RenderItem__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityXPOrb), nms_RenderXPOrb__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityTNTPrimed), nms_RenderTNTPrimed__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityFallingSand), nms_RenderFallingSand__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityMinecartTNT), nms_RenderTntMinecart__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityMinecartMobSpawner), nms_RenderMinecartMobSpawner__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityMinecart), nms_RenderMinecart__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityBoat), nms_RenderBoat__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityFishHook), nms_RenderFish__init_0());
    ju_HashMap_put($this.$entityRenderMap, $rt_cls(nms_EntityLightningBolt), nms_RenderLightningBolt__init_0());
    $var1 = ju_HashMap_values($this.$entityRenderMap).$iterator();
    while ($var1.$hasNext()) {
        nms_Render_setRenderManager($var1.$next(), $this);
    }
}
function nms_RenderManager_getEntityClassRenderObject($this, $par1Class) {
    var $var2;
    $var2 = ju_HashMap_get($this.$entityRenderMap, $par1Class);
    if ($var2 === null && $par1Class !== $rt_cls(nms_Entity)) {
        $var2 = nms_RenderManager_getEntityClassRenderObject($this, jl_Class_getSuperclass($par1Class));
        ju_HashMap_putImpl($this.$entityRenderMap, $par1Class, $var2);
    }
    return $var2;
}
function nms_RenderManager_getEntityRenderObject($this, $par1Entity) {
    return nms_RenderManager_getEntityClassRenderObject($this, jl_Object_getClass($par1Entity));
}
function nms_RenderManager_cacheActiveRenderInfo($this, $par1World, $par2RenderEngine, $par3FontRenderer, $par4EntityLiving, $par5EntityLiving, $par6GameSettings, $par7) {
    var $var8, var$9, var$10, var$11;
    $this.$worldObj0 = $par1World;
    $this.$renderEngine1 = $par2RenderEngine;
    $this.$options1 = $par6GameSettings;
    $this.$livingPlayer = $par4EntityLiving;
    $this.$field_96451_i = $par5EntityLiving;
    $this.$fontRenderer1 = $par3FontRenderer;
    if (!$par4EntityLiving.$sleeping) {
        $this.$playerViewY = $par4EntityLiving.$prevRotationYaw + ($par4EntityLiving.$rotationYaw - $par4EntityLiving.$prevRotationYaw) * $par7;
        $this.$playerViewX = $par4EntityLiving.$prevRotationPitch + ($par4EntityLiving.$rotationPitch - $par4EntityLiving.$prevRotationPitch) * $par7;
    } else {
        $var8 = nms_World_getBlockId($par1World, nms_MathHelper_floor_double($par4EntityLiving.$posX), nms_MathHelper_floor_double($par4EntityLiving.$posY), nms_MathHelper_floor_double($par4EntityLiving.$posZ));
        nms_Block_$callClinit();
        if ($var8 == nms_Block_bed.$blockID) {
            $this.$playerViewY = ((nms_World_getBlockMetadata($par1World, nms_MathHelper_floor_double($par4EntityLiving.$posX), nms_MathHelper_floor_double($par4EntityLiving.$posY), nms_MathHelper_floor_double($par4EntityLiving.$posZ)) & 3) * 90 | 0) + 180 | 0;
            $this.$playerViewX = 0.0;
        }
    }
    if ($par6GameSettings.$thirdPersonView == 2)
        $this.$playerViewY = $this.$playerViewY + 180.0;
    var$9 = $par4EntityLiving.$lastTickPosX;
    var$10 = $par4EntityLiving.$posX - $par4EntityLiving.$lastTickPosX;
    var$11 = $par7;
    $this.$viewerPosX = var$9 + var$10 * var$11;
    $this.$viewerPosY = $par4EntityLiving.$lastTickPosY + ($par4EntityLiving.$posY - $par4EntityLiving.$lastTickPosY) * var$11;
    $this.$viewerPosZ = $par4EntityLiving.$lastTickPosZ + ($par4EntityLiving.$posZ - $par4EntityLiving.$lastTickPosZ) * var$11;
}
function nms_RenderManager_renderEntity($this, $par1Entity, $par2) {
    var $var5, $var3, var$5, $var7, $var9, $var10, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();$var5 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par1Entity.$ticksExisted) {
            $par1Entity.$lastTickPosX = $par1Entity.$posX;
            $par1Entity.$lastTickPosY = $par1Entity.$posY;
            $par1Entity.$lastTickPosZ = $par1Entity.$posZ;
        }
        $var5 = $par1Entity.$lastTickPosX;
        $var3 = $par1Entity.$posX - $par1Entity.$lastTickPosX;
        var$5 = $par2;
        $var3 = $var5 + $var3 * var$5;
        $var5 = $par1Entity.$lastTickPosY + ($par1Entity.$posY - $par1Entity.$lastTickPosY) * var$5;
        $var7 = $par1Entity.$lastTickPosZ + ($par1Entity.$posZ - $par1Entity.$lastTickPosZ) * var$5;
        $var9 = $par1Entity.$prevRotationYaw + ($par1Entity.$rotationYaw - $par1Entity.$prevRotationYaw) * $par2;
        $var10 = $par1Entity.$getBrightnessForRender($par2);
        if ($par1Entity.$isBurning())
            $var10 = 15728880;
        $var11 = $var10 % 65536 | 0;
        $var12 = $var10 / 65536 | 0;
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, $var11 / 1.0, $var12 / 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var3 = $var3 - nms_RenderManager_renderPosX;
        $var5 = $var5 - nms_RenderManager_renderPosY;
        var$5 = $var7 - nms_RenderManager_renderPosZ;
        $ptr = 1;
    case 1:
        nms_RenderManager_renderEntityWithPosYaw($this, $par1Entity, $var3, $var5, var$5, $var9, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $var5, $var3, var$5, $var7, $var9, $var10, $var11, $var12, $ptr);
}
function nms_RenderManager_renderEntityWithPosYaw($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$7 = nms_RenderManager_getEntityRenderObject($this, $par1Entity);
        if (var$7 !== null && $this.$renderEngine1 !== null) {
            if (nms_RenderManager_field_85095_o && !nms_Entity_isInvisible($par1Entity)) {
                nleg_EaglerAdapterGL30_glDepthMask(0);
                nleg_EaglerAdapterGL30_glDisable(3553);
                nleg_EaglerAdapterGL30_glDisable(2896);
                nleg_EaglerAdapterGL30_glDisable(2884);
                nleg_EaglerAdapterGL30_glDisable(3042);
                nleg_EaglerAdapterGL30_glPushMatrix();
                nlea_Tessellator_$callClinit();
                var$8 = nlea_Tessellator_instance;
                nlea_Tessellator_startDrawingQuads(var$8);
                nlea_Tessellator_setColorRGBA(var$8, 255, 255, 255, 32);
                var$9 =  -$par1Entity.$width0 / 2.0;
                var$10 =  -$par1Entity.$width0 / 2.0;
                var$11 = $par1Entity.$width0 / 2.0;
                var$12 =  -$par1Entity.$width0 / 2.0;
                var$13 =  -$par1Entity.$width0 / 2.0;
                var$14 = $par1Entity.$width0 / 2.0;
                var$15 = $par1Entity.$width0 / 2.0;
                var$16 = $par1Entity.$width0 / 2.0;
                var$17 = $par1Entity.$height0;
                var$9 = $par2 + var$9;
                var$17 = $par4 + var$17;
                var$10 = $par6 + var$10;
                nlea_Tessellator_addVertex(var$8, var$9, var$17, var$10);
                nlea_Tessellator_addVertex(var$8, var$9, $par4, var$10);
                var$11 = $par2 + var$11;
                var$12 = $par6 + var$12;
                nlea_Tessellator_addVertex(var$8, var$11, $par4, var$12);
                nlea_Tessellator_addVertex(var$8, var$11, var$17, var$12);
                var$15 = $par2 + var$15;
                var$16 = $par6 + var$16;
                nlea_Tessellator_addVertex(var$8, var$15, var$17, var$16);
                nlea_Tessellator_addVertex(var$8, var$15, $par4, var$16);
                var$13 = $par2 + var$13;
                var$14 = $par6 + var$14;
                nlea_Tessellator_addVertex(var$8, var$13, $par4, var$14);
                nlea_Tessellator_addVertex(var$8, var$13, var$17, var$14);
                nlea_Tessellator_addVertex(var$8, var$11, var$17, var$12);
                nlea_Tessellator_addVertex(var$8, var$11, $par4, var$12);
                nlea_Tessellator_addVertex(var$8, var$15, $par4, var$16);
                nlea_Tessellator_addVertex(var$8, var$15, var$17, var$16);
                nlea_Tessellator_addVertex(var$8, var$13, var$17, var$14);
                nlea_Tessellator_addVertex(var$8, var$13, $par4, var$14);
                nlea_Tessellator_addVertex(var$8, var$9, $par4, var$10);
                nlea_Tessellator_addVertex(var$8, var$9, var$17, var$10);
                nlea_Tessellator_draw(var$8);
                nleg_EaglerAdapterGL30_glPopMatrix();
                nleg_EaglerAdapterGL30_glEnable(3553);
                nleg_EaglerAdapterGL30_glEnable(2896);
                nleg_EaglerAdapterGL30_glEnable(2884);
                nleg_EaglerAdapterGL30_glDisable(3042);
                nleg_EaglerAdapterGL30_glDepthMask(1);
            }
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        var$7.$doRender($par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        nms_Render_doRenderShadowAndFire(var$7, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
}
function nms_RenderManager_set($this, $par1World) {
    $this.$worldObj0 = $par1World;
}
function nms_RenderManager_getDistanceToCamera($this, $par1, $par3, $par5) {
    var $var7, $var9, $var11;
    $var7 = $par1 - $this.$viewerPosX;
    $var9 = $par3 - $this.$viewerPosY;
    $var11 = $par5 - $this.$viewerPosZ;
    return $var7 * $var7 + $var9 * $var9 + $var11 * $var11;
}
function nms_RenderManager_getFontRenderer($this) {
    return $this.$fontRenderer1;
}
function nms_RenderManager_updateIcons($this, $par1IconRegister) {
    var $var2;
    $var2 = ju_HashMap_values($this.$entityRenderMap).$iterator();
    while ($var2.$hasNext()) {
        $var2.$next().$updateIcons($par1IconRegister);
    }
}
function nms_RenderManager__clinit_() {
    nms_RenderManager_field_85095_o = 0;
}
function nms_ItemRenderer() {
    var a = this; jl_Object.call(a);
    a.$mc6 = null;
    a.$itemToRender = null;
    a.$equippedProgress = 0.0;
    a.$prevEquippedProgress = 0.0;
    a.$renderBlocksInstance = null;
    a.$mapItemRenderer = null;
    a.$equippedItemSlot = 0;
}
var nms_ItemRenderer_terrain = null;
var nms_ItemRenderer_items = null;
var nms_ItemRenderer_glint = null;
var nms_ItemRenderer_mapbg = null;
var nms_ItemRenderer_water = null;
function nms_ItemRenderer__init_(var_0) {
    var var_1 = new nms_ItemRenderer();
    nms_ItemRenderer__init_0(var_1, var_0);
    return var_1;
}
function nms_ItemRenderer__init_0($this, $par1Minecraft) {
    var var$2, var$3, var$4, var$5;
    $this.$itemToRender = null;
    $this.$equippedProgress = 0.0;
    $this.$prevEquippedProgress = 0.0;
    $this.$renderBlocksInstance = nms_RenderBlocks__init_2();
    $this.$equippedItemSlot = (-1);
    $this.$mc6 = $par1Minecraft;
    var$2 = new nms_MapItemRenderer;
    var$3 = $par1Minecraft.$fontRenderer;
    var$4 = $par1Minecraft.$gameSettings;
    $par1Minecraft = $par1Minecraft.$renderEngine;
    var$2.$intArray0 = $rt_createIntArray(16384);
    var$2.$gameSettings0 = var$4;
    var$2.$fontRenderer2 = var$3;
    var$2.$bufferedImage = nms_RenderEngine_allocateAndSetupTexture($par1Minecraft, nle_EaglerImage__init_0(128, 128, 0));
    var$5 = 0;
    while (var$5 < 16384) {
        var$2.$intArray0.data[var$5] = 0;
        var$5 = var$5 + 1 | 0;
    }
    $this.$mapItemRenderer = var$2;
}
function nms_ItemRenderer_renderItem($this, $par1EntityLiving, $par2ItemStack, $par3) {
    var $var4, $var5, $var6, $var7, $var8, $var9, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2ItemStack = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        if (!nms_ItemStack_getItemSpriteNumber($par2ItemStack)) {
            nms_Block_$callClinit();
            if (nms_Block_blocksList.data[$par2ItemStack.$itemID0] !== null && nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$par2ItemStack.$itemID0].$getRenderType())) {
                $par1EntityLiving = nms_ItemRenderer_terrain;
                $ptr = 3;
                continue main;
            }
        }
        $var4 = $par1EntityLiving.$getItemIcon($par2ItemStack, $par3);
        if ($var4 === null) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        if (nms_ItemStack_getItemSpriteNumber($par2ItemStack)) {
            $par1EntityLiving = nms_ItemRenderer_items;
            $ptr = 1;
            continue main;
        }
        $par1EntityLiving = nms_ItemRenderer_terrain;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var5 = nlea_Tessellator_instance;
        $var6 = $var4.$getMinU();
        $var7 = $var4.$getMaxU();
        $var8 = $var4.$getMinV();
        $var9 = $var4.$getMaxV();
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glTranslatef(-0.0, (-0.30000001192092896), 0.0);
        nleg_EaglerAdapterGL30_glScalef(1.5, 1.5, 1.5);
        nleg_EaglerAdapterGL30_glRotatef(50.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(335.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.9375), (-0.0625), 0.0);
        nms_ItemRenderer_renderItemIn2D($var5, $var7, $var8, $var6, $var9, $var4.$getSheetWidth(), $var4.$getSheetHeight(), 0.0625);
        if (nms_ItemStack_hasEffect($par2ItemStack) && !$par3) {
            nleg_EaglerAdapterGL30_glDepthFunc(514);
            nleg_EaglerAdapterGL30_glDisable(2896);
            $par1EntityLiving = nms_ItemRenderer_glint;
            $ptr = 5;
            continue main;
        }
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        nlea_Tessellator_$callClinit();
        $var5 = nlea_Tessellator_instance;
        $var6 = $var4.$getMinU();
        $var7 = $var4.$getMaxU();
        $var8 = $var4.$getMinV();
        $var9 = $var4.$getMaxV();
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glTranslatef(-0.0, (-0.30000001192092896), 0.0);
        nleg_EaglerAdapterGL30_glScalef(1.5, 1.5, 1.5);
        nleg_EaglerAdapterGL30_glRotatef(50.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(335.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.9375), (-0.0625), 0.0);
        nms_ItemRenderer_renderItemIn2D($var5, $var7, $var8, $var6, $var9, $var4.$getSheetWidth(), $var4.$getSheetHeight(), 0.0625);
        if (nms_ItemStack_hasEffect($par2ItemStack) && !$par3) {
            nleg_EaglerAdapterGL30_glDepthFunc(514);
            nleg_EaglerAdapterGL30_glDisable(2896);
            $par1EntityLiving = nms_ItemRenderer_glint;
            $ptr = 5;
            continue main;
        }
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 3:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        $par1EntityLiving = $this.$renderBlocksInstance;
        $var4 = nms_Block_blocksList.data[$par2ItemStack.$itemID0];
        $par3 = $par2ItemStack.$itemDamage;
        $var12 = 1.0;
        $ptr = 4;
    case 4:
        nms_RenderBlocks_renderBlockAsItem($par1EntityLiving, $var4, $par3, $var12);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 5:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(768, 1);
        nleg_EaglerAdapterGL30_glColor4f(0.3799999952316284, 0.1899999976158142, 0.6079999804496765, 1.0);
        nleg_EaglerAdapterGL30_glMatrixMode(5890);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.125, 0.125, 0.125);
        nleg_EaglerAdapterGL30_glTranslatef(Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(3000))) / 3000.0 * 8.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef((-50.0), 0.0, 0.0, 1.0);
        nms_ItemRenderer_renderItemIn2D($var5, 0.0, 0.0, 1.0, 1.0, 256, 256, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.125, 0.125, 0.125);
        nleg_EaglerAdapterGL30_glTranslatef( -(Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(4873))) / 4873.0 * 8.0), 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(10.0, 0.0, 0.0, 1.0);
        nms_ItemRenderer_renderItemIn2D($var5, 0.0, 0.0, 1.0, 1.0, 256, 256, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glDepthFunc(515);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2ItemStack, $par3, $var4, $var5, $var6, $var7, $var8, $var9, $var12, $ptr);
}
function nms_ItemRenderer_renderItemIn2D($par0Tessellator, $par1, $par2, $par3, $par4, $par5, $par6, $par7) {
    var var$9, var$10, var$11, var$12, var$13, $var13, $var8, var$16, $var9, $var10, $var12, $var11, $var12_0, var$22, var$23, var$24;
    nlea_Tessellator_startDrawingQuads($par0Tessellator);
    nlea_Tessellator_setNormal($par0Tessellator, 0.0, 0.0, 1.0);
    var$9 = $par1;
    var$10 = $par4;
    nlea_Tessellator_addVertexWithUV($par0Tessellator, 0.0, 0.0, 0.0, var$9, var$10);
    var$11 = $par3;
    nlea_Tessellator_addVertexWithUV($par0Tessellator, 1.0, 0.0, 0.0, var$11, var$10);
    var$12 = $par2;
    nlea_Tessellator_addVertexWithUV($par0Tessellator, 1.0, 1.0, 0.0, var$11, var$12);
    nlea_Tessellator_addVertexWithUV($par0Tessellator, 0.0, 1.0, 0.0, var$9, var$12);
    nlea_Tessellator_draw($par0Tessellator);
    nlea_Tessellator_startDrawingQuads($par0Tessellator);
    nlea_Tessellator_setNormal($par0Tessellator, 0.0, 0.0, (-1.0));
    var$13 = 0.0 - $par7;
    nlea_Tessellator_addVertexWithUV($par0Tessellator, 0.0, 1.0, var$13, var$9, var$12);
    nlea_Tessellator_addVertexWithUV($par0Tessellator, 1.0, 1.0, var$13, var$11, var$12);
    nlea_Tessellator_addVertexWithUV($par0Tessellator, 1.0, 0.0, var$13, var$11, var$10);
    nlea_Tessellator_addVertexWithUV($par0Tessellator, 0.0, 0.0, var$13, var$9, var$10);
    nlea_Tessellator_draw($par0Tessellator);
    $var13 = $par5;
    $var8 = $var13 * ($par1 - $par3);
    var$16 = $par6;
    $var9 = var$16 * ($par4 - $par2);
    nlea_Tessellator_startDrawingQuads($par0Tessellator);
    nlea_Tessellator_setNormal($par0Tessellator, (-1.0), 0.0, 0.0);
    $var10 = 0;
    $var12 = $par3 - $par1;
    $var13 = 0.5 / $var13;
    while (true) {
        $par3 = $var10;
        if ($par3 >= $var8)
            break;
        $var11 = $par3 / $var8;
        $var12_0 = $par1 + $var12 * $var11 - $var13;
        var$22 = $var11;
        var$23 = $var12_0;
        nlea_Tessellator_addVertexWithUV($par0Tessellator, var$22, 0.0, var$13, var$23, var$10);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, var$22, 0.0, 0.0, var$23, var$10);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, var$22, 1.0, 0.0, var$23, var$12);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, var$22, 1.0, var$13, var$23, var$12);
        $var10 = $var10 + 1 | 0;
    }
    nlea_Tessellator_draw($par0Tessellator);
    nlea_Tessellator_startDrawingQuads($par0Tessellator);
    nlea_Tessellator_setNormal($par0Tessellator, 1.0, 0.0, 0.0);
    $par5 = 0;
    $par7 = 1.0 / $var8;
    while (true) {
        $par3 = $par5;
        if ($par3 >= $var8)
            break;
        $var11 = $par3 / $var8;
        $var12_0 = $par1 + $var12 * $var11 - $var13;
        var$22 = $var11 + $par7;
        var$23 = $var12_0;
        nlea_Tessellator_addVertexWithUV($par0Tessellator, var$22, 1.0, var$13, var$23, var$12);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, var$22, 1.0, 0.0, var$23, var$12);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, var$22, 0.0, 0.0, var$23, var$10);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, var$22, 0.0, var$13, var$23, var$10);
        $par5 = $par5 + 1 | 0;
    }
    nlea_Tessellator_draw($par0Tessellator);
    nlea_Tessellator_startDrawingQuads($par0Tessellator);
    nlea_Tessellator_setNormal($par0Tessellator, 0.0, 1.0, 0.0);
    $par5 = 0;
    $par2 = $par2 - $par4;
    $par3 = 0.5 / var$16;
    $par1 = 1.0 / $var9;
    while (true) {
        $par7 = $par5;
        if ($par7 >= $var9)
            break;
        $var11 = $par7 / $var9;
        $var12 = $par4 + $par2 * $var11 - $par3;
        var$24 = $var11 + $par1;
        var$23 = $var12;
        nlea_Tessellator_addVertexWithUV($par0Tessellator, 0.0, var$24, 0.0, var$9, var$23);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, 1.0, var$24, 0.0, var$11, var$23);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, 1.0, var$24, var$13, var$11, var$23);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, 0.0, var$24, var$13, var$9, var$23);
        $par5 = $par5 + 1 | 0;
    }
    nlea_Tessellator_draw($par0Tessellator);
    nlea_Tessellator_startDrawingQuads($par0Tessellator);
    nlea_Tessellator_setNormal($par0Tessellator, 0.0, (-1.0), 0.0);
    $par5 = 0;
    while (true) {
        $par1 = $par5;
        if ($par1 >= $var9)
            break;
        $var11 = $par1 / $var9;
        $var12 = $par4 + $par2 * $var11 - $par3;
        var$24 = $var11;
        var$10 = $var12;
        nlea_Tessellator_addVertexWithUV($par0Tessellator, 1.0, var$24, 0.0, var$11, var$10);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, 0.0, var$24, 0.0, var$9, var$10);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, 0.0, var$24, var$13, var$9, var$10);
        nlea_Tessellator_addVertexWithUV($par0Tessellator, 1.0, var$24, var$13, var$11, var$10);
        $par5 = $par5 + 1 | 0;
    }
    nlea_Tessellator_draw($par0Tessellator);
}
function nms_ItemRenderer_renderItemInFirstPerson($this, $par1) {
    var $var2, $var3, $var4, $var6, $var7, $var17, $var18, $var8, $var9, $var22, $var26, $var19, $var21, $var20, $var10, $var11, $var12, $var23, $var13, $var14, $var25, $var15, $var27, $var16, $var24, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var24 = $thread.pop();$var16 = $thread.pop();$var27 = $thread.pop();$var15 = $thread.pop();$var25 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var23 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var20 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var26 = $thread.pop();$var22 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var7 = $thread.pop();$var6
        = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $this.$prevEquippedProgress + ($this.$equippedProgress - $this.$prevEquippedProgress) * $par1;
        $var3 = $this.$mc6.$thePlayer;
        $var4 = $var3.$prevRotationPitch + ($var3.$rotationPitch - $var3.$prevRotationPitch) * $par1;
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glRotatef($var4, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef($var3.$prevRotationYaw + ($var3.$rotationYaw - $var3.$prevRotationYaw) * $par1, 0.0, 1.0, 0.0);
        nms_RenderHelper_enableStandardItemLighting();
        nleg_EaglerAdapterGL30_glPopMatrix();
        if ($var3 instanceof nms_EntityPlayerSP) {
            $var6 = $var3.$prevRenderArmPitch + ($var3.$renderArmPitch - $var3.$prevRenderArmPitch) * $par1;
            $var7 = $var3.$prevRenderArmYaw + ($var3.$renderArmYaw - $var3.$prevRenderArmYaw) * $par1;
            nleg_EaglerAdapterGL30_glRotatef(($var3.$rotationPitch - $var6) * 0.10000000149011612, 1.0, 0.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef(($var3.$rotationYaw - $var7) * 0.10000000149011612, 0.0, 1.0, 0.0);
        }
        $var17 = $this.$itemToRender;
        nms_World_getLightBrightness($this.$mc6.$theWorld, nms_MathHelper_floor_double($var3.$posX), nms_MathHelper_floor_double($var3.$posY), nms_MathHelper_floor_double($var3.$posZ));
        $var6 = 1.0;
        $var18 = nms_World_getLightBrightnessForSkyBlocks($this.$mc6.$theWorld, nms_MathHelper_floor_double($var3.$posX), nms_MathHelper_floor_double($var3.$posY), nms_MathHelper_floor_double($var3.$posZ), 0);
        $var8 = $var18 % 65536 | 0;
        $var9 = $var18 / 65536 | 0;
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, $var8 / 1.0, $var9 / 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        if ($var17 === null)
            nleg_EaglerAdapterGL30_glColor4f($var6, $var6, $var6, 1.0);
        else {
            nms_Item_$callClinit();
            $var22 = nms_Item_itemsList.data[$var17.$itemID0].$getColorFromItemStack($var17, 0);
            nleg_EaglerAdapterGL30_glColor4f($var6 * ($var22 >> 16 & 255) / 255.0, $var6 * ($var22 >> 8 & 255) / 255.0, $var6 * ($var22 & 255) / 255.0, 1.0);
        }
        $var26 = nms_RenderManager_getEntityRenderObject(nms_RenderManager_instance, $this.$mc6.$thePlayer);
        if ($var17 !== null) {
            $var22 = $var17.$itemID0;
            nms_Item_$callClinit();
            if ($var22 == nms_Item_map.$itemID) {
                nleg_EaglerAdapterGL30_flipLightMatrix();
                nleg_EaglerAdapterGL30_glPushMatrix();
                $var19 = nms_EntityLiving_getSwingProgress($var3, $par1);
                $var21 = nms_MathHelper_sin($var19 * 3.1415927410125732);
                nleg_EaglerAdapterGL30_glTranslatef( -nms_MathHelper_sin(nms_MathHelper_sqrt_float($var19) * 3.1415927410125732) * 0.4000000059604645, nms_MathHelper_sin(nms_MathHelper_sqrt_float($var19) * 3.1415927410125732 * 2.0) * 0.20000000298023224,  -$var21 * 0.20000000298023224);
                $var6 = 1.0 - $var4 / 45.0 + 0.10000000149011612;
                if ($var6 < 0.0)
                    $var6 = 0.0;
                if ($var6 > 1.0)
                    $var6 = 1.0;
                $var6 =  -nms_MathHelper_cos($var6 * 3.1415927410125732) * 0.5 + 0.5;
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0 - (1.0 - $var2) * 1.2000000476837158 - $var6 * 0.5 + 0.03999999910593033, (-0.7199999690055847));
                nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var6 * (-85.0), 0.0, 0.0, 1.0);
                nleg_EaglerAdapterGL30_glEnable(32826);
                $ptr = 2;
                continue main;
            }
        }
        if ($var17 === null) {
            if (nms_Entity_isInvisible($var3)) {
                nleg_EaglerAdapterGL30_glDisable(32826);
                nms_RenderHelper_disableStandardItemLighting();
                return;
            }
            nleg_EaglerAdapterGL30_glPushMatrix();
            $var19 = nms_EntityLiving_getSwingProgress($var3, $par1);
            $var21 = nms_MathHelper_sin($var19 * 3.1415927410125732);
            nleg_EaglerAdapterGL30_glTranslatef( -nms_MathHelper_sin(nms_MathHelper_sqrt_float($var19) * 3.1415927410125732) * 0.30000001192092896, nms_MathHelper_sin(nms_MathHelper_sqrt_float($var19) * 3.1415927410125732 * 2.0) * 0.4000000059604645,  -$var21 * 0.4000000059604645);
            nleg_EaglerAdapterGL30_glTranslatef(0.64000004529953, (-0.6000000238418579) - (1.0 - $var2) * 0.6000000238418579, (-0.7199999690055847));
            nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glEnable(32826);
            $par1 = nms_EntityLiving_getSwingProgress($var3, $par1);
            $var6 = nms_MathHelper_sin($par1 * $par1 * 3.1415927410125732);
            nleg_EaglerAdapterGL30_glRotatef(nms_MathHelper_sin(nms_MathHelper_sqrt_float($par1) * 3.1415927410125732) * 70.0, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef( -$var6 * 20.0, 0.0, 0.0, 1.0);
            $ptr = 1;
            continue main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        if (nms_EntityPlayer_getItemInUseCount($var3) <= 0) {
            $var19 = nms_EntityLiving_getSwingProgress($var3, $par1);
            $var21 = nms_MathHelper_sin($var19 * 3.1415927410125732);
            nleg_EaglerAdapterGL30_glTranslatef( -nms_MathHelper_sin(nms_MathHelper_sqrt_float($var19) * 3.1415927410125732) * 0.4000000059604645, nms_MathHelper_sin(nms_MathHelper_sqrt_float($var19) * 3.1415927410125732 * 2.0) * 0.20000000298023224,  -$var21 * 0.20000000298023224);
        } else {
            $var20 = nms_ItemStack_getItemUseAction($var17);
            if (!($var20 !== nms_EnumAction_eat && $var20 !== nms_EnumAction_drink)) {
                $var21 = nms_EntityPlayer_getItemInUseCount($var3) - $par1 + 1.0;
                $var10 = 1.0 - $var21 / nms_ItemStack_getMaxItemUseDuration($var17);
                $var11 = 1.0 - $var10;
                $var7 = $var11 * $var11 * $var11;
                $var7 = $var7 * $var7 * $var7;
                $var12 = 1.0 - $var7 * $var7 * $var7;
                nleg_EaglerAdapterGL30_glTranslatef(0.0, nms_MathHelper_abs(nms_MathHelper_cos($var21 / 4.0 * 3.1415927410125732) * 0.10000000149011612) * ($var10 <= 0.2 ? 0 : 1), 0.0);
                nleg_EaglerAdapterGL30_glTranslatef($var12 * 0.6000000238418579,  -$var12 * 0.5, 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var12 * 90.0, 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var12 * 10.0, 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef($var12 * 30.0, 0.0, 0.0, 1.0);
            }
        }
        nleg_EaglerAdapterGL30_glTranslatef(0.5600000023841858, (-0.5199999809265137) - (1.0 - $var2) * 0.6000000238418579, (-0.7199999690055847));
        nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glEnable(32826);
        $var19 = nms_EntityLiving_getSwingProgress($var3, $par1);
        $var21 = nms_MathHelper_sin($var19 * $var19 * 3.1415927410125732);
        $var10 = nms_MathHelper_sin(nms_MathHelper_sqrt_float($var19) * 3.1415927410125732);
        nleg_EaglerAdapterGL30_glRotatef( -$var21 * 20.0, 0.0, 1.0, 0.0);
        $var2 =  -$var10;
        nleg_EaglerAdapterGL30_glRotatef($var2 * 20.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glRotatef($var2 * 80.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.4000000059604645, 0.4000000059604645, 0.4000000059604645);
        if (nms_EntityPlayer_getItemInUseCount($var3) > 0) {
            $var23 = nms_ItemStack_getItemUseAction($var17);
            if ($var23 === nms_EnumAction_block) {
                nleg_EaglerAdapterGL30_glTranslatef((-0.5), 0.20000000298023224, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(30.0, 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef((-80.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(60.0, 0.0, 1.0, 0.0);
            } else if ($var23 === nms_EnumAction_bow) {
                nleg_EaglerAdapterGL30_glRotatef((-18.0), 0.0, 0.0, 1.0);
                nleg_EaglerAdapterGL30_glRotatef((-12.0), 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef((-8.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glTranslatef((-0.8999999761581421), 0.20000000298023224, 0.0);
                $var13 = nms_ItemStack_getMaxItemUseDuration($var17) - (nms_EntityPlayer_getItemInUseCount($var3) - $par1 + 1.0);
                $var14 = $var13 / 20.0;
                $par1 = ($var14 * $var14 + $var14 * 2.0) / 3.0;
                if ($par1 > 1.0)
                    $par1 = 1.0;
                if ($par1 > 0.10000000149011612)
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, nms_MathHelper_sin(($var13 - 0.10000000149011612) * 1.2999999523162842) * 0.009999999776482582 * ($par1 - 0.10000000149011612), 0.0);
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, $par1 * 0.10000000149011612);
                nleg_EaglerAdapterGL30_glRotatef((-335.0), 0.0, 0.0, 1.0);
                nleg_EaglerAdapterGL30_glRotatef((-50.0), 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.5, 0.0);
                nleg_EaglerAdapterGL30_glScalef(1.0, 1.0, 1.0 + $par1 * 0.20000000298023224);
                nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.5), 0.0);
                nleg_EaglerAdapterGL30_glRotatef(50.0, 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(335.0, 0.0, 0.0, 1.0);
            }
        }
        if (nms_ItemStack_getItem($var17).$shouldRotateAroundWhenRendering())
            nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 1.0, 0.0);
        if (!nms_ItemStack_getItem($var17).$requiresMultipleRenderPasses()) {
            $var22 = 0;
            $ptr = 3;
            continue main;
        }
        $var22 = 0;
        $ptr = 4;
        continue main;
    case 1:
        nms_RenderPlayer_bindTexture($var26, $var3);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTranslatef((-1.0), 3.5999999046325684, 3.5);
        nleg_EaglerAdapterGL30_glRotatef(120.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glRotatef(200.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef((-135.0), 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef(5.599999904632568, 0.0, 0.0);
        $var3 = nms_RenderManager_getEntityRenderObject(nms_RenderManager_instance, $this.$mc6.$thePlayer);
        nleg_EaglerAdapterGL30_glScalef(1.0, 1.0, 1.0);
        nms_RenderPlayer_renderFirstPersonArm($var3, $this.$mc6.$thePlayer);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_RenderHelper_disableStandardItemLighting();
        return;
    case 2:
        nms_RenderPlayer_bindTexture($var26, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var18 = 0;
        while ($var18 < 2) {
            $var22 = ($var18 * 2 | 0) - 1 | 0;
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.6000000238418579), 1.100000023841858 * $var22);
            nleg_EaglerAdapterGL30_glRotatef((-45) * $var22 | 0, 1.0, 0.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef((-90.0), 0.0, 0.0, 1.0);
            nleg_EaglerAdapterGL30_glRotatef(59.0, 0.0, 0.0, 1.0);
            nleg_EaglerAdapterGL30_glRotatef((-65) * $var22 | 0, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glScalef(1.0, 1.0, 1.0);
            nms_RenderPlayer_renderFirstPersonArm($var26, $this.$mc6.$thePlayer);
            nleg_EaglerAdapterGL30_glPopMatrix();
            $var18 = $var18 + 1 | 0;
        }
        $var6 = nms_EntityLiving_getSwingProgress($var3, $par1);
        $par1 = nms_MathHelper_sin($var6 * $var6 * 3.1415927410125732);
        $var11 = nms_MathHelper_sin(nms_MathHelper_sqrt_float($var6) * 3.1415927410125732);
        nleg_EaglerAdapterGL30_glRotatef( -$par1 * 20.0, 0.0, 1.0, 0.0);
        $par1 =  -$var11;
        nleg_EaglerAdapterGL30_glRotatef($par1 * 20.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glRotatef($par1 * 80.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.3799999952316284, 0.3799999952316284, 0.3799999952316284);
        nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef((-1.0), (-1.0), 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.015625, 0.015625, 0.015625);
        $var3 = nms_ItemRenderer_mapbg;
        $ptr = 6;
        continue main;
    case 3:
        nms_ItemRenderer_renderItem($this, $var3, $var17, $var22);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_RenderHelper_disableStandardItemLighting();
        return;
    case 4:
        nms_ItemRenderer_renderItem($this, $var3, $var17, $var22);
        if ($rt_suspending()) {
            break main;
        }
        $var25 = nms_Item_itemsList.data[$var17.$itemID0].$getColorFromItemStack($var17, 1);
        $var13 = ($var25 >> 16 & 255) / 255.0;
        $var14 = ($var25 >> 8 & 255) / 255.0;
        $var15 = ($var25 & 255) / 255.0;
        nleg_EaglerAdapterGL30_glColor4f($var6 * $var13, $var6 * $var14, $var6 * $var15, 1.0);
        $var22 = 1;
        $ptr = 5;
    case 5:
        nms_ItemRenderer_renderItem($this, $var3, $var17, $var22);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_RenderHelper_disableStandardItemLighting();
        return;
    case 6:
        nle_TextureLocation_bindTexture($var3);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var27 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glNormal3f(0.0, 0.0, (-1.0));
        nlea_Tessellator_startDrawingQuads($var27);
        nlea_Tessellator_addVertexWithUV($var27, (-7.0), 135.0, 0.0, 0.0, 1.0);
        nlea_Tessellator_addVertexWithUV($var27, 135.0, 135.0, 0.0, 1.0, 1.0);
        nlea_Tessellator_addVertexWithUV($var27, 135.0, (-7.0), 0.0, 1.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var27, (-7.0), (-7.0), 0.0, 0.0, 0.0);
        nlea_Tessellator_draw($var27);
        $var16 = nms_ItemMap_getMapData(nms_Item_map, $var17, $this.$mc6.$theWorld);
        if ($var16 === null) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_flipLightMatrix();
            nleg_EaglerAdapterGL30_glDisable(32826);
            nms_RenderHelper_disableStandardItemLighting();
            return;
        }
        $var3 = $this.$mapItemRenderer;
        $var17 = $this.$mc6.$thePlayer;
        $var24 = $this.$mc6.$renderEngine;
        $ptr = 7;
    case 7:
        nms_MapItemRenderer_renderMap($var3, $var17, $var24, $var16);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_RenderHelper_disableStandardItemLighting();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $var3, $var4, $var6, $var7, $var17, $var18, $var8, $var9, $var22, $var26, $var19, $var21, $var20, $var10, $var11, $var12, $var23, $var13, $var14, $var25, $var15, $var27, $var16, $var24, $ptr);
}
function nms_ItemRenderer_renderOverlays($this, $par1) {
    var var$2, var$3, $var2, $var3, $var4, $var5, $var9, var$9, var$10, var$11, var$12, var$13, var$14, $var6, var$16, $var7, $var8, $var10, $var11, $var12, var$22, var$23, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$16 = $thread.pop();$var6 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var9 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1
        = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glDisable(3008);
        if (nms_Entity_isBurning($this.$mc6.$thePlayer)) {
            var$2 = nms_ItemRenderer_terrain;
            $ptr = 1;
            continue main;
        }
        if (!nms_EntityPlayer_isEntityInsideOpaqueBlock($this.$mc6.$thePlayer)) {
            var$3 = $this.$mc6.$thePlayer;
            nms_Material_$callClinit();
            if (!nms_Entity_isInsideOfMaterial(var$3, nms_Material_water)) {
                nleg_EaglerAdapterGL30_glEnable(3008);
                return;
            }
            var$2 = nms_ItemRenderer_water;
            $ptr = 3;
            continue main;
        }
        $var2 = nms_MathHelper_floor_double($this.$mc6.$thePlayer.$posX);
        $var3 = nms_MathHelper_floor_double($this.$mc6.$thePlayer.$posY);
        $var4 = nms_MathHelper_floor_double($this.$mc6.$thePlayer.$posZ);
        var$2 = nms_ItemRenderer_terrain;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture(var$2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        nlea_Tessellator_$callClinit();
        var$2 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 0.8999999761581421);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        $var5 = 0;
        while ($var5 < 2) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nms_Block_$callClinit();
            var$3 = nms_BlockFire_func_94438_c(nms_Block_fire, 1);
            $var9 = var$3.$getMinU();
            var$9 = var$3.$getMaxU();
            var$10 = var$3.$getMinV();
            var$11 = var$3.$getMaxV();
            $var2 = ($var5 * 2 | 0) - 1 | 0;
            nleg_EaglerAdapterGL30_glTranslatef( -$var2 * 0.23999999463558197, (-0.30000001192092896), 0.0);
            nleg_EaglerAdapterGL30_glRotatef($var2 * 10.0, 0.0, 1.0, 0.0);
            nlea_Tessellator_startDrawingQuads(var$2);
            var$12 = var$9;
            var$13 = var$11;
            nlea_Tessellator_addVertexWithUV(var$2, (-0.5), (-0.5), (-0.5), var$12, var$13);
            var$14 = $var9;
            nlea_Tessellator_addVertexWithUV(var$2, 0.5, (-0.5), (-0.5), var$14, var$13);
            var$13 = var$10;
            nlea_Tessellator_addVertexWithUV(var$2, 0.5, 0.5, (-0.5), var$14, var$13);
            nlea_Tessellator_addVertexWithUV(var$2, (-0.5), 0.5, (-0.5), var$12, var$13);
            nlea_Tessellator_draw(var$2);
            nleg_EaglerAdapterGL30_glPopMatrix();
            $var5 = $var5 + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        if (!nms_EntityPlayer_isEntityInsideOpaqueBlock($this.$mc6.$thePlayer)) {
            var$3 = $this.$mc6.$thePlayer;
            nms_Material_$callClinit();
            if (!nms_Entity_isInsideOfMaterial(var$3, nms_Material_water)) {
                nleg_EaglerAdapterGL30_glEnable(3008);
                return;
            }
            var$2 = nms_ItemRenderer_water;
            $ptr = 3;
            continue main;
        }
        $var2 = nms_MathHelper_floor_double($this.$mc6.$thePlayer.$posX);
        $var3 = nms_MathHelper_floor_double($this.$mc6.$thePlayer.$posY);
        $var4 = nms_MathHelper_floor_double($this.$mc6.$thePlayer.$posZ);
        var$2 = nms_ItemRenderer_terrain;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture(var$2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        $var5 = nms_World_getBlockId($this.$mc6.$theWorld, $var2, $var3, $var4);
        if (nms_World_isBlockNormalCube($this.$mc6.$theWorld, $var2, $var3, $var4)) {
            nms_Block_$callClinit();
            nms_ItemRenderer_renderInsideOfBlock($this, $par1, nms_Block_getBlockTextureFromSide(nms_Block_blocksList.data[$var5], 2));
        } else {
            $var6 = 0;
            var$10 = $var2;
            var$11 = $var3;
            var$16 = $var4;
            while ($var6 < 8) {
                $var7 = ((($var6 >> 0) % 2 | 0) - 0.5) * $this.$mc6.$thePlayer.$width0 * 0.8999999761581421;
                $var8 = ((($var6 >> 1) % 2 | 0) - 0.5) * $this.$mc6.$thePlayer.$height0 * 0.20000000298023224;
                $var9 = ((($var6 >> 2) % 2 | 0) - 0.5) * $this.$mc6.$thePlayer.$width0 * 0.8999999761581421;
                $var10 = nms_MathHelper_floor_float(var$10 + $var7);
                $var11 = nms_MathHelper_floor_float(var$11 + $var8);
                $var12 = nms_MathHelper_floor_float(var$16 + $var9);
                if (nms_World_isBlockNormalCube($this.$mc6.$theWorld, $var10, $var11, $var12))
                    $var5 = nms_World_getBlockId($this.$mc6.$theWorld, $var10, $var11, $var12);
                $var6 = $var6 + 1 | 0;
            }
        }
        nms_Block_$callClinit();
        if (nms_Block_blocksList.data[$var5] !== null)
            nms_ItemRenderer_renderInsideOfBlock($this, $par1, nms_Block_getBlockTextureFromSide(nms_Block_blocksList.data[$var5], 2));
        var$3 = $this.$mc6.$thePlayer;
        nms_Material_$callClinit();
        if (!nms_Entity_isInsideOfMaterial(var$3, nms_Material_water)) {
            nleg_EaglerAdapterGL30_glEnable(3008);
            return;
        }
        var$2 = nms_ItemRenderer_water;
        $ptr = 3;
    case 3:
        nle_TextureLocation_bindTexture(var$2);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        var$2 = nlea_Tessellator_instance;
        $var9 = nms_Entity_getBrightness($this.$mc6.$thePlayer, $par1);
        nleg_EaglerAdapterGL30_glColor4f($var9, $var9, $var9, 0.5);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var9 =  -$this.$mc6.$thePlayer.$rotationYaw / 64.0;
        var$9 = $this.$mc6.$thePlayer.$rotationPitch / 64.0;
        nlea_Tessellator_startDrawingQuads(var$2);
        var$22 = 4.0 + $var9;
        var$12 = 4.0 + var$9;
        nlea_Tessellator_addVertexWithUV(var$2, (-1.0), (-1.0), (-0.5), var$22, var$12);
        var$23 = 0.0 + $var9;
        nlea_Tessellator_addVertexWithUV(var$2, 1.0, (-1.0), (-0.5), var$23, var$12);
        var$12 = 0.0 + var$9;
        nlea_Tessellator_addVertexWithUV(var$2, 1.0, 1.0, (-0.5), var$23, var$12);
        nlea_Tessellator_addVertexWithUV(var$2, (-1.0), 1.0, (-0.5), var$22, var$12);
        nlea_Tessellator_draw(var$2);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(3008);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, var$3, $var2, $var3, $var4, $var5, $var9, var$9, var$10, var$11, var$12, var$13, var$14, $var6, var$16, $var7, $var8, $var10, $var11, $var12, var$22, var$23, $ptr);
}
function nms_ItemRenderer_renderInsideOfBlock($this, $par1, $par2Icon) {
    var $var3, $var10, $var11, $var12, $var13, var$8, var$9, var$10;
    nlea_Tessellator_$callClinit();
    $var3 = nlea_Tessellator_instance;
    nleg_EaglerAdapterGL30_glColor4f(0.10000000149011612, 0.10000000149011612, 0.10000000149011612, 0.5);
    nleg_EaglerAdapterGL30_glPushMatrix();
    $var10 = $par2Icon.$getMinU();
    $var11 = $par2Icon.$getMaxU();
    $var12 = $par2Icon.$getMinV();
    $var13 = $par2Icon.$getMaxV();
    nlea_Tessellator_startDrawingQuads($var3);
    var$8 = $var11;
    var$9 = $var13;
    nlea_Tessellator_addVertexWithUV($var3, (-1.0), (-1.0), (-0.5), var$8, var$9);
    var$10 = $var10;
    nlea_Tessellator_addVertexWithUV($var3, 1.0, (-1.0), (-0.5), var$10, var$9);
    var$9 = $var12;
    nlea_Tessellator_addVertexWithUV($var3, 1.0, 1.0, (-0.5), var$10, var$9);
    nlea_Tessellator_addVertexWithUV($var3, (-1.0), 1.0, (-0.5), var$8, var$9);
    nlea_Tessellator_draw($var3);
    nleg_EaglerAdapterGL30_glPopMatrix();
    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
}
function nms_ItemRenderer_updateEquippedItem($this) {
    var $var1, $var2, $var3, $var4, $var6, $var5;
    $this.$prevEquippedProgress = $this.$equippedProgress;
    $var1 = $this.$mc6.$thePlayer;
    $var2 = nms_InventoryPlayer_getCurrentItem($var1.$inventory);
    $var3 = $this.$equippedItemSlot == $var1.$inventory.$currentItem && $var2 === $this.$itemToRender ? 1 : 0;
    if ($this.$itemToRender === null && $var2 === null)
        $var3 = 1;
    if ($var2 !== null && $this.$itemToRender !== null && $var2 !== $this.$itemToRender && $var2.$itemID0 == $this.$itemToRender.$itemID0 && $var2.$itemDamage == $this.$itemToRender.$itemDamage) {
        $this.$itemToRender = $var2;
        $var3 = 1;
    }
    $var4 = 0.4000000059604645;
    $var6 = (!$var3 ? 0.0 : 1.0) - $this.$equippedProgress;
    $var5 = (-0.4000000059604645);
    if ($var6 >= $var5)
        $var5 = $var6;
    if ($var5 <= $var4)
        $var4 = $var5;
    $this.$equippedProgress = $this.$equippedProgress + $var4;
    if ($this.$equippedProgress < 0.10000000149011612) {
        $this.$itemToRender = $var2;
        $this.$equippedItemSlot = $var1.$inventory.$currentItem;
    }
}
function nms_ItemRenderer_resetEquippedProgress($this) {
    $this.$equippedProgress = 0.0;
}
function nms_ItemRenderer_resetEquippedProgress2($this) {
    $this.$equippedProgress = 0.0;
}
function nms_ItemRenderer__clinit_() {
    nms_ItemRenderer_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_ItemRenderer_items = nle_TextureLocation__init_($rt_s(992));
    nms_ItemRenderer_glint = nle_TextureLocation__init_($rt_s(1109));
    nms_ItemRenderer_mapbg = nle_TextureLocation__init_($rt_s(1110));
    nms_ItemRenderer_water = nle_TextureLocation__init_($rt_s(1111));
}
function nms_AchievementList() {
    jl_Object.call(this);
}
var nms_AchievementList_minDisplayColumn = 0;
var nms_AchievementList_minDisplayRow = 0;
var nms_AchievementList_maxDisplayColumn = 0;
var nms_AchievementList_maxDisplayRow = 0;
var nms_AchievementList_achievementList = null;
var nms_AchievementList_openInventory = null;
var nms_AchievementList_mineWood = null;
var nms_AchievementList_buildWorkBench = null;
var nms_AchievementList_buildPickaxe = null;
var nms_AchievementList_buildFurnace = null;
var nms_AchievementList_acquireIron = null;
var nms_AchievementList_buildHoe = null;
var nms_AchievementList_makeBread = null;
var nms_AchievementList_bakeCake = null;
var nms_AchievementList_buildBetterPickaxe = null;
var nms_AchievementList_cookFish = null;
var nms_AchievementList_onARail = null;
var nms_AchievementList_buildSword = null;
var nms_AchievementList_killEnemy = null;
var nms_AchievementList_killCow = null;
var nms_AchievementList_flyPig = null;
var nms_AchievementList_snipeSkeleton = null;
var nms_AchievementList_diamonds = null;
var nms_AchievementList_portal = null;
var nms_AchievementList_ghast = null;
var nms_AchievementList_blazeRod = null;
var nms_AchievementList_potion = null;
var nms_AchievementList_theEnd = null;
var nms_AchievementList_theEnd2 = null;
var nms_AchievementList_enchantments = null;
var nms_AchievementList_overkill = null;
var nms_AchievementList_bookcase = null;
function nms_AchievementList_$callClinit() {
    nms_AchievementList_$callClinit = $rt_eraseClinit(nms_AchievementList);
    nms_AchievementList__clinit_();
}
function nms_AchievementList__init_0() {
    var var_0 = new nms_AchievementList();
    nms_AchievementList__init_(var_0);
    return var_0;
}
function nms_AchievementList__init_($this) {
    nms_AchievementList_$callClinit();
}
function nms_AchievementList__clinit_() {
    var var$1, var$2;
    nms_AchievementList_achievementList = ju_ArrayList__init_0();
    var$1 = new nms_Achievement;
    nms_Item_$callClinit();
    nms_Achievement__init_(var$1, 0, $rt_s(1112), 0, 0, nms_Item_book, null);
    nms_AchievementList_openInventory = nms_Achievement_registerAchievement(nms_Achievement_setIndependent(var$1));
    var$2 = new nms_Achievement;
    nms_Block_$callClinit();
    nms_Achievement__init_0(var$2, 1, $rt_s(1113), 2, 1, nms_Block_wood, nms_AchievementList_openInventory);
    nms_AchievementList_mineWood = nms_Achievement_registerAchievement(var$2);
    nms_AchievementList_buildWorkBench = nms_Achievement_registerAchievement(nms_Achievement__init_1(2, $rt_s(1114), 4, (-1), nms_Block_workbench, nms_AchievementList_mineWood));
    nms_AchievementList_buildPickaxe = nms_Achievement_registerAchievement(nms_Achievement__init_2(3, $rt_s(1115), 4, 2, nms_Item_pickaxeWood, nms_AchievementList_buildWorkBench));
    nms_AchievementList_buildFurnace = nms_Achievement_registerAchievement(nms_Achievement__init_1(4, $rt_s(1116), 3, 4, nms_Block_furnaceIdle, nms_AchievementList_buildPickaxe));
    nms_AchievementList_acquireIron = nms_Achievement_registerAchievement(nms_Achievement__init_2(5, $rt_s(1117), 1, 4, nms_Item_ingotIron, nms_AchievementList_buildFurnace));
    nms_AchievementList_buildHoe = nms_Achievement_registerAchievement(nms_Achievement__init_2(6, $rt_s(1118), 2, (-3), nms_Item_hoeWood, nms_AchievementList_buildWorkBench));
    nms_AchievementList_makeBread = nms_Achievement_registerAchievement(nms_Achievement__init_2(7, $rt_s(1119), (-1), (-3), nms_Item_bread, nms_AchievementList_buildHoe));
    nms_AchievementList_bakeCake = nms_Achievement_registerAchievement(nms_Achievement__init_2(8, $rt_s(1120), 0, (-5), nms_Item_cake, nms_AchievementList_buildHoe));
    nms_AchievementList_buildBetterPickaxe = nms_Achievement_registerAchievement(nms_Achievement__init_2(9, $rt_s(1121), 6, 2, nms_Item_pickaxeStone, nms_AchievementList_buildPickaxe));
    nms_AchievementList_cookFish = nms_Achievement_registerAchievement(nms_Achievement__init_2(10, $rt_s(1122), 2, 6, nms_Item_fishCooked, nms_AchievementList_buildFurnace));
    nms_AchievementList_onARail = nms_Achievement_registerAchievement(nms_Achievement_setSpecial(nms_Achievement__init_1(11, $rt_s(1123), 2, 3, nms_Block_rail, nms_AchievementList_acquireIron)));
    nms_AchievementList_buildSword = nms_Achievement_registerAchievement(nms_Achievement__init_2(12, $rt_s(1124), 6, (-1), nms_Item_swordWood, nms_AchievementList_buildWorkBench));
    nms_AchievementList_killEnemy = nms_Achievement_registerAchievement(nms_Achievement__init_2(13, $rt_s(1125), 8, (-1), nms_Item_bone, nms_AchievementList_buildSword));
    nms_AchievementList_killCow = nms_Achievement_registerAchievement(nms_Achievement__init_2(14, $rt_s(1126), 7, (-3), nms_Item_leather, nms_AchievementList_buildSword));
    nms_AchievementList_flyPig = nms_Achievement_registerAchievement(nms_Achievement_setSpecial(nms_Achievement__init_2(15, $rt_s(1127), 8, (-4), nms_Item_saddle, nms_AchievementList_killCow)));
    nms_AchievementList_snipeSkeleton = nms_Achievement_registerAchievement(nms_Achievement_setSpecial(nms_Achievement__init_2(16, $rt_s(1128), 7, 0, nms_Item_bow, nms_AchievementList_killEnemy)));
    nms_AchievementList_diamonds = nms_Achievement_registerAchievement(nms_Achievement__init_2(17, $rt_s(1129), (-1), 5, nms_Item_diamond, nms_AchievementList_acquireIron));
    nms_AchievementList_portal = nms_Achievement_registerAchievement(nms_Achievement__init_1(18, $rt_s(1051), (-1), 7, nms_Block_obsidian, nms_AchievementList_diamonds));
    nms_AchievementList_ghast = nms_Achievement_registerAchievement(nms_Achievement_setSpecial(nms_Achievement__init_2(19, $rt_s(1130), (-4), 8, nms_Item_ghastTear, nms_AchievementList_portal)));
    nms_AchievementList_blazeRod = nms_Achievement_registerAchievement(nms_Achievement__init_2(20, $rt_s(1131), 0, 9, nms_Item_blazeRod, nms_AchievementList_portal));
    nms_AchievementList_potion = nms_Achievement_registerAchievement(nms_Achievement__init_2(21, $rt_s(1132), 2, 8, nms_Item_potion, nms_AchievementList_blazeRod));
    nms_AchievementList_theEnd = nms_Achievement_registerAchievement(nms_Achievement_setSpecial(nms_Achievement__init_2(22, $rt_s(1133), 3, 10, nms_Item_eyeOfEnder, nms_AchievementList_blazeRod)));
    nms_AchievementList_theEnd2 = nms_Achievement_registerAchievement(nms_Achievement_setSpecial(nms_Achievement__init_1(23, $rt_s(1134), 4, 13, nms_Block_dragonEgg, nms_AchievementList_theEnd)));
    nms_AchievementList_enchantments = nms_Achievement_registerAchievement(nms_Achievement__init_1(24, $rt_s(1135), (-4), 4, nms_Block_enchantmentTable, nms_AchievementList_diamonds));
    nms_AchievementList_overkill = nms_Achievement_registerAchievement(nms_Achievement_setSpecial(nms_Achievement__init_2(25, $rt_s(1136), (-4), 1, nms_Item_swordDiamond, nms_AchievementList_enchantments)));
    nms_AchievementList_bookcase = nms_Achievement_registerAchievement(nms_Achievement__init_1(26, $rt_s(1137), (-3), 6, nms_Block_bookShelf, nms_AchievementList_enchantments));
    ji_PrintStream_println(jl_System_out(), jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder__init_(), ju_ArrayList_size(nms_AchievementList_achievementList)), $rt_s(1138))));
}
function nms_IStatStringFormat() {
}
function nms_StatStringFormatKeyInv() {
    jl_Object.call(this);
    this.$mc1 = null;
}
function nms_MouseHelper() {
    var a = this; jl_Object.call(a);
    a.$field_85184_d = null;
    a.$deltaX = 0;
    a.$deltaY = 0;
}
function nms_MouseHelper_grabMouseCursor($this) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_mouseSetGrabbed(1);
    $this.$deltaX = 0;
    $this.$deltaY = 0;
}
function nms_MouseHelper_ungrabMouseCursor($this) {
    nlea_EaglerAdapterImpl2_mouseSetGrabbed(0);
}
function nms_MouseHelper_mouseXYChange($this) {
    var var$1;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$1 = nlea_EaglerAdapterImpl2_mouseDX;
    nlea_EaglerAdapterImpl2_mouseDX = 0.0;
    $this.$deltaX = var$1 | 0;
    var$1 = nlea_EaglerAdapterImpl2_mouseDY;
    nlea_EaglerAdapterImpl2_mouseDY = 0.0;
    $this.$deltaY = var$1 | 0;
}
function nms_IWorldAccess() {
}
function nms_RenderGlobal() {
    var a = this; jl_Object.call(a);
    a.$tileEntities = null;
    a.$theWorld0 = null;
    a.$renderEngine2 = null;
    a.$worldRenderersToUpdate = null;
    a.$sortedWorldRenderers = null;
    a.$worldRenderers = null;
    a.$renderChunksWide = 0;
    a.$renderChunksTall = 0;
    a.$renderChunksDeep = 0;
    a.$glRenderListBase = 0;
    a.$glOcclusionQuery = null;
    a.$mc7 = null;
    a.$globalRenderBlocks = null;
    a.$cloudTickCounter = 0;
    a.$starGLCallList = 0;
    a.$glSkyList = 0;
    a.$glSkyList2 = 0;
    a.$minBlockX = 0;
    a.$minBlockY = 0;
    a.$minBlockZ = 0;
    a.$maxBlockX = 0;
    a.$maxBlockY = 0;
    a.$maxBlockZ = 0;
    a.$damagedBlocks = null;
    a.$destroyBlockIcons = null;
    a.$renderDistance1 = 0;
    a.$renderEntitiesStartupCounter = 0;
    a.$countEntitiesTotal = 0;
    a.$countEntitiesRendered = 0;
    a.$countEntitiesHidden = 0;
    a.$renderersLoaded = 0;
    a.$renderersBeingClipped = 0;
    a.$renderersBeingOccluded = 0;
    a.$renderersBeingRendered = 0;
    a.$renderersSkippingRenderPass = 0;
    a.$dummyRenderInt = 0;
    a.$worldRenderersCheckIndex = 0;
    a.$glRenderLists = null;
    a.$allRenderLists = null;
    a.$prevSortX = 0.0;
    a.$prevSortY = 0.0;
    a.$prevSortZ = 0.0;
    a.$frustumCheckOffset = 0;
    a.$lastOcclusionQuery = Long_ZERO;
    a.$occlusionQueryAvailable = null;
    a.$occlusionQueryStalled = null;
}
var nms_RenderGlobal_tunnel = null;
var nms_RenderGlobal_sun = null;
var nms_RenderGlobal_moon = null;
var nms_RenderGlobal_tex_clouds = null;
var nms_RenderGlobal_tex_terrain = null;
function nms_RenderGlobal__init_(var_0, var_1) {
    var var_2 = new nms_RenderGlobal();
    nms_RenderGlobal__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_RenderGlobal__init_0($this, $par1Minecraft, $par2RenderEngine) {
    var var$3, var$4, $i, $var5, $var9, $var10, var$9, var$10, var$11, $var10_0;
    $this.$tileEntities = ju_ArrayList__init_0();
    $this.$worldRenderersToUpdate = ju_ArrayList__init_0();
    $this.$cloudTickCounter = 0;
    $this.$damagedBlocks = ju_HashMap__init_();
    $this.$renderDistance1 = (-1);
    $this.$renderEntitiesStartupCounter = 2;
    $this.$glRenderLists = ju_ArrayList__init_0();
    var$3 = $rt_createArray(nms_RenderList, 4);
    var$4 = var$3.data;
    var$4[0] = nms_RenderList__init_0();
    var$4[1] = nms_RenderList__init_0();
    var$4[2] = nms_RenderList__init_0();
    var$4[3] = nms_RenderList__init_0();
    $this.$allRenderLists = var$3;
    $this.$prevSortX = (-9999.0);
    $this.$prevSortY = (-9999.0);
    $this.$prevSortZ = (-9999.0);
    $this.$frustumCheckOffset = 0;
    $this.$lastOcclusionQuery = Long_ZERO;
    $this.$mc7 = $par1Minecraft;
    $this.$renderEngine2 = $par2RenderEngine;
    $this.$glRenderListBase = nms_GLAllocation_generateDisplayLists(36992);
    $this.$glOcclusionQuery = $rt_createIntArray(18496);
    $i = 0;
    while ($i < $this.$glOcclusionQuery.data.length) {
        $this.$glOcclusionQuery.data[$i] = (-1);
        $i = $i + 1 | 0;
    }
    $this.$occlusionQueryAvailable = $rt_createBooleanArray($this.$glOcclusionQuery.data.length);
    $this.$occlusionQueryStalled = $rt_createLongArray($this.$occlusionQueryAvailable.data.length);
    $this.$starGLCallList = nms_GLAllocation_generateDisplayLists(3);
    nleg_EaglerAdapterGL30_glPushMatrix();
    nleg_EaglerAdapterGL30_glNewList($this.$starGLCallList, 4864);
    nms_RenderGlobal_renderStars($this);
    nleg_EaglerAdapterGL30_glEndList();
    nleg_EaglerAdapterGL30_glPopMatrix();
    nlea_Tessellator_$callClinit();
    $var5 = nlea_Tessellator_instance;
    $this.$glSkyList = $this.$starGLCallList + 1 | 0;
    nleg_EaglerAdapterGL30_glNewList($this.$glSkyList, 4864);
    $var9 = (-384);
    while ($var9 <= 384) {
        $var10 = (-384);
        while ($var10 <= 384) {
            nlea_Tessellator_startDrawingQuads($var5);
            var$9 = $var9 + 0 | 0;
            var$10 = $var10 + 0 | 0;
            nlea_Tessellator_addVertex($var5, var$9, 16.0, var$10);
            var$11 = $var9 + 64 | 0;
            nlea_Tessellator_addVertex($var5, var$11, 16.0, var$10);
            $var10 = $var10 + 64 | 0;
            var$10 = $var10;
            nlea_Tessellator_addVertex($var5, var$11, 16.0, var$10);
            nlea_Tessellator_addVertex($var5, var$9, 16.0, var$10);
            nlea_Tessellator_draw($var5);
        }
        $var9 = $var9 + 64 | 0;
    }
    nleg_EaglerAdapterGL30_glEndList();
    $this.$glSkyList2 = $this.$starGLCallList + 2 | 0;
    nleg_EaglerAdapterGL30_glNewList($this.$glSkyList2, 4864);
    nlea_Tessellator_startDrawingQuads($var5);
    $var10 = (-384);
    while ($var10 <= 384) {
        $var10_0 = (-384);
        while ($var10_0 <= 384) {
            var$9 = $var10 + 64 | 0;
            var$10 = $var10_0 + 0 | 0;
            nlea_Tessellator_addVertex($var5, var$9, (-16.0), var$10);
            var$11 = $var10 + 0 | 0;
            nlea_Tessellator_addVertex($var5, var$11, (-16.0), var$10);
            $var10_0 = $var10_0 + 64 | 0;
            var$10 = $var10_0;
            nlea_Tessellator_addVertex($var5, var$11, (-16.0), var$10);
            nlea_Tessellator_addVertex($var5, var$9, (-16.0), var$10);
        }
        $var10 = $var10 + 64 | 0;
    }
    nlea_Tessellator_draw($var5);
    nleg_EaglerAdapterGL30_glEndList();
}
function nms_RenderGlobal_renderStars($this) {
    var $var1, $var2, $var3, $var4, $var6, $var8, $var10, $var12, $var39, $var61, $var14, $var16, $var18, $var20, $var22, $var24, $var26, $var28, $var30, $var32, $var34, $var36, $var38, $var41, $var43, $var47, $var49, $var53, $var55, $var57;
    $var1 = nle_EaglercraftRandom__init_1(Long_fromInt(10842));
    nlea_Tessellator_$callClinit();
    $var2 = nlea_Tessellator_instance;
    nlea_Tessellator_startDrawingQuads($var2);
    $var3 = 0;
    while ($var3 < 1500) {
        a: {
            $var4 = nle_EaglercraftRandom_nextFloat($var1) * 2.0 - 1.0;
            $var6 = nle_EaglercraftRandom_nextFloat($var1) * 2.0 - 1.0;
            $var8 = nle_EaglercraftRandom_nextFloat($var1) * 2.0 - 1.0;
            $var10 = 0.15000000596046448 + nle_EaglercraftRandom_nextFloat($var1) * 0.10000000149011612;
            $var12 = $var4 * $var4 + $var6 * $var6 + $var8 * $var8;
            if ($var12 < 1.0 && $var12 > 0.01) {
                $var39 = 1.0 / jl_Math_sqrt($var12);
                $var61 = $var4 * $var39;
                $var6 = $var6 * $var39;
                $var8 = $var8 * $var39;
                $var14 = $var61 * 100.0;
                $var16 = $var6 * 100.0;
                $var18 = $var8 * 100.0;
                $var20 = jl_Math_atan2($var61, $var8);
                $var22 = jl_Math_sin($var20);
                $var24 = jl_Math_cos($var20);
                $var26 = jl_Math_atan2(jl_Math_sqrt($var61 * $var61 + $var8 * $var8), $var6);
                $var28 = jl_Math_sin($var26);
                $var30 = jl_Math_cos($var26);
                $var32 = nle_EaglercraftRandom_nextDouble($var1) * 3.141592653589793 * 2.0;
                $var34 = jl_Math_sin($var32);
                $var36 = jl_Math_cos($var32);
                $var38 = 0;
                $var26 = 0.0 * $var30;
                $var39 = 0.0 * $var28;
                while (true) {
                    if ($var38 >= 4)
                        break a;
                    $var41 = (($var38 & 2) - 1 | 0) * $var10;
                    $var38 = $var38 + 1 | 0;
                    $var43 = (($var38 & 2) - 1 | 0) * $var10;
                    $var47 = $var41 * $var36 - $var43 * $var34;
                    $var49 = $var43 * $var36 + $var41 * $var34;
                    $var53 = $var47 * $var28 + $var26;
                    $var55 = $var39 - $var47 * $var30;
                    $var57 = $var55 * $var22 - $var49 * $var24;
                    $var61 = $var49 * $var22 + $var55 * $var24;
                    nlea_Tessellator_addVertex($var2, $var14 + $var57, $var16 + $var53, $var18 + $var61);
                }
            }
        }
        $var3 = $var3 + 1 | 0;
    }
    nlea_Tessellator_draw($var2);
}
function nms_RenderGlobal_setWorldAndLoadRenderers($this, $par1WorldClient) {
    if ($this.$theWorld0 !== null)
        nms_World_removeWorldAccess($this.$theWorld0, $this);
    $this.$prevSortX = (-9999.0);
    $this.$prevSortY = (-9999.0);
    $this.$prevSortZ = (-9999.0);
    nms_RenderManager_instance.$worldObj0 = $par1WorldClient;
    $this.$theWorld0 = $par1WorldClient;
    $this.$globalRenderBlocks = nms_RenderBlocks__init_0($par1WorldClient);
    if ($par1WorldClient !== null) {
        nms_World_addWorldAccess($par1WorldClient, $this);
        nms_RenderGlobal_loadRenderers($this);
    }
}
function nms_RenderGlobal_loadRenderers($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $i, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, $var7;
    if ($this.$theWorld0 !== null) {
        a: {
            nms_Block_$callClinit();
            nms_BlockLeaves_setGraphicsLevel(nms_Block_leaves, $this.$mc7.$gameSettings.$fancyGraphics);
            $this.$renderDistance1 = $this.$mc7.$gameSettings.$renderDistance;
            if ($this.$worldRenderers !== null) {
                $var1 = 0;
                while (true) {
                    if ($var1 >= $this.$worldRenderers.data.length)
                        break a;
                    nms_WorldRenderer_stopRendering($this.$worldRenderers.data[$var1]);
                    $var1 = $var1 + 1 | 0;
                }
            }
        }
        $var1 = 64 << (3 - $this.$renderDistance1 | 0);
        if ($var1 > 400)
            $var1 = 400;
        $var1 = ($var1 / 16 | 0) + 1 | 0;
        $this.$renderChunksWide = $var1;
        $this.$renderChunksTall = 16;
        $this.$renderChunksDeep = $var1;
        $this.$worldRenderers = $rt_createArray(nms_WorldRenderer, $rt_imul($rt_imul($this.$renderChunksWide, $this.$renderChunksTall), $this.$renderChunksDeep));
        $this.$sortedWorldRenderers = $rt_createArray(nms_WorldRenderer, $rt_imul($rt_imul($this.$renderChunksWide, $this.$renderChunksTall), $this.$renderChunksDeep));
        $var2 = 0;
        $var3 = 0;
        $this.$minBlockX = 0;
        $this.$minBlockY = 0;
        $this.$minBlockZ = 0;
        $this.$maxBlockX = $this.$renderChunksWide;
        $this.$maxBlockY = $this.$renderChunksTall;
        $this.$maxBlockZ = $this.$renderChunksDeep;
        $var4 = 0;
        while ($var4 < $this.$worldRenderersToUpdate.$size) {
            ju_ArrayList_get($this.$worldRenderersToUpdate, $var4).$needsUpdate = 0;
            $var4 = $var4 + 1 | 0;
        }
        ju_ArrayList_clear($this.$worldRenderersToUpdate);
        ju_ArrayList_clear($this.$tileEntities);
        $var4 = 0;
        while ($var4 < $this.$renderChunksWide) {
            $var5 = 0;
            while ($var5 < $this.$renderChunksTall) {
                $var6 = 0;
                while ($var6 < $this.$renderChunksDeep) {
                    $i = $rt_imul($rt_imul($var6, $this.$renderChunksTall) + $var5 | 0, $this.$renderChunksWide) + $var4 | 0;
                    var$8 = $this.$worldRenderers.data;
                    var$9 = new nms_WorldRenderer;
                    var$10 = $this.$theWorld0;
                    var$11 = $this.$tileEntities;
                    var$12 = $var4 * 16 | 0;
                    var$13 = $var5 * 16 | 0;
                    var$14 = $var6 * 16 | 0;
                    var$15 = $this.$glRenderListBase + $var2 | 0;
                    nms_WorldRenderer_$callClinit();
                    var$9.$glRenderList = (-1);
                    var$9.$isInFrustum = 0;
                    var$9.$skipRenderPass = $rt_createBooleanArray(2);
                    var$9.$isVisible = 0;
                    var$9.$isNowVisible = 1;
                    var$9.$isInitialized = 0;
                    var$9.$tileEntityRenderers = ju_ArrayList__init_0();
                    var$9.$worldObj1 = var$10;
                    var$9.$tileEntities0 = var$11;
                    var$9.$glRenderList = var$15;
                    var$9.$posX3 = (-999);
                    nms_WorldRenderer_setPosition(var$9, var$12, var$13, var$14);
                    var$9.$needsUpdate = 0;
                    var$8[$i] = var$9;
                    $this.$worldRenderers.data[$i].$isWaitingOnOcclusionQuery = 0;
                    $this.$worldRenderers.data[$i].$isNowVisible = 1;
                    $this.$worldRenderers.data[$i].$isVisible = 100;
                    $this.$worldRenderers.data[$i].$isInFrustum = 1;
                    $var7 = $this.$worldRenderers.data[$i];
                    $var1 = $var3 + 1 | 0;
                    $var7.$chunkIndex = $var3;
                    nms_WorldRenderer_markDirty($this.$worldRenderers.data[$i]);
                    $this.$sortedWorldRenderers.data[$i] = $this.$worldRenderers.data[$i];
                    ju_ArrayList_add($this.$worldRenderersToUpdate, $this.$worldRenderers.data[$i]);
                    $var2 = $var2 + 2 | 0;
                    $var6 = $var6 + 1 | 0;
                    $var3 = $var1;
                }
                $var5 = $var5 + 1 | 0;
            }
            $var4 = $var4 + 1 | 0;
        }
        if ($this.$theWorld0 !== null) {
            $var7 = $this.$mc7.$renderViewEntity;
            if ($var7 !== null) {
                nms_RenderGlobal_markRenderersForNewPosition($this, nms_MathHelper_floor_double($var7.$posX), nms_MathHelper_floor_double($var7.$posY), nms_MathHelper_floor_double($var7.$posZ));
                ju_Arrays_sort0($this.$sortedWorldRenderers, nms_EntitySorter__init_($var7));
            }
        }
        $this.$renderEntitiesStartupCounter = 2;
    }
}
function nms_RenderGlobal_renderEntities($this, $par1Vec3, $par2ICamera, $par3) {
    var $var4, var$5, var$6, var$7, $var5, $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2ICamera = $thread.pop();$par1Vec3 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($this.$renderEntitiesStartupCounter > 0)
                $this.$renderEntitiesStartupCounter = $this.$renderEntitiesStartupCounter - 1 | 0;
            else {
                nms_Profiler_startSection($this.$theWorld0.$theProfiler, $rt_s(1139));
                nms_TileEntityRenderer_$callClinit();
                nms_TileEntityRenderer_cacheActiveRenderInfo(nms_TileEntityRenderer_instance, $this.$theWorld0, $this.$renderEngine2, $this.$mc7.$fontRenderer, $this.$mc7.$renderViewEntity, $par3);
                nms_RenderManager_cacheActiveRenderInfo(nms_RenderManager_instance, $this.$theWorld0, $this.$renderEngine2, $this.$mc7.$fontRenderer, $this.$mc7.$renderViewEntity, $this.$mc7.$pointedEntityLiving, $this.$mc7.$gameSettings, $par3);
                $this.$countEntitiesTotal = 0;
                $this.$countEntitiesRendered = 0;
                $this.$countEntitiesHidden = 0;
                $var4 = $this.$mc7.$renderViewEntity;
                var$5 = $var4.$lastTickPosX;
                var$6 = $var4.$posX - $var4.$lastTickPosX;
                var$7 = $par3;
                nms_RenderManager_renderPosX = var$5 + var$6 * var$7;
                nms_RenderManager_renderPosY = $var4.$lastTickPosY + ($var4.$posY - $var4.$lastTickPosY) * var$7;
                nms_RenderManager_renderPosZ = $var4.$lastTickPosZ + ($var4.$posZ - $var4.$lastTickPosZ) * var$7;
                nms_TileEntityRenderer_staticPlayerX = $var4.$lastTickPosX + ($var4.$posX - $var4.$lastTickPosX) * var$7;
                nms_TileEntityRenderer_staticPlayerY = $var4.$lastTickPosY + ($var4.$posY - $var4.$lastTickPosY) * var$7;
                nms_TileEntityRenderer_staticPlayerZ = $var4.$lastTickPosZ + ($var4.$posZ - $var4.$lastTickPosZ) * var$7;
                nms_EntityRenderer_enableLightmap($this.$mc7.$entityRenderer, var$7);
                nms_Profiler_endStartSection($this.$theWorld0.$theProfiler, $rt_s(997));
                $var5 = $this.$theWorld0.$loadedEntityList;
                $this.$countEntitiesTotal = $var5.$size;
                $var6 = 0;
                while (true) {
                    if ($var6 >= $this.$theWorld0.$weatherEffects.$size) {
                        nms_Profiler_endStartSection($this.$theWorld0.$theProfiler, $rt_s(978));
                        $var6 = 0;
                        while (true) {
                            if ($var6 >= $var5.$size) {
                                nms_Profiler_endStartSection($this.$theWorld0.$theProfiler, $rt_s(1140));
                                nms_RenderHelper_enableStandardItemLighting();
                                $var6 = 0;
                                if ($var6 < $this.$tileEntities.$size) {
                                    $par1Vec3 = nms_TileEntityRenderer_instance;
                                    $par2ICamera = ju_ArrayList_get($this.$tileEntities, $var6);
                                    $ptr = 2;
                                    continue main;
                                }
                                nms_EntityRenderer_disableLightmap($this.$mc7.$entityRenderer, var$7);
                                nms_Profiler_endSection($this.$theWorld0.$theProfiler);
                                break a;
                            }
                            $var7 = ju_ArrayList_get($var5, $var6);
                            if ($var7.$isInRangeToRenderVec3D($par1Vec3) && !(!$var7.$ignoreFrustumCheck && !nms_Frustrum_isBoundingBoxInFrustum($par2ICamera, $var7.$boundingBox) && $var7.$riddenByEntity !== $this.$mc7.$thePlayer) && !($var7 === $this.$mc7.$renderViewEntity && !$this.$mc7.$gameSettings.$thirdPersonView && !$this.$mc7.$renderViewEntity.$sleeping) && nms_World_blockExists($this.$theWorld0, nms_MathHelper_floor_double($var7.$posX), 0, nms_MathHelper_floor_double($var7.$posZ)))
                                break;
                            $var6 = $var6 + 1 | 0;
                        }
                        $this.$countEntitiesRendered = $this.$countEntitiesRendered + 1 | 0;
                        $var4 = nms_RenderManager_instance;
                        $ptr = 3;
                        continue main;
                    }
                    $var7 = ju_ArrayList_get($this.$theWorld0.$weatherEffects, $var6);
                    $this.$countEntitiesRendered = $this.$countEntitiesRendered + 1 | 0;
                    if ($var7.$isInRangeToRenderVec3D($par1Vec3))
                        break;
                    $var6 = $var6 + 1 | 0;
                }
                $var4 = nms_RenderManager_instance;
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        nms_RenderManager_renderEntity($var4, $var7, $par3);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var6 = $var6 + 1 | 0;
            if ($var6 >= $this.$theWorld0.$weatherEffects.$size) {
                nms_Profiler_endStartSection($this.$theWorld0.$theProfiler, $rt_s(978));
                $var6 = 0;
                while (true) {
                    if ($var6 >= $var5.$size) {
                        nms_Profiler_endStartSection($this.$theWorld0.$theProfiler, $rt_s(1140));
                        nms_RenderHelper_enableStandardItemLighting();
                        $var6 = 0;
                        if ($var6 >= $this.$tileEntities.$size) {
                            nms_EntityRenderer_disableLightmap($this.$mc7.$entityRenderer, var$7);
                            nms_Profiler_endSection($this.$theWorld0.$theProfiler);
                            return;
                        }
                        $par1Vec3 = nms_TileEntityRenderer_instance;
                        $par2ICamera = ju_ArrayList_get($this.$tileEntities, $var6);
                        $ptr = 2;
                        continue main;
                    }
                    $var7 = ju_ArrayList_get($var5, $var6);
                    if ($var7.$isInRangeToRenderVec3D($par1Vec3) && !(!$var7.$ignoreFrustumCheck && !nms_Frustrum_isBoundingBoxInFrustum($par2ICamera, $var7.$boundingBox) && $var7.$riddenByEntity !== $this.$mc7.$thePlayer) && !($var7 === $this.$mc7.$renderViewEntity && !$this.$mc7.$gameSettings.$thirdPersonView && !$this.$mc7.$renderViewEntity.$sleeping) && nms_World_blockExists($this.$theWorld0, nms_MathHelper_floor_double($var7.$posX), 0, nms_MathHelper_floor_double($var7.$posZ)))
                        break;
                    $var6 = $var6 + 1 | 0;
                }
                $this.$countEntitiesRendered = $this.$countEntitiesRendered + 1 | 0;
                $var4 = nms_RenderManager_instance;
                $ptr = 3;
                continue main;
            }
            $var7 = ju_ArrayList_get($this.$theWorld0.$weatherEffects, $var6);
            $this.$countEntitiesRendered = $this.$countEntitiesRendered + 1 | 0;
            if (!$var7.$isInRangeToRenderVec3D($par1Vec3))
                continue;
            else
                break;
        }
        $var4 = nms_RenderManager_instance;
        continue main;
    case 2:
        nms_TileEntityRenderer_renderTileEntity($par1Vec3, $par2ICamera, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 >= $this.$tileEntities.$size) {
            nms_EntityRenderer_disableLightmap($this.$mc7.$entityRenderer, var$7);
            nms_Profiler_endSection($this.$theWorld0.$theProfiler);
            return;
        }
        $par1Vec3 = nms_TileEntityRenderer_instance;
        $par2ICamera = ju_ArrayList_get($this.$tileEntities, $var6);
        continue main;
    case 3:
        nms_RenderManager_renderEntity($var4, $var7, $par3);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var6 = $var6 + 1 | 0;
            if ($var6 >= $var5.$size) {
                nms_Profiler_endStartSection($this.$theWorld0.$theProfiler, $rt_s(1140));
                nms_RenderHelper_enableStandardItemLighting();
                $var6 = 0;
                if ($var6 >= $this.$tileEntities.$size) {
                    nms_EntityRenderer_disableLightmap($this.$mc7.$entityRenderer, var$7);
                    nms_Profiler_endSection($this.$theWorld0.$theProfiler);
                    return;
                }
                $par1Vec3 = nms_TileEntityRenderer_instance;
                $par2ICamera = ju_ArrayList_get($this.$tileEntities, $var6);
                $ptr = 2;
                continue main;
            }
            $var7 = ju_ArrayList_get($var5, $var6);
            if (!$var7.$isInRangeToRenderVec3D($par1Vec3))
                continue;
            if (!$var7.$ignoreFrustumCheck && !nms_Frustrum_isBoundingBoxInFrustum($par2ICamera, $var7.$boundingBox) && $var7.$riddenByEntity !== $this.$mc7.$thePlayer)
                continue;
            if ($var7 === $this.$mc7.$renderViewEntity && !$this.$mc7.$gameSettings.$thirdPersonView && !$this.$mc7.$renderViewEntity.$sleeping)
                continue;
            if (!nms_World_blockExists($this.$theWorld0, nms_MathHelper_floor_double($var7.$posX), 0, nms_MathHelper_floor_double($var7.$posZ)))
                continue;
            else
                break;
        }
        $this.$countEntitiesRendered = $this.$countEntitiesRendered + 1 | 0;
        $var4 = nms_RenderManager_instance;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Vec3, $par2ICamera, $par3, $var4, var$5, var$6, var$7, $var5, $var6, $var7, $ptr);
}
function nms_RenderGlobal_getDebugInfoRenders($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1141));
    jl_AbstractStringBuilder_append2(var$1, $this.$renderersBeingRendered);
    jl_AbstractStringBuilder_append(var$1, $rt_s(61));
    jl_AbstractStringBuilder_append2(var$1, $this.$renderersLoaded);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1142));
    jl_AbstractStringBuilder_append2(var$1, $this.$renderersBeingClipped);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1143));
    jl_AbstractStringBuilder_append2(var$1, $this.$renderersBeingOccluded);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1144));
    jl_AbstractStringBuilder_append2(var$1, $this.$renderersSkippingRenderPass);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_RenderGlobal_getDebugInfoShort($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    jl_AbstractStringBuilder_append2(var$1, nmc_Minecraft_debugFPS);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1145));
    jl_AbstractStringBuilder_append2(var$1, $this.$renderersBeingRendered);
    jl_AbstractStringBuilder_append(var$1, $rt_s(61));
    jl_AbstractStringBuilder_append2(var$1, $this.$renderersLoaded);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1144));
    jl_AbstractStringBuilder_append2(var$1, $this.$countEntitiesRendered);
    jl_AbstractStringBuilder_append(var$1, $rt_s(884));
    jl_AbstractStringBuilder_append2(var$1, $this.$tileEntities.$size);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1146));
    jl_AbstractStringBuilder_append2(var$1, nmc_Minecraft_debugChunkUpdates);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_RenderGlobal_getDebugInfoEntities($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1147));
    jl_AbstractStringBuilder_append2(var$1, $this.$countEntitiesRendered);
    jl_AbstractStringBuilder_append(var$1, $rt_s(61));
    jl_AbstractStringBuilder_append2(var$1, $this.$countEntitiesTotal);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1148));
    jl_AbstractStringBuilder_append2(var$1, $this.$countEntitiesHidden);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1149));
    jl_AbstractStringBuilder_append2(var$1, ($this.$countEntitiesTotal - $this.$countEntitiesHidden | 0) - $this.$countEntitiesRendered | 0);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_RenderGlobal_markRenderersForNewPosition($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, var$7, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15;
    $par2 = $par1 + (-8) | 0;
    $par3 = $par3 + (-8) | 0;
    $this.$minBlockX = 2147483647;
    $this.$minBlockY = 2147483647;
    $this.$minBlockZ = 2147483647;
    $this.$maxBlockX = (-2147483648);
    $this.$maxBlockY = (-2147483648);
    $this.$maxBlockZ = (-2147483648);
    $var4 = $this.$renderChunksWide * 16 | 0;
    $var5 = $var4 / 2 | 0;
    $var6 = 0;
    var$7 = $var4 - 1 | 0;
    while ($var6 < $this.$renderChunksWide) {
        $var7 = $var6 * 16 | 0;
        $var8 = ($var7 + $var5 | 0) - $par2 | 0;
        if ($var8 < 0)
            $var8 = $var8 - var$7 | 0;
        $var7 = $var7 - $rt_imul($var8 / $var4 | 0, $var4) | 0;
        if ($var7 < $this.$minBlockX)
            $this.$minBlockX = $var7;
        if ($var7 > $this.$maxBlockX)
            $this.$maxBlockX = $var7;
        $var9 = 0;
        while ($var9 < $this.$renderChunksDeep) {
            $var10 = $var9 * 16 | 0;
            $var11 = ($var10 + $var5 | 0) - $par3 | 0;
            if ($var11 < 0)
                $var11 = $var11 - var$7 | 0;
            $var8 = $var10 - $rt_imul($var11 / $var4 | 0, $var4) | 0;
            if ($var8 < $this.$minBlockZ)
                $this.$minBlockZ = $var8;
            if ($var8 > $this.$maxBlockZ)
                $this.$maxBlockZ = $var8;
            $var12 = 0;
            while ($var12 < $this.$renderChunksTall) {
                $var13 = $var12 * 16 | 0;
                if ($var13 < $this.$minBlockY)
                    $this.$minBlockY = $var13;
                if ($var13 > $this.$maxBlockY)
                    $this.$maxBlockY = $var13;
                $var14 = $this.$worldRenderers.data[$rt_imul($rt_imul($var9, $this.$renderChunksTall) + $var12 | 0, $this.$renderChunksWide) + $var6 | 0];
                $var15 = $var14.$needsUpdate;
                nms_WorldRenderer_setPosition($var14, $var7, $var13, $var8);
                if (!$var15 && $var14.$needsUpdate)
                    ju_ArrayList_add($this.$worldRenderersToUpdate, $var14);
                $var12 = $var12 + 1 | 0;
            }
            $var9 = $var9 + 1 | 0;
        }
        $var6 = $var6 + 1 | 0;
    }
}
function nms_RenderGlobal_sortAndRender($this, $par1EntityLiving, $par2, $par3) {
    var $var5, $var6, $var33, $var7, $var9, $var11, $var13, $var15, $fx, $fy, $fz, $ct, $i, $c, $ccx, $ccy, $ccz, $var34, $stallRateVisible, $stalled, $q, var$25;
    nms_Profiler_startSection($this.$theWorld0.$theProfiler, $rt_s(1150));
    $var5 = 0;
    while ($var5 < 10) {
        $this.$worldRenderersCheckIndex = ($this.$worldRenderersCheckIndex + 1 | 0) % $this.$worldRenderers.data.length | 0;
        $var6 = $this.$worldRenderers.data[$this.$worldRenderersCheckIndex];
        if ($var6.$needsUpdate && !ju_AbstractCollection_contains($this.$worldRenderersToUpdate, $var6))
            ju_ArrayList_add($this.$worldRenderersToUpdate, $var6);
        $var5 = $var5 + 1 | 0;
    }
    if ($this.$mc7.$gameSettings.$renderDistance != $this.$renderDistance1)
        nms_RenderGlobal_loadRenderers($this);
    if (!$par2) {
        $this.$renderersLoaded = 0;
        $this.$dummyRenderInt = 0;
        $this.$renderersBeingClipped = 0;
        $this.$renderersBeingOccluded = 0;
        $this.$renderersBeingRendered = 0;
        $this.$renderersSkippingRenderPass = 0;
    }
    $var33 = $par1EntityLiving.$lastTickPosX + ($par1EntityLiving.$posX - $par1EntityLiving.$lastTickPosX) * $par3;
    $var7 = $par1EntityLiving.$lastTickPosY + ($par1EntityLiving.$posY - $par1EntityLiving.$lastTickPosY) * $par3;
    $var9 = $par1EntityLiving.$lastTickPosZ + ($par1EntityLiving.$posZ - $par1EntityLiving.$lastTickPosZ) * $par3;
    $var11 = $var33 - $this.$prevSortX;
    $var13 = $var7 - $this.$prevSortY;
    $var15 = $var9 - $this.$prevSortZ;
    $fx = nms_MathHelper_floor_double($var33);
    $fy = nms_MathHelper_floor_double($var7);
    $fz = nms_MathHelper_floor_double($var9);
    if ($var11 * $var11 + $var13 * $var13 + $var15 * $var15 > 16.0) {
        $this.$prevSortX = $var33;
        $this.$prevSortY = $var7;
        $this.$prevSortZ = $var9;
        nms_RenderGlobal_markRenderersForNewPosition($this, $fx, $fy, $fz);
        ju_Arrays_sort0($this.$sortedWorldRenderers, nms_EntitySorter__init_($par1EntityLiving));
    }
    a: {
        $fy = $fx >> 4;
        $var5 = nms_MathHelper_floor_double($var7 + nms_EntityPlayer_getEyeHeight($par1EntityLiving)) >> 4;
        $fz = $fz >> 4;
        nms_RenderHelper_disableStandardItemLighting();
        $ct = jl_System_currentTimeMillis();
        if (!$par2) {
            nms_Profiler_endStartSection($this.$theWorld0.$theProfiler, $rt_s(1151));
            $i = 0;
            while (true) {
                if ($i >= $this.$sortedWorldRenderers.data.length)
                    break a;
                $c = $this.$sortedWorldRenderers.data[$i];
                $ccx = $c.$chunkX - $fy | 0;
                $ccy = $c.$chunkY - $var5 | 0;
                $ccz = $c.$chunkZ - $fz | 0;
                if (!(!($ccx < 2 && $ccx > (-2) && $ccy < 2 && $ccy > (-2) && $ccz < 2 && $ccz > (-2)) && $this.$glOcclusionQuery.data[$c.$chunkIndex] != (-1))) {
                    $c.$isNowVisible = 1;
                    $c.$isVisible = 10;
                } else if (!nms_WorldRenderer_skipAllRenderPasses($c) && $c.$isInFrustum && $this.$occlusionQueryAvailable.data[$c.$chunkIndex]) {
                    if (nleg_EaglerAdapterGL30_glGetQueryResultAvailable($this.$glOcclusionQuery.data[$c.$chunkIndex])) {
                        if (nleg_EaglerAdapterGL30_glGetQueryResult($this.$glOcclusionQuery.data[$c.$chunkIndex])) {
                            $c.$isNowVisible = 1;
                            $c.$isVisible = 10;
                        } else if ($c.$isVisible <= 0)
                            $c.$isNowVisible = 0;
                        $this.$occlusionQueryAvailable.data[$c.$chunkIndex] = 0;
                        $this.$occlusionQueryStalled.data[$c.$chunkIndex] = Long_ZERO;
                    } else if (Long_ne($this.$occlusionQueryStalled.data[$c.$chunkIndex], Long_ZERO) && Long_gt(Long_sub($ct, $this.$occlusionQueryStalled.data[$c.$chunkIndex]), Long_fromInt(50))) {
                        $c.$isNowVisible = 1;
                        $c.$isVisible = 10;
                    }
                }
                $i = $i + 1 | 0;
            }
        }
    }
    nms_Profiler_endStartSection($this.$theWorld0.$theProfiler, $rt_s(333));
    $var34 = 0 + nms_RenderGlobal_renderSortedRenderers($this, 0, $this.$sortedWorldRenderers.data.length, $par2, $par3) | 0;
    $var11 = $var7 - nms_EntityPlayer_getEyeHeight($par1EntityLiving);
    $stallRateVisible = jl_System_currentTimeMillis();
    if (!$par2 && Long_gt(Long_sub($stallRateVisible, $this.$lastOcclusionQuery), Long_fromInt(50))) {
        $this.$lastOcclusionQuery = $stallRateVisible;
        nms_Profiler_endStartSection($this.$theWorld0.$theProfiler, $rt_s(1152));
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glColorMask(0, 0, 0, 0);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        nleg_EaglerAdapterGL30_glBindOcclusionBB();
        $i = 0;
        while ($i < $this.$sortedWorldRenderers.data.length) {
            $c = $this.$sortedWorldRenderers.data[$i];
            $ccx = $c.$chunkX - $fy | 0;
            $ccy = $c.$chunkY - $var5 | 0;
            $ccz = $c.$chunkZ - $fz | 0;
            if (!nms_WorldRenderer_skipAllRenderPasses($c) && $c.$isInFrustum && !($ccx < 2 && $ccx > (-2) && $ccy < 2 && $ccy > (-2) && $ccz < 2 && $ccz > (-2))) {
                $stalled = 0;
                if ($this.$occlusionQueryAvailable.data[$c.$chunkIndex]) {
                    if (Long_eq($this.$occlusionQueryStalled.data[$c.$chunkIndex], Long_ZERO)) {
                        $this.$occlusionQueryStalled.data[$c.$chunkIndex] = $stallRateVisible;
                        $stalled = 1;
                    } else if (Long_lt(Long_sub($stallRateVisible, $this.$occlusionQueryStalled.data[$c.$chunkIndex]), Long_fromInt(500)))
                        $stalled = 1;
                }
                if (!$stalled) {
                    $this.$occlusionQueryAvailable.data[$c.$chunkIndex] = 1;
                    $q = $this.$glOcclusionQuery.data[$c.$chunkIndex];
                    if ($q == (-1)) {
                        var$25 = $this.$glOcclusionQuery.data;
                        $par2 = $c.$chunkIndex;
                        $q = nleg_EaglerAdapterGL30_glCreateQuery();
                        var$25[$par2] = $q;
                    }
                    nleg_EaglerAdapterGL30_glBeginQuery($q);
                    nleg_EaglerAdapterGL30_glDrawOcclusionBB($c.$posX3 - $var33, $c.$posY3 - $var11, $c.$posZ2 - $var9, 16.0, 16.0, 16.0);
                    nleg_EaglerAdapterGL30_glEndQuery();
                }
            }
            if ($c.$isVisible > 0)
                $c.$isVisible = $c.$isVisible - 1 | 0;
            $i = $i + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glEndOcclusionBB();
        nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 1);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glEnable(2884);
    }
    nms_Profiler_endSection($this.$theWorld0.$theProfiler);
    return $var34;
}
function nms_RenderGlobal_renderSortedRenderers($this, $var7, $par2, $par3, $par4) {
    var $var6, $var19, $var20, $var10, $var12, $var14, $var15, $var8, $var16, $var17, $var18;
    ju_ArrayList_clear($this.$glRenderLists);
    $var6 = 0;
    while ($var7 < $par2) {
        if (!$par3) {
            $this.$renderersLoaded = $this.$renderersLoaded + 1 | 0;
            if ($this.$sortedWorldRenderers.data[$var7].$skipRenderPass.data[$par3])
                $this.$renderersSkippingRenderPass = $this.$renderersSkippingRenderPass + 1 | 0;
            else if (!$this.$sortedWorldRenderers.data[$var7].$isInFrustum)
                $this.$renderersBeingClipped = $this.$renderersBeingClipped + 1 | 0;
            else if ($this.$sortedWorldRenderers.data[$var7].$isNowVisible)
                $this.$renderersBeingRendered = $this.$renderersBeingRendered + 1 | 0;
            else
                $this.$renderersBeingOccluded = $this.$renderersBeingOccluded + 1 | 0;
        }
        if (!$this.$sortedWorldRenderers.data[$var7].$skipRenderPass.data[$par3] && $this.$sortedWorldRenderers.data[$var7].$isInFrustum && $this.$sortedWorldRenderers.data[$var7].$isNowVisible && nms_WorldRenderer_getGLCallListForPass($this.$sortedWorldRenderers.data[$var7], $par3) >= 0) {
            ju_ArrayList_add($this.$glRenderLists, $this.$sortedWorldRenderers.data[$var7]);
            $var6 = $var6 + 1 | 0;
        }
        $var7 = $var7 + 1 | 0;
    }
    $var19 = $this.$mc7.$renderViewEntity;
    $var20 = $var19.$lastTickPosX + ($var19.$posX - $var19.$lastTickPosX) * $par4;
    $var10 = $var19.$lastTickPosY + ($var19.$posY - $var19.$lastTickPosY) * $par4;
    $var12 = $var19.$lastTickPosZ + ($var19.$posZ - $var19.$lastTickPosZ) * $par4;
    $var14 = 0;
    $var15 = 0;
    while ($var15 < $this.$allRenderLists.data.length) {
        nms_RenderList_func_78421_b($this.$allRenderLists.data[$var15]);
        $var15 = $var15 + 1 | 0;
    }
    $var8 = 0;
    while ($var8 < $this.$glRenderLists.$size) {
        $var16 = ju_ArrayList_get($this.$glRenderLists, $var8);
        $var17 = (-1);
        $var18 = 0;
        while ($var18 < $var14) {
            if (nms_RenderList_func_78418_a($this.$allRenderLists.data[$var18], $var16.$posXMinus, $var16.$posYMinus, $var16.$posZMinus))
                $var17 = $var18;
            $var18 = $var18 + 1 | 0;
        }
        if ($var17 < 0) {
            $var7 = $var14 + 1 | 0;
            nms_RenderList_func_78422_a($this.$allRenderLists.data[$var14], $var16.$posXMinus, $var16.$posYMinus, $var16.$posZMinus, $var20, $var10, $var12);
            $var17 = $var14;
            $var14 = $var7;
        }
        nms_RenderList_func_78420_a($this.$allRenderLists.data[$var17], nms_WorldRenderer_getGLCallListForPass($var16, $par3));
        $var8 = $var8 + 1 | 0;
    }
    nms_RenderGlobal_renderAllRenderLists($this, $par3, $par4);
    return $var6;
}
function nms_RenderGlobal_renderAllRenderLists($this, $par1, $par2) {
    var $var4;
    nms_EntityRenderer_enableLightmap($this.$mc7.$entityRenderer, $par2);
    $var4 = 0;
    while ($var4 < $this.$allRenderLists.data.length) {
        nms_RenderList_func_78419_a($this.$allRenderLists.data[$var4]);
        $var4 = $var4 + 1 | 0;
    }
    nms_EntityRenderer_disableLightmap($this.$mc7.$entityRenderer, $par2);
}
function nms_RenderGlobal_updateClouds($this) {
    var $var1, $var3;
    a: {
        $this.$cloudTickCounter = $this.$cloudTickCounter + 1 | 0;
        if (!($this.$cloudTickCounter % 20 | 0)) {
            $var1 = ju_HashMap_values($this.$damagedBlocks).$iterator();
            while (true) {
                if (!$var1.$hasNext())
                    break a;
                $var3 = $var1.$next().$createdAtCloudUpdateTick;
                if (($this.$cloudTickCounter - $var3 | 0) > 400)
                    $var1.$remove2();
            }
        }
    }
}
function nms_RenderGlobal_renderSky($this, $par1) {
    var $var2, $var6, $var7, $var8, $var13, $var23, $var24, $var11, $var12, $var13_0, $var27, $var14, $var15, $var8_0, $var21, $var22, $var28, $var29, $var30, $var16, $var17, $var18, $var19, $var25, var$26, var$27, $var20, var$29, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$29 = $thread.pop();$var20 = $thread.pop();var$27 = $thread.pop();var$26 = $thread.pop();$var25 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var30 = $thread.pop();$var29 = $thread.pop();$var28 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var8_0 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var27 = $thread.pop();$var13_0 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var24
        = $thread.pop();$var23 = $thread.pop();$var13 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$mc7.$theWorld.$provider.$dimensionId == 1) {
            nleg_EaglerAdapterGL30_glDisable(2912);
            nleg_EaglerAdapterGL30_glDisable(3008);
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
            nms_RenderHelper_disableStandardItemLighting();
            nleg_EaglerAdapterGL30_glDepthMask(0);
            $var2 = nms_RenderGlobal_tunnel;
            $ptr = 1;
            continue main;
        }
        if (!$this.$mc7.$theWorld.$provider.$isSurfaceWorld())
            return;
        nleg_EaglerAdapterGL30_glDisable(3553);
        $var2 = nms_World_getSkyColor($this.$theWorld0, $this.$mc7.$renderViewEntity, $par1);
        $var6 = $var2.$xCoord;
        $var7 = $var2.$yCoord;
        $var8 = $var2.$zCoord;
        if ($this.$mc7.$gameSettings.$anaglyph) {
            $var13 = $var6 * 30.0;
            $var6 = ($var13 + $var7 * 59.0 + $var8 * 11.0) / 100.0;
            $var7 = ($var13 + $var7 * 70.0) / 100.0;
            $var8 = ($var13 + $var8 * 70.0) / 100.0;
        }
        nleg_EaglerAdapterGL30_glColor3f($var6, $var7, $var8);
        nlea_Tessellator_$callClinit();
        $var23 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glDepthMask(0);
        nleg_EaglerAdapterGL30_glEnable(2912);
        nleg_EaglerAdapterGL30_glColor3f($var6, $var7, $var8);
        nleg_EaglerAdapterGL30_glCallList($this.$glSkyList);
        nleg_EaglerAdapterGL30_glDisable(2912);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nms_RenderHelper_disableStandardItemLighting();
        $var24 = $this.$theWorld0.$provider.$calcSunriseSunsetColors(nms_World_getCelestialAngle($this.$theWorld0, $par1), $par1);
        if ($var24 !== null) {
            nleg_EaglerAdapterGL30_glDisable(3553);
            nleg_EaglerAdapterGL30_glShadeModel(7425);
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glRotatef(90.0, 1.0, 0.0, 0.0);
            $var13 = nms_MathHelper_sin(nms_World_getCelestialAngleRadians($this.$theWorld0, $par1)) >= 0.0 ? 0.0 : 180.0;
            $var24 = $var24.data;
            nleg_EaglerAdapterGL30_glRotatef($var13, 0.0, 0.0, 1.0);
            nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 0.0, 1.0);
            $var11 = $var24[0];
            $var12 = $var24[1];
            $var13_0 = $var24[2];
            if ($this.$mc7.$gameSettings.$anaglyph) {
                $var13 = $var11 * 30.0;
                $var11 = ($var13 + $var12 * 59.0 + $var13_0 * 11.0) / 100.0;
                $var12 = ($var13 + $var12 * 70.0) / 100.0;
                $var13_0 = ($var13 + $var13_0 * 70.0) / 100.0;
            }
            nlea_Tessellator_startDrawing($var23, 6);
            nlea_Tessellator_setColorRGBA_F($var23, $var11, $var12, $var13_0, $var24[3]);
            nlea_Tessellator_addVertex($var23, 0.0, 100.0, 0.0);
            nlea_Tessellator_setColorRGBA_F($var23, $var24[0], $var24[1], $var24[2], 0.0);
            $var27 = 0;
            while ($var27 <= 16) {
                $var13 = $var27 * 3.1415927410125732 * 2.0 / 16.0;
                $var14 = nms_MathHelper_sin($var13);
                $var15 = nms_MathHelper_cos($var13);
                nlea_Tessellator_addVertex($var23, $var14 * 120.0, $var15 * 120.0,  -$var15 * 40.0 * $var24[3]);
                $var27 = $var27 + 1 | 0;
            }
            nlea_Tessellator_draw($var23);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glShadeModel(7424);
        }
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 1);
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var8_0 = 1.0 - nms_World_getRainStrength($this.$theWorld0, $par1);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, $var8_0);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef((-90.0), 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(nms_World_getCelestialAngle($this.$theWorld0, $par1) * 360.0, 1.0, 0.0, 0.0);
        $var2 = nms_RenderGlobal_sun;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($var2);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var21 = nlea_Tessellator_instance;
        $var22 = 0;
        while ($var22 < 6) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            if ($var22 == 1)
                nleg_EaglerAdapterGL30_glRotatef(90.0, 1.0, 0.0, 0.0);
            if ($var22 == 2)
                nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
            if ($var22 == 3)
                nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
            if ($var22 == 4)
                nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 0.0, 1.0);
            if ($var22 == 5)
                nleg_EaglerAdapterGL30_glRotatef((-90.0), 0.0, 0.0, 1.0);
            nlea_Tessellator_startDrawingQuads($var21);
            nlea_Tessellator_setColorOpaque_I($var21, 2631720);
            nlea_Tessellator_addVertexWithUV($var21, (-100.0), (-100.0), (-100.0), 0.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var21, (-100.0), (-100.0), 100.0, 0.0, 16.0);
            nlea_Tessellator_addVertexWithUV($var21, 100.0, (-100.0), 100.0, 16.0, 16.0);
            nlea_Tessellator_addVertexWithUV($var21, 100.0, (-100.0), (-100.0), 16.0, 0.0);
            nlea_Tessellator_draw($var21);
            nleg_EaglerAdapterGL30_glPopMatrix();
            $var22 = $var22 + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_glEnable(3008);
        return;
    case 2:
        nle_TextureLocation_bindTexture($var2);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_startDrawingQuads($var23);
        nlea_Tessellator_addVertexWithUV($var23, (-30.0), 100.0, (-30.0), 0.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var23, 30.0, 100.0, (-30.0), 1.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var23, 30.0, 100.0, 30.0, 1.0, 1.0);
        nlea_Tessellator_addVertexWithUV($var23, (-30.0), 100.0, 30.0, 0.0, 1.0);
        nlea_Tessellator_draw($var23);
        $var2 = nms_RenderGlobal_moon;
        $ptr = 3;
    case 3:
        nle_TextureLocation_bindTexture($var2);
        if ($rt_suspending()) {
            break main;
        }
        $var28 = nms_World_getMoonPhase($this.$theWorld0);
        $var29 = $var28 % 4 | 0;
        $var30 = ($var28 / 4 | 0) % 2 | 0;
        $var16 = ($var29 + 0 | 0) / 4.0;
        $var17 = ($var30 + 0 | 0) / 2.0;
        $var18 = ($var29 + 1 | 0) / 4.0;
        $var19 = ($var30 + 1 | 0) / 2.0;
        nlea_Tessellator_startDrawingQuads($var23);
        $var25 = $var18;
        var$26 = $var19;
        nlea_Tessellator_addVertexWithUV($var23, (-20.0), (-100.0), 20.0, $var25, var$26);
        var$27 = $var16;
        nlea_Tessellator_addVertexWithUV($var23, 20.0, (-100.0), 20.0, var$27, var$26);
        var$26 = $var17;
        nlea_Tessellator_addVertexWithUV($var23, 20.0, (-100.0), (-20.0), var$27, var$26);
        nlea_Tessellator_addVertexWithUV($var23, (-20.0), (-100.0), (-20.0), $var25, var$26);
        nlea_Tessellator_draw($var23);
        nleg_EaglerAdapterGL30_glDisable(3553);
        $var20 = nms_World_getStarBrightness($this.$theWorld0, $par1) * $var8_0;
        if ($var20 > 0.0) {
            nleg_EaglerAdapterGL30_glColor4f($var20, $var20, $var20, $var20);
            nleg_EaglerAdapterGL30_glCallList($this.$starGLCallList);
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glEnable(2912);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(3553);
        nleg_EaglerAdapterGL30_glColor3f(0.0, 0.0, 0.0);
        $var25 = nms_EntityLiving_getPosition($this.$mc7.$thePlayer, $par1).$yCoord - nms_World_getHorizon($this.$theWorld0);
        if ($var25 < 0.0) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 12.0, 0.0);
            nleg_EaglerAdapterGL30_glCallList($this.$glSkyList2);
            nleg_EaglerAdapterGL30_glPopMatrix();
            $par1 =  -($var25 + 65.0);
            nlea_Tessellator_startDrawingQuads($var23);
            nlea_Tessellator_setColorRGBA_I($var23, 0, 255);
            var$29 = $par1;
            nlea_Tessellator_addVertex($var23, (-1.0), var$29, 1.0);
            nlea_Tessellator_addVertex($var23, 1.0, var$29, 1.0);
            nlea_Tessellator_addVertex($var23, 1.0, (-1.0), 1.0);
            nlea_Tessellator_addVertex($var23, (-1.0), (-1.0), 1.0);
            nlea_Tessellator_addVertex($var23, (-1.0), (-1.0), (-1.0));
            nlea_Tessellator_addVertex($var23, 1.0, (-1.0), (-1.0));
            nlea_Tessellator_addVertex($var23, 1.0, var$29, (-1.0));
            nlea_Tessellator_addVertex($var23, (-1.0), var$29, (-1.0));
            nlea_Tessellator_addVertex($var23, 1.0, (-1.0), (-1.0));
            nlea_Tessellator_addVertex($var23, 1.0, (-1.0), 1.0);
            nlea_Tessellator_addVertex($var23, 1.0, var$29, 1.0);
            nlea_Tessellator_addVertex($var23, 1.0, var$29, (-1.0));
            nlea_Tessellator_addVertex($var23, (-1.0), var$29, (-1.0));
            nlea_Tessellator_addVertex($var23, (-1.0), var$29, 1.0);
            nlea_Tessellator_addVertex($var23, (-1.0), (-1.0), 1.0);
            nlea_Tessellator_addVertex($var23, (-1.0), (-1.0), (-1.0));
            nlea_Tessellator_addVertex($var23, (-1.0), (-1.0), (-1.0));
            nlea_Tessellator_addVertex($var23, (-1.0), (-1.0), 1.0);
            nlea_Tessellator_addVertex($var23, 1.0, (-1.0), 1.0);
            nlea_Tessellator_addVertex($var23, 1.0, (-1.0), (-1.0));
            nlea_Tessellator_draw($var23);
        }
        if (!$this.$theWorld0.$provider.$isSkyColored())
            nleg_EaglerAdapterGL30_glColor3f($var6, $var7, $var8);
        else
            nleg_EaglerAdapterGL30_glColor3f($var6 * 0.20000000298023224 + 0.03999999910593033, $var7 * 0.20000000298023224 + 0.03999999910593033, $var8 * 0.6000000238418579 + 0.10000000149011612);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0,  -($var25 - 16.0), 0.0);
        nleg_EaglerAdapterGL30_glCallList($this.$glSkyList2);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $var6, $var7, $var8, $var13, $var23, $var24, $var11, $var12, $var13_0, $var27, $var14, $var15, $var8_0, $var21, $var22, $var28, $var29, $var30, $var16, $var17, $var18, $var19, $var25, var$26, var$27, $var20, var$29, $ptr);
}
function nms_RenderGlobal_renderClouds($this, $par1) {
    var $var24, $var13, $var15, $var2, $var3, $var5, $var6, $var10, $var11, $var12, $var10_0, $var17, $var18, $var19, $var20, $var21, var$18, $var22, $var23, var$21, var$22, $var23_0, var$24, var$25, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();$var23_0 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();var$18 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var10_0 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var15
        = $thread.pop();$var13 = $thread.pop();$var24 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$mc7.$theWorld.$provider.$isSurfaceWorld())
            return;
        if ($this.$mc7.$gameSettings.$fancyGraphics) {
            $ptr = 2;
            continue main;
        }
        nleg_EaglerAdapterGL30_glDisable(2884);
        $var24 = $this.$mc7.$renderViewEntity.$lastTickPosY;
        $var13 = $this.$mc7.$renderViewEntity.$posY - $this.$mc7.$renderViewEntity.$lastTickPosY;
        $var15 = $par1;
        $var2 = $var24 + $var13 * $var15;
        $var3 = 32;
        nlea_Tessellator_$callClinit();
        $var5 = nlea_Tessellator_instance;
        $var6 = nms_RenderGlobal_tex_clouds;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var6);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        $var6 = nms_World_getCloudColour($this.$theWorld0, $par1);
        $var10 = $var6.$xCoord;
        $var11 = $var6.$yCoord;
        $var12 = $var6.$zCoord;
        if ($this.$mc7.$gameSettings.$anaglyph) {
            $var10_0 = $var10 * 30.0;
            $var10 = ($var10_0 + $var11 * 59.0 + $var12 * 11.0) / 100.0;
            $var11 = ($var10_0 + $var11 * 70.0) / 100.0;
            $var12 = ($var10_0 + $var12 * 70.0) / 100.0;
        }
        $var24 = $this.$cloudTickCounter + $par1;
        $var13 = $this.$mc7.$renderViewEntity.$prevPosX + ($this.$mc7.$renderViewEntity.$posX - $this.$mc7.$renderViewEntity.$prevPosX) * $var15 + $var24 * 0.029999999329447746;
        $var15 = $this.$mc7.$renderViewEntity.$prevPosZ + ($this.$mc7.$renderViewEntity.$posZ - $this.$mc7.$renderViewEntity.$prevPosZ) * $var15;
        $var17 = nms_MathHelper_floor_double($var13 / 2048.0);
        $var18 = nms_MathHelper_floor_double($var15 / 2048.0);
        $var24 = $var13 - ($var17 * 2048 | 0);
        $var13 = $var15 - ($var18 * 2048 | 0);
        $var19 = $this.$theWorld0.$provider.$getCloudHeight() - $var2 + 0.33000001311302185;
        $var20 = $var24 * 4.8828125E-4;
        $var21 = $var13 * 4.8828125E-4;
        nlea_Tessellator_startDrawingQuads($var5);
        nlea_Tessellator_setColorRGBA_F($var5, $var10, $var11, $var12, 0.800000011920929);
        var$18 = $var19;
        $var22 = (-256);
        while ($var22 < 256) {
            $var23 = (-256);
            while ($var23 < 256) {
                var$21 = $var22 + 0 | 0;
                var$22 = var$21;
                $var23_0 = $var23 + $var3 | 0;
                var$24 = $var23_0;
                var$25 = var$21 * 4.8828125E-4 + $var20;
                $var24 = $var23_0 * 4.8828125E-4 + $var21;
                nlea_Tessellator_addVertexWithUV($var5, var$22, var$18, var$24, var$25, $var24);
                var$21 = $var22 + $var3 | 0;
                $var13 = var$21;
                $var15 = var$21 * 4.8828125E-4 + $var20;
                nlea_Tessellator_addVertexWithUV($var5, $var13, var$18, var$24, $var15, $var24);
                var$21 = $var23 + 0 | 0;
                $var24 = var$21;
                var$24 = var$21 * 4.8828125E-4 + $var21;
                nlea_Tessellator_addVertexWithUV($var5, $var13, var$18, $var24, $var15, var$24);
                nlea_Tessellator_addVertexWithUV($var5, var$22, var$18, $var24, var$25, var$24);
                $var23 = $var23_0;
            }
            $var22 = $var22 + $var3 | 0;
        }
        nlea_Tessellator_draw($var5);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(2884);
        return;
    case 2:
        nms_RenderGlobal_renderCloudsFancy($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var24, $var13, $var15, $var2, $var3, $var5, $var6, $var10, $var11, $var12, $var10_0, $var17, $var18, $var19, $var20, $var21, var$18, $var22, $var23, var$21, var$22, $var23_0, var$24, var$25, $ptr);
}
function nms_RenderGlobal_hasCloudFog($this, $par1, $par3, $par5, $par7) {
    return 0;
}
function nms_RenderGlobal_renderCloudsFancy($this, $par1) {
    var $var8, $var10, var$4, $var2, $var3, $var4, $var6, $var12, $var13, $var14, $var15, $var19, $var20, $var21, var$16, var$17, $var22, $var23, $var27, var$21, var$22, $var28, $var29, $var30, $var31, $var32, $var33, var$29, var$30, var$31, var$32, $var34, $var34_0, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var34_0 = $thread.pop();$var34 = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();$var33 = $thread.pop();$var32 = $thread.pop();$var31 = $thread.pop();$var30 = $thread.pop();$var29 = $thread.pop();$var28 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var27 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19
        = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();var$4 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glDisable(2884);
        $var8 = $this.$mc7.$renderViewEntity.$lastTickPosY;
        $var10 = $this.$mc7.$renderViewEntity.$posY - $this.$mc7.$renderViewEntity.$lastTickPosY;
        var$4 = $par1;
        $var2 = $var8 + $var10 * var$4;
        nlea_Tessellator_$callClinit();
        $var3 = nlea_Tessellator_instance;
        $var4 = 12.0;
        $var6 = $this.$cloudTickCounter + $par1;
        $var8 = ($this.$mc7.$renderViewEntity.$prevPosX + ($this.$mc7.$renderViewEntity.$posX - $this.$mc7.$renderViewEntity.$prevPosX) * var$4 + $var6 * 0.029999999329447746) / 12.0;
        $var10 = ($this.$mc7.$renderViewEntity.$prevPosZ + ($this.$mc7.$renderViewEntity.$posZ - $this.$mc7.$renderViewEntity.$prevPosZ) * var$4) / 12.0 + 0.33000001311302185;
        $var12 = $this.$theWorld0.$provider.$getCloudHeight() - $var2 + 0.33000001311302185;
        $var13 = nms_MathHelper_floor_double($var8 / 2048.0);
        $var14 = nms_MathHelper_floor_double($var10 / 2048.0);
        $var8 = $var8 - ($var13 * 2048 | 0);
        $var10 = $var10 - ($var14 * 2048 | 0);
        $var15 = nms_RenderGlobal_tex_clouds;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var15);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        $var15 = nms_World_getCloudColour($this.$theWorld0, $par1);
        $var19 = $var15.$xCoord;
        $var20 = $var15.$yCoord;
        $var21 = $var15.$zCoord;
        if ($this.$mc7.$gameSettings.$anaglyph) {
            $par1 = $var19 * 30.0;
            $var19 = ($par1 + $var20 * 59.0 + $var21 * 11.0) / 100.0;
            $var20 = ($par1 + $var20 * 70.0) / 100.0;
            $var21 = ($par1 + $var21 * 70.0) / 100.0;
        }
        var$16 = nms_MathHelper_floor_double($var8) * 0.00390625;
        var$17 = nms_MathHelper_floor_double($var10) * 0.00390625;
        $var22 = $var8 - nms_MathHelper_floor_double($var8);
        $var23 = $var10 - nms_MathHelper_floor_double($var10);
        nleg_EaglerAdapterGL30_glScalef($var4, 1.0, $var4);
        $var27 = 0;
        $var14 = $rt_compare($var12, (-5.0));
        $var6 = $var12 + 0.0;
        var$21 = $rt_compare($var12, 5.0);
        $par1 = $var12 + 4.0;
        $var10 = $par1 - 9.765625E-4;
        var$22 = $par1;
        while ($var27 < 2) {
            if (!$var27)
                nleg_EaglerAdapterGL30_glColorMask(0, 0, 0, 0);
            else if (!$this.$mc7.$gameSettings.$anaglyph)
                nleg_EaglerAdapterGL30_glColorMask(1, 1, 1, 1);
            else if (nms_EntityRenderer_anaglyphField)
                nleg_EaglerAdapterGL30_glColorMask(1, 0, 0, 1);
            else
                nleg_EaglerAdapterGL30_glColorMask(0, 1, 1, 1);
            $var28 = (-3);
            while ($var28 <= 4) {
                $var29 = (-3);
                while ($var29 <= 4) {
                    nlea_Tessellator_startDrawingQuads($var3);
                    $var30 = $var28 * 8 | 0;
                    $var31 = $var29 * 8 | 0;
                    $var32 = $var30 - $var22;
                    $var33 = $var31 - $var23;
                    if ($var14 > 0) {
                        nlea_Tessellator_setColorRGBA_F($var3, $var19 * 0.699999988079071, $var20 * 0.699999988079071, $var21 * 0.699999988079071, 0.800000011920929);
                        nlea_Tessellator_setNormal($var3, 0.0, (-1.0), 0.0);
                        $var8 = $var32 + 0.0;
                        var$4 = $var33 + 8.0;
                        var$29 = ($var30 + 0.0) * 0.00390625 + var$16;
                        var$30 = ($var31 + 8.0) * 0.00390625 + var$17;
                        nlea_Tessellator_addVertexWithUV($var3, $var8, $var6, var$4, var$29, var$30);
                        var$31 = $var32 + 8.0;
                        var$32 = ($var30 + 8.0) * 0.00390625 + var$16;
                        nlea_Tessellator_addVertexWithUV($var3, var$31, $var6, var$4, var$32, var$30);
                        var$30 = $var33 + 0.0;
                        var$4 = ($var31 + 0.0) * 0.00390625 + var$17;
                        nlea_Tessellator_addVertexWithUV($var3, var$31, $var6, var$30, var$32, var$4);
                        nlea_Tessellator_addVertexWithUV($var3, $var8, $var6, var$30, var$29, var$4);
                    }
                    if (var$21 <= 0) {
                        nlea_Tessellator_setColorRGBA_F($var3, $var19, $var20, $var21, 0.800000011920929);
                        nlea_Tessellator_setNormal($var3, 0.0, 1.0, 0.0);
                        $var8 = $var32 + 0.0;
                        var$4 = $var33 + 8.0;
                        var$29 = ($var30 + 0.0) * 0.00390625 + var$16;
                        var$30 = ($var31 + 8.0) * 0.00390625 + var$17;
                        nlea_Tessellator_addVertexWithUV($var3, $var8, $var10, var$4, var$29, var$30);
                        var$31 = $var32 + 8.0;
                        var$32 = ($var30 + 8.0) * 0.00390625 + var$16;
                        nlea_Tessellator_addVertexWithUV($var3, var$31, $var10, var$4, var$32, var$30);
                        var$30 = $var33 + 0.0;
                        var$4 = ($var31 + 0.0) * 0.00390625 + var$17;
                        nlea_Tessellator_addVertexWithUV($var3, var$31, $var10, var$30, var$32, var$4);
                        nlea_Tessellator_addVertexWithUV($var3, $var8, $var10, var$30, var$29, var$4);
                    }
                    a: {
                        nlea_Tessellator_setColorRGBA_F($var3, $var19 * 0.8999999761581421, $var20 * 0.8999999761581421, $var21 * 0.8999999761581421, 0.800000011920929);
                        if ($var28 > (-1)) {
                            nlea_Tessellator_setNormal($var3, (-1.0), 0.0, 0.0);
                            $var34 = 0;
                            var$29 = $var33 + 8.0;
                            var$31 = ($var31 + 8.0) * 0.00390625 + var$17;
                            var$32 = $var33 + 0.0;
                            $var8 = ($var31 + 0.0) * 0.00390625 + var$17;
                            while (true) {
                                if ($var34 >= 8)
                                    break a;
                                $par1 = $var34;
                                var$4 = $var32 + $par1 + 0.0;
                                var$30 = ($var30 + $par1 + 0.5) * 0.00390625 + var$16;
                                nlea_Tessellator_addVertexWithUV($var3, var$4, $var6, var$29, var$30, var$31);
                                nlea_Tessellator_addVertexWithUV($var3, var$4, var$22, var$29, var$30, var$31);
                                nlea_Tessellator_addVertexWithUV($var3, var$4, var$22, var$32, var$30, $var8);
                                nlea_Tessellator_addVertexWithUV($var3, var$4, $var6, var$32, var$30, $var8);
                                $var34 = $var34 + 1 | 0;
                            }
                        }
                    }
                    b: {
                        if ($var28 <= 1) {
                            nlea_Tessellator_setNormal($var3, 1.0, 0.0, 0.0);
                            $var34_0 = 0;
                            var$4 = $var33 + 8.0;
                            var$30 = ($var31 + 8.0) * 0.00390625 + var$17;
                            var$31 = $var33 + 0.0;
                            var$32 = ($var31 + 0.0) * 0.00390625 + var$17;
                            while (true) {
                                if ($var34_0 >= 8)
                                    break b;
                                $par1 = $var34_0;
                                $var8 = $var32 + $par1 + 1.0 - 9.765625E-4;
                                var$29 = ($var30 + $par1 + 0.5) * 0.00390625 + var$16;
                                nlea_Tessellator_addVertexWithUV($var3, $var8, $var6, var$4, var$29, var$30);
                                nlea_Tessellator_addVertexWithUV($var3, $var8, var$22, var$4, var$29, var$30);
                                nlea_Tessellator_addVertexWithUV($var3, $var8, var$22, var$31, var$29, var$32);
                                nlea_Tessellator_addVertexWithUV($var3, $var8, $var6, var$31, var$29, var$32);
                                $var34_0 = $var34_0 + 1 | 0;
                            }
                        }
                    }
                    c: {
                        nlea_Tessellator_setColorRGBA_F($var3, $var19 * 0.800000011920929, $var20 * 0.800000011920929, $var21 * 0.800000011920929, 0.800000011920929);
                        if ($var29 > (-1)) {
                            nlea_Tessellator_setNormal($var3, 0.0, 0.0, (-1.0));
                            $var34_0 = 0;
                            var$32 = $var32 + 0.0;
                            var$4 = ($var30 + 0.0) * 0.00390625 + var$16;
                            var$30 = $var32 + 8.0;
                            var$31 = ($var30 + 8.0) * 0.00390625 + var$16;
                            while (true) {
                                if ($var34_0 >= 8)
                                    break c;
                                $par1 = $var34_0;
                                $var8 = $var33 + $par1 + 0.0;
                                var$29 = ($var31 + $par1 + 0.5) * 0.00390625 + var$17;
                                nlea_Tessellator_addVertexWithUV($var3, var$32, var$22, $var8, var$4, var$29);
                                nlea_Tessellator_addVertexWithUV($var3, var$30, var$22, $var8, var$31, var$29);
                                nlea_Tessellator_addVertexWithUV($var3, var$30, $var6, $var8, var$31, var$29);
                                nlea_Tessellator_addVertexWithUV($var3, var$32, $var6, $var8, var$4, var$29);
                                $var34_0 = $var34_0 + 1 | 0;
                            }
                        }
                    }
                    d: {
                        if ($var29 <= 1) {
                            nlea_Tessellator_setNormal($var3, 0.0, 0.0, 1.0);
                            $var34_0 = 0;
                            $var8 = $var32 + 0.0;
                            var$29 = ($var30 + 0.0) * 0.00390625 + var$16;
                            var$31 = $var32 + 8.0;
                            var$32 = ($var30 + 8.0) * 0.00390625 + var$16;
                            while (true) {
                                if ($var34_0 >= 8)
                                    break d;
                                $par1 = $var34_0;
                                var$4 = $var33 + $par1 + 1.0 - 9.765625E-4;
                                var$30 = ($var31 + $par1 + 0.5) * 0.00390625 + var$17;
                                nlea_Tessellator_addVertexWithUV($var3, $var8, var$22, var$4, var$29, var$30);
                                nlea_Tessellator_addVertexWithUV($var3, var$31, var$22, var$4, var$32, var$30);
                                nlea_Tessellator_addVertexWithUV($var3, var$31, $var6, var$4, var$32, var$30);
                                nlea_Tessellator_addVertexWithUV($var3, $var8, $var6, var$4, var$29, var$30);
                                $var34_0 = $var34_0 + 1 | 0;
                            }
                        }
                    }
                    nlea_Tessellator_draw($var3);
                    $var29 = $var29 + 1 | 0;
                }
                $var28 = $var28 + 1 | 0;
            }
            $var27 = $var27 + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(2884);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var8, $var10, var$4, $var2, $var3, $var4, $var6, $var12, $var13, $var14, $var15, $var19, $var20, $var21, var$16, var$17, $var22, $var23, $var27, var$21, var$22, $var28, $var29, $var30, $var31, $var32, $var33, var$29, var$30, var$31, var$32, $var34, $var34_0, $ptr);
}
function nms_RenderGlobal_updateRenderers($this, $par1EntityLiving, $par2) {
    var $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var16, $var17, $var11_0, $var12_0, $var13, $var14, $var15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12_0 = $thread.pop();$var11_0 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = 2;
        $var4 = new nms_RenderSorter;
        $var4.$baseEntity = $par1EntityLiving;
        $var5 = $rt_createArray(nms_WorldRenderer, $var3).data;
        $var6 = null;
        $var7 = $this.$worldRenderersToUpdate.$size;
        $var8 = 0;
        nms_Profiler_startSection($this.$theWorld0.$theProfiler, $rt_s(1153));
        $var9 = 0;
        while ($var9 < $var7) {
            a: {
                $var10 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var9);
                if ($var10 !== null) {
                    b: {
                        if ($par2) {
                            if ($var10.$isInFrustum)
                                break b;
                            break a;
                        }
                        if (nms_WorldRenderer_distanceToEntitySquared($var10, $par1EntityLiving) > 256.0) {
                            $var11 = 0;
                            while ($var11 < $var3 && !($var5[$var11] !== null && nms_RenderSorter_doCompare($var4, $var5[$var11], $var10) > 0)) {
                                $var11 = $var11 + 1 | 0;
                            }
                            $var11 = $var11 + (-1) | 0;
                            if ($var11 <= 0)
                                break a;
                            $var12 = $var11;
                            while (true) {
                                $var12 = $var12 + (-1) | 0;
                                if (!$var12)
                                    break;
                                $var5[$var12 - 1 | 0] = $var5[$var12];
                            }
                            $var5[$var11] = $var10;
                            break a;
                        }
                    }
                    if ($var6 === null)
                        $var6 = ju_ArrayList__init_0();
                    $var8 = $var8 + 1 | 0;
                    ju_ArrayList_add($var6, $var10);
                    ju_ArrayList_set($this.$worldRenderersToUpdate, $var9, null);
                }
            }
            $var9 = $var9 + 1 | 0;
        }
        nms_Profiler_endSection($this.$theWorld0.$theProfiler);
        nms_Profiler_startSection($this.$theWorld0.$theProfiler, $rt_s(1154));
        if ($var6 !== null) {
            if ($var6.$size > 1)
                ju_Collections_sort($var6, $var4);
            $par2 = $var6.$size - 1 | 0;
            if ($par2 >= 0) {
                $var10 = ju_ArrayList_get($var6, $par2);
                $ptr = 1;
                continue main;
            }
        }
        nms_Profiler_endSection($this.$theWorld0.$theProfiler);
        $var11 = 0;
        $var12 = 1;
        $var16 = $var12;
        c: {
            d: {
                while (true) {
                    if ($var16 < 0)
                        break d;
                    $var17 = $var5[$var16];
                    if ($var17 !== null)
                        break;
                    $var16 = $var16 + (-1) | 0;
                }
                if ($var17.$isInFrustum)
                    break c;
                if ($var16 == $var12)
                    break c;
                $var5[$var16] = null;
                $var5[0] = null;
            }
            $par1EntityLiving = $this.$mc7;
            $par1EntityLiving.$chunkUpdates = $par1EntityLiving.$chunkUpdates + $var11 | 0;
            nms_Profiler_startSection($this.$theWorld0.$theProfiler, $rt_s(1155));
            $var12 = 0;
            $var11_0 = 0;
            $var12_0 = $this.$worldRenderersToUpdate.$size;
            while ($var12 != $var12_0) {
                $var13 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var12);
                if ($var13 !== null) {
                    $var14 = 0;
                    $var15 = 0;
                    while ($var15 < $var3 && !$var14) {
                        if ($var13 === $var5[$var15])
                            $var14 = 1;
                        $var15 = $var15 + 1 | 0;
                    }
                    if (!$var14) {
                        if ($var11_0 != $var12)
                            ju_ArrayList_set($this.$worldRenderersToUpdate, $var11_0, $var13);
                        $var11_0 = $var11_0 + 1 | 0;
                    }
                }
                $var12 = $var12 + 1 | 0;
            }
            nms_Profiler_endSection($this.$theWorld0.$theProfiler);
            nms_Profiler_startSection($this.$theWorld0.$theProfiler, $rt_s(1156));
            while (true) {
                $var12 = $var12 + (-1) | 0;
                if ($var12 < $var11_0)
                    break;
                ju_ArrayList_remove($this.$worldRenderersToUpdate, $var12);
            }
            nms_Profiler_endSection($this.$theWorld0.$theProfiler);
            return $var7 != ($var8 + $var11 | 0) ? 0 : 1;
        }
        $par1EntityLiving = $var5[$var16];
        $ptr = 2;
        continue main;
    case 1:
        nms_WorldRenderer_updateRenderer($var10);
        if ($rt_suspending()) {
            break main;
        }
        $var10.$needsUpdate = 0;
        $par2 = $par2 + (-1) | 0;
        if ($par2 >= 0) {
            $var10 = ju_ArrayList_get($var6, $par2);
            continue main;
        }
        nms_Profiler_endSection($this.$theWorld0.$theProfiler);
        $var11 = 0;
        $var12 = 1;
        $var16 = $var12;
        a: {
            e: {
                while (true) {
                    if ($var16 < 0)
                        break e;
                    $var17 = $var5[$var16];
                    if ($var17 !== null)
                        break;
                    $var16 = $var16 + (-1) | 0;
                }
                if ($var17.$isInFrustum)
                    break a;
                if ($var16 == $var12)
                    break a;
                $var5[$var16] = null;
                $var5[0] = null;
            }
            $par1EntityLiving = $this.$mc7;
            $par1EntityLiving.$chunkUpdates = $par1EntityLiving.$chunkUpdates + $var11 | 0;
            nms_Profiler_startSection($this.$theWorld0.$theProfiler, $rt_s(1155));
            $var12 = 0;
            $var11_0 = 0;
            $var12_0 = $this.$worldRenderersToUpdate.$size;
            while ($var12 != $var12_0) {
                $var13 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var12);
                if ($var13 !== null) {
                    $var14 = 0;
                    $var15 = 0;
                    while ($var15 < $var3 && !$var14) {
                        if ($var13 === $var5[$var15])
                            $var14 = 1;
                        $var15 = $var15 + 1 | 0;
                    }
                    if (!$var14) {
                        if ($var11_0 != $var12)
                            ju_ArrayList_set($this.$worldRenderersToUpdate, $var11_0, $var13);
                        $var11_0 = $var11_0 + 1 | 0;
                    }
                }
                $var12 = $var12 + 1 | 0;
            }
            nms_Profiler_endSection($this.$theWorld0.$theProfiler);
            nms_Profiler_startSection($this.$theWorld0.$theProfiler, $rt_s(1156));
            while (true) {
                $var12 = $var12 + (-1) | 0;
                if ($var12 < $var11_0)
                    break;
                ju_ArrayList_remove($this.$worldRenderersToUpdate, $var12);
            }
            nms_Profiler_endSection($this.$theWorld0.$theProfiler);
            return $var7 != ($var8 + $var11 | 0) ? 0 : 1;
        }
        $par1EntityLiving = $var5[$var16];
        $ptr = 2;
    case 2:
        nms_WorldRenderer_updateRenderer($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        $var5[$var16].$needsUpdate = 0;
        $var11 = $var11 + 1 | 0;
        f: {
            a: {
                while (true) {
                    $var16 = $var16 + (-1) | 0;
                    if ($var16 < 0)
                        break a;
                    $var17 = $var5[$var16];
                    if ($var17 !== null)
                        break;
                }
                if ($var17.$isInFrustum)
                    break f;
                if ($var16 == $var12)
                    break f;
                $var5[$var16] = null;
                $var5[0] = null;
            }
            $par1EntityLiving = $this.$mc7;
            $par1EntityLiving.$chunkUpdates = $par1EntityLiving.$chunkUpdates + $var11 | 0;
            nms_Profiler_startSection($this.$theWorld0.$theProfiler, $rt_s(1155));
            $var12 = 0;
            $var11_0 = 0;
            $var12_0 = $this.$worldRenderersToUpdate.$size;
            while ($var12 != $var12_0) {
                $var13 = ju_ArrayList_get($this.$worldRenderersToUpdate, $var12);
                if ($var13 !== null) {
                    $var14 = 0;
                    $var15 = 0;
                    while ($var15 < $var3 && !$var14) {
                        if ($var13 === $var5[$var15])
                            $var14 = 1;
                        $var15 = $var15 + 1 | 0;
                    }
                    if (!$var14) {
                        if ($var11_0 != $var12)
                            ju_ArrayList_set($this.$worldRenderersToUpdate, $var11_0, $var13);
                        $var11_0 = $var11_0 + 1 | 0;
                    }
                }
                $var12 = $var12 + 1 | 0;
            }
            nms_Profiler_endSection($this.$theWorld0.$theProfiler);
            nms_Profiler_startSection($this.$theWorld0.$theProfiler, $rt_s(1156));
            while (true) {
                $var12 = $var12 + (-1) | 0;
                if ($var12 < $var11_0)
                    break;
                ju_ArrayList_remove($this.$worldRenderersToUpdate, $var12);
            }
            nms_Profiler_endSection($this.$theWorld0.$theProfiler);
            return $var7 != ($var8 + $var11 | 0) ? 0 : 1;
        }
        $par1EntityLiving = $var5[$var16];
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var16, $var17, $var11_0, $var12_0, $var13, $var14, $var15, $ptr);
}
function nms_RenderGlobal_drawBlockBreaking($this, $par1EntityPlayer, $par2MovingObjectPosition, $par3, $par4ItemStack, $par5) {
    var $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$par5 = $thread.pop();$par4ItemStack = $thread.pop();$par3 = $thread.pop();$par2MovingObjectPosition = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 1);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, (nms_MathHelper_sin(Long_toNumber(jl_System_currentTimeMillis()) / 100.0) * 0.20000000298023224 + 0.4000000059604645) * 0.5);
        if ($par3 && $par4ItemStack !== null) {
            nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
            $var7 = nms_MathHelper_sin(Long_toNumber(jl_System_currentTimeMillis()) / 100.0) * 0.20000000298023224 + 0.800000011920929;
            nleg_EaglerAdapterGL30_glColor4f($var7, $var7, $var7, nms_MathHelper_sin(Long_toNumber(jl_System_currentTimeMillis()) / 200.0) * 0.20000000298023224 + 0.5);
            $par1EntityPlayer = nms_RenderGlobal_tex_terrain;
            $ptr = 1;
            continue main;
        }
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glDisable(3008);
        return;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glDisable(3008);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2MovingObjectPosition, $par3, $par4ItemStack, $par5, $var7, $ptr);
}
function nms_RenderGlobal_drawBlockDamageTexture($this, $par1Tessellator, $par2EntityPlayer, $par3) {
    var $var8, $var4, $var12, $var6, $var10, $var11, $var14, $var16, $var18, $var19, var$14, var$15, var$16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var6 = $thread.pop();$var12 = $thread.pop();$var4 = $thread.pop();$var8 = $thread.pop();$par3 = $thread.pop();$par2EntityPlayer = $thread.pop();$par1Tessellator = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var8 = $par2EntityPlayer.$lastTickPosX;
        $var4 = $par2EntityPlayer.$posX - $par2EntityPlayer.$lastTickPosX;
        $var12 = $par3;
        $var4 = $var8 + $var4 * $var12;
        $var6 = $par2EntityPlayer.$lastTickPosY + ($par2EntityPlayer.$posY - $par2EntityPlayer.$lastTickPosY) * $var12;
        $var8 = $par2EntityPlayer.$lastTickPosZ + ($par2EntityPlayer.$posZ - $par2EntityPlayer.$lastTickPosZ) * $var12;
        if (ju_HashMap_isEmpty($this.$damagedBlocks))
            return;
        nleg_EaglerAdapterGL30_glBlendFunc(774, 768);
        $par2EntityPlayer = nms_RenderGlobal_tex_terrain;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par2EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 0.5);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glPolygonOffset(3.0, 3.0);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        nleg_EaglerAdapterGL30_glEnable(32823);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nlea_Tessellator_startDrawingQuads($par1Tessellator);
        nlea_Tessellator_setTranslation($par1Tessellator,  -$var4,  -$var6,  -$var8);
        nlea_Tessellator_disableColor($par1Tessellator);
        $var10 = ju_HashMap_values($this.$damagedBlocks).$iterator();
        while ($var10.$hasNext()) {
            $var11 = $var10.$next();
            $var12 = $var11.$partialBlockX - $var4;
            $var14 = $var11.$partialBlockY - $var6;
            $var16 = $var11.$partialBlockZ - $var8;
            if ($var12 * $var12 + $var14 * $var14 + $var16 * $var16 <= 1024.0) {
                $var18 = nms_World_getBlockId($this.$theWorld0, $var11.$partialBlockX, $var11.$partialBlockY, $var11.$partialBlockZ);
                if ($var18 <= 0)
                    $var19 = null;
                else {
                    nms_Block_$callClinit();
                    $var19 = nms_Block_blocksList.data[$var18];
                }
                if ($var19 === null) {
                    nms_Block_$callClinit();
                    $var19 = nms_Block_stone;
                }
                $par2EntityPlayer = $this.$globalRenderBlocks;
                var$14 = $var11.$partialBlockX;
                var$15 = $var11.$partialBlockY;
                var$16 = $var11.$partialBlockZ;
                $var11 = $this.$destroyBlockIcons.data[$var11.$partialBlockProgress];
                $ptr = 2;
                continue main;
            }
            $var10.$remove2();
        }
        nlea_Tessellator_draw($par1Tessellator);
        nlea_Tessellator_setTranslation($par1Tessellator, 0.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glPolygonOffset(0.0, 0.0);
        nleg_EaglerAdapterGL30_glDisable(32823);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 2:
        nms_RenderBlocks_renderBlockUsingTexture($par2EntityPlayer, $var19, var$14, var$15, var$16, $var11);
        if ($rt_suspending()) {
            break main;
        }
        while ($var10.$hasNext()) {
            $var11 = $var10.$next();
            $var12 = $var11.$partialBlockX - $var4;
            $var14 = $var11.$partialBlockY - $var6;
            $var16 = $var11.$partialBlockZ - $var8;
            if ($var12 * $var12 + $var14 * $var14 + $var16 * $var16 <= 1024.0) {
                $var18 = nms_World_getBlockId($this.$theWorld0, $var11.$partialBlockX, $var11.$partialBlockY, $var11.$partialBlockZ);
                if ($var18 <= 0)
                    $var19 = null;
                else {
                    nms_Block_$callClinit();
                    $var19 = nms_Block_blocksList.data[$var18];
                }
                if ($var19 === null) {
                    nms_Block_$callClinit();
                    $var19 = nms_Block_stone;
                }
                $par2EntityPlayer = $this.$globalRenderBlocks;
                var$14 = $var11.$partialBlockX;
                var$15 = $var11.$partialBlockY;
                var$16 = $var11.$partialBlockZ;
                $var11 = $this.$destroyBlockIcons.data[$var11.$partialBlockProgress];
                continue main;
            }
            $var10.$remove2();
        }
        nlea_Tessellator_draw($par1Tessellator);
        nlea_Tessellator_setTranslation($par1Tessellator, 0.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glPolygonOffset(0.0, 0.0);
        nleg_EaglerAdapterGL30_glDisable(32823);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Tessellator, $par2EntityPlayer, $par3, $var8, $var4, $var12, $var6, $var10, $var11, $var14, $var16, $var18, $var19, var$14, var$15, var$16, $ptr);
}
function nms_RenderGlobal_drawSelectionBox($this, $par1EntityPlayer, $par2MovingObjectPosition, $par3, $par4ItemStack, $par5) {
    var $var7, var$7, var$8, var$9, $var8, $var10, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var7 = $thread.pop();$par5 = $thread.pop();$par4ItemStack = $thread.pop();$par3 = $thread.pop();$par2MovingObjectPosition = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par3 && $par2MovingObjectPosition.$typeOfHit === nms_EnumMovingObjectType_TILE) {
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
            nleg_EaglerAdapterGL30_glColor4f(0.0, 0.0, 0.0, 0.4000000059604645);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nleg_EaglerAdapterGL30_glDepthMask(0);
            $var7 = nms_World_getBlockId($this.$theWorld0, $par2MovingObjectPosition.$blockX, $par2MovingObjectPosition.$blockY, $par2MovingObjectPosition.$blockZ);
            if ($var7 > 0) {
                nms_Block_$callClinit();
                $par4ItemStack = nms_Block_blocksList.data[$var7];
                var$7 = $this.$theWorld0;
                $par3 = $par2MovingObjectPosition.$blockX;
                var$8 = $par2MovingObjectPosition.$blockY;
                var$9 = $par2MovingObjectPosition.$blockZ;
                $ptr = 1;
                continue main;
            }
            nleg_EaglerAdapterGL30_glDepthMask(1);
            nleg_EaglerAdapterGL30_glEnable(3553);
            nleg_EaglerAdapterGL30_glDisable(3042);
        }
        return;
    case 1:
        $par4ItemStack.$setBlockBoundsBasedOnState(var$7, $par3, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $par1EntityPlayer.$lastTickPosX;
        $var10 = $par1EntityPlayer.$posX - $par1EntityPlayer.$lastTickPosX;
        $var12 = $par5;
        $var8 = $var8 + $var10 * $var12;
        $var10 = $par1EntityPlayer.$lastTickPosY + ($par1EntityPlayer.$posY - $par1EntityPlayer.$lastTickPosY) * $var12;
        $var12 = $par1EntityPlayer.$lastTickPosZ + ($par1EntityPlayer.$posZ - $par1EntityPlayer.$lastTickPosZ) * $var12;
        $par1EntityPlayer = nms_AxisAlignedBB_getOffsetBoundingBox(nms_AxisAlignedBB_expand(nms_Block_blocksList.data[$var7].$getSelectedBoundingBoxFromPool($this.$theWorld0, $par2MovingObjectPosition.$blockX, $par2MovingObjectPosition.$blockY, $par2MovingObjectPosition.$blockZ), 0.0020000000949949026, 0.0020000000949949026, 0.0020000000949949026),  -$var8,  -$var10,  -$var12);
        nlea_Tessellator_$callClinit();
        $par2MovingObjectPosition = nlea_Tessellator_instance;
        nlea_Tessellator_startDrawing($par2MovingObjectPosition, 3);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$minX, $par1EntityPlayer.$minY, $par1EntityPlayer.$minZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$maxX, $par1EntityPlayer.$minY, $par1EntityPlayer.$minZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$maxX, $par1EntityPlayer.$minY, $par1EntityPlayer.$maxZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$minX, $par1EntityPlayer.$minY, $par1EntityPlayer.$maxZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$minX, $par1EntityPlayer.$minY, $par1EntityPlayer.$minZ);
        nlea_Tessellator_draw($par2MovingObjectPosition);
        nlea_Tessellator_startDrawing($par2MovingObjectPosition, 3);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$minX, $par1EntityPlayer.$maxY, $par1EntityPlayer.$minZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$maxX, $par1EntityPlayer.$maxY, $par1EntityPlayer.$minZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$maxX, $par1EntityPlayer.$maxY, $par1EntityPlayer.$maxZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$minX, $par1EntityPlayer.$maxY, $par1EntityPlayer.$maxZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$minX, $par1EntityPlayer.$maxY, $par1EntityPlayer.$minZ);
        nlea_Tessellator_draw($par2MovingObjectPosition);
        nlea_Tessellator_startDrawing($par2MovingObjectPosition, 1);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$minX, $par1EntityPlayer.$minY, $par1EntityPlayer.$minZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$minX, $par1EntityPlayer.$maxY, $par1EntityPlayer.$minZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$maxX, $par1EntityPlayer.$minY, $par1EntityPlayer.$minZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$maxX, $par1EntityPlayer.$maxY, $par1EntityPlayer.$minZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$maxX, $par1EntityPlayer.$minY, $par1EntityPlayer.$maxZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$maxX, $par1EntityPlayer.$maxY, $par1EntityPlayer.$maxZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$minX, $par1EntityPlayer.$minY, $par1EntityPlayer.$maxZ);
        nlea_Tessellator_addVertex($par2MovingObjectPosition, $par1EntityPlayer.$minX, $par1EntityPlayer.$maxY, $par1EntityPlayer.$maxZ);
        nlea_Tessellator_draw($par2MovingObjectPosition);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_glDisable(3042);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2MovingObjectPosition, $par3, $par4ItemStack, $par5, $var7, var$7, var$8, var$9, $var8, $var10, $var12, $ptr);
}
function nms_RenderGlobal_markBlocksForUpdate($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    var $var13, $var8, $var9, $var10, $var11, $var12, $var14, $var15, $var16, $var17, $var18, $var19, $var20;
    $var13 = nms_MathHelper_bucketInt($par1, 16);
    $var8 = nms_MathHelper_bucketInt($par2, 16);
    $var9 = nms_MathHelper_bucketInt($par3, 16);
    $var10 = nms_MathHelper_bucketInt($par4, 16);
    $var11 = nms_MathHelper_bucketInt($par5, 16);
    $var12 = nms_MathHelper_bucketInt($par6, 16);
    while ($var13 <= $var10) {
        $var14 = $var13 % $this.$renderChunksWide | 0;
        if ($var14 < 0)
            $var14 = $var14 + $this.$renderChunksWide | 0;
        $var15 = $var8;
        while ($var15 <= $var11) {
            $var16 = $var15 % $this.$renderChunksTall | 0;
            if ($var16 < 0)
                $var16 = $var16 + $this.$renderChunksTall | 0;
            $var17 = $var9;
            while ($var17 <= $var12) {
                $var18 = $var17 % $this.$renderChunksDeep | 0;
                if ($var18 < 0)
                    $var18 = $var18 + $this.$renderChunksDeep | 0;
                $var19 = $rt_imul($rt_imul($var18, $this.$renderChunksTall) + $var16 | 0, $this.$renderChunksWide) + $var14 | 0;
                $var20 = $this.$worldRenderers.data[$var19];
                if ($var20 !== null && !$var20.$needsUpdate) {
                    ju_ArrayList_add($this.$worldRenderersToUpdate, $var20);
                    nms_WorldRenderer_markDirty($var20);
                }
                $var17 = $var17 + 1 | 0;
            }
            $var15 = $var15 + 1 | 0;
        }
        $var13 = $var13 + 1 | 0;
    }
}
function nms_RenderGlobal_markBlockForUpdate($this, $par1, $par2, $par3) {
    nms_RenderGlobal_markBlocksForUpdate($this, $par1 - 1 | 0, $par2 - 1 | 0, $par3 - 1 | 0, $par1 + 1 | 0, $par2 + 1 | 0, $par3 + 1 | 0);
}
function nms_RenderGlobal_markBlockForRenderUpdate($this, $par1, $par2, $par3) {
    nms_RenderGlobal_markBlocksForUpdate($this, $par1 - 1 | 0, $par2 - 1 | 0, $par3 - 1 | 0, $par1 + 1 | 0, $par2 + 1 | 0, $par3 + 1 | 0);
}
function nms_RenderGlobal_markBlockRangeForRenderUpdate($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    nms_RenderGlobal_markBlocksForUpdate($this, $par1 - 1 | 0, $par2 - 1 | 0, $par3 - 1 | 0, $par4 + 1 | 0, $par5 + 1 | 0, $par6 + 1 | 0);
}
function nms_RenderGlobal_clipRenderersByFrustum($this, $par1ICamera, $par2) {
    var $var3;
    $var3 = 0;
    while ($var3 < $this.$worldRenderers.data.length) {
        if (!nms_WorldRenderer_skipAllRenderPasses($this.$worldRenderers.data[$var3]) && !($this.$worldRenderers.data[$var3].$isInFrustum && ($var3 + $this.$frustumCheckOffset | 0) & 15))
            nms_WorldRenderer_updateInFrustum($this.$worldRenderers.data[$var3], $par1ICamera);
        $var3 = $var3 + 1 | 0;
    }
    $this.$frustumCheckOffset = $this.$frustumCheckOffset + 1 | 0;
}
function nms_RenderGlobal_playRecord($this, $par1Str, $par2, $par3, $par4) {
    var $var5;
    nmc_Minecraft_displayEaglercraftText(nmc_Minecraft_theMinecraft, $rt_s(1157));
    $var5 = ju_HashMap_get(nms_ItemRecord_records, $par1Str);
    if ($par1Str !== null && $var5 !== null)
        nms_GuiIngame_setRecordPlayingMessage($this.$mc7.$ingameGUI, nms_ItemRecord_getRecordTitle($var5));
}
function nms_RenderGlobal_playSound($this, $par1Str, $par2, $par4, $par6, $par8, $par9) {
    return;
}
function nms_RenderGlobal_playSoundToNearExcept($this, $par1EntityPlayer, $par2Str, $par3, $par5, $par7, $par9, $par10) {
    return;
}
function nms_RenderGlobal_spawnParticle($this, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par12 = $thread.pop();$par10 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderGlobal_doSpawnParticle($this, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12, $ptr);
}
function nms_RenderGlobal_doSpawnParticle($this, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12) {
    var $var14, $var15, $var17, $var19, $var21, var$13, $var24, var$15, $var27, $var28, $var25, $var26, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();var$15 = $thread.pop();$var24 = $thread.pop();var$13 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$par12 = $thread.pop();$par10 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$mc7 !== null && $this.$mc7.$renderViewEntity !== null && $this.$mc7.$effectRenderer !== null) {
            $var14 = $this.$mc7.$gameSettings.$particleSetting;
            if ($var14 == 1 && !nle_EaglercraftRandom_nextInt($this.$theWorld0.$rand, 3))
                $var14 = 2;
            $var15 = $this.$mc7.$renderViewEntity.$posX - $par2;
            $var17 = $this.$mc7.$renderViewEntity.$posY - $par4;
            $var19 = $this.$mc7.$renderViewEntity.$posZ - $par6;
            $var21 = null;
            if (jl_String_equals($par1Str, $rt_s(1158))) {
                var$13 = $this.$mc7.$effectRenderer;
                $var21 = nms_EntityHugeExplodeFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                nms_EffectRenderer_addEffect(var$13, $var21);
            } else if (jl_String_equals($par1Str, $rt_s(1159))) {
                var$13 = $this.$mc7.$effectRenderer;
                $var21 = nms_EntityLargeExplodeFX__init_($this.$renderEngine2, $this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                nms_EffectRenderer_addEffect(var$13, $var21);
            } else if (jl_String_equals($par1Str, $rt_s(1160))) {
                var$13 = $this.$mc7.$effectRenderer;
                $var21 = nms_EntityFireworkSparkFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12, $this.$mc7.$effectRenderer);
                nms_EffectRenderer_addEffect(var$13, $var21);
            }
            if ($var21 !== null)
                return $var21;
            if ($var15 * $var15 + $var17 * $var17 + $var19 * $var19 > 256.0)
                return null;
            if ($var14 > 1)
                return null;
            a: {
                if (jl_String_equals($par1Str, $rt_s(1017))) {
                    $var21 = nms_EntityBubbleFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1161))) {
                    $var21 = nms_EntitySuspendFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1162))) {
                    $var21 = nms_EntityAuraFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1163))) {
                    $var21 = nms_EntityAuraFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1164))) {
                    $var21 = new nms_EntityCritFX;
                    $par1Str = $this.$theWorld0;
                    $ptr = 1;
                    continue main;
                }
                if (jl_String_equals($par1Str, $rt_s(1165))) {
                    $var21 = new nms_EntityCritFX;
                    $par1Str = $this.$theWorld0;
                    $ptr = 2;
                    continue main;
                }
                if (jl_String_equals($par1Str, $rt_s(1166))) {
                    $var21 = nms_EntitySmokeFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1045))) {
                    $var21 = nms_EntitySpellParticleFX__init_($this.$theWorld0, $par2, $par4, $par6, 0.0, 0.0, 0.0);
                    nms_EntityFX_setRBGColorF($var21, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1046))) {
                    $var21 = nms_EntitySpellParticleFX__init_($this.$theWorld0, $par2, $par4, $par6, 0.0, 0.0, 0.0);
                    nms_EntityFX_setAlphaF($var21, 0.15000000596046448);
                    nms_EntityFX_setRBGColorF($var21, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1167))) {
                    $var21 = nms_EntitySpellParticleFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1168))) {
                    $var21 = nms_EntitySpellParticleFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    nms_EntitySpellParticleFX_setBaseSpellTextureIndex($var21, 144);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1169))) {
                    $var21 = nms_EntitySpellParticleFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    nms_EntitySpellParticleFX_setBaseSpellTextureIndex($var21, 144);
                    $var24 = nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) * 0.5 + 0.3499999940395355;
                    var$15 = 1.0 * $var24;
                    nms_EntityFX_setRBGColorF($var21, var$15, 0.0 * $var24, var$15);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1170))) {
                    $var21 = nms_EntityNoteFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1051))) {
                    $var21 = nms_EntityPortalFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1171))) {
                    $var21 = nms_EntityEnchantmentTableParticleFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1025))) {
                    $var21 = nms_EntityExplodeFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1172))) {
                    $var21 = nms_EntityFlameFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(957))) {
                    $var21 = nms_EntityLavaFX__init_($this.$theWorld0, $par2, $par4, $par6);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1173))) {
                    $var21 = nms_EntityFootStepFX__init_($this.$renderEngine2, $this.$theWorld0, $par2, $par4, $par6);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1018))) {
                    $var21 = nms_EntitySplashFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1050))) {
                    $var21 = nms_EntitySmokeFX__init_0($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12, 2.5);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1174))) {
                    $var21 = nms_EntityCloudFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1175))) {
                    $var21 = nms_EntityReddustFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1176))) {
                    $var21 = new nms_EntityBreakingFX;
                    $par1Str = $this.$theWorld0;
                    nms_Item_$callClinit();
                    nms_EntityBreakingFX__init_($var21, $par1Str, $par2, $par4, $par6, nms_Item_snowball, $this.$renderEngine2);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1177))) {
                    $var21 = new nms_EntityDropParticleFX;
                    $par1Str = $this.$theWorld0;
                    nms_Material_$callClinit();
                    nms_EntityDropParticleFX__init_($var21, $par1Str, $par2, $par4, $par6, nms_Material_water);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1178))) {
                    $var21 = new nms_EntityDropParticleFX;
                    $par1Str = $this.$theWorld0;
                    nms_Material_$callClinit();
                    nms_EntityDropParticleFX__init_($var21, $par1Str, $par2, $par4, $par6, nms_Material_lava);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1179))) {
                    $var21 = nms_EntitySnowShovelFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1180))) {
                    $var21 = new nms_EntityBreakingFX;
                    $par1Str = $this.$theWorld0;
                    nms_Item_$callClinit();
                    nms_EntityBreakingFX__init_($var21, $par1Str, $par2, $par4, $par6, nms_Item_slimeBall, $this.$renderEngine2);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1181))) {
                    $var21 = nms_EntityHeartFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1182))) {
                    $var21 = nms_EntityHeartFX__init_($this.$theWorld0, $par2, $par4 + 0.5, $par6, $par8, $par10, $par12);
                    nms_EntityFX_setParticleTextureIndex($var21, 81);
                    nms_EntityFX_setRBGColorF($var21, 1.0, 1.0, 1.0);
                    break a;
                }
                if (jl_String_equals($par1Str, $rt_s(1183))) {
                    $var21 = nms_EntityAuraFX__init_($this.$theWorld0, $par2, $par4, $par6, $par8, $par10, $par12);
                    nms_EntityFX_setParticleTextureIndex($var21, 82);
                    nms_EntityFX_setRBGColorF($var21, 1.0, 1.0, 1.0);
                    break a;
                }
                if (jl_String_startsWith0($par1Str, $rt_s(1048))) {
                    $var27 = jl_Integer_parseInt(jl_String_substring($par1Str, jl_String_indexOf2($par1Str, $rt_s(423)) + 1 | 0));
                    $var21 = new nms_EntityBreakingFX;
                    $par1Str = $this.$theWorld0;
                    nms_Item_$callClinit();
                    nms_EntityBreakingFX__init_0($var21, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12, nms_Item_itemsList.data[$var27], $this.$renderEngine2);
                    break a;
                }
                if (!jl_String_startsWith0($par1Str, $rt_s(1011)))
                    break a;
                $var28 = jl_String_split0($par1Str, $rt_s(423), 3).data;
                $var25 = jl_Integer_parseInt($var28[1]);
                $var26 = jl_Integer_parseInt($var28[2]);
                $par1Str = new nms_EntityDiggingFX;
                var$13 = $this.$theWorld0;
                nms_Block_$callClinit();
                nms_EntityDiggingFX__init_($par1Str, var$13, $par2, $par4, $par6, $par8, $par10, $par12, nms_Block_blocksList.data[$var25], 0, $var26, $this.$renderEngine2);
                $var21 = nms_EntityDiggingFX_applyRenderColor($par1Str, $var26);
            }
            if ($var21 !== null)
                nms_EffectRenderer_addEffect($this.$mc7.$effectRenderer, $var21);
            return $var21;
        }
        return null;
    case 1:
        nms_EntityCritFX__init_($var21, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12);
        if ($rt_suspending()) {
            break main;
        }
        if ($var21 !== null)
            nms_EffectRenderer_addEffect($this.$mc7.$effectRenderer, $var21);
        return $var21;
    case 2:
        nms_EntityCritFX__init_($var21, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityFX_setRBGColorF($var21, nms_EntityFX_getRedColorF($var21) * 0.30000001192092896, nms_EntityFX_getGreenColorF($var21) * 0.800000011920929, nms_EntityFX_getBlueColorF($var21));
        nms_EntityFX_nextTextureIndexX($var21);
        if ($var21 !== null)
            nms_EffectRenderer_addEffect($this.$mc7.$effectRenderer, $var21);
        return $var21;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par4, $par6, $par8, $par10, $par12, $var14, $var15, $var17, $var19, $var21, var$13, $var24, var$15, $var27, $var28, $var25, $var26, $ptr);
}
function nms_RenderGlobal_onEntityCreate($this, $par1Entity) {
    $par1Entity.$updateCloak();
}
function nms_RenderGlobal_onEntityDestroy($this, $par1Entity) {
    return;
}
function nms_RenderGlobal_broadcastSound($this, $par1, $par2, $par3, $par4, $par5) {
    var $var7, $var9, $var11, $var13, $var15, $var17, $var19, var$13, var$14, var$15, var$16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            switch ($par1) {
                case 1013:
                case 1018:
                    break;
                default:
                    break a;
            }
            if ($this.$mc7.$renderViewEntity !== null) {
                $var7 = $par2 - $this.$mc7.$renderViewEntity.$posX;
                $var9 = $par3 - $this.$mc7.$renderViewEntity.$posY;
                $var11 = $par4 - $this.$mc7.$renderViewEntity.$posZ;
                $var13 = jl_Math_sqrt($var7 * $var7 + $var9 * $var9 + $var11 * $var11);
                $var15 = $this.$mc7.$renderViewEntity.$posX;
                $var17 = $this.$mc7.$renderViewEntity.$posY;
                $var19 = $this.$mc7.$renderViewEntity.$posZ;
                if ($var13 > 0.0) {
                    $var15 = $var15 + $var7 / $var13 * 2.0;
                    $var17 = $var17 + $var9 / $var13 * 2.0;
                    $var19 = $var19 + $var11 / $var13 * 2.0;
                }
                if ($par1 == 1013) {
                    var$13 = $this.$theWorld0;
                    var$14 = $rt_s(1184);
                    var$15 = 1.0;
                    var$16 = 1.0;
                    $par1 = 0;
                    $ptr = 1;
                    continue main;
                }
                if ($par1 == 1018) {
                    var$14 = $this.$theWorld0;
                    var$13 = $rt_s(1185);
                    var$15 = 5.0;
                    var$16 = 1.0;
                    $par1 = 0;
                    $ptr = 2;
                    continue main;
                }
            }
        }
        return;
    case 1:
        nms_WorldClient_playSound(var$13, $var15, $var17, $var19, var$14, var$15, var$16, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_WorldClient_playSound(var$14, $var15, $var17, $var19, var$13, var$15, var$16, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5, $var7, $var9, $var11, $var13, $var15, $var17, $var19, var$13, var$14, var$15, var$16, $ptr);
}
function nms_RenderGlobal_playAuxSFX($this, $par1EntityPlayer, $par2, $par3, $par4, $par5, $par6) {
    var $var7, $var10, $var8, $var12, $var16, $var17, $var40, $var33, $var9, $var34, $var10_0, $var36, $var39, $var23, $var37, $var38, $var39_0, $var23_0, $var25, $var27, $var29, $var20, $var18, $var32, var$31, $var14, $var15, $var19, $var35, $var21, $var22, $var24, $var26, $var31, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var31 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var35 = $thread.pop();$var19 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();var$31 = $thread.pop();$var32 = $thread.pop();$var18 = $thread.pop();$var20 = $thread.pop();$var29 = $thread.pop();$var27 = $thread.pop();$var25 = $thread.pop();$var23_0 = $thread.pop();$var39_0 = $thread.pop();$var38 = $thread.pop();$var37 = $thread.pop();$var23 = $thread.pop();$var39
        = $thread.pop();$var36 = $thread.pop();$var10_0 = $thread.pop();$var34 = $thread.pop();$var9 = $thread.pop();$var33 = $thread.pop();$var40 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var12 = $thread.pop();$var8 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            $var7 = $this.$theWorld0.$rand;
            switch ($par2) {
                case 1000:
                    $var7 = $this.$theWorld0;
                    $var10 = $par3;
                    $var8 = $par4;
                    $var12 = $par5;
                    $par1EntityPlayer = $rt_s(501);
                    $var16 = 1.0;
                    $var17 = 1.0;
                    $par2 = 0;
                    $ptr = 1;
                    continue main;
                case 1001:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3;
                    $var8 = $par4;
                    $var12 = $par5;
                    $var7 = $rt_s(501);
                    $var16 = 1.0;
                    $var17 = 1.2000000476837158;
                    $par2 = 0;
                    $ptr = 2;
                    continue main;
                case 1002:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3;
                    $var8 = $par4;
                    $var12 = $par5;
                    $var7 = $rt_s(1186);
                    $var16 = 1.0;
                    $var17 = 1.2000000476837158;
                    $par2 = 0;
                    $ptr = 3;
                    continue main;
                case 1003:
                    if (jl_Math_random() >= 0.5) {
                        $par1EntityPlayer = $this.$theWorld0;
                        $var10 = $par3 + 0.5;
                        $var8 = $par4 + 0.5;
                        $var12 = $par5 + 0.5;
                        $var7 = $rt_s(1187);
                        $var16 = 1.0;
                        $var17 = nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) * 0.10000000149011612 + 0.8999999761581421;
                        $par2 = 0;
                        $ptr = 19;
                        continue main;
                    }
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var7 = $rt_s(1188);
                    $var16 = 1.0;
                    $var17 = nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) * 0.10000000149011612 + 0.8999999761581421;
                    $par2 = 0;
                    $ptr = 20;
                    continue main;
                case 1004:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1015);
                    $var16 = 0.5;
                    $var17 = 2.5999999046325684 + (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.800000011920929;
                    $par2 = 0;
                    $ptr = 4;
                    continue main;
                case 1005:
                    break;
                case 1007:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1189);
                    $var16 = 10.0;
                    $var17 = (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.20000000298023224 + 1.0;
                    $par2 = 0;
                    $ptr = 5;
                    continue main;
                case 1008:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1190);
                    $var16 = 10.0;
                    $var17 = (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.20000000298023224 + 1.0;
                    $par2 = 0;
                    $ptr = 6;
                    continue main;
                case 1009:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1190);
                    $var16 = 2.0;
                    $var17 = (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.20000000298023224 + 1.0;
                    $par2 = 0;
                    $ptr = 7;
                    continue main;
                case 1010:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1191);
                    $var16 = 2.0;
                    $var17 = (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.20000000298023224 + 1.0;
                    $par2 = 0;
                    $ptr = 8;
                    continue main;
                case 1011:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1192);
                    $var16 = 2.0;
                    $var17 = (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.20000000298023224 + 1.0;
                    $par2 = 0;
                    $ptr = 9;
                    continue main;
                case 1012:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1193);
                    $var16 = 2.0;
                    $var17 = (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.20000000298023224 + 1.0;
                    $par2 = 0;
                    $ptr = 10;
                    continue main;
                case 1014:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1194);
                    $var16 = 2.0;
                    $var17 = (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.20000000298023224 + 1.0;
                    $par2 = 0;
                    $ptr = 11;
                    continue main;
                case 1015:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1195);
                    $var16 = 0.05000000074505806;
                    $var17 = (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.20000000298023224 + 1.0;
                    $par2 = 0;
                    $ptr = 12;
                    continue main;
                case 1016:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1196);
                    $var16 = 2.0;
                    $var17 = (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.20000000298023224 + 1.0;
                    $par2 = 0;
                    $ptr = 13;
                    continue main;
                case 1017:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var40 = $rt_s(1197);
                    $var16 = 2.0;
                    $var17 = (nle_EaglercraftRandom_nextFloat($var7) - nle_EaglercraftRandom_nextFloat($var7)) * 0.20000000298023224 + 1.0;
                    $par2 = 0;
                    $ptr = 14;
                    continue main;
                case 1020:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var7 = $rt_s(1198);
                    $var16 = 1.0;
                    $var17 = nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) * 0.10000000149011612 + 0.8999999761581421;
                    $par2 = 0;
                    $ptr = 15;
                    continue main;
                case 1021:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var7 = $rt_s(1199);
                    $var16 = 1.0;
                    $var17 = nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) * 0.10000000149011612 + 0.8999999761581421;
                    $par2 = 0;
                    $ptr = 16;
                    continue main;
                case 1022:
                    $par1EntityPlayer = $this.$theWorld0;
                    $var10 = $par3 + 0.5;
                    $var8 = $par4 + 0.5;
                    $var12 = $par5 + 0.5;
                    $var7 = $rt_s(1200);
                    $var16 = 0.30000001192092896;
                    $var17 = nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) * 0.10000000149011612 + 0.8999999761581421;
                    $par2 = 0;
                    $ptr = 17;
                    continue main;
                case 2000:
                    $var33 = ($par6 % 3 | 0) - 1 | 0;
                    $var9 = (($par6 / 3 | 0) % 3 | 0) - 1 | 0;
                    $var10 = $par3;
                    $var8 = $var33;
                    $var10 = $var10 + $var8 * 0.6 + 0.5;
                    $var12 = $par4 + 0.5;
                    $var34 = $par5;
                    $var10_0 = $var9;
                    $var34 = $var34 + $var10_0 * 0.6 + 0.5;
                    $var36 = 0;
                    $var39 = $var10 + $var8 * 0.01;
                    $var23 = $var34 + $var10_0 * 0.01;
                    if ($var36 >= 10)
                        return;
                    $var37 = nle_EaglercraftRandom_nextDouble($var7) * 0.2 + 0.01;
                    $var38 = $var39 + (nle_EaglercraftRandom_nextDouble($var7) - 0.5) * $var10_0 * 0.5;
                    $var39_0 = $var12 + (nle_EaglercraftRandom_nextDouble($var7) - 0.5) * 0.5;
                    $var23_0 = $var23 + (nle_EaglercraftRandom_nextDouble($var7) - 0.5) * $var8 * 0.5;
                    $var25 = $var8 * $var37 + nle_EaglercraftRandom_nextGaussian($var7) * 0.01;
                    $var27 = (-0.03) + nle_EaglercraftRandom_nextGaussian($var7) * 0.01;
                    $var29 = $var10_0 * $var37 + nle_EaglercraftRandom_nextGaussian($var7) * 0.01;
                    $par1EntityPlayer = $rt_s(1166);
                    $ptr = 22;
                    continue main;
                case 2001:
                    $var20 = $par6 & 4095;
                    if ($var20 > 0) {
                        nms_Block_$callClinit();
                        $var40 = nms_Block_blocksList.data[$var20];
                        $par1EntityPlayer = $this.$mc7.$sndManager;
                        $var7 = $var40.$stepSound.$getBreakSound();
                        $var16 = $par3 + 0.5;
                        $var17 = $par4 + 0.5;
                        $var18 = $par5 + 0.5;
                        $var32 = (nms_StepSound_getVolume($var40.$stepSound) + 1.0) / 2.0;
                        var$31 = nms_StepSound_getPitch($var40.$stepSound) * 0.800000011920929;
                        $ptr = 21;
                        continue main;
                    }
                    nms_EffectRenderer_addBlockDestroyEffects($this.$mc7.$effectRenderer, $par3, $par4, $par5, $var20, $par6 >> 12 & 255);
                    break a;
                case 2002:
                    $var8 = $par3;
                    $var10_0 = $par4;
                    $var12 = $par5;
                    $par1EntityPlayer = jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1048));
                    nms_Item_$callClinit();
                    $var14 = jl_StringBuilder_toString(jl_StringBuilder_append1($par1EntityPlayer, nms_Item_potion.$itemID));
                    $var15 = 0;
                    if ($var15 < 8) {
                        $var34 = nle_EaglercraftRandom_nextGaussian($var7) * 0.15;
                        $var37 = nle_EaglercraftRandom_nextDouble($var7) * 0.2;
                        $var10 = nle_EaglercraftRandom_nextGaussian($var7) * 0.15;
                        $ptr = 23;
                        continue main;
                    }
                    $par2 = nms_ItemPotion_getColorFromDamage(nms_Item_potion, $par6);
                    $var16 = ($par2 >> 16 & 255) / 255.0;
                    $var17 = ($par2 >> 8 & 255) / 255.0;
                    $var18 = ($par2 >> 0 & 255) / 255.0;
                    $var19 = $rt_s(1167);
                    if (nms_ItemPotion_isEffectInstant(nms_Item_potion, $par6))
                        $var19 = $rt_s(1168);
                    $var20 = 0;
                    $var38 = $var10_0 + 0.3;
                    if ($var20 >= 100) {
                        $par1EntityPlayer = $this.$theWorld0;
                        $var10 = $var8 + 0.5;
                        $var8 = $var10_0 + 0.5;
                        $var12 = $var12 + 0.5;
                        $var7 = $rt_s(1201);
                        $var16 = 1.0;
                        $var17 = nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) * 0.10000000149011612 + 0.8999999761581421;
                        $par2 = 0;
                        $ptr = 29;
                        continue main;
                    }
                    $var39 = nle_EaglercraftRandom_nextDouble($var7) * 4.0;
                    $var23 = nle_EaglercraftRandom_nextDouble($var7) * 3.141592653589793 * 2.0;
                    $var25 = jl_Math_cos($var23) * $var39;
                    $var27 = 0.01 + nle_EaglercraftRandom_nextDouble($var7) * 0.5;
                    $var29 = jl_Math_sin($var23) * $var39;
                    $var10 = $var8 + $var25 * 0.1;
                    $var34 = $var12 + $var29 * 0.1;
                    $ptr = 30;
                    continue main;
                case 2003:
                    $var8 = $par3 + 0.5;
                    $var10 = $par4;
                    $var12 = $par5 + 0.5;
                    $par1EntityPlayer = jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1048));
                    nms_Item_$callClinit();
                    $var14 = jl_StringBuilder_toString(jl_StringBuilder_append1($par1EntityPlayer, nms_Item_eyeOfEnder.$itemID));
                    $var15 = 0;
                    if ($var15 < 8) {
                        $var34 = nle_EaglercraftRandom_nextGaussian($var7) * 0.15;
                        $var10_0 = nle_EaglercraftRandom_nextDouble($var7) * 0.2;
                        $var37 = nle_EaglercraftRandom_nextGaussian($var7) * 0.15;
                        $ptr = 24;
                        continue main;
                    }
                    $var35 = 0.0;
                    $var10_0 = $var10 - 0.4;
                    if ($var35 >= 6.283185307179586)
                        return;
                    $par1EntityPlayer = $rt_s(1051);
                    $var10 = $var8 + jl_Math_cos($var35) * 5.0;
                    $var34 = $var12 + jl_Math_sin($var35) * 5.0;
                    $var37 = jl_Math_cos($var35) * (-5.0);
                    $var39 = 0.0;
                    $var38 = jl_Math_sin($var35) * (-5.0);
                    $ptr = 27;
                    continue main;
                case 2004:
                    $var21 = 0;
                    $var10 = $par3 + 0.5;
                    $var34 = $par4 + 0.5;
                    $var10_0 = $par5 + 0.5;
                    if ($var21 >= 20)
                        return;
                    $var22 = $var10 + (nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) - 0.5) * 2.0;
                    $var24 = $var34 + (nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) - 0.5) * 2.0;
                    $var26 = $var10_0 + (nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) - 0.5) * 2.0;
                    $par1EntityPlayer = $this.$theWorld0;
                    $var7 = $rt_s(1166);
                    $var8 = 0.0;
                    $var12 = 0.0;
                    $var37 = 0.0;
                    $ptr = 25;
                    continue main;
                case 2005:
                    $par1EntityPlayer = $this.$theWorld0;
                    $ptr = 18;
                    continue main;
                default:
                    break a;
            }
            nms_Item_$callClinit();
            if (!(nms_Item_itemsList.data[$par6] instanceof nms_ItemRecord))
                nms_World_playRecord($this.$theWorld0, null, $par3, $par4, $par5);
            else
                nms_World_playRecord($this.$theWorld0, nms_Item_itemsList.data[$par6].$recordName, $par3, $par4, $par5);
        }
        return;
    case 1:
        nms_WorldClient_playSound($var7, $var10, $var8, $var12, $par1EntityPlayer, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var7, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var7, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 5:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 6:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 7:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 8:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 9:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 10:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 11:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 12:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 13:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 14:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var40, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 15:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var7, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 16:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var7, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 17:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var7, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 18:
        nms_ItemDye_func_96603_a($par1EntityPlayer, $par3, $par4, $par5, $par6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 19:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var7, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 20:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var7, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 21:
        nms_SoundManager_playSound($par1EntityPlayer, $var7, $var16, $var17, $var18, $var32, var$31);
        if ($rt_suspending()) {
            break main;
        }
        nms_EffectRenderer_addBlockDestroyEffects($this.$mc7.$effectRenderer, $par3, $par4, $par5, $var20, $par6 >> 12 & 255);
        return;
    case 22:
        nms_RenderGlobal_spawnParticle($this, $par1EntityPlayer, $var38, $var39_0, $var23_0, $var25, $var27, $var29);
        if ($rt_suspending()) {
            break main;
        }
        $var36 = $var36 + 1 | 0;
        if ($var36 >= 10)
            return;
        $var37 = nle_EaglercraftRandom_nextDouble($var7) * 0.2 + 0.01;
        $var38 = $var39 + (nle_EaglercraftRandom_nextDouble($var7) - 0.5) * $var10_0 * 0.5;
        $var39_0 = $var12 + (nle_EaglercraftRandom_nextDouble($var7) - 0.5) * 0.5;
        $var23_0 = $var23 + (nle_EaglercraftRandom_nextDouble($var7) - 0.5) * $var8 * 0.5;
        $var25 = $var8 * $var37 + nle_EaglercraftRandom_nextGaussian($var7) * 0.01;
        $var27 = (-0.03) + nle_EaglercraftRandom_nextGaussian($var7) * 0.01;
        $var29 = $var10_0 * $var37 + nle_EaglercraftRandom_nextGaussian($var7) * 0.01;
        $par1EntityPlayer = $rt_s(1166);
        continue main;
    case 23:
        nms_RenderGlobal_spawnParticle($this, $var14, $var8, $var10_0, $var12, $var34, $var37, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $var15 = $var15 + 1 | 0;
        if ($var15 < 8) {
            $var34 = nle_EaglercraftRandom_nextGaussian($var7) * 0.15;
            $var37 = nle_EaglercraftRandom_nextDouble($var7) * 0.2;
            $var10 = nle_EaglercraftRandom_nextGaussian($var7) * 0.15;
            continue main;
        }
        $par2 = nms_ItemPotion_getColorFromDamage(nms_Item_potion, $par6);
        $var16 = ($par2 >> 16 & 255) / 255.0;
        $var17 = ($par2 >> 8 & 255) / 255.0;
        $var18 = ($par2 >> 0 & 255) / 255.0;
        $var19 = $rt_s(1167);
        if (nms_ItemPotion_isEffectInstant(nms_Item_potion, $par6))
            $var19 = $rt_s(1168);
        $var20 = 0;
        $var38 = $var10_0 + 0.3;
        if ($var20 >= 100) {
            $par1EntityPlayer = $this.$theWorld0;
            $var10 = $var8 + 0.5;
            $var8 = $var10_0 + 0.5;
            $var12 = $var12 + 0.5;
            $var7 = $rt_s(1201);
            $var16 = 1.0;
            $var17 = nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) * 0.10000000149011612 + 0.8999999761581421;
            $par2 = 0;
            $ptr = 29;
            continue main;
        }
        $var39 = nle_EaglercraftRandom_nextDouble($var7) * 4.0;
        $var23 = nle_EaglercraftRandom_nextDouble($var7) * 3.141592653589793 * 2.0;
        $var25 = jl_Math_cos($var23) * $var39;
        $var27 = 0.01 + nle_EaglercraftRandom_nextDouble($var7) * 0.5;
        $var29 = jl_Math_sin($var23) * $var39;
        $var10 = $var8 + $var25 * 0.1;
        $var34 = $var12 + $var29 * 0.1;
        $ptr = 30;
        continue main;
    case 24:
        nms_RenderGlobal_spawnParticle($this, $var14, $var8, $var10, $var12, $var34, $var10_0, $var37);
        if ($rt_suspending()) {
            break main;
        }
        $var15 = $var15 + 1 | 0;
        if ($var15 < 8) {
            $var34 = nle_EaglercraftRandom_nextGaussian($var7) * 0.15;
            $var10_0 = nle_EaglercraftRandom_nextDouble($var7) * 0.2;
            $var37 = nle_EaglercraftRandom_nextGaussian($var7) * 0.15;
            continue main;
        }
        $var35 = 0.0;
        $var10_0 = $var10 - 0.4;
        if ($var35 >= 6.283185307179586)
            return;
        $par1EntityPlayer = $rt_s(1051);
        $var10 = $var8 + jl_Math_cos($var35) * 5.0;
        $var34 = $var12 + jl_Math_sin($var35) * 5.0;
        $var37 = jl_Math_cos($var35) * (-5.0);
        $var39 = 0.0;
        $var38 = jl_Math_sin($var35) * (-5.0);
        $ptr = 27;
        continue main;
    case 25:
        nms_World_spawnParticle($par1EntityPlayer, $var7, $var22, $var24, $var26, $var8, $var12, $var37);
        if ($rt_suspending()) {
            break main;
        }
        $par1EntityPlayer = $this.$theWorld0;
        $var7 = $rt_s(1172);
        $var8 = 0.0;
        $var12 = 0.0;
        $var37 = 0.0;
        $ptr = 26;
    case 26:
        nms_World_spawnParticle($par1EntityPlayer, $var7, $var22, $var24, $var26, $var8, $var12, $var37);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = $var21 + 1 | 0;
        if ($var21 >= 20)
            return;
        $var22 = $var10 + (nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) - 0.5) * 2.0;
        $var24 = $var34 + (nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) - 0.5) * 2.0;
        $var26 = $var10_0 + (nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) - 0.5) * 2.0;
        $par1EntityPlayer = $this.$theWorld0;
        $var7 = $rt_s(1166);
        $var8 = 0.0;
        $var12 = 0.0;
        $var37 = 0.0;
        $ptr = 25;
        continue main;
    case 27:
        nms_RenderGlobal_spawnParticle($this, $par1EntityPlayer, $var10, $var10_0, $var34, $var37, $var39, $var38);
        if ($rt_suspending()) {
            break main;
        }
        $par1EntityPlayer = $rt_s(1051);
        $var10 = $var8 + jl_Math_cos($var35) * 5.0;
        $var34 = $var12 + jl_Math_sin($var35) * 5.0;
        $var37 = jl_Math_cos($var35) * (-7.0);
        $var39 = 0.0;
        $var38 = jl_Math_sin($var35) * (-7.0);
        $ptr = 28;
    case 28:
        nms_RenderGlobal_spawnParticle($this, $par1EntityPlayer, $var10, $var10_0, $var34, $var37, $var39, $var38);
        if ($rt_suspending()) {
            break main;
        }
        $var35 = $var35 + 0.15707963267948966;
        if ($var35 >= 6.283185307179586)
            return;
        $par1EntityPlayer = $rt_s(1051);
        $var10 = $var8 + jl_Math_cos($var35) * 5.0;
        $var34 = $var12 + jl_Math_sin($var35) * 5.0;
        $var37 = jl_Math_cos($var35) * (-5.0);
        $var39 = 0.0;
        $var38 = jl_Math_sin($var35) * (-5.0);
        $ptr = 27;
        continue main;
    case 29:
        nms_WorldClient_playSound($par1EntityPlayer, $var10, $var8, $var12, $var7, $var16, $var17, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 30:
        $tmp = nms_RenderGlobal_doSpawnParticle($this, $var19, $var10, $var38, $var34, $var25, $var27, $var29);
        if ($rt_suspending()) {
            break main;
        }
        $var31 = $tmp;
        if ($var31 !== null) {
            $var32 = 0.75 + nle_EaglercraftRandom_nextFloat($var7) * 0.25;
            nms_EntityFX_setRBGColorF($var31, $var16 * $var32, $var17 * $var32, $var18 * $var32);
            nms_EntityFX_multiplyVelocity($var31, $var39);
        }
        $var20 = $var20 + 1 | 0;
        if ($var20 >= 100) {
            $par1EntityPlayer = $this.$theWorld0;
            $var10 = $var8 + 0.5;
            $var8 = $var10_0 + 0.5;
            $var12 = $var12 + 0.5;
            $var7 = $rt_s(1201);
            $var16 = 1.0;
            $var17 = nle_EaglercraftRandom_nextFloat($this.$theWorld0.$rand) * 0.10000000149011612 + 0.8999999761581421;
            $par2 = 0;
            $ptr = 29;
            continue main;
        }
        $var39 = nle_EaglercraftRandom_nextDouble($var7) * 4.0;
        $var23 = nle_EaglercraftRandom_nextDouble($var7) * 3.141592653589793 * 2.0;
        $var25 = jl_Math_cos($var23) * $var39;
        $var27 = 0.01 + nle_EaglercraftRandom_nextDouble($var7) * 0.5;
        $var29 = jl_Math_sin($var23) * $var39;
        $var10 = $var8 + $var25 * 0.1;
        $var34 = $var12 + $var29 * 0.1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $par3, $par4, $par5, $par6, $var7, $var10, $var8, $var12, $var16, $var17, $var40, $var33, $var9, $var34, $var10_0, $var36, $var39, $var23, $var37, $var38, $var39_0, $var23_0, $var25, $var27, $var29, $var20, $var18, $var32, var$31, $var14, $var15, $var19, $var35, $var21, $var22, $var24, $var26, $var31, $ptr);
}
function nms_RenderGlobal_destroyBlockPartially($this, $par1, $par2, $par3, $par4, $par5) {
    var $var6;
    if ($par5 >= 0 && $par5 < 10) {
        $var6 = ju_HashMap_get($this.$damagedBlocks, jl_Integer_valueOf($par1));
        if (!($var6 !== null && $var6.$partialBlockX == $par2 && $var6.$partialBlockY == $par3 && $var6.$partialBlockZ == $par4)) {
            $var6 = new nms_DestroyBlockProgress;
            $var6.$miningPlayerEntId = $par1;
            $var6.$partialBlockX = $par2;
            $var6.$partialBlockY = $par3;
            $var6.$partialBlockZ = $par4;
            ju_HashMap_putImpl($this.$damagedBlocks, jl_Integer_valueOf($par1), $var6);
        }
        nms_DestroyBlockProgress_setPartialBlockDamage($var6, $par5);
        $var6.$createdAtCloudUpdateTick = $this.$cloudTickCounter;
    } else
        ju_HashMap_remove($this.$damagedBlocks, jl_Integer_valueOf($par1));
}
function nms_RenderGlobal_registerDestroyBlockIcons($this, $par1IconRegister) {
    var $var2, var$3, var$4;
    $this.$destroyBlockIcons = $rt_createArray(nms_Icon, 10);
    $var2 = 0;
    while ($var2 < $this.$destroyBlockIcons.data.length) {
        var$3 = $this.$destroyBlockIcons.data;
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $rt_s(1202));
        jl_AbstractStringBuilder_append2(var$4, $var2);
        var$3[$var2] = $par1IconRegister.$registerIcon(jl_AbstractStringBuilder_toString(var$4));
        $var2 = $var2 + 1 | 0;
    }
}
function nms_RenderGlobal__clinit_() {
    nms_RenderGlobal_tunnel = nle_TextureLocation__init_($rt_s(1203));
    nms_RenderGlobal_sun = nle_TextureLocation__init_($rt_s(1204));
    nms_RenderGlobal_moon = nle_TextureLocation__init_($rt_s(1205));
    nms_RenderGlobal_tex_clouds = nle_TextureLocation__init_($rt_s(1206));
    nms_RenderGlobal_tex_terrain = nle_TextureLocation__init_($rt_s(985));
}
function nms_EffectRenderer() {
    var a = this; jl_Object.call(a);
    a.$worldObj2 = null;
    a.$fxLayers = null;
    a.$renderer = null;
    a.$rand1 = null;
}
var nms_EffectRenderer_particles = null;
var nms_EffectRenderer_terrain = null;
var nms_EffectRenderer_items = null;
function nms_EffectRenderer__init_(var_0, var_1) {
    var var_2 = new nms_EffectRenderer();
    nms_EffectRenderer__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_EffectRenderer__init_0($this, $par1World, $par2RenderEngine) {
    var $var3;
    $this.$fxLayers = $rt_createArray(ju_List, 4);
    $this.$rand1 = nle_EaglercraftRandom__init_0();
    if ($par1World !== null)
        $this.$worldObj2 = $par1World;
    $this.$renderer = $par2RenderEngine;
    $var3 = 0;
    while ($var3 < 4) {
        $this.$fxLayers.data[$var3] = ju_ArrayList__init_0();
        $var3 = $var3 + 1 | 0;
    }
}
function nms_EffectRenderer_addEffect($this, $par1EntityFX) {
    var $var2;
    $var2 = $par1EntityFX.$getFXLayer();
    if ($this.$fxLayers.data[$var2].$size >= 4000)
        ju_ArrayList_remove($this.$fxLayers.data[$var2], 0);
    ju_ArrayList_add($this.$fxLayers.data[$var2], $par1EntityFX);
}
function nms_EffectRenderer_updateEffects($this) {
    var $var1, $var2, $var3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = 0;
        while ($var1 < 4) {
            $var2 = 0;
            if ($var2 < $this.$fxLayers.data[$var1].$size) {
                $var3 = ju_ArrayList_get($this.$fxLayers.data[$var1], $var2);
                $ptr = 1;
                continue main;
            }
            $var1 = $var1 + 1 | 0;
        }
        return;
    case 1:
        $var3.$onUpdate();
        if ($rt_suspending()) {
            break main;
        }
        if (!$var3.$isDead)
            var$4 = $var2;
        else {
            $var3 = $this.$fxLayers.data[$var1];
            var$4 = $var2 + (-1) | 0;
            ju_ArrayList_remove($var3, $var2);
        }
        $var2 = var$4 + 1 | 0;
        while (true) {
            if ($var2 < $this.$fxLayers.data[$var1].$size) {
                $var3 = ju_ArrayList_get($this.$fxLayers.data[$var1], $var2);
                continue main;
            }
            $var1 = $var1 + 1 | 0;
            if ($var1 >= 4)
                break;
            $var2 = 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
}
function nms_EffectRenderer_renderParticles($this, $par1Entity, $par2) {
    var $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, $var8, $var9, $var10, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = nms_ActiveRenderInfo_rotationX;
        $var4 = nms_ActiveRenderInfo_rotationZ;
        $var5 = nms_ActiveRenderInfo_rotationYZ;
        $var6 = nms_ActiveRenderInfo_rotationXY;
        $var7 = nms_ActiveRenderInfo_rotationXZ;
        var$8 = $par1Entity.$lastTickPosX;
        var$9 = $par1Entity.$posX - $par1Entity.$lastTickPosX;
        var$10 = $par2;
        nms_EntityFX_interpPosX = var$8 + var$9 * var$10;
        nms_EntityFX_interpPosY = $par1Entity.$lastTickPosY + ($par1Entity.$posY - $par1Entity.$lastTickPosY) * var$10;
        nms_EntityFX_interpPosZ = $par1Entity.$lastTickPosZ + ($par1Entity.$posZ - $par1Entity.$lastTickPosZ) * var$10;
        $var8 = 0;
        while ($var8 < 3) {
            if (!ju_AbstractCollection_isEmpty($this.$fxLayers.data[$var8])) {
                switch ($var8) {
                    case 0:
                        break;
                    case 1:
                        $par1Entity = nms_EffectRenderer_terrain;
                        $ptr = 2;
                        continue main;
                    case 2:
                        $par1Entity = nms_EffectRenderer_items;
                        $ptr = 3;
                        continue main;
                    default:
                }
                $par1Entity = nms_EffectRenderer_particles;
                $ptr = 1;
                continue main;
            }
            $var8 = $var8 + 1 | 0;
        }
        return;
    case 1:
        nle_TextureLocation_bindTexture($par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var9 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.004999999888241291);
        nlea_Tessellator_startDrawingQuads($var9);
        $var10 = 0;
        while (true) {
            if ($var10 >= $this.$fxLayers.data[$var8].$size) {
                nlea_Tessellator_draw($var9);
                nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
                while (true) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 3)
                        break;
                    if (ju_AbstractCollection_isEmpty($this.$fxLayers.data[$var8]))
                        continue;
                    else {
                        switch ($var8) {
                            case 0:
                                break;
                            case 1:
                                $par1Entity = nms_EffectRenderer_terrain;
                                $ptr = 2;
                                continue main;
                            case 2:
                                $par1Entity = nms_EffectRenderer_items;
                                $ptr = 3;
                                continue main;
                            default:
                        }
                        $par1Entity = nms_EffectRenderer_particles;
                        continue main;
                    }
                }
                return;
            }
            $var11 = ju_ArrayList_get($this.$fxLayers.data[$var8], $var10);
            if ($var11.$particleAlpha === 1.0)
                break;
            $var10 = $var10 + 1 | 0;
        }
        nlea_Tessellator_setBrightness($var9, $var11.$getBrightnessForRender($par2));
        $ptr = 4;
        continue main;
    case 2:
        nle_TextureLocation_bindTexture($par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        nlea_Tessellator_$callClinit();
        $var9 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.004999999888241291);
        nlea_Tessellator_startDrawingQuads($var9);
        $var10 = 0;
        while (true) {
            if ($var10 >= $this.$fxLayers.data[$var8].$size) {
                nlea_Tessellator_draw($var9);
                nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
                while (true) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 3)
                        break;
                    if (ju_AbstractCollection_isEmpty($this.$fxLayers.data[$var8]))
                        continue;
                    else {
                        switch ($var8) {
                            case 0:
                                break;
                            case 1:
                                $par1Entity = nms_EffectRenderer_terrain;
                                continue main;
                            case 2:
                                $par1Entity = nms_EffectRenderer_items;
                                $ptr = 3;
                                continue main;
                            default:
                        }
                        $par1Entity = nms_EffectRenderer_particles;
                        $ptr = 1;
                        continue main;
                    }
                }
                return;
            }
            $var11 = ju_ArrayList_get($this.$fxLayers.data[$var8], $var10);
            if ($var11.$particleAlpha === 1.0)
                break;
            $var10 = $var10 + 1 | 0;
        }
        nlea_Tessellator_setBrightness($var9, $var11.$getBrightnessForRender($par2));
        $ptr = 4;
        continue main;
    case 3:
        nle_TextureLocation_bindTexture($par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var9 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.004999999888241291);
        nlea_Tessellator_startDrawingQuads($var9);
        $var10 = 0;
        while (true) {
            if ($var10 >= $this.$fxLayers.data[$var8].$size) {
                nlea_Tessellator_draw($var9);
                nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
                while (true) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 3)
                        break;
                    if (ju_AbstractCollection_isEmpty($this.$fxLayers.data[$var8]))
                        continue;
                    else {
                        switch ($var8) {
                            case 0:
                                break;
                            case 1:
                                $par1Entity = nms_EffectRenderer_terrain;
                                $ptr = 2;
                                continue main;
                            case 2:
                                $par1Entity = nms_EffectRenderer_items;
                                continue main;
                            default:
                        }
                        $par1Entity = nms_EffectRenderer_particles;
                        $ptr = 1;
                        continue main;
                    }
                }
                return;
            }
            $var11 = ju_ArrayList_get($this.$fxLayers.data[$var8], $var10);
            if ($var11.$particleAlpha === 1.0)
                break;
            $var10 = $var10 + 1 | 0;
        }
        nlea_Tessellator_setBrightness($var9, $var11.$getBrightnessForRender($par2));
        $ptr = 4;
    case 4:
        $var11.$renderParticle($var9, $par2, $var3, $var7, $var4, $var5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var10 = $var10 + 1 | 0;
            if ($var10 >= $this.$fxLayers.data[$var8].$size) {
                nlea_Tessellator_draw($var9);
                nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
                while (true) {
                    $var8 = $var8 + 1 | 0;
                    if ($var8 >= 3)
                        break;
                    if (ju_AbstractCollection_isEmpty($this.$fxLayers.data[$var8]))
                        continue;
                    else {
                        switch ($var8) {
                            case 0:
                                break;
                            case 1:
                                $par1Entity = nms_EffectRenderer_terrain;
                                $ptr = 2;
                                continue main;
                            case 2:
                                $par1Entity = nms_EffectRenderer_items;
                                $ptr = 3;
                                continue main;
                            default:
                        }
                        $par1Entity = nms_EffectRenderer_particles;
                        $ptr = 1;
                        continue main;
                    }
                }
                return;
            }
            $var11 = ju_ArrayList_get($this.$fxLayers.data[$var8], $var10);
            if ($var11.$particleAlpha !== 1.0)
                continue;
            else
                break;
        }
        nlea_Tessellator_setBrightness($var9, $var11.$getBrightnessForRender($par2));
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, $var8, $var9, $var10, $var11, $ptr);
}
function nms_EffectRenderer_renderTransparentParticles($this, $par1Entity, $par2) {
    var $var3, $var4, $var5, $var6, $var7, $var9, $var10, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = nms_EffectRenderer_particles;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = nms_ActiveRenderInfo_rotationX;
        $var4 = nms_ActiveRenderInfo_rotationZ;
        $var5 = nms_ActiveRenderInfo_rotationYZ;
        $var6 = nms_ActiveRenderInfo_rotationXY;
        $var7 = nms_ActiveRenderInfo_rotationXZ;
        nlea_Tessellator_$callClinit();
        $var9 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nlea_Tessellator_startDrawingQuads($var9);
        $var10 = 0;
        while ($var10 < $this.$fxLayers.data[0].$size) {
            $var11 = ju_ArrayList_get($this.$fxLayers.data[0], $var10);
            if ($var11.$particleAlpha !== 1.0) {
                nlea_Tessellator_setBrightness($var9, $var11.$getBrightnessForRender($par2));
                $ptr = 2;
                continue main;
            }
            $var10 = $var10 + 1 | 0;
        }
        nlea_Tessellator_draw($var9);
        nleg_EaglerAdapterGL30_glDisable(3042);
        return;
    case 2:
        $var11.$renderParticle($var9, $par2, $var3, $var7, $var4, $var5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var10 = $var10 + 1 | 0;
            if ($var10 >= $this.$fxLayers.data[0].$size)
                break;
            $var11 = ju_ArrayList_get($this.$fxLayers.data[0], $var10);
            if ($var11.$particleAlpha === 1.0)
                continue;
            else {
                nlea_Tessellator_setBrightness($var9, $var11.$getBrightnessForRender($par2));
                continue main;
            }
        }
        nlea_Tessellator_draw($var9);
        nleg_EaglerAdapterGL30_glDisable(3042);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $var3, $var4, $var5, $var6, $var7, $var9, $var10, $var11, $ptr);
}
function nms_EffectRenderer_renderLitParticles($this, $par1Entity, $par2) {
    var $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = nms_MathHelper_cos($par1Entity.$rotationYaw * 0.01745329238474369);
        $var5 = nms_MathHelper_sin($par1Entity.$rotationYaw * 0.01745329238474369);
        $var6 =  -$var5 * nms_MathHelper_sin($par1Entity.$rotationPitch * 0.01745329238474369);
        $var7 = $var4 * nms_MathHelper_sin($par1Entity.$rotationPitch * 0.01745329238474369);
        $var8 = nms_MathHelper_cos($par1Entity.$rotationPitch * 0.01745329238474369);
        $var9 = 3;
        if (!ju_AbstractCollection_isEmpty($this.$fxLayers.data[$var9])) {
            nlea_Tessellator_$callClinit();
            $var10 = nlea_Tessellator_instance;
            $var11 = 0;
            if ($var11 < $this.$fxLayers.data[$var9].$size) {
                $var12 = ju_ArrayList_get($this.$fxLayers.data[$var9], $var11);
                nlea_Tessellator_setBrightness($var10, $var12.$getBrightnessForRender($par2));
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        $var12.$renderParticle($var10, $par2, $var4, $var8, $var5, $var6, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = $var11 + 1 | 0;
        if ($var11 >= $this.$fxLayers.data[$var9].$size)
            return;
        $var12 = ju_ArrayList_get($this.$fxLayers.data[$var9], $var11);
        nlea_Tessellator_setBrightness($var10, $var12.$getBrightnessForRender($par2));
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $ptr);
}
function nms_EffectRenderer_clearEffects($this, $par1World) {
    var $var2;
    $this.$worldObj2 = $par1World;
    $var2 = 0;
    while ($var2 < 4) {
        ju_ArrayList_clear($this.$fxLayers.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
}
function nms_EffectRenderer_addBlockDestroyEffects($this, $par1, $par2, $par3, $par4, $par5) {
    var $var6, $var8, var$8, var$9, var$10, $var9, $var10, $var11, $var13, $var15, $var17;
    a: {
        if ($par4) {
            nms_Block_$callClinit();
            $var6 = nms_Block_blocksList.data[$par4];
            $var8 = 0;
            var$8 = $par1;
            var$9 = $par2;
            var$10 = $par3;
            while (true) {
                if ($var8 >= 4)
                    break a;
                $var9 = 0;
                while ($var9 < 4) {
                    $var10 = 0;
                    while ($var10 < 4) {
                        $var11 = var$8 + ($var8 + 0.5) / 4.0;
                        $var13 = var$9 + ($var9 + 0.5) / 4.0;
                        $var15 = var$10 + ($var10 + 0.5) / 4.0;
                        $var17 = nle_EaglercraftRandom_nextInt($this.$rand1, 6);
                        nms_EffectRenderer_addEffect($this, nms_EntityDiggingFX_func_70596_a(nms_EntityDiggingFX__init_0($this.$worldObj2, $var11, $var13, $var15, $var11 - var$8 - 0.5, $var13 - var$9 - 0.5, $var15 - var$10 - 0.5, $var6, $var17, $par5, $this.$renderer), $par1, $par2, $par3));
                        $var10 = $var10 + 1 | 0;
                    }
                    $var9 = $var9 + 1 | 0;
                }
                $var8 = $var8 + 1 | 0;
            }
        }
    }
}
function nms_EffectRenderer_addBlockHitEffects($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6, var$7, $var8, var$9, $var10, var$11, $var12;
    $var5 = nms_World_getBlockId($this.$worldObj2, $par1, $par2, $par3);
    if ($var5) {
        nms_Block_$callClinit();
        $var6 = nms_Block_blocksList.data[$var5];
        var$7 = $par1;
        $var8 = var$7 + nle_EaglercraftRandom_nextDouble($this.$rand1) * ($var6.$maxX0 - $var6.$minX0 - 0.20000000298023224) + 0.10000000149011612 + $var6.$minX0;
        var$9 = $par2;
        $var10 = var$9 + nle_EaglercraftRandom_nextDouble($this.$rand1) * ($var6.$maxY0 - $var6.$minY0 - 0.20000000298023224) + 0.10000000149011612 + $var6.$minY0;
        var$11 = $par3;
        $var12 = var$11 + nle_EaglercraftRandom_nextDouble($this.$rand1) * ($var6.$maxZ0 - $var6.$minZ0 - 0.20000000298023224) + 0.10000000149011612 + $var6.$minZ0;
        if (!$par4)
            $var10 = var$9 + $var6.$minY0 - 0.10000000149011612;
        if ($par4 == 1)
            $var10 = var$9 + $var6.$maxY0 + 0.10000000149011612;
        if ($par4 == 2)
            $var12 = var$11 + $var6.$minZ0 - 0.10000000149011612;
        if ($par4 == 3)
            $var12 = var$11 + $var6.$maxZ0 + 0.10000000149011612;
        if ($par4 == 4)
            $var8 = var$7 + $var6.$minX0 - 0.10000000149011612;
        if ($par4 == 5)
            $var8 = var$7 + $var6.$maxX0 + 0.10000000149011612;
        nms_EffectRenderer_addEffect($this, nms_EntityFX_multipleParticleScaleBy(nms_EntityFX_multiplyVelocity(nms_EntityDiggingFX_func_70596_a(nms_EntityDiggingFX__init_0($this.$worldObj2, $var8, $var10, $var12, 0.0, 0.0, 0.0, $var6, $par4, nms_World_getBlockMetadata($this.$worldObj2, $par1, $par2, $par3), $this.$renderer), $par1, $par2, $par3), 0.20000000298023224), 0.6000000238418579));
    }
}
function nms_EffectRenderer_getStatistics($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(36));
    jl_AbstractStringBuilder_append2(var$1, ($this.$fxLayers.data[0].$size + $this.$fxLayers.data[1].$size | 0) + $this.$fxLayers.data[2].$size | 0);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_EffectRenderer__clinit_() {
    nms_EffectRenderer_particles = nle_TextureLocation__init_($rt_s(1207));
    nms_EffectRenderer_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_EffectRenderer_items = nle_TextureLocation__init_($rt_s(992));
}
function nleg_EffectPipeline() {
    jl_Object.call(this);
}
var nleg_EffectPipeline_pipeline_tmp = null;
var nleg_EffectPipeline_pipeline = null;
var nleg_EffectPipeline_programs = null;
var nleg_EffectPipeline_uniforms = null;
var nleg_EffectPipeline_framebuffer = null;
var nleg_EffectPipeline_framebuffer_color = null;
var nleg_EffectPipeline_framebuffer_depth = null;
var nleg_EffectPipeline_framebuffer_bloom_a = null;
var nleg_EffectPipeline_framebuffer_bloom_a_color = null;
var nleg_EffectPipeline_framebuffer_bloom_b = null;
var nleg_EffectPipeline_framebuffer_bloom_b_color = null;
var nleg_EffectPipeline_renderQuadArray = null;
var nleg_EffectPipeline_renderQuadBuffer = null;
var nleg_EffectPipeline_pvert_shader = null;
var nleg_EffectPipeline_width = 0;
var nleg_EffectPipeline_height = 0;
var nleg_EffectPipeline_originalViewport = null;
var nleg_EffectPipeline_framebufferFlip = 0;
var nleg_EffectPipeline_bloom_width = 0;
var nleg_EffectPipeline_bloom_height = 0;
var nleg_EffectPipeline_deevis = null;
var nleg_EffectPipeline_projBuffer = null;
var nleg_EffectPipeline_projBufferInv = null;
var nleg_EffectPipeline_projectionMatrix = null;
var nleg_EffectPipeline_projectionMatrixInv = null;
var nleg_EffectPipeline_randomInterTimer = Long_ZERO;
var nleg_EffectPipeline_randomInterA = 0.0;
var nleg_EffectPipeline_randomInterB = 0.0;
function nleg_EffectPipeline_$callClinit() {
    nleg_EffectPipeline_$callClinit = $rt_eraseClinit(nleg_EffectPipeline);
    nleg_EffectPipeline__clinit_();
}
function nleg_EffectPipeline__init_0() {
    var var_0 = new nleg_EffectPipeline();
    nleg_EffectPipeline__init_(var_0);
    return var_0;
}
function nleg_EffectPipeline__init_($this) {
    nleg_EffectPipeline_$callClinit();
}
function nleg_EffectPipeline_init() {
    var var$1, $upload, var$3;
    nleg_EffectPipeline_$callClinit();
    nleg_EffectPipeline_framebuffer = nlea_EaglerAdapterImpl2__wglCreateFramebuffer();
    nleg_EffectPipeline_framebuffer_color = nlea_EaglerAdapterImpl2__wglGenTextures();
    nleg_EffectPipeline_framebuffer_depth = nlea_EaglerAdapterImpl2__wglGenTextures();
    nleg_EffectPipeline_pvert_shader = nlea_EaglerAdapterImpl2__wglCreateShader(35633);
    var$1 = nleg_EffectPipeline_pvert_shader;
    $upload = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($upload);
    jl_AbstractStringBuilder_append($upload, nlea_EaglerAdapterImpl2__wgetShaderHeader());
    jl_AbstractStringBuilder_append($upload, $rt_s(64));
    jl_AbstractStringBuilder_append($upload, nlea_EaglerAdapterImpl2_fileContents($rt_s(1208)));
    nlea_EaglerAdapterImpl2__wglShaderSource(var$1, jl_AbstractStringBuilder_toString($upload));
    nlea_EaglerAdapterImpl2__wglCompileShader(nleg_EffectPipeline_pvert_shader);
    if (!nlea_EaglerAdapterImpl2__wglGetShaderCompiled(nleg_EffectPipeline_pvert_shader)) {
        $upload = jl_System_err();
        var$1 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$1);
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $rt_s(64));
        jl_AbstractStringBuilder_append(var$3, nlea_EaglerAdapterImpl2__wglGetShaderInfoLog(nleg_EffectPipeline_pvert_shader));
        jl_AbstractStringBuilder_append(var$1, jl_String_replace0(jl_AbstractStringBuilder_toString(var$3), $rt_s(64), $rt_s(1209)));
        jl_AbstractStringBuilder_append(var$1, $rt_s(64));
        ji_PrintStream_println($upload, jl_AbstractStringBuilder_toString(var$1));
    }
    nlea_EaglerAdapterImpl2__wglBindTexture(3553, nleg_EffectPipeline_framebuffer_color);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10240, 9728);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10241, 9728);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10242, 33071);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10243, 33071);
    nlea_EaglerAdapterImpl2__wglBindTexture(3553, nleg_EffectPipeline_framebuffer_depth);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10240, 9728);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10241, 9728);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10242, 33071);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10243, 33071);
    nlea_EaglerAdapterImpl2__wglBindFramebuffer(36160, nleg_EffectPipeline_framebuffer);
    nlea_EaglerAdapterImpl2__wglFramebufferTexture2D(36064, nleg_EffectPipeline_framebuffer_color);
    nlea_EaglerAdapterImpl2__wglFramebufferTexture2D(33306, nleg_EffectPipeline_framebuffer_depth);
    nlea_EaglerAdapterImpl2__wglBindFramebuffer(36160, null);
    nleg_EffectPipeline_renderQuadArray = nlea_EaglerAdapterImpl2__wglCreateVertexArray();
    nleg_EffectPipeline_renderQuadBuffer = nlea_EaglerAdapterImpl2__wglCreateBuffer();
    nleg_EaglerAdapterGL30_$callClinit();
    if (nleg_EaglerAdapterGL30_isWebGL)
        $upload = jn_IntBuffer_wrap($rt_createIntArray(12));
    else {
        $upload = jn_ByteBuffer_allocateDirect(48);
        $upload.$order = jn_ByteOrder_BIG_ENDIAN;
        $upload = jn_ByteBufferImpl_asIntBuffer($upload);
    }
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
    jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
    jn_IntBuffer_flip($upload);
    nlea_EaglerAdapterImpl2__wglBindBuffer(34962, nleg_EffectPipeline_renderQuadBuffer);
    nlea_EaglerAdapterImpl2__wglBufferData0(34962, $upload, 35044);
    nlea_EaglerAdapterImpl2__wglBindVertexArray(nleg_EffectPipeline_renderQuadArray);
    nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray(0);
    nlea_EaglerAdapterImpl2__wglVertexAttribPointer(0, 2, 5126, 0, 8, 0);
}
function nleg_EffectPipeline_reloadPipeline() {
    var var$1, $i, $tmp1, $tmp_0;
    nleg_EffectPipeline_$callClinit();
    var$1 = jl_System_out();
    $i = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($i);
    jl_AbstractStringBuilder_append($i, $rt_s(1210));
    jl_AbstractStringBuilder_append2($i, nleg_EffectPipeline_pipeline.data.length);
    jl_AbstractStringBuilder_append($i, $rt_s(1211));
    ji_PrintStream_println(var$1, jl_AbstractStringBuilder_toString($i));
    $tmp1 = nleg_EffectPipeline_pipeline;
    $tmp_0 = ju_AbstractCollection_toArray(ju_HashMap_keySet(nleg_EffectPipeline_programs), $rt_createArray(jl_String, 0));
    var$1 = ju_HashMap_values(nleg_EffectPipeline_programs).$iterator();
    while (var$1.$hasNext()) {
        nlea_EaglerAdapterImpl2__wglDeleteProgram(var$1.$next());
    }
    ju_HashMap_clear(nleg_EffectPipeline_programs);
    ju_HashMap_clear(nleg_EffectPipeline_uniforms);
    nleg_EffectPipeline_setupPipeline($tmp1, $tmp_0);
}
function nleg_EffectPipeline_setupPipeline($shaders, $load) {
    var $i, $prog, $f, $r, $c, $d, var$9, var$10, $j, $x, $y, $z, $s, $hypot, var$17;
    nleg_EffectPipeline_$callClinit();
    nleg_EffectPipeline_pipeline_tmp = $shaders;
    $i = 0;
    while (true) {
        $shaders = $load.data;
        if ($i >= $shaders.length)
            break;
        if (!ju_HashMap_containsKey(nleg_EffectPipeline_programs, $shaders[$i])) {
            $prog = nlea_EaglerAdapterImpl2__wglCreateProgram();
            $f = nlea_EaglerAdapterImpl2__wglCreateShader(35632);
            $r = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($r);
            jl_AbstractStringBuilder_append($r, nlea_EaglerAdapterImpl2__wgetShaderHeader());
            jl_AbstractStringBuilder_append($r, $rt_s(64));
            jl_AbstractStringBuilder_append($r, nlea_EaglerAdapterImpl2_fileContents($shaders[$i]));
            nlea_EaglerAdapterImpl2__wglShaderSource($f, jl_AbstractStringBuilder_toString($r));
            nlea_EaglerAdapterImpl2__wglCompileShader($f);
            if (!nlea_EaglerAdapterImpl2__wglGetShaderCompiled($f)) {
                $r = jl_System_err();
                $c = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($c);
                $d = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($d);
                jl_AbstractStringBuilder_append($d, $rt_s(64));
                jl_AbstractStringBuilder_append($d, nlea_EaglerAdapterImpl2__wglGetShaderInfoLog($f));
                var$9 = jl_AbstractStringBuilder_toString($d);
                var$10 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$10);
                jl_AbstractStringBuilder_append(var$10, $rt_s(1212));
                jl_AbstractStringBuilder_append(var$10, $shaders[$i]);
                jl_AbstractStringBuilder_append(var$10, $rt_s(1213));
                jl_AbstractStringBuilder_append($c, jl_String_replace0(var$9, $rt_s(64), jl_AbstractStringBuilder_toString(var$10)));
                jl_AbstractStringBuilder_append($c, $rt_s(64));
                ji_PrintStream_println($r, jl_AbstractStringBuilder_toString($c));
            }
            nlea_EaglerAdapterImpl2__wglAttachShader($prog, nleg_EffectPipeline_pvert_shader);
            nlea_EaglerAdapterImpl2__wglAttachShader($prog, $f);
            nlea_EaglerAdapterImpl2__wglBindAttributeLocation($prog, 0, $rt_s(229));
            nlea_EaglerAdapterImpl2__wglLinkProgram($prog);
            nlea_EaglerAdapterImpl2__wglDetachShader($prog, nleg_EffectPipeline_pvert_shader);
            nlea_EaglerAdapterImpl2__wglDetachShader($prog, $f);
            nlea_EaglerAdapterImpl2__wglDeleteShader($f);
            if (!nlea_EaglerAdapterImpl2__wglGetProgramLinked($prog)) {
                $r = jl_System_err();
                $f = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($f);
                $c = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($c);
                jl_AbstractStringBuilder_append($c, $rt_s(64));
                jl_AbstractStringBuilder_append($c, nlea_EaglerAdapterImpl2__wglGetProgramInfoLog($prog));
                var$10 = jl_AbstractStringBuilder_toString($c);
                $prog = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($prog);
                jl_AbstractStringBuilder_append($prog, $rt_s(1212));
                jl_AbstractStringBuilder_append($prog, $shaders[$i]);
                jl_AbstractStringBuilder_append($prog, $rt_s(1214));
                jl_AbstractStringBuilder_append($f, jl_String_replace0(var$10, $rt_s(64), jl_AbstractStringBuilder_toString($prog)));
                jl_AbstractStringBuilder_append($f, $rt_s(64));
                ji_PrintStream_println($r, jl_AbstractStringBuilder_toString($f));
                nleg_EffectPipeline_pipeline_tmp = $rt_createArray(jl_String, 0);
                return;
            }
            nlea_EaglerAdapterImpl2__wglUseProgram($prog);
            $c = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1215));
            if ($c !== null)
                nlea_EaglerAdapterImpl2__wglUniform1i($c, 0);
            $d = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1216));
            if ($d !== null)
                nlea_EaglerAdapterImpl2__wglUniform1i($d, 1);
            a: {
                if (nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1217)) !== null) {
                    $r = nle_EaglercraftRandom__init_1(Long_fromInt(jl_String_hashCode($rt_s(1218))));
                    $j = 0;
                    while (true) {
                        if ($j >= 24)
                            break a;
                        $x = nle_EaglercraftRandom_nextFloat($r) * 2.0 - 1.0;
                        $y = nle_EaglercraftRandom_nextFloat($r) * 2.0 - 1.0;
                        $z = nle_EaglercraftRandom_nextFloat($r) * 2.0 - 1.0;
                        $s = 0.30000001192092896 + 0.699999988079071 * nle_EaglercraftRandom_nextFloat($r);
                        $hypot = 1.0 / jl_Math_sqrt($x * $x + $y * $y + $z * $z) * $s;
                        $x = $x * $hypot;
                        $y = $y * $hypot;
                        $z = $z * $hypot;
                        $f = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($f);
                        jl_AbstractStringBuilder_append($f, $rt_s(1219));
                        jl_AbstractStringBuilder_append2($f, $j);
                        jl_AbstractStringBuilder_append($f, $rt_s(274));
                        nlea_EaglerAdapterImpl2__wglUniform3f(nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, jl_AbstractStringBuilder_toString($f)), $x, $y, $z);
                        $j = $j + 1 | 0;
                    }
                }
            }
            ju_HashMap_putImpl(nleg_EffectPipeline_programs, $shaders[$i], $prog);
            $f = nleg_EffectPipeline_uniforms;
            $c = $shaders[$i];
            $shaders = $rt_createArray(nlea_EaglerAdapterImpl2$UniformGL, 9);
            var$17 = $shaders.data;
            var$17[0] = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1220));
            var$17[1] = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1221));
            var$17[2] = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1222));
            var$17[3] = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(257));
            var$17[4] = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1223));
            var$17[5] = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1224));
            var$17[6] = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1225));
            var$17[7] = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1226));
            var$17[8] = nlea_EaglerAdapterImpl2__wglGetUniformLocation($prog, $rt_s(1227));
            ju_HashMap_putImpl($f, $c, $shaders);
        }
        $i = $i + 1 | 0;
    }
}
function nleg_EffectPipeline__clinit_() {
    nleg_EffectPipeline_pipeline_tmp = null;
    nleg_EffectPipeline_pipeline = $rt_createArray(jl_String, 0);
    nleg_EffectPipeline_programs = ju_HashMap__init_();
    nleg_EffectPipeline_uniforms = ju_HashMap__init_();
    nleg_EffectPipeline_framebuffer_bloom_a = null;
    nleg_EffectPipeline_framebuffer_bloom_a_color = null;
    nleg_EffectPipeline_framebuffer_bloom_b = null;
    nleg_EffectPipeline_framebuffer_bloom_b_color = null;
    nleg_EffectPipeline_width = (-1);
    nleg_EffectPipeline_height = (-1);
    nleg_EffectPipeline_originalViewport = null;
    nleg_EffectPipeline_framebufferFlip = 0;
    nleg_EffectPipeline_bloom_width = (-1);
    nleg_EffectPipeline_bloom_height = (-1);
    nleg_EffectPipeline_deevis = nle_EaglercraftRandom__init_0();
    nleg_EffectPipeline_projBuffer = $rt_createFloatArray(16);
    nleg_EffectPipeline_projBufferInv = $rt_createFloatArray(16);
    nleg_EffectPipeline_projectionMatrix = nlegv_Matrix4f_setZero(nlegv_Matrix4f__init_0());
    nleg_EffectPipeline_projectionMatrixInv = nlegv_Matrix4f_setZero(nlegv_Matrix4f__init_0());
    nleg_EffectPipeline_randomInterTimer = Long_ZERO;
    nleg_EffectPipeline_randomInterA = 0.0;
    nleg_EffectPipeline_randomInterB = 0.0;
}
function nms_GuiIngame() {
    var a = this; nms_Gui.call(a);
    a.$rand2 = null;
    a.$mc8 = null;
    a.$persistantChatGUI = null;
    a.$updateCounter = 0;
    a.$recordPlaying = null;
    a.$recordPlayingUpFor = 0;
    a.$recordIsPlaying = 0;
    a.$prevVignetteBrightness = 0.0;
    a.$remainingHighlightTicks = 0;
    a.$highlightingItemStack = null;
}
var nms_GuiIngame_itemRenderer = null;
var nms_GuiIngame_tex_gui = null;
var nms_GuiIngame_tex_icons = null;
var nms_GuiIngame_tex_pumpkin = null;
var nms_GuiIngame_tex_vigg = null;
var nms_GuiIngame_terrain = null;
function nms_GuiIngame__init_(var_0) {
    var var_1 = new nms_GuiIngame();
    nms_GuiIngame__init_0(var_1, var_0);
    return var_1;
}
function nms_GuiIngame__init_0($this, $par1Minecraft) {
    var var$2;
    nms_Gui__init_($this);
    $this.$rand2 = nle_EaglercraftRandom__init_0();
    $this.$updateCounter = 0;
    $this.$recordPlaying = $rt_s(36);
    $this.$recordPlayingUpFor = 0;
    $this.$recordIsPlaying = 0;
    $this.$prevVignetteBrightness = 1.0;
    $this.$mc8 = $par1Minecraft;
    var$2 = new nms_GuiNewChat;
    nms_Gui__init_(var$2);
    var$2.$sentMessages = ju_ArrayList__init_0();
    var$2.$chatLines = ju_ArrayList__init_0();
    var$2.$field_96134_d = ju_ArrayList__init_0();
    var$2.$field_73768_d = 0;
    var$2.$field_73769_e = 0;
    var$2.$mc9 = $par1Minecraft;
    $this.$persistantChatGUI = var$2;
}
function nms_GuiIngame_renderGameOverlay($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var33, $var9, $var10, $var32, $var12, $var34, $var36, $var40, $var35, $var13, var$19, $var31, $var11, $var15, $var16, $var19, $var22, $var23, $var47, $var24, $var25, $i, $var26, $var27, $var28, $var30, $var17, $var52, $var53, $var29, $var18, $var20, $offset, $offset2, $str, $var45, $var39, $var37, $var44, $var42, $var38, $var43, $var46, $var48, $var51, $var55, $var57, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var57 = $thread.pop();$var55 = $thread.pop();$var51 = $thread.pop();$var48 = $thread.pop();$var46 = $thread.pop();$var43 = $thread.pop();$var38 = $thread.pop();$var42 = $thread.pop();$var44 = $thread.pop();$var37 = $thread.pop();$var39 = $thread.pop();$var45 = $thread.pop();$str = $thread.pop();$offset2 = $thread.pop();$offset = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var29 = $thread.pop();$var53 = $thread.pop();$var52 = $thread.pop();$var17 = $thread.pop();$var30
        = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var26 = $thread.pop();$i = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var47 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var19 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var11 = $thread.pop();$var31 = $thread.pop();var$19 = $thread.pop();$var13 = $thread.pop();$var35 = $thread.pop();$var40 = $thread.pop();$var36 = $thread.pop();$var34 = $thread.pop();$var12 = $thread.pop();$var32 = $thread.pop();$var10
        = $thread.pop();$var9 = $thread.pop();$var33 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = nms_ScaledResolution__init_($this.$mc8.$gameSettings, $this.$mc8.$displayWidth, $this.$mc8.$displayHeight);
        $var6 = nms_ScaledResolution_getScaledWidth($var5);
        $var7 = nms_ScaledResolution_getScaledHeight($var5);
        $var8 = $this.$mc8.$fontRenderer;
        nms_EntityRenderer_setupOverlayRendering($this.$mc8.$entityRenderer);
        nleg_EaglerAdapterGL30_glEnable(3042);
        if (nmc_Minecraft_isFancyGraphicsEnabled()) {
            $var33 = nms_Entity_getBrightness($this.$mc8.$thePlayer, $par1);
            $ptr = 1;
            continue main;
        }
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        $var9 = nms_InventoryPlayer_armorItemInSlot($this.$mc8.$thePlayer.$inventory, 3);
        if (!$this.$mc8.$gameSettings.$thirdPersonView && $var9 !== null) {
            $par2 = $var9.$itemID0;
            nms_Block_$callClinit();
            if ($par2 == nms_Block_pumpkin.$blockID) {
                $ptr = 5;
                continue main;
            }
        }
        if (!nms_EntityLiving_isPotionActive($this.$mc8.$thePlayer, nms_Potion_confusion)) {
            $var10 = $this.$mc8.$thePlayer.$prevTimeInPortal + ($this.$mc8.$thePlayer.$timeInPortal - $this.$mc8.$thePlayer.$prevTimeInPortal) * $par1;
            if ($var10 > 0.0) {
                $ptr = 4;
                continue main;
            }
        }
        if (!nms_PlayerControllerMP_enableEverythingIsScrewedUpMode($this.$mc8.$playerController)) {
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            $var5 = nms_GuiIngame_tex_gui;
            $ptr = 2;
            continue main;
        }
        if (nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer) > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1228));
            nleg_EaglerAdapterGL30_glDisable(2929);
            nleg_EaglerAdapterGL30_glDisable(3008);
            $var32 = nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer);
            $var33 = $var32 / 100.0;
            if ($var33 > 1.0)
                $var33 = 1.0 - ($var32 - 100 | 0) / 10.0;
            nms_Gui_drawRect(0, 0, $var6, $var7, (220.0 * $var33 | 0) << 24 | 1052704);
            nleg_EaglerAdapterGL30_glEnable(3008);
            nleg_EaglerAdapterGL30_glEnable(2929);
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nms_PlayerControllerMP_func_78763_f($this.$mc8.$playerController) && $this.$mc8.$thePlayer.$experienceLevel > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1229));
            $var12 = 8453920;
            $var34 = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $this.$mc8.$thePlayer.$experienceLevel));
            $var36 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var34) | 0) / 2 | 0;
            $var40 = ($var7 - 31 | 0) - 4 | 0;
            $par2 = $var36 + 1 | 0;
            $par3 = 0;
            $ptr = 6;
            continue main;
        }
        if ($this.$mc8.$gameSettings.$heldItemTooltips) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1230));
            if ($this.$remainingHighlightTicks > 0 && $this.$highlightingItemStack !== null) {
                $var35 = nms_ItemStack_getDisplayName($this.$highlightingItemStack);
                $var12 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var35) | 0) / 2 | 0;
                $var13 = $var7 - 59 | 0;
                if (!nms_PlayerControllerMP_shouldDrawHUD($this.$mc8.$playerController))
                    $var13 = $var13 + 14 | 0;
                $var36 = $this.$remainingHighlightTicks * 256.0 / 10.0 | 0;
                if ($var36 > 255)
                    $var36 = 255;
                if ($var36 > 0) {
                    nleg_EaglerAdapterGL30_glPushMatrix();
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    $par2 = 16777215 + ($var36 << 24) | 0;
                    $ptr = 36;
                    continue main;
                }
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nmc_Minecraft_isDemo($this.$mc8)) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1231));
            if (Long_ge(nms_World_getTotalWorldTime($this.$mc8.$theWorld), Long_fromInt(120500)))
                $var5 = nms_StatCollector_translateToLocal($rt_s(1232));
            else {
                $var5 = nms_StatCollector_translateToLocal($rt_s(1233));
                var$19 = $rt_createArray(jl_Object, 1);
                var$19.data[0] = nms_StringUtils_ticksToElapsedTime(Long_sub(Long_fromInt(120500), nms_World_getTotalWorldTime($this.$mc8.$theWorld)).lo);
                $var5 = jl_String_format($var5, var$19);
            }
            $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 10 | 0;
            $par3 = 5;
            $par4 = 16777215;
            $ptr = 22;
            continue main;
        }
        $this.$mc8.$debug = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nmc_Minecraft_debugFPS), $rt_s(1234)), nmc_Minecraft_debugChunkUpdates), $rt_s(1235)));
        if (!$this.$mc8.$gameSettings.$showDebugInfo) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
            $var5 = nms_RenderGlobal_getDebugInfoShort($this.$mc8.$renderGlobal);
            $par2 = 2;
            $par3 = 2;
            $par4 = 16777215;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1236));
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1237)), $this.$mc8.$debug), $rt_s(68)));
        $par2 = 2;
        $par3 = 2;
        $par4 = 16777215;
        $ptr = 13;
        continue main;
    case 1:
        nms_GuiIngame_renderVignette($this, $var33, $var6, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = nms_InventoryPlayer_armorItemInSlot($this.$mc8.$thePlayer.$inventory, 3);
        if (!$this.$mc8.$gameSettings.$thirdPersonView && $var9 !== null) {
            $par2 = $var9.$itemID0;
            nms_Block_$callClinit();
            if ($par2 == nms_Block_pumpkin.$blockID) {
                $ptr = 5;
                continue main;
            }
        }
        if (!nms_EntityLiving_isPotionActive($this.$mc8.$thePlayer, nms_Potion_confusion)) {
            $var10 = $this.$mc8.$thePlayer.$prevTimeInPortal + ($this.$mc8.$thePlayer.$timeInPortal - $this.$mc8.$thePlayer.$prevTimeInPortal) * $par1;
            if ($var10 > 0.0) {
                $ptr = 4;
                continue main;
            }
        }
        if (!nms_PlayerControllerMP_enableEverythingIsScrewedUpMode($this.$mc8.$playerController)) {
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            $var5 = nms_GuiIngame_tex_gui;
            $ptr = 2;
            continue main;
        }
        if (nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer) > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1228));
            nleg_EaglerAdapterGL30_glDisable(2929);
            nleg_EaglerAdapterGL30_glDisable(3008);
            $var32 = nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer);
            $var33 = $var32 / 100.0;
            if ($var33 > 1.0)
                $var33 = 1.0 - ($var32 - 100 | 0) / 10.0;
            nms_Gui_drawRect(0, 0, $var6, $var7, (220.0 * $var33 | 0) << 24 | 1052704);
            nleg_EaglerAdapterGL30_glEnable(3008);
            nleg_EaglerAdapterGL30_glEnable(2929);
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nms_PlayerControllerMP_func_78763_f($this.$mc8.$playerController) && $this.$mc8.$thePlayer.$experienceLevel > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1229));
            $var12 = 8453920;
            $var34 = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $this.$mc8.$thePlayer.$experienceLevel));
            $var36 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var34) | 0) / 2 | 0;
            $var40 = ($var7 - 31 | 0) - 4 | 0;
            $par2 = $var36 + 1 | 0;
            $par3 = 0;
            $ptr = 6;
            continue main;
        }
        if ($this.$mc8.$gameSettings.$heldItemTooltips) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1230));
            if ($this.$remainingHighlightTicks > 0 && $this.$highlightingItemStack !== null) {
                $var35 = nms_ItemStack_getDisplayName($this.$highlightingItemStack);
                $var12 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var35) | 0) / 2 | 0;
                $var13 = $var7 - 59 | 0;
                if (!nms_PlayerControllerMP_shouldDrawHUD($this.$mc8.$playerController))
                    $var13 = $var13 + 14 | 0;
                $var36 = $this.$remainingHighlightTicks * 256.0 / 10.0 | 0;
                if ($var36 > 255)
                    $var36 = 255;
                if ($var36 > 0) {
                    nleg_EaglerAdapterGL30_glPushMatrix();
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    $par2 = 16777215 + ($var36 << 24) | 0;
                    $ptr = 36;
                    continue main;
                }
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nmc_Minecraft_isDemo($this.$mc8)) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1231));
            if (Long_ge(nms_World_getTotalWorldTime($this.$mc8.$theWorld), Long_fromInt(120500)))
                $var5 = nms_StatCollector_translateToLocal($rt_s(1232));
            else {
                $var5 = nms_StatCollector_translateToLocal($rt_s(1233));
                var$19 = $rt_createArray(jl_Object, 1);
                var$19.data[0] = nms_StringUtils_ticksToElapsedTime(Long_sub(Long_fromInt(120500), nms_World_getTotalWorldTime($this.$mc8.$theWorld)).lo);
                $var5 = jl_String_format($var5, var$19);
            }
            $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 10 | 0;
            $par3 = 5;
            $par4 = 16777215;
            $ptr = 22;
            continue main;
        }
        $this.$mc8.$debug = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nmc_Minecraft_debugFPS), $rt_s(1234)), nmc_Minecraft_debugChunkUpdates), $rt_s(1235)));
        if (!$this.$mc8.$gameSettings.$showDebugInfo) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
            $var5 = nms_RenderGlobal_getDebugInfoShort($this.$mc8.$renderGlobal);
            $par2 = 2;
            $par3 = 2;
            $par4 = 16777215;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1236));
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1237)), $this.$mc8.$debug), $rt_s(68)));
        $par2 = 2;
        $par3 = 2;
        $par4 = 16777215;
        $ptr = 13;
        continue main;
    case 2:
        nle_TextureLocation_bindTexture($var5);
        if ($rt_suspending()) {
            break main;
        }
        $var31 = $this.$mc8.$thePlayer.$inventory;
        $this.$zLevel = (-90.0);
        $par2 = $var6 / 2 | 0;
        $par3 = $par2 - 91 | 0;
        $par4 = $var7 - 22 | 0;
        nms_Gui_drawTexturedModalRect($this, $par3, $par4, 0, 0, 182, 22);
        nms_Gui_drawTexturedModalRect($this, ($par3 - 1 | 0) + ($var31.$currentItem * 20 | 0) | 0, $par4 - 1 | 0, 0, 22, 24, 22);
        $var5 = nms_GuiIngame_tex_icons;
        $ptr = 3;
    case 3:
        nle_TextureLocation_bindTexture($var5);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(775, 769);
        nms_Gui_drawTexturedModalRect($this, $par2 - 7 | 0, ($var7 / 2 | 0) - 7 | 0, 0, 0, 16, 16);
        nleg_EaglerAdapterGL30_glDisable(3042);
        $var11 = (($this.$mc8.$thePlayer.$hurtResistantTime / 3 | 0) % 2 | 0) != 1 ? 0 : 1;
        if ($this.$mc8.$thePlayer.$hurtResistantTime < 10)
            $var11 = 0;
        $var12 = nms_EntityLiving_getHealth($this.$mc8.$thePlayer);
        $var13 = $this.$mc8.$thePlayer.$prevHealth;
        nle_EaglercraftRandom_setSeed($this.$rand2, Long_fromInt($rt_imul($this.$updateCounter, 312871)));
        $var15 = nms_EntityPlayer_getFoodStats($this.$mc8.$thePlayer);
        $var16 = nms_FoodStats_getFoodLevel($var15);
        nms_FoodStats_getPrevFoodLevel($var15);
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1238));
        $ptr = 11;
        continue main;
    case 4:
        nms_GuiIngame_renderPortalOverlay($this, $var10, $var6, $var7);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_PlayerControllerMP_enableEverythingIsScrewedUpMode($this.$mc8.$playerController)) {
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            $var5 = nms_GuiIngame_tex_gui;
            $ptr = 2;
            continue main;
        }
        if (nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer) > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1228));
            nleg_EaglerAdapterGL30_glDisable(2929);
            nleg_EaglerAdapterGL30_glDisable(3008);
            $var32 = nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer);
            $var33 = $var32 / 100.0;
            if ($var33 > 1.0)
                $var33 = 1.0 - ($var32 - 100 | 0) / 10.0;
            nms_Gui_drawRect(0, 0, $var6, $var7, (220.0 * $var33 | 0) << 24 | 1052704);
            nleg_EaglerAdapterGL30_glEnable(3008);
            nleg_EaglerAdapterGL30_glEnable(2929);
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nms_PlayerControllerMP_func_78763_f($this.$mc8.$playerController) && $this.$mc8.$thePlayer.$experienceLevel > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1229));
            $var12 = 8453920;
            $var34 = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $this.$mc8.$thePlayer.$experienceLevel));
            $var36 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var34) | 0) / 2 | 0;
            $var40 = ($var7 - 31 | 0) - 4 | 0;
            $par2 = $var36 + 1 | 0;
            $par3 = 0;
            $ptr = 6;
            continue main;
        }
        if ($this.$mc8.$gameSettings.$heldItemTooltips) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1230));
            if ($this.$remainingHighlightTicks > 0 && $this.$highlightingItemStack !== null) {
                $var35 = nms_ItemStack_getDisplayName($this.$highlightingItemStack);
                $var12 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var35) | 0) / 2 | 0;
                $var13 = $var7 - 59 | 0;
                if (!nms_PlayerControllerMP_shouldDrawHUD($this.$mc8.$playerController))
                    $var13 = $var13 + 14 | 0;
                $var36 = $this.$remainingHighlightTicks * 256.0 / 10.0 | 0;
                if ($var36 > 255)
                    $var36 = 255;
                if ($var36 > 0) {
                    nleg_EaglerAdapterGL30_glPushMatrix();
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    $par2 = 16777215 + ($var36 << 24) | 0;
                    $ptr = 36;
                    continue main;
                }
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nmc_Minecraft_isDemo($this.$mc8)) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1231));
            if (Long_ge(nms_World_getTotalWorldTime($this.$mc8.$theWorld), Long_fromInt(120500)))
                $var5 = nms_StatCollector_translateToLocal($rt_s(1232));
            else {
                $var5 = nms_StatCollector_translateToLocal($rt_s(1233));
                var$19 = $rt_createArray(jl_Object, 1);
                var$19.data[0] = nms_StringUtils_ticksToElapsedTime(Long_sub(Long_fromInt(120500), nms_World_getTotalWorldTime($this.$mc8.$theWorld)).lo);
                $var5 = jl_String_format($var5, var$19);
            }
            $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 10 | 0;
            $par3 = 5;
            $par4 = 16777215;
            $ptr = 22;
            continue main;
        }
        $this.$mc8.$debug = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nmc_Minecraft_debugFPS), $rt_s(1234)), nmc_Minecraft_debugChunkUpdates), $rt_s(1235)));
        if (!$this.$mc8.$gameSettings.$showDebugInfo) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
            $var5 = nms_RenderGlobal_getDebugInfoShort($this.$mc8.$renderGlobal);
            $par2 = 2;
            $par3 = 2;
            $par4 = 16777215;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1236));
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1237)), $this.$mc8.$debug), $rt_s(68)));
        $par2 = 2;
        $par3 = 2;
        $par4 = 16777215;
        $ptr = 13;
        continue main;
    case 5:
        nms_GuiIngame_renderPumpkinBlur($this, $var6, $var7);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_EntityLiving_isPotionActive($this.$mc8.$thePlayer, nms_Potion_confusion)) {
            $var10 = $this.$mc8.$thePlayer.$prevTimeInPortal + ($this.$mc8.$thePlayer.$timeInPortal - $this.$mc8.$thePlayer.$prevTimeInPortal) * $par1;
            if ($var10 > 0.0) {
                $ptr = 4;
                continue main;
            }
        }
        if (!nms_PlayerControllerMP_enableEverythingIsScrewedUpMode($this.$mc8.$playerController)) {
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            $var5 = nms_GuiIngame_tex_gui;
            $ptr = 2;
            continue main;
        }
        if (nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer) > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1228));
            nleg_EaglerAdapterGL30_glDisable(2929);
            nleg_EaglerAdapterGL30_glDisable(3008);
            $var32 = nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer);
            $var33 = $var32 / 100.0;
            if ($var33 > 1.0)
                $var33 = 1.0 - ($var32 - 100 | 0) / 10.0;
            nms_Gui_drawRect(0, 0, $var6, $var7, (220.0 * $var33 | 0) << 24 | 1052704);
            nleg_EaglerAdapterGL30_glEnable(3008);
            nleg_EaglerAdapterGL30_glEnable(2929);
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nms_PlayerControllerMP_func_78763_f($this.$mc8.$playerController) && $this.$mc8.$thePlayer.$experienceLevel > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1229));
            $var12 = 8453920;
            $var34 = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $this.$mc8.$thePlayer.$experienceLevel));
            $var36 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var34) | 0) / 2 | 0;
            $var40 = ($var7 - 31 | 0) - 4 | 0;
            $par2 = $var36 + 1 | 0;
            $par3 = 0;
            $ptr = 6;
            continue main;
        }
        if ($this.$mc8.$gameSettings.$heldItemTooltips) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1230));
            if ($this.$remainingHighlightTicks > 0 && $this.$highlightingItemStack !== null) {
                $var35 = nms_ItemStack_getDisplayName($this.$highlightingItemStack);
                $var12 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var35) | 0) / 2 | 0;
                $var13 = $var7 - 59 | 0;
                if (!nms_PlayerControllerMP_shouldDrawHUD($this.$mc8.$playerController))
                    $var13 = $var13 + 14 | 0;
                $var36 = $this.$remainingHighlightTicks * 256.0 / 10.0 | 0;
                if ($var36 > 255)
                    $var36 = 255;
                if ($var36 > 0) {
                    nleg_EaglerAdapterGL30_glPushMatrix();
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    $par2 = 16777215 + ($var36 << 24) | 0;
                    $ptr = 36;
                    continue main;
                }
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nmc_Minecraft_isDemo($this.$mc8)) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1231));
            if (Long_ge(nms_World_getTotalWorldTime($this.$mc8.$theWorld), Long_fromInt(120500)))
                $var5 = nms_StatCollector_translateToLocal($rt_s(1232));
            else {
                $var5 = nms_StatCollector_translateToLocal($rt_s(1233));
                var$19 = $rt_createArray(jl_Object, 1);
                var$19.data[0] = nms_StringUtils_ticksToElapsedTime(Long_sub(Long_fromInt(120500), nms_World_getTotalWorldTime($this.$mc8.$theWorld)).lo);
                $var5 = jl_String_format($var5, var$19);
            }
            $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 10 | 0;
            $par3 = 5;
            $par4 = 16777215;
            $ptr = 22;
            continue main;
        }
        $this.$mc8.$debug = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nmc_Minecraft_debugFPS), $rt_s(1234)), nmc_Minecraft_debugChunkUpdates), $rt_s(1235)));
        if (!$this.$mc8.$gameSettings.$showDebugInfo) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
            $var5 = nms_RenderGlobal_getDebugInfoShort($this.$mc8.$renderGlobal);
            $par2 = 2;
            $par3 = 2;
            $par4 = 16777215;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1236));
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1237)), $this.$mc8.$debug), $rt_s(68)));
        $par2 = 2;
        $par3 = 2;
        $par4 = 16777215;
        $ptr = 13;
        continue main;
    case 6:
        nms_FontRenderer_drawString($var8, $var34, $par2, $var40, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $var36 - 1 | 0;
        $par3 = 0;
        $ptr = 7;
    case 7:
        nms_FontRenderer_drawString($var8, $var34, $par2, $var40, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $var40 + 1 | 0;
        $par3 = 0;
        $ptr = 8;
    case 8:
        nms_FontRenderer_drawString($var8, $var34, $var36, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $var40 - 1 | 0;
        $par3 = 0;
        $ptr = 9;
    case 9:
        nms_FontRenderer_drawString($var8, $var34, $var36, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 10;
    case 10:
        nms_FontRenderer_drawString($var8, $var34, $var36, $var40, $var12);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endSection($this.$mc8.$mcProfiler);
        if ($this.$mc8.$gameSettings.$heldItemTooltips) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1230));
            if ($this.$remainingHighlightTicks > 0 && $this.$highlightingItemStack !== null) {
                $var35 = nms_ItemStack_getDisplayName($this.$highlightingItemStack);
                $var12 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var35) | 0) / 2 | 0;
                $var13 = $var7 - 59 | 0;
                if (!nms_PlayerControllerMP_shouldDrawHUD($this.$mc8.$playerController))
                    $var13 = $var13 + 14 | 0;
                $var36 = $this.$remainingHighlightTicks * 256.0 / 10.0 | 0;
                if ($var36 > 255)
                    $var36 = 255;
                if ($var36 > 0) {
                    nleg_EaglerAdapterGL30_glPushMatrix();
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    $par2 = 16777215 + ($var36 << 24) | 0;
                    $ptr = 36;
                    continue main;
                }
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nmc_Minecraft_isDemo($this.$mc8)) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1231));
            if (Long_ge(nms_World_getTotalWorldTime($this.$mc8.$theWorld), Long_fromInt(120500)))
                $var5 = nms_StatCollector_translateToLocal($rt_s(1232));
            else {
                $var5 = nms_StatCollector_translateToLocal($rt_s(1233));
                var$19 = $rt_createArray(jl_Object, 1);
                var$19.data[0] = nms_StringUtils_ticksToElapsedTime(Long_sub(Long_fromInt(120500), nms_World_getTotalWorldTime($this.$mc8.$theWorld)).lo);
                $var5 = jl_String_format($var5, var$19);
            }
            $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 10 | 0;
            $par3 = 5;
            $par4 = 16777215;
            $ptr = 22;
            continue main;
        }
        $this.$mc8.$debug = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nmc_Minecraft_debugFPS), $rt_s(1234)), nmc_Minecraft_debugChunkUpdates), $rt_s(1235)));
        if (!$this.$mc8.$gameSettings.$showDebugInfo) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
            $var5 = nms_RenderGlobal_getDebugInfoShort($this.$mc8.$renderGlobal);
            $par2 = 2;
            $par3 = 2;
            $par4 = 16777215;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1236));
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1237)), $this.$mc8.$debug), $rt_s(68)));
        $par2 = 2;
        $par3 = 2;
        $par4 = 16777215;
        $ptr = 13;
        continue main;
    case 11:
        nms_GuiIngame_renderBossHealth($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endSection($this.$mc8.$mcProfiler);
        if (nms_PlayerControllerMP_shouldDrawHUD($this.$mc8.$playerController)) {
            $var19 = $par2 + 91 | 0;
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1239));
            if (nms_EntityPlayer_xpBarCap($this.$mc8.$thePlayer) > 0) {
                $var22 = $this.$mc8.$thePlayer.$experience * 183.0 | 0;
                $var23 = ($var7 - 32 | 0) + 3 | 0;
                nms_Gui_drawTexturedModalRect($this, $par3, $var23, 0, 64, 182, 5);
                if ($var22 > 0)
                    nms_Gui_drawTexturedModalRect($this, $par3, $var23, 0, 69, $var22, 5);
            }
            $var47 = $var7 - 39 | 0;
            $var22 = $var47 - 10 | 0;
            $var23 = nms_EntityPlayer_getTotalArmorValue($this.$mc8.$thePlayer);
            $var24 = (-1);
            if (nms_EntityLiving_isPotionActive($this.$mc8.$thePlayer, nms_Potion_regeneration))
                $var24 = $this.$updateCounter % 25 | 0;
            nms_Profiler_endStartSection($this.$mc8.$mcProfiler, $rt_s(1240));
            $var25 = 0;
            $i = $rt_compare($var12, 4);
            while ($var25 < 10) {
                if ($var23 > 0) {
                    $var26 = $par3 + ($var25 * 8 | 0) | 0;
                    $par4 = $rt_compare(($var25 * 2 | 0) + 1 | 0, $var23);
                    if ($par4 < 0)
                        nms_Gui_drawTexturedModalRect($this, $var26, $var22, 34, 9, 9, 9);
                    if (!$par4)
                        nms_Gui_drawTexturedModalRect($this, $var26, $var22, 25, 9, 9, 9);
                    if ($par4 > 0)
                        nms_Gui_drawTexturedModalRect($this, $var26, $var22, 16, 9, 9, 9);
                }
                $var26 = 16;
                if (nms_EntityLiving_isPotionActive($this.$mc8.$thePlayer, nms_Potion_poison))
                    $var26 = 52;
                else if (nms_EntityLiving_isPotionActive($this.$mc8.$thePlayer, nms_Potion_wither))
                    $var26 = 88;
                $var27 = 0;
                if ($var11)
                    $var27 = 1;
                $var28 = $par3 + ($var25 * 8 | 0) | 0;
                $par4 = $i > 0 ? $var47 : $var47 + nle_EaglercraftRandom_nextInt($this.$rand2, 2) | 0;
                if ($var25 == $var24)
                    $par4 = $par4 + (-2) | 0;
                $var30 = 0;
                if (nms_WorldInfo_isHardcoreModeEnabled(nms_World_getWorldInfo($this.$mc8.$theWorld)))
                    $var30 = 5;
                $var36 = 16 + ($var27 * 9 | 0) | 0;
                $var17 = 9 * $var30 | 0;
                nms_Gui_drawTexturedModalRect($this, $var28, $par4, $var36, $var17, 9, 9);
                if ($var11) {
                    $var36 = $rt_compare(($var25 * 2 | 0) + 1 | 0, $var13);
                    if ($var36 < 0)
                        nms_Gui_drawTexturedModalRect($this, $var28, $par4, $var26 + 54 | 0, $var17, 9, 9);
                    if (!$var36)
                        nms_Gui_drawTexturedModalRect($this, $var28, $par4, $var26 + 63 | 0, $var17, 9, 9);
                }
                $var36 = $rt_compare(($var25 * 2 | 0) + 1 | 0, $var12);
                if ($var36 < 0)
                    nms_Gui_drawTexturedModalRect($this, $var28, $par4, $var26 + 36 | 0, $var17, 9, 9);
                if (!$var36)
                    nms_Gui_drawTexturedModalRect($this, $var28, $par4, $var26 + 45 | 0, $var17, 9, 9);
                $var25 = $var25 + 1 | 0;
            }
            nms_Profiler_endStartSection($this.$mc8.$mcProfiler, $rt_s(1241));
            $par3 = 0;
            $var27 = ($var16 * 3 | 0) + 1 | 0;
            while ($par3 < 10) {
                $var52 = 16;
                $var53 = 0;
                if (nms_EntityLiving_isPotionActive($this.$mc8.$thePlayer, nms_Potion_hunger)) {
                    $var52 = 52;
                    $var53 = 13;
                }
                $par4 = nms_FoodStats_getSaturationLevel(nms_EntityPlayer_getFoodStats($this.$mc8.$thePlayer)) > 0.0 ? $var47 : $this.$updateCounter % $var27 | 0 ? $var47 : $var47 + (nle_EaglercraftRandom_nextInt($this.$rand2, 3) - 1 | 0) | 0;
                $var29 = ($var19 - ($par3 * 8 | 0) | 0) - 9 | 0;
                nms_Gui_drawTexturedModalRect($this, $var29, $par4, 16 + ($var53 * 9 | 0) | 0, 27, 9, 9);
                $var23 = $rt_compare(($par3 * 2 | 0) + 1 | 0, $var16);
                if ($var23 < 0)
                    nms_Gui_drawTexturedModalRect($this, $var29, $par4, $var52 + 36 | 0, 27, 9, 9);
                if (!$var23)
                    nms_Gui_drawTexturedModalRect($this, $var29, $par4, $var52 + 45 | 0, 27, 9, 9);
                $par3 = $par3 + 1 | 0;
            }
            a: {
                nms_Profiler_endStartSection($this.$mc8.$mcProfiler, $rt_s(1242));
                $var5 = $this.$mc8.$thePlayer;
                nms_Material_$callClinit();
                if (nms_Entity_isInsideOfMaterial($var5, nms_Material_water)) {
                    $par3 = nms_Entity_getAir($this.$mc8.$thePlayer);
                    $var26 = nms_MathHelper_ceiling_double_int(($par3 - 2 | 0) * 10.0 / 300.0);
                    $var52 = nms_MathHelper_ceiling_double_int($par3 * 10.0 / 300.0) - $var26 | 0;
                    $var28 = 0;
                    $par3 = $var26 + $var52 | 0;
                    while (true) {
                        if ($var28 >= $par3)
                            break a;
                        if ($var28 >= $var26)
                            nms_Gui_drawTexturedModalRect($this, ($var19 - ($var28 * 8 | 0) | 0) - 9 | 0, $var22, 25, 18, 9, 9);
                        else
                            nms_Gui_drawTexturedModalRect($this, ($var19 - ($var28 * 8 | 0) | 0) - 9 | 0, $var22, 16, 18, 9, 9);
                        $var28 = $var28 + 1 | 0;
                    }
                }
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        nleg_EaglerAdapterGL30_glDisable(3042);
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1243));
        nleg_EaglerAdapterGL30_glEnable(32826);
        nms_RenderHelper_enableGUIStandardItemLighting2();
        $var18 = 0;
        $par3 = $par2 - 90 | 0;
        $var20 = ($var7 - 16 | 0) - 3 | 0;
        if ($var18 < 9) {
            $var19 = ($par3 + ($var18 * 20 | 0) | 0) + 2 | 0;
            $ptr = 29;
            continue main;
        }
        nms_RenderHelper_disableStandardItemLighting();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_Profiler_endSection($this.$mc8.$mcProfiler);
        if (nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer) > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1228));
            nleg_EaglerAdapterGL30_glDisable(2929);
            nleg_EaglerAdapterGL30_glDisable(3008);
            $var32 = nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer);
            $var33 = $var32 / 100.0;
            if ($var33 > 1.0)
                $var33 = 1.0 - ($var32 - 100 | 0) / 10.0;
            nms_Gui_drawRect(0, 0, $var6, $var7, (220.0 * $var33 | 0) << 24 | 1052704);
            nleg_EaglerAdapterGL30_glEnable(3008);
            nleg_EaglerAdapterGL30_glEnable(2929);
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nms_PlayerControllerMP_func_78763_f($this.$mc8.$playerController) && $this.$mc8.$thePlayer.$experienceLevel > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1229));
            $var12 = 8453920;
            $var34 = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $this.$mc8.$thePlayer.$experienceLevel));
            $var36 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var34) | 0) / 2 | 0;
            $var40 = ($var7 - 31 | 0) - 4 | 0;
            $par2 = $var36 + 1 | 0;
            $par3 = 0;
            $ptr = 6;
            continue main;
        }
        if ($this.$mc8.$gameSettings.$heldItemTooltips) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1230));
            if ($this.$remainingHighlightTicks > 0 && $this.$highlightingItemStack !== null) {
                $var35 = nms_ItemStack_getDisplayName($this.$highlightingItemStack);
                $var12 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var35) | 0) / 2 | 0;
                $var13 = $var7 - 59 | 0;
                if (!nms_PlayerControllerMP_shouldDrawHUD($this.$mc8.$playerController))
                    $var13 = $var13 + 14 | 0;
                $var36 = $this.$remainingHighlightTicks * 256.0 / 10.0 | 0;
                if ($var36 > 255)
                    $var36 = 255;
                if ($var36 > 0) {
                    nleg_EaglerAdapterGL30_glPushMatrix();
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    $par2 = 16777215 + ($var36 << 24) | 0;
                    $ptr = 36;
                    continue main;
                }
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nmc_Minecraft_isDemo($this.$mc8)) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1231));
            if (Long_ge(nms_World_getTotalWorldTime($this.$mc8.$theWorld), Long_fromInt(120500)))
                $var5 = nms_StatCollector_translateToLocal($rt_s(1232));
            else {
                $var5 = nms_StatCollector_translateToLocal($rt_s(1233));
                var$19 = $rt_createArray(jl_Object, 1);
                var$19.data[0] = nms_StringUtils_ticksToElapsedTime(Long_sub(Long_fromInt(120500), nms_World_getTotalWorldTime($this.$mc8.$theWorld)).lo);
                $var5 = jl_String_format($var5, var$19);
            }
            $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 10 | 0;
            $par3 = 5;
            $par4 = 16777215;
            $ptr = 22;
            continue main;
        }
        $this.$mc8.$debug = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nmc_Minecraft_debugFPS), $rt_s(1234)), nmc_Minecraft_debugChunkUpdates), $rt_s(1235)));
        if (!$this.$mc8.$gameSettings.$showDebugInfo) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
            $var5 = nms_RenderGlobal_getDebugInfoShort($this.$mc8.$renderGlobal);
            $par2 = 2;
            $par3 = 2;
            $par4 = 16777215;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1236));
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1237)), $this.$mc8.$debug), $rt_s(68)));
        $par2 = 2;
        $par3 = 2;
        $par4 = 16777215;
        $ptr = 13;
        continue main;
    case 12:
        nms_FontRenderer_drawStringWithShadow($var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$mc8.$gameSettings.$showCoordinates) {
            $var5 = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1244)), nms_MathHelper_floor_double($this.$mc8.$thePlayer.$posX)), $rt_s(1245)), nms_MathHelper_floor_double($this.$mc8.$thePlayer.$posY)), $rt_s(1246)), nms_MathHelper_floor_double($this.$mc8.$thePlayer.$posZ)));
            $par2 = 2;
            $par3 = 12;
            $par4 = 16777215;
            $ptr = 18;
            continue main;
        }
        $offset = !nmc_Minecraft_isChatOpen($this.$mc8) ? 0 : 135;
        $offset2 = !nmc_Minecraft_isChatOpen($this.$mc8) ? 0 : 4;
        $str = $rt_s(1247);
        $par2 = (($var6 * 4 | 0) / 3 | 0) - 2 | 0;
        $par3 = ($par2 - nms_FontRenderer_getStringWidth($var8, $str) | 0) - $offset | 0;
        $par4 = 2 + $offset2 | 0;
        $var47 = 16768477;
        $ptr = 34;
        continue main;
    case 13:
        nms_FontRenderer_drawStringWithShadow($var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = nmc_Minecraft_debugInfoRenders($this.$mc8);
        $par2 = 2;
        $par3 = 12;
        $par4 = 16777215;
        $ptr = 14;
    case 14:
        nms_FontRenderer_drawStringWithShadow($var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = nmc_Minecraft_getEntityDebug($this.$mc8);
        $par2 = 2;
        $par3 = 22;
        $par4 = 16777215;
        $ptr = 15;
    case 15:
        nms_FontRenderer_drawStringWithShadow($var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = nmc_Minecraft_debugInfoEntities($this.$mc8);
        $par2 = 2;
        $par3 = 32;
        $par4 = 16777215;
        $ptr = 16;
    case 16:
        nms_FontRenderer_drawStringWithShadow($var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = nmc_Minecraft_getWorldProviderName($this.$mc8);
        $par2 = 2;
        $par3 = 42;
        $par4 = 16777215;
        $ptr = 17;
    case 17:
        nms_FontRenderer_drawStringWithShadow($var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        if (nlea_EaglerAdapterImpl2__wisWebGL()) {
            $var45 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1248)), nle_EnumBrowser_toString(nle_EnumBrowser_getBrowser())), $rt_s(68)));
            $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var45) | 0) - 2 | 0;
            $par3 = 2;
            $par4 = 14737632;
            $ptr = 21;
            continue main;
        }
        $var39 = nlea_EaglerAdapterImpl2_maxMemory();
        $var37 = nlea_EaglerAdapterImpl2_totalMemory();
        $var44 = Long_sub($var37, nlea_EaglerAdapterImpl2_freeMemory());
        $var45 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append2(jl_StringBuilder_append(jl_StringBuilder_append2(jl_StringBuilder_append(jl_StringBuilder_append2(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1249)), Long_div(Long_mul($var44, Long_fromInt(100)), $var39)), $rt_s(1250)), Long_div(Long_div($var44, Long_fromInt(1024)), Long_fromInt(1024))), $rt_s(1251)), Long_div(Long_div($var39, Long_fromInt(1024)), Long_fromInt(1024))), $rt_s(1252)));
        $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var45) | 0) - 2 | 0;
        $par3 = 2;
        $par4 = 14737632;
        $ptr = 19;
        continue main;
    case 18:
        nms_FontRenderer_drawStringWithShadow($var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $offset = !nmc_Minecraft_isChatOpen($this.$mc8) ? 0 : 135;
        $offset2 = !nmc_Minecraft_isChatOpen($this.$mc8) ? 0 : 4;
        $str = $rt_s(1247);
        $par2 = (($var6 * 4 | 0) / 3 | 0) - 2 | 0;
        $par3 = ($par2 - nms_FontRenderer_getStringWidth($var8, $str) | 0) - $offset | 0;
        $par4 = 2 + $offset2 | 0;
        $var47 = 16768477;
        $ptr = 34;
        continue main;
    case 19:
        nms_Gui_drawString($this, $var8, $var45, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append2(jl_StringBuilder_append(jl_StringBuilder_append2(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1253)), Long_div(Long_mul($var37, Long_fromInt(100)), $var39)), $rt_s(1250)), Long_div(Long_div($var37, Long_fromInt(1024)), Long_fromInt(1024))), $rt_s(1254)));
        $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
        $par3 = 12;
        $par4 = 14737632;
        $ptr = 20;
    case 20:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var36 = 0;
        $var5 = $rt_s(1255);
        $par2 = 2;
        $par3 = 64;
        $par4 = 16759739;
        $ptr = 23;
        continue main;
    case 21:
        nms_Gui_drawString($this, $var8, $var45, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var36 = (-10);
        $var5 = $rt_s(1255);
        $par2 = 2;
        $par3 = 64;
        $par4 = 16759739;
        $ptr = 23;
        continue main;
    case 22:
        nms_FontRenderer_drawStringWithShadow($var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endSection($this.$mc8.$mcProfiler);
        $this.$mc8.$debug = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nmc_Minecraft_debugFPS), $rt_s(1234)), nmc_Minecraft_debugChunkUpdates), $rt_s(1235)));
        if (!$this.$mc8.$gameSettings.$showDebugInfo) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
            $var5 = nms_RenderGlobal_getDebugInfoShort($this.$mc8.$renderGlobal);
            $par2 = 2;
            $par3 = 2;
            $par4 = 16777215;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1236));
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1237)), $this.$mc8.$debug), $rt_s(68)));
        $par2 = 2;
        $par3 = 2;
        $par4 = 16777215;
        $ptr = 13;
        continue main;
    case 23:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1256)), nmc_Minecraft_getServerURI($this.$mc8)));
        $par2 = 2;
        $par3 = 73;
        $par4 = 16759739;
        $ptr = 24;
    case 24:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var47 = nms_MathHelper_floor_double($this.$mc8.$thePlayer.$posX);
        $var22 = nms_MathHelper_floor_double($this.$mc8.$thePlayer.$posY);
        $var23 = nms_MathHelper_floor_double($this.$mc8.$thePlayer.$posZ);
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1244)), nms_GuiIngame_doubleToShorterString($this.$mc8.$thePlayer.$posX)), $rt_s(1257)), $var47), $rt_s(1258)), $var47 >> 4), $rt_s(1257)), $var47 & 15), $rt_s(68)));
        $par2 = 2;
        $par3 = 92;
        $par4 = 14737632;
        $ptr = 25;
    case 25:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1259)), nms_GuiIngame_doubleToShorterString($this.$mc8.$thePlayer.$posY)), $rt_s(1257)), $var22), $rt_s(1260)));
        $par2 = 2;
        $par3 = 100;
        $par4 = 14737632;
        $ptr = 26;
    case 26:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1261)), nms_GuiIngame_doubleToShorterString($this.$mc8.$thePlayer.$posZ)), $rt_s(1257)), $var23), $rt_s(1258)), $var23 >> 4), $rt_s(1257)), $var23 & 15), $rt_s(68)));
        $par2 = 2;
        $par3 = 108;
        $par4 = 14737632;
        $ptr = 27;
    case 27:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var24 = nms_MathHelper_floor_double($this.$mc8.$thePlayer.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append3(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1262)), $var24), $rt_s(1257)), nms_Direction_directions.data[$var24]), $rt_s(1263)), nms_MathHelper_wrapAngleTo180_float($this.$mc8.$thePlayer.$rotationYaw)));
        $par2 = 2;
        $par3 = 116;
        $par4 = 14737632;
        $ptr = 28;
    case 28:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1264)), !$this.$mc8.$gameSettings.$showCoordinates ? $rt_s(1265) : $rt_s(1266)), $rt_s(1267)));
        $par2 = 2;
        $par3 = 135;
        $par4 = (-1);
        $ptr = 30;
        continue main;
    case 29:
        nms_GuiIngame_renderInventorySlot($this, $var18, $var19, $var20, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $var18 = $var18 + 1 | 0;
        if ($var18 < 9) {
            $var19 = ($par3 + ($var18 * 20 | 0) | 0) + 2 | 0;
            continue main;
        }
        nms_RenderHelper_disableStandardItemLighting();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_Profiler_endSection($this.$mc8.$mcProfiler);
        if (nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer) > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1228));
            nleg_EaglerAdapterGL30_glDisable(2929);
            nleg_EaglerAdapterGL30_glDisable(3008);
            $var32 = nms_EntityPlayer_getSleepTimer($this.$mc8.$thePlayer);
            $var33 = $var32 / 100.0;
            if ($var33 > 1.0)
                $var33 = 1.0 - ($var32 - 100 | 0) / 10.0;
            nms_Gui_drawRect(0, 0, $var6, $var7, (220.0 * $var33 | 0) << 24 | 1052704);
            nleg_EaglerAdapterGL30_glEnable(3008);
            nleg_EaglerAdapterGL30_glEnable(2929);
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nms_PlayerControllerMP_func_78763_f($this.$mc8.$playerController) && $this.$mc8.$thePlayer.$experienceLevel > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1229));
            $var12 = 8453920;
            $var34 = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $this.$mc8.$thePlayer.$experienceLevel));
            $var36 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var34) | 0) / 2 | 0;
            $var40 = ($var7 - 31 | 0) - 4 | 0;
            $par2 = $var36 + 1 | 0;
            $par3 = 0;
            $ptr = 6;
            continue main;
        }
        if ($this.$mc8.$gameSettings.$heldItemTooltips) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1230));
            if ($this.$remainingHighlightTicks > 0 && $this.$highlightingItemStack !== null) {
                $var35 = nms_ItemStack_getDisplayName($this.$highlightingItemStack);
                $var12 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var35) | 0) / 2 | 0;
                $var13 = $var7 - 59 | 0;
                if (!nms_PlayerControllerMP_shouldDrawHUD($this.$mc8.$playerController))
                    $var13 = $var13 + 14 | 0;
                $var36 = $this.$remainingHighlightTicks * 256.0 / 10.0 | 0;
                if ($var36 > 255)
                    $var36 = 255;
                if ($var36 > 0) {
                    nleg_EaglerAdapterGL30_glPushMatrix();
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    $par2 = 16777215 + ($var36 << 24) | 0;
                    $ptr = 36;
                    continue main;
                }
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        if (nmc_Minecraft_isDemo($this.$mc8)) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1231));
            if (Long_ge(nms_World_getTotalWorldTime($this.$mc8.$theWorld), Long_fromInt(120500)))
                $var5 = nms_StatCollector_translateToLocal($rt_s(1232));
            else {
                $var5 = nms_StatCollector_translateToLocal($rt_s(1233));
                var$19 = $rt_createArray(jl_Object, 1);
                var$19.data[0] = nms_StringUtils_ticksToElapsedTime(Long_sub(Long_fromInt(120500), nms_World_getTotalWorldTime($this.$mc8.$theWorld)).lo);
                $var5 = jl_String_format($var5, var$19);
            }
            $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 10 | 0;
            $par3 = 5;
            $par4 = 16777215;
            $ptr = 22;
            continue main;
        }
        $this.$mc8.$debug = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nmc_Minecraft_debugFPS), $rt_s(1234)), nmc_Minecraft_debugChunkUpdates), $rt_s(1235)));
        if (!$this.$mc8.$gameSettings.$showDebugInfo) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
            $var5 = nms_RenderGlobal_getDebugInfoShort($this.$mc8.$renderGlobal);
            $par2 = 2;
            $par3 = 2;
            $par4 = 16777215;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1236));
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1237)), $this.$mc8.$debug), $rt_s(68)));
        $par2 = 2;
        $par3 = 2;
        $par4 = 16777215;
        $ptr = 13;
        continue main;
    case 30:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $rt_s(1268);
        $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
        $par3 = $var36 + 36 | 0;
        $par4 = 14737632;
        $ptr = 31;
    case 31:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1269)), nleg_EaglerAdapterGL30_getDisplayListCount()), $rt_s(1270)), nleg_EaglerAdapterGL30_getBitsPerSecond() / 1000000 | 0), $rt_s(1271)));
        $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
        $par3 = $var36 + 46 | 0;
        $par4 = 14737632;
        $ptr = 32;
    case 32:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1272)), nleg_EaglerAdapterGL30_getVertexesPerSecond() / 1000 | 0), $rt_s(1273)), nleg_EaglerAdapterGL30_getTrianglesPerSecond() / 1000 | 0), $rt_s(1274)));
        $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
        $par3 = $var36 + 56 | 0;
        $par4 = 14737632;
        $ptr = 33;
    case 33:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1275)), !nleg_EaglerAdapterGL30_isWebGL ? $rt_s(1276) : $rt_s(1277)));
        $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
        $par3 = $var36 + 66 | 0;
        $par4 = 14737632;
        $ptr = 37;
        continue main;
    case 34:
        nms_FontRenderer_drawStringWithShadow($var8, $str, $par3, $par4, $var47);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $rt_s(1278);
        $par2 = ($par2 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - $offset | 0;
        $par3 = 12 + $offset2 | 0;
        $par4 = 14737632;
        $ptr = 35;
    case 35:
        nms_FontRenderer_drawStringWithShadow($var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if ($this.$recordPlayingUpFor > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1279));
            $var33 = $this.$recordPlayingUpFor - $par1;
            $var12 = $var33 * 256.0 / 20.0 | 0;
            if ($var12 > 255)
                $var12 = 255;
            if ($var12 > 0) {
                nleg_EaglerAdapterGL30_glPushMatrix();
                nleg_EaglerAdapterGL30_glTranslatef($var6 / 2 | 0, $var7 - 48 | 0, 0.0);
                nleg_EaglerAdapterGL30_glEnable(3042);
                nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                $var13 = 16777215;
                if ($this.$recordIsPlaying)
                    $var13 = nms_BiomeGenBase_HSBtoRGB($var33 / 50.0, 0.699999988079071, 0.6000000238418579) & 16777215;
                $var5 = $this.$recordPlaying;
                $par2 =  -nms_FontRenderer_getStringWidth($var8, $this.$recordPlaying) / 2 | 0;
                $par3 = (-4);
                $par4 = $var13 + ($var12 << 24) | 0;
                $ptr = 45;
                continue main;
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        $var42 = nms_Scoreboard_func_96539_a(nms_World_getScoreboard($this.$mc8.$theWorld), 1);
        if ($var42 !== null) {
            $ptr = 43;
            continue main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, $var7 - 48 | 0, 0.0);
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1280));
        $var5 = $this.$persistantChatGUI;
        $par2 = $this.$updateCounter;
        $ptr = 42;
        continue main;
    case 36:
        nms_FontRenderer_drawStringWithShadow($var8, $var35, $var12, $var13, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nms_Profiler_endSection($this.$mc8.$mcProfiler);
        if (nmc_Minecraft_isDemo($this.$mc8)) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1231));
            if (Long_ge(nms_World_getTotalWorldTime($this.$mc8.$theWorld), Long_fromInt(120500)))
                $var5 = nms_StatCollector_translateToLocal($rt_s(1232));
            else {
                $var5 = nms_StatCollector_translateToLocal($rt_s(1233));
                var$19 = $rt_createArray(jl_Object, 1);
                var$19.data[0] = nms_StringUtils_ticksToElapsedTime(Long_sub(Long_fromInt(120500), nms_World_getTotalWorldTime($this.$mc8.$theWorld)).lo);
                $var5 = jl_String_format($var5, var$19);
            }
            $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 10 | 0;
            $par3 = 5;
            $par4 = 16777215;
            $ptr = 22;
            continue main;
        }
        $this.$mc8.$debug = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nmc_Minecraft_debugFPS), $rt_s(1234)), nmc_Minecraft_debugChunkUpdates), $rt_s(1235)));
        if (!$this.$mc8.$gameSettings.$showDebugInfo) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
            $var5 = nms_RenderGlobal_getDebugInfoShort($this.$mc8.$renderGlobal);
            $par2 = 2;
            $par3 = 2;
            $par4 = 16777215;
            $ptr = 12;
            continue main;
        }
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1236));
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1237)), $this.$mc8.$debug), $rt_s(68)));
        $par2 = 2;
        $par3 = 2;
        $par4 = 16777215;
        $ptr = 13;
        continue main;
    case 37:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1281)), nlea_EaglerAdapterImpl2__wgetShaderHeader()), $rt_s(1282)));
        $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
        $par3 = $var36 + 76 | 0;
        $par4 = 14737632;
        $ptr = 38;
    case 38:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $rt_s(1283);
        $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
        $par3 = $var36 + 100 | 0;
        $par4 = 14737632;
        $ptr = 39;
    case 39:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $rt_s(1284);
        $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
        $par3 = $var36 + 110 | 0;
        $par4 = 14737632;
        $ptr = 40;
    case 40:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $rt_s(249);
        $par2 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
        $par3 = $var36 + 120 | 0;
        $par4 = 14737632;
        $ptr = 41;
    case 41:
        nms_Gui_drawString($this, $var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $i = 0;
        nleg_EffectPipeline_$callClinit();
        if ($i < nleg_EffectPipeline_pipeline.data.length) {
            $var5 = nleg_EffectPipeline_pipeline.data[$i];
            $par3 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
            $par2 = ($var36 + 130 | 0) + ($i * 10 | 0) | 0;
            $par4 = 14737632;
            $ptr = 44;
            continue main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nms_Profiler_endSection($this.$mc8.$mcProfiler);
        if ($this.$recordPlayingUpFor > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1279));
            $var33 = $this.$recordPlayingUpFor - $par1;
            $var12 = $var33 * 256.0 / 20.0 | 0;
            if ($var12 > 255)
                $var12 = 255;
            if ($var12 > 0) {
                nleg_EaglerAdapterGL30_glPushMatrix();
                nleg_EaglerAdapterGL30_glTranslatef($var6 / 2 | 0, $var7 - 48 | 0, 0.0);
                nleg_EaglerAdapterGL30_glEnable(3042);
                nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                $var13 = 16777215;
                if ($this.$recordIsPlaying)
                    $var13 = nms_BiomeGenBase_HSBtoRGB($var33 / 50.0, 0.699999988079071, 0.6000000238418579) & 16777215;
                $var5 = $this.$recordPlaying;
                $par2 =  -nms_FontRenderer_getStringWidth($var8, $this.$recordPlaying) / 2 | 0;
                $par3 = (-4);
                $par4 = $var13 + ($var12 << 24) | 0;
                $ptr = 45;
                continue main;
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        $var42 = nms_Scoreboard_func_96539_a(nms_World_getScoreboard($this.$mc8.$theWorld), 1);
        if ($var42 !== null) {
            $ptr = 43;
            continue main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, $var7 - 48 | 0, 0.0);
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1280));
        $var5 = $this.$persistantChatGUI;
        $par2 = $this.$updateCounter;
        $ptr = 42;
    case 42:
        b: {
            nms_GuiNewChat_drawChat($var5, $par2);
            if ($rt_suspending()) {
                break main;
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
            nleg_EaglerAdapterGL30_glPopMatrix();
            $var5 = nms_Scoreboard_func_96539_a(nms_World_getScoreboard($this.$mc8.$theWorld), 0);
            if ($this.$mc8.$gameSettings.$keyBindPlayerList.$pressed && !(nmc_Minecraft_isIntegratedServerRunning($this.$mc8) && ju_ArrayList_size($this.$mc8.$thePlayer.$sendQueue.$playerInfoList) <= 1 && $var5 === null)) {
                nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1285));
                $var38 = $this.$mc8.$thePlayer.$sendQueue;
                $var43 = $var38.$playerInfoList;
                $var36 = $var38.$currentServerMaxPlayers;
                $var16 = 1;
                $par2 = $var36;
                while ($par2 > 20) {
                    $var16 = $var16 + 1 | 0;
                    $par2 = (($var36 + $var16 | 0) - 1 | 0) / $var16 | 0;
                }
                $var17 = 300 / $var16 | 0;
                if ($var17 > 150)
                    $var17 = 150;
                $par3 = $rt_imul($var16, $var17);
                $var18 = ($var6 - $par3 | 0) / 2 | 0;
                $var46 = 10;
                nms_Gui_drawRect($var18 - 1 | 0, 9, $var18 + $par3 | 0, $var46 + (9 * $par2 | 0) | 0, (-2147483648));
                $var20 = 0;
                while (true) {
                    if ($var20 >= $var36)
                        break b;
                    $var47 = $var18 + $rt_imul($var20 % $var16 | 0, $var17) | 0;
                    $var22 = $var46 + (($var20 / $var16 | 0) * 9 | 0) | 0;
                    $par4 = $var47 + $var17 | 0;
                    nms_Gui_drawRect($var47, $var22, $par4 - 1 | 0, $var22 + 8 | 0, 553648127);
                    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                    nleg_EaglerAdapterGL30_glEnable(3008);
                    if ($var20 < ju_ArrayList_size($var43)) {
                        $var48 = ju_ArrayList_get($var43, $var20);
                        $var51 = nms_ScorePlayerTeam_func_96667_a(nms_Scoreboard_getPlayersTeam(nms_World_getScoreboard($this.$mc8.$theWorld), $var48.$name10), $var48.$name10);
                        $par2 = 16777215;
                        $ptr = 46;
                        continue main;
                    }
                    $var20 = $var20 + 1 | 0;
                }
            }
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glEnable(3008);
        return;
    case 43:
        nms_GuiIngame_func_96136_a($this, $var42, $var7, $var6, $var8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, $var7 - 48 | 0, 0.0);
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1280));
        $var5 = $this.$persistantChatGUI;
        $par2 = $this.$updateCounter;
        $ptr = 42;
        continue main;
    case 44:
        nms_Gui_drawString($this, $var8, $var5, $par3, $par2, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $i = $i + 1 | 0;
        nleg_EffectPipeline_$callClinit();
        if ($i < nleg_EffectPipeline_pipeline.data.length) {
            $var5 = nleg_EffectPipeline_pipeline.data[$i];
            $par3 = ($var6 - nms_FontRenderer_getStringWidth($var8, $var5) | 0) - 2 | 0;
            $par2 = ($var36 + 130 | 0) + ($i * 10 | 0) | 0;
            $par4 = 14737632;
            continue main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nms_Profiler_endSection($this.$mc8.$mcProfiler);
        if ($this.$recordPlayingUpFor > 0) {
            nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1279));
            $var33 = $this.$recordPlayingUpFor - $par1;
            $var12 = $var33 * 256.0 / 20.0 | 0;
            if ($var12 > 255)
                $var12 = 255;
            if ($var12 > 0) {
                nleg_EaglerAdapterGL30_glPushMatrix();
                nleg_EaglerAdapterGL30_glTranslatef($var6 / 2 | 0, $var7 - 48 | 0, 0.0);
                nleg_EaglerAdapterGL30_glEnable(3042);
                nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                $var13 = 16777215;
                if ($this.$recordIsPlaying)
                    $var13 = nms_BiomeGenBase_HSBtoRGB($var33 / 50.0, 0.699999988079071, 0.6000000238418579) & 16777215;
                $var5 = $this.$recordPlaying;
                $par2 =  -nms_FontRenderer_getStringWidth($var8, $this.$recordPlaying) / 2 | 0;
                $par3 = (-4);
                $par4 = $var13 + ($var12 << 24) | 0;
                $ptr = 45;
                continue main;
            }
            nms_Profiler_endSection($this.$mc8.$mcProfiler);
        }
        $var42 = nms_Scoreboard_func_96539_a(nms_World_getScoreboard($this.$mc8.$theWorld), 1);
        if ($var42 !== null) {
            $ptr = 43;
            continue main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, $var7 - 48 | 0, 0.0);
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1280));
        $var5 = $this.$persistantChatGUI;
        $par2 = $this.$updateCounter;
        $ptr = 42;
        continue main;
    case 45:
        nms_FontRenderer_drawString($var8, $var5, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nms_Profiler_endSection($this.$mc8.$mcProfiler);
        $var42 = nms_Scoreboard_func_96539_a(nms_World_getScoreboard($this.$mc8.$theWorld), 1);
        if ($var42 !== null) {
            $ptr = 43;
            continue main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, $var7 - 48 | 0, 0.0);
        nms_Profiler_startSection($this.$mc8.$mcProfiler, $rt_s(1280));
        $var5 = $this.$persistantChatGUI;
        $par2 = $this.$updateCounter;
        $ptr = 42;
        continue main;
    case 46:
        nms_FontRenderer_drawStringWithShadow($var8, $var51, $var47, $var22, $par2);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5 !== null) {
            $var26 = ($var47 + nms_FontRenderer_getStringWidth($var8, $var51) | 0) + 5 | 0;
            $var52 = ($par4 - 12 | 0) - 5 | 0;
            if (($var52 - $var26 | 0) > 5) {
                $var55 = nms_Scoreboard_func_96529_a(nms_ScoreObjective_getScoreboard($var5), $var48.$name10, $var5);
                $var57 = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append9(jl_StringBuilder__init_(), nms_EnumChatFormatting_YELLOW), $rt_s(36)), nms_Score_func_96652_c($var55)));
                $par2 = $var52 - nms_FontRenderer_getStringWidth($var8, $var57) | 0;
                $par3 = 16777215;
                $ptr = 48;
                continue main;
            }
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var45 = $this.$mc8.$renderEngine;
        $var42 = $rt_s(1286);
        $ptr = 47;
    case 47:
        nms_RenderEngine_bindTexture0($var45, $var42);
        if ($rt_suspending()) {
            break main;
        }
        $var27 = $var48.$responseTime < 0 ? 5 : $var48.$responseTime < 150 ? 0 : $var48.$responseTime < 300 ? 1 : $var48.$responseTime < 600 ? 2 : $var48.$responseTime >= 1000 ? 4 : 3;
        $this.$zLevel = $this.$zLevel + 100.0;
        nms_Gui_drawTexturedModalRect($this, $par4 - 12 | 0, $var22, 0, 176 + ($var27 * 8 | 0) | 0, 10, 8);
        $this.$zLevel = $this.$zLevel - 100.0;
        while (true) {
            $var20 = $var20 + 1 | 0;
            if ($var20 >= $var36)
                break;
            $var47 = $var18 + $rt_imul($var20 % $var16 | 0, $var17) | 0;
            $var22 = $var46 + (($var20 / $var16 | 0) * 9 | 0) | 0;
            $par4 = $var47 + $var17 | 0;
            nms_Gui_drawRect($var47, $var22, $par4 - 1 | 0, $var22 + 8 | 0, 553648127);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glEnable(3008);
            if ($var20 >= ju_ArrayList_size($var43))
                continue;
            else {
                $var48 = ju_ArrayList_get($var43, $var20);
                $var51 = nms_ScorePlayerTeam_func_96667_a(nms_Scoreboard_getPlayersTeam(nms_World_getScoreboard($this.$mc8.$theWorld), $var48.$name10), $var48.$name10);
                $par2 = 16777215;
                $ptr = 46;
                continue main;
            }
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glEnable(3008);
        return;
    case 48:
        nms_FontRenderer_drawStringWithShadow($var8, $var57, $par2, $var22, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var45 = $this.$mc8.$renderEngine;
        $var42 = $rt_s(1286);
        $ptr = 47;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, $var6, $var7, $var8, $var33, $var9, $var10, $var32, $var12, $var34, $var36, $var40, $var35, $var13, var$19, $var31, $var11, $var15, $var16, $var19, $var22, $var23, $var47, $var24, $var25, $i, $var26, $var27, $var28, $var30, $var17, $var52, $var53, $var29, $var18, $var20, $offset, $offset2, $str, $var45, $var39, $var37, $var44, $var42, $var38, $var43, $var46, $var48, $var51, $var55, $var57, $ptr);
}
function nms_GuiIngame_doubleToShorterString($d) {
    var $s, $i;
    $s = jl_Double_toString($d);
    $i = jl_String_indexOf0($s, 46);
    if ((jl_String_length($s) - $i | 0) > 6)
        $s = jl_String_substring0($s, 0, $i + 6 | 0);
    return $s;
}
function nms_GuiIngame_func_96136_a($this, $par1ScoreObjective, $par2, $par3, $par4FontRenderer) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var13, $var23, $var25, $var12, $var20, $var14, $var16, $var21, $var17, $var19, $var22, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var22 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var21 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var20 = $thread.pop();$var12 = $thread.pop();$var25 = $thread.pop();$var23 = $thread.pop();$var13 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4FontRenderer = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1ScoreObjective
        = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $par1ScoreObjective.$theScoreboard;
        $var6 = nms_Scoreboard_func_96534_i($var5, $par1ScoreObjective);
        if ($var6.$size <= 15) {
            $var7 = nms_FontRenderer_getStringWidth($par4FontRenderer, $par1ScoreObjective.$displayName);
            $var8 = ju_AbstractList_iterator($var6);
            while (ju_AbstractList$1_hasNext($var8)) {
                $var9 = ju_AbstractList$1_next($var8);
                $var10 = nms_Scoreboard_getPlayersTeam($var5, $var9.$field_96654_d);
                $var13 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var13);
                jl_AbstractStringBuilder_append($var13, nms_ScorePlayerTeam_func_96667_a($var10, $var9.$field_96654_d));
                jl_AbstractStringBuilder_append($var13, $rt_s(49));
                jl_AbstractStringBuilder_append1($var13, nms_EnumChatFormatting_RED);
                jl_AbstractStringBuilder_append2($var13, $var9.$field_96655_e);
                $var7 = jl_Math_max($var7, nms_FontRenderer_getStringWidth($par4FontRenderer, jl_AbstractStringBuilder_toString($var13)));
            }
            $var23 = ($par2 / 2 | 0) + ($rt_imul($var6.$size, $par4FontRenderer.$FONT_HEIGHT) / 3 | 0) | 0;
            $var25 = ($par3 - $var7 | 0) - 3 | 0;
            $var12 = 0;
            $var13 = ju_AbstractList_iterator($var6);
            $var20 = ($par3 - 3 | 0) + 2 | 0;
            $par3 = $var25 - 2 | 0;
            if (ju_AbstractList$1_hasNext($var13)) {
                $var14 = ju_AbstractList$1_next($var13);
                $var12 = $var12 + 1 | 0;
                $var16 = nms_ScorePlayerTeam_func_96667_a(nms_Scoreboard_getPlayersTeam($var5, $var14.$field_96654_d), $var14.$field_96654_d);
                $var21 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var21);
                jl_AbstractStringBuilder_append1($var21, nms_EnumChatFormatting_RED);
                jl_AbstractStringBuilder_append($var21, $rt_s(36));
                jl_AbstractStringBuilder_append2($var21, $var14.$field_96655_e);
                $var17 = jl_AbstractStringBuilder_toString($var21);
                $var19 = $var23 - $rt_imul($var12, $par4FontRenderer.$FONT_HEIGHT) | 0;
                nms_Gui_drawRect($par3, $var19, $var20, $var19 + $par4FontRenderer.$FONT_HEIGHT | 0, 1342177280);
                $par2 = 553648127;
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        nms_FontRenderer_drawString($par4FontRenderer, $var16, $var25, $var19, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $var20 - nms_FontRenderer_getStringWidth($par4FontRenderer, $var17) | 0;
        $var22 = 553648127;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawString($par4FontRenderer, $var17, $par2, $var19, $var22);
        if ($rt_suspending()) {
            break main;
        }
        if ($var12 == $var6.$size) {
            $var21 = $par1ScoreObjective.$displayName;
            $par2 = ($var19 - $par4FontRenderer.$FONT_HEIGHT | 0) - 1 | 0;
            $var22 = $var19 - 1 | 0;
            nms_Gui_drawRect($par3, $par2, $var20, $var22, 1610612736);
            nms_Gui_drawRect($par3, $var22, $var20, $var19, 1342177280);
            $par2 = ($var25 + ($var7 / 2 | 0) | 0) - (nms_FontRenderer_getStringWidth($par4FontRenderer, $var21) / 2 | 0) | 0;
            $var19 = $var19 - $par4FontRenderer.$FONT_HEIGHT | 0;
            $var22 = 553648127;
            $ptr = 3;
            continue main;
        }
        if (!ju_AbstractList$1_hasNext($var13))
            return;
        $var14 = ju_AbstractList$1_next($var13);
        $var12 = $var12 + 1 | 0;
        $var16 = nms_ScorePlayerTeam_func_96667_a(nms_Scoreboard_getPlayersTeam($var5, $var14.$field_96654_d), $var14.$field_96654_d);
        $var21 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var21);
        jl_AbstractStringBuilder_append1($var21, nms_EnumChatFormatting_RED);
        jl_AbstractStringBuilder_append($var21, $rt_s(36));
        jl_AbstractStringBuilder_append2($var21, $var14.$field_96655_e);
        $var17 = jl_AbstractStringBuilder_toString($var21);
        $var19 = $var23 - $rt_imul($var12, $par4FontRenderer.$FONT_HEIGHT) | 0;
        nms_Gui_drawRect($par3, $var19, $var20, $var19 + $par4FontRenderer.$FONT_HEIGHT | 0, 1342177280);
        $par2 = 553648127;
        $ptr = 1;
        continue main;
    case 3:
        nms_FontRenderer_drawString($par4FontRenderer, $var21, $par2, $var19, $var22);
        if ($rt_suspending()) {
            break main;
        }
        if (!ju_AbstractList$1_hasNext($var13))
            return;
        $var14 = ju_AbstractList$1_next($var13);
        $var12 = $var12 + 1 | 0;
        $var16 = nms_ScorePlayerTeam_func_96667_a(nms_Scoreboard_getPlayersTeam($var5, $var14.$field_96654_d), $var14.$field_96654_d);
        $var21 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var21);
        jl_AbstractStringBuilder_append1($var21, nms_EnumChatFormatting_RED);
        jl_AbstractStringBuilder_append($var21, $rt_s(36));
        jl_AbstractStringBuilder_append2($var21, $var14.$field_96655_e);
        $var17 = jl_AbstractStringBuilder_toString($var21);
        $var19 = $var23 - $rt_imul($var12, $par4FontRenderer.$FONT_HEIGHT) | 0;
        nms_Gui_drawRect($par3, $var19, $var20, $var19 + $par4FontRenderer.$FONT_HEIGHT | 0, 1342177280);
        $par2 = 553648127;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ScoreObjective, $par2, $par3, $par4FontRenderer, $var5, $var6, $var7, $var8, $var9, $var10, $var13, $var23, $var25, $var12, $var20, $var14, $var16, $var21, $var17, $var19, $var22, $ptr);
}
function nms_GuiIngame_renderBossHealth($this) {
    var $var1, $var3, $var5, $var6, $var8, var$6, $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();var$6 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_BossStatus_bossName !== null && nms_BossStatus_statusBarLength > 0) {
            nms_BossStatus_statusBarLength = nms_BossStatus_statusBarLength - 1 | 0;
            $var1 = $this.$mc8.$fontRenderer;
            $var3 = nms_ScaledResolution__init_($this.$mc8.$gameSettings, $this.$mc8.$displayWidth, $this.$mc8.$displayHeight).$scaledWidth / 2 | 0;
            $var5 = $var3 - 91 | 0;
            $var6 = nms_BossStatus_healthScale * 183.0 | 0;
            nms_Gui_drawTexturedModalRect($this, $var5, 12, 0, 74, 182, 5);
            nms_Gui_drawTexturedModalRect($this, $var5, 12, 0, 74, 182, 5);
            if ($var6 > 0)
                nms_Gui_drawTexturedModalRect($this, $var5, 12, 0, 79, $var6, 5);
            $var8 = nms_BossStatus_bossName;
            var$6 = $var3 - (nms_FontRenderer_getStringWidth($var1, $var8) / 2 | 0) | 0;
            $var4 = 2;
            $var3 = 16777215;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        nms_FontRenderer_drawStringWithShadow($var1, $var8, var$6, $var4, $var3);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var1 = nms_GuiIngame_tex_icons;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture($var1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var3, $var5, $var6, $var8, var$6, $var4, $ptr);
}
function nms_GuiIngame_renderPumpkinBlur($this, $par1, $par2) {
    var $var3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glDisable(2929);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3008);
        $var3 = nms_GuiIngame_tex_pumpkin;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var3);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var3 = nlea_Tessellator_instance;
        nlea_Tessellator_startDrawingQuads($var3);
        var$4 = $par2;
        nlea_Tessellator_addVertexWithUV($var3, 0.0, var$4, (-90.0), 0.0, 1.0);
        var$5 = $par1;
        nlea_Tessellator_addVertexWithUV($var3, var$5, var$4, (-90.0), 1.0, 1.0);
        nlea_Tessellator_addVertexWithUV($var3, var$5, 0.0, (-90.0), 1.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var3, 0.0, 0.0, (-90.0), 0.0, 0.0);
        nlea_Tessellator_draw($var3);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glEnable(2929);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, var$4, var$5, $ptr);
}
function nms_GuiIngame_renderVignette($this, $par1, $par2, $par3) {
    var $var4, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1 = 1.0 - $par1 * 0.5;
        if ($par1 < 0.0)
            $par1 = 0.0;
        if ($par1 > 1.0)
            $par1 = 1.0;
        $this.$prevVignetteBrightness = $this.$prevVignetteBrightness + ($par1 - $this.$prevVignetteBrightness) * 0.01;
        nleg_EaglerAdapterGL30_glDisable(2929);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        nleg_EaglerAdapterGL30_glBlendFunc(0, 769);
        nleg_EaglerAdapterGL30_glColor4f($this.$prevVignetteBrightness, $this.$prevVignetteBrightness, $this.$prevVignetteBrightness, 1.0);
        $var4 = nms_GuiIngame_tex_vigg;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var4);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var4 = nlea_Tessellator_instance;
        nlea_Tessellator_startDrawingQuads($var4);
        var$5 = $par3;
        nlea_Tessellator_addVertexWithUV($var4, 0.0, var$5, (-90.0), 0.0, 1.0);
        var$6 = $par2;
        nlea_Tessellator_addVertexWithUV($var4, var$6, var$5, (-90.0), 1.0, 1.0);
        nlea_Tessellator_addVertexWithUV($var4, var$6, 0.0, (-90.0), 1.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var4, 0.0, 0.0, (-90.0), 0.0, 0.0);
        nlea_Tessellator_draw($var4);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glEnable(2929);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, var$5, var$6, $ptr);
}
function nms_GuiIngame_renderPortalOverlay($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 < 1.0) {
            $par1 = $par1 * $par1;
            $par1 = $par1 * $par1 * 0.800000011920929 + 0.20000000298023224;
        }
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glDisable(2929);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, $par1);
        $var4 = nms_GuiIngame_terrain;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var4);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        nms_Block_$callClinit();
        $var4 = nms_Block_getBlockTextureFromSide(nms_Block_portal, 1);
        $var5 = $var4.$getMinU();
        $var6 = $var4.$getMinV();
        $var7 = $var4.$getMaxU();
        $var8 = $var4.$getMaxV();
        nlea_Tessellator_$callClinit();
        $var9 = nlea_Tessellator_instance;
        nlea_Tessellator_startDrawingQuads($var9);
        var$10 = $par3;
        var$11 = $var5;
        var$12 = $var8;
        nlea_Tessellator_addVertexWithUV($var9, 0.0, var$10, (-90.0), var$11, var$12);
        var$13 = $par2;
        var$14 = $var7;
        nlea_Tessellator_addVertexWithUV($var9, var$13, var$10, (-90.0), var$14, var$12);
        var$12 = $var6;
        nlea_Tessellator_addVertexWithUV($var9, var$13, 0.0, (-90.0), var$14, var$12);
        nlea_Tessellator_addVertexWithUV($var9, 0.0, 0.0, (-90.0), var$11, var$12);
        nlea_Tessellator_draw($var9);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glEnable(2929);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, var$12, var$13, var$14, $ptr);
}
function nms_GuiIngame_renderInventorySlot($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6, $var7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $this.$mc8.$thePlayer.$inventory.$mainInventory.data[$par1];
        if ($var5 === null)
            return;
        $var6 = $var5.$animationsToGo - $par4;
        $par1 = $rt_compare($var6, 0.0);
        if ($par1 > 0) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            $var7 = 1.0 + $var6 / 5.0;
            var$8 = $par2 + 8 | 0;
            var$9 = var$8;
            var$10 = $par3 + 12 | 0;
            nleg_EaglerAdapterGL30_glTranslatef(var$9, var$10, 0.0);
            nleg_EaglerAdapterGL30_glScalef(1.0 / $var7, ($var7 + 1.0) / 2.0, 1.0);
            nleg_EaglerAdapterGL30_glTranslatef( -var$8,  -var$10, 0.0);
        }
        if (nms_GuiIngame_itemRenderer === null)
            nms_GuiIngame_itemRenderer = nms_RenderItem__init_0();
        var$11 = nms_GuiIngame_itemRenderer;
        var$12 = $this.$mc8.$fontRenderer;
        var$13 = $this.$mc8.$renderEngine;
        $ptr = 1;
    case 1:
        nms_RenderItem_renderItemAndEffectIntoGUI(var$11, var$12, var$13, $var5, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        if ($par1 > 0)
            nleg_EaglerAdapterGL30_glPopMatrix();
        var$11 = nms_GuiIngame_itemRenderer;
        var$12 = $this.$mc8.$fontRenderer;
        var$13 = $this.$mc8.$renderEngine;
        $ptr = 2;
    case 2:
        nms_RenderItem_renderItemOverlayIntoGUI(var$11, var$12, var$13, $var5, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, $var6, $var7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
}
function nms_GuiIngame_updateTick($this) {
    var $var1;
    if ($this.$recordPlayingUpFor > 0)
        $this.$recordPlayingUpFor = $this.$recordPlayingUpFor - 1 | 0;
    $this.$updateCounter = $this.$updateCounter + 1 | 0;
    if ($this.$mc8.$thePlayer !== null) {
        a: {
            $var1 = nms_InventoryPlayer_getCurrentItem($this.$mc8.$thePlayer.$inventory);
            if ($var1 === null)
                $this.$remainingHighlightTicks = 0;
            else {
                b: {
                    if ($this.$highlightingItemStack !== null && $var1.$itemID0 == $this.$highlightingItemStack.$itemID0 && nms_ItemStack_areItemStackTagsEqual($var1, $this.$highlightingItemStack)) {
                        if (nms_ItemStack_isItemStackDamageable($var1))
                            break b;
                        if ($var1.$itemDamage == $this.$highlightingItemStack.$itemDamage)
                            break b;
                    }
                    $this.$remainingHighlightTicks = 40;
                    break a;
                }
                if ($this.$remainingHighlightTicks > 0)
                    $this.$remainingHighlightTicks = $this.$remainingHighlightTicks - 1 | 0;
            }
        }
        $this.$highlightingItemStack = $var1;
    }
}
function nms_GuiIngame_setRecordPlayingMessage($this, $par1Str) {
    var var$2;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(1287));
    jl_AbstractStringBuilder_append(var$2, $par1Str);
    $this.$recordPlaying = jl_AbstractStringBuilder_toString(var$2);
    $this.$recordPlayingUpFor = 60;
    $this.$recordIsPlaying = 1;
}
function nms_GuiIngame_getChatGUI($this) {
    return $this.$persistantChatGUI;
}
function nms_GuiIngame_getUpdateCounter($this) {
    return $this.$updateCounter;
}
function nms_GuiIngame__clinit_() {
    nms_GuiIngame_itemRenderer = null;
    nms_GuiIngame_tex_gui = nle_TextureLocation__init_($rt_s(532));
    nms_GuiIngame_tex_icons = nle_TextureLocation__init_($rt_s(1286));
    nms_GuiIngame_tex_pumpkin = nle_TextureLocation__init_($rt_s(1288));
    nms_GuiIngame_tex_vigg = nle_TextureLocation__init_($rt_s(1289));
    nms_GuiIngame_terrain = nle_TextureLocation__init_($rt_s(985));
}
function nms_StringTranslate() {
    var a = this; jl_Object.call(a);
    a.$translateTable = null;
    a.$languageList = null;
    a.$field_94521_d = null;
    a.$currentLanguage = null;
    a.$isUnicode = 0;
}
var nms_StringTranslate_instance = null;
function nms_StringTranslate_getInstance() {
    return nms_StringTranslate_instance;
}
function nms_StringTranslate_getLanguageList($this) {
    return $this.$languageList;
}
function nms_StringTranslate_loadLanguage($this, $par1Properties, $par2Str) {
    var var$3, $var4, var$5, $var5;
    var$3 = new ji_BufferedReader;
    $var4 = new ji_InputStreamReader;
    var$5 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$5);
    jl_AbstractStringBuilder_append(var$5, $rt_s(1290));
    jl_AbstractStringBuilder_append(var$5, $par2Str);
    jl_AbstractStringBuilder_append(var$5, $rt_s(1291));
    ji_InputStreamReader__init_0($var4, nlea_EaglerAdapterImpl2_loadResource(jl_AbstractStringBuilder_toString(var$5)), $rt_s(62));
    ji_BufferedReader__init_0(var$3, $var4);
    $var4 = ji_BufferedReader_readLine(var$3);
    while ($var4 !== null) {
        $par2Str = jl_String_trim($var4);
        if (!jl_String_startsWith0($par2Str, $rt_s(307))) {
            $var5 = jl_String_split($par2Str, $rt_s(843));
            if ($var5 !== null) {
                $var5 = $var5.data;
                if ($var5.length == 2)
                    ju_Hashtable_put($par1Properties, $var5[0], $var5[1]);
            }
        }
        $var4 = ji_BufferedReader_readLine(var$3);
    }
}
function nms_StringTranslate_setLanguage($this, $par1Str, $par2) {
    var $var3, $$je;
    jl_Object_monitorEnterSync($this);
    try {
        if (!(!$par2 && jl_String_equals($par1Str, $this.$currentLanguage))) {
            $var3 = new ju_Properties;
            ju_Hashtable__init_($var3);
            a: {
                try {
                    nms_StringTranslate_loadLanguage($this, $var3, $rt_s(872));
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            }
            $this.$isUnicode = 0;
            $this.$currentLanguage = $par1Str;
            $this.$translateTable = $var3;
        }
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function nms_StringTranslate_getCurrentLanguage($this) {
    return $this.$currentLanguage;
}
function nms_StringTranslate_isUnicode($this) {
    return $this.$isUnicode;
}
function nms_StringTranslate_translateKey($this, $par1Str) {
    jl_Object_monitorEnterSync($this);
    try {
        return ju_Properties_getProperty($this.$translateTable, $par1Str, $par1Str);
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function nms_StringTranslate_translateKeyFormat($this, $par1Str, $par2ArrayOfObj) {
    var $var3, $$je;
    jl_Object_monitorEnterSync($this);
    try {
        $var3 = ju_Properties_getProperty($this.$translateTable, $par1Str, $par1Str);
        a: {
            try {
                $par1Str = jl_String_format($var3, $par2ArrayOfObj);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ju_IllegalFormatException) {
                    break a;
                } else {
                    throw $$e;
                }
            }
            return $par1Str;
        }
        $par1Str = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1Str);
        jl_AbstractStringBuilder_append($par1Str, $rt_s(1292));
        jl_AbstractStringBuilder_append($par1Str, $var3);
        return jl_AbstractStringBuilder_toString($par1Str);
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function nms_StringTranslate_translateNamedKey($this, $par1Str) {
    var var$2, var$3;
    jl_Object_monitorEnterSync($this);
    try {
        var$2 = $this.$translateTable;
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $par1Str);
        jl_AbstractStringBuilder_append(var$3, $rt_s(1021));
        return ju_Properties_getProperty(var$2, jl_AbstractStringBuilder_toString(var$3), $rt_s(36));
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
function nms_StringTranslate_isBidirectional($par0Str) {
    return !jl_String_equals($rt_s(1293), $par0Str) && !jl_String_equals($rt_s(1294), $par0Str) ? 0 : 1;
}
function nms_StringTranslate__clinit_() {
    var var$1, var$2;
    var$1 = new nms_StringTranslate;
    var$2 = new ju_Properties;
    ju_Hashtable__init_(var$2);
    var$1.$translateTable = var$2;
    var$1.$field_94521_d = ju_TreeMap__init_0();
    var$1.$languageList = ju_TreeMap__init_0();
    ju_TreeMap_put(var$1.$languageList, $rt_s(872), $rt_s(1295));
    nms_StringTranslate_instance = var$1;
}
function nms_GuiConnecting() {
    var a = this; nms_GuiScreen.call(a);
    a.$clientHandler = null;
    a.$networkConnection = null;
    a.$uri = null;
    a.$cancelled = 0;
    a.$field_98098_c = null;
    a.$timer1 = 0;
}
function nms_GuiConnecting__init_0(var_0, var_1, var_2) {
    var var_3 = new nms_GuiConnecting();
    nms_GuiConnecting__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_GuiConnecting__init_($this, $par1GuiScreen, $par2Minecraft, $par3ServerData) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3ServerData = $thread.pop();$par2Minecraft = $thread.pop();$par1GuiScreen = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_GuiScreen__init_($this);
        $this.$cancelled = 0;
        $this.$mc2 = $par2Minecraft;
        $this.$field_98098_c = $par1GuiScreen;
        $this.$clientHandler = null;
        $this.$networkConnection = null;
        $this.$uri = $par3ServerData.$serverIP;
        $par1GuiScreen = null;
        $ptr = 1;
    case 1:
        nmc_Minecraft_loadWorld($par2Minecraft, $par1GuiScreen);
        if ($rt_suspending()) {
            break main;
        }
        $par2Minecraft.$currentServerData = $par3ServerData;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiScreen, $par2Minecraft, $par3ServerData, $ptr);
}
function nms_GuiConnecting_updateScreen($this) {
    var $e, var$2, var$3, var$4, var$5, var$6, $i, $port, $i2, var$10, var$11, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$i2 = $thread.pop();$port = $thread.pop();$i = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$e = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$timer1 > 2 && $this.$clientHandler === null) {
            a: {
                b: {
                    try {
                        if (jl_String_startsWith0($this.$uri, $rt_s(223))) {
                            $e = jl_String_substring($this.$uri, 5);
                            break b;
                        }
                        if (jl_String_startsWith0($this.$uri, $rt_s(224))) {
                            $e = jl_String_substring($this.$uri, 6);
                            break b;
                        }
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_IOException) {
                            $e = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    c: {
                        try {
                            if (!jl_String_contains($this.$uri, $rt_s(529)))
                                break c;
                            var$2 = $this.$mc2;
                            var$3 = new nms_GuiDisconnected;
                            var$4 = $this.$field_98098_c;
                            var$5 = $rt_createArray(jl_Object, 2);
                            var$6 = var$5.data;
                            var$6[0] = $rt_s(1296);
                            var$6[1] = $rt_s(36);
                            nms_GuiDisconnected__init_(var$3, var$4, $rt_s(1297), $rt_s(1298), var$5);
                            nmc_Minecraft_displayGuiScreen(var$2, var$3);
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof ji_IOException) {
                                $e = $$je;
                                break a;
                            } else {
                                throw $$e;
                            }
                        }
                        return;
                    }
                    try {
                        $e = $this.$uri;
                        $this.$uri = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(223)), $this.$uri));
                        break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_IOException) {
                            $e = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
                d: {
                    try {
                        $i = jl_String_lastIndexOf($e, 58);
                        $port = (-1);
                        if ($i <= 0)
                            break d;
                        if (!jl_String_startsWith0($e, $rt_s(346)))
                            break d;
                        if (jl_String_charAt($e, $i - 1 | 0) == 93)
                            break d;
                        $i = (-1);
                        break d;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_IOException) {
                            $e = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
                e: {
                    try {
                        if ($i != (-1))
                            break e;
                        $port = !jl_String_startsWith0($this.$uri, $rt_s(1299)) ? 80 : 443;
                        break e;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_IOException) {
                            $e = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
                f: {
                    try {
                        if (!jl_String_endsWith($e, $rt_s(61)))
                            break f;
                        $e = jl_String_substring0($e, 0, jl_String_length($e) - 1 | 0);
                        break f;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_IOException) {
                            $e = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
                g: {
                    try {
                        if ($port != (-1))
                            break g;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_IOException) {
                            $e = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    h: {
                        try {
                            try {
                                $i2 = jl_String_indexOf0($e, 47);
                                $port = jl_Integer_parseInt(jl_String_substring0($e, $i + 1 | 0, $i2 == (-1) ? jl_String_length($e) : $i2 - 1 | 0));
                                break h;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Throwable) {
                                } else {
                                    throw $$e;
                                }
                            }
                            $e = $this.$mc2;
                            var$10 = new nms_GuiDisconnected;
                            var$11 = $this.$field_98098_c;
                            var$5 = $rt_createArray(jl_Object, 2);
                            var$6 = var$5.data;
                            var$6[0] = $rt_s(1300);
                            var$6[1] = $rt_s(36);
                            nms_GuiDisconnected__init_(var$10, var$11, $rt_s(1297), $rt_s(1298), var$5);
                            nmc_Minecraft_displayGuiScreen($e, var$10);
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof ji_IOException) {
                                $e = $$je;
                                break a;
                            } else {
                                throw $$e;
                            }
                        }
                        return;
                    }
                    try {
                        break g;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_IOException) {
                            $e = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
                i: {
                    try {
                        var$10 = new nms_NetClientHandler;
                        var$11 = $this.$mc2;
                        nms_GameSettings_$callClinit();
                        if (!jl_String_equals(nms_GameSettings_proxy, $rt_s(36)) && nms_GameSettings_useProxy) {
                            var$2 = $e;
                            break i;
                        }
                        var$2 = $this.$uri;
                        break i;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof ji_IOException) {
                            $e = $$je;
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
                try {
                    $i = 0;
                    $ptr = 2;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        $e = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            j: {
                try {
                    nms_NetClientHandler_disconnect($this.$clientHandler);
                    break j;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            jl_Throwable_printStackTrace($e);
            nms_GuiConnecting_showDisconnectScreen($this, jl_Throwable_toString($e));
        }
        if ($this.$clientHandler === null) {
            if ($this.$timer1 > 5 && !nlea_EaglerAdapterImpl2_connectionOpen() && $this.$mc2.$currentScreen === $this)
                nms_GuiConnecting_showDisconnectScreen($this, $rt_s(36));
            $this.$timer1 = $this.$timer1 + 1 | 0;
            return;
        }
        $e = $this.$clientHandler;
        $ptr = 1;
    case 1:
        nms_NetClientHandler_processReadPackets($e);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$timer1 > 5 && !nlea_EaglerAdapterImpl2_connectionOpen() && $this.$mc2.$currentScreen === $this)
            nms_GuiConnecting_showDisconnectScreen($this, $rt_s(36));
        $this.$timer1 = $this.$timer1 + 1 | 0;
        return;
    case 2:
        k: {
            try {
                nms_NetClientHandler__init_(var$10, var$11, var$2, $i);
                if ($rt_suspending()) {
                    break main;
                }
                $this.$clientHandler = var$10;
                if (nms_GameSettings_useDefaultProtocol) {
                    var$10 = $this.$clientHandler;
                    var$11 = new nms_Packet2ClientProtocol;
                    nle_EaglerProfile_$callClinit();
                    nms_Packet2ClientProtocol__init_0(var$11, 61, nle_EaglerProfile_username, $e, $port);
                    nms_NetClientHandler_addToSendQueue(var$10, var$11);
                } else {
                    var$10 = $this.$clientHandler;
                    var$11 = new nms_Packet2ClientProtocol;
                    nle_EaglerProfile_$callClinit();
                    nms_Packet2ClientProtocol__init_0(var$11, 69, nle_EaglerProfile_username, $e, $port);
                    nms_NetClientHandler_addToSendQueue(var$10, var$11);
                    nms_NetClientHandler_addToSendQueue($this.$clientHandler, nms_Packet250CustomPayload__init_0($rt_s(1301), nle_EaglerProfile_getSkinPacket()));
                }
                break k;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $e = $$je;
                } else {
                    throw $$e;
                }
            }
            l: {
                try {
                    nms_NetClientHandler_disconnect($this.$clientHandler);
                    break l;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                    } else {
                        throw $$e;
                    }
                }
            }
            jl_Throwable_printStackTrace($e);
            nms_GuiConnecting_showDisconnectScreen($this, jl_Throwable_toString($e));
        }
        if ($this.$clientHandler === null) {
            if ($this.$timer1 > 5 && !nlea_EaglerAdapterImpl2_connectionOpen() && $this.$mc2.$currentScreen === $this)
                nms_GuiConnecting_showDisconnectScreen($this, $rt_s(36));
            $this.$timer1 = $this.$timer1 + 1 | 0;
            return;
        }
        $e = $this.$clientHandler;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $e, var$2, var$3, var$4, var$5, var$6, $i, $port, $i2, var$10, var$11, $ptr);
}
function nms_GuiConnecting_showDisconnectScreen($this, $e) {
    var $l, var$3, var$4, var$5, var$6, var$7, var$8;
    $l = nlea_EaglerAdapterImpl2_getRateLimitStatus();
    if ($l === nlea_EaglerAdapterImpl2$RateLimit_NOW_LOCKED)
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiDisconnected__init_0($this.$field_98098_c, $rt_s(1302), $rt_s(1303), null));
    else if ($l === nlea_EaglerAdapterImpl2$RateLimit_LOCKED)
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiDisconnected__init_0($this.$field_98098_c, $rt_s(1304), $rt_s(1303), null));
    else if ($l === nlea_EaglerAdapterImpl2$RateLimit_BLOCKED)
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiDisconnected__init_0($this.$field_98098_c, $rt_s(1305), $rt_s(1303), null));
    else if ($l === nlea_EaglerAdapterImpl2$RateLimit_FAILED_POSSIBLY_LOCKED)
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiDisconnected__init_0($this.$field_98098_c, $rt_s(1306), $rt_s(1303), null));
    else {
        var$3 = $this.$mc2;
        var$4 = new nms_GuiDisconnected;
        var$5 = $this.$field_98098_c;
        var$6 = $rt_createArray(jl_Object, 2);
        var$7 = var$6.data;
        var$8 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$8);
        jl_AbstractStringBuilder_append(var$8, $rt_s(1307));
        jl_AbstractStringBuilder_append(var$8, $this.$uri);
        var$7[0] = jl_AbstractStringBuilder_toString(var$8);
        var$7[1] = $e;
        nms_GuiDisconnected__init_(var$4, var$5, $rt_s(1297), $rt_s(1298), var$6);
        nmc_Minecraft_displayGuiScreen(var$3, var$4);
    }
}
function nms_GuiConnecting_keyTyped($this, $par1, $par2) {
    return;
}
function nms_GuiConnecting_initGui($this) {
    var $var1;
    $var1 = nms_StringTranslate_instance;
    ju_ArrayList_clear($this.$buttonList);
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(0, ($this.$width / 2 | 0) - 100 | 0, (($this.$height / 4 | 0) + 120 | 0) + 12 | 0, nms_StringTranslate_translateKey($var1, $rt_s(1308))));
}
function nms_GuiConnecting_actionPerformed($this, $par1GuiButton) {
    if (!$par1GuiButton.$id3) {
        $this.$cancelled = 1;
        if ($this.$clientHandler !== null)
            nms_NetClientHandler_disconnect($this.$clientHandler);
        nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$field_98098_c);
    }
}
function nms_GuiConnecting_drawScreen($this, $par1, $par2, $par3) {
    var $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = nms_StringTranslate_instance;
        if ($this.$clientHandler !== null) {
            var$5 = $this.$fontRenderer0;
            var$6 = nms_StringTranslate_translateKey($var4, $rt_s(1309));
            var$7 = $this.$width / 2 | 0;
            var$8 = ($this.$height / 2 | 0) - 50 | 0;
            var$9 = 16777215;
            $ptr = 2;
            continue main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var4, $rt_s(1310));
        var$7 = $this.$width / 2 | 0;
        var$8 = ($this.$height / 2 | 0) - 50 | 0;
        var$9 = 16777215;
        $ptr = 4;
        continue main;
    case 2:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = $this.$clientHandler.$field_72560_a;
        var$7 = $this.$width / 2 | 0;
        var$8 = ($this.$height / 2 | 0) - 10 | 0;
        var$9 = 16777215;
        $ptr = 3;
    case 3:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 6;
        continue main;
    case 4:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = $rt_s(36);
        var$7 = $this.$width / 2 | 0;
        var$8 = ($this.$height / 2 | 0) - 10 | 0;
        var$9 = 16777215;
        $ptr = 5;
    case 5:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 6;
    case 6:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
}
function nms_IProgressUpdate() {
}
function nms_LoadingScreenRenderer() {
    var a = this; jl_Object.call(a);
    a.$field_73727_a = null;
    a.$mc10 = null;
    a.$currentlyDisplayedText = null;
    a.$field_73723_d = Long_ZERO;
    a.$field_73724_e = 0;
}
var nms_LoadingScreenRenderer_background = null;
function nms_LoadingScreenRenderer__init_(var_0) {
    var var_1 = new nms_LoadingScreenRenderer();
    nms_LoadingScreenRenderer__init_0(var_1, var_0);
    return var_1;
}
function nms_LoadingScreenRenderer__init_0($this, $par1Minecraft) {
    $this.$field_73727_a = $rt_s(36);
    $this.$currentlyDisplayedText = $rt_s(36);
    $this.$field_73723_d = jl_System_currentTimeMillis();
    $this.$field_73724_e = 0;
    $this.$mc10 = $par1Minecraft;
}
function nms_LoadingScreenRenderer_resetProgressAndMessage($this, $par1Str) {
    $this.$field_73724_e = 0;
    nms_LoadingScreenRenderer_func_73722_d($this, $par1Str);
}
function nms_LoadingScreenRenderer_func_73722_d($this, $par1Str) {
    var $var2;
    a: {
        $this.$currentlyDisplayedText = $par1Str;
        if (!$this.$mc10.$running) {
            if ($this.$field_73724_e)
                break a;
            $par1Str = new nms_MinecraftError;
            jl_Throwable__init_0($par1Str);
            $rt_throw($par1Str);
        }
        $var2 = nms_ScaledResolution__init_($this.$mc10.$gameSettings, $this.$mc10.$displayWidth, $this.$mc10.$displayHeight);
        nleg_EaglerAdapterGL30_glClear(256);
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glOrtho(0.0, $var2.$scaledWidth, $var2.$scaledHeight, 0.0, 100.0, 300.0);
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-200.0));
    }
}
function nms_LoadingScreenRenderer_resetProgresAndWorkingMessage($this, $par1Str) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$mc10.$running) {
            if ($this.$field_73724_e)
                return;
            $par1Str = new nms_MinecraftError;
            jl_Throwable__init_0($par1Str);
            $rt_throw($par1Str);
        }
        $this.$field_73723_d = Long_ZERO;
        $this.$field_73727_a = $par1Str;
        var$2 = (-1);
        $ptr = 1;
    case 1:
        nms_LoadingScreenRenderer_setLoadingProgress($this, var$2);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_73723_d = Long_ZERO;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, var$2, $ptr);
}
function nms_LoadingScreenRenderer_setLoadingProgress($this, $par1) {
    var $var4, $var2, $var5, $var6, $var7, var$7, var$8, var$9, var$10, $var11, $var12, var$13, $var10, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var10 = $thread.pop();var$13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var2 = $thread.pop();$var4 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if (!$this.$mc10.$running) {
                if ($this.$field_73724_e)
                    break a;
                $var4 = new nms_MinecraftError;
                jl_Throwable__init_0($var4);
                $rt_throw($var4);
            }
            $var2 = jl_System_currentTimeMillis();
            if (Long_ge(Long_sub($var2, $this.$field_73723_d), Long_fromInt(100))) {
                $this.$field_73723_d = $var2;
                $var4 = nms_ScaledResolution__init_($this.$mc10.$gameSettings, $this.$mc10.$displayWidth, $this.$mc10.$displayHeight);
                $var5 = $var4.$scaledWidth;
                $var6 = $var4.$scaledHeight;
                nleg_EaglerAdapterGL30_glClear(256);
                nleg_EaglerAdapterGL30_glMatrixMode(5889);
                nleg_EaglerAdapterGL30_glLoadIdentity();
                nleg_EaglerAdapterGL30_glOrtho(0.0, $var4.$scaledWidth, $var4.$scaledHeight, 0.0, 100.0, 300.0);
                nleg_EaglerAdapterGL30_glMatrixMode(5888);
                nleg_EaglerAdapterGL30_glLoadIdentity();
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-200.0));
                nleg_EaglerAdapterGL30_glClear(16640);
                nlea_Tessellator_$callClinit();
                $var7 = nlea_Tessellator_instance;
                $var4 = nms_LoadingScreenRenderer_background;
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        nle_TextureLocation_bindTexture($var4);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_startDrawingQuads($var7);
        nlea_Tessellator_setColorOpaque_I($var7, 4210752);
        var$7 = $var6;
        var$8 = $var6 / 32.0;
        nlea_Tessellator_addVertexWithUV($var7, 0.0, var$7, 0.0, 0.0, var$8);
        var$9 = $var5;
        var$10 = $var5 / 32.0;
        nlea_Tessellator_addVertexWithUV($var7, var$9, var$7, 0.0, var$10, var$8);
        nlea_Tessellator_addVertexWithUV($var7, var$9, 0.0, 0.0, var$10, 0.0);
        nlea_Tessellator_addVertexWithUV($var7, 0.0, 0.0, 0.0, 0.0, 0.0);
        nlea_Tessellator_draw($var7);
        if ($par1 >= 0) {
            $var11 = ($var5 / 2 | 0) - 50 | 0;
            $var12 = ($var6 / 2 | 0) + 16 | 0;
            nleg_EaglerAdapterGL30_glDisable(3553);
            nlea_Tessellator_startDrawingQuads($var7);
            nlea_Tessellator_setColorOpaque_I($var7, 8421504);
            var$9 = $var11;
            var$13 = $var12;
            nlea_Tessellator_addVertex($var7, var$9, var$13, 0.0);
            var$7 = $var12 + 2 | 0;
            nlea_Tessellator_addVertex($var7, var$9, var$7, 0.0);
            var$10 = $var11 + 100 | 0;
            nlea_Tessellator_addVertex($var7, var$10, var$7, 0.0);
            nlea_Tessellator_addVertex($var7, var$10, var$13, 0.0);
            nlea_Tessellator_setColorOpaque_I($var7, 8454016);
            nlea_Tessellator_addVertex($var7, var$9, var$13, 0.0);
            nlea_Tessellator_addVertex($var7, var$9, var$7, 0.0);
            var$9 = $var11 + $par1 | 0;
            nlea_Tessellator_addVertex($var7, var$9, var$7, 0.0);
            nlea_Tessellator_addVertex($var7, var$9, var$13, 0.0);
            nlea_Tessellator_draw($var7);
            nleg_EaglerAdapterGL30_glEnable(3553);
        }
        $var4 = $this.$mc10.$fontRenderer;
        $var7 = $this.$currentlyDisplayedText;
        $var10 = ($var5 - nms_FontRenderer_getStringWidth($this.$mc10.$fontRenderer, $this.$currentlyDisplayedText) | 0) / 2 | 0;
        $par1 = ($var6 / 2 | 0) - 4 | 0;
        $var9 = $par1 - 16 | 0;
        $var6 = 16777215;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawStringWithShadow($var4, $var7, $var10, $var9, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $this.$mc10.$fontRenderer;
        $var7 = $this.$field_73727_a;
        $var9 = ($var5 - nms_FontRenderer_getStringWidth($this.$mc10.$fontRenderer, $this.$field_73727_a) | 0) / 2 | 0;
        $par1 = $par1 + 8 | 0;
        $var6 = 16777215;
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawStringWithShadow($var4, $var7, $var9, $par1, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 4;
    case 4:
        nlea_EaglerAdapterImpl2_updateDisplay();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var4, $var2, $var5, $var6, $var7, var$7, var$8, var$9, var$10, $var11, $var12, var$13, $var10, $var9, $ptr);
}
function nms_LoadingScreenRenderer__clinit_() {
    nms_LoadingScreenRenderer_background = nle_TextureLocation__init_($rt_s(508));
}
function nle_GuiScreenLicense() {
    var a = this; nms_GuiScreen.call(a);
    a.$continueScreen = null;
    a.$hasCheckedBox = 0;
    a.$beginOffset = 0;
    a.$acceptButton = null;
}
var nle_GuiScreenLicense_beaconx = null;
function nle_GuiScreenLicense__init_(var_0) {
    var var_1 = new nle_GuiScreenLicense();
    nle_GuiScreenLicense__init_0(var_1, var_0);
    return var_1;
}
function nle_GuiScreenLicense__init_0($this, $scr) {
    nms_GuiScreen__init_($this);
    $this.$hasCheckedBox = 0;
    $this.$beginOffset = 0;
    $this.$continueScreen = $scr;
}
function nle_GuiScreenLicense_initGui($this) {
    var var$1, var$2;
    $this.$beginOffset = ($this.$height / 2 | 0) - 100 | 0;
    if ($this.$beginOffset < 5)
        $this.$beginOffset = 5;
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(1, ($this.$width / 2 | 0) - 120 | 0, $this.$beginOffset + 180 | 0, 115, 20, jl_String__init_5(nle_License_line61)));
    var$1 = $this.$buttonList;
    var$2 = nms_GuiButton__init_0(2, ($this.$width / 2 | 0) + 5 | 0, $this.$beginOffset + 180 | 0, 115, 20, jl_String__init_5(nle_License_line60));
    $this.$acceptButton = var$2;
    ju_ArrayList_add(var$1, var$2);
    $this.$acceptButton.$enabled = 0;
}
function nle_GuiScreenLicense_actionPerformed($this, $par1GuiButton) {
    var var$2;
    if ($par1GuiButton.$id3 == 2) {
        nms_NBTTagCompound_setBoolean(nle_LocalStorageManager_profileSettingsStorage, $rt_s(315), 1);
        nle_LocalStorageManager_saveStorageP();
        nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$continueScreen);
    } else if ($par1GuiButton.$id3 == 1) {
        $par1GuiButton = $this.$mc2;
        var$2 = new nle_GuiScreenLicenseDeclined;
        nms_GuiScreen__init_(var$2);
        nmc_Minecraft_displayGuiScreen($par1GuiButton, var$2);
    }
}
function nle_GuiScreenLicense_drawScreen($this, $mx, $my, $par3) {
    var var$4, var$5, var$6, $mouseOverCheck, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$mouseOverCheck = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$my = $thread.pop();$mx = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$acceptButton.$enabled = $this.$hasCheckedBox;
        $ptr = 2;
    case 2:
        nms_GuiScreen_drawScreen($this, $mx, $my, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(1.3300000429153442, 1.3300000429153442, 1.3300000429153442);
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line00);
        var$6 = ($this.$width * 3 | 0) / 8 | 0;
        $mouseOverCheck = ($this.$beginOffset * 3 | 0) / 4 | 0;
        var$8 = 14540117;
        $ptr = 3;
    case 3:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, $mouseOverCheck, var$8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line10);
        $mouseOverCheck = $this.$width / 2 | 0;
        var$6 = $this.$beginOffset + 22 | 0;
        var$8 = 16742263;
        $ptr = 4;
    case 4:
        nms_Gui_drawCenteredString($this, var$4, var$5, $mouseOverCheck, var$6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line11);
        $mouseOverCheck = $this.$width / 2 | 0;
        var$6 = $this.$beginOffset + 33 | 0;
        var$8 = 16742263;
        $ptr = 5;
    case 5:
        nms_Gui_drawCenteredString($this, var$4, var$5, $mouseOverCheck, var$6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line12);
        $mouseOverCheck = $this.$width / 2 | 0;
        var$6 = $this.$beginOffset + 44 | 0;
        var$8 = 16742263;
        $ptr = 6;
    case 6:
        nms_Gui_drawCenteredString($this, var$4, var$5, $mouseOverCheck, var$6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line20);
        $mouseOverCheck = $this.$width / 2 | 0;
        var$6 = $this.$beginOffset + 62 | 0;
        var$8 = 4491332;
        $ptr = 7;
    case 7:
        nms_Gui_drawCenteredString($this, var$4, var$5, $mouseOverCheck, var$6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line21);
        $mouseOverCheck = $this.$width / 2 | 0;
        var$6 = $this.$beginOffset + 71 | 0;
        var$8 = 4491332;
        $ptr = 8;
    case 8:
        nms_Gui_drawCenteredString($this, var$4, var$5, $mouseOverCheck, var$6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line30);
        var$8 = ($this.$width * 4 | 0) / 6 | 0;
        $mouseOverCheck = (($this.$beginOffset + 89 | 0) * 4 | 0) / 3 | 0;
        var$6 = 6710886;
        $ptr = 9;
    case 9:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$8, $mouseOverCheck, var$6);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line31);
        $mouseOverCheck = ($this.$width * 4 | 0) / 6 | 0;
        var$6 = (($this.$beginOffset + 97 | 0) * 4 | 0) / 3 | 0;
        var$8 = 10066329;
        $ptr = 10;
    case 10:
        nms_Gui_drawCenteredString($this, var$4, var$5, $mouseOverCheck, var$6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line32);
        $mouseOverCheck = ($this.$width * 4 | 0) / 6 | 0;
        var$6 = (($this.$beginOffset + 105 | 0) * 4 | 0) / 3 | 0;
        var$8 = 10066329;
        $ptr = 11;
    case 11:
        nms_Gui_drawCenteredString($this, var$4, var$5, $mouseOverCheck, var$6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line40);
        $mouseOverCheck = $this.$width / 2 | 0;
        var$6 = $this.$beginOffset + 120 | 0;
        var$8 = 16742263;
        $ptr = 12;
    case 12:
        nms_Gui_drawCenteredString($this, var$4, var$5, $mouseOverCheck, var$6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        if (!((($this.$width / 2 | 0) - 100 | 0) < $mx && (($this.$width / 2 | 0) - 83 | 0) > $mx && ($this.$beginOffset + 142 | 0) < $my && ($this.$beginOffset + 159 | 0) > $my ? 1 : 0))
            nleg_EaglerAdapterGL30_glColor4f(0.6000000238418579, 0.6000000238418579, 0.6000000238418579, 1.0);
        else
            nleg_EaglerAdapterGL30_glColor4f(0.699999988079071, 0.699999988079071, 1.0, 1.0);
        var$4 = nle_GuiScreenLicense_beaconx;
        $ptr = 13;
    case 13:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        nms_Gui_drawTexturedModalRect($this, ((($this.$width / 2 | 0) - 100 | 0) * 4 | 0) / 3 | 0, (($this.$beginOffset + 142 | 0) * 4 | 0) / 3 | 0, 22, 219, 22, 22);
        nleg_EaglerAdapterGL30_glPopMatrix();
        if ($this.$hasCheckedBox) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glColor4f(1.100000023841858, 1.100000023841858, 1.100000023841858, 1.0);
            nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.0);
            nms_Gui_drawTexturedModalRect($this, ($this.$width / 2 | 0) - 100 | 0, $this.$beginOffset + 142 | 0, 90, 222, 16, 16);
            nleg_EaglerAdapterGL30_glPopMatrix();
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5(nle_License_line50);
        $mx = ($this.$width / 2 | 0) - 75 | 0;
        $my = $this.$beginOffset + 147 | 0;
        $mouseOverCheck = 15658734;
        $ptr = 14;
    case 14:
        nms_FontRenderer_drawStringWithShadow(var$4, var$5, $mx, $my, $mouseOverCheck);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $mx, $my, $par3, var$4, var$5, var$6, $mouseOverCheck, var$8, $ptr);
}
function nle_GuiScreenLicense_mouseClicked($this, $par1, $par2, $par3) {
    var var$4, var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        if ((($this.$width / 2 | 0) - 100 | 0) < $par1 && (($this.$width / 2 | 0) - 83 | 0) > $par1 && ($this.$beginOffset + 142 | 0) < $par2 && ($this.$beginOffset + 159 | 0) > $par2) {
            var$4 = $this.$mc2.$sndManager;
            var$5 = $rt_s(501);
            var$6 = 1.0;
            var$7 = 1.0;
            $ptr = 2;
            continue main;
        }
        return;
    case 2:
        nms_SoundManager_playSoundFX(var$4, var$5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $this.$hasCheckedBox = $this.$hasCheckedBox ? 0 : 1;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, var$6, var$7, $ptr);
}
function nle_GuiScreenLicense__clinit_() {
    nle_GuiScreenLicense_beaconx = nle_TextureLocation__init_($rt_s(1088));
}
function cjj_InfBlocks() {
    var a = this; jl_Object.call(a);
    a.$mode2 = 0;
    a.$left = 0;
    a.$table0 = 0;
    a.$index5 = 0;
    a.$blens = null;
    a.$bb = null;
    a.$tb = null;
    a.$bl = null;
    a.$bd = null;
    a.$tl = null;
    a.$td = null;
    a.$tli = null;
    a.$tdi = null;
    a.$codes = null;
    a.$last = 0;
    a.$bitk = 0;
    a.$bitb = 0;
    a.$hufts = null;
    a.$window = null;
    a.$end2 = 0;
    a.$read4 = 0;
    a.$write4 = 0;
    a.$check = 0;
    a.$inftree = null;
    a.$z3 = null;
}
var cjj_InfBlocks_inflate_mask = null;
var cjj_InfBlocks_border = null;
function cjj_InfBlocks_reset($this) {
    $this.$mode2 = 0;
    $this.$bitk = 0;
    $this.$bitb = 0;
    $this.$write4 = 0;
    $this.$read4 = 0;
    if ($this.$check)
        $this.$z3.$adler.$reset();
}
function cjj_InfBlocks_proc($this, $r) {
    var $p, $n, $b, $k, $q, $m, var$8, var$9, var$10, $i, $t, $c, var$14, $j, $i_0;
    $p = $this.$z3.$next_in_index;
    $n = $this.$z3.$avail_in;
    $b = $this.$bitb;
    $k = $this.$bitk;
    $q = $this.$write4;
    $m = $q >= $this.$read4 ? $this.$end2 - $q | 0 : ($this.$read4 - $q | 0) - 1 | 0;
    a: {
        b: {
            c: {
                d: {
                    e: while (true) {
                        f: {
                            g: {
                                h: {
                                    i: {
                                        j: {
                                            switch ($this.$mode2) {
                                                case 2:
                                                    break f;
                                                case 9:
                                                    $this.$bitb = $b;
                                                    $this.$bitk = $k;
                                                    $this.$z3.$avail_in = $n;
                                                    var$8 = $this.$z3;
                                                    var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                                    $this.$z3.$next_in_index = $p;
                                                    $this.$write4 = $q;
                                                    return cjj_InfBlocks_inflate_flush($this, (-3));
                                                case 0:
                                                    break j;
                                                case 1:
                                                    break;
                                                case 3:
                                                    while ($k < 14) {
                                                        if (!$n) {
                                                            $this.$bitb = $b;
                                                            $this.$bitk = $k;
                                                            $this.$z3.$avail_in = $n;
                                                            var$8 = $this.$z3;
                                                            var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                                            $this.$z3.$next_in_index = $p;
                                                            $this.$write4 = $q;
                                                            return cjj_InfBlocks_inflate_flush($this, $r);
                                                        }
                                                        $r = 0;
                                                        $n = $n + (-1) | 0;
                                                        var$9 = $this.$z3.$next_in.data;
                                                        var$10 = $p + 1 | 0;
                                                        $b = $b | (var$9[$p] & 255) << $k;
                                                        $k = $k + 8 | 0;
                                                        $p = var$10;
                                                    }
                                                    var$10 = $b & 16383;
                                                    $this.$table0 = var$10;
                                                    $i = var$10 & 31;
                                                    if ($i > 29)
                                                        break d;
                                                    var$10 = var$10 >> 5 & 31;
                                                    if (var$10 > 29)
                                                        break d;
                                                    k: {
                                                        var$10 = (258 + $i | 0) + var$10 | 0;
                                                        if (!($this.$blens !== null && $this.$blens.data.length >= var$10))
                                                            $this.$blens = $rt_createIntArray(var$10);
                                                        else {
                                                            $i = 0;
                                                            while (true) {
                                                                if ($i >= var$10)
                                                                    break k;
                                                                $this.$blens.data[$i] = 0;
                                                                $i = $i + 1 | 0;
                                                            }
                                                        }
                                                    }
                                                    $b = $b >>> 14;
                                                    $k = $k + (-14) | 0;
                                                    $this.$index5 = 0;
                                                    $this.$mode2 = 4;
                                                    break i;
                                                case 4:
                                                    break i;
                                                case 5:
                                                    break h;
                                                case 6:
                                                    break g;
                                                case 7:
                                                    break b;
                                                case 8:
                                                    break a;
                                                default:
                                                    $this.$bitb = $b;
                                                    $this.$bitk = $k;
                                                    $this.$z3.$avail_in = $n;
                                                    var$8 = $this.$z3;
                                                    var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                                    $this.$z3.$next_in_index = $p;
                                                    $this.$write4 = $q;
                                                    return cjj_InfBlocks_inflate_flush($this, (-2));
                                            }
                                            while ($k < 32) {
                                                if (!$n) {
                                                    $this.$bitb = $b;
                                                    $this.$bitk = $k;
                                                    $this.$z3.$avail_in = $n;
                                                    var$8 = $this.$z3;
                                                    var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                                    $this.$z3.$next_in_index = $p;
                                                    $this.$write4 = $q;
                                                    return cjj_InfBlocks_inflate_flush($this, $r);
                                                }
                                                $r = 0;
                                                $n = $n + (-1) | 0;
                                                var$9 = $this.$z3.$next_in.data;
                                                var$10 = $p + 1 | 0;
                                                $b = $b | (var$9[$p] & 255) << $k;
                                                $k = $k + 8 | 0;
                                                $p = var$10;
                                            }
                                            var$10 = ($b ^ (-1)) >>> 16 & 65535;
                                            $i = $b & 65535;
                                            if (var$10 != $i) {
                                                $this.$mode2 = 9;
                                                $this.$z3.$msg = $rt_s(1311);
                                                $this.$bitb = $b;
                                                $this.$bitk = $k;
                                                $this.$z3.$avail_in = $n;
                                                var$8 = $this.$z3;
                                                var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                                $this.$z3.$next_in_index = $p;
                                                $this.$write4 = $q;
                                                return cjj_InfBlocks_inflate_flush($this, (-3));
                                            }
                                            $this.$left = $i;
                                            $k = 0;
                                            $this.$mode2 = $this.$left ? 2 : !$this.$last ? 0 : 7;
                                            $b = $k;
                                            continue e;
                                        }
                                        while ($k < 3) {
                                            if (!$n) {
                                                $this.$bitb = $b;
                                                $this.$bitk = $k;
                                                $this.$z3.$avail_in = $n;
                                                var$8 = $this.$z3;
                                                var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                                $this.$z3.$next_in_index = $p;
                                                $this.$write4 = $q;
                                                return cjj_InfBlocks_inflate_flush($this, $r);
                                            }
                                            $r = 0;
                                            $n = $n + (-1) | 0;
                                            var$9 = $this.$z3.$next_in.data;
                                            var$10 = $p + 1 | 0;
                                            $b = $b | (var$9[$p] & 255) << $k;
                                            $k = $k + 8 | 0;
                                            $p = var$10;
                                        }
                                        l: {
                                            $t = $b & 7;
                                            $this.$last = $t & 1;
                                            switch ($t >>> 1) {
                                                case 0:
                                                    var$10 = $b >>> 3;
                                                    $i = $k + (-3) | 0;
                                                    $c = $i & 7;
                                                    $b = var$10 >>> $c;
                                                    $k = $i - $c | 0;
                                                    $this.$mode2 = 1;
                                                    break l;
                                                case 1:
                                                    cjj_InfTree_inflate_trees_fixed($this.$bl, $this.$bd, $this.$tl, $this.$td, $this.$z3);
                                                    cjj_InfCodes_init($this.$codes, $this.$bl.data[0], $this.$bd.data[0], $this.$tl.data[0], 0, $this.$td.data[0], 0);
                                                    $b = $b >>> 3;
                                                    $k = $k + (-3) | 0;
                                                    $this.$mode2 = 6;
                                                    break l;
                                                case 2:
                                                    $b = $b >>> 3;
                                                    $k = $k + (-3) | 0;
                                                    $this.$mode2 = 3;
                                                    break l;
                                                case 3:
                                                    $r = $b >>> 3;
                                                    var$10 = $k + (-3) | 0;
                                                    $this.$mode2 = 9;
                                                    $this.$z3.$msg = $rt_s(1312);
                                                    $this.$bitb = $r;
                                                    $this.$bitk = var$10;
                                                    $this.$z3.$avail_in = $n;
                                                    var$8 = $this.$z3;
                                                    var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                                    $this.$z3.$next_in_index = $p;
                                                    $this.$write4 = $q;
                                                    return cjj_InfBlocks_inflate_flush($this, (-3));
                                                default:
                                            }
                                        }
                                        continue e;
                                    }
                                    while ($this.$index5 < (4 + ($this.$table0 >>> 10) | 0)) {
                                        while ($k < 3) {
                                            if (!$n) {
                                                $this.$bitb = $b;
                                                $this.$bitk = $k;
                                                $this.$z3.$avail_in = $n;
                                                var$8 = $this.$z3;
                                                var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                                $this.$z3.$next_in_index = $p;
                                                $this.$write4 = $q;
                                                return cjj_InfBlocks_inflate_flush($this, $r);
                                            }
                                            $r = 0;
                                            $n = $n + (-1) | 0;
                                            var$9 = $this.$z3.$next_in.data;
                                            var$10 = $p + 1 | 0;
                                            $b = $b | (var$9[$p] & 255) << $k;
                                            $k = $k + 8 | 0;
                                            $p = var$10;
                                        }
                                        var$14 = $this.$blens.data;
                                        var$9 = cjj_InfBlocks_border.data;
                                        var$10 = $this.$index5;
                                        $this.$index5 = var$10 + 1 | 0;
                                        var$14[var$9[var$10]] = $b & 7;
                                        $b = $b >>> 3;
                                        $k = $k + (-3) | 0;
                                    }
                                    while ($this.$index5 < 19) {
                                        var$14 = $this.$blens.data;
                                        var$9 = cjj_InfBlocks_border.data;
                                        var$10 = $this.$index5;
                                        $this.$index5 = var$10 + 1 | 0;
                                        var$14[var$9[var$10]] = 0;
                                    }
                                    $this.$bb.data[0] = 7;
                                    var$10 = cjj_InfTree_inflate_trees_bits($this.$inftree, $this.$blens, $this.$bb, $this.$tb, $this.$hufts, $this.$z3);
                                    if (var$10) {
                                        if (var$10 == (-3)) {
                                            $this.$blens = null;
                                            $this.$mode2 = 9;
                                        }
                                        $this.$bitb = $b;
                                        $this.$bitk = $k;
                                        $this.$z3.$avail_in = $n;
                                        var$8 = $this.$z3;
                                        var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                        $this.$z3.$next_in_index = $p;
                                        $this.$write4 = $q;
                                        return cjj_InfBlocks_inflate_flush($this, var$10);
                                    }
                                    $this.$index5 = 0;
                                    $this.$mode2 = 5;
                                }
                                while (true) {
                                    var$10 = $this.$table0;
                                    if ($this.$index5 >= ((258 + (var$10 & 31) | 0) + (var$10 >> 5 & 31) | 0))
                                        break;
                                    var$10 = $this.$bb.data[0];
                                    while ($k < var$10) {
                                        if (!$n) {
                                            $this.$bitb = $b;
                                            $this.$bitk = $k;
                                            $this.$z3.$avail_in = $n;
                                            var$8 = $this.$z3;
                                            var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                            $this.$z3.$next_in_index = $p;
                                            $this.$write4 = $q;
                                            return cjj_InfBlocks_inflate_flush($this, $r);
                                        }
                                        $r = 0;
                                        $n = $n + (-1) | 0;
                                        var$9 = $this.$z3.$next_in.data;
                                        $i = $p + 1 | 0;
                                        $b = $b | (var$9[$p] & 255) << $k;
                                        $k = $k + 8 | 0;
                                        $p = $i;
                                    }
                                    var$10 = $this.$hufts.data[(($this.$tb.data[0] + ($b & cjj_InfBlocks_inflate_mask.data[var$10]) | 0) * 3 | 0) + 1 | 0];
                                    $c = $this.$hufts.data[(($this.$tb.data[0] + ($b & cjj_InfBlocks_inflate_mask.data[var$10]) | 0) * 3 | 0) + 2 | 0];
                                    $i = $rt_compare($c, 16);
                                    if ($i < 0) {
                                        $b = $b >>> var$10;
                                        $k = $k - var$10 | 0;
                                        var$9 = $this.$blens.data;
                                        var$10 = $this.$index5;
                                        $this.$index5 = var$10 + 1 | 0;
                                        var$9[var$10] = $c;
                                    } else {
                                        $j = $rt_compare($c, 18);
                                        $i_0 = !$j ? 7 : $c - 14 | 0;
                                        $j = $j ? 3 : 11;
                                        while ($k < (var$10 + $i_0 | 0)) {
                                            if (!$n) {
                                                $this.$bitb = $b;
                                                $this.$bitk = $k;
                                                $this.$z3.$avail_in = $n;
                                                var$8 = $this.$z3;
                                                var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                                $this.$z3.$next_in_index = $p;
                                                $this.$write4 = $q;
                                                return cjj_InfBlocks_inflate_flush($this, $r);
                                            }
                                            $r = 0;
                                            $n = $n + (-1) | 0;
                                            var$9 = $this.$z3.$next_in.data;
                                            $c = $p + 1 | 0;
                                            $b = $b | (var$9[$p] & 255) << $k;
                                            $k = $k + 8 | 0;
                                            $p = $c;
                                        }
                                        $c = $b >>> var$10;
                                        var$10 = $k - var$10 | 0;
                                        $j = $j + ($c & cjj_InfBlocks_inflate_mask.data[$i_0]) | 0;
                                        $b = $c >>> $i_0;
                                        $k = var$10 - $i_0 | 0;
                                        $m = $this.$index5;
                                        $i_0 = $this.$table0;
                                        if (($m + $j | 0) > ((258 + ($i_0 & 31) | 0) + ($i_0 >> 5 & 31) | 0))
                                            break c;
                                        if (!$i && $m < 1)
                                            break c;
                                        var$10 = $i ? 0 : $this.$blens.data[$m - 1 | 0];
                                        while (true) {
                                            var$9 = $this.$blens.data;
                                            $i = $m + 1 | 0;
                                            var$9[$m] = var$10;
                                            $j = $j + (-1) | 0;
                                            if (!$j)
                                                break;
                                            $m = $i;
                                        }
                                        $this.$index5 = $i;
                                    }
                                }
                                $this.$tb.data[0] = (-1);
                                $this.$bl.data[0] = 9;
                                $this.$bd.data[0] = 6;
                                var$10 = $this.$table0;
                                var$10 = cjj_InfTree_inflate_trees_dynamic($this.$inftree, 257 + (var$10 & 31) | 0, 1 + (var$10 >> 5 & 31) | 0, $this.$blens, $this.$bl, $this.$bd, $this.$tli, $this.$tdi, $this.$hufts, $this.$z3);
                                if (var$10) {
                                    if (var$10 == (-3)) {
                                        $this.$blens = null;
                                        $this.$mode2 = 9;
                                    }
                                    $this.$bitb = $b;
                                    $this.$bitk = $k;
                                    $this.$z3.$avail_in = $n;
                                    var$8 = $this.$z3;
                                    var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                    $this.$z3.$next_in_index = $p;
                                    $this.$write4 = $q;
                                    return cjj_InfBlocks_inflate_flush($this, var$10);
                                }
                                cjj_InfCodes_init($this.$codes, $this.$bl.data[0], $this.$bd.data[0], $this.$hufts, $this.$tli.data[0], $this.$hufts, $this.$tdi.data[0]);
                                $this.$mode2 = 6;
                            }
                            $this.$bitb = $b;
                            $this.$bitk = $k;
                            $this.$z3.$avail_in = $n;
                            var$8 = $this.$z3;
                            var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                            $this.$z3.$next_in_index = $p;
                            $this.$write4 = $q;
                            $r = cjj_InfCodes_proc($this.$codes, $r);
                            if ($r != 1)
                                break e;
                            $r = 0;
                            cjj_InfCodes_free($this.$codes, $this.$z3);
                            $p = $this.$z3.$next_in_index;
                            $n = $this.$z3.$avail_in;
                            $b = $this.$bitb;
                            $k = $this.$bitk;
                            $q = $this.$write4;
                            $m = $q >= $this.$read4 ? $this.$end2 - $q | 0 : ($this.$read4 - $q | 0) - 1 | 0;
                            if ($this.$last) {
                                $this.$mode2 = 7;
                                break b;
                            }
                            $this.$mode2 = 0;
                            continue e;
                        }
                        if (!$n) {
                            $this.$bitb = $b;
                            $this.$bitk = $k;
                            $this.$z3.$avail_in = $n;
                            var$8 = $this.$z3;
                            var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                            $this.$z3.$next_in_index = $p;
                            $this.$write4 = $q;
                            return cjj_InfBlocks_inflate_flush($this, $r);
                        }
                        if (!$m) {
                            if ($q == $this.$end2 && $this.$read4) {
                                $q = 0;
                                $m = $q >= $this.$read4 ? $this.$end2 - $q | 0 : ($this.$read4 - $q | 0) - 1 | 0;
                            }
                            if (!$m) {
                                $this.$write4 = $q;
                                $r = cjj_InfBlocks_inflate_flush($this, $r);
                                $q = $this.$write4;
                                $m = $q >= $this.$read4 ? $this.$end2 - $q | 0 : ($this.$read4 - $q | 0) - 1 | 0;
                                if ($q == $this.$end2 && $this.$read4) {
                                    $q = 0;
                                    $m = $q >= $this.$read4 ? $this.$end2 - $q | 0 : ($this.$read4 - $q | 0) - 1 | 0;
                                }
                                if (!$m) {
                                    $this.$bitb = $b;
                                    $this.$bitk = $k;
                                    $this.$z3.$avail_in = $n;
                                    var$8 = $this.$z3;
                                    var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                                    $this.$z3.$next_in_index = $p;
                                    $this.$write4 = $q;
                                    return cjj_InfBlocks_inflate_flush($this, $r);
                                }
                            }
                        }
                        $r = 0;
                        var$10 = $this.$left;
                        if (var$10 > $n)
                            var$10 = $n;
                        if (var$10 > $m)
                            var$10 = $m;
                        jl_System_arraycopy($this.$z3.$next_in, $p, $this.$window, $q, var$10);
                        $p = $p + var$10 | 0;
                        $n = $n - var$10 | 0;
                        $q = $q + var$10 | 0;
                        $m = $m - var$10 | 0;
                        var$10 = $this.$left - var$10 | 0;
                        $this.$left = var$10;
                        if (var$10)
                            continue;
                        $this.$mode2 = !$this.$last ? 0 : 7;
                    }
                    return cjj_InfBlocks_inflate_flush($this, $r);
                }
                $this.$mode2 = 9;
                $this.$z3.$msg = $rt_s(1313);
                $this.$bitb = $b;
                $this.$bitk = $k;
                $this.$z3.$avail_in = $n;
                var$8 = $this.$z3;
                var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
                $this.$z3.$next_in_index = $p;
                $this.$write4 = $q;
                return cjj_InfBlocks_inflate_flush($this, (-3));
            }
            $this.$blens = null;
            $this.$mode2 = 9;
            $this.$z3.$msg = $rt_s(1314);
            $this.$bitb = $b;
            $this.$bitk = $k;
            $this.$z3.$avail_in = $n;
            var$8 = $this.$z3;
            var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
            $this.$z3.$next_in_index = $p;
            $this.$write4 = $q;
            return cjj_InfBlocks_inflate_flush($this, (-3));
        }
        $this.$write4 = $q;
        $r = cjj_InfBlocks_inflate_flush($this, $r);
        $q = $this.$write4;
        if ($this.$read4 != $this.$write4) {
            $this.$bitb = $b;
            $this.$bitk = $k;
            $this.$z3.$avail_in = $n;
            var$8 = $this.$z3;
            var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
            $this.$z3.$next_in_index = $p;
            $this.$write4 = $q;
            return cjj_InfBlocks_inflate_flush($this, $r);
        }
        $this.$mode2 = 8;
    }
    $this.$bitb = $b;
    $this.$bitk = $k;
    $this.$z3.$avail_in = $n;
    var$8 = $this.$z3;
    var$8.$total_in = Long_add(var$8.$total_in, Long_fromInt($p - $this.$z3.$next_in_index | 0));
    $this.$z3.$next_in_index = $p;
    $this.$write4 = $q;
    return cjj_InfBlocks_inflate_flush($this, 1);
}
function cjj_InfBlocks_free($this) {
    cjj_InfBlocks_reset($this);
    $this.$window = null;
    $this.$hufts = null;
}
function cjj_InfBlocks_inflate_flush($this, $r) {
    var $p, $q, $n, var$5, var$6;
    $p = $this.$z3.$next_out_index;
    $q = $this.$read4;
    $n = ($q > $this.$write4 ? $this.$end2 : $this.$write4) - $q | 0;
    if ($n > $this.$z3.$avail_out)
        $n = $this.$z3.$avail_out;
    if ($n && $r == (-5))
        $r = 0;
    var$5 = $this.$z3;
    var$5.$avail_out = var$5.$avail_out - $n | 0;
    var$5 = $this.$z3;
    var$5.$total_out = Long_add(var$5.$total_out, Long_fromInt($n));
    if ($this.$check && $n > 0)
        $this.$z3.$adler.$update($this.$window, $q, $n);
    jl_System_arraycopy($this.$window, $q, $this.$z3.$next_out, $p, $n);
    $p = $p + $n | 0;
    var$6 = $q + $n | 0;
    if (var$6 == $this.$end2) {
        if ($this.$write4 == $this.$end2)
            $this.$write4 = 0;
        $q = $this.$write4 - 0 | 0;
        if ($q > $this.$z3.$avail_out)
            $q = $this.$z3.$avail_out;
        if ($q && $r == (-5))
            $r = 0;
        var$5 = $this.$z3;
        var$5.$avail_out = var$5.$avail_out - $q | 0;
        var$5 = $this.$z3;
        var$5.$total_out = Long_add(var$5.$total_out, Long_fromInt($q));
        if ($this.$check && $q > 0)
            $this.$z3.$adler.$update($this.$window, 0, $q);
        jl_System_arraycopy($this.$window, 0, $this.$z3.$next_out, $p, $q);
        $p = $p + $q | 0;
        var$6 = 0 + $q | 0;
    }
    $this.$z3.$next_out_index = $p;
    $this.$read4 = var$6;
    return $r;
}
function cjj_InfBlocks__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(17);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 1;
    var$2[2] = 3;
    var$2[3] = 7;
    var$2[4] = 15;
    var$2[5] = 31;
    var$2[6] = 63;
    var$2[7] = 127;
    var$2[8] = 255;
    var$2[9] = 511;
    var$2[10] = 1023;
    var$2[11] = 2047;
    var$2[12] = 4095;
    var$2[13] = 8191;
    var$2[14] = 16383;
    var$2[15] = 32767;
    var$2[16] = 65535;
    cjj_InfBlocks_inflate_mask = var$1;
    var$1 = $rt_createIntArray(19);
    var$2 = var$1.data;
    var$2[0] = 16;
    var$2[1] = 17;
    var$2[2] = 18;
    var$2[3] = 0;
    var$2[4] = 8;
    var$2[5] = 7;
    var$2[6] = 9;
    var$2[7] = 6;
    var$2[8] = 10;
    var$2[9] = 5;
    var$2[10] = 11;
    var$2[11] = 4;
    var$2[12] = 12;
    var$2[13] = 3;
    var$2[14] = 13;
    var$2[15] = 2;
    var$2[16] = 14;
    var$2[17] = 1;
    var$2[18] = 15;
    cjj_InfBlocks_border = var$1;
}
function nle_DefaultSkinRenderer() {
    jl_Object.call(this);
}
var nle_DefaultSkinRenderer_defaultVanillaSkins = null;
var nle_DefaultSkinRenderer_defaultVanillaSkinClassicOrSlimVariants = null;
var nle_DefaultSkinRenderer_skinCookies = null;
var nle_DefaultSkinRenderer_skinGLUnits = null;
var nle_DefaultSkinRenderer_skinGLTimeout = null;
var nle_DefaultSkinRenderer_lastClean = Long_ZERO;
var nle_DefaultSkinRenderer_oldSkinRenderer = null;
var nle_DefaultSkinRenderer_newSkinRenderer = null;
var nle_DefaultSkinRenderer_newSkinRendererSlim = null;
var nle_DefaultSkinRenderer_zombieRenderer = null;
var nle_DefaultSkinRenderer_villagerRenderer = null;
var nle_DefaultSkinRenderer_endermanRenderer = null;
var nle_DefaultSkinRenderer_blazeRenderer = null;
var nle_DefaultSkinRenderer_skeletonRenderer = null;
function nle_DefaultSkinRenderer__init_0() {
    var var_0 = new nle_DefaultSkinRenderer();
    nle_DefaultSkinRenderer__init_(var_0);
    return var_0;
}
function nle_DefaultSkinRenderer__init_($this) {
    return;
}
function nle_DefaultSkinRenderer_deleteOldSkins() {
    var $itr, $ee, $itr2;
    a: {
        if (Long_gt(Long_sub(jl_System_currentTimeMillis(), nle_DefaultSkinRenderer_lastClean), Long_fromInt(60000))) {
            nle_DefaultSkinRenderer_lastClean = jl_System_currentTimeMillis();
            $itr = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet(nle_DefaultSkinRenderer_skinGLTimeout));
            while (ju_HashMap$AbstractMapIterator_hasNext($itr)) {
                $ee = ju_HashMap$EntryIterator_next($itr);
                if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $ee.$value1.$value4), Long_fromInt(80000))) {
                    ju_HashMap$AbstractMapIterator_remove($itr);
                    if (ju_HashMap_containsKey(nle_DefaultSkinRenderer_skinGLUnits, $ee.$key))
                        nms_RenderEngine_deleteTexture(nmc_Minecraft_theMinecraft.$renderEngine, ju_HashMap_remove(nle_DefaultSkinRenderer_skinGLUnits, $ee.$key).$value);
                }
            }
            $itr2 = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet(nle_DefaultSkinRenderer_skinCookies));
            while (true) {
                if (!ju_HashMap$AbstractMapIterator_hasNext($itr2))
                    break a;
                if (ju_HashMap$EntryIterator_next($itr2).$value1.$isDead)
                    ju_HashMap$AbstractMapIterator_remove($itr2);
            }
        }
    }
}
function nle_DefaultSkinRenderer_bindSyncedSkin($p) {
    var $pp, $cookie, $n, var$5, $pkt, $skinToLoad, $w, $h, $i, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$i = $thread.pop();$h = $thread.pop();$w = $thread.pop();$skinToLoad = $thread.pop();$pkt = $thread.pop();var$5 = $thread.pop();$n = $thread.pop();$cookie = $thread.pop();$pp = $thread.pop();$p = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($p instanceof nms_EntityClientPlayerMP)
            return 0;
        if (!($p instanceof nms_EntityOtherPlayerMP))
            return 0;
        $pp = $p;
        if ($pp.$skinPacket === null) {
            if (!ju_HashMap_containsValue(nle_DefaultSkinRenderer_skinCookies, $pp)) {
                $cookie = Long_rem(jl_System_nanoTime(), Long_fromInt(65536)).lo;
                ju_HashMap_putImpl(nle_DefaultSkinRenderer_skinCookies, jl_Integer_valueOf($cookie), $pp);
                $n = jl_String_getBytes($pp.$username0);
                var$5 = $n.data.length;
                $pkt = $rt_createByteArray(var$5 + 2 | 0);
                $skinToLoad = $pkt.data;
                jl_System_arraycopy($n, 0, $pkt, 2, var$5);
                $skinToLoad[0] = ($cookie & 255) << 24 >> 24;
                $skinToLoad[1] = ($cookie >> 8 & 255) << 24 >> 24;
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(nmc_Minecraft_theMinecraft), nms_Packet250CustomPayload__init_0($rt_s(1315), $pkt));
            }
            return 0;
        }
        a: {
            b: {
                if (($pp.$skinPacket.data[0] & 255) == 4) {
                    if (($pp.$skinPacket.data[1] & 255) >= nle_DefaultSkinRenderer_defaultVanillaSkins.data.length)
                        break b;
                    $p = nle_DefaultSkinRenderer_defaultVanillaSkins.data[$pp.$skinPacket.data[1] & 255];
                    $ptr = 1;
                    continue main;
                }
                if (!ju_HashMap_containsKey(nle_DefaultSkinRenderer_skinGLUnits, $pp)) {
                    c: {
                        d: {
                            $skinToLoad = $rt_createByteArray($pp.$skinPacket.data.length - 1 | 0);
                            $pkt = $skinToLoad.data;
                            $n = $pp.$skinPacket;
                            var$5 = $pkt.length;
                            jl_System_arraycopy($n, 1, $skinToLoad, 0, var$5);
                            switch ($pp.$skinPacket.data[0] & 255) {
                                case 0:
                                case 4:
                                    break d;
                                case 1:
                                case 5:
                                    $w = 64;
                                    $h = 64;
                                    break c;
                                case 2:
                                    $w = 128;
                                    $h = 64;
                                    break c;
                                case 3:
                                case 6:
                                    break;
                                default:
                                    break d;
                            }
                            $w = 128;
                            $h = 128;
                            break c;
                        }
                        $w = 64;
                        $h = 32;
                    }
                    if ((var$5 / 4 | 0) == $rt_imul($w, $h))
                        ju_HashMap_putImpl(nle_DefaultSkinRenderer_skinGLUnits, $pp, jl_Integer_valueOf(nms_RenderEngine_setupTextureRaw(nmc_Minecraft_theMinecraft.$renderEngine, $skinToLoad, $w, $h)));
                }
                ju_HashMap_putImpl(nle_DefaultSkinRenderer_skinGLTimeout, $pp, jl_Long_valueOf(jl_System_currentTimeMillis()));
                $i = ju_HashMap_get(nle_DefaultSkinRenderer_skinGLUnits, $pp);
                if ($i === null)
                    break a;
                if ($i.$value <= 0)
                    break a;
                nms_RenderEngine_bindTexture(nmc_Minecraft_theMinecraft.$renderEngine, $i.$value);
            }
            return 1;
        }
        $p = nle_DefaultSkinRenderer_defaultVanillaSkins.data[0];
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($p);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    case 2:
        nle_TextureLocation_bindTexture($p);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($p, $pp, $cookie, $n, var$5, $pkt, $skinToLoad, $w, $h, $i, $ptr);
}
function nle_DefaultSkinRenderer_isNewSkin($id) {
    a: {
        b: {
            if (!$id)
                break b;
            if ($id == 2)
                break b;
            if ($id == 4)
                break b;
            if ($id == 6)
                break b;
            if ($id == 8)
                break b;
            if ($id == 10)
                break b;
            if ($id == 12)
                break b;
            if ($id == 14)
                break b;
            if ($id == 18)
                break b;
            if ($id != 28) {
                $id = 1;
                break a;
            }
        }
        $id = 0;
    }
    return $id;
}
function nle_DefaultSkinRenderer_isAlexSkin($id) {
    return $id < nle_DefaultSkinRenderer_defaultVanillaSkinClassicOrSlimVariants.data.length && nle_DefaultSkinRenderer_defaultVanillaSkinClassicOrSlimVariants.data[$id] ? 1 : 0;
}
function nle_DefaultSkinRenderer_isStandardModel($id) {
    return !nle_DefaultSkinRenderer_isZombieModel($id) && $id != 19 && $id != 20 && $id != 21 && $id != 32 && $id != 33 && $id != 34 ? 1 : 0;
}
function nle_DefaultSkinRenderer_isZombieModel($id) {
    return $id != 18 && $id != 28 ? 0 : 1;
}
function nle_DefaultSkinRenderer_isPlayerNewSkin($p) {
    var $type, $pp;
    if ($p instanceof nms_EntityClientPlayerMP) {
        nle_EaglerProfile_$callClinit();
        if (nle_EaglerProfile_presetSkinId > (-1))
            return nle_DefaultSkinRenderer_isNewSkin(nle_EaglerProfile_presetSkinId);
        $type = nle_EaglerProfile_getSkinSize(ju_ArrayList_get(nle_EaglerProfile_skins, nle_EaglerProfile_customSkinId).$data6.data.length);
        return $type != 1 && $type != 3 ? 0 : 1;
    }
    if ($p instanceof nms_EntityOtherPlayerMP) {
        $pp = $p;
        if ($pp.$skinPacket !== null) {
            if ($pp.$skinPacket.data[0] == 4)
                return nle_DefaultSkinRenderer_isNewSkin($pp.$skinPacket.data[1] & 255);
            return $pp.$skinPacket.data[0] != 1 && $pp.$skinPacket.data[0] != 3 && $pp.$skinPacket.data[0] != 5 && $pp.$skinPacket.data[0] != 6 ? 0 : 1;
        }
    }
    return 0;
}
function nle_DefaultSkinRenderer_isPlayerNewSkinSlim($p) {
    var $pp;
    if ($p instanceof nms_EntityClientPlayerMP) {
        nle_EaglerProfile_$callClinit();
        if (nle_EaglerProfile_presetSkinId != (-1))
            return nle_DefaultSkinRenderer_isAlexSkin(nle_EaglerProfile_presetSkinId);
        return ju_ArrayList_get(nle_EaglerProfile_skins, nle_EaglerProfile_customSkinId).$slim;
    }
    if ($p instanceof nms_EntityOtherPlayerMP) {
        $pp = $p;
        if ($pp.$skinPacket !== null) {
            if ($pp.$skinPacket.data[0] == 4)
                return nle_DefaultSkinRenderer_isAlexSkin($pp.$skinPacket.data[1] & 255);
            return $pp.$skinPacket.data[0] != 5 && $pp.$skinPacket.data[0] != 6 ? 0 : 1;
        }
    }
    return 0;
}
function nle_DefaultSkinRenderer_isPlayerStandard($p) {
    var $pp;
    if ($p instanceof nms_EntityClientPlayerMP) {
        nle_EaglerProfile_$callClinit();
        if (nle_EaglerProfile_presetSkinId == (-1))
            return 1;
        return nle_DefaultSkinRenderer_isStandardModel(nle_EaglerProfile_presetSkinId);
    }
    if ($p instanceof nms_EntityOtherPlayerMP) {
        $pp = $p;
        if ($pp.$skinPacket !== null) {
            if ($pp.$skinPacket.data[0] != 4)
                return 1;
            return nle_DefaultSkinRenderer_isStandardModel($pp.$skinPacket.data[1] & 255);
        }
    }
    return 1;
}
function nle_DefaultSkinRenderer_getPlayerRenderer($p) {
    var $pp;
    if ($p instanceof nms_EntityClientPlayerMP) {
        nle_EaglerProfile_$callClinit();
        if (nle_EaglerProfile_presetSkinId != (-1))
            return nle_EaglerProfile_presetSkinId;
        return 0;
    }
    if ($p instanceof nms_EntityOtherPlayerMP) {
        $pp = $p;
        if ($pp.$skinPacket !== null) {
            if ($pp.$skinPacket.data[0] != 4)
                return 0;
            return $pp.$skinPacket.data[1] & 255;
        }
    }
    return 0;
}
function nle_DefaultSkinRenderer_renderPlayerPreview($x, $y, $mx, $my, $id2) {
    var $id, var$7, var$8, var$9, var$10, var$11, $isNew, $type, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$type = $thread.pop();$isNew = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$id = $thread.pop();$id2 = $thread.pop();$my = $thread.pop();$mx = $thread.pop();$y = $thread.pop();$x = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nle_EaglerProfile_$callClinit();
        $id = $id2 - ju_ArrayList_size(nle_EaglerProfile_skins) | 0;
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glDisable(2884);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($x, $y - 80 | 0, 100.0);
        nleg_EaglerAdapterGL30_glScalef(50.0, 50.0, 50.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glScalef(1.0, (-1.0), 1.0);
        nms_RenderHelper_enableGUIStandardItemLighting();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 1.0, 0.0);
        var$7 = $y - $my | 0;
        nleg_EaglerAdapterGL30_glRotatef(var$7 * (-0.05999999865889549), 1.0, 0.0, 0.0);
        var$8 = ($x - $mx | 0) * 0.05999999865889549;
        nleg_EaglerAdapterGL30_glRotatef(var$8, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, (-1.0), 0.0);
        if ($id >= 0) {
            var$9 = nle_DefaultSkinRenderer_defaultVanillaSkins.data[$id];
            $ptr = 1;
            continue main;
        }
        nms_RenderEngine_bindTexture(nmc_Minecraft_getMinecraft().$renderEngine, ju_ArrayList_get(nle_EaglerProfile_skins, $id2).$glTex);
        if (!nle_DefaultSkinRenderer_isStandardModel($id) && $id >= 0) {
            if (nle_DefaultSkinRenderer_isZombieModel($id)) {
                if (nle_DefaultSkinRenderer_zombieRenderer === null)
                    nle_DefaultSkinRenderer_zombieRenderer = nms_ModelZombie__init_0(0.0, 1);
                nle_DefaultSkinRenderer_zombieRenderer.$isChild0 = 0;
                nms_ModelBiped_render(nle_DefaultSkinRenderer_zombieRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
            } else if ($id == 32) {
                if (nle_DefaultSkinRenderer_villagerRenderer === null)
                    nle_DefaultSkinRenderer_villagerRenderer = nms_ModelVillager__init_(0.0);
                nle_DefaultSkinRenderer_villagerRenderer.$isChild0 = 0;
                nms_ModelVillager_render(nle_DefaultSkinRenderer_villagerRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
            } else {
                if ($id == 19) {
                    if (nle_DefaultSkinRenderer_endermanRenderer === null)
                        nle_DefaultSkinRenderer_endermanRenderer = nms_ModelEnderman__init_0();
                    nle_DefaultSkinRenderer_endermanRenderer.$isChild0 = 0;
                    var$9 = nle_DefaultSkinRenderer_endermanRenderer;
                    var$10 = null;
                    var$11 = Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0;
                    var$7 = var$7 * (-0.10000000149011612);
                    nms_ModelBiped_render(var$9, var$10, 0.0, 0.0, var$11, var$8, var$7, 0.0625);
                    nleg_EaglerAdapterGL30_glColor4f(1.399999976158142, 1.399999976158142, 1.399999976158142, 1.0);
                    nleg_EaglerAdapterGL30_glDisable(2896);
                    nleg_EaglerAdapterGL30_glEnable(3553);
                    nleg_EaglerAdapterGL30_glDisable(2929);
                    var$9 = nms_RenderEnderman_tex_eyes;
                    $ptr = 2;
                    continue main;
                }
                if ($id == 20) {
                    if (nle_DefaultSkinRenderer_skeletonRenderer === null)
                        nle_DefaultSkinRenderer_skeletonRenderer = nms_ModelSkeleton__init_0(0.0);
                    nle_DefaultSkinRenderer_skeletonRenderer.$isChild0 = 0;
                    nms_ModelBiped_render(nle_DefaultSkinRenderer_skeletonRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
                } else if ($id == 21) {
                    if (nle_DefaultSkinRenderer_blazeRenderer === null)
                        nle_DefaultSkinRenderer_blazeRenderer = nms_ModelBlaze__init_0();
                    nle_DefaultSkinRenderer_blazeRenderer.$isChild0 = 0;
                    nleg_EaglerAdapterGL30_glColor4f(1.5, 1.5, 1.5, 1.0);
                    nms_ModelBlaze_render(nle_DefaultSkinRenderer_blazeRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
                }
            }
        } else {
            if (nle_DefaultSkinRenderer_oldSkinRenderer === null)
                nle_DefaultSkinRenderer_oldSkinRenderer = nms_ModelBiped__init_0(0.0, 0.0, 64, 32);
            if (nle_DefaultSkinRenderer_newSkinRenderer === null)
                nle_DefaultSkinRenderer_newSkinRenderer = nle_ModelBipedNewSkins__init_(0.0, 0);
            if (nle_DefaultSkinRenderer_newSkinRendererSlim === null)
                nle_DefaultSkinRenderer_newSkinRendererSlim = nle_ModelBipedNewSkins__init_(0.0, 1);
            nle_DefaultSkinRenderer_oldSkinRenderer.$isChild0 = 0;
            nle_DefaultSkinRenderer_newSkinRenderer.$isChild0 = 0;
            nle_DefaultSkinRenderer_newSkinRendererSlim.$isChild0 = 0;
            $isNew = nle_DefaultSkinRenderer_isNewSkin($id);
            if ($id < 0) {
                $type = nle_EaglerProfile_getSkinSize(ju_ArrayList_get(nle_EaglerProfile_skins, $id2).$data6.data.length);
                $isNew = $type != 1 && $type != 3 ? 0 : 1;
            }
            a: {
                if (!$isNew) {
                    nle_DefaultSkinRenderer_oldSkinRenderer.$blockTransparentSkin = 1;
                    nms_ModelBiped_render(nle_DefaultSkinRenderer_oldSkinRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
                    nle_DefaultSkinRenderer_oldSkinRenderer.$blockTransparentSkin = 0;
                } else {
                    b: {
                        if (!($id < 0 && ju_ArrayList_get(nle_EaglerProfile_skins, $id2).$slim)) {
                            if ($id < 0)
                                break b;
                            if (!nle_DefaultSkinRenderer_isAlexSkin($id))
                                break b;
                        }
                        nle_DefaultSkinRenderer_newSkinRendererSlim.$blockTransparentSkin = 1;
                        nle_ModelBipedNewSkins_render(nle_DefaultSkinRenderer_newSkinRendererSlim, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
                        nle_DefaultSkinRenderer_newSkinRendererSlim.$blockTransparentSkin = 0;
                        break a;
                    }
                    nle_DefaultSkinRenderer_newSkinRenderer.$blockTransparentSkin = 1;
                    nle_ModelBipedNewSkins_render(nle_DefaultSkinRenderer_newSkinRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
                    nle_DefaultSkinRenderer_newSkinRenderer.$blockTransparentSkin = 0;
                }
            }
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glDisable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glDisable(2896);
        return;
    case 1:
        nle_TextureLocation_bindTexture(var$9);
        if ($rt_suspending()) {
            break main;
        }
        if (!nle_DefaultSkinRenderer_isStandardModel($id) && $id >= 0) {
            if (nle_DefaultSkinRenderer_isZombieModel($id)) {
                if (nle_DefaultSkinRenderer_zombieRenderer === null)
                    nle_DefaultSkinRenderer_zombieRenderer = nms_ModelZombie__init_0(0.0, 1);
                nle_DefaultSkinRenderer_zombieRenderer.$isChild0 = 0;
                nms_ModelBiped_render(nle_DefaultSkinRenderer_zombieRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
            } else if ($id == 32) {
                if (nle_DefaultSkinRenderer_villagerRenderer === null)
                    nle_DefaultSkinRenderer_villagerRenderer = nms_ModelVillager__init_(0.0);
                nle_DefaultSkinRenderer_villagerRenderer.$isChild0 = 0;
                nms_ModelVillager_render(nle_DefaultSkinRenderer_villagerRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
            } else {
                if ($id == 19) {
                    if (nle_DefaultSkinRenderer_endermanRenderer === null)
                        nle_DefaultSkinRenderer_endermanRenderer = nms_ModelEnderman__init_0();
                    nle_DefaultSkinRenderer_endermanRenderer.$isChild0 = 0;
                    var$9 = nle_DefaultSkinRenderer_endermanRenderer;
                    var$10 = null;
                    var$11 = Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0;
                    var$7 = var$7 * (-0.10000000149011612);
                    nms_ModelBiped_render(var$9, var$10, 0.0, 0.0, var$11, var$8, var$7, 0.0625);
                    nleg_EaglerAdapterGL30_glColor4f(1.399999976158142, 1.399999976158142, 1.399999976158142, 1.0);
                    nleg_EaglerAdapterGL30_glDisable(2896);
                    nleg_EaglerAdapterGL30_glEnable(3553);
                    nleg_EaglerAdapterGL30_glDisable(2929);
                    var$9 = nms_RenderEnderman_tex_eyes;
                    $ptr = 2;
                    continue main;
                }
                if ($id == 20) {
                    if (nle_DefaultSkinRenderer_skeletonRenderer === null)
                        nle_DefaultSkinRenderer_skeletonRenderer = nms_ModelSkeleton__init_0(0.0);
                    nle_DefaultSkinRenderer_skeletonRenderer.$isChild0 = 0;
                    nms_ModelBiped_render(nle_DefaultSkinRenderer_skeletonRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
                } else if ($id == 21) {
                    if (nle_DefaultSkinRenderer_blazeRenderer === null)
                        nle_DefaultSkinRenderer_blazeRenderer = nms_ModelBlaze__init_0();
                    nle_DefaultSkinRenderer_blazeRenderer.$isChild0 = 0;
                    nleg_EaglerAdapterGL30_glColor4f(1.5, 1.5, 1.5, 1.0);
                    nms_ModelBlaze_render(nle_DefaultSkinRenderer_blazeRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
                }
            }
        } else {
            if (nle_DefaultSkinRenderer_oldSkinRenderer === null)
                nle_DefaultSkinRenderer_oldSkinRenderer = nms_ModelBiped__init_0(0.0, 0.0, 64, 32);
            if (nle_DefaultSkinRenderer_newSkinRenderer === null)
                nle_DefaultSkinRenderer_newSkinRenderer = nle_ModelBipedNewSkins__init_(0.0, 0);
            if (nle_DefaultSkinRenderer_newSkinRendererSlim === null)
                nle_DefaultSkinRenderer_newSkinRendererSlim = nle_ModelBipedNewSkins__init_(0.0, 1);
            nle_DefaultSkinRenderer_oldSkinRenderer.$isChild0 = 0;
            nle_DefaultSkinRenderer_newSkinRenderer.$isChild0 = 0;
            nle_DefaultSkinRenderer_newSkinRendererSlim.$isChild0 = 0;
            $isNew = nle_DefaultSkinRenderer_isNewSkin($id);
            if ($id < 0) {
                $type = nle_EaglerProfile_getSkinSize(ju_ArrayList_get(nle_EaglerProfile_skins, $id2).$data6.data.length);
                $isNew = $type != 1 && $type != 3 ? 0 : 1;
            }
            c: {
                if (!$isNew) {
                    nle_DefaultSkinRenderer_oldSkinRenderer.$blockTransparentSkin = 1;
                    nms_ModelBiped_render(nle_DefaultSkinRenderer_oldSkinRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
                    nle_DefaultSkinRenderer_oldSkinRenderer.$blockTransparentSkin = 0;
                } else {
                    d: {
                        if (!($id < 0 && ju_ArrayList_get(nle_EaglerProfile_skins, $id2).$slim)) {
                            if ($id < 0)
                                break d;
                            if (!nle_DefaultSkinRenderer_isAlexSkin($id))
                                break d;
                        }
                        nle_DefaultSkinRenderer_newSkinRendererSlim.$blockTransparentSkin = 1;
                        nle_ModelBipedNewSkins_render(nle_DefaultSkinRenderer_newSkinRendererSlim, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
                        nle_DefaultSkinRenderer_newSkinRendererSlim.$blockTransparentSkin = 0;
                        break c;
                    }
                    nle_DefaultSkinRenderer_newSkinRenderer.$blockTransparentSkin = 1;
                    nle_ModelBipedNewSkins_render(nle_DefaultSkinRenderer_newSkinRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
                    nle_DefaultSkinRenderer_newSkinRenderer.$blockTransparentSkin = 0;
                }
            }
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glDisable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glDisable(2896);
        return;
    case 2:
        nle_TextureLocation_bindTexture(var$9);
        if ($rt_suspending()) {
            break main;
        }
        nms_ModelBiped_render(nle_DefaultSkinRenderer_endermanRenderer, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7, 0.0625);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glEnable(2929);
        nleg_EaglerAdapterGL30_glDisable(3553);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glDisable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glDisable(2896);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($x, $y, $mx, $my, $id2, $id, var$7, var$8, var$9, var$10, var$11, $isNew, $type, $ptr);
}
function nle_DefaultSkinRenderer_renderAlexOrSteve($x, $y, $mx, $my, $alex) {
    var $bp, var$7, var$8;
    if (!$alex) {
        if (nle_DefaultSkinRenderer_newSkinRenderer === null)
            nle_DefaultSkinRenderer_newSkinRenderer = nle_ModelBipedNewSkins__init_(0.0, 0);
        $bp = nle_DefaultSkinRenderer_newSkinRenderer;
    } else {
        if (nle_DefaultSkinRenderer_newSkinRendererSlim === null)
            nle_DefaultSkinRenderer_newSkinRendererSlim = nle_ModelBipedNewSkins__init_(0.0, 1);
        $bp = nle_DefaultSkinRenderer_newSkinRendererSlim;
    }
    nleg_EaglerAdapterGL30_glEnable(3553);
    nleg_EaglerAdapterGL30_glDisable(3042);
    nleg_EaglerAdapterGL30_glDisable(2884);
    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
    nleg_EaglerAdapterGL30_glPushMatrix();
    nleg_EaglerAdapterGL30_glTranslatef($x, $y - 80 | 0, 100.0);
    nleg_EaglerAdapterGL30_glScalef(50.0, 50.0, 50.0);
    nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
    nleg_EaglerAdapterGL30_glEnable(32826);
    nleg_EaglerAdapterGL30_glScalef(1.0, (-1.0), 1.0);
    nms_RenderHelper_enableGUIStandardItemLighting();
    nleg_EaglerAdapterGL30_glTranslatef(0.0, 1.0, 0.0);
    var$7 = $y - $my | 0;
    nleg_EaglerAdapterGL30_glRotatef(var$7 * (-0.05999999865889549), 1.0, 0.0, 0.0);
    var$8 = ($x - $mx | 0) * 0.05999999865889549;
    nleg_EaglerAdapterGL30_glRotatef(var$8, 0.0, 1.0, 0.0);
    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-1.0), 0.0);
    $bp.$isChild0 = 0;
    nle_ModelBipedNewSkins_render($bp, null, 0.0, 0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(100000))) / 50.0, var$8, var$7 * (-0.10000000149011612), 0.0625);
    nleg_EaglerAdapterGL30_glPopMatrix();
    nleg_EaglerAdapterGL30_glDisable(32826);
    nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
    nleg_EaglerAdapterGL30_glDisable(3553);
    nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
    nleg_EaglerAdapterGL30_glDisable(2896);
}
function nle_DefaultSkinRenderer_isPlayerPreviewNew($id2) {
    nle_EaglerProfile_$callClinit();
    if (($id2 - nle_EaglerProfile_skins.$size | 0) >= 0)
        return 0;
    return ju_ArrayList_get(nle_EaglerProfile_skins, $id2).$data6.data.length != nle_EaglerProfile_SKIN_DATA_SIZE.data[1] && ju_ArrayList_get(nle_EaglerProfile_skins, $id2).$data6.data.length != nle_EaglerProfile_SKIN_DATA_SIZE.data[3] ? 0 : 1;
}
function nle_DefaultSkinRenderer__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(nle_TextureLocation, 35);
    var$2 = var$1.data;
    var$2[0] = nle_TextureLocation__init_($rt_s(1316));
    var$2[1] = nle_TextureLocation__init_($rt_s(1317));
    var$2[2] = nle_TextureLocation__init_($rt_s(1318));
    var$2[3] = nle_TextureLocation__init_($rt_s(1319));
    var$2[4] = nle_TextureLocation__init_($rt_s(1320));
    var$2[5] = nle_TextureLocation__init_($rt_s(1321));
    var$2[6] = nle_TextureLocation__init_($rt_s(1322));
    var$2[7] = nle_TextureLocation__init_($rt_s(1323));
    var$2[8] = nle_TextureLocation__init_($rt_s(1324));
    var$2[9] = nle_TextureLocation__init_($rt_s(1325));
    var$2[10] = nle_TextureLocation__init_($rt_s(1326));
    var$2[11] = nle_TextureLocation__init_($rt_s(1327));
    var$2[12] = nle_TextureLocation__init_($rt_s(1328));
    var$2[13] = nle_TextureLocation__init_($rt_s(1329));
    var$2[14] = nle_TextureLocation__init_($rt_s(1330));
    var$2[15] = nle_TextureLocation__init_($rt_s(1331));
    var$2[16] = nle_TextureLocation__init_($rt_s(1332));
    var$2[17] = nle_TextureLocation__init_($rt_s(1333));
    var$2[18] = nle_TextureLocation__init_($rt_s(1334));
    var$2[19] = nle_TextureLocation__init_($rt_s(1335));
    var$2[20] = nle_TextureLocation__init_($rt_s(1336));
    var$2[21] = nle_TextureLocation__init_($rt_s(1337));
    var$2[22] = nle_TextureLocation__init_($rt_s(1338));
    var$2[23] = nle_TextureLocation__init_($rt_s(1339));
    var$2[24] = nle_TextureLocation__init_($rt_s(1340));
    var$2[25] = nle_TextureLocation__init_($rt_s(1341));
    var$2[26] = nle_TextureLocation__init_($rt_s(1342));
    var$2[27] = nle_TextureLocation__init_($rt_s(1343));
    var$2[28] = nle_TextureLocation__init_($rt_s(1344));
    var$2[29] = nle_TextureLocation__init_($rt_s(1345));
    var$2[30] = nle_TextureLocation__init_($rt_s(1346));
    var$2[31] = nle_TextureLocation__init_($rt_s(1347));
    var$2[32] = nle_TextureLocation__init_($rt_s(1348));
    var$2[33] = nle_TextureLocation__init_($rt_s(1349));
    var$2[34] = nle_TextureLocation__init_($rt_s(1350));
    nle_DefaultSkinRenderer_defaultVanillaSkins = var$1;
    var$1 = $rt_createBooleanArray(18);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 1;
    var$2[2] = 0;
    var$2[3] = 1;
    var$2[4] = 0;
    var$2[5] = 1;
    var$2[6] = 0;
    var$2[7] = 1;
    var$2[8] = 0;
    var$2[9] = 1;
    var$2[10] = 0;
    var$2[11] = 1;
    var$2[12] = 0;
    var$2[13] = 1;
    var$2[14] = 0;
    var$2[15] = 1;
    var$2[16] = 0;
    var$2[17] = 1;
    nle_DefaultSkinRenderer_defaultVanillaSkinClassicOrSlimVariants = var$1;
    nle_DefaultSkinRenderer_skinCookies = ju_HashMap__init_();
    nle_DefaultSkinRenderer_skinGLUnits = ju_HashMap__init_();
    nle_DefaultSkinRenderer_skinGLTimeout = ju_HashMap__init_();
    nle_DefaultSkinRenderer_lastClean = Long_ZERO;
    nle_DefaultSkinRenderer_oldSkinRenderer = null;
    nle_DefaultSkinRenderer_newSkinRenderer = null;
    nle_DefaultSkinRenderer_newSkinRendererSlim = null;
    nle_DefaultSkinRenderer_zombieRenderer = null;
    nle_DefaultSkinRenderer_villagerRenderer = null;
    nle_DefaultSkinRenderer_endermanRenderer = null;
    nle_DefaultSkinRenderer_blazeRenderer = null;
    nle_DefaultSkinRenderer_skeletonRenderer = null;
}
function nms_GuiMultiplayer() {
    var a = this; nms_GuiScreen.call(a);
    a.$parentScreen = null;
    a.$serverSlotContainer = null;
    a.$selectedServer = 0;
    a.$field_96289_p = null;
    a.$buttonSelect = null;
    a.$buttonDelete = null;
    a.$deleteClicked = 0;
    a.$addClicked = 0;
    a.$editClicked = 0;
    a.$directClicked = 0;
    a.$lagTooltip = null;
    a.$theServerData = null;
    a.$hasInitialRefresh = 0;
    a.$ticksOpened = 0;
    a.$listofLanServers = null;
}
var nms_GuiMultiplayer_threadsPending = 0;
var nms_GuiMultiplayer_lock = null;
var nms_GuiMultiplayer_internetServerList = null;
var nms_GuiMultiplayer_lastCooldown = Long_ZERO;
var nms_GuiMultiplayer_lastRefresh = Long_ZERO;
var nms_GuiMultiplayer_cooldownTimer = 0;
var nms_GuiMultiplayer_isLockedOut = 0;
function nms_GuiMultiplayer__init_(var_0) {
    var var_1 = new nms_GuiMultiplayer();
    nms_GuiMultiplayer__init_0(var_1, var_0);
    return var_1;
}
function nms_GuiMultiplayer__init_0($this, $par1GuiScreen) {
    nms_GuiScreen__init_($this);
    $this.$selectedServer = (-1);
    $this.$deleteClicked = 0;
    $this.$addClicked = 0;
    $this.$editClicked = 0;
    $this.$directClicked = 0;
    $this.$lagTooltip = null;
    $this.$theServerData = null;
    $this.$hasInitialRefresh = 0;
    $this.$listofLanServers = ju_Collections_emptyList();
    $this.$parentScreen = $par1GuiScreen;
    nms_GuiMultiplayer_isLockedOut = 0;
}
function nms_GuiMultiplayer_tickRefreshCooldown() {
    var $t;
    if (nms_GuiMultiplayer_cooldownTimer > 0) {
        $t = jl_System_currentTimeMillis();
        if (Long_gt(Long_sub($t, nms_GuiMultiplayer_lastCooldown), Long_fromInt(5000))) {
            nms_GuiMultiplayer_cooldownTimer = nms_GuiMultiplayer_cooldownTimer - 1 | 0;
            nms_GuiMultiplayer_lastCooldown = $t;
        }
    }
}
function nms_GuiMultiplayer_testIfCanRefresh() {
    var $t;
    $t = jl_System_currentTimeMillis();
    if (Long_gt(Long_sub($t, nms_GuiMultiplayer_lastRefresh), Long_fromInt(1000))) {
        nms_GuiMultiplayer_lastRefresh = $t;
        if (nms_GuiMultiplayer_cooldownTimer >= 8)
            nms_GuiMultiplayer_isLockedOut = 1;
        else
            nms_GuiMultiplayer_cooldownTimer = nms_GuiMultiplayer_cooldownTimer + 1 | 0;
        if (nms_GuiMultiplayer_cooldownTimer < 5) {
            nms_GuiMultiplayer_isLockedOut = 0;
            return 1;
        }
    }
    return 0;
}
function nms_GuiMultiplayer_initGui($this) {
    var var$1, var$2;
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
    ju_ArrayList_clear($this.$buttonList);
    if ($this.$hasInitialRefresh)
        nms_GuiSlot_func_77207_a($this.$serverSlotContainer, $this.$width, $this.$height, 32, $this.$height - 64 | 0);
    else {
        $this.$hasInitialRefresh = 1;
        if (nms_GuiMultiplayer_internetServerList === null) {
            var$1 = new nms_ServerList;
            var$2 = $this.$mc2;
            var$1.$servers = ju_ArrayList__init_0();
            var$1.$allServers = ju_ArrayList__init_0();
            var$1.$mc = var$2;
            nms_ServerList_loadServerList(var$1);
            nms_GuiMultiplayer_internetServerList = var$1;
        } else if (nms_GuiMultiplayer_testIfCanRefresh())
            nms_ServerList_loadServerList(nms_GuiMultiplayer_internetServerList);
        var$1 = new nms_GuiSlotServer;
        nms_GuiSlot__init_(var$1, $this.$mc2, $this.$width, $this.$height, 32, $this.$height - 64 | 0, 36);
        var$1.$parentGui = $this;
        var$1.$elementWidth = 128;
        $this.$serverSlotContainer = var$1;
    }
    nms_GuiMultiplayer_initGuiControls($this);
}
function nms_GuiMultiplayer_initGuiControls($this) {
    var $var1, var$2, var$3, var$4, $var2;
    $var1 = nms_StringTranslate_instance;
    var$2 = $this.$buttonList;
    var$3 = nms_GuiButton__init_0(7, ($this.$width / 2 | 0) - 154 | 0, $this.$height - 28 | 0, 70, 20, nms_StringTranslate_translateKey($var1, $rt_s(1351)));
    $this.$field_96289_p = var$3;
    ju_ArrayList_add(var$2, var$3);
    var$3 = $this.$buttonList;
    var$4 = nms_GuiButton__init_0(2, ($this.$width / 2 | 0) - 74 | 0, $this.$height - 28 | 0, 70, 20, nms_StringTranslate_translateKey($var1, $rt_s(1352)));
    $this.$buttonDelete = var$4;
    ju_ArrayList_add(var$3, var$4);
    var$3 = $this.$buttonList;
    var$2 = nms_GuiButton__init_0(1, ($this.$width / 2 | 0) - 154 | 0, $this.$height - 52 | 0, 100, 20, nms_StringTranslate_translateKey($var1, $rt_s(1353)));
    $this.$buttonSelect = var$2;
    ju_ArrayList_add(var$3, var$2);
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(4, ($this.$width / 2 | 0) - 50 | 0, $this.$height - 52 | 0, 100, 20, nms_StringTranslate_translateKey($var1, $rt_s(1354))));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(3, (($this.$width / 2 | 0) + 4 | 0) + 50 | 0, $this.$height - 52 | 0, 100, 20, nms_StringTranslate_translateKey($var1, $rt_s(1355))));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(8, ($this.$width / 2 | 0) + 4 | 0, $this.$height - 28 | 0, 70, 20, nms_StringTranslate_translateKey($var1, $rt_s(1356))));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(0, (($this.$width / 2 | 0) + 4 | 0) + 76 | 0, $this.$height - 28 | 0, 75, 20, nms_StringTranslate_translateKey($var1, $rt_s(1308))));
    $var2 = $this.$selectedServer >= 0 && $this.$selectedServer < nms_GuiSlotServer_getSize($this.$serverSlotContainer) ? 1 : 0;
    $this.$buttonSelect.$enabled = $var2;
    $this.$field_96289_p.$enabled = $var2;
    $this.$buttonDelete.$enabled = $var2;
}
function nms_GuiMultiplayer_updateScreen($this) {
    nms_ServerList_updateServerPing(nms_GuiMultiplayer_internetServerList);
    $this.$ticksOpened = $this.$ticksOpened + 1 | 0;
}
function nms_GuiMultiplayer_onGuiClosed($this) {
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
}
function nms_GuiMultiplayer_actionPerformed($this, $par1GuiButton) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if (!$par1GuiButton.$enabled)
                break a;
            if ($par1GuiButton.$id3 == 2) {
                $var2 = nms_ServerList_getServerData(nms_GuiMultiplayer_internetServerList, $this.$selectedServer).$serverName;
                if ($var2 !== null) {
                    $this.$deleteClicked = 1;
                    $var3 = nms_StringTranslate_instance;
                    $var4 = nms_StringTranslate_translateKey($var3, $rt_s(1357));
                    $par1GuiButton = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($par1GuiButton);
                    jl_AbstractStringBuilder_append($par1GuiButton, $rt_s(1358));
                    jl_AbstractStringBuilder_append($par1GuiButton, $var2);
                    jl_AbstractStringBuilder_append($par1GuiButton, $rt_s(1359));
                    jl_AbstractStringBuilder_append($par1GuiButton, nms_StringTranslate_translateKey($var3, $rt_s(1360)));
                    $var5 = jl_AbstractStringBuilder_toString($par1GuiButton);
                    $var6 = nms_StringTranslate_translateKey($var3, $rt_s(1361));
                    $var7 = nms_StringTranslate_translateKey($var3, $rt_s(1308));
                    $var8 = new nms_GuiYesNo;
                    var$9 = $this.$selectedServer;
                    nms_GuiScreen__init_($var8);
                    $var8.$parentScreen0 = $this;
                    $var8.$message1 = $var4;
                    $var8.$message2 = $var5;
                    $var8.$buttonText1 = $var6;
                    $var8.$buttonText2 = $var7;
                    $var8.$worldNumber = var$9;
                    nmc_Minecraft_displayGuiScreen($this.$mc2, $var8);
                }
                break a;
            }
            if ($par1GuiButton.$id3 == 1) {
                var$9 = $this.$selectedServer;
                $ptr = 1;
                continue main;
            }
            if ($par1GuiButton.$id3 == 4) {
                $this.$directClicked = 1;
                $par1GuiButton = $this.$mc2;
                $var9 = new nms_GuiScreenServerList;
                $var2 = nms_ServerData__init_(nms_StatCollector_translateToLocal($rt_s(1362)), $rt_s(36), 0);
                $this.$theServerData = $var2;
                nms_GuiScreen__init_($var9);
                $var9.$guiScreen = $this;
                $var9.$theServerData0 = $var2;
                nmc_Minecraft_displayGuiScreen($par1GuiButton, $var9);
                break a;
            }
            if ($par1GuiButton.$id3 == 3) {
                $this.$addClicked = 1;
                $var9 = $this.$mc2;
                $var2 = new nms_GuiScreenAddServer;
                $var4 = nms_ServerData__init_(nms_StatCollector_translateToLocal($rt_s(1362)), $rt_s(36), 0);
                $this.$theServerData = $var4;
                nms_GuiScreenAddServer__init_($var2, $this, $var4);
                nmc_Minecraft_displayGuiScreen($var9, $var2);
                break a;
            }
            if ($par1GuiButton.$id3 == 7) {
                $this.$editClicked = 1;
                $var9 = nms_ServerList_getServerData(nms_GuiMultiplayer_internetServerList, $this.$selectedServer);
                $this.$theServerData = nms_ServerData__init_($var9.$serverName, $var9.$serverIP, 0);
                $this.$theServerData.$hideAddress = $var9.$hideAddress;
                nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiScreenAddServer__init_0($this, $this.$theServerData));
                break a;
            }
            if (!$par1GuiButton.$id3) {
                nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$parentScreen);
                break a;
            }
            if ($par1GuiButton.$id3 != 8) {
                nms_GuiSlot_actionPerformed($this.$serverSlotContainer, $par1GuiButton);
                break a;
            }
            if (!nms_GuiMultiplayer_testIfCanRefresh())
                break a;
            nms_GuiMultiplayer_lastRefresh = Long_ZERO;
            nms_GuiMultiplayer_cooldownTimer = nms_GuiMultiplayer_cooldownTimer - 1 | 0;
            nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiMultiplayer__init_($this.$parentScreen));
        }
        return;
    case 1:
        nms_GuiMultiplayer_joinServer($this, var$9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, $var9, $ptr);
}
function nms_GuiMultiplayer_confirmClicked($this, $par1, $par2) {
    var $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$deleteClicked) {
            $this.$deleteClicked = 0;
            if ($par1) {
                nms_ServerList_removeServerData(nms_GuiMultiplayer_internetServerList, $par2);
                nms_ServerList_saveServerList(nms_GuiMultiplayer_internetServerList);
                $this.$selectedServer = (-1);
            }
            nmc_Minecraft_displayGuiScreen($this.$mc2, $this);
        } else if (!$this.$directClicked) {
            if ($this.$addClicked) {
                $this.$addClicked = 0;
                if ($par1) {
                    nms_ServerList_addServerData(nms_GuiMultiplayer_internetServerList, $this.$theServerData);
                    nms_ServerList_saveServerList(nms_GuiMultiplayer_internetServerList);
                    $this.$selectedServer = (-1);
                }
                nmc_Minecraft_displayGuiScreen($this.$mc2, $this);
            } else if ($this.$editClicked) {
                $this.$editClicked = 0;
                if ($par1) {
                    $var3 = nms_ServerList_getServerData(nms_GuiMultiplayer_internetServerList, $this.$selectedServer);
                    $var3.$serverName = $this.$theServerData.$serverName;
                    $var3.$serverIP = $this.$theServerData.$serverIP;
                    $var3.$hideAddress = $this.$theServerData.$hideAddress;
                    $var3.$pingSentTime = Long_fromInt(-1);
                    nms_ServerList_saveServerList(nms_GuiMultiplayer_internetServerList);
                }
                nmc_Minecraft_displayGuiScreen($this.$mc2, $this);
            }
        } else {
            $this.$directClicked = 0;
            if ($par1) {
                $var3 = $this.$theServerData;
                $ptr = 1;
                continue main;
            }
            nmc_Minecraft_displayGuiScreen($this.$mc2, $this);
        }
        return;
    case 1:
        nms_GuiMultiplayer_connectToServer($this, $var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, $ptr);
}
function nms_GuiMultiplayer_keyTyped($this, $par1, $par2) {
    var $var3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = $this.$selectedServer;
        if ($par2 == 59) {
            $this.$mc2.$gameSettings.$hideServerAddress = $this.$mc2.$gameSettings.$hideServerAddress ? 0 : 1;
            nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
        } else if (nms_GuiScreen_isShiftKeyDown() && $par2 == 200) {
            if ($var3 > nms_ServerList_forcedServers.$size && $var3 < nms_ServerList_countServers(nms_GuiMultiplayer_internetServerList)) {
                $this.$selectedServer = $this.$selectedServer - 1 | 0;
                if ($var3 < (nms_ServerList_countServers(nms_GuiMultiplayer_internetServerList) - 1 | 0))
                    nms_GuiSlot_func_77208_b($this.$serverSlotContainer,  -$this.$serverSlotContainer.$slotHeight);
            }
        } else if (nms_GuiScreen_isShiftKeyDown() && $par2 == 208) {
            if ($var3 < (nms_ServerList_countServers(nms_GuiMultiplayer_internetServerList) - 1 | 0)) {
                $this.$selectedServer = $this.$selectedServer + 1 | 0;
                if ($var3 > 0)
                    nms_GuiSlot_func_77208_b($this.$serverSlotContainer, $this.$serverSlotContainer.$slotHeight);
            }
        } else if ($par1 == 13) {
            var$4 = ju_ArrayList_get($this.$buttonList, 2);
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        nms_GuiMultiplayer_actionPerformed($this, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, var$4, $ptr);
}
function nms_GuiMultiplayer_drawScreen($this, $par1, $par2, $par3) {
    var $var4, $showAyonull, $canYouNot, $linkWidth, $mouseOver, $link, $w, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$w = $thread.pop();$link = $thread.pop();$mouseOver = $thread.pop();$linkWidth = $thread.pop();$canYouNot = $thread.pop();$showAyonull = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$lagTooltip = null;
        $var4 = nms_StringTranslate_instance;
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        $showAyonull = nle_ConfigConstants_ayonullTitle !== null && nle_ConfigConstants_ayonullLink !== null ? 1 : 0;
        $this.$serverSlotContainer.$top = !$showAyonull ? 32 : 42;
        $canYouNot = $this.$serverSlotContainer;
        $ptr = 2;
    case 2:
        nms_GuiSlot_drawScreen($canYouNot, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        if ($showAyonull) {
            $var4 = $this.$fontRenderer0;
            $canYouNot = nle_ConfigConstants_ayonullTitle;
            $linkWidth = $this.$width / 2 | 0;
            $showAyonull = 12;
            $mouseOver = 14540134;
            $ptr = 4;
            continue main;
        }
        $canYouNot = $this.$fontRenderer0;
        $var4 = nms_StringTranslate_translateKey($var4, $rt_s(1363));
        $showAyonull = $this.$width / 2 | 0;
        $mouseOver = 16;
        $linkWidth = 16777215;
        $ptr = 3;
    case 3:
        nms_Gui_drawCenteredString($this, $canYouNot, $var4, $showAyonull, $mouseOver, $linkWidth);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 5;
        continue main;
    case 4:
        nms_Gui_drawCenteredString($this, $var4, $canYouNot, $linkWidth, $showAyonull, $mouseOver);
        if ($rt_suspending()) {
            break main;
        }
        $link = nle_ConfigConstants_ayonullLink;
        $linkWidth = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $link);
        $mouseOver = $par1 > ((($this.$width - $linkWidth | 0) / 2 | 0) - 10 | 0) && $par1 < ((($this.$width + $linkWidth | 0) / 2 | 0) + 10 | 0) && $par2 > 21 && $par2 < 35 ? 1 : 0;
        $canYouNot = $this.$fontRenderer0;
        $var4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var4);
        jl_AbstractStringBuilder_append1($var4, nms_EnumChatFormatting_UNDERLINE);
        jl_AbstractStringBuilder_append($var4, $link);
        $var4 = jl_AbstractStringBuilder_toString($var4);
        $linkWidth = ($this.$width - $linkWidth | 0) / 2 | 0;
        $showAyonull = 23;
        $mouseOver = !$mouseOver ? 7829469 : 12303359;
        $ptr = 8;
        continue main;
    case 5:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$lagTooltip !== null) {
            $var4 = $this.$lagTooltip;
            $ptr = 6;
            continue main;
        }
        if (!nms_GuiMultiplayer_isLockedOut)
            return;
        $canYouNot = $rt_s(1364);
        $w = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $canYouNot);
        nms_Gui_drawRect((($this.$width - $w | 0) - 4 | 0) / 2 | 0, $this.$height - 80 | 0, (($this.$width + $w | 0) + 4 | 0) / 2 | 0, $this.$height - 70 | 0, (-872415232));
        $var4 = $this.$fontRenderer0;
        $par1 = ($this.$width - $w | 0) / 2 | 0;
        $par2 = $this.$height - 79 | 0;
        $linkWidth = (-2285022);
        $ptr = 7;
        continue main;
    case 6:
        nms_GuiMultiplayer_func_74007_a($this, $var4, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_GuiMultiplayer_isLockedOut)
            return;
        $canYouNot = $rt_s(1364);
        $w = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $canYouNot);
        nms_Gui_drawRect((($this.$width - $w | 0) - 4 | 0) / 2 | 0, $this.$height - 80 | 0, (($this.$width + $w | 0) + 4 | 0) / 2 | 0, $this.$height - 70 | 0, (-872415232));
        $var4 = $this.$fontRenderer0;
        $par1 = ($this.$width - $w | 0) / 2 | 0;
        $par2 = $this.$height - 79 | 0;
        $linkWidth = (-2285022);
        $ptr = 7;
    case 7:
        nms_FontRenderer_drawStringWithShadow($var4, $canYouNot, $par1, $par2, $linkWidth);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_GuiMultiplayer_cooldownTimer < 3)
            nms_GuiMultiplayer_isLockedOut = 0;
        return;
    case 8:
        nms_FontRenderer_drawStringWithShadow($canYouNot, $var4, $linkWidth, $showAyonull, $mouseOver);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 5;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $showAyonull, $canYouNot, $linkWidth, $mouseOver, $link, $w, $ptr);
}
function nms_GuiMultiplayer_mouseClicked($this, $par1, $par2, $par3) {
    var $linkWidth, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$linkWidth = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par3 && nle_ConfigConstants_ayonullTitle !== null && nle_ConfigConstants_ayonullLink !== null) {
            $linkWidth = nms_FontRenderer_getStringWidth($this.$fontRenderer0, nle_ConfigConstants_ayonullLink);
            if ($par1 > ((($this.$width - $linkWidth | 0) / 2 | 0) - 10 | 0) && $par1 < ((($this.$width + $linkWidth | 0) / 2 | 0) + 10 | 0) && $par2 > 21 && $par2 < 35 ? 1 : 0) {
                nlea_EaglerAdapterImpl2_openLink(nle_ConfigConstants_ayonullLink);
                return;
            }
        }
        $ptr = 1;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $linkWidth, $ptr);
}
function nms_GuiMultiplayer_joinServer($this, $par1) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = nms_ServerList_getServerData(nms_GuiMultiplayer_internetServerList, $par1);
        $ptr = 1;
    case 1:
        nms_GuiMultiplayer_connectToServer($this, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, $ptr);
}
function nms_GuiMultiplayer_connectToServer($this, $par1ServerData) {
    var var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1ServerData = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$mc2;
        var$3 = new nms_GuiConnecting;
        var$4 = $this.$mc2;
        $ptr = 1;
    case 1:
        nms_GuiConnecting__init_(var$3, $this, var$4, $par1ServerData);
        if ($rt_suspending()) {
            break main;
        }
        nmc_Minecraft_displayGuiScreen(var$2, var$3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ServerData, var$2, var$3, var$4, $ptr);
}
function nms_GuiMultiplayer_func_74007_a($this, $par1Str, $par2, $par3) {
    var $var4, $var5, var$6, $strs, $var6, $full, $i, var$11, $var6_0, $w, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$w = $thread.pop();$var6_0 = $thread.pop();var$11 = $thread.pop();$i = $thread.pop();$full = $thread.pop();$var6 = $thread.pop();$strs = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1Str !== null) {
            if (jl_String_indexOf0($par1Str, 10) < 0) {
                $var4 = $par2 + 12 | 0;
                $var5 = $par3 - 12 | 0;
                nms_Gui_drawGradientRect($this, $var4 - 3 | 0, $var5 - 3 | 0, ($var4 + nms_FontRenderer_getStringWidth($this.$fontRenderer0, $par1Str) | 0) + 3 | 0, ($var5 + 8 | 0) + 3 | 0, (-1073741824), (-1073741824));
                var$6 = $this.$fontRenderer0;
                $par2 = (-1);
                $ptr = 1;
                continue main;
            }
            $strs = jl_String_split($par1Str, $rt_s(64));
            $var6 = 0;
            $full = 0;
            $i = 0;
            while (true) {
                var$11 = $strs.data;
                $var6_0 = var$11.length;
                if ($i >= $var6_0)
                    break;
                var$11[$i] = jl_String_trim(jl_String_replace(var$11[$i], 13, 32));
                if (jl_String_length(var$11[$i]) > 0) {
                    $w = nms_FontRenderer_getStringWidth($this.$fontRenderer0, var$11[$i]);
                    if ($w > $var6)
                        $var6 = $w;
                    $full = $full + 1 | 0;
                }
                $i = $i + 1 | 0;
            }
            $var4 = $par2 + 12 | 0;
            $var5 = $par3 - 12 | 0;
            nms_Gui_drawGradientRect($this, $var4 - 3 | 0, $var5 - 3 | 0, ($var4 + $var6 | 0) + 3 | 0, ($var5 + ($full * 9 | 0) | 0) + 2 | 0, (-1073741824), (-1073741824));
            $i = 0;
            while ($i < $var6_0) {
                if (jl_String_length(var$11[$i]) > 0) {
                    $par1Str = $this.$fontRenderer0;
                    var$6 = var$11[$i];
                    $var6 = 0 + 1 | 0;
                    $par2 = $var5 + (9 * 0 | 0) | 0;
                    $par3 = (-1);
                    $ptr = 2;
                    continue main;
                }
                $i = $i + 1 | 0;
            }
        }
        return;
    case 1:
        nms_FontRenderer_drawStringWithShadow(var$6, $par1Str, $var4, $var5, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_FontRenderer_drawStringWithShadow($par1Str, var$6, $var4, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $var6;
        while (true) {
            $i = $i + 1 | 0;
            if ($i >= $var6_0)
                break;
            if (jl_String_length(var$11[$i]) > 0) {
                $par1Str = $this.$fontRenderer0;
                var$6 = var$11[$i];
                $var6 = $par2 + 1 | 0;
                $par2 = $var5 + (9 * $par2 | 0) | 0;
                $par3 = (-1);
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par3, $var4, $var5, var$6, $strs, $var6, $full, $i, var$11, $var6_0, $w, $ptr);
}
function nms_GuiMultiplayer_getInternetServerList($par0GuiMultiplayer) {
    return nms_GuiMultiplayer_internetServerList;
}
function nms_GuiMultiplayer_getSelectedServer($par0GuiMultiplayer) {
    var $i;
    $i = nms_ServerList_countServers(nms_GuiMultiplayer_internetServerList);
    if ($par0GuiMultiplayer.$selectedServer >= $i && $par0GuiMultiplayer.$selectedServer > 0)
        $par0GuiMultiplayer.$selectedServer = $i - 1 | 0;
    return $par0GuiMultiplayer.$selectedServer;
}
function nms_GuiMultiplayer_getAndSetLagTooltip($par0GuiMultiplayer, $par1Str) {
    $par0GuiMultiplayer.$lagTooltip = $par1Str;
    return $par1Str;
}
function nms_GuiMultiplayer__clinit_() {
    nms_GuiMultiplayer_threadsPending = 0;
    nms_GuiMultiplayer_lock = new jl_Object;
    nms_GuiMultiplayer_internetServerList = null;
    nms_GuiMultiplayer_lastCooldown = Long_ZERO;
    nms_GuiMultiplayer_lastRefresh = Long_ZERO;
    nms_GuiMultiplayer_cooldownTimer = 0;
    nms_GuiMultiplayer_isLockedOut = 0;
}
function nle_GuiScreenVoiceChannel() {
    var a = this; nms_GuiScreen.call(a);
    a.$screenTitle0 = null;
    a.$parent0 = null;
    a.$channel = null;
    a.$done = null;
    a.$connect0 = null;
    a.$disconnect0 = null;
    a.$slider = null;
}
var nle_GuiScreenVoiceChannel_tex_gui = null;
var nle_GuiScreenVoiceChannel_connectedUsers = null;
var nle_GuiScreenVoiceChannel_talkingUsers = null;
var nle_GuiScreenVoiceChannel_voiceActive = 0;
var nle_GuiScreenVoiceChannel_voiceRelayed = 0;
var nle_GuiScreenVoiceChannel_fadeInTimer = Long_ZERO;
function nle_GuiScreenVoiceChannel_initGui($this) {
    var $var1, var$2, var$3, var$4, var$5, var$6;
    $var1 = nms_StringTranslate_instance;
    $this.$screenTitle0 = nms_StringTranslate_translateKey($var1, $rt_s(1365));
    $this.$channel = nms_GuiTextField__init_($this.$fontRenderer0, ($this.$width / 2 | 0) - 98 | 0, ($this.$height / 6 | 0) + 24 | 0, 195, 20);
    var$2 = $this.$channel;
    nle_EaglerProfile_$callClinit();
    nms_GuiTextField_setText(var$2, nle_EaglerProfile_myChannel);
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
    var$3 = $this.$buttonList;
    var$4 = nms_GuiButton__init_(200, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 148 | 0, nms_StringTranslate_translateKey($var1, $rt_s(511)));
    $this.$done = var$4;
    ju_ArrayList_add(var$3, var$4);
    var$3 = $this.$buttonList;
    var$4 = nms_GuiButton__init_0(1, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 52 | 0, 99, 20, nms_StringTranslate_translateKey($var1, $rt_s(1366)));
    $this.$connect0 = var$4;
    ju_ArrayList_add(var$3, var$4);
    var$2 = $this.$buttonList;
    var$3 = nms_GuiButton__init_0(2, ($this.$width / 2 | 0) + 1 | 0, ($this.$height / 6 | 0) + 52 | 0, 99, 20, nms_StringTranslate_translateKey($var1, $rt_s(1367)));
    $this.$disconnect0 = var$3;
    ju_ArrayList_add(var$2, var$3);
    var$2 = $this.$buttonList;
    var$3 = new nms_GuiSlider2;
    var$5 = ($this.$width / 2 | 0) - 100 | 0;
    var$6 = ($this.$height / 6 | 0) + 103 | 0;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append2(var$4, 100);
    jl_AbstractStringBuilder_append(var$4, $rt_s(344));
    nms_GuiButton__init_1(var$3, 3, var$5, var$6, 200, 20, jl_AbstractStringBuilder_toString(var$4));
    var$3.$sliderValue = 1.0;
    var$3.$sliderMax = 1.0;
    var$3.$dragging0 = 0;
    var$3.$sliderValue = 0.5;
    var$3.$sliderMax = 2.0;
    $this.$slider = var$3;
    ju_ArrayList_add(var$2, var$3);
}
function nle_GuiScreenVoiceChannel_onGuiClosed($this) {
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
}
function nle_GuiScreenVoiceChannel_drawScreen($this, $mx, $my, $par3) {
    var $var1, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var1 = $thread.pop();$par3 = $thread.pop();$my = $thread.pop();$mx = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = nms_StringTranslate_instance;
        var$5 = $this.$fontRenderer0;
        var$6 = $this.$screenTitle0;
        var$7 = $this.$width / 2 | 0;
        var$8 = 15;
        var$9 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var1, $rt_s(1368));
        var$8 = ($this.$width / 2 | 0) - 98 | 0;
        var$9 = ($this.$height / 6 | 0) + 8 | 0;
        var$7 = 10526880;
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawStringWithShadow(var$5, var$6, var$8, var$9, var$7);
        if ($rt_suspending()) {
            break main;
        }
        if (nle_GuiScreenVoiceChannel_voiceRelayed) {
            var$5 = $this.$fontRenderer0;
            var$6 = nms_StringTranslate_translateKey($var1, $rt_s(1369));
            var$9 = $this.$width / 2 | 0;
            var$7 = ($this.$height / 6 | 0) + 125 | 0;
            var$8 = 16764108;
            $ptr = 5;
            continue main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var1, $rt_s(1370));
        var$8 = ($this.$width / 2 | 0) - 98 | 0;
        var$9 = ($this.$height / 6 | 0) + 89 | 0;
        var$7 = 10526880;
        $ptr = 4;
    case 4:
        nms_FontRenderer_drawStringWithShadow(var$5, var$6, var$8, var$9, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $this.$slider.$yPosition = ($this.$height / 6 | 0) + 103 | 0;
        $this.$done.$yPosition = ($this.$height / 6 | 0) + 148 | 0;
        $ptr = 9;
        continue main;
    case 5:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$9, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var1, $rt_s(1371));
        var$8 = $this.$width / 2 | 0;
        var$9 = ($this.$height / 6 | 0) + 136 | 0;
        var$7 = 16764108;
        $ptr = 6;
    case 6:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$8, var$9, var$7);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var1, $rt_s(1372));
        var$8 = $this.$width / 2 | 0;
        var$9 = ($this.$height / 6 | 0) + 147 | 0;
        var$7 = 16764108;
        $ptr = 7;
    case 7:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$8, var$9, var$7);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var1, $rt_s(1370));
        var$8 = ($this.$width / 2 | 0) - 98 | 0;
        var$9 = ($this.$height / 6 | 0) + 81 | 0;
        var$7 = 10526880;
        $ptr = 8;
    case 8:
        nms_FontRenderer_drawStringWithShadow(var$5, var$6, var$8, var$9, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $this.$slider.$yPosition = ($this.$height / 6 | 0) + 95 | 0;
        $this.$done.$yPosition = ($this.$height / 6 | 0) + 168 | 0;
        $ptr = 9;
    case 9:
        nms_GuiScreen_drawScreen($this, $mx, $my, $par3);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$channel;
        $ptr = 10;
    case 10:
        nms_GuiTextField_drawTextBox(var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $mx, $my, $par3, $var1, var$5, var$6, var$7, var$8, var$9, $ptr);
}
function nle_GuiScreenVoiceChannel_actionPerformed($this, $par1GuiButton) {
    if ($par1GuiButton.$id3 == 200)
        nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$parent0);
    else if ($par1GuiButton.$id3 == 1) {
        nlea_EaglerAdapterImpl2_$callClinit();
        alert("voice channels are not implemented yet");
        nlea_EaglerAdapterImpl2_connected = 1;
    } else if ($par1GuiButton.$id3 == 2) {
        nlea_EaglerAdapterImpl2_$callClinit();
        nlea_EaglerAdapterImpl2_connected = 0;
    }
}
function nle_GuiScreenVoiceChannel_updateScreen($this) {
    nms_GuiTextField_updateCursorCounter($this.$channel);
    $this.$connect0.$enabled = nle_GuiScreenVoiceChannel_voiceActive ? 0 : 1;
    $this.$disconnect0.$enabled = nle_GuiScreenVoiceChannel_voiceActive;
    $this.$channel.$isEnabled = nle_GuiScreenVoiceChannel_voiceActive ? 0 : 1;
    $this.$slider.$enabled = nle_GuiScreenVoiceChannel_voiceActive;
}
function nle_GuiScreenVoiceChannel_keyTyped($this, $par1, $par2) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$channel;
        $ptr = 1;
    case 1:
        nms_GuiTextField_textboxKeyTyped(var$3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, $ptr);
}
function nle_GuiScreenVoiceChannel_mouseClicked($this, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiTextField_mouseClicked($this.$channel, $par1, $par2, $par3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $ptr);
}
function nle_GuiScreenVoiceChannel_tickVoiceConnection() {
    nlea_EaglerAdapterImpl2_$callClinit();
    nle_GuiScreenVoiceChannel_voiceActive = nlea_EaglerAdapterImpl2_connected;
    if (!nle_GuiScreenVoiceChannel_voiceActive)
        nle_GuiScreenVoiceChannel_voiceRelayed = 0;
    else {
        nle_GuiScreenVoiceChannel_voiceRelayed = nlea_EaglerAdapterImpl2_connected;
        nle_GuiScreenVoiceChannel_connectedUsers = $rt_createArray(jl_String, 0);
        nle_GuiScreenVoiceChannel_talkingUsers = $rt_createArray(jl_String, 0);
        ju_Arrays_sort(nle_GuiScreenVoiceChannel_talkingUsers);
        ju_Arrays_sort(nle_GuiScreenVoiceChannel_connectedUsers);
    }
}
function nle_GuiScreenVoiceChannel_drawOverlay() {
    var $mc, $res, $i, $titleScreen, $width, $line1, $line2, $ll1, $ll2, var$10, $wid, $i_0, var$13, var$14, $sw, var$16, $wid_0, $sw_0, $i_1, $isTalking, $j, $b, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$b = $thread.pop();$j = $thread.pop();$isTalking = $thread.pop();$i_1 = $thread.pop();$sw_0 = $thread.pop();$wid_0 = $thread.pop();var$16 = $thread.pop();$sw = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$i_0 = $thread.pop();$wid = $thread.pop();var$10 = $thread.pop();$ll2 = $thread.pop();$ll1 = $thread.pop();$line2 = $thread.pop();$line1 = $thread.pop();$width = $thread.pop();$titleScreen = $thread.pop();$i = $thread.pop();$res = $thread.pop();$mc = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $mc = nmc_Minecraft_getMinecraft();
        if (Long_lt(Long_sub(jl_System_currentTimeMillis(), nle_GuiScreenVoiceChannel_fadeInTimer), Long_fromInt(1500))) {
            $res = nms_ScaledResolution__init_($mc.$gameSettings, $mc.$displayWidth, $mc.$displayHeight);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nleg_EaglerAdapterGL30_glDisable(3008);
            nleg_EaglerAdapterGL30_glDisable(2929);
            nleg_EaglerAdapterGL30_glDepthMask(0);
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
            $i = 1.0 / (Long_toNumber(Long_sub(jl_System_currentTimeMillis(), nle_GuiScreenVoiceChannel_fadeInTimer)) / 600.0 + 1.0);
            $i = $i * $i * 1.0800000429153442 - 0.07999999821186066;
            if ($i < 0.0)
                $i = 0.0;
            nms_Gui_drawRect(0, 0, nms_ScaledResolution_getScaledWidth($res), nms_ScaledResolution_getScaledHeight($res), ($i * 255.0 | 0) << 24 | 16777215);
            nleg_EaglerAdapterGL30_glEnable(3008);
            if (Long_lt(Long_sub(jl_System_currentTimeMillis(), nle_GuiScreenVoiceChannel_fadeInTimer), Long_fromInt(130))) {
                $ptr = 1;
                continue main;
            }
            nleg_EaglerAdapterGL30_glEnable(2929);
            nleg_EaglerAdapterGL30_glDepthMask(1);
        }
        $titleScreen = $mc.$currentScreen !== null && $mc.$currentScreen instanceof nms_GuiMainMenu ? 1 : 0;
        if (nle_GuiScreenVoiceChannel_voiceActive && !($titleScreen && $mc.$currentScreen.$showAck) && !$mc.$gameSettings.$showDebugInfo) {
            $res = nms_ScaledResolution__init_($mc.$gameSettings, $mc.$displayWidth, $mc.$displayHeight);
            $width = nms_ScaledResolution_getScaledWidth($res);
            nms_ScaledResolution_getScaledHeight($res);
            if ($titleScreen) {
                nleg_EaglerAdapterGL30_glPushMatrix();
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 12.0, 0.0);
            }
            a: {
                b: {
                    nleg_EaglerAdapterGL30_glDisable(2896);
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    nleg_EaglerAdapterGL30_glEnable(3553);
                    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                    $line1 = $rt_s(1373);
                    $line2 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nle_GuiScreenVoiceChannel_connectedUsers.data.length), $rt_s(1374)));
                    $ll1 = nms_FontRenderer_getStringWidth($mc.$fontRenderer, $line1);
                    $ll2 = nms_FontRenderer_getStringWidth($mc.$fontRenderer, $line2);
                    var$10 = $width - 17 | 0;
                    nms_Gui_drawRect((var$10 - $ll1 | 0) - 6 | 0, 0, $width, 20, 855638016);
                    if (!$mc.$gameSettings.$keyBindPlayerList.$pressed) {
                        if ($mc.$currentScreen === null)
                            break b;
                        if (!($mc.$currentScreen instanceof nms_GuiIngameMenu) && !($mc.$currentScreen instanceof nle_GuiScreenVoiceChannel))
                            break b;
                    }
                    if (nle_GuiScreenVoiceChannel_connectedUsers.data.length <= 0)
                        break a;
                    $wid = 0;
                    $i_0 = 0;
                    var$13 = $width - 12 | 0;
                    var$14 = $width - 9 | 0;
                    if ($i_0 >= nle_GuiScreenVoiceChannel_connectedUsers.data.length) {
                        nms_Gui_drawRect(($width - $wid | 0) - 15 | 0, 24, $width, 26 + (nle_GuiScreenVoiceChannel_connectedUsers.data.length * 11 | 0) | 0, 855638016);
                        break a;
                    }
                    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                    $sw = nms_FontRenderer_getStringWidth($mc.$fontRenderer, nle_GuiScreenVoiceChannel_connectedUsers.data[$i_0]);
                    $res = $mc.$fontRenderer;
                    var$16 = nle_GuiScreenVoiceChannel_connectedUsers.data[$i_0];
                    $wid_0 = var$13 - $sw | 0;
                    $sw_0 = $i_0 * 11 | 0;
                    $i_1 = 26 + $sw_0 | 0;
                    $isTalking = (-1118482);
                    $ptr = 5;
                    continue main;
                }
                if (nle_GuiScreenVoiceChannel_talkingUsers.data.length > 0) {
                    $wid_0 = 0;
                    $i_1 = 0;
                    $isTalking = $width - 12 | 0;
                    var$14 = $width - 9 | 0;
                    if ($i_1 < nle_GuiScreenVoiceChannel_talkingUsers.data.length) {
                        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                        $sw_0 = nms_FontRenderer_getStringWidth($mc.$fontRenderer, nle_GuiScreenVoiceChannel_talkingUsers.data[$i_1]);
                        $res = $mc.$fontRenderer;
                        var$16 = nle_GuiScreenVoiceChannel_talkingUsers.data[$i_1];
                        $j = $isTalking - $sw_0 | 0;
                        $sw = $i_1 * 11 | 0;
                        $b = 26 + $sw | 0;
                        var$13 = (-1118482);
                        $ptr = 6;
                        continue main;
                    }
                    nms_Gui_drawRect(($width - $wid_0 | 0) - 15 | 0, 24, $width, 26 + (nle_GuiScreenVoiceChannel_talkingUsers.data.length * 11 | 0) | 0, 855638016);
                }
            }
            $res = $mc.$fontRenderer;
            $wid_0 = (($width - 16 | 0) - $ll1 | 0) - 4 | 0;
            $i_1 = 2;
            $sw_0 = (-1);
            $ptr = 2;
            continue main;
        }
        return;
    case 1:
        nmc_Minecraft_showWarningText($mc);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(2929);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        $titleScreen = $mc.$currentScreen !== null && $mc.$currentScreen instanceof nms_GuiMainMenu ? 1 : 0;
        if (nle_GuiScreenVoiceChannel_voiceActive && !($titleScreen && $mc.$currentScreen.$showAck) && !$mc.$gameSettings.$showDebugInfo) {
            $res = nms_ScaledResolution__init_($mc.$gameSettings, $mc.$displayWidth, $mc.$displayHeight);
            $width = nms_ScaledResolution_getScaledWidth($res);
            nms_ScaledResolution_getScaledHeight($res);
            if ($titleScreen) {
                nleg_EaglerAdapterGL30_glPushMatrix();
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 12.0, 0.0);
            }
            c: {
                d: {
                    nleg_EaglerAdapterGL30_glDisable(2896);
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    nleg_EaglerAdapterGL30_glEnable(3553);
                    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                    $line1 = $rt_s(1373);
                    $line2 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), nle_GuiScreenVoiceChannel_connectedUsers.data.length), $rt_s(1374)));
                    $ll1 = nms_FontRenderer_getStringWidth($mc.$fontRenderer, $line1);
                    $ll2 = nms_FontRenderer_getStringWidth($mc.$fontRenderer, $line2);
                    var$10 = $width - 17 | 0;
                    nms_Gui_drawRect((var$10 - $ll1 | 0) - 6 | 0, 0, $width, 20, 855638016);
                    if (!$mc.$gameSettings.$keyBindPlayerList.$pressed) {
                        if ($mc.$currentScreen === null)
                            break d;
                        if (!($mc.$currentScreen instanceof nms_GuiIngameMenu) && !($mc.$currentScreen instanceof nle_GuiScreenVoiceChannel))
                            break d;
                    }
                    if (nle_GuiScreenVoiceChannel_connectedUsers.data.length <= 0)
                        break c;
                    $wid = 0;
                    $i_0 = 0;
                    var$13 = $width - 12 | 0;
                    var$14 = $width - 9 | 0;
                    if ($i_0 >= nle_GuiScreenVoiceChannel_connectedUsers.data.length) {
                        nms_Gui_drawRect(($width - $wid | 0) - 15 | 0, 24, $width, 26 + (nle_GuiScreenVoiceChannel_connectedUsers.data.length * 11 | 0) | 0, 855638016);
                        break c;
                    }
                    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                    $sw = nms_FontRenderer_getStringWidth($mc.$fontRenderer, nle_GuiScreenVoiceChannel_connectedUsers.data[$i_0]);
                    $res = $mc.$fontRenderer;
                    var$16 = nle_GuiScreenVoiceChannel_connectedUsers.data[$i_0];
                    $wid_0 = var$13 - $sw | 0;
                    $sw_0 = $i_0 * 11 | 0;
                    $i_1 = 26 + $sw_0 | 0;
                    $isTalking = (-1118482);
                    $ptr = 5;
                    continue main;
                }
                if (nle_GuiScreenVoiceChannel_talkingUsers.data.length > 0) {
                    $wid_0 = 0;
                    $i_1 = 0;
                    $isTalking = $width - 12 | 0;
                    var$14 = $width - 9 | 0;
                    if ($i_1 < nle_GuiScreenVoiceChannel_talkingUsers.data.length) {
                        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                        $sw_0 = nms_FontRenderer_getStringWidth($mc.$fontRenderer, nle_GuiScreenVoiceChannel_talkingUsers.data[$i_1]);
                        $res = $mc.$fontRenderer;
                        var$16 = nle_GuiScreenVoiceChannel_talkingUsers.data[$i_1];
                        $j = $isTalking - $sw_0 | 0;
                        $sw = $i_1 * 11 | 0;
                        $b = 26 + $sw | 0;
                        var$13 = (-1118482);
                        $ptr = 6;
                        continue main;
                    }
                    nms_Gui_drawRect(($width - $wid_0 | 0) - 15 | 0, 24, $width, 26 + (nle_GuiScreenVoiceChannel_talkingUsers.data.length * 11 | 0) | 0, 855638016);
                }
            }
            $res = $mc.$fontRenderer;
            $wid_0 = (($width - 16 | 0) - $ll1 | 0) - 4 | 0;
            $i_1 = 2;
            $sw_0 = (-1);
            $ptr = 2;
            continue main;
        }
        return;
    case 2:
        nms_FontRenderer_drawStringWithShadow($res, $line1, $wid_0, $i_1, $sw_0);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($width - 20 | 0, 11.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        $mc = $mc.$fontRenderer;
        $wid_0 =  -$ll2;
        $width = 0;
        $i_1 = (-1);
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawStringWithShadow($mc, $line2, $wid_0, $width, $i_1);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        $b = Long_ne(Long_rem(Long_div(jl_System_currentTimeMillis(), Long_fromInt(800)), Long_fromInt(2)), Long_fromInt(1)) ? 0 : 1;
        $mc = nle_GuiScreenVoiceChannel_tex_gui;
        $ptr = 4;
    case 4:
        nle_TextureLocation_bindTexture($mc);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 0.6499999761581421);
        nms_Gui_static_drawTexturedModalRect(var$10, 2, !$b ? 224 : 192, 0, 15, 15);
        if ($titleScreen)
            nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 5:
        nms_FontRenderer_drawStringWithShadow($res, var$16, $wid_0, $i_1, $isTalking);
        if ($rt_suspending()) {
            break main;
        }
        if ($wid >= $sw)
            $sw = $wid;
        $isTalking = 0;
        $j = 0;
        e: {
            while ($j < nle_GuiScreenVoiceChannel_talkingUsers.data.length) {
                if (jl_String_equals(nle_GuiScreenVoiceChannel_talkingUsers.data[$j], nle_GuiScreenVoiceChannel_connectedUsers.data[$i_0])) {
                    $isTalking = 1;
                    break e;
                }
                $j = $j + 1 | 0;
            }
        }
        $res = nle_GuiScreenVoiceChannel_tex_gui;
        $ptr = 8;
        continue main;
    case 6:
        nms_FontRenderer_drawStringWithShadow($res, var$16, $j, $b, var$13);
        if ($rt_suspending()) {
            break main;
        }
        if ($wid_0 < $sw_0)
            $wid_0 = $sw_0;
        $res = nle_GuiScreenVoiceChannel_tex_gui;
        $ptr = 7;
    case 7:
        nle_TextureLocation_bindTexture($res);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 0.6499999761581421);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(var$14, 27 + $sw | 0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        nms_Gui_static_drawTexturedModalRect(0, 0, 208, 0, 15, 15);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $i_1 = $i_1 + 1 | 0;
        if ($i_1 < nle_GuiScreenVoiceChannel_talkingUsers.data.length) {
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            $sw_0 = nms_FontRenderer_getStringWidth($mc.$fontRenderer, nle_GuiScreenVoiceChannel_talkingUsers.data[$i_1]);
            $res = $mc.$fontRenderer;
            var$16 = nle_GuiScreenVoiceChannel_talkingUsers.data[$i_1];
            $j = $isTalking - $sw_0 | 0;
            $sw = $i_1 * 11 | 0;
            $b = 26 + $sw | 0;
            var$13 = (-1118482);
            $ptr = 6;
            continue main;
        }
        nms_Gui_drawRect(($width - $wid_0 | 0) - 15 | 0, 24, $width, 26 + (nle_GuiScreenVoiceChannel_talkingUsers.data.length * 11 | 0) | 0, 855638016);
        $res = $mc.$fontRenderer;
        $wid_0 = (($width - 16 | 0) - $ll1 | 0) - 4 | 0;
        $i_1 = 2;
        $sw_0 = (-1);
        $ptr = 2;
        continue main;
    case 8:
        nle_TextureLocation_bindTexture($res);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 0.6499999761581421);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(var$14, 27 + $sw_0 | 0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        nms_Gui_static_drawTexturedModalRect(0, 0, !$isTalking ? 224 : 208, 0, 15, 15);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $i_0 = $i_0 + 1 | 0;
        $wid = $sw;
        if ($i_0 < nle_GuiScreenVoiceChannel_connectedUsers.data.length) {
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            $sw = nms_FontRenderer_getStringWidth($mc.$fontRenderer, nle_GuiScreenVoiceChannel_connectedUsers.data[$i_0]);
            $res = $mc.$fontRenderer;
            var$16 = nle_GuiScreenVoiceChannel_connectedUsers.data[$i_0];
            $wid_0 = var$13 - $sw | 0;
            $sw_0 = $i_0 * 11 | 0;
            $i_1 = 26 + $sw_0 | 0;
            $isTalking = (-1118482);
            $ptr = 5;
            continue main;
        }
        nms_Gui_drawRect(($width - $wid | 0) - 15 | 0, 24, $width, 26 + (nle_GuiScreenVoiceChannel_connectedUsers.data.length * 11 | 0) | 0, 855638016);
        $res = $mc.$fontRenderer;
        $wid_0 = (($width - 16 | 0) - $ll1 | 0) - 4 | 0;
        $i_1 = 2;
        $sw_0 = (-1);
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($mc, $res, $i, $titleScreen, $width, $line1, $line2, $ll1, $ll2, var$10, $wid, $i_0, var$13, var$14, $sw, var$16, $wid_0, $sw_0, $i_1, $isTalking, $j, $b, $ptr);
}
function nle_GuiScreenVoiceChannel__clinit_() {
    nle_GuiScreenVoiceChannel_tex_gui = nle_TextureLocation__init_($rt_s(532));
    nle_GuiScreenVoiceChannel_connectedUsers = $rt_createArray(jl_String, 0);
    nle_GuiScreenVoiceChannel_talkingUsers = $rt_createArray(jl_String, 0);
    nle_GuiScreenVoiceChannel_voiceActive = 0;
    nle_GuiScreenVoiceChannel_voiceRelayed = 0;
    nle_GuiScreenVoiceChannel_fadeInTimer = Long_ZERO;
}
function maa_NoteblockPlayer() {
    jl_Object.call(this);
}
var maa_NoteblockPlayer_playing = 0;
var maa_NoteblockPlayer_songdata = null;
var maa_NoteblockPlayer_song = null;
var maa_NoteblockPlayer_thr = null;
var maa_NoteblockPlayer_nb2in = null;
var maa_NoteblockPlayer_in2old = null;
var maa_NoteblockPlayer_instruments = null;
var maa_NoteblockPlayer_startingPos = null;
var maa_NoteblockPlayer_mc = null;
var maa_NoteblockPlayer_legit = 0;
var maa_NoteblockPlayer_flying = 0;
var maa_NoteblockPlayer_playingSong = 0;
var maa_NoteblockPlayer_songLiness = null;
var maa_NoteblockPlayer_instrNoteToBlocks = null;
var maa_NoteblockPlayer_tickPassed = 0;
var maa_NoteblockPlayer_notePos = null;
var maa_NoteblockPlayer_targetNote = 0;
var maa_NoteblockPlayer_correctNote = 0;
var maa_NoteblockPlayer_currentNote = 0;
var maa_NoteblockPlayer_theoreticalNote = 0;
var maa_NoteblockPlayer_building = 0;
function maa_NoteblockPlayer_$callClinit() {
    maa_NoteblockPlayer_$callClinit = $rt_eraseClinit(maa_NoteblockPlayer);
    maa_NoteblockPlayer__clinit_();
}
function maa_NoteblockPlayer__init_0() {
    var var_0 = new maa_NoteblockPlayer();
    maa_NoteblockPlayer__init_(var_0);
    return var_0;
}
function maa_NoteblockPlayer__init_($this) {
    maa_NoteblockPlayer_$callClinit();
}
function maa_NoteblockPlayer_tick() {
    var $linesPlayed, var$2, var$3, var$4, $songInfo, $tick, $note, $instr, $blockPos, $songLine, var$11, var$12, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$songLine = $thread.pop();$blockPos = $thread.pop();$instr = $thread.pop();$note = $thread.pop();$tick = $thread.pop();$songInfo = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$linesPlayed = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        maa_NoteblockPlayer_$callClinit();
        if (maa_NoteblockPlayer_flying)
            maa_NoteblockPlayer_mc.$thePlayer.$capabilities.$isFlying = 1;
        if (maa_NoteblockPlayer_playing && maa_NoteblockPlayer_playingSong) {
            $linesPlayed = 0;
            var$2 = maa_NoteblockPlayer_songLiness.data;
            var$3 = var$2.length;
            var$4 = 0;
            while (var$4 < var$3) {
                $songInfo = jl_String_split(var$2[var$4], $rt_s(272)).data;
                $tick = jl_Integer_parseInt($songInfo[0]) - maa_NoteblockPlayer_tickPassed | 0;
                $note = jl_Integer_parseInt($songInfo[1]);
                $instr = jl_Integer_parseInt($songInfo[2]);
                if ($tick > 0)
                    break;
                $blockPos = ju_HashMap_get(ju_HashMap_get(maa_NoteblockPlayer_instrNoteToBlocks, jl_Integer_valueOf($instr)), jl_Integer_valueOf($note));
                try {
                    $songLine = maa_NoteblockPlayer_mc.$playerController;
                    $note = $blockPos.$xCoord | 0;
                    $tick = $blockPos.$yCoord - 1.0 | 0;
                    $instr = $blockPos.$zCoord | 0;
                    var$11 = 1;
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NullPointerException) {
                    } else {
                        throw $$e;
                    }
                }
                $linesPlayed = $linesPlayed + 1 | 0;
                var$4 = var$4 + 1 | 0;
            }
            maa_NoteblockPlayer_tickPassed = maa_NoteblockPlayer_tickPassed + 1 | 0;
            if ($linesPlayed) {
                $songInfo = maa_NoteblockPlayer_songLiness;
                var$12 = $songInfo.data;
                var$3 = maa_NoteblockPlayer_songLiness.data.length;
                var$2 = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($songInfo)), var$3 - $linesPlayed | 0);
                $note = $linesPlayed;
                while ($note < var$3) {
                    var$2.data[$note - $linesPlayed | 0] = var$12[$note];
                    $note = $note + 1 | 0;
                }
                maa_NoteblockPlayer_songLiness = var$2;
            }
        }
        return;
    case 1:
        a: {
            try {
                nms_PlayerControllerMP_clickBlock($songLine, $note, $tick, $instr, var$11);
                if ($rt_suspending()) {
                    break main;
                }
                if (maa_NoteblockPlayer_legit)
                    maa_NoteblockPlayer_rotateToBlock(nms_Vec3_addVector($blockPos, 0.0, (-1.0), 0.0));
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NullPointerException) {
                } else {
                    throw $$e;
                }
            }
        }
        while (true) {
            $linesPlayed = $linesPlayed + 1 | 0;
            var$4 = var$4 + 1 | 0;
            if (var$4 >= var$3)
                break;
            $songInfo = jl_String_split(var$2[var$4], $rt_s(272)).data;
            $tick = jl_Integer_parseInt($songInfo[0]) - maa_NoteblockPlayer_tickPassed | 0;
            $note = jl_Integer_parseInt($songInfo[1]);
            $instr = jl_Integer_parseInt($songInfo[2]);
            if ($tick > 0)
                break;
            $blockPos = ju_HashMap_get(ju_HashMap_get(maa_NoteblockPlayer_instrNoteToBlocks, jl_Integer_valueOf($instr)), jl_Integer_valueOf($note));
            try {
                $songLine = maa_NoteblockPlayer_mc.$playerController;
                $note = $blockPos.$xCoord | 0;
                $tick = $blockPos.$yCoord - 1.0 | 0;
                $instr = $blockPos.$zCoord | 0;
                var$11 = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NullPointerException) {
                } else {
                    throw $$e;
                }
            }
        }
        maa_NoteblockPlayer_tickPassed = maa_NoteblockPlayer_tickPassed + 1 | 0;
        if ($linesPlayed) {
            $songInfo = maa_NoteblockPlayer_songLiness;
            var$12 = $songInfo.data;
            var$3 = maa_NoteblockPlayer_songLiness.data.length;
            var$2 = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($songInfo)), var$3 - $linesPlayed | 0);
            $note = $linesPlayed;
            while ($note < var$3) {
                var$2.data[$note - $linesPlayed | 0] = var$12[$note];
                $note = $note + 1 | 0;
            }
            maa_NoteblockPlayer_songLiness = var$2;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($linesPlayed, var$2, var$3, var$4, $songInfo, $tick, $note, $instr, $blockPos, $songLine, var$11, var$12, $ptr);
}
function maa_NoteblockPlayer_rotateToBlock($block) {
    var $eyesPos, $diffX, $diffY, $diffZ, $diffXZ, $yaw, $pitch;
    maa_NoteblockPlayer_$callClinit();
    $block = nms_Vec3_addVector($block, 0.5, 0.5, 0.5);
    $eyesPos = nms_Vec3_addVector(nms_EntityLiving_getPosition(maa_NoteblockPlayer_mc.$thePlayer, 1.0), 0.0, 0.11999999731779099, 0.0);
    $diffX = $block.$xCoord - $eyesPos.$xCoord;
    $diffY = $block.$yCoord - $eyesPos.$yCoord;
    $diffZ = $block.$zCoord - $eyesPos.$zCoord;
    $diffXZ = jl_Math_sqrt($diffX * $diffX + $diffZ * $diffZ);
    $yaw = jl_Math_toDegrees(jl_Math_atan2($diffZ, $diffX)) - 90.0;
    $pitch =  -jl_Math_toDegrees(jl_Math_atan2($diffY, $diffXZ));
    maa_NoteblockPlayer_mc.$thePlayer.$prevRotationYaw = maa_NoteblockPlayer_mc.$thePlayer.$rotationYaw;
    maa_NoteblockPlayer_mc.$thePlayer.$prevRotationPitch = maa_NoteblockPlayer_mc.$thePlayer.$rotationPitch;
    maa_NoteblockPlayer_mc.$thePlayer.$rotationYaw = $yaw % 360.0;
    maa_NoteblockPlayer_mc.$thePlayer.$rotationPitch = $pitch % 360.0;
}
function maa_NoteblockPlayer_zleep($ms) {
    var $startTime, var$3, var$4, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$startTime = $thread.pop();$ms = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        maa_NoteblockPlayer_$callClinit();
        $startTime = jl_System_currentTimeMillis();
        var$3 = Long_fromInt($ms);
        a: {
            try {
                if (Long_ge(Long_sub(jl_System_currentTimeMillis(), $startTime), var$3))
                    break a;
                var$4 = Long_ZERO;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                } else {
                    throw $$e;
                }
            }
        }
        return;
    case 1:
        a: {
            try {
                jl_Thread_sleep(var$4);
                if ($rt_suspending()) {
                    break main;
                }
                if (Long_ge(Long_sub(jl_System_currentTimeMillis(), $startTime), var$3))
                    break a;
                var$4 = Long_ZERO;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_InterruptedException) {
                } else {
                    throw $$e;
                }
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($ms, $startTime, var$3, var$4, $ptr);
}
function maa_NoteblockPlayer_placeAndTuneNoteblocks($instrNoteToBlock) {
    var $id1, $entry, $instr, $entryy, $note, $blockPos, $blockDist, $hasBeenPlaced, $id2, $check1, $check2, $slot1id, $item, $noteBlockPos, var$16, var$17, $oldBlockDist, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$oldBlockDist = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$noteBlockPos = $thread.pop();$item = $thread.pop();$slot1id = $thread.pop();$check2 = $thread.pop();$check1 = $thread.pop();$id2 = $thread.pop();$hasBeenPlaced = $thread.pop();$blockDist = $thread.pop();$blockPos = $thread.pop();$note = $thread.pop();$entryy = $thread.pop();$instr = $thread.pop();$entry = $thread.pop();$id1 = $thread.pop();$instrNoteToBlock = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        maa_NoteblockPlayer_$callClinit();
        if (!maa_NoteblockPlayer_playing)
            return;
        maa_NoteblockPlayer_building = 1;
        $id1 = 100;
        $ptr = 1;
    case 1:
        maa_NoteblockPlayer_zleep($id1);
        if ($rt_suspending()) {
            break main;
        }
        $instrNoteToBlock = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet($instrNoteToBlock));
        a: {
            while (ju_HashMap$AbstractMapIterator_hasNext($instrNoteToBlock)) {
                $entry = ju_HashMap$EntryIterator_next0($instrNoteToBlock);
                $instr = ju_MapEntry_getKey($entry);
                $entry = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet(ju_MapEntry_getValue($entry)));
                while (ju_HashMap$AbstractMapIterator_hasNext($entry)) {
                    $entryy = ju_HashMap$EntryIterator_next0($entry);
                    $note = ju_MapEntry_getKey($entryy);
                    $blockPos = ju_MapEntry_getValue($entryy);
                    if (maa_NoteblockPlayer_playing) {
                        $blockDist = nms_Vec3_distanceTo(nms_EntityLiving_getPosition(maa_NoteblockPlayer_mc.$thePlayer, 1.0), $blockPos);
                        $hasBeenPlaced = 0;
                        maa_NoteblockPlayer_correctNote = 0;
                        if (maa_NoteblockPlayer_playing) {
                            if (!$hasBeenPlaced)
                                break a;
                            if (!maa_NoteblockPlayer_correctNote)
                                break a;
                        }
                        maa_NoteblockPlayer_correctNote = 0;
                    }
                }
            }
            if (!maa_NoteblockPlayer_playing) {
                maa_NoteblockPlayer_building = 0;
                return;
            }
            nms_EntityClientPlayerMP_sendChatMessage(maa_NoteblockPlayer_mc.$thePlayer, $rt_s(1375));
            $id1 = 500;
            $ptr = 2;
            continue main;
        }
        if (jl_Math_abs2(32767.0 - $blockDist) > 0.1)
            nms_EntityPlayerSP_sendChatToPlayer(maa_NoteblockPlayer_mc.$thePlayer, jl_StringBuilder_toString(jl_StringBuilder_append9(jl_StringBuilder_append(jl_StringBuilder_append4(jl_StringBuilder_append(jl_StringBuilder_append9(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1376)), nms_Block_getLocalizedName(maa_NoteblockPlayer_instruments.data[jl_Integer_intValue($instr)])), $rt_s(1377)), $note), $rt_s(1378)), $blockDist), $rt_s(1379)), $blockPos)));
        $id1 = nms_World_getBlockId(maa_NoteblockPlayer_mc.$theWorld, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0);
        $id2 = nms_World_getBlockId(maa_NoteblockPlayer_mc.$theWorld, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0);
        nms_Block_$callClinit();
        $check1 = $id1 != nms_Block_music.$blockID ? 0 : 1;
        $check2 = $id2 != maa_NoteblockPlayer_instruments.data[jl_Integer_intValue($instr)].$blockID ? 0 : 1;
        $slot1id = maa_NoteblockPlayer_mc.$thePlayer.$inventory.$mainInventory.data[0] === null ? (-1) : maa_NoteblockPlayer_mc.$thePlayer.$inventory.$mainInventory.data[0].$itemID0;
        b: {
            if (nms_PlayerControllerMP_isInCreativeMode(maa_NoteblockPlayer_mc.$playerController)) {
                if ($check2 && !$check1) {
                    if ($slot1id != nms_Block_music.$blockID) {
                        $item = nms_ItemStack__init_2(nms_Block_music);
                        maa_NoteblockPlayer_mc.$thePlayer.$inventory.$mainInventory.data[0] = $item;
                        nms_PlayerControllerMP_sendSlotPacket(maa_NoteblockPlayer_mc.$playerController, $item, ju_ArrayList_size(maa_NoteblockPlayer_mc.$thePlayer.$inventoryContainer.$inventorySlots) - 9 | 0);
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet16BlockItemSwitch__init_0(0));
                        $id2 = 50;
                        $ptr = 4;
                        continue main;
                    }
                    maa_NoteblockPlayer_rotateToBlock(nms_Vec3_addVector($blockPos, 0.0, (-1.0), 0.0));
                    if (!$id1)
                        break b;
                    nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(0, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                    nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(1, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                    nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(2, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                    $item = maa_NoteblockPlayer_mc;
                    $noteBlockPos = maa_NoteblockPlayer_mc.$playerController;
                    $id1 = $blockPos.$xCoord | 0;
                    $id2 = $blockPos.$yCoord - 1.0 | 0;
                    $hasBeenPlaced = $blockPos.$zCoord | 0;
                    $slot1id = 1;
                    $ptr = 7;
                    continue main;
                }
                if (!$check2 && !$check1) {
                    if ($slot1id != maa_NoteblockPlayer_instruments.data[jl_Integer_intValue($instr)].$blockID) {
                        $item = nms_ItemStack__init_2(maa_NoteblockPlayer_instruments.data[jl_Integer_intValue($instr)]);
                        maa_NoteblockPlayer_mc.$thePlayer.$inventory.$mainInventory.data[0] = $item;
                        nms_PlayerControllerMP_sendSlotPacket(maa_NoteblockPlayer_mc.$playerController, $item, ju_ArrayList_size(maa_NoteblockPlayer_mc.$thePlayer.$inventoryContainer.$inventorySlots) - 9 | 0);
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet16BlockItemSwitch__init_0(0));
                        $hasBeenPlaced = 50;
                        $ptr = 6;
                        continue main;
                    }
                    maa_NoteblockPlayer_rotateToBlock(nms_Vec3_addVector($blockPos, 0.0, (-2.0), 0.0));
                    if ($id1) {
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(0, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(1, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(2, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                        $item = maa_NoteblockPlayer_mc;
                        $noteBlockPos = maa_NoteblockPlayer_mc.$playerController;
                        $id1 = $blockPos.$xCoord | 0;
                        $hasBeenPlaced = $blockPos.$yCoord - 1.0 | 0;
                        $slot1id = $blockPos.$zCoord | 0;
                        var$16 = 1;
                        $ptr = 9;
                        continue main;
                    }
                    if ($id2) {
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(0, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(1, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(2, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
                        $item = maa_NoteblockPlayer_mc;
                        $noteBlockPos = maa_NoteblockPlayer_mc.$playerController;
                        $slot1id = $blockPos.$xCoord | 0;
                        $id1 = $blockPos.$yCoord - 2.0 | 0;
                        $id2 = $blockPos.$zCoord | 0;
                        $hasBeenPlaced = 1;
                        $ptr = 11;
                        continue main;
                    }
                }
            }
        }
        if ($check1 && $check2) {
            $hasBeenPlaced = 1;
            maa_NoteblockPlayer_notePos = $blockPos;
            maa_NoteblockPlayer_targetNote = jl_Integer_intValue($note);
            if (maa_NoteblockPlayer_theoreticalNote == (-1)) {
                maa_NoteblockPlayer_theoreticalNote = (-2);
                if (!nms_PlayerControllerMP_isInCreativeMode(maa_NoteblockPlayer_mc.$playerController)) {
                    $item = maa_NoteblockPlayer_mc.$playerController;
                    $id1 = $blockPos.$xCoord | 0;
                    $id2 = ($blockPos.$yCoord | 0) - 1 | 0;
                    $check1 = $blockPos.$zCoord | 0;
                    $slot1id = 1;
                    $ptr = 5;
                    continue main;
                }
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            } else if (maa_NoteblockPlayer_theoreticalNote >= 0 && maa_NoteblockPlayer_theoreticalNote != maa_NoteblockPlayer_targetNote) {
                maa_NoteblockPlayer_theoreticalNote = (maa_NoteblockPlayer_theoreticalNote + 1 | 0) % 25 | 0;
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            }
        } else {
            maa_NoteblockPlayer_notePos = null;
            maa_NoteblockPlayer_targetNote = (-1);
            maa_NoteblockPlayer_currentNote = (-1);
            $hasBeenPlaced = 0;
        }
        $id1 = 50;
        $ptr = 3;
        continue main;
    case 2:
        maa_NoteblockPlayer_zleep($id1);
        if ($rt_suspending()) {
            break main;
        }
        maa_NoteblockPlayer_building = 0;
        return;
    case 3:
        maa_NoteblockPlayer_zleep($id1);
        if ($rt_suspending()) {
            break main;
        }
        var$17 = nms_Vec3_distanceTo(nms_EntityLiving_getPosition(maa_NoteblockPlayer_mc.$thePlayer, 1.0), $blockPos);
        $oldBlockDist = $blockDist;
        $blockDist = var$17;
        a: {
            c: while (true) {
                if (maa_NoteblockPlayer_playing) {
                    if (!$hasBeenPlaced)
                        break a;
                    if (!maa_NoteblockPlayer_correctNote)
                        break a;
                }
                maa_NoteblockPlayer_correctNote = 0;
                while (true) {
                    while (!ju_HashMap$AbstractMapIterator_hasNext($entry)) {
                        if (!ju_HashMap$AbstractMapIterator_hasNext($instrNoteToBlock))
                            break c;
                        $entry = ju_HashMap$EntryIterator_next0($instrNoteToBlock);
                        $instr = ju_MapEntry_getKey($entry);
                        $entry = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet(ju_MapEntry_getValue($entry)));
                    }
                    $entryy = ju_HashMap$EntryIterator_next0($entry);
                    $note = ju_MapEntry_getKey($entryy);
                    $blockPos = ju_MapEntry_getValue($entryy);
                    if (!maa_NoteblockPlayer_playing)
                        continue;
                    else
                        break;
                }
                $blockDist = nms_Vec3_distanceTo(nms_EntityLiving_getPosition(maa_NoteblockPlayer_mc.$thePlayer, 1.0), $blockPos);
                $oldBlockDist = 32767.0;
                $hasBeenPlaced = 0;
                maa_NoteblockPlayer_correctNote = 0;
            }
            if (!maa_NoteblockPlayer_playing) {
                maa_NoteblockPlayer_building = 0;
                return;
            }
            nms_EntityClientPlayerMP_sendChatMessage(maa_NoteblockPlayer_mc.$thePlayer, $rt_s(1375));
            $id1 = 500;
            $ptr = 2;
            continue main;
        }
        if (jl_Math_abs2($oldBlockDist - $blockDist) > 0.1)
            nms_EntityPlayerSP_sendChatToPlayer(maa_NoteblockPlayer_mc.$thePlayer, jl_StringBuilder_toString(jl_StringBuilder_append9(jl_StringBuilder_append(jl_StringBuilder_append4(jl_StringBuilder_append(jl_StringBuilder_append9(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1376)), nms_Block_getLocalizedName(maa_NoteblockPlayer_instruments.data[jl_Integer_intValue($instr)])), $rt_s(1377)), $note), $rt_s(1378)), $blockDist), $rt_s(1379)), $blockPos)));
        $id1 = nms_World_getBlockId(maa_NoteblockPlayer_mc.$theWorld, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0);
        $id2 = nms_World_getBlockId(maa_NoteblockPlayer_mc.$theWorld, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0);
        nms_Block_$callClinit();
        $check1 = $id1 != nms_Block_music.$blockID ? 0 : 1;
        $check2 = $id2 != maa_NoteblockPlayer_instruments.data[jl_Integer_intValue($instr)].$blockID ? 0 : 1;
        $slot1id = maa_NoteblockPlayer_mc.$thePlayer.$inventory.$mainInventory.data[0] === null ? (-1) : maa_NoteblockPlayer_mc.$thePlayer.$inventory.$mainInventory.data[0].$itemID0;
        d: {
            if (nms_PlayerControllerMP_isInCreativeMode(maa_NoteblockPlayer_mc.$playerController)) {
                if ($check2 && !$check1) {
                    if ($slot1id != nms_Block_music.$blockID) {
                        $item = nms_ItemStack__init_2(nms_Block_music);
                        maa_NoteblockPlayer_mc.$thePlayer.$inventory.$mainInventory.data[0] = $item;
                        nms_PlayerControllerMP_sendSlotPacket(maa_NoteblockPlayer_mc.$playerController, $item, ju_ArrayList_size(maa_NoteblockPlayer_mc.$thePlayer.$inventoryContainer.$inventorySlots) - 9 | 0);
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet16BlockItemSwitch__init_0(0));
                        $id2 = 50;
                        $ptr = 4;
                        continue main;
                    }
                    maa_NoteblockPlayer_rotateToBlock(nms_Vec3_addVector($blockPos, 0.0, (-1.0), 0.0));
                    if (!$id1)
                        break d;
                    nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(0, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                    nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(1, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                    nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(2, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                    $item = maa_NoteblockPlayer_mc;
                    $noteBlockPos = maa_NoteblockPlayer_mc.$playerController;
                    $id1 = $blockPos.$xCoord | 0;
                    $id2 = $blockPos.$yCoord - 1.0 | 0;
                    $hasBeenPlaced = $blockPos.$zCoord | 0;
                    $slot1id = 1;
                    $ptr = 7;
                    continue main;
                }
                if (!$check2 && !$check1) {
                    if ($slot1id != maa_NoteblockPlayer_instruments.data[jl_Integer_intValue($instr)].$blockID) {
                        $item = nms_ItemStack__init_2(maa_NoteblockPlayer_instruments.data[jl_Integer_intValue($instr)]);
                        maa_NoteblockPlayer_mc.$thePlayer.$inventory.$mainInventory.data[0] = $item;
                        nms_PlayerControllerMP_sendSlotPacket(maa_NoteblockPlayer_mc.$playerController, $item, ju_ArrayList_size(maa_NoteblockPlayer_mc.$thePlayer.$inventoryContainer.$inventorySlots) - 9 | 0);
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet16BlockItemSwitch__init_0(0));
                        $hasBeenPlaced = 50;
                        $ptr = 6;
                        continue main;
                    }
                    maa_NoteblockPlayer_rotateToBlock(nms_Vec3_addVector($blockPos, 0.0, (-2.0), 0.0));
                    if ($id1) {
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(0, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(1, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(2, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
                        $item = maa_NoteblockPlayer_mc;
                        $noteBlockPos = maa_NoteblockPlayer_mc.$playerController;
                        $id1 = $blockPos.$xCoord | 0;
                        $hasBeenPlaced = $blockPos.$yCoord - 1.0 | 0;
                        $slot1id = $blockPos.$zCoord | 0;
                        var$16 = 1;
                        $ptr = 9;
                        continue main;
                    }
                    if ($id2) {
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(0, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(1, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
                        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(2, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
                        $item = maa_NoteblockPlayer_mc;
                        $noteBlockPos = maa_NoteblockPlayer_mc.$playerController;
                        $slot1id = $blockPos.$xCoord | 0;
                        $id1 = $blockPos.$yCoord - 2.0 | 0;
                        $id2 = $blockPos.$zCoord | 0;
                        $hasBeenPlaced = 1;
                        $ptr = 11;
                        continue main;
                    }
                }
            }
        }
        if ($check1 && $check2) {
            $hasBeenPlaced = 1;
            maa_NoteblockPlayer_notePos = $blockPos;
            maa_NoteblockPlayer_targetNote = jl_Integer_intValue($note);
            if (maa_NoteblockPlayer_theoreticalNote == (-1)) {
                maa_NoteblockPlayer_theoreticalNote = (-2);
                if (!nms_PlayerControllerMP_isInCreativeMode(maa_NoteblockPlayer_mc.$playerController)) {
                    $item = maa_NoteblockPlayer_mc.$playerController;
                    $id1 = $blockPos.$xCoord | 0;
                    $id2 = ($blockPos.$yCoord | 0) - 1 | 0;
                    $check1 = $blockPos.$zCoord | 0;
                    $slot1id = 1;
                    $ptr = 5;
                    continue main;
                }
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            } else if (maa_NoteblockPlayer_theoreticalNote >= 0 && maa_NoteblockPlayer_theoreticalNote != maa_NoteblockPlayer_targetNote) {
                maa_NoteblockPlayer_theoreticalNote = (maa_NoteblockPlayer_theoreticalNote + 1 | 0) % 25 | 0;
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            }
        } else {
            maa_NoteblockPlayer_notePos = null;
            maa_NoteblockPlayer_targetNote = (-1);
            maa_NoteblockPlayer_currentNote = (-1);
            $hasBeenPlaced = 0;
        }
        $id1 = 50;
        continue main;
    case 4:
        maa_NoteblockPlayer_zleep($id2);
        if ($rt_suspending()) {
            break main;
        }
        maa_NoteblockPlayer_rotateToBlock(nms_Vec3_addVector($blockPos, 0.0, (-1.0), 0.0));
        if ($id1) {
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(0, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(1, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(2, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
            $item = maa_NoteblockPlayer_mc;
            $noteBlockPos = maa_NoteblockPlayer_mc.$playerController;
            $id1 = $blockPos.$xCoord | 0;
            $id2 = $blockPos.$yCoord - 1.0 | 0;
            $hasBeenPlaced = $blockPos.$zCoord | 0;
            $slot1id = 1;
            $ptr = 7;
            continue main;
        }
        if ($check1 && $check2) {
            $hasBeenPlaced = 1;
            maa_NoteblockPlayer_notePos = $blockPos;
            maa_NoteblockPlayer_targetNote = jl_Integer_intValue($note);
            if (maa_NoteblockPlayer_theoreticalNote == (-1)) {
                maa_NoteblockPlayer_theoreticalNote = (-2);
                if (!nms_PlayerControllerMP_isInCreativeMode(maa_NoteblockPlayer_mc.$playerController)) {
                    $item = maa_NoteblockPlayer_mc.$playerController;
                    $id1 = $blockPos.$xCoord | 0;
                    $id2 = ($blockPos.$yCoord | 0) - 1 | 0;
                    $check1 = $blockPos.$zCoord | 0;
                    $slot1id = 1;
                    $ptr = 5;
                    continue main;
                }
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            } else if (maa_NoteblockPlayer_theoreticalNote >= 0 && maa_NoteblockPlayer_theoreticalNote != maa_NoteblockPlayer_targetNote) {
                maa_NoteblockPlayer_theoreticalNote = (maa_NoteblockPlayer_theoreticalNote + 1 | 0) % 25 | 0;
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            }
        } else {
            maa_NoteblockPlayer_notePos = null;
            maa_NoteblockPlayer_targetNote = (-1);
            maa_NoteblockPlayer_currentNote = (-1);
            $hasBeenPlaced = 0;
        }
        $id1 = 50;
        $ptr = 3;
        continue main;
    case 5:
        nms_PlayerControllerMP_clickBlock($item, $id1, $id2, $check1, $slot1id);
        if ($rt_suspending()) {
            break main;
        }
        $id1 = 50;
        $ptr = 3;
        continue main;
    case 6:
        maa_NoteblockPlayer_zleep($hasBeenPlaced);
        if ($rt_suspending()) {
            break main;
        }
        maa_NoteblockPlayer_rotateToBlock(nms_Vec3_addVector($blockPos, 0.0, (-2.0), 0.0));
        if ($id1) {
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(0, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(1, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(2, $blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1));
            $item = maa_NoteblockPlayer_mc;
            $noteBlockPos = maa_NoteblockPlayer_mc.$playerController;
            $id1 = $blockPos.$xCoord | 0;
            $hasBeenPlaced = $blockPos.$yCoord - 1.0 | 0;
            $slot1id = $blockPos.$zCoord | 0;
            var$16 = 1;
            $ptr = 9;
            continue main;
        }
        if ($id2) {
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(0, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(1, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(2, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
            $item = maa_NoteblockPlayer_mc;
            $noteBlockPos = maa_NoteblockPlayer_mc.$playerController;
            $slot1id = $blockPos.$xCoord | 0;
            $id1 = $blockPos.$yCoord - 2.0 | 0;
            $id2 = $blockPos.$zCoord | 0;
            $hasBeenPlaced = 1;
            $ptr = 11;
            continue main;
        }
        if ($check1 && $check2) {
            $hasBeenPlaced = 1;
            maa_NoteblockPlayer_notePos = $blockPos;
            maa_NoteblockPlayer_targetNote = jl_Integer_intValue($note);
            if (maa_NoteblockPlayer_theoreticalNote == (-1)) {
                maa_NoteblockPlayer_theoreticalNote = (-2);
                if (!nms_PlayerControllerMP_isInCreativeMode(maa_NoteblockPlayer_mc.$playerController)) {
                    $item = maa_NoteblockPlayer_mc.$playerController;
                    $id1 = $blockPos.$xCoord | 0;
                    $id2 = ($blockPos.$yCoord | 0) - 1 | 0;
                    $check1 = $blockPos.$zCoord | 0;
                    $slot1id = 1;
                    $ptr = 5;
                    continue main;
                }
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            } else if (maa_NoteblockPlayer_theoreticalNote >= 0 && maa_NoteblockPlayer_theoreticalNote != maa_NoteblockPlayer_targetNote) {
                maa_NoteblockPlayer_theoreticalNote = (maa_NoteblockPlayer_theoreticalNote + 1 | 0) % 25 | 0;
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            }
        } else {
            maa_NoteblockPlayer_notePos = null;
            maa_NoteblockPlayer_targetNote = (-1);
            maa_NoteblockPlayer_currentNote = (-1);
            $hasBeenPlaced = 0;
        }
        $id1 = 50;
        $ptr = 3;
        continue main;
    case 7:
        nms_PlayerControllerMP_clickBlockCreative($item, $noteBlockPos, $id1, $id2, $hasBeenPlaced, $slot1id);
        if ($rt_suspending()) {
            break main;
        }
        $id1 = 50;
        $ptr = 8;
    case 8:
        maa_NoteblockPlayer_zleep($id1);
        if ($rt_suspending()) {
            break main;
        }
        if ($check1 && $check2) {
            $hasBeenPlaced = 1;
            maa_NoteblockPlayer_notePos = $blockPos;
            maa_NoteblockPlayer_targetNote = jl_Integer_intValue($note);
            if (maa_NoteblockPlayer_theoreticalNote == (-1)) {
                maa_NoteblockPlayer_theoreticalNote = (-2);
                if (!nms_PlayerControllerMP_isInCreativeMode(maa_NoteblockPlayer_mc.$playerController)) {
                    $item = maa_NoteblockPlayer_mc.$playerController;
                    $id1 = $blockPos.$xCoord | 0;
                    $id2 = ($blockPos.$yCoord | 0) - 1 | 0;
                    $check1 = $blockPos.$zCoord | 0;
                    $slot1id = 1;
                    $ptr = 5;
                    continue main;
                }
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            } else if (maa_NoteblockPlayer_theoreticalNote >= 0 && maa_NoteblockPlayer_theoreticalNote != maa_NoteblockPlayer_targetNote) {
                maa_NoteblockPlayer_theoreticalNote = (maa_NoteblockPlayer_theoreticalNote + 1 | 0) % 25 | 0;
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            }
        } else {
            maa_NoteblockPlayer_notePos = null;
            maa_NoteblockPlayer_targetNote = (-1);
            maa_NoteblockPlayer_currentNote = (-1);
            $hasBeenPlaced = 0;
        }
        $id1 = 50;
        $ptr = 3;
        continue main;
    case 9:
        nms_PlayerControllerMP_clickBlockCreative($item, $noteBlockPos, $id1, $hasBeenPlaced, $slot1id, var$16);
        if ($rt_suspending()) {
            break main;
        }
        $id1 = 50;
        $ptr = 10;
    case 10:
        maa_NoteblockPlayer_zleep($id1);
        if ($rt_suspending()) {
            break main;
        }
        if ($id2) {
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(0, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(1, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
            nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet14BlockDig__init_0(2, $blockPos.$xCoord | 0, $blockPos.$yCoord - 2.0 | 0, $blockPos.$zCoord | 0, 1));
            $item = maa_NoteblockPlayer_mc;
            $noteBlockPos = maa_NoteblockPlayer_mc.$playerController;
            $slot1id = $blockPos.$xCoord | 0;
            $id1 = $blockPos.$yCoord - 2.0 | 0;
            $id2 = $blockPos.$zCoord | 0;
            $hasBeenPlaced = 1;
            $ptr = 11;
            continue main;
        }
        if ($check1 && $check2) {
            $hasBeenPlaced = 1;
            maa_NoteblockPlayer_notePos = $blockPos;
            maa_NoteblockPlayer_targetNote = jl_Integer_intValue($note);
            if (maa_NoteblockPlayer_theoreticalNote == (-1)) {
                maa_NoteblockPlayer_theoreticalNote = (-2);
                if (!nms_PlayerControllerMP_isInCreativeMode(maa_NoteblockPlayer_mc.$playerController)) {
                    $item = maa_NoteblockPlayer_mc.$playerController;
                    $id1 = $blockPos.$xCoord | 0;
                    $id2 = ($blockPos.$yCoord | 0) - 1 | 0;
                    $check1 = $blockPos.$zCoord | 0;
                    $slot1id = 1;
                    $ptr = 5;
                    continue main;
                }
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            } else if (maa_NoteblockPlayer_theoreticalNote >= 0 && maa_NoteblockPlayer_theoreticalNote != maa_NoteblockPlayer_targetNote) {
                maa_NoteblockPlayer_theoreticalNote = (maa_NoteblockPlayer_theoreticalNote + 1 | 0) % 25 | 0;
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            }
        } else {
            maa_NoteblockPlayer_notePos = null;
            maa_NoteblockPlayer_targetNote = (-1);
            maa_NoteblockPlayer_currentNote = (-1);
            $hasBeenPlaced = 0;
        }
        $id1 = 50;
        $ptr = 3;
        continue main;
    case 11:
        nms_PlayerControllerMP_clickBlockCreative($item, $noteBlockPos, $slot1id, $id1, $id2, $hasBeenPlaced);
        if ($rt_suspending()) {
            break main;
        }
        $id1 = 50;
        $ptr = 12;
    case 12:
        maa_NoteblockPlayer_zleep($id1);
        if ($rt_suspending()) {
            break main;
        }
        if ($check1 && $check2) {
            $hasBeenPlaced = 1;
            maa_NoteblockPlayer_notePos = $blockPos;
            maa_NoteblockPlayer_targetNote = jl_Integer_intValue($note);
            if (maa_NoteblockPlayer_theoreticalNote == (-1)) {
                maa_NoteblockPlayer_theoreticalNote = (-2);
                if (!nms_PlayerControllerMP_isInCreativeMode(maa_NoteblockPlayer_mc.$playerController)) {
                    $item = maa_NoteblockPlayer_mc.$playerController;
                    $id1 = $blockPos.$xCoord | 0;
                    $id2 = ($blockPos.$yCoord | 0) - 1 | 0;
                    $check1 = $blockPos.$zCoord | 0;
                    $slot1id = 1;
                    $ptr = 5;
                    continue main;
                }
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            } else if (maa_NoteblockPlayer_theoreticalNote >= 0 && maa_NoteblockPlayer_theoreticalNote != maa_NoteblockPlayer_targetNote) {
                maa_NoteblockPlayer_theoreticalNote = (maa_NoteblockPlayer_theoreticalNote + 1 | 0) % 25 | 0;
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler(maa_NoteblockPlayer_mc), nms_Packet15Place__init_0($blockPos.$xCoord | 0, $blockPos.$yCoord - 1.0 | 0, $blockPos.$zCoord | 0, 1, nms_InventoryPlayer_getCurrentItem(maa_NoteblockPlayer_mc.$thePlayer.$inventory), 0.0, 1.0, 0.0));
            }
        } else {
            maa_NoteblockPlayer_notePos = null;
            maa_NoteblockPlayer_targetNote = (-1);
            maa_NoteblockPlayer_currentNote = (-1);
            $hasBeenPlaced = 0;
        }
        $id1 = 50;
        $ptr = 3;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($instrNoteToBlock, $id1, $entry, $instr, $entryy, $note, $blockPos, $blockDist, $hasBeenPlaced, $id2, $check1, $check2, $slot1id, $item, $noteBlockPos, var$16, var$17, $oldBlockDist, $ptr);
}
function maa_NoteblockPlayer_spiral($size) {
    var $result, $d, $s, var$5, var$6, var$7, $k, var$9, var$10, $j, $i, var$13, var$14;
    maa_NoteblockPlayer_$callClinit();
    $result = ju_ArrayList__init_0();
    $d = 0;
    $s = 1;
    var$5 = $size / 2.0;
    var$6 = (jl_Math_floor(var$5) | 0) - 1 | 0;
    var$7 = (jl_Math_floor(var$5) | 0) - 1 | 0;
    $k = 1;
    var$9 = $size - 1 | 0;
    while (true) {
        var$10 = $rt_compare($k, var$9);
        if (var$10 > 0)
            break;
        $j = 0;
        while ($j < (var$10 >= 0 ? 3 : 2)) {
            $i = 0;
            while ($i < $s) {
                a: {
                    var$13 = $rt_createIntArray(2);
                    var$14 = var$13.data;
                    var$14[0] = var$6;
                    var$14[1] = var$7;
                    ju_ArrayList_add($result, var$13);
                    switch ($d) {
                        case 0:
                            var$7 = var$7 + 1 | 0;
                            break a;
                        case 1:
                            var$6 = var$6 + 1 | 0;
                            break a;
                        case 2:
                            var$7 = var$7 - 1 | 0;
                            break a;
                        case 3:
                            var$6 = var$6 - 1 | 0;
                            break a;
                        default:
                    }
                }
                $i = $i + 1 | 0;
            }
            $d = ($d + 1 | 0) % 4 | 0;
            $j = $j + 1 | 0;
        }
        $s = $s + 1 | 0;
        $k = $k + 1 | 0;
    }
    return $result;
}
function maa_NoteblockPlayer_songLinesToBlocks($songLines) {
    var $instrNoteToBlock, $uniqueNotes, $centerPos, $currNum, var$6, $songInfo, $note, $instr, $theVal, $counter, $spiralCoords, $spiralCoordsTwo, $entry, $instr_0, $noteBlockPos, $noteBlockPosOrig, $entryy, $note_0, $blockPos, $theBlock, $songLine, $offset;
    maa_NoteblockPlayer_$callClinit();
    $songLines = $songLines.data;
    $instrNoteToBlock = ju_HashMap__init_();
    $uniqueNotes = 0;
    maa_NoteblockPlayer_startingPos = nms_Vec3_createVectorHelper(jl_Math_floor(maa_NoteblockPlayer_mc.$thePlayer.$posX), jl_Math_floor(maa_NoteblockPlayer_mc.$thePlayer.$posY), jl_Math_floor(maa_NoteblockPlayer_mc.$thePlayer.$posZ));
    $centerPos = nms_Vec3_addVector(maa_NoteblockPlayer_startingPos, 0.0, (-1.0), 0.0);
    $currNum = $songLines.length;
    var$6 = 0;
    while (var$6 < $currNum) {
        $songInfo = jl_String_split($songLines[var$6], $rt_s(272)).data;
        jl_Integer_parseInt($songInfo[0]);
        $note = jl_Integer_parseInt($songInfo[1]);
        $instr = jl_Integer_parseInt($songInfo[2]);
        if (!(ju_HashMap_containsKey($instrNoteToBlock, jl_Integer_valueOf($instr)) && ju_HashMap_containsKey(ju_HashMap_get($instrNoteToBlock, jl_Integer_valueOf($instr)), jl_Integer_valueOf($note)))) {
            $theVal = !ju_HashMap_containsKey($instrNoteToBlock, jl_Integer_valueOf($instr)) ? ju_HashMap__init_() : ju_HashMap_get($instrNoteToBlock, jl_Integer_valueOf($instr));
            ju_HashMap_putImpl($theVal, jl_Integer_valueOf($note), $centerPos);
            ju_HashMap_putImpl($instrNoteToBlock, jl_Integer_valueOf($instr), $theVal);
            $uniqueNotes = $uniqueNotes + 1 | 0;
        }
        var$6 = var$6 + 1 | 0;
    }
    $counter = new juca_AtomicInteger;
    $spiralCoords = maa_NoteblockPlayer_spiral(1 + jl_Math_min(9, jl_Math_ceil(jl_Math_sqrt($uniqueNotes)) | 0) | 0);
    $spiralCoordsTwo = $uniqueNotes <= 81 ? ju_ArrayList__init_0() : maa_NoteblockPlayer_spiral(1 + (jl_Math_ceil(jl_Math_sqrt($uniqueNotes - 81 | 0)) | 0) | 0);
    $centerPos = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet($instrNoteToBlock));
    while (ju_HashMap$AbstractMapIterator_hasNext($centerPos)) {
        $entry = ju_HashMap$EntryIterator_next($centerPos);
        $instr_0 = $entry.$key;
        $noteBlockPos = $entry.$value1;
        $noteBlockPosOrig = ju_HashMap_clone($noteBlockPos);
        $theVal = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet($noteBlockPos));
        while (ju_HashMap$AbstractMapIterator_hasNext($theVal)) {
            $entryy = ju_HashMap$EntryIterator_next($theVal);
            $note_0 = $entryy.$key;
            $blockPos = $entryy.$value1;
            $currNum = juca_AtomicInteger_getAndIncrement($counter);
            $theBlock = nms_Vec3_createVectorHelper($blockPos.$xCoord, $blockPos.$yCoord, $blockPos.$zCoord);
            if ($currNum >= 81) {
                $uniqueNotes = $currNum - 81 | 0;
                $songLine = nms_Vec3_addVector($theBlock, ju_ArrayList_get($spiralCoordsTwo, $uniqueNotes).data[0] - ju_ArrayList_get($spiralCoordsTwo, 0).data[0] | 0, 4.0, ju_ArrayList_get($spiralCoordsTwo, $uniqueNotes).data[1] - ju_ArrayList_get($spiralCoordsTwo, 0).data[1] | 0);
            } else {
                $songLine = nms_Vec3_addVector($theBlock, ju_ArrayList_get($spiralCoords, $currNum).data[0] - ju_ArrayList_get($spiralCoords, 0).data[0] | 0, 0.0, ju_ArrayList_get($spiralCoords, $currNum).data[1] - ju_ArrayList_get($spiralCoords, 0).data[1] | 0);
                $offset = nms_Vec3_subtract($songLine, $blockPos);
                if (jl_Math_abs2($offset.$xCoord) === 4.0 && jl_Math_abs2($offset.$zCoord) === 4.0)
                    $songLine = nms_Vec3_addVector($songLine, 0.0, 1.0, 0.0);
            }
            ju_Map_replace($noteBlockPos, $note_0, $blockPos, $songLine);
        }
        ju_Map_replace($instrNoteToBlock, $instr_0, $noteBlockPosOrig, $noteBlockPos);
    }
    return $instrNoteToBlock;
}
function maa_NoteblockPlayer_loadSong() {
    var $resSongFile, $songLines, $nbsSong, $nbsSongBoard, $i, $layer, $note, $noteInfo, $noteKey, $tickLines, $notePitch, $instrId, $i_0, $$je;
    maa_NoteblockPlayer_$callClinit();
    a: {
        try {
            $resSongFile = $rt_s(36);
            $songLines = ju_HashMap__init_();
            $nbsSong = maan_Song__init_(maa_NoteblockPlayer_songdata);
            $nbsSongBoard = maan_Song_getSongBoard($nbsSong);
            $i = 0;
            while ($i < ju_ArrayList_size($nbsSongBoard)) {
                $layer = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet(maan_Layer_getNoteList(ju_ArrayList_get($nbsSongBoard, $i))));
                while (ju_HashMap$AbstractMapIterator_hasNext($layer)) {
                    $note = ju_HashMap$EntryIterator_next0($layer);
                    $noteInfo = ju_MapEntry_getValue($note);
                    $noteKey = jl_Integer_valueOf(jl_Integer_intValue(ju_MapEntry_getKey($note)) / (5.0 * maan_Song_getTempo($nbsSong) / 10000.0) | 0);
                    if (!ju_HashMap_containsKey($songLines, $noteKey))
                        ju_HashMap_put($songLines, $noteKey, ju_ArrayList__init_0());
                    $tickLines = ju_HashMap_get($songLines, $noteKey);
                    $notePitch = jl_Integer_valueOf(jl_Math_max(33, jl_Math_min(57, maan_Note_getPitch($noteInfo))) - 33 | 0);
                    $instrId = maan_Instrument_getID(maan_Note_getInstrument($noteInfo));
                    if ($instrId != (-1)) {
                        $instrId = maa_NoteblockPlayer_in2old.data[maa_NoteblockPlayer_nb2in.data[$instrId]];
                        ju_ArrayList_add($tickLines, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append9(jl_StringBuilder_append(jl_StringBuilder_append9(jl_StringBuilder__init_(), $noteKey), $rt_s(272)), $notePitch), $rt_s(272)), $instrId), $rt_s(64))));
                        ju_HashMap_put($songLines, $noteKey, $tickLines);
                    }
                }
                $i = $i + 1 | 0;
            }
            $nbsSong = ju_TreeSet_iterator(ju_TreeSet__init_0(ju_HashMap_keySet($songLines)));
            while ($nbsSong.$hasNext()) {
                $tickLines = ju_HashMap_get($songLines, $nbsSong.$next());
                $i_0 = 0;
                while ($i_0 < ju_ArrayList_size($tickLines)) {
                    $resSongFile = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $resSongFile), ju_ArrayList_get($tickLines, $i_0)));
                    $i_0 = $i_0 + 1 | 0;
                }
            }
            if (jl_String_endsWith($resSongFile, $rt_s(64)))
                $resSongFile = jl_String_substring0($resSongFile, 0, jl_String_length($resSongFile) - 1 | 0);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                break a;
            } else {
                throw $$e;
            }
        }
        return $resSongFile;
    }
    maa_NoteblockPlayer_playing = 0;
    return null;
}
function maa_NoteblockPlayer__clinit_() {
    var var$1, var$2;
    maa_NoteblockPlayer_playing = 0;
    maa_NoteblockPlayer_songdata = null;
    maa_NoteblockPlayer_song = null;
    maa_NoteblockPlayer_thr = null;
    var$1 = $rt_createIntArray(16);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 4;
    var$2[2] = 1;
    var$2[3] = 2;
    var$2[4] = 3;
    var$2[5] = 7;
    var$2[6] = 5;
    var$2[7] = 6;
    var$2[8] = 8;
    var$2[9] = 9;
    var$2[10] = 10;
    var$2[11] = 11;
    var$2[12] = 12;
    var$2[13] = 13;
    var$2[14] = 14;
    var$2[15] = 15;
    maa_NoteblockPlayer_nb2in = var$1;
    var$1 = $rt_createIntArray(16);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 1;
    var$2[2] = 2;
    var$2[3] = 3;
    var$2[4] = 4;
    var$2[5] = 0;
    var$2[6] = 0;
    var$2[7] = 4;
    var$2[8] = 0;
    var$2[9] = 0;
    var$2[10] = 0;
    var$2[11] = 0;
    var$2[12] = 4;
    var$2[13] = 0;
    var$2[14] = 4;
    var$2[15] = 0;
    maa_NoteblockPlayer_in2old = var$1;
    var$1 = $rt_createArray(nms_Block, 5);
    var$2 = var$1.data;
    nms_Block_$callClinit();
    var$2[0] = nms_Block_dirt;
    var$2[1] = nms_Block_stone;
    var$2[2] = nms_Block_sand;
    var$2[3] = nms_Block_glass;
    var$2[4] = nms_Block_planks;
    maa_NoteblockPlayer_instruments = var$1;
    maa_NoteblockPlayer_startingPos = null;
    maa_NoteblockPlayer_mc = nmc_Minecraft_theMinecraft;
    maa_NoteblockPlayer_legit = 0;
    maa_NoteblockPlayer_flying = 0;
    maa_NoteblockPlayer_playingSong = 0;
    maa_NoteblockPlayer_songLiness = null;
    maa_NoteblockPlayer_instrNoteToBlocks = null;
    maa_NoteblockPlayer_tickPassed = 0;
    maa_NoteblockPlayer_notePos = null;
    maa_NoteblockPlayer_targetNote = (-1);
    maa_NoteblockPlayer_correctNote = 0;
    maa_NoteblockPlayer_currentNote = (-1);
    maa_NoteblockPlayer_theoreticalNote = (-1);
    maa_NoteblockPlayer_building = 0;
}
function nms_KeyBinding() {
    var a = this; jl_Object.call(a);
    a.$keyDescription = null;
    a.$keyCode = 0;
    a.$pressed = 0;
    a.$pressTime = 0;
}
var nms_KeyBinding_keybindArray = null;
var nms_KeyBinding_hash = null;
function nms_KeyBinding__init_(var_0, var_1) {
    var var_2 = new nms_KeyBinding();
    nms_KeyBinding__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_KeyBinding_onTick($par0) {
    var $var1;
    $var1 = nms_IntHashMap_lookup(nms_KeyBinding_hash, $par0);
    if ($var1 !== null)
        $var1.$pressTime = $var1.$pressTime + 1 | 0;
}
function nms_KeyBinding_setKeyBindState($par0, $par1) {
    var $var2;
    $var2 = nms_IntHashMap_lookup(nms_KeyBinding_hash, $par0);
    if ($var2 !== null)
        $var2.$pressed = $par1;
}
function nms_KeyBinding_resetKeyBindingArrayAndHash() {
    var $var0, $var1;
    nms_IntHashMap_clearMap(nms_KeyBinding_hash);
    $var0 = ju_AbstractList_iterator(nms_KeyBinding_keybindArray);
    while (ju_AbstractList$1_hasNext($var0)) {
        $var1 = ju_AbstractList$1_next($var0);
        nms_IntHashMap_addKey(nms_KeyBinding_hash, $var1.$keyCode, $var1);
    }
}
function nms_KeyBinding__init_0($this, $par1Str, $par2) {
    $this.$pressTime = 0;
    $this.$keyDescription = $par1Str;
    $this.$keyCode = $par2;
    ju_ArrayList_add(nms_KeyBinding_keybindArray, $this);
    nms_IntHashMap_addKey(nms_KeyBinding_hash, $par2, $this);
}
function nms_KeyBinding_isPressed($this) {
    if (!$this.$pressTime)
        return 0;
    $this.$pressTime = $this.$pressTime - 1 | 0;
    return 1;
}
function nms_KeyBinding__clinit_() {
    nms_KeyBinding_keybindArray = ju_ArrayList__init_0();
    nms_KeyBinding_hash = nms_IntHashMap__init_0();
}
function nms_EntityPlayerSP() {
    var a = this; nms_EntityPlayer.call(a);
    a.$movementInput = null;
    a.$mc11 = null;
    a.$sprintToggleTimer = 0;
    a.$sprintingTicksLeft = 0;
    a.$renderArmYaw = 0.0;
    a.$renderArmPitch = 0.0;
    a.$prevRenderArmYaw = 0.0;
    a.$prevRenderArmPitch = 0.0;
    a.$field_71162_ch = null;
    a.$field_71160_ci = null;
    a.$field_71161_cj = null;
    a.$timeInPortal = 0.0;
    a.$prevTimeInPortal = 0.0;
}
function nms_EntityPlayerSP_moveEntity($this, $par1, $par3, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, $par1, $par3, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, $par5, $ptr);
}
function nms_EntityPlayerSP_updateEntityActionState($this) {
    nms_EntityLiving_updateArmSwingProgress($this);
    $this.$moveStrafing = $this.$movementInput.$moveStrafe;
    $this.$moveForward = $this.$movementInput.$moveForward0;
    $this.$isJumping = $this.$movementInput.$jump0;
    $this.$prevRenderArmYaw = $this.$renderArmYaw;
    $this.$prevRenderArmPitch = $this.$renderArmPitch;
    $this.$renderArmPitch = $this.$renderArmPitch + ($this.$rotationPitch - $this.$renderArmPitch) * 0.5;
    $this.$renderArmYaw = $this.$renderArmYaw + ($this.$rotationYaw - $this.$renderArmYaw) * 0.5;
}
function nms_EntityPlayerSP_isClientWorld($this) {
    return 1;
}
function nms_EntityPlayerSP_onLivingUpdate($this) {
    var var$1, var$2, var$3, $var2, $var1, $var3, var$7, var$8, var$9, var$10, $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$sprintingTicksLeft > 0) {
            $this.$sprintingTicksLeft = $this.$sprintingTicksLeft - 1 | 0;
            if (!$this.$sprintingTicksLeft)
                nms_EntityPlayerSP_setSprinting($this, 0);
        }
        if ($this.$sprintToggleTimer > 0)
            $this.$sprintToggleTimer = $this.$sprintToggleTimer - 1 | 0;
        if (nms_PlayerControllerMP_enableEverythingIsScrewedUpMode($this.$mc11.$playerController)) {
            $this.$posZ = 0.5;
            $this.$posX = 0.5;
            $this.$posX = 0.0;
            $this.$posZ = 0.0;
            $this.$rotationYaw = $this.$ticksExisted / 12.0;
            $this.$rotationPitch = 10.0;
            $this.$posY = 68.5;
            return;
        }
        $this.$prevTimeInPortal = $this.$timeInPortal;
        if (!$this.$inPortal) {
            if (nms_EntityLiving_isPotionActive($this, nms_Potion_confusion) && nms_PotionEffect_getDuration(nms_EntityLiving_getActivePotionEffect($this, nms_Potion_confusion)) > 60) {
                $this.$timeInPortal = $this.$timeInPortal + 0.006666666828095913;
                if ($this.$timeInPortal > 1.0)
                    $this.$timeInPortal = 1.0;
            } else {
                if ($this.$timeInPortal > 0.0)
                    $this.$timeInPortal = $this.$timeInPortal - 0.05000000074505806;
                if ($this.$timeInPortal < 0.0)
                    $this.$timeInPortal = 0.0;
            }
        } else {
            if ($this.$mc11.$currentScreen !== null)
                nmc_Minecraft_displayGuiScreen($this.$mc11, null);
            if ($this.$timeInPortal === 0.0) {
                var$1 = $this.$mc11.$sndManager;
                var$2 = $rt_s(1380);
                var$3 = 1.0;
                $var2 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.4000000059604645 + 0.800000011920929;
                $ptr = 1;
                continue main;
            }
            $this.$timeInPortal = $this.$timeInPortal + 0.012500000186264515;
            if ($this.$timeInPortal >= 1.0)
                $this.$timeInPortal = 1.0;
            $this.$inPortal = 0;
        }
        if ($this.$timeUntilPortal > 0)
            $this.$timeUntilPortal = $this.$timeUntilPortal - 1 | 0;
        $var1 = $this.$movementInput.$jump0;
        $var2 = 0.800000011920929;
        $var3 = $this.$movementInput.$moveForward0 < $var2 ? 0 : 1;
        nms_MovementInputFromOptions_updatePlayerMoveState($this.$movementInput);
        if (nms_EntityPlayer_isUsingItem($this)) {
            var$1 = $this.$movementInput;
            var$1.$moveStrafe = var$1.$moveStrafe * 0.20000000298023224;
            var$1 = $this.$movementInput;
            var$1.$moveForward0 = var$1.$moveForward0 * 0.20000000298023224;
            $this.$sprintToggleTimer = 0;
        }
        if ($this.$movementInput.$sneak && $this.$ySize < 0.20000000298023224)
            $this.$ySize = 0.20000000298023224;
        var$7 = $this.$posX - $this.$width0 * 0.35;
        var$8 = $this.$boundingBox.$minY + 0.5;
        var$9 = $this.$posZ + $this.$width0 * 0.35;
        $ptr = 2;
        continue main;
    case 1:
        nms_SoundManager_playSoundFX(var$1, var$2, var$3, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $this.$timeInPortal = $this.$timeInPortal + 0.012500000186264515;
        if ($this.$timeInPortal >= 1.0)
            $this.$timeInPortal = 1.0;
        $this.$inPortal = 0;
        if ($this.$timeUntilPortal > 0)
            $this.$timeUntilPortal = $this.$timeUntilPortal - 1 | 0;
        $var1 = $this.$movementInput.$jump0;
        $var2 = 0.800000011920929;
        $var3 = $this.$movementInput.$moveForward0 < $var2 ? 0 : 1;
        nms_MovementInputFromOptions_updatePlayerMoveState($this.$movementInput);
        if (nms_EntityPlayer_isUsingItem($this)) {
            var$1 = $this.$movementInput;
            var$1.$moveStrafe = var$1.$moveStrafe * 0.20000000298023224;
            var$1 = $this.$movementInput;
            var$1.$moveForward0 = var$1.$moveForward0 * 0.20000000298023224;
            $this.$sprintToggleTimer = 0;
        }
        if ($this.$movementInput.$sneak && $this.$ySize < 0.20000000298023224)
            $this.$ySize = 0.20000000298023224;
        var$7 = $this.$posX - $this.$width0 * 0.35;
        var$8 = $this.$boundingBox.$minY + 0.5;
        var$9 = $this.$posZ + $this.$width0 * 0.35;
        $ptr = 2;
    case 2:
        nms_EntityPlayerSP_pushOutOfBlocks($this, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$8 = $this.$posX - $this.$width0 * 0.35;
        var$10 = $this.$boundingBox.$minY + 0.5;
        var$9 = $this.$posZ - $this.$width0 * 0.35;
        $ptr = 3;
    case 3:
        nms_EntityPlayerSP_pushOutOfBlocks($this, var$8, var$10, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$9 = $this.$posX + $this.$width0 * 0.35;
        var$7 = $this.$boundingBox.$minY + 0.5;
        var$8 = $this.$posZ - $this.$width0 * 0.35;
        $ptr = 4;
    case 4:
        nms_EntityPlayerSP_pushOutOfBlocks($this, var$9, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$9 = $this.$posX + $this.$width0 * 0.35;
        var$7 = $this.$boundingBox.$minY + 0.5;
        var$8 = $this.$posZ + $this.$width0 * 0.35;
        $ptr = 5;
    case 5:
        a: {
            nms_EntityPlayerSP_pushOutOfBlocks($this, var$9, var$7, var$8);
            if ($rt_suspending()) {
                break main;
            }
            $var4 = nms_EntityPlayerSP_canSprint($this);
            if (!$this.$onGround)
                break a;
            if ($var3)
                break a;
            if ($this.$movementInput.$moveForward0 < $var2)
                break a;
            if (nms_Entity_isSprinting($this))
                break a;
            if (!$var4)
                break a;
            if (nms_EntityPlayer_isUsingItem($this))
                break a;
            if (nms_EntityLiving_isPotionActive($this, nms_Potion_blindness))
                break a;
            if (!$this.$sprintToggleTimer) {
                $this.$sprintToggleTimer = 7;
                break a;
            }
            nms_EntityPlayerSP_setSprinting($this, 1);
            $this.$sprintToggleTimer = 0;
        }
        if (nms_EntityPlayerSP_isSneaking($this))
            $this.$sprintToggleTimer = 0;
        if (nms_Entity_isSprinting($this) && !($this.$movementInput.$moveForward0 >= $var2 && !$this.$isCollidedHorizontally && $var4))
            nms_EntityPlayerSP_setSprinting($this, 0);
        if ($this.$capabilities.$allowFlying && !$var1 && $this.$movementInput.$jump0) {
            if (!$this.$flyToggleTimer)
                $this.$flyToggleTimer = 7;
            else {
                $this.$capabilities.$isFlying = $this.$capabilities.$isFlying ? 0 : 1;
                nms_EntityClientPlayerMP_sendPlayerAbilities($this);
                $this.$flyToggleTimer = 0;
            }
        }
        if ($this.$capabilities.$isFlying) {
            if ($this.$movementInput.$sneak)
                $this.$motionY = $this.$motionY - 0.15;
            if ($this.$movementInput.$jump0)
                $this.$motionY = $this.$motionY + 0.15;
        }
        $ptr = 6;
    case 6:
        nms_EntityPlayer_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$onGround && $this.$capabilities.$isFlying) {
            $this.$capabilities.$isFlying = 0;
            nms_EntityClientPlayerMP_sendPlayerAbilities($this);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, $var2, $var1, $var3, var$7, var$8, var$9, var$10, $var4, $ptr);
}
function nms_EntityPlayerSP_canSprint($this) {
    return $this.$foodStats.$foodLevel <= 6.0 && !$this.$capabilities.$allowFlying ? 0 : 1;
}
function nms_EntityPlayerSP_getFOVMultiplier($this) {
    var $var1, $var2, $var3;
    $var1 = 1.0;
    if ($this.$capabilities.$isFlying)
        $var1 = 1.100000023841858;
    $var1 = $var1 * ($this.$landMovementFactor * nms_EntityLiving_getSpeedModifier($this) / $this.$speedOnGround + 1.0) / 2.0;
    if (nms_EntityPlayer_isUsingItem($this)) {
        $var2 = $this.$itemInUse.$itemID0;
        nms_Item_$callClinit();
        if ($var2 == nms_Item_bow.$itemID) {
            $var3 = nms_EntityPlayer_getItemInUseDuration($this) / 20.0;
            $var1 = $var1 * (1.0 - ($var3 <= 1.0 ? $var3 * $var3 : 1.0) * 0.15000000596046448);
        }
    }
    return $var1;
}
function nms_EntityPlayerSP_updateCloak($this) {
    return;
}
function nms_EntityPlayerSP_displayGUIEditSign($this, $par1TileEntity) {
    var var$2, var$3;
    if ($par1TileEntity instanceof nms_TileEntitySign) {
        var$2 = $this.$mc11;
        var$3 = new nms_GuiEditSign;
        $par1TileEntity = $par1TileEntity;
        nms_GuiEditSign_$callClinit();
        nms_GuiScreen__init_(var$3);
        var$3.$screenTitle1 = $rt_s(1381);
        var$3.$editLine = 0;
        var$3.$entitySign = $par1TileEntity;
        nmc_Minecraft_displayGuiScreen(var$2, var$3);
    } else if ($par1TileEntity instanceof nms_TileEntityCommandBlock) {
        var$3 = $this.$mc11;
        var$2 = new nms_GuiCommandBlock;
        $par1TileEntity = $par1TileEntity;
        nms_GuiScreen__init_(var$2);
        var$2.$commandBlock = $par1TileEntity;
        nmc_Minecraft_displayGuiScreen(var$3, var$2);
    }
}
function nms_EntityPlayerSP_displayGUIBook($this, $par1ItemStack) {
    var $var2;
    $var2 = nms_ItemStack_getItem($par1ItemStack);
    nms_Item_$callClinit();
    if ($var2 === nms_Item_writtenBook)
        nmc_Minecraft_displayGuiScreen($this.$mc11, nms_GuiScreenBook__init_($this, $par1ItemStack, 0));
    else if ($var2 === nms_Item_writableBook)
        nmc_Minecraft_displayGuiScreen($this.$mc11, nms_GuiScreenBook__init_($this, $par1ItemStack, 1));
}
function nms_EntityPlayerSP_displayGUIChest($this, $par1IInventory) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
    var$2 = $this.$mc11;
    var$3 = new nms_GuiChest;
    var$4 = $this.$inventory;
    var$5 = new nms_ContainerChest;
    nms_Container__init_(var$5);
    var$5.$lowerChestInventory = $par1IInventory;
    var$5.$numRows = $par1IInventory.$slotsCount / 9 | 0;
    var$6 = (var$5.$numRows - 4 | 0) * 18 | 0;
    var$7 = 0;
    while (var$7 < var$5.$numRows) {
        var$8 = 0;
        while (var$8 < 9) {
            nms_Container_addSlotToContainer(var$5, nms_Slot__init_($par1IInventory, var$8 + (var$7 * 9 | 0) | 0, 8 + (var$8 * 18 | 0) | 0, 18 + (var$7 * 18 | 0) | 0));
            var$8 = var$8 + 1 | 0;
        }
        var$7 = var$7 + 1 | 0;
    }
    var$8 = 0;
    while (var$8 < 3) {
        var$9 = 0;
        while (var$9 < 9) {
            nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, (var$9 + (var$8 * 9 | 0) | 0) + 9 | 0, 8 + (var$9 * 18 | 0) | 0, (103 + (var$8 * 18 | 0) | 0) + var$6 | 0));
            var$9 = var$9 + 1 | 0;
        }
        var$8 = var$8 + 1 | 0;
    }
    var$8 = 0;
    var$9 = 161 + var$6 | 0;
    while (var$8 < 9) {
        nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, var$8, 8 + (var$8 * 18 | 0) | 0, var$9));
        var$8 = var$8 + 1 | 0;
    }
    nms_GuiContainer__init_(var$3, var$5);
    var$3.$inventoryRows = 0;
    var$3.$upperChestInventory = var$4;
    var$3.$lowerChestInventory0 = $par1IInventory;
    var$3.$allowUserInput = 0;
    var$3.$inventoryRows = $par1IInventory.$slotsCount / 9 | 0;
    var$3.$ySize0 = 114 + (var$3.$inventoryRows * 18 | 0) | 0;
    nmc_Minecraft_displayGuiScreen(var$2, var$3);
}
function nms_EntityPlayerSP_displayGUIHopper($this, $par1TileEntityHopper) {
    var var$2, var$3, var$4, var$5, var$6, var$7;
    var$2 = $this.$mc11;
    var$3 = new nms_GuiHopper;
    var$4 = $this.$inventory;
    var$5 = new nms_ContainerHopper;
    nms_Container__init_(var$5);
    var$5.$field_94538_a = $par1TileEntityHopper;
    var$6 = 0;
    while (var$6 < nms_TileEntityHopper_getSizeInventory($par1TileEntityHopper)) {
        nms_Container_addSlotToContainer(var$5, nms_Slot__init_($par1TileEntityHopper, var$6, 44 + (var$6 * 18 | 0) | 0, 20));
        var$6 = var$6 + 1 | 0;
    }
    var$6 = 0;
    while (var$6 < 3) {
        var$7 = 0;
        while (var$7 < 9) {
            nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, (var$7 + (var$6 * 9 | 0) | 0) + 9 | 0, 8 + (var$7 * 18 | 0) | 0, (var$6 * 18 | 0) + 51 | 0));
            var$7 = var$7 + 1 | 0;
        }
        var$6 = var$6 + 1 | 0;
    }
    var$6 = 0;
    while (var$6 < 9) {
        nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, var$6, 8 + (var$6 * 18 | 0) | 0, 109));
        var$6 = var$6 + 1 | 0;
    }
    nms_GuiContainer__init_(var$3, var$5);
    var$3.$field_94081_r = var$4;
    var$3.$field_94080_s = $par1TileEntityHopper;
    var$3.$allowUserInput = 0;
    var$3.$ySize0 = 133;
    nmc_Minecraft_displayGuiScreen(var$2, var$3);
}
function nms_EntityPlayerSP_displayGUIWorkbench($this, $par1, $par2, $par3) {
    var var$4, var$5;
    var$4 = $this.$mc11;
    var$5 = new nms_GuiCrafting;
    nms_GuiContainer__init_(var$5, nms_ContainerWorkbench__init_($this.$inventory, $this.$worldObj, $par1, $par2, $par3));
    nmc_Minecraft_displayGuiScreen(var$4, var$5);
}
function nms_EntityPlayerSP_displayGUIEnchantment($this, $par1, $par2, $par3, $par4Str) {
    var var$5, var$6, var$7, var$8, var$9, var$10;
    var$5 = $this.$mc11;
    var$6 = new nms_GuiEnchantment;
    var$7 = $this.$inventory;
    var$8 = $this.$worldObj;
    var$9 = new nms_ContainerEnchantment;
    nms_Container__init_(var$9);
    var$10 = new nms_SlotEnchantmentTable;
    nms_InventoryBasic__init_(var$10, $rt_s(1382), 1, 1);
    var$10.$container = var$9;
    var$9.$tableInventory = var$10;
    var$9.$rand3 = nle_EaglercraftRandom__init_0();
    var$9.$enchantLevels = $rt_createIntArray(3);
    var$9.$worldPointer = var$8;
    var$9.$posX4 = $par1;
    var$9.$posY4 = $par2;
    var$9.$posZ3 = $par3;
    var$10 = new nms_SlotEnchantment;
    nms_Slot__init_0(var$10, var$9.$tableInventory, 0, 25, 47);
    var$10.$container0 = var$9;
    nms_Container_addSlotToContainer(var$9, var$10);
    $par1 = 0;
    while ($par1 < 3) {
        $par2 = 0;
        while ($par2 < 9) {
            nms_Container_addSlotToContainer(var$9, nms_Slot__init_(var$7, ($par2 + ($par1 * 9 | 0) | 0) + 9 | 0, 8 + ($par2 * 18 | 0) | 0, 84 + ($par1 * 18 | 0) | 0));
            $par2 = $par2 + 1 | 0;
        }
        $par1 = $par1 + 1 | 0;
    }
    $par1 = 0;
    while ($par1 < 9) {
        nms_Container_addSlotToContainer(var$9, nms_Slot__init_(var$7, $par1, 8 + ($par1 * 18 | 0) | 0, 142));
        $par1 = $par1 + 1 | 0;
    }
    nms_GuiContainer__init_(var$6, var$9);
    var$6.$rand4 = nle_EaglercraftRandom__init_0();
    var$6.$containerEnchantment = var$6.$inventorySlots0;
    var$6.$field_94079_C = $par4Str;
    nmc_Minecraft_displayGuiScreen(var$5, var$6);
}
function nms_EntityPlayerSP_displayGUIAnvil($this, $par1, $par2, $par3) {
    var var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11;
    var$4 = $this.$mc11;
    var$5 = new nms_GuiRepair;
    var$6 = $this.$inventory;
    var$7 = $this.$worldObj;
    var$8 = new nms_ContainerRepair;
    var$9 = nmc_Minecraft_theMinecraft.$thePlayer;
    nms_Container__init_(var$8);
    var$8.$outputSlot = nms_InventoryCraftResult__init_0();
    var$10 = new nms_InventoryRepair;
    nms_InventoryBasic__init_(var$10, $rt_s(1383), 1, 2);
    var$10.$theContainer = var$8;
    var$8.$inputSlots = var$10;
    var$8.$maximumCost = 0;
    var$8.$stackSizeToBeUsedInRepair = 0;
    var$8.$theWorld1 = var$7;
    var$8.$field_82861_i = $par1;
    var$8.$field_82858_j = $par2;
    var$8.$field_82859_k = $par3;
    var$8.$thePlayer0 = var$9;
    nms_Container_addSlotToContainer(var$8, nms_Slot__init_(var$8.$inputSlots, 0, 27, 47));
    nms_Container_addSlotToContainer(var$8, nms_Slot__init_(var$8.$inputSlots, 1, 76, 47));
    var$10 = new nms_SlotRepair;
    nms_Slot__init_0(var$10, var$8.$outputSlot, 2, 134, 47);
    var$10.$anvil = var$8;
    var$10.$theWorld2 = var$7;
    var$10.$blockPosX = $par1;
    var$10.$blockPosY = $par2;
    var$10.$blockPosZ = $par3;
    nms_Container_addSlotToContainer(var$8, var$10);
    var$11 = 0;
    while (var$11 < 3) {
        $par1 = 0;
        while ($par1 < 9) {
            nms_Container_addSlotToContainer(var$8, nms_Slot__init_(var$6, ($par1 + (var$11 * 9 | 0) | 0) + 9 | 0, 8 + ($par1 * 18 | 0) | 0, 84 + (var$11 * 18 | 0) | 0));
            $par1 = $par1 + 1 | 0;
        }
        var$11 = var$11 + 1 | 0;
    }
    $par1 = 0;
    while ($par1 < 9) {
        nms_Container_addSlotToContainer(var$8, nms_Slot__init_(var$6, $par1, 8 + ($par1 * 18 | 0) | 0, 142));
        $par1 = $par1 + 1 | 0;
    }
    nms_GuiContainer__init_(var$5, var$8);
    var$5.$field_82325_q = var$6;
    var$5.$repairContainer = var$5.$inventorySlots0;
    nmc_Minecraft_displayGuiScreen(var$4, var$5);
}
function nms_EntityPlayerSP_displayGUIFurnace($this, $par1TileEntityFurnace) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
    var$2 = $this.$mc11;
    var$3 = new nms_GuiFurnace;
    var$4 = $this.$inventory;
    var$5 = new nms_ContainerFurnace;
    nms_Container__init_(var$5);
    var$5.$lastCookTime = 0;
    var$5.$lastBurnTime = 0;
    var$5.$lastItemBurnTime = 0;
    var$5.$furnace = $par1TileEntityFurnace;
    nms_Container_addSlotToContainer(var$5, nms_Slot__init_($par1TileEntityFurnace, 0, 56, 17));
    nms_Container_addSlotToContainer(var$5, nms_Slot__init_($par1TileEntityFurnace, 1, 56, 53));
    var$6 = new nms_SlotFurnace;
    var$7 = var$4.$player;
    nms_Slot__init_0(var$6, $par1TileEntityFurnace, 2, 116, 35);
    var$6.$thePlayer1 = var$7;
    nms_Container_addSlotToContainer(var$5, var$6);
    var$8 = 0;
    while (var$8 < 3) {
        var$9 = 0;
        while (var$9 < 9) {
            nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, (var$9 + (var$8 * 9 | 0) | 0) + 9 | 0, 8 + (var$9 * 18 | 0) | 0, 84 + (var$8 * 18 | 0) | 0));
            var$9 = var$9 + 1 | 0;
        }
        var$8 = var$8 + 1 | 0;
    }
    var$10 = 0;
    while (var$10 < 9) {
        nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, var$10, 8 + (var$10 * 18 | 0) | 0, 142));
        var$10 = var$10 + 1 | 0;
    }
    nms_GuiContainer__init_(var$3, var$5);
    var$3.$furnaceInventory = $par1TileEntityFurnace;
    nmc_Minecraft_displayGuiScreen(var$2, var$3);
}
function nms_EntityPlayerSP_displayGUIBrewingStand($this, $par1TileEntityBrewingStand) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8;
    var$2 = $this.$mc11;
    var$3 = new nms_GuiBrewingStand;
    var$4 = $this.$inventory;
    var$5 = new nms_ContainerBrewingStand;
    nms_Container__init_(var$5);
    var$5.$brewTime = 0;
    var$5.$tileBrewingStand = $par1TileEntityBrewingStand;
    nms_Container_addSlotToContainer(var$5, nms_SlotBrewingStandPotion__init_(var$4.$player, $par1TileEntityBrewingStand, 0, 56, 46));
    nms_Container_addSlotToContainer(var$5, nms_SlotBrewingStandPotion__init_(var$4.$player, $par1TileEntityBrewingStand, 1, 79, 53));
    nms_Container_addSlotToContainer(var$5, nms_SlotBrewingStandPotion__init_(var$4.$player, $par1TileEntityBrewingStand, 2, 102, 46));
    var$6 = new nms_SlotBrewingStandIngredient;
    nms_Slot__init_0(var$6, $par1TileEntityBrewingStand, 3, 79, 17);
    var$6.$brewingStand = var$5;
    var$5.$theSlot = nms_Container_addSlotToContainer(var$5, var$6);
    var$7 = 0;
    while (var$7 < 3) {
        var$8 = 0;
        while (var$8 < 9) {
            nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, (var$8 + (var$7 * 9 | 0) | 0) + 9 | 0, 8 + (var$8 * 18 | 0) | 0, 84 + (var$7 * 18 | 0) | 0));
            var$8 = var$8 + 1 | 0;
        }
        var$7 = var$7 + 1 | 0;
    }
    var$7 = 0;
    while (var$7 < 9) {
        nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, var$7, 8 + (var$7 * 18 | 0) | 0, 142));
        var$7 = var$7 + 1 | 0;
    }
    nms_GuiContainer__init_(var$3, var$5);
    var$3.$brewingStand0 = $par1TileEntityBrewingStand;
    nmc_Minecraft_displayGuiScreen(var$2, var$3);
}
function nms_EntityPlayerSP_displayGUIBeacon($this, $par1TileEntityBeacon) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8;
    var$2 = $this.$mc11;
    var$3 = new nms_GuiBeacon;
    var$4 = $this.$inventory;
    var$5 = new nms_ContainerBeacon;
    nms_Container__init_(var$5);
    var$5.$theBeacon = $par1TileEntityBeacon;
    var$6 = new nms_SlotBeacon;
    nms_Slot__init_0(var$6, $par1TileEntityBeacon, 0, 136, 110);
    var$6.$beacon = var$5;
    var$5.$beaconSlot = var$6;
    nms_Container_addSlotToContainer(var$5, var$6);
    var$7 = 0;
    while (var$7 < 3) {
        var$8 = 0;
        while (var$8 < 9) {
            nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, (var$8 + (var$7 * 9 | 0) | 0) + 9 | 0, 36 + (var$8 * 18 | 0) | 0, 137 + (var$7 * 18 | 0) | 0));
            var$8 = var$8 + 1 | 0;
        }
        var$7 = var$7 + 1 | 0;
    }
    var$8 = 0;
    while (var$8 < 9) {
        nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, var$8, 36 + (var$8 * 18 | 0) | 0, 195));
        var$8 = var$8 + 1 | 0;
    }
    var$5.$field_82865_g = $par1TileEntityBeacon.$levels;
    var$5.$field_82867_h = $par1TileEntityBeacon.$primaryEffect;
    var$5.$field_82868_i = $par1TileEntityBeacon.$secondaryEffect;
    nms_GuiContainer__init_(var$3, var$5);
    var$3.$beacon0 = $par1TileEntityBeacon;
    var$3.$xSize = 230;
    var$3.$ySize0 = 219;
    nmc_Minecraft_displayGuiScreen(var$2, var$3);
}
function nms_EntityPlayerSP_displayGUIDispenser($this, $par1TileEntityDispenser) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8;
    var$2 = $this.$mc11;
    var$3 = new nms_GuiDispenser;
    var$4 = $this.$inventory;
    var$5 = new nms_ContainerDispenser;
    nms_Container__init_(var$5);
    var$5.$tileEntityDispenser = $par1TileEntityDispenser;
    var$6 = 0;
    while (var$6 < 3) {
        var$7 = 0;
        while (var$7 < 3) {
            nms_Container_addSlotToContainer(var$5, nms_Slot__init_($par1TileEntityDispenser, var$7 + (var$6 * 3 | 0) | 0, 62 + (var$7 * 18 | 0) | 0, 17 + (var$6 * 18 | 0) | 0));
            var$7 = var$7 + 1 | 0;
        }
        var$6 = var$6 + 1 | 0;
    }
    var$6 = 0;
    while (var$6 < 3) {
        var$8 = 0;
        while (var$8 < 9) {
            nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, (var$8 + (var$6 * 9 | 0) | 0) + 9 | 0, 8 + (var$8 * 18 | 0) | 0, 84 + (var$6 * 18 | 0) | 0));
            var$8 = var$8 + 1 | 0;
        }
        var$6 = var$6 + 1 | 0;
    }
    var$6 = 0;
    while (var$6 < 9) {
        nms_Container_addSlotToContainer(var$5, nms_Slot__init_(var$4, var$6, 8 + (var$6 * 18 | 0) | 0, 142));
        var$6 = var$6 + 1 | 0;
    }
    nms_GuiContainer__init_(var$3, var$5);
    var$3.$field_94078_r = $par1TileEntityDispenser;
    nmc_Minecraft_displayGuiScreen(var$2, var$3);
}
function nms_EntityPlayerSP_displayGUIMerchant($this, $par1IMerchant, $par2Str) {
    var var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11;
    var$3 = $this.$mc11;
    var$4 = new nms_GuiMerchant;
    var$5 = $this.$inventory;
    var$6 = $this.$worldObj;
    var$7 = new nms_ContainerMerchant;
    nms_Container__init_(var$7);
    var$7.$theMerchant = $par1IMerchant;
    var$7.$theWorld3 = var$6;
    var$7.$merchantInventory = nms_InventoryMerchant__init_(var$5.$player, $par1IMerchant);
    nms_Container_addSlotToContainer(var$7, nms_Slot__init_(var$7.$merchantInventory, 0, 36, 53));
    nms_Container_addSlotToContainer(var$7, nms_Slot__init_(var$7.$merchantInventory, 1, 62, 53));
    var$6 = new nms_SlotMerchantResult;
    var$8 = var$5.$player;
    var$9 = var$7.$merchantInventory;
    nms_Slot__init_0(var$6, var$9, 2, 120, 53);
    var$6.$thePlayer2 = var$8;
    var$6.$theMerchant0 = $par1IMerchant;
    var$6.$theMerchantInventory = var$9;
    nms_Container_addSlotToContainer(var$7, var$6);
    var$10 = 0;
    while (var$10 < 3) {
        var$11 = 0;
        while (var$11 < 9) {
            nms_Container_addSlotToContainer(var$7, nms_Slot__init_(var$5, (var$11 + (var$10 * 9 | 0) | 0) + 9 | 0, 8 + (var$11 * 18 | 0) | 0, 84 + (var$10 * 18 | 0) | 0));
            var$11 = var$11 + 1 | 0;
        }
        var$10 = var$10 + 1 | 0;
    }
    var$10 = 0;
    while (var$10 < 9) {
        nms_Container_addSlotToContainer(var$7, nms_Slot__init_(var$5, var$10, 8 + (var$10 * 18 | 0) | 0, 142));
        var$10 = var$10 + 1 | 0;
    }
    nms_GuiContainer__init_(var$4, var$7);
    var$4.$currentRecipeIndex = 0;
    var$4.$theIMerchant = $par1IMerchant;
    if (!($par2Str !== null && jl_String_length($par2Str) >= 1))
        $par2Str = nms_StatCollector_translateToLocal($rt_s(1384));
    var$4.$field_94082_v = $par2Str;
    nmc_Minecraft_displayGuiScreen(var$3, var$4);
}
function nms_EntityPlayerSP_onCriticalHit($this, $par1Entity) {
    var var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$mc11.$effectRenderer;
        var$3 = new nms_EntityCrit2FX;
        var$4 = $this.$mc11.$theWorld;
        $ptr = 1;
    case 1:
        nms_EntityCrit2FX__init_(var$3, var$4, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_EffectRenderer_addEffect(var$2, var$3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, var$2, var$3, var$4, $ptr);
}
function nms_EntityPlayerSP_onEnchantmentCritical($this, $par1Entity) {
    var $var2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = new nms_EntityCrit2FX;
        var$3 = $this.$mc11.$theWorld;
        var$4 = $rt_s(1165);
        $ptr = 1;
    case 1:
        nms_EntityCrit2FX__init_0($var2, var$3, $par1Entity, var$4);
        if ($rt_suspending()) {
            break main;
        }
        nms_EffectRenderer_addEffect($this.$mc11.$effectRenderer, $var2);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $var2, var$3, var$4, $ptr);
}
function nms_EntityPlayerSP_isSneaking($this) {
    return $this.$movementInput.$sneak && !$this.$sleeping ? 1 : 0;
}
function nms_EntityPlayerSP_addChatMessage($this, $par1Str) {
    nms_GuiNewChat_addTranslatedMessage($this.$mc11.$ingameGUI.$persistantChatGUI, $par1Str, $rt_createArray(jl_Object, 0));
}
function nms_EntityPlayerSP_addStat($this, $par1StatBase, $par2) {
    if ($par1StatBase !== null) {
        $par1StatBase = $par1StatBase;
        if ($par1StatBase.$parentAchievement !== null && !nms_NBTTagCompound_getBoolean(nle_LocalStorageManager_achievementStorage, $par1StatBase.$parentAchievement.$statGuid))
            $par2 = 0;
        else if (nms_NBTTagCompound_getBoolean(nle_LocalStorageManager_achievementStorage, $par1StatBase.$statGuid))
            $par2 = 0;
        else {
            nms_NBTTagCompound_setBoolean(nle_LocalStorageManager_achievementStorage, $par1StatBase.$statGuid, 1);
            nle_LocalStorageManager_saveStorageA();
            $par2 = 1;
        }
        if ($par2)
            nms_GuiAchievement_queueTakenAchievement($this.$mc11.$guiAchievement, $par1StatBase);
    }
}
function nms_EntityPlayerSP_isBlockTranslucent($this, $par1, $par2, $par3) {
    return nms_World_isBlockNormalCube($this.$worldObj, $par1, $par2, $par3);
}
function nms_EntityPlayerSP_pushOutOfBlocks($this, $par1, $par3, $par5) {
    var $var7, $var8, $var9, $var10, $var12, $var16, $var14, $var15, $var18, $var17, $var19;
    $var7 = nms_MathHelper_floor_double($par1);
    $var8 = nms_MathHelper_floor_double($par3);
    $var9 = nms_MathHelper_floor_double($par5);
    $var10 = $par1 - $var7;
    $var12 = $par5 - $var9;
    if (!(!nms_EntityPlayerSP_isBlockTranslucent($this, $var7, $var8, $var9) && !nms_EntityPlayerSP_isBlockTranslucent($this, $var7, $var8 + 1 | 0, $var9))) {
        $var16 = $var7 - 1 | 0;
        $var14 = !nms_EntityPlayerSP_isBlockTranslucent($this, $var16, $var8, $var9) && !nms_EntityPlayerSP_isBlockTranslucent($this, $var16, $var8 + 1 | 0, $var9) ? 1 : 0;
        $var15 = $var7 + 1 | 0;
        $var15 = !nms_EntityPlayerSP_isBlockTranslucent($this, $var15, $var8, $var9) && !nms_EntityPlayerSP_isBlockTranslucent($this, $var15, $var8 + 1 | 0, $var9) ? 1 : 0;
        $var16 = $var9 - 1 | 0;
        $var16 = !nms_EntityPlayerSP_isBlockTranslucent($this, $var7, $var8, $var16) && !nms_EntityPlayerSP_isBlockTranslucent($this, $var7, $var8 + 1 | 0, $var16) ? 1 : 0;
        $var18 = $var9 + 1 | 0;
        $var17 = !nms_EntityPlayerSP_isBlockTranslucent($this, $var7, $var8, $var18) && !nms_EntityPlayerSP_isBlockTranslucent($this, $var7, $var8 + 1 | 0, $var18) ? 1 : 0;
        $var18 = (-1);
        $var19 = 9999.0;
        if ($var14 && $var10 < $var19) {
            $var18 = 0;
            $var19 = $var10;
        }
        if (!$var15)
            $par1 = $var19;
        else {
            $par1 = 1.0 - $var10;
            if ($par1 < $var19)
                $var18 = 1;
            else
                $par1 = $var19;
        }
        if ($var16 && $var12 < $par1) {
            $var18 = 4;
            $par1 = $var12;
        }
        if ($var17 && 1.0 - $var12 < $par1)
            $var18 = 5;
        if (!$var18)
            $this.$motionX = (-0.10000000149011612);
        if ($var18 == 1)
            $this.$motionX = 0.10000000149011612;
        if ($var18 == 4)
            $this.$motionZ = (-0.10000000149011612);
        if ($var18 == 5)
            $this.$motionZ = 0.10000000149011612;
    }
    return 0;
}
function nms_EntityPlayerSP_setSprinting($this, $par1) {
    nms_Entity_setSprinting($this, $par1);
    $this.$sprintingTicksLeft = !$par1 ? 0 : 600;
}
function nms_EntityPlayerSP_setXPStats($this, $par1, $par2, $par3) {
    $this.$experience = $par1;
    $this.$experienceTotal = $par2;
    $this.$experienceLevel = $par3;
}
function nms_EntityPlayerSP_sendChatToPlayer($this, $par1Str) {
    nms_GuiNewChat_printChatMessage($this.$mc11.$ingameGUI.$persistantChatGUI, $par1Str);
}
function nms_EntityPlayerSP_getHeldItem($this) {
    return nms_InventoryPlayer_getCurrentItem($this.$inventory);
}
function nms_EntityPlayerSP_playSound($this, $par1Str, $par2, $par3) {
    var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = $this.$worldObj;
        var$5 = $this.$posX;
        var$6 = $this.$posY - $this.$yOffset;
        var$7 = $this.$posZ;
        var$8 = 0;
        $ptr = 1;
    case 1:
        nms_WorldClient_playSound(var$4, var$5, var$6, var$7, $par1Str, $par2, $par3, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par3, var$4, var$5, var$6, var$7, var$8, $ptr);
}
function nms_EntityClientPlayerMP() {
    var a = this; nms_EntityPlayerSP.call(a);
    a.$sendQueue = null;
    a.$oldPosX = 0.0;
    a.$oldMinY = 0.0;
    a.$oldPosY = 0.0;
    a.$oldPosZ = 0.0;
    a.$oldRotationYaw = 0.0;
    a.$oldRotationPitch = 0.0;
    a.$wasOnGround = 0;
    a.$shouldStopSneaking = 0;
    a.$wasSneaking = 0;
    a.$field_71168_co = 0;
    a.$hasSetHealth = 0;
}
function nms_EntityClientPlayerMP_attackEntityFrom($this, $par1DamageSource, $par2) {
    return 0;
}
function nms_EntityClientPlayerMP_heal($this, $par1) {
    return;
}
function nms_EntityClientPlayerMP_onUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_World_blockExists($this.$worldObj, nms_MathHelper_floor_double($this.$posX), 0, nms_MathHelper_floor_double($this.$posZ)))
            return;
        $ptr = 1;
    case 1:
        nms_EntityPlayer_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityClientPlayerMP_sendMotionUpdates($this);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_EntityClientPlayerMP_sendMotionUpdates($this) {
    var $var1, $var2, $var3, $var5, $var7, $var9, $var11, $var13, $var14, var$10, var$11, var$12, var$13, var$14;
    $var1 = nms_Entity_isSprinting($this);
    if ($var1 != $this.$wasSneaking) {
        if (!$var1)
            nms_NetClientHandler_addToSendQueue($this.$sendQueue, nms_Packet19EntityAction__init_0($this, 5));
        else
            nms_NetClientHandler_addToSendQueue($this.$sendQueue, nms_Packet19EntityAction__init_0($this, 4));
        $this.$wasSneaking = $var1;
    }
    $var2 = nms_EntityPlayerSP_isSneaking($this);
    if ($var2 != $this.$shouldStopSneaking) {
        if (!$var2)
            nms_NetClientHandler_addToSendQueue($this.$sendQueue, nms_Packet19EntityAction__init_0($this, 2));
        else
            nms_NetClientHandler_addToSendQueue($this.$sendQueue, nms_Packet19EntityAction__init_0($this, 1));
        $this.$shouldStopSneaking = $var2;
    }
    $var3 = $this.$posX - $this.$oldPosX;
    $var5 = $this.$boundingBox.$minY - $this.$oldMinY;
    $var7 = $this.$posZ - $this.$oldPosZ;
    $var9 = $this.$rotationYaw - $this.$oldRotationYaw;
    $var11 = $this.$rotationPitch - $this.$oldRotationPitch;
    $var13 = $var3 * $var3 + $var5 * $var5 + $var7 * $var7 <= 9.0E-4 && $this.$field_71168_co < 20 ? 0 : 1;
    $var14 = $var9 === 0.0 && $var11 === 0.0 ? 0 : 1;
    if ($this.$ridingEntity !== null) {
        nms_NetClientHandler_addToSendQueue($this.$sendQueue, nms_Packet13PlayerLookMove__init_0($this.$motionX, (-999.0), (-999.0), $this.$motionZ, $this.$rotationYaw, $this.$rotationPitch, $this.$onGround));
        $var13 = 0;
    } else if ($var13 && $var14)
        nms_NetClientHandler_addToSendQueue($this.$sendQueue, nms_Packet13PlayerLookMove__init_0($this.$posX, $this.$boundingBox.$minY, $this.$posY, $this.$posZ, $this.$rotationYaw, $this.$rotationPitch, $this.$onGround));
    else if ($var13) {
        var$10 = $this.$sendQueue;
        var$11 = new nms_Packet11PlayerPosition;
        $var3 = $this.$posX;
        $var5 = $this.$boundingBox.$minY;
        $var7 = $this.$posY;
        $var9 = $this.$posZ;
        $var1 = $this.$onGround;
        nms_Packet__init_0(var$11);
        var$11.$xPosition = $var3;
        var$11.$yPosition0 = $var5;
        var$11.$stance = $var7;
        var$11.$zPosition = $var9;
        var$11.$onGround0 = $var1;
        var$11.$moving = 1;
        nms_NetClientHandler_addToSendQueue(var$10, var$11);
    } else if (!$var14) {
        var$12 = $this.$sendQueue;
        var$10 = new nms_Packet10Flying;
        $var1 = $this.$onGround;
        nms_Packet__init_0(var$10);
        var$10.$onGround0 = $var1;
        nms_NetClientHandler_addToSendQueue(var$12, var$10);
    } else {
        var$12 = $this.$sendQueue;
        var$10 = new nms_Packet12PlayerLook;
        var$13 = $this.$rotationYaw;
        var$14 = $this.$rotationPitch;
        $var1 = $this.$onGround;
        nms_Packet__init_0(var$10);
        var$10.$yaw = var$13;
        var$10.$pitch0 = var$14;
        var$10.$onGround0 = $var1;
        var$10.$rotating = 1;
        nms_NetClientHandler_addToSendQueue(var$12, var$10);
    }
    $this.$field_71168_co = $this.$field_71168_co + 1 | 0;
    $this.$wasOnGround = $this.$onGround;
    if ($var13) {
        $this.$oldPosX = $this.$posX;
        $this.$oldMinY = $this.$boundingBox.$minY;
        $this.$oldPosY = $this.$posY;
        $this.$oldPosZ = $this.$posZ;
        $this.$field_71168_co = 0;
    }
    if ($var14) {
        $this.$oldRotationYaw = $this.$rotationYaw;
        $this.$oldRotationPitch = $this.$rotationPitch;
    }
}
function nms_EntityClientPlayerMP_dropOneItem($this, $par1) {
    var $var2;
    $var2 = !$par1 ? 4 : 3;
    nms_NetClientHandler_addToSendQueue($this.$sendQueue, nms_Packet14BlockDig__init_0($var2, 0, 0, 0, 0));
    return null;
}
function nms_EntityClientPlayerMP_joinEntityItemWithWorld($this, $par1EntityItem) {
    return;
}
function nms_EntityClientPlayerMP_sendChatMessage($this, $par1Str) {
    var var$2, var$3;
    var$2 = $this.$sendQueue;
    var$3 = new nms_Packet3Chat;
    nms_Packet__init_0(var$3);
    var$3.$isServer = 1;
    if (jl_String_length($par1Str) > nms_Packet3Chat_maxChatLength)
        $par1Str = jl_String_substring0($par1Str, 0, nms_Packet3Chat_maxChatLength);
    var$3.$message0 = $par1Str;
    var$3.$isServer = 1;
    nms_NetClientHandler_addToSendQueue(var$2, var$3);
}
function nms_EntityClientPlayerMP_swingItem($this) {
    var var$1, var$2;
    nms_EntityLiving_swingItem($this);
    var$1 = $this.$sendQueue;
    var$2 = new nms_Packet18Animation;
    nms_Packet__init_0(var$2);
    var$2.$entityId0 = $this.$entityId;
    var$2.$animate = 1;
    nms_NetClientHandler_addToSendQueue(var$1, var$2);
}
function nms_EntityClientPlayerMP_respawnPlayer($this) {
    nms_NetClientHandler_addToSendQueue($this.$sendQueue, nms_Packet205ClientCommand__init_0(1));
}
function nms_EntityClientPlayerMP_damageEntity($this, $par1DamageSource, $par2) {
    if (!$this.$invulnerable)
        nms_EntityLiving_setEntityHealth($this, $this.$health - $par2 | 0);
}
function nms_EntityClientPlayerMP_closeScreen($this) {
    var var$1, var$2, var$3;
    var$1 = $this.$sendQueue;
    var$2 = new nms_Packet101CloseWindow;
    var$3 = $this.$openContainer.$windowId;
    nms_Packet__init_0(var$2);
    var$2.$windowId0 = var$3;
    nms_NetClientHandler_addToSendQueue(var$1, var$2);
    nms_EntityClientPlayerMP_func_92015_f($this);
}
function nms_EntityClientPlayerMP_func_92015_f($this) {
    $this.$inventory.$itemStack = null;
    $this.$openContainer = $this.$inventoryContainer;
    nmc_Minecraft_displayGuiScreen($this.$mc11, null);
}
function nms_EntityClientPlayerMP_setHealth($this, $par1) {
    var var$2;
    if (!$this.$hasSetHealth) {
        nms_EntityLiving_setEntityHealth($this, $par1);
        $this.$hasSetHealth = 1;
    } else {
        var$2 = $this.$health - $par1 | 0;
        if (var$2 <= 0) {
            nms_EntityLiving_setEntityHealth($this, $par1);
            if (var$2 < 0)
                $this.$hurtResistantTime = $this.$maxHurtResistantTime / 2 | 0;
        } else {
            $this.$lastDamage = var$2;
            nms_EntityLiving_setEntityHealth($this, $this.$health);
            $this.$hurtResistantTime = $this.$maxHurtResistantTime;
            nms_EntityClientPlayerMP_damageEntity($this, nms_DamageSource_generic, var$2);
            $this.$maxHurtTime = 10;
            $this.$hurtTime = 10;
        }
    }
}
function nms_EntityClientPlayerMP_addStat($this, $par1StatBase, $par2) {
    if ($par1StatBase !== null && $par1StatBase.$isIndependent)
        nms_EntityPlayerSP_addStat($this, $par1StatBase, $par2);
}
function nms_EntityClientPlayerMP_incrementStat($this, $par1StatBase, $par2) {
    if ($par1StatBase !== null && !$par1StatBase.$isIndependent)
        nms_EntityPlayerSP_addStat($this, $par1StatBase, $par2);
}
function nms_EntityClientPlayerMP_sendPlayerAbilities($this) {
    var var$1, var$2, var$3;
    var$1 = $this.$sendQueue;
    var$2 = new nms_Packet202PlayerAbilities;
    var$3 = $this.$capabilities;
    nms_Packet__init_0(var$2);
    var$2.$disableDamage0 = 0;
    var$2.$isFlying0 = 0;
    var$2.$allowFlying0 = 0;
    var$2.$isCreativeMode0 = 0;
    var$2.$disableDamage0 = var$3.$disableDamage;
    var$2.$isFlying0 = var$3.$isFlying;
    var$2.$allowFlying0 = var$3.$allowFlying;
    var$2.$isCreativeMode0 = var$3.$isCreativeMode;
    var$2.$flySpeed0 = var$3.$flySpeed;
    var$2.$walkSpeed0 = var$3.$walkSpeed;
    nms_NetClientHandler_addToSendQueue(var$1, var$2);
}
function nms_EntityClientPlayerMP_func_71066_bF($this) {
    return 1;
}
function nms_IInventory() {
}
function nms_InventoryPlayer() {
    var a = this; jl_Object.call(a);
    a.$mainInventory = null;
    a.$armorInventory = null;
    a.$currentItem = 0;
    a.$currentItemStack = null;
    a.$player = null;
    a.$itemStack = null;
    a.$inventoryChanged = 0;
}
function nms_InventoryPlayer_getCurrentItem($this) {
    return $this.$currentItem < 9 && $this.$currentItem >= 0 ? $this.$mainInventory.data[$this.$currentItem] : null;
}
function nms_InventoryPlayer_getInventorySlotContainItem($this, $par1) {
    var $var2;
    $var2 = 0;
    while (true) {
        if ($var2 >= $this.$mainInventory.data.length)
            return (-1);
        if ($this.$mainInventory.data[$var2] !== null && $this.$mainInventory.data[$var2].$itemID0 == $par1)
            break;
        $var2 = $var2 + 1 | 0;
    }
    return $var2;
}
function nms_InventoryPlayer_getInventorySlotContainItemAndDamage($this, $par1, $par2) {
    var $var3;
    $var3 = 0;
    while (true) {
        if ($var3 >= $this.$mainInventory.data.length)
            return (-1);
        if ($this.$mainInventory.data[$var3] !== null && $this.$mainInventory.data[$var3].$itemID0 == $par1 && $this.$mainInventory.data[$var3].$itemDamage == $par2)
            break;
        $var3 = $var3 + 1 | 0;
    }
    return $var3;
}
function nms_InventoryPlayer_getFirstEmptyStack($this) {
    var $var1;
    $var1 = 0;
    while (true) {
        if ($var1 >= $this.$mainInventory.data.length)
            return (-1);
        if ($this.$mainInventory.data[$var1] === null)
            break;
        $var1 = $var1 + 1 | 0;
    }
    return $var1;
}
function nms_InventoryPlayer_setCurrentItem($this, $par1, $par2, $par3, $par4) {
    var $var7, $var6;
    $this.$currentItemStack = nms_InventoryPlayer_getCurrentItem($this);
    $var7 = !$par3 ? nms_InventoryPlayer_getInventorySlotContainItem($this, $par1) : nms_InventoryPlayer_getInventorySlotContainItemAndDamage($this, $par1, $par2);
    if ($var7 >= 0 && $var7 < 9)
        $this.$currentItem = $var7;
    else if ($par4 && $par1 > 0) {
        $var6 = nms_InventoryPlayer_getFirstEmptyStack($this);
        if ($var6 >= 0 && $var6 < 9)
            $this.$currentItem = $var6;
        nms_Item_$callClinit();
        nms_InventoryPlayer_func_70439_a($this, nms_Item_itemsList.data[$par1], $par2);
    }
}
function nms_InventoryPlayer_changeCurrentItem($this, $par1) {
    if ($par1 > 0)
        $par1 = 1;
    if ($par1 < 0)
        $par1 = (-1);
    $this.$currentItem = $this.$currentItem - $par1 | 0;
    while ($this.$currentItem < 0) {
        $this.$currentItem = $this.$currentItem + 9 | 0;
    }
    while ($this.$currentItem >= 9) {
        $this.$currentItem = $this.$currentItem - 9 | 0;
    }
}
function nms_InventoryPlayer_func_70439_a($this, $par1Item, $par2) {
    var $var3, var$4, var$5, var$6;
    if ($par1Item !== null) {
        $var3 = nms_InventoryPlayer_getInventorySlotContainItemAndDamage($this, $par1Item.$itemID, $par2);
        if ($var3 >= 0)
            $this.$mainInventory.data[$var3] = $this.$mainInventory.data[$this.$currentItem];
        if ($this.$currentItemStack !== null && nms_ItemStack_isItemEnchantable($this.$currentItemStack) && nms_InventoryPlayer_getInventorySlotContainItemAndDamage($this, $this.$currentItemStack.$itemID0, $this.$currentItemStack.$itemDamage) == $this.$currentItem)
            return;
        var$4 = $this.$mainInventory.data;
        var$5 = $this.$currentItem;
        var$6 = new nms_ItemStack;
        nms_Item_$callClinit();
        nms_ItemStack__init_3(var$6, nms_Item_itemsList.data[$par1Item.$itemID], 1, $par2);
        var$4[var$5] = var$6;
    }
}
function nms_InventoryPlayer_storePartialItemStack($this, $par1ItemStack) {
    var $var2, $var3, $var4, $var4_0;
    $var2 = $par1ItemStack.$itemID0;
    $var3 = $par1ItemStack.$stackSize;
    if (nms_ItemStack_getMaxStackSize($par1ItemStack) == 1) {
        $var4 = nms_InventoryPlayer_getFirstEmptyStack($this);
        if ($var4 < 0)
            return $var3;
        if ($this.$mainInventory.data[$var4] === null)
            $this.$mainInventory.data[$var4] = nms_ItemStack_copyItemStack($par1ItemStack);
        return 0;
    }
    $var4_0 = 0;
    a: {
        while (true) {
            if ($var4_0 >= $this.$mainInventory.data.length) {
                $var4_0 = (-1);
                break a;
            }
            if ($this.$mainInventory.data[$var4_0] !== null && $this.$mainInventory.data[$var4_0].$itemID0 == $par1ItemStack.$itemID0 && nms_ItemStack_isStackable($this.$mainInventory.data[$var4_0]) && $this.$mainInventory.data[$var4_0].$stackSize < nms_ItemStack_getMaxStackSize($this.$mainInventory.data[$var4_0]) && $this.$mainInventory.data[$var4_0].$stackSize < 64 && !(nms_ItemStack_getHasSubtypes($this.$mainInventory.data[$var4_0]) && $this.$mainInventory.data[$var4_0].$itemDamage != $par1ItemStack.$itemDamage)
            && nms_ItemStack_areItemStackTagsEqual($this.$mainInventory.data[$var4_0], $par1ItemStack))
                break;
            $var4_0 = $var4_0 + 1 | 0;
        }
    }
    if ($var4_0 < 0)
        $var4_0 = nms_InventoryPlayer_getFirstEmptyStack($this);
    if ($var4_0 < 0)
        return $var3;
    if ($this.$mainInventory.data[$var4_0] === null) {
        $this.$mainInventory.data[$var4_0] = nms_ItemStack__init_0($var2, 0, $par1ItemStack.$itemDamage);
        if (nms_ItemStack_hasTagCompound($par1ItemStack))
            $this.$mainInventory.data[$var4_0].$stackTagCompound = nms_NBTTagCompound_copy($par1ItemStack.$stackTagCompound);
    }
    $var4 = $var3 <= (nms_ItemStack_getMaxStackSize($this.$mainInventory.data[$var4_0]) - $this.$mainInventory.data[$var4_0].$stackSize | 0) ? $var3 : nms_ItemStack_getMaxStackSize($this.$mainInventory.data[$var4_0]) - $this.$mainInventory.data[$var4_0].$stackSize | 0;
    if ($var4 > (64 - $this.$mainInventory.data[$var4_0].$stackSize | 0))
        $var4 = 64 - $this.$mainInventory.data[$var4_0].$stackSize | 0;
    if (!$var4)
        return $var3;
    $var2 = $var3 - $var4 | 0;
    $par1ItemStack = $this.$mainInventory.data[$var4_0];
    $par1ItemStack.$stackSize = $par1ItemStack.$stackSize + $var4 | 0;
    $this.$mainInventory.data[$var4_0].$animationsToGo = 5;
    return $var2;
}
function nms_InventoryPlayer_decrementAnimations($this) {
    var $var1;
    $var1 = 0;
    while ($var1 < $this.$mainInventory.data.length) {
        if ($this.$mainInventory.data[$var1] !== null)
            nms_ItemStack_updateAnimation($this.$mainInventory.data[$var1], $this.$player.$worldObj, $this.$player, $var1, $this.$currentItem != $var1 ? 0 : 1);
        $var1 = $var1 + 1 | 0;
    }
}
function nms_InventoryPlayer_consumeInventoryItem($this, $par1) {
    var $var2, var$3;
    $var2 = nms_InventoryPlayer_getInventorySlotContainItem($this, $par1);
    if ($var2 < 0)
        return 0;
    var$3 = $this.$mainInventory.data[$var2];
    $par1 = var$3.$stackSize - 1 | 0;
    var$3.$stackSize = $par1;
    if ($par1 <= 0)
        $this.$mainInventory.data[$var2] = null;
    return 1;
}
function nms_InventoryPlayer_hasItem($this, $par1) {
    return nms_InventoryPlayer_getInventorySlotContainItem($this, $par1) < 0 ? 0 : 1;
}
function nms_InventoryPlayer_addItemStackToInventory($this, $par1ItemStack) {
    var $var2;
    if ($par1ItemStack === null)
        return 0;
    if (nms_ItemStack_isItemDamaged($par1ItemStack)) {
        $var2 = nms_InventoryPlayer_getFirstEmptyStack($this);
        if ($var2 < 0) {
            if (!$this.$player.$capabilities.$isCreativeMode)
                return 0;
            $par1ItemStack.$stackSize = 0;
            return 1;
        }
        $this.$mainInventory.data[$var2] = nms_ItemStack_copyItemStack($par1ItemStack);
        $this.$mainInventory.data[$var2].$animationsToGo = 5;
        $par1ItemStack.$stackSize = 0;
        return 1;
    }
    while (true) {
        $var2 = $par1ItemStack.$stackSize;
        $par1ItemStack.$stackSize = nms_InventoryPlayer_storePartialItemStack($this, $par1ItemStack);
        if ($par1ItemStack.$stackSize <= 0)
            break;
        if ($par1ItemStack.$stackSize < $var2)
            continue;
        else
            break;
    }
    if ($par1ItemStack.$stackSize == $var2 && $this.$player.$capabilities.$isCreativeMode) {
        $par1ItemStack.$stackSize = 0;
        return 1;
    }
    return $par1ItemStack.$stackSize >= $var2 ? 0 : 1;
}
function nms_InventoryPlayer_decrStackSize($this, $par1, $par2) {
    var $var3, $var4, $var4_0;
    $var3 = $this.$mainInventory;
    if ($par1 >= $this.$mainInventory.data.length) {
        $var3 = $this.$armorInventory;
        $par1 = $par1 - $this.$mainInventory.data.length | 0;
    }
    $var3 = $var3.data;
    if ($var3[$par1] === null)
        return null;
    if ($var3[$par1].$stackSize <= $par2) {
        $var4 = $var3[$par1];
        $var3[$par1] = null;
        return $var4;
    }
    $var4_0 = nms_ItemStack_splitStack($var3[$par1], $par2);
    if (!$var3[$par1].$stackSize)
        $var3[$par1] = null;
    return $var4_0;
}
function nms_InventoryPlayer_setInventorySlotContents($this, $par1, $par2ItemStack) {
    var $var3, var$4;
    $var3 = $this.$mainInventory;
    var$4 = $var3.data.length;
    if ($par1 >= var$4) {
        $par1 = $par1 - var$4 | 0;
        $var3 = $this.$armorInventory;
    }
    $var3.data[$par1] = $par2ItemStack;
}
function nms_InventoryPlayer_getStrVsBlock($this, $par1Block) {
    var $var2;
    $var2 = 1.0;
    if ($this.$mainInventory.data[$this.$currentItem] !== null)
        $var2 = $var2 * nms_ItemStack_getStrVsBlock($this.$mainInventory.data[$this.$currentItem], $par1Block);
    return $var2;
}
function nms_InventoryPlayer_getSizeInventory($this) {
    return $this.$mainInventory.data.length + 4 | 0;
}
function nms_InventoryPlayer_getStackInSlot($this, $par1) {
    var $var2, var$3;
    $var2 = $this.$mainInventory;
    var$3 = $var2.data.length;
    if ($par1 >= var$3) {
        $par1 = $par1 - var$3 | 0;
        $var2 = $this.$armorInventory;
    }
    return $var2.data[$par1];
}
function nms_InventoryPlayer_getInvName($this) {
    return $rt_s(1385);
}
function nms_InventoryPlayer_isInvNameLocalized($this) {
    return 0;
}
function nms_InventoryPlayer_getInventoryStackLimit($this) {
    return 64;
}
function nms_InventoryPlayer_getDamageVsEntity($this, $par1Entity) {
    var $var2;
    $var2 = nms_InventoryPlayer_getStackInSlot($this, $this.$currentItem);
    return $var2 === null ? 1 : nms_ItemStack_getDamageVsEntity($var2, $par1Entity);
}
function nms_InventoryPlayer_canHarvestBlock($this, $par1Block) {
    var $var2;
    if ($par1Block.$blockMaterial.$requiresNoTool)
        return 1;
    $var2 = nms_InventoryPlayer_getStackInSlot($this, $this.$currentItem);
    return $var2 === null ? 0 : nms_ItemStack_canHarvestBlock($var2, $par1Block);
}
function nms_InventoryPlayer_armorItemInSlot($this, $par1) {
    return $this.$armorInventory.data[$par1];
}
function nms_InventoryPlayer_getTotalArmorValue($this) {
    var $var1, $var2;
    $var1 = 0;
    $var2 = 0;
    while ($var2 < $this.$armorInventory.data.length) {
        if ($this.$armorInventory.data[$var2] !== null && nms_ItemStack_getItem($this.$armorInventory.data[$var2]) instanceof nms_ItemArmor)
            $var1 = $var1 + nms_ItemStack_getItem($this.$armorInventory.data[$var2]).$damageReduceAmount | 0;
        $var2 = $var2 + 1 | 0;
    }
    return $var1;
}
function nms_InventoryPlayer_dropAllItems($this) {
    var $var1;
    $var1 = 0;
    while ($var1 < $this.$mainInventory.data.length) {
        if ($this.$mainInventory.data[$var1] !== null) {
            nms_EntityPlayer_dropPlayerItemWithRandomChoice($this.$player, $this.$mainInventory.data[$var1], 1);
            $this.$mainInventory.data[$var1] = null;
        }
        $var1 = $var1 + 1 | 0;
    }
    $var1 = 0;
    while ($var1 < $this.$armorInventory.data.length) {
        if ($this.$armorInventory.data[$var1] !== null) {
            nms_EntityPlayer_dropPlayerItemWithRandomChoice($this.$player, $this.$armorInventory.data[$var1], 1);
            $this.$armorInventory.data[$var1] = null;
        }
        $var1 = $var1 + 1 | 0;
    }
}
function nms_InventoryPlayer_onInventoryChanged($this) {
    $this.$inventoryChanged = 1;
}
function nms_InventoryPlayer_setItemStack($this, $par1ItemStack) {
    $this.$itemStack = $par1ItemStack;
}
function nms_InventoryPlayer_getItemStack($this) {
    return $this.$itemStack;
}
function nleg_FixedFunctionShader() {
    var a = this; jl_Object.call(a);
    a.$enable_color = 0;
    a.$enable_normal = 0;
    a.$enable_texture0 = 0;
    a.$enable_texture1 = 0;
    a.$enable_TEX_GEN_STRQ = 0;
    a.$enable_lighting = 0;
    a.$enable_fog = 0;
    a.$enable_alphatest = 0;
    a.$enable_unit0 = 0;
    a.$enable_unit1 = 0;
    a.$enable_anisotropic_fix = 0;
    a.$enable_swap_rb = 0;
    a.$globject = null;
    a.$u_matrix_m = null;
    a.$u_matrix_p = null;
    a.$u_matrix_t = null;
    a.$u_fogColor = null;
    a.$u_fogMode = null;
    a.$u_fogStart = null;
    a.$u_fogEnd = null;
    a.$u_fogDensity = null;
    a.$u_fogPremultiply = null;
    a.$u_colorUniform = null;
    a.$u_normalUniform = null;
    a.$u_alphaTestF = null;
    a.$u_textureGenS_M = null;
    a.$u_textureGenT_M = null;
    a.$u_textureGenR_M = null;
    a.$u_textureGenQ_M = null;
    a.$u_textureGenS_V = null;
    a.$u_textureGenT_V = null;
    a.$u_textureGenR_V = null;
    a.$u_textureGenQ_V = null;
    a.$u_matrix_inverse_m = null;
    a.$u_texCoordV0 = null;
    a.$u_texCoordV1 = null;
    a.$u_light0Pos = null;
    a.$u_light1Pos = null;
    a.$u_anisotropic_fix = null;
    a.$a_position = 0;
    a.$a_texture0 = 0;
    a.$a_color = 0;
    a.$a_normal = 0;
    a.$a_texture1 = 0;
    a.$attributeIndexesToEnable = 0;
    a.$genericArray = null;
    a.$genericBuffer = null;
    a.$bufferIsInitialized = 0;
    a.$modelBuffer = null;
    a.$projectionBuffer = null;
    a.$textureBuffer = null;
    a.$modelMatrix = null;
    a.$projectionMatrix = null;
    a.$textureMatrix = null;
    a.$inverseModelMatrix = null;
    a.$light0Pos = null;
    a.$light1Pos = null;
    a.$anisotropicFix = null;
    a.$fogMode = 0;
    a.$fogColorR = 0.0;
    a.$fogColorG = 0.0;
    a.$fogColorB = 0.0;
    a.$fogColorA = 0.0;
    a.$fogStart = 0.0;
    a.$fogEnd = 0.0;
    a.$fogDensity = 0.0;
    a.$alphaTestValue = 0.0;
    a.$tex0x = 0.0;
    a.$tex0y = 0.0;
    a.$tex1x = 0.0;
    a.$tex1y = 0.0;
    a.$colorUniformR = 0.0;
    a.$colorUniformG = 0.0;
    a.$colorUniformB = 0.0;
    a.$colorUniformA = 0.0;
    a.$normalUniformX = 0.0;
    a.$normalUniformY = 0.0;
    a.$normalUniformZ = 0.0;
}
var nleg_FixedFunctionShader_instances = null;
var nleg_FixedFunctionShader_shaderSource = null;
function nleg_FixedFunctionShader__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10, var_11, var_12) {
    var var_13 = new nleg_FixedFunctionShader();
    nleg_FixedFunctionShader__init_0(var_13, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10, var_11, var_12);
    return var_13;
}
function nleg_FixedFunctionShader_refreshCoreGL() {
    var $i;
    $i = 0;
    while ($i < nleg_FixedFunctionShader_instances.data.length) {
        if (nleg_FixedFunctionShader_instances.data[$i] !== null) {
            nlea_EaglerAdapterImpl2__wglDeleteProgram(nleg_FixedFunctionShader_instances.data[$i].$globject);
            nleg_FixedFunctionShader_instances.data[$i] = null;
        }
        $i = $i + 1 | 0;
    }
    nleg_FixedFunctionShader_shaderSource = null;
}
function nleg_FixedFunctionShader_instance($i) {
    var $s, $CC_a_color, $CC_a_normal, $CC_a_texture0, $CC_a_texture1, $CC_TEX_GEN_STRQ, $CC_lighting, $CC_fog, $CC_alphatest, $CC_unit0, $CC_unit1, $CC_anisotropic, $CC_swap_rb;
    $s = nleg_FixedFunctionShader_instances.data[$i];
    if ($s === null) {
        $CC_a_color = 0;
        $CC_a_normal = 0;
        $CC_a_texture0 = 0;
        $CC_a_texture1 = 0;
        $CC_TEX_GEN_STRQ = 0;
        $CC_lighting = 0;
        $CC_fog = 0;
        $CC_alphatest = 0;
        $CC_unit0 = 0;
        $CC_unit1 = 0;
        $CC_anisotropic = 0;
        $CC_swap_rb = 0;
        if (($i & 1) == 1)
            $CC_a_color = 1;
        if (($i & 2) == 2)
            $CC_a_normal = 1;
        if (($i & 4) == 4)
            $CC_a_texture0 = 1;
        if (($i & 8) == 8)
            $CC_a_texture1 = 1;
        if (($i & 16) == 16)
            $CC_TEX_GEN_STRQ = 1;
        if (($i & 32) == 32)
            $CC_lighting = 1;
        if (($i & 64) == 64)
            $CC_fog = 1;
        if (($i & 128) == 128)
            $CC_alphatest = 1;
        if (($i & 256) == 256)
            $CC_unit0 = 1;
        if (($i & 512) == 512)
            $CC_unit1 = 1;
        if (($i & 1024) == 1024)
            $CC_anisotropic = 1;
        if (($i & 2048) == 2048)
            $CC_swap_rb = 1;
        $s = nleg_FixedFunctionShader__init_($i, $CC_a_color, $CC_a_normal, $CC_a_texture0, $CC_a_texture1, $CC_TEX_GEN_STRQ, $CC_lighting, $CC_fog, $CC_alphatest, $CC_unit0, $CC_unit1, $CC_anisotropic, $CC_swap_rb);
        nleg_FixedFunctionShader_instances.data[$i] = $s;
    }
    return $s;
}
function nleg_FixedFunctionShader__init_0($this, $j, $CC_a_color, $CC_a_normal, $CC_a_texture0, $CC_a_texture1, $CC_TEX_GEN_STRQ, $CC_lighting, $CC_fog, $CC_alphatest, $CC_unit0, $CC_unit1, $CC_anisotropic_fix, $CC_swap_rb) {
    var $source, $v, $f;
    jl_Object__init_0($this);
    $this.$u_matrix_m = null;
    $this.$u_matrix_p = null;
    $this.$u_matrix_t = null;
    $this.$u_fogColor = null;
    $this.$u_fogMode = null;
    $this.$u_fogStart = null;
    $this.$u_fogEnd = null;
    $this.$u_fogDensity = null;
    $this.$u_fogPremultiply = null;
    $this.$u_colorUniform = null;
    $this.$u_normalUniform = null;
    $this.$u_alphaTestF = null;
    $this.$u_textureGenS_M = null;
    $this.$u_textureGenT_M = null;
    $this.$u_textureGenR_M = null;
    $this.$u_textureGenQ_M = null;
    $this.$u_textureGenS_V = null;
    $this.$u_textureGenT_V = null;
    $this.$u_textureGenR_V = null;
    $this.$u_textureGenQ_V = null;
    $this.$u_matrix_inverse_m = null;
    $this.$u_texCoordV0 = null;
    $this.$u_texCoordV1 = null;
    $this.$u_light0Pos = null;
    $this.$u_light1Pos = null;
    $this.$u_anisotropic_fix = null;
    $this.$bufferIsInitialized = 0;
    $this.$modelBuffer = $rt_createFloatArray(16);
    $this.$projectionBuffer = $rt_createFloatArray(16);
    $this.$textureBuffer = $rt_createFloatArray(16);
    $this.$modelMatrix = nlegv_Matrix4f_setZero(nlegv_Matrix4f__init_0());
    $this.$projectionMatrix = nlegv_Matrix4f_setZero(nlegv_Matrix4f__init_0());
    $this.$textureMatrix = nlegv_Matrix4f_setZero(nlegv_Matrix4f__init_0());
    $this.$inverseModelMatrix = nlegv_Matrix4f_setZero(nlegv_Matrix4f__init_0());
    $this.$light0Pos = nlegv_Vector4f__init_0();
    $this.$light1Pos = nlegv_Vector4f__init_0();
    $this.$anisotropicFix = nlegv_Vector2f__init_0(0.0, 0.0);
    $this.$fogMode = 0;
    $this.$fogColorR = 0.0;
    $this.$fogColorG = 0.0;
    $this.$fogColorB = 0.0;
    $this.$fogColorA = 0.0;
    $this.$fogStart = 0.0;
    $this.$fogEnd = 0.0;
    $this.$fogDensity = 0.0;
    $this.$alphaTestValue = 0.0;
    $this.$tex0x = 0.0;
    $this.$tex0y = 0.0;
    $this.$tex1x = 0.0;
    $this.$tex1y = 0.0;
    $this.$colorUniformR = 0.0;
    $this.$colorUniformG = 0.0;
    $this.$colorUniformB = 0.0;
    $this.$colorUniformA = 0.0;
    $this.$normalUniformX = 0.0;
    $this.$normalUniformY = 0.0;
    $this.$normalUniformZ = 0.0;
    $this.$enable_color = $CC_a_color;
    $this.$enable_normal = $CC_a_normal;
    $this.$enable_texture0 = $CC_a_texture0;
    $this.$enable_texture1 = $CC_a_texture1;
    $this.$enable_TEX_GEN_STRQ = $CC_TEX_GEN_STRQ;
    $this.$enable_lighting = $CC_lighting;
    $this.$enable_fog = $CC_fog;
    $this.$enable_alphatest = $CC_alphatest;
    $this.$enable_unit0 = $CC_unit0;
    $this.$enable_unit1 = $CC_unit1;
    $this.$enable_anisotropic_fix = $CC_anisotropic_fix;
    $this.$enable_swap_rb = $CC_swap_rb;
    if (nleg_FixedFunctionShader_shaderSource === null)
        nleg_FixedFunctionShader_shaderSource = nlea_EaglerAdapterImpl2_fileContents($rt_s(1284));
    $source = $rt_s(36);
    if ($this.$enable_color)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1386)));
    if ($this.$enable_normal)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1387)));
    if ($this.$enable_texture0)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1388)));
    if ($this.$enable_texture1)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1389)));
    if ($this.$enable_TEX_GEN_STRQ)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1390)));
    if ($this.$enable_lighting)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1391)));
    if ($this.$enable_fog)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1392)));
    if ($this.$enable_alphatest)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1393)));
    if ($this.$enable_unit0)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1394)));
    if ($this.$enable_unit1)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1395)));
    if ($this.$enable_anisotropic_fix)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1396)));
    if ($this.$enable_swap_rb)
        $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), $rt_s(1397)));
    $source = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $source), nleg_FixedFunctionShader_shaderSource));
    $v = nlea_EaglerAdapterImpl2__wglCreateShader(35633);
    nlea_EaglerAdapterImpl2__wglShaderSource($v, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), nlea_EaglerAdapterImpl2__wgetShaderHeader()), $rt_s(250)), $source)));
    nlea_EaglerAdapterImpl2__wglCompileShader($v);
    if (!nlea_EaglerAdapterImpl2__wglGetShaderCompiled($v)) {
        ji_PrintStream_println(jl_System_err(), jl_String_replace0(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(254)), nlea_EaglerAdapterImpl2__wglGetShaderInfoLog($v))), $rt_s(64), $rt_s(1398)));
        $rt_throw(jl_RuntimeException__init_($rt_s(1399)));
    }
    $f = nlea_EaglerAdapterImpl2__wglCreateShader(35632);
    nlea_EaglerAdapterImpl2__wglShaderSource($f, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), nlea_EaglerAdapterImpl2__wgetShaderHeader()), $rt_s(251)), $source)));
    nlea_EaglerAdapterImpl2__wglCompileShader($f);
    if (!nlea_EaglerAdapterImpl2__wglGetShaderCompiled($f)) {
        ji_PrintStream_println(jl_System_err(), jl_String_replace0(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(254)), nlea_EaglerAdapterImpl2__wglGetShaderInfoLog($f))), $rt_s(64), $rt_s(1400)));
        $rt_throw(jl_RuntimeException__init_($rt_s(1399)));
    }
    $this.$globject = nlea_EaglerAdapterImpl2__wglCreateProgram();
    nlea_EaglerAdapterImpl2__wglAttachShader($this.$globject, $v);
    nlea_EaglerAdapterImpl2__wglAttachShader($this.$globject, $f);
    $j = 1;
    $this.$a_position = 0;
    nlea_EaglerAdapterImpl2__wglBindAttributeLocation($this.$globject, $this.$a_position, $rt_s(1401));
    if (!$this.$enable_texture0)
        $this.$a_texture0 = (-1);
    else {
        $this.$a_texture0 = $j;
        nlea_EaglerAdapterImpl2__wglBindAttributeLocation($this.$globject, $this.$a_texture0, $rt_s(1402));
        $j = 2;
    }
    if (!$this.$enable_color)
        $this.$a_color = (-1);
    else {
        $CC_a_color = $j + 1 | 0;
        $this.$a_color = $j;
        nlea_EaglerAdapterImpl2__wglBindAttributeLocation($this.$globject, $this.$a_color, $rt_s(1403));
        $j = $CC_a_color;
    }
    if (!$this.$enable_normal)
        $this.$a_normal = (-1);
    else {
        $CC_a_color = $j + 1 | 0;
        $this.$a_normal = $j;
        nlea_EaglerAdapterImpl2__wglBindAttributeLocation($this.$globject, $this.$a_normal, $rt_s(1404));
        $j = $CC_a_color;
    }
    if (!$this.$enable_texture1)
        $this.$a_texture1 = (-1);
    else {
        $CC_a_color = $j + 1 | 0;
        $this.$a_texture1 = $j;
        nlea_EaglerAdapterImpl2__wglBindAttributeLocation($this.$globject, $this.$a_texture1, $rt_s(1405));
        $j = $CC_a_color;
    }
    $this.$attributeIndexesToEnable = $j;
    nlea_EaglerAdapterImpl2__wglLinkProgram($this.$globject);
    nlea_EaglerAdapterImpl2__wglDetachShader($this.$globject, $v);
    nlea_EaglerAdapterImpl2__wglDetachShader($this.$globject, $f);
    nlea_EaglerAdapterImpl2__wglDeleteShader($v);
    nlea_EaglerAdapterImpl2__wglDeleteShader($f);
    if (!nlea_EaglerAdapterImpl2__wglGetProgramLinked($this.$globject)) {
        ji_PrintStream_println(jl_System_err(), jl_String_replace0(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(254)), nlea_EaglerAdapterImpl2__wglGetProgramInfoLog($this.$globject))), $rt_s(64), $rt_s(1406)));
        $rt_throw(jl_RuntimeException__init_($rt_s(1399)));
    }
    nlea_EaglerAdapterImpl2__wglUseProgram($this.$globject);
    $this.$u_matrix_m = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(256));
    $this.$u_matrix_p = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(257));
    $this.$u_matrix_t = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1407));
    $this.$u_colorUniform = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1408));
    if ($this.$enable_lighting) {
        $this.$u_normalUniform = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1409));
        $this.$u_light0Pos = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1410));
        $this.$u_light1Pos = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1411));
    }
    if ($this.$enable_fog) {
        $this.$u_fogColor = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1412));
        $this.$u_fogMode = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1413));
        $this.$u_fogStart = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1414));
        $this.$u_fogEnd = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1415));
        $this.$u_fogDensity = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1416));
        $this.$u_fogPremultiply = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1417));
    }
    if ($this.$enable_alphatest)
        $this.$u_alphaTestF = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1418));
    if ($this.$enable_TEX_GEN_STRQ) {
        $this.$u_textureGenS_M = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1419));
        $this.$u_textureGenT_M = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1420));
        $this.$u_textureGenR_M = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1421));
        $this.$u_textureGenQ_M = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1422));
        $this.$u_textureGenS_V = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1423));
        $this.$u_textureGenT_V = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1424));
        $this.$u_textureGenR_V = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1425));
        $this.$u_textureGenQ_V = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1426));
        $this.$u_matrix_inverse_m = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1427));
    }
    if ($this.$enable_anisotropic_fix) {
        $this.$u_anisotropic_fix = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1428));
        nlea_EaglerAdapterImpl2__wglUniform2f($this.$u_anisotropic_fix, 1008.0, 1008.0);
    }
    nlea_EaglerAdapterImpl2__wglUniform1i(nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1429)), 0);
    nlea_EaglerAdapterImpl2__wglUniform1i(nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1430)), 1);
    $this.$u_texCoordV0 = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1431));
    $this.$u_texCoordV1 = nlea_EaglerAdapterImpl2__wglGetUniformLocation($this.$globject, $rt_s(1432));
    $this.$genericArray = nlea_EaglerAdapterImpl2__wglCreateVertexArray();
    $this.$genericBuffer = nlea_EaglerAdapterImpl2__wglCreateBuffer();
    nlea_EaglerAdapterImpl2__wglBindVertexArray($this.$genericArray);
    nlea_EaglerAdapterImpl2__wglBindBuffer(34962, $this.$genericBuffer);
    nleg_FixedFunctionShader_setupArrayForProgram($this);
}
function nleg_FixedFunctionShader_setupArrayForProgram($this) {
    nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray($this.$a_position);
    nlea_EaglerAdapterImpl2__wglVertexAttribPointer($this.$a_position, 3, 5126, 0, 32, 0);
    if ($this.$enable_texture0) {
        nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray($this.$a_texture0);
        nlea_EaglerAdapterImpl2__wglVertexAttribPointer($this.$a_texture0, 2, 5126, 0, 32, 12);
    }
    if ($this.$enable_color) {
        nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray($this.$a_color);
        nlea_EaglerAdapterImpl2__wglVertexAttribPointer($this.$a_color, 4, 5121, 1, 32, 20);
    }
    if ($this.$enable_normal) {
        nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray($this.$a_normal);
        nlea_EaglerAdapterImpl2__wglVertexAttribPointer($this.$a_normal, 4, 5121, 1, 32, 24);
    }
    if ($this.$enable_texture1) {
        nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray($this.$a_texture1);
        nlea_EaglerAdapterImpl2__wglVertexAttribPointer($this.$a_texture1, 2, 5122, 0, 32, 28);
    }
}
function nleg_FixedFunctionShader_useProgram($this) {
    nlea_EaglerAdapterImpl2__wglUseProgram($this.$globject);
}
function nleg_FixedFunctionShader_unuseProgram($this) {
    return;
}
function nleg_FixedFunctionShader_setAnisotropicFix($this, $x, $y) {
    if (!($this.$anisotropicFix.$x2 === $x && $this.$anisotropicFix.$y2 === $y)) {
        $this.$anisotropicFix.$x2 = $x;
        $this.$anisotropicFix.$y2 = $y;
        nlea_EaglerAdapterImpl2__wglUniform2f($this.$u_anisotropic_fix, $x, $y);
    }
}
function nleg_FixedFunctionShader_setModelMatrix($this, $mat) {
    if (!nlegv_Matrix4f_equals($mat, $this.$modelMatrix)) {
        nlegv_Matrix4f_store0(nlegv_Matrix4f_load($this.$modelMatrix, $mat), $this.$modelBuffer);
        nlea_EaglerAdapterImpl2__wglUniformMat4fv($this.$u_matrix_m, $this.$modelBuffer);
        if ($this.$enable_TEX_GEN_STRQ) {
            nlegv_Matrix4f_invert(nlegv_Matrix4f_load($this.$inverseModelMatrix, $mat));
            nlegv_Matrix4f_store0($this.$inverseModelMatrix, $this.$modelBuffer);
            nlea_EaglerAdapterImpl2__wglUniformMat4fv($this.$u_matrix_inverse_m, $this.$modelBuffer);
        }
    }
}
function nleg_FixedFunctionShader_setProjectionMatrix($this, $mat) {
    if (!nlegv_Matrix4f_equals($mat, $this.$projectionMatrix)) {
        nlegv_Matrix4f_store0(nlegv_Matrix4f_load($this.$projectionMatrix, $mat), $this.$projectionBuffer);
        nlea_EaglerAdapterImpl2__wglUniformMat4fv($this.$u_matrix_p, $this.$projectionBuffer);
    }
}
function nleg_FixedFunctionShader_setTextureMatrix($this, $mat) {
    if (!nlegv_Matrix4f_equals($mat, $this.$textureMatrix)) {
        nlegv_Matrix4f_store0(nlegv_Matrix4f_load($this.$textureMatrix, $mat), $this.$textureBuffer);
        nlea_EaglerAdapterImpl2__wglUniformMat4fv($this.$u_matrix_t, $this.$textureBuffer);
    }
}
function nleg_FixedFunctionShader_setLightPositions($this, $pos0, $pos1) {
    if (!(nlegv_Vector4f_equals($pos0, $this.$light0Pos) && nlegv_Vector4f_equals($pos1, $this.$light1Pos))) {
        nlegv_Vector4f_set($this.$light0Pos, $pos0);
        nlegv_Vector4f_set($this.$light1Pos, $pos1);
        nlea_EaglerAdapterImpl2__wglUniform3f($this.$u_light0Pos, $this.$light0Pos.$x, $this.$light0Pos.$y, $this.$light0Pos.$z);
        nlea_EaglerAdapterImpl2__wglUniform3f($this.$u_light1Pos, $this.$light1Pos.$x, $this.$light1Pos.$y, $this.$light1Pos.$z);
    }
}
function nleg_FixedFunctionShader_setFogMode($this, $mode) {
    if ($this.$fogMode != $mode) {
        $this.$fogMode = $mode;
        nlea_EaglerAdapterImpl2__wglUniform1i($this.$u_fogMode, $mode % 2 | 0);
        nlea_EaglerAdapterImpl2__wglUniform1f($this.$u_fogPremultiply, $mode / 2 | 0);
    }
}
function nleg_FixedFunctionShader_setFogColor($this, $r, $g, $b, $a) {
    if (!($this.$fogColorR === $r && $this.$fogColorG === $g && $this.$fogColorB === $b && $this.$fogColorA === $a)) {
        $this.$fogColorR = $r;
        $this.$fogColorG = $g;
        $this.$fogColorB = $b;
        $this.$fogColorA = $a;
        nlea_EaglerAdapterImpl2__wglUniform4f($this.$u_fogColor, $this.$fogColorR, $this.$fogColorG, $this.$fogColorB, $this.$fogColorA);
    }
}
function nleg_FixedFunctionShader_setFogStartEnd($this, $s, $e) {
    if (!($this.$fogStart === $s && $this.$fogEnd === $e)) {
        $this.$fogStart = $s;
        $this.$fogEnd = $e;
        nlea_EaglerAdapterImpl2__wglUniform1f($this.$u_fogStart, $this.$fogStart);
        nlea_EaglerAdapterImpl2__wglUniform1f($this.$u_fogEnd, $this.$fogEnd);
    }
}
function nleg_FixedFunctionShader_setFogDensity($this, $d) {
    if ($this.$fogDensity !== $d) {
        $this.$fogDensity = $d;
        nlea_EaglerAdapterImpl2__wglUniform1f($this.$u_fogDensity, $this.$fogDensity);
    }
}
function nleg_FixedFunctionShader_setAlphaTest($this, $limit) {
    if ($this.$alphaTestValue !== $limit) {
        $this.$alphaTestValue = $limit;
        nlea_EaglerAdapterImpl2__wglUniform1f($this.$u_alphaTestF, $this.$alphaTestValue);
    }
}
function nleg_FixedFunctionShader_setTex0Coords($this, $x, $y) {
    if (!($this.$tex0x === $x && $this.$tex0y === $y)) {
        $this.$tex0x = $x;
        $this.$tex0y = $y;
        nlea_EaglerAdapterImpl2__wglUniform2f($this.$u_texCoordV0, $this.$tex0x, $this.$tex0y);
    }
}
function nleg_FixedFunctionShader_setTex1Coords($this, $x, $y) {
    if (!($this.$tex1x === $x && $this.$tex1y === $y)) {
        $this.$tex1x = $x;
        $this.$tex1y = $y;
        nlea_EaglerAdapterImpl2__wglUniform2f($this.$u_texCoordV1, $this.$tex1x, $this.$tex1y);
    }
}
function nleg_FixedFunctionShader_setTexGenS($this, $plane, $x, $y, $z, $w) {
    nlea_EaglerAdapterImpl2__wglUniform1i($this.$u_textureGenS_M, $plane);
    nlea_EaglerAdapterImpl2__wglUniform4f($this.$u_textureGenS_V, $x, $y, $z, $w);
}
function nleg_FixedFunctionShader_setTexGenT($this, $plane, $x, $y, $z, $w) {
    nlea_EaglerAdapterImpl2__wglUniform1i($this.$u_textureGenT_M, $plane);
    nlea_EaglerAdapterImpl2__wglUniform4f($this.$u_textureGenT_V, $x, $y, $z, $w);
}
function nleg_FixedFunctionShader_setTexGenR($this, $plane, $x, $y, $z, $w) {
    nlea_EaglerAdapterImpl2__wglUniform1i($this.$u_textureGenR_M, $plane);
    nlea_EaglerAdapterImpl2__wglUniform4f($this.$u_textureGenR_V, $x, $y, $z, $w);
}
function nleg_FixedFunctionShader_setTexGenQ($this, $plane, $x, $y, $z, $w) {
    nlea_EaglerAdapterImpl2__wglUniform1i($this.$u_textureGenQ_M, $plane);
    nlea_EaglerAdapterImpl2__wglUniform4f($this.$u_textureGenQ_V, $x, $y, $z, $w);
}
function nleg_FixedFunctionShader_setColor($this, $r, $g, $b, $a) {
    if (!($this.$colorUniformR === $r && $this.$colorUniformG === $g && $this.$colorUniformB === $b && $this.$colorUniformA === $a)) {
        $this.$colorUniformR = $r;
        $this.$colorUniformG = $g;
        $this.$colorUniformB = $b;
        $this.$colorUniformA = $a;
        nlea_EaglerAdapterImpl2__wglUniform4f($this.$u_colorUniform, $this.$colorUniformR, $this.$colorUniformG, $this.$colorUniformB, $this.$colorUniformA);
    }
}
function nleg_FixedFunctionShader_setNormal($this, $x, $y, $z) {
    if (!($this.$normalUniformX === $x && $this.$normalUniformY === $y && $this.$normalUniformZ === $z)) {
        $this.$normalUniformX = $x;
        $this.$normalUniformY = $y;
        $this.$normalUniformZ = $z;
        nlea_EaglerAdapterImpl2__wglUniform3f($this.$u_normalUniform, $this.$normalUniformX, $this.$normalUniformY, $this.$normalUniformZ);
    }
}
function nleg_FixedFunctionShader__clinit_() {
    nleg_FixedFunctionShader_instances = $rt_createArray(nleg_FixedFunctionShader, 4096);
    nleg_FixedFunctionShader_shaderSource = null;
}
function nms_EnumOptions() {
    var a = this; jl_Enum.call(a);
    a.$enumFloat = 0;
    a.$enumBoolean = 0;
    a.$enumString = null;
}
var nms_EnumOptions_MUSIC = null;
var nms_EnumOptions_SOUND = null;
var nms_EnumOptions_INVERT_MOUSE = null;
var nms_EnumOptions_SENSITIVITY = null;
var nms_EnumOptions_FOV = null;
var nms_EnumOptions_GAMMA = null;
var nms_EnumOptions_RENDER_DISTANCE = null;
var nms_EnumOptions_VIEW_BOBBING = null;
var nms_EnumOptions_ANAGLYPH = null;
var nms_EnumOptions_FRAMERATE_LIMIT = null;
var nms_EnumOptions_DIFFICULTY = null;
var nms_EnumOptions_GRAPHICS = null;
var nms_EnumOptions_AMBIENT_OCCLUSION = null;
var nms_EnumOptions_GUI_SCALE = null;
var nms_EnumOptions_RENDER_CLOUDS = null;
var nms_EnumOptions_PARTICLES = null;
var nms_EnumOptions_CHAT_VISIBILITY = null;
var nms_EnumOptions_CHAT_COLOR = null;
var nms_EnumOptions_CHAT_LINKS = null;
var nms_EnumOptions_CHAT_OPACITY = null;
var nms_EnumOptions_CHAT_LINKS_PROMPT = null;
var nms_EnumOptions_USE_SERVER_TEXTURES = null;
var nms_EnumOptions_SNOOPER_ENABLED = null;
var nms_EnumOptions_USE_FULLSCREEN = null;
var nms_EnumOptions_PATCH_ANGLE = null;
var nms_EnumOptions_ENABLE_FOG = null;
var nms_EnumOptions_SHOW_CAPE = null;
var nms_EnumOptions_ANTIALIASING = null;
var nms_EnumOptions_CHAT_SCALE = null;
var nms_EnumOptions_CHAT_WIDTH = null;
var nms_EnumOptions_CHAT_HEIGHT_FOCUSED = null;
var nms_EnumOptions_CHAT_HEIGHT_UNFOCUSED = null;
var nms_EnumOptions_$VALUES = null;
function nms_EnumOptions__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EnumOptions();
    nms_EnumOptions__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_EnumOptions_values() {
    return nms_EnumOptions_$VALUES.$clone();
}
function nms_EnumOptions_getEnumOptions($par0) {
    var $var1, $var2, $var3, $var4;
    $var1 = nms_EnumOptions_values().data;
    $var2 = $var1.length;
    $var3 = 0;
    while (true) {
        if ($var3 >= $var2)
            return null;
        $var4 = $var1[$var3];
        if (nms_EnumOptions_returnEnumOrdinal($var4) == $par0)
            break;
        $var3 = $var3 + 1 | 0;
    }
    return $var4;
}
function nms_EnumOptions__init_0($this, var$1, var$2, $par3Str, $par4, $par5) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$enumString = $par3Str;
    $this.$enumFloat = $par4;
    $this.$enumBoolean = $par5;
}
function nms_EnumOptions_getEnumFloat($this) {
    return $this.$enumFloat;
}
function nms_EnumOptions_getEnumBoolean($this) {
    return $this.$enumBoolean;
}
function nms_EnumOptions_returnEnumOrdinal($this) {
    return $this.$ordinal;
}
function nms_EnumOptions_getEnumString($this) {
    return $this.$enumString;
}
function nms_EnumOptions__clinit_() {
    var var$1, var$2;
    nms_EnumOptions_MUSIC = nms_EnumOptions__init_($rt_s(1433), 0, $rt_s(1434), 1, 0);
    nms_EnumOptions_SOUND = nms_EnumOptions__init_($rt_s(1435), 1, $rt_s(1436), 1, 0);
    nms_EnumOptions_INVERT_MOUSE = nms_EnumOptions__init_($rt_s(1437), 2, $rt_s(1438), 0, 1);
    nms_EnumOptions_SENSITIVITY = nms_EnumOptions__init_($rt_s(1439), 3, $rt_s(1440), 1, 0);
    nms_EnumOptions_FOV = nms_EnumOptions__init_($rt_s(1441), 4, $rt_s(1442), 1, 0);
    nms_EnumOptions_GAMMA = nms_EnumOptions__init_($rt_s(1443), 5, $rt_s(1444), 1, 0);
    nms_EnumOptions_RENDER_DISTANCE = nms_EnumOptions__init_($rt_s(1445), 6, $rt_s(1446), 0, 0);
    nms_EnumOptions_VIEW_BOBBING = nms_EnumOptions__init_($rt_s(1447), 7, $rt_s(1448), 0, 1);
    nms_EnumOptions_ANAGLYPH = nms_EnumOptions__init_($rt_s(1449), 8, $rt_s(1450), 0, 1);
    nms_EnumOptions_FRAMERATE_LIMIT = nms_EnumOptions__init_($rt_s(1451), 9, $rt_s(1452), 0, 0);
    nms_EnumOptions_DIFFICULTY = nms_EnumOptions__init_($rt_s(1453), 10, $rt_s(1454), 0, 0);
    nms_EnumOptions_GRAPHICS = nms_EnumOptions__init_($rt_s(1455), 11, $rt_s(1456), 0, 0);
    nms_EnumOptions_AMBIENT_OCCLUSION = nms_EnumOptions__init_($rt_s(1457), 12, $rt_s(1458), 0, 0);
    nms_EnumOptions_GUI_SCALE = nms_EnumOptions__init_($rt_s(1459), 13, $rt_s(1460), 0, 0);
    nms_EnumOptions_RENDER_CLOUDS = nms_EnumOptions__init_($rt_s(1461), 14, $rt_s(1462), 0, 1);
    nms_EnumOptions_PARTICLES = nms_EnumOptions__init_($rt_s(1463), 15, $rt_s(1464), 0, 0);
    nms_EnumOptions_CHAT_VISIBILITY = nms_EnumOptions__init_($rt_s(1465), 16, $rt_s(1466), 0, 0);
    nms_EnumOptions_CHAT_COLOR = nms_EnumOptions__init_($rt_s(1467), 17, $rt_s(1468), 0, 1);
    nms_EnumOptions_CHAT_LINKS = nms_EnumOptions__init_($rt_s(1469), 18, $rt_s(1470), 0, 1);
    nms_EnumOptions_CHAT_OPACITY = nms_EnumOptions__init_($rt_s(1471), 19, $rt_s(1472), 1, 0);
    nms_EnumOptions_CHAT_LINKS_PROMPT = nms_EnumOptions__init_($rt_s(1473), 20, $rt_s(1474), 0, 1);
    nms_EnumOptions_USE_SERVER_TEXTURES = nms_EnumOptions__init_($rt_s(1475), 21, $rt_s(1476), 0, 1);
    nms_EnumOptions_SNOOPER_ENABLED = nms_EnumOptions__init_($rt_s(1477), 22, $rt_s(1478), 0, 1);
    nms_EnumOptions_USE_FULLSCREEN = nms_EnumOptions__init_($rt_s(1479), 23, $rt_s(1480), 0, 1);
    nms_EnumOptions_PATCH_ANGLE = nms_EnumOptions__init_($rt_s(1481), 24, $rt_s(1482), 0, 1);
    nms_EnumOptions_ENABLE_FOG = nms_EnumOptions__init_($rt_s(1483), 25, $rt_s(1484), 0, 1);
    nms_EnumOptions_SHOW_CAPE = nms_EnumOptions__init_($rt_s(1485), 26, $rt_s(1486), 0, 1);
    nms_EnumOptions_ANTIALIASING = nms_EnumOptions__init_($rt_s(1487), 27, $rt_s(1488), 0, 0);
    nms_EnumOptions_CHAT_SCALE = nms_EnumOptions__init_($rt_s(1489), 28, $rt_s(1490), 1, 0);
    nms_EnumOptions_CHAT_WIDTH = nms_EnumOptions__init_($rt_s(1491), 29, $rt_s(1492), 1, 0);
    nms_EnumOptions_CHAT_HEIGHT_FOCUSED = nms_EnumOptions__init_($rt_s(1493), 30, $rt_s(1494), 1, 0);
    nms_EnumOptions_CHAT_HEIGHT_UNFOCUSED = nms_EnumOptions__init_($rt_s(1495), 31, $rt_s(1496), 1, 0);
    var$1 = $rt_createArray(nms_EnumOptions, 32);
    var$2 = var$1.data;
    var$2[0] = nms_EnumOptions_MUSIC;
    var$2[1] = nms_EnumOptions_SOUND;
    var$2[2] = nms_EnumOptions_INVERT_MOUSE;
    var$2[3] = nms_EnumOptions_SENSITIVITY;
    var$2[4] = nms_EnumOptions_FOV;
    var$2[5] = nms_EnumOptions_GAMMA;
    var$2[6] = nms_EnumOptions_RENDER_DISTANCE;
    var$2[7] = nms_EnumOptions_VIEW_BOBBING;
    var$2[8] = nms_EnumOptions_ANAGLYPH;
    var$2[9] = nms_EnumOptions_FRAMERATE_LIMIT;
    var$2[10] = nms_EnumOptions_DIFFICULTY;
    var$2[11] = nms_EnumOptions_GRAPHICS;
    var$2[12] = nms_EnumOptions_AMBIENT_OCCLUSION;
    var$2[13] = nms_EnumOptions_GUI_SCALE;
    var$2[14] = nms_EnumOptions_RENDER_CLOUDS;
    var$2[15] = nms_EnumOptions_PARTICLES;
    var$2[16] = nms_EnumOptions_CHAT_VISIBILITY;
    var$2[17] = nms_EnumOptions_CHAT_COLOR;
    var$2[18] = nms_EnumOptions_CHAT_LINKS;
    var$2[19] = nms_EnumOptions_CHAT_OPACITY;
    var$2[20] = nms_EnumOptions_CHAT_LINKS_PROMPT;
    var$2[21] = nms_EnumOptions_USE_SERVER_TEXTURES;
    var$2[22] = nms_EnumOptions_SNOOPER_ENABLED;
    var$2[23] = nms_EnumOptions_USE_FULLSCREEN;
    var$2[24] = nms_EnumOptions_PATCH_ANGLE;
    var$2[25] = nms_EnumOptions_ENABLE_FOG;
    var$2[26] = nms_EnumOptions_SHOW_CAPE;
    var$2[27] = nms_EnumOptions_ANTIALIASING;
    var$2[28] = nms_EnumOptions_CHAT_SCALE;
    var$2[29] = nms_EnumOptions_CHAT_WIDTH;
    var$2[30] = nms_EnumOptions_CHAT_HEIGHT_FOCUSED;
    var$2[31] = nms_EnumOptions_CHAT_HEIGHT_UNFOCUSED;
    nms_EnumOptions_$VALUES = var$1;
}
function nms_GuiContainer() {
    var a = this; nms_GuiScreen.call(a);
    a.$xSize = 0;
    a.$ySize0 = 0;
    a.$inventorySlots0 = null;
    a.$guiLeft = 0;
    a.$guiTop = 0;
    a.$theSlot0 = null;
    a.$clickedSlot = null;
    a.$isRightMouseClick = 0;
    a.$draggedStack = null;
    a.$field_85049_r = 0;
    a.$field_85048_s = 0;
    a.$returningStackDestSlot = null;
    a.$returningStackTime = Long_ZERO;
    a.$returningStack = null;
    a.$field_92033_y = null;
    a.$field_92032_z = Long_ZERO;
    a.$field_94077_p = null;
    a.$field_94076_q = 0;
    a.$field_94071_C = 0;
    a.$field_94067_D = 0;
    a.$field_94068_E = 0;
    a.$field_94069_F = 0;
    a.$field_94070_G = Long_ZERO;
    a.$field_94072_H = null;
    a.$field_94073_I = 0;
    a.$field_94074_J = 0;
    a.$field_94075_K = null;
}
var nms_GuiContainer_itemRenderer = null;
var nms_GuiContainer_items = null;
function nms_GuiContainer__init_0(var_0) {
    var var_1 = new nms_GuiContainer();
    nms_GuiContainer__init_(var_1, var_0);
    return var_1;
}
function nms_GuiContainer__init_($this, $par1Container) {
    nms_GuiScreen__init_($this);
    $this.$xSize = 176;
    $this.$ySize0 = 166;
    $this.$clickedSlot = null;
    $this.$isRightMouseClick = 0;
    $this.$draggedStack = null;
    $this.$field_85049_r = 0;
    $this.$field_85048_s = 0;
    $this.$returningStackDestSlot = null;
    $this.$returningStackTime = Long_ZERO;
    $this.$returningStack = null;
    $this.$field_92033_y = null;
    $this.$field_92032_z = Long_ZERO;
    $this.$field_94077_p = ju_HashSet__init_0();
    $this.$field_94071_C = 0;
    $this.$field_94067_D = 0;
    $this.$field_94068_E = 0;
    $this.$field_94070_G = Long_ZERO;
    $this.$field_94072_H = null;
    $this.$field_94073_I = 0;
    $this.$field_94075_K = null;
    $this.$inventorySlots0 = $par1Container;
    $this.$field_94068_E = 1;
    maat_TMIController_onCreate(maat_TMI_instance.$controller, $this);
    if (nms_GuiContainer_itemRenderer === null)
        nms_GuiContainer_itemRenderer = nms_RenderItem__init_0();
}
function nms_GuiContainer_initGui($this) {
    $this.$mc2.$thePlayer.$openContainer = $this.$inventorySlots0;
    $this.$guiLeft = ($this.$width - $this.$xSize | 0) / 2 | 0;
    $this.$guiTop = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
}
function nms_GuiContainer_drawScreen($this, $par1, $par2, $par3) {
    var $var15, $var4, $var5, $var13, $var14, $var16, $var19, $var17, $var18, $var9, $var20, $var11, $var12, $var4_0, $var10, $var8, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var10 = $thread.pop();$var4_0 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var20 = $thread.pop();$var9 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var19 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var15 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($this instanceof nms_GuiContainerCreative) {
                try {
                    $this.$searchField.$xPos = $this.$guiLeft + 82 | 0;
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var15 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                ji_PrintStream_println1(jl_System_out(), $var15);
            }
        }
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $this.$guiLeft;
        $var5 = $this.$guiTop;
        $ptr = 2;
    case 2:
        $this.$drawGuiContainerBackgroundLayer($par3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_RenderHelper_disableStandardItemLighting();
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDisable(2929);
        $ptr = 3;
    case 3:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderHelper_enableGUIStandardItemLighting2();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($var4, $var5, 0.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glEnable(32826);
        $this.$theSlot0 = null;
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, 240.0, 240.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var13 = 0;
        if ($var13 >= $this.$inventorySlots0.$inventorySlots.$size) {
            $ptr = 4;
            continue main;
        }
        $var15 = ju_ArrayList_get($this.$inventorySlots0.$inventorySlots, $var13);
        $ptr = 5;
        continue main;
    case 4:
        $this.$drawGuiContainerForegroundLayer($par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $this.$mc2.$thePlayer.$inventory;
        $var16 = $this.$draggedStack !== null ? $this.$draggedStack : $var14.$itemStack;
        if ($var16 === null) {
            if ($this.$returningStack === null) {
                nleg_EaglerAdapterGL30_glPopMatrix();
                if ($var14.$itemStack === null && $this.$theSlot0 !== null && $this.$theSlot0.$getHasStack()) {
                    $var19 = $this.$theSlot0.$getStack();
                    $ptr = 8;
                    continue main;
                }
                nleg_EaglerAdapterGL30_glDisable(32826);
                $var14 = maat_TMI_instance.$controller;
                $var13 = $this.$xSize;
                $var17 = $this.$ySize0;
                $ptr = 6;
                continue main;
            }
            $var18 = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $this.$returningStackTime)) / 100.0;
            if ($var18 >= 1.0) {
                $var18 = 1.0;
                $this.$returningStack = null;
            }
            $var9 = $this.$returningStackDestSlot.$xDisplayPosition - $this.$field_85049_r | 0;
            $var20 = $this.$returningStackDestSlot.$yDisplayPosition - $this.$field_85048_s | 0;
            $var11 = $this.$field_85049_r + ($var9 * $var18 | 0) | 0;
            $var12 = $this.$field_85048_s + ($var20 * $var18 | 0) | 0;
            $var16 = $this.$returningStack;
            $var4_0 = null;
            $ptr = 7;
            continue main;
        }
        $var9 = $this.$draggedStack !== null ? 16 : 8;
        $var10 = null;
        if ($this.$draggedStack !== null && $this.$isRightMouseClick) {
            $var16 = nms_ItemStack_copy($var16);
            $var16.$stackSize = nms_MathHelper_ceiling_float_int($var16.$stackSize / 2.0);
        } else if ($this.$field_94076_q && ju_HashSet_size($this.$field_94077_p) > 1) {
            $var16 = nms_ItemStack_copy($var16);
            $var16.$stackSize = $this.$field_94069_F;
            if (!$var16.$stackSize) {
                $var4_0 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var4_0);
                jl_AbstractStringBuilder_append($var4_0, $rt_s(36));
                jl_AbstractStringBuilder_append1($var4_0, nms_EnumChatFormatting_YELLOW);
                jl_AbstractStringBuilder_append($var4_0, $rt_s(87));
                $var10 = jl_AbstractStringBuilder_toString($var4_0);
            }
        }
        $var13 = ($par1 - $var4 | 0) - 8 | 0;
        $var17 = ($par2 - $var5 | 0) - $var9 | 0;
        $ptr = 9;
        continue main;
    case 5:
        nms_GuiContainer_drawSlotInventory($this, $var15);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_GuiContainer_isMouseOverSlot($this, $var15, $par1, $par2)) {
            $this.$theSlot0 = $var15;
            nleg_EaglerAdapterGL30_glDisable(2896);
            nleg_EaglerAdapterGL30_glDisable(2929);
            $var8 = $var15.$xDisplayPosition;
            $var9 = $var15.$yDisplayPosition;
            nms_Gui_drawGradientRect($this, $var8, $var9, $var8 + 16 | 0, $var9 + 16 | 0, (-2130706433), (-2130706433));
            nleg_EaglerAdapterGL30_glEnable(2896);
            nleg_EaglerAdapterGL30_glEnable(2929);
        }
        $var13 = $var13 + 1 | 0;
        if ($var13 >= $this.$inventorySlots0.$inventorySlots.$size) {
            $ptr = 4;
            continue main;
        }
        $var15 = ju_ArrayList_get($this.$inventorySlots0.$inventorySlots, $var13);
        continue main;
    case 6:
        maat_TMIController_onEnterFrame($var14, $par1, $par2, $var13, $var17);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(2929);
        nms_RenderHelper_enableStandardItemLighting();
        return;
    case 7:
        nms_GuiContainer_drawItemStack($this, $var16, $var11, $var12, $var4_0);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if ($var14.$itemStack === null && $this.$theSlot0 !== null && $this.$theSlot0.$getHasStack()) {
            $var19 = $this.$theSlot0.$getStack();
            $ptr = 8;
            continue main;
        }
        nleg_EaglerAdapterGL30_glDisable(32826);
        $var14 = maat_TMI_instance.$controller;
        $var13 = $this.$xSize;
        $var17 = $this.$ySize0;
        $ptr = 6;
        continue main;
    case 8:
        nms_GuiContainer_drawItemStackTooltip($this, $var19, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(32826);
        $var14 = maat_TMI_instance.$controller;
        $var13 = $this.$xSize;
        $var17 = $this.$ySize0;
        $ptr = 6;
        continue main;
    case 9:
        nms_GuiContainer_drawItemStack($this, $var16, $var13, $var17, $var10);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$returningStack === null) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            if ($var14.$itemStack === null && $this.$theSlot0 !== null && $this.$theSlot0.$getHasStack()) {
                $var19 = $this.$theSlot0.$getStack();
                $ptr = 8;
                continue main;
            }
            nleg_EaglerAdapterGL30_glDisable(32826);
            $var14 = maat_TMI_instance.$controller;
            $var13 = $this.$xSize;
            $var17 = $this.$ySize0;
            $ptr = 6;
            continue main;
        }
        $var18 = Long_toNumber(Long_sub(jl_System_currentTimeMillis(), $this.$returningStackTime)) / 100.0;
        if ($var18 >= 1.0) {
            $var18 = 1.0;
            $this.$returningStack = null;
        }
        $var9 = $this.$returningStackDestSlot.$xDisplayPosition - $this.$field_85049_r | 0;
        $var20 = $this.$returningStackDestSlot.$yDisplayPosition - $this.$field_85048_s | 0;
        $var11 = $this.$field_85049_r + ($var9 * $var18 | 0) | 0;
        $var12 = $this.$field_85048_s + ($var20 * $var18 | 0) | 0;
        $var16 = $this.$returningStack;
        $var4_0 = null;
        $ptr = 7;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var15, $var4, $var5, $var13, $var14, $var16, $var19, $var17, $var18, $var9, $var20, $var11, $var12, $var4_0, $var10, $var8, $ptr);
}
function nms_GuiContainer_drawItemStack($this, $par1ItemStack, $par2, $par3, $par4Str) {
    var var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$par4Str = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, 32.0);
        $this.$zLevel = 200.0;
        nms_GuiContainer_itemRenderer.$zLevel0 = 200.0;
        var$5 = nms_GuiContainer_itemRenderer;
        var$6 = $this.$fontRenderer0;
        var$7 = $this.$mc2.$renderEngine;
        $ptr = 1;
    case 1:
        nms_RenderItem_renderItemAndEffectIntoGUI(var$5, var$6, var$7, $par1ItemStack, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        var$7 = nms_GuiContainer_itemRenderer;
        var$5 = $this.$fontRenderer0;
        var$6 = $this.$mc2.$renderEngine;
        $par3 = $par3 - ($this.$draggedStack !== null ? 8 : 0) | 0;
        $ptr = 2;
    case 2:
        nms_RenderItem_renderItemOverlayIntoGUI0(var$7, var$5, var$6, $par1ItemStack, $par2, $par3, $par4Str);
        if ($rt_suspending()) {
            break main;
        }
        $this.$zLevel = 0.0;
        nms_GuiContainer_itemRenderer.$zLevel0 = 0.0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2, $par3, $par4Str, var$5, var$6, var$7, $ptr);
}
function nms_GuiContainer_drawItemStackTooltip($this, $par1ItemStack, $par2, $par3) {
    var $var4, $var5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = maat_TMIUtils_itemDisplayNameMultiline($par1ItemStack, maat_TMIConfig_isEnabled(maat_TMIConfig_getInstance()), $this.$mc2.$gameSettings.$advancedItemTooltips);
        $var5 = 0;
        while ($var5 < $var4.$size0()) {
            if ($var5) {
                var$6 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$6);
                jl_AbstractStringBuilder_append1(var$6, nms_EnumChatFormatting_GRAY);
                jl_AbstractStringBuilder_append(var$6, $var4.$get5($var5));
                $var4.$set3($var5, jl_AbstractStringBuilder_toString(var$6));
            } else {
                var$6 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$6);
                jl_AbstractStringBuilder_append(var$6, $rt_s(1094));
                jl_AbstractStringBuilder_append(var$6, jl_Integer_toHexString(nms_ItemStack_getRarity($par1ItemStack).$rarityColor));
                jl_AbstractStringBuilder_append(var$6, $var4.$get5($var5));
                $var4.$set3($var5, jl_AbstractStringBuilder_toString(var$6));
            }
            $var5 = $var5 + 1 | 0;
        }
        $ptr = 1;
    case 1:
        nms_GuiContainer_func_102021_a($this, $var4, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2, $par3, $var4, $var5, var$6, $ptr);
}
function nms_GuiContainer_drawCreativeTabHoveringText($this, $par1Str, $par2, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = $rt_createArray(jl_String, 1);
        var$4.data[0] = $par1Str;
        $par1Str = ju_Arrays_asList(var$4);
        $ptr = 1;
    case 1:
        nms_GuiContainer_func_102021_a($this, $par1Str, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $par2, $par3, var$4, $ptr);
}
function nms_GuiContainer_func_102021_a($this, $par1List, $par2, $par3) {
    var $var4, $var5, $var6, $var7, $var14, $var15, $var8, $var12, $var9, var$13, var$14, $var13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var13 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var9 = $thread.pop();$var12 = $thread.pop();$var8 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1List = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!ju_AbstractCollection_isEmpty($par1List)) {
            nleg_EaglerAdapterGL30_glDisable(32826);
            nms_RenderHelper_disableStandardItemLighting();
            nleg_EaglerAdapterGL30_glDisable(2896);
            nleg_EaglerAdapterGL30_glDisable(2929);
            $var4 = 0;
            $var5 = ju_AbstractList_iterator($par1List);
            while (ju_AbstractList$1_hasNext($var5)) {
                $var6 = ju_AbstractList$1_next($var5);
                $var7 = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var6);
                if ($var7 > $var4)
                    $var4 = $var7;
            }
            $var14 = $par2 + 12 | 0;
            $var15 = $par3 - 12 | 0;
            $var8 = 8;
            if ($par1List.$size0() > 1)
                $var8 = $var8 + (2 + (($par1List.$size0() - 1 | 0) * 10 | 0) | 0) | 0;
            if (($var14 + $var4 | 0) > $this.$width)
                $var14 = $var14 - (28 + $var4 | 0) | 0;
            if ((($var15 + $var8 | 0) + 6 | 0) > $this.$height)
                $var15 = ($this.$height - $var8 | 0) - 6 | 0;
            $this.$zLevel = 300.0;
            nms_GuiContainer_itemRenderer.$zLevel0 = 300.0;
            $par3 = $var14 - 3 | 0;
            $par2 = $var15 - 4 | 0;
            $var4 = $var14 + $var4 | 0;
            $var7 = $var4 + 3 | 0;
            $var12 = $var15 - 3 | 0;
            nms_Gui_drawGradientRect($this, $par3, $par2, $var7, $var12, (-267386864), (-267386864));
            $par2 = $var15 + $var8 | 0;
            $var8 = $par2 + 3 | 0;
            nms_Gui_drawGradientRect($this, $par3, $var8, $var7, $par2 + 4 | 0, (-267386864), (-267386864));
            nms_Gui_drawGradientRect($this, $par3, $var12, $var7, $var8, (-267386864), (-267386864));
            nms_Gui_drawGradientRect($this, $var14 - 4 | 0, $var12, $par3, $var8, (-267386864), (-267386864));
            nms_Gui_drawGradientRect($this, $var7, $var12, $var4 + 4 | 0, $var8, (-267386864), (-267386864));
            $var9 = $var12 + 1 | 0;
            var$13 = $par3 + 1 | 0;
            var$14 = $var8 - 1 | 0;
            nms_Gui_drawGradientRect($this, $par3, $var9, var$13, var$14, 1347420415, 1344798847);
            nms_Gui_drawGradientRect($this, $var4 + 2 | 0, $var9, $var7, var$14, 1347420415, 1344798847);
            nms_Gui_drawGradientRect($this, $par3, $var12, $var7, $var9, 1347420415, 1347420415);
            nms_Gui_drawGradientRect($this, $par3, $par2 + 2 | 0, $var7, $var8, 1344798847, 1344798847);
            $var12 = 0;
            if ($var12 < $par1List.$size0()) {
                $var13 = $par1List.$get5($var12);
                $var5 = $this.$fontRenderer0;
                $par2 = (-1);
                $ptr = 1;
                continue main;
            }
            $this.$zLevel = 0.0;
            nms_GuiContainer_itemRenderer.$zLevel0 = 0.0;
            nleg_EaglerAdapterGL30_glEnable(2896);
            nleg_EaglerAdapterGL30_glEnable(2929);
            nms_RenderHelper_enableGUIStandardItemLighting2();
            nleg_EaglerAdapterGL30_glEnable(32826);
        }
        return;
    case 1:
        nms_FontRenderer_drawStringWithShadow($var5, $var13, $var14, $var15, $par2);
        if ($rt_suspending()) {
            break main;
        }
        if (!$var12)
            $var15 = $var15 + 2 | 0;
        $var15 = $var15 + 10 | 0;
        $var12 = $var12 + 1 | 0;
        if ($var12 >= $par1List.$size0()) {
            $this.$zLevel = 0.0;
            nms_GuiContainer_itemRenderer.$zLevel0 = 0.0;
            nleg_EaglerAdapterGL30_glEnable(2896);
            nleg_EaglerAdapterGL30_glEnable(2929);
            nms_RenderHelper_enableGUIStandardItemLighting2();
            nleg_EaglerAdapterGL30_glEnable(32826);
            return;
        }
        $var13 = $par1List.$get5($var12);
        $var5 = $this.$fontRenderer0;
        $par2 = (-1);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1List, $par2, $par3, $var4, $var5, $var6, $var7, $var14, $var15, $var8, $var12, $var9, var$13, var$14, $var13, $ptr);
}
function nms_GuiContainer_drawSlotInventory($this, $par1Slot) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Slot = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $par1Slot.$xDisplayPosition;
        $var3 = $par1Slot.$yDisplayPosition;
        $var4 = $par1Slot.$getStack();
        $var5 = 0;
        $var6 = $par1Slot === $this.$clickedSlot && $this.$draggedStack !== null && !$this.$isRightMouseClick ? 1 : 0;
        $var7 = $this.$mc2.$thePlayer.$inventory.$itemStack;
        $var8 = null;
        if ($par1Slot === $this.$clickedSlot && $this.$draggedStack !== null && $this.$isRightMouseClick && $var4 !== null) {
            $var4 = nms_ItemStack_copy($var4);
            $var4.$stackSize = $var4.$stackSize / 2 | 0;
        } else if ($this.$field_94076_q && ju_HashSet_contains($this.$field_94077_p, $par1Slot) && $var7 !== null) {
            if (ju_HashSet_size($this.$field_94077_p) == 1)
                return;
            if (nms_Container_func_94527_a($par1Slot, $var7, 1) && $this.$inventorySlots0.$func_94531_b($par1Slot)) {
                $var4 = nms_ItemStack_copy($var7);
                $var5 = 1;
                nms_Container_func_94525_a($this.$field_94077_p, $this.$field_94071_C, $var4, $par1Slot.$getStack() === null ? 0 : $par1Slot.$getStack().$stackSize);
                if ($var4.$stackSize > nms_ItemStack_getMaxStackSize($var4)) {
                    $var9 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var9);
                    jl_AbstractStringBuilder_append1($var9, nms_EnumChatFormatting_YELLOW);
                    jl_AbstractStringBuilder_append($var9, $rt_s(36));
                    jl_AbstractStringBuilder_append2($var9, nms_ItemStack_getMaxStackSize($var4));
                    $var8 = jl_AbstractStringBuilder_toString($var9);
                    $var4.$stackSize = nms_ItemStack_getMaxStackSize($var4);
                }
                if ($var4.$stackSize > $par1Slot.$getSlotStackLimit()) {
                    $var9 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var9);
                    jl_AbstractStringBuilder_append1($var9, nms_EnumChatFormatting_YELLOW);
                    jl_AbstractStringBuilder_append($var9, $rt_s(36));
                    jl_AbstractStringBuilder_append2($var9, $par1Slot.$getSlotStackLimit());
                    $var8 = jl_AbstractStringBuilder_toString($var9);
                    $var4.$stackSize = $par1Slot.$getSlotStackLimit();
                }
            } else {
                ju_HashSet_remove($this.$field_94077_p, $par1Slot);
                nms_GuiContainer_func_94066_g($this);
            }
        }
        $this.$zLevel = 100.0;
        nms_GuiContainer_itemRenderer.$zLevel0 = 100.0;
        if ($var4 === null) {
            $var9 = $par1Slot.$getBackgroundIconIndex();
            if ($var9 !== null) {
                nleg_EaglerAdapterGL30_glDisable(2896);
                $par1Slot = nms_GuiContainer_items;
                $ptr = 1;
                continue main;
            }
        }
        if ($var6) {
            nms_GuiContainer_itemRenderer.$zLevel0 = 0.0;
            $this.$zLevel = 0.0;
            return;
        }
        if ($var5)
            nms_Gui_drawRect($var2, $var3, $var2 + 16 | 0, $var3 + 16 | 0, (-2130706433));
        nleg_EaglerAdapterGL30_glEnable(2929);
        $par1Slot = nms_GuiContainer_itemRenderer;
        $var9 = $this.$fontRenderer0;
        $var7 = $this.$mc2.$renderEngine;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($par1Slot);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModelRectFromIcon($this, $var2, $var3, $var9, 16, 16);
        nleg_EaglerAdapterGL30_glEnable(2896);
        if (1) {
            nms_GuiContainer_itemRenderer.$zLevel0 = 0.0;
            $this.$zLevel = 0.0;
            return;
        }
        if ($var5)
            nms_Gui_drawRect($var2, $var3, $var2 + 16 | 0, $var3 + 16 | 0, (-2130706433));
        nleg_EaglerAdapterGL30_glEnable(2929);
        $par1Slot = nms_GuiContainer_itemRenderer;
        $var9 = $this.$fontRenderer0;
        $var7 = $this.$mc2.$renderEngine;
        $ptr = 2;
    case 2:
        nms_RenderItem_renderItemAndEffectIntoGUI($par1Slot, $var9, $var7, $var4, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $par1Slot = nms_GuiContainer_itemRenderer;
        $var9 = $this.$fontRenderer0;
        $var7 = $this.$mc2.$renderEngine;
        $ptr = 3;
    case 3:
        nms_RenderItem_renderItemOverlayIntoGUI0($par1Slot, $var9, $var7, $var4, $var2, $var3, $var8);
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiContainer_itemRenderer.$zLevel0 = 0.0;
        $this.$zLevel = 0.0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Slot, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $ptr);
}
function nms_GuiContainer_func_94066_g($this) {
    var $var1, $var2, $var3, $var4, $var5;
    a: {
        $var1 = $this.$mc2.$thePlayer.$inventory.$itemStack;
        if ($var1 !== null && $this.$field_94076_q) {
            $this.$field_94069_F = $var1.$stackSize;
            $var2 = ju_HashSet_iterator($this.$field_94077_p);
            while (true) {
                if (!$var2.$hasNext())
                    break a;
                $var3 = $var2.$next();
                $var4 = nms_ItemStack_copy($var1);
                $var5 = $var3.$getStack() === null ? 0 : $var3.$getStack().$stackSize;
                nms_Container_func_94525_a($this.$field_94077_p, $this.$field_94071_C, $var4, $var5);
                if ($var4.$stackSize > nms_ItemStack_getMaxStackSize($var4))
                    $var4.$stackSize = nms_ItemStack_getMaxStackSize($var4);
                if ($var4.$stackSize > $var3.$getSlotStackLimit())
                    $var4.$stackSize = $var3.$getSlotStackLimit();
                $this.$field_94069_F = $this.$field_94069_F - ($var4.$stackSize - $var5 | 0) | 0;
            }
        }
    }
}
function nms_GuiContainer_getSlotAtPosition($this, $par1, $par2) {
    var $var3, $var4;
    $var3 = 0;
    while (true) {
        if ($var3 >= $this.$inventorySlots0.$inventorySlots.$size)
            return null;
        $var4 = ju_ArrayList_get($this.$inventorySlots0.$inventorySlots, $var3);
        if (nms_GuiContainer_isMouseOverSlot($this, $var4, $par1, $par2))
            break;
        $var3 = $var3 + 1 | 0;
    }
    return $var4;
}
function nms_GuiContainer_mouseClicked($this, $par1, $par2, $par3) {
    var $fard1, $fard2, $var5, var$7, $var4, $var6, $var8, $var9, $var10, $var11, $var12, $var13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$fard2 = $thread.pop();$fard1 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $fard1 = nms_GuiContainer_getSlotAtPosition($this, $par1, $par2);
        $fard2 = $par1 >= $this.$guiLeft && $par2 >= $this.$guiTop && $par1 <= ($this.$guiLeft + $this.$xSize | 0) && $par2 <= ($this.$guiTop + $this.$ySize0 | 0) ? 1 : 0;
        $var5 = maat_TMI_instance.$controller;
        var$7 = $this.$inventorySlots0;
        $ptr = 2;
    case 2:
        $tmp = maat_TMIController_onMouseEvent($var5, $par1, $par2, $par3, $fard2, $fard1, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        if ($var4) {
            $var4 = $par3 != ($this.$mc2.$gameSettings.$keyBindPickBlock.$keyCode + 100 | 0) ? 0 : 1;
            $var5 = nms_GuiContainer_getSlotAtPosition($this, $par1, $par2);
            $var6 = jl_System_currentTimeMillis();
            $this.$field_94074_J = $this.$field_94072_H === $var5 && Long_lt(Long_sub($var6, $this.$field_94070_G), Long_fromInt(250)) && $this.$field_94073_I == $par3 ? 1 : 0;
            $this.$field_94068_E = 0;
            if (!($par3 && $par3 != 1 && !$var4)) {
                $var8 = $this.$guiLeft;
                $var9 = $this.$guiTop;
                $var10 = $par1 >= $var8 && $par2 >= $var9 && $par1 < ($var8 + $this.$xSize | 0) && $par2 < ($var9 + $this.$ySize0 | 0) ? 0 : 1;
                $var11 = (-1);
                if ($var5 !== null)
                    $var11 = $var5.$slotNumber;
                if ($var10)
                    $var11 = (-999);
                if ($this.$mc2.$gameSettings.$touchscreen && $var10 && $this.$mc2.$thePlayer.$inventory.$itemStack === null) {
                    nmc_Minecraft_displayGuiScreen($this.$mc2, null);
                    return;
                }
                if ($var11 != (-1)) {
                    if ($this.$mc2.$gameSettings.$touchscreen) {
                        if ($var5 !== null && $var5.$getHasStack()) {
                            $this.$clickedSlot = $var5;
                            $this.$draggedStack = null;
                            $this.$isRightMouseClick = $par3 != 1 ? 0 : 1;
                        } else
                            $this.$clickedSlot = null;
                    } else if (!$this.$field_94076_q) {
                        if ($this.$mc2.$thePlayer.$inventory.$itemStack === null) {
                            if ($par3 == ($this.$mc2.$gameSettings.$keyBindPickBlock.$keyCode + 100 | 0)) {
                                $par1 = 3;
                                $ptr = 3;
                                continue main;
                            }
                            a: {
                                b: {
                                    $par1 = $rt_compare($var11, (-999));
                                    if ($par1) {
                                        if (nlea_EaglerAdapterImpl2_isKeyDown(42))
                                            break b;
                                        if (nlea_EaglerAdapterImpl2_isKeyDown(54))
                                            break b;
                                    }
                                    $var12 = 0;
                                    break a;
                                }
                                $var12 = 1;
                            }
                            $var13 = 0;
                            if ($var12) {
                                $this.$field_94075_K = $var5 !== null && $var5.$getHasStack() ? $var5.$getStack() : null;
                                $var13 = 1;
                            } else if (!$par1)
                                $var13 = 4;
                            $ptr = 4;
                            continue main;
                        }
                        $this.$field_94076_q = 1;
                        $this.$field_94067_D = $par3;
                        ju_HashSet_clear($this.$field_94077_p);
                        if (!$par3)
                            $this.$field_94071_C = 0;
                        else if ($par3 == 1)
                            $this.$field_94071_C = 1;
                    }
                }
            }
            $this.$field_94072_H = $var5;
            $this.$field_94070_G = $var6;
            $this.$field_94073_I = $par3;
        }
        return;
    case 3:
        $this.$handleMouseClick($var5, $var11, $par3, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_94068_E = 1;
        $this.$field_94072_H = $var5;
        $this.$field_94070_G = $var6;
        $this.$field_94073_I = $par3;
        return;
    case 4:
        $this.$handleMouseClick($var5, $var11, $par3, $var13);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_94068_E = 1;
        $this.$field_94072_H = $var5;
        $this.$field_94070_G = $var6;
        $this.$field_94073_I = $par3;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $fard1, $fard2, $var5, var$7, $var4, $var6, $var8, $var9, $var10, $var11, $var12, $var13, $ptr);
}
function nms_GuiContainer_func_85041_a($this, $par1, $par2, $par3, $par4) {
    var $var6, $var7, $var8, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_GuiContainer_getSlotAtPosition($this, $par1, $par2);
        $var7 = $this.$mc2.$thePlayer.$inventory.$itemStack;
        if (!($this.$clickedSlot !== null && $this.$mc2.$gameSettings.$touchscreen)) {
            if ($this.$field_94076_q && $var6 !== null && $var7 !== null && $var7.$stackSize > ju_HashSet_size($this.$field_94077_p) && nms_Container_func_94527_a($var6, $var7, 1) && $var6.$isItemValid($var7) && $this.$inventorySlots0.$func_94531_b($var6)) {
                ju_HashSet_add($this.$field_94077_p, $var6);
                nms_GuiContainer_func_94066_g($this);
            }
        } else if (!($par3 && $par3 != 1)) {
            if ($this.$draggedStack === null) {
                if ($var6 !== $this.$clickedSlot)
                    $this.$draggedStack = nms_ItemStack_copy($this.$clickedSlot.$getStack());
            } else if ($this.$draggedStack.$stackSize > 1 && $var6 !== null && nms_Container_func_94527_a($var6, $this.$draggedStack, 0)) {
                $var8 = jl_System_currentTimeMillis();
                if ($this.$field_92033_y !== $var6) {
                    $this.$field_92033_y = $var6;
                    $this.$field_92032_z = $var8;
                } else if (Long_gt(Long_sub($var8, $this.$field_92032_z), Long_fromInt(500))) {
                    var$8 = $this.$clickedSlot;
                    $par3 = $this.$clickedSlot.$slotNumber;
                    $par1 = 0;
                    $par2 = 0;
                    $ptr = 1;
                    continue main;
                }
            }
        }
        return;
    case 1:
        $this.$handleMouseClick(var$8, $par3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $var6.$slotNumber;
        $par2 = 1;
        $par3 = 0;
        $ptr = 2;
    case 2:
        $this.$handleMouseClick($var6, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $this.$clickedSlot;
        $par1 = $this.$clickedSlot.$slotNumber;
        $par2 = 0;
        $par3 = 0;
        $ptr = 3;
    case 3:
        $this.$handleMouseClick($var6, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_92032_z = Long_add($var8, Long_fromInt(750));
        $var6 = $this.$draggedStack;
        $var6.$stackSize = $var6.$stackSize - 1 | 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var6, $var7, $var8, var$8, $ptr);
}
function nms_GuiContainer_mouseMovedOrUp($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var7, $var8, $var11, $var10, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = nms_GuiContainer_getSlotAtPosition($this, $par1, $par2);
        $var5 = $this.$guiLeft;
        $var6 = $this.$guiTop;
        $var7 = $par1 >= $var5 && $par2 >= $var6 && $par1 < ($var5 + $this.$xSize | 0) && $par2 < ($var6 + $this.$ySize0 | 0) ? 0 : 1;
        $var8 = (-1);
        if ($var4 !== null)
            $var8 = $var4.$slotNumber;
        if ($var7)
            $var8 = (-999);
        a: {
            if ($this.$field_94074_J && $var4 !== null && !$par3 && $this.$inventorySlots0.$func_94530_a(null, $var4)) {
                if (!nms_GuiScreen_isShiftKeyDown()) {
                    $par1 = 6;
                    $ptr = 1;
                    continue main;
                }
                b: {
                    if ($var4.$inventory0 !== null && $this.$field_94075_K !== null) {
                        $var11 = ju_AbstractList_iterator($this.$inventorySlots0.$inventorySlots);
                        while (true) {
                            if (!ju_AbstractList$1_hasNext($var11))
                                break b;
                            $var10 = ju_AbstractList$1_next($var11);
                            if ($var10 === null)
                                continue;
                            if (!$var10.$canTakeStack($this.$mc2.$thePlayer))
                                continue;
                            if (!$var10.$getHasStack())
                                continue;
                            if ($var10.$inventory0 !== $var4.$inventory0)
                                continue;
                            if (!nms_Container_func_94527_a($var10, $this.$field_94075_K, 1))
                                continue;
                            else {
                                $par1 = $var10.$slotNumber;
                                $par2 = 1;
                                $ptr = 10;
                                continue main;
                            }
                        }
                    }
                }
                $this.$field_94074_J = 0;
                $this.$field_94070_G = Long_ZERO;
            } else {
                if ($this.$field_94076_q && $this.$field_94067_D != $par3) {
                    $this.$field_94076_q = 0;
                    ju_HashSet_clear($this.$field_94077_p);
                    $this.$field_94068_E = 1;
                    return;
                }
                if ($this.$field_94068_E) {
                    $this.$field_94068_E = 0;
                    return;
                }
                if (!($this.$clickedSlot !== null && $this.$mc2.$gameSettings.$touchscreen)) {
                    if ($this.$field_94076_q && !ju_HashSet_isEmpty($this.$field_94077_p)) {
                        $var11 = null;
                        $par1 = (-999);
                        $par2 = nms_Container_func_94534_d(0, $this.$field_94071_C);
                        $par3 = 5;
                        $ptr = 2;
                        continue main;
                    }
                    if (nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) === null)
                        break a;
                    if ($par3 == ($this.$mc2.$gameSettings.$keyBindPickBlock.$keyCode + 100 | 0)) {
                        $par1 = 3;
                        $ptr = 3;
                        continue main;
                    }
                    c: {
                        d: {
                            if ($var8 != (-999)) {
                                if (nlea_EaglerAdapterImpl2_isKeyDown(42))
                                    break d;
                                if (nlea_EaglerAdapterImpl2_isKeyDown(54))
                                    break d;
                            }
                            $var9 = 0;
                            break c;
                        }
                        $var9 = 1;
                    }
                    if ($var9)
                        $this.$field_94075_K = $var4 !== null && $var4.$getHasStack() ? $var4.$getStack() : null;
                    $par1 = !$var9 ? 0 : 1;
                    $ptr = 9;
                    continue main;
                }
                if (!($par3 && $par3 != 1)) {
                    if ($this.$draggedStack === null && $var4 !== $this.$clickedSlot)
                        $this.$draggedStack = $this.$clickedSlot.$getStack();
                    $var9 = nms_Container_func_94527_a($var4, $this.$draggedStack, 0);
                    if ($var8 != (-1) && $this.$draggedStack !== null && $var9) {
                        $var11 = $this.$clickedSlot;
                        $var9 = $this.$clickedSlot.$slotNumber;
                        $var7 = 0;
                        $ptr = 6;
                        continue main;
                    }
                    if ($this.$draggedStack !== null) {
                        $this.$field_85049_r = $par1 - $var5 | 0;
                        $this.$field_85048_s = $par2 - $var6 | 0;
                        $this.$returningStackDestSlot = $this.$clickedSlot;
                        $this.$returningStack = $this.$draggedStack;
                        $this.$returningStackTime = nmc_Minecraft_getSystemTime();
                    }
                    $this.$draggedStack = null;
                    $this.$clickedSlot = null;
                }
            }
        }
        if (nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) === null)
            $this.$field_94070_G = Long_ZERO;
        $this.$field_94076_q = 0;
        return;
    case 1:
        $this.$handleMouseClick($var4, $var8, $par3, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_94074_J = 0;
        $this.$field_94070_G = Long_ZERO;
        if (nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) === null)
            $this.$field_94070_G = Long_ZERO;
        $this.$field_94076_q = 0;
        return;
    case 2:
        $this.$handleMouseClick($var11, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = ju_HashSet_iterator($this.$field_94077_p);
        if (!$var11.$hasNext()) {
            $var11 = null;
            $par1 = (-999);
            $par2 = nms_Container_func_94534_d(2, $this.$field_94071_C);
            $par3 = 5;
            $ptr = 4;
            continue main;
        }
        $var10 = $var11.$next();
        $par1 = $var10.$slotNumber;
        $par2 = nms_Container_func_94534_d(1, $this.$field_94071_C);
        $par3 = 5;
        $ptr = 5;
        continue main;
    case 3:
        $this.$handleMouseClick($var4, $var8, $par3, $par1);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) === null)
            $this.$field_94070_G = Long_ZERO;
        $this.$field_94076_q = 0;
        return;
    case 4:
        $this.$handleMouseClick($var11, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) === null)
            $this.$field_94070_G = Long_ZERO;
        $this.$field_94076_q = 0;
        return;
    case 5:
        $this.$handleMouseClick($var10, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        if (!$var11.$hasNext()) {
            $var11 = null;
            $par1 = (-999);
            $par2 = nms_Container_func_94534_d(2, $this.$field_94071_C);
            $par3 = 5;
            $ptr = 4;
            continue main;
        }
        $var10 = $var11.$next();
        $par1 = $var10.$slotNumber;
        $par2 = nms_Container_func_94534_d(1, $this.$field_94071_C);
        $par3 = 5;
        continue main;
    case 6:
        $this.$handleMouseClick($var11, $var9, $par3, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = 0;
        $var7 = 0;
        $ptr = 7;
    case 7:
        $this.$handleMouseClick($var4, $var8, $var9, $var7);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) === null) {
            $this.$returningStack = null;
            $this.$draggedStack = null;
            $this.$clickedSlot = null;
            if (nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) === null)
                $this.$field_94070_G = Long_ZERO;
            $this.$field_94076_q = 0;
            return;
        }
        $var11 = $this.$clickedSlot;
        $var9 = $this.$clickedSlot.$slotNumber;
        $var7 = 0;
        $ptr = 8;
    case 8:
        $this.$handleMouseClick($var11, $var9, $par3, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_85049_r = $par1 - $var5 | 0;
        $this.$field_85048_s = $par2 - $var6 | 0;
        $this.$returningStackDestSlot = $this.$clickedSlot;
        $this.$returningStack = $this.$draggedStack;
        $this.$returningStackTime = nmc_Minecraft_getSystemTime();
        $this.$draggedStack = null;
        $this.$clickedSlot = null;
        if (nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) === null)
            $this.$field_94070_G = Long_ZERO;
        $this.$field_94076_q = 0;
        return;
    case 9:
        $this.$handleMouseClick($var4, $var8, $par3, $par1);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) === null)
            $this.$field_94070_G = Long_ZERO;
        $this.$field_94076_q = 0;
        return;
    case 10:
        $this.$handleMouseClick($var10, $par1, $par3, $par2);
        if ($rt_suspending()) {
            break main;
        }
        while (ju_AbstractList$1_hasNext($var11)) {
            $var10 = ju_AbstractList$1_next($var11);
            if ($var10 === null)
                continue;
            if (!$var10.$canTakeStack($this.$mc2.$thePlayer))
                continue;
            if (!$var10.$getHasStack())
                continue;
            if ($var10.$inventory0 !== $var4.$inventory0)
                continue;
            if (!nms_Container_func_94527_a($var10, $this.$field_94075_K, 1))
                continue;
            else {
                $par1 = $var10.$slotNumber;
                $par2 = 1;
                continue main;
            }
        }
        $this.$field_94074_J = 0;
        $this.$field_94070_G = Long_ZERO;
        if (nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) === null)
            $this.$field_94070_G = Long_ZERO;
        $this.$field_94076_q = 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var7, $var8, $var11, $var10, $var9, $ptr);
}
function nms_GuiContainer_isMouseOverSlot($this, $par1Slot, $par2, $par3) {
    return nms_GuiContainer_isPointInRegion($this, $par1Slot.$xDisplayPosition, $par1Slot.$yDisplayPosition, 16, 16, $par2, $par3);
}
function nms_GuiContainer_isPointInRegion($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    var $var7, $var8;
    $var7 = $this.$guiLeft;
    $var8 = $this.$guiTop;
    $par5 = $par5 - $var7 | 0;
    $par6 = $par6 - $var8 | 0;
    return $par5 >= ($par1 - 1 | 0) && $par5 < (($par1 + $par3 | 0) + 1 | 0) && $par6 >= ($par2 - 1 | 0) && $par6 < (($par2 + $par4 | 0) + 1 | 0) ? 1 : 0;
}
function nms_GuiContainer_handleMouseClick($this, $par1Slot, $par2, $par3, $par4) {
    var var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Slot = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1Slot !== null)
            $par2 = $par1Slot.$slotNumber;
        $par1Slot = $this.$mc2.$playerController;
        var$5 = $this.$inventorySlots0.$windowId;
        var$6 = $this.$mc2.$thePlayer;
        $ptr = 1;
    case 1:
        nms_PlayerControllerMP_windowClick($par1Slot, var$5, $par2, $par3, $par4, var$6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Slot, $par2, $par3, $par4, var$5, var$6, $ptr);
}
function nms_GuiContainer_keyTyped($this, $par1, $par2) {
    var var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = maat_TMI_instance.$controller;
        $ptr = 1;
    case 1:
        $tmp = maat_TMIController_onKeypress(var$3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        if ($par1)
            return;
        if (!($par2 != 1 && $par2 != $this.$mc2.$gameSettings.$keyBindInventory.$keyCode))
            nms_EntityClientPlayerMP_closeScreen($this.$mc2.$thePlayer);
        $ptr = 2;
    case 2:
        nms_GuiContainer_checkHotbarKeys($this, $par2);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$theSlot0 !== null && $this.$theSlot0.$getHasStack()) {
            if ($par2 == $this.$mc2.$gameSettings.$keyBindPickBlock.$keyCode) {
                var$3 = $this.$theSlot0;
                $par1 = $this.$theSlot0.$slotNumber;
                $par2 = 0;
                var$4 = 3;
                $ptr = 3;
                continue main;
            }
            if ($par2 == $this.$mc2.$gameSettings.$keyBindDrop.$keyCode) {
                var$3 = $this.$theSlot0;
                $par2 = $this.$theSlot0.$slotNumber;
                var$4 = !nms_GuiScreen_isCtrlKeyDown() ? 0 : 1;
                $par1 = 4;
                $ptr = 4;
                continue main;
            }
        }
        return;
    case 3:
        $this.$handleMouseClick(var$3, $par1, $par2, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        $this.$handleMouseClick(var$3, $par2, var$4, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, $ptr);
}
function nms_GuiContainer_checkHotbarKeys($this, $par1) {
    var $var2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($this.$mc2.$thePlayer.$inventory.$itemStack === null && $this.$theSlot0 !== null) {
                $var2 = 0;
                while (true) {
                    if ($var2 >= 9)
                        break a;
                    if ($par1 == (2 + $var2 | 0)) {
                        var$3 = $this.$theSlot0;
                        var$4 = $this.$theSlot0.$slotNumber;
                        $par1 = 2;
                        $ptr = 1;
                        continue main;
                    }
                    $var2 = $var2 + 1 | 0;
                }
            }
        }
        return 0;
    case 1:
        $this.$handleMouseClick(var$3, var$4, $var2, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, var$3, var$4, $ptr);
}
function nms_GuiContainer_onGuiClosed($this) {
    maat_TMIController_onClose(maat_TMI_instance.$controller);
    if ($this.$mc2.$thePlayer !== null)
        $this.$inventorySlots0.$onCraftGuiClosed($this.$mc2.$thePlayer);
}
function nms_GuiContainer_updateScreen($this) {
    if (!(nms_EntityLiving_isEntityAlive($this.$mc2.$thePlayer) && !$this.$mc2.$thePlayer.$isDead))
        nms_EntityClientPlayerMP_closeScreen($this.$mc2.$thePlayer);
}
function nms_GuiContainer__clinit_() {
    nms_GuiContainer_itemRenderer = null;
    nms_GuiContainer_items = nle_TextureLocation__init_($rt_s(992));
}
function nms_InventoryEffectRenderer() {
    nms_GuiContainer.call(this);
    this.$field_74222_o = 0;
}
var nms_InventoryEffectRenderer_tex_inventory = null;
function nms_InventoryEffectRenderer_initGui($this) {
    nms_GuiContainer_initGui($this);
    if (!ju_AbstractCollection_isEmpty(nms_EntityLiving_getActivePotionEffects($this.$mc2.$thePlayer))) {
        if (!maat_TMIConfig_isEnabled(maat_TMIConfig_getInstance()))
            $this.$guiLeft = 160 + ((($this.$width - $this.$xSize | 0) - 200 | 0) / 2 | 0) | 0;
        $this.$field_74222_o = 1;
    }
}
function nms_InventoryEffectRenderer_drawScreen($this, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiContainer_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$field_74222_o)
            return;
        $ptr = 2;
    case 2:
        nms_InventoryEffectRenderer_displayDebuffEffects($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $ptr);
}
function nms_InventoryEffectRenderer_displayDebuffEffects($this) {
    var $var1, $var2, $var4, $var5, $var6, var$6, var$7, $var7, $var8, $var11, $var9, var$12, var$13, $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var9 = $thread.pop();$var11 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = $this.$guiLeft - 124 | 0;
        $var2 = $this.$guiTop;
        $var4 = nms_EntityLiving_getActivePotionEffects($this.$mc2.$thePlayer);
        if (!ju_AbstractCollection_isEmpty($var4)) {
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glDisable(2896);
            $var5 = 33;
            if ($var4.$size0() > 5)
                $var5 = 132 / ($var4.$size0() - 1 | 0) | 0;
            $var6 = nms_EntityLiving_getActivePotionEffects($this.$mc2.$thePlayer).$iterator();
            var$6 = $var1 + 6 | 0;
            var$7 = ($var1 + 10 | 0) + 18 | 0;
            if ($var6.$hasNext()) {
                $var7 = $var6.$next();
                $var8 = nms_Potion_potionTypes.data[$var7.$potionID];
                nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                $var11 = nms_InventoryEffectRenderer_tex_inventory;
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        nle_TextureLocation_bindTexture($var11);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this, $var1, $var2, 0, 166, 140, 32);
        if (nms_Potion_hasStatusIcon($var8)) {
            $var9 = $var8.$statusIconIndex;
            nms_Gui_drawTexturedModalRect($this, var$6, $var2 + 7 | 0, 0 + (($var9 % 8 | 0) * 18 | 0) | 0, 198 + (($var9 / 8 | 0) * 18 | 0) | 0, 18, 18);
        }
        $var11 = nms_StatCollector_translateToLocal($var8.$name11);
        if ($var7.$amplifier == 1) {
            $var8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var8);
            jl_AbstractStringBuilder_append($var8, $var11);
            jl_AbstractStringBuilder_append($var8, $rt_s(1497));
            $var11 = jl_AbstractStringBuilder_toString($var8);
        } else if ($var7.$amplifier == 2) {
            $var8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var8);
            jl_AbstractStringBuilder_append($var8, $var11);
            jl_AbstractStringBuilder_append($var8, $rt_s(1498));
            $var11 = jl_AbstractStringBuilder_toString($var8);
        } else if ($var7.$amplifier == 3) {
            $var8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var8);
            jl_AbstractStringBuilder_append($var8, $var11);
            jl_AbstractStringBuilder_append($var8, $rt_s(1499));
            $var11 = jl_AbstractStringBuilder_toString($var8);
        }
        $var8 = $this.$fontRenderer0;
        var$12 = $var2 + 6 | 0;
        var$13 = 16777215;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawStringWithShadow($var8, $var11, var$7, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = nms_Potion_getDurationString($var7);
        $var8 = $this.$fontRenderer0;
        var$12 = var$12 + 10 | 0;
        var$13 = 8355711;
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawStringWithShadow($var8, $var10, var$7, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $var2 + $var5 | 0;
        if (!$var6.$hasNext())
            return;
        $var7 = $var6.$next();
        $var8 = nms_Potion_potionTypes.data[$var7.$potionID];
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var11 = nms_InventoryEffectRenderer_tex_inventory;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var4, $var5, $var6, var$6, var$7, $var7, $var8, $var11, $var9, var$12, var$13, $var10, $ptr);
}
function nms_InventoryEffectRenderer__clinit_() {
    nms_InventoryEffectRenderer_tex_inventory = nle_TextureLocation__init_($rt_s(1500));
}
function nms_GuiInventory() {
    var a = this; nms_InventoryEffectRenderer.call(a);
    a.$xSize_lo = 0.0;
    a.$ySize_lo = 0.0;
}
var nms_GuiInventory_tex = null;
function nms_GuiInventory__init_(var_0) {
    var var_1 = new nms_GuiInventory();
    nms_GuiInventory__init_0(var_1, var_0);
    return var_1;
}
function nms_GuiInventory__init_0($this, $par1EntityPlayer) {
    nms_GuiContainer__init_($this, $par1EntityPlayer.$inventoryContainer);
    $this.$allowUserInput = 1;
    nms_AchievementList_$callClinit();
    nms_EntityClientPlayerMP_addStat($par1EntityPlayer, nms_AchievementList_openInventory, 1);
}
function nms_GuiInventory_updateScreen($this) {
    if (nms_PlayerControllerMP_isInCreativeMode($this.$mc2.$playerController))
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiContainerCreative__init_($this.$mc2.$thePlayer));
}
function nms_GuiInventory_initGui($this) {
    ju_ArrayList_clear($this.$buttonList);
    if (!nms_PlayerControllerMP_isInCreativeMode($this.$mc2.$playerController))
        nms_InventoryEffectRenderer_initGui($this);
    else
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiContainerCreative__init_($this.$mc2.$thePlayer));
}
function nms_GuiInventory_drawGuiContainerForegroundLayer($this, $par1, $par2) {
    var var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$fontRenderer0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(1501));
        $par1 = 86;
        $par2 = 16;
        var$5 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, var$5, $ptr);
}
function nms_GuiInventory_drawScreen($this, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_InventoryEffectRenderer_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$xSize_lo = $par1;
        $this.$ySize_lo = $par2;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $ptr);
}
function nms_GuiInventory_drawGuiContainerBackgroundLayer($this, $par1, $par2, $par3) {
    var var$4, $var4, $var5, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$4 = nms_GuiInventory_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $this.$guiLeft;
        $var5 = $this.$guiTop;
        nms_Gui_drawTexturedModalRect($this, $var4, $var5, 0, 0, $this.$xSize, $this.$ySize0);
        var$4 = $this.$mc2;
        $par2 = $var4 + 51 | 0;
        $par3 = $var5 + 75 | 0;
        $var4 = 30;
        var$7 = $par2 - $this.$xSize_lo;
        $par1 = ($par3 - 50 | 0) - $this.$ySize_lo;
        $ptr = 2;
    case 2:
        nms_GuiInventory_drawPlayerOnGui(var$4, $par2, $par3, $var4, var$7, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $var4, $var5, var$7, $ptr);
}
function nms_GuiInventory_drawPlayerOnGui($par0Minecraft, $par1, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$par0Minecraft = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glEnable(2903);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par1, $par2, 50.0);
        $var6 =  -$par3;
        $var7 = $par3;
        nleg_EaglerAdapterGL30_glScalef($var6, $var7, $var7);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
        $var6 = $par0Minecraft.$thePlayer.$renderYawOffset;
        $var7 = $par0Minecraft.$thePlayer.$rotationYaw;
        $var8 = $par0Minecraft.$thePlayer.$rotationPitch;
        nleg_EaglerAdapterGL30_glRotatef(135.0, 0.0, 1.0, 0.0);
        nms_RenderHelper_enableStandardItemLighting();
        nleg_EaglerAdapterGL30_glRotatef((-135.0), 0.0, 1.0, 0.0);
        var$10 = $par5 / 40.0;
        nleg_EaglerAdapterGL30_glRotatef( -jl_Math_atan(var$10) * 20.0, 1.0, 0.0, 0.0);
        var$11 = $par0Minecraft.$thePlayer;
        var$12 = $par4 / 40.0;
        var$11.$renderYawOffset = jl_Math_atan(var$12) * 20.0;
        $par0Minecraft.$thePlayer.$rotationYaw = jl_Math_atan(var$12) * 40.0;
        $par0Minecraft.$thePlayer.$rotationPitch =  -jl_Math_atan(var$10) * 20.0;
        $par0Minecraft.$thePlayer.$rotationYawHead = $par0Minecraft.$thePlayer.$rotationYaw;
        nleg_EaglerAdapterGL30_glTranslatef(0.0, $par0Minecraft.$thePlayer.$yOffset, 0.0);
        nms_RenderManager_instance.$playerViewY = 180.0;
        var$11 = nms_RenderManager_instance;
        var$13 = $par0Minecraft.$thePlayer;
        var$14 = 0.0;
        var$12 = 0.0;
        var$10 = 0.0;
        $par4 = 0.0;
        $par5 = 1.0;
        $ptr = 1;
    case 1:
        nms_RenderManager_renderEntityWithPosYaw(var$11, var$13, var$14, var$12, var$10, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par0Minecraft.$thePlayer.$renderYawOffset = $var6;
        $par0Minecraft.$thePlayer.$rotationYaw = $var7;
        $par0Minecraft.$thePlayer.$rotationPitch = $var8;
        nleg_EaglerAdapterGL30_glPopMatrix();
        nms_RenderHelper_disableStandardItemLighting();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glDisable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($par0Minecraft, $par1, $par2, $par3, $par4, $par5, $var6, $var7, $var8, var$10, var$11, var$12, var$13, var$14, $ptr);
}
function nms_GuiInventory_actionPerformed($this, $par1GuiButton) {
    return;
}
function nms_GuiInventory__clinit_() {
    nms_GuiInventory_tex = nle_TextureLocation__init_($rt_s(1500));
}
function nms_GuiChat() {
    var a = this; nms_GuiScreen.call(a);
    a.$field_73898_b = null;
    a.$sentHistoryCursor = 0;
    a.$field_73897_d = 0;
    a.$field_73905_m = 0;
    a.$field_73903_n = 0;
    a.$field_73904_o = null;
    a.$clickedURI = null;
    a.$inputField = null;
    a.$defaultInputFieldText = null;
}
function nms_GuiChat__init_0() {
    var var_0 = new nms_GuiChat();
    nms_GuiChat__init_(var_0);
    return var_0;
}
function nms_GuiChat__init_1(var_0) {
    var var_1 = new nms_GuiChat();
    nms_GuiChat__init_2(var_1, var_0);
    return var_1;
}
function nms_GuiChat__init_($this) {
    nms_GuiScreen__init_($this);
    $this.$field_73898_b = $rt_s(36);
    $this.$sentHistoryCursor = (-1);
    $this.$field_73897_d = 0;
    $this.$field_73905_m = 0;
    $this.$field_73903_n = 0;
    $this.$field_73904_o = ju_ArrayList__init_0();
    $this.$clickedURI = null;
    $this.$defaultInputFieldText = $rt_s(36);
}
function nms_GuiChat__init_2($this, $par1Str) {
    nms_GuiScreen__init_($this);
    $this.$field_73898_b = $rt_s(36);
    $this.$sentHistoryCursor = (-1);
    $this.$field_73897_d = 0;
    $this.$field_73905_m = 0;
    $this.$field_73903_n = 0;
    $this.$field_73904_o = ju_ArrayList__init_0();
    $this.$clickedURI = null;
    $this.$defaultInputFieldText = $rt_s(36);
    $this.$defaultInputFieldText = $par1Str;
}
function nms_GuiChat_initGui($this) {
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(69, $this.$width - 100 | 0, 3, 97, 20, $rt_s(1502)));
    $this.$sentHistoryCursor = $this.$mc2.$ingameGUI.$persistantChatGUI.$sentMessages.$size;
    $this.$inputField = nms_GuiTextField__init_($this.$fontRenderer0, 4, $this.$height - 12 | 0, $this.$width - 4 | 0, 12);
    nms_GuiTextField_setMaxStringLength($this.$inputField, 100);
    $this.$inputField.$enableBackgroundDrawing = 0;
    nms_GuiTextField_setFocused($this.$inputField, 1);
    nms_GuiTextField_setText($this.$inputField, $this.$defaultInputFieldText);
    $this.$inputField.$canLoseFocus = 0;
}
function nms_GuiChat_actionPerformed($this, $par1GuiButton) {
    if ($par1GuiButton.$id3 == 69)
        nmc_Minecraft_displayGuiScreen($this.$mc2, null);
}
function nms_GuiChat_onGuiClosed($this) {
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
    nms_GuiNewChat_resetScroll($this.$mc2.$ingameGUI.$persistantChatGUI);
}
function nms_GuiChat_updateScreen($this) {
    nms_GuiTextField_updateCursorCounter($this.$inputField);
}
function nms_GuiChat_keyTyped($this, $par1, $par2) {
    var $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$field_73905_m = 0;
        if ($par2 == 15)
            nms_GuiChat_completePlayerName($this);
        else
            $this.$field_73897_d = 0;
        if ($par2 == 1)
            nmc_Minecraft_displayGuiScreen($this.$mc2, null);
        else if ($par2 == 28) {
            $var3 = jl_String_trim($this.$inputField.$text0);
            if (jl_String_length($var3) > 0) {
                nms_GuiNewChat_addToSentMessages($this.$mc2.$ingameGUI.$persistantChatGUI, $var3);
                if (!nmc_Minecraft_handleClientCommand($this.$mc2, $var3))
                    nms_EntityClientPlayerMP_sendChatMessage($this.$mc2.$thePlayer, $var3);
            }
            nmc_Minecraft_displayGuiScreen($this.$mc2, null);
        } else if ($par2 == 200)
            nms_GuiChat_getSentHistory($this, (-1));
        else if ($par2 == 208)
            nms_GuiChat_getSentHistory($this, 1);
        else if ($par2 == 201)
            nms_GuiNewChat_scroll($this.$mc2.$ingameGUI.$persistantChatGUI, nms_GuiNewChat_func_96127_i($this.$mc2.$ingameGUI.$persistantChatGUI) - 1 | 0);
        else {
            if ($par2 != 209) {
                $var3 = $this.$inputField;
                $ptr = 1;
                continue main;
            }
            nms_GuiNewChat_scroll($this.$mc2.$ingameGUI.$persistantChatGUI,  -nms_GuiNewChat_func_96127_i($this.$mc2.$ingameGUI.$persistantChatGUI) + 1 | 0);
        }
        return;
    case 1:
        nms_GuiTextField_textboxKeyTyped($var3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, $ptr);
}
function nms_GuiChat_handleMouseInput($this) {
    var $var1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_handleMouseInput($this);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = nlea_EaglerAdapterImpl2_mouseGetEventDWheel();
        if ($var1) {
            if ($var1 > 1)
                $var1 = 1;
            if ($var1 < (-1))
                $var1 = (-1);
            if (!nms_GuiScreen_isShiftKeyDown())
                $var1 = $var1 * 7 | 0;
            nms_GuiNewChat_scroll($this.$mc2.$ingameGUI.$persistantChatGUI, $var1);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $ptr);
}
function nms_GuiChat_mouseClicked($this, $par1, $par2, $par3) {
    var $var4, $var5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par3 && $this.$mc2.$gameSettings.$chatLinks) {
            $var4 = nms_GuiNewChat_func_73766_a($this.$mc2.$ingameGUI.$persistantChatGUI, nlea_EaglerAdapterImpl2_mouseGetX(), nlea_EaglerAdapterImpl2_mouseGetY());
            if ($var4 !== null) {
                $var5 = nms_ChatClickData_getURI($var4);
                if ($var5 !== null) {
                    if (!$this.$mc2.$gameSettings.$chatLinksPrompt)
                        nlea_EaglerAdapterImpl2_openLink($var5);
                    else {
                        $this.$clickedURI = $var5;
                        $var4 = $this.$mc2;
                        var$6 = new nms_GuiConfirmOpenLink;
                        var$7 = nms_StringTranslate_translateKey(nms_StringTranslate_instance, $rt_s(1503));
                        nms_GuiScreen__init_(var$6);
                        var$6.$parentScreen0 = $this;
                        var$6.$message1 = var$7;
                        var$6.$message2 = $var5;
                        var$6.$worldNumber = 0;
                        var$8 = nms_StringTranslate_instance;
                        var$6.$buttonText1 = nms_StringTranslate_translateKey(var$8, $rt_s(1504));
                        var$6.$buttonText2 = nms_StringTranslate_translateKey(var$8, $rt_s(1505));
                        var$6.$field_92027_q = 1;
                        var$8 = nms_StringTranslate_instance;
                        var$6.$buttonText1 = nms_StringTranslate_translateKey(var$8, $rt_s(1504));
                        var$6.$buttonText2 = nms_StringTranslate_translateKey(var$8, $rt_s(1505));
                        var$6.$copyLinkButtonText = nms_StringTranslate_translateKey(var$8, $rt_s(1506));
                        var$6.$openLinkWarning = nms_StringTranslate_translateKey(var$8, $rt_s(1507));
                        var$6.$field_92028_p = $var5;
                        nmc_Minecraft_displayGuiScreen($var4, var$6);
                    }
                    return;
                }
            }
        }
        nms_GuiTextField_mouseClicked($this.$inputField, $par1, $par2, $par3);
        $ptr = 1;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, var$6, var$7, var$8, $ptr);
}
function nms_GuiChat_confirmClicked($this, $par1, $par2) {
    if (!$par2) {
        if ($par1)
            nlea_EaglerAdapterImpl2_openLink($this.$clickedURI);
        $this.$clickedURI = null;
        nmc_Minecraft_displayGuiScreen($this.$mc2, $this);
    }
}
function nms_GuiChat_completePlayerName($this) {
    var $var1, $var3, $var4, $var5, var$5;
    if ($this.$field_73897_d) {
        nms_GuiTextField_deleteFromCursor($this.$inputField, nms_GuiTextField_func_73798_a($this.$inputField, (-1), $this.$inputField.$cursorPosition, 0) - $this.$inputField.$cursorPosition | 0);
        if ($this.$field_73903_n >= $this.$field_73904_o.$size)
            $this.$field_73903_n = 0;
    } else {
        $var1 = nms_GuiTextField_func_73798_a($this.$inputField, (-1), $this.$inputField.$cursorPosition, 0);
        ju_ArrayList_clear($this.$field_73904_o);
        $this.$field_73903_n = 0;
        jl_String_toLowerCase(jl_String_substring($this.$inputField.$text0, $var1));
        $var3 = jl_String_substring0($this.$inputField.$text0, 0, $this.$inputField.$cursorPosition);
        if (jl_String_length($var3) >= 1) {
            $var4 = $this.$mc2.$thePlayer.$sendQueue;
            $var5 = new nms_Packet203AutoComplete;
            nms_Packet__init_0($var5);
            $var5.$text2 = $var3;
            nms_NetClientHandler_addToSendQueue($var4, $var5);
            $this.$field_73905_m = 1;
        }
        if (ju_AbstractCollection_isEmpty($this.$field_73904_o))
            return;
        $this.$field_73897_d = 1;
        nms_GuiTextField_deleteFromCursor($this.$inputField, $var1 - $this.$inputField.$cursorPosition | 0);
    }
    if ($this.$field_73904_o.$size > 1) {
        $var4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var4);
        $var5 = ju_AbstractList_iterator($this.$field_73904_o);
        while (ju_AbstractList$1_hasNext($var5)) {
            $var3 = ju_AbstractList$1_next($var5);
            if ($var4.$length0 > 0)
                jl_AbstractStringBuilder_append($var4, $rt_s(368));
            jl_AbstractStringBuilder_append($var4, $var3);
        }
        nms_GuiNewChat_printChatMessageWithOptionalDeletion($this.$mc2.$ingameGUI.$persistantChatGUI, jl_AbstractStringBuilder_toString($var4), 1);
    }
    $var3 = $this.$inputField;
    $var4 = $this.$field_73904_o;
    var$5 = $this.$field_73903_n;
    $this.$field_73903_n = var$5 + 1 | 0;
    nms_GuiTextField_writeText($var3, ju_ArrayList_get($var4, var$5));
}
function nms_GuiChat_getSentHistory($this, $par1) {
    var $var2, $var3;
    $var2 = $this.$sentHistoryCursor + $par1 | 0;
    $var3 = $this.$mc2.$ingameGUI.$persistantChatGUI.$sentMessages.$size;
    if ($var2 < 0)
        $var2 = 0;
    if ($var2 > $var3)
        $var2 = $var3;
    if ($var2 != $this.$sentHistoryCursor) {
        if ($var2 == $var3) {
            $this.$sentHistoryCursor = $var3;
            nms_GuiTextField_setText($this.$inputField, $this.$field_73898_b);
        } else {
            if ($this.$sentHistoryCursor == $var3)
                $this.$field_73898_b = $this.$inputField.$text0;
            nms_GuiTextField_setText($this.$inputField, ju_ArrayList_get($this.$mc2.$ingameGUI.$persistantChatGUI.$sentMessages, $var2));
            $this.$sentHistoryCursor = $var2;
        }
    }
}
function nms_GuiChat_drawScreen($this, $par1, $par2, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Gui_drawRect(2, $this.$height - 14 | 0, $this.$width - 2 | 0, $this.$height - 2 | 0, (-2147483648));
        var$4 = $this.$inputField;
        $ptr = 1;
    case 1:
        nms_GuiTextField_drawTextBox(var$4);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $ptr);
}
function nms_GuiChat_func_73894_a($this, $par1ArrayOfStr) {
    var $var3, $var4, $var5;
    if ($this.$field_73905_m) {
        $par1ArrayOfStr = $par1ArrayOfStr.data;
        ju_ArrayList_clear($this.$field_73904_o);
        $var3 = $par1ArrayOfStr.length;
        $var4 = 0;
        while ($var4 < $var3) {
            $var5 = $par1ArrayOfStr[$var4];
            if (jl_String_length($var5) > 0)
                ju_ArrayList_add($this.$field_73904_o, $var5);
            $var4 = $var4 + 1 | 0;
        }
        if ($this.$field_73904_o.$size > 0) {
            $this.$field_73897_d = 1;
            nms_GuiChat_completePlayerName($this);
        }
    }
}
function nms_WorldClient() {
    var a = this; nms_World.call(a);
    a.$sendQueue0 = null;
    a.$clientChunkProvider = null;
    a.$entityHashSet = null;
    a.$entityList = null;
    a.$entitySpawnQueue = null;
    a.$mc12 = null;
    a.$previousActiveChunkSet = null;
}
function nms_WorldClient__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_WorldClient();
    nms_WorldClient__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_WorldClient__init_0($this, $par1NetClientHandler, $par2WorldSettings, $par3, $par4, $par5Profiler) {
    var var$6;
    if ($par3 == (-1)) {
        var$6 = new nms_WorldProviderHell;
        nms_WorldProvider__init_(var$6);
    } else if (!$par3) {
        var$6 = new nms_WorldProviderSurface;
        nms_WorldProvider__init_(var$6);
    } else if ($par3 != 1)
        var$6 = null;
    else {
        var$6 = new nms_WorldProviderEnd;
        nms_WorldProvider__init_(var$6);
    }
    $this.$scheduledUpdatesAreImmediate = 0;
    $this.$loadedEntityList = ju_ArrayList__init_0();
    $this.$unloadedEntityList = ju_ArrayList__init_0();
    $this.$loadedTileEntityList = ju_ArrayList__init_0();
    $this.$addedTileEntityList = ju_ArrayList__init_0();
    $this.$entityRemoval = ju_ArrayList__init_0();
    $this.$playerEntities = ju_ArrayList__init_0();
    $this.$weatherEffects = ju_ArrayList__init_0();
    $this.$cloudColour = Long_fromInt(16777215);
    $this.$skylightSubtracted = 0;
    $this.$updateLCG = nle_EaglercraftRandom_nextInt0(nle_EaglercraftRandom__init_0());
    $this.$DIST_HASH_MAGIC = 1013904223;
    $this.$lastLightningBolt = 0;
    $this.$rand = nle_EaglercraftRandom__init_0();
    $this.$worldAccesses = ju_ArrayList__init_0();
    $this.$vecPool = nms_Vec3Pool__init_(300, 2000);
    $this.$theCalendar = ju_Calendar_getInstance();
    $this.$worldScoreboard = nms_Scoreboard__init_0();
    $this.$collidingBoundingBoxes = ju_ArrayList__init_0();
    $this.$spawnHostileMobs = 1;
    $this.$spawnPeacefulMobs = 1;
    $this.$activeChunkSet = ju_HashSet__init_0();
    $this.$ambientTickCountdown = nle_EaglercraftRandom_nextInt($this.$rand, 12000);
    $this.$lightUpdateBlockList = $rt_createIntArray(32768);
    $this.$isRemote = 0;
    $this.$theProfiler = $par5Profiler;
    $par5Profiler = new nms_WorldInfo;
    $par5Profiler.$terrainType = nms_WorldType_DEFAULT;
    $par5Profiler.$generatorOptions = $rt_s(36);
    $par5Profiler.$theGameRules = nms_GameRules__init_0();
    $par5Profiler.$randomSeed = $par2WorldSettings.$seed0;
    $par5Profiler.$theGameType = $par2WorldSettings.$theGameType0;
    $par5Profiler.$mapFeaturesEnabled = $par2WorldSettings.$mapFeaturesEnabled0;
    $par5Profiler.$levelName = $rt_s(1508);
    $par5Profiler.$hardcore = $par2WorldSettings.$hardcoreEnabled;
    $par5Profiler.$terrainType = $par2WorldSettings.$terrainType0;
    $par5Profiler.$generatorOptions = $par2WorldSettings.$field_82751_h;
    $par5Profiler.$allowCommands = $par2WorldSettings.$commandsAllowed;
    $par5Profiler.$initialized0 = 0;
    $this.$worldInfo = $par5Profiler;
    $this.$provider = var$6;
    $this.$mapStorage = nms_MapStorage__init_0();
    nms_WorldProvider_registerWorld(var$6, $this);
    $this.$chunkProvider = nms_WorldClient_createChunkProvider($this);
    nms_World_calculateInitialSkylight($this);
    if ($this.$worldInfo.$raining) {
        $this.$rainingStrength = 1.0;
        if ($this.$worldInfo.$thundering)
            $this.$thunderingStrength = 1.0;
    }
    $this.$entityHashSet = nms_IntHashMap__init_0();
    $this.$entityList = ju_HashSet__init_0();
    $this.$entitySpawnQueue = ju_HashSet__init_0();
    $this.$mc12 = nmc_Minecraft_theMinecraft;
    $this.$previousActiveChunkSet = ju_HashSet__init_0();
    $this.$sendQueue0 = $par1NetClientHandler;
    $this.$difficultySetting = $par4;
    nms_World_setSpawnLocation0($this, 8, 64, 8);
    $this.$mapStorage = $par1NetClientHandler.$mapStorage0;
}
function nms_WorldClient_tick($this) {
    var $var1, $var2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_WorldClient_updateWeather($this);
        nms_World_func_82738_a($this, Long_add(nms_World_getTotalWorldTime($this), Long_fromInt(1)));
        nms_World_setWorldTime($this, Long_add(nms_World_getWorldTime($this), Long_fromInt(1)));
        nms_Profiler_startSection($this.$theProfiler, $rt_s(1509));
        $var1 = 0;
        while ($var1 < 10 && !ju_HashSet_isEmpty($this.$entitySpawnQueue)) {
            $var2 = ju_HashSet_iterator($this.$entitySpawnQueue).$next();
            ju_HashSet_remove($this.$entitySpawnQueue, $var2);
            if (!ju_AbstractCollection_contains($this.$loadedEntityList, $var2))
                nms_WorldClient_spawnEntityInWorld($this, $var2);
            $var1 = $var1 + 1 | 0;
        }
        nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1510));
        $var2 = $this.$sendQueue0;
        $ptr = 1;
    case 1:
        nms_NetClientHandler_processReadPackets($var2);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1511));
        nms_Profiler_endStartSection($this.$theProfiler, $rt_s(1512));
        nms_WorldClient_tickBlocksAndAmbiance($this);
        nms_Profiler_endSection($this.$theProfiler);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $ptr);
}
function nms_WorldClient_invalidateBlockReceiveRegion($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    return;
}
function nms_WorldClient_createChunkProvider($this) {
    var var$1, var$2;
    var$1 = new nms_ChunkProviderClient;
    var$1.$chunkMapping = nms_LongHashMap__init_0();
    var$1.$chunkListing = ju_ArrayList__init_0();
    var$2 = new nms_EmptyChunk;
    nms_Chunk__init_(var$2, $this, 0, 0);
    var$1.$blankChunk = var$2;
    var$1.$worldObj3 = $this;
    $this.$clientChunkProvider = var$1;
    return $this.$clientChunkProvider;
}
function nms_WorldClient_tickBlocksAndAmbiance($this) {
    var $var1, $var2, $var3, $var4, $var5;
    nms_World_setActivePlayerChunksAndCheckLight($this);
    ju_AbstractCollection_retainAll($this.$previousActiveChunkSet, $this.$activeChunkSet);
    if (ju_HashSet_size($this.$previousActiveChunkSet) == ju_HashSet_size($this.$activeChunkSet))
        ju_HashSet_clear($this.$previousActiveChunkSet);
    $var1 = 0;
    $var2 = ju_HashSet_iterator($this.$activeChunkSet);
    while ($var2.$hasNext()) {
        $var3 = $var2.$next();
        if (!ju_HashSet_contains($this.$previousActiveChunkSet, $var3)) {
            $var4 = $var3.$chunkXPos * 16 | 0;
            $var5 = $var3.$chunkZPos * 16 | 0;
            nms_Profiler_startSection($this.$theProfiler, $rt_s(1513));
            nms_World_moodSoundAndLightCheck($this, $var4, $var5, nms_World_getChunkFromChunkCoords($this, $var3.$chunkXPos, $var3.$chunkZPos));
            nms_Profiler_endSection($this.$theProfiler);
            ju_HashSet_add($this.$previousActiveChunkSet, $var3);
            $var1 = $var1 + 1 | 0;
            if ($var1 >= 10)
                return;
        }
    }
}
function nms_WorldClient_doPreChunk($this, $par1, $par2, $par3) {
    var var$4;
    if (!$par3)
        nms_ChunkProviderClient_unloadChunk($this.$clientChunkProvider, $par1, $par2);
    else
        nms_ChunkProviderClient_loadChunk($this.$clientChunkProvider, $par1, $par2);
    if (!$par3) {
        $par3 = $par1 * 16 | 0;
        var$4 = $par2 * 16 | 0;
        nms_World_markBlockRangeForRenderUpdate($this, $par3, 0, var$4, $par3 + 15 | 0, 256, var$4 + 15 | 0);
    }
}
function nms_WorldClient_spawnEntityInWorld($this, $par1Entity) {
    var $var2, var$3, var$4, var$5, var$6;
    $var2 = nms_MathHelper_floor_double($par1Entity.$posX / 16.0);
    var$3 = nms_MathHelper_floor_double($par1Entity.$posZ / 16.0);
    var$4 = $par1Entity.$field_98038_p;
    var$5 = $par1Entity instanceof nms_EntityPlayer;
    if (var$5)
        var$4 = 1;
    if (!var$4 && !nms_World_chunkExists($this, $var2, var$3))
        $var2 = 0;
    else {
        if (var$5) {
            var$6 = $par1Entity;
            ju_ArrayList_add($this.$playerEntities, var$6);
        }
        nms_World_getChunkFromChunkCoords($this, $var2, var$3).$addEntity($par1Entity);
        ju_ArrayList_add($this.$loadedEntityList, $par1Entity);
        nms_WorldClient_obtainEntitySkin($this, $par1Entity);
        $var2 = 1;
    }
    ju_HashSet_add($this.$entityList, $par1Entity);
    if (!$var2)
        ju_HashSet_add($this.$entitySpawnQueue, $par1Entity);
    return $var2;
}
function nms_WorldClient_removeEntity($this, $par1Entity) {
    var var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1Entity.$riddenByEntity !== null) {
            var$2 = $par1Entity.$riddenByEntity;
            var$3 = null;
            $ptr = 1;
            continue main;
        }
        if ($par1Entity.$ridingEntity === null) {
            $ptr = 2;
            continue main;
        }
        var$2 = null;
        $ptr = 3;
        continue main;
    case 1:
        var$2.$mountEntity(var$3);
        if ($rt_suspending()) {
            break main;
        }
        if ($par1Entity.$ridingEntity === null) {
            $ptr = 2;
            continue main;
        }
        var$2 = null;
        $ptr = 3;
        continue main;
    case 2:
        $par1Entity.$setDead();
        if ($rt_suspending()) {
            break main;
        }
        if ($par1Entity instanceof nms_EntityPlayer)
            ju_ArrayList_remove0($this.$playerEntities, $par1Entity);
        ju_HashSet_remove($this.$entityList, $par1Entity);
        return;
    case 3:
        $par1Entity.$mountEntity(var$2);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, var$2, var$3, $ptr);
}
function nms_WorldClient_obtainEntitySkin($this, $par1Entity) {
    var var$2;
    var$2 = 0;
    while (var$2 < $this.$worldAccesses.$size) {
        ju_ArrayList_get($this.$worldAccesses, var$2);
        $par1Entity.$updateCloak();
        var$2 = var$2 + 1 | 0;
    }
    if (ju_HashSet_contains($this.$entitySpawnQueue, $par1Entity))
        ju_HashSet_remove($this.$entitySpawnQueue, $par1Entity);
}
function nms_WorldClient_releaseEntitySkin($this, $par1Entity) {
    var var$2;
    var$2 = 0;
    while (var$2 < $this.$worldAccesses.$size) {
        ju_ArrayList_get($this.$worldAccesses, var$2);
        var$2 = var$2 + 1 | 0;
    }
    if (ju_HashSet_contains($this.$entityList, $par1Entity)) {
        if (!$par1Entity.$isEntityAlive())
            ju_HashSet_remove($this.$entityList, $par1Entity);
        else
            ju_HashSet_add($this.$entitySpawnQueue, $par1Entity);
    }
}
function nms_WorldClient_addEntityToWorld($this, $par1, $par2Entity) {
    var $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$par2Entity = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = nms_WorldClient_getEntityByID($this, $par1);
        if ($var3 === null) {
            ju_HashSet_add($this.$entityList, $par2Entity);
            $par2Entity.$entityId = $par1;
            if (!nms_WorldClient_spawnEntityInWorld($this, $par2Entity))
                ju_HashSet_add($this.$entitySpawnQueue, $par2Entity);
            nms_IntHashMap_addKey($this.$entityHashSet, $par1, $par2Entity);
            return;
        }
        $ptr = 1;
    case 1:
        nms_WorldClient_removeEntity($this, $var3);
        if ($rt_suspending()) {
            break main;
        }
        ju_HashSet_add($this.$entityList, $par2Entity);
        $par2Entity.$entityId = $par1;
        if (!nms_WorldClient_spawnEntityInWorld($this, $par2Entity))
            ju_HashSet_add($this.$entitySpawnQueue, $par2Entity);
        nms_IntHashMap_addKey($this.$entityHashSet, $par1, $par2Entity);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2Entity, $var3, $ptr);
}
function nms_WorldClient_getEntityByID($this, $par1) {
    return $par1 == $this.$mc12.$thePlayer.$entityId ? $this.$mc12.$thePlayer : nms_IntHashMap_lookup($this.$entityHashSet, $par1);
}
function nms_WorldClient_removeEntityFromWorld($this, $par1) {
    var $var2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = nms_IntHashMap_removeObject($this.$entityHashSet, $par1);
        if ($var2 === null)
            return $var2;
        ju_HashSet_remove($this.$entityList, $var2);
        $ptr = 1;
    case 1:
        nms_WorldClient_removeEntity($this, $var2);
        if ($rt_suspending()) {
            break main;
        }
        return $var2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $ptr);
}
function nms_WorldClient_setBlockAndMetadataAndInvalidate($this, $par1, $par2, $par3, $par4, $par5) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$6 = 3;
        $ptr = 1;
    case 1:
        $tmp = nms_World_setBlock($this, $par1, $par2, $par3, $par4, $par5, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        return $par1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5, var$6, $ptr);
}
function nms_WorldClient_sendQuittingDisconnectingPacket($this) {
    var var$1, var$2;
    var$1 = $this.$sendQueue0;
    var$2 = new nms_Packet255KickDisconnect;
    nms_Packet__init_0(var$2);
    var$2.$reason = $rt_s(1514);
    nms_NetClientHandler_quitWithPacket(var$1, var$2);
}
function nms_WorldClient_func_82735_a($this, $par1EntityMinecart) {
    var var$2, var$3, var$4;
    var$2 = new nms_SoundUpdaterMinecart;
    var$3 = $this.$mc12.$sndManager;
    var$4 = $this.$mc12.$thePlayer;
    var$2.$playerSPRidingMinecart = 0;
    var$2.$minecartIsDead = 0;
    var$2.$minecartIsMoving = 0;
    var$2.$silent = 0;
    var$2.$minecartSoundPitch = 0.0;
    var$2.$minecartMoveSoundVolume = 0.0;
    var$2.$minecartRideSoundVolume = 0.0;
    var$2.$minecartSpeed = 0.0;
    var$2.$theSoundManager = var$3;
    var$2.$theMinecart = $par1EntityMinecart;
    var$2.$thePlayer3 = var$4;
    return var$2;
}
function nms_WorldClient_updateWeather($this) {
    if (!$this.$provider.$hasNoSky) {
        $this.$prevRainingStrength = $this.$rainingStrength;
        if (!$this.$worldInfo.$raining)
            $this.$rainingStrength = $this.$rainingStrength - 0.01;
        else
            $this.$rainingStrength = $this.$rainingStrength + 0.01;
        if ($this.$rainingStrength < 0.0)
            $this.$rainingStrength = 0.0;
        if ($this.$rainingStrength > 1.0)
            $this.$rainingStrength = 1.0;
        $this.$prevThunderingStrength = $this.$thunderingStrength;
        if (!$this.$worldInfo.$thundering)
            $this.$thunderingStrength = $this.$thunderingStrength - 0.01;
        else
            $this.$thunderingStrength = $this.$thunderingStrength + 0.01;
        if ($this.$thunderingStrength < 0.0)
            $this.$thunderingStrength = 0.0;
        if ($this.$thunderingStrength > 1.0)
            $this.$thunderingStrength = 1.0;
    }
}
function nms_WorldClient_doVoidFogParticles($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var7, $var8, $var9, $var10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = 16;
        $var5 = nle_EaglercraftRandom__init_0();
        $var6 = 0;
        while ($var6 < 1000) {
            $var7 = ($par1 + nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0) - nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0;
            $var8 = ($par2 + nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0) - nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0;
            $var9 = ($par3 + nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0) - nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0;
            $var10 = nms_World_getBlockId($this, $var7, $var8, $var9);
            if (!$var10 && nle_EaglercraftRandom_nextInt($this.$rand, 8) > $var8 && nms_WorldProvider_getWorldHasVoidParticles($this.$provider)) {
                var$11 = $rt_s(1162);
                var$12 = $var7 + nle_EaglercraftRandom_nextFloat($this.$rand);
                var$13 = $var8 + nle_EaglercraftRandom_nextFloat($this.$rand);
                var$14 = $var9 + nle_EaglercraftRandom_nextFloat($this.$rand);
                var$15 = 0.0;
                var$16 = 0.0;
                var$17 = 0.0;
                $ptr = 2;
                continue main;
            }
            if ($var10 > 0) {
                nms_Block_$callClinit();
                var$11 = nms_Block_blocksList.data[$var10];
                $ptr = 1;
                continue main;
            }
            $var6 = $var6 + 1 | 0;
        }
        return;
    case 1:
        var$11.$randomDisplayTick($this, $var7, $var8, $var9, $var5);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 1000)
                break;
            $var7 = ($par1 + nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0) - nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0;
            $var8 = ($par2 + nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0) - nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0;
            $var9 = ($par3 + nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0) - nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0;
            $var10 = nms_World_getBlockId($this, $var7, $var8, $var9);
            if (!$var10 && nle_EaglercraftRandom_nextInt($this.$rand, 8) > $var8 && nms_WorldProvider_getWorldHasVoidParticles($this.$provider)) {
                var$11 = $rt_s(1162);
                var$12 = $var7 + nle_EaglercraftRandom_nextFloat($this.$rand);
                var$13 = $var8 + nle_EaglercraftRandom_nextFloat($this.$rand);
                var$14 = $var9 + nle_EaglercraftRandom_nextFloat($this.$rand);
                var$15 = 0.0;
                var$16 = 0.0;
                var$17 = 0.0;
                $ptr = 2;
                continue main;
            }
            if ($var10 <= 0)
                continue;
            else {
                nms_Block_$callClinit();
                var$11 = nms_Block_blocksList.data[$var10];
                continue main;
            }
        }
        return;
    case 2:
        nms_World_spawnParticle($this, var$11, var$12, var$13, var$14, var$15, var$16, var$17);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var6 = $var6 + 1 | 0;
            if ($var6 >= 1000)
                break;
            $var7 = ($par1 + nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0) - nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0;
            $var8 = ($par2 + nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0) - nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0;
            $var9 = ($par3 + nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0) - nle_EaglercraftRandom_nextInt($this.$rand, $var4) | 0;
            $var10 = nms_World_getBlockId($this, $var7, $var8, $var9);
            if (!$var10 && nle_EaglercraftRandom_nextInt($this.$rand, 8) > $var8 && nms_WorldProvider_getWorldHasVoidParticles($this.$provider)) {
                var$11 = $rt_s(1162);
                var$12 = $var7 + nle_EaglercraftRandom_nextFloat($this.$rand);
                var$13 = $var8 + nle_EaglercraftRandom_nextFloat($this.$rand);
                var$14 = $var9 + nle_EaglercraftRandom_nextFloat($this.$rand);
                var$15 = 0.0;
                var$16 = 0.0;
                var$17 = 0.0;
                continue main;
            }
            if ($var10 <= 0)
                continue;
            else {
                nms_Block_$callClinit();
                var$11 = nms_Block_blocksList.data[$var10];
                $ptr = 1;
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
}
function nms_WorldClient_removeAllEntities($this) {
    var $var1, $var2, $var3, $var4, $var3_0, var$6;
    ju_AbstractCollection_removeAll($this.$loadedEntityList, $this.$unloadedEntityList);
    $var1 = 0;
    while ($var1 < $this.$unloadedEntityList.$size) {
        $var2 = ju_ArrayList_get($this.$unloadedEntityList, $var1);
        $var3 = $var2.$chunkCoordX;
        $var4 = $var2.$chunkCoordZ;
        if ($var2.$addedToChunk && nms_World_chunkExists($this, $var3, $var4))
            nms_World_getChunkFromChunkCoords($this, $var3, $var4).$removeEntity($var2);
        $var1 = $var1 + 1 | 0;
    }
    $var1 = 0;
    while ($var1 < $this.$unloadedEntityList.$size) {
        nms_WorldClient_releaseEntitySkin($this, ju_ArrayList_get($this.$unloadedEntityList, $var1));
        $var1 = $var1 + 1 | 0;
    }
    ju_ArrayList_clear($this.$unloadedEntityList);
    $var3 = 0;
    while ($var3 < $this.$loadedEntityList.$size) {
        a: {
            $var2 = ju_ArrayList_get($this.$loadedEntityList, $var3);
            if ($var2.$ridingEntity !== null) {
                if (!$var2.$ridingEntity.$isDead && $var2.$ridingEntity.$riddenByEntity === $var2)
                    break a;
                $var2.$ridingEntity.$riddenByEntity = null;
                $var2.$ridingEntity = null;
            }
            if ($var2.$isDead) {
                $var3_0 = $var2.$chunkCoordX;
                $var4 = $var2.$chunkCoordZ;
                if ($var2.$addedToChunk && nms_World_chunkExists($this, $var3_0, $var4))
                    nms_World_getChunkFromChunkCoords($this, $var3_0, $var4).$removeEntity($var2);
                var$6 = $this.$loadedEntityList;
                $var1 = $var3 + (-1) | 0;
                ju_ArrayList_remove(var$6, $var3);
                nms_WorldClient_releaseEntitySkin($this, $var2);
                $var3 = $var1;
            }
        }
        $var3 = $var3 + 1 | 0;
    }
}
function nms_WorldClient_playSound($this, $par1, $par3, $par5, $par7Str, $par8, $par9, $par10) {
    var $var11, $var12, $var14, var$11, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7Str = $thread.pop();$par5 = $thread.pop();$par3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var11 = 16.0;
        if ($par8 > 1.0)
            $var11 = $var11 * $par8;
        a: {
            $var12 = nms_Entity_getDistanceSq($this.$mc12.$renderViewEntity, $par1, $par3, $par5);
            if ($var12 < $var11 * $var11) {
                if (!$par10)
                    break a;
                if ($var12 <= 100.0)
                    break a;
                $var14 = jl_Math_sqrt($var12) / 40.0;
                nms_SoundManager_func_92070_a($this.$mc12.$sndManager, $par7Str, $par1, $par3, $par5, $par8, $par9, jl_Math_round0($var14 * 20.0).lo);
            }
            return;
        }
        var$11 = $this.$mc12.$sndManager;
        var$12 = $par1;
        $var11 = $par3;
        var$13 = $par5;
        $ptr = 1;
    case 1:
        nms_SoundManager_playSound(var$11, $par7Str, var$12, $var11, var$13, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, $par5, $par7Str, $par8, $par9, $par10, $var11, $var12, $var14, var$11, var$12, var$13, $ptr);
}
function nms_WorldClient_func_92088_a($this, $par1, $par3, $par5, $par7, $par9, $par11, $par13NBTTagCompound) {
    var var$8, var$9, var$10, var$11;
    a: {
        var$8 = $this.$mc12.$effectRenderer;
        var$9 = new nms_EntityFireworkStarterFX;
        var$10 = $this.$mc12.$effectRenderer;
        nms_EntityFX__init_(var$9, $this, $par1, $par3, $par5, 0.0, 0.0, 0.0);
        var$9.$field_92042_ax = 0;
        var$9.$motionX = $par7;
        var$9.$motionY = $par9;
        var$9.$motionZ = $par11;
        var$9.$field_92040_ay = var$10;
        var$9.$particleMaxAge = 8;
        if ($par13NBTTagCompound !== null) {
            var$9.$fireworkExplosions = nms_NBTTagCompound_getTagList($par13NBTTagCompound, $rt_s(1515));
            if (!nms_NBTTagList_tagCount(var$9.$fireworkExplosions))
                var$9.$fireworkExplosions = null;
            else {
                var$9.$particleMaxAge = (nms_NBTTagList_tagCount(var$9.$fireworkExplosions) * 2 | 0) - 1 | 0;
                var$11 = 0;
                while (true) {
                    if (var$11 >= nms_NBTTagList_tagCount(var$9.$fireworkExplosions))
                        break a;
                    if (nms_NBTTagCompound_getBoolean(nms_NBTTagList_tagAt(var$9.$fireworkExplosions, var$11), $rt_s(1516)))
                        break;
                    var$11 = var$11 + 1 | 0;
                }
                var$9.$field_92041_a = 1;
                var$9.$particleMaxAge = var$9.$particleMaxAge + 15 | 0;
            }
        }
    }
    nms_EffectRenderer_addEffect(var$8, var$9);
}
function nms_WorldClient_func_96443_a($this, $par1Scoreboard) {
    $this.$worldScoreboard = $par1Scoreboard;
}
function nms_GuiSleepMP() {
    nms_GuiChat.call(this);
}
function nms_GuiSleepMP__init_0() {
    var var_0 = new nms_GuiSleepMP();
    nms_GuiSleepMP__init_(var_0);
    return var_0;
}
function nms_GuiSleepMP__init_($this) {
    nms_GuiChat__init_($this);
}
function nms_GuiSleepMP_initGui($this) {
    var $var1;
    nms_GuiChat_initGui($this);
    $var1 = nms_StringTranslate_instance;
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(1, ($this.$width / 2 | 0) - 100 | 0, $this.$height - 40 | 0, nms_StringTranslate_translateKey($var1, $rt_s(1517))));
}
function nms_GuiSleepMP_keyTyped($this, $par1, $par2) {
    var $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par2 == 1)
            nms_GuiSleepMP_wakeEntity($this);
        else {
            if ($par2 != 28) {
                $ptr = 1;
                continue main;
            }
            $var3 = jl_String_trim($this.$inputField.$text0);
            if (jl_String_length($var3) > 0)
                nms_EntityClientPlayerMP_sendChatMessage($this.$mc2.$thePlayer, $var3);
            nms_GuiTextField_setText($this.$inputField, $rt_s(36));
            nms_GuiNewChat_resetScroll($this.$mc2.$ingameGUI.$persistantChatGUI);
        }
        return;
    case 1:
        nms_GuiChat_keyTyped($this, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, $ptr);
}
function nms_GuiSleepMP_actionPerformed($this, $par1GuiButton) {
    if ($par1GuiButton.$id3 != 1)
        nms_GuiChat_actionPerformed($this, $par1GuiButton);
    else
        nms_GuiSleepMP_wakeEntity($this);
}
function nms_GuiSleepMP_wakeEntity($this) {
    nms_NetClientHandler_addToSendQueue($this.$mc2.$thePlayer.$sendQueue, nms_Packet19EntityAction__init_0($this.$mc2.$thePlayer, 3));
}
function nms_SoundManager$EntitySoundEvent() {
    var a = this; jl_Object.call(a);
    a.$e = null;
    a.$id2 = 0;
}
function nms_SoundManager$QueuedSoundEvent() {
    var a = this; jl_Object.call(a);
    a.$sound = null;
    a.$x0 = 0.0;
    a.$y0 = 0.0;
    a.$z0 = 0.0;
    a.$volume = 0.0;
    a.$pitch = 0.0;
    a.$timer0 = 0;
}
function jt_DateFormatElement$Numeric() {
    var a = this; jt_DateFormatElement.call(a);
    a.$field0 = 0;
    a.$length6 = 0;
}
function jt_DateFormatElement$Numeric__init_(var_0, var_1) {
    var var_2 = new jt_DateFormatElement$Numeric();
    jt_DateFormatElement$Numeric__init_0(var_2, var_0, var_1);
    return var_2;
}
function jt_DateFormatElement$Numeric__init_0($this, $field, $length) {
    $this.$field0 = $field;
    $this.$length6 = $length;
}
function jt_DateFormatElement$Numeric_format($this, $date, $buffer) {
    var $str, $i;
    $str = jl_Integer_toString($this.$processBeforeFormat(ju_Calendar_get($date, $this.$field0)));
    $i = jl_String_length($str);
    while ($i < $this.$length6) {
        jl_AbstractStringBuilder_append0($buffer, 48);
        $i = $i + 1 | 0;
    }
    jl_AbstractStringBuilder_append($buffer, $str);
}
function jt_DateFormatElement$Numeric_processBeforeFormat($this, $num) {
    return $num;
}
function jt_DateFormatElement$Numeric_equals($this, $o) {
    var $numeric;
    if ($this === $o)
        return 1;
    if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
        $numeric = $o;
        return $this.$field0 == $numeric.$field0 && $this.$length6 == $numeric.$length6 ? 1 : 0;
    }
    return 0;
}
function jt_DateFormatElement$Numeric_hashCode($this) {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_Object, 2);
    var$2 = var$1.data;
    var$2[0] = jl_Integer_valueOf($this.$field0);
    var$2[1] = jl_Integer_valueOf($this.$length6);
    return ju_Arrays_hashCode(var$1);
}
function jt_DateFormatElement$WeekdayText() {
    var a = this; jt_DateFormatElement.call(a);
    a.$weeks = null;
    a.$shortWeeks = null;
    a.$abbreviated = 0;
}
function jt_DateFormatElement$WeekdayText__init_(var_0, var_1) {
    var var_2 = new jt_DateFormatElement$WeekdayText();
    jt_DateFormatElement$WeekdayText__init_0(var_2, var_0, var_1);
    return var_2;
}
function jt_DateFormatElement$WeekdayText__init_0($this, $symbols, $abbreviated) {
    $this.$weeks = jt_DateFormatSymbols_getWeekdays($symbols);
    $this.$shortWeeks = jt_DateFormatSymbols_getShortWeekdays($symbols);
    $this.$abbreviated = $abbreviated;
}
function jt_DateFormatElement$WeekdayText_format($this, $date, $buffer) {
    var $weekday;
    $weekday = ju_Calendar_get($date, 7) - 1 | 0;
    jl_AbstractStringBuilder_append($buffer, !$this.$abbreviated ? $this.$weeks.data[$weekday] : $this.$shortWeeks.data[$weekday]);
}
function jt_DateFormatElement$WeekdayText_equals($this, $o) {
    var $that;
    if ($this === $o)
        return 1;
    if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
        $that = $o;
        return $this.$abbreviated == $that.$abbreviated && ju_Arrays_equals($this.$weeks, $that.$weeks) && ju_Arrays_equals($this.$shortWeeks, $that.$shortWeeks) ? 1 : 0;
    }
    return 0;
}
function jt_DateFormatElement$WeekdayText_hashCode($this) {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_Object, 3);
    var$2 = var$1.data;
    var$2[0] = $this.$weeks;
    var$2[1] = $this.$shortWeeks;
    var$2[2] = jl_Boolean_valueOf($this.$abbreviated);
    return ju_Arrays_hashCode(var$1);
}
function jt_DateFormatElement$EraText() {
    jt_DateFormatElement.call(this);
    this.$eras0 = null;
}
function jt_DateFormatElement$EraText_format($this, $date, $buffer) {
    var $era;
    $era = ju_Calendar_get($date, 0);
    jl_AbstractStringBuilder_append($buffer, $this.$eras0.data[$era]);
}
function jt_DateFormatElement$EraText_equals($this, $o) {
    var $eraText;
    if ($this === $o)
        return 1;
    if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
        $eraText = $o;
        return ju_Arrays_equals($this.$eras0, $eraText.$eras0);
    }
    return 0;
}
function jt_DateFormatElement$EraText_hashCode($this) {
    return ju_Arrays_hashCode($this.$eras0);
}
function jt_DateFormatElement$BaseTimezone() {
    var a = this; jt_DateFormatElement.call(a);
    a.$locale3 = null;
    a.$searchTrie = null;
}
function jt_DateFormatElement$BaseTimezone__init_0(var_0) {
    var var_1 = new jt_DateFormatElement$BaseTimezone();
    jt_DateFormatElement$BaseTimezone__init_(var_1, var_0);
    return var_1;
}
function jt_DateFormatElement$BaseTimezone__init_($this, $locale) {
    $this.$locale3 = $locale;
}
function jt_DateFormatElement$BaseTimezone_equals($this, $o) {
    var $that;
    if ($this === $o)
        return 1;
    if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
        $that = $o;
        return ju_Objects_equals($this.$locale3, $that.$locale3) && ju_Objects_equals($this.$searchTrie, $that.$searchTrie) ? 1 : 0;
    }
    return 0;
}
function jt_DateFormatElement$BaseTimezone_hashCode($this) {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_Object, 2);
    var$2 = var$1.data;
    var$2[0] = $this.$locale3;
    var$2[1] = $this.$searchTrie;
    return ju_Arrays_hashCode(var$1);
}
function jt_DateFormatElement$Rfc822Timezone() {
    jt_DateFormatElement$BaseTimezone.call(this);
}
function jt_DateFormatElement$Rfc822Timezone_format($this, $date, $buffer) {
    var $minutes, $hours, var$5;
    $minutes = ju_IANATimeZone_getOffset($date.$zone, ju_Calendar_getTimeInMillis($date)) / 60000 | 0;
    if ($minutes >= 0)
        jl_AbstractStringBuilder_append0($buffer, 43);
    else {
        $minutes =  -$minutes;
        jl_AbstractStringBuilder_append0($buffer, 45);
    }
    $hours = $minutes / 60 | 0;
    var$5 = $minutes % 60 | 0;
    jl_AbstractStringBuilder_append2($buffer, $hours / 10 | 0);
    jl_AbstractStringBuilder_append2($buffer, $hours % 10 | 0);
    jl_AbstractStringBuilder_append2($buffer, var$5 / 10 | 0);
    jl_AbstractStringBuilder_append2($buffer, var$5 % 10 | 0);
}
function jt_DateFormatElement$AmPmText() {
    jt_DateFormatElement.call(this);
    this.$ampms0 = null;
}
function jt_DateFormatElement$AmPmText_format($this, $date, $buffer) {
    var $ampm;
    $ampm = ju_Calendar_get($date, 9);
    jl_AbstractStringBuilder_append($buffer, $this.$ampms0.data[$ampm]);
}
function jt_DateFormatElement$AmPmText_equals($this, $o) {
    var $amPmText;
    if ($this === $o)
        return 1;
    if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
        $amPmText = $o;
        return ju_Arrays_equals($this.$ampms0, $amPmText.$ampms0);
    }
    return 0;
}
function jt_DateFormatElement$AmPmText_hashCode($this) {
    return ju_Arrays_hashCode($this.$ampms0);
}
function jt_DateFormatElement$NumericHour() {
    jt_DateFormatElement$Numeric.call(this);
    this.$limit1 = 0;
}
function jt_DateFormatElement$NumericHour__init_(var_0, var_1, var_2) {
    var var_3 = new jt_DateFormatElement$NumericHour();
    jt_DateFormatElement$NumericHour__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function jt_DateFormatElement$NumericHour__init_0($this, $field, $length, $limit) {
    jt_DateFormatElement$Numeric__init_0($this, $field, $length);
    $this.$limit1 = $limit;
}
function jt_DateFormatElement$NumericHour_processBeforeFormat($this, $num) {
    if (!$num)
        $num = $this.$limit1;
    return $num;
}
function jt_DateFormatElement$NumericHour_equals($this, $o) {
    var $that;
    if ($this === $o)
        return 1;
    if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
        if (!jt_DateFormatElement$Numeric_equals($this, $o))
            return 0;
        $that = $o;
        return $this.$limit1 != $that.$limit1 ? 0 : 1;
    }
    return 0;
}
function jt_DateFormatElement$NumericHour_hashCode($this) {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_Object, 2);
    var$2 = var$1.data;
    var$2[0] = jl_Integer_valueOf(jt_DateFormatElement$Numeric_hashCode($this));
    var$2[1] = jl_Integer_valueOf($this.$limit1);
    return ju_Arrays_hashCode(var$1);
}
function jt_DateFormatElement$NumericWeekday() {
    jt_DateFormatElement$Numeric.call(this);
}
function jt_DateFormatElement$NumericWeekday_processBeforeFormat($this, $num) {
    return $num == 1 ? 7 : $num - 1 | 0;
}
function jt_DateFormatElement$GeneralTimezone() {
    jt_DateFormatElement$BaseTimezone.call(this);
}
function jt_DateFormatElement$GeneralTimezone_format($this, $date, $buffer) {
    var $tz, $minutes, $hours;
    $tz = $date.$zone;
    if (!jl_String_startsWith0($tz.$id4, $rt_s(620)))
        jl_AbstractStringBuilder_append($buffer, ju_TimeZone_getDisplayName($tz, $this.$locale3));
    else {
        $minutes = $tz.$rawOffset / 60000 | 0;
        jl_AbstractStringBuilder_append($buffer, $rt_s(620));
        if ($minutes >= 0)
            jl_AbstractStringBuilder_append0($buffer, 43);
        else {
            $minutes =  -$minutes;
            jl_AbstractStringBuilder_append0($buffer, 45);
        }
        $hours = $minutes / 60 | 0;
        $minutes = $minutes % 60 | 0;
        jl_AbstractStringBuilder_append2($buffer, $hours / 10 | 0);
        jl_AbstractStringBuilder_append2($buffer, $hours % 10 | 0);
        jl_AbstractStringBuilder_append0($buffer, 58);
        jl_AbstractStringBuilder_append2($buffer, $minutes / 10 | 0);
        jl_AbstractStringBuilder_append2($buffer, $minutes % 10 | 0);
    }
}
function jt_DateFormatElement$ConstantText() {
    jt_DateFormatElement.call(this);
    this.$textConstant = null;
}
function jt_DateFormatElement$ConstantText__init_(var_0) {
    var var_1 = new jt_DateFormatElement$ConstantText();
    jt_DateFormatElement$ConstantText__init_0(var_1, var_0);
    return var_1;
}
function jt_DateFormatElement$ConstantText__init_0($this, $textConstant) {
    $this.$textConstant = $textConstant;
}
function jt_DateFormatElement$ConstantText_format($this, $date, $buffer) {
    jl_AbstractStringBuilder_append($buffer, $this.$textConstant);
}
function jt_DateFormatElement$ConstantText_equals($this, $o) {
    var $that;
    if ($this === $o)
        return 1;
    if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
        $that = $o;
        return ju_Objects_equals($this.$textConstant, $that.$textConstant);
    }
    return 0;
}
function jt_DateFormatElement$ConstantText_hashCode($this) {
    var var$1;
    var$1 = $rt_createArray(jl_Object, 1);
    var$1.data[0] = $this.$textConstant;
    return ju_Arrays_hashCode(var$1);
}
function jt_DateFormatElement$Year() {
    jt_DateFormatElement.call(this);
    this.$field = 0;
}
function jt_DateFormatElement$Year_format($this, $date, $buffer) {
    var $number;
    $number = ju_Calendar_get($date, $this.$field);
    if ($number < 10)
        jl_AbstractStringBuilder_append2($buffer, $number);
    else {
        jl_AbstractStringBuilder_append0($buffer, ((($number % 100 | 0) / 10 | 0) + 48 | 0) & 65535);
        jl_AbstractStringBuilder_append0($buffer, (($number % 10 | 0) + 48 | 0) & 65535);
    }
}
function jt_DateFormatElement$Year_equals($this, $o) {
    var $year;
    if ($this === $o)
        return 1;
    if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
        $year = $o;
        return $this.$field != $year.$field ? 0 : 1;
    }
    return 0;
}
function jt_DateFormatElement$Year_hashCode($this) {
    var var$1;
    var$1 = $rt_createArray(jl_Object, 1);
    var$1.data[0] = jl_Integer_valueOf($this.$field);
    return ju_Arrays_hashCode(var$1);
}
function jt_DateFormatElement$Iso8601Timezone() {
    jt_DateFormatElement.call(this);
    this.$size6 = 0;
}
function jt_DateFormatElement$Iso8601Timezone_format($this, $date, $buffer) {
    var $minutes, $hours, var$5;
    $minutes = ju_IANATimeZone_getOffset($date.$zone, ju_Calendar_getTimeInMillis($date)) / 60000 | 0;
    if (!$minutes) {
        jl_AbstractStringBuilder_append0($buffer, 90);
        return;
    }
    if ($minutes > 0)
        jl_AbstractStringBuilder_append0($buffer, 43);
    else {
        $minutes =  -$minutes;
        jl_AbstractStringBuilder_append0($buffer, 45);
    }
    $hours = $minutes / 60 | 0;
    var$5 = $minutes % 60 | 0;
    jl_AbstractStringBuilder_append2($buffer, $hours / 10 | 0);
    jl_AbstractStringBuilder_append2($buffer, $hours % 10 | 0);
    if ($this.$size6 >= 3)
        jl_AbstractStringBuilder_append0($buffer, 58);
    if ($this.$size6 > 1) {
        jl_AbstractStringBuilder_append2($buffer, var$5 / 10 | 0);
        jl_AbstractStringBuilder_append2($buffer, var$5 % 10 | 0);
    }
}
function jt_DateFormatElement$Iso8601Timezone_equals($this, $o) {
    var $that;
    if ($this === $o)
        return 1;
    if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
        $that = $o;
        return $this.$size6 != $that.$size6 ? 0 : 1;
    }
    return 0;
}
function jt_DateFormatElement$Iso8601Timezone_hashCode($this) {
    var var$1;
    var$1 = $rt_createArray(jl_Object, 1);
    var$1.data[0] = jl_Integer_valueOf($this.$size6);
    return ju_Arrays_hashCode(var$1);
}
function jt_DateFormatElement$MonthText() {
    var a = this; jt_DateFormatElement.call(a);
    a.$months0 = null;
    a.$shortMonths0 = null;
    a.$abbreviated0 = 0;
}
function jt_DateFormatElement$MonthText__init_(var_0, var_1) {
    var var_2 = new jt_DateFormatElement$MonthText();
    jt_DateFormatElement$MonthText__init_0(var_2, var_0, var_1);
    return var_2;
}
function jt_DateFormatElement$MonthText__init_0($this, $symbols, $abbreviated) {
    $this.$months0 = jt_DateFormatSymbols_getMonths($symbols);
    $this.$shortMonths0 = jt_DateFormatSymbols_getShortMonths($symbols);
    $this.$abbreviated0 = $abbreviated;
}
function jt_DateFormatElement$MonthText_format($this, $date, $buffer) {
    var $month;
    $month = ju_Calendar_get($date, 2);
    jl_AbstractStringBuilder_append($buffer, !$this.$abbreviated0 ? $this.$months0.data[$month] : $this.$shortMonths0.data[$month]);
}
function jt_DateFormatElement$MonthText_equals($this, $o) {
    var $monthText;
    if ($this === $o)
        return 1;
    if ($o !== null && jl_Object_getClass($this) === jl_Object_getClass($o)) {
        $monthText = $o;
        return $this.$abbreviated0 == $monthText.$abbreviated0 && ju_Arrays_equals($this.$months0, $monthText.$months0) && ju_Arrays_equals($this.$shortMonths0, $monthText.$shortMonths0) ? 1 : 0;
    }
    return 0;
}
function jt_DateFormatElement$MonthText_hashCode($this) {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_Object, 3);
    var$2 = var$1.data;
    var$2[0] = $this.$months0;
    var$2[1] = $this.$shortMonths0;
    var$2[2] = jl_Boolean_valueOf($this.$abbreviated0);
    return ju_Arrays_hashCode(var$1);
}
function jt_DateFormatElement$NumericMonth() {
    jt_DateFormatElement$Numeric.call(this);
}
function jt_DateFormatElement$NumericMonth__init_(var_0) {
    var var_1 = new jt_DateFormatElement$NumericMonth();
    jt_DateFormatElement$NumericMonth__init_0(var_1, var_0);
    return var_1;
}
function jt_DateFormatElement$NumericMonth__init_0($this, $length) {
    jt_DateFormatElement$Numeric__init_0($this, 2, $length);
}
function jt_DateFormatElement$NumericMonth_processBeforeFormat($this, $num) {
    return $num + 1 | 0;
}
function jnci_BufferedEncoder() {
    jnc_CharsetEncoder.call(this);
}
function jnci_BufferedEncoder_encodeLoop($this, $in, $out) {
    var $inArray, var$4, $inPos, $inSize, $outArray, var$8, $i, $outSize, var$11, $controller;
    $inArray = $rt_createCharArray(jl_Math_min(jn_Buffer_remaining($in), 512));
    var$4 = $inArray.data;
    $inPos = 0;
    $inSize = 0;
    $outArray = $rt_createByteArray(jl_Math_min(jn_Buffer_remaining($out), 512));
    var$8 = $outArray.data;
    a: {
        while (true) {
            if (($inPos + 32 | 0) > $inSize && jn_Buffer_hasRemaining($in)) {
                $i = $inPos;
                while ($i < $inSize) {
                    var$4[$i - $inPos | 0] = var$4[$i];
                    $i = $i + 1 | 0;
                }
                $outSize = $inSize - $inPos | 0;
                $inSize = jl_Math_min(jn_Buffer_remaining($in) + $outSize | 0, var$4.length);
                jn_CharBuffer_get0($in, $inArray, $outSize, $inSize - $outSize | 0);
                $inPos = 0;
            }
            if (!jn_Buffer_hasRemaining($out)) {
                var$11 = !jn_Buffer_hasRemaining($in) && $inPos >= $inSize ? jnc_CoderResult_UNDERFLOW : jnc_CoderResult_OVERFLOW;
                break a;
            }
            $outSize = jl_Math_min(jn_Buffer_remaining($out), var$8.length);
            $controller = new jnci_BufferedEncoder$Controller;
            $controller.$in0 = $in;
            $controller.$out1 = $out;
            var$11 = jnci_UTF8Encoder_arrayEncode($this, $inArray, $inPos, $inSize, $outArray, 0, $outSize, $controller);
            $inPos = $controller.$inPosition;
            if (var$11 === null && 0 == $controller.$outPosition)
                var$11 = jnc_CoderResult_UNDERFLOW;
            jn_ByteBuffer_put0($out, $outArray, 0, $controller.$outPosition);
            if (var$11 !== null)
                break;
        }
    }
    jn_Buffer_position0($in, $in.$position - ($inSize - $inPos | 0) | 0);
    return var$11;
}
function jnci_UTF8Encoder() {
    jnci_BufferedEncoder.call(this);
}
function jnci_UTF8Encoder_arrayEncode($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
    var $result, $low, var$10, $ch, var$12, $codePoint;
    $result = null;
    a: {
        while ($inPos < $inSize) {
            if ($outPos >= $outSize) {
                $low = $inPos;
                break a;
            }
            var$10 = $inArray.data;
            $low = $inPos + 1 | 0;
            $ch = var$10[$inPos];
            if ($ch < 128) {
                var$10 = $outArray.data;
                var$12 = $outPos + 1 | 0;
                var$10[$outPos] = $ch << 24 >> 24;
            } else if ($ch < 2048) {
                if (($outPos + 2 | 0) > $outSize) {
                    $low = $low + (-1) | 0;
                    if (jnci_BufferedEncoder$Controller_hasMoreOutput($controller, 2))
                        break a;
                    $result = jnc_CoderResult_OVERFLOW;
                    break a;
                }
                var$10 = $outArray.data;
                $inPos = $outPos + 1 | 0;
                var$10[$outPos] = (192 | $ch >> 6) << 24 >> 24;
                var$12 = $inPos + 1 | 0;
                var$10[$inPos] = (128 | $ch & 63) << 24 >> 24;
            } else if (!jl_Character_isSurrogate($ch)) {
                if (($outPos + 3 | 0) > $outSize) {
                    $low = $low + (-1) | 0;
                    if (jnci_BufferedEncoder$Controller_hasMoreOutput($controller, 3))
                        break a;
                    $result = jnc_CoderResult_OVERFLOW;
                    break a;
                }
                var$10 = $outArray.data;
                $codePoint = $outPos + 1 | 0;
                var$10[$outPos] = (224 | $ch >> 12) << 24 >> 24;
                $inPos = $codePoint + 1 | 0;
                var$10[$codePoint] = (128 | $ch >> 6 & 63) << 24 >> 24;
                var$12 = $inPos + 1 | 0;
                var$10[$inPos] = (128 | $ch & 63) << 24 >> 24;
            } else {
                if (!jl_Character_isHighSurrogate($ch)) {
                    $result = jnc_CoderResult_malformedForLength(1);
                    break a;
                }
                if ($low >= $inSize) {
                    if (jnci_BufferedEncoder$Controller_hasMoreInput($controller))
                        break a;
                    $result = jnc_CoderResult_UNDERFLOW;
                    break a;
                }
                $inPos = $low + 1 | 0;
                $low = var$10[$low];
                if (!jl_Character_isLowSurrogate($low)) {
                    $low = $inPos + (-2) | 0;
                    $result = jnc_CoderResult_malformedForLength(1);
                    break a;
                }
                if (($outPos + 4 | 0) > $outSize) {
                    $low = $inPos + (-2) | 0;
                    if (jnci_BufferedEncoder$Controller_hasMoreOutput($controller, 4))
                        break a;
                    $result = jnc_CoderResult_OVERFLOW;
                    break a;
                }
                var$10 = $outArray.data;
                $codePoint = jl_Character_toCodePoint($ch, $low);
                $low = $outPos + 1 | 0;
                var$10[$outPos] = (240 | $codePoint >> 18) << 24 >> 24;
                $outPos = $low + 1 | 0;
                var$10[$low] = (128 | $codePoint >> 12 & 63) << 24 >> 24;
                $low = $outPos + 1 | 0;
                var$10[$outPos] = (128 | $codePoint >> 6 & 63) << 24 >> 24;
                var$12 = $low + 1 | 0;
                var$10[$low] = (128 | $codePoint & 63) << 24 >> 24;
                $low = $inPos;
            }
            $inPos = $low;
            $outPos = var$12;
        }
        $low = $inPos;
    }
    $controller.$inPosition = $low;
    $controller.$outPosition = $outPos;
    return $result;
}
function ju_Collections() {
    jl_Object.call(this);
}
var ju_Collections_EMPTY_SET = null;
var ju_Collections_EMPTY_MAP = null;
var ju_Collections_EMPTY_LIST = null;
var ju_Collections_naturalOrder = null;
var ju_Collections_reverseOrder = null;
function ju_Collections__init_0() {
    var var_0 = new ju_Collections();
    ju_Collections__init_(var_0);
    return var_0;
}
function ju_Collections__init_($this) {
    return;
}
function ju_Collections_emptyList() {
    return new ju_Collections$3;
}
function ju_Collections_unmodifiableList($list) {
    var var$2;
    var$2 = new ju_Collections$10;
    var$2.$val$list = $list;
    return var$2;
}
function ju_Collections_sort($list, $c) {
    var $array, $i, var$5;
    if ($c === null)
        $c = ju_Collections_naturalOrder;
    $array = $rt_createArray(jl_Object, $list.$size);
    ju_AbstractCollection_toArray($list, $array);
    ju_Arrays_sort0($array, $c);
    $i = 0;
    while (true) {
        var$5 = $array.data;
        if ($i >= var$5.length)
            break;
        ju_ArrayList_set($list, $i, var$5[$i]);
        $i = $i + 1 | 0;
    }
}
function ju_Collections_shuffle($list) {
    var var$2, var$3;
    var$2 = new ju_Random;
    if ($rt_isInstance($list, ju_RandomAccess))
        ju_Collections_shuffleRandomAccess($list, var$2);
    else {
        var$3 = ju_ArrayList__init_3($list);
        ju_Collections_shuffleRandomAccess(var$3, var$2);
        ju_ArrayList_clear($list);
        ju_AbstractCollection_addAll($list, var$3);
    }
}
function ju_Collections_shuffleRandomAccess($list, $rnd) {
    var $i, $j, var$5;
    $i = $list.$size - 1 | 0;
    while ($i > 0) {
        $j = ju_Random_nextInt($rnd, $i + 1 | 0);
        var$5 = ju_ArrayList_get($list, $i);
        ju_ArrayList_set($list, $i, ju_ArrayList_get($list, $j));
        ju_ArrayList_set($list, $j, var$5);
        $i = $i + (-1) | 0;
    }
}
function ju_Collections__clinit_() {
    ju_Collections_EMPTY_SET = new ju_Collections$5;
    ju_Collections_EMPTY_MAP = new ju_Collections$6;
    ju_Collections_EMPTY_LIST = ju_Collections_emptyList();
    ju_Collections_naturalOrder = new ju_Collections$_clinit_$lambda$_61_0;
    ju_Collections_reverseOrder = new ju_Collections$_clinit_$lambda$_61_1;
}
function jt_FieldPosition() {
    var a = this; jl_Object.call(a);
    a.$myField = 0;
    a.$beginIndex = 0;
    a.$endIndex = 0;
    a.$myAttribute = null;
}
function jt_FieldPosition__init_(var_0) {
    var var_1 = new jt_FieldPosition();
    jt_FieldPosition__init_0(var_1, var_0);
    return var_1;
}
function jt_FieldPosition__init_0($this, $field) {
    $this.$myField = $field;
}
function jt_FieldPosition_getEndIndex($this) {
    return $this.$endIndex;
}
function jt_FieldPosition_getFieldAttribute($this) {
    return $this.$myAttribute;
}
function jt_FieldPosition_setBeginIndex($this, $index) {
    $this.$beginIndex = $index;
}
function jt_FieldPosition_setEndIndex($this, $index) {
    $this.$endIndex = $index;
}
function jl_AssertionError() {
    jl_Error.call(this);
}
function jl_AssertionError__init_1() {
    var var_0 = new jl_AssertionError();
    jl_AssertionError__init_(var_0);
    return var_0;
}
function jl_AssertionError__init_0(var_0, var_1) {
    var var_2 = new jl_AssertionError();
    jl_AssertionError__init_2(var_2, var_0, var_1);
    return var_2;
}
function jl_AssertionError__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_AssertionError__init_2($this, $message, $cause) {
    jl_Throwable__init_4($this, $message, $cause);
}
function jt_DecimalFormatParser() {
    var a = this; jl_Object.call(a);
    a.$positivePrefix0 = null;
    a.$positiveSuffix0 = null;
    a.$negativePrefix0 = null;
    a.$negativeSuffix0 = null;
    a.$groupSize = 0;
    a.$minimumIntLength = 0;
    a.$intLength = 0;
    a.$minimumFracLength = 0;
    a.$fracLength = 0;
    a.$exponentLength = 0;
    a.$decimalSeparatorRequired = 0;
    a.$string3 = null;
    a.$index6 = 0;
    a.$multiplier0 = 0;
}
function jt_DecimalFormatParser__init_0() {
    var var_0 = new jt_DecimalFormatParser();
    jt_DecimalFormatParser__init_(var_0);
    return var_0;
}
function jt_DecimalFormatParser__init_($this) {
    return;
}
function jt_DecimalFormatParser_parse($this, $string) {
    var var$2, var$3, var$4;
    $this.$groupSize = 0;
    $this.$minimumFracLength = 0;
    $this.$fracLength = 0;
    $this.$exponentLength = 0;
    $this.$decimalSeparatorRequired = 0;
    $this.$multiplier0 = 1;
    $this.$string3 = $string;
    $this.$index6 = 0;
    $this.$positivePrefix0 = jt_DecimalFormatParser_parseText($this, 0, 0);
    if ($this.$index6 == jl_String_length($string)) {
        var$2 = new jl_IllegalArgumentException;
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $rt_s(1518));
        jl_AbstractStringBuilder_append(var$3, $string);
        jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
        $rt_throw(var$2);
    }
    jt_DecimalFormatParser_parseNumber($this, 1);
    $this.$negativePrefix0 = null;
    $this.$negativeSuffix0 = null;
    if ($this.$index6 < jl_String_length($string) && jl_String_charAt($string, $this.$index6) != 59)
        $this.$positiveSuffix0 = jt_DecimalFormatParser_parseText($this, 1, 0);
    if ($this.$index6 < jl_String_length($string)) {
        var$4 = $this.$index6;
        $this.$index6 = var$4 + 1 | 0;
        if (jl_String_charAt($string, var$4) != 59) {
            var$2 = new jl_IllegalArgumentException;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            jl_AbstractStringBuilder_append(var$3, $rt_s(1519));
            jl_AbstractStringBuilder_append2(var$3, $this.$index6);
            jl_AbstractStringBuilder_append(var$3, $rt_s(1520));
            jl_AbstractStringBuilder_append(var$3, $string);
            jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
            $rt_throw(var$2);
        }
        $this.$negativePrefix0 = jt_DecimalFormatParser_parseText($this, 0, 1);
        jt_DecimalFormatParser_parseNumber($this, 0);
        $this.$negativeSuffix0 = jt_DecimalFormatParser_parseText($this, 1, 1);
    }
}
function jt_DecimalFormatParser_apply($this, $format) {
    $format.$positivePrefix = $this.$positivePrefix0;
    $format.$positiveSuffix = $this.$positiveSuffix0;
    if ($this.$negativePrefix0 !== null)
        $format.$negativePrefix = $this.$negativePrefix0;
    else {
        $format.$negativePrefix = $rt_createArray(jt_DecimalFormat$FormatField, $this.$positivePrefix0.data.length + 1 | 0);
        jl_System_arraycopy($this.$positivePrefix0, 0, $format.$negativePrefix, 1, $this.$positivePrefix0.data.length);
        $format.$negativePrefix.data[0] = new jt_DecimalFormat$MinusField;
    }
    $format.$negativeSuffix = $this.$negativeSuffix0 === null ? $this.$positiveSuffix0 : $this.$negativeSuffix0;
    $format.$groupingSize = $this.$groupSize;
    $format.$groupingUsed = $this.$groupSize <= 0 ? 0 : 1;
    jt_NumberFormat_setMinimumIntegerDigits($format, !$this.$decimalSeparatorRequired ? $this.$minimumIntLength : jl_Math_max(1, $this.$minimumIntLength));
    jt_NumberFormat_setMaximumIntegerDigits($format, $this.$intLength);
    jt_NumberFormat_setMinimumFractionDigits($format, $this.$minimumFracLength);
    jt_NumberFormat_setMaximumFractionDigits($format, $this.$fracLength);
    $format.$decimalSeparatorAlwaysShown = $this.$decimalSeparatorRequired;
    $format.$exponentDigits = $this.$exponentLength;
    $format.$multiplier = $this.$multiplier0;
}
function jt_DecimalFormatParser_parseText($this, $suffix, $end) {
    var $fields, $sb, $c, var$6, $next;
    $fields = ju_ArrayList__init_0();
    $sb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($sb);
    a: {
        b: {
            c: while (true) {
                if ($this.$index6 >= jl_String_length($this.$string3))
                    break a;
                d: {
                    $c = jl_String_charAt($this.$string3, $this.$index6);
                    switch ($c) {
                        case 35:
                        case 48:
                            if (!$suffix)
                                break a;
                            var$6 = new jl_IllegalArgumentException;
                            $fields = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($fields);
                            jl_AbstractStringBuilder_append($fields, $rt_s(1521));
                            jl_AbstractStringBuilder_append2($fields, $this.$index6);
                            jl_AbstractStringBuilder_append($fields, $rt_s(1520));
                            jl_AbstractStringBuilder_append($fields, $this.$string3);
                            jl_Throwable__init_(var$6, jl_AbstractStringBuilder_toString($fields));
                            $rt_throw(var$6);
                        case 37:
                            if ($sb.$length0 > 0) {
                                ju_ArrayList_add($fields, jt_DecimalFormat$TextField__init_(jl_AbstractStringBuilder_toString($sb)));
                                $sb.$length0 = 0;
                            }
                            ju_ArrayList_add($fields, new jt_DecimalFormat$PercentField);
                            $this.$index6 = $this.$index6 + 1 | 0;
                            $this.$multiplier0 = 100;
                            break d;
                        case 39:
                            $this.$index6 = $this.$index6 + 1 | 0;
                            $next = jl_String_indexOf($this.$string3, 39, $this.$index6);
                            if ($next < 0) {
                                var$6 = new jl_IllegalArgumentException;
                                $fields = new jl_StringBuilder;
                                jl_AbstractStringBuilder__init_($fields);
                                jl_AbstractStringBuilder_append($fields, $rt_s(1522));
                                jl_AbstractStringBuilder_append2($fields, $this.$index6);
                                jl_AbstractStringBuilder_append($fields, $rt_s(1523));
                                jl_AbstractStringBuilder_append($fields, $this.$string3);
                                jl_Throwable__init_(var$6, jl_AbstractStringBuilder_toString($fields));
                                $rt_throw(var$6);
                            }
                            if ($next == $this.$index6)
                                jl_AbstractStringBuilder_append0($sb, 39);
                            else
                                jl_AbstractStringBuilder_append($sb, jl_String_substring0($this.$string3, $this.$index6, $next));
                            $this.$index6 = $next + 1 | 0;
                            break d;
                        case 45:
                            if ($sb.$length0 > 0) {
                                ju_ArrayList_add($fields, jt_DecimalFormat$TextField__init_(jl_AbstractStringBuilder_toString($sb)));
                                $sb.$length0 = 0;
                            }
                            ju_ArrayList_add($fields, new jt_DecimalFormat$MinusField);
                            $this.$index6 = $this.$index6 + 1 | 0;
                            break d;
                        case 46:
                        case 69:
                            break c;
                        case 59:
                            break b;
                        case 164:
                            if ($sb.$length0 > 0) {
                                ju_ArrayList_add($fields, jt_DecimalFormat$TextField__init_(jl_AbstractStringBuilder_toString($sb)));
                                $sb.$length0 = 0;
                            }
                            ju_ArrayList_add($fields, new jt_DecimalFormat$CurrencyField);
                            $this.$index6 = $this.$index6 + 1 | 0;
                            break d;
                        case 8240:
                            if ($sb.$length0 > 0) {
                                ju_ArrayList_add($fields, jt_DecimalFormat$TextField__init_(jl_AbstractStringBuilder_toString($sb)));
                                $sb.$length0 = 0;
                            }
                            ju_ArrayList_add($fields, new jt_DecimalFormat$PerMillField);
                            $this.$index6 = $this.$index6 + 1 | 0;
                            $this.$multiplier0 = 1000;
                            break d;
                        default:
                    }
                    jl_AbstractStringBuilder_append0($sb, $c);
                    $this.$index6 = $this.$index6 + 1 | 0;
                }
            }
            var$6 = new jl_IllegalArgumentException;
            $fields = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($fields);
            jl_AbstractStringBuilder_append($fields, $rt_s(1521));
            jl_AbstractStringBuilder_append2($fields, $this.$index6);
            jl_AbstractStringBuilder_append($fields, $rt_s(1520));
            jl_AbstractStringBuilder_append($fields, $this.$string3);
            jl_Throwable__init_(var$6, jl_AbstractStringBuilder_toString($fields));
            $rt_throw(var$6);
        }
        if ($end) {
            var$6 = new jl_IllegalArgumentException;
            $fields = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($fields);
            jl_AbstractStringBuilder_append($fields, $rt_s(1521));
            jl_AbstractStringBuilder_append2($fields, $this.$index6);
            jl_AbstractStringBuilder_append($fields, $rt_s(1520));
            jl_AbstractStringBuilder_append($fields, $this.$string3);
            jl_Throwable__init_(var$6, jl_AbstractStringBuilder_toString($fields));
            $rt_throw(var$6);
        }
    }
    if ($sb.$length0 > 0)
        ju_ArrayList_add($fields, jt_DecimalFormat$TextField__init_(jl_AbstractStringBuilder_toString($sb)));
    return ju_AbstractCollection_toArray($fields, $rt_createArray(jt_DecimalFormat$FormatField, $fields.$size));
}
function jt_DecimalFormatParser_parseNumber($this, $apply) {
    var var$2, var$3, var$4, var$5, var$6;
    jt_DecimalFormatParser_parseIntegerPart($this, $apply);
    if ($this.$index6 < jl_String_length($this.$string3) && jl_String_charAt($this.$string3, $this.$index6) == 46) {
        $this.$index6 = $this.$index6 + 1 | 0;
        var$2 = 0;
        var$3 = 0;
        var$4 = 0;
        a: {
            b: while (true) {
                if ($this.$index6 >= jl_String_length($this.$string3))
                    break a;
                c: {
                    switch (jl_String_charAt($this.$string3, $this.$index6)) {
                        case 35:
                            break;
                        case 44:
                            var$5 = new jl_IllegalArgumentException;
                            var$6 = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_(var$6);
                            jl_AbstractStringBuilder_append(var$6, $rt_s(1524));
                            jl_AbstractStringBuilder_append2(var$6, $this.$index6);
                            jl_AbstractStringBuilder_append(var$6, $rt_s(1520));
                            jl_AbstractStringBuilder_append(var$6, $this.$string3);
                            jl_Throwable__init_(var$5, jl_AbstractStringBuilder_toString(var$6));
                            $rt_throw(var$5);
                        case 46:
                            var$6 = new jl_IllegalArgumentException;
                            var$5 = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_(var$5);
                            jl_AbstractStringBuilder_append(var$5, $rt_s(1525));
                            jl_AbstractStringBuilder_append2(var$5, $this.$index6);
                            jl_AbstractStringBuilder_append(var$5, $rt_s(1520));
                            jl_AbstractStringBuilder_append(var$5, $this.$string3);
                            jl_Throwable__init_(var$6, jl_AbstractStringBuilder_toString(var$5));
                            $rt_throw(var$6);
                        case 48:
                            if (var$2)
                                break b;
                            var$3 = var$3 + 1 | 0;
                            var$4 = var$4 + 1 | 0;
                            break c;
                        default:
                            break a;
                    }
                    var$3 = var$3 + 1 | 0;
                    var$2 = 1;
                }
                $this.$index6 = $this.$index6 + 1 | 0;
            }
            var$6 = new jl_IllegalArgumentException;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append(var$5, $rt_s(1526));
            jl_AbstractStringBuilder_append2(var$5, $this.$index6);
            jl_AbstractStringBuilder_append(var$5, $rt_s(1520));
            jl_AbstractStringBuilder_append(var$5, $this.$string3);
            jl_Throwable__init_(var$6, jl_AbstractStringBuilder_toString(var$5));
            $rt_throw(var$6);
        }
        if ($apply) {
            $this.$fracLength = var$3;
            $this.$minimumFracLength = var$4;
            $this.$decimalSeparatorRequired = var$3 ? 0 : 1;
        }
    }
    if ($this.$index6 < jl_String_length($this.$string3) && jl_String_charAt($this.$string3, $this.$index6) == 69) {
        $this.$index6 = $this.$index6 + 1 | 0;
        var$2 = 0;
        d: {
            e: while (true) {
                if ($this.$index6 >= jl_String_length($this.$string3))
                    break d;
                switch (jl_String_charAt($this.$string3, $this.$index6)) {
                    case 35:
                    case 44:
                    case 46:
                    case 69:
                        break e;
                    case 48:
                        break;
                    default:
                        break d;
                }
                var$2 = var$2 + 1 | 0;
                $this.$index6 = $this.$index6 + 1 | 0;
            }
            var$6 = new jl_IllegalArgumentException;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append(var$5, $rt_s(1527));
            jl_AbstractStringBuilder_append2(var$5, $this.$index6);
            jl_AbstractStringBuilder_append(var$5, $rt_s(1520));
            jl_AbstractStringBuilder_append(var$5, $this.$string3);
            jl_Throwable__init_(var$6, jl_AbstractStringBuilder_toString(var$5));
            $rt_throw(var$6);
        }
        if (!var$2) {
            var$5 = new jl_IllegalArgumentException;
            var$6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$6);
            jl_AbstractStringBuilder_append(var$6, $rt_s(1528));
            jl_AbstractStringBuilder_append2(var$6, $this.$index6);
            jl_AbstractStringBuilder_append(var$6, $rt_s(1520));
            jl_AbstractStringBuilder_append(var$6, $this.$string3);
            jl_Throwable__init_(var$5, jl_AbstractStringBuilder_toString(var$6));
            $rt_throw(var$5);
        }
        if ($apply)
            $this.$exponentLength = var$2;
    }
}
function jt_DecimalFormatParser_parseIntegerPart($this, $apply) {
    var $start, $lastGroup, $optionalDigits, $length, $minimumLength, var$7, var$8;
    $start = $this.$index6;
    $lastGroup = $this.$index6;
    $optionalDigits = 1;
    $length = 0;
    $minimumLength = 0;
    a: {
        b: while (true) {
            if ($this.$index6 >= jl_String_length($this.$string3))
                break a;
            c: {
                d: {
                    switch (jl_String_charAt($this.$string3, $this.$index6)) {
                        case 35:
                            if (!$optionalDigits)
                                break b;
                            $length = $length + 1 | 0;
                            break c;
                        case 44:
                            break d;
                        case 48:
                            break;
                        default:
                            break a;
                    }
                    $optionalDigits = 0;
                    $length = $length + 1 | 0;
                    $minimumLength = $minimumLength + 1 | 0;
                    break c;
                }
                if ($lastGroup == $this.$index6) {
                    var$7 = new jl_IllegalArgumentException;
                    var$8 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$8);
                    jl_AbstractStringBuilder_append(var$8, $rt_s(1529));
                    jl_AbstractStringBuilder_append2(var$8, $this.$index6);
                    jl_AbstractStringBuilder_append(var$8, $rt_s(1520));
                    jl_AbstractStringBuilder_append(var$8, $this.$string3);
                    jl_Throwable__init_(var$7, jl_AbstractStringBuilder_toString(var$8));
                    $rt_throw(var$7);
                }
                if ($apply)
                    $this.$groupSize = $this.$index6 - $lastGroup | 0;
                $lastGroup = $this.$index6 + 1 | 0;
            }
            $this.$index6 = $this.$index6 + 1 | 0;
        }
        var$7 = new jl_IllegalArgumentException;
        var$8 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$8);
        jl_AbstractStringBuilder_append(var$8, $rt_s(1530));
        jl_AbstractStringBuilder_append2(var$8, $this.$index6);
        jl_AbstractStringBuilder_append(var$8, $rt_s(1520));
        jl_AbstractStringBuilder_append(var$8, $this.$string3);
        jl_Throwable__init_(var$7, jl_AbstractStringBuilder_toString(var$8));
        $rt_throw(var$7);
    }
    if (!$length) {
        var$7 = new jl_IllegalArgumentException;
        var$8 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$8);
        jl_AbstractStringBuilder_append(var$8, $rt_s(1531));
        jl_AbstractStringBuilder_append2(var$8, $this.$index6);
        jl_AbstractStringBuilder_append(var$8, $rt_s(1520));
        jl_AbstractStringBuilder_append(var$8, $this.$string3);
        jl_Throwable__init_(var$7, jl_AbstractStringBuilder_toString(var$8));
        $rt_throw(var$7);
    }
    if ($lastGroup == $this.$index6) {
        var$7 = new jl_IllegalArgumentException;
        var$8 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$8);
        jl_AbstractStringBuilder_append(var$8, $rt_s(1532));
        jl_AbstractStringBuilder_append2(var$8, $this.$index6);
        jl_AbstractStringBuilder_append(var$8, $rt_s(1520));
        jl_AbstractStringBuilder_append(var$8, $this.$string3);
        jl_Throwable__init_(var$7, jl_AbstractStringBuilder_toString(var$8));
        $rt_throw(var$7);
    }
    if ($apply && $lastGroup > $start)
        $this.$groupSize = $this.$index6 - $lastGroup | 0;
    if ($apply) {
        $this.$intLength = $length;
        $this.$minimumIntLength = $minimumLength;
    }
}
function ju_ConcurrentModificationException() {
    jl_RuntimeException.call(this);
}
function ju_ConcurrentModificationException__init_0() {
    var var_0 = new ju_ConcurrentModificationException();
    ju_ConcurrentModificationException__init_(var_0);
    return var_0;
}
function ju_ConcurrentModificationException__init_($this) {
    jl_Throwable__init_0($this);
}
function nleg_EaglerAdapterGL30$DisplayList() {
    var a = this; jl_Object.call(a);
    a.$id0 = 0;
    a.$glarray = null;
    a.$glbuffer = null;
    a.$shaderMode = 0;
    a.$listLength = 0;
}
function jl_Object$Monitor() {
    var a = this; jl_Object.call(a);
    a.$enteringThreads = null;
    a.$notifyListeners = null;
    a.$owner = null;
    a.$count = 0;
}
function jl_Object$Monitor__init_() {
    var var_0 = new jl_Object$Monitor();
    jl_Object$Monitor__init_0(var_0);
    return var_0;
}
function jl_Object$Monitor__init_0($this) {
    $this.$owner = jl_Thread_currentThread0;
}
function jl_IllegalMonitorStateException() {
    jl_RuntimeException.call(this);
}
function jl_IllegalMonitorStateException__init_0() {
    var var_0 = new jl_IllegalMonitorStateException();
    jl_IllegalMonitorStateException__init_(var_0);
    return var_0;
}
function jl_IllegalMonitorStateException__init_($this) {
    jl_Throwable__init_0($this);
}
function nms_IntHashMap() {
    var a = this; jl_Object.call(a);
    a.$slots = null;
    a.$count3 = 0;
    a.$threshold0 = 0;
    a.$growFactor = 0.75;
    a.$versionStamp = 0;
    a.$keySet0 = null;
}
function nms_IntHashMap__init_0() {
    var var_0 = new nms_IntHashMap();
    nms_IntHashMap__init_(var_0);
    return var_0;
}
function nms_IntHashMap__init_($this) {
    $this.$slots = $rt_createArray(nms_IntHashMapEntry, 16);
    $this.$threshold0 = 12;
    $this.$growFactor = 0.75;
    $this.$keySet0 = ju_HashSet__init_0();
}
function nms_IntHashMap_computeHash($par0) {
    $par0 = $par0 ^ $par0 >>> 20 ^ $par0 >>> 12;
    return $par0 ^ $par0 >>> 7 ^ $par0 >>> 4;
}
function nms_IntHashMap_getSlotIndex($par0, $par1) {
    return $par0 & ($par1 - 1 | 0);
}
function nms_IntHashMap_lookup($this, $par1) {
    var $var2, $var3;
    $var2 = nms_IntHashMap_computeHash($par1);
    $var3 = $this.$slots.data[nms_IntHashMap_getSlotIndex($var2, $this.$slots.data.length)];
    while ($var3 !== null) {
        if ($var3.$hashEntry == $par1)
            return $var3.$valueEntry;
        $var3 = $var3.$nextEntry;
    }
    return null;
}
function nms_IntHashMap_containsItem($this, $par1) {
    return nms_IntHashMap_lookupEntry($this, $par1) === null ? 0 : 1;
}
function nms_IntHashMap_lookupEntry($this, $par1) {
    var $var2, $var3;
    $var2 = nms_IntHashMap_computeHash($par1);
    $var3 = $this.$slots.data[nms_IntHashMap_getSlotIndex($var2, $this.$slots.data.length)];
    while (true) {
        if ($var3 === null)
            return null;
        if ($var3.$hashEntry == $par1)
            break;
        $var3 = $var3.$nextEntry;
    }
    return $var3;
}
function nms_IntHashMap_addKey($this, $par1, $par2Obj) {
    var $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12;
    ju_HashSet_add($this.$keySet0, jl_Integer_valueOf($par1));
    $var3 = nms_IntHashMap_computeHash($par1);
    $var4 = nms_IntHashMap_getSlotIndex($var3, $this.$slots.data.length);
    $var5 = $this.$slots.data[$var4];
    while (true) {
        if ($var5 === null) {
            $this.$versionStamp = $this.$versionStamp + 1 | 0;
            var$6 = $this.$slots.data[$var4];
            var$7 = $this.$slots.data;
            $var5 = new nms_IntHashMapEntry;
            $var5.$valueEntry = $par2Obj;
            $var5.$nextEntry = var$6;
            $var5.$hashEntry = $par1;
            $var5.$slotHash = $var3;
            var$7[$var4] = $var5;
            $par1 = $this.$count3;
            $this.$count3 = $par1 + 1 | 0;
            if ($par1 >= $this.$threshold0) {
                $par1 = 2 * $this.$slots.data.length | 0;
                if ($this.$slots.data.length == 1073741824)
                    $this.$threshold0 = 2147483647;
                else {
                    var$7 = $rt_createArray(nms_IntHashMapEntry, $par1);
                    var$8 = var$7.data;
                    var$9 = $this.$slots;
                    var$10 = var$8.length;
                    $var3 = 0;
                    while (true) {
                        var$11 = var$9.data;
                        if ($var3 >= var$11.length)
                            break;
                        a: {
                            $var5 = var$11[$var3];
                            if ($var5 !== null) {
                                var$11[$var3] = null;
                                while (true) {
                                    $par2Obj = $var5.$nextEntry;
                                    $var4 = nms_IntHashMap_getSlotIndex($var5.$slotHash, var$10);
                                    $var5.$nextEntry = var$8[$var4];
                                    var$8[$var4] = $var5;
                                    if ($par2Obj === null)
                                        break a;
                                    $var5 = $par2Obj;
                                }
                            }
                        }
                        $var3 = $var3 + 1 | 0;
                    }
                    $this.$slots = var$7;
                    var$12 = $par1;
                    jl_Object_getClass($this);
                    $this.$threshold0 = var$12 * 0.75 | 0;
                }
            }
            return;
        }
        if ($var5.$hashEntry == $par1)
            break;
        $var5 = $var5.$nextEntry;
    }
    $var5.$valueEntry = $par2Obj;
}
function nms_IntHashMap_removeObject($this, $par1) {
    var $var2;
    ju_HashSet_remove($this.$keySet0, jl_Integer_valueOf($par1));
    $var2 = nms_IntHashMap_removeEntry($this, $par1);
    return $var2 !== null ? $var2.$valueEntry : null;
}
function nms_IntHashMap_removeEntry($this, $par1) {
    var $var3, $var5, var$4, $var5_0;
    $var3 = nms_IntHashMap_getSlotIndex(nms_IntHashMap_computeHash($par1), $this.$slots.data.length);
    $var5 = $this.$slots.data[$var3];
    var$4 = $var5;
    while ($var5 !== null) {
        $var5_0 = $var5.$nextEntry;
        if ($var5.$hashEntry == $par1) {
            $this.$versionStamp = $this.$versionStamp + 1 | 0;
            $this.$count3 = $this.$count3 - 1 | 0;
            if (var$4 !== $var5)
                var$4.$nextEntry = $var5_0;
            else
                $this.$slots.data[$var3] = $var5_0;
            return $var5;
        }
        var$4 = $var5;
        $var5 = $var5_0;
    }
    return $var5;
}
function nms_IntHashMap_clearMap($this) {
    var $var1, $var2, var$3;
    $this.$versionStamp = $this.$versionStamp + 1 | 0;
    $var1 = $this.$slots;
    $var2 = 0;
    while (true) {
        var$3 = $var1.data;
        if ($var2 >= var$3.length)
            break;
        var$3[$var2] = null;
        $var2 = $var2 + 1 | 0;
    }
    $this.$count3 = 0;
}
function nms_IntHashMap_getKeySet($this) {
    return $this.$keySet0;
}
function nms_IconRegister() {
}
function nle_TextureTerrainMap() {
    var a = this; jl_Object.call(a);
    a.$basePath0 = null;
    a.$width2 = 0;
    a.$height2 = 0;
    a.$missingImage0 = null;
    a.$iconList = null;
    a.$texture = 0;
    a.$missingData = null;
    a.$nextSlot = 0;
}
var nle_TextureTerrainMap_uploadBuffer = null;
function nle_TextureTerrainMap_$callClinit() {
    nle_TextureTerrainMap_$callClinit = $rt_eraseClinit(nle_TextureTerrainMap);
    nle_TextureTerrainMap__clinit_();
}
function nle_TextureTerrainMap__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nle_TextureTerrainMap();
    nle_TextureTerrainMap__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nle_TextureTerrainMap__init_0($this, $size, $par2, $par3Str, $par4BufferedImage) {
    var var$5, $levelW, $levelH, $blank, $i, $i_0, var$11;
    nle_TextureTerrainMap_$callClinit();
    $this.$nextSlot = 0;
    $this.$width2 = $size;
    $this.$height2 = $size;
    $this.$basePath0 = $par3Str;
    $par2 = new nle_TextureTerrainMap$TerrainIcon;
    var$5 = $this.$nextSlot;
    $this.$nextSlot = var$5 + 1 | 0;
    nle_TextureTerrainMap$TerrainIcon__init_($par2, var$5, $this, null, null);
    $this.$missingImage0 = $par2;
    $this.$iconList = ju_ArrayList__init_0();
    $this.$texture = nleg_EaglerAdapterGL30_glGenTextures();
    nleg_EaglerAdapterGL30_glBindTexture(3553, $this.$texture);
    $levelW = $this.$width2;
    $levelH = $this.$height2;
    $blank = nms_GLAllocation_createDirectIntBuffer($rt_imul($levelW, $levelH));
    $i = 0;
    while ($i < $blank.$limit) {
        jn_IntBufferImpl_put0($blank, $i, (($i / $this.$width2 | 0) + ($i % $this.$width2 | 0) | 0) % 2 | 0 ? (-16777216) : (-65281));
        $i = $i + 1 | 0;
    }
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9986);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10242, 33071);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 10243, 33071);
    nleg_EaglerAdapterGL30_glTexParameteri(3553, 33085, 4);
    nleg_EaglerAdapterGL30_glTexParameterf(3553, (-103), 1.0);
    $i_0 = 0;
    while ($i_0 < 5) {
        jn_IntBuffer_limit0(jn_IntBuffer_clear($blank), $rt_imul($levelW, $levelH));
        nleg_EaglerAdapterGL30_glTexImage2D(3553, $i_0, 6408, $levelW, $levelH, 0, 6408, 5121, $blank);
        $levelW = $levelW / 2 | 0;
        $levelH = $levelH / 2 | 0;
        $i_0 = $i_0 + 1 | 0;
    }
    $par2 = $this.$missingImage0;
    var$11 = nle_TextureTerrainMap_generateMip($par4BufferedImage);
    $this.$missingData = var$11;
    nle_TextureTerrainMap_replaceTexture($this, $par2, var$11);
}
function nle_TextureTerrainMap_generateMip($src16x16) {
    var $ret, var$3, var$4;
    nle_TextureTerrainMap_$callClinit();
    $ret = $rt_createArray(nle_EaglerImage, 5);
    var$3 = $ret.data;
    var$3[0] = nle_TextureTerrainMap_populateAlpha($src16x16);
    var$3[1] = nle_TextureTerrainMap_generateLevel(var$3[0]);
    var$3[0] = nle_TextureTerrainMap_create3x3(var$3[0]);
    var$3[2] = nle_TextureTerrainMap_generateLevel(var$3[1]);
    var$3[1] = nle_TextureTerrainMap_create3x3(var$3[1]);
    var$3[3] = nle_TextureTerrainMap_generateLevel(var$3[2]);
    var$3[2] = nle_TextureTerrainMap_create3x3(var$3[2]);
    $src16x16 = nle_TextureTerrainMap_generateLevel(var$3[3]);
    var$4 = nle_EaglerImage__init_0(3, 3, 1);
    var$4.$data.data[0] = $src16x16.$data.data[0];
    var$4.$data.data[1] = $src16x16.$data.data[0];
    var$4.$data.data[2] = $src16x16.$data.data[0];
    var$4.$data.data[3] = $src16x16.$data.data[0];
    var$4.$data.data[4] = $src16x16.$data.data[0];
    var$4.$data.data[5] = $src16x16.$data.data[0];
    var$4.$data.data[6] = $src16x16.$data.data[0];
    var$4.$data.data[7] = $src16x16.$data.data[0];
    var$4.$data.data[8] = $src16x16.$data.data[0];
    var$3[4] = var$4;
    var$3[3] = nle_TextureTerrainMap_create3x3(var$3[3]);
    return $ret;
}
function nle_TextureTerrainMap_generateLevel($src) {
    var $e, $y, $x, $x2, $y2, $a, $b, var$9, $c, $d, $ca, $cr, $cg, $cb;
    nle_TextureTerrainMap_$callClinit();
    $e = nle_EaglerImage__init_0($src.$w0 / 2 | 0, $src.$h0 / 2 | 0, 1);
    $y = 0;
    while ($y < $e.$h0) {
        $x = 0;
        while ($x < $e.$w0) {
            $x2 = $x * 2 | 0;
            $y2 = $y * 2 | 0;
            $a = $src.$data.data[$rt_imul($y2, $src.$w0) + $x2 | 0];
            $b = $src.$data.data[($rt_imul($y2, $src.$w0) + $x2 | 0) + 1 | 0];
            var$9 = $src.$data.data;
            $y2 = $y2 + 1 | 0;
            $c = var$9[$rt_imul($y2, $src.$w0) + $x2 | 0];
            $d = $src.$data.data[($rt_imul($y2, $src.$w0) + $x2 | 0) + 1 | 0];
            $ca = (((($a >> 24 & 255) + ($b >> 24 & 255) | 0) + ($c >> 24 & 255) | 0) + ($d >> 24 & 255) | 0) >> 2;
            $cr = (((($a >> 16 & 255) + ($b >> 16 & 255) | 0) + ($c >> 16 & 255) | 0) + ($d >> 16 & 255) | 0) >> 2;
            $cg = (((($a >> 8 & 255) + ($b >> 8 & 255) | 0) + ($c >> 8 & 255) | 0) + ($d >> 8 & 255) | 0) >> 2;
            $cb = (((($a & 255) + ($b & 255) | 0) + ($c & 255) | 0) + ($d & 255) | 0) >> 2;
            $e.$data.data[$rt_imul($y, $e.$w0) + $x | 0] = $ca << 24 | $cr << 16 | $cg << 8 | $cb;
            $x = $x + 1 | 0;
        }
        $y = $y + 1 | 0;
    }
    return $e;
}
function nle_TextureTerrainMap_populateAlpha($src) {
    var $ret, $reducedR, $reducedG, $reducedB, $divisor, $array, $i, var$9, $a, $x, $reducedG2, $alpha, $x_0, $reducedR2, $reducedB2, $blend1, $blend2, $blend3, $blend4;
    nle_TextureTerrainMap_$callClinit();
    $ret = nle_EaglerImage__init_0($src.$w0, $src.$h0, 1);
    $reducedR = 0;
    $reducedG = 0;
    $reducedB = 0;
    $divisor = 0;
    $array = $src.$data;
    $i = 0;
    while (true) {
        var$9 = $array.data;
        $a = var$9.length;
        if ($i >= $a)
            break;
        $x = var$9[$i];
        if (($x >> 24 & 255) > 2) {
            $reducedR = $reducedR + ($x >> 16 & 255) | 0;
            $reducedG = $reducedG + ($x >> 8 & 255) | 0;
            $reducedB = $reducedB + ($x & 255) | 0;
            $divisor = $divisor + 1 | 0;
        }
        $i = $i + 1 | 0;
    }
    if ($divisor) {
        $reducedR = $reducedR / $divisor | 0;
        $x = $reducedG / $divisor | 0;
        $reducedG2 = $reducedB / $divisor | 0;
    } else {
        $reducedR = 0;
        $x = 0;
        $reducedG2 = 0;
    }
    $alpha = $reducedR << 16 | $x << 8 | $reducedG2;
    $i = 0;
    while ($i < $a) {
        $x_0 = var$9[$i];
        $reducedG = $rt_compare($x_0 >> 24 & 255, 2);
        if ($reducedG >= 0)
            $ret.$data.data[$i] = $src.$data.data[$i];
        else {
            $reducedR2 = 0;
            $reducedG2 = 0;
            $reducedB2 = 0;
            $reducedR = 0;
            $blend1 = $i + 1 | 0;
            $blend2 = $i - 1 | 0;
            $blend3 = $i + $src.$w0 | 0;
            $blend4 = $i - $src.$w0 | 0;
            if ($blend1 >= 0 && $blend1 < $a && $reducedG > 0) {
                $reducedR2 = $reducedR2 + ($x_0 >> 16 & 255) | 0;
                $reducedG2 = $reducedG2 + ($x_0 >> 8 & 255) | 0;
                $reducedB2 = $reducedB2 + ($x_0 & 255) | 0;
                $reducedR = 1;
            }
            if ($blend2 >= 0 && $blend2 < $a && $reducedG > 0) {
                $reducedR2 = $reducedR2 + ($x_0 >> 16 & 255) | 0;
                $reducedG2 = $reducedG2 + ($x_0 >> 8 & 255) | 0;
                $reducedB2 = $reducedB2 + ($x_0 & 255) | 0;
                $reducedR = $reducedR + 1 | 0;
            }
            if ($blend3 >= 0 && $blend3 < $a && $reducedG > 0) {
                $reducedR2 = $reducedR2 + ($x_0 >> 16 & 255) | 0;
                $reducedG2 = $reducedG2 + ($x_0 >> 8 & 255) | 0;
                $reducedB2 = $reducedB2 + ($x_0 & 255) | 0;
                $reducedR = $reducedR + 1 | 0;
            }
            if ($blend4 >= 0 && $blend4 < $a && $reducedG > 0) {
                $reducedR2 = $reducedR2 + ($x_0 >> 16 & 255) | 0;
                $reducedG2 = $reducedG2 + ($x_0 >> 8 & 255) | 0;
                $reducedB2 = $reducedB2 + ($x_0 & 255) | 0;
                $reducedR = $reducedR + 1 | 0;
            }
            if (!$reducedR)
                $ret.$data.data[$i] = $alpha;
            else
                $ret.$data.data[$i] = ($reducedR2 / $reducedR | 0) << 16 | ($reducedG2 / $reducedR | 0) << 8 | ($reducedB2 / $reducedR | 0);
        }
        $i = $i + 1 | 0;
    }
    return $ret;
}
function nle_TextureTerrainMap_create3x3($src) {
    var $ret, $y, $x, $pixel;
    nle_TextureTerrainMap_$callClinit();
    $ret = nle_EaglerImage__init_0($src.$w0 * 3 | 0, $src.$h0 * 3 | 0, 1);
    $y = 0;
    while ($y < $src.$h0) {
        $x = 0;
        while ($x < $src.$w0) {
            $pixel = $src.$data.data[$rt_imul($y, $src.$w0) + $x | 0];
            $ret.$data.data[$rt_imul($y, $ret.$w0) + $x | 0] = $pixel;
            $ret.$data.data[$rt_imul($y, $ret.$w0) + ($x + $src.$w0 | 0) | 0] = $pixel;
            $ret.$data.data[$rt_imul($y, $ret.$w0) + ($x + ($src.$w0 * 2 | 0) | 0) | 0] = $pixel;
            $ret.$data.data[$rt_imul($y + $src.$h0 | 0, $ret.$w0) + $x | 0] = $pixel;
            $ret.$data.data[$rt_imul($y + $src.$h0 | 0, $ret.$w0) + ($x + $src.$w0 | 0) | 0] = $pixel;
            $ret.$data.data[$rt_imul($y + $src.$h0 | 0, $ret.$w0) + ($x + ($src.$w0 * 2 | 0) | 0) | 0] = $pixel;
            $ret.$data.data[$rt_imul($y + ($src.$h0 * 2 | 0) | 0, $ret.$w0) + $x | 0] = $pixel;
            $ret.$data.data[$rt_imul($y + ($src.$h0 * 2 | 0) | 0, $ret.$w0) + ($x + $src.$w0 | 0) | 0] = $pixel;
            $ret.$data.data[$rt_imul($y + ($src.$h0 * 2 | 0) | 0, $ret.$w0) + ($x + ($src.$w0 * 2 | 0) | 0) | 0] = $pixel;
            $x = $x + 1 | 0;
        }
        $y = $y + 1 | 0;
    }
    return $ret;
}
function nle_TextureTerrainMap_refreshTextures($this) {
    var $var1, $var2, $var3, $var4, $t, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$t = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        ju_ArrayList_clear($this.$iconList);
        $this.$nextSlot = 1;
        nms_Block_$callClinit();
        $var1 = nms_Block_blocksList.data;
        $var2 = $var1.length;
        $var3 = 0;
        while ($var3 < $var2) {
            $var4 = $var1[$var3];
            if ($var4 !== null)
                $var4.$registerIcons($this);
            $var3 = $var3 + 1 | 0;
        }
        nms_RenderGlobal_registerDestroyBlockIcons(nmc_Minecraft_theMinecraft.$renderGlobal, $this);
        nms_RenderManager_updateIcons(nms_RenderManager_instance, $this);
        $var4 = ju_AbstractList_iterator($this.$iconList);
        if (!ju_AbstractList$1_hasNext($var4))
            return;
        $t = ju_AbstractList$1_next($var4);
        $ptr = 1;
    case 1:
        nle_TextureTerrainMap$TerrainIcon_loadData($t);
        if ($rt_suspending()) {
            break main;
        }
        if (!ju_AbstractList$1_hasNext($var4))
            return;
        $t = ju_AbstractList$1_next($var4);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $t, $ptr);
}
function nle_TextureTerrainMap_replaceTexture($this, $icon, $textures) {
    var $divisor, $i, var$5, var$6, var$7, var$8;
    $divisor = 1;
    nleg_EaglerAdapterGL30_glBindTexture(3553, $this.$texture);
    $i = 0;
    while ($i < 5) {
        var$5 = $textures.data;
        jn_IntBuffer_clear(nle_TextureTerrainMap_uploadBuffer);
        jn_IntBuffer_put(nle_TextureTerrainMap_uploadBuffer, var$5[$i].$data);
        jn_IntBuffer_flip(nle_TextureTerrainMap_uploadBuffer);
        var$6 = $icon.$originX / $divisor | 0;
        var$7 = $icon.$originY / $divisor | 0;
        var$8 = 48 / $divisor | 0;
        nleg_EaglerAdapterGL30_glTexSubImage2D(3553, $i, var$6, var$7, var$8, var$8, 6408, 5121, nle_TextureTerrainMap_uploadBuffer);
        $divisor = $divisor * 2 | 0;
        $i = $i + 1 | 0;
    }
}
function nle_TextureTerrainMap_updateAnimations($this) {
    var var$1, $t, var$3;
    var$1 = ju_AbstractList_iterator($this.$iconList);
    while (ju_AbstractList$1_hasNext(var$1)) {
        $t = ju_AbstractList$1_next(var$1);
        if ($t.$frames !== null) {
            $t.$frameCounter = ($t.$frameCounter + 1 | 0) % $t.$framesIdx.data.length | 0;
            var$3 = $t.$framesIdx.data[$t.$frameCounter];
            if ($t.$frameCurrent != var$3) {
                $t.$frameCurrent = var$3;
                nle_TextureTerrainMap_access$200($t.$map, $t, $t.$frames.data[var$3]);
            }
        }
    }
}
function nle_TextureTerrainMap_registerIcon($this, $par1Str) {
    var $ret, var$3, $t;
    if ($par1Str === null)
        return $this.$missingImage0;
    $ret = ju_AbstractList_iterator($this.$iconList);
    while (true) {
        if (!ju_AbstractList$1_hasNext($ret)) {
            $ret = new nle_TextureTerrainMap$TerrainIcon;
            var$3 = $this.$nextSlot;
            $this.$nextSlot = var$3 + 1 | 0;
            nle_TextureTerrainMap$TerrainIcon__init_($ret, var$3, $this, $par1Str, null);
            ju_ArrayList_add($this.$iconList, $ret);
            return $ret;
        }
        $t = ju_AbstractList$1_next($ret);
        if (jl_String_equals($par1Str, $t.$name12))
            break;
    }
    return $t;
}
function nle_TextureTerrainMap_getMissingIcon($this) {
    return $this.$missingImage0;
}
function nle_TextureTerrainMap_access$000($x0) {
    nle_TextureTerrainMap_$callClinit();
    return $x0.$width2;
}
function nle_TextureTerrainMap_access$100($x0) {
    nle_TextureTerrainMap_$callClinit();
    return $x0.$height2;
}
function nle_TextureTerrainMap_access$200($x0, $x1, $x2) {
    nle_TextureTerrainMap_$callClinit();
    nle_TextureTerrainMap_replaceTexture($x0, $x1, $x2);
}
function nle_TextureTerrainMap_access$300($x0) {
    nle_TextureTerrainMap_$callClinit();
    return $x0.$basePath0;
}
function nle_TextureTerrainMap_access$400($x0) {
    nle_TextureTerrainMap_$callClinit();
    return $x0.$missingData;
}
function nle_TextureTerrainMap__clinit_() {
    var var$1;
    nleg_EaglerAdapterGL30_$callClinit();
    if (nleg_EaglerAdapterGL30_isWebGL)
        var$1 = jn_IntBuffer_wrap($rt_createIntArray(4096));
    else {
        var$1 = jn_ByteBuffer_allocateDirect(16384);
        var$1.$order = jn_ByteOrder_BIG_ENDIAN;
        var$1 = jn_ByteBufferImpl_asIntBuffer(var$1);
    }
    nle_TextureTerrainMap_uploadBuffer = var$1;
}
function nms_TextureMap() {
    var a = this; jl_Object.call(a);
    a.$textureType = 0;
    a.$textureName = null;
    a.$basePath = null;
    a.$textureExt = null;
    a.$mapTexturesStiched = null;
    a.$missingImage = null;
    a.$missingTextureStiched = null;
    a.$atlasTexture = null;
    a.$listTextureStiched = null;
    a.$textureStichedMap = null;
}
function nms_TextureMap_refreshTextures($this) {
    var $var19, $var2, $var3, $var4, $var23, $var20, $var21, $var22, $var24, $var5, $var18, $var7, $var25, $var27, $var29, $var10, $var11, $var12, $var28, $var14, $var13, $var6, $var8, $var9, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var13 = $thread.pop();$var14 = $thread.pop();$var28 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var29 = $thread.pop();$var27 = $thread.pop();$var25 = $thread.pop();$var7 = $thread.pop();$var18 = $thread.pop();$var5 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var23 = $thread.pop();$var4 = $thread.pop();$var3 =
        $thread.pop();$var2 = $thread.pop();$var19 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        ju_HashMap_clear($this.$textureStichedMap);
        if (!$this.$textureType) {
            nms_Block_$callClinit();
            $var19 = nms_Block_blocksList.data;
            $var2 = $var19.length;
            $var3 = 0;
            while ($var3 < $var2) {
                $var4 = $var19[$var3];
                if ($var4 !== null)
                    $var4.$registerIcons($this);
                $var3 = $var3 + 1 | 0;
            }
            nms_RenderGlobal_registerDestroyBlockIcons(nmc_Minecraft_theMinecraft.$renderGlobal, $this);
            nms_RenderManager_updateIcons(nms_RenderManager_instance, $this);
        }
        nms_Item_$callClinit();
        $var19 = nms_Item_itemsList.data;
        $var2 = $var19.length;
        $var3 = 0;
        while ($var3 < $var2) {
            $var23 = $var19[$var3];
            if ($var23 !== null && $var23.$getSpriteNumber() == $this.$textureType)
                $var23.$registerIcons($this);
            $var3 = $var3 + 1 | 0;
        }
        $var20 = ju_HashMap__init_();
        $var21 = nms_TextureManager_createStitcher(nms_TextureManager_instance, $this.$textureName);
        ju_HashMap_clear($this.$mapTexturesStiched);
        ju_ArrayList_clear($this.$listTextureStiched);
        $var22 = nms_TextureManager_makeTexture(nms_TextureManager_instance, $rt_s(1060), 2, $this.$missingImage.$w0, $this.$missingImage.$h0, 33071, 6408, 9728, 9728, 0, $this.$missingImage);
        $var24 = nms_StitchHolder__init_($var22);
        nms_Stitcher_addStitchHolder($var21, $var24);
        $var19 = $rt_createArray(nms_Texture, 1);
        $var19.data[0] = $var22;
        ju_HashMap_putImpl($var20, $var24, ju_Arrays_asList($var19));
        $var5 = ju_HashMap_keySet($this.$textureStichedMap).$iterator();
        if (!$var5.$hasNext()) {
            a: {
                try {
                    nms_Stitcher_doStitch($var21);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof nms_StitcherException) {
                        $var18 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $rt_throw($var18);
            }
            $this.$atlasTexture = nms_Stitcher_getTexture($var21);
            $var7 = ju_AbstractList_iterator(nms_Stitcher_getStichSlots($var21));
            while (ju_AbstractList$1_hasNext($var7)) {
                $var25 = ju_AbstractList$1_next($var7);
                $var27 = $var25.$holder;
                $var29 = $var27.$theTexture.$textureName1;
                $var10 = ju_HashMap_get($var20, $var27);
                $var11 = ju_HashMap_get($this.$textureStichedMap, $var29);
                $var12 = 0;
                if ($var11 === null) {
                    $var12 = 1;
                    $var11 = nms_TextureStitched_makeTextureStitched($var29);
                    if (!jl_String_equals($var29, $rt_s(1060))) {
                        $var28 = jl_System_out();
                        $var14 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($var14);
                        jl_AbstractStringBuilder_append($var14, $rt_s(1533));
                        jl_AbstractStringBuilder_append($var14, $var29);
                        jl_AbstractStringBuilder_append($var14, $rt_s(1534));
                        jl_AbstractStringBuilder_append($var14, $this.$textureName);
                        ji_PrintStream_println($var28, jl_AbstractStringBuilder_toString($var14));
                    }
                }
                nms_TextureStitched_init($var11, $this.$atlasTexture, $var10, $var25.$originX0, $var25.$originY0, $var27.$theTexture.$width1, $var27.$theTexture.$height1, $var27.$rotated);
                ju_HashMap_putImpl($this.$mapTexturesStiched, $var29, $var11);
                if (!$var12)
                    ju_HashMap_remove($this.$textureStichedMap, $var29);
                if ($var10.$size0() > 1) {
                    ju_ArrayList_add($this.$listTextureStiched, $var11);
                    $var28 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var28);
                    jl_AbstractStringBuilder_append($var28, $this.$basePath);
                    jl_AbstractStringBuilder_append($var28, $var29);
                    jl_AbstractStringBuilder_append($var28, $rt_s(1106));
                    $var13 = jl_AbstractStringBuilder_toString($var28);
                    $var14 = nmc_Minecraft_theMinecraft.$texturePackList.$selectedTexturePack;
                    $var28 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var28);
                    jl_AbstractStringBuilder_append($var28, $rt_s(61));
                    jl_AbstractStringBuilder_append($var28, $this.$basePath);
                    jl_AbstractStringBuilder_append($var28, $var29);
                    jl_AbstractStringBuilder_append($var28, $rt_s(73));
                    nms_TexturePackImplementation_func_98138_b($var14, jl_StringBuilder_toString($var28), 0);
                    if (nms_TexturePackImplementation_func_98138_b($var14, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(61)), $var13)), 0)) {
                        ji_PrintStream_println(jl_System_out(), jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1535)), $var13)));
                        nms_TextureStitched_readAnimationInfo($var11, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(61)), $var13)));
                    }
                }
            }
            $this.$missingTextureStiched = ju_HashMap_get($this.$mapTexturesStiched, $rt_s(1060));
            $var20 = ju_HashMap_values($this.$textureStichedMap).$iterator();
            while ($var20.$hasNext()) {
                nms_TextureStitched_copyFrom($var20.$next(), $this.$missingTextureStiched);
            }
            jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1536)), $this.$textureName), $rt_s(73)));
            nms_Texture_uploadTexture($this.$atlasTexture);
            return;
        }
        $var6 = $var5.$next();
        $var28 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var28);
        jl_AbstractStringBuilder_append($var28, $this.$basePath);
        jl_AbstractStringBuilder_append($var28, $var6);
        jl_AbstractStringBuilder_append($var28, $this.$textureExt);
        $var7 = jl_AbstractStringBuilder_toString($var28);
        $var28 = nms_TextureManager_instance;
        $ptr = 1;
    case 1:
        $tmp = nms_TextureManager_createTexture($var28, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        if (!ju_AbstractCollection_isEmpty($var8)) {
            $var9 = nms_StitchHolder__init_(ju_ArrayList_get($var8, 0));
            nms_Stitcher_addStitchHolder($var21, $var9);
            ju_HashMap_putImpl($var20, $var9, $var8);
        }
        if (!$var5.$hasNext()) {
            b: {
                try {
                    nms_Stitcher_doStitch($var21);
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof nms_StitcherException) {
                        $var18 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $rt_throw($var18);
            }
            $this.$atlasTexture = nms_Stitcher_getTexture($var21);
            $var7 = ju_AbstractList_iterator(nms_Stitcher_getStichSlots($var21));
            while (ju_AbstractList$1_hasNext($var7)) {
                $var25 = ju_AbstractList$1_next($var7);
                $var27 = $var25.$holder;
                $var29 = $var27.$theTexture.$textureName1;
                $var10 = ju_HashMap_get($var20, $var27);
                $var11 = ju_HashMap_get($this.$textureStichedMap, $var29);
                $var12 = 0;
                if ($var11 === null) {
                    $var12 = 1;
                    $var11 = nms_TextureStitched_makeTextureStitched($var29);
                    if (!jl_String_equals($var29, $rt_s(1060))) {
                        $var28 = jl_System_out();
                        $var14 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($var14);
                        jl_AbstractStringBuilder_append($var14, $rt_s(1533));
                        jl_AbstractStringBuilder_append($var14, $var29);
                        jl_AbstractStringBuilder_append($var14, $rt_s(1534));
                        jl_AbstractStringBuilder_append($var14, $this.$textureName);
                        ji_PrintStream_println($var28, jl_AbstractStringBuilder_toString($var14));
                    }
                }
                nms_TextureStitched_init($var11, $this.$atlasTexture, $var10, $var25.$originX0, $var25.$originY0, $var27.$theTexture.$width1, $var27.$theTexture.$height1, $var27.$rotated);
                ju_HashMap_putImpl($this.$mapTexturesStiched, $var29, $var11);
                if (!$var12)
                    ju_HashMap_remove($this.$textureStichedMap, $var29);
                if ($var10.$size0() > 1) {
                    ju_ArrayList_add($this.$listTextureStiched, $var11);
                    $var28 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var28);
                    jl_AbstractStringBuilder_append($var28, $this.$basePath);
                    jl_AbstractStringBuilder_append($var28, $var29);
                    jl_AbstractStringBuilder_append($var28, $rt_s(1106));
                    $var13 = jl_AbstractStringBuilder_toString($var28);
                    $var14 = nmc_Minecraft_theMinecraft.$texturePackList.$selectedTexturePack;
                    $var28 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var28);
                    jl_AbstractStringBuilder_append($var28, $rt_s(61));
                    jl_AbstractStringBuilder_append($var28, $this.$basePath);
                    jl_AbstractStringBuilder_append($var28, $var29);
                    jl_AbstractStringBuilder_append($var28, $rt_s(73));
                    nms_TexturePackImplementation_func_98138_b($var14, jl_StringBuilder_toString($var28), 0);
                    if (nms_TexturePackImplementation_func_98138_b($var14, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(61)), $var13)), 0)) {
                        ji_PrintStream_println(jl_System_out(), jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1535)), $var13)));
                        nms_TextureStitched_readAnimationInfo($var11, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(61)), $var13)));
                    }
                }
            }
            $this.$missingTextureStiched = ju_HashMap_get($this.$mapTexturesStiched, $rt_s(1060));
            $var20 = ju_HashMap_values($this.$textureStichedMap).$iterator();
            while ($var20.$hasNext()) {
                nms_TextureStitched_copyFrom($var20.$next(), $this.$missingTextureStiched);
            }
            jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(1536)), $this.$textureName), $rt_s(73)));
            nms_Texture_uploadTexture($this.$atlasTexture);
            return;
        }
        $var6 = $var5.$next();
        $var28 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var28);
        jl_AbstractStringBuilder_append($var28, $this.$basePath);
        jl_AbstractStringBuilder_append($var28, $var6);
        jl_AbstractStringBuilder_append($var28, $this.$textureExt);
        $var7 = jl_AbstractStringBuilder_toString($var28);
        $var28 = nms_TextureManager_instance;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var19, $var2, $var3, $var4, $var23, $var20, $var21, $var22, $var24, $var5, $var18, $var7, $var25, $var27, $var29, $var10, $var11, $var12, $var28, $var14, $var13, $var6, $var8, $var9, $ptr);
}
function nms_TextureMap_updateAnimations($this) {
    var $var1;
    $var1 = ju_AbstractList_iterator($this.$listTextureStiched);
    while (ju_AbstractList$1_hasNext($var1)) {
        ju_AbstractList$1_next($var1).$updateAnimation0();
    }
}
function nms_TextureMap_getTexture($this) {
    return $this.$atlasTexture;
}
function nms_TextureMap_registerIcon($this, $par1Str) {
    var $var2;
    if ($par1Str === null) {
        $var2 = new jl_RuntimeException;
        jl_Throwable__init_($var2, $rt_s(1537));
        jl_Throwable_printStackTrace($var2);
    }
    $var2 = ju_HashMap_get($this.$textureStichedMap, $par1Str);
    if ($var2 === null) {
        $var2 = nms_TextureStitched_makeTextureStitched($par1Str);
        ju_HashMap_putImpl($this.$textureStichedMap, $par1Str, $var2);
    }
    return $var2;
}
function nms_TextureMap_getMissingIcon($this) {
    return $this.$missingTextureStiched;
}
function ji_Reader() {
    jl_Object.call(this);
    this.$lock = null;
}
function ji_Reader__init_() {
    var var_0 = new ji_Reader();
    ji_Reader__init_0(var_0);
    return var_0;
}
function ji_Reader__init_0($this) {
    $this.$lock = new jl_Object;
}
function ji_BufferedReader() {
    var a = this; ji_Reader.call(a);
    a.$innerReader = null;
    a.$buffer4 = null;
    a.$index7 = 0;
    a.$count4 = 0;
    a.$eof1 = 0;
    a.$mark3 = 0;
}
function ji_BufferedReader__init_(var_0) {
    var var_1 = new ji_BufferedReader();
    ji_BufferedReader__init_0(var_1, var_0);
    return var_1;
}
function ji_BufferedReader__init_0($this, $innerReader) {
    ji_Reader__init_0($this);
    $this.$mark3 = (-1);
    $this.$innerReader = $innerReader;
    $this.$buffer4 = $rt_createCharArray(jl_Math_max(64, 1024));
}
function ji_BufferedReader_read($this) {
    var var$1, var$2;
    ji_BufferedReader_requireOpened($this);
    if ($this.$index7 >= $this.$count4 && !ji_BufferedReader_fillBuffer($this, 0))
        return (-1);
    var$1 = $this.$buffer4.data;
    var$2 = $this.$index7;
    $this.$index7 = var$2 + 1 | 0;
    return var$1[var$2];
}
function ji_BufferedReader_close($this) {
    ji_BufferedReader_requireOpened($this);
    $this.$innerReader.$close();
    $this.$innerReader = null;
}
function ji_BufferedReader_readLine($this) {
    var $line, var$2, var$3, $ch;
    ji_BufferedReader_requireOpened($this);
    if ($this.$eof1 && $this.$index7 >= $this.$count4)
        return null;
    $line = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($line);
    a: {
        while (true) {
            if ($this.$index7 >= $this.$count4 && !ji_BufferedReader_fillBuffer($this, 0))
                break a;
            var$2 = $this.$buffer4.data;
            var$3 = $this.$index7;
            $this.$index7 = var$3 + 1 | 0;
            $ch = var$2[var$3];
            if ($ch == 10)
                break;
            if ($ch == 13) {
                if ($this.$index7 >= $this.$count4 && !ji_BufferedReader_fillBuffer($this, 0))
                    break a;
                if ($this.$buffer4.data[$this.$index7] != 10)
                    break a;
                $this.$index7 = $this.$index7 + 1 | 0;
                break a;
            }
            jl_AbstractStringBuilder_append0($line, $ch);
        }
    }
    return jl_AbstractStringBuilder_toString($line);
}
function ji_BufferedReader_fillBuffer($this, $offset) {
    var $charsRead;
    if ($this.$eof1)
        return 0;
    a: {
        while (true) {
            if ($offset >= $this.$buffer4.data.length)
                break a;
            $charsRead = $this.$innerReader.$read5($this.$buffer4, $offset, $this.$buffer4.data.length - $offset | 0);
            if ($charsRead == (-1)) {
                $this.$eof1 = 1;
                break a;
            }
            if (!$charsRead)
                break;
            $offset = $offset + $charsRead | 0;
        }
    }
    $this.$count4 = $offset;
    $this.$index7 = 0;
    $this.$mark3 = (-1);
    return 1;
}
function ji_BufferedReader_requireOpened($this) {
    var var$1;
    if ($this.$innerReader !== null)
        return;
    var$1 = new ji_IOException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
}
function ji_InputStreamReader() {
    var a = this; ji_Reader.call(a);
    a.$stream = null;
    a.$decoder = null;
    a.$inData = null;
    a.$inBuffer = null;
    a.$outData = null;
    a.$outBuffer = null;
    a.$streamEof = 0;
    a.$eof2 = 0;
}
function ji_InputStreamReader__init_(var_0, var_1) {
    var var_2 = new ji_InputStreamReader();
    ji_InputStreamReader__init_0(var_2, var_0, var_1);
    return var_2;
}
function ji_InputStreamReader__init_0($this, $in, $charsetName) {
    var var$3, $$je;
    a: {
        try {
            var$3 = jnc_Charset_forName(jl_String_toString($charsetName));
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jnc_UnsupportedCharsetException) {
            } else {
                throw $$e;
            }
        }
        $in = new ji_UnsupportedEncodingException;
        jl_Throwable__init_($in, $charsetName);
        $rt_throw($in);
    }
    $charsetName = jnc_CharsetDecoder_onUnmappableCharacter(jnc_CharsetDecoder_onMalformedInput(jnci_UTF8Charset_newDecoder(var$3), jnc_CodingErrorAction_REPLACE), jnc_CodingErrorAction_REPLACE);
    ji_Reader__init_0($this);
    $this.$inData = $rt_createByteArray(8192);
    $this.$inBuffer = jn_ByteBuffer_wrap0($this.$inData);
    $this.$outData = $rt_createCharArray(1024);
    $this.$outBuffer = jn_CharBuffer_wrap($this.$outData);
    $this.$stream = $in;
    $this.$decoder = $charsetName;
    jn_Buffer_position0($this.$outBuffer, $this.$outBuffer.$limit);
    jn_Buffer_position0($this.$inBuffer, $this.$inBuffer.$limit);
}
function ji_InputStreamReader_close($this) {
    return;
}
function ji_InputStreamReader_read($this, $cbuf, $off, $len) {
    var $bytesRead, $sz, var$6;
    if ($this.$eof2 && !jn_Buffer_hasRemaining($this.$outBuffer))
        return (-1);
    $bytesRead = 0;
    a: {
        while ($len > 0) {
            $sz = jl_Math_min($len, jn_Buffer_remaining($this.$outBuffer));
            jn_CharBuffer_get0($this.$outBuffer, $cbuf, $off + $bytesRead | 0, $sz);
            $len = $len - $sz | 0;
            $bytesRead = $bytesRead + $sz | 0;
            if (!jn_Buffer_hasRemaining($this.$outBuffer)) {
                if ($this.$eof2)
                    var$6 = 0;
                else {
                    jn_CharBufferImpl_compact($this.$outBuffer);
                    b: {
                        while (true) {
                            if (!jn_Buffer_hasRemaining($this.$inBuffer)) {
                                if ($this.$streamEof)
                                    var$6 = 0;
                                else {
                                    jn_ByteBufferImpl_compact($this.$inBuffer);
                                    c: {
                                        while (true) {
                                            if (!jn_Buffer_hasRemaining($this.$inBuffer))
                                                break c;
                                            var$6 = ji_ByteArrayInputStream_read0($this.$stream, $this.$inBuffer.$array0, $this.$inBuffer.$position, jn_Buffer_remaining($this.$inBuffer));
                                            if (var$6 == (-1)) {
                                                $this.$streamEof = 1;
                                                break c;
                                            }
                                            jn_Buffer_position0($this.$inBuffer, $this.$inBuffer.$position + var$6 | 0);
                                            if (!var$6)
                                                break;
                                        }
                                    }
                                    jn_Buffer_flip($this.$inBuffer);
                                    var$6 = 1;
                                }
                                if (!var$6)
                                    break b;
                            }
                            if (!jnc_CoderResult_isOverflow(jnc_CharsetDecoder_decode0($this.$decoder, $this.$inBuffer, $this.$outBuffer, $this.$streamEof)))
                                continue;
                            else
                                break;
                        }
                    }
                    if (!jn_Buffer_hasRemaining($this.$inBuffer) && $this.$streamEof && jnc_CoderResult_isUnderflow(jnc_CharsetDecoder_flush($this.$decoder, $this.$outBuffer)))
                        $this.$eof2 = 1;
                    jn_Buffer_flip($this.$outBuffer);
                    var$6 = 1;
                }
                if (!var$6)
                    break a;
            }
        }
    }
    return $bytesRead;
}
function nms_MouseFilter() {
    var a = this; jl_Object.call(a);
    a.$field_76336_a = 0.0;
    a.$field_76334_b = 0.0;
    a.$field_76335_c = 0.0;
}
function nms_MouseFilter__init_0() {
    var var_0 = new nms_MouseFilter();
    nms_MouseFilter__init_(var_0);
    return var_0;
}
function nms_MouseFilter__init_($this) {
    return;
}
function nms_MouseFilter_smooth($this, $par1, $par2) {
    var var$3;
    a: {
        $this.$field_76336_a = $this.$field_76336_a + $par1;
        $par1 = ($this.$field_76336_a - $this.$field_76334_b) * $par2;
        $this.$field_76335_c = $this.$field_76335_c + ($par1 - $this.$field_76335_c) * 0.5;
        var$3 = $rt_compare($par1, 0.0);
        if (!(var$3 > 0 && $par1 > $this.$field_76335_c)) {
            if (var$3 >= 0)
                break a;
            if ($par1 >= $this.$field_76335_c)
                break a;
        }
        $par1 = $this.$field_76335_c;
    }
    $this.$field_76334_b = $this.$field_76334_b + $par1;
    return $par1;
}
function nms_EntityCreature() {
    var a = this; nms_EntityLiving.call(a);
    a.$pathToEntity = null;
    a.$entityToAttack = null;
    a.$hasAttacked = 0;
    a.$fleeingTick = 0;
}
function nms_EntityCreature__init_() {
    var var_0 = new nms_EntityCreature();
    nms_EntityCreature__init_0(var_0);
    return var_0;
}
function nms_EntityCreature__init_0($this) {
    nms_EntityLiving__init_0($this);
    $this.$hasAttacked = 0;
    $this.$fleeingTick = 0;
}
function nms_EntityCreature_isMovementCeased($this) {
    return 0;
}
function nms_EntityCreature_updateEntityActionState($this) {
    var $var1, $var2, var$3, $var21, $var3, $var4, $var5, $var6, $var16, $var8, $var10, $var12, $var15, $var18, $var20, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var15 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var16 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var21 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1031));
        if ($this.$fleeingTick > 0)
            $this.$fleeingTick = $this.$fleeingTick - 1 | 0;
        $this.$hasAttacked = 0;
        $var1 = 16.0;
        if ($this.$entityToAttack === null) {
            $ptr = 1;
            continue main;
        }
        if ($this.$entityToAttack.$isEntityAlive()) {
            $var2 = nms_Entity_getDistanceToEntity($this.$entityToAttack, $this);
            var$3 = $this.$entityToAttack;
            $ptr = 2;
            continue main;
        }
        $this.$entityToAttack = null;
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        if (!$this.$hasAttacked && $this.$entityToAttack !== null && !($this.$pathToEntity !== null && nle_EaglercraftRandom_nextInt($this.$rand0, 20)))
            $this.$pathToEntity = nms_World_getPathEntityToEntity($this.$worldObj, $this, $this.$entityToAttack, $var1, 1, 0, 0, 1);
        else if (!$this.$hasAttacked && !(!($this.$pathToEntity === null && !nle_EaglercraftRandom_nextInt($this.$rand0, 180)) && nle_EaglercraftRandom_nextInt($this.$rand0, 120) && $this.$fleeingTick <= 0) && $this.$entityAge < 100)
            nms_EntityCreature_updateWanderPath($this);
        $var21 = nms_MathHelper_floor_double($this.$boundingBox.$minY + 0.5);
        $var3 = $this.$isInWater();
        $var4 = nms_Entity_handleLavaMovement($this);
        $this.$rotationPitch = 0.0;
        if ($this.$pathToEntity !== null && nle_EaglercraftRandom_nextInt($this.$rand0, 100)) {
            nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1538));
            $var5 = nms_PathEntity_getPosition($this.$pathToEntity, $this);
            $var6 = $this.$width0 * 2.0;
            $var16 = $var6 * $var6;
            while ($var5 !== null && nms_Vec3_squareDistanceTo0($var5, $this.$posX, $var5.$yCoord, $this.$posZ) < $var16) {
                nms_PathEntity_incrementPathIndex($this.$pathToEntity);
                if (!nms_PathEntity_isFinished($this.$pathToEntity)) {
                    $var5 = nms_PathEntity_getPosition($this.$pathToEntity, $this);
                    continue;
                }
                $var5 = null;
                $this.$pathToEntity = null;
            }
            $this.$isJumping = 0;
            if ($var5 !== null) {
                $var8 = $var5.$xCoord - $this.$posX;
                $var10 = $var5.$zCoord - $this.$posZ;
                $var12 = $var5.$yCoord - $var21;
                $var15 = nms_MathHelper_wrapAngleTo180_float(jl_Math_atan2($var10, $var8) * 180.0 / 3.141592653589793 - 90.0 - $this.$rotationYaw);
                $this.$moveForward = $this.$moveSpeed;
                if ($var15 > 30.0)
                    $var15 = 30.0;
                if ($var15 < (-30.0))
                    $var15 = (-30.0);
                $this.$rotationYaw = $this.$rotationYaw + $var15;
                if ($this.$hasAttacked && $this.$entityToAttack !== null) {
                    $var16 = $this.$entityToAttack.$posX - $this.$posX;
                    $var18 = $this.$entityToAttack.$posZ - $this.$posZ;
                    $var20 = $this.$rotationYaw;
                    $this.$rotationYaw = jl_Math_atan2($var18, $var16) * 180.0 / 3.141592653589793 - 90.0;
                    $var1 = ($var20 - $this.$rotationYaw + 90.0) * 3.1415927410125732 / 180.0;
                    $this.$moveStrafing =  -nms_MathHelper_sin($var1) * $this.$moveForward * 1.0;
                    $this.$moveForward = nms_MathHelper_cos($var1) * $this.$moveForward * 1.0;
                }
                if ($var12 > 0.0)
                    $this.$isJumping = 1;
            }
            if ($this.$entityToAttack !== null)
                nms_EntityLiving_faceEntity($this, $this.$entityToAttack, 30.0, 30.0);
            if ($this.$isCollidedHorizontally && !nms_EntityCreature_hasPath($this))
                $this.$isJumping = 1;
            if (nle_EaglercraftRandom_nextFloat($this.$rand0) < 0.800000011920929 && !(!$var3 && !$var4))
                $this.$isJumping = 1;
            nms_Profiler_endSection($this.$worldObj.$theProfiler);
            return;
        }
        $ptr = 4;
        continue main;
    case 1:
        $tmp = $this.$findPlayerToAttack();
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $tmp;
        $this.$entityToAttack = var$3;
        if ($this.$entityToAttack !== null)
            $this.$pathToEntity = nms_World_getPathEntityToEntity($this.$worldObj, $this, $this.$entityToAttack, $var1, 1, 0, 0, 1);
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        if (!$this.$hasAttacked && $this.$entityToAttack !== null && !($this.$pathToEntity !== null && nle_EaglercraftRandom_nextInt($this.$rand0, 20)))
            $this.$pathToEntity = nms_World_getPathEntityToEntity($this.$worldObj, $this, $this.$entityToAttack, $var1, 1, 0, 0, 1);
        else if (!$this.$hasAttacked && !(!($this.$pathToEntity === null && !nle_EaglercraftRandom_nextInt($this.$rand0, 180)) && nle_EaglercraftRandom_nextInt($this.$rand0, 120) && $this.$fleeingTick <= 0) && $this.$entityAge < 100)
            nms_EntityCreature_updateWanderPath($this);
        $var21 = nms_MathHelper_floor_double($this.$boundingBox.$minY + 0.5);
        $var3 = $this.$isInWater();
        $var4 = nms_Entity_handleLavaMovement($this);
        $this.$rotationPitch = 0.0;
        if ($this.$pathToEntity !== null && nle_EaglercraftRandom_nextInt($this.$rand0, 100)) {
            nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1538));
            $var5 = nms_PathEntity_getPosition($this.$pathToEntity, $this);
            $var6 = $this.$width0 * 2.0;
            $var16 = $var6 * $var6;
            while ($var5 !== null && nms_Vec3_squareDistanceTo0($var5, $this.$posX, $var5.$yCoord, $this.$posZ) < $var16) {
                nms_PathEntity_incrementPathIndex($this.$pathToEntity);
                if (!nms_PathEntity_isFinished($this.$pathToEntity)) {
                    $var5 = nms_PathEntity_getPosition($this.$pathToEntity, $this);
                    continue;
                }
                $var5 = null;
                $this.$pathToEntity = null;
            }
            $this.$isJumping = 0;
            if ($var5 !== null) {
                $var8 = $var5.$xCoord - $this.$posX;
                $var10 = $var5.$zCoord - $this.$posZ;
                $var12 = $var5.$yCoord - $var21;
                $var15 = nms_MathHelper_wrapAngleTo180_float(jl_Math_atan2($var10, $var8) * 180.0 / 3.141592653589793 - 90.0 - $this.$rotationYaw);
                $this.$moveForward = $this.$moveSpeed;
                if ($var15 > 30.0)
                    $var15 = 30.0;
                if ($var15 < (-30.0))
                    $var15 = (-30.0);
                $this.$rotationYaw = $this.$rotationYaw + $var15;
                if ($this.$hasAttacked && $this.$entityToAttack !== null) {
                    $var16 = $this.$entityToAttack.$posX - $this.$posX;
                    $var18 = $this.$entityToAttack.$posZ - $this.$posZ;
                    $var20 = $this.$rotationYaw;
                    $this.$rotationYaw = jl_Math_atan2($var18, $var16) * 180.0 / 3.141592653589793 - 90.0;
                    $var1 = ($var20 - $this.$rotationYaw + 90.0) * 3.1415927410125732 / 180.0;
                    $this.$moveStrafing =  -nms_MathHelper_sin($var1) * $this.$moveForward * 1.0;
                    $this.$moveForward = nms_MathHelper_cos($var1) * $this.$moveForward * 1.0;
                }
                if ($var12 > 0.0)
                    $this.$isJumping = 1;
            }
            if ($this.$entityToAttack !== null)
                nms_EntityLiving_faceEntity($this, $this.$entityToAttack, 30.0, 30.0);
            if ($this.$isCollidedHorizontally && !nms_EntityCreature_hasPath($this))
                $this.$isJumping = 1;
            if (nle_EaglercraftRandom_nextFloat($this.$rand0) < 0.800000011920929 && !(!$var3 && !$var4))
                $this.$isJumping = 1;
            nms_Profiler_endSection($this.$worldObj.$theProfiler);
            return;
        }
        $ptr = 4;
        continue main;
    case 2:
        $tmp = nms_EntityLiving_canEntityBeSeen($this, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = $tmp;
        if ($var21) {
            var$3 = $this.$entityToAttack;
            $ptr = 3;
            continue main;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        if (!$this.$hasAttacked && $this.$entityToAttack !== null && !($this.$pathToEntity !== null && nle_EaglercraftRandom_nextInt($this.$rand0, 20)))
            $this.$pathToEntity = nms_World_getPathEntityToEntity($this.$worldObj, $this, $this.$entityToAttack, $var1, 1, 0, 0, 1);
        else if (!$this.$hasAttacked && !(!($this.$pathToEntity === null && !nle_EaglercraftRandom_nextInt($this.$rand0, 180)) && nle_EaglercraftRandom_nextInt($this.$rand0, 120) && $this.$fleeingTick <= 0) && $this.$entityAge < 100)
            nms_EntityCreature_updateWanderPath($this);
        $var21 = nms_MathHelper_floor_double($this.$boundingBox.$minY + 0.5);
        $var3 = $this.$isInWater();
        $var4 = nms_Entity_handleLavaMovement($this);
        $this.$rotationPitch = 0.0;
        if ($this.$pathToEntity !== null && nle_EaglercraftRandom_nextInt($this.$rand0, 100)) {
            nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1538));
            $var5 = nms_PathEntity_getPosition($this.$pathToEntity, $this);
            $var6 = $this.$width0 * 2.0;
            $var16 = $var6 * $var6;
            while ($var5 !== null && nms_Vec3_squareDistanceTo0($var5, $this.$posX, $var5.$yCoord, $this.$posZ) < $var16) {
                nms_PathEntity_incrementPathIndex($this.$pathToEntity);
                if (!nms_PathEntity_isFinished($this.$pathToEntity)) {
                    $var5 = nms_PathEntity_getPosition($this.$pathToEntity, $this);
                    continue;
                }
                $var5 = null;
                $this.$pathToEntity = null;
            }
            $this.$isJumping = 0;
            if ($var5 !== null) {
                $var8 = $var5.$xCoord - $this.$posX;
                $var10 = $var5.$zCoord - $this.$posZ;
                $var12 = $var5.$yCoord - $var21;
                $var15 = nms_MathHelper_wrapAngleTo180_float(jl_Math_atan2($var10, $var8) * 180.0 / 3.141592653589793 - 90.0 - $this.$rotationYaw);
                $this.$moveForward = $this.$moveSpeed;
                if ($var15 > 30.0)
                    $var15 = 30.0;
                if ($var15 < (-30.0))
                    $var15 = (-30.0);
                $this.$rotationYaw = $this.$rotationYaw + $var15;
                if ($this.$hasAttacked && $this.$entityToAttack !== null) {
                    $var16 = $this.$entityToAttack.$posX - $this.$posX;
                    $var18 = $this.$entityToAttack.$posZ - $this.$posZ;
                    $var20 = $this.$rotationYaw;
                    $this.$rotationYaw = jl_Math_atan2($var18, $var16) * 180.0 / 3.141592653589793 - 90.0;
                    $var1 = ($var20 - $this.$rotationYaw + 90.0) * 3.1415927410125732 / 180.0;
                    $this.$moveStrafing =  -nms_MathHelper_sin($var1) * $this.$moveForward * 1.0;
                    $this.$moveForward = nms_MathHelper_cos($var1) * $this.$moveForward * 1.0;
                }
                if ($var12 > 0.0)
                    $this.$isJumping = 1;
            }
            if ($this.$entityToAttack !== null)
                nms_EntityLiving_faceEntity($this, $this.$entityToAttack, 30.0, 30.0);
            if ($this.$isCollidedHorizontally && !nms_EntityCreature_hasPath($this))
                $this.$isJumping = 1;
            if (nle_EaglercraftRandom_nextFloat($this.$rand0) < 0.800000011920929 && !(!$var3 && !$var4))
                $this.$isJumping = 1;
            nms_Profiler_endSection($this.$worldObj.$theProfiler);
            return;
        }
        $ptr = 4;
        continue main;
    case 3:
        $this.$attackEntity0(var$3, $var2);
        if ($rt_suspending()) {
            break main;
        }
        nms_Profiler_endSection($this.$worldObj.$theProfiler);
        if (!$this.$hasAttacked && $this.$entityToAttack !== null && !($this.$pathToEntity !== null && nle_EaglercraftRandom_nextInt($this.$rand0, 20)))
            $this.$pathToEntity = nms_World_getPathEntityToEntity($this.$worldObj, $this, $this.$entityToAttack, $var1, 1, 0, 0, 1);
        else if (!$this.$hasAttacked && !(!($this.$pathToEntity === null && !nle_EaglercraftRandom_nextInt($this.$rand0, 180)) && nle_EaglercraftRandom_nextInt($this.$rand0, 120) && $this.$fleeingTick <= 0) && $this.$entityAge < 100)
            nms_EntityCreature_updateWanderPath($this);
        $var21 = nms_MathHelper_floor_double($this.$boundingBox.$minY + 0.5);
        $var3 = $this.$isInWater();
        $var4 = nms_Entity_handleLavaMovement($this);
        $this.$rotationPitch = 0.0;
        if ($this.$pathToEntity !== null && nle_EaglercraftRandom_nextInt($this.$rand0, 100)) {
            nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1538));
            $var5 = nms_PathEntity_getPosition($this.$pathToEntity, $this);
            $var6 = $this.$width0 * 2.0;
            $var16 = $var6 * $var6;
            while ($var5 !== null && nms_Vec3_squareDistanceTo0($var5, $this.$posX, $var5.$yCoord, $this.$posZ) < $var16) {
                nms_PathEntity_incrementPathIndex($this.$pathToEntity);
                if (!nms_PathEntity_isFinished($this.$pathToEntity)) {
                    $var5 = nms_PathEntity_getPosition($this.$pathToEntity, $this);
                    continue;
                }
                $var5 = null;
                $this.$pathToEntity = null;
            }
            $this.$isJumping = 0;
            if ($var5 !== null) {
                $var8 = $var5.$xCoord - $this.$posX;
                $var10 = $var5.$zCoord - $this.$posZ;
                $var12 = $var5.$yCoord - $var21;
                $var15 = nms_MathHelper_wrapAngleTo180_float(jl_Math_atan2($var10, $var8) * 180.0 / 3.141592653589793 - 90.0 - $this.$rotationYaw);
                $this.$moveForward = $this.$moveSpeed;
                if ($var15 > 30.0)
                    $var15 = 30.0;
                if ($var15 < (-30.0))
                    $var15 = (-30.0);
                $this.$rotationYaw = $this.$rotationYaw + $var15;
                if ($this.$hasAttacked && $this.$entityToAttack !== null) {
                    $var16 = $this.$entityToAttack.$posX - $this.$posX;
                    $var18 = $this.$entityToAttack.$posZ - $this.$posZ;
                    $var20 = $this.$rotationYaw;
                    $this.$rotationYaw = jl_Math_atan2($var18, $var16) * 180.0 / 3.141592653589793 - 90.0;
                    $var1 = ($var20 - $this.$rotationYaw + 90.0) * 3.1415927410125732 / 180.0;
                    $this.$moveStrafing =  -nms_MathHelper_sin($var1) * $this.$moveForward * 1.0;
                    $this.$moveForward = nms_MathHelper_cos($var1) * $this.$moveForward * 1.0;
                }
                if ($var12 > 0.0)
                    $this.$isJumping = 1;
            }
            if ($this.$entityToAttack !== null)
                nms_EntityLiving_faceEntity($this, $this.$entityToAttack, 30.0, 30.0);
            if ($this.$isCollidedHorizontally && !nms_EntityCreature_hasPath($this))
                $this.$isJumping = 1;
            if (nle_EaglercraftRandom_nextFloat($this.$rand0) < 0.800000011920929 && !(!$var3 && !$var4))
                $this.$isJumping = 1;
            nms_Profiler_endSection($this.$worldObj.$theProfiler);
            return;
        }
        $ptr = 4;
    case 4:
        nms_EntityLiving_updateEntityActionState($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$pathToEntity = null;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, var$3, $var21, $var3, $var4, $var5, $var6, $var16, $var8, $var10, $var12, $var15, $var18, $var20, $ptr);
}
function nms_EntityCreature_updateWanderPath($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10;
    nms_Profiler_startSection($this.$worldObj.$theProfiler, $rt_s(1539));
    $var1 = 0;
    $var2 = (-1);
    $var3 = (-1);
    $var4 = (-1);
    $var5 = (-99999.0);
    $var6 = 0;
    while ($var6 < 10) {
        $var7 = nms_MathHelper_floor_double($this.$posX + nle_EaglercraftRandom_nextInt($this.$rand0, 13) - 6.0);
        $var8 = nms_MathHelper_floor_double($this.$posY + nle_EaglercraftRandom_nextInt($this.$rand0, 7) - 3.0);
        $var9 = nms_MathHelper_floor_double($this.$posZ + nle_EaglercraftRandom_nextInt($this.$rand0, 13) - 6.0);
        $var10 = $this.$getBlockPathWeight($var7, $var8, $var9);
        if ($var10 > $var5) {
            $var1 = 1;
            $var5 = $var10;
            $var2 = $var7;
            $var3 = $var8;
            $var4 = $var9;
        }
        $var6 = $var6 + 1 | 0;
    }
    if ($var1)
        $this.$pathToEntity = nms_World_getEntityPathToXYZ($this.$worldObj, $this, $var2, $var3, $var4, 10.0, 1, 0, 0, 1);
    nms_Profiler_endSection($this.$worldObj.$theProfiler);
}
function nms_EntityCreature_attackEntity($this, $par1Entity, $par2) {
    return;
}
function nms_EntityCreature_getBlockPathWeight($this, $par1, $par2, $par3) {
    return 0.0;
}
function nms_EntityCreature_findPlayerToAttack($this) {
    return null;
}
function nms_EntityCreature_hasPath($this) {
    return $this.$pathToEntity === null ? 0 : 1;
}
function nms_EntityCreature_getEntityToAttack($this) {
    return $this.$entityToAttack;
}
function nms_EntityCreature_setTarget($this, $par1Entity) {
    $this.$entityToAttack = $par1Entity;
}
function nms_EntityCreature_getSpeedModifier($this) {
    var $var1;
    $var1 = nms_EntityLiving_getSpeedModifier($this);
    if ($this.$fleeingTick > 0 && !$this.$isAIEnabled())
        $var1 = $var1 * 2.0;
    return $var1;
}
function nms_IAnimals() {
}
function nms_IMob() {
}
var nms_IMob_mobSelector = null;
function nms_IMob__clinit_() {
    nms_IMob_mobSelector = new nms_FilterIMob;
}
function nms_EntityMob() {
    nms_EntityCreature.call(this);
}
function nms_EntityMob__init_() {
    var var_0 = new nms_EntityMob();
    nms_EntityMob__init_0(var_0);
    return var_0;
}
function nms_EntityMob__init_0($this) {
    nms_EntityCreature__init_0($this);
    $this.$experienceValue = 5;
}
function nms_EntityMob_onLivingUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_EntityLiving_updateArmSwingProgress($this);
        if ($this.$getBrightness(1.0) > 0.5)
            $this.$entityAge = $this.$entityAge + 2 | 0;
        $ptr = 1;
    case 1:
        nms_EntityLiving_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_EntityMob_findPlayerToAttack($this) {
    var $var1, var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = nms_World_getClosestVulnerablePlayerToEntity($this.$worldObj, $this, 16.0);
        if ($var1 === null) {
            $var1 = null;
            return $var1;
        }
        $ptr = 1;
    case 1:
        $tmp = nms_EntityLiving_canEntityBeSeen($this, $var1);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        if (!var$2)
            $var1 = null;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, var$2, $ptr);
}
function nms_EntityMob_attackEntityFrom($this, $par1DamageSource, $par2) {
    if ($this.$invulnerable)
        return 0;
    return 0;
}
function nms_EntityMob_attackEntityAsMob($this, $par1Entity) {
    var $var2, $var3, var$4, var$5, $var4, var$7, var$8, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $this.$getAttackStrength($par1Entity);
        if (nms_EntityLiving_isPotionActive($this, nms_Potion_damageBoost))
            $var2 = $var2 + (3 << nms_EntityLiving_getActivePotionEffect($this, nms_Potion_damageBoost).$amplifier) | 0;
        if (nms_EntityLiving_isPotionActive($this, nms_Potion_weakness))
            $var2 = $var2 - (2 << nms_EntityLiving_getActivePotionEffect($this, nms_Potion_weakness).$amplifier) | 0;
        $var3 = 0;
        var$4 = $par1Entity instanceof nms_EntityLiving;
        if (var$4) {
            var$5 = $par1Entity;
            $var2 = $var2 + nms_EnchantmentHelper_getEnchantmentModifierLiving($this, var$5) | 0;
            $var3 = $var3 + nms_EnchantmentHelper_getKnockbackModifier($this, var$5) | 0;
        }
        var$5 = nms_DamageSource_causeMobDamage($this);
        $ptr = 1;
    case 1:
        $tmp = $par1Entity.$attackEntityFrom(var$5, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        if ($var4) {
            if ($var3 > 0) {
                var$7 =  -nms_MathHelper_sin($this.$rotationYaw * 3.1415927410125732 / 180.0);
                var$8 = $var3;
                $par1Entity.$addVelocity(var$7 * var$8 * 0.5, 0.1, nms_MathHelper_cos($this.$rotationYaw * 3.1415927410125732 / 180.0) * var$8 * 0.5);
                $this.$motionX = $this.$motionX * 0.6;
                $this.$motionZ = $this.$motionZ * 0.6;
            }
            $var5 = nms_EnchantmentHelper_getFireAspectModifier($this);
            if ($var5 > 0)
                nms_Entity_setFire($par1Entity, $var5 * 4 | 0);
            if (var$4) {
                $par1Entity = $par1Entity;
                var$5 = $this.$rand0;
                $ptr = 2;
                continue main;
            }
        }
        return $var4;
    case 2:
        nms_EnchantmentThorns_func_92096_a($this, $par1Entity, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return $var4;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $var2, $var3, var$4, var$5, $var4, var$7, var$8, $var5, $ptr);
}
function nms_EntityMob_attackEntity($this, $par1Entity, $par2) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$attackTime <= 0 && $par2 < 2.0 && $par1Entity.$boundingBox.$maxY > $this.$boundingBox.$minY && $par1Entity.$boundingBox.$minY < $this.$boundingBox.$maxY) {
            $this.$attackTime = 20;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        $this.$attackEntityAsMob($par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $ptr);
}
function nms_EntityMob_getBlockPathWeight($this, $par1, $par2, $par3) {
    return 0.5 - nms_World_getLightBrightness($this.$worldObj, $par1, $par2, $par3);
}
function nms_EntityMob_getAttackStrength($this, $par1Entity) {
    return 2;
}
function nms_EntitySpider() {
    nms_EntityMob.call(this);
}
function nms_EntitySpider__init_0() {
    var var_0 = new nms_EntitySpider();
    nms_EntitySpider__init_(var_0);
    return var_0;
}
function nms_EntitySpider__init_($this) {
    nms_EntityMob__init_0($this);
    nms_Entity_setSize($this, 1.399999976158142, 0.8999999761581421);
    $this.$moveSpeed = 0.800000011920929;
}
function nms_EntitySpider_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte__init_(0));
}
function nms_EntitySpider_getMaxHealth($this) {
    return 16;
}
function nms_EntitySpider_getMountedYOffset($this) {
    return $this.$height0 * 0.75 - 0.5;
}
function nms_EntitySpider_findPlayerToAttack($this) {
    if (nms_Entity_getBrightness($this, 1.0) >= 0.5)
        return null;
    return nms_World_getClosestVulnerablePlayerToEntity($this.$worldObj, $this, 16.0);
}
function nms_EntitySpider_getLivingSound($this) {
    return $rt_s(1540);
}
function nms_EntitySpider_getHurtSound($this) {
    return $rt_s(1540);
}
function nms_EntitySpider_getDeathSound($this) {
    return $rt_s(1541);
}
function nms_EntitySpider_playStepSound($this, $par1, $par2, $par3, $par4) {
    nms_Entity_playSound($this, $rt_s(1542), 0.15000000596046448, 1.0);
}
function nms_EntitySpider_attackEntity($this, $par1Entity, $par2) {
    var $var4, $var6, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if (nms_Entity_getBrightness($this, 1.0) > 0.5 && !nle_EaglercraftRandom_nextInt($this.$rand0, 100))
                $this.$entityToAttack = null;
            else {
                if ($par2 <= 2.0)
                    break a;
                if ($par2 >= 6.0)
                    break a;
                if (nle_EaglercraftRandom_nextInt($this.$rand0, 10))
                    break a;
                if ($this.$onGround) {
                    $var4 = $par1Entity.$posX - $this.$posX;
                    $var6 = $par1Entity.$posZ - $this.$posZ;
                    var$5 = nms_MathHelper_sqrt_double($var4 * $var4 + $var6 * $var6);
                    $this.$motionX = $var4 / var$5 * 0.5 * 0.800000011920929 + $this.$motionX * 0.20000000298023224;
                    $this.$motionZ = $var6 / var$5 * 0.5 * 0.800000011920929 + $this.$motionZ * 0.20000000298023224;
                    $this.$motionY = 0.4000000059604645;
                }
            }
            return;
        }
        $ptr = 1;
    case 1:
        nms_EntityMob_attackEntity($this, $par1Entity, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $var4, $var6, var$5, $ptr);
}
function nms_EntitySpider_isOnLadder($this) {
    return nms_EntitySpider_isBesideClimbableBlock($this);
}
function nms_EntitySpider_setInWeb($this) {
    return;
}
function nms_EntitySpider_spiderScaleAmount($this) {
    return 1.0;
}
function nms_EntitySpider_getCreatureAttribute($this) {
    return nms_EnumCreatureAttribute_ARTHROPOD;
}
function nms_EntitySpider_isPotionApplicable($this, $par1PotionEffect) {
    return $par1PotionEffect.$potionID != nms_Potion_poison.$id5 ? nms_EntityLiving_isPotionApplicable($this, $par1PotionEffect) : 0;
}
function nms_EntitySpider_isBesideClimbableBlock($this) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 1) ? 0 : 1;
}
function nms_Render() {
    var a = this; jl_Object.call(a);
    a.$renderManager = null;
    a.$modelBase = null;
    a.$renderBlocks = null;
    a.$shadowSize = 0.0;
    a.$shadowOpaque = 0.0;
}
var nms_Render_terrain = null;
var nms_Render_shadow = null;
function nms_Render__init_() {
    var var_0 = new nms_Render();
    nms_Render__init_0(var_0);
    return var_0;
}
function nms_Render__init_0($this) {
    $this.$modelBase = nms_ModelBiped__init_1();
    $this.$renderBlocks = nms_RenderBlocks__init_2();
    $this.$shadowSize = 0.0;
    $this.$shadowOpaque = 1.0;
}
function nms_Render_loadTexture($this, $par1Str) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$renderManager.$renderEngine1;
        $ptr = 1;
    case 1:
        nms_RenderEngine_bindTexture0(var$2, $par1Str);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, var$2, $ptr);
}
function nms_Render_renderEntityOnFire($this, $par1Entity, $par2, $par4, $par6, $par8) {
    var $var9, $var10, $var11, $var12, $var13, $var15, $var16, $var17, $var18, $var19, $var20, $var21, $var22, $var23, var$20, var$21, var$22, var$23, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2
        = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glDisable(2896);
        nms_Block_$callClinit();
        $var9 = nms_BlockFire_func_94438_c(nms_Block_fire, 0);
        $var10 = nms_BlockFire_func_94438_c(nms_Block_fire, 1);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        $var11 = $par1Entity.$width0 * 1.399999976158142;
        nleg_EaglerAdapterGL30_glScalef($var11, $var11, $var11);
        $var12 = nms_Render_terrain;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var12);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        nlea_Tessellator_$callClinit();
        $var12 = nlea_Tessellator_instance;
        $var13 = 0.5;
        $var15 = $par1Entity.$height0 / $var11;
        $var16 = $par1Entity.$posY - $par1Entity.$boundingBox.$minY;
        nleg_EaglerAdapterGL30_glRotatef( -$this.$renderManager.$playerViewY, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-0.30000001192092896) + ($var15 | 0) * 0.019999999552965164);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var17 = 0.0;
        $var18 = 0;
        nlea_Tessellator_startDrawingQuads($var12);
        while ($var15 > 0.0) {
            $var19 = $var18 % 2 | 0 ? $var10 : $var9;
            $var20 = $var19.$getMinU();
            $var21 = $var19.$getMinV();
            $var22 = $var19.$getMaxU();
            $var23 = $var19.$getMaxV();
            if (($var18 / 2 | 0) % 2 | 0) {
                $par8 = $var20;
                $var20 = $var22;
                $var22 = $par8;
            }
            $par6 = $var13 - 0.0;
            $par2 = 0.0 - $var16;
            var$20 = $var17;
            var$21 = $var20;
            $par4 = $var23;
            nlea_Tessellator_addVertexWithUV($var12, $par6, $par2, var$20, var$21, $par4);
            var$22 =  -$var13 - 0.0;
            var$23 = $var22;
            nlea_Tessellator_addVertexWithUV($var12, var$22, $par2, var$20, var$23, $par4);
            $par2 = 1.399999976158142 - $var16;
            $par4 = $var21;
            nlea_Tessellator_addVertexWithUV($var12, var$22, $par2, var$20, var$23, $par4);
            nlea_Tessellator_addVertexWithUV($var12, $par6, $par2, var$20, var$21, $par4);
            $var15 = $var15 - 0.44999998807907104;
            $var16 = $var16 - 0.44999998807907104;
            $var13 = $var13 * 0.8999999761581421;
            $var17 = $var17 + 0.029999999329447746;
            $var18 = $var18 + 1 | 0;
        }
        nlea_Tessellator_draw($var12);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glEnable(2896);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $var9, $var10, $var11, $var12, $var13, $var15, $var16, $var17, $var18, $var19, $var20, $var21, $var22, $var23, var$20, var$21, var$22, var$23, $ptr);
}
function nms_Render_renderShadow($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $var30, $var10, $var11, $var12, $var35, $var14, $var16, var$14, $var31, $var19, $var20, $var21, $var22, $var23, $var24, $var26, $var28, $var32, $var33, $var34, var$27, var$28, var$29, var$30, var$31, var$32, var$33, var$34, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$34 = $thread.pop();var$33 = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();var$29 = $thread.pop();var$28 = $thread.pop();var$27 = $thread.pop();$var34 = $thread.pop();$var33 = $thread.pop();$var32 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var31 = $thread.pop();var$14 = $thread.pop();$var16
        = $thread.pop();$var14 = $thread.pop();$var35 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var30 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        $var30 = nms_Render_shadow;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var30);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10242, 33071);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10243, 33071);
        $var10 = nms_Render_getWorldFromRenderManager($this);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        $var11 = $this.$shadowSize;
        if ($par1Entity instanceof nms_EntityLiving) {
            $var12 = $par1Entity;
            $var11 = $var11 * 1.0;
            if ($var12.$isChild())
                $var11 = $var11 * 0.5;
        }
        $var35 = $par1Entity.$lastTickPosX;
        $var14 = $par1Entity.$posX - $par1Entity.$lastTickPosX;
        $var16 = $par9;
        $var35 = $var35 + $var14 * $var16;
        $var14 = $par1Entity.$lastTickPosY + ($par1Entity.$posY - $par1Entity.$lastTickPosY) * $var16 + $par1Entity.$getShadowSize();
        $var16 = $par1Entity.$lastTickPosZ + ($par1Entity.$posZ - $par1Entity.$lastTickPosZ) * $var16;
        var$14 = $var11;
        $var31 = nms_MathHelper_floor_double($var35 - var$14);
        $var19 = nms_MathHelper_floor_double($var35 + var$14);
        $var20 = nms_MathHelper_floor_double($var14 - var$14);
        $var21 = nms_MathHelper_floor_double($var14);
        $var22 = nms_MathHelper_floor_double($var16 - var$14);
        $var23 = nms_MathHelper_floor_double($var16 + var$14);
        $var24 = $par2 - $var35;
        $var26 = $par4 - $var14;
        $var28 = $par6 - $var16;
        nlea_Tessellator_$callClinit();
        $var30 = nlea_Tessellator_instance;
        nlea_Tessellator_startDrawingQuads($var30);
        $var16 = $par8;
        while ($var31 <= $var19) {
            $var32 = $var20;
            while ($var32 <= $var21) {
                $var33 = $var22;
                while ($var33 <= $var23) {
                    $var34 = nms_World_getBlockId($var10, $var31, $var32 - 1 | 0, $var33);
                    if ($var34 > 0 && nms_World_getBlockLightValue($var10, $var31, $var32, $var33) > 3) {
                        nms_Block_$callClinit();
                        var$27 = nms_Block_blocksList.data[$var34];
                        $var35 = $par4 + $par1Entity.$getShadowSize();
                        $var14 = $var26 + $par1Entity.$getShadowSize();
                        $var12 = nlea_Tessellator_instance;
                        if (var$27.$renderAsNormalBlock()) {
                            var$28 = $var32;
                            $var35 = ($var16 - ($var35 - (var$28 + $var14)) / 2.0) * 0.5 * nms_World_getLightBrightness(nms_Render_getWorldFromRenderManager($this), $var31, $var32, $var33);
                            if ($var35 >= 0.0) {
                                if ($var35 > 1.0)
                                    $var35 = 1.0;
                                nlea_Tessellator_setColorRGBA_F($var12, 1.0, 1.0, 1.0, $var35);
                                $var35 = $var31;
                                var$29 = $var35 + var$27.$minX0 + $var24;
                                var$30 = $var35 + var$27.$maxX0 + $var24;
                                var$28 = var$28 + var$27.$minY0 + $var14 + 0.015625;
                                $var35 = $var33;
                                var$31 = $var35 + var$27.$minZ0 + $var28;
                                var$32 = $var35 + var$27.$maxZ0 + $var28;
                                $par8 = ($par2 - var$29) / 2.0 / var$14 + 0.5;
                                $par9 = ($par2 - var$30) / 2.0 / var$14 + 0.5;
                                var$33 = ($par6 - var$31) / 2.0 / var$14 + 0.5;
                                $var11 = ($par6 - var$32) / 2.0 / var$14 + 0.5;
                                $var35 = $par8;
                                $var14 = var$33;
                                nlea_Tessellator_addVertexWithUV($var12, var$29, var$28, var$31, $var35, $var14);
                                var$34 = $var11;
                                nlea_Tessellator_addVertexWithUV($var12, var$29, var$28, var$32, $var35, var$34);
                                $var35 = $par9;
                                nlea_Tessellator_addVertexWithUV($var12, var$30, var$28, var$32, $var35, var$34);
                                nlea_Tessellator_addVertexWithUV($var12, var$30, var$28, var$31, $var35, $var14);
                            }
                        }
                    }
                    $var33 = $var33 + 1 | 0;
                }
                $var32 = $var32 + 1 | 0;
            }
            $var31 = $var31 + 1 | 0;
        }
        nlea_Tessellator_draw($var30);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $var30, $var10, $var11, $var12, $var35, $var14, $var16, var$14, $var31, $var19, $var20, $var21, $var22, $var23, $var24, $var26, $var28, $var32, $var33, $var34, var$27, var$28, var$29, var$30, var$31, var$32, var$33, var$34, $ptr);
}
function nms_Render_getWorldFromRenderManager($this) {
    return $this.$renderManager.$worldObj0;
}
function nms_Render_renderOffsetAABB($par0AxisAlignedBB, $par1, $par3, $par5) {
    var $var7;
    nleg_EaglerAdapterGL30_glDisable(3553);
    nlea_Tessellator_$callClinit();
    $var7 = nlea_Tessellator_instance;
    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
    nlea_Tessellator_startDrawingQuads($var7);
    nlea_Tessellator_setTranslation($var7, $par1, $par3, $par5);
    nlea_Tessellator_setNormal($var7, 0.0, 0.0, (-1.0));
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_setNormal($var7, 0.0, 0.0, 1.0);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_setNormal($var7, 0.0, (-1.0), 0.0);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_setNormal($var7, 0.0, 1.0, 0.0);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_setNormal($var7, (-1.0), 0.0, 0.0);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$minX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_setNormal($var7, 1.0, 0.0, 0.0);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$minZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$maxY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_addVertex($var7, $par0AxisAlignedBB.$maxX, $par0AxisAlignedBB.$minY, $par0AxisAlignedBB.$maxZ);
    nlea_Tessellator_setTranslation($var7, 0.0, 0.0, 0.0);
    nlea_Tessellator_draw($var7);
    nleg_EaglerAdapterGL30_glEnable(3553);
}
function nms_Render_setRenderManager($this, $par1RenderManager) {
    $this.$renderManager = $par1RenderManager;
}
function nms_Render_doRenderShadowAndFire($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$renderManager.$options1.$fancyGraphics && $this.$shadowSize > 0.0 && !nms_Entity_isInvisible($par1Entity)) {
            $var12 = (1.0 - nms_RenderManager_getDistanceToCamera($this.$renderManager, $par1Entity.$posX, $par1Entity.$posY, $par1Entity.$posZ) / 256.0) * $this.$shadowOpaque;
            if ($var12 > 0.0) {
                $ptr = 2;
                continue main;
            }
        }
        if (!$par1Entity.$canRenderOnFire())
            return;
        $ptr = 1;
    case 1:
        nms_Render_renderEntityOnFire($this, $par1Entity, $par2, $par4, $par6, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_Render_renderShadow($this, $par1Entity, $par2, $par4, $par6, $var12, $par9);
        if ($rt_suspending()) {
            break main;
        }
        if (!$par1Entity.$canRenderOnFire())
            return;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $var12, $ptr);
}
function nms_Render_getFontRendererFromRenderManager($this) {
    return $this.$renderManager.$fontRenderer1;
}
function nms_Render_updateIcons($this, $par1IconRegister) {
    return;
}
function nms_Render__clinit_() {
    nms_Render_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_Render_shadow = nle_TextureLocation__init_($rt_s(1543));
}
function nms_RenderLiving() {
    var a = this; nms_Render.call(a);
    a.$mainModel = null;
    a.$renderPassModel = null;
}
var nms_RenderLiving_glint = null;
function nms_RenderLiving__init_(var_0, var_1) {
    var var_2 = new nms_RenderLiving();
    nms_RenderLiving__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_RenderLiving__init_0($this, $par1ModelBase, $par2) {
    nms_Render__init_0($this);
    $this.$mainModel = $par1ModelBase;
    $this.$shadowSize = $par2;
}
function nms_RenderLiving_setRenderPassModel($this, $par1ModelBase) {
    $this.$renderPassModel = $par1ModelBase;
}
function nms_RenderLiving_interpolateRotation($this, $par1, $par2, $par3) {
    var $var4;
    $var4 = $par2 - $par1;
    while ($var4 < (-180.0)) {
        $var4 = $var4 + 360.0;
    }
    while ($var4 >= 180.0) {
        $var4 = $var4 - 360.0;
    }
    return $par1 + $par3 * $var4;
}
function nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var11, $var12, $var13, $var14, $var15, $var16, var$14, $var25, $var17, $var26, $var18, $var27, $var19, $var20, $var28, $var22, $var29, $var21, $var23, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var23 = $thread.pop();$var21 = $thread.pop();$var29 = $thread.pop();$var22 = $thread.pop();$var28 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var27 = $thread.pop();$var18 = $thread.pop();$var26 = $thread.pop();$var17 = $thread.pop();$var25 = $thread.pop();var$14 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8
        = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glDisable(2884);
        $this.$mainModel.$onGround1 = nms_RenderLiving_renderSwingProgress($this, $par1EntityLiving, $par9);
        if ($this.$renderPassModel !== null)
            $this.$renderPassModel.$onGround1 = $this.$mainModel.$onGround1;
        $this.$mainModel.$isRiding = nms_Entity_isRiding($par1EntityLiving);
        if ($this.$renderPassModel !== null)
            $this.$renderPassModel.$isRiding = $this.$mainModel.$isRiding;
        $this.$mainModel.$isChild0 = $par1EntityLiving.$isChild();
        if ($this.$renderPassModel !== null)
            $this.$renderPassModel.$isChild0 = $this.$mainModel.$isChild0;
        try {
            $var10 = nms_RenderLiving_interpolateRotation($this, $par1EntityLiving.$prevRenderYawOffset, $par1EntityLiving.$renderYawOffset, $par9);
            $var11 = nms_RenderLiving_interpolateRotation($this, $par1EntityLiving.$prevRotationYawHead, $par1EntityLiving.$rotationYawHead, $par9);
            $var12 = $par1EntityLiving.$prevRotationPitch + ($par1EntityLiving.$rotationPitch - $par1EntityLiving.$prevRotationPitch) * $par9;
            $this.$renderLivingAt($par1EntityLiving, $par2, $par4, $par6);
            $var13 = $this.$handleRotationFloat($par1EntityLiving, $par9);
            $this.$rotateCorpse($par1EntityLiving, $var13, $var10, $par9);
            $var14 = 0.0625;
            nleg_EaglerAdapterGL30_glEnable(32826);
            nleg_EaglerAdapterGL30_glScalef((-1.0), (-1.0), 1.0);
            $this.$preRenderCallback($par1EntityLiving, $par9);
            nleg_EaglerAdapterGL30_glTranslatef(0.0, (-1.5078125), 0.0);
            $var15 = $par1EntityLiving.$prevLimbYaw + ($par1EntityLiving.$limbYaw - $par1EntityLiving.$prevLimbYaw) * $par9;
            $var16 = $par1EntityLiving.$limbSwing - $par1EntityLiving.$limbYaw * (1.0 - $par9);
            if ($par1EntityLiving.$isChild())
                $var16 = $var16 * 3.0;
            if ($var15 > 1.0)
                $var15 = 1.0;
            nleg_EaglerAdapterGL30_glEnable(3008);
            $this.$mainModel.$setLivingAnimations($par1EntityLiving, $var16, $var15, $par9);
            var$14 = $var11 - $var10;
            $ptr = 2;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var25 = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace($var25);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 1;
    case 1:
        nms_RenderLiving_passSpecialRender($this, $par1EntityLiving, $par2, $par4, $par6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        try {
            $this.$renderModel($par1EntityLiving, $var16, $var15, $var13, var$14, $var12, $var14);
            if ($rt_suspending()) {
                break main;
            }
            $var17 = 0;
            if ($var17 < 4) {
                $ptr = 4;
                continue main;
            }
            nleg_EaglerAdapterGL30_glDepthMask(1);
            $ptr = 3;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var25 = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace($var25);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 1;
        continue main;
    case 3:
        a: {
            try {
                $this.$renderEquippedItems($par1EntityLiving, $par9);
                if ($rt_suspending()) {
                    break main;
                }
                $var26 = $par1EntityLiving.$getBrightness($par9);
                $var18 = $this.$getColorMultiplier($par1EntityLiving, $var26, $par9);
                nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
                nleg_EaglerAdapterGL30_glDisable(3553);
                nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
                $var17 = $var18 >> 24 & 255;
                if (!($var17 <= 0 && $par1EntityLiving.$hurtTime <= 0 && $par1EntityLiving.$deathTime <= 0)) {
                    nleg_EaglerAdapterGL30_glDisable(3553);
                    nleg_EaglerAdapterGL30_glDisable(3008);
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    nleg_EaglerAdapterGL30_glDepthFunc(514);
                    if (!($par1EntityLiving.$hurtTime <= 0 && $par1EntityLiving.$deathTime <= 0)) {
                        nleg_EaglerAdapterGL30_glColor4f($var26, 0.0, 0.0, 0.4000000059604645);
                        $this.$mainModel.$render0($par1EntityLiving, $var16, $var15, $var13, var$14, $var12, $var14);
                        $var27 = 0;
                        if ($var27 < 4) {
                            $ptr = 7;
                            continue main;
                        }
                    }
                    if ($var17 > 0) {
                        $var19 = ($var18 >> 16 & 255) / 255.0;
                        $var20 = ($var18 >> 8 & 255) / 255.0;
                        $var28 = ($var18 & 255) / 255.0;
                        $var22 = $var17 / 255.0;
                        nleg_EaglerAdapterGL30_glColor4f($var19, $var20, $var28, $var22);
                        $this.$mainModel.$render0($par1EntityLiving, $var16, $var15, $var13, var$14, $var12, $var14);
                        $var29 = 0;
                        if ($var29 < 4) {
                            $ptr = 8;
                            continue main;
                        }
                    }
                    nleg_EaglerAdapterGL30_glDepthFunc(515);
                    nleg_EaglerAdapterGL30_glDisable(3042);
                    nleg_EaglerAdapterGL30_glEnable(3008);
                    nleg_EaglerAdapterGL30_glEnable(3553);
                }
                nleg_EaglerAdapterGL30_glDisable(32826);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var25 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var25);
        }
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 1;
        continue main;
    case 4:
        try {
            $tmp = $this.$shouldRenderPass($par1EntityLiving, $var17, $par9);
            if ($rt_suspending()) {
                break main;
            }
            $var18 = $tmp;
            if ($var18 > 0) {
                $this.$renderPassModel.$setLivingAnimations($par1EntityLiving, $var16, $var15, $par9);
                $this.$renderPassModel.$render0($par1EntityLiving, $var16, $var15, $var13, var$14, $var12, $var14);
                if (($var18 & 240) == 16) {
                    $ptr = 5;
                    continue main;
                }
                if (($var18 & 15) == 15) {
                    $var19 = $par1EntityLiving.$ticksExisted + $par9;
                    $var25 = nms_RenderLiving_glint;
                    $ptr = 6;
                    continue main;
                }
                nleg_EaglerAdapterGL30_glDisable(3042);
                nleg_EaglerAdapterGL30_glEnable(3008);
            }
            $var17 = $var17 + 1 | 0;
            if ($var17 < 4) {
                continue main;
            }
            nleg_EaglerAdapterGL30_glDepthMask(1);
            $ptr = 3;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var25 = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace($var25);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 1;
        continue main;
    case 5:
        try {
            $this.$func_82408_c($par1EntityLiving, $var17, $par9);
            if ($rt_suspending()) {
                break main;
            }
            $this.$renderPassModel.$render0($par1EntityLiving, $var16, $var15, $var13, var$14, $var12, $var14);
            if (($var18 & 15) == 15) {
                $var19 = $par1EntityLiving.$ticksExisted + $par9;
                $var25 = nms_RenderLiving_glint;
                $ptr = 6;
                continue main;
            }
            nleg_EaglerAdapterGL30_glDisable(3042);
            nleg_EaglerAdapterGL30_glEnable(3008);
            $var17 = $var17 + 1 | 0;
            if ($var17 < 4) {
                $ptr = 4;
                continue main;
            }
            nleg_EaglerAdapterGL30_glDepthMask(1);
            $ptr = 3;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var25 = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace($var25);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 1;
        continue main;
    case 6:
        try {
            nle_TextureLocation_bindTexture($var25);
            if ($rt_suspending()) {
                break main;
            }
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glColor4f(0.5, 0.5, 0.5, 1.0);
            nleg_EaglerAdapterGL30_glDepthFunc(514);
            nleg_EaglerAdapterGL30_glDepthMask(0);
            $var21 = 0;
            while ($var21 < 2) {
                nleg_EaglerAdapterGL30_glDisable(2896);
                nleg_EaglerAdapterGL30_glColor4f(0.3799999952316284, 0.1899999976158142, 0.6079999804496765, 1.0);
                nleg_EaglerAdapterGL30_glBlendFunc(768, 1);
                nleg_EaglerAdapterGL30_glMatrixMode(5890);
                nleg_EaglerAdapterGL30_glLoadIdentity();
                $var10 = $var21;
                $var23 = $var19 * (0.0010000000474974513 + $var10 * 0.003000000026077032) * 20.0;
                nleg_EaglerAdapterGL30_glScalef(0.3333333432674408, 0.3333333432674408, 0.3333333432674408);
                nleg_EaglerAdapterGL30_glRotatef(30.0 - $var10 * 60.0, 0.0, 0.0, 1.0);
                nleg_EaglerAdapterGL30_glTranslatef(0.0, $var23, 0.0);
                nleg_EaglerAdapterGL30_glMatrixMode(5888);
                $this.$renderPassModel.$render0($par1EntityLiving, $var16, $var15, $var13, var$14, $var12, $var14);
                $var21 = $var21 + 1 | 0;
            }
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glMatrixMode(5890);
            nleg_EaglerAdapterGL30_glDepthMask(1);
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            nleg_EaglerAdapterGL30_glEnable(2896);
            nleg_EaglerAdapterGL30_glDisable(3042);
            nleg_EaglerAdapterGL30_glDepthFunc(515);
            nleg_EaglerAdapterGL30_glDisable(3042);
            nleg_EaglerAdapterGL30_glEnable(3008);
            $var17 = $var17 + 1 | 0;
            if ($var17 < 4) {
                $ptr = 4;
                continue main;
            }
            nleg_EaglerAdapterGL30_glDepthMask(1);
            $ptr = 3;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var25 = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace($var25);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 1;
        continue main;
    case 7:
        a: {
            try {
                $tmp = $this.$inheritRenderPass($par1EntityLiving, $var27, $par9);
                if ($rt_suspending()) {
                    break main;
                }
                $var21 = $tmp;
                if ($var21 >= 0) {
                    nleg_EaglerAdapterGL30_glColor4f($var26, 0.0, 0.0, 0.4000000059604645);
                    $this.$renderPassModel.$render0($par1EntityLiving, $var16, $var15, $var13, var$14, $var12, $var14);
                }
                $var27 = $var27 + 1 | 0;
                if ($var27 < 4) {
                    continue main;
                }
                if ($var17 > 0) {
                    $var19 = ($var18 >> 16 & 255) / 255.0;
                    $var20 = ($var18 >> 8 & 255) / 255.0;
                    $var28 = ($var18 & 255) / 255.0;
                    $var22 = $var17 / 255.0;
                    nleg_EaglerAdapterGL30_glColor4f($var19, $var20, $var28, $var22);
                    $this.$mainModel.$render0($par1EntityLiving, $var16, $var15, $var13, var$14, $var12, $var14);
                    $var29 = 0;
                    if ($var29 < 4) {
                        $ptr = 8;
                        continue main;
                    }
                }
                nleg_EaglerAdapterGL30_glDepthFunc(515);
                nleg_EaglerAdapterGL30_glDisable(3042);
                nleg_EaglerAdapterGL30_glEnable(3008);
                nleg_EaglerAdapterGL30_glEnable(3553);
                nleg_EaglerAdapterGL30_glDisable(32826);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var25 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var25);
        }
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 1;
        continue main;
    case 8:
        a: {
            try {
                $tmp = $this.$inheritRenderPass($par1EntityLiving, $var29, $par9);
                if ($rt_suspending()) {
                    break main;
                }
                $var21 = $tmp;
                if ($var21 >= 0) {
                    nleg_EaglerAdapterGL30_glColor4f($var19, $var20, $var28, $var22);
                    $this.$renderPassModel.$render0($par1EntityLiving, $var16, $var15, $var13, var$14, $var12, $var14);
                }
                $var29 = $var29 + 1 | 0;
                if ($var29 >= 4) {
                    nleg_EaglerAdapterGL30_glDepthFunc(515);
                    nleg_EaglerAdapterGL30_glDisable(3042);
                    nleg_EaglerAdapterGL30_glEnable(3008);
                    nleg_EaglerAdapterGL30_glEnable(3553);
                    nleg_EaglerAdapterGL30_glDisable(32826);
                    break a;
                }
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var25 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var25);
        }
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_lightmapTexUnit);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $var10, $var11, $var12, $var13, $var14, $var15, $var16, var$14, $var25, $var17, $var26, $var18, $var27, $var19, $var20, $var28, $var22, $var29, $var21, $var23, $ptr);
}
function nms_RenderLiving_renderModel($this, $par1EntityLiving, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $this.$bindTexture2($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_Entity_isInvisible($par1EntityLiving))
            $this.$mainModel.$render0($par1EntityLiving, $par2, $par3, $par4, $par5, $par6, $par7);
        else if ($par1EntityLiving.$func_98034_c(nmc_Minecraft_theMinecraft.$thePlayer))
            $this.$mainModel.$setRotationAngles($par2, $par3, $par4, $par5, $par6, $par7, $par1EntityLiving);
        else {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 0.15000000596046448);
            nleg_EaglerAdapterGL30_glDepthMask(0);
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
            nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.003921568859368563);
            $this.$mainModel.$render0($par1EntityLiving, $par2, $par3, $par4, $par5, $par6, $par7);
            nleg_EaglerAdapterGL30_glDisable(3042);
            nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glDepthMask(1);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $par4, $par5, $par6, $par7, $ptr);
}
function nms_RenderLiving_renderLivingAt($this, $par1EntityLiving, $par2, $par4, $par6) {
    nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
}
function nms_RenderLiving_rotateCorpse($this, $par1EntityLiving, $par2, $par3, $par4) {
    nleg_EaglerAdapterGL30_glRotatef(180.0 - $par3, 0.0, 1.0, 0.0);
    if ($par1EntityLiving.$deathTime > 0) {
        $par2 = nms_MathHelper_sqrt_float(($par1EntityLiving.$deathTime + $par4 - 1.0) / 20.0 * 1.600000023841858);
        if ($par2 > 1.0)
            $par2 = 1.0;
        nleg_EaglerAdapterGL30_glRotatef($par2 * $this.$getDeathMaxRotation($par1EntityLiving), 0.0, 0.0, 1.0);
    }
}
function nms_RenderLiving_renderSwingProgress($this, $par1EntityLiving, $par2) {
    return nms_EntityLiving_getSwingProgress($par1EntityLiving, $par2);
}
function nms_RenderLiving_handleRotationFloat($this, $par1EntityLiving, $par2) {
    return $par1EntityLiving.$ticksExisted + $par2;
}
function nms_RenderLiving_renderEquippedItems($this, $par1EntityLiving, $par2) {
    return;
}
function nms_RenderLiving_renderArrowsStuckInEntity($this, $par1EntityLiving, $par2) {
    var $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var15, $var16, $var18, $var20, $var22, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var22 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = nms_EntityLiving_getArrowCountInEntity($par1EntityLiving);
        if ($var3 > 0) {
            $var4 = nms_EntityArrow__init_0($par1EntityLiving.$worldObj, $par1EntityLiving.$posX, $par1EntityLiving.$posY, $par1EntityLiving.$posZ);
            $var5 = nle_EaglercraftRandom__init_1(Long_fromInt($par1EntityLiving.$entityId));
            nms_RenderHelper_disableStandardItemLighting();
            $var6 = 0;
            if ($var6 < $var3) {
                nleg_EaglerAdapterGL30_glPushMatrix();
                $var7 = nms_ModelBase_getRandomModelBox($this.$mainModel, $var5);
                $var8 = ju_ArrayList_get($var7.$cubeList, nle_EaglercraftRandom_nextInt($var5, $var7.$cubeList.$size));
                nms_ModelRenderer_postRender($var7, 0.0625);
                $var9 = nle_EaglercraftRandom_nextFloat($var5);
                $var10 = nle_EaglercraftRandom_nextFloat($var5);
                $var11 = nle_EaglercraftRandom_nextFloat($var5);
                nleg_EaglerAdapterGL30_glTranslatef(($var8.$posX10 + ($var8.$posX20 - $var8.$posX10) * $var9) / 16.0, ($var8.$posY10 + ($var8.$posY20 - $var8.$posY10) * $var10) / 16.0, ($var8.$posZ10 + ($var8.$posZ20 - $var8.$posZ10) * $var11) / 16.0);
                $var9 = $var9 * 2.0 - 1.0;
                $var10 = $var10 * 2.0 - 1.0;
                $var11 = $var11 * 2.0 - 1.0;
                $var9 = $var9 * (-1.0);
                $var10 = $var10 * (-1.0);
                $var11 = $var11 * (-1.0);
                $var15 = nms_MathHelper_sqrt_float($var9 * $var9 + $var11 * $var11);
                $var9 = jl_Math_atan2($var9, $var11) * 180.0 / 3.141592653589793;
                $var4.$rotationYaw = $var9;
                $var4.$prevRotationYaw = $var9;
                $var9 = jl_Math_atan2($var10, $var15) * 180.0 / 3.141592653589793;
                $var4.$rotationPitch = $var9;
                $var4.$prevRotationPitch = $var9;
                $var16 = 0.0;
                $var18 = 0.0;
                $var20 = 0.0;
                $var22 = 0.0;
                $par1EntityLiving = $this.$renderManager;
                $ptr = 1;
                continue main;
            }
            nms_RenderHelper_enableStandardItemLighting();
        }
        return;
    case 1:
        nms_RenderManager_renderEntityWithPosYaw($par1EntityLiving, $var4, $var16, $var18, $var20, $var22, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        $var6 = $var6 + 1 | 0;
        if ($var6 >= $var3) {
            nms_RenderHelper_enableStandardItemLighting();
            return;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var7 = nms_ModelBase_getRandomModelBox($this.$mainModel, $var5);
        $var8 = ju_ArrayList_get($var7.$cubeList, nle_EaglercraftRandom_nextInt($var5, $var7.$cubeList.$size));
        nms_ModelRenderer_postRender($var7, 0.0625);
        $var9 = nle_EaglercraftRandom_nextFloat($var5);
        $var10 = nle_EaglercraftRandom_nextFloat($var5);
        $var11 = nle_EaglercraftRandom_nextFloat($var5);
        nleg_EaglerAdapterGL30_glTranslatef(($var8.$posX10 + ($var8.$posX20 - $var8.$posX10) * $var9) / 16.0, ($var8.$posY10 + ($var8.$posY20 - $var8.$posY10) * $var10) / 16.0, ($var8.$posZ10 + ($var8.$posZ20 - $var8.$posZ10) * $var11) / 16.0);
        $var9 = $var9 * 2.0 - 1.0;
        $var10 = $var10 * 2.0 - 1.0;
        $var11 = $var11 * 2.0 - 1.0;
        $var9 = $var9 * (-1.0);
        $var10 = $var10 * (-1.0);
        $var11 = $var11 * (-1.0);
        $var15 = nms_MathHelper_sqrt_float($var9 * $var9 + $var11 * $var11);
        $var9 = jl_Math_atan2($var9, $var11) * 180.0 / 3.141592653589793;
        $var4.$rotationYaw = $var9;
        $var4.$prevRotationYaw = $var9;
        $var9 = jl_Math_atan2($var10, $var15) * 180.0 / 3.141592653589793;
        $var4.$rotationPitch = $var9;
        $var4.$prevRotationPitch = $var9;
        $var16 = 0.0;
        $var18 = 0.0;
        $var20 = 0.0;
        $var22 = 0.0;
        $par1EntityLiving = $this.$renderManager;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var15, $var16, $var18, $var20, $var22, $ptr);
}
function nms_RenderLiving_inheritRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $this.$shouldRenderPass($par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderLiving_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    return (-1);
}
function nms_RenderLiving_func_82408_c($this, $par1EntityLiving, $par2, $par3) {
    return;
}
function nms_RenderLiving_getDeathMaxRotation($this, $par1EntityLiving) {
    return 90.0;
}
function nms_RenderLiving_getColorMultiplier($this, $par1EntityLiving, $par2, $par3) {
    return 0;
}
function nms_RenderLiving_preRenderCallback($this, $par1EntityLiving, $par2) {
    return;
}
function nms_RenderLiving_passSpecialRender($this, $par1EntityLiving, $par2, $par4, $par6) {
    var $var16, $var9, $var10, $var12, $var13, $var14, $var15, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var16 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var16 = nmc_Minecraft_theMinecraft !== null && nmc_Minecraft_theMinecraft.$gameSettings.$hideGUI ? 0 : 1;
        a: {
            if ($var16 && $par1EntityLiving !== $this.$renderManager.$livingPlayer && !$par1EntityLiving.$func_98034_c(nmc_Minecraft_theMinecraft.$thePlayer)) {
                if (!$par1EntityLiving.$func_94059_bO()) {
                    if (!nms_EntityLiving_func_94056_bM($par1EntityLiving))
                        break a;
                    if ($par1EntityLiving !== $this.$renderManager.$field_96451_i)
                        break a;
                }
                $var9 = 0.0266666691750288;
                $var10 = nms_Entity_getDistanceSqToEntity($par1EntityLiving, $this.$renderManager.$livingPlayer);
                $var12 = !$par1EntityLiving.$isSneaking() ? 64.0 : 32.0;
                if ($var10 < $var12 * $var12) {
                    $var13 = $par1EntityLiving.$getTranslatedEntityName();
                    if (!$par1EntityLiving.$isSneaking()) {
                        $ptr = 1;
                        continue main;
                    }
                    $var14 = nms_Render_getFontRendererFromRenderManager($this);
                    nleg_EaglerAdapterGL30_glPushMatrix();
                    nleg_EaglerAdapterGL30_glTranslatef($par2 + 0.0, $par4 + $par1EntityLiving.$height0 + 0.5, $par6);
                    nleg_EaglerAdapterGL30_glNormal3f(0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef( -$this.$renderManager.$playerViewY, 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef($this.$renderManager.$playerViewX, 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef((-0.0266666691750288), (-0.0266666691750288), $var9);
                    nleg_EaglerAdapterGL30_glDisable(2896);
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 9.374999046325684, 0.0);
                    nleg_EaglerAdapterGL30_glDepthMask(0);
                    nleg_EaglerAdapterGL30_glEnable(3042);
                    nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
                    nlea_Tessellator_$callClinit();
                    $var15 = nlea_Tessellator_instance;
                    nleg_EaglerAdapterGL30_glDisable(3553);
                    nlea_Tessellator_startDrawingQuads($var15);
                    $var16 = nms_FontRenderer_getStringWidth($var14, $var13) / 2 | 0;
                    nlea_Tessellator_setColorRGBA_F($var15, 0.0, 0.0, 0.0, 0.25);
                    $par2 =  -$var16 - 1 | 0;
                    nlea_Tessellator_addVertex($var15, $par2, (-1.0), 0.0);
                    nlea_Tessellator_addVertex($var15, $par2, 8.0, 0.0);
                    $par2 = $var16 + 1 | 0;
                    nlea_Tessellator_addVertex($var15, $par2, 8.0, 0.0);
                    nlea_Tessellator_addVertex($var15, $par2, (-1.0), 0.0);
                    nlea_Tessellator_draw($var15);
                    nleg_EaglerAdapterGL30_glEnable(3553);
                    nleg_EaglerAdapterGL30_glDepthMask(1);
                    $var16 =  -nms_FontRenderer_getStringWidth($var14, $var13) / 2 | 0;
                    var$12 = 0;
                    var$13 = 553648127;
                    $ptr = 2;
                    continue main;
                }
            }
        }
        return;
    case 1:
        $this.$func_96449_a($par1EntityLiving, $par2, $par4, $par6, $var13, $var9, $var10);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_FontRenderer_drawString($var14, $var13, $var16, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $var16, $var9, $var10, $var12, $var13, $var14, $var15, var$12, var$13, $ptr);
}
function nms_RenderLiving_func_96449_a($this, $par1EntityLiving, $par2, $par4, $par6, $par8Str, $par9, $par10) {
    var var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8Str = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par1EntityLiving.$isPlayerSleeping()) {
            var$8 = 64;
            $ptr = 1;
            continue main;
        }
        $par4 = $par4 - 1.5;
        var$8 = 64;
        $ptr = 2;
        continue main;
    case 1:
        nms_RenderLiving_renderLivingLabel($this, $par1EntityLiving, $par8Str, $par2, $par4, $par6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_RenderLiving_renderLivingLabel($this, $par1EntityLiving, $par8Str, $par2, $par4, $par6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8Str, $par9, $par10, var$8, $ptr);
}
function nms_RenderLiving_renderLivingLabel($this, $par1EntityLiving, $par2Str, $par3, $par5, $par7, $par9) {
    var $var12, $var15, $var16, $var17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var12 = $thread.pop();$par9 = $thread.pop();$par7 = $thread.pop();$par5 = $thread.pop();$par3 = $thread.pop();$par2Str = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_Entity_getDistanceSqToEntity($par1EntityLiving, $this.$renderManager.$livingPlayer) > $rt_imul($par9, $par9))
            return;
        $var12 = nms_Render_getFontRendererFromRenderManager($this);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par3 + 0.0, $par5 + $par1EntityLiving.$height0 + 0.5, $par7);
        nleg_EaglerAdapterGL30_glNormal3f(0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef( -$this.$renderManager.$playerViewY, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef($this.$renderManager.$playerViewX, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef((-0.0266666691750288), (-0.0266666691750288), 0.0266666691750288);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        nleg_EaglerAdapterGL30_glDisable(2929);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nlea_Tessellator_$callClinit();
        $var15 = nlea_Tessellator_instance;
        $var16 = 0;
        if (jl_String_equals($par2Str, $rt_s(1544)))
            $var16 = (-10);
        if ($par1EntityLiving instanceof nms_EntityOtherPlayerMP && nle_DefaultSkinRenderer_getPlayerRenderer($par1EntityLiving) == 19)
            $var16 = (-32);
        nleg_EaglerAdapterGL30_glDisable(3553);
        nlea_Tessellator_startDrawingQuads($var15);
        $var17 = nms_FontRenderer_getStringWidth($var12, $par2Str) / 2 | 0;
        nlea_Tessellator_setColorRGBA_F($var15, 0.0, 0.0, 0.0, 0.25);
        $par5 =  -$var17 - 1 | 0;
        $par7 = (-1) + $var16 | 0;
        nlea_Tessellator_addVertex($var15, $par5, $par7, 0.0);
        $par3 = 8 + $var16 | 0;
        nlea_Tessellator_addVertex($var15, $par5, $par3, 0.0);
        $par5 = $var17 + 1 | 0;
        nlea_Tessellator_addVertex($var15, $par5, $par3, 0.0);
        nlea_Tessellator_addVertex($var15, $par5, $par7, 0.0);
        nlea_Tessellator_draw($var15);
        nleg_EaglerAdapterGL30_glEnable(3553);
        $par9 =  -nms_FontRenderer_getStringWidth($var12, $par2Str) / 2 | 0;
        $var17 = 553648127;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString($var12, $par2Str, $par9, $var16, $var17);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(2929);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        $par9 =  -nms_FontRenderer_getStringWidth($var12, $par2Str) / 2 | 0;
        $var17 = (-1);
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawString($var12, $par2Str, $par9, $var16, $var17);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2Str, $par3, $par5, $par7, $par9, $var12, $var15, $var16, $var17, $ptr);
}
function nms_RenderLiving_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        $this.$doRenderLiving($par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderLiving__clinit_() {
    nms_RenderLiving_glint = nle_TextureLocation__init_($rt_s(1109));
}
function nms_RenderSpider() {
    nms_RenderLiving.call(this);
}
var nms_RenderSpider_tex_eyes = null;
var nms_RenderSpider_entityTexture0 = null;
var nms_RenderSpider_entityTexture1 = null;
function nms_RenderSpider__init_0() {
    var var_0 = new nms_RenderSpider();
    nms_RenderSpider__init_(var_0);
    return var_0;
}
function nms_RenderSpider__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelSpider__init_0(), 1.0);
    $this.$renderPassModel = nms_ModelSpider__init_0();
}
function nms_RenderSpider_setSpiderDeathMaxRotation($this, $par1EntitySpider) {
    return 180.0;
}
function nms_RenderSpider_setSpiderEyeBrightness($this, $par1EntitySpider, $par2, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntitySpider = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par2)
            return (-1);
        var$4 = nms_RenderSpider_tex_eyes;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glBlendFunc(1, 1);
        if (!nms_Entity_isInvisible($par1EntitySpider))
            nleg_EaglerAdapterGL30_glDepthMask(1);
        else
            nleg_EaglerAdapterGL30_glDepthMask(0);
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, 61680.0, 0.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntitySpider, $par2, $par3, var$4, $ptr);
}
function nms_RenderSpider_scaleSpider($this, $par1EntitySpider, $par2) {
    var $var3;
    $var3 = $par1EntitySpider.$spiderScaleAmount();
    nleg_EaglerAdapterGL30_glScalef($var3, $var3, $var3);
}
function nms_RenderSpider_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderSpider_scaleSpider($this, $par1EntityLiving, $par2);
}
function nms_RenderSpider_getDeathMaxRotation($this, $par1EntityLiving) {
    return 180.0;
}
function nms_RenderSpider_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderSpider_setSpiderEyeBrightness($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderSpider_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!($par1EntityLiving instanceof nms_EntityCaveSpider)) {
            $par1EntityLiving = nms_RenderSpider_entityTexture0;
            $ptr = 1;
            continue main;
        }
        $par1EntityLiving = nms_RenderSpider_entityTexture1;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderSpider__clinit_() {
    nms_RenderSpider_tex_eyes = nle_TextureLocation__init_($rt_s(1545));
    nms_RenderSpider_entityTexture0 = nle_TextureLocation__init_($rt_s(1546));
    nms_RenderSpider_entityTexture1 = nle_TextureLocation__init_($rt_s(1547));
}
function nms_EntityCaveSpider() {
    nms_EntitySpider.call(this);
}
function nms_EntityCaveSpider__init_0() {
    var var_0 = new nms_EntityCaveSpider();
    nms_EntityCaveSpider__init_(var_0);
    return var_0;
}
function nms_EntityCaveSpider__init_($this) {
    nms_EntitySpider__init_($this);
    nms_Entity_setSize($this, 0.699999988079071, 0.5);
}
function nms_EntityCaveSpider_getMaxHealth($this) {
    return 12;
}
function nms_EntityCaveSpider_spiderScaleAmount($this) {
    return 0.699999988079071;
}
function nms_EntityCaveSpider_attackEntityAsMob($this, $par1Entity) {
    var $var2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_EntityMob_attackEntityAsMob($this, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $tmp;
        if (!$var2)
            return 0;
        if ($par1Entity instanceof nms_EntityLiving) {
            $var2 = 0;
            if ($this.$worldObj.$difficultySetting > 1) {
                if ($this.$worldObj.$difficultySetting == 2)
                    $var2 = 7;
                else if ($this.$worldObj.$difficultySetting == 3)
                    $var2 = 15;
            }
            if ($var2 > 0)
                $par1Entity.$addPotionEffect(nms_PotionEffect__init_(nms_Potion_poison.$id5, $var2 * 20 | 0, 0));
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $var2, $ptr);
}
function nms_EntityAgeable() {
    var a = this; nms_EntityCreature.call(a);
    a.$field_98056_d = 0.0;
    a.$field_98057_e = 0.0;
}
function nms_EntityAgeable__init_() {
    var var_0 = new nms_EntityAgeable();
    nms_EntityAgeable__init_0(var_0);
    return var_0;
}
function nms_EntityAgeable__init_0($this) {
    nms_EntityCreature__init_0($this);
    $this.$field_98056_d = (-1.0);
}
function nms_EntityAgeable_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 12, jl_Integer__init_(0));
}
function nms_EntityAgeable_getGrowingAge($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 12);
}
function nms_EntityAgeable_setGrowingAge($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 12, jl_Integer_valueOf($par1));
    nms_EntityAgeable_func_98054_a($this, nms_EntityAgeable_isChild($this));
}
function nms_EntityAgeable_onLivingUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityLiving_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityAgeable_func_98054_a($this, nms_EntityAgeable_isChild($this));
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_EntityAgeable_isChild($this) {
    return nms_EntityAgeable_getGrowingAge($this) >= 0 ? 0 : 1;
}
function nms_EntityAgeable_func_98054_a($this, $par1) {
    nms_EntityAgeable_func_98055_j($this, !$par1 ? 1.0 : 0.5);
}
function nms_EntityAgeable_setSize($this, $par1, $par2) {
    var $var3;
    $var3 = $this.$field_98056_d <= 0.0 ? 0 : 1;
    $this.$field_98056_d = $par1;
    $this.$field_98057_e = $par2;
    if (!$var3)
        nms_EntityAgeable_func_98055_j($this, 1.0);
}
function nms_EntityAgeable_func_98055_j($this, $par1) {
    nms_Entity_setSize($this, $this.$field_98056_d * $par1, $this.$field_98057_e * $par1);
}
function nms_EntityAnimal() {
    var a = this; nms_EntityAgeable.call(a);
    a.$inLove = 0;
    a.$breeding = 0;
}
function nms_EntityAnimal__init_() {
    var var_0 = new nms_EntityAnimal();
    nms_EntityAnimal__init_0(var_0);
    return var_0;
}
function nms_EntityAnimal__init_0($this) {
    nms_EntityAgeable__init_0($this);
    $this.$breeding = 0;
}
function nms_EntityAnimal_updateAITick($this) {
    if (nms_EntityAgeable_getGrowingAge($this))
        $this.$inLove = 0;
}
function nms_EntityAnimal_onLivingUpdate($this) {
    var $var1, $var2, $var4, $var6, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityAgeable_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_EntityAgeable_getGrowingAge($this))
            $this.$inLove = 0;
        if ($this.$inLove <= 0)
            $this.$breeding = 0;
        else {
            $this.$inLove = $this.$inLove - 1 | 0;
            $var1 = $rt_s(1181);
            if (!($this.$inLove % 10 | 0)) {
                $var2 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
                $var4 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
                $var6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
                var$5 = $this.$worldObj;
                var$6 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
                var$7 = $this.$posY + 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
                var$8 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 2:
        nms_World_spawnParticle(var$5, $var1, var$6, var$7, var$8, $var2, $var4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, var$5, var$6, var$7, var$8, $ptr);
}
function nms_EntityAnimal_attackEntity($this, $par1Entity, $par2) {
    var $var3, $var7, $var8, var$6, var$7, var$8, var$9, $var5, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();$var5 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1Entity instanceof nms_EntityPlayer) {
            if ($par2 < 3.0) {
                $var3 = $par1Entity.$posX - $this.$posX;
                $this.$rotationYaw = jl_Math_atan2($par1Entity.$posZ - $this.$posZ, $var3) * 180.0 / 3.141592653589793 - 90.0;
                $this.$hasAttacked = 1;
            }
            $var7 = $par1Entity;
            if (!(nms_EntityPlayer_getCurrentEquippedItem($var7) !== null && $this.$isBreedingItem(nms_EntityPlayer_getCurrentEquippedItem($var7))))
                $this.$entityToAttack = null;
        } else if ($par1Entity instanceof nms_EntityAnimal) {
            $var8 = $par1Entity;
            if (nms_EntityAgeable_getGrowingAge($this) > 0 && nms_EntityAgeable_getGrowingAge($var8) < 0) {
                if ($par2 < 2.5)
                    $this.$hasAttacked = 1;
            } else if ($this.$inLove > 0 && $var8.$inLove > 0) {
                if ($var8.$entityToAttack === null)
                    $var8.$entityToAttack = $this;
                if ($var8.$entityToAttack === $this && $par2 < 3.5) {
                    $var8.$inLove = $var8.$inLove + 1 | 0;
                    $this.$inLove = $this.$inLove + 1 | 0;
                    $this.$breeding = $this.$breeding + 1 | 0;
                    if (!($this.$breeding % 4 | 0)) {
                        $par1Entity = $this.$worldObj;
                        $var7 = $rt_s(1181);
                        var$6 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
                        var$7 = $this.$posY + 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
                        var$8 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
                        var$9 = 0.0;
                        $var3 = 0.0;
                        $var5 = 0.0;
                        $ptr = 1;
                        continue main;
                    }
                    if ($this.$breeding == 60) {
                        $par1Entity = $this.$createChild($var8);
                        if ($par1Entity !== null) {
                            nms_EntityAgeable_setGrowingAge($this, 6000);
                            nms_EntityAgeable_setGrowingAge($var8, 6000);
                            $this.$inLove = 0;
                            $this.$breeding = 0;
                            $this.$entityToAttack = null;
                            $var8.$entityToAttack = null;
                            $var8.$breeding = 0;
                            $var8.$inLove = 0;
                            nms_EntityAgeable_setGrowingAge($par1Entity, (-24000));
                            nms_Entity_setLocationAndAngles($par1Entity, $this.$posX, $this.$posY, $this.$posZ, $this.$rotationYaw, $this.$rotationPitch);
                            var$11 = 0;
                            if (var$11 < 7) {
                                $var5 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
                                var$6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
                                var$8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
                                $var8 = $this.$worldObj;
                                $var7 = $rt_s(1181);
                                var$9 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
                                $var3 = $this.$posY + 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
                                var$7 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
                                $ptr = 2;
                                continue main;
                            }
                            nms_WorldClient_spawnEntityInWorld($this.$worldObj, $par1Entity);
                        }
                    }
                } else
                    $this.$breeding = 0;
            } else {
                $this.$breeding = 0;
                $this.$entityToAttack = null;
            }
        }
        return;
    case 1:
        nms_World_spawnParticle($par1Entity, $var7, var$6, var$7, var$8, var$9, $var3, $var5);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$breeding == 60) {
            $par1Entity = $this.$createChild($var8);
            if ($par1Entity !== null) {
                nms_EntityAgeable_setGrowingAge($this, 6000);
                nms_EntityAgeable_setGrowingAge($var8, 6000);
                $this.$inLove = 0;
                $this.$breeding = 0;
                $this.$entityToAttack = null;
                $var8.$entityToAttack = null;
                $var8.$breeding = 0;
                $var8.$inLove = 0;
                nms_EntityAgeable_setGrowingAge($par1Entity, (-24000));
                nms_Entity_setLocationAndAngles($par1Entity, $this.$posX, $this.$posY, $this.$posZ, $this.$rotationYaw, $this.$rotationPitch);
                var$11 = 0;
                if (var$11 < 7) {
                    $var5 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
                    var$6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
                    var$8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
                    $var8 = $this.$worldObj;
                    $var7 = $rt_s(1181);
                    var$9 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
                    $var3 = $this.$posY + 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
                    var$7 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
                    $ptr = 2;
                    continue main;
                }
                nms_WorldClient_spawnEntityInWorld($this.$worldObj, $par1Entity);
            }
        }
        return;
    case 2:
        nms_World_spawnParticle($var8, $var7, var$9, $var3, var$7, $var5, var$6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$11 = var$11 + 1 | 0;
        if (var$11 >= 7) {
            nms_WorldClient_spawnEntityInWorld($this.$worldObj, $par1Entity);
            return;
        }
        $var5 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        var$6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        var$8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var8 = $this.$worldObj;
        $var7 = $rt_s(1181);
        var$9 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        $var3 = $this.$posY + 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
        var$7 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $var3, $var7, $var8, var$6, var$7, var$8, var$9, $var5, var$11, $ptr);
}
function nms_EntityAnimal_attackEntityFrom($this, $par1DamageSource, $par2) {
    if ($this.$invulnerable)
        return 0;
    $this.$fleeingTick = 60;
    $this.$entityToAttack = null;
    $this.$inLove = 0;
    return 0;
}
function nms_EntityAnimal_getBlockPathWeight($this, $par1, $par2, $par3) {
    var var$4;
    var$4 = nms_World_getBlockId($this.$worldObj, $par1, $par2 - 1 | 0, $par3);
    nms_Block_$callClinit();
    return var$4 == nms_Block_grass.$blockID ? 10.0 : nms_World_getLightBrightness($this.$worldObj, $par1, $par2, $par3) - 0.5;
}
function nms_EntityAnimal_findPlayerToAttack($this) {
    var $var2, $var3, $var4, $var5;
    if ($this.$fleeingTick > 0)
        return null;
    a: {
        if ($this.$inLove > 0) {
            $var2 = nms_World_getEntitiesWithinAABB($this.$worldObj, jl_Object_getClass($this), nms_AxisAlignedBB_expand($this.$boundingBox, 8.0, 8.0, 8.0));
            $var3 = 0;
            while (true) {
                if ($var3 >= $var2.$size)
                    break a;
                $var4 = ju_ArrayList_get($var2, $var3);
                if ($var4 !== $this && $var4.$inLove > 0)
                    break;
                $var3 = $var3 + 1 | 0;
            }
            return $var4;
        }
        if (!nms_EntityAgeable_getGrowingAge($this)) {
            $var2 = nms_World_getEntitiesWithinAABB($this.$worldObj, $rt_cls(nms_EntityPlayer), nms_AxisAlignedBB_expand($this.$boundingBox, 8.0, 8.0, 8.0));
            $var3 = 0;
            while (true) {
                if ($var3 >= $var2.$size)
                    break a;
                $var5 = ju_ArrayList_get($var2, $var3);
                if (nms_EntityPlayer_getCurrentEquippedItem($var5) !== null && $this.$isBreedingItem(nms_EntityPlayer_getCurrentEquippedItem($var5)))
                    break;
                $var3 = $var3 + 1 | 0;
            }
            return $var5;
        }
        if (nms_EntityAgeable_getGrowingAge($this) > 0) {
            $var2 = nms_World_getEntitiesWithinAABB($this.$worldObj, jl_Object_getClass($this), nms_AxisAlignedBB_expand($this.$boundingBox, 8.0, 8.0, 8.0));
            $var3 = 0;
            while (true) {
                if ($var3 >= $var2.$size)
                    break a;
                $var4 = ju_ArrayList_get($var2, $var3);
                if ($var4 !== $this && nms_EntityAgeable_getGrowingAge($var4) < 0)
                    break;
                $var3 = $var3 + 1 | 0;
            }
            return $var4;
        }
    }
    return null;
}
function nms_EntityAnimal_getTalkInterval($this) {
    return 120;
}
function nms_EntityAnimal_canDespawn($this) {
    return 0;
}
function nms_EntityAnimal_isBreedingItem($this, $par1ItemStack) {
    var var$2;
    var$2 = $par1ItemStack.$itemID0;
    nms_Item_$callClinit();
    return var$2 != nms_Item_wheat.$itemID ? 0 : 1;
}
function nms_EntityAnimal_interact($this, $par1EntityPlayer) {
    var $var2, $var3, $var4, $var6, $var8, var$7, var$8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
        if ($var2 !== null && $this.$isBreedingItem($var2) && !nms_EntityAgeable_getGrowingAge($this) && $this.$inLove <= 0) {
            if (!$par1EntityPlayer.$capabilities.$isCreativeMode) {
                $var2.$stackSize = $var2.$stackSize - 1 | 0;
                if ($var2.$stackSize <= 0) {
                    $var2 = $par1EntityPlayer.$inventory;
                    $var3 = $par1EntityPlayer.$inventory.$currentItem;
                    $par1EntityPlayer = null;
                    $ptr = 1;
                    continue main;
                }
            }
            $this.$inLove = 600;
            $this.$entityToAttack = null;
            $var3 = 0;
            if ($var3 >= 7)
                return 1;
            $var4 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
            $var6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
            $var8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
            $var2 = $this.$worldObj;
            var$7 = $rt_s(1181);
            var$8 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
            var$9 = $this.$posY + 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
            var$10 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
            $ptr = 2;
            continue main;
        }
        return 0;
    case 1:
        nms_InventoryPlayer_setInventorySlotContents($var2, $var3, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        $this.$inLove = 600;
        $this.$entityToAttack = null;
        $var3 = 0;
        if ($var3 >= 7)
            return 1;
        $var4 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var2 = $this.$worldObj;
        var$7 = $rt_s(1181);
        var$8 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        var$9 = $this.$posY + 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
        var$10 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        $ptr = 2;
    case 2:
        nms_World_spawnParticle($var2, var$7, var$8, var$9, var$10, $var4, $var6, $var8);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $var3 + 1 | 0;
        if ($var3 >= 7)
            return 1;
        $var4 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var2 = $this.$worldObj;
        var$7 = $rt_s(1181);
        var$8 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        var$9 = $this.$posY + 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
        var$10 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $var2, $var3, $var4, $var6, $var8, var$7, var$8, var$9, var$10, $ptr);
}
function nms_EntityAnimal_isInLove($this) {
    return $this.$inLove <= 0 ? 0 : 1;
}
function nms_EntityPig() {
    nms_EntityAnimal.call(this);
}
function nms_EntityPig__init_0() {
    var var_0 = new nms_EntityPig();
    nms_EntityPig__init_(var_0);
    return var_0;
}
function nms_EntityPig__init_($this) {
    nms_EntityAnimal__init_0($this);
    nms_EntityAgeable_setSize($this, 0.8999999761581421, 0.8999999761581421);
}
function nms_EntityPig_isAIEnabled($this) {
    return 1;
}
function nms_EntityPig_getMaxHealth($this) {
    return 10;
}
function nms_EntityPig_updateAITasks($this) {
    nms_EntityLiving_updateAITasks($this);
}
function nms_EntityPig_entityInit($this) {
    nms_EntityAgeable_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte_valueOf(0));
}
function nms_EntityPig_getLivingSound($this) {
    return $rt_s(1548);
}
function nms_EntityPig_getHurtSound($this) {
    return $rt_s(1548);
}
function nms_EntityPig_getDeathSound($this) {
    return $rt_s(1549);
}
function nms_EntityPig_playStepSound($this, $par1, $par2, $par3, $par4) {
    nms_Entity_playSound($this, $rt_s(1550), 0.15000000596046448, 1.0);
}
function nms_EntityPig_getSaddled($this) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 1) ? 0 : 1;
}
function nms_EntityPig_setSaddled($this, $par1) {
    if (!$par1)
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(0));
    else
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(1));
}
function nms_EntityPig_fall($this, $par1) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityLiving_fall($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        if ($par1 > 5.0 && $this.$riddenByEntity instanceof nms_EntityPlayer) {
            var$2 = $this.$riddenByEntity;
            nms_AchievementList_$callClinit();
            nms_EntityPlayer_triggerAchievement(var$2, nms_AchievementList_flyPig);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, $ptr);
}
function nms_EntityPig_spawnBabyAnimal($this, $par1EntityAgeable) {
    var $p;
    $p = nms_EntityPig__init_0();
    nms_Entity_setWorld($p, $this.$worldObj);
    return $p;
}
function nms_EntityPig_isBreedingItem($this, $par1ItemStack) {
    var var$2;
    a: {
        if ($par1ItemStack !== null) {
            var$2 = $par1ItemStack.$itemID0;
            nms_Item_$callClinit();
            if (var$2 == nms_Item_carrot.$itemID) {
                var$2 = 1;
                break a;
            }
        }
        var$2 = 0;
    }
    return var$2;
}
function nms_EntityPig_createChild($this, $par1EntityAgeable) {
    return nms_EntityPig_spawnBabyAnimal($this, $par1EntityAgeable);
}
function nms_RenderPig() {
    nms_RenderLiving.call(this);
}
var nms_RenderPig_saddle = null;
var nms_RenderPig_entityTexture = null;
function nms_RenderPig__init_(var_0, var_1, var_2) {
    var var_3 = new nms_RenderPig();
    nms_RenderPig__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_RenderPig__init_0($this, $par1ModelBase, $par2ModelBase, $par3) {
    nms_RenderLiving__init_0($this, $par1ModelBase, $par3);
    $this.$renderPassModel = $par2ModelBase;
}
function nms_RenderPig_renderSaddledPig($this, $par1EntityPig, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityPig = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par2 && nms_EntityPig_getSaddled($par1EntityPig)) {
            $par1EntityPig = nms_RenderPig_saddle;
            $ptr = 1;
            continue main;
        }
        return (-1);
    case 1:
        nle_TextureLocation_bindTexture($par1EntityPig);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPig, $par2, $par3, $ptr);
}
function nms_RenderPig_renderLivingPig($this, $par1EntityPig, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityPig = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityPig, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPig, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderPig_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderPig_renderSaddledPig($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderPig_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderPig_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderPig_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderPig_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderPig__clinit_() {
    nms_RenderPig_saddle = nle_TextureLocation__init_($rt_s(1551));
    nms_RenderPig_entityTexture = nle_TextureLocation__init_($rt_s(1552));
}
function nms_ModelBase() {
    var a = this; jl_Object.call(a);
    a.$onGround1 = 0.0;
    a.$isRiding = 0;
    a.$boxList = null;
    a.$isChild0 = 0;
    a.$modelTextureMap = null;
    a.$textureWidth = 0;
    a.$textureHeight = 0;
}
function nms_ModelBase__init_() {
    var var_0 = new nms_ModelBase();
    nms_ModelBase__init_0(var_0);
    return var_0;
}
function nms_ModelBase__init_0($this) {
    $this.$isRiding = 0;
    $this.$boxList = ju_ArrayList__init_0();
    $this.$isChild0 = 1;
    $this.$modelTextureMap = ju_HashMap__init_();
    $this.$textureWidth = 64;
    $this.$textureHeight = 32;
}
function nms_ModelBase_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    return;
}
function nms_ModelBase_setLivingAnimations($this, $par1EntityLiving, $par2, $par3, $par4) {
    return;
}
function nms_ModelBase_getRandomModelBox($this, $par1Random) {
    return ju_ArrayList_get($this.$boxList, nle_EaglercraftRandom_nextInt($par1Random, $this.$boxList.$size));
}
function nms_ModelBase_setTextureOffset($this, $par1Str, $par2, $par3) {
    var var$4, var$5;
    var$4 = $this.$modelTextureMap;
    var$5 = new nms_TextureOffset;
    var$5.$textureOffsetX = $par2;
    var$5.$textureOffsetY = $par3;
    ju_HashMap_putImpl(var$4, $par1Str, var$5);
}
function nms_ModelBase_getTextureOffset($this, $par1Str) {
    return ju_HashMap_get($this.$modelTextureMap, $par1Str);
}
function nms_ModelQuadruped() {
    var a = this; nms_ModelBase.call(a);
    a.$head = null;
    a.$body = null;
    a.$leg1 = null;
    a.$leg2 = null;
    a.$leg3 = null;
    a.$leg4 = null;
    a.$field_78145_g = 0.0;
    a.$field_78151_h = 0.0;
}
function nms_ModelQuadruped__init_(var_0, var_1) {
    var var_2 = new nms_ModelQuadruped();
    nms_ModelQuadruped__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_ModelQuadruped__init_0($this, $par1, $par2) {
    var var$3, var$4;
    nms_ModelBase__init_0($this);
    $this.$head = nms_ModelRenderer__init_($this, 0, 0);
    $this.$field_78145_g = 8.0;
    $this.$field_78151_h = 4.0;
    nms_ModelRenderer_addBox($this.$head, (-4.0), (-4.0), (-8.0), 8, 8, 8, $par2);
    nms_ModelRenderer_setRotationPoint($this.$head, 0.0, 18 - $par1 | 0, (-6.0));
    $this.$body = nms_ModelRenderer__init_($this, 28, 8);
    nms_ModelRenderer_addBox($this.$body, (-5.0), (-10.0), (-7.0), 10, 16, 8, $par2);
    nms_ModelRenderer_setRotationPoint($this.$body, 0.0, 17 - $par1 | 0, 2.0);
    $this.$leg1 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg1, (-2.0), 0.0, (-2.0), 4, $par1, 4, $par2);
    var$3 = $this.$leg1;
    var$4 = 24 - $par1 | 0;
    nms_ModelRenderer_setRotationPoint(var$3, (-3.0), var$4, 7.0);
    $this.$leg2 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg2, (-2.0), 0.0, (-2.0), 4, $par1, 4, $par2);
    nms_ModelRenderer_setRotationPoint($this.$leg2, 3.0, var$4, 7.0);
    $this.$leg3 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg3, (-2.0), 0.0, (-2.0), 4, $par1, 4, $par2);
    nms_ModelRenderer_setRotationPoint($this.$leg3, (-3.0), var$4, (-5.0));
    $this.$leg4 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg4, (-2.0), 0.0, (-2.0), 4, $par1, 4, $par2);
    nms_ModelRenderer_setRotationPoint($this.$leg4, 3.0, var$4, (-5.0));
}
function nms_ModelQuadruped_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    $this.$setRotationAngles($par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    if (!$this.$isChild0) {
        nms_ModelRenderer_render($this.$head, $par7);
        nms_ModelRenderer_render($this.$body, $par7);
        nms_ModelRenderer_render($this.$leg1, $par7);
        nms_ModelRenderer_render($this.$leg2, $par7);
        nms_ModelRenderer_render($this.$leg3, $par7);
        nms_ModelRenderer_render($this.$leg4, $par7);
    } else {
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, $this.$field_78145_g * $par7, $this.$field_78151_h * $par7);
        nms_ModelRenderer_render($this.$head, $par7);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 24.0 * $par7, 0.0);
        nms_ModelRenderer_render($this.$body, $par7);
        nms_ModelRenderer_render($this.$leg1, $par7);
        nms_ModelRenderer_render($this.$leg2, $par7);
        nms_ModelRenderer_render($this.$leg3, $par7);
        nms_ModelRenderer_render($this.$leg4, $par7);
        nleg_EaglerAdapterGL30_glPopMatrix();
    }
}
function nms_ModelQuadruped_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    $this.$head.$rotateAngleX = $par5 / 57.2957763671875;
    $this.$head.$rotateAngleY = $par4 / 57.2957763671875;
    $this.$body.$rotateAngleX = 1.5707963705062866;
    $par7Entity = $this.$leg1;
    $par1 = $par1 * 0.6661999821662903;
    $par7Entity.$rotateAngleX = nms_MathHelper_cos($par1) * 1.399999976158142 * $par2;
    $par7Entity = $this.$leg2;
    $par3 = $par1 + 3.1415927410125732;
    $par7Entity.$rotateAngleX = nms_MathHelper_cos($par3) * 1.399999976158142 * $par2;
    $this.$leg3.$rotateAngleX = nms_MathHelper_cos($par3) * 1.399999976158142 * $par2;
    $this.$leg4.$rotateAngleX = nms_MathHelper_cos($par1) * 1.399999976158142 * $par2;
}
function nms_ModelPig() {
    nms_ModelQuadruped.call(this);
}
function nms_ModelPig__init_0() {
    var var_0 = new nms_ModelPig();
    nms_ModelPig__init_(var_0);
    return var_0;
}
function nms_ModelPig__init_1(var_0) {
    var var_1 = new nms_ModelPig();
    nms_ModelPig__init_2(var_1, var_0);
    return var_1;
}
function nms_ModelPig__init_($this) {
    nms_ModelPig__init_2($this, 0.0);
}
function nms_ModelPig__init_2($this, $par1) {
    nms_ModelQuadruped__init_0($this, 6, $par1);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$head, 16, 16), (-2.0), 0.0, (-9.0), 4, 3, 1, $par1);
    $this.$field_78145_g = 4.0;
}
function nms_EntitySheep() {
    var a = this; nms_EntityAnimal.call(a);
    a.$field_90016_e = null;
    a.$sheepTimer = 0;
}
var nms_EntitySheep_fleeceColorTable = null;
function nms_EntitySheep__init_0() {
    var var_0 = new nms_EntitySheep();
    nms_EntitySheep__init_(var_0);
    return var_0;
}
function nms_EntitySheep__init_($this) {
    var var$1, var$2;
    nms_EntityAnimal__init_0($this);
    var$1 = new nms_InventoryCrafting;
    var$2 = new nms_ContainerSheep;
    nms_Container__init_(var$2);
    var$2.$field_90034_a = $this;
    nms_InventoryCrafting__init_(var$1, var$2, 2, 1);
    $this.$field_90016_e = var$1;
    nms_EntityAgeable_setSize($this, 0.8999999761581421, 1.2999999523162842);
    var$1 = $this.$field_90016_e;
    var$2 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_3(var$2, nms_Item_dyePowder, 1, 0);
    nms_InventoryCrafting_setInventorySlotContents(var$1, 0, var$2);
    nms_InventoryCrafting_setInventorySlotContents($this.$field_90016_e, 1, nms_ItemStack__init_4(nms_Item_dyePowder, 1, 0));
}
function nms_EntitySheep_isAIEnabled($this) {
    return 1;
}
function nms_EntitySheep_updateAITasks($this) {
    nms_EntityLiving_updateAITasks($this);
}
function nms_EntitySheep_onLivingUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$sheepTimer = jl_Math_max(0, $this.$sheepTimer - 1 | 0);
        $ptr = 1;
    case 1:
        nms_EntityAnimal_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_EntitySheep_getMaxHealth($this) {
    return 8;
}
function nms_EntitySheep_entityInit($this) {
    nms_EntityAgeable_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte__init_(0));
}
function nms_EntitySheep_handleHealthUpdate($this, $par1) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 == 10) {
            $this.$sheepTimer = 40;
            return;
        }
        $ptr = 1;
    case 1:
        nms_EntityLiving_handleHealthUpdate($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $ptr);
}
function nms_EntitySheep_func_70894_j($this, $par1) {
    return $this.$sheepTimer <= 0 ? 0.0 : $this.$sheepTimer >= 4 && $this.$sheepTimer <= 36 ? 1.0 : $this.$sheepTimer < 4 ? ($this.$sheepTimer - $par1) / 4.0 :  -(($this.$sheepTimer - 40 | 0) - $par1) / 4.0;
}
function nms_EntitySheep_func_70890_k($this, $par1) {
    if ($this.$sheepTimer > 4 && $this.$sheepTimer <= 36)
        return 0.6283185482025146 + 0.21991150081157684 * nms_MathHelper_sin((($this.$sheepTimer - 4 | 0) - $par1) / 32.0 * 28.700000762939453);
    return $this.$sheepTimer > 0 ? 0.6283185482025146 : $this.$rotationPitch / 57.2957763671875;
}
function nms_EntitySheep_interact($this, $par1EntityPlayer) {
    var $var2, var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
        if ($var2 !== null) {
            var$3 = $var2.$itemID0;
            nms_Item_$callClinit();
            if (var$3 == nms_Item_shears.$itemID && !nms_EntitySheep_getSheared($this) && !nms_EntityAgeable_isChild($this)) {
                var$3 = 1;
                $ptr = 2;
                continue main;
            }
        }
        $ptr = 1;
    case 1:
        $tmp = nms_EntityAnimal_interact($this, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $tmp;
        return var$3;
    case 2:
        nms_ItemStack_damageItem($var2, var$3, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $rt_s(1553);
        var$4 = 1.0;
        var$5 = 1.0;
        $ptr = 3;
    case 3:
        nms_Entity_playSound($this, $var2, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $var2, var$3, var$4, var$5, $ptr);
}
function nms_EntitySheep_getLivingSound($this) {
    return $rt_s(1554);
}
function nms_EntitySheep_getHurtSound($this) {
    return $rt_s(1554);
}
function nms_EntitySheep_getDeathSound($this) {
    return $rt_s(1554);
}
function nms_EntitySheep_playStepSound($this, $par1, $par2, $par3, $par4) {
    nms_Entity_playSound($this, $rt_s(1555), 0.15000000596046448, 1.0);
}
function nms_EntitySheep_getFleeceColor($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 15;
}
function nms_EntitySheep_setFleeceColor($this, $par1) {
    var $var2;
    $var2 = nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16);
    nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(($var2 & 240 | $par1 & 15) << 24 >> 24));
}
function nms_EntitySheep_getSheared($this) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 16) ? 0 : 1;
}
function nms_EntitySheep_func_90015_b($this, $par1EntityAgeable) {
    var $var2, $var3, var$4, $var4, var$6;
    a: {
        $var2 = $par1EntityAgeable;
        $var3 = nms_EntitySheep__init_0();
        nms_Entity_setWorld($var3, $this.$worldObj);
        var$4 = nms_EntitySheep_func_90013_b($this, $this);
        $var4 = nms_EntitySheep_func_90013_b($this, $var2);
        nms_ItemStack_setItemDamage(nms_InventoryCrafting_getStackInSlot($this.$field_90016_e, 0), var$4);
        nms_ItemStack_setItemDamage(nms_InventoryCrafting_getStackInSlot($this.$field_90016_e, 1), $var4);
        $var2 = nms_CraftingManager_findMatchingRecipe(nms_CraftingManager_getInstance(), $this.$field_90016_e, $this.$worldObj);
        if ($var2 !== null) {
            var$6 = nms_ItemStack_getItem($var2).$itemID;
            nms_Item_$callClinit();
            if (var$6 == nms_Item_dyePowder.$itemID) {
                $var4 = $var2.$itemDamage;
                break a;
            }
        }
        if (nle_EaglercraftRandom_nextBoolean($this.$worldObj.$rand))
            $var4 = var$4;
    }
    nms_EntitySheep_setFleeceColor($var3, 15 - $var4 | 0);
    return $var3;
}
function nms_EntitySheep_func_90013_b($this, $par1EntityAnimal) {
    return 15 - nms_EntitySheep_getFleeceColor($par1EntityAnimal) | 0;
}
function nms_EntitySheep_createChild($this, $par1EntityAgeable) {
    return nms_EntitySheep_func_90015_b($this, $par1EntityAgeable);
}
function nms_EntitySheep__clinit_() {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createArray($rt_arraycls($rt_floatcls()), 16);
    var$2 = var$1.data;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 1.0;
    var$4[1] = 1.0;
    var$4[2] = 1.0;
    var$2[0] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.8500000238418579;
    var$4[1] = 0.5;
    var$4[2] = 0.20000000298023224;
    var$2[1] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.699999988079071;
    var$4[1] = 0.30000001192092896;
    var$4[2] = 0.8500000238418579;
    var$2[2] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.4000000059604645;
    var$4[1] = 0.6000000238418579;
    var$4[2] = 0.8500000238418579;
    var$2[3] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.8999999761581421;
    var$4[1] = 0.8999999761581421;
    var$4[2] = 0.20000000298023224;
    var$2[4] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.5;
    var$4[1] = 0.800000011920929;
    var$4[2] = 0.10000000149011612;
    var$2[5] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.949999988079071;
    var$4[1] = 0.5;
    var$4[2] = 0.6499999761581421;
    var$2[6] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.30000001192092896;
    var$4[1] = 0.30000001192092896;
    var$4[2] = 0.30000001192092896;
    var$2[7] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.6000000238418579;
    var$4[1] = 0.6000000238418579;
    var$4[2] = 0.6000000238418579;
    var$2[8] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.30000001192092896;
    var$4[1] = 0.5;
    var$4[2] = 0.6000000238418579;
    var$2[9] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.5;
    var$4[1] = 0.25;
    var$4[2] = 0.699999988079071;
    var$2[10] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.20000000298023224;
    var$4[1] = 0.30000001192092896;
    var$4[2] = 0.699999988079071;
    var$2[11] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.4000000059604645;
    var$4[1] = 0.30000001192092896;
    var$4[2] = 0.20000000298023224;
    var$2[12] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.4000000059604645;
    var$4[1] = 0.5;
    var$4[2] = 0.20000000298023224;
    var$2[13] = var$3;
    var$3 = $rt_createFloatArray(3);
    var$4 = var$3.data;
    var$4[0] = 0.6000000238418579;
    var$4[1] = 0.20000000298023224;
    var$4[2] = 0.20000000298023224;
    var$2[14] = var$3;
    var$4 = $rt_createFloatArray(3);
    var$3 = var$4.data;
    var$3[0] = 0.10000000149011612;
    var$3[1] = 0.10000000149011612;
    var$3[2] = 0.10000000149011612;
    var$2[15] = var$4;
    nms_EntitySheep_fleeceColorTable = var$1;
}
function nms_RenderSheep() {
    nms_RenderLiving.call(this);
}
var nms_RenderSheep_tex_fur = null;
var nms_RenderSheep_entityTexture = null;
function nms_RenderSheep__init_(var_0, var_1, var_2) {
    var var_3 = new nms_RenderSheep();
    nms_RenderSheep__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_RenderSheep__init_0($this, $par1ModelBase, $par2ModelBase, $par3) {
    nms_RenderLiving__init_0($this, $par1ModelBase, $par3);
    $this.$renderPassModel = $par2ModelBase;
}
function nms_RenderSheep_setWoolColorAndRender($this, $par1EntitySheep, $par2, $par3) {
    var var$4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntitySheep = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par2 && !nms_EntitySheep_getSheared($par1EntitySheep)) {
            var$4 = nms_RenderSheep_tex_fur;
            $ptr = 1;
            continue main;
        }
        return (-1);
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = nms_EntitySheep_getFleeceColor($par1EntitySheep);
        nleg_EaglerAdapterGL30_glColor3f(1.0 * nms_EntitySheep_fleeceColorTable.data[$var5].data[0], 1.0 * nms_EntitySheep_fleeceColorTable.data[$var5].data[1], 1.0 * nms_EntitySheep_fleeceColorTable.data[$var5].data[2]);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntitySheep, $par2, $par3, var$4, $var5, $ptr);
}
function nms_RenderSheep_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderSheep_setWoolColorAndRender($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderSheep_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderSheep_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderSheep__clinit_() {
    nms_RenderSheep_tex_fur = nle_TextureLocation__init_($rt_s(1556));
    nms_RenderSheep_entityTexture = nle_TextureLocation__init_($rt_s(1557));
}
function nms_ModelSheep2() {
    nms_ModelQuadruped.call(this);
    this.$field_78153_i = 0.0;
}
function nms_ModelSheep2__init_0() {
    var var_0 = new nms_ModelSheep2();
    nms_ModelSheep2__init_(var_0);
    return var_0;
}
function nms_ModelSheep2__init_($this) {
    nms_ModelQuadruped__init_0($this, 12, 0.0);
    $this.$head = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$head, (-3.0), (-4.0), (-6.0), 6, 6, 8, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$head, 0.0, 6.0, (-8.0));
    $this.$body = nms_ModelRenderer__init_($this, 28, 8);
    nms_ModelRenderer_addBox($this.$body, (-4.0), (-10.0), (-7.0), 8, 16, 6, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$body, 0.0, 5.0, 2.0);
}
function nms_ModelSheep2_setLivingAnimations($this, $par1EntityLiving, $par2, $par3, $par4) {
    var var$5;
    var$5 = $this.$head;
    $par1EntityLiving = $par1EntityLiving;
    var$5.$rotationPointY = 6.0 + nms_EntitySheep_func_70894_j($par1EntityLiving, $par4) * 9.0;
    $this.$field_78153_i = nms_EntitySheep_func_70890_k($par1EntityLiving, $par4);
}
function nms_ModelSheep2_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    nms_ModelQuadruped_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity);
    $this.$head.$rotateAngleX = $this.$field_78153_i;
}
function nms_ModelSheep1() {
    nms_ModelQuadruped.call(this);
    this.$field_78152_i = 0.0;
}
function nms_ModelSheep1__init_0() {
    var var_0 = new nms_ModelSheep1();
    nms_ModelSheep1__init_(var_0);
    return var_0;
}
function nms_ModelSheep1__init_($this) {
    nms_ModelQuadruped__init_0($this, 12, 0.0);
    $this.$head = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$head, (-3.0), (-4.0), (-4.0), 6, 6, 6, 0.6000000238418579);
    nms_ModelRenderer_setRotationPoint($this.$head, 0.0, 6.0, (-8.0));
    $this.$body = nms_ModelRenderer__init_($this, 28, 8);
    nms_ModelRenderer_addBox($this.$body, (-4.0), (-10.0), (-7.0), 8, 16, 6, 1.75);
    nms_ModelRenderer_setRotationPoint($this.$body, 0.0, 5.0, 2.0);
    $this.$leg1 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg1, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.5);
    nms_ModelRenderer_setRotationPoint($this.$leg1, (-3.0), 12.0, 7.0);
    $this.$leg2 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg2, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.5);
    nms_ModelRenderer_setRotationPoint($this.$leg2, 3.0, 12.0, 7.0);
    $this.$leg3 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg3, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.5);
    nms_ModelRenderer_setRotationPoint($this.$leg3, (-3.0), 12.0, (-5.0));
    $this.$leg4 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg4, (-2.0), 0.0, (-2.0), 4, 6, 4, 0.5);
    nms_ModelRenderer_setRotationPoint($this.$leg4, 3.0, 12.0, (-5.0));
}
function nms_ModelSheep1_setLivingAnimations($this, $par1EntityLiving, $par2, $par3, $par4) {
    var var$5;
    var$5 = $this.$head;
    $par1EntityLiving = $par1EntityLiving;
    var$5.$rotationPointY = 6.0 + nms_EntitySheep_func_70894_j($par1EntityLiving, $par4) * 9.0;
    $this.$field_78152_i = nms_EntitySheep_func_70890_k($par1EntityLiving, $par4);
}
function nms_ModelSheep1_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    nms_ModelQuadruped_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity);
    $this.$head.$rotateAngleX = $this.$field_78152_i;
}
function nms_EntityCow() {
    nms_EntityAnimal.call(this);
}
function nms_EntityCow__init_0() {
    var var_0 = new nms_EntityCow();
    nms_EntityCow__init_(var_0);
    return var_0;
}
function nms_EntityCow__init_($this) {
    nms_EntityAnimal__init_0($this);
    nms_EntityAgeable_setSize($this, 0.8999999761581421, 1.2999999523162842);
}
function nms_EntityCow_isAIEnabled($this) {
    return 1;
}
function nms_EntityCow_getMaxHealth($this) {
    return 10;
}
function nms_EntityCow_getLivingSound($this) {
    return $rt_s(1558);
}
function nms_EntityCow_getHurtSound($this) {
    return $rt_s(1559);
}
function nms_EntityCow_getDeathSound($this) {
    return $rt_s(1559);
}
function nms_EntityCow_playStepSound($this, $par1, $par2, $par3, $par4) {
    nms_Entity_playSound($this, $rt_s(1560), 0.15000000596046448, 1.0);
}
function nms_EntityCow_getSoundVolume($this) {
    return 0.4000000059604645;
}
function nms_EntityCow_interact($this, $par1EntityPlayer) {
    var $var2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
        if ($var2 !== null) {
            var$3 = $var2.$itemID0;
            nms_Item_$callClinit();
            if (var$3 == nms_Item_bucketEmpty.$itemID) {
                var$3 = $var2.$stackSize - 1 | 0;
                $var2.$stackSize = var$3;
                if (var$3 > 0) {
                    if (!nms_InventoryPlayer_addItemStackToInventory($par1EntityPlayer.$inventory, nms_ItemStack__init_5(nms_Item_bucketMilk)))
                        nms_EntityPlayer_dropPlayerItem($par1EntityPlayer, nms_ItemStack__init_0(nms_Item_bucketMilk.$itemID, 1, 0));
                    return 1;
                }
                $var2 = $par1EntityPlayer.$inventory;
                var$3 = $par1EntityPlayer.$inventory.$currentItem;
                $par1EntityPlayer = nms_ItemStack__init_5(nms_Item_bucketMilk);
                $ptr = 2;
                continue main;
            }
        }
        $ptr = 1;
    case 1:
        $tmp = nms_EntityAnimal_interact($this, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $tmp;
        return var$3;
    case 2:
        nms_InventoryPlayer_setInventorySlotContents($var2, var$3, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $var2, var$3, $ptr);
}
function nms_EntityCow_spawnBabyAnimal($this, $par1EntityAgeable) {
    var $c;
    $c = nms_EntityCow__init_0();
    nms_Entity_setWorld($c, $this.$worldObj);
    return $c;
}
function nms_EntityCow_createChild($this, $par1EntityAgeable) {
    return $this.$spawnBabyAnimal0($par1EntityAgeable);
}
function nms_RenderCow() {
    nms_RenderLiving.call(this);
}
var nms_RenderCow_entityTexture = null;
function nms_RenderCow__init_(var_0, var_1) {
    var var_2 = new nms_RenderCow();
    nms_RenderCow__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_RenderCow__init_0($this, $par1ModelBase, $par2) {
    nms_RenderLiving__init_0($this, $par1ModelBase, $par2);
}
function nms_RenderCow_renderCow($this, $par1EntityCow, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityCow = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityCow, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityCow, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderCow_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderCow_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderCow_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderCow_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderCow__clinit_() {
    nms_RenderCow_entityTexture = nle_TextureLocation__init_($rt_s(1561));
}
function nms_ModelCow() {
    nms_ModelQuadruped.call(this);
}
function nms_ModelCow__init_0() {
    var var_0 = new nms_ModelCow();
    nms_ModelCow__init_(var_0);
    return var_0;
}
function nms_ModelCow__init_($this) {
    var var$1;
    nms_ModelQuadruped__init_0($this, 12, 0.0);
    $this.$head = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$head, (-4.0), (-4.0), (-6.0), 8, 8, 6, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$head, 0.0, 4.0, (-8.0));
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$head, 22, 0), (-5.0), (-5.0), (-4.0), 1, 3, 1, 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$head, 22, 0), 4.0, (-5.0), (-4.0), 1, 3, 1, 0.0);
    $this.$body = nms_ModelRenderer__init_($this, 18, 4);
    nms_ModelRenderer_addBox($this.$body, (-6.0), (-10.0), (-7.0), 12, 18, 10, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$body, 0.0, 5.0, 2.0);
    nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($this.$body, 52, 0), (-2.0), 2.0, (-8.0), 4, 6, 1);
    var$1 = $this.$leg1;
    var$1.$rotationPointX = var$1.$rotationPointX - 1.0;
    var$1 = $this.$leg2;
    var$1.$rotationPointX = var$1.$rotationPointX + 1.0;
    var$1 = $this.$leg1;
    var$1.$rotationPointZ = var$1.$rotationPointZ + 0.0;
    var$1 = $this.$leg2;
    var$1.$rotationPointZ = var$1.$rotationPointZ + 0.0;
    var$1 = $this.$leg3;
    var$1.$rotationPointX = var$1.$rotationPointX - 1.0;
    var$1 = $this.$leg4;
    var$1.$rotationPointX = var$1.$rotationPointX + 1.0;
    var$1 = $this.$leg3;
    var$1.$rotationPointZ = var$1.$rotationPointZ - 1.0;
    var$1 = $this.$leg4;
    var$1.$rotationPointZ = var$1.$rotationPointZ - 1.0;
    $this.$field_78151_h = $this.$field_78151_h + 2.0;
}
function nms_EntityMooshroom() {
    nms_EntityCow.call(this);
}
function nms_EntityMooshroom__init_0() {
    var var_0 = new nms_EntityMooshroom();
    nms_EntityMooshroom__init_(var_0);
    return var_0;
}
function nms_EntityMooshroom__init_($this) {
    nms_EntityCow__init_($this);
    nms_EntityAgeable_setSize($this, 0.8999999761581421, 1.2999999523162842);
}
function nms_EntityMooshroom_interact($this, $par1EntityPlayer) {
    var $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
        if ($var2 !== null) {
            var$3 = $var2.$itemID0;
            nms_Item_$callClinit();
            if (var$3 == nms_Item_bowlEmpty.$itemID && nms_EntityAgeable_getGrowingAge($this) >= 0) {
                if ($var2.$stackSize == 1) {
                    var$4 = $par1EntityPlayer.$inventory;
                    var$3 = $par1EntityPlayer.$inventory.$currentItem;
                    $par1EntityPlayer = nms_ItemStack__init_5(nms_Item_bowlSoup);
                    $ptr = 4;
                    continue main;
                }
                if (nms_InventoryPlayer_addItemStackToInventory($par1EntityPlayer.$inventory, nms_ItemStack__init_5(nms_Item_bowlSoup)) && !$par1EntityPlayer.$capabilities.$isCreativeMode) {
                    var$4 = $par1EntityPlayer.$inventory;
                    var$3 = $par1EntityPlayer.$inventory.$currentItem;
                    var$5 = 1;
                    $ptr = 5;
                    continue main;
                }
            }
        }
        if ($var2 !== null) {
            var$3 = $var2.$itemID0;
            nms_Item_$callClinit();
            if (var$3 == nms_Item_shears.$itemID && nms_EntityAgeable_getGrowingAge($this) >= 0) {
                $ptr = 2;
                continue main;
            }
        }
        $ptr = 1;
    case 1:
        $tmp = nms_EntityCow_interact($this, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $tmp;
        return var$3;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        $par1EntityPlayer = $this.$worldObj;
        var$4 = $rt_s(1159);
        var$6 = $this.$posX;
        var$7 = $this.$posY + $this.$height0 / 2.0;
        var$8 = $this.$posZ;
        var$9 = 0.0;
        var$10 = 0.0;
        var$11 = 0.0;
        $ptr = 3;
    case 3:
        nms_World_spawnParticle($par1EntityPlayer, var$4, var$6, var$7, var$8, var$9, var$10, var$11);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    case 4:
        nms_InventoryPlayer_setInventorySlotContents(var$4, var$3, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    case 5:
        nms_InventoryPlayer_decrStackSize(var$4, var$3, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
}
function nms_EntityMooshroom_func_94900_c($this, $par1EntityAgeable) {
    var $m;
    $m = nms_EntityMooshroom__init_0();
    nms_Entity_setWorld($m, $this.$worldObj);
    return $m;
}
function nms_EntityMooshroom_spawnBabyAnimal($this, $par1EntityAgeable) {
    return nms_EntityMooshroom_func_94900_c($this, $par1EntityAgeable);
}
function nms_EntityMooshroom_createChild($this, $par1EntityAgeable) {
    return nms_EntityMooshroom_func_94900_c($this, $par1EntityAgeable);
}
function nms_RenderMooshroom() {
    nms_RenderLiving.call(this);
}
var nms_RenderMooshroom_terrain = null;
var nms_RenderMooshroom_entityTexture = null;
function nms_RenderMooshroom__init_(var_0, var_1) {
    var var_2 = new nms_RenderMooshroom();
    nms_RenderMooshroom__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_RenderMooshroom__init_0($this, $par1ModelBase, $par2) {
    nms_RenderLiving__init_0($this, $par1ModelBase, $par2);
}
function nms_RenderMooshroom_renderLivingMooshroom($this, $par1EntityMooshroom, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityMooshroom = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityMooshroom, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityMooshroom, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderMooshroom_renderMooshroomEquippedItems($this, $par1EntityMooshroom, $par2) {
    var var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1EntityMooshroom = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_EntityAgeable_isChild($par1EntityMooshroom))
            return;
        $par1EntityMooshroom = nms_RenderMooshroom_terrain;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityMooshroom);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(1.0, (-1.0), 1.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.20000000298023224, 0.4000000059604645, 0.5);
        nleg_EaglerAdapterGL30_glRotatef(42.0, 0.0, 1.0, 0.0);
        $par1EntityMooshroom = $this.$renderBlocks;
        nms_Block_$callClinit();
        var$3 = nms_Block_mushroomRed;
        var$4 = 0;
        $par2 = 1.0;
        $ptr = 2;
    case 2:
        nms_RenderBlocks_renderBlockAsItem($par1EntityMooshroom, var$3, var$4, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTranslatef(0.10000000149011612, 0.0, (-0.6000000238418579));
        nleg_EaglerAdapterGL30_glRotatef(42.0, 0.0, 1.0, 0.0);
        $par1EntityMooshroom = $this.$renderBlocks;
        var$3 = nms_Block_mushroomRed;
        var$4 = 0;
        $par2 = 1.0;
        $ptr = 3;
    case 3:
        nms_RenderBlocks_renderBlockAsItem($par1EntityMooshroom, var$3, var$4, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nms_ModelRenderer_postRender($this.$mainModel.$head, 0.0625);
        nleg_EaglerAdapterGL30_glScalef(1.0, (-1.0), 1.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.75, (-0.20000000298023224));
        nleg_EaglerAdapterGL30_glRotatef(12.0, 0.0, 1.0, 0.0);
        $par1EntityMooshroom = $this.$renderBlocks;
        var$3 = nms_Block_mushroomRed;
        var$4 = 0;
        $par2 = 1.0;
        $ptr = 4;
    case 4:
        nms_RenderBlocks_renderBlockAsItem($par1EntityMooshroom, var$3, var$4, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(2884);
        nleg_EaglerAdapterGL30_flipLightMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityMooshroom, $par2, var$3, var$4, $ptr);
}
function nms_RenderMooshroom_renderEquippedItems($this, $par1EntityLiving, $par2) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderMooshroom_renderMooshroomEquippedItems($this, $par1EntityLiving, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $ptr);
}
function nms_RenderMooshroom_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderMooshroom_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderMooshroom_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderMooshroom_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderMooshroom__clinit_() {
    nms_RenderMooshroom_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_RenderMooshroom_entityTexture = nle_TextureLocation__init_($rt_s(1562));
}
function nms_EntityTameable() {
    nms_EntityAnimal.call(this);
}
function nms_EntityTameable_entityInit($this) {
    nms_EntityAgeable_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte_valueOf(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 17, $rt_s(36));
}
function nms_EntityTameable_playTameEffect($this, $par1) {
    var $var2, $var3, $var4, $var6, $var8, var$7, var$8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $rt_s(1181);
        if (!$par1)
            $var2 = $rt_s(1166);
        $var3 = 0;
        if ($var3 >= 7)
            return;
        $var4 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        var$7 = $this.$worldObj;
        var$8 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        var$9 = $this.$posY + 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
        var$10 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle(var$7, $var2, var$8, var$9, var$10, $var4, $var6, $var8);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $var3 + 1 | 0;
        if ($var3 >= 7)
            return;
        $var4 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        var$7 = $this.$worldObj;
        var$8 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        var$9 = $this.$posY + 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
        var$10 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $var3, $var4, $var6, $var8, var$7, var$8, var$9, var$10, $ptr);
}
function nms_EntityTameable_handleHealthUpdate($this, $par1) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 == 7) {
            $par1 = 1;
            $ptr = 1;
            continue main;
        }
        if ($par1 != 6) {
            $ptr = 2;
            continue main;
        }
        $par1 = 0;
        $ptr = 3;
        continue main;
    case 1:
        nms_EntityTameable_playTameEffect($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_EntityLiving_handleHealthUpdate($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_EntityTameable_playTameEffect($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $ptr);
}
function nms_EntityTameable_isTamed($this) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 4) ? 0 : 1;
}
function nms_EntityTameable_setTamed($this, $par1) {
    var $var2;
    $var2 = nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16);
    if (!$par1)
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(($var2 & (-5)) << 24 >> 24));
    else
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(($var2 | 4) << 24 >> 24));
}
function nms_EntityTameable_isSitting($this) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 1) ? 0 : 1;
}
function nms_EntityTameable_setSitting($this, $par1) {
    var $var2;
    $var2 = nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16);
    if (!$par1)
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(($var2 & (-2)) << 24 >> 24));
    else
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(($var2 | 1) << 24 >> 24));
}
function nms_EntityTameable_getOwnerName($this) {
    return nms_DataWatcher_getWatchableObjectString($this.$dataWatcher, 17);
}
function nms_EntityTameable_setOwner($this, $par1Str) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 17, $par1Str);
}
function nms_EntityWolf() {
    var a = this; nms_EntityTameable.call(a);
    a.$field_70926_e = 0.0;
    a.$field_70924_f = 0.0;
    a.$isShaking = 0;
    a.$field_70928_h = 0;
    a.$timeWolfIsShaking = 0.0;
    a.$prevTimeWolfIsShaking = 0.0;
}
function nms_EntityWolf__init_0() {
    var var_0 = new nms_EntityWolf();
    nms_EntityWolf__init_(var_0);
    return var_0;
}
function nms_EntityWolf__init_($this) {
    nms_EntityAnimal__init_0($this);
    nms_EntityAgeable_setSize($this, 0.6000000238418579, 0.800000011920929);
    $this.$moveSpeed = 0.30000001192092896;
}
function nms_EntityWolf_isAIEnabled($this) {
    return 1;
}
function nms_EntityWolf_updateAITick($this) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 18, jl_Integer_valueOf($this.$health));
}
function nms_EntityWolf_getMaxHealth($this) {
    return !nms_EntityTameable_isTamed($this) ? 8 : 20;
}
function nms_EntityWolf_entityInit($this) {
    nms_EntityTameable_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 18, jl_Integer__init_($this.$health));
    nms_DataWatcher_addObject($this.$dataWatcher, 19, jl_Byte__init_(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 20, jl_Byte__init_(nms_BlockCloth_getBlockFromDye(1) << 24 >> 24));
}
function nms_EntityWolf_playStepSound($this, $par1, $par2, $par3, $par4) {
    nms_Entity_playSound($this, $rt_s(1563), 0.15000000596046448, 1.0);
}
function nms_EntityWolf_canDespawn($this) {
    return nms_EntityWolf_isAngry($this) && !nms_EntityTameable_isTamed($this) ? 1 : 0;
}
function nms_EntityWolf_getLivingSound($this) {
    return nms_EntityWolf_isAngry($this) ? $rt_s(1564) : nle_EaglercraftRandom_nextInt($this.$rand0, 3) ? $rt_s(1565) : nms_EntityTameable_isTamed($this) && nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 18) < 10 ? $rt_s(1566) : $rt_s(1567);
}
function nms_EntityWolf_getHurtSound($this) {
    return $rt_s(1568);
}
function nms_EntityWolf_getDeathSound($this) {
    return $rt_s(1569);
}
function nms_EntityWolf_getSoundVolume($this) {
    return 0.4000000059604645;
}
function nms_EntityWolf_onUpdate($this) {
    var var$1, $var5, $var1, $var2, $var3, var$6, $var4, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var4 = $thread.pop();var$6 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var5 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityLiving_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_70924_f = $this.$field_70926_e;
        if (!nms_EntityWolf_func_70922_bv($this))
            $this.$field_70926_e = $this.$field_70926_e + (0.0 - $this.$field_70926_e) * 0.4000000059604645;
        else
            $this.$field_70926_e = $this.$field_70926_e + (1.0 - $this.$field_70926_e) * 0.4000000059604645;
        if (nms_EntityWolf_func_70922_bv($this))
            $this.$numTicksToChaseTarget = 10;
        if (nms_Entity_isWet($this)) {
            $this.$isShaking = 1;
            $this.$field_70928_h = 0;
            $this.$timeWolfIsShaking = 0.0;
            $this.$prevTimeWolfIsShaking = 0.0;
        } else if (!(!$this.$isShaking && !$this.$field_70928_h) && $this.$field_70928_h) {
            if ($this.$timeWolfIsShaking === 0.0) {
                var$1 = $rt_s(1570);
                $var5 = 0.4000000059604645;
                $var1 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0;
                $ptr = 2;
                continue main;
            }
            $this.$prevTimeWolfIsShaking = $this.$timeWolfIsShaking;
            $this.$timeWolfIsShaking = $this.$timeWolfIsShaking + 0.05000000074505806;
            if ($this.$prevTimeWolfIsShaking >= 2.0) {
                $this.$isShaking = 0;
                $this.$field_70928_h = 0;
                $this.$prevTimeWolfIsShaking = 0.0;
                $this.$timeWolfIsShaking = 0.0;
            }
            if ($this.$timeWolfIsShaking > 0.4000000059604645) {
                $var1 = $this.$boundingBox.$minY;
                $var2 = nms_MathHelper_sin(($this.$timeWolfIsShaking - 0.4000000059604645) * 3.1415927410125732) * 7.0 | 0;
                $var3 = 0;
                var$6 = $var1 + 0.800000011920929;
                if ($var3 < $var2) {
                    $var4 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0 * 0.5;
                    $var5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0 * 0.5;
                    var$1 = $this.$worldObj;
                    var$8 = $rt_s(1018);
                    var$9 = $this.$posX + $var4;
                    var$10 = $this.$posZ + $var5;
                    var$11 = $this.$motionX;
                    var$12 = $this.$motionY;
                    var$13 = $this.$motionZ;
                    $ptr = 3;
                    continue main;
                }
            }
        }
        return;
    case 2:
        nms_Entity_playSound($this, var$1, $var5, $var1);
        if ($rt_suspending()) {
            break main;
        }
        $this.$prevTimeWolfIsShaking = $this.$timeWolfIsShaking;
        $this.$timeWolfIsShaking = $this.$timeWolfIsShaking + 0.05000000074505806;
        if ($this.$prevTimeWolfIsShaking >= 2.0) {
            $this.$isShaking = 0;
            $this.$field_70928_h = 0;
            $this.$prevTimeWolfIsShaking = 0.0;
            $this.$timeWolfIsShaking = 0.0;
        }
        if ($this.$timeWolfIsShaking > 0.4000000059604645) {
            $var1 = $this.$boundingBox.$minY;
            $var2 = nms_MathHelper_sin(($this.$timeWolfIsShaking - 0.4000000059604645) * 3.1415927410125732) * 7.0 | 0;
            $var3 = 0;
            var$6 = $var1 + 0.800000011920929;
            if ($var3 < $var2) {
                $var4 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0 * 0.5;
                $var5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0 * 0.5;
                var$1 = $this.$worldObj;
                var$8 = $rt_s(1018);
                var$9 = $this.$posX + $var4;
                var$10 = $this.$posZ + $var5;
                var$11 = $this.$motionX;
                var$12 = $this.$motionY;
                var$13 = $this.$motionZ;
                $ptr = 3;
                continue main;
            }
        }
        return;
    case 3:
        nms_World_spawnParticle(var$1, var$8, var$9, var$6, var$10, var$11, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $var3 + 1 | 0;
        if ($var3 >= $var2)
            return;
        $var4 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0 * 0.5;
        $var5 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0 * 0.5;
        var$1 = $this.$worldObj;
        var$8 = $rt_s(1018);
        var$9 = $this.$posX + $var4;
        var$10 = $this.$posZ + $var5;
        var$11 = $this.$motionX;
        var$12 = $this.$motionY;
        var$13 = $this.$motionZ;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $var5, $var1, $var2, $var3, var$6, $var4, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
}
function nms_EntityWolf_getWolfShaking($this) {
    return $this.$isShaking;
}
function nms_EntityWolf_getShadingWhileShaking($this, $par1) {
    return 0.75 + ($this.$prevTimeWolfIsShaking + ($this.$timeWolfIsShaking - $this.$prevTimeWolfIsShaking) * $par1) / 2.0 * 0.25;
}
function nms_EntityWolf_getShakeAngle($this, $par1, $par2) {
    var $var3;
    $var3 = ($this.$prevTimeWolfIsShaking + ($this.$timeWolfIsShaking - $this.$prevTimeWolfIsShaking) * $par1 + $par2) / 1.7999999523162842;
    if ($var3 < 0.0)
        $var3 = 0.0;
    else if ($var3 > 1.0)
        $var3 = 1.0;
    $par1 = $var3 * 3.1415927410125732;
    return nms_MathHelper_sin($par1) * nms_MathHelper_sin($par1 * 11.0) * 0.15000000596046448 * 3.1415927410125732;
}
function nms_EntityWolf_getInterestedAngle($this, $par1) {
    return ($this.$field_70924_f + ($this.$field_70926_e - $this.$field_70924_f) * $par1) * 0.15000000596046448 * 3.1415927410125732;
}
function nms_EntityWolf_getEyeHeight($this) {
    return $this.$height0 * 0.800000011920929;
}
function nms_EntityWolf_getVerticalFaceSpeed($this) {
    return nms_EntityTameable_isSitting($this) ? 20 : 40;
}
function nms_EntityWolf_interact($this, $par1EntityPlayer) {
    var $var2, $var4, $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            $var2 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
            if (!nms_EntityTameable_isTamed($this)) {
                if ($var2 === null)
                    break a;
                $var4 = $var2.$itemID0;
                nms_Item_$callClinit();
                if ($var4 != nms_Item_bone.$itemID)
                    break a;
                if (nms_EntityWolf_isAngry($this))
                    break a;
                if (!$par1EntityPlayer.$capabilities.$isCreativeMode)
                    $var2.$stackSize = $var2.$stackSize - 1 | 0;
                if ($var2.$stackSize > 0)
                    return 1;
                $var3 = $par1EntityPlayer.$inventory;
                $var4 = $par1EntityPlayer.$inventory.$currentItem;
                $par1EntityPlayer = null;
                $ptr = 2;
                continue main;
            }
            if ($var2 !== null) {
                nms_Item_$callClinit();
                if (!(nms_Item_itemsList.data[$var2.$itemID0] instanceof nms_ItemFood)) {
                    if ($var2.$itemID0 != nms_Item_dyePowder.$itemID)
                        break a;
                    $var4 = nms_BlockCloth_getBlockFromDye($var2.$itemDamage);
                    if ($var4 == nms_EntityWolf_getCollarColor($this))
                        break a;
                    nms_EntityWolf_setCollarColor($this, $var4);
                    if (!$par1EntityPlayer.$capabilities.$isCreativeMode) {
                        $var4 = $var2.$stackSize - 1 | 0;
                        $var2.$stackSize = $var4;
                        if ($var4 <= 0) {
                            $var3 = $par1EntityPlayer.$inventory;
                            $var4 = $par1EntityPlayer.$inventory.$currentItem;
                            $par1EntityPlayer = null;
                            $ptr = 3;
                            continue main;
                        }
                    }
                    return 1;
                }
                $var3 = nms_Item_itemsList.data[$var2.$itemID0];
                if ($var3.$isWolfsFavoriteMeat && nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 18) < 20) {
                    if (!$par1EntityPlayer.$capabilities.$isCreativeMode)
                        $var2.$stackSize = $var2.$stackSize - 1 | 0;
                    nms_EntityLiving_heal($this, $var3.$healAmount);
                    if ($var2.$stackSize > 0)
                        return 1;
                    $var3 = $par1EntityPlayer.$inventory;
                    $var4 = $par1EntityPlayer.$inventory.$currentItem;
                    $par1EntityPlayer = null;
                    $ptr = 4;
                    continue main;
                }
            }
        }
        $ptr = 1;
    case 1:
        $tmp = nms_EntityAnimal_interact($this, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        return $var4;
    case 2:
        nms_InventoryPlayer_setInventorySlotContents($var3, $var4, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    case 3:
        nms_InventoryPlayer_setInventorySlotContents($var3, $var4, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    case 4:
        nms_InventoryPlayer_setInventorySlotContents($var3, $var4, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $var2, $var4, $var3, $ptr);
}
function nms_EntityWolf_handleHealthUpdate($this, $par1) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 == 8) {
            $this.$field_70928_h = 1;
            $this.$timeWolfIsShaking = 0.0;
            $this.$prevTimeWolfIsShaking = 0.0;
            return;
        }
        $ptr = 1;
    case 1:
        nms_EntityTameable_handleHealthUpdate($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $ptr);
}
function nms_EntityWolf_getTailRotation($this) {
    return nms_EntityWolf_isAngry($this) ? 1.539380431175232 : !nms_EntityTameable_isTamed($this) ? 0.6283185482025146 : (0.550000011920929 - (20 - nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 18) | 0) * 0.019999999552965164) * 3.1415927410125732;
}
function nms_EntityWolf_isBreedingItem($this, $par1ItemStack) {
    var var$2;
    if ($par1ItemStack === null)
        var$2 = 0;
    else {
        nms_Item_$callClinit();
        var$2 = !(nms_Item_itemsList.data[$par1ItemStack.$itemID0] instanceof nms_ItemFood) ? 0 : nms_Item_itemsList.data[$par1ItemStack.$itemID0].$isWolfsFavoriteMeat;
    }
    return var$2;
}
function nms_EntityWolf_isAngry($this) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 2) ? 0 : 1;
}
function nms_EntityWolf_getCollarColor($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 20) & 15;
}
function nms_EntityWolf_setCollarColor($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 20, jl_Byte_valueOf(($par1 & 15) << 24 >> 24));
}
function nms_EntityWolf_spawnBabyAnimal($this, $par1EntityAgeable) {
    var $var2, $var3;
    $var2 = nms_EntityWolf__init_0();
    nms_Entity_setWorld($var2, $this.$worldObj);
    $var3 = nms_EntityTameable_getOwnerName($this);
    if ($var3 !== null && jl_String_length(jl_String_trim($var3)) > 0) {
        nms_EntityTameable_setOwner($var2, $var3);
        nms_EntityTameable_setTamed($var2, 1);
    }
    return $var2;
}
function nms_EntityWolf_func_70922_bv($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 19) != 1 ? 0 : 1;
}
function nms_EntityWolf_createChild($this, $par1EntityAgeable) {
    return nms_EntityWolf_spawnBabyAnimal($this, $par1EntityAgeable);
}
function nms_RenderWolf() {
    nms_RenderLiving.call(this);
}
var nms_RenderWolf_tex_collar = null;
var nms_RenderWolf_entityTexture0 = null;
var nms_RenderWolf_entityTexture1 = null;
var nms_RenderWolf_entityTexture2 = null;
function nms_RenderWolf__init_(var_0, var_1, var_2) {
    var var_3 = new nms_RenderWolf();
    nms_RenderWolf__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_RenderWolf__init_0($this, $par1ModelBase, $par2ModelBase, $par3) {
    nms_RenderLiving__init_0($this, $par1ModelBase, $par3);
    $this.$renderPassModel = $par2ModelBase;
}
function nms_RenderWolf_getTailRotation($this, $par1EntityWolf, $par2) {
    return nms_EntityWolf_getTailRotation($par1EntityWolf);
}
function nms_RenderWolf_func_82447_a($this, $par1EntityWolf, $par2, $par3) {
    var $var4, var$5, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityWolf = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par2 && $par1EntityWolf.$isShaking) {
            $var4 = nms_Entity_getBrightness($par1EntityWolf, $par3) * nms_EntityWolf_getShadingWhileShaking($par1EntityWolf, $par3);
            $ptr = 1;
            continue main;
        }
        if ($par2 == 1 && nms_EntityTameable_isTamed($par1EntityWolf)) {
            var$5 = nms_RenderWolf_tex_collar;
            $ptr = 2;
            continue main;
        }
        return (-1);
    case 1:
        nms_RenderWolf_bindTexture($this, $par1EntityWolf);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor3f($var4, $var4, $var4);
        return 1;
    case 2:
        nle_TextureLocation_bindTexture(var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = nms_EntityWolf_getCollarColor($par1EntityWolf);
        nleg_EaglerAdapterGL30_glColor3f(1.0 * nms_EntitySheep_fleeceColorTable.data[$var5].data[0], 1.0 * nms_EntitySheep_fleeceColorTable.data[$var5].data[1], 1.0 * nms_EntitySheep_fleeceColorTable.data[$var5].data[2]);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityWolf, $par2, $par3, $var4, var$5, $var5, $ptr);
}
function nms_RenderWolf_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderWolf_func_82447_a($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderWolf_handleRotationFloat($this, $par1EntityLiving, $par2) {
    return nms_EntityWolf_getTailRotation($par1EntityLiving);
}
function nms_RenderWolf_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        if (nms_EntityTameable_isTamed($par1EntityLiving)) {
            $par1EntityLiving = nms_RenderWolf_entityTexture2;
            $ptr = 1;
            continue main;
        }
        if (!nms_EntityWolf_isAngry($par1EntityLiving)) {
            $par1EntityLiving = nms_RenderWolf_entityTexture0;
            $ptr = 2;
            continue main;
        }
        $par1EntityLiving = nms_RenderWolf_entityTexture1;
        $ptr = 3;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderWolf__clinit_() {
    nms_RenderWolf_tex_collar = nle_TextureLocation__init_($rt_s(1571));
    nms_RenderWolf_entityTexture0 = nle_TextureLocation__init_($rt_s(1572));
    nms_RenderWolf_entityTexture1 = nle_TextureLocation__init_($rt_s(1573));
    nms_RenderWolf_entityTexture2 = nle_TextureLocation__init_($rt_s(1574));
}
function nms_ModelWolf() {
    var a = this; nms_ModelBase.call(a);
    a.$wolfHeadMain = null;
    a.$wolfBody = null;
    a.$wolfLeg1 = null;
    a.$wolfLeg2 = null;
    a.$wolfLeg3 = null;
    a.$wolfLeg4 = null;
    a.$wolfTail = null;
    a.$wolfMane = null;
}
function nms_ModelWolf__init_0() {
    var var_0 = new nms_ModelWolf();
    nms_ModelWolf__init_(var_0);
    return var_0;
}
function nms_ModelWolf__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$wolfHeadMain = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$wolfHeadMain, (-3.0), (-3.0), (-2.0), 6, 6, 4, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$wolfHeadMain, (-1.0), 13.5, (-7.0));
    $this.$wolfBody = nms_ModelRenderer__init_($this, 18, 14);
    nms_ModelRenderer_addBox($this.$wolfBody, (-4.0), (-2.0), (-3.0), 6, 9, 6, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$wolfBody, 0.0, 14.0, 2.0);
    $this.$wolfMane = nms_ModelRenderer__init_($this, 21, 0);
    nms_ModelRenderer_addBox($this.$wolfMane, (-4.0), (-3.0), (-3.0), 8, 6, 7, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$wolfMane, (-1.0), 14.0, 2.0);
    $this.$wolfLeg1 = nms_ModelRenderer__init_($this, 0, 18);
    nms_ModelRenderer_addBox($this.$wolfLeg1, (-1.0), 0.0, (-1.0), 2, 8, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$wolfLeg1, (-2.5), 16.0, 7.0);
    $this.$wolfLeg2 = nms_ModelRenderer__init_($this, 0, 18);
    nms_ModelRenderer_addBox($this.$wolfLeg2, (-1.0), 0.0, (-1.0), 2, 8, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$wolfLeg2, 0.5, 16.0, 7.0);
    $this.$wolfLeg3 = nms_ModelRenderer__init_($this, 0, 18);
    nms_ModelRenderer_addBox($this.$wolfLeg3, (-1.0), 0.0, (-1.0), 2, 8, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$wolfLeg3, (-2.5), 16.0, (-4.0));
    $this.$wolfLeg4 = nms_ModelRenderer__init_($this, 0, 18);
    nms_ModelRenderer_addBox($this.$wolfLeg4, (-1.0), 0.0, (-1.0), 2, 8, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$wolfLeg4, 0.5, 16.0, (-4.0));
    $this.$wolfTail = nms_ModelRenderer__init_($this, 9, 18);
    nms_ModelRenderer_addBox($this.$wolfTail, (-1.0), 0.0, (-1.0), 2, 8, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$wolfTail, (-1.0), 12.0, 8.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$wolfHeadMain, 16, 14), (-3.0), (-5.0), 0.0, 2, 2, 1, 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$wolfHeadMain, 16, 14), 1.0, (-5.0), 0.0, 2, 2, 1, 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$wolfHeadMain, 0, 10), (-1.5), 0.0, (-5.0), 3, 3, 4, 0.0);
}
function nms_ModelWolf_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    nms_ModelWolf_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    if (!$this.$isChild0) {
        nms_ModelRenderer_renderWithRotation($this.$wolfHeadMain, $par7);
        nms_ModelRenderer_render($this.$wolfBody, $par7);
        nms_ModelRenderer_render($this.$wolfLeg1, $par7);
        nms_ModelRenderer_render($this.$wolfLeg2, $par7);
        nms_ModelRenderer_render($this.$wolfLeg3, $par7);
        nms_ModelRenderer_render($this.$wolfLeg4, $par7);
        nms_ModelRenderer_renderWithRotation($this.$wolfTail, $par7);
        nms_ModelRenderer_render($this.$wolfMane, $par7);
    } else {
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 5.0 * $par7, 2.0 * $par7);
        nms_ModelRenderer_renderWithRotation($this.$wolfHeadMain, $par7);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 24.0 * $par7, 0.0);
        nms_ModelRenderer_render($this.$wolfBody, $par7);
        nms_ModelRenderer_render($this.$wolfLeg1, $par7);
        nms_ModelRenderer_render($this.$wolfLeg2, $par7);
        nms_ModelRenderer_render($this.$wolfLeg3, $par7);
        nms_ModelRenderer_render($this.$wolfLeg4, $par7);
        nms_ModelRenderer_renderWithRotation($this.$wolfTail, $par7);
        nms_ModelRenderer_render($this.$wolfMane, $par7);
        nleg_EaglerAdapterGL30_glPopMatrix();
    }
}
function nms_ModelWolf_setLivingAnimations($this, $par1EntityLiving, $par2, $par3, $par4) {
    var $var5, var$6;
    $var5 = $par1EntityLiving;
    if (nms_EntityWolf_isAngry($var5))
        $this.$wolfTail.$rotateAngleY = 0.0;
    else
        $this.$wolfTail.$rotateAngleY = nms_MathHelper_cos($par2 * 0.6661999821662903) * 1.399999976158142 * $par3;
    if (nms_EntityTameable_isSitting($var5)) {
        nms_ModelRenderer_setRotationPoint($this.$wolfMane, (-1.0), 16.0, (-3.0));
        $this.$wolfMane.$rotateAngleX = 1.2566370964050293;
        $this.$wolfMane.$rotateAngleY = 0.0;
        nms_ModelRenderer_setRotationPoint($this.$wolfBody, 0.0, 18.0, 0.0);
        $this.$wolfBody.$rotateAngleX = 0.7853981852531433;
        nms_ModelRenderer_setRotationPoint($this.$wolfTail, (-1.0), 21.0, 6.0);
        nms_ModelRenderer_setRotationPoint($this.$wolfLeg1, (-2.5), 22.0, 2.0);
        $this.$wolfLeg1.$rotateAngleX = 4.71238899230957;
        nms_ModelRenderer_setRotationPoint($this.$wolfLeg2, 0.5, 22.0, 2.0);
        $this.$wolfLeg2.$rotateAngleX = 4.71238899230957;
        $this.$wolfLeg3.$rotateAngleX = 5.811946868896484;
        nms_ModelRenderer_setRotationPoint($this.$wolfLeg3, (-2.490000009536743), 17.0, (-4.0));
        $this.$wolfLeg4.$rotateAngleX = 5.811946868896484;
        nms_ModelRenderer_setRotationPoint($this.$wolfLeg4, 0.5099999904632568, 17.0, (-4.0));
    } else {
        nms_ModelRenderer_setRotationPoint($this.$wolfBody, 0.0, 14.0, 2.0);
        $this.$wolfBody.$rotateAngleX = 1.5707963705062866;
        nms_ModelRenderer_setRotationPoint($this.$wolfMane, (-1.0), 14.0, (-3.0));
        $this.$wolfMane.$rotateAngleX = $this.$wolfBody.$rotateAngleX;
        nms_ModelRenderer_setRotationPoint($this.$wolfTail, (-1.0), 12.0, 8.0);
        nms_ModelRenderer_setRotationPoint($this.$wolfLeg1, (-2.5), 16.0, 7.0);
        nms_ModelRenderer_setRotationPoint($this.$wolfLeg2, 0.5, 16.0, 7.0);
        nms_ModelRenderer_setRotationPoint($this.$wolfLeg3, (-2.5), 16.0, (-4.0));
        nms_ModelRenderer_setRotationPoint($this.$wolfLeg4, 0.5, 16.0, (-4.0));
        $par1EntityLiving = $this.$wolfLeg1;
        $par2 = $par2 * 0.6661999821662903;
        $par1EntityLiving.$rotateAngleX = nms_MathHelper_cos($par2) * 1.399999976158142 * $par3;
        $par1EntityLiving = $this.$wolfLeg2;
        var$6 = $par2 + 3.1415927410125732;
        $par1EntityLiving.$rotateAngleX = nms_MathHelper_cos(var$6) * 1.399999976158142 * $par3;
        $this.$wolfLeg3.$rotateAngleX = nms_MathHelper_cos(var$6) * 1.399999976158142 * $par3;
        $this.$wolfLeg4.$rotateAngleX = nms_MathHelper_cos($par2) * 1.399999976158142 * $par3;
    }
    $this.$wolfHeadMain.$rotateAngleZ = nms_EntityWolf_getInterestedAngle($var5, $par4) + nms_EntityWolf_getShakeAngle($var5, $par4, 0.0);
    $this.$wolfMane.$rotateAngleZ = nms_EntityWolf_getShakeAngle($var5, $par4, (-0.07999999821186066));
    $this.$wolfBody.$rotateAngleZ = nms_EntityWolf_getShakeAngle($var5, $par4, (-0.1599999964237213));
    $this.$wolfTail.$rotateAngleZ = nms_EntityWolf_getShakeAngle($var5, $par4, (-0.20000000298023224));
}
function nms_ModelWolf_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    $this.$wolfHeadMain.$rotateAngleX = $par5 / 57.2957763671875;
    $this.$wolfHeadMain.$rotateAngleY = $par4 / 57.2957763671875;
    $this.$wolfTail.$rotateAngleX = $par3;
}
function nms_EntityChicken() {
    var a = this; nms_EntityAnimal.call(a);
    a.$field_70885_d = 0;
    a.$field_70886_e = 0.0;
    a.$destPos = 0.0;
    a.$field_70884_g = 0.0;
    a.$field_70888_h = 0.0;
    a.$field_70889_i = 0.0;
    a.$timeUntilNextEgg = 0;
}
function nms_EntityChicken__init_0() {
    var var_0 = new nms_EntityChicken();
    nms_EntityChicken__init_(var_0);
    return var_0;
}
function nms_EntityChicken__init_($this) {
    nms_EntityAnimal__init_0($this);
    $this.$field_70885_d = 0;
    $this.$field_70886_e = 0.0;
    $this.$destPos = 0.0;
    $this.$field_70889_i = 1.0;
    nms_EntityAgeable_setSize($this, 0.30000001192092896, 0.699999988079071);
    $this.$timeUntilNextEgg = nle_EaglercraftRandom_nextInt($this.$rand0, 6000) + 6000 | 0;
}
function nms_EntityChicken_isAIEnabled($this) {
    return 1;
}
function nms_EntityChicken_getMaxHealth($this) {
    return 4;
}
function nms_EntityChicken_onLivingUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityAnimal_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_70888_h = $this.$field_70886_e;
        $this.$field_70884_g = $this.$destPos;
        $this.$destPos = $this.$destPos + (!$this.$onGround ? 4 : (-1)) * 0.3;
        if ($this.$destPos < 0.0)
            $this.$destPos = 0.0;
        if ($this.$destPos > 1.0)
            $this.$destPos = 1.0;
        if (!$this.$onGround && $this.$field_70889_i < 1.0)
            $this.$field_70889_i = 1.0;
        $this.$field_70889_i = $this.$field_70889_i * 0.9;
        if (!$this.$onGround && $this.$motionY < 0.0)
            $this.$motionY = $this.$motionY * 0.6;
        $this.$field_70886_e = $this.$field_70886_e + $this.$field_70889_i * 2.0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_EntityChicken_fall($this, $par1) {
    return;
}
function nms_EntityChicken_getLivingSound($this) {
    return $rt_s(1575);
}
function nms_EntityChicken_getHurtSound($this) {
    return $rt_s(1576);
}
function nms_EntityChicken_getDeathSound($this) {
    return $rt_s(1576);
}
function nms_EntityChicken_playStepSound($this, $par1, $par2, $par3, $par4) {
    nms_Entity_playSound($this, $rt_s(1577), 0.15000000596046448, 1.0);
}
function nms_EntityChicken_spawnBabyAnimal($this, $par1EntityAgeable) {
    var $c;
    $c = nms_EntityChicken__init_0();
    nms_Entity_setWorld($c, $this.$worldObj);
    return $c;
}
function nms_EntityChicken_isBreedingItem($this, $par1ItemStack) {
    return $par1ItemStack !== null && nms_ItemStack_getItem($par1ItemStack) instanceof nms_ItemSeeds ? 1 : 0;
}
function nms_EntityChicken_createChild($this, $par1EntityAgeable) {
    return nms_EntityChicken_spawnBabyAnimal($this, $par1EntityAgeable);
}
function nms_RenderChicken() {
    nms_RenderLiving.call(this);
}
var nms_RenderChicken_entityTexture = null;
function nms_RenderChicken__init_(var_0, var_1) {
    var var_2 = new nms_RenderChicken();
    nms_RenderChicken__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_RenderChicken__init_0($this, $par1ModelBase, $par2) {
    nms_RenderLiving__init_0($this, $par1ModelBase, $par2);
}
function nms_RenderChicken_renderChicken($this, $par1EntityChicken, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityChicken = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityChicken, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityChicken, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderChicken_getWingRotation($this, $par1EntityChicken, $par2) {
    var $var3, $var4;
    $var3 = $par1EntityChicken.$field_70888_h + ($par1EntityChicken.$field_70886_e - $par1EntityChicken.$field_70888_h) * $par2;
    $var4 = $par1EntityChicken.$field_70884_g + ($par1EntityChicken.$destPos - $par1EntityChicken.$field_70884_g) * $par2;
    return (nms_MathHelper_sin($var3) + 1.0) * $var4;
}
function nms_RenderChicken_handleRotationFloat($this, $par1EntityLiving, $par2) {
    return nms_RenderChicken_getWingRotation($this, $par1EntityLiving, $par2);
}
function nms_RenderChicken_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderChicken_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderChicken_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderChicken_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderChicken__clinit_() {
    nms_RenderChicken_entityTexture = nle_TextureLocation__init_($rt_s(1578));
}
function nms_ModelChicken() {
    var a = this; nms_ModelBase.call(a);
    a.$head0 = null;
    a.$body0 = null;
    a.$rightLeg = null;
    a.$leftLeg = null;
    a.$rightWing = null;
    a.$leftWing = null;
    a.$bill = null;
    a.$chin = null;
}
function nms_ModelChicken__init_0() {
    var var_0 = new nms_ModelChicken();
    nms_ModelChicken__init_(var_0);
    return var_0;
}
function nms_ModelChicken__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$head0 = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$head0, (-2.0), (-6.0), (-2.0), 4, 6, 3, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$head0, 0.0, 15.0, (-4.0));
    $this.$bill = nms_ModelRenderer__init_($this, 14, 0);
    nms_ModelRenderer_addBox($this.$bill, (-2.0), (-4.0), (-4.0), 4, 2, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$bill, 0.0, 15.0, (-4.0));
    $this.$chin = nms_ModelRenderer__init_($this, 14, 4);
    nms_ModelRenderer_addBox($this.$chin, (-1.0), (-2.0), (-3.0), 2, 2, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$chin, 0.0, 15.0, (-4.0));
    $this.$body0 = nms_ModelRenderer__init_($this, 0, 9);
    nms_ModelRenderer_addBox($this.$body0, (-3.0), (-4.0), (-3.0), 6, 8, 6, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$body0, 0.0, 16.0, 0.0);
    $this.$rightLeg = nms_ModelRenderer__init_($this, 26, 0);
    nms_ModelRenderer_addBox0($this.$rightLeg, (-1.0), 0.0, (-3.0), 3, 5, 3);
    nms_ModelRenderer_setRotationPoint($this.$rightLeg, (-2.0), 19.0, 1.0);
    $this.$leftLeg = nms_ModelRenderer__init_($this, 26, 0);
    nms_ModelRenderer_addBox0($this.$leftLeg, (-1.0), 0.0, (-3.0), 3, 5, 3);
    nms_ModelRenderer_setRotationPoint($this.$leftLeg, 1.0, 19.0, 1.0);
    $this.$rightWing = nms_ModelRenderer__init_($this, 24, 13);
    nms_ModelRenderer_addBox0($this.$rightWing, 0.0, 0.0, (-3.0), 1, 4, 6);
    nms_ModelRenderer_setRotationPoint($this.$rightWing, (-4.0), 13.0, 0.0);
    $this.$leftWing = nms_ModelRenderer__init_($this, 24, 13);
    nms_ModelRenderer_addBox0($this.$leftWing, (-1.0), 0.0, (-3.0), 1, 4, 6);
    nms_ModelRenderer_setRotationPoint($this.$leftWing, 4.0, 13.0, 0.0);
}
function nms_ModelChicken_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    nms_ModelChicken_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    if (!$this.$isChild0) {
        nms_ModelRenderer_render($this.$head0, $par7);
        nms_ModelRenderer_render($this.$bill, $par7);
        nms_ModelRenderer_render($this.$chin, $par7);
        nms_ModelRenderer_render($this.$body0, $par7);
        nms_ModelRenderer_render($this.$rightLeg, $par7);
        nms_ModelRenderer_render($this.$leftLeg, $par7);
        nms_ModelRenderer_render($this.$rightWing, $par7);
        nms_ModelRenderer_render($this.$leftWing, $par7);
    } else {
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 5.0 * $par7, 2.0 * $par7);
        nms_ModelRenderer_render($this.$head0, $par7);
        nms_ModelRenderer_render($this.$bill, $par7);
        nms_ModelRenderer_render($this.$chin, $par7);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 24.0 * $par7, 0.0);
        nms_ModelRenderer_render($this.$body0, $par7);
        nms_ModelRenderer_render($this.$rightLeg, $par7);
        nms_ModelRenderer_render($this.$leftLeg, $par7);
        nms_ModelRenderer_render($this.$rightWing, $par7);
        nms_ModelRenderer_render($this.$leftWing, $par7);
        nleg_EaglerAdapterGL30_glPopMatrix();
    }
}
function nms_ModelChicken_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    $this.$head0.$rotateAngleX = $par5 / 57.2957763671875;
    $this.$head0.$rotateAngleY = $par4 / 57.2957763671875;
    $this.$bill.$rotateAngleX = $this.$head0.$rotateAngleX;
    $this.$bill.$rotateAngleY = $this.$head0.$rotateAngleY;
    $this.$chin.$rotateAngleX = $this.$head0.$rotateAngleX;
    $this.$chin.$rotateAngleY = $this.$head0.$rotateAngleY;
    $this.$body0.$rotateAngleX = 1.5707963705062866;
    $par7Entity = $this.$rightLeg;
    $par1 = $par1 * 0.6661999821662903;
    $par7Entity.$rotateAngleX = nms_MathHelper_cos($par1) * 1.399999976158142 * $par2;
    $this.$leftLeg.$rotateAngleX = nms_MathHelper_cos($par1 + 3.1415927410125732) * 1.399999976158142 * $par2;
    $this.$rightWing.$rotateAngleZ = $par3;
    $this.$leftWing.$rotateAngleZ =  -$par3;
}
function nms_EntityOcelot() {
    nms_EntityTameable.call(this);
}
function nms_EntityOcelot__init_0() {
    var var_0 = new nms_EntityOcelot();
    nms_EntityOcelot__init_(var_0);
    return var_0;
}
function nms_EntityOcelot__init_($this) {
    nms_EntityAnimal__init_0($this);
    nms_EntityAgeable_setSize($this, 0.6000000238418579, 0.800000011920929);
}
function nms_EntityOcelot_entityInit($this) {
    nms_EntityTameable_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 18, jl_Byte_valueOf(0));
}
function nms_EntityOcelot_updateAITick($this) {
    var $var1;
    if (!$this.$moveHelper.$update2) {
        nms_Entity_setSneaking($this, 0);
        nms_Entity_setSprinting($this, 0);
    } else {
        $var1 = $this.$moveHelper.$speed;
        if ($var1 === 0.18000000715255737) {
            nms_Entity_setSneaking($this, 1);
            nms_Entity_setSprinting($this, 0);
        } else if ($var1 !== 0.4000000059604645) {
            nms_Entity_setSneaking($this, 0);
            nms_Entity_setSprinting($this, 0);
        } else {
            nms_Entity_setSneaking($this, 0);
            nms_Entity_setSprinting($this, 1);
        }
    }
}
function nms_EntityOcelot_canDespawn($this) {
    return nms_EntityTameable_isTamed($this) ? 0 : 1;
}
function nms_EntityOcelot_isAIEnabled($this) {
    return 1;
}
function nms_EntityOcelot_getMaxHealth($this) {
    return 10;
}
function nms_EntityOcelot_fall($this, $par1) {
    return;
}
function nms_EntityOcelot_getLivingSound($this) {
    return !nms_EntityTameable_isTamed($this) ? $rt_s(36) : nms_EntityAnimal_isInLove($this) ? $rt_s(1579) : nle_EaglercraftRandom_nextInt($this.$rand0, 4) ? $rt_s(1580) : $rt_s(1581);
}
function nms_EntityOcelot_getHurtSound($this) {
    return $rt_s(1582);
}
function nms_EntityOcelot_getDeathSound($this) {
    return $rt_s(1582);
}
function nms_EntityOcelot_getSoundVolume($this) {
    return 0.4000000059604645;
}
function nms_EntityOcelot_spawnBabyAnimal($this, $par1EntityAgeable) {
    var $var2;
    $var2 = nms_EntityOcelot__init_0();
    nms_Entity_setWorld($var2, $this.$worldObj);
    if (nms_EntityTameable_isTamed($this)) {
        nms_EntityTameable_setOwner($var2, nms_EntityTameable_getOwnerName($this));
        nms_EntityTameable_setTamed($var2, 1);
        nms_EntityOcelot_setTameSkin($var2, nms_EntityOcelot_getTameSkin($this));
    }
    return $var2;
}
function nms_EntityOcelot_isBreedingItem($this, $par1ItemStack) {
    var var$2;
    a: {
        if ($par1ItemStack !== null) {
            var$2 = $par1ItemStack.$itemID0;
            nms_Item_$callClinit();
            if (var$2 == nms_Item_fishRaw.$itemID) {
                var$2 = 1;
                break a;
            }
        }
        var$2 = 0;
    }
    return var$2;
}
function nms_EntityOcelot_getTameSkin($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 18);
}
function nms_EntityOcelot_setTameSkin($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 18, jl_Byte_valueOf($par1 << 24 >> 24));
}
function nms_EntityOcelot_getEntityName($this) {
    return nms_EntityLiving_func_94056_bM($this) ? nms_EntityLiving_func_94057_bL($this) : !nms_EntityTameable_isTamed($this) ? nms_EntityLiving_getEntityName($this) : $rt_s(1583);
}
function nms_EntityOcelot_createChild($this, $par1EntityAgeable) {
    return nms_EntityOcelot_spawnBabyAnimal($this, $par1EntityAgeable);
}
function nms_RenderOcelot() {
    nms_RenderLiving.call(this);
}
var nms_RenderOcelot_entityTexture0 = null;
var nms_RenderOcelot_entityTexture1 = null;
var nms_RenderOcelot_entityTexture2 = null;
var nms_RenderOcelot_entityTexture3 = null;
function nms_RenderOcelot__init_(var_0, var_1) {
    var var_2 = new nms_RenderOcelot();
    nms_RenderOcelot__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_RenderOcelot__init_0($this, $par1ModelBase, $par2) {
    nms_RenderLiving__init_0($this, $par1ModelBase, $par2);
}
function nms_RenderOcelot_renderLivingOcelot($this, $par1EntityOcelot, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityOcelot = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityOcelot, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityOcelot, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderOcelot_preRenderOcelot($this, $par1EntityOcelot, $par2) {
    if (nms_EntityTameable_isTamed($par1EntityOcelot))
        nleg_EaglerAdapterGL30_glScalef(0.800000011920929, 0.800000011920929, 0.800000011920929);
}
function nms_RenderOcelot_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderOcelot_preRenderOcelot($this, $par1EntityLiving, $par2);
}
function nms_RenderOcelot_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderOcelot_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderOcelot_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        switch (nms_EntityOcelot_getTameSkin($par1EntityLiving)) {
            case 0:
                break;
            case 1:
                $par1EntityLiving = nms_RenderOcelot_entityTexture1;
                $ptr = 2;
                continue main;
            case 2:
                $par1EntityLiving = nms_RenderOcelot_entityTexture2;
                $ptr = 3;
                continue main;
            case 3:
                $par1EntityLiving = nms_RenderOcelot_entityTexture3;
                $ptr = 4;
                continue main;
            default:
        }
        $par1EntityLiving = nms_RenderOcelot_entityTexture0;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderOcelot__clinit_() {
    nms_RenderOcelot_entityTexture0 = nle_TextureLocation__init_($rt_s(1584));
    nms_RenderOcelot_entityTexture1 = nle_TextureLocation__init_($rt_s(1585));
    nms_RenderOcelot_entityTexture2 = nle_TextureLocation__init_($rt_s(1586));
    nms_RenderOcelot_entityTexture3 = nle_TextureLocation__init_($rt_s(1587));
}
function nms_ModelOcelot() {
    var a = this; nms_ModelBase.call(a);
    a.$ocelotBackLeftLeg = null;
    a.$ocelotBackRightLeg = null;
    a.$ocelotFrontLeftLeg = null;
    a.$ocelotFrontRightLeg = null;
    a.$ocelotTail = null;
    a.$ocelotTail2 = null;
    a.$ocelotHead = null;
    a.$ocelotBody = null;
    a.$field_78163_i = 0;
}
function nms_ModelOcelot__init_0() {
    var var_0 = new nms_ModelOcelot();
    nms_ModelOcelot__init_(var_0);
    return var_0;
}
function nms_ModelOcelot__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$field_78163_i = 1;
    nms_ModelBase_setTextureOffset($this, $rt_s(1588), 0, 0);
    nms_ModelBase_setTextureOffset($this, $rt_s(1589), 0, 24);
    nms_ModelBase_setTextureOffset($this, $rt_s(1590), 0, 10);
    nms_ModelBase_setTextureOffset($this, $rt_s(1591), 6, 10);
    $this.$ocelotHead = nms_ModelRenderer__init_0($this, $rt_s(1592));
    nms_ModelRenderer_addBox1($this.$ocelotHead, $rt_s(233), (-2.5), (-2.0), (-3.0), 5, 4, 5);
    nms_ModelRenderer_addBox1($this.$ocelotHead, $rt_s(1593), (-1.5), 0.0, (-4.0), 3, 2, 2);
    nms_ModelRenderer_addBox1($this.$ocelotHead, $rt_s(1594), (-2.0), (-3.0), 0.0, 1, 1, 2);
    nms_ModelRenderer_addBox1($this.$ocelotHead, $rt_s(1595), 1.0, (-3.0), 0.0, 1, 1, 2);
    nms_ModelRenderer_setRotationPoint($this.$ocelotHead, 0.0, 15.0, (-9.0));
    $this.$ocelotBody = nms_ModelRenderer__init_($this, 20, 0);
    nms_ModelRenderer_addBox($this.$ocelotBody, (-2.0), 3.0, (-8.0), 4, 16, 6, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$ocelotBody, 0.0, 12.0, (-10.0));
    $this.$ocelotTail = nms_ModelRenderer__init_($this, 0, 15);
    nms_ModelRenderer_addBox0($this.$ocelotTail, (-0.5), 0.0, 0.0, 1, 8, 1);
    $this.$ocelotTail.$rotateAngleX = 0.8999999761581421;
    nms_ModelRenderer_setRotationPoint($this.$ocelotTail, 0.0, 15.0, 8.0);
    $this.$ocelotTail2 = nms_ModelRenderer__init_($this, 4, 15);
    nms_ModelRenderer_addBox0($this.$ocelotTail2, (-0.5), 0.0, 0.0, 1, 8, 1);
    nms_ModelRenderer_setRotationPoint($this.$ocelotTail2, 0.0, 20.0, 14.0);
    $this.$ocelotBackLeftLeg = nms_ModelRenderer__init_($this, 8, 13);
    nms_ModelRenderer_addBox0($this.$ocelotBackLeftLeg, (-1.0), 0.0, 1.0, 2, 6, 2);
    nms_ModelRenderer_setRotationPoint($this.$ocelotBackLeftLeg, 1.100000023841858, 18.0, 5.0);
    $this.$ocelotBackRightLeg = nms_ModelRenderer__init_($this, 8, 13);
    nms_ModelRenderer_addBox0($this.$ocelotBackRightLeg, (-1.0), 0.0, 1.0, 2, 6, 2);
    nms_ModelRenderer_setRotationPoint($this.$ocelotBackRightLeg, (-1.100000023841858), 18.0, 5.0);
    $this.$ocelotFrontLeftLeg = nms_ModelRenderer__init_($this, 40, 0);
    nms_ModelRenderer_addBox0($this.$ocelotFrontLeftLeg, (-1.0), 0.0, 0.0, 2, 10, 2);
    nms_ModelRenderer_setRotationPoint($this.$ocelotFrontLeftLeg, 1.2000000476837158, 13.800000190734863, (-5.0));
    $this.$ocelotFrontRightLeg = nms_ModelRenderer__init_($this, 40, 0);
    nms_ModelRenderer_addBox0($this.$ocelotFrontRightLeg, (-1.0), 0.0, 0.0, 2, 10, 2);
    nms_ModelRenderer_setRotationPoint($this.$ocelotFrontRightLeg, (-1.2000000476837158), 13.800000190734863, (-5.0));
}
function nms_ModelOcelot_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    nms_ModelOcelot_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    if (!$this.$isChild0) {
        nms_ModelRenderer_render($this.$ocelotHead, $par7);
        nms_ModelRenderer_render($this.$ocelotBody, $par7);
        nms_ModelRenderer_render($this.$ocelotTail, $par7);
        nms_ModelRenderer_render($this.$ocelotTail2, $par7);
        nms_ModelRenderer_render($this.$ocelotBackLeftLeg, $par7);
        nms_ModelRenderer_render($this.$ocelotBackRightLeg, $par7);
        nms_ModelRenderer_render($this.$ocelotFrontLeftLeg, $par7);
        nms_ModelRenderer_render($this.$ocelotFrontRightLeg, $par7);
    } else {
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 10.0 * $par7, 4.0 * $par7);
        nms_ModelRenderer_render($this.$ocelotHead, $par7);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 24.0 * $par7, 0.0);
        nms_ModelRenderer_render($this.$ocelotBody, $par7);
        nms_ModelRenderer_render($this.$ocelotBackLeftLeg, $par7);
        nms_ModelRenderer_render($this.$ocelotBackRightLeg, $par7);
        nms_ModelRenderer_render($this.$ocelotFrontLeftLeg, $par7);
        nms_ModelRenderer_render($this.$ocelotFrontRightLeg, $par7);
        nms_ModelRenderer_render($this.$ocelotTail, $par7);
        nms_ModelRenderer_render($this.$ocelotTail2, $par7);
        nleg_EaglerAdapterGL30_glPopMatrix();
    }
}
function nms_ModelOcelot_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    $this.$ocelotHead.$rotateAngleX = $par5 / 57.2957763671875;
    $this.$ocelotHead.$rotateAngleY = $par4 / 57.2957763671875;
    if ($this.$field_78163_i != 3) {
        $this.$ocelotBody.$rotateAngleX = 1.5707963705062866;
        if ($this.$field_78163_i == 2) {
            $par7Entity = $this.$ocelotBackLeftLeg;
            $par3 = $par1 * 0.6661999821662903;
            $par7Entity.$rotateAngleX = nms_MathHelper_cos($par3) * 1.0 * $par2;
            $this.$ocelotBackRightLeg.$rotateAngleX = nms_MathHelper_cos($par3 + 0.30000001192092896) * 1.0 * $par2;
            $par7Entity = $this.$ocelotFrontLeftLeg;
            $par3 = $par3 + 3.1415927410125732;
            $par7Entity.$rotateAngleX = nms_MathHelper_cos($par3 + 0.30000001192092896) * 1.0 * $par2;
            $this.$ocelotFrontRightLeg.$rotateAngleX = nms_MathHelper_cos($par3) * 1.0 * $par2;
            $this.$ocelotTail2.$rotateAngleX = 1.72787606716156 + 0.3141592741012573 * nms_MathHelper_cos($par1) * $par2;
        } else {
            $par7Entity = $this.$ocelotBackLeftLeg;
            $par3 = $par1 * 0.6661999821662903;
            $par7Entity.$rotateAngleX = nms_MathHelper_cos($par3) * 1.0 * $par2;
            $par7Entity = $this.$ocelotBackRightLeg;
            $par4 = $par3 + 3.1415927410125732;
            $par7Entity.$rotateAngleX = nms_MathHelper_cos($par4) * 1.0 * $par2;
            $this.$ocelotFrontLeftLeg.$rotateAngleX = nms_MathHelper_cos($par4) * 1.0 * $par2;
            $this.$ocelotFrontRightLeg.$rotateAngleX = nms_MathHelper_cos($par3) * 1.0 * $par2;
            if ($this.$field_78163_i != 1)
                $this.$ocelotTail2.$rotateAngleX = 1.72787606716156 + 0.4712389409542084 * nms_MathHelper_cos($par1) * $par2;
            else
                $this.$ocelotTail2.$rotateAngleX = 1.72787606716156 + 0.7853981852531433 * nms_MathHelper_cos($par1) * $par2;
        }
    }
}
function nms_ModelOcelot_setLivingAnimations($this, $par1EntityLiving, $par2, $par3, $par4) {
    var $var5;
    $var5 = $par1EntityLiving;
    $this.$ocelotBody.$rotationPointY = 12.0;
    $this.$ocelotBody.$rotationPointZ = (-10.0);
    $this.$ocelotHead.$rotationPointY = 15.0;
    $this.$ocelotHead.$rotationPointZ = (-9.0);
    $this.$ocelotTail.$rotationPointY = 15.0;
    $this.$ocelotTail.$rotationPointZ = 8.0;
    $this.$ocelotTail2.$rotationPointY = 20.0;
    $this.$ocelotTail2.$rotationPointZ = 14.0;
    $par1EntityLiving = $this.$ocelotFrontLeftLeg;
    $this.$ocelotFrontRightLeg.$rotationPointY = 13.800000190734863;
    $par1EntityLiving.$rotationPointY = 13.800000190734863;
    $par1EntityLiving = $this.$ocelotFrontLeftLeg;
    $this.$ocelotFrontRightLeg.$rotationPointZ = (-5.0);
    $par1EntityLiving.$rotationPointZ = (-5.0);
    $par1EntityLiving = $this.$ocelotBackLeftLeg;
    $this.$ocelotBackRightLeg.$rotationPointY = 18.0;
    $par1EntityLiving.$rotationPointY = 18.0;
    $par1EntityLiving = $this.$ocelotBackLeftLeg;
    $this.$ocelotBackRightLeg.$rotationPointZ = 5.0;
    $par1EntityLiving.$rotationPointZ = 5.0;
    $this.$ocelotTail.$rotateAngleX = 0.8999999761581421;
    if (nms_Entity_isSneaking($var5)) {
        $par1EntityLiving = $this.$ocelotBody;
        $par1EntityLiving.$rotationPointY = $par1EntityLiving.$rotationPointY + 1.0;
        $par1EntityLiving = $this.$ocelotHead;
        $par1EntityLiving.$rotationPointY = $par1EntityLiving.$rotationPointY + 2.0;
        $par1EntityLiving = $this.$ocelotTail;
        $par1EntityLiving.$rotationPointY = $par1EntityLiving.$rotationPointY + 1.0;
        $par1EntityLiving = $this.$ocelotTail2;
        $par1EntityLiving.$rotationPointY = $par1EntityLiving.$rotationPointY + (-4.0);
        $par1EntityLiving = $this.$ocelotTail2;
        $par1EntityLiving.$rotationPointZ = $par1EntityLiving.$rotationPointZ + 2.0;
        $this.$ocelotTail.$rotateAngleX = 1.5707963705062866;
        $this.$ocelotTail2.$rotateAngleX = 1.5707963705062866;
        $this.$field_78163_i = 0;
    } else if (nms_Entity_isSprinting($var5)) {
        $this.$ocelotTail2.$rotationPointY = $this.$ocelotTail.$rotationPointY;
        $par1EntityLiving = $this.$ocelotTail2;
        $par1EntityLiving.$rotationPointZ = $par1EntityLiving.$rotationPointZ + 2.0;
        $this.$ocelotTail.$rotateAngleX = 1.5707963705062866;
        $this.$ocelotTail2.$rotateAngleX = 1.5707963705062866;
        $this.$field_78163_i = 2;
    } else if (!nms_EntityTameable_isSitting($var5))
        $this.$field_78163_i = 1;
    else {
        $this.$ocelotBody.$rotateAngleX = 0.7853981852531433;
        $par1EntityLiving = $this.$ocelotBody;
        $par1EntityLiving.$rotationPointY = $par1EntityLiving.$rotationPointY + (-4.0);
        $par1EntityLiving = $this.$ocelotBody;
        $par1EntityLiving.$rotationPointZ = $par1EntityLiving.$rotationPointZ + 5.0;
        $par1EntityLiving = $this.$ocelotHead;
        $par1EntityLiving.$rotationPointY = $par1EntityLiving.$rotationPointY + (-3.299999952316284);
        $par1EntityLiving = $this.$ocelotHead;
        $par1EntityLiving.$rotationPointZ = $par1EntityLiving.$rotationPointZ + 1.0;
        $par1EntityLiving = $this.$ocelotTail;
        $par1EntityLiving.$rotationPointY = $par1EntityLiving.$rotationPointY + 8.0;
        $par1EntityLiving = $this.$ocelotTail;
        $par1EntityLiving.$rotationPointZ = $par1EntityLiving.$rotationPointZ + (-2.0);
        $par1EntityLiving = $this.$ocelotTail2;
        $par1EntityLiving.$rotationPointY = $par1EntityLiving.$rotationPointY + 2.0;
        $par1EntityLiving = $this.$ocelotTail2;
        $par1EntityLiving.$rotationPointZ = $par1EntityLiving.$rotationPointZ + (-0.800000011920929);
        $this.$ocelotTail.$rotateAngleX = 1.72787606716156;
        $this.$ocelotTail2.$rotateAngleX = 2.670353889465332;
        $par1EntityLiving = $this.$ocelotFrontLeftLeg;
        $this.$ocelotFrontRightLeg.$rotateAngleX = (-0.15707963705062866);
        $par1EntityLiving.$rotateAngleX = (-0.15707963705062866);
        $par1EntityLiving = $this.$ocelotFrontLeftLeg;
        $this.$ocelotFrontRightLeg.$rotationPointY = 15.800000190734863;
        $par1EntityLiving.$rotationPointY = 15.800000190734863;
        $par1EntityLiving = $this.$ocelotFrontLeftLeg;
        $this.$ocelotFrontRightLeg.$rotationPointZ = (-7.0);
        $par1EntityLiving.$rotationPointZ = (-7.0);
        $par1EntityLiving = $this.$ocelotBackLeftLeg;
        $this.$ocelotBackRightLeg.$rotateAngleX = (-1.5707963705062866);
        $par1EntityLiving.$rotateAngleX = (-1.5707963705062866);
        $par1EntityLiving = $this.$ocelotBackLeftLeg;
        $this.$ocelotBackRightLeg.$rotationPointY = 21.0;
        $par1EntityLiving.$rotationPointY = 21.0;
        $par1EntityLiving = $this.$ocelotBackLeftLeg;
        $this.$ocelotBackRightLeg.$rotationPointZ = 1.0;
        $par1EntityLiving.$rotationPointZ = 1.0;
        $this.$field_78163_i = 3;
    }
}
function nms_EntitySilverfish() {
    nms_EntityMob.call(this);
    this.$allySummonCooldown = 0;
}
function nms_EntitySilverfish__init_0() {
    var var_0 = new nms_EntitySilverfish();
    nms_EntitySilverfish__init_(var_0);
    return var_0;
}
function nms_EntitySilverfish__init_($this) {
    nms_EntityMob__init_0($this);
    nms_Entity_setSize($this, 0.30000001192092896, 0.699999988079071);
    $this.$moveSpeed = 0.6000000238418579;
}
function nms_EntitySilverfish_getMaxHealth($this) {
    return 8;
}
function nms_EntitySilverfish_canTriggerWalking($this) {
    return 0;
}
function nms_EntitySilverfish_findPlayerToAttack($this) {
    return nms_World_getClosestVulnerablePlayerToEntity($this.$worldObj, $this, 8.0);
}
function nms_EntitySilverfish_getLivingSound($this) {
    return $rt_s(1596);
}
function nms_EntitySilverfish_getHurtSound($this) {
    return $rt_s(1597);
}
function nms_EntitySilverfish_getDeathSound($this) {
    return $rt_s(1598);
}
function nms_EntitySilverfish_attackEntityFrom($this, $par1DamageSource, $par2) {
    if ($this.$invulnerable)
        return 0;
    if ($this.$allySummonCooldown <= 0 && !(!($par1DamageSource instanceof nms_EntityDamageSource) && $par1DamageSource !== nms_DamageSource_magic))
        $this.$allySummonCooldown = 20;
    return nms_EntityMob_attackEntityFrom($this, $par1DamageSource, $par2);
}
function nms_EntitySilverfish_attackEntity($this, $par1Entity, $par2) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$attackTime <= 0 && $par2 < 1.2000000476837158 && $par1Entity.$boundingBox.$maxY > $this.$boundingBox.$minY && $par1Entity.$boundingBox.$minY < $this.$boundingBox.$maxY) {
            $this.$attackTime = 20;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        nms_EntityMob_attackEntityAsMob($this, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $ptr);
}
function nms_EntitySilverfish_playStepSound($this, $par1, $par2, $par3, $par4) {
    nms_Entity_playSound($this, $rt_s(1599), 0.15000000596046448, 1.0);
}
function nms_EntitySilverfish_onUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$renderYawOffset = $this.$rotationYaw;
        $ptr = 1;
    case 1:
        nms_EntityLiving_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_EntitySilverfish_getBlockPathWeight($this, $par1, $par2, $par3) {
    var var$4;
    var$4 = nms_World_getBlockId($this.$worldObj, $par1, $par2 - 1 | 0, $par3);
    nms_Block_$callClinit();
    return var$4 != nms_Block_stone.$blockID ? nms_EntityMob_getBlockPathWeight($this, $par1, $par2, $par3) : 10.0;
}
function nms_EntitySilverfish_getAttackStrength($this, $par1Entity) {
    return 1;
}
function nms_EntitySilverfish_getCreatureAttribute($this) {
    return nms_EnumCreatureAttribute_ARTHROPOD;
}
function nms_RenderSilverfish() {
    nms_RenderLiving.call(this);
}
var nms_RenderSilverfish_entityTexture = null;
function nms_RenderSilverfish__init_0() {
    var var_0 = new nms_RenderSilverfish();
    nms_RenderSilverfish__init_(var_0);
    return var_0;
}
function nms_RenderSilverfish__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelSilverfish__init_0(), 0.30000001192092896);
}
function nms_RenderSilverfish_getSilverfishDeathRotation($this, $par1EntitySilverfish) {
    return 180.0;
}
function nms_RenderSilverfish_renderSilverfish($this, $par1EntitySilverfish, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntitySilverfish = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntitySilverfish, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntitySilverfish, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderSilverfish_shouldSilverfishRenderPass($this, $par1EntitySilverfish, $par2, $par3) {
    return (-1);
}
function nms_RenderSilverfish_getDeathMaxRotation($this, $par1EntityLiving) {
    return 180.0;
}
function nms_RenderSilverfish_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    return (-1);
}
function nms_RenderSilverfish_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderSilverfish_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderSilverfish_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderSilverfish_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderSilverfish__clinit_() {
    nms_RenderSilverfish_entityTexture = nle_TextureLocation__init_($rt_s(1600));
}
function nms_EntityCreeper() {
    var a = this; nms_EntityMob.call(a);
    a.$lastActiveTime = 0;
    a.$timeSinceIgnited = 0;
    a.$fuseTime = 0;
    a.$explosionRadius = 0;
}
function nms_EntityCreeper__init_0() {
    var var_0 = new nms_EntityCreeper();
    nms_EntityCreeper__init_(var_0);
    return var_0;
}
function nms_EntityCreeper__init_($this) {
    nms_EntityMob__init_0($this);
    $this.$fuseTime = 30;
    $this.$explosionRadius = 3;
}
function nms_EntityCreeper_isAIEnabled($this) {
    return 1;
}
function nms_EntityCreeper_func_82143_as($this) {
    return $this.$attackTarget === null ? 3 : 3 + ($this.$health - 1 | 0) | 0;
}
function nms_EntityCreeper_fall($this, $par1) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityLiving_fall($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $this.$timeSinceIgnited = $this.$timeSinceIgnited + $par1 * 1.5 | 0;
        if ($this.$timeSinceIgnited > ($this.$fuseTime - 5 | 0))
            $this.$timeSinceIgnited = $this.$fuseTime - 5 | 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $ptr);
}
function nms_EntityCreeper_getMaxHealth($this) {
    return 20;
}
function nms_EntityCreeper_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte_valueOf((-1)));
    nms_DataWatcher_addObject($this.$dataWatcher, 17, jl_Byte_valueOf(0));
}
function nms_EntityCreeper_onUpdate($this) {
    var $var1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_EntityLiving_isEntityAlive($this)) {
            $this.$lastActiveTime = $this.$timeSinceIgnited;
            $var1 = nms_EntityCreeper_getCreeperState($this);
            if ($var1 > 0 && !$this.$timeSinceIgnited) {
                var$2 = $rt_s(1601);
                var$3 = 1.0;
                var$4 = 0.5;
                $ptr = 2;
                continue main;
            }
            $this.$timeSinceIgnited = $this.$timeSinceIgnited + $var1 | 0;
            if ($this.$timeSinceIgnited < 0)
                $this.$timeSinceIgnited = 0;
            if ($this.$timeSinceIgnited >= $this.$fuseTime)
                $this.$timeSinceIgnited = $this.$fuseTime;
        }
        $ptr = 1;
    case 1:
        nms_EntityLiving_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_Entity_playSound($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$timeSinceIgnited = $this.$timeSinceIgnited + $var1 | 0;
        if ($this.$timeSinceIgnited < 0)
            $this.$timeSinceIgnited = 0;
        if ($this.$timeSinceIgnited >= $this.$fuseTime)
            $this.$timeSinceIgnited = $this.$fuseTime;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, $ptr);
}
function nms_EntityCreeper_getHurtSound($this) {
    return $rt_s(1602);
}
function nms_EntityCreeper_getDeathSound($this) {
    return $rt_s(1603);
}
function nms_EntityCreeper_onDeath($this, $par1DamageSource) {
    nms_EntityLiving_onDeath($this, $par1DamageSource);
    if (null instanceof nms_EntitySkeleton) {
        nms_Item_$callClinit();
        nms_Entity_dropItem($this, nms_Item_record13.$itemID + nle_EaglercraftRandom_nextInt($this.$rand0, (nms_Item_recordWait.$itemID - nms_Item_record13.$itemID | 0) + 1 | 0) | 0, 1);
    }
}
function nms_EntityCreeper_attackEntityAsMob($this, $par1Entity) {
    return 1;
}
function nms_EntityCreeper_getPowered($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 17) != 1 ? 0 : 1;
}
function nms_EntityCreeper_getCreeperFlashIntensity($this, $par1) {
    return ($this.$lastActiveTime + ($this.$timeSinceIgnited - $this.$lastActiveTime | 0) * $par1) / ($this.$fuseTime - 2 | 0);
}
function nms_EntityCreeper_getCreeperState($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16);
}
function nms_RenderCreeper() {
    nms_RenderLiving.call(this);
    this.$creeperModel = null;
}
var nms_RenderCreeper_tex_power = null;
var nms_RenderCreeper_entityTexture = null;
function nms_RenderCreeper__init_0() {
    var var_0 = new nms_RenderCreeper();
    nms_RenderCreeper__init_(var_0);
    return var_0;
}
function nms_RenderCreeper__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelCreeper__init_0(), 0.5);
    $this.$creeperModel = nms_ModelCreeper__init_1(2.0);
}
function nms_RenderCreeper_updateCreeperScale($this, $par1EntityCreeper, $par2) {
    var $var4, $var5, $var6;
    $var4 = nms_EntityCreeper_getCreeperFlashIntensity($par1EntityCreeper, $par2);
    $var5 = 1.0 + nms_MathHelper_sin($var4 * 100.0) * $var4 * 0.009999999776482582;
    if ($var4 < 0.0)
        $var4 = 0.0;
    if ($var4 > 1.0)
        $var4 = 1.0;
    $par2 = $var4 * $var4;
    $par2 = $par2 * $par2;
    $var6 = (1.0 + $par2 * 0.4000000059604645) * $var5;
    nleg_EaglerAdapterGL30_glScalef($var6, (1.0 + $par2 * 0.10000000149011612) / $var5, $var6);
}
function nms_RenderCreeper_updateCreeperColorMultiplier($this, $par1EntityCreeper, $par2, $par3) {
    var $var5, $var6;
    $var5 = nms_EntityCreeper_getCreeperFlashIntensity($par1EntityCreeper, $par3);
    if (!(($var5 * 10.0 | 0) % 2 | 0))
        return 0;
    $var6 = $var5 * 0.20000000298023224 * 255.0 | 0;
    if ($var6 < 0)
        $var6 = 0;
    if ($var6 > 255)
        $var6 = 255;
    return $var6 << 24 | 16711680 | 65280 | 255;
}
function nms_RenderCreeper_renderCreeperPassModel($this, $par1EntityCreeper, $par2, $par3) {
    var $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityCreeper = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_EntityCreeper_getPowered($par1EntityCreeper)) {
            if (!nms_Entity_isInvisible($par1EntityCreeper))
                nleg_EaglerAdapterGL30_glDepthMask(1);
            else
                nleg_EaglerAdapterGL30_glDepthMask(0);
            if ($par2 == 1) {
                $var4 = $par1EntityCreeper.$ticksExisted + $par3;
                $par1EntityCreeper = nms_RenderCreeper_tex_power;
                $ptr = 1;
                continue main;
            }
            if ($par2 == 2) {
                nleg_EaglerAdapterGL30_glMatrixMode(5890);
                nleg_EaglerAdapterGL30_glLoadIdentity();
                nleg_EaglerAdapterGL30_glMatrixMode(5888);
                nleg_EaglerAdapterGL30_glEnable(2896);
                nleg_EaglerAdapterGL30_glDisable(3042);
            }
        }
        return (-1);
    case 1:
        nle_TextureLocation_bindTexture($par1EntityCreeper);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glMatrixMode(5890);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        $var5 = $var4 * 0.009999999776482582;
        nleg_EaglerAdapterGL30_glTranslatef($var5, $var5, 0.0);
        $this.$renderPassModel = $this.$creeperModel;
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glColor4f(0.5, 0.5, 0.5, 1.0);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glBlendFunc(1, 1);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityCreeper, $par2, $par3, $var4, $var5, $ptr);
}
function nms_RenderCreeper_func_77061_b($this, $par1EntityCreeper, $par2, $par3) {
    return (-1);
}
function nms_RenderCreeper_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderCreeper_updateCreeperScale($this, $par1EntityLiving, $par2);
}
function nms_RenderCreeper_getColorMultiplier($this, $par1EntityLiving, $par2, $par3) {
    return nms_RenderCreeper_updateCreeperColorMultiplier($this, $par1EntityLiving, $par2, $par3);
}
function nms_RenderCreeper_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderCreeper_renderCreeperPassModel($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderCreeper_inheritRenderPass($this, $par1EntityLiving, $par2, $par3) {
    return (-1);
}
function nms_RenderCreeper_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderCreeper_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderCreeper__clinit_() {
    nms_RenderCreeper_tex_power = nle_TextureLocation__init_($rt_s(1604));
    nms_RenderCreeper_entityTexture = nle_TextureLocation__init_($rt_s(1605));
}
function nms_EntityEnderman() {
    var a = this; nms_EntityMob.call(a);
    a.$teleportDelay = 0;
    a.$field_70826_g = 0;
    a.$field_104003_g = 0;
}
var nms_EntityEnderman_carriableBlocks = null;
function nms_EntityEnderman_$callClinit() {
    nms_EntityEnderman_$callClinit = $rt_eraseClinit(nms_EntityEnderman);
    nms_EntityEnderman__clinit_();
}
function nms_EntityEnderman__init_0() {
    var var_0 = new nms_EntityEnderman();
    nms_EntityEnderman__init_(var_0);
    return var_0;
}
function nms_EntityEnderman__init_($this) {
    nms_EntityEnderman_$callClinit();
    nms_EntityMob__init_0($this);
    $this.$teleportDelay = 0;
    $this.$field_70826_g = 0;
    $this.$moveSpeed = 0.20000000298023224;
    nms_Entity_setSize($this, 0.6000000238418579, 2.9000000953674316);
    $this.$stepHeight = 1.0;
}
function nms_EntityEnderman_getMaxHealth($this) {
    return 40;
}
function nms_EntityEnderman_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte__init_(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 17, jl_Byte__init_(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 18, jl_Byte__init_(0));
}
function nms_EntityEnderman_findPlayerToAttack($this) {
    var $var1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = nms_World_getClosestVulnerablePlayerToEntity($this.$worldObj, $this, 64.0);
        if ($var1 !== null) {
            a: {
                var$2 = $var1.$inventory.$armorInventory.data[3];
                if (var$2 !== null) {
                    var$3 = var$2.$itemID0;
                    nms_Block_$callClinit();
                    if (var$3 == nms_Block_pumpkin.$blockID) {
                        var$3 = 0;
                        break a;
                    }
                }
                var$2 = nms_Vec3_normalize(nms_EntityLiving_getLook($var1, 1.0));
                var$4 = nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, $this.$posX - $var1.$posX, $this.$boundingBox.$minY + $this.$height0 / 2.0 - ($var1.$posY + $var1.$getEyeHeight()), $this.$posZ - $var1.$posZ);
                var$5 = nms_Vec3_lengthVector(var$4);
                if (nms_Vec3_dotProduct(var$2, nms_Vec3_normalize(var$4)) > 1.0 - 0.025 / var$5) {
                    $ptr = 1;
                    continue main;
                }
                var$3 = 0;
            }
            if (!var$3)
                $this.$field_70826_g = 0;
            else {
                $this.$field_104003_g = 1;
                if (!$this.$field_70826_g)
                    nms_World_playSoundAtEntity($this.$worldObj, $var1, $rt_s(1606), 1.0, 1.0);
                var$6 = $this.$field_70826_g;
                $this.$field_70826_g = var$6 + 1 | 0;
                if (var$6 == 5) {
                    $this.$field_70826_g = 0;
                    nms_EntityEnderman_setScreaming($this, 1);
                    return $var1;
                }
            }
        }
        return null;
    case 1:
        $tmp = nms_EntityLiving_canEntityBeSeen($var1, $this);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $tmp;
        if (!var$3)
            $this.$field_70826_g = 0;
        else {
            $this.$field_104003_g = 1;
            if (!$this.$field_70826_g)
                nms_World_playSoundAtEntity($this.$worldObj, $var1, $rt_s(1606), 1.0, 1.0);
            var$6 = $this.$field_70826_g;
            $this.$field_70826_g = var$6 + 1 | 0;
            if (var$6 == 5) {
                $this.$field_70826_g = 0;
                nms_EntityEnderman_setScreaming($this, 1);
                return $var1;
            }
        }
        return null;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
}
function nms_EntityEnderman_onLivingUpdate($this) {
    var var$1, $var1, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_Entity_isWet($this)) {
            var$1 = nms_DamageSource_drown;
            $var1 = 1;
            $ptr = 1;
            continue main;
        }
        $this.$moveSpeed = $this.$entityToAttack === null ? 0.30000001192092896 : 6.5;
        $var1 = 0;
        if ($var1 < 2) {
            var$1 = $this.$worldObj;
            var$3 = $rt_s(1051);
            var$4 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
            var$5 = $this.$posY + nle_EaglercraftRandom_nextDouble($this.$rand0) * $this.$height0 - 0.25;
            var$6 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
            var$7 = (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 2.0;
            var$8 =  -nle_EaglercraftRandom_nextDouble($this.$rand0);
            var$9 = (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 2.0;
            $ptr = 2;
            continue main;
        }
        if (!nms_Entity_isWet($this) && !nms_Entity_isBurning($this)) {
            if (nms_EntityEnderman_isScreaming($this) && !$this.$field_104003_g && !nle_EaglercraftRandom_nextInt($this.$rand0, 100))
                nms_EntityEnderman_setScreaming($this, 0);
            $this.$isJumping = 0;
            if ($this.$entityToAttack !== null)
                nms_EntityLiving_faceEntity($this, $this.$entityToAttack, 100.0, 100.0);
            $ptr = 4;
            continue main;
        }
        $this.$entityToAttack = null;
        nms_EntityEnderman_setScreaming($this, 0);
        $this.$field_104003_g = 0;
        $ptr = 3;
        continue main;
    case 1:
        nms_EntityEnderman_attackEntityFrom($this, var$1, $var1);
        if ($rt_suspending()) {
            break main;
        }
        $this.$moveSpeed = $this.$entityToAttack === null ? 0.30000001192092896 : 6.5;
        $var1 = 0;
        if ($var1 < 2) {
            var$1 = $this.$worldObj;
            var$3 = $rt_s(1051);
            var$4 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
            var$5 = $this.$posY + nle_EaglercraftRandom_nextDouble($this.$rand0) * $this.$height0 - 0.25;
            var$6 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
            var$7 = (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 2.0;
            var$8 =  -nle_EaglercraftRandom_nextDouble($this.$rand0);
            var$9 = (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 2.0;
            $ptr = 2;
            continue main;
        }
        if (!nms_Entity_isWet($this) && !nms_Entity_isBurning($this)) {
            if (nms_EntityEnderman_isScreaming($this) && !$this.$field_104003_g && !nle_EaglercraftRandom_nextInt($this.$rand0, 100))
                nms_EntityEnderman_setScreaming($this, 0);
            $this.$isJumping = 0;
            if ($this.$entityToAttack !== null)
                nms_EntityLiving_faceEntity($this, $this.$entityToAttack, 100.0, 100.0);
            $ptr = 4;
            continue main;
        }
        $this.$entityToAttack = null;
        nms_EntityEnderman_setScreaming($this, 0);
        $this.$field_104003_g = 0;
        $ptr = 3;
        continue main;
    case 2:
        nms_World_spawnParticle(var$1, var$3, var$4, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $var1 + 1 | 0;
        if ($var1 < 2) {
            var$1 = $this.$worldObj;
            var$3 = $rt_s(1051);
            var$4 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
            var$5 = $this.$posY + nle_EaglercraftRandom_nextDouble($this.$rand0) * $this.$height0 - 0.25;
            var$6 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0;
            var$7 = (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 2.0;
            var$8 =  -nle_EaglercraftRandom_nextDouble($this.$rand0);
            var$9 = (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 2.0;
            continue main;
        }
        if (!nms_Entity_isWet($this) && !nms_Entity_isBurning($this)) {
            if (nms_EntityEnderman_isScreaming($this) && !$this.$field_104003_g && !nle_EaglercraftRandom_nextInt($this.$rand0, 100))
                nms_EntityEnderman_setScreaming($this, 0);
            $this.$isJumping = 0;
            if ($this.$entityToAttack !== null)
                nms_EntityLiving_faceEntity($this, $this.$entityToAttack, 100.0, 100.0);
            $ptr = 4;
            continue main;
        }
        $this.$entityToAttack = null;
        nms_EntityEnderman_setScreaming($this, 0);
        $this.$field_104003_g = 0;
        $ptr = 3;
    case 3:
        nms_EntityEnderman_teleportRandomly($this);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_EntityEnderman_isScreaming($this) && !$this.$field_104003_g && !nle_EaglercraftRandom_nextInt($this.$rand0, 100))
            nms_EntityEnderman_setScreaming($this, 0);
        $this.$isJumping = 0;
        if ($this.$entityToAttack !== null)
            nms_EntityLiving_faceEntity($this, $this.$entityToAttack, 100.0, 100.0);
        $ptr = 4;
    case 4:
        nms_EntityMob_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $var1, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
}
function nms_EntityEnderman_teleportRandomly($this) {
    var $var1, $var3, $var5, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 64.0;
        $var3 = $this.$posY + (nle_EaglercraftRandom_nextInt($this.$rand0, 64) - 32 | 0);
        $var5 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * 64.0;
        $ptr = 1;
    case 1:
        $tmp = nms_EntityEnderman_teleportTo($this, $var1, $var3, $var5);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $tmp;
        return var$4;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var3, $var5, var$4, $ptr);
}
function nms_EntityEnderman_teleportTo($this, $par1, $par3, $par5) {
    var $var7, $var9, $var11, $var13, $var14, $var15, $var16, $var17, $var18, var$13, var$14, $var30, $var21, $var22, $var19, $var23, $var24, $var26, $var28, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var19 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var30 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$par5 = $thread.pop();$par3 = $thread.pop();$par1
        = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = $this.$posX;
        $var9 = $this.$posY;
        $var11 = $this.$posZ;
        $this.$posX = $par1;
        $this.$posY = $par3;
        $this.$posZ = $par5;
        $var13 = 0;
        $var14 = nms_MathHelper_floor_double($this.$posX);
        $var15 = nms_MathHelper_floor_double($this.$posY);
        $var16 = nms_MathHelper_floor_double($this.$posZ);
        if (nms_World_blockExists($this.$worldObj, $var14, $var15, $var16)) {
            $var17 = 0;
            while (!$var17 && $var15 > 0) {
                $var18 = nms_World_getBlockId($this.$worldObj, $var14, $var15 - 1 | 0, $var16);
                if ($var18) {
                    nms_Block_$callClinit();
                    if (nms_Block_blocksList.data[$var18].$blockMaterial.$blocksMovement()) {
                        $var17 = 1;
                        continue;
                    }
                }
                $this.$posY = $this.$posY - 1.0;
                $var15 = $var15 + (-1) | 0;
            }
            if ($var17) {
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                var$13 = $this.$worldObj;
                var$14 = $this.$boundingBox;
                $ptr = 1;
                continue main;
            }
        }
        if (!$var13) {
            nms_Entity_setPosition($this, $var7, $var9, $var11);
            return 0;
        }
        $var30 = 128;
        $var18 = 0;
        $par3 = 127.0;
        if ($var18 >= $var30) {
            nms_World_playSoundEffect($this.$worldObj, $var7, $var9, $var11, $rt_s(1607), 1.0, 1.0);
            var$13 = $rt_s(1607);
            $var21 = 1.0;
            $var22 = 1.0;
            $ptr = 2;
            continue main;
        }
        $var19 = $var18 / $par3;
        $var21 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.20000000298023224;
        $var22 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.20000000298023224;
        $var23 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.20000000298023224;
        $var24 = $var7 + ($this.$posX - $var7) * $var19 + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0 * 2.0;
        $var26 = $var9 + ($this.$posY - $var9) * $var19 + nle_EaglercraftRandom_nextDouble($this.$rand0) * $this.$height0;
        $var28 = $var11 + ($this.$posZ - $var11) * $var19 + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0 * 2.0;
        var$13 = $this.$worldObj;
        var$14 = $rt_s(1051);
        $par1 = $var21;
        $par5 = $var22;
        $var19 = $var23;
        $ptr = 3;
        continue main;
    case 1:
        $tmp = nms_World_getCollidingBoundingBoxes(var$13, $this, var$14);
        if ($rt_suspending()) {
            break main;
        }
        var$13 = $tmp;
        if (ju_AbstractCollection_isEmpty(var$13) && !nms_World_isAnyLiquid($this.$worldObj, $this.$boundingBox))
            $var13 = 1;
        if (!$var13) {
            nms_Entity_setPosition($this, $var7, $var9, $var11);
            return 0;
        }
        $var30 = 128;
        $var18 = 0;
        $par3 = 127.0;
        if ($var18 >= $var30) {
            nms_World_playSoundEffect($this.$worldObj, $var7, $var9, $var11, $rt_s(1607), 1.0, 1.0);
            var$13 = $rt_s(1607);
            $var21 = 1.0;
            $var22 = 1.0;
            $ptr = 2;
            continue main;
        }
        $var19 = $var18 / $par3;
        $var21 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.20000000298023224;
        $var22 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.20000000298023224;
        $var23 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.20000000298023224;
        $var24 = $var7 + ($this.$posX - $var7) * $var19 + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0 * 2.0;
        $var26 = $var9 + ($this.$posY - $var9) * $var19 + nle_EaglercraftRandom_nextDouble($this.$rand0) * $this.$height0;
        $var28 = $var11 + ($this.$posZ - $var11) * $var19 + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0 * 2.0;
        var$13 = $this.$worldObj;
        var$14 = $rt_s(1051);
        $par1 = $var21;
        $par5 = $var22;
        $var19 = $var23;
        $ptr = 3;
        continue main;
    case 2:
        nms_Entity_playSound($this, var$13, $var21, $var22);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    case 3:
        nms_World_spawnParticle(var$13, var$14, $var24, $var26, $var28, $par1, $par5, $var19);
        if ($rt_suspending()) {
            break main;
        }
        $var18 = $var18 + 1 | 0;
        if ($var18 >= $var30) {
            nms_World_playSoundEffect($this.$worldObj, $var7, $var9, $var11, $rt_s(1607), 1.0, 1.0);
            var$13 = $rt_s(1607);
            $var21 = 1.0;
            $var22 = 1.0;
            $ptr = 2;
            continue main;
        }
        $var19 = $var18 / $par3;
        $var21 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.20000000298023224;
        $var22 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.20000000298023224;
        $var23 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 0.20000000298023224;
        $var24 = $var7 + ($this.$posX - $var7) * $var19 + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0 * 2.0;
        $var26 = $var9 + ($this.$posY - $var9) * $var19 + nle_EaglercraftRandom_nextDouble($this.$rand0) * $this.$height0;
        $var28 = $var11 + ($this.$posZ - $var11) * $var19 + (nle_EaglercraftRandom_nextDouble($this.$rand0) - 0.5) * $this.$width0 * 2.0;
        var$13 = $this.$worldObj;
        var$14 = $rt_s(1051);
        $par1 = $var21;
        $par5 = $var22;
        $var19 = $var23;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, $par5, $var7, $var9, $var11, $var13, $var14, $var15, $var16, $var17, $var18, var$13, var$14, $var30, $var21, $var22, $var19, $var23, $var24, $var26, $var28, $ptr);
}
function nms_EntityEnderman_getLivingSound($this) {
    return !nms_EntityEnderman_isScreaming($this) ? $rt_s(1608) : $rt_s(1609);
}
function nms_EntityEnderman_getHurtSound($this) {
    return $rt_s(1610);
}
function nms_EntityEnderman_getDeathSound($this) {
    return $rt_s(1611);
}
function nms_EntityEnderman_getCarried($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16);
}
function nms_EntityEnderman_getCarryingData($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 17);
}
function nms_EntityEnderman_attackEntityFrom($this, $par1DamageSource, $par2) {
    var $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1DamageSource = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$invulnerable)
            return 0;
        nms_EntityEnderman_setScreaming($this, 1);
        if ($par1DamageSource instanceof nms_EntityDamageSource && $par1DamageSource.$getEntity() instanceof nms_EntityPlayer)
            $this.$field_104003_g = 1;
        if (!($par1DamageSource instanceof nms_EntityDamageSourceIndirect)) {
            $ptr = 1;
            continue main;
        }
        $this.$field_104003_g = 0;
        $var3 = 0;
        if ($var3 >= 64)
            return 0;
        $ptr = 2;
        continue main;
    case 1:
        $tmp = nms_EntityMob_attackEntityFrom($this, $par1DamageSource, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    case 2:
        $tmp = nms_EntityEnderman_teleportRandomly($this);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if ($par2)
            return 1;
        $var3 = $var3 + 1 | 0;
        if ($var3 >= 64)
            return 0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1DamageSource, $par2, $var3, $ptr);
}
function nms_EntityEnderman_isScreaming($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 18) <= 0 ? 0 : 1;
}
function nms_EntityEnderman_setScreaming($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 18, jl_Byte_valueOf((!$par1 ? 0 : 1) << 24 >> 24));
}
function nms_EntityEnderman_getAttackStrength($this, $par1Entity) {
    return 7;
}
function nms_EntityEnderman__clinit_() {
    var var$1;
    nms_EntityEnderman_carriableBlocks = $rt_createBooleanArray(256);
    var$1 = nms_EntityEnderman_carriableBlocks.data;
    nms_Block_$callClinit();
    var$1[nms_Block_grass.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_dirt.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_sand.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_gravel.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_plantYellow.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_plantRed.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_mushroomBrown.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_mushroomRed.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_tnt.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_cactus.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_blockClay.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_pumpkin.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_melon.$blockID] = 1;
    nms_EntityEnderman_carriableBlocks.data[nms_Block_mycelium.$blockID] = 1;
}
function nms_RenderEnderman() {
    var a = this; nms_RenderLiving.call(a);
    a.$endermanModel = null;
    a.$rnd = null;
}
var nms_RenderEnderman_terrain = null;
var nms_RenderEnderman_tex_eyes = null;
var nms_RenderEnderman_entityTexture = null;
function nms_RenderEnderman__init_0() {
    var var_0 = new nms_RenderEnderman();
    nms_RenderEnderman__init_(var_0);
    return var_0;
}
function nms_RenderEnderman__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelEnderman__init_0(), 0.5);
    $this.$rnd = nle_EaglercraftRandom__init_0();
    $this.$endermanModel = $this.$mainModel;
    $this.$renderPassModel = $this.$endermanModel;
}
function nms_RenderEnderman_renderEnderman($this, $par1EntityEnderman, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityEnderman = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$endermanModel.$isCarrying = nms_EntityEnderman_getCarried($par1EntityEnderman) <= 0 ? 0 : 1;
        $this.$endermanModel.$isAttacking = nms_EntityEnderman_isScreaming($par1EntityEnderman);
        if (nms_EntityEnderman_isScreaming($par1EntityEnderman)) {
            $par2 = $par2 + nle_EaglercraftRandom_nextGaussian($this.$rnd) * 0.02;
            $par6 = $par6 + nle_EaglercraftRandom_nextGaussian($this.$rnd) * 0.02;
        }
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityEnderman, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityEnderman, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderEnderman_renderCarrying($this, $par1EntityEnderman, $par2) {
    var $var4, $var5, $var6, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par2 = $thread.pop();$par1EntityEnderman = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_EntityEnderman_getCarried($par1EntityEnderman) <= 0)
            return;
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.6875, (-0.75));
        nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef((-0.5), (-0.5), 0.5);
        $var4 = nms_Entity_getBrightnessForRender($par1EntityEnderman, $par2);
        $var5 = $var4 % 65536 | 0;
        $var6 = $var4 / 65536 | 0;
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, $var5 / 1.0, $var6 / 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$6 = nms_RenderEnderman_terrain;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$6);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        var$6 = $this.$renderBlocks;
        nms_Block_$callClinit();
        var$7 = nms_Block_blocksList.data[nms_EntityEnderman_getCarried($par1EntityEnderman)];
        $var4 = nms_EntityEnderman_getCarryingData($par1EntityEnderman);
        $par2 = 1.0;
        $ptr = 2;
    case 2:
        nms_RenderBlocks_renderBlockAsItem(var$6, var$7, $var4, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityEnderman, $par2, $var4, $var5, $var6, var$6, var$7, $ptr);
}
function nms_RenderEnderman_renderEyes($this, $par1EntityEnderman, $par2, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityEnderman = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par2)
            return (-1);
        var$4 = nms_RenderEnderman_tex_eyes;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glBlendFunc(1, 1);
        nleg_EaglerAdapterGL30_glDisable(2896);
        if (!nms_Entity_isInvisible($par1EntityEnderman))
            nleg_EaglerAdapterGL30_glDepthMask(1);
        else
            nleg_EaglerAdapterGL30_glDepthMask(0);
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, 61680.0, 0.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glColor4f(2.299999952316284, 2.299999952316284, 2.299999952316284, 1.0);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityEnderman, $par2, $par3, var$4, $ptr);
}
function nms_RenderEnderman_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderEnderman_renderEyes($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderEnderman_renderEquippedItems($this, $par1EntityLiving, $par2) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderEnderman_renderCarrying($this, $par1EntityLiving, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $ptr);
}
function nms_RenderEnderman_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderEnderman_renderEnderman($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderEnderman_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderEnderman_renderEnderman($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderEnderman_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderEnderman_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderEnderman__clinit_() {
    nms_RenderEnderman_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_RenderEnderman_tex_eyes = nle_TextureLocation__init_($rt_s(1612));
    nms_RenderEnderman_entityTexture = nle_TextureLocation__init_($rt_s(1335));
}
function nms_EntityGolem() {
    nms_EntityCreature.call(this);
}
function nms_EntityGolem_fall($this, $par1) {
    return;
}
function nms_EntityGolem_getLivingSound($this) {
    return $rt_s(1613);
}
function nms_EntityGolem_getHurtSound($this) {
    return $rt_s(1613);
}
function nms_EntityGolem_getDeathSound($this) {
    return $rt_s(1613);
}
function nms_EntityGolem_getTalkInterval($this) {
    return 120;
}
function nms_EntityGolem_canDespawn($this) {
    return 0;
}
function nms_IRangedAttackMob() {
}
function nms_EntitySnowman() {
    nms_EntityGolem.call(this);
}
function nms_EntitySnowman__init_0() {
    var var_0 = new nms_EntitySnowman();
    nms_EntitySnowman__init_(var_0);
    return var_0;
}
function nms_EntitySnowman__init_($this) {
    nms_EntityCreature__init_0($this);
    nms_Entity_setSize($this, 0.4000000059604645, 1.7999999523162842);
}
function nms_EntitySnowman_isAIEnabled($this) {
    return 1;
}
function nms_EntitySnowman_getMaxHealth($this) {
    return 4;
}
function nms_EntitySnowman_onLivingUpdate($this) {
    var $var1, $var2, $var3, $var4, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityLiving_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_Entity_isWet($this);
        $var1 = nms_MathHelper_floor_double($this.$posX);
        $var2 = nms_MathHelper_floor_double($this.$posZ);
        nms_World_getBiomeGenForCoords($this.$worldObj, $var1, $var2);
        $var2 = 0;
        while ($var2 < 4) {
            $var1 = nms_MathHelper_floor_double($this.$posX + ((($var2 % 2 | 0) * 2 | 0) - 1 | 0) * 0.25);
            $var3 = nms_MathHelper_floor_double($this.$posY);
            $var4 = nms_MathHelper_floor_double($this.$posZ + (((($var2 / 2 | 0) % 2 | 0) * 2 | 0) - 1 | 0) * 0.25);
            if (!nms_World_getBlockId($this.$worldObj, $var1, $var3, $var4) && nms_World_getBiomeGenForCoords($this.$worldObj, $var1, $var4).$temperature < 0.800000011920929) {
                nms_Block_$callClinit();
                if (nms_Block_snow.$canPlaceBlockAt($this.$worldObj, $var1, $var3, $var4)) {
                    var$5 = $this.$worldObj;
                    var$6 = nms_Block_snow.$blockID;
                    $ptr = 2;
                    continue main;
                }
            }
            $var2 = $var2 + 1 | 0;
        }
        return;
    case 2:
        nms_World_setBlock0(var$5, $var1, $var3, $var4, var$6);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var2 = $var2 + 1 | 0;
            if ($var2 >= 4)
                break;
            $var1 = nms_MathHelper_floor_double($this.$posX + ((($var2 % 2 | 0) * 2 | 0) - 1 | 0) * 0.25);
            $var3 = nms_MathHelper_floor_double($this.$posY);
            $var4 = nms_MathHelper_floor_double($this.$posZ + (((($var2 / 2 | 0) % 2 | 0) * 2 | 0) - 1 | 0) * 0.25);
            if (nms_World_getBlockId($this.$worldObj, $var1, $var3, $var4))
                continue;
            if (nms_World_getBiomeGenForCoords($this.$worldObj, $var1, $var4).$temperature >= 0.800000011920929)
                continue;
            nms_Block_$callClinit();
            if (!nms_Block_snow.$canPlaceBlockAt($this.$worldObj, $var1, $var3, $var4))
                continue;
            else {
                var$5 = $this.$worldObj;
                var$6 = nms_Block_snow.$blockID;
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $ptr);
}
function nms_RenderSnowMan() {
    nms_RenderLiving.call(this);
    this.$snowmanModel = null;
}
var nms_RenderSnowMan_entityTexture = null;
function nms_RenderSnowMan__init_0() {
    var var_0 = new nms_RenderSnowMan();
    nms_RenderSnowMan__init_(var_0);
    return var_0;
}
function nms_RenderSnowMan__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelSnowMan__init_0(), 0.5);
    $this.$snowmanModel = $this.$mainModel;
    $this.$renderPassModel = $this.$snowmanModel;
}
function nms_RenderSnowMan_renderSnowmanPumpkin($this, $par1EntitySnowman, $par2) {
    var $var3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntitySnowman = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = new nms_ItemStack;
        nms_Block_$callClinit();
        nms_ItemStack__init_6($var3, nms_Block_pumpkin, 1);
        if (nms_ItemStack_getItem($var3).$itemID >= 256)
            return;
        nleg_EaglerAdapterGL30_glPushMatrix();
        nms_ModelRenderer_postRender($this.$snowmanModel.$head1, 0.0625);
        if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var3.$itemID0].$getRenderType())) {
            nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.34375), 0.0);
            nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
        }
        var$4 = $this.$renderManager.$itemRenderer;
        var$5 = 0;
        $ptr = 1;
    case 1:
        nms_ItemRenderer_renderItem(var$4, $par1EntitySnowman, $var3, var$5);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntitySnowman, $par2, $var3, var$4, var$5, $ptr);
}
function nms_RenderSnowMan_renderEquippedItems($this, $par1EntityLiving, $par2) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderSnowMan_renderSnowmanPumpkin($this, $par1EntityLiving, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $ptr);
}
function nms_RenderSnowMan_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderSnowMan_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderSnowMan__clinit_() {
    nms_RenderSnowMan_entityTexture = nle_TextureLocation__init_($rt_s(1614));
}
function nms_EntitySkeleton() {
    nms_EntityMob.call(this);
}
function nms_EntitySkeleton__init_0() {
    var var_0 = new nms_EntitySkeleton();
    nms_EntitySkeleton__init_(var_0);
    return var_0;
}
function nms_EntitySkeleton__init_($this) {
    nms_EntityMob__init_0($this);
    $this.$moveSpeed = 0.25;
}
function nms_EntitySkeleton_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 13, jl_Byte__init_(0));
}
function nms_EntitySkeleton_isAIEnabled($this) {
    return 1;
}
function nms_EntitySkeleton_getMaxHealth($this) {
    return 20;
}
function nms_EntitySkeleton_getLivingSound($this) {
    return $rt_s(1615);
}
function nms_EntitySkeleton_getHurtSound($this) {
    return $rt_s(1616);
}
function nms_EntitySkeleton_getDeathSound($this) {
    return $rt_s(1617);
}
function nms_EntitySkeleton_playStepSound($this, $par1, $par2, $par3, $par4) {
    nms_Entity_playSound($this, $rt_s(1618), 0.15000000596046448, 1.0);
}
function nms_EntitySkeleton_attackEntityAsMob($this, $par1Entity) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_EntityMob_attackEntityAsMob($this, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        if (!var$2)
            return 0;
        if (nms_EntitySkeleton_getSkeletonType($this) == 1 && $par1Entity instanceof nms_EntityLiving)
            $par1Entity.$addPotionEffect(nms_PotionEffect__init_(nms_Potion_wither.$id5, 200, 0));
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, var$2, $ptr);
}
function nms_EntitySkeleton_getAttackStrength($this, $par1Entity) {
    var $var2, $var3;
    if (nms_EntitySkeleton_getSkeletonType($this) != 1)
        return 2;
    $var2 = nms_EntityLiving_getHeldItem($this);
    $var3 = 4;
    if ($var2 !== null)
        $var3 = $var3 + nms_ItemStack_getDamageVsEntity($var2, $this) | 0;
    return $var3;
}
function nms_EntitySkeleton_getCreatureAttribute($this) {
    return nms_EnumCreatureAttribute_UNDEAD;
}
function nms_EntitySkeleton_onLivingUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_EntitySkeleton_getSkeletonType($this) == 1)
            nms_Entity_setSize($this, 0.7200000286102295, 2.3399999141693115);
        $ptr = 1;
    case 1:
        nms_EntityMob_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_EntitySkeleton_onDeath($this, $par1DamageSource) {
    var $var2, $var3, $var5;
    nms_EntityLiving_onDeath($this, $par1DamageSource);
    if ($par1DamageSource.$getEntity() instanceof nms_EntityArrow && null instanceof nms_EntityPlayer) {
        $var2 = null;
        $var3 = $var2.$posX - $this.$posX;
        $var5 = $var2.$posZ - $this.$posZ;
        if ($var3 * $var3 + $var5 * $var5 >= 2500.0) {
            nms_AchievementList_$callClinit();
            $var2.$triggerAchievement(nms_AchievementList_snipeSkeleton);
        }
    }
}
function nms_EntitySkeleton_getSkeletonType($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 13);
}
function nms_RenderBiped() {
    var a = this; nms_RenderLiving.call(a);
    a.$modelBipedMain = null;
    a.$field_77070_b = 0.0;
    a.$field_82423_g = null;
    a.$field_82425_h = null;
}
var nms_RenderBiped_bipedArmorFilenamePrefix = null;
function nms_RenderBiped__init_(var_0, var_1, var_2) {
    var var_3 = new nms_RenderBiped();
    nms_RenderBiped__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_RenderBiped__init_0($this, $par1ModelBiped, $par2, $par3) {
    nms_RenderLiving__init_0($this, $par1ModelBiped, $par2);
    $this.$modelBipedMain = $par1ModelBiped;
    $this.$field_77070_b = $par3;
    $this.$func_82421_b();
}
function nms_RenderBiped_func_82421_b($this) {
    $this.$field_82423_g = nms_ModelBiped__init_2(1.0);
    $this.$field_82425_h = nms_ModelBiped__init_2(0.5);
}
function nms_RenderBiped_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $var4, $var5, $var6, var$7, $var7, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = $par1EntityLiving.$getCurrentArmor(3 - $par2 | 0);
        if ($var4 !== null) {
            $var5 = nms_ItemStack_getItem($var4);
            if ($var5 instanceof nms_ItemArmor) {
                $var6 = $var5;
                $par1EntityLiving = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($par1EntityLiving);
                jl_AbstractStringBuilder_append($par1EntityLiving, $rt_s(1619));
                jl_AbstractStringBuilder_append($par1EntityLiving, nms_RenderBiped_bipedArmorFilenamePrefix.data[$var6.$renderIndex]);
                jl_AbstractStringBuilder_append($par1EntityLiving, $rt_s(423));
                var$7 = $rt_compare($par2, 2);
                jl_AbstractStringBuilder_append2($par1EntityLiving, var$7 ? 1 : 2);
                jl_AbstractStringBuilder_append($par1EntityLiving, $rt_s(73));
                $par1EntityLiving = jl_AbstractStringBuilder_toString($par1EntityLiving);
                $ptr = 1;
                continue main;
            }
        }
        return (-1);
    case 1:
        nms_Render_loadTexture($this, $par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = var$7 ? $this.$field_82423_g : $this.$field_82425_h;
        $var7.$bipedHead.$showModel = $par2 ? 0 : 1;
        $var7.$bipedHeadwear.$showModel = $par2 ? 0 : 1;
        $par1EntityLiving = $var7.$bipedBody;
        $var9 = $rt_compare($par2, 1);
        $par1EntityLiving.$showModel = $var9 && var$7 ? 0 : 1;
        $var7.$bipedRightArm.$showModel = $var9 ? 0 : 1;
        $var7.$bipedLeftArm.$showModel = $var9 ? 0 : 1;
        $var7.$bipedRightLeg.$showModel = var$7 && $par2 != 3 ? 0 : 1;
        $var7.$bipedLeftLeg.$showModel = var$7 && $par2 != 3 ? 0 : 1;
        $this.$renderPassModel = $var7;
        $var7.$onGround1 = $this.$mainModel.$onGround1;
        $var7.$isRiding = $this.$mainModel.$isRiding;
        $var7.$isChild0 = $this.$mainModel.$isChild0;
        if ($var6.$material !== nms_EnumArmorMaterial_CLOTH) {
            nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
            if (!nms_ItemStack_isItemEnchanted($var4))
                return 1;
            return 15;
        }
        $var9 = nms_ItemArmor_getColor($var6, $var4);
        nleg_EaglerAdapterGL30_glColor3f(1.0 * ($var9 >> 16 & 255) / 255.0, 1.0 * ($var9 >> 8 & 255) / 255.0, 1.0 * ($var9 & 255) / 255.0);
        if (!nms_ItemStack_isItemEnchanted($var4))
            return 16;
        return 31;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $var4, $var5, $var6, var$7, $var7, $var9, $ptr);
}
function nms_RenderBiped_func_82408_c($this, $par1EntityLiving, $par2, $par3) {
    var $var4, $var5, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = $par1EntityLiving.$getCurrentArmor(3 - $par2 | 0);
        if ($var4 !== null) {
            $var5 = nms_ItemStack_getItem($var4);
            if ($var5 instanceof nms_ItemArmor) {
                $var6 = $var5;
                $par1EntityLiving = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($par1EntityLiving);
                jl_AbstractStringBuilder_append($par1EntityLiving, $rt_s(1619));
                jl_AbstractStringBuilder_append($par1EntityLiving, nms_RenderBiped_bipedArmorFilenamePrefix.data[$var6.$renderIndex]);
                jl_AbstractStringBuilder_append($par1EntityLiving, $rt_s(423));
                jl_AbstractStringBuilder_append2($par1EntityLiving, $par2 != 2 ? 1 : 2);
                jl_AbstractStringBuilder_append($par1EntityLiving, $rt_s(1620));
                $par1EntityLiving = jl_AbstractStringBuilder_toString($par1EntityLiving);
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        nms_Render_loadTexture($this, $par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $var4, $var5, $var6, $ptr);
}
function nms_RenderBiped_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $var12, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var12 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
        nms_RenderBiped_func_82420_a($this, $par1EntityLiving, $par1EntityLiving.$getHeldItem());
        $var12 = $par4 - $par1EntityLiving.$yOffset;
        if ($par1EntityLiving.$isSneaking() && !($par1EntityLiving instanceof nms_EntityPlayerSP))
            $var12 = $var12 - 0.125;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $var12, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        $par1EntityLiving = $this.$field_82423_g;
        $var11 = $this.$field_82425_h;
        $this.$modelBipedMain.$aimedBow = 0;
        $var11.$aimedBow = 0;
        $par1EntityLiving.$aimedBow = 0;
        $par1EntityLiving = $this.$field_82423_g;
        $var11 = $this.$field_82425_h;
        $this.$modelBipedMain.$isSneak = 0;
        $var11.$isSneak = 0;
        $par1EntityLiving.$isSneak = 0;
        $par1EntityLiving = $this.$field_82423_g;
        $var11 = $this.$field_82425_h;
        $this.$modelBipedMain.$heldItemRight = 0;
        $var11.$heldItemRight = 0;
        $par1EntityLiving.$heldItemRight = 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $var12, $var11, $ptr);
}
function nms_RenderBiped_func_82420_a($this, $par1EntityLiving, $par2ItemStack) {
    var var$3, var$4, var$5, var$6;
    var$3 = $this.$field_82423_g;
    var$4 = $this.$field_82425_h;
    var$5 = $this.$modelBipedMain;
    var$6 = $par2ItemStack === null ? 0 : 1;
    var$5.$heldItemRight = var$6;
    var$4.$heldItemRight = var$6;
    var$3.$heldItemRight = var$6;
    $par2ItemStack = $this.$field_82423_g;
    var$3 = $this.$field_82425_h;
    var$4 = $this.$modelBipedMain;
    var$6 = $par1EntityLiving.$isSneaking();
    var$4.$isSneak = var$6;
    var$3.$isSneak = var$6;
    $par2ItemStack.$isSneak = var$6;
}
function nms_RenderBiped_renderEquippedItems($this, $par1EntityLiving, $par2) {
    var $var4, $var5, $var7, var$6, var$7, $var6, var$9, $var3, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();$var3 = $thread.pop();var$9 = $thread.pop();$var6 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
        $var4 = $par1EntityLiving.$getHeldItem();
        $var5 = $par1EntityLiving.$getCurrentArmor(3);
        if ($var5 !== null) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nms_ModelRenderer_postRender($this.$modelBipedMain.$bipedHead, 0.0625);
            if (nms_ItemStack_getItem($var5).$itemID < 256) {
                nms_Block_$callClinit();
                if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var5.$itemID0].$getRenderType())) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.25), 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), (-0.625));
                }
                $var7 = $this.$renderManager.$itemRenderer;
                var$6 = 0;
                $ptr = 1;
                continue main;
            }
            var$6 = nms_ItemStack_getItem($var5).$itemID;
            nms_Item_$callClinit();
            if (var$6 == nms_Item_skull.$itemID) {
                nleg_EaglerAdapterGL30_glScalef(1.0625, (-1.0625), (-1.0625));
                $var7 = $rt_s(36);
                if (nms_ItemStack_hasTagCompound($var5) && nms_NBTTagCompound_hasKey($var5.$stackTagCompound, $rt_s(1621)))
                    $var7 = nms_NBTTagCompound_getString($var5.$stackTagCompound, $rt_s(1621));
                var$7 = nms_TileEntitySkullRenderer_skullRenderer;
                $var6 = (-0.5);
                var$9 = 0.0;
                $par2 = (-0.5);
                var$6 = 1;
                $var3 = 180.0;
                var$11 = $var5.$itemDamage;
                $ptr = 2;
                continue main;
            }
            nleg_EaglerAdapterGL30_glPopMatrix();
        }
        if ($var4 === null)
            return;
        nleg_EaglerAdapterGL30_glPushMatrix();
        if ($this.$mainModel.$isChild0) {
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.625, 0.0);
            nleg_EaglerAdapterGL30_glRotatef((-20.0), (-1.0), 0.0, 0.0);
            nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        }
        a: {
            nms_ModelRenderer_postRender($this.$modelBipedMain.$bipedRightArm, 0.0625);
            nleg_EaglerAdapterGL30_glTranslatef((-0.0625), 0.4375, 0.0625);
            if ($var4.$itemID0 < 256) {
                nms_Block_$callClinit();
                if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var4.$itemID0].$getRenderType())) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, (-0.3125));
                    nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef((-0.375), (-0.375), 0.375);
                    break a;
                }
            }
            var$6 = $var4.$itemID0;
            nms_Item_$callClinit();
            if (var$6 == nms_Item_bow.$itemID) {
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.125, 0.3125);
                nleg_EaglerAdapterGL30_glRotatef((-20.0), 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
            } else if (!nms_Item_itemsList.data[$var4.$itemID0].$isFull3D()) {
                nleg_EaglerAdapterGL30_glTranslatef(0.25, 0.1875, (-0.1875));
                nleg_EaglerAdapterGL30_glScalef(0.375, 0.375, 0.375);
                nleg_EaglerAdapterGL30_glRotatef(60.0, 0.0, 0.0, 1.0);
                nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(20.0, 0.0, 0.0, 1.0);
            } else {
                if (nms_Item_itemsList.data[$var4.$itemID0].$shouldRotateAroundWhenRendering()) {
                    nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.125), 0.0);
                }
                $this.$func_82422_c();
                nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
            }
        }
        $var5 = $this.$renderManager.$itemRenderer;
        var$6 = 0;
        $ptr = 3;
        continue main;
    case 1:
        nms_ItemRenderer_renderItem($var7, $par1EntityLiving, $var5, var$6);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if ($var4 === null)
            return;
        nleg_EaglerAdapterGL30_glPushMatrix();
        if ($this.$mainModel.$isChild0) {
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.625, 0.0);
            nleg_EaglerAdapterGL30_glRotatef((-20.0), (-1.0), 0.0, 0.0);
            nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        }
        b: {
            nms_ModelRenderer_postRender($this.$modelBipedMain.$bipedRightArm, 0.0625);
            nleg_EaglerAdapterGL30_glTranslatef((-0.0625), 0.4375, 0.0625);
            if ($var4.$itemID0 < 256) {
                nms_Block_$callClinit();
                if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var4.$itemID0].$getRenderType())) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, (-0.3125));
                    nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef((-0.375), (-0.375), 0.375);
                    break b;
                }
            }
            var$6 = $var4.$itemID0;
            nms_Item_$callClinit();
            if (var$6 == nms_Item_bow.$itemID) {
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.125, 0.3125);
                nleg_EaglerAdapterGL30_glRotatef((-20.0), 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
            } else if (!nms_Item_itemsList.data[$var4.$itemID0].$isFull3D()) {
                nleg_EaglerAdapterGL30_glTranslatef(0.25, 0.1875, (-0.1875));
                nleg_EaglerAdapterGL30_glScalef(0.375, 0.375, 0.375);
                nleg_EaglerAdapterGL30_glRotatef(60.0, 0.0, 0.0, 1.0);
                nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(20.0, 0.0, 0.0, 1.0);
            } else {
                if (nms_Item_itemsList.data[$var4.$itemID0].$shouldRotateAroundWhenRendering()) {
                    nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.125), 0.0);
                }
                $this.$func_82422_c();
                nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
            }
        }
        $var5 = $this.$renderManager.$itemRenderer;
        var$6 = 0;
        $ptr = 3;
        continue main;
    case 2:
        nms_TileEntitySkullRenderer_func_82393_a(var$7, $var6, var$9, $par2, var$6, $var3, var$11, $var7);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if ($var4 === null)
            return;
        nleg_EaglerAdapterGL30_glPushMatrix();
        if ($this.$mainModel.$isChild0) {
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.625, 0.0);
            nleg_EaglerAdapterGL30_glRotatef((-20.0), (-1.0), 0.0, 0.0);
            nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        }
        b: {
            nms_ModelRenderer_postRender($this.$modelBipedMain.$bipedRightArm, 0.0625);
            nleg_EaglerAdapterGL30_glTranslatef((-0.0625), 0.4375, 0.0625);
            if ($var4.$itemID0 < 256) {
                nms_Block_$callClinit();
                if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var4.$itemID0].$getRenderType())) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, (-0.3125));
                    nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef((-0.375), (-0.375), 0.375);
                    break b;
                }
            }
            var$6 = $var4.$itemID0;
            nms_Item_$callClinit();
            if (var$6 == nms_Item_bow.$itemID) {
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.125, 0.3125);
                nleg_EaglerAdapterGL30_glRotatef((-20.0), 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
            } else if (!nms_Item_itemsList.data[$var4.$itemID0].$isFull3D()) {
                nleg_EaglerAdapterGL30_glTranslatef(0.25, 0.1875, (-0.1875));
                nleg_EaglerAdapterGL30_glScalef(0.375, 0.375, 0.375);
                nleg_EaglerAdapterGL30_glRotatef(60.0, 0.0, 0.0, 1.0);
                nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(20.0, 0.0, 0.0, 1.0);
            } else {
                if (nms_Item_itemsList.data[$var4.$itemID0].$shouldRotateAroundWhenRendering()) {
                    nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.125), 0.0);
                }
                $this.$func_82422_c();
                nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
            }
        }
        $var5 = $this.$renderManager.$itemRenderer;
        var$6 = 0;
        $ptr = 3;
    case 3:
        nms_ItemRenderer_renderItem($var5, $par1EntityLiving, $var4, var$6);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_ItemStack_getItem($var4).$requiresMultipleRenderPasses()) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        $var5 = $this.$renderManager.$itemRenderer;
        var$6 = 1;
        $ptr = 4;
    case 4:
        nms_ItemRenderer_renderItem($var5, $par1EntityLiving, $var4, var$6);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $var4, $var5, $var7, var$6, var$7, $var6, var$9, $var3, var$11, $ptr);
}
function nms_RenderBiped_func_82422_c($this) {
    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, 0.0);
}
function nms_RenderBiped_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        $this.$doRenderLiving($par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderBiped__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 5);
    var$2 = var$1.data;
    var$2[0] = $rt_s(1622);
    var$2[1] = $rt_s(1623);
    var$2[2] = $rt_s(1624);
    var$2[3] = $rt_s(1625);
    var$2[4] = $rt_s(1626);
    nms_RenderBiped_bipedArmorFilenamePrefix = var$1;
}
function nms_RenderSkeleton() {
    nms_RenderBiped.call(this);
}
var nms_RenderSkeleton_entityTexture0 = null;
var nms_RenderSkeleton_entityTexture1 = null;
function nms_RenderSkeleton__init_0() {
    var var_0 = new nms_RenderSkeleton();
    nms_RenderSkeleton__init_(var_0);
    return var_0;
}
function nms_RenderSkeleton__init_($this) {
    nms_RenderBiped__init_0($this, nms_ModelSkeleton__init_1(), 0.5, 1.0);
}
function nms_RenderSkeleton_func_82438_a($this, $par1EntitySkeleton, $par2) {
    if (nms_EntitySkeleton_getSkeletonType($par1EntitySkeleton) == 1)
        nleg_EaglerAdapterGL30_glScalef(1.2000000476837158, 1.2000000476837158, 1.2000000476837158);
}
function nms_RenderSkeleton_func_82422_c($this) {
    nleg_EaglerAdapterGL30_glTranslatef(0.09375, 0.1875, 0.0);
}
function nms_RenderSkeleton_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderSkeleton_func_82438_a($this, $par1EntityLiving, $par2);
}
function nms_RenderSkeleton_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_EntitySkeleton_getSkeletonType($par1EntityLiving) != 1) {
            $par1EntityLiving = nms_RenderSkeleton_entityTexture0;
            $ptr = 1;
            continue main;
        }
        $par1EntityLiving = nms_RenderSkeleton_entityTexture1;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderSkeleton__clinit_() {
    nms_RenderSkeleton_entityTexture0 = nle_TextureLocation__init_($rt_s(1336));
    nms_RenderSkeleton_entityTexture1 = nle_TextureLocation__init_($rt_s(1627));
}
function nms_EntityWitch() {
    nms_EntityMob.call(this);
    this.$witchAttackTimer = 0;
}
var nms_EntityWitch_witchDrops = null;
function nms_EntityWitch_$callClinit() {
    nms_EntityWitch_$callClinit = $rt_eraseClinit(nms_EntityWitch);
    nms_EntityWitch__clinit_();
}
function nms_EntityWitch__init_0() {
    var var_0 = new nms_EntityWitch();
    nms_EntityWitch__init_(var_0);
    return var_0;
}
function nms_EntityWitch__init_($this) {
    nms_EntityWitch_$callClinit();
    nms_EntityMob__init_0($this);
    $this.$witchAttackTimer = 0;
    $this.$moveSpeed = 0.25;
}
function nms_EntityWitch_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 21, jl_Byte_valueOf(0));
}
function nms_EntityWitch_getLivingSound($this) {
    return $rt_s(1628);
}
function nms_EntityWitch_getHurtSound($this) {
    return $rt_s(1629);
}
function nms_EntityWitch_getDeathSound($this) {
    return $rt_s(1630);
}
function nms_EntityWitch_getAggressive($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 21) != 1 ? 0 : 1;
}
function nms_EntityWitch_getMaxHealth($this) {
    return 26;
}
function nms_EntityWitch_isAIEnabled($this) {
    return 1;
}
function nms_EntityWitch_handleHealthUpdate($this, $par1) {
    var $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 != 15) {
            $ptr = 1;
            continue main;
        }
        $var2 = 0;
        if ($var2 >= (nle_EaglercraftRandom_nextInt($this.$rand0, 35) + 10 | 0))
            return;
        var$3 = $this.$worldObj;
        var$4 = $rt_s(1169);
        var$5 = $this.$posX + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.12999999523162842;
        var$6 = $this.$boundingBox.$maxY + 0.5 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.12999999523162842;
        var$7 = $this.$posZ + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.12999999523162842;
        var$8 = 0.0;
        var$9 = 0.0;
        var$10 = 0.0;
        $ptr = 2;
        continue main;
    case 1:
        nms_EntityLiving_handleHealthUpdate($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_spawnParticle(var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $var2 + 1 | 0;
        if ($var2 >= (nle_EaglercraftRandom_nextInt($this.$rand0, 35) + 10 | 0))
            return;
        var$3 = $this.$worldObj;
        var$4 = $rt_s(1169);
        var$5 = $this.$posX + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.12999999523162842;
        var$6 = $this.$boundingBox.$maxY + 0.5 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.12999999523162842;
        var$7 = $this.$posZ + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.12999999523162842;
        var$8 = 0.0;
        var$9 = 0.0;
        var$10 = 0.0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
}
function nms_EntityWitch_getSpeedModifier($this) {
    var $var1;
    $var1 = nms_EntityCreature_getSpeedModifier($this);
    if (nms_EntityWitch_getAggressive($this))
        $var1 = $var1 * 0.75;
    return $var1;
}
function nms_EntityWitch__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(8);
    var$2 = var$1.data;
    nms_Item_$callClinit();
    var$2[0] = nms_Item_lightStoneDust.$itemID;
    var$2[1] = nms_Item_sugar.$itemID;
    var$2[2] = nms_Item_redstone.$itemID;
    var$2[3] = nms_Item_spiderEye.$itemID;
    var$2[4] = nms_Item_glassBottle.$itemID;
    var$2[5] = nms_Item_gunpowder.$itemID;
    var$2[6] = nms_Item_stick.$itemID;
    var$2[7] = nms_Item_stick.$itemID;
    nms_EntityWitch_witchDrops = var$1;
}
function nms_RenderWitch() {
    var a = this; nms_RenderLiving.call(a);
    a.$field_82414_a = null;
    a.$field_82413_f = 0;
}
var nms_RenderWitch_entityTexture = null;
function nms_RenderWitch__init_0() {
    var var_0 = new nms_RenderWitch();
    nms_RenderWitch__init_(var_0);
    return var_0;
}
function nms_RenderWitch__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelWitch__init_(0.0), 0.5);
    $this.$field_82414_a = $this.$mainModel;
    $this.$field_82413_f = 0;
}
function nms_RenderWitch_func_82412_a($this, $par1EntityWitch, $par2, $par4, $par6, $par8, $par9) {
    var $var10, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityWitch = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var10 = nms_EntityLiving_getHeldItem($par1EntityWitch);
        if (0 != $this.$field_82413_f) {
            var$8 = nms_ModelWitch__init_(0.0);
            $this.$field_82414_a = var$8;
            $this.$mainModel = var$8;
            $this.$field_82413_f = 0;
        }
        $this.$field_82414_a.$field_82900_g = $var10 === null ? 0 : 1;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityWitch, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityWitch, $par2, $par4, $par6, $par8, $par9, $var10, var$8, $ptr);
}
function nms_RenderWitch_func_82411_a($this, $par1EntityWitch, $par2) {
    var $var4, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var4 = $thread.pop();$par2 = $thread.pop();$par1EntityWitch = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
        $var4 = nms_EntityLiving_getHeldItem($par1EntityWitch);
        if ($var4 === null)
            return;
        nleg_EaglerAdapterGL30_glPushMatrix();
        if ($this.$mainModel.$isChild0) {
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.625, 0.0);
            nleg_EaglerAdapterGL30_glRotatef((-20.0), (-1.0), 0.0, 0.0);
            nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        }
        a: {
            nms_ModelRenderer_postRender($this.$field_82414_a.$field_82898_f, 0.0625);
            nleg_EaglerAdapterGL30_glTranslatef((-0.0625), 0.53125, 0.21875);
            if ($var4.$itemID0 < 256) {
                nms_Block_$callClinit();
                if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var4.$itemID0].$getRenderType())) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, (-0.3125));
                    nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.375, (-0.375), 0.375);
                    break a;
                }
            }
            var$4 = $var4.$itemID0;
            nms_Item_$callClinit();
            if (var$4 == nms_Item_bow.$itemID) {
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.125, 0.3125);
                nleg_EaglerAdapterGL30_glRotatef((-20.0), 0.0, 1.0, 0.0);
                nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
            } else if (!nms_Item_itemsList.data[$var4.$itemID0].$isFull3D()) {
                nleg_EaglerAdapterGL30_glTranslatef(0.25, 0.1875, (-0.1875));
                nleg_EaglerAdapterGL30_glScalef(0.375, 0.375, 0.375);
                nleg_EaglerAdapterGL30_glRotatef(60.0, 0.0, 0.0, 1.0);
                nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(20.0, 0.0, 0.0, 1.0);
            } else {
                if (nms_Item_itemsList.data[$var4.$itemID0].$shouldRotateAroundWhenRendering()) {
                    nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.125), 0.0);
                }
                nms_RenderWitch_func_82410_b($this);
                nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
            }
        }
        nleg_EaglerAdapterGL30_glRotatef((-15.0), 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(40.0, 0.0, 0.0, 1.0);
        var$5 = $this.$renderManager.$itemRenderer;
        var$4 = 0;
        $ptr = 1;
    case 1:
        nms_ItemRenderer_renderItem(var$5, $par1EntityWitch, $var4, var$4);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_ItemStack_getItem($var4).$requiresMultipleRenderPasses()) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        var$5 = $this.$renderManager.$itemRenderer;
        var$4 = 1;
        $ptr = 2;
    case 2:
        nms_ItemRenderer_renderItem(var$5, $par1EntityWitch, $var4, var$4);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityWitch, $par2, $var4, var$4, var$5, $ptr);
}
function nms_RenderWitch_func_82410_b($this) {
    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, 0.0);
}
function nms_RenderWitch_func_82409_b($this, $par1EntityWitch, $par2) {
    nleg_EaglerAdapterGL30_glScalef(0.9375, 0.9375, 0.9375);
}
function nms_RenderWitch_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderWitch_func_82409_b($this, $par1EntityLiving, $par2);
}
function nms_RenderWitch_renderEquippedItems($this, $par1EntityLiving, $par2) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderWitch_func_82411_a($this, $par1EntityLiving, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $ptr);
}
function nms_RenderWitch_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderWitch_func_82412_a($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderWitch_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderWitch_func_82412_a($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderWitch_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderWitch_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderWitch__clinit_() {
    nms_RenderWitch_entityTexture = nle_TextureLocation__init_($rt_s(1631));
}
function nms_EntityBlaze() {
    var a = this; nms_EntityMob.call(a);
    a.$heightOffset = 0.0;
    a.$field_70846_g = 0;
}
function nms_EntityBlaze__init_0() {
    var var_0 = new nms_EntityBlaze();
    nms_EntityBlaze__init_(var_0);
    return var_0;
}
function nms_EntityBlaze__init_($this) {
    nms_EntityMob__init_0($this);
    $this.$heightOffset = 0.5;
    $this.$isImmuneToFire = 1;
    $this.$experienceValue = 10;
}
function nms_EntityBlaze_getMaxHealth($this) {
    return 20;
}
function nms_EntityBlaze_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte__init_(0));
}
function nms_EntityBlaze_getLivingSound($this) {
    return $rt_s(1632);
}
function nms_EntityBlaze_getHurtSound($this) {
    return $rt_s(1633);
}
function nms_EntityBlaze_getDeathSound($this) {
    return $rt_s(1634);
}
function nms_EntityBlaze_getBrightnessForRender($this, $par1) {
    return 15728880;
}
function nms_EntityBlaze_getBrightness($this, $par1) {
    return 1.0;
}
function nms_EntityBlaze_attackEntity($this, $par1Entity, $par2) {
    var $var3, $var5, $var7, $var9, $var11, var$8, var$9, var$10, var$11, $var10, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();$var10 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$attackTime <= 0 && $par2 < 2.0 && $par1Entity.$boundingBox.$maxY > $this.$boundingBox.$minY && $par1Entity.$boundingBox.$minY < $this.$boundingBox.$maxY) {
            $this.$attackTime = 20;
            $ptr = 1;
            continue main;
        }
        if ($par2 < 30.0) {
            $var3 = $par1Entity.$posX - $this.$posX;
            $var5 = $par1Entity.$boundingBox.$minY + $par1Entity.$height0 / 2.0 - ($this.$posY + $this.$height0 / 2.0);
            $var7 = $par1Entity.$posZ - $this.$posZ;
            if (!$this.$attackTime) {
                $this.$field_70846_g = $this.$field_70846_g + 1 | 0;
                if ($this.$field_70846_g == 1) {
                    $this.$attackTime = 60;
                    nms_EntityBlaze_func_70844_e($this, 1);
                } else if ($this.$field_70846_g <= 4)
                    $this.$attackTime = 6;
                else {
                    $this.$attackTime = 100;
                    $this.$field_70846_g = 0;
                    nms_EntityBlaze_func_70844_e($this, 0);
                }
                if ($this.$field_70846_g > 1) {
                    $var9 = nms_MathHelper_sqrt_float($par2) * 0.5;
                    $par1Entity = $this.$worldObj;
                    $var11 = null;
                    var$8 = 1009;
                    var$9 = $this.$posX | 0;
                    var$10 = $this.$posY | 0;
                    var$11 = $this.$posZ | 0;
                    $var10 = 0;
                    $ptr = 2;
                    continue main;
                }
            }
            $this.$rotationYaw = jl_Math_atan2($var7, $var3) * 180.0 / 3.141592653589793 - 90.0;
            $this.$hasAttacked = 1;
        }
        return;
    case 1:
        nms_EntityMob_attackEntityAsMob($this, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_playAuxSFXAtEntity($par1Entity, $var11, var$8, var$9, var$10, var$11, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = 0;
        var$13 = $var9;
        while ($var10 < 1) {
            $var11 = new nms_EntitySmallFireball;
            nms_EntityFireball__init_($var11, $this.$worldObj, $this, $var3 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * var$13, $var5, $var7 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * var$13);
            nms_Entity_setSize($var11, 0.3125, 0.3125);
            $var11.$posY = $this.$posY + $this.$height0 / 2.0 + 0.5;
            nms_WorldClient_spawnEntityInWorld($this.$worldObj, $var11);
            $var10 = $var10 + 1 | 0;
        }
        $this.$rotationYaw = jl_Math_atan2($var7, $var3) * 180.0 / 3.141592653589793 - 90.0;
        $this.$hasAttacked = 1;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $var3, $var5, $var7, $var9, $var11, var$8, var$9, var$10, var$11, $var10, var$13, $ptr);
}
function nms_EntityBlaze_fall($this, $par1) {
    return;
}
function nms_EntityBlaze_isBurning($this) {
    return nms_EntityBlaze_func_70845_n($this);
}
function nms_EntityBlaze_func_70845_n($this) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 1) ? 0 : 1;
}
function nms_EntityBlaze_func_70844_e($this, $par1) {
    var $var2;
    $var2 = nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16);
    $par1 = !$par1 ? ($var2 & (-2)) << 24 >> 24 : ($var2 | 1) << 24 >> 24;
    nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf($par1));
}
function nms_EntityBlaze_getAttackStrength($this, $par1Entity) {
    return 6;
}
function nms_RenderBlaze() {
    nms_RenderLiving.call(this);
    this.$field_77068_a = 0;
}
var nms_RenderBlaze_entityTexture = null;
function nms_RenderBlaze__init_0() {
    var var_0 = new nms_RenderBlaze();
    nms_RenderBlaze__init_(var_0);
    return var_0;
}
function nms_RenderBlaze__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelBlaze__init_0(), 0.5);
    $this.$field_77068_a = 8;
}
function nms_RenderBlaze_renderBlaze($this, $par1EntityBlaze, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityBlaze = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (8 != $this.$field_77068_a) {
            $this.$field_77068_a = 8;
            $this.$mainModel = nms_ModelBlaze__init_0();
        }
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityBlaze, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityBlaze, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderBlaze_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderBlaze_renderBlaze($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderBlaze_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderBlaze_renderBlaze($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderBlaze_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderBlaze_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderBlaze__clinit_() {
    nms_RenderBlaze_entityTexture = nle_TextureLocation__init_($rt_s(1337));
}
function nms_EntityZombie() {
    nms_EntityMob.call(this);
    this.$conversionTime = 0;
}
function nms_EntityZombie__init_0() {
    var var_0 = new nms_EntityZombie();
    nms_EntityZombie__init_(var_0);
    return var_0;
}
function nms_EntityZombie__init_($this) {
    nms_EntityMob__init_0($this);
    $this.$conversionTime = 0;
    $this.$moveSpeed = 0.23000000417232513;
}
function nms_EntityZombie_getSpeedModifier($this) {
    return nms_EntityCreature_getSpeedModifier($this) * (!nms_EntityZombie_isChild($this) ? 1.0 : 1.5);
}
function nms_EntityZombie_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 12, jl_Byte_valueOf(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 13, jl_Byte_valueOf(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 14, jl_Byte_valueOf(0));
}
function nms_EntityZombie_getMaxHealth($this) {
    return 20;
}
function nms_EntityZombie_isAIEnabled($this) {
    return 1;
}
function nms_EntityZombie_isChild($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 12) != 1 ? 0 : 1;
}
function nms_EntityZombie_isVillager($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 13) != 1 ? 0 : 1;
}
function nms_EntityZombie_attackEntityAsMob($this, $par1Entity) {
    var $var2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_EntityMob_attackEntityAsMob($this, $par1Entity);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $tmp;
        if ($var2 && nms_EntityLiving_getHeldItem($this) === null && nms_Entity_isBurning($this) && nle_EaglercraftRandom_nextFloat($this.$rand0) < $this.$worldObj.$difficultySetting * 0.30000001192092896)
            nms_Entity_setFire($par1Entity, 2 * $this.$worldObj.$difficultySetting | 0);
        return $var2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $var2, $ptr);
}
function nms_EntityZombie_getAttackStrength($this, $par1Entity) {
    var $var2, $var4;
    $var2 = nms_EntityLiving_getHeldItem($this);
    $var4 = 3 + nms_MathHelper_floor_float((20 - $this.$health | 0) / 20.0 * 4.0) | 0;
    if ($var2 !== null)
        $var4 = $var4 + nms_ItemStack_getDamageVsEntity($var2, $this) | 0;
    return $var4;
}
function nms_EntityZombie_getLivingSound($this) {
    return $rt_s(1635);
}
function nms_EntityZombie_getHurtSound($this) {
    return $rt_s(1636);
}
function nms_EntityZombie_getDeathSound($this) {
    return $rt_s(1637);
}
function nms_EntityZombie_playStepSound($this, $par1, $par2, $par3, $par4) {
    nms_Entity_playSound($this, $rt_s(1638), 0.15000000596046448, 1.0);
}
function nms_EntityZombie_getCreatureAttribute($this) {
    return nms_EnumCreatureAttribute_UNDEAD;
}
function nms_EntityZombie_interact($this, $par1EntityPlayer) {
    var $var2, var$3;
    $var2 = nms_EntityPlayer_getCurrentEquippedItem($par1EntityPlayer);
    if ($var2 !== null) {
        var$3 = nms_ItemStack_getItem($var2);
        nms_Item_$callClinit();
        if (var$3 === nms_Item_appleGold && !$var2.$itemDamage && nms_EntityZombie_isVillager($this) && nms_EntityLiving_isPotionActive($this, nms_Potion_weakness)) {
            if (!$par1EntityPlayer.$capabilities.$isCreativeMode)
                $var2.$stackSize = $var2.$stackSize - 1 | 0;
            if ($var2.$stackSize <= 0)
                nms_InventoryPlayer_setInventorySlotContents($par1EntityPlayer.$inventory, $par1EntityPlayer.$inventory.$currentItem, null);
            return 1;
        }
    }
    return 0;
}
function nms_EntityZombie_handleHealthUpdate($this, $par1) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 != 16) {
            $ptr = 1;
            continue main;
        }
        var$2 = $this.$worldObj;
        var$3 = $this.$posX + 0.5;
        var$4 = $this.$posY + 0.5;
        var$5 = $this.$posZ + 0.5;
        var$6 = $rt_s(1639);
        var$7 = 1.0 + nle_EaglercraftRandom_nextFloat($this.$rand0);
        var$8 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.699999988079071 + 0.30000001192092896;
        $par1 = 0;
        $ptr = 2;
        continue main;
    case 1:
        nms_EntityLiving_handleHealthUpdate($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_WorldClient_playSound(var$2, var$3, var$4, var$5, var$6, var$7, var$8, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
}
function nms_EntityZombie_isConverting($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 14) != 1 ? 0 : 1;
}
function nms_RenderZombie() {
    var a = this; nms_RenderBiped.call(a);
    a.$field_82434_o = null;
    a.$field_82432_p = null;
    a.$field_82437_k = null;
    a.$field_82435_l = null;
    a.$field_82436_m = null;
    a.$field_82433_n = null;
    a.$field_82431_q = 0;
}
var nms_RenderZombie_entityTexture0 = null;
var nms_RenderZombie_entityTexture1 = null;
var nms_RenderZombie_entityTexture2 = null;
function nms_RenderZombie__init_0() {
    var var_0 = new nms_RenderZombie();
    nms_RenderZombie__init_(var_0);
    return var_0;
}
function nms_RenderZombie__init_($this) {
    nms_RenderBiped__init_0($this, nms_ModelZombie__init_1(), 0.5, 1.0);
    $this.$field_82431_q = 1;
    $this.$field_82434_o = $this.$modelBipedMain;
    $this.$field_82432_p = nms_ModelZombieVillager__init_0();
}
function nms_RenderZombie_func_82421_b($this) {
    $this.$field_82423_g = nms_ModelZombie__init_0(1.0, 1);
    $this.$field_82425_h = nms_ModelZombie__init_0(0.5, 1);
    $this.$field_82437_k = $this.$field_82423_g;
    $this.$field_82435_l = $this.$field_82425_h;
    $this.$field_82436_m = nms_ModelZombieVillager__init_1(1.0, 0.0, 1);
    $this.$field_82433_n = nms_ModelZombieVillager__init_1(0.5, 0.0, 1);
}
function nms_RenderZombie_func_82429_a($this, $par1EntityZombie, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityZombie = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_RenderZombie_func_82427_a($this, $par1EntityZombie);
        $ptr = 1;
    case 1:
        $tmp = nms_RenderBiped_shouldRenderPass($this, $par1EntityZombie, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityZombie, $par2, $par3, $ptr);
}
function nms_RenderZombie_func_82426_a($this, $par1EntityZombie, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityZombie = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_RenderZombie_func_82427_a($this, $par1EntityZombie);
        $ptr = 1;
    case 1:
        nms_RenderBiped_doRenderLiving($this, $par1EntityZombie, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityZombie, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderZombie_func_82428_a($this, $par1EntityZombie, $par2) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2 = $thread.pop();$par1EntityZombie = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_RenderZombie_func_82427_a($this, $par1EntityZombie);
        $ptr = 1;
    case 1:
        nms_RenderBiped_renderEquippedItems($this, $par1EntityZombie, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityZombie, $par2, $ptr);
}
function nms_RenderZombie_func_82427_a($this, $par1EntityZombie) {
    if (!nms_EntityZombie_isVillager($par1EntityZombie)) {
        $this.$mainModel = $this.$field_82434_o;
        $this.$field_82423_g = $this.$field_82437_k;
        $this.$field_82425_h = $this.$field_82435_l;
    } else {
        if ($this.$field_82431_q != 10) {
            $this.$field_82432_p = nms_ModelZombieVillager__init_0();
            $this.$field_82431_q = 10;
            $this.$field_82436_m = nms_ModelZombieVillager__init_1(1.0, 0.0, 1);
            $this.$field_82433_n = nms_ModelZombieVillager__init_1(0.5, 0.0, 1);
        }
        $this.$mainModel = $this.$field_82432_p;
        $this.$field_82423_g = $this.$field_82436_m;
        $this.$field_82425_h = $this.$field_82433_n;
    }
    $this.$modelBipedMain = $this.$mainModel;
}
function nms_RenderZombie_func_82430_a($this, $par1EntityZombie, $par2, $par3, $par4) {
    if (nms_EntityZombie_isConverting($par1EntityZombie))
        $par3 = $par3 + jl_Math_cos($par1EntityZombie.$ticksExisted * 3.25) * 3.141592653589793 * 0.25;
    nms_RenderLiving_rotateCorpse($this, $par1EntityZombie, $par2, $par3, $par4);
}
function nms_RenderZombie_renderEquippedItems($this, $par1EntityLiving, $par2) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderZombie_func_82428_a($this, $par1EntityLiving, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $ptr);
}
function nms_RenderZombie_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderZombie_func_82426_a($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderZombie_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderZombie_func_82429_a($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderZombie_rotateCorpse($this, $par1EntityLiving, $par2, $par3, $par4) {
    nms_RenderZombie_func_82430_a($this, $par1EntityLiving, $par2, $par3, $par4);
}
function nms_RenderZombie_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderZombie_func_82426_a($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderZombie_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1EntityLiving instanceof nms_EntityPigZombie) {
            $par1EntityLiving = nms_RenderZombie_entityTexture1;
            $ptr = 1;
            continue main;
        }
        if ($par1EntityLiving instanceof nms_EntityZombie && nms_EntityZombie_isVillager($par1EntityLiving)) {
            $par1EntityLiving = nms_RenderZombie_entityTexture2;
            $ptr = 3;
            continue main;
        }
        $par1EntityLiving = nms_RenderZombie_entityTexture0;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderZombie__clinit_() {
    nms_RenderZombie_entityTexture0 = nle_TextureLocation__init_($rt_s(1640));
    nms_RenderZombie_entityTexture1 = nle_TextureLocation__init_($rt_s(1641));
    nms_RenderZombie_entityTexture2 = nle_TextureLocation__init_($rt_s(1642));
}
function nms_EntitySlime() {
    var a = this; nms_EntityLiving.call(a);
    a.$field_70813_a = 0.0;
    a.$field_70811_b = 0.0;
    a.$field_70812_c = 0.0;
    a.$slimeJumpDelay = 0;
}
var nms_EntitySlime_spawnChances = null;
function nms_EntitySlime__init_0() {
    var var_0 = new nms_EntitySlime();
    nms_EntitySlime__init_(var_0);
    return var_0;
}
function nms_EntitySlime__init_($this) {
    var $var2;
    nms_EntityLiving__init_0($this);
    $this.$slimeJumpDelay = 0;
    $var2 = 1 << nle_EaglercraftRandom_nextInt($this.$rand0, 3);
    $this.$yOffset = 0.0;
    $this.$slimeJumpDelay = nle_EaglercraftRandom_nextInt($this.$rand0, 20) + 10 | 0;
    nms_EntitySlime_setSlimeSize($this, $var2);
}
function nms_EntitySlime_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte__init_(1));
}
function nms_EntitySlime_setSlimeSize($this, $par1) {
    var var$2;
    nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte__init_($par1 << 24 >> 24));
    var$2 = 0.6000000238418579 * $par1;
    nms_Entity_setSize($this, var$2, var$2);
    nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
    nms_EntityLiving_setEntityHealth($this, nms_EntitySlime_getMaxHealth($this));
    $this.$experienceValue = $par1;
}
function nms_EntitySlime_getMaxHealth($this) {
    var $var1;
    $var1 = nms_EntitySlime_getSlimeSize($this);
    return $rt_imul($var1, $var1);
}
function nms_EntitySlime_getSlimeSize($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16);
}
function nms_EntitySlime_getSlimeParticle($this) {
    return $rt_s(1180);
}
function nms_EntitySlime_getJumpSound($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1643));
    jl_AbstractStringBuilder_append(var$1, nms_EntitySlime_getSlimeSize($this) <= 1 ? $rt_s(1644) : $rt_s(1645));
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_EntitySlime_onUpdate($this) {
    var $var1, $var2, $var3, var$4, $var4, $var5, $var6, $var7, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$field_70811_b = $this.$field_70811_b + ($this.$field_70813_a - $this.$field_70811_b) * 0.5;
        $this.$field_70812_c = $this.$field_70811_b;
        $var1 = $this.$onGround;
        $ptr = 1;
    case 1:
        nms_EntityLiving_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$onGround && !$var1) {
            $var2 = nms_EntitySlime_getSlimeSize($this);
            $var3 = 0;
            $var1 = $var2 * 8 | 0;
            var$4 = $var2;
            if ($var3 < $var1) {
                $var4 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.1415927410125732 * 2.0;
                $var5 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.5 + 0.5;
                $var6 = nms_MathHelper_sin($var4) * var$4 * 0.5 * $var5;
                $var7 = nms_MathHelper_cos($var4) * var$4 * 0.5 * $var5;
                var$9 = $this.$worldObj;
                var$10 = $this.$getSlimeParticle();
                var$11 = $this.$posX + $var6;
                var$12 = $this.$boundingBox.$minY;
                var$13 = $this.$posZ + $var7;
                var$14 = 0.0;
                var$15 = 0.0;
                var$16 = 0.0;
                $ptr = 2;
                continue main;
            }
            if ($this.$makesSoundOnLand()) {
                var$9 = $this.$getJumpSound();
                $var7 = nms_EntitySlime_getSoundVolume($this);
                var$4 = ((nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0) / 0.800000011920929;
                $ptr = 3;
                continue main;
            }
            $this.$field_70813_a = (-0.5);
        } else if (!$this.$onGround && $var1)
            $this.$field_70813_a = 1.0;
        $this.$func_70808_l();
        $var7 = 0.6000000238418579 * nms_EntitySlime_getSlimeSize($this);
        nms_Entity_setSize($this, $var7, $var7);
        return;
    case 2:
        nms_World_spawnParticle(var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $var3 + 1 | 0;
        if ($var3 >= $var1) {
            if (!$this.$makesSoundOnLand()) {
                $this.$field_70813_a = (-0.5);
                $this.$func_70808_l();
                $var7 = 0.6000000238418579 * nms_EntitySlime_getSlimeSize($this);
                nms_Entity_setSize($this, $var7, $var7);
                return;
            }
            var$9 = $this.$getJumpSound();
            $var7 = nms_EntitySlime_getSoundVolume($this);
            var$4 = ((nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0) / 0.800000011920929;
            $ptr = 3;
            continue main;
        }
        $var4 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.1415927410125732 * 2.0;
        $var5 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.5 + 0.5;
        $var6 = nms_MathHelper_sin($var4) * var$4 * 0.5 * $var5;
        $var7 = nms_MathHelper_cos($var4) * var$4 * 0.5 * $var5;
        var$9 = $this.$worldObj;
        var$10 = $this.$getSlimeParticle();
        var$11 = $this.$posX + $var6;
        var$12 = $this.$boundingBox.$minY;
        var$13 = $this.$posZ + $var7;
        var$14 = 0.0;
        var$15 = 0.0;
        var$16 = 0.0;
        continue main;
    case 3:
        nms_Entity_playSound($this, var$9, $var7, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_70813_a = (-0.5);
        $this.$func_70808_l();
        $var7 = 0.6000000238418579 * nms_EntitySlime_getSlimeSize($this);
        nms_Entity_setSize($this, $var7, $var7);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var4, $var5, $var6, $var7, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
}
function nms_EntitySlime_updateEntityActionState($this) {
    var $var1, var$2;
    nms_EntityLiving_despawnEntity($this);
    $var1 = nms_World_getClosestVulnerablePlayerToEntity($this.$worldObj, $this, 16.0);
    if ($var1 !== null)
        nms_EntityLiving_faceEntity($this, $var1, 10.0, 20.0);
    a: {
        b: {
            if ($this.$onGround) {
                var$2 = $this.$slimeJumpDelay;
                $this.$slimeJumpDelay = var$2 - 1 | 0;
                if (var$2 <= 0)
                    break b;
            }
            $this.$isJumping = 0;
            if (!$this.$onGround)
                break a;
            $this.$moveForward = 0.0;
            $this.$moveStrafing = 0.0;
            break a;
        }
        $this.$slimeJumpDelay = $this.$getJumpDelay();
        if ($var1 !== null)
            $this.$slimeJumpDelay = $this.$slimeJumpDelay / 3 | 0;
        $this.$isJumping = 1;
        if (nms_EntitySlime_makesSoundOnJump($this))
            nms_Entity_playSound($this, $this.$getJumpSound(), nms_EntitySlime_getSoundVolume($this), ((nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0) * 0.800000011920929);
        $this.$moveStrafing = 1.0 - nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0;
        $this.$moveForward = 1 * nms_EntitySlime_getSlimeSize($this) | 0;
    }
}
function nms_EntitySlime_func_70808_l($this) {
    $this.$field_70813_a = $this.$field_70813_a * 0.6000000238418579;
}
function nms_EntitySlime_getJumpDelay($this) {
    return nle_EaglercraftRandom_nextInt($this.$rand0, 20) + 10 | 0;
}
function nms_EntitySlime_onCollideWithPlayer($this, $par1EntityPlayer) {
    var $var2, var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$canDamagePlayer())
            return;
        $var2 = nms_EntitySlime_getSlimeSize($this);
        $ptr = 1;
    case 1:
        $tmp = nms_EntityLiving_canEntityBeSeen($this, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $tmp;
        if (var$3) {
            var$4 = nms_Entity_getDistanceSqToEntity($this, $par1EntityPlayer);
            var$5 = $var2;
            if (var$4 < 0.6 * var$5 * 0.6 * var$5) {
                nms_DamageSource_causeMobDamage($this);
                $this.$getAttackStrength0();
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $var2, var$3, var$4, var$5, $ptr);
}
function nms_EntitySlime_canDamagePlayer($this) {
    return nms_EntitySlime_getSlimeSize($this) <= 1 ? 0 : 1;
}
function nms_EntitySlime_getAttackStrength($this) {
    return nms_EntitySlime_getSlimeSize($this);
}
function nms_EntitySlime_getHurtSound($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1643));
    jl_AbstractStringBuilder_append(var$1, nms_EntitySlime_getSlimeSize($this) <= 1 ? $rt_s(1644) : $rt_s(1645));
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_EntitySlime_getDeathSound($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1643));
    jl_AbstractStringBuilder_append(var$1, nms_EntitySlime_getSlimeSize($this) <= 1 ? $rt_s(1644) : $rt_s(1645));
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_EntitySlime_getSoundVolume($this) {
    return 0.4000000059604645 * nms_EntitySlime_getSlimeSize($this);
}
function nms_EntitySlime_getVerticalFaceSpeed($this) {
    return 0;
}
function nms_EntitySlime_makesSoundOnJump($this) {
    return nms_EntitySlime_getSlimeSize($this) <= 0 ? 0 : 1;
}
function nms_EntitySlime_makesSoundOnLand($this) {
    return nms_EntitySlime_getSlimeSize($this) <= 2 ? 0 : 1;
}
function nms_EntitySlime__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createFloatArray(8);
    var$2 = var$1.data;
    var$2[0] = 1.0;
    var$2[1] = 0.75;
    var$2[2] = 0.5;
    var$2[3] = 0.25;
    var$2[4] = 0.0;
    var$2[5] = 0.25;
    var$2[6] = 0.5;
    var$2[7] = 0.75;
    nms_EntitySlime_spawnChances = var$1;
}
function nms_RenderSlime() {
    nms_RenderLiving.call(this);
    this.$scaleAmount = null;
}
var nms_RenderSlime_entityTexture = null;
function nms_RenderSlime__init_(var_0, var_1, var_2) {
    var var_3 = new nms_RenderSlime();
    nms_RenderSlime__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_RenderSlime__init_0($this, $par1ModelBase, $par2ModelBase, $par3) {
    nms_RenderLiving__init_0($this, $par1ModelBase, $par3);
    $this.$scaleAmount = $par2ModelBase;
}
function nms_RenderSlime_shouldSlimeRenderPass($this, $par1EntitySlime, $par2, $par3) {
    if (nms_Entity_isInvisible($par1EntitySlime))
        return 0;
    if (!$par2) {
        $this.$renderPassModel = $this.$scaleAmount;
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        return 1;
    }
    if ($par2 == 1) {
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
    }
    return (-1);
}
function nms_RenderSlime_scaleSlime($this, $par1EntitySlime, $par2) {
    var $var3, $var5;
    $var3 = nms_EntitySlime_getSlimeSize($par1EntitySlime);
    $var5 = 1.0 / (($par1EntitySlime.$field_70812_c + ($par1EntitySlime.$field_70811_b - $par1EntitySlime.$field_70812_c) * $par2) / ($var3 * 0.5 + 1.0) + 1.0);
    $par2 = $var5 * $var3;
    nleg_EaglerAdapterGL30_glScalef($par2, 1.0 / $var5 * $var3, $par2);
}
function nms_RenderSlime_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderSlime_scaleSlime($this, $par1EntityLiving, $par2);
}
function nms_RenderSlime_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    return nms_RenderSlime_shouldSlimeRenderPass($this, $par1EntityLiving, $par2, $par3);
}
function nms_RenderSlime_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderSlime_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderSlime__clinit_() {
    nms_RenderSlime_entityTexture = nle_TextureLocation__init_($rt_s(1646));
}
function nms_ModelSlime() {
    var a = this; nms_ModelBase.call(a);
    a.$slimeBodies = null;
    a.$slimeRightEye = null;
    a.$slimeLeftEye = null;
    a.$slimeMouth = null;
}
function nms_ModelSlime__init_(var_0) {
    var var_1 = new nms_ModelSlime();
    nms_ModelSlime__init_0(var_1, var_0);
    return var_1;
}
function nms_ModelSlime__init_0($this, $par1) {
    nms_ModelBase__init_0($this);
    $this.$slimeBodies = nms_ModelRenderer__init_($this, 0, $par1);
    nms_ModelRenderer_addBox0($this.$slimeBodies, (-4.0), 16.0, (-4.0), 8, 8, 8);
    if ($par1 > 0) {
        $this.$slimeBodies = nms_ModelRenderer__init_($this, 0, $par1);
        nms_ModelRenderer_addBox0($this.$slimeBodies, (-3.0), 17.0, (-3.0), 6, 6, 6);
        $this.$slimeRightEye = nms_ModelRenderer__init_($this, 32, 0);
        nms_ModelRenderer_addBox0($this.$slimeRightEye, (-3.25), 18.0, (-3.5), 2, 2, 2);
        $this.$slimeLeftEye = nms_ModelRenderer__init_($this, 32, 4);
        nms_ModelRenderer_addBox0($this.$slimeLeftEye, 1.25, 18.0, (-3.5), 2, 2, 2);
        $this.$slimeMouth = nms_ModelRenderer__init_($this, 32, 8);
        nms_ModelRenderer_addBox0($this.$slimeMouth, 0.0, 21.0, (-3.5), 1, 1, 1);
    }
}
function nms_ModelSlime_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    nms_ModelRenderer_render($this.$slimeBodies, $par7);
    if ($this.$slimeRightEye !== null) {
        nms_ModelRenderer_render($this.$slimeRightEye, $par7);
        nms_ModelRenderer_render($this.$slimeLeftEye, $par7);
        nms_ModelRenderer_render($this.$slimeMouth, $par7);
    }
}
function nms_EntityMagmaCube() {
    nms_EntitySlime.call(this);
}
function nms_EntityMagmaCube__init_0() {
    var var_0 = new nms_EntityMagmaCube();
    nms_EntityMagmaCube__init_(var_0);
    return var_0;
}
function nms_EntityMagmaCube__init_($this) {
    nms_EntitySlime__init_($this);
    $this.$isImmuneToFire = 1;
    $this.$landMovementFactor = 0.20000000298023224;
}
function nms_EntityMagmaCube_getBrightnessForRender($this, $par1) {
    return 15728880;
}
function nms_EntityMagmaCube_getBrightness($this, $par1) {
    return 1.0;
}
function nms_EntityMagmaCube_getSlimeParticle($this) {
    return $rt_s(1172);
}
function nms_EntityMagmaCube_isBurning($this) {
    return 0;
}
function nms_EntityMagmaCube_getJumpDelay($this) {
    return nms_EntitySlime_getJumpDelay($this) * 4 | 0;
}
function nms_EntityMagmaCube_func_70808_l($this) {
    $this.$field_70813_a = $this.$field_70813_a * 0.8999999761581421;
}
function nms_EntityMagmaCube_jump($this) {
    $this.$motionY = 0.41999998688697815 + nms_EntitySlime_getSlimeSize($this) * 0.10000000149011612;
    $this.$isAirBorne = 1;
}
function nms_EntityMagmaCube_fall($this, $par1) {
    return;
}
function nms_EntityMagmaCube_canDamagePlayer($this) {
    return 1;
}
function nms_EntityMagmaCube_getAttackStrength($this) {
    return nms_EntitySlime_getSlimeSize($this) + 2 | 0;
}
function nms_EntityMagmaCube_getHurtSound($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1643));
    jl_AbstractStringBuilder_append(var$1, nms_EntitySlime_getSlimeSize($this) <= 1 ? $rt_s(1644) : $rt_s(1645));
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_EntityMagmaCube_getDeathSound($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1643));
    jl_AbstractStringBuilder_append(var$1, nms_EntitySlime_getSlimeSize($this) <= 1 ? $rt_s(1644) : $rt_s(1645));
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_EntityMagmaCube_getJumpSound($this) {
    return nms_EntitySlime_getSlimeSize($this) <= 1 ? $rt_s(1647) : $rt_s(1648);
}
function nms_EntityMagmaCube_handleLavaMovement($this) {
    return 0;
}
function nms_EntityMagmaCube_makesSoundOnLand($this) {
    return 1;
}
function nms_RenderMagmaCube() {
    nms_RenderLiving.call(this);
    this.$field_77120_a = 0;
}
var nms_RenderMagmaCube_entityTexture = null;
function nms_RenderMagmaCube__init_0() {
    var var_0 = new nms_RenderMagmaCube();
    nms_RenderMagmaCube__init_(var_0);
    return var_0;
}
function nms_RenderMagmaCube__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelMagmaCube__init_0(), 0.25);
    $this.$field_77120_a = 5;
}
function nms_RenderMagmaCube_renderMagmaCube($this, $par1EntityMagmaCube, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityMagmaCube = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (5 != $this.$field_77120_a) {
            $this.$field_77120_a = 5;
            $this.$mainModel = nms_ModelMagmaCube__init_0();
            ji_PrintStream_println(jl_System_out(), $rt_s(1649));
        }
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityMagmaCube, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityMagmaCube, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderMagmaCube_scaleMagmaCube($this, $par1EntityMagmaCube, $par2) {
    var $var3, var$4, $var5;
    $var3 = nms_EntitySlime_getSlimeSize($par1EntityMagmaCube);
    $par2 = $par1EntityMagmaCube.$field_70812_c + ($par1EntityMagmaCube.$field_70811_b - $par1EntityMagmaCube.$field_70812_c) * $par2;
    var$4 = $var3;
    $var5 = 1.0 / ($par2 / (var$4 * 0.5 + 1.0) + 1.0);
    $par2 = $var5 * var$4;
    nleg_EaglerAdapterGL30_glScalef($par2, 1.0 / $var5 * var$4, $par2);
}
function nms_RenderMagmaCube_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderMagmaCube_scaleMagmaCube($this, $par1EntityLiving, $par2);
}
function nms_RenderMagmaCube_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderMagmaCube_renderMagmaCube($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderMagmaCube_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderMagmaCube_renderMagmaCube($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderMagmaCube_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderMagmaCube_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderMagmaCube__clinit_() {
    nms_RenderMagmaCube_entityTexture = nle_TextureLocation__init_($rt_s(1650));
}
function nms_RenderPlayer() {
    var a = this; nms_RenderLiving.call(a);
    a.$modelBipedMain0 = null;
    a.$modelBipedMainNewSkin = null;
    a.$modelBipedMainNewSkinSlim = null;
    a.$modelArmorChestplate = null;
    a.$modelArmor = null;
    a.$renderPass2 = 0;
}
var nms_RenderPlayer_armorFilenamePrefix = null;
var nms_RenderPlayer_lax1dude_cape = null;
var nms_RenderPlayer_terrain = null;
var nms_RenderPlayer_entityTexture = null;
function nms_RenderPlayer__init_0() {
    var var_0 = new nms_RenderPlayer();
    nms_RenderPlayer__init_(var_0);
    return var_0;
}
function nms_RenderPlayer__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelBiped__init_2(0.0), 0.5);
    $this.$renderPass2 = 0;
    $this.$modelBipedMain0 = $this.$mainModel;
    $this.$modelBipedMainNewSkin = nle_ModelBipedNewSkins__init_(0.0, 0);
    $this.$modelBipedMainNewSkinSlim = nle_ModelBipedNewSkins__init_(0.0, 1);
    $this.$modelArmorChestplate = nms_ModelBiped__init_2(1.0);
    $this.$modelArmor = nms_ModelBiped__init_2(0.5);
}
function nms_RenderPlayer_setArmorModel($this, $par1EntityPlayer, $par2, $par3) {
    var $var4, $var5, $var6, var$7, $var7, var$9, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nle_DefaultSkinRenderer_isPlayerStandard($par1EntityPlayer))
            return (-1);
        $var4 = nms_InventoryPlayer_armorItemInSlot($par1EntityPlayer.$inventory, 3 - $par2 | 0);
        if ($var4 !== null) {
            $var5 = nms_ItemStack_getItem($var4);
            if ($var5 instanceof nms_ItemArmor) {
                $var6 = $var5;
                $par1EntityPlayer = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($par1EntityPlayer);
                jl_AbstractStringBuilder_append($par1EntityPlayer, $rt_s(1619));
                jl_AbstractStringBuilder_append($par1EntityPlayer, nms_RenderPlayer_armorFilenamePrefix.data[$var6.$renderIndex]);
                jl_AbstractStringBuilder_append($par1EntityPlayer, $rt_s(423));
                var$7 = $rt_compare($par2, 2);
                jl_AbstractStringBuilder_append2($par1EntityPlayer, var$7 ? 1 : 2);
                jl_AbstractStringBuilder_append($par1EntityPlayer, $rt_s(73));
                $par1EntityPlayer = jl_AbstractStringBuilder_toString($par1EntityPlayer);
                $ptr = 1;
                continue main;
            }
        }
        return (-1);
    case 1:
        nms_Render_loadTexture($this, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = var$7 ? $this.$modelArmorChestplate : $this.$modelArmor;
        $var7.$bipedHead.$showModel = $par2 ? 0 : 1;
        $var7.$bipedHeadwear.$showModel = $par2 ? 0 : 1;
        $par1EntityPlayer = $var7.$bipedBody;
        var$9 = $rt_compare($par2, 1);
        $par1EntityPlayer.$showModel = var$9 && var$7 ? 0 : 1;
        $var7.$bipedRightArm.$showModel = var$9 ? 0 : 1;
        $var7.$bipedLeftArm.$showModel = var$9 ? 0 : 1;
        $var7.$bipedRightLeg.$showModel = var$7 && $par2 != 3 ? 0 : 1;
        $var7.$bipedLeftLeg.$showModel = var$7 && $par2 != 3 ? 0 : 1;
        $this.$renderPassModel = $var7;
        $var7.$onGround1 = $this.$mainModel.$onGround1;
        $var7.$isRiding = $this.$mainModel.$isRiding;
        $var7.$isChild0 = $this.$mainModel.$isChild0;
        if ($var6.$material !== nms_EnumArmorMaterial_CLOTH) {
            nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
            if (!nms_ItemStack_isItemEnchanted($var4))
                return 1;
            return 15;
        }
        $var9 = nms_ItemArmor_getColor($var6, $var4);
        nleg_EaglerAdapterGL30_glColor3f(1.0 * ($var9 >> 16 & 255) / 255.0, 1.0 * ($var9 >> 8 & 255) / 255.0, 1.0 * ($var9 & 255) / 255.0);
        if (!nms_ItemStack_isItemEnchanted($var4))
            return 16;
        return 31;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $par3, $var4, $var5, $var6, var$7, $var7, var$9, $var9, $ptr);
}
function nms_RenderPlayer_func_82439_b($this, $par1EntityPlayer, $par2, $par3) {
    var $var4, $var5, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = nms_InventoryPlayer_armorItemInSlot($par1EntityPlayer.$inventory, 3 - $par2 | 0);
        if ($var4 !== null) {
            $var5 = nms_ItemStack_getItem($var4);
            if ($var5 instanceof nms_ItemArmor) {
                $var6 = $var5;
                $par1EntityPlayer = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($par1EntityPlayer);
                jl_AbstractStringBuilder_append($par1EntityPlayer, $rt_s(1619));
                jl_AbstractStringBuilder_append($par1EntityPlayer, nms_RenderPlayer_armorFilenamePrefix.data[$var6.$renderIndex]);
                jl_AbstractStringBuilder_append($par1EntityPlayer, $rt_s(423));
                jl_AbstractStringBuilder_append2($par1EntityPlayer, $par2 != 2 ? 1 : 2);
                jl_AbstractStringBuilder_append($par1EntityPlayer, $rt_s(1620));
                $par1EntityPlayer = jl_AbstractStringBuilder_toString($par1EntityPlayer);
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        nms_Render_loadTexture($this, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $par3, $var4, $var5, $var6, $ptr);
}
function nms_RenderPlayer_renderPlayer($this, $par1EntityPlayer, $par2, $par4, $par6, $par8, $par9) {
    var $renderType, $var14, $var11, $var12, var$11, var$12, var$13, var$14, $var13, $var10, $var11_0, $var12_0, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12_0 = $thread.pop();$var11_0 = $thread.pop();$var10 = $thread.pop();$var13 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var14 = $thread.pop();$renderType = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nle_DefaultSkinRenderer_isPlayerStandard($par1EntityPlayer)) {
            $renderType = nle_DefaultSkinRenderer_getPlayerRenderer($par1EntityPlayer);
            if (nle_DefaultSkinRenderer_isZombieModel($renderType)) {
                if (nle_DefaultSkinRenderer_zombieRenderer === null)
                    nle_DefaultSkinRenderer_zombieRenderer = nms_ModelZombie__init_0(0.0, 1);
                $this.$mainModel = nle_DefaultSkinRenderer_zombieRenderer;
                $this.$mainModel.$isChild0 = 0;
                nle_DefaultSkinRenderer_zombieRenderer.$isSneak = $par1EntityPlayer.$isSneaking();
                nle_DefaultSkinRenderer_zombieRenderer.$isRiding = nms_Entity_isRiding($par1EntityPlayer);
                $var14 = $par4 - $par1EntityPlayer.$yOffset;
                if ($par1EntityPlayer.$isSneaking() && !($par1EntityPlayer instanceof nms_EntityPlayerSP))
                    $var14 = $var14 - 0.125;
                $ptr = 4;
                continue main;
            }
            switch ($renderType) {
                case 19:
                    if (nle_DefaultSkinRenderer_endermanRenderer === null)
                        nle_DefaultSkinRenderer_endermanRenderer = nms_ModelEnderman__init_0();
                    nle_DefaultSkinRenderer_endermanRenderer.$isChild0 = 0;
                    nle_DefaultSkinRenderer_endermanRenderer.$isCarrying = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory) !== null && nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory).$itemID0 < 256 ? 1 : 0;
                    $this.$mainModel = nle_DefaultSkinRenderer_endermanRenderer;
                    $var14 = $par4 - $par1EntityPlayer.$yOffset + 0.05000000074505806;
                    $ptr = 5;
                    continue main;
                case 20:
                    if (nle_DefaultSkinRenderer_skeletonRenderer === null)
                        nle_DefaultSkinRenderer_skeletonRenderer = nms_ModelSkeleton__init_0(0.0);
                    nle_DefaultSkinRenderer_skeletonRenderer.$isChild0 = 0;
                    $this.$mainModel = nle_DefaultSkinRenderer_skeletonRenderer;
                    $par4 = $par4 - $par1EntityPlayer.$yOffset;
                    $ptr = 1;
                    continue main;
                case 21:
                    if (nle_DefaultSkinRenderer_blazeRenderer === null)
                        nle_DefaultSkinRenderer_blazeRenderer = nms_ModelBlaze__init_0();
                    nle_DefaultSkinRenderer_blazeRenderer.$isChild0 = 0;
                    $this.$mainModel = nle_DefaultSkinRenderer_blazeRenderer;
                    $par4 = $par4 - $par1EntityPlayer.$yOffset;
                    $ptr = 2;
                    continue main;
                case 32:
                    if (nle_DefaultSkinRenderer_villagerRenderer === null)
                        nle_DefaultSkinRenderer_villagerRenderer = nms_ModelVillager__init_(0.0);
                    nle_DefaultSkinRenderer_villagerRenderer.$isChild0 = 0;
                    $this.$mainModel = nle_DefaultSkinRenderer_villagerRenderer;
                    $par4 = $par4 - $par1EntityPlayer.$yOffset;
                    $ptr = 3;
                    continue main;
                default:
            }
            return;
        }
        nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
        $var11 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
        $var12 = $this.$modelArmorChestplate;
        var$11 = $this.$modelArmor;
        var$12 = $this.$modelBipedMain0;
        var$13 = $this.$modelBipedMainNewSkin;
        var$14 = $this.$modelBipedMainNewSkinSlim;
        $renderType = $var11 === null ? 0 : 1;
        var$14.$heldItemRight = $renderType;
        var$13.$heldItemRight = $renderType;
        var$12.$heldItemRight = $renderType;
        var$11.$heldItemRight = $renderType;
        $var12.$heldItemRight = $renderType;
        if ($var11 !== null && nms_EntityPlayer_getItemInUseCount($par1EntityPlayer) > 0) {
            $var12 = nms_ItemStack_getItemUseAction($var11);
            if ($var12 === nms_EnumAction_block) {
                $var11 = $this.$modelArmorChestplate;
                $var12 = $this.$modelArmor;
                var$11 = $this.$modelBipedMain0;
                var$12 = $this.$modelBipedMainNewSkin;
                $this.$modelBipedMainNewSkinSlim.$heldItemRight = 3;
                var$12.$heldItemRight = 3;
                var$11.$heldItemRight = 3;
                $var12.$heldItemRight = 3;
                $var11.$heldItemRight = 3;
            } else if ($var12 === nms_EnumAction_bow) {
                $var11 = $this.$modelArmorChestplate;
                $var12 = $this.$modelArmor;
                var$11 = $this.$modelBipedMain0;
                var$12 = $this.$modelBipedMainNewSkin;
                $this.$modelBipedMainNewSkinSlim.$aimedBow = 1;
                var$12.$aimedBow = 1;
                var$11.$aimedBow = 1;
                $var12.$aimedBow = 1;
                $var11.$aimedBow = 1;
            }
        }
        $var11 = $this.$modelArmorChestplate;
        $var12 = $this.$modelArmor;
        var$11 = $this.$modelBipedMain0;
        var$12 = $this.$modelBipedMainNewSkin;
        var$13 = $this.$modelBipedMainNewSkinSlim;
        $renderType = $par1EntityPlayer.$isSneaking();
        var$13.$isSneak = $renderType;
        var$12.$isSneak = $renderType;
        var$11.$isSneak = $renderType;
        $var12.$isSneak = $renderType;
        $var11.$isSneak = $renderType;
        $var14 = $par4 - $par1EntityPlayer.$yOffset;
        if ($par1EntityPlayer.$isSneaking() && !($par1EntityPlayer instanceof nms_EntityPlayerSP))
            $var14 = $var14 - 0.125;
        $this.$mainModel = !nle_DefaultSkinRenderer_isPlayerNewSkin($par1EntityPlayer) ? $this.$modelBipedMain0 : !nle_DefaultSkinRenderer_isPlayerNewSkinSlim($par1EntityPlayer) ? $this.$modelBipedMainNewSkin : $this.$modelBipedMainNewSkinSlim;
        $this.$mainModel.$isChild0 = 0;
        $this.$mainModel.$blockTransparentSkin = 1;
        $ptr = 7;
        continue main;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityPlayer, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        $this.$mainModel = $this.$modelBipedMain0;
        return;
    case 2:
        nms_RenderLiving_doRenderLiving($this, $par1EntityPlayer, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        $this.$mainModel = $this.$modelBipedMain0;
        return;
    case 3:
        nms_RenderLiving_doRenderLiving($this, $par1EntityPlayer, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        $this.$mainModel = $this.$modelBipedMain0;
        return;
    case 4:
        nms_RenderLiving_doRenderLiving($this, $par1EntityPlayer, $par2, $var14, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        nle_DefaultSkinRenderer_zombieRenderer.$isSneak = 0;
        nle_DefaultSkinRenderer_zombieRenderer.$isRiding = 0;
        $this.$mainModel = $this.$modelBipedMain0;
        return;
    case 5:
        nms_RenderLiving_doRenderLiving($this, $par1EntityPlayer, $par2, $var14, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = nms_RenderEnderman_tex_eyes;
        $ptr = 6;
    case 6:
        nle_TextureLocation_bindTexture($var11);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glDisable(2884);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 1);
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4 - $par1EntityPlayer.$yOffset + 0.05000000074505806, $par6);
        $var13 = nms_RenderLiving_handleRotationFloat($this, $par1EntityPlayer, $par9);
        $var10 = $par1EntityPlayer.$prevRenderYawOffset + ($par1EntityPlayer.$renderYawOffset - $par1EntityPlayer.$prevRenderYawOffset) * $par9;
        $var11_0 = $par1EntityPlayer.$prevRotationYawHead + ($par1EntityPlayer.$rotationYawHead - $par1EntityPlayer.$prevRotationYawHead) * $par9;
        $var12_0 = $par1EntityPlayer.$prevRotationPitch + ($par1EntityPlayer.$rotationPitch - $par1EntityPlayer.$prevRotationPitch) * $par9;
        nms_RenderPlayer_rotateCorpse($this, $par1EntityPlayer, $var13, $var10, $par9);
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glScalef((-0.949999988079071), (-1.0), 0.949999988079071);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, (-1.347212553024292), 0.0);
        nleg_EaglerAdapterGL30_glColor4f(2.299999952316284, 2.299999952316284, 2.299999952316284, !nms_Entity_isInvisible($par1EntityPlayer) ? 1.0 : 0.30000001192092896);
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, 61680.0, 0.0);
        nms_ModelBiped_render(nle_DefaultSkinRenderer_endermanRenderer, null, 0.0, 0.0, $var13, $var11_0 - $var10, $var12_0, 0.0625);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nle_DefaultSkinRenderer_endermanRenderer.$isCarrying = 0;
        $this.$mainModel = $this.$modelBipedMain0;
        return;
    case 7:
        nms_RenderLiving_doRenderLiving($this, $par1EntityPlayer, $par2, $var14, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        $this.$mainModel.$blockTransparentSkin = 0;
        $par1EntityPlayer = $this.$modelArmorChestplate;
        $var11 = $this.$modelArmor;
        $var12 = $this.$modelBipedMain0;
        var$11 = $this.$modelBipedMainNewSkin;
        $this.$modelBipedMainNewSkinSlim.$aimedBow = 0;
        var$11.$aimedBow = 0;
        $var12.$aimedBow = 0;
        $var11.$aimedBow = 0;
        $par1EntityPlayer.$aimedBow = 0;
        $par1EntityPlayer = $this.$modelArmorChestplate;
        $var11 = $this.$modelArmor;
        $var12 = $this.$modelBipedMain0;
        var$11 = $this.$modelBipedMainNewSkin;
        $this.$modelBipedMainNewSkinSlim.$isSneak = 0;
        var$11.$isSneak = 0;
        $var12.$isSneak = 0;
        $var11.$isSneak = 0;
        $par1EntityPlayer.$isSneak = 0;
        $par1EntityPlayer = $this.$modelArmorChestplate;
        $var11 = $this.$modelArmor;
        $var12 = $this.$modelBipedMain0;
        var$11 = $this.$modelBipedMainNewSkin;
        $this.$modelBipedMainNewSkinSlim.$heldItemRight = 0;
        var$11.$heldItemRight = 0;
        $var12.$heldItemRight = 0;
        $var11.$heldItemRight = 0;
        $par1EntityPlayer.$heldItemRight = 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $par4, $par6, $par8, $par9, $renderType, $var14, $var11, $var12, var$11, var$12, var$13, var$14, $var13, $var10, $var11_0, $var12_0, $ptr);
}
function nms_RenderPlayer_renderSpecials($this, $par1EntityPlayer, $par2) {
    var $var4, $isNew, $isSlim, $renderType, $var22, $var27, $var6, $var16, $var17, $var18, $var11, $var26, $var25, $var21, $var24, $var9, $var12, $var14, $var19, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var19 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var24 = $thread.pop();$var21 = $thread.pop();$var25 = $thread.pop();$var26 = $thread.pop();$var11 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var6 = $thread.pop();$var27 = $thread.pop();$var22 = $thread.pop();$renderType = $thread.pop();$isSlim = $thread.pop();$isNew = $thread.pop();$var4 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this
        = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
        $ptr = 1;
    case 1:
        nms_RenderLiving_renderEquippedItems($this, $par1EntityPlayer, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        nms_RenderLiving_renderArrowsStuckInEntity($this, $par1EntityPlayer, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = nms_InventoryPlayer_armorItemInSlot($par1EntityPlayer.$inventory, 3);
        $isNew = nle_DefaultSkinRenderer_isPlayerNewSkin($par1EntityPlayer);
        $isSlim = nle_DefaultSkinRenderer_isPlayerNewSkinSlim($par1EntityPlayer);
        $renderType = nle_DefaultSkinRenderer_getPlayerRenderer($par1EntityPlayer);
        if ($var4 !== null) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            $var22 = !$isNew ? $this.$modelBipedMain0 : !$isSlim ? $this.$modelBipedMainNewSkin : $this.$modelBipedMainNewSkinSlim;
            nms_ModelRenderer_postRender($var22.$bipedHead, 0.0625);
            if (nms_ItemStack_getItem($var4).$itemID < 256) {
                nms_Block_$callClinit();
                if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var4.$itemID0].$getRenderType())) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.25), 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), (-0.625));
                }
                $var22 = $this.$renderManager.$itemRenderer;
                $var27 = 0;
                $ptr = 4;
                continue main;
            }
            $var27 = nms_ItemStack_getItem($var4).$itemID;
            nms_Item_$callClinit();
            if ($var27 == nms_Item_skull.$itemID) {
                nleg_EaglerAdapterGL30_glScalef(1.0625, (-1.0625), (-1.0625));
                $var6 = $rt_s(36);
                if (nms_ItemStack_hasTagCompound($var4) && nms_NBTTagCompound_hasKey(nms_ItemStack_getTagCompound($var4), $rt_s(1621)))
                    $var6 = nms_NBTTagCompound_getString(nms_ItemStack_getTagCompound($var4), $rt_s(1621));
                $var22 = nms_TileEntitySkullRenderer_skullRenderer;
                $var16 = (-0.5);
                $var17 = 0.0;
                $var18 = (-0.5);
                $var27 = 1;
                $var11 = 180.0;
                $var26 = nms_ItemStack_getItemDamage($var4);
                $ptr = 5;
                continue main;
            }
            nleg_EaglerAdapterGL30_glPopMatrix();
        }
        if (jl_String_equals($par1EntityPlayer.$username0, $rt_s(1651)) && !nms_Entity_isInvisible($par1EntityPlayer) && !nms_EntityPlayer_getHideCape0($par1EntityPlayer) && $renderType != 21) {
            $var22 = nms_RenderPlayer_lax1dude_cape;
            $ptr = 3;
            continue main;
        }
        $var22 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
        if ($var22 !== null) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            if (!nle_DefaultSkinRenderer_isZombieModel($renderType) && $renderType != 20)
                nms_ModelRenderer_postRender((!$isNew ? $this.$modelBipedMain0 : !$isSlim ? $this.$modelBipedMainNewSkin : $this.$modelBipedMainNewSkinSlim).$bipedRightArm, 0.0625);
            else
                nms_ModelRenderer_postRender($this.$mainModel.$bipedRightArm, 0.0625);
            nleg_EaglerAdapterGL30_glTranslatef((-0.0625), 0.4375, 0.0625);
            if ($par1EntityPlayer.$fishEntity !== null) {
                $var22 = new nms_ItemStack;
                nms_Item_$callClinit();
                nms_ItemStack__init_7($var22, nms_Item_stick);
            }
            $var25 = null;
            if (nms_EntityPlayer_getItemInUseCount($par1EntityPlayer) > 0)
                $var25 = nms_ItemStack_getItemUseAction($var22);
            a: {
                if ($var22.$itemID0 < 256) {
                    nms_Block_$callClinit();
                    if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var22.$itemID0].$getRenderType())) {
                        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, (-0.3125));
                        nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                        nleg_EaglerAdapterGL30_glScalef((-0.375), (-0.375), 0.375);
                        break a;
                    }
                }
                $var27 = $var22.$itemID0;
                nms_Item_$callClinit();
                if ($var27 == nms_Item_bow.$itemID) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.125, 0.3125);
                    nleg_EaglerAdapterGL30_glRotatef((-20.0), 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                    nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                } else if (!nms_Item_itemsList.data[$var22.$itemID0].$isFull3D()) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.25, 0.1875, (-0.1875));
                    nleg_EaglerAdapterGL30_glScalef(0.375, 0.375, 0.375);
                    nleg_EaglerAdapterGL30_glRotatef(60.0, 0.0, 0.0, 1.0);
                    nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(20.0, 0.0, 0.0, 1.0);
                } else {
                    if (nms_Item_itemsList.data[$var22.$itemID0].$shouldRotateAroundWhenRendering()) {
                        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
                        nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.125), 0.0);
                    }
                    if (nms_EntityPlayer_getItemInUseCount($par1EntityPlayer) > 0 && $var25 === nms_EnumAction_block) {
                        nleg_EaglerAdapterGL30_glTranslatef(0.05000000074505806, 0.0, (-0.10000000149011612));
                        nleg_EaglerAdapterGL30_glRotatef((-50.0), 0.0, 1.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef((-10.0), 1.0, 0.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef((-60.0), 0.0, 0.0, 1.0);
                    }
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                    nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                }
            }
            if (!nms_ItemStack_getItem($var22).$requiresMultipleRenderPasses()) {
                $var27 = nms_ItemStack_getItem($var22).$getColorFromItemStack($var22, 0);
                nleg_EaglerAdapterGL30_glColor4f(($var27 >> 16 & 255) / 255.0, ($var27 >> 8 & 255) / 255.0, ($var27 & 255) / 255.0, 1.0);
                $var25 = $this.$renderManager.$itemRenderer;
                $var27 = 0;
                $ptr = 6;
                continue main;
            }
            $var27 = 0;
            if ($var27 <= 1) {
                $var26 = nms_ItemStack_getItem($var22).$getColorFromItemStack($var22, $var27);
                nleg_EaglerAdapterGL30_glColor4f(($var26 >> 16 & 255) / 255.0, ($var26 >> 8 & 255) / 255.0, ($var26 & 255) / 255.0, 1.0);
                $var25 = $this.$renderManager.$itemRenderer;
                $ptr = 7;
                continue main;
            }
            nleg_EaglerAdapterGL30_glPopMatrix();
        }
        return;
    case 3:
        nle_TextureLocation_bindTexture($var22);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, 0.125);
        $var21 = $par1EntityPlayer.$field_71091_bM;
        $var24 = $par1EntityPlayer.$field_71094_bP - $par1EntityPlayer.$field_71091_bM;
        $var9 = $par2;
        $var21 = $var21 + $var24 * $var9 - ($par1EntityPlayer.$prevPosX + ($par1EntityPlayer.$posX - $par1EntityPlayer.$prevPosX) * $var9);
        $var24 = $par1EntityPlayer.$field_71096_bN + ($par1EntityPlayer.$field_71095_bQ - $par1EntityPlayer.$field_71096_bN) * $var9 - ($par1EntityPlayer.$prevPosY + ($par1EntityPlayer.$posY - $par1EntityPlayer.$prevPosY) * $var9);
        $var9 = $par1EntityPlayer.$field_71097_bO + ($par1EntityPlayer.$field_71085_bR - $par1EntityPlayer.$field_71097_bO) * $var9 - ($par1EntityPlayer.$prevPosZ + ($par1EntityPlayer.$posZ - $par1EntityPlayer.$prevPosZ) * $var9);
        $var11 = ($par1EntityPlayer.$prevRenderYawOffset + ($par1EntityPlayer.$renderYawOffset - $par1EntityPlayer.$prevRenderYawOffset) * $par2) * 3.1415927410125732 / 180.0;
        $var12 = nms_MathHelper_sin($var11);
        $var14 =  -nms_MathHelper_cos($var11);
        $var16 = $var24 * 10.0;
        if ($var16 < (-6.0))
            $var16 = (-6.0);
        if ($var16 > 32.0)
            $var16 = 32.0;
        $var17 = ($var21 * $var12 + $var9 * $var14) * 100.0;
        $var18 = ($var21 * $var14 - $var9 * $var12) * 100.0;
        if ($var17 < 0.0)
            $var17 = 0.0;
        $var19 = $par1EntityPlayer.$prevCameraYaw + ($par1EntityPlayer.$cameraYaw0 - $par1EntityPlayer.$prevCameraYaw) * $par2;
        $par2 = $var16 + nms_MathHelper_sin(($par1EntityPlayer.$prevDistanceWalkedModified + ($par1EntityPlayer.$distanceWalkedModified - $par1EntityPlayer.$prevDistanceWalkedModified) * $par2) * 6.0) * 32.0 * $var19;
        if ($par1EntityPlayer.$isSneaking())
            $par2 = $par2 + 25.0;
        nleg_EaglerAdapterGL30_glRotatef(6.0 + $var17 / 2.0 + $par2, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef($var18 / 2.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glRotatef( -$var18 / 2.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 1.0, 0.0);
        nms_ModelBiped_renderCloak($this.$modelBipedMain0, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $var22 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
        if ($var22 !== null) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            if (!nle_DefaultSkinRenderer_isZombieModel($renderType) && $renderType != 20)
                nms_ModelRenderer_postRender((!$isNew ? $this.$modelBipedMain0 : !$isSlim ? $this.$modelBipedMainNewSkin : $this.$modelBipedMainNewSkinSlim).$bipedRightArm, 0.0625);
            else
                nms_ModelRenderer_postRender($this.$mainModel.$bipedRightArm, 0.0625);
            nleg_EaglerAdapterGL30_glTranslatef((-0.0625), 0.4375, 0.0625);
            if ($par1EntityPlayer.$fishEntity !== null) {
                $var22 = new nms_ItemStack;
                nms_Item_$callClinit();
                nms_ItemStack__init_7($var22, nms_Item_stick);
            }
            $var25 = null;
            if (nms_EntityPlayer_getItemInUseCount($par1EntityPlayer) > 0)
                $var25 = nms_ItemStack_getItemUseAction($var22);
            a: {
                if ($var22.$itemID0 < 256) {
                    nms_Block_$callClinit();
                    if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var22.$itemID0].$getRenderType())) {
                        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, (-0.3125));
                        nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                        nleg_EaglerAdapterGL30_glScalef((-0.375), (-0.375), 0.375);
                        break a;
                    }
                }
                $var27 = $var22.$itemID0;
                nms_Item_$callClinit();
                if ($var27 == nms_Item_bow.$itemID) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.125, 0.3125);
                    nleg_EaglerAdapterGL30_glRotatef((-20.0), 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                    nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                } else if (!nms_Item_itemsList.data[$var22.$itemID0].$isFull3D()) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.25, 0.1875, (-0.1875));
                    nleg_EaglerAdapterGL30_glScalef(0.375, 0.375, 0.375);
                    nleg_EaglerAdapterGL30_glRotatef(60.0, 0.0, 0.0, 1.0);
                    nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(20.0, 0.0, 0.0, 1.0);
                } else {
                    if (nms_Item_itemsList.data[$var22.$itemID0].$shouldRotateAroundWhenRendering()) {
                        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
                        nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.125), 0.0);
                    }
                    if (nms_EntityPlayer_getItemInUseCount($par1EntityPlayer) > 0 && $var25 === nms_EnumAction_block) {
                        nleg_EaglerAdapterGL30_glTranslatef(0.05000000074505806, 0.0, (-0.10000000149011612));
                        nleg_EaglerAdapterGL30_glRotatef((-50.0), 0.0, 1.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef((-10.0), 1.0, 0.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef((-60.0), 0.0, 0.0, 1.0);
                    }
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                    nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                }
            }
            if (!nms_ItemStack_getItem($var22).$requiresMultipleRenderPasses()) {
                $var27 = nms_ItemStack_getItem($var22).$getColorFromItemStack($var22, 0);
                nleg_EaglerAdapterGL30_glColor4f(($var27 >> 16 & 255) / 255.0, ($var27 >> 8 & 255) / 255.0, ($var27 & 255) / 255.0, 1.0);
                $var25 = $this.$renderManager.$itemRenderer;
                $var27 = 0;
                $ptr = 6;
                continue main;
            }
            $var27 = 0;
            if ($var27 <= 1) {
                $var26 = nms_ItemStack_getItem($var22).$getColorFromItemStack($var22, $var27);
                nleg_EaglerAdapterGL30_glColor4f(($var26 >> 16 & 255) / 255.0, ($var26 >> 8 & 255) / 255.0, ($var26 & 255) / 255.0, 1.0);
                $var25 = $this.$renderManager.$itemRenderer;
                $ptr = 7;
                continue main;
            }
            nleg_EaglerAdapterGL30_glPopMatrix();
        }
        return;
    case 4:
        nms_ItemRenderer_renderItem($var22, $par1EntityPlayer, $var4, $var27);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if (jl_String_equals($par1EntityPlayer.$username0, $rt_s(1651)) && !nms_Entity_isInvisible($par1EntityPlayer) && !nms_EntityPlayer_getHideCape0($par1EntityPlayer) && $renderType != 21) {
            $var22 = nms_RenderPlayer_lax1dude_cape;
            $ptr = 3;
            continue main;
        }
        $var22 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
        if ($var22 !== null) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            if (!nle_DefaultSkinRenderer_isZombieModel($renderType) && $renderType != 20)
                nms_ModelRenderer_postRender((!$isNew ? $this.$modelBipedMain0 : !$isSlim ? $this.$modelBipedMainNewSkin : $this.$modelBipedMainNewSkinSlim).$bipedRightArm, 0.0625);
            else
                nms_ModelRenderer_postRender($this.$mainModel.$bipedRightArm, 0.0625);
            nleg_EaglerAdapterGL30_glTranslatef((-0.0625), 0.4375, 0.0625);
            if ($par1EntityPlayer.$fishEntity !== null) {
                $var22 = new nms_ItemStack;
                nms_Item_$callClinit();
                nms_ItemStack__init_7($var22, nms_Item_stick);
            }
            $var25 = null;
            if (nms_EntityPlayer_getItemInUseCount($par1EntityPlayer) > 0)
                $var25 = nms_ItemStack_getItemUseAction($var22);
            b: {
                if ($var22.$itemID0 < 256) {
                    nms_Block_$callClinit();
                    if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var22.$itemID0].$getRenderType())) {
                        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, (-0.3125));
                        nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                        nleg_EaglerAdapterGL30_glScalef((-0.375), (-0.375), 0.375);
                        break b;
                    }
                }
                $var27 = $var22.$itemID0;
                nms_Item_$callClinit();
                if ($var27 == nms_Item_bow.$itemID) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.125, 0.3125);
                    nleg_EaglerAdapterGL30_glRotatef((-20.0), 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                    nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                } else if (!nms_Item_itemsList.data[$var22.$itemID0].$isFull3D()) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.25, 0.1875, (-0.1875));
                    nleg_EaglerAdapterGL30_glScalef(0.375, 0.375, 0.375);
                    nleg_EaglerAdapterGL30_glRotatef(60.0, 0.0, 0.0, 1.0);
                    nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(20.0, 0.0, 0.0, 1.0);
                } else {
                    if (nms_Item_itemsList.data[$var22.$itemID0].$shouldRotateAroundWhenRendering()) {
                        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
                        nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.125), 0.0);
                    }
                    if (nms_EntityPlayer_getItemInUseCount($par1EntityPlayer) > 0 && $var25 === nms_EnumAction_block) {
                        nleg_EaglerAdapterGL30_glTranslatef(0.05000000074505806, 0.0, (-0.10000000149011612));
                        nleg_EaglerAdapterGL30_glRotatef((-50.0), 0.0, 1.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef((-10.0), 1.0, 0.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef((-60.0), 0.0, 0.0, 1.0);
                    }
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                    nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                }
            }
            if (!nms_ItemStack_getItem($var22).$requiresMultipleRenderPasses()) {
                $var27 = nms_ItemStack_getItem($var22).$getColorFromItemStack($var22, 0);
                nleg_EaglerAdapterGL30_glColor4f(($var27 >> 16 & 255) / 255.0, ($var27 >> 8 & 255) / 255.0, ($var27 & 255) / 255.0, 1.0);
                $var25 = $this.$renderManager.$itemRenderer;
                $var27 = 0;
                $ptr = 6;
                continue main;
            }
            $var27 = 0;
            if ($var27 <= 1) {
                $var26 = nms_ItemStack_getItem($var22).$getColorFromItemStack($var22, $var27);
                nleg_EaglerAdapterGL30_glColor4f(($var26 >> 16 & 255) / 255.0, ($var26 >> 8 & 255) / 255.0, ($var26 & 255) / 255.0, 1.0);
                $var25 = $this.$renderManager.$itemRenderer;
                $ptr = 7;
                continue main;
            }
            nleg_EaglerAdapterGL30_glPopMatrix();
        }
        return;
    case 5:
        nms_TileEntitySkullRenderer_func_82393_a($var22, $var16, $var17, $var18, $var27, $var11, $var26, $var6);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if (jl_String_equals($par1EntityPlayer.$username0, $rt_s(1651)) && !nms_Entity_isInvisible($par1EntityPlayer) && !nms_EntityPlayer_getHideCape0($par1EntityPlayer) && $renderType != 21) {
            $var22 = nms_RenderPlayer_lax1dude_cape;
            $ptr = 3;
            continue main;
        }
        $var22 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
        if ($var22 !== null) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            if (!nle_DefaultSkinRenderer_isZombieModel($renderType) && $renderType != 20)
                nms_ModelRenderer_postRender((!$isNew ? $this.$modelBipedMain0 : !$isSlim ? $this.$modelBipedMainNewSkin : $this.$modelBipedMainNewSkinSlim).$bipedRightArm, 0.0625);
            else
                nms_ModelRenderer_postRender($this.$mainModel.$bipedRightArm, 0.0625);
            nleg_EaglerAdapterGL30_glTranslatef((-0.0625), 0.4375, 0.0625);
            if ($par1EntityPlayer.$fishEntity !== null) {
                $var22 = new nms_ItemStack;
                nms_Item_$callClinit();
                nms_ItemStack__init_7($var22, nms_Item_stick);
            }
            $var25 = null;
            if (nms_EntityPlayer_getItemInUseCount($par1EntityPlayer) > 0)
                $var25 = nms_ItemStack_getItemUseAction($var22);
            b: {
                if ($var22.$itemID0 < 256) {
                    nms_Block_$callClinit();
                    if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var22.$itemID0].$getRenderType())) {
                        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, (-0.3125));
                        nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                        nleg_EaglerAdapterGL30_glScalef((-0.375), (-0.375), 0.375);
                        break b;
                    }
                }
                $var27 = $var22.$itemID0;
                nms_Item_$callClinit();
                if ($var27 == nms_Item_bow.$itemID) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.125, 0.3125);
                    nleg_EaglerAdapterGL30_glRotatef((-20.0), 0.0, 1.0, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                    nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                } else if (!nms_Item_itemsList.data[$var22.$itemID0].$isFull3D()) {
                    nleg_EaglerAdapterGL30_glTranslatef(0.25, 0.1875, (-0.1875));
                    nleg_EaglerAdapterGL30_glScalef(0.375, 0.375, 0.375);
                    nleg_EaglerAdapterGL30_glRotatef(60.0, 0.0, 0.0, 1.0);
                    nleg_EaglerAdapterGL30_glRotatef((-90.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(20.0, 0.0, 0.0, 1.0);
                } else {
                    if (nms_Item_itemsList.data[$var22.$itemID0].$shouldRotateAroundWhenRendering()) {
                        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
                        nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.125), 0.0);
                    }
                    if (nms_EntityPlayer_getItemInUseCount($par1EntityPlayer) > 0 && $var25 === nms_EnumAction_block) {
                        nleg_EaglerAdapterGL30_glTranslatef(0.05000000074505806, 0.0, (-0.10000000149011612));
                        nleg_EaglerAdapterGL30_glRotatef((-50.0), 0.0, 1.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef((-10.0), 1.0, 0.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef((-60.0), 0.0, 0.0, 1.0);
                    }
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.1875, 0.0);
                    nleg_EaglerAdapterGL30_glScalef(0.625, (-0.625), 0.625);
                    nleg_EaglerAdapterGL30_glRotatef((-100.0), 1.0, 0.0, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                }
            }
            if (!nms_ItemStack_getItem($var22).$requiresMultipleRenderPasses()) {
                $var27 = nms_ItemStack_getItem($var22).$getColorFromItemStack($var22, 0);
                nleg_EaglerAdapterGL30_glColor4f(($var27 >> 16 & 255) / 255.0, ($var27 >> 8 & 255) / 255.0, ($var27 & 255) / 255.0, 1.0);
                $var25 = $this.$renderManager.$itemRenderer;
                $var27 = 0;
                $ptr = 6;
                continue main;
            }
            $var27 = 0;
            if ($var27 <= 1) {
                $var26 = nms_ItemStack_getItem($var22).$getColorFromItemStack($var22, $var27);
                nleg_EaglerAdapterGL30_glColor4f(($var26 >> 16 & 255) / 255.0, ($var26 >> 8 & 255) / 255.0, ($var26 & 255) / 255.0, 1.0);
                $var25 = $this.$renderManager.$itemRenderer;
                $ptr = 7;
                continue main;
            }
            nleg_EaglerAdapterGL30_glPopMatrix();
        }
        return;
    case 6:
        nms_ItemRenderer_renderItem($var25, $par1EntityPlayer, $var22, $var27);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 7:
        nms_ItemRenderer_renderItem($var25, $par1EntityPlayer, $var22, $var27);
        if ($rt_suspending()) {
            break main;
        }
        $var27 = $var27 + 1 | 0;
        if ($var27 > 1) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        $var26 = nms_ItemStack_getItem($var22).$getColorFromItemStack($var22, $var27);
        nleg_EaglerAdapterGL30_glColor4f(($var26 >> 16 & 255) / 255.0, ($var26 >> 8 & 255) / 255.0, ($var26 & 255) / 255.0, 1.0);
        $var25 = $this.$renderManager.$itemRenderer;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var4, $isNew, $isSlim, $renderType, $var22, $var27, $var6, $var16, $var17, $var18, $var11, $var26, $var25, $var21, $var24, $var9, $var12, $var14, $var19, $ptr);
}
function nms_RenderPlayer_renderPlayerScale($this, $par1EntityPlayer, $par2) {
    nleg_EaglerAdapterGL30_glScalef(0.9375, 0.9375, 0.9375);
}
function nms_RenderPlayer_func_96450_a($this, $par1EntityPlayer, $par2, $par4, $par6, $par8Str, $par9, $par10) {
    var $var12, $var13, $var14, var$11, var$12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8Str = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par10 < 100.0) {
            $var12 = nms_EntityPlayer_getWorldScoreboard($par1EntityPlayer);
            $var13 = nms_Scoreboard_func_96539_a($var12, 2);
            if ($var13 !== null) {
                $var14 = nms_Scoreboard_func_96529_a($var12, $par1EntityPlayer.$username0, $var13);
                if (!$par1EntityPlayer.$sleeping) {
                    $var12 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var12);
                    jl_AbstractStringBuilder_append2($var12, $var14.$field_96655_e);
                    jl_AbstractStringBuilder_append($var12, $rt_s(343));
                    jl_AbstractStringBuilder_append($var12, $var13.$displayName);
                    $var12 = jl_AbstractStringBuilder_toString($var12);
                    var$11 = 64;
                    $ptr = 2;
                    continue main;
                }
                $var12 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var12);
                jl_AbstractStringBuilder_append2($var12, $var14.$field_96655_e);
                jl_AbstractStringBuilder_append($var12, $rt_s(343));
                jl_AbstractStringBuilder_append($var12, $var13.$displayName);
                $var12 = jl_AbstractStringBuilder_toString($var12);
                var$12 = $par4 - 1.5;
                var$11 = 64;
                $ptr = 3;
                continue main;
            }
        }
        $ptr = 1;
    case 1:
        nms_RenderLiving_func_96449_a($this, $par1EntityPlayer, $par2, $par4, $par6, $par8Str, $par9, $par10);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_RenderLiving_renderLivingLabel($this, $par1EntityPlayer, $var12, $par2, $par4, $par6, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $par4 = $par4 + nms_Render_getFontRendererFromRenderManager($this).$FONT_HEIGHT * 1.149999976158142 * $par9;
        $ptr = 1;
        continue main;
    case 3:
        nms_RenderLiving_renderLivingLabel($this, $par1EntityPlayer, $var12, $par2, var$12, $par6, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $par4 = $par4 + nms_Render_getFontRendererFromRenderManager($this).$FONT_HEIGHT * 1.149999976158142 * $par9;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $par4, $par6, $par8Str, $par9, $par10, $var12, $var13, $var14, var$11, var$12, $ptr);
}
function nms_RenderPlayer_renderFirstPersonArm($this, $par1EntityPlayer) {
    var $i, $isNew, $isSlim;
    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
    $i = nle_DefaultSkinRenderer_getPlayerRenderer($par1EntityPlayer);
    if (!(!nle_DefaultSkinRenderer_isStandardModel($i) && !nle_DefaultSkinRenderer_isZombieModel($i))) {
        $isNew = nle_DefaultSkinRenderer_isPlayerNewSkin($par1EntityPlayer);
        $isSlim = nle_DefaultSkinRenderer_isPlayerNewSkinSlim($par1EntityPlayer);
        (!$isNew ? $this.$modelBipedMain0 : !$isSlim ? $this.$modelBipedMainNewSkin : $this.$modelBipedMainNewSkinSlim).$onGround1 = 0.0;
        (!$isNew ? $this.$modelBipedMain0 : !$isSlim ? $this.$modelBipedMainNewSkin : $this.$modelBipedMainNewSkinSlim).$setRotationAngles(0.0, 0.0, 0.0, 0.0, 0.0, 0.0625, $par1EntityPlayer);
        nms_ModelRenderer_render((!$isNew ? $this.$modelBipedMain0 : !$isSlim ? $this.$modelBipedMainNewSkin : $this.$modelBipedMainNewSkinSlim).$bipedRightArm, 0.0625);
    }
}
function nms_RenderPlayer_renderPlayerSleep($this, $par1EntityPlayer, $par2, $par4, $par6) {
    if (nms_EntityLiving_isEntityAlive($par1EntityPlayer) && $par1EntityPlayer.$sleeping)
        nms_RenderLiving_renderLivingAt($this, $par1EntityPlayer, $par2 + $par1EntityPlayer.$field_71079_bU, $par4 + $par1EntityPlayer.$field_71082_cx, $par6 + $par1EntityPlayer.$field_71089_bV);
    else
        nms_RenderLiving_renderLivingAt($this, $par1EntityPlayer, $par2, $par4, $par6);
}
function nms_RenderPlayer_rotatePlayer($this, $par1EntityPlayer, $par2, $par3, $par4) {
    if (nms_EntityLiving_isEntityAlive($par1EntityPlayer) && $par1EntityPlayer.$sleeping) {
        nleg_EaglerAdapterGL30_glRotatef(nms_EntityPlayer_getBedOrientationInDegrees($par1EntityPlayer), 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(90.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glRotatef(270.0, 0.0, 1.0, 0.0);
    } else
        nms_RenderLiving_rotateCorpse($this, $par1EntityPlayer, $par2, $par3, $par4);
}
function nms_RenderPlayer_func_96449_a($this, $par1EntityLiving, $par2, $par4, $par6, $par8Str, $par9, $par10) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8Str = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderPlayer_func_96450_a($this, $par1EntityLiving, $par2, $par4, $par6, $par8Str, $par9, $par10);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8Str, $par9, $par10, $ptr);
}
function nms_RenderPlayer_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderPlayer_renderPlayerScale($this, $par1EntityLiving, $par2);
}
function nms_RenderPlayer_func_82408_c($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderPlayer_func_82439_b($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderPlayer_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderPlayer_setArmorModel($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderPlayer_renderEquippedItems($this, $par1EntityLiving, $par2) {
    var $p, $renderType, $s, $var4, $var5, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$s = $thread.pop();$renderType = $thread.pop();$p = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if (!$this.$renderPass2) {
                $p = $par1EntityLiving;
                $renderType = nle_DefaultSkinRenderer_getPlayerRenderer($p);
                if (!nle_DefaultSkinRenderer_isPlayerStandard($p) && !nle_DefaultSkinRenderer_isZombieModel($renderType) && $renderType != 20) {
                    if ($renderType != 19)
                        break a;
                    $s = nms_InventoryPlayer_getCurrentItem($p.$inventory);
                    if ($s === null)
                        break a;
                    if ($s.$itemID0 >= 256)
                        break a;
                    else {
                        nleg_EaglerAdapterGL30_glEnable(32826);
                        nleg_EaglerAdapterGL30_glPushMatrix();
                        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.6875, (-0.75));
                        nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
                        nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
                        nleg_EaglerAdapterGL30_glScalef((-0.5), (-0.5), 0.5);
                        $var4 = nms_EntityPlayer_getBrightnessForRender($p, $par2);
                        $var5 = $var4 % 65536 | 0;
                        $var6 = $var4 / 65536 | 0;
                        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, $var5 / 1.0, $var6 / 1.0);
                        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                        $par1EntityLiving = nms_RenderPlayer_terrain;
                        $ptr = 2;
                        continue main;
                    }
                }
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        nms_RenderPlayer_renderSpecials($this, $p, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        $par1EntityLiving = $this.$renderBlocks;
        nms_Block_$callClinit();
        $p = nms_Block_blocksList.data[$s.$itemID0];
        $renderType = $s.$itemDamage;
        $par2 = 1.0;
        $ptr = 3;
    case 3:
        nms_RenderBlocks_renderBlockAsItem($par1EntityLiving, $p, $renderType, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $p, $renderType, $s, $var4, $var5, $var6, $ptr);
}
function nms_RenderPlayer_rotateCorpse($this, $par1EntityLiving, $par2, $par3, $par4) {
    nms_RenderPlayer_rotatePlayer($this, $par1EntityLiving, $par2, $par3, $par4);
}
function nms_RenderPlayer_renderLivingAt($this, $par1EntityLiving, $par2, $par4, $par6) {
    nms_RenderPlayer_renderPlayerSleep($this, $par1EntityLiving, $par2, $par4, $par6);
}
function nms_RenderPlayer_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderPlayer_renderPlayer($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderPlayer_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderPlayer_renderPlayer($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderPlayer_bindTexture($this, $par1EntityLiving) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!($par1EntityLiving instanceof nms_EntityClientPlayerMP)) {
            if (!($par1EntityLiving instanceof nms_EntityOtherPlayerMP)) {
                $par1EntityLiving = nms_RenderPlayer_entityTexture;
                $ptr = 1;
                continue main;
            }
            $par1EntityLiving = $par1EntityLiving;
            $ptr = 2;
            continue main;
        }
        nle_EaglerProfile_$callClinit();
        if (nle_EaglerProfile_presetSkinId < 0) {
            nms_RenderEngine_bindTexture(nmc_Minecraft_theMinecraft.$renderEngine, ju_ArrayList_get(nle_EaglerProfile_skins, nle_EaglerProfile_customSkinId).$glTex);
            return;
        }
        $par1EntityLiving = nle_DefaultSkinRenderer_defaultVanillaSkins.data[nle_EaglerProfile_presetSkinId];
        $ptr = 3;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        $tmp = nle_DefaultSkinRenderer_bindSyncedSkin($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        if (var$2)
            return;
        $par1EntityLiving = nms_RenderPlayer_entityTexture;
        $ptr = 4;
        continue main;
    case 3:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, var$2, $ptr);
}
function nms_RenderPlayer__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 5);
    var$2 = var$1.data;
    var$2[0] = $rt_s(1622);
    var$2[1] = $rt_s(1623);
    var$2[2] = $rt_s(1624);
    var$2[3] = $rt_s(1625);
    var$2[4] = $rt_s(1626);
    nms_RenderPlayer_armorFilenamePrefix = var$1;
    nms_RenderPlayer_lax1dude_cape = nle_TextureLocation__init_($rt_s(1652));
    nms_RenderPlayer_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_RenderPlayer_entityTexture = nle_TextureLocation__init_($rt_s(1653));
}
function nms_EntityFlying() {
    nms_EntityLiving.call(this);
}
function nms_EntityFlying_fall($this, $par1) {
    return;
}
function nms_EntityFlying_updateFallState($this, $par1, $par3) {
    return;
}
function nms_EntityFlying_moveEntityWithHeading($this, $par1, $par2) {
    var $var10, $var9, var$5, $var3, $var4, $var8, $var5, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var8 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$5 = $thread.pop();$var9 = $thread.pop();$var10 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$inWater) {
            nms_Entity_moveFlying($this, $par1, $par2, 0.019999999552965164);
            $var10 = $this.$motionX;
            $var9 = $this.$motionY;
            var$5 = $this.$motionZ;
            $ptr = 1;
            continue main;
        }
        if (nms_Entity_handleLavaMovement($this)) {
            nms_Entity_moveFlying($this, $par1, $par2, 0.019999999552965164);
            $var10 = $this.$motionX;
            $var9 = $this.$motionY;
            var$5 = $this.$motionZ;
            $ptr = 2;
            continue main;
        }
        $var3 = 0.9100000262260437;
        if ($this.$onGround) {
            $var3 = 0.546000063419342;
            $var4 = nms_World_getBlockId($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$boundingBox.$minY) - 1 | 0, nms_MathHelper_floor_double($this.$posZ));
            if ($var4 > 0) {
                nms_Block_$callClinit();
                $var3 = nms_Block_blocksList.data[$var4].$slipperiness * 0.9100000262260437;
            }
        }
        $var8 = 0.16277135908603668 / ($var3 * $var3 * $var3);
        nms_Entity_moveFlying($this, $par1, $par2, !$this.$onGround ? 0.019999999552965164 : 0.10000000149011612 * $var8);
        $par1 = 0.9100000262260437;
        if ($this.$onGround) {
            $par1 = 0.546000063419342;
            $var5 = nms_World_getBlockId($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$boundingBox.$minY) - 1 | 0, nms_MathHelper_floor_double($this.$posZ));
            if ($var5 > 0) {
                nms_Block_$callClinit();
                $par1 = nms_Block_blocksList.data[$var5].$slipperiness * 0.9100000262260437;
            }
        }
        $var10 = $this.$motionX;
        $var9 = $this.$motionY;
        var$5 = $this.$motionZ;
        $ptr = 3;
        continue main;
    case 1:
        nms_Entity_moveEntity($this, $var10, $var9, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.800000011920929;
        $this.$motionY = $this.$motionY * 0.800000011920929;
        $this.$motionZ = $this.$motionZ * 0.800000011920929;
        $this.$prevLimbYaw = $this.$limbYaw;
        $var10 = $this.$posX - $this.$prevPosX;
        $var9 = $this.$posZ - $this.$prevPosZ;
        $var7 = nms_MathHelper_sqrt_double($var10 * $var10 + $var9 * $var9) * 4.0;
        if ($var7 > 1.0)
            $var7 = 1.0;
        $this.$limbYaw = $this.$limbYaw + ($var7 - $this.$limbYaw) * 0.4000000059604645;
        $this.$limbSwing = $this.$limbSwing + $this.$limbYaw;
        return;
    case 2:
        nms_Entity_moveEntity($this, $var10, $var9, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.5;
        $this.$motionY = $this.$motionY * 0.5;
        $this.$motionZ = $this.$motionZ * 0.5;
        $this.$prevLimbYaw = $this.$limbYaw;
        $var10 = $this.$posX - $this.$prevPosX;
        $var9 = $this.$posZ - $this.$prevPosZ;
        $var7 = nms_MathHelper_sqrt_double($var10 * $var10 + $var9 * $var9) * 4.0;
        if ($var7 > 1.0)
            $var7 = 1.0;
        $this.$limbYaw = $this.$limbYaw + ($var7 - $this.$limbYaw) * 0.4000000059604645;
        $this.$limbSwing = $this.$limbSwing + $this.$limbYaw;
        return;
    case 3:
        nms_Entity_moveEntity($this, $var10, $var9, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $this.$motionX;
        $var9 = $par1;
        $this.$motionX = $var10 * $var9;
        $this.$motionY = $this.$motionY * $var9;
        $this.$motionZ = $this.$motionZ * $var9;
        $this.$prevLimbYaw = $this.$limbYaw;
        $var10 = $this.$posX - $this.$prevPosX;
        $var9 = $this.$posZ - $this.$prevPosZ;
        $var7 = nms_MathHelper_sqrt_double($var10 * $var10 + $var9 * $var9) * 4.0;
        if ($var7 > 1.0)
            $var7 = 1.0;
        $this.$limbYaw = $this.$limbYaw + ($var7 - $this.$limbYaw) * 0.4000000059604645;
        $this.$limbSwing = $this.$limbSwing + $this.$limbYaw;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var10, $var9, var$5, $var3, $var4, $var8, $var5, $var7, $ptr);
}
function nms_EntityFlying_isOnLadder($this) {
    return 0;
}
function nms_EntityGhast() {
    var a = this; nms_EntityFlying.call(a);
    a.$courseChangeCooldown = 0;
    a.$waypointX = 0.0;
    a.$waypointY = 0.0;
    a.$waypointZ = 0.0;
    a.$targetedEntity = null;
    a.$aggroCooldown = 0;
    a.$prevAttackCounter = 0;
    a.$attackCounter = 0;
    a.$explosionStrength = 0;
}
function nms_EntityGhast__init_0() {
    var var_0 = new nms_EntityGhast();
    nms_EntityGhast__init_(var_0);
    return var_0;
}
function nms_EntityGhast__init_($this) {
    nms_EntityLiving__init_0($this);
    $this.$courseChangeCooldown = 0;
    $this.$targetedEntity = null;
    $this.$aggroCooldown = 0;
    $this.$prevAttackCounter = 0;
    $this.$attackCounter = 0;
    $this.$explosionStrength = 1;
    nms_Entity_setSize($this, 4.0, 4.0);
    $this.$isImmuneToFire = 1;
    $this.$experienceValue = 5;
}
function nms_EntityGhast_attackEntityFrom($this, $par1DamageSource, $par2) {
    if ($this.$invulnerable)
        return 0;
    if (jl_String_equals($rt_s(1654), $par1DamageSource.$damageType) && $par1DamageSource.$getEntity() instanceof nms_EntityPlayer) {
        $par1DamageSource = $par1DamageSource.$getEntity();
        nms_AchievementList_$callClinit();
        nms_EntityPlayer_triggerAchievement($par1DamageSource, nms_AchievementList_ghast);
        return 1;
    }
    return 0;
}
function nms_EntityGhast_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte_valueOf(0));
}
function nms_EntityGhast_getMaxHealth($this) {
    return 10;
}
function nms_EntityGhast_updateEntityActionState($this) {
    var $var1, $var3, $var5, $var7, var$5, $var11, $var13, $var15, var$9, $var17, $var20, var$12, var$13, var$14, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var20 = $thread.pop();$var17 = $thread.pop();var$9 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();var$5 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_EntityLiving_despawnEntity($this);
        $this.$prevAttackCounter = $this.$attackCounter;
        $var1 = $this.$waypointX - $this.$posX;
        $var3 = $this.$waypointY - $this.$posY;
        $var5 = $this.$waypointZ - $this.$posZ;
        $var7 = $var1 * $var1 + $var3 * $var3 + $var5 * $var5;
        if (!($var7 >= 1.0 && $var7 <= 3600.0)) {
            $this.$waypointX = $this.$posX + (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * 16.0;
            $this.$waypointY = $this.$posY + (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * 16.0;
            $this.$waypointZ = $this.$posZ + (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * 16.0;
        }
        var$5 = $this.$courseChangeCooldown;
        $this.$courseChangeCooldown = var$5 - 1 | 0;
        if (var$5 <= 0) {
            $this.$courseChangeCooldown = $this.$courseChangeCooldown + (nle_EaglercraftRandom_nextInt($this.$rand0, 5) + 2 | 0) | 0;
            $var7 = nms_MathHelper_sqrt_double($var7);
            $var11 = $this.$waypointX;
            $var13 = $this.$waypointY;
            $var15 = $this.$waypointZ;
            $ptr = 1;
            continue main;
        }
        if ($this.$targetedEntity !== null && $this.$targetedEntity.$isDead)
            $this.$targetedEntity = null;
        a: {
            if ($this.$targetedEntity !== null) {
                var$5 = $this.$aggroCooldown;
                $this.$aggroCooldown = var$5 - 1 | 0;
                if (var$5 > 0)
                    break a;
            }
            $this.$targetedEntity = nms_World_getClosestVulnerablePlayerToEntity($this.$worldObj, $this, 100.0);
            if ($this.$targetedEntity !== null)
                $this.$aggroCooldown = 20;
        }
        if ($this.$targetedEntity !== null && nms_Entity_getDistanceSqToEntity($this.$targetedEntity, $this) < 4096.0) {
            $var11 = $this.$targetedEntity.$posX - $this.$posX;
            $var13 = $this.$targetedEntity.$boundingBox.$minY + $this.$targetedEntity.$height0 / 2.0 - ($this.$posY + $this.$height0 / 2.0);
            $var15 = $this.$targetedEntity.$posZ - $this.$posZ;
            var$9 =  -jl_Math_atan2($var11, $var15) * 180.0 / 3.1415927410125732;
            $this.$rotationYaw = var$9;
            $this.$renderYawOffset = var$9;
            $var17 = $this.$targetedEntity;
            $ptr = 2;
            continue main;
        }
        var$9 =  -jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
        $this.$rotationYaw = var$9;
        $this.$renderYawOffset = var$9;
        if ($this.$attackCounter > 0)
            $this.$attackCounter = $this.$attackCounter - 1 | 0;
        return;
    case 1:
        $tmp = nms_EntityGhast_isCourseTraversable($this, $var11, $var13, $var15, $var7);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $tmp;
        if (!var$5) {
            $this.$waypointX = $this.$posX;
            $this.$waypointY = $this.$posY;
            $this.$waypointZ = $this.$posZ;
        } else {
            $this.$motionX = $this.$motionX + $var1 / $var7 * 0.1;
            $this.$motionY = $this.$motionY + $var3 / $var7 * 0.1;
            $this.$motionZ = $this.$motionZ + $var5 / $var7 * 0.1;
        }
        if ($this.$targetedEntity !== null && $this.$targetedEntity.$isDead)
            $this.$targetedEntity = null;
        b: {
            if ($this.$targetedEntity !== null) {
                var$5 = $this.$aggroCooldown;
                $this.$aggroCooldown = var$5 - 1 | 0;
                if (var$5 > 0)
                    break b;
            }
            $this.$targetedEntity = nms_World_getClosestVulnerablePlayerToEntity($this.$worldObj, $this, 100.0);
            if ($this.$targetedEntity !== null)
                $this.$aggroCooldown = 20;
        }
        if ($this.$targetedEntity !== null && nms_Entity_getDistanceSqToEntity($this.$targetedEntity, $this) < 4096.0) {
            $var11 = $this.$targetedEntity.$posX - $this.$posX;
            $var13 = $this.$targetedEntity.$boundingBox.$minY + $this.$targetedEntity.$height0 / 2.0 - ($this.$posY + $this.$height0 / 2.0);
            $var15 = $this.$targetedEntity.$posZ - $this.$posZ;
            var$9 =  -jl_Math_atan2($var11, $var15) * 180.0 / 3.1415927410125732;
            $this.$rotationYaw = var$9;
            $this.$renderYawOffset = var$9;
            $var17 = $this.$targetedEntity;
            $ptr = 2;
            continue main;
        }
        var$9 =  -jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732;
        $this.$rotationYaw = var$9;
        $this.$renderYawOffset = var$9;
        if ($this.$attackCounter > 0)
            $this.$attackCounter = $this.$attackCounter - 1 | 0;
        return;
    case 2:
        $tmp = nms_EntityLiving_canEntityBeSeen($this, $var17);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $tmp;
        if (var$5) {
            if ($this.$attackCounter == 10) {
                $var17 = $this.$worldObj;
                $var20 = null;
                var$5 = 1007;
                var$12 = $this.$posX | 0;
                var$13 = $this.$posY | 0;
                var$14 = $this.$posZ | 0;
                var$15 = 0;
                $ptr = 3;
                continue main;
            }
            $this.$attackCounter = $this.$attackCounter + 1 | 0;
            if ($this.$attackCounter == 20) {
                $var17 = $this.$worldObj;
                $var20 = null;
                var$12 = 1008;
                var$13 = $this.$posX | 0;
                var$14 = $this.$posY | 0;
                var$15 = $this.$posZ | 0;
                var$5 = 0;
                $ptr = 4;
                continue main;
            }
        } else if ($this.$attackCounter > 0)
            $this.$attackCounter = $this.$attackCounter - 1 | 0;
        return;
    case 3:
        nms_World_playAuxSFXAtEntity($var17, $var20, var$5, var$12, var$13, var$14, var$15);
        if ($rt_suspending()) {
            break main;
        }
        $this.$attackCounter = $this.$attackCounter + 1 | 0;
        if ($this.$attackCounter != 20)
            return;
        $var17 = $this.$worldObj;
        $var20 = null;
        var$12 = 1008;
        var$13 = $this.$posX | 0;
        var$14 = $this.$posY | 0;
        var$15 = $this.$posZ | 0;
        var$5 = 0;
        $ptr = 4;
    case 4:
        nms_World_playAuxSFXAtEntity($var17, $var20, var$12, var$13, var$14, var$15, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var17 = new nms_EntityLargeFireball;
        nms_EntityFireball__init_($var17, $this.$worldObj, $this, $var11, $var13, $var15);
        $var17.$field_92057_e = 1;
        $var17.$field_92057_e = $this.$explosionStrength;
        $var20 = nms_EntityLiving_getLook($this, 1.0);
        $var17.$posX = $this.$posX + $var20.$xCoord * 4.0;
        $var17.$posY = $this.$posY + $this.$height0 / 2.0 + 0.5;
        $var17.$posZ = $this.$posZ + $var20.$zCoord * 4.0;
        nms_WorldClient_spawnEntityInWorld($this.$worldObj, $var17);
        $this.$attackCounter = (-40);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var3, $var5, $var7, var$5, $var11, $var13, $var15, var$9, $var17, $var20, var$12, var$13, var$14, var$15, $ptr);
}
function nms_EntityGhast_isCourseTraversable($this, $par1, $par3, $par5, $par7) {
    var $var9, $var11, $var13, $var15, $var16, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$par7 = $thread.pop();$par5 = $thread.pop();$par3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var9 = ($this.$waypointX - $this.$posX) / $par7;
        $var11 = ($this.$waypointY - $this.$posY) / $par7;
        $var13 = ($this.$waypointZ - $this.$posZ) / $par7;
        $var15 = nms_AxisAlignedBB_copy($this.$boundingBox);
        $var16 = 1;
        if ($var16 >= $par7)
            return 1;
        nms_AxisAlignedBB_offset($var15, $var9, $var11, $var13);
        var$10 = $this.$worldObj;
        $ptr = 1;
    case 1:
        $tmp = nms_World_getCollidingBoundingBoxes(var$10, $this, $var15);
        if ($rt_suspending()) {
            break main;
        }
        var$10 = $tmp;
        if (!ju_AbstractCollection_isEmpty(var$10))
            return 0;
        $var16 = $var16 + 1 | 0;
        if ($var16 >= $par7)
            return 1;
        nms_AxisAlignedBB_offset($var15, $var9, $var11, $var13);
        var$10 = $this.$worldObj;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par3, $par5, $par7, $var9, $var11, $var13, $var15, $var16, var$10, $ptr);
}
function nms_EntityGhast_getLivingSound($this) {
    return $rt_s(1655);
}
function nms_EntityGhast_getHurtSound($this) {
    return $rt_s(1656);
}
function nms_EntityGhast_getDeathSound($this) {
    return $rt_s(1657);
}
function nms_EntityGhast_getSoundVolume($this) {
    return 10.0;
}
function nms_RenderGhast() {
    nms_RenderLiving.call(this);
}
var nms_RenderGhast_entityTexture0 = null;
var nms_RenderGhast_entityTexture1 = null;
function nms_RenderGhast__init_0() {
    var var_0 = new nms_RenderGhast();
    nms_RenderGhast__init_(var_0);
    return var_0;
}
function nms_RenderGhast__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelGhast__init_0(), 0.5);
}
function nms_RenderGhast_preRenderGhast($this, $par1EntityGhast, $par2) {
    var $var4, $var5, $var6;
    $var4 = ($par1EntityGhast.$prevAttackCounter + ($par1EntityGhast.$attackCounter - $par1EntityGhast.$prevAttackCounter | 0) * $par2) / 20.0;
    if ($var4 < 0.0)
        $var4 = 0.0;
    $par2 = 1.0 / ($var4 * $var4 * $var4 * $var4 * $var4 * 2.0 + 1.0);
    $var5 = (8.0 + $par2) / 2.0;
    $var6 = (8.0 + 1.0 / $par2) / 2.0;
    nleg_EaglerAdapterGL30_glScalef($var6, $var5, $var6);
    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
}
function nms_RenderGhast_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderGhast_preRenderGhast($this, $par1EntityLiving, $par2);
}
function nms_RenderGhast_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_DataWatcher_getWatchableObjectByte($par1EntityLiving.$dataWatcher, 16) != 1) {
            $par1EntityLiving = nms_RenderGhast_entityTexture0;
            $ptr = 1;
            continue main;
        }
        $par1EntityLiving = nms_RenderGhast_entityTexture1;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderGhast__clinit_() {
    nms_RenderGhast_entityTexture0 = nle_TextureLocation__init_($rt_s(1658));
    nms_RenderGhast_entityTexture1 = nle_TextureLocation__init_($rt_s(1659));
}
function nms_EntityWaterMob() {
    nms_EntityCreature.call(this);
}
function nms_EntityWaterMob_canBreatheUnderwater($this) {
    return 1;
}
function nms_EntityWaterMob_getTalkInterval($this) {
    return 120;
}
function nms_EntityWaterMob_canDespawn($this) {
    return 1;
}
function nms_EntityWaterMob_onEntityUpdate($this) {
    var $var1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = nms_Entity_getAir($this);
        $ptr = 1;
    case 1:
        a: {
            nms_EntityLiving_onEntityUpdate($this);
            if ($rt_suspending()) {
                break main;
            }
            if (nms_EntityLiving_isEntityAlive($this)) {
                nms_Material_$callClinit();
                if (!nms_Entity_isInsideOfMaterial($this, nms_Material_water)) {
                    nms_Entity_setAir($this, $var1 + (-1) | 0);
                    if (nms_Entity_getAir($this) != (-20))
                        break a;
                    nms_Entity_setAir($this, 0);
                    break a;
                }
            }
            nms_Entity_setAir($this, 300);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $ptr);
}
function nms_EntitySquid() {
    var a = this; nms_EntityWaterMob.call(a);
    a.$squidPitch = 0.0;
    a.$prevSquidPitch = 0.0;
    a.$squidYaw = 0.0;
    a.$prevSquidYaw = 0.0;
    a.$field_70867_h = 0.0;
    a.$field_70868_i = 0.0;
    a.$tentacleAngle = 0.0;
    a.$prevTentacleAngle = 0.0;
    a.$randomMotionSpeed = 0.0;
    a.$field_70864_bA = 0.0;
    a.$field_70871_bB = 0.0;
    a.$randomMotionVecX = 0.0;
    a.$randomMotionVecY = 0.0;
    a.$randomMotionVecZ = 0.0;
}
function nms_EntitySquid__init_0() {
    var var_0 = new nms_EntitySquid();
    nms_EntitySquid__init_(var_0);
    return var_0;
}
function nms_EntitySquid__init_($this) {
    nms_EntityCreature__init_0($this);
    $this.$squidPitch = 0.0;
    $this.$prevSquidPitch = 0.0;
    $this.$squidYaw = 0.0;
    $this.$prevSquidYaw = 0.0;
    $this.$field_70867_h = 0.0;
    $this.$field_70868_i = 0.0;
    $this.$tentacleAngle = 0.0;
    $this.$prevTentacleAngle = 0.0;
    $this.$randomMotionSpeed = 0.0;
    $this.$field_70864_bA = 0.0;
    $this.$field_70871_bB = 0.0;
    $this.$randomMotionVecX = 0.0;
    $this.$randomMotionVecY = 0.0;
    $this.$randomMotionVecZ = 0.0;
    nms_Entity_setSize($this, 0.949999988079071, 0.949999988079071);
    $this.$field_70864_bA = 1.0 / (nle_EaglercraftRandom_nextFloat($this.$rand0) + 1.0) * 0.20000000298023224;
}
function nms_EntitySquid_getMaxHealth($this) {
    return 10;
}
function nms_EntitySquid_getLivingSound($this) {
    return null;
}
function nms_EntitySquid_getHurtSound($this) {
    return null;
}
function nms_EntitySquid_getDeathSound($this) {
    return null;
}
function nms_EntitySquid_getSoundVolume($this) {
    return 0.4000000059604645;
}
function nms_EntitySquid_isInWater($this) {
    var var$1, var$2;
    var$1 = $this.$worldObj;
    var$2 = nms_AxisAlignedBB_expand($this.$boundingBox, 0.0, (-0.6000000238418579), 0.0);
    nms_Material_$callClinit();
    return nms_World_handleMaterialAcceleration(var$1, var$2, nms_Material_water, $this);
}
function nms_EntitySquid_onLivingUpdate($this) {
    var $var1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityLiving_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$prevSquidPitch = $this.$squidPitch;
        $this.$prevSquidYaw = $this.$squidYaw;
        $this.$field_70868_i = $this.$field_70867_h;
        $this.$prevTentacleAngle = $this.$tentacleAngle;
        $this.$field_70867_h = $this.$field_70867_h + $this.$field_70864_bA;
        if ($this.$field_70867_h > 6.2831854820251465) {
            $this.$field_70867_h = $this.$field_70867_h - 6.2831854820251465;
            if (!nle_EaglercraftRandom_nextInt($this.$rand0, 10))
                $this.$field_70864_bA = 1.0 / (nle_EaglercraftRandom_nextFloat($this.$rand0) + 1.0) * 0.20000000298023224;
        }
        if (!nms_EntitySquid_isInWater($this)) {
            $this.$tentacleAngle = nms_MathHelper_abs(nms_MathHelper_sin($this.$field_70867_h)) * 3.1415927410125732 * 0.25;
            $this.$squidPitch = $this.$squidPitch + ((-90.0) - $this.$squidPitch) * 0.02;
        } else {
            if ($this.$field_70867_h >= 3.1415927410125732) {
                $this.$tentacleAngle = 0.0;
                $this.$randomMotionSpeed = $this.$randomMotionSpeed * 0.8999999761581421;
                $this.$field_70871_bB = $this.$field_70871_bB * 0.9900000095367432;
            } else {
                $var1 = $this.$field_70867_h / 3.1415927410125732;
                $this.$tentacleAngle = nms_MathHelper_sin($var1 * $var1 * 3.1415927410125732) * 3.1415927410125732 * 0.25;
                if ($var1 <= 0.75)
                    $this.$field_70871_bB = $this.$field_70871_bB * 0.800000011920929;
                else {
                    $this.$randomMotionSpeed = 1.0;
                    $this.$field_70871_bB = 1.0;
                }
            }
            $var1 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
            $this.$renderYawOffset = $this.$renderYawOffset + ( -jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.1415927410125732 - $this.$renderYawOffset) * 0.10000000149011612;
            $this.$rotationYaw = $this.$renderYawOffset;
            $this.$squidYaw = $this.$squidYaw + 3.1415927410125732 * $this.$field_70871_bB * 1.5;
            $this.$squidPitch = $this.$squidPitch + ( -jl_Math_atan2($var1, $this.$motionY) * 180.0 / 3.1415927410125732 - $this.$squidPitch) * 0.10000000149011612;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $ptr);
}
function nms_EntitySquid_moveEntityWithHeading($this, $par1, $par2) {
    var var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$motionX;
        var$4 = $this.$motionY;
        var$5 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$3, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, var$5, $ptr);
}
function nms_EntitySquid_updateEntityActionState($this) {
    var $var1;
    a: {
        $this.$entityAge = $this.$entityAge + 1 | 0;
        if ($this.$entityAge > 100) {
            $this.$randomMotionVecZ = 0.0;
            $this.$randomMotionVecY = 0.0;
            $this.$randomMotionVecX = 0.0;
        } else {
            if (nle_EaglercraftRandom_nextInt($this.$rand0, 50) && $this.$inWater) {
                if ($this.$randomMotionVecX !== 0.0)
                    break a;
                if ($this.$randomMotionVecY !== 0.0)
                    break a;
                if ($this.$randomMotionVecZ !== 0.0)
                    break a;
            }
            $var1 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.1415927410125732 * 2.0;
            $this.$randomMotionVecX = nms_MathHelper_cos($var1) * 0.20000000298023224;
            $this.$randomMotionVecY = (-0.10000000149011612) + nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$randomMotionVecZ = nms_MathHelper_sin($var1) * 0.20000000298023224;
        }
    }
    nms_EntityLiving_despawnEntity($this);
}
function nms_RenderSquid() {
    nms_RenderLiving.call(this);
}
var nms_RenderSquid_entityTexture = null;
function nms_RenderSquid__init_(var_0, var_1) {
    var var_2 = new nms_RenderSquid();
    nms_RenderSquid__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_RenderSquid__init_0($this, $par1ModelBase, $par2) {
    nms_RenderLiving__init_0($this, $par1ModelBase, $par2);
}
function nms_RenderSquid_renderLivingSquid($this, $par1EntitySquid, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntitySquid = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntitySquid, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntitySquid, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderSquid_rotateSquidsCorpse($this, $par1EntitySquid, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $par1EntitySquid.$prevSquidPitch + ($par1EntitySquid.$squidPitch - $par1EntitySquid.$prevSquidPitch) * $par4;
    $var6 = $par1EntitySquid.$prevSquidYaw + ($par1EntitySquid.$squidYaw - $par1EntitySquid.$prevSquidYaw) * $par4;
    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.5, 0.0);
    nleg_EaglerAdapterGL30_glRotatef(180.0 - $par3, 0.0, 1.0, 0.0);
    nleg_EaglerAdapterGL30_glRotatef($var5, 1.0, 0.0, 0.0);
    nleg_EaglerAdapterGL30_glRotatef($var6, 0.0, 1.0, 0.0);
    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-1.2000000476837158), 0.0);
}
function nms_RenderSquid_handleRotationFloat($this, $par1EntitySquid, $par2) {
    return $par1EntitySquid.$prevTentacleAngle + ($par1EntitySquid.$tentacleAngle - $par1EntitySquid.$prevTentacleAngle) * $par2;
}
function nms_RenderSquid_handleRotationFloat0($this, $par1EntityLiving, $par2) {
    return nms_RenderSquid_handleRotationFloat($this, $par1EntityLiving, $par2);
}
function nms_RenderSquid_rotateCorpse($this, $par1EntityLiving, $par2, $par3, $par4) {
    nms_RenderSquid_rotateSquidsCorpse($this, $par1EntityLiving, $par2, $par3, $par4);
}
function nms_RenderSquid_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderSquid_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderSquid_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderSquid_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderSquid__clinit_() {
    nms_RenderSquid_entityTexture = nle_TextureLocation__init_($rt_s(1660));
}
function nms_ModelSquid() {
    var a = this; nms_ModelBase.call(a);
    a.$squidBody = null;
    a.$squidTentacles = null;
}
function nms_ModelSquid__init_0() {
    var var_0 = new nms_ModelSquid();
    nms_ModelSquid__init_(var_0);
    return var_0;
}
function nms_ModelSquid__init_($this) {
    var var$1, $var2, var$3, $var3, $var5, $var6;
    nms_ModelBase__init_0($this);
    $this.$squidTentacles = $rt_createArray(nms_ModelRenderer, 8);
    $this.$squidBody = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox0($this.$squidBody, (-6.0), (-8.0), (-6.0), 12, 16, 12);
    var$1 = $this.$squidBody;
    var$1.$rotationPointY = var$1.$rotationPointY + 8.0;
    $var2 = 0;
    while ($var2 < $this.$squidTentacles.data.length) {
        $this.$squidTentacles.data[$var2] = nms_ModelRenderer__init_($this, 48, 0);
        var$3 = $var2 * 3.141592653589793;
        $var3 = var$3 * 2.0 / $this.$squidTentacles.data.length;
        $var5 = jl_Math_cos($var3) * 5.0;
        $var6 = jl_Math_sin($var3) * 5.0;
        nms_ModelRenderer_addBox0($this.$squidTentacles.data[$var2], (-1.0), 0.0, (-1.0), 2, 18, 2);
        $this.$squidTentacles.data[$var2].$rotationPointX = $var5;
        $this.$squidTentacles.data[$var2].$rotationPointZ = $var6;
        $this.$squidTentacles.data[$var2].$rotationPointY = 15.0;
        var$3 = var$3 * (-2.0) / $this.$squidTentacles.data.length + 1.5707963267948966;
        $this.$squidTentacles.data[$var2].$rotateAngleY = var$3;
        $var2 = $var2 + 1 | 0;
    }
}
function nms_ModelSquid_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var8, $var9, $var10;
    $var8 = $this.$squidTentacles.data;
    $var9 = $var8.length;
    $var10 = 0;
    while ($var10 < $var9) {
        $var8[$var10].$rotateAngleX = $par3;
        $var10 = $var10 + 1 | 0;
    }
}
function nms_ModelSquid_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    nms_ModelSquid_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    nms_ModelRenderer_render($this.$squidBody, $par7);
    $var8 = 0;
    while ($var8 < $this.$squidTentacles.data.length) {
        nms_ModelRenderer_render($this.$squidTentacles.data[$var8], $par7);
        $var8 = $var8 + 1 | 0;
    }
}
function nms_INpc() {
}
function nms_IMerchant() {
}
function nms_EntityVillager() {
    var a = this; nms_EntityAgeable.call(a);
    a.$randomTickDivider = 0;
    a.$isMating = 0;
    a.$isPlaying0 = 0;
    a.$buyingPlayer = null;
    a.$buyingList = null;
    a.$timeUntilReset = 0;
    a.$needsInitilization = 0;
    a.$field_82191_bN = 0.0;
}
var nms_EntityVillager_villagerStockList = null;
var nms_EntityVillager_blacksmithSellingList = null;
function nms_EntityVillager_$callClinit() {
    nms_EntityVillager_$callClinit = $rt_eraseClinit(nms_EntityVillager);
    nms_EntityVillager__clinit_();
}
function nms_EntityVillager__init_0() {
    var var_0 = new nms_EntityVillager();
    nms_EntityVillager__init_(var_0);
    return var_0;
}
function nms_EntityVillager__init_($this) {
    nms_EntityVillager_$callClinit();
    nms_EntityAgeable__init_0($this);
    $this.$randomTickDivider = 0;
    $this.$isMating = 0;
    $this.$isPlaying0 = 0;
    nms_EntityVillager_setProfession($this, 0);
    $this.$moveSpeed = 0.5;
    nms_EntityAgeable_setSize($this, 0.6000000238418579, 1.7999999523162842);
}
function nms_EntityVillager_isAIEnabled($this) {
    return 1;
}
function nms_EntityVillager_updateAITick($this) {
    var $var3, $var2;
    if (!nms_EntityVillager_isTrading($this) && $this.$timeUntilReset > 0) {
        $this.$timeUntilReset = $this.$timeUntilReset - 1 | 0;
        if ($this.$timeUntilReset <= 0) {
            if ($this.$needsInitilization) {
                a: {
                    if ($this.$buyingList.$size > 1) {
                        $var3 = ju_AbstractList_iterator($this.$buyingList);
                        while (true) {
                            if (!ju_AbstractList$1_hasNext($var3))
                                break a;
                            $var2 = ju_AbstractList$1_next($var3);
                            if (nms_MerchantRecipe_func_82784_g($var2))
                                nms_MerchantRecipe_func_82783_a($var2, (nle_EaglercraftRandom_nextInt($this.$rand0, 6) + nle_EaglercraftRandom_nextInt($this.$rand0, 6) | 0) + 2 | 0);
                        }
                    }
                }
                nms_EntityVillager_addDefaultEquipmentAndRecipies($this, 1);
                $this.$needsInitilization = 0;
            }
            nms_EntityLiving_addPotionEffect($this, nms_PotionEffect__init_(nms_Potion_regeneration.$id5, 200, 0));
        }
    }
}
function nms_EntityVillager_interact($this, $par1EntityPlayer) {
    var $var2, $var3;
    a: {
        $var2 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
        if ($var2 !== null) {
            $var3 = $var2.$itemID0;
            nms_Item_$callClinit();
            if ($var3 == nms_Item_monsterPlacer.$itemID) {
                $var3 = 1;
                break a;
            }
        }
        $var3 = 0;
    }
    if (!$var3 && nms_EntityLiving_isEntityAlive($this) && !nms_EntityVillager_isTrading($this) && !nms_EntityAgeable_isChild($this))
        return 1;
    return 0;
}
function nms_EntityVillager_entityInit($this) {
    nms_EntityAgeable_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Integer_valueOf(0));
}
function nms_EntityVillager_getMaxHealth($this) {
    return 20;
}
function nms_EntityVillager_canDespawn($this) {
    return 0;
}
function nms_EntityVillager_getLivingSound($this) {
    return $rt_s(1661);
}
function nms_EntityVillager_getHurtSound($this) {
    return $rt_s(1662);
}
function nms_EntityVillager_getDeathSound($this) {
    return $rt_s(1663);
}
function nms_EntityVillager_setProfession($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Integer_valueOf($par1));
}
function nms_EntityVillager_getProfession($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 16);
}
function nms_EntityVillager_setRevengeTarget($this, $par1EntityLiving) {
    nms_EntityLiving_setRevengeTarget($this, $par1EntityLiving);
}
function nms_EntityVillager_onDeath($this, $par1DamageSource) {
    nms_EntityLiving_onDeath($this, $par1DamageSource);
}
function nms_EntityVillager_isTrading($this) {
    return $this.$buyingPlayer === null ? 0 : 1;
}
function nms_EntityVillager_func_82188_j($this, $par1) {
    var $var2;
    $var2 = $par1 + $this.$field_82191_bN;
    if ($var2 > 0.8999999761581421)
        $var2 = 0.8999999761581421 - ($var2 - 0.8999999761581421);
    return $var2;
}
function nms_EntityVillager_addDefaultEquipmentAndRecipies($this, $par1) {
    var $var2, $var8, $var10, $var11, $var6, $var3, $var5, $var7, $var9;
    if ($this.$buyingList === null)
        $this.$field_82191_bN = 0.0;
    else
        $this.$field_82191_bN = nms_MathHelper_sqrt_float(ju_ArrayList_size($this.$buyingList)) * 0.20000000298023224;
    a: {
        b: {
            $var2 = nms_MerchantRecipeList__init_0();
            switch (nms_EntityVillager_getProfession($this)) {
                case 0:
                    break b;
                case 1:
                    nms_Item_$callClinit();
                    nms_EntityVillager_addMerchantItem($var2, nms_Item_paper.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.800000011920929));
                    nms_EntityVillager_addMerchantItem($var2, nms_Item_book.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.800000011920929));
                    nms_EntityVillager_addMerchantItem($var2, nms_Item_writtenBook.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
                    nms_Block_$callClinit();
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Block_bookShelf.$blockID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.800000011920929));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Block_glass.$blockID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_compass.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_pocketSundial.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    if (nle_EaglercraftRandom_nextFloat($this.$rand0) >= nms_EntityVillager_func_82188_j($this, 0.07000000029802322))
                        break a;
                    nms_Enchantment_$callClinit();
                    $var8 = nms_Enchantment_field_92090_c.data[nle_EaglercraftRandom_nextInt($this.$rand0, nms_Enchantment_field_92090_c.data.length)];
                    $var10 = nms_MathHelper_getRandomIntegerInRange($this.$rand0, nms_Enchantment_getMinLevel($var8), $var8.$getMaxLevel());
                    $var11 = nms_ItemEnchantedBook_func_92111_a(nms_Item_enchantedBook, nms_EnchantmentData__init_($var8, $var10));
                    $var6 = (2 + nle_EaglercraftRandom_nextInt($this.$rand0, 5 + ($var10 * 10 | 0) | 0) | 0) + (3 * $var10 | 0) | 0;
                    ju_ArrayList_add($var2, nms_MerchantRecipe__init_(nms_ItemStack__init_5(nms_Item_book), nms_ItemStack__init_8(nms_Item_emerald, $var6), $var11));
                    break a;
                case 2:
                    nms_Item_$callClinit();
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_eyeOfEnder.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_expBottle.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_redstone.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.4000000059604645));
                    nms_Block_$callClinit();
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Block_glowStone.$blockID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
                    $var3 = $rt_createIntArray(8).data;
                    $var3[0] = nms_Item_swordIron.$itemID;
                    $var3[1] = nms_Item_swordDiamond.$itemID;
                    $var3[2] = nms_Item_plateIron.$itemID;
                    $var3[3] = nms_Item_plateDiamond.$itemID;
                    $var3[4] = nms_Item_axeIron.$itemID;
                    $var3[5] = nms_Item_axeDiamond.$itemID;
                    $var3[6] = nms_Item_pickaxeIron.$itemID;
                    $var3[7] = nms_Item_pickaxeDiamond.$itemID;
                    $var5 = $var3.length;
                    $var6 = 0;
                    while ($var6 < $var5) {
                        $var7 = $var3[$var6];
                        if (nle_EaglercraftRandom_nextFloat($this.$rand0) < nms_EntityVillager_func_82188_j($this, 0.05000000074505806))
                            ju_ArrayList_add($var2, nms_MerchantRecipe__init_(nms_ItemStack__init_0($var7, 1, 0), nms_ItemStack__init_4(nms_Item_emerald, 2 + nle_EaglercraftRandom_nextInt($this.$rand0, 3) | 0, 0), nms_EnchantmentHelper_addRandomEnchantment($this.$rand0, nms_ItemStack__init_0($var7, 1, 0), 5 + nle_EaglercraftRandom_nextInt($this.$rand0, 15) | 0)));
                        $var6 = $var6 + 1 | 0;
                    }
                    break a;
                case 3:
                    nms_Item_$callClinit();
                    nms_EntityVillager_addMerchantItem($var2, nms_Item_coal.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.699999988079071));
                    nms_EntityVillager_addMerchantItem($var2, nms_Item_ingotIron.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
                    nms_EntityVillager_addMerchantItem($var2, nms_Item_ingotGold.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
                    nms_EntityVillager_addMerchantItem($var2, nms_Item_diamond.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_swordIron.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_swordDiamond.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_axeIron.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_axeDiamond.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_pickaxeIron.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_pickaxeDiamond.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_shovelIron.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_shovelDiamond.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_hoeIron.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_hoeDiamond.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_bootsIron.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_bootsDiamond.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_helmetIron.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_helmetDiamond.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_plateIron.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_plateDiamond.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_legsIron.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_legsDiamond.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.20000000298023224));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_bootsChain.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.10000000149011612));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_helmetChain.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.10000000149011612));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_plateChain.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.10000000149011612));
                    nms_EntityVillager_addBlacksmithItem($var2, nms_Item_legsChain.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.10000000149011612));
                    break a;
                case 4:
                    break;
                default:
                    break a;
            }
            nms_Item_$callClinit();
            nms_EntityVillager_addMerchantItem($var2, nms_Item_coal.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.699999988079071));
            nms_EntityVillager_addMerchantItem($var2, nms_Item_porkRaw.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
            nms_EntityVillager_addMerchantItem($var2, nms_Item_beefRaw.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
            nms_EntityVillager_addBlacksmithItem($var2, nms_Item_saddle.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.10000000149011612));
            nms_EntityVillager_addBlacksmithItem($var2, nms_Item_plateLeather.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
            nms_EntityVillager_addBlacksmithItem($var2, nms_Item_bootsLeather.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
            nms_EntityVillager_addBlacksmithItem($var2, nms_Item_helmetLeather.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
            nms_EntityVillager_addBlacksmithItem($var2, nms_Item_legsLeather.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
            nms_EntityVillager_addBlacksmithItem($var2, nms_Item_porkCooked.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
            nms_EntityVillager_addBlacksmithItem($var2, nms_Item_beefCooked.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
            break a;
        }
        nms_Item_$callClinit();
        nms_EntityVillager_addMerchantItem($var2, nms_Item_wheat.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.8999999761581421));
        nms_Block_$callClinit();
        nms_EntityVillager_addMerchantItem($var2, nms_Block_cloth.$blockID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
        nms_EntityVillager_addMerchantItem($var2, nms_Item_chickenRaw.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
        nms_EntityVillager_addMerchantItem($var2, nms_Item_fishCooked.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.4000000059604645));
        nms_EntityVillager_addBlacksmithItem($var2, nms_Item_bread.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.8999999761581421));
        nms_EntityVillager_addBlacksmithItem($var2, nms_Item_melon.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
        nms_EntityVillager_addBlacksmithItem($var2, nms_Item_appleRed.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
        nms_EntityVillager_addBlacksmithItem($var2, nms_Item_cookie.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
        nms_EntityVillager_addBlacksmithItem($var2, nms_Item_shears.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
        nms_EntityVillager_addBlacksmithItem($var2, nms_Item_flintAndSteel.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
        nms_EntityVillager_addBlacksmithItem($var2, nms_Item_chickenCooked.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.30000001192092896));
        nms_EntityVillager_addBlacksmithItem($var2, nms_Item_arrow.$itemID, $this.$rand0, nms_EntityVillager_func_82188_j($this, 0.5));
        if (nle_EaglercraftRandom_nextFloat($this.$rand0) < nms_EntityVillager_func_82188_j($this, 0.5))
            ju_ArrayList_add($var2, nms_MerchantRecipe__init_(nms_ItemStack__init_9(nms_Block_gravel, 10), nms_ItemStack__init_5(nms_Item_emerald), nms_ItemStack__init_0(nms_Item_flint.$itemID, 4 + nle_EaglercraftRandom_nextInt($this.$rand0, 2) | 0, 0)));
    }
    if (ju_AbstractCollection_isEmpty($var2)) {
        nms_Item_$callClinit();
        nms_EntityVillager_addMerchantItem($var2, nms_Item_ingotGold.$itemID, $this.$rand0, 1.0);
    }
    ju_Collections_shuffle($var2);
    if ($this.$buyingList === null)
        $this.$buyingList = nms_MerchantRecipeList__init_0();
    $var9 = 0;
    while ($var9 < $par1 && $var9 < ju_ArrayList_size($var2)) {
        nms_MerchantRecipeList_addToListWithCheck($this.$buyingList, ju_ArrayList_get($var2, $var9));
        $var9 = $var9 + 1 | 0;
    }
}
function nms_EntityVillager_addMerchantItem($par0MerchantRecipeList, $par1, $par2Random, $par3) {
    var var$5, var$6, var$7;
    nms_EntityVillager_$callClinit();
    if (nle_EaglercraftRandom_nextFloat($par2Random) < $par3) {
        var$5 = new nms_MerchantRecipe;
        var$6 = new nms_ItemStack;
        var$7 = ju_HashMap_get(nms_EntityVillager_villagerStockList, jl_Integer_valueOf($par1));
        nms_ItemStack__init_10(var$6, $par1, var$7 === null ? 1 : var$7.$first0.$value >= var$7.$second.$value ? var$7.$first0.$value : var$7.$first0.$value + nle_EaglercraftRandom_nextInt($par2Random, var$7.$second.$value - var$7.$first0.$value | 0) | 0, 0);
        nms_Item_$callClinit();
        nms_MerchantRecipe__init_0(var$5, var$6, nms_ItemStack__init_5(nms_Item_emerald));
        ju_ArrayList_add($par0MerchantRecipeList, var$5);
    }
}
function nms_EntityVillager_addBlacksmithItem($par0MerchantRecipeList, $par1, $par2Random, $par3) {
    var $var5, $var4, $var6;
    nms_EntityVillager_$callClinit();
    if (nle_EaglercraftRandom_nextFloat($par2Random) < $par3) {
        $var5 = ju_HashMap_get(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf($par1));
        $var4 = $var5 === null ? 1 : $var5.$first0.$value >= $var5.$second.$value ? $var5.$first0.$value : $var5.$first0.$value + nle_EaglercraftRandom_nextInt($par2Random, $var5.$second.$value - $var5.$first0.$value | 0) | 0;
        if ($var4 >= 0) {
            $var5 = new nms_ItemStack;
            nms_Item_$callClinit();
            nms_ItemStack__init_10($var5, nms_Item_emerald.$itemID, $var4, 0);
            $var6 = nms_ItemStack__init_0($par1, 1, 0);
        } else {
            $var5 = new nms_ItemStack;
            nms_Item_$callClinit();
            nms_ItemStack__init_10($var5, nms_Item_emerald.$itemID, 1, 0);
            $var6 = nms_ItemStack__init_0($par1,  -$var4, 0);
        }
        ju_ArrayList_add($par0MerchantRecipeList, nms_MerchantRecipe__init_1($var5, $var6));
    }
}
function nms_EntityVillager_handleHealthUpdate($this, $par1) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 == 12) {
            var$2 = $rt_s(1181);
            $ptr = 1;
            continue main;
        }
        if ($par1 == 13) {
            var$2 = $rt_s(1182);
            $ptr = 2;
            continue main;
        }
        if ($par1 != 14) {
            $ptr = 3;
            continue main;
        }
        var$2 = $rt_s(1183);
        $ptr = 4;
        continue main;
    case 1:
        nms_EntityVillager_generateRandomParticles($this, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_EntityVillager_generateRandomParticles($this, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_EntityLiving_handleHealthUpdate($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_EntityVillager_generateRandomParticles($this, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, $ptr);
}
function nms_EntityVillager_generateRandomParticles($this, $par1Str) {
    var $var2, $var3, $var5, $var7, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Str = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = 0;
        if ($var2 >= 5)
            return;
        $var3 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var5 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var7 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        var$6 = $this.$worldObj;
        var$7 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        var$8 = $this.$posY + 1.0 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
        var$9 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle(var$6, $par1Str, var$7, var$8, var$9, $var3, $var5, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $var2 + 1 | 0;
        if ($var2 >= 5)
            return;
        $var3 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var5 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        $var7 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.02;
        var$6 = $this.$worldObj;
        var$7 = $this.$posX + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        var$8 = $this.$posY + 1.0 + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$height0;
        var$9 = $this.$posZ + nle_EaglercraftRandom_nextFloat($this.$rand0) * $this.$width0 * 2.0 - $this.$width0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Str, $var2, $var3, $var5, $var7, var$6, var$7, var$8, var$9, $ptr);
}
function nms_EntityVillager__clinit_() {
    var var$1, var$2;
    nms_EntityVillager_villagerStockList = ju_HashMap__init_();
    nms_EntityVillager_blacksmithSellingList = ju_HashMap__init_();
    var$1 = nms_EntityVillager_villagerStockList;
    nms_Item_$callClinit();
    ju_HashMap_put(var$1, jl_Integer_valueOf(nms_Item_coal.$itemID), nms_Tuple__init_(jl_Integer_valueOf(16), jl_Integer_valueOf(24)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_ingotIron.$itemID), nms_Tuple__init_(jl_Integer_valueOf(8), jl_Integer_valueOf(10)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_ingotGold.$itemID), nms_Tuple__init_(jl_Integer_valueOf(8), jl_Integer_valueOf(10)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_diamond.$itemID), nms_Tuple__init_(jl_Integer_valueOf(4), jl_Integer_valueOf(6)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_paper.$itemID), nms_Tuple__init_(jl_Integer_valueOf(24), jl_Integer_valueOf(36)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_book.$itemID), nms_Tuple__init_(jl_Integer_valueOf(11), jl_Integer_valueOf(13)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_writtenBook.$itemID), nms_Tuple__init_(jl_Integer_valueOf(1), jl_Integer_valueOf(1)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_enderPearl.$itemID), nms_Tuple__init_(jl_Integer_valueOf(3), jl_Integer_valueOf(4)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_eyeOfEnder.$itemID), nms_Tuple__init_(jl_Integer_valueOf(2), jl_Integer_valueOf(3)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_porkRaw.$itemID), nms_Tuple__init_(jl_Integer_valueOf(14), jl_Integer_valueOf(18)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_beefRaw.$itemID), nms_Tuple__init_(jl_Integer_valueOf(14), jl_Integer_valueOf(18)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_chickenRaw.$itemID), nms_Tuple__init_(jl_Integer_valueOf(14), jl_Integer_valueOf(18)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_fishCooked.$itemID), nms_Tuple__init_(jl_Integer_valueOf(9), jl_Integer_valueOf(13)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_seeds.$itemID), nms_Tuple__init_(jl_Integer_valueOf(34), jl_Integer_valueOf(48)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_melonSeeds.$itemID), nms_Tuple__init_(jl_Integer_valueOf(30), jl_Integer_valueOf(38)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_pumpkinSeeds.$itemID), nms_Tuple__init_(jl_Integer_valueOf(30), jl_Integer_valueOf(38)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_wheat.$itemID), nms_Tuple__init_(jl_Integer_valueOf(18), jl_Integer_valueOf(22)));
    var$2 = nms_EntityVillager_villagerStockList;
    nms_Block_$callClinit();
    ju_HashMap_put(var$2, jl_Integer_valueOf(nms_Block_cloth.$blockID), nms_Tuple__init_(jl_Integer_valueOf(14), jl_Integer_valueOf(22)));
    ju_HashMap_put(nms_EntityVillager_villagerStockList, jl_Integer_valueOf(nms_Item_rottenFlesh.$itemID), nms_Tuple__init_(jl_Integer_valueOf(36), jl_Integer_valueOf(64)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_flintAndSteel.$itemID), nms_Tuple__init_(jl_Integer_valueOf(3), jl_Integer_valueOf(4)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_shears.$itemID), nms_Tuple__init_(jl_Integer_valueOf(3), jl_Integer_valueOf(4)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_swordIron.$itemID), nms_Tuple__init_(jl_Integer_valueOf(7), jl_Integer_valueOf(11)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_swordDiamond.$itemID), nms_Tuple__init_(jl_Integer_valueOf(12), jl_Integer_valueOf(14)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_axeIron.$itemID), nms_Tuple__init_(jl_Integer_valueOf(6), jl_Integer_valueOf(8)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_axeDiamond.$itemID), nms_Tuple__init_(jl_Integer_valueOf(9), jl_Integer_valueOf(12)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_pickaxeIron.$itemID), nms_Tuple__init_(jl_Integer_valueOf(7), jl_Integer_valueOf(9)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_pickaxeDiamond.$itemID), nms_Tuple__init_(jl_Integer_valueOf(10), jl_Integer_valueOf(12)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_shovelIron.$itemID), nms_Tuple__init_(jl_Integer_valueOf(4), jl_Integer_valueOf(6)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_shovelDiamond.$itemID), nms_Tuple__init_(jl_Integer_valueOf(7), jl_Integer_valueOf(8)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_hoeIron.$itemID), nms_Tuple__init_(jl_Integer_valueOf(4), jl_Integer_valueOf(6)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_hoeDiamond.$itemID), nms_Tuple__init_(jl_Integer_valueOf(7), jl_Integer_valueOf(8)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_bootsIron.$itemID), nms_Tuple__init_(jl_Integer_valueOf(4), jl_Integer_valueOf(6)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_bootsDiamond.$itemID), nms_Tuple__init_(jl_Integer_valueOf(7), jl_Integer_valueOf(8)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_helmetIron.$itemID), nms_Tuple__init_(jl_Integer_valueOf(4), jl_Integer_valueOf(6)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_helmetDiamond.$itemID), nms_Tuple__init_(jl_Integer_valueOf(7), jl_Integer_valueOf(8)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_plateIron.$itemID), nms_Tuple__init_(jl_Integer_valueOf(10), jl_Integer_valueOf(14)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_plateDiamond.$itemID), nms_Tuple__init_(jl_Integer_valueOf(16), jl_Integer_valueOf(19)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_legsIron.$itemID), nms_Tuple__init_(jl_Integer_valueOf(8), jl_Integer_valueOf(10)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_legsDiamond.$itemID), nms_Tuple__init_(jl_Integer_valueOf(11), jl_Integer_valueOf(14)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_bootsChain.$itemID), nms_Tuple__init_(jl_Integer_valueOf(5), jl_Integer_valueOf(7)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_helmetChain.$itemID), nms_Tuple__init_(jl_Integer_valueOf(5), jl_Integer_valueOf(7)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_plateChain.$itemID), nms_Tuple__init_(jl_Integer_valueOf(11), jl_Integer_valueOf(15)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_legsChain.$itemID), nms_Tuple__init_(jl_Integer_valueOf(9), jl_Integer_valueOf(11)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_bread.$itemID), nms_Tuple__init_(jl_Integer_valueOf((-4)), jl_Integer_valueOf((-2))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_melon.$itemID), nms_Tuple__init_(jl_Integer_valueOf((-8)), jl_Integer_valueOf((-4))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_appleRed.$itemID), nms_Tuple__init_(jl_Integer_valueOf((-8)), jl_Integer_valueOf((-4))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_cookie.$itemID), nms_Tuple__init_(jl_Integer_valueOf((-10)), jl_Integer_valueOf((-7))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Block_glass.$blockID), nms_Tuple__init_(jl_Integer_valueOf((-5)), jl_Integer_valueOf((-3))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Block_bookShelf.$blockID), nms_Tuple__init_(jl_Integer_valueOf(3), jl_Integer_valueOf(4)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_plateLeather.$itemID), nms_Tuple__init_(jl_Integer_valueOf(4), jl_Integer_valueOf(5)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_bootsLeather.$itemID), nms_Tuple__init_(jl_Integer_valueOf(2), jl_Integer_valueOf(4)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_helmetLeather.$itemID), nms_Tuple__init_(jl_Integer_valueOf(2), jl_Integer_valueOf(4)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_legsLeather.$itemID), nms_Tuple__init_(jl_Integer_valueOf(2), jl_Integer_valueOf(4)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_saddle.$itemID), nms_Tuple__init_(jl_Integer_valueOf(6), jl_Integer_valueOf(8)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_expBottle.$itemID), nms_Tuple__init_(jl_Integer_valueOf((-4)), jl_Integer_valueOf((-1))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_redstone.$itemID), nms_Tuple__init_(jl_Integer_valueOf((-4)), jl_Integer_valueOf((-1))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_compass.$itemID), nms_Tuple__init_(jl_Integer_valueOf(10), jl_Integer_valueOf(12)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_pocketSundial.$itemID), nms_Tuple__init_(jl_Integer_valueOf(10), jl_Integer_valueOf(12)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Block_glowStone.$blockID), nms_Tuple__init_(jl_Integer_valueOf((-3)), jl_Integer_valueOf((-1))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_porkCooked.$itemID), nms_Tuple__init_(jl_Integer_valueOf((-7)), jl_Integer_valueOf((-5))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_beefCooked.$itemID), nms_Tuple__init_(jl_Integer_valueOf((-7)), jl_Integer_valueOf((-5))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_chickenCooked.$itemID), nms_Tuple__init_(jl_Integer_valueOf((-8)), jl_Integer_valueOf((-6))));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_eyeOfEnder.$itemID), nms_Tuple__init_(jl_Integer_valueOf(7), jl_Integer_valueOf(11)));
    ju_HashMap_put(nms_EntityVillager_blacksmithSellingList, jl_Integer_valueOf(nms_Item_arrow.$itemID), nms_Tuple__init_(jl_Integer_valueOf((-12)), jl_Integer_valueOf((-8))));
}
function nms_RenderVillager() {
    nms_RenderLiving.call(this);
    this.$villagerModel = null;
}
var nms_RenderVillager_entityTexture0 = null;
var nms_RenderVillager_entityTexture1 = null;
var nms_RenderVillager_entityTexture2 = null;
var nms_RenderVillager_entityTexture3 = null;
var nms_RenderVillager_entityTexture4 = null;
var nms_RenderVillager_entityTexture5 = null;
function nms_RenderVillager__init_0() {
    var var_0 = new nms_RenderVillager();
    nms_RenderVillager__init_(var_0);
    return var_0;
}
function nms_RenderVillager__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelVillager__init_(0.0), 0.5);
    $this.$villagerModel = $this.$mainModel;
}
function nms_RenderVillager_shouldVillagerRenderPass($this, $par1EntityVillager, $par2, $par3) {
    return (-1);
}
function nms_RenderVillager_renderVillager($this, $par1EntityVillager, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityVillager = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityVillager, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityVillager, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderVillager_renderVillagerEquipedItems($this, $par1EntityVillager, $par2) {
    return;
}
function nms_RenderVillager_preRenderVillager($this, $par1EntityVillager, $par2) {
    var $var3;
    $var3 = 0.9375;
    if (nms_EntityAgeable_getGrowingAge($par1EntityVillager) >= 0)
        $this.$shadowSize = 0.5;
    else {
        $var3 = 0.46875;
        $this.$shadowSize = 0.25;
    }
    nleg_EaglerAdapterGL30_glScalef($var3, $var3, $var3);
}
function nms_RenderVillager_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderVillager_preRenderVillager($this, $par1EntityLiving, $par2);
}
function nms_RenderVillager_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    return (-1);
}
function nms_RenderVillager_renderEquippedItems($this, $par1EntityLiving, $par2) {
    return;
}
function nms_RenderVillager_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderVillager_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderVillager_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        switch (nms_EntityVillager_getProfession($par1EntityLiving)) {
            case 0:
                break;
            case 1:
                $par1EntityLiving = nms_RenderVillager_entityTexture1;
                $ptr = 2;
                continue main;
            case 2:
                $par1EntityLiving = nms_RenderVillager_entityTexture2;
                $ptr = 3;
                continue main;
            case 3:
                $par1EntityLiving = nms_RenderVillager_entityTexture3;
                $ptr = 4;
                continue main;
            case 4:
                $par1EntityLiving = nms_RenderVillager_entityTexture4;
                $ptr = 5;
                continue main;
            default:
                $par1EntityLiving = nms_RenderVillager_entityTexture5;
                $ptr = 6;
                continue main;
        }
        $par1EntityLiving = nms_RenderVillager_entityTexture0;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 5:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 6:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderVillager__clinit_() {
    nms_RenderVillager_entityTexture0 = nle_TextureLocation__init_($rt_s(1664));
    nms_RenderVillager_entityTexture1 = nle_TextureLocation__init_($rt_s(1665));
    nms_RenderVillager_entityTexture2 = nle_TextureLocation__init_($rt_s(1666));
    nms_RenderVillager_entityTexture3 = nle_TextureLocation__init_($rt_s(1667));
    nms_RenderVillager_entityTexture4 = nle_TextureLocation__init_($rt_s(1668));
    nms_RenderVillager_entityTexture5 = nle_TextureLocation__init_($rt_s(1348));
}
function nms_EntityIronGolem() {
    var a = this; nms_EntityGolem.call(a);
    a.$homeCheckTimer = 0;
    a.$attackTimer = 0;
    a.$holdRoseTick = 0;
}
function nms_EntityIronGolem__init_0() {
    var var_0 = new nms_EntityIronGolem();
    nms_EntityIronGolem__init_(var_0);
    return var_0;
}
function nms_EntityIronGolem__init_($this) {
    nms_EntityCreature__init_0($this);
    $this.$homeCheckTimer = 0;
    nms_Entity_setSize($this, 1.399999976158142, 2.9000000953674316);
}
function nms_EntityIronGolem_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte_valueOf(0));
}
function nms_EntityIronGolem_isAIEnabled($this) {
    return 1;
}
function nms_EntityIronGolem_updateAITick($this) {
    return;
}
function nms_EntityIronGolem_getMaxHealth($this) {
    return 100;
}
function nms_EntityIronGolem_decreaseAirSupply($this, $par1) {
    return $par1;
}
function nms_EntityIronGolem_onLivingUpdate($this) {
    var $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityLiving_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$attackTimer > 0)
            $this.$attackTimer = $this.$attackTimer - 1 | 0;
        if ($this.$holdRoseTick > 0)
            $this.$holdRoseTick = $this.$holdRoseTick - 1 | 0;
        if ($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ > 2.500000277905201E-7 && !nle_EaglercraftRandom_nextInt($this.$rand0, 5)) {
            $var1 = nms_MathHelper_floor_double($this.$posX);
            $var2 = nms_MathHelper_floor_double($this.$posY - 0.20000000298023224 - $this.$yOffset);
            $var3 = nms_MathHelper_floor_double($this.$posZ);
            $var4 = nms_World_getBlockId($this.$worldObj, $var1, $var2, $var3);
            if ($var4 > 0) {
                var$5 = $this.$worldObj;
                var$6 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$6);
                jl_AbstractStringBuilder_append(var$6, $rt_s(1011));
                jl_AbstractStringBuilder_append2(var$6, $var4);
                jl_AbstractStringBuilder_append(var$6, $rt_s(423));
                jl_AbstractStringBuilder_append2(var$6, nms_World_getBlockMetadata($this.$worldObj, $var1, $var2, $var3));
                var$7 = jl_AbstractStringBuilder_toString(var$6);
                var$8 = $this.$posX + (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * $this.$width0;
                var$9 = $this.$boundingBox.$minY + 0.1;
                var$10 = $this.$posZ + (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * $this.$width0;
                var$11 = 4.0 * (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5);
                var$12 = 0.5;
                var$13 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 4.0;
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 2:
        nms_World_spawnParticle(var$5, var$7, var$8, var$9, var$10, var$11, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
}
function nms_EntityIronGolem_handleHealthUpdate($this, $par1) {
    var var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 == 4) {
            $this.$attackTimer = 10;
            var$2 = $rt_s(1669);
            var$3 = 1.0;
            var$4 = 1.0;
            $ptr = 1;
            continue main;
        }
        if ($par1 == 11) {
            $this.$holdRoseTick = 400;
            return;
        }
        $ptr = 2;
        continue main;
    case 1:
        nms_Entity_playSound($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_EntityLiving_handleHealthUpdate($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, var$3, var$4, $ptr);
}
function nms_EntityIronGolem_getAttackTimer($this) {
    return $this.$attackTimer;
}
function nms_EntityIronGolem_getLivingSound($this) {
    return $rt_s(1613);
}
function nms_EntityIronGolem_getHurtSound($this) {
    return $rt_s(1670);
}
function nms_EntityIronGolem_getDeathSound($this) {
    return $rt_s(1671);
}
function nms_EntityIronGolem_playStepSound($this, $par1, $par2, $par3, $par4) {
    nms_Entity_playSound($this, $rt_s(1672), 1.0, 1.0);
}
function nms_EntityIronGolem_getHoldRoseTick($this) {
    return $this.$holdRoseTick;
}
function nms_EntityIronGolem_onDeath($this, $par1DamageSource) {
    nms_EntityLiving_onDeath($this, $par1DamageSource);
}
function nms_RenderIronGolem() {
    nms_RenderLiving.call(this);
    this.$ironGolemModel = null;
}
var nms_RenderIronGolem_terrain = null;
var nms_RenderIronGolem_entityTexture = null;
function nms_RenderIronGolem__init_0() {
    var var_0 = new nms_RenderIronGolem();
    nms_RenderIronGolem__init_(var_0);
    return var_0;
}
function nms_RenderIronGolem__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelIronGolem__init_0(), 0.5);
    $this.$ironGolemModel = $this.$mainModel;
}
function nms_RenderIronGolem_doRenderIronGolem($this, $par1EntityIronGolem, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityIronGolem = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityIronGolem, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityIronGolem, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderIronGolem_rotateIronGolemCorpse($this, $par1EntityIronGolem, $par2, $par3, $par4) {
    nms_RenderLiving_rotateCorpse($this, $par1EntityIronGolem, $par2, $par3, $par4);
    if ($par1EntityIronGolem.$limbYaw >= 0.01)
        nleg_EaglerAdapterGL30_glRotatef(6.5 * (jl_Math_abs1(($par1EntityIronGolem.$limbSwing - $par1EntityIronGolem.$limbYaw * (1.0 - $par4) + 6.0) % 13.0 - 6.5) - 3.25) / 3.25, 0.0, 0.0, 1.0);
}
function nms_RenderIronGolem_renderIronGolemEquippedItems($this, $par1EntityIronGolem, $par2) {
    var $var4, $var5, $var6, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par2 = $thread.pop();$par1EntityIronGolem = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par1EntityIronGolem.$holdRoseTick)
            return;
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glRotatef(5.0 + 180.0 * $this.$ironGolemModel.$ironGolemRightArm.$rotateAngleX / 3.1415927410125732, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.6875), 1.25, (-0.9375));
        nleg_EaglerAdapterGL30_glRotatef(90.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.800000011920929, (-0.800000011920929), 0.800000011920929);
        $var4 = nms_Entity_getBrightnessForRender($par1EntityIronGolem, $par2);
        $var5 = $var4 % 65536 | 0;
        $var6 = $var4 / 65536 | 0;
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, $var5 / 1.0, $var6 / 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $par1EntityIronGolem = nms_RenderIronGolem_terrain;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityIronGolem);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        $par1EntityIronGolem = $this.$renderBlocks;
        nms_Block_$callClinit();
        var$6 = nms_Block_plantRed;
        $var4 = 0;
        $par2 = 1.0;
        $ptr = 2;
    case 2:
        nms_RenderBlocks_renderBlockAsItem($par1EntityIronGolem, var$6, $var4, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityIronGolem, $par2, $var4, $var5, $var6, var$6, $ptr);
}
function nms_RenderIronGolem_renderEquippedItems($this, $par1EntityLiving, $par2) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderIronGolem_renderIronGolemEquippedItems($this, $par1EntityLiving, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $ptr);
}
function nms_RenderIronGolem_rotateCorpse($this, $par1EntityLiving, $par2, $par3, $par4) {
    nms_RenderIronGolem_rotateIronGolemCorpse($this, $par1EntityLiving, $par2, $par3, $par4);
}
function nms_RenderIronGolem_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderIronGolem_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderIronGolem_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderIronGolem_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderIronGolem__clinit_() {
    nms_RenderIronGolem_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_RenderIronGolem_entityTexture = nle_TextureLocation__init_($rt_s(1673));
}
function nms_EntityAmbientCreature() {
    nms_EntityLiving.call(this);
}
function nms_EntityBat() {
    nms_EntityAmbientCreature.call(this);
    this.$currentFlightTarget = null;
}
function nms_EntityBat__init_0() {
    var var_0 = new nms_EntityBat();
    nms_EntityBat__init_(var_0);
    return var_0;
}
function nms_EntityBat__init_($this) {
    nms_EntityLiving__init_0($this);
    nms_Entity_setSize($this, 0.5, 0.8999999761581421);
    nms_EntityBat_setIsBatHanging($this, 1);
}
function nms_EntityBat_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte__init_(0));
}
function nms_EntityBat_getSoundVolume($this) {
    return 0.10000000149011612;
}
function nms_EntityBat_getSoundPitch($this) {
    return nms_EntityLiving_getSoundPitch($this) * 0.949999988079071;
}
function nms_EntityBat_getLivingSound($this) {
    return nms_EntityBat_getIsBatHanging($this) && nle_EaglercraftRandom_nextInt($this.$rand0, 4) ? null : $rt_s(1674);
}
function nms_EntityBat_getHurtSound($this) {
    return $rt_s(1675);
}
function nms_EntityBat_getDeathSound($this) {
    return $rt_s(1676);
}
function nms_EntityBat_canBePushed($this) {
    return 0;
}
function nms_EntityBat_getMaxHealth($this) {
    return 6;
}
function nms_EntityBat_getIsBatHanging($this) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 1) ? 0 : 1;
}
function nms_EntityBat_setIsBatHanging($this, $par1) {
    var $var2;
    $var2 = nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16);
    if (!$par1)
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(($var2 & (-2)) << 24 >> 24));
    else
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(($var2 | 1) << 24 >> 24));
}
function nms_EntityBat_isAIEnabled($this) {
    return 1;
}
function nms_EntityBat_onUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityLiving_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_EntityBat_getIsBatHanging($this))
            $this.$motionY = $this.$motionY * 0.6000000238418579;
        else {
            $this.$motionZ = 0.0;
            $this.$motionY = 0.0;
            $this.$motionX = 0.0;
            $this.$posY = nms_MathHelper_floor_double($this.$posY) + 1.0 - $this.$height0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_EntityBat_updateAITasks($this) {
    var $var1, $var3, $var5, $var8, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var8 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityLiving_updateAITasks($this);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_EntityBat_getIsBatHanging($this)) {
            if ($this.$currentFlightTarget !== null && !(nms_World_isAirBlock($this.$worldObj, $this.$currentFlightTarget.$posX1, $this.$currentFlightTarget.$posY1, $this.$currentFlightTarget.$posZ1) && $this.$currentFlightTarget.$posY1 >= 1))
                $this.$currentFlightTarget = null;
            if (!($this.$currentFlightTarget !== null && nle_EaglercraftRandom_nextInt($this.$rand0, 30) && nms_ChunkCoordinates_getDistanceSquared($this.$currentFlightTarget, $this.$posX | 0, $this.$posY | 0, $this.$posZ | 0) >= 4.0))
                $this.$currentFlightTarget = nms_ChunkCoordinates__init_0((($this.$posX | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 7) | 0) - nle_EaglercraftRandom_nextInt($this.$rand0, 7) | 0, (($this.$posY | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 6) | 0) - 2 | 0, (($this.$posZ | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 7) | 0) - nle_EaglercraftRandom_nextInt($this.$rand0, 7) | 0);
            $var1 = $this.$currentFlightTarget.$posX1 + 0.5 - $this.$posX;
            $var3 = $this.$currentFlightTarget.$posY1 + 0.1 - $this.$posY;
            $var5 = $this.$currentFlightTarget.$posZ1 + 0.5 - $this.$posZ;
            $this.$motionX = $this.$motionX + (jl_Math_signum($var1) * 0.5 - $this.$motionX) * 0.10000000149011612;
            $this.$motionY = $this.$motionY + (jl_Math_signum($var3) * 0.699999988079071 - $this.$motionY) * 0.10000000149011612;
            $this.$motionZ = $this.$motionZ + (jl_Math_signum($var5) * 0.5 - $this.$motionZ) * 0.10000000149011612;
            $var8 = nms_MathHelper_wrapAngleTo180_float(jl_Math_atan2($this.$motionZ, $this.$motionX) * 180.0 / 3.141592653589793 - 90.0 - $this.$rotationYaw);
            $this.$moveForward = 0.5;
            $this.$rotationYaw = $this.$rotationYaw + $var8;
            if (!nle_EaglercraftRandom_nextInt($this.$rand0, 100) && nms_World_isBlockNormalCube($this.$worldObj, nms_MathHelper_floor_double($this.$posX), ($this.$posY | 0) + 1 | 0, nms_MathHelper_floor_double($this.$posZ)))
                nms_EntityBat_setIsBatHanging($this, 1);
        } else {
            if (!nms_World_isBlockNormalCube($this.$worldObj, nms_MathHelper_floor_double($this.$posX), ($this.$posY | 0) + 1 | 0, nms_MathHelper_floor_double($this.$posZ))) {
                nms_EntityBat_setIsBatHanging($this, 0);
                var$5 = $this.$worldObj;
                var$6 = null;
                var$7 = 1015;
                var$8 = $this.$posX | 0;
                var$9 = $this.$posY | 0;
                var$10 = $this.$posZ | 0;
                var$11 = 0;
                $ptr = 2;
                continue main;
            }
            if (!nle_EaglercraftRandom_nextInt($this.$rand0, 200))
                $this.$rotationYawHead = nle_EaglercraftRandom_nextInt($this.$rand0, 360);
            if (nms_World_getClosestPlayerToEntity($this.$worldObj, $this, 4.0) !== null) {
                nms_EntityBat_setIsBatHanging($this, 0);
                var$5 = $this.$worldObj;
                var$6 = null;
                var$7 = 1015;
                var$8 = $this.$posX | 0;
                var$9 = $this.$posY | 0;
                var$10 = $this.$posZ | 0;
                var$11 = 0;
                $ptr = 3;
                continue main;
            }
        }
        return;
    case 2:
        nms_World_playAuxSFXAtEntity(var$5, var$6, var$7, var$8, var$9, var$10, var$11);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_World_playAuxSFXAtEntity(var$5, var$6, var$7, var$8, var$9, var$10, var$11);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var3, $var5, $var8, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
}
function nms_EntityBat_canTriggerWalking($this) {
    return 0;
}
function nms_EntityBat_fall($this, $par1) {
    return;
}
function nms_EntityBat_updateFallState($this, $par1, $par3) {
    return;
}
function nms_EntityBat_attackEntityFrom($this, $par1DamageSource, $par2) {
    if ($this.$invulnerable)
        return 0;
    return 0;
}
function nms_RenderBat() {
    nms_RenderLiving.call(this);
    this.$renderedBatSize = 0;
}
var nms_RenderBat_entityTexture = null;
function nms_RenderBat__init_0() {
    var var_0 = new nms_RenderBat();
    nms_RenderBat__init_(var_0);
    return var_0;
}
function nms_RenderBat__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelBat__init_0(), 0.25);
    $this.$renderedBatSize = 36;
}
function nms_RenderBat_func_82443_a($this, $par1EntityBat, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityBat = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (36 != $this.$renderedBatSize) {
            $this.$renderedBatSize = 36;
            $this.$mainModel = nms_ModelBat__init_0();
        }
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityBat, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityBat, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderBat_func_82442_a($this, $par1EntityBat, $par2) {
    nleg_EaglerAdapterGL30_glScalef(0.3499999940395355, 0.3499999940395355, 0.3499999940395355);
}
function nms_RenderBat_func_82445_a($this, $par1EntityBat, $par2, $par4, $par6) {
    nms_RenderLiving_renderLivingAt($this, $par1EntityBat, $par2, $par4, $par6);
}
function nms_RenderBat_func_82444_a($this, $par1EntityBat, $par2, $par3, $par4) {
    if (nms_EntityBat_getIsBatHanging($par1EntityBat))
        nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.10000000149011612), 0.0);
    else
        nleg_EaglerAdapterGL30_glTranslatef(0.0, nms_MathHelper_cos($par2 * 0.30000001192092896) * 0.10000000149011612, 0.0);
    nms_RenderLiving_rotateCorpse($this, $par1EntityBat, $par2, $par3, $par4);
}
function nms_RenderBat_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderBat_func_82442_a($this, $par1EntityLiving, $par2);
}
function nms_RenderBat_rotateCorpse($this, $par1EntityLiving, $par2, $par3, $par4) {
    nms_RenderBat_func_82444_a($this, $par1EntityLiving, $par2, $par3, $par4);
}
function nms_RenderBat_renderLivingAt($this, $par1EntityLiving, $par2, $par4, $par6) {
    nms_RenderLiving_renderLivingAt($this, $par1EntityLiving, $par2, $par4, $par6);
}
function nms_RenderBat_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderBat_func_82443_a($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderBat_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderBat_func_82443_a($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderBat_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderBat_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderBat__clinit_() {
    nms_RenderBat_entityTexture = nle_TextureLocation__init_($rt_s(1677));
}
function nms_IBossDisplayData() {
}
function nms_IEntityMultiPart() {
}
function nms_EntityDragon() {
    var a = this; nms_EntityLiving.call(a);
    a.$targetX = 0.0;
    a.$targetY = 0.0;
    a.$targetZ = 0.0;
    a.$ringBuffer = null;
    a.$ringBufferIndex = 0;
    a.$dragonPartArray = null;
    a.$dragonPartHead = null;
    a.$dragonPartBody = null;
    a.$dragonPartTail1 = null;
    a.$dragonPartTail2 = null;
    a.$dragonPartTail3 = null;
    a.$dragonPartWing1 = null;
    a.$dragonPartWing2 = null;
    a.$prevAnimTime = 0.0;
    a.$animTime = 0.0;
    a.$forceNewTarget = 0;
    a.$slowed = 0;
    a.$target0 = null;
    a.$deathTicks = 0;
    a.$healingEnderCrystal = null;
}
function nms_EntityDragon__init_0() {
    var var_0 = new nms_EntityDragon();
    nms_EntityDragon__init_(var_0);
    return var_0;
}
function nms_EntityDragon__init_($this) {
    var var$1, var$2, var$3;
    nms_EntityLiving__init_0($this);
    $this.$ringBuffer = $rt_createDoubleMultiArray([3, 64]);
    $this.$ringBufferIndex = (-1);
    $this.$prevAnimTime = 0.0;
    $this.$animTime = 0.0;
    $this.$forceNewTarget = 0;
    $this.$slowed = 0;
    $this.$deathTicks = 0;
    $this.$healingEnderCrystal = null;
    var$1 = $rt_createArray(nms_EntityDragonPart, 7);
    var$2 = var$1.data;
    var$3 = nms_EntityDragonPart__init_($this, $rt_s(1592), 6.0, 6.0);
    $this.$dragonPartHead = var$3;
    var$2[0] = var$3;
    var$3 = nms_EntityDragonPart__init_($this, $rt_s(1678), 8.0, 8.0);
    $this.$dragonPartBody = var$3;
    var$2[1] = var$3;
    var$3 = nms_EntityDragonPart__init_($this, $rt_s(1679), 4.0, 4.0);
    $this.$dragonPartTail1 = var$3;
    var$2[2] = var$3;
    var$3 = nms_EntityDragonPart__init_($this, $rt_s(1679), 4.0, 4.0);
    $this.$dragonPartTail2 = var$3;
    var$2[3] = var$3;
    var$3 = nms_EntityDragonPart__init_($this, $rt_s(1679), 4.0, 4.0);
    $this.$dragonPartTail3 = var$3;
    var$2[4] = var$3;
    var$3 = nms_EntityDragonPart__init_($this, $rt_s(1680), 4.0, 4.0);
    $this.$dragonPartWing1 = var$3;
    var$2[5] = var$3;
    var$3 = nms_EntityDragonPart__init_($this, $rt_s(1680), 4.0, 4.0);
    $this.$dragonPartWing2 = var$3;
    var$2[6] = var$3;
    $this.$dragonPartArray = var$1;
    nms_EntityLiving_setEntityHealth($this, 200);
    nms_Entity_setSize($this, 16.0, 8.0);
    $this.$noClip = 1;
    $this.$isImmuneToFire = 1;
    $this.$targetY = 100.0;
    $this.$ignoreFrustumCheck = 1;
}
function nms_EntityDragon_getMaxHealth($this) {
    return 200;
}
function nms_EntityDragon_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Integer__init_(200));
}
function nms_EntityDragon_getMovementOffsets($this, $par1, $par2) {
    var var$3, $var3, $var4, $var5, var$7, $var6, $var8, var$10;
    if ($this.$health <= 0)
        $par2 = 0.0;
    $par2 = 1.0 - $par2;
    var$3 = $this.$ringBufferIndex;
    $par1 = $par1 * 1 | 0;
    $var3 = (var$3 - $par1 | 0) & 63;
    $var4 = (($this.$ringBufferIndex - $par1 | 0) - 1 | 0) & 63;
    $var5 = $rt_createDoubleArray(3);
    var$7 = $var5.data;
    $var6 = $this.$ringBuffer.data[$var3].data[0];
    $var8 = nms_MathHelper_wrapAngleTo180_double($this.$ringBuffer.data[$var4].data[0] - $var6);
    var$10 = $par2;
    var$7[0] = $var6 + $var8 * var$10;
    $var6 = $this.$ringBuffer.data[$var3].data[1];
    var$7[1] = $var6 + ($this.$ringBuffer.data[$var4].data[1] - $var6) * var$10;
    var$7[2] = $this.$ringBuffer.data[$var3].data[2] + ($this.$ringBuffer.data[$var4].data[2] - $this.$ringBuffer.data[$var3].data[2]) * var$10;
    return $var5;
}
function nms_EntityDragon_onLivingUpdate($this) {
    var $var1, $var32, $var26, $var4, $var6, var$6, $var2, $var30, $var3, $var8, var$11, var$12, $var25, $var27, $var5, $var28, $var7, $var29, $var9, $var31, $var33, $var35, $var37, $var36, $var38, $var40, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var40 = $thread.pop();$var38 = $thread.pop();$var36 = $thread.pop();$var37 = $thread.pop();$var35 = $thread.pop();$var33 = $thread.pop();$var31 = $thread.pop();$var9 = $thread.pop();$var29 = $thread.pop();$var7 = $thread.pop();$var28 = $thread.pop();$var5 = $thread.pop();$var27 = $thread.pop();$var25 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var8 = $thread.pop();$var3 = $thread.pop();$var30 = $thread.pop();$var2 = $thread.pop();var$6 = $thread.pop();$var6 =
        $thread.pop();$var4 = $thread.pop();$var26 = $thread.pop();$var32 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = nms_MathHelper_cos($this.$animTime * 3.1415927410125732 * 2.0);
        if (nms_MathHelper_cos($this.$prevAnimTime * 3.1415927410125732 * 2.0) <= (-0.30000001192092896) && $var1 >= (-0.30000001192092896)) {
            $var32 = $this.$worldObj;
            $var26 = $this.$posX;
            $var4 = $this.$posY;
            $var6 = $this.$posZ;
            var$6 = $rt_s(1681);
            $var2 = 5.0;
            $var1 = 0.800000011920929 + nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.30000001192092896;
            $var30 = 0;
            $ptr = 2;
            continue main;
        }
        $this.$prevAnimTime = $this.$animTime;
        if ($this.$health <= 0) {
            $var1 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 8.0;
            $var2 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 4.0;
            $var3 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 8.0;
            $var32 = $this.$worldObj;
            var$6 = $rt_s(1159);
            $var6 = $this.$posX + $var1;
            $var8 = $this.$posY + 2.0 + $var2;
            var$11 = $this.$posZ + $var3;
            var$12 = 0.0;
            $var26 = 0.0;
            $var4 = 0.0;
            $ptr = 1;
            continue main;
        }
        nms_EntityDragon_updateDragonEnderCrystal($this);
        $var1 = 0.20000000298023224 / (nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ) * 10.0 + 1.0) * jl_Math_pow(2.0, $this.$motionY);
        if (!$this.$slowed)
            $this.$animTime = $this.$animTime + $var1;
        else
            $this.$animTime = $this.$animTime + $var1 * 0.5;
        a: {
            $this.$rotationYaw = nms_MathHelper_wrapAngleTo180_float($this.$rotationYaw);
            if ($this.$ringBufferIndex < 0) {
                $var25 = 0;
                while (true) {
                    if ($var25 >= $this.$ringBuffer.data.length)
                        break a;
                    $this.$ringBuffer.data[$var25].data[0] = $this.$rotationYaw;
                    $this.$ringBuffer.data[$var25].data[1] = $this.$posY;
                    $var25 = $var25 + 1 | 0;
                }
            }
        }
        $var30 = $this.$ringBufferIndex + 1 | 0;
        $this.$ringBufferIndex = $var30;
        if ($var30 == $this.$ringBuffer.data.length)
            $this.$ringBufferIndex = 0;
        $this.$ringBuffer.data[$this.$ringBufferIndex].data[0] = $this.$rotationYaw;
        $this.$ringBuffer.data[$this.$ringBufferIndex].data[1] = $this.$posY;
        if ($this.$newPosRotationIncrements > 0) {
            $var26 = $this.$posX + ($this.$newPosX - $this.$posX) / $this.$newPosRotationIncrements;
            $var4 = $this.$posY + ($this.$newPosY - $this.$posY) / $this.$newPosRotationIncrements;
            $var6 = $this.$posZ + ($this.$newPosZ - $this.$posZ) / $this.$newPosRotationIncrements;
            $var8 = nms_MathHelper_wrapAngleTo180_double($this.$newRotationYaw - $this.$rotationYaw);
            $this.$rotationYaw = $this.$rotationYaw + $var8 / $this.$newPosRotationIncrements;
            $this.$rotationPitch = $this.$rotationPitch + ($this.$newRotationPitch - $this.$rotationPitch) / $this.$newPosRotationIncrements;
            $this.$newPosRotationIncrements = $this.$newPosRotationIncrements - 1 | 0;
            nms_Entity_setPosition($this, $var26, $var4, $var6);
            nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
        }
        $this.$renderYawOffset = $this.$rotationYaw;
        $var32 = $this.$dragonPartHead;
        $this.$dragonPartHead.$height0 = 3.0;
        $var32.$width0 = 3.0;
        $var32 = $this.$dragonPartTail1;
        $this.$dragonPartTail1.$height0 = 2.0;
        $var32.$width0 = 2.0;
        $var32 = $this.$dragonPartTail2;
        $this.$dragonPartTail2.$height0 = 2.0;
        $var32.$width0 = 2.0;
        $var32 = $this.$dragonPartTail3;
        $this.$dragonPartTail3.$height0 = 2.0;
        $var32.$width0 = 2.0;
        $this.$dragonPartBody.$height0 = 3.0;
        $this.$dragonPartBody.$width0 = 5.0;
        $this.$dragonPartWing1.$height0 = 2.0;
        $this.$dragonPartWing1.$width0 = 4.0;
        $this.$dragonPartWing2.$height0 = 3.0;
        $this.$dragonPartWing2.$width0 = 4.0;
        $var1 = (nms_EntityDragon_getMovementOffsets($this, 5, 1.0).data[1] - nms_EntityDragon_getMovementOffsets($this, 10, 1.0).data[1]) * 10.0 / 180.0 * 3.1415927410125732;
        $var3 = nms_MathHelper_cos($var1);
        $var27 =  -nms_MathHelper_sin($var1);
        $var5 = $this.$rotationYaw * 3.1415927410125732 / 180.0;
        $var28 = nms_MathHelper_sin($var5);
        $var7 = nms_MathHelper_cos($var5);
        $var32 = $this.$dragonPartBody;
        $ptr = 3;
        continue main;
    case 1:
        nms_World_spawnParticle($var32, var$6, $var6, $var8, var$11, var$12, $var26, $var4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_WorldClient_playSound($var32, $var26, $var4, $var6, var$6, $var2, $var1, $var30);
        if ($rt_suspending()) {
            break main;
        }
        $this.$prevAnimTime = $this.$animTime;
        if ($this.$health <= 0) {
            $var1 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 8.0;
            $var2 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 4.0;
            $var3 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 8.0;
            $var32 = $this.$worldObj;
            var$6 = $rt_s(1159);
            $var6 = $this.$posX + $var1;
            $var8 = $this.$posY + 2.0 + $var2;
            var$11 = $this.$posZ + $var3;
            var$12 = 0.0;
            $var26 = 0.0;
            $var4 = 0.0;
            $ptr = 1;
            continue main;
        }
        nms_EntityDragon_updateDragonEnderCrystal($this);
        $var1 = 0.20000000298023224 / (nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ) * 10.0 + 1.0) * jl_Math_pow(2.0, $this.$motionY);
        if (!$this.$slowed)
            $this.$animTime = $this.$animTime + $var1;
        else
            $this.$animTime = $this.$animTime + $var1 * 0.5;
        b: {
            $this.$rotationYaw = nms_MathHelper_wrapAngleTo180_float($this.$rotationYaw);
            if ($this.$ringBufferIndex < 0) {
                $var25 = 0;
                while (true) {
                    if ($var25 >= $this.$ringBuffer.data.length)
                        break b;
                    $this.$ringBuffer.data[$var25].data[0] = $this.$rotationYaw;
                    $this.$ringBuffer.data[$var25].data[1] = $this.$posY;
                    $var25 = $var25 + 1 | 0;
                }
            }
        }
        $var30 = $this.$ringBufferIndex + 1 | 0;
        $this.$ringBufferIndex = $var30;
        if ($var30 == $this.$ringBuffer.data.length)
            $this.$ringBufferIndex = 0;
        $this.$ringBuffer.data[$this.$ringBufferIndex].data[0] = $this.$rotationYaw;
        $this.$ringBuffer.data[$this.$ringBufferIndex].data[1] = $this.$posY;
        if ($this.$newPosRotationIncrements > 0) {
            $var26 = $this.$posX + ($this.$newPosX - $this.$posX) / $this.$newPosRotationIncrements;
            $var4 = $this.$posY + ($this.$newPosY - $this.$posY) / $this.$newPosRotationIncrements;
            $var6 = $this.$posZ + ($this.$newPosZ - $this.$posZ) / $this.$newPosRotationIncrements;
            $var8 = nms_MathHelper_wrapAngleTo180_double($this.$newRotationYaw - $this.$rotationYaw);
            $this.$rotationYaw = $this.$rotationYaw + $var8 / $this.$newPosRotationIncrements;
            $this.$rotationPitch = $this.$rotationPitch + ($this.$newRotationPitch - $this.$rotationPitch) / $this.$newPosRotationIncrements;
            $this.$newPosRotationIncrements = $this.$newPosRotationIncrements - 1 | 0;
            nms_Entity_setPosition($this, $var26, $var4, $var6);
            nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
        }
        $this.$renderYawOffset = $this.$rotationYaw;
        $var32 = $this.$dragonPartHead;
        $this.$dragonPartHead.$height0 = 3.0;
        $var32.$width0 = 3.0;
        $var32 = $this.$dragonPartTail1;
        $this.$dragonPartTail1.$height0 = 2.0;
        $var32.$width0 = 2.0;
        $var32 = $this.$dragonPartTail2;
        $this.$dragonPartTail2.$height0 = 2.0;
        $var32.$width0 = 2.0;
        $var32 = $this.$dragonPartTail3;
        $this.$dragonPartTail3.$height0 = 2.0;
        $var32.$width0 = 2.0;
        $this.$dragonPartBody.$height0 = 3.0;
        $this.$dragonPartBody.$width0 = 5.0;
        $this.$dragonPartWing1.$height0 = 2.0;
        $this.$dragonPartWing1.$width0 = 4.0;
        $this.$dragonPartWing2.$height0 = 3.0;
        $this.$dragonPartWing2.$width0 = 4.0;
        $var1 = (nms_EntityDragon_getMovementOffsets($this, 5, 1.0).data[1] - nms_EntityDragon_getMovementOffsets($this, 10, 1.0).data[1]) * 10.0 / 180.0 * 3.1415927410125732;
        $var3 = nms_MathHelper_cos($var1);
        $var27 =  -nms_MathHelper_sin($var1);
        $var5 = $this.$rotationYaw * 3.1415927410125732 / 180.0;
        $var28 = nms_MathHelper_sin($var5);
        $var7 = nms_MathHelper_cos($var5);
        $var32 = $this.$dragonPartBody;
        $ptr = 3;
    case 3:
        nms_Entity_onUpdate($var32);
        if ($rt_suspending()) {
            break main;
        }
        nms_Entity_setLocationAndAngles($this.$dragonPartBody, $this.$posX + $var28 * 0.5, $this.$posY, $this.$posZ - $var7 * 0.5, 0.0, 0.0);
        $var32 = $this.$dragonPartWing1;
        $ptr = 4;
    case 4:
        nms_Entity_onUpdate($var32);
        if ($rt_suspending()) {
            break main;
        }
        $var32 = $this.$dragonPartWing1;
        $var26 = $this.$posX;
        $var4 = $var7 * 4.5;
        $var26 = $var26 + $var4;
        $var6 = $this.$posY + 2.0;
        $var8 = $this.$posZ;
        var$11 = $var28 * 4.5;
        nms_Entity_setLocationAndAngles($var32, $var26, $var6, $var8 + var$11, 0.0, 0.0);
        $var32 = $this.$dragonPartWing2;
        $ptr = 5;
    case 5:
        nms_Entity_onUpdate($var32);
        if ($rt_suspending()) {
            break main;
        }
        nms_Entity_setLocationAndAngles($this.$dragonPartWing2, $this.$posX - $var4, $this.$posY + 2.0, $this.$posZ - var$11, 0.0, 0.0);
        $var29 = nms_EntityDragon_getMovementOffsets($this, 5, 1.0).data;
        $var9 = nms_EntityDragon_getMovementOffsets($this, 0, 1.0).data;
        $var31 = nms_MathHelper_sin($this.$rotationYaw * 3.1415927410125732 / 180.0 - $this.$randomYawVelocity * 0.009999999776482582);
        $var33 = nms_MathHelper_cos($this.$rotationYaw * 3.1415927410125732 / 180.0 - $this.$randomYawVelocity * 0.009999999776482582);
        $var32 = $this.$dragonPartHead;
        $ptr = 6;
    case 6:
        nms_Entity_onUpdate($var32);
        if ($rt_suspending()) {
            break main;
        }
        nms_Entity_setLocationAndAngles($this.$dragonPartHead, $this.$posX + $var31 * 5.5 * $var3, $this.$posY + ($var9[1] - $var29[1]) * 1.0 + $var27 * 5.5, $this.$posZ - $var33 * 5.5 * $var3, 0.0, 0.0);
        $var30 = 0;
        $var28 = $var28 * 1.5;
        $var7 = $var7 * 1.5;
        if ($var30 >= 3)
            return;
        $var32 = null;
        if (!$var30)
            $var32 = $this.$dragonPartTail1;
        if ($var30 == 1)
            $var32 = $this.$dragonPartTail2;
        if ($var30 == 2)
            $var32 = $this.$dragonPartTail3;
        $var9 = nms_EntityDragon_getMovementOffsets($this, 12 + ($var30 * 2 | 0) | 0, 1.0).data;
        $var35 = $this.$rotationYaw * 3.1415927410125732 / 180.0 + nms_EntityDragon_simplifyAngle($this, $var9[0] - $var29[0]) * 3.1415927410125732 / 180.0 * 1.0;
        $var37 = nms_MathHelper_sin($var35);
        $var36 = nms_MathHelper_cos($var35);
        $var38 = 1.5;
        $var30 = $var30 + 1 | 0;
        $var40 = $var30 * 2.0;
        $ptr = 7;
    case 7:
        nms_Entity_onUpdate($var32);
        if ($rt_suspending()) {
            break main;
        }
        nms_Entity_setLocationAndAngles($var32, $this.$posX - ($var28 + $var37 * $var40) * $var3, $this.$posY + ($var9[1] - $var29[1]) * 1.0 - ($var40 + $var38) * $var27 + 1.5, $this.$posZ + ($var7 + $var36 * $var40) * $var3, 0.0, 0.0);
        if ($var30 >= 3)
            return;
        $var32 = null;
        if (!$var30)
            $var32 = $this.$dragonPartTail1;
        if ($var30 == 1)
            $var32 = $this.$dragonPartTail2;
        if ($var30 == 2)
            $var32 = $this.$dragonPartTail3;
        $var9 = nms_EntityDragon_getMovementOffsets($this, 12 + ($var30 * 2 | 0) | 0, 1.0).data;
        $var35 = $this.$rotationYaw * 3.1415927410125732 / 180.0 + nms_EntityDragon_simplifyAngle($this, $var9[0] - $var29[0]) * 3.1415927410125732 / 180.0 * 1.0;
        $var37 = nms_MathHelper_sin($var35);
        $var36 = nms_MathHelper_cos($var35);
        $var38 = 1.5;
        $var30 = $var30 + 1 | 0;
        $var40 = $var30 * 2.0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var32, $var26, $var4, $var6, var$6, $var2, $var30, $var3, $var8, var$11, var$12, $var25, $var27, $var5, $var28, $var7, $var29, $var9, $var31, $var33, $var35, $var37, $var36, $var38, $var40, $ptr);
}
function nms_EntityDragon_updateDragonEnderCrystal($this) {
    var $var2, $var3, $var4, $var6, $var7, $var8;
    if ($this.$healingEnderCrystal !== null) {
        if ($this.$healingEnderCrystal.$isDead)
            $this.$healingEnderCrystal = null;
        else if (!($this.$ticksExisted % 10 | 0) && $this.$health < 200)
            nms_EntityLiving_setEntityHealth($this, $this.$health + 1 | 0);
    }
    if (!nle_EaglercraftRandom_nextInt($this.$rand0, 10)) {
        $var2 = nms_World_getEntitiesWithinAABB($this.$worldObj, $rt_cls(nms_EntityEnderCrystal), nms_AxisAlignedBB_expand($this.$boundingBox, 32.0, 32.0, 32.0));
        $var3 = null;
        $var4 = 1.7976931348623157E308;
        $var6 = ju_AbstractList_iterator($var2);
        while (ju_AbstractList$1_hasNext($var6)) {
            $var7 = ju_AbstractList$1_next($var6);
            $var8 = nms_Entity_getDistanceSqToEntity($var7, $this);
            if ($var8 < $var4) {
                $var4 = $var8;
                $var3 = $var7;
            }
        }
        $this.$healingEnderCrystal = $var3;
    }
}
function nms_EntityDragon_simplifyAngle($this, $par1) {
    return nms_MathHelper_wrapAngleTo180_double($par1);
}
function nms_EntityDragon_attackEntityFromPart($this, $par1EntityDragonPart, $par2DamageSource, $par3) {
    var $var4, $var5, $var6;
    if ($par1EntityDragonPart !== $this.$dragonPartHead)
        $par3 = ($par3 / 4 | 0) + 1 | 0;
    $var4 = $this.$rotationYaw * 3.1415927410125732 / 180.0;
    $var5 = nms_MathHelper_sin($var4);
    $var6 = nms_MathHelper_cos($var4);
    $this.$targetX = $this.$posX + $var5 * 5.0 + (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 2.0;
    $this.$targetY = $this.$posY + nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.0 + 1.0;
    $this.$targetZ = $this.$posZ - $var6 * 5.0 + (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 2.0;
    $this.$target0 = null;
    if (!(!($par2DamageSource.$getEntity() instanceof nms_EntityPlayer) && !$par2DamageSource.$explosion))
        nms_EntityDragon_func_82195_e($this, $par2DamageSource, $par3);
    return 1;
}
function nms_EntityDragon_attackEntityFrom($this, $par1DamageSource, $par2) {
    return 0;
}
function nms_EntityDragon_func_82195_e($this, $par1DamageSource, $par2) {
    return 0;
}
function nms_EntityDragon_onDeathUpdate($this) {
    var $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$deathTicks = $this.$deathTicks + 1 | 0;
        if ($this.$deathTicks >= 180 && $this.$deathTicks <= 200) {
            $var1 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 8.0;
            $var2 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 4.0;
            $var3 = (nle_EaglercraftRandom_nextFloat($this.$rand0) - 0.5) * 8.0;
            var$4 = $this.$worldObj;
            var$5 = $rt_s(1158);
            var$6 = $this.$posX + $var1;
            var$7 = $this.$posY + 2.0 + $var2;
            var$8 = $this.$posZ + $var3;
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 0.0;
            $ptr = 2;
            continue main;
        }
        var$8 = 0.0;
        var$10 = 0.10000000149011612;
        var$11 = 0.0;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$8, var$10, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $this.$rotationYaw + 20.0;
        $this.$rotationYaw = $var1;
        $this.$renderYawOffset = $var1;
        return;
    case 2:
        nms_World_spawnParticle(var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11);
        if ($rt_suspending()) {
            break main;
        }
        var$8 = 0.0;
        var$10 = 0.10000000149011612;
        var$11 = 0.0;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
}
function nms_EntityDragon_despawnEntity($this) {
    return;
}
function nms_EntityDragon_getParts($this) {
    return $this.$dragonPartArray;
}
function nms_EntityDragon_canBeCollidedWith($this) {
    return 0;
}
function nms_EntityDragon_getBossHealth($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 16);
}
function nms_EntityDragon_func_82194_d($this) {
    return $this.$worldObj !== null ? $this.$worldObj : nmc_Minecraft_theMinecraft.$theWorld;
}
function nms_EntityDragon_getLivingSound($this) {
    return $rt_s(1682);
}
function nms_EntityDragon_getHurtSound($this) {
    return $rt_s(1683);
}
function nms_EntityDragon_getSoundVolume($this) {
    return 5.0;
}
function nms_RenderDragon() {
    nms_RenderLiving.call(this);
    this.$modelDragon = null;
}
var nms_RenderDragon_updateModelState = 0;
var nms_RenderDragon_tex_shuffle = null;
var nms_RenderDragon_tex_beam = null;
var nms_RenderDragon_tex_eyes = null;
var nms_RenderDragon_entityTexture = null;
function nms_RenderDragon__init_0() {
    var var_0 = new nms_RenderDragon();
    nms_RenderDragon__init_(var_0);
    return var_0;
}
function nms_RenderDragon__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelDragon__init_(0.0), 0.5);
    $this.$modelDragon = $this.$mainModel;
    $this.$renderPassModel = $this.$mainModel;
}
function nms_RenderDragon_rotateDragonBody($this, $par1EntityDragon, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = nms_EntityDragon_getMovementOffsets($par1EntityDragon, 7, $par4).data[0];
    $var6 = nms_EntityDragon_getMovementOffsets($par1EntityDragon, 5, $par4).data[1] - nms_EntityDragon_getMovementOffsets($par1EntityDragon, 10, $par4).data[1];
    nleg_EaglerAdapterGL30_glRotatef( -$var5, 0.0, 1.0, 0.0);
    nleg_EaglerAdapterGL30_glRotatef($var6 * 10.0, 1.0, 0.0, 0.0);
    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, 1.0);
    if ($par1EntityDragon.$deathTime > 0) {
        $par2 = nms_MathHelper_sqrt_float(($par1EntityDragon.$deathTime + $par4 - 1.0) / 20.0 * 1.600000023841858);
        if ($par2 > 1.0)
            $par2 = 1.0;
        nleg_EaglerAdapterGL30_glRotatef($par2 * 90.0, 0.0, 0.0, 1.0);
    }
}
function nms_RenderDragon_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = nms_RenderDragon_entityTexture;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderDragon_renderDragonModel($this, $par1EntityDragon, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityDragon = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1EntityDragon.$deathTicks <= 0) {
            $ptr = 1;
            continue main;
        }
        $var8 = $par1EntityDragon.$deathTicks / 200.0;
        nleg_EaglerAdapterGL30_glDepthFunc(515);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, $var8);
        var$9 = nms_RenderDragon_tex_shuffle;
        $ptr = 2;
        continue main;
    case 1:
        nms_RenderDragon_bindTexture($this, $par1EntityDragon);
        if ($rt_suspending()) {
            break main;
        }
        $this.$mainModel.$render0($par1EntityDragon, $par2, $par3, $par4, $par5, $par6, $par7);
        if ($par1EntityDragon.$hurtTime > 0) {
            nleg_EaglerAdapterGL30_glDepthFunc(514);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 0.0, 0.0, 0.5);
            $this.$mainModel.$render0($par1EntityDragon, $par2, $par3, $par4, $par5, $par6, $par7);
            nleg_EaglerAdapterGL30_glEnable(3553);
            nleg_EaglerAdapterGL30_glDisable(3042);
            nleg_EaglerAdapterGL30_glDepthFunc(515);
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture(var$9);
        if ($rt_suspending()) {
            break main;
        }
        $this.$mainModel.$render0($par1EntityDragon, $par2, $par3, $par4, $par5, $par6, $par7);
        nleg_EaglerAdapterGL30_glAlphaFunc(516, 0.10000000149011612);
        nleg_EaglerAdapterGL30_glDepthFunc(514);
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityDragon, $par2, $par3, $par4, $par5, $par6, $par7, $var8, var$9, $ptr);
}
function nms_RenderDragon_renderDragon($this, $par1EntityDragon, $par2, $par4, $par6, $par8, $par9) {
    var $var11, var$8, var$9, var$10, $var12, $var13, $var14, $var16, $var15, $var17, var$17, $var18, $var19, $var21, var$21, $var22, $var23, $var24, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();var$21 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();var$17 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var11 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4
        = $thread.pop();$par2 = $thread.pop();$par1EntityDragon = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_BossStatus_func_82824_a($par1EntityDragon, 0);
        if (nms_RenderDragon_updateModelState != 4) {
            $this.$mainModel = nms_ModelDragon__init_(0.0);
            nms_RenderDragon_updateModelState = 4;
        }
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityDragon, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        if ($par1EntityDragon.$healingEnderCrystal === null)
            return;
        $var11 = nms_MathHelper_sin(($par1EntityDragon.$healingEnderCrystal.$innerRotation + $par9) * 0.20000000298023224) / 2.0 + 0.5;
        $par8 = ($var11 * $var11 + $var11) * 0.20000000298023224;
        var$8 = $par1EntityDragon.$healingEnderCrystal.$posX - $par1EntityDragon.$posX;
        var$9 = $par1EntityDragon.$prevPosX - $par1EntityDragon.$posX;
        var$10 = 1.0 - $par9;
        $var12 = var$8 - var$9 * var$10;
        $var13 = $par8 + $par1EntityDragon.$healingEnderCrystal.$posY - 1.0 - $par1EntityDragon.$posY - ($par1EntityDragon.$prevPosY - $par1EntityDragon.$posY) * var$10;
        $var14 = $par1EntityDragon.$healingEnderCrystal.$posZ - $par1EntityDragon.$posZ - ($par1EntityDragon.$prevPosZ - $par1EntityDragon.$posZ) * var$10;
        $par8 = $var12 * $var12;
        $var16 = $var14 * $var14;
        $var15 = nms_MathHelper_sqrt_float($par8 + $var16);
        $par8 = $par8 + $var13 * $var13 + $var16;
        $var16 = nms_MathHelper_sqrt_float($par8);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4 + 2.0, $par6);
        nleg_EaglerAdapterGL30_glRotatef( -jl_Math_atan2($var14, $var12) * 180.0 / 3.1415927410125732 - 90.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef( -jl_Math_atan2($var15, $var13) * 180.0 / 3.1415927410125732 - 90.0, 1.0, 0.0, 0.0);
        nlea_Tessellator_$callClinit();
        $var17 = nlea_Tessellator_instance;
        nms_RenderHelper_disableStandardItemLighting();
        nleg_EaglerAdapterGL30_glDisable(2884);
        var$17 = nms_RenderDragon_tex_beam;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture(var$17);
        if ($rt_suspending()) {
            break main;
        }
        $var18 = 0.0 - ($par1EntityDragon.$ticksExisted + $par9) * 0.009999999776482582;
        $var19 = nms_MathHelper_sqrt_float($par8) / 32.0 - ($par1EntityDragon.$ticksExisted + $par9) * 0.009999999776482582;
        nlea_Tessellator_startDrawing($var17, 5);
        $var21 = 0;
        var$8 = $var19;
        var$9 = $var16;
        var$21 = $var18;
        while ($var21 <= 8) {
            $par8 = $var21 % 8 | 0;
            $par9 = $par8 * 3.1415927410125732 * 2.0 / 8.0;
            $var22 = nms_MathHelper_sin($par9) * 0.75;
            $var23 = nms_MathHelper_cos($par9) * 0.75;
            $var24 = $par8 * 1.0 / 8.0;
            nlea_Tessellator_setColorOpaque_I($var17, 0);
            $par2 = $var22 * 0.20000000298023224;
            $par4 = $var23 * 0.20000000298023224;
            var$10 = $var24;
            nlea_Tessellator_addVertexWithUV($var17, $par2, $par4, 0.0, var$10, var$8);
            nlea_Tessellator_setColorOpaque_I($var17, 16777215);
            nlea_Tessellator_addVertexWithUV($var17, $var22, $var23, var$9, var$10, var$21);
            $var21 = $var21 + 1 | 0;
        }
        nlea_Tessellator_draw($var17);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nms_RenderHelper_enableStandardItemLighting();
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityDragon, $par2, $par4, $par6, $par8, $par9, $var11, var$8, var$9, var$10, $var12, $var13, $var14, $var16, $var15, $var17, var$17, $var18, $var19, $var21, var$21, $var22, $var23, $var24, $ptr);
}
function nms_RenderDragon_renderDragonDying($this, $par1EntityDragon, $par2) {
    var $var3, $var4, $var5, $var6, $var7, var$8, var$9, $var8, $var9, var$12, var$13, var$14, var$15;
    nlea_Tessellator_$callClinit();
    $var3 = nlea_Tessellator_instance;
    if ($par1EntityDragon.$deathTicks > 0) {
        nms_RenderHelper_disableStandardItemLighting();
        $var4 = ($par1EntityDragon.$deathTicks + $par2) / 200.0;
        $var5 = 0.0;
        if ($var4 > 0.800000011920929)
            $var5 = ($var4 - 0.800000011920929) / 0.20000000298023224;
        $var6 = nle_EaglercraftRandom__init_1(Long_fromInt(432));
        nleg_EaglerAdapterGL30_glDisable(3553);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 1);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, (-1.0), (-2.0));
        $var7 = 0;
        var$8 = ($var4 + $var4 * $var4) / 2.0 * 60.0;
        var$9 = $var4 * 90.0;
        while ($var7 < var$8) {
            nleg_EaglerAdapterGL30_glRotatef(nle_EaglercraftRandom_nextFloat($var6) * 360.0, 1.0, 0.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef(nle_EaglercraftRandom_nextFloat($var6) * 360.0, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef(nle_EaglercraftRandom_nextFloat($var6) * 360.0, 0.0, 0.0, 1.0);
            nleg_EaglerAdapterGL30_glRotatef(nle_EaglercraftRandom_nextFloat($var6) * 360.0, 1.0, 0.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef(nle_EaglercraftRandom_nextFloat($var6) * 360.0, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef(nle_EaglercraftRandom_nextFloat($var6) * 360.0 + var$9, 0.0, 0.0, 1.0);
            nlea_Tessellator_startDrawing($var3, 6);
            $var8 = nle_EaglercraftRandom_nextFloat($var6) * 20.0 + 5.0 + $var5 * 10.0;
            $var9 = nle_EaglercraftRandom_nextFloat($var6) * 2.0 + 1.0 + $var5 * 2.0;
            nlea_Tessellator_setColorRGBA_I($var3, 16777215, 255.0 * (1.0 - $var5) | 0);
            nlea_Tessellator_addVertex($var3, 0.0, 0.0, 0.0);
            nlea_Tessellator_setColorRGBA_I($var3, 16711935, 0);
            var$12 = $var9;
            var$13 = (-0.866) * var$12;
            var$14 = $var8;
            var$15 = (-0.5) * $var9;
            nlea_Tessellator_addVertex($var3, var$13, var$14, var$15);
            nlea_Tessellator_addVertex($var3, 0.866 * var$12, var$14, var$15);
            nlea_Tessellator_addVertex($var3, 0.0, var$14, 1.0 * $var9);
            nlea_Tessellator_addVertex($var3, var$13, var$14, var$15);
            nlea_Tessellator_draw($var3);
            $var7 = $var7 + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glDisable(2884);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nms_RenderHelper_enableStandardItemLighting();
    }
}
function nms_RenderDragon_renderGlow($this, $par1EntityDragon, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityDragon = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par2 == 1)
            nleg_EaglerAdapterGL30_glDepthFunc(515);
        if ($par2)
            return (-1);
        $par1EntityDragon = nms_RenderDragon_tex_eyes;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityDragon);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glBlendFunc(1, 1);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDepthFunc(514);
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, 61680.0, 0.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityDragon, $par2, $par3, $ptr);
}
function nms_RenderDragon_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderDragon_renderGlow($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderDragon_renderEquippedItems($this, $par1EntityLiving, $par2) {
    nms_RenderDragon_renderDragonDying($this, $par1EntityLiving, $par2);
}
function nms_RenderDragon_rotateCorpse($this, $par1EntityLiving, $par2, $par3, $par4) {
    nms_RenderDragon_rotateDragonBody($this, $par1EntityLiving, $par2, $par3, $par4);
}
function nms_RenderDragon_renderModel($this, $par1EntityLiving, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderDragon_renderDragonModel($this, $par1EntityLiving, $par2, $par3, $par4, $par5, $par6, $par7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $par4, $par5, $par6, $par7, $ptr);
}
function nms_RenderDragon_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderDragon_renderDragon($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderDragon_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderDragon_renderDragon($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderDragon__clinit_() {
    nms_RenderDragon_updateModelState = 0;
    nms_RenderDragon_tex_shuffle = nle_TextureLocation__init_($rt_s(1684));
    nms_RenderDragon_tex_beam = nle_TextureLocation__init_($rt_s(1685));
    nms_RenderDragon_tex_eyes = nle_TextureLocation__init_($rt_s(1686));
    nms_RenderDragon_entityTexture = nle_TextureLocation__init_($rt_s(1687));
}
function nms_EntityEnderCrystal() {
    var a = this; nms_Entity.call(a);
    a.$innerRotation = 0;
    a.$health0 = 0;
}
function nms_EntityEnderCrystal__init_0() {
    var var_0 = new nms_EntityEnderCrystal();
    nms_EntityEnderCrystal__init_(var_0);
    return var_0;
}
function nms_EntityEnderCrystal__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityEnderCrystal();
    nms_EntityEnderCrystal__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntityEnderCrystal__init_($this) {
    nms_Entity__init_0($this);
    $this.$innerRotation = 0;
    $this.$preventEntitySpawning = 1;
    nms_Entity_setSize($this, 2.0, 2.0);
    $this.$yOffset = $this.$height0 / 2.0;
    $this.$health0 = 5;
    $this.$innerRotation = nle_EaglercraftRandom_nextInt($this.$rand0, 100000);
}
function nms_EntityEnderCrystal__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_EntityEnderCrystal__init_($this);
    nms_Entity_setWorld($this, $par1World);
    nms_Entity_setPosition($this, $par2, $par4, $par6);
}
function nms_EntityEnderCrystal_canTriggerWalking($this) {
    return 0;
}
function nms_EntityEnderCrystal_entityInit($this) {
    nms_DataWatcher_addObject($this.$dataWatcher, 8, jl_Integer_valueOf($this.$health0));
}
function nms_EntityEnderCrystal_onUpdate($this) {
    var $var1, $var2, $var3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        $this.$innerRotation = $this.$innerRotation + 1 | 0;
        nms_DataWatcher_updateObject($this.$dataWatcher, 8, jl_Integer_valueOf($this.$health0));
        $var1 = nms_MathHelper_floor_double($this.$posX);
        $var2 = nms_MathHelper_floor_double($this.$posY);
        $var3 = nms_MathHelper_floor_double($this.$posZ);
        var$4 = nms_World_getBlockId($this.$worldObj, $var1, $var2, $var3);
        nms_Block_$callClinit();
        if (var$4 == nms_Block_fire.$blockID)
            return;
        var$5 = $this.$worldObj;
        var$4 = nms_Block_fire.$blockID;
        $ptr = 1;
    case 1:
        nms_World_setBlock0(var$5, $var1, $var2, $var3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
}
function nms_EntityEnderCrystal_getShadowSize($this) {
    return 0.0;
}
function nms_EntityEnderCrystal_canBeCollidedWith($this) {
    return 1;
}
function nms_EntityEnderCrystal_attackEntityFrom($this, $par1DamageSource, $par2) {
    if (!$this.$invulnerable)
        return 1;
    return 0;
}
function nms_RenderEnderCrystal() {
    var a = this; nms_Render.call(a);
    a.$field_76996_a = 0;
    a.$field_76995_b = null;
}
var nms_RenderEnderCrystal_tex = null;
function nms_RenderEnderCrystal__init_0() {
    var var_0 = new nms_RenderEnderCrystal();
    nms_RenderEnderCrystal__init_(var_0);
    return var_0;
}
function nms_RenderEnderCrystal__init_($this) {
    nms_Render__init_0($this);
    $this.$field_76996_a = (-1);
    $this.$shadowSize = 0.5;
}
function nms_RenderEnderCrystal_doRenderEnderCrystal($this, $par1EntityEnderCrystal, $par2, $par4, $par6, $par8, $par9) {
    var var$7, $var10, var$9, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();var$9 = $thread.pop();$var10 = $thread.pop();var$7 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityEnderCrystal = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$field_76996_a != 1) {
            var$7 = new nms_ModelEnderCrystal;
            nms_ModelBase__init_0(var$7);
            var$7.$glass = nms_ModelRenderer__init_0(var$7, $rt_s(1688));
            nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset(var$7.$glass, 0, 0), (-4.0), (-4.0), (-4.0), 8, 8, 8);
            var$7.$cube = nms_ModelRenderer__init_0(var$7, $rt_s(1689));
            nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset(var$7.$cube, 32, 0), (-4.0), (-4.0), (-4.0), 8, 8, 8);
            var$7.$base = nms_ModelRenderer__init_0(var$7, $rt_s(1690));
            nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset(var$7.$base, 0, 16), (-6.0), 0.0, (-6.0), 12, 4, 12);
            $this.$field_76995_b = var$7;
            $this.$field_76996_a = 1;
        }
        $var10 = $par1EntityEnderCrystal.$innerRotation + $par9;
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        var$9 = nms_RenderEnderCrystal_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = nms_MathHelper_sin($var10 * 0.20000000298023224) / 2.0 + 0.5;
        $par9 = $var11 + $var11 * $var11;
        nms_ModelEnderCrystal_render($this.$field_76995_b, $par1EntityEnderCrystal, 0.0, $var10 * 3.0, $par9 * 0.20000000298023224, 0.0, 0.0, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityEnderCrystal, $par2, $par4, $par6, $par8, $par9, var$7, $var10, var$9, $var11, $ptr);
}
function nms_RenderEnderCrystal_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderEnderCrystal_doRenderEnderCrystal($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderEnderCrystal__clinit_() {
    nms_RenderEnderCrystal_tex = nle_TextureLocation__init_($rt_s(1691));
}
function nms_EntityWither() {
    var a = this; nms_EntityMob.call(a);
    a.$field_82220_d = null;
    a.$field_82221_e = null;
    a.$field_82217_f = null;
    a.$field_82218_g = null;
    a.$field_82223_h = null;
    a.$field_82224_i = null;
    a.$field_82222_j = 0;
}
var nms_EntityWither_attackEntitySelector = null;
function nms_EntityWither__init_0() {
    var var_0 = new nms_EntityWither();
    nms_EntityWither__init_(var_0);
    return var_0;
}
function nms_EntityWither__init_($this) {
    nms_EntityMob__init_0($this);
    $this.$field_82220_d = $rt_createFloatArray(2);
    $this.$field_82221_e = $rt_createFloatArray(2);
    $this.$field_82217_f = $rt_createFloatArray(2);
    $this.$field_82218_g = $rt_createFloatArray(2);
    $this.$field_82223_h = $rt_createIntArray(2);
    $this.$field_82224_i = $rt_createIntArray(2);
    nms_EntityLiving_setEntityHealth($this, 300);
    nms_Entity_setSize($this, 0.8999999761581421, 4.0);
    $this.$isImmuneToFire = 1;
    $this.$moveSpeed = 0.6000000238418579;
    $this.$experienceValue = 50;
}
function nms_EntityWither_entityInit($this) {
    nms_EntityLiving_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Integer__init_(100));
    nms_DataWatcher_addObject($this.$dataWatcher, 17, jl_Integer__init_(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 18, jl_Integer__init_(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 19, jl_Integer__init_(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 20, jl_Integer__init_(0));
}
function nms_EntityWither_getShadowSize($this) {
    return $this.$height0 / 8.0;
}
function nms_EntityWither_getLivingSound($this) {
    return $rt_s(1692);
}
function nms_EntityWither_getHurtSound($this) {
    return $rt_s(1693);
}
function nms_EntityWither_getDeathSound($this) {
    return $rt_s(1694);
}
function nms_EntityWither_isInvul($this) {
    var $var1, var$2;
    a: {
        b: {
            $var1 = nms_EntityWither_func_82212_n($this);
            if ($var1 > 0) {
                if ($var1 > 80)
                    break b;
                if ((($var1 / 5 | 0) % 2 | 0) != 1)
                    break b;
            }
            var$2 = 0;
            break a;
        }
        var$2 = 1;
    }
    return var$2;
}
function nms_EntityWither_onLivingUpdate($this) {
    var $var20, $var22, $var21, $var3, $var4, $var6, $var8, $var10, $var12, $var14, $var16, $var18, $var19, $var23, $var5, $var7, var$17, var$18, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var23 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var21 = $thread.pop();$var22 = $thread.pop();$var20 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$motionY = $this.$motionY * 0.6000000238418579;
        if ($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ > 0.05000000074505806)
            $this.$rotationYaw = jl_Math_atan2($this.$motionZ, $this.$motionX) * 57.2957763671875 - 90.0;
        $ptr = 1;
    case 1:
        nms_EntityMob_onLivingUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        $var20 = 0;
        while ($var20 < 2) {
            $this.$field_82218_g.data[$var20] = $this.$field_82221_e.data[$var20];
            $this.$field_82217_f.data[$var20] = $this.$field_82220_d.data[$var20];
            $var20 = $var20 + 1 | 0;
        }
        $var20 = 0;
        while ($var20 < 2) {
            $var22 = $var20 + 1 | 0;
            $var21 = nms_EntityWither_getWatchedTargetId($this, $var22);
            $var3 = null;
            if ($var21 > 0)
                $var3 = nms_WorldClient_getEntityByID($this.$worldObj, $var21);
            if ($var3 === null)
                $this.$field_82221_e.data[$var20] = nms_EntityWither_func_82204_b($this, $this.$field_82221_e.data[$var20], $this.$renderYawOffset, 10.0);
            else {
                $var4 = nms_EntityWither_func_82214_u($this, $var22);
                $var6 = nms_EntityWither_func_82208_v($this, $var22);
                $var8 = nms_EntityWither_func_82213_w($this, $var22);
                $var10 = $var3.$posX - $var4;
                $var12 = $var3.$posY + $var3.$getEyeHeight() - $var6;
                $var14 = $var3.$posZ - $var8;
                $var16 = nms_MathHelper_sqrt_double($var10 * $var10 + $var14 * $var14);
                $var18 = jl_Math_atan2($var14, $var10) * 180.0 / 3.141592653589793 - 90.0;
                $var19 =  -(jl_Math_atan2($var12, $var16) * 180.0 / 3.141592653589793);
                $this.$field_82220_d.data[$var20] = nms_EntityWither_func_82204_b($this, $this.$field_82220_d.data[$var20], $var19, 40.0);
                $this.$field_82221_e.data[$var20] = nms_EntityWither_func_82204_b($this, $this.$field_82221_e.data[$var20], $var18, 10.0);
            }
            $var20 = $var22;
        }
        $var22 = nms_EntityWither_isArmored($this);
        $var21 = 0;
        if ($var21 < 3) {
            $var23 = nms_EntityWither_func_82214_u($this, $var21);
            $var5 = nms_EntityWither_func_82208_v($this, $var21);
            $var7 = nms_EntityWither_func_82213_w($this, $var21);
            $var3 = $this.$worldObj;
            var$17 = $rt_s(1166);
            $var4 = $var23 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var6 = $var5 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var8 = $var7 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var10 = 0.0;
            $var12 = 0.0;
            $var14 = 0.0;
            $ptr = 2;
            continue main;
        }
        if (nms_EntityWither_func_82212_n($this) > 0) {
            $var20 = 0;
            if ($var20 < 3) {
                $var3 = $this.$worldObj;
                var$17 = $rt_s(1045);
                $var5 = $this.$posX + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 1.0;
                $var7 = $this.$posY + nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.299999952316284;
                $var4 = $this.$posZ + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 1.0;
                $var6 = 0.699999988079071;
                $var8 = 0.699999988079071;
                $var23 = 0.8999999761581421;
                $ptr = 4;
                continue main;
            }
        }
        return;
    case 2:
        nms_World_spawnParticle($var3, var$17, $var4, $var6, $var8, $var10, $var12, $var14);
        if ($rt_suspending()) {
            break main;
        }
        if ($var22 && !nle_EaglercraftRandom_nextInt($this.$worldObj.$rand, 4)) {
            var$17 = $this.$worldObj;
            var$18 = $rt_s(1045);
            $var6 = $var23 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var8 = $var5 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var23 = $var7 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var5 = 0.699999988079071;
            $var7 = 0.699999988079071;
            $var4 = 0.5;
            $ptr = 3;
            continue main;
        }
        $var21 = $var21 + 1 | 0;
        if ($var21 < 3) {
            $var23 = nms_EntityWither_func_82214_u($this, $var21);
            $var5 = nms_EntityWither_func_82208_v($this, $var21);
            $var7 = nms_EntityWither_func_82213_w($this, $var21);
            $var3 = $this.$worldObj;
            var$17 = $rt_s(1166);
            $var4 = $var23 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var6 = $var5 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var8 = $var7 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var10 = 0.0;
            $var12 = 0.0;
            $var14 = 0.0;
            continue main;
        }
        if (nms_EntityWither_func_82212_n($this) > 0) {
            $var20 = 0;
            if ($var20 < 3) {
                $var3 = $this.$worldObj;
                var$17 = $rt_s(1045);
                $var5 = $this.$posX + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 1.0;
                $var7 = $this.$posY + nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.299999952316284;
                $var4 = $this.$posZ + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 1.0;
                $var6 = 0.699999988079071;
                $var8 = 0.699999988079071;
                $var23 = 0.8999999761581421;
                $ptr = 4;
                continue main;
            }
        }
        return;
    case 3:
        nms_World_spawnParticle(var$17, var$18, $var6, $var8, $var23, $var5, $var7, $var4);
        if ($rt_suspending()) {
            break main;
        }
        $var21 = $var21 + 1 | 0;
        if ($var21 < 3) {
            $var23 = nms_EntityWither_func_82214_u($this, $var21);
            $var5 = nms_EntityWither_func_82208_v($this, $var21);
            $var7 = nms_EntityWither_func_82213_w($this, $var21);
            $var3 = $this.$worldObj;
            var$17 = $rt_s(1166);
            $var4 = $var23 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var6 = $var5 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var8 = $var7 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.30000001192092896;
            $var10 = 0.0;
            $var12 = 0.0;
            $var14 = 0.0;
            $ptr = 2;
            continue main;
        }
        if (nms_EntityWither_func_82212_n($this) > 0) {
            $var20 = 0;
            if ($var20 < 3) {
                $var3 = $this.$worldObj;
                var$17 = $rt_s(1045);
                $var5 = $this.$posX + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 1.0;
                $var7 = $this.$posY + nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.299999952316284;
                $var4 = $this.$posZ + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 1.0;
                $var6 = 0.699999988079071;
                $var8 = 0.699999988079071;
                $var23 = 0.8999999761581421;
                $ptr = 4;
                continue main;
            }
        }
        return;
    case 4:
        nms_World_spawnParticle($var3, var$17, $var5, $var7, $var4, $var6, $var8, $var23);
        if ($rt_suspending()) {
            break main;
        }
        $var20 = $var20 + 1 | 0;
        if ($var20 >= 3)
            return;
        $var3 = $this.$worldObj;
        var$17 = $rt_s(1045);
        $var5 = $this.$posX + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 1.0;
        $var7 = $this.$posY + nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.299999952316284;
        $var4 = $this.$posZ + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 1.0;
        $var6 = 0.699999988079071;
        $var8 = 0.699999988079071;
        $var23 = 0.8999999761581421;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var20, $var22, $var21, $var3, $var4, $var6, $var8, $var10, $var12, $var14, $var16, $var18, $var19, $var23, $var5, $var7, var$17, var$18, $ptr);
}
function nms_EntityWither_updateAITasks($this) {
    var $var1, $var13, $var4, $var8, $var6, var$6, $var12, $var12_0, $var15, $var17, $var18, $var14, $var19, $var7, $var20, $var9, $var10, $var11, var$19, $var10003, $var16, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var16 = $thread.pop();$var10003 = $thread.pop();var$19 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var20 = $thread.pop();$var7 = $thread.pop();$var19 = $thread.pop();$var14 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var12_0 = $thread.pop();$var12 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var8 = $thread.pop();$var4 = $thread.pop();$var13 = $thread.pop();$var1
        = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_EntityWither_func_82212_n($this) <= 0) {
            $ptr = 1;
            continue main;
        }
        $var1 = nms_EntityWither_func_82212_n($this) - 1 | 0;
        if ($var1 > 0) {
            nms_EntityWither_func_82215_s($this, $var1);
            if (!($this.$ticksExisted % 10 | 0))
                nms_EntityLiving_heal($this, 10);
            return;
        }
        $var13 = $this.$worldObj;
        $var4 = $this.$posX;
        $var8 = $this.$posY + nms_EntityLiving_getEyeHeight($this);
        $var6 = $this.$posZ;
        var$6 = 7.0;
        $var12 = 0;
        $var12_0 = nms_GameRules_getGameRuleBooleanValue(nms_World_getGameRules($this.$worldObj), $rt_s(1695));
        $ptr = 2;
        continue main;
    case 1:
        nms_EntityLiving_updateAITasks($this);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = 1;
        a: while (true) {
            if ($var1 >= 3) {
                if (nms_EntityLiving_getAttackTarget($this) === null)
                    nms_EntityWither_func_82211_c($this, 0, 0);
                else
                    nms_EntityWither_func_82211_c($this, 0, nms_EntityLiving_getAttackTarget($this).$entityId);
                b: {
                    if ($this.$field_82222_j > 0) {
                        $this.$field_82222_j = $this.$field_82222_j - 1 | 0;
                        if (!$this.$field_82222_j && nms_GameRules_getGameRuleBooleanValue(nms_World_getGameRules($this.$worldObj), $rt_s(1695))) {
                            $var12 = nms_MathHelper_floor_double($this.$posY);
                            $var12_0 = nms_MathHelper_floor_double($this.$posX);
                            $var15 = nms_MathHelper_floor_double($this.$posZ);
                            $var17 = 0;
                            $var18 = (-1);
                            c: while (true) {
                                if ($var18 > 1) {
                                    if (!$var17)
                                        break b;
                                    else {
                                        $var14 = $this.$worldObj;
                                        $var13 = null;
                                        $var1 = 1012;
                                        $var12_0 = $this.$posX | 0;
                                        $var15 = $this.$posY | 0;
                                        $var17 = $this.$posZ | 0;
                                        $var12 = 0;
                                        $ptr = 7;
                                        continue main;
                                    }
                                }
                                $var19 = (-1);
                                while ($var19 <= 1) {
                                    $var7 = 0;
                                    while ($var7 <= 3) {
                                        $var20 = $var12_0 + $var18 | 0;
                                        $var9 = $var12 + $var7 | 0;
                                        $var10 = $var15 + $var19 | 0;
                                        $var11 = nms_World_getBlockId($this.$worldObj, $var20, $var9, $var10);
                                        if ($var11 > 0) {
                                            nms_Block_$callClinit();
                                            if ($var11 != nms_Block_bedrock.$blockID && $var11 != nms_Block_endPortal.$blockID && $var11 != nms_Block_endPortalFrame.$blockID)
                                                break c;
                                        }
                                        $var7 = $var7 + 1 | 0;
                                    }
                                    $var19 = $var19 + 1 | 0;
                                }
                                $var18 = $var18 + 1 | 0;
                            }
                            $var14 = $this.$worldObj;
                            $var1 = 1;
                            $ptr = 9;
                            continue main;
                        }
                    }
                }
                if (!($this.$ticksExisted % 20 | 0))
                    nms_EntityLiving_heal($this, 1);
                return;
            }
            d: {
                $var12 = $this.$ticksExisted;
                var$19 = $this.$field_82223_h.data;
                $var12_0 = $var1 - 1 | 0;
                if ($var12 >= var$19[$var12_0]) {
                    $this.$field_82223_h.data[$var12_0] = ($this.$ticksExisted + 10 | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 10) | 0;
                    if ($this.$worldObj.$difficultySetting >= 2) {
                        $var10003 = $this.$field_82224_i.data[$var12_0];
                        $this.$field_82224_i.data[$var12_0] = $this.$field_82224_i.data[$var12_0] + 1 | 0;
                        if ($var10003 > 15) {
                            $var4 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posX - 10.0, $this.$posX + 10.0);
                            $var6 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posY - 5.0, $this.$posY + 5.0);
                            $var8 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posZ - 10.0, $this.$posZ + 10.0);
                            $var15 = $var1 + 1 | 0;
                            $var12 = 1;
                            $ptr = 4;
                            continue main;
                        }
                    }
                    $var12 = nms_EntityWither_getWatchedTargetId($this, $var1);
                    if ($var12 > 0) {
                        $var14 = nms_WorldClient_getEntityByID($this.$worldObj, $var12);
                        if ($var14 !== null && $var14.$isEntityAlive() && nms_Entity_getDistanceSqToEntity($this, $var14) <= 900.0) {
                            $ptr = 5;
                            continue main;
                        }
                        nms_EntityWither_func_82211_c($this, $var1, 0);
                    } else {
                        $var13 = nms_World_selectEntitiesWithinAABB($this.$worldObj, $rt_cls(nms_EntityLiving), nms_AxisAlignedBB_expand($this.$boundingBox, 20.0, 8.0, 20.0), nms_EntityWither_attackEntitySelector);
                        $var16 = 0;
                        while (true) {
                            if ($var16 >= 10)
                                break d;
                            if (ju_AbstractCollection_isEmpty($var13))
                                break d;
                            $var5 = ju_ArrayList_get($var13, nle_EaglercraftRandom_nextInt($this.$rand0, ju_ArrayList_size($var13)));
                            if ($var5 !== $this && nms_EntityLiving_isEntityAlive($var5))
                                break a;
                            ju_ArrayList_remove0($var13, $var5);
                            $var16 = $var16 + 1 | 0;
                        }
                    }
                }
            }
            $var1 = $var1 + 1 | 0;
        }
        $ptr = 8;
        continue main;
    case 2:
        nms_World_newExplosion($var13, $this, $var4, $var8, $var6, var$6, $var12, $var12_0);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $this.$worldObj;
        $var12 = 1013;
        $var12_0 = $this.$posX | 0;
        $var15 = $this.$posY | 0;
        $var17 = $this.$posZ | 0;
        $var18 = 0;
        $ptr = 3;
    case 3:
        nms_World_func_82739_e($var14, $var12, $var12_0, $var15, $var17, $var18);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityWither_func_82215_s($this, $var1);
        if (!($this.$ticksExisted % 10 | 0))
            nms_EntityLiving_heal($this, 10);
        return;
    case 4:
        nms_EntityWither_func_82209_a($this, $var15, $var4, $var6, $var8, $var12);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_82224_i.data[$var12_0] = 0;
        a: while (true) {
            d: {
                $var12 = nms_EntityWither_getWatchedTargetId($this, $var1);
                if ($var12 <= 0) {
                    $var13 = nms_World_selectEntitiesWithinAABB($this.$worldObj, $rt_cls(nms_EntityLiving), nms_AxisAlignedBB_expand($this.$boundingBox, 20.0, 8.0, 20.0), nms_EntityWither_attackEntitySelector);
                    $var16 = 0;
                    while (true) {
                        if ($var16 >= 10)
                            break d;
                        if (ju_AbstractCollection_isEmpty($var13))
                            break d;
                        $var5 = ju_ArrayList_get($var13, nle_EaglercraftRandom_nextInt($this.$rand0, ju_ArrayList_size($var13)));
                        if ($var5 !== $this && nms_EntityLiving_isEntityAlive($var5))
                            break a;
                        ju_ArrayList_remove0($var13, $var5);
                        $var16 = $var16 + 1 | 0;
                    }
                }
                $var14 = nms_WorldClient_getEntityByID($this.$worldObj, $var12);
                if ($var14 !== null && $var14.$isEntityAlive() && nms_Entity_getDistanceSqToEntity($this, $var14) <= 900.0) {
                    $ptr = 5;
                    continue main;
                }
                nms_EntityWither_func_82211_c($this, $var1, 0);
            }
            while (true) {
                $var1 = $var1 + 1 | 0;
                if ($var1 >= 3) {
                    if (nms_EntityLiving_getAttackTarget($this) === null)
                        nms_EntityWither_func_82211_c($this, 0, 0);
                    else
                        nms_EntityWither_func_82211_c($this, 0, nms_EntityLiving_getAttackTarget($this).$entityId);
                    b: {
                        if ($this.$field_82222_j > 0) {
                            $this.$field_82222_j = $this.$field_82222_j - 1 | 0;
                            if (!$this.$field_82222_j && nms_GameRules_getGameRuleBooleanValue(nms_World_getGameRules($this.$worldObj), $rt_s(1695))) {
                                $var12 = nms_MathHelper_floor_double($this.$posY);
                                $var12_0 = nms_MathHelper_floor_double($this.$posX);
                                $var15 = nms_MathHelper_floor_double($this.$posZ);
                                $var17 = 0;
                                $var18 = (-1);
                                c: while (true) {
                                    if ($var18 > 1) {
                                        if (!$var17)
                                            break b;
                                        else {
                                            $var14 = $this.$worldObj;
                                            $var13 = null;
                                            $var1 = 1012;
                                            $var12_0 = $this.$posX | 0;
                                            $var15 = $this.$posY | 0;
                                            $var17 = $this.$posZ | 0;
                                            $var12 = 0;
                                            $ptr = 7;
                                            continue main;
                                        }
                                    }
                                    $var19 = (-1);
                                    while ($var19 <= 1) {
                                        $var7 = 0;
                                        while ($var7 <= 3) {
                                            $var20 = $var12_0 + $var18 | 0;
                                            $var9 = $var12 + $var7 | 0;
                                            $var10 = $var15 + $var19 | 0;
                                            $var11 = nms_World_getBlockId($this.$worldObj, $var20, $var9, $var10);
                                            if ($var11 > 0) {
                                                nms_Block_$callClinit();
                                                if ($var11 != nms_Block_bedrock.$blockID && $var11 != nms_Block_endPortal.$blockID && $var11 != nms_Block_endPortalFrame.$blockID)
                                                    break c;
                                            }
                                            $var7 = $var7 + 1 | 0;
                                        }
                                        $var19 = $var19 + 1 | 0;
                                    }
                                    $var18 = $var18 + 1 | 0;
                                }
                                $var14 = $this.$worldObj;
                                $var1 = 1;
                                $ptr = 9;
                                continue main;
                            }
                        }
                    }
                    if (!($this.$ticksExisted % 20 | 0))
                        nms_EntityLiving_heal($this, 1);
                    return;
                }
                $var12 = $this.$ticksExisted;
                var$19 = $this.$field_82223_h.data;
                $var12_0 = $var1 - 1 | 0;
                if ($var12 < var$19[$var12_0])
                    continue;
                else
                    break;
            }
            $this.$field_82223_h.data[$var12_0] = ($this.$ticksExisted + 10 | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 10) | 0;
            if ($this.$worldObj.$difficultySetting < 2)
                continue;
            $var10003 = $this.$field_82224_i.data[$var12_0];
            $this.$field_82224_i.data[$var12_0] = $this.$field_82224_i.data[$var12_0] + 1 | 0;
            if ($var10003 <= 15)
                continue;
            else {
                $var4 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posX - 10.0, $this.$posX + 10.0);
                $var6 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posY - 5.0, $this.$posY + 5.0);
                $var8 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posZ - 10.0, $this.$posZ + 10.0);
                $var15 = $var1 + 1 | 0;
                $var12 = 1;
                continue main;
            }
        }
        $ptr = 8;
        continue main;
    case 5:
        $tmp = nms_EntityLiving_canEntityBeSeen($this, $var14);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $tmp;
        if ($var12) {
            $var12 = $var1 + 1 | 0;
            $var14 = $var14;
            $ptr = 6;
            continue main;
        }
        while (true) {
            nms_EntityWither_func_82211_c($this, $var1, 0);
            d: while (true) {
                $var1 = $var1 + 1 | 0;
                if ($var1 >= 3) {
                    if (nms_EntityLiving_getAttackTarget($this) === null)
                        nms_EntityWither_func_82211_c($this, 0, 0);
                    else
                        nms_EntityWither_func_82211_c($this, 0, nms_EntityLiving_getAttackTarget($this).$entityId);
                    e: {
                        if ($this.$field_82222_j > 0) {
                            $this.$field_82222_j = $this.$field_82222_j - 1 | 0;
                            if (!$this.$field_82222_j && nms_GameRules_getGameRuleBooleanValue(nms_World_getGameRules($this.$worldObj), $rt_s(1695))) {
                                $var12 = nms_MathHelper_floor_double($this.$posY);
                                $var12_0 = nms_MathHelper_floor_double($this.$posX);
                                $var15 = nms_MathHelper_floor_double($this.$posZ);
                                $var17 = 0;
                                $var18 = (-1);
                                f: while (true) {
                                    if ($var18 > 1) {
                                        if (!$var17)
                                            break e;
                                        else {
                                            $var14 = $this.$worldObj;
                                            $var13 = null;
                                            $var1 = 1012;
                                            $var12_0 = $this.$posX | 0;
                                            $var15 = $this.$posY | 0;
                                            $var17 = $this.$posZ | 0;
                                            $var12 = 0;
                                            $ptr = 7;
                                            continue main;
                                        }
                                    }
                                    $var19 = (-1);
                                    while ($var19 <= 1) {
                                        $var7 = 0;
                                        while ($var7 <= 3) {
                                            $var20 = $var12_0 + $var18 | 0;
                                            $var9 = $var12 + $var7 | 0;
                                            $var10 = $var15 + $var19 | 0;
                                            $var11 = nms_World_getBlockId($this.$worldObj, $var20, $var9, $var10);
                                            if ($var11 > 0) {
                                                nms_Block_$callClinit();
                                                if ($var11 != nms_Block_bedrock.$blockID && $var11 != nms_Block_endPortal.$blockID && $var11 != nms_Block_endPortalFrame.$blockID)
                                                    break f;
                                            }
                                            $var7 = $var7 + 1 | 0;
                                        }
                                        $var19 = $var19 + 1 | 0;
                                    }
                                    $var18 = $var18 + 1 | 0;
                                }
                                $var14 = $this.$worldObj;
                                $var1 = 1;
                                $ptr = 9;
                                continue main;
                            }
                        }
                    }
                    if (!($this.$ticksExisted % 20 | 0))
                        nms_EntityLiving_heal($this, 1);
                    return;
                }
                $var12 = $this.$ticksExisted;
                var$19 = $this.$field_82223_h.data;
                $var12_0 = $var1 - 1 | 0;
                if ($var12 < var$19[$var12_0])
                    continue;
                $this.$field_82223_h.data[$var12_0] = ($this.$ticksExisted + 10 | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 10) | 0;
                if ($this.$worldObj.$difficultySetting >= 2) {
                    $var10003 = $this.$field_82224_i.data[$var12_0];
                    $this.$field_82224_i.data[$var12_0] = $this.$field_82224_i.data[$var12_0] + 1 | 0;
                    if ($var10003 > 15) {
                        $var4 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posX - 10.0, $this.$posX + 10.0);
                        $var6 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posY - 5.0, $this.$posY + 5.0);
                        $var8 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posZ - 10.0, $this.$posZ + 10.0);
                        $var15 = $var1 + 1 | 0;
                        $var12 = 1;
                        $ptr = 4;
                        continue main;
                    }
                }
                $var12 = nms_EntityWither_getWatchedTargetId($this, $var1);
                if ($var12 > 0)
                    break;
                $var13 = nms_World_selectEntitiesWithinAABB($this.$worldObj, $rt_cls(nms_EntityLiving), nms_AxisAlignedBB_expand($this.$boundingBox, 20.0, 8.0, 20.0), nms_EntityWither_attackEntitySelector);
                $var16 = 0;
                while (true) {
                    if ($var16 >= 10)
                        continue d;
                    if (ju_AbstractCollection_isEmpty($var13))
                        continue d;
                    $var5 = ju_ArrayList_get($var13, nle_EaglercraftRandom_nextInt($this.$rand0, ju_ArrayList_size($var13)));
                    if ($var5 !== $this && nms_EntityLiving_isEntityAlive($var5)) {
                        $ptr = 8;
                        continue main;
                    }
                    ju_ArrayList_remove0($var13, $var5);
                    $var16 = $var16 + 1 | 0;
                }
            }
            $var14 = nms_WorldClient_getEntityByID($this.$worldObj, $var12);
            if ($var14 === null)
                continue;
            if (!$var14.$isEntityAlive())
                continue;
            if (nms_Entity_getDistanceSqToEntity($this, $var14) > 900.0)
                continue;
            else
                break;
        }
        continue main;
    case 6:
        nms_EntityWither_func_82216_a($this, $var12, $var14);
        if ($rt_suspending()) {
            break main;
        }
        $this.$field_82223_h.data[$var12_0] = ($this.$ticksExisted + 40 | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 20) | 0;
        $this.$field_82224_i.data[$var12_0] = 0;
        while (true) {
            g: while (true) {
                $var1 = $var1 + 1 | 0;
                if ($var1 >= 3) {
                    if (nms_EntityLiving_getAttackTarget($this) === null)
                        nms_EntityWither_func_82211_c($this, 0, 0);
                    else
                        nms_EntityWither_func_82211_c($this, 0, nms_EntityLiving_getAttackTarget($this).$entityId);
                    b: {
                        if ($this.$field_82222_j > 0) {
                            $this.$field_82222_j = $this.$field_82222_j - 1 | 0;
                            if (!$this.$field_82222_j && nms_GameRules_getGameRuleBooleanValue(nms_World_getGameRules($this.$worldObj), $rt_s(1695))) {
                                $var12 = nms_MathHelper_floor_double($this.$posY);
                                $var12_0 = nms_MathHelper_floor_double($this.$posX);
                                $var15 = nms_MathHelper_floor_double($this.$posZ);
                                $var17 = 0;
                                $var18 = (-1);
                                c: while (true) {
                                    if ($var18 > 1) {
                                        if (!$var17)
                                            break b;
                                        else {
                                            $var14 = $this.$worldObj;
                                            $var13 = null;
                                            $var1 = 1012;
                                            $var12_0 = $this.$posX | 0;
                                            $var15 = $this.$posY | 0;
                                            $var17 = $this.$posZ | 0;
                                            $var12 = 0;
                                            $ptr = 7;
                                            continue main;
                                        }
                                    }
                                    $var19 = (-1);
                                    while ($var19 <= 1) {
                                        $var7 = 0;
                                        while ($var7 <= 3) {
                                            $var20 = $var12_0 + $var18 | 0;
                                            $var9 = $var12 + $var7 | 0;
                                            $var10 = $var15 + $var19 | 0;
                                            $var11 = nms_World_getBlockId($this.$worldObj, $var20, $var9, $var10);
                                            if ($var11 > 0) {
                                                nms_Block_$callClinit();
                                                if ($var11 != nms_Block_bedrock.$blockID && $var11 != nms_Block_endPortal.$blockID && $var11 != nms_Block_endPortalFrame.$blockID)
                                                    break c;
                                            }
                                            $var7 = $var7 + 1 | 0;
                                        }
                                        $var19 = $var19 + 1 | 0;
                                    }
                                    $var18 = $var18 + 1 | 0;
                                }
                                $var14 = $this.$worldObj;
                                $var1 = 1;
                                $ptr = 9;
                                continue main;
                            }
                        }
                    }
                    if (!($this.$ticksExisted % 20 | 0))
                        nms_EntityLiving_heal($this, 1);
                    return;
                }
                $var12 = $this.$ticksExisted;
                var$19 = $this.$field_82223_h.data;
                $var12_0 = $var1 - 1 | 0;
                if ($var12 < var$19[$var12_0])
                    continue;
                $this.$field_82223_h.data[$var12_0] = ($this.$ticksExisted + 10 | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 10) | 0;
                if ($this.$worldObj.$difficultySetting >= 2) {
                    $var10003 = $this.$field_82224_i.data[$var12_0];
                    $this.$field_82224_i.data[$var12_0] = $this.$field_82224_i.data[$var12_0] + 1 | 0;
                    if ($var10003 > 15) {
                        $var4 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posX - 10.0, $this.$posX + 10.0);
                        $var6 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posY - 5.0, $this.$posY + 5.0);
                        $var8 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posZ - 10.0, $this.$posZ + 10.0);
                        $var15 = $var1 + 1 | 0;
                        $var12 = 1;
                        $ptr = 4;
                        continue main;
                    }
                }
                $var12 = nms_EntityWither_getWatchedTargetId($this, $var1);
                if ($var12 > 0)
                    break;
                $var13 = nms_World_selectEntitiesWithinAABB($this.$worldObj, $rt_cls(nms_EntityLiving), nms_AxisAlignedBB_expand($this.$boundingBox, 20.0, 8.0, 20.0), nms_EntityWither_attackEntitySelector);
                $var16 = 0;
                while (true) {
                    if ($var16 >= 10)
                        continue g;
                    if (ju_AbstractCollection_isEmpty($var13))
                        continue g;
                    $var5 = ju_ArrayList_get($var13, nle_EaglercraftRandom_nextInt($this.$rand0, ju_ArrayList_size($var13)));
                    if ($var5 !== $this && nms_EntityLiving_isEntityAlive($var5)) {
                        $ptr = 8;
                        continue main;
                    }
                    ju_ArrayList_remove0($var13, $var5);
                    $var16 = $var16 + 1 | 0;
                }
            }
            $var14 = nms_WorldClient_getEntityByID($this.$worldObj, $var12);
            if ($var14 !== null && $var14.$isEntityAlive() && nms_Entity_getDistanceSqToEntity($this, $var14) <= 900.0)
                break;
            nms_EntityWither_func_82211_c($this, $var1, 0);
        }
        $ptr = 5;
        continue main;
    case 7:
        nms_World_playAuxSFXAtEntity($var14, $var13, $var1, $var12_0, $var15, $var17, $var12);
        if ($rt_suspending()) {
            break main;
        }
        if (!($this.$ticksExisted % 20 | 0))
            nms_EntityLiving_heal($this, 1);
        return;
    case 8:
        a: {
            g: {
                $tmp = nms_EntityLiving_canEntityBeSeen($this, $var5);
                if ($rt_suspending()) {
                    break main;
                }
                $var12 = $tmp;
                if (!$var12)
                    while (true) {
                        ju_ArrayList_remove0($var13, $var5);
                        $var12 = 1;
                        $var16 = $var16 + $var12 | 0;
                        $var12 = 10;
                        $var12 = $rt_compare($var16, $var12);
                        if ($var12 >= 0)
                            break g;
                        $var12 = ju_AbstractCollection_isEmpty($var13);
                        if ($var12)
                            break g;
                        $var14 = $this.$rand0;
                        $var12 = ju_ArrayList_size($var13);
                        $var12 = nle_EaglercraftRandom_nextInt($var14, $var12);
                        $var14 = ju_ArrayList_get($var13, $var12);
                        $var5 = $var14;
                        if ($var5 === $this)
                            continue;
                        $var12 = nms_EntityLiving_isEntityAlive($var5);
                        if (!$var12)
                            continue;
                        else
                            break a;
                    }
                if (!($var5 instanceof nms_EntityPlayer))
                    nms_EntityWither_func_82211_c($this, $var1, $var5.$entityId);
                else if (!$var5.$capabilities.$disableDamage)
                    nms_EntityWither_func_82211_c($this, $var1, $var5.$entityId);
            }
            h: while (true) {
                $var1 = $var1 + 1 | 0;
                if ($var1 >= 3) {
                    if (nms_EntityLiving_getAttackTarget($this) === null)
                        nms_EntityWither_func_82211_c($this, 0, 0);
                    else
                        nms_EntityWither_func_82211_c($this, 0, nms_EntityLiving_getAttackTarget($this).$entityId);
                    i: {
                        if ($this.$field_82222_j > 0) {
                            $this.$field_82222_j = $this.$field_82222_j - 1 | 0;
                            if (!$this.$field_82222_j && nms_GameRules_getGameRuleBooleanValue(nms_World_getGameRules($this.$worldObj), $rt_s(1695))) {
                                $var12 = nms_MathHelper_floor_double($this.$posY);
                                $var12_0 = nms_MathHelper_floor_double($this.$posX);
                                $var15 = nms_MathHelper_floor_double($this.$posZ);
                                $var17 = 0;
                                $var18 = (-1);
                                j: while (true) {
                                    if ($var18 > 1) {
                                        if (!$var17)
                                            break i;
                                        else {
                                            $var14 = $this.$worldObj;
                                            $var13 = null;
                                            $var1 = 1012;
                                            $var12_0 = $this.$posX | 0;
                                            $var15 = $this.$posY | 0;
                                            $var17 = $this.$posZ | 0;
                                            $var12 = 0;
                                            $ptr = 7;
                                            continue main;
                                        }
                                    }
                                    $var19 = (-1);
                                    while ($var19 <= 1) {
                                        $var7 = 0;
                                        while ($var7 <= 3) {
                                            $var20 = $var12_0 + $var18 | 0;
                                            $var9 = $var12 + $var7 | 0;
                                            $var10 = $var15 + $var19 | 0;
                                            $var11 = nms_World_getBlockId($this.$worldObj, $var20, $var9, $var10);
                                            if ($var11 > 0) {
                                                nms_Block_$callClinit();
                                                if ($var11 != nms_Block_bedrock.$blockID && $var11 != nms_Block_endPortal.$blockID && $var11 != nms_Block_endPortalFrame.$blockID)
                                                    break j;
                                            }
                                            $var7 = $var7 + 1 | 0;
                                        }
                                        $var19 = $var19 + 1 | 0;
                                    }
                                    $var18 = $var18 + 1 | 0;
                                }
                                $var14 = $this.$worldObj;
                                $var1 = 1;
                                $ptr = 9;
                                continue main;
                            }
                        }
                    }
                    if (!($this.$ticksExisted % 20 | 0))
                        nms_EntityLiving_heal($this, 1);
                    return;
                }
                $var12 = $this.$ticksExisted;
                var$19 = $this.$field_82223_h.data;
                $var12_0 = $var1 - 1 | 0;
                if ($var12 < var$19[$var12_0])
                    continue;
                $this.$field_82223_h.data[$var12_0] = ($this.$ticksExisted + 10 | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 10) | 0;
                if ($this.$worldObj.$difficultySetting >= 2) {
                    $var10003 = $this.$field_82224_i.data[$var12_0];
                    $this.$field_82224_i.data[$var12_0] = $this.$field_82224_i.data[$var12_0] + 1 | 0;
                    if ($var10003 > 15) {
                        $var4 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posX - 10.0, $this.$posX + 10.0);
                        $var6 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posY - 5.0, $this.$posY + 5.0);
                        $var8 = nms_MathHelper_getRandomDoubleInRange($this.$rand0, $this.$posZ - 10.0, $this.$posZ + 10.0);
                        $var15 = $var1 + 1 | 0;
                        $var12 = 1;
                        $ptr = 4;
                        continue main;
                    }
                }
                $var12 = nms_EntityWither_getWatchedTargetId($this, $var1);
                if ($var12 <= 0) {
                    $var13 = nms_World_selectEntitiesWithinAABB($this.$worldObj, $rt_cls(nms_EntityLiving), nms_AxisAlignedBB_expand($this.$boundingBox, 20.0, 8.0, 20.0), nms_EntityWither_attackEntitySelector);
                    $var16 = 0;
                    while (true) {
                        $var12 = 10;
                        $var12 = $rt_compare($var16, $var12);
                        if ($var12 >= 0)
                            continue h;
                        $var12 = ju_AbstractCollection_isEmpty($var13);
                        if ($var12)
                            continue h;
                        $var14 = $this.$rand0;
                        $var12 = ju_ArrayList_size($var13);
                        $var12 = nle_EaglercraftRandom_nextInt($var14, $var12);
                        $var14 = ju_ArrayList_get($var13, $var12);
                        $var5 = $var14;
                        if ($var5 !== $this) {
                            $var12 = nms_EntityLiving_isEntityAlive($var5);
                            if ($var12)
                                break a;
                        }
                        ju_ArrayList_remove0($var13, $var5);
                        $var12 = 1;
                        $var16 = $var16 + $var12 | 0;
                    }
                }
                $var14 = nms_WorldClient_getEntityByID($this.$worldObj, $var12);
                if ($var14 !== null && $var14.$isEntityAlive() && nms_Entity_getDistanceSqToEntity($this, $var14) <= 900.0) {
                    $ptr = 5;
                    continue main;
                }
                nms_EntityWither_func_82211_c($this, $var1, 0);
            }
        }
        continue main;
    case 9:
        $tmp = nms_World_destroyBlock($var14, $var20, $var9, $var10, $var1);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        $var17 = !$var1 && !$var17 ? 0 : 1;
        while (true) {
            $var7 = $var7 + 1 | 0;
            while ($var7 > 3) {
                $var19 = $var19 + 1 | 0;
                while ($var19 > 1) {
                    $var18 = $var18 + 1 | 0;
                    if ($var18 > 1) {
                        if (!$var17) {
                            if (!($this.$ticksExisted % 20 | 0))
                                nms_EntityLiving_heal($this, 1);
                            return;
                        }
                        $var14 = $this.$worldObj;
                        $var13 = null;
                        $var1 = 1012;
                        $var12_0 = $this.$posX | 0;
                        $var15 = $this.$posY | 0;
                        $var17 = $this.$posZ | 0;
                        $var12 = 0;
                        $ptr = 7;
                        continue main;
                    }
                    $var19 = (-1);
                }
                $var7 = 0;
            }
            $var20 = $var12_0 + $var18 | 0;
            $var9 = $var12 + $var7 | 0;
            $var10 = $var15 + $var19 | 0;
            $var11 = nms_World_getBlockId($this.$worldObj, $var20, $var9, $var10);
            if ($var11 <= 0)
                continue;
            nms_Block_$callClinit();
            if ($var11 == nms_Block_bedrock.$blockID)
                continue;
            if ($var11 == nms_Block_endPortal.$blockID)
                continue;
            if ($var11 != nms_Block_endPortalFrame.$blockID)
                break;
        }
        $var14 = $this.$worldObj;
        $var1 = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var13, $var4, $var8, $var6, var$6, $var12, $var12_0, $var15, $var17, $var18, $var14, $var19, $var7, $var20, $var9, $var10, $var11, var$19, $var10003, $var16, $var5, $ptr);
}
function nms_EntityWither_setInWeb($this) {
    return;
}
function nms_EntityWither_func_82214_u($this, $par1) {
    var $var3;
    if ($par1 <= 0)
        return $this.$posX;
    $var3 = nms_MathHelper_cos(($this.$renderYawOffset + (180 * ($par1 - 1 | 0) | 0)) / 180.0 * 3.1415927410125732);
    return $this.$posX + $var3 * 1.3;
}
function nms_EntityWither_func_82208_v($this, $par1) {
    return $par1 > 0 ? $this.$posY + 2.2 : $this.$posY + 3.0;
}
function nms_EntityWither_func_82213_w($this, $par1) {
    var $var3;
    if ($par1 <= 0)
        return $this.$posZ;
    $var3 = nms_MathHelper_sin(($this.$renderYawOffset + (180 * ($par1 - 1 | 0) | 0)) / 180.0 * 3.1415927410125732);
    return $this.$posZ + $var3 * 1.3;
}
function nms_EntityWither_func_82204_b($this, $par1, $par2, $par3) {
    var $var4;
    $var4 = nms_MathHelper_wrapAngleTo180_float($par2 - $par1);
    if ($var4 > $par3)
        $var4 = $par3;
    $par2 =  -$par3;
    if ($var4 >= $par2)
        $par2 = $var4;
    return $par1 + $par2;
}
function nms_EntityWither_func_82216_a($this, $par1, $par2EntityLiving) {
    var var$3, var$4, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2EntityLiving = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $par2EntityLiving.$posX;
        var$4 = $par2EntityLiving.$posY + $par2EntityLiving.$getEyeHeight() * 0.5;
        var$5 = $par2EntityLiving.$posZ;
        var$6 = !$par1 && nle_EaglercraftRandom_nextFloat($this.$rand0) < 0.0010000000474974513 ? 1 : 0;
        $ptr = 1;
    case 1:
        nms_EntityWither_func_82209_a($this, $par1, var$3, var$4, var$5, var$6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2EntityLiving, var$3, var$4, var$5, var$6, $ptr);
}
function nms_EntityWither_func_82209_a($this, $par1, $par2, $par4, $par6, $par8) {
    var var$6, $var21, var$8, var$9, var$10, var$11, var$12, $var9, $var11, $var13, $var15, $var17, $var19, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var21 = $thread.pop();var$6 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$6 = $this.$worldObj;
        $var21 = null;
        var$8 = 1014;
        var$9 = $this.$posX | 0;
        var$10 = $this.$posY | 0;
        var$11 = $this.$posZ | 0;
        var$12 = 0;
        $ptr = 1;
    case 1:
        nms_World_playAuxSFXAtEntity(var$6, $var21, var$8, var$9, var$10, var$11, var$12);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = nms_EntityWither_func_82214_u($this, $par1);
        $var11 = nms_EntityWither_func_82208_v($this, $par1);
        $var13 = nms_EntityWither_func_82213_w($this, $par1);
        $var15 = $par2 - $var9;
        $var17 = $par4 - $var11;
        $var19 = $par6 - $var13;
        $var21 = new nms_EntityWitherSkull;
        nms_EntityFireball__init_($var21, $this.$worldObj, $this, $var15, $var17, $var19);
        nms_Entity_setSize($var21, 0.3125, 0.3125);
        if ($par8)
            nms_EntityWitherSkull_setInvulnerable($var21, 1);
        $var21.$posY = $var11;
        $var21.$posX = $var9;
        $var21.$posZ = $var13;
        nms_WorldClient_spawnEntityInWorld($this.$worldObj, $var21);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par4, $par6, $par8, var$6, $var21, var$8, var$9, var$10, var$11, var$12, $var9, $var11, $var13, $var15, $var17, $var19, $ptr);
}
function nms_EntityWither_attackEntityFrom($this, $par1DamageSource, $par2) {
    var $var3, $var4, var$5;
    if ($this.$invulnerable)
        return 0;
    if ($par1DamageSource === nms_DamageSource_drown)
        return 0;
    if (nms_EntityWither_func_82212_n($this) > 0)
        return 0;
    if (nms_EntityWither_isArmored($this) && $par1DamageSource.$getSourceOfDamage() instanceof nms_EntityArrow)
        return 0;
    $var3 = $par1DamageSource.$getEntity();
    if ($var3 !== null && !($var3 instanceof nms_EntityPlayer) && $var3 instanceof nms_EntityLiving && $var3.$getCreatureAttribute() === nms_EnumCreatureAttribute_UNDEAD)
        return 0;
    if ($this.$field_82222_j <= 0)
        $this.$field_82222_j = 20;
    $var4 = 0;
    while ($var4 < $this.$field_82224_i.data.length) {
        var$5 = $this.$field_82224_i.data;
        var$5[$var4] = var$5[$var4] + 3 | 0;
        $var4 = $var4 + 1 | 0;
    }
    return nms_EntityMob_attackEntityFrom($this, $par1DamageSource, $par2);
}
function nms_EntityWither_despawnEntity($this) {
    $this.$entityAge = 0;
}
function nms_EntityWither_getBrightnessForRender($this, $par1) {
    return 15728880;
}
function nms_EntityWither_canBeCollidedWith($this) {
    return $this.$isDead ? 0 : 1;
}
function nms_EntityWither_getBossHealth($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 16);
}
function nms_EntityWither_fall($this, $par1) {
    return;
}
function nms_EntityWither_addPotionEffect($this, $par1PotionEffect) {
    return;
}
function nms_EntityWither_isAIEnabled($this) {
    return 1;
}
function nms_EntityWither_getMaxHealth($this) {
    return 300;
}
function nms_EntityWither_func_82207_a($this, $par1) {
    return $this.$field_82221_e.data[$par1];
}
function nms_EntityWither_func_82210_r($this, $par1) {
    return $this.$field_82220_d.data[$par1];
}
function nms_EntityWither_func_82212_n($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 20);
}
function nms_EntityWither_func_82215_s($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 20, jl_Integer_valueOf($par1));
}
function nms_EntityWither_getWatchedTargetId($this, $par1) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 17 + $par1 | 0);
}
function nms_EntityWither_func_82211_c($this, $par1, $par2) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 17 + $par1 | 0, jl_Integer_valueOf($par2));
}
function nms_EntityWither_isArmored($this) {
    return nms_EntityWither_getBossHealth($this) > 150 ? 0 : 1;
}
function nms_EntityWither_getCreatureAttribute($this) {
    return nms_EnumCreatureAttribute_UNDEAD;
}
function nms_EntityWither_mountEntity($this, $par1Entity) {
    $this.$ridingEntity = null;
}
function nms_EntityWither__clinit_() {
    nms_EntityWither_attackEntitySelector = new nms_EntityWitherAttackFilter;
}
function nms_RenderWither() {
    nms_RenderLiving.call(this);
    this.$field_82419_a = 0;
}
var nms_RenderWither_tex_armor = null;
var nms_RenderWither_entityTexture0 = null;
var nms_RenderWither_entityTexture1 = null;
function nms_RenderWither__init_0() {
    var var_0 = new nms_RenderWither();
    nms_RenderWither__init_(var_0);
    return var_0;
}
function nms_RenderWither__init_($this) {
    nms_RenderLiving__init_0($this, nms_ModelWither__init_0(), 1.0);
    $this.$field_82419_a = 32;
}
function nms_RenderWither_func_82418_a($this, $par1EntityWither, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityWither = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_BossStatus_func_82824_a($par1EntityWither, 1);
        if (32 != $this.$field_82419_a) {
            $this.$field_82419_a = 32;
            $this.$mainModel = nms_ModelWither__init_0();
        }
        $ptr = 1;
    case 1:
        nms_RenderLiving_doRenderLiving($this, $par1EntityWither, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityWither, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderWither_func_82415_a($this, $par1EntityWither, $par2) {
    var $var3, $var4;
    $var3 = nms_EntityWither_func_82212_n($par1EntityWither);
    if ($var3 <= 0)
        nleg_EaglerAdapterGL30_glScalef(2.0, 2.0, 2.0);
    else {
        $var4 = 2.0 - ($var3 - $par2) / 220.0 * 0.5;
        nleg_EaglerAdapterGL30_glScalef($var4, $var4, $var4);
    }
}
function nms_RenderWither_func_82417_a($this, $par1EntityWither, $par2, $par3) {
    var $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityWither = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_EntityWither_isArmored($par1EntityWither)) {
            if (!nms_Entity_isInvisible($par1EntityWither))
                nleg_EaglerAdapterGL30_glDepthMask(1);
            else
                nleg_EaglerAdapterGL30_glDepthMask(0);
            if ($par2 == 1) {
                $var4 = $par1EntityWither.$ticksExisted + $par3;
                $par1EntityWither = nms_RenderWither_tex_armor;
                $ptr = 1;
                continue main;
            }
            if ($par2 == 2) {
                nleg_EaglerAdapterGL30_glMatrixMode(5890);
                nleg_EaglerAdapterGL30_glLoadIdentity();
                nleg_EaglerAdapterGL30_glMatrixMode(5888);
                nleg_EaglerAdapterGL30_glEnable(2896);
                nleg_EaglerAdapterGL30_glDisable(3042);
            }
        }
        return (-1);
    case 1:
        nle_TextureLocation_bindTexture($par1EntityWither);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glMatrixMode(5890);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nleg_EaglerAdapterGL30_glTranslatef(nms_MathHelper_cos($var4 * 0.019999999552965164) * 3.0, $var4 * 0.009999999776482582, 0.0);
        $this.$renderPassModel = $this.$mainModel;
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glColor4f(0.5, 0.5, 0.5, 1.0);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glBlendFunc(1, 1);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.009999999776482582), 0.0);
        nleg_EaglerAdapterGL30_glScalef(1.100000023841858, 1.100000023841858, 1.100000023841858);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityWither, $par2, $par3, $var4, $ptr);
}
function nms_RenderWither_func_82416_b($this, $par1EntityWither, $par2, $par3) {
    return (-1);
}
function nms_RenderWither_preRenderCallback($this, $par1EntityLiving, $par2) {
    nms_RenderWither_func_82415_a($this, $par1EntityLiving, $par2);
}
function nms_RenderWither_shouldRenderPass($this, $par1EntityLiving, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        $tmp = nms_RenderWither_func_82417_a($this, $par1EntityLiving, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par3, $ptr);
}
function nms_RenderWither_inheritRenderPass($this, $par1EntityLiving, $par2, $par3) {
    return (-1);
}
function nms_RenderWither_doRenderLiving($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityLiving = $par1EntityLiving;
        $ptr = 1;
    case 1:
        nms_RenderWither_func_82418_a($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderWither_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderWither_func_82418_a($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderWither_bindTexture($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_EntityWither_isInvul($par1EntityLiving)) {
            $par1EntityLiving = nms_RenderWither_entityTexture0;
            $ptr = 1;
            continue main;
        }
        $par1EntityLiving = nms_RenderWither_entityTexture1;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
function nms_RenderWither__clinit_() {
    nms_RenderWither_tex_armor = nle_TextureLocation__init_($rt_s(1696));
    nms_RenderWither_entityTexture0 = nle_TextureLocation__init_($rt_s(1697));
    nms_RenderWither_entityTexture1 = nle_TextureLocation__init_($rt_s(1698));
}
function nms_RenderEntity() {
    nms_Render.call(this);
}
function nms_RenderEntity__init_0() {
    var var_0 = new nms_RenderEntity();
    nms_RenderEntity__init_(var_0);
    return var_0;
}
function nms_RenderEntity__init_($this) {
    nms_Render__init_0($this);
}
function nms_RenderEntity_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    nleg_EaglerAdapterGL30_glPushMatrix();
    nms_Render_renderOffsetAABB($par1Entity.$boundingBox, $par2 - $par1Entity.$lastTickPosX, $par4 - $par1Entity.$lastTickPosY, $par6 - $par1Entity.$lastTickPosZ);
    nleg_EaglerAdapterGL30_glPopMatrix();
}
function nms_EntityHanging() {
    var a = this; nms_Entity.call(a);
    a.$tickCounter1 = 0;
    a.$hangingDirection = 0;
    a.$xPosition0 = 0;
    a.$yPosition1 = 0;
    a.$zPosition0 = 0;
}
function nms_EntityHanging__init_() {
    var var_0 = new nms_EntityHanging();
    nms_EntityHanging__init_0(var_0);
    return var_0;
}
function nms_EntityHanging__init_1(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityHanging();
    nms_EntityHanging__init_2(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_EntityHanging__init_0($this) {
    nms_Entity__init_0($this);
    $this.$tickCounter1 = 0;
    $this.$hangingDirection = 0;
    $this.$yOffset = 0.0;
    nms_Entity_setSize($this, 0.5, 0.5);
}
function nms_EntityHanging__init_2($this, $par1World, $par2, $par3, $par4, $par5) {
    nms_EntityHanging__init_0($this);
    nms_Entity_setWorld($this, $par1World);
    $this.$xPosition0 = $par2;
    $this.$yPosition1 = $par3;
    $this.$zPosition0 = $par4;
}
function nms_EntityHanging_entityInit($this) {
    return;
}
function nms_EntityHanging_setDirection($this, $par1) {
    var $var2, $var3, $var4, var$5, $var8, $var5, $var6, $var7, var$10, var$11;
    $this.$hangingDirection = $par1;
    $var2 = $par1 * 90 | 0;
    $this.$rotationYaw = $var2;
    $this.$prevRotationYaw = $var2;
    $var2 = $this.$func_82329_d();
    $var3 = $this.$func_82330_g();
    $var4 = $this.$func_82329_d();
    var$5 = $rt_compare($par1, 2);
    if (var$5 && $par1)
        $var2 = 0.5;
    else {
        $var4 = 0.5;
        $var8 = nms_Direction_rotateOpposite.data[$par1] * 90 | 0;
        $this.$prevRotationYaw = $var8;
        $this.$rotationYaw = $var8;
    }
    $var2 = $var2 / 32.0;
    $var3 = $var3 / 32.0;
    $var4 = $var4 / 32.0;
    $var5 = $this.$xPosition0 + 0.5;
    $var6 = $this.$yPosition1 + 0.5;
    $var7 = $this.$zPosition0 + 0.5;
    if (!var$5)
        $var7 = $var7 - 0.5625;
    var$10 = $rt_compare($par1, 1);
    if (!var$10)
        $var5 = $var5 - 0.5625;
    if (!$par1)
        $var7 = $var7 + 0.5625;
    var$11 = $rt_compare($par1, 3);
    if (!var$11)
        $var5 = $var5 + 0.5625;
    if (!var$5)
        $var5 = $var5 - nms_EntityHanging_func_70517_b($this, $this.$func_82329_d());
    if (!var$10)
        $var7 = $var7 + nms_EntityHanging_func_70517_b($this, $this.$func_82329_d());
    if (!$par1)
        $var5 = $var5 + nms_EntityHanging_func_70517_b($this, $this.$func_82329_d());
    if (!var$11)
        $var7 = $var7 - nms_EntityHanging_func_70517_b($this, $this.$func_82329_d());
    $var8 = $var6 + nms_EntityHanging_func_70517_b($this, $this.$func_82330_g());
    nms_Entity_setPosition($this, $var5, $var8, $var7);
    nms_AxisAlignedBB_setBounds($this.$boundingBox, $var5 - $var2 + 0.03125, $var8 - $var3 + 0.03125, $var7 - $var4 + 0.03125, $var5 + $var2 + (-0.03125), $var8 + $var3 + (-0.03125), $var7 + $var4 + (-0.03125));
}
function nms_EntityHanging_func_70517_b($this, $par1) {
    return $par1 == 32 ? 0.5 : $par1 != 64 ? 0.0 : 0.5;
}
function nms_EntityHanging_onUpdate($this) {
    return;
}
function nms_EntityHanging_onValidSurface($this) {
    var $var8, $var9, $var1, $var2, $var3, $var5, var$7, $var6, $var10, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var10 = $thread.pop();$var6 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var8 = $this.$worldObj;
        $var9 = $this.$boundingBox;
        $ptr = 1;
    case 1:
        $tmp = nms_World_getCollidingBoundingBoxes($var8, $this, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        if (!ju_AbstractCollection_isEmpty($var8))
            return 0;
        $var1 = jl_Math_max(1, $this.$func_82329_d() / 16 | 0);
        $var2 = jl_Math_max(1, $this.$func_82330_g() / 16 | 0);
        $var3 = $this.$xPosition0;
        $var5 = $this.$zPosition0;
        if ($this.$hangingDirection == 2)
            $var3 = nms_MathHelper_floor_double($this.$posX - $this.$func_82329_d() / 32.0);
        if ($this.$hangingDirection == 1)
            $var5 = nms_MathHelper_floor_double($this.$posZ - $this.$func_82329_d() / 32.0);
        if (!$this.$hangingDirection)
            $var3 = nms_MathHelper_floor_double($this.$posX - $this.$func_82329_d() / 32.0);
        if ($this.$hangingDirection == 3)
            $var5 = nms_MathHelper_floor_double($this.$posZ - $this.$func_82329_d() / 32.0);
        var$7 = nms_MathHelper_floor_double($this.$posY - $this.$func_82330_g() / 32.0);
        $var6 = 0;
        a: while (true) {
            if ($var6 >= $var1) {
                $var10 = ju_AbstractList_iterator(nms_World_getEntitiesWithinAABBExcludingEntity($this.$worldObj, $this, $this.$boundingBox));
                while (ju_AbstractList$1_hasNext($var10)) {
                    if (!(ju_AbstractList$1_next($var10) instanceof nms_EntityHanging))
                        continue;
                    else
                        return 0;
                }
                return 1;
            }
            $var7 = 0;
            while ($var7 < $var2) {
                if (!($this.$hangingDirection != 2 && $this.$hangingDirection ? nms_World_getBlockMaterial($this.$worldObj, $this.$xPosition0, var$7 + $var7 | 0, $var5 + $var6 | 0) : nms_World_getBlockMaterial($this.$worldObj, $var3 + $var6 | 0, var$7 + $var7 | 0, $this.$zPosition0)).$isSolid())
                    break a;
                $var7 = $var7 + 1 | 0;
            }
            $var6 = $var6 + 1 | 0;
        }
        return 0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var8, $var9, $var1, $var2, $var3, $var5, var$7, $var6, $var10, $var7, $ptr);
}
function nms_EntityHanging_canBeCollidedWith($this) {
    return 1;
}
function nms_EntityHanging_func_85031_j($this, $par1Entity) {
    return !($par1Entity instanceof nms_EntityPlayer) ? 0 : nms_EntityHanging_attackEntityFrom($this, nms_DamageSource_causePlayerDamage($par1Entity), 0);
}
function nms_EntityHanging_attackEntityFrom($this, $par1DamageSource, $par2) {
    if (!$this.$invulnerable)
        return 1;
    return 0;
}
function nms_EntityHanging_moveEntity($this, $par1, $par3, $par5) {
    return;
}
function nms_EntityHanging_addVelocity($this, $par1, $par3, $par5) {
    return;
}
function nms_EntityPainting() {
    nms_EntityHanging.call(this);
    this.$art = null;
}
function nms_EntityPainting__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityPainting();
    nms_EntityPainting__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_EntityPainting__init_0($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, $var9, $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_EntityHanging__init_2($this, $par1World, $par2, $par3, $par4, $par5);
        $var6 = ju_ArrayList__init_0();
        $var7 = nms_EnumArt_values().data;
        $var8 = $var7.length;
        $var9 = 0;
        if ($var9 >= $var8) {
            if (!ju_AbstractCollection_isEmpty($var6))
                $this.$art = ju_ArrayList_get($var6, nle_EaglercraftRandom_nextInt($this.$rand0, $var6.$size));
            nms_EntityHanging_setDirection($this, $par5);
            return;
        }
        $var10 = $var7[$var9];
        $this.$art = $var10;
        nms_EntityHanging_setDirection($this, $par5);
        $ptr = 1;
    case 1:
        $tmp = nms_EntityHanging_onValidSurface($this);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if ($par2)
            ju_ArrayList_add($var6, $var10);
        $var9 = $var9 + 1 | 0;
        if ($var9 >= $var8) {
            if (!ju_AbstractCollection_isEmpty($var6))
                $this.$art = ju_ArrayList_get($var6, nle_EaglercraftRandom_nextInt($this.$rand0, $var6.$size));
            nms_EntityHanging_setDirection($this, $par5);
            return;
        }
        $var10 = $var7[$var9];
        $this.$art = $var10;
        nms_EntityHanging_setDirection($this, $par5);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $var8, $var9, $var10, $ptr);
}
function nms_EntityPainting_func_82329_d($this) {
    return $this.$art.$sizeX;
}
function nms_EntityPainting_func_82330_g($this) {
    return $this.$art.$sizeY;
}
function nms_RenderPainting() {
    nms_Render.call(this);
}
var nms_RenderPainting_kz = null;
function nms_RenderPainting__init_0() {
    var var_0 = new nms_RenderPainting();
    nms_RenderPainting__init_(var_0);
    return var_0;
}
function nms_RenderPainting__init_($this) {
    nms_Render__init_0($this);
}
function nms_RenderPainting_renderThePainting($this, $par1EntityPainting, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityPainting = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        nleg_EaglerAdapterGL30_glRotatef($par8, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glEnable(32826);
        $var10 = nms_RenderPainting_kz;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $par1EntityPainting.$art;
        nleg_EaglerAdapterGL30_glScalef(0.0625, 0.0625, 0.0625);
        nms_RenderPainting_func_77010_a($this, $par1EntityPainting, $var10.$sizeX, $var10.$sizeY, $var10.$offsetX, $var10.$offsetY);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPainting, $par2, $par4, $par6, $par8, $par9, $var10, $ptr);
}
function nms_RenderPainting_func_77010_a($this, $par1EntityPainting, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var21, var$9, var$10, var$11, var$12, $var22, $var23, var$15, $var24, $var22_0, var$18, $var25, var$20, $var26, $var28, $var27, var$24, $var29, $var30, $var31, var$28, var$29, var$30, var$31, var$32, var$33, var$34;
    $var6 =  -$par2 / 2.0;
    $var7 =  -$par3 / 2.0;
    $var21 = 0;
    var$9 = $par2 / 16 | 0;
    var$10 = $par3 / 16 | 0;
    var$11 = $par4 + $par2 | 0;
    var$12 = $par5 + $par3 | 0;
    while ($var21 < var$9) {
        $var22 = 0;
        while ($var22 < var$10) {
            $par2 = ($var21 + 1 | 0) * 16 | 0;
            $var23 = $var6 + $par2;
            var$15 = $var21 * 16 | 0;
            $var24 = $var6 + var$15;
            $var22_0 = $var22 + 1 | 0;
            var$18 = $var22_0 * 16 | 0;
            $var25 = $var7 + var$18;
            var$20 = $var22 * 16 | 0;
            $var26 = $var7 + var$20;
            $var28 = ($var23 + $var24) / 2.0;
            $var27 = ($var25 + $var26) / 2.0;
            $par5 = nms_MathHelper_floor_double($par1EntityPainting.$posX);
            $var22 = nms_MathHelper_floor_double($par1EntityPainting.$posY + $var27 / 16.0);
            var$24 = nms_MathHelper_floor_double($par1EntityPainting.$posZ);
            if ($par1EntityPainting.$hangingDirection == 2)
                $par5 = nms_MathHelper_floor_double($par1EntityPainting.$posX + $var28 / 16.0);
            if ($par1EntityPainting.$hangingDirection == 1)
                var$24 = nms_MathHelper_floor_double($par1EntityPainting.$posZ - $var28 / 16.0);
            if (!$par1EntityPainting.$hangingDirection)
                $par5 = nms_MathHelper_floor_double($par1EntityPainting.$posX - $var28 / 16.0);
            if ($par1EntityPainting.$hangingDirection == 3)
                var$24 = nms_MathHelper_floor_double($par1EntityPainting.$posZ + $var28 / 16.0);
            $par3 = nms_World_getLightBrightnessForSkyBlocks($this.$renderManager.$worldObj0, $par5, $var22, var$24, 0);
            $par4 = $par3 % 65536 | 0;
            $par3 = $par3 / 65536 | 0;
            nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, $par4, $par3);
            nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
            $var27 = (var$11 - var$15 | 0) / 256.0;
            $var28 = (var$11 - $par2 | 0) / 256.0;
            $var29 = (var$12 - var$20 | 0) / 256.0;
            $var30 = (var$12 - var$18 | 0) / 256.0;
            nlea_Tessellator_$callClinit();
            $var31 = nlea_Tessellator_instance;
            nlea_Tessellator_startDrawingQuads($var31);
            nlea_Tessellator_setNormal($var31, 0.0, 0.0, (-1.0));
            var$28 = $var23;
            var$29 = $var26;
            var$30 = $var28;
            var$31 = $var29;
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$29, (-0.5), var$30, var$31);
            var$32 = $var24;
            var$33 = $var27;
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$29, (-0.5), var$33, var$31);
            var$31 = $var25;
            var$34 = $var30;
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$31, (-0.5), var$33, var$34);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$31, (-0.5), var$30, var$34);
            nlea_Tessellator_setNormal($var31, 0.0, 0.0, 1.0);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$31, 0.5, 0.75, 0.0);
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$31, 0.5, 0.8125, 0.0);
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$29, 0.5, 0.8125, 0.0625);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$29, 0.5, 0.75, 0.0625);
            nlea_Tessellator_setNormal($var31, 0.0, 1.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$31, (-0.5), 0.75, 0.001953125);
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$31, (-0.5), 0.8125, 0.001953125);
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$31, 0.5, 0.8125, 0.001953125);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$31, 0.5, 0.75, 0.001953125);
            nlea_Tessellator_setNormal($var31, 0.0, (-1.0), 0.0);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$29, 0.5, 0.75, 0.001953125);
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$29, 0.5, 0.8125, 0.001953125);
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$29, (-0.5), 0.8125, 0.001953125);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$29, (-0.5), 0.75, 0.001953125);
            nlea_Tessellator_setNormal($var31, (-1.0), 0.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$31, 0.5, 0.751953125, 0.0);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$29, 0.5, 0.751953125, 0.0625);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$29, (-0.5), 0.751953125, 0.0625);
            nlea_Tessellator_addVertexWithUV($var31, var$28, var$31, (-0.5), 0.751953125, 0.0);
            nlea_Tessellator_setNormal($var31, 1.0, 0.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$31, (-0.5), 0.751953125, 0.0);
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$29, (-0.5), 0.751953125, 0.0625);
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$29, 0.5, 0.751953125, 0.0625);
            nlea_Tessellator_addVertexWithUV($var31, var$32, var$31, 0.5, 0.751953125, 0.0);
            nlea_Tessellator_draw($var31);
            $var22 = $var22_0;
        }
        $var21 = $var21 + 1 | 0;
    }
}
function nms_RenderPainting_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderPainting_renderThePainting($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderPainting__clinit_() {
    nms_RenderPainting_kz = nle_TextureLocation__init_($rt_s(1699));
}
function nms_EntityItemFrame() {
    var a = this; nms_EntityHanging.call(a);
    a.$itemDropChance = 0.0;
    a.$hasMapItem = 0;
}
function nms_EntityItemFrame__init_0() {
    var var_0 = new nms_EntityItemFrame();
    nms_EntityItemFrame__init_(var_0);
    return var_0;
}
function nms_EntityItemFrame__init_1(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityItemFrame();
    nms_EntityItemFrame__init_2(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_EntityItemFrame__init_($this) {
    nms_EntityHanging__init_0($this);
    $this.$itemDropChance = 1.0;
    $this.$hasMapItem = 0;
}
function nms_EntityItemFrame__init_2($this, $par1World, $par2, $par3, $par4, $par5) {
    nms_EntityHanging__init_2($this, $par1World, $par2, $par3, $par4, $par5);
    $this.$itemDropChance = 1.0;
    $this.$hasMapItem = 0;
    nms_EntityHanging_setDirection($this, $par5);
}
function nms_EntityItemFrame_entityInit($this) {
    nms_DataWatcher_addObjectByDataType($this.$dataWatcher, 2, 5);
    nms_DataWatcher_addObject($this.$dataWatcher, 3, jl_Byte_valueOf(0));
}
function nms_EntityItemFrame_func_82329_d($this) {
    return !$this.$hasMapItem ? 10 : 16;
}
function nms_EntityItemFrame_func_82330_g($this) {
    return !$this.$hasMapItem ? 10 : 16;
}
function nms_EntityItemFrame_isInRangeToRenderDist($this, $par1) {
    var $var3;
    $var3 = 16.0 * 64.0 * $this.$renderDistanceWeight;
    return $par1 >= $var3 * $var3 ? 0 : 1;
}
function nms_EntityItemFrame_getDisplayedItem($this) {
    var $stack, var$2, $isStackMap;
    a: {
        $stack = nms_DataWatcher_getWatchableObjectItemStack($this.$dataWatcher, 2);
        if ($stack !== null) {
            var$2 = nms_ItemStack_getItem($stack);
            nms_Item_$callClinit();
            if (var$2 === nms_Item_map) {
                $isStackMap = 1;
                break a;
            }
        }
        $isStackMap = 0;
    }
    if ($isStackMap != $this.$hasMapItem) {
        $this.$hasMapItem = $isStackMap;
        nms_EntityHanging_setDirection($this, $this.$hangingDirection);
    }
    return $stack;
}
function nms_EntityItemFrame_getRotation($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 3);
}
function nms_EntityItemFrame_interact($this, $par1EntityPlayer) {
    return 1;
}
function nms_RenderItemFrame() {
    var a = this; nms_Render.call(a);
    a.$renderBlocksInstance0 = null;
    a.$field_94147_f = null;
}
var nms_RenderItemFrame_terrain = null;
var nms_RenderItemFrame_tex_mapbg = null;
function nms_RenderItemFrame__init_0() {
    var var_0 = new nms_RenderItemFrame();
    nms_RenderItemFrame__init_(var_0);
    return var_0;
}
function nms_RenderItemFrame__init_($this) {
    nms_Render__init_0($this);
    $this.$renderBlocksInstance0 = nms_RenderBlocks__init_2();
}
function nms_RenderItemFrame_updateIcons($this, $par1IconRegister) {
    $this.$field_94147_f = $par1IconRegister.$registerIcon($rt_s(1700));
}
function nms_RenderItemFrame_func_82404_a($this, $par1EntityItemFrame, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var11, $var12, var$10, var$11, var$12, $var13, var$14, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityItemFrame = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var10 = $par1EntityItemFrame.$posX - $par2 - 0.5;
        $var11 = $par1EntityItemFrame.$posY - $par4 - 0.5;
        $var12 = $par1EntityItemFrame.$posZ - $par6 - 0.5;
        nleg_EaglerAdapterGL30_glTranslatef(($par1EntityItemFrame.$xPosition0 + nms_Direction_offsetX.data[$par1EntityItemFrame.$hangingDirection] | 0) - $var10, $par1EntityItemFrame.$yPosition1 - $var11, ($par1EntityItemFrame.$zPosition0 + nms_Direction_offsetZ.data[$par1EntityItemFrame.$hangingDirection] | 0) - $var12);
        if (nms_EntityItemFrame_getDisplayedItem($par1EntityItemFrame) !== null) {
            var$10 = nms_ItemStack_getItem(nms_EntityItemFrame_getDisplayedItem($par1EntityItemFrame));
            nms_Item_$callClinit();
            if (var$10 === nms_Item_map) {
                $ptr = 7;
                continue main;
            }
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        var$10 = nms_RenderItemFrame_terrain;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glRotatef($par1EntityItemFrame.$rotationYaw, 0.0, 1.0, 0.0);
        nms_Block_$callClinit();
        var$10 = nms_Block_planks;
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_flipLightMatrix();
        var$11 = $this.$renderBlocksInstance0;
        var$12 = 0.8125;
        nms_RenderBlocks_overrideBlockBounds(var$11, 0.0, 0.1875, 0.1875, 0.03125, var$12, var$12);
        $this.$renderBlocksInstance0.$overrideBlockTexture = $this.$field_94147_f;
        var$11 = $this.$renderBlocksInstance0;
        $var13 = 0;
        $par8 = 1.0;
        $ptr = 2;
    case 2:
        nms_RenderBlocks_renderBlockAsItem(var$11, var$10, $var13, $par8);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderBlocks_clearOverrideBlockTexture($this.$renderBlocksInstance0);
        nms_RenderBlocks_unlockBlockBounds($this.$renderBlocksInstance0);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $this.$renderBlocksInstance0.$overrideBlockTexture = nms_Block_planks.$getIcon(1, 2);
        nleg_EaglerAdapterGL30_glPushMatrix();
        var$11 = $this.$renderBlocksInstance0;
        $par4 = 0.125;
        $par6 = 0.06260000169277191;
        var$14 = 0.1875;
        var$15 = 0.875;
        nms_RenderBlocks_overrideBlockBounds(var$11, 0.0, $par4, $par4, $par6, var$14, var$15);
        var$11 = $this.$renderBlocksInstance0;
        $var13 = 0;
        $par8 = 1.0;
        $ptr = 3;
    case 3:
        nms_RenderBlocks_renderBlockAsItem(var$11, var$10, $var13, $par8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nms_RenderBlocks_overrideBlockBounds($this.$renderBlocksInstance0, 0.0, var$12, $par4, $par6, var$15, var$15);
        var$11 = $this.$renderBlocksInstance0;
        $var13 = 0;
        $par8 = 1.0;
        $ptr = 4;
    case 4:
        nms_RenderBlocks_renderBlockAsItem(var$11, var$10, $var13, $par8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        var$11 = $this.$renderBlocksInstance0;
        $par6 = 0.0625;
        nms_RenderBlocks_overrideBlockBounds(var$11, 0.0, $par4, $par4, $par6, var$15, var$14);
        var$11 = $this.$renderBlocksInstance0;
        $var13 = 0;
        $par8 = 1.0;
        $ptr = 5;
    case 5:
        nms_RenderBlocks_renderBlockAsItem(var$11, var$10, $var13, $par8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nms_RenderBlocks_overrideBlockBounds($this.$renderBlocksInstance0, 0.0, $par4, var$12, $par6, var$15, var$15);
        var$11 = $this.$renderBlocksInstance0;
        $var13 = 0;
        $par8 = 1.0;
        $ptr = 6;
    case 6:
        nms_RenderBlocks_renderBlockAsItem(var$11, var$10, $var13, $par8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nms_RenderBlocks_unlockBlockBounds($this.$renderBlocksInstance0);
        nms_RenderBlocks_clearOverrideBlockTexture($this.$renderBlocksInstance0);
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 7;
    case 7:
        nms_RenderItemFrame_func_82402_b($this, $par1EntityItemFrame);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityItemFrame, $par2, $par4, $par6, $par8, $par9, $var10, $var11, $var12, var$10, var$11, var$12, $var13, var$14, var$15, $ptr);
}
function nms_RenderItemFrame_func_82402_b($this, $par1EntityItemFrame) {
    var $var2, $var3, $var9, $var10, $var7, var$7, var$8, var$9, var$10, $var4, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var7 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1EntityItemFrame = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = nms_EntityItemFrame_getDisplayedItem($par1EntityItemFrame);
        if ($var2 === null)
            return;
        a: {
            $var3 = nms_EntityItem__init_0($par1EntityItemFrame.$worldObj, 0.0, 0.0, 0.0, $var2);
            nms_EntityItem_getEntityItem($var3).$stackSize = 1;
            $var3.$hoverStart = 0.0;
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glTranslatef((-0.453125) * nms_Direction_offsetX.data[$par1EntityItemFrame.$hangingDirection], (-0.18000000715255737), (-0.453125) * nms_Direction_offsetZ.data[$par1EntityItemFrame.$hangingDirection]);
            nleg_EaglerAdapterGL30_glRotatef(180.0 + $par1EntityItemFrame.$rotationYaw, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glRotatef((-90) * nms_EntityItemFrame_getRotation($par1EntityItemFrame) | 0, 0.0, 0.0, 1.0);
            switch (nms_EntityItemFrame_getRotation($par1EntityItemFrame)) {
                case 1:
                    break;
                case 2:
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.3199999928474426), 0.0);
                    break a;
                case 3:
                    nleg_EaglerAdapterGL30_glTranslatef(0.1599999964237213, (-0.1599999964237213), 0.0);
                    break a;
                default:
                    break a;
            }
            nleg_EaglerAdapterGL30_glTranslatef((-0.1599999964237213), (-0.1599999964237213), 0.0);
        }
        $var2 = nms_ItemStack_getItem(nms_EntityItem_getEntityItem($var3));
        nms_Item_$callClinit();
        if ($var2 === nms_Item_map) {
            $var2 = nms_RenderItemFrame_tex_mapbg;
            $ptr = 1;
            continue main;
        }
        if (nms_ItemStack_getItem(nms_EntityItem_getEntityItem($var3)) === nms_Item_compass) {
            $var9 = nms_TextureCompass_compassTexture;
            $var10 = $var9.$currentAngle;
            $var7 = $var9.$angleDelta;
            $var9.$currentAngle = 0.0;
            $var9.$angleDelta = 0.0;
            nms_TextureCompass_updateCompass($var9, $par1EntityItemFrame.$worldObj, $par1EntityItemFrame.$posX, $par1EntityItemFrame.$posZ, nms_MathHelper_wrapAngleTo180_float(180 + ($par1EntityItemFrame.$hangingDirection * 90 | 0) | 0), 0, 1);
            $var9.$currentAngle = $var10;
            $var9.$angleDelta = $var7;
        }
        nms_RenderItem_renderInFrame = 1;
        nleg_EaglerAdapterGL30_flipLightMatrix();
        $par1EntityItemFrame = nms_RenderManager_instance;
        var$7 = 0.0;
        $var10 = 0.0;
        var$8 = 0.0;
        var$9 = 0.0;
        var$10 = 0.0;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($var2);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var4 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glScalef(0.0078125, 0.0078125, 0.0078125);
        nleg_EaglerAdapterGL30_glTranslatef((-65.0), (-85.0), 1.0);
        nleg_EaglerAdapterGL30_glNormal3f(0.0, 0.0, (-1.0));
        nleg_EaglerAdapterGL30_glDisable(2884);
        nlea_Tessellator_startDrawingQuads($var4);
        nlea_Tessellator_addVertexWithUV($var4, (-7.0), 135.0, 0.0, 0.001, 0.999);
        nlea_Tessellator_addVertexWithUV($var4, 135.0, 135.0, 0.0, 0.999, 0.999);
        nlea_Tessellator_addVertexWithUV($var4, 135.0, (-7.0), 0.0, 0.999, 0.001);
        nlea_Tessellator_addVertexWithUV($var4, (-7.0), (-7.0), 0.0, 0.001, 0.001);
        nlea_Tessellator_draw($var4);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-2.0));
        $var6 = nms_ItemMap_getMapData(nms_Item_map, nms_EntityItem_getEntityItem($var3), $par1EntityItemFrame.$worldObj);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-1.0));
        if ($var6 === null) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        $par1EntityItemFrame = $this.$renderManager.$itemRenderer.$mapItemRenderer;
        $var2 = null;
        $var3 = $this.$renderManager.$renderEngine1;
        $ptr = 3;
        continue main;
    case 2:
        nms_RenderManager_renderEntityWithPosYaw($par1EntityItemFrame, $var3, var$7, $var10, var$8, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nms_RenderItem_renderInFrame = 0;
        if (nms_ItemStack_getItem(nms_EntityItem_getEntityItem($var3)) === nms_Item_compass)
            nms_TextureCompass_updateAnimation(nms_TextureCompass_compassTexture);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 3:
        nms_MapItemRenderer_renderMap($par1EntityItemFrame, $var2, $var3, $var6);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityItemFrame, $var2, $var3, $var9, $var10, $var7, var$7, var$8, var$9, var$10, $var4, $var6, $ptr);
}
function nms_RenderItemFrame_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderItemFrame_func_82404_a($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderItemFrame__clinit_() {
    nms_RenderItemFrame_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_RenderItemFrame_tex_mapbg = nle_TextureLocation__init_($rt_s(1110));
}
function nms_IProjectile() {
}
function nms_EntityArrow() {
    var a = this; nms_Entity.call(a);
    a.$xTile = 0;
    a.$yTile = 0;
    a.$zTile = 0;
    a.$inTile = 0;
    a.$inData0 = 0;
    a.$inGround = 0;
    a.$canBePickedUp = 0;
    a.$arrowShake = 0;
    a.$shootingEntity = null;
    a.$ticksInGround = 0;
    a.$ticksInAir = 0;
    a.$damage = 0.0;
    a.$knockbackStrength = 0;
}
function nms_EntityArrow__init_1() {
    var var_0 = new nms_EntityArrow();
    nms_EntityArrow__init_(var_0);
    return var_0;
}
function nms_EntityArrow__init_0(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityArrow();
    nms_EntityArrow__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntityArrow__init_3(var_0, var_1, var_2) {
    var var_3 = new nms_EntityArrow();
    nms_EntityArrow__init_4(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_EntityArrow__init_($this) {
    nms_Entity__init_0($this);
    $this.$xTile = (-1);
    $this.$yTile = (-1);
    $this.$zTile = (-1);
    $this.$inTile = 0;
    $this.$inData0 = 0;
    $this.$inGround = 0;
    $this.$canBePickedUp = 0;
    $this.$arrowShake = 0;
    $this.$ticksInAir = 0;
    $this.$damage = 2.0;
    $this.$renderDistanceWeight = 10.0;
    nms_Entity_setSize($this, 0.5, 0.5);
}
function nms_EntityArrow__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_Entity__init_0($this);
    $this.$xTile = (-1);
    $this.$yTile = (-1);
    $this.$zTile = (-1);
    $this.$inTile = 0;
    $this.$inData0 = 0;
    $this.$inGround = 0;
    $this.$canBePickedUp = 0;
    $this.$arrowShake = 0;
    $this.$ticksInAir = 0;
    $this.$damage = 2.0;
    nms_Entity_setWorld($this, $par1World);
    $this.$renderDistanceWeight = 10.0;
    nms_Entity_setSize($this, 0.5, 0.5);
    nms_Entity_setPosition($this, $par2, $par4, $par6);
    $this.$yOffset = 0.0;
}
function nms_EntityArrow__init_4($this, $par1World, $par2EntityLiving, $par3) {
    nms_Entity__init_0($this);
    $this.$xTile = (-1);
    $this.$yTile = (-1);
    $this.$zTile = (-1);
    $this.$inTile = 0;
    $this.$inData0 = 0;
    $this.$inGround = 0;
    $this.$canBePickedUp = 0;
    $this.$arrowShake = 0;
    $this.$ticksInAir = 0;
    $this.$damage = 2.0;
    nms_Entity_setWorld($this, $par1World);
    $this.$renderDistanceWeight = 10.0;
    $this.$shootingEntity = $par2EntityLiving;
    if ($par2EntityLiving instanceof nms_EntityPlayer)
        $this.$canBePickedUp = 1;
    nms_Entity_setSize($this, 0.5, 0.5);
    nms_Entity_setLocationAndAngles($this, $par2EntityLiving.$posX, $par2EntityLiving.$posY + 0.11999999731779099, $par2EntityLiving.$posZ, $par2EntityLiving.$rotationYaw, $par2EntityLiving.$rotationPitch);
    $this.$posX = $this.$posX - nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * 0.1599999964237213;
    $this.$posY = $this.$posY - 0.10000000149011612;
    $this.$posZ = $this.$posZ - nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * 0.1599999964237213;
    nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
    $this.$yOffset = 0.0;
    $this.$motionX =  -nms_MathHelper_sin($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732);
    $this.$motionZ = nms_MathHelper_cos($this.$rotationYaw / 180.0 * 3.1415927410125732) * nms_MathHelper_cos($this.$rotationPitch / 180.0 * 3.1415927410125732);
    $this.$motionY =  -nms_MathHelper_sin($this.$rotationPitch / 180.0 * 3.1415927410125732);
    nms_EntityArrow_setThrowableHeading($this, $this.$motionX, $this.$motionY, $this.$motionZ, $par3 * 1.5, 1.0);
}
function nms_EntityArrow_entityInit($this) {
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte_valueOf(0));
}
function nms_EntityArrow_setThrowableHeading($this, $par1, $par3, $par5, $par7, $par8) {
    var var$6, var$7, $var10;
    var$6 = nms_MathHelper_sqrt_double($par1 * $par1 + $par3 * $par3 + $par5 * $par5);
    $par1 = $par1 / var$6;
    $par3 = $par3 / var$6;
    $par5 = $par5 / var$6;
    var$6 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * (!nle_EaglercraftRandom_nextBoolean($this.$rand0) ? 1 : (-1)) * 0.007499999832361937;
    var$7 = $par8;
    var$6 = $par1 + var$6 * var$7;
    $par3 = $par3 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * (!nle_EaglercraftRandom_nextBoolean($this.$rand0) ? 1 : (-1)) * 0.007499999832361937 * var$7;
    $par1 = $par5 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * (!nle_EaglercraftRandom_nextBoolean($this.$rand0) ? 1 : (-1)) * 0.007499999832361937 * var$7;
    $par5 = $par7;
    var$6 = var$6 * $par5;
    $par3 = $par3 * $par5;
    $par1 = $par1 * $par5;
    $this.$motionX = var$6;
    $this.$motionY = $par3;
    $this.$motionZ = $par1;
    $var10 = nms_MathHelper_sqrt_double(var$6 * var$6 + $par1 * $par1);
    $par7 = jl_Math_atan2(var$6, $par1) * 180.0 / 3.141592653589793;
    $this.$rotationYaw = $par7;
    $this.$prevRotationYaw = $par7;
    $par7 = jl_Math_atan2($par3, $var10) * 180.0 / 3.141592653589793;
    $this.$rotationPitch = $par7;
    $this.$prevRotationPitch = $par7;
    $this.$ticksInGround = 0;
}
function nms_EntityArrow_setPositionAndRotation2($this, $par1, $par3, $par5, $par7, $par8, $par9) {
    nms_Entity_setPosition($this, $par1, $par3, $par5);
    nms_Entity_setRotation($this, $par7, $par8);
}
function nms_EntityArrow_setVelocity($this, $par1, $par3, $par5) {
    var $var7, var$5;
    $this.$motionX = $par1;
    $this.$motionY = $par3;
    $this.$motionZ = $par5;
    if ($this.$prevRotationPitch === 0.0 && $this.$prevRotationYaw === 0.0) {
        $var7 = nms_MathHelper_sqrt_double($par1 * $par1 + $par5 * $par5);
        var$5 = jl_Math_atan2($par1, $par5) * 180.0 / 3.141592653589793;
        $this.$rotationYaw = var$5;
        $this.$prevRotationYaw = var$5;
        $var7 = jl_Math_atan2($par3, $var7) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = $var7;
        $this.$prevRotationPitch = $var7;
        $this.$prevRotationPitch = $this.$rotationPitch;
        $this.$prevRotationYaw = $this.$rotationYaw;
        nms_Entity_setLocationAndAngles($this, $this.$posX, $this.$posY, $this.$posZ, $this.$rotationYaw, $this.$rotationPitch);
        $this.$ticksInGround = 0;
    }
}
function nms_EntityArrow_onUpdate($this) {
    var $var1, $var21, $var16, $var17, $var3, $var9, $var26, $var22, $var4, $var18, $var19, $var2, $var5, $var6, $var7, $var10, $var13, $var14, $var20, var$20, $var24, var$22, var$23, var$24, $var25, $var27, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var27 = $thread.pop();$var25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();$var24 = $thread.pop();var$20 = $thread.pop();$var20 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var2 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var4 = $thread.pop();$var22 = $thread.pop();$var26 = $thread.pop();$var9 = $thread.pop();$var3 =
        $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var21 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_Entity_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$prevRotationPitch === 0.0 && $this.$prevRotationYaw === 0.0) {
            $var1 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
            $var21 = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
            $this.$rotationYaw = $var21;
            $this.$prevRotationYaw = $var21;
            $var21 = jl_Math_atan2($this.$motionY, $var1) * 180.0 / 3.141592653589793;
            $this.$rotationPitch = $var21;
            $this.$prevRotationPitch = $var21;
        }
        $var16 = nms_World_getBlockId($this.$worldObj, $this.$xTile, $this.$yTile, $this.$zTile);
        if ($var16 > 0) {
            nms_Block_$callClinit();
            $var17 = nms_Block_blocksList.data[$var16];
            $var3 = $this.$worldObj;
            $var9 = $this.$xTile;
            $var26 = $this.$yTile;
            $var22 = $this.$zTile;
            $ptr = 2;
            continue main;
        }
        if ($this.$arrowShake > 0)
            $this.$arrowShake = $this.$arrowShake - 1 | 0;
        if (!$this.$inGround) {
            $this.$ticksInAir = $this.$ticksInAir + 1 | 0;
            $var17 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX, $this.$posY, $this.$posZ);
            $var3 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var4 = $this.$worldObj;
            $var9 = 0;
            $var16 = 1;
            $ptr = 4;
            continue main;
        }
        a: {
            $var18 = nms_World_getBlockId($this.$worldObj, $this.$xTile, $this.$yTile, $this.$zTile);
            $var19 = nms_World_getBlockMetadata($this.$worldObj, $this.$xTile, $this.$yTile, $this.$zTile);
            if ($var18 == $this.$inTile && $var19 == $this.$inData0) {
                $this.$ticksInGround = $this.$ticksInGround + 1 | 0;
                if ($this.$ticksInGround != 1200)
                    break a;
                else {
                    $ptr = 5;
                    continue main;
                }
            }
            $this.$inGround = 0;
            $this.$motionX = $this.$motionX * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$motionY = $this.$motionY * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$motionZ = $this.$motionZ * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$ticksInGround = 0;
            $this.$ticksInAir = 0;
        }
        return;
    case 2:
        $var17.$setBlockBoundsBasedOnState($var3, $var9, $var26, $var22);
        if ($rt_suspending()) {
            break main;
        }
        $var17 = nms_Block_blocksList.data[$var16];
        $var3 = $this.$worldObj;
        $var16 = $this.$xTile;
        $var9 = $this.$yTile;
        $var26 = $this.$zTile;
        $ptr = 3;
    case 3:
        $tmp = $var17.$getCollisionBoundingBoxFromPool($var3, $var16, $var9, $var26);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $tmp;
        if ($var2 !== null && nms_AxisAlignedBB_isVecInside($var2, nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX, $this.$posY, $this.$posZ)))
            $this.$inGround = 1;
        if ($this.$arrowShake > 0)
            $this.$arrowShake = $this.$arrowShake - 1 | 0;
        if (!$this.$inGround) {
            $this.$ticksInAir = $this.$ticksInAir + 1 | 0;
            $var17 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX, $this.$posY, $this.$posZ);
            $var3 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
            $var4 = $this.$worldObj;
            $var9 = 0;
            $var16 = 1;
            $ptr = 4;
            continue main;
        }
        b: {
            $var18 = nms_World_getBlockId($this.$worldObj, $this.$xTile, $this.$yTile, $this.$zTile);
            $var19 = nms_World_getBlockMetadata($this.$worldObj, $this.$xTile, $this.$yTile, $this.$zTile);
            if ($var18 == $this.$inTile && $var19 == $this.$inData0) {
                $this.$ticksInGround = $this.$ticksInGround + 1 | 0;
                if ($this.$ticksInGround != 1200)
                    break b;
                else {
                    $ptr = 5;
                    continue main;
                }
            }
            $this.$inGround = 0;
            $this.$motionX = $this.$motionX * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$motionY = $this.$motionY * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$motionZ = $this.$motionZ * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$ticksInGround = 0;
            $this.$ticksInAir = 0;
        }
        return;
    case 4:
        $tmp = nms_World_rayTraceBlocks_do_do($var4, $var17, $var3, $var9, $var16);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        $var17 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX, $this.$posY, $this.$posZ);
        $var3 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
        if ($var4 !== null)
            $var3 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $var4.$hitVec.$xCoord, $var4.$hitVec.$yCoord, $var4.$hitVec.$zCoord);
        $var5 = null;
        $var6 = nms_World_getEntitiesWithinAABBExcludingEntity($this.$worldObj, $this, nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($this.$boundingBox, $this.$motionX, $this.$motionY, $this.$motionZ), 1.0, 1.0, 1.0));
        $var7 = 0.0;
        $var9 = 0;
        while ($var9 < ju_ArrayList_size($var6)) {
            $var10 = ju_ArrayList_get($var6, $var9);
            if ($var10.$canBeCollidedWith() && !($var10 === $this.$shootingEntity && $this.$ticksInAir < 5)) {
                $var13 = nms_AxisAlignedBB_calculateIntercept(nms_AxisAlignedBB_expand($var10.$boundingBox, 0.30000001192092896, 0.30000001192092896, 0.30000001192092896), $var17, $var3);
                if ($var13 !== null) {
                    $var14 = nms_Vec3_distanceTo($var17, $var13.$hitVec);
                    if (!($var14 >= $var7 && $var7 !== 0.0)) {
                        $var5 = $var10;
                        $var7 = $var14;
                    }
                }
            }
            $var9 = $var9 + 1 | 0;
        }
        if ($var5 !== null)
            $var4 = nms_MovingObjectPosition__init_0($var5);
        c: {
            if ($var4 !== null && $var4.$entityHit !== null && $var4.$entityHit instanceof nms_EntityPlayer) {
                $var20 = $var4.$entityHit;
                if (!$var20.$capabilities.$disableDamage) {
                    if (!($this.$shootingEntity instanceof nms_EntityPlayer))
                        break c;
                    if (nms_EntityPlayer_func_96122_a($this.$shootingEntity, $var20))
                        break c;
                }
                $var4 = null;
            }
        }
        if ($var4 !== null) {
            if ($var4.$entityHit === null) {
                $this.$xTile = $var4.$blockX;
                $this.$yTile = $var4.$blockY;
                $this.$zTile = $var4.$blockZ;
                $this.$inTile = nms_World_getBlockId($this.$worldObj, $this.$xTile, $this.$yTile, $this.$zTile);
                $this.$inData0 = nms_World_getBlockMetadata($this.$worldObj, $this.$xTile, $this.$yTile, $this.$zTile);
                $this.$motionX = $var4.$hitVec.$xCoord - $this.$posX;
                $this.$motionY = $var4.$hitVec.$yCoord - $this.$posY;
                $this.$motionZ = $var4.$hitVec.$zCoord - $this.$posZ;
                $var21 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionY * $this.$motionY + $this.$motionZ * $this.$motionZ);
                $var7 = $this.$posX;
                $var14 = $this.$motionX;
                var$20 = $var21;
                $this.$posX = $var7 - $var14 / var$20 * 0.05000000074505806;
                $this.$posY = $this.$posY - $this.$motionY / var$20 * 0.05000000074505806;
                $this.$posZ = $this.$posZ - $this.$motionZ / var$20 * 0.05000000074505806;
                $var17 = $rt_s(1701);
                $var21 = 1.0;
                $var24 = 1.2000000476837158 / (nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224 + 0.8999999761581421);
                $ptr = 6;
                continue main;
            }
            $var22 = nms_MathHelper_ceiling_double_int(nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionY * $this.$motionY + $this.$motionZ * $this.$motionZ) * $this.$damage);
            if (nms_EntityArrow_getIsCritical($this))
                $var22 = $var22 + nle_EaglercraftRandom_nextInt($this.$rand0, ($var22 / 2 | 0) + 2 | 0) | 0;
            $var17 = $this.$shootingEntity === null ? nms_DamageSource_causeArrowDamage($this, $this) : nms_DamageSource_causeArrowDamage($this, $this.$shootingEntity);
            if (nms_Entity_isBurning($this) && !($var4.$entityHit instanceof nms_EntityEnderman))
                nms_Entity_setFire($var4.$entityHit, 5);
            $var3 = $var4.$entityHit;
            $ptr = 9;
            continue main;
        }
        if (nms_EntityArrow_getIsCritical($this)) {
            $var16 = 0;
            if ($var16 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1164);
                $var7 = $this.$posX;
                $var14 = $this.$motionX;
                var$20 = $var16;
                $var7 = $var7 + $var14 * var$20 / 4.0;
                var$22 = $this.$posY + $this.$motionY * var$20 / 4.0;
                $var14 = $this.$posZ + $this.$motionZ * var$20 / 4.0;
                var$20 =  -$this.$motionX;
                var$23 =  -$this.$motionY + 0.2;
                var$24 =  -$this.$motionZ;
                $ptr = 8;
                continue main;
            }
        }
        $this.$posX = $this.$posX + $this.$motionX;
        $this.$posY = $this.$posY + $this.$motionY;
        $this.$posZ = $this.$posZ + $this.$motionZ;
        $var21 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var21) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        $var24 = 0.9900000095367432;
        if (nms_Entity_isInWater($this)) {
            $var26 = 0;
            if ($var26 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1017);
                $var7 = $this.$posX - $this.$motionX * 0.25;
                $var14 = $this.$posY - $this.$motionY * 0.25;
                var$20 = $this.$posZ - $this.$motionZ * 0.25;
                var$23 = $this.$motionX;
                var$24 = $this.$motionY;
                var$22 = $this.$motionZ;
                $ptr = 12;
                continue main;
            }
            $var24 = 0.800000011920929;
        }
        $var7 = $this.$motionX;
        $var14 = $var24;
        $this.$motionX = $var7 * $var14;
        $this.$motionY = $this.$motionY * $var14;
        $this.$motionZ = $this.$motionZ * $var14;
        $this.$motionY = $this.$motionY - 0.05000000074505806;
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        $ptr = 10;
        continue main;
    case 5:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 6:
        nms_Entity_playSound($this, $var17, $var21, $var24);
        if ($rt_suspending()) {
            break main;
        }
        $this.$inGround = 1;
        $this.$arrowShake = 7;
        nms_EntityArrow_setIsCritical($this, 0);
        if ($this.$inTile) {
            nms_Block_$callClinit();
            $var17 = nms_Block_blocksList.data[$this.$inTile];
            $var3 = $this.$worldObj;
            $var16 = $this.$xTile;
            $var9 = $this.$yTile;
            $var26 = $this.$zTile;
            $ptr = 7;
            continue main;
        }
        if (nms_EntityArrow_getIsCritical($this)) {
            $var16 = 0;
            if ($var16 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1164);
                $var7 = $this.$posX;
                $var14 = $this.$motionX;
                var$20 = $var16;
                $var7 = $var7 + $var14 * var$20 / 4.0;
                var$22 = $this.$posY + $this.$motionY * var$20 / 4.0;
                $var14 = $this.$posZ + $this.$motionZ * var$20 / 4.0;
                var$20 =  -$this.$motionX;
                var$23 =  -$this.$motionY + 0.2;
                var$24 =  -$this.$motionZ;
                $ptr = 8;
                continue main;
            }
        }
        $this.$posX = $this.$posX + $this.$motionX;
        $this.$posY = $this.$posY + $this.$motionY;
        $this.$posZ = $this.$posZ + $this.$motionZ;
        $var21 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var21) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        $var24 = 0.9900000095367432;
        if (nms_Entity_isInWater($this)) {
            $var26 = 0;
            if ($var26 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1017);
                $var7 = $this.$posX - $this.$motionX * 0.25;
                $var14 = $this.$posY - $this.$motionY * 0.25;
                var$20 = $this.$posZ - $this.$motionZ * 0.25;
                var$23 = $this.$motionX;
                var$24 = $this.$motionY;
                var$22 = $this.$motionZ;
                $ptr = 12;
                continue main;
            }
            $var24 = 0.800000011920929;
        }
        $var7 = $this.$motionX;
        $var14 = $var24;
        $this.$motionX = $var7 * $var14;
        $this.$motionY = $this.$motionY * $var14;
        $this.$motionZ = $this.$motionZ * $var14;
        $this.$motionY = $this.$motionY - 0.05000000074505806;
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        $ptr = 10;
        continue main;
    case 7:
        $var17.$onEntityCollidedWithBlock($var3, $var16, $var9, $var26, $this);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_EntityArrow_getIsCritical($this)) {
            $var16 = 0;
            if ($var16 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1164);
                $var7 = $this.$posX;
                $var14 = $this.$motionX;
                var$20 = $var16;
                $var7 = $var7 + $var14 * var$20 / 4.0;
                var$22 = $this.$posY + $this.$motionY * var$20 / 4.0;
                $var14 = $this.$posZ + $this.$motionZ * var$20 / 4.0;
                var$20 =  -$this.$motionX;
                var$23 =  -$this.$motionY + 0.2;
                var$24 =  -$this.$motionZ;
                $ptr = 8;
                continue main;
            }
        }
        $this.$posX = $this.$posX + $this.$motionX;
        $this.$posY = $this.$posY + $this.$motionY;
        $this.$posZ = $this.$posZ + $this.$motionZ;
        $var21 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var21) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        $var24 = 0.9900000095367432;
        if (nms_Entity_isInWater($this)) {
            $var26 = 0;
            if ($var26 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1017);
                $var7 = $this.$posX - $this.$motionX * 0.25;
                $var14 = $this.$posY - $this.$motionY * 0.25;
                var$20 = $this.$posZ - $this.$motionZ * 0.25;
                var$23 = $this.$motionX;
                var$24 = $this.$motionY;
                var$22 = $this.$motionZ;
                $ptr = 12;
                continue main;
            }
            $var24 = 0.800000011920929;
        }
        $var7 = $this.$motionX;
        $var14 = $var24;
        $this.$motionX = $var7 * $var14;
        $this.$motionY = $this.$motionY * $var14;
        $this.$motionZ = $this.$motionZ * $var14;
        $this.$motionY = $this.$motionY - 0.05000000074505806;
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        $ptr = 10;
        continue main;
    case 8:
        nms_World_spawnParticle($var17, $var3, $var7, var$22, $var14, var$20, var$23, var$24);
        if ($rt_suspending()) {
            break main;
        }
        $var16 = $var16 + 1 | 0;
        if ($var16 < 4) {
            $var17 = $this.$worldObj;
            $var3 = $rt_s(1164);
            $var7 = $this.$posX;
            $var14 = $this.$motionX;
            var$20 = $var16;
            $var7 = $var7 + $var14 * var$20 / 4.0;
            var$22 = $this.$posY + $this.$motionY * var$20 / 4.0;
            $var14 = $this.$posZ + $this.$motionZ * var$20 / 4.0;
            var$20 =  -$this.$motionX;
            var$23 =  -$this.$motionY + 0.2;
            var$24 =  -$this.$motionZ;
            continue main;
        }
        $this.$posX = $this.$posX + $this.$motionX;
        $this.$posY = $this.$posY + $this.$motionY;
        $this.$posZ = $this.$posZ + $this.$motionZ;
        $var21 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var21) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        $var24 = 0.9900000095367432;
        if (nms_Entity_isInWater($this)) {
            $var26 = 0;
            if ($var26 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1017);
                $var7 = $this.$posX - $this.$motionX * 0.25;
                $var14 = $this.$posY - $this.$motionY * 0.25;
                var$20 = $this.$posZ - $this.$motionZ * 0.25;
                var$23 = $this.$motionX;
                var$24 = $this.$motionY;
                var$22 = $this.$motionZ;
                $ptr = 12;
                continue main;
            }
            $var24 = 0.800000011920929;
        }
        $var7 = $this.$motionX;
        $var14 = $var24;
        $this.$motionX = $var7 * $var14;
        $this.$motionY = $this.$motionY * $var14;
        $this.$motionZ = $this.$motionZ * $var14;
        $this.$motionY = $this.$motionY - 0.05000000074505806;
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        $ptr = 10;
        continue main;
    case 9:
        $tmp = $var3.$attackEntityFrom($var17, $var22);
        if ($rt_suspending()) {
            break main;
        }
        $var16 = $tmp;
        if ($var16) {
            if ($var4.$entityHit instanceof nms_EntityLiving) {
                $var25 = $var4.$entityHit;
                if ($this.$knockbackStrength > 0) {
                    $var27 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
                    if ($var27 > 0.0) {
                        $var17 = $var4.$entityHit;
                        $var7 = $this.$motionX * $this.$knockbackStrength * 0.6000000238418579;
                        $var14 = $var27;
                        $var17.$addVelocity($var7 / $var14, 0.1, $this.$motionZ * $this.$knockbackStrength * 0.6000000238418579 / $var14);
                    }
                }
                if ($this.$shootingEntity !== null) {
                    $var17 = $this.$shootingEntity;
                    $var3 = $this.$rand0;
                    $ptr = 14;
                    continue main;
                }
            }
            $var17 = $rt_s(1701);
            $var21 = 1.0;
            $var24 = 1.2000000476837158 / (nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224 + 0.8999999761581421);
            $ptr = 11;
            continue main;
        }
        $this.$motionX = $this.$motionX * (-0.10000000149011612);
        $this.$motionY = $this.$motionY * (-0.10000000149011612);
        $this.$motionZ = $this.$motionZ * (-0.10000000149011612);
        $this.$rotationYaw = $this.$rotationYaw + 180.0;
        $this.$prevRotationYaw = $this.$prevRotationYaw + 180.0;
        $this.$ticksInAir = 0;
        if (nms_EntityArrow_getIsCritical($this)) {
            $var16 = 0;
            if ($var16 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1164);
                $var7 = $this.$posX;
                $var14 = $this.$motionX;
                var$20 = $var16;
                $var7 = $var7 + $var14 * var$20 / 4.0;
                var$22 = $this.$posY + $this.$motionY * var$20 / 4.0;
                $var14 = $this.$posZ + $this.$motionZ * var$20 / 4.0;
                var$20 =  -$this.$motionX;
                var$23 =  -$this.$motionY + 0.2;
                var$24 =  -$this.$motionZ;
                $ptr = 8;
                continue main;
            }
        }
        $this.$posX = $this.$posX + $this.$motionX;
        $this.$posY = $this.$posY + $this.$motionY;
        $this.$posZ = $this.$posZ + $this.$motionZ;
        $var21 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var21) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        $var24 = 0.9900000095367432;
        if (nms_Entity_isInWater($this)) {
            $var26 = 0;
            if ($var26 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1017);
                $var7 = $this.$posX - $this.$motionX * 0.25;
                $var14 = $this.$posY - $this.$motionY * 0.25;
                var$20 = $this.$posZ - $this.$motionZ * 0.25;
                var$23 = $this.$motionX;
                var$24 = $this.$motionY;
                var$22 = $this.$motionZ;
                $ptr = 12;
                continue main;
            }
            $var24 = 0.800000011920929;
        }
        $var7 = $this.$motionX;
        $var14 = $var24;
        $this.$motionX = $var7 * $var14;
        $this.$motionY = $this.$motionY * $var14;
        $this.$motionZ = $this.$motionZ * $var14;
        $this.$motionY = $this.$motionY - 0.05000000074505806;
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        $ptr = 10;
    case 10:
        nms_Entity_doBlockCollisions($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 11:
        nms_Entity_playSound($this, $var17, $var21, $var24);
        if ($rt_suspending()) {
            break main;
        }
        if (!($var4.$entityHit instanceof nms_EntityEnderman)) {
            $ptr = 13;
            continue main;
        }
        if (nms_EntityArrow_getIsCritical($this)) {
            $var16 = 0;
            if ($var16 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1164);
                $var7 = $this.$posX;
                $var14 = $this.$motionX;
                var$20 = $var16;
                $var7 = $var7 + $var14 * var$20 / 4.0;
                var$22 = $this.$posY + $this.$motionY * var$20 / 4.0;
                $var14 = $this.$posZ + $this.$motionZ * var$20 / 4.0;
                var$20 =  -$this.$motionX;
                var$23 =  -$this.$motionY + 0.2;
                var$24 =  -$this.$motionZ;
                $ptr = 8;
                continue main;
            }
        }
        $this.$posX = $this.$posX + $this.$motionX;
        $this.$posY = $this.$posY + $this.$motionY;
        $this.$posZ = $this.$posZ + $this.$motionZ;
        $var21 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var21) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        $var24 = 0.9900000095367432;
        if (nms_Entity_isInWater($this)) {
            $var26 = 0;
            if ($var26 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1017);
                $var7 = $this.$posX - $this.$motionX * 0.25;
                $var14 = $this.$posY - $this.$motionY * 0.25;
                var$20 = $this.$posZ - $this.$motionZ * 0.25;
                var$23 = $this.$motionX;
                var$24 = $this.$motionY;
                var$22 = $this.$motionZ;
                $ptr = 12;
                continue main;
            }
            $var24 = 0.800000011920929;
        }
        $var7 = $this.$motionX;
        $var14 = $var24;
        $this.$motionX = $var7 * $var14;
        $this.$motionY = $this.$motionY * $var14;
        $this.$motionZ = $this.$motionZ * $var14;
        $this.$motionY = $this.$motionY - 0.05000000074505806;
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        $ptr = 10;
        continue main;
    case 12:
        nms_World_spawnParticle($var17, $var3, $var7, $var14, var$20, var$23, var$24, var$22);
        if ($rt_suspending()) {
            break main;
        }
        $var26 = $var26 + 1 | 0;
        if ($var26 < 4) {
            $var17 = $this.$worldObj;
            $var3 = $rt_s(1017);
            $var7 = $this.$posX - $this.$motionX * 0.25;
            $var14 = $this.$posY - $this.$motionY * 0.25;
            var$20 = $this.$posZ - $this.$motionZ * 0.25;
            var$23 = $this.$motionX;
            var$24 = $this.$motionY;
            var$22 = $this.$motionZ;
            continue main;
        }
        $var7 = $this.$motionX;
        $var14 = 0.800000011920929;
        $this.$motionX = $var7 * $var14;
        $this.$motionY = $this.$motionY * $var14;
        $this.$motionZ = $this.$motionZ * $var14;
        $this.$motionY = $this.$motionY - 0.05000000074505806;
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        $ptr = 10;
        continue main;
    case 13:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_EntityArrow_getIsCritical($this)) {
            $var16 = 0;
            if ($var16 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1164);
                $var7 = $this.$posX;
                $var14 = $this.$motionX;
                var$20 = $var16;
                $var7 = $var7 + $var14 * var$20 / 4.0;
                var$22 = $this.$posY + $this.$motionY * var$20 / 4.0;
                $var14 = $this.$posZ + $this.$motionZ * var$20 / 4.0;
                var$20 =  -$this.$motionX;
                var$23 =  -$this.$motionY + 0.2;
                var$24 =  -$this.$motionZ;
                $ptr = 8;
                continue main;
            }
        }
        $this.$posX = $this.$posX + $this.$motionX;
        $this.$posY = $this.$posY + $this.$motionY;
        $this.$posZ = $this.$posZ + $this.$motionZ;
        $var21 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var21) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        $var24 = 0.9900000095367432;
        if (nms_Entity_isInWater($this)) {
            $var26 = 0;
            if ($var26 < 4) {
                $var17 = $this.$worldObj;
                $var3 = $rt_s(1017);
                $var7 = $this.$posX - $this.$motionX * 0.25;
                $var14 = $this.$posY - $this.$motionY * 0.25;
                var$20 = $this.$posZ - $this.$motionZ * 0.25;
                var$23 = $this.$motionX;
                var$24 = $this.$motionY;
                var$22 = $this.$motionZ;
                $ptr = 12;
                continue main;
            }
            $var24 = 0.800000011920929;
        }
        $var7 = $this.$motionX;
        $var14 = $var24;
        $this.$motionX = $var7 * $var14;
        $this.$motionY = $this.$motionY * $var14;
        $this.$motionZ = $this.$motionZ * $var14;
        $this.$motionY = $this.$motionY - 0.05000000074505806;
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        $ptr = 10;
        continue main;
    case 14:
        nms_EnchantmentThorns_func_92096_a($var17, $var25, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var17 = $rt_s(1701);
        $var21 = 1.0;
        $var24 = 1.2000000476837158 / (nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224 + 0.8999999761581421);
        $ptr = 11;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var21, $var16, $var17, $var3, $var9, $var26, $var22, $var4, $var18, $var19, $var2, $var5, $var6, $var7, $var10, $var13, $var14, $var20, var$20, $var24, var$22, var$23, var$24, $var25, $var27, $ptr);
}
function nms_EntityArrow_canTriggerWalking($this) {
    return 0;
}
function nms_EntityArrow_getShadowSize($this) {
    return 0.0;
}
function nms_EntityArrow_setDamage($this, $par1) {
    $this.$damage = $par1;
}
function nms_EntityArrow_getDamage($this) {
    return $this.$damage;
}
function nms_EntityArrow_setKnockbackStrength($this, $par1) {
    $this.$knockbackStrength = $par1;
}
function nms_EntityArrow_canAttackWithItem($this) {
    return 0;
}
function nms_EntityArrow_setIsCritical($this, $par1) {
    var $var2;
    $var2 = nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16);
    if (!$par1)
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(($var2 & (-2)) << 24 >> 24));
    else
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf(($var2 | 1) << 24 >> 24));
}
function nms_EntityArrow_getIsCritical($this) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 1) ? 0 : 1;
}
function nms_RenderArrow() {
    nms_Render.call(this);
}
var nms_RenderArrow_tex = null;
function nms_RenderArrow__init_0() {
    var var_0 = new nms_RenderArrow();
    nms_RenderArrow__init_(var_0);
    return var_0;
}
function nms_RenderArrow__init_($this) {
    nms_Render__init_0($this);
}
function nms_RenderArrow_renderArrow($this, $par1EntityArrow, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var21, $var23, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var23 = $thread.pop();$var21 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityArrow = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var10 = nms_RenderArrow_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        nleg_EaglerAdapterGL30_glRotatef($par1EntityArrow.$prevRotationYaw + ($par1EntityArrow.$rotationYaw - $par1EntityArrow.$prevRotationYaw) * $par9 - 90.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef($par1EntityArrow.$prevRotationPitch + ($par1EntityArrow.$rotationPitch - $par1EntityArrow.$prevRotationPitch) * $par9, 0.0, 0.0, 1.0);
        nlea_Tessellator_$callClinit();
        $var10 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glEnable(32826);
        $var21 = $par1EntityArrow.$arrowShake - $par9;
        if ($var21 > 0.0)
            nleg_EaglerAdapterGL30_glRotatef( -nms_MathHelper_sin($var21 * 3.0) * $var21, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glRotatef(45.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.05824999883770943, 0.05824999883770943, 0.05824999883770943);
        nleg_EaglerAdapterGL30_glTranslatef((-4.0), 0.0, 0.0);
        nleg_EaglerAdapterGL30_glNormal3f(0.05824999883770943, 0.0, 0.0);
        nlea_Tessellator_startDrawingQuads($var10);
        nlea_Tessellator_addVertexWithUV($var10, (-7.0), (-2.0), (-2.0), 0.0020000000949949026, 0.15825000405311584);
        nlea_Tessellator_addVertexWithUV($var10, (-7.0), (-2.0), 2.0, 0.15424999594688416, 0.15825000405311584);
        nlea_Tessellator_addVertexWithUV($var10, (-7.0), 2.0, 2.0, 0.15424999594688416, 0.31049999594688416);
        nlea_Tessellator_addVertexWithUV($var10, (-7.0), 2.0, (-2.0), 0.0020000000949949026, 0.31049999594688416);
        nlea_Tessellator_draw($var10);
        nleg_EaglerAdapterGL30_glNormal3f((-0.05824999883770943), 0.0, 0.0);
        nlea_Tessellator_startDrawingQuads($var10);
        nlea_Tessellator_addVertexWithUV($var10, (-7.0), 2.0, (-2.0), 0.0020000000949949026, 0.15825000405311584);
        nlea_Tessellator_addVertexWithUV($var10, (-7.0), 2.0, 2.0, 0.15424999594688416, 0.15825000405311584);
        nlea_Tessellator_addVertexWithUV($var10, (-7.0), (-2.0), 2.0, 0.15424999594688416, 0.31049999594688416);
        nlea_Tessellator_addVertexWithUV($var10, (-7.0), (-2.0), (-2.0), 0.0020000000949949026, 0.31049999594688416);
        nlea_Tessellator_draw($var10);
        $var23 = 0;
        while ($var23 < 4) {
            nleg_EaglerAdapterGL30_glRotatef(90.0, 1.0, 0.0, 0.0);
            nleg_EaglerAdapterGL30_glNormal3f(0.0, 0.0, (-0.05824999883770943));
            nlea_Tessellator_startDrawingQuads($var10);
            nlea_Tessellator_addVertexWithUV($var10, (-8.0), (-2.0), 0.0, 0.0020000000949949026, 0.0020000000949949026);
            nlea_Tessellator_addVertexWithUV($var10, 8.0, (-2.0), 0.0, 0.49799999594688416, 0.0020000000949949026);
            nlea_Tessellator_addVertexWithUV($var10, 8.0, 2.0, 0.0, 0.49799999594688416, 0.15424999594688416);
            nlea_Tessellator_addVertexWithUV($var10, (-8.0), 2.0, 0.0, 0.0020000000949949026, 0.15424999594688416);
            nlea_Tessellator_draw($var10);
            $var23 = $var23 + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityArrow, $par2, $par4, $par6, $par8, $par9, $var10, $var21, $var23, $ptr);
}
function nms_RenderArrow_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderArrow_renderArrow($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderArrow__clinit_() {
    nms_RenderArrow_tex = nle_TextureLocation__init_($rt_s(1702));
}
function nms_EntityThrowable() {
    var a = this; nms_Entity.call(a);
    a.$xTile0 = 0;
    a.$yTile0 = 0;
    a.$zTile0 = 0;
    a.$inTile0 = 0;
    a.$inGround0 = 0;
    a.$throwableShake = 0;
    a.$thrower = null;
    a.$throwerName = null;
    a.$ticksInGround0 = 0;
    a.$ticksInAir0 = 0;
}
function nms_EntityThrowable__init_() {
    var var_0 = new nms_EntityThrowable();
    nms_EntityThrowable__init_0(var_0);
    return var_0;
}
function nms_EntityThrowable__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityThrowable();
    nms_EntityThrowable__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntityThrowable__init_0($this) {
    nms_Entity__init_0($this);
    $this.$xTile0 = (-1);
    $this.$yTile0 = (-1);
    $this.$zTile0 = (-1);
    $this.$inTile0 = 0;
    $this.$inGround0 = 0;
    $this.$throwableShake = 0;
    $this.$throwerName = null;
    $this.$ticksInAir0 = 0;
    nms_Entity_setSize($this, 0.25, 0.25);
}
function nms_EntityThrowable_entityInit($this) {
    return;
}
function nms_EntityThrowable_isInRangeToRenderDist($this, $par1) {
    var $var3;
    $var3 = nms_AxisAlignedBB_getAverageEdgeLength($this.$boundingBox) * 4.0 * 64.0;
    return $par1 >= $var3 * $var3 ? 0 : 1;
}
function nms_EntityThrowable__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_Entity__init_0($this);
    $this.$xTile0 = (-1);
    $this.$yTile0 = (-1);
    $this.$zTile0 = (-1);
    $this.$inTile0 = 0;
    $this.$inGround0 = 0;
    $this.$throwableShake = 0;
    $this.$throwerName = null;
    $this.$ticksInAir0 = 0;
    nms_Entity_setWorld($this, $par1World);
    $this.$ticksInGround0 = 0;
    nms_Entity_setSize($this, 0.25, 0.25);
    nms_Entity_setPosition($this, $par2, $par4, $par6);
    $this.$yOffset = 0.0;
}
function nms_EntityThrowable_setVelocity($this, $par1, $par3, $par5) {
    var $var7, var$5;
    $this.$motionX = $par1;
    $this.$motionY = $par3;
    $this.$motionZ = $par5;
    if ($this.$prevRotationPitch === 0.0 && $this.$prevRotationYaw === 0.0) {
        $var7 = nms_MathHelper_sqrt_double($par1 * $par1 + $par5 * $par5);
        var$5 = jl_Math_atan2($par1, $par5) * 180.0 / 3.141592653589793;
        $this.$rotationYaw = var$5;
        $this.$prevRotationYaw = var$5;
        $var7 = jl_Math_atan2($par3, $var7) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = $var7;
        $this.$prevRotationPitch = $var7;
    }
}
function nms_EntityThrowable_onUpdate($this) {
    var $var16, $var2, $var3, $var1, $var17, $var18, $var19, $var7, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var1 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var16 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$lastTickPosX = $this.$posX;
        $this.$lastTickPosY = $this.$posY;
        $this.$lastTickPosZ = $this.$posZ;
        $ptr = 1;
    case 1:
        nms_Entity_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$throwableShake > 0)
            $this.$throwableShake = $this.$throwableShake - 1 | 0;
        if (!$this.$inGround0)
            $this.$ticksInAir0 = $this.$ticksInAir0 + 1 | 0;
        else {
            if (nms_World_getBlockId($this.$worldObj, $this.$xTile0, $this.$yTile0, $this.$zTile0) == $this.$inTile0) {
                $this.$ticksInGround0 = $this.$ticksInGround0 + 1 | 0;
                if ($this.$ticksInGround0 != 1200)
                    return;
                $ptr = 3;
                continue main;
            }
            $this.$inGround0 = 0;
            $this.$motionX = $this.$motionX * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$motionY = $this.$motionY * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$motionZ = $this.$motionZ * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$ticksInGround0 = 0;
            $this.$ticksInAir0 = 0;
        }
        $var16 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX, $this.$posY, $this.$posZ);
        $var2 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
        $var3 = $this.$worldObj;
        $ptr = 2;
    case 2:
        $tmp = nms_World_rayTraceBlocks($var3, $var16, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $tmp;
        nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX, $this.$posY, $this.$posZ);
        nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
        if ($var3 !== null)
            nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $var3.$hitVec.$xCoord, $var3.$hitVec.$yCoord, $var3.$hitVec.$zCoord);
        a: {
            if ($var3 !== null) {
                if ($var3.$typeOfHit !== nms_EnumMovingObjectType_TILE)
                    break a;
                $var1 = nms_World_getBlockId($this.$worldObj, $var3.$blockX, $var3.$blockY, $var3.$blockZ);
                nms_Block_$callClinit();
                if ($var1 != nms_Block_portal.$blockID)
                    break a;
                nms_Entity_setInPortal($this);
            }
            $this.$posX = $this.$posX + $this.$motionX;
            $this.$posY = $this.$posY + $this.$motionY;
            $this.$posZ = $this.$posZ + $this.$motionZ;
            $var17 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
            $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
            $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var17) * 180.0 / 3.141592653589793;
            while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
                $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
            }
            while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
                $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
            }
            while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
                $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
            }
            while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
                $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
            }
            $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
            $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
            $var18 = 0.9900000095367432;
            $var19 = $this.$getGravityVelocity();
            if (nms_Entity_isInWater($this)) {
                $var7 = 0;
                if ($var7 < 4) {
                    $var16 = $this.$worldObj;
                    $var2 = $rt_s(1017);
                    var$9 = $this.$posX - $this.$motionX * 0.25;
                    var$10 = $this.$posY - $this.$motionY * 0.25;
                    var$11 = $this.$posZ - $this.$motionZ * 0.25;
                    var$12 = $this.$motionX;
                    var$13 = $this.$motionY;
                    var$14 = $this.$motionZ;
                    $ptr = 5;
                    continue main;
                }
                $var18 = 0.800000011920929;
            }
            var$9 = $this.$motionX;
            var$10 = $var18;
            $this.$motionX = var$9 * var$10;
            $this.$motionY = $this.$motionY * var$10;
            $this.$motionZ = $this.$motionZ * var$10;
            $this.$motionY = $this.$motionY - $var19;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        }
        $ptr = 4;
        continue main;
    case 3:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        $this.$onImpact($var3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$posX = $this.$posX + $this.$motionX;
        $this.$posY = $this.$posY + $this.$motionY;
        $this.$posZ = $this.$posZ + $this.$motionZ;
        $var17 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var17) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        $var18 = 0.9900000095367432;
        $var19 = $this.$getGravityVelocity();
        if (nms_Entity_isInWater($this)) {
            $var7 = 0;
            if ($var7 < 4) {
                $var16 = $this.$worldObj;
                $var2 = $rt_s(1017);
                var$9 = $this.$posX - $this.$motionX * 0.25;
                var$10 = $this.$posY - $this.$motionY * 0.25;
                var$11 = $this.$posZ - $this.$motionZ * 0.25;
                var$12 = $this.$motionX;
                var$13 = $this.$motionY;
                var$14 = $this.$motionZ;
                $ptr = 5;
                continue main;
            }
            $var18 = 0.800000011920929;
        }
        var$9 = $this.$motionX;
        var$10 = $var18;
        $this.$motionX = var$9 * var$10;
        $this.$motionY = $this.$motionY * var$10;
        $this.$motionZ = $this.$motionZ * var$10;
        $this.$motionY = $this.$motionY - $var19;
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        return;
    case 5:
        nms_World_spawnParticle($var16, $var2, var$9, var$10, var$11, var$12, var$13, var$14);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $var7 + 1 | 0;
        if ($var7 >= 4) {
            var$9 = $this.$motionX;
            var$10 = 0.800000011920929;
            $this.$motionX = var$9 * var$10;
            $this.$motionY = $this.$motionY * var$10;
            $this.$motionZ = $this.$motionZ * var$10;
            $this.$motionY = $this.$motionY - $var19;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        }
        $var16 = $this.$worldObj;
        $var2 = $rt_s(1017);
        var$9 = $this.$posX - $this.$motionX * 0.25;
        var$10 = $this.$posY - $this.$motionY * 0.25;
        var$11 = $this.$posZ - $this.$motionZ * 0.25;
        var$12 = $this.$motionX;
        var$13 = $this.$motionY;
        var$14 = $this.$motionZ;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var16, $var2, $var3, $var1, $var17, $var18, $var19, $var7, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
}
function nms_EntityThrowable_getGravityVelocity($this) {
    return 0.029999999329447746;
}
function nms_EntityThrowable_getShadowSize($this) {
    return 0.0;
}
function nms_EntityThrowable_getThrower($this) {
    if ($this.$thrower === null && $this.$throwerName !== null && $this.$throwerName.$length() > 0)
        $this.$thrower = nms_World_getPlayerEntityByName($this.$worldObj, $this.$throwerName);
    return $this.$thrower;
}
function nms_EntitySnowball() {
    nms_EntityThrowable.call(this);
}
function nms_EntitySnowball__init_0() {
    var var_0 = new nms_EntitySnowball();
    nms_EntitySnowball__init_(var_0);
    return var_0;
}
function nms_EntitySnowball__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntitySnowball();
    nms_EntitySnowball__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntitySnowball__init_($this) {
    nms_EntityThrowable__init_0($this);
}
function nms_EntitySnowball__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_EntityThrowable__init_2($this, $par1World, $par2, $par4, $par6);
}
function nms_EntitySnowball_onImpact($this, $par1MovingObjectPosition) {
    var $var2, var$3, $var3, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1MovingObjectPosition = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1MovingObjectPosition.$entityHit !== null) {
            $var2 = 0;
            if ($par1MovingObjectPosition.$entityHit instanceof nms_EntityBlaze)
                $var2 = 3;
            $par1MovingObjectPosition = $par1MovingObjectPosition.$entityHit;
            var$3 = nms_DamageSource_causeThrownDamage($this, nms_EntityThrowable_getThrower($this));
            $ptr = 2;
            continue main;
        }
        $var3 = 0;
        if ($var3 >= 8)
            return;
        $par1MovingObjectPosition = $this.$worldObj;
        var$3 = $rt_s(1176);
        var$5 = $this.$posX;
        var$6 = $this.$posY;
        var$7 = $this.$posZ;
        var$8 = 0.0;
        var$9 = 0.0;
        var$10 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1MovingObjectPosition, var$3, var$5, var$6, var$7, var$8, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $var3 + 1 | 0;
        if ($var3 >= 8)
            return;
        $par1MovingObjectPosition = $this.$worldObj;
        var$3 = $rt_s(1176);
        var$5 = $this.$posX;
        var$6 = $this.$posY;
        var$7 = $this.$posZ;
        var$8 = 0.0;
        var$9 = 0.0;
        var$10 = 0.0;
        continue main;
    case 2:
        $par1MovingObjectPosition.$attackEntityFrom(var$3, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = 0;
        if ($var3 >= 8)
            return;
        $par1MovingObjectPosition = $this.$worldObj;
        var$3 = $rt_s(1176);
        var$5 = $this.$posX;
        var$6 = $this.$posY;
        var$7 = $this.$posZ;
        var$8 = 0.0;
        var$9 = 0.0;
        var$10 = 0.0;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1MovingObjectPosition, $var2, var$3, $var3, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
}
function nms_RenderSnowball() {
    var a = this; nms_Render.call(a);
    a.$field_94151_a = null;
    a.$field_94150_f = 0;
}
var nms_RenderSnowball_tex = null;
function nms_RenderSnowball__init_1(var_0, var_1) {
    var var_2 = new nms_RenderSnowball();
    nms_RenderSnowball__init_2(var_2, var_0, var_1);
    return var_2;
}
function nms_RenderSnowball__init_0(var_0) {
    var var_1 = new nms_RenderSnowball();
    nms_RenderSnowball__init_(var_1, var_0);
    return var_1;
}
function nms_RenderSnowball__init_2($this, $par1, $par2) {
    nms_Render__init_0($this);
    $this.$field_94151_a = $par1;
    $this.$field_94150_f = $par2;
}
function nms_RenderSnowball__init_($this, $par1) {
    nms_RenderSnowball__init_2($this, $par1, 0);
}
function nms_RenderSnowball_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var10 = $this.$field_94151_a.$getIconFromDamage($this.$field_94150_f);
        if ($var10 === null)
            return;
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        $var11 = nms_RenderSnowball_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var11);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var11 = nlea_Tessellator_instance;
        if ($var10 === nms_ItemPotion_func_94589_d($rt_s(1703))) {
            $var12 = nms_PotionHelper_func_77915_a(nms_EntityPotion_getPotionDamage($par1Entity), 0);
            nleg_EaglerAdapterGL30_glColor3f(($var12 >> 16 & 255) / 255.0, ($var12 >> 8 & 255) / 255.0, ($var12 & 255) / 255.0);
            nleg_EaglerAdapterGL30_glPushMatrix();
            nms_RenderSnowball_func_77026_a($this, $var11, nms_ItemPotion_func_94589_d($rt_s(1704)));
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glColor3f(1.0, 1.0, 1.0);
        }
        nms_RenderSnowball_func_77026_a($this, $var11, $var10);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $var10, $var11, $var12, $ptr);
}
function nms_RenderSnowball_func_77026_a($this, $par1Tessellator, $par2Icon) {
    var $var3, $var4, $var5, $var6, var$7, var$8, var$9, var$10;
    $var3 = $par2Icon.$getMinU();
    $var4 = $par2Icon.$getMaxU();
    $var5 = $par2Icon.$getMinV();
    $var6 = $par2Icon.$getMaxV();
    nleg_EaglerAdapterGL30_glRotatef(180.0 - $this.$renderManager.$playerViewY, 0.0, 1.0, 0.0);
    nleg_EaglerAdapterGL30_glRotatef( -$this.$renderManager.$playerViewX, 1.0, 0.0, 0.0);
    nlea_Tessellator_startDrawingQuads($par1Tessellator);
    nlea_Tessellator_setNormal($par1Tessellator, 0.0, 1.0, 0.0);
    var$7 = $var3;
    var$8 = $var6;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, (-0.5), (-0.25), 0.0, var$7, var$8);
    var$9 = $var4;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, 0.5, (-0.25), 0.0, var$9, var$8);
    var$10 = $var5;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, 0.5, 0.75, 0.0, var$9, var$10);
    nlea_Tessellator_addVertexWithUV($par1Tessellator, (-0.5), 0.75, 0.0, var$7, var$10);
    nlea_Tessellator_draw($par1Tessellator);
}
function nms_RenderSnowball__clinit_() {
    nms_RenderSnowball_tex = nle_TextureLocation__init_($rt_s(992));
}
function nms_Item() {
    var a = this; jl_Object.call(a);
    a.$tabToDisplayOn = null;
    a.$itemID = 0;
    a.$maxStackSize = 0;
    a.$maxDamage = 0;
    a.$bFull3D = 0;
    a.$hasSubtypes = 0;
    a.$containerItem = null;
    a.$potionEffect = null;
    a.$unlocalizedName = null;
    a.$itemIcon = null;
}
var nms_Item_itemRand = null;
var nms_Item_itemsList = null;
var nms_Item_shovelIron = null;
var nms_Item_pickaxeIron = null;
var nms_Item_axeIron = null;
var nms_Item_flintAndSteel = null;
var nms_Item_appleRed = null;
var nms_Item_bow = null;
var nms_Item_arrow = null;
var nms_Item_coal = null;
var nms_Item_diamond = null;
var nms_Item_ingotIron = null;
var nms_Item_ingotGold = null;
var nms_Item_swordIron = null;
var nms_Item_swordWood = null;
var nms_Item_shovelWood = null;
var nms_Item_pickaxeWood = null;
var nms_Item_axeWood = null;
var nms_Item_swordStone = null;
var nms_Item_shovelStone = null;
var nms_Item_pickaxeStone = null;
var nms_Item_axeStone = null;
var nms_Item_swordDiamond = null;
var nms_Item_shovelDiamond = null;
var nms_Item_pickaxeDiamond = null;
var nms_Item_axeDiamond = null;
var nms_Item_stick = null;
var nms_Item_bowlEmpty = null;
var nms_Item_bowlSoup = null;
var nms_Item_swordGold = null;
var nms_Item_shovelGold = null;
var nms_Item_pickaxeGold = null;
var nms_Item_axeGold = null;
var nms_Item_silk = null;
var nms_Item_feather = null;
var nms_Item_gunpowder = null;
var nms_Item_hoeWood = null;
var nms_Item_hoeStone = null;
var nms_Item_hoeIron = null;
var nms_Item_hoeDiamond = null;
var nms_Item_hoeGold = null;
var nms_Item_seeds = null;
var nms_Item_wheat = null;
var nms_Item_bread = null;
var nms_Item_helmetLeather = null;
var nms_Item_plateLeather = null;
var nms_Item_legsLeather = null;
var nms_Item_bootsLeather = null;
var nms_Item_helmetChain = null;
var nms_Item_plateChain = null;
var nms_Item_legsChain = null;
var nms_Item_bootsChain = null;
var nms_Item_helmetIron = null;
var nms_Item_plateIron = null;
var nms_Item_legsIron = null;
var nms_Item_bootsIron = null;
var nms_Item_helmetDiamond = null;
var nms_Item_plateDiamond = null;
var nms_Item_legsDiamond = null;
var nms_Item_bootsDiamond = null;
var nms_Item_helmetGold = null;
var nms_Item_plateGold = null;
var nms_Item_legsGold = null;
var nms_Item_bootsGold = null;
var nms_Item_flint = null;
var nms_Item_porkRaw = null;
var nms_Item_porkCooked = null;
var nms_Item_painting = null;
var nms_Item_appleGold = null;
var nms_Item_sign = null;
var nms_Item_doorWood = null;
var nms_Item_bucketEmpty = null;
var nms_Item_bucketWater = null;
var nms_Item_bucketLava = null;
var nms_Item_minecartEmpty = null;
var nms_Item_saddle = null;
var nms_Item_doorIron = null;
var nms_Item_redstone = null;
var nms_Item_snowball = null;
var nms_Item_boat = null;
var nms_Item_leather = null;
var nms_Item_bucketMilk = null;
var nms_Item_brick = null;
var nms_Item_clay = null;
var nms_Item_reed = null;
var nms_Item_paper = null;
var nms_Item_book = null;
var nms_Item_slimeBall = null;
var nms_Item_minecartCrate = null;
var nms_Item_minecartPowered = null;
var nms_Item_egg = null;
var nms_Item_compass = null;
var nms_Item_fishingRod = null;
var nms_Item_pocketSundial = null;
var nms_Item_lightStoneDust = null;
var nms_Item_fishRaw = null;
var nms_Item_fishCooked = null;
var nms_Item_dyePowder = null;
var nms_Item_bone = null;
var nms_Item_sugar = null;
var nms_Item_cake = null;
var nms_Item_bed = null;
var nms_Item_redstoneRepeater = null;
var nms_Item_cookie = null;
var nms_Item_map = null;
var nms_Item_shears = null;
var nms_Item_melon = null;
var nms_Item_pumpkinSeeds = null;
var nms_Item_melonSeeds = null;
var nms_Item_beefRaw = null;
var nms_Item_beefCooked = null;
var nms_Item_chickenRaw = null;
var nms_Item_chickenCooked = null;
var nms_Item_rottenFlesh = null;
var nms_Item_enderPearl = null;
var nms_Item_blazeRod = null;
var nms_Item_ghastTear = null;
var nms_Item_goldNugget = null;
var nms_Item_netherStalkSeeds = null;
var nms_Item_potion = null;
var nms_Item_glassBottle = null;
var nms_Item_spiderEye = null;
var nms_Item_fermentedSpiderEye = null;
var nms_Item_blazePowder = null;
var nms_Item_magmaCream = null;
var nms_Item_brewingStand = null;
var nms_Item_cauldron = null;
var nms_Item_eyeOfEnder = null;
var nms_Item_speckledMelon = null;
var nms_Item_monsterPlacer = null;
var nms_Item_expBottle = null;
var nms_Item_fireballCharge = null;
var nms_Item_writableBook = null;
var nms_Item_writtenBook = null;
var nms_Item_emerald = null;
var nms_Item_itemFrame = null;
var nms_Item_flowerPot = null;
var nms_Item_carrot = null;
var nms_Item_potato = null;
var nms_Item_bakedPotato = null;
var nms_Item_poisonousPotato = null;
var nms_Item_emptyMap = null;
var nms_Item_goldenCarrot = null;
var nms_Item_skull = null;
var nms_Item_carrotOnAStick = null;
var nms_Item_netherStar = null;
var nms_Item_pumpkinPie = null;
var nms_Item_firework = null;
var nms_Item_fireworkCharge = null;
var nms_Item_enchantedBook = null;
var nms_Item_comparator = null;
var nms_Item_netherrackBrick = null;
var nms_Item_netherQuartz = null;
var nms_Item_minecartTnt = null;
var nms_Item_minecartHopper = null;
var nms_Item_record13 = null;
var nms_Item_recordCat = null;
var nms_Item_recordBlocks = null;
var nms_Item_recordChirp = null;
var nms_Item_recordFar = null;
var nms_Item_recordMall = null;
var nms_Item_recordMellohi = null;
var nms_Item_recordStal = null;
var nms_Item_recordStrad = null;
var nms_Item_recordWard = null;
var nms_Item_record11 = null;
var nms_Item_recordWait = null;
function nms_Item_$callClinit() {
    nms_Item_$callClinit = $rt_eraseClinit(nms_Item);
    nms_Item__clinit_();
}
function nms_Item__init_(var_0) {
    var var_1 = new nms_Item();
    nms_Item__init_0(var_1, var_0);
    return var_1;
}
function nms_Item__init_0($this, $par1) {
    var var$2, var$3, var$4;
    nms_Item_$callClinit();
    $this.$tabToDisplayOn = null;
    $this.$maxStackSize = 64;
    $this.$maxDamage = 0;
    $this.$bFull3D = 0;
    $this.$hasSubtypes = 0;
    $this.$containerItem = null;
    $this.$potionEffect = null;
    var$2 = 256 + $par1 | 0;
    $this.$itemID = var$2;
    if (nms_Item_itemsList.data[var$2] !== null) {
        var$3 = jl_System_out();
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $rt_s(1705));
        jl_AbstractStringBuilder_append2(var$4, $par1);
        ji_PrintStream_println(var$3, jl_AbstractStringBuilder_toString(var$4));
    }
    nms_Item_itemsList.data[var$2] = $this;
}
function nms_Item_setMaxStackSize($this, $par1) {
    $this.$maxStackSize = $par1;
    return $this;
}
function nms_Item_getSpriteNumber($this) {
    return 1;
}
function nms_Item_getIconFromDamage($this, $par1) {
    return $this.$itemIcon;
}
function nms_Item_getIconIndex($this, $par1ItemStack) {
    return $this.$getIconFromDamage($par1ItemStack.$itemDamage);
}
function nms_Item_onItemUse($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    return 0;
}
function nms_Item_getStrVsBlock($this, $par1ItemStack, $par2Block) {
    return 1.0;
}
function nms_Item_onItemRightClick($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    return $par1ItemStack;
}
function nms_Item_onEaten($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    return $par1ItemStack;
}
function nms_Item_getItemStackLimit($this) {
    return $this.$maxStackSize;
}
function nms_Item_getMetadata($this, $par1) {
    return 0;
}
function nms_Item_getHasSubtypes($this) {
    return $this.$hasSubtypes;
}
function nms_Item_setHasSubtypes($this, $par1) {
    $this.$hasSubtypes = $par1;
    return $this;
}
function nms_Item_getMaxDamage($this) {
    return $this.$maxDamage;
}
function nms_Item_setMaxDamage($this, $par1) {
    $this.$maxDamage = $par1;
    return $this;
}
function nms_Item_isDamageable($this) {
    return $this.$maxDamage > 0 && !$this.$hasSubtypes ? 1 : 0;
}
function nms_Item_hitEntity($this, $par1ItemStack, $par2EntityLiving, $par3EntityLiving) {
    return 0;
}
function nms_Item_onBlockDestroyed($this, $par1ItemStack, $par2World, $par3, $par4, $par5, $par6, $par7EntityLiving) {
    return 0;
}
function nms_Item_getDamageVsEntity($this, $par1Entity) {
    return 1;
}
function nms_Item_canHarvestBlock($this, $par1Block) {
    return 0;
}
function nms_Item_itemInteractionForEntity($this, $par1ItemStack, $par2EntityLiving) {
    return 0;
}
function nms_Item_setFull3D($this) {
    $this.$bFull3D = 1;
    return $this;
}
function nms_Item_isFull3D($this) {
    return $this.$bFull3D;
}
function nms_Item_shouldRotateAroundWhenRendering($this) {
    return 0;
}
function nms_Item_setUnlocalizedName($this, $par1Str) {
    $this.$unlocalizedName = $par1Str;
    return $this;
}
function nms_Item_getLocalizedName($this, $par1ItemStack) {
    var $var2;
    $var2 = $this.$getUnlocalizedName($par1ItemStack);
    return $var2 !== null ? nms_StatCollector_translateToLocal($var2) : $rt_s(36);
}
function nms_Item_getUnlocalizedName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1706));
    jl_AbstractStringBuilder_append(var$1, $this.$unlocalizedName);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_Item_getUnlocalizedName0($this, $par1ItemStack) {
    $par1ItemStack = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($par1ItemStack);
    jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(1706));
    jl_AbstractStringBuilder_append($par1ItemStack, $this.$unlocalizedName);
    return jl_AbstractStringBuilder_toString($par1ItemStack);
}
function nms_Item_setContainerItem($this, $par1Item) {
    $this.$containerItem = $par1Item;
    return $this;
}
function nms_Item_doesContainerItemLeaveCraftingGrid($this, $par1ItemStack) {
    return 1;
}
function nms_Item_getShareTag($this) {
    return 1;
}
function nms_Item_getContainerItem($this) {
    return $this.$containerItem;
}
function nms_Item_hasContainerItem($this) {
    return $this.$containerItem === null ? 0 : 1;
}
function nms_Item_getColorFromItemStack($this, $par1ItemStack, $par2) {
    return 16777215;
}
function nms_Item_onUpdate($this, $par1ItemStack, $par2World, $par3Entity, $par4, $par5) {
    return;
}
function nms_Item_onCreated($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    return;
}
function nms_Item_getItemUseAction($this, $par1ItemStack) {
    return nms_EnumAction_none;
}
function nms_Item_getMaxItemUseDuration($this, $par1ItemStack) {
    return 0;
}
function nms_Item_onPlayerStoppedUsing($this, $par1ItemStack, $par2World, $par3EntityPlayer, $par4) {
    return;
}
function nms_Item_setPotionEffect($this, $par1Str) {
    $this.$potionEffect = $par1Str;
    return $this;
}
function nms_Item_getPotionEffect($this) {
    return $this.$potionEffect;
}
function nms_Item_isPotionIngredient($this) {
    return $this.$potionEffect === null ? 0 : 1;
}
function nms_Item_addInformation($this, $par1ItemStack, $par2EntityPlayer, $par3List, $par4) {
    return;
}
function nms_Item_getItemDisplayName($this, $par1ItemStack) {
    var var$2;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(36));
    jl_AbstractStringBuilder_append(var$2, nms_StringTranslate_translateNamedKey(nms_StringTranslate_instance, nms_Item_getLocalizedName($this, $par1ItemStack)));
    return jl_String_trim(jl_AbstractStringBuilder_toString(var$2));
}
function nms_Item_hasEffect($this, $par1ItemStack) {
    return nms_ItemStack_isItemEnchanted($par1ItemStack);
}
function nms_Item_getRarity($this, $par1ItemStack) {
    return !nms_ItemStack_isItemEnchanted($par1ItemStack) ? nms_EnumRarity_common : nms_EnumRarity_rare;
}
function nms_Item_isItemTool($this, $par1ItemStack) {
    return $this.$maxStackSize == 1 && nms_Item_isDamageable($this) ? 1 : 0;
}
function nms_Item_getMovingObjectPositionFromPlayer($this, $par1World, $par2EntityPlayer, $par3) {
    var $var5, $var6, $var7, $var9, $var11, $var13, $var15, $var14, $var17, $var16, $var23, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();$var23 = $thread.pop();$var16 = $thread.pop();$var17 = $thread.pop();$var14 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par3 = $thread.pop();$par2EntityPlayer = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $par2EntityPlayer.$prevRotationPitch + ($par2EntityPlayer.$rotationPitch - $par2EntityPlayer.$prevRotationPitch) * 1.0;
        $var6 = $par2EntityPlayer.$prevRotationYaw + ($par2EntityPlayer.$rotationYaw - $par2EntityPlayer.$prevRotationYaw) * 1.0;
        $var7 = $par2EntityPlayer.$prevPosX + ($par2EntityPlayer.$posX - $par2EntityPlayer.$prevPosX) * 1.0;
        $var9 = $par2EntityPlayer.$prevPosY + ($par2EntityPlayer.$posY - $par2EntityPlayer.$prevPosY) * 1.0 + 1.62 - $par2EntityPlayer.$yOffset;
        $var11 = $par2EntityPlayer.$prevPosZ + ($par2EntityPlayer.$posZ - $par2EntityPlayer.$prevPosZ) * 1.0;
        $var13 = nms_Vec3Pool_getVecFromPool($par1World.$vecPool, $var7, $var9, $var11);
        $var15 =  -$var6 * 0.01745329238474369 - 3.1415927410125732;
        $var14 = nms_MathHelper_cos($var15);
        $var15 = nms_MathHelper_sin($var15);
        $var17 =  -$var5 * 0.01745329238474369;
        $var16 =  -nms_MathHelper_cos($var17);
        $var23 = nms_Vec3_addVector($var13, $var15 * $var16 * 5.0, nms_MathHelper_sin($var17) * 5.0, $var14 * $var16 * 5.0);
        var$15 = $par3 ? 0 : 1;
        $ptr = 1;
    case 1:
        $tmp = nms_World_rayTraceBlocks_do_do($par1World, $var13, $var23, $par3, var$15);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return $par1World;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2EntityPlayer, $par3, $var5, $var6, $var7, $var9, $var11, $var13, $var15, $var14, $var17, $var16, $var23, var$15, $ptr);
}
function nms_Item_getItemEnchantability($this) {
    return 0;
}
function nms_Item_requiresMultipleRenderPasses($this) {
    return 0;
}
function nms_Item_getIconFromDamageForRenderPass($this, $par1, $par2) {
    return $this.$getIconFromDamage($par1);
}
function nms_Item_getSubItems($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
}
function nms_Item_getCreativeTab($this) {
    return $this.$tabToDisplayOn;
}
function nms_Item_setCreativeTab($this, $par1CreativeTabs) {
    $this.$tabToDisplayOn = $par1CreativeTabs;
    return $this;
}
function nms_Item_func_82788_x($this) {
    return 1;
}
function nms_Item_getIsRepairable($this, $par1ItemStack, $par2ItemStack) {
    return 0;
}
function nms_Item_registerIcons($this, $par1IconRegister) {
    $this.$itemIcon = nms_TextureMap_registerIcon($par1IconRegister, $this.$unlocalizedName);
}
function nms_Item__clinit_() {
    var var$1;
    nms_Item_itemRand = nle_EaglercraftRandom__init_0();
    nms_Item_itemsList = $rt_createArray(nms_Item, 32000);
    nms_Item_shovelIron = nms_Item_setUnlocalizedName(nms_ItemSpade__init_(0, nms_EnumToolMaterial_IRON), $rt_s(1707));
    nms_Item_pickaxeIron = nms_Item_setUnlocalizedName(nms_ItemPickaxe__init_(1, nms_EnumToolMaterial_IRON), $rt_s(1708));
    nms_Item_axeIron = nms_Item_setUnlocalizedName(nms_ItemAxe__init_(2, nms_EnumToolMaterial_IRON), $rt_s(1709));
    nms_Item_flintAndSteel = nms_Item_setUnlocalizedName(nms_ItemFlintAndSteel__init_(3), $rt_s(1710));
    nms_Item_appleRed = nms_Item_setUnlocalizedName(nms_ItemFood__init_(4, 4, 0.30000001192092896, 0), $rt_s(1711));
    nms_Item_bow = nms_Item_setUnlocalizedName(nms_ItemBow__init_(5), $rt_s(1712));
    nms_Item_arrow = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(6), $rt_s(1713)), nms_CreativeTabs_tabCombat);
    nms_Item_coal = nms_Item_setUnlocalizedName(nms_ItemCoal__init_(7), $rt_s(1714));
    nms_Item_diamond = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(8), $rt_s(1625)), nms_CreativeTabs_tabMaterials);
    nms_Item_ingotIron = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(9), $rt_s(1715)), nms_CreativeTabs_tabMaterials);
    nms_Item_ingotGold = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(10), $rt_s(1716)), nms_CreativeTabs_tabMaterials);
    nms_Item_swordIron = nms_Item_setUnlocalizedName(nms_ItemSword__init_(11, nms_EnumToolMaterial_IRON), $rt_s(1717));
    nms_Item_swordWood = nms_Item_setUnlocalizedName(nms_ItemSword__init_(12, nms_EnumToolMaterial_WOOD), $rt_s(1718));
    nms_Item_shovelWood = nms_Item_setUnlocalizedName(nms_ItemSpade__init_(13, nms_EnumToolMaterial_WOOD), $rt_s(1719));
    nms_Item_pickaxeWood = nms_Item_setUnlocalizedName(nms_ItemPickaxe__init_(14, nms_EnumToolMaterial_WOOD), $rt_s(1720));
    nms_Item_axeWood = nms_Item_setUnlocalizedName(nms_ItemAxe__init_(15, nms_EnumToolMaterial_WOOD), $rt_s(1721));
    nms_Item_swordStone = nms_Item_setUnlocalizedName(nms_ItemSword__init_(16, nms_EnumToolMaterial_STONE), $rt_s(1722));
    nms_Item_shovelStone = nms_Item_setUnlocalizedName(nms_ItemSpade__init_(17, nms_EnumToolMaterial_STONE), $rt_s(1723));
    nms_Item_pickaxeStone = nms_Item_setUnlocalizedName(nms_ItemPickaxe__init_(18, nms_EnumToolMaterial_STONE), $rt_s(1724));
    nms_Item_axeStone = nms_Item_setUnlocalizedName(nms_ItemAxe__init_(19, nms_EnumToolMaterial_STONE), $rt_s(1725));
    nms_Item_swordDiamond = nms_Item_setUnlocalizedName(nms_ItemSword__init_(20, nms_EnumToolMaterial_EMERALD), $rt_s(1726));
    nms_Item_shovelDiamond = nms_Item_setUnlocalizedName(nms_ItemSpade__init_(21, nms_EnumToolMaterial_EMERALD), $rt_s(1727));
    nms_Item_pickaxeDiamond = nms_Item_setUnlocalizedName(nms_ItemPickaxe__init_(22, nms_EnumToolMaterial_EMERALD), $rt_s(1728));
    nms_Item_axeDiamond = nms_Item_setUnlocalizedName(nms_ItemAxe__init_(23, nms_EnumToolMaterial_EMERALD), $rt_s(1729));
    nms_Item_stick = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item_setFull3D(nms_Item__init_(24)), $rt_s(1730)), nms_CreativeTabs_tabMaterials);
    nms_Item_bowlEmpty = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(25), $rt_s(1731)), nms_CreativeTabs_tabMaterials);
    nms_Item_bowlSoup = nms_Item_setUnlocalizedName(nms_ItemSoup__init_(26, 6), $rt_s(1732));
    nms_Item_swordGold = nms_Item_setUnlocalizedName(nms_ItemSword__init_(27, nms_EnumToolMaterial_GOLD), $rt_s(1733));
    nms_Item_shovelGold = nms_Item_setUnlocalizedName(nms_ItemSpade__init_(28, nms_EnumToolMaterial_GOLD), $rt_s(1734));
    nms_Item_pickaxeGold = nms_Item_setUnlocalizedName(nms_ItemPickaxe__init_(29, nms_EnumToolMaterial_GOLD), $rt_s(1735));
    nms_Item_axeGold = nms_Item_setUnlocalizedName(nms_ItemAxe__init_(30, nms_EnumToolMaterial_GOLD), $rt_s(1736));
    var$1 = new nms_ItemReed;
    nms_Block_$callClinit();
    nms_ItemReed__init_(var$1, 31, nms_Block_tripWire);
    nms_Item_silk = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(var$1, $rt_s(1737)), nms_CreativeTabs_tabMaterials);
    nms_Item_feather = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(32), $rt_s(1738)), nms_CreativeTabs_tabMaterials);
    var$1 = nms_Item_setUnlocalizedName(nms_Item__init_(33), $rt_s(1739));
    nms_PotionHelper_$callClinit();
    nms_Item_gunpowder = nms_Item_setCreativeTab(nms_Item_setPotionEffect(var$1, nms_PotionHelper_gunpowderEffect), nms_CreativeTabs_tabMaterials);
    nms_Item_hoeWood = nms_Item_setUnlocalizedName(nms_ItemHoe__init_(34, nms_EnumToolMaterial_WOOD), $rt_s(1740));
    nms_Item_hoeStone = nms_Item_setUnlocalizedName(nms_ItemHoe__init_(35, nms_EnumToolMaterial_STONE), $rt_s(1741));
    nms_Item_hoeIron = nms_Item_setUnlocalizedName(nms_ItemHoe__init_(36, nms_EnumToolMaterial_IRON), $rt_s(1742));
    nms_Item_hoeDiamond = nms_Item_setUnlocalizedName(nms_ItemHoe__init_(37, nms_EnumToolMaterial_EMERALD), $rt_s(1743));
    nms_Item_hoeGold = nms_Item_setUnlocalizedName(nms_ItemHoe__init_(38, nms_EnumToolMaterial_GOLD), $rt_s(1744));
    nms_Item_seeds = nms_Item_setUnlocalizedName(nms_ItemSeeds__init_(39, nms_Block_crops.$blockID, nms_Block_tilledField.$blockID), $rt_s(1745));
    nms_Item_wheat = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(40), $rt_s(1746)), nms_CreativeTabs_tabMaterials);
    nms_Item_bread = nms_Item_setUnlocalizedName(nms_ItemFood__init_(41, 5, 0.6000000238418579, 0), $rt_s(1747));
    nms_Item_helmetLeather = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(42, nms_EnumArmorMaterial_CLOTH, 0, 0), $rt_s(1748));
    nms_Item_plateLeather = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(43, nms_EnumArmorMaterial_CLOTH, 0, 1), $rt_s(1749));
    nms_Item_legsLeather = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(44, nms_EnumArmorMaterial_CLOTH, 0, 2), $rt_s(1750));
    nms_Item_bootsLeather = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(45, nms_EnumArmorMaterial_CLOTH, 0, 3), $rt_s(1751));
    nms_Item_helmetChain = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(46, nms_EnumArmorMaterial_CHAIN, 1, 0), $rt_s(1752));
    nms_Item_plateChain = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(47, nms_EnumArmorMaterial_CHAIN, 1, 1), $rt_s(1753));
    nms_Item_legsChain = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(48, nms_EnumArmorMaterial_CHAIN, 1, 2), $rt_s(1754));
    nms_Item_bootsChain = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(49, nms_EnumArmorMaterial_CHAIN, 1, 3), $rt_s(1755));
    nms_Item_helmetIron = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(50, nms_EnumArmorMaterial_IRON, 2, 0), $rt_s(1756));
    nms_Item_plateIron = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(51, nms_EnumArmorMaterial_IRON, 2, 1), $rt_s(1757));
    nms_Item_legsIron = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(52, nms_EnumArmorMaterial_IRON, 2, 2), $rt_s(1758));
    nms_Item_bootsIron = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(53, nms_EnumArmorMaterial_IRON, 2, 3), $rt_s(1759));
    nms_Item_helmetDiamond = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(54, nms_EnumArmorMaterial_DIAMOND, 3, 0), $rt_s(1760));
    nms_Item_plateDiamond = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(55, nms_EnumArmorMaterial_DIAMOND, 3, 1), $rt_s(1761));
    nms_Item_legsDiamond = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(56, nms_EnumArmorMaterial_DIAMOND, 3, 2), $rt_s(1762));
    nms_Item_bootsDiamond = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(57, nms_EnumArmorMaterial_DIAMOND, 3, 3), $rt_s(1763));
    nms_Item_helmetGold = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(58, nms_EnumArmorMaterial_GOLD, 4, 0), $rt_s(1764));
    nms_Item_plateGold = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(59, nms_EnumArmorMaterial_GOLD, 4, 1), $rt_s(1765));
    nms_Item_legsGold = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(60, nms_EnumArmorMaterial_GOLD, 4, 2), $rt_s(1766));
    nms_Item_bootsGold = nms_Item_setUnlocalizedName(nms_ItemArmor__init_(61, nms_EnumArmorMaterial_GOLD, 4, 3), $rt_s(1767));
    nms_Item_flint = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(62), $rt_s(1768)), nms_CreativeTabs_tabMaterials);
    nms_Item_porkRaw = nms_Item_setUnlocalizedName(nms_ItemFood__init_(63, 3, 0.30000001192092896, 1), $rt_s(1769));
    nms_Item_porkCooked = nms_Item_setUnlocalizedName(nms_ItemFood__init_(64, 8, 0.800000011920929, 1), $rt_s(1770));
    nms_Item_painting = nms_Item_setUnlocalizedName(nms_ItemHangingEntity__init_(65, $rt_cls(nms_EntityPainting)), $rt_s(1771));
    nms_Item_appleGold = nms_Item_setUnlocalizedName(nms_ItemFood_setPotionEffect(nms_ItemFood_setAlwaysEdible(nms_ItemAppleGold__init_(66, 4, 1.2000000476837158, 0)), nms_Potion_regeneration.$id5, 5, 0, 1.0), $rt_s(1772));
    nms_Item_sign = nms_Item_setUnlocalizedName(nms_ItemSign__init_(67), $rt_s(1773));
    var$1 = new nms_ItemDoor;
    nms_Material_$callClinit();
    nms_ItemDoor__init_(var$1, 68, nms_Material_wood);
    nms_Item_doorWood = nms_Item_setUnlocalizedName(var$1, $rt_s(1774));
    nms_Item_bucketEmpty = nms_Item_setMaxStackSize(nms_Item_setUnlocalizedName(nms_ItemBucket__init_(69, 0), $rt_s(1775)), 16);
    nms_Item_bucketWater = nms_Item_setContainerItem(nms_Item_setUnlocalizedName(nms_ItemBucket__init_(70, nms_Block_waterMoving.$blockID), $rt_s(1776)), nms_Item_bucketEmpty);
    nms_Item_bucketLava = nms_Item_setContainerItem(nms_Item_setUnlocalizedName(nms_ItemBucket__init_(71, nms_Block_lavaMoving.$blockID), $rt_s(1777)), nms_Item_bucketEmpty);
    nms_Item_minecartEmpty = nms_Item_setUnlocalizedName(nms_ItemMinecart__init_(72, 0), $rt_s(1778));
    nms_Item_saddle = nms_Item_setUnlocalizedName(nms_ItemSaddle__init_(73), $rt_s(1779));
    nms_Item_doorIron = nms_Item_setUnlocalizedName(nms_ItemDoor__init_0(74, nms_Material_iron), $rt_s(1780));
    nms_Item_redstone = nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_ItemRedstone__init_(75), $rt_s(1781)), nms_PotionHelper_redstoneEffect);
    nms_Item_snowball = nms_Item_setUnlocalizedName(nms_ItemSnowball__init_(76), $rt_s(1782));
    nms_Item_boat = nms_Item_setUnlocalizedName(nms_ItemBoat__init_(77), $rt_s(1783));
    nms_Item_leather = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(78), $rt_s(1784)), nms_CreativeTabs_tabMaterials);
    nms_Item_bucketMilk = nms_Item_setContainerItem(nms_Item_setUnlocalizedName(nms_ItemBucketMilk__init_(79), $rt_s(1785)), nms_Item_bucketEmpty);
    nms_Item_brick = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(80), $rt_s(1786)), nms_CreativeTabs_tabMaterials);
    nms_Item_clay = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(81), $rt_s(1787)), nms_CreativeTabs_tabMaterials);
    nms_Item_reed = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemReed__init_0(82, nms_Block_reed), $rt_s(1788)), nms_CreativeTabs_tabMaterials);
    nms_Item_paper = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(83), $rt_s(1789)), nms_CreativeTabs_tabMisc);
    nms_Item_book = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemBook__init_(84), $rt_s(1790)), nms_CreativeTabs_tabMisc);
    nms_Item_slimeBall = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(85), $rt_s(1791)), nms_CreativeTabs_tabMisc);
    nms_Item_minecartCrate = nms_Item_setUnlocalizedName(nms_ItemMinecart__init_(86, 1), $rt_s(1792));
    nms_Item_minecartPowered = nms_Item_setUnlocalizedName(nms_ItemMinecart__init_(87, 2), $rt_s(1793));
    nms_Item_egg = nms_Item_setUnlocalizedName(nms_ItemEgg__init_(88), $rt_s(1794));
    nms_Item_compass = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(89), $rt_s(1795)), nms_CreativeTabs_tabTools);
    nms_Item_fishingRod = nms_Item_setUnlocalizedName(nms_ItemFishingRod__init_(90), $rt_s(1796));
    nms_Item_pocketSundial = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(91), $rt_s(1797)), nms_CreativeTabs_tabTools);
    nms_Item_lightStoneDust = nms_Item_setCreativeTab(nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_Item__init_(92), $rt_s(1798)), nms_PotionHelper_glowstoneEffect), nms_CreativeTabs_tabMaterials);
    nms_Item_fishRaw = nms_Item_setUnlocalizedName(nms_ItemFood__init_(93, 2, 0.30000001192092896, 0), $rt_s(1799));
    nms_Item_fishCooked = nms_Item_setUnlocalizedName(nms_ItemFood__init_(94, 5, 0.6000000238418579, 0), $rt_s(1800));
    nms_Item_dyePowder = nms_Item_setUnlocalizedName(nms_ItemDye__init_(95), $rt_s(1801));
    nms_Item_bone = nms_Item_setCreativeTab(nms_Item_setFull3D(nms_Item_setUnlocalizedName(nms_Item__init_(96), $rt_s(1802))), nms_CreativeTabs_tabMisc);
    nms_Item_sugar = nms_Item_setCreativeTab(nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_Item__init_(97), $rt_s(1803)), nms_PotionHelper_sugarEffect), nms_CreativeTabs_tabMaterials);
    nms_Item_cake = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item_setMaxStackSize(nms_ItemReed__init_0(98, nms_Block_cake), 1), $rt_s(1804)), nms_CreativeTabs_tabFood);
    nms_Item_bed = nms_Item_setUnlocalizedName(nms_Item_setMaxStackSize(nms_ItemBed__init_(99), 1), $rt_s(1805));
    nms_Item_redstoneRepeater = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemReed__init_0(100, nms_Block_redstoneRepeaterIdle), $rt_s(1806)), nms_CreativeTabs_tabRedstone);
    nms_Item_cookie = nms_Item_setUnlocalizedName(nms_ItemFood__init_(101, 2, 0.10000000149011612, 0), $rt_s(1807));
    nms_Item_map = nms_Item_setUnlocalizedName(nms_ItemMap__init_(102), $rt_s(1808));
    nms_Item_shears = nms_Item_setUnlocalizedName(nms_ItemShears__init_(103), $rt_s(1809));
    nms_Item_melon = nms_Item_setUnlocalizedName(nms_ItemFood__init_(104, 2, 0.30000001192092896, 0), $rt_s(1810));
    nms_Item_pumpkinSeeds = nms_Item_setUnlocalizedName(nms_ItemSeeds__init_(105, nms_Block_pumpkinStem.$blockID, nms_Block_tilledField.$blockID), $rt_s(1811));
    nms_Item_melonSeeds = nms_Item_setUnlocalizedName(nms_ItemSeeds__init_(106, nms_Block_melonStem.$blockID, nms_Block_tilledField.$blockID), $rt_s(1812));
    nms_Item_beefRaw = nms_Item_setUnlocalizedName(nms_ItemFood__init_(107, 3, 0.30000001192092896, 1), $rt_s(1813));
    nms_Item_beefCooked = nms_Item_setUnlocalizedName(nms_ItemFood__init_(108, 8, 0.800000011920929, 1), $rt_s(1814));
    nms_Item_chickenRaw = nms_Item_setUnlocalizedName(nms_ItemFood_setPotionEffect(nms_ItemFood__init_(109, 2, 0.30000001192092896, 1), nms_Potion_hunger.$id5, 30, 0, 0.30000001192092896), $rt_s(1815));
    nms_Item_chickenCooked = nms_Item_setUnlocalizedName(nms_ItemFood__init_(110, 6, 0.6000000238418579, 1), $rt_s(1816));
    nms_Item_rottenFlesh = nms_Item_setUnlocalizedName(nms_ItemFood_setPotionEffect(nms_ItemFood__init_(111, 4, 0.10000000149011612, 1), nms_Potion_hunger.$id5, 30, 0, 0.800000011920929), $rt_s(1817));
    nms_Item_enderPearl = nms_Item_setUnlocalizedName(nms_ItemEnderPearl__init_(112), $rt_s(1818));
    nms_Item_blazeRod = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(113), $rt_s(1131)), nms_CreativeTabs_tabMaterials);
    nms_Item_ghastTear = nms_Item_setCreativeTab(nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_Item__init_(114), $rt_s(1819)), $rt_s(1820)), nms_CreativeTabs_tabBrewing);
    nms_Item_goldNugget = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(115), $rt_s(1821)), nms_CreativeTabs_tabMaterials);
    nms_Item_netherStalkSeeds = nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_ItemSeeds__init_(116, nms_Block_netherStalk.$blockID, nms_Block_slowSand.$blockID), $rt_s(1822)), $rt_s(1823));
    nms_Item_potion = nms_Item_setUnlocalizedName(nms_ItemPotion__init_(117), $rt_s(1132));
    nms_Item_glassBottle = nms_Item_setUnlocalizedName(nms_ItemGlassBottle__init_(118), $rt_s(1824));
    nms_Item_spiderEye = nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_ItemFood_setPotionEffect(nms_ItemFood__init_(119, 2, 0.800000011920929, 0), nms_Potion_poison.$id5, 5, 0, 1.0), $rt_s(1825)), nms_PotionHelper_spiderEyeEffect);
    nms_Item_fermentedSpiderEye = nms_Item_setCreativeTab(nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_Item__init_(120), $rt_s(1826)), nms_PotionHelper_fermentedSpiderEyeEffect), nms_CreativeTabs_tabBrewing);
    nms_Item_blazePowder = nms_Item_setCreativeTab(nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_Item__init_(121), $rt_s(1827)), nms_PotionHelper_blazePowderEffect), nms_CreativeTabs_tabBrewing);
    nms_Item_magmaCream = nms_Item_setCreativeTab(nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_Item__init_(122), $rt_s(1828)), nms_PotionHelper_magmaCreamEffect), nms_CreativeTabs_tabBrewing);
    nms_Item_brewingStand = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemReed__init_0(123, nms_Block_brewingStand), $rt_s(1829)), nms_CreativeTabs_tabBrewing);
    nms_Item_cauldron = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemReed__init_0(124, nms_Block_cauldron), $rt_s(1830)), nms_CreativeTabs_tabBrewing);
    nms_Item_eyeOfEnder = nms_Item_setUnlocalizedName(nms_ItemEnderEye__init_(125), $rt_s(1831));
    nms_Item_speckledMelon = nms_Item_setCreativeTab(nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_Item__init_(126), $rt_s(1832)), nms_PotionHelper_speckledMelonEffect), nms_CreativeTabs_tabBrewing);
    nms_Item_monsterPlacer = nms_Item_setUnlocalizedName(nms_ItemMonsterPlacer__init_(127), $rt_s(1833));
    nms_Item_expBottle = nms_Item_setUnlocalizedName(nms_ItemExpBottle__init_(128), $rt_s(1834));
    nms_Item_fireballCharge = nms_Item_setUnlocalizedName(nms_ItemFireball__init_(129), $rt_s(1654));
    nms_Item_writableBook = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemWritableBook__init_(130), $rt_s(1835)), nms_CreativeTabs_tabMisc);
    nms_Item_writtenBook = nms_Item_setUnlocalizedName(nms_ItemEditableBook__init_(131), $rt_s(1836));
    nms_Item_emerald = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(132), $rt_s(1837)), nms_CreativeTabs_tabMaterials);
    nms_Item_itemFrame = nms_Item_setUnlocalizedName(nms_ItemHangingEntity__init_(133, $rt_cls(nms_EntityItemFrame)), $rt_s(1838));
    nms_Item_flowerPot = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemReed__init_0(134, nms_Block_flowerPot), $rt_s(1839)), nms_CreativeTabs_tabDecorations);
    nms_Item_carrot = nms_Item_setUnlocalizedName(nms_ItemSeedFood__init_(135, 4, 0.6000000238418579, nms_Block_carrot.$blockID, nms_Block_tilledField.$blockID), $rt_s(1840));
    nms_Item_potato = nms_Item_setUnlocalizedName(nms_ItemSeedFood__init_(136, 1, 0.30000001192092896, nms_Block_potato.$blockID, nms_Block_tilledField.$blockID), $rt_s(1841));
    nms_Item_bakedPotato = nms_Item_setUnlocalizedName(nms_ItemFood__init_(137, 6, 0.6000000238418579, 0), $rt_s(1842));
    nms_Item_poisonousPotato = nms_Item_setUnlocalizedName(nms_ItemFood_setPotionEffect(nms_ItemFood__init_(138, 2, 0.30000001192092896, 0), nms_Potion_poison.$id5, 5, 0, 0.6000000238418579), $rt_s(1843));
    nms_Item_emptyMap = nms_Item_setUnlocalizedName(nms_ItemEmptyMap__init_(139), $rt_s(1844));
    nms_Item_goldenCarrot = nms_Item_setPotionEffect(nms_Item_setUnlocalizedName(nms_ItemFood__init_(140, 6, 1.2000000476837158, 0), $rt_s(1845)), nms_PotionHelper_goldenCarrotEffect);
    nms_Item_skull = nms_Item_setUnlocalizedName(nms_ItemSkull__init_(141), $rt_s(1846));
    nms_Item_carrotOnAStick = nms_Item_setUnlocalizedName(nms_ItemCarrotOnAStick__init_(142), $rt_s(1847));
    nms_Item_netherStar = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemSimpleFoiled__init_(143), $rt_s(1848)), nms_CreativeTabs_tabMaterials);
    nms_Item_pumpkinPie = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemFood__init_(144, 8, 0.30000001192092896, 0), $rt_s(1849)), nms_CreativeTabs_tabFood);
    nms_Item_firework = nms_Item_setUnlocalizedName(nms_ItemFirework__init_(145), $rt_s(1850));
    nms_Item_fireworkCharge = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemFireworkCharge__init_(146), $rt_s(1851)), nms_CreativeTabs_tabMisc);
    nms_Item_enchantedBook = nms_Item_setUnlocalizedName(nms_Item_setMaxStackSize(nms_ItemEnchantedBook__init_(147), 1), $rt_s(1852));
    nms_Item_comparator = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_ItemReed__init_0(148, nms_Block_redstoneComparatorIdle), $rt_s(1853)), nms_CreativeTabs_tabRedstone);
    nms_Item_netherrackBrick = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(149), $rt_s(1854)), nms_CreativeTabs_tabMaterials);
    nms_Item_netherQuartz = nms_Item_setCreativeTab(nms_Item_setUnlocalizedName(nms_Item__init_(150), $rt_s(1855)), nms_CreativeTabs_tabMaterials);
    nms_Item_minecartTnt = nms_Item_setUnlocalizedName(nms_ItemMinecart__init_(151, 3), $rt_s(1856));
    nms_Item_minecartHopper = nms_Item_setUnlocalizedName(nms_ItemMinecart__init_(152, 5), $rt_s(1857));
    nms_Item_record13 = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2000, $rt_s(1858)), $rt_s(1859));
    nms_Item_recordCat = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2001, $rt_s(1860)), $rt_s(1859));
    nms_Item_recordBlocks = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2002, $rt_s(1861)), $rt_s(1859));
    nms_Item_recordChirp = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2003, $rt_s(1862)), $rt_s(1859));
    nms_Item_recordFar = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2004, $rt_s(1863)), $rt_s(1859));
    nms_Item_recordMall = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2005, $rt_s(1864)), $rt_s(1859));
    nms_Item_recordMellohi = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2006, $rt_s(1865)), $rt_s(1859));
    nms_Item_recordStal = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2007, $rt_s(1866)), $rt_s(1859));
    nms_Item_recordStrad = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2008, $rt_s(1867)), $rt_s(1859));
    nms_Item_recordWard = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2009, $rt_s(1868)), $rt_s(1859));
    nms_Item_record11 = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2010, $rt_s(1869)), $rt_s(1859));
    nms_Item_recordWait = nms_Item_setUnlocalizedName(nms_ItemRecord__init_(2011, $rt_s(1870)), $rt_s(1859));
}
function nms_EntityEnderPearl() {
    nms_EntityThrowable.call(this);
}
function nms_EntityEnderPearl__init_0() {
    var var_0 = new nms_EntityEnderPearl();
    nms_EntityEnderPearl__init_(var_0);
    return var_0;
}
function nms_EntityEnderPearl__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityEnderPearl();
    nms_EntityEnderPearl__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntityEnderPearl__init_($this) {
    nms_EntityThrowable__init_0($this);
}
function nms_EntityEnderPearl__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_EntityThrowable__init_2($this, $par1World, $par2, $par4, $par6);
}
function nms_EntityEnderPearl_onImpact($this, $par1MovingObjectPosition) {
    var var$2, var$3, $var2, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1MovingObjectPosition = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1MovingObjectPosition.$entityHit !== null) {
            $par1MovingObjectPosition = $par1MovingObjectPosition.$entityHit;
            var$2 = nms_DamageSource_causeThrownDamage($this, nms_EntityThrowable_getThrower($this));
            var$3 = 0;
            $ptr = 1;
            continue main;
        }
        $var2 = 0;
        if ($var2 >= 32)
            return;
        $par1MovingObjectPosition = $this.$worldObj;
        var$5 = $rt_s(1051);
        var$6 = $this.$posX;
        var$7 = $this.$posY + nle_EaglercraftRandom_nextDouble($this.$rand0) * 2.0;
        var$8 = $this.$posZ;
        var$9 = nle_EaglercraftRandom_nextGaussian($this.$rand0);
        var$10 = 0.0;
        var$11 = nle_EaglercraftRandom_nextGaussian($this.$rand0);
        $ptr = 2;
        continue main;
    case 1:
        $par1MovingObjectPosition.$attackEntityFrom(var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = 0;
        if ($var2 >= 32)
            return;
        $par1MovingObjectPosition = $this.$worldObj;
        var$5 = $rt_s(1051);
        var$6 = $this.$posX;
        var$7 = $this.$posY + nle_EaglercraftRandom_nextDouble($this.$rand0) * 2.0;
        var$8 = $this.$posZ;
        var$9 = nle_EaglercraftRandom_nextGaussian($this.$rand0);
        var$10 = 0.0;
        var$11 = nle_EaglercraftRandom_nextGaussian($this.$rand0);
        $ptr = 2;
    case 2:
        nms_World_spawnParticle($par1MovingObjectPosition, var$5, var$6, var$7, var$8, var$9, var$10, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $var2 + 1 | 0;
        if ($var2 >= 32)
            return;
        $par1MovingObjectPosition = $this.$worldObj;
        var$5 = $rt_s(1051);
        var$6 = $this.$posX;
        var$7 = $this.$posY + nle_EaglercraftRandom_nextDouble($this.$rand0) * 2.0;
        var$8 = $this.$posZ;
        var$9 = nle_EaglercraftRandom_nextGaussian($this.$rand0);
        var$10 = 0.0;
        var$11 = nle_EaglercraftRandom_nextGaussian($this.$rand0);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1MovingObjectPosition, var$2, var$3, $var2, var$5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
}
function nms_EntityEnderEye() {
    var a = this; nms_Entity.call(a);
    a.$field_70226_a = 0;
    a.$despawnTimer = 0;
}
function nms_EntityEnderEye__init_0() {
    var var_0 = new nms_EntityEnderEye();
    nms_EntityEnderEye__init_(var_0);
    return var_0;
}
function nms_EntityEnderEye__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityEnderEye();
    nms_EntityEnderEye__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntityEnderEye__init_($this) {
    nms_Entity__init_0($this);
    $this.$field_70226_a = 0;
    nms_Entity_setSize($this, 0.25, 0.25);
}
function nms_EntityEnderEye_entityInit($this) {
    return;
}
function nms_EntityEnderEye_isInRangeToRenderDist($this, $par1) {
    var $var3;
    $var3 = nms_AxisAlignedBB_getAverageEdgeLength($this.$boundingBox) * 4.0 * 64.0;
    return $par1 >= $var3 * $var3 ? 0 : 1;
}
function nms_EntityEnderEye__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_Entity__init_0($this);
    $this.$field_70226_a = 0;
    nms_Entity_setWorld($this, $par1World);
    $this.$despawnTimer = 0;
    nms_Entity_setSize($this, 0.25, 0.25);
    nms_Entity_setPosition($this, $par2, $par4, $par6);
    $this.$yOffset = 0.0;
}
function nms_EntityEnderEye_setVelocity($this, $par1, $par3, $par5) {
    var $var7, var$5;
    $this.$motionX = $par1;
    $this.$motionY = $par3;
    $this.$motionZ = $par5;
    if ($this.$prevRotationPitch === 0.0 && $this.$prevRotationYaw === 0.0) {
        $var7 = nms_MathHelper_sqrt_double($par1 * $par1 + $par5 * $par5);
        var$5 = jl_Math_atan2($par1, $par5) * 180.0 / 3.141592653589793;
        $this.$rotationYaw = var$5;
        $this.$prevRotationYaw = var$5;
        $var7 = jl_Math_atan2($par3, $var7) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = $var7;
        $this.$prevRotationPitch = $var7;
    }
}
function nms_EntityEnderEye_onUpdate($this) {
    var $var1, $var3, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$lastTickPosX = $this.$posX;
        $this.$lastTickPosY = $this.$posY;
        $this.$lastTickPosZ = $this.$posZ;
        $ptr = 1;
    case 1:
        $this.$onEntityUpdate();
        if ($rt_suspending()) {
            break main;
        }
        $this.$posX = $this.$posX + $this.$motionX;
        $this.$posY = $this.$posY + $this.$motionY;
        $this.$posZ = $this.$posZ + $this.$motionZ;
        $var1 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var1) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        if ($this.$inWater) {
            $var3 = 0;
            if ($var3 >= 4)
                return;
            var$3 = $this.$worldObj;
            var$4 = $rt_s(1017);
            var$5 = $this.$posX - $this.$motionX * 0.25;
            var$6 = $this.$posY - $this.$motionY * 0.25;
            var$7 = $this.$posZ - $this.$motionZ * 0.25;
            var$8 = $this.$motionX;
            var$9 = $this.$motionY;
            var$10 = $this.$motionZ;
            $ptr = 3;
            continue main;
        }
        var$3 = $this.$worldObj;
        var$4 = $rt_s(1051);
        var$5 = $this.$posX - $this.$motionX * 0.25 + nle_EaglercraftRandom_nextDouble($this.$rand0) * 0.6 - 0.3;
        var$6 = $this.$posY - $this.$motionY * 0.25 - 0.5;
        var$7 = $this.$posZ - $this.$motionZ * 0.25 + nle_EaglercraftRandom_nextDouble($this.$rand0) * 0.6 - 0.3;
        var$8 = $this.$motionX;
        var$9 = $this.$motionY;
        var$10 = $this.$motionZ;
        $ptr = 2;
    case 2:
        nms_World_spawnParticle(var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_World_spawnParticle(var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $var3 + 1 | 0;
        if ($var3 >= 4)
            return;
        var$3 = $this.$worldObj;
        var$4 = $rt_s(1017);
        var$5 = $this.$posX - $this.$motionX * 0.25;
        var$6 = $this.$posY - $this.$motionY * 0.25;
        var$7 = $this.$posZ - $this.$motionZ * 0.25;
        var$8 = $this.$motionX;
        var$9 = $this.$motionY;
        var$10 = $this.$motionZ;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var3, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
}
function nms_EntityEnderEye_getShadowSize($this) {
    return 0.0;
}
function nms_EntityEnderEye_getBrightnessForRender($this, $par1) {
    return 15728880;
}
function nms_EntityEnderEye_canAttackWithItem($this) {
    return 0;
}
function nms_EntityEgg() {
    nms_EntityThrowable.call(this);
}
function nms_EntityEgg__init_0() {
    var var_0 = new nms_EntityEgg();
    nms_EntityEgg__init_(var_0);
    return var_0;
}
function nms_EntityEgg__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityEgg();
    nms_EntityEgg__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntityEgg__init_($this) {
    nms_EntityThrowable__init_0($this);
}
function nms_EntityEgg__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_EntityThrowable__init_2($this, $par1World, $par2, $par4, $par6);
}
function nms_EntityEgg_onImpact($this, $par1MovingObjectPosition) {
    var var$2, var$3, $var5, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var5 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1MovingObjectPosition = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1MovingObjectPosition.$entityHit !== null) {
            $par1MovingObjectPosition = $par1MovingObjectPosition.$entityHit;
            var$2 = nms_DamageSource_causeThrownDamage($this, nms_EntityThrowable_getThrower($this));
            var$3 = 0;
            $ptr = 1;
            continue main;
        }
        $var5 = 0;
        if ($var5 >= 8)
            return;
        $par1MovingObjectPosition = $this.$worldObj;
        var$2 = $rt_s(1176);
        var$5 = $this.$posX;
        var$6 = $this.$posY;
        var$7 = $this.$posZ;
        var$8 = 0.0;
        var$9 = 0.0;
        var$10 = 0.0;
        $ptr = 2;
        continue main;
    case 1:
        $par1MovingObjectPosition.$attackEntityFrom(var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = 0;
        if ($var5 >= 8)
            return;
        $par1MovingObjectPosition = $this.$worldObj;
        var$2 = $rt_s(1176);
        var$5 = $this.$posX;
        var$6 = $this.$posY;
        var$7 = $this.$posZ;
        var$8 = 0.0;
        var$9 = 0.0;
        var$10 = 0.0;
        $ptr = 2;
    case 2:
        nms_World_spawnParticle($par1MovingObjectPosition, var$2, var$5, var$6, var$7, var$8, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $var5 + 1 | 0;
        if ($var5 >= 8)
            return;
        $par1MovingObjectPosition = $this.$worldObj;
        var$2 = $rt_s(1176);
        var$5 = $this.$posX;
        var$6 = $this.$posY;
        var$7 = $this.$posZ;
        var$8 = 0.0;
        var$9 = 0.0;
        var$10 = 0.0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1MovingObjectPosition, var$2, var$3, $var5, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
}
function nms_EntityPotion() {
    nms_EntityThrowable.call(this);
    this.$potionDamage = null;
}
function nms_EntityPotion__init_0() {
    var var_0 = new nms_EntityPotion();
    nms_EntityPotion__init_(var_0);
    return var_0;
}
function nms_EntityPotion__init_1(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityPotion();
    nms_EntityPotion__init_2(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_EntityPotion__init_($this) {
    nms_EntityThrowable__init_0($this);
}
function nms_EntityPotion__init_2($this, $par1World, $par2, $par4, $par6, $par8) {
    var var$6;
    var$6 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_3(var$6, nms_Item_potion, 1, $par8);
    nms_EntityThrowable__init_2($this, $par1World, $par2, $par4, $par6);
    $this.$potionDamage = var$6;
}
function nms_EntityPotion_getGravityVelocity($this) {
    return 0.05000000074505806;
}
function nms_EntityPotion_getPotionDamage($this) {
    var var$1;
    if ($this.$potionDamage === null) {
        var$1 = new nms_ItemStack;
        nms_Item_$callClinit();
        nms_ItemStack__init_3(var$1, nms_Item_potion, 1, 0);
        $this.$potionDamage = var$1;
    }
    return $this.$potionDamage.$itemDamage;
}
function nms_EntityPotion_onImpact($this, $par1MovingObjectPosition) {
    return;
}
function nms_EntityExpBottle() {
    nms_EntityThrowable.call(this);
}
function nms_EntityExpBottle__init_0() {
    var var_0 = new nms_EntityExpBottle();
    nms_EntityExpBottle__init_(var_0);
    return var_0;
}
function nms_EntityExpBottle__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityExpBottle();
    nms_EntityExpBottle__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntityExpBottle__init_($this) {
    nms_EntityThrowable__init_0($this);
}
function nms_EntityExpBottle__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_EntityThrowable__init_2($this, $par1World, $par2, $par4, $par6);
}
function nms_EntityExpBottle_getGravityVelocity($this) {
    return 0.07000000029802322;
}
function nms_EntityExpBottle_onImpact($this, $par1MovingObjectPosition) {
    return;
}
function nms_EntityFireworkRocket() {
    var a = this; nms_Entity.call(a);
    a.$fireworkAge = 0;
    a.$lifetime = 0;
}
function nms_EntityFireworkRocket__init_0() {
    var var_0 = new nms_EntityFireworkRocket();
    nms_EntityFireworkRocket__init_(var_0);
    return var_0;
}
function nms_EntityFireworkRocket__init_1(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityFireworkRocket();
    nms_EntityFireworkRocket__init_2(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_EntityFireworkRocket__init_($this) {
    nms_Entity__init_0($this);
    nms_Entity_setSize($this, 0.25, 0.25);
}
function nms_EntityFireworkRocket_entityInit($this) {
    nms_DataWatcher_addObjectByDataType($this.$dataWatcher, 8, 5);
}
function nms_EntityFireworkRocket_isInRangeToRenderDist($this, $par1) {
    return $par1 >= 4096.0 ? 0 : 1;
}
function nms_EntityFireworkRocket__init_2($this, $par1World, $par2, $par4, $par6, $par8ItemStack) {
    var $var9, $var11;
    nms_Entity__init_0($this);
    nms_Entity_setWorld($this, $par1World);
    $this.$fireworkAge = 0;
    nms_Entity_setSize($this, 0.25, 0.25);
    nms_Entity_setPosition($this, $par2, $par4, $par6);
    $this.$yOffset = 0.0;
    $var9 = 1;
    if ($par8ItemStack !== null && nms_ItemStack_hasTagCompound($par8ItemStack)) {
        nms_DataWatcher_updateObject($this.$dataWatcher, 8, $par8ItemStack);
        $var11 = $par8ItemStack.$stackTagCompound.$getCompoundTag($rt_s(1871));
        if ($var11 !== null)
            $var9 = $var9 + $var11.$getByte($rt_s(1872)) | 0;
    }
    $this.$motionX = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.001;
    $this.$motionZ = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.001;
    $this.$motionY = 0.05;
    $this.$lifetime = ((10 * $var9 | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 6) | 0) + nle_EaglercraftRandom_nextInt($this.$rand0, 7) | 0;
}
function nms_EntityFireworkRocket_setVelocity($this, $par1, $par3, $par5) {
    var $var7, var$5;
    $this.$motionX = $par1;
    $this.$motionY = $par3;
    $this.$motionZ = $par5;
    if ($this.$prevRotationPitch === 0.0 && $this.$prevRotationYaw === 0.0) {
        $var7 = nms_MathHelper_sqrt_double($par1 * $par1 + $par5 * $par5);
        var$5 = jl_Math_atan2($par1, $par5) * 180.0 / 3.141592653589793;
        $this.$rotationYaw = var$5;
        $this.$prevRotationYaw = var$5;
        $var7 = jl_Math_atan2($par3, $var7) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = $var7;
        $this.$prevRotationPitch = $var7;
    }
}
function nms_EntityFireworkRocket_onUpdate($this) {
    var var$1, var$2, var$3, $var1, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var1 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$lastTickPosX = $this.$posX;
        $this.$lastTickPosY = $this.$posY;
        $this.$lastTickPosZ = $this.$posZ;
        $ptr = 1;
    case 1:
        $this.$onEntityUpdate();
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 1.15;
        $this.$motionZ = $this.$motionZ * 1.15;
        $this.$motionY = $this.$motionY + 0.04;
        var$1 = $this.$motionX;
        var$2 = $this.$motionY;
        var$3 = $this.$motionZ;
        $ptr = 2;
    case 2:
        nms_Entity_moveEntity($this, var$1, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var1) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        if (!$this.$fireworkAge)
            nms_World_playSoundAtEntity($this.$worldObj, $this, $rt_s(1873), 3.0, 1.0);
        $this.$fireworkAge = $this.$fireworkAge + 1 | 0;
        if (($this.$fireworkAge % 2 | 0) >= 2)
            return;
        var$5 = $this.$worldObj;
        var$6 = $rt_s(1160);
        var$2 = $this.$posX;
        var$3 = $this.$posY - 0.3;
        var$7 = $this.$posZ;
        var$8 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.05;
        var$1 =  -$this.$motionY * 0.5;
        var$9 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.05;
        $ptr = 3;
    case 3:
        nms_World_spawnParticle(var$5, var$6, var$2, var$3, var$7, var$8, var$1, var$9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, $var1, var$5, var$6, var$7, var$8, var$9, $ptr);
}
function nms_EntityFireworkRocket_handleHealthUpdate($this, $par1) {
    var $var2, $var3;
    $var2 = nms_DataWatcher_getWatchableObjectItemStack($this.$dataWatcher, 8);
    $var3 = null;
    if ($var2 !== null && nms_ItemStack_hasTagCompound($var2))
        $var3 = nms_NBTTagCompound_getCompoundTag($var2.$stackTagCompound, $rt_s(1871));
    nms_WorldClient_func_92088_a($this.$worldObj, $this.$posX, $this.$posY, $this.$posZ, $this.$motionX, $this.$motionY, $this.$motionZ, $var3);
}
function nms_EntityFireworkRocket_getShadowSize($this) {
    return 0.0;
}
function nms_EntityFireworkRocket_getBrightnessForRender($this, $par1) {
    return nms_Entity_getBrightnessForRender($this, $par1);
}
function nms_EntityFireworkRocket_canAttackWithItem($this) {
    return 0;
}
function nms_EntityFireball() {
    var a = this; nms_Entity.call(a);
    a.$xTile1 = 0;
    a.$yTile1 = 0;
    a.$zTile1 = 0;
    a.$inTile1 = 0;
    a.$inGround1 = 0;
    a.$shootingEntity0 = null;
    a.$ticksAlive = 0;
    a.$ticksInAir1 = 0;
    a.$accelerationX = 0.0;
    a.$accelerationY = 0.0;
    a.$accelerationZ = 0.0;
}
function nms_EntityFireball__init_0() {
    var var_0 = new nms_EntityFireball();
    nms_EntityFireball__init_1(var_0);
    return var_0;
}
function nms_EntityFireball__init_2(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityFireball();
    nms_EntityFireball__init_3(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
function nms_EntityFireball__init_4(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityFireball();
    nms_EntityFireball__init_(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_EntityFireball__init_1($this) {
    nms_Entity__init_0($this);
    $this.$xTile1 = (-1);
    $this.$yTile1 = (-1);
    $this.$zTile1 = (-1);
    $this.$inTile1 = 0;
    $this.$inGround1 = 0;
    $this.$ticksInAir1 = 0;
    nms_Entity_setSize($this, 1.0, 1.0);
}
function nms_EntityFireball_entityInit($this) {
    return;
}
function nms_EntityFireball_isInRangeToRenderDist($this, $par1) {
    var $var3;
    $var3 = nms_AxisAlignedBB_getAverageEdgeLength($this.$boundingBox) * 4.0 * 64.0;
    return $par1 >= $var3 * $var3 ? 0 : 1;
}
function nms_EntityFireball__init_3($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    var $var14;
    nms_Entity__init_0($this);
    $this.$xTile1 = (-1);
    $this.$yTile1 = (-1);
    $this.$zTile1 = (-1);
    $this.$inTile1 = 0;
    $this.$inGround1 = 0;
    $this.$ticksInAir1 = 0;
    nms_Entity_setWorld($this, $par1World);
    nms_Entity_setSize($this, 1.0, 1.0);
    nms_Entity_setLocationAndAngles($this, $par2, $par4, $par6, $this.$rotationYaw, $this.$rotationPitch);
    nms_Entity_setPosition($this, $par2, $par4, $par6);
    $var14 = nms_MathHelper_sqrt_double($par8 * $par8 + $par10 * $par10 + $par12 * $par12);
    $this.$accelerationX = $par8 / $var14 * 0.1;
    $this.$accelerationY = $par10 / $var14 * 0.1;
    $this.$accelerationZ = $par12 / $var14 * 0.1;
}
function nms_EntityFireball__init_($this, $par1World, $par2EntityLiving, $par3, $par5, $par7) {
    var $var9;
    nms_Entity__init_0($this);
    $this.$xTile1 = (-1);
    $this.$yTile1 = (-1);
    $this.$zTile1 = (-1);
    $this.$inTile1 = 0;
    $this.$inGround1 = 0;
    $this.$ticksInAir1 = 0;
    nms_Entity_setWorld($this, $par1World);
    $this.$shootingEntity0 = $par2EntityLiving;
    nms_Entity_setSize($this, 1.0, 1.0);
    nms_Entity_setLocationAndAngles($this, $par2EntityLiving.$posX, $par2EntityLiving.$posY, $par2EntityLiving.$posZ, $par2EntityLiving.$rotationYaw, $par2EntityLiving.$rotationPitch);
    nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
    $this.$yOffset = 0.0;
    $this.$motionZ = 0.0;
    $this.$motionY = 0.0;
    $this.$motionX = 0.0;
    $par3 = $par3 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.4;
    $par5 = $par5 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.4;
    $par7 = $par7 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.4;
    $var9 = nms_MathHelper_sqrt_double($par3 * $par3 + $par5 * $par5 + $par7 * $par7);
    $this.$accelerationX = $par3 / $var9 * 0.1;
    $this.$accelerationY = $par5 / $var9 * 0.1;
    $this.$accelerationZ = $par7 / $var9 * 0.1;
}
function nms_EntityFireball_onUpdate($this) {
    var $var15, $var2, $var3, $var4, $var5, $var6, $var8, $var9, $var12, $var13, $var16, $var17, $var18, var$14, var$15, var$16, var$17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var15 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_Entity_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_Entity_setFire($this, 1);
        if (!$this.$inGround1)
            $this.$ticksInAir1 = $this.$ticksInAir1 + 1 | 0;
        else {
            if (nms_World_getBlockId($this.$worldObj, $this.$xTile1, $this.$yTile1, $this.$zTile1) == $this.$inTile1) {
                $this.$ticksAlive = $this.$ticksAlive + 1 | 0;
                if ($this.$ticksAlive != 600)
                    return;
                $ptr = 3;
                continue main;
            }
            $this.$inGround1 = 0;
            $this.$motionX = $this.$motionX * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$motionY = $this.$motionY * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$motionZ = $this.$motionZ * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$ticksAlive = 0;
            $this.$ticksInAir1 = 0;
        }
        $var15 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX, $this.$posY, $this.$posZ);
        $var2 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
        $var3 = $this.$worldObj;
        $ptr = 2;
    case 2:
        $tmp = nms_World_rayTraceBlocks($var3, $var15, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $tmp;
        $var15 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX, $this.$posY, $this.$posZ);
        $var2 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
        if ($var3 !== null)
            $var2 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $var3.$hitVec.$xCoord, $var3.$hitVec.$yCoord, $var3.$hitVec.$zCoord);
        $var4 = null;
        $var5 = nms_World_getEntitiesWithinAABBExcludingEntity($this.$worldObj, $this, nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($this.$boundingBox, $this.$motionX, $this.$motionY, $this.$motionZ), 1.0, 1.0, 1.0));
        $var6 = 0.0;
        $var8 = 0;
        while ($var8 < ju_ArrayList_size($var5)) {
            $var9 = ju_ArrayList_get($var5, $var8);
            if ($var9.$canBeCollidedWith() && !($var9.$isEntityEqual($this.$shootingEntity0) && $this.$ticksInAir1 < 25)) {
                $var12 = nms_AxisAlignedBB_calculateIntercept(nms_AxisAlignedBB_expand($var9.$boundingBox, 0.30000001192092896, 0.30000001192092896, 0.30000001192092896), $var15, $var2);
                if ($var12 !== null) {
                    $var13 = nms_Vec3_distanceTo($var15, $var12.$hitVec);
                    if (!($var13 >= $var6 && $var6 !== 0.0)) {
                        $var4 = $var9;
                        $var6 = $var13;
                    }
                }
            }
            $var8 = $var8 + 1 | 0;
        }
        if ($var4 !== null)
            $var3 = nms_MovingObjectPosition__init_0($var4);
        if ($var3 !== null)
            $this.$onImpact($var3);
        $this.$posX = $this.$posX + $this.$motionX;
        $this.$posY = $this.$posY + $this.$motionY;
        $this.$posZ = $this.$posZ + $this.$motionZ;
        $var16 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionZ, $this.$motionX) * 180.0 / 3.141592653589793 + 90.0;
        $this.$rotationPitch = jl_Math_atan2($var16, $this.$motionY) * 180.0 / 3.141592653589793 - 90.0;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        $var17 = $this.$getMotionFactor();
        if (nms_Entity_isInWater($this)) {
            $var18 = 0;
            if ($var18 < 4) {
                $var15 = $this.$worldObj;
                $var2 = $rt_s(1017);
                $var6 = $this.$posX - $this.$motionX * 0.25;
                var$14 = $this.$posY - $this.$motionY * 0.25;
                $var13 = $this.$posZ - $this.$motionZ * 0.25;
                var$15 = $this.$motionX;
                var$16 = $this.$motionY;
                var$17 = $this.$motionZ;
                $ptr = 5;
                continue main;
            }
            $var17 = 0.800000011920929;
        }
        $this.$motionX = $this.$motionX + $this.$accelerationX;
        $this.$motionY = $this.$motionY + $this.$accelerationY;
        $this.$motionZ = $this.$motionZ + $this.$accelerationZ;
        $var6 = $this.$motionX;
        var$14 = $var17;
        $this.$motionX = $var6 * var$14;
        $this.$motionY = $this.$motionY * var$14;
        $this.$motionZ = $this.$motionZ * var$14;
        $var15 = $this.$worldObj;
        $var2 = $rt_s(1166);
        var$15 = $this.$posX;
        var$16 = $this.$posY + 0.5;
        var$17 = $this.$posZ;
        $var6 = 0.0;
        var$14 = 0.0;
        $var13 = 0.0;
        $ptr = 4;
        continue main;
    case 3:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_World_spawnParticle($var15, $var2, var$15, var$16, var$17, $var6, var$14, $var13);
        if ($rt_suspending()) {
            break main;
        }
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        return;
    case 5:
        nms_World_spawnParticle($var15, $var2, $var6, var$14, $var13, var$15, var$16, var$17);
        if ($rt_suspending()) {
            break main;
        }
        $var18 = $var18 + 1 | 0;
        if ($var18 < 4) {
            $var15 = $this.$worldObj;
            $var2 = $rt_s(1017);
            $var6 = $this.$posX - $this.$motionX * 0.25;
            var$14 = $this.$posY - $this.$motionY * 0.25;
            $var13 = $this.$posZ - $this.$motionZ * 0.25;
            var$15 = $this.$motionX;
            var$16 = $this.$motionY;
            var$17 = $this.$motionZ;
            continue main;
        }
        $this.$motionX = $this.$motionX + $this.$accelerationX;
        $this.$motionY = $this.$motionY + $this.$accelerationY;
        $this.$motionZ = $this.$motionZ + $this.$accelerationZ;
        $var6 = $this.$motionX;
        var$14 = 0.800000011920929;
        $this.$motionX = $var6 * var$14;
        $this.$motionY = $this.$motionY * var$14;
        $this.$motionZ = $this.$motionZ * var$14;
        $var15 = $this.$worldObj;
        $var2 = $rt_s(1166);
        var$15 = $this.$posX;
        var$16 = $this.$posY + 0.5;
        var$17 = $this.$posZ;
        $var6 = 0.0;
        var$14 = 0.0;
        $var13 = 0.0;
        $ptr = 4;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var15, $var2, $var3, $var4, $var5, $var6, $var8, $var9, $var12, $var13, $var16, $var17, $var18, var$14, var$15, var$16, var$17, $ptr);
}
function nms_EntityFireball_getMotionFactor($this) {
    return 0.949999988079071;
}
function nms_EntityFireball_canBeCollidedWith($this) {
    return 1;
}
function nms_EntityFireball_getCollisionBorderSize($this) {
    return 1.0;
}
function nms_EntityFireball_attackEntityFrom($this, $par1DamageSource, $par2) {
    var $var3;
    if ($this.$invulnerable)
        return 0;
    nms_Entity_setBeenAttacked($this);
    if ($par1DamageSource.$getEntity() === null)
        return 0;
    $var3 = $par1DamageSource.$getEntity().$getLookVec();
    if ($var3 !== null) {
        $this.$motionX = $var3.$xCoord;
        $this.$motionY = $var3.$yCoord;
        $this.$motionZ = $var3.$zCoord;
        $this.$accelerationX = $this.$motionX * 0.1;
        $this.$accelerationY = $this.$motionY * 0.1;
        $this.$accelerationZ = $this.$motionZ * 0.1;
    }
    if ($par1DamageSource.$getEntity() instanceof nms_EntityLiving)
        $this.$shootingEntity0 = $par1DamageSource.$getEntity();
    return 1;
}
function nms_EntityFireball_getShadowSize($this) {
    return 0.0;
}
function nms_EntityFireball_getBrightnessForRender($this, $par1) {
    return 15728880;
}
function nms_EntityLargeFireball() {
    nms_EntityFireball.call(this);
    this.$field_92057_e = 0;
}
function nms_EntityLargeFireball__init_0() {
    var var_0 = new nms_EntityLargeFireball();
    nms_EntityLargeFireball__init_(var_0);
    return var_0;
}
function nms_EntityLargeFireball__init_1(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityLargeFireball();
    nms_EntityLargeFireball__init_2(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
function nms_EntityLargeFireball__init_($this) {
    nms_EntityFireball__init_1($this);
    $this.$field_92057_e = 1;
}
function nms_EntityLargeFireball__init_2($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    nms_EntityFireball__init_3($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    $this.$field_92057_e = 1;
}
function nms_EntityLargeFireball_onImpact($this, $par1MovingObjectPosition) {
    return;
}
function nms_RenderFireball() {
    nms_Render.call(this);
    this.$field_77002_a = 0.0;
}
var nms_RenderFireball_tex = null;
function nms_RenderFireball__init_(var_0) {
    var var_1 = new nms_RenderFireball();
    nms_RenderFireball__init_0(var_1, var_0);
    return var_1;
}
function nms_RenderFireball__init_0($this, $par1) {
    nms_Render__init_0($this);
    $this.$field_77002_a = $par1;
}
function nms_RenderFireball_doRenderFireball($this, $par1EntityFireball, $par2, $par4, $par6, $par8, $par9) {
    var $var11, $var12, $var13, $var14, $var15, $var16, var$13, var$14, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityFireball = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        nleg_EaglerAdapterGL30_glEnable(32826);
        $par8 = $this.$field_77002_a / 1.0;
        nleg_EaglerAdapterGL30_glScalef($par8, $par8, $par8);
        nms_Item_$callClinit();
        $var11 = nms_Item_fireballCharge.$getIconFromDamage(0);
        $par1EntityFireball = nms_RenderFireball_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityFireball);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var12 = nlea_Tessellator_instance;
        $var13 = $var11.$getMinU();
        $var14 = $var11.$getMaxU();
        $var15 = $var11.$getMinV();
        $var16 = $var11.$getMaxV();
        nleg_EaglerAdapterGL30_glRotatef(180.0 - $this.$renderManager.$playerViewY, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef( -$this.$renderManager.$playerViewX, 1.0, 0.0, 0.0);
        nlea_Tessellator_startDrawingQuads($var12);
        nlea_Tessellator_setNormal($var12, 0.0, 1.0, 0.0);
        $par6 = $var13;
        var$13 = $var16;
        nlea_Tessellator_addVertexWithUV($var12, (-0.5), (-0.25), 0.0, $par6, var$13);
        var$14 = $var14;
        nlea_Tessellator_addVertexWithUV($var12, 0.5, (-0.25), 0.0, var$14, var$13);
        var$15 = $var15;
        nlea_Tessellator_addVertexWithUV($var12, 0.5, 0.75, 0.0, var$14, var$15);
        nlea_Tessellator_addVertexWithUV($var12, (-0.5), 0.75, 0.0, $par6, var$15);
        nlea_Tessellator_draw($var12);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityFireball, $par2, $par4, $par6, $par8, $par9, $var11, $var12, $var13, $var14, $var15, $var16, var$13, var$14, var$15, $ptr);
}
function nms_RenderFireball_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderFireball_doRenderFireball($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderFireball__clinit_() {
    nms_RenderFireball_tex = nle_TextureLocation__init_($rt_s(992));
}
function nms_EntitySmallFireball() {
    nms_EntityFireball.call(this);
}
function nms_EntitySmallFireball__init_0() {
    var var_0 = new nms_EntitySmallFireball();
    nms_EntitySmallFireball__init_(var_0);
    return var_0;
}
function nms_EntitySmallFireball__init_1(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntitySmallFireball();
    nms_EntitySmallFireball__init_2(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
function nms_EntitySmallFireball__init_($this) {
    nms_EntityFireball__init_1($this);
    nms_Entity_setSize($this, 0.3125, 0.3125);
}
function nms_EntitySmallFireball__init_2($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    nms_EntityFireball__init_3($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    nms_Entity_setSize($this, 0.3125, 0.3125);
}
function nms_EntitySmallFireball_onImpact($this, $par1MovingObjectPosition) {
    return;
}
function nms_EntitySmallFireball_canBeCollidedWith($this) {
    return 0;
}
function nms_EntitySmallFireball_attackEntityFrom($this, $par1DamageSource, $par2) {
    return 0;
}
function nms_EntityWitherSkull() {
    nms_EntityFireball.call(this);
}
function nms_EntityWitherSkull__init_0() {
    var var_0 = new nms_EntityWitherSkull();
    nms_EntityWitherSkull__init_(var_0);
    return var_0;
}
function nms_EntityWitherSkull__init_1(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityWitherSkull();
    nms_EntityWitherSkull__init_2(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
function nms_EntityWitherSkull__init_($this) {
    nms_EntityFireball__init_1($this);
    nms_Entity_setSize($this, 0.3125, 0.3125);
}
function nms_EntityWitherSkull_getMotionFactor($this) {
    return nms_EntityWitherSkull_isInvulnerable($this) ? 0.7300000190734863 : 0.949999988079071;
}
function nms_EntityWitherSkull__init_2($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    nms_EntityFireball__init_3($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    nms_Entity_setSize($this, 0.3125, 0.3125);
}
function nms_EntityWitherSkull_isBurning($this) {
    return 0;
}
function nms_EntityWitherSkull_onImpact($this, $par1MovingObjectPosition) {
    return;
}
function nms_EntityWitherSkull_canBeCollidedWith($this) {
    return 0;
}
function nms_EntityWitherSkull_attackEntityFrom($this, $par1DamageSource, $par2) {
    return 0;
}
function nms_EntityWitherSkull_entityInit($this) {
    nms_DataWatcher_addObject($this.$dataWatcher, 10, jl_Byte_valueOf(0));
}
function nms_EntityWitherSkull_isInvulnerable($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 10) != 1 ? 0 : 1;
}
function nms_EntityWitherSkull_setInvulnerable($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 10, jl_Byte_valueOf((!$par1 ? 0 : 1) << 24 >> 24));
}
function nms_RenderWitherSkull() {
    nms_Render.call(this);
    this.$skeletonHeadModel = null;
}
var nms_RenderWitherSkull_tex_wither = null;
var nms_RenderWitherSkull_tex_wither_invul = null;
function nms_RenderWitherSkull__init_0() {
    var var_0 = new nms_RenderWitherSkull();
    nms_RenderWitherSkull__init_(var_0);
    return var_0;
}
function nms_RenderWitherSkull__init_($this) {
    nms_Render__init_0($this);
    $this.$skeletonHeadModel = nms_ModelSkeletonHead__init_0();
}
function nms_RenderWitherSkull_func_82399_a($this, $par1EntityWitherSkull, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var11, $var12, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityWitherSkull = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glDisable(2884);
        $var10 = $par1EntityWitherSkull.$prevRotationYaw;
        $par8 = $par1EntityWitherSkull.$rotationYaw - $var10;
        while ($par8 < (-180.0)) {
            $par8 = $par8 + 360.0;
        }
        while ($par8 >= 180.0) {
            $par8 = $par8 - 360.0;
        }
        $var10 = $var10 + $par9 * $par8;
        $var11 = $par1EntityWitherSkull.$prevRotationPitch + ($par1EntityWitherSkull.$rotationPitch - $par1EntityWitherSkull.$prevRotationPitch) * $par9;
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        $var12 = 0.0625;
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glScalef((-1.0), (-1.0), 1.0);
        nleg_EaglerAdapterGL30_glEnable(3008);
        if (!nms_EntityWitherSkull_isInvulnerable($par1EntityWitherSkull)) {
            var$10 = nms_RenderWitherSkull_tex_wither;
            $ptr = 1;
            continue main;
        }
        var$10 = nms_RenderWitherSkull_tex_wither_invul;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture(var$10);
        if ($rt_suspending()) {
            break main;
        }
        nms_ModelSkeletonHead_render($this.$skeletonHeadModel, $par1EntityWitherSkull, 0.0, 0.0, 0.0, $var10, $var11, $var12);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 2:
        nle_TextureLocation_bindTexture(var$10);
        if ($rt_suspending()) {
            break main;
        }
        nms_ModelSkeletonHead_render($this.$skeletonHeadModel, $par1EntityWitherSkull, 0.0, 0.0, 0.0, $var10, $var11, $var12);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityWitherSkull, $par2, $par4, $par6, $par8, $par9, $var10, $var11, $var12, var$10, $ptr);
}
function nms_RenderWitherSkull_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderWitherSkull_func_82399_a($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderWitherSkull__clinit_() {
    nms_RenderWitherSkull_tex_wither = nle_TextureLocation__init_($rt_s(1697));
    nms_RenderWitherSkull_tex_wither_invul = nle_TextureLocation__init_($rt_s(1698));
}
function nms_EntityItem() {
    var a = this; nms_Entity.call(a);
    a.$age = 0;
    a.$delayBeforeCanPickup = 0;
    a.$health1 = 0;
    a.$hoverStart = 0.0;
}
function nms_EntityItem__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityItem();
    nms_EntityItem__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntityItem__init_0(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityItem();
    nms_EntityItem__init_3(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_EntityItem__init_4() {
    var var_0 = new nms_EntityItem();
    nms_EntityItem__init_(var_0);
    return var_0;
}
function nms_EntityItem__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_Entity__init_0($this);
    nms_Entity_setWorld($this, $par1World);
    $this.$age = 0;
    $this.$health1 = 5;
    $this.$hoverStart = jl_Math_random() * 3.141592653589793 * 2.0;
    nms_Entity_setSize($this, 0.25, 0.25);
    $this.$yOffset = $this.$height0 / 2.0;
    nms_Entity_setPosition($this, $par2, $par4, $par6);
    $this.$rotationYaw = jl_Math_random() * 360.0;
    $this.$motionX = jl_Math_random() * 0.20000000298023224 - 0.10000000149011612;
    $this.$motionY = 0.20000000298023224;
    $this.$motionZ = jl_Math_random() * 0.20000000298023224 - 0.10000000149011612;
}
function nms_EntityItem__init_3($this, $par1World, $par2, $par4, $par6, $par8ItemStack) {
    nms_EntityItem__init_2($this, $par1World, $par2, $par4, $par6);
    nms_EntityItem_setEntityItemStack($this, $par8ItemStack);
}
function nms_EntityItem_canTriggerWalking($this) {
    return 0;
}
function nms_EntityItem__init_($this) {
    nms_Entity__init_0($this);
    $this.$age = 0;
    $this.$health1 = 5;
    $this.$hoverStart = jl_Math_random() * 3.141592653589793 * 2.0;
    nms_Entity_setSize($this, 0.25, 0.25);
    $this.$yOffset = $this.$height0 / 2.0;
}
function nms_EntityItem_entityInit($this) {
    nms_DataWatcher_addObjectByDataType($this.$dataWatcher, 10, 5);
}
function nms_EntityItem_onUpdate($this) {
    var var$1, var$2, var$3, $var1, var$5, $var2, var$7, $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();var$7 = $thread.pop();$var2 = $thread.pop();var$5 = $thread.pop();$var1 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $this.$onEntityUpdate();
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$delayBeforeCanPickup > 0)
            $this.$delayBeforeCanPickup = $this.$delayBeforeCanPickup - 1 | 0;
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        $this.$motionY = $this.$motionY - 0.03999999910593033;
        var$1 = $this.$posX;
        var$2 = ($this.$boundingBox.$minY + $this.$boundingBox.$maxY) / 2.0;
        var$3 = $this.$posZ;
        $ptr = 2;
    case 2:
        $tmp = nms_Entity_pushOutOfBlocks($this, var$1, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        $this.$noClip = $var1;
        var$1 = $this.$motionX;
        var$2 = $this.$motionY;
        var$3 = $this.$motionZ;
        $ptr = 3;
    case 3:
        nms_Entity_moveEntity($this, var$1, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = ($this.$prevPosX | 0) == ($this.$posX | 0) && ($this.$prevPosY | 0) == ($this.$posY | 0) && ($this.$prevPosZ | 0) == ($this.$posZ | 0) ? 0 : 1;
        if (!(!$var1 && ($this.$ticksExisted % 25 | 0))) {
            var$5 = nms_World_getBlockMaterial($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
            nms_Material_$callClinit();
            if (var$5 === nms_Material_lava) {
                $this.$motionY = 0.20000000298023224;
                $this.$motionX = (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224;
                $this.$motionZ = (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224;
                var$5 = $rt_s(1015);
                $var2 = 0.4000000059604645;
                var$7 = 2.0 + nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.4000000059604645;
                $ptr = 4;
                continue main;
            }
        }
        $var2 = 0.9800000190734863;
        if ($this.$onGround) {
            $var2 = 0.5880000591278076;
            $var3 = nms_World_getBlockId($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$boundingBox.$minY) - 1 | 0, nms_MathHelper_floor_double($this.$posZ));
            if ($var3 > 0) {
                nms_Block_$callClinit();
                $var2 = nms_Block_blocksList.data[$var3].$slipperiness * 0.9800000190734863;
            }
        }
        var$1 = $this.$motionX;
        var$2 = $var2;
        $this.$motionX = var$1 * var$2;
        $this.$motionY = $this.$motionY * 0.9800000190734863;
        $this.$motionZ = $this.$motionZ * var$2;
        if ($this.$onGround)
            $this.$motionY = $this.$motionY * (-0.5);
        $this.$age = $this.$age + 1 | 0;
        return;
    case 4:
        nms_Entity_playSound($this, var$5, $var2, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = 0.9800000190734863;
        if ($this.$onGround) {
            $var2 = 0.5880000591278076;
            $var3 = nms_World_getBlockId($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$boundingBox.$minY) - 1 | 0, nms_MathHelper_floor_double($this.$posZ));
            if ($var3 > 0) {
                nms_Block_$callClinit();
                $var2 = nms_Block_blocksList.data[$var3].$slipperiness * 0.9800000190734863;
            }
        }
        var$1 = $this.$motionX;
        var$2 = $var2;
        $this.$motionX = var$1 * var$2;
        $this.$motionY = $this.$motionY * 0.9800000190734863;
        $this.$motionZ = $this.$motionZ * var$2;
        if ($this.$onGround)
            $this.$motionY = $this.$motionY * (-0.5);
        $this.$age = $this.$age + 1 | 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, $var1, var$5, $var2, var$7, $var3, $ptr);
}
function nms_EntityItem_handleWaterMovement($this) {
    var var$1, var$2;
    var$1 = $this.$worldObj;
    var$2 = $this.$boundingBox;
    nms_Material_$callClinit();
    return nms_World_handleMaterialAcceleration(var$1, var$2, nms_Material_water, $this);
}
function nms_EntityItem_dealFireDamage($this, $par1) {
    nms_EntityItem_attackEntityFrom($this, nms_DamageSource_inFire, $par1);
}
function nms_EntityItem_attackEntityFrom($this, $par1DamageSource, $par2) {
    var var$3;
    if ($this.$invulnerable)
        return 0;
    if (nms_EntityItem_getEntityItem($this) !== null) {
        var$3 = nms_EntityItem_getEntityItem($this).$itemID0;
        nms_Item_$callClinit();
        if (var$3 == nms_Item_netherStar.$itemID && $par1DamageSource.$explosion)
            return 0;
    }
    nms_Entity_setBeenAttacked($this);
    $this.$health1 = $this.$health1 - $par2 | 0;
    if ($this.$health1 <= 0)
        nms_Entity_setDead($this);
    return 0;
}
function nms_EntityItem_getEntityName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1706));
    jl_AbstractStringBuilder_append(var$1, nms_ItemStack_getItemName(nms_EntityItem_getEntityItem($this)));
    return nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString(var$1));
}
function nms_EntityItem_canAttackWithItem($this) {
    return 0;
}
function nms_EntityItem_getEntityItem($this) {
    var $var1, var$2;
    $var1 = nms_DataWatcher_getWatchableObjectItemStack($this.$dataWatcher, 10);
    if ($var1 !== null)
        return $var1;
    if ($this.$worldObj !== null) {
        $var1 = jl_System_err();
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append(var$2, $rt_s(1874));
        jl_AbstractStringBuilder_append2(var$2, $this.$entityId);
        jl_AbstractStringBuilder_append(var$2, $rt_s(1875));
        ji_PrintStream_println($var1, jl_AbstractStringBuilder_toString(var$2));
    }
    var$2 = new nms_ItemStack;
    nms_Block_$callClinit();
    nms_ItemStack__init_11(var$2, nms_Block_stone);
    return var$2;
}
function nms_EntityItem_setEntityItemStack($this, $par1ItemStack) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 10, $par1ItemStack);
    nms_DataWatcher_setObjectWatched($this.$dataWatcher, 10);
}
function nms_RenderItem() {
    var a = this; nms_Render.call(a);
    a.$itemRenderBlocks = null;
    a.$random1 = null;
    a.$renderWithColor = 0;
    a.$zLevel0 = 0.0;
}
var nms_RenderItem_renderInFrame = 0;
var nms_RenderItem_terrain = null;
var nms_RenderItem_items = null;
var nms_RenderItem_isRenderInProgress = 0;
var nms_RenderItem_glint = null;
function nms_RenderItem__init_0() {
    var var_0 = new nms_RenderItem();
    nms_RenderItem__init_(var_0);
    return var_0;
}
function nms_RenderItem__init_($this) {
    nms_Render__init_0($this);
    $this.$itemRenderBlocks = nms_RenderBlocks__init_2();
    $this.$random1 = nle_EaglercraftRandom__init_0();
    $this.$renderWithColor = 1;
    $this.$zLevel0 = 0.0;
    $this.$shadowSize = 0.15000000596046448;
    $this.$shadowOpaque = 0.75;
}
function nms_RenderItem_doRenderItem($this, $par1EntityItem, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var11, $var12, $var13, $var22, $var15, $var21, $var14, $var19, $var17, $var18, $var20, $var24, $var25, $var17_0, $var23, $var16, $var26, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var26 = $thread.pop();$var16 = $thread.pop();$var23 = $thread.pop();$var17_0 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var19 = $thread.pop();$var14 = $thread.pop();$var21 = $thread.pop();$var15 = $thread.pop();$var22 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4
        = $thread.pop();$par2 = $thread.pop();$par1EntityItem = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_RenderItem_isRenderInProgress = 1;
        nle_EaglercraftRandom_setSeed($this.$random1, Long_fromInt(187));
        $var10 = nms_EntityItem_getEntityItem($par1EntityItem);
        if (nms_ItemStack_getItem($var10) === null) {
            nms_RenderItem_isRenderInProgress = 0;
            return;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var11 = nms_MathHelper_sin(($par1EntityItem.$age + $par9) / 10.0 + $par1EntityItem.$hoverStart) * 0.10000000149011612 + 0.10000000149011612;
        $var12 = (($par1EntityItem.$age + $par9) / 20.0 + $par1EntityItem.$hoverStart) * 57.2957763671875;
        $var13 = 1;
        if (nms_EntityItem_getEntityItem($par1EntityItem).$stackSize > 1)
            $var13 = 2;
        if (nms_EntityItem_getEntityItem($par1EntityItem).$stackSize > 5)
            $var13 = 3;
        if (nms_EntityItem_getEntityItem($par1EntityItem).$stackSize > 20)
            $var13 = 4;
        if (nms_EntityItem_getEntityItem($par1EntityItem).$stackSize > 40)
            $var13 = 5;
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4 + $var11, $par6);
        nleg_EaglerAdapterGL30_glEnable(32826);
        if (!nms_ItemStack_getItemSpriteNumber($var10)) {
            nms_Block_$callClinit();
            if (nms_Block_blocksList.data[$var10.$itemID0] !== null && nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var10.$itemID0].$getRenderType())) {
                $var22 = nms_Block_blocksList.data[$var10.$itemID0];
                nleg_EaglerAdapterGL30_glRotatef($var12, 0.0, 1.0, 0.0);
                if (nms_RenderItem_renderInFrame) {
                    nleg_EaglerAdapterGL30_glScalef(1.25, 1.25, 1.25);
                    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.05000000074505806, 0.0);
                    nleg_EaglerAdapterGL30_glRotatef((-90.0), 0.0, 1.0, 0.0);
                }
                $par1EntityItem = nms_RenderItem_terrain;
                $ptr = 2;
                continue main;
            }
        }
        if (nms_ItemStack_getItem($var10).$requiresMultipleRenderPasses()) {
            if (!nms_RenderItem_renderInFrame)
                nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
            else {
                nleg_EaglerAdapterGL30_glScalef(0.5128204822540283, 0.5128204822540283, 0.5128204822540283);
                nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.05000000074505806), 0.0);
            }
            $var15 = nms_RenderItem_items;
            $ptr = 1;
            continue main;
        }
        if (!nms_RenderItem_renderInFrame)
            nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        else {
            nleg_EaglerAdapterGL30_glScalef(0.5128204822540283, 0.5128204822540283, 0.5128204822540283);
            nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.05000000074505806), 0.0);
        }
        $var21 = nms_ItemStack_getIconIndex($var10);
        if (nms_ItemStack_getItemSpriteNumber($var10)) {
            $var15 = nms_RenderItem_items;
            $ptr = 3;
            continue main;
        }
        $var15 = nms_RenderItem_terrain;
        $ptr = 4;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($var15);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = 0;
        if ($var14 > 1) {
            nleg_EaglerAdapterGL30_glDisable(32826);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nms_RenderItem_isRenderInProgress = 0;
            return;
        }
        nle_EaglercraftRandom_setSeed($this.$random1, Long_fromInt(187));
        $var15 = nms_ItemStack_getItem($var10).$getIconFromDamageForRenderPass(nms_ItemStack_getItemDamage($var10), $var14);
        if (!$this.$renderWithColor) {
            $par8 = 1.0;
            $var12 = 1.0;
            $var19 = 1.0;
            $ptr = 7;
            continue main;
        }
        $var17 = nms_Item_itemsList.data[$var10.$itemID0].$getColorFromItemStack($var10, $var14);
        $var18 = ($var17 >> 16 & 255) / 255.0;
        $var19 = ($var17 >> 8 & 255) / 255.0;
        $var20 = ($var17 & 255) / 255.0;
        $par8 = $var18 * 1.0;
        $var12 = $var19 * 1.0;
        $var19 = $var20 * 1.0;
        nleg_EaglerAdapterGL30_glColor4f($par8, $var12, $var19, 1.0);
        $ptr = 8;
        continue main;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityItem);
        if ($rt_suspending()) {
            break main;
        }
        $var24 = 0.25;
        $var25 = $var22.$getRenderType();
        if (!($var25 != 1 && $var25 != 19 && $var25 != 12 && $var25 != 2))
            $var24 = 0.5;
        nleg_EaglerAdapterGL30_glScalef($var24, $var24, $var24);
        $var17_0 = 0;
        if ($var17_0 >= $var13) {
            nleg_EaglerAdapterGL30_glDisable(32826);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nms_RenderItem_isRenderInProgress = 0;
            return;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        if ($var17_0 > 0)
            nleg_EaglerAdapterGL30_glTranslatef((nle_EaglercraftRandom_nextFloat($this.$random1) * 2.0 - 1.0) * 0.20000000298023224 / $var24, (nle_EaglercraftRandom_nextFloat($this.$random1) * 2.0 - 1.0) * 0.20000000298023224 / $var24, (nle_EaglercraftRandom_nextFloat($this.$random1) * 2.0 - 1.0) * 0.20000000298023224 / $var24);
        $var18 = 1.0;
        if (!nms_RenderItem_renderInFrame)
            nleg_EaglerAdapterGL30_flipLightMatrix();
        $par1EntityItem = $this.$itemRenderBlocks;
        $var25 = nms_ItemStack_getItemDamage($var10);
        $ptr = 9;
        continue main;
    case 3:
        nle_TextureLocation_bindTexture($var15);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$renderWithColor) {
            $par8 = 1.0;
            $var12 = 1.0;
            $var19 = 1.0;
            $ptr = 5;
            continue main;
        }
        $var23 = nms_Item_itemsList.data[$var10.$itemID0].$getColorFromItemStack($var10, 0);
        $var16 = ($var23 >> 16 & 255) / 255.0;
        $var26 = ($var23 >> 8 & 255) / 255.0;
        $var18 = ($var23 & 255) / 255.0;
        $par8 = $var16 * 1.0;
        $var12 = $var26 * 1.0;
        $var19 = $var18 * 1.0;
        $ptr = 6;
        continue main;
    case 4:
        nle_TextureLocation_bindTexture($var15);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$renderWithColor) {
            $par8 = 1.0;
            $var12 = 1.0;
            $var19 = 1.0;
            $ptr = 5;
            continue main;
        }
        $var23 = nms_Item_itemsList.data[$var10.$itemID0].$getColorFromItemStack($var10, 0);
        $var16 = ($var23 >> 16 & 255) / 255.0;
        $var26 = ($var23 >> 8 & 255) / 255.0;
        $var18 = ($var23 & 255) / 255.0;
        $par8 = $var16 * 1.0;
        $var12 = $var26 * 1.0;
        $var19 = $var18 * 1.0;
        $ptr = 6;
        continue main;
    case 5:
        nms_RenderItem_renderDroppedItem($this, $par1EntityItem, $var21, $var13, $par9, $par8, $var12, $var19);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nms_RenderItem_isRenderInProgress = 0;
        return;
    case 6:
        nms_RenderItem_renderDroppedItem($this, $par1EntityItem, $var21, $var13, $par9, $par8, $var12, $var19);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nms_RenderItem_isRenderInProgress = 0;
        return;
    case 7:
        nms_RenderItem_renderDroppedItem($this, $par1EntityItem, $var15, $var13, $par9, $par8, $var12, $var19);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $var14 + 1 | 0;
        if ($var14 > 1) {
            nleg_EaglerAdapterGL30_glDisable(32826);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nms_RenderItem_isRenderInProgress = 0;
            return;
        }
        nle_EaglercraftRandom_setSeed($this.$random1, Long_fromInt(187));
        $var15 = nms_ItemStack_getItem($var10).$getIconFromDamageForRenderPass(nms_ItemStack_getItemDamage($var10), $var14);
        if (!$this.$renderWithColor) {
            $par8 = 1.0;
            $var12 = 1.0;
            $var19 = 1.0;
            continue main;
        }
        $var17 = nms_Item_itemsList.data[$var10.$itemID0].$getColorFromItemStack($var10, $var14);
        $var18 = ($var17 >> 16 & 255) / 255.0;
        $var19 = ($var17 >> 8 & 255) / 255.0;
        $var20 = ($var17 & 255) / 255.0;
        $par8 = $var18 * 1.0;
        $var12 = $var19 * 1.0;
        $var19 = $var20 * 1.0;
        nleg_EaglerAdapterGL30_glColor4f($par8, $var12, $var19, 1.0);
        $ptr = 8;
    case 8:
        nms_RenderItem_renderDroppedItem($this, $par1EntityItem, $var15, $var13, $par9, $par8, $var12, $var19);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $var14 + 1 | 0;
        if ($var14 > 1) {
            nleg_EaglerAdapterGL30_glDisable(32826);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nms_RenderItem_isRenderInProgress = 0;
            return;
        }
        nle_EaglercraftRandom_setSeed($this.$random1, Long_fromInt(187));
        $var15 = nms_ItemStack_getItem($var10).$getIconFromDamageForRenderPass(nms_ItemStack_getItemDamage($var10), $var14);
        if (!$this.$renderWithColor) {
            $par8 = 1.0;
            $var12 = 1.0;
            $var19 = 1.0;
            $ptr = 7;
            continue main;
        }
        $var17 = nms_Item_itemsList.data[$var10.$itemID0].$getColorFromItemStack($var10, $var14);
        $var18 = ($var17 >> 16 & 255) / 255.0;
        $var19 = ($var17 >> 8 & 255) / 255.0;
        $var20 = ($var17 & 255) / 255.0;
        $par8 = $var18 * 1.0;
        $var12 = $var19 * 1.0;
        $var19 = $var20 * 1.0;
        nleg_EaglerAdapterGL30_glColor4f($par8, $var12, $var19, 1.0);
        continue main;
    case 9:
        nms_RenderBlocks_renderBlockAsItem($par1EntityItem, $var22, $var25, $var18);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_RenderItem_renderInFrame)
            nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        $var17_0 = $var17_0 + 1 | 0;
        if ($var17_0 >= $var13) {
            nleg_EaglerAdapterGL30_glDisable(32826);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nms_RenderItem_isRenderInProgress = 0;
            return;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        if ($var17_0 > 0)
            nleg_EaglerAdapterGL30_glTranslatef((nle_EaglercraftRandom_nextFloat($this.$random1) * 2.0 - 1.0) * 0.20000000298023224 / $var24, (nle_EaglercraftRandom_nextFloat($this.$random1) * 2.0 - 1.0) * 0.20000000298023224 / $var24, (nle_EaglercraftRandom_nextFloat($this.$random1) * 2.0 - 1.0) * 0.20000000298023224 / $var24);
        $var18 = 1.0;
        if (!nms_RenderItem_renderInFrame)
            nleg_EaglerAdapterGL30_flipLightMatrix();
        $par1EntityItem = $this.$itemRenderBlocks;
        $var25 = nms_ItemStack_getItemDamage($var10);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityItem, $par2, $par4, $par6, $par8, $par9, $var10, $var11, $var12, $var13, $var22, $var15, $var21, $var14, $var19, $var17, $var18, $var20, $var24, $var25, $var17_0, $var23, $var16, $var26, $ptr);
}
function nms_RenderItem_renderDroppedItem($this, $par1EntityItem, $par2Icon, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var10, $var11, $var12, $var25, var$14, var$15, var$16, var$17, $var16, $var18, $var19, $var24, $var27, $var20, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var20 = $thread.pop();$var27 = $thread.pop();$var24 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var25 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2Icon
        = $thread.pop();$par1EntityItem = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_Tessellator_$callClinit();
        $var8 = nlea_Tessellator_instance;
        if ($par2Icon === null)
            $par2Icon = nms_RenderEngine_getMissingIcon($this.$renderManager.$renderEngine1, nms_ItemStack_getItemSpriteNumber(nms_EntityItem_getEntityItem($par1EntityItem)));
        a: {
            $var9 = $par2Icon.$getMinU();
            $var10 = $par2Icon.$getMaxU();
            $var11 = $par2Icon.$getMinV();
            $var12 = $par2Icon.$getMaxV();
            if (!$this.$renderManager.$options1.$fancyGraphics) {
                $var25 = 0;
                var$14 = $var9;
                var$15 = $var12;
                var$16 = $var10;
                var$17 = $var11;
                while (true) {
                    if ($var25 >= $par3)
                        break a;
                    nleg_EaglerAdapterGL30_glPushMatrix();
                    if ($var25 > 0)
                        nleg_EaglerAdapterGL30_glTranslatef((nle_EaglercraftRandom_nextFloat($this.$random1) * 2.0 - 1.0) * 0.30000001192092896, (nle_EaglercraftRandom_nextFloat($this.$random1) * 2.0 - 1.0) * 0.30000001192092896, (nle_EaglercraftRandom_nextFloat($this.$random1) * 2.0 - 1.0) * 0.30000001192092896);
                    if (!nms_RenderItem_renderInFrame)
                        nleg_EaglerAdapterGL30_glRotatef(180.0 - $this.$renderManager.$playerViewY, 0.0, 1.0, 0.0);
                    if (!nms_RenderItem_renderInFrame)
                        nleg_EaglerAdapterGL30_flipLightMatrix();
                    nleg_EaglerAdapterGL30_glColor4f($par5, $par6, $par7, 1.0);
                    nlea_Tessellator_startDrawingQuads($var8);
                    nlea_Tessellator_setNormal($var8, 0.0, 1.0, 0.0);
                    nlea_Tessellator_addVertexWithUV($var8, (-0.5), (-0.25), 0.0, var$14, var$15);
                    nlea_Tessellator_addVertexWithUV($var8, 0.5, (-0.25), 0.0, var$16, var$15);
                    nlea_Tessellator_addVertexWithUV($var8, 0.5, 0.75, 0.0, var$16, var$17);
                    nlea_Tessellator_addVertexWithUV($var8, (-0.5), 0.75, 0.0, var$14, var$17);
                    nlea_Tessellator_draw($var8);
                    if (!nms_RenderItem_renderInFrame)
                        nleg_EaglerAdapterGL30_flipLightMatrix();
                    nleg_EaglerAdapterGL30_glPopMatrix();
                    $var25 = $var25 + 1 | 0;
                }
            }
            nleg_EaglerAdapterGL30_glPushMatrix();
            if (nms_RenderItem_renderInFrame)
                nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 1.0, 0.0);
            else
                nleg_EaglerAdapterGL30_glRotatef((($par1EntityItem.$age + $par4) / 20.0 + $par1EntityItem.$hoverStart) * 57.2957763671875, 0.0, 1.0, 0.0);
            $var16 = 0.0625;
            $var18 = nms_EntityItem_getEntityItem($par1EntityItem);
            $var19 = $var18.$stackSize;
            $var24 = $var19 < 2 ? 1 : $var19 < 16 ? 2 : $var19 >= 32 ? 4 : 3;
            $var27 = 0.08437500149011612;
            nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.25),  -($var27 * $var24 / 2.0));
            $var20 = 0;
            if ($var20 < $var24) {
                nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, $var27);
                if (!nms_ItemStack_getItemSpriteNumber($var18)) {
                    nms_Block_$callClinit();
                    if (nms_Block_blocksList.data[$var18.$itemID0] !== null) {
                        $par1EntityItem = nms_RenderItem_terrain;
                        $ptr = 2;
                        continue main;
                    }
                }
                $par1EntityItem = nms_RenderItem_items;
                $ptr = 1;
                continue main;
            }
            nleg_EaglerAdapterGL30_glPopMatrix();
        }
        return;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityItem);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f($par5, $par6, $par7, 1.0);
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nms_ItemRenderer_renderItemIn2D($var8, $var10, $var11, $var9, $var12, $par2Icon.$getSheetWidth(), $par2Icon.$getSheetHeight(), $var16);
        if ($var18 !== null && nms_ItemStack_hasEffect($var18)) {
            nleg_EaglerAdapterGL30_glDepthFunc(514);
            nleg_EaglerAdapterGL30_glDisable(2896);
            $par1EntityItem = nms_RenderItem_glint;
            $ptr = 3;
            continue main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        $var20 = $var20 + 1 | 0;
        if ($var20 >= $var24) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, $var27);
        if (!nms_ItemStack_getItemSpriteNumber($var18)) {
            nms_Block_$callClinit();
            if (nms_Block_blocksList.data[$var18.$itemID0] !== null) {
                $par1EntityItem = nms_RenderItem_terrain;
                $ptr = 2;
                continue main;
            }
        }
        $par1EntityItem = nms_RenderItem_items;
        continue main;
    case 2:
        nle_TextureLocation_bindTexture($par1EntityItem);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f($par5, $par6, $par7, 1.0);
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nms_ItemRenderer_renderItemIn2D($var8, $var10, $var11, $var9, $var12, $par2Icon.$getSheetWidth(), $par2Icon.$getSheetHeight(), $var16);
        if ($var18 !== null && nms_ItemStack_hasEffect($var18)) {
            nleg_EaglerAdapterGL30_glDepthFunc(514);
            nleg_EaglerAdapterGL30_glDisable(2896);
            $par1EntityItem = nms_RenderItem_glint;
            $ptr = 3;
            continue main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        $var20 = $var20 + 1 | 0;
        if ($var20 >= $var24) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, $var27);
        if (!nms_ItemStack_getItemSpriteNumber($var18)) {
            nms_Block_$callClinit();
            if (nms_Block_blocksList.data[$var18.$itemID0] !== null) {
                $par1EntityItem = nms_RenderItem_terrain;
                continue main;
            }
        }
        $par1EntityItem = nms_RenderItem_items;
        $ptr = 1;
        continue main;
    case 3:
        nle_TextureLocation_bindTexture($par1EntityItem);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(768, 1);
        nleg_EaglerAdapterGL30_glColor4f(0.3799999952316284, 0.1899999976158142, 0.6079999804496765, 1.0);
        nleg_EaglerAdapterGL30_glMatrixMode(5890);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.125, 0.125, 0.125);
        nleg_EaglerAdapterGL30_glTranslatef(Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(3000))) / 3000.0 * 8.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef((-50.0), 0.0, 0.0, 1.0);
        nms_ItemRenderer_renderItemIn2D($var8, 0.0, 0.0, 1.0, 1.0, 255, 255, $var16);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.125, 0.125, 0.125);
        nleg_EaglerAdapterGL30_glTranslatef( -(Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(4873))) / 4873.0 * 8.0), 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(10.0, 0.0, 0.0, 1.0);
        nms_ItemRenderer_renderItemIn2D($var8, 0.0, 0.0, 1.0, 1.0, 255, 255, $var16);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glDepthFunc(515);
        nleg_EaglerAdapterGL30_flipLightMatrix();
        $var20 = $var20 + 1 | 0;
        if ($var20 >= $var24) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, $var27);
        if (!nms_ItemStack_getItemSpriteNumber($var18)) {
            nms_Block_$callClinit();
            if (nms_Block_blocksList.data[$var18.$itemID0] !== null) {
                $par1EntityItem = nms_RenderItem_terrain;
                $ptr = 2;
                continue main;
            }
        }
        $par1EntityItem = nms_RenderItem_items;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityItem, $par2Icon, $par3, $par4, $par5, $par6, $par7, $var8, $var9, $var10, $var11, $var12, $var25, var$14, var$15, var$16, var$17, $var16, $var18, $var19, $var24, $var27, $var20, $ptr);
}
function nms_RenderItem_renderItemIntoGUI($this, $par1FontRenderer, $par2RenderEngine, $par3ItemStack, $par4, $par5) {
    var $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, $var17, $var18, $var9_0, $var16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var16 = $thread.pop();$var9_0 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3ItemStack = $thread.pop();$par2RenderEngine = $thread.pop();$par1FontRenderer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = $par3ItemStack.$itemID0;
        $var7 = $par3ItemStack.$itemDamage;
        $var8 = nms_ItemStack_getIconIndex($par3ItemStack);
        nleg_EaglerAdapterGL30_glEnable(2884);
        nleg_EaglerAdapterGL30_glEnable(32826);
        if (!nms_ItemStack_getItemSpriteNumber($par3ItemStack)) {
            nms_Block_$callClinit();
            if (nms_RenderBlocks_renderItemIn3d(nms_Block_blocksList.data[$var6].$getRenderType())) {
                $par1FontRenderer = nms_RenderItem_terrain;
                $ptr = 2;
                continue main;
            }
        }
        nms_Item_$callClinit();
        if (nms_Item_itemsList.data[$var6].$requiresMultipleRenderPasses()) {
            nleg_EaglerAdapterGL30_glDisable(2896);
            $par1FontRenderer = nms_RenderItem_items;
            $ptr = 1;
            continue main;
        }
        nleg_EaglerAdapterGL30_glDisable(2896);
        if (nms_ItemStack_getItemSpriteNumber($par3ItemStack)) {
            $par1FontRenderer = nms_RenderItem_items;
            $ptr = 3;
            continue main;
        }
        $par1FontRenderer = nms_RenderItem_terrain;
        $ptr = 4;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($par1FontRenderer);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = 0;
        while ($var9 <= 1) {
            $var10 = nms_Item_itemsList.data[$var6].$getIconFromDamageForRenderPass($var7, $var9);
            $var11 = nms_Item_itemsList.data[$var6].$getColorFromItemStack($par3ItemStack, $var9);
            $var12 = ($var11 >> 16 & 255) / 255.0;
            $var13 = ($var11 >> 8 & 255) / 255.0;
            $var14 = ($var11 & 255) / 255.0;
            if ($this.$renderWithColor)
                nleg_EaglerAdapterGL30_glColor4f($var12, $var13, $var14, 1.0);
            nms_RenderItem_renderIcon($this, $par4, $par5, $var10, 16, 16);
            $var9 = $var9 + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1FontRenderer);
        if ($rt_suspending()) {
            break main;
        }
        $var15 = nms_Block_blocksList.data[$var6];
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par4 - 2 | 0, $par5 + 3 | 0, (-3.0) + $this.$zLevel0);
        nleg_EaglerAdapterGL30_glScalef(10.0, 10.0, 10.0);
        nleg_EaglerAdapterGL30_glTranslatef(1.0, 0.5, 1.0);
        nleg_EaglerAdapterGL30_glScalef(1.0, 1.0, (-1.0));
        nleg_EaglerAdapterGL30_glRotatef(210.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(45.0, 0.0, 1.0, 0.0);
        nms_Item_$callClinit();
        $var17 = nms_Item_itemsList.data[$var6].$getColorFromItemStack($par3ItemStack, 0);
        $var18 = ($var17 >> 16 & 255) / 255.0;
        $var12 = ($var17 >> 8 & 255) / 255.0;
        $var13 = ($var17 & 255) / 255.0;
        if ($this.$renderWithColor)
            nleg_EaglerAdapterGL30_glColor4f($var18, $var12, $var13, 1.0);
        nleg_EaglerAdapterGL30_glRotatef((-90.0), 0.0, 1.0, 0.0);
        $this.$itemRenderBlocks.$useInventoryTint = $this.$renderWithColor;
        $par1FontRenderer = $this.$itemRenderBlocks;
        $var12 = 1.0;
        $ptr = 5;
        continue main;
    case 3:
        nle_TextureLocation_bindTexture($par1FontRenderer);
        if ($rt_suspending()) {
            break main;
        }
        if ($var8 === null)
            $var8 = nms_RenderEngine_getMissingIcon($par2RenderEngine, nms_ItemStack_getItemSpriteNumber($par3ItemStack));
        $var9_0 = nms_Item_itemsList.data[$var6].$getColorFromItemStack($par3ItemStack, 0);
        $var16 = ($var9_0 >> 16 & 255) / 255.0;
        $var18 = ($var9_0 >> 8 & 255) / 255.0;
        $var12 = ($var9_0 & 255) / 255.0;
        if ($this.$renderWithColor)
            nleg_EaglerAdapterGL30_glColor4f($var16, $var18, $var12, 1.0);
        nms_RenderItem_renderIcon($this, $par4, $par5, $var8, 16, 16);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    case 4:
        nle_TextureLocation_bindTexture($par1FontRenderer);
        if ($rt_suspending()) {
            break main;
        }
        if ($var8 === null)
            $var8 = nms_RenderEngine_getMissingIcon($par2RenderEngine, nms_ItemStack_getItemSpriteNumber($par3ItemStack));
        $var9_0 = nms_Item_itemsList.data[$var6].$getColorFromItemStack($par3ItemStack, 0);
        $var16 = ($var9_0 >> 16 & 255) / 255.0;
        $var18 = ($var9_0 >> 8 & 255) / 255.0;
        $var12 = ($var9_0 & 255) / 255.0;
        if ($this.$renderWithColor)
            nleg_EaglerAdapterGL30_glColor4f($var16, $var18, $var12, 1.0);
        nms_RenderItem_renderIcon($this, $par4, $par5, $var8, 16, 16);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    case 5:
        nms_RenderBlocks_renderBlockAsItem($par1FontRenderer, $var15, $var7, $var12);
        if ($rt_suspending()) {
            break main;
        }
        $this.$itemRenderBlocks.$useInventoryTint = 1;
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1FontRenderer, $par2RenderEngine, $par3ItemStack, $par4, $par5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, $var17, $var18, $var9_0, $var16, $ptr);
}
function nms_RenderItem_renderItemAndEffectIntoGUI($this, $par1FontRenderer, $par2RenderEngine, $par3ItemStack, $par4, $par5) {
    var var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3ItemStack = $thread.pop();$par2RenderEngine = $thread.pop();$par1FontRenderer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par3ItemStack === null)
            return;
        $ptr = 1;
    case 1:
        nms_RenderItem_renderItemIntoGUI($this, $par1FontRenderer, $par2RenderEngine, $par3ItemStack, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_ItemStack_hasEffect($par3ItemStack))
            return;
        nleg_EaglerAdapterGL30_glDepthFunc(516);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        $par1FontRenderer = nms_RenderItem_glint;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture($par1FontRenderer);
        if ($rt_suspending()) {
            break main;
        }
        $this.$zLevel0 = $this.$zLevel0 - 50.0;
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(774, 774);
        nleg_EaglerAdapterGL30_glColor4f(0.5, 0.25, 0.800000011920929, 1.0);
        $par4 = $par4 - 2 | 0;
        $par5 = $par5 - 2 | 0;
        var$6 = 0;
        var$7 = $par4 + 0 | 0;
        var$8 = $par5 + 20 | 0;
        var$9 = $par4 + 20 | 0;
        var$10 = $par5 + 0 | 0;
        while (var$6 < 2) {
            if (!var$6)
                nleg_EaglerAdapterGL30_glBlendFunc(768, 1);
            var$11 = $rt_compare(var$6, 1);
            if (!var$11)
                nleg_EaglerAdapterGL30_glBlendFunc(768, 1);
            var$12 = jl_System_currentTimeMillis();
            $par5 = var$6 * 1873 | 0;
            var$13 = Long_toNumber(Long_rem(var$12, Long_fromInt(3000 + $par5 | 0))) / (3000.0 + $par5) * 256.0;
            nlea_Tessellator_$callClinit();
            $par1FontRenderer = nlea_Tessellator_instance;
            var$14 = 4.0;
            if (!var$11)
                var$14 = (-1.0);
            nlea_Tessellator_startDrawingQuads($par1FontRenderer);
            var$15 = $this.$zLevel0;
            var$16 = 20.0 * var$14;
            nlea_Tessellator_addVertexWithUV($par1FontRenderer, var$7, var$8, var$15, (var$13 + var$16) * 0.00390625, 0.078125);
            var$15 = $this.$zLevel0;
            var$14 = var$13 + 20.0;
            nlea_Tessellator_addVertexWithUV($par1FontRenderer, var$9, var$8, var$15, (var$14 + var$16) * 0.00390625, 0.078125);
            nlea_Tessellator_addVertexWithUV($par1FontRenderer, var$9, var$10, $this.$zLevel0, var$14 * 0.00390625, 0.0);
            nlea_Tessellator_addVertexWithUV($par1FontRenderer, var$7, var$10, $this.$zLevel0, (var$13 + 0.0) * 0.00390625, 0.0);
            nlea_Tessellator_draw($par1FontRenderer);
            nleg_EaglerAdapterGL30_glBlendFunc(768, 769);
            var$6 = var$6 + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        $this.$zLevel0 = $this.$zLevel0 + 50.0;
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glDepthFunc(515);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1FontRenderer, $par2RenderEngine, $par3ItemStack, $par4, $par5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
}
function nms_RenderItem_renderItemOverlayIntoGUI($this, $par1FontRenderer, $par2RenderEngine, $par3ItemStack, $par4, $par5) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3ItemStack = $thread.pop();$par2RenderEngine = $thread.pop();$par1FontRenderer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$6 = null;
        $ptr = 1;
    case 1:
        nms_RenderItem_renderItemOverlayIntoGUI0($this, $par1FontRenderer, $par2RenderEngine, $par3ItemStack, $par4, $par5, var$6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1FontRenderer, $par2RenderEngine, $par3ItemStack, $par4, $par5, var$6, $ptr);
}
function nms_RenderItem_renderItemOverlayIntoGUI0($this, $par1FontRenderer, $par2RenderEngine, $par3ItemStack, $par4, $par5, $var7) {
    var $var12, $var8, $var9, $var11, $var10, var$12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var12 = $thread.pop();$var7 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3ItemStack = $thread.pop();$par2RenderEngine = $thread.pop();$par1FontRenderer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($par3ItemStack !== null) {
                if ($par3ItemStack.$stackSize > 1)
                    break a;
                if ($var7 !== null)
                    break a;
                if (nms_ItemStack_isItemDamaged($par3ItemStack)) {
                    $var12 = jl_Math_round0(13.0 - $par3ItemStack.$itemDamage * 13.0 / nms_ItemStack_getMaxDamage($par3ItemStack)).lo;
                    $var8 = jl_Math_round0(255.0 - $par3ItemStack.$itemDamage * 255.0 / nms_ItemStack_getMaxDamage($par3ItemStack)).lo;
                    nleg_EaglerAdapterGL30_glDisable(2896);
                    nleg_EaglerAdapterGL30_glDisable(2929);
                    nleg_EaglerAdapterGL30_glDisable(3553);
                    nlea_Tessellator_$callClinit();
                    $var9 = nlea_Tessellator_instance;
                    $var11 = 255 - $var8 | 0;
                    $var10 = $var11 << 16 | $var8 << 8;
                    $var11 = ($var11 / 4 | 0) << 16 | 16128;
                    $par4 = $par4 + 2 | 0;
                    var$12 = $par5 + 13 | 0;
                    nms_RenderItem_renderQuad($this, $var9, $par4, var$12, 13, 2, 0);
                    nms_RenderItem_renderQuad($this, $var9, $par4, var$12, 12, 1, $var11);
                    nms_RenderItem_renderQuad($this, $var9, $par4, var$12, $var12, 1, $var10);
                    nleg_EaglerAdapterGL30_glEnable(3553);
                    nleg_EaglerAdapterGL30_glEnable(2896);
                    nleg_EaglerAdapterGL30_glEnable(2929);
                    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                }
            }
            return;
        }
        if ($var7 === null)
            $var7 = jl_String_valueOf1($par3ItemStack.$stackSize);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDisable(2929);
        $var12 = (($par4 + 19 | 0) - 2 | 0) - nms_FontRenderer_getStringWidth($par1FontRenderer, $var7) | 0;
        $var8 = ($par5 + 6 | 0) + 3 | 0;
        $var11 = 16777215;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawStringWithShadow($par1FontRenderer, $var7, $var12, $var8, $var11);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(2929);
        if (nms_ItemStack_isItemDamaged($par3ItemStack)) {
            $var12 = jl_Math_round0(13.0 - $par3ItemStack.$itemDamage * 13.0 / nms_ItemStack_getMaxDamage($par3ItemStack)).lo;
            $var8 = jl_Math_round0(255.0 - $par3ItemStack.$itemDamage * 255.0 / nms_ItemStack_getMaxDamage($par3ItemStack)).lo;
            nleg_EaglerAdapterGL30_glDisable(2896);
            nleg_EaglerAdapterGL30_glDisable(2929);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nlea_Tessellator_$callClinit();
            $var9 = nlea_Tessellator_instance;
            $var11 = 255 - $var8 | 0;
            $var10 = $var11 << 16 | $var8 << 8;
            $var11 = ($var11 / 4 | 0) << 16 | 16128;
            $par4 = $par4 + 2 | 0;
            var$12 = $par5 + 13 | 0;
            nms_RenderItem_renderQuad($this, $var9, $par4, var$12, 13, 2, 0);
            nms_RenderItem_renderQuad($this, $var9, $par4, var$12, 12, 1, $var11);
            nms_RenderItem_renderQuad($this, $var9, $par4, var$12, $var12, 1, $var10);
            nleg_EaglerAdapterGL30_glEnable(3553);
            nleg_EaglerAdapterGL30_glEnable(2896);
            nleg_EaglerAdapterGL30_glEnable(2929);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1FontRenderer, $par2RenderEngine, $par3ItemStack, $par4, $par5, $var7, $var12, $var8, $var9, $var11, $var10, var$12, $ptr);
}
function nms_RenderItem_renderQuad($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6) {
    var var$7, var$8, var$9;
    nlea_Tessellator_startDrawingQuads($par1Tessellator);
    nlea_Tessellator_setColorOpaque_I($par1Tessellator, $par6);
    var$7 = $par2 + 0 | 0;
    var$8 = $par3 + 0 | 0;
    nlea_Tessellator_addVertex($par1Tessellator, var$7, var$8, 0.0);
    var$9 = $par3 + $par5 | 0;
    nlea_Tessellator_addVertex($par1Tessellator, var$7, var$9, 0.0);
    var$7 = $par2 + $par4 | 0;
    nlea_Tessellator_addVertex($par1Tessellator, var$7, var$9, 0.0);
    nlea_Tessellator_addVertex($par1Tessellator, var$7, var$8, 0.0);
    nlea_Tessellator_draw($par1Tessellator);
}
function nms_RenderItem_renderIcon($this, $par1, $par2, $par3Icon, $par4, $par5) {
    var $var6, var$7, var$8, var$9, var$10;
    nlea_Tessellator_$callClinit();
    $var6 = nlea_Tessellator_instance;
    nlea_Tessellator_startDrawingQuads($var6);
    var$7 = $par1 + 0 | 0;
    var$8 = $par2 + $par5 | 0;
    nlea_Tessellator_addVertexWithUV($var6, var$7, var$8, $this.$zLevel0, $par3Icon.$getMinU(), $par3Icon.$getMaxV());
    var$9 = $par1 + $par4 | 0;
    nlea_Tessellator_addVertexWithUV($var6, var$9, var$8, $this.$zLevel0, $par3Icon.$getMaxU(), $par3Icon.$getMaxV());
    var$10 = $par2 + 0 | 0;
    nlea_Tessellator_addVertexWithUV($var6, var$9, var$10, $this.$zLevel0, $par3Icon.$getMaxU(), $par3Icon.$getMinV());
    nlea_Tessellator_addVertexWithUV($var6, var$7, var$10, $this.$zLevel0, $par3Icon.$getMinU(), $par3Icon.$getMinV());
    nlea_Tessellator_draw($var6);
}
function nms_RenderItem_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderItem_doRenderItem($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderItem__clinit_() {
    nms_RenderItem_renderInFrame = 0;
    nms_RenderItem_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_RenderItem_items = nle_TextureLocation__init_($rt_s(992));
    nms_RenderItem_isRenderInProgress = 0;
    nms_RenderItem_glint = nle_TextureLocation__init_($rt_s(1109));
}
function nms_EntityXPOrb() {
    var a = this; nms_Entity.call(a);
    a.$xpColor = 0;
    a.$xpOrbAge = 0;
    a.$field_70532_c = 0;
    a.$xpOrbHealth = 0;
    a.$xpValue = 0;
    a.$closestPlayer = null;
    a.$xpTargetColor = 0;
}
function nms_EntityXPOrb__init_0() {
    var var_0 = new nms_EntityXPOrb();
    nms_EntityXPOrb__init_(var_0);
    return var_0;
}
function nms_EntityXPOrb_canTriggerWalking($this) {
    return 0;
}
function nms_EntityXPOrb__init_($this) {
    nms_Entity__init_0($this);
    $this.$xpOrbAge = 0;
    $this.$xpOrbHealth = 5;
    nms_Entity_setSize($this, 0.25, 0.25);
    $this.$yOffset = $this.$height0 / 2.0;
}
function nms_EntityXPOrb_entityInit($this) {
    return;
}
function nms_EntityXPOrb_getBrightnessForRender($this, $par1) {
    var $var3, $var4, $var5;
    $var3 = nms_Entity_getBrightnessForRender($this, $par1);
    $var4 = $var3 & 255;
    $var5 = $var3 >> 16 & 255;
    $var3 = $var4 + 120 | 0;
    if ($var3 > 240)
        $var3 = 240;
    return $var3 | $var5 << 16;
}
function nms_EntityXPOrb_onUpdate($this) {
    var var$1, $var1, $var3, $var5, $var13, var$6, $var7, $var9, $var11, $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();var$6 = $thread.pop();$var13 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $this.$onEntityUpdate();
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$field_70532_c > 0)
            $this.$field_70532_c = $this.$field_70532_c - 1 | 0;
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        $this.$motionY = $this.$motionY - 0.029999999329447746;
        var$1 = nms_World_getBlockMaterial($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
        nms_Material_$callClinit();
        if (var$1 !== nms_Material_lava) {
            $var1 = $this.$posX;
            $var3 = ($this.$boundingBox.$minY + $this.$boundingBox.$maxY) / 2.0;
            $var5 = $this.$posZ;
            $ptr = 2;
            continue main;
        }
        $this.$motionY = 0.20000000298023224;
        $this.$motionX = (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224;
        $this.$motionZ = (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224;
        var$1 = $rt_s(1015);
        $var13 = 0.4000000059604645;
        var$6 = 2.0 + nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.4000000059604645;
        $ptr = 3;
        continue main;
    case 2:
        nms_Entity_pushOutOfBlocks($this, $var1, $var3, $var5);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$xpTargetColor < (($this.$xpColor - 20 | 0) + ($this.$entityId % 100 | 0) | 0)) {
            if (!($this.$closestPlayer !== null && nms_Entity_getDistanceSqToEntity($this.$closestPlayer, $this) <= 64.0))
                $this.$closestPlayer = nms_World_getClosestPlayerToEntity($this.$worldObj, $this, 8.0);
            $this.$xpTargetColor = $this.$xpColor;
        }
        if ($this.$closestPlayer !== null) {
            $var3 = ($this.$closestPlayer.$posX - $this.$posX) / 8.0;
            $var5 = ($this.$closestPlayer.$posY + $this.$closestPlayer.$getEyeHeight() - $this.$posY) / 8.0;
            $var7 = ($this.$closestPlayer.$posZ - $this.$posZ) / 8.0;
            $var9 = jl_Math_sqrt($var3 * $var3 + $var5 * $var5 + $var7 * $var7);
            $var11 = 1.0 - $var9;
            if ($var11 > 0.0) {
                $var1 = $var11 * $var11;
                $this.$motionX = $this.$motionX + $var3 / $var9 * $var1 * 0.1;
                $this.$motionY = $this.$motionY + $var5 / $var9 * $var1 * 0.1;
                $this.$motionZ = $this.$motionZ + $var7 / $var9 * $var1 * 0.1;
            }
        }
        $var1 = $this.$motionX;
        $var3 = $this.$motionY;
        $var5 = $this.$motionZ;
        $ptr = 4;
        continue main;
    case 3:
        nms_Entity_playSound($this, var$1, $var13, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $this.$posX;
        $var3 = ($this.$boundingBox.$minY + $this.$boundingBox.$maxY) / 2.0;
        $var5 = $this.$posZ;
        $ptr = 2;
        continue main;
    case 4:
        nms_Entity_moveEntity($this, $var1, $var3, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $var13 = 0.9800000190734863;
        if ($this.$onGround) {
            $var13 = 0.5880000591278076;
            $var4 = nms_World_getBlockId($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$boundingBox.$minY) - 1 | 0, nms_MathHelper_floor_double($this.$posZ));
            if ($var4 > 0) {
                nms_Block_$callClinit();
                $var13 = nms_Block_blocksList.data[$var4].$slipperiness * 0.9800000190734863;
            }
        }
        $var1 = $this.$motionX;
        $var3 = $var13;
        $this.$motionX = $var1 * $var3;
        $this.$motionY = $this.$motionY * 0.9800000190734863;
        $this.$motionZ = $this.$motionZ * $var3;
        if ($this.$onGround)
            $this.$motionY = $this.$motionY * (-0.8999999761581421);
        $this.$xpColor = $this.$xpColor + 1 | 0;
        $this.$xpOrbAge = $this.$xpOrbAge + 1 | 0;
        if ($this.$xpOrbAge < 6000)
            return;
        $ptr = 5;
    case 5:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $var1, $var3, $var5, $var13, var$6, $var7, $var9, $var11, $var4, $ptr);
}
function nms_EntityXPOrb_handleWaterMovement($this) {
    var var$1, var$2;
    var$1 = $this.$worldObj;
    var$2 = $this.$boundingBox;
    nms_Material_$callClinit();
    return nms_World_handleMaterialAcceleration(var$1, var$2, nms_Material_water, $this);
}
function nms_EntityXPOrb_dealFireDamage($this, $par1) {
    nms_EntityXPOrb_attackEntityFrom($this, nms_DamageSource_inFire, $par1);
}
function nms_EntityXPOrb_attackEntityFrom($this, $par1DamageSource, $par2) {
    if ($this.$invulnerable)
        return 0;
    nms_Entity_setBeenAttacked($this);
    $this.$xpOrbHealth = $this.$xpOrbHealth - $par2 | 0;
    if ($this.$xpOrbHealth <= 0)
        nms_Entity_setDead($this);
    return 0;
}
function nms_EntityXPOrb_getTextureByXP($this) {
    var var$1;
    a: {
        if ($this.$xpValue >= 2477) {
            var$1 = 10;
            break a;
        }
        if ($this.$xpValue >= 1237) {
            var$1 = 9;
            break a;
        }
        if ($this.$xpValue >= 617) {
            var$1 = 8;
            break a;
        }
        if ($this.$xpValue >= 307) {
            var$1 = 7;
            break a;
        }
        if ($this.$xpValue >= 149) {
            var$1 = 6;
            break a;
        }
        if ($this.$xpValue >= 73) {
            var$1 = 5;
            break a;
        }
        if ($this.$xpValue >= 37) {
            var$1 = 4;
            break a;
        }
        if ($this.$xpValue >= 17) {
            var$1 = 3;
            break a;
        }
        if ($this.$xpValue >= 7) {
            var$1 = 2;
            break a;
        }
        if ($this.$xpValue < 3) {
            var$1 = 0;
            break a;
        }
        var$1 = 1;
    }
    return var$1;
}
function nms_EntityXPOrb_canAttackWithItem($this) {
    return 0;
}
function nms_RenderXPOrb() {
    nms_Render.call(this);
}
var nms_RenderXPOrb_tex_xporb = null;
function nms_RenderXPOrb__init_0() {
    var var_0 = new nms_RenderXPOrb();
    nms_RenderXPOrb__init_(var_0);
    return var_0;
}
function nms_RenderXPOrb__init_($this) {
    nms_Render__init_0($this);
    $this.$shadowSize = 0.15000000596046448;
    $this.$shadowOpaque = 0.75;
}
function nms_RenderXPOrb_renderTheXPOrb($this, $par1EntityXPOrb, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var11, $var23, $var12, $var13, $var14, $var15, $var19, $var20, $var21, $var27, $var24, var$19, var$20, var$21, var$22, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();$var24 = $thread.pop();$var27 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var23 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityXPOrb
        = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glAlphaFunc(0, 0.003921568859368563);
        $var10 = nms_EntityXPOrb_getTextureByXP($par1EntityXPOrb);
        $var11 = nms_RenderXPOrb_tex_xporb;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var11);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var11 = nlea_Tessellator_instance;
        $var23 = ($var10 % 4 | 0) * 16 | 0;
        $var12 = (($var23 + 0 | 0) + 0.20000000298023224) / 64.0;
        $var13 = (($var23 + 16 | 0) - 0.20000000298023224) / 64.0;
        $var10 = ($var10 / 4 | 0) * 16 | 0;
        $var14 = (($var10 + 0 | 0) + 0.20000000298023224) / 64.0;
        $var15 = (($var10 + 16 | 0) - 0.20000000298023224) / 64.0;
        $var19 = nms_EntityXPOrb_getBrightnessForRender($par1EntityXPOrb, $par9);
        $var20 = $var19 % 65536 | 0;
        $var21 = $var19 / 65536 | 0;
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, $var20 / 1.0, $var21 / 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var27 = ($par1EntityXPOrb.$xpColor + $par9) / 2.0;
        $var24 = (nms_MathHelper_sin($var27 + 0.0) + 1.0) * 0.5 * 255.0 | 0;
        $var23 = (nms_MathHelper_sin($var27 + 4.188790321350098) + 1.0) * 0.10000000149011612 * 255.0 | 0;
        $var24 = $var24 << 16 | 65280 | $var23;
        nleg_EaglerAdapterGL30_glRotatef(180.0 - $this.$renderManager.$playerViewY, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef( -$this.$renderManager.$playerViewX, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.30000001192092896, 0.30000001192092896, 0.30000001192092896);
        nlea_Tessellator_startDrawingQuads($var11);
        nlea_Tessellator_setColorRGBA_I($var11, $var24, 128);
        nlea_Tessellator_setNormal($var11, 0.0, 1.0, 0.0);
        var$19 = $var12;
        var$20 = $var15;
        nlea_Tessellator_addVertexWithUV($var11, (-0.5), (-0.25), 0.0, var$19, var$20);
        var$21 = $var13;
        nlea_Tessellator_addVertexWithUV($var11, 0.5, (-0.25), 0.0, var$21, var$20);
        var$22 = $var14;
        nlea_Tessellator_addVertexWithUV($var11, 0.5, 0.75, 0.0, var$21, var$22);
        nlea_Tessellator_addVertexWithUV($var11, (-0.5), 0.75, 0.0, var$19, var$22);
        nlea_Tessellator_draw($var11);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityXPOrb, $par2, $par4, $par6, $par8, $par9, $var10, $var11, $var23, $var12, $var13, $var14, $var15, $var19, $var20, $var21, $var27, $var24, var$19, var$20, var$21, var$22, $ptr);
}
function nms_RenderXPOrb_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderXPOrb_renderTheXPOrb($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderXPOrb__clinit_() {
    nms_RenderXPOrb_tex_xporb = nle_TextureLocation__init_($rt_s(1876));
}
function nms_EntityTNTPrimed() {
    var a = this; nms_Entity.call(a);
    a.$fuse = 0;
    a.$tntPlacedBy = null;
}
function nms_EntityTNTPrimed__init_0() {
    var var_0 = new nms_EntityTNTPrimed();
    nms_EntityTNTPrimed__init_(var_0);
    return var_0;
}
function nms_EntityTNTPrimed__init_1(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityTNTPrimed();
    nms_EntityTNTPrimed__init_2(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_EntityTNTPrimed__init_($this) {
    nms_Entity__init_0($this);
    $this.$fuse = 0;
    $this.$preventEntitySpawning = 1;
    nms_Entity_setSize($this, 0.9800000190734863, 0.9800000190734863);
    $this.$yOffset = $this.$height0 / 2.0;
}
function nms_EntityTNTPrimed__init_2($this, $par1World, $par2, $par4, $par6, $par8EntityLiving) {
    var var$6;
    nms_EntityTNTPrimed__init_($this);
    nms_Entity_setWorld($this, $par1World);
    nms_Entity_setPosition($this, $par2, $par4, $par6);
    var$6 = jl_Math_random() * 3.141592653589793 * 2.0;
    $this.$motionX =  -jl_Math_sin(var$6) * 0.019999999552965164;
    $this.$motionY = 0.20000000298023224;
    $this.$motionZ =  -jl_Math_cos(var$6) * 0.019999999552965164;
    $this.$fuse = 80;
    $this.$prevPosX = $par2;
    $this.$prevPosY = $par4;
    $this.$prevPosZ = $par6;
    $this.$tntPlacedBy = $par8EntityLiving;
}
function nms_EntityTNTPrimed_entityInit($this) {
    return;
}
function nms_EntityTNTPrimed_canTriggerWalking($this) {
    return 0;
}
function nms_EntityTNTPrimed_canBeCollidedWith($this) {
    return $this.$isDead ? 0 : 1;
}
function nms_EntityTNTPrimed_onUpdate($this) {
    var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        $this.$motionY = $this.$motionY - 0.03999999910593033;
        var$1 = $this.$motionX;
        var$2 = $this.$motionY;
        var$3 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$1, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.9800000190734863;
        $this.$motionY = $this.$motionY * 0.9800000190734863;
        $this.$motionZ = $this.$motionZ * 0.9800000190734863;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
            $this.$motionY = $this.$motionY * (-0.5);
        }
        var$4 = $this.$fuse;
        $this.$fuse = var$4 - 1 | 0;
        if (var$4 <= 0) {
            $ptr = 3;
            continue main;
        }
        var$5 = $this.$worldObj;
        var$6 = $rt_s(1166);
        var$2 = $this.$posX;
        var$1 = $this.$posY + 0.5;
        var$7 = $this.$posZ;
        var$3 = 0.0;
        var$8 = 0.0;
        var$9 = 0.0;
        $ptr = 2;
    case 2:
        nms_World_spawnParticle(var$5, var$6, var$2, var$1, var$7, var$3, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
}
function nms_EntityTNTPrimed_getShadowSize($this) {
    return 0.0;
}
function nms_RenderTNTPrimed() {
    nms_Render.call(this);
    this.$blockRenderer = null;
}
var nms_RenderTNTPrimed_terrain = null;
function nms_RenderTNTPrimed__init_0() {
    var var_0 = new nms_RenderTNTPrimed();
    nms_RenderTNTPrimed__init_(var_0);
    return var_0;
}
function nms_RenderTNTPrimed__init_($this) {
    nms_Render__init_0($this);
    $this.$blockRenderer = nms_RenderBlocks__init_2();
    $this.$shadowSize = 0.5;
}
function nms_RenderTNTPrimed_renderPrimedTNT($this, $par1EntityTNTPrimed, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var11, var$9, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityTNTPrimed = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        if ($par1EntityTNTPrimed.$fuse - $par9 + 1.0 < 10.0) {
            $var10 = 1.0 - ($par1EntityTNTPrimed.$fuse - $par9 + 1.0) / 10.0;
            if ($var10 < 0.0)
                $var10 = 0.0;
            if ($var10 > 1.0)
                $var10 = 1.0;
            $par8 = $var10 * $var10;
            $var11 = 1.0 + $par8 * $par8 * 0.30000001192092896;
            nleg_EaglerAdapterGL30_glScalef($var11, $var11, $var11);
        }
        $var10 = (1.0 - ($par1EntityTNTPrimed.$fuse - $par9 + 1.0) / 100.0) * 0.800000011920929;
        var$9 = nms_RenderTNTPrimed_terrain;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$9);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        var$9 = $this.$blockRenderer;
        nms_Block_$callClinit();
        var$10 = nms_Block_tnt;
        var$11 = 0;
        $par8 = nms_Entity_getBrightness($par1EntityTNTPrimed, $par9);
        $ptr = 2;
    case 2:
        nms_RenderBlocks_renderBlockAsItem(var$9, var$10, var$11, $par8);
        if ($rt_suspending()) {
            break main;
        }
        if (($par1EntityTNTPrimed.$fuse / 5 | 0) % 2 | 0) {
            nleg_EaglerAdapterGL30_flipLightMatrix();
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        nleg_EaglerAdapterGL30_glDisable(3553);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 772);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, $var10);
        $par1EntityTNTPrimed = $this.$blockRenderer;
        var$9 = nms_Block_tnt;
        var$11 = 0;
        $par8 = 1.0;
        $ptr = 3;
    case 3:
        nms_RenderBlocks_renderBlockAsItem($par1EntityTNTPrimed, var$9, var$11, $par8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityTNTPrimed, $par2, $par4, $par6, $par8, $par9, $var10, $var11, var$9, var$10, var$11, $ptr);
}
function nms_RenderTNTPrimed_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderTNTPrimed_renderPrimedTNT($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderTNTPrimed__clinit_() {
    nms_RenderTNTPrimed_terrain = nle_TextureLocation__init_($rt_s(985));
}
function nms_EntityFallingSand() {
    var a = this; nms_Entity.call(a);
    a.$blockID0 = 0;
    a.$metadata = 0;
    a.$fallTime = 0;
    a.$shouldDropItem = 0;
    a.$isBreakingAnvil = 0;
    a.$isAnvil = 0;
    a.$fallHurtMax = 0;
    a.$fallHurtAmount = 0.0;
    a.$fallingBlockTileEntityData = null;
}
function nms_EntityFallingSand__init_0() {
    var var_0 = new nms_EntityFallingSand();
    nms_EntityFallingSand__init_(var_0);
    return var_0;
}
function nms_EntityFallingSand__init_1(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_EntityFallingSand();
    nms_EntityFallingSand__init_2(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
}
function nms_EntityFallingSand__init_($this) {
    nms_Entity__init_0($this);
    $this.$fallTime = 0;
    $this.$shouldDropItem = 1;
    $this.$isBreakingAnvil = 0;
    $this.$isAnvil = 0;
    $this.$fallHurtMax = 40;
    $this.$fallHurtAmount = 2.0;
    $this.$fallingBlockTileEntityData = null;
}
function nms_EntityFallingSand__init_2($this, $par1World, $par2, $par4, $par6, $par8, $par9) {
    nms_Entity__init_0($this);
    nms_Entity_setWorld($this, $par1World);
    $this.$fallTime = 0;
    $this.$shouldDropItem = 1;
    $this.$isBreakingAnvil = 0;
    $this.$isAnvil = 0;
    $this.$fallHurtMax = 40;
    $this.$fallHurtAmount = 2.0;
    $this.$fallingBlockTileEntityData = null;
    $this.$blockID0 = $par8;
    $this.$metadata = $par9;
    $this.$preventEntitySpawning = 1;
    nms_Entity_setSize($this, 0.9800000190734863, 0.9800000190734863);
    $this.$yOffset = $this.$height0 / 2.0;
    nms_Entity_setPosition($this, $par2, $par4, $par6);
    $this.$motionX = 0.0;
    $this.$motionY = 0.0;
    $this.$motionZ = 0.0;
    $this.$prevPosX = $par2;
    $this.$prevPosY = $par4;
    $this.$prevPosZ = $par6;
}
function nms_EntityFallingSand_canTriggerWalking($this) {
    return 0;
}
function nms_EntityFallingSand_entityInit($this) {
    return;
}
function nms_EntityFallingSand_canBeCollidedWith($this) {
    return $this.$isDead ? 0 : 1;
}
function nms_EntityFallingSand_onUpdate($this) {
    var var$1, var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$blockID0) {
            $ptr = 2;
            continue main;
        }
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        $this.$fallTime = $this.$fallTime + 1 | 0;
        $this.$motionY = $this.$motionY - 0.03999999910593033;
        var$1 = $this.$motionX;
        var$2 = $this.$motionY;
        var$3 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$1, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.9800000190734863;
        $this.$motionY = $this.$motionY * 0.9800000190734863;
        $this.$motionZ = $this.$motionZ * 0.9800000190734863;
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
}
function nms_EntityFallingSand_fall($this, $par1) {
    var $var2, $var3, $var7, $var4, $var5, $var6, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var7 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$isAnvil) {
            $var2 = nms_MathHelper_ceiling_float_int($par1 - 1.0);
            if ($var2 > 0) {
                $var3 = ju_ArrayList__init_3(nms_World_getEntitiesWithinAABBExcludingEntity($this.$worldObj, $this, $this.$boundingBox));
                $var7 = $this.$blockID0;
                nms_Block_$callClinit();
                $var4 = $var7 != nms_Block_anvil.$blockID ? nms_DamageSource_fallingBlock : nms_DamageSource_anvil;
                $var5 = ju_AbstractList_iterator($var3);
                $par1 = $var2;
                if (ju_AbstractList$1_hasNext($var5)) {
                    $var6 = ju_AbstractList$1_next($var5);
                    $var7 = jl_Math_min(nms_MathHelper_floor_float($par1 * $this.$fallHurtAmount), $this.$fallHurtMax);
                    $ptr = 1;
                    continue main;
                }
                if ($this.$blockID0 == nms_Block_anvil.$blockID && nle_EaglercraftRandom_nextFloat($this.$rand0) < 0.05000000074505806 + $var2 * 0.05) {
                    $var7 = $this.$metadata >> 2;
                    $var8 = $this.$metadata & 3;
                    $var2 = $var7 + 1 | 0;
                    if ($var2 > 2)
                        $this.$isBreakingAnvil = 1;
                    else
                        $this.$metadata = $var8 | $var2 << 2;
                }
            }
        }
        return;
    case 1:
        $var6.$attackEntityFrom($var4, $var7);
        if ($rt_suspending()) {
            break main;
        }
        if (!ju_AbstractList$1_hasNext($var5)) {
            if ($this.$blockID0 == nms_Block_anvil.$blockID && nle_EaglercraftRandom_nextFloat($this.$rand0) < 0.05000000074505806 + $var2 * 0.05) {
                $var7 = $this.$metadata >> 2;
                $var8 = $this.$metadata & 3;
                $var2 = $var7 + 1 | 0;
                if ($var2 > 2)
                    $this.$isBreakingAnvil = 1;
                else
                    $this.$metadata = $var8 | $var2 << 2;
            }
            return;
        }
        $var6 = ju_AbstractList$1_next($var5);
        $var7 = jl_Math_min(nms_MathHelper_floor_float($par1 * $this.$fallHurtAmount), $this.$fallHurtMax);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $var3, $var7, $var4, $var5, $var6, $var8, $ptr);
}
function nms_EntityFallingSand_getShadowSize($this) {
    return 0.0;
}
function nms_EntityFallingSand_getWorld($this) {
    return $this.$worldObj;
}
function nms_EntityFallingSand_canRenderOnFire($this) {
    return 0;
}
function nms_RenderFallingSand() {
    nms_Render.call(this);
    this.$sandRenderBlocks = null;
}
var nms_RenderFallingSand_tex = null;
function nms_RenderFallingSand__init_0() {
    var var_0 = new nms_RenderFallingSand();
    nms_RenderFallingSand__init_(var_0);
    return var_0;
}
function nms_RenderFallingSand__init_($this) {
    nms_Render__init_0($this);
    $this.$sandRenderBlocks = nms_RenderBlocks__init_2();
    $this.$shadowSize = 0.5;
}
function nms_RenderFallingSand_doRenderFallingSand($this, $par1EntityFallingSand, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityFallingSand = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var10 = $par1EntityFallingSand.$worldObj;
        nms_Block_$callClinit();
        $var11 = nms_Block_blocksList.data[$par1EntityFallingSand.$blockID0];
        if (nms_World_getBlockId($var10, nms_MathHelper_floor_double($par1EntityFallingSand.$posX), nms_MathHelper_floor_double($par1EntityFallingSand.$posY), nms_MathHelper_floor_double($par1EntityFallingSand.$posZ)) == $par1EntityFallingSand.$blockID0)
            return;
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        $var12 = nms_RenderFallingSand_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var12);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        nleg_EaglerAdapterGL30_glDisable(2896);
        if ($var11 instanceof nms_BlockAnvil && $var11.$getRenderType() == 35) {
            $this.$sandRenderBlocks.$blockAccess = $var10;
            nlea_Tessellator_$callClinit();
            $var12 = nlea_Tessellator_instance;
            nlea_Tessellator_startDrawingQuads($var12);
            nlea_Tessellator_setTranslation($var12,  -nms_MathHelper_floor_double($par1EntityFallingSand.$posX) - 0.5,  -nms_MathHelper_floor_double($par1EntityFallingSand.$posY) - 0.5,  -nms_MathHelper_floor_double($par1EntityFallingSand.$posZ) - 0.5);
            nms_RenderBlocks_renderBlockAnvilMetadata($this.$sandRenderBlocks, $var11, nms_MathHelper_floor_double($par1EntityFallingSand.$posX), nms_MathHelper_floor_double($par1EntityFallingSand.$posY), nms_MathHelper_floor_double($par1EntityFallingSand.$posZ), $par1EntityFallingSand.$metadata);
            nlea_Tessellator_setTranslation($var12, 0.0, 0.0, 0.0);
            nlea_Tessellator_draw($var12);
        } else if ($var11.$getRenderType() != 27) {
            nms_RenderBlocks_setRenderBoundsFromBlock($this.$sandRenderBlocks, $var11);
            nms_RenderBlocks_renderBlockSandFalling($this.$sandRenderBlocks, $var11, $var10, nms_MathHelper_floor_double($par1EntityFallingSand.$posX), nms_MathHelper_floor_double($par1EntityFallingSand.$posY), nms_MathHelper_floor_double($par1EntityFallingSand.$posZ), $par1EntityFallingSand.$metadata);
        } else {
            $this.$sandRenderBlocks.$blockAccess = $var10;
            nlea_Tessellator_$callClinit();
            $var12 = nlea_Tessellator_instance;
            nlea_Tessellator_startDrawingQuads($var12);
            nlea_Tessellator_setTranslation($var12,  -nms_MathHelper_floor_double($par1EntityFallingSand.$posX) - 0.5,  -nms_MathHelper_floor_double($par1EntityFallingSand.$posY) - 0.5,  -nms_MathHelper_floor_double($par1EntityFallingSand.$posZ) - 0.5);
            nms_RenderBlocks_renderBlockDragonEgg($this.$sandRenderBlocks, $var11, nms_MathHelper_floor_double($par1EntityFallingSand.$posX), nms_MathHelper_floor_double($par1EntityFallingSand.$posY), nms_MathHelper_floor_double($par1EntityFallingSand.$posZ));
            nlea_Tessellator_setTranslation($var12, 0.0, 0.0, 0.0);
            nlea_Tessellator_draw($var12);
        }
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityFallingSand, $par2, $par4, $par6, $par8, $par9, $var10, $var11, $var12, $ptr);
}
function nms_RenderFallingSand_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderFallingSand_doRenderFallingSand($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderFallingSand__clinit_() {
    nms_RenderFallingSand_tex = nle_TextureLocation__init_($rt_s(985));
}
function nms_EntityMinecart() {
    var a = this; nms_Entity.call(a);
    a.$isInReverse = 0;
    a.$field_82344_g = null;
    a.$entityName = null;
    a.$turnProgress = 0;
    a.$minecartX = 0.0;
    a.$minecartY = 0.0;
    a.$minecartZ = 0.0;
    a.$minecartYaw = 0.0;
    a.$minecartPitch = 0.0;
    a.$velocityX = 0.0;
    a.$velocityY = 0.0;
    a.$velocityZ = 0.0;
}
var nms_EntityMinecart_matrix = null;
function nms_EntityMinecart__init_() {
    var var_0 = new nms_EntityMinecart();
    nms_EntityMinecart__init_0(var_0);
    return var_0;
}
function nms_EntityMinecart__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityMinecart();
    nms_EntityMinecart__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntityMinecart__init_0($this) {
    nms_Entity__init_0($this);
    $this.$isInReverse = 0;
    $this.$preventEntitySpawning = 1;
    nms_Entity_setSize($this, 0.9800000190734863, 0.699999988079071);
    $this.$yOffset = $this.$height0 / 2.0;
}
function nms_EntityMinecart_createMinecart($par0World, $par1, $par3, $par5, $par7) {
    var var$6;
    switch ($par7) {
        case 1:
            break;
        case 2:
            var$6 = new nms_EntityMinecartFurnace;
            nms_EntityMinecart__init_2(var$6, $par0World, $par1, $par3, $par5);
            var$6.$fuel = 0;
            return var$6;
        case 3:
            var$6 = new nms_EntityMinecartTNT;
            nms_EntityMinecart__init_2(var$6, $par0World, $par1, $par3, $par5);
            var$6.$minecartTNTFuse = (-1);
            return var$6;
        case 4:
            var$6 = new nms_EntityMinecartMobSpawner;
            nms_EntityMinecart__init_2(var$6, $par0World, $par1, $par3, $par5);
            return var$6;
        case 5:
            var$6 = new nms_EntityMinecartHopper;
            nms_EntityMinecartContainer__init_(var$6, $par0World, $par1, $par3, $par5);
            var$6.$isBlocked = 1;
            var$6.$transferTicker = (-1);
            return var$6;
        default:
            var$6 = new nms_EntityMinecartEmpty;
            nms_EntityMinecart__init_2(var$6, $par0World, $par1, $par3, $par5);
            return var$6;
    }
    var$6 = new nms_EntityMinecartChest;
    nms_EntityMinecartContainer__init_(var$6, $par0World, $par1, $par3, $par5);
    return var$6;
}
function nms_EntityMinecart_setWorld($this, $w) {
    nms_Entity_setWorld($this, $w);
    if ($w !== null)
        $this.$field_82344_g = nms_WorldClient_func_82735_a($w, $this);
    return $this;
}
function nms_EntityMinecart_canTriggerWalking($this) {
    return 0;
}
function nms_EntityMinecart_entityInit($this) {
    nms_DataWatcher_addObject($this.$dataWatcher, 17, jl_Integer__init_(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 18, jl_Integer__init_(1));
    nms_DataWatcher_addObject($this.$dataWatcher, 19, jl_Integer__init_(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 20, jl_Integer__init_(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 21, jl_Integer__init_(6));
    nms_DataWatcher_addObject($this.$dataWatcher, 22, jl_Byte_valueOf(0));
}
function nms_EntityMinecart_getCollisionBox($this, $par1Entity) {
    return !$par1Entity.$canBePushed() ? null : $par1Entity.$boundingBox;
}
function nms_EntityMinecart_getBoundingBox($this) {
    return null;
}
function nms_EntityMinecart_canBePushed($this) {
    return 1;
}
function nms_EntityMinecart__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_EntityMinecart__init_0($this);
    nms_EntityMinecart_setWorld($this, $par1World);
    nms_Entity_setPosition($this, $par2, $par4 + $this.$yOffset, $par6);
    $this.$motionX = 0.0;
    $this.$motionY = 0.0;
    $this.$motionZ = 0.0;
    $this.$prevPosX = $par2;
    $this.$prevPosY = $par4;
    $this.$prevPosZ = $par6;
}
function nms_EntityMinecart_getMountedYOffset($this) {
    return $this.$height0 * 0.0 - 0.30000001192092896;
}
function nms_EntityMinecart_attackEntityFrom($this, $par1DamageSource, $par2) {
    return 1;
}
function nms_EntityMinecart_performHurtAnimation($this) {
    nms_EntityMinecart_setRollingDirection($this,  -nms_EntityMinecart_getRollingDirection($this));
    nms_EntityMinecart_setRollingAmplitude($this, 10);
    nms_EntityMinecart_setDamage($this, nms_EntityMinecart_getDamage($this) + (nms_EntityMinecart_getDamage($this) * 10 | 0) | 0);
}
function nms_EntityMinecart_canBeCollidedWith($this) {
    return $this.$isDead ? 0 : 1;
}
function nms_EntityMinecart_setDead($this) {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$field_82344_g === null)
            return;
        var$1 = $this.$field_82344_g;
        $ptr = 2;
    case 2:
        nms_SoundUpdaterMinecart_update(var$1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $ptr);
}
function nms_EntityMinecart_onUpdate($this) {
    var var$1, $var19, $var21, $var5, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var21 = $thread.pop();$var19 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$field_82344_g !== null) {
            var$1 = $this.$field_82344_g;
            $ptr = 1;
            continue main;
        }
        if (nms_EntityMinecart_getRollingAmplitude($this) > 0)
            nms_EntityMinecart_setRollingAmplitude($this, nms_EntityMinecart_getRollingAmplitude($this) - 1 | 0);
        if (nms_EntityMinecart_getDamage($this) > 0)
            nms_EntityMinecart_setDamage($this, nms_EntityMinecart_getDamage($this) - 1 | 0);
        if ($this.$posY >= (-64.0)) {
            if ($this.$turnProgress <= 0) {
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            } else {
                $var19 = $this.$posX + ($this.$minecartX - $this.$posX) / $this.$turnProgress;
                $var21 = $this.$posY + ($this.$minecartY - $this.$posY) / $this.$turnProgress;
                $var5 = $this.$posZ + ($this.$minecartZ - $this.$posZ) / $this.$turnProgress;
                $var7 = nms_MathHelper_wrapAngleTo180_double($this.$minecartYaw - $this.$rotationYaw);
                $this.$rotationYaw = $this.$rotationYaw + $var7 / $this.$turnProgress;
                $this.$rotationPitch = $this.$rotationPitch + ($this.$minecartPitch - $this.$rotationPitch) / $this.$turnProgress;
                $this.$turnProgress = $this.$turnProgress - 1 | 0;
                nms_Entity_setPosition($this, $var19, $var21, $var5);
                nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            }
            return;
        }
        $ptr = 2;
        continue main;
    case 1:
        nms_SoundUpdaterMinecart_update(var$1);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_EntityMinecart_getRollingAmplitude($this) > 0)
            nms_EntityMinecart_setRollingAmplitude($this, nms_EntityMinecart_getRollingAmplitude($this) - 1 | 0);
        if (nms_EntityMinecart_getDamage($this) > 0)
            nms_EntityMinecart_setDamage($this, nms_EntityMinecart_getDamage($this) - 1 | 0);
        if ($this.$posY >= (-64.0)) {
            if ($this.$turnProgress <= 0) {
                nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
                nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            } else {
                $var19 = $this.$posX + ($this.$minecartX - $this.$posX) / $this.$turnProgress;
                $var21 = $this.$posY + ($this.$minecartY - $this.$posY) / $this.$turnProgress;
                $var5 = $this.$posZ + ($this.$minecartZ - $this.$posZ) / $this.$turnProgress;
                $var7 = nms_MathHelper_wrapAngleTo180_double($this.$minecartYaw - $this.$rotationYaw);
                $this.$rotationYaw = $this.$rotationYaw + $var7 / $this.$turnProgress;
                $this.$rotationPitch = $this.$rotationPitch + ($this.$minecartPitch - $this.$rotationPitch) / $this.$turnProgress;
                $this.$turnProgress = $this.$turnProgress - 1 | 0;
                nms_Entity_setPosition($this, $var19, $var21, $var5);
                nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            }
            return;
        }
        $ptr = 2;
    case 2:
        $this.$setDead();
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$turnProgress <= 0) {
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
        } else {
            $var19 = $this.$posX + ($this.$minecartX - $this.$posX) / $this.$turnProgress;
            $var21 = $this.$posY + ($this.$minecartY - $this.$posY) / $this.$turnProgress;
            $var5 = $this.$posZ + ($this.$minecartZ - $this.$posZ) / $this.$turnProgress;
            $var7 = nms_MathHelper_wrapAngleTo180_double($this.$minecartYaw - $this.$rotationYaw);
            $this.$rotationYaw = $this.$rotationYaw + $var7 / $this.$turnProgress;
            $this.$rotationPitch = $this.$rotationPitch + ($this.$minecartPitch - $this.$rotationPitch) / $this.$turnProgress;
            $this.$turnProgress = $this.$turnProgress - 1 | 0;
            nms_Entity_setPosition($this, $var19, $var21, $var5);
            nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $var19, $var21, $var5, $var7, $ptr);
}
function nms_EntityMinecart_func_70495_a($this, $par1, $par3, $par5, $par7) {
    var $var9, $var10, $var11, $var12, $var13, var$10, $var15, $var17, $var19;
    $var9 = nms_MathHelper_floor_double($par1);
    $var10 = nms_MathHelper_floor_double($par3);
    $var11 = nms_MathHelper_floor_double($par5);
    if (nms_BlockRailBase_isRailBlockAt($this.$worldObj, $var9, $var10 - 1 | 0, $var11))
        $var10 = $var10 + (-1) | 0;
    $var12 = nms_World_getBlockId($this.$worldObj, $var9, $var10, $var11);
    if (!nms_BlockRailBase_isRailBlock($var12))
        return null;
    $var13 = nms_World_getBlockMetadata($this.$worldObj, $var9, $var10, $var11);
    nms_Block_$callClinit();
    if (nms_Block_blocksList.data[$var12].$isPowered)
        $var13 = $var13 & 7;
    $par3 = $var10;
    if ($var13 >= 2 && $var13 <= 5)
        $par3 = $var10 + 1 | 0;
    var$10 = nms_EntityMinecart_matrix.data[$var13].data;
    $var15 = var$10[1].data[0] - var$10[0].data[0] | 0;
    $var17 = var$10[1].data[2] - var$10[0].data[2] | 0;
    $var19 = jl_Math_sqrt($var15 * $var15 + $var17 * $var17);
    $var15 = $var15 / $var19;
    $var17 = $var17 / $var19;
    $par1 = $par1 + $var15 * $par7;
    $par7 = $par5 + $var17 * $par7;
    if (var$10[0].data[1] && (nms_MathHelper_floor_double($par1) - $var9 | 0) == var$10[0].data[0] && (nms_MathHelper_floor_double($par7) - $var11 | 0) == var$10[0].data[2])
        $par3 = $par3 + var$10[0].data[1];
    else if (var$10[1].data[1] && (nms_MathHelper_floor_double($par1) - $var9 | 0) == var$10[1].data[0] && (nms_MathHelper_floor_double($par7) - $var11 | 0) == var$10[1].data[2])
        $par3 = $par3 + var$10[1].data[1];
    return nms_EntityMinecart_func_70489_a($this, $par1, $par3, $par7);
}
function nms_EntityMinecart_func_70489_a($this, $par1, $par3, $par5) {
    var $var7, $var8, $var9, $var10, $var11, $var17, var$10, $var35, $var25, $var15, $var33, $var27, $var19, $var21, $var23, $var29, $var31;
    $var7 = nms_MathHelper_floor_double($par1);
    $var8 = nms_MathHelper_floor_double($par3);
    $var9 = nms_MathHelper_floor_double($par5);
    if (nms_BlockRailBase_isRailBlockAt($this.$worldObj, $var7, $var8 - 1 | 0, $var9))
        $var8 = $var8 + (-1) | 0;
    $var10 = nms_World_getBlockId($this.$worldObj, $var7, $var8, $var9);
    if (!nms_BlockRailBase_isRailBlock($var10))
        return null;
    $var11 = nms_World_getBlockMetadata($this.$worldObj, $var7, $var8, $var9);
    $var17 = $var8;
    nms_Block_$callClinit();
    if (nms_Block_blocksList.data[$var10].$isPowered)
        $var11 = $var11 & 7;
    var$10 = nms_EntityMinecart_matrix.data[$var11].data;
    $var35 = $var7;
    $var25 = $var35 + 0.5;
    $var15 = $var25 + var$10[0].data[0] * 0.5;
    $par3 = $var17 + 0.5;
    $var17 = $par3 + var$10[0].data[1] * 0.5;
    $var33 = $var9;
    $var27 = $var33 + 0.5;
    $var19 = $var27 + var$10[0].data[2] * 0.5;
    $var21 = $var25 + var$10[1].data[0] * 0.5;
    $var23 = $par3 + var$10[1].data[1] * 0.5;
    $var25 = $var27 + var$10[1].data[2] * 0.5;
    $var27 = $var21 - $var15;
    $var29 = ($var23 - $var17) * 2.0;
    $var31 = $var25 - $var19;
    $par1 = $var27 === 0.0 ? $par5 - $var33 : $var31 === 0.0 ? $par1 - $var35 : (($par1 - $var15) * $var27 + ($par5 - $var19) * $var31) * 2.0;
    $par3 = $var15 + $var27 * $par1;
    $par5 = $var17 + $var29 * $par1;
    $par1 = $var19 + $var31 * $par1;
    $var10 = $rt_compare($var29, 0.0);
    if ($var10 < 0)
        $par5 = $par5 + 1.0;
    if ($var10 > 0)
        $par5 = $par5 + 0.5;
    return nms_Vec3Pool_getVecFromPool($this.$worldObj.$vecPool, $par3, $par5, $par1);
}
function nms_EntityMinecart_getShadowSize($this) {
    return 0.0;
}
function nms_EntityMinecart_setPositionAndRotation2($this, $par1, $par3, $par5, $par7, $par8, $par9) {
    $this.$minecartX = $par1;
    $this.$minecartY = $par3;
    $this.$minecartZ = $par5;
    $this.$minecartYaw = $par7;
    $this.$minecartPitch = $par8;
    $this.$turnProgress = $par9 + 2 | 0;
    $this.$motionX = $this.$velocityX;
    $this.$motionY = $this.$velocityY;
    $this.$motionZ = $this.$velocityZ;
}
function nms_EntityMinecart_setVelocity($this, $par1, $par3, $par5) {
    $this.$motionX = $par1;
    $this.$velocityX = $par1;
    $this.$motionY = $par3;
    $this.$velocityY = $par3;
    $this.$motionZ = $par5;
    $this.$velocityZ = $par5;
}
function nms_EntityMinecart_setDamage($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 19, jl_Integer_valueOf($par1));
}
function nms_EntityMinecart_getDamage($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 19);
}
function nms_EntityMinecart_setRollingAmplitude($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 17, jl_Integer_valueOf($par1));
}
function nms_EntityMinecart_getRollingAmplitude($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 17);
}
function nms_EntityMinecart_setRollingDirection($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 18, jl_Integer_valueOf($par1));
}
function nms_EntityMinecart_getRollingDirection($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 18);
}
function nms_EntityMinecart_getDisplayTile($this) {
    var $var1, var$2;
    if (!nms_EntityMinecart_hasDisplayTile($this))
        return $this.$getDefaultDisplayTile();
    a: {
        $var1 = nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 20) & 65535;
        if ($var1 > 0) {
            nms_Block_$callClinit();
            if ($var1 < nms_Block_blocksList.data.length) {
                var$2 = nms_Block_blocksList.data[$var1];
                break a;
            }
        }
        var$2 = null;
    }
    return var$2;
}
function nms_EntityMinecart_getDefaultDisplayTile($this) {
    return null;
}
function nms_EntityMinecart_getDisplayTileData($this) {
    return !nms_EntityMinecart_hasDisplayTile($this) ? $this.$getDefaultDisplayTileData() : nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 20) >> 16;
}
function nms_EntityMinecart_getDefaultDisplayTileData($this) {
    return 0;
}
function nms_EntityMinecart_getDisplayTileOffset($this) {
    return !nms_EntityMinecart_hasDisplayTile($this) ? $this.$getDefaultDisplayTileOffset() : nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 21);
}
function nms_EntityMinecart_getDefaultDisplayTileOffset($this) {
    return 6;
}
function nms_EntityMinecart_hasDisplayTile($this) {
    return nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 22) != 1 ? 0 : 1;
}
function nms_EntityMinecart_getEntityName($this) {
    return $this.$entityName === null ? nms_Entity_getEntityName($this) : $this.$entityName;
}
function nms_EntityMinecart__clinit_() {
    var var$1, var$2, var$3, var$4, var$5, var$6;
    var$1 = $rt_createArray($rt_arraycls($rt_arraycls($rt_intcls())), 10);
    var$2 = var$1.data;
    var$3 = $rt_createArray($rt_arraycls($rt_intcls()), 2);
    var$4 = var$3.data;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 0;
    var$6[1] = 0;
    var$6[2] = (-1);
    var$4[0] = var$5;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 0;
    var$6[1] = 0;
    var$6[2] = 1;
    var$4[1] = var$5;
    var$2[0] = var$3;
    var$3 = $rt_createArray($rt_arraycls($rt_intcls()), 2);
    var$4 = var$3.data;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = (-1);
    var$6[1] = 0;
    var$6[2] = 0;
    var$4[0] = var$5;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 1;
    var$6[1] = 0;
    var$6[2] = 0;
    var$4[1] = var$5;
    var$2[1] = var$3;
    var$3 = $rt_createArray($rt_arraycls($rt_intcls()), 2);
    var$4 = var$3.data;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = (-1);
    var$6[1] = (-1);
    var$6[2] = 0;
    var$4[0] = var$5;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 1;
    var$6[1] = 0;
    var$6[2] = 0;
    var$4[1] = var$5;
    var$2[2] = var$3;
    var$3 = $rt_createArray($rt_arraycls($rt_intcls()), 2);
    var$4 = var$3.data;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = (-1);
    var$6[1] = 0;
    var$6[2] = 0;
    var$4[0] = var$5;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 1;
    var$6[1] = (-1);
    var$6[2] = 0;
    var$4[1] = var$5;
    var$2[3] = var$3;
    var$3 = $rt_createArray($rt_arraycls($rt_intcls()), 2);
    var$4 = var$3.data;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 0;
    var$6[1] = 0;
    var$6[2] = (-1);
    var$4[0] = var$5;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 0;
    var$6[1] = (-1);
    var$6[2] = 1;
    var$4[1] = var$5;
    var$2[4] = var$3;
    var$3 = $rt_createArray($rt_arraycls($rt_intcls()), 2);
    var$4 = var$3.data;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 0;
    var$6[1] = (-1);
    var$6[2] = (-1);
    var$4[0] = var$5;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 0;
    var$6[1] = 0;
    var$6[2] = 1;
    var$4[1] = var$5;
    var$2[5] = var$3;
    var$6 = $rt_createArray($rt_arraycls($rt_intcls()), 2);
    var$4 = var$6.data;
    var$3 = $rt_createIntArray(3);
    var$5 = var$3.data;
    var$5[0] = 0;
    var$5[1] = 0;
    var$5[2] = 1;
    var$4[0] = var$3;
    var$3 = $rt_createIntArray(3);
    var$5 = var$3.data;
    var$5[0] = 1;
    var$5[1] = 0;
    var$5[2] = 0;
    var$4[1] = var$3;
    var$2[6] = var$6;
    var$3 = $rt_createArray($rt_arraycls($rt_intcls()), 2);
    var$4 = var$3.data;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 0;
    var$6[1] = 0;
    var$6[2] = 1;
    var$4[0] = var$5;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = (-1);
    var$6[1] = 0;
    var$6[2] = 0;
    var$4[1] = var$5;
    var$2[7] = var$3;
    var$3 = $rt_createArray($rt_arraycls($rt_intcls()), 2);
    var$4 = var$3.data;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 0;
    var$6[1] = 0;
    var$6[2] = (-1);
    var$4[0] = var$5;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = (-1);
    var$6[1] = 0;
    var$6[2] = 0;
    var$4[1] = var$5;
    var$2[8] = var$3;
    var$3 = $rt_createArray($rt_arraycls($rt_intcls()), 2);
    var$4 = var$3.data;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 0;
    var$6[1] = 0;
    var$6[2] = (-1);
    var$4[0] = var$5;
    var$5 = $rt_createIntArray(3);
    var$6 = var$5.data;
    var$6[0] = 1;
    var$6[1] = 0;
    var$6[2] = 0;
    var$4[1] = var$5;
    var$2[9] = var$3;
    nms_EntityMinecart_matrix = var$1;
}
function nms_EntityMinecartTNT() {
    nms_EntityMinecart.call(this);
    this.$minecartTNTFuse = 0;
}
function nms_EntityMinecartTNT_getMinecartType($this) {
    return 3;
}
function nms_EntityMinecartTNT_getDefaultDisplayTile($this) {
    nms_Block_$callClinit();
    return nms_Block_tnt;
}
function nms_EntityMinecartTNT_onUpdate($this) {
    var var$1, var$2, var$3, var$4, var$5, $var1, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var1 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityMinecart_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$minecartTNTFuse <= 0)
            return;
        $this.$minecartTNTFuse = $this.$minecartTNTFuse - 1 | 0;
        var$1 = $this.$worldObj;
        var$2 = $rt_s(1166);
        var$3 = $this.$posX;
        var$4 = $this.$posY + 0.5;
        var$5 = $this.$posZ;
        $var1 = 0.0;
        var$7 = 0.0;
        var$8 = 0.0;
        $ptr = 2;
    case 2:
        nms_World_spawnParticle(var$1, var$2, var$3, var$4, var$5, $var1, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $var1, var$7, var$8, $ptr);
}
function nms_EntityMinecartTNT_explodeCart($this, $par1) {
    return;
}
function nms_EntityMinecartTNT_fall($this, $par1) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_Entity_fall($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $ptr);
}
function nms_EntityMinecartTNT_handleHealthUpdate($this, $par1) {
    if ($par1 == 10)
        nms_EntityMinecartTNT_ignite($this);
}
function nms_EntityMinecartTNT_ignite($this) {
    $this.$minecartTNTFuse = 80;
}
function nms_EntityMinecartTNT_func_94104_d($this) {
    return $this.$minecartTNTFuse;
}
function nms_RenderMinecart() {
    var a = this; nms_Render.call(a);
    a.$modelMinecart = null;
    a.$field_94145_f = null;
}
var nms_RenderMinecart_terrain = null;
var nms_RenderMinecart_cart = null;
function nms_RenderMinecart__init_0() {
    var var_0 = new nms_RenderMinecart();
    nms_RenderMinecart__init_(var_0);
    return var_0;
}
function nms_RenderMinecart__init_($this) {
    nms_Render__init_0($this);
    $this.$shadowSize = 0.5;
    $this.$modelMinecart = nms_ModelMinecart__init_0();
    $this.$field_94145_f = nms_RenderBlocks__init_2();
}
function nms_RenderMinecart_renderTheMinecart($this, $par1EntityMinecart, $par2, $par4, $par6, $par8, $par9) {
    var $var10, var$8, $var15, $var17, $var19, $var23, $var24, $var25, $var26, $var27, $var31, $var32, $var33, $var28, $var29, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var29 = $thread.pop();$var28 = $thread.pop();$var33 = $thread.pop();$var32 = $thread.pop();$var31 = $thread.pop();$var27 = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityMinecart = $thread.pop();$this
        = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var10 = Long_mul(Long_fromInt($par1EntityMinecart.$entityId), Long_fromInt(493286711));
        var$8 = Long_add(Long_mul(Long_mul($var10, $var10), new Long(97199825, 1)), Long_mul($var10, Long_fromInt(98761)));
        nleg_EaglerAdapterGL30_glTranslatef(((Long_toNumber(Long_and(Long_shr(var$8, 16), Long_fromInt(7))) + 0.5) / 8.0 - 0.5) * 0.004000000189989805, ((Long_toNumber(Long_and(Long_shr(var$8, 20), Long_fromInt(7))) + 0.5) / 8.0 - 0.5) * 0.004000000189989805, ((Long_toNumber(Long_and(Long_shr(var$8, 24), Long_fromInt(7))) + 0.5) / 8.0 - 0.5) * 0.004000000189989805);
        $var15 = $par1EntityMinecart.$lastTickPosX;
        $var17 = $par1EntityMinecart.$posX - $par1EntityMinecart.$lastTickPosX;
        $var19 = $par9;
        $var15 = $var15 + $var17 * $var19;
        $var17 = $par1EntityMinecart.$lastTickPosY + ($par1EntityMinecart.$posY - $par1EntityMinecart.$lastTickPosY) * $var19;
        $var19 = $par1EntityMinecart.$lastTickPosZ + ($par1EntityMinecart.$posZ - $par1EntityMinecart.$lastTickPosZ) * $var19;
        $var23 = nms_EntityMinecart_func_70489_a($par1EntityMinecart, $var15, $var17, $var19);
        $var24 = $par1EntityMinecart.$prevRotationPitch + ($par1EntityMinecart.$rotationPitch - $par1EntityMinecart.$prevRotationPitch) * $par9;
        if ($var23 !== null) {
            $var25 = nms_EntityMinecart_func_70495_a($par1EntityMinecart, $var15, $var17, $var19, 0.30000001192092896);
            $var26 = nms_EntityMinecart_func_70495_a($par1EntityMinecart, $var15, $var17, $var19, (-0.30000001192092896));
            if ($var25 === null)
                $var25 = $var23;
            if ($var26 === null)
                $var26 = $var23;
            $par2 = $par2 + $var23.$xCoord - $var15;
            $par4 = $par4 + ($var25.$yCoord + $var26.$yCoord) / 2.0 - $var17;
            $par6 = $par6 + $var23.$zCoord - $var19;
            $var27 = nms_Vec3_addVector($var26,  -$var25.$xCoord,  -$var25.$yCoord,  -$var25.$zCoord);
            if (nms_Vec3_lengthVector($var27) !== 0.0) {
                $var23 = nms_Vec3_normalize($var27);
                $par8 = jl_Math_atan2($var23.$zCoord, $var23.$xCoord) * 180.0 / 3.141592653589793;
                $var24 = jl_Math_atan($var23.$yCoord) * 73.0;
            }
        }
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        nleg_EaglerAdapterGL30_glRotatef(180.0 - $par8, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef( -$var24, 0.0, 0.0, 1.0);
        $var31 = nms_EntityMinecart_getRollingAmplitude($par1EntityMinecart) - $par9;
        $var32 = nms_EntityMinecart_getDamage($par1EntityMinecart) - $par9;
        if ($var32 < 0.0)
            $var32 = 0.0;
        if ($var31 > 0.0)
            nleg_EaglerAdapterGL30_glRotatef(nms_MathHelper_sin($var31) * $var31 * $var32 / 10.0 * nms_EntityMinecart_getRollingDirection($par1EntityMinecart), 1.0, 0.0, 0.0);
        $var33 = nms_EntityMinecart_getDisplayTileOffset($par1EntityMinecart);
        $var28 = nms_EntityMinecart_getDisplayTile($par1EntityMinecart);
        $var29 = nms_EntityMinecart_getDisplayTileData($par1EntityMinecart);
        if ($var28 === null) {
            $var23 = nms_RenderMinecart_cart;
            $ptr = 1;
            continue main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var23 = nms_RenderMinecart_terrain;
        $ptr = 2;
        continue main;
    case 1:
        nle_TextureLocation_bindTexture($var23);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glScalef((-1.0), (-1.0), 1.0);
        nms_ModelMinecart_render($this.$modelMinecart, $par1EntityMinecart, 0.0, 0.0, (-0.10000000149011612), 0.0, 0.0, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 2:
        nle_TextureLocation_bindTexture($var23);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, $var33 / 16.0, 0.0);
        $ptr = 3;
    case 3:
        $this.$renderBlockInMinecart($par1EntityMinecart, $par9, $var28, $var29);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var23 = nms_RenderMinecart_cart;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityMinecart, $par2, $par4, $par6, $par8, $par9, $var10, var$8, $var15, $var17, $var19, $var23, $var24, $var25, $var26, $var27, $var31, $var32, $var33, $var28, $var29, $ptr);
}
function nms_RenderMinecart_renderBlockInMinecart($this, $par1EntityMinecart, $par2, $par3Block, $par4) {
    var $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3Block = $thread.pop();$par2 = $thread.pop();$par1EntityMinecart = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = nms_Entity_getBrightness($par1EntityMinecart, $par2);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_flipLightMatrix();
        $par1EntityMinecart = $this.$field_94145_f;
        $ptr = 1;
    case 1:
        nms_RenderBlocks_renderBlockAsItem($par1EntityMinecart, $par3Block, $par4, $var5);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityMinecart, $par2, $par3Block, $par4, $var5, $ptr);
}
function nms_RenderMinecart_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderMinecart_renderTheMinecart($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderMinecart__clinit_() {
    nms_RenderMinecart_terrain = nle_TextureLocation__init_($rt_s(985));
    nms_RenderMinecart_cart = nle_TextureLocation__init_($rt_s(1877));
}
function nms_RenderTntMinecart() {
    nms_RenderMinecart.call(this);
}
function nms_RenderTntMinecart__init_0() {
    var var_0 = new nms_RenderTntMinecart();
    nms_RenderTntMinecart__init_(var_0);
    return var_0;
}
function nms_RenderTntMinecart__init_($this) {
    nms_RenderMinecart__init_($this);
}
function nms_RenderTntMinecart_func_94146_a($this, $par1EntityMinecartTNT, $par2, $par3Block, $par4) {
    var $var5, var$6, $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3Block = $thread.pop();$par2 = $thread.pop();$par1EntityMinecartTNT = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $par1EntityMinecartTNT.$minecartTNTFuse;
        var$6 = $rt_compare($var5, (-1));
        if (var$6 > 0) {
            $var6 = $var5 - $par2 + 1.0;
            if ($var6 < 10.0) {
                $var6 = 1.0 - $var6 / 10.0;
                if ($var6 < 0.0)
                    $var6 = 0.0;
                if ($var6 > 1.0)
                    $var6 = 1.0;
                $var6 = $var6 * $var6;
                $var7 = 1.0 + $var6 * $var6 * 0.30000001192092896;
                nleg_EaglerAdapterGL30_glScalef($var7, $var7, $var7);
            }
        }
        $ptr = 1;
    case 1:
        nms_RenderMinecart_renderBlockInMinecart($this, $par1EntityMinecartTNT, $par2, $par3Block, $par4);
        if ($rt_suspending()) {
            break main;
        }
        if (var$6 > 0 && !(($var5 / 5 | 0) % 2 | 0)) {
            nleg_EaglerAdapterGL30_glDisable(3553);
            nleg_EaglerAdapterGL30_glDisable(2896);
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glBlendFunc(770, 772);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, (1.0 - ($var5 - $par2 + 1.0) / 100.0) * 0.800000011920929);
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_flipLightMatrix();
            $par1EntityMinecartTNT = $this.$field_94145_f;
            nms_Block_$callClinit();
            $par3Block = nms_Block_tnt;
            $par4 = 0;
            $par2 = 1.0;
            $ptr = 2;
            continue main;
        }
        return;
    case 2:
        nms_RenderBlocks_renderBlockAsItem($par1EntityMinecartTNT, $par3Block, $par4, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_flipLightMatrix();
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(3553);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityMinecartTNT, $par2, $par3Block, $par4, $var5, var$6, $var6, $var7, $ptr);
}
function nms_RenderTntMinecart_renderBlockInMinecart($this, $par1EntityMinecart, $par2, $par3Block, $par4) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par4 = $thread.pop();$par3Block = $thread.pop();$par2 = $thread.pop();$par1EntityMinecart = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityMinecart = $par1EntityMinecart;
        $ptr = 1;
    case 1:
        nms_RenderTntMinecart_func_94146_a($this, $par1EntityMinecart, $par2, $par3Block, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityMinecart, $par2, $par3Block, $par4, $ptr);
}
function nms_EntityMinecartMobSpawner() {
    nms_EntityMinecart.call(this);
}
function nms_EntityMinecartMobSpawner_getMinecartType($this) {
    return 4;
}
function nms_EntityMinecartMobSpawner_getDefaultDisplayTile($this) {
    nms_Block_$callClinit();
    return nms_Block_mobSpawner;
}
function nms_EntityMinecartMobSpawner_onUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityMinecart_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_RenderMinecartMobSpawner() {
    nms_RenderMinecart.call(this);
}
function nms_RenderMinecartMobSpawner__init_0() {
    var var_0 = new nms_RenderMinecartMobSpawner();
    nms_RenderMinecartMobSpawner__init_(var_0);
    return var_0;
}
function nms_RenderMinecartMobSpawner__init_($this) {
    nms_RenderMinecart__init_($this);
}
function nms_RenderMinecartMobSpawner_func_98192_a($this, $par1EntityMinecartMobSpawner, $par2, $par3Block, $par4) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par4 = $thread.pop();$par3Block = $thread.pop();$par2 = $thread.pop();$par1EntityMinecartMobSpawner = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_RenderMinecart_renderBlockInMinecart($this, $par1EntityMinecartMobSpawner, $par2, $par3Block, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityMinecartMobSpawner, $par2, $par3Block, $par4, $ptr);
}
function nms_RenderMinecartMobSpawner_renderBlockInMinecart($this, $par1EntityMinecart, $par2, $par3Block, $par4) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par4 = $thread.pop();$par3Block = $thread.pop();$par2 = $thread.pop();$par1EntityMinecart = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1EntityMinecart = $par1EntityMinecart;
        $ptr = 1;
    case 1:
        nms_RenderMinecart_renderBlockInMinecart($this, $par1EntityMinecart, $par2, $par3Block, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityMinecart, $par2, $par3Block, $par4, $ptr);
}
function nms_EntityBoat() {
    var a = this; nms_Entity.call(a);
    a.$field_70279_a = 0;
    a.$speedMultiplier = 0.0;
    a.$boatPosRotationIncrements = 0;
    a.$boatX = 0.0;
    a.$boatY = 0.0;
    a.$boatZ = 0.0;
    a.$boatYaw = 0.0;
    a.$boatPitch = 0.0;
    a.$velocityX0 = 0.0;
    a.$velocityY0 = 0.0;
    a.$velocityZ0 = 0.0;
}
function nms_EntityBoat__init_0() {
    var var_0 = new nms_EntityBoat();
    nms_EntityBoat__init_(var_0);
    return var_0;
}
function nms_EntityBoat__init_1(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityBoat();
    nms_EntityBoat__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_EntityBoat__init_($this) {
    nms_Entity__init_0($this);
    $this.$field_70279_a = 1;
    $this.$speedMultiplier = 0.07;
    $this.$preventEntitySpawning = 1;
    nms_Entity_setSize($this, 1.5, 0.6000000238418579);
    $this.$yOffset = $this.$height0 / 2.0;
}
function nms_EntityBoat_canTriggerWalking($this) {
    return 0;
}
function nms_EntityBoat_entityInit($this) {
    nms_DataWatcher_addObject($this.$dataWatcher, 17, jl_Integer__init_(0));
    nms_DataWatcher_addObject($this.$dataWatcher, 18, jl_Integer__init_(1));
    nms_DataWatcher_addObject($this.$dataWatcher, 19, jl_Integer__init_(0));
}
function nms_EntityBoat_getCollisionBox($this, $par1Entity) {
    return $par1Entity.$boundingBox;
}
function nms_EntityBoat_getBoundingBox($this) {
    return $this.$boundingBox;
}
function nms_EntityBoat_canBePushed($this) {
    return 1;
}
function nms_EntityBoat__init_2($this, $par1World, $par2, $par4, $par6) {
    nms_EntityBoat__init_($this);
    nms_Entity_setWorld($this, $par1World);
    nms_Entity_setPosition($this, $par2, $par4 + $this.$yOffset, $par6);
    $this.$motionX = 0.0;
    $this.$motionY = 0.0;
    $this.$motionZ = 0.0;
    $this.$prevPosX = $par2;
    $this.$prevPosY = $par4;
    $this.$prevPosZ = $par6;
}
function nms_EntityBoat_getMountedYOffset($this) {
    return $this.$height0 * 0.0 - 0.30000001192092896;
}
function nms_EntityBoat_attackEntityFrom($this, $par1DamageSource, $par2) {
    if (!$this.$invulnerable)
        return 1;
    return 0;
}
function nms_EntityBoat_performHurtAnimation($this) {
    nms_EntityBoat_setForwardDirection($this,  -nms_EntityBoat_getForwardDirection($this));
    nms_EntityBoat_setTimeSinceHit($this, 10);
    nms_EntityBoat_setDamageTaken($this, nms_EntityBoat_getDamageTaken($this) * 11 | 0);
}
function nms_EntityBoat_canBeCollidedWith($this) {
    return $this.$isDead ? 0 : 1;
}
function nms_EntityBoat_setPositionAndRotation2($this, $par1, $par3, $par5, $par7, $par8, $par9) {
    var $var10, $var12, $var14;
    if ($this.$field_70279_a)
        $this.$boatPosRotationIncrements = $par9 + 5 | 0;
    else {
        $var10 = $par1 - $this.$posX;
        $var12 = $par3 - $this.$posY;
        $var14 = $par5 - $this.$posZ;
        if ($var10 * $var10 + $var12 * $var12 + $var14 * $var14 <= 1.0)
            return;
        $this.$boatPosRotationIncrements = 3;
    }
    $this.$boatX = $par1;
    $this.$boatY = $par3;
    $this.$boatZ = $par5;
    $this.$boatYaw = $par7;
    $this.$boatPitch = $par8;
    $this.$motionX = $this.$velocityX0;
    $this.$motionY = $this.$velocityY0;
    $this.$motionZ = $this.$velocityZ0;
}
function nms_EntityBoat_setVelocity($this, $par1, $par3, $par5) {
    $this.$motionX = $par1;
    $this.$velocityX0 = $par1;
    $this.$motionY = $par3;
    $this.$velocityY0 = $par3;
    $this.$motionZ = $par5;
    $this.$velocityZ0 = $par5;
}
function nms_EntityBoat_onUpdate($this) {
    var $var2, $var4, $var5, $var23, $var15, $var7, $var9, var$8, $var6, $var8, $var10, $var25, $var11, $var13, $var15_0, $var17, $var17_0, $var6_0, $var12, $var14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var6_0 = $thread.pop();$var17_0 = $thread.pop();$var17 = $thread.pop();$var15_0 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var25 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();var$8 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var15 = $thread.pop();$var23 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_Entity_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_EntityBoat_getTimeSinceHit($this) > 0)
            nms_EntityBoat_setTimeSinceHit($this, nms_EntityBoat_getTimeSinceHit($this) - 1 | 0);
        if (nms_EntityBoat_getDamageTaken($this) > 0)
            nms_EntityBoat_setDamageTaken($this, nms_EntityBoat_getDamageTaken($this) - 1 | 0);
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        $var2 = 0.0;
        $var4 = 0;
        while ($var4 < 5) {
            $var5 = $this.$boundingBox.$minY + ($this.$boundingBox.$maxY - $this.$boundingBox.$minY) * ($var4 + 0 | 0) / 5.0 - 0.125;
            $var23 = $this.$boundingBox.$minY;
            $var15 = $this.$boundingBox.$maxY - $this.$boundingBox.$minY;
            $var4 = $var4 + 1 | 0;
            $var7 = $var23 + $var15 * $var4 / 5.0 - 0.125;
            $var9 = nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $this.$boundingBox.$minX, $var5, $this.$boundingBox.$minZ, $this.$boundingBox.$maxX, $var7, $this.$boundingBox.$maxZ);
            var$8 = $this.$worldObj;
            nms_Material_$callClinit();
            if (nms_World_isAABBInMaterial(var$8, $var9, nms_Material_water))
                $var2 = $var2 + 0.2;
        }
        $var23 = jl_Math_sqrt($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        if ($var23 > 0.26249999999999996) {
            $var6 = jl_Math_cos($this.$rotationYaw * 3.141592653589793 / 180.0);
            $var8 = jl_Math_sin($this.$rotationYaw * 3.141592653589793 / 180.0);
            $var10 = 0;
            $var25 = 1.0 + $var23 * 60.0;
            if ($var10 < $var25) {
                $var11 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0;
                $var13 = ((nle_EaglercraftRandom_nextInt($this.$rand0, 2) * 2 | 0) - 1 | 0) * 0.7;
                if (!nle_EaglercraftRandom_nextBoolean($this.$rand0)) {
                    $var15_0 = $this.$posX + $var6 + $var8 * $var11 * 0.7;
                    $var17 = $this.$posZ + $var8 - $var6 * $var11 * 0.7;
                    $var9 = $this.$worldObj;
                    var$8 = $rt_s(1018);
                    $var15 = $this.$posY - 0.125;
                    $var17_0 = $this.$motionX;
                    $var6_0 = $this.$motionY;
                    $var11 = $this.$motionZ;
                    $ptr = 2;
                    continue main;
                }
                $var15 = $this.$posX - $var6 * $var11 * 0.8 + $var8 * $var13;
                $var17_0 = $this.$posZ - $var8 * $var11 * 0.8 - $var6 * $var13;
                $var9 = $this.$worldObj;
                var$8 = $rt_s(1018);
                $var6_0 = $this.$posY - 0.125;
                $var11 = $this.$motionX;
                $var15_0 = $this.$motionY;
                $var17 = $this.$motionZ;
                $ptr = 3;
                continue main;
            }
        }
        if ($this.$field_70279_a) {
            if ($this.$boatPosRotationIncrements <= 0) {
                nms_Entity_setPosition($this, $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
                if ($this.$onGround) {
                    $this.$motionX = $this.$motionX * 0.5;
                    $this.$motionY = $this.$motionY * 0.5;
                    $this.$motionZ = $this.$motionZ * 0.5;
                }
                $this.$motionX = $this.$motionX * 0.9900000095367432;
                $this.$motionY = $this.$motionY * 0.949999988079071;
                $this.$motionZ = $this.$motionZ * 0.9900000095367432;
            } else {
                $var6_0 = $this.$posX + ($this.$boatX - $this.$posX) / $this.$boatPosRotationIncrements;
                $var8 = $this.$posY + ($this.$boatY - $this.$posY) / $this.$boatPosRotationIncrements;
                $var25 = $this.$posZ + ($this.$boatZ - $this.$posZ) / $this.$boatPosRotationIncrements;
                $var12 = nms_MathHelper_wrapAngleTo180_double($this.$boatYaw - $this.$rotationYaw);
                $this.$rotationYaw = $this.$rotationYaw + $var12 / $this.$boatPosRotationIncrements;
                $this.$rotationPitch = $this.$rotationPitch + ($this.$boatPitch - $this.$rotationPitch) / $this.$boatPosRotationIncrements;
                $this.$boatPosRotationIncrements = $this.$boatPosRotationIncrements - 1 | 0;
                nms_Entity_setPosition($this, $var6_0, $var8, $var25);
                nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            }
            return;
        }
        if ($var2 < 1.0) {
            $var6_0 = $var2 * 2.0 - 1.0;
            $this.$motionY = $this.$motionY + 0.03999999910593033 * $var6_0;
        } else {
            if ($this.$motionY < 0.0)
                $this.$motionY = $this.$motionY / 2.0;
            $this.$motionY = $this.$motionY + 0.007000000216066837;
        }
        if ($this.$riddenByEntity !== null) {
            $this.$motionX = $this.$motionX + $this.$riddenByEntity.$motionX * $this.$speedMultiplier;
            $this.$motionZ = $this.$motionZ + $this.$riddenByEntity.$motionZ * $this.$speedMultiplier;
        }
        $var6_0 = jl_Math_sqrt($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        if ($var6_0 > 0.35) {
            $var8 = 0.35 / $var6_0;
            $this.$motionX = $this.$motionX * $var8;
            $this.$motionZ = $this.$motionZ * $var8;
            $var6_0 = 0.35;
        }
        if (!($var6_0 > $var23 && $this.$speedMultiplier < 0.35)) {
            $this.$speedMultiplier = $this.$speedMultiplier - ($this.$speedMultiplier - 0.07) / 35.0;
            if ($this.$speedMultiplier < 0.07)
                $this.$speedMultiplier = 0.07;
        } else {
            $this.$speedMultiplier = $this.$speedMultiplier + (0.35 - $this.$speedMultiplier) / 35.0;
            if ($this.$speedMultiplier > 0.35)
                $this.$speedMultiplier = 0.35;
        }
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.5;
            $this.$motionY = $this.$motionY * 0.5;
            $this.$motionZ = $this.$motionZ * 0.5;
        }
        $var2 = $this.$motionX;
        $var15 = $this.$motionY;
        $var17_0 = $this.$motionZ;
        $ptr = 4;
        continue main;
    case 2:
        nms_World_spawnParticle($var9, var$8, $var15_0, $var15, $var17, $var17_0, $var6_0, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $var10 + 1 | 0;
        if ($var10 < $var25) {
            $var11 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0;
            $var13 = ((nle_EaglercraftRandom_nextInt($this.$rand0, 2) * 2 | 0) - 1 | 0) * 0.7;
            if (!nle_EaglercraftRandom_nextBoolean($this.$rand0)) {
                $var15_0 = $this.$posX + $var6 + $var8 * $var11 * 0.7;
                $var17 = $this.$posZ + $var8 - $var6 * $var11 * 0.7;
                $var9 = $this.$worldObj;
                var$8 = $rt_s(1018);
                $var15 = $this.$posY - 0.125;
                $var17_0 = $this.$motionX;
                $var6_0 = $this.$motionY;
                $var11 = $this.$motionZ;
                continue main;
            }
            $var15 = $this.$posX - $var6 * $var11 * 0.8 + $var8 * $var13;
            $var17_0 = $this.$posZ - $var8 * $var11 * 0.8 - $var6 * $var13;
            $var9 = $this.$worldObj;
            var$8 = $rt_s(1018);
            $var6_0 = $this.$posY - 0.125;
            $var11 = $this.$motionX;
            $var15_0 = $this.$motionY;
            $var17 = $this.$motionZ;
            $ptr = 3;
            continue main;
        }
        if ($this.$field_70279_a) {
            if ($this.$boatPosRotationIncrements <= 0) {
                nms_Entity_setPosition($this, $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
                if ($this.$onGround) {
                    $this.$motionX = $this.$motionX * 0.5;
                    $this.$motionY = $this.$motionY * 0.5;
                    $this.$motionZ = $this.$motionZ * 0.5;
                }
                $this.$motionX = $this.$motionX * 0.9900000095367432;
                $this.$motionY = $this.$motionY * 0.949999988079071;
                $this.$motionZ = $this.$motionZ * 0.9900000095367432;
            } else {
                $var6_0 = $this.$posX + ($this.$boatX - $this.$posX) / $this.$boatPosRotationIncrements;
                $var8 = $this.$posY + ($this.$boatY - $this.$posY) / $this.$boatPosRotationIncrements;
                $var25 = $this.$posZ + ($this.$boatZ - $this.$posZ) / $this.$boatPosRotationIncrements;
                $var12 = nms_MathHelper_wrapAngleTo180_double($this.$boatYaw - $this.$rotationYaw);
                $this.$rotationYaw = $this.$rotationYaw + $var12 / $this.$boatPosRotationIncrements;
                $this.$rotationPitch = $this.$rotationPitch + ($this.$boatPitch - $this.$rotationPitch) / $this.$boatPosRotationIncrements;
                $this.$boatPosRotationIncrements = $this.$boatPosRotationIncrements - 1 | 0;
                nms_Entity_setPosition($this, $var6_0, $var8, $var25);
                nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            }
            return;
        }
        if ($var2 < 1.0) {
            $var6_0 = $var2 * 2.0 - 1.0;
            $this.$motionY = $this.$motionY + 0.03999999910593033 * $var6_0;
        } else {
            if ($this.$motionY < 0.0)
                $this.$motionY = $this.$motionY / 2.0;
            $this.$motionY = $this.$motionY + 0.007000000216066837;
        }
        if ($this.$riddenByEntity !== null) {
            $this.$motionX = $this.$motionX + $this.$riddenByEntity.$motionX * $this.$speedMultiplier;
            $this.$motionZ = $this.$motionZ + $this.$riddenByEntity.$motionZ * $this.$speedMultiplier;
        }
        $var6_0 = jl_Math_sqrt($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        if ($var6_0 > 0.35) {
            $var8 = 0.35 / $var6_0;
            $this.$motionX = $this.$motionX * $var8;
            $this.$motionZ = $this.$motionZ * $var8;
            $var6_0 = 0.35;
        }
        if (!($var6_0 > $var23 && $this.$speedMultiplier < 0.35)) {
            $this.$speedMultiplier = $this.$speedMultiplier - ($this.$speedMultiplier - 0.07) / 35.0;
            if ($this.$speedMultiplier < 0.07)
                $this.$speedMultiplier = 0.07;
        } else {
            $this.$speedMultiplier = $this.$speedMultiplier + (0.35 - $this.$speedMultiplier) / 35.0;
            if ($this.$speedMultiplier > 0.35)
                $this.$speedMultiplier = 0.35;
        }
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.5;
            $this.$motionY = $this.$motionY * 0.5;
            $this.$motionZ = $this.$motionZ * 0.5;
        }
        $var2 = $this.$motionX;
        $var15 = $this.$motionY;
        $var17_0 = $this.$motionZ;
        $ptr = 4;
        continue main;
    case 3:
        nms_World_spawnParticle($var9, var$8, $var15, $var6_0, $var17_0, $var11, $var15_0, $var17);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $var10 + 1 | 0;
        if ($var10 < $var25) {
            $var11 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0;
            $var13 = ((nle_EaglercraftRandom_nextInt($this.$rand0, 2) * 2 | 0) - 1 | 0) * 0.7;
            if (!nle_EaglercraftRandom_nextBoolean($this.$rand0)) {
                $var15_0 = $this.$posX + $var6 + $var8 * $var11 * 0.7;
                $var17 = $this.$posZ + $var8 - $var6 * $var11 * 0.7;
                $var9 = $this.$worldObj;
                var$8 = $rt_s(1018);
                $var15 = $this.$posY - 0.125;
                $var17_0 = $this.$motionX;
                $var6_0 = $this.$motionY;
                $var11 = $this.$motionZ;
                $ptr = 2;
                continue main;
            }
            $var15 = $this.$posX - $var6 * $var11 * 0.8 + $var8 * $var13;
            $var17_0 = $this.$posZ - $var8 * $var11 * 0.8 - $var6 * $var13;
            $var9 = $this.$worldObj;
            var$8 = $rt_s(1018);
            $var6_0 = $this.$posY - 0.125;
            $var11 = $this.$motionX;
            $var15_0 = $this.$motionY;
            $var17 = $this.$motionZ;
            continue main;
        }
        if ($this.$field_70279_a) {
            if ($this.$boatPosRotationIncrements <= 0) {
                nms_Entity_setPosition($this, $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
                if ($this.$onGround) {
                    $this.$motionX = $this.$motionX * 0.5;
                    $this.$motionY = $this.$motionY * 0.5;
                    $this.$motionZ = $this.$motionZ * 0.5;
                }
                $this.$motionX = $this.$motionX * 0.9900000095367432;
                $this.$motionY = $this.$motionY * 0.949999988079071;
                $this.$motionZ = $this.$motionZ * 0.9900000095367432;
            } else {
                $var6_0 = $this.$posX + ($this.$boatX - $this.$posX) / $this.$boatPosRotationIncrements;
                $var8 = $this.$posY + ($this.$boatY - $this.$posY) / $this.$boatPosRotationIncrements;
                $var25 = $this.$posZ + ($this.$boatZ - $this.$posZ) / $this.$boatPosRotationIncrements;
                $var12 = nms_MathHelper_wrapAngleTo180_double($this.$boatYaw - $this.$rotationYaw);
                $this.$rotationYaw = $this.$rotationYaw + $var12 / $this.$boatPosRotationIncrements;
                $this.$rotationPitch = $this.$rotationPitch + ($this.$boatPitch - $this.$rotationPitch) / $this.$boatPosRotationIncrements;
                $this.$boatPosRotationIncrements = $this.$boatPosRotationIncrements - 1 | 0;
                nms_Entity_setPosition($this, $var6_0, $var8, $var25);
                nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            }
            return;
        }
        if ($var2 < 1.0) {
            $var6_0 = $var2 * 2.0 - 1.0;
            $this.$motionY = $this.$motionY + 0.03999999910593033 * $var6_0;
        } else {
            if ($this.$motionY < 0.0)
                $this.$motionY = $this.$motionY / 2.0;
            $this.$motionY = $this.$motionY + 0.007000000216066837;
        }
        if ($this.$riddenByEntity !== null) {
            $this.$motionX = $this.$motionX + $this.$riddenByEntity.$motionX * $this.$speedMultiplier;
            $this.$motionZ = $this.$motionZ + $this.$riddenByEntity.$motionZ * $this.$speedMultiplier;
        }
        $var6_0 = jl_Math_sqrt($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        if ($var6_0 > 0.35) {
            $var8 = 0.35 / $var6_0;
            $this.$motionX = $this.$motionX * $var8;
            $this.$motionZ = $this.$motionZ * $var8;
            $var6_0 = 0.35;
        }
        if (!($var6_0 > $var23 && $this.$speedMultiplier < 0.35)) {
            $this.$speedMultiplier = $this.$speedMultiplier - ($this.$speedMultiplier - 0.07) / 35.0;
            if ($this.$speedMultiplier < 0.07)
                $this.$speedMultiplier = 0.07;
        } else {
            $this.$speedMultiplier = $this.$speedMultiplier + (0.35 - $this.$speedMultiplier) / 35.0;
            if ($this.$speedMultiplier > 0.35)
                $this.$speedMultiplier = 0.35;
        }
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.5;
            $this.$motionY = $this.$motionY * 0.5;
            $this.$motionZ = $this.$motionZ * 0.5;
        }
        $var2 = $this.$motionX;
        $var15 = $this.$motionY;
        $var17_0 = $this.$motionZ;
        $ptr = 4;
    case 4:
        nms_Entity_moveEntity($this, $var2, $var15, $var17_0);
        if ($rt_suspending()) {
            break main;
        }
        if (!($this.$isCollidedHorizontally && $var23 > 0.2)) {
            $this.$motionX = $this.$motionX * 0.9900000095367432;
            $this.$motionY = $this.$motionY * 0.949999988079071;
            $this.$motionZ = $this.$motionZ * 0.9900000095367432;
        }
        $this.$rotationPitch = 0.0;
        $var8 = $this.$rotationYaw;
        $var25 = $this.$prevPosX - $this.$posX;
        $var12 = $this.$prevPosZ - $this.$posZ;
        if ($var25 * $var25 + $var12 * $var12 > 0.001)
            $var8 = jl_Math_atan2($var12, $var25) * 180.0 / 3.141592653589793;
        $var14 = nms_MathHelper_wrapAngleTo180_double($var8 - $this.$rotationYaw);
        if ($var14 > 20.0)
            $var14 = 20.0;
        if ($var14 < (-20.0))
            $var14 = (-20.0);
        $this.$rotationYaw = $this.$rotationYaw + $var14;
        nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var2, $var4, $var5, $var23, $var15, $var7, $var9, var$8, $var6, $var8, $var10, $var25, $var11, $var13, $var15_0, $var17, $var17_0, $var6_0, $var12, $var14, $ptr);
}
function nms_EntityBoat_updateRiderPosition($this) {
    var $var1, $var3;
    if ($this.$riddenByEntity !== null) {
        $var1 = jl_Math_cos($this.$rotationYaw * 3.141592653589793 / 180.0) * 0.4;
        $var3 = jl_Math_sin($this.$rotationYaw * 3.141592653589793 / 180.0) * 0.4;
        nms_Entity_setPosition($this.$riddenByEntity, $this.$posX + $var1, $this.$posY + nms_EntityBoat_getMountedYOffset($this) + $this.$riddenByEntity.$getYOffset(), $this.$posZ + $var3);
    }
}
function nms_EntityBoat_getShadowSize($this) {
    return 0.0;
}
function nms_EntityBoat_interact($this, $par1EntityPlayer) {
    return 1;
}
function nms_EntityBoat_setDamageTaken($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 19, jl_Integer_valueOf($par1));
}
function nms_EntityBoat_getDamageTaken($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 19);
}
function nms_EntityBoat_setTimeSinceHit($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 17, jl_Integer_valueOf($par1));
}
function nms_EntityBoat_getTimeSinceHit($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 17);
}
function nms_EntityBoat_setForwardDirection($this, $par1) {
    nms_DataWatcher_updateObject($this.$dataWatcher, 18, jl_Integer_valueOf($par1));
}
function nms_EntityBoat_getForwardDirection($this) {
    return nms_DataWatcher_getWatchableObjectInt($this.$dataWatcher, 18);
}
function nms_EntityBoat_func_70270_d($this, $par1) {
    $this.$field_70279_a = $par1;
}
function nms_RenderBoat() {
    nms_Render.call(this);
    this.$modelBoat = null;
}
var nms_RenderBoat_tex = null;
function nms_RenderBoat__init_0() {
    var var_0 = new nms_RenderBoat();
    nms_RenderBoat__init_(var_0);
    return var_0;
}
function nms_RenderBoat__init_($this) {
    nms_Render__init_0($this);
    $this.$shadowSize = 0.5;
    $this.$modelBoat = nms_ModelBoat__init_0();
}
function nms_RenderBoat_renderBoat($this, $par1EntityBoat, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var11, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityBoat = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        nleg_EaglerAdapterGL30_glRotatef(180.0 - $par8, 0.0, 1.0, 0.0);
        $var10 = nms_EntityBoat_getTimeSinceHit($par1EntityBoat) - $par9;
        $var11 = nms_EntityBoat_getDamageTaken($par1EntityBoat) - $par9;
        if ($var11 < 0.0)
            $var11 = 0.0;
        if ($var10 > 0.0)
            nleg_EaglerAdapterGL30_glRotatef(nms_MathHelper_sin($var10) * $var10 * $var11 / 10.0 * nms_EntityBoat_getForwardDirection($par1EntityBoat), 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        nleg_EaglerAdapterGL30_glScalef(1.3333333730697632, 1.3333333730697632, 1.3333333730697632);
        var$9 = nms_RenderBoat_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$9);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glScalef((-1.0), (-1.0), 1.0);
        nms_ModelBoat_render($this.$modelBoat, $par1EntityBoat, 0.0, 0.0, (-0.10000000149011612), 0.0, 0.0, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityBoat, $par2, $par4, $par6, $par8, $par9, $var10, $var11, var$9, $ptr);
}
function nms_RenderBoat_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderBoat_renderBoat($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderBoat__clinit_() {
    nms_RenderBoat_tex = nle_TextureLocation__init_($rt_s(1878));
}
function nms_EntityFishHook() {
    var a = this; nms_Entity.call(a);
    a.$xTile2 = 0;
    a.$yTile2 = 0;
    a.$zTile2 = 0;
    a.$inTile2 = 0;
    a.$inGround2 = 0;
    a.$shake = 0;
    a.$angler = null;
    a.$ticksInGround1 = 0;
    a.$ticksInAir2 = 0;
    a.$ticksCatchable = 0;
    a.$bobber = null;
    a.$fishPosRotationIncrements = 0;
    a.$fishX = 0.0;
    a.$fishY = 0.0;
    a.$fishZ = 0.0;
    a.$fishYaw = 0.0;
    a.$fishPitch = 0.0;
    a.$velocityX1 = 0.0;
    a.$velocityY1 = 0.0;
    a.$velocityZ1 = 0.0;
}
function nms_EntityFishHook__init_0() {
    var var_0 = new nms_EntityFishHook();
    nms_EntityFishHook__init_(var_0);
    return var_0;
}
function nms_EntityFishHook__init_1(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityFishHook();
    nms_EntityFishHook__init_2(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_EntityFishHook__init_($this) {
    nms_Entity__init_0($this);
    $this.$xTile2 = (-1);
    $this.$yTile2 = (-1);
    $this.$zTile2 = (-1);
    $this.$inTile2 = 0;
    $this.$inGround2 = 0;
    $this.$shake = 0;
    $this.$ticksInAir2 = 0;
    $this.$ticksCatchable = 0;
    $this.$bobber = null;
    nms_Entity_setSize($this, 0.25, 0.25);
    $this.$ignoreFrustumCheck = 1;
}
function nms_EntityFishHook__init_2($this, $par1World, $par2, $par4, $par6, $par8EntityPlayer) {
    nms_EntityFishHook__init_($this);
    nms_Entity_setWorld($this, $par1World);
    nms_Entity_setPosition($this, $par2, $par4, $par6);
    $this.$ignoreFrustumCheck = 1;
    $this.$angler = $par8EntityPlayer;
    $par8EntityPlayer.$fishEntity = $this;
}
function nms_EntityFishHook_entityInit($this) {
    return;
}
function nms_EntityFishHook_isInRangeToRenderDist($this, $par1) {
    var $var3;
    $var3 = nms_AxisAlignedBB_getAverageEdgeLength($this.$boundingBox) * 4.0 * 64.0;
    return $par1 >= $var3 * $var3 ? 0 : 1;
}
function nms_EntityFishHook_setPositionAndRotation2($this, $par1, $par3, $par5, $par7, $par8, $par9) {
    $this.$fishX = $par1;
    $this.$fishY = $par3;
    $this.$fishZ = $par5;
    $this.$fishYaw = $par7;
    $this.$fishPitch = $par8;
    $this.$fishPosRotationIncrements = $par9;
    $this.$motionX = $this.$velocityX1;
    $this.$motionY = $this.$velocityY1;
    $this.$motionZ = $this.$velocityZ1;
}
function nms_EntityFishHook_setVelocity($this, $par1, $par3, $par5) {
    $this.$motionX = $par1;
    $this.$velocityX1 = $par1;
    $this.$motionY = $par3;
    $this.$velocityY1 = $par3;
    $this.$motionZ = $par5;
    $this.$velocityZ1 = $par5;
}
function nms_EntityFishHook_onUpdate($this) {
    var $var21, $var22, $var23, $var7, $var20, $var2, $var3, $var4, $var5, $var6, $var8, $var9, $var12, $var13, $var19, $var16, $var24, $var25, $var27, $var28, $var14, $var18, $var29, $var30, $var15, $var31, $var17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var17 = $thread.pop();$var31 = $thread.pop();$var15 = $thread.pop();$var30 = $thread.pop();$var29 = $thread.pop();$var18 = $thread.pop();$var14 = $thread.pop();$var28 = $thread.pop();$var27 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var16 = $thread.pop();$var19 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 =
        $thread.pop();$var20 = $thread.pop();$var7 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_Entity_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$fishPosRotationIncrements > 0) {
            $var21 = $this.$posX + ($this.$fishX - $this.$posX) / $this.$fishPosRotationIncrements;
            $var22 = $this.$posY + ($this.$fishY - $this.$posY) / $this.$fishPosRotationIncrements;
            $var23 = $this.$posZ + ($this.$fishZ - $this.$posZ) / $this.$fishPosRotationIncrements;
            $var7 = nms_MathHelper_wrapAngleTo180_double($this.$fishYaw - $this.$rotationYaw);
            $this.$rotationYaw = $this.$rotationYaw + $var7 / $this.$fishPosRotationIncrements;
            $this.$rotationPitch = $this.$rotationPitch + ($this.$fishPitch - $this.$rotationPitch) / $this.$fishPosRotationIncrements;
            $this.$fishPosRotationIncrements = $this.$fishPosRotationIncrements - 1 | 0;
            nms_Entity_setPosition($this, $var21, $var22, $var23);
            nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
            return;
        }
        if ($this.$shake > 0)
            $this.$shake = $this.$shake - 1 | 0;
        if (!$this.$inGround2)
            $this.$ticksInAir2 = $this.$ticksInAir2 + 1 | 0;
        else {
            if (nms_World_getBlockId($this.$worldObj, $this.$xTile2, $this.$yTile2, $this.$zTile2) == $this.$inTile2) {
                $this.$ticksInGround1 = $this.$ticksInGround1 + 1 | 0;
                if ($this.$ticksInGround1 != 1200)
                    return;
                $ptr = 3;
                continue main;
            }
            $this.$inGround2 = 0;
            $this.$motionX = $this.$motionX * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$motionY = $this.$motionY * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$motionZ = $this.$motionZ * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $this.$ticksInGround1 = 0;
            $this.$ticksInAir2 = 0;
        }
        $var20 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX, $this.$posY, $this.$posZ);
        $var2 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
        $var3 = $this.$worldObj;
        $ptr = 2;
    case 2:
        $tmp = nms_World_rayTraceBlocks($var3, $var20, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $tmp;
        $var20 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX, $this.$posY, $this.$posZ);
        $var2 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $this.$posX + $this.$motionX, $this.$posY + $this.$motionY, $this.$posZ + $this.$motionZ);
        if ($var3 !== null)
            $var2 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj), $var3.$hitVec.$xCoord, $var3.$hitVec.$yCoord, $var3.$hitVec.$zCoord);
        $var4 = null;
        $var5 = nms_World_getEntitiesWithinAABBExcludingEntity($this.$worldObj, $this, nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($this.$boundingBox, $this.$motionX, $this.$motionY, $this.$motionZ), 1.0, 1.0, 1.0));
        $var6 = 0.0;
        $var8 = 0;
        while ($var8 < ju_ArrayList_size($var5)) {
            $var9 = ju_ArrayList_get($var5, $var8);
            if ($var9.$canBeCollidedWith() && !($var9 === $this.$angler && $this.$ticksInAir2 < 5)) {
                $var12 = nms_AxisAlignedBB_calculateIntercept(nms_AxisAlignedBB_expand($var9.$boundingBox, 0.30000001192092896, 0.30000001192092896, 0.30000001192092896), $var20, $var2);
                if ($var12 !== null) {
                    $var13 = nms_Vec3_distanceTo($var20, $var12.$hitVec);
                    if (!($var13 >= $var6 && $var6 !== 0.0)) {
                        $var4 = $var9;
                        $var6 = $var13;
                    }
                }
            }
            $var8 = $var8 + 1 | 0;
        }
        if ($var4 !== null)
            $var3 = nms_MovingObjectPosition__init_0($var4);
        if ($var3 !== null) {
            if ($var3.$entityHit !== null) {
                $var20 = $var3.$entityHit;
                $var2 = nms_DamageSource_causeThrownDamage($this, $this.$angler);
                $var19 = 0;
                $ptr = 5;
                continue main;
            }
            $this.$inGround2 = 1;
        }
        if ($this.$inGround2)
            return;
        $var6 = $this.$motionX;
        $var16 = $this.$motionY;
        $var13 = $this.$motionZ;
        $ptr = 4;
        continue main;
    case 3:
        nms_EntityFishHook_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_Entity_moveEntity($this, $var6, $var16, $var13);
        if ($rt_suspending()) {
            break main;
        }
        $var24 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
        $this.$rotationYaw = jl_Math_atan2($this.$motionX, $this.$motionZ) * 180.0 / 3.141592653589793;
        $this.$rotationPitch = jl_Math_atan2($this.$motionY, $var24) * 180.0 / 3.141592653589793;
        while ($this.$rotationPitch - $this.$prevRotationPitch < (-180.0)) {
            $this.$prevRotationPitch = $this.$prevRotationPitch - 360.0;
        }
        while ($this.$rotationPitch - $this.$prevRotationPitch >= 180.0) {
            $this.$prevRotationPitch = $this.$prevRotationPitch + 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw < (-180.0)) {
            $this.$prevRotationYaw = $this.$prevRotationYaw - 360.0;
        }
        while ($this.$rotationYaw - $this.$prevRotationYaw >= 180.0) {
            $this.$prevRotationYaw = $this.$prevRotationYaw + 360.0;
        }
        $this.$rotationPitch = $this.$prevRotationPitch + ($this.$rotationPitch - $this.$prevRotationPitch) * 0.20000000298023224;
        $this.$rotationYaw = $this.$prevRotationYaw + ($this.$rotationYaw - $this.$prevRotationYaw) * 0.20000000298023224;
        $var25 = 0.9200000166893005;
        if (!(!$this.$onGround && !$this.$isCollidedHorizontally))
            $var25 = 0.5;
        $var27 = 0.0;
        $var28 = 0;
        while ($var28 < 5) {
            $var14 = $this.$boundingBox.$minY + ($this.$boundingBox.$maxY - $this.$boundingBox.$minY) * ($var28 + 0 | 0) / 5.0 - 0.125 + 0.125;
            $var6 = $this.$boundingBox.$minY;
            $var16 = $this.$boundingBox.$maxY - $this.$boundingBox.$minY;
            $var28 = $var28 + 1 | 0;
            $var16 = $var6 + $var16 * $var28 / 5.0 - 0.125 + 0.125;
            $var18 = nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $this.$boundingBox.$minX, $var14, $this.$boundingBox.$minZ, $this.$boundingBox.$maxX, $var16, $this.$boundingBox.$maxZ);
            $var20 = $this.$worldObj;
            nms_Material_$callClinit();
            if (nms_World_isAABBInMaterial($var20, $var18, nms_Material_water))
                $var27 = $var27 + 0.2;
        }
        $var19 = $rt_compare($var27, 0.0);
        if ($var19 > 0) {
            if ($this.$ticksCatchable > 0)
                $this.$ticksCatchable = $this.$ticksCatchable - 1 | 0;
            else {
                $var29 = 500;
                if (nms_World_canLightningStrikeAt($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY) + 1 | 0, nms_MathHelper_floor_double($this.$posZ)))
                    $var29 = 300;
                if (!nle_EaglercraftRandom_nextInt($this.$rand0, $var29)) {
                    $this.$ticksCatchable = nle_EaglercraftRandom_nextInt($this.$rand0, 30) + 10 | 0;
                    $this.$motionY = $this.$motionY - 0.20000000298023224;
                    $var20 = $rt_s(1879);
                    $var24 = 0.25;
                    $var30 = 1.0 + (nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.4000000059604645;
                    $ptr = 6;
                    continue main;
                }
            }
        }
        if ($this.$ticksCatchable > 0)
            $this.$motionY = $this.$motionY - nle_EaglercraftRandom_nextFloat($this.$rand0) * nle_EaglercraftRandom_nextFloat($this.$rand0) * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.2;
        $var13 = $var27 * 2.0 - 1.0;
        $this.$motionY = $this.$motionY + 0.03999999910593033 * $var13;
        if ($var19 > 0) {
            $var25 = $var25 * 0.9;
            $this.$motionY = $this.$motionY * 0.8;
        }
        $var6 = $this.$motionX;
        $var16 = $var25;
        $this.$motionX = $var6 * $var16;
        $this.$motionY = $this.$motionY * $var16;
        $this.$motionZ = $this.$motionZ * $var16;
        nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        return;
    case 5:
        $tmp = $var20.$attackEntityFrom($var2, $var19);
        if ($rt_suspending()) {
            break main;
        }
        $var19 = $tmp;
        if ($var19)
            $this.$bobber = $var3.$entityHit;
        if ($this.$inGround2)
            return;
        $var6 = $this.$motionX;
        $var16 = $this.$motionY;
        $var13 = $this.$motionZ;
        $ptr = 4;
        continue main;
    case 6:
        nms_Entity_playSound($this, $var20, $var24, $var30);
        if ($rt_suspending()) {
            break main;
        }
        $var30 = nms_MathHelper_floor_double($this.$boundingBox.$minY);
        $var15 = 0;
        $var23 = $var30 + 1.0;
        if ($var15 < 1.0 + $this.$width0 * 20.0) {
            $var31 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
            $var17 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
            $var20 = $this.$worldObj;
            $var2 = $rt_s(1017);
            $var6 = $this.$posX + $var31;
            $var16 = $this.$posZ + $var17;
            $var13 = $this.$motionX;
            $var21 = $this.$motionY - nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $var22 = $this.$motionZ;
            $ptr = 7;
            continue main;
        }
        $var8 = 0;
        if ($var8 >= 1.0 + $this.$width0 * 20.0) {
            if ($this.$ticksCatchable > 0)
                $this.$motionY = $this.$motionY - nle_EaglercraftRandom_nextFloat($this.$rand0) * nle_EaglercraftRandom_nextFloat($this.$rand0) * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.2;
            $var13 = $var27 * 2.0 - 1.0;
            $this.$motionY = $this.$motionY + 0.03999999910593033 * $var13;
            if ($var19 > 0) {
                $var25 = $var25 * 0.9;
                $this.$motionY = $this.$motionY * 0.8;
            }
            $var6 = $this.$motionX;
            $var16 = $var25;
            $this.$motionX = $var6 * $var16;
            $this.$motionY = $this.$motionY * $var16;
            $this.$motionZ = $this.$motionZ * $var16;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        }
        $var31 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        $var17 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        $var20 = $this.$worldObj;
        $var2 = $rt_s(1018);
        $var6 = $this.$posX + $var31;
        $var16 = $this.$posZ + $var17;
        $var13 = $this.$motionX;
        $var21 = $this.$motionY;
        $var22 = $this.$motionZ;
        $ptr = 8;
        continue main;
    case 7:
        nms_World_spawnParticle($var20, $var2, $var6, $var23, $var16, $var13, $var21, $var22);
        if ($rt_suspending()) {
            break main;
        }
        $var15 = $var15 + 1 | 0;
        if ($var15 < 1.0 + $this.$width0 * 20.0) {
            $var31 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
            $var17 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
            $var20 = $this.$worldObj;
            $var2 = $rt_s(1017);
            $var6 = $this.$posX + $var31;
            $var16 = $this.$posZ + $var17;
            $var13 = $this.$motionX;
            $var21 = $this.$motionY - nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224;
            $var22 = $this.$motionZ;
            continue main;
        }
        $var8 = 0;
        if ($var8 >= 1.0 + $this.$width0 * 20.0) {
            if ($this.$ticksCatchable > 0)
                $this.$motionY = $this.$motionY - nle_EaglercraftRandom_nextFloat($this.$rand0) * nle_EaglercraftRandom_nextFloat($this.$rand0) * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.2;
            $var13 = $var27 * 2.0 - 1.0;
            $this.$motionY = $this.$motionY + 0.03999999910593033 * $var13;
            if ($var19 > 0) {
                $var25 = $var25 * 0.9;
                $this.$motionY = $this.$motionY * 0.8;
            }
            $var6 = $this.$motionX;
            $var16 = $var25;
            $this.$motionX = $var6 * $var16;
            $this.$motionY = $this.$motionY * $var16;
            $this.$motionZ = $this.$motionZ * $var16;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        }
        $var31 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        $var17 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        $var20 = $this.$worldObj;
        $var2 = $rt_s(1018);
        $var6 = $this.$posX + $var31;
        $var16 = $this.$posZ + $var17;
        $var13 = $this.$motionX;
        $var21 = $this.$motionY;
        $var22 = $this.$motionZ;
        $ptr = 8;
    case 8:
        nms_World_spawnParticle($var20, $var2, $var6, $var23, $var16, $var13, $var21, $var22);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $var8 + 1 | 0;
        if ($var8 >= 1.0 + $this.$width0 * 20.0) {
            if ($this.$ticksCatchable > 0)
                $this.$motionY = $this.$motionY - nle_EaglercraftRandom_nextFloat($this.$rand0) * nle_EaglercraftRandom_nextFloat($this.$rand0) * nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.2;
            $var13 = $var27 * 2.0 - 1.0;
            $this.$motionY = $this.$motionY + 0.03999999910593033 * $var13;
            if ($var19 > 0) {
                $var25 = $var25 * 0.9;
                $this.$motionY = $this.$motionY * 0.8;
            }
            $var6 = $this.$motionX;
            $var16 = $var25;
            $this.$motionX = $var6 * $var16;
            $this.$motionY = $this.$motionY * $var16;
            $this.$motionZ = $this.$motionZ * $var16;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
            return;
        }
        $var31 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        $var17 = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0) * $this.$width0;
        $var20 = $this.$worldObj;
        $var2 = $rt_s(1018);
        $var6 = $this.$posX + $var31;
        $var16 = $this.$posZ + $var17;
        $var13 = $this.$motionX;
        $var21 = $this.$motionY;
        $var22 = $this.$motionZ;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var21, $var22, $var23, $var7, $var20, $var2, $var3, $var4, $var5, $var6, $var8, $var9, $var12, $var13, $var19, $var16, $var24, $var25, $var27, $var28, $var14, $var18, $var29, $var30, $var15, $var31, $var17, $ptr);
}
function nms_EntityFishHook_getShadowSize($this) {
    return 0.0;
}
function nms_EntityFishHook_catchFish($this) {
    return 0;
}
function nms_EntityFishHook_setDead($this) {
    nms_Entity_setDead($this);
    if ($this.$angler !== null)
        $this.$angler.$fishEntity = null;
}
function nms_RenderFish() {
    nms_Render.call(this);
}
var nms_RenderFish_tex = null;
function nms_RenderFish__init_0() {
    var var_0 = new nms_RenderFish();
    nms_RenderFish__init_(var_0);
    return var_0;
}
function nms_RenderFish__init_($this) {
    nms_Render__init_0($this);
}
function nms_RenderFish_doRenderFishHook($this, $par1EntityFishHook, $par2, $par4, $par6, $par8, $par9) {
    var $var22, $var12, $var21, $var46, $var33, var$12, $var23, $var25, $var27, $var29, $var31, $var32, $var34, $var35, $var37, $var39, $var41, $var44, $var45, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var45 = $thread.pop();$var44 = $thread.pop();$var41 = $thread.pop();$var39 = $thread.pop();$var37 = $thread.pop();$var35 = $thread.pop();$var34 = $thread.pop();$var32 = $thread.pop();$var31 = $thread.pop();$var29 = $thread.pop();$var27 = $thread.pop();$var25 = $thread.pop();$var23 = $thread.pop();var$12 = $thread.pop();$var33 = $thread.pop();$var46 = $thread.pop();$var21 = $thread.pop();$var12 = $thread.pop();$var22 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6
        = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1EntityFishHook = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4, $par6);
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        $var22 = nms_RenderFish_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var22);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var12 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glRotatef(180.0 - $this.$renderManager.$playerViewY, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef( -$this.$renderManager.$playerViewX, 1.0, 0.0, 0.0);
        nlea_Tessellator_startDrawingQuads($var12);
        nlea_Tessellator_setNormal($var12, 0.0, (-1.0), 0.0);
        nlea_Tessellator_addVertexWithUV($var12, (-0.5), (-0.5), 0.0, 0.06367187201976776, 0.18632812798023224);
        nlea_Tessellator_addVertexWithUV($var12, 0.5, (-0.5), 0.0, 0.12382812798023224, 0.18632812798023224);
        nlea_Tessellator_addVertexWithUV($var12, 0.5, 0.5, 0.0, 0.12382812798023224, 0.12617187201976776);
        nlea_Tessellator_addVertexWithUV($var12, (-0.5), 0.5, 0.0, 0.06367187201976776, 0.12617187201976776);
        nlea_Tessellator_draw($var12);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        if ($par1EntityFishHook.$angler !== null) {
            $var21 = nms_MathHelper_sin(nms_MathHelper_sqrt_float(nms_EntityLiving_getSwingProgress($par1EntityFishHook.$angler, $par9)) * 3.1415927410125732);
            $var22 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($par1EntityFishHook.$worldObj), (-0.5), 0.03, 0.8);
            nms_Vec3_rotateAroundX($var22,  -($par1EntityFishHook.$angler.$prevRotationPitch + ($par1EntityFishHook.$angler.$rotationPitch - $par1EntityFishHook.$angler.$prevRotationPitch) * $par9) * 3.1415927410125732 / 180.0);
            nms_Vec3_rotateAroundY($var22,  -($par1EntityFishHook.$angler.$prevRotationYaw + ($par1EntityFishHook.$angler.$rotationYaw - $par1EntityFishHook.$angler.$prevRotationYaw) * $par9) * 3.1415927410125732 / 180.0);
            nms_Vec3_rotateAroundY($var22, $var21 * 0.5);
            nms_Vec3_rotateAroundX($var22,  -$var21 * 0.699999988079071);
            $var46 = $par1EntityFishHook.$angler.$prevPosX;
            $var33 = $par1EntityFishHook.$angler.$posX - $par1EntityFishHook.$angler.$prevPosX;
            var$12 = $par9;
            $var23 = $var46 + $var33 * var$12 + $var22.$xCoord;
            $var25 = $par1EntityFishHook.$angler.$prevPosY + ($par1EntityFishHook.$angler.$posY - $par1EntityFishHook.$angler.$prevPosY) * var$12 + $var22.$yCoord;
            $var27 = $par1EntityFishHook.$angler.$prevPosZ + ($par1EntityFishHook.$angler.$posZ - $par1EntityFishHook.$angler.$prevPosZ) * var$12 + $var22.$zCoord;
            $var29 = $par1EntityFishHook.$angler === nmc_Minecraft_getMinecraft().$thePlayer ? 0.0 : $par1EntityFishHook.$angler.$getEyeHeight();
            if (!($this.$renderManager.$options1.$thirdPersonView <= 0 && $par1EntityFishHook.$angler === nmc_Minecraft_getMinecraft().$thePlayer)) {
                $var31 = ($par1EntityFishHook.$angler.$prevRenderYawOffset + ($par1EntityFishHook.$angler.$renderYawOffset - $par1EntityFishHook.$angler.$prevRenderYawOffset) * $par9) * 3.1415927410125732 / 180.0;
                $var32 = nms_MathHelper_sin($var31);
                $var34 = nms_MathHelper_cos($var31);
                $var23 = $par1EntityFishHook.$angler.$prevPosX + ($par1EntityFishHook.$angler.$posX - $par1EntityFishHook.$angler.$prevPosX) * var$12 - $var34 * 0.35 - $var32 * 0.85;
                $var25 = $par1EntityFishHook.$angler.$prevPosY + $var29 + ($par1EntityFishHook.$angler.$posY - $par1EntityFishHook.$angler.$prevPosY) * var$12 - 0.45;
                $var27 = $par1EntityFishHook.$angler.$prevPosZ + ($par1EntityFishHook.$angler.$posZ - $par1EntityFishHook.$angler.$prevPosZ) * var$12 - $var32 * 0.35 + $var34 * 0.85;
            }
            $var46 = $par1EntityFishHook.$prevPosX + ($par1EntityFishHook.$posX - $par1EntityFishHook.$prevPosX) * var$12;
            $var33 = $par1EntityFishHook.$prevPosY + ($par1EntityFishHook.$posY - $par1EntityFishHook.$prevPosY) * var$12 + 0.25;
            $var35 = $par1EntityFishHook.$prevPosZ + ($par1EntityFishHook.$posZ - $par1EntityFishHook.$prevPosZ) * var$12;
            $var37 = $var23 - $var46;
            $var39 = $var25 - $var33;
            $var41 = $var27 - $var35;
            nleg_EaglerAdapterGL30_glDisable(3553);
            nleg_EaglerAdapterGL30_glDisable(2896);
            nlea_Tessellator_startDrawing($var12, 3);
            nlea_Tessellator_setColorOpaque_I($var12, 0);
            $var44 = 0;
            while ($var44 <= 16) {
                $var45 = $var44 / 16.0;
                $var46 = $var45;
                nlea_Tessellator_addVertex($var12, $par2 + $var37 * $var46, $par4 + $var39 * ($var45 * $var45 + $var45) * 0.5 + 0.25, $par6 + $var41 * $var46);
                $var44 = $var44 + 1 | 0;
            }
            nlea_Tessellator_draw($var12);
            nleg_EaglerAdapterGL30_glEnable(2896);
            nleg_EaglerAdapterGL30_glEnable(3553);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityFishHook, $par2, $par4, $par6, $par8, $par9, $var22, $var12, $var21, $var46, $var33, var$12, $var23, $var25, $var27, $var29, $var31, $var32, $var34, $var35, $var37, $var39, $var41, $var44, $var45, $ptr);
}
function nms_RenderFish_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1Entity = $par1Entity;
        $ptr = 1;
    case 1:
        nms_RenderFish_doRenderFishHook($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Entity, $par2, $par4, $par6, $par8, $par9, $ptr);
}
function nms_RenderFish__clinit_() {
    nms_RenderFish_tex = nle_TextureLocation__init_($rt_s(1207));
}
function nms_EntityWeatherEffect() {
    nms_Entity.call(this);
}
function nms_EntityLightningBolt() {
    var a = this; nms_EntityWeatherEffect.call(a);
    a.$lightningState = 0;
    a.$boltVertex = Long_ZERO;
    a.$boltLivingTime = 0;
}
function nms_EntityLightningBolt_onUpdate($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $this.$onEntityUpdate();
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$lightningState == 2) {
            nms_World_playSoundEffect($this.$worldObj, $this.$posX, $this.$posY, $this.$posZ, $rt_s(1880), 10000.0, 0.800000011920929 + nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224);
            nms_World_playSoundEffect($this.$worldObj, $this.$posX, $this.$posY, $this.$posZ, $rt_s(1881), 2.0, 0.5 + nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224);
        }
        $this.$lightningState = $this.$lightningState - 1 | 0;
        if ($this.$lightningState < 0) {
            if (!$this.$boltLivingTime) {
                $ptr = 2;
                continue main;
            }
            if ($this.$lightningState <  -nle_EaglercraftRandom_nextInt($this.$rand0, 10)) {
                $this.$boltLivingTime = $this.$boltLivingTime - 1 | 0;
                $this.$lightningState = 1;
                $this.$boltVertex = nle_EaglercraftRandom_nextLong($this.$rand0);
            }
        }
        if ($this.$lightningState >= 0)
            $this.$worldObj.$lastLightningBolt = 2;
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$lightningState >= 0)
            $this.$worldObj.$lastLightningBolt = 2;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function nms_EntityLightningBolt_entityInit($this) {
    return;
}
function nms_EntityLightningBolt_isInRangeToRenderVec3D($this, $par1Vec3) {
    return $this.$lightningState < 0 ? 0 : 1;
}
function nms_RenderLightningBolt() {
    nms_Render.call(this);
}
function nms_RenderLightningBolt__init_0() {
    var var_0 = new nms_RenderLightningBolt();
    nms_RenderLightningBolt__init_(var_0);
    return var_0;
}
function nms_RenderLightningBolt__init_($this) {
    nms_Render__init_0($this);
}
function nms_RenderLightningBolt_doRenderLightningBolt($this, $par1EntityLightningBolt, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var11, $var12, $var13, $var15, $var17, $var18, $var45, var$15, var$16, $var46, $var19, $var26, $var21, $var22, $var24, var$23, var$24, $var32, var$26, $var36, $var37, $var39, var$30, var$31, $var41, $var43;
    nlea_Tessellator_$callClinit();
    $var10 = nlea_Tessellator_instance;
    nleg_EaglerAdapterGL30_glDisable(3553);
    nleg_EaglerAdapterGL30_glDisable(2896);
    nleg_EaglerAdapterGL30_glEnable(3042);
    nleg_EaglerAdapterGL30_glBlendFunc(770, 1);
    $var11 = $rt_createDoubleArray(8).data;
    $var12 = $rt_createDoubleArray(8).data;
    $var13 = 0.0;
    $var15 = 0.0;
    $var17 = nle_EaglercraftRandom__init_1($par1EntityLightningBolt.$boltVertex);
    $var18 = 7;
    while ($var18 >= 0) {
        $var11[$var18] = $var13;
        $var12[$var18] = $var15;
        $var13 = $var13 + (nle_EaglercraftRandom_nextInt($var17, 11) - 5 | 0);
        $var15 = $var15 + (nle_EaglercraftRandom_nextInt($var17, 11) - 5 | 0);
        $var18 = $var18 + (-1) | 0;
    }
    $var45 = 0;
    var$15 = $par2 + 0.5;
    var$16 = $par6 + 0.5;
    while ($var45 < 4) {
        $var46 = nle_EaglercraftRandom__init_1($par1EntityLightningBolt.$boltVertex);
        $var19 = 0;
        while ($var19 < 3) {
            $var26 = 7;
            $var21 = 0;
            if ($var19 > 0)
                $var26 = 7 - $var19 | 0;
            if ($var19 > 0)
                $var21 = $var26 - 2 | 0;
            $var22 = $var11[$var26] - $var13;
            $var24 = $var12[$var26] - $var15;
            while ($var26 >= $var21) {
                if ($var19) {
                    var$23 = $var22 + (nle_EaglercraftRandom_nextInt($var46, 31) - 15 | 0);
                    var$24 = $var24 + (nle_EaglercraftRandom_nextInt($var46, 31) - 15 | 0);
                } else {
                    var$23 = $var22 + (nle_EaglercraftRandom_nextInt($var46, 11) - 5 | 0);
                    var$24 = $var24 + (nle_EaglercraftRandom_nextInt($var46, 11) - 5 | 0);
                }
                nlea_Tessellator_startDrawing($var10, 5);
                nlea_Tessellator_setColorRGBA_F($var10, 0.44999998807907104, 0.44999998807907104, 0.5, 0.30000001192092896);
                $var32 = 0.1 + $var45 * 0.2;
                var$26 = $var19 ? $var32 : $var32 * ($var26 * 0.1 + 1.0);
                if (!$var19)
                    $var32 = $var32 * (($var26 - 1 | 0) * 0.1 + 1.0);
                $var36 = 0;
                while ($var36 < 5) {
                    $var37 = var$15 - var$26;
                    $var39 = var$16 - var$26;
                    var$30 = $rt_compare($var36, 1);
                    if (!(var$30 && $var36 != 2))
                        $var37 = $var37 + var$26 * 2.0;
                    var$31 = $rt_compare($var36, 2);
                    if (!(var$31 && $var36 != 3))
                        $var39 = $var39 + var$26 * 2.0;
                    $var41 = var$15 - $var32;
                    $var43 = var$16 - $var32;
                    if (!(var$30 && var$31))
                        $var41 = $var41 + $var32 * 2.0;
                    if (!(var$31 && $var36 != 3))
                        $var43 = $var43 + $var32 * 2.0;
                    nlea_Tessellator_addVertex($var10, $var41 + var$23, $par4 + ($var26 * 16 | 0), $var43 + var$24);
                    nlea_Tessellator_addVertex($var10, $var37 + $var22, $par4 + (($var26 + 1 | 0) * 16 | 0), $var39 + $var24);
                    $var36 = $var36 + 1 | 0;
                }
                nlea_Tessellator_draw($var10);
                $var26 = $var26 + (-1) | 0;
                $var22 = var$23;
                $var24 = var$24;
            }
            $var19 = $var19 + 1 | 0;
        }
        $var45 = $var45 + 1 | 0;
    }
    nleg_EaglerAdapterGL30_glDisable(3042);
    nleg_EaglerAdapterGL30_glEnable(2896);
    nleg_EaglerAdapterGL30_glEnable(3553);
}
function nms_RenderLightningBolt_doRender($this, $par1Entity, $par2, $par4, $par6, $par8, $par9) {
    nms_RenderLightningBolt_doRenderLightningBolt($this, $par1Entity, $par2, $par4, $par6, $par8, $par9);
}
function nms_MapItemRenderer() {
    var a = this; jl_Object.call(a);
    a.$intArray0 = null;
    a.$bufferedImage = 0;
    a.$gameSettings0 = null;
    a.$fontRenderer2 = null;
}
var nms_MapItemRenderer_mapicons = null;
function nms_MapItemRenderer_renderMap($this, $par1EntityPlayer, $par2RenderEngine, $par3MapData) {
    var $texX1, $texX2, $texY1, $texY2, $isVideoOrImageMode, $isVideoMode, $isImageMode, $var4, $var5, $var12, $var6, $var7, $var8, $var13, $var14, $var17, var$20, var$21, var$22, var$23, $var19, $var20, $var21, $var22, $var23, $var24, $var25, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();$var17 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var12 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$isImageMode = $thread.pop();$isVideoMode
        = $thread.pop();$isVideoOrImageMode = $thread.pop();$texY2 = $thread.pop();$texY1 = $thread.pop();$texX2 = $thread.pop();$texX1 = $thread.pop();$par3MapData = $thread.pop();$par2RenderEngine = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $texX1 = 0.0;
        $texX2 = 1.0;
        $texY1 = 0.0;
        $texY2 = 1.0;
        $isVideoOrImageMode = nlea_EaglerAdapterImpl2_isVideoSupported() && $par3MapData.$enableVideoPlayback ? 1 : 0;
        $isVideoMode = $isVideoOrImageMode && nlea_EaglerAdapterImpl2_isVideoLoaded() ? 1 : 0;
        $isImageMode = $isVideoOrImageMode && nlea_EaglerAdapterImpl2_isImageLoaded() ? 1 : 0;
        if ($isVideoMode) {
            nleg_EaglerAdapterGL30_glEnable((-101));
            nlea_EaglerAdapterImpl2_updateVideoTexture();
            nlea_EaglerAdapterImpl2_bindVideoTexture();
            $texX1 = $par3MapData.$videoX1;
            $texY1 = $par3MapData.$videoY1;
            $texX2 = $par3MapData.$videoX2;
            $texY2 = $par3MapData.$videoY2;
        } else if ($isImageMode) {
            nleg_EaglerAdapterGL30_glEnable((-101));
            nlea_EaglerAdapterImpl2_updateImageTexture();
            nlea_EaglerAdapterImpl2_bindImageTexture();
            $texX1 = $par3MapData.$videoX1;
            $texY1 = $par3MapData.$videoY1;
            $texX2 = $par3MapData.$videoX2;
            $texY2 = $par3MapData.$videoY2;
        } else {
            a: {
                if ($par3MapData.$enableAyunami)
                    jl_System_arraycopy($par3MapData.$ayunamiPixels, 0, $this.$intArray0, 0, $this.$intArray0.data.length);
                else {
                    $var4 = 0;
                    while (true) {
                        if ($var4 >= 16384)
                            break a;
                        $var5 = $par3MapData.$colors.data[$var4];
                        $var12 = $var5 / 4 | 0;
                        if (!$var12)
                            $this.$intArray0.data[$var4] = (((($var4 + ($var4 / 128 | 0) | 0) & 1) * 8 | 0) + 16 | 0) << 24;
                        else {
                            $var6 = nms_MapColor_mapColorArray.data[$var12].$colorValue;
                            $var7 = $var5 & 3;
                            $var8 = 220;
                            if ($var7 == 2)
                                $var8 = 255;
                            if (!$var7)
                                $var8 = 180;
                            $var12 = $rt_imul($var6 >> 16 & 255, $var8) / 255 | 0;
                            $var13 = $rt_imul($var6 >> 8 & 255, $var8) / 255 | 0;
                            $var14 = $rt_imul($var6 & 255, $var8) / 255 | 0;
                            if ($this.$gameSettings0.$anaglyph) {
                                $var5 = $var12 * 30 | 0;
                                $var12 = (($var5 + ($var13 * 59 | 0) | 0) + ($var14 * 11 | 0) | 0) / 100 | 0;
                                $var13 = ($var5 + ($var13 * 70 | 0) | 0) / 100 | 0;
                                $var14 = ($var5 + ($var14 * 70 | 0) | 0) / 100 | 0;
                            }
                            $this.$intArray0.data[$var4] = (-16777216) | $var12 << 16 | $var13 << 8 | $var14;
                        }
                        $var4 = $var4 + 1 | 0;
                    }
                }
            }
            nms_RenderEngine_createTextureFromBytes($par2RenderEngine, $this.$intArray0, 128, 128, $this.$bufferedImage);
        }
        nlea_Tessellator_$callClinit();
        $var17 = nlea_Tessellator_instance;
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(1, 771);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nlea_Tessellator_startDrawingQuads($var17);
        var$20 = $texX1;
        var$21 = $texY2;
        nlea_Tessellator_addVertexWithUV($var17, 0.0, 128.0, (-0.009999999776482582), var$20, var$21);
        var$22 = $texX2;
        nlea_Tessellator_addVertexWithUV($var17, 128.0, 128.0, (-0.009999999776482582), var$22, var$21);
        var$23 = $texY1;
        nlea_Tessellator_addVertexWithUV($var17, 128.0, 0.0, (-0.009999999776482582), var$22, var$23);
        nlea_Tessellator_addVertexWithUV($var17, 0.0, 0.0, (-0.009999999776482582), var$20, var$23);
        nlea_Tessellator_draw($var17);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nms_RenderEngine_resetBoundTexture($par2RenderEngine);
        if (!(!$isVideoMode && !$isImageMode))
            nleg_EaglerAdapterGL30_glDisable((-101));
        if (!$par3MapData.$enableAyunami && !$isVideoMode && !$isImageMode) {
            $par1EntityPlayer = nms_MapItemRenderer_mapicons;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        nle_TextureLocation_bindTexture($par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        $var19 = 0;
        $var20 = ju_LinkedHashMap_values($par3MapData.$playersVisibleOnMap).$iterator();
        while ($var20.$hasNext()) {
            $var21 = $var20.$next();
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glTranslatef(0.0 + $var21.$centerX / 2.0 + 64.0, 0.0 + $var21.$centerZ / 2.0 + 64.0, (-0.019999999552965164));
            nleg_EaglerAdapterGL30_glRotatef(($var21.$iconRotation * 360 | 0) / 16.0, 0.0, 0.0, 1.0);
            nleg_EaglerAdapterGL30_glScalef(4.0, 4.0, 3.0);
            nleg_EaglerAdapterGL30_glTranslatef((-0.125), 0.125, 0.0);
            $var22 = (($var21.$iconSize % 4 | 0) + 0 | 0) / 4.0;
            $var23 = (($var21.$iconSize / 4 | 0) + 0 | 0) / 4.0;
            $var24 = (($var21.$iconSize % 4 | 0) + 1 | 0) / 4.0;
            $var25 = (($var21.$iconSize / 4 | 0) + 1 | 0) / 4.0;
            nlea_Tessellator_startDrawingQuads($var17);
            var$20 = $var19 * 0.0010000000474974513;
            var$21 = $var22;
            var$23 = $var23;
            nlea_Tessellator_addVertexWithUV($var17, (-1.0), 1.0, var$20, var$21, var$23);
            var$22 = $var24;
            nlea_Tessellator_addVertexWithUV($var17, 1.0, 1.0, var$20, var$22, var$23);
            var$23 = $var25;
            nlea_Tessellator_addVertexWithUV($var17, 1.0, (-1.0), var$20, var$22, var$23);
            nlea_Tessellator_addVertexWithUV($var17, (-1.0), (-1.0), var$20, var$21, var$23);
            nlea_Tessellator_draw($var17);
            nleg_EaglerAdapterGL30_glPopMatrix();
            $var19 = $var19 + 1 | 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2RenderEngine, $par3MapData, $texX1, $texX2, $texY1, $texY2, $isVideoOrImageMode, $isVideoMode, $isImageMode, $var4, $var5, $var12, $var6, $var7, $var8, $var13, $var14, $var17, var$20, var$21, var$22, var$23, $var19, $var20, $var21, $var22, $var23, $var24, $var25, $ptr);
}
function nms_MapItemRenderer__clinit_() {
    nms_MapItemRenderer_mapicons = nle_TextureLocation__init_($rt_s(1882));
}
function nms_StatBase() {
    var a = this; jl_Object.call(a);
    a.$statId = 0;
    a.$statName = null;
    a.$isIndependent = 0;
    a.$statGuid = null;
    a.$type0 = null;
}
var nms_StatBase_numberFormat = null;
var nms_StatBase_simpleStatType = null;
var nms_StatBase_decimalFormat = null;
var nms_StatBase_timeStatType = null;
var nms_StatBase_distanceStatType = null;
function nms_StatBase_$callClinit() {
    nms_StatBase_$callClinit = $rt_eraseClinit(nms_StatBase);
    nms_StatBase__clinit_();
}
function nms_StatBase_getName($this) {
    return $this.$statName;
}
function nms_StatBase_toString($this) {
    return nms_StatCollector_translateToLocal($this.$statName);
}
function nms_StatBase__clinit_() {
    nms_StatBase_numberFormat = jt_NumberFormat_getIntegerInstance(ju_Locale_US);
    nms_StatBase_simpleStatType = new nms_StatTypeSimple;
    nms_StatBase_decimalFormat = jt_DecimalFormat__init_0($rt_s(1883));
    nms_StatBase_timeStatType = new nms_StatTypeTime;
    nms_StatBase_distanceStatType = new nms_StatTypeDistance;
}
function nms_Achievement() {
    var a = this; nms_StatBase.call(a);
    a.$displayColumn = 0;
    a.$displayRow = 0;
    a.$parentAchievement = null;
    a.$achievementDescription = null;
    a.$statStringFormatter = null;
    a.$theItemStack = null;
    a.$isSpecial0 = 0;
}
function nms_Achievement__init_2(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_Achievement();
    nms_Achievement__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
}
function nms_Achievement__init_1(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_Achievement();
    nms_Achievement__init_0(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
}
function nms_Achievement__init_3(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_Achievement();
    nms_Achievement__init_4(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
}
function nms_Achievement__init_($this, $par1, $par2Str, $par3, $par4, $par5Item, $par6Achievement) {
    nms_Achievement__init_4($this, $par1, $par2Str, $par3, $par4, nms_ItemStack__init_5($par5Item), $par6Achievement);
}
function nms_Achievement__init_0($this, $par1, $par2Str, $par3, $par4, $par5Block, $par6Achievement) {
    nms_Achievement__init_4($this, $par1, $par2Str, $par3, $par4, nms_ItemStack__init_2($par5Block), $par6Achievement);
}
function nms_Achievement__init_4($this, $par1, $par2Str, $par3, $par4, $par5ItemStack, $par6Achievement) {
    var var$7, var$8, var$9;
    var$7 = 5242880 + $par1 | 0;
    var$8 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$8);
    jl_AbstractStringBuilder_append(var$8, $rt_s(1884));
    jl_AbstractStringBuilder_append(var$8, $par2Str);
    var$9 = jl_AbstractStringBuilder_toString(var$8);
    nms_StatBase_$callClinit();
    var$8 = nms_StatBase_simpleStatType;
    $this.$isIndependent = 0;
    $this.$statId = var$7;
    $this.$statName = var$9;
    $this.$type0 = var$8;
    $this.$theItemStack = $par5ItemStack;
    $par5ItemStack = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($par5ItemStack);
    jl_AbstractStringBuilder_append($par5ItemStack, $rt_s(1884));
    jl_AbstractStringBuilder_append($par5ItemStack, $par2Str);
    jl_AbstractStringBuilder_append($par5ItemStack, $rt_s(1885));
    $this.$achievementDescription = jl_AbstractStringBuilder_toString($par5ItemStack);
    $this.$displayColumn = $par3;
    $this.$displayRow = $par4;
    nms_AchievementList_$callClinit();
    if ($par3 < nms_AchievementList_minDisplayColumn)
        nms_AchievementList_minDisplayColumn = $par3;
    if ($par4 < nms_AchievementList_minDisplayRow)
        nms_AchievementList_minDisplayRow = $par4;
    if ($par3 > nms_AchievementList_maxDisplayColumn)
        nms_AchievementList_maxDisplayColumn = $par3;
    if ($par4 > nms_AchievementList_maxDisplayRow)
        nms_AchievementList_maxDisplayRow = $par4;
    $this.$parentAchievement = $par6Achievement;
}
function nms_Achievement_setIndependent($this) {
    $this.$isIndependent = 1;
    return $this;
}
function nms_Achievement_setSpecial($this) {
    $this.$isSpecial0 = 1;
    return $this;
}
function nms_Achievement_registerAchievement($this) {
    var var$1;
    var$1 = $this.$statId;
    nms_AchievementMap_$callClinit();
    $this.$statGuid = ju_HashMap_get(nms_AchievementMap_instance.$guidMap, jl_Integer_valueOf(var$1));
    nms_AchievementList_$callClinit();
    ju_ArrayList_add(nms_AchievementList_achievementList, $this);
    return $this;
}
function nms_Achievement_isAchievement($this) {
    return 1;
}
function nms_Achievement_setStatStringFormatter($this, $par1IStatStringFormat) {
    $this.$statStringFormatter = $par1IStatStringFormat;
    return $this;
}
function nms_RenderList() {
    var a = this; jl_Object.call(a);
    a.$field_78429_a = 0;
    a.$field_78427_b = 0;
    a.$field_78428_c = 0;
    a.$field_78425_d = 0.0;
    a.$field_78426_e = 0.0;
    a.$field_78423_f = 0.0;
    a.$field_78424_g = null;
    a.$field_78430_h = 0;
    a.$field_78431_i = 0;
}
function nms_RenderList__init_0() {
    var var_0 = new nms_RenderList();
    nms_RenderList__init_(var_0);
    return var_0;
}
function nms_RenderList__init_($this) {
    $this.$field_78424_g = nms_GLAllocation_createDirectIntBuffer(65536);
    $this.$field_78430_h = 0;
    $this.$field_78431_i = 0;
}
function nms_RenderList_func_78422_a($this, $par1, $par2, $par3, $par4, $par6, $par8) {
    $this.$field_78430_h = 1;
    jn_Buffer_clear($this.$field_78424_g);
    $this.$field_78429_a = $par1;
    $this.$field_78427_b = $par2;
    $this.$field_78428_c = $par3;
    $this.$field_78425_d = $par4;
    $this.$field_78426_e = $par6;
    $this.$field_78423_f = $par8;
}
function nms_RenderList_func_78418_a($this, $par1, $par2, $par3) {
    return !$this.$field_78430_h ? 0 : $par1 == $this.$field_78429_a && $par2 == $this.$field_78427_b && $par3 == $this.$field_78428_c ? 1 : 0;
}
function nms_RenderList_func_78420_a($this, $par1) {
    jn_IntBufferImpl_put($this.$field_78424_g, $par1);
    if (!jn_Buffer_remaining($this.$field_78424_g))
        nms_RenderList_func_78419_a($this);
}
function nms_RenderList_func_78419_a($this) {
    var var$1;
    if ($this.$field_78430_h) {
        if (!$this.$field_78431_i) {
            jn_Buffer_flip($this.$field_78424_g);
            $this.$field_78431_i = 1;
        }
        if (jn_Buffer_remaining($this.$field_78424_g) > 0) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glTranslatef($this.$field_78429_a - $this.$field_78425_d, $this.$field_78427_b - $this.$field_78426_e, $this.$field_78428_c - $this.$field_78423_f);
            var$1 = $this.$field_78424_g;
            while (jn_Buffer_hasRemaining(var$1)) {
                nleg_EaglerAdapterGL30_glCallList(jn_IntBufferImpl_get(var$1));
            }
            nleg_EaglerAdapterGL30_glPopMatrix();
        }
    }
}
function nms_RenderList_func_78421_b($this) {
    $this.$field_78430_h = 0;
    $this.$field_78431_i = 0;
}
function nms_GuiNewChat() {
    var a = this; nms_Gui.call(a);
    a.$mc9 = null;
    a.$sentMessages = null;
    a.$chatLines = null;
    a.$field_96134_d = null;
    a.$field_73768_d = 0;
    a.$field_73769_e = 0;
}
function nms_GuiNewChat_drawChat($this, $par1) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var20, $var10, $var11, $var12, $var14, $var15, $var16, $var17, $var18, $var19, $var13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var13 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var20 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$mc9.$gameSettings.$chatVisibility != 2) {
            $var2 = nms_GuiNewChat_func_96127_i($this);
            $var3 = 0;
            $var4 = 0;
            $var5 = $this.$field_96134_d.$size;
            $var6 = $this.$mc9.$gameSettings.$chatOpacity * 0.8999999761581421 + 0.10000000149011612;
            if ($var5 > 0) {
                if (nms_GuiNewChat_getChatOpen($this))
                    $var3 = 1;
                $var7 = nms_GuiNewChat_func_96131_h($this);
                $var8 = nms_MathHelper_ceiling_float_int(nms_GuiNewChat_func_96126_f($this) / $var7);
                nleg_EaglerAdapterGL30_glPushMatrix();
                nleg_EaglerAdapterGL30_glTranslatef(2.0, 20.0, 0.0);
                nleg_EaglerAdapterGL30_glScalef($var7, $var7, 1.0);
                $var9 = 0;
                $var20 = (0 + $var8 | 0) + 4 | 0;
                while (($var9 + $this.$field_73768_d | 0) < $this.$field_96134_d.$size && $var9 < $var2) {
                    $var10 = ju_ArrayList_get($this.$field_96134_d, $var9 + $this.$field_73768_d | 0);
                    if ($var10 !== null) {
                        $var11 = $par1 - $var10.$updateCounterCreated | 0;
                        if (!($var11 >= 200 && !$var3)) {
                            $var12 = (1.0 - $var11 / 200.0) * 10.0;
                            if ($var12 < 0.0)
                                $var12 = 0.0;
                            if ($var12 > 1.0)
                                $var12 = 1.0;
                            $var14 = 255.0 * $var12 * $var12 | 0;
                            if ($var3)
                                $var14 = 255;
                            $var14 = $var14 * $var6 | 0;
                            $var4 = $var4 + 1 | 0;
                            if ($var14 > 3) {
                                $var15 = 0;
                                $var16 =  -$var9 * 9 | 0;
                                nms_Gui_drawRect($var15, $var16 - 9 | 0, $var20, $var16, ($var14 / 2 | 0) << 24);
                                nleg_EaglerAdapterGL30_glEnable(3042);
                                $var17 = $var10.$lineString;
                                if (!$this.$mc9.$gameSettings.$chatColours)
                                    $var17 = nms_StringUtils_stripControlCodes($var17);
                                $var10 = $this.$mc9.$fontRenderer;
                                $var16 = $var16 - 8 | 0;
                                $var14 = 16777215 + ($var14 << 24) | 0;
                                $ptr = 1;
                                continue main;
                            }
                        }
                    }
                    $var9 = $var9 + 1 | 0;
                }
                if ($var3) {
                    $par1 = $this.$mc9.$fontRenderer.$FONT_HEIGHT;
                    nleg_EaglerAdapterGL30_glTranslatef((-3.0), 0.0, 0.0);
                    $var18 = $rt_imul($var5, $par1) + $var5 | 0;
                    $var11 = $rt_imul($var4, $par1) + $var4 | 0;
                    $var19 = $rt_imul($this.$field_73768_d, $var11) / $var5 | 0;
                    $var13 = $rt_imul($var11, $var11) / $var18 | 0;
                    if ($var18 != $var11) {
                        $var14 = $var19 <= 0 ? 96 : 170;
                        $var20 = !$this.$field_73769_e ? 3355562 : 13382451;
                        $var15 =  -$var19;
                        $var8 = $var15 - $var13 | 0;
                        $par1 = $var14 << 24;
                        nms_Gui_drawRect(0, $var15, 2, $var8, $var20 + $par1 | 0);
                        nms_Gui_drawRect(2, $var15, 1, $var8, 13421772 + $par1 | 0);
                    }
                }
                nleg_EaglerAdapterGL30_glPopMatrix();
            }
        }
        return;
    case 1:
        nms_FontRenderer_drawStringWithShadow($var10, $var17, $var15, $var16, $var14);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var9 = $var9 + 1 | 0;
            if (($var9 + $this.$field_73768_d | 0) >= $this.$field_96134_d.$size)
                break;
            if ($var9 >= $var2)
                break;
            $var10 = ju_ArrayList_get($this.$field_96134_d, $var9 + $this.$field_73768_d | 0);
            if ($var10 === null)
                continue;
            $var11 = $par1 - $var10.$updateCounterCreated | 0;
            if ($var11 >= 200 && !$var3)
                continue;
            $var12 = (1.0 - $var11 / 200.0) * 10.0;
            if ($var12 < 0.0)
                $var12 = 0.0;
            if ($var12 > 1.0)
                $var12 = 1.0;
            $var14 = 255.0 * $var12 * $var12 | 0;
            if ($var3)
                $var14 = 255;
            $var14 = $var14 * $var6 | 0;
            $var4 = $var4 + 1 | 0;
            if ($var14 > 3) {
                $var15 = 0;
                $var16 =  -$var9 * 9 | 0;
                nms_Gui_drawRect($var15, $var16 - 9 | 0, $var20, $var16, ($var14 / 2 | 0) << 24);
                nleg_EaglerAdapterGL30_glEnable(3042);
                $var17 = $var10.$lineString;
                if (!$this.$mc9.$gameSettings.$chatColours)
                    $var17 = nms_StringUtils_stripControlCodes($var17);
                $var10 = $this.$mc9.$fontRenderer;
                $var16 = $var16 - 8 | 0;
                $var14 = 16777215 + ($var14 << 24) | 0;
                continue main;
            }
        }
        if ($var3) {
            $par1 = $this.$mc9.$fontRenderer.$FONT_HEIGHT;
            nleg_EaglerAdapterGL30_glTranslatef((-3.0), 0.0, 0.0);
            $var18 = $rt_imul($var5, $par1) + $var5 | 0;
            $var11 = $rt_imul($var4, $par1) + $var4 | 0;
            $var19 = $rt_imul($this.$field_73768_d, $var11) / $var5 | 0;
            $var13 = $rt_imul($var11, $var11) / $var18 | 0;
            if ($var18 != $var11) {
                $var14 = $var19 <= 0 ? 96 : 170;
                $var20 = !$this.$field_73769_e ? 3355562 : 13382451;
                $var15 =  -$var19;
                $var8 = $var15 - $var13 | 0;
                $par1 = $var14 << 24;
                nms_Gui_drawRect(0, $var15, 2, $var8, $var20 + $par1 | 0);
                nms_Gui_drawRect(2, $var15, 1, $var8, 13421772 + $par1 | 0);
            }
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var20, $var10, $var11, $var12, $var14, $var15, $var16, $var17, $var18, $var19, $var13, $ptr);
}
function nms_GuiNewChat_clearChatMessages($this) {
    ju_ArrayList_clear($this.$field_96134_d);
    ju_ArrayList_clear($this.$chatLines);
    ju_ArrayList_clear($this.$sentMessages);
}
function nms_GuiNewChat_printChatMessage($this, $par1Str) {
    nms_GuiNewChat_printChatMessageWithOptionalDeletion($this, $par1Str, 0);
}
function nms_GuiNewChat_printChatMessageWithOptionalDeletion($this, $par1Str, $par2) {
    var var$3, var$4;
    nms_GuiNewChat_func_96129_a($this, $par1Str, $par2, $this.$mc9.$ingameGUI.$updateCounter, 0);
    var$3 = jl_System_out();
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, $rt_s(1886));
    jl_AbstractStringBuilder_append(var$4, $par1Str);
    ji_PrintStream_println(var$3, jl_AbstractStringBuilder_toString(var$4));
}
function nms_GuiNewChat_func_96129_a($this, $par1Str, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, var$9;
    $var5 = nms_GuiNewChat_getChatOpen($this);
    $var6 = 1;
    if ($par2)
        nms_GuiNewChat_deleteChatLine($this, $par2);
    $var7 = ju_AbstractList_iterator(nms_FontRenderer_listFormattedStringToWidth($this.$mc9.$fontRenderer, $par1Str, nms_MathHelper_floor_float(nms_GuiNewChat_func_96126_f($this) / nms_GuiNewChat_func_96131_h($this))));
    while (ju_AbstractList$1_hasNext($var7)) {
        $var8 = ju_AbstractList$1_next($var7);
        if ($var5 && $this.$field_73768_d > 0) {
            $this.$field_73769_e = 1;
            nms_GuiNewChat_scroll($this, 1);
        }
        if (!$var6) {
            var$9 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$9);
            jl_AbstractStringBuilder_append(var$9, $rt_s(343));
            jl_AbstractStringBuilder_append(var$9, $var8);
            $var8 = jl_AbstractStringBuilder_toString(var$9);
        }
        $var6 = 0;
        ju_ArrayList_add0($this.$field_96134_d, 0, nms_ChatLine__init_($par3, $var8, $par2));
    }
    while ($this.$field_96134_d.$size > 100) {
        ju_ArrayList_remove($this.$field_96134_d, $this.$field_96134_d.$size - 1 | 0);
    }
    a: {
        if (!$par4) {
            ju_ArrayList_add0($this.$chatLines, 0, nms_ChatLine__init_($par3, jl_String_trim($par1Str), $par2));
            while (true) {
                if ($this.$chatLines.$size <= 100)
                    break a;
                ju_ArrayList_remove($this.$chatLines, $this.$chatLines.$size - 1 | 0);
            }
        }
    }
}
function nms_GuiNewChat_func_96132_b($this) {
    var $var1, $var2;
    ju_ArrayList_clear($this.$field_96134_d);
    nms_GuiNewChat_resetScroll($this);
    $var1 = $this.$chatLines.$size - 1 | 0;
    while ($var1 >= 0) {
        $var2 = ju_ArrayList_get($this.$chatLines, $var1);
        nms_GuiNewChat_func_96129_a($this, $var2.$lineString, $var2.$chatLineID, $var2.$updateCounterCreated, 1);
        $var1 = $var1 + (-1) | 0;
    }
}
function nms_GuiNewChat_getSentMessages($this) {
    return $this.$sentMessages;
}
function nms_GuiNewChat_addToSentMessages($this, $par1Str) {
    if (!(!ju_AbstractCollection_isEmpty($this.$sentMessages) && jl_String_equals(ju_ArrayList_get($this.$sentMessages, $this.$sentMessages.$size - 1 | 0), $par1Str)))
        ju_ArrayList_add($this.$sentMessages, $par1Str);
}
function nms_GuiNewChat_resetScroll($this) {
    $this.$field_73768_d = 0;
    $this.$field_73769_e = 0;
}
function nms_GuiNewChat_scroll($this, $par1) {
    var $var2;
    $this.$field_73768_d = $this.$field_73768_d + $par1 | 0;
    $var2 = $this.$field_96134_d.$size;
    if ($this.$field_73768_d > ($var2 - nms_GuiNewChat_func_96127_i($this) | 0))
        $this.$field_73768_d = $var2 - nms_GuiNewChat_func_96127_i($this) | 0;
    if ($this.$field_73768_d <= 0) {
        $this.$field_73768_d = 0;
        $this.$field_73769_e = 0;
    }
}
function nms_GuiNewChat_func_73766_a($this, $par1, $par2) {
    var $var4, $var5, $var6, $var7, $var8, $var9, $var3, var$10, var$11;
    if (!nms_GuiNewChat_getChatOpen($this))
        return null;
    $var4 = nms_ScaledResolution__init_($this.$mc9.$gameSettings, $this.$mc9.$displayWidth, $this.$mc9.$displayHeight).$scaleFactor;
    $var5 = nms_GuiNewChat_func_96131_h($this);
    $var6 = ($par1 / $var4 | 0) - 3 | 0;
    $var7 = ($par2 / $var4 | 0) - 25 | 0;
    $par1 = nms_MathHelper_floor_float($var6 / $var5);
    $par2 = nms_MathHelper_floor_float($var7 / $var5);
    if ($par1 >= 0 && $par2 >= 0) {
        $var8 = jl_Math_min(nms_GuiNewChat_func_96127_i($this), $this.$field_96134_d.$size);
        if ($par1 <= nms_MathHelper_floor_float(nms_GuiNewChat_func_96126_f($this) / nms_GuiNewChat_func_96131_h($this)) && $par2 < ($rt_imul($this.$mc9.$fontRenderer.$FONT_HEIGHT, $var8) + $var8 | 0)) {
            $var9 = ($par2 / ($this.$mc9.$fontRenderer.$FONT_HEIGHT + 1 | 0) | 0) + $this.$field_73768_d | 0;
            $var3 = new nms_ChatClickData;
            var$10 = $this.$mc9.$fontRenderer;
            var$11 = ju_ArrayList_get($this.$field_96134_d, $var9);
            $var3.$fontR = var$10;
            $var3.$line = var$11;
            $var3.$field_78310_f = nms_FontRenderer_trimStringToWidth(var$10, var$11.$lineString, $par1);
            $par1 = jl_String_lastIndexOf1($var3.$field_78310_f, $rt_s(343), jl_String_length($var3.$field_78310_f)) + 1 | 0;
            if ($par1 < 0)
                $par1 = 0;
            $par2 = jl_String_indexOf1($var3.$line.$lineString, $rt_s(343), $par1);
            if ($par2 < 0)
                $par2 = jl_String_length($var3.$line.$lineString);
            $var3.$clickedUrl = nms_StringUtils_stripControlCodes(jl_String_substring0($var3.$line.$lineString, $par1, $par2));
            return $var3;
        }
        return null;
    }
    return null;
}
function nms_GuiNewChat_addTranslatedMessage($this, $par1Str, $par2ArrayOfObj) {
    nms_GuiNewChat_printChatMessage($this, nms_StringTranslate_translateKeyFormat(nms_StringTranslate_instance, $par1Str, $par2ArrayOfObj));
}
function nms_GuiNewChat_getChatOpen($this) {
    return $this.$mc9.$currentScreen instanceof nms_GuiChat;
}
function nms_GuiNewChat_deleteChatLine($this, $par1) {
    var $var2;
    $var2 = ju_AbstractList_iterator($this.$field_96134_d);
    while (true) {
        if (!ju_AbstractList$1_hasNext($var2)) {
            $var2 = ju_AbstractList_iterator($this.$chatLines);
            while (ju_AbstractList$1_hasNext($var2)) {
                if (ju_AbstractList$1_next($var2).$chatLineID != $par1)
                    continue;
                else {
                    ju_AbstractList$1_remove($var2);
                    return;
                }
            }
            return;
        }
        if (ju_AbstractList$1_next($var2).$chatLineID != $par1)
            continue;
        else
            break;
    }
    ju_AbstractList$1_remove($var2);
}
function nms_GuiNewChat_func_96126_f($this) {
    return nms_GuiNewChat_func_96128_a($this.$mc9.$gameSettings.$chatWidth);
}
function nms_GuiNewChat_func_96133_g($this) {
    return nms_GuiNewChat_func_96130_b(!nms_GuiNewChat_getChatOpen($this) ? $this.$mc9.$gameSettings.$chatHeightUnfocused : $this.$mc9.$gameSettings.$chatHeightFocused);
}
function nms_GuiNewChat_func_96131_h($this) {
    return $this.$mc9.$gameSettings.$chatScale;
}
function nms_GuiNewChat_func_96128_a($par0) {
    return nms_MathHelper_floor_float($par0 * 280.0 + 40.0);
}
function nms_GuiNewChat_func_96130_b($par0) {
    return nms_MathHelper_floor_float($par0 * 160.0 + 20.0);
}
function nms_GuiNewChat_func_96127_i($this) {
    return nms_GuiNewChat_func_96133_g($this) / 9 | 0;
}
function cjj_InfTree() {
    var a = this; jl_Object.call(a);
    a.$hn = null;
    a.$v = null;
    a.$c = null;
    a.$r0 = null;
    a.$u = null;
    a.$x3 = null;
}
var cjj_InfTree_fixed_tl = null;
var cjj_InfTree_fixed_td = null;
var cjj_InfTree_cplens = null;
var cjj_InfTree_cplext = null;
var cjj_InfTree_cpdist = null;
var cjj_InfTree_cpdext = null;
function cjj_InfTree__init_0() {
    var var_0 = new cjj_InfTree();
    cjj_InfTree__init_(var_0);
    return var_0;
}
function cjj_InfTree__init_($this) {
    $this.$hn = null;
    $this.$v = null;
    $this.$c = null;
    $this.$r0 = null;
    $this.$u = null;
    $this.$x3 = null;
}
function cjj_InfTree_huft_build($this, $b, $bindex, $n, $s, $d, $e, $t, $m, $hp, $hn, $v) {
    var $p, $i, var$14, var$15, $f, $l, $j, var$19, $y, var$21, $xp, $mask, $h, $w, $q, $z, $a, $a_0, var$30;
    $p = 0;
    $i = $n;
    while (true) {
        var$14 = $b.data;
        var$15 = $this.$c.data;
        $f = var$14[$bindex + $p | 0];
        var$15[$f] = var$15[$f] + 1 | 0;
        $p = $p + 1 | 0;
        $i = $i + (-1) | 0;
        if (!$i)
            break;
    }
    if ($this.$c.data[0] == $n) {
        $b = $t.data;
        $d = $m.data;
        $b[0] = (-1);
        $d[0] = 0;
        return 0;
    }
    $m = $m.data;
    $l = $m[0];
    $j = 1;
    a: {
        while (true) {
            if ($j > 15)
                break a;
            if ($this.$c.data[$j])
                break;
            $j = $j + 1 | 0;
        }
    }
    if ($l < $j)
        $l = $j;
    var$19 = 15;
    b: {
        while (true) {
            if (!var$19)
                break b;
            if ($this.$c.data[var$19])
                break;
            var$19 = var$19 + (-1) | 0;
        }
    }
    if ($l > var$19)
        $l = var$19;
    $m[0] = $l;
    $y = 1 << $j;
    $p = $j;
    while (true) {
        if ($p >= var$19) {
            var$21 = $y - $this.$c.data[var$19] | 0;
            if (var$21 < 0)
                return (-3);
            $b = $this.$c.data;
            $b[var$19] = $b[var$19] + var$21 | 0;
            $b = $this.$x3.data;
            $y = 0;
            $b[1] = $y;
            $p = 1;
            $xp = 2;
            $mask = var$19;
            while (true) {
                $mask = $mask + (-1) | 0;
                if (!$mask)
                    break;
                $m = $this.$x3.data;
                $y = $y + $this.$c.data[$p] | 0;
                $m[$xp] = $y;
                $xp = $xp + 1 | 0;
                $p = $p + 1 | 0;
            }
            $p = 0;
            $xp = 0;
            while (true) {
                $mask = var$14[$bindex + $xp | 0];
                if ($mask) {
                    $m = $v.data;
                    $b = $this.$x3.data;
                    $f = $b[$mask];
                    $b[$mask] = $f + 1 | 0;
                    $m[$f] = $p;
                }
                $xp = $xp + 1 | 0;
                $p = $p + 1 | 0;
                if ($p >= $n)
                    break;
            }
            $y = $this.$x3.data[var$19];
            $b = $this.$x3.data;
            $p = 0;
            $b[0] = $p;
            $xp = 0;
            $h = (-1);
            $w =  -$l;
            $this.$u.data[0] = 0;
            $q = 0;
            $z = 0;
            c: while (true) {
                if ($j > var$19)
                    return var$21 && var$19 != 1 ? (-5) : 0;
                $a = $this.$c.data[$j];
                while (true) {
                    $a_0 = $a + (-1) | 0;
                    if (!$a)
                        break;
                    $i = $a_0 + 1 | 0;
                    while (true) {
                        var$30 = $w + $l | 0;
                        if ($j <= var$30)
                            break;
                        $h = $h + 1 | 0;
                        $mask = var$19 - var$30 | 0;
                        if ($mask > $l)
                            $mask = $l;
                        d: {
                            $a = $j - var$30 | 0;
                            $bindex = 1 << $a;
                            if ($bindex > $i) {
                                $f = $bindex - $i | 0;
                                if ($a < $mask) {
                                    $bindex = $j;
                                    while (true) {
                                        $a = $a + 1 | 0;
                                        if ($a >= $mask)
                                            break;
                                        $n = $f << 1;
                                        $b = $this.$c.data;
                                        $bindex = $bindex + 1 | 0;
                                        if ($n <= $b[$bindex])
                                            break d;
                                        $f = $n - $this.$c.data[$bindex] | 0;
                                    }
                                }
                            }
                        }
                        $b = $hn.data;
                        $z = 1 << $a;
                        if (($b[0] + $z | 0) > 1440)
                            break c;
                        $m = $this.$u.data;
                        $q = $b[0];
                        $m[$h] = $q;
                        $b[0] = $b[0] + $z | 0;
                        if (!$h) {
                            $t.data[0] = $q;
                            $w = var$30;
                            continue;
                        }
                        $this.$x3.data[$h] = $p;
                        $this.$r0.data[0] = $a << 24 >> 24;
                        $this.$r0.data[1] = $l << 24 >> 24;
                        $bindex = $p >>> (var$30 - $l | 0);
                        $m = $this.$r0.data;
                        $b = $this.$u.data;
                        $f = $h - 1 | 0;
                        $m[2] = ($q - $b[$f] | 0) - $bindex | 0;
                        jl_System_arraycopy($this.$r0, 0, $hp, ($this.$u.data[$f] + $bindex | 0) * 3 | 0, 3);
                        $w = var$30;
                    }
                    $b = $this.$r0.data;
                    $mask = $j - $w | 0;
                    $b[1] = $mask << 24 >> 24;
                    if ($xp >= $y)
                        $this.$r0.data[0] = 192;
                    else {
                        var$15 = $v.data;
                        if (var$15[$xp] >= $s) {
                            $m = $e.data;
                            var$14 = $d.data;
                            $this.$r0.data[0] = (($m[var$15[$xp] - $s | 0] + 16 | 0) + 64 | 0) << 24 >> 24;
                            $b = $this.$r0.data;
                            $n = $xp + 1 | 0;
                            $b[2] = var$14[var$15[$xp] - $s | 0];
                            $xp = $n;
                        } else {
                            $b = $this.$r0;
                            $b.data[0] = (var$15[$xp] >= 256 ? 96 : 0) << 24 >> 24;
                            $b = $this.$r0.data;
                            $n = $xp + 1 | 0;
                            $b[2] = var$15[$xp];
                            $xp = $n;
                        }
                    }
                    $f = 1 << $mask;
                    $bindex = $p >>> $w;
                    while ($bindex < $z) {
                        jl_System_arraycopy($this.$r0, 0, $hp, ($q + $bindex | 0) * 3 | 0, 3);
                        $bindex = $bindex + $f | 0;
                    }
                    $bindex = 1 << ($j - 1 | 0);
                    while ($p & $bindex) {
                        $p = $p ^ $bindex;
                        $bindex = $bindex >>> 1;
                    }
                    $p = $p ^ $bindex;
                    $mask = (1 << $w) - 1 | 0;
                    while (($p & $mask) != $this.$x3.data[$h]) {
                        $h = $h + (-1) | 0;
                        $w = $w - $l | 0;
                        $mask = (1 << $w) - 1 | 0;
                    }
                    $a = $a_0;
                }
                $j = $j + 1 | 0;
            }
            return (-3);
        }
        $f = $y - $this.$c.data[$p] | 0;
        if ($f < 0)
            break;
        $p = $p + 1 | 0;
        $y = $f << 1;
    }
    return (-3);
}
function cjj_InfTree_inflate_trees_bits($this, $c, $bb, $tb, $hp, $z) {
    var $result;
    cjj_InfTree_initWorkArea($this, 19);
    $this.$hn.data[0] = 0;
    $result = cjj_InfTree_huft_build($this, $c, 0, 19, 19, null, null, $tb, $bb, $hp, $this.$hn, $this.$v);
    if ($result == (-3))
        $z.$msg = $rt_s(1887);
    else if (!($result != (-5) && $bb.data[0])) {
        $z.$msg = $rt_s(1888);
        $result = (-3);
    }
    return $result;
}
function cjj_InfTree_inflate_trees_dynamic($this, $nl, $nd, $c, $bl, $bd, $tl, $td, $hp, $z) {
    var $result;
    cjj_InfTree_initWorkArea($this, 288);
    $this.$hn.data[0] = 0;
    $result = cjj_InfTree_huft_build($this, $c, 0, $nl, 257, cjj_InfTree_cplens, cjj_InfTree_cplext, $tl, $bl, $hp, $this.$hn, $this.$v);
    if (!$result && $bl.data[0]) {
        cjj_InfTree_initWorkArea($this, 288);
        $nd = cjj_InfTree_huft_build($this, $c, $nl, $nd, 0, cjj_InfTree_cpdist, cjj_InfTree_cpdext, $td, $bd, $hp, $this.$hn, $this.$v);
        if (!$nd && !(!$bd.data[0] && $nl > 257))
            return 0;
        if ($nd == (-3))
            $z.$msg = $rt_s(1889);
        else if ($nd == (-5)) {
            $z.$msg = $rt_s(1890);
            $nd = (-3);
        } else if ($nd != (-4)) {
            $z.$msg = $rt_s(1891);
            $nd = (-3);
        }
        return $nd;
    }
    if ($result == (-3))
        $z.$msg = $rt_s(1892);
    else if ($result != (-4)) {
        $z.$msg = $rt_s(1893);
        $result = (-3);
    }
    return $result;
}
function cjj_InfTree_inflate_trees_fixed($bl, $bd, $tl, $td, $z) {
    $td = $td.data;
    $tl = $tl.data;
    $bd = $bd.data;
    $bl.data[0] = 9;
    $bd[0] = 5;
    $tl[0] = cjj_InfTree_fixed_tl;
    $td[0] = cjj_InfTree_fixed_td;
    return 0;
}
function cjj_InfTree_initWorkArea($this, $vsize) {
    var $i;
    if ($this.$hn === null) {
        $this.$hn = $rt_createIntArray(1);
        $this.$v = $rt_createIntArray($vsize);
        $this.$c = $rt_createIntArray(16);
        $this.$r0 = $rt_createIntArray(3);
        $this.$u = $rt_createIntArray(15);
        $this.$x3 = $rt_createIntArray(16);
    }
    if ($this.$v.data.length < $vsize)
        $this.$v = $rt_createIntArray($vsize);
    $i = 0;
    while ($i < $vsize) {
        $this.$v.data[$i] = 0;
        $i = $i + 1 | 0;
    }
    $i = 0;
    while ($i < 16) {
        $this.$c.data[$i] = 0;
        $i = $i + 1 | 0;
    }
    $i = 0;
    while ($i < 3) {
        $this.$r0.data[$i] = 0;
        $i = $i + 1 | 0;
    }
    jl_System_arraycopy($this.$c, 0, $this.$u, 0, 15);
    jl_System_arraycopy($this.$c, 0, $this.$x3, 0, 16);
}
function cjj_InfTree__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(1536);
    var$2 = var$1.data;
    var$2[0] = 96;
    var$2[1] = 7;
    var$2[2] = 256;
    var$2[3] = 0;
    var$2[4] = 8;
    var$2[5] = 80;
    var$2[6] = 0;
    var$2[7] = 8;
    var$2[8] = 16;
    var$2[9] = 84;
    var$2[10] = 8;
    var$2[11] = 115;
    var$2[12] = 82;
    var$2[13] = 7;
    var$2[14] = 31;
    var$2[15] = 0;
    var$2[16] = 8;
    var$2[17] = 112;
    var$2[18] = 0;
    var$2[19] = 8;
    var$2[20] = 48;
    var$2[21] = 0;
    var$2[22] = 9;
    var$2[23] = 192;
    var$2[24] = 80;
    var$2[25] = 7;
    var$2[26] = 10;
    var$2[27] = 0;
    var$2[28] = 8;
    var$2[29] = 96;
    var$2[30] = 0;
    var$2[31] = 8;
    var$2[32] = 32;
    var$2[33] = 0;
    var$2[34] = 9;
    var$2[35] = 160;
    var$2[36] = 0;
    var$2[37] = 8;
    var$2[38] = 0;
    var$2[39] = 0;
    var$2[40] = 8;
    var$2[41] = 128;
    var$2[42] = 0;
    var$2[43] = 8;
    var$2[44] = 64;
    var$2[45] = 0;
    var$2[46] = 9;
    var$2[47] = 224;
    var$2[48] = 80;
    var$2[49] = 7;
    var$2[50] = 6;
    var$2[51] = 0;
    var$2[52] = 8;
    var$2[53] = 88;
    var$2[54] = 0;
    var$2[55] = 8;
    var$2[56] = 24;
    var$2[57] = 0;
    var$2[58] = 9;
    var$2[59] = 144;
    var$2[60] = 83;
    var$2[61] = 7;
    var$2[62] = 59;
    var$2[63] = 0;
    var$2[64] = 8;
    var$2[65] = 120;
    var$2[66] = 0;
    var$2[67] = 8;
    var$2[68] = 56;
    var$2[69] = 0;
    var$2[70] = 9;
    var$2[71] = 208;
    var$2[72] = 81;
    var$2[73] = 7;
    var$2[74] = 17;
    var$2[75] = 0;
    var$2[76] = 8;
    var$2[77] = 104;
    var$2[78] = 0;
    var$2[79] = 8;
    var$2[80] = 40;
    var$2[81] = 0;
    var$2[82] = 9;
    var$2[83] = 176;
    var$2[84] = 0;
    var$2[85] = 8;
    var$2[86] = 8;
    var$2[87] = 0;
    var$2[88] = 8;
    var$2[89] = 136;
    var$2[90] = 0;
    var$2[91] = 8;
    var$2[92] = 72;
    var$2[93] = 0;
    var$2[94] = 9;
    var$2[95] = 240;
    var$2[96] = 80;
    var$2[97] = 7;
    var$2[98] = 4;
    var$2[99] = 0;
    var$2[100] = 8;
    var$2[101] = 84;
    var$2[102] = 0;
    var$2[103] = 8;
    var$2[104] = 20;
    var$2[105] = 85;
    var$2[106] = 8;
    var$2[107] = 227;
    var$2[108] = 83;
    var$2[109] = 7;
    var$2[110] = 43;
    var$2[111] = 0;
    var$2[112] = 8;
    var$2[113] = 116;
    var$2[114] = 0;
    var$2[115] = 8;
    var$2[116] = 52;
    var$2[117] = 0;
    var$2[118] = 9;
    var$2[119] = 200;
    var$2[120] = 81;
    var$2[121] = 7;
    var$2[122] = 13;
    var$2[123] = 0;
    var$2[124] = 8;
    var$2[125] = 100;
    var$2[126] = 0;
    var$2[127] = 8;
    var$2[128] = 36;
    var$2[129] = 0;
    var$2[130] = 9;
    var$2[131] = 168;
    var$2[132] = 0;
    var$2[133] = 8;
    var$2[134] = 4;
    var$2[135] = 0;
    var$2[136] = 8;
    var$2[137] = 132;
    var$2[138] = 0;
    var$2[139] = 8;
    var$2[140] = 68;
    var$2[141] = 0;
    var$2[142] = 9;
    var$2[143] = 232;
    var$2[144] = 80;
    var$2[145] = 7;
    var$2[146] = 8;
    var$2[147] = 0;
    var$2[148] = 8;
    var$2[149] = 92;
    var$2[150] = 0;
    var$2[151] = 8;
    var$2[152] = 28;
    var$2[153] = 0;
    var$2[154] = 9;
    var$2[155] = 152;
    var$2[156] = 84;
    var$2[157] = 7;
    var$2[158] = 83;
    var$2[159] = 0;
    var$2[160] = 8;
    var$2[161] = 124;
    var$2[162] = 0;
    var$2[163] = 8;
    var$2[164] = 60;
    var$2[165] = 0;
    var$2[166] = 9;
    var$2[167] = 216;
    var$2[168] = 82;
    var$2[169] = 7;
    var$2[170] = 23;
    var$2[171] = 0;
    var$2[172] = 8;
    var$2[173] = 108;
    var$2[174] = 0;
    var$2[175] = 8;
    var$2[176] = 44;
    var$2[177] = 0;
    var$2[178] = 9;
    var$2[179] = 184;
    var$2[180] = 0;
    var$2[181] = 8;
    var$2[182] = 12;
    var$2[183] = 0;
    var$2[184] = 8;
    var$2[185] = 140;
    var$2[186] = 0;
    var$2[187] = 8;
    var$2[188] = 76;
    var$2[189] = 0;
    var$2[190] = 9;
    var$2[191] = 248;
    var$2[192] = 80;
    var$2[193] = 7;
    var$2[194] = 3;
    var$2[195] = 0;
    var$2[196] = 8;
    var$2[197] = 82;
    var$2[198] = 0;
    var$2[199] = 8;
    var$2[200] = 18;
    var$2[201] = 85;
    var$2[202] = 8;
    var$2[203] = 163;
    var$2[204] = 83;
    var$2[205] = 7;
    var$2[206] = 35;
    var$2[207] = 0;
    var$2[208] = 8;
    var$2[209] = 114;
    var$2[210] = 0;
    var$2[211] = 8;
    var$2[212] = 50;
    var$2[213] = 0;
    var$2[214] = 9;
    var$2[215] = 196;
    var$2[216] = 81;
    var$2[217] = 7;
    var$2[218] = 11;
    var$2[219] = 0;
    var$2[220] = 8;
    var$2[221] = 98;
    var$2[222] = 0;
    var$2[223] = 8;
    var$2[224] = 34;
    var$2[225] = 0;
    var$2[226] = 9;
    var$2[227] = 164;
    var$2[228] = 0;
    var$2[229] = 8;
    var$2[230] = 2;
    var$2[231] = 0;
    var$2[232] = 8;
    var$2[233] = 130;
    var$2[234] = 0;
    var$2[235] = 8;
    var$2[236] = 66;
    var$2[237] = 0;
    var$2[238] = 9;
    var$2[239] = 228;
    var$2[240] = 80;
    var$2[241] = 7;
    var$2[242] = 7;
    var$2[243] = 0;
    var$2[244] = 8;
    var$2[245] = 90;
    var$2[246] = 0;
    var$2[247] = 8;
    var$2[248] = 26;
    var$2[249] = 0;
    var$2[250] = 9;
    var$2[251] = 148;
    var$2[252] = 84;
    var$2[253] = 7;
    var$2[254] = 67;
    var$2[255] = 0;
    var$2[256] = 8;
    var$2[257] = 122;
    var$2[258] = 0;
    var$2[259] = 8;
    var$2[260] = 58;
    var$2[261] = 0;
    var$2[262] = 9;
    var$2[263] = 212;
    var$2[264] = 82;
    var$2[265] = 7;
    var$2[266] = 19;
    var$2[267] = 0;
    var$2[268] = 8;
    var$2[269] = 106;
    var$2[270] = 0;
    var$2[271] = 8;
    var$2[272] = 42;
    var$2[273] = 0;
    var$2[274] = 9;
    var$2[275] = 180;
    var$2[276] = 0;
    var$2[277] = 8;
    var$2[278] = 10;
    var$2[279] = 0;
    var$2[280] = 8;
    var$2[281] = 138;
    var$2[282] = 0;
    var$2[283] = 8;
    var$2[284] = 74;
    var$2[285] = 0;
    var$2[286] = 9;
    var$2[287] = 244;
    var$2[288] = 80;
    var$2[289] = 7;
    var$2[290] = 5;
    var$2[291] = 0;
    var$2[292] = 8;
    var$2[293] = 86;
    var$2[294] = 0;
    var$2[295] = 8;
    var$2[296] = 22;
    var$2[297] = 192;
    var$2[298] = 8;
    var$2[299] = 0;
    var$2[300] = 83;
    var$2[301] = 7;
    var$2[302] = 51;
    var$2[303] = 0;
    var$2[304] = 8;
    var$2[305] = 118;
    var$2[306] = 0;
    var$2[307] = 8;
    var$2[308] = 54;
    var$2[309] = 0;
    var$2[310] = 9;
    var$2[311] = 204;
    var$2[312] = 81;
    var$2[313] = 7;
    var$2[314] = 15;
    var$2[315] = 0;
    var$2[316] = 8;
    var$2[317] = 102;
    var$2[318] = 0;
    var$2[319] = 8;
    var$2[320] = 38;
    var$2[321] = 0;
    var$2[322] = 9;
    var$2[323] = 172;
    var$2[324] = 0;
    var$2[325] = 8;
    var$2[326] = 6;
    var$2[327] = 0;
    var$2[328] = 8;
    var$2[329] = 134;
    var$2[330] = 0;
    var$2[331] = 8;
    var$2[332] = 70;
    var$2[333] = 0;
    var$2[334] = 9;
    var$2[335] = 236;
    var$2[336] = 80;
    var$2[337] = 7;
    var$2[338] = 9;
    var$2[339] = 0;
    var$2[340] = 8;
    var$2[341] = 94;
    var$2[342] = 0;
    var$2[343] = 8;
    var$2[344] = 30;
    var$2[345] = 0;
    var$2[346] = 9;
    var$2[347] = 156;
    var$2[348] = 84;
    var$2[349] = 7;
    var$2[350] = 99;
    var$2[351] = 0;
    var$2[352] = 8;
    var$2[353] = 126;
    var$2[354] = 0;
    var$2[355] = 8;
    var$2[356] = 62;
    var$2[357] = 0;
    var$2[358] = 9;
    var$2[359] = 220;
    var$2[360] = 82;
    var$2[361] = 7;
    var$2[362] = 27;
    var$2[363] = 0;
    var$2[364] = 8;
    var$2[365] = 110;
    var$2[366] = 0;
    var$2[367] = 8;
    var$2[368] = 46;
    var$2[369] = 0;
    var$2[370] = 9;
    var$2[371] = 188;
    var$2[372] = 0;
    var$2[373] = 8;
    var$2[374] = 14;
    var$2[375] = 0;
    var$2[376] = 8;
    var$2[377] = 142;
    var$2[378] = 0;
    var$2[379] = 8;
    var$2[380] = 78;
    var$2[381] = 0;
    var$2[382] = 9;
    var$2[383] = 252;
    var$2[384] = 96;
    var$2[385] = 7;
    var$2[386] = 256;
    var$2[387] = 0;
    var$2[388] = 8;
    var$2[389] = 81;
    var$2[390] = 0;
    var$2[391] = 8;
    var$2[392] = 17;
    var$2[393] = 85;
    var$2[394] = 8;
    var$2[395] = 131;
    var$2[396] = 82;
    var$2[397] = 7;
    var$2[398] = 31;
    var$2[399] = 0;
    var$2[400] = 8;
    var$2[401] = 113;
    var$2[402] = 0;
    var$2[403] = 8;
    var$2[404] = 49;
    var$2[405] = 0;
    var$2[406] = 9;
    var$2[407] = 194;
    var$2[408] = 80;
    var$2[409] = 7;
    var$2[410] = 10;
    var$2[411] = 0;
    var$2[412] = 8;
    var$2[413] = 97;
    var$2[414] = 0;
    var$2[415] = 8;
    var$2[416] = 33;
    var$2[417] = 0;
    var$2[418] = 9;
    var$2[419] = 162;
    var$2[420] = 0;
    var$2[421] = 8;
    var$2[422] = 1;
    var$2[423] = 0;
    var$2[424] = 8;
    var$2[425] = 129;
    var$2[426] = 0;
    var$2[427] = 8;
    var$2[428] = 65;
    var$2[429] = 0;
    var$2[430] = 9;
    var$2[431] = 226;
    var$2[432] = 80;
    var$2[433] = 7;
    var$2[434] = 6;
    var$2[435] = 0;
    var$2[436] = 8;
    var$2[437] = 89;
    var$2[438] = 0;
    var$2[439] = 8;
    var$2[440] = 25;
    var$2[441] = 0;
    var$2[442] = 9;
    var$2[443] = 146;
    var$2[444] = 83;
    var$2[445] = 7;
    var$2[446] = 59;
    var$2[447] = 0;
    var$2[448] = 8;
    var$2[449] = 121;
    var$2[450] = 0;
    var$2[451] = 8;
    var$2[452] = 57;
    var$2[453] = 0;
    var$2[454] = 9;
    var$2[455] = 210;
    var$2[456] = 81;
    var$2[457] = 7;
    var$2[458] = 17;
    var$2[459] = 0;
    var$2[460] = 8;
    var$2[461] = 105;
    var$2[462] = 0;
    var$2[463] = 8;
    var$2[464] = 41;
    var$2[465] = 0;
    var$2[466] = 9;
    var$2[467] = 178;
    var$2[468] = 0;
    var$2[469] = 8;
    var$2[470] = 9;
    var$2[471] = 0;
    var$2[472] = 8;
    var$2[473] = 137;
    var$2[474] = 0;
    var$2[475] = 8;
    var$2[476] = 73;
    var$2[477] = 0;
    var$2[478] = 9;
    var$2[479] = 242;
    var$2[480] = 80;
    var$2[481] = 7;
    var$2[482] = 4;
    var$2[483] = 0;
    var$2[484] = 8;
    var$2[485] = 85;
    var$2[486] = 0;
    var$2[487] = 8;
    var$2[488] = 21;
    var$2[489] = 80;
    var$2[490] = 8;
    var$2[491] = 258;
    var$2[492] = 83;
    var$2[493] = 7;
    var$2[494] = 43;
    var$2[495] = 0;
    var$2[496] = 8;
    var$2[497] = 117;
    var$2[498] = 0;
    var$2[499] = 8;
    var$2[500] = 53;
    var$2[501] = 0;
    var$2[502] = 9;
    var$2[503] = 202;
    var$2[504] = 81;
    var$2[505] = 7;
    var$2[506] = 13;
    var$2[507] = 0;
    var$2[508] = 8;
    var$2[509] = 101;
    var$2[510] = 0;
    var$2[511] = 8;
    var$2[512] = 37;
    var$2[513] = 0;
    var$2[514] = 9;
    var$2[515] = 170;
    var$2[516] = 0;
    var$2[517] = 8;
    var$2[518] = 5;
    var$2[519] = 0;
    var$2[520] = 8;
    var$2[521] = 133;
    var$2[522] = 0;
    var$2[523] = 8;
    var$2[524] = 69;
    var$2[525] = 0;
    var$2[526] = 9;
    var$2[527] = 234;
    var$2[528] = 80;
    var$2[529] = 7;
    var$2[530] = 8;
    var$2[531] = 0;
    var$2[532] = 8;
    var$2[533] = 93;
    var$2[534] = 0;
    var$2[535] = 8;
    var$2[536] = 29;
    var$2[537] = 0;
    var$2[538] = 9;
    var$2[539] = 154;
    var$2[540] = 84;
    var$2[541] = 7;
    var$2[542] = 83;
    var$2[543] = 0;
    var$2[544] = 8;
    var$2[545] = 125;
    var$2[546] = 0;
    var$2[547] = 8;
    var$2[548] = 61;
    var$2[549] = 0;
    var$2[550] = 9;
    var$2[551] = 218;
    var$2[552] = 82;
    var$2[553] = 7;
    var$2[554] = 23;
    var$2[555] = 0;
    var$2[556] = 8;
    var$2[557] = 109;
    var$2[558] = 0;
    var$2[559] = 8;
    var$2[560] = 45;
    var$2[561] = 0;
    var$2[562] = 9;
    var$2[563] = 186;
    var$2[564] = 0;
    var$2[565] = 8;
    var$2[566] = 13;
    var$2[567] = 0;
    var$2[568] = 8;
    var$2[569] = 141;
    var$2[570] = 0;
    var$2[571] = 8;
    var$2[572] = 77;
    var$2[573] = 0;
    var$2[574] = 9;
    var$2[575] = 250;
    var$2[576] = 80;
    var$2[577] = 7;
    var$2[578] = 3;
    var$2[579] = 0;
    var$2[580] = 8;
    var$2[581] = 83;
    var$2[582] = 0;
    var$2[583] = 8;
    var$2[584] = 19;
    var$2[585] = 85;
    var$2[586] = 8;
    var$2[587] = 195;
    var$2[588] = 83;
    var$2[589] = 7;
    var$2[590] = 35;
    var$2[591] = 0;
    var$2[592] = 8;
    var$2[593] = 115;
    var$2[594] = 0;
    var$2[595] = 8;
    var$2[596] = 51;
    var$2[597] = 0;
    var$2[598] = 9;
    var$2[599] = 198;
    var$2[600] = 81;
    var$2[601] = 7;
    var$2[602] = 11;
    var$2[603] = 0;
    var$2[604] = 8;
    var$2[605] = 99;
    var$2[606] = 0;
    var$2[607] = 8;
    var$2[608] = 35;
    var$2[609] = 0;
    var$2[610] = 9;
    var$2[611] = 166;
    var$2[612] = 0;
    var$2[613] = 8;
    var$2[614] = 3;
    var$2[615] = 0;
    var$2[616] = 8;
    var$2[617] = 131;
    var$2[618] = 0;
    var$2[619] = 8;
    var$2[620] = 67;
    var$2[621] = 0;
    var$2[622] = 9;
    var$2[623] = 230;
    var$2[624] = 80;
    var$2[625] = 7;
    var$2[626] = 7;
    var$2[627] = 0;
    var$2[628] = 8;
    var$2[629] = 91;
    var$2[630] = 0;
    var$2[631] = 8;
    var$2[632] = 27;
    var$2[633] = 0;
    var$2[634] = 9;
    var$2[635] = 150;
    var$2[636] = 84;
    var$2[637] = 7;
    var$2[638] = 67;
    var$2[639] = 0;
    var$2[640] = 8;
    var$2[641] = 123;
    var$2[642] = 0;
    var$2[643] = 8;
    var$2[644] = 59;
    var$2[645] = 0;
    var$2[646] = 9;
    var$2[647] = 214;
    var$2[648] = 82;
    var$2[649] = 7;
    var$2[650] = 19;
    var$2[651] = 0;
    var$2[652] = 8;
    var$2[653] = 107;
    var$2[654] = 0;
    var$2[655] = 8;
    var$2[656] = 43;
    var$2[657] = 0;
    var$2[658] = 9;
    var$2[659] = 182;
    var$2[660] = 0;
    var$2[661] = 8;
    var$2[662] = 11;
    var$2[663] = 0;
    var$2[664] = 8;
    var$2[665] = 139;
    var$2[666] = 0;
    var$2[667] = 8;
    var$2[668] = 75;
    var$2[669] = 0;
    var$2[670] = 9;
    var$2[671] = 246;
    var$2[672] = 80;
    var$2[673] = 7;
    var$2[674] = 5;
    var$2[675] = 0;
    var$2[676] = 8;
    var$2[677] = 87;
    var$2[678] = 0;
    var$2[679] = 8;
    var$2[680] = 23;
    var$2[681] = 192;
    var$2[682] = 8;
    var$2[683] = 0;
    var$2[684] = 83;
    var$2[685] = 7;
    var$2[686] = 51;
    var$2[687] = 0;
    var$2[688] = 8;
    var$2[689] = 119;
    var$2[690] = 0;
    var$2[691] = 8;
    var$2[692] = 55;
    var$2[693] = 0;
    var$2[694] = 9;
    var$2[695] = 206;
    var$2[696] = 81;
    var$2[697] = 7;
    var$2[698] = 15;
    var$2[699] = 0;
    var$2[700] = 8;
    var$2[701] = 103;
    var$2[702] = 0;
    var$2[703] = 8;
    var$2[704] = 39;
    var$2[705] = 0;
    var$2[706] = 9;
    var$2[707] = 174;
    var$2[708] = 0;
    var$2[709] = 8;
    var$2[710] = 7;
    var$2[711] = 0;
    var$2[712] = 8;
    var$2[713] = 135;
    var$2[714] = 0;
    var$2[715] = 8;
    var$2[716] = 71;
    var$2[717] = 0;
    var$2[718] = 9;
    var$2[719] = 238;
    var$2[720] = 80;
    var$2[721] = 7;
    var$2[722] = 9;
    var$2[723] = 0;
    var$2[724] = 8;
    var$2[725] = 95;
    var$2[726] = 0;
    var$2[727] = 8;
    var$2[728] = 31;
    var$2[729] = 0;
    var$2[730] = 9;
    var$2[731] = 158;
    var$2[732] = 84;
    var$2[733] = 7;
    var$2[734] = 99;
    var$2[735] = 0;
    var$2[736] = 8;
    var$2[737] = 127;
    var$2[738] = 0;
    var$2[739] = 8;
    var$2[740] = 63;
    var$2[741] = 0;
    var$2[742] = 9;
    var$2[743] = 222;
    var$2[744] = 82;
    var$2[745] = 7;
    var$2[746] = 27;
    var$2[747] = 0;
    var$2[748] = 8;
    var$2[749] = 111;
    var$2[750] = 0;
    var$2[751] = 8;
    var$2[752] = 47;
    var$2[753] = 0;
    var$2[754] = 9;
    var$2[755] = 190;
    var$2[756] = 0;
    var$2[757] = 8;
    var$2[758] = 15;
    var$2[759] = 0;
    var$2[760] = 8;
    var$2[761] = 143;
    var$2[762] = 0;
    var$2[763] = 8;
    var$2[764] = 79;
    var$2[765] = 0;
    var$2[766] = 9;
    var$2[767] = 254;
    var$2[768] = 96;
    var$2[769] = 7;
    var$2[770] = 256;
    var$2[771] = 0;
    var$2[772] = 8;
    var$2[773] = 80;
    var$2[774] = 0;
    var$2[775] = 8;
    var$2[776] = 16;
    var$2[777] = 84;
    var$2[778] = 8;
    var$2[779] = 115;
    var$2[780] = 82;
    var$2[781] = 7;
    var$2[782] = 31;
    var$2[783] = 0;
    var$2[784] = 8;
    var$2[785] = 112;
    var$2[786] = 0;
    var$2[787] = 8;
    var$2[788] = 48;
    var$2[789] = 0;
    var$2[790] = 9;
    var$2[791] = 193;
    var$2[792] = 80;
    var$2[793] = 7;
    var$2[794] = 10;
    var$2[795] = 0;
    var$2[796] = 8;
    var$2[797] = 96;
    var$2[798] = 0;
    var$2[799] = 8;
    var$2[800] = 32;
    var$2[801] = 0;
    var$2[802] = 9;
    var$2[803] = 161;
    var$2[804] = 0;
    var$2[805] = 8;
    var$2[806] = 0;
    var$2[807] = 0;
    var$2[808] = 8;
    var$2[809] = 128;
    var$2[810] = 0;
    var$2[811] = 8;
    var$2[812] = 64;
    var$2[813] = 0;
    var$2[814] = 9;
    var$2[815] = 225;
    var$2[816] = 80;
    var$2[817] = 7;
    var$2[818] = 6;
    var$2[819] = 0;
    var$2[820] = 8;
    var$2[821] = 88;
    var$2[822] = 0;
    var$2[823] = 8;
    var$2[824] = 24;
    var$2[825] = 0;
    var$2[826] = 9;
    var$2[827] = 145;
    var$2[828] = 83;
    var$2[829] = 7;
    var$2[830] = 59;
    var$2[831] = 0;
    var$2[832] = 8;
    var$2[833] = 120;
    var$2[834] = 0;
    var$2[835] = 8;
    var$2[836] = 56;
    var$2[837] = 0;
    var$2[838] = 9;
    var$2[839] = 209;
    var$2[840] = 81;
    var$2[841] = 7;
    var$2[842] = 17;
    var$2[843] = 0;
    var$2[844] = 8;
    var$2[845] = 104;
    var$2[846] = 0;
    var$2[847] = 8;
    var$2[848] = 40;
    var$2[849] = 0;
    var$2[850] = 9;
    var$2[851] = 177;
    var$2[852] = 0;
    var$2[853] = 8;
    var$2[854] = 8;
    var$2[855] = 0;
    var$2[856] = 8;
    var$2[857] = 136;
    var$2[858] = 0;
    var$2[859] = 8;
    var$2[860] = 72;
    var$2[861] = 0;
    var$2[862] = 9;
    var$2[863] = 241;
    var$2[864] = 80;
    var$2[865] = 7;
    var$2[866] = 4;
    var$2[867] = 0;
    var$2[868] = 8;
    var$2[869] = 84;
    var$2[870] = 0;
    var$2[871] = 8;
    var$2[872] = 20;
    var$2[873] = 85;
    var$2[874] = 8;
    var$2[875] = 227;
    var$2[876] = 83;
    var$2[877] = 7;
    var$2[878] = 43;
    var$2[879] = 0;
    var$2[880] = 8;
    var$2[881] = 116;
    var$2[882] = 0;
    var$2[883] = 8;
    var$2[884] = 52;
    var$2[885] = 0;
    var$2[886] = 9;
    var$2[887] = 201;
    var$2[888] = 81;
    var$2[889] = 7;
    var$2[890] = 13;
    var$2[891] = 0;
    var$2[892] = 8;
    var$2[893] = 100;
    var$2[894] = 0;
    var$2[895] = 8;
    var$2[896] = 36;
    var$2[897] = 0;
    var$2[898] = 9;
    var$2[899] = 169;
    var$2[900] = 0;
    var$2[901] = 8;
    var$2[902] = 4;
    var$2[903] = 0;
    var$2[904] = 8;
    var$2[905] = 132;
    var$2[906] = 0;
    var$2[907] = 8;
    var$2[908] = 68;
    var$2[909] = 0;
    var$2[910] = 9;
    var$2[911] = 233;
    var$2[912] = 80;
    var$2[913] = 7;
    var$2[914] = 8;
    var$2[915] = 0;
    var$2[916] = 8;
    var$2[917] = 92;
    var$2[918] = 0;
    var$2[919] = 8;
    var$2[920] = 28;
    var$2[921] = 0;
    var$2[922] = 9;
    var$2[923] = 153;
    var$2[924] = 84;
    var$2[925] = 7;
    var$2[926] = 83;
    var$2[927] = 0;
    var$2[928] = 8;
    var$2[929] = 124;
    var$2[930] = 0;
    var$2[931] = 8;
    var$2[932] = 60;
    var$2[933] = 0;
    var$2[934] = 9;
    var$2[935] = 217;
    var$2[936] = 82;
    var$2[937] = 7;
    var$2[938] = 23;
    var$2[939] = 0;
    var$2[940] = 8;
    var$2[941] = 108;
    var$2[942] = 0;
    var$2[943] = 8;
    var$2[944] = 44;
    var$2[945] = 0;
    var$2[946] = 9;
    var$2[947] = 185;
    var$2[948] = 0;
    var$2[949] = 8;
    var$2[950] = 12;
    var$2[951] = 0;
    var$2[952] = 8;
    var$2[953] = 140;
    var$2[954] = 0;
    var$2[955] = 8;
    var$2[956] = 76;
    var$2[957] = 0;
    var$2[958] = 9;
    var$2[959] = 249;
    var$2[960] = 80;
    var$2[961] = 7;
    var$2[962] = 3;
    var$2[963] = 0;
    var$2[964] = 8;
    var$2[965] = 82;
    var$2[966] = 0;
    var$2[967] = 8;
    var$2[968] = 18;
    var$2[969] = 85;
    var$2[970] = 8;
    var$2[971] = 163;
    var$2[972] = 83;
    var$2[973] = 7;
    var$2[974] = 35;
    var$2[975] = 0;
    var$2[976] = 8;
    var$2[977] = 114;
    var$2[978] = 0;
    var$2[979] = 8;
    var$2[980] = 50;
    var$2[981] = 0;
    var$2[982] = 9;
    var$2[983] = 197;
    var$2[984] = 81;
    var$2[985] = 7;
    var$2[986] = 11;
    var$2[987] = 0;
    var$2[988] = 8;
    var$2[989] = 98;
    var$2[990] = 0;
    var$2[991] = 8;
    var$2[992] = 34;
    var$2[993] = 0;
    var$2[994] = 9;
    var$2[995] = 165;
    var$2[996] = 0;
    var$2[997] = 8;
    var$2[998] = 2;
    var$2[999] = 0;
    var$2[1000] = 8;
    var$2[1001] = 130;
    var$2[1002] = 0;
    var$2[1003] = 8;
    var$2[1004] = 66;
    var$2[1005] = 0;
    var$2[1006] = 9;
    var$2[1007] = 229;
    var$2[1008] = 80;
    var$2[1009] = 7;
    var$2[1010] = 7;
    var$2[1011] = 0;
    var$2[1012] = 8;
    var$2[1013] = 90;
    var$2[1014] = 0;
    var$2[1015] = 8;
    var$2[1016] = 26;
    var$2[1017] = 0;
    var$2[1018] = 9;
    var$2[1019] = 149;
    var$2[1020] = 84;
    var$2[1021] = 7;
    var$2[1022] = 67;
    var$2[1023] = 0;
    var$2[1024] = 8;
    var$2[1025] = 122;
    var$2[1026] = 0;
    var$2[1027] = 8;
    var$2[1028] = 58;
    var$2[1029] = 0;
    var$2[1030] = 9;
    var$2[1031] = 213;
    var$2[1032] = 82;
    var$2[1033] = 7;
    var$2[1034] = 19;
    var$2[1035] = 0;
    var$2[1036] = 8;
    var$2[1037] = 106;
    var$2[1038] = 0;
    var$2[1039] = 8;
    var$2[1040] = 42;
    var$2[1041] = 0;
    var$2[1042] = 9;
    var$2[1043] = 181;
    var$2[1044] = 0;
    var$2[1045] = 8;
    var$2[1046] = 10;
    var$2[1047] = 0;
    var$2[1048] = 8;
    var$2[1049] = 138;
    var$2[1050] = 0;
    var$2[1051] = 8;
    var$2[1052] = 74;
    var$2[1053] = 0;
    var$2[1054] = 9;
    var$2[1055] = 245;
    var$2[1056] = 80;
    var$2[1057] = 7;
    var$2[1058] = 5;
    var$2[1059] = 0;
    var$2[1060] = 8;
    var$2[1061] = 86;
    var$2[1062] = 0;
    var$2[1063] = 8;
    var$2[1064] = 22;
    var$2[1065] = 192;
    var$2[1066] = 8;
    var$2[1067] = 0;
    var$2[1068] = 83;
    var$2[1069] = 7;
    var$2[1070] = 51;
    var$2[1071] = 0;
    var$2[1072] = 8;
    var$2[1073] = 118;
    var$2[1074] = 0;
    var$2[1075] = 8;
    var$2[1076] = 54;
    var$2[1077] = 0;
    var$2[1078] = 9;
    var$2[1079] = 205;
    var$2[1080] = 81;
    var$2[1081] = 7;
    var$2[1082] = 15;
    var$2[1083] = 0;
    var$2[1084] = 8;
    var$2[1085] = 102;
    var$2[1086] = 0;
    var$2[1087] = 8;
    var$2[1088] = 38;
    var$2[1089] = 0;
    var$2[1090] = 9;
    var$2[1091] = 173;
    var$2[1092] = 0;
    var$2[1093] = 8;
    var$2[1094] = 6;
    var$2[1095] = 0;
    var$2[1096] = 8;
    var$2[1097] = 134;
    var$2[1098] = 0;
    var$2[1099] = 8;
    var$2[1100] = 70;
    var$2[1101] = 0;
    var$2[1102] = 9;
    var$2[1103] = 237;
    var$2[1104] = 80;
    var$2[1105] = 7;
    var$2[1106] = 9;
    var$2[1107] = 0;
    var$2[1108] = 8;
    var$2[1109] = 94;
    var$2[1110] = 0;
    var$2[1111] = 8;
    var$2[1112] = 30;
    var$2[1113] = 0;
    var$2[1114] = 9;
    var$2[1115] = 157;
    var$2[1116] = 84;
    var$2[1117] = 7;
    var$2[1118] = 99;
    var$2[1119] = 0;
    var$2[1120] = 8;
    var$2[1121] = 126;
    var$2[1122] = 0;
    var$2[1123] = 8;
    var$2[1124] = 62;
    var$2[1125] = 0;
    var$2[1126] = 9;
    var$2[1127] = 221;
    var$2[1128] = 82;
    var$2[1129] = 7;
    var$2[1130] = 27;
    var$2[1131] = 0;
    var$2[1132] = 8;
    var$2[1133] = 110;
    var$2[1134] = 0;
    var$2[1135] = 8;
    var$2[1136] = 46;
    var$2[1137] = 0;
    var$2[1138] = 9;
    var$2[1139] = 189;
    var$2[1140] = 0;
    var$2[1141] = 8;
    var$2[1142] = 14;
    var$2[1143] = 0;
    var$2[1144] = 8;
    var$2[1145] = 142;
    var$2[1146] = 0;
    var$2[1147] = 8;
    var$2[1148] = 78;
    var$2[1149] = 0;
    var$2[1150] = 9;
    var$2[1151] = 253;
    var$2[1152] = 96;
    var$2[1153] = 7;
    var$2[1154] = 256;
    var$2[1155] = 0;
    var$2[1156] = 8;
    var$2[1157] = 81;
    var$2[1158] = 0;
    var$2[1159] = 8;
    var$2[1160] = 17;
    var$2[1161] = 85;
    var$2[1162] = 8;
    var$2[1163] = 131;
    var$2[1164] = 82;
    var$2[1165] = 7;
    var$2[1166] = 31;
    var$2[1167] = 0;
    var$2[1168] = 8;
    var$2[1169] = 113;
    var$2[1170] = 0;
    var$2[1171] = 8;
    var$2[1172] = 49;
    var$2[1173] = 0;
    var$2[1174] = 9;
    var$2[1175] = 195;
    var$2[1176] = 80;
    var$2[1177] = 7;
    var$2[1178] = 10;
    var$2[1179] = 0;
    var$2[1180] = 8;
    var$2[1181] = 97;
    var$2[1182] = 0;
    var$2[1183] = 8;
    var$2[1184] = 33;
    var$2[1185] = 0;
    var$2[1186] = 9;
    var$2[1187] = 163;
    var$2[1188] = 0;
    var$2[1189] = 8;
    var$2[1190] = 1;
    var$2[1191] = 0;
    var$2[1192] = 8;
    var$2[1193] = 129;
    var$2[1194] = 0;
    var$2[1195] = 8;
    var$2[1196] = 65;
    var$2[1197] = 0;
    var$2[1198] = 9;
    var$2[1199] = 227;
    var$2[1200] = 80;
    var$2[1201] = 7;
    var$2[1202] = 6;
    var$2[1203] = 0;
    var$2[1204] = 8;
    var$2[1205] = 89;
    var$2[1206] = 0;
    var$2[1207] = 8;
    var$2[1208] = 25;
    var$2[1209] = 0;
    var$2[1210] = 9;
    var$2[1211] = 147;
    var$2[1212] = 83;
    var$2[1213] = 7;
    var$2[1214] = 59;
    var$2[1215] = 0;
    var$2[1216] = 8;
    var$2[1217] = 121;
    var$2[1218] = 0;
    var$2[1219] = 8;
    var$2[1220] = 57;
    var$2[1221] = 0;
    var$2[1222] = 9;
    var$2[1223] = 211;
    var$2[1224] = 81;
    var$2[1225] = 7;
    var$2[1226] = 17;
    var$2[1227] = 0;
    var$2[1228] = 8;
    var$2[1229] = 105;
    var$2[1230] = 0;
    var$2[1231] = 8;
    var$2[1232] = 41;
    var$2[1233] = 0;
    var$2[1234] = 9;
    var$2[1235] = 179;
    var$2[1236] = 0;
    var$2[1237] = 8;
    var$2[1238] = 9;
    var$2[1239] = 0;
    var$2[1240] = 8;
    var$2[1241] = 137;
    var$2[1242] = 0;
    var$2[1243] = 8;
    var$2[1244] = 73;
    var$2[1245] = 0;
    var$2[1246] = 9;
    var$2[1247] = 243;
    var$2[1248] = 80;
    var$2[1249] = 7;
    var$2[1250] = 4;
    var$2[1251] = 0;
    var$2[1252] = 8;
    var$2[1253] = 85;
    var$2[1254] = 0;
    var$2[1255] = 8;
    var$2[1256] = 21;
    var$2[1257] = 80;
    var$2[1258] = 8;
    var$2[1259] = 258;
    var$2[1260] = 83;
    var$2[1261] = 7;
    var$2[1262] = 43;
    var$2[1263] = 0;
    var$2[1264] = 8;
    var$2[1265] = 117;
    var$2[1266] = 0;
    var$2[1267] = 8;
    var$2[1268] = 53;
    var$2[1269] = 0;
    var$2[1270] = 9;
    var$2[1271] = 203;
    var$2[1272] = 81;
    var$2[1273] = 7;
    var$2[1274] = 13;
    var$2[1275] = 0;
    var$2[1276] = 8;
    var$2[1277] = 101;
    var$2[1278] = 0;
    var$2[1279] = 8;
    var$2[1280] = 37;
    var$2[1281] = 0;
    var$2[1282] = 9;
    var$2[1283] = 171;
    var$2[1284] = 0;
    var$2[1285] = 8;
    var$2[1286] = 5;
    var$2[1287] = 0;
    var$2[1288] = 8;
    var$2[1289] = 133;
    var$2[1290] = 0;
    var$2[1291] = 8;
    var$2[1292] = 69;
    var$2[1293] = 0;
    var$2[1294] = 9;
    var$2[1295] = 235;
    var$2[1296] = 80;
    var$2[1297] = 7;
    var$2[1298] = 8;
    var$2[1299] = 0;
    var$2[1300] = 8;
    var$2[1301] = 93;
    var$2[1302] = 0;
    var$2[1303] = 8;
    var$2[1304] = 29;
    var$2[1305] = 0;
    var$2[1306] = 9;
    var$2[1307] = 155;
    var$2[1308] = 84;
    var$2[1309] = 7;
    var$2[1310] = 83;
    var$2[1311] = 0;
    var$2[1312] = 8;
    var$2[1313] = 125;
    var$2[1314] = 0;
    var$2[1315] = 8;
    var$2[1316] = 61;
    var$2[1317] = 0;
    var$2[1318] = 9;
    var$2[1319] = 219;
    var$2[1320] = 82;
    var$2[1321] = 7;
    var$2[1322] = 23;
    var$2[1323] = 0;
    var$2[1324] = 8;
    var$2[1325] = 109;
    var$2[1326] = 0;
    var$2[1327] = 8;
    var$2[1328] = 45;
    var$2[1329] = 0;
    var$2[1330] = 9;
    var$2[1331] = 187;
    var$2[1332] = 0;
    var$2[1333] = 8;
    var$2[1334] = 13;
    var$2[1335] = 0;
    var$2[1336] = 8;
    var$2[1337] = 141;
    var$2[1338] = 0;
    var$2[1339] = 8;
    var$2[1340] = 77;
    var$2[1341] = 0;
    var$2[1342] = 9;
    var$2[1343] = 251;
    var$2[1344] = 80;
    var$2[1345] = 7;
    var$2[1346] = 3;
    var$2[1347] = 0;
    var$2[1348] = 8;
    var$2[1349] = 83;
    var$2[1350] = 0;
    var$2[1351] = 8;
    var$2[1352] = 19;
    var$2[1353] = 85;
    var$2[1354] = 8;
    var$2[1355] = 195;
    var$2[1356] = 83;
    var$2[1357] = 7;
    var$2[1358] = 35;
    var$2[1359] = 0;
    var$2[1360] = 8;
    var$2[1361] = 115;
    var$2[1362] = 0;
    var$2[1363] = 8;
    var$2[1364] = 51;
    var$2[1365] = 0;
    var$2[1366] = 9;
    var$2[1367] = 199;
    var$2[1368] = 81;
    var$2[1369] = 7;
    var$2[1370] = 11;
    var$2[1371] = 0;
    var$2[1372] = 8;
    var$2[1373] = 99;
    var$2[1374] = 0;
    var$2[1375] = 8;
    var$2[1376] = 35;
    var$2[1377] = 0;
    var$2[1378] = 9;
    var$2[1379] = 167;
    var$2[1380] = 0;
    var$2[1381] = 8;
    var$2[1382] = 3;
    var$2[1383] = 0;
    var$2[1384] = 8;
    var$2[1385] = 131;
    var$2[1386] = 0;
    var$2[1387] = 8;
    var$2[1388] = 67;
    var$2[1389] = 0;
    var$2[1390] = 9;
    var$2[1391] = 231;
    var$2[1392] = 80;
    var$2[1393] = 7;
    var$2[1394] = 7;
    var$2[1395] = 0;
    var$2[1396] = 8;
    var$2[1397] = 91;
    var$2[1398] = 0;
    var$2[1399] = 8;
    var$2[1400] = 27;
    var$2[1401] = 0;
    var$2[1402] = 9;
    var$2[1403] = 151;
    var$2[1404] = 84;
    var$2[1405] = 7;
    var$2[1406] = 67;
    var$2[1407] = 0;
    var$2[1408] = 8;
    var$2[1409] = 123;
    var$2[1410] = 0;
    var$2[1411] = 8;
    var$2[1412] = 59;
    var$2[1413] = 0;
    var$2[1414] = 9;
    var$2[1415] = 215;
    var$2[1416] = 82;
    var$2[1417] = 7;
    var$2[1418] = 19;
    var$2[1419] = 0;
    var$2[1420] = 8;
    var$2[1421] = 107;
    var$2[1422] = 0;
    var$2[1423] = 8;
    var$2[1424] = 43;
    var$2[1425] = 0;
    var$2[1426] = 9;
    var$2[1427] = 183;
    var$2[1428] = 0;
    var$2[1429] = 8;
    var$2[1430] = 11;
    var$2[1431] = 0;
    var$2[1432] = 8;
    var$2[1433] = 139;
    var$2[1434] = 0;
    var$2[1435] = 8;
    var$2[1436] = 75;
    var$2[1437] = 0;
    var$2[1438] = 9;
    var$2[1439] = 247;
    var$2[1440] = 80;
    var$2[1441] = 7;
    var$2[1442] = 5;
    var$2[1443] = 0;
    var$2[1444] = 8;
    var$2[1445] = 87;
    var$2[1446] = 0;
    var$2[1447] = 8;
    var$2[1448] = 23;
    var$2[1449] = 192;
    var$2[1450] = 8;
    var$2[1451] = 0;
    var$2[1452] = 83;
    var$2[1453] = 7;
    var$2[1454] = 51;
    var$2[1455] = 0;
    var$2[1456] = 8;
    var$2[1457] = 119;
    var$2[1458] = 0;
    var$2[1459] = 8;
    var$2[1460] = 55;
    var$2[1461] = 0;
    var$2[1462] = 9;
    var$2[1463] = 207;
    var$2[1464] = 81;
    var$2[1465] = 7;
    var$2[1466] = 15;
    var$2[1467] = 0;
    var$2[1468] = 8;
    var$2[1469] = 103;
    var$2[1470] = 0;
    var$2[1471] = 8;
    var$2[1472] = 39;
    var$2[1473] = 0;
    var$2[1474] = 9;
    var$2[1475] = 175;
    var$2[1476] = 0;
    var$2[1477] = 8;
    var$2[1478] = 7;
    var$2[1479] = 0;
    var$2[1480] = 8;
    var$2[1481] = 135;
    var$2[1482] = 0;
    var$2[1483] = 8;
    var$2[1484] = 71;
    var$2[1485] = 0;
    var$2[1486] = 9;
    var$2[1487] = 239;
    var$2[1488] = 80;
    var$2[1489] = 7;
    var$2[1490] = 9;
    var$2[1491] = 0;
    var$2[1492] = 8;
    var$2[1493] = 95;
    var$2[1494] = 0;
    var$2[1495] = 8;
    var$2[1496] = 31;
    var$2[1497] = 0;
    var$2[1498] = 9;
    var$2[1499] = 159;
    var$2[1500] = 84;
    var$2[1501] = 7;
    var$2[1502] = 99;
    var$2[1503] = 0;
    var$2[1504] = 8;
    var$2[1505] = 127;
    var$2[1506] = 0;
    var$2[1507] = 8;
    var$2[1508] = 63;
    var$2[1509] = 0;
    var$2[1510] = 9;
    var$2[1511] = 223;
    var$2[1512] = 82;
    var$2[1513] = 7;
    var$2[1514] = 27;
    var$2[1515] = 0;
    var$2[1516] = 8;
    var$2[1517] = 111;
    var$2[1518] = 0;
    var$2[1519] = 8;
    var$2[1520] = 47;
    var$2[1521] = 0;
    var$2[1522] = 9;
    var$2[1523] = 191;
    var$2[1524] = 0;
    var$2[1525] = 8;
    var$2[1526] = 15;
    var$2[1527] = 0;
    var$2[1528] = 8;
    var$2[1529] = 143;
    var$2[1530] = 0;
    var$2[1531] = 8;
    var$2[1532] = 79;
    var$2[1533] = 0;
    var$2[1534] = 9;
    var$2[1535] = 255;
    cjj_InfTree_fixed_tl = var$1;
    var$1 = $rt_createIntArray(96);
    var$2 = var$1.data;
    var$2[0] = 80;
    var$2[1] = 5;
    var$2[2] = 1;
    var$2[3] = 87;
    var$2[4] = 5;
    var$2[5] = 257;
    var$2[6] = 83;
    var$2[7] = 5;
    var$2[8] = 17;
    var$2[9] = 91;
    var$2[10] = 5;
    var$2[11] = 4097;
    var$2[12] = 81;
    var$2[13] = 5;
    var$2[14] = 5;
    var$2[15] = 89;
    var$2[16] = 5;
    var$2[17] = 1025;
    var$2[18] = 85;
    var$2[19] = 5;
    var$2[20] = 65;
    var$2[21] = 93;
    var$2[22] = 5;
    var$2[23] = 16385;
    var$2[24] = 80;
    var$2[25] = 5;
    var$2[26] = 3;
    var$2[27] = 88;
    var$2[28] = 5;
    var$2[29] = 513;
    var$2[30] = 84;
    var$2[31] = 5;
    var$2[32] = 33;
    var$2[33] = 92;
    var$2[34] = 5;
    var$2[35] = 8193;
    var$2[36] = 82;
    var$2[37] = 5;
    var$2[38] = 9;
    var$2[39] = 90;
    var$2[40] = 5;
    var$2[41] = 2049;
    var$2[42] = 86;
    var$2[43] = 5;
    var$2[44] = 129;
    var$2[45] = 192;
    var$2[46] = 5;
    var$2[47] = 24577;
    var$2[48] = 80;
    var$2[49] = 5;
    var$2[50] = 2;
    var$2[51] = 87;
    var$2[52] = 5;
    var$2[53] = 385;
    var$2[54] = 83;
    var$2[55] = 5;
    var$2[56] = 25;
    var$2[57] = 91;
    var$2[58] = 5;
    var$2[59] = 6145;
    var$2[60] = 81;
    var$2[61] = 5;
    var$2[62] = 7;
    var$2[63] = 89;
    var$2[64] = 5;
    var$2[65] = 1537;
    var$2[66] = 85;
    var$2[67] = 5;
    var$2[68] = 97;
    var$2[69] = 93;
    var$2[70] = 5;
    var$2[71] = 24577;
    var$2[72] = 80;
    var$2[73] = 5;
    var$2[74] = 4;
    var$2[75] = 88;
    var$2[76] = 5;
    var$2[77] = 769;
    var$2[78] = 84;
    var$2[79] = 5;
    var$2[80] = 49;
    var$2[81] = 92;
    var$2[82] = 5;
    var$2[83] = 12289;
    var$2[84] = 82;
    var$2[85] = 5;
    var$2[86] = 13;
    var$2[87] = 90;
    var$2[88] = 5;
    var$2[89] = 3073;
    var$2[90] = 86;
    var$2[91] = 5;
    var$2[92] = 193;
    var$2[93] = 192;
    var$2[94] = 5;
    var$2[95] = 24577;
    cjj_InfTree_fixed_td = var$1;
    var$1 = $rt_createIntArray(31);
    var$2 = var$1.data;
    var$2[0] = 3;
    var$2[1] = 4;
    var$2[2] = 5;
    var$2[3] = 6;
    var$2[4] = 7;
    var$2[5] = 8;
    var$2[6] = 9;
    var$2[7] = 10;
    var$2[8] = 11;
    var$2[9] = 13;
    var$2[10] = 15;
    var$2[11] = 17;
    var$2[12] = 19;
    var$2[13] = 23;
    var$2[14] = 27;
    var$2[15] = 31;
    var$2[16] = 35;
    var$2[17] = 43;
    var$2[18] = 51;
    var$2[19] = 59;
    var$2[20] = 67;
    var$2[21] = 83;
    var$2[22] = 99;
    var$2[23] = 115;
    var$2[24] = 131;
    var$2[25] = 163;
    var$2[26] = 195;
    var$2[27] = 227;
    var$2[28] = 258;
    var$2[29] = 0;
    var$2[30] = 0;
    cjj_InfTree_cplens = var$1;
    var$1 = $rt_createIntArray(31);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 0;
    var$2[2] = 0;
    var$2[3] = 0;
    var$2[4] = 0;
    var$2[5] = 0;
    var$2[6] = 0;
    var$2[7] = 0;
    var$2[8] = 1;
    var$2[9] = 1;
    var$2[10] = 1;
    var$2[11] = 1;
    var$2[12] = 2;
    var$2[13] = 2;
    var$2[14] = 2;
    var$2[15] = 2;
    var$2[16] = 3;
    var$2[17] = 3;
    var$2[18] = 3;
    var$2[19] = 3;
    var$2[20] = 4;
    var$2[21] = 4;
    var$2[22] = 4;
    var$2[23] = 4;
    var$2[24] = 5;
    var$2[25] = 5;
    var$2[26] = 5;
    var$2[27] = 5;
    var$2[28] = 0;
    var$2[29] = 112;
    var$2[30] = 112;
    cjj_InfTree_cplext = var$1;
    var$1 = $rt_createIntArray(30);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 2;
    var$2[2] = 3;
    var$2[3] = 4;
    var$2[4] = 5;
    var$2[5] = 7;
    var$2[6] = 9;
    var$2[7] = 13;
    var$2[8] = 17;
    var$2[9] = 25;
    var$2[10] = 33;
    var$2[11] = 49;
    var$2[12] = 65;
    var$2[13] = 97;
    var$2[14] = 129;
    var$2[15] = 193;
    var$2[16] = 257;
    var$2[17] = 385;
    var$2[18] = 513;
    var$2[19] = 769;
    var$2[20] = 1025;
    var$2[21] = 1537;
    var$2[22] = 2049;
    var$2[23] = 3073;
    var$2[24] = 4097;
    var$2[25] = 6145;
    var$2[26] = 8193;
    var$2[27] = 12289;
    var$2[28] = 16385;
    var$2[29] = 24577;
    cjj_InfTree_cpdist = var$1;
    var$1 = $rt_createIntArray(30);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 0;
    var$2[2] = 0;
    var$2[3] = 0;
    var$2[4] = 1;
    var$2[5] = 1;
    var$2[6] = 2;
    var$2[7] = 2;
    var$2[8] = 3;
    var$2[9] = 3;
    var$2[10] = 4;
    var$2[11] = 4;
    var$2[12] = 5;
    var$2[13] = 5;
    var$2[14] = 6;
    var$2[15] = 6;
    var$2[16] = 7;
    var$2[17] = 7;
    var$2[18] = 8;
    var$2[19] = 8;
    var$2[20] = 9;
    var$2[21] = 9;
    var$2[22] = 10;
    var$2[23] = 10;
    var$2[24] = 11;
    var$2[25] = 11;
    var$2[26] = 12;
    var$2[27] = 12;
    var$2[28] = 13;
    var$2[29] = 13;
    cjj_InfTree_cpdext = var$1;
}
function cjj_InfCodes() {
    var a = this; jl_Object.call(a);
    a.$mode3 = 0;
    a.$len = 0;
    a.$tree = null;
    a.$tree_index = 0;
    a.$need0 = 0;
    a.$lit = 0;
    a.$get13 = 0;
    a.$dist = 0;
    a.$lbits = 0;
    a.$dbits = 0;
    a.$ltree = null;
    a.$ltree_index = 0;
    a.$dtree = null;
    a.$dtree_index = 0;
    a.$z4 = null;
    a.$s = null;
}
var cjj_InfCodes_inflate_mask = null;
function cjj_InfCodes_init($this, $bl, $bd, $tl, $tl_index, $td, $td_index) {
    $this.$mode3 = 0;
    $this.$lbits = $bl << 24 >> 24;
    $this.$dbits = $bd << 24 >> 24;
    $this.$ltree = $tl;
    $this.$ltree_index = $tl_index;
    $this.$dtree = $td;
    $this.$dtree_index = $td_index;
    $this.$tree = null;
}
function cjj_InfCodes_proc($this, $r) {
    var var$2, $n, var$4, var$5, $q, $m, $f, var$9, var$10, $j, $tindex, $e, var$14;
    var$2 = $this.$z4.$next_in_index;
    $n = $this.$z4.$avail_in;
    var$4 = $this.$s.$bitb;
    var$5 = $this.$s.$bitk;
    $q = $this.$s.$write4;
    $m = $q >= $this.$s.$read4 ? $this.$s.$end2 - $q | 0 : ($this.$s.$read4 - $q | 0) - 1 | 0;
    a: {
        b: while (true) {
            c: {
                d: {
                    e: {
                        f: {
                            g: {
                                switch ($this.$mode3) {
                                    case 0:
                                        break f;
                                    case 2:
                                        $f = $this.$get13;
                                        while (var$5 < $f) {
                                            if (!$n) {
                                                $this.$s.$bitb = var$4;
                                                $this.$s.$bitk = var$5;
                                                $this.$z4.$avail_in = $n;
                                                var$9 = $this.$z4;
                                                var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                                                $this.$z4.$next_in_index = var$2;
                                                $this.$s.$write4 = $q;
                                                return cjj_InfBlocks_inflate_flush($this.$s, $r);
                                            }
                                            $r = 0;
                                            $n = $n + (-1) | 0;
                                            var$10 = $this.$z4.$next_in.data;
                                            $j = var$2 + 1 | 0;
                                            var$4 = var$4 | (var$10[var$2] & 255) << var$5;
                                            var$5 = var$5 + 8 | 0;
                                            var$2 = $j;
                                        }
                                        $this.$len = $this.$len + (var$4 & cjj_InfCodes_inflate_mask.data[$f]) | 0;
                                        var$4 = var$4 >> $f;
                                        var$5 = var$5 - $f | 0;
                                        $this.$need0 = $this.$dbits;
                                        $this.$tree = $this.$dtree;
                                        $this.$tree_index = $this.$dtree_index;
                                        $this.$mode3 = 3;
                                        break g;
                                    case 4:
                                        $f = $this.$get13;
                                        while (var$5 < $f) {
                                            if (!$n) {
                                                $this.$s.$bitb = var$4;
                                                $this.$s.$bitk = var$5;
                                                $this.$z4.$avail_in = $n;
                                                var$9 = $this.$z4;
                                                var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                                                $this.$z4.$next_in_index = var$2;
                                                $this.$s.$write4 = $q;
                                                return cjj_InfBlocks_inflate_flush($this.$s, $r);
                                            }
                                            $r = 0;
                                            $n = $n + (-1) | 0;
                                            var$10 = $this.$z4.$next_in.data;
                                            $j = var$2 + 1 | 0;
                                            var$4 = var$4 | (var$10[var$2] & 255) << var$5;
                                            var$5 = var$5 + 8 | 0;
                                            var$2 = $j;
                                        }
                                        $this.$dist = $this.$dist + (var$4 & cjj_InfCodes_inflate_mask.data[$f]) | 0;
                                        var$4 = var$4 >> $f;
                                        var$5 = var$5 - $f | 0;
                                        $this.$mode3 = 5;
                                        break c;
                                    case 6:
                                        break d;
                                    case 7:
                                        if (var$5 > 7) {
                                            var$5 = var$5 + (-8) | 0;
                                            $n = $n + 1 | 0;
                                            var$2 = var$2 + (-1) | 0;
                                        }
                                        $this.$s.$write4 = $q;
                                        $r = cjj_InfBlocks_inflate_flush($this.$s, $r);
                                        $q = $this.$s.$write4;
                                        if ($this.$s.$read4 != $this.$s.$write4) {
                                            $this.$s.$bitb = var$4;
                                            $this.$s.$bitk = var$5;
                                            $this.$z4.$avail_in = $n;
                                            var$9 = $this.$z4;
                                            var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                                            $this.$z4.$next_in_index = var$2;
                                            $this.$s.$write4 = $q;
                                            return cjj_InfBlocks_inflate_flush($this.$s, $r);
                                        }
                                        $this.$mode3 = 8;
                                        break a;
                                    case 9:
                                        $this.$s.$bitb = var$4;
                                        $this.$s.$bitk = var$5;
                                        $this.$z4.$avail_in = $n;
                                        var$9 = $this.$z4;
                                        var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                                        $this.$z4.$next_in_index = var$2;
                                        $this.$s.$write4 = $q;
                                        return cjj_InfBlocks_inflate_flush($this.$s, (-3));
                                    case 1:
                                        break e;
                                    case 3:
                                        break;
                                    case 5:
                                        break c;
                                    case 8:
                                        break a;
                                    default:
                                        $this.$s.$bitb = var$4;
                                        $this.$s.$bitk = var$5;
                                        $this.$z4.$avail_in = $n;
                                        var$9 = $this.$z4;
                                        var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                                        $this.$z4.$next_in_index = var$2;
                                        $this.$s.$write4 = $q;
                                        return cjj_InfBlocks_inflate_flush($this.$s, (-2));
                                }
                            }
                            $j = $this.$need0;
                            while (var$5 < $j) {
                                if (!$n) {
                                    $this.$s.$bitb = var$4;
                                    $this.$s.$bitk = var$5;
                                    $this.$z4.$avail_in = $n;
                                    var$9 = $this.$z4;
                                    var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                                    $this.$z4.$next_in_index = var$2;
                                    $this.$s.$write4 = $q;
                                    return cjj_InfBlocks_inflate_flush($this.$s, $r);
                                }
                                $r = 0;
                                $n = $n + (-1) | 0;
                                var$10 = $this.$z4.$next_in.data;
                                $f = var$2 + 1 | 0;
                                var$4 = var$4 | (var$10[var$2] & 255) << var$5;
                                var$5 = var$5 + 8 | 0;
                                var$2 = $f;
                            }
                            $tindex = ($this.$tree_index + (var$4 & cjj_InfCodes_inflate_mask.data[$j]) | 0) * 3 | 0;
                            var$10 = $this.$tree.data;
                            $f = $tindex + 1 | 0;
                            var$4 = var$4 >> var$10[$f];
                            var$5 = var$5 - $this.$tree.data[$f] | 0;
                            $j = $this.$tree.data[$tindex];
                            if ($j & 16) {
                                $this.$get13 = $j & 15;
                                $this.$dist = $this.$tree.data[$tindex + 2 | 0];
                                $this.$mode3 = 4;
                                continue b;
                            }
                            if ($j & 64) {
                                $this.$mode3 = 9;
                                $this.$z4.$msg = $rt_s(1894);
                                $this.$s.$bitb = var$4;
                                $this.$s.$bitk = var$5;
                                $this.$z4.$avail_in = $n;
                                var$9 = $this.$z4;
                                var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                                $this.$z4.$next_in_index = var$2;
                                $this.$s.$write4 = $q;
                                return cjj_InfBlocks_inflate_flush($this.$s, (-3));
                            }
                            $this.$need0 = $j;
                            $this.$tree_index = ($tindex / 3 | 0) + $this.$tree.data[$tindex + 2 | 0] | 0;
                            continue b;
                        }
                        if ($m >= 258 && $n >= 10) {
                            $this.$s.$bitb = var$4;
                            $this.$s.$bitk = var$5;
                            $this.$z4.$avail_in = $n;
                            var$9 = $this.$z4;
                            var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                            $this.$z4.$next_in_index = var$2;
                            $this.$s.$write4 = $q;
                            $r = cjj_InfCodes_inflate_fast($this, $this.$lbits, $this.$dbits, $this.$ltree, $this.$ltree_index, $this.$dtree, $this.$dtree_index, $this.$s, $this.$z4);
                            var$2 = $this.$z4.$next_in_index;
                            $n = $this.$z4.$avail_in;
                            var$4 = $this.$s.$bitb;
                            var$5 = $this.$s.$bitk;
                            $q = $this.$s.$write4;
                            $m = $q >= $this.$s.$read4 ? $this.$s.$end2 - $q | 0 : ($this.$s.$read4 - $q | 0) - 1 | 0;
                            if ($r) {
                                $this.$mode3 = $r != 1 ? 9 : 7;
                                continue b;
                            }
                        }
                        $this.$need0 = $this.$lbits;
                        $this.$tree = $this.$ltree;
                        $this.$tree_index = $this.$ltree_index;
                        $this.$mode3 = 1;
                    }
                    $j = $this.$need0;
                    while (var$5 < $j) {
                        if (!$n)
                            break b;
                        $r = 0;
                        $n = $n + (-1) | 0;
                        var$10 = $this.$z4.$next_in.data;
                        $f = var$2 + 1 | 0;
                        var$4 = var$4 | (var$10[var$2] & 255) << var$5;
                        var$5 = var$5 + 8 | 0;
                        var$2 = $f;
                    }
                    $tindex = ($this.$tree_index + (var$4 & cjj_InfCodes_inflate_mask.data[$j]) | 0) * 3 | 0;
                    var$10 = $this.$tree.data;
                    $f = $tindex + 1 | 0;
                    var$4 = var$4 >>> var$10[$f];
                    var$5 = var$5 - $this.$tree.data[$f] | 0;
                    $e = $this.$tree.data[$tindex];
                    if (!$e) {
                        $this.$lit = $this.$tree.data[$tindex + 2 | 0];
                        $this.$mode3 = 6;
                        continue b;
                    }
                    if ($e & 16) {
                        $this.$get13 = $e & 15;
                        $this.$len = $this.$tree.data[$tindex + 2 | 0];
                        $this.$mode3 = 2;
                        continue b;
                    }
                    if (!($e & 64)) {
                        $this.$need0 = $e;
                        $this.$tree_index = ($tindex / 3 | 0) + $this.$tree.data[$tindex + 2 | 0] | 0;
                        continue b;
                    }
                    if (!($e & 32)) {
                        $this.$mode3 = 9;
                        $this.$z4.$msg = $rt_s(1895);
                        $this.$s.$bitb = var$4;
                        $this.$s.$bitk = var$5;
                        $this.$z4.$avail_in = $n;
                        var$9 = $this.$z4;
                        var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                        $this.$z4.$next_in_index = var$2;
                        $this.$s.$write4 = $q;
                        return cjj_InfBlocks_inflate_flush($this.$s, (-3));
                    }
                    $this.$mode3 = 7;
                    continue b;
                }
                if ($m)
                    $f = $q;
                else {
                    if ($q != $this.$s.$end2)
                        $f = $q;
                    else if (!$this.$s.$read4)
                        $f = $q;
                    else {
                        $f = 0;
                        $m = $f >= $this.$s.$read4 ? $this.$s.$end2 - $f | 0 : ($this.$s.$read4 - $f | 0) - 1 | 0;
                    }
                    if (!$m) {
                        $this.$s.$write4 = $f;
                        $r = cjj_InfBlocks_inflate_flush($this.$s, $r);
                        $f = $this.$s.$write4;
                        $m = $f >= $this.$s.$read4 ? $this.$s.$end2 - $f | 0 : ($this.$s.$read4 - $f | 0) - 1 | 0;
                        if ($f == $this.$s.$end2 && $this.$s.$read4) {
                            $f = 0;
                            $m = $f >= $this.$s.$read4 ? $this.$s.$end2 - $f | 0 : ($this.$s.$read4 - $f | 0) - 1 | 0;
                        }
                        if (!$m) {
                            $this.$s.$bitb = var$4;
                            $this.$s.$bitk = var$5;
                            $this.$z4.$avail_in = $n;
                            var$9 = $this.$z4;
                            var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                            $this.$z4.$next_in_index = var$2;
                            $this.$s.$write4 = $f;
                            return cjj_InfBlocks_inflate_flush($this.$s, $r);
                        }
                    }
                }
                $r = 0;
                var$10 = $this.$s.$window.data;
                $q = $f + 1 | 0;
                var$10[$f] = $this.$lit << 24 >> 24;
                $m = $m + (-1) | 0;
                $this.$mode3 = 0;
                continue b;
            }
            $f = $q - $this.$dist | 0;
            while ($f < 0) {
                $f = $f + $this.$s.$end2 | 0;
            }
            while ($this.$len) {
                if ($m)
                    $j = $q;
                else {
                    if ($q != $this.$s.$end2)
                        $j = $q;
                    else if (!$this.$s.$read4)
                        $j = $q;
                    else {
                        $j = 0;
                        $m = $j >= $this.$s.$read4 ? $this.$s.$end2 - $j | 0 : ($this.$s.$read4 - $j | 0) - 1 | 0;
                    }
                    if (!$m) {
                        $this.$s.$write4 = $j;
                        $r = cjj_InfBlocks_inflate_flush($this.$s, $r);
                        $j = $this.$s.$write4;
                        $m = $j >= $this.$s.$read4 ? $this.$s.$end2 - $j | 0 : ($this.$s.$read4 - $j | 0) - 1 | 0;
                        if ($j == $this.$s.$end2 && $this.$s.$read4) {
                            $j = 0;
                            $m = $j >= $this.$s.$read4 ? $this.$s.$end2 - $j | 0 : ($this.$s.$read4 - $j | 0) - 1 | 0;
                        }
                        if (!$m) {
                            $this.$s.$bitb = var$4;
                            $this.$s.$bitk = var$5;
                            $this.$z4.$avail_in = $n;
                            var$9 = $this.$z4;
                            var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
                            $this.$z4.$next_in_index = var$2;
                            $this.$s.$write4 = $j;
                            return cjj_InfBlocks_inflate_flush($this.$s, $r);
                        }
                    }
                }
                var$14 = $this.$s.$window.data;
                $q = $j + 1 | 0;
                var$10 = $this.$s.$window.data;
                $tindex = $f + 1 | 0;
                var$14[$j] = var$10[$f];
                $m = $m + (-1) | 0;
                $f = $tindex == $this.$s.$end2 ? 0 : $tindex;
                $this.$len = $this.$len - 1 | 0;
            }
            $this.$mode3 = 0;
        }
        $this.$s.$bitb = var$4;
        $this.$s.$bitk = var$5;
        $this.$z4.$avail_in = $n;
        var$9 = $this.$z4;
        var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
        $this.$z4.$next_in_index = var$2;
        $this.$s.$write4 = $q;
        return cjj_InfBlocks_inflate_flush($this.$s, $r);
    }
    $this.$s.$bitb = var$4;
    $this.$s.$bitk = var$5;
    $this.$z4.$avail_in = $n;
    var$9 = $this.$z4;
    var$9.$total_in = Long_add(var$9.$total_in, Long_fromInt(var$2 - $this.$z4.$next_in_index | 0));
    $this.$z4.$next_in_index = var$2;
    $this.$s.$write4 = $q;
    return cjj_InfBlocks_inflate_flush($this.$s, 1);
}
function cjj_InfCodes_free($this, $z) {
    return;
}
function cjj_InfCodes_inflate_fast($this, $bl, $bd, $tl, $tl_index, $td, $td_index, $s, $z) {
    var $p, $n, $b, $k, $q, $m, $ml, $md, var$17, var$18, $t, $tp_index_t_3, $c, $r, $d;
    $p = $z.$next_in_index;
    $n = $z.$avail_in;
    $b = $s.$bitb;
    $k = $s.$bitk;
    $q = $s.$write4;
    $m = $q >= $s.$read4 ? $s.$end2 - $q | 0 : ($s.$read4 - $q | 0) - 1 | 0;
    $ml = cjj_InfCodes_inflate_mask.data[$bl];
    $md = cjj_InfCodes_inflate_mask.data[$bd];
    while (true) {
        if ($k < 20) {
            $n = $n + (-1) | 0;
            var$17 = $z.$next_in.data;
            $bl = $p + 1 | 0;
            $b = $b | (var$17[$p] & 255) << $k;
            $k = $k + 8 | 0;
            $p = $bl;
            continue;
        }
        a: {
            var$18 = $tl.data;
            $t = $b & $ml;
            $tp_index_t_3 = ($tl_index + $t | 0) * 3 | 0;
            $bd = var$18[$tp_index_t_3];
            if (!$bd) {
                $bl = $tp_index_t_3 + 1 | 0;
                $b = $b >> var$18[$bl];
                $k = $k - var$18[$bl] | 0;
                var$17 = $s.$window.data;
                $bd = $q + 1 | 0;
                var$17[$q] = var$18[$tp_index_t_3 + 2 | 0] << 24 >> 24;
                $m = $m + (-1) | 0;
            } else {
                while (true) {
                    $bl = $tp_index_t_3 + 1 | 0;
                    $b = $b >> var$18[$bl];
                    $k = $k - var$18[$bl] | 0;
                    if ($bd & 16) {
                        $bl = $bd & 15;
                        $c = var$18[$tp_index_t_3 + 2 | 0] + ($b & cjj_InfCodes_inflate_mask.data[$bl]) | 0;
                        $r = $b >> $bl;
                        $k = $k - $bl | 0;
                        while ($k < 15) {
                            $n = $n + (-1) | 0;
                            var$17 = $z.$next_in.data;
                            $bl = $p + 1 | 0;
                            $r = $r | (var$17[$p] & 255) << $k;
                            $k = $k + 8 | 0;
                            $p = $bl;
                        }
                        var$17 = $td.data;
                        $bl = $r & $md;
                        $d = ($td_index + $bl | 0) * 3 | 0;
                        $bd = var$17[$d];
                        while (true) {
                            $b = $d + 1 | 0;
                            $r = $r >> var$17[$b];
                            $k = $k - var$17[$b] | 0;
                            if ($bd & 16)
                                break;
                            if ($bd & 64) {
                                $z.$msg = $rt_s(1894);
                                $bl = $z.$avail_in - $n | 0;
                                $bd = $k >> 3;
                                if ($bd < $bl)
                                    $bl = $bd;
                                $bd = $n + $bl | 0;
                                $tl_index = $p - $bl | 0;
                                $bl = $k - ($bl << 3) | 0;
                                $s.$bitb = $r;
                                $s.$bitk = $bl;
                                $z.$avail_in = $bd;
                                $z.$total_in = Long_add($z.$total_in, Long_fromInt($tl_index - $z.$next_in_index | 0));
                                $z.$next_in_index = $tl_index;
                                $s.$write4 = $q;
                                return (-3);
                            }
                            $bl = ($bl + var$17[$d + 2 | 0] | 0) + ($r & cjj_InfCodes_inflate_mask.data[$bd]) | 0;
                            $d = ($td_index + $bl | 0) * 3 | 0;
                            $bd = var$17[$d];
                        }
                        $bl = $bd & 15;
                        while ($k < $bl) {
                            $n = $n + (-1) | 0;
                            var$18 = $z.$next_in.data;
                            $bd = $p + 1 | 0;
                            $r = $r | (var$18[$p] & 255) << $k;
                            $k = $k + 8 | 0;
                            $p = $bd;
                        }
                        $d = var$17[$d + 2 | 0] + ($r & cjj_InfCodes_inflate_mask.data[$bl]) | 0;
                        $b = $r >> $bl;
                        $k = $k - $bl | 0;
                        $m = $m - $c | 0;
                        if ($q >= $d) {
                            $r = $q - $d | 0;
                            $bl = $q - $r | 0;
                            if ($bl > 0 && 2 > $bl) {
                                var$18 = $s.$window.data;
                                $bl = $q + 1 | 0;
                                var$17 = $s.$window.data;
                                $bd = $r + 1 | 0;
                                var$18[$q] = var$17[$r];
                                var$18 = $s.$window.data;
                                $q = $bl + 1 | 0;
                                var$17 = $s.$window.data;
                                $r = $bd + 1 | 0;
                                var$18[$bl] = var$17[$bd];
                                $c = $c + (-2) | 0;
                            } else {
                                jl_System_arraycopy($s.$window, $r, $s.$window, $q, 2);
                                $q = $q + 2 | 0;
                                $r = $r + 2 | 0;
                                $c = $c + (-2) | 0;
                            }
                        } else {
                            $r = $q - $d | 0;
                            while (true) {
                                $r = $r + $s.$end2 | 0;
                                if ($r >= 0)
                                    break;
                            }
                            $bl = $s.$end2 - $r | 0;
                            if ($c > $bl) {
                                $c = $c - $bl | 0;
                                $bd = $q - $r | 0;
                                if ($bd > 0 && $bl > $bd) {
                                    $bd = $q;
                                    while (true) {
                                        var$18 = $s.$window.data;
                                        $q = $bd + 1 | 0;
                                        var$17 = $s.$window.data;
                                        $d = $r + 1 | 0;
                                        var$18[$bd] = var$17[$r];
                                        $bl = $bl + (-1) | 0;
                                        if (!$bl)
                                            break;
                                        $bd = $q;
                                        $r = $d;
                                    }
                                } else {
                                    jl_System_arraycopy($s.$window, $r, $s.$window, $q, $bl);
                                    $q = $q + $bl | 0;
                                }
                                $r = 0;
                            }
                        }
                        $bl = $q - $r | 0;
                        if ($bl > 0 && $c > $bl) {
                            while (true) {
                                var$18 = $s.$window.data;
                                $bd = $q + 1 | 0;
                                var$17 = $s.$window.data;
                                $bl = $r + 1 | 0;
                                var$18[$q] = var$17[$r];
                                $c = $c + (-1) | 0;
                                if (!$c)
                                    break;
                                $q = $bd;
                                $r = $bl;
                            }
                            break a;
                        }
                        jl_System_arraycopy($s.$window, $r, $s.$window, $q, $c);
                        $bd = $q + $c | 0;
                        break a;
                    }
                    if ($bd & 64) {
                        if ($bd & 32) {
                            $c = $z.$avail_in - $n | 0;
                            $bl = $k >> 3;
                            if ($bl < $c)
                                $c = $bl;
                            $bl = $n + $c | 0;
                            $bd = $p - $c | 0;
                            $tl_index = $k - ($c << 3) | 0;
                            $s.$bitb = $b;
                            $s.$bitk = $tl_index;
                            $z.$avail_in = $bl;
                            $z.$total_in = Long_add($z.$total_in, Long_fromInt($bd - $z.$next_in_index | 0));
                            $z.$next_in_index = $bd;
                            $s.$write4 = $q;
                            return 1;
                        }
                        $z.$msg = $rt_s(1895);
                        $c = $z.$avail_in - $n | 0;
                        $bl = $k >> 3;
                        if ($bl < $c)
                            $c = $bl;
                        $tl_index = $n + $c | 0;
                        $bl = $p - $c | 0;
                        $bd = $k - ($c << 3) | 0;
                        $s.$bitb = $b;
                        $s.$bitk = $bd;
                        $z.$avail_in = $tl_index;
                        $z.$total_in = Long_add($z.$total_in, Long_fromInt($bl - $z.$next_in_index | 0));
                        $z.$next_in_index = $bl;
                        $s.$write4 = $q;
                        return (-3);
                    }
                    $t = ($t + var$18[$tp_index_t_3 + 2 | 0] | 0) + ($b & cjj_InfCodes_inflate_mask.data[$bd]) | 0;
                    $tp_index_t_3 = ($tl_index + $t | 0) * 3 | 0;
                    $bd = var$18[$tp_index_t_3];
                    if (!$bd)
                        break;
                }
                $bl = $tp_index_t_3 + 1 | 0;
                $b = $b >> var$18[$bl];
                $k = $k - var$18[$bl] | 0;
                var$17 = $s.$window.data;
                $bd = $q + 1 | 0;
                var$17[$q] = var$18[$tp_index_t_3 + 2 | 0] << 24 >> 24;
                $m = $m + (-1) | 0;
            }
        }
        if ($m < 258)
            break;
        if ($n < 10)
            break;
        $q = $bd;
    }
    $c = $z.$avail_in - $n | 0;
    $bl = $k >> 3;
    if ($bl < $c)
        $c = $bl;
    $bl = $n + $c | 0;
    $tl_index = $p - $c | 0;
    $td_index = $k - ($c << 3) | 0;
    $s.$bitb = $b;
    $s.$bitk = $td_index;
    $z.$avail_in = $bl;
    $z.$total_in = Long_add($z.$total_in, Long_fromInt($tl_index - $z.$next_in_index | 0));
    $z.$next_in_index = $tl_index;
    $s.$write4 = $bd;
    return 0;
}
function cjj_InfCodes__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(17);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 1;
    var$2[2] = 3;
    var$2[3] = 7;
    var$2[4] = 15;
    var$2[5] = 31;
    var$2[6] = 63;
    var$2[7] = 127;
    var$2[8] = 255;
    var$2[9] = 511;
    var$2[10] = 1023;
    var$2[11] = 2047;
    var$2[12] = 4095;
    var$2[13] = 8191;
    var$2[14] = 16383;
    var$2[15] = 32767;
    var$2[16] = 65535;
    cjj_InfCodes_inflate_mask = var$1;
}
function nms_PlayerControllerMP() {
    var a = this; jl_Object.call(a);
    a.$mc13 = null;
    a.$netClientHandler = null;
    a.$currentBlockX = 0;
    a.$currentBlockY = 0;
    a.$currentblockZ = 0;
    a.$field_85183_f = null;
    a.$curBlockDamageMP = 0.0;
    a.$stepSoundTickCounter = 0.0;
    a.$blockHitDelay = 0;
    a.$isHittingBlock = 0;
    a.$currentGameType = null;
    a.$currentPlayerItem = 0;
}
function nms_PlayerControllerMP_clickBlockCreative($par0Minecraft, $par1PlayerControllerMP, $par2, $par3, $par4, $par5) {
    var var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1PlayerControllerMP = $thread.pop();$par0Minecraft = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$7 = $par0Minecraft.$theWorld;
        $par0Minecraft = $par0Minecraft.$thePlayer;
        $ptr = 1;
    case 1:
        $tmp = nms_World_extinguishFire(var$7, $par0Minecraft, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        var$8 = $tmp;
        if (var$8)
            return;
        $ptr = 2;
    case 2:
        nms_PlayerControllerMP_onPlayerDestroyBlock($par1PlayerControllerMP, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($par0Minecraft, $par1PlayerControllerMP, $par2, $par3, $par4, $par5, var$7, var$8, $ptr);
}
function nms_PlayerControllerMP_setPlayerCapabilities($this, $par1EntityPlayer) {
    nms_EnumGameType_configurePlayerCapabilities($this.$currentGameType, $par1EntityPlayer.$capabilities);
}
function nms_PlayerControllerMP_enableEverythingIsScrewedUpMode($this) {
    return 0;
}
function nms_PlayerControllerMP_setGameType($this, $par1EnumGameType) {
    $this.$currentGameType = $par1EnumGameType;
    nms_EnumGameType_configurePlayerCapabilities($this.$currentGameType, $this.$mc13.$thePlayer.$capabilities);
}
function nms_PlayerControllerMP_flipPlayer($this, $par1EntityPlayer) {
    $par1EntityPlayer.$rotationYaw = (-180.0);
}
function nms_PlayerControllerMP_shouldDrawHUD($this) {
    return nms_EnumGameType_isSurvivalOrAdventure($this.$currentGameType);
}
function nms_PlayerControllerMP_onPlayerDestroyBlock($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6, var$7, $var7, $var8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_EnumGameType_isAdventure($this.$currentGameType) && !nms_EntityPlayer_canCurrentToolHarvestBlock($this.$mc13.$thePlayer, $par1, $par2, $par3))
            return 0;
        $var5 = $this.$mc13.$theWorld;
        nms_Block_$callClinit();
        $var6 = nms_Block_blocksList.data[nms_World_getBlockId($var5, $par1, $par2, $par3)];
        if ($var6 === null)
            return 0;
        var$7 = 2001;
        $par4 = $var6.$blockID + (nms_World_getBlockMetadata($var5, $par1, $par2, $par3) << 12) | 0;
        $ptr = 1;
    case 1:
        nms_World_playAuxSFX($var5, var$7, $par1, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = nms_World_getBlockMetadata($var5, $par1, $par2, $par3);
        $ptr = 2;
    case 2:
        $tmp = nms_World_setBlockToAir($var5, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        if ($var8)
            $var6.$onBlockDestroyedByPlayer($var5, $par1, $par2, $par3, $var7);
        $this.$currentBlockY = (-1);
        if (!nms_EnumGameType_isCreative($this.$currentGameType)) {
            $var9 = nms_EntityPlayer_getCurrentEquippedItem($this.$mc13.$thePlayer);
            if ($var9 !== null) {
                $par4 = $var6.$blockID;
                $var6 = $this.$mc13.$thePlayer;
                $ptr = 3;
                continue main;
            }
        }
        return $var8;
    case 3:
        nms_ItemStack_onBlockDestroyed($var9, $var5, $par4, $par1, $par2, $par3, $var6);
        if ($rt_suspending()) {
            break main;
        }
        if (!$var9.$stackSize)
            nms_EntityPlayer_destroyCurrentEquippedItem($this.$mc13.$thePlayer);
        return $var8;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, $var6, var$7, $var7, $var8, $var9, $ptr);
}
function nms_PlayerControllerMP_clickBlock($this, $par1, $par2, $par3, $par4) {
    var var$5, $var5, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!(nms_EnumGameType_isAdventure($this.$currentGameType) && !nms_EntityPlayer_canCurrentToolHarvestBlock($this.$mc13.$thePlayer, $par1, $par2, $par3))) {
            if (nms_EnumGameType_isCreative($this.$currentGameType)) {
                nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet14BlockDig__init_0(0, $par1, $par2, $par3, $par4));
                var$5 = $this.$mc13;
                $ptr = 1;
                continue main;
            }
            if (!($this.$isHittingBlock && nms_PlayerControllerMP_sameToolAndBlock($this, $par1, $par2, $par3))) {
                if ($this.$isHittingBlock)
                    nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet14BlockDig__init_0(1, $this.$currentBlockX, $this.$currentBlockY, $this.$currentblockZ, $par4));
                nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet14BlockDig__init_0(0, $par1, $par2, $par3, $par4));
                $var5 = nms_World_getBlockId($this.$mc13.$theWorld, $par1, $par2, $par3);
                if ($var5 > 0 && $this.$curBlockDamageMP === 0.0) {
                    nms_Block_$callClinit();
                    var$5 = nms_Block_blocksList.data[$var5];
                    var$7 = $this.$mc13.$theWorld;
                    var$8 = $this.$mc13.$thePlayer;
                    $ptr = 2;
                    continue main;
                }
                if ($var5 > 0) {
                    nms_Block_$callClinit();
                    if (nms_Block_getPlayerRelativeBlockHardness(nms_Block_blocksList.data[$var5], $this.$mc13.$thePlayer, $this.$mc13.$thePlayer.$worldObj, $par1, $par2, $par3) >= 1.0) {
                        $ptr = 3;
                        continue main;
                    }
                }
                $this.$isHittingBlock = 1;
                $this.$currentBlockX = $par1;
                $this.$currentBlockY = $par2;
                $this.$currentblockZ = $par3;
                $this.$field_85183_f = nms_EntityPlayerSP_getHeldItem($this.$mc13.$thePlayer);
                $this.$curBlockDamageMP = 0.0;
                $this.$stepSoundTickCounter = 0.0;
                nms_World_destroyBlockInWorldPartially($this.$mc13.$theWorld, $this.$mc13.$thePlayer.$entityId, $this.$currentBlockX, $this.$currentBlockY, $this.$currentblockZ, ($this.$curBlockDamageMP * 10.0 | 0) - 1 | 0);
            }
        }
        return;
    case 1:
        nms_PlayerControllerMP_clickBlockCreative(var$5, $this, $par1, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$blockHitDelay = 5;
        return;
    case 2:
        var$5.$onBlockClicked(var$7, $par1, $par2, $par3, var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5 > 0) {
            nms_Block_$callClinit();
            if (nms_Block_getPlayerRelativeBlockHardness(nms_Block_blocksList.data[$var5], $this.$mc13.$thePlayer, $this.$mc13.$thePlayer.$worldObj, $par1, $par2, $par3) >= 1.0) {
                $ptr = 3;
                continue main;
            }
        }
        $this.$isHittingBlock = 1;
        $this.$currentBlockX = $par1;
        $this.$currentBlockY = $par2;
        $this.$currentblockZ = $par3;
        $this.$field_85183_f = nms_EntityPlayerSP_getHeldItem($this.$mc13.$thePlayer);
        $this.$curBlockDamageMP = 0.0;
        $this.$stepSoundTickCounter = 0.0;
        nms_World_destroyBlockInWorldPartially($this.$mc13.$theWorld, $this.$mc13.$thePlayer.$entityId, $this.$currentBlockX, $this.$currentBlockY, $this.$currentblockZ, ($this.$curBlockDamageMP * 10.0 | 0) - 1 | 0);
        return;
    case 3:
        nms_PlayerControllerMP_onPlayerDestroyBlock($this, $par1, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, var$5, $var5, var$7, var$8, $ptr);
}
function nms_PlayerControllerMP_resetBlockRemoving($this) {
    if ($this.$isHittingBlock)
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet14BlockDig__init_0(1, $this.$currentBlockX, $this.$currentBlockY, $this.$currentblockZ, (-1)));
    $this.$isHittingBlock = 0;
    $this.$curBlockDamageMP = 0.0;
    nms_World_destroyBlockInWorldPartially($this.$mc13.$theWorld, $this.$mc13.$thePlayer.$entityId, $this.$currentBlockX, $this.$currentBlockY, $this.$currentblockZ, (-1));
}
function nms_PlayerControllerMP_onPlayerDamageBlock($this, $par1, $par2, $par3, $par4) {
    var var$5, $var5, $var6, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_PlayerControllerMP_syncCurrentPlayItem($this);
        if ($this.$blockHitDelay > 0)
            $this.$blockHitDelay = $this.$blockHitDelay - 1 | 0;
        else {
            if (nms_EnumGameType_isCreative($this.$currentGameType)) {
                $this.$blockHitDelay = 5;
                nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet14BlockDig__init_0(0, $par1, $par2, $par3, $par4));
                var$5 = $this.$mc13;
                $ptr = 1;
                continue main;
            }
            if (!nms_PlayerControllerMP_sameToolAndBlock($this, $par1, $par2, $par3)) {
                $ptr = 2;
                continue main;
            }
            $var5 = nms_World_getBlockId($this.$mc13.$theWorld, $par1, $par2, $par3);
            if (!$var5) {
                $this.$isHittingBlock = 0;
                return;
            }
            nms_Block_$callClinit();
            $var6 = nms_Block_blocksList.data[$var5];
            $this.$curBlockDamageMP = $this.$curBlockDamageMP + nms_Block_getPlayerRelativeBlockHardness($var6, $this.$mc13.$thePlayer, $this.$mc13.$thePlayer.$worldObj, $par1, $par2, $par3);
            if ($this.$stepSoundTickCounter % 4.0 === 0.0) {
                var$5 = $this.$mc13.$sndManager;
                var$8 = nms_StepSound_getStepSound($var6.$stepSound);
                var$9 = $par1 + 0.5;
                var$10 = $par2 + 0.5;
                var$11 = $par3 + 0.5;
                var$12 = ($var6.$stepSound.$stepSoundVolume + 1.0) / 8.0;
                var$13 = $var6.$stepSound.$stepSoundPitch * 0.5;
                $ptr = 3;
                continue main;
            }
            $this.$stepSoundTickCounter = $this.$stepSoundTickCounter + 1.0;
            if ($this.$curBlockDamageMP >= 1.0) {
                $this.$isHittingBlock = 0;
                nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet14BlockDig__init_0(2, $par1, $par2, $par3, $par4));
                $ptr = 4;
                continue main;
            }
            nms_World_destroyBlockInWorldPartially($this.$mc13.$theWorld, $this.$mc13.$thePlayer.$entityId, $this.$currentBlockX, $this.$currentBlockY, $this.$currentblockZ, ($this.$curBlockDamageMP * 10.0 | 0) - 1 | 0);
        }
        return;
    case 1:
        nms_PlayerControllerMP_clickBlockCreative(var$5, $this, $par1, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_PlayerControllerMP_clickBlock($this, $par1, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_SoundManager_playSound(var$5, var$8, var$9, var$10, var$11, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $this.$stepSoundTickCounter = $this.$stepSoundTickCounter + 1.0;
        if ($this.$curBlockDamageMP < 1.0) {
            nms_World_destroyBlockInWorldPartially($this.$mc13.$theWorld, $this.$mc13.$thePlayer.$entityId, $this.$currentBlockX, $this.$currentBlockY, $this.$currentblockZ, ($this.$curBlockDamageMP * 10.0 | 0) - 1 | 0);
            return;
        }
        $this.$isHittingBlock = 0;
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet14BlockDig__init_0(2, $par1, $par2, $par3, $par4));
        $ptr = 4;
    case 4:
        nms_PlayerControllerMP_onPlayerDestroyBlock($this, $par1, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$curBlockDamageMP = 0.0;
        $this.$stepSoundTickCounter = 0.0;
        $this.$blockHitDelay = 5;
        nms_World_destroyBlockInWorldPartially($this.$mc13.$theWorld, $this.$mc13.$thePlayer.$entityId, $this.$currentBlockX, $this.$currentBlockY, $this.$currentblockZ, ($this.$curBlockDamageMP * 10.0 | 0) - 1 | 0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, var$5, $var5, $var6, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
}
function nms_PlayerControllerMP_getBlockReachDistance($this) {
    return !nms_EnumGameType_isCreative($this.$currentGameType) ? 4.5 : 5.0;
}
function nms_PlayerControllerMP_updateController($this) {
    nms_PlayerControllerMP_syncCurrentPlayItem($this);
}
function nms_PlayerControllerMP_sameToolAndBlock($this, $par1, $par2, $par3) {
    var $var4, $var5;
    $var4 = nms_EntityPlayerSP_getHeldItem($this.$mc13.$thePlayer);
    $var5 = $this.$field_85183_f === null && $var4 === null ? 1 : 0;
    if ($this.$field_85183_f !== null && $var4 !== null)
        a: {
            b: {
                if ($var4.$itemID0 == $this.$field_85183_f.$itemID0 && nms_ItemStack_areItemStackTagsEqual($var4, $this.$field_85183_f)) {
                    if (nms_ItemStack_isItemStackDamageable($var4))
                        break b;
                    if ($var4.$itemDamage == $this.$field_85183_f.$itemDamage)
                        break b;
                }
                $var5 = 0;
                break a;
            }
            $var5 = 1;
        }
    return $par1 == $this.$currentBlockX && $par2 == $this.$currentBlockY && $par3 == $this.$currentblockZ && $var5 ? 1 : 0;
}
function nms_PlayerControllerMP_syncCurrentPlayItem($this) {
    var $var1;
    $var1 = $this.$mc13.$thePlayer.$inventory.$currentItem;
    if ($var1 != $this.$currentPlayerItem) {
        $this.$currentPlayerItem = $var1;
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet16BlockItemSwitch__init_0($this.$currentPlayerItem));
    }
}
function nms_PlayerControllerMP_onPlayerRightClick($this, $par1EntityPlayer, $par2World, $par3ItemStack, $par4, $par5, $par6, $par7, $par8Vec3) {
    var $var9, $var10, $var11, $var12, $var13, $var16, $var14, $var15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var16 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$par8Vec3 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3ItemStack = $thread.pop();$par2World = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_PlayerControllerMP_syncCurrentPlayItem($this);
        $var9 = $par8Vec3.$xCoord - $par4;
        $var10 = $par8Vec3.$yCoord - $par5;
        $var11 = $par8Vec3.$zCoord - $par6;
        $var12 = 0;
        if (!(nms_EntityPlayerSP_isSneaking($par1EntityPlayer) && nms_EntityPlayerSP_getHeldItem($par1EntityPlayer) !== null)) {
            $var13 = nms_World_getBlockId($par2World, $par4, $par5, $par6);
            if ($var13 > 0) {
                nms_Block_$callClinit();
                $par8Vec3 = nms_Block_blocksList.data[$var13];
                $ptr = 1;
                continue main;
            }
        }
        if (!$var12 && $par3ItemStack !== null && nms_ItemStack_getItem($par3ItemStack) instanceof nms_ItemBlock) {
            $var16 = nms_ItemStack_getItem($par3ItemStack);
            $ptr = 2;
            continue main;
        }
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet15Place__init_0($par4, $par5, $par6, $par7, nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory), $var9, $var10, $var11));
        if ($var12)
            return 1;
        if ($par3ItemStack === null)
            return 0;
        if (!nms_EnumGameType_isCreative($this.$currentGameType)) {
            $ptr = 3;
            continue main;
        }
        $var13 = $par3ItemStack.$itemDamage;
        $var14 = $par3ItemStack.$stackSize;
        $ptr = 4;
        continue main;
    case 1:
        $tmp = $par8Vec3.$onBlockActivated($par2World, $par4, $par5, $par6, $par1EntityPlayer, $par7, $var9, $var10, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $var13 = $tmp;
        if ($var13)
            $var12 = 1;
        if (!$var12 && $par3ItemStack !== null && nms_ItemStack_getItem($par3ItemStack) instanceof nms_ItemBlock) {
            $var16 = nms_ItemStack_getItem($par3ItemStack);
            $ptr = 2;
            continue main;
        }
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet15Place__init_0($par4, $par5, $par6, $par7, nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory), $var9, $var10, $var11));
        if ($var12)
            return 1;
        if ($par3ItemStack === null)
            return 0;
        if (!nms_EnumGameType_isCreative($this.$currentGameType)) {
            $ptr = 3;
            continue main;
        }
        $var13 = $par3ItemStack.$itemDamage;
        $var14 = $par3ItemStack.$stackSize;
        $ptr = 4;
        continue main;
    case 2:
        $tmp = $var16.$canPlaceItemBlockOnSide($par2World, $par4, $par5, $par6, $par7, $par1EntityPlayer, $par3ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        $var13 = $tmp;
        if (!$var13)
            return 0;
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet15Place__init_0($par4, $par5, $par6, $par7, nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory), $var9, $var10, $var11));
        if ($var12)
            return 1;
        if ($par3ItemStack === null)
            return 0;
        if (!nms_EnumGameType_isCreative($this.$currentGameType)) {
            $ptr = 3;
            continue main;
        }
        $var13 = $par3ItemStack.$itemDamage;
        $var14 = $par3ItemStack.$stackSize;
        $ptr = 4;
        continue main;
    case 3:
        $tmp = nms_ItemStack_tryPlaceItemIntoWorld($par3ItemStack, $par1EntityPlayer, $par2World, $par4, $par5, $par6, $par7, $var9, $var10, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $par4 = $tmp;
        return $par4;
    case 4:
        $tmp = nms_ItemStack_tryPlaceItemIntoWorld($par3ItemStack, $par1EntityPlayer, $par2World, $par4, $par5, $par6, $par7, $var9, $var10, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $var15 = $tmp;
        nms_ItemStack_setItemDamage($par3ItemStack, $var13);
        $par3ItemStack.$stackSize = $var14;
        return $var15;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2World, $par3ItemStack, $par4, $par5, $par6, $par7, $par8Vec3, $var9, $var10, $var11, $var12, $var13, $var16, $var14, $var15, $ptr);
}
function nms_PlayerControllerMP_sendUseItem($this, $par1EntityPlayer, $par2World, $par3ItemStack) {
    var $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3ItemStack = $thread.pop();$par2World = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_PlayerControllerMP_syncCurrentPlayItem($this);
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet15Place__init_0((-1), (-1), (-1), 255, nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory), 0.0, 0.0, 0.0));
        $var4 = $par3ItemStack.$stackSize;
        $ptr = 1;
    case 1:
        $tmp = nms_ItemStack_useItemRightClick($par3ItemStack, $par2World, $par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        if ($var5 === $par3ItemStack && !($var5 !== null && $var5.$stackSize != $var4))
            return 0;
        $par1EntityPlayer.$inventory.$mainInventory.data[$par1EntityPlayer.$inventory.$currentItem] = $var5;
        if (!$var5.$stackSize)
            $par1EntityPlayer.$inventory.$mainInventory.data[$par1EntityPlayer.$inventory.$currentItem] = null;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2World, $par3ItemStack, $var4, $var5, $ptr);
}
function nms_PlayerControllerMP_func_78754_a($this, $par1World) {
    var var$2, var$3, var$4, var$5;
    var$2 = new nms_EntityClientPlayerMP;
    var$3 = $this.$mc13;
    nle_EaglerProfile_$callClinit();
    var$4 = nle_EaglerProfile_username;
    var$5 = $this.$netClientHandler;
    nms_EntityPlayer__init_0(var$2);
    var$2.$sprintToggleTimer = 0;
    var$2.$sprintingTicksLeft = 0;
    var$2.$field_71162_ch = new nms_MouseFilter;
    var$2.$field_71160_ci = new nms_MouseFilter;
    var$2.$field_71161_cj = new nms_MouseFilter;
    nms_Entity_setWorld(var$2, $par1World);
    var$2.$mc11 = var$3;
    var$2.$dimension = 0;
    var$2.$username0 = var$4;
    var$2.$wasOnGround = 0;
    var$2.$shouldStopSneaking = 0;
    var$2.$wasSneaking = 0;
    var$2.$field_71168_co = 0;
    var$2.$hasSetHealth = 0;
    var$2.$sendQueue = var$5;
    return var$2;
}
function nms_PlayerControllerMP_attackEntity($this, $par1EntityPlayer, $par2Entity) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2Entity = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_PlayerControllerMP_syncCurrentPlayItem($this);
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet7UseEntity__init_0($par1EntityPlayer.$entityId, $par2Entity.$entityId, 1));
        $ptr = 1;
    case 1:
        nms_EntityPlayer_attackTargetEntityWithCurrentItem($par1EntityPlayer, $par2Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2Entity, $ptr);
}
function nms_PlayerControllerMP_func_78768_b($this, $par1EntityPlayer, $par2Entity) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2Entity = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_PlayerControllerMP_syncCurrentPlayItem($this);
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet7UseEntity__init_0($par1EntityPlayer.$entityId, $par2Entity.$entityId, 0));
        $ptr = 1;
    case 1:
        $tmp = nms_EntityPlayer_interactWith($par1EntityPlayer, $par2Entity);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $tmp;
        return var$3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2Entity, var$3, $ptr);
}
function nms_PlayerControllerMP_windowClick($this, $par1, $par2, $par3, $par4, $par5EntityPlayer) {
    var $var6, $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_Container_getNextTransactionID($par5EntityPlayer.$openContainer, $par5EntityPlayer.$inventory);
        $var7 = $par5EntityPlayer.$openContainer;
        $ptr = 1;
    case 1:
        $tmp = nms_Container_slotClick($var7, $par2, $par3, $par4, $par5EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        $par5EntityPlayer = $this.$netClientHandler;
        var$8 = new nms_Packet102WindowClick;
        nms_Packet__init_0(var$8);
        var$8.$window_Id = $par1;
        var$8.$inventorySlot = $par2;
        var$8.$mouseClick = $par3;
        var$8.$itemStack0 = $var7 === null ? null : nms_ItemStack_copy($var7);
        var$8.$action = $var6;
        var$8.$holdingShift = $par4;
        nms_NetClientHandler_addToSendQueue($par5EntityPlayer, var$8);
        return $var7;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5EntityPlayer, $var6, $var7, var$8, $ptr);
}
function nms_PlayerControllerMP_sendEnchantPacket($this, $par1, $par2) {
    var var$3, var$4;
    var$3 = $this.$netClientHandler;
    var$4 = new nms_Packet108EnchantItem;
    nms_Packet__init_0(var$4);
    var$4.$windowId1 = $par1;
    var$4.$enchantment = $par2;
    nms_NetClientHandler_addToSendQueue(var$3, var$4);
}
function nms_PlayerControllerMP_sendSlotPacket($this, $par1ItemStack, $par2) {
    if (nms_EnumGameType_isCreative($this.$currentGameType))
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet107CreativeSetSlot__init_0($par2, $par1ItemStack));
}
function nms_PlayerControllerMP_func_78752_a($this, $par1ItemStack) {
    if (nms_EnumGameType_isCreative($this.$currentGameType) && $par1ItemStack !== null)
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet107CreativeSetSlot__init_0((-1), $par1ItemStack));
}
function nms_PlayerControllerMP_onStoppedUsingItem($this, $par1EntityPlayer) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_PlayerControllerMP_syncCurrentPlayItem($this);
        nms_NetClientHandler_addToSendQueue($this.$netClientHandler, nms_Packet14BlockDig__init_0(5, 0, 0, 0, 255));
        $ptr = 1;
    case 1:
        nms_EntityPlayer_stopUsingItem($par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $ptr);
}
function nms_PlayerControllerMP_func_78763_f($this) {
    return 1;
}
function nms_PlayerControllerMP_isNotCreative($this) {
    return nms_EnumGameType_isCreative($this.$currentGameType) ? 0 : 1;
}
function nms_PlayerControllerMP_isInCreativeMode($this) {
    return nms_EnumGameType_isCreative($this.$currentGameType);
}
function nms_PlayerControllerMP_extendedReach($this) {
    return nms_EnumGameType_isCreative($this.$currentGameType);
}
function nms_EntityOtherPlayerMP() {
    var a = this; nms_EntityPlayer.call(a);
    a.$isItemInUse = 0;
    a.$otherPlayerMPPosRotationIncrements = 0;
    a.$otherPlayerMPX = 0.0;
    a.$otherPlayerMPY = 0.0;
    a.$otherPlayerMPZ = 0.0;
    a.$otherPlayerMPYaw = 0.0;
    a.$otherPlayerMPPitch = 0.0;
    a.$skinPacket = null;
}
function nms_EntityOtherPlayerMP_resetHeight($this) {
    $this.$yOffset = 0.0;
}
function nms_EntityOtherPlayerMP_attackEntityFrom($this, $par1DamageSource, $par2) {
    return 1;
}
function nms_EntityOtherPlayerMP_setPositionAndRotation2($this, $par1, $par3, $par5, $par7, $par8, $par9) {
    $this.$otherPlayerMPX = $par1;
    $this.$otherPlayerMPY = $par3;
    $this.$otherPlayerMPZ = $par5;
    $this.$otherPlayerMPYaw = $par7;
    $this.$otherPlayerMPPitch = $par8;
    $this.$otherPlayerMPPosRotationIncrements = $par9;
}
function nms_EntityOtherPlayerMP_updateCloak($this) {
    return;
}
function nms_EntityOtherPlayerMP_onUpdate($this) {
    var $var1, $var3, $var5, $var6, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$field_71082_cx = 0.0;
        $ptr = 1;
    case 1:
        nms_EntityPlayer_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$prevLimbYaw = $this.$limbYaw;
        $var1 = $this.$posX - $this.$prevPosX;
        $var3 = $this.$posZ - $this.$prevPosZ;
        $var5 = nms_MathHelper_sqrt_double($var1 * $var1 + $var3 * $var3) * 4.0;
        if ($var5 > 1.0)
            $var5 = 1.0;
        $this.$limbYaw = $this.$limbYaw + ($var5 - $this.$limbYaw) * 0.4000000059604645;
        $this.$limbSwing = $this.$limbSwing + $this.$limbYaw;
        if (!$this.$isItemInUse && nms_Entity_isEating($this) && $this.$inventory.$mainInventory.data[$this.$inventory.$currentItem] !== null) {
            $var6 = $this.$inventory.$mainInventory.data[$this.$inventory.$currentItem];
            var$5 = $this.$inventory.$mainInventory.data[$this.$inventory.$currentItem];
            nms_Item_$callClinit();
            nms_EntityPlayer_setItemInUse($this, var$5, nms_Item_itemsList.data[$var6.$itemID0].$getMaxItemUseDuration0($var6));
            $this.$isItemInUse = 1;
        } else if ($this.$isItemInUse && !nms_Entity_isEating($this)) {
            nms_EntityPlayer_clearItemInUse($this);
            $this.$isItemInUse = 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var3, $var5, $var6, var$5, $ptr);
}
function nms_EntityOtherPlayerMP_getShadowSize($this) {
    return 0.0;
}
function nms_EntityOtherPlayerMP_onLivingUpdate($this) {
    var $var1, $var3, $var5, $var7, $var9, $var2;
    nms_EntityLiving_updateArmSwingProgress($this);
    if ($this.$otherPlayerMPPosRotationIncrements > 0) {
        $var1 = $this.$posX + ($this.$otherPlayerMPX - $this.$posX) / $this.$otherPlayerMPPosRotationIncrements;
        $var3 = $this.$posY + ($this.$otherPlayerMPY - $this.$posY) / $this.$otherPlayerMPPosRotationIncrements;
        $var5 = $this.$posZ + ($this.$otherPlayerMPZ - $this.$posZ) / $this.$otherPlayerMPPosRotationIncrements;
        $var7 = $this.$otherPlayerMPYaw - $this.$rotationYaw;
        while ($var7 < (-180.0)) {
            $var7 = $var7 + 360.0;
        }
        while ($var7 >= 180.0) {
            $var7 = $var7 - 360.0;
        }
        $this.$rotationYaw = $this.$rotationYaw + $var7 / $this.$otherPlayerMPPosRotationIncrements;
        $this.$rotationPitch = $this.$rotationPitch + ($this.$otherPlayerMPPitch - $this.$rotationPitch) / $this.$otherPlayerMPPosRotationIncrements;
        $this.$otherPlayerMPPosRotationIncrements = $this.$otherPlayerMPPosRotationIncrements - 1 | 0;
        nms_Entity_setPosition($this, $var1, $var3, $var5);
        nms_Entity_setRotation($this, $this.$rotationYaw, $this.$rotationPitch);
    }
    $this.$prevCameraYaw = $this.$cameraYaw0;
    $var9 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionZ * $this.$motionZ);
    $var2 = jl_Math_atan( -$this.$motionY * 0.20000000298023224) * 15.0;
    if ($var9 > 0.10000000149011612)
        $var9 = 0.10000000149011612;
    if (!($this.$onGround && $this.$health > 0))
        $var9 = 0.0;
    if (!(!$this.$onGround && $this.$health > 0))
        $var2 = 0.0;
    $this.$cameraYaw0 = $this.$cameraYaw0 + ($var9 - $this.$cameraYaw0) * 0.4000000059604645;
    $this.$cameraPitch0 = $this.$cameraPitch0 + ($var2 - $this.$cameraPitch0) * 0.800000011920929;
}
function nms_EntityOtherPlayerMP_setCurrentItemOrArmor($this, $par1, $par2ItemStack) {
    if ($par1)
        $this.$inventory.$armorInventory.data[$par1 - 1 | 0] = $par2ItemStack;
    else
        $this.$inventory.$mainInventory.data[$this.$inventory.$currentItem] = $par2ItemStack;
}
function nms_EntityOtherPlayerMP_getEyeHeight($this) {
    return 1.8200000524520874;
}
function nms_PlayerCapabilities() {
    var a = this; jl_Object.call(a);
    a.$disableDamage = 0;
    a.$isFlying = 0;
    a.$allowFlying = 0;
    a.$isCreativeMode = 0;
    a.$allowEdit = 0;
    a.$flySpeed = 0.0;
    a.$walkSpeed = 0.0;
}
function nms_PlayerCapabilities__init_0() {
    var var_0 = new nms_PlayerCapabilities();
    nms_PlayerCapabilities__init_(var_0);
    return var_0;
}
function nms_PlayerCapabilities__init_($this) {
    $this.$disableDamage = 0;
    $this.$isFlying = 0;
    $this.$allowFlying = 0;
    $this.$isCreativeMode = 0;
    $this.$allowEdit = 1;
    $this.$flySpeed = 0.05000000074505806;
    $this.$walkSpeed = 0.10000000149011612;
}
function nms_PlayerCapabilities_getFlySpeed($this) {
    return $this.$flySpeed;
}
function nms_PlayerCapabilities_setFlySpeed($this, $par1) {
    $this.$flySpeed = $par1;
}
function nms_PlayerCapabilities_getWalkSpeed($this) {
    return $this.$walkSpeed;
}
function nms_PlayerCapabilities_setPlayerWalkSpeed($this, $par1) {
    $this.$walkSpeed = $par1;
}
function nms_Vec3() {
    var a = this; jl_Object.call(a);
    a.$myVec3LocalPool = null;
    a.$xCoord = 0.0;
    a.$yCoord = 0.0;
    a.$zCoord = 0.0;
}
var nms_Vec3_fakePool = null;
function nms_Vec3__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_Vec3();
    nms_Vec3__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_Vec3_createVectorHelper($par0, $par2, $par4) {
    return nms_Vec3__init_(nms_Vec3_fakePool, $par0, $par2, $par4);
}
function nms_Vec3__init_0($this, $par1Vec3Pool, $par2, $par4, $par6) {
    if ($par2 === -0.0)
        $par2 = 0.0;
    if ($par4 === -0.0)
        $par4 = 0.0;
    if ($par6 === -0.0)
        $par6 = 0.0;
    $this.$xCoord = $par2;
    $this.$yCoord = $par4;
    $this.$zCoord = $par6;
    $this.$myVec3LocalPool = $par1Vec3Pool;
}
function nms_Vec3_setComponents($this, $par1, $par3, $par5) {
    $this.$xCoord = $par1;
    $this.$yCoord = $par3;
    $this.$zCoord = $par5;
    return $this;
}
function nms_Vec3_subtract($this, $par1Vec3) {
    return nms_Vec3Pool_getVecFromPool($this.$myVec3LocalPool, $par1Vec3.$xCoord - $this.$xCoord, $par1Vec3.$yCoord - $this.$yCoord, $par1Vec3.$zCoord - $this.$zCoord);
}
function nms_Vec3_normalize($this) {
    var $var1;
    $var1 = nms_MathHelper_sqrt_double($this.$xCoord * $this.$xCoord + $this.$yCoord * $this.$yCoord + $this.$zCoord * $this.$zCoord);
    return $var1 < 1.0E-4 ? nms_Vec3Pool_getVecFromPool($this.$myVec3LocalPool, 0.0, 0.0, 0.0) : nms_Vec3Pool_getVecFromPool($this.$myVec3LocalPool, $this.$xCoord / $var1, $this.$yCoord / $var1, $this.$zCoord / $var1);
}
function nms_Vec3_dotProduct($this, $par1Vec3) {
    return $this.$xCoord * $par1Vec3.$xCoord + $this.$yCoord * $par1Vec3.$yCoord + $this.$zCoord * $par1Vec3.$zCoord;
}
function nms_Vec3_addVector($this, $par1, $par3, $par5) {
    return nms_Vec3Pool_getVecFromPool($this.$myVec3LocalPool, $this.$xCoord + $par1, $this.$yCoord + $par3, $this.$zCoord + $par5);
}
function nms_Vec3_distanceTo($this, $par1Vec3) {
    var $var2, $var4, $var6;
    $var2 = $par1Vec3.$xCoord - $this.$xCoord;
    $var4 = $par1Vec3.$yCoord - $this.$yCoord;
    $var6 = $par1Vec3.$zCoord - $this.$zCoord;
    return nms_MathHelper_sqrt_double($var2 * $var2 + $var4 * $var4 + $var6 * $var6);
}
function nms_Vec3_squareDistanceTo($this, $par1Vec3) {
    var $var2, $var4, $var6;
    $var2 = $par1Vec3.$xCoord - $this.$xCoord;
    $var4 = $par1Vec3.$yCoord - $this.$yCoord;
    $var6 = $par1Vec3.$zCoord - $this.$zCoord;
    return $var2 * $var2 + $var4 * $var4 + $var6 * $var6;
}
function nms_Vec3_squareDistanceTo0($this, $par1, $par3, $par5) {
    var $var7, $var9, $var11;
    $var7 = $par1 - $this.$xCoord;
    $var9 = $par3 - $this.$yCoord;
    $var11 = $par5 - $this.$zCoord;
    return $var7 * $var7 + $var9 * $var9 + $var11 * $var11;
}
function nms_Vec3_lengthVector($this) {
    return nms_MathHelper_sqrt_double($this.$xCoord * $this.$xCoord + $this.$yCoord * $this.$yCoord + $this.$zCoord * $this.$zCoord);
}
function nms_Vec3_getIntermediateWithXValue($this, $par1Vec3, $par2) {
    var $var4, $var6, $var8, $var10;
    $var4 = $par1Vec3.$xCoord - $this.$xCoord;
    $var6 = $par1Vec3.$yCoord - $this.$yCoord;
    $var8 = $par1Vec3.$zCoord - $this.$zCoord;
    if ($var4 * $var4 < 1.0000000116860974E-7)
        return null;
    $var10 = ($par2 - $this.$xCoord) / $var4;
    return $var10 >= 0.0 && $var10 <= 1.0 ? nms_Vec3Pool_getVecFromPool($this.$myVec3LocalPool, $this.$xCoord + $var4 * $var10, $this.$yCoord + $var6 * $var10, $this.$zCoord + $var8 * $var10) : null;
}
function nms_Vec3_getIntermediateWithYValue($this, $par1Vec3, $par2) {
    var $var4, $var6, $var8, $var10;
    $var4 = $par1Vec3.$xCoord - $this.$xCoord;
    $var6 = $par1Vec3.$yCoord - $this.$yCoord;
    $var8 = $par1Vec3.$zCoord - $this.$zCoord;
    if ($var6 * $var6 < 1.0000000116860974E-7)
        return null;
    $var10 = ($par2 - $this.$yCoord) / $var6;
    return $var10 >= 0.0 && $var10 <= 1.0 ? nms_Vec3Pool_getVecFromPool($this.$myVec3LocalPool, $this.$xCoord + $var4 * $var10, $this.$yCoord + $var6 * $var10, $this.$zCoord + $var8 * $var10) : null;
}
function nms_Vec3_getIntermediateWithZValue($this, $par1Vec3, $par2) {
    var $var4, $var6, $var8, $var10;
    $var4 = $par1Vec3.$xCoord - $this.$xCoord;
    $var6 = $par1Vec3.$yCoord - $this.$yCoord;
    $var8 = $par1Vec3.$zCoord - $this.$zCoord;
    if ($var8 * $var8 < 1.0000000116860974E-7)
        return null;
    $var10 = ($par2 - $this.$zCoord) / $var8;
    return $var10 >= 0.0 && $var10 <= 1.0 ? nms_Vec3Pool_getVecFromPool($this.$myVec3LocalPool, $this.$xCoord + $var4 * $var10, $this.$yCoord + $var6 * $var10, $this.$zCoord + $var8 * $var10) : null;
}
function nms_Vec3_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1896));
    var$1 = jl_StringBuilder_append4(var$1, $this.$xCoord);
    jl_AbstractStringBuilder_append(var$1, $rt_s(368));
    var$1 = jl_StringBuilder_append4(var$1, $this.$yCoord);
    jl_AbstractStringBuilder_append(var$1, $rt_s(368));
    var$1 = jl_StringBuilder_append4(var$1, $this.$zCoord);
    jl_AbstractStringBuilder_append(var$1, $rt_s(68));
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_Vec3_rotateAroundX($this, $par1) {
    var $var2, $var3, $var4, $var8, var$6, var$7, $var6;
    $var2 = nms_MathHelper_cos($par1);
    $var3 = nms_MathHelper_sin($par1);
    $var4 = $this.$xCoord;
    $var8 = $this.$yCoord;
    var$6 = $var2;
    var$7 = $var8 * var$6;
    $var6 = $this.$zCoord;
    $var8 = $var3;
    $var6 = var$7 + $var6 * $var8;
    $var8 = $this.$zCoord * var$6 - $this.$yCoord * $var8;
    $this.$xCoord = $var4;
    $this.$yCoord = $var6;
    $this.$zCoord = $var8;
}
function nms_Vec3_rotateAroundY($this, $par1) {
    var $var2, $var3, $var4, $var8, $var6, var$7;
    $var2 = nms_MathHelper_cos($par1);
    $var3 = nms_MathHelper_sin($par1);
    $var4 = $this.$xCoord;
    $var8 = $var2;
    $var4 = $var4 * $var8;
    $var6 = $this.$zCoord;
    var$7 = $var3;
    $var4 = $var4 + $var6 * var$7;
    $var6 = $this.$yCoord;
    $var8 = $this.$zCoord * $var8 - $this.$xCoord * var$7;
    $this.$xCoord = $var4;
    $this.$yCoord = $var6;
    $this.$zCoord = $var8;
}
function nms_Vec3_rotateAroundZ($this, $par1) {
    var $var2, $var3, $var4, $var6, $var8, var$7;
    $var2 = nms_MathHelper_cos($par1);
    $var3 = nms_MathHelper_sin($par1);
    $var4 = $this.$xCoord;
    $var6 = $var2;
    $var4 = $var4 * $var6;
    $var8 = $this.$yCoord;
    var$7 = $var3;
    $var4 = $var4 + $var8 * var$7;
    $var6 = $this.$yCoord * $var6 - $this.$xCoord * var$7;
    $var8 = $this.$zCoord;
    $this.$xCoord = $var4;
    $this.$yCoord = $var6;
    $this.$zCoord = $var8;
}
function nms_Vec3__clinit_() {
    nms_Vec3_fakePool = nms_Vec3Pool__init_((-1), (-1));
}
function nms_GuiParticle() {
    var a = this; nms_Gui.call(a);
    a.$particles = null;
    a.$mc3 = null;
}
var nms_GuiParticle_tex_particles = null;
function nms_GuiParticle_update($this) {
    var $var1, $var2, var$3;
    $var1 = 0;
    while ($var1 < $this.$particles.$size) {
        $var2 = ju_ArrayList_get($this.$particles, $var1);
        $var2.$preUpdate();
        $var2.$update3($this);
        if (!$var2.$isDead0)
            var$3 = $var1;
        else {
            $var2 = $this.$particles;
            var$3 = $var1 + (-1) | 0;
            ju_ArrayList_remove($var2, $var1);
        }
        $var1 = var$3 + 1 | 0;
    }
}
function nms_GuiParticle_draw($this, $par1) {
    var $var3, $var2, var$4, $var4, $var5, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var3 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = nms_GuiParticle_tex_particles;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var3);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = 0;
        var$4 = $par1;
        while ($var2 < $this.$particles.$size) {
            $var3 = ju_ArrayList_get($this.$particles, $var2);
            $var4 = $var3.$prevPosX0 + ($var3.$posX5 - $var3.$prevPosX0) * var$4 - 4.0 | 0;
            $var5 = $var3.$prevPosY0 + ($var3.$posY5 - $var3.$prevPosY0) * var$4 - 4.0 | 0;
            $var6 = $var3.$prevTintAlpha + ($var3.$tintAlpha - $var3.$prevTintAlpha) * var$4;
            nleg_EaglerAdapterGL30_glColor4f($var3.$prevTintRed + ($var3.$tintRed - $var3.$prevTintRed) * var$4, $var3.$prevTintGreen + ($var3.$tintGreen - $var3.$prevTintGreen) * var$4, $var3.$prevTintBlue + ($var3.$tintBlue - $var3.$prevTintBlue) * var$4, $var6);
            nms_Gui_drawTexturedModalRect($this, $var4, $var5, 40, 0, 8, 8);
            $var2 = $var2 + 1 | 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var3, $var2, var$4, $var4, $var5, $var6, $ptr);
}
function nms_GuiParticle__clinit_() {
    nms_GuiParticle_tex_particles = nle_TextureLocation__init_($rt_s(1897));
}
function nms_MovingObjectPosition() {
    var a = this; jl_Object.call(a);
    a.$typeOfHit = null;
    a.$blockX = 0;
    a.$blockY = 0;
    a.$blockZ = 0;
    a.$sideHit = 0;
    a.$hitVec = null;
    a.$entityHit = null;
}
function nms_MovingObjectPosition__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_MovingObjectPosition();
    nms_MovingObjectPosition__init_1(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_MovingObjectPosition__init_0(var_0) {
    var var_1 = new nms_MovingObjectPosition();
    nms_MovingObjectPosition__init_2(var_1, var_0);
    return var_1;
}
function nms_MovingObjectPosition__init_1($this, $par1, $par2, $par3, $par4, $par5Vec3) {
    $this.$typeOfHit = nms_EnumMovingObjectType_TILE;
    $this.$blockX = $par1;
    $this.$blockY = $par2;
    $this.$blockZ = $par3;
    $this.$sideHit = $par4;
    $this.$hitVec = nms_Vec3Pool_getVecFromPool($par5Vec3.$myVec3LocalPool, $par5Vec3.$xCoord, $par5Vec3.$yCoord, $par5Vec3.$zCoord);
}
function nms_MovingObjectPosition__init_2($this, $par1Entity) {
    $this.$typeOfHit = nms_EnumMovingObjectType_ENTITY;
    $this.$entityHit = $par1Entity;
    $this.$hitVec = nms_Vec3Pool_getVecFromPool($par1Entity.$worldObj.$vecPool, $par1Entity.$posX, $par1Entity.$posY, $par1Entity.$posZ);
}
function nms_EnumMovingObjectType() {
    jl_Enum.call(this);
}
var nms_EnumMovingObjectType_TILE = null;
var nms_EnumMovingObjectType_ENTITY = null;
var nms_EnumMovingObjectType_$VALUES = null;
function nms_EnumMovingObjectType__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nms_EnumMovingObjectType;
    jl_Enum__init_0(var$1, $rt_s(1898), 0);
    nms_EnumMovingObjectType_TILE = var$1;
    var$1 = new nms_EnumMovingObjectType;
    jl_Enum__init_0(var$1, $rt_s(1899), 1);
    nms_EnumMovingObjectType_ENTITY = var$1;
    var$2 = $rt_createArray(nms_EnumMovingObjectType, 2);
    var$3 = var$2.data;
    var$3[0] = nms_EnumMovingObjectType_TILE;
    var$3[1] = nms_EnumMovingObjectType_ENTITY;
    nms_EnumMovingObjectType_$VALUES = var$2;
}
function nms_ItemStack() {
    var a = this; jl_Object.call(a);
    a.$stackSize = 0;
    a.$animationsToGo = 0;
    a.$itemID0 = 0;
    a.$stackTagCompound = null;
    a.$itemDamage = 0;
    a.$itemFrame = null;
}
function nms_ItemStack__init_2(var_0) {
    var var_1 = new nms_ItemStack();
    nms_ItemStack__init_11(var_1, var_0);
    return var_1;
}
function nms_ItemStack__init_9(var_0, var_1) {
    var var_2 = new nms_ItemStack();
    nms_ItemStack__init_6(var_2, var_0, var_1);
    return var_2;
}
function nms_ItemStack__init_12(var_0, var_1, var_2) {
    var var_3 = new nms_ItemStack();
    nms_ItemStack__init_13(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_ItemStack__init_5(var_0) {
    var var_1 = new nms_ItemStack();
    nms_ItemStack__init_7(var_1, var_0);
    return var_1;
}
function nms_ItemStack__init_8(var_0, var_1) {
    var var_2 = new nms_ItemStack();
    nms_ItemStack__init_1(var_2, var_0, var_1);
    return var_2;
}
function nms_ItemStack__init_4(var_0, var_1, var_2) {
    var var_3 = new nms_ItemStack();
    nms_ItemStack__init_3(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_ItemStack__init_0(var_0, var_1, var_2) {
    var var_3 = new nms_ItemStack();
    nms_ItemStack__init_10(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_ItemStack__init_14() {
    var var_0 = new nms_ItemStack();
    nms_ItemStack__init_(var_0);
    return var_0;
}
function nms_ItemStack__init_11($this, $par1Block) {
    nms_ItemStack__init_6($this, $par1Block, 1);
}
function nms_ItemStack__init_6($this, $par1Block, $par2) {
    nms_ItemStack__init_10($this, $par1Block.$blockID, $par2, 0);
}
function nms_ItemStack__init_13($this, $par1Block, $par2, $par3) {
    nms_ItemStack__init_10($this, $par1Block.$blockID, $par2, $par3);
}
function nms_ItemStack__init_7($this, $par1Item) {
    nms_ItemStack__init_10($this, $par1Item.$itemID, 1, 0);
}
function nms_ItemStack__init_1($this, $par1Item, $par2) {
    nms_ItemStack__init_10($this, $par1Item.$itemID, $par2, 0);
}
function nms_ItemStack__init_3($this, $par1Item, $par2, $par3) {
    nms_ItemStack__init_10($this, $par1Item.$itemID, $par2, $par3);
}
function nms_ItemStack__init_10($this, $par1, $par2, $par3) {
    $this.$stackSize = 0;
    $this.$itemFrame = null;
    $this.$itemID0 = $par1;
    $this.$stackSize = $par2;
    $this.$itemDamage = $par3;
    if ($this.$itemDamage < 0)
        $this.$itemDamage = 0;
}
function nms_ItemStack_loadItemStackFromNBT($par0NBTTagCompound) {
    var $var1;
    $var1 = nms_ItemStack__init_14();
    nms_ItemStack_readFromNBT($var1, $par0NBTTagCompound);
    if (nms_ItemStack_getItem($var1) === null)
        $var1 = null;
    return $var1;
}
function nms_ItemStack__init_($this) {
    $this.$stackSize = 0;
    $this.$itemFrame = null;
}
function nms_ItemStack_splitStack($this, $par1) {
    var $var2;
    $var2 = nms_ItemStack__init_0($this.$itemID0, $par1, $this.$itemDamage);
    if ($this.$stackTagCompound !== null)
        $var2.$stackTagCompound = nms_NBTTagCompound_copy($this.$stackTagCompound);
    $this.$stackSize = $this.$stackSize - $par1 | 0;
    return $var2;
}
function nms_ItemStack_getItem($this) {
    nms_Item_$callClinit();
    return nms_Item_itemsList.data[$this.$itemID0];
}
function nms_ItemStack_getIconIndex($this) {
    return nms_Item_getIconIndex(nms_ItemStack_getItem($this), $this);
}
function nms_ItemStack_getItemSpriteNumber($this) {
    return nms_ItemStack_getItem($this).$getSpriteNumber();
}
function nms_ItemStack_tryPlaceItemIntoWorld($this, $par1EntityPlayer, $par2World, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    var var$10, $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();var$10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2World = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$10 = nms_ItemStack_getItem($this);
        $ptr = 1;
    case 1:
        $tmp = var$10.$onItemUse($this, $par1EntityPlayer, $par2World, $par3, $par4, $par5, $par6, $par7, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $tmp;
        return $var10;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2World, $par3, $par4, $par5, $par6, $par7, $par8, $par9, var$10, $var10, $ptr);
}
function nms_ItemStack_getStrVsBlock($this, $par1Block) {
    return nms_ItemStack_getItem($this).$getStrVsBlock0($this, $par1Block);
}
function nms_ItemStack_useItemRightClick($this, $par1World, $par2EntityPlayer) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2EntityPlayer = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = nms_ItemStack_getItem($this);
        $ptr = 1;
    case 1:
        $tmp = var$3.$onItemRightClick($this, $par1World, $par2EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return $par1World;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2EntityPlayer, var$3, $ptr);
}
function nms_ItemStack_onFoodEaten($this, $par1World, $par2EntityPlayer) {
    return nms_ItemStack_getItem($this).$onEaten($this, $par1World, $par2EntityPlayer);
}
function nms_ItemStack_writeToNBT($this, $par1NBTTagCompound) {
    nms_NBTTagCompound_setShort($par1NBTTagCompound, $rt_s(1900), $this.$itemID0 << 16 >> 16);
    nms_NBTTagCompound_setByte($par1NBTTagCompound, $rt_s(1901), $this.$stackSize << 24 >> 24);
    nms_NBTTagCompound_setShort($par1NBTTagCompound, $rt_s(1902), $this.$itemDamage << 16 >> 16);
    if ($this.$stackTagCompound !== null)
        nms_NBTTagCompound_setTag($par1NBTTagCompound, $rt_s(1903), $this.$stackTagCompound);
    return $par1NBTTagCompound;
}
function nms_ItemStack_readFromNBT($this, $par1NBTTagCompound) {
    $this.$itemID0 = nms_NBTTagCompound_getShort($par1NBTTagCompound, $rt_s(1900));
    $this.$stackSize = nms_NBTTagCompound_getByte($par1NBTTagCompound, $rt_s(1901));
    $this.$itemDamage = nms_NBTTagCompound_getShort($par1NBTTagCompound, $rt_s(1902));
    if ($this.$itemDamage < 0)
        $this.$itemDamage = 0;
    if (nms_NBTTagCompound_hasKey($par1NBTTagCompound, $rt_s(1903)))
        $this.$stackTagCompound = nms_NBTTagCompound_getCompoundTag($par1NBTTagCompound, $rt_s(1903));
}
function nms_ItemStack_getMaxStackSize($this) {
    return nms_ItemStack_getItem($this).$maxStackSize;
}
function nms_ItemStack_isStackable($this) {
    var var$1;
    a: {
        b: {
            if (nms_ItemStack_getMaxStackSize($this) > 1) {
                if (!nms_ItemStack_isItemStackDamageable($this))
                    break b;
                if (!nms_ItemStack_isItemDamaged($this))
                    break b;
            }
            var$1 = 0;
            break a;
        }
        var$1 = 1;
    }
    return var$1;
}
function nms_ItemStack_isItemStackDamageable($this) {
    nms_Item_$callClinit();
    return nms_Item_itemsList.data[$this.$itemID0].$maxDamage <= 0 ? 0 : 1;
}
function nms_ItemStack_getHasSubtypes($this) {
    nms_Item_$callClinit();
    return nms_Item_itemsList.data[$this.$itemID0].$hasSubtypes;
}
function nms_ItemStack_isItemDamaged($this) {
    return nms_ItemStack_isItemStackDamageable($this) && $this.$itemDamage > 0 ? 1 : 0;
}
function nms_ItemStack_getItemDamageForDisplay($this) {
    return $this.$itemDamage;
}
function nms_ItemStack_getItemDamage($this) {
    return $this.$itemDamage;
}
function nms_ItemStack_setItemDamage($this, $par1) {
    $this.$itemDamage = $par1;
    if ($this.$itemDamage < 0)
        $this.$itemDamage = 0;
}
function nms_ItemStack_getMaxDamage($this) {
    nms_Item_$callClinit();
    return nms_Item_itemsList.data[$this.$itemID0].$maxDamage;
}
function nms_ItemStack_attemptDamageItem($this, $par1, $par2Random) {
    var $var3, $var4, $var5, var$6;
    if (!nms_ItemStack_isItemStackDamageable($this))
        return 0;
    if ($par1 > 0) {
        nms_Enchantment_$callClinit();
        $var3 = nms_EnchantmentHelper_getEnchantmentLevel(nms_Enchantment_unbreaking.$effectId, $this);
        $var4 = 0;
        $var5 = 0;
        var$6 = $var3 + 1 | 0;
        while ($var3 > 0 && $var5 < $par1) {
            if (nms_ItemStack_getItem($this) instanceof nms_ItemArmor && nle_EaglercraftRandom_nextFloat($par2Random) < 0.6000000238418579 ? 0 : nle_EaglercraftRandom_nextInt($par2Random, var$6) <= 0 ? 0 : 1)
                $var4 = $var4 + 1 | 0;
            $var5 = $var5 + 1 | 0;
        }
        $par1 = $par1 - $var4 | 0;
        if ($par1 <= 0)
            return 0;
    }
    $this.$itemDamage = $this.$itemDamage + $par1 | 0;
    return $this.$itemDamage <= nms_ItemStack_getMaxDamage($this) ? 0 : 1;
}
function nms_ItemStack_damageItem($this, $par1, $par2EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2EntityLiving = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!($par2EntityLiving instanceof nms_EntityPlayer && $par2EntityLiving.$capabilities.$isCreativeMode) && nms_ItemStack_isItemStackDamageable($this) && nms_ItemStack_attemptDamageItem($this, $par1, $par2EntityLiving.$rand0)) {
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        nms_EntityLiving_renderBrokenItemStack($par2EntityLiving, $this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$stackSize = $this.$stackSize - 1 | 0;
        if ($this.$stackSize < 0)
            $this.$stackSize = 0;
        $this.$itemDamage = 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2EntityLiving, $ptr);
}
function nms_ItemStack_hitEntity($this, $par1EntityLiving, $par2EntityPlayer) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2EntityPlayer = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Item_$callClinit();
        var$3 = nms_Item_itemsList.data[$this.$itemID0];
        $ptr = 1;
    case 1:
        var$3.$hitEntity0($this, $par1EntityLiving, $par2EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2EntityPlayer, var$3, $ptr);
}
function nms_ItemStack_onBlockDestroyed($this, $par1World, $par2, $par3, $par4, $par5, $par6EntityPlayer) {
    var var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();$par6EntityPlayer = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Item_$callClinit();
        var$7 = nms_Item_itemsList.data[$this.$itemID0];
        $ptr = 1;
    case 1:
        var$7.$onBlockDestroyed0($this, $par1World, $par2, $par3, $par4, $par5, $par6EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $par6EntityPlayer, var$7, $ptr);
}
function nms_ItemStack_getDamageVsEntity($this, $par1Entity) {
    nms_Item_$callClinit();
    return nms_Item_itemsList.data[$this.$itemID0].$getDamageVsEntity($par1Entity);
}
function nms_ItemStack_canHarvestBlock($this, $par1Block) {
    nms_Item_$callClinit();
    return nms_Item_itemsList.data[$this.$itemID0].$canHarvestBlock($par1Block);
}
function nms_ItemStack_interactWith($this, $par1EntityLiving) {
    nms_Item_$callClinit();
    return nms_Item_itemsList.data[$this.$itemID0].$itemInteractionForEntity($this, $par1EntityLiving);
}
function nms_ItemStack_copy($this) {
    var $var1;
    $var1 = nms_ItemStack__init_0($this.$itemID0, $this.$stackSize, $this.$itemDamage);
    if ($this.$stackTagCompound !== null)
        $var1.$stackTagCompound = nms_NBTTagCompound_copy($this.$stackTagCompound);
    return $var1;
}
function nms_ItemStack_areItemStackTagsEqual($par0ItemStack, $par1ItemStack) {
    return $par0ItemStack === null && $par1ItemStack === null ? 1 : $par0ItemStack !== null && $par1ItemStack !== null ? ($par0ItemStack.$stackTagCompound === null && $par1ItemStack.$stackTagCompound !== null ? 0 : $par0ItemStack.$stackTagCompound !== null && !nms_NBTTagCompound_equals($par0ItemStack.$stackTagCompound, $par1ItemStack.$stackTagCompound) ? 0 : 1) : 0;
}
function nms_ItemStack_areItemStacksEqual($par0ItemStack, $par1ItemStack) {
    return $par0ItemStack === null && $par1ItemStack === null ? 1 : $par0ItemStack !== null && $par1ItemStack !== null ? ($par0ItemStack.$stackSize != $par1ItemStack.$stackSize ? 0 : $par0ItemStack.$itemID0 != $par1ItemStack.$itemID0 ? 0 : $par0ItemStack.$itemDamage != $par1ItemStack.$itemDamage ? 0 : $par0ItemStack.$stackTagCompound === null && $par1ItemStack.$stackTagCompound !== null ? 0 : $par0ItemStack.$stackTagCompound !== null && !nms_NBTTagCompound_equals($par0ItemStack.$stackTagCompound, $par1ItemStack.$stackTagCompound)
    ? 0 : 1) : 0;
}
function nms_ItemStack_isItemEqual($this, $par1ItemStack) {
    return $this.$itemID0 == $par1ItemStack.$itemID0 && $this.$itemDamage == $par1ItemStack.$itemDamage ? 1 : 0;
}
function nms_ItemStack_getItemName($this) {
    nms_Item_$callClinit();
    return nms_Item_itemsList.data[$this.$itemID0].$getUnlocalizedName($this);
}
function nms_ItemStack_copyItemStack($par0ItemStack) {
    return $par0ItemStack !== null ? nms_ItemStack_copy($par0ItemStack) : null;
}
function nms_ItemStack_toString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append2(var$1, $this.$stackSize);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1904));
    nms_Item_$callClinit();
    jl_AbstractStringBuilder_append(var$1, nms_Item_itemsList.data[$this.$itemID0].$getUnlocalizedName0());
    jl_AbstractStringBuilder_append(var$1, $rt_s(1));
    jl_AbstractStringBuilder_append2(var$1, $this.$itemDamage);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_ItemStack_updateAnimation($this, $par1World, $par2Entity, $par3, $par4) {
    if ($this.$animationsToGo > 0)
        $this.$animationsToGo = $this.$animationsToGo - 1 | 0;
    nms_Item_$callClinit();
    nms_Item_itemsList.data[$this.$itemID0].$onUpdate1($this, $par1World, $par2Entity, $par3, $par4);
}
function nms_ItemStack_onCrafting($this, $par1World, $par2EntityPlayer, $par3) {
    nms_Item_$callClinit();
    nms_Item_itemsList.data[$this.$itemID0].$onCreated($this, $par1World, $par2EntityPlayer);
}
function nms_ItemStack_getMaxItemUseDuration($this) {
    return nms_ItemStack_getItem($this).$getMaxItemUseDuration0($this);
}
function nms_ItemStack_getItemUseAction($this) {
    return nms_ItemStack_getItem($this).$getItemUseAction0($this);
}
function nms_ItemStack_onPlayerStoppedUsing($this, $par1World, $par2EntityPlayer, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2EntityPlayer = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = nms_ItemStack_getItem($this);
        $ptr = 1;
    case 1:
        var$4.$onPlayerStoppedUsing0($this, $par1World, $par2EntityPlayer, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2EntityPlayer, $par3, var$4, $ptr);
}
function nms_ItemStack_hasTagCompound($this) {
    return $this.$stackTagCompound === null ? 0 : 1;
}
function nms_ItemStack_getTagCompound($this) {
    return $this.$stackTagCompound;
}
function nms_ItemStack_getEnchantmentTagList($this) {
    return $this.$stackTagCompound === null ? null : nms_NBTTagCompound_getTag($this.$stackTagCompound, $rt_s(1905));
}
function nms_ItemStack_setTagCompound($this, $par1NBTTagCompound) {
    $this.$stackTagCompound = $par1NBTTagCompound;
}
function nms_ItemStack_getDisplayName($this) {
    var $var1, $var2;
    $var1 = nms_ItemStack_getItem($this).$getItemDisplayName($this);
    if ($this.$stackTagCompound !== null && nms_NBTTagCompound_hasKey($this.$stackTagCompound, $rt_s(334))) {
        $var2 = nms_NBTTagCompound_getCompoundTag($this.$stackTagCompound, $rt_s(334));
        if (nms_NBTTagCompound_hasKey($var2, $rt_s(1906)))
            $var1 = nms_NBTTagCompound_getString($var2, $rt_s(1906));
    }
    return $var1;
}
function nms_ItemStack_setItemName($this, $par1Str) {
    if ($this.$stackTagCompound === null)
        $this.$stackTagCompound = nms_NBTTagCompound__init_1($rt_s(1903));
    if (!nms_NBTTagCompound_hasKey($this.$stackTagCompound, $rt_s(334)))
        nms_NBTTagCompound_setCompoundTag($this.$stackTagCompound, $rt_s(334), nms_NBTTagCompound__init_0());
    nms_NBTTagCompound_setString(nms_NBTTagCompound_getCompoundTag($this.$stackTagCompound, $rt_s(334)), $rt_s(1906), $par1Str);
}
function nms_ItemStack_hasDisplayName($this) {
    return $this.$stackTagCompound === null ? 0 : !nms_NBTTagCompound_hasKey($this.$stackTagCompound, $rt_s(334)) ? 0 : nms_NBTTagCompound_hasKey(nms_NBTTagCompound_getCompoundTag($this.$stackTagCompound, $rt_s(334)), $rt_s(1906));
}
function nms_ItemStack_getTooltip($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, $var11, $var6, var$8, var$9, $var10, $var7, $var8, $var9, $var12, $var13;
    $var3 = ju_ArrayList__init_0();
    nms_Item_$callClinit();
    $var4 = nms_Item_itemsList.data[$this.$itemID0];
    $var5 = nms_ItemStack_getDisplayName($this);
    if (nms_ItemStack_hasDisplayName($this)) {
        $var11 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var11);
        jl_AbstractStringBuilder_append1($var11, nms_EnumChatFormatting_ITALIC);
        jl_AbstractStringBuilder_append($var11, $var5);
        jl_AbstractStringBuilder_append1($var11, nms_EnumChatFormatting_RESET);
        $var5 = jl_AbstractStringBuilder_toString($var11);
    }
    if ($par2) {
        $var6 = $rt_s(36);
        if (jl_String_length($var5) > 0) {
            $var11 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var11);
            jl_AbstractStringBuilder_append($var11, $var5);
            jl_AbstractStringBuilder_append($var11, $rt_s(1257));
            $var5 = jl_AbstractStringBuilder_toString($var11);
            $var6 = $rt_s(68);
        }
        if (!nms_ItemStack_getHasSubtypes($this)) {
            $var11 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var11);
            jl_AbstractStringBuilder_append($var11, $var5);
            var$8 = $rt_createArray(jl_Object, 2);
            var$9 = var$8.data;
            var$9[0] = jl_Integer_valueOf($this.$itemID0);
            var$9[1] = $var6;
            jl_AbstractStringBuilder_append($var11, jl_String_format($rt_s(1907), var$8));
            $var5 = jl_AbstractStringBuilder_toString($var11);
        } else {
            $var11 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var11);
            jl_AbstractStringBuilder_append($var11, $var5);
            var$8 = $rt_createArray(jl_Object, 3);
            var$9 = var$8.data;
            var$9[0] = jl_Integer_valueOf($this.$itemID0);
            var$9[1] = jl_Integer_valueOf($this.$itemDamage);
            var$9[2] = $var6;
            jl_AbstractStringBuilder_append($var11, jl_String_format($rt_s(1908), var$8));
            $var5 = jl_AbstractStringBuilder_toString($var11);
        }
    } else if (!nms_ItemStack_hasDisplayName($this) && $this.$itemID0 == nms_Item_map.$itemID) {
        $var11 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var11);
        jl_AbstractStringBuilder_append($var11, $var5);
        jl_AbstractStringBuilder_append($var11, $rt_s(1909));
        jl_AbstractStringBuilder_append2($var11, $this.$itemDamage);
        $var5 = jl_AbstractStringBuilder_toString($var11);
    }
    a: {
        ju_ArrayList_add($var3, $var5);
        $var4.$addInformation($this, $par1EntityPlayer, $var3, $par2);
        if (nms_ItemStack_hasTagCompound($this)) {
            b: {
                $var10 = nms_ItemStack_getEnchantmentTagList($this);
                if ($var10 !== null) {
                    $var7 = 0;
                    while (true) {
                        if ($var7 >= nms_NBTTagList_tagCount($var10))
                            break b;
                        $var8 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($var10, $var7), $rt_s(1900));
                        $var9 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($var10, $var7), $rt_s(1910));
                        nms_Enchantment_$callClinit();
                        if (nms_Enchantment_enchantmentsList.data[$var8] !== null)
                            ju_ArrayList_add($var3, nms_Enchantment_getTranslatedName(nms_Enchantment_enchantmentsList.data[$var8], $var9));
                        $var7 = $var7 + 1 | 0;
                    }
                }
            }
            if (nms_NBTTagCompound_hasKey($this.$stackTagCompound, $rt_s(334))) {
                $var11 = nms_NBTTagCompound_getCompoundTag($this.$stackTagCompound, $rt_s(334));
                if (nms_NBTTagCompound_hasKey($var11, $rt_s(1911))) {
                    if (!$par2) {
                        $par1EntityPlayer = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($par1EntityPlayer);
                        jl_AbstractStringBuilder_append1($par1EntityPlayer, nms_EnumChatFormatting_ITALIC);
                        jl_AbstractStringBuilder_append($par1EntityPlayer, nms_StatCollector_translateToLocal($rt_s(1912)));
                        ju_ArrayList_add($var3, jl_AbstractStringBuilder_toString($par1EntityPlayer));
                    } else {
                        $var10 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($var10);
                        jl_AbstractStringBuilder_append($var10, $rt_s(1913));
                        jl_AbstractStringBuilder_append($var10, jl_String_toUpperCase(jl_Integer_toHexString(nms_NBTTagCompound_getInteger($var11, $rt_s(1911)))));
                        ju_ArrayList_add($var3, jl_AbstractStringBuilder_toString($var10));
                    }
                }
                if (nms_NBTTagCompound_hasKey($var11, $rt_s(1914))) {
                    $var12 = nms_NBTTagCompound_getTagList($var11, $rt_s(1914));
                    if (nms_NBTTagList_tagCount($var12) > 0) {
                        $var13 = 0;
                        while (true) {
                            if ($var13 >= nms_NBTTagList_tagCount($var12))
                                break a;
                            $par1EntityPlayer = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($par1EntityPlayer);
                            jl_AbstractStringBuilder_append1($par1EntityPlayer, nms_EnumChatFormatting_DARK_PURPLE);
                            jl_AbstractStringBuilder_append($par1EntityPlayer, $rt_s(36));
                            jl_AbstractStringBuilder_append1($par1EntityPlayer, nms_EnumChatFormatting_ITALIC);
                            jl_AbstractStringBuilder_append($par1EntityPlayer, nms_NBTTagList_tagAt($var12, $var13).$data4);
                            ju_ArrayList_add($var3, jl_AbstractStringBuilder_toString($par1EntityPlayer));
                            $var13 = $var13 + 1 | 0;
                        }
                    }
                }
            }
        }
    }
    if ($par2 && nms_ItemStack_isItemDamaged($this)) {
        $par1EntityPlayer = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1EntityPlayer);
        jl_AbstractStringBuilder_append($par1EntityPlayer, $rt_s(1915));
        jl_AbstractStringBuilder_append2($par1EntityPlayer, nms_ItemStack_getMaxDamage($this) - $this.$itemDamage | 0);
        jl_AbstractStringBuilder_append($par1EntityPlayer, $rt_s(1916));
        jl_AbstractStringBuilder_append2($par1EntityPlayer, nms_ItemStack_getMaxDamage($this));
        ju_ArrayList_add($var3, jl_AbstractStringBuilder_toString($par1EntityPlayer));
    }
    return $var3;
}
function nms_ItemStack_hasEffect($this) {
    return nms_ItemStack_getItem($this).$hasEffect0($this);
}
function nms_ItemStack_getRarity($this) {
    return nms_ItemStack_getItem($this).$getRarity0($this);
}
function nms_ItemStack_isItemEnchantable($this) {
    return !nms_ItemStack_getItem($this).$isItemTool($this) ? 0 : nms_ItemStack_isItemEnchanted($this) ? 0 : 1;
}
function nms_ItemStack_addEnchantment($this, $par1Enchantment, $par2) {
    var $var3, $var4;
    if ($this.$stackTagCompound === null)
        $this.$stackTagCompound = nms_NBTTagCompound__init_0();
    if (!nms_NBTTagCompound_hasKey($this.$stackTagCompound, $rt_s(1905)))
        nms_NBTTagCompound_setTag($this.$stackTagCompound, $rt_s(1905), nms_NBTTagList__init_1($rt_s(1905)));
    $var3 = nms_NBTTagCompound_getTag($this.$stackTagCompound, $rt_s(1905));
    $var4 = nms_NBTTagCompound__init_0();
    nms_NBTTagCompound_setShort($var4, $rt_s(1900), $par1Enchantment.$effectId << 16 >> 16);
    nms_NBTTagCompound_setShort($var4, $rt_s(1910), $par2 << 24 >> 24 << 16 >> 16);
    nms_NBTTagList_appendTag($var3, $var4);
}
function nms_ItemStack_isItemEnchanted($this) {
    return $this.$stackTagCompound !== null && nms_NBTTagCompound_hasKey($this.$stackTagCompound, $rt_s(1905)) ? 1 : 0;
}
function nms_ItemStack_setTagInfo($this, $par1Str, $par2NBTBase) {
    if ($this.$stackTagCompound === null)
        $this.$stackTagCompound = nms_NBTTagCompound__init_0();
    nms_NBTTagCompound_setTag($this.$stackTagCompound, $par1Str, $par2NBTBase);
}
function nms_ItemStack_func_82835_x($this) {
    nms_ItemStack_getItem($this);
    return 1;
}
function nms_ItemStack_getRepairCost($this) {
    return nms_ItemStack_hasTagCompound($this) && nms_NBTTagCompound_hasKey($this.$stackTagCompound, $rt_s(1917)) ? nms_NBTTagCompound_getInteger($this.$stackTagCompound, $rt_s(1917)) : 0;
}
function nms_ItemStack_setRepairCost($this, $par1) {
    if (!nms_ItemStack_hasTagCompound($this))
        $this.$stackTagCompound = nms_NBTTagCompound__init_1($rt_s(1903));
    nms_NBTTagCompound_setInteger($this.$stackTagCompound, $rt_s(1917), $par1);
}
function nms_Block() {
    var a = this; jl_Object.call(a);
    a.$displayOnCreativeTab = null;
    a.$blockID = 0;
    a.$blockHardness = 0.0;
    a.$blockResistance = 0.0;
    a.$blockConstructorCalled = 0;
    a.$enableStats = 0;
    a.$needsRandomTick = 0;
    a.$isBlockContainer = 0;
    a.$minX0 = 0.0;
    a.$minY0 = 0.0;
    a.$minZ0 = 0.0;
    a.$maxX0 = 0.0;
    a.$maxY0 = 0.0;
    a.$maxZ0 = 0.0;
    a.$stepSound = null;
    a.$blockParticleGravity = 0.0;
    a.$blockMaterial = null;
    a.$slipperiness = 0.0;
    a.$unlocalizedName0 = null;
    a.$blockIcon = null;
}
var nms_Block_soundPowderFootstep = null;
var nms_Block_soundWoodFootstep = null;
var nms_Block_soundGravelFootstep = null;
var nms_Block_soundGrassFootstep = null;
var nms_Block_soundStoneFootstep = null;
var nms_Block_soundMetalFootstep = null;
var nms_Block_soundGlassFootstep = null;
var nms_Block_soundClothFootstep = null;
var nms_Block_soundSandFootstep = null;
var nms_Block_soundSnowFootstep = null;
var nms_Block_soundLadderFootstep = null;
var nms_Block_soundAnvilFootstep = null;
var nms_Block_grassNoise = null;
var nms_Block_grassNoiseArray = null;
var nms_Block_noiseChunkX = 0;
var nms_Block_noiseChunkZ = 0;
var nms_Block_blocksList = null;
var nms_Block_opaqueCubeLookup = null;
var nms_Block_lightOpacity = null;
var nms_Block_canBlockGrass = null;
var nms_Block_lightValue = null;
var nms_Block_useNeighborBrightness = null;
var nms_Block_stone = null;
var nms_Block_grass = null;
var nms_Block_dirt = null;
var nms_Block_cobblestone = null;
var nms_Block_planks = null;
var nms_Block_sapling = null;
var nms_Block_bedrock = null;
var nms_Block_waterMoving = null;
var nms_Block_waterStill = null;
var nms_Block_lavaMoving = null;
var nms_Block_lavaStill = null;
var nms_Block_sand = null;
var nms_Block_gravel = null;
var nms_Block_oreGold = null;
var nms_Block_oreIron = null;
var nms_Block_oreCoal = null;
var nms_Block_wood = null;
var nms_Block_leaves = null;
var nms_Block_sponge = null;
var nms_Block_glass = null;
var nms_Block_oreLapis = null;
var nms_Block_blockLapis = null;
var nms_Block_dispenser = null;
var nms_Block_sandStone = null;
var nms_Block_music = null;
var nms_Block_bed = null;
var nms_Block_railPowered = null;
var nms_Block_railDetector = null;
var nms_Block_pistonStickyBase = null;
var nms_Block_web = null;
var nms_Block_tallGrass = null;
var nms_Block_deadBush = null;
var nms_Block_pistonBase = null;
var nms_Block_pistonExtension = null;
var nms_Block_cloth = null;
var nms_Block_pistonMoving = null;
var nms_Block_plantYellow = null;
var nms_Block_plantRed = null;
var nms_Block_mushroomBrown = null;
var nms_Block_mushroomRed = null;
var nms_Block_blockGold = null;
var nms_Block_blockIron = null;
var nms_Block_stoneDoubleSlab = null;
var nms_Block_stoneSingleSlab = null;
var nms_Block_brick = null;
var nms_Block_tnt = null;
var nms_Block_bookShelf = null;
var nms_Block_cobblestoneMossy = null;
var nms_Block_obsidian = null;
var nms_Block_torchWood = null;
var nms_Block_fire = null;
var nms_Block_mobSpawner = null;
var nms_Block_stairsWoodOak = null;
var nms_Block_chest = null;
var nms_Block_redstoneWire = null;
var nms_Block_oreDiamond = null;
var nms_Block_blockDiamond = null;
var nms_Block_workbench = null;
var nms_Block_crops = null;
var nms_Block_tilledField = null;
var nms_Block_furnaceIdle = null;
var nms_Block_furnaceBurning = null;
var nms_Block_signPost = null;
var nms_Block_doorWood = null;
var nms_Block_ladder = null;
var nms_Block_rail = null;
var nms_Block_stairsCobblestone = null;
var nms_Block_signWall = null;
var nms_Block_lever = null;
var nms_Block_pressurePlateStone = null;
var nms_Block_doorIron = null;
var nms_Block_pressurePlatePlanks = null;
var nms_Block_oreRedstone = null;
var nms_Block_oreRedstoneGlowing = null;
var nms_Block_torchRedstoneIdle = null;
var nms_Block_torchRedstoneActive = null;
var nms_Block_stoneButton = null;
var nms_Block_snow = null;
var nms_Block_ice = null;
var nms_Block_blockSnow = null;
var nms_Block_cactus = null;
var nms_Block_blockClay = null;
var nms_Block_reed = null;
var nms_Block_jukebox = null;
var nms_Block_fence = null;
var nms_Block_pumpkin = null;
var nms_Block_netherrack = null;
var nms_Block_slowSand = null;
var nms_Block_glowStone = null;
var nms_Block_portal = null;
var nms_Block_pumpkinLantern = null;
var nms_Block_cake = null;
var nms_Block_redstoneRepeaterIdle = null;
var nms_Block_redstoneRepeaterActive = null;
var nms_Block_lockedChest = null;
var nms_Block_trapdoor = null;
var nms_Block_silverfish = null;
var nms_Block_stoneBrick = null;
var nms_Block_mushroomCapBrown = null;
var nms_Block_mushroomCapRed = null;
var nms_Block_fenceIron = null;
var nms_Block_thinGlass = null;
var nms_Block_melon = null;
var nms_Block_pumpkinStem = null;
var nms_Block_melonStem = null;
var nms_Block_vine = null;
var nms_Block_fenceGate = null;
var nms_Block_stairsBrick = null;
var nms_Block_stairsStoneBrick = null;
var nms_Block_mycelium = null;
var nms_Block_waterlily = null;
var nms_Block_netherBrick = null;
var nms_Block_netherFence = null;
var nms_Block_stairsNetherBrick = null;
var nms_Block_netherStalk = null;
var nms_Block_enchantmentTable = null;
var nms_Block_brewingStand = null;
var nms_Block_cauldron = null;
var nms_Block_endPortal = null;
var nms_Block_endPortalFrame = null;
var nms_Block_whiteStone = null;
var nms_Block_dragonEgg = null;
var nms_Block_redstoneLampIdle = null;
var nms_Block_redstoneLampActive = null;
var nms_Block_woodDoubleSlab = null;
var nms_Block_woodSingleSlab = null;
var nms_Block_cocoaPlant = null;
var nms_Block_stairsSandStone = null;
var nms_Block_oreEmerald = null;
var nms_Block_enderChest = null;
var nms_Block_tripWireSource = null;
var nms_Block_tripWire = null;
var nms_Block_blockEmerald = null;
var nms_Block_stairsWoodSpruce = null;
var nms_Block_stairsWoodBirch = null;
var nms_Block_stairsWoodJungle = null;
var nms_Block_commandBlock = null;
var nms_Block_beacon = null;
var nms_Block_cobblestoneWall = null;
var nms_Block_flowerPot = null;
var nms_Block_carrot = null;
var nms_Block_potato = null;
var nms_Block_woodenButton = null;
var nms_Block_skull = null;
var nms_Block_anvil = null;
var nms_Block_chestTrapped = null;
var nms_Block_pressurePlateGold = null;
var nms_Block_pressurePlateIron = null;
var nms_Block_redstoneComparatorIdle = null;
var nms_Block_redstoneComparatorActive = null;
var nms_Block_daylightSensor = null;
var nms_Block_blockRedstone = null;
var nms_Block_oreNetherQuartz = null;
var nms_Block_hopperBlock = null;
var nms_Block_blockNetherQuartz = null;
var nms_Block_stairsNetherQuartz = null;
var nms_Block_railActivator = null;
var nms_Block_dropper = null;
function nms_Block_$callClinit() {
    nms_Block_$callClinit = $rt_eraseClinit(nms_Block);
    nms_Block__clinit_();
}
function nms_Block__init_(var_0, var_1) {
    var var_2 = new nms_Block();
    nms_Block__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_Block_initNoiseField($cx, $cz) {
    var var$3;
    nms_Block_$callClinit();
    if (!(nms_Block_noiseChunkX == $cx && nms_Block_noiseChunkZ == $cz)) {
        nms_Block_noiseChunkX = $cx;
        nms_Block_noiseChunkZ = $cz;
        var$3 = 0;
        while (var$3 < nms_Block_grassNoiseArray.data.length) {
            nms_Block_grassNoiseArray.data[var$3] = 0.0;
            var$3 = var$3 + 1 | 0;
        }
        nms_NoiseGeneratorPerlin_populateNoiseArray(nms_Block_grassNoise, nms_Block_grassNoiseArray, $cx * 16.0 * 0.05, 0.8, $cz * 16.0 * 0.05, 16, 1, 16, 0.05, 1.0, 0.05, 1.0);
    }
}
function nms_Block__init_0($this, $par1, $par2Material) {
    var var$3, var$4, var$5;
    nms_Block_$callClinit();
    $this.$blockConstructorCalled = 1;
    $this.$enableStats = 1;
    $this.$stepSound = nms_Block_soundPowderFootstep;
    $this.$blockParticleGravity = 1.0;
    $this.$slipperiness = 0.6000000238418579;
    if (nms_Block_blocksList.data[$par1] !== null) {
        $par2Material = new jl_IllegalArgumentException;
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $rt_s(1918));
        jl_AbstractStringBuilder_append2(var$3, $par1);
        jl_AbstractStringBuilder_append(var$3, $rt_s(1919));
        jl_AbstractStringBuilder_append1(var$3, nms_Block_blocksList.data[$par1]);
        jl_AbstractStringBuilder_append(var$3, $rt_s(1920));
        jl_AbstractStringBuilder_append1(var$3, $this);
        jl_Throwable__init_($par2Material, jl_AbstractStringBuilder_toString(var$3));
        $rt_throw($par2Material);
    }
    $this.$blockMaterial = $par2Material;
    nms_Block_blocksList.data[$par1] = $this;
    $this.$blockID = $par1;
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    nms_Block_opaqueCubeLookup.data[$par1] = $this.$isOpaqueCube();
    var$4 = nms_Block_lightOpacity;
    var$4.data[$par1] = !$this.$isOpaqueCube() ? 0 : 255;
    var$4 = nms_Block_canBlockGrass;
    var$5 = $par2Material.$getCanBlockGrass() ? 0 : 1;
    var$4.data[$par1] = var$5;
}
function nms_Block_initializeBlock($this) {
    return;
}
function nms_Block_setStepSound($this, $par1StepSound) {
    $this.$stepSound = $par1StepSound;
    return $this;
}
function nms_Block_setLightOpacity($this, $par1) {
    nms_Block_lightOpacity.data[$this.$blockID] = $par1;
    return $this;
}
function nms_Block_setLightValue($this, $par1) {
    nms_Block_lightValue.data[$this.$blockID] = 15.0 * $par1 | 0;
    return $this;
}
function nms_Block_setResistance($this, $par1) {
    $this.$blockResistance = $par1 * 3.0;
    return $this;
}
function nms_Block_isNormalCube($par0) {
    var $var1;
    nms_Block_$callClinit();
    $var1 = nms_Block_blocksList.data[$par0];
    return $var1 === null ? 0 : nms_Material_isOpaque($var1.$blockMaterial) && $var1.$renderAsNormalBlock() && !$var1.$canProvidePower() ? 1 : 0;
}
function nms_Block_renderAsNormalBlock($this) {
    return 1;
}
function nms_Block_getBlocksMovement($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return $this.$blockMaterial.$blocksMovement() ? 0 : 1;
}
function nms_Block_getRenderType($this) {
    return 0;
}
function nms_Block_setHardness($this, $par1) {
    var var$2;
    $this.$blockHardness = $par1;
    var$2 = $this.$blockResistance;
    $par1 = $par1 * 5.0;
    if (var$2 < $par1)
        $this.$blockResistance = $par1;
    return $this;
}
function nms_Block_setBlockUnbreakable($this) {
    nms_Block_setHardness($this, (-1.0));
    return $this;
}
function nms_Block_getBlockHardness($this, $par1World, $par2, $par3, $par4) {
    return $this.$blockHardness;
}
function nms_Block_setTickRandomly($this, $par1) {
    $this.$needsRandomTick = $par1;
    return $this;
}
function nms_Block_getTickRandomly($this) {
    return $this.$needsRandomTick;
}
function nms_Block_hasTileEntity($this) {
    return $this.$isBlockContainer;
}
function nms_Block_setBlockBounds($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    $this.$minX0 = $par1;
    $this.$minY0 = $par2;
    $this.$minZ0 = $par3;
    $this.$maxX0 = $par4;
    $this.$maxY0 = $par5;
    $this.$maxZ0 = $par6;
}
function nms_Block_getBlockBrightness($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return $par1IBlockAccess.$getBrightness0($par2, $par3, $par4, nms_Block_lightValue.data[$par1IBlockAccess.$getBlockId($par2, $par3, $par4)]);
}
function nms_Block_getMixedBrightnessForBlock($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return $par1IBlockAccess.$getLightBrightnessForSkyBlocks($par2, $par3, $par4, nms_Block_lightValue.data[$par1IBlockAccess.$getBlockId($par2, $par3, $par4)]);
}
function nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return !$par5 && $this.$minY0 > 0.0 ? 1 : $par5 == 1 && $this.$maxY0 < 1.0 ? 1 : $par5 == 2 && $this.$minZ0 > 0.0 ? 1 : $par5 == 3 && $this.$maxZ0 < 1.0 ? 1 : $par5 == 4 && $this.$minX0 > 0.0 ? 1 : $par5 == 5 && $this.$maxX0 < 1.0 ? 1 : $par1IBlockAccess.$isBlockOpaqueCube($par2, $par3, $par4) ? 0 : 1;
}
function nms_Block_getBlockTexture($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $this.$getIcon($par5, $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4));
}
function nms_Block_getIcon($this, $par1, $par2) {
    return $this.$blockIcon;
}
function nms_Block_getBlockTextureFromSide($this, $par1) {
    return $this.$getIcon($par1, 0);
}
function nms_Block_getSelectedBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4) {
    var var$5, var$6, var$7, var$8, var$9;
    $par1World = nms_AxisAlignedBB_getAABBPool();
    var$5 = $par2;
    var$6 = var$5 + $this.$minX0;
    var$7 = $par3;
    var$8 = var$7 + $this.$minY0;
    var$9 = $par4;
    return nms_AABBPool_getAABB($par1World, var$6, var$8, var$9 + $this.$minZ0, var$5 + $this.$maxX0, var$7 + $this.$maxY0, var$9 + $this.$maxZ0);
}
function nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $this.$getCollisionBoundingBoxFromPool($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        if ($var8 !== null && nms_AxisAlignedBB_intersectsWith($par5AxisAlignedBB, $var8))
            ju_ArrayList_add($par6List, $var8);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $var8, $ptr);
}
function nms_Block_getCollisionBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4) {
    var var$5, var$6, var$7, var$8, var$9;
    $par1World = nms_AxisAlignedBB_getAABBPool();
    var$5 = $par2;
    var$6 = var$5 + $this.$minX0;
    var$7 = $par3;
    var$8 = var$7 + $this.$minY0;
    var$9 = $par4;
    return nms_AABBPool_getAABB($par1World, var$6, var$8, var$9 + $this.$minZ0, var$5 + $this.$maxX0, var$7 + $this.$maxY0, var$9 + $this.$maxZ0);
}
function nms_Block_isOpaqueCube($this) {
    return 1;
}
function nms_Block_canCollideCheck($this, $par1, $par2) {
    return $this.$isCollidable();
}
function nms_Block_isCollidable($this) {
    return 1;
}
function nms_Block_randomDisplayTick($this, $par1World, $par2, $par3, $par4, $par5Random) {
    return;
}
function nms_Block_onBlockDestroyedByPlayer($this, $par1World, $par2, $par3, $par4, $par5) {
    return;
}
function nms_Block_onNeighborBlockChange($this, $par1World, $par2, $par3, $par4, $par5) {
    return;
}
function nms_Block_getPlayerRelativeBlockHardness($this, $par1EntityPlayer, $par2World, $par3, $par4, $par5) {
    var $var6;
    $var6 = $this.$blockHardness;
    return $var6 < 0.0 ? 0.0 : nms_EntityPlayer_canHarvestBlock($par1EntityPlayer, $this) ? nms_EntityPlayer_getCurrentPlayerStrVsBlock($par1EntityPlayer, $this, 1) / $var6 / 30.0 : nms_EntityPlayer_getCurrentPlayerStrVsBlock($par1EntityPlayer, $this, 0) / $var6 / 100.0;
}
function nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, $par5, $par6) {
    $this.$dropBlockAsItemWithChance($par1World, $par2, $par3, $par4, $par5, 1.0, $par6);
}
function nms_Block_dropBlockAsItemWithChance($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    return;
}
function nms_Block_dropBlockAsItem_do($this, $par1World, $par2, $par3, $par4, $par5ItemStack) {
    return;
}
function nms_Block_dropXpOnBlockBreak($this, $par1World, $par2, $par3, $par4, $par5) {
    return;
}
function nms_Block_damageDropped($this, $par1) {
    return 0;
}
function nms_Block_getExplosionResistance($this, $par1Entity) {
    return $this.$blockResistance / 5.0;
}
function nms_Block_collisionRayTrace($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3) {
    var var$7, var$8, var$9, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$par6Vec3 = $thread.pop();$par5Vec3 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $this.$setBlockBoundsBasedOnState($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        var$7 =  -$par2;
        var$8 =  -$par3;
        var$9 =  -$par4;
        $par1World = nms_Vec3_addVector($par5Vec3, var$7, var$8, var$9);
        $par5Vec3 = nms_Vec3_addVector($par6Vec3, var$7, var$8, var$9);
        $var7 = nms_Vec3_getIntermediateWithXValue($par1World, $par5Vec3, $this.$minX0);
        $var8 = nms_Vec3_getIntermediateWithXValue($par1World, $par5Vec3, $this.$maxX0);
        $var9 = nms_Vec3_getIntermediateWithYValue($par1World, $par5Vec3, $this.$minY0);
        $var10 = nms_Vec3_getIntermediateWithYValue($par1World, $par5Vec3, $this.$maxY0);
        $var11 = nms_Vec3_getIntermediateWithZValue($par1World, $par5Vec3, $this.$minZ0);
        $var12 = nms_Vec3_getIntermediateWithZValue($par1World, $par5Vec3, $this.$maxZ0);
        if (!nms_Block_isVecInsideYZBounds($this, $var7))
            $var7 = null;
        if (!nms_Block_isVecInsideYZBounds($this, $var8))
            $var8 = null;
        if (!nms_Block_isVecInsideXZBounds($this, $var9))
            $var9 = null;
        if (!nms_Block_isVecInsideXZBounds($this, $var10))
            $var10 = null;
        if (!nms_Block_isVecInsideXYBounds($this, $var11))
            $var11 = null;
        if (!nms_Block_isVecInsideXYBounds($this, $var12))
            $var12 = null;
        $var13 = null;
        if ($var7 !== null)
            $var13 = $var7;
        if ($var8 !== null && !($var13 !== null && nms_Vec3_squareDistanceTo($par1World, $var8) >= nms_Vec3_squareDistanceTo($par1World, $var13)))
            $var13 = $var8;
        if ($var9 !== null && !($var13 !== null && nms_Vec3_squareDistanceTo($par1World, $var9) >= nms_Vec3_squareDistanceTo($par1World, $var13)))
            $var13 = $var9;
        if ($var10 !== null && !($var13 !== null && nms_Vec3_squareDistanceTo($par1World, $var10) >= nms_Vec3_squareDistanceTo($par1World, $var13)))
            $var13 = $var10;
        if ($var11 !== null && !($var13 !== null && nms_Vec3_squareDistanceTo($par1World, $var11) >= nms_Vec3_squareDistanceTo($par1World, $var13)))
            $var13 = $var11;
        if ($var12 !== null && !($var13 !== null && nms_Vec3_squareDistanceTo($par1World, $var12) >= nms_Vec3_squareDistanceTo($par1World, $var13)))
            $var13 = $var12;
        if ($var13 === null)
            return null;
        $var14 = (-1);
        if ($var13 === $var7)
            $var14 = 4;
        if ($var13 === $var8)
            $var14 = 5;
        if ($var13 === $var9)
            $var14 = 0;
        if ($var13 === $var10)
            $var14 = 1;
        if ($var13 === $var11)
            $var14 = 2;
        if ($var13 === $var12)
            $var14 = 3;
        return nms_MovingObjectPosition__init_($par2, $par3, $par4, $var14, nms_Vec3_addVector($var13, $par2, $par3, $par4));
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3, var$7, var$8, var$9, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $ptr);
}
function nms_Block_isVecInsideYZBounds($this, $par1Vec3) {
    return $par1Vec3 === null ? 0 : $par1Vec3.$yCoord >= $this.$minY0 && $par1Vec3.$yCoord <= $this.$maxY0 && $par1Vec3.$zCoord >= $this.$minZ0 && $par1Vec3.$zCoord <= $this.$maxZ0 ? 1 : 0;
}
function nms_Block_isVecInsideXZBounds($this, $par1Vec3) {
    return $par1Vec3 === null ? 0 : $par1Vec3.$xCoord >= $this.$minX0 && $par1Vec3.$xCoord <= $this.$maxX0 && $par1Vec3.$zCoord >= $this.$minZ0 && $par1Vec3.$zCoord <= $this.$maxZ0 ? 1 : 0;
}
function nms_Block_isVecInsideXYBounds($this, $par1Vec3) {
    return $par1Vec3 === null ? 0 : $par1Vec3.$xCoord >= $this.$minX0 && $par1Vec3.$xCoord <= $this.$maxX0 && $par1Vec3.$yCoord >= $this.$minY0 && $par1Vec3.$yCoord <= $this.$maxY0 ? 1 : 0;
}
function nms_Block_onBlockDestroyedByExplosion($this, $par1World, $par2, $par3, $par4, $par5Explosion) {
    return;
}
function nms_Block_getRenderBlockPass($this) {
    return 0;
}
function nms_Block_canPlaceBlockOnSide($this, $par1World, $par2, $par3, $par4, $par5, $par6ItemStack) {
    return $this.$canPlaceBlockOnSide($par1World, $par2, $par3, $par4, $par5);
}
function nms_Block_canPlaceBlockOnSide0($this, $par1World, $par2, $par3, $par4, $par5) {
    return $this.$canPlaceBlockAt($par1World, $par2, $par3, $par4);
}
function nms_Block_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4) {
    var $var5;
    $var5 = nms_World_getBlockId($par1World, $par2, $par3, $par4);
    return $var5 && !nms_Block_blocksList.data[$var5].$blockMaterial.$replaceable ? 0 : 1;
}
function nms_Block_onBlockActivated($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 0;
}
function nms_Block_onEntityWalking($this, $par1World, $par2, $par3, $par4, $par5Entity) {
    return;
}
function nms_Block_onBlockPlaced($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    return $par9;
}
function nms_Block_onBlockClicked($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer) {
    return;
}
function nms_Block_velocityToAddToEntity($this, $par1World, $par2, $par3, $par4, $par5Entity, $par6Vec3) {
    return;
}
function nms_Block_setBlockBoundsBasedOnState($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return;
}
function nms_Block_getBlockBoundsMinX($this) {
    return $this.$minX0;
}
function nms_Block_getBlockBoundsMaxX($this) {
    return $this.$maxX0;
}
function nms_Block_getBlockBoundsMinY($this) {
    return $this.$minY0;
}
function nms_Block_getBlockBoundsMaxY($this) {
    return $this.$maxY0;
}
function nms_Block_getBlockBoundsMinZ($this) {
    return $this.$minZ0;
}
function nms_Block_getBlockBoundsMaxZ($this) {
    return $this.$maxZ0;
}
function nms_Block_getBlockColor($this) {
    return 16777215;
}
function nms_Block_getRenderColor($this, $par1) {
    return 16777215;
}
function nms_Block_colorMultiplier($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return 16777215;
}
function nms_Block_isProvidingWeakPower($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return 0;
}
function nms_Block_canProvidePower($this) {
    return 0;
}
function nms_Block_onEntityCollidedWithBlock($this, $par1World, $par2, $par3, $par4, $par5Entity) {
    return;
}
function nms_Block_isProvidingStrongPower($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return 0;
}
function nms_Block_setBlockBoundsForItemRender($this) {
    return;
}
function nms_Block_onBlockPlacedBy($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    return;
}
function nms_Block_onPostBlockPlaced($this, $par1World, $par2, $par3, $par4, $par5) {
    return;
}
function nms_Block_setUnlocalizedName($this, $par1Str) {
    $this.$unlocalizedName0 = $par1Str;
    return $this;
}
function nms_Block_getLocalizedName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, nms_Block_getUnlocalizedName($this));
    jl_AbstractStringBuilder_append(var$1, $rt_s(1021));
    return nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString(var$1));
}
function nms_Block_getUnlocalizedName($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1921));
    jl_AbstractStringBuilder_append(var$1, $this.$unlocalizedName0);
    return jl_AbstractStringBuilder_toString(var$1);
}
function nms_Block_getUnlocalizedName2($this) {
    return $this.$unlocalizedName0;
}
function nms_Block_onBlockEventReceived($this, $par1World, $par2, $par3, $par4, $par5, $par6) {
    return 0;
}
function nms_Block_disableStats($this) {
    $this.$enableStats = 0;
    return $this;
}
function nms_Block_getMobilityFlag($this) {
    return $this.$blockMaterial.$mobilityFlag;
}
function nms_Block_getAmbientOcclusionLightValue($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return !$par1IBlockAccess.$isBlockNormalCube($par2, $par3, $par4) ? 1.0 : 0.20000000298023224;
}
function nms_Block_onFallenUpon($this, $par1World, $par2, $par3, $par4, $par5Entity, $par6) {
    return;
}
function nms_Block_idPicked($this, $par1World, $par2, $par3, $par4) {
    return $this.$blockID;
}
function nms_Block_getDamageValue($this, $par1World, $par2, $par3, $par4) {
    return $this.$damageDropped(nms_World_getBlockMetadata($par1World, $par2, $par3, $par4));
}
function nms_Block_getSubBlocks($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
}
function nms_Block_getCreativeTabToDisplayOn($this) {
    return $this.$displayOnCreativeTab;
}
function nms_Block_setCreativeTab($this, $par1CreativeTabs) {
    $this.$displayOnCreativeTab = $par1CreativeTabs;
    return $this;
}
function nms_Block_isFlowerPot($this) {
    return 0;
}
function nms_Block_canDropFromExplosion($this, $par1Explosion) {
    return 1;
}
function nms_Block_hasComparatorInputOverride($this) {
    return 0;
}
function nms_Block_getComparatorInputOverride($this, $par1World, $par2, $par3, $par4, $par5) {
    return 0;
}
function nms_Block_registerIcons($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($this.$unlocalizedName0);
}
function nms_Block_getItemIconName($this) {
    return null;
}
function nms_Block__clinit_() {
    var var$1, var$2, $var0, var$4, var$5, $var1;
    nms_Block_soundPowderFootstep = nms_StepSound__init_($rt_s(1922), 1.0, 1.0);
    nms_Block_soundWoodFootstep = nms_StepSound__init_($rt_s(1923), 1.0, 1.0);
    nms_Block_soundGravelFootstep = nms_StepSound__init_($rt_s(1924), 1.0, 1.0);
    nms_Block_soundGrassFootstep = nms_StepSound__init_($rt_s(1925), 1.0, 1.0);
    nms_Block_soundStoneFootstep = nms_StepSound__init_($rt_s(1922), 1.0, 1.0);
    nms_Block_soundMetalFootstep = nms_StepSound__init_($rt_s(1922), 1.0, 1.5);
    nms_Block_soundGlassFootstep = nms_StepSoundStone__init_($rt_s(1922), 1.0, 1.0);
    nms_Block_soundClothFootstep = nms_StepSound__init_($rt_s(1622), 1.0, 1.0);
    nms_Block_soundSandFootstep = nms_StepSound__init_($rt_s(1926), 1.0, 1.0);
    nms_Block_soundSnowFootstep = nms_StepSound__init_($rt_s(1927), 1.0, 1.0);
    nms_Block_soundLadderFootstep = nms_StepSoundSand__init_($rt_s(1928), 1.0, 1.0);
    nms_Block_soundAnvilFootstep = nms_StepSoundAnvil__init_($rt_s(1929), 0.30000001192092896, 1.0);
    nms_Block_grassNoise = nms_NoiseGeneratorPerlin__init_0(nle_EaglercraftRandom__init_1(Long_fromInt(jl_String_hashCode($rt_s(1930)))));
    nms_Block_grassNoiseArray = $rt_createDoubleArray(256);
    nms_Block_noiseChunkX = (-2147483648);
    nms_Block_noiseChunkZ = (-2147483648);
    nms_Block_blocksList = $rt_createArray(nms_Block, 4096);
    nms_Block_opaqueCubeLookup = $rt_createBooleanArray(4096);
    nms_Block_lightOpacity = $rt_createIntArray(4096);
    nms_Block_canBlockGrass = $rt_createBooleanArray(4096);
    nms_Block_lightValue = $rt_createIntArray(4096);
    nms_Block_useNeighborBrightness = $rt_createBooleanArray(4096);
    nms_Block_stone = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockStone__init_(1), 1.5), 10.0), nms_Block_soundStoneFootstep), $rt_s(1922));
    nms_Block_grass = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockGrass__init_(2), 0.6000000238418579), nms_Block_soundGrassFootstep), $rt_s(1925));
    nms_Block_dirt = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockDirt__init_(3), 0.5), nms_Block_soundGravelFootstep), $rt_s(1931));
    var$1 = new nms_Block;
    nms_Material_$callClinit();
    nms_Block__init_0(var$1, 4, nms_Material_rock);
    nms_Block_cobblestone = nms_Block_setCreativeTab(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(var$1, 2.0), 10.0), nms_Block_soundStoneFootstep), $rt_s(1932)), nms_CreativeTabs_tabBlock);
    nms_Block_planks = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockWood__init_(5), 2.0), 5.0), nms_Block_soundWoodFootstep), $rt_s(1923));
    nms_Block_sapling = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockSapling__init_(6), 0.0), nms_Block_soundGrassFootstep), $rt_s(1933));
    nms_Block_bedrock = nms_Block_setCreativeTab(nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setBlockUnbreakable(nms_Block__init_(7, nms_Material_rock)), 6000000.0), nms_Block_soundStoneFootstep), $rt_s(1934))), nms_CreativeTabs_tabBlock);
    nms_Block_waterMoving = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setLightOpacity(nms_Block_setHardness(nms_BlockFlowing__init_(8, nms_Material_water), 100.0), 3), $rt_s(955)));
    nms_Block_waterStill = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setLightOpacity(nms_Block_setHardness(nms_BlockStationary__init_(9, nms_Material_water), 100.0), 3), $rt_s(955)));
    nms_Block_lavaMoving = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setLightValue(nms_Block_setHardness(nms_BlockFlowing__init_(10, nms_Material_lava), 0.0), 1.0), $rt_s(957)));
    nms_Block_lavaStill = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setLightValue(nms_Block_setHardness(nms_BlockStationary__init_(11, nms_Material_lava), 100.0), 1.0), $rt_s(957)));
    nms_Block_sand = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockSand__init_(12), 0.5), nms_Block_soundSandFootstep), $rt_s(1926));
    nms_Block_gravel = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockGravel__init_(13), 0.6000000238418579), nms_Block_soundGravelFootstep), $rt_s(1924));
    nms_Block_oreGold = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOre__init_(14), 3.0), 5.0), nms_Block_soundStoneFootstep), $rt_s(1935));
    nms_Block_oreIron = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOre__init_(15), 3.0), 5.0), nms_Block_soundStoneFootstep), $rt_s(1936));
    nms_Block_oreCoal = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOre__init_(16), 3.0), 5.0), nms_Block_soundStoneFootstep), $rt_s(1937));
    nms_Block_wood = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockLog__init_(17), 2.0), nms_Block_soundWoodFootstep), $rt_s(1938));
    nms_Block_leaves = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setLightOpacity(nms_Block_setHardness(nms_BlockLeaves__init_(18), 0.20000000298023224), 1), nms_Block_soundGrassFootstep), $rt_s(1939));
    nms_Block_sponge = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockSponge__init_(19), 0.6000000238418579), nms_Block_soundGrassFootstep), $rt_s(1940));
    nms_Block_glass = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockGlass__init_(20, nms_Material_glass, 0), 0.30000001192092896), nms_Block_soundGlassFootstep), $rt_s(1688));
    nms_Block_oreLapis = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOre__init_(21), 3.0), 5.0), nms_Block_soundStoneFootstep), $rt_s(1941));
    nms_Block_blockLapis = nms_Block_setCreativeTab(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_Block__init_(22, nms_Material_rock), 3.0), 5.0), nms_Block_soundStoneFootstep), $rt_s(1942)), nms_CreativeTabs_tabBlock);
    nms_Block_dispenser = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockDispenser__init_(23), 3.5), nms_Block_soundStoneFootstep), $rt_s(1943));
    nms_Block_sandStone = nms_Block_setUnlocalizedName(nms_Block_setHardness(nms_Block_setStepSound(nms_BlockSandStone__init_(24), nms_Block_soundStoneFootstep), 0.800000011920929), $rt_s(1944));
    nms_Block_music = nms_Block_setUnlocalizedName(nms_Block_setHardness(nms_BlockNote__init_(25), 0.800000011920929), $rt_s(1945));
    nms_Block_bed = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setHardness(nms_BlockBed__init_(26), 0.20000000298023224), $rt_s(1805)));
    nms_Block_railPowered = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockRailPowered__init_(27), 0.699999988079071), nms_Block_soundMetalFootstep), $rt_s(1946));
    nms_Block_railDetector = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockDetectorRail__init_(28), 0.699999988079071), nms_Block_soundMetalFootstep), $rt_s(1947));
    nms_Block_pistonStickyBase = nms_Block_setUnlocalizedName(nms_BlockPistonBase__init_(29, 1), $rt_s(1948));
    nms_Block_web = nms_Block_setUnlocalizedName(nms_Block_setHardness(nms_Block_setLightOpacity(nms_BlockWeb__init_(30), 1), 4.0), $rt_s(1949));
    nms_Block_tallGrass = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockTallGrass__init_(31), 0.0), nms_Block_soundGrassFootstep), $rt_s(1950));
    nms_Block_deadBush = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockDeadBush__init_(32), 0.0), nms_Block_soundGrassFootstep), $rt_s(1951));
    nms_Block_pistonBase = nms_Block_setUnlocalizedName(nms_BlockPistonBase__init_(33, 0), $rt_s(1952));
    nms_Block_pistonExtension = nms_BlockPistonExtension__init_(34);
    nms_Block_cloth = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockCloth__init_0(), 0.800000011920929), nms_Block_soundClothFootstep), $rt_s(1622));
    nms_Block_pistonMoving = nms_BlockPistonMoving__init_(36);
    nms_Block_plantYellow = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockFlower__init_(37), 0.0), nms_Block_soundGrassFootstep), $rt_s(1953));
    nms_Block_plantRed = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockFlower__init_(38), 0.0), nms_Block_soundGrassFootstep), $rt_s(1954));
    nms_Block_mushroomBrown = nms_Block_setUnlocalizedName(nms_Block_setLightValue(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockMushroom__init_(39, $rt_s(1955)), 0.0), nms_Block_soundGrassFootstep), 0.125), $rt_s(1956));
    nms_Block_mushroomRed = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockMushroom__init_(40, $rt_s(1957)), 0.0), nms_Block_soundGrassFootstep), $rt_s(1956));
    nms_Block_blockGold = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOreStorage__init_(41), 3.0), 10.0), nms_Block_soundMetalFootstep), $rt_s(1958));
    nms_Block_blockIron = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOreStorage__init_(42), 5.0), 10.0), nms_Block_soundMetalFootstep), $rt_s(1959));
    nms_Block_stoneDoubleSlab = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockStep__init_(43, 1), 2.0), 10.0), nms_Block_soundStoneFootstep), $rt_s(1960));
    nms_Block_stoneSingleSlab = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockStep__init_(44, 0), 2.0), 10.0), nms_Block_soundStoneFootstep), $rt_s(1960));
    nms_Block_brick = nms_Block_setCreativeTab(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_Block__init_(45, nms_Material_rock), 2.0), 10.0), nms_Block_soundStoneFootstep), $rt_s(1786)), nms_CreativeTabs_tabBlock);
    nms_Block_tnt = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockTNT__init_(46), 0.0), nms_Block_soundGrassFootstep), $rt_s(1961));
    nms_Block_bookShelf = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockBookshelf__init_(47), 1.5), nms_Block_soundWoodFootstep), $rt_s(1962));
    nms_Block_cobblestoneMossy = nms_Block_setCreativeTab(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_Block__init_(48, nms_Material_rock), 2.0), 10.0), nms_Block_soundStoneFootstep), $rt_s(1963)), nms_CreativeTabs_tabBlock);
    nms_Block_obsidian = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockObsidian__init_(49), 50.0), 2000.0), nms_Block_soundStoneFootstep), $rt_s(1964));
    nms_Block_torchWood = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setLightValue(nms_Block_setHardness(nms_BlockTorch__init_(50), 0.0), 0.9375), nms_Block_soundWoodFootstep), $rt_s(1965));
    nms_Block_fire = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setLightValue(nms_Block_setHardness(nms_BlockFire__init_(51), 0.0), 1.0), nms_Block_soundWoodFootstep), $rt_s(1966)));
    nms_Block_mobSpawner = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockMobSpawner__init_(52), 5.0), nms_Block_soundMetalFootstep), $rt_s(1967)));
    nms_Block_stairsWoodOak = nms_Block_setUnlocalizedName(nms_BlockStairs__init_(53, nms_Block_planks, 0), $rt_s(1968));
    nms_Block_chest = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockChest__init_(54, 0), 2.5), nms_Block_soundWoodFootstep), $rt_s(1969));
    nms_Block_redstoneWire = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockRedstoneWire__init_(55), 0.0), nms_Block_soundPowderFootstep), $rt_s(1970)));
    nms_Block_oreDiamond = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOre__init_(56), 3.0), 5.0), nms_Block_soundStoneFootstep), $rt_s(1971));
    nms_Block_blockDiamond = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOreStorage__init_(57), 5.0), 10.0), nms_Block_soundMetalFootstep), $rt_s(1972));
    nms_Block_workbench = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockWorkbench__init_(58), 2.5), nms_Block_soundWoodFootstep), $rt_s(1973));
    nms_Block_crops = nms_Block_setUnlocalizedName(nms_BlockCrops__init_(59), $rt_s(1974));
    nms_Block_tilledField = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockFarmland__init_(60), 0.6000000238418579), nms_Block_soundGravelFootstep), $rt_s(1975));
    nms_Block_furnaceIdle = nms_Block_setCreativeTab(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockFurnace__init_(61, 0), 3.5), nms_Block_soundStoneFootstep), $rt_s(1976)), nms_CreativeTabs_tabDecorations);
    nms_Block_furnaceBurning = nms_Block_setUnlocalizedName(nms_Block_setLightValue(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockFurnace__init_(62, 1), 3.5), nms_Block_soundStoneFootstep), 0.875), $rt_s(1976));
    nms_Block_signPost = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockSign__init_(63, $rt_cls(nms_TileEntitySign), 1), 1.0), nms_Block_soundWoodFootstep), $rt_s(1773)));
    nms_Block_doorWood = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockDoor__init_(64, nms_Material_wood), 3.0), nms_Block_soundWoodFootstep), $rt_s(1774)));
    nms_Block_ladder = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockLadder__init_(65), 0.4000000059604645), nms_Block_soundLadderFootstep), $rt_s(1928));
    nms_Block_rail = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockRail__init_(66), 0.699999988079071), nms_Block_soundMetalFootstep), $rt_s(1977));
    nms_Block_stairsCobblestone = nms_Block_setUnlocalizedName(nms_BlockStairs__init_(67, nms_Block_cobblestone, 0), $rt_s(1978));
    nms_Block_signWall = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockSign__init_(68, $rt_cls(nms_TileEntitySign), 0), 1.0), nms_Block_soundWoodFootstep), $rt_s(1773)));
    nms_Block_lever = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockLever__init_(69), 0.5), nms_Block_soundWoodFootstep), $rt_s(1979));
    nms_Block_pressurePlateStone = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockPressurePlate__init_(70, $rt_s(1922), nms_Material_rock, nms_EnumMobType_mobs), 0.5), nms_Block_soundStoneFootstep), $rt_s(1980));
    nms_Block_doorIron = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockDoor__init_(71, nms_Material_iron), 5.0), nms_Block_soundMetalFootstep), $rt_s(1780)));
    nms_Block_pressurePlatePlanks = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockPressurePlate__init_(72, $rt_s(1923), nms_Material_wood, nms_EnumMobType_everything), 0.5), nms_Block_soundWoodFootstep), $rt_s(1980));
    nms_Block_oreRedstone = nms_Block_setCreativeTab(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockRedstoneOre__init_(73, 0), 3.0), 5.0), nms_Block_soundStoneFootstep), $rt_s(1981)), nms_CreativeTabs_tabBlock);
    nms_Block_oreRedstoneGlowing = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_Block_setLightValue(nms_BlockRedstoneOre__init_(74, 1), 0.625), 3.0), 5.0), nms_Block_soundStoneFootstep), $rt_s(1981));
    nms_Block_torchRedstoneIdle = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockRedstoneTorch__init_(75, 0), 0.0), nms_Block_soundWoodFootstep), $rt_s(1982));
    nms_Block_torchRedstoneActive = nms_Block_setCreativeTab(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setLightValue(nms_Block_setHardness(nms_BlockRedstoneTorch__init_(76, 1), 0.0), 0.5), nms_Block_soundWoodFootstep), $rt_s(1982)), nms_CreativeTabs_tabRedstone);
    nms_Block_stoneButton = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockButtonStone__init_(77), 0.5), nms_Block_soundStoneFootstep), $rt_s(1983));
    nms_Block_snow = nms_Block_setLightOpacity(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockSnow__init_(78), 0.10000000149011612), nms_Block_soundSnowFootstep), $rt_s(1927)), 0);
    nms_Block_ice = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setLightOpacity(nms_Block_setHardness(nms_BlockIce__init_(79), 0.5), 3), nms_Block_soundGlassFootstep), $rt_s(1984));
    nms_Block_blockSnow = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockSnowBlock__init_(80), 0.20000000298023224), nms_Block_soundSnowFootstep), $rt_s(1927));
    nms_Block_cactus = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockCactus__init_(81), 0.4000000059604645), nms_Block_soundClothFootstep), $rt_s(1985));
    nms_Block_blockClay = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockClay__init_(82), 0.6000000238418579), nms_Block_soundGravelFootstep), $rt_s(1787));
    nms_Block_reed = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockReed__init_(83), 0.0), nms_Block_soundGrassFootstep), $rt_s(1788)));
    nms_Block_jukebox = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockJukeBox__init_(84), 2.0), 10.0), nms_Block_soundStoneFootstep), $rt_s(1986));
    nms_Block_fence = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockFence__init_(85, $rt_s(1923), nms_Material_wood), 2.0), 5.0), nms_Block_soundWoodFootstep), $rt_s(1987));
    nms_Block_pumpkin = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockPumpkin__init_(86, 0), 1.0), nms_Block_soundWoodFootstep), $rt_s(1988));
    nms_Block_netherrack = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockNetherrack__init_(87), 0.4000000059604645), nms_Block_soundStoneFootstep), $rt_s(1989));
    nms_Block_slowSand = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockSoulSand__init_(88), 0.5), nms_Block_soundSandFootstep), $rt_s(1990));
    nms_Block_glowStone = nms_Block_setUnlocalizedName(nms_Block_setLightValue(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockGlowStone__init_(89, nms_Material_glass), 0.30000001192092896), nms_Block_soundGlassFootstep), 1.0), $rt_s(1991));
    nms_Block_portal = nms_Block_setUnlocalizedName(nms_Block_setLightValue(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockPortal__init_(90), (-1.0)), nms_Block_soundGlassFootstep), 0.75), $rt_s(1051));
    nms_Block_pumpkinLantern = nms_Block_setUnlocalizedName(nms_Block_setLightValue(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockPumpkin__init_(91, 1), 1.0), nms_Block_soundWoodFootstep), 1.0), $rt_s(1992));
    nms_Block_cake = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockCake__init_(92), 0.5), nms_Block_soundClothFootstep), $rt_s(1804)));
    nms_Block_redstoneRepeaterIdle = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockRedstoneRepeater__init_(93, 0), 0.0), nms_Block_soundWoodFootstep), $rt_s(1806)));
    nms_Block_redstoneRepeaterActive = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setLightValue(nms_Block_setHardness(nms_BlockRedstoneRepeater__init_(94, 1), 0.0), 0.625), nms_Block_soundWoodFootstep), $rt_s(1806)));
    nms_Block_lockedChest = nms_Block_setTickRandomly(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setLightValue(nms_Block_setHardness(nms_BlockLockedChest__init_(95), 0.0), 1.0), nms_Block_soundWoodFootstep), $rt_s(1993)), 1);
    nms_Block_trapdoor = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockTrapDoor__init_(96, nms_Material_wood), 3.0), nms_Block_soundWoodFootstep), $rt_s(1994)));
    nms_Block_silverfish = nms_Block_setUnlocalizedName(nms_Block_setHardness(nms_BlockSilverfish__init_(97), 0.75), $rt_s(1995));
    nms_Block_stoneBrick = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockStoneBrick__init_(98), 1.5), 10.0), nms_Block_soundStoneFootstep), $rt_s(1996));
    nms_Block_mushroomCapBrown = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockMushroomCap__init_(99, nms_Material_wood, 0), 0.20000000298023224), nms_Block_soundWoodFootstep), $rt_s(1956));
    nms_Block_mushroomCapRed = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockMushroomCap__init_(100, nms_Material_wood, 1), 0.20000000298023224), nms_Block_soundWoodFootstep), $rt_s(1956));
    nms_Block_fenceIron = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockPane__init_(101, $rt_s(1997), $rt_s(1997), nms_Material_iron, 1), 5.0), 10.0), nms_Block_soundMetalFootstep), $rt_s(1997));
    nms_Block_thinGlass = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockPane__init_(102, $rt_s(1688), $rt_s(1998), nms_Material_glass, 0), 0.30000001192092896), nms_Block_soundGlassFootstep), $rt_s(1999));
    nms_Block_melon = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockMelon__init_(103), 1.0), nms_Block_soundWoodFootstep), $rt_s(1810));
    nms_Block_pumpkinStem = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockStem__init_(104, nms_Block_pumpkin), 0.0), nms_Block_soundWoodFootstep), $rt_s(2000));
    nms_Block_melonStem = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockStem__init_(105, nms_Block_melon), 0.0), nms_Block_soundWoodFootstep), $rt_s(2000));
    nms_Block_vine = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockVine__init_(106), 0.20000000298023224), nms_Block_soundGrassFootstep), $rt_s(2001));
    nms_Block_fenceGate = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockFenceGate__init_(107), 2.0), 5.0), nms_Block_soundWoodFootstep), $rt_s(2002));
    nms_Block_stairsBrick = nms_Block_setUnlocalizedName(nms_BlockStairs__init_(108, nms_Block_brick, 0), $rt_s(2003));
    nms_Block_stairsStoneBrick = nms_Block_setUnlocalizedName(nms_BlockStairs__init_(109, nms_Block_stoneBrick, 0), $rt_s(2004));
    nms_Block_mycelium = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockMycelium__init_(110), 0.6000000238418579), nms_Block_soundGrassFootstep), $rt_s(2005));
    nms_Block_waterlily = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockLilyPad__init_(111), 0.0), nms_Block_soundGrassFootstep), $rt_s(2006));
    nms_Block_netherBrick = nms_Block_setCreativeTab(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_Block__init_(112, nms_Material_rock), 2.0), 10.0), nms_Block_soundStoneFootstep), $rt_s(2007)), nms_CreativeTabs_tabBlock);
    nms_Block_netherFence = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockFence__init_(113, $rt_s(2007), nms_Material_rock), 2.0), 10.0), nms_Block_soundStoneFootstep), $rt_s(2008));
    nms_Block_stairsNetherBrick = nms_Block_setUnlocalizedName(nms_BlockStairs__init_(114, nms_Block_netherBrick, 0), $rt_s(2009));
    nms_Block_netherStalk = nms_Block_setUnlocalizedName(nms_BlockNetherStalk__init_(115), $rt_s(2010));
    nms_Block_enchantmentTable = nms_Block_setUnlocalizedName(nms_Block_setResistance(nms_Block_setHardness(nms_BlockEnchantmentTable__init_(116), 5.0), 2000.0), $rt_s(2011));
    nms_Block_brewingStand = nms_Block_setUnlocalizedName(nms_Block_setLightValue(nms_Block_setHardness(nms_BlockBrewingStand__init_(117), 0.5), 0.125), $rt_s(1829));
    nms_Block_cauldron = nms_Block_setUnlocalizedName(nms_Block_setHardness(nms_BlockCauldron__init_(118), 2.0), $rt_s(1830));
    nms_Block_endPortal = nms_Block_setResistance(nms_Block_setHardness(nms_BlockEndPortal__init_(119, nms_Material_portal), (-1.0)), 6000000.0);
    nms_Block_endPortalFrame = nms_Block_setCreativeTab(nms_Block_setResistance(nms_Block_setUnlocalizedName(nms_Block_setHardness(nms_Block_setLightValue(nms_Block_setStepSound(nms_BlockEndPortalFrame__init_(120), nms_Block_soundGlassFootstep), 0.125), (-1.0)), $rt_s(2012)), 6000000.0), nms_CreativeTabs_tabDecorations);
    nms_Block_whiteStone = nms_Block_setCreativeTab(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_Block__init_(121, nms_Material_rock), 3.0), 15.0), nms_Block_soundStoneFootstep), $rt_s(2013)), nms_CreativeTabs_tabBlock);
    nms_Block_dragonEgg = nms_Block_setUnlocalizedName(nms_Block_setLightValue(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockDragonEgg__init_(122), 3.0), 15.0), nms_Block_soundStoneFootstep), 0.125), $rt_s(2014));
    nms_Block_redstoneLampIdle = nms_Block_setCreativeTab(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockRedstoneLight__init_(123, 0), 0.30000001192092896), nms_Block_soundGlassFootstep), $rt_s(2015)), nms_CreativeTabs_tabRedstone);
    nms_Block_redstoneLampActive = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockRedstoneLight__init_(124, 1), 0.30000001192092896), nms_Block_soundGlassFootstep), $rt_s(2015));
    nms_Block_woodDoubleSlab = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockWoodSlab__init_(125, 1), 2.0), 5.0), nms_Block_soundWoodFootstep), $rt_s(2016));
    nms_Block_woodSingleSlab = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockWoodSlab__init_(126, 0), 2.0), 5.0), nms_Block_soundWoodFootstep), $rt_s(2016));
    nms_Block_cocoaPlant = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockCocoa__init_(127), 0.20000000298023224), 5.0), nms_Block_soundWoodFootstep), $rt_s(2017));
    nms_Block_stairsSandStone = nms_Block_setUnlocalizedName(nms_BlockStairs__init_(128, nms_Block_sandStone, 0), $rt_s(2018));
    nms_Block_oreEmerald = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOre__init_(129), 3.0), 5.0), nms_Block_soundStoneFootstep), $rt_s(2019));
    nms_Block_enderChest = nms_Block_setLightValue(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockEnderChest__init_(130), 22.5), 1000.0), nms_Block_soundStoneFootstep), $rt_s(2020)), 0.5);
    nms_Block_tripWireSource = nms_Block_setUnlocalizedName(nms_BlockTripWireSource__init_(131), $rt_s(2021));
    nms_Block_tripWire = nms_Block_setUnlocalizedName(nms_BlockTripWire__init_(132), $rt_s(2022));
    nms_Block_blockEmerald = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOreStorage__init_(133), 5.0), 10.0), nms_Block_soundMetalFootstep), $rt_s(2023));
    nms_Block_stairsWoodSpruce = nms_Block_setUnlocalizedName(nms_BlockStairs__init_(134, nms_Block_planks, 1), $rt_s(2024));
    nms_Block_stairsWoodBirch = nms_Block_setUnlocalizedName(nms_BlockStairs__init_(135, nms_Block_planks, 2), $rt_s(2025));
    nms_Block_stairsWoodJungle = nms_Block_setUnlocalizedName(nms_BlockStairs__init_(136, nms_Block_planks, 3), $rt_s(2026));
    nms_Block_commandBlock = nms_Block_setUnlocalizedName(nms_BlockCommandBlock__init_(137), $rt_s(2027));
    nms_Block_beacon = nms_Block_setLightValue(nms_Block_setUnlocalizedName(nms_BlockBeacon__init_(138), $rt_s(2028)), 1.0);
    nms_Block_cobblestoneWall = nms_Block_setUnlocalizedName(nms_BlockWall__init_(139, nms_Block_cobblestone), $rt_s(2029));
    nms_Block_flowerPot = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockFlowerPot__init_(140), 0.0), nms_Block_soundPowderFootstep), $rt_s(1839));
    nms_Block_carrot = nms_Block_setUnlocalizedName(nms_BlockCarrot__init_(141), $rt_s(1840));
    nms_Block_potato = nms_Block_setUnlocalizedName(nms_BlockPotato__init_(142), $rt_s(2030));
    nms_Block_woodenButton = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockButtonWood__init_(143), 0.5), nms_Block_soundWoodFootstep), $rt_s(1983));
    nms_Block_skull = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockSkull__init_(144), 1.0), nms_Block_soundStoneFootstep), $rt_s(1846));
    nms_Block_anvil = nms_Block_setUnlocalizedName(nms_Block_setResistance(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockAnvil__init_(145), 5.0), nms_Block_soundAnvilFootstep), 2000.0), $rt_s(1929));
    nms_Block_chestTrapped = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockChest__init_(146, 1), 2.5), nms_Block_soundWoodFootstep), $rt_s(2031));
    nms_Block_pressurePlateGold = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockPressurePlateWeighted__init_(147, $rt_s(1958), nms_Material_iron, 64), 0.5), nms_Block_soundWoodFootstep), $rt_s(2032));
    nms_Block_pressurePlateIron = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockPressurePlateWeighted__init_(148, $rt_s(1959), nms_Material_iron, 640), 0.5), nms_Block_soundWoodFootstep), $rt_s(2033));
    nms_Block_redstoneComparatorIdle = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockComparator__init_(149, 0), 0.0), nms_Block_soundWoodFootstep), $rt_s(1853)));
    nms_Block_redstoneComparatorActive = nms_Block_disableStats(nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setLightValue(nms_Block_setHardness(nms_BlockComparator__init_(150, 1), 0.0), 0.625), nms_Block_soundWoodFootstep), $rt_s(1853)));
    nms_Block_daylightSensor = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockDaylightDetector__init_(151), 0.20000000298023224), nms_Block_soundWoodFootstep), $rt_s(2034));
    nms_Block_blockRedstone = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockPoweredOre__init_(152), 5.0), 10.0), nms_Block_soundMetalFootstep), $rt_s(2035));
    nms_Block_oreNetherQuartz = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockOre__init_(153), 3.0), 5.0), nms_Block_soundStoneFootstep), $rt_s(1855));
    nms_Block_hopperBlock = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setResistance(nms_Block_setHardness(nms_BlockHopper__init_(154), 3.0), 8.0), nms_Block_soundWoodFootstep), $rt_s(966));
    nms_Block_blockNetherQuartz = nms_Block_setUnlocalizedName(nms_Block_setHardness(nms_Block_setStepSound(nms_BlockQuartz__init_(155), nms_Block_soundStoneFootstep), 0.800000011920929), $rt_s(2036));
    nms_Block_stairsNetherQuartz = nms_Block_setUnlocalizedName(nms_BlockStairs__init_(156, nms_Block_blockNetherQuartz, 0), $rt_s(2037));
    nms_Block_railActivator = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockRailPowered__init_(157), 0.699999988079071), nms_Block_soundMetalFootstep), $rt_s(2038));
    nms_Block_dropper = nms_Block_setUnlocalizedName(nms_Block_setStepSound(nms_Block_setHardness(nms_BlockDropper__init_(158), 3.5), nms_Block_soundStoneFootstep), $rt_s(2039));
    nms_Item_$callClinit();
    nms_Item_itemsList.data[nms_Block_cloth.$blockID] = nms_Item_setUnlocalizedName(nms_ItemCloth__init_(nms_Block_cloth.$blockID - 256 | 0), $rt_s(1622));
    nms_Item_itemsList.data[nms_Block_wood.$blockID] = nms_Item_setUnlocalizedName(nms_ItemMultiTextureTile__init_(nms_Block_wood.$blockID - 256 | 0, nms_Block_wood, nms_BlockLog_woodType), $rt_s(1938));
    nms_Item_itemsList.data[nms_Block_planks.$blockID] = nms_Item_setUnlocalizedName(nms_ItemMultiTextureTile__init_(nms_Block_planks.$blockID - 256 | 0, nms_Block_planks, nms_BlockWood_woodType), $rt_s(1923));
    nms_Item_itemsList.data[nms_Block_silverfish.$blockID] = nms_Item_setUnlocalizedName(nms_ItemMultiTextureTile__init_(nms_Block_silverfish.$blockID - 256 | 0, nms_Block_silverfish, nms_BlockSilverfish_silverfishStoneTypes), $rt_s(1995));
    nms_Item_itemsList.data[nms_Block_stoneBrick.$blockID] = nms_Item_setUnlocalizedName(nms_ItemMultiTextureTile__init_(nms_Block_stoneBrick.$blockID - 256 | 0, nms_Block_stoneBrick, nms_BlockStoneBrick_STONE_BRICK_TYPES), $rt_s(1996));
    nms_Item_itemsList.data[nms_Block_sandStone.$blockID] = nms_Item_setUnlocalizedName(nms_ItemMultiTextureTile__init_(nms_Block_sandStone.$blockID - 256 | 0, nms_Block_sandStone, nms_BlockSandStone_SAND_STONE_TYPES), $rt_s(1944));
    nms_Item_itemsList.data[nms_Block_blockNetherQuartz.$blockID] = nms_Item_setUnlocalizedName(nms_ItemMultiTextureTile__init_(nms_Block_blockNetherQuartz.$blockID - 256 | 0, nms_Block_blockNetherQuartz, nms_BlockQuartz_quartzBlockTypes), $rt_s(2036));
    nms_Item_itemsList.data[nms_Block_stoneSingleSlab.$blockID] = nms_Item_setUnlocalizedName(nms_ItemSlab__init_(nms_Block_stoneSingleSlab.$blockID - 256 | 0, nms_Block_stoneSingleSlab, nms_Block_stoneDoubleSlab, 0), $rt_s(1960));
    nms_Item_itemsList.data[nms_Block_stoneDoubleSlab.$blockID] = nms_Item_setUnlocalizedName(nms_ItemSlab__init_(nms_Block_stoneDoubleSlab.$blockID - 256 | 0, nms_Block_stoneSingleSlab, nms_Block_stoneDoubleSlab, 1), $rt_s(1960));
    nms_Item_itemsList.data[nms_Block_woodSingleSlab.$blockID] = nms_Item_setUnlocalizedName(nms_ItemSlab__init_(nms_Block_woodSingleSlab.$blockID - 256 | 0, nms_Block_woodSingleSlab, nms_Block_woodDoubleSlab, 0), $rt_s(2016));
    nms_Item_itemsList.data[nms_Block_woodDoubleSlab.$blockID] = nms_Item_setUnlocalizedName(nms_ItemSlab__init_(nms_Block_woodDoubleSlab.$blockID - 256 | 0, nms_Block_woodSingleSlab, nms_Block_woodDoubleSlab, 1), $rt_s(2016));
    nms_Item_itemsList.data[nms_Block_sapling.$blockID] = nms_Item_setUnlocalizedName(nms_ItemMultiTextureTile__init_(nms_Block_sapling.$blockID - 256 | 0, nms_Block_sapling, nms_BlockSapling_WOOD_TYPES), $rt_s(1933));
    nms_Item_itemsList.data[nms_Block_leaves.$blockID] = nms_Item_setUnlocalizedName(nms_ItemLeaves__init_(nms_Block_leaves.$blockID - 256 | 0), $rt_s(1939));
    nms_Item_itemsList.data[nms_Block_vine.$blockID] = nms_ItemColored__init_(nms_Block_vine.$blockID - 256 | 0, 0);
    var$2 = nms_Item_itemsList.data;
    $var0 = nms_Block_tallGrass.$blockID;
    var$1 = nms_ItemColored__init_(nms_Block_tallGrass.$blockID - 256 | 0, 1);
    var$4 = $rt_createArray(jl_String, 3);
    var$5 = var$4.data;
    var$5[0] = $rt_s(2040);
    var$5[1] = $rt_s(1925);
    var$5[2] = $rt_s(2041);
    var$2[$var0] = nms_ItemColored_setBlockNames(var$1, var$4);
    nms_Item_itemsList.data[nms_Block_snow.$blockID] = nms_ItemSnow__init_(nms_Block_snow.$blockID - 256 | 0, nms_Block_snow);
    nms_Item_itemsList.data[nms_Block_waterlily.$blockID] = nms_ItemLilyPad__init_(nms_Block_waterlily.$blockID - 256 | 0);
    nms_Item_itemsList.data[nms_Block_pistonBase.$blockID] = nms_ItemPiston__init_(nms_Block_pistonBase.$blockID - 256 | 0);
    nms_Item_itemsList.data[nms_Block_pistonStickyBase.$blockID] = nms_ItemPiston__init_(nms_Block_pistonStickyBase.$blockID - 256 | 0);
    nms_Item_itemsList.data[nms_Block_cobblestoneWall.$blockID] = nms_Item_setUnlocalizedName(nms_ItemMultiTextureTile__init_(nms_Block_cobblestoneWall.$blockID - 256 | 0, nms_Block_cobblestoneWall, nms_BlockWall_types), $rt_s(2029));
    nms_Item_itemsList.data[nms_Block_anvil.$blockID] = nms_Item_setUnlocalizedName(nms_ItemAnvilBlock__init_(nms_Block_anvil), $rt_s(1929));
    $var0 = 0;
    while ($var0 < 256) {
        if (nms_Block_blocksList.data[$var0] !== null) {
            if (nms_Item_itemsList.data[$var0] === null) {
                nms_Item_itemsList.data[$var0] = nms_ItemBlock__init_($var0 - 256 | 0);
                nms_Block_blocksList.data[$var0].$initializeBlock();
            }
            $var1 = 0;
            if ($var0 > 0 && nms_Block_blocksList.data[$var0].$getRenderType() == 10)
                $var1 = 1;
            if ($var0 > 0 && nms_Block_blocksList.data[$var0] instanceof nms_BlockHalfSlab)
                $var1 = 1;
            if ($var0 == nms_Block_tilledField.$blockID)
                $var1 = 1;
            if (nms_Block_canBlockGrass.data[$var0])
                $var1 = 1;
            if (!nms_Block_lightOpacity.data[$var0])
                $var1 = 1;
            nms_Block_useNeighborBrightness.data[$var0] = $var1;
        }
        $var0 = $var0 + 1 | 0;
    }
    nms_Block_canBlockGrass.data[0] = 1;
}
function nms_Container() {
    var a = this; jl_Object.call(a);
    a.$inventoryItemStacks = null;
    a.$inventorySlots = null;
    a.$windowId = 0;
    a.$transactionID = 0;
    a.$field_94535_f = 0;
    a.$field_94536_g = 0;
    a.$field_94537_h = null;
    a.$crafters = null;
    a.$playerList0 = null;
}
function nms_Container__init_0() {
    var var_0 = new nms_Container();
    nms_Container__init_(var_0);
    return var_0;
}
function nms_Container__init_($this) {
    $this.$inventoryItemStacks = ju_ArrayList__init_0();
    $this.$inventorySlots = ju_ArrayList__init_0();
    $this.$windowId = 0;
    $this.$transactionID = 0;
    $this.$field_94535_f = (-1);
    $this.$field_94536_g = 0;
    $this.$field_94537_h = ju_HashSet__init_0();
    $this.$crafters = ju_ArrayList__init_0();
    $this.$playerList0 = ju_HashSet__init_0();
}
function nms_Container_addSlotToContainer($this, $par1Slot) {
    $par1Slot.$slotNumber = $this.$inventorySlots.$size;
    ju_ArrayList_add($this.$inventorySlots, $par1Slot);
    ju_ArrayList_add($this.$inventoryItemStacks, null);
    return $par1Slot;
}
function nms_Container_addCraftingToCrafters($this, $par1ICrafting) {
    if (!ju_AbstractCollection_contains($this.$crafters, $par1ICrafting)) {
        ju_ArrayList_add($this.$crafters, $par1ICrafting);
        $par1ICrafting.$sendContainerAndContentsToPlayer($this, nms_Container_getInventory($this));
        $this.$detectAndSendChanges();
        return;
    }
    $par1ICrafting = new jl_IllegalArgumentException;
    jl_Throwable__init_($par1ICrafting, $rt_s(2042));
    $rt_throw($par1ICrafting);
}
function nms_Container_removeCraftingFromCrafters($this, $par1ICrafting) {
    ju_ArrayList_remove0($this.$crafters, $par1ICrafting);
}
function nms_Container_getInventory($this) {
    var $var1, $var2;
    $var1 = ju_ArrayList__init_0();
    $var2 = 0;
    while ($var2 < $this.$inventorySlots.$size) {
        ju_ArrayList_add($var1, ju_ArrayList_get($this.$inventorySlots, $var2).$getStack());
        $var2 = $var2 + 1 | 0;
    }
    return $var1;
}
function nms_Container_detectAndSendChanges($this) {
    var $var1, $var2, $var4;
    $var1 = 0;
    while ($var1 < $this.$inventorySlots.$size) {
        a: {
            $var2 = ju_ArrayList_get($this.$inventorySlots, $var1).$getStack();
            if (!nms_ItemStack_areItemStacksEqual(ju_ArrayList_get($this.$inventoryItemStacks, $var1), $var2)) {
                $var2 = $var2 !== null ? nms_ItemStack_copy($var2) : null;
                ju_ArrayList_set($this.$inventoryItemStacks, $var1, $var2);
                $var4 = 0;
                while (true) {
                    if ($var4 >= $this.$crafters.$size)
                        break a;
                    ju_ArrayList_get($this.$crafters, $var4).$sendSlotContents($this, $var1, $var2);
                    $var4 = $var4 + 1 | 0;
                }
            }
        }
        $var1 = $var1 + 1 | 0;
    }
}
function nms_Container_getSlot($this, $par1) {
    return ju_ArrayList_get($this.$inventorySlots, $par1);
}
function nms_Container_slotClick($this, $par1, $par2, $par3, $par4EntityPlayer) {
    var $var5, $var6, $var7, $var8, $var17, $var9, $var10, $var11, $var12, $var13, $var16, $var18, $var19, $var22, $var24, $var21, $var23, $var14, $var20, $var15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var15 = $thread.pop();$var20 = $thread.pop();$var14 = $thread.pop();$var23 = $thread.pop();$var21 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var17 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4EntityPlayer = $thread.pop();$par3
        = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            $var5 = null;
            $var6 = $par4EntityPlayer.$inventory;
            if ($par3 == 5) {
                $var7 = $this.$field_94536_g;
                $this.$field_94536_g = nms_Container_func_94532_c($par2);
                if (!($var7 == 1 && $this.$field_94536_g == 2) && $var7 != $this.$field_94536_g)
                    nms_Container_func_94533_d($this);
                else if (nms_InventoryPlayer_getItemStack($var6) === null)
                    nms_Container_func_94533_d($this);
                else if (!$this.$field_94536_g) {
                    $this.$field_94535_f = nms_Container_func_94529_b($par2);
                    if (!nms_Container_func_94528_d($this.$field_94535_f))
                        nms_Container_func_94533_d($this);
                    else {
                        $this.$field_94536_g = 1;
                        ju_HashSet_clear($this.$field_94537_h);
                    }
                } else if ($this.$field_94536_g == 1) {
                    $var8 = ju_ArrayList_get($this.$inventorySlots, $par1);
                    if ($var8 !== null && nms_Container_func_94527_a($var8, nms_InventoryPlayer_getItemStack($var6), 1) && $var8.$isItemValid(nms_InventoryPlayer_getItemStack($var6)) && nms_InventoryPlayer_getItemStack($var6).$stackSize > ju_HashSet_size($this.$field_94537_h) && $this.$func_94531_b($var8))
                        ju_HashSet_add($this.$field_94537_h, $var8);
                } else if ($this.$field_94536_g != 2)
                    nms_Container_func_94533_d($this);
                else {
                    if (!ju_HashSet_isEmpty($this.$field_94537_h)) {
                        $var17 = nms_ItemStack_copy(nms_InventoryPlayer_getItemStack($var6));
                        $var9 = nms_InventoryPlayer_getItemStack($var6).$stackSize;
                        $var10 = ju_HashSet_iterator($this.$field_94537_h);
                        while ($var10.$hasNext()) {
                            $var11 = $var10.$next();
                            if ($var11 !== null && nms_Container_func_94527_a($var11, nms_InventoryPlayer_getItemStack($var6), 1) && $var11.$isItemValid(nms_InventoryPlayer_getItemStack($var6)) && nms_InventoryPlayer_getItemStack($var6).$stackSize >= ju_HashSet_size($this.$field_94537_h) && $this.$func_94531_b($var11)) {
                                $var12 = nms_ItemStack_copy($var17);
                                $var13 = !$var11.$getHasStack() ? 0 : $var11.$getStack().$stackSize;
                                nms_Container_func_94525_a($this.$field_94537_h, $this.$field_94535_f, $var12, $var13);
                                if ($var12.$stackSize > nms_ItemStack_getMaxStackSize($var12))
                                    $var12.$stackSize = nms_ItemStack_getMaxStackSize($var12);
                                if ($var12.$stackSize > $var11.$getSlotStackLimit())
                                    $var12.$stackSize = $var11.$getSlotStackLimit();
                                $var9 = $var9 - ($var12.$stackSize - $var13 | 0) | 0;
                                $ptr = 20;
                                continue main;
                            }
                        }
                        $var17.$stackSize = $var9;
                        if ($var17.$stackSize <= 0)
                            $var17 = null;
                        nms_InventoryPlayer_setItemStack($var6, $var17);
                    }
                    nms_Container_func_94533_d($this);
                }
            } else if ($this.$field_94536_g)
                nms_Container_func_94533_d($this);
            else {
                b: {
                    if (!($par3 && $par3 != 1)) {
                        if (!$par2)
                            break b;
                        if ($par2 == 1)
                            break b;
                    }
                    if ($par3 == 2 && $par2 >= 0 && $par2 < 9) {
                        $var16 = ju_ArrayList_get($this.$inventorySlots, $par1);
                        if (!$var16.$canTakeStack($par4EntityPlayer))
                            break a;
                        c: {
                            d: {
                                $var17 = nms_InventoryPlayer_getStackInSlot($var6, $par2);
                                if ($var17 !== null) {
                                    if ($var16.$inventory0 !== $var6)
                                        break d;
                                    if (!$var16.$isItemValid($var17))
                                        break d;
                                }
                                $var18 = 1;
                                break c;
                            }
                            $var18 = 0;
                        }
                        $var19 = (-1);
                        if (!$var18) {
                            $var19 = nms_InventoryPlayer_getFirstEmptyStack($var6);
                            $var18 = $var18 | ($var19 <= (-1) ? 0 : 1);
                        }
                        if ($var16.$getHasStack() && $var18) {
                            $var22 = $var16.$getStack();
                            $var24 = nms_ItemStack_copy($var22);
                            $ptr = 6;
                            continue main;
                        }
                        if (!$var16.$getHasStack() && $var17 !== null && $var16.$isItemValid($var17)) {
                            $par4EntityPlayer = null;
                            $ptr = 11;
                            continue main;
                        }
                        break a;
                    }
                    if ($par3 == 3 && $par4EntityPlayer.$capabilities.$isCreativeMode && nms_InventoryPlayer_getItemStack($var6) === null && $par1 >= 0) {
                        $var16 = ju_ArrayList_get($this.$inventorySlots, $par1);
                        if ($var16 === null)
                            break a;
                        if (!$var16.$getHasStack())
                            break a;
                        $var17 = nms_ItemStack_copy($var16.$getStack());
                        $var17.$stackSize = nms_ItemStack_getMaxStackSize($var17);
                        nms_InventoryPlayer_setItemStack($var6, $var17);
                        break a;
                    }
                    if ($par3 == 4 && nms_InventoryPlayer_getItemStack($var6) === null && $par1 >= 0) {
                        $var16 = ju_ArrayList_get($this.$inventorySlots, $par1);
                        if ($var16 === null)
                            break a;
                        if (!$var16.$getHasStack())
                            break a;
                        if (!$var16.$canTakeStack($par4EntityPlayer))
                            break a;
                        $par1 = !$par2 ? 1 : $var16.$getStack().$stackSize;
                        $ptr = 4;
                        continue main;
                    }
                    if ($par3 != 6)
                        break a;
                    if ($par1 < 0)
                        break a;
                    e: {
                        f: {
                            $var16 = ju_ArrayList_get($this.$inventorySlots, $par1);
                            $var17 = nms_InventoryPlayer_getItemStack($var6);
                            if ($var17 !== null && !($var16 !== null && $var16.$getHasStack() && $var16.$canTakeStack($par4EntityPlayer))) {
                                $var9 = !$par2 ? 0 : ju_ArrayList_size($this.$inventorySlots) - 1 | 0;
                                $var19 = $par2 ? (-1) : 1;
                                $var21 = 0;
                                $var22 = null;
                                while (true) {
                                    if ($var21 >= 2)
                                        break f;
                                    $var23 = $var9;
                                    while ($var23 >= 0 && $var23 < ju_ArrayList_size($this.$inventorySlots) && $var17.$stackSize < nms_ItemStack_getMaxStackSize($var17)) {
                                        $var24 = ju_ArrayList_get($this.$inventorySlots, $var23);
                                        if ($var24.$getHasStack() && nms_Container_func_94527_a($var24, $var17, 1) && $var24.$canTakeStack($par4EntityPlayer) && $this.$func_94530_a($var17, $var24)) {
                                            if ($var21)
                                                break e;
                                            if ($var24.$getStack().$stackSize != nms_ItemStack_getMaxStackSize($var24.$getStack()))
                                                break e;
                                        }
                                        $var23 = $var23 + $var19 | 0;
                                    }
                                    $var21 = $var21 + 1 | 0;
                                }
                            }
                        }
                        $this.$detectAndSendChanges();
                        break a;
                    }
                    $var14 = jl_Math_min(nms_ItemStack_getMaxStackSize($var17) - $var17.$stackSize | 0, $var24.$getStack().$stackSize);
                    $ptr = 24;
                    continue main;
                }
                $var9 = $rt_compare($par1, (-999));
                if ($var9) {
                    if ($par3 == 1) {
                        if ($par1 < 0)
                            return null;
                        $var16 = ju_ArrayList_get($this.$inventorySlots, $par1);
                        if ($var16 === null)
                            break a;
                        if (!$var16.$canTakeStack($par4EntityPlayer))
                            break a;
                        $ptr = 1;
                        continue main;
                    }
                    if ($par1 < 0)
                        return null;
                    $var16 = ju_ArrayList_get($this.$inventorySlots, $par1);
                    if ($var16 !== null) {
                        $var17 = $var16.$getStack();
                        $var20 = nms_InventoryPlayer_getItemStack($var6);
                        if ($var17 !== null)
                            $var5 = nms_ItemStack_copy($var17);
                        g: {
                            if ($var17 === null) {
                                if ($var20 === null)
                                    break g;
                                if (!$var16.$isItemValid($var20))
                                    break g;
                                $var19 = $par2 ? 1 : $var20.$stackSize;
                                if ($var19 > $var16.$getSlotStackLimit())
                                    $var19 = $var16.$getSlotStackLimit();
                                $par4EntityPlayer = nms_ItemStack_splitStack($var20, $var19);
                                $ptr = 16;
                                continue main;
                            }
                            if ($var16.$canTakeStack($par4EntityPlayer)) {
                                if ($var20 === null) {
                                    $var19 = !$par2 ? $var17.$stackSize : ($var17.$stackSize + 1 | 0) / 2 | 0;
                                    $ptr = 7;
                                    continue main;
                                }
                                if (!$var16.$isItemValid($var20)) {
                                    if ($var17.$itemID0 != $var20.$itemID0)
                                        break g;
                                    if (nms_ItemStack_getMaxStackSize($var20) <= 1)
                                        break g;
                                    if (nms_ItemStack_getHasSubtypes($var17) && nms_ItemStack_getItemDamage($var17) != nms_ItemStack_getItemDamage($var20))
                                        break g;
                                    if (!nms_ItemStack_areItemStackTagsEqual($var17, $var20))
                                        break g;
                                    $var19 = $var17.$stackSize;
                                    if ($var19 <= 0)
                                        break g;
                                    if (($var19 + $var20.$stackSize | 0) > nms_ItemStack_getMaxStackSize($var20))
                                        break g;
                                    $var20.$stackSize = $var20.$stackSize + $var19 | 0;
                                    $ptr = 21;
                                    continue main;
                                }
                                if ($var17.$itemID0 == $var20.$itemID0 && nms_ItemStack_getItemDamage($var17) == nms_ItemStack_getItemDamage($var20) && nms_ItemStack_areItemStackTagsEqual($var17, $var20)) {
                                    $var19 = $par2 ? 1 : $var20.$stackSize;
                                    if ($var19 > ($var16.$getSlotStackLimit() - $var17.$stackSize | 0))
                                        $var19 = $var16.$getSlotStackLimit() - $var17.$stackSize | 0;
                                    if ($var19 > (nms_ItemStack_getMaxStackSize($var20) - $var17.$stackSize | 0))
                                        $var19 = nms_ItemStack_getMaxStackSize($var20) - $var17.$stackSize | 0;
                                    nms_ItemStack_splitStack($var20, $var19);
                                    if (!$var20.$stackSize)
                                        nms_InventoryPlayer_setItemStack($var6, null);
                                    $var17.$stackSize = $var17.$stackSize + $var19 | 0;
                                } else if ($var20.$stackSize <= $var16.$getSlotStackLimit()) {
                                    $ptr = 8;
                                    continue main;
                                }
                            }
                        }
                        $ptr = 2;
                        continue main;
                    }
                } else if (nms_InventoryPlayer_getItemStack($var6) !== null && !$var9) {
                    if (!$par2) {
                        nms_EntityPlayer_dropPlayerItem($par4EntityPlayer, nms_InventoryPlayer_getItemStack($var6));
                        nms_InventoryPlayer_setItemStack($var6, null);
                    }
                    if ($par2 == 1) {
                        nms_EntityPlayer_dropPlayerItem($par4EntityPlayer, nms_ItemStack_splitStack(nms_InventoryPlayer_getItemStack($var6), 1));
                        if (!nms_InventoryPlayer_getItemStack($var6).$stackSize)
                            nms_InventoryPlayer_setItemStack($var6, null);
                    }
                }
            }
        }
        return $var5;
    case 1:
        $tmp = $this.$transferStackInSlot($par4EntityPlayer, $par1);
        if ($rt_suspending()) {
            break main;
        }
        $var17 = $tmp;
        if ($var17 !== null) {
            $var9 = $var17.$itemID0;
            $var5 = nms_ItemStack_copy($var17);
            if ($var16.$getStack() !== null && $var16.$getStack().$itemID0 == $var9) {
                $par3 = 1;
                $ptr = 3;
                continue main;
            }
        }
        return $var5;
    case 2:
        $var16.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        return $var5;
    case 3:
        $this.$retrySlotClick($par1, $par2, $par3, $par4EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return $var5;
    case 4:
        $tmp = $var16.$decrStackSize0($par1);
        if ($rt_suspending()) {
            break main;
        }
        $var17 = $tmp;
        $ptr = 5;
    case 5:
        $var16.$onPickupFromSlot($par4EntityPlayer, $var17);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityPlayer_dropPlayerItem($par4EntityPlayer, $var17);
        return $var5;
    case 6:
        nms_InventoryPlayer_setInventorySlotContents($var6, $par2, $var24);
        if ($rt_suspending()) {
            break main;
        }
        if (!($var16.$inventory0 === $var6 && $var16.$isItemValid($var17)) && $var17 !== null) {
            if ($var19 <= (-1))
                return $var5;
            nms_InventoryPlayer_addItemStackToInventory($var6, $var17);
            $par1 = $var22.$stackSize;
            $ptr = 17;
            continue main;
        }
        $par1 = $var22.$stackSize;
        $ptr = 13;
        continue main;
    case 7:
        $tmp = $var16.$decrStackSize0($var19);
        if ($rt_suspending()) {
            break main;
        }
        $var22 = $tmp;
        nms_InventoryPlayer_setItemStack($var6, $var22);
        if ($var17.$stackSize) {
            $var17 = nms_InventoryPlayer_getItemStack($var6);
            $ptr = 9;
            continue main;
        }
        $var17 = null;
        $ptr = 10;
        continue main;
    case 8:
        $var16.$putStack($var20);
        if ($rt_suspending()) {
            break main;
        }
        nms_InventoryPlayer_setItemStack($var6, $var17);
        $ptr = 2;
        continue main;
    case 9:
        $var16.$onPickupFromSlot($par4EntityPlayer, $var17);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
        continue main;
    case 10:
        $var16.$putStack($var17);
        if ($rt_suspending()) {
            break main;
        }
        $var17 = nms_InventoryPlayer_getItemStack($var6);
        $ptr = 9;
        continue main;
    case 11:
        nms_InventoryPlayer_setInventorySlotContents($var6, $par2, $par4EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 12;
    case 12:
        $var16.$putStack($var17);
        if ($rt_suspending()) {
            break main;
        }
        return $var5;
    case 13:
        $var16.$decrStackSize0($par1);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 14;
    case 14:
        $var16.$putStack($var17);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 15;
    case 15:
        $var16.$onPickupFromSlot($par4EntityPlayer, $var22);
        if ($rt_suspending()) {
            break main;
        }
        return $var5;
    case 16:
        $var16.$putStack($par4EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        if (!$var20.$stackSize)
            nms_InventoryPlayer_setItemStack($var6, null);
        $ptr = 2;
        continue main;
    case 17:
        $var16.$decrStackSize0($par1);
        if ($rt_suspending()) {
            break main;
        }
        $var17 = null;
        $ptr = 18;
    case 18:
        $var16.$putStack($var17);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 19;
    case 19:
        $var16.$onPickupFromSlot($par4EntityPlayer, $var22);
        if ($rt_suspending()) {
            break main;
        }
        return $var5;
    case 20:
        $var11.$putStack($var12);
        if ($rt_suspending()) {
            break main;
        }
        while ($var10.$hasNext()) {
            $var11 = $var10.$next();
            if ($var11 === null)
                continue;
            if (!nms_Container_func_94527_a($var11, nms_InventoryPlayer_getItemStack($var6), 1))
                continue;
            if (!$var11.$isItemValid(nms_InventoryPlayer_getItemStack($var6)))
                continue;
            if (nms_InventoryPlayer_getItemStack($var6).$stackSize < ju_HashSet_size($this.$field_94537_h))
                continue;
            if ($this.$func_94531_b($var11)) {
                $var12 = nms_ItemStack_copy($var17);
                $var13 = !$var11.$getHasStack() ? 0 : $var11.$getStack().$stackSize;
                nms_Container_func_94525_a($this.$field_94537_h, $this.$field_94535_f, $var12, $var13);
                if ($var12.$stackSize > nms_ItemStack_getMaxStackSize($var12))
                    $var12.$stackSize = nms_ItemStack_getMaxStackSize($var12);
                if ($var12.$stackSize > $var11.$getSlotStackLimit())
                    $var12.$stackSize = $var11.$getSlotStackLimit();
                $var9 = $var9 - ($var12.$stackSize - $var13 | 0) | 0;
                continue main;
            }
        }
        $var17.$stackSize = $var9;
        if ($var17.$stackSize <= 0)
            $var17 = null;
        nms_InventoryPlayer_setItemStack($var6, $var17);
        nms_Container_func_94533_d($this);
        return $var5;
    case 21:
        $tmp = $var16.$decrStackSize0($var19);
        if ($rt_suspending()) {
            break main;
        }
        $var17 = $tmp;
        if ($var17.$stackSize) {
            $var17 = nms_InventoryPlayer_getItemStack($var6);
            $ptr = 22;
            continue main;
        }
        $var17 = null;
        $ptr = 23;
        continue main;
    case 22:
        $var16.$onPickupFromSlot($par4EntityPlayer, $var17);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
        continue main;
    case 23:
        $var16.$putStack($var17);
        if ($rt_suspending()) {
            break main;
        }
        $var17 = nms_InventoryPlayer_getItemStack($var6);
        $ptr = 22;
        continue main;
    case 24:
        $tmp = $var24.$decrStackSize0($var14);
        if ($rt_suspending()) {
            break main;
        }
        $var15 = $tmp;
        $var17.$stackSize = $var17.$stackSize + $var14 | 0;
        if ($var15.$stackSize > 0) {
            $ptr = 25;
            continue main;
        }
        $ptr = 26;
        continue main;
    case 25:
        $var24.$onPickupFromSlot($par4EntityPlayer, $var15);
        if ($rt_suspending()) {
            break main;
        }
        h: {
            a: while (true) {
                $var23 = $var23 + $var19 | 0;
                while (!($var23 >= 0 && $var23 < ju_ArrayList_size($this.$inventorySlots) && $var17.$stackSize < nms_ItemStack_getMaxStackSize($var17))) {
                    $var21 = $var21 + 1 | 0;
                    if ($var21 >= 2)
                        break a;
                    $var23 = $var9;
                }
                $var24 = ju_ArrayList_get($this.$inventorySlots, $var23);
                if (!$var24.$getHasStack())
                    continue;
                if (!nms_Container_func_94527_a($var24, $var17, 1))
                    continue;
                if (!$var24.$canTakeStack($par4EntityPlayer))
                    continue;
                if (!$this.$func_94530_a($var17, $var24))
                    continue;
                if ($var21)
                    break h;
                if ($var24.$getStack().$stackSize == nms_ItemStack_getMaxStackSize($var24.$getStack()))
                    continue;
                else
                    break h;
            }
            $this.$detectAndSendChanges();
            return $var5;
        }
        $var14 = jl_Math_min(nms_ItemStack_getMaxStackSize($var17) - $var17.$stackSize | 0, $var24.$getStack().$stackSize);
        $ptr = 24;
        continue main;
    case 26:
        $var24.$putStack($var22);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 25;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4EntityPlayer, $var5, $var6, $var7, $var8, $var17, $var9, $var10, $var11, $var12, $var13, $var16, $var18, $var19, $var22, $var24, $var21, $var23, $var14, $var20, $var15, $ptr);
}
function nms_Container_func_94530_a($this, $par1ItemStack, $par2Slot) {
    return 1;
}
function nms_Container_retrySlotClick($this, $par1, $par2, $par3, $par4EntityPlayer) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par4EntityPlayer = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par3 = 1;
        $ptr = 1;
    case 1:
        nms_Container_slotClick($this, $par1, $par2, $par3, $par4EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4EntityPlayer, $ptr);
}
function nms_Container_onCraftGuiClosed($this, $par1EntityPlayer) {
    var $var2;
    $var2 = $par1EntityPlayer.$inventory;
    if ($var2.$itemStack !== null) {
        nms_EntityPlayer_dropPlayerItem($par1EntityPlayer, $var2.$itemStack);
        $var2.$itemStack = null;
    }
}
function nms_Container_onCraftMatrixChanged($this, $par1IInventory) {
    nms_Container_detectAndSendChanges($this);
}
function nms_Container_putStackInSlot($this, $par1, $par2ItemStack) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2ItemStack = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = nms_Container_getSlot($this, $par1);
        $ptr = 1;
    case 1:
        var$3.$putStack($par2ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2ItemStack, var$3, $ptr);
}
function nms_Container_putStacksInSlots($this, $par1ArrayOfItemStack) {
    var $var2, var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1ArrayOfItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = 0;
        var$3 = $par1ArrayOfItemStack.data;
        if ($var2 >= var$3.length)
            return;
        var$4 = nms_Container_getSlot($this, $var2);
        var$5 = var$3[$var2];
        $ptr = 1;
    case 1:
        var$4.$putStack(var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $var2 + 1 | 0;
        var$3 = $par1ArrayOfItemStack.data;
        if ($var2 >= var$3.length)
            return;
        var$4 = nms_Container_getSlot($this, $var2);
        var$5 = var$3[$var2];
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ArrayOfItemStack, $var2, var$3, var$4, var$5, $ptr);
}
function nms_Container_updateProgressBar($this, $par1, $par2) {
    return;
}
function nms_Container_getNextTransactionID($this, $par1InventoryPlayer) {
    $this.$transactionID = ($this.$transactionID + 1 | 0) << 16 >> 16;
    return $this.$transactionID;
}
function nms_Container_mergeItemStack($this, $par1ItemStack, $par2, $par3, $par4) {
    var var$5, $var7, $var8, $var9, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$5 = !$par4 ? $par2 : $par3 - 1 | 0;
        a: {
            if (nms_ItemStack_isStackable($par1ItemStack))
                while ($par1ItemStack.$stackSize > 0) {
                    if (!(!$par4 && var$5 < $par3)) {
                        if (!$par4)
                            break a;
                        if (var$5 < $par2)
                            break a;
                    }
                    $var7 = ju_ArrayList_get($this.$inventorySlots, var$5);
                    $var8 = $var7.$getStack();
                    if ($var8 !== null && $var8.$itemID0 == $par1ItemStack.$itemID0 && !(nms_ItemStack_getHasSubtypes($par1ItemStack) && $par1ItemStack.$itemDamage != $var8.$itemDamage) && nms_ItemStack_areItemStackTagsEqual($par1ItemStack, $var8)) {
                        $var9 = $var8.$stackSize + $par1ItemStack.$stackSize | 0;
                        if ($var9 <= nms_ItemStack_getMaxStackSize($par1ItemStack)) {
                            $par1ItemStack.$stackSize = 0;
                            $var8.$stackSize = $var9;
                            $ptr = 3;
                            continue main;
                        }
                        if ($var8.$stackSize < nms_ItemStack_getMaxStackSize($par1ItemStack)) {
                            $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - (nms_ItemStack_getMaxStackSize($par1ItemStack) - $var8.$stackSize | 0) | 0;
                            $var8.$stackSize = nms_ItemStack_getMaxStackSize($par1ItemStack);
                            $ptr = 4;
                            continue main;
                        }
                    }
                    if (!$par4) {
                        var$5 = var$5 + 1 | 0;
                        continue;
                    }
                    var$5 = var$5 + (-1) | 0;
                }
        }
        b: {
            if ($par1ItemStack.$stackSize > 0) {
                var$9 = !$par4 ? $par2 : $par3 - 1 | 0;
                while (true) {
                    if (!(!$par4 && var$9 < $par3)) {
                        if (!$par4)
                            break b;
                        if (var$9 < $par2)
                            break;
                    }
                    $var7 = ju_ArrayList_get($this.$inventorySlots, var$9);
                    if ($var7.$getStack() === null) {
                        $var8 = nms_ItemStack_copy($par1ItemStack);
                        $ptr = 1;
                        continue main;
                    }
                    if (!$par4) {
                        var$9 = var$9 + 1 | 0;
                        continue;
                    }
                    var$9 = var$9 + (-1) | 0;
                }
            }
        }
        return 0;
    case 1:
        $var7.$putStack($var8);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $var7.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        $par1ItemStack.$stackSize = 0;
        return 1;
    case 3:
        $var7.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        c: {
            while (true) {
                var$5 = !$par4 ? var$5 + 1 | 0 : var$5 + (-1) | 0;
                if ($par1ItemStack.$stackSize <= 0)
                    break c;
                if (!(!$par4 && var$5 < $par3)) {
                    if (!$par4)
                        break c;
                    if (var$5 < $par2)
                        break;
                }
                $var7 = ju_ArrayList_get($this.$inventorySlots, var$5);
                $var8 = $var7.$getStack();
                if ($var8 === null)
                    continue;
                if ($var8.$itemID0 != $par1ItemStack.$itemID0)
                    continue;
                if (nms_ItemStack_getHasSubtypes($par1ItemStack) && $par1ItemStack.$itemDamage != $var8.$itemDamage)
                    continue;
                if (!nms_ItemStack_areItemStackTagsEqual($par1ItemStack, $var8))
                    continue;
                $var9 = $var8.$stackSize + $par1ItemStack.$stackSize | 0;
                if ($var9 <= nms_ItemStack_getMaxStackSize($par1ItemStack)) {
                    $par1ItemStack.$stackSize = 0;
                    $var8.$stackSize = $var9;
                    continue main;
                }
                if ($var8.$stackSize < nms_ItemStack_getMaxStackSize($par1ItemStack)) {
                    $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - (nms_ItemStack_getMaxStackSize($par1ItemStack) - $var8.$stackSize | 0) | 0;
                    $var8.$stackSize = nms_ItemStack_getMaxStackSize($par1ItemStack);
                    $ptr = 4;
                    continue main;
                }
            }
        }
        d: {
            if ($par1ItemStack.$stackSize > 0) {
                var$9 = !$par4 ? $par2 : $par3 - 1 | 0;
                while (true) {
                    if (!(!$par4 && var$9 < $par3)) {
                        if (!$par4)
                            break d;
                        if (var$9 < $par2)
                            break;
                    }
                    $var7 = ju_ArrayList_get($this.$inventorySlots, var$9);
                    if ($var7.$getStack() === null) {
                        $var8 = nms_ItemStack_copy($par1ItemStack);
                        $ptr = 1;
                        continue main;
                    }
                    if (!$par4) {
                        var$9 = var$9 + 1 | 0;
                        continue;
                    }
                    var$9 = var$9 + (-1) | 0;
                }
            }
        }
        return 1;
    case 4:
        $var7.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        c: {
            while (true) {
                var$5 = !$par4 ? var$5 + 1 | 0 : var$5 + (-1) | 0;
                if ($par1ItemStack.$stackSize <= 0)
                    break c;
                if (!(!$par4 && var$5 < $par3)) {
                    if (!$par4)
                        break c;
                    if (var$5 < $par2)
                        break;
                }
                $var7 = ju_ArrayList_get($this.$inventorySlots, var$5);
                $var8 = $var7.$getStack();
                if ($var8 === null)
                    continue;
                if ($var8.$itemID0 != $par1ItemStack.$itemID0)
                    continue;
                if (nms_ItemStack_getHasSubtypes($par1ItemStack) && $par1ItemStack.$itemDamage != $var8.$itemDamage)
                    continue;
                if (!nms_ItemStack_areItemStackTagsEqual($par1ItemStack, $var8))
                    continue;
                $var9 = $var8.$stackSize + $par1ItemStack.$stackSize | 0;
                if ($var9 <= nms_ItemStack_getMaxStackSize($par1ItemStack)) {
                    $par1ItemStack.$stackSize = 0;
                    $var8.$stackSize = $var9;
                    $ptr = 3;
                    continue main;
                }
                if ($var8.$stackSize < nms_ItemStack_getMaxStackSize($par1ItemStack)) {
                    $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - (nms_ItemStack_getMaxStackSize($par1ItemStack) - $var8.$stackSize | 0) | 0;
                    $var8.$stackSize = nms_ItemStack_getMaxStackSize($par1ItemStack);
                    continue main;
                }
            }
        }
        d: {
            if ($par1ItemStack.$stackSize > 0) {
                var$9 = !$par4 ? $par2 : $par3 - 1 | 0;
                while (true) {
                    if (!(!$par4 && var$9 < $par3)) {
                        if (!$par4)
                            break d;
                        if (var$9 < $par2)
                            break;
                    }
                    $var7 = ju_ArrayList_get($this.$inventorySlots, var$9);
                    if ($var7.$getStack() === null) {
                        $var8 = nms_ItemStack_copy($par1ItemStack);
                        $ptr = 1;
                        continue main;
                    }
                    if (!$par4) {
                        var$9 = var$9 + 1 | 0;
                        continue;
                    }
                    var$9 = var$9 + (-1) | 0;
                }
            }
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2, $par3, $par4, var$5, $var7, $var8, $var9, var$9, $ptr);
}
function nms_Container_func_94529_b($par0) {
    return $par0 >> 2 & 3;
}
function nms_Container_func_94532_c($par0) {
    return $par0 & 3;
}
function nms_Container_func_94534_d($par0, $par1) {
    return $par0 & 3 | ($par1 & 3) << 2;
}
function nms_Container_func_94528_d($par0) {
    return $par0 && $par0 != 1 ? 0 : 1;
}
function nms_Container_func_94533_d($this) {
    $this.$field_94536_g = 0;
    ju_HashSet_clear($this.$field_94537_h);
}
function nms_Container_func_94527_a($par0Slot, $par1ItemStack, $par2) {
    var $var3, $var10002;
    $var3 = $par0Slot !== null && $par0Slot.$getHasStack() ? 0 : 1;
    if ($par0Slot !== null && $par0Slot.$getHasStack() && $par1ItemStack !== null && nms_ItemStack_isItemEqual($par1ItemStack, $par0Slot.$getStack()) && nms_ItemStack_areItemStackTagsEqual($par0Slot.$getStack(), $par1ItemStack)) {
        $var10002 = !$par2 ? $par1ItemStack.$stackSize : 0;
        $var3 = $var3 | (($par0Slot.$getStack().$stackSize + $var10002 | 0) > nms_ItemStack_getMaxStackSize($par1ItemStack) ? 0 : 1);
    }
    return $var3;
}
function nms_Container_func_94525_a($par0Set, $par1, $par2ItemStack, $par3) {
    a: {
        switch ($par1) {
            case 0:
                $par2ItemStack.$stackSize = nms_MathHelper_floor_float($par2ItemStack.$stackSize / ju_HashSet_size($par0Set));
                break a;
            case 1:
                break;
            default:
                break a;
        }
        $par2ItemStack.$stackSize = 1;
    }
    $par2ItemStack.$stackSize = $par2ItemStack.$stackSize + $par3 | 0;
}
function nms_Container_func_94531_b($this, $par1Slot) {
    return 1;
}
function nms_Container_calcRedstoneFromInventory($par0IInventory) {
    var $var1, $var2, $var3, $var4;
    if ($par0IInventory === null)
        return 0;
    $var1 = 0;
    $var2 = 0.0;
    $var3 = 0;
    while ($var3 < $par0IInventory.$getSizeInventory()) {
        $var4 = $par0IInventory.$getStackInSlot($var3);
        if ($var4 !== null) {
            $var2 = $var2 + $var4.$stackSize / jl_Math_min($par0IInventory.$getInventoryStackLimit(), nms_ItemStack_getMaxStackSize($var4));
            $var1 = $var1 + 1 | 0;
        }
        $var3 = $var3 + 1 | 0;
    }
    return nms_MathHelper_floor_float($var2 / $par0IInventory.$getSizeInventory() * 14.0) + ($var1 <= 0 ? 0 : 1) | 0;
}
function nms_EntityList() {
    jl_Object.call(this);
}
var nms_EntityList_stringToClassMapping = null;
var nms_EntityList_stringToConstructorMapping = null;
var nms_EntityList_classToStringMapping = null;
var nms_EntityList_IDtoClassMapping = null;
var nms_EntityList_IDtoConstructorMapping = null;
var nms_EntityList_classToIDMapping = null;
var nms_EntityList_stringToIDMapping = null;
var nms_EntityList_entityEggs = null;
function nms_EntityList__init_0() {
    var var_0 = new nms_EntityList();
    nms_EntityList__init_(var_0);
    return var_0;
}
function nms_EntityList__init_($this) {
    return;
}
function nms_EntityList_addMapping($par0Class, $construst, $par1Str, $par2) {
    ju_HashMap_putImpl(nms_EntityList_stringToClassMapping, $par1Str, $par0Class);
    ju_HashMap_putImpl(nms_EntityList_stringToConstructorMapping, $par1Str, $construst);
    ju_HashMap_putImpl(nms_EntityList_classToStringMapping, $par0Class, $par1Str);
    ju_HashMap_putImpl(nms_EntityList_IDtoClassMapping, jl_Integer_valueOf($par2), $par0Class);
    ju_HashMap_putImpl(nms_EntityList_IDtoConstructorMapping, jl_Integer_valueOf($par2), $construst);
    ju_HashMap_putImpl(nms_EntityList_classToIDMapping, $par0Class, jl_Integer_valueOf($par2));
    ju_HashMap_putImpl(nms_EntityList_stringToIDMapping, $par1Str, jl_Integer_valueOf($par2));
}
function nms_EntityList_addMapping0($par0Class, $construst, $par1Str, $par2, $par3, $par4) {
    nms_EntityList_addMapping($par0Class, $construst, $par1Str, $par2);
    $par1Str = nms_EntityList_entityEggs;
    $par0Class = jl_Integer_valueOf($par2);
    $construst = new nms_EntityEggInfo;
    $construst.$spawnedID = $par2;
    $construst.$primaryColor = $par3;
    $construst.$secondaryColor = $par4;
    ju_LinkedHashMap_put($par1Str, $par0Class, $construst);
}
function nms_EntityList_getClassFromID($par0) {
    return ju_HashMap_get(nms_EntityList_IDtoClassMapping, jl_Integer_valueOf($par0));
}
function nms_EntityList_getStringFromID($par0) {
    var $var1;
    $var1 = nms_EntityList_getClassFromID($par0);
    return $var1 === null ? null : ju_HashMap_get(nms_EntityList_classToStringMapping, $var1);
}
function nms_EntityList__clinit_() {
    nms_EntityList_stringToClassMapping = ju_HashMap__init_();
    nms_EntityList_stringToConstructorMapping = ju_HashMap__init_();
    nms_EntityList_classToStringMapping = ju_HashMap__init_();
    nms_EntityList_IDtoClassMapping = ju_HashMap__init_();
    nms_EntityList_IDtoConstructorMapping = ju_HashMap__init_();
    nms_EntityList_classToIDMapping = ju_HashMap__init_();
    nms_EntityList_stringToIDMapping = ju_HashMap__init_();
    nms_EntityList_entityEggs = ju_LinkedHashMap__init_0();
    nms_EntityList_addMapping($rt_cls(nms_EntityItem), nms_EntityList$_clinit_$lambda$_61_0__init_0(), $rt_s(2043), 1);
    nms_EntityList_addMapping($rt_cls(nms_EntityXPOrb), nms_EntityList$_clinit_$lambda$_61_1__init_0(), $rt_s(2044), 2);
    nms_EntityList_addMapping($rt_cls(nms_EntityPainting), nms_EntityList$_clinit_$lambda$_61_2__init_0(), $rt_s(2045), 9);
    nms_EntityList_addMapping($rt_cls(nms_EntityArrow), nms_EntityList$_clinit_$lambda$_61_3__init_0(), $rt_s(2046), 10);
    nms_EntityList_addMapping($rt_cls(nms_EntitySnowball), nms_EntityList$_clinit_$lambda$_61_4__init_0(), $rt_s(2047), 11);
    nms_EntityList_addMapping($rt_cls(nms_EntityLargeFireball), nms_EntityList$_clinit_$lambda$_61_5__init_0(), $rt_s(2048), 12);
    nms_EntityList_addMapping($rt_cls(nms_EntitySmallFireball), nms_EntityList$_clinit_$lambda$_61_6__init_0(), $rt_s(2049), 13);
    nms_EntityList_addMapping($rt_cls(nms_EntityEnderPearl), nms_EntityList$_clinit_$lambda$_61_7__init_0(), $rt_s(2050), 14);
    nms_EntityList_addMapping($rt_cls(nms_EntityEnderEye), nms_EntityList$_clinit_$lambda$_61_8__init_0(), $rt_s(2051), 15);
    nms_EntityList_addMapping($rt_cls(nms_EntityPotion), nms_EntityList$_clinit_$lambda$_61_9__init_0(), $rt_s(2052), 16);
    nms_EntityList_addMapping($rt_cls(nms_EntityExpBottle), nms_EntityList$_clinit_$lambda$_61_10__init_0(), $rt_s(2053), 17);
    nms_EntityList_addMapping($rt_cls(nms_EntityItemFrame), nms_EntityList$_clinit_$lambda$_61_11__init_0(), $rt_s(2054), 18);
    nms_EntityList_addMapping($rt_cls(nms_EntityWitherSkull), nms_EntityList$_clinit_$lambda$_61_12__init_0(), $rt_s(2055), 19);
    nms_EntityList_addMapping($rt_cls(nms_EntityTNTPrimed), nms_EntityList$_clinit_$lambda$_61_13__init_0(), $rt_s(2056), 20);
    nms_EntityList_addMapping($rt_cls(nms_EntityFallingSand), nms_EntityList$_clinit_$lambda$_61_14__init_0(), $rt_s(2057), 21);
    nms_EntityList_addMapping($rt_cls(nms_EntityFireworkRocket), nms_EntityList$_clinit_$lambda$_61_15__init_0(), $rt_s(2058), 22);
    nms_EntityList_addMapping($rt_cls(nms_EntityBoat), nms_EntityList$_clinit_$lambda$_61_16__init_0(), $rt_s(2059), 41);
    nms_EntityList_addMapping($rt_cls(nms_EntityMinecartEmpty), nms_EntityList$_clinit_$lambda$_61_17__init_0(), $rt_s(2060), 42);
    nms_EntityList_addMapping($rt_cls(nms_EntityMinecartChest), nms_EntityList$_clinit_$lambda$_61_18__init_0(), $rt_s(2061), 43);
    nms_EntityList_addMapping($rt_cls(nms_EntityMinecartFurnace), nms_EntityList$_clinit_$lambda$_61_19__init_0(), $rt_s(2062), 44);
    nms_EntityList_addMapping($rt_cls(nms_EntityMinecartTNT), nms_EntityList$_clinit_$lambda$_61_20__init_0(), $rt_s(2063), 45);
    nms_EntityList_addMapping($rt_cls(nms_EntityMinecartHopper), nms_EntityList$_clinit_$lambda$_61_21__init_0(), $rt_s(2064), 46);
    nms_EntityList_addMapping($rt_cls(nms_EntityMinecartMobSpawner), nms_EntityList$_clinit_$lambda$_61_22__init_0(), $rt_s(2065), 47);
    nms_EntityList_addMapping0($rt_cls(nms_EntityCreeper), nms_EntityList$_clinit_$lambda$_61_23__init_0(), $rt_s(560), 50, 894731, 0);
    nms_EntityList_addMapping0($rt_cls(nms_EntitySkeleton), nms_EntityList$_clinit_$lambda$_61_24__init_0(), $rt_s(553), 51, 12698049, 4802889);
    nms_EntityList_addMapping0($rt_cls(nms_EntitySpider), nms_EntityList$_clinit_$lambda$_61_25__init_0(), $rt_s(2066), 52, 3419431, 11013646);
    nms_EntityList_addMapping0($rt_cls(nms_EntityZombie), nms_EntityList$_clinit_$lambda$_61_26__init_0(), $rt_s(561), 54, 44975, 7969893);
    nms_EntityList_addMapping0($rt_cls(nms_EntitySlime), nms_EntityList$_clinit_$lambda$_61_27__init_0(), $rt_s(556), 55, 5349438, 8306542);
    nms_EntityList_addMapping0($rt_cls(nms_EntityGhast), nms_EntityList$_clinit_$lambda$_61_28__init_0(), $rt_s(2067), 56, 16382457, 12369084);
    nms_EntityList_addMapping0($rt_cls(nms_EntityPigZombie), nms_EntityList$_clinit_$lambda$_61_29__init_0(), $rt_s(2068), 57, 15373203, 5009705);
    nms_EntityList_addMapping0($rt_cls(nms_EntityEnderman), nms_EntityList$_clinit_$lambda$_61_30__init_0(), $rt_s(552), 58, 1447446, 0);
    nms_EntityList_addMapping0($rt_cls(nms_EntityCaveSpider), nms_EntityList$_clinit_$lambda$_61_31__init_0(), $rt_s(2069), 59, 803406, 11013646);
    nms_EntityList_addMapping0($rt_cls(nms_EntitySilverfish), nms_EntityList$_clinit_$lambda$_61_32__init_0(), $rt_s(2070), 60, 7237230, 3158064);
    nms_EntityList_addMapping0($rt_cls(nms_EntityBlaze), nms_EntityList$_clinit_$lambda$_61_33__init_0(), $rt_s(554), 61, 16167425, 16775294);
    nms_EntityList_addMapping0($rt_cls(nms_EntityMagmaCube), nms_EntityList$_clinit_$lambda$_61_34__init_0(), $rt_s(2071), 62, 3407872, 16579584);
    nms_EntityList_addMapping($rt_cls(nms_EntityDragon), nms_EntityList$_clinit_$lambda$_61_35__init_0(), $rt_s(2072), 63);
    nms_EntityList_addMapping($rt_cls(nms_EntityWither), nms_EntityList$_clinit_$lambda$_61_36__init_0(), $rt_s(2073), 64);
    nms_EntityList_addMapping0($rt_cls(nms_EntityBat), nms_EntityList$_clinit_$lambda$_61_37__init_0(), $rt_s(2074), 65, 4996656, 986895);
    nms_EntityList_addMapping0($rt_cls(nms_EntityWitch), nms_EntityList$_clinit_$lambda$_61_38__init_0(), $rt_s(2075), 66, 3407872, 5349438);
    nms_EntityList_addMapping0($rt_cls(nms_EntityPig), nms_EntityList$_clinit_$lambda$_61_39__init_0(), $rt_s(562), 90, 15771042, 14377823);
    nms_EntityList_addMapping0($rt_cls(nms_EntitySheep), nms_EntityList$_clinit_$lambda$_61_40__init_0(), $rt_s(2076), 91, 15198183, 16758197);
    nms_EntityList_addMapping0($rt_cls(nms_EntityCow), nms_EntityList$_clinit_$lambda$_61_41__init_0(), $rt_s(2077), 92, 4470310, 10592673);
    nms_EntityList_addMapping0($rt_cls(nms_EntityChicken), nms_EntityList$_clinit_$lambda$_61_42__init_0(), $rt_s(2078), 93, 10592673, 16711680);
    nms_EntityList_addMapping0($rt_cls(nms_EntitySquid), nms_EntityList$_clinit_$lambda$_61_43__init_0(), $rt_s(563), 94, 2243405, 7375001);
    nms_EntityList_addMapping0($rt_cls(nms_EntityWolf), nms_EntityList$_clinit_$lambda$_61_44__init_0(), $rt_s(2079), 95, 14144467, 13545366);
    nms_EntityList_addMapping0($rt_cls(nms_EntityMooshroom), nms_EntityList$_clinit_$lambda$_61_45__init_0(), $rt_s(2080), 96, 10489616, 12040119);
    nms_EntityList_addMapping($rt_cls(nms_EntitySnowman), nms_EntityList$_clinit_$lambda$_61_46__init_0(), $rt_s(2081), 97);
    nms_EntityList_addMapping0($rt_cls(nms_EntityOcelot), nms_EntityList$_clinit_$lambda$_61_47__init_0(), $rt_s(2082), 98, 15720061, 5653556);
    nms_EntityList_addMapping($rt_cls(nms_EntityIronGolem), nms_EntityList$_clinit_$lambda$_61_48__init_0(), $rt_s(2083), 99);
    nms_EntityList_addMapping0($rt_cls(nms_EntityVillager), nms_EntityList$_clinit_$lambda$_61_49__init_0(), $rt_s(565), 120, 5651507, 12422002);
    nms_EntityList_addMapping($rt_cls(nms_EntityEnderCrystal), nms_EntityList$_clinit_$lambda$_61_50__init_0(), $rt_s(2084), 200);
}
function otp_PlatformQueue() {
    jl_Object.call(this);
}
function otp_PlatformQueue_isEmpty$static($this) {
    return $this.length ? 0 : 1;
}
function otp_PlatformQueue_remove$static($this) {
    return $this.shift();
}
function jl_Object$monitorExit$lambda$_8_0() {
    jl_Object.call(this);
    this.$_00 = null;
}
function jl_Object$monitorExit$lambda$_8_0_run(var$0) {
    var var$1, var$2, var$3;
    var$1 = var$0.$_00;
    if (!jl_Object_isEmptyMonitor(var$1) && var$1.$monitor.$owner === null) {
        var$2 = var$1.$monitor;
        if (var$2.$enteringThreads !== null && !otp_PlatformQueue_isEmpty$static(var$2.$enteringThreads)) {
            var$1 = var$2.$enteringThreads;
            var$3 = otp_PlatformQueue_remove$static(var$1);
            if (var$1 === null)
                var$2.$enteringThreads = null;
            jl_Object$monitorEnterWait$lambda$_6_0_run(var$3);
        }
    }
}
function ji_UTFDataFormatException() {
    ji_IOException.call(this);
}
function ji_UTFDataFormatException__init_0() {
    var var_0 = new ji_UTFDataFormatException();
    ji_UTFDataFormatException__init_(var_0);
    return var_0;
}
function ji_UTFDataFormatException__init_($this) {
    jl_Throwable__init_0($this);
}
function nms_ITexturePack() {
}
function nms_TexturePackImplementation() {
    var a = this; jl_Object.call(a);
    a.$texturePackID = null;
    a.$texturePackFileName = null;
    a.$firstDescriptionLine = null;
    a.$field_98141_g = null;
    a.$thumbnailImage = null;
    a.$thumbnailTextureName = 0;
}
var nms_TexturePackImplementation_tex_unknown_pack = null;
function nms_TexturePackImplementation_func_98138_b($this, $par1Str, $par2) {
    var $var3;
    $var3 = nms_TexturePackDefault_func_98140_c($this, $par1Str);
    if (!$var3 && $par2 && $this.$field_98141_g !== null)
        $var3 = $this.$field_98141_g.$func_98138_b($par1Str, $par2);
    return $var3;
}
function nms_TexturePackImplementation__clinit_() {
    nms_TexturePackImplementation_tex_unknown_pack = nle_TextureLocation__init_($rt_s(2085));
}
function nms_TexturePackDefault() {
    nms_TexturePackImplementation.call(this);
}
function nms_TexturePackDefault__init_0() {
    var var_0 = new nms_TexturePackDefault();
    nms_TexturePackDefault__init_(var_0);
    return var_0;
}
function nms_TexturePackDefault__init_($this) {
    var var$1, var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = null;
        $this.$thumbnailTextureName = (-1);
        $this.$texturePackID = $rt_s(222);
        $this.$texturePackFileName = $rt_s(855);
        $this.$field_98141_g = var$1;
        var$2 = nlea_EaglerAdapterImpl2_loadResourceBytes($rt_s(2086));
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_loadPNG(var$2);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $tmp;
        $this.$thumbnailImage = var$3;
        nms_TexturePackDefault_loadDescription($this);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, $ptr);
}
function nms_TexturePackDefault_loadDescription($this) {
    $this.$firstDescriptionLine = $rt_s(2087);
}
function nms_TexturePackDefault_func_98140_c($this, $par1Str) {
    return nlea_EaglerAdapterImpl2_loadResource($par1Str) === null ? 0 : 1;
}
function nms_TexturePackDefault_getResourceAsBytes($this, $par1Str) {
    return nlea_EaglerAdapterImpl2_loadResourceBytes($par1Str);
}
function nms_IntHashMapEntry() {
    var a = this; jl_Object.call(a);
    a.$hashEntry = 0;
    a.$valueEntry = null;
    a.$nextEntry = null;
    a.$slotHash = 0;
}
function nms_Icon() {
}
function nle_TextureTerrainMap$TerrainIcon() {
    var a = this; jl_Object.call(a);
    a.$map = null;
    a.$name12 = null;
    a.$id6 = 0;
    a.$frames = null;
    a.$framesIdx = null;
    a.$originX = 0;
    a.$originY = 0;
    a.$minU = 0.0;
    a.$maxU = 0.0;
    a.$minV = 0.0;
    a.$maxV = 0.0;
    a.$originX_center = 0;
    a.$originY_center = 0;
    a.$minU_center = 0.0;
    a.$maxU_center = 0.0;
    a.$minV_center = 0.0;
    a.$maxV_center = 0.0;
    a.$frameCounter = 0;
    a.$frameCurrent = 0;
}
function nle_TextureTerrainMap$TerrainIcon__init_0(var_0, var_1, var_2, var_3) {
    var var_4 = new nle_TextureTerrainMap$TerrainIcon();
    nle_TextureTerrainMap$TerrainIcon__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nle_TextureTerrainMap$TerrainIcon_getOriginX($this) {
    return $this.$originX_center;
}
function nle_TextureTerrainMap$TerrainIcon_getOriginY($this) {
    return $this.$originY_center;
}
function nle_TextureTerrainMap$TerrainIcon_getMinU($this) {
    return $this.$minU_center;
}
function nle_TextureTerrainMap$TerrainIcon_getMaxU($this) {
    return $this.$maxU_center;
}
function nle_TextureTerrainMap$TerrainIcon_getInterpolatedU($this, $var1) {
    var $var3;
    $var3 = $this.$maxU_center - $this.$minU_center;
    return $this.$minU_center + $var3 * $var1 / 16.0;
}
function nle_TextureTerrainMap$TerrainIcon_getMinV($this) {
    return $this.$minV_center;
}
function nle_TextureTerrainMap$TerrainIcon_getMaxV($this) {
    return $this.$maxV_center;
}
function nle_TextureTerrainMap$TerrainIcon_getInterpolatedV($this, $var1) {
    var $var3;
    $var3 = $this.$maxV_center - $this.$minV_center;
    return $this.$minV_center + $var3 * $var1 / 16.0;
}
function nle_TextureTerrainMap$TerrainIcon_getIconName($this) {
    return $this.$name12 !== null ? $this.$name12 : $rt_s(1060);
}
function nle_TextureTerrainMap$TerrainIcon_getSheetWidth($this) {
    return nle_TextureTerrainMap_access$000($this.$map);
}
function nle_TextureTerrainMap$TerrainIcon_getSheetHeight($this) {
    return nle_TextureTerrainMap_access$100($this.$map);
}
function nle_TextureTerrainMap$TerrainIcon_loadData($this) {
    var $img, $data, $divs, $i, $dat, var$6, $i_0, $fd, $len, $j, $i_1, $c, $l, $k, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$k = $thread.pop();$l = $thread.pop();$c = $thread.pop();$i_1 = $thread.pop();$j = $thread.pop();$len = $thread.pop();$fd = $thread.pop();$i_0 = $thread.pop();var$6 = $thread.pop();$dat = $thread.pop();$i = $thread.pop();$divs = $thread.pop();$data = $thread.pop();$img = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $img = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($img);
        jl_AbstractStringBuilder_append($img, $rt_s(61));
        jl_AbstractStringBuilder_append($img, nle_TextureTerrainMap_access$300($this.$map));
        jl_AbstractStringBuilder_append($img, $this.$name12);
        jl_AbstractStringBuilder_append($img, $rt_s(73));
        $data = nlea_EaglerAdapterImpl2_loadResourceBytes(jl_AbstractStringBuilder_toString($img));
        if ($data === null) {
            nle_TextureTerrainMap_access$200($this.$map, $this, nle_TextureTerrainMap_access$400($this.$map));
            return;
        }
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_loadPNG($data);
        if ($rt_suspending()) {
            break main;
        }
        $img = $tmp;
        if ($img === null)
            nle_TextureTerrainMap_access$200($this.$map, $this, nle_TextureTerrainMap_access$400($this.$map));
        else {
            $divs = $img.$h0 / 16 | 0;
            if ($divs == 1) {
                $this.$frames = null;
                $this.$framesIdx = null;
                nle_TextureTerrainMap_access$200($this.$map, $this, nle_TextureTerrainMap_generateMip($img));
            } else {
                $this.$frames = $rt_createArray($rt_arraycls(nle_EaglerImage), $divs);
                $i = 0;
                while ($i < $divs) {
                    $this.$frames.data[$i] = nle_TextureTerrainMap_generateMip(nle_EaglerImage_getSubImage($img, 0, $i * 16 | 0, 16, 16));
                    $i = $i + 1 | 0;
                }
                $img = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($img);
                jl_AbstractStringBuilder_append($img, $rt_s(61));
                jl_AbstractStringBuilder_append($img, nle_TextureTerrainMap_access$300($this.$map));
                jl_AbstractStringBuilder_append($img, $this.$name12);
                jl_AbstractStringBuilder_append($img, $rt_s(1106));
                $dat = nlea_EaglerAdapterImpl2_fileContents(jl_AbstractStringBuilder_toString($img));
                if ($dat !== null) {
                    $img = jl_System_out();
                    var$6 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_(var$6);
                    jl_AbstractStringBuilder_append(var$6, $rt_s(1535));
                    jl_AbstractStringBuilder_append(var$6, nle_TextureTerrainMap_access$300($this.$map));
                    jl_AbstractStringBuilder_append(var$6, $this.$name12);
                    jl_AbstractStringBuilder_append(var$6, $rt_s(73));
                    ji_PrintStream_println($img, jl_AbstractStringBuilder_toString(var$6));
                }
                a: {
                    b: {
                        if ($dat !== null) {
                            $img = jl_String_trim($dat);
                            if (!jl_String_isEmpty($img))
                                break b;
                        }
                        $this.$framesIdx = $rt_createIntArray($this.$frames.data.length);
                        $i_0 = 0;
                        while ($i_0 < $this.$frames.data.length) {
                            $this.$framesIdx.data[$i_0] = $i_0;
                            $i_0 = $i_0 + 1 | 0;
                        }
                        break a;
                    }
                    $fd = jl_String_split($img, $rt_s(273));
                    $len = 0;
                    $i_0 = 0;
                    while (true) {
                        $data = $fd.data;
                        $divs = $data.length;
                        if ($i_0 >= $divs)
                            break;
                        $j = jl_String_indexOf0($data[$i_0], 42);
                        $len = $len + ($j == (-1) ? 1 : jl_Integer_parseInt(jl_String_substring($data[$i_0], $j + 1 | 0))) | 0;
                        $i_0 = $i_0 + 1 | 0;
                    }
                    $this.$framesIdx = $rt_createIntArray($len);
                    $len = 0;
                    $i_1 = 0;
                    while (true) {
                        if ($i_1 >= $divs)
                            break a;
                        $j = jl_String_indexOf0($data[$i_1], 42);
                        if ($j == (-1)) {
                            $fd = $this.$framesIdx.data;
                            $i_0 = $len + 1 | 0;
                            $fd[$len] = jl_Integer_parseInt($data[$i_1]);
                        } else {
                            $c = jl_Integer_parseInt(jl_String_substring0($data[$i_1], 0, $j));
                            $l = jl_Integer_parseInt(jl_String_substring($data[$i_1], $j + 1 | 0));
                            $k = 0;
                            while ($k < $l) {
                                $fd = $this.$framesIdx.data;
                                $i_0 = $len + 1 | 0;
                                $fd[$len] = $c;
                                $k = $k + 1 | 0;
                                $len = $i_0;
                            }
                            $i_0 = $len;
                        }
                        $i_1 = $i_1 + 1 | 0;
                        $len = $i_0;
                    }
                }
                nle_TextureTerrainMap_access$200($this.$map, $this, $this.$frames.data[$this.$framesIdx.data[0]]);
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $img, $data, $divs, $i, $dat, var$6, $i_0, $fd, $len, $j, $i_1, $c, $l, $k, $ptr);
}
function nle_TextureTerrainMap$TerrainIcon__init_($this, $x0, $x1, $x2, $x3) {
    $this.$frames = null;
    $this.$framesIdx = null;
    $this.$frameCounter = 0;
    $this.$frameCurrent = 0;
    $this.$id6 = $x0;
    $this.$map = $x1;
    $this.$name12 = $x2;
    $this.$originX = ($x0 % (nle_TextureTerrainMap_access$000($x1) / 48 | 0) | 0) * 48 | 0;
    $this.$originY = ($x0 / (nle_TextureTerrainMap_access$000($x1) / 48 | 0) | 0) * 48 | 0;
    $this.$minU = $this.$originX / nle_TextureTerrainMap_access$000($x1);
    $this.$minV = $this.$originY / nle_TextureTerrainMap_access$100($x1);
    $this.$maxU = ($this.$originX + 48 | 0) / nle_TextureTerrainMap_access$000($x1);
    $this.$maxV = ($this.$originY + 48 | 0) / nle_TextureTerrainMap_access$100($x1);
    $this.$originX_center = $this.$originX + 16 | 0;
    $this.$originY_center = $this.$originY + 16 | 0;
    $this.$minU_center = ($this.$originX_center + 0.10000000149011612) / nle_TextureTerrainMap_access$000($x1);
    $this.$minV_center = ($this.$originY_center + 0.10000000149011612) / nle_TextureTerrainMap_access$100($x1);
    $this.$maxU_center = (($this.$originX_center + 16 | 0) - 0.10000000149011612) / nle_TextureTerrainMap_access$000($x1);
    $this.$maxV_center = (($this.$originY_center + 16 | 0) - 0.10000000149011612) / nle_TextureTerrainMap_access$100($x1);
}
function jn_FloatBuffer() {
    jn_Buffer.call(this);
}
function jn_FloatBuffer_get($this, $dst, $offset, $length) {
    var var$4, var$5, $pos, var$7, var$8, var$9, $i, var$11;
    if ($offset >= 0) {
        var$4 = $dst.data;
        var$5 = var$4.length;
        if ($offset < var$5) {
            $pos = $offset + $length | 0;
            if ($pos > var$5) {
                var$7 = new jl_IndexOutOfBoundsException;
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                jl_AbstractStringBuilder_append(var$8, $rt_s(2088));
                jl_AbstractStringBuilder_append2(var$8, $pos);
                jl_AbstractStringBuilder_append(var$8, $rt_s(483));
                jl_AbstractStringBuilder_append2(var$8, var$5);
                jl_Throwable__init_(var$7, jl_AbstractStringBuilder_toString(var$8));
                $rt_throw(var$7);
            }
            if (jn_Buffer_remaining($this) < $length) {
                var$8 = new jn_BufferUnderflowException;
                jl_Throwable__init_0(var$8);
                $rt_throw(var$8);
            }
            if ($length < 0) {
                var$8 = new jl_IndexOutOfBoundsException;
                var$9 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$9);
                jl_AbstractStringBuilder_append(var$9, $rt_s(484));
                jl_AbstractStringBuilder_append2(var$9, $length);
                jl_AbstractStringBuilder_append(var$9, $rt_s(485));
                jl_Throwable__init_(var$8, jl_AbstractStringBuilder_toString(var$9));
                $rt_throw(var$8);
            }
            $pos = $this.$position;
            $i = 0;
            while ($i < $length) {
                var$11 = $offset + 1 | 0;
                var$5 = $pos + 1 | 0;
                var$4[$offset] = $this.$getElement0($pos);
                $i = $i + 1 | 0;
                $offset = var$11;
                $pos = var$5;
            }
            $this.$position = $this.$position + $length | 0;
            return $this;
        }
    }
    $dst = $dst.data;
    var$9 = new jl_IndexOutOfBoundsException;
    var$8 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$8);
    jl_AbstractStringBuilder_append(var$8, $rt_s(486));
    jl_AbstractStringBuilder_append2(var$8, $offset);
    jl_AbstractStringBuilder_append(var$8, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$8, $dst.length);
    jl_AbstractStringBuilder_append(var$8, $rt_s(68));
    jl_Throwable__init_(var$9, jl_AbstractStringBuilder_toString(var$8));
    $rt_throw(var$9);
}
function jn_FloatBuffer_get0($this, $dst) {
    return jn_FloatBuffer_get($this, $dst, 0, $dst.data.length);
}
function jn_FloatBuffer_clear0($this) {
    jn_Buffer_clear($this);
    return $this;
}
function jn_FloatBuffer_flip0($this) {
    jn_Buffer_flip($this);
    return $this;
}
function jn_FloatBuffer_limit($this, $newLimit) {
    jn_Buffer_limit0($this, $newLimit);
    return $this;
}
function jn_FloatBuffer_position($this, $newPosition) {
    jn_Buffer_position0($this, $newPosition);
    return $this;
}
function jn_FloatBuffer_flip($this) {
    jn_Buffer_flip($this);
    return $this;
}
function jn_FloatBuffer_clear($this) {
    jn_Buffer_clear($this);
    return $this;
}
function jn_FloatBuffer_limit0($this, var$1) {
    jn_Buffer_limit0($this, var$1);
    return $this;
}
$java.jn_FloatBuffer_position = function($this, var$1) {
    jn_Buffer_position0($this, var$1);
    return $this;
};
function nms_ModelSpider() {
    var a = this; nms_ModelBase.call(a);
    a.$spiderHead = null;
    a.$spiderNeck = null;
    a.$spiderBody = null;
    a.$spiderLeg1 = null;
    a.$spiderLeg2 = null;
    a.$spiderLeg3 = null;
    a.$spiderLeg4 = null;
    a.$spiderLeg5 = null;
    a.$spiderLeg6 = null;
    a.$spiderLeg7 = null;
    a.$spiderLeg8 = null;
}
function nms_ModelSpider__init_0() {
    var var_0 = new nms_ModelSpider();
    nms_ModelSpider__init_(var_0);
    return var_0;
}
function nms_ModelSpider__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$spiderHead = nms_ModelRenderer__init_($this, 32, 4);
    nms_ModelRenderer_addBox($this.$spiderHead, (-4.0), (-4.0), (-8.0), 8, 8, 8, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderHead, 0.0, 15.0, (-3.0));
    $this.$spiderNeck = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$spiderNeck, (-3.0), (-3.0), (-3.0), 6, 6, 6, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderNeck, 0.0, 15.0, 0.0);
    $this.$spiderBody = nms_ModelRenderer__init_($this, 0, 12);
    nms_ModelRenderer_addBox($this.$spiderBody, (-5.0), (-4.0), (-6.0), 10, 8, 12, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderBody, 0.0, 15.0, 9.0);
    $this.$spiderLeg1 = nms_ModelRenderer__init_($this, 18, 0);
    nms_ModelRenderer_addBox($this.$spiderLeg1, (-15.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderLeg1, (-4.0), 15.0, 2.0);
    $this.$spiderLeg2 = nms_ModelRenderer__init_($this, 18, 0);
    nms_ModelRenderer_addBox($this.$spiderLeg2, (-1.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderLeg2, 4.0, 15.0, 2.0);
    $this.$spiderLeg3 = nms_ModelRenderer__init_($this, 18, 0);
    nms_ModelRenderer_addBox($this.$spiderLeg3, (-15.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderLeg3, (-4.0), 15.0, 1.0);
    $this.$spiderLeg4 = nms_ModelRenderer__init_($this, 18, 0);
    nms_ModelRenderer_addBox($this.$spiderLeg4, (-1.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderLeg4, 4.0, 15.0, 1.0);
    $this.$spiderLeg5 = nms_ModelRenderer__init_($this, 18, 0);
    nms_ModelRenderer_addBox($this.$spiderLeg5, (-15.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderLeg5, (-4.0), 15.0, 0.0);
    $this.$spiderLeg6 = nms_ModelRenderer__init_($this, 18, 0);
    nms_ModelRenderer_addBox($this.$spiderLeg6, (-1.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderLeg6, 4.0, 15.0, 0.0);
    $this.$spiderLeg7 = nms_ModelRenderer__init_($this, 18, 0);
    nms_ModelRenderer_addBox($this.$spiderLeg7, (-15.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderLeg7, (-4.0), 15.0, (-1.0));
    $this.$spiderLeg8 = nms_ModelRenderer__init_($this, 18, 0);
    nms_ModelRenderer_addBox($this.$spiderLeg8, (-1.0), (-1.0), (-1.0), 16, 2, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$spiderLeg8, 4.0, 15.0, (-1.0));
}
$java.nms_ModelSpider_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    $java.nms_ModelSpider_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    nms_ModelRenderer_render($this.$spiderHead, $par7);
    nms_ModelRenderer_render($this.$spiderNeck, $par7);
    nms_ModelRenderer_render($this.$spiderBody, $par7);
    nms_ModelRenderer_render($this.$spiderLeg1, $par7);
    nms_ModelRenderer_render($this.$spiderLeg2, $par7);
    nms_ModelRenderer_render($this.$spiderLeg3, $par7);
    nms_ModelRenderer_render($this.$spiderLeg4, $par7);
    nms_ModelRenderer_render($this.$spiderLeg5, $par7);
    nms_ModelRenderer_render($this.$spiderLeg6, $par7);
    nms_ModelRenderer_render($this.$spiderLeg7, $par7);
    nms_ModelRenderer_render($this.$spiderLeg8, $par7);
};
$java.nms_ModelSpider_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var11, $var12, $var13, $var14, $var15, $var16, $var17, $var18;
    $this.$spiderHead.$rotateAngleY = $par4 / 57.2957763671875;
    $this.$spiderHead.$rotateAngleX = $par5 / 57.2957763671875;
    $this.$spiderLeg1.$rotateAngleZ = (-0.7853981852531433);
    $this.$spiderLeg2.$rotateAngleZ = 0.7853981852531433;
    $this.$spiderLeg3.$rotateAngleZ = (-0.5811946392059326);
    $this.$spiderLeg4.$rotateAngleZ = 0.5811946392059326;
    $this.$spiderLeg5.$rotateAngleZ = (-0.5811946392059326);
    $this.$spiderLeg6.$rotateAngleZ = 0.5811946392059326;
    $this.$spiderLeg7.$rotateAngleZ = (-0.7853981852531433);
    $this.$spiderLeg8.$rotateAngleZ = 0.7853981852531433;
    $this.$spiderLeg1.$rotateAngleY = 0.7853981852531433;
    $this.$spiderLeg2.$rotateAngleY = (-0.7853981852531433);
    $this.$spiderLeg3.$rotateAngleY = 0.39269909262657166;
    $this.$spiderLeg4.$rotateAngleY = (-0.39269909262657166);
    $this.$spiderLeg5.$rotateAngleY = (-0.39269909262657166);
    $this.$spiderLeg6.$rotateAngleY = 0.39269909262657166;
    $this.$spiderLeg7.$rotateAngleY = (-0.7853981852531433);
    $this.$spiderLeg8.$rotateAngleY = 0.7853981852531433;
    $par1 = $par1 * 0.6661999821662903;
    $par5 = $par1 * 2.0;
    $var11 =  -(nms_MathHelper_cos($par5 + 0.0) * 0.4000000059604645) * $par2;
    $var12 =  -(nms_MathHelper_cos($par5 + 3.1415927410125732) * 0.4000000059604645) * $par2;
    $var13 =  -(nms_MathHelper_cos($par5 + 1.5707963705062866) * 0.4000000059604645) * $par2;
    $var14 =  -(nms_MathHelper_cos($par5 + 4.71238899230957) * 0.4000000059604645) * $par2;
    $var15 = jl_Math_abs1(nms_MathHelper_sin($par1 + 0.0) * 0.4000000059604645) * $par2;
    $var16 = jl_Math_abs1(nms_MathHelper_sin($par1 + 3.1415927410125732) * 0.4000000059604645) * $par2;
    $var17 = jl_Math_abs1(nms_MathHelper_sin($par1 + 1.5707963705062866) * 0.4000000059604645) * $par2;
    $var18 = jl_Math_abs1(nms_MathHelper_sin($par1 + 4.71238899230957) * 0.4000000059604645) * $par2;
    $par7Entity = $this.$spiderLeg1;
    $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY + $var11;
    $par7Entity = $this.$spiderLeg2;
    $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY +  -$var11;
    $par7Entity = $this.$spiderLeg3;
    $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY + $var12;
    $par7Entity = $this.$spiderLeg4;
    $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY +  -$var12;
    $par7Entity = $this.$spiderLeg5;
    $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY + $var13;
    $par7Entity = $this.$spiderLeg6;
    $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY +  -$var13;
    $par7Entity = $this.$spiderLeg7;
    $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY + $var14;
    $par7Entity = $this.$spiderLeg8;
    $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY +  -$var14;
    $par7Entity = $this.$spiderLeg1;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ + $var15;
    $par7Entity = $this.$spiderLeg2;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ +  -$var15;
    $par7Entity = $this.$spiderLeg3;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ + $var16;
    $par7Entity = $this.$spiderLeg4;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ +  -$var16;
    $par7Entity = $this.$spiderLeg5;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ + $var17;
    $par7Entity = $this.$spiderLeg6;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ +  -$var17;
    $par7Entity = $this.$spiderLeg7;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ + $var18;
    $par7Entity = $this.$spiderLeg8;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ +  -$var18;
};
function nms_ModelRenderer() {
    var a = this; jl_Object.call(a);
    a.$textureWidth0 = 0.0;
    a.$textureHeight0 = 0.0;
    a.$textureOffsetX0 = 0;
    a.$textureOffsetY0 = 0;
    a.$rotationPointX = 0.0;
    a.$rotationPointY = 0.0;
    a.$rotationPointZ = 0.0;
    a.$rotateAngleX = 0.0;
    a.$rotateAngleY = 0.0;
    a.$rotateAngleZ = 0.0;
    a.$compiled = 0;
    a.$displayList = 0;
    a.$mirror = 0;
    a.$showModel = 0;
    a.$isHidden = 0;
    a.$cubeList = null;
    a.$childModels = null;
    a.$boxName = null;
    a.$baseModel = null;
    a.$field_82906_o = 0.0;
    a.$field_82908_p = 0.0;
    a.$field_82907_q = 0.0;
}
function nms_ModelRenderer__init_0(var_0, var_1) {
    var var_2 = new nms_ModelRenderer();
    $java.nms_ModelRenderer__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ModelRenderer__init_0 = function(var_0) {
    var var_1 = new nms_ModelRenderer();
    $java.nms_ModelRenderer__init_1(var_1, var_0);
    return var_1;
};
function nms_ModelRenderer__init_(var_0, var_1, var_2) {
    var var_3 = new nms_ModelRenderer();
    $java.nms_ModelRenderer__init_2(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_ModelRenderer__init_ = function($this, $par1ModelBase, $par2Str) {
    $this.$textureWidth0 = 64.0;
    $this.$textureHeight0 = 32.0;
    $this.$compiled = 0;
    $this.$displayList = 0;
    $this.$mirror = 0;
    $this.$showModel = 1;
    $this.$isHidden = 0;
    $this.$cubeList = ju_ArrayList__init_0();
    $this.$baseModel = $par1ModelBase;
    ju_ArrayList_add($par1ModelBase.$boxList, $this);
    $this.$boxName = $par2Str;
    $java.nms_ModelRenderer_setTextureSize($this, $par1ModelBase.$textureWidth, $par1ModelBase.$textureHeight);
};
$java.nms_ModelRenderer__init_1 = function($this, $par1ModelBase) {
    $java.nms_ModelRenderer__init_($this, $par1ModelBase, null);
};
$java.nms_ModelRenderer__init_2 = function($this, $par1ModelBase, $par2, $par3) {
    $java.nms_ModelRenderer__init_1($this, $par1ModelBase);
    nms_ModelRenderer_setTextureOffset($this, $par2, $par3);
};
$java.nms_ModelRenderer_addChild = function($this, $par1ModelRenderer) {
    if ($this.$childModels === null)
        $this.$childModels = ju_ArrayList__init_0();
    ju_ArrayList_add($this.$childModels, $par1ModelRenderer);
};
function nms_ModelRenderer_setTextureOffset($this, $par1, $par2) {
    $this.$textureOffsetX0 = $par1;
    $this.$textureOffsetY0 = $par2;
    return $this;
}
function nms_ModelRenderer_addBox1($this, $par1Str, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, var$9;
    $var8 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var8);
    jl_AbstractStringBuilder_append($var8, $this.$boxName);
    jl_AbstractStringBuilder_append($var8, $rt_s(339));
    jl_AbstractStringBuilder_append($var8, $par1Str);
    $par1Str = jl_AbstractStringBuilder_toString($var8);
    $var8 = nms_ModelBase_getTextureOffset($this.$baseModel, $par1Str);
    nms_ModelRenderer_setTextureOffset($this, $var8.$textureOffsetX, $var8.$textureOffsetY);
    $var8 = $this.$cubeList;
    var$9 = $java.nms_ModelBox__init_($this, $this.$textureOffsetX0, $this.$textureOffsetY0, $par2, $par3, $par4, $par5, $par6, $par7, 0.0);
    var$9.$field_78247_g = $par1Str;
    ju_ArrayList_add($var8, var$9);
    return $this;
}
function nms_ModelRenderer_addBox0($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    ju_ArrayList_add($this.$cubeList, $java.nms_ModelBox__init_($this, $this.$textureOffsetX0, $this.$textureOffsetY0, $par1, $par2, $par3, $par4, $par5, $par6, 0.0));
    return $this;
}
function nms_ModelRenderer_addBox($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7) {
    ju_ArrayList_add($this.$cubeList, $java.nms_ModelBox__init_($this, $this.$textureOffsetX0, $this.$textureOffsetY0, $par1, $par2, $par3, $par4, $par5, $par6, $par7));
}
function nms_ModelRenderer_setRotationPoint($this, $par1, $par2, $par3) {
    $this.$rotationPointX = $par1;
    $this.$rotationPointY = $par2;
    $this.$rotationPointZ = $par3;
}
function nms_ModelRenderer_render($this, $par1) {
    var $var2;
    if (!$this.$isHidden && $this.$showModel) {
        if (!$this.$compiled)
            $java.nms_ModelRenderer_compileDisplayList($this, $par1);
        a: {
            nleg_EaglerAdapterGL30_glTranslatef($this.$field_82906_o, $this.$field_82908_p, $this.$field_82907_q);
            if ($this.$rotateAngleX === 0.0 && $this.$rotateAngleY === 0.0 && $this.$rotateAngleZ === 0.0) {
                if ($this.$rotationPointX === 0.0 && $this.$rotationPointY === 0.0 && $this.$rotationPointZ === 0.0) {
                    nleg_EaglerAdapterGL30_glCallList($this.$displayList);
                    if ($this.$childModels === null)
                        break a;
                    $var2 = 0;
                    while (true) {
                        if ($var2 >= $this.$childModels.$size)
                            break a;
                        nms_ModelRenderer_render(ju_ArrayList_get($this.$childModels, $var2), $par1);
                        $var2 = $var2 + 1 | 0;
                    }
                }
                b: {
                    nleg_EaglerAdapterGL30_glTranslatef($this.$rotationPointX * $par1, $this.$rotationPointY * $par1, $this.$rotationPointZ * $par1);
                    nleg_EaglerAdapterGL30_glCallList($this.$displayList);
                    if ($this.$childModels !== null) {
                        $var2 = 0;
                        while (true) {
                            if ($var2 >= $this.$childModels.$size)
                                break b;
                            nms_ModelRenderer_render(ju_ArrayList_get($this.$childModels, $var2), $par1);
                            $var2 = $var2 + 1 | 0;
                        }
                    }
                }
                nleg_EaglerAdapterGL30_glTranslatef( -$this.$rotationPointX * $par1,  -$this.$rotationPointY * $par1,  -$this.$rotationPointZ * $par1);
            } else {
                nleg_EaglerAdapterGL30_glPushMatrix();
                nleg_EaglerAdapterGL30_glTranslatef($this.$rotationPointX * $par1, $this.$rotationPointY * $par1, $this.$rotationPointZ * $par1);
                if ($this.$rotateAngleZ !== 0.0)
                    nleg_EaglerAdapterGL30_glRotatef($this.$rotateAngleZ * 57.2957763671875, 0.0, 0.0, 1.0);
                if ($this.$rotateAngleY !== 0.0)
                    nleg_EaglerAdapterGL30_glRotatef($this.$rotateAngleY * 57.2957763671875, 0.0, 1.0, 0.0);
                if ($this.$rotateAngleX !== 0.0)
                    nleg_EaglerAdapterGL30_glRotatef($this.$rotateAngleX * 57.2957763671875, 1.0, 0.0, 0.0);
                c: {
                    nleg_EaglerAdapterGL30_glCallList($this.$displayList);
                    if ($this.$childModels !== null) {
                        $var2 = 0;
                        while (true) {
                            if ($var2 >= $this.$childModels.$size)
                                break c;
                            nms_ModelRenderer_render(ju_ArrayList_get($this.$childModels, $var2), $par1);
                            $var2 = $var2 + 1 | 0;
                        }
                    }
                }
                nleg_EaglerAdapterGL30_glPopMatrix();
            }
        }
        nleg_EaglerAdapterGL30_glTranslatef( -$this.$field_82906_o,  -$this.$field_82908_p,  -$this.$field_82907_q);
    }
}
function nms_ModelRenderer_renderWithRotation($this, $par1) {
    if (!$this.$isHidden && $this.$showModel) {
        if (!$this.$compiled)
            $java.nms_ModelRenderer_compileDisplayList($this, $par1);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($this.$rotationPointX * $par1, $this.$rotationPointY * $par1, $this.$rotationPointZ * $par1);
        if ($this.$rotateAngleY !== 0.0)
            nleg_EaglerAdapterGL30_glRotatef($this.$rotateAngleY * 57.2957763671875, 0.0, 1.0, 0.0);
        if ($this.$rotateAngleX !== 0.0)
            nleg_EaglerAdapterGL30_glRotatef($this.$rotateAngleX * 57.2957763671875, 1.0, 0.0, 0.0);
        if ($this.$rotateAngleZ !== 0.0)
            nleg_EaglerAdapterGL30_glRotatef($this.$rotateAngleZ * 57.2957763671875, 0.0, 0.0, 1.0);
        nleg_EaglerAdapterGL30_glCallList($this.$displayList);
        nleg_EaglerAdapterGL30_glPopMatrix();
    }
}
function nms_ModelRenderer_postRender($this, $par1) {
    if (!$this.$isHidden && $this.$showModel) {
        if (!$this.$compiled)
            $java.nms_ModelRenderer_compileDisplayList($this, $par1);
        if (!($this.$rotateAngleX === 0.0 && $this.$rotateAngleY === 0.0 && $this.$rotateAngleZ === 0.0)) {
            nleg_EaglerAdapterGL30_glTranslatef($this.$rotationPointX * $par1, $this.$rotationPointY * $par1, $this.$rotationPointZ * $par1);
            if ($this.$rotateAngleZ !== 0.0)
                nleg_EaglerAdapterGL30_glRotatef($this.$rotateAngleZ * 57.2957763671875, 0.0, 0.0, 1.0);
            if ($this.$rotateAngleY !== 0.0)
                nleg_EaglerAdapterGL30_glRotatef($this.$rotateAngleY * 57.2957763671875, 0.0, 1.0, 0.0);
            if ($this.$rotateAngleX !== 0.0)
                nleg_EaglerAdapterGL30_glRotatef($this.$rotateAngleX * 57.2957763671875, 1.0, 0.0, 0.0);
        } else if (!($this.$rotationPointX === 0.0 && $this.$rotationPointY === 0.0 && $this.$rotationPointZ === 0.0))
            nleg_EaglerAdapterGL30_glTranslatef($this.$rotationPointX * $par1, $this.$rotationPointY * $par1, $this.$rotationPointZ * $par1);
    }
}
$java.nms_ModelRenderer_compileDisplayList = function($this, $par1) {
    var $var2, $var3;
    $this.$displayList = nms_GLAllocation_generateDisplayLists(1);
    nleg_EaglerAdapterGL30_glNewList($this.$displayList, 4864);
    nlea_Tessellator_$callClinit();
    $var2 = nlea_Tessellator_instance;
    $var3 = 0;
    while ($var3 < $this.$cubeList.$size) {
        $java.nms_ModelBox_render(ju_ArrayList_get($this.$cubeList, $var3), $var2, $par1);
        $var3 = $var3 + 1 | 0;
    }
    nleg_EaglerAdapterGL30_glEndList();
    $this.$compiled = 1;
};
$java.nms_ModelRenderer_setTextureSize = function($this, $par1, $par2) {
    $this.$textureWidth0 = $par1;
    $this.$textureHeight0 = $par2;
    return $this;
};
function nms_ModelSilverfish() {
    var a = this; nms_ModelBase.call(a);
    a.$silverfishBodyParts = null;
    a.$silverfishWings = null;
    a.$field_78170_c = null;
}
$java.nms_ModelSilverfish_silverfishBoxLength = null;
$java.nms_ModelSilverfish_silverfishTexturePositions = null;
function nms_ModelSilverfish__init_0() {
    var var_0 = new nms_ModelSilverfish();
    nms_ModelSilverfish__init_(var_0);
    return var_0;
}
function nms_ModelSilverfish__init_($this) {
    var $var1, $var2;
    nms_ModelBase__init_0($this);
    $this.$silverfishBodyParts = $rt_createArray(nms_ModelRenderer, 7);
    $this.$field_78170_c = $rt_createFloatArray(7);
    $var1 = (-3.5);
    $var2 = 0;
    while ($var2 < $this.$silverfishBodyParts.data.length) {
        $this.$silverfishBodyParts.data[$var2] = nms_ModelRenderer__init_($this, $java.nms_ModelSilverfish_silverfishTexturePositions.data[$var2].data[0], $java.nms_ModelSilverfish_silverfishTexturePositions.data[$var2].data[1]);
        nms_ModelRenderer_addBox0($this.$silverfishBodyParts.data[$var2], $java.nms_ModelSilverfish_silverfishBoxLength.data[$var2].data[0] * (-0.5), 0.0, $java.nms_ModelSilverfish_silverfishBoxLength.data[$var2].data[2] * (-0.5), $java.nms_ModelSilverfish_silverfishBoxLength.data[$var2].data[0], $java.nms_ModelSilverfish_silverfishBoxLength.data[$var2].data[1], $java.nms_ModelSilverfish_silverfishBoxLength.data[$var2].data[2]);
        nms_ModelRenderer_setRotationPoint($this.$silverfishBodyParts.data[$var2], 0.0, 24 - $java.nms_ModelSilverfish_silverfishBoxLength.data[$var2].data[1] | 0, $var1);
        $this.$field_78170_c.data[$var2] = $var1;
        if ($var2 < ($this.$silverfishBodyParts.data.length - 1 | 0))
            $var1 = $var1 + ($java.nms_ModelSilverfish_silverfishBoxLength.data[$var2].data[2] + $java.nms_ModelSilverfish_silverfishBoxLength.data[$var2 + 1 | 0].data[2] | 0) * 0.5;
        $var2 = $var2 + 1 | 0;
    }
    $this.$silverfishWings = $rt_createArray(nms_ModelRenderer, 3);
    $this.$silverfishWings.data[0] = nms_ModelRenderer__init_($this, 20, 0);
    nms_ModelRenderer_addBox0($this.$silverfishWings.data[0], (-5.0), 0.0, $java.nms_ModelSilverfish_silverfishBoxLength.data[2].data[2] * (-0.5), 10, 8, $java.nms_ModelSilverfish_silverfishBoxLength.data[2].data[2]);
    nms_ModelRenderer_setRotationPoint($this.$silverfishWings.data[0], 0.0, 16.0, $this.$field_78170_c.data[2]);
    $this.$silverfishWings.data[1] = nms_ModelRenderer__init_($this, 20, 11);
    nms_ModelRenderer_addBox0($this.$silverfishWings.data[1], (-3.0), 0.0, $java.nms_ModelSilverfish_silverfishBoxLength.data[4].data[2] * (-0.5), 6, 4, $java.nms_ModelSilverfish_silverfishBoxLength.data[4].data[2]);
    nms_ModelRenderer_setRotationPoint($this.$silverfishWings.data[1], 0.0, 20.0, $this.$field_78170_c.data[4]);
    $this.$silverfishWings.data[2] = nms_ModelRenderer__init_($this, 20, 18);
    nms_ModelRenderer_addBox0($this.$silverfishWings.data[2], (-3.0), 0.0, $java.nms_ModelSilverfish_silverfishBoxLength.data[4].data[2] * (-0.5), 6, 5, $java.nms_ModelSilverfish_silverfishBoxLength.data[1].data[2]);
    nms_ModelRenderer_setRotationPoint($this.$silverfishWings.data[2], 0.0, 19.0, $this.$field_78170_c.data[1]);
}
$java.nms_ModelSilverfish_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $java.nms_ModelSilverfish_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    $var8 = 0;
    while ($var8 < $this.$silverfishBodyParts.data.length) {
        nms_ModelRenderer_render($this.$silverfishBodyParts.data[$var8], $par7);
        $var8 = $var8 + 1 | 0;
    }
    $var8 = 0;
    while ($var8 < $this.$silverfishWings.data.length) {
        nms_ModelRenderer_render($this.$silverfishWings.data[$var8], $par7);
        $var8 = $var8 + 1 | 0;
    }
};
$java.nms_ModelSilverfish_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var8, var$9;
    $var8 = 0;
    $par2 = $par3 * 0.8999999761581421;
    while ($var8 < $this.$silverfishBodyParts.data.length) {
        $par7Entity = $this.$silverfishBodyParts.data[$var8];
        $par1 = $par2 + $var8 * 0.15000000596046448 * 3.1415927410125732;
        $par3 = nms_MathHelper_cos($par1) * 3.1415927410125732 * 0.05000000074505806;
        var$9 = $var8 - 2 | 0;
        $par7Entity.$rotateAngleY = $par3 * (1 + jl_Math_abs(var$9) | 0);
        $this.$silverfishBodyParts.data[$var8].$rotationPointX = nms_MathHelper_sin($par1) * 3.1415927410125732 * 0.20000000298023224 * jl_Math_abs(var$9);
        $var8 = $var8 + 1 | 0;
    }
    $this.$silverfishWings.data[0].$rotateAngleY = $this.$silverfishBodyParts.data[2].$rotateAngleY;
    $this.$silverfishWings.data[1].$rotateAngleY = $this.$silverfishBodyParts.data[4].$rotateAngleY;
    $this.$silverfishWings.data[1].$rotationPointX = $this.$silverfishBodyParts.data[4].$rotationPointX;
    $this.$silverfishWings.data[2].$rotateAngleY = $this.$silverfishBodyParts.data[1].$rotateAngleY;
    $this.$silverfishWings.data[2].$rotationPointX = $this.$silverfishBodyParts.data[1].$rotationPointX;
};
function nms_ModelSilverfish__clinit_() {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createArray($rt_arraycls($rt_intcls()), 7);
    var$2 = var$1.data;
    var$3 = $rt_createIntArray(3);
    var$4 = var$3.data;
    var$4[0] = 3;
    var$4[1] = 2;
    var$4[2] = 2;
    var$2[0] = var$3;
    var$3 = $rt_createIntArray(3);
    var$4 = var$3.data;
    var$4[0] = 4;
    var$4[1] = 3;
    var$4[2] = 2;
    var$2[1] = var$3;
    var$3 = $rt_createIntArray(3);
    var$4 = var$3.data;
    var$4[0] = 6;
    var$4[1] = 4;
    var$4[2] = 3;
    var$2[2] = var$3;
    var$3 = $rt_createIntArray(3);
    var$4 = var$3.data;
    var$4[0] = 3;
    var$4[1] = 3;
    var$4[2] = 3;
    var$2[3] = var$3;
    var$3 = $rt_createIntArray(3);
    var$4 = var$3.data;
    var$4[0] = 2;
    var$4[1] = 2;
    var$4[2] = 3;
    var$2[4] = var$3;
    var$3 = $rt_createIntArray(3);
    var$4 = var$3.data;
    var$4[0] = 2;
    var$4[1] = 1;
    var$4[2] = 2;
    var$2[5] = var$3;
    var$3 = $rt_createIntArray(3);
    var$4 = var$3.data;
    var$4[0] = 1;
    var$4[1] = 1;
    var$4[2] = 2;
    var$2[6] = var$3;
    $java.nms_ModelSilverfish_silverfishBoxLength = var$1;
    var$1 = $rt_createArray($rt_arraycls($rt_intcls()), 7);
    var$2 = var$1.data;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 0;
    var$4[1] = 0;
    var$2[0] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 0;
    var$4[1] = 4;
    var$2[1] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 0;
    var$4[1] = 9;
    var$2[2] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 0;
    var$4[1] = 16;
    var$2[3] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 0;
    var$4[1] = 22;
    var$2[4] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 11;
    var$4[1] = 0;
    var$2[5] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 13;
    var$4[1] = 4;
    var$2[6] = var$3;
    $java.nms_ModelSilverfish_silverfishTexturePositions = var$1;
}
function nms_ModelCreeper() {
    var a = this; nms_ModelBase.call(a);
    a.$head2 = null;
    a.$field_78133_b = null;
    a.$body1 = null;
    a.$leg10 = null;
    a.$leg20 = null;
    a.$leg30 = null;
    a.$leg40 = null;
}
function nms_ModelCreeper__init_0() {
    var var_0 = new nms_ModelCreeper();
    nms_ModelCreeper__init_(var_0);
    return var_0;
}
function nms_ModelCreeper__init_1(var_0) {
    var var_1 = new nms_ModelCreeper();
    $java.nms_ModelCreeper__init_(var_1, var_0);
    return var_1;
}
function nms_ModelCreeper__init_($this) {
    $java.nms_ModelCreeper__init_($this, 0.0);
}
$java.nms_ModelCreeper__init_ = function($this, $par1) {
    nms_ModelBase__init_0($this);
    $this.$head2 = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$head2, (-4.0), (-8.0), (-4.0), 8, 8, 8, $par1);
    nms_ModelRenderer_setRotationPoint($this.$head2, 0.0, 4.0, 0.0);
    $this.$field_78133_b = nms_ModelRenderer__init_($this, 32, 0);
    nms_ModelRenderer_addBox($this.$field_78133_b, (-4.0), (-8.0), (-4.0), 8, 8, 8, $par1 + 0.5);
    nms_ModelRenderer_setRotationPoint($this.$field_78133_b, 0.0, 4.0, 0.0);
    $this.$body1 = nms_ModelRenderer__init_($this, 16, 16);
    nms_ModelRenderer_addBox($this.$body1, (-4.0), 0.0, (-2.0), 8, 12, 4, $par1);
    nms_ModelRenderer_setRotationPoint($this.$body1, 0.0, 4.0, 0.0);
    $this.$leg10 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg10, (-2.0), 0.0, (-2.0), 4, 6, 4, $par1);
    nms_ModelRenderer_setRotationPoint($this.$leg10, (-2.0), 16.0, 4.0);
    $this.$leg20 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg20, (-2.0), 0.0, (-2.0), 4, 6, 4, $par1);
    nms_ModelRenderer_setRotationPoint($this.$leg20, 2.0, 16.0, 4.0);
    $this.$leg30 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg30, (-2.0), 0.0, (-2.0), 4, 6, 4, $par1);
    nms_ModelRenderer_setRotationPoint($this.$leg30, (-2.0), 16.0, (-4.0));
    $this.$leg40 = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$leg40, (-2.0), 0.0, (-2.0), 4, 6, 4, $par1);
    nms_ModelRenderer_setRotationPoint($this.$leg40, 2.0, 16.0, (-4.0));
};
$java.nms_ModelCreeper_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    $java.nms_ModelCreeper_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    nms_ModelRenderer_render($this.$head2, $par7);
    nms_ModelRenderer_render($this.$body1, $par7);
    nms_ModelRenderer_render($this.$leg10, $par7);
    nms_ModelRenderer_render($this.$leg20, $par7);
    nms_ModelRenderer_render($this.$leg30, $par7);
    nms_ModelRenderer_render($this.$leg40, $par7);
};
$java.nms_ModelCreeper_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    $this.$head2.$rotateAngleY = $par4 / 57.2957763671875;
    $this.$head2.$rotateAngleX = $par5 / 57.2957763671875;
    $par7Entity = $this.$leg10;
    $par1 = $par1 * 0.6661999821662903;
    $par7Entity.$rotateAngleX = nms_MathHelper_cos($par1) * 1.399999976158142 * $par2;
    $par7Entity = $this.$leg20;
    $par3 = $par1 + 3.1415927410125732;
    $par7Entity.$rotateAngleX = nms_MathHelper_cos($par3) * 1.399999976158142 * $par2;
    $this.$leg30.$rotateAngleX = nms_MathHelper_cos($par3) * 1.399999976158142 * $par2;
    $this.$leg40.$rotateAngleX = nms_MathHelper_cos($par1) * 1.399999976158142 * $par2;
};
function nms_ModelBiped() {
    var a = this; nms_ModelBase.call(a);
    a.$bipedHead = null;
    a.$bipedHeadwear = null;
    a.$bipedBody = null;
    a.$bipedRightArm = null;
    a.$bipedLeftArm = null;
    a.$bipedRightLeg = null;
    a.$bipedLeftLeg = null;
    a.$bipedEars = null;
    a.$bipedCloak = null;
    a.$blockTransparentSkin = 0;
    a.$heldItemLeft = 0;
    a.$heldItemRight = 0;
    a.$isSneak = 0;
    a.$aimedBow = 0;
}
function nms_ModelBiped__init_1() {
    var var_0 = new nms_ModelBiped();
    nms_ModelBiped__init_(var_0);
    return var_0;
}
function nms_ModelBiped__init_2(var_0) {
    var var_1 = new nms_ModelBiped();
    $java.nms_ModelBiped__init_(var_1, var_0);
    return var_1;
}
function nms_ModelBiped__init_0(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_ModelBiped();
    $java.nms_ModelBiped__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_ModelBiped__init_($this) {
    $java.nms_ModelBiped__init_($this, 0.0);
}
$java.nms_ModelBiped__init_ = function($this, $par1) {
    $java.nms_ModelBiped__init_0($this, $par1, 0.0, 64, 32);
};
$java.nms_ModelBiped__init_0 = function($this, $par1, $par2, $par3, $par4) {
    var var$5, var$6;
    nms_ModelBase__init_0($this);
    $this.$blockTransparentSkin = 0;
    $this.$heldItemLeft = 0;
    $this.$heldItemRight = 0;
    $this.$isSneak = 0;
    $this.$aimedBow = 0;
    $this.$textureWidth = $par3;
    $this.$textureHeight = $par4;
    $this.$bipedCloak = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$bipedCloak, (-5.0), 0.0, (-1.0), 10, 16, 1, $par1);
    $this.$bipedEars = nms_ModelRenderer__init_($this, 24, 0);
    nms_ModelRenderer_addBox($this.$bipedEars, (-3.0), (-6.0), (-1.0), 6, 6, 1, $par1);
    $this.$bipedHead = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$bipedHead, (-4.0), (-8.0), (-4.0), 8, 8, 8, $par1);
    var$5 = $this.$bipedHead;
    var$6 = 0.0 + $par2;
    nms_ModelRenderer_setRotationPoint(var$5, 0.0, var$6, 0.0);
    $this.$bipedHeadwear = nms_ModelRenderer__init_($this, 32, 0);
    nms_ModelRenderer_addBox($this.$bipedHeadwear, (-4.0), (-8.0), (-4.0), 8, 8, 8, $par1 + 0.5);
    nms_ModelRenderer_setRotationPoint($this.$bipedHeadwear, 0.0, var$6, 0.0);
    $this.$bipedBody = nms_ModelRenderer__init_($this, 16, 16);
    nms_ModelRenderer_addBox($this.$bipedBody, (-4.0), 0.0, (-2.0), 8, 12, 4, $par1);
    nms_ModelRenderer_setRotationPoint($this.$bipedBody, 0.0, var$6, 0.0);
    $this.$bipedRightArm = nms_ModelRenderer__init_($this, 40, 16);
    nms_ModelRenderer_addBox($this.$bipedRightArm, (-3.0), (-2.0), (-2.0), 4, 12, 4, $par1);
    var$5 = $this.$bipedRightArm;
    var$6 = 2.0 + $par2;
    nms_ModelRenderer_setRotationPoint(var$5, (-5.0), var$6, 0.0);
    $this.$bipedLeftArm = nms_ModelRenderer__init_($this, 40, 16);
    $this.$bipedLeftArm.$mirror = 1;
    nms_ModelRenderer_addBox($this.$bipedLeftArm, (-1.0), (-2.0), (-2.0), 4, 12, 4, $par1);
    nms_ModelRenderer_setRotationPoint($this.$bipedLeftArm, 5.0, var$6, 0.0);
    $this.$bipedRightLeg = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$bipedRightLeg, (-2.0), 0.0, (-2.0), 4, 12, 4, $par1);
    var$5 = $this.$bipedRightLeg;
    $par2 = 12.0 + $par2;
    nms_ModelRenderer_setRotationPoint(var$5, (-1.899999976158142), $par2, 0.0);
    $this.$bipedLeftLeg = nms_ModelRenderer__init_($this, 0, 16);
    $this.$bipedLeftLeg.$mirror = 1;
    nms_ModelRenderer_addBox($this.$bipedLeftLeg, (-2.0), 0.0, (-2.0), 4, 12, 4, $par1);
    nms_ModelRenderer_setRotationPoint($this.$bipedLeftLeg, 1.899999976158142, $par2, 0.0);
};
function nms_ModelBiped_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    $this.$setRotationAngles($par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    if (!$this.$isChild0) {
        nms_ModelRenderer_render($this.$bipedHead, $par7);
        if ($this.$blockTransparentSkin && $par1Entity instanceof nms_EntityPlayer && nle_DefaultSkinRenderer_getPlayerRenderer($par1Entity) <= 0)
            nleg_EaglerAdapterGL30_glDisable(3008);
        nms_ModelRenderer_render($this.$bipedBody, $par7);
        if ($this.$blockTransparentSkin && $par1Entity instanceof nms_EntityPlayer && nle_DefaultSkinRenderer_getPlayerRenderer($par1Entity) <= 0)
            nleg_EaglerAdapterGL30_glEnable(3008);
        nms_ModelRenderer_render($this.$bipedRightArm, $par7);
        nms_ModelRenderer_render($this.$bipedLeftArm, $par7);
        nms_ModelRenderer_render($this.$bipedRightLeg, $par7);
        nms_ModelRenderer_render($this.$bipedLeftLeg, $par7);
        nms_ModelRenderer_render($this.$bipedHeadwear, $par7);
    } else {
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.75, 0.75, 0.75);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 16.0 * $par7, 0.0);
        nms_ModelRenderer_render($this.$bipedHead, $par7);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(0.5, 0.5, 0.5);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 24.0 * $par7, 0.0);
        if ($this.$blockTransparentSkin && $par1Entity instanceof nms_EntityPlayer && nle_DefaultSkinRenderer_getPlayerRenderer($par1Entity) <= 0)
            nleg_EaglerAdapterGL30_glDisable(3008);
        nms_ModelRenderer_render($this.$bipedBody, $par7);
        if ($this.$blockTransparentSkin && $par1Entity instanceof nms_EntityPlayer && nle_DefaultSkinRenderer_getPlayerRenderer($par1Entity) <= 0)
            nleg_EaglerAdapterGL30_glEnable(3008);
        nms_ModelRenderer_render($this.$bipedRightArm, $par7);
        nms_ModelRenderer_render($this.$bipedLeftArm, $par7);
        nms_ModelRenderer_render($this.$bipedRightLeg, $par7);
        nms_ModelRenderer_render($this.$bipedLeftLeg, $par7);
        nms_ModelRenderer_render($this.$bipedHeadwear, $par7);
        nleg_EaglerAdapterGL30_glPopMatrix();
    }
}
$java.nms_ModelBiped_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var8, $var9, $var10;
    $this.$bipedHead.$rotateAngleY = $par4 / 57.2957763671875;
    $this.$bipedHead.$rotateAngleX = $par5 / 57.2957763671875;
    $this.$bipedHeadwear.$rotateAngleY = $this.$bipedHead.$rotateAngleY;
    $this.$bipedHeadwear.$rotateAngleX = $this.$bipedHead.$rotateAngleX;
    $par7Entity = $this.$bipedRightArm;
    $par1 = $par1 * 0.6661999821662903;
    $par6 = $par1 + 3.1415927410125732;
    $par7Entity.$rotateAngleX = nms_MathHelper_cos($par6) * 2.0 * $par2 * 0.5;
    $this.$bipedLeftArm.$rotateAngleX = nms_MathHelper_cos($par1) * 2.0 * $par2 * 0.5;
    $this.$bipedRightArm.$rotateAngleZ = 0.0;
    $this.$bipedLeftArm.$rotateAngleZ = 0.0;
    $this.$bipedRightLeg.$rotateAngleX = nms_MathHelper_cos($par1) * 1.399999976158142 * $par2;
    $this.$bipedLeftLeg.$rotateAngleX = nms_MathHelper_cos($par6) * 1.399999976158142 * $par2;
    $this.$bipedRightLeg.$rotateAngleY = 0.0;
    $this.$bipedLeftLeg.$rotateAngleY = 0.0;
    if ($this.$isRiding) {
        $par7Entity = $this.$bipedRightArm;
        $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX + (-0.6283185482025146);
        $par7Entity = $this.$bipedLeftArm;
        $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX + (-0.6283185482025146);
        $this.$bipedRightLeg.$rotateAngleX = (-1.2566370964050293);
        $this.$bipedLeftLeg.$rotateAngleX = (-1.2566370964050293);
        $this.$bipedRightLeg.$rotateAngleY = 0.3141592741012573;
        $this.$bipedLeftLeg.$rotateAngleY = (-0.3141592741012573);
    }
    if ($this.$heldItemLeft)
        $this.$bipedLeftArm.$rotateAngleX = $this.$bipedLeftArm.$rotateAngleX * 0.5 - 0.3141592741012573 * $this.$heldItemLeft;
    if ($this.$heldItemRight)
        $this.$bipedRightArm.$rotateAngleX = $this.$bipedRightArm.$rotateAngleX * 0.5 - 0.3141592741012573 * $this.$heldItemRight;
    $this.$bipedRightArm.$rotateAngleY = 0.0;
    $this.$bipedLeftArm.$rotateAngleY = 0.0;
    if ($this.$onGround1 > (-9990.0)) {
        $var8 = $this.$onGround1;
        $this.$bipedBody.$rotateAngleY = nms_MathHelper_sin(nms_MathHelper_sqrt_float($var8) * 3.1415927410125732 * 2.0) * 0.20000000298023224;
        $this.$bipedRightArm.$rotationPointZ = nms_MathHelper_sin($this.$bipedBody.$rotateAngleY) * 5.0;
        $this.$bipedRightArm.$rotationPointX =  -nms_MathHelper_cos($this.$bipedBody.$rotateAngleY) * 5.0;
        $this.$bipedLeftArm.$rotationPointZ =  -nms_MathHelper_sin($this.$bipedBody.$rotateAngleY) * 5.0;
        $this.$bipedLeftArm.$rotationPointX = nms_MathHelper_cos($this.$bipedBody.$rotateAngleY) * 5.0;
        $par7Entity = $this.$bipedRightArm;
        $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY + $this.$bipedBody.$rotateAngleY;
        $par7Entity = $this.$bipedLeftArm;
        $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY + $this.$bipedBody.$rotateAngleY;
        $par7Entity = $this.$bipedLeftArm;
        $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX + $this.$bipedBody.$rotateAngleY;
        $par1 = 1.0 - $this.$onGround1;
        $par1 = $par1 * $par1;
        $var9 = nms_MathHelper_sin((1.0 - $par1 * $par1) * 3.1415927410125732);
        $var10 = nms_MathHelper_sin($this.$onGround1 * 3.1415927410125732) *  -($this.$bipedHead.$rotateAngleX - 0.699999988079071) * 0.75;
        $this.$bipedRightArm.$rotateAngleX = $this.$bipedRightArm.$rotateAngleX - ($var9 * 1.2 + $var10);
        $par7Entity = $this.$bipedRightArm;
        $par7Entity.$rotateAngleY = $par7Entity.$rotateAngleY + $this.$bipedBody.$rotateAngleY * 2.0;
        $this.$bipedRightArm.$rotateAngleZ = nms_MathHelper_sin($this.$onGround1 * 3.1415927410125732) * (-0.4000000059604645);
    }
    if (!$this.$isSneak) {
        $this.$bipedBody.$rotateAngleX = 0.0;
        $this.$bipedRightLeg.$rotationPointZ = 0.10000000149011612;
        $this.$bipedLeftLeg.$rotationPointZ = 0.10000000149011612;
        $this.$bipedRightLeg.$rotationPointY = 12.0;
        $this.$bipedLeftLeg.$rotationPointY = 12.0;
        $this.$bipedHead.$rotationPointY = 0.0;
        $this.$bipedHeadwear.$rotationPointY = 0.0;
    } else {
        $this.$bipedBody.$rotateAngleX = 0.5;
        $par7Entity = $this.$bipedRightArm;
        $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX + 0.4000000059604645;
        $par7Entity = $this.$bipedLeftArm;
        $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX + 0.4000000059604645;
        $this.$bipedRightLeg.$rotationPointZ = 4.0;
        $this.$bipedLeftLeg.$rotationPointZ = 4.0;
        $this.$bipedRightLeg.$rotationPointY = 9.0;
        $this.$bipedLeftLeg.$rotationPointY = 9.0;
        $this.$bipedHead.$rotationPointY = 1.0;
        $this.$bipedHeadwear.$rotationPointY = 1.0;
    }
    $par7Entity = $this.$bipedRightArm;
    $par2 = $par7Entity.$rotateAngleZ;
    $par1 = $par3 * 0.09000000357627869;
    $par7Entity.$rotateAngleZ = $par2 + nms_MathHelper_cos($par1) * 0.05000000074505806 + 0.05000000074505806;
    $par7Entity = $this.$bipedLeftArm;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ - (nms_MathHelper_cos($par1) * 0.05000000074505806 + 0.05000000074505806);
    $par7Entity = $this.$bipedRightArm;
    $par2 = $par7Entity.$rotateAngleX;
    $par3 = $par3 * 0.06700000166893005;
    $par7Entity.$rotateAngleX = $par2 + nms_MathHelper_sin($par3) * 0.05000000074505806;
    $par7Entity = $this.$bipedLeftArm;
    $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX - nms_MathHelper_sin($par3) * 0.05000000074505806;
    if ($this.$aimedBow) {
        $this.$bipedRightArm.$rotateAngleZ = 0.0;
        $this.$bipedLeftArm.$rotateAngleZ = 0.0;
        $this.$bipedRightArm.$rotateAngleY = (-0.10000000149011612) + $this.$bipedHead.$rotateAngleY;
        $this.$bipedLeftArm.$rotateAngleY = 0.10000000149011612 + $this.$bipedHead.$rotateAngleY + 0.4000000059604645;
        $this.$bipedRightArm.$rotateAngleX = (-1.5707963705062866) + $this.$bipedHead.$rotateAngleX;
        $this.$bipedLeftArm.$rotateAngleX = (-1.5707963705062866) + $this.$bipedHead.$rotateAngleX;
        $par7Entity = $this.$bipedRightArm;
        $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX - 0.0;
        $par7Entity = $this.$bipedLeftArm;
        $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX - 0.0;
        $par7Entity = $this.$bipedRightArm;
        $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ + nms_MathHelper_cos($par1) * 0.05000000074505806 + 0.05000000074505806;
        $par7Entity = $this.$bipedLeftArm;
        $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ - (nms_MathHelper_cos($par1) * 0.05000000074505806 + 0.05000000074505806);
        $par7Entity = $this.$bipedRightArm;
        $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX + nms_MathHelper_sin($par3) * 0.05000000074505806;
        $par7Entity = $this.$bipedLeftArm;
        $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX - nms_MathHelper_sin($par3) * 0.05000000074505806;
    }
};
function nms_ModelBiped_renderCloak($this, $par1) {
    nms_ModelRenderer_render($this.$bipedCloak, $par1);
}
function nms_ModelEnderman() {
    var a = this; nms_ModelBiped.call(a);
    a.$isCarrying = 0;
    a.$isAttacking = 0;
}
function nms_ModelEnderman__init_0() {
    var var_0 = new nms_ModelEnderman();
    nms_ModelEnderman__init_(var_0);
    return var_0;
}
function nms_ModelEnderman__init_($this) {
    $java.nms_ModelBiped__init_0($this, 0.0, (-14.0), 64, 32);
    $this.$isCarrying = 0;
    $this.$isAttacking = 0;
    $this.$bipedHeadwear = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$bipedHeadwear, (-4.0), (-8.0), (-4.0), 8, 8, 8, (-0.5));
    nms_ModelRenderer_setRotationPoint($this.$bipedHeadwear, 0.0, (-14.0), 0.0);
    $this.$bipedBody = nms_ModelRenderer__init_($this, 32, 16);
    nms_ModelRenderer_addBox($this.$bipedBody, (-4.0), 0.0, (-2.0), 8, 12, 4, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$bipedBody, 0.0, (-14.0), 0.0);
    $this.$bipedRightArm = nms_ModelRenderer__init_($this, 56, 0);
    nms_ModelRenderer_addBox($this.$bipedRightArm, (-1.0), (-2.0), (-1.0), 2, 30, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$bipedRightArm, (-3.0), (-12.0), 0.0);
    $this.$bipedLeftArm = nms_ModelRenderer__init_($this, 56, 0);
    $this.$bipedLeftArm.$mirror = 1;
    nms_ModelRenderer_addBox($this.$bipedLeftArm, (-1.0), (-2.0), (-1.0), 2, 30, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$bipedLeftArm, 5.0, (-12.0), 0.0);
    $this.$bipedRightLeg = nms_ModelRenderer__init_($this, 56, 0);
    nms_ModelRenderer_addBox($this.$bipedRightLeg, (-1.0), 0.0, (-1.0), 2, 30, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$bipedRightLeg, (-2.0), (-2.0), 0.0);
    $this.$bipedLeftLeg = nms_ModelRenderer__init_($this, 56, 0);
    $this.$bipedLeftLeg.$mirror = 1;
    nms_ModelRenderer_addBox($this.$bipedLeftLeg, (-1.0), 0.0, (-1.0), 2, 30, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$bipedLeftLeg, 2.0, (-2.0), 0.0);
}
$java.nms_ModelEnderman_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    $java.nms_ModelBiped_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity);
    $this.$bipedHead.$showModel = 1;
    $this.$bipedBody.$rotateAngleX = 0.0;
    $this.$bipedBody.$rotationPointY = (-14.0);
    $this.$bipedBody.$rotationPointZ = -0.0;
    $par7Entity = $this.$bipedRightLeg;
    $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX - 0.0;
    $par7Entity = $this.$bipedLeftLeg;
    $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX - 0.0;
    $this.$bipedRightArm.$rotateAngleX = $this.$bipedRightArm.$rotateAngleX * 0.5;
    $this.$bipedLeftArm.$rotateAngleX = $this.$bipedLeftArm.$rotateAngleX * 0.5;
    $this.$bipedRightLeg.$rotateAngleX = $this.$bipedRightLeg.$rotateAngleX * 0.5;
    $this.$bipedLeftLeg.$rotateAngleX = $this.$bipedLeftLeg.$rotateAngleX * 0.5;
    if ($this.$bipedRightArm.$rotateAngleX > 0.4000000059604645)
        $this.$bipedRightArm.$rotateAngleX = 0.4000000059604645;
    if ($this.$bipedLeftArm.$rotateAngleX > 0.4000000059604645)
        $this.$bipedLeftArm.$rotateAngleX = 0.4000000059604645;
    if ($this.$bipedRightArm.$rotateAngleX < (-0.4000000059604645))
        $this.$bipedRightArm.$rotateAngleX = (-0.4000000059604645);
    if ($this.$bipedLeftArm.$rotateAngleX < (-0.4000000059604645))
        $this.$bipedLeftArm.$rotateAngleX = (-0.4000000059604645);
    if ($this.$bipedRightLeg.$rotateAngleX > 0.4000000059604645)
        $this.$bipedRightLeg.$rotateAngleX = 0.4000000059604645;
    if ($this.$bipedLeftLeg.$rotateAngleX > 0.4000000059604645)
        $this.$bipedLeftLeg.$rotateAngleX = 0.4000000059604645;
    if ($this.$bipedRightLeg.$rotateAngleX < (-0.4000000059604645))
        $this.$bipedRightLeg.$rotateAngleX = (-0.4000000059604645);
    if ($this.$bipedLeftLeg.$rotateAngleX < (-0.4000000059604645))
        $this.$bipedLeftLeg.$rotateAngleX = (-0.4000000059604645);
    if ($this.$isCarrying) {
        $this.$bipedRightArm.$rotateAngleX = (-0.5);
        $this.$bipedLeftArm.$rotateAngleX = (-0.5);
        $this.$bipedRightArm.$rotateAngleZ = 0.05000000074505806;
        $this.$bipedLeftArm.$rotateAngleZ = (-0.05000000074505806);
    }
    $this.$bipedRightArm.$rotationPointZ = 0.0;
    $this.$bipedLeftArm.$rotationPointZ = 0.0;
    $this.$bipedRightLeg.$rotationPointZ = 0.0;
    $this.$bipedLeftLeg.$rotationPointZ = 0.0;
    $this.$bipedRightLeg.$rotationPointY = (-5.0);
    $this.$bipedLeftLeg.$rotationPointY = (-5.0);
    $this.$bipedHead.$rotationPointZ = -0.0;
    $this.$bipedHead.$rotationPointY = (-13.0);
    $this.$bipedHeadwear.$rotationPointX = $this.$bipedHead.$rotationPointX;
    $this.$bipedHeadwear.$rotationPointY = $this.$bipedHead.$rotationPointY;
    $this.$bipedHeadwear.$rotationPointZ = $this.$bipedHead.$rotationPointZ;
    $this.$bipedHeadwear.$rotateAngleX = $this.$bipedHead.$rotateAngleX;
    $this.$bipedHeadwear.$rotateAngleY = $this.$bipedHead.$rotateAngleY;
    $this.$bipedHeadwear.$rotateAngleZ = $this.$bipedHead.$rotateAngleZ;
    if ($this.$isAttacking) {
        $par7Entity = $this.$bipedHead;
        $par7Entity.$rotationPointY = $par7Entity.$rotationPointY - 5.0;
    }
};
function nms_ModelSnowMan() {
    var a = this; nms_ModelBase.call(a);
    a.$body2 = null;
    a.$bottomBody = null;
    a.$head1 = null;
    a.$rightHand = null;
    a.$leftHand = null;
}
function nms_ModelSnowMan__init_0() {
    var var_0 = new nms_ModelSnowMan();
    nms_ModelSnowMan__init_(var_0);
    return var_0;
}
function nms_ModelSnowMan__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$head1 = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 0), 64, 64);
    nms_ModelRenderer_addBox($this.$head1, (-4.0), (-8.0), (-4.0), 8, 8, 8, (-0.5));
    nms_ModelRenderer_setRotationPoint($this.$head1, 0.0, 4.0, 0.0);
    $this.$rightHand = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 32, 0), 64, 64);
    nms_ModelRenderer_addBox($this.$rightHand, (-1.0), 0.0, (-1.0), 12, 2, 2, (-0.5));
    nms_ModelRenderer_setRotationPoint($this.$rightHand, 0.0, 6.0, 0.0);
    $this.$leftHand = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 32, 0), 64, 64);
    nms_ModelRenderer_addBox($this.$leftHand, (-1.0), 0.0, (-1.0), 12, 2, 2, (-0.5));
    nms_ModelRenderer_setRotationPoint($this.$leftHand, 0.0, 6.0, 0.0);
    $this.$body2 = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 16), 64, 64);
    nms_ModelRenderer_addBox($this.$body2, (-5.0), (-10.0), (-5.0), 10, 10, 10, (-0.5));
    nms_ModelRenderer_setRotationPoint($this.$body2, 0.0, 13.0, 0.0);
    $this.$bottomBody = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 36), 64, 64);
    nms_ModelRenderer_addBox($this.$bottomBody, (-6.0), (-12.0), (-6.0), 12, 12, 12, (-0.5));
    nms_ModelRenderer_setRotationPoint($this.$bottomBody, 0.0, 24.0, 0.0);
}
$java.nms_ModelSnowMan_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var8, $var9;
    $par7Entity = $this.$head1;
    $par1 = $par4 / 57.2957763671875;
    $par7Entity.$rotateAngleY = $par1;
    $this.$head1.$rotateAngleX = $par5 / 57.2957763671875;
    $this.$body2.$rotateAngleY = $par1 * 0.25;
    $var8 = nms_MathHelper_sin($this.$body2.$rotateAngleY);
    $var9 = nms_MathHelper_cos($this.$body2.$rotateAngleY);
    $this.$rightHand.$rotateAngleZ = 1.0;
    $this.$leftHand.$rotateAngleZ = (-1.0);
    $this.$rightHand.$rotateAngleY = 0.0 + $this.$body2.$rotateAngleY;
    $this.$leftHand.$rotateAngleY = 3.1415927410125732 + $this.$body2.$rotateAngleY;
    $this.$rightHand.$rotationPointX = $var9 * 5.0;
    $this.$rightHand.$rotationPointZ =  -$var8 * 5.0;
    $this.$leftHand.$rotationPointX =  -$var9 * 5.0;
    $this.$leftHand.$rotationPointZ = $var8 * 5.0;
};
$java.nms_ModelSnowMan_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    $java.nms_ModelSnowMan_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    nms_ModelRenderer_render($this.$body2, $par7);
    nms_ModelRenderer_render($this.$bottomBody, $par7);
    nms_ModelRenderer_render($this.$head1, $par7);
    nms_ModelRenderer_render($this.$rightHand, $par7);
    nms_ModelRenderer_render($this.$leftHand, $par7);
};
function nms_ModelZombie() {
    nms_ModelBiped.call(this);
}
function nms_ModelZombie__init_1() {
    var var_0 = new nms_ModelZombie();
    nms_ModelZombie__init_(var_0);
    return var_0;
}
function nms_ModelZombie__init_0(var_0, var_1) {
    var var_2 = new nms_ModelZombie();
    $java.nms_ModelZombie__init_(var_2, var_0, var_1);
    return var_2;
}
function nms_ModelZombie__init_($this) {
    $java.nms_ModelZombie__init_($this, 0.0, 0);
}
$java.nms_ModelZombie__init_ = function($this, $par1, $par2) {
    $java.nms_ModelBiped__init_0($this, $par1, 0.0, 64, !$par2 ? 64 : 32);
};
$java.nms_ModelZombie_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var8, $var9;
    $java.nms_ModelBiped_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity);
    $var8 = nms_MathHelper_sin($this.$onGround1 * 3.1415927410125732);
    $var9 = nms_MathHelper_sin((1.0 - (1.0 - $this.$onGround1) * (1.0 - $this.$onGround1)) * 3.1415927410125732);
    $this.$bipedRightArm.$rotateAngleZ = 0.0;
    $this.$bipedLeftArm.$rotateAngleZ = 0.0;
    $par7Entity = $this.$bipedRightArm;
    $par1 = 0.10000000149011612 - $var8 * 0.6000000238418579;
    $par7Entity.$rotateAngleY =  -$par1;
    $this.$bipedLeftArm.$rotateAngleY = $par1;
    $this.$bipedRightArm.$rotateAngleX = (-1.5707963705062866);
    $this.$bipedLeftArm.$rotateAngleX = (-1.5707963705062866);
    $par7Entity = $this.$bipedRightArm;
    $par1 = $par7Entity.$rotateAngleX;
    $par2 = $var8 * 1.2000000476837158 - $var9 * 0.4000000059604645;
    $par7Entity.$rotateAngleX = $par1 - $par2;
    $par7Entity = $this.$bipedLeftArm;
    $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX - $par2;
    $par7Entity = $this.$bipedRightArm;
    $par1 = $par7Entity.$rotateAngleZ;
    $par2 = $par3 * 0.09000000357627869;
    $par7Entity.$rotateAngleZ = $par1 + nms_MathHelper_cos($par2) * 0.05000000074505806 + 0.05000000074505806;
    $par7Entity = $this.$bipedLeftArm;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ - (nms_MathHelper_cos($par2) * 0.05000000074505806 + 0.05000000074505806);
    $par7Entity = $this.$bipedRightArm;
    $par1 = $par7Entity.$rotateAngleX;
    $par2 = $par3 * 0.06700000166893005;
    $par7Entity.$rotateAngleX = $par1 + nms_MathHelper_sin($par2) * 0.05000000074505806;
    $par7Entity = $this.$bipedLeftArm;
    $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX - nms_MathHelper_sin($par2) * 0.05000000074505806;
};
function nms_ModelSkeleton() {
    nms_ModelZombie.call(this);
}
function nms_ModelSkeleton__init_1() {
    var var_0 = new nms_ModelSkeleton();
    nms_ModelSkeleton__init_(var_0);
    return var_0;
}
function nms_ModelSkeleton__init_0(var_0) {
    var var_1 = new nms_ModelSkeleton();
    $java.nms_ModelSkeleton__init_(var_1, var_0);
    return var_1;
}
function nms_ModelSkeleton__init_($this) {
    $java.nms_ModelSkeleton__init_($this, 0.0);
}
$java.nms_ModelSkeleton__init_ = function($this, $par1) {
    $java.nms_ModelBiped__init_0($this, $par1, 0.0, 64, 32);
    $this.$bipedRightArm = nms_ModelRenderer__init_($this, 40, 16);
    nms_ModelRenderer_addBox($this.$bipedRightArm, (-1.0), (-2.0), (-1.0), 2, 12, 2, $par1);
    nms_ModelRenderer_setRotationPoint($this.$bipedRightArm, (-5.0), 2.0, 0.0);
    $this.$bipedLeftArm = nms_ModelRenderer__init_($this, 40, 16);
    $this.$bipedLeftArm.$mirror = 1;
    nms_ModelRenderer_addBox($this.$bipedLeftArm, (-1.0), (-2.0), (-1.0), 2, 12, 2, $par1);
    nms_ModelRenderer_setRotationPoint($this.$bipedLeftArm, 5.0, 2.0, 0.0);
    $this.$bipedRightLeg = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox($this.$bipedRightLeg, (-1.0), 0.0, (-1.0), 2, 12, 2, $par1);
    nms_ModelRenderer_setRotationPoint($this.$bipedRightLeg, (-2.0), 12.0, 0.0);
    $this.$bipedLeftLeg = nms_ModelRenderer__init_($this, 0, 16);
    $this.$bipedLeftLeg.$mirror = 1;
    nms_ModelRenderer_addBox($this.$bipedLeftLeg, (-1.0), 0.0, (-1.0), 2, 12, 2, $par1);
    nms_ModelRenderer_setRotationPoint($this.$bipedLeftLeg, 2.0, 12.0, 0.0);
};
$java.nms_ModelSkeleton_setLivingAnimations = function($this, $par1EntityLiving, $par2, $par3, $par4) {
    $this.$aimedBow = $par1EntityLiving !== null && $par1EntityLiving instanceof nms_EntitySkeleton && nms_EntitySkeleton_getSkeletonType($par1EntityLiving) != 1 ? 0 : 1;
};
$java.nms_ModelSkeleton_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    $java.nms_ModelZombie_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity);
};
function nms_ModelVillager() {
    var a = this; nms_ModelBase.call(a);
    a.$villagerHead = null;
    a.$villagerBody = null;
    a.$villagerArms = null;
    a.$rightVillagerLeg = null;
    a.$leftVillagerLeg = null;
    a.$field_82898_f = null;
}
function nms_ModelVillager__init_(var_0) {
    var var_1 = new nms_ModelVillager();
    $java.nms_ModelVillager__init_(var_1, var_0);
    return var_1;
}
$java.nms_ModelVillager__init_0 = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_ModelVillager();
    $java.nms_ModelVillager__init_1(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_ModelVillager__init_ = function($this, $par1) {
    $java.nms_ModelVillager__init_1($this, $par1, 0.0, 64, 64);
};
$java.nms_ModelVillager__init_1 = function($this, $par1, $par2, $par3, $par4) {
    var var$5, var$6;
    nms_ModelBase__init_0($this);
    $this.$villagerHead = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), $par3, $par4);
    var$5 = $this.$villagerHead;
    var$6 = 0.0 + $par2;
    nms_ModelRenderer_setRotationPoint(var$5, 0.0, var$6, 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$villagerHead, 0, 0), (-4.0), (-10.0), (-4.0), 8, 10, 8, $par1);
    $this.$field_82898_f = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), $par3, $par4);
    nms_ModelRenderer_setRotationPoint($this.$field_82898_f, 0.0, $par2 - 2.0, 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$field_82898_f, 24, 0), (-1.0), (-1.0), (-6.0), 2, 4, 2, $par1);
    $java.nms_ModelRenderer_addChild($this.$villagerHead, $this.$field_82898_f);
    $this.$villagerBody = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), $par3, $par4);
    nms_ModelRenderer_setRotationPoint($this.$villagerBody, 0.0, var$6, 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$villagerBody, 16, 20), (-4.0), 0.0, (-3.0), 8, 12, 6, $par1);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$villagerBody, 0, 38), (-4.0), 0.0, (-3.0), 8, 18, 6, $par1 + 0.5);
    $this.$villagerArms = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), $par3, $par4);
    nms_ModelRenderer_setRotationPoint($this.$villagerArms, 0.0, var$6 + 2.0, 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$villagerArms, 44, 22), (-8.0), (-2.0), (-2.0), 4, 8, 4, $par1);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$villagerArms, 44, 22), 4.0, (-2.0), (-2.0), 4, 8, 4, $par1);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$villagerArms, 40, 38), (-4.0), 2.0, (-2.0), 8, 4, 4, $par1);
    $this.$rightVillagerLeg = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 22), $par3, $par4);
    var$5 = $this.$rightVillagerLeg;
    $par2 = 12.0 + $par2;
    nms_ModelRenderer_setRotationPoint(var$5, (-2.0), $par2, 0.0);
    nms_ModelRenderer_addBox($this.$rightVillagerLeg, (-2.0), 0.0, (-2.0), 4, 12, 4, $par1);
    $this.$leftVillagerLeg = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 22), $par3, $par4);
    $this.$leftVillagerLeg.$mirror = 1;
    nms_ModelRenderer_setRotationPoint($this.$leftVillagerLeg, 2.0, $par2, 0.0);
    nms_ModelRenderer_addBox($this.$leftVillagerLeg, (-2.0), 0.0, (-2.0), 4, 12, 4, $par1);
};
function nms_ModelVillager_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    $this.$setRotationAngles($par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    nms_ModelRenderer_render($this.$villagerHead, $par7);
    nms_ModelRenderer_render($this.$villagerBody, $par7);
    nms_ModelRenderer_render($this.$rightVillagerLeg, $par7);
    nms_ModelRenderer_render($this.$leftVillagerLeg, $par7);
    nms_ModelRenderer_render($this.$villagerArms, $par7);
}
$java.nms_ModelVillager_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    $this.$villagerHead.$rotateAngleY = $par4 / 57.2957763671875;
    $this.$villagerHead.$rotateAngleX = $par5 / 57.2957763671875;
    $this.$villagerArms.$rotationPointY = 3.0;
    $this.$villagerArms.$rotationPointZ = (-1.0);
    $this.$villagerArms.$rotateAngleX = (-0.75);
    $par7Entity = $this.$rightVillagerLeg;
    $par3 = $par1 * 0.6661999821662903;
    $par7Entity.$rotateAngleX = nms_MathHelper_cos($par3) * 1.399999976158142 * $par2 * 0.5;
    $this.$leftVillagerLeg.$rotateAngleX = nms_MathHelper_cos($par3 + 3.1415927410125732) * 1.399999976158142 * $par2 * 0.5;
    $this.$rightVillagerLeg.$rotateAngleY = 0.0;
    $this.$leftVillagerLeg.$rotateAngleY = 0.0;
};
function nms_ModelWitch() {
    var a = this; nms_ModelVillager.call(a);
    a.$field_82900_g = 0;
    a.$field_82901_h = null;
    a.$witchHat = null;
}
function nms_ModelWitch__init_(var_0) {
    var var_1 = new nms_ModelWitch();
    $java.nms_ModelWitch__init_(var_1, var_0);
    return var_1;
}
$java.nms_ModelWitch__init_ = function($this, $par1) {
    var $var2, $var3, $var4;
    $java.nms_ModelVillager__init_1($this, $par1, 0.0, 64, 128);
    $this.$field_82900_g = 0;
    $this.$field_82901_h = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), 64, 128);
    nms_ModelRenderer_setRotationPoint($this.$field_82901_h, 0.0, (-2.0), 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$field_82901_h, 0, 0), 0.0, 3.0, (-6.75), 1, 1, 1, (-0.25));
    $java.nms_ModelRenderer_addChild($this.$field_82898_f, $this.$field_82901_h);
    $this.$witchHat = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), 64, 128);
    nms_ModelRenderer_setRotationPoint($this.$witchHat, (-5.0), (-10.03125), (-5.0));
    nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($this.$witchHat, 0, 64), 0.0, 0.0, 0.0, 10, 2, 10);
    $java.nms_ModelRenderer_addChild($this.$villagerHead, $this.$witchHat);
    $var2 = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), 64, 128);
    nms_ModelRenderer_setRotationPoint($var2, 1.75, (-4.0), 2.0);
    nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($var2, 0, 76), 0.0, 0.0, 0.0, 7, 4, 7);
    $var2.$rotateAngleX = (-0.05235987901687622);
    $var2.$rotateAngleZ = 0.02617993950843811;
    $java.nms_ModelRenderer_addChild($this.$witchHat, $var2);
    $var3 = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), 64, 128);
    nms_ModelRenderer_setRotationPoint($var3, 1.75, (-4.0), 2.0);
    nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($var3, 0, 87), 0.0, 0.0, 0.0, 4, 4, 4);
    $var3.$rotateAngleX = (-0.10471975803375244);
    $var3.$rotateAngleZ = 0.05235987901687622;
    $java.nms_ModelRenderer_addChild($var2, $var3);
    $var4 = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), 64, 128);
    nms_ModelRenderer_setRotationPoint($var4, 1.75, (-2.0), 2.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($var4, 0, 95), 0.0, 0.0, 0.0, 1, 2, 1, 0.25);
    $var4.$rotateAngleX = (-0.20943951606750488);
    $var4.$rotateAngleZ = 0.10471975803375244;
    $java.nms_ModelRenderer_addChild($var3, $var4);
};
$java.nms_ModelWitch_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var var$8, var$9, $var8;
    $java.nms_ModelVillager_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity);
    var$8 = $this.$field_82898_f;
    var$9 = $this.$field_82898_f;
    $this.$field_82898_f.$field_82907_q = 0.0;
    var$9.$field_82908_p = 0.0;
    var$8.$field_82906_o = 0.0;
    $var8 = 0.009999999776482582 * ($par7Entity.$entityId % 10 | 0);
    $this.$field_82898_f.$rotateAngleX = nms_MathHelper_sin($par7Entity.$ticksExisted * $var8) * 4.5 * 3.1415927410125732 / 180.0;
    $this.$field_82898_f.$rotateAngleY = 0.0;
    $this.$field_82898_f.$rotateAngleZ = nms_MathHelper_cos($par7Entity.$ticksExisted * $var8) * 2.5 * 3.1415927410125732 / 180.0;
    if ($this.$field_82900_g) {
        $this.$field_82898_f.$rotateAngleX = (-0.8999999761581421);
        $this.$field_82898_f.$field_82907_q = (-0.09375);
        $this.$field_82898_f.$field_82908_p = 0.1875;
    }
};
$java.nms_ModelWitch_func_82899_a = function($this) {
    return 0;
};
function nms_ModelBlaze() {
    var a = this; nms_ModelBase.call(a);
    a.$blazeSticks = null;
    a.$blazeHead = null;
}
function nms_ModelBlaze__init_0() {
    var var_0 = new nms_ModelBlaze();
    nms_ModelBlaze__init_(var_0);
    return var_0;
}
function nms_ModelBlaze__init_($this) {
    var $var1;
    nms_ModelBase__init_0($this);
    $this.$blazeSticks = $rt_createArray(nms_ModelRenderer, 12);
    $var1 = 0;
    while ($var1 < $this.$blazeSticks.data.length) {
        $this.$blazeSticks.data[$var1] = nms_ModelRenderer__init_($this, 0, 16);
        nms_ModelRenderer_addBox0($this.$blazeSticks.data[$var1], 0.0, 0.0, 0.0, 2, 8, 2);
        $var1 = $var1 + 1 | 0;
    }
    $this.$blazeHead = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox0($this.$blazeHead, (-4.0), (-4.0), (-4.0), 8, 8, 8);
}
$java.nms_ModelBlaze_func_78104_a = function($this) {
    return 8;
};
function nms_ModelBlaze_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $java.nms_ModelBlaze_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    nms_ModelRenderer_render($this.$blazeHead, $par7);
    $var8 = 0;
    while ($var8 < $this.$blazeSticks.data.length) {
        nms_ModelRenderer_render($this.$blazeSticks.data[$var8], $par7);
        $var8 = $var8 + 1 | 0;
    }
}
$java.nms_ModelBlaze_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var8, $var9;
    $par6 = $par3 * 3.1415927410125732;
    $var8 = $par6 * (-0.10000000149011612);
    $var9 = 0;
    while ($var9 < 4) {
        $this.$blazeSticks.data[$var9].$rotationPointY = (-2.0) + nms_MathHelper_cos((($var9 * 2 | 0) + $par3) * 0.25);
        $this.$blazeSticks.data[$var9].$rotationPointX = nms_MathHelper_cos($var8) * 9.0;
        $this.$blazeSticks.data[$var9].$rotationPointZ = nms_MathHelper_sin($var8) * 9.0;
        $var8 = $var8 + 1.0;
        $var9 = $var9 + 1 | 0;
    }
    $par1 = 0.7853981852531433 + $par6 * 0.029999999329447746;
    $var9 = 4;
    while ($var9 < 8) {
        $this.$blazeSticks.data[$var9].$rotationPointY = 2.0 + nms_MathHelper_cos((($var9 * 2 | 0) + $par3) * 0.25);
        $this.$blazeSticks.data[$var9].$rotationPointX = nms_MathHelper_cos($par1) * 7.0;
        $this.$blazeSticks.data[$var9].$rotationPointZ = nms_MathHelper_sin($par1) * 7.0;
        $par1 = $par1 + 1.0;
        $var9 = $var9 + 1 | 0;
    }
    $par1 = 0.4712389409542084 + $par6 * (-0.05000000074505806);
    $var9 = 8;
    while ($var9 < 12) {
        $this.$blazeSticks.data[$var9].$rotationPointY = 11.0 + nms_MathHelper_cos(($var9 * 1.5 + $par3) * 0.5);
        $this.$blazeSticks.data[$var9].$rotationPointX = nms_MathHelper_cos($par1) * 5.0;
        $this.$blazeSticks.data[$var9].$rotationPointZ = nms_MathHelper_sin($par1) * 5.0;
        $par1 = $par1 + 1.0;
        $var9 = $var9 + 1 | 0;
    }
    $this.$blazeHead.$rotateAngleY = $par4 / 57.2957763671875;
    $this.$blazeHead.$rotateAngleX = $par5 / 57.2957763671875;
};
function nms_ModelZombieVillager() {
    nms_ModelBiped.call(this);
}
function nms_ModelZombieVillager__init_0() {
    var var_0 = new nms_ModelZombieVillager();
    nms_ModelZombieVillager__init_(var_0);
    return var_0;
}
function nms_ModelZombieVillager__init_1(var_0, var_1, var_2) {
    var var_3 = new nms_ModelZombieVillager();
    $java.nms_ModelZombieVillager__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_ModelZombieVillager__init_($this) {
    $java.nms_ModelZombieVillager__init_($this, 0.0, 0.0, 0);
}
$java.nms_ModelZombieVillager__init_ = function($this, $par1, $par2, $par3) {
    $java.nms_ModelBiped__init_0($this, $par1, 0.0, 64, !$par3 ? 64 : 32);
    if ($par3) {
        $this.$bipedHead = nms_ModelRenderer__init_($this, 0, 0);
        nms_ModelRenderer_addBox($this.$bipedHead, (-4.0), (-10.0), (-4.0), 8, 6, 8, $par1);
        nms_ModelRenderer_setRotationPoint($this.$bipedHead, 0.0, 0.0 + $par2, 0.0);
    } else {
        $this.$bipedHead = $java.nms_ModelRenderer__init_0($this);
        nms_ModelRenderer_setRotationPoint($this.$bipedHead, 0.0, 0.0 + $par2, 0.0);
        nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$bipedHead, 0, 32), (-4.0), (-10.0), (-4.0), 8, 10, 8, $par1);
        nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$bipedHead, 24, 32), (-1.0), (-3.0), (-6.0), 2, 4, 2, $par1);
    }
};
$java.nms_ModelZombieVillager_func_82897_a = function($this) {
    return 10;
};
$java.nms_ModelZombieVillager_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var8, $var9;
    $java.nms_ModelBiped_setRotationAngles($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity);
    $var8 = nms_MathHelper_sin($this.$onGround1 * 3.1415927410125732);
    $var9 = nms_MathHelper_sin((1.0 - (1.0 - $this.$onGround1) * (1.0 - $this.$onGround1)) * 3.1415927410125732);
    $this.$bipedRightArm.$rotateAngleZ = 0.0;
    $this.$bipedLeftArm.$rotateAngleZ = 0.0;
    $par7Entity = $this.$bipedRightArm;
    $par1 = 0.10000000149011612 - $var8 * 0.6000000238418579;
    $par7Entity.$rotateAngleY =  -$par1;
    $this.$bipedLeftArm.$rotateAngleY = $par1;
    $this.$bipedRightArm.$rotateAngleX = (-1.5707963705062866);
    $this.$bipedLeftArm.$rotateAngleX = (-1.5707963705062866);
    $par7Entity = $this.$bipedRightArm;
    $par1 = $par7Entity.$rotateAngleX;
    $par2 = $var8 * 1.2000000476837158 - $var9 * 0.4000000059604645;
    $par7Entity.$rotateAngleX = $par1 - $par2;
    $par7Entity = $this.$bipedLeftArm;
    $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX - $par2;
    $par7Entity = $this.$bipedRightArm;
    $par1 = $par7Entity.$rotateAngleZ;
    $par2 = $par3 * 0.09000000357627869;
    $par7Entity.$rotateAngleZ = $par1 + nms_MathHelper_cos($par2) * 0.05000000074505806 + 0.05000000074505806;
    $par7Entity = $this.$bipedLeftArm;
    $par7Entity.$rotateAngleZ = $par7Entity.$rotateAngleZ - (nms_MathHelper_cos($par2) * 0.05000000074505806 + 0.05000000074505806);
    $par7Entity = $this.$bipedRightArm;
    $par1 = $par7Entity.$rotateAngleX;
    $par2 = $par3 * 0.06700000166893005;
    $par7Entity.$rotateAngleX = $par1 + nms_MathHelper_sin($par2) * 0.05000000074505806;
    $par7Entity = $this.$bipedLeftArm;
    $par7Entity.$rotateAngleX = $par7Entity.$rotateAngleX - nms_MathHelper_sin($par2) * 0.05000000074505806;
};
function nms_ModelMagmaCube() {
    var a = this; nms_ModelBase.call(a);
    a.$field_78109_a = null;
    a.$field_78108_b = null;
}
function nms_ModelMagmaCube__init_0() {
    var var_0 = new nms_ModelMagmaCube();
    nms_ModelMagmaCube__init_(var_0);
    return var_0;
}
function nms_ModelMagmaCube__init_($this) {
    var $var1, $var2, var$3;
    nms_ModelBase__init_0($this);
    $this.$field_78109_a = $rt_createArray(nms_ModelRenderer, 8);
    $var1 = 0;
    while ($var1 < $this.$field_78109_a.data.length) {
        $var2 = 0;
        if ($var1 == 2) {
            $var2 = 24;
            var$3 = 10;
        } else if ($var1 != 3)
            var$3 = $var1;
        else {
            $var2 = 24;
            var$3 = 19;
        }
        $this.$field_78109_a.data[$var1] = nms_ModelRenderer__init_($this, $var2, var$3);
        nms_ModelRenderer_addBox0($this.$field_78109_a.data[$var1], (-4.0), 16 + $var1 | 0, (-4.0), 8, 1, 8);
        $var1 = $var1 + 1 | 0;
    }
    $this.$field_78108_b = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox0($this.$field_78108_b, (-2.0), 18.0, (-2.0), 4, 4, 4);
}
$java.nms_ModelMagmaCube_func_78107_a = function($this) {
    return 5;
};
$java.nms_ModelMagmaCube_setLivingAnimations = function($this, $par1EntityLiving, $par2, $par3, $par4) {
    var $var5, $var6, $var7;
    $var5 = $par1EntityLiving;
    $var6 = $var5.$field_70812_c + ($var5.$field_70811_b - $var5.$field_70812_c) * $par4;
    if ($var6 < 0.0)
        $var6 = 0.0;
    $var7 = 0;
    while ($var7 < $this.$field_78109_a.data.length) {
        $this.$field_78109_a.data[$var7].$rotationPointY =  -(4 - $var7 | 0) * $var6 * 1.7000000476837158;
        $var7 = $var7 + 1 | 0;
    }
};
$java.nms_ModelMagmaCube_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    nms_ModelRenderer_render($this.$field_78108_b, $par7);
    $var8 = 0;
    while ($var8 < $this.$field_78109_a.data.length) {
        nms_ModelRenderer_render($this.$field_78109_a.data[$var8], $par7);
        $var8 = $var8 + 1 | 0;
    }
};
function nle_ModelBipedNewSkins() {
    var a = this; nms_ModelBiped.call(a);
    a.$field_178734_a = null;
    a.$field_178732_b = null;
    a.$field_178733_c = null;
    a.$field_178731_d = null;
    a.$field_178730_v = null;
    a.$field_178729_w = null;
    a.$field_178736_x = null;
    a.$isAlex = 0;
}
function nle_ModelBipedNewSkins__init_(var_0, var_1) {
    var var_2 = new nle_ModelBipedNewSkins();
    $java.nle_ModelBipedNewSkins__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nle_ModelBipedNewSkins__init_ = function($this, $p_i46304_1_, $p_i46304_2_) {
    var var$3, var$4, var$5;
    $java.nms_ModelBiped__init_0($this, $p_i46304_1_, 0.0, 64, 64);
    $this.$isAlex = $p_i46304_2_;
    $this.$field_178736_x = nms_ModelRenderer__init_($this, 24, 0);
    nms_ModelRenderer_addBox($this.$field_178736_x, (-3.0), (-6.0), (-1.0), 6, 6, 1, $p_i46304_1_);
    $this.$field_178729_w = nms_ModelRenderer__init_($this, 0, 0);
    $java.nms_ModelRenderer_setTextureSize($this.$field_178729_w, 64, 32);
    nms_ModelRenderer_addBox($this.$field_178729_w, (-5.0), 0.0, (-1.0), 10, 16, 1, $p_i46304_1_);
    if (!$p_i46304_2_) {
        $this.$bipedLeftArm = nms_ModelRenderer__init_($this, 32, 48);
        nms_ModelRenderer_addBox($this.$bipedLeftArm, (-1.0), (-2.0), (-2.0), 4, 12, 4, $p_i46304_1_);
        nms_ModelRenderer_setRotationPoint($this.$bipedLeftArm, 5.0, 2.0, 0.0);
        $this.$field_178734_a = nms_ModelRenderer__init_($this, 48, 48);
        var$3 = $this.$field_178734_a;
        var$4 = $p_i46304_1_ + 0.25;
        nms_ModelRenderer_addBox(var$3, (-1.0), (-2.0), (-2.0), 4, 12, 4, var$4);
        nms_ModelRenderer_setRotationPoint($this.$field_178734_a, 5.0, 2.0, 0.0);
        $this.$field_178732_b = nms_ModelRenderer__init_($this, 40, 32);
        nms_ModelRenderer_addBox($this.$field_178732_b, (-3.0), (-2.0), (-2.0), 4, 12, 4, var$4);
        nms_ModelRenderer_setRotationPoint($this.$field_178732_b, (-5.0), 2.0, 10.0);
    } else {
        $this.$bipedLeftArm = nms_ModelRenderer__init_($this, 32, 48);
        nms_ModelRenderer_addBox($this.$bipedLeftArm, (-1.0), (-2.0), (-2.0), 3, 12, 4, $p_i46304_1_);
        nms_ModelRenderer_setRotationPoint($this.$bipedLeftArm, 5.0, 2.5, 0.0);
        $this.$bipedRightArm = nms_ModelRenderer__init_($this, 40, 16);
        nms_ModelRenderer_addBox($this.$bipedRightArm, (-2.0), (-2.0), (-2.0), 3, 12, 4, $p_i46304_1_);
        nms_ModelRenderer_setRotationPoint($this.$bipedRightArm, (-5.0), 2.5, 0.0);
        $this.$field_178734_a = nms_ModelRenderer__init_($this, 48, 48);
        var$3 = $this.$field_178734_a;
        var$5 = $p_i46304_1_ + 0.25;
        nms_ModelRenderer_addBox(var$3, (-1.0), (-2.0), (-2.0), 3, 12, 4, var$5);
        nms_ModelRenderer_setRotationPoint($this.$field_178734_a, 5.0, 2.5, 0.0);
        $this.$field_178732_b = nms_ModelRenderer__init_($this, 40, 32);
        nms_ModelRenderer_addBox($this.$field_178732_b, (-2.0), (-2.0), (-2.0), 3, 12, 4, var$5);
        nms_ModelRenderer_setRotationPoint($this.$field_178732_b, (-5.0), 2.5, 10.0);
    }
    $this.$bipedLeftLeg = nms_ModelRenderer__init_($this, 16, 48);
    nms_ModelRenderer_addBox($this.$bipedLeftLeg, (-2.0), 0.0, (-2.0), 4, 12, 4, $p_i46304_1_);
    nms_ModelRenderer_setRotationPoint($this.$bipedLeftLeg, 1.899999976158142, 12.0, 0.0);
    $this.$field_178733_c = nms_ModelRenderer__init_($this, 0, 48);
    var$3 = $this.$field_178733_c;
    $p_i46304_1_ = $p_i46304_1_ + 0.25;
    nms_ModelRenderer_addBox(var$3, (-2.0), 0.0, (-2.0), 4, 12, 4, $p_i46304_1_);
    nms_ModelRenderer_setRotationPoint($this.$field_178733_c, 1.899999976158142, 12.0, 0.0);
    $this.$field_178731_d = nms_ModelRenderer__init_($this, 0, 32);
    nms_ModelRenderer_addBox($this.$field_178731_d, (-2.0), 0.0, (-2.0), 4, 12, 4, $p_i46304_1_);
    nms_ModelRenderer_setRotationPoint($this.$field_178731_d, (-1.899999976158142), 12.0, 0.0);
    $this.$field_178730_v = nms_ModelRenderer__init_($this, 16, 32);
    nms_ModelRenderer_addBox($this.$field_178730_v, (-4.0), 0.0, (-2.0), 8, 12, 4, $p_i46304_1_);
    nms_ModelRenderer_setRotationPoint($this.$field_178730_v, 0.0, 0.0, 0.0);
};
function nle_ModelBipedNewSkins_render($this, $p_78088_1_, $p_78088_2_, $p_78088_3_, $p_78088_4_, $p_78088_5_, $p_78088_6_, $p_78088_7_) {
    nms_ModelBiped_render($this, $p_78088_1_, $p_78088_2_, $p_78088_3_, $p_78088_4_, $p_78088_5_, $p_78088_6_, $p_78088_7_);
    nms_ModelRenderer_render($this.$field_178733_c, $p_78088_7_);
    nms_ModelRenderer_render($this.$field_178731_d, $p_78088_7_);
    nms_ModelRenderer_render($this.$field_178734_a, $p_78088_7_);
    nms_ModelRenderer_render($this.$field_178732_b, $p_78088_7_);
    nms_ModelRenderer_render($this.$field_178730_v, $p_78088_7_);
}
$java.nle_ModelBipedNewSkins_setRotationAngles = function($this, $p_78087_1_, $p_78087_2_, $p_78087_3_, $p_78087_4_, $p_78087_5_, $p_78087_6_, $p_78087_7_) {
    $java.nms_ModelBiped_setRotationAngles($this, $p_78087_1_, $p_78087_2_, $p_78087_3_, $p_78087_4_, $p_78087_5_, $p_78087_6_, $p_78087_7_);
    $java.nle_ModelBipedNewSkins_func_178685_a($this.$bipedLeftLeg, $this.$field_178733_c);
    $java.nle_ModelBipedNewSkins_func_178685_a($this.$bipedRightLeg, $this.$field_178731_d);
    $java.nle_ModelBipedNewSkins_func_178685_a($this.$bipedLeftArm, $this.$field_178734_a);
    $java.nle_ModelBipedNewSkins_func_178685_a($this.$bipedRightArm, $this.$field_178732_b);
    $java.nle_ModelBipedNewSkins_func_178685_a($this.$bipedBody, $this.$field_178730_v);
};
$java.nle_ModelBipedNewSkins_func_178685_a = function($p_178685_0_, $p_178685_1_) {
    $p_178685_1_.$rotateAngleX = $p_178685_0_.$rotateAngleX;
    $p_178685_1_.$rotateAngleY = $p_178685_0_.$rotateAngleY;
    $p_178685_1_.$rotateAngleZ = $p_178685_0_.$rotateAngleZ;
    $p_178685_1_.$rotationPointX = $p_178685_0_.$rotationPointX;
    $p_178685_1_.$rotationPointY = $p_178685_0_.$rotationPointY;
    $p_178685_1_.$rotationPointZ = $p_178685_0_.$rotationPointZ;
};
function nms_ModelGhast() {
    var a = this; nms_ModelBase.call(a);
    a.$body3 = null;
    a.$tentacles = null;
}
function nms_ModelGhast__init_0() {
    var var_0 = new nms_ModelGhast();
    nms_ModelGhast__init_(var_0);
    return var_0;
}
function nms_ModelGhast__init_($this) {
    var $var2, $var3, $var4, $var6, $var5;
    nms_ModelBase__init_0($this);
    $this.$tentacles = $rt_createArray(nms_ModelRenderer, 9);
    $this.$body3 = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox0($this.$body3, (-8.0), (-8.0), (-8.0), 16, 16, 16);
    $var2 = $this.$body3;
    $var2.$rotationPointY = $var2.$rotationPointY + 8.0;
    $var2 = nle_EaglercraftRandom__init_1(Long_fromInt(1660));
    $var3 = 0;
    while ($var3 < $this.$tentacles.data.length) {
        $this.$tentacles.data[$var3] = nms_ModelRenderer__init_($this, 0, 0);
        $var4 = $var3 % 3 | 0;
        $var6 = $var3 / 3 | 0;
        $var4 = (($var4 - ($var6 % 2 | 0) * 0.5 + 0.25) / 2.0 * 2.0 - 1.0) * 5.0;
        $var5 = ($var6 / 2.0 * 2.0 - 1.0) * 5.0;
        $var6 = nle_EaglercraftRandom_nextInt($var2, 7) + 8 | 0;
        nms_ModelRenderer_addBox0($this.$tentacles.data[$var3], (-1.0), 0.0, (-1.0), 2, $var6, 2);
        $this.$tentacles.data[$var3].$rotationPointX = $var4;
        $this.$tentacles.data[$var3].$rotationPointZ = $var5;
        $this.$tentacles.data[$var3].$rotationPointY = 15.0;
        $var3 = $var3 + 1 | 0;
    }
}
$java.nms_ModelGhast_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var8;
    $var8 = 0;
    $par2 = $par3 * 0.30000001192092896;
    while ($var8 < $this.$tentacles.data.length) {
        $this.$tentacles.data[$var8].$rotateAngleX = 0.20000000298023224 * nms_MathHelper_sin($par2 + $var8) + 0.4000000059604645;
        $var8 = $var8 + 1 | 0;
    }
};
$java.nms_ModelGhast_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var10;
    $java.nms_ModelGhast_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    nleg_EaglerAdapterGL30_glPushMatrix();
    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.6000000238418579, 0.0);
    nms_ModelRenderer_render($this.$body3, $par7);
    $var8 = $this.$tentacles.data;
    $var9 = $var8.length;
    $var10 = 0;
    while ($var10 < $var9) {
        nms_ModelRenderer_render($var8[$var10], $par7);
        $var10 = $var10 + 1 | 0;
    }
    nleg_EaglerAdapterGL30_glPopMatrix();
};
function nms_ModelIronGolem() {
    var a = this; nms_ModelBase.call(a);
    a.$ironGolemHead = null;
    a.$ironGolemBody = null;
    a.$ironGolemRightArm = null;
    a.$ironGolemLeftArm = null;
    a.$ironGolemLeftLeg = null;
    a.$ironGolemRightLeg = null;
}
function nms_ModelIronGolem__init_0() {
    var var_0 = new nms_ModelIronGolem();
    nms_ModelIronGolem__init_(var_0);
    return var_0;
}
$java.nms_ModelIronGolem__init_ = function(var_0, var_1) {
    var var_2 = new nms_ModelIronGolem();
    $java.nms_ModelIronGolem__init_0(var_2, var_0, var_1);
    return var_2;
};
function nms_ModelIronGolem__init_($this) {
    $java.nms_ModelIronGolem__init_0($this, 0.0, (-7.0));
}
$java.nms_ModelIronGolem__init_0 = function($this, $par1, $par2) {
    var var$3, var$4;
    nms_ModelBase__init_0($this);
    $this.$ironGolemHead = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), 128, 128);
    var$3 = $this.$ironGolemHead;
    var$4 = 0.0 + $par2;
    nms_ModelRenderer_setRotationPoint(var$3, 0.0, var$4, (-2.0));
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$ironGolemHead, 0, 0), (-4.0), (-12.0), (-5.5), 8, 10, 8, $par1);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$ironGolemHead, 24, 0), (-1.0), (-5.0), (-7.5), 2, 4, 2, $par1);
    $this.$ironGolemBody = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), 128, 128);
    nms_ModelRenderer_setRotationPoint($this.$ironGolemBody, 0.0, var$4, 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$ironGolemBody, 0, 40), (-9.0), (-2.0), (-6.0), 18, 12, 11, $par1);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$ironGolemBody, 0, 70), (-4.5), 10.0, (-3.0), 9, 5, 6, $par1 + 0.5);
    $this.$ironGolemRightArm = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), 128, 128);
    nms_ModelRenderer_setRotationPoint($this.$ironGolemRightArm, 0.0, (-7.0), 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$ironGolemRightArm, 60, 21), (-13.0), (-2.5), (-3.0), 4, 30, 6, $par1);
    $this.$ironGolemLeftArm = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), 128, 128);
    nms_ModelRenderer_setRotationPoint($this.$ironGolemLeftArm, 0.0, (-7.0), 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$ironGolemLeftArm, 60, 58), 9.0, (-2.5), (-3.0), 4, 30, 6, $par1);
    $this.$ironGolemLeftLeg = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 22), 128, 128);
    var$3 = $this.$ironGolemLeftLeg;
    $par2 = 18.0 + $par2;
    nms_ModelRenderer_setRotationPoint(var$3, (-4.0), $par2, 0.0);
    nms_ModelRenderer_addBox(nms_ModelRenderer_setTextureOffset($this.$ironGolemLeftLeg, 37, 0), (-3.5), (-3.0), (-3.0), 6, 16, 5, $par1);
    $this.$ironGolemRightLeg = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 22), 128, 128);
    $this.$ironGolemRightLeg.$mirror = 1;
    nms_ModelRenderer_setRotationPoint(nms_ModelRenderer_setTextureOffset($this.$ironGolemRightLeg, 60, 0), 5.0, $par2, 0.0);
    nms_ModelRenderer_addBox($this.$ironGolemRightLeg, (-3.5), (-3.0), (-3.0), 6, 16, 5, $par1);
};
$java.nms_ModelIronGolem_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    $java.nms_ModelIronGolem_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    nms_ModelRenderer_render($this.$ironGolemHead, $par7);
    nms_ModelRenderer_render($this.$ironGolemBody, $par7);
    nms_ModelRenderer_render($this.$ironGolemLeftLeg, $par7);
    nms_ModelRenderer_render($this.$ironGolemRightLeg, $par7);
    nms_ModelRenderer_render($this.$ironGolemRightArm, $par7);
    nms_ModelRenderer_render($this.$ironGolemLeftArm, $par7);
};
$java.nms_ModelIronGolem_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    $this.$ironGolemHead.$rotateAngleY = $par4 / 57.2957763671875;
    $this.$ironGolemHead.$rotateAngleX = $par5 / 57.2957763671875;
    $this.$ironGolemLeftLeg.$rotateAngleX = (-1.5) * $java.nms_ModelIronGolem_func_78172_a($this, $par1, 13.0) * $par2;
    $this.$ironGolemRightLeg.$rotateAngleX = 1.5 * $java.nms_ModelIronGolem_func_78172_a($this, $par1, 13.0) * $par2;
    $this.$ironGolemLeftLeg.$rotateAngleY = 0.0;
    $this.$ironGolemRightLeg.$rotateAngleY = 0.0;
};
$java.nms_ModelIronGolem_setLivingAnimations = function($this, $par1EntityLiving, $par2, $par3, $par4) {
    var $var5, $var6, $var7;
    $var5 = $par1EntityLiving;
    $var6 = $var5.$attackTimer;
    if ($var6 > 0) {
        $par1EntityLiving = $this.$ironGolemRightArm;
        $par4 = $var6 - $par4;
        $par1EntityLiving.$rotateAngleX = (-2.0) + 1.5 * $java.nms_ModelIronGolem_func_78172_a($this, $par4, 10.0);
        $this.$ironGolemLeftArm.$rotateAngleX = (-2.0) + 1.5 * $java.nms_ModelIronGolem_func_78172_a($this, $par4, 10.0);
    } else {
        $var7 = $var5.$holdRoseTick;
        if ($var7 > 0) {
            $this.$ironGolemRightArm.$rotateAngleX = (-0.800000011920929) + 0.02500000037252903 * $java.nms_ModelIronGolem_func_78172_a($this, $var7, 70.0);
            $this.$ironGolemLeftArm.$rotateAngleX = 0.0;
        } else {
            $this.$ironGolemRightArm.$rotateAngleX = ((-0.20000000298023224) + 1.5 * $java.nms_ModelIronGolem_func_78172_a($this, $par2, 13.0)) * $par3;
            $this.$ironGolemLeftArm.$rotateAngleX = ((-0.20000000298023224) - 1.5 * $java.nms_ModelIronGolem_func_78172_a($this, $par2, 13.0)) * $par3;
        }
    }
};
$java.nms_ModelIronGolem_func_78172_a = function($this, $par1, $par2) {
    $par1 = jl_Math_abs1($par1 % $par2 - $par2 * 0.5);
    $par2 = $par2 * 0.25;
    return ($par1 - $par2) / $par2;
};
function nms_ModelBat() {
    var a = this; nms_ModelBase.call(a);
    a.$batHead = null;
    a.$batBody = null;
    a.$batRightWing = null;
    a.$batLeftWing = null;
    a.$batOuterRightWing = null;
    a.$batOuterLeftWing = null;
}
function nms_ModelBat__init_0() {
    var var_0 = new nms_ModelBat();
    nms_ModelBat__init_(var_0);
    return var_0;
}
function nms_ModelBat__init_($this) {
    var $var1, $var2;
    nms_ModelBase__init_0($this);
    $this.$textureWidth = 64;
    $this.$textureHeight = 64;
    $this.$batHead = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox0($this.$batHead, (-3.0), (-3.0), (-3.0), 6, 6, 6);
    $var1 = nms_ModelRenderer__init_($this, 24, 0);
    nms_ModelRenderer_addBox0($var1, (-4.0), (-6.0), (-2.0), 3, 4, 1);
    $java.nms_ModelRenderer_addChild($this.$batHead, $var1);
    $var2 = nms_ModelRenderer__init_($this, 24, 0);
    $var2.$mirror = 1;
    nms_ModelRenderer_addBox0($var2, 1.0, (-6.0), (-2.0), 3, 4, 1);
    $java.nms_ModelRenderer_addChild($this.$batHead, $var2);
    $this.$batBody = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox0($this.$batBody, (-3.0), 4.0, (-3.0), 6, 12, 6);
    nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($this.$batBody, 0, 34), (-5.0), 16.0, 0.0, 10, 6, 1);
    $this.$batRightWing = nms_ModelRenderer__init_($this, 42, 0);
    nms_ModelRenderer_addBox0($this.$batRightWing, (-12.0), 1.0, 1.5, 10, 16, 1);
    $this.$batOuterRightWing = nms_ModelRenderer__init_($this, 24, 16);
    nms_ModelRenderer_setRotationPoint($this.$batOuterRightWing, (-12.0), 1.0, 1.5);
    nms_ModelRenderer_addBox0($this.$batOuterRightWing, (-8.0), 1.0, 0.0, 8, 12, 1);
    $this.$batLeftWing = nms_ModelRenderer__init_($this, 42, 0);
    $this.$batLeftWing.$mirror = 1;
    nms_ModelRenderer_addBox0($this.$batLeftWing, 2.0, 1.0, 1.5, 10, 16, 1);
    $this.$batOuterLeftWing = nms_ModelRenderer__init_($this, 24, 16);
    $this.$batOuterLeftWing.$mirror = 1;
    nms_ModelRenderer_setRotationPoint($this.$batOuterLeftWing, 12.0, 1.0, 1.5);
    nms_ModelRenderer_addBox0($this.$batOuterLeftWing, 0.0, 1.0, 0.0, 8, 12, 1);
    $java.nms_ModelRenderer_addChild($this.$batBody, $this.$batRightWing);
    $java.nms_ModelRenderer_addChild($this.$batBody, $this.$batLeftWing);
    $java.nms_ModelRenderer_addChild($this.$batRightWing, $this.$batOuterRightWing);
    $java.nms_ModelRenderer_addChild($this.$batLeftWing, $this.$batOuterLeftWing);
}
$java.nms_ModelBat_getBatSize = function($this) {
    return 36;
};
$java.nms_ModelBat_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    if (nms_EntityBat_getIsBatHanging($par1Entity)) {
        $this.$batHead.$rotateAngleX = $par6 / 57.2957763671875;
        $this.$batHead.$rotateAngleY = 3.1415927410125732 - $par5 / 57.2957763671875;
        $this.$batHead.$rotateAngleZ = 3.1415927410125732;
        nms_ModelRenderer_setRotationPoint($this.$batHead, 0.0, (-2.0), 0.0);
        nms_ModelRenderer_setRotationPoint($this.$batRightWing, (-3.0), 0.0, 3.0);
        nms_ModelRenderer_setRotationPoint($this.$batLeftWing, 3.0, 0.0, 3.0);
        $this.$batBody.$rotateAngleX = 3.1415927410125732;
        $this.$batRightWing.$rotateAngleX = (-0.15707963705062866);
        $this.$batRightWing.$rotateAngleY = (-1.2566370964050293);
        $this.$batOuterRightWing.$rotateAngleY = (-1.72787606716156);
        $this.$batLeftWing.$rotateAngleX = $this.$batRightWing.$rotateAngleX;
        $this.$batLeftWing.$rotateAngleY =  -$this.$batRightWing.$rotateAngleY;
        $this.$batOuterLeftWing.$rotateAngleY =  -$this.$batOuterRightWing.$rotateAngleY;
    } else {
        $this.$batHead.$rotateAngleX = $par6 / 57.2957763671875;
        $this.$batHead.$rotateAngleY = $par5 / 57.2957763671875;
        $this.$batHead.$rotateAngleZ = 0.0;
        nms_ModelRenderer_setRotationPoint($this.$batHead, 0.0, 0.0, 0.0);
        nms_ModelRenderer_setRotationPoint($this.$batRightWing, 0.0, 0.0, 0.0);
        nms_ModelRenderer_setRotationPoint($this.$batLeftWing, 0.0, 0.0, 0.0);
        $this.$batBody.$rotateAngleX = 0.7853981852531433 + nms_MathHelper_cos($par4 * 0.10000000149011612) * 0.15000000596046448;
        $this.$batBody.$rotateAngleY = 0.0;
        $this.$batRightWing.$rotateAngleY = nms_MathHelper_cos($par4 * 1.2999999523162842) * 3.1415927410125732 * 0.25;
        $this.$batLeftWing.$rotateAngleY =  -$this.$batRightWing.$rotateAngleY;
        $this.$batOuterRightWing.$rotateAngleY = $this.$batRightWing.$rotateAngleY * 0.5;
        $this.$batOuterLeftWing.$rotateAngleY =  -$this.$batRightWing.$rotateAngleY * 0.5;
    }
    nms_ModelRenderer_render($this.$batHead, $par7);
    nms_ModelRenderer_render($this.$batBody, $par7);
};
function nms_ModelDragon() {
    var a = this; nms_ModelBase.call(a);
    a.$head3 = null;
    a.$neck = null;
    a.$jaw = null;
    a.$body4 = null;
    a.$rearLeg = null;
    a.$frontLeg = null;
    a.$rearLegTip = null;
    a.$frontLegTip = null;
    a.$rearFoot = null;
    a.$frontFoot = null;
    a.$wing = null;
    a.$wingTip = null;
    a.$partialTicks = 0.0;
}
function nms_ModelDragon__init_(var_0) {
    var var_1 = new nms_ModelDragon();
    $java.nms_ModelDragon__init_(var_1, var_0);
    return var_1;
}
$java.nms_ModelDragon__init_ = function($this, $par1) {
    nms_ModelBase__init_0($this);
    $this.$textureWidth = 256;
    $this.$textureHeight = 256;
    nms_ModelBase_setTextureOffset($this, $rt_s(2089), 0, 0);
    nms_ModelBase_setTextureOffset($this, $rt_s(2090), (-56), 88);
    nms_ModelBase_setTextureOffset($this, $rt_s(2091), (-56), 144);
    nms_ModelBase_setTextureOffset($this, $rt_s(2092), 0, 0);
    nms_ModelBase_setTextureOffset($this, $rt_s(2093), 112, 0);
    nms_ModelBase_setTextureOffset($this, $rt_s(2094), 196, 0);
    nms_ModelBase_setTextureOffset($this, $rt_s(2095), 112, 30);
    nms_ModelBase_setTextureOffset($this, $rt_s(2096), 112, 88);
    nms_ModelBase_setTextureOffset($this, $rt_s(2097), 176, 44);
    nms_ModelBase_setTextureOffset($this, $rt_s(2098), 176, 65);
    nms_ModelBase_setTextureOffset($this, $rt_s(2099), 112, 104);
    nms_ModelBase_setTextureOffset($this, $rt_s(2100), 112, 136);
    nms_ModelBase_setTextureOffset($this, $rt_s(2101), 144, 104);
    nms_ModelBase_setTextureOffset($this, $rt_s(2102), 192, 104);
    nms_ModelBase_setTextureOffset($this, $rt_s(2103), 226, 138);
    nms_ModelBase_setTextureOffset($this, $rt_s(2104), 220, 53);
    nms_ModelBase_setTextureOffset($this, $rt_s(2105), 0, 0);
    nms_ModelBase_setTextureOffset($this, $rt_s(2106), 48, 0);
    nms_ModelBase_setTextureOffset($this, $rt_s(2107), 112, 0);
    $this.$head3 = nms_ModelRenderer__init_0($this, $rt_s(1592));
    nms_ModelRenderer_addBox1($this.$head3, $rt_s(2108), (-6.0), (-1.0), (-24.0), 12, 5, 16);
    nms_ModelRenderer_addBox1($this.$head3, $rt_s(2109), (-8.0), (-8.0), (-10.0), 16, 16, 16);
    $this.$head3.$mirror = 1;
    nms_ModelRenderer_addBox1($this.$head3, $rt_s(2110), (-5.0), (-12.0), (-4.0), 2, 4, 6);
    nms_ModelRenderer_addBox1($this.$head3, $rt_s(2111), (-5.0), (-3.0), (-22.0), 2, 2, 4);
    $this.$head3.$mirror = 0;
    nms_ModelRenderer_addBox1($this.$head3, $rt_s(2110), 3.0, (-12.0), (-4.0), 2, 4, 6);
    nms_ModelRenderer_addBox1($this.$head3, $rt_s(2111), 3.0, (-3.0), (-22.0), 2, 2, 4);
    $this.$jaw = nms_ModelRenderer__init_0($this, $rt_s(2112));
    nms_ModelRenderer_setRotationPoint($this.$jaw, 0.0, 4.0, (-8.0));
    nms_ModelRenderer_addBox1($this.$jaw, $rt_s(2112), (-6.0), 0.0, (-16.0), 12, 4, 16);
    $java.nms_ModelRenderer_addChild($this.$head3, $this.$jaw);
    $this.$neck = nms_ModelRenderer__init_0($this, $rt_s(2113));
    nms_ModelRenderer_addBox1($this.$neck, $rt_s(2114), (-5.0), (-5.0), (-5.0), 10, 10, 10);
    nms_ModelRenderer_addBox1($this.$neck, $rt_s(2110), (-1.0), (-9.0), (-3.0), 2, 4, 6);
    $this.$body4 = nms_ModelRenderer__init_0($this, $rt_s(1678));
    nms_ModelRenderer_setRotationPoint($this.$body4, 0.0, 4.0, 8.0);
    nms_ModelRenderer_addBox1($this.$body4, $rt_s(1678), (-12.0), 0.0, (-16.0), 24, 24, 64);
    nms_ModelRenderer_addBox1($this.$body4, $rt_s(2110), (-1.0), (-6.0), (-10.0), 2, 6, 12);
    nms_ModelRenderer_addBox1($this.$body4, $rt_s(2110), (-1.0), (-6.0), 10.0, 2, 6, 12);
    nms_ModelRenderer_addBox1($this.$body4, $rt_s(2110), (-1.0), (-6.0), 30.0, 2, 6, 12);
    $this.$wing = nms_ModelRenderer__init_0($this, $rt_s(1680));
    nms_ModelRenderer_setRotationPoint($this.$wing, (-12.0), 5.0, 2.0);
    nms_ModelRenderer_addBox1($this.$wing, $rt_s(1802), (-56.0), (-4.0), (-4.0), 56, 8, 8);
    nms_ModelRenderer_addBox1($this.$wing, $rt_s(2115), (-56.0), 0.0, 2.0, 56, 0, 56);
    $this.$wingTip = nms_ModelRenderer__init_0($this, $rt_s(2116));
    nms_ModelRenderer_setRotationPoint($this.$wingTip, (-56.0), 0.0, 0.0);
    nms_ModelRenderer_addBox1($this.$wingTip, $rt_s(1802), (-56.0), (-2.0), (-2.0), 56, 4, 4);
    nms_ModelRenderer_addBox1($this.$wingTip, $rt_s(2115), (-56.0), 0.0, 2.0, 56, 0, 56);
    $java.nms_ModelRenderer_addChild($this.$wing, $this.$wingTip);
    $this.$frontLeg = nms_ModelRenderer__init_0($this, $rt_s(2117));
    nms_ModelRenderer_setRotationPoint($this.$frontLeg, (-12.0), 20.0, 2.0);
    nms_ModelRenderer_addBox1($this.$frontLeg, $rt_s(233), (-4.0), (-4.0), (-4.0), 8, 24, 8);
    $this.$frontLegTip = nms_ModelRenderer__init_0($this, $rt_s(2118));
    nms_ModelRenderer_setRotationPoint($this.$frontLegTip, 0.0, 20.0, (-1.0));
    nms_ModelRenderer_addBox1($this.$frontLegTip, $rt_s(233), (-3.0), (-1.0), (-3.0), 6, 24, 6);
    $java.nms_ModelRenderer_addChild($this.$frontLeg, $this.$frontLegTip);
    $this.$frontFoot = nms_ModelRenderer__init_0($this, $rt_s(2119));
    nms_ModelRenderer_setRotationPoint($this.$frontFoot, 0.0, 23.0, 0.0);
    nms_ModelRenderer_addBox1($this.$frontFoot, $rt_s(233), (-4.0), 0.0, (-12.0), 8, 4, 16);
    $java.nms_ModelRenderer_addChild($this.$frontLegTip, $this.$frontFoot);
    $this.$rearLeg = nms_ModelRenderer__init_0($this, $rt_s(2120));
    nms_ModelRenderer_setRotationPoint($this.$rearLeg, (-16.0), 16.0, 42.0);
    nms_ModelRenderer_addBox1($this.$rearLeg, $rt_s(233), (-8.0), (-4.0), (-8.0), 16, 32, 16);
    $this.$rearLegTip = nms_ModelRenderer__init_0($this, $rt_s(2121));
    nms_ModelRenderer_setRotationPoint($this.$rearLegTip, 0.0, 32.0, (-4.0));
    nms_ModelRenderer_addBox1($this.$rearLegTip, $rt_s(233), (-6.0), (-2.0), 0.0, 12, 32, 12);
    $java.nms_ModelRenderer_addChild($this.$rearLeg, $this.$rearLegTip);
    $this.$rearFoot = nms_ModelRenderer__init_0($this, $rt_s(2122));
    nms_ModelRenderer_setRotationPoint($this.$rearFoot, 0.0, 31.0, 4.0);
    nms_ModelRenderer_addBox1($this.$rearFoot, $rt_s(233), (-9.0), 0.0, (-20.0), 18, 6, 24);
    $java.nms_ModelRenderer_addChild($this.$rearLegTip, $this.$rearFoot);
};
$java.nms_ModelDragon_setLivingAnimations = function($this, $par1EntityLiving, $par2, $par3, $par4) {
    $this.$partialTicks = $par4;
};
$java.nms_ModelDragon_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, var$10, $var10, $var13, $var15, $var16, $var17, $var12, $var19, var$18, $var22, $var20, $var21, $var23, var$23, $var24, $var25;
    nleg_EaglerAdapterGL30_glPushMatrix();
    $var8 = $par1Entity;
    $var9 = $var8.$prevAnimTime + ($var8.$animTime - $var8.$prevAnimTime) * $this.$partialTicks;
    $par1Entity = $this.$jaw;
    $var9 = $var9 * 3.1415927410125732 * 2.0;
    var$10 = $var9;
    $par1Entity.$rotateAngleX = (jl_Math_sin(var$10) + 1.0) * 0.20000000298023224;
    $var10 = jl_Math_sin($var9 - 1.0) + 1.0;
    $par2 = ($var10 * $var10 * 1.0 + $var10 * 2.0) * 0.05000000074505806;
    nleg_EaglerAdapterGL30_glTranslatef(0.0, $par2 - 2.0, (-3.0));
    nleg_EaglerAdapterGL30_glRotatef($par2 * 2.0, 1.0, 0.0, 0.0);
    $var13 = 0.0;
    $var15 = nms_EntityDragon_getMovementOffsets($var8, 6, $this.$partialTicks);
    $var16 = $java.nms_ModelDragon_updateRotations($this, nms_EntityDragon_getMovementOffsets($var8, 5, $this.$partialTicks).data[0] - nms_EntityDragon_getMovementOffsets($var8, 10, $this.$partialTicks).data[0]);
    $var17 = $java.nms_ModelDragon_updateRotations($this, nms_EntityDragon_getMovementOffsets($var8, 5, $this.$partialTicks).data[0] + $var16 / 2.0);
    $par5 = 20.0;
    $var12 = (-12.0);
    $var19 = 0;
    var$18 = $var17;
    while ($var19 < 5) {
        $var22 = $var15.data;
        $var20 = nms_EntityDragon_getMovementOffsets($var8, 5 - $var19 | 0, $this.$partialTicks).data;
        $var21 = jl_Math_cos($var19 * 0.44999998807907104 + $var9) * 0.15000000596046448;
        $this.$neck.$rotateAngleY = $java.nms_ModelDragon_updateRotations($this, $var20[0] - $var22[0]) * 3.1415927410125732 / 180.0 * 1.5;
        $this.$neck.$rotateAngleX = $var21 + ($var20[1] - $var22[1]) * 3.1415927410125732 / 180.0 * 1.5 * 5.0;
        $this.$neck.$rotateAngleZ =  -$java.nms_ModelDragon_updateRotations($this, $var20[0] - var$18) * 3.1415927410125732 / 180.0 * 1.5;
        $this.$neck.$rotationPointY = $par5;
        $this.$neck.$rotationPointZ = $var12;
        $this.$neck.$rotationPointX = $var13;
        $par5 = $par5 + jl_Math_sin($this.$neck.$rotateAngleX) * 10.0;
        $var12 = $var12 - jl_Math_cos($this.$neck.$rotateAngleY) * jl_Math_cos($this.$neck.$rotateAngleX) * 10.0;
        $var13 = $var13 - jl_Math_sin($this.$neck.$rotateAngleY) * jl_Math_cos($this.$neck.$rotateAngleX) * 10.0;
        nms_ModelRenderer_render($this.$neck, $par7);
        $var19 = $var19 + 1 | 0;
    }
    $var20 = $var15.data;
    $this.$head3.$rotationPointY = $par5;
    $this.$head3.$rotationPointZ = $var12;
    $this.$head3.$rotationPointX = $var13;
    $var22 = nms_EntityDragon_getMovementOffsets($var8, 0, $this.$partialTicks).data;
    $this.$head3.$rotateAngleY = $java.nms_ModelDragon_updateRotations($this, $var22[0] - $var20[0]) * 3.1415927410125732 / 180.0 * 1.0;
    $this.$head3.$rotateAngleZ =  -$java.nms_ModelDragon_updateRotations($this, $var22[0] - var$18) * 3.1415927410125732 / 180.0 * 1.0;
    nms_ModelRenderer_render($this.$head3, $par7);
    nleg_EaglerAdapterGL30_glPushMatrix();
    nleg_EaglerAdapterGL30_glTranslatef(0.0, 1.0, 0.0);
    nleg_EaglerAdapterGL30_glRotatef( -$var16 * 1.5 * 1.0, 0.0, 0.0, 1.0);
    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-1.0), 0.0);
    $this.$body4.$rotateAngleZ = 0.0;
    nms_ModelRenderer_render($this.$body4, $par7);
    $var23 = 0;
    var$23 = $var9 + 2.0;
    $par2 = $par2 * 0.10000000149011612;
    $par4 = 1.0 + $par2;
    $par5 = 0.5 + $par2;
    $par6 = 0.75 + $par2;
    $var13 = 1.2999999523162842 + $par2;
    $var21 = (-0.5) - $par2;
    while ($var23 < 2) {
        nleg_EaglerAdapterGL30_glEnable(2884);
        $this.$wing.$rotateAngleX = 0.125 - jl_Math_cos(var$10) * 0.20000000298023224;
        $this.$wing.$rotateAngleY = 0.25;
        $this.$wing.$rotateAngleZ = (jl_Math_sin(var$10) + 0.125) * 0.800000011920929;
        $this.$wingTip.$rotateAngleZ =  -(jl_Math_sin(var$23) + 0.5) * 0.75;
        $this.$rearLeg.$rotateAngleX = $par4;
        $this.$rearLegTip.$rotateAngleX = $par5;
        $this.$rearFoot.$rotateAngleX = $par6;
        $this.$frontLeg.$rotateAngleX = $var13;
        $this.$frontLegTip.$rotateAngleX = $var21;
        $this.$frontFoot.$rotateAngleX = $par6;
        nms_ModelRenderer_render($this.$wing, $par7);
        nms_ModelRenderer_render($this.$frontLeg, $par7);
        nms_ModelRenderer_render($this.$rearLeg, $par7);
        nleg_EaglerAdapterGL30_glScalef((-1.0), 1.0, 1.0);
        if (!$var23)
            nleg_EaglerAdapterGL30_glCullFace(1028);
        $var23 = $var23 + 1 | 0;
    }
    nleg_EaglerAdapterGL30_glPopMatrix();
    nleg_EaglerAdapterGL30_glCullFace(1029);
    nleg_EaglerAdapterGL30_glDisable(2884);
    $var24 =  -jl_Math_sin(var$10) * 0.0;
    $par4 = 10.0;
    $par5 = 60.0;
    $par6 = 0.0;
    $var20 = nms_EntityDragon_getMovementOffsets($var8, 11, $this.$partialTicks);
    $var25 = 0;
    while ($var25 < 12) {
        $var15 = $var20.data;
        $var22 = nms_EntityDragon_getMovementOffsets($var8, 12 + $var25 | 0, $this.$partialTicks).data;
        $var24 = $var24 + jl_Math_sin($var25 * 0.44999998807907104 + $var9) * 0.05000000074505806;
        $this.$neck.$rotateAngleY = ($java.nms_ModelDragon_updateRotations($this, $var22[0] - $var15[0]) * 1.5 + 180.0) * 3.1415927410125732 / 180.0;
        $this.$neck.$rotateAngleX = $var24 + ($var22[1] - $var15[1]) * 3.1415927410125732 / 180.0 * 1.5 * 5.0;
        $this.$neck.$rotateAngleZ = $java.nms_ModelDragon_updateRotations($this, $var22[0] - var$18) * 3.1415927410125732 / 180.0 * 1.5;
        $this.$neck.$rotationPointY = $par4;
        $this.$neck.$rotationPointZ = $par5;
        $this.$neck.$rotationPointX = $par6;
        $par4 = $par4 + jl_Math_sin($this.$neck.$rotateAngleX) * 10.0;
        $par5 = $par5 - jl_Math_cos($this.$neck.$rotateAngleY) * jl_Math_cos($this.$neck.$rotateAngleX) * 10.0;
        $par6 = $par6 - jl_Math_sin($this.$neck.$rotateAngleY) * jl_Math_cos($this.$neck.$rotateAngleX) * 10.0;
        nms_ModelRenderer_render($this.$neck, $par7);
        $var25 = $var25 + 1 | 0;
    }
    nleg_EaglerAdapterGL30_glPopMatrix();
};
$java.nms_ModelDragon_updateRotations = function($this, $par1) {
    while ($par1 >= 180.0) {
        $par1 = $par1 - 360.0;
    }
    while ($par1 < (-180.0)) {
        $par1 = $par1 + 360.0;
    }
    return $par1;
};
function nms_ModelWither() {
    var a = this; nms_ModelBase.call(a);
    a.$field_82905_a = null;
    a.$field_82904_b = null;
}
function nms_ModelWither__init_0() {
    var var_0 = new nms_ModelWither();
    nms_ModelWither__init_(var_0);
    return var_0;
}
function nms_ModelWither__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$textureWidth = 64;
    $this.$textureHeight = 64;
    $this.$field_82905_a = $rt_createArray(nms_ModelRenderer, 3);
    $this.$field_82905_a.data[0] = nms_ModelRenderer__init_($this, 0, 16);
    nms_ModelRenderer_addBox0($this.$field_82905_a.data[0], (-10.0), 3.9000000953674316, (-0.5), 20, 3, 3);
    $this.$field_82905_a.data[1] = $java.nms_ModelRenderer_setTextureSize($java.nms_ModelRenderer__init_0($this), $this.$textureWidth, $this.$textureHeight);
    nms_ModelRenderer_setRotationPoint($this.$field_82905_a.data[1], (-2.0), 6.900000095367432, (-0.5));
    nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($this.$field_82905_a.data[1], 0, 22), 0.0, 0.0, 0.0, 3, 10, 3);
    nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($this.$field_82905_a.data[1], 24, 22), (-4.0), 1.5, 0.5, 11, 2, 2);
    nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($this.$field_82905_a.data[1], 24, 22), (-4.0), 4.0, 0.5, 11, 2, 2);
    nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($this.$field_82905_a.data[1], 24, 22), (-4.0), 6.5, 0.5, 11, 2, 2);
    $this.$field_82905_a.data[2] = nms_ModelRenderer__init_($this, 12, 22);
    nms_ModelRenderer_addBox0($this.$field_82905_a.data[2], 0.0, 0.0, 0.0, 3, 6, 3);
    $this.$field_82904_b = $rt_createArray(nms_ModelRenderer, 3);
    $this.$field_82904_b.data[0] = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox0($this.$field_82904_b.data[0], (-4.0), (-4.0), (-4.0), 8, 8, 8);
    $this.$field_82904_b.data[1] = nms_ModelRenderer__init_($this, 32, 0);
    nms_ModelRenderer_addBox0($this.$field_82904_b.data[1], (-4.0), (-4.0), (-4.0), 6, 6, 6);
    $this.$field_82904_b.data[1].$rotationPointX = (-8.0);
    $this.$field_82904_b.data[1].$rotationPointY = 4.0;
    $this.$field_82904_b.data[2] = nms_ModelRenderer__init_($this, 32, 0);
    nms_ModelRenderer_addBox0($this.$field_82904_b.data[2], (-4.0), (-4.0), (-4.0), 6, 6, 6);
    $this.$field_82904_b.data[2].$rotationPointX = 10.0;
    $this.$field_82904_b.data[2].$rotationPointY = 4.0;
}
$java.nms_ModelWither_func_82903_a = function($this) {
    return 32;
};
$java.nms_ModelWither_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var10;
    $java.nms_ModelWither_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    $var8 = $this.$field_82904_b.data;
    $var9 = $var8.length;
    $var10 = 0;
    while ($var10 < $var9) {
        nms_ModelRenderer_render($var8[$var10], $par7);
        $var10 = $var10 + 1 | 0;
    }
    $var8 = $this.$field_82905_a.data;
    $var10 = $var8.length;
    $var9 = 0;
    while ($var9 < $var10) {
        nms_ModelRenderer_render($var8[$var9], $par7);
        $var9 = $var9 + 1 | 0;
    }
};
$java.nms_ModelWither_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var8;
    $var8 = nms_MathHelper_cos($par3 * 0.10000000149011612);
    $this.$field_82905_a.data[1].$rotateAngleX = (0.06499999761581421 + 0.05000000074505806 * $var8) * 3.1415927410125732;
    nms_ModelRenderer_setRotationPoint($this.$field_82905_a.data[2], (-2.0), 6.900000095367432 + nms_MathHelper_cos($this.$field_82905_a.data[1].$rotateAngleX) * 10.0, (-0.5) + nms_MathHelper_sin($this.$field_82905_a.data[1].$rotateAngleX) * 10.0);
    $this.$field_82905_a.data[2].$rotateAngleX = (0.26499998569488525 + 0.10000000149011612 * $var8) * 3.1415927410125732;
    $this.$field_82904_b.data[0].$rotateAngleY = $par4 / 57.2957763671875;
    $this.$field_82904_b.data[0].$rotateAngleX = $par5 / 57.2957763671875;
};
$java.nms_ModelWither_setLivingAnimations = function($this, $par1EntityLiving, $par2, $par3, $par4) {
    var $var5, $var6, var$7, var$8;
    $var5 = $par1EntityLiving;
    $var6 = 1;
    while ($var6 < 3) {
        var$7 = $this.$field_82904_b.data[$var6];
        var$8 = $var6 - 1 | 0;
        var$7.$rotateAngleY = (nms_EntityWither_func_82207_a($var5, var$8) - $par1EntityLiving.$renderYawOffset) / 57.2957763671875;
        $this.$field_82904_b.data[$var6].$rotateAngleX = nms_EntityWither_func_82210_r($var5, var$8) / 57.2957763671875;
        $var6 = $var6 + 1 | 0;
    }
};
function nms_ModelSkeletonHead() {
    nms_ModelBase.call(this);
    this.$skeletonHead = null;
}
function nms_ModelSkeletonHead__init_0() {
    var var_0 = new nms_ModelSkeletonHead();
    nms_ModelSkeletonHead__init_(var_0);
    return var_0;
}
$java.nms_ModelSkeletonHead__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_ModelSkeletonHead();
    $java.nms_ModelSkeletonHead__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
function nms_ModelSkeletonHead__init_($this) {
    $java.nms_ModelSkeletonHead__init_0($this, 0, 35, 64, 64);
}
$java.nms_ModelSkeletonHead__init_0 = function($this, $par1, $par2, $par3, $par4) {
    nms_ModelBase__init_0($this);
    $this.$textureWidth = $par3;
    $this.$textureHeight = $par4;
    $this.$skeletonHead = nms_ModelRenderer__init_($this, $par1, $par2);
    nms_ModelRenderer_addBox($this.$skeletonHead, (-4.0), (-8.0), (-4.0), 8, 8, 8, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$skeletonHead, 0.0, 0.0, 0.0);
};
function nms_ModelSkeletonHead_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    $java.nms_ModelSkeletonHead_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    nms_ModelRenderer_render($this.$skeletonHead, $par7);
}
$java.nms_ModelSkeletonHead_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    $this.$skeletonHead.$rotateAngleY = $par4 / 57.2957763671875;
    $this.$skeletonHead.$rotateAngleX = $par5 / 57.2957763671875;
};
function nms_ModelMinecart() {
    nms_ModelBase.call(this);
    this.$sideModels = null;
}
function nms_ModelMinecart__init_0() {
    var var_0 = new nms_ModelMinecart();
    nms_ModelMinecart__init_(var_0);
    return var_0;
}
function nms_ModelMinecart__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$sideModels = $rt_createArray(nms_ModelRenderer, 7);
    $this.$sideModels.data[0] = nms_ModelRenderer__init_($this, 0, 10);
    $this.$sideModels.data[1] = nms_ModelRenderer__init_($this, 0, 0);
    $this.$sideModels.data[2] = nms_ModelRenderer__init_($this, 0, 0);
    $this.$sideModels.data[3] = nms_ModelRenderer__init_($this, 0, 0);
    $this.$sideModels.data[4] = nms_ModelRenderer__init_($this, 0, 0);
    $this.$sideModels.data[5] = nms_ModelRenderer__init_($this, 44, 10);
    nms_ModelRenderer_addBox($this.$sideModels.data[0], (-10.0), (-8.0), (-1.0), 20, 16, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$sideModels.data[0], 0.0, 4.0, 0.0);
    nms_ModelRenderer_addBox($this.$sideModels.data[5], (-9.0), (-7.0), (-1.0), 18, 14, 1, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$sideModels.data[5], 0.0, 4.0, 0.0);
    nms_ModelRenderer_addBox($this.$sideModels.data[1], (-8.0), (-9.0), (-1.0), 16, 8, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$sideModels.data[1], (-9.0), 4.0, 0.0);
    nms_ModelRenderer_addBox($this.$sideModels.data[2], (-8.0), (-9.0), (-1.0), 16, 8, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$sideModels.data[2], 9.0, 4.0, 0.0);
    nms_ModelRenderer_addBox($this.$sideModels.data[3], (-8.0), (-9.0), (-1.0), 16, 8, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$sideModels.data[3], 0.0, 4.0, (-7.0));
    nms_ModelRenderer_addBox($this.$sideModels.data[4], (-8.0), (-9.0), (-1.0), 16, 8, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$sideModels.data[4], 0.0, 4.0, 7.0);
    $this.$sideModels.data[0].$rotateAngleX = 1.5707963705062866;
    $this.$sideModels.data[1].$rotateAngleY = 4.71238899230957;
    $this.$sideModels.data[2].$rotateAngleY = 1.5707963705062866;
    $this.$sideModels.data[3].$rotateAngleY = 3.1415927410125732;
    $this.$sideModels.data[5].$rotateAngleX = (-1.5707963705062866);
}
function nms_ModelMinecart_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $this.$sideModels.data[5].$rotationPointY = 4.0 - $par4;
    $var8 = 0;
    while ($var8 < 6) {
        nms_ModelRenderer_render($this.$sideModels.data[$var8], $par7);
        $var8 = $var8 + 1 | 0;
    }
}
function nms_ModelBoat() {
    nms_ModelBase.call(this);
    this.$boatSides = null;
}
function nms_ModelBoat__init_0() {
    var var_0 = new nms_ModelBoat();
    nms_ModelBoat__init_(var_0);
    return var_0;
}
function nms_ModelBoat__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$boatSides = $rt_createArray(nms_ModelRenderer, 5);
    $this.$boatSides.data[0] = nms_ModelRenderer__init_($this, 0, 8);
    $this.$boatSides.data[1] = nms_ModelRenderer__init_($this, 0, 0);
    $this.$boatSides.data[2] = nms_ModelRenderer__init_($this, 0, 0);
    $this.$boatSides.data[3] = nms_ModelRenderer__init_($this, 0, 0);
    $this.$boatSides.data[4] = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$boatSides.data[0], (-12.0), (-8.0), (-3.0), 24, 16, 4, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$boatSides.data[0], 0.0, 4.0, 0.0);
    nms_ModelRenderer_addBox($this.$boatSides.data[1], (-10.0), (-7.0), (-1.0), 20, 6, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$boatSides.data[1], (-11.0), 4.0, 0.0);
    nms_ModelRenderer_addBox($this.$boatSides.data[2], (-10.0), (-7.0), (-1.0), 20, 6, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$boatSides.data[2], 11.0, 4.0, 0.0);
    nms_ModelRenderer_addBox($this.$boatSides.data[3], (-10.0), (-7.0), (-1.0), 20, 6, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$boatSides.data[3], 0.0, 4.0, (-9.0));
    nms_ModelRenderer_addBox($this.$boatSides.data[4], (-10.0), (-7.0), (-1.0), 20, 6, 2, 0.0);
    nms_ModelRenderer_setRotationPoint($this.$boatSides.data[4], 0.0, 4.0, 9.0);
    $this.$boatSides.data[0].$rotateAngleX = 1.5707963705062866;
    $this.$boatSides.data[1].$rotateAngleY = 4.71238899230957;
    $this.$boatSides.data[2].$rotateAngleY = 1.5707963705062866;
    $this.$boatSides.data[3].$rotateAngleY = 3.1415927410125732;
}
function nms_ModelBoat_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = 0;
    while ($var8 < 5) {
        nms_ModelRenderer_render($this.$boatSides.data[$var8], $par7);
        $var8 = $var8 + 1 | 0;
    }
}
function nlea_EaglerAdapterImpl2$FramebufferGL() {
    jl_Object.call(this);
    this.$obj4 = null;
}
function nle_EaglerProfile$EaglerProfileSkin() {
    var a = this; jl_Object.call(a);
    a.$name5 = null;
    a.$data6 = null;
    a.$slim = 0;
    a.$glTex = 0;
}
function ju_Arrays$NaturalOrder() {
    jl_Object.call(this);
}
$java.ju_Arrays$NaturalOrder__init_ = function() {
    var var_0 = new ju_Arrays$NaturalOrder();
    ju_Arrays$NaturalOrder__init_(var_0);
    return var_0;
};
function ju_Arrays$NaturalOrder__init_($this) {
    return;
}
$java.ju_Arrays$NaturalOrder_compare = function($this, $o1, $o2) {
    if ($o1 !== null)
        return $o1.$compareTo7($o2);
    if ($o2 === null)
        return 0;
    return $o2.$compareTo7($o1);
};
function ju_Collections$_clinit_$lambda$_61_0() {
    jl_Object.call(this);
}
$java.ju_Collections$_clinit_$lambda$_61_0__init_ = function() {
    var var_0 = new ju_Collections$_clinit_$lambda$_61_0();
    ju_Collections$_clinit_$lambda$_61_0__init_(var_0);
    return var_0;
};
function ju_Collections$_clinit_$lambda$_61_0__init_(var$0) {
    return;
}
$java.ju_Collections$_clinit_$lambda$_61_0_compare = function(var$0, var$1, var$2) {
    return var$1 !== null ? var$1.$compareTo7(var$2) :  -var$2.$compareTo7(var$1);
};
function ju_Collections$_clinit_$lambda$_61_1() {
    jl_Object.call(this);
}
$java.ju_Collections$_clinit_$lambda$_61_1__init_ = function() {
    var var_0 = new ju_Collections$_clinit_$lambda$_61_1();
    ju_Collections$_clinit_$lambda$_61_1__init_(var_0);
    return var_0;
};
function ju_Collections$_clinit_$lambda$_61_1__init_(var$0) {
    return;
}
function jl_Object$monitorEnterWait$lambda$_6_0() {
    var a = this; jl_Object.call(a);
    a.$_0 = null;
    a.$_1 = null;
    a.$_2 = 0;
    a.$_3 = null;
}
function jl_Object$monitorEnterWait$lambda$_6_0_run(var$0) {
    var var$1, var$2, var$3, var$4;
    var$1 = var$0.$_0;
    var$2 = var$0.$_1;
    var$3 = var$0.$_2;
    var$4 = var$0.$_3;
    jl_Thread_setCurrentThread(var$1);
    var$2.$monitor.$owner = var$1;
    var$1 = var$2.$monitor;
    var$1.$count = var$1.$count + var$3 | 0;
    otpp_AsyncCallbackWrapper_complete(var$4, null);
}
function ji_UnsupportedEncodingException() {
    ji_IOException.call(this);
}
$java.ji_UnsupportedEncodingException__init_ = function() {
    var var_0 = new ji_UnsupportedEncodingException();
    ji_UnsupportedEncodingException__init_(var_0);
    return var_0;
};
function ji_UnsupportedEncodingException__init_($this) {
    jl_Throwable__init_0($this);
}
function nms_ItemTool() {
    var a = this; nms_Item.call(a);
    a.$blocksEffectiveAgainst = null;
    a.$efficiencyOnProperMaterial = 0.0;
    a.$damageVsEntity = 0;
    a.$toolMaterial = null;
}
$java.nms_ItemTool__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_ItemTool();
    $java.nms_ItemTool__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_ItemTool__init_0 = function($this, $par1, $par2, $par3EnumToolMaterial, $par4ArrayOfBlock) {
    nms_Item__init_0($this, $par1);
    $this.$efficiencyOnProperMaterial = 4.0;
    $this.$toolMaterial = $par3EnumToolMaterial;
    $this.$blocksEffectiveAgainst = $par4ArrayOfBlock;
    $this.$maxStackSize = 1;
    $this.$maxDamage = $par3EnumToolMaterial.$maxUses;
    $this.$efficiencyOnProperMaterial = $par3EnumToolMaterial.$efficiencyOnProperMaterial0;
    $this.$damageVsEntity = $par2 + $par3EnumToolMaterial.$damageVsEntity0 | 0;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabTools;
};
$java.nms_ItemTool_getStrVsBlock = function($this, $par1ItemStack, $par2Block) {
    var $var3;
    $var3 = 0;
    while ($var3 < $this.$blocksEffectiveAgainst.data.length) {
        if ($this.$blocksEffectiveAgainst.data[$var3] === $par2Block)
            return $this.$efficiencyOnProperMaterial;
        $var3 = $var3 + 1 | 0;
    }
    return 1.0;
};
$java.nms_ItemTool_hitEntity = function($this, $par1ItemStack, $par2EntityLiving, $par3EntityLiving) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3EntityLiving = $thread.pop();$par2EntityLiving = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = 2;
        $ptr = 1;
    case 1:
        nms_ItemStack_damageItem($par1ItemStack, var$4, $par3EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityLiving, $par3EntityLiving, var$4, $ptr);
};
$java.nms_ItemTool_onBlockDestroyed = function($this, $par1ItemStack, $par2World, $par3, $par4, $par5, $par6, $par7EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7EntityLiving = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2World = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Block_$callClinit();
        if (nms_Block_blocksList.data[$par3].$blockHardness === 0.0)
            return 1;
        $par3 = 1;
        $ptr = 1;
    case 1:
        nms_ItemStack_damageItem($par1ItemStack, $par3, $par7EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2World, $par3, $par4, $par5, $par6, $par7EntityLiving, $ptr);
};
$java.nms_ItemTool_getDamageVsEntity = function($this, $par1Entity) {
    return $this.$damageVsEntity;
};
$java.nms_ItemTool_isFull3D = function($this) {
    return 1;
};
$java.nms_ItemTool_getItemEnchantability = function($this) {
    return $this.$toolMaterial.$enchantability;
};
$java.nms_ItemTool_getToolMaterialName = function($this) {
    return jl_Enum_toString($this.$toolMaterial);
};
$java.nms_ItemTool_getIsRepairable = function($this, $par1ItemStack, $par2ItemStack) {
    return $java.nms_EnumToolMaterial_getToolCraftingMaterial($this.$toolMaterial) == $par2ItemStack.$itemID0 ? 1 : 0;
};
function nms_ItemSpade() {
    nms_ItemTool.call(this);
}
$java.nms_ItemSpade_blocksEffectiveAgainst = null;
$java.nms_ItemSpade_$callClinit = function() {
    $java.nms_ItemSpade_$callClinit = $rt_eraseClinit(nms_ItemSpade);
    $java.nms_ItemSpade__clinit_();
};
function nms_ItemSpade__init_(var_0, var_1) {
    var var_2 = new nms_ItemSpade();
    $java.nms_ItemSpade__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemSpade__init_ = function($this, $par1, $par2EnumToolMaterial) {
    $java.nms_ItemSpade_$callClinit();
    $java.nms_ItemTool__init_0($this, $par1, 1, $par2EnumToolMaterial, $java.nms_ItemSpade_blocksEffectiveAgainst);
};
$java.nms_ItemSpade_canHarvestBlock = function($this, $par1Block) {
    nms_Block_$callClinit();
    return $par1Block === nms_Block_snow ? 1 : $par1Block !== nms_Block_blockSnow ? 0 : 1;
};
$java.nms_ItemSpade__clinit_ = function() {
    var var$1, var$2;
    var$1 = $rt_createArray(nms_Block, 10);
    var$2 = var$1.data;
    nms_Block_$callClinit();
    var$2[0] = nms_Block_grass;
    var$2[1] = nms_Block_dirt;
    var$2[2] = nms_Block_sand;
    var$2[3] = nms_Block_gravel;
    var$2[4] = nms_Block_snow;
    var$2[5] = nms_Block_blockSnow;
    var$2[6] = nms_Block_blockClay;
    var$2[7] = nms_Block_tilledField;
    var$2[8] = nms_Block_slowSand;
    var$2[9] = nms_Block_mycelium;
    $java.nms_ItemSpade_blocksEffectiveAgainst = var$1;
};
function nms_EnumToolMaterial() {
    var a = this; jl_Enum.call(a);
    a.$harvestLevel = 0;
    a.$maxUses = 0;
    a.$efficiencyOnProperMaterial0 = 0.0;
    a.$damageVsEntity0 = 0;
    a.$enchantability = 0;
}
var nms_EnumToolMaterial_WOOD = null;
var nms_EnumToolMaterial_STONE = null;
var nms_EnumToolMaterial_IRON = null;
var nms_EnumToolMaterial_EMERALD = null;
var nms_EnumToolMaterial_GOLD = null;
$java.nms_EnumToolMaterial_$VALUES = null;
$java.nms_EnumToolMaterial__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EnumToolMaterial();
    $java.nms_EnumToolMaterial__init_0(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
};
$java.nms_EnumToolMaterial__init_0 = function($this, var$1, var$2, $par3, $par4, $par5, $par6, $par7) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$harvestLevel = $par3;
    $this.$maxUses = $par4;
    $this.$efficiencyOnProperMaterial0 = $par5;
    $this.$damageVsEntity0 = $par6;
    $this.$enchantability = $par7;
};
$java.nms_EnumToolMaterial_getMaxUses = function($this) {
    return $this.$maxUses;
};
$java.nms_EnumToolMaterial_getEfficiencyOnProperMaterial = function($this) {
    return $this.$efficiencyOnProperMaterial0;
};
$java.nms_EnumToolMaterial_getDamageVsEntity = function($this) {
    return $this.$damageVsEntity0;
};
$java.nms_EnumToolMaterial_getHarvestLevel = function($this) {
    return $this.$harvestLevel;
};
$java.nms_EnumToolMaterial_getEnchantability = function($this) {
    return $this.$enchantability;
};
$java.nms_EnumToolMaterial_getToolCraftingMaterial = function($this) {
    var var$1;
    if ($this === nms_EnumToolMaterial_WOOD) {
        nms_Block_$callClinit();
        var$1 = nms_Block_planks.$blockID;
    } else if ($this === nms_EnumToolMaterial_STONE) {
        nms_Block_$callClinit();
        var$1 = nms_Block_cobblestone.$blockID;
    } else if ($this === nms_EnumToolMaterial_GOLD) {
        nms_Item_$callClinit();
        var$1 = nms_Item_ingotGold.$itemID;
    } else if ($this === nms_EnumToolMaterial_IRON) {
        nms_Item_$callClinit();
        var$1 = nms_Item_ingotIron.$itemID;
    } else if ($this !== nms_EnumToolMaterial_EMERALD)
        var$1 = 0;
    else {
        nms_Item_$callClinit();
        var$1 = nms_Item_diamond.$itemID;
    }
    return var$1;
};
function nms_EnumToolMaterial__clinit_() {
    var var$1, var$2;
    nms_EnumToolMaterial_WOOD = $java.nms_EnumToolMaterial__init_($rt_s(2123), 0, 0, 59, 2.0, 0, 15);
    nms_EnumToolMaterial_STONE = $java.nms_EnumToolMaterial__init_($rt_s(2124), 1, 1, 131, 4.0, 1, 5);
    nms_EnumToolMaterial_IRON = $java.nms_EnumToolMaterial__init_($rt_s(2125), 2, 2, 250, 6.0, 2, 14);
    nms_EnumToolMaterial_EMERALD = $java.nms_EnumToolMaterial__init_($rt_s(2126), 3, 3, 1561, 8.0, 3, 10);
    nms_EnumToolMaterial_GOLD = $java.nms_EnumToolMaterial__init_($rt_s(2127), 4, 0, 32, 12.0, 0, 22);
    var$1 = $rt_createArray(nms_EnumToolMaterial, 5);
    var$2 = var$1.data;
    var$2[0] = nms_EnumToolMaterial_WOOD;
    var$2[1] = nms_EnumToolMaterial_STONE;
    var$2[2] = nms_EnumToolMaterial_IRON;
    var$2[3] = nms_EnumToolMaterial_EMERALD;
    var$2[4] = nms_EnumToolMaterial_GOLD;
    $java.nms_EnumToolMaterial_$VALUES = var$1;
}
function nms_ItemPickaxe() {
    nms_ItemTool.call(this);
}
$java.nms_ItemPickaxe_blocksEffectiveAgainst = null;
$java.nms_ItemPickaxe_$callClinit = function() {
    $java.nms_ItemPickaxe_$callClinit = $rt_eraseClinit(nms_ItemPickaxe);
    $java.nms_ItemPickaxe__clinit_();
};
function nms_ItemPickaxe__init_(var_0, var_1) {
    var var_2 = new nms_ItemPickaxe();
    $java.nms_ItemPickaxe__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemPickaxe__init_ = function($this, $par1, $par2EnumToolMaterial) {
    $java.nms_ItemPickaxe_$callClinit();
    $java.nms_ItemTool__init_0($this, $par1, 2, $par2EnumToolMaterial, $java.nms_ItemPickaxe_blocksEffectiveAgainst);
};
$java.nms_ItemPickaxe_canHarvestBlock = function($this, $par1Block) {
    var var$2, var$3;
    nms_Block_$callClinit();
    if ($par1Block === nms_Block_obsidian)
        var$2 = $this.$toolMaterial.$harvestLevel != 3 ? 0 : 1;
    else if ($par1Block !== nms_Block_blockDiamond && $par1Block !== nms_Block_oreDiamond) {
        if ($par1Block !== nms_Block_oreEmerald && $par1Block !== nms_Block_blockEmerald) {
            if ($par1Block !== nms_Block_blockGold && $par1Block !== nms_Block_oreGold) {
                if ($par1Block !== nms_Block_blockIron && $par1Block !== nms_Block_oreIron) {
                    if ($par1Block !== nms_Block_blockLapis && $par1Block !== nms_Block_oreLapis) {
                        if ($par1Block !== nms_Block_oreRedstone && $par1Block !== nms_Block_oreRedstoneGlowing) {
                            var$3 = $par1Block.$blockMaterial;
                            nms_Material_$callClinit();
                            var$2 = var$3 === nms_Material_rock ? 1 : $par1Block.$blockMaterial === nms_Material_iron ? 1 : $par1Block.$blockMaterial !== $java.nms_Material_anvil ? 0 : 1;
                        } else
                            var$2 = $this.$toolMaterial.$harvestLevel < 2 ? 0 : 1;
                    } else
                        var$2 = $this.$toolMaterial.$harvestLevel < 1 ? 0 : 1;
                } else
                    var$2 = $this.$toolMaterial.$harvestLevel < 1 ? 0 : 1;
            } else
                var$2 = $this.$toolMaterial.$harvestLevel < 2 ? 0 : 1;
        } else
            var$2 = $this.$toolMaterial.$harvestLevel < 2 ? 0 : 1;
    } else
        var$2 = $this.$toolMaterial.$harvestLevel < 2 ? 0 : 1;
    return var$2;
};
$java.nms_ItemPickaxe_getStrVsBlock = function($this, $par1ItemStack, $par2Block) {
    var var$3, var$4;
    a: {
        b: {
            if ($par2Block !== null) {
                var$3 = $par2Block.$blockMaterial;
                nms_Material_$callClinit();
                if (var$3 === nms_Material_iron)
                    break b;
                if ($par2Block.$blockMaterial === $java.nms_Material_anvil)
                    break b;
                if ($par2Block.$blockMaterial === nms_Material_rock)
                    break b;
            }
            var$4 = $java.nms_ItemTool_getStrVsBlock($this, $par1ItemStack, $par2Block);
            break a;
        }
        var$4 = $this.$efficiencyOnProperMaterial;
    }
    return var$4;
};
$java.nms_ItemPickaxe__clinit_ = function() {
    var var$1, var$2;
    var$1 = $rt_createArray(nms_Block, 23);
    var$2 = var$1.data;
    nms_Block_$callClinit();
    var$2[0] = nms_Block_cobblestone;
    var$2[1] = nms_Block_stoneDoubleSlab;
    var$2[2] = nms_Block_stoneSingleSlab;
    var$2[3] = nms_Block_stone;
    var$2[4] = nms_Block_sandStone;
    var$2[5] = nms_Block_cobblestoneMossy;
    var$2[6] = nms_Block_oreIron;
    var$2[7] = nms_Block_blockIron;
    var$2[8] = nms_Block_oreCoal;
    var$2[9] = nms_Block_blockGold;
    var$2[10] = nms_Block_oreGold;
    var$2[11] = nms_Block_oreDiamond;
    var$2[12] = nms_Block_blockDiamond;
    var$2[13] = nms_Block_ice;
    var$2[14] = nms_Block_netherrack;
    var$2[15] = nms_Block_oreLapis;
    var$2[16] = nms_Block_blockLapis;
    var$2[17] = nms_Block_oreRedstone;
    var$2[18] = nms_Block_oreRedstoneGlowing;
    var$2[19] = nms_Block_rail;
    var$2[20] = nms_Block_railDetector;
    var$2[21] = nms_Block_railPowered;
    var$2[22] = nms_Block_railActivator;
    $java.nms_ItemPickaxe_blocksEffectiveAgainst = var$1;
};
function nms_ItemAxe() {
    nms_ItemTool.call(this);
}
$java.nms_ItemAxe_blocksEffectiveAgainst = null;
$java.nms_ItemAxe_$callClinit = function() {
    $java.nms_ItemAxe_$callClinit = $rt_eraseClinit(nms_ItemAxe);
    $java.nms_ItemAxe__clinit_();
};
function nms_ItemAxe__init_(var_0, var_1) {
    var var_2 = new nms_ItemAxe();
    $java.nms_ItemAxe__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemAxe__init_ = function($this, $par1, $par2EnumToolMaterial) {
    $java.nms_ItemAxe_$callClinit();
    $java.nms_ItemTool__init_0($this, $par1, 3, $par2EnumToolMaterial, $java.nms_ItemAxe_blocksEffectiveAgainst);
};
$java.nms_ItemAxe_getStrVsBlock = function($this, $par1ItemStack, $par2Block) {
    var var$3, var$4;
    a: {
        b: {
            if ($par2Block !== null) {
                var$3 = $par2Block.$blockMaterial;
                nms_Material_$callClinit();
                if (var$3 === nms_Material_wood)
                    break b;
                if ($par2Block.$blockMaterial === $java.nms_Material_plants)
                    break b;
                if ($par2Block.$blockMaterial === $java.nms_Material_vine)
                    break b;
            }
            var$4 = $java.nms_ItemTool_getStrVsBlock($this, $par1ItemStack, $par2Block);
            break a;
        }
        var$4 = $this.$efficiencyOnProperMaterial;
    }
    return var$4;
};
$java.nms_ItemAxe__clinit_ = function() {
    var var$1, var$2;
    var$1 = $rt_createArray(nms_Block, 8);
    var$2 = var$1.data;
    nms_Block_$callClinit();
    var$2[0] = nms_Block_planks;
    var$2[1] = nms_Block_bookShelf;
    var$2[2] = nms_Block_wood;
    var$2[3] = nms_Block_chest;
    var$2[4] = nms_Block_stoneDoubleSlab;
    var$2[5] = nms_Block_stoneSingleSlab;
    var$2[6] = nms_Block_pumpkin;
    var$2[7] = nms_Block_pumpkinLantern;
    $java.nms_ItemAxe_blocksEffectiveAgainst = var$1;
};
function nms_ItemFlintAndSteel() {
    nms_Item.call(this);
}
function nms_ItemFlintAndSteel__init_(var_0) {
    var var_1 = new nms_ItemFlintAndSteel();
    $java.nms_ItemFlintAndSteel__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemFlintAndSteel__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 1;
    $this.$maxDamage = 64;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabTools;
};
$java.nms_ItemFlintAndSteel_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var var$11, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par7)
            $par5 = $par5 + (-1) | 0;
        if ($par7 == 1)
            $par5 = $par5 + 1 | 0;
        if ($par7 == 2)
            $par6 = $par6 + (-1) | 0;
        if ($par7 == 3)
            $par6 = $par6 + 1 | 0;
        if ($par7 == 4)
            $par4 = $par4 + (-1) | 0;
        if ($par7 == 5)
            $par4 = $par4 + 1 | 0;
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        if (nms_World_getBlockId($par3World, $par4, $par5, $par6)) {
            $par4 = 1;
            $ptr = 1;
            continue main;
        }
        var$11 = $par4 + 0.5;
        var$12 = $par5 + 0.5;
        var$13 = $par6 + 0.5;
        nms_Item_$callClinit();
        nms_World_playSoundEffect($par3World, var$11, var$12, var$13, $rt_s(2128), 1.0, nle_EaglercraftRandom_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929);
        nms_Block_$callClinit();
        $par7 = nms_Block_fire.$blockID;
        $ptr = 2;
        continue main;
    case 1:
        nms_ItemStack_damageItem($par1ItemStack, $par4, $par2EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    case 2:
        nms_World_setBlock0($par3World, $par4, $par5, $par6, $par7);
        if ($rt_suspending()) {
            break main;
        }
        $par4 = 1;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, var$11, var$12, var$13, $ptr);
};
function nms_ItemFood() {
    var a = this; nms_Item.call(a);
    a.$itemUseDuration = 0;
    a.$healAmount = 0;
    a.$saturationModifier = 0.0;
    a.$isWolfsFavoriteMeat = 0;
    a.$alwaysEdible = 0;
    a.$potionId = 0;
    a.$potionDuration = 0;
    a.$potionAmplifier = 0;
    a.$potionEffectProbability = 0.0;
}
function nms_ItemFood__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_ItemFood();
    $java.nms_ItemFood__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nms_ItemFood__init_ = function($this, $par1, $par2, $par3, $par4) {
    nms_Item__init_0($this, $par1);
    $this.$itemUseDuration = 32;
    $this.$healAmount = $par2;
    $this.$isWolfsFavoriteMeat = $par4;
    $this.$saturationModifier = $par3;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabFood;
};
$java.nms_ItemFood_onEaten = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    $java.nms_FoodStats_addStats($par3EntityPlayer.$foodStats, $this);
    nms_World_playSoundAtEntity($par2World, $par3EntityPlayer, $rt_s(2129), 0.5, nle_EaglercraftRandom_nextFloat($par2World.$rand) * 0.10000000149011612 + 0.8999999761581421);
    $this.$onFoodEaten0($par1ItemStack, $par2World, $par3EntityPlayer);
    return $par1ItemStack;
};
$java.nms_ItemFood_onFoodEaten = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    return;
};
$java.nms_ItemFood_getMaxItemUseDuration = function($this, $par1ItemStack) {
    return 32;
};
$java.nms_ItemFood_getItemUseAction = function($this, $par1ItemStack) {
    return nms_EnumAction_eat;
};
$java.nms_ItemFood_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    if (nms_EntityPlayer_canEat($par3EntityPlayer, $this.$alwaysEdible))
        nms_EntityPlayer_setItemInUse($par3EntityPlayer, $par1ItemStack, 32);
    return $par1ItemStack;
};
$java.nms_ItemFood_getHealAmount = function($this) {
    return $this.$healAmount;
};
$java.nms_ItemFood_getSaturationModifier = function($this) {
    return $this.$saturationModifier;
};
$java.nms_ItemFood_isWolfsFavoriteMeat = function($this) {
    return $this.$isWolfsFavoriteMeat;
};
function nms_ItemFood_setPotionEffect($this, $par1, $par2, $par3, $par4) {
    $this.$potionId = $par1;
    $this.$potionDuration = $par2;
    $this.$potionAmplifier = $par3;
    $this.$potionEffectProbability = $par4;
    return $this;
}
function nms_ItemFood_setAlwaysEdible($this) {
    $this.$alwaysEdible = 1;
    return $this;
}
function nms_ItemBow() {
    nms_Item.call(this);
    this.$iconArray = null;
}
$java.nms_ItemBow_bowPullIconNameArray = null;
function nms_ItemBow__init_(var_0) {
    var var_1 = new nms_ItemBow();
    $java.nms_ItemBow__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemBow__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 1;
    $this.$maxDamage = 384;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabCombat;
};
$java.nms_ItemBow_onPlayerStoppedUsing = function($this, $par1ItemStack, $par2World, $par3EntityPlayer, $par4) {
    var $var5, var$6, $var7, var$8, $var8, $var9, $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3EntityPlayer = $thread.pop();$par2World = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if (!$par3EntityPlayer.$capabilities.$isCreativeMode) {
                nms_Enchantment_$callClinit();
                if (nms_EnchantmentHelper_getEnchantmentLevel($java.nms_Enchantment_infinity.$effectId, $par1ItemStack) <= 0) {
                    $var5 = 0;
                    break a;
                }
            }
            $var5 = 1;
        }
        if (!$var5) {
            var$6 = $par3EntityPlayer.$inventory;
            nms_Item_$callClinit();
            if (!nms_InventoryPlayer_hasItem(var$6, nms_Item_arrow.$itemID))
                return;
        }
        $var7 = (72000 - $par4 | 0) / 20.0;
        var$8 = ($var7 * $var7 + $var7 * 2.0) / 3.0;
        if (var$8 < 0.1)
            return;
        if (var$8 > 1.0)
            var$8 = 1.0;
        $var8 = nms_EntityArrow__init_3($par2World, $par3EntityPlayer, var$8 * 2.0);
        if (var$8 === 1.0)
            nms_EntityArrow_setIsCritical($var8, 1);
        nms_Enchantment_$callClinit();
        $var9 = nms_EnchantmentHelper_getEnchantmentLevel($java.nms_Enchantment_power.$effectId, $par1ItemStack);
        if ($var9 > 0)
            $var8.$damage = $var8.$damage + $var9 * 0.5 + 0.5;
        $var10 = nms_EnchantmentHelper_getEnchantmentLevel($java.nms_Enchantment_punch.$effectId, $par1ItemStack);
        if ($var10 > 0)
            $var8.$knockbackStrength = $var10;
        if (nms_EnchantmentHelper_getEnchantmentLevel($java.nms_Enchantment_flame.$effectId, $par1ItemStack) > 0)
            nms_Entity_setFire($var8, 100);
        $par4 = 1;
        $ptr = 1;
    case 1:
        nms_ItemStack_damageItem($par1ItemStack, $par4, $par3EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        nms_Item_$callClinit();
        nms_World_playSoundAtEntity($par2World, $par3EntityPlayer, $rt_s(1186), 1.0, 1.0 / (nle_EaglercraftRandom_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 1.2000000476837158) + var$8 * 0.5);
        if ($var5)
            $var8.$canBePickedUp = 2;
        else
            nms_InventoryPlayer_consumeInventoryItem($par3EntityPlayer.$inventory, nms_Item_arrow.$itemID);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2World, $par3EntityPlayer, $par4, $var5, var$6, $var7, var$8, $var8, $var9, $var10, $ptr);
};
$java.nms_ItemBow_onEaten = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    return $par1ItemStack;
};
$java.nms_ItemBow_getMaxItemUseDuration = function($this, $par1ItemStack) {
    return 72000;
};
$java.nms_ItemBow_getItemUseAction = function($this, $par1ItemStack) {
    return nms_EnumAction_bow;
};
$java.nms_ItemBow_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    a: {
        if (!$par3EntityPlayer.$capabilities.$isCreativeMode) {
            $par2World = $par3EntityPlayer.$inventory;
            nms_Item_$callClinit();
            if (!nms_InventoryPlayer_hasItem($par2World, nms_Item_arrow.$itemID))
                break a;
        }
        nms_EntityPlayer_setItemInUse($par3EntityPlayer, $par1ItemStack, 72000);
    }
    return $par1ItemStack;
};
$java.nms_ItemBow_getItemEnchantability = function($this) {
    return 1;
};
$java.nms_ItemBow_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    nms_Item_registerIcons($this, $par1IconRegister);
    $this.$iconArray = $rt_createArray(nms_Icon, $java.nms_ItemBow_bowPullIconNameArray.data.length);
    $var2 = 0;
    while ($var2 < $this.$iconArray.data.length) {
        $this.$iconArray.data[$var2] = nms_TextureMap_registerIcon($par1IconRegister, $java.nms_ItemBow_bowPullIconNameArray.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
function nms_ItemBow_getItemIconForUseDuration($this, $par1) {
    return $this.$iconArray.data[$par1];
}
function nms_ItemBow__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2130);
    var$2[1] = $rt_s(2131);
    var$2[2] = $rt_s(2132);
    $java.nms_ItemBow_bowPullIconNameArray = var$1;
}
function nms_CreativeTabs() {
    var a = this; jl_Object.call(a);
    a.$tabIndex = 0;
    a.$tabLabel = null;
    a.$backgroundImageName = null;
    a.$hasScrollbar = 0;
    a.$drawTitle = 0;
}
$java.nms_CreativeTabs_creativeTabArray = null;
var nms_CreativeTabs_tabBlock = null;
var nms_CreativeTabs_tabDecorations = null;
var nms_CreativeTabs_tabRedstone = null;
$java.nms_CreativeTabs_tabTransport = null;
var nms_CreativeTabs_tabMisc = null;
$java.nms_CreativeTabs_tabAllSearch = null;
var nms_CreativeTabs_tabFood = null;
var nms_CreativeTabs_tabTools = null;
var nms_CreativeTabs_tabCombat = null;
var nms_CreativeTabs_tabBrewing = null;
var nms_CreativeTabs_tabMaterials = null;
$java.nms_CreativeTabs_tabInventory = null;
$java.nms_CreativeTabs__init_ = function(var_0, var_1) {
    var var_2 = new nms_CreativeTabs();
    $java.nms_CreativeTabs__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.nms_CreativeTabs__init_0 = function($this, $par1, $par2Str) {
    $this.$backgroundImageName = $rt_s(2133);
    $this.$hasScrollbar = 1;
    $this.$drawTitle = 1;
    $this.$tabIndex = $par1;
    $this.$tabLabel = $par2Str;
    $java.nms_CreativeTabs_creativeTabArray.data[$par1] = $this;
};
$java.nms_CreativeTabs_getTabIndex = function($this) {
    return $this.$tabIndex;
};
$java.nms_CreativeTabs_getTabLabel = function($this) {
    return $this.$tabLabel;
};
$java.nms_CreativeTabs_getTranslatedTabLabel = function($this) {
    var var$1, var$2;
    var$1 = nms_StringTranslate_instance;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(2134));
    jl_AbstractStringBuilder_append(var$2, $this.$tabLabel);
    return nms_StringTranslate_translateKey(var$1, jl_AbstractStringBuilder_toString(var$2));
};
$java.nms_CreativeTabs_getTabIconItem = function($this) {
    nms_Item_$callClinit();
    return nms_Item_itemsList.data[$this.$getTabIconItemIndex()];
};
$java.nms_CreativeTabs_getBackgroundImageName = function($this) {
    return $this.$backgroundImageName;
};
$java.nms_CreativeTabs_setBackgroundImageName = function($this, $par1Str) {
    $this.$backgroundImageName = $par1Str;
    return $this;
};
$java.nms_CreativeTabs_drawInForegroundOfTab = function($this) {
    return $this.$drawTitle;
};
$java.nms_CreativeTabs_setNoTitle = function($this) {
    $this.$drawTitle = 0;
    return $this;
};
$java.nms_CreativeTabs_shouldHidePlayerInventory = function($this) {
    return $this.$hasScrollbar;
};
$java.nms_CreativeTabs_setNoScrollbar = function($this) {
    $this.$hasScrollbar = 0;
    return $this;
};
$java.nms_CreativeTabs_getTabColumn = function($this) {
    return $this.$tabIndex % 6 | 0;
};
$java.nms_CreativeTabs_isTabInFirstRow = function($this) {
    return $this.$tabIndex >= 6 ? 0 : 1;
};
$java.nms_CreativeTabs_displayAllReleventItems = function($this, $par1List) {
    var $var2, $var3, $var4, $var5;
    nms_Item_$callClinit();
    $var2 = nms_Item_itemsList.data;
    $var3 = $var2.length;
    $var4 = 0;
    while ($var4 < $var3) {
        $var5 = $var2[$var4];
        if ($var5 !== null && $var5.$getCreativeTab() === $this)
            $var5.$getSubItems($var5.$itemID, $this, $par1List);
        $var4 = $var4 + 1 | 0;
    }
};
$java.nms_CreativeTabs_func_92116_a = function($this, $par1List, $par2ArrayOfEnumEnchantmentType) {
    var $var3, $var4, $var5, $var6, $var7, $var8, var$9;
    nms_Enchantment_$callClinit();
    $var3 = nms_Enchantment_enchantmentsList.data;
    $var4 = $var3.length;
    $var5 = 0;
    while ($var5 < $var4) {
        $var6 = $var3[$var5];
        if ($var6 !== null && $var6.$type1 !== null) {
            $var7 = 0;
            $var8 = 0;
            while (true) {
                var$9 = $par2ArrayOfEnumEnchantmentType.data;
                if ($var8 >= var$9.length)
                    break;
                if ($var7)
                    break;
                if ($var6.$type1 === var$9[$var8])
                    $var7 = 1;
                $var8 = $var8 + 1 | 0;
            }
            if ($var7) {
                nms_Item_$callClinit();
                ju_ArrayList_add($par1List, nms_ItemEnchantedBook_func_92111_a(nms_Item_enchantedBook, nms_EnchantmentData__init_($var6, $var6.$getMaxLevel())));
            }
        }
        $var5 = $var5 + 1 | 0;
    }
};
function nms_CreativeTabs__clinit_() {
    var var$1, var$2;
    $java.nms_CreativeTabs_creativeTabArray = $rt_createArray(nms_CreativeTabs, 12);
    var$1 = new nms_CreativeTabBlock;
    $java.nms_CreativeTabs__init_0(var$1, 0, $rt_s(2135));
    nms_CreativeTabs_tabBlock = var$1;
    var$2 = new nms_CreativeTabDeco;
    $java.nms_CreativeTabs__init_0(var$2, 1, $rt_s(2136));
    nms_CreativeTabs_tabDecorations = var$2;
    var$2 = new nms_CreativeTabRedstone;
    $java.nms_CreativeTabs__init_0(var$2, 2, $rt_s(1781));
    nms_CreativeTabs_tabRedstone = var$2;
    var$2 = new nms_CreativeTabTransport;
    $java.nms_CreativeTabs__init_0(var$2, 3, $rt_s(2137));
    $java.nms_CreativeTabs_tabTransport = var$2;
    var$2 = new nms_CreativeTabMisc;
    $java.nms_CreativeTabs__init_0(var$2, 4, $rt_s(2138));
    nms_CreativeTabs_tabMisc = var$2;
    var$2 = new nms_CreativeTabSearch;
    $java.nms_CreativeTabs__init_0(var$2, 5, $rt_s(2139));
    var$2.$backgroundImageName = $rt_s(2140);
    $java.nms_CreativeTabs_tabAllSearch = var$2;
    var$2 = new nms_CreativeTabFood;
    $java.nms_CreativeTabs__init_0(var$2, 6, $rt_s(1241));
    nms_CreativeTabs_tabFood = var$2;
    var$2 = new nms_CreativeTabTools;
    $java.nms_CreativeTabs__init_0(var$2, 7, $rt_s(2141));
    nms_CreativeTabs_tabTools = var$2;
    var$2 = new nms_CreativeTabCombat;
    $java.nms_CreativeTabs__init_0(var$2, 8, $rt_s(2142));
    nms_CreativeTabs_tabCombat = var$2;
    var$2 = new nms_CreativeTabBrewing;
    $java.nms_CreativeTabs__init_0(var$2, 9, $rt_s(2143));
    nms_CreativeTabs_tabBrewing = var$2;
    var$2 = new nms_CreativeTabMaterial;
    $java.nms_CreativeTabs__init_0(var$2, 10, $rt_s(2144));
    nms_CreativeTabs_tabMaterials = var$2;
    var$2 = new nms_CreativeTabInventory;
    $java.nms_CreativeTabs__init_0(var$2, 11, $rt_s(2145));
    var$2.$backgroundImageName = $rt_s(2146);
    $java.nms_CreativeTabs_tabInventory = $java.nms_CreativeTabs_setNoTitle($java.nms_CreativeTabs_setNoScrollbar(var$2));
}
function nms_ItemCoal() {
    nms_Item.call(this);
}
function nms_ItemCoal__init_(var_0) {
    var var_1 = new nms_ItemCoal();
    $java.nms_ItemCoal__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemCoal__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$hasSubtypes = 1;
    $this.$maxDamage = 0;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMaterials;
};
$java.nms_ItemCoal_getUnlocalizedName = function($this, $par1ItemStack) {
    return $par1ItemStack.$itemDamage != 1 ? $rt_s(2147) : $rt_s(2148);
};
$java.nms_ItemCoal_getSubItems = function($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 1));
};
function nms_ItemSword() {
    var a = this; nms_Item.call(a);
    a.$weaponDamage = 0;
    a.$toolMaterial0 = null;
}
function nms_ItemSword__init_(var_0, var_1) {
    var var_2 = new nms_ItemSword();
    $java.nms_ItemSword__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemSword__init_ = function($this, $par1, $par2EnumToolMaterial) {
    nms_Item__init_0($this, $par1);
    $this.$toolMaterial0 = $par2EnumToolMaterial;
    $this.$maxStackSize = 1;
    $this.$maxDamage = $par2EnumToolMaterial.$maxUses;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabCombat;
    $this.$weaponDamage = 4 + $par2EnumToolMaterial.$damageVsEntity0 | 0;
};
$java.nms_ItemSword_getStrVsBlock = function($this, $par1ItemStack, $par2Block) {
    var var$3, $var3;
    var$3 = $par2Block.$blockID;
    nms_Block_$callClinit();
    if (var$3 == nms_Block_web.$blockID)
        return 15.0;
    $var3 = $par2Block.$blockMaterial;
    nms_Material_$callClinit();
    return $var3 !== $java.nms_Material_plants && $var3 !== $java.nms_Material_vine && $var3 !== $java.nms_Material_coral && $var3 !== $java.nms_Material_leaves && $var3 !== $java.nms_Material_pumpkin ? 1.0 : 1.5;
};
$java.nms_ItemSword_hitEntity = function($this, $par1ItemStack, $par2EntityLiving, $par3EntityLiving) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3EntityLiving = $thread.pop();$par2EntityLiving = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = 1;
        $ptr = 1;
    case 1:
        nms_ItemStack_damageItem($par1ItemStack, var$4, $par3EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityLiving, $par3EntityLiving, var$4, $ptr);
};
$java.nms_ItemSword_onBlockDestroyed = function($this, $par1ItemStack, $par2World, $par3, $par4, $par5, $par6, $par7EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7EntityLiving = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2World = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Block_$callClinit();
        if (nms_Block_blocksList.data[$par3].$blockHardness === 0.0)
            return 1;
        $par3 = 2;
        $ptr = 1;
    case 1:
        nms_ItemStack_damageItem($par1ItemStack, $par3, $par7EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2World, $par3, $par4, $par5, $par6, $par7EntityLiving, $ptr);
};
$java.nms_ItemSword_getDamageVsEntity = function($this, $par1Entity) {
    return $this.$weaponDamage;
};
$java.nms_ItemSword_isFull3D = function($this) {
    return 1;
};
$java.nms_ItemSword_getItemUseAction = function($this, $par1ItemStack) {
    return nms_EnumAction_block;
};
$java.nms_ItemSword_getMaxItemUseDuration = function($this, $par1ItemStack) {
    return 72000;
};
$java.nms_ItemSword_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    nms_EntityPlayer_setItemInUse($par3EntityPlayer, $par1ItemStack, 72000);
    return $par1ItemStack;
};
$java.nms_ItemSword_canHarvestBlock = function($this, $par1Block) {
    var var$2;
    var$2 = $par1Block.$blockID;
    nms_Block_$callClinit();
    return var$2 != nms_Block_web.$blockID ? 0 : 1;
};
$java.nms_ItemSword_getItemEnchantability = function($this) {
    return $this.$toolMaterial0.$enchantability;
};
$java.nms_ItemSword_getToolMaterialName = function($this) {
    return jl_Enum_toString($this.$toolMaterial0);
};
$java.nms_ItemSword_getIsRepairable = function($this, $par1ItemStack, $par2ItemStack) {
    return $java.nms_EnumToolMaterial_getToolCraftingMaterial($this.$toolMaterial0) == $par2ItemStack.$itemID0 ? 1 : 0;
};
function nms_ItemSoup() {
    nms_ItemFood.call(this);
}
function nms_ItemSoup__init_(var_0, var_1) {
    var var_2 = new nms_ItemSoup();
    $java.nms_ItemSoup__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemSoup__init_ = function($this, $par1, $par2) {
    $java.nms_ItemFood__init_($this, $par1, $par2, 0.6000000238418579, 0);
    $this.$maxStackSize = 1;
};
$java.nms_ItemSoup_onEaten = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    $java.nms_ItemFood_onEaten($this, $par1ItemStack, $par2World, $par3EntityPlayer);
    $par1ItemStack = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_7($par1ItemStack, nms_Item_bowlEmpty);
    return $par1ItemStack;
};
function nms_ItemReed() {
    nms_Item.call(this);
    this.$spawnID = 0;
}
function nms_ItemReed__init_0(var_0, var_1) {
    var var_2 = new nms_ItemReed();
    nms_ItemReed__init_(var_2, var_0, var_1);
    return var_2;
}
function nms_ItemReed__init_($this, $par1, $par2Block) {
    nms_Item__init_0($this, $par1);
    $this.$spawnID = $par2Block.$blockID;
}
$java.nms_ItemReed_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var $var11, $var13, var$13, $var12, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();$var12 = $thread.pop();var$13 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var11 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
        nms_Block_$callClinit();
        if ($var11 == nms_Block_snow.$blockID && (nms_World_getBlockMetadata($par3World, $par4, $par5, $par6) & 7) < 1)
            $par7 = 1;
        else if ($var11 != nms_Block_vine.$blockID && $var11 != nms_Block_tallGrass.$blockID && $var11 != nms_Block_deadBush.$blockID) {
            if (!$par7)
                $par5 = $par5 + (-1) | 0;
            if ($par7 == 1)
                $par5 = $par5 + 1 | 0;
            if ($par7 == 2)
                $par6 = $par6 + (-1) | 0;
            if ($par7 == 3)
                $par6 = $par6 + 1 | 0;
            if ($par7 == 4)
                $par4 = $par4 + (-1) | 0;
            if ($par7 == 5)
                $par4 = $par4 + 1 | 0;
        }
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        if (!$par1ItemStack.$stackSize)
            return 0;
        $var13 = $this.$spawnID;
        var$13 = 0;
        $var12 = null;
        $ptr = 1;
    case 1:
        $tmp = nms_World_canPlaceEntityOnSide($par3World, $var13, $par4, $par5, $par6, var$13, $par7, $var12, $par1ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        $var13 = $tmp;
        if (!$var13)
            return 1;
        $var12 = nms_Block_blocksList.data[$this.$spawnID];
        $var13 = $var12.$onBlockPlaced($par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, 0);
        $par7 = $this.$spawnID;
        var$13 = 3;
        $ptr = 2;
    case 2:
        $tmp = nms_World_setBlock($par3World, $par4, $par5, $par6, $par7, $var13, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $par7 = $tmp;
        if ($par7) {
            if (nms_World_getBlockId($par3World, $par4, $par5, $par6) == $this.$spawnID) {
                var$15 = nms_Block_blocksList.data[$this.$spawnID];
                $ptr = 3;
                continue main;
            }
            nms_World_playSoundEffect($par3World, $par4 + 0.5, $par5 + 0.5, $par6 + 0.5, $var12.$stepSound.$getPlaceSound(), ($var12.$stepSound.$stepSoundVolume + 1.0) / 2.0, $var12.$stepSound.$stepSoundPitch * 0.800000011920929);
            $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        }
        return 1;
    case 3:
        var$15.$onBlockPlacedBy($par3World, $par4, $par5, $par6, $par2EntityPlayer, $par1ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        $par2EntityPlayer = nms_Block_blocksList.data[$this.$spawnID];
        $ptr = 4;
    case 4:
        $par2EntityPlayer.$onPostBlockPlaced($par3World, $par4, $par5, $par6, $var13);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_playSoundEffect($par3World, $par4 + 0.5, $par5 + 0.5, $par6 + 0.5, $var12.$stepSound.$getPlaceSound(), ($var12.$stepSound.$stepSoundVolume + 1.0) / 2.0, $var12.$stepSound.$stepSoundPitch * 0.800000011920929);
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, $var11, $var13, var$13, $var12, var$15, $ptr);
};
function nms_PotionHelper() {
    jl_Object.call(this);
}
$java.nms_PotionHelper_field_77924_a = null;
var nms_PotionHelper_sugarEffect = null;
var nms_PotionHelper_spiderEyeEffect = null;
var nms_PotionHelper_fermentedSpiderEyeEffect = null;
var nms_PotionHelper_speckledMelonEffect = null;
var nms_PotionHelper_blazePowderEffect = null;
var nms_PotionHelper_magmaCreamEffect = null;
var nms_PotionHelper_redstoneEffect = null;
var nms_PotionHelper_glowstoneEffect = null;
var nms_PotionHelper_gunpowderEffect = null;
var nms_PotionHelper_goldenCarrotEffect = null;
$java.nms_PotionHelper_potionRequirements = null;
$java.nms_PotionHelper_potionAmplifiers = null;
$java.nms_PotionHelper_field_77925_n = null;
$java.nms_PotionHelper_potionPrefixes = null;
function nms_PotionHelper_$callClinit() {
    nms_PotionHelper_$callClinit = $rt_eraseClinit(nms_PotionHelper);
    $java.nms_PotionHelper__clinit_();
}
$java.nms_PotionHelper__init_ = function() {
    var var_0 = new nms_PotionHelper();
    nms_PotionHelper__init_(var_0);
    return var_0;
};
function nms_PotionHelper__init_($this) {
    nms_PotionHelper_$callClinit();
}
$java.nms_PotionHelper_checkFlag = function($par0, $par1) {
    nms_PotionHelper_$callClinit();
    return !($par0 & 1 << $par1) ? 0 : 1;
};
$java.nms_PotionHelper_calcPotionLiquidColor = function($par0Collection) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, var$12;
    nms_PotionHelper_$callClinit();
    if ($par0Collection !== null && !ju_AbstractCollection_isEmpty($par0Collection)) {
        $var2 = 0.0;
        $var3 = 0.0;
        $var4 = 0.0;
        $var5 = 0.0;
        $var6 = ju_AbstractList_iterator($par0Collection);
        while (ju_AbstractList$1_hasNext($var6)) {
            $var7 = ju_AbstractList$1_next($var6);
            $var8 = nms_Potion_potionTypes.data[$var7.$potionID].$liquidColor;
            $var9 = 0;
            var$10 = ($var8 >> 16 & 255) / 255.0;
            var$11 = ($var8 >> 8 & 255) / 255.0;
            var$12 = ($var8 >> 0 & 255) / 255.0;
            while ($var9 <= $var7.$amplifier) {
                $var2 = $var2 + var$10;
                $var3 = $var3 + var$11;
                $var4 = $var4 + var$12;
                $var5 = $var5 + 1.0;
                $var9 = $var9 + 1 | 0;
            }
        }
        return ($var2 / $var5 * 255.0 | 0) << 16 | ($var3 / $var5 * 255.0 | 0) << 8 | $var4 / $var5 * 255.0 | 0;
    }
    return 3694022;
};
function nms_PotionHelper_func_77915_a($par0, $par1) {
    var $var2;
    nms_PotionHelper_$callClinit();
    if ($par1)
        return $java.nms_PotionHelper_calcPotionLiquidColor($java.nms_PotionHelper_getPotionEffects($par0, $par1));
    if (ju_HashMap_containsKey($java.nms_PotionHelper_field_77925_n, jl_Integer_valueOf($par0)))
        return ju_HashMap_get($java.nms_PotionHelper_field_77925_n, jl_Integer_valueOf($par0)).$value;
    $var2 = $java.nms_PotionHelper_calcPotionLiquidColor($java.nms_PotionHelper_getPotionEffects($par0, 0));
    ju_HashMap_putImpl($java.nms_PotionHelper_field_77925_n, jl_Integer_valueOf($par0), jl_Integer_valueOf($var2));
    return $var2;
}
$java.nms_PotionHelper_func_77904_a = function($par0, $par1, $par2, $par3, $par4, $par5, $par6) {
    var $var7;
    nms_PotionHelper_$callClinit();
    $var7 = 0;
    if ($par0)
        $var7 = !$java.nms_PotionHelper_checkFlag($par6, $par4) ? 1 : 0;
    else if ($par3 == (-1))
        $var7 = !$java.nms_PotionHelper_checkFlag($par6, $par4) ? 0 : 1;
    else if (!$par3 && $java.nms_PotionHelper_countSetFlags($par6) == $par4)
        $var7 = 1;
    else if ($par3 == 1 && $java.nms_PotionHelper_countSetFlags($par6) > $par4)
        $var7 = 1;
    else if ($par3 == 2 && $java.nms_PotionHelper_countSetFlags($par6) < $par4)
        $var7 = 1;
    if ($par1)
        $var7 = $rt_imul($var7, $par5);
    if ($par2)
        $var7 = $var7 * (-1) | 0;
    return $var7;
};
$java.nms_PotionHelper_countSetFlags = function($par0) {
    var $var1;
    nms_PotionHelper_$callClinit();
    $var1 = 0;
    while ($par0 > 0) {
        $par0 = $par0 & ($par0 - 1 | 0);
        $var1 = $var1 + 1 | 0;
    }
    return $var1;
};
$java.nms_PotionHelper_parsePotionEffects = function($par0Str, $var15, $par2, $par3) {
    var $var4, $var5, $var17, $var18, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var16;
    nms_PotionHelper_$callClinit();
    if ($var15 < jl_String_length($par0Str) && $par2 >= 0 && $var15 < $par2) {
        $var4 = jl_String_indexOf($par0Str, 124, $var15);
        if ($var4 >= 0 && $var4 < $par2) {
            $var5 = $java.nms_PotionHelper_parsePotionEffects($par0Str, $var15, $var4 - 1 | 0, $par3);
            if ($var5 > 0)
                return $var5;
            $var17 = $java.nms_PotionHelper_parsePotionEffects($par0Str, $var4 + 1 | 0, $par2, $par3);
            if ($var17 <= 0)
                $var17 = 0;
            return $var17;
        }
        $var5 = jl_String_indexOf($par0Str, 38, $var15);
        if ($var5 >= 0 && $var5 < $par2) {
            $var17 = $java.nms_PotionHelper_parsePotionEffects($par0Str, $var15, $var5 - 1 | 0, $par3);
            if ($var17 <= 0)
                return 0;
            $var18 = $java.nms_PotionHelper_parsePotionEffects($par0Str, $var5 + 1 | 0, $par2, $par3);
            if ($var18 <= 0)
                $var18 = 0;
            else if ($var17 > $var18)
                $var18 = $var17;
            return $var18;
        }
        $var6 = 0;
        $var7 = 0;
        $var8 = 0;
        $var9 = 0;
        $var10 = 0;
        $var11 = (-1);
        $var12 = 0;
        $var13 = 0;
        $var14 = 0;
        while ($var15 < $par2) {
            a: {
                $var16 = jl_String_charAt($par0Str, $var15);
                if ($var16 >= 48 && $var16 <= 57) {
                    if ($var6) {
                        $var13 = $var16 - 48 | 0;
                        $var7 = 1;
                        break a;
                    }
                    $var12 = ($var12 * 10 | 0) + ($var16 - 48 | 0) | 0;
                    $var8 = 1;
                    break a;
                }
                if ($var16 == 42) {
                    $var6 = 1;
                    break a;
                }
                if ($var16 == 33) {
                    if ($var8) {
                        $var14 = $var14 + $java.nms_PotionHelper_func_77904_a($var9, $var7, $var10, $var11, $var12, $var13, $par3) | 0;
                        $var10 = 0;
                        $var6 = 0;
                        $var7 = 0;
                        $var8 = 0;
                        $var13 = 0;
                        $var12 = 0;
                        $var11 = (-1);
                    }
                    $var9 = 1;
                    break a;
                }
                if ($var16 == 45) {
                    if ($var8) {
                        $var14 = $var14 + $java.nms_PotionHelper_func_77904_a($var9, $var7, $var10, $var11, $var12, $var13, $par3) | 0;
                        $var9 = 0;
                        $var6 = 0;
                        $var7 = 0;
                        $var8 = 0;
                        $var13 = 0;
                        $var12 = 0;
                        $var11 = (-1);
                    }
                    $var10 = 1;
                    break a;
                }
                $var4 = $rt_compare($var16, 61);
                if ($var4 && $var16 != 60 && $var16 != 62) {
                    if ($var16 != 43)
                        break a;
                    if (!$var8)
                        break a;
                    $var14 = $var14 + $java.nms_PotionHelper_func_77904_a($var9, $var7, $var10, $var11, $var12, $var13, $par3) | 0;
                    $var9 = 0;
                    $var10 = 0;
                    $var6 = 0;
                    $var7 = 0;
                    $var8 = 0;
                    $var13 = 0;
                    $var12 = 0;
                    $var11 = (-1);
                    break a;
                }
                if ($var8) {
                    $var14 = $var14 + $java.nms_PotionHelper_func_77904_a($var9, $var7, $var10, $var11, $var12, $var13, $par3) | 0;
                    $var9 = 0;
                    $var10 = 0;
                    $var6 = 0;
                    $var7 = 0;
                    $var8 = 0;
                    $var13 = 0;
                    $var12 = 0;
                    $var11 = (-1);
                }
                if (!$var4) {
                    $var11 = 0;
                    break a;
                }
                if ($var16 == 60) {
                    $var11 = 2;
                    break a;
                }
                if ($var16 != 62)
                    break a;
                $var11 = 1;
            }
            $var15 = $var15 + 1 | 0;
        }
        if ($var8)
            $var14 = $var14 + $java.nms_PotionHelper_func_77904_a($var9, $var7, $var10, $var11, $var12, $var13, $par3) | 0;
        return $var14;
    }
    return 0;
};
$java.nms_PotionHelper_getPotionEffects = function($par0, $par1) {
    var $var2, $var3, $var4, $var5, var$7, $var6, $var7, $var8, $var9, $var10, $var11;
    nms_PotionHelper_$callClinit();
    $var2 = null;
    $var3 = nms_Potion_potionTypes.data;
    $var4 = $var3.length;
    $var5 = 0;
    var$7 = $par0 & 16384;
    while ($var5 < $var4) {
        $var6 = $var3[$var5];
        if ($var6 !== null && !($var6.$usable && !$par1)) {
            $var7 = ju_HashMap_get($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf($var6.$id5));
            if ($var7 !== null) {
                $var8 = $java.nms_PotionHelper_parsePotionEffects($var7, 0, jl_String_length($var7), $par0);
                if ($var8 > 0) {
                    $var9 = 0;
                    $var10 = ju_HashMap_get($java.nms_PotionHelper_potionAmplifiers, jl_Integer_valueOf($var6.$id5));
                    if ($var10 !== null) {
                        $var9 = $java.nms_PotionHelper_parsePotionEffects($var10, 0, jl_String_length($var10), $par0);
                        if ($var9 < 0)
                            $var9 = 0;
                    }
                    if ($var6.$isInstant())
                        $var8 = 1;
                    else {
                        $var8 = jl_Math_round0(((1200 * (($var8 * 3 | 0) + (($var8 - 1 | 0) * 2 | 0) | 0) | 0) >> $var9) * $var6.$effectiveness).lo;
                        if (var$7)
                            $var8 = jl_Math_round0($var8 * 0.75 + 0.5).lo;
                    }
                    if ($var2 === null)
                        $var2 = ju_ArrayList__init_0();
                    $var11 = nms_PotionEffect__init_($var6.$id5, $var8, $var9);
                    if (var$7)
                        $var11.$isSplashPotion = 1;
                    ju_ArrayList_add($var2, $var11);
                }
            }
        }
        $var5 = $var5 + 1 | 0;
    }
    return $var2;
};
$java.nms_PotionHelper_brewBitOperations = function($par0, $par1, $par2, $par3, $par4) {
    nms_PotionHelper_$callClinit();
    if ($par4) {
        if (!$java.nms_PotionHelper_checkFlag($par0, $par1))
            return 0;
    } else if ($par2)
        $par0 = $par0 & (1 << $par1 ^ (-1));
    else if (!$par3)
        $par0 = $par0 | 1 << $par1;
    else {
        $par1 = 1 << $par1;
        $par0 = !($par0 & $par1) ? $par0 | $par1 : $par0 & ($par1 ^ (-1));
    }
    return $par0;
};
$java.nms_PotionHelper__clinit_ = function() {
    var var$1, var$2;
    $java.nms_PotionHelper_field_77924_a = null;
    $java.nms_PotionHelper_potionRequirements = ju_HashMap__init_();
    $java.nms_PotionHelper_potionAmplifiers = ju_HashMap__init_();
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf(nms_Potion_regeneration.$id5), $rt_s(2149));
    nms_PotionHelper_sugarEffect = $rt_s(2150);
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf(nms_Potion_moveSpeed.$id5), $rt_s(2151));
    nms_PotionHelper_magmaCreamEffect = $rt_s(2152);
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf($java.nms_Potion_fireResistance.$id5), $rt_s(2153));
    nms_PotionHelper_speckledMelonEffect = $rt_s(2154);
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf($java.nms_Potion_heal.$id5), $rt_s(2155));
    nms_PotionHelper_spiderEyeEffect = $rt_s(2156);
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf(nms_Potion_poison.$id5), $rt_s(2157));
    nms_PotionHelper_fermentedSpiderEyeEffect = $rt_s(2158);
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf(nms_Potion_weakness.$id5), $rt_s(2159));
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf($java.nms_Potion_harm.$id5), $rt_s(2160));
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf(nms_Potion_moveSlowdown.$id5), $rt_s(2161));
    nms_PotionHelper_blazePowderEffect = $rt_s(2162);
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf(nms_Potion_damageBoost.$id5), $rt_s(2163));
    nms_PotionHelper_goldenCarrotEffect = $rt_s(2164);
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf(nms_Potion_nightVision.$id5), $rt_s(2165));
    ju_HashMap_putImpl($java.nms_PotionHelper_potionRequirements, jl_Integer_valueOf($java.nms_Potion_invisibility.$id5), $rt_s(2166));
    nms_PotionHelper_glowstoneEffect = $rt_s(2167);
    ju_HashMap_putImpl($java.nms_PotionHelper_potionAmplifiers, jl_Integer_valueOf(nms_Potion_moveSpeed.$id5), $rt_s(82));
    ju_HashMap_putImpl($java.nms_PotionHelper_potionAmplifiers, jl_Integer_valueOf(nms_Potion_digSpeed.$id5), $rt_s(82));
    ju_HashMap_putImpl($java.nms_PotionHelper_potionAmplifiers, jl_Integer_valueOf(nms_Potion_damageBoost.$id5), $rt_s(82));
    ju_HashMap_putImpl($java.nms_PotionHelper_potionAmplifiers, jl_Integer_valueOf(nms_Potion_regeneration.$id5), $rt_s(82));
    ju_HashMap_putImpl($java.nms_PotionHelper_potionAmplifiers, jl_Integer_valueOf($java.nms_Potion_harm.$id5), $rt_s(82));
    ju_HashMap_putImpl($java.nms_PotionHelper_potionAmplifiers, jl_Integer_valueOf($java.nms_Potion_heal.$id5), $rt_s(82));
    ju_HashMap_putImpl($java.nms_PotionHelper_potionAmplifiers, jl_Integer_valueOf($java.nms_Potion_resistance.$id5), $rt_s(82));
    ju_HashMap_putImpl($java.nms_PotionHelper_potionAmplifiers, jl_Integer_valueOf(nms_Potion_poison.$id5), $rt_s(82));
    nms_PotionHelper_redstoneEffect = $rt_s(2168);
    nms_PotionHelper_gunpowderEffect = $rt_s(2169);
    $java.nms_PotionHelper_field_77925_n = ju_HashMap__init_();
    var$1 = $rt_createArray(jl_String, 32);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2170);
    var$2[1] = $rt_s(2171);
    var$2[2] = $rt_s(2172);
    var$2[3] = $rt_s(2173);
    var$2[4] = $rt_s(2174);
    var$2[5] = $rt_s(2175);
    var$2[6] = $rt_s(2176);
    var$2[7] = $rt_s(2177);
    var$2[8] = $rt_s(2178);
    var$2[9] = $rt_s(2179);
    var$2[10] = $rt_s(2180);
    var$2[11] = $rt_s(2181);
    var$2[12] = $rt_s(2182);
    var$2[13] = $rt_s(2183);
    var$2[14] = $rt_s(2184);
    var$2[15] = $rt_s(2185);
    var$2[16] = $rt_s(2186);
    var$2[17] = $rt_s(2187);
    var$2[18] = $rt_s(2188);
    var$2[19] = $rt_s(2189);
    var$2[20] = $rt_s(2190);
    var$2[21] = $rt_s(2191);
    var$2[22] = $rt_s(2192);
    var$2[23] = $rt_s(2193);
    var$2[24] = $rt_s(2194);
    var$2[25] = $rt_s(2195);
    var$2[26] = $rt_s(2196);
    var$2[27] = $rt_s(2197);
    var$2[28] = $rt_s(2198);
    var$2[29] = $rt_s(2199);
    var$2[30] = $rt_s(2200);
    var$2[31] = $rt_s(2201);
    $java.nms_PotionHelper_potionPrefixes = var$1;
};
function nms_ItemHoe() {
    nms_Item.call(this);
    this.$theToolMaterial = null;
}
function nms_ItemHoe__init_(var_0, var_1) {
    var var_2 = new nms_ItemHoe();
    $java.nms_ItemHoe__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemHoe__init_ = function($this, $par1, $par2EnumToolMaterial) {
    nms_Item__init_0($this, $par1);
    $this.$theToolMaterial = $par2EnumToolMaterial;
    $this.$maxStackSize = 1;
    $this.$maxDamage = $par2EnumToolMaterial.$maxUses;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabTools;
};
$java.nms_ItemHoe_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var $var11, $var12, $var13;
    if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
        return 0;
    a: {
        $var11 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
        $var12 = nms_World_getBlockId($par3World, $par4, $par5 + 1 | 0, $par6);
        if ($par7 && !$var12) {
            nms_Block_$callClinit();
            if ($var11 == nms_Block_grass.$blockID)
                break a;
        }
        nms_Block_$callClinit();
        if ($var11 != nms_Block_dirt.$blockID)
            return 0;
    }
    nms_Block_$callClinit();
    $var13 = nms_Block_tilledField;
    nms_World_playSoundEffect($par3World, $par4 + 0.5, $par5 + 0.5, $par6 + 0.5, nms_StepSound_getStepSound($var13.$stepSound), ($var13.$stepSound.$stepSoundVolume + 1.0) / 2.0, $var13.$stepSound.$stepSoundPitch * 0.800000011920929);
    return 1;
};
$java.nms_ItemHoe_isFull3D = function($this) {
    return 1;
};
$java.nms_ItemHoe_getMaterialName = function($this) {
    return jl_Enum_toString($this.$theToolMaterial);
};
function nms_ItemSeeds() {
    var a = this; nms_Item.call(a);
    a.$blockType = 0;
    a.$soilBlockID = 0;
}
function nms_ItemSeeds__init_(var_0, var_1, var_2) {
    var var_3 = new nms_ItemSeeds();
    $java.nms_ItemSeeds__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_ItemSeeds__init_ = function($this, $par1, $par2, $par3) {
    nms_Item__init_0($this, $par1);
    $this.$blockType = $par2;
    $this.$soilBlockID = $par3;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMaterials;
};
$java.nms_ItemSeeds_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par7 != 1)
            return 0;
        if (nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack)) {
            var$11 = $par5 + 1 | 0;
            if (nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, var$11, $par6, $par7, $par1ItemStack)) {
                if (nms_World_getBlockId($par3World, $par4, $par5, $par6) == $this.$soilBlockID && nms_World_isAirBlock($par3World, $par4, var$11, $par6)) {
                    $par5 = $this.$blockType;
                    $ptr = 1;
                    continue main;
                }
                return 0;
            }
        }
        return 0;
    case 1:
        nms_World_setBlock0($par3World, $par4, var$11, $par6, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, var$11, $ptr);
};
function nms_ItemArmor() {
    var a = this; nms_Item.call(a);
    a.$armorType = 0;
    a.$damageReduceAmount = 0;
    a.$renderIndex = 0;
    a.$material = null;
    a.$field_94605_cw = null;
    a.$field_94604_cx = null;
}
$java.nms_ItemArmor_maxDamageArray = null;
$java.nms_ItemArmor_field_94606_cu = null;
$java.nms_ItemArmor_field_94603_a = null;
function nms_ItemArmor__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_ItemArmor();
    $java.nms_ItemArmor__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nms_ItemArmor__init_ = function($this, $par1, $par2EnumArmorMaterial, $par3, $par4) {
    nms_Item__init_0($this, $par1);
    $this.$material = $par2EnumArmorMaterial;
    $this.$armorType = $par4;
    $this.$renderIndex = $par3;
    $this.$damageReduceAmount = $java.nms_EnumArmorMaterial_getDamageReductionAmount($par2EnumArmorMaterial, $par4);
    $this.$maxDamage = $java.nms_EnumArmorMaterial_getDurability($par2EnumArmorMaterial, $par4);
    $this.$maxStackSize = 1;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabCombat;
};
$java.nms_ItemArmor_getColorFromItemStack = function($this, $par1ItemStack, $par2) {
    var $var3;
    if ($par2 > 0)
        return 16777215;
    $var3 = nms_ItemArmor_getColor($this, $par1ItemStack);
    if ($var3 < 0)
        $var3 = 16777215;
    return $var3;
};
$java.nms_ItemArmor_requiresMultipleRenderPasses = function($this) {
    return $this.$material !== nms_EnumArmorMaterial_CLOTH ? 0 : 1;
};
$java.nms_ItemArmor_getItemEnchantability = function($this) {
    return $this.$material.$enchantability0;
};
$java.nms_ItemArmor_getArmorMaterial = function($this) {
    return $this.$material;
};
$java.nms_ItemArmor_hasColor = function($this, $par1ItemStack) {
    return $this.$material !== nms_EnumArmorMaterial_CLOTH ? 0 : !nms_ItemStack_hasTagCompound($par1ItemStack) ? 0 : !nms_NBTTagCompound_hasKey($par1ItemStack.$stackTagCompound, $rt_s(334)) ? 0 : nms_NBTTagCompound_hasKey(nms_NBTTagCompound_getCompoundTag($par1ItemStack.$stackTagCompound, $rt_s(334)), $rt_s(1911));
};
function nms_ItemArmor_getColor($this, $par1ItemStack) {
    var $var2, $var3;
    if ($this.$material !== nms_EnumArmorMaterial_CLOTH)
        return (-1);
    $var2 = $par1ItemStack.$stackTagCompound;
    if ($var2 === null)
        return 10511680;
    $var3 = nms_NBTTagCompound_getCompoundTag($var2, $rt_s(334));
    return $var3 === null ? 10511680 : !nms_NBTTagCompound_hasKey($var3, $rt_s(1911)) ? 10511680 : nms_NBTTagCompound_getInteger($var3, $rt_s(1911));
}
$java.nms_ItemArmor_getIconFromDamageForRenderPass = function($this, $par1, $par2) {
    return $par2 == 1 ? $this.$field_94605_cw : $this.$getIconFromDamage($par1);
};
$java.nms_ItemArmor_func_82813_b = function($this, $par1ItemStack, $par2) {
    var $var3, $var4;
    if ($this.$material !== nms_EnumArmorMaterial_CLOTH) {
        $par1ItemStack = new jl_UnsupportedOperationException;
        jl_Throwable__init_($par1ItemStack, $rt_s(2202));
        $rt_throw($par1ItemStack);
    }
    $var3 = $par1ItemStack.$stackTagCompound;
    if ($var3 === null) {
        $var3 = nms_NBTTagCompound__init_0();
        $par1ItemStack.$stackTagCompound = $var3;
    }
    $var4 = nms_NBTTagCompound_getCompoundTag($var3, $rt_s(334));
    if (!nms_NBTTagCompound_hasKey($var3, $rt_s(334)))
        nms_NBTTagCompound_setCompoundTag($var3, $rt_s(334), $var4);
    nms_NBTTagCompound_setInteger($var4, $rt_s(1911), $par2);
};
$java.nms_ItemArmor_getIsRepairable = function($this, $par1ItemStack, $par2ItemStack) {
    return $java.nms_EnumArmorMaterial_getArmorCraftingMaterial($this.$material) == $par2ItemStack.$itemID0 ? 1 : 0;
};
$java.nms_ItemArmor_registerIcons = function($this, $par1IconRegister) {
    nms_Item_registerIcons($this, $par1IconRegister);
    if ($this.$material === nms_EnumArmorMaterial_CLOTH)
        $this.$field_94605_cw = nms_TextureMap_registerIcon($par1IconRegister, $java.nms_ItemArmor_field_94606_cu.data[$this.$armorType]);
    $this.$field_94604_cx = nms_TextureMap_registerIcon($par1IconRegister, $java.nms_ItemArmor_field_94603_a.data[$this.$armorType]);
};
$java.nms_ItemArmor_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    var $var4, var$5;
    a: {
        $var4 = $par1ItemStack.$itemID0;
        nms_Block_$callClinit();
        if ($var4 != nms_Block_pumpkin.$blockID) {
            $var4 = $par1ItemStack.$itemID0;
            nms_Item_$callClinit();
            if ($var4 != nms_Item_skull.$itemID) {
                b: {
                    if (nms_ItemStack_getItem($par1ItemStack) instanceof nms_ItemArmor)
                        switch (nms_ItemStack_getItem($par1ItemStack).$armorType) {
                            case 0:
                                var$5 = 4;
                                break a;
                            case 1:
                                var$5 = 3;
                                break a;
                            case 2:
                                var$5 = 2;
                                break a;
                            case 3:
                                var$5 = 1;
                                break a;
                            default:
                                break b;
                        }
                }
                var$5 = 0;
                break a;
            }
        }
        var$5 = 4;
    }
    $var4 = var$5 - 1 | 0;
    if (nms_EntityPlayer_getCurrentArmor($par3EntityPlayer, $var4) === null) {
        nms_EntityPlayer_setCurrentItemOrArmor($par3EntityPlayer, $var4, nms_ItemStack_copy($par1ItemStack));
        $par1ItemStack.$stackSize = 0;
    }
    return $par1ItemStack;
};
function nms_ItemArmor__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(4);
    var$2 = var$1.data;
    var$2[0] = 11;
    var$2[1] = 16;
    var$2[2] = 15;
    var$2[3] = 13;
    $java.nms_ItemArmor_maxDamageArray = var$1;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2203);
    var$2[1] = $rt_s(2204);
    var$2[2] = $rt_s(2205);
    var$2[3] = $rt_s(2206);
    $java.nms_ItemArmor_field_94606_cu = var$1;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2207);
    var$2[1] = $rt_s(2208);
    var$2[2] = $rt_s(2209);
    var$2[3] = $rt_s(2210);
    $java.nms_ItemArmor_field_94603_a = var$1;
}
function nms_EnumArmorMaterial() {
    var a = this; jl_Enum.call(a);
    a.$maxDamageFactor = 0;
    a.$damageReductionAmountArray = null;
    a.$enchantability0 = 0;
}
var nms_EnumArmorMaterial_CLOTH = null;
var nms_EnumArmorMaterial_CHAIN = null;
var nms_EnumArmorMaterial_IRON = null;
var nms_EnumArmorMaterial_GOLD = null;
var nms_EnumArmorMaterial_DIAMOND = null;
$java.nms_EnumArmorMaterial_$VALUES = null;
$java.nms_EnumArmorMaterial__init_ = function(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EnumArmorMaterial();
    $java.nms_EnumArmorMaterial__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
};
$java.nms_EnumArmorMaterial__init_0 = function($this, var$1, var$2, $par3, $par4ArrayOfInteger, $par5) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$maxDamageFactor = $par3;
    $this.$damageReductionAmountArray = $par4ArrayOfInteger;
    $this.$enchantability0 = $par5;
};
$java.nms_EnumArmorMaterial_getDurability = function($this, $par1) {
    return $rt_imul($java.nms_ItemArmor_maxDamageArray.data[$par1], $this.$maxDamageFactor);
};
$java.nms_EnumArmorMaterial_getDamageReductionAmount = function($this, $par1) {
    return $this.$damageReductionAmountArray.data[$par1];
};
$java.nms_EnumArmorMaterial_getEnchantability = function($this) {
    return $this.$enchantability0;
};
$java.nms_EnumArmorMaterial_getArmorCraftingMaterial = function($this) {
    var var$1;
    if ($this === nms_EnumArmorMaterial_CLOTH) {
        nms_Item_$callClinit();
        var$1 = nms_Item_leather.$itemID;
    } else if ($this === nms_EnumArmorMaterial_CHAIN) {
        nms_Item_$callClinit();
        var$1 = nms_Item_ingotIron.$itemID;
    } else if ($this === nms_EnumArmorMaterial_GOLD) {
        nms_Item_$callClinit();
        var$1 = nms_Item_ingotGold.$itemID;
    } else if ($this === nms_EnumArmorMaterial_IRON) {
        nms_Item_$callClinit();
        var$1 = nms_Item_ingotIron.$itemID;
    } else if ($this !== nms_EnumArmorMaterial_DIAMOND)
        var$1 = 0;
    else {
        nms_Item_$callClinit();
        var$1 = nms_Item_diamond.$itemID;
    }
    return var$1;
};
function nms_EnumArmorMaterial__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nms_EnumArmorMaterial;
    var$2 = $rt_createIntArray(4);
    var$3 = var$2.data;
    var$3[0] = 1;
    var$3[1] = 3;
    var$3[2] = 2;
    var$3[3] = 1;
    $java.nms_EnumArmorMaterial__init_0(var$1, $rt_s(2211), 0, 5, var$2, 15);
    nms_EnumArmorMaterial_CLOTH = var$1;
    var$1 = new nms_EnumArmorMaterial;
    var$2 = $rt_createIntArray(4);
    var$3 = var$2.data;
    var$3[0] = 2;
    var$3[1] = 5;
    var$3[2] = 4;
    var$3[3] = 1;
    $java.nms_EnumArmorMaterial__init_0(var$1, $rt_s(2212), 1, 15, var$2, 12);
    nms_EnumArmorMaterial_CHAIN = var$1;
    var$1 = new nms_EnumArmorMaterial;
    var$2 = $rt_createIntArray(4);
    var$3 = var$2.data;
    var$3[0] = 2;
    var$3[1] = 6;
    var$3[2] = 5;
    var$3[3] = 2;
    $java.nms_EnumArmorMaterial__init_0(var$1, $rt_s(2125), 2, 15, var$2, 9);
    nms_EnumArmorMaterial_IRON = var$1;
    var$1 = new nms_EnumArmorMaterial;
    var$2 = $rt_createIntArray(4);
    var$3 = var$2.data;
    var$3[0] = 2;
    var$3[1] = 5;
    var$3[2] = 3;
    var$3[3] = 1;
    $java.nms_EnumArmorMaterial__init_0(var$1, $rt_s(2127), 3, 7, var$2, 25);
    nms_EnumArmorMaterial_GOLD = var$1;
    var$1 = new nms_EnumArmorMaterial;
    var$2 = $rt_createIntArray(4);
    var$3 = var$2.data;
    var$3[0] = 3;
    var$3[1] = 8;
    var$3[2] = 6;
    var$3[3] = 3;
    $java.nms_EnumArmorMaterial__init_0(var$1, $rt_s(2213), 4, 33, var$2, 10);
    nms_EnumArmorMaterial_DIAMOND = var$1;
    var$2 = $rt_createArray(nms_EnumArmorMaterial, 5);
    var$3 = var$2.data;
    var$3[0] = nms_EnumArmorMaterial_CLOTH;
    var$3[1] = nms_EnumArmorMaterial_CHAIN;
    var$3[2] = nms_EnumArmorMaterial_IRON;
    var$3[3] = nms_EnumArmorMaterial_GOLD;
    var$3[4] = nms_EnumArmorMaterial_DIAMOND;
    $java.nms_EnumArmorMaterial_$VALUES = var$2;
}
function nms_ItemHangingEntity() {
    nms_Item.call(this);
    this.$hangingEntityClass = null;
}
function nms_ItemHangingEntity__init_(var_0, var_1) {
    var var_2 = new nms_ItemHangingEntity();
    $java.nms_ItemHangingEntity__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemHangingEntity__init_ = function($this, $par1, $par2Class) {
    nms_Item__init_0($this, $par1);
    $this.$hangingEntityClass = $par2Class;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabDecorations;
};
$java.nms_ItemHangingEntity_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par7)
            return 0;
        if ($par7 == 1)
            return 0;
        $var11 = $java.nms_Direction_facingToDirection.data[$par7];
        if ($this.$hangingEntityClass === $rt_cls(nms_EntityPainting)) {
            $var12 = new nms_EntityPainting;
            $ptr = 1;
            continue main;
        }
        $var12 = $this.$hangingEntityClass !== $rt_cls(nms_EntityItemFrame) ? null : nms_EntityItemFrame__init_1($par3World, $par4, $par5, $par6, $var11);
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        if ($var12 === null)
            return 1;
        $ptr = 2;
        continue main;
    case 1:
        nms_EntityPainting__init_0($var12, $par3World, $par4, $par5, $par6, $var11);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        if ($var12 === null)
            return 1;
        $ptr = 2;
    case 2:
        $tmp = nms_EntityHanging_onValidSurface($var12);
        if ($rt_suspending()) {
            break main;
        }
        $par4 = $tmp;
        if ($par4)
            $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, $var11, $var12, $ptr);
};
function nms_ItemAppleGold() {
    nms_ItemFood.call(this);
}
function nms_ItemAppleGold__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_ItemAppleGold();
    $java.nms_ItemAppleGold__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nms_ItemAppleGold__init_ = function($this, $par1, $par2, $par3, $par4) {
    $java.nms_ItemFood__init_($this, $par1, $par2, $par3, $par4);
    $this.$hasSubtypes = 1;
};
$java.nms_ItemAppleGold_hasEffect = function($this, $par1ItemStack) {
    return $par1ItemStack.$itemDamage <= 0 ? 0 : 1;
};
$java.nms_ItemAppleGold_getRarity = function($this, $par1ItemStack) {
    return $par1ItemStack.$itemDamage ? $java.nms_EnumRarity_epic : nms_EnumRarity_rare;
};
$java.nms_ItemAppleGold_onFoodEaten = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    return;
};
$java.nms_ItemAppleGold_getSubItems = function($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 1));
};
function nms_Potion() {
    var a = this; jl_Object.call(a);
    a.$id5 = 0;
    a.$name11 = null;
    a.$statusIconIndex = 0;
    a.$isBadEffect = 0;
    a.$effectiveness = 0.0;
    a.$usable = 0;
    a.$liquidColor = 0;
}
var nms_Potion_potionTypes = null;
$java.nms_Potion_field_76423_b = null;
var nms_Potion_moveSpeed = null;
var nms_Potion_moveSlowdown = null;
var nms_Potion_digSpeed = null;
var nms_Potion_digSlowdown = null;
var nms_Potion_damageBoost = null;
$java.nms_Potion_heal = null;
$java.nms_Potion_harm = null;
var nms_Potion_jump = null;
var nms_Potion_confusion = null;
var nms_Potion_regeneration = null;
$java.nms_Potion_resistance = null;
$java.nms_Potion_fireResistance = null;
var nms_Potion_waterBreathing = null;
$java.nms_Potion_invisibility = null;
var nms_Potion_blindness = null;
var nms_Potion_nightVision = null;
var nms_Potion_hunger = null;
var nms_Potion_weakness = null;
var nms_Potion_poison = null;
var nms_Potion_wither = null;
$java.nms_Potion_field_76434_w = null;
$java.nms_Potion_field_76444_x = null;
$java.nms_Potion_field_76443_y = null;
$java.nms_Potion_field_76442_z = null;
$java.nms_Potion_field_76409_A = null;
$java.nms_Potion_field_76410_B = null;
$java.nms_Potion_field_76411_C = null;
$java.nms_Potion_field_76405_D = null;
$java.nms_Potion_field_76406_E = null;
$java.nms_Potion_field_76407_F = null;
$java.nms_Potion_field_76408_G = null;
$java.nms_Potion__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_Potion();
    $java.nms_Potion__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_Potion__init_0 = function($this, $par1, $par2, $par3) {
    $this.$name11 = $rt_s(36);
    $this.$statusIconIndex = (-1);
    $this.$id5 = $par1;
    nms_Potion_potionTypes.data[$par1] = $this;
    $this.$isBadEffect = $par2;
    if (!$par2)
        $this.$effectiveness = 1.0;
    else
        $this.$effectiveness = 0.5;
    $this.$liquidColor = $par3;
};
$java.nms_Potion_setIconIndex = function($this, $par1, $par2) {
    $this.$statusIconIndex = $par1 + ($par2 * 8 | 0) | 0;
    return $this;
};
$java.nms_Potion_getId = function($this) {
    return $this.$id5;
};
$java.nms_Potion_performEffect = function($this, $par1EntityLiving, $par2) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            b: {
                if ($this.$id5 != nms_Potion_regeneration.$id5) {
                    if ($this.$id5 == nms_Potion_poison.$id5) {
                        if ($par1EntityLiving.$health <= 1)
                            break b;
                        var$3 = nms_DamageSource_magic;
                        $par2 = 1;
                        $ptr = 2;
                        continue main;
                    }
                    if ($this.$id5 == nms_Potion_wither.$id5) {
                        var$3 = $java.nms_DamageSource_wither;
                        $par2 = 1;
                        $ptr = 1;
                        continue main;
                    }
                    if (!($this.$id5 == nms_Potion_hunger.$id5 && $par1EntityLiving instanceof nms_EntityPlayer)) {
                        c: {
                            if (!($this.$id5 == $java.nms_Potion_heal.$id5 && !nms_EntityLiving_isEntityUndead($par1EntityLiving))) {
                                if ($this.$id5 != $java.nms_Potion_harm.$id5)
                                    break c;
                                if (!nms_EntityLiving_isEntityUndead($par1EntityLiving))
                                    break c;
                            }
                            $par1EntityLiving.$heal(6 << $par2);
                            break b;
                        }
                        if ($this.$id5 == $java.nms_Potion_harm.$id5 && !nms_EntityLiving_isEntityUndead($par1EntityLiving))
                            break a;
                        if ($this.$id5 == $java.nms_Potion_heal.$id5 && nms_EntityLiving_isEntityUndead($par1EntityLiving))
                            break a;
                    }
                } else if ($par1EntityLiving.$health < $par1EntityLiving.$getMaxHealth())
                    $par1EntityLiving.$heal(1);
            }
            return;
        }
        var$3 = nms_DamageSource_magic;
        $par2 = 6 << $par2;
        $ptr = 3;
        continue main;
    case 1:
        $par1EntityLiving.$attackEntityFrom(var$3, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        $par1EntityLiving.$attackEntityFrom(var$3, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        $par1EntityLiving.$attackEntityFrom(var$3, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $par2, var$3, $ptr);
};
$java.nms_Potion_isInstant = function($this) {
    return 0;
};
$java.nms_Potion_isReady = function($this, $par1, $par2) {
    var $var3;
    if ($this.$id5 != nms_Potion_regeneration.$id5 && $this.$id5 != nms_Potion_poison.$id5) {
        if ($this.$id5 != nms_Potion_wither.$id5)
            return $this.$id5 != nms_Potion_hunger.$id5 ? 0 : 1;
        $var3 = 40 >> $par2;
        return $var3 <= 0 ? 1 : $par1 % $var3 | 0 ? 0 : 1;
    }
    $var3 = 25 >> $par2;
    return $var3 <= 0 ? 1 : $par1 % $var3 | 0 ? 0 : 1;
};
$java.nms_Potion_setPotionName = function($this, $par1Str) {
    $this.$name11 = $par1Str;
    return $this;
};
$java.nms_Potion_getName = function($this) {
    return $this.$name11;
};
function nms_Potion_hasStatusIcon($this) {
    return $this.$statusIconIndex < 0 ? 0 : 1;
}
$java.nms_Potion_getStatusIconIndex = function($this) {
    return $this.$statusIconIndex;
};
$java.nms_Potion_isBadEffect = function($this) {
    return $this.$isBadEffect;
};
function nms_Potion_getDurationString($par0PotionEffect) {
    if ($par0PotionEffect.$isPotionDurationMax)
        return $rt_s(2214);
    return nms_StringUtils_ticksToElapsedTime($par0PotionEffect.$duration);
}
$java.nms_Potion_setEffectiveness = function($this, $par1) {
    $this.$effectiveness = $par1;
    return $this;
};
$java.nms_Potion_getEffectiveness = function($this) {
    return $this.$effectiveness;
};
$java.nms_Potion_isUsable = function($this) {
    return $this.$usable;
};
$java.nms_Potion_getLiquidColor = function($this) {
    return $this.$liquidColor;
};
function nms_Potion__clinit_() {
    var var$1;
    nms_Potion_potionTypes = $rt_createArray(nms_Potion, 32);
    $java.nms_Potion_field_76423_b = null;
    var$1 = $java.nms_Potion__init_(1, 0, 8171462);
    var$1.$name11 = $rt_s(2215);
    nms_Potion_moveSpeed = $java.nms_Potion_setIconIndex(var$1, 0, 0);
    var$1 = $java.nms_Potion__init_(2, 1, 5926017);
    var$1.$name11 = $rt_s(2216);
    nms_Potion_moveSlowdown = $java.nms_Potion_setIconIndex(var$1, 1, 0);
    var$1 = $java.nms_Potion__init_(3, 0, 14270531);
    var$1.$name11 = $rt_s(2217);
    var$1 = $java.nms_Potion_setIconIndex(var$1, 2, 0);
    var$1.$effectiveness = 1.5;
    nms_Potion_digSpeed = var$1;
    var$1 = $java.nms_Potion__init_(4, 1, 4866583);
    var$1.$name11 = $rt_s(2218);
    nms_Potion_digSlowdown = $java.nms_Potion_setIconIndex(var$1, 3, 0);
    var$1 = $java.nms_Potion__init_(5, 0, 9643043);
    var$1.$name11 = $rt_s(2219);
    nms_Potion_damageBoost = $java.nms_Potion_setIconIndex(var$1, 4, 0);
    var$1 = new nms_PotionHealth;
    $java.nms_Potion__init_0(var$1, 6, 0, 16262179);
    var$1.$name11 = $rt_s(2220);
    $java.nms_Potion_heal = var$1;
    var$1 = new nms_PotionHealth;
    $java.nms_Potion__init_0(var$1, 7, 1, 4393481);
    var$1.$name11 = $rt_s(2221);
    $java.nms_Potion_harm = var$1;
    var$1 = $java.nms_Potion__init_(8, 0, 7889559);
    var$1.$name11 = $rt_s(2222);
    nms_Potion_jump = $java.nms_Potion_setIconIndex(var$1, 2, 1);
    var$1 = $java.nms_Potion__init_(9, 1, 5578058);
    var$1.$name11 = $rt_s(2223);
    var$1 = $java.nms_Potion_setIconIndex(var$1, 3, 1);
    var$1.$effectiveness = 0.25;
    nms_Potion_confusion = var$1;
    var$1 = $java.nms_Potion__init_(10, 0, 13458603);
    var$1.$name11 = $rt_s(2224);
    var$1 = $java.nms_Potion_setIconIndex(var$1, 7, 0);
    var$1.$effectiveness = 0.25;
    nms_Potion_regeneration = var$1;
    var$1 = $java.nms_Potion__init_(11, 0, 10044730);
    var$1.$name11 = $rt_s(2225);
    $java.nms_Potion_resistance = $java.nms_Potion_setIconIndex(var$1, 6, 1);
    var$1 = $java.nms_Potion__init_(12, 0, 14981690);
    var$1.$name11 = $rt_s(2226);
    $java.nms_Potion_fireResistance = $java.nms_Potion_setIconIndex(var$1, 7, 1);
    var$1 = $java.nms_Potion__init_(13, 0, 3035801);
    var$1.$name11 = $rt_s(2227);
    nms_Potion_waterBreathing = $java.nms_Potion_setIconIndex(var$1, 0, 2);
    var$1 = $java.nms_Potion__init_(14, 0, 8356754);
    var$1.$name11 = $rt_s(2228);
    $java.nms_Potion_invisibility = $java.nms_Potion_setIconIndex(var$1, 0, 1);
    var$1 = $java.nms_Potion__init_(15, 1, 2039587);
    var$1.$name11 = $rt_s(2229);
    var$1 = $java.nms_Potion_setIconIndex(var$1, 5, 1);
    var$1.$effectiveness = 0.25;
    nms_Potion_blindness = var$1;
    var$1 = $java.nms_Potion__init_(16, 0, 2039713);
    var$1.$name11 = $rt_s(2230);
    nms_Potion_nightVision = $java.nms_Potion_setIconIndex(var$1, 4, 1);
    var$1 = $java.nms_Potion__init_(17, 1, 5797459);
    var$1.$name11 = $rt_s(2231);
    nms_Potion_hunger = $java.nms_Potion_setIconIndex(var$1, 1, 1);
    var$1 = $java.nms_Potion__init_(18, 1, 4738376);
    var$1.$name11 = $rt_s(2232);
    nms_Potion_weakness = $java.nms_Potion_setIconIndex(var$1, 5, 0);
    var$1 = $java.nms_Potion__init_(19, 1, 5149489);
    var$1.$name11 = $rt_s(2233);
    var$1 = $java.nms_Potion_setIconIndex(var$1, 6, 0);
    var$1.$effectiveness = 0.25;
    nms_Potion_poison = var$1;
    var$1 = $java.nms_Potion__init_(20, 1, 3484199);
    var$1.$name11 = $rt_s(2234);
    var$1 = $java.nms_Potion_setIconIndex(var$1, 1, 2);
    var$1.$effectiveness = 0.25;
    nms_Potion_wither = var$1;
    $java.nms_Potion_field_76434_w = null;
    $java.nms_Potion_field_76444_x = null;
    $java.nms_Potion_field_76443_y = null;
    $java.nms_Potion_field_76442_z = null;
    $java.nms_Potion_field_76409_A = null;
    $java.nms_Potion_field_76410_B = null;
    $java.nms_Potion_field_76411_C = null;
    $java.nms_Potion_field_76405_D = null;
    $java.nms_Potion_field_76406_E = null;
    $java.nms_Potion_field_76407_F = null;
    $java.nms_Potion_field_76408_G = null;
}
function nms_ItemSign() {
    nms_Item.call(this);
}
function nms_ItemSign__init_(var_0) {
    var var_1 = new nms_ItemSign();
    $java.nms_ItemSign__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemSign__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 16;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabDecorations;
};
$java.nms_ItemSign_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var var$11, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();var$11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par7)
            return 0;
        if (!nms_World_getBlockMaterial($par3World, $par4, $par5, $par6).$isSolid())
            return 0;
        var$11 = $rt_compare($par7, 1);
        if (!var$11)
            $par5 = $par5 + 1 | 0;
        if ($par7 == 2)
            $par6 = $par6 + (-1) | 0;
        if ($par7 == 3)
            $par6 = $par6 + 1 | 0;
        if ($par7 == 4)
            $par4 = $par4 + (-1) | 0;
        if ($par7 == 5)
            $par4 = $par4 + 1 | 0;
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        nms_Block_$callClinit();
        if (!nms_Block_signPost.$canPlaceBlockAt($par3World, $par4, $par5, $par6))
            return 0;
        if (var$11) {
            $var11 = nms_Block_signWall.$blockID;
            var$11 = 2;
            $ptr = 1;
            continue main;
        }
        $var11 = nms_MathHelper_floor_double(($par2EntityPlayer.$rotationYaw + 180.0) * 16.0 / 360.0 + 0.5) & 15;
        $par7 = nms_Block_signPost.$blockID;
        var$11 = 2;
        $ptr = 2;
        continue main;
    case 1:
        nms_World_setBlock($par3World, $par4, $par5, $par6, $var11, $par7, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        $ptr = 3;
        continue main;
    case 2:
        nms_World_setBlock($par3World, $par4, $par5, $par6, $par7, $var11, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        $ptr = 3;
    case 3:
        $tmp = nms_World_getBlockTileEntity($par3World, $par4, $par5, $par6);
        if ($rt_suspending()) {
            break main;
        }
        $par1ItemStack = $tmp;
        $var12 = $par1ItemStack;
        if ($var12 !== null)
            nms_EntityPlayerSP_displayGUIEditSign($par2EntityPlayer, $var12);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, var$11, $var11, $var12, $ptr);
};
function nms_ItemDoor() {
    nms_Item.call(this);
    this.$doorMaterial = null;
}
function nms_ItemDoor__init_0(var_0, var_1) {
    var var_2 = new nms_ItemDoor();
    nms_ItemDoor__init_(var_2, var_0, var_1);
    return var_2;
}
function nms_ItemDoor__init_($this, $par1, $par2Material) {
    nms_Item__init_0($this, $par1);
    $this.$doorMaterial = $par2Material;
    $this.$maxStackSize = 1;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabRedstone;
}
$java.nms_ItemDoor_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var var$11, var$12, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par7 != 1)
            return 0;
        var$11 = $par5 + 1 | 0;
        var$12 = $this.$doorMaterial;
        nms_Material_$callClinit();
        if (var$12 !== nms_Material_wood) {
            nms_Block_$callClinit();
            $var11 = nms_Block_doorIron;
        } else {
            nms_Block_$callClinit();
            $var11 = nms_Block_doorWood;
        }
        if (nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, var$11, $par6, $par7, $par1ItemStack) && nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, var$11 + 1 | 0, $par6, $par7, $par1ItemStack)) {
            if (!$var11.$canPlaceBlockAt($par3World, $par4, var$11, $par6))
                return 0;
            $var12 = nms_MathHelper_floor_double(($par2EntityPlayer.$rotationYaw + 180.0) * 4.0 / 360.0 - 0.5) & 3;
            $ptr = 1;
            continue main;
        }
        return 0;
    case 1:
        $java.nms_ItemDoor_placeDoorBlock($par3World, $par4, var$11, $par6, $var12, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, var$11, var$12, $var11, $var12, $ptr);
};
$java.nms_ItemDoor_placeDoorBlock = function($par0World, $par1, $par2, $par3, $par4, $par5Block) {
    var $var6, $var7, $var11, $var10, $var12, var$12, $var8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$12 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var11 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5Block = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$par0World = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = 0;
        $var7 = 0;
        if (!$par4)
            $var7 = 1;
        if ($par4 == 1)
            $var6 = (-1);
        if ($par4 == 2)
            $var7 = (-1);
        if ($par4 == 3)
            $var6 = 1;
        $var11 = $par1 - $var6 | 0;
        $var10 = $par3 - $var7 | 0;
        $var12 = !nms_World_isBlockNormalCube($par0World, $var11, $par2, $var10) ? 0 : 1;
        var$12 = $par2 + 1 | 0;
        $var8 = $var12 + (!nms_World_isBlockNormalCube($par0World, $var11, var$12, $var10) ? 0 : 1) | 0;
        $var12 = $par1 + $var6 | 0;
        $var7 = $par3 + $var7 | 0;
        $var9 = (!nms_World_isBlockNormalCube($par0World, $var12, $par2, $var7) ? 0 : 1) + (!nms_World_isBlockNormalCube($par0World, $var12, var$12, $var7) ? 0 : 1) | 0;
        $var10 = nms_World_getBlockId($par0World, $var11, $par2, $var10) != $par5Block.$blockID && nms_World_getBlockId($par0World, $var11, var$12, $var10) != $par5Block.$blockID ? 0 : 1;
        $var11 = nms_World_getBlockId($par0World, $var12, $par2, $var7) != $par5Block.$blockID && nms_World_getBlockId($par0World, $var12, var$12, $var7) != $par5Block.$blockID ? 0 : 1;
        $var12 = 0;
        if ($var10 && !$var11)
            $var12 = 1;
        else if ($var9 > $var8)
            $var12 = 1;
        $var6 = $par5Block.$blockID;
        $var8 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlock($par0World, $par1, $par2, $par3, $var6, $par4, $var8);
        if ($rt_suspending()) {
            break main;
        }
        $par4 = $par5Block.$blockID;
        $var6 = 8 | (!$var12 ? 0 : 1);
        $var8 = 2;
        $ptr = 2;
    case 2:
        nms_World_setBlock($par0World, $par1, var$12, $par3, $par4, $var6, $var8);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_notifyBlocksOfNeighborChange($par0World, $par1, $par2, $par3, $par5Block.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par0World, $par1, var$12, $par3, $par5Block.$blockID);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($par0World, $par1, $par2, $par3, $par4, $par5Block, $var6, $var7, $var11, $var10, $var12, var$12, $var8, $var9, $ptr);
};
function nms_Material() {
    var a = this; jl_Object.call(a);
    a.$canBurn = 0;
    a.$replaceable = 0;
    a.$isTranslucent = 0;
    a.$materialMapColor = null;
    a.$requiresNoTool = 0;
    a.$mobilityFlag = 0;
    a.$field_85159_M = 0;
}
var nms_Material_air = null;
$java.nms_Material_grass = null;
$java.nms_Material_ground = null;
var nms_Material_wood = null;
var nms_Material_rock = null;
var nms_Material_iron = null;
$java.nms_Material_anvil = null;
var nms_Material_water = null;
var nms_Material_lava = null;
$java.nms_Material_leaves = null;
$java.nms_Material_plants = null;
$java.nms_Material_vine = null;
$java.nms_Material_sponge = null;
$java.nms_Material_cloth = null;
$java.nms_Material_fire = null;
$java.nms_Material_sand = null;
var nms_Material_circuits = null;
var nms_Material_glass = null;
$java.nms_Material_redstoneLight = null;
$java.nms_Material_tnt = null;
$java.nms_Material_coral = null;
$java.nms_Material_ice = null;
$java.nms_Material_snow = null;
$java.nms_Material_craftedSnow = null;
$java.nms_Material_cactus = null;
$java.nms_Material_clay = null;
$java.nms_Material_pumpkin = null;
$java.nms_Material_dragonEgg = null;
var nms_Material_portal = null;
$java.nms_Material_cake = null;
$java.nms_Material_web = null;
$java.nms_Material_piston = null;
function nms_Material_$callClinit() {
    nms_Material_$callClinit = $rt_eraseClinit(nms_Material);
    $java.nms_Material__clinit_();
}
$java.nms_Material__init_ = function(var_0) {
    var var_1 = new nms_Material();
    $java.nms_Material__init_0(var_1, var_0);
    return var_1;
};
$java.nms_Material__init_0 = function($this, $par1MapColor) {
    nms_Material_$callClinit();
    $this.$requiresNoTool = 1;
    $this.$materialMapColor = $par1MapColor;
};
$java.nms_Material_isLiquid = function($this) {
    return 0;
};
$java.nms_Material_isSolid = function($this) {
    return 1;
};
$java.nms_Material_getCanBlockGrass = function($this) {
    return 1;
};
$java.nms_Material_blocksMovement = function($this) {
    return 1;
};
$java.nms_Material_setTranslucent = function($this) {
    $this.$isTranslucent = 1;
    return $this;
};
$java.nms_Material_setRequiresTool = function($this) {
    $this.$requiresNoTool = 0;
    return $this;
};
$java.nms_Material_setBurning = function($this) {
    $this.$canBurn = 1;
    return $this;
};
$java.nms_Material_setReplaceable = function($this) {
    $this.$replaceable = 1;
    return $this;
};
$java.nms_Material_isReplaceable = function($this) {
    return $this.$replaceable;
};
function nms_Material_isOpaque($this) {
    return !$this.$isTranslucent ? $this.$blocksMovement() : 0;
}
$java.nms_Material_isToolNotRequired = function($this) {
    return $this.$requiresNoTool;
};
$java.nms_Material_getMaterialMobility = function($this) {
    return $this.$mobilityFlag;
};
$java.nms_Material_setNoPushMobility = function($this) {
    $this.$mobilityFlag = 1;
    return $this;
};
$java.nms_Material_setImmovableMobility = function($this) {
    $this.$mobilityFlag = 2;
    return $this;
};
$java.nms_Material_setAlwaysHarvested = function($this) {
    $this.$field_85159_M = 1;
    return $this;
};
$java.nms_Material_isAlwaysHarvested = function($this) {
    return $this.$field_85159_M;
};
$java.nms_Material__clinit_ = function() {
    var var$1;
    nms_Material_air = $java.nms_MaterialTransparent__init_($java.nms_MapColor_airColor);
    $java.nms_Material_grass = $java.nms_Material__init_($java.nms_MapColor_grassColor);
    $java.nms_Material_ground = $java.nms_Material__init_($java.nms_MapColor_dirtColor);
    nms_Material_wood = $java.nms_Material_setBurning($java.nms_Material__init_($java.nms_MapColor_woodColor));
    nms_Material_rock = $java.nms_Material_setRequiresTool($java.nms_Material__init_($java.nms_MapColor_stoneColor));
    nms_Material_iron = $java.nms_Material_setRequiresTool($java.nms_Material__init_($java.nms_MapColor_ironColor));
    $java.nms_Material_anvil = $java.nms_Material_setImmovableMobility($java.nms_Material_setRequiresTool($java.nms_Material__init_($java.nms_MapColor_ironColor)));
    nms_Material_water = $java.nms_Material_setNoPushMobility($java.nms_MaterialLiquid__init_($java.nms_MapColor_waterColor));
    nms_Material_lava = $java.nms_Material_setNoPushMobility($java.nms_MaterialLiquid__init_($java.nms_MapColor_tntColor));
    $java.nms_Material_leaves = $java.nms_Material_setNoPushMobility($java.nms_Material_setTranslucent($java.nms_Material_setBurning($java.nms_Material__init_($java.nms_MapColor_foliageColor))));
    $java.nms_Material_plants = $java.nms_Material_setNoPushMobility($java.nms_MaterialLogic__init_($java.nms_MapColor_foliageColor));
    $java.nms_Material_vine = $java.nms_Material_setReplaceable($java.nms_Material_setNoPushMobility($java.nms_Material_setBurning($java.nms_MaterialLogic__init_($java.nms_MapColor_foliageColor))));
    $java.nms_Material_sponge = $java.nms_Material__init_($java.nms_MapColor_clothColor);
    $java.nms_Material_cloth = $java.nms_Material_setBurning($java.nms_Material__init_($java.nms_MapColor_clothColor));
    $java.nms_Material_fire = $java.nms_Material_setNoPushMobility($java.nms_MaterialTransparent__init_($java.nms_MapColor_airColor));
    $java.nms_Material_sand = $java.nms_Material__init_($java.nms_MapColor_sandColor);
    nms_Material_circuits = $java.nms_Material_setNoPushMobility($java.nms_MaterialLogic__init_($java.nms_MapColor_airColor));
    nms_Material_glass = $java.nms_Material_setAlwaysHarvested($java.nms_Material_setTranslucent($java.nms_Material__init_($java.nms_MapColor_airColor)));
    $java.nms_Material_redstoneLight = $java.nms_Material_setAlwaysHarvested($java.nms_Material__init_($java.nms_MapColor_airColor));
    $java.nms_Material_tnt = $java.nms_Material_setTranslucent($java.nms_Material_setBurning($java.nms_Material__init_($java.nms_MapColor_tntColor)));
    $java.nms_Material_coral = $java.nms_Material_setNoPushMobility($java.nms_Material__init_($java.nms_MapColor_foliageColor));
    $java.nms_Material_ice = $java.nms_Material_setAlwaysHarvested($java.nms_Material_setTranslucent($java.nms_Material__init_($java.nms_MapColor_iceColor)));
    $java.nms_Material_snow = $java.nms_Material_setNoPushMobility($java.nms_Material_setRequiresTool($java.nms_Material_setTranslucent($java.nms_Material_setReplaceable($java.nms_MaterialLogic__init_($java.nms_MapColor_snowColor)))));
    $java.nms_Material_craftedSnow = $java.nms_Material_setRequiresTool($java.nms_Material__init_($java.nms_MapColor_snowColor));
    $java.nms_Material_cactus = $java.nms_Material_setNoPushMobility($java.nms_Material_setTranslucent($java.nms_Material__init_($java.nms_MapColor_foliageColor)));
    $java.nms_Material_clay = $java.nms_Material__init_($java.nms_MapColor_clayColor);
    $java.nms_Material_pumpkin = $java.nms_Material_setNoPushMobility($java.nms_Material__init_($java.nms_MapColor_foliageColor));
    $java.nms_Material_dragonEgg = $java.nms_Material_setNoPushMobility($java.nms_Material__init_($java.nms_MapColor_foliageColor));
    var$1 = new nms_MaterialPortal;
    $java.nms_Material__init_0(var$1, $java.nms_MapColor_airColor);
    nms_Material_portal = $java.nms_Material_setImmovableMobility(var$1);
    $java.nms_Material_cake = $java.nms_Material_setNoPushMobility($java.nms_Material__init_($java.nms_MapColor_airColor));
    var$1 = new nms_MaterialWeb;
    $java.nms_Material__init_0(var$1, $java.nms_MapColor_clothColor);
    $java.nms_Material_web = $java.nms_Material_setNoPushMobility($java.nms_Material_setRequiresTool(var$1));
    $java.nms_Material_piston = $java.nms_Material_setImmovableMobility($java.nms_Material__init_($java.nms_MapColor_stoneColor));
};
function nms_ItemBucket() {
    nms_Item.call(this);
    this.$isFull = 0;
}
function nms_ItemBucket__init_(var_0, var_1) {
    var var_2 = new nms_ItemBucket();
    $java.nms_ItemBucket__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemBucket__init_ = function($this, $par1, $par2) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 1;
    $this.$isFull = $par2;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMisc;
};
$java.nms_ItemBucket_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    var $var5, $var7, $var9, $var11, $var12, $var13, $var14, $var15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$par3EntityPlayer = $thread.pop();$par2World = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $par3EntityPlayer.$prevPosX + ($par3EntityPlayer.$posX - $par3EntityPlayer.$prevPosX) * 1.0;
        $var7 = $par3EntityPlayer.$prevPosY + ($par3EntityPlayer.$posY - $par3EntityPlayer.$prevPosY) * 1.0 + 1.62 - $par3EntityPlayer.$yOffset;
        $var9 = $par3EntityPlayer.$prevPosZ + ($par3EntityPlayer.$posZ - $par3EntityPlayer.$prevPosZ) * 1.0;
        $var11 = $this.$isFull ? 0 : 1;
        $ptr = 1;
    case 1:
        $tmp = nms_Item_getMovingObjectPositionFromPlayer($this, $par2World, $par3EntityPlayer, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $tmp;
        if ($var12 === null)
            return $par1ItemStack;
        a: {
            if ($var12.$typeOfHit !== nms_EnumMovingObjectType_TILE) {
                if ($this.$isFull)
                    break a;
                if (!($var12.$entityHit instanceof nms_EntityCow))
                    break a;
                return nms_ItemStack__init_5(nms_Item_bucketMilk);
            }
            $var13 = $var12.$blockX;
            $var14 = $var12.$blockY;
            $var15 = $var12.$blockZ;
            if ($this.$isFull) {
                if ($this.$isFull < 0)
                    return nms_ItemStack__init_5(nms_Item_bucketEmpty);
                if (!$var12.$sideHit)
                    $var14 = $var14 + (-1) | 0;
                if ($var12.$sideHit == 1)
                    $var14 = $var14 + 1 | 0;
                if ($var12.$sideHit == 2)
                    $var15 = $var15 + (-1) | 0;
                if ($var12.$sideHit == 3)
                    $var15 = $var15 + 1 | 0;
                if ($var12.$sideHit == 4)
                    $var13 = $var13 + (-1) | 0;
                if ($var12.$sideHit == 5)
                    $var13 = $var13 + 1 | 0;
                if (!nms_EntityPlayer_canPlayerEdit($par3EntityPlayer, $var13, $var14, $var15, $var12.$sideHit, $par1ItemStack))
                    return $par1ItemStack;
                $ptr = 4;
                continue main;
            }
            if (!nms_EntityPlayer_canPlayerEdit($par3EntityPlayer, $var13, $var14, $var15, $var12.$sideHit, $par1ItemStack))
                return $par1ItemStack;
            $var12 = nms_World_getBlockMaterial($par2World, $var13, $var14, $var15);
            nms_Material_$callClinit();
            if ($var12 === nms_Material_water && !nms_World_getBlockMetadata($par2World, $var13, $var14, $var15)) {
                $ptr = 2;
                continue main;
            }
            if (nms_World_getBlockMaterial($par2World, $var13, $var14, $var15) === nms_Material_lava && !nms_World_getBlockMetadata($par2World, $var13, $var14, $var15)) {
                $ptr = 3;
                continue main;
            }
        }
        return $par1ItemStack;
    case 2:
        nms_World_setBlockToAir($par2World, $var13, $var14, $var15);
        if ($rt_suspending()) {
            break main;
        }
        if ($par3EntityPlayer.$capabilities.$isCreativeMode)
            return $par1ItemStack;
        $var11 = $par1ItemStack.$stackSize - 1 | 0;
        $par1ItemStack.$stackSize = $var11;
        if ($var11 <= 0)
            return nms_ItemStack__init_5(nms_Item_bucketWater);
        if (!nms_InventoryPlayer_addItemStackToInventory($par3EntityPlayer.$inventory, nms_ItemStack__init_5(nms_Item_bucketWater)))
            nms_EntityPlayer_dropPlayerItem($par3EntityPlayer, nms_ItemStack__init_0(nms_Item_bucketWater.$itemID, 1, 0));
        return $par1ItemStack;
    case 3:
        nms_World_setBlockToAir($par2World, $var13, $var14, $var15);
        if ($rt_suspending()) {
            break main;
        }
        if ($par3EntityPlayer.$capabilities.$isCreativeMode)
            return $par1ItemStack;
        $var11 = $par1ItemStack.$stackSize - 1 | 0;
        $par1ItemStack.$stackSize = $var11;
        if ($var11 <= 0)
            return nms_ItemStack__init_5(nms_Item_bucketLava);
        if (!nms_InventoryPlayer_addItemStackToInventory($par3EntityPlayer.$inventory, nms_ItemStack__init_5(nms_Item_bucketLava)))
            nms_EntityPlayer_dropPlayerItem($par3EntityPlayer, nms_ItemStack__init_0(nms_Item_bucketLava.$itemID, 1, 0));
        return $par1ItemStack;
    case 4:
        $tmp = $java.nms_ItemBucket_tryPlaceContainedLiquid($this, $par2World, $var5, $var7, $var9, $var13, $var14, $var15);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = $tmp;
        if ($var11 && !$par3EntityPlayer.$capabilities.$isCreativeMode)
            return nms_ItemStack__init_5(nms_Item_bucketEmpty);
        return $par1ItemStack;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2World, $par3EntityPlayer, $var5, $var7, $var9, $var11, $var12, $var13, $var14, $var15, $ptr);
};
$java.nms_ItemBucket_tryPlaceContainedLiquid = function($this, $par1World, $par2, $par4, $par6, $par8, $par9, $par10) {
    var $var11, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$isFull <= 0)
            return 0;
        if (!nms_World_isAirBlock($par1World, $par8, $par9, $par10) && nms_World_getBlockMaterial($par1World, $par8, $par9, $par10).$isSolid())
            return 0;
        if ($par1World.$provider.$isHellWorld) {
            $var11 = $this.$isFull;
            nms_Block_$callClinit();
            if ($var11 == nms_Block_waterMoving.$blockID) {
                nms_World_playSoundEffect($par1World, $par2 + 0.5, $par4 + 0.5, $par6 + 0.5, $rt_s(1015), 0.5, 2.5999999046325684 + (nle_EaglercraftRandom_nextFloat($par1World.$rand) - nle_EaglercraftRandom_nextFloat($par1World.$rand)) * 0.800000011920929);
                $var11 = 0;
                $par4 = $par8;
                var$9 = $par9;
                var$10 = $par10;
                if ($var11 >= 8)
                    return 1;
                var$11 = $rt_s(1050);
                $par6 = $par4 + jl_Math_random();
                var$12 = var$9 + jl_Math_random();
                var$13 = var$10 + jl_Math_random();
                var$14 = 0.0;
                var$15 = 0.0;
                $par2 = 0.0;
                $ptr = 2;
                continue main;
            }
        }
        var$16 = $this.$isFull;
        $var11 = 0;
        var$17 = 3;
        $ptr = 1;
    case 1:
        nms_World_setBlock($par1World, $par8, $par9, $par10, var$16, $var11, var$17);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    case 2:
        nms_World_spawnParticle($par1World, var$11, $par6, var$12, var$13, var$14, var$15, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = $var11 + 1 | 0;
        if ($var11 >= 8)
            return 1;
        var$11 = $rt_s(1050);
        $par6 = $par4 + jl_Math_random();
        var$12 = var$9 + jl_Math_random();
        var$13 = var$10 + jl_Math_random();
        var$14 = 0.0;
        var$15 = 0.0;
        $par2 = 0.0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par4, $par6, $par8, $par9, $par10, $var11, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, $ptr);
};
function nms_BlockFluid() {
    nms_Block.call(this);
    this.$theIcon0 = null;
}
$java.nms_BlockFluid__init_ = function(var_0, var_1) {
    var var_2 = new nms_BlockFluid();
    $java.nms_BlockFluid__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.nms_BlockFluid__init_0 = function($this, $par1, $par2Material) {
    nms_Block__init_0($this, $par1, $par2Material);
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    $this.$needsRandomTick = 1;
};
$java.nms_BlockFluid_getBlockColor = function($this) {
    return 16777215;
};
$java.nms_BlockFluid_colorMultiplier = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var var$5, $var5, $var6, $var7, $var8, $var9, $var10;
    var$5 = $this.$blockMaterial;
    nms_Material_$callClinit();
    if (var$5 !== nms_Material_water)
        return 16777215;
    $var5 = 0;
    $var6 = 0;
    $var7 = 0;
    $var8 = (-1);
    while ($var8 <= 1) {
        $var9 = (-1);
        while ($var9 <= 1) {
            $var10 = $par1IBlockAccess.$getBiomeGenForCoords($par2 + $var9 | 0, $par4 + $var8 | 0).$waterColorMultiplier;
            $var5 = $var5 + (($var10 & 16711680) >> 16) | 0;
            $var6 = $var6 + (($var10 & 65280) >> 8) | 0;
            $var7 = $var7 + ($var10 & 255) | 0;
            $var9 = $var9 + 1 | 0;
        }
        $var8 = $var8 + 1 | 0;
    }
    return (($var5 / 9 | 0) & 255) << 16 | (($var6 / 9 | 0) & 255) << 8 | ($var7 / 9 | 0) & 255;
};
function nms_BlockFluid_getFluidHeightPercent($par0) {
    if ($par0 >= 8)
        $par0 = 0;
    return ($par0 + 1 | 0) / 9.0;
}
$java.nms_BlockFluid_getIcon = function($this, $par1, $par2) {
    return $par1 && $par1 != 1 ? $this.$theIcon0.data[1] : $this.$theIcon0.data[0];
};
$java.nms_BlockFluid_getEffectiveFlowDecay = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5;
    if ($par1IBlockAccess.$getBlockMaterial($par2, $par3, $par4) !== $this.$blockMaterial)
        return (-1);
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    if ($var5 >= 8)
        $var5 = 0;
    return $var5;
};
$java.nms_BlockFluid_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockFluid_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockFluid_canCollideCheck = function($this, $par1, $par2) {
    return $par2 && !$par1 ? 1 : 0;
};
$java.nms_BlockFluid_isBlockSolid = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6;
    $var6 = $par1IBlockAccess.$getBlockMaterial($par2, $par3, $par4);
    if ($var6 === $this.$blockMaterial)
        $par2 = 0;
    else if ($par5 == 1)
        $par2 = 1;
    else {
        nms_Material_$callClinit();
        $par2 = $var6 === $java.nms_Material_ice ? 0 : $par1IBlockAccess.$getBlockMaterial($par2, $par3, $par4).$isSolid();
    }
    return $par2;
};
$java.nms_BlockFluid_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6;
    $var6 = $par1IBlockAccess.$getBlockMaterial($par2, $par3, $par4);
    if ($var6 === $this.$blockMaterial)
        $par2 = 0;
    else if ($par5 == 1)
        $par2 = 1;
    else {
        nms_Material_$callClinit();
        $par2 = $var6 !== $java.nms_Material_ice ? nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) : 0;
    }
    return $par2;
};
$java.nms_BlockFluid_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockFluid_getRenderType = function($this) {
    return 4;
};
$java.nms_BlockFluid_getFlowVector = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var7, var$8, var$9, $var13, var$11, var$12, var$13, var$14, $var11, $var12;
    $var5 = nms_Vec3Pool_getVecFromPool($par1IBlockAccess.$getWorldVec3Pool(), 0.0, 0.0, 0.0);
    $var6 = $java.nms_BlockFluid_getEffectiveFlowDecay($this, $par1IBlockAccess, $par2, $par3, $par4);
    $var7 = 0;
    var$8 = $par2 - 1 | 0;
    var$9 = $par4 - 1 | 0;
    $var13 = $par3 - 1 | 0;
    var$11 = $var6 - 8 | 0;
    var$12 = $par3 - $par3 | 0;
    while ($var7 < 4) {
        var$13 = !$var7 ? var$8 : $par2;
        var$14 = $var7 == 1 ? var$9 : $par4;
        if ($var7 == 2)
            var$13 = var$13 + 1 | 0;
        if ($var7 == 3)
            var$14 = var$14 + 1 | 0;
        $var11 = $java.nms_BlockFluid_getEffectiveFlowDecay($this, $par1IBlockAccess, var$13, $par3, var$14);
        if ($var11 >= 0) {
            if ($var11 >= 0) {
                $var12 = $var11 - $var6 | 0;
                $var5 = nms_Vec3_addVector($var5, $rt_imul(var$13 - $par2 | 0, $var12), $rt_imul(var$12, $var12), $rt_imul(var$14 - $par4 | 0, $var12));
            }
        } else if (!$par1IBlockAccess.$getBlockMaterial(var$13, $par3, var$14).$blocksMovement()) {
            $var11 = $java.nms_BlockFluid_getEffectiveFlowDecay($this, $par1IBlockAccess, var$13, $var13, var$14);
            if ($var11 >= 0) {
                $var12 = $var11 - var$11 | 0;
                $var5 = nms_Vec3_addVector($var5, $rt_imul(var$13 - $par2 | 0, $var12), $rt_imul(var$12, $var12), $rt_imul(var$14 - $par4 | 0, $var12));
            }
        }
        $var7 = $var7 + 1 | 0;
    }
    if ($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) >= 8) {
        $var13 = 0;
        if ($java.nms_BlockFluid_isBlockSolid($this, $par1IBlockAccess, $par2, $par3, var$9, 2))
            $var13 = 1;
        if (!(!$var13 && !$java.nms_BlockFluid_isBlockSolid($this, $par1IBlockAccess, $par2, $par3, $par4 + 1 | 0, 3)))
            $var13 = 1;
        if (!(!$var13 && !$java.nms_BlockFluid_isBlockSolid($this, $par1IBlockAccess, var$8, $par3, $par4, 4)))
            $var13 = 1;
        if (!(!$var13 && !$java.nms_BlockFluid_isBlockSolid($this, $par1IBlockAccess, $par2 + 1 | 0, $par3, $par4, 5)))
            $var13 = 1;
        if (!(!$var13 && !$java.nms_BlockFluid_isBlockSolid($this, $par1IBlockAccess, $par2, $par3 + 1 | 0, var$9, 2)))
            $var13 = 1;
        if (!(!$var13 && !$java.nms_BlockFluid_isBlockSolid($this, $par1IBlockAccess, $par2, $par3 + 1 | 0, $par4 + 1 | 0, 3)))
            $var13 = 1;
        if (!(!$var13 && !$java.nms_BlockFluid_isBlockSolid($this, $par1IBlockAccess, var$8, $par3 + 1 | 0, $par4, 4)))
            $var13 = 1;
        if (!(!$var13 && !$java.nms_BlockFluid_isBlockSolid($this, $par1IBlockAccess, $par2 + 1 | 0, $par3 + 1 | 0, $par4, 5)))
            $var13 = 1;
        if ($var13)
            $var5 = nms_Vec3_addVector(nms_Vec3_normalize($var5), 0.0, (-6.0), 0.0);
    }
    return nms_Vec3_normalize($var5);
};
$java.nms_BlockFluid_velocityToAddToEntity = function($this, $par1World, $par2, $par3, $par4, $par5Entity, $par6Vec3) {
    var $var7;
    $var7 = $java.nms_BlockFluid_getFlowVector($this, $par1World, $par2, $par3, $par4);
    $par6Vec3.$xCoord = $par6Vec3.$xCoord + $var7.$xCoord;
    $par6Vec3.$yCoord = $par6Vec3.$yCoord + $var7.$yCoord;
    $par6Vec3.$zCoord = $par6Vec3.$zCoord + $var7.$zCoord;
};
$java.nms_BlockFluid_tickRate = function($this, $par1World) {
    var var$2;
    var$2 = $this.$blockMaterial;
    nms_Material_$callClinit();
    return var$2 === nms_Material_water ? 5 : $this.$blockMaterial !== nms_Material_lava ? 0 : !$par1World.$provider.$hasNoSky ? 30 : 10;
};
$java.nms_BlockFluid_getMixedBrightnessForBlock = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10;
    $var5 = $par1IBlockAccess.$getLightBrightnessForSkyBlocks($par2, $par3, $par4, 0);
    $var6 = $par1IBlockAccess.$getLightBrightnessForSkyBlocks($par2, $par3 + 1 | 0, $par4, 0);
    $var7 = $var5 & 255;
    $var8 = $var6 & 255;
    $var9 = $var5 >> 16 & 255;
    $var10 = $var6 >> 16 & 255;
    if ($var7 > $var8)
        $var8 = $var7;
    if ($var9 > $var10)
        $var10 = $var9;
    return $var8 | $var10 << 16;
};
$java.nms_BlockFluid_getBlockBrightness = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $par1IBlockAccess.$getLightBrightness($par2, $par3, $par4);
    $var6 = $par1IBlockAccess.$getLightBrightness($par2, $par3 + 1 | 0, $par4);
    if ($var5 > $var6)
        $var6 = $var5;
    return $var6;
};
$java.nms_BlockFluid_getRenderBlockPass = function($this) {
    var var$1;
    var$1 = $this.$blockMaterial;
    nms_Material_$callClinit();
    return var$1 !== nms_Material_water ? 0 : 1;
};
$java.nms_BlockFluid_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var var$6, $var6, $var6_0, var$9, var$10, var$11, var$12, var$13, var$14, $var21, $var23, $var22, $var21_0, $var23_0, $var7, var$21, var$22, var$23, var$24, var$25, $var22_0, var$27, $var10, $var19, $var11, $var13, $var15, $var17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var19 = $thread.pop();$var10 = $thread.pop();var$27 = $thread.pop();$var22_0 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var7 = $thread.pop();$var23_0 = $thread.pop();$var21_0 = $thread.pop();$var22 = $thread.pop();$var23 = $thread.pop();$var21 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12
        = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var6_0 = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            b: {
                c: {
                    var$6 = $this.$blockMaterial;
                    nms_Material_$callClinit();
                    if (var$6 === nms_Material_water) {
                        if (!nle_EaglercraftRandom_nextInt($par5Random, 10)) {
                            $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
                            if ($var6 <= 0)
                                break a;
                            if ($var6 >= 8)
                                break a;
                        }
                        $var6_0 = 0;
                        var$9 = $par2 - 1 | 0;
                        var$10 = $par4 - 1 | 0;
                        var$11 = $par3 - 1 | 0;
                        var$12 = $par2;
                        var$13 = $par3;
                        var$14 = $par4;
                        $var21 = var$12 - 0.0625;
                        $var23 = ($par2 + 1 | 0) + 0.0625;
                        $var22 = var$14 - 0.0625;
                        $var21_0 = ($par4 + 1 | 0) + 0.0625;
                        $var23_0 = (-0.0625);
                        while (true) {
                            if ($var6_0 >= 0)
                                break c;
                            $var7 = nle_EaglercraftRandom_nextInt($par5Random, 4);
                            var$21 = !$var7 ? var$9 : $par2;
                            var$22 = $rt_compare($var7, 1);
                            if (!var$22)
                                var$21 = var$21 + 1 | 0;
                            var$23 = $rt_compare($var7, 2);
                            var$24 = !var$23 ? var$10 : $par4;
                            var$25 = $rt_compare($var7, 3);
                            if (!var$25)
                                var$24 = var$24 + 1 | 0;
                            if (nms_World_getBlockMaterial($par1World, var$21, $par3, var$24) === nms_Material_air) {
                                if (nms_World_getBlockMaterial($par1World, var$21, var$11, var$24).$blocksMovement())
                                    break b;
                                if (nms_World_getBlockMaterial($par1World, var$21, var$11, var$24).$isLiquid())
                                    break b;
                            }
                            $var6_0 = $var6_0 + 1 | 0;
                        }
                    }
                }
                if ($this.$blockMaterial === nms_Material_water && !nle_EaglercraftRandom_nextInt($par5Random, 64)) {
                    $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
                    if ($var6 > 0 && $var6 < 8) {
                        $var21 = $par2 + 0.5;
                        $var22_0 = $par3 + 0.5;
                        $var23_0 = $par4 + 0.5;
                        var$27 = $rt_s(2235);
                        $var10 = nle_EaglercraftRandom_nextFloat($par5Random) * 0.25 + 0.75;
                        var$12 = nle_EaglercraftRandom_nextFloat($par5Random) * 1.0 + 0.5;
                        $var6 = 0;
                        $ptr = 2;
                        continue main;
                    }
                }
                if ($this.$blockMaterial === nms_Material_lava) {
                    $var6 = $par3 + 1 | 0;
                    if (nms_World_getBlockMaterial($par1World, $par2, $var6, $par4) === nms_Material_air && !nms_World_isBlockOpaqueCube($par1World, $par2, $var6, $par4)) {
                        if (!nle_EaglercraftRandom_nextInt($par5Random, 100)) {
                            $var21 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
                            $var22_0 = $par3 + $this.$maxY0;
                            $var23_0 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
                            var$27 = $rt_s(957);
                            $var19 = 0.0;
                            $var21_0 = 0.0;
                            $var22 = 0.0;
                            $ptr = 3;
                            continue main;
                        }
                        if (!nle_EaglercraftRandom_nextInt($par5Random, 200)) {
                            $var21 = $par2;
                            $var22_0 = $par3;
                            $var23_0 = $par4;
                            var$27 = $rt_s(2236);
                            $var10 = 0.20000000298023224 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.20000000298023224;
                            var$12 = 0.8999999761581421 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.15000000596046448;
                            $var6 = 0;
                            $ptr = 7;
                            continue main;
                        }
                    }
                }
                if (!nle_EaglercraftRandom_nextInt($par5Random, 10) && nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) && !nms_World_getBlockMaterial($par1World, $par2, $par3 - 2 | 0, $par4).$blocksMovement()) {
                    $var21_0 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var22 = $par3 - 1.05;
                    $var23 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
                    if ($this.$blockMaterial !== nms_Material_water) {
                        $par5Random = $rt_s(1178);
                        $var21 = 0.0;
                        $var22_0 = 0.0;
                        $var23_0 = 0.0;
                        $ptr = 5;
                        continue main;
                    }
                    $par5Random = $rt_s(1177);
                    $var21 = 0.0;
                    $var22_0 = 0.0;
                    $var23_0 = 0.0;
                    $ptr = 6;
                    continue main;
                }
                return;
            }
            $var11 = var$12 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var13 = var$13 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var15 = var$14 + nle_EaglercraftRandom_nextFloat($par5Random);
            if (!$var7)
                $var11 = $var21;
            if (!var$22)
                $var11 = $var23;
            if (!var$23)
                $var15 = $var22;
            if (!var$25)
                $var15 = $var21_0;
            $var17 = 0.0;
            $var19 = 0.0;
            if (!$var7)
                $var17 = $var23_0;
            if (!var$22)
                $var17 = 0.0625;
            if (!var$23)
                $var19 = $var23_0;
            if (!var$25)
                $var19 = 0.0625;
            var$27 = $rt_s(1018);
            $var22_0 = 0.0;
            $ptr = 8;
            continue main;
        }
        var$27 = $rt_s(1161);
        $var21 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var22_0 = $par3 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var23_0 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var19 = 0.0;
        $var21_0 = 0.0;
        $var22 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1World, var$27, $var21, $var22_0, $var23_0, $var19, $var21_0, $var22);
        if ($rt_suspending()) {
            break main;
        }
        $var6_0 = 0;
        var$9 = $par2 - 1 | 0;
        var$10 = $par4 - 1 | 0;
        var$11 = $par3 - 1 | 0;
        var$12 = $par2;
        var$13 = $par3;
        var$14 = $par4;
        $var21 = var$12 - 0.0625;
        $var23 = ($par2 + 1 | 0) + 0.0625;
        $var22 = var$14 - 0.0625;
        $var21_0 = ($par4 + 1 | 0) + 0.0625;
        $var23_0 = (-0.0625);
        a: {
            while ($var6_0 < 0) {
                $var7 = nle_EaglercraftRandom_nextInt($par5Random, 4);
                var$21 = !$var7 ? var$9 : $par2;
                var$22 = $rt_compare($var7, 1);
                if (!var$22)
                    var$21 = var$21 + 1 | 0;
                var$23 = $rt_compare($var7, 2);
                var$24 = !var$23 ? var$10 : $par4;
                var$25 = $rt_compare($var7, 3);
                if (!var$25)
                    var$24 = var$24 + 1 | 0;
                if (nms_World_getBlockMaterial($par1World, var$21, $par3, var$24) === nms_Material_air) {
                    if (nms_World_getBlockMaterial($par1World, var$21, var$11, var$24).$blocksMovement())
                        break a;
                    if (nms_World_getBlockMaterial($par1World, var$21, var$11, var$24).$isLiquid())
                        break a;
                }
                $var6_0 = $var6_0 + 1 | 0;
            }
            if ($this.$blockMaterial === nms_Material_water && !nle_EaglercraftRandom_nextInt($par5Random, 64)) {
                $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
                if ($var6 > 0 && $var6 < 8) {
                    $var21 = $par2 + 0.5;
                    $var22_0 = $par3 + 0.5;
                    $var23_0 = $par4 + 0.5;
                    var$27 = $rt_s(2235);
                    $var10 = nle_EaglercraftRandom_nextFloat($par5Random) * 0.25 + 0.75;
                    var$12 = nle_EaglercraftRandom_nextFloat($par5Random) * 1.0 + 0.5;
                    $var6 = 0;
                    $ptr = 2;
                    continue main;
                }
            }
            if ($this.$blockMaterial === nms_Material_lava) {
                $var6 = $par3 + 1 | 0;
                if (nms_World_getBlockMaterial($par1World, $par2, $var6, $par4) === nms_Material_air && !nms_World_isBlockOpaqueCube($par1World, $par2, $var6, $par4)) {
                    if (!nle_EaglercraftRandom_nextInt($par5Random, 100)) {
                        $var21 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
                        $var22_0 = $par3 + $this.$maxY0;
                        $var23_0 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
                        var$27 = $rt_s(957);
                        $var19 = 0.0;
                        $var21_0 = 0.0;
                        $var22 = 0.0;
                        $ptr = 3;
                        continue main;
                    }
                    if (!nle_EaglercraftRandom_nextInt($par5Random, 200)) {
                        $var21 = $par2;
                        $var22_0 = $par3;
                        $var23_0 = $par4;
                        var$27 = $rt_s(2236);
                        $var10 = 0.20000000298023224 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.20000000298023224;
                        var$12 = 0.8999999761581421 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.15000000596046448;
                        $var6 = 0;
                        $ptr = 7;
                        continue main;
                    }
                }
            }
            if (!nle_EaglercraftRandom_nextInt($par5Random, 10) && nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) && !nms_World_getBlockMaterial($par1World, $par2, $par3 - 2 | 0, $par4).$blocksMovement()) {
                $var21_0 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var22 = $par3 - 1.05;
                $var23 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
                if ($this.$blockMaterial !== nms_Material_water) {
                    $par5Random = $rt_s(1178);
                    $var21 = 0.0;
                    $var22_0 = 0.0;
                    $var23_0 = 0.0;
                    $ptr = 5;
                    continue main;
                }
                $par5Random = $rt_s(1177);
                $var21 = 0.0;
                $var22_0 = 0.0;
                $var23_0 = 0.0;
                $ptr = 6;
                continue main;
            }
            return;
        }
        $var11 = var$12 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var13 = var$13 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var15 = var$14 + nle_EaglercraftRandom_nextFloat($par5Random);
        if (!$var7)
            $var11 = $var21;
        if (!var$22)
            $var11 = $var23;
        if (!var$23)
            $var15 = $var22;
        if (!var$25)
            $var15 = $var21_0;
        $var17 = 0.0;
        $var19 = 0.0;
        if (!$var7)
            $var17 = $var23_0;
        if (!var$22)
            $var17 = 0.0625;
        if (!var$23)
            $var19 = $var23_0;
        if (!var$25)
            $var19 = 0.0625;
        var$27 = $rt_s(1018);
        $var22_0 = 0.0;
        $ptr = 8;
        continue main;
    case 2:
        nms_WorldClient_playSound($par1World, $var21, $var22_0, $var23_0, var$27, $var10, var$12, $var6);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$blockMaterial === nms_Material_lava) {
            $var6 = $par3 + 1 | 0;
            if (nms_World_getBlockMaterial($par1World, $par2, $var6, $par4) === nms_Material_air && !nms_World_isBlockOpaqueCube($par1World, $par2, $var6, $par4)) {
                if (!nle_EaglercraftRandom_nextInt($par5Random, 100)) {
                    $var21 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var22_0 = $par3 + $this.$maxY0;
                    $var23_0 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
                    var$27 = $rt_s(957);
                    $var19 = 0.0;
                    $var21_0 = 0.0;
                    $var22 = 0.0;
                    $ptr = 3;
                    continue main;
                }
                if (!nle_EaglercraftRandom_nextInt($par5Random, 200)) {
                    $var21 = $par2;
                    $var22_0 = $par3;
                    $var23_0 = $par4;
                    var$27 = $rt_s(2236);
                    $var10 = 0.20000000298023224 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.20000000298023224;
                    var$12 = 0.8999999761581421 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.15000000596046448;
                    $var6 = 0;
                    $ptr = 7;
                    continue main;
                }
            }
        }
        if (!nle_EaglercraftRandom_nextInt($par5Random, 10) && nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) && !nms_World_getBlockMaterial($par1World, $par2, $par3 - 2 | 0, $par4).$blocksMovement()) {
            $var21_0 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var22 = $par3 - 1.05;
            $var23 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
            if ($this.$blockMaterial !== nms_Material_water) {
                $par5Random = $rt_s(1178);
                $var21 = 0.0;
                $var22_0 = 0.0;
                $var23_0 = 0.0;
                $ptr = 5;
                continue main;
            }
            $par5Random = $rt_s(1177);
            $var21 = 0.0;
            $var22_0 = 0.0;
            $var23_0 = 0.0;
            $ptr = 6;
            continue main;
        }
        return;
    case 3:
        nms_World_spawnParticle($par1World, var$27, $var21, $var22_0, $var23_0, $var19, $var21_0, $var22);
        if ($rt_suspending()) {
            break main;
        }
        var$27 = $rt_s(2237);
        var$12 = 0.20000000298023224 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.20000000298023224;
        $var10 = 0.8999999761581421 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.15000000596046448;
        $var6 = 0;
        $ptr = 4;
    case 4:
        nms_WorldClient_playSound($par1World, $var21, $var22_0, $var23_0, var$27, var$12, $var10, $var6);
        if ($rt_suspending()) {
            break main;
        }
        if (!nle_EaglercraftRandom_nextInt($par5Random, 200)) {
            $var21 = $par2;
            $var22_0 = $par3;
            $var23_0 = $par4;
            var$27 = $rt_s(2236);
            $var10 = 0.20000000298023224 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.20000000298023224;
            var$12 = 0.8999999761581421 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.15000000596046448;
            $var6 = 0;
            $ptr = 7;
            continue main;
        }
        if (!nle_EaglercraftRandom_nextInt($par5Random, 10) && nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) && !nms_World_getBlockMaterial($par1World, $par2, $par3 - 2 | 0, $par4).$blocksMovement()) {
            $var21_0 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var22 = $par3 - 1.05;
            $var23 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
            if ($this.$blockMaterial !== nms_Material_water) {
                $par5Random = $rt_s(1178);
                $var21 = 0.0;
                $var22_0 = 0.0;
                $var23_0 = 0.0;
                $ptr = 5;
                continue main;
            }
            $par5Random = $rt_s(1177);
            $var21 = 0.0;
            $var22_0 = 0.0;
            $var23_0 = 0.0;
            $ptr = 6;
            continue main;
        }
        return;
    case 5:
        nms_World_spawnParticle($par1World, $par5Random, $var21_0, $var22, $var23, $var21, $var22_0, $var23_0);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 6:
        nms_World_spawnParticle($par1World, $par5Random, $var21_0, $var22, $var23, $var21, $var22_0, $var23_0);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 7:
        nms_WorldClient_playSound($par1World, $var21, $var22_0, $var23_0, var$27, $var10, var$12, $var6);
        if ($rt_suspending()) {
            break main;
        }
        if (!nle_EaglercraftRandom_nextInt($par5Random, 10) && nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) && !nms_World_getBlockMaterial($par1World, $par2, $par3 - 2 | 0, $par4).$blocksMovement()) {
            $var21_0 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var22 = $par3 - 1.05;
            $var23 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
            if ($this.$blockMaterial !== nms_Material_water) {
                $par5Random = $rt_s(1178);
                $var21 = 0.0;
                $var22_0 = 0.0;
                $var23_0 = 0.0;
                $ptr = 5;
                continue main;
            }
            $par5Random = $rt_s(1177);
            $var21 = 0.0;
            $var22_0 = 0.0;
            $var23_0 = 0.0;
            $ptr = 6;
            continue main;
        }
        return;
    case 8:
        nms_World_spawnParticle($par1World, var$27, $var11, $var13, $var15, $var17, $var22_0, $var19);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            while (true) {
                $var6_0 = $var6_0 + 1 | 0;
                if ($var6_0 >= 0)
                    break;
                $var7 = nle_EaglercraftRandom_nextInt($par5Random, 4);
                var$21 = !$var7 ? var$9 : $par2;
                var$22 = $rt_compare($var7, 1);
                if (!var$22)
                    var$21 = var$21 + 1 | 0;
                var$23 = $rt_compare($var7, 2);
                var$24 = !var$23 ? var$10 : $par4;
                var$25 = $rt_compare($var7, 3);
                if (!var$25)
                    var$24 = var$24 + 1 | 0;
                if (nms_World_getBlockMaterial($par1World, var$21, $par3, var$24) !== nms_Material_air)
                    continue;
                if (nms_World_getBlockMaterial($par1World, var$21, var$11, var$24).$blocksMovement())
                    break a;
                if (!nms_World_getBlockMaterial($par1World, var$21, var$11, var$24).$isLiquid())
                    continue;
                else
                    break a;
            }
            if ($this.$blockMaterial === nms_Material_water && !nle_EaglercraftRandom_nextInt($par5Random, 64)) {
                $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
                if ($var6 > 0 && $var6 < 8) {
                    $var21 = $par2 + 0.5;
                    $var22_0 = $par3 + 0.5;
                    $var23_0 = $par4 + 0.5;
                    var$27 = $rt_s(2235);
                    $var10 = nle_EaglercraftRandom_nextFloat($par5Random) * 0.25 + 0.75;
                    var$12 = nle_EaglercraftRandom_nextFloat($par5Random) * 1.0 + 0.5;
                    $var6 = 0;
                    $ptr = 2;
                    continue main;
                }
            }
            if ($this.$blockMaterial === nms_Material_lava) {
                $var6 = $par3 + 1 | 0;
                if (nms_World_getBlockMaterial($par1World, $par2, $var6, $par4) === nms_Material_air && !nms_World_isBlockOpaqueCube($par1World, $par2, $var6, $par4)) {
                    if (!nle_EaglercraftRandom_nextInt($par5Random, 100)) {
                        $var21 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
                        $var22_0 = $par3 + $this.$maxY0;
                        $var23_0 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
                        var$27 = $rt_s(957);
                        $var19 = 0.0;
                        $var21_0 = 0.0;
                        $var22 = 0.0;
                        $ptr = 3;
                        continue main;
                    }
                    if (!nle_EaglercraftRandom_nextInt($par5Random, 200)) {
                        $var21 = $par2;
                        $var22_0 = $par3;
                        $var23_0 = $par4;
                        var$27 = $rt_s(2236);
                        $var10 = 0.20000000298023224 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.20000000298023224;
                        var$12 = 0.8999999761581421 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.15000000596046448;
                        $var6 = 0;
                        $ptr = 7;
                        continue main;
                    }
                }
            }
            if (!nle_EaglercraftRandom_nextInt($par5Random, 10) && nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) && !nms_World_getBlockMaterial($par1World, $par2, $par3 - 2 | 0, $par4).$blocksMovement()) {
                $var21_0 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var22 = $par3 - 1.05;
                $var23 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
                if ($this.$blockMaterial !== nms_Material_water) {
                    $par5Random = $rt_s(1178);
                    $var21 = 0.0;
                    $var22_0 = 0.0;
                    $var23_0 = 0.0;
                    $ptr = 5;
                    continue main;
                }
                $par5Random = $rt_s(1177);
                $var21 = 0.0;
                $var22_0 = 0.0;
                $var23_0 = 0.0;
                $ptr = 6;
                continue main;
            }
            return;
        }
        $var11 = var$12 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var13 = var$13 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var15 = var$14 + nle_EaglercraftRandom_nextFloat($par5Random);
        if (!$var7)
            $var11 = $var21;
        if (!var$22)
            $var11 = $var23;
        if (!var$23)
            $var15 = $var22;
        if (!var$25)
            $var15 = $var21_0;
        $var17 = 0.0;
        $var19 = 0.0;
        if (!$var7)
            $var17 = $var23_0;
        if (!var$22)
            $var17 = 0.0625;
        if (!var$23)
            $var19 = $var23_0;
        if (!var$25)
            $var19 = 0.0625;
        var$27 = $rt_s(1018);
        $var22_0 = 0.0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, var$6, $var6, $var6_0, var$9, var$10, var$11, var$12, var$13, var$14, $var21, $var23, $var22, $var21_0, $var23_0, $var7, var$21, var$22, var$23, var$24, var$25, $var22_0, var$27, $var10, $var19, $var11, $var13, $var15, $var17, $ptr);
};
function nms_BlockFluid_getFlowDirection($par0IBlockAccess, $par1, $par2, $par3, $par4Material) {
    var $var5;
    $var5 = null;
    nms_Material_$callClinit();
    if ($par4Material === nms_Material_water) {
        nms_Block_$callClinit();
        $var5 = $java.nms_BlockFluid_getFlowVector(nms_Block_waterMoving, $par0IBlockAccess, $par1, $par2, $par3);
    }
    if ($par4Material === nms_Material_lava) {
        nms_Block_$callClinit();
        $var5 = $java.nms_BlockFluid_getFlowVector(nms_Block_lavaMoving, $par0IBlockAccess, $par1, $par2, $par3);
    }
    return $var5.$xCoord === 0.0 && $var5.$zCoord === 0.0 ? (-1000.0) : jl_Math_atan2($var5.$zCoord, $var5.$xCoord) - 1.5707963267948966;
}
$java.nms_BlockFluid_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_World_getBlockId($par1World, $par2, $par3, $par4) == $this.$blockID) {
            var$6 = $this.$blockMaterial;
            nms_Material_$callClinit();
            if (var$6 === nms_Material_lava) {
                $par5 = 0;
                if (nms_World_getBlockMaterial($par1World, $par2, $par3, $par4 - 1 | 0) === nms_Material_water)
                    $par5 = 1;
                if (!(!$par5 && nms_World_getBlockMaterial($par1World, $par2, $par3, $par4 + 1 | 0) !== nms_Material_water))
                    $par5 = 1;
                if (!(!$par5 && nms_World_getBlockMaterial($par1World, $par2 - 1 | 0, $par3, $par4) !== nms_Material_water))
                    $par5 = 1;
                if (!(!$par5 && nms_World_getBlockMaterial($par1World, $par2 + 1 | 0, $par3, $par4) !== nms_Material_water))
                    $par5 = 1;
                if (!(!$par5 && nms_World_getBlockMaterial($par1World, $par2, $par3 + 1 | 0, $par4) !== nms_Material_water))
                    $par5 = 1;
                if ($par5) {
                    $par5 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
                    if (!$par5) {
                        nms_Block_$callClinit();
                        $par5 = nms_Block_obsidian.$blockID;
                        $ptr = 1;
                        continue main;
                    }
                    if ($par5 > 4) {
                        $ptr = 2;
                        continue main;
                    }
                    nms_Block_$callClinit();
                    $par5 = nms_Block_cobblestone.$blockID;
                    $ptr = 3;
                    continue main;
                }
            }
        }
        return;
    case 1:
        nms_World_setBlock0($par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $java.nms_BlockFluid_triggerLavaMixEffects($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_World_setBlock0($par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, var$6, $ptr);
};
$java.nms_BlockFluid_triggerLavaMixEffects = function($this, $par1World, $par2, $par3, $par4) {
    var $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $rt_s(1015), 0.5, 2.5999999046325684 + (nle_EaglercraftRandom_nextFloat($par1World.$rand) - nle_EaglercraftRandom_nextFloat($par1World.$rand)) * 0.800000011920929);
        $var5 = 0;
        var$6 = $par2;
        var$7 = $par3 + 1.2;
        var$8 = $par4;
        if ($var5 >= 8)
            return;
        var$9 = $rt_s(1050);
        var$10 = var$6 + jl_Math_random();
        var$11 = var$8 + jl_Math_random();
        var$12 = 0.0;
        var$13 = 0.0;
        var$14 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1World, var$9, var$10, var$7, var$11, var$12, var$13, var$14);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $var5 + 1 | 0;
        if ($var5 >= 8)
            return;
        var$9 = $rt_s(1050);
        var$10 = var$6 + jl_Math_random();
        var$11 = var$8 + jl_Math_random();
        var$12 = 0.0;
        var$13 = 0.0;
        var$14 = 0.0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
};
$java.nms_BlockFluid_registerIcons = function($this, $par1IconRegister) {
    var var$2, var$3, var$4;
    var$2 = $this.$blockMaterial;
    nms_Material_$callClinit();
    if (var$2 !== nms_Material_lava) {
        var$3 = $rt_createArray(nms_Icon, 2);
        var$4 = var$3.data;
        var$4[0] = $par1IconRegister.$registerIcon($rt_s(955));
        var$4[1] = $par1IconRegister.$registerIcon($rt_s(956));
        $this.$theIcon0 = var$3;
    } else {
        var$3 = $rt_createArray(nms_Icon, 2);
        var$4 = var$3.data;
        var$4[0] = $par1IconRegister.$registerIcon($rt_s(957));
        var$4[1] = $par1IconRegister.$registerIcon($rt_s(958));
        $this.$theIcon0 = var$3;
    }
};
function nms_ItemMinecart() {
    nms_Item.call(this);
    this.$minecartType = 0;
}
function nms_ItemMinecart__init_(var_0, var_1) {
    var var_2 = new nms_ItemMinecart();
    $java.nms_ItemMinecart__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemMinecart__init_ = function($this, $par1, $par2) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 1;
    $this.$minecartType = $par2;
    $this.$tabToDisplayOn = $java.nms_CreativeTabs_tabTransport;
};
$java.nms_ItemMinecart_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    if (!nms_BlockRailBase_isRailBlock(nms_World_getBlockId($par3World, $par4, $par5, $par6)))
        return 0;
    $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    return 1;
};
function nms_ItemSaddle() {
    nms_Item.call(this);
}
function nms_ItemSaddle__init_(var_0) {
    var var_1 = new nms_ItemSaddle();
    $java.nms_ItemSaddle__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemSaddle__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 1;
    $this.$tabToDisplayOn = $java.nms_CreativeTabs_tabTransport;
};
$java.nms_ItemSaddle_itemInteractionForEntity = function($this, $par1ItemStack, $par2EntityLiving) {
    var $var3;
    if (!($par2EntityLiving instanceof nms_EntityPig))
        return 0;
    $var3 = $par2EntityLiving;
    if (!nms_EntityPig_getSaddled($var3) && !nms_EntityAgeable_isChild($var3)) {
        nms_EntityPig_setSaddled($var3, 1);
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    }
    return 1;
};
$java.nms_ItemSaddle_hitEntity = function($this, $par1ItemStack, $par2EntityLiving, $par3EntityLiving) {
    $java.nms_ItemSaddle_itemInteractionForEntity($this, $par1ItemStack, $par2EntityLiving);
    return 1;
};
function nms_ItemRedstone() {
    nms_Item.call(this);
}
function nms_ItemRedstone__init_(var_0) {
    var var_1 = new nms_ItemRedstone();
    $java.nms_ItemRedstone__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemRedstone__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$tabToDisplayOn = nms_CreativeTabs_tabRedstone;
};
$java.nms_ItemRedstone_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$11 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
        nms_Block_$callClinit();
        if (var$11 != nms_Block_snow.$blockID) {
            if (!$par7)
                $par5 = $par5 + (-1) | 0;
            if ($par7 == 1)
                $par5 = $par5 + 1 | 0;
            if ($par7 == 2)
                $par6 = $par6 + (-1) | 0;
            if ($par7 == 3)
                $par6 = $par6 + 1 | 0;
            if ($par7 == 4)
                $par4 = $par4 + (-1) | 0;
            if ($par7 == 5)
                $par4 = $par4 + 1 | 0;
            if (!nms_World_isAirBlock($par3World, $par4, $par5, $par6))
                return 0;
        }
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        if (!$java.nms_BlockRedstoneWire_canPlaceBlockAt(nms_Block_redstoneWire, $par3World, $par4, $par5, $par6))
            return 1;
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        $par7 = nms_Block_redstoneWire.$blockID;
        $ptr = 1;
    case 1:
        nms_World_setBlock0($par3World, $par4, $par5, $par6, $par7);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, var$11, $ptr);
};
function nms_ItemSnowball() {
    nms_Item.call(this);
}
function nms_ItemSnowball__init_(var_0) {
    var var_1 = new nms_ItemSnowball();
    $java.nms_ItemSnowball__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemSnowball__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 16;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMisc;
};
$java.nms_ItemSnowball_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    if (!$par3EntityPlayer.$capabilities.$isCreativeMode)
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    nms_Item_$callClinit();
    nms_World_playSoundAtEntity($par2World, $par3EntityPlayer, $rt_s(1186), 0.5, 0.4000000059604645 / (nle_EaglercraftRandom_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929));
    return $par1ItemStack;
};
function nms_ItemBoat() {
    nms_Item.call(this);
}
function nms_ItemBoat__init_(var_0) {
    var var_1 = new nms_ItemBoat();
    $java.nms_ItemBoat__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemBoat__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 1;
    $this.$tabToDisplayOn = $java.nms_CreativeTabs_tabTransport;
};
$java.nms_ItemBoat_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    var $var4, $var5, $var6, $var7, $var9, var$9, $var11, $var13, $var14, $var15, $var16, $var17, $var18, $var20, $var21, $var23, $var26, $var24, $var25, $var28, $var29, $var30, $var31, $var33, $var34, $var35, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var35 = $thread.pop();$var34 = $thread.pop();$var33 = $thread.pop();$var31 = $thread.pop();$var30 = $thread.pop();$var29 = $thread.pop();$var28 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var26 = $thread.pop();$var23 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();var$9 = $thread.pop();$var9
        = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3EntityPlayer = $thread.pop();$par2World = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = 1.0;
        $var5 = $par3EntityPlayer.$prevRotationPitch + ($par3EntityPlayer.$rotationPitch - $par3EntityPlayer.$prevRotationPitch) * $var4;
        $var6 = $par3EntityPlayer.$prevRotationYaw + ($par3EntityPlayer.$rotationYaw - $par3EntityPlayer.$prevRotationYaw) * $var4;
        $var7 = $par3EntityPlayer.$prevPosX;
        $var9 = $par3EntityPlayer.$posX - $par3EntityPlayer.$prevPosX;
        var$9 = 1.0;
        $var7 = $var7 + $var9 * var$9;
        $var9 = $par3EntityPlayer.$prevPosY + ($par3EntityPlayer.$posY - $par3EntityPlayer.$prevPosY) * var$9 + 1.62 - $par3EntityPlayer.$yOffset;
        $var11 = $par3EntityPlayer.$prevPosZ + ($par3EntityPlayer.$posZ - $par3EntityPlayer.$prevPosZ) * var$9;
        $var13 = nms_Vec3Pool_getVecFromPool($par2World.$vecPool, $var7, $var9, $var11);
        $var6 =  -$var6 * 0.01745329238474369 - 3.1415927410125732;
        $var14 = nms_MathHelper_cos($var6);
        $var15 = nms_MathHelper_sin($var6);
        $var6 =  -$var5 * 0.01745329238474369;
        $var16 =  -nms_MathHelper_cos($var6);
        $var17 = nms_MathHelper_sin($var6);
        $var18 = $var15 * $var16;
        $var20 = $var14 * $var16;
        $var21 = 5.0;
        $var23 = nms_Vec3_addVector($var13, $var18 * $var21, $var17 * $var21, $var20 * $var21);
        $var26 = 1;
        $ptr = 1;
    case 1:
        $tmp = nms_World_rayTraceBlocks_do($par2World, $var13, $var23, $var26);
        if ($rt_suspending()) {
            break main;
        }
        $var24 = $tmp;
        if ($var24 === null)
            return $par1ItemStack;
        $var25 = nms_EntityLiving_getLook($par3EntityPlayer, $var4);
        $var26 = 0;
        $var28 = nms_World_getEntitiesWithinAABBExcludingEntity($par2World, $par3EntityPlayer, nms_AxisAlignedBB_expand(nms_AxisAlignedBB_addCoord($par3EntityPlayer.$boundingBox, $var25.$xCoord * $var21, $var25.$yCoord * $var21, $var25.$zCoord * $var21), var$9, var$9, var$9));
        $var29 = 0;
        while ($var29 < $var28.$size) {
            $var30 = ju_ArrayList_get($var28, $var29);
            if ($var30.$canBeCollidedWith()) {
                $var31 = $var30.$getCollisionBorderSize();
                $var23 = $var30.$boundingBox;
                $var7 = $var31;
                if (nms_AxisAlignedBB_isVecInside(nms_AxisAlignedBB_expand($var23, $var7, $var7, $var7), $var13))
                    $var26 = 1;
            }
            $var29 = $var29 + 1 | 0;
        }
        if ($var26)
            return $par1ItemStack;
        if ($var24.$typeOfHit !== nms_EnumMovingObjectType_TILE)
            return $par1ItemStack;
        $var26 = $var24.$blockX;
        $var33 = $var24.$blockY;
        $var34 = $var24.$blockZ;
        $var29 = nms_World_getBlockId($par2World, $var26, $var33, $var34);
        nms_Block_$callClinit();
        if ($var29 == nms_Block_snow.$blockID)
            $var33 = $var33 + (-1) | 0;
        $var35 = nms_EntityBoat__init_1($par2World, $var26 + 0.5, $var33 + 1.0, $var34 + 0.5);
        $var35.$rotationYaw = ((nms_MathHelper_floor_double($par3EntityPlayer.$rotationYaw * 4.0 / 360.0 + 0.5) & 3) - 1 | 0) * 90 | 0;
        $var13 = nms_AxisAlignedBB_expand($var35.$boundingBox, (-0.1), (-0.1), (-0.1));
        $ptr = 2;
    case 2:
        $tmp = nms_World_getCollidingBoundingBoxes($par2World, $var35, $var13);
        if ($rt_suspending()) {
            break main;
        }
        $par2World = $tmp;
        if (!ju_AbstractCollection_isEmpty($par2World))
            return $par1ItemStack;
        if (!$par3EntityPlayer.$capabilities.$isCreativeMode)
            $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        return $par1ItemStack;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2World, $par3EntityPlayer, $var4, $var5, $var6, $var7, $var9, var$9, $var11, $var13, $var14, $var15, $var16, $var17, $var18, $var20, $var21, $var23, $var26, $var24, $var25, $var28, $var29, $var30, $var31, $var33, $var34, $var35, $ptr);
};
function nms_ItemBucketMilk() {
    nms_Item.call(this);
}
function nms_ItemBucketMilk__init_(var_0) {
    var var_1 = new nms_ItemBucketMilk();
    $java.nms_ItemBucketMilk__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemBucketMilk__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 1;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMisc;
};
$java.nms_ItemBucketMilk_onEaten = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    if (!$par3EntityPlayer.$capabilities.$isCreativeMode)
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    if ($par1ItemStack.$stackSize <= 0) {
        $par1ItemStack = new nms_ItemStack;
        nms_Item_$callClinit();
        nms_ItemStack__init_7($par1ItemStack, nms_Item_bucketEmpty);
    }
    return $par1ItemStack;
};
$java.nms_ItemBucketMilk_getMaxItemUseDuration = function($this, $par1ItemStack) {
    return 32;
};
$java.nms_ItemBucketMilk_getItemUseAction = function($this, $par1ItemStack) {
    return nms_EnumAction_drink;
};
$java.nms_ItemBucketMilk_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    nms_EntityPlayer_setItemInUse($par3EntityPlayer, $par1ItemStack, 32);
    return $par1ItemStack;
};
function nms_ItemBook() {
    nms_Item.call(this);
}
function nms_ItemBook__init_(var_0) {
    var var_1 = new nms_ItemBook();
    $java.nms_ItemBook__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemBook__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
};
$java.nms_ItemBook_isItemTool = function($this, $par1ItemStack) {
    return $par1ItemStack.$stackSize != 1 ? 0 : 1;
};
$java.nms_ItemBook_getItemEnchantability = function($this) {
    return 1;
};
function nms_ItemEgg() {
    nms_Item.call(this);
}
function nms_ItemEgg__init_(var_0) {
    var var_1 = new nms_ItemEgg();
    $java.nms_ItemEgg__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemEgg__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 16;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMaterials;
};
$java.nms_ItemEgg_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    if (!$par3EntityPlayer.$capabilities.$isCreativeMode)
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    nms_Item_$callClinit();
    nms_World_playSoundAtEntity($par2World, $par3EntityPlayer, $rt_s(1186), 0.5, 0.4000000059604645 / (nle_EaglercraftRandom_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929));
    return $par1ItemStack;
};
function nms_ItemFishingRod() {
    nms_Item.call(this);
    this.$theIcon3 = null;
}
function nms_ItemFishingRod__init_(var_0) {
    var var_1 = new nms_ItemFishingRod();
    $java.nms_ItemFishingRod__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemFishingRod__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxDamage = 64;
    $this.$maxStackSize = 1;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabTools;
};
$java.nms_ItemFishingRod_isFull3D = function($this) {
    return 1;
};
$java.nms_ItemFishingRod_shouldRotateAroundWhenRendering = function($this) {
    return 1;
};
$java.nms_ItemFishingRod_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    var $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$par3EntityPlayer = $thread.pop();$par2World = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par3EntityPlayer.$fishEntity === null) {
            nms_Item_$callClinit();
            nms_World_playSoundAtEntity($par2World, $par3EntityPlayer, $rt_s(1186), 0.5, 0.4000000059604645 / (nle_EaglercraftRandom_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929));
            nms_EntityClientPlayerMP_swingItem($par3EntityPlayer);
            return $par1ItemStack;
        }
        $var4 = 0;
        $ptr = 1;
    case 1:
        nms_ItemStack_damageItem($par1ItemStack, $var4, $par3EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityClientPlayerMP_swingItem($par3EntityPlayer);
        return $par1ItemStack;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2World, $par3EntityPlayer, $var4, $ptr);
};
$java.nms_ItemFishingRod_registerIcons = function($this, $par1IconRegister) {
    nms_Item_registerIcons($this, $par1IconRegister);
    $this.$theIcon3 = nms_TextureMap_registerIcon($par1IconRegister, $rt_s(2238));
};
$java.nms_ItemFishingRod_func_94597_g = function($this) {
    return $this.$theIcon3;
};
function nms_ItemDye() {
    nms_Item.call(this);
    this.$field_94594_d = null;
}
$java.nms_ItemDye_dyeColorNames = null;
$java.nms_ItemDye_field_94595_b = null;
$java.nms_ItemDye_dyeColors = null;
function nms_ItemDye__init_(var_0) {
    var var_1 = new nms_ItemDye();
    $java.nms_ItemDye__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemDye__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$hasSubtypes = 1;
    $this.$maxDamage = 0;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMaterials;
};
$java.nms_ItemDye_getIconFromDamage = function($this, $par1) {
    var $var2;
    $var2 = nms_MathHelper_clamp_int($par1, 0, 15);
    return $this.$field_94594_d.data[$var2];
};
$java.nms_ItemDye_getUnlocalizedName = function($this, $par1ItemStack) {
    var $var2;
    $var2 = nms_MathHelper_clamp_int($par1ItemStack.$itemDamage, 0, 15);
    $par1ItemStack = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($par1ItemStack);
    jl_AbstractStringBuilder_append($par1ItemStack, nms_Item_getUnlocalizedName($this));
    jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(339));
    jl_AbstractStringBuilder_append($par1ItemStack, $java.nms_ItemDye_dyeColorNames.data[$var2]);
    return jl_AbstractStringBuilder_toString($par1ItemStack);
};
$java.nms_ItemDye_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var $var11, $var12, $var13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        a: {
            if ($par1ItemStack.$itemDamage == 15) {
                $par7 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
                nms_Block_$callClinit();
                if ($par7 == nms_Block_sapling.$blockID)
                    $par4 = 1;
                else if ($par7 != nms_Block_mushroomBrown.$blockID && $par7 != nms_Block_mushroomRed.$blockID) {
                    if ($par7 != nms_Block_melonStem.$blockID && $par7 != nms_Block_pumpkinStem.$blockID) {
                        if ($par7 > 0 && nms_Block_blocksList.data[$par7] instanceof nms_BlockCrops)
                            $par4 = nms_World_getBlockMetadata($par3World, $par4, $par5, $par6) != 7 ? 1 : 0;
                        else if ($par7 != nms_Block_cocoaPlant.$blockID)
                            $par4 = $par7 == nms_Block_grass.$blockID ? 1 : 0;
                        else {
                            $par4 = nms_World_getBlockMetadata($par3World, $par4, $par5, $par6);
                            nms_BlockDirectional_getDirection($par4);
                            $par4 = nms_BlockCocoa_func_72219_c($par4) < 2 ? 1 : 0;
                        }
                    } else
                        $par4 = nms_World_getBlockMetadata($par3World, $par4, $par5, $par6) != 7 ? 1 : 0;
                } else
                    $par4 = 1;
                if (!$par4)
                    break a;
                return 1;
            }
            if ($par1ItemStack.$itemDamage == 3) {
                $var11 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
                $var12 = nms_World_getBlockMetadata($par3World, $par4, $par5, $par6);
                nms_Block_$callClinit();
                if ($var11 == nms_Block_wood.$blockID && $java.nms_BlockLog_limitToValidMetadata($var12) == 3) {
                    if (!$par7)
                        return 0;
                    if ($par7 == 1)
                        return 0;
                    if ($par7 == 2)
                        $par6 = $par6 + (-1) | 0;
                    if ($par7 == 3)
                        $par6 = $par6 + 1 | 0;
                    if ($par7 == 4)
                        $par4 = $par4 + (-1) | 0;
                    if ($par7 == 5)
                        $par4 = $par4 + 1 | 0;
                    if (!nms_World_isAirBlock($par3World, $par4, $par5, $par6))
                        return 1;
                    $var13 = nms_Block_blocksList.data[nms_Block_cocoaPlant.$blockID].$onBlockPlaced($par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, 0);
                    $par7 = nms_Block_cocoaPlant.$blockID;
                    $var11 = 2;
                    $ptr = 1;
                    continue main;
                }
            }
        }
        return 0;
    case 1:
        nms_World_setBlock($par3World, $par4, $par5, $par6, $par7, $var13, $var11);
        if ($rt_suspending()) {
            break main;
        }
        if (!$par2EntityPlayer.$capabilities.$isCreativeMode)
            $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, $var11, $var12, $var13, $ptr);
};
function nms_ItemDye_func_96603_a($par0World, $par1, $par2, $par3, $par4) {
    var $var5, $var6, $var7, var$9, var$10, var$11, $var8, $var10, $var12, var$15, var$16, var$17, var$18, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$par0World = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = nms_World_getBlockId($par0World, $par1, $par2, $par3);
        if (!$par4)
            $par4 = 15;
        a: {
            if ($var5 > 0) {
                nms_Block_$callClinit();
                if ($var5 < nms_Block_blocksList.data.length) {
                    $var6 = nms_Block_blocksList.data[$var5];
                    break a;
                }
            }
            $var6 = null;
        }
        if ($var6 === null)
            return;
        $ptr = 1;
    case 1:
        $var6.$setBlockBoundsBasedOnState($par0World, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = 0;
        var$9 = $par1;
        var$10 = $par2;
        var$11 = $par3;
        if ($var7 >= $par4)
            return;
        nms_Item_$callClinit();
        $var8 = nle_EaglercraftRandom_nextGaussian(nms_Item_itemRand) * 0.02;
        $var10 = nle_EaglercraftRandom_nextGaussian(nms_Item_itemRand) * 0.02;
        $var12 = nle_EaglercraftRandom_nextGaussian(nms_Item_itemRand) * 0.02;
        var$15 = $rt_s(1183);
        var$16 = var$9 + nle_EaglercraftRandom_nextFloat(nms_Item_itemRand);
        var$17 = var$10 + nle_EaglercraftRandom_nextFloat(nms_Item_itemRand) * $var6.$maxY0;
        var$18 = var$11 + nle_EaglercraftRandom_nextFloat(nms_Item_itemRand);
        $ptr = 2;
    case 2:
        nms_World_spawnParticle($par0World, var$15, var$16, var$17, var$18, $var8, $var10, $var12);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $var7 + 1 | 0;
        if ($var7 >= $par4)
            return;
        nms_Item_$callClinit();
        $var8 = nle_EaglercraftRandom_nextGaussian(nms_Item_itemRand) * 0.02;
        $var10 = nle_EaglercraftRandom_nextGaussian(nms_Item_itemRand) * 0.02;
        $var12 = nle_EaglercraftRandom_nextGaussian(nms_Item_itemRand) * 0.02;
        var$15 = $rt_s(1183);
        var$16 = var$9 + nle_EaglercraftRandom_nextFloat(nms_Item_itemRand);
        var$17 = var$10 + nle_EaglercraftRandom_nextFloat(nms_Item_itemRand) * $var6.$maxY0;
        var$18 = var$11 + nle_EaglercraftRandom_nextFloat(nms_Item_itemRand);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($par0World, $par1, $par2, $par3, $par4, $var5, $var6, $var7, var$9, var$10, var$11, $var8, $var10, $var12, var$15, var$16, var$17, var$18, $ptr);
}
$java.nms_ItemDye_itemInteractionForEntity = function($this, $par1ItemStack, $par2EntityLiving) {
    var $var3, $var4;
    if (!($par2EntityLiving instanceof nms_EntitySheep))
        return 0;
    $var3 = $par2EntityLiving;
    $var4 = nms_BlockCloth_getBlockFromDye($par1ItemStack.$itemDamage);
    if (!nms_EntitySheep_getSheared($var3) && nms_EntitySheep_getFleeceColor($var3) != $var4) {
        nms_EntitySheep_setFleeceColor($var3, $var4);
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    }
    return 1;
};
$java.nms_ItemDye_getSubItems = function($this, $par1, $par2CreativeTabs, $par3List) {
    var $var4;
    $var4 = 0;
    while ($var4 < 16) {
        ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, $var4));
        $var4 = $var4 + 1 | 0;
    }
};
$java.nms_ItemDye_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$field_94594_d = $rt_createArray(nms_Icon, $java.nms_ItemDye_field_94595_b.data.length);
    $var2 = 0;
    while ($var2 < $java.nms_ItemDye_field_94595_b.data.length) {
        $this.$field_94594_d.data[$var2] = nms_TextureMap_registerIcon($par1IconRegister, $java.nms_ItemDye_field_94595_b.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
function nms_ItemDye__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 16);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2239);
    var$2[1] = $rt_s(2240);
    var$2[2] = $rt_s(2241);
    var$2[3] = $rt_s(2242);
    var$2[4] = $rt_s(2243);
    var$2[5] = $rt_s(2244);
    var$2[6] = $rt_s(2245);
    var$2[7] = $rt_s(2246);
    var$2[8] = $rt_s(2247);
    var$2[9] = $rt_s(2248);
    var$2[10] = $rt_s(2249);
    var$2[11] = $rt_s(2250);
    var$2[12] = $rt_s(2251);
    var$2[13] = $rt_s(2252);
    var$2[14] = $rt_s(2253);
    var$2[15] = $rt_s(2254);
    $java.nms_ItemDye_dyeColorNames = var$1;
    var$1 = $rt_createArray(jl_String, 16);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2255);
    var$2[1] = $rt_s(2256);
    var$2[2] = $rt_s(2257);
    var$2[3] = $rt_s(2258);
    var$2[4] = $rt_s(2259);
    var$2[5] = $rt_s(2260);
    var$2[6] = $rt_s(2261);
    var$2[7] = $rt_s(2262);
    var$2[8] = $rt_s(2263);
    var$2[9] = $rt_s(2264);
    var$2[10] = $rt_s(2265);
    var$2[11] = $rt_s(2266);
    var$2[12] = $rt_s(2267);
    var$2[13] = $rt_s(2268);
    var$2[14] = $rt_s(2269);
    var$2[15] = $rt_s(2270);
    $java.nms_ItemDye_field_94595_b = var$1;
    var$1 = $rt_createIntArray(16);
    var$2 = var$1.data;
    var$2[0] = 1973019;
    var$2[1] = 11743532;
    var$2[2] = 3887386;
    var$2[3] = 5320730;
    var$2[4] = 2437522;
    var$2[5] = 8073150;
    var$2[6] = 2651799;
    var$2[7] = 11250603;
    var$2[8] = 4408131;
    var$2[9] = 14188952;
    var$2[10] = 4312372;
    var$2[11] = 14602026;
    var$2[12] = 6719955;
    var$2[13] = 12801229;
    var$2[14] = 15435844;
    var$2[15] = 15790320;
    $java.nms_ItemDye_dyeColors = var$1;
}
function nms_ItemBed() {
    nms_Item.call(this);
}
function nms_ItemBed__init_(var_0) {
    var var_1 = new nms_ItemBed();
    $java.nms_ItemBed__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemBed__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$tabToDisplayOn = nms_CreativeTabs_tabDecorations;
};
$java.nms_ItemBed_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    return 1;
};
function nms_ItemMapBase() {
    nms_Item.call(this);
}
function nms_ItemMap() {
    nms_ItemMapBase.call(this);
}
function nms_ItemMap__init_(var_0) {
    var var_1 = new nms_ItemMap();
    $java.nms_ItemMap__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemMap__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$hasSubtypes = 1;
};
function nms_ItemMap_getMapData($this, $par1ItemStack, $par2World) {
    var $var3;
    $var3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var3);
    jl_AbstractStringBuilder_append($var3, $rt_s(2271));
    jl_AbstractStringBuilder_append2($var3, $par1ItemStack.$itemDamage);
    return nms_World_loadItemData($par2World, $rt_cls(nms_MapData), jl_AbstractStringBuilder_toString($var3));
}
$java.nms_ItemMap_onUpdate = function($this, $par1ItemStack, $par2World, $par3Entity, $par4, $par5) {
    return;
};
$java.nms_ItemMap_onCreated = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    var $var4, $var5;
    if (nms_ItemStack_hasTagCompound($par1ItemStack) && nms_NBTTagCompound_getBoolean($par1ItemStack.$stackTagCompound, $rt_s(2272))) {
        nms_Item_$callClinit();
        $var4 = nms_ItemMap_getMapData(nms_Item_map, $par1ItemStack, $par2World);
        nms_ItemStack_setItemDamage($par1ItemStack, nms_World_getUniqueDataId($par2World, $rt_s(1808)));
        $var5 = new nms_MapData;
        $par3EntityPlayer = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par3EntityPlayer);
        jl_AbstractStringBuilder_append($par3EntityPlayer, $rt_s(2271));
        jl_AbstractStringBuilder_append2($par3EntityPlayer, $par1ItemStack.$itemDamage);
        $java.nms_MapData__init_($var5, jl_AbstractStringBuilder_toString($par3EntityPlayer));
        $var5.$scale2 = ($var4.$scale2 + 1 | 0) << 24 >> 24;
        if ($var5.$scale2 > 4)
            $var5.$scale2 = 4;
        $var5.$xCenter = $var4.$xCenter;
        $var5.$zCenter = $var4.$zCenter;
        $var5.$dimension0 = $var4.$dimension0;
        $java.nms_WorldSavedData_markDirty($var5);
        $par3EntityPlayer = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par3EntityPlayer);
        jl_AbstractStringBuilder_append($par3EntityPlayer, $rt_s(2271));
        jl_AbstractStringBuilder_append2($par3EntityPlayer, $par1ItemStack.$itemDamage);
        nms_World_setItemData($par2World, jl_AbstractStringBuilder_toString($par3EntityPlayer), $var5);
    }
};
$java.nms_ItemMap_addInformation = function($this, $par1ItemStack, $par2EntityPlayer, $par3List, $par4) {
    var $var5;
    $var5 = nms_ItemMap_getMapData($this, $par1ItemStack, $par2EntityPlayer.$worldObj);
    if ($par4) {
        if ($var5 === null)
            ju_ArrayList_add($par3List, $rt_s(2273));
        else {
            $par1ItemStack = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par1ItemStack);
            jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(2274));
            jl_AbstractStringBuilder_append2($par1ItemStack, 1 << $var5.$scale2);
            ju_ArrayList_add($par3List, jl_AbstractStringBuilder_toString($par1ItemStack));
            $par1ItemStack = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par1ItemStack);
            jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(2275));
            jl_AbstractStringBuilder_append2($par1ItemStack, $var5.$scale2);
            jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(61));
            jl_AbstractStringBuilder_append2($par1ItemStack, 4);
            jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(68));
            ju_ArrayList_add($par3List, jl_AbstractStringBuilder_toString($par1ItemStack));
        }
    }
};
$java.nms_ItemMap_getMapById = function($theWorld, $id) {
    var $var3, $var2;
    $var3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var3);
    jl_AbstractStringBuilder_append($var3, $rt_s(2271));
    jl_AbstractStringBuilder_append2($var3, $id);
    $var2 = jl_AbstractStringBuilder_toString($var3);
    $var3 = nms_World_loadItemData($theWorld, $rt_cls(nms_MapData), $var2);
    if ($var3 === null) {
        $var3 = $java.nms_MapData__init_0($var2);
        nms_World_setItemData($theWorld, $var2, $var3);
    }
    return $var3;
};
$java.nms_ItemMap_processVideoMap = function($theWorld, $data) {
    var $dat, $op, $count, $w, $h, $y, $x, $ttl, $fullResetPacket, $positionPacket, $fps, $url, $wf, $hf, $mp, $v, $time, $e, $$je;
    if (!nlea_EaglerAdapterImpl2_isVideoSupported())
        return;
    a: {
        try {
            $dat = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_($data));
            $op = ji_FilterInputStream_read($dat);
            if (!$op) {
                $count = ji_FilterInputStream_read($dat);
                $w = $count >> 4 & 15;
                $h = $count & 15;
                $y = 0;
                while ($y < $h) {
                    $x = 0;
                    while ($x < $w) {
                        $java.nms_ItemMap_getMapById($theWorld, ji_DataInputStream_readUnsignedShort($dat)).$enableVideoPlayback = 0;
                        $x = $x + 1 | 0;
                    }
                    $y = $y + 1 | 0;
                }
                nlea_EaglerAdapterImpl2_unloadVideo();
            } else if ($op == 8) {
                $ttl = ji_DataInputStream_readInt($dat);
                nlea_EaglerAdapterImpl2_bufferVideo(ji_DataInputStream_readUTF($dat), $ttl);
            } else {
                $fullResetPacket = ($op & 2) != 2 ? 0 : 1;
                $positionPacket = ($op & 4) != 4 ? 0 : 1;
                $fps = 0;
                $url = null;
                if ($fullResetPacket) {
                    $count = ji_FilterInputStream_read($dat);
                    $w = $count >> 4 & 15;
                    $h = $count & 15;
                    $wf = 1.0 / $w;
                    $hf = 1.0 / $h;
                    $y = 0;
                    while ($y < $h) {
                        $x = 0;
                        while ($x < $w) {
                            $mp = $java.nms_ItemMap_getMapById($theWorld, ji_DataInputStream_readUnsignedShort($dat));
                            $mp.$videoX1 = $x * $wf;
                            $mp.$videoY1 = $y * $hf;
                            $mp.$videoX2 = $mp.$videoX1 + $wf;
                            $mp.$videoY2 = $mp.$videoY1 + $hf;
                            $mp.$enableVideoPlayback = 1;
                            $x = $x + 1 | 0;
                        }
                        $y = $y + 1 | 0;
                    }
                    $fps = ji_FilterInputStream_read($dat);
                    ji_DataInputStream_readInt($dat);
                    $url = ji_DataInputStream_readUTF($dat);
                }
                if ($positionPacket) {
                    $v = ji_DataInputStream_readFloat($dat);
                    nlea_EaglerAdapterImpl2_setVideoVolume(ji_DataInputStream_readDouble($dat), ji_DataInputStream_readDouble($dat), ji_DataInputStream_readDouble($dat), $v);
                }
                if ($fullResetPacket) {
                    nlea_EaglerAdapterImpl2_setVideoFrameRate($fps);
                    nlea_EaglerAdapterImpl2_loadVideo($url, 1);
                }
                $time = ji_DataInputStream_readInt($dat);
                if (nms_MathHelper_abs_int($time - (nlea_EaglerAdapterImpl2_getVideoCurrentTime() * 1000.0 | 0) | 0) > 1000)
                    nlea_EaglerAdapterImpl2_setVideoCurrentTime($time * 0.0010000000474974513);
                nlea_EaglerAdapterImpl2_setVideoLoop(ji_DataInputStream_readBoolean($dat));
                nlea_EaglerAdapterImpl2_setVideoPaused(ji_DataInputStream_readBoolean($dat));
            }
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $theWorld = jl_System_err();
        $mp = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($mp);
        jl_AbstractStringBuilder_append($mp, $rt_s(2276));
        jl_AbstractStringBuilder_append($mp, jl_Throwable_toString($e));
        ji_PrintStream_println($theWorld, jl_AbstractStringBuilder_toString($mp));
        jl_Throwable_printStackTrace($e);
    }
};
$java.nms_ItemMap_processImageMap = function($theWorld, $data) {
    var $dat, $op, $count, $w, $h, $y, $x, $ttl, $fullResetPacket, $fps, $url, $wf, $hf, $mp, $e, $$je;
    nlea_EaglerAdapterImpl2_$callClinit();
    a: {
        try {
            $dat = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_($data));
            $op = ji_FilterInputStream_read($dat);
            if (!$op) {
                $count = ji_FilterInputStream_read($dat);
                $w = $count >> 4 & 15;
                $h = $count & 15;
                $y = 0;
                while ($y < $h) {
                    $x = 0;
                    while ($x < $w) {
                        $java.nms_ItemMap_getMapById($theWorld, ji_DataInputStream_readUnsignedShort($dat)).$enableVideoPlayback = 0;
                        $x = $x + 1 | 0;
                    }
                    $y = $y + 1 | 0;
                }
                nlea_EaglerAdapterImpl2_unloadImage();
            } else if ($op == 8) {
                $ttl = ji_DataInputStream_readInt($dat);
                nlea_EaglerAdapterImpl2_bufferImage(ji_DataInputStream_readUTF($dat), $ttl);
            } else {
                $fullResetPacket = ($op & 2) != 2 ? 0 : 1;
                $fps = 0;
                $url = null;
                if ($fullResetPacket) {
                    $count = ji_FilterInputStream_read($dat);
                    $w = $count >> 4 & 15;
                    $h = $count & 15;
                    $wf = 1.0 / $w;
                    $hf = 1.0 / $h;
                    $y = 0;
                    while ($y < $h) {
                        $x = 0;
                        while ($x < $w) {
                            $mp = $java.nms_ItemMap_getMapById($theWorld, ji_DataInputStream_readUnsignedShort($dat));
                            $mp.$videoX1 = $x * $wf;
                            $mp.$videoY1 = $y * $hf;
                            $mp.$videoX2 = $mp.$videoX1 + $wf;
                            $mp.$videoY2 = $mp.$videoY1 + $hf;
                            $mp.$enableVideoPlayback = 1;
                            $x = $x + 1 | 0;
                        }
                        $y = $y + 1 | 0;
                    }
                    $fps = ji_FilterInputStream_read($dat);
                    ji_DataInputStream_readInt($dat);
                    $url = ji_DataInputStream_readUTF($dat);
                }
                if ($fullResetPacket) {
                    nlea_EaglerAdapterImpl2_setImageFrameRate($fps);
                    nlea_EaglerAdapterImpl2_loadImage($url);
                }
            }
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $theWorld = jl_System_err();
        $mp = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($mp);
        jl_AbstractStringBuilder_append($mp, $rt_s(2277));
        jl_AbstractStringBuilder_append($mp, jl_Throwable_toString($e));
        ji_PrintStream_println($theWorld, jl_AbstractStringBuilder_toString($mp));
        jl_Throwable_printStackTrace($e);
    }
};
function nms_ItemShears() {
    nms_Item.call(this);
}
function nms_ItemShears__init_(var_0) {
    var var_1 = new nms_ItemShears();
    $java.nms_ItemShears__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemShears__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 1;
    $this.$maxDamage = 238;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabTools;
};
$java.nms_ItemShears_onBlockDestroyed = function($this, $par1ItemStack, $par2World, $par3, $par4, $par5, $par6, $par7EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7EntityLiving = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2World = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Block_$callClinit();
        if ($par3 != nms_Block_leaves.$blockID && $par3 != nms_Block_web.$blockID && $par3 != nms_Block_tallGrass.$blockID && $par3 != nms_Block_vine.$blockID && $par3 != nms_Block_tripWire.$blockID)
            return 0;
        $par3 = 1;
        $ptr = 1;
    case 1:
        nms_ItemStack_damageItem($par1ItemStack, $par3, $par7EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2World, $par3, $par4, $par5, $par6, $par7EntityLiving, $ptr);
};
$java.nms_ItemShears_canHarvestBlock = function($this, $par1Block) {
    var var$2;
    var$2 = $par1Block.$blockID;
    nms_Block_$callClinit();
    return var$2 != nms_Block_web.$blockID && $par1Block.$blockID != nms_Block_redstoneWire.$blockID && $par1Block.$blockID != nms_Block_tripWire.$blockID ? 0 : 1;
};
$java.nms_ItemShears_getStrVsBlock = function($this, $par1ItemStack, $par2Block) {
    var var$3;
    var$3 = $par2Block.$blockID;
    nms_Block_$callClinit();
    return var$3 != nms_Block_web.$blockID && $par2Block.$blockID != nms_Block_leaves.$blockID ? ($par2Block.$blockID == nms_Block_cloth.$blockID ? 5.0 : 1.0) : 15.0;
};
function nms_ItemEnderPearl() {
    nms_Item.call(this);
}
function nms_ItemEnderPearl__init_(var_0) {
    var var_1 = new nms_ItemEnderPearl();
    $java.nms_ItemEnderPearl__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemEnderPearl__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 16;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMisc;
};
$java.nms_ItemEnderPearl_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    if ($par3EntityPlayer.$capabilities.$isCreativeMode)
        return $par1ItemStack;
    if ($par3EntityPlayer.$ridingEntity !== null)
        return $par1ItemStack;
    $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    nms_Item_$callClinit();
    nms_World_playSoundAtEntity($par2World, $par3EntityPlayer, $rt_s(1186), 0.5, 0.4000000059604645 / (nle_EaglercraftRandom_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929));
    return $par1ItemStack;
};
function nms_ItemPotion() {
    var a = this; nms_Item.call(a);
    a.$effectCache = null;
    a.$field_94591_c = null;
    a.$field_94590_d = null;
    a.$field_94592_ct = null;
}
$java.nms_ItemPotion_field_77835_b = null;
function nms_ItemPotion__init_(var_0) {
    var var_1 = new nms_ItemPotion();
    $java.nms_ItemPotion__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemPotion__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$effectCache = ju_HashMap__init_();
    $this.$maxStackSize = 1;
    $this.$hasSubtypes = 1;
    $this.$maxDamage = 0;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabBrewing;
};
$java.nms_ItemPotion_getEffects = function($this, $par1ItemStack) {
    var $var6, $var3, $var4, $var5, var$6, var$7, $var2;
    if (nms_ItemStack_hasTagCompound($par1ItemStack) && nms_NBTTagCompound_hasKey($par1ItemStack.$stackTagCompound, $rt_s(2278))) {
        $var6 = ju_ArrayList__init_0();
        $var3 = nms_NBTTagCompound_getTagList($par1ItemStack.$stackTagCompound, $rt_s(2278));
        $var4 = 0;
        while ($var4 < nms_NBTTagList_tagCount($var3)) {
            $var5 = nms_NBTTagList_tagAt($var3, $var4);
            var$6 = nms_NBTTagCompound_getByte($var5, $rt_s(2279));
            var$7 = nms_NBTTagCompound_getByte($var5, $rt_s(2280));
            ju_ArrayList_add($var6, $java.nms_PotionEffect__init_(var$6, nms_NBTTagCompound_getInteger($var5, $rt_s(2281)), var$7, nms_NBTTagCompound_getBoolean($var5, $rt_s(2282))));
            $var4 = $var4 + 1 | 0;
        }
        return $var6;
    }
    $var2 = ju_HashMap_get($this.$effectCache, jl_Integer_valueOf($par1ItemStack.$itemDamage));
    if ($var2 === null) {
        $var2 = $java.nms_PotionHelper_getPotionEffects($par1ItemStack.$itemDamage, 0);
        ju_HashMap_putImpl($this.$effectCache, jl_Integer_valueOf($par1ItemStack.$itemDamage), $var2);
    }
    return $var2;
};
$java.nms_ItemPotion_getEffects0 = function($this, $par1) {
    var $var2;
    $var2 = ju_HashMap_get($this.$effectCache, jl_Integer_valueOf($par1));
    if ($var2 === null) {
        $var2 = $java.nms_PotionHelper_getPotionEffects($par1, 0);
        ju_HashMap_putImpl($this.$effectCache, jl_Integer_valueOf($par1), $var2);
    }
    return $var2;
};
$java.nms_ItemPotion_onEaten = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    var var$4;
    if (!$par3EntityPlayer.$capabilities.$isCreativeMode)
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    if (!$par3EntityPlayer.$capabilities.$isCreativeMode) {
        if ($par1ItemStack.$stackSize <= 0) {
            $par1ItemStack = new nms_ItemStack;
            nms_Item_$callClinit();
            nms_ItemStack__init_7($par1ItemStack, nms_Item_glassBottle);
            return $par1ItemStack;
        }
        var$4 = $par3EntityPlayer.$inventory;
        $par2World = new nms_ItemStack;
        nms_Item_$callClinit();
        nms_ItemStack__init_7($par2World, nms_Item_glassBottle);
        nms_InventoryPlayer_addItemStackToInventory(var$4, $par2World);
    }
    return $par1ItemStack;
};
$java.nms_ItemPotion_getMaxItemUseDuration = function($this, $par1ItemStack) {
    return 32;
};
$java.nms_ItemPotion_getItemUseAction = function($this, $par1ItemStack) {
    return nms_EnumAction_drink;
};
$java.nms_ItemPotion_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    if (!$java.nms_ItemPotion_isSplash($par1ItemStack.$itemDamage)) {
        nms_EntityPlayer_setItemInUse($par3EntityPlayer, $par1ItemStack, 32);
        return $par1ItemStack;
    }
    if (!$par3EntityPlayer.$capabilities.$isCreativeMode)
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    nms_Item_$callClinit();
    nms_World_playSoundAtEntity($par2World, $par3EntityPlayer, $rt_s(1186), 0.5, 0.4000000059604645 / (nle_EaglercraftRandom_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929));
    return $par1ItemStack;
};
$java.nms_ItemPotion_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    return 0;
};
$java.nms_ItemPotion_getIconFromDamage = function($this, $par1) {
    return !$java.nms_ItemPotion_isSplash($par1) ? $this.$field_94590_d : $this.$field_94591_c;
};
$java.nms_ItemPotion_getIconFromDamageForRenderPass = function($this, $par1, $par2) {
    return !$par2 ? $this.$field_94592_ct : $this.$getIconFromDamage($par1);
};
$java.nms_ItemPotion_isSplash = function($par0) {
    return !($par0 & 16384) ? 0 : 1;
};
function nms_ItemPotion_getColorFromDamage($this, $par1) {
    return nms_PotionHelper_func_77915_a($par1, 0);
}
$java.nms_ItemPotion_getColorFromItemStack = function($this, $par1ItemStack, $par2) {
    return $par2 > 0 ? 16777215 : nms_ItemPotion_getColorFromDamage($this, $par1ItemStack.$itemDamage);
};
$java.nms_ItemPotion_requiresMultipleRenderPasses = function($this) {
    return 1;
};
function nms_ItemPotion_isEffectInstant($this, $par1) {
    var $var2, $var3, $var4;
    $var2 = $java.nms_ItemPotion_getEffects0($this, $par1);
    if ($var2 !== null && !ju_AbstractCollection_isEmpty($var2)) {
        $var3 = ju_AbstractList_iterator($var2);
        while (ju_AbstractList$1_hasNext($var3)) {
            $var4 = ju_AbstractList$1_next($var3);
            if (!nms_Potion_potionTypes.data[$var4.$potionID].$isInstant())
                continue;
            else
                return 1;
        }
        return 0;
    }
    return 0;
}
$java.nms_ItemPotion_getItemDisplayName = function($this, $par1ItemStack) {
    var $var2, $var3, $var4, var$5, var$6;
    if (!$par1ItemStack.$itemDamage)
        return jl_String_trim(nms_StatCollector_translateToLocal($rt_s(2283)));
    $var2 = $rt_s(36);
    if ($java.nms_ItemPotion_isSplash($par1ItemStack.$itemDamage)) {
        $var2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var2);
        jl_AbstractStringBuilder_append($var2, jl_String_trim(nms_StatCollector_translateToLocal($rt_s(2284))));
        jl_AbstractStringBuilder_append($var2, $rt_s(343));
        $var2 = jl_AbstractStringBuilder_toString($var2);
    }
    nms_Item_$callClinit();
    $var3 = $java.nms_ItemPotion_getEffects(nms_Item_potion, $par1ItemStack);
    if ($var3 !== null && !ju_AbstractCollection_isEmpty($var3)) {
        $var4 = $java.nms_PotionEffect_getEffectName($var3.$get5(0));
        $par1ItemStack = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1ItemStack);
        jl_AbstractStringBuilder_append($par1ItemStack, $var4);
        jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(2285));
        $var3 = jl_AbstractStringBuilder_toString($par1ItemStack);
        $par1ItemStack = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1ItemStack);
        jl_AbstractStringBuilder_append($par1ItemStack, $var2);
        jl_AbstractStringBuilder_append($par1ItemStack, jl_String_trim(nms_StatCollector_translateToLocal($var3)));
        return jl_AbstractStringBuilder_toString($par1ItemStack);
    }
    var$5 = $par1ItemStack.$itemDamage;
    nms_PotionHelper_$callClinit();
    var$6 = (!$java.nms_PotionHelper_checkFlag(var$5, 5) ? 0 : 16) | (!$java.nms_PotionHelper_checkFlag(var$5, 4) ? 0 : 8) | (!$java.nms_PotionHelper_checkFlag(var$5, 3) ? 0 : 4) | (!$java.nms_PotionHelper_checkFlag(var$5, 2) ? 0 : 2) | (!$java.nms_PotionHelper_checkFlag(var$5, 1) ? 0 : 1);
    $var4 = $java.nms_PotionHelper_potionPrefixes.data[var$6];
    $var2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var2);
    jl_AbstractStringBuilder_append($var2, jl_String_trim(nms_StatCollector_translateToLocal($var4)));
    jl_AbstractStringBuilder_append($var2, $rt_s(343));
    jl_AbstractStringBuilder_append($var2, nms_Item_getItemDisplayName($this, $par1ItemStack));
    return jl_AbstractStringBuilder_toString($var2);
};
$java.nms_ItemPotion_addInformation = function($this, $par1ItemStack, $par2EntityPlayer, $par3List, $par4) {
    var $var5, $var9, $var7, $var8, $var6;
    if ($par1ItemStack.$itemDamage) {
        nms_Item_$callClinit();
        $var5 = $java.nms_ItemPotion_getEffects(nms_Item_potion, $par1ItemStack);
        if ($var5 !== null && !ju_AbstractCollection_isEmpty($var5)) {
            $var9 = ju_AbstractList_iterator($var5);
            while (ju_AbstractList$1_hasNext($var9)) {
                $var7 = ju_AbstractList$1_next($var9);
                $var8 = jl_String_trim(nms_StatCollector_translateToLocal($java.nms_PotionEffect_getEffectName($var7)));
                if ($var7.$amplifier > 0) {
                    $par1ItemStack = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($par1ItemStack);
                    jl_AbstractStringBuilder_append($par1ItemStack, $var8);
                    jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(343));
                    $par2EntityPlayer = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($par2EntityPlayer);
                    jl_AbstractStringBuilder_append($par2EntityPlayer, $rt_s(2286));
                    jl_AbstractStringBuilder_append2($par2EntityPlayer, $var7.$amplifier);
                    jl_AbstractStringBuilder_append($par1ItemStack, jl_String_trim(nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString($par2EntityPlayer))));
                    $var8 = jl_AbstractStringBuilder_toString($par1ItemStack);
                }
                if ($var7.$duration > 20) {
                    $par1ItemStack = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($par1ItemStack);
                    jl_AbstractStringBuilder_append($par1ItemStack, $var8);
                    jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(1257));
                    jl_AbstractStringBuilder_append($par1ItemStack, nms_Potion_getDurationString($var7));
                    jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(68));
                    $var8 = jl_AbstractStringBuilder_toString($par1ItemStack);
                }
                if (!nms_Potion_potionTypes.data[$var7.$potionID].$isBadEffect) {
                    $par1ItemStack = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($par1ItemStack);
                    jl_AbstractStringBuilder_append1($par1ItemStack, nms_EnumChatFormatting_GRAY);
                    jl_AbstractStringBuilder_append($par1ItemStack, $var8);
                    ju_ArrayList_add($par3List, jl_AbstractStringBuilder_toString($par1ItemStack));
                } else {
                    $par1ItemStack = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($par1ItemStack);
                    jl_AbstractStringBuilder_append1($par1ItemStack, nms_EnumChatFormatting_RED);
                    jl_AbstractStringBuilder_append($par1ItemStack, $var8);
                    ju_ArrayList_add($par3List, jl_AbstractStringBuilder_toString($par1ItemStack));
                }
            }
        } else {
            $var6 = jl_String_trim(nms_StatCollector_translateToLocal($rt_s(2287)));
            $par1ItemStack = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par1ItemStack);
            jl_AbstractStringBuilder_append1($par1ItemStack, nms_EnumChatFormatting_GRAY);
            jl_AbstractStringBuilder_append($par1ItemStack, $var6);
            ju_ArrayList_add($par3List, jl_AbstractStringBuilder_toString($par1ItemStack));
        }
    }
};
$java.nms_ItemPotion_hasEffect = function($this, $par1ItemStack) {
    var $var2;
    $var2 = $java.nms_ItemPotion_getEffects($this, $par1ItemStack);
    return $var2 !== null && !ju_AbstractCollection_isEmpty($var2) ? 1 : 0;
};
$java.nms_ItemPotion_getSubItems = function($this, $par1, $par2CreativeTabs, $par3List) {
    var $var4, $var5, $var6, $var7, $var5_0, $var9, $var10;
    a: {
        nms_Item_getSubItems($this, $par1, $par2CreativeTabs, $par3List);
        if (ju_HashMap_isEmpty($java.nms_ItemPotion_field_77835_b)) {
            $var4 = 0;
            while (true) {
                if ($var4 > 15)
                    break a;
                $var5 = 0;
                while ($var5 <= 1) {
                    $var6 = $var5 ? $var4 | 16384 : $var4 | 8192;
                    $var7 = 0;
                    while (true) {
                        $var5_0 = $rt_compare($var7, 2);
                        if ($var5_0 > 0)
                            break;
                        $var5_0 = !$var7 ? $var6 : $var7 == 1 ? $var6 | 32 : $var5_0 ? $var6 : $var6 | 64;
                        $var9 = $java.nms_PotionHelper_getPotionEffects($var5_0, 0);
                        if ($var9 !== null && !ju_AbstractCollection_isEmpty($var9))
                            ju_LinkedHashMap_put($java.nms_ItemPotion_field_77835_b, $var9, jl_Integer_valueOf($var5_0));
                        $var7 = $var7 + 1 | 0;
                    }
                    $var5 = $var5 + 1 | 0;
                }
                $var4 = $var4 + 1 | 0;
            }
        }
    }
    $var10 = ju_LinkedHashMap_values($java.nms_ItemPotion_field_77835_b).$iterator();
    while ($var10.$hasNext()) {
        ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, $var10.$next().$value));
    }
};
$java.nms_ItemPotion_registerIcons = function($this, $par1IconRegister) {
    $this.$field_94590_d = nms_TextureMap_registerIcon($par1IconRegister, $rt_s(1132));
    $this.$field_94591_c = nms_TextureMap_registerIcon($par1IconRegister, $rt_s(1703));
    $this.$field_94592_ct = nms_TextureMap_registerIcon($par1IconRegister, $rt_s(1704));
};
function nms_ItemPotion_func_94589_d($par0Str) {
    if ($par0Str === $rt_s(1132)) {
        nms_Item_$callClinit();
        $par0Str = nms_Item_potion.$field_94590_d;
    } else if ($par0Str === $rt_s(1703)) {
        nms_Item_$callClinit();
        $par0Str = nms_Item_potion.$field_94591_c;
    } else if ($par0Str !== $rt_s(1704))
        $par0Str = null;
    else {
        nms_Item_$callClinit();
        $par0Str = nms_Item_potion.$field_94592_ct;
    }
    return $par0Str;
}
function nms_ItemPotion__clinit_() {
    $java.nms_ItemPotion_field_77835_b = ju_LinkedHashMap__init_0();
}
function nms_ItemGlassBottle() {
    nms_Item.call(this);
}
function nms_ItemGlassBottle__init_(var_0) {
    var var_1 = new nms_ItemGlassBottle();
    $java.nms_ItemGlassBottle__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemGlassBottle__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$tabToDisplayOn = nms_CreativeTabs_tabBrewing;
};
$java.nms_ItemGlassBottle_getIconFromDamage = function($this, $par1) {
    nms_Item_$callClinit();
    return $java.nms_ItemPotion_getIconFromDamage(nms_Item_potion, 0);
};
$java.nms_ItemGlassBottle_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    var $var5, $var4, $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();$par3EntityPlayer = $thread.pop();$par2World = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = 1;
        $ptr = 1;
    case 1:
        $tmp = nms_Item_getMovingObjectPositionFromPlayer($this, $par2World, $par3EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        if ($var4 === null)
            return $par1ItemStack;
        if ($var4.$typeOfHit === nms_EnumMovingObjectType_TILE) {
            $var5 = $var4.$blockX;
            $var6 = $var4.$blockY;
            $var7 = $var4.$blockZ;
            if (!nms_EntityPlayer_canPlayerEdit($par3EntityPlayer, $var5, $var6, $var7, $var4.$sideHit, $par1ItemStack))
                return $par1ItemStack;
            $par2World = nms_World_getBlockMaterial($par2World, $var5, $var6, $var7);
            nms_Material_$callClinit();
            if ($par2World === nms_Material_water) {
                $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
                if ($par1ItemStack.$stackSize <= 0)
                    return nms_ItemStack__init_5(nms_Item_potion);
                if (!nms_InventoryPlayer_addItemStackToInventory($par3EntityPlayer.$inventory, nms_ItemStack__init_5(nms_Item_potion)))
                    nms_EntityPlayer_dropPlayerItem($par3EntityPlayer, nms_ItemStack__init_0(nms_Item_potion.$itemID, 1, 0));
            }
        }
        return $par1ItemStack;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2World, $par3EntityPlayer, $var5, $var4, $var6, $var7, $ptr);
};
$java.nms_ItemGlassBottle_registerIcons = function($this, $par1IconRegister) {
    return;
};
function nms_ItemEnderEye() {
    nms_Item.call(this);
}
function nms_ItemEnderEye__init_(var_0) {
    var var_1 = new nms_ItemEnderEye();
    $java.nms_ItemEnderEye__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemEnderEye__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMisc;
};
$java.nms_ItemEnderEye_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var $var11, $var12;
    $var11 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
    $var12 = nms_World_getBlockMetadata($par3World, $par4, $par5, $par6);
    if (nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack)) {
        nms_Block_$callClinit();
        if ($var11 == nms_Block_endPortalFrame.$blockID && !nms_BlockEndPortalFrame_isEnderEyeInserted($var12))
            return 1;
    }
    return 0;
};
$java.nms_ItemEnderEye_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    var $var5, $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();$par3EntityPlayer = $thread.pop();$par2World = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = 0;
        $ptr = 1;
    case 1:
        $tmp = nms_Item_getMovingObjectPositionFromPlayer($this, $par2World, $par3EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        if ($var4 !== null && $var4.$typeOfHit === nms_EnumMovingObjectType_TILE) {
            $var5 = nms_World_getBlockId($par2World, $var4.$blockX, $var4.$blockY, $var4.$blockZ);
            nms_Block_$callClinit();
            if ($var5 == nms_Block_endPortalFrame.$blockID)
                return $par1ItemStack;
        }
        return $par1ItemStack;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2World, $par3EntityPlayer, $var5, $var4, $ptr);
};
function nms_ItemMonsterPlacer() {
    nms_Item.call(this);
    this.$theIcon4 = null;
}
function nms_ItemMonsterPlacer__init_(var_0) {
    var var_1 = new nms_ItemMonsterPlacer();
    $java.nms_ItemMonsterPlacer__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemMonsterPlacer__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$hasSubtypes = 1;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMisc;
};
$java.nms_ItemMonsterPlacer_getItemDisplayName = function($this, $par1ItemStack) {
    var $var2, $var3;
    $var2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var2);
    jl_AbstractStringBuilder_append($var2, $rt_s(36));
    $var3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var3);
    jl_AbstractStringBuilder_append($var3, nms_Item_getUnlocalizedName($this));
    jl_AbstractStringBuilder_append($var3, $rt_s(1021));
    jl_AbstractStringBuilder_append($var2, nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString($var3)));
    $var2 = jl_String_trim(jl_AbstractStringBuilder_toString($var2));
    $var3 = nms_EntityList_getStringFromID($par1ItemStack.$itemDamage);
    if ($var3 !== null) {
        $par1ItemStack = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1ItemStack);
        jl_AbstractStringBuilder_append($par1ItemStack, $var2);
        jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(343));
        $var2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var2);
        jl_AbstractStringBuilder_append($var2, $rt_s(1020));
        jl_AbstractStringBuilder_append($var2, $var3);
        jl_AbstractStringBuilder_append($var2, $rt_s(1021));
        jl_AbstractStringBuilder_append($par1ItemStack, nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString($var2)));
        $var2 = jl_AbstractStringBuilder_toString($par1ItemStack);
    }
    return $var2;
};
$java.nms_ItemMonsterPlacer_getColorFromItemStack = function($this, $par1ItemStack, $par2) {
    var $var3;
    $var3 = $java.ju_LinkedHashMap_get(nms_EntityList_entityEggs, jl_Integer_valueOf($par1ItemStack.$itemDamage));
    return $var3 === null ? 16777215 : $par2 ? $var3.$secondaryColor : $var3.$primaryColor;
};
$java.nms_ItemMonsterPlacer_requiresMultipleRenderPasses = function($this) {
    return 1;
};
$java.nms_ItemMonsterPlacer_getIconFromDamageForRenderPass = function($this, $par1, $par2) {
    return $par2 > 0 ? $this.$theIcon4 : $this.$getIconFromDamage($par1);
};
$java.nms_ItemMonsterPlacer_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    return 1;
};
$java.nms_ItemMonsterPlacer_getSubItems = function($this, $par1, $par2CreativeTabs, $par3List) {
    var $var4, $var5;
    $var4 = ju_LinkedHashMap_values(nms_EntityList_entityEggs).$iterator();
    while ($var4.$hasNext()) {
        $var5 = $var4.$next();
        ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, $var5.$spawnedID));
    }
};
$java.nms_ItemMonsterPlacer_registerIcons = function($this, $par1IconRegister) {
    nms_Item_registerIcons($this, $par1IconRegister);
    $this.$theIcon4 = nms_TextureMap_registerIcon($par1IconRegister, $rt_s(2288));
};
function nms_ItemExpBottle() {
    nms_Item.call(this);
}
function nms_ItemExpBottle__init_(var_0) {
    var var_1 = new nms_ItemExpBottle();
    $java.nms_ItemExpBottle__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemExpBottle__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMisc;
};
$java.nms_ItemExpBottle_hasEffect = function($this, $par1ItemStack) {
    return 1;
};
$java.nms_ItemExpBottle_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    if (!$par3EntityPlayer.$capabilities.$isCreativeMode)
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    nms_Item_$callClinit();
    nms_World_playSoundAtEntity($par2World, $par3EntityPlayer, $rt_s(1186), 0.5, 0.4000000059604645 / (nle_EaglercraftRandom_nextFloat(nms_Item_itemRand) * 0.4000000059604645 + 0.800000011920929));
    return $par1ItemStack;
};
function nms_ItemFireball() {
    nms_Item.call(this);
}
function nms_ItemFireball__init_(var_0) {
    var var_1 = new nms_ItemFireball();
    $java.nms_ItemFireball__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemFireball__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMisc;
};
$java.nms_ItemFireball_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    return 1;
};
function nms_ItemWritableBook() {
    nms_Item.call(this);
}
function nms_ItemWritableBook__init_(var_0) {
    var var_1 = new nms_ItemWritableBook();
    $java.nms_ItemWritableBook__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemWritableBook__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 1;
};
$java.nms_ItemWritableBook_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    nms_EntityPlayerSP_displayGUIBook($par3EntityPlayer, $par1ItemStack);
    return $par1ItemStack;
};
$java.nms_ItemWritableBook_getShareTag = function($this) {
    return 1;
};
function nms_ItemEditableBook() {
    nms_Item.call(this);
}
function nms_ItemEditableBook__init_(var_0) {
    var var_1 = new nms_ItemEditableBook();
    $java.nms_ItemEditableBook__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemEditableBook__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$maxStackSize = 1;
};
$java.nms_ItemEditableBook_getItemDisplayName = function($this, $par1ItemStack) {
    var $var3;
    if (nms_ItemStack_hasTagCompound($par1ItemStack)) {
        $var3 = nms_NBTTagCompound_getTag($par1ItemStack.$stackTagCompound, $rt_s(2289));
        if ($var3 !== null)
            return nms_NBTTagString_toString($var3);
    }
    return nms_Item_getItemDisplayName($this, $par1ItemStack);
};
$java.nms_ItemEditableBook_addInformation = function($this, $par1ItemStack, $par2EntityPlayer, $par3List, $par4) {
    var $var6, var$6;
    if (nms_ItemStack_hasTagCompound($par1ItemStack)) {
        $var6 = nms_NBTTagCompound_getTag($par1ItemStack.$stackTagCompound, $rt_s(2290));
        if ($var6 !== null) {
            $par1ItemStack = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par1ItemStack);
            jl_AbstractStringBuilder_append1($par1ItemStack, nms_EnumChatFormatting_GRAY);
            var$6 = $rt_createArray(jl_Object, 1);
            var$6.data[0] = $var6.$data4;
            jl_AbstractStringBuilder_append($par1ItemStack, jl_String_format(nms_StatCollector_translateToLocalFormatted($rt_s(2291), var$6), $rt_createArray(jl_Object, 0)));
            ju_ArrayList_add($par3List, jl_AbstractStringBuilder_toString($par1ItemStack));
        }
    }
};
$java.nms_ItemEditableBook_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    nms_EntityPlayerSP_displayGUIBook($par3EntityPlayer, $par1ItemStack);
    return $par1ItemStack;
};
$java.nms_ItemEditableBook_getShareTag = function($this) {
    return 1;
};
$java.nms_ItemEditableBook_hasEffect = function($this, $par1ItemStack) {
    return 1;
};
function nms_ItemSeedFood() {
    var a = this; nms_ItemFood.call(a);
    a.$cropId = 0;
    a.$soilId = 0;
}
function nms_ItemSeedFood__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_ItemSeedFood();
    $java.nms_ItemSeedFood__init_(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
$java.nms_ItemSeedFood__init_ = function($this, $par1, $par2, $par3, $par4, $par5) {
    $java.nms_ItemFood__init_($this, $par1, $par2, $par3, 0);
    $this.$cropId = $par4;
    $this.$soilId = $par5;
};
$java.nms_ItemSeedFood_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par7 != 1)
            return 0;
        if (nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack)) {
            var$11 = $par5 + 1 | 0;
            if (nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, var$11, $par6, $par7, $par1ItemStack)) {
                if (nms_World_getBlockId($par3World, $par4, $par5, $par6) == $this.$soilId && nms_World_isAirBlock($par3World, $par4, var$11, $par6)) {
                    $par5 = $this.$cropId;
                    $ptr = 1;
                    continue main;
                }
                return 0;
            }
        }
        return 0;
    case 1:
        nms_World_setBlock0($par3World, $par4, var$11, $par6, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, var$11, $ptr);
};
function nms_ItemEmptyMap() {
    nms_ItemMapBase.call(this);
}
function nms_ItemEmptyMap__init_(var_0) {
    var var_1 = new nms_ItemEmptyMap();
    $java.nms_ItemEmptyMap__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemEmptyMap__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMisc;
};
$java.nms_ItemEmptyMap_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    var $var4, $var5, $var6, $var7, var$8, var$9, var$10, var$11;
    $var4 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_3($var4, nms_Item_map, 1, nms_World_getUniqueDataId($par2World, $rt_s(1808)));
    $var5 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var5);
    jl_AbstractStringBuilder_append($var5, $rt_s(2271));
    jl_AbstractStringBuilder_append2($var5, $var4.$itemDamage);
    $var5 = jl_AbstractStringBuilder_toString($var5);
    $var6 = $java.nms_MapData__init_0($var5);
    nms_World_setItemData($par2World, $var5, $var6);
    $var6.$scale2 = 0;
    $var7 = 128 * (1 << $var6.$scale2) | 0;
    var$8 = $par3EntityPlayer.$posX;
    var$9 = $var7;
    var$10 = jl_Math_round0(var$8 / var$9);
    var$11 = Long_fromInt($var7);
    $var6.$xCenter = Long_mul(var$10, var$11).lo;
    $var6.$zCenter = Long_mul(jl_Math_round0($par3EntityPlayer.$posZ / var$9), var$11).lo;
    $var6.$dimension0 = $par2World.$provider.$dimensionId << 24 >> 24;
    $java.nms_WorldSavedData_markDirty($var6);
    $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
    if ($par1ItemStack.$stackSize <= 0)
        return $var4;
    if (!nms_InventoryPlayer_addItemStackToInventory($par3EntityPlayer.$inventory, nms_ItemStack_copy($var4)))
        nms_EntityPlayer_dropPlayerItem($par3EntityPlayer, $var4);
    return $par1ItemStack;
};
function nms_ItemSkull() {
    nms_Item.call(this);
    this.$field_94586_c = null;
}
$java.nms_ItemSkull_skullTypes = null;
$java.nms_ItemSkull_field_94587_a = null;
function nms_ItemSkull__init_(var_0) {
    var var_1 = new nms_ItemSkull();
    $java.nms_ItemSkull__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemSkull__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$tabToDisplayOn = nms_CreativeTabs_tabDecorations;
    $this.$maxDamage = 0;
    $this.$hasSubtypes = 1;
};
$java.nms_ItemSkull_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var var$11, $var11, var$13, $var12, $var13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();var$13 = $thread.pop();$var11 = $thread.pop();var$11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par7)
            return 0;
        if (!nms_World_getBlockMaterial($par3World, $par4, $par5, $par6).$isSolid())
            return 0;
        var$11 = $rt_compare($par7, 1);
        if (!var$11)
            $par5 = $par5 + 1 | 0;
        if ($par7 == 2)
            $par6 = $par6 + (-1) | 0;
        if ($par7 == 3)
            $par6 = $par6 + 1 | 0;
        if ($par7 == 4)
            $par4 = $par4 + (-1) | 0;
        if ($par7 == 5)
            $par4 = $par4 + 1 | 0;
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        nms_Block_$callClinit();
        if (!nms_Block_skull.$canPlaceBlockAt($par3World, $par4, $par5, $par6))
            return 0;
        $var11 = nms_Block_skull.$blockID;
        var$13 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlock($par3World, $par4, $par5, $par6, $var11, $par7, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = 0;
        if (!var$11)
            $var11 = nms_MathHelper_floor_double($par2EntityPlayer.$rotationYaw * 16.0 / 360.0 + 0.5) & 15;
        $ptr = 2;
    case 2:
        $tmp = nms_World_getBlockTileEntity($par3World, $par4, $par5, $par6);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $tmp;
        if ($var12 !== null && $var12 instanceof nms_TileEntitySkull) {
            $var13 = $rt_s(36);
            if (nms_ItemStack_hasTagCompound($par1ItemStack) && nms_NBTTagCompound_hasKey($par1ItemStack.$stackTagCompound, $rt_s(1621)))
                $var13 = nms_NBTTagCompound_getString($par1ItemStack.$stackTagCompound, $rt_s(1621));
            $par2EntityPlayer = $var12;
            $java.nms_TileEntitySkull_setSkullType($par2EntityPlayer, $par1ItemStack.$itemDamage, $var13);
            $par2EntityPlayer.$skullRotation = $var11;
        }
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, var$11, $var11, var$13, $var12, $var13, $ptr);
};
$java.nms_ItemSkull_getSubItems = function($this, $par1, $par2CreativeTabs, $par3List) {
    var $var4;
    $var4 = 0;
    while ($var4 < $java.nms_ItemSkull_skullTypes.data.length) {
        ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, $var4));
        $var4 = $var4 + 1 | 0;
    }
};
$java.nms_ItemSkull_getIconFromDamage = function($this, $par1) {
    if (!($par1 >= 0 && $par1 < $java.nms_ItemSkull_skullTypes.data.length))
        $par1 = 0;
    return $this.$field_94586_c.data[$par1];
};
$java.nms_ItemSkull_getUnlocalizedName = function($this, $par1ItemStack) {
    var $var2;
    $var2 = $par1ItemStack.$itemDamage;
    if (!($var2 >= 0 && $var2 < $java.nms_ItemSkull_skullTypes.data.length))
        $var2 = 0;
    $par1ItemStack = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($par1ItemStack);
    jl_AbstractStringBuilder_append($par1ItemStack, nms_Item_getUnlocalizedName($this));
    jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(339));
    jl_AbstractStringBuilder_append($par1ItemStack, $java.nms_ItemSkull_skullTypes.data[$var2]);
    return jl_AbstractStringBuilder_toString($par1ItemStack);
};
$java.nms_ItemSkull_getItemDisplayName = function($this, $par1ItemStack) {
    var var$2;
    if ($par1ItemStack.$itemDamage == 3 && nms_ItemStack_hasTagCompound($par1ItemStack) && nms_NBTTagCompound_hasKey($par1ItemStack.$stackTagCompound, $rt_s(1621))) {
        var$2 = $rt_createArray(jl_Object, 1);
        var$2.data[0] = nms_NBTTagCompound_getString($par1ItemStack.$stackTagCompound, $rt_s(1621));
        $par1ItemStack = nms_StatCollector_translateToLocalFormatted($rt_s(2292), var$2);
    } else
        $par1ItemStack = nms_Item_getItemDisplayName($this, $par1ItemStack);
    return $par1ItemStack;
};
$java.nms_ItemSkull_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$field_94586_c = $rt_createArray(nms_Icon, $java.nms_ItemSkull_field_94587_a.data.length);
    $var2 = 0;
    while ($var2 < $java.nms_ItemSkull_field_94587_a.data.length) {
        $this.$field_94586_c.data[$var2] = nms_TextureMap_registerIcon($par1IconRegister, $java.nms_ItemSkull_field_94587_a.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
function nms_ItemSkull__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 5);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2293);
    var$2[1] = $rt_s(2294);
    var$2[2] = $rt_s(2295);
    var$2[3] = $rt_s(2296);
    var$2[4] = $rt_s(2297);
    $java.nms_ItemSkull_skullTypes = var$1;
    var$1 = $rt_createArray(jl_String, 5);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2298);
    var$2[1] = $rt_s(2299);
    var$2[2] = $rt_s(2300);
    var$2[3] = $rt_s(2301);
    var$2[4] = $rt_s(2302);
    $java.nms_ItemSkull_field_94587_a = var$1;
}
function nms_ItemCarrotOnAStick() {
    nms_Item.call(this);
}
function nms_ItemCarrotOnAStick__init_(var_0) {
    var var_1 = new nms_ItemCarrotOnAStick();
    $java.nms_ItemCarrotOnAStick__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemCarrotOnAStick__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$tabToDisplayOn = $java.nms_CreativeTabs_tabTransport;
    $this.$maxStackSize = 1;
    $this.$maxDamage = 25;
};
$java.nms_ItemCarrotOnAStick_isFull3D = function($this) {
    return 1;
};
$java.nms_ItemCarrotOnAStick_shouldRotateAroundWhenRendering = function($this) {
    return 1;
};
function nms_ItemSimpleFoiled() {
    nms_Item.call(this);
}
function nms_ItemSimpleFoiled__init_(var_0) {
    var var_1 = new nms_ItemSimpleFoiled();
    $java.nms_ItemSimpleFoiled__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemSimpleFoiled__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
};
$java.nms_ItemSimpleFoiled_hasEffect = function($this, $par1ItemStack) {
    return 1;
};
function nms_ItemFirework() {
    nms_Item.call(this);
}
function nms_ItemFirework__init_(var_0) {
    var var_1 = new nms_ItemFirework();
    $java.nms_ItemFirework__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemFirework__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
};
$java.nms_ItemFirework_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    return 0;
};
$java.nms_ItemFirework_addInformation = function($this, $par1ItemStack, $par2EntityPlayer, $par3List, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10;
    a: {
        if (nms_ItemStack_hasTagCompound($par1ItemStack)) {
            $var5 = nms_NBTTagCompound_getCompoundTag($par1ItemStack.$stackTagCompound, $rt_s(1871));
            if ($var5 !== null) {
                if (nms_NBTTagCompound_hasKey($var5, $rt_s(1872))) {
                    $par1ItemStack = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($par1ItemStack);
                    jl_AbstractStringBuilder_append($par1ItemStack, nms_StatCollector_translateToLocal($rt_s(2303)));
                    jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(343));
                    jl_AbstractStringBuilder_append2($par1ItemStack, nms_NBTTagCompound_getByte($var5, $rt_s(1872)));
                    ju_ArrayList_add($par3List, jl_AbstractStringBuilder_toString($par1ItemStack));
                }
                $var6 = nms_NBTTagCompound_getTagList($var5, $rt_s(1515));
                if ($var6 !== null && nms_NBTTagList_tagCount($var6) > 0) {
                    $var7 = 0;
                    while (true) {
                        if ($var7 >= nms_NBTTagList_tagCount($var6))
                            break a;
                        $var8 = nms_NBTTagList_tagAt($var6, $var7);
                        $var9 = ju_ArrayList__init_0();
                        $java.nms_ItemFireworkCharge_func_92107_a($var8, $var9);
                        if ($var9.$size > 0) {
                            $var10 = 1;
                            while ($var10 < $var9.$size) {
                                $par1ItemStack = new jl_StringBuilder;
                                jl_AbstractStringBuilder__init_($par1ItemStack);
                                jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(2304));
                                jl_AbstractStringBuilder_append($par1ItemStack, ju_ArrayList_get($var9, $var10));
                                ju_ArrayList_set($var9, $var10, jl_AbstractStringBuilder_toString($par1ItemStack));
                                $var10 = $var10 + 1 | 0;
                            }
                            ju_AbstractCollection_addAll($par3List, $var9);
                        }
                        $var7 = $var7 + 1 | 0;
                    }
                }
            }
        }
    }
};
function nms_ItemFireworkCharge() {
    nms_Item.call(this);
    this.$theIcon5 = null;
}
function nms_ItemFireworkCharge__init_(var_0) {
    var var_1 = new nms_ItemFireworkCharge();
    $java.nms_ItemFireworkCharge__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemFireworkCharge__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
};
$java.nms_ItemFireworkCharge_getIconFromDamageForRenderPass = function($this, $par1, $par2) {
    return $par2 > 0 ? $this.$theIcon5 : $this.$getIconFromDamage($par1);
};
$java.nms_ItemFireworkCharge_getColorFromItemStack = function($this, $par1ItemStack, $par2) {
    var $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11;
    if ($par2 != 1)
        return 16777215;
    a: {
        if (nms_ItemStack_hasTagCompound($par1ItemStack)) {
            $par1ItemStack = nms_NBTTagCompound_getCompoundTag($par1ItemStack.$stackTagCompound, $rt_s(2305));
            if ($par1ItemStack !== null) {
                $var3 = nms_NBTTagCompound_getTag($par1ItemStack, $rt_s(2306));
                break a;
            }
        }
        $var3 = null;
    }
    if ($var3 === null)
        return 9079434;
    $var4 = $var3;
    if ($var4.$intArray.data.length == 1)
        return $var4.$intArray.data[0];
    $var5 = 0;
    $var6 = 0;
    $var7 = 0;
    $var8 = $var4.$intArray.data;
    $var9 = $var8.length;
    $var10 = 0;
    while ($var10 < $var9) {
        $var11 = $var8[$var10];
        $var5 = $var5 + (($var11 & 16711680) >> 16) | 0;
        $var6 = $var6 + (($var11 & 65280) >> 8) | 0;
        $var7 = $var7 + (($var11 & 255) >> 0) | 0;
        $var10 = $var10 + 1 | 0;
    }
    return ($var5 / $var4.$intArray.data.length | 0) << 16 | ($var6 / $var4.$intArray.data.length | 0) << 8 | ($var7 / $var4.$intArray.data.length | 0);
};
$java.nms_ItemFireworkCharge_requiresMultipleRenderPasses = function($this) {
    return 1;
};
$java.nms_ItemFireworkCharge_addInformation = function($this, $par1ItemStack, $par2EntityPlayer, $par3List, $par4) {
    var $var5;
    if (nms_ItemStack_hasTagCompound($par1ItemStack)) {
        $var5 = nms_NBTTagCompound_getCompoundTag($par1ItemStack.$stackTagCompound, $rt_s(2305));
        if ($var5 !== null)
            $java.nms_ItemFireworkCharge_func_92107_a($var5, $par3List);
    }
};
$java.nms_ItemFireworkCharge_func_92107_a = function($par0NBTTagCompound, $par1List) {
    var $var2, $var14, $var3, $var15, $var4, $var5, $var8, $var9, $var10, $var11, $var18, $var19, $var12;
    $var2 = nms_NBTTagCompound_getByte($par0NBTTagCompound, $rt_s(2307));
    if ($var2 >= 0 && $var2 <= 4) {
        $var14 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var14);
        jl_AbstractStringBuilder_append($var14, $rt_s(2308));
        jl_AbstractStringBuilder_append2($var14, $var2);
        ju_ArrayList_add($par1List, jl_String_trim(nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString($var14))));
    } else
        ju_ArrayList_add($par1List, jl_String_trim(nms_StatCollector_translateToLocal($rt_s(2309))));
    $var3 = nms_NBTTagCompound_getIntArray($par0NBTTagCompound, $rt_s(2306)).data;
    $var15 = $var3.length;
    if ($var15 > 0) {
        $var4 = 1;
        $var5 = $rt_s(36);
        $var8 = 0;
        while ($var8 < $var15) {
            $var9 = $var3[$var8];
            if (!$var4) {
                $var14 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var14);
                jl_AbstractStringBuilder_append($var14, $var5);
                jl_AbstractStringBuilder_append($var14, $rt_s(368));
                $var5 = jl_AbstractStringBuilder_toString($var14);
            }
            $var4 = 0;
            $var10 = 0;
            $var11 = 0;
            a: {
                while ($var11 < 16) {
                    if ($var9 == $java.nms_ItemDye_dyeColors.data[$var11]) {
                        $var10 = 1;
                        $var14 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($var14);
                        jl_AbstractStringBuilder_append($var14, $var5);
                        $var5 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($var5);
                        jl_AbstractStringBuilder_append($var5, $rt_s(2310));
                        jl_AbstractStringBuilder_append($var5, $java.nms_ItemDye_dyeColorNames.data[$var11]);
                        jl_AbstractStringBuilder_append($var14, nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString($var5)));
                        $var5 = jl_AbstractStringBuilder_toString($var14);
                        break a;
                    }
                    $var11 = $var11 + 1 | 0;
                }
            }
            if (!$var10) {
                $var14 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var14);
                jl_AbstractStringBuilder_append($var14, $var5);
                jl_AbstractStringBuilder_append($var14, nms_StatCollector_translateToLocal($rt_s(2311)));
                $var5 = jl_AbstractStringBuilder_toString($var14);
            }
            $var8 = $var8 + 1 | 0;
        }
        ju_ArrayList_add($par1List, $var5);
    }
    $var3 = nms_NBTTagCompound_getIntArray($par0NBTTagCompound, $rt_s(2312)).data;
    $var2 = $var3.length;
    if ($var2 > 0) {
        $var15 = 1;
        $var14 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var14);
        jl_AbstractStringBuilder_append($var14, nms_StatCollector_translateToLocal($rt_s(2313)));
        jl_AbstractStringBuilder_append($var14, $rt_s(343));
        $var14 = jl_AbstractStringBuilder_toString($var14);
        $var9 = 0;
        while ($var9 < $var2) {
            $var18 = $var3[$var9];
            if (!$var15) {
                $var5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var5);
                jl_AbstractStringBuilder_append($var5, $var14);
                jl_AbstractStringBuilder_append($var5, $rt_s(368));
                $var14 = jl_AbstractStringBuilder_toString($var5);
            }
            $var15 = 0;
            $var19 = 0;
            $var12 = 0;
            b: {
                while ($var12 < 16) {
                    if ($var18 == $java.nms_ItemDye_dyeColors.data[$var12]) {
                        $var19 = 1;
                        $var5 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($var5);
                        jl_AbstractStringBuilder_append($var5, $var14);
                        $var14 = new jl_StringBuilder;
                        jl_AbstractStringBuilder__init_($var14);
                        jl_AbstractStringBuilder_append($var14, $rt_s(2310));
                        jl_AbstractStringBuilder_append($var14, $java.nms_ItemDye_dyeColorNames.data[$var12]);
                        jl_AbstractStringBuilder_append($var5, nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString($var14)));
                        $var14 = jl_AbstractStringBuilder_toString($var5);
                        break b;
                    }
                    $var12 = $var12 + 1 | 0;
                }
            }
            if (!$var19) {
                $var5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var5);
                jl_AbstractStringBuilder_append($var5, $var14);
                jl_AbstractStringBuilder_append($var5, nms_StatCollector_translateToLocal($rt_s(2311)));
                $var14 = jl_AbstractStringBuilder_toString($var5);
            }
            $var9 = $var9 + 1 | 0;
        }
        ju_ArrayList_add($par1List, $var14);
    }
    if (nms_NBTTagCompound_getBoolean($par0NBTTagCompound, $rt_s(2314)))
        ju_ArrayList_add($par1List, nms_StatCollector_translateToLocal($rt_s(2315)));
    if (nms_NBTTagCompound_getBoolean($par0NBTTagCompound, $rt_s(1516)))
        ju_ArrayList_add($par1List, nms_StatCollector_translateToLocal($rt_s(2316)));
};
$java.nms_ItemFireworkCharge_registerIcons = function($this, $par1IconRegister) {
    nms_Item_registerIcons($this, $par1IconRegister);
    $this.$theIcon5 = nms_TextureMap_registerIcon($par1IconRegister, $rt_s(2317));
};
function nms_ItemEnchantedBook() {
    nms_Item.call(this);
}
function nms_ItemEnchantedBook__init_(var_0) {
    var var_1 = new nms_ItemEnchantedBook();
    $java.nms_ItemEnchantedBook__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemEnchantedBook__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
};
$java.nms_ItemEnchantedBook_hasEffect = function($this, $par1ItemStack) {
    return 1;
};
$java.nms_ItemEnchantedBook_isItemTool = function($this, $par1ItemStack) {
    return 0;
};
$java.nms_ItemEnchantedBook_getRarity = function($this, $par1ItemStack) {
    return nms_NBTTagList_tagCount($java.nms_ItemEnchantedBook_func_92110_g($this, $par1ItemStack)) <= 0 ? nms_Item_getRarity($this, $par1ItemStack) : $java.nms_EnumRarity_uncommon;
};
$java.nms_ItemEnchantedBook_func_92110_g = function($this, $par1ItemStack) {
    return $par1ItemStack.$stackTagCompound !== null && nms_NBTTagCompound_hasKey($par1ItemStack.$stackTagCompound, $rt_s(2318)) ? nms_NBTTagCompound_getTag($par1ItemStack.$stackTagCompound, $rt_s(2318)) : nms_NBTTagList__init_0();
};
$java.nms_ItemEnchantedBook_addInformation = function($this, $par1ItemStack, $par2EntityPlayer, $par3List, $par4) {
    var $var5, $var6, $var7, $var8;
    a: {
        $var5 = $java.nms_ItemEnchantedBook_func_92110_g($this, $par1ItemStack);
        if ($var5 !== null) {
            $var6 = 0;
            while (true) {
                if ($var6 >= nms_NBTTagList_tagCount($var5))
                    break a;
                $var7 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($var5, $var6), $rt_s(1900));
                $var8 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($var5, $var6), $rt_s(1910));
                nms_Enchantment_$callClinit();
                if (nms_Enchantment_enchantmentsList.data[$var7] !== null)
                    ju_ArrayList_add($par3List, nms_Enchantment_getTranslatedName(nms_Enchantment_enchantmentsList.data[$var7], $var8));
                $var6 = $var6 + 1 | 0;
            }
        }
    }
};
$java.nms_ItemEnchantedBook_func_92115_a = function($this, $par1ItemStack, $par2EnchantmentData) {
    var $var3, $var4, $var5, $var6, $var7;
    $var3 = $java.nms_ItemEnchantedBook_func_92110_g($this, $par1ItemStack);
    $var4 = 1;
    $var5 = 0;
    a: {
        while ($var5 < nms_NBTTagList_tagCount($var3)) {
            $var6 = nms_NBTTagList_tagAt($var3, $var5);
            if (nms_NBTTagCompound_getShort($var6, $rt_s(1900)) == $par2EnchantmentData.$enchantmentobj.$effectId) {
                if (nms_NBTTagCompound_getShort($var6, $rt_s(1910)) < $par2EnchantmentData.$enchantmentLevel)
                    nms_NBTTagCompound_setShort($var6, $rt_s(1910), $par2EnchantmentData.$enchantmentLevel << 16 >> 16);
                $var4 = 0;
                break a;
            }
            $var5 = $var5 + 1 | 0;
        }
    }
    if ($var4) {
        $var7 = nms_NBTTagCompound__init_0();
        nms_NBTTagCompound_setShort($var7, $rt_s(1900), $par2EnchantmentData.$enchantmentobj.$effectId << 16 >> 16);
        nms_NBTTagCompound_setShort($var7, $rt_s(1910), $par2EnchantmentData.$enchantmentLevel << 16 >> 16);
        nms_NBTTagList_appendTag($var3, $var7);
    }
    if (!nms_ItemStack_hasTagCompound($par1ItemStack))
        $par1ItemStack.$stackTagCompound = nms_NBTTagCompound__init_0();
    nms_NBTTagCompound_setTag($par1ItemStack.$stackTagCompound, $rt_s(2318), $var3);
};
function nms_ItemEnchantedBook_func_92111_a($this, $par1EnchantmentData) {
    var $var2;
    $var2 = nms_ItemStack__init_5($this);
    $java.nms_ItemEnchantedBook_func_92115_a($this, $var2, $par1EnchantmentData);
    return $var2;
}
$java.nms_ItemEnchantedBook_func_92113_a = function($this, $par1Enchantment, $par2List) {
    var $var3;
    $var3 = 1;
    while ($var3 <= $par1Enchantment.$getMaxLevel()) {
        ju_ArrayList_add($par2List, nms_ItemEnchantedBook_func_92111_a($this, nms_EnchantmentData__init_($par1Enchantment, $var3)));
        $var3 = $var3 + 1 | 0;
    }
};
function nms_ItemRecord() {
    nms_Item.call(this);
    this.$recordName = null;
}
var nms_ItemRecord_records = null;
function nms_ItemRecord__init_(var_0, var_1) {
    var var_2 = new nms_ItemRecord();
    $java.nms_ItemRecord__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemRecord__init_ = function($this, $par1, $par2Str) {
    nms_Item__init_0($this, $par1);
    $this.$recordName = $par2Str;
    $this.$maxStackSize = 1;
    $this.$tabToDisplayOn = nms_CreativeTabs_tabMisc;
    ju_HashMap_putImpl(nms_ItemRecord_records, $par2Str, $this);
};
$java.nms_ItemRecord_getIconFromDamage = function($this, $par1) {
    return $this.$itemIcon;
};
$java.nms_ItemRecord_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    $par7 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
    nms_Block_$callClinit();
    if ($par7 == nms_Block_jukebox.$blockID && !nms_World_getBlockMetadata($par3World, $par4, $par5, $par6))
        return 1;
    return 0;
};
$java.nms_ItemRecord_addInformation = function($this, $par1ItemStack, $par2EntityPlayer, $par3List, $par4) {
    ju_ArrayList_add($par3List, nms_ItemRecord_getRecordTitle($this));
};
function nms_ItemRecord_getRecordTitle($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2319));
    jl_AbstractStringBuilder_append(var$1, $this.$recordName);
    return jl_AbstractStringBuilder_toString(var$1);
}
$java.nms_ItemRecord_getRarity = function($this, $par1ItemStack) {
    return nms_EnumRarity_rare;
};
$java.nms_ItemRecord_registerIcons = function($this, $par1IconRegister) {
    var var$2;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(2320));
    jl_AbstractStringBuilder_append(var$2, $this.$recordName);
    $this.$itemIcon = nms_TextureMap_registerIcon($par1IconRegister, jl_AbstractStringBuilder_toString(var$2));
};
function nms_ItemRecord__clinit_() {
    nms_ItemRecord_records = ju_HashMap__init_();
}
function ju_Dictionary() {
    jl_Object.call(this);
}
function ju_Hashtable() {
    var a = this; ju_Dictionary.call(a);
    a.$elementCount0 = 0;
    a.$elementData0 = null;
    a.$loadFactor0 = 0.0;
    a.$threshold1 = 0;
    a.$firstSlot = 0;
    a.$lastSlot = 0;
    a.$modCount2 = 0;
}
$java.ju_Hashtable_EMPTY_ENUMERATION = null;
$java.ju_Hashtable_EMPTY_ITERATOR = null;
$java.ju_Hashtable__init_ = function() {
    var var_0 = new ju_Hashtable();
    ju_Hashtable__init_(var_0);
    return var_0;
};
function ju_Hashtable__init_($this) {
    $this.$lastSlot = (-1);
    $this.$elementCount0 = 0;
    $this.$elementData0 = $rt_createArray(ju_Hashtable$Entry, 11);
    $this.$firstSlot = $this.$elementData0.data.length;
    $this.$loadFactor0 = 0.75;
    $java.ju_Hashtable_computeMaxSize($this);
}
$java.ju_Hashtable_computeMaxSize = function($this) {
    $this.$threshold1 = $this.$elementData0.data.length * $this.$loadFactor0 | 0;
};
$java.ju_Hashtable_get = function($this, $key) {
    var $hash, $index, $entry;
    jl_Object_monitorEnterSync($this);
    try {
        $hash = jl_String_hashCode($key);
        $index = ($hash & 2147483647) % $this.$elementData0.data.length | 0;
        $entry = $this.$elementData0.data[$index];
        while ($entry !== null) {
            if ($java.ju_Hashtable$Entry_equalsKey($entry, $key, $hash))
                return $entry.$value1;
            $entry = $entry.$next7;
        }
        return null;
    } finally {
        jl_Object_monitorExitSync($this);
    }
};
function ju_Hashtable_put($this, $key, $value) {
    var $hash, var$4, $index, $entry, $result, var$8;
    jl_Object_monitorEnterSync($this);
    try {
        if ($key !== null && $value !== null) {
            $hash = jl_String_hashCode($key);
            var$4 = $hash & 2147483647;
            $index = var$4 % $this.$elementData0.data.length | 0;
            $entry = $this.$elementData0.data[$index];
            while ($entry !== null && !$java.ju_Hashtable$Entry_equalsKey($entry, $key, $hash)) {
                $entry = $entry.$next7;
            }
            if ($entry !== null) {
                $result = $entry.$value1;
                $entry.$value1 = $value;
                return $result;
            }
            $this.$modCount2 = $this.$modCount2 + 1 | 0;
            var$8 = $this.$elementCount0 + 1 | 0;
            $this.$elementCount0 = var$8;
            if (var$8 > $this.$threshold1) {
                $java.ju_Hashtable_rehash($this);
                $index = var$4 % $this.$elementData0.data.length | 0;
            }
            if ($index < $this.$firstSlot)
                $this.$firstSlot = $index;
            if ($index > $this.$lastSlot)
                $this.$lastSlot = $index;
            $entry = new ju_Hashtable$Entry;
            ju_MapEntry__init_0($entry, $key, $value);
            $entry.$hashcode0 = jl_String_hashCode($key);
            $entry.$next7 = $this.$elementData0.data[$index];
            $this.$elementData0.data[$index] = $entry;
            return null;
        }
        $key = new jl_NullPointerException;
        jl_Throwable__init_0($key);
        $rt_throw($key);
    } finally {
        jl_Object_monitorExitSync($this);
    }
}
$java.ju_Hashtable_rehash = function($this) {
    var $length, $newLast, $newData, var$4, $i, var$6, $entry, $index, $entry_0;
    $length = ($this.$elementData0.data.length << 1) + 1 | 0;
    if (!$length)
        $length = 1;
    $newLast = (-1);
    $newData = $rt_createArray(ju_Hashtable$Entry, $length);
    var$4 = $newData.data;
    $i = $this.$lastSlot + 1 | 0;
    var$6 = $length;
    while (true) {
        $i = $i + (-1) | 0;
        if ($i < $this.$firstSlot)
            break;
        $entry = $this.$elementData0.data[$i];
        while ($entry !== null) {
            $index = ($java.ju_Hashtable$Entry_getKeyHash($entry) & 2147483647) % $length | 0;
            if ($index < var$6)
                var$6 = $index;
            if ($index > $newLast)
                $newLast = $index;
            $entry_0 = $entry.$next7;
            $entry.$next7 = var$4[$index];
            var$4[$index] = $entry;
            $entry = $entry_0;
        }
    }
    $this.$firstSlot = var$6;
    $this.$lastSlot = $newLast;
    $this.$elementData0 = $newData;
    $java.ju_Hashtable_computeMaxSize($this);
};
function ju_Hashtable__clinit_() {
    $java.ju_Hashtable_EMPTY_ENUMERATION = new ju_Hashtable$1;
    $java.ju_Hashtable_EMPTY_ITERATOR = new ju_Hashtable$2;
}
function ju_Properties() {
    ju_Hashtable.call(this);
    this.$defaults = null;
}
$java.ju_Properties__init_ = function() {
    var var_0 = new ju_Properties();
    ju_Properties__init_(var_0);
    return var_0;
};
function ju_Properties__init_($this) {
    ju_Hashtable__init_($this);
}
function ju_Properties_getProperty($this, $name, $defaultValue) {
    var $result, $property;
    $result = $java.ju_Hashtable_get($this, $name);
    $property = !($result instanceof jl_String) ? null : $result;
    if ($property === null && $this.$defaults !== null)
        $property = $this.$defaults.$getProperty0($name);
    if ($property !== null)
        return $property;
    return $defaultValue;
}
$java.ju_Properties_setProperty = function($this, $name, $value) {
    return ju_Hashtable_put($this, $name, $value);
};
function ju_SortedMap() {
}
function ju_NavigableMap() {
}
function ju_TreeMap() {
    var a = this; ju_AbstractMap.call(a);
    a.$root = null;
    a.$comparator0 = null;
    a.$originalComparator0 = null;
    a.$modCount3 = 0;
    a.$cachedEntrySet = null;
}
function ju_TreeMap__init_0() {
    var var_0 = new ju_TreeMap();
    ju_TreeMap__init_(var_0);
    return var_0;
}
function ju_TreeMap__init_($this) {
    var var$1;
    var$1 = null;
    $this.$originalComparator0 = var$1;
    if (var$1 === null) {
        var$1 = new ju_TreeMap$1;
        var$1.$this$041 = $this;
    }
    $this.$comparator0 = var$1;
}
$java.ju_TreeMap_get = function($this, $key) {
    var $node;
    $node = $java.ju_TreeMap_findExact($this, $key);
    return $node === null ? null : $node.$value8;
};
function ju_TreeMap_put($this, $key, $value) {
    var $node, $old;
    $this.$root = $java.ju_TreeMap_getOrCreateNode($this, $this.$root, $key);
    $node = $java.ju_TreeMap_findExact($this, $key);
    $old = $java.ju_AbstractMap$SimpleEntry_setValue($node, $value);
    $java.ju_AbstractMap$SimpleEntry_setValue($node, $value);
    $this.$modCount3 = $this.$modCount3 + 1 | 0;
    return $old;
}
$java.ju_TreeMap_remove = function($this, $key) {
    var $node;
    $node = $java.ju_TreeMap_findExact($this, $key);
    if ($node === null)
        return null;
    $this.$root = $java.ju_TreeMap_deleteNode($this, $this.$root, $key);
    $this.$modCount3 = $this.$modCount3 + 1 | 0;
    return $node.$value8;
};
$java.ju_TreeMap_containsKey = function($this, $key) {
    return $java.ju_TreeMap_findExact($this, $key) === null ? 0 : 1;
};
$java.ju_TreeMap_findExact = function($this, $key) {
    var $node, $cmp;
    $node = $this.$root;
    while (true) {
        if ($node === null)
            return null;
        $cmp = $java.ju_TreeMap$1_compare($this.$comparator0, $key, $node.$key1);
        if (!$cmp)
            break;
        $node = $cmp >= 0 ? $node.$right : $node.$left0;
    }
    return $node;
};
$java.ju_TreeMap_findExactOrNext = function($this, $key, $reverse) {
    var $node, $lastForward, $cmp, var$6;
    $node = $this.$root;
    $lastForward = null;
    while ($node !== null) {
        $cmp = $java.ju_TreeMap$1_compare($this.$comparator0, $key, $node.$key1);
        if ($reverse)
            $cmp =  -$cmp;
        if (!$cmp)
            return $node;
        if ($cmp >= 0)
            var$6 = $java.ju_TreeMap$TreeNode_down($node, $reverse);
        else {
            var$6 = $java.ju_TreeMap$TreeNode_forward($node, $reverse);
            $lastForward = $node;
        }
        $node = var$6;
    }
    return $lastForward;
};
$java.ju_TreeMap_pathToExactOrNext = function($this, $key, $reverse) {
    var $path, $depth, $node, $cmp, var$7;
    $path = $rt_createArray(ju_TreeMap$TreeNode, $java.ju_TreeMap_height($this));
    $depth = 0;
    $node = $this.$root;
    a: {
        while ($node !== null) {
            $cmp = $java.ju_TreeMap$1_compare($this.$comparator0, $key, $node.$key1);
            if ($reverse)
                $cmp =  -$cmp;
            if (!$cmp) {
                var$7 = $path.data;
                $reverse = $depth + 1 | 0;
                var$7[$depth] = $node;
                break a;
            }
            if ($cmp >= 0)
                $node = $java.ju_TreeMap$TreeNode_down($node, $reverse);
            else {
                var$7 = $path.data;
                $cmp = $depth + 1 | 0;
                var$7[$depth] = $node;
                $node = $java.ju_TreeMap$TreeNode_forward($node, $reverse);
                $depth = $cmp;
            }
        }
        $reverse = $depth;
    }
    return ju_Arrays_copyOf($path, $reverse);
};
$java.ju_TreeMap_findNext = function($this, $key, $reverse) {
    var $node, $lastForward, $cmp, var$6;
    $node = $this.$root;
    $lastForward = null;
    while ($node !== null) {
        $cmp = $java.ju_TreeMap$1_compare($this.$comparator0, $key, $node.$key1);
        if ($reverse)
            $cmp =  -$cmp;
        if ($cmp >= 0)
            var$6 = $java.ju_TreeMap$TreeNode_down($node, $reverse);
        else {
            var$6 = $java.ju_TreeMap$TreeNode_forward($node, $reverse);
            $lastForward = $node;
        }
        $node = var$6;
    }
    return $lastForward;
};
$java.ju_TreeMap_pathToNext = function($this, $key, $reverse) {
    var $path, $depth, $node, $cmp, var$7;
    $path = $rt_createArray(ju_TreeMap$TreeNode, $java.ju_TreeMap_height($this));
    $depth = 0;
    $node = $this.$root;
    while ($node !== null) {
        $cmp = $java.ju_TreeMap$1_compare($this.$comparator0, $key, $node.$key1);
        if ($reverse)
            $cmp =  -$cmp;
        if ($cmp >= 0)
            $node = $java.ju_TreeMap$TreeNode_down($node, $reverse);
        else {
            var$7 = $path.data;
            $cmp = $depth + 1 | 0;
            var$7[$depth] = $node;
            $node = $java.ju_TreeMap$TreeNode_forward($node, $reverse);
            $depth = $cmp;
        }
    }
    return ju_Arrays_copyOf($path, $depth);
};
$java.ju_TreeMap_pathToFirst = function($this, $reverse) {
    var $path, $depth, $node, var$5, var$6;
    $path = $rt_createArray(ju_TreeMap$TreeNode, $java.ju_TreeMap_height($this));
    $depth = 0;
    $node = $this.$root;
    while ($node !== null) {
        var$5 = $path.data;
        var$6 = $depth + 1 | 0;
        var$5[$depth] = $node;
        $node = $java.ju_TreeMap$TreeNode_forward($node, $reverse);
        $depth = var$6;
    }
    return ju_Arrays_copyOf($path, $depth);
};
$java.ju_TreeMap_getOrCreateNode = function($this, $root, $key) {
    var var$3, $cmp;
    if ($root === null) {
        $root = new ju_TreeMap$TreeNode;
        var$3 = null;
        $root.$key1 = $key;
        $root.$value8 = var$3;
        $root.$height4 = 1;
        $root.$size7 = 1;
        return $root;
    }
    $cmp = $java.ju_TreeMap$1_compare($this.$comparator0, $key, $root.$key1);
    if (!$cmp)
        return $root;
    if ($cmp >= 0)
        $root.$right = $java.ju_TreeMap_getOrCreateNode($this, $root.$right, $key);
    else
        $root.$left0 = $java.ju_TreeMap_getOrCreateNode($this, $root.$left0, $key);
    $java.ju_TreeMap$TreeNode_fix($root);
    return $java.ju_TreeMap$TreeNode_balance($root);
};
$java.ju_TreeMap_deleteNode = function($this, $right, $key) {
    var $cmp, $left, $pathToMin, $minDepth, var$7, $minDepth_0, $node;
    if ($right === null)
        return null;
    $cmp = $java.ju_TreeMap$1_compare($this.$comparator0, $key, $right.$key1);
    if ($cmp < 0)
        $right.$left0 = $java.ju_TreeMap_deleteNode($this, $right.$left0, $key);
    else if ($cmp > 0)
        $right.$right = $java.ju_TreeMap_deleteNode($this, $right.$right, $key);
    else {
        if ($right.$right === null)
            return $right.$left0;
        $left = $right.$left0;
        $right = $right.$right;
        $pathToMin = $rt_createArray(ju_TreeMap$TreeNode, $right.$height4);
        $minDepth = 0;
        while ($right.$left0 !== null) {
            var$7 = $pathToMin.data;
            $minDepth_0 = $minDepth + 1 | 0;
            var$7[$minDepth] = $right;
            $right = $right.$left0;
            $minDepth = $minDepth_0;
        }
        $key = $right.$right;
        while ($minDepth > 0) {
            var$7 = $pathToMin.data;
            $minDepth = $minDepth + (-1) | 0;
            $node = var$7[$minDepth];
            $node.$left0 = $key;
            $java.ju_TreeMap$TreeNode_fix($node);
            $key = $java.ju_TreeMap$TreeNode_balance($node);
        }
        $right.$right = $key;
        $right.$left0 = $left;
        $java.ju_TreeMap$TreeNode_fix($right);
    }
    $java.ju_TreeMap$TreeNode_fix($right);
    return $java.ju_TreeMap$TreeNode_balance($right);
};
$java.ju_TreeMap_entrySet = function($this) {
    var var$1, var$2, var$3;
    if ($this.$cachedEntrySet === null) {
        var$1 = new ju_TreeMap$EntrySet;
        var$2 = null;
        var$3 = null;
        var$1.$modCount4 = (-1);
        var$1.$owner0 = $this;
        var$1.$from = var$2;
        var$1.$fromIncluded = 1;
        var$1.$fromChecked = 0;
        var$1.$to = var$3;
        var$1.$toIncluded = 1;
        var$1.$toChecked = 0;
        var$1.$reverse = 0;
        $this.$cachedEntrySet = var$1;
    }
    return $this.$cachedEntrySet;
};
$java.ju_TreeMap_size = function($this) {
    return $this.$root === null ? 0 : $this.$root.$size7;
};
$java.ju_TreeMap_height = function($this) {
    return $this.$root === null ? 0 : $this.$root.$height4;
};
$java.ju_TreeMap_access$100 = function($x0, $x1) {
    var var$3, var$4;
    $x0 = $x0.$root;
    var$3 = null;
    while ($x0 !== null) {
        var$4 = $java.ju_TreeMap$TreeNode_forward($x0, $x1);
        var$3 = $x0;
        $x0 = var$4;
    }
    return var$3;
};
function maat_TMI() {
    jl_Enum.call(this);
    this.$controller = null;
}
var maat_TMI_instance = null;
$java.maat_TMI_$VALUES = null;
function maat_TMI__clinit_() {
    var var$1, var$2;
    var$1 = new maat_TMI;
    jl_Enum__init_0(var$1, $rt_s(2321), 0);
    var$1.$controller = $java.maat_TMIController__init_();
    maat_TMI_instance = var$1;
    var$2 = $rt_createArray(maat_TMI, 1);
    var$2.data[0] = maat_TMI_instance;
    $java.maat_TMI_$VALUES = var$2;
}
function nms_StepSound() {
    var a = this; jl_Object.call(a);
    a.$stepSoundName = null;
    a.$stepSoundVolume = 0.0;
    a.$stepSoundPitch = 0.0;
}
function nms_StepSound__init_(var_0, var_1, var_2) {
    var var_3 = new nms_StepSound();
    $java.nms_StepSound__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_StepSound__init_ = function($this, $par1Str, $par2, $par3) {
    $this.$stepSoundName = $par1Str;
    $this.$stepSoundVolume = $par2;
    $this.$stepSoundPitch = $par3;
};
function nms_StepSound_getVolume($this) {
    return $this.$stepSoundVolume;
}
function nms_StepSound_getPitch($this) {
    return $this.$stepSoundPitch;
}
$java.nms_StepSound_getBreakSound = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2322));
    jl_AbstractStringBuilder_append(var$1, $this.$stepSoundName);
    return jl_AbstractStringBuilder_toString(var$1);
};
function nms_StepSound_getStepSound($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2323));
    jl_AbstractStringBuilder_append(var$1, $this.$stepSoundName);
    return jl_AbstractStringBuilder_toString(var$1);
}
$java.nms_StepSound_getPlaceSound = function($this) {
    return $this.$getBreakSound();
};
function nms_StepSoundStone() {
    nms_StepSound.call(this);
}
function nms_StepSoundStone__init_(var_0, var_1, var_2) {
    var var_3 = new nms_StepSoundStone();
    $java.nms_StepSoundStone__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_StepSoundStone__init_ = function($this, $par1Str, $par2, $par3) {
    $java.nms_StepSound__init_($this, $par1Str, $par2, $par3);
};
$java.nms_StepSoundStone_getBreakSound = function($this) {
    return $rt_s(1201);
};
$java.nms_StepSoundStone_getPlaceSound = function($this) {
    return $rt_s(2324);
};
function nms_StepSoundSand() {
    nms_StepSound.call(this);
}
function nms_StepSoundSand__init_(var_0, var_1, var_2) {
    var var_3 = new nms_StepSoundSand();
    $java.nms_StepSoundSand__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_StepSoundSand__init_ = function($this, $par1Str, $par2, $par3) {
    $java.nms_StepSound__init_($this, $par1Str, $par2, $par3);
};
$java.nms_StepSoundSand_getBreakSound = function($this) {
    return $rt_s(2325);
};
function nms_StepSoundAnvil() {
    nms_StepSound.call(this);
}
function nms_StepSoundAnvil__init_(var_0, var_1, var_2) {
    var var_3 = new nms_StepSoundAnvil();
    $java.nms_StepSoundAnvil__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_StepSoundAnvil__init_ = function($this, $par1Str, $par2, $par3) {
    $java.nms_StepSound__init_($this, $par1Str, $par2, $par3);
};
$java.nms_StepSoundAnvil_getBreakSound = function($this) {
    return $rt_s(2326);
};
$java.nms_StepSoundAnvil_getPlaceSound = function($this) {
    return $rt_s(1200);
};
function nms_NoiseGenerator() {
    jl_Object.call(this);
}
function nms_NoiseGeneratorPerlin() {
    var a = this; nms_NoiseGenerator.call(a);
    a.$permutations = null;
    a.$xCoord1 = 0.0;
    a.$yCoord1 = 0.0;
    a.$zCoord1 = 0.0;
}
$java.nms_NoiseGeneratorPerlin__init_ = function() {
    var var_0 = new nms_NoiseGeneratorPerlin();
    nms_NoiseGeneratorPerlin__init_(var_0);
    return var_0;
};
function nms_NoiseGeneratorPerlin__init_0(var_0) {
    var var_1 = new nms_NoiseGeneratorPerlin();
    $java.nms_NoiseGeneratorPerlin__init_0(var_1, var_0);
    return var_1;
}
function nms_NoiseGeneratorPerlin__init_($this) {
    $java.nms_NoiseGeneratorPerlin__init_0($this, nle_EaglercraftRandom__init_0());
}
$java.nms_NoiseGeneratorPerlin__init_0 = function($this, $par1Random) {
    var $var2, var$3, $var2_0, $var3, $var4;
    $this.$permutations = $rt_createIntArray(512);
    $this.$xCoord1 = nle_EaglercraftRandom_nextDouble($par1Random) * 256.0;
    $this.$yCoord1 = nle_EaglercraftRandom_nextDouble($par1Random) * 256.0;
    $this.$zCoord1 = nle_EaglercraftRandom_nextDouble($par1Random) * 256.0;
    $var2 = 0;
    while ($var2 < 256) {
        var$3 = $this.$permutations.data;
        $var2_0 = $var2 + 1 | 0;
        var$3[$var2] = $var2;
        $var2 = $var2_0;
    }
    $var2 = 0;
    while ($var2 < 256) {
        $var3 = nle_EaglercraftRandom_nextInt($par1Random, 256 - $var2 | 0) + $var2 | 0;
        $var4 = $this.$permutations.data[$var2];
        $this.$permutations.data[$var2] = $this.$permutations.data[$var3];
        $this.$permutations.data[$var3] = $var4;
        $this.$permutations.data[$var2 + 256 | 0] = $this.$permutations.data[$var2];
        $var2 = $var2 + 1 | 0;
    }
};
$java.nms_NoiseGeneratorPerlin_lerp = function($this, $par1, $par3, $par5) {
    return $par3 + $par1 * ($par5 - $par3);
};
$java.nms_NoiseGeneratorPerlin_func_76309_a = function($this, $par1, $var9, $var9_0) {
    var $var6, $var7;
    $var6 = $par1 & 15;
    $var7 = (1 - (($var6 & 8) >> 3) | 0) * $var9;
    if ($var6 < 4)
        $var9 = 0.0;
    else if ($var6 != 12 && $var6 != 14)
        $var9 = $var9_0;
    if ($var6 & 1)
        $var7 =  -$var7;
    if ($var6 & 2)
        $var9 =  -$var9;
    return $var7 + $var9;
};
$java.nms_NoiseGeneratorPerlin_grad = function($this, $par1, $var11, $var11_0, $var11_1) {
    var $var8, $var9;
    $var8 = $par1 & 15;
    $var9 = $var8 >= 8 ? $var11_0 : $var11;
    if ($var8 >= 4)
        $var11_0 = $var8 != 12 && $var8 != 14 ? $var11_1 : $var11;
    if ($var8 & 1)
        $var9 =  -$var9;
    if ($var8 & 2)
        $var11_0 =  -$var11_0;
    return $var9 + $var11_0;
};
function nms_NoiseGeneratorPerlin_populateNoiseArray($this, $par1ArrayOfDouble, $par2, $par4, $par6, $par8, $par9, $par10, $par11, $par13, $par15, $par17) {
    var $var75, $var77, $var30, $var31, $var78, $var34, $var33, $var35, $var37, $var54, $var38, $var40, var$24, $var41, $var42, $var19, $var66, $var67, $var22, $var79, $var19_0, $var20, $var29, $var42_0, $var44, $var45, $var47, $var48, $var49, $var51, $var52, $var55, $var56, $var69, $var71, $var72, $var74, $var76, var$50, $var62;
    a: {
        if ($par9 == 1) {
            $var75 = 0;
            $var77 = 1.0 / $par17;
            $var30 = 0;
            while ($var30 < $par8) {
                $var31 = $par2 + $var30 * $par11 + $this.$xCoord1;
                $var78 = $var31 | 0;
                if ($var31 < $var78)
                    $var78 = $var78 + (-1) | 0;
                $var34 = $var78 & 255;
                $var33 = $var31 - $var78;
                $var35 = $var33 * $var33 * $var33 * ($var33 * ($var33 * 6.0 - 15.0) + 10.0);
                $var37 = 0;
                $var54 = $var34 + 1 | 0;
                $par13 = $var33 - 1.0;
                while ($var37 < $par10) {
                    $var38 = $par6 + $var37 * $par15 + $this.$zCoord1;
                    $var40 = $var38 | 0;
                    if ($var38 < $var40)
                        $var40 = $var40 + (-1) | 0;
                    var$24 = $par1ArrayOfDouble.data;
                    $var41 = $var40 & 255;
                    $par17 = $var38 - $var40;
                    $var42 = $par17 * $par17 * $par17 * ($par17 * ($par17 * 6.0 - 15.0) + 10.0);
                    $var19 = $this.$permutations.data[$var34] + 0 | 0;
                    $var66 = $this.$permutations.data[$var19] + $var41 | 0;
                    $var67 = $this.$permutations.data[$var54] + 0 | 0;
                    $var22 = $this.$permutations.data[$var67] + $var41 | 0;
                    $par4 = $java.nms_NoiseGeneratorPerlin_lerp($this, $var35, $java.nms_NoiseGeneratorPerlin_func_76309_a($this, $this.$permutations.data[$var66], $var33, $par17), $java.nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var22], $par13, 0.0, $par17));
                    $par9 = $this.$permutations.data[$var66 + 1 | 0];
                    $par17 = $par17 - 1.0;
                    $var79 = $java.nms_NoiseGeneratorPerlin_lerp($this, $var42, $par4, $java.nms_NoiseGeneratorPerlin_lerp($this, $var35, $java.nms_NoiseGeneratorPerlin_grad($this, $par9, $var33, 0.0, $par17), $java.nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var22 + 1 | 0], $par13, 0.0, $par17)));
                    $par9 = $var75 + 1 | 0;
                    var$24[$var75] = var$24[$var75] + $var79 * $var77;
                    $var37 = $var37 + 1 | 0;
                    $var75 = $par9;
                }
                $var30 = $var30 + 1 | 0;
            }
        } else {
            $var19_0 = 0;
            $var20 = 1.0 / $par17;
            $var22 = (-1);
            $var29 = 0.0;
            $var31 = 0.0;
            $var33 = 0.0;
            $var35 = 0.0;
            $var37 = 0;
            while (true) {
                if ($var37 >= $par8)
                    break a;
                $var38 = $par2 + $var37 * $par11 + $this.$xCoord1;
                $var40 = $var38 | 0;
                if ($var38 < $var40)
                    $var40 = $var40 + (-1) | 0;
                $var41 = $var40 & 255;
                $var77 = $var38 - $var40;
                $var42_0 = $var77 * $var77 * $var77 * ($var77 * ($var77 * 6.0 - 15.0) + 10.0);
                $var44 = 0;
                $var19 = $var41 + 1 | 0;
                $var38 = $var77 - 1.0;
                while ($var44 < $par10) {
                    $var45 = $par6 + $var44 * $par15 + $this.$zCoord1;
                    $var47 = $var45 | 0;
                    if ($var45 < $var47)
                        $var47 = $var47 + (-1) | 0;
                    $var48 = $var47 & 255;
                    $var45 = $var45 - $var47;
                    $var49 = $var45 * $var45 * $var45 * ($var45 * ($var45 * 6.0 - 15.0) + 10.0);
                    $var51 = 0;
                    $var79 = $var45 - 1.0;
                    while ($var51 < $par9) {
                        $var52 = $par4 + $var51 * $par13 + $this.$yCoord1;
                        $var54 = $var52 | 0;
                        if ($var52 < $var54)
                            $var54 = $var54 + (-1) | 0;
                        $var55 = $var54 & 255;
                        $par17 = $var52 - $var54;
                        $var56 = $par17 * $par17 * $par17 * ($par17 * ($par17 * 6.0 - 15.0) + 10.0);
                        if ($var51 && $var55 == $var22)
                            $var55 = $var22;
                        else {
                            $var69 = $this.$permutations.data[$var41] + $var55 | 0;
                            $var71 = $this.$permutations.data[$var69] + $var48 | 0;
                            $var72 = $this.$permutations.data[$var69 + 1 | 0] + $var48 | 0;
                            $var74 = $this.$permutations.data[$var19] + $var55 | 0;
                            $var75 = $this.$permutations.data[$var74] + $var48 | 0;
                            $var76 = $this.$permutations.data[$var74 + 1 | 0] + $var48 | 0;
                            $var29 = $java.nms_NoiseGeneratorPerlin_lerp($this, $var42_0, $java.nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var71], $var77, $par17, $var45), $java.nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var75], $var38, $par17, $var45));
                            $var22 = $this.$permutations.data[$var72];
                            $var52 = $par17 - 1.0;
                            $var31 = $java.nms_NoiseGeneratorPerlin_lerp($this, $var42_0, $java.nms_NoiseGeneratorPerlin_grad($this, $var22, $var77, $var52, $var45), $java.nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var76], $var38, $var52, $var45));
                            $var33 = $java.nms_NoiseGeneratorPerlin_lerp($this, $var42_0, $java.nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var71 + 1 | 0], $var77, $par17, $var79), $java.nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var75 + 1 | 0], $var38, $par17, $var79));
                            $var35 = $java.nms_NoiseGeneratorPerlin_lerp($this, $var42_0, $java.nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var72 + 1 | 0], $var77, $var52, $var79), $java.nms_NoiseGeneratorPerlin_grad($this, $this.$permutations.data[$var76 + 1 | 0], $var38, $var52, $var79));
                        }
                        var$50 = $par1ArrayOfDouble.data;
                        $var62 = $java.nms_NoiseGeneratorPerlin_lerp($this, $var49, $java.nms_NoiseGeneratorPerlin_lerp($this, $var56, $var29, $var31), $java.nms_NoiseGeneratorPerlin_lerp($this, $var56, $var33, $var35));
                        $var22 = $var19_0 + 1 | 0;
                        var$50[$var19_0] = var$50[$var19_0] + $var62 * $var20;
                        $var51 = $var51 + 1 | 0;
                        $var19_0 = $var22;
                        $var22 = $var55;
                    }
                    $var44 = $var44 + 1 | 0;
                }
                $var37 = $var37 + 1 | 0;
            }
        }
    }
}
function nms_BlockStone() {
    nms_Block.call(this);
}
function nms_BlockStone__init_(var_0) {
    var var_1 = new nms_BlockStone();
    $java.nms_BlockStone__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockStone__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_rock);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
function nms_BlockGrass() {
    var a = this; nms_Block.call(a);
    a.$iconGrassTop = null;
    a.$iconSnowSide = null;
    a.$iconGrassSideOverlay = null;
}
function nms_BlockGrass__init_(var_0) {
    var var_1 = new nms_BlockGrass();
    $java.nms_BlockGrass__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockGrass__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_grass);
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockGrass_getIcon = function($this, $par1, $par2) {
    var var$3;
    if ($par1 == 1)
        var$3 = $this.$iconGrassTop;
    else if ($par1)
        var$3 = $this.$blockIcon;
    else {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_dirt, $par1);
    }
    return var$3;
};
$java.nms_BlockGrass_getBlockTexture = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6;
    if ($par5 == 1)
        return $this.$iconGrassTop;
    if (!$par5) {
        nms_Block_$callClinit();
        return nms_Block_getBlockTextureFromSide(nms_Block_dirt, $par5);
    }
    $var6 = $par1IBlockAccess.$getBlockMaterial($par2, $par3 + 1 | 0, $par4);
    nms_Material_$callClinit();
    return $var6 !== $java.nms_Material_snow && $var6 !== $java.nms_Material_craftedSnow ? $this.$blockIcon : $this.$iconSnowSide;
};
$java.nms_BlockGrass_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(965));
    $this.$iconGrassTop = $par1IconRegister.$registerIcon($rt_s(964));
    $this.$iconSnowSide = $par1IconRegister.$registerIcon($rt_s(2327));
    $this.$iconGrassSideOverlay = $par1IconRegister.$registerIcon($rt_s(2328));
};
$java.nms_BlockGrass_getBlockColor = function($this) {
    return nms_ColorizerGrass_getGrassColor(0.5, 1.0);
};
$java.nms_BlockGrass_getRenderColor = function($this, $par1) {
    return $java.nms_BlockGrass_getBlockColor($this);
};
$java.nms_BlockGrass_colorMultiplier = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10;
    $var5 = 0;
    $var6 = 0;
    $var7 = 0;
    $var8 = (-1);
    while ($var8 <= 1) {
        $var9 = (-1);
        while ($var9 <= 1) {
            $var10 = $java.nms_BiomeGenBase_getBiomeGrassColor($par1IBlockAccess.$getBiomeGenForCoords($par2 + $var9 | 0, $par4 + $var8 | 0));
            $var5 = $var5 + (($var10 & 16711680) >> 16) | 0;
            $var6 = $var6 + (($var10 & 65280) >> 8) | 0;
            $var7 = $var7 + ($var10 & 255) | 0;
            $var9 = $var9 + 1 | 0;
        }
        $var8 = $var8 + 1 | 0;
    }
    nms_Block_initNoiseField($par2 >> 4, $par4 >> 4);
    $par2 = ($var6 / 9 | 0) * (nms_Block_grassNoiseArray.data[($par4 & 15) + (($par2 & 15) * 16 | 0) | 0] * 0.15000000596046448 + 1.0) | 0;
    if ($par2 > 255)
        $par2 = 255;
    if ($par2 < 0)
        $par2 = 0;
    return (($var5 / 9 | 0) & 255) << 16 | ($par2 & 255) << 8 | ($var7 / 9 | 0) & 255;
};
function nms_BlockGrass_getIconSideOverlay() {
    nms_Block_$callClinit();
    return nms_Block_grass.$iconGrassSideOverlay;
}
function nms_BlockDirt() {
    nms_Block.call(this);
}
function nms_BlockDirt__init_(var_0) {
    var var_1 = new nms_BlockDirt();
    $java.nms_BlockDirt__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockDirt__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_ground);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
function nms_BlockWood() {
    nms_Block.call(this);
    this.$iconArray0 = null;
}
var nms_BlockWood_woodType = null;
$java.nms_BlockWood_woodTextureTypes = null;
function nms_BlockWood__init_(var_0) {
    var var_1 = new nms_BlockWood();
    $java.nms_BlockWood__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockWood__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_wood);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockWood_getIcon = function($this, $par1, $par2) {
    if (!($par2 >= 0 && $par2 < $this.$iconArray0.data.length))
        $par2 = 0;
    return $this.$iconArray0.data[$par2];
};
$java.nms_BlockWood_damageDropped = function($this, $par1) {
    return $par1;
};
$java.nms_BlockWood_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 1));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 2));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 3));
};
$java.nms_BlockWood_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$iconArray0 = $rt_createArray(nms_Icon, $java.nms_BlockWood_woodTextureTypes.data.length);
    $var2 = 0;
    while ($var2 < $this.$iconArray0.data.length) {
        $this.$iconArray0.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockWood_woodTextureTypes.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockWood__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2329);
    var$2[1] = $rt_s(2330);
    var$2[2] = $rt_s(2331);
    var$2[3] = $rt_s(2332);
    nms_BlockWood_woodType = var$1;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(1923);
    var$2[1] = $rt_s(2333);
    var$2[2] = $rt_s(2334);
    var$2[3] = $rt_s(2335);
    $java.nms_BlockWood_woodTextureTypes = var$1;
}
function nms_BlockFlower() {
    nms_Block.call(this);
}
$java.nms_BlockFlower__init_ = function(var_0, var_1) {
    var var_2 = new nms_BlockFlower();
    $java.nms_BlockFlower__init_0(var_2, var_0, var_1);
    return var_2;
};
function nms_BlockFlower__init_(var_0) {
    var var_1 = new nms_BlockFlower();
    $java.nms_BlockFlower__init_1(var_1, var_0);
    return var_1;
}
$java.nms_BlockFlower__init_0 = function($this, $par1, $par2Material) {
    nms_Block__init_0($this, $par1, $par2Material);
    $this.$needsRandomTick = 1;
    nms_Block_setBlockBounds($this, 0.30000001192092896, 0.0, 0.30000001192092896, 0.699999988079071, 0.6000000238418579, 0.699999988079071);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockFlower__init_1 = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockFlower__init_0($this, $par1, $java.nms_Material_plants);
};
$java.nms_BlockFlower_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_Block_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4) && $this.$canThisPlantGrowOnThisBlockID(nms_World_getBlockId($par1World, $par2, $par3 - 1 | 0, $par4)) ? 1 : 0;
};
$java.nms_BlockFlower_canThisPlantGrowOnThisBlockID = function($this, $par1) {
    nms_Block_$callClinit();
    return $par1 != nms_Block_grass.$blockID && $par1 != nms_Block_dirt.$blockID && $par1 != nms_Block_tilledField.$blockID ? 0 : 1;
};
$java.nms_BlockFlower_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockFlower_checkFlowerChange($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockFlower_checkFlowerChange = function($this, $par1World, $par2, $par3, $par4) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$canBlockStay($par1World, $par2, $par3, $par4))
            return;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $ptr);
};
$java.nms_BlockFlower_canBlockStay = function($this, $par1World, $par2, $par3, $par4) {
    return !(nms_World_getFullBlockLightValue($par1World, $par2, $par3, $par4) < 8 && !nms_World_canBlockSeeTheSky($par1World, $par2, $par3, $par4)) && $this.$canThisPlantGrowOnThisBlockID(nms_World_getBlockId($par1World, $par2, $par3 - 1 | 0, $par4)) ? 1 : 0;
};
$java.nms_BlockFlower_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockFlower_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockFlower_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockFlower_getRenderType = function($this) {
    return 1;
};
function nms_BlockSapling() {
    nms_BlockFlower.call(this);
    this.$saplingIcon = null;
}
var nms_BlockSapling_WOOD_TYPES = null;
$java.nms_BlockSapling_field_94370_b = null;
function nms_BlockSapling__init_(var_0) {
    var var_1 = new nms_BlockSapling();
    $java.nms_BlockSapling__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockSapling__init_ = function($this, $par1) {
    $java.nms_BlockFlower__init_1($this, $par1);
    nms_Block_setBlockBounds($this, 0.09999999403953552, 0.0, 0.09999999403953552, 0.8999999761581421, 0.800000011920929, 0.8999999761581421);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockSapling_getIcon = function($this, $par1, $par2) {
    $par1 = $par2 & 3;
    return $this.$saplingIcon.data[$par1];
};
$java.nms_BlockSapling_damageDropped = function($this, $par1) {
    return $par1 & 3;
};
$java.nms_BlockSapling_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 1));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 2));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 3));
};
$java.nms_BlockSapling_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$saplingIcon = $rt_createArray(nms_Icon, $java.nms_BlockSapling_field_94370_b.data.length);
    $var2 = 0;
    while ($var2 < $this.$saplingIcon.data.length) {
        $this.$saplingIcon.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockSapling_field_94370_b.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockSapling__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2329);
    var$2[1] = $rt_s(2330);
    var$2[2] = $rt_s(2331);
    var$2[3] = $rt_s(2332);
    nms_BlockSapling_WOOD_TYPES = var$1;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(1933);
    var$2[1] = $rt_s(2336);
    var$2[2] = $rt_s(2337);
    var$2[3] = $rt_s(2338);
    $java.nms_BlockSapling_field_94370_b = var$1;
}
function nms_BlockFlowing() {
    var a = this; nms_BlockFluid.call(a);
    a.$numAdjacentSources = 0;
    a.$isOptimalFlowDirection = null;
    a.$flowCost = null;
}
function nms_BlockFlowing__init_(var_0, var_1) {
    var var_2 = new nms_BlockFlowing();
    $java.nms_BlockFlowing__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockFlowing__init_ = function($this, $par1, $par2Material) {
    $java.nms_BlockFluid__init_0($this, $par1, $par2Material);
    $this.$numAdjacentSources = 0;
    $this.$isOptimalFlowDirection = $rt_createBooleanArray(4);
    $this.$flowCost = $rt_createIntArray(4);
};
$java.nms_BlockFlowing_getBlocksMovement = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var var$5;
    var$5 = $this.$blockMaterial;
    nms_Material_$callClinit();
    return var$5 === nms_Material_lava ? 0 : 1;
};
function nms_BlockStationary() {
    nms_BlockFluid.call(this);
}
function nms_BlockStationary__init_(var_0, var_1) {
    var var_2 = new nms_BlockStationary();
    $java.nms_BlockStationary__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockStationary__init_ = function($this, $par1, $par2Material) {
    $java.nms_BlockFluid__init_0($this, $par1, $par2Material);
    $this.$needsRandomTick = 0;
    nms_Material_$callClinit();
    if ($par2Material === nms_Material_lava)
        $this.$needsRandomTick = 1;
};
$java.nms_BlockStationary_getBlocksMovement = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var var$5;
    var$5 = $this.$blockMaterial;
    nms_Material_$callClinit();
    return var$5 === nms_Material_lava ? 0 : 1;
};
$java.nms_BlockStationary_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockFluid_onNeighborBlockChange($this, $par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_World_getBlockId($par1World, $par2, $par3, $par4) != $this.$blockID)
            return;
        var$6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        var$7 = $this.$blockID - 1 | 0;
        $par5 = 2;
        $ptr = 2;
    case 2:
        nms_World_setBlock($par1World, $par2, $par3, $par4, var$7, var$6, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $java.nms_BlockFluid_tickRate($this, $par1World);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, var$6, var$7, $ptr);
};
function nms_BlockSand() {
    nms_Block.call(this);
}
$java.nms_BlockSand_fallInstantly = 0;
function nms_BlockSand__init_(var_0) {
    var var_1 = new nms_BlockSand();
    $java.nms_BlockSand__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockSand__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_sand);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockSand_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    return;
};
$java.nms_BlockSand_tickRate = function($this, $par1World) {
    return 2;
};
function nms_BlockSand__clinit_() {
    $java.nms_BlockSand_fallInstantly = 0;
}
function nms_BlockGravel() {
    nms_BlockSand.call(this);
}
function nms_BlockGravel__init_(var_0) {
    var var_1 = new nms_BlockGravel();
    $java.nms_BlockGravel__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockGravel__init_ = function($this, $par1) {
    $java.nms_BlockSand__init_($this, $par1);
};
function nms_BlockOre() {
    nms_Block.call(this);
}
function nms_BlockOre__init_(var_0) {
    var var_1 = new nms_BlockOre();
    $java.nms_BlockOre__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockOre__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_rock);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockOre_idDropped = function($this, $par1, $par2Random, $par3) {
    $par1 = $this.$blockID;
    nms_Block_$callClinit();
    if ($par1 == nms_Block_oreCoal.$blockID) {
        nms_Item_$callClinit();
        $par1 = nms_Item_coal.$itemID;
    } else if ($this.$blockID == nms_Block_oreDiamond.$blockID) {
        nms_Item_$callClinit();
        $par1 = nms_Item_diamond.$itemID;
    } else if ($this.$blockID == nms_Block_oreLapis.$blockID) {
        nms_Item_$callClinit();
        $par1 = nms_Item_dyePowder.$itemID;
    } else if ($this.$blockID == nms_Block_oreEmerald.$blockID) {
        nms_Item_$callClinit();
        $par1 = nms_Item_emerald.$itemID;
    } else if ($this.$blockID != nms_Block_oreNetherQuartz.$blockID)
        $par1 = $this.$blockID;
    else {
        nms_Item_$callClinit();
        $par1 = nms_Item_netherQuartz.$itemID;
    }
    return $par1;
};
$java.nms_BlockOre_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    if ($java.nms_BlockOre_idDropped($this, $par5, $par1World.$rand, $par7) != $this.$blockID) {
        $par2 = $this.$blockID;
        nms_Block_$callClinit();
        if ($par2 == nms_Block_oreCoal.$blockID)
            nms_MathHelper_getRandomIntegerInRange($par1World.$rand, 0, 2);
        else if ($this.$blockID == nms_Block_oreDiamond.$blockID)
            nms_MathHelper_getRandomIntegerInRange($par1World.$rand, 3, 7);
        else if ($this.$blockID == nms_Block_oreEmerald.$blockID)
            nms_MathHelper_getRandomIntegerInRange($par1World.$rand, 3, 7);
        else if ($this.$blockID == nms_Block_oreLapis.$blockID)
            nms_MathHelper_getRandomIntegerInRange($par1World.$rand, 2, 5);
        else if ($this.$blockID == nms_Block_oreNetherQuartz.$blockID)
            nms_MathHelper_getRandomIntegerInRange($par1World.$rand, 2, 5);
    }
};
$java.nms_BlockOre_damageDropped = function($this, $par1) {
    $par1 = $this.$blockID;
    nms_Block_$callClinit();
    return $par1 != nms_Block_oreLapis.$blockID ? 0 : 4;
};
function nms_BlockLog() {
    var a = this; nms_Block.call(a);
    a.$iconArray1 = null;
    a.$tree_top = null;
}
var nms_BlockLog_woodType = null;
$java.nms_BlockLog_treeTextureTypes = null;
function nms_BlockLog__init_(var_0) {
    var var_1 = new nms_BlockLog();
    $java.nms_BlockLog__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockLog__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_wood);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockLog_getRenderType = function($this) {
    return 31;
};
$java.nms_BlockLog_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    var $var10, $var11;
    a: {
        $var10 = $par9 & 3;
        $var11 = 0;
        switch ($par5) {
            case 0:
            case 1:
                $var11 = 0;
                break a;
            case 2:
            case 3:
                $var11 = 8;
                break a;
            case 4:
            case 5:
                $var11 = 4;
                break a;
            default:
        }
    }
    return $var10 | $var11;
};
$java.nms_BlockLog_getIcon = function($this, $par1, $par2) {
    var $var3, $var4;
    $var3 = $par2 & 12;
    $var4 = $par2 & 3;
    return !$var3 && !($par1 != 1 && $par1) ? $this.$tree_top : $var3 == 4 && !($par1 != 5 && $par1 != 4) ? $this.$tree_top : $var3 == 8 && !($par1 != 2 && $par1 != 3) ? $this.$tree_top : $this.$iconArray1.data[$var4];
};
$java.nms_BlockLog_damageDropped = function($this, $par1) {
    return $par1 & 3;
};
$java.nms_BlockLog_limitToValidMetadata = function($par0) {
    return $par0 & 3;
};
$java.nms_BlockLog_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 1));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 2));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 3));
};
$java.nms_BlockLog_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$tree_top = $par1IconRegister.$registerIcon($rt_s(2339));
    $this.$iconArray1 = $rt_createArray(nms_Icon, $java.nms_BlockLog_treeTextureTypes.data.length);
    $var2 = 0;
    while ($var2 < $this.$iconArray1.data.length) {
        $this.$iconArray1.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockLog_treeTextureTypes.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockLog__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2329);
    var$2[1] = $rt_s(2330);
    var$2[2] = $rt_s(2331);
    var$2[3] = $rt_s(2332);
    nms_BlockLog_woodType = var$1;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2340);
    var$2[1] = $rt_s(2341);
    var$2[2] = $rt_s(2342);
    var$2[3] = $rt_s(2343);
    $java.nms_BlockLog_treeTextureTypes = var$1;
}
function nms_BlockLeavesBase() {
    nms_Block.call(this);
    this.$graphicsLevel = 0;
}
$java.nms_BlockLeavesBase_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6;
    $var6 = $par1IBlockAccess.$getBlockId($par2, $par3, $par4);
    return !$this.$graphicsLevel && $var6 == $this.$blockID ? 0 : nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5);
};
function nms_BlockLeaves() {
    var a = this; nms_BlockLeavesBase.call(a);
    a.$field_94394_cP = 0;
    a.$iconArray2 = null;
}
$java.nms_BlockLeaves_LEAF_TYPES = null;
$java.nms_BlockLeaves_field_94396_b = null;
function nms_BlockLeaves__init_(var_0) {
    var var_1 = new nms_BlockLeaves();
    $java.nms_BlockLeaves__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockLeaves__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_leaves);
    $this.$graphicsLevel = 0;
    $this.$iconArray2 = $rt_createArray($rt_arraycls(nms_Icon), 2);
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockLeaves_getBlockColor = function($this) {
    return nms_ColorizerFoliage_getFoliageColor(0.5, 1.0);
};
$java.nms_BlockLeaves_getRenderColor = function($this, $par1) {
    $par1 = $par1 & 3;
    return $par1 == 1 ? 6396257 : $par1 != 2 ? 4764952 : 8431445;
};
$java.nms_BlockLeaves_colorMultiplier = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var6, $var7, $var8, $var9, $var10, $var11;
    $par3 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) & 3;
    if ($par3 == 1)
        return 6396257;
    if ($par3 == 2)
        return 8431445;
    $var6 = 0;
    $var7 = 0;
    $var8 = 0;
    $var9 = (-1);
    while ($var9 <= 1) {
        $var10 = (-1);
        while ($var10 <= 1) {
            $var11 = $java.nms_BiomeGenBase_getBiomeFoliageColor($par1IBlockAccess.$getBiomeGenForCoords($par2 + $var10 | 0, $par4 + $var9 | 0));
            $var6 = $var6 + (($var11 & 16711680) >> 16) | 0;
            $var7 = $var7 + (($var11 & 65280) >> 8) | 0;
            $var8 = $var8 + ($var11 & 255) | 0;
            $var10 = $var10 + 1 | 0;
        }
        $var9 = $var9 + 1 | 0;
    }
    nms_Block_initNoiseField($par2 >> 4, $par4 >> 4);
    $par2 = ($var7 / 9 | 0) * (nms_Block_grassNoiseArray.data[($par4 & 15) + (($par2 & 15) * 16 | 0) | 0] * 0.30000001192092896 + 1.0) | 0;
    if ($par2 > 255)
        $par2 = 255;
    if ($par2 < 0)
        $par2 = 0;
    return (($var6 / 9 | 0) & 255) << 16 | ($par2 & 255) << 8 | ($var8 / 9 | 0) & 255;
};
$java.nms_BlockLeaves_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var $var6, $var8, $var10, var$9, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_World_canLightningStrikeAt($par1World, $par2, $par3 + 1 | 0, $par4) && !nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) && nle_EaglercraftRandom_nextInt($par5Random, 15) == 1) {
            $var6 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var8 = $par3 - 0.05;
            $var10 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
            $par5Random = $rt_s(1177);
            var$9 = 0.0;
            var$10 = 0.0;
            var$11 = 0.0;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        nms_World_spawnParticle($par1World, $par5Random, $var6, $var8, $var10, var$9, var$10, var$11);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, $var6, $var8, $var10, var$9, var$10, var$11, $ptr);
};
$java.nms_BlockLeaves_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    return;
};
$java.nms_BlockLeaves_damageDropped = function($this, $par1) {
    return $par1 & 3;
};
$java.nms_BlockLeaves_isOpaqueCube = function($this) {
    return $this.$graphicsLevel ? 0 : 1;
};
$java.nms_BlockLeaves_getIcon = function($this, $par1, $par2) {
    $par1 = $par2 & 3;
    return $par1 == 1 ? $this.$iconArray2.data[$this.$field_94394_cP].data[1] : $par1 != 3 ? $this.$iconArray2.data[$this.$field_94394_cP].data[0] : $this.$iconArray2.data[$this.$field_94394_cP].data[3];
};
function nms_BlockLeaves_setGraphicsLevel($this, $par1) {
    $this.$graphicsLevel = $par1;
    $this.$field_94394_cP = !$par1 ? 1 : 0;
}
$java.nms_BlockLeaves_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 1));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 2));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 3));
};
$java.nms_BlockLeaves_registerIcons = function($this, $par1IconRegister) {
    var $var2, $var3;
    $var2 = 0;
    while ($var2 < $java.nms_BlockLeaves_field_94396_b.data.length) {
        $this.$iconArray2.data[$var2] = $rt_createArray(nms_Icon, $java.nms_BlockLeaves_field_94396_b.data[$var2].data.length);
        $var3 = 0;
        while ($var3 < $java.nms_BlockLeaves_field_94396_b.data[$var2].data.length) {
            $this.$iconArray2.data[$var2].data[$var3] = $par1IconRegister.$registerIcon($java.nms_BlockLeaves_field_94396_b.data[$var2].data[$var3]);
            $var3 = $var3 + 1 | 0;
        }
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockLeaves__clinit_() {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2329);
    var$2[1] = $rt_s(2330);
    var$2[2] = $rt_s(2331);
    var$2[3] = $rt_s(2332);
    $java.nms_BlockLeaves_LEAF_TYPES = var$1;
    var$1 = $rt_createArray($rt_arraycls(jl_String), 2);
    var$3 = var$1.data;
    var$2 = $rt_createArray(jl_String, 4);
    var$4 = var$2.data;
    var$4[0] = $rt_s(1939);
    var$4[1] = $rt_s(2344);
    var$4[2] = $rt_s(1939);
    var$4[3] = $rt_s(2345);
    var$3[0] = var$2;
    var$2 = $rt_createArray(jl_String, 4);
    var$4 = var$2.data;
    var$4[0] = $rt_s(2346);
    var$4[1] = $rt_s(2347);
    var$4[2] = $rt_s(2346);
    var$4[3] = $rt_s(2348);
    var$3[1] = var$2;
    $java.nms_BlockLeaves_field_94396_b = var$1;
}
function nms_BlockSponge() {
    nms_Block.call(this);
}
function nms_BlockSponge__init_(var_0) {
    var var_1 = new nms_BlockSponge();
    $java.nms_BlockSponge__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockSponge__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_sponge);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
function nms_BlockBreakable() {
    var a = this; nms_Block.call(a);
    a.$localFlag = 0;
    a.$breakableBlockIcon = null;
}
$java.nms_BlockBreakable__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_BlockBreakable();
    $java.nms_BlockBreakable__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_BlockBreakable__init_0 = function($this, $par1, $par2Str, $par3Material, $par4) {
    nms_Block__init_0($this, $par1, $par3Material);
    $this.$localFlag = $par4;
    $this.$breakableBlockIcon = $par2Str;
};
$java.nms_BlockBreakable_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockBreakable_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6;
    $var6 = $par1IBlockAccess.$getBlockId($par2, $par3, $par4);
    return !$this.$localFlag && $var6 == $this.$blockID ? 0 : nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5);
};
$java.nms_BlockBreakable_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($this.$breakableBlockIcon);
};
function nms_BlockGlass() {
    nms_BlockBreakable.call(this);
}
function nms_BlockGlass__init_(var_0, var_1, var_2) {
    var var_3 = new nms_BlockGlass();
    $java.nms_BlockGlass__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_BlockGlass__init_ = function($this, $par1, $par2Material, $par3) {
    $java.nms_BlockBreakable__init_0($this, $par1, $rt_s(1688), $par2Material, $par3);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockGlass_getRenderBlockPass = function($this) {
    return 0;
};
$java.nms_BlockGlass_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockGlass_renderAsNormalBlock = function($this) {
    return 0;
};
function nms_ITileEntityProvider() {
}
function nms_BlockContainer() {
    nms_Block.call(this);
}
$java.nms_BlockContainer__init_ = function(var_0, var_1) {
    var var_2 = new nms_BlockContainer();
    $java.nms_BlockContainer__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.nms_BlockContainer__init_0 = function($this, $par1, $par2Material) {
    nms_Block__init_0($this, $par1, $par2Material);
    $this.$isBlockContainer = 1;
};
$java.nms_BlockContainer_onBlockEventReceived = function($this, $par1World, $par2, $par3, $par4, $par5, $par6) {
    var $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        return $var7 === null ? 0 : $var7.$receiveClientEvent($par5, $par6);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $par6, $var7, $ptr);
};
function nms_BlockDispenser() {
    var a = this; nms_BlockContainer.call(a);
    a.$random2 = null;
    a.$furnaceTopIcon = null;
    a.$furnaceFrontIcon = null;
    a.$field_96473_e = null;
}
function nms_BlockDispenser__init_(var_0) {
    var var_1 = new nms_BlockDispenser();
    $java.nms_BlockDispenser__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockDispenser__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_rock);
    $this.$random2 = nle_EaglercraftRandom__init_0();
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
};
$java.nms_BlockDispenser_tickRate = function($this, $par1World) {
    return 4;
};
$java.nms_BlockDispenser_getIcon = function($this, $par1, $par2) {
    var $var3;
    $var3 = $par2 & 7;
    return $par1 == $var3 ? ($var3 != 1 && $var3 ? $this.$furnaceFrontIcon : $this.$field_96473_e) : $var3 != 1 && $var3 ? ($par1 != 1 && $par1 ? $this.$blockIcon : $this.$furnaceTopIcon) : $this.$furnaceTopIcon;
};
$java.nms_BlockDispenser_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2349));
    $this.$furnaceTopIcon = $par1IconRegister.$registerIcon($rt_s(2350));
    $this.$furnaceFrontIcon = $par1IconRegister.$registerIcon($rt_s(2351));
    $this.$field_96473_e = $par1IconRegister.$registerIcon($rt_s(2352));
};
$java.nms_BlockDispenser_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockDispenser_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var7, $var8, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_isBlockIndirectlyGettingPowered($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        if (!$par5) {
            $par5 = $par3 + 1 | 0;
            $ptr = 2;
            continue main;
        }
        $var7 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var8 = !($var7 & 8) ? 0 : 1;
        if (1 && !$var8) {
            $par5 = $var7 | 8;
            $var6 = 4;
            $ptr = 3;
            continue main;
        }
        if (!1 && $var8) {
            $par5 = $var7 & (-9);
            $var6 = 4;
            $ptr = 4;
            continue main;
        }
        return;
    case 2:
        $tmp = nms_World_isBlockIndirectlyGettingPowered($par1World, $par2, $par5, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        $var6 = $par5 ? 1 : 0;
        $var7 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var8 = !($var7 & 8) ? 0 : 1;
        if ($var6 && !$var8) {
            $par5 = $var7 | 8;
            $var6 = 4;
            $ptr = 3;
            continue main;
        }
        if (!$var6 && $var8) {
            $par5 = $var7 & (-9);
            $var6 = 4;
            $ptr = 4;
            continue main;
        }
        return;
    case 3:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var7, $var8, $var6, $ptr);
};
$java.nms_BlockDispenser_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityDispenser__init_();
};
$java.nms_BlockDispenser_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = $java.nms_BlockPistonBase_determineOrientation($par1World, $par2, $par3, $par4, $par5EntityLiving);
        var$8 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 2;
    case 2:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $par1World.$customName = nms_ItemStack_getDisplayName($par6ItemStack);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, var$8, $ptr);
};
$java.nms_BlockDispenser_hasComparatorInputOverride = function($this) {
    return 1;
};
$java.nms_BlockDispenser_getComparatorInputOverride = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return nms_Container_calcRedstoneFromInventory($par1World);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
function nms_BlockSandStone() {
    var a = this; nms_Block.call(a);
    a.$field_94406_c = null;
    a.$field_94403_cO = null;
    a.$field_94404_cP = null;
}
var nms_BlockSandStone_SAND_STONE_TYPES = null;
$java.nms_BlockSandStone_field_94405_b = null;
function nms_BlockSandStone__init_(var_0) {
    var var_1 = new nms_BlockSandStone();
    $java.nms_BlockSandStone__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockSandStone__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_rock);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockSandStone_getIcon = function($this, $par1, $par2) {
    a: {
        if ($par1 != 1) {
            if ($par1)
                break a;
            if ($par2 != 1 && $par2 != 2)
                break a;
        }
        return $this.$field_94403_cO;
    }
    if (!$par1)
        return $this.$field_94404_cP;
    if (!($par2 >= 0 && $par2 < $this.$field_94406_c.data.length))
        $par2 = 0;
    return $this.$field_94406_c.data[$par2];
};
$java.nms_BlockSandStone_damageDropped = function($this, $par1) {
    return $par1;
};
$java.nms_BlockSandStone_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 1));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 2));
};
$java.nms_BlockSandStone_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$field_94406_c = $rt_createArray(nms_Icon, $java.nms_BlockSandStone_field_94405_b.data.length);
    $var2 = 0;
    while ($var2 < $this.$field_94406_c.data.length) {
        $this.$field_94406_c.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockSandStone_field_94405_b.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
    $this.$field_94403_cO = $par1IconRegister.$registerIcon($rt_s(2353));
    $this.$field_94404_cP = $par1IconRegister.$registerIcon($rt_s(2354));
};
function nms_BlockSandStone__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(222);
    var$2[1] = $rt_s(2355);
    var$2[2] = $rt_s(2356);
    nms_BlockSandStone_SAND_STONE_TYPES = var$1;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2357);
    var$2[1] = $rt_s(2358);
    var$2[2] = $rt_s(2359);
    $java.nms_BlockSandStone_field_94405_b = var$1;
}
function nms_BlockNote() {
    nms_BlockContainer.call(this);
}
function nms_BlockNote__init_(var_0) {
    var var_1 = new nms_BlockNote();
    $java.nms_BlockNote__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockNote__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_wood);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
};
$java.nms_BlockNote_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_isBlockIndirectlyGettingPowered($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $tmp;
        $ptr = 2;
    case 2:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        $var7 = $var7;
        if ($var7 !== null && $var7.$previousRedstoneState != $var6) {
            if ($var6) {
                $ptr = 3;
                continue main;
            }
            $var7.$previousRedstoneState = $var6;
        }
        return;
    case 3:
        $java.nms_TileEntityNote_triggerNote($var7, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7.$previousRedstoneState = $var6;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $ptr);
};
$java.nms_BlockNote_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockNote_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityNote__init_();
};
$java.nms_BlockNote_onBlockEventReceived = function($this, $par1World, $par2, $par3, $par4, $par5, $par6) {
    var $var8, var$8, $var7, var$10, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();$var8 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        maa_NoteblockPlayer_$callClinit();
        if (!maa_NoteblockPlayer_playing) {
            maa_NoteblockPlayer_correctNote = 0;
            maa_NoteblockPlayer_notePos = null;
            maa_NoteblockPlayer_targetNote = (-1);
            maa_NoteblockPlayer_currentNote = (-1);
            maa_NoteblockPlayer_theoreticalNote = (-1);
        }
        if (maa_NoteblockPlayer_notePos !== null && maa_NoteblockPlayer_targetNote != (-1) && (maa_NoteblockPlayer_notePos.$xCoord | 0) == $par2 && (maa_NoteblockPlayer_notePos.$yCoord | 0) == ($par3 + 1 | 0) && (maa_NoteblockPlayer_notePos.$zCoord | 0) == $par4) {
            maa_NoteblockPlayer_currentNote = $par6;
            if (maa_NoteblockPlayer_theoreticalNote < 0)
                maa_NoteblockPlayer_theoreticalNote = maa_NoteblockPlayer_currentNote;
            $var8 = maa_NoteblockPlayer_mc.$thePlayer;
            var$8 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$8);
            jl_AbstractStringBuilder_append(var$8, $rt_s(2360));
            jl_AbstractStringBuilder_append2(var$8, $par6);
            jl_AbstractStringBuilder_append(var$8, $rt_s(61));
            jl_AbstractStringBuilder_append2(var$8, maa_NoteblockPlayer_targetNote);
            nms_EntityPlayerSP_sendChatToPlayer($var8, jl_AbstractStringBuilder_toString(var$8));
            if (maa_NoteblockPlayer_targetNote == $par6) {
                maa_NoteblockPlayer_notePos = null;
                maa_NoteblockPlayer_targetNote = (-1);
                maa_NoteblockPlayer_currentNote = (-1);
                maa_NoteblockPlayer_theoreticalNote = (-1);
                maa_NoteblockPlayer_correctNote = 1;
            }
        }
        $var7 = jl_Math_pow(2.0, ($par6 - 12 | 0) / 12.0);
        $var8 = $rt_s(2361);
        if ($par5 == 1)
            $var8 = $rt_s(2362);
        if ($par5 == 2)
            $var8 = $rt_s(2363);
        if ($par5 == 3)
            $var8 = $rt_s(2364);
        if ($par5 == 4)
            $var8 = $rt_s(2365);
        var$10 = $par2 + 0.5;
        var$11 = $par3;
        var$12 = var$11 + 0.5;
        var$13 = $par4 + 0.5;
        var$8 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$8);
        jl_AbstractStringBuilder_append(var$8, $rt_s(2366));
        jl_AbstractStringBuilder_append(var$8, $var8);
        nms_World_playSoundEffect($par1World, var$10, var$12, var$13, jl_AbstractStringBuilder_toString(var$8), 3.0, $var7);
        $var8 = $rt_s(1170);
        var$11 = var$11 + 1.2;
        var$14 = $par6 / 24.0;
        var$15 = 0.0;
        var$12 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1World, $var8, var$10, var$11, var$13, var$14, var$15, var$12);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $par6, $var8, var$8, $var7, var$10, var$11, var$12, var$13, var$14, var$15, $ptr);
};
function nms_BlockDirectional() {
    nms_Block.call(this);
}
function nms_BlockDirectional_getDirection($par0) {
    return $par0 & 3;
}
function nms_BlockBed() {
    var a = this; nms_BlockDirectional.call(a);
    a.$field_94472_b = null;
    a.$bedSideIcons = null;
    a.$bedTopIcons = null;
}
var nms_BlockBed_footBlockToHeadBlockMap = null;
function nms_BlockBed__init_(var_0) {
    var var_1 = new nms_BlockBed();
    $java.nms_BlockBed__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockBed__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_cloth);
    $java.nms_BlockBed_setBounds($this);
};
$java.nms_BlockBed_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockBed_getIcon = function($this, $par1, $par2) {
    var $var3, $var4, $var5, var$6;
    if (!$par1) {
        nms_Block_$callClinit();
        return nms_Block_getBlockTextureFromSide(nms_Block_planks, $par1);
    }
    $var3 = nms_BlockDirectional_getDirection($par2);
    $var4 = $java.nms_Direction_bedDirection.data[$var3].data[$par1];
    $var5 = !nms_BlockBed_isBlockHeadOfBed($par2) ? 0 : 1;
    a: {
        b: {
            if (!($var5 == 1 && $var4 == 2)) {
                if ($var5)
                    break b;
                if ($var4 != 3)
                    break b;
            }
            var$6 = $this.$field_94472_b.data[$var5];
            break a;
        }
        if ($var4 != 5 && $var4 != 4)
            var$6 = $this.$bedTopIcons.data[$var5];
        else
            var$6 = $this.$bedSideIcons.data[$var5];
    }
    return var$6;
};
$java.nms_BlockBed_registerIcons = function($this, $par1IconRegister) {
    var var$2, var$3;
    var$2 = $rt_createArray(nms_Icon, 2);
    var$3 = var$2.data;
    var$3[0] = $par1IconRegister.$registerIcon($rt_s(2367));
    var$3[1] = $par1IconRegister.$registerIcon($rt_s(2368));
    $this.$bedTopIcons = var$2;
    var$2 = $rt_createArray(nms_Icon, 2);
    var$3 = var$2.data;
    var$3[0] = $par1IconRegister.$registerIcon($rt_s(2369));
    var$3[1] = $par1IconRegister.$registerIcon($rt_s(2370));
    $this.$field_94472_b = var$2;
    var$2 = $rt_createArray(nms_Icon, 2);
    var$3 = var$2.data;
    var$3[0] = $par1IconRegister.$registerIcon($rt_s(2371));
    var$3[1] = $par1IconRegister.$registerIcon($rt_s(2372));
    $this.$bedSideIcons = var$2;
};
$java.nms_BlockBed_getRenderType = function($this) {
    return 14;
};
$java.nms_BlockBed_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockBed_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockBed_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    $java.nms_BlockBed_setBounds($this);
};
$java.nms_BlockBed_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
            $var7 = nms_BlockDirectional_getDirection($var6);
            if (!nms_BlockBed_isBlockHeadOfBed($var6)) {
                if (nms_World_getBlockId($par1World, $par2 + nms_BlockBed_footBlockToHeadBlockMap.data[$var7].data[0] | 0, $par3, $par4 + nms_BlockBed_footBlockToHeadBlockMap.data[$var7].data[1] | 0) == $this.$blockID)
                    break a;
                $ptr = 1;
                continue main;
            }
            if (nms_World_getBlockId($par1World, $par2 - nms_BlockBed_footBlockToHeadBlockMap.data[$var7].data[0] | 0, $par3, $par4 - nms_BlockBed_footBlockToHeadBlockMap.data[$var7].data[1] | 0) != $this.$blockID) {
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $ptr);
};
$java.nms_BlockBed_setBounds = function($this) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.5625, 1.0);
};
function nms_BlockBed_isBlockHeadOfBed($par0) {
    return !($par0 & 8) ? 0 : 1;
}
$java.nms_BlockBed_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    nms_BlockBed_isBlockHeadOfBed($par5);
};
$java.nms_BlockBed_getMobilityFlag = function($this) {
    return 1;
};
$java.nms_BlockBed_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_bed.$itemID;
};
function nms_BlockBed__clinit_() {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createArray($rt_arraycls($rt_intcls()), 4);
    var$2 = var$1.data;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 0;
    var$4[1] = 1;
    var$2[0] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = (-1);
    var$4[1] = 0;
    var$2[1] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 0;
    var$4[1] = (-1);
    var$2[2] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 1;
    var$4[1] = 0;
    var$2[3] = var$3;
    nms_BlockBed_footBlockToHeadBlockMap = var$1;
}
function nms_BlockRailBase() {
    nms_Block.call(this);
    this.$isPowered = 0;
}
$java.nms_BlockRailBase__init_ = function(var_0, var_1) {
    var var_2 = new nms_BlockRailBase();
    $java.nms_BlockRailBase__init_0(var_2, var_0, var_1);
    return var_2;
};
function nms_BlockRailBase_isRailBlockAt($par0World, $par1, $par2, $par3) {
    return nms_BlockRailBase_isRailBlock(nms_World_getBlockId($par0World, $par1, $par2, $par3));
}
function nms_BlockRailBase_isRailBlock($par0) {
    nms_Block_$callClinit();
    return $par0 != nms_Block_rail.$blockID && $par0 != nms_Block_railPowered.$blockID && $par0 != nms_Block_railDetector.$blockID && $par0 != nms_Block_railActivator.$blockID ? 0 : 1;
}
$java.nms_BlockRailBase__init_0 = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_circuits);
    $this.$isPowered = $par2;
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.125, 1.0);
    $this.$displayOnCreativeTab = $java.nms_CreativeTabs_tabTransport;
};
$java.nms_BlockRailBase_isPowered = function($this) {
    return $this.$isPowered;
};
$java.nms_BlockRailBase_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockRailBase_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockRailBase_collisionRayTrace = function($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par6Vec3 = $thread.pop();$par5Vec3 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockRailBase_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $tmp = nms_Block_collisionRayTrace($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return $par1World;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3, $ptr);
};
$java.nms_BlockRailBase_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5;
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    if ($var5 >= 2 && $var5 <= 5)
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.625, 1.0);
    else
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.125, 1.0);
};
$java.nms_BlockRailBase_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockRailBase_getRenderType = function($this) {
    return 9;
};
$java.nms_BlockRailBase_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4);
};
$java.nms_BlockRailBase_getMobilityFlag = function($this) {
    return 0;
};
function nms_BlockRailPowered() {
    nms_BlockRailBase.call(this);
    this.$theIcon6 = null;
}
function nms_BlockRailPowered__init_(var_0) {
    var var_1 = new nms_BlockRailPowered();
    $java.nms_BlockRailPowered__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockRailPowered__init_ = function($this, $par1) {
    $java.nms_BlockRailBase__init_0($this, $par1, 1);
};
$java.nms_BlockRailPowered_getIcon = function($this, $par1, $par2) {
    return $par2 & 8 ? $this.$theIcon6 : $this.$blockIcon;
};
$java.nms_BlockRailPowered_registerIcons = function($this, $par1IconRegister) {
    var var$2;
    nms_Block_registerIcons($this, $par1IconRegister);
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $this.$unlocalizedName0);
    jl_AbstractStringBuilder_append(var$2, $rt_s(2373));
    $this.$theIcon6 = $par1IconRegister.$registerIcon(jl_AbstractStringBuilder_toString(var$2));
};
function nms_BlockDetectorRail() {
    nms_BlockRailBase.call(this);
    this.$iconArray3 = null;
}
function nms_BlockDetectorRail__init_(var_0) {
    var var_1 = new nms_BlockDetectorRail();
    $java.nms_BlockDetectorRail__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockDetectorRail__init_ = function($this, $par1) {
    $java.nms_BlockRailBase__init_0($this, $par1, 1);
    $this.$needsRandomTick = 1;
};
$java.nms_BlockDetectorRail_canProvidePower = function($this) {
    return 1;
};
$java.nms_BlockDetectorRail_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return !(nms_World_getBlockMetadata($par1IBlockAccess, $par2, $par3, $par4) & 8) ? 0 : 15;
};
$java.nms_BlockDetectorRail_isProvidingStrongPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return !($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) & 8) ? 0 : $par5 != 1 ? 0 : 15;
};
$java.nms_BlockDetectorRail_hasComparatorInputOverride = function($this) {
    return 1;
};
$java.nms_BlockDetectorRail_getComparatorInputOverride = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var7;
    if ((nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) & 8) > 0) {
        $var7 = nms_World_selectEntitiesWithinAABB($par1World, $rt_cls(nms_EntityMinecart), nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $par2 + 0.125, $par3, $par4 + 0.125, ($par2 + 1 | 0) - 0.125, ($par3 + 1 | 0) - 0.125, ($par4 + 1 | 0) - 0.125), $java.nms_IEntitySelector_selectInventories);
        if ($var7.$size > 0)
            return nms_Container_calcRedstoneFromInventory(ju_ArrayList_get($var7, 0));
    }
    return 0;
};
$java.nms_BlockDetectorRail_registerIcons = function($this, $par1IconRegister) {
    $this.$iconArray3 = $rt_createArray(nms_Icon, 2);
    $this.$iconArray3.data[0] = $par1IconRegister.$registerIcon($rt_s(1947));
    $this.$iconArray3.data[1] = $par1IconRegister.$registerIcon($rt_s(2374));
};
$java.nms_BlockDetectorRail_getIcon = function($this, $par1, $par2) {
    return !($par2 & 8) ? $this.$iconArray3.data[0] : $this.$iconArray3.data[1];
};
function nms_BlockPistonBase() {
    var a = this; nms_Block.call(a);
    a.$isSticky = 0;
    a.$innerTopIcon = null;
    a.$bottomIcon = null;
    a.$topIcon = null;
}
function nms_BlockPistonBase__init_(var_0, var_1) {
    var var_2 = new nms_BlockPistonBase();
    $java.nms_BlockPistonBase__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockPistonBase__init_ = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_piston);
    $this.$isSticky = $par2;
    $this.$stepSound = nms_Block_soundStoneFootstep;
    nms_Block_setHardness($this, 0.5);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
};
$java.nms_BlockPistonBase_getPistonExtensionTexture = function($this) {
    return $this.$topIcon;
};
$java.nms_BlockPistonBase_func_96479_b = function($this, $par1, $par2, $par3, $par4, $par5, $par6) {
    nms_Block_setBlockBounds($this, $par1, $par2, $par3, $par4, $par5, $par6);
};
$java.nms_BlockPistonBase_getIcon = function($this, $par1, $par2) {
    var $var3;
    $var3 = nms_BlockPistonBase_getOrientation($par2);
    return $var3 > 5 ? $this.$topIcon : $par1 != $var3 ? ($par1 != $java.nms_Facing_oppositeSide.data[$var3] ? $this.$blockIcon : $this.$bottomIcon) : !$java.nms_BlockPistonBase_isExtended($par2) && $this.$minX0 <= 0.0 && $this.$minY0 <= 0.0 && $this.$minZ0 <= 0.0 && $this.$maxX0 >= 1.0 && $this.$maxY0 >= 1.0 && $this.$maxZ0 >= 1.0 ? $this.$topIcon : $this.$innerTopIcon;
};
function nms_BlockPistonBase_func_94496_b($par0Str) {
    if ($par0Str === $rt_s(959)) {
        nms_Block_$callClinit();
        $par0Str = nms_Block_pistonBase.$blockIcon;
    } else if ($par0Str === $rt_s(2375)) {
        nms_Block_$callClinit();
        $par0Str = nms_Block_pistonBase.$topIcon;
    } else if ($par0Str === $rt_s(2376)) {
        nms_Block_$callClinit();
        $par0Str = nms_Block_pistonStickyBase.$topIcon;
    } else if ($par0Str !== $rt_s(2377))
        $par0Str = null;
    else {
        nms_Block_$callClinit();
        $par0Str = nms_Block_pistonBase.$innerTopIcon;
    }
    return $par0Str;
}
$java.nms_BlockPistonBase_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(959));
    $this.$topIcon = $par1IconRegister.$registerIcon(!$this.$isSticky ? $rt_s(2375) : $rt_s(2376));
    $this.$innerTopIcon = $par1IconRegister.$registerIcon($rt_s(2377));
    $this.$bottomIcon = $par1IconRegister.$registerIcon($rt_s(2378));
};
$java.nms_BlockPistonBase_getRenderType = function($this) {
    return 16;
};
$java.nms_BlockPistonBase_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockPistonBase_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 0;
};
$java.nms_BlockPistonBase_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = $java.nms_BlockPistonBase_determineOrientation($par1World, $par2, $par3, $par4, $par5EntityLiving);
        var$8 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, var$8, $ptr);
};
$java.nms_BlockPistonBase_onBlockEventReceived = function($this, $par1World, $par2, $par3, $par4, $par5, $par6) {
    var $var8, $var9, $var16, $var10, $var11, $var12, $var13, $var14, $var15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var16 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par5) {
            $ptr = 1;
            continue main;
        }
        if ($par5 != 1)
            return 1;
        $var8 = $par2 + nms_Facing_offsetsXForSide.data[$par6] | 0;
        $var9 = $par3 + nms_Facing_offsetsYForSide.data[$par6] | 0;
        $par5 = $par4 + nms_Facing_offsetsZForSide.data[$par6] | 0;
        $ptr = 2;
        continue main;
    case 1:
        $tmp = $java.nms_BlockPistonBase_tryExtend($this, $par1World, $par2, $par3, $par4, $par6);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        if (!$par5)
            return 0;
        $par5 = $par6 | 8;
        $par6 = 2;
        $ptr = 3;
        continue main;
    case 2:
        $tmp = nms_World_getBlockTileEntity($par1World, $var8, $var9, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $var16 = $tmp;
        if ($var16 instanceof nms_TileEntityPiston) {
            $var16 = $var16;
            $ptr = 6;
            continue main;
        }
        nms_Block_$callClinit();
        $par5 = nms_Block_pistonMoving.$blockID;
        $var8 = 3;
        $ptr = 4;
        continue main;
    case 3:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par5, $par6);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $rt_s(2379), 0.5, nle_EaglercraftRandom_nextFloat($par1World.$rand) * 0.25 + 0.6000000238418579);
        return 1;
    case 4:
        nms_World_setBlock($par1World, $par2, $par3, $par4, $par5, $par6, $var8);
        if ($rt_suspending()) {
            break main;
        }
        $var16 = $java.nms_BlockPistonMoving_getTileEntity($this.$blockID, $par6, $par6, 0, 1);
        $ptr = 5;
    case 5:
        nms_World_setBlockTileEntity($par1World, $par2, $par3, $par4, $var16);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$isSticky) {
            $par5 = $par2 + nms_Facing_offsetsXForSide.data[$par6] | 0;
            $var8 = $par3 + nms_Facing_offsetsYForSide.data[$par6] | 0;
            $par6 = $par4 + nms_Facing_offsetsZForSide.data[$par6] | 0;
            $ptr = 7;
            continue main;
        }
        $var8 = $par2 + (nms_Facing_offsetsXForSide.data[$par6] * 2 | 0) | 0;
        $var9 = $par3 + (nms_Facing_offsetsYForSide.data[$par6] * 2 | 0) | 0;
        $var10 = $par4 + (nms_Facing_offsetsZForSide.data[$par6] * 2 | 0) | 0;
        $var11 = nms_World_getBlockId($par1World, $var8, $var9, $var10);
        $var12 = nms_World_getBlockMetadata($par1World, $var8, $var9, $var10);
        $var13 = 0;
        if ($var11 == nms_Block_pistonMoving.$blockID) {
            $ptr = 8;
            continue main;
        }
        a: {
            if (!$var13 && $var11 > 0 && $java.nms_BlockPistonBase_canPushBlock($var11, $par1World, $var8, $var9, $var10, 0)) {
                if (!nms_Block_blocksList.data[$var11].$getMobilityFlag())
                    break a;
                if ($var11 == nms_Block_pistonBase.$blockID)
                    break a;
                if ($var11 == nms_Block_pistonStickyBase.$blockID)
                    break a;
            }
            if ($var13) {
                nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $rt_s(2380), 0.5, nle_EaglercraftRandom_nextFloat($par1World.$rand) * 0.15000000596046448 + 0.6000000238418579);
                return 1;
            }
            $par5 = $par2 + nms_Facing_offsetsXForSide.data[$par6] | 0;
            $var8 = $par3 + nms_Facing_offsetsYForSide.data[$par6] | 0;
            $par6 = $par4 + nms_Facing_offsetsZForSide.data[$par6] | 0;
            $ptr = 9;
            continue main;
        }
        $par2 = $par2 + nms_Facing_offsetsXForSide.data[$par6] | 0;
        $par3 = $par3 + nms_Facing_offsetsYForSide.data[$par6] | 0;
        $par4 = $par4 + nms_Facing_offsetsZForSide.data[$par6] | 0;
        $par5 = nms_Block_pistonMoving.$blockID;
        $var13 = 3;
        $ptr = 11;
        continue main;
    case 6:
        $java.nms_TileEntityPiston_clearPistonTileEntity($var16);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_$callClinit();
        $par5 = nms_Block_pistonMoving.$blockID;
        $var8 = 3;
        $ptr = 4;
        continue main;
    case 7:
        nms_World_setBlockToAir($par1World, $par5, $var8, $par6);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $rt_s(2380), 0.5, nle_EaglercraftRandom_nextFloat($par1World.$rand) * 0.15000000596046448 + 0.6000000238418579);
        return 1;
    case 8:
        $tmp = nms_World_getBlockTileEntity($par1World, $var8, $var9, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $tmp;
        if ($var14 instanceof nms_TileEntityPiston) {
            $var15 = $var14;
            if ($var15.$storedOrientation == $par6 && $var15.$extending) {
                $ptr = 10;
                continue main;
            }
        }
        b: {
            if (!$var13 && $var11 > 0 && $java.nms_BlockPistonBase_canPushBlock($var11, $par1World, $var8, $var9, $var10, 0)) {
                if (!nms_Block_blocksList.data[$var11].$getMobilityFlag())
                    break b;
                if ($var11 == nms_Block_pistonBase.$blockID)
                    break b;
                if ($var11 == nms_Block_pistonStickyBase.$blockID)
                    break b;
            }
            if ($var13) {
                nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $rt_s(2380), 0.5, nle_EaglercraftRandom_nextFloat($par1World.$rand) * 0.15000000596046448 + 0.6000000238418579);
                return 1;
            }
            $par5 = $par2 + nms_Facing_offsetsXForSide.data[$par6] | 0;
            $var8 = $par3 + nms_Facing_offsetsYForSide.data[$par6] | 0;
            $par6 = $par4 + nms_Facing_offsetsZForSide.data[$par6] | 0;
            $ptr = 9;
            continue main;
        }
        $par2 = $par2 + nms_Facing_offsetsXForSide.data[$par6] | 0;
        $par3 = $par3 + nms_Facing_offsetsYForSide.data[$par6] | 0;
        $par4 = $par4 + nms_Facing_offsetsZForSide.data[$par6] | 0;
        $par5 = nms_Block_pistonMoving.$blockID;
        $var13 = 3;
        $ptr = 11;
        continue main;
    case 9:
        nms_World_setBlockToAir($par1World, $par5, $var8, $par6);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $rt_s(2380), 0.5, nle_EaglercraftRandom_nextFloat($par1World.$rand) * 0.15000000596046448 + 0.6000000238418579);
        return 1;
    case 10:
        $java.nms_TileEntityPiston_clearPistonTileEntity($var15);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = $var15.$storedBlockID;
        $var12 = $var15.$storedMetadata;
        $var13 = 1;
        c: {
            if (!$var13 && $var11 > 0 && $java.nms_BlockPistonBase_canPushBlock($var11, $par1World, $var8, $var9, $var10, 0)) {
                if (!nms_Block_blocksList.data[$var11].$getMobilityFlag())
                    break c;
                if ($var11 == nms_Block_pistonBase.$blockID)
                    break c;
                if ($var11 == nms_Block_pistonStickyBase.$blockID)
                    break c;
            }
            if ($var13) {
                nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $rt_s(2380), 0.5, nle_EaglercraftRandom_nextFloat($par1World.$rand) * 0.15000000596046448 + 0.6000000238418579);
                return 1;
            }
            $par5 = $par2 + nms_Facing_offsetsXForSide.data[$par6] | 0;
            $var8 = $par3 + nms_Facing_offsetsYForSide.data[$par6] | 0;
            $par6 = $par4 + nms_Facing_offsetsZForSide.data[$par6] | 0;
            $ptr = 9;
            continue main;
        }
        $par2 = $par2 + nms_Facing_offsetsXForSide.data[$par6] | 0;
        $par3 = $par3 + nms_Facing_offsetsYForSide.data[$par6] | 0;
        $par4 = $par4 + nms_Facing_offsetsZForSide.data[$par6] | 0;
        $par5 = nms_Block_pistonMoving.$blockID;
        $var13 = 3;
        $ptr = 11;
    case 11:
        nms_World_setBlock($par1World, $par2, $par3, $par4, $par5, $var12, $var13);
        if ($rt_suspending()) {
            break main;
        }
        $var16 = $java.nms_BlockPistonMoving_getTileEntity($var11, $var12, $par6, 0, 0);
        $ptr = 12;
    case 12:
        nms_World_setBlockTileEntity($par1World, $par2, $par3, $par4, $var16);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 13;
    case 13:
        nms_World_setBlockToAir($par1World, $var8, $var9, $var10);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $rt_s(2380), 0.5, nle_EaglercraftRandom_nextFloat($par1World.$rand) * 0.15000000596046448 + 0.6000000238418579);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $par6, $var8, $var9, $var16, $var10, $var11, $var12, $var13, $var14, $var15, $ptr);
};
$java.nms_BlockPistonBase_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5;
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    if (!$java.nms_BlockPistonBase_isExtended($var5))
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    else
        a: {
            switch (nms_BlockPistonBase_getOrientation($var5)) {
                case 0:
                    break;
                case 1:
                    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.75, 1.0);
                    break a;
                case 2:
                    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.25, 1.0, 1.0, 1.0);
                    break a;
                case 3:
                    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.75);
                    break a;
                case 4:
                    nms_Block_setBlockBounds($this, 0.25, 0.0, 0.0, 1.0, 1.0, 1.0);
                    break a;
                case 5:
                    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 0.75, 1.0, 1.0);
                    break a;
                default:
                    break a;
            }
            nms_Block_setBlockBounds($this, 0.0, 0.25, 0.0, 1.0, 1.0, 1.0);
        }
};
$java.nms_BlockPistonBase_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
};
$java.nms_BlockPistonBase_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        $ptr = 1;
    case 1:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $ptr);
};
$java.nms_BlockPistonBase_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockPistonBase_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getCollisionBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockPistonBase_renderAsNormalBlock = function($this) {
    return 0;
};
function nms_BlockPistonBase_getOrientation($par0) {
    return $par0 & 7;
}
$java.nms_BlockPistonBase_isExtended = function($par0) {
    return !($par0 & 8) ? 0 : 1;
};
$java.nms_BlockPistonBase_determineOrientation = function($par0World, $par1, $par2, $par3, $par4EntityLiving) {
    var $var5, var$7, $var7;
    if (nms_MathHelper_abs($par4EntityLiving.$posX - $par1) < 2.0 && nms_MathHelper_abs($par4EntityLiving.$posZ - $par3) < 2.0) {
        $var5 = $par4EntityLiving.$posY + 1.82 - $par4EntityLiving.$yOffset;
        var$7 = $par2;
        if ($var5 - var$7 > 2.0)
            return 1;
        if (var$7 - $var5 > 0.0)
            return 0;
    }
    $var7 = nms_MathHelper_floor_double($par4EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
    return !$var7 ? 2 : $var7 == 1 ? 5 : $var7 == 2 ? 3 : $var7 != 3 ? 0 : 4;
};
$java.nms_BlockPistonBase_canPushBlock = function($par0, $par1World, $par2, $par3, $par4, $par5) {
    nms_Block_$callClinit();
    if ($par0 == nms_Block_obsidian.$blockID)
        return 0;
    a: {
        if (!($par0 != nms_Block_pistonBase.$blockID && $par0 != nms_Block_pistonStickyBase.$blockID)) {
            if (!$java.nms_BlockPistonBase_isExtended(nms_World_getBlockMetadata($par1World, $par2, $par3, $par4)))
                break a;
            return 0;
        }
        if (nms_Block_blocksList.data[$par0].$blockHardness === (-1.0))
            return 0;
        if (nms_Block_blocksList.data[$par0].$getMobilityFlag() == 2)
            return 0;
        if (nms_Block_blocksList.data[$par0].$getMobilityFlag() == 1) {
            if ($par5)
                return 1;
            return 0;
        }
    }
    return $rt_isInstance(nms_Block_blocksList.data[$par0], nms_ITileEntityProvider) ? 0 : 1;
};
$java.nms_BlockPistonBase_tryExtend = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var14, $var15, $var16, $var9, $var10, $var12, var$12, var$13, $var15_0, $var14_0, $var16_0, $var17, $var18, var$19, var$20, var$21, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16_0 = $thread.pop();$var14_0 = $thread.pop();$var15_0 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this
        = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var14 = $par2 + nms_Facing_offsetsXForSide.data[$par5] | 0;
        $var15 = $par3 + nms_Facing_offsetsYForSide.data[$par5] | 0;
        $var16 = $par4 + nms_Facing_offsetsZForSide.data[$par5] | 0;
        $var9 = 0;
        a: {
            b: {
                while (true) {
                    if ($var9 >= 13)
                        break a;
                    if ($var15 <= 0)
                        break b;
                    if ($var15 >= 255)
                        break b;
                    $var10 = nms_World_getBlockId($par1World, $var14, $var15, $var16);
                    if (!$var10)
                        break a;
                    if (!$java.nms_BlockPistonBase_canPushBlock($var10, $par1World, $var14, $var15, $var16, 1))
                        return 0;
                    nms_Block_$callClinit();
                    if (nms_Block_blocksList.data[$var10].$getMobilityFlag() == 1) {
                        nms_Block_dropBlockAsItem(nms_Block_blocksList.data[$var10], $par1World, $var14, $var15, $var16, nms_World_getBlockMetadata($par1World, $var14, $var15, $var16), 0);
                        $ptr = 3;
                        continue main;
                    }
                    if ($var9 == 12)
                        break;
                    $var14 = $var14 + nms_Facing_offsetsXForSide.data[$par5] | 0;
                    $var15 = $var15 + nms_Facing_offsetsYForSide.data[$par5] | 0;
                    $var16 = $var16 + nms_Facing_offsetsZForSide.data[$par5] | 0;
                    $var9 = $var9 + 1 | 0;
                }
                return 0;
            }
            return 0;
        }
        $var12 = 0;
        var$12 = $rt_createIntArray(13).data;
        $var10 = $var14;
        $var9 = $var15;
        var$13 = $var16;
        if ($var10 == $par2 && $var9 == $par3 && var$13 == $par4) {
            $var15_0 = 0;
            while (!($var14 == $par2 && $var15 == $par3 && $var16 == $par4)) {
                $var14 = $var14 - nms_Facing_offsetsXForSide.data[$par5] | 0;
                $var15 = $var15 - nms_Facing_offsetsYForSide.data[$par5] | 0;
                $var16 = $var16 - nms_Facing_offsetsZForSide.data[$par5] | 0;
                $var14_0 = $var15_0 + 1 | 0;
                nms_World_notifyBlocksOfNeighborChange($par1World, $var14, $var15, $var16, var$12[$var15_0]);
                $var15_0 = $var14_0;
            }
            return 1;
        }
        $var14_0 = $var10 - nms_Facing_offsetsXForSide.data[$par5] | 0;
        $var15_0 = $var9 - nms_Facing_offsetsYForSide.data[$par5] | 0;
        $var16_0 = var$13 - nms_Facing_offsetsZForSide.data[$par5] | 0;
        $var17 = nms_World_getBlockId($par1World, $var14_0, $var15_0, $var16_0);
        $var18 = nms_World_getBlockMetadata($par1World, $var14_0, $var15_0, $var16_0);
        if ($var17 == $this.$blockID && $var14_0 == $par2 && $var15_0 == $par3 && $var16_0 == $par4) {
            nms_Block_$callClinit();
            var$19 = nms_Block_pistonMoving.$blockID;
            var$20 = $par5 | (!$this.$isSticky ? 0 : 8);
            $var18 = 4;
            $ptr = 4;
            continue main;
        }
        nms_Block_$callClinit();
        var$20 = nms_Block_pistonMoving.$blockID;
        var$19 = 4;
        $ptr = 1;
    case 1:
        nms_World_setBlock($par1World, $var10, $var9, var$13, var$20, $var18, var$19);
        if ($rt_suspending()) {
            break main;
        }
        var$21 = $java.nms_BlockPistonMoving_getTileEntity($var17, $var18, $par5, 1, 0);
        $ptr = 2;
    case 2:
        nms_World_setBlockTileEntity($par1World, $var10, $var9, var$13, var$21);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $var12 + 1 | 0;
        var$12[$var12] = $var17;
        $var12 = $var10;
        $var10 = $var14_0;
        $var9 = $var15_0;
        var$13 = $var16_0;
        if ($var10 == $par2 && $var9 == $par3 && var$13 == $par4) {
            $var15_0 = 0;
            while (!($var14 == $par2 && $var15 == $par3 && $var16 == $par4)) {
                $var14 = $var14 - nms_Facing_offsetsXForSide.data[$par5] | 0;
                $var15 = $var15 - nms_Facing_offsetsYForSide.data[$par5] | 0;
                $var16 = $var16 - nms_Facing_offsetsZForSide.data[$par5] | 0;
                $var14_0 = $var15_0 + 1 | 0;
                nms_World_notifyBlocksOfNeighborChange($par1World, $var14, $var15, $var16, var$12[$var15_0]);
                $var15_0 = $var14_0;
            }
            return 1;
        }
        $var14_0 = $var10 - nms_Facing_offsetsXForSide.data[$par5] | 0;
        $var15_0 = $var9 - nms_Facing_offsetsYForSide.data[$par5] | 0;
        $var16_0 = var$13 - nms_Facing_offsetsZForSide.data[$par5] | 0;
        $var17 = nms_World_getBlockId($par1World, $var14_0, $var15_0, $var16_0);
        $var18 = nms_World_getBlockMetadata($par1World, $var14_0, $var15_0, $var16_0);
        if ($var17 == $this.$blockID && $var14_0 == $par2 && $var15_0 == $par3 && $var16_0 == $par4) {
            nms_Block_$callClinit();
            var$19 = nms_Block_pistonMoving.$blockID;
            var$20 = $par5 | (!$this.$isSticky ? 0 : 8);
            $var18 = 4;
            $ptr = 4;
            continue main;
        }
        nms_Block_$callClinit();
        var$20 = nms_Block_pistonMoving.$blockID;
        var$19 = 4;
        $ptr = 1;
        continue main;
    case 3:
        nms_World_setBlockToAir($par1World, $var14, $var15, $var16);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = 0;
        var$12 = $rt_createIntArray(13).data;
        $var10 = $var14;
        $var9 = $var15;
        var$13 = $var16;
        if ($var10 == $par2 && $var9 == $par3 && var$13 == $par4) {
            $var15_0 = 0;
            while (!($var14 == $par2 && $var15 == $par3 && $var16 == $par4)) {
                $var14 = $var14 - nms_Facing_offsetsXForSide.data[$par5] | 0;
                $var15 = $var15 - nms_Facing_offsetsYForSide.data[$par5] | 0;
                $var16 = $var16 - nms_Facing_offsetsZForSide.data[$par5] | 0;
                $var14_0 = $var15_0 + 1 | 0;
                nms_World_notifyBlocksOfNeighborChange($par1World, $var14, $var15, $var16, var$12[$var15_0]);
                $var15_0 = $var14_0;
            }
            return 1;
        }
        $var14_0 = $var10 - nms_Facing_offsetsXForSide.data[$par5] | 0;
        $var15_0 = $var9 - nms_Facing_offsetsYForSide.data[$par5] | 0;
        $var16_0 = var$13 - nms_Facing_offsetsZForSide.data[$par5] | 0;
        $var17 = nms_World_getBlockId($par1World, $var14_0, $var15_0, $var16_0);
        $var18 = nms_World_getBlockMetadata($par1World, $var14_0, $var15_0, $var16_0);
        if ($var17 == $this.$blockID && $var14_0 == $par2 && $var15_0 == $par3 && $var16_0 == $par4) {
            nms_Block_$callClinit();
            var$19 = nms_Block_pistonMoving.$blockID;
            var$20 = $par5 | (!$this.$isSticky ? 0 : 8);
            $var18 = 4;
            $ptr = 4;
            continue main;
        }
        nms_Block_$callClinit();
        var$20 = nms_Block_pistonMoving.$blockID;
        var$19 = 4;
        $ptr = 1;
        continue main;
    case 4:
        nms_World_setBlock($par1World, $var10, $var9, var$13, var$19, var$20, $var18);
        if ($rt_suspending()) {
            break main;
        }
        var$21 = $java.nms_BlockPistonMoving_getTileEntity(nms_Block_pistonExtension.$blockID, $par5 | (!$this.$isSticky ? 0 : 8), $par5, 1, 0);
        $ptr = 5;
    case 5:
        nms_World_setBlockTileEntity($par1World, $var10, $var9, var$13, var$21);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $var12 + 1 | 0;
        var$12[$var12] = $var17;
        $var12 = $var10;
        $var10 = $var14_0;
        $var9 = $var15_0;
        var$13 = $var16_0;
        if ($var10 == $par2 && $var9 == $par3 && var$13 == $par4) {
            $var15_0 = 0;
            while (!($var14 == $par2 && $var15 == $par3 && $var16 == $par4)) {
                $var14 = $var14 - nms_Facing_offsetsXForSide.data[$par5] | 0;
                $var15 = $var15 - nms_Facing_offsetsYForSide.data[$par5] | 0;
                $var16 = $var16 - nms_Facing_offsetsZForSide.data[$par5] | 0;
                $var14_0 = $var15_0 + 1 | 0;
                nms_World_notifyBlocksOfNeighborChange($par1World, $var14, $var15, $var16, var$12[$var15_0]);
                $var15_0 = $var14_0;
            }
            return 1;
        }
        $var14_0 = $var10 - nms_Facing_offsetsXForSide.data[$par5] | 0;
        $var15_0 = $var9 - nms_Facing_offsetsYForSide.data[$par5] | 0;
        $var16_0 = var$13 - nms_Facing_offsetsZForSide.data[$par5] | 0;
        $var17 = nms_World_getBlockId($par1World, $var14_0, $var15_0, $var16_0);
        $var18 = nms_World_getBlockMetadata($par1World, $var14_0, $var15_0, $var16_0);
        if ($var17 == $this.$blockID && $var14_0 == $par2 && $var15_0 == $par3 && $var16_0 == $par4) {
            nms_Block_$callClinit();
            var$19 = nms_Block_pistonMoving.$blockID;
            var$20 = $par5 | (!$this.$isSticky ? 0 : 8);
            $var18 = 4;
            $ptr = 4;
            continue main;
        }
        nms_Block_$callClinit();
        var$20 = nms_Block_pistonMoving.$blockID;
        var$19 = 4;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var14, $var15, $var16, $var9, $var10, $var12, var$12, var$13, $var15_0, $var14_0, $var16_0, $var17, $var18, var$19, var$20, var$21, $ptr);
};
function nms_BlockWeb() {
    nms_Block.call(this);
}
function nms_BlockWeb__init_(var_0) {
    var var_1 = new nms_BlockWeb();
    $java.nms_BlockWeb__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockWeb__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_web);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockWeb_onEntityCollidedWithBlock = function($this, $par1World, $par2, $par3, $par4, $par5Entity) {
    $par5Entity.$setInWeb();
};
$java.nms_BlockWeb_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockWeb_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockWeb_getRenderType = function($this) {
    return 1;
};
$java.nms_BlockWeb_renderAsNormalBlock = function($this) {
    return 0;
};
function nms_BlockTallGrass() {
    nms_BlockFlower.call(this);
    this.$iconArray4 = null;
}
$java.nms_BlockTallGrass_grassTypes = null;
function nms_BlockTallGrass__init_(var_0) {
    var var_1 = new nms_BlockTallGrass();
    $java.nms_BlockTallGrass__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockTallGrass__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockFlower__init_0($this, $par1, $java.nms_Material_vine);
    nms_Block_setBlockBounds($this, 0.09999999403953552, 0.0, 0.09999999403953552, 0.8999999761581421, 0.800000011920929, 0.8999999761581421);
};
$java.nms_BlockTallGrass_getIcon = function($this, $par1, $par2) {
    if ($par2 >= $this.$iconArray4.data.length)
        $par2 = 0;
    return $this.$iconArray4.data[$par2];
};
$java.nms_BlockTallGrass_getBlockColor = function($this) {
    return nms_ColorizerGrass_getGrassColor(0.5, 1.0);
};
$java.nms_BlockTallGrass_getRenderColor = function($this, $par1) {
    return $par1 ? 4764952 : 16777215;
};
function nms_BlockTallGrass_colorMultiplier($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var6;
    if (!$par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4))
        return 16777215;
    $par3 = $java.nms_BiomeGenBase_getBiomeGrassColor($par1IBlockAccess.$getBiomeGenForCoords($par2, $par4));
    nms_Block_initNoiseField($par2 >> 4, $par4 >> 4);
    $var6 = ($par3 >> 8 & 255) * (nms_Block_grassNoiseArray.data[($par4 & 15) + (($par2 & 15) * 16 | 0) | 0] * 0.25 + 1.0) | 0;
    if ($var6 > 255)
        $var6 = 255;
    if ($var6 < 0)
        $var6 = 0;
    return $par3 & 16711935 | $var6 << 8;
}
$java.nms_BlockTallGrass_getDamageValue = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
};
$java.nms_BlockTallGrass_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    var $var4;
    $var4 = 1;
    while ($var4 < 3) {
        ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, $var4));
        $var4 = $var4 + 1 | 0;
    }
};
$java.nms_BlockTallGrass_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$iconArray4 = $rt_createArray(nms_Icon, $java.nms_BlockTallGrass_grassTypes.data.length);
    $var2 = 0;
    while ($var2 < $this.$iconArray4.data.length) {
        $this.$iconArray4.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockTallGrass_grassTypes.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockTallGrass__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(1951);
    var$2[1] = $rt_s(1950);
    var$2[2] = $rt_s(2041);
    $java.nms_BlockTallGrass_grassTypes = var$1;
}
function nms_BlockDeadBush() {
    nms_BlockFlower.call(this);
}
function nms_BlockDeadBush__init_(var_0) {
    var var_1 = new nms_BlockDeadBush();
    $java.nms_BlockDeadBush__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockDeadBush__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockFlower__init_0($this, $par1, $java.nms_Material_vine);
    nms_Block_setBlockBounds($this, 0.09999999403953552, 0.0, 0.09999999403953552, 0.8999999761581421, 0.800000011920929, 0.8999999761581421);
};
$java.nms_BlockDeadBush_canThisPlantGrowOnThisBlockID = function($this, $par1) {
    nms_Block_$callClinit();
    return $par1 != nms_Block_sand.$blockID ? 0 : 1;
};
function nms_BlockPistonExtension() {
    nms_Block.call(this);
    this.$headTexture = null;
}
function nms_BlockPistonExtension__init_(var_0) {
    var var_1 = new nms_BlockPistonExtension();
    $java.nms_BlockPistonExtension__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockPistonExtension__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_piston);
    $this.$headTexture = null;
    $this.$stepSound = nms_Block_soundStoneFootstep;
    nms_Block_setHardness($this, 0.5);
};
$java.nms_BlockPistonExtension_setHeadTexture = function($this, $par1Icon) {
    $this.$headTexture = $par1Icon;
};
$java.nms_BlockPistonExtension_clearHeadTexture = function($this) {
    $this.$headTexture = null;
};
$java.nms_BlockPistonExtension_getIcon = function($this, $par1, $par2) {
    var $var3;
    $var3 = nms_BlockPistonExtension_getDirectionMeta($par2);
    return $par1 == $var3 ? ($this.$headTexture !== null ? $this.$headTexture : !($par2 & 8) ? nms_BlockPistonBase_func_94496_b($rt_s(2375)) : nms_BlockPistonBase_func_94496_b($rt_s(2376))) : $var3 < 6 && $par1 == $java.nms_Facing_oppositeSide.data[$var3] ? nms_BlockPistonBase_func_94496_b($rt_s(2375)) : nms_BlockPistonBase_func_94496_b($rt_s(959));
};
$java.nms_BlockPistonExtension_registerIcons = function($this, $par1IconRegister) {
    return;
};
$java.nms_BlockPistonExtension_getRenderType = function($this) {
    return 17;
};
$java.nms_BlockPistonExtension_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockPistonExtension_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockPistonExtension_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return 0;
};
$java.nms_BlockPistonExtension_canPlaceBlockOnSide = function($this, $par1World, $par2, $par3, $par4, $par5) {
    return 0;
};
$java.nms_BlockPistonExtension_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        switch (nms_BlockPistonExtension_getDirectionMeta(nms_World_getBlockMetadata($par1World, $par2, $par3, $par4))) {
            case 0:
                nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.25, 1.0);
                $ptr = 1;
                continue main;
            case 1:
                nms_Block_setBlockBounds($this, 0.0, 0.75, 0.0, 1.0, 1.0, 1.0);
                $ptr = 3;
                continue main;
            case 2:
                nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.25);
                $ptr = 5;
                continue main;
            case 3:
                nms_Block_setBlockBounds($this, 0.0, 0.0, 0.75, 1.0, 1.0, 1.0);
                $ptr = 7;
                continue main;
            case 4:
                nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 0.25, 1.0, 1.0);
                $ptr = 9;
                continue main;
            case 5:
                nms_Block_setBlockBounds($this, 0.75, 0.0, 0.0, 1.0, 1.0, 1.0);
                $ptr = 11;
                continue main;
            default:
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        return;
    case 1:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.375, 0.25, 0.375, 0.625, 1.0, 0.625);
        $ptr = 2;
    case 2:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        return;
    case 3:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.375, 0.0, 0.375, 0.625, 0.75, 0.625);
        $ptr = 4;
    case 4:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        return;
    case 5:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.25, 0.375, 0.25, 0.75, 0.625, 1.0);
        $ptr = 6;
    case 6:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        return;
    case 7:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.25, 0.375, 0.0, 0.75, 0.625, 0.75);
        $ptr = 8;
    case 8:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        return;
    case 9:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.375, 0.25, 0.25, 0.625, 0.75, 1.0);
        $ptr = 10;
    case 10:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        return;
    case 11:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.375, 0.25, 0.75, 0.625, 0.75);
        $ptr = 12;
    case 12:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $ptr);
};
$java.nms_BlockPistonExtension_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    a: {
        switch (nms_BlockPistonExtension_getDirectionMeta($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4))) {
            case 0:
                break;
            case 1:
                nms_Block_setBlockBounds($this, 0.0, 0.75, 0.0, 1.0, 1.0, 1.0);
                break a;
            case 2:
                nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.25);
                break a;
            case 3:
                nms_Block_setBlockBounds($this, 0.0, 0.0, 0.75, 1.0, 1.0, 1.0);
                break a;
            case 4:
                nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 0.25, 1.0, 1.0);
                break a;
            case 5:
                nms_Block_setBlockBounds($this, 0.75, 0.0, 0.0, 1.0, 1.0, 1.0);
                break a;
            default:
                break a;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.25, 1.0);
    }
};
$java.nms_BlockPistonExtension_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_BlockPistonExtension_getDirectionMeta(nms_World_getBlockMetadata($par1World, $par2, $par3, $par4));
        $var7 = nms_World_getBlockId($par1World, $par2 - nms_Facing_offsetsXForSide.data[$var6] | 0, $par3 - nms_Facing_offsetsYForSide.data[$var6] | 0, $par4 - nms_Facing_offsetsZForSide.data[$var6] | 0);
        nms_Block_$callClinit();
        if ($var7 != nms_Block_pistonBase.$blockID && $var7 != nms_Block_pistonStickyBase.$blockID) {
            $ptr = 2;
            continue main;
        }
        var$8 = nms_Block_blocksList.data[$var7];
        $par2 = $par2 - nms_Facing_offsetsXForSide.data[$var6] | 0;
        $var7 = $par3 - nms_Facing_offsetsYForSide.data[$var6] | 0;
        $par3 = $par4 - nms_Facing_offsetsZForSide.data[$var6] | 0;
        $ptr = 1;
    case 1:
        var$8.$onNeighborBlockChange($par1World, $par2, $var7, $par3, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, var$8, $ptr);
};
function nms_BlockPistonExtension_getDirectionMeta($par0) {
    return $par0 & 7;
}
$java.nms_BlockPistonExtension_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    return 0;
};
function nms_BlockCloth() {
    nms_Block.call(this);
    this.$iconArray5 = null;
}
function nms_BlockCloth__init_0() {
    var var_0 = new nms_BlockCloth();
    nms_BlockCloth__init_(var_0);
    return var_0;
}
function nms_BlockCloth__init_($this) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, 35, $java.nms_Material_cloth);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
}
$java.nms_BlockCloth_getIcon = function($this, $par1, $par2) {
    return $this.$iconArray5.data[$par2 % $this.$iconArray5.data.length | 0];
};
$java.nms_BlockCloth_damageDropped = function($this, $par1) {
    return $par1;
};
function nms_BlockCloth_getBlockFromDye($par0) {
    return ($par0 ^ (-1)) & 15;
}
$java.nms_BlockCloth_getDyeFromBlock = function($par0) {
    return ($par0 ^ (-1)) & 15;
};
$java.nms_BlockCloth_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    var $var4;
    $var4 = 0;
    while ($var4 < 16) {
        ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, $var4));
        $var4 = $var4 + 1 | 0;
    }
};
$java.nms_BlockCloth_registerIcons = function($this, $par1IconRegister) {
    var $var2, var$3, var$4;
    $this.$iconArray5 = $rt_createArray(nms_Icon, 16);
    $var2 = 0;
    while ($var2 < $this.$iconArray5.data.length) {
        var$3 = $this.$iconArray5.data;
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $rt_s(2381));
        jl_AbstractStringBuilder_append2(var$4, $var2);
        var$3[$var2] = $par1IconRegister.$registerIcon(jl_AbstractStringBuilder_toString(var$4));
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockPistonMoving() {
    nms_BlockContainer.call(this);
}
function nms_BlockPistonMoving__init_(var_0) {
    var var_1 = new nms_BlockPistonMoving();
    $java.nms_BlockPistonMoving__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockPistonMoving__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, $java.nms_Material_piston);
    nms_Block_setHardness($this, (-1.0));
};
$java.nms_BlockPistonMoving_createNewTileEntity = function($this, $par1World) {
    return null;
};
$java.nms_BlockPistonMoving_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return 0;
};
$java.nms_BlockPistonMoving_canPlaceBlockOnSide = function($this, $par1World, $par2, $par3, $par4, $par5) {
    return 0;
};
$java.nms_BlockPistonMoving_getRenderType = function($this) {
    return (-1);
};
$java.nms_BlockPistonMoving_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockPistonMoving_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockPistonMoving_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 0;
};
$java.nms_BlockPistonMoving_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    return;
};
$java.nms_BlockPistonMoving_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    return;
};
$java.nms_BlockPistonMoving_getTileEntity = function($par0, $par1, $par2, $par3, $par4) {
    var var$6;
    var$6 = new nms_TileEntityPiston;
    nms_TileEntity__init_(var$6);
    var$6.$pushedObjects = ju_ArrayList__init_0();
    var$6.$storedBlockID = $par0;
    var$6.$storedMetadata = $par1;
    var$6.$storedOrientation = $par2;
    var$6.$extending = $par3;
    var$6.$shouldHeadBeRendered = $par4;
    return var$6;
};
$java.nms_BlockPistonMoving_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    var $var5, $var6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockPistonMoving_getTileEntityAtLocation($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        if ($var5 === null)
            return null;
        $var6 = $java.nms_TileEntityPiston_getProgress($var5, 0.0);
        if ($var5.$extending)
            $var6 = 1.0 - $var6;
        var$7 = $var5.$storedBlockID;
        var$8 = $var5.$storedOrientation;
        $ptr = 2;
    case 2:
        $tmp = $java.nms_BlockPistonMoving_getAxisAlignedBB($this, $par1World, $par2, $par3, $par4, var$7, $var6, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return $par1World;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $var5, $var6, var$7, var$8, $ptr);
};
$java.nms_BlockPistonMoving_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockPistonMoving_getTileEntityAtLocation($this, $par1IBlockAccess, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        if ($var5 === null)
            return;
        nms_Block_$callClinit();
        $var6 = nms_Block_blocksList.data[$var5.$storedBlockID];
        if ($var6 !== null && $var6 !== $this) {
            $ptr = 2;
            continue main;
        }
        return;
    case 2:
        $var6.$setBlockBoundsBasedOnState($par1IBlockAccess, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $java.nms_TileEntityPiston_getProgress($var5, 0.0);
        if ($var5.$extending)
            $var7 = 1.0 - $var7;
        $var8 = $var5.$storedOrientation;
        $this.$minX0 = $var6.$minX0 - nms_Facing_offsetsXForSide.data[$var8] * $var7;
        $this.$minY0 = $var6.$minY0 - nms_Facing_offsetsYForSide.data[$var8] * $var7;
        $this.$minZ0 = $var6.$minZ0 - nms_Facing_offsetsZForSide.data[$var8] * $var7;
        $this.$maxX0 = $var6.$maxX0 - nms_Facing_offsetsXForSide.data[$var8] * $var7;
        $this.$maxY0 = $var6.$maxY0 - nms_Facing_offsetsYForSide.data[$var8] * $var7;
        $this.$maxZ0 = $var6.$maxZ0 - nms_Facing_offsetsZForSide.data[$var8] * $var7;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $var5, $var6, $var7, $var8, $ptr);
};
$java.nms_BlockPistonMoving_getAxisAlignedBB = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par5 && $par5 != $this.$blockID) {
            nms_Block_$callClinit();
            $var8 = nms_Block_blocksList.data[$par5];
            $ptr = 1;
            continue main;
        }
        return null;
    case 1:
        $tmp = $var8.$getCollisionBoundingBoxFromPool($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        if ($var8 === null)
            return null;
        if (nms_Facing_offsetsXForSide.data[$par7] >= 0)
            $var8.$maxX = $var8.$maxX - nms_Facing_offsetsXForSide.data[$par7] * $par6;
        else
            $var8.$minX = $var8.$minX - nms_Facing_offsetsXForSide.data[$par7] * $par6;
        if (nms_Facing_offsetsYForSide.data[$par7] >= 0)
            $var8.$maxY = $var8.$maxY - nms_Facing_offsetsYForSide.data[$par7] * $par6;
        else
            $var8.$minY = $var8.$minY - nms_Facing_offsetsYForSide.data[$par7] * $par6;
        if (nms_Facing_offsetsZForSide.data[$par7] >= 0)
            $var8.$maxZ = $var8.$maxZ - nms_Facing_offsetsZForSide.data[$par7] * $par6;
        else
            $var8.$minZ = $var8.$minZ - nms_Facing_offsetsZForSide.data[$par7] * $par6;
        return $var8;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $var8, $ptr);
};
$java.nms_BlockPistonMoving_getTileEntityAtLocation = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $par1IBlockAccess.$getBlockTileEntity($par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        return !($var5 instanceof nms_TileEntityPiston) ? null : $var5;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $var5, $ptr);
};
$java.nms_BlockPistonMoving_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    return 0;
};
$java.nms_BlockPistonMoving_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2375));
};
function nms_BlockMushroom() {
    nms_BlockFlower.call(this);
    this.$field_94374_a = null;
}
function nms_BlockMushroom__init_(var_0, var_1) {
    var var_2 = new nms_BlockMushroom();
    $java.nms_BlockMushroom__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockMushroom__init_ = function($this, $par1, $par2Str) {
    $java.nms_BlockFlower__init_1($this, $par1);
    $this.$field_94374_a = $par2Str;
    nms_Block_setBlockBounds($this, 0.30000001192092896, 0.0, 0.30000001192092896, 0.699999988079071, 0.4000000059604645, 0.699999988079071);
    $this.$needsRandomTick = 1;
};
$java.nms_BlockMushroom_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return $java.nms_BlockFlower_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4) && $java.nms_BlockMushroom_canBlockStay($this, $par1World, $par2, $par3, $par4) ? 1 : 0;
};
$java.nms_BlockMushroom_canThisPlantGrowOnThisBlockID = function($this, $par1) {
    nms_Block_$callClinit();
    return nms_Block_opaqueCubeLookup.data[$par1];
};
$java.nms_BlockMushroom_canBlockStay = function($this, $par1World, $par2, $par3, $par4) {
    var $var5;
    if ($par3 >= 0 && $par3 < 256) {
        a: {
            b: {
                $var5 = nms_World_getBlockId($par1World, $par2, $par3 - 1 | 0, $par4);
                nms_Block_$callClinit();
                if ($var5 != nms_Block_mycelium.$blockID) {
                    if (nms_World_getFullBlockLightValue($par1World, $par2, $par3, $par4) >= 13)
                        break b;
                    if (!$java.nms_BlockMushroom_canThisPlantGrowOnThisBlockID($this, $var5))
                        break b;
                }
                $par2 = 1;
                break a;
            }
            $par2 = 0;
        }
        return $par2;
    }
    return 0;
};
$java.nms_BlockMushroom_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($this.$field_94374_a);
};
function nms_BlockOreStorage() {
    nms_Block.call(this);
}
function nms_BlockOreStorage__init_(var_0) {
    var var_1 = new nms_BlockOreStorage();
    $java.nms_BlockOreStorage__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockOreStorage__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_iron);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
function nms_BlockHalfSlab() {
    nms_Block.call(this);
    this.$isDoubleSlab = 0;
}
$java.nms_BlockHalfSlab__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_BlockHalfSlab();
    $java.nms_BlockHalfSlab__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_BlockHalfSlab__init_0 = function($this, $par1, $par2, $par3Material) {
    nms_Block__init_0($this, $par1, $par3Material);
    $this.$isDoubleSlab = $par2;
    if ($par2)
        nms_Block_opaqueCubeLookup.data[$par1] = 1;
    else
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.5, 1.0);
    nms_Block_setLightOpacity($this, 255);
};
$java.nms_BlockHalfSlab_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    if ($this.$isDoubleSlab)
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    else if (!(!($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) & 8) ? 0 : 1))
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.5, 1.0);
    else
        nms_Block_setBlockBounds($this, 0.0, 0.5, 0.0, 1.0, 1.0, 1.0);
};
$java.nms_BlockHalfSlab_setBlockBoundsForItemRender = function($this) {
    if (!$this.$isDoubleSlab)
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.5, 1.0);
    else
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
};
$java.nms_BlockHalfSlab_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockHalfSlab_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $ptr);
};
$java.nms_BlockHalfSlab_isOpaqueCube = function($this) {
    return $this.$isDoubleSlab;
};
$java.nms_BlockHalfSlab_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    if (!$this.$isDoubleSlab && !($par5 && !($par5 != 1 && $par7 > 0.5)))
        $par9 = $par9 | 8;
    return $par9;
};
$java.nms_BlockHalfSlab_damageDropped = function($this, $par1) {
    return $par1 & 7;
};
$java.nms_BlockHalfSlab_renderAsNormalBlock = function($this) {
    return $this.$isDoubleSlab;
};
$java.nms_BlockHalfSlab_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var var$6;
    if ($this.$isDoubleSlab)
        return nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5);
    var$6 = $rt_compare($par5, 1);
    if (var$6 && $par5 && !nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5))
        return 0;
    return !(!($par1IBlockAccess.$getBlockMetadata($par2 + nms_Facing_offsetsXForSide.data[$java.nms_Facing_oppositeSide.data[$par5]] | 0, $par3 + nms_Facing_offsetsYForSide.data[$java.nms_Facing_oppositeSide.data[$par5]] | 0, $par4 + nms_Facing_offsetsZForSide.data[$java.nms_Facing_oppositeSide.data[$par5]] | 0) & 8) ? 0 : 1) ? (!var$6 ? 1 : !$par5 && nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) ? 1 : $java.nms_BlockHalfSlab_isBlockSingleSlab($par1IBlockAccess.$getBlockId($par2,
    $par3, $par4)) && !($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) & 8) ? 0 : 1) : !$par5 ? 1 : !var$6 && nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) ? 1 : $java.nms_BlockHalfSlab_isBlockSingleSlab($par1IBlockAccess.$getBlockId($par2, $par3, $par4)) && $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) & 8 ? 0 : 1;
};
$java.nms_BlockHalfSlab_isBlockSingleSlab = function($par0) {
    nms_Block_$callClinit();
    return $par0 != nms_Block_stoneSingleSlab.$blockID && $par0 != nms_Block_woodSingleSlab.$blockID ? 0 : 1;
};
$java.nms_BlockHalfSlab_getDamageValue = function($this, $par1World, $par2, $par3, $par4) {
    return nms_Block_getDamageValue($this, $par1World, $par2, $par3, $par4) & 7;
};
$java.nms_BlockHalfSlab_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    if ($java.nms_BlockHalfSlab_isBlockSingleSlab($this.$blockID))
        $par2 = $this.$blockID;
    else {
        $par2 = $this.$blockID;
        nms_Block_$callClinit();
        $par2 = $par2 == nms_Block_stoneDoubleSlab.$blockID ? nms_Block_stoneSingleSlab.$blockID : $this.$blockID != nms_Block_woodDoubleSlab.$blockID ? nms_Block_stoneSingleSlab.$blockID : nms_Block_woodSingleSlab.$blockID;
    }
    return $par2;
};
function nms_BlockStep() {
    nms_BlockHalfSlab.call(this);
    this.$theIcon7 = null;
}
$java.nms_BlockStep_blockStepTypes = null;
function nms_BlockStep__init_(var_0, var_1) {
    var var_2 = new nms_BlockStep();
    $java.nms_BlockStep__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockStep__init_ = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    $java.nms_BlockHalfSlab__init_0($this, $par1, $par2, nms_Material_rock);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockStep_getIcon = function($this, $par1, $par2) {
    var $var3, var$4;
    $var3 = $par2 & 7;
    if ($this.$isDoubleSlab && $par2 & 8)
        $par1 = 1;
    a: {
        if (!$var3) {
            if ($par1 != 1 && $par1) {
                var$4 = $this.$theIcon7;
                break a;
            }
            var$4 = $this.$blockIcon;
            break a;
        }
        if ($var3 == 1) {
            nms_Block_$callClinit();
            var$4 = nms_Block_getBlockTextureFromSide(nms_Block_sandStone, $par1);
            break a;
        }
        if ($var3 == 2) {
            nms_Block_$callClinit();
            var$4 = nms_Block_getBlockTextureFromSide(nms_Block_planks, $par1);
            break a;
        }
        if ($var3 == 3) {
            nms_Block_$callClinit();
            var$4 = nms_Block_getBlockTextureFromSide(nms_Block_cobblestone, $par1);
            break a;
        }
        if ($var3 == 4) {
            nms_Block_$callClinit();
            var$4 = nms_Block_getBlockTextureFromSide(nms_Block_brick, $par1);
            break a;
        }
        if ($var3 == 5) {
            nms_Block_$callClinit();
            var$4 = nms_Block_stoneBrick.$getIcon($par1, 0);
            break a;
        }
        if ($var3 == 6) {
            nms_Block_$callClinit();
            var$4 = nms_Block_getBlockTextureFromSide(nms_Block_netherBrick, 1);
            break a;
        }
        if ($var3 != 7) {
            var$4 = $this.$blockIcon;
            break a;
        }
        nms_Block_$callClinit();
        var$4 = nms_Block_getBlockTextureFromSide(nms_Block_blockNetherQuartz, $par1);
    }
    return var$4;
};
$java.nms_BlockStep_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2382));
    $this.$theIcon7 = $par1IconRegister.$registerIcon($rt_s(2383));
};
$java.nms_BlockStep_getFullSlabName = function($this, $par1) {
    var var$2;
    if (!($par1 >= 0 && $par1 < $java.nms_BlockStep_blockStepTypes.data.length))
        $par1 = 0;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, nms_Block_getUnlocalizedName($this));
    jl_AbstractStringBuilder_append(var$2, $rt_s(339));
    jl_AbstractStringBuilder_append(var$2, $java.nms_BlockStep_blockStepTypes.data[$par1]);
    return jl_AbstractStringBuilder_toString(var$2);
};
$java.nms_BlockStep_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    var $var4;
    a: {
        nms_Block_$callClinit();
        if ($par1 != nms_Block_stoneDoubleSlab.$blockID) {
            $var4 = 0;
            while (true) {
                if ($var4 > 7)
                    break a;
                if ($var4 != 2)
                    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, $var4));
                $var4 = $var4 + 1 | 0;
            }
        }
    }
};
function nms_BlockStep__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 8);
    var$2 = var$1.data;
    var$2[0] = $rt_s(1922);
    var$2[1] = $rt_s(1926);
    var$2[2] = $rt_s(1923);
    var$2[3] = $rt_s(2384);
    var$2[4] = $rt_s(1786);
    var$2[5] = $rt_s(2385);
    var$2[6] = $rt_s(2007);
    var$2[7] = $rt_s(2386);
    $java.nms_BlockStep_blockStepTypes = var$1;
}
function nms_BlockTNT() {
    var a = this; nms_Block.call(a);
    a.$field_94393_a = null;
    a.$field_94392_b = null;
}
function nms_BlockTNT__init_(var_0) {
    var var_1 = new nms_BlockTNT();
    $java.nms_BlockTNT__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockTNT__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_tnt);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
};
$java.nms_BlockTNT_getIcon = function($this, $par1, $par2) {
    return !$par1 ? $this.$field_94392_b : $par1 != 1 ? $this.$blockIcon : $this.$field_94393_a;
};
$java.nms_BlockTNT_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_isBlockIndirectlyGettingPowered($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        if (!$par5)
            return;
        $ptr = 2;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockTNT_onBlockDestroyedByExplosion = function($this, $par1World, $par2, $par3, $par4, $par5Explosion) {
    return;
};
$java.nms_BlockTNT_onBlockDestroyedByPlayer = function($this, $par1World, $par2, $par3, $par4, $par5) {
    return;
};
$java.nms_BlockTNT_func_94391_a = function($this, $par1World, $par2, $par3, $par4, $par5, $par6EntityLiving) {
    return;
};
$java.nms_BlockTNT_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_EntityPlayer_getCurrentEquippedItem($par5EntityPlayer) !== null) {
            $par6 = nms_EntityPlayer_getCurrentEquippedItem($par5EntityPlayer).$itemID0;
            nms_Item_$callClinit();
            if ($par6 == nms_Item_flintAndSteel.$itemID) {
                $ptr = 1;
                continue main;
            }
        }
        return 0;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, $ptr);
};
$java.nms_BlockTNT_canDropFromExplosion = function($this, $par1Explosion) {
    return 0;
};
$java.nms_BlockTNT_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2387));
    $this.$field_94393_a = $par1IconRegister.$registerIcon($rt_s(2388));
    $this.$field_94392_b = $par1IconRegister.$registerIcon($rt_s(2389));
};
function nms_BlockBookshelf() {
    nms_Block.call(this);
}
function nms_BlockBookshelf__init_(var_0) {
    var var_1 = new nms_BlockBookshelf();
    $java.nms_BlockBookshelf__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockBookshelf__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_wood);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockBookshelf_getIcon = function($this, $par1, $par2) {
    var var$3;
    if ($par1 != 1 && $par1)
        var$3 = $this.$blockIcon;
    else {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_planks, $par1);
    }
    return var$3;
};
function nms_BlockObsidian() {
    nms_BlockStone.call(this);
}
function nms_BlockObsidian__init_(var_0) {
    var var_1 = new nms_BlockObsidian();
    $java.nms_BlockObsidian__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockObsidian__init_ = function($this, $par1) {
    $java.nms_BlockStone__init_($this, $par1);
};
function nms_BlockTorch() {
    nms_Block.call(this);
}
function nms_BlockTorch__init_(var_0) {
    var var_1 = new nms_BlockTorch();
    $java.nms_BlockTorch__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockTorch__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_circuits);
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockTorch_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockTorch_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockTorch_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockTorch_getRenderType = function($this) {
    return 2;
};
$java.nms_BlockTorch_canPlaceTorchOn = function($this, $par1World, $par2, $par3, $par4) {
    var $var5;
    if (nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3, $par4))
        return 1;
    $var5 = nms_World_getBlockId($par1World, $par2, $par3, $par4);
    nms_Block_$callClinit();
    return $var5 != nms_Block_fence.$blockID && $var5 != nms_Block_netherFence.$blockID && $var5 != nms_Block_glass.$blockID && $var5 != nms_Block_cobblestoneWall.$blockID ? 0 : 1;
};
$java.nms_BlockTorch_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_isBlockNormalCubeDefault($par1World, $par2 - 1 | 0, $par3, $par4, 1) ? 1 : nms_World_isBlockNormalCubeDefault($par1World, $par2 + 1 | 0, $par3, $par4, 1) ? 1 : nms_World_isBlockNormalCubeDefault($par1World, $par2, $par3, $par4 - 1 | 0, 1) ? 1 : nms_World_isBlockNormalCubeDefault($par1World, $par2, $par3, $par4 + 1 | 0, 1) ? 1 : $java.nms_BlockTorch_canPlaceTorchOn($this, $par1World, $par2, $par3 - 1 | 0, $par4);
};
$java.nms_BlockTorch_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    if ($par5 == 1 && $java.nms_BlockTorch_canPlaceTorchOn($this, $par1World, $par2, $par3 - 1 | 0, $par4))
        $par9 = 5;
    if ($par5 == 2 && nms_World_isBlockNormalCubeDefault($par1World, $par2, $par3, $par4 + 1 | 0, 1))
        $par9 = 4;
    if ($par5 == 3 && nms_World_isBlockNormalCubeDefault($par1World, $par2, $par3, $par4 - 1 | 0, 1))
        $par9 = 3;
    if ($par5 == 4 && nms_World_isBlockNormalCubeDefault($par1World, $par2 + 1 | 0, $par3, $par4, 1))
        $par9 = 2;
    if ($par5 == 5 && nms_World_isBlockNormalCubeDefault($par1World, $par2 - 1 | 0, $par3, $par4, 1))
        $par9 = 1;
    return $par9;
};
$java.nms_BlockTorch_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockTorch_func_94397_d($this, $par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockTorch_func_94397_d = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockTorch_dropTorchIfCantStay($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        if (!$par5)
            return 1;
        $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var7 = 0;
        if (!nms_World_isBlockNormalCubeDefault($par1World, $par2 - 1 | 0, $par3, $par4, 1) && $var6 == 1)
            $var7 = 1;
        if (!nms_World_isBlockNormalCubeDefault($par1World, $par2 + 1 | 0, $par3, $par4, 1) && $var6 == 2)
            $var7 = 1;
        if (!nms_World_isBlockNormalCubeDefault($par1World, $par2, $par3, $par4 - 1 | 0, 1) && $var6 == 3)
            $var7 = 1;
        if (!nms_World_isBlockNormalCubeDefault($par1World, $par2, $par3, $par4 + 1 | 0, 1) && $var6 == 4)
            $var7 = 1;
        if (!$java.nms_BlockTorch_canPlaceTorchOn($this, $par1World, $par2, $par3 - 1 | 0, $par4) && $var6 == 5)
            $var7 = 1;
        if (!$var7)
            return 0;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
        $ptr = 2;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $ptr);
};
$java.nms_BlockTorch_dropTorchIfCantStay = function($this, $par1World, $par2, $par3, $par4) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_BlockTorch_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4))
            return 1;
        if (nms_World_getBlockId($par1World, $par2, $par3, $par4) != $this.$blockID)
            return 0;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return 0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $ptr);
};
$java.nms_BlockTorch_collisionRayTrace = function($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3) {
    var $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$par6Vec3 = $thread.pop();$par5Vec3 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) & 7;
        if ($var7 == 1)
            nms_Block_setBlockBounds($this, 0.0, 0.20000000298023224, 0.3499999940395355, 0.30000001192092896, 0.800000011920929, 0.6499999761581421);
        else if ($var7 == 2)
            nms_Block_setBlockBounds($this, 0.699999988079071, 0.20000000298023224, 0.3499999940395355, 1.0, 0.800000011920929, 0.6499999761581421);
        else if ($var7 == 3)
            nms_Block_setBlockBounds($this, 0.3499999940395355, 0.20000000298023224, 0.0, 0.6499999761581421, 0.800000011920929, 0.30000001192092896);
        else if ($var7 != 4)
            nms_Block_setBlockBounds($this, 0.4000000059604645, 0.0, 0.4000000059604645, 0.6000000238418579, 0.6000000238418579, 0.6000000238418579);
        else
            nms_Block_setBlockBounds($this, 0.3499999940395355, 0.20000000298023224, 0.699999988079071, 0.6499999761581421, 0.800000011920929, 1.0);
        $ptr = 1;
    case 1:
        $tmp = nms_Block_collisionRayTrace($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return $par1World;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3, $var7, $ptr);
};
$java.nms_BlockTorch_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var $var6, $var7, $var9, $var11, $var15, $var13, var$12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();$var13 = $thread.pop();$var15 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var7 = $par2 + 0.5;
        $var9 = $par3 + 0.699999988079071;
        $var11 = $par4 + 0.5;
        if ($var6 == 1) {
            $par5Random = $rt_s(1166);
            $var15 = $var7 - 0.27000001072883606;
            $var13 = $var9 + 0.2199999988079071;
            var$12 = 0.0;
            $var7 = 0.0;
            $var9 = 0.0;
            $ptr = 1;
            continue main;
        }
        if ($var6 == 2) {
            $par5Random = $rt_s(1166);
            $var15 = $var7 + 0.27000001072883606;
            $var13 = $var9 + 0.2199999988079071;
            var$12 = 0.0;
            $var7 = 0.0;
            $var9 = 0.0;
            $ptr = 3;
            continue main;
        }
        if ($var6 == 3) {
            $par5Random = $rt_s(1166);
            $var13 = $var9 + 0.2199999988079071;
            $var15 = $var11 - 0.27000001072883606;
            var$12 = 0.0;
            $var9 = 0.0;
            $var11 = 0.0;
            $ptr = 5;
            continue main;
        }
        if ($var6 != 4) {
            $par5Random = $rt_s(1166);
            $var13 = 0.0;
            $var15 = 0.0;
            var$12 = 0.0;
            $ptr = 7;
            continue main;
        }
        $par5Random = $rt_s(1166);
        $var13 = $var9 + 0.2199999988079071;
        $var15 = $var11 + 0.27000001072883606;
        var$12 = 0.0;
        $var9 = 0.0;
        $var11 = 0.0;
        $ptr = 9;
        continue main;
    case 1:
        nms_World_spawnParticle($par1World, $par5Random, $var15, $var13, $var11, var$12, $var7, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $par5Random = $rt_s(1172);
        var$12 = 0.0;
        $var7 = 0.0;
        $var9 = 0.0;
        $ptr = 2;
    case 2:
        nms_World_spawnParticle($par1World, $par5Random, $var15, $var13, $var11, var$12, $var7, $var9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_World_spawnParticle($par1World, $par5Random, $var15, $var13, $var11, var$12, $var7, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $par5Random = $rt_s(1172);
        var$12 = 0.0;
        $var7 = 0.0;
        $var9 = 0.0;
        $ptr = 4;
    case 4:
        nms_World_spawnParticle($par1World, $par5Random, $var15, $var13, $var11, var$12, $var7, $var9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 5:
        nms_World_spawnParticle($par1World, $par5Random, $var7, $var13, $var15, var$12, $var9, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $par5Random = $rt_s(1172);
        var$12 = 0.0;
        $var9 = 0.0;
        $var11 = 0.0;
        $ptr = 6;
    case 6:
        nms_World_spawnParticle($par1World, $par5Random, $var7, $var13, $var15, var$12, $var9, $var11);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 7:
        nms_World_spawnParticle($par1World, $par5Random, $var7, $var9, $var11, $var13, $var15, var$12);
        if ($rt_suspending()) {
            break main;
        }
        $par5Random = $rt_s(1172);
        $var13 = 0.0;
        $var15 = 0.0;
        var$12 = 0.0;
        $ptr = 8;
    case 8:
        nms_World_spawnParticle($par1World, $par5Random, $var7, $var9, $var11, $var13, $var15, var$12);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 9:
        nms_World_spawnParticle($par1World, $par5Random, $var7, $var13, $var15, var$12, $var9, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $par5Random = $rt_s(1172);
        var$12 = 0.0;
        $var9 = 0.0;
        $var11 = 0.0;
        $ptr = 10;
    case 10:
        nms_World_spawnParticle($par1World, $par5Random, $var7, $var13, $var15, var$12, $var9, $var11);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, $var6, $var7, $var9, $var11, $var15, $var13, var$12, $ptr);
};
function nms_BlockFire() {
    var a = this; nms_Block.call(a);
    a.$chanceToEncourageFire = null;
    a.$abilityToCatchFire = null;
    a.$iconArray6 = null;
}
function nms_BlockFire__init_(var_0) {
    var var_1 = new nms_BlockFire();
    $java.nms_BlockFire__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockFire__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_fire);
    $this.$chanceToEncourageFire = $rt_createIntArray(256);
    $this.$abilityToCatchFire = $rt_createIntArray(256);
    $this.$needsRandomTick = 1;
};
$java.nms_BlockFire_initializeBlock = function($this) {
    nms_Block_$callClinit();
    $java.nms_BlockFire_setBurnRate($this, nms_Block_planks.$blockID, 5, 20);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_woodDoubleSlab.$blockID, 5, 20);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_woodSingleSlab.$blockID, 5, 20);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_fence.$blockID, 5, 20);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_stairsWoodOak.$blockID, 5, 20);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_stairsWoodBirch.$blockID, 5, 20);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_stairsWoodSpruce.$blockID, 5, 20);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_stairsWoodJungle.$blockID, 5, 20);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_wood.$blockID, 5, 5);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_leaves.$blockID, 30, 60);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_bookShelf.$blockID, 30, 20);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_tnt.$blockID, 15, 100);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_tallGrass.$blockID, 60, 100);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_cloth.$blockID, 30, 60);
    $java.nms_BlockFire_setBurnRate($this, nms_Block_vine.$blockID, 15, 100);
};
$java.nms_BlockFire_setBurnRate = function($this, $par1, $par2, $par3) {
    $this.$chanceToEncourageFire.data[$par1] = $par2;
    $this.$abilityToCatchFire.data[$par1] = $par3;
};
$java.nms_BlockFire_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockFire_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockFire_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockFire_getRenderType = function($this) {
    return 3;
};
$java.nms_BlockFire_canNeighborBurn = function($this, $par1World, $par2, $par3, $par4) {
    return nms_BlockFire_canBlockCatchFire($this, $par1World, $par2 + 1 | 0, $par3, $par4) ? 1 : nms_BlockFire_canBlockCatchFire($this, $par1World, $par2 - 1 | 0, $par3, $par4) ? 1 : nms_BlockFire_canBlockCatchFire($this, $par1World, $par2, $par3 - 1 | 0, $par4) ? 1 : nms_BlockFire_canBlockCatchFire($this, $par1World, $par2, $par3 + 1 | 0, $par4) ? 1 : nms_BlockFire_canBlockCatchFire($this, $par1World, $par2, $par3, $par4 - 1 | 0) ? 1 : nms_BlockFire_canBlockCatchFire($this, $par1World, $par2, $par3, $par4 +
    1 | 0);
};
$java.nms_BlockFire_isCollidable = function($this) {
    return 0;
};
function nms_BlockFire_canBlockCatchFire($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return $this.$chanceToEncourageFire.data[$par1IBlockAccess.$getBlockId($par2, $par3, $par4)] <= 0 ? 0 : 1;
}
$java.nms_BlockFire_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return !nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) && !$java.nms_BlockFire_canNeighborBurn($this, $par1World, $par2, $par3, $par4) ? 0 : 1;
};
$java.nms_BlockFire_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) && !$java.nms_BlockFire_canNeighborBurn($this, $par1World, $par2, $par3, $par4)) {
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockFire_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var var$6, var$7, var$8, var$9, $var9, $var7, $var6, $var8, $var7_0, $var8_0, $var9_0, var$17, var$18, var$19, $var6_0, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6_0 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var9_0 = $thread.pop();$var8_0 = $thread.pop();$var7_0 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nle_EaglercraftRandom_nextInt($par5Random, 24)) {
            var$6 = $par2 + 0.5;
            var$7 = $par3 + 0.5;
            var$8 = $par4 + 0.5;
            var$9 = $rt_s(2390);
            $var9 = 1.0 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var7 = nle_EaglercraftRandom_nextFloat($par5Random) * 0.699999988079071 + 0.30000001192092896;
            $var6 = 0;
            $ptr = 1;
            continue main;
        }
        a: {
            b: {
                $var6 = $par3 - 1 | 0;
                if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $var6, $par4)) {
                    nms_Block_$callClinit();
                    if (!nms_BlockFire_canBlockCatchFire(nms_Block_fire, $par1World, $par2, $var6, $par4))
                        break b;
                }
                $var6 = 0;
                $var9 = $par2;
                $var7 = $par3;
                $var8 = $par4;
                if ($var6 >= 3)
                    break a;
                $var7_0 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8_0 = $var7 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.5 + 0.5;
                $var9_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                var$9 = $rt_s(1050);
                var$17 = $var7_0;
                var$18 = $var8_0;
                var$19 = $var9_0;
                var$6 = 0.0;
                var$7 = 0.0;
                var$8 = 0.0;
                $ptr = 2;
                continue main;
            }
            if (nms_BlockFire_canBlockCatchFire(nms_Block_fire, $par1World, $par2 - 1 | 0, $par3, $par4)) {
                $var6 = 0;
                $var9 = $par2;
                $var8_0 = $par3;
                $var7_0 = $par4;
                if ($var6 < 2) {
                    $var7 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                    $var8 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                    var$9 = $rt_s(1050);
                    var$6 = $var7;
                    var$7 = $var8;
                    var$8 = $var9_0;
                    var$17 = 0.0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    $ptr = 3;
                    continue main;
                }
            }
            var$9 = nms_Block_fire;
            $var6_0 = $par2 + 1 | 0;
            if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $var6_0, $par3, $par4)) {
                $var6 = 0;
                $var9 = $var6_0;
                $var8_0 = $par3;
                $var7_0 = $par4;
                if ($var6 < 2) {
                    $var7 = $var9 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                    $var8 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                    var$9 = $rt_s(1050);
                    var$6 = $var7;
                    var$7 = $var8;
                    var$8 = $var9_0;
                    var$17 = 0.0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    $ptr = 4;
                    continue main;
                }
            }
            if (nms_BlockFire_canBlockCatchFire(nms_Block_fire, $par1World, $par2, $par3, $par4 - 1 | 0)) {
                $var6 = 0;
                $var9 = $par2;
                $var8 = $par3;
                $var7_0 = $par4;
                if ($var6 < 2) {
                    $var7 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                    var$9 = $rt_s(1050);
                    var$6 = $var7;
                    var$7 = $var8_0;
                    var$8 = $var9_0;
                    var$17 = 0.0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    $ptr = 5;
                    continue main;
                }
            }
            var$9 = nms_Block_fire;
            $var6 = $par4 + 1 | 0;
            if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $var6)) {
                $var6_0 = 0;
                $var7 = $par2;
                $var8 = $par3;
                $var9_0 = $var6;
                if ($var6_0 < 2) {
                    $var7_0 = $var7 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var9 = $var9_0 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                    var$9 = $rt_s(1050);
                    var$18 = $var7_0;
                    var$19 = $var8_0;
                    var$6 = $var9;
                    var$7 = 0.0;
                    var$8 = 0.0;
                    var$17 = 0.0;
                    $ptr = 6;
                    continue main;
                }
            }
            var$9 = nms_Block_fire;
            $par3 = $par3 + 1 | 0;
            if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $par4)) {
                $var6 = 0;
                $var9 = $par2;
                $var7 = $par3;
                $var8_0 = $par4;
                if ($var6 < 2) {
                    $var7_0 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var8 = $var7 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                    $var9_0 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                    var$9 = $rt_s(1050);
                    var$6 = $var7_0;
                    var$7 = $var8;
                    var$8 = $var9_0;
                    var$17 = 0.0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    $ptr = 7;
                    continue main;
                }
            }
        }
        return;
    case 1:
        nms_WorldClient_playSound($par1World, var$6, var$7, var$8, var$9, $var9, $var7, $var6);
        if ($rt_suspending()) {
            break main;
        }
        c: {
            a: {
                $var6 = $par3 - 1 | 0;
                if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $var6, $par4)) {
                    nms_Block_$callClinit();
                    if (!nms_BlockFire_canBlockCatchFire(nms_Block_fire, $par1World, $par2, $var6, $par4))
                        break a;
                }
                $var6 = 0;
                $var9 = $par2;
                $var7 = $par3;
                $var8 = $par4;
                if ($var6 >= 3)
                    break c;
                $var7_0 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8_0 = $var7 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.5 + 0.5;
                $var9_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                var$9 = $rt_s(1050);
                var$17 = $var7_0;
                var$18 = $var8_0;
                var$19 = $var9_0;
                var$6 = 0.0;
                var$7 = 0.0;
                var$8 = 0.0;
                $ptr = 2;
                continue main;
            }
            if (nms_BlockFire_canBlockCatchFire(nms_Block_fire, $par1World, $par2 - 1 | 0, $par3, $par4)) {
                $var6 = 0;
                $var9 = $par2;
                $var8_0 = $par3;
                $var7_0 = $par4;
                if ($var6 < 2) {
                    $var7 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                    $var8 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                    var$9 = $rt_s(1050);
                    var$6 = $var7;
                    var$7 = $var8;
                    var$8 = $var9_0;
                    var$17 = 0.0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    $ptr = 3;
                    continue main;
                }
            }
            var$9 = nms_Block_fire;
            $var6_0 = $par2 + 1 | 0;
            if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $var6_0, $par3, $par4)) {
                $var6 = 0;
                $var9 = $var6_0;
                $var8_0 = $par3;
                $var7_0 = $par4;
                if ($var6 < 2) {
                    $var7 = $var9 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                    $var8 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                    var$9 = $rt_s(1050);
                    var$6 = $var7;
                    var$7 = $var8;
                    var$8 = $var9_0;
                    var$17 = 0.0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    $ptr = 4;
                    continue main;
                }
            }
            if (nms_BlockFire_canBlockCatchFire(nms_Block_fire, $par1World, $par2, $par3, $par4 - 1 | 0)) {
                $var6 = 0;
                $var9 = $par2;
                $var8 = $par3;
                $var7_0 = $par4;
                if ($var6 < 2) {
                    $var7 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                    var$9 = $rt_s(1050);
                    var$6 = $var7;
                    var$7 = $var8_0;
                    var$8 = $var9_0;
                    var$17 = 0.0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    $ptr = 5;
                    continue main;
                }
            }
            var$9 = nms_Block_fire;
            $var6 = $par4 + 1 | 0;
            if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $var6)) {
                $var6_0 = 0;
                $var7 = $par2;
                $var8 = $par3;
                $var9_0 = $var6;
                if ($var6_0 < 2) {
                    $var7_0 = $var7 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var9 = $var9_0 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                    var$9 = $rt_s(1050);
                    var$18 = $var7_0;
                    var$19 = $var8_0;
                    var$6 = $var9;
                    var$7 = 0.0;
                    var$8 = 0.0;
                    var$17 = 0.0;
                    $ptr = 6;
                    continue main;
                }
            }
            var$9 = nms_Block_fire;
            $par3 = $par3 + 1 | 0;
            if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $par4)) {
                $var6 = 0;
                $var9 = $par2;
                $var7 = $par3;
                $var8_0 = $par4;
                if ($var6 < 2) {
                    $var7_0 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                    $var8 = $var7 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                    $var9_0 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                    var$9 = $rt_s(1050);
                    var$6 = $var7_0;
                    var$7 = $var8;
                    var$8 = $var9_0;
                    var$17 = 0.0;
                    var$18 = 0.0;
                    var$19 = 0.0;
                    $ptr = 7;
                    continue main;
                }
            }
        }
        return;
    case 2:
        nms_World_spawnParticle($par1World, var$9, var$17, var$18, var$19, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 >= 3)
            return;
        $var7_0 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var8_0 = $var7 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.5 + 0.5;
        $var9_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
        var$9 = $rt_s(1050);
        var$17 = $var7_0;
        var$18 = $var8_0;
        var$19 = $var9_0;
        var$6 = 0.0;
        var$7 = 0.0;
        var$8 = 0.0;
        continue main;
    case 3:
        nms_World_spawnParticle($par1World, var$9, var$6, var$7, var$8, var$17, var$18, var$19);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 < 2) {
            $var7 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
            $var8 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random);
            var$9 = $rt_s(1050);
            var$6 = $var7;
            var$7 = $var8;
            var$8 = $var9_0;
            var$17 = 0.0;
            var$18 = 0.0;
            var$19 = 0.0;
            continue main;
        }
        var$9 = nms_Block_fire;
        $var6_0 = $par2 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $var6_0, $par3, $par4)) {
            $var6 = 0;
            $var9 = $var6_0;
            $var8_0 = $par3;
            $var7_0 = $par4;
            if ($var6 < 2) {
                $var7 = $var9 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                $var8 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                var$9 = $rt_s(1050);
                var$6 = $var7;
                var$7 = $var8;
                var$8 = $var9_0;
                var$17 = 0.0;
                var$18 = 0.0;
                var$19 = 0.0;
                $ptr = 4;
                continue main;
            }
        }
        if (nms_BlockFire_canBlockCatchFire(nms_Block_fire, $par1World, $par2, $par3, $par4 - 1 | 0)) {
            $var6 = 0;
            $var9 = $par2;
            $var8 = $par3;
            $var7_0 = $par4;
            if ($var6 < 2) {
                $var7 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                var$9 = $rt_s(1050);
                var$6 = $var7;
                var$7 = $var8_0;
                var$8 = $var9_0;
                var$17 = 0.0;
                var$18 = 0.0;
                var$19 = 0.0;
                $ptr = 5;
                continue main;
            }
        }
        var$9 = nms_Block_fire;
        $var6 = $par4 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $var6)) {
            $var6_0 = 0;
            $var7 = $par2;
            $var8 = $par3;
            $var9_0 = $var6;
            if ($var6_0 < 2) {
                $var7_0 = $var7 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var9 = $var9_0 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                var$9 = $rt_s(1050);
                var$18 = $var7_0;
                var$19 = $var8_0;
                var$6 = $var9;
                var$7 = 0.0;
                var$8 = 0.0;
                var$17 = 0.0;
                $ptr = 6;
                continue main;
            }
        }
        var$9 = nms_Block_fire;
        $par3 = $par3 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $par4)) {
            $var6 = 0;
            $var9 = $par2;
            $var7 = $par3;
            $var8_0 = $par4;
            if ($var6 < 2) {
                $var7_0 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8 = $var7 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                $var9_0 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                var$9 = $rt_s(1050);
                var$6 = $var7_0;
                var$7 = $var8;
                var$8 = $var9_0;
                var$17 = 0.0;
                var$18 = 0.0;
                var$19 = 0.0;
                $ptr = 7;
                continue main;
            }
        }
        return;
    case 4:
        nms_World_spawnParticle($par1World, var$9, var$6, var$7, var$8, var$17, var$18, var$19);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 < 2) {
            $var7 = $var9 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
            $var8 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random);
            var$9 = $rt_s(1050);
            var$6 = $var7;
            var$7 = $var8;
            var$8 = $var9_0;
            var$17 = 0.0;
            var$18 = 0.0;
            var$19 = 0.0;
            continue main;
        }
        if (nms_BlockFire_canBlockCatchFire(nms_Block_fire, $par1World, $par2, $par3, $par4 - 1 | 0)) {
            $var6 = 0;
            $var9 = $par2;
            $var8 = $par3;
            $var7_0 = $par4;
            if ($var6 < 2) {
                $var7 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                var$9 = $rt_s(1050);
                var$6 = $var7;
                var$7 = $var8_0;
                var$8 = $var9_0;
                var$17 = 0.0;
                var$18 = 0.0;
                var$19 = 0.0;
                $ptr = 5;
                continue main;
            }
        }
        var$9 = nms_Block_fire;
        $var6 = $par4 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $var6)) {
            $var6_0 = 0;
            $var7 = $par2;
            $var8 = $par3;
            $var9_0 = $var6;
            if ($var6_0 < 2) {
                $var7_0 = $var7 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var9 = $var9_0 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                var$9 = $rt_s(1050);
                var$18 = $var7_0;
                var$19 = $var8_0;
                var$6 = $var9;
                var$7 = 0.0;
                var$8 = 0.0;
                var$17 = 0.0;
                $ptr = 6;
                continue main;
            }
        }
        var$9 = nms_Block_fire;
        $par3 = $par3 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $par4)) {
            $var6 = 0;
            $var9 = $par2;
            $var7 = $par3;
            $var8_0 = $par4;
            if ($var6 < 2) {
                $var7_0 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8 = $var7 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                $var9_0 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                var$9 = $rt_s(1050);
                var$6 = $var7_0;
                var$7 = $var8;
                var$8 = $var9_0;
                var$17 = 0.0;
                var$18 = 0.0;
                var$19 = 0.0;
                $ptr = 7;
                continue main;
            }
        }
        return;
    case 5:
        nms_World_spawnParticle($par1World, var$9, var$6, var$7, var$8, var$17, var$18, var$19);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 < 2) {
            $var7 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var9_0 = $var7_0 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
            var$9 = $rt_s(1050);
            var$6 = $var7;
            var$7 = $var8_0;
            var$8 = $var9_0;
            var$17 = 0.0;
            var$18 = 0.0;
            var$19 = 0.0;
            continue main;
        }
        var$9 = nms_Block_fire;
        $var6 = $par4 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $var6)) {
            $var6_0 = 0;
            $var7 = $par2;
            $var8 = $par3;
            $var9_0 = $var6;
            if ($var6_0 < 2) {
                $var7_0 = $var7 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var9 = $var9_0 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                var$9 = $rt_s(1050);
                var$18 = $var7_0;
                var$19 = $var8_0;
                var$6 = $var9;
                var$7 = 0.0;
                var$8 = 0.0;
                var$17 = 0.0;
                $ptr = 6;
                continue main;
            }
        }
        var$9 = nms_Block_fire;
        $par3 = $par3 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $par4)) {
            $var6 = 0;
            $var9 = $par2;
            $var7 = $par3;
            $var8_0 = $par4;
            if ($var6 < 2) {
                $var7_0 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8 = $var7 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                $var9_0 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                var$9 = $rt_s(1050);
                var$6 = $var7_0;
                var$7 = $var8;
                var$8 = $var9_0;
                var$17 = 0.0;
                var$18 = 0.0;
                var$19 = 0.0;
                $ptr = 7;
                continue main;
            }
        }
        return;
    case 6:
        nms_World_spawnParticle($par1World, var$9, var$18, var$19, var$6, var$7, var$8, var$17);
        if ($rt_suspending()) {
            break main;
        }
        $var6_0 = $var6_0 + 1 | 0;
        if ($var6_0 < 2) {
            $var7_0 = $var7 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var8_0 = $var8 + nle_EaglercraftRandom_nextFloat($par5Random);
            $var9 = $var9_0 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
            var$9 = $rt_s(1050);
            var$18 = $var7_0;
            var$19 = $var8_0;
            var$6 = $var9;
            var$7 = 0.0;
            var$8 = 0.0;
            var$17 = 0.0;
            continue main;
        }
        var$9 = nms_Block_fire;
        $par3 = $par3 + 1 | 0;
        if (nms_BlockFire_canBlockCatchFire(var$9, $par1World, $par2, $par3, $par4)) {
            $var6 = 0;
            $var9 = $par2;
            $var7 = $par3;
            $var8_0 = $par4;
            if ($var6 < 2) {
                $var7_0 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
                $var8 = $var7 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
                $var9_0 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
                var$9 = $rt_s(1050);
                var$6 = $var7_0;
                var$7 = $var8;
                var$8 = $var9_0;
                var$17 = 0.0;
                var$18 = 0.0;
                var$19 = 0.0;
                $ptr = 7;
                continue main;
            }
        }
        return;
    case 7:
        nms_World_spawnParticle($par1World, var$9, var$6, var$7, var$8, var$17, var$18, var$19);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 >= 2)
            return;
        $var7_0 = $var9 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var8 = $var7 - nle_EaglercraftRandom_nextFloat($par5Random) * 0.10000000149011612;
        $var9_0 = $var8_0 + nle_EaglercraftRandom_nextFloat($par5Random);
        var$9 = $rt_s(1050);
        var$6 = $var7_0;
        var$7 = $var8;
        var$8 = $var9_0;
        var$17 = 0.0;
        var$18 = 0.0;
        var$19 = 0.0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, var$6, var$7, var$8, var$9, $var9, $var7, $var6, $var8, $var7_0, $var8_0, $var9_0, var$17, var$18, var$19, $var6_0, $ptr);
};
$java.nms_BlockFire_registerIcons = function($this, $par1IconRegister) {
    var var$2, var$3;
    var$2 = $rt_createArray(nms_Icon, 2);
    var$3 = var$2.data;
    var$3[0] = $par1IconRegister.$registerIcon($rt_s(2391));
    var$3[1] = $par1IconRegister.$registerIcon($rt_s(2392));
    $this.$iconArray6 = var$2;
};
function nms_BlockFire_func_94438_c($this, $par1) {
    return $this.$iconArray6.data[$par1];
}
$java.nms_BlockFire_getIcon = function($this, $par1, $par2) {
    return $this.$iconArray6.data[0];
};
function nms_BlockMobSpawner() {
    nms_BlockContainer.call(this);
}
function nms_BlockMobSpawner__init_(var_0) {
    var var_1 = new nms_BlockMobSpawner();
    $java.nms_BlockMobSpawner__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockMobSpawner__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_rock);
};
$java.nms_BlockMobSpawner_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityMobSpawner__init_();
};
$java.nms_BlockMobSpawner_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    nle_EaglercraftRandom_nextInt($par1World.$rand, 15);
    nle_EaglercraftRandom_nextInt($par1World.$rand, 15);
};
$java.nms_BlockMobSpawner_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockMobSpawner_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    return 0;
};
function nms_BlockStairs() {
    var a = this; nms_Block.call(a);
    a.$modelBlock = null;
    a.$modelBlockMetadata = 0;
    a.$field_72156_cr = 0;
    a.$field_72160_cs = 0;
}
$java.nms_BlockStairs_field_72159_a = null;
function nms_BlockStairs__init_(var_0, var_1, var_2) {
    var var_3 = new nms_BlockStairs();
    $java.nms_BlockStairs__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_BlockStairs__init_ = function($this, $par1, $par2Block, $par3) {
    nms_Block__init_0($this, $par1, $par2Block.$blockMaterial);
    $this.$field_72156_cr = 0;
    $this.$field_72160_cs = 0;
    $this.$modelBlock = $par2Block;
    $this.$modelBlockMetadata = $par3;
    nms_Block_setHardness($this, $par2Block.$blockHardness);
    nms_Block_setResistance($this, $par2Block.$blockResistance / 3.0);
    $this.$stepSound = $par2Block.$stepSound;
    nms_Block_setLightOpacity($this, 255);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockStairs_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    if (!$this.$field_72156_cr)
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    else
        nms_Block_setBlockBounds($this, 0.5 * ($this.$field_72160_cs % 2 | 0), 0.5 * (($this.$field_72160_cs / 2 | 0) % 2 | 0), 0.5 * (($this.$field_72160_cs / 4 | 0) % 2 | 0), 0.5 + 0.5 * ($this.$field_72160_cs % 2 | 0), 0.5 + 0.5 * (($this.$field_72160_cs / 2 | 0) % 2 | 0), 0.5 + 0.5 * (($this.$field_72160_cs / 4 | 0) % 2 | 0));
};
$java.nms_BlockStairs_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockStairs_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockStairs_getRenderType = function($this) {
    return 10;
};
function nms_BlockStairs_func_82541_d($this, $par1IBlockAccess, $par2, $par3, $par4) {
    if (!($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) & 4))
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.5, 1.0);
    else
        nms_Block_setBlockBounds($this, 0.0, 0.5, 0.0, 1.0, 1.0, 1.0);
}
$java.nms_BlockStairs_isBlockStairsID = function($par0) {
    a: {
        if ($par0 > 0) {
            nms_Block_$callClinit();
            if (nms_Block_blocksList.data[$par0] instanceof nms_BlockStairs) {
                $par0 = 1;
                break a;
            }
        }
        $par0 = 0;
    }
    return $par0;
};
$java.nms_BlockStairs_func_82540_f = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $java.nms_BlockStairs_isBlockStairsID($par1IBlockAccess.$getBlockId($par2, $par3, $par4)) && $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) == $par5 ? 1 : 0;
};
function nms_BlockStairs_func_82542_g($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var16, $var9, $var10, $var11, $var12, $var13, $var15, $var14, $var14_0, $var16_0;
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var6 = $var5 & 3;
    $var7 = 0.5;
    $var8 = 1.0;
    $var16 = $var5 & 4;
    if ($var16) {
        $var7 = 0.0;
        $var8 = 0.5;
    }
    a: {
        $var9 = 0.0;
        $var10 = 1.0;
        $var11 = 0.0;
        $var12 = 0.5;
        $var13 = 1;
        if (!$var6) {
            $var9 = 0.5;
            $var12 = 1.0;
            $var15 = $par2 + 1 | 0;
            $var14 = $par1IBlockAccess.$getBlockId($var15, $par3, $par4);
            $var15 = $par1IBlockAccess.$getBlockMetadata($var15, $par3, $par4);
            if (!$java.nms_BlockStairs_isBlockStairsID($var14))
                break a;
            if ($var16 != ($var15 & 4))
                break a;
            $var16 = $var15 & 3;
            if ($var16 == 3 && !$java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2, $par3, $par4 + 1 | 0, $var5)) {
                $var12 = 0.5;
                $var13 = 0;
                break a;
            }
            if ($var16 != 2)
                break a;
            if ($java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2, $par3, $par4 - 1 | 0, $var5))
                break a;
            $var11 = 0.5;
            $var13 = 0;
            break a;
        }
        if ($var6 == 1) {
            $var10 = 0.5;
            $var12 = 1.0;
            $var14 = $par2 - 1 | 0;
            $var14_0 = $par1IBlockAccess.$getBlockId($var14, $par3, $par4);
            $var15 = $par1IBlockAccess.$getBlockMetadata($var14, $par3, $par4);
            if (!$java.nms_BlockStairs_isBlockStairsID($var14_0))
                break a;
            if ($var16 != ($var15 & 4))
                break a;
            $var16 = $var15 & 3;
            if ($var16 == 3 && !$java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2, $par3, $par4 + 1 | 0, $var5)) {
                $var12 = 0.5;
                $var13 = 0;
                break a;
            }
            if ($var16 != 2)
                break a;
            if ($java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2, $par3, $par4 - 1 | 0, $var5))
                break a;
            $var11 = 0.5;
            $var13 = 0;
            break a;
        }
        if ($var6 == 2) {
            $var11 = 0.5;
            $var12 = 1.0;
            $var14 = $par4 + 1 | 0;
            $var14_0 = $par1IBlockAccess.$getBlockId($par2, $par3, $var14);
            $var15 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $var14);
            if (!$java.nms_BlockStairs_isBlockStairsID($var14_0))
                break a;
            if ($var16 != ($var15 & 4))
                break a;
            $var16 = $var15 & 3;
            if ($var16 == 1 && !$java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2 + 1 | 0, $par3, $par4, $var5)) {
                $var10 = 0.5;
                $var13 = 0;
                break a;
            }
            if ($var16)
                break a;
            if ($java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2 - 1 | 0, $par3, $par4, $var5))
                break a;
            $var9 = 0.5;
            $var13 = 0;
            break a;
        }
        if ($var6 != 3)
            break a;
        $var14 = $par4 - 1 | 0;
        $var14_0 = $par1IBlockAccess.$getBlockId($par2, $par3, $var14);
        $var15 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $var14);
        if (!$java.nms_BlockStairs_isBlockStairsID($var14_0))
            break a;
        if ($var16 != ($var15 & 4))
            break a;
        $var16_0 = $var15 & 3;
        if ($var16_0 == 1 && !$java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2 + 1 | 0, $par3, $par4, $var5)) {
            $var10 = 0.5;
            $var13 = 0;
            break a;
        }
        if ($var16_0)
            break a;
        if ($java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2 - 1 | 0, $par3, $par4, $var5))
            break a;
        $var9 = 0.5;
        $var13 = 0;
    }
    nms_Block_setBlockBounds($this, $var9, $var7, $var11, $var10, $var8, $var12);
    return $var13;
}
function nms_BlockStairs_func_82544_h($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var16, $var9, $var10, $var11, $var12, $var13, $var15, $var14, $var14_0, $var16_0;
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var6 = $var5 & 3;
    $var7 = 0.5;
    $var8 = 1.0;
    $var16 = $var5 & 4;
    if ($var16) {
        $var7 = 0.0;
        $var8 = 0.5;
    }
    a: {
        $var9 = 0.0;
        $var10 = 0.5;
        $var11 = 0.5;
        $var12 = 1.0;
        $var13 = 0;
        if (!$var6) {
            $var15 = $par2 - 1 | 0;
            $var14 = $par1IBlockAccess.$getBlockId($var15, $par3, $par4);
            $var15 = $par1IBlockAccess.$getBlockMetadata($var15, $par3, $par4);
            if (!$java.nms_BlockStairs_isBlockStairsID($var14))
                break a;
            if ($var16 != ($var15 & 4))
                break a;
            $var16 = $var15 & 3;
            if ($var16 == 3 && !$java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2, $par3, $par4 - 1 | 0, $var5)) {
                $var11 = 0.0;
                $var12 = 0.5;
                $var13 = 1;
                break a;
            }
            if ($var16 != 2)
                break a;
            if ($java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2, $par3, $par4 + 1 | 0, $var5))
                break a;
            $var11 = 0.5;
            $var12 = 1.0;
            $var13 = 1;
            break a;
        }
        if ($var6 == 1) {
            $var14 = $par2 + 1 | 0;
            $var14_0 = $par1IBlockAccess.$getBlockId($var14, $par3, $par4);
            $var15 = $par1IBlockAccess.$getBlockMetadata($var14, $par3, $par4);
            if (!$java.nms_BlockStairs_isBlockStairsID($var14_0))
                break a;
            if ($var16 != ($var15 & 4))
                break a;
            $var9 = 0.5;
            $var10 = 1.0;
            $var16 = $var15 & 3;
            if ($var16 == 3 && !$java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2, $par3, $par4 - 1 | 0, $var5)) {
                $var11 = 0.0;
                $var12 = 0.5;
                $var13 = 1;
                break a;
            }
            if ($var16 != 2)
                break a;
            if ($java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2, $par3, $par4 + 1 | 0, $var5))
                break a;
            $var11 = 0.5;
            $var12 = 1.0;
            $var13 = 1;
            break a;
        }
        if ($var6 == 2) {
            $var14 = $par4 - 1 | 0;
            $var14_0 = $par1IBlockAccess.$getBlockId($par2, $par3, $var14);
            $var15 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $var14);
            if (!$java.nms_BlockStairs_isBlockStairsID($var14_0))
                break a;
            if ($var16 != ($var15 & 4))
                break a;
            $var11 = 0.0;
            $var12 = 0.5;
            $var16 = $var15 & 3;
            if ($var16 == 1 && !$java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2 - 1 | 0, $par3, $par4, $var5)) {
                $var13 = 1;
                break a;
            }
            if ($var16)
                break a;
            if ($java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2 + 1 | 0, $par3, $par4, $var5))
                break a;
            $var9 = 0.5;
            $var10 = 1.0;
            $var13 = 1;
            break a;
        }
        if ($var6 != 3)
            break a;
        $var14 = $par4 + 1 | 0;
        $var14_0 = $par1IBlockAccess.$getBlockId($par2, $par3, $var14);
        $var15 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $var14);
        if (!$java.nms_BlockStairs_isBlockStairsID($var14_0))
            break a;
        if ($var16 != ($var15 & 4))
            break a;
        $var16_0 = $var15 & 3;
        if ($var16_0 == 1 && !$java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2 - 1 | 0, $par3, $par4, $var5)) {
            $var13 = 1;
            break a;
        }
        if ($var16_0)
            break a;
        if ($java.nms_BlockStairs_func_82540_f($this, $par1IBlockAccess, $par2 + 1 | 0, $par3, $par4, $var5))
            break a;
        $var9 = 0.5;
        $var10 = 1.0;
        $var13 = 1;
    }
    if ($var13)
        nms_Block_setBlockBounds($this, $var9, $var7, $var11, $var10, $var8, $var12);
    return $var13;
}
$java.nms_BlockStairs_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_BlockStairs_func_82541_d($this, $par1World, $par2, $par3, $par4);
        $ptr = 1;
    case 1:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = nms_BlockStairs_func_82542_g($this, $par1World, $par2, $par3, $par4);
        $ptr = 2;
    case 2:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        if ($var8 && nms_BlockStairs_func_82544_h($this, $par1World, $par2, $par3, $par4)) {
            $ptr = 3;
            continue main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        return;
    case 3:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $var8, $ptr);
};
$java.nms_BlockStairs_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$6 = $this.$modelBlock;
        $ptr = 1;
    case 1:
        var$6.$randomDisplayTick($par1World, $par2, $par3, $par4, $par5Random);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, var$6, $ptr);
};
$java.nms_BlockStairs_onBlockClicked = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$6 = $this.$modelBlock;
        $ptr = 1;
    case 1:
        var$6.$onBlockClicked($par1World, $par2, $par3, $par4, $par5EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, var$6, $ptr);
};
$java.nms_BlockStairs_onBlockDestroyedByPlayer = function($this, $par1World, $par2, $par3, $par4, $par5) {
    $this.$modelBlock.$onBlockDestroyedByPlayer($par1World, $par2, $par3, $par4, $par5);
};
$java.nms_BlockStairs_getMixedBrightnessForBlock = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return $this.$modelBlock.$getMixedBrightnessForBlock($par1IBlockAccess, $par2, $par3, $par4);
};
$java.nms_BlockStairs_getBlockBrightness = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return $this.$modelBlock.$getBlockBrightness($par1IBlockAccess, $par2, $par3, $par4);
};
$java.nms_BlockStairs_getExplosionResistance = function($this, $par1Entity) {
    return $this.$modelBlock.$getExplosionResistance($par1Entity);
};
$java.nms_BlockStairs_getRenderBlockPass = function($this) {
    return $this.$modelBlock.$getRenderBlockPass();
};
$java.nms_BlockStairs_getIcon = function($this, $par1, $par2) {
    return $this.$modelBlock.$getIcon($par1, $this.$modelBlockMetadata);
};
$java.nms_BlockStairs_getSelectedBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return $this.$modelBlock.$getSelectedBoundingBoxFromPool($par1World, $par2, $par3, $par4);
};
$java.nms_BlockStairs_velocityToAddToEntity = function($this, $par1World, $par2, $par3, $par4, $par5Entity, $par6Vec3) {
    $this.$modelBlock.$velocityToAddToEntity($par1World, $par2, $par3, $par4, $par5Entity, $par6Vec3);
};
$java.nms_BlockStairs_isCollidable = function($this) {
    return $this.$modelBlock.$isCollidable();
};
$java.nms_BlockStairs_canCollideCheck = function($this, $par1, $par2) {
    return $this.$modelBlock.$canCollideCheck($par1, $par2);
};
$java.nms_BlockStairs_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return $this.$modelBlock.$canPlaceBlockAt($par1World, $par2, $par3, $par4);
};
$java.nms_BlockStairs_onEntityWalking = function($this, $par1World, $par2, $par3, $par4, $par5Entity) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$par5Entity = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$6 = $this.$modelBlock;
        $ptr = 1;
    case 1:
        var$6.$onEntityWalking($par1World, $par2, $par3, $par4, $par5Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Entity, var$6, $ptr);
};
$java.nms_BlockStairs_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$10 = $this.$modelBlock;
        $par6 = 0;
        $par7 = 0.0;
        $par8 = 0.0;
        $par9 = 0.0;
        $ptr = 1;
    case 1:
        $tmp = var$10.$onBlockActivated($par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, var$10, $ptr);
};
$java.nms_BlockStairs_onBlockDestroyedByExplosion = function($this, $par1World, $par2, $par3, $par4, $par5Explosion) {
    $this.$modelBlock.$onBlockDestroyedByExplosion($par1World, $par2, $par3, $par4, $par5Explosion);
};
$java.nms_BlockStairs_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, $var8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
        $var8 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) & 4;
        if (!$var7) {
            var$9 = 2 | $var8;
            var$10 = 2;
            $ptr = 1;
            continue main;
        }
        if ($var7 == 1) {
            var$9 = 1 | $var8;
            var$10 = 2;
            $ptr = 2;
            continue main;
        }
        if ($var7 == 2) {
            var$9 = 3 | $var8;
            var$10 = 2;
            $ptr = 3;
            continue main;
        }
        if ($var7 != 3)
            return;
        $var7 = 0 | $var8;
        $var8 = 2;
        $ptr = 4;
        continue main;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7 == 1) {
            var$9 = 1 | $var8;
            var$10 = 2;
            $ptr = 2;
            continue main;
        }
        if ($var7 == 2) {
            var$9 = 3 | $var8;
            var$10 = 2;
            $ptr = 3;
            continue main;
        }
        if ($var7 != 3)
            return;
        $var7 = 0 | $var8;
        $var8 = 2;
        $ptr = 4;
        continue main;
    case 2:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7 == 2) {
            var$9 = 3 | $var8;
            var$10 = 2;
            $ptr = 3;
            continue main;
        }
        if ($var7 != 3)
            return;
        $var7 = 0 | $var8;
        $var8 = 2;
        $ptr = 4;
        continue main;
    case 3:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7 != 3)
            return;
        $var7 = 0 | $var8;
        $var8 = 2;
        $ptr = 4;
    case 4:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, $var8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, $var8, var$9, var$10, $ptr);
};
$java.nms_BlockStairs_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    if (!($par5 && !($par5 != 1 && $par7 > 0.5)))
        $par9 = $par9 | 4;
    return $par9;
};
$java.nms_BlockStairs_collisionRayTrace = function($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3) {
    var $var7, $var8, $var9, $var10, $var11, $var12, $var23, $var14, $var22, $var24, $var16, $var17, $var18, $var19, var$21, $var15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var15 = $thread.pop();var$21 = $thread.pop();$var19 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var24 = $thread.pop();$var22 = $thread.pop();$var14 = $thread.pop();$var23 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$par6Vec3 = $thread.pop();$par5Vec3 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World
        = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = $rt_createArray(nms_MovingObjectPosition, 8);
        $var8 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var9 = $var8 & 3;
        $var10 = ($var8 & 4) != 4 ? 0 : 1;
        $var11 = $java.nms_BlockStairs_field_72159_a;
        $var10 = !$var10 ? 0 : 4;
        $var7 = $var7.data;
        $var11 = $var11.data[$var9 + $var10 | 0];
        $this.$field_72156_cr = 1;
        $var12 = 0;
        if ($var12 >= 8) {
            $var11 = $var11.data;
            $var23 = $var11.length;
            $var14 = 0;
            while ($var14 < $var23) {
                $var7[$var11[$var14]] = null;
                $var14 = $var14 + 1 | 0;
            }
            $var22 = null;
            $var24 = 0.0;
            $var16 = $var7.length;
            $var17 = 0;
            while ($var17 < $var16) {
                $var18 = $var7[$var17];
                if ($var18 !== null) {
                    $var19 = nms_Vec3_squareDistanceTo($var18.$hitVec, $par6Vec3);
                    if ($var19 > $var24) {
                        $var22 = $var18;
                        $var24 = $var19;
                    }
                }
                $var17 = $var17 + 1 | 0;
            }
            return $var22;
        }
        var$21 = $var11.data;
        $this.$field_72160_cs = $var12;
        $var14 = var$21.length;
        $var15 = 0;
        while ($var15 < $var14) {
            $var15 = $var15 + 1 | 0;
        }
        $ptr = 1;
    case 1:
        $tmp = nms_Block_collisionRayTrace($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3);
        if ($rt_suspending()) {
            break main;
        }
        $var22 = $tmp;
        $var7[$var12] = $var22;
        $var12 = $var12 + 1 | 0;
        if ($var12 >= 8) {
            $var11 = $var11.data;
            $var23 = $var11.length;
            $var14 = 0;
            while ($var14 < $var23) {
                $var7[$var11[$var14]] = null;
                $var14 = $var14 + 1 | 0;
            }
            $var22 = null;
            $var24 = 0.0;
            $var16 = $var7.length;
            $var17 = 0;
            while ($var17 < $var16) {
                $var18 = $var7[$var17];
                if ($var18 !== null) {
                    $var19 = nms_Vec3_squareDistanceTo($var18.$hitVec, $par6Vec3);
                    if ($var19 > $var24) {
                        $var22 = $var18;
                        $var24 = $var19;
                    }
                }
                $var17 = $var17 + 1 | 0;
            }
            return $var22;
        }
        var$21 = $var11.data;
        $this.$field_72160_cs = $var12;
        $var14 = var$21.length;
        $var15 = 0;
        while ($var15 < $var14) {
            $var15 = $var15 + 1 | 0;
        }
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3, $var7, $var8, $var9, $var10, $var11, $var12, $var23, $var14, $var22, $var24, $var16, $var17, $var18, $var19, var$21, $var15, $ptr);
};
$java.nms_BlockStairs_registerIcons = function($this, $par1IconRegister) {
    return;
};
function nms_BlockStairs__clinit_() {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createArray($rt_arraycls($rt_intcls()), 8);
    var$2 = var$1.data;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 2;
    var$4[1] = 6;
    var$2[0] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 3;
    var$4[1] = 7;
    var$2[1] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 2;
    var$4[1] = 3;
    var$2[2] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 6;
    var$4[1] = 7;
    var$2[3] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 0;
    var$4[1] = 4;
    var$2[4] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 1;
    var$4[1] = 5;
    var$2[5] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 0;
    var$4[1] = 1;
    var$2[6] = var$3;
    var$3 = $rt_createIntArray(2);
    var$4 = var$3.data;
    var$4[0] = 4;
    var$4[1] = 5;
    var$2[7] = var$3;
    $java.nms_BlockStairs_field_72159_a = var$1;
}
function nms_BlockChest() {
    var a = this; nms_BlockContainer.call(a);
    a.$random3 = null;
    a.$isTrapped = 0;
}
function nms_BlockChest__init_(var_0, var_1) {
    var var_2 = new nms_BlockChest();
    $java.nms_BlockChest__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockChest__init_ = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_wood);
    $this.$random3 = nle_EaglercraftRandom__init_0();
    $this.$isTrapped = $par2;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
    nms_Block_setBlockBounds($this, 0.0625, 0.0, 0.0625, 0.9375, 0.875, 0.9375);
};
$java.nms_BlockChest_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockChest_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockChest_getRenderType = function($this) {
    return 22;
};
$java.nms_BlockChest_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    if ($par1IBlockAccess.$getBlockId($par2, $par3, $par4 - 1 | 0) == $this.$blockID)
        nms_Block_setBlockBounds($this, 0.0625, 0.0, 0.0, 0.9375, 0.875, 0.9375);
    else if ($par1IBlockAccess.$getBlockId($par2, $par3, $par4 + 1 | 0) == $this.$blockID)
        nms_Block_setBlockBounds($this, 0.0625, 0.0, 0.0625, 0.9375, 0.875, 1.0);
    else if ($par1IBlockAccess.$getBlockId($par2 - 1 | 0, $par3, $par4) == $this.$blockID)
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0625, 0.9375, 0.875, 0.9375);
    else if ($par1IBlockAccess.$getBlockId($par2 + 1 | 0, $par3, $par4) != $this.$blockID)
        nms_Block_setBlockBounds($this, 0.0625, 0.0, 0.0625, 0.9375, 0.875, 0.9375);
    else
        nms_Block_setBlockBounds($this, 0.0625, 0.0, 0.0625, 1.0, 0.875, 0.9375);
};
$java.nms_BlockChest_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var var$7, $var7, var$9, $var8, var$11, $var9, var$13, $var10, $var11, $var12, var$17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$17 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();var$13 = $thread.pop();$var9 = $thread.pop();var$11 = $thread.pop();$var8 = $thread.pop();var$9 = $thread.pop();$var7 = $thread.pop();var$7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$7 = $par4 - 1 | 0;
        $var7 = nms_World_getBlockId($par1World, $par2, $par3, var$7);
        var$9 = $par4 + 1 | 0;
        $var8 = nms_World_getBlockId($par1World, $par2, $par3, var$9);
        var$11 = $par2 - 1 | 0;
        $var9 = nms_World_getBlockId($par1World, var$11, $par3, $par4);
        var$13 = $par2 + 1 | 0;
        $var10 = nms_World_getBlockId($par1World, var$13, $par3, $par4);
        $var11 = 0;
        $var12 = nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
        if (!$var12)
            $var11 = 2;
        if ($var12 == 1)
            $var11 = 5;
        if ($var12 == 2)
            $var11 = 3;
        if ($var12 == 3)
            $var11 = 4;
        if ($var7 != $this.$blockID && $var8 != $this.$blockID && $var9 != $this.$blockID && $var10 != $this.$blockID) {
            var$17 = 3;
            $ptr = 3;
            continue main;
        }
        a: {
            if (!($var7 != $this.$blockID && $var8 != $this.$blockID)) {
                if ($var11 == 4)
                    break a;
                if ($var11 == 5)
                    break a;
            }
            b: {
                if (!($var9 != $this.$blockID && $var10 != $this.$blockID)) {
                    if ($var11 == 2)
                        break b;
                    if ($var11 == 3)
                        break b;
                }
                if (!nms_ItemStack_hasDisplayName($par6ItemStack))
                    return;
                $ptr = 7;
                continue main;
            }
            if ($var9 != $this.$blockID) {
                var$17 = 3;
                $ptr = 5;
                continue main;
            }
            var$17 = 3;
            $ptr = 6;
            continue main;
        }
        if ($var7 != $this.$blockID) {
            var$17 = 3;
            $ptr = 1;
            continue main;
        }
        var$17 = 3;
        $ptr = 2;
        continue main;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, var$9, $var11, var$17);
        if ($rt_suspending()) {
            break main;
        }
        var$17 = 3;
        $ptr = 4;
        continue main;
    case 2:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, var$7, $var11, var$17);
        if ($rt_suspending()) {
            break main;
        }
        var$17 = 3;
        $ptr = 4;
        continue main;
    case 3:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var11, var$17);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 7;
        continue main;
    case 4:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var11, var$17);
        if ($rt_suspending()) {
            break main;
        }
        c: {
            if (!($var9 != $this.$blockID && $var10 != $this.$blockID)) {
                if ($var11 == 2)
                    break c;
                if ($var11 == 3)
                    break c;
            }
            if (!nms_ItemStack_hasDisplayName($par6ItemStack))
                return;
            $ptr = 7;
            continue main;
        }
        if ($var9 != $this.$blockID) {
            var$17 = 3;
            $ptr = 5;
            continue main;
        }
        var$17 = 3;
        $ptr = 6;
        continue main;
    case 5:
        nms_World_setBlockMetadataWithNotify($par1World, var$13, $par3, $par4, $var11, var$17);
        if ($rt_suspending()) {
            break main;
        }
        var$17 = 3;
        $ptr = 8;
        continue main;
    case 6:
        nms_World_setBlockMetadataWithNotify($par1World, var$11, $par3, $par4, $var11, var$17);
        if ($rt_suspending()) {
            break main;
        }
        var$17 = 3;
        $ptr = 8;
        continue main;
    case 7:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $par1World.$field_94045_s = nms_ItemStack_getDisplayName($par6ItemStack);
        return;
    case 8:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var11, var$17);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 7;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, var$7, $var7, var$9, $var8, var$11, $var9, var$13, $var10, $var11, $var12, var$17, $ptr);
};
$java.nms_BlockChest_unifyAdjacentChests = function($this, $par1World, $par2, $par3, $par4) {
    return;
};
$java.nms_BlockChest_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    var $var5, var$6, var$7, var$8, var$9;
    $var5 = 0;
    var$6 = $par2 - 1 | 0;
    if (nms_World_getBlockId($par1World, var$6, $par3, $par4) == $this.$blockID)
        $var5 = 1;
    var$7 = $par2 + 1 | 0;
    if (nms_World_getBlockId($par1World, var$7, $par3, $par4) == $this.$blockID)
        $var5 = $var5 + 1 | 0;
    var$8 = $par4 - 1 | 0;
    if (nms_World_getBlockId($par1World, $par2, $par3, var$8) == $this.$blockID)
        $var5 = $var5 + 1 | 0;
    var$9 = $par4 + 1 | 0;
    if (nms_World_getBlockId($par1World, $par2, $par3, var$9) == $this.$blockID)
        $var5 = $var5 + 1 | 0;
    return $var5 > 1 ? 0 : $java.nms_BlockChest_isThereANeighborChest($this, $par1World, var$6, $par3, $par4) ? 0 : $java.nms_BlockChest_isThereANeighborChest($this, $par1World, var$7, $par3, $par4) ? 0 : $java.nms_BlockChest_isThereANeighborChest($this, $par1World, $par2, $par3, var$8) ? 0 : $java.nms_BlockChest_isThereANeighborChest($this, $par1World, $par2, $par3, var$9) ? 0 : 1;
};
$java.nms_BlockChest_isThereANeighborChest = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_getBlockId($par1World, $par2, $par3, $par4) != $this.$blockID ? 0 : nms_World_getBlockId($par1World, $par2 - 1 | 0, $par3, $par4) == $this.$blockID ? 1 : nms_World_getBlockId($par1World, $par2 + 1 | 0, $par3, $par4) == $this.$blockID ? 1 : nms_World_getBlockId($par1World, $par2, $par3, $par4 - 1 | 0) == $this.$blockID ? 1 : nms_World_getBlockId($par1World, $par2, $par3, $par4 + 1 | 0) != $this.$blockID ? 0 : 1;
};
$java.nms_BlockChest_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $var6 = $par1World;
        if ($var6 !== null)
            $java.nms_TileEntityChest_updateContainingBlockInfo($var6);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $ptr);
};
$java.nms_BlockChest_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockChest_getInventory = function($this, $par1World, $par2, $par3, $par4) {
    var var$5, $var5, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $tmp;
        $var5 = var$5;
        if ($var5 === null)
            return null;
        var$7 = $par3 + 1 | 0;
        if (nms_World_isBlockNormalCube($par1World, $par2, var$7, $par4))
            return null;
        if ($java.nms_BlockChest_isOcelotBlockingChest($par1World, $par2, $par3, $par4))
            return null;
        var$8 = $par2 - 1 | 0;
        if (nms_World_getBlockId($par1World, var$8, $par3, $par4) == $this.$blockID && !(!nms_World_isBlockNormalCube($par1World, var$8, var$7, $par4) && !$java.nms_BlockChest_isOcelotBlockingChest($par1World, var$8, $par3, $par4)))
            return null;
        var$9 = $par2 + 1 | 0;
        if (nms_World_getBlockId($par1World, var$9, $par3, $par4) == $this.$blockID && !(!nms_World_isBlockNormalCube($par1World, var$9, var$7, $par4) && !$java.nms_BlockChest_isOcelotBlockingChest($par1World, var$9, $par3, $par4)))
            return null;
        var$10 = $par4 - 1 | 0;
        if (nms_World_getBlockId($par1World, $par2, $par3, var$10) == $this.$blockID && !(!nms_World_isBlockNormalCube($par1World, $par2, var$7, var$10) && !$java.nms_BlockChest_isOcelotBlockingChest($par1World, $par2, $par3, var$10)))
            return null;
        var$11 = $par4 + 1 | 0;
        if (nms_World_getBlockId($par1World, $par2, $par3, var$11) == $this.$blockID && !(!nms_World_isBlockNormalCube($par1World, $par2, var$7, var$11) && !$java.nms_BlockChest_isOcelotBlockingChest($par1World, $par2, $par3, var$11)))
            return null;
        if (nms_World_getBlockId($par1World, var$8, $par3, $par4) == $this.$blockID) {
            var$5 = new nms_InventoryLargeChest;
            var$12 = $rt_s(2393);
            $ptr = 2;
            continue main;
        }
        var$5 = $var5;
        if (nms_World_getBlockId($par1World, var$9, $par3, $par4) == $this.$blockID) {
            var$12 = new nms_InventoryLargeChest;
            var$13 = $rt_s(2393);
            var$5 = var$5;
            $ptr = 3;
            continue main;
        }
        var$12 = var$5;
        if (nms_World_getBlockId($par1World, $par2, $par3, var$10) == $this.$blockID) {
            var$5 = new nms_InventoryLargeChest;
            var$13 = $rt_s(2393);
            $ptr = 4;
            continue main;
        }
        var$5 = var$12;
        if (nms_World_getBlockId($par1World, $par2, $par3, var$11) != $this.$blockID) {
            var$12 = var$5;
            return var$12;
        }
        var$12 = new nms_InventoryLargeChest;
        var$13 = $rt_s(2393);
        var$5 = var$5;
        $ptr = 5;
        continue main;
    case 2:
        $tmp = nms_World_getBlockTileEntity($par1World, var$8, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        var$13 = $tmp;
        $java.nms_InventoryLargeChest__init_(var$5, var$12, var$13, $var5);
        if (nms_World_getBlockId($par1World, var$9, $par3, $par4) == $this.$blockID) {
            var$12 = new nms_InventoryLargeChest;
            var$13 = $rt_s(2393);
            var$5 = var$5;
            $ptr = 3;
            continue main;
        }
        var$12 = var$5;
        if (nms_World_getBlockId($par1World, $par2, $par3, var$10) == $this.$blockID) {
            var$5 = new nms_InventoryLargeChest;
            var$13 = $rt_s(2393);
            $ptr = 4;
            continue main;
        }
        var$5 = var$12;
        if (nms_World_getBlockId($par1World, $par2, $par3, var$11) != $this.$blockID) {
            var$12 = var$5;
            return var$12;
        }
        var$12 = new nms_InventoryLargeChest;
        var$13 = $rt_s(2393);
        var$5 = var$5;
        $ptr = 5;
        continue main;
    case 3:
        $tmp = nms_World_getBlockTileEntity($par1World, var$9, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        $java.nms_InventoryLargeChest__init_(var$12, var$13, var$5, $var5);
        if (nms_World_getBlockId($par1World, $par2, $par3, var$10) == $this.$blockID) {
            var$5 = new nms_InventoryLargeChest;
            var$13 = $rt_s(2393);
            $ptr = 4;
            continue main;
        }
        var$5 = var$12;
        if (nms_World_getBlockId($par1World, $par2, $par3, var$11) != $this.$blockID) {
            var$12 = var$5;
            return var$12;
        }
        var$12 = new nms_InventoryLargeChest;
        var$13 = $rt_s(2393);
        var$5 = var$5;
        $ptr = 5;
        continue main;
    case 4:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, var$10);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        $java.nms_InventoryLargeChest__init_(var$5, var$13, $var5, var$12);
        if (nms_World_getBlockId($par1World, $par2, $par3, var$11) != $this.$blockID) {
            var$12 = var$5;
            return var$12;
        }
        var$12 = new nms_InventoryLargeChest;
        var$13 = $rt_s(2393);
        var$5 = var$5;
        $ptr = 5;
    case 5:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $java.nms_InventoryLargeChest__init_(var$12, var$13, var$5, $par1World);
        return var$12;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, var$5, $var5, var$7, var$8, var$9, var$10, var$11, var$12, var$13, $ptr);
};
$java.nms_BlockChest_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityChest__init_();
};
$java.nms_BlockChest_canProvidePower = function($this) {
    return $this.$isTrapped != 1 ? 0 : 1;
};
$java.nms_BlockChest_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$java.nms_BlockChest_canProvidePower($this))
            return 0;
        $ptr = 1;
    case 1:
        $tmp = $par1IBlockAccess.$getBlockTileEntity($par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1IBlockAccess = $tmp;
        return nms_MathHelper_clamp_int($par1IBlockAccess.$numUsingPlayers, 0, 15);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockChest_isProvidingStrongPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par5 != 1)
            return 0;
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockChest_isProvidingWeakPower($this, $par1IBlockAccess, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockChest_isOcelotBlockingChest = function($par0World, $par1, $par2, $par3) {
    var $var4;
    $var4 = ju_AbstractList_iterator(nms_World_getEntitiesWithinAABB($par0World, $rt_cls(nms_EntityOcelot), nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $par1, $par2 + 1 | 0, $par3, $par1 + 1 | 0, $par2 + 2 | 0, $par3 + 1 | 0)));
    while (ju_AbstractList$1_hasNext($var4)) {
        if (!nms_EntityTameable_isSitting(ju_AbstractList$1_next($var4)))
            continue;
        else
            return 1;
    }
    return 0;
};
$java.nms_BlockChest_hasComparatorInputOverride = function($this) {
    return 1;
};
$java.nms_BlockChest_getComparatorInputOverride = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockChest_getInventory($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return nms_Container_calcRedstoneFromInventory($par1World);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockChest_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(1923));
};
function nms_BlockRedstoneWire() {
    var a = this; nms_Block.call(a);
    a.$wiresProvidePower = 0;
    a.$blocksNeedingUpdate = null;
    a.$field_94413_c = null;
    a.$field_94410_cO = null;
    a.$field_94411_cP = null;
    a.$field_94412_cQ = null;
}
function nms_BlockRedstoneWire__init_(var_0) {
    var var_1 = new nms_BlockRedstoneWire();
    $java.nms_BlockRedstoneWire__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockRedstoneWire__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_circuits);
    $this.$wiresProvidePower = 1;
    $this.$blocksNeedingUpdate = ju_HashSet__init_0();
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.0625, 1.0);
};
$java.nms_BlockRedstoneWire_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockRedstoneWire_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockRedstoneWire_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockRedstoneWire_getRenderType = function($this) {
    return 5;
};
$java.nms_BlockRedstoneWire_colorMultiplier = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return 8388608;
};
$java.nms_BlockRedstoneWire_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    a: {
        $par3 = $par3 - 1 | 0;
        if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3, $par4)) {
            $par2 = nms_World_getBlockId($par1World, $par2, $par3, $par4);
            nms_Block_$callClinit();
            if ($par2 != nms_Block_glowStone.$blockID) {
                $par2 = 0;
                break a;
            }
        }
        $par2 = 1;
    }
    return $par2;
};
$java.nms_BlockRedstoneWire_isProvidingStrongPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $this.$wiresProvidePower ? $java.nms_BlockRedstoneWire_isProvidingWeakPower($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) : 0;
};
$java.nms_BlockRedstoneWire_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6, var$7, $var7, var$9, $var8, var$11, $var9, var$13, $var10, var$15;
    if (!$this.$wiresProvidePower)
        return 0;
    $var6 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    if (!$var6)
        return 0;
    if ($par5 == 1)
        return $var6;
    a: {
        b: {
            var$7 = $par2 - 1 | 0;
            if (!$java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, var$7, $par3, $par4, 1)) {
                if ($par1IBlockAccess.$isBlockNormalCube(var$7, $par3, $par4))
                    break b;
                if (!$java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, var$7, $par3 - 1 | 0, $par4, (-1)))
                    break b;
            }
            $var7 = 1;
            break a;
        }
        $var7 = 0;
    }
    c: {
        d: {
            var$9 = $par2 + 1 | 0;
            if (!$java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, var$9, $par3, $par4, 3)) {
                if ($par1IBlockAccess.$isBlockNormalCube(var$9, $par3, $par4))
                    break d;
                if (!$java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, var$9, $par3 - 1 | 0, $par4, (-1)))
                    break d;
            }
            $var8 = 1;
            break c;
        }
        $var8 = 0;
    }
    e: {
        f: {
            var$11 = $par4 - 1 | 0;
            if (!$java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, $par2, $par3, var$11, 2)) {
                if ($par1IBlockAccess.$isBlockNormalCube($par2, $par3, var$11))
                    break f;
                if (!$java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, $par2, $par3 - 1 | 0, var$11, (-1)))
                    break f;
            }
            $var9 = 1;
            break e;
        }
        $var9 = 0;
    }
    g: {
        h: {
            var$13 = $par4 + 1 | 0;
            if (!$java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, $par2, $par3, var$13, 0)) {
                if ($par1IBlockAccess.$isBlockNormalCube($par2, $par3, var$13))
                    break h;
                if (!$java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, $par2, $par3 - 1 | 0, var$13, (-1)))
                    break h;
            }
            $var10 = 1;
            break g;
        }
        $var10 = 0;
    }
    var$15 = $par3 + 1 | 0;
    if (!$par1IBlockAccess.$isBlockNormalCube($par2, var$15, $par4)) {
        if ($par1IBlockAccess.$isBlockNormalCube(var$7, $par3, $par4) && $java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, var$7, var$15, $par4, (-1)))
            $var7 = 1;
        if ($par1IBlockAccess.$isBlockNormalCube(var$9, $par3, $par4) && $java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, var$9, var$15, $par4, (-1)))
            $var8 = 1;
        if ($par1IBlockAccess.$isBlockNormalCube($par2, $par3, var$11) && $java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, $par2, var$15, var$11, (-1)))
            $var9 = 1;
        if ($par1IBlockAccess.$isBlockNormalCube($par2, $par3, var$13) && $java.nms_BlockRedstoneWire_isPoweredOrRepeater($par1IBlockAccess, $par2, var$15, var$13, (-1)))
            $var10 = 1;
    }
    if (!(!$var9 && !$var8 && !$var7 && !$var10 && $par5 >= 2 && $par5 <= 5) && !($par5 == 2 && $var9 && !$var7 && !$var8) && !($par5 == 3 && $var10 && !$var7 && !$var8) && !($par5 == 4 && $var7 && !$var9 && !$var10) && !($par5 == 5 && $var8 && !$var9 && !$var10))
        $var6 = 0;
    return $var6;
};
$java.nms_BlockRedstoneWire_canProvidePower = function($this) {
    return $this.$wiresProvidePower;
};
$java.nms_BlockRedstoneWire_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var $var6, $var7, $var9, $var11, $var13, $var14, $var16, $var15, var$14, var$15, var$16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var15 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        if ($var6 <= 0)
            return;
        $var7 = $par2 + 0.5 + (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.2;
        $var9 = $par3 + 0.0625;
        $var11 = $par4 + 0.5 + (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.2;
        $var13 = $var6 / 15.0;
        $var14 = $var13 * 0.6000000238418579 + 0.4000000059604645;
        if (!$var6)
            $var14 = 0.0;
        $var16 = $var13 * $var13;
        $var15 = $var16 * 0.699999988079071 - 0.5;
        $var16 = $var16 * 0.6000000238418579 - 0.699999988079071;
        if ($var15 < 0.0)
            $var15 = 0.0;
        if ($var16 < 0.0)
            $var16 = 0.0;
        $par5Random = $rt_s(1175);
        var$14 = $var14;
        var$15 = $var15;
        var$16 = $var16;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1World, $par5Random, $var7, $var9, $var11, var$14, var$15, var$16);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, $var6, $var7, $var9, $var11, $var13, $var14, $var16, $var15, var$14, var$15, var$16, $ptr);
};
function nms_BlockRedstoneWire_isPowerProviderOrWire($par0IBlockAccess, $par1, $par2, $par3, $par4) {
    var $var5;
    $var5 = $par0IBlockAccess.$getBlockId($par1, $par2, $par3);
    nms_Block_$callClinit();
    if ($var5 == nms_Block_redstoneWire.$blockID)
        return 1;
    if (!$var5)
        return 0;
    if (!nms_BlockRedstoneLogic_func_94487_f(nms_Block_redstoneRepeaterIdle, $var5))
        return nms_Block_blocksList.data[$var5].$canProvidePower() && $par4 != (-1) ? 1 : 0;
    $par1 = $par0IBlockAccess.$getBlockMetadata($par1, $par2, $par3) & 3;
    return $par4 != $par1 && $par4 != nms_Direction_rotateOpposite.data[$par1] ? 0 : 1;
}
$java.nms_BlockRedstoneWire_isPoweredOrRepeater = function($par0IBlockAccess, $par1, $par2, $par3, $par4) {
    var $var5;
    if (nms_BlockRedstoneWire_isPowerProviderOrWire($par0IBlockAccess, $par1, $par2, $par3, $par4))
        return 1;
    $var5 = $par0IBlockAccess.$getBlockId($par1, $par2, $par3);
    nms_Block_$callClinit();
    if ($var5 != nms_Block_redstoneRepeaterActive.$blockID)
        return 0;
    return $par4 != ($par0IBlockAccess.$getBlockMetadata($par1, $par2, $par3) & 3) ? 0 : 1;
};
$java.nms_BlockRedstoneWire_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_redstone.$itemID;
};
$java.nms_BlockRedstoneWire_registerIcons = function($this, $par1IconRegister) {
    $this.$field_94413_c = $par1IconRegister.$registerIcon($rt_s(960));
    $this.$field_94410_cO = $par1IconRegister.$registerIcon($rt_s(961));
    $this.$field_94411_cP = $par1IconRegister.$registerIcon($rt_s(962));
    $this.$field_94412_cQ = $par1IconRegister.$registerIcon($rt_s(963));
    $this.$blockIcon = $this.$field_94413_c;
};
function nms_BlockRedstoneWire_func_94409_b($par0Str) {
    if ($par0Str === $rt_s(960)) {
        nms_Block_$callClinit();
        $par0Str = nms_Block_redstoneWire.$field_94413_c;
    } else if ($par0Str === $rt_s(961)) {
        nms_Block_$callClinit();
        $par0Str = nms_Block_redstoneWire.$field_94410_cO;
    } else if ($par0Str === $rt_s(962)) {
        nms_Block_$callClinit();
        $par0Str = nms_Block_redstoneWire.$field_94411_cP;
    } else if ($par0Str !== $rt_s(963))
        $par0Str = null;
    else {
        nms_Block_$callClinit();
        $par0Str = nms_Block_redstoneWire.$field_94412_cQ;
    }
    return $par0Str;
}
function nms_BlockWorkbench() {
    var a = this; nms_Block.call(a);
    a.$workbenchIconTop = null;
    a.$workbenchIconFront = null;
}
function nms_BlockWorkbench__init_(var_0) {
    var var_1 = new nms_BlockWorkbench();
    $java.nms_BlockWorkbench__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockWorkbench__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_wood);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockWorkbench_getIcon = function($this, $par1, $par2) {
    var var$3;
    if ($par1 == 1)
        var$3 = $this.$workbenchIconTop;
    else if (!$par1) {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_planks, $par1);
    } else
        var$3 = $par1 != 2 && $par1 != 4 ? $this.$blockIcon : $this.$workbenchIconFront;
    return var$3;
};
$java.nms_BlockWorkbench_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2394));
    $this.$workbenchIconTop = $par1IconRegister.$registerIcon($rt_s(2395));
    $this.$workbenchIconFront = $par1IconRegister.$registerIcon($rt_s(2396));
};
$java.nms_BlockWorkbench_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
function nms_BlockCrops() {
    nms_BlockFlower.call(this);
    this.$iconArray7 = null;
}
function nms_BlockCrops__init_(var_0) {
    var var_1 = new nms_BlockCrops();
    $java.nms_BlockCrops__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockCrops__init_ = function($this, $par1) {
    $java.nms_BlockFlower__init_1($this, $par1);
    $this.$needsRandomTick = 1;
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.25, 1.0);
    $this.$displayOnCreativeTab = null;
    nms_Block_setHardness($this, 0.0);
    $this.$stepSound = nms_Block_soundGrassFootstep;
    nms_Block_disableStats($this);
};
$java.nms_BlockCrops_canThisPlantGrowOnThisBlockID = function($this, $par1) {
    nms_Block_$callClinit();
    return $par1 != nms_Block_tilledField.$blockID ? 0 : 1;
};
$java.nms_BlockCrops_getIcon = function($this, $par1, $par2) {
    if (!($par2 >= 0 && $par2 <= 7))
        $par2 = 7;
    return $this.$iconArray7.data[$par2];
};
$java.nms_BlockCrops_getRenderType = function($this) {
    return 6;
};
$java.nms_BlockCrops_getSeedItem = function($this) {
    nms_Item_$callClinit();
    return nms_Item_seeds.$itemID;
};
$java.nms_BlockCrops_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    return $this.$getSeedItem();
};
$java.nms_BlockCrops_registerIcons = function($this, $par1IconRegister) {
    var $var2, var$3, var$4;
    $this.$iconArray7 = $rt_createArray(nms_Icon, 8);
    $var2 = 0;
    while ($var2 < $this.$iconArray7.data.length) {
        var$3 = $this.$iconArray7.data;
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $rt_s(2397));
        jl_AbstractStringBuilder_append2(var$4, $var2);
        var$3[$var2] = $par1IconRegister.$registerIcon(jl_AbstractStringBuilder_toString(var$4));
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockFarmland() {
    var a = this; nms_Block.call(a);
    a.$field_94441_a = null;
    a.$field_94440_b = null;
}
function nms_BlockFarmland__init_(var_0) {
    var var_1 = new nms_BlockFarmland();
    $java.nms_BlockFarmland__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockFarmland__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_ground);
    $this.$needsRandomTick = 1;
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.9375, 1.0);
    nms_Block_setLightOpacity($this, 255);
};
$java.nms_BlockFarmland_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $par2 + 0 | 0, $par3 + 0 | 0, $par4 + 0 | 0, $par2 + 1 | 0, $par3 + 1 | 0, $par4 + 1 | 0);
};
$java.nms_BlockFarmland_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockFarmland_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockFarmland_getIcon = function($this, $par1, $par2) {
    var var$3;
    if ($par1 != 1) {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_dirt, $par1);
    } else
        var$3 = $par2 <= 0 ? $this.$field_94440_b : $this.$field_94441_a;
    return var$3;
};
$java.nms_BlockFarmland_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_World_getBlockMaterial($par1World, $par2, $par3 + 1 | 0, $par4).$isSolid())
            return;
        nms_Block_$callClinit();
        $par5 = nms_Block_dirt.$blockID;
        $ptr = 1;
    case 1:
        nms_World_setBlock0($par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockFarmland_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Block_$callClinit();
    return nms_Block_dirt.$blockID;
};
$java.nms_BlockFarmland_registerIcons = function($this, $par1IconRegister) {
    $this.$field_94441_a = $par1IconRegister.$registerIcon($rt_s(2398));
    $this.$field_94440_b = $par1IconRegister.$registerIcon($rt_s(2399));
};
function nms_BlockFurnace() {
    var a = this; nms_BlockContainer.call(a);
    a.$furnaceRand = null;
    a.$isActive = 0;
    a.$furnaceIconTop = null;
    a.$furnaceIconFront = null;
}
$java.nms_BlockFurnace_keepFurnaceInventory = 0;
function nms_BlockFurnace__init_(var_0, var_1) {
    var var_2 = new nms_BlockFurnace();
    $java.nms_BlockFurnace__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockFurnace__init_ = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_rock);
    $this.$furnaceRand = nle_EaglercraftRandom__init_0();
    $this.$isActive = $par2;
};
$java.nms_BlockFurnace_getIcon = function($this, $par1, $par2) {
    return $par1 == 1 ? $this.$furnaceIconTop : !$par1 ? $this.$furnaceIconTop : $par1 == $par2 ? $this.$furnaceIconFront : $this.$blockIcon;
};
$java.nms_BlockFurnace_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2349));
    $this.$furnaceIconFront = $par1IconRegister.$registerIcon(!$this.$isActive ? $rt_s(2400) : $rt_s(2401));
    $this.$furnaceIconTop = $par1IconRegister.$registerIcon($rt_s(2350));
};
$java.nms_BlockFurnace_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var $var6, $var7, $var8, $var9, $var11, var$11, var$12, var$13, var$14, var$15, var$16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$isActive) {
            $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
            $var7 = $par2 + 0.5;
            $var8 = $par3 + 0.0 + nle_EaglercraftRandom_nextFloat($par5Random) * 6.0 / 16.0;
            $var9 = $par4 + 0.5;
            $var11 = nle_EaglercraftRandom_nextFloat($par5Random) * 0.6000000238418579 - 0.30000001192092896;
            if ($var6 == 4) {
                $par5Random = $rt_s(1166);
                var$11 = $var7 - 0.5199999809265137;
                var$12 = $var8;
                var$13 = $var9 + $var11;
                var$14 = 0.0;
                var$15 = 0.0;
                var$16 = 0.0;
                $ptr = 1;
                continue main;
            }
            if ($var6 == 5) {
                $par5Random = $rt_s(1166);
                var$11 = $var7 + 0.5199999809265137;
                var$12 = $var8;
                var$13 = $var9 + $var11;
                var$14 = 0.0;
                var$15 = 0.0;
                var$16 = 0.0;
                $ptr = 3;
                continue main;
            }
            if ($var6 == 2) {
                $par5Random = $rt_s(1166);
                var$11 = $var7 + $var11;
                var$12 = $var8;
                var$13 = $var9 - 0.5199999809265137;
                var$14 = 0.0;
                var$15 = 0.0;
                var$16 = 0.0;
                $ptr = 5;
                continue main;
            }
            if ($var6 == 3) {
                $par5Random = $rt_s(1166);
                var$14 = $var7 + $var11;
                var$15 = $var8;
                var$16 = $var9 + 0.5199999809265137;
                var$11 = 0.0;
                var$12 = 0.0;
                var$13 = 0.0;
                $ptr = 7;
                continue main;
            }
        }
        return;
    case 1:
        nms_World_spawnParticle($par1World, $par5Random, var$11, var$12, var$13, var$14, var$15, var$16);
        if ($rt_suspending()) {
            break main;
        }
        $par5Random = $rt_s(1172);
        var$14 = 0.0;
        var$15 = 0.0;
        var$16 = 0.0;
        $ptr = 2;
    case 2:
        nms_World_spawnParticle($par1World, $par5Random, var$11, var$12, var$13, var$14, var$15, var$16);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_World_spawnParticle($par1World, $par5Random, var$11, var$12, var$13, var$14, var$15, var$16);
        if ($rt_suspending()) {
            break main;
        }
        $par5Random = $rt_s(1172);
        var$14 = 0.0;
        var$15 = 0.0;
        var$16 = 0.0;
        $ptr = 4;
    case 4:
        nms_World_spawnParticle($par1World, $par5Random, var$11, var$12, var$13, var$14, var$15, var$16);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 5:
        nms_World_spawnParticle($par1World, $par5Random, var$11, var$12, var$13, var$14, var$15, var$16);
        if ($rt_suspending()) {
            break main;
        }
        $par5Random = $rt_s(1172);
        var$14 = 0.0;
        var$15 = 0.0;
        var$16 = 0.0;
        $ptr = 6;
    case 6:
        nms_World_spawnParticle($par1World, $par5Random, var$11, var$12, var$13, var$14, var$15, var$16);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 7:
        nms_World_spawnParticle($par1World, $par5Random, var$14, var$15, var$16, var$11, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        $par5Random = $rt_s(1172);
        var$11 = 0.0;
        var$12 = 0.0;
        var$13 = 0.0;
        $ptr = 8;
    case 8:
        nms_World_spawnParticle($par1World, $par5Random, var$14, var$15, var$16, var$11, var$12, var$13);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, $var6, $var7, $var8, $var9, $var11, var$11, var$12, var$13, var$14, var$15, var$16, $ptr);
};
$java.nms_BlockFurnace_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockFurnace_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityFurnace__init_();
};
$java.nms_BlockFurnace_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
        if (!$var7) {
            var$8 = 2;
            var$9 = 2;
            $ptr = 1;
            continue main;
        }
        if ($var7 == 1) {
            var$8 = 5;
            var$9 = 2;
            $ptr = 2;
            continue main;
        }
        if ($var7 == 2) {
            var$8 = 3;
            var$9 = 2;
            $ptr = 3;
            continue main;
        }
        if ($var7 == 3) {
            $var7 = 4;
            var$8 = 2;
            $ptr = 4;
            continue main;
        }
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 5;
        continue main;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7 == 1) {
            var$8 = 5;
            var$9 = 2;
            $ptr = 2;
            continue main;
        }
        if ($var7 == 2) {
            var$8 = 3;
            var$9 = 2;
            $ptr = 3;
            continue main;
        }
        if ($var7 == 3) {
            $var7 = 4;
            var$8 = 2;
            $ptr = 4;
            continue main;
        }
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 5;
        continue main;
    case 2:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7 == 2) {
            var$8 = 3;
            var$9 = 2;
            $ptr = 3;
            continue main;
        }
        if ($var7 == 3) {
            $var7 = 4;
            var$8 = 2;
            $ptr = 4;
            continue main;
        }
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 5;
        continue main;
    case 3:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7 == 3) {
            $var7 = 4;
            var$8 = 2;
            $ptr = 4;
            continue main;
        }
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 5;
        continue main;
    case 4:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 5;
    case 5:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $par1World.$field_94130_e = nms_ItemStack_getDisplayName($par6ItemStack);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, var$8, var$9, $ptr);
};
$java.nms_BlockFurnace_hasComparatorInputOverride = function($this) {
    return 1;
};
$java.nms_BlockFurnace_getComparatorInputOverride = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return nms_Container_calcRedstoneFromInventory($par1World);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockFurnace_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Block_$callClinit();
    return nms_Block_furnaceIdle.$blockID;
};
function nms_BlockFurnace__clinit_() {
    $java.nms_BlockFurnace_keepFurnaceInventory = 0;
}
function nms_BlockSign() {
    var a = this; nms_BlockContainer.call(a);
    a.$signEntityClass = null;
    a.$isFreestanding = 0;
}
function nms_BlockSign__init_(var_0, var_1, var_2) {
    var var_3 = new nms_BlockSign();
    $java.nms_BlockSign__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_BlockSign__init_ = function($this, $par1, $par2Class, $par3) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_wood);
    $this.$isFreestanding = $par3;
    $this.$signEntityClass = $par2Class;
    nms_Block_setBlockBounds($this, 0.25, 0.0, 0.25, 0.75, 1.0, 0.75);
};
$java.nms_BlockSign_getIcon = function($this, $par1, $par2) {
    nms_Block_$callClinit();
    return nms_Block_getBlockTextureFromSide(nms_Block_planks, $par1);
};
$java.nms_BlockSign_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockSign_getSelectedBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockSign_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getSelectedBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockSign_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5;
    if (!$this.$isFreestanding) {
        $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        if ($var5 == 2)
            nms_Block_setBlockBounds($this, 0.0, 0.28125, 0.875, 1.0, 0.78125, 1.0);
        if ($var5 == 3)
            nms_Block_setBlockBounds($this, 0.0, 0.28125, 0.0, 1.0, 0.78125, 0.125);
        if ($var5 == 4)
            nms_Block_setBlockBounds($this, 0.875, 0.28125, 0.0, 1.0, 0.78125, 1.0);
        if ($var5 == 5)
            nms_Block_setBlockBounds($this, 0.0, 0.28125, 0.0, 0.125, 0.78125, 1.0);
    }
};
$java.nms_BlockSign_getRenderType = function($this) {
    return (-1);
};
$java.nms_BlockSign_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockSign_getBlocksMovement = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return 1;
};
$java.nms_BlockSign_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockSign_createNewTileEntity = function($this, $par1World) {
    var $var3, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        try {
            $par1World = $this.$signEntityClass;
            $ptr = 1;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var3 = $$je;
            } else {
                throw $$e;
            }
        }
        $par1World = new jl_RuntimeException;
        jl_Throwable__init_6($par1World, $var3);
        $rt_throw($par1World);
    case 1:
        a: {
            try {
                $tmp = jl_Class_newInstance($par1World);
                if ($rt_suspending()) {
                    break main;
                }
                $par1World = $tmp;
                $par1World = $par1World;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                    break a;
                } else {
                    throw $$e;
                }
            }
            return $par1World;
        }
        $par1World = new jl_RuntimeException;
        jl_Throwable__init_6($par1World, $var3);
        $rt_throw($par1World);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $var3, $ptr);
};
$java.nms_BlockSign_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = 0;
        if (!$this.$isFreestanding) {
            $var7 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
            $var6 = 1;
            if ($var7 == 2 && nms_World_getBlockMaterial($par1World, $par2, $par3, $par4 + 1 | 0).$isSolid())
                $var6 = 0;
            if ($var7 == 3 && nms_World_getBlockMaterial($par1World, $par2, $par3, $par4 - 1 | 0).$isSolid())
                $var6 = 0;
            if ($var7 == 4 && nms_World_getBlockMaterial($par1World, $par2 + 1 | 0, $par3, $par4).$isSolid())
                $var6 = 0;
            if ($var7 == 5 && nms_World_getBlockMaterial($par1World, $par2 - 1 | 0, $par3, $par4).$isSolid())
                $var6 = 0;
        } else if (!nms_World_getBlockMaterial($par1World, $par2, $par3 - 1 | 0, $par4).$isSolid())
            $var6 = 1;
        if (!$var6)
            return;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $ptr);
};
$java.nms_BlockSign_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_sign.$itemID;
};
$java.nms_BlockSign_registerIcons = function($this, $par1IconRegister) {
    return;
};
function nms_TileEntity() {
    var a = this; jl_Object.call(a);
    a.$worldObj4 = null;
    a.$xCoord0 = 0;
    a.$yCoord0 = 0;
    a.$zCoord0 = 0;
    a.$tileEntityInvalid = 0;
    a.$blockMetadata = 0;
    a.$blockType0 = null;
}
$java.nms_TileEntity_nameToClassMap = null;
$java.nms_TileEntity_classToNameMap = null;
$java.nms_TileEntity__init_ = function() {
    var var_0 = new nms_TileEntity();
    nms_TileEntity__init_(var_0);
    return var_0;
};
function nms_TileEntity__init_($this) {
    $this.$blockMetadata = (-1);
}
$java.nms_TileEntity_addMapping = function($par0Class, $par1Str) {
    var var$3;
    if (!ju_HashMap_containsKey($java.nms_TileEntity_nameToClassMap, $par1Str)) {
        ju_HashMap_putImpl($java.nms_TileEntity_nameToClassMap, $par1Str, $par0Class);
        ju_HashMap_putImpl($java.nms_TileEntity_classToNameMap, $par0Class, $par1Str);
        return;
    }
    $par0Class = new jl_IllegalArgumentException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(2402));
    jl_AbstractStringBuilder_append(var$3, $par1Str);
    jl_Throwable__init_($par0Class, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw($par0Class);
};
$java.nms_TileEntity_getWorldObj = function($this) {
    return $this.$worldObj4;
};
$java.nms_TileEntity_setWorldObj = function($this, $par1World) {
    $this.$worldObj4 = $par1World;
};
function nms_TileEntity_func_70309_m($this) {
    return $this.$worldObj4 === null ? 0 : 1;
}
$java.nms_TileEntity_readFromNBT = function($this, $par1NBTTagCompound) {
    $this.$xCoord0 = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(1904));
    $this.$yCoord0 = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2403));
    $this.$zCoord0 = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2404));
};
$java.nms_TileEntity_updateEntity = function($this) {
    return;
};
$java.nms_TileEntity_getBlockMetadata = function($this) {
    if ($this.$blockMetadata == (-1))
        $this.$blockMetadata = nms_World_getBlockMetadata($this.$worldObj4, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0);
    return $this.$blockMetadata;
};
$java.nms_TileEntity_onInventoryChanged = function($this) {
    var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$worldObj4 !== null) {
            $this.$blockMetadata = nms_World_getBlockMetadata($this.$worldObj4, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0);
            nms_World_updateTileEntityChunkAndDoNothing($this.$worldObj4, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0, $this);
            if ($java.nms_TileEntity_getBlockType($this) !== null) {
                var$1 = $this.$worldObj4;
                var$2 = $this.$xCoord0;
                var$3 = $this.$yCoord0;
                var$4 = $this.$zCoord0;
                var$5 = $java.nms_TileEntity_getBlockType($this).$blockID;
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        nms_World_func_96440_m(var$1, var$2, var$3, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
};
$java.nms_TileEntity_getDistanceFrom = function($this, $par1, $par3, $par5) {
    var $var7, $var9, $var11;
    $var7 = $this.$xCoord0 + 0.5 - $par1;
    $var9 = $this.$yCoord0 + 0.5 - $par3;
    $var11 = $this.$zCoord0 + 0.5 - $par5;
    return $var7 * $var7 + $var9 * $var9 + $var11 * $var11;
};
$java.nms_TileEntity_getMaxRenderDistanceSquared = function($this) {
    return 4096.0;
};
$java.nms_TileEntity_getBlockType = function($this) {
    if ($this.$blockType0 === null) {
        nms_Block_$callClinit();
        $this.$blockType0 = nms_Block_blocksList.data[nms_World_getBlockId($this.$worldObj4, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0)];
    }
    return $this.$blockType0;
};
$java.nms_TileEntity_isInvalid = function($this) {
    return $this.$tileEntityInvalid;
};
$java.nms_TileEntity_invalidate = function($this) {
    $this.$tileEntityInvalid = 1;
};
$java.nms_TileEntity_validate = function($this) {
    $this.$tileEntityInvalid = 0;
};
$java.nms_TileEntity_receiveClientEvent = function($this, $par1, $par2) {
    return 0;
};
$java.nms_TileEntity_updateContainingBlockInfo = function($this) {
    $this.$blockType0 = null;
    $this.$blockMetadata = (-1);
};
function nms_TileEntity__clinit_() {
    $java.nms_TileEntity_nameToClassMap = ju_HashMap__init_();
    $java.nms_TileEntity_classToNameMap = ju_HashMap__init_();
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityFurnace), $rt_s(2405));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityChest), $rt_s(2406));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityEnderChest), $rt_s(2407));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityRecordPlayer), $rt_s(2408));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityDispenser), $rt_s(2409));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityDropper), $rt_s(2410));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntitySign), $rt_s(2411));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityMobSpawner), $rt_s(2412));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityNote), $rt_s(2413));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityPiston), $rt_s(2414));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityBrewingStand), $rt_s(2415));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityEnchantmentTable), $rt_s(2416));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityEndPortal), $rt_s(2417));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityCommandBlock), $rt_s(2418));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityBeacon), $rt_s(2419));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntitySkull), $rt_s(2420));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityDaylightDetector), $rt_s(2421));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityHopper), $rt_s(2422));
    $java.nms_TileEntity_addMapping($rt_cls(nms_TileEntityComparator), $rt_s(2423));
}
function nms_TileEntitySign() {
    var a = this; nms_TileEntity.call(a);
    a.$signText = null;
    a.$lineBeingEdited = 0;
    a.$isEditable = 0;
}
$java.nms_TileEntitySign__init_ = function() {
    var var_0 = new nms_TileEntitySign();
    nms_TileEntitySign__init_(var_0);
    return var_0;
};
function nms_TileEntitySign__init_($this) {
    var var$1, var$2;
    nms_TileEntity__init_($this);
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(36);
    var$2[1] = $rt_s(36);
    var$2[2] = $rt_s(36);
    var$2[3] = $rt_s(36);
    $this.$signText = var$1;
    $this.$lineBeingEdited = (-1);
    $this.$isEditable = 1;
}
$java.nms_TileEntitySign_readFromNBT = function($this, $par1NBTTagCompound) {
    var $var2, var$3, var$4, $var2_0;
    $this.$isEditable = 0;
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $var2 = 0;
    while ($var2 < 4) {
        var$3 = $this.$signText.data;
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $rt_s(2424));
        $var2_0 = $var2 + 1 | 0;
        jl_AbstractStringBuilder_append2(var$4, $var2_0);
        var$3[$var2] = nms_NBTTagCompound_getString($par1NBTTagCompound, jl_AbstractStringBuilder_toString(var$4));
        if (jl_String_length($this.$signText.data[$var2]) > 15)
            $this.$signText.data[$var2] = jl_String_substring0($this.$signText.data[$var2], 0, 15);
        $var2 = $var2_0;
    }
};
$java.nms_TileEntitySign_isEditable = function($this) {
    return $this.$isEditable;
};
$java.nms_TileEntitySign_setEditable = function($this, $par1) {
    $this.$isEditable = $par1;
};
function nms_BlockDoor() {
    var a = this; nms_Block.call(a);
    a.$doorTypeForIcon = 0;
    a.$iconArray8 = null;
}
$java.nms_BlockDoor_doorIconNames = null;
function nms_BlockDoor__init_(var_0, var_1) {
    var var_2 = new nms_BlockDoor();
    $java.nms_BlockDoor__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockDoor__init_ = function($this, $par1, $par2Material) {
    nms_Block__init_0($this, $par1, $par2Material);
    nms_Material_$callClinit();
    if ($par2Material !== nms_Material_iron)
        $this.$doorTypeForIcon = 0;
    else
        $this.$doorTypeForIcon = 2;
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
};
$java.nms_BlockDoor_getIcon = function($this, $par1, $par2) {
    return $this.$iconArray8.data[$this.$doorTypeForIcon];
};
$java.nms_BlockDoor_getBlockTexture = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, $var9, $var10, var$11;
    if ($par5 != 1 && $par5) {
        $var6 = $java.nms_BlockDoor_getFullMetadata($this, $par1IBlockAccess, $par2, $par3, $par4);
        $var7 = $var6 & 3;
        $var8 = !($var6 & 4) ? 0 : 1;
        $var9 = 0;
        $var10 = !($var6 & 8) ? 0 : 1;
        if ($var8) {
            if (!$var7 && $par5 == 2)
                $var9 = 1;
            else if ($var7 == 1 && $par5 == 5)
                $var9 = 1;
            else if ($var7 == 2 && $par5 == 3)
                $var9 = 1;
            else if ($var7 == 3 && $par5 == 4)
                $var9 = 1;
        } else {
            if (!$var7 && $par5 == 5)
                $var9 = 1;
            else if ($var7 == 1 && $par5 == 3)
                $var9 = 1;
            else if ($var7 == 2 && $par5 == 4)
                $var9 = 1;
            else if ($var7 == 3 && $par5 == 2)
                $var9 = 1;
            if ($var6 & 16)
                $var9 = $var9 ? 0 : 1;
        }
        var$11 = $this.$iconArray8;
        $par2 = $this.$doorTypeForIcon + (!$var9 ? 0 : $java.nms_BlockDoor_doorIconNames.data.length) | 0;
        $par3 = !$var10 ? 0 : 1;
        return var$11.data[$par2 + $par3 | 0];
    }
    return $this.$iconArray8.data[$this.$doorTypeForIcon];
};
$java.nms_BlockDoor_registerIcons = function($this, $par1IconRegister) {
    var $var2, var$3, var$4, var$5;
    $this.$iconArray8 = $rt_createArray(nms_Icon, $java.nms_BlockDoor_doorIconNames.data.length * 2 | 0);
    $var2 = 0;
    while ($var2 < $java.nms_BlockDoor_doorIconNames.data.length) {
        $this.$iconArray8.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockDoor_doorIconNames.data[$var2]);
        var$3 = $this.$iconArray8.data;
        var$4 = $var2 + $java.nms_BlockDoor_doorIconNames.data.length | 0;
        var$5 = new nms_IconFlipped;
        var$5.$baseIcon = $this.$iconArray8.data[$var2];
        var$5.$flipU = 1;
        var$5.$flipV = 0;
        var$3[var$4] = var$5;
        $var2 = $var2 + 1 | 0;
    }
};
$java.nms_BlockDoor_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockDoor_getBlocksMovement = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return !($java.nms_BlockDoor_getFullMetadata($this, $par1IBlockAccess, $par2, $par3, $par4) & 4) ? 0 : 1;
};
$java.nms_BlockDoor_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockDoor_getRenderType = function($this) {
    return 7;
};
$java.nms_BlockDoor_getSelectedBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockDoor_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getSelectedBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockDoor_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockDoor_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getCollisionBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockDoor_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    $java.nms_BlockDoor_setDoorRotation($this, $java.nms_BlockDoor_getFullMetadata($this, $par1IBlockAccess, $par2, $par3, $par4));
};
$java.nms_BlockDoor_setDoorRotation = function($this, $par1) {
    var $var3, $var4, $var5;
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0);
    $var3 = $par1 & 3;
    $var4 = !($par1 & 4) ? 0 : 1;
    $var5 = !($par1 & 16) ? 0 : 1;
    if (!$var3) {
        if (!$var4)
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 0.1875, 1.0, 1.0);
        else if (!$var5)
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.1875);
        else
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.8125, 1.0, 1.0, 1.0);
    } else if ($var3 == 1) {
        if (!$var4)
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.1875);
        else if ($var5)
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 0.1875, 1.0, 1.0);
        else
            nms_Block_setBlockBounds($this, 0.8125, 0.0, 0.0, 1.0, 1.0, 1.0);
    } else if ($var3 == 2) {
        if (!$var4)
            nms_Block_setBlockBounds($this, 0.8125, 0.0, 0.0, 1.0, 1.0, 1.0);
        else if ($var5)
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.1875);
        else
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.8125, 1.0, 1.0, 1.0);
    } else if ($var3 == 3) {
        if (!$var4)
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.8125, 1.0, 1.0, 1.0);
        else if (!$var5)
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 0.1875, 1.0, 1.0);
        else
            nms_Block_setBlockBounds($this, 0.8125, 0.0, 0.0, 1.0, 1.0, 1.0);
    }
};
$java.nms_BlockDoor_onBlockClicked = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer) {
    return;
};
$java.nms_BlockDoor_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var var$10, $var10, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();var$10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$10 = $this.$blockMaterial;
        nms_Material_$callClinit();
        if (var$10 === nms_Material_iron)
            return 1;
        $var10 = $java.nms_BlockDoor_getFullMetadata($this, $par1World, $par2, $par3, $par4);
        $var11 = $var10 & 7 ^ 4;
        if (!($var10 & 8)) {
            $par6 = 2;
            $ptr = 2;
            continue main;
        }
        $var10 = $par3 - 1 | 0;
        $par6 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $var10, $par4, $var11, $par6);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_markBlockRangeForRenderUpdate($par1World, $par2, $var10, $par4, $par2, $par3, $par4);
        $par6 = 1003;
        $var10 = 0;
        $ptr = 3;
        continue main;
    case 2:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var11, $par6);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_markBlockRangeForRenderUpdate($par1World, $par2, $par3, $par4, $par2, $par3, $par4);
        $par6 = 1003;
        $var10 = 0;
        $ptr = 3;
    case 3:
        nms_World_playAuxSFXAtEntity($par1World, $par5EntityPlayer, $par6, $par2, $par3, $par4, $var10);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, var$10, $var10, $var11, $ptr);
};
$java.nms_BlockDoor_onPoweredBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = $java.nms_BlockDoor_getFullMetadata($this, $par1World, $par2, $par3, $par4);
        if ((!($var6 & 4) ? 0 : 1) == $par5)
            return;
        $par5 = $var6 & 7 ^ 4;
        if (!($var6 & 8)) {
            $var6 = 2;
            $ptr = 2;
            continue main;
        }
        $var6 = $par3 - 1 | 0;
        $var7 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $var6, $par4, $par5, $var7);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_markBlockRangeForRenderUpdate($par1World, $par2, $var6, $par4, $par2, $par3, $par4);
        var$8 = null;
        $par5 = 1003;
        $var6 = 0;
        $ptr = 3;
        continue main;
    case 2:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_markBlockRangeForRenderUpdate($par1World, $par2, $par3, $par4, $par2, $par3, $par4);
        var$8 = null;
        $par5 = 1003;
        $var6 = 0;
        $ptr = 3;
    case 3:
        nms_World_playAuxSFXAtEntity($par1World, var$8, $par5, $par2, $par3, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, var$8, $ptr);
};
$java.nms_BlockDoor_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var7, $var6, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if (nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) & 8) {
                $var7 = $par3 - 1 | 0;
                if (nms_World_getBlockId($par1World, $par2, $var7, $par4) != $this.$blockID) {
                    $ptr = 1;
                    continue main;
                }
                if ($par5 <= 0)
                    break a;
                if ($par5 == $this.$blockID)
                    break a;
                $ptr = 3;
                continue main;
            }
            $var7 = 0;
            $var6 = $par3 + 1 | 0;
            if (nms_World_getBlockId($par1World, $par2, $var6, $par4) != $this.$blockID) {
                $ptr = 2;
                continue main;
            }
            if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4)) {
                $ptr = 4;
                continue main;
            }
            if (!$var7) {
                $ptr = 6;
                continue main;
            }
        }
        return;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        if ($par5 > 0 && $par5 != $this.$blockID) {
            $ptr = 3;
            continue main;
        }
        return;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = 1;
        if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4)) {
            $ptr = 4;
            continue main;
        }
        if ($var7)
            return;
        $ptr = 6;
        continue main;
    case 3:
        $java.nms_BlockDoor_onNeighborBlockChange($this, $par1World, $par2, $var7, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = 1;
        if (nms_World_getBlockId($par1World, $par2, $var6, $par4) == $this.$blockID) {
            $ptr = 5;
            continue main;
        }
        if ($var7)
            return;
        $ptr = 6;
        continue main;
    case 5:
        nms_World_setBlockToAir($par1World, $par2, $var6, $par4);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7)
            return;
        $ptr = 6;
    case 6:
        $tmp = nms_World_isBlockIndirectlyGettingPowered($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        if (!$var7) {
            $ptr = 7;
            continue main;
        }
        $var8 = 1;
        b: {
            if (!$var8) {
                if ($par5 <= 0)
                    break b;
                nms_Block_$callClinit();
                if (!nms_Block_blocksList.data[$par5].$canProvidePower())
                    break b;
            }
            if ($par5 != $this.$blockID) {
                $ptr = 8;
                continue main;
            }
        }
        return;
    case 7:
        $tmp = nms_World_isBlockIndirectlyGettingPowered($par1World, $par2, $var6, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        $var8 = $var7 ? 1 : 0;
        c: {
            if (!$var8) {
                if ($par5 <= 0)
                    break c;
                nms_Block_$callClinit();
                if (!nms_Block_blocksList.data[$par5].$canProvidePower())
                    break c;
            }
            if ($par5 != $this.$blockID) {
                $ptr = 8;
                continue main;
            }
        }
        return;
    case 8:
        $java.nms_BlockDoor_onPoweredBlockChange($this, $par1World, $par2, $par3, $par4, $var8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var7, $var6, $var8, $ptr);
};
$java.nms_BlockDoor_collisionRayTrace = function($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par6Vec3 = $thread.pop();$par5Vec3 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockDoor_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $tmp = nms_Block_collisionRayTrace($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return $par1World;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3, $ptr);
};
$java.nms_BlockDoor_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return $par3 >= 255 ? 0 : nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) && nms_Block_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4) && nms_Block_canPlaceBlockAt($this, $par1World, $par2, $par3 + 1 | 0, $par4) ? 1 : 0;
};
$java.nms_BlockDoor_getMobilityFlag = function($this) {
    return 1;
};
$java.nms_BlockDoor_getFullMetadata = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var8, $var7, $var9;
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var6 = !($var5 & 8) ? 0 : 1;
    if (!$var6)
        $var8 = $par1IBlockAccess.$getBlockMetadata($par2, $par3 + 1 | 0, $par4);
    else {
        $var7 = $par1IBlockAccess.$getBlockMetadata($par2, $par3 - 1 | 0, $par4);
        $var8 = $var5;
        $var5 = $var7;
    }
    $var9 = !($var8 & 1) ? 0 : 1;
    return $var5 & 7 | (!$var6 ? 0 : 8) | (!$var9 ? 0 : 16);
};
$java.nms_BlockDoor_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    var var$5;
    var$5 = $this.$blockMaterial;
    nms_Material_$callClinit();
    if (var$5 !== nms_Material_iron) {
        nms_Item_$callClinit();
        $par2 = nms_Item_doorWood.$itemID;
    } else {
        nms_Item_$callClinit();
        $par2 = nms_Item_doorIron.$itemID;
    }
    return $par2;
};
function nms_BlockDoor__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2425);
    var$2[1] = $rt_s(2426);
    var$2[2] = $rt_s(2427);
    var$2[3] = $rt_s(2428);
    $java.nms_BlockDoor_doorIconNames = var$1;
}
function nms_BlockLadder() {
    nms_Block.call(this);
}
function nms_BlockLadder__init_(var_0) {
    var var_1 = new nms_BlockLadder();
    $java.nms_BlockLadder__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockLadder__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_circuits);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockLadder_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockLadder_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getCollisionBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockLadder_getSelectedBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockLadder_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getSelectedBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockLadder_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    $java.nms_BlockLadder_updateLadderBounds($this, $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4));
};
$java.nms_BlockLadder_updateLadderBounds = function($this, $par1) {
    if ($par1 == 2)
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.875, 1.0, 1.0, 1.0);
    if ($par1 == 3)
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.125);
    if ($par1 == 4)
        nms_Block_setBlockBounds($this, 0.875, 0.0, 0.0, 1.0, 1.0, 1.0);
    if ($par1 == 5)
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 0.125, 1.0, 1.0);
};
$java.nms_BlockLadder_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockLadder_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockLadder_getRenderType = function($this) {
    return 8;
};
$java.nms_BlockLadder_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) ? 1 : nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0);
};
$java.nms_BlockLadder_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    if (!($par9 && $par5 != 2) && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0))
        $par9 = 2;
    if (!($par9 && $par5 != 3) && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0))
        $par9 = 3;
    if (!($par9 && $par5 != 4) && nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4))
        $par9 = 4;
    if (!($par9 && $par5 != 5) && nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4))
        $par9 = 5;
    return $par9;
};
$java.nms_BlockLadder_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var7 = 0;
        if ($var6 == 2 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0))
            $var7 = 1;
        if ($var6 == 3 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0))
            $var7 = 1;
        if ($var6 == 4 && nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4))
            $var7 = 1;
        if ($var6 == 5 && nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4))
            $var7 = 1;
        if ($var7)
            return;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, $var6, 0);
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $ptr);
};
function nms_BlockRail() {
    nms_BlockRailBase.call(this);
    this.$theIcon8 = null;
}
function nms_BlockRail__init_(var_0) {
    var var_1 = new nms_BlockRail();
    $java.nms_BlockRail__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockRail__init_ = function($this, $par1) {
    $java.nms_BlockRailBase__init_0($this, $par1, 0);
};
$java.nms_BlockRail_getIcon = function($this, $par1, $par2) {
    return $par2 < 6 ? $this.$blockIcon : $this.$theIcon8;
};
$java.nms_BlockRail_registerIcons = function($this, $par1IconRegister) {
    nms_Block_registerIcons($this, $par1IconRegister);
    $this.$theIcon8 = $par1IconRegister.$registerIcon($rt_s(2429));
};
function nms_BlockLever() {
    nms_Block.call(this);
}
function nms_BlockLever__init_(var_0) {
    var var_1 = new nms_BlockLever();
    $java.nms_BlockLever__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockLever__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_circuits);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
};
$java.nms_BlockLever_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockLever_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockLever_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockLever_getRenderType = function($this) {
    return 12;
};
$java.nms_BlockLever_canPlaceBlockOnSide = function($this, $par1World, $par2, $par3, $par4, $par5) {
    return !$par5 && nms_World_isBlockNormalCube($par1World, $par2, $par3 + 1 | 0, $par4) ? 1 : $par5 == 1 && nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) ? 1 : $par5 == 2 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) ? 1 : $par5 == 3 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) ? 1 : $par5 == 4 && nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) ? 1 : $par5 == 5 && nms_World_isBlockNormalCube($par1World,
    $par2 - 1 | 0, $par3, $par4) ? 1 : 0;
};
$java.nms_BlockLever_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) ? 1 : nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) ? 1 : nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2, $par3 + 1 | 0, $par4);
};
$java.nms_BlockLever_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    var $var11, $var12;
    $var11 = $par9 & 8;
    $var12 = (-1);
    if (!$par5 && nms_World_isBlockNormalCube($par1World, $par2, $par3 + 1 | 0, $par4))
        $var12 = 0;
    if ($par5 == 1 && nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4))
        $var12 = 5;
    if ($par5 == 2 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0))
        $var12 = 4;
    if ($par5 == 3 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0))
        $var12 = 3;
    if ($par5 == 4 && nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4))
        $var12 = 2;
    if ($par5 == 5 && nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4))
        $var12 = 1;
    return $var12 + $var11 | 0;
};
$java.nms_BlockLever_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, $var8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var8 = $var7 & 7;
        $var9 = $var7 & 8;
        if ($var8 == $java.nms_BlockLever_invertMetadata(1)) {
            if (nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 1) {
                $var7 = 6 | $var9;
                $var8 = 2;
                $ptr = 1;
                continue main;
            }
            $var7 = 5 | $var9;
            $var8 = 2;
            $ptr = 2;
            continue main;
        }
        if ($var8 != $java.nms_BlockLever_invertMetadata(0))
            return;
        if (nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 1) {
            $var7 = 0 | $var9;
            $var8 = 2;
            $ptr = 3;
            continue main;
        }
        $var7 = 7 | $var9;
        $var8 = 2;
        $ptr = 4;
        continue main;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, $var8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, $var8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, $var8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, $var8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, $var8, $var9, $ptr);
};
$java.nms_BlockLever_invertMetadata = function($par0) {
    switch ($par0) {
        case 0:
            break;
        case 1:
            return 5;
        case 2:
            return 4;
        case 3:
            return 3;
        case 4:
            return 2;
        case 5:
            return 1;
        default:
            return (-1);
    }
    return 0;
};
$java.nms_BlockLever_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$java.nms_BlockLever_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4)) {
            nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
            $ptr = 1;
            continue main;
        }
        if (1) {
            $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) & 7;
            $var7 = 0;
            if (!nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) && $var6 == 1)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) && $var6 == 2)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) && $var6 == 3)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) && $var6 == 4)
                $var7 = 1;
            var$8 = $par3 - 1 | 0;
            if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, var$8, $par4) && $var6 == 5)
                $var7 = 1;
            if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, var$8, $par4) && $var6 == 6)
                $var7 = 1;
            $par5 = $par3 + 1 | 0;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par5, $par4) && !$var6)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par5, $par4) && $var6 == 7)
                $var7 = 1;
            if ($var7) {
                nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        if (0) {
            $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) & 7;
            $var7 = 0;
            if (!nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) && $var6 == 1)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) && $var6 == 2)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) && $var6 == 3)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) && $var6 == 4)
                $var7 = 1;
            var$8 = $par3 - 1 | 0;
            if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, var$8, $par4) && $var6 == 5)
                $var7 = 1;
            if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, var$8, $par4) && $var6 == 6)
                $var7 = 1;
            $par5 = $par3 + 1 | 0;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par5, $par4) && !$var6)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par5, $par4) && $var6 == 7)
                $var7 = 1;
            if ($var7) {
                nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, var$8, $ptr);
};
$java.nms_BlockLever_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5;
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) & 7;
    if ($var5 == 1)
        nms_Block_setBlockBounds($this, 0.0, 0.20000000298023224, 0.3125, 0.375, 0.800000011920929, 0.6875);
    else if ($var5 == 2)
        nms_Block_setBlockBounds($this, 0.625, 0.20000000298023224, 0.3125, 1.0, 0.800000011920929, 0.6875);
    else if ($var5 == 3)
        nms_Block_setBlockBounds($this, 0.3125, 0.20000000298023224, 0.0, 0.6875, 0.800000011920929, 0.375);
    else if ($var5 == 4)
        nms_Block_setBlockBounds($this, 0.3125, 0.20000000298023224, 0.625, 0.6875, 0.800000011920929, 1.0);
    else if (!($var5 != 5 && $var5 != 6))
        nms_Block_setBlockBounds($this, 0.25, 0.0, 0.25, 0.75, 0.6000000238418579, 0.75);
    else if (!($var5 && $var5 != 7))
        nms_Block_setBlockBounds($this, 0.25, 0.4000000059604645, 0.25, 0.75, 1.0, 0.75);
};
$java.nms_BlockLever_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockLever_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return (nms_World_getBlockMetadata($par1IBlockAccess, $par2, $par3, $par4) & 8) <= 0 ? 0 : 15;
};
$java.nms_BlockLever_isProvidingStrongPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6, $var7;
    $var6 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    if (!($var6 & 8))
        return 0;
    a: {
        $var7 = $var6 & 7;
        if (!$var7 && !$par5) {
            $par2 = 15;
            break a;
        }
        if ($var7 == 7 && !$par5) {
            $par2 = 15;
            break a;
        }
        if ($var7 == 6 && $par5 == 1) {
            $par2 = 15;
            break a;
        }
        if ($var7 == 5 && $par5 == 1) {
            $par2 = 15;
            break a;
        }
        if ($var7 == 4 && $par5 == 2) {
            $par2 = 15;
            break a;
        }
        if ($var7 == 3 && $par5 == 3) {
            $par2 = 15;
            break a;
        }
        if ($var7 == 2 && $par5 == 4) {
            $par2 = 15;
            break a;
        }
        if ($var7 == 1 && $par5 == 5) {
            $par2 = 15;
            break a;
        }
        $par2 = 0;
    }
    return $par2;
};
$java.nms_BlockLever_canProvidePower = function($this) {
    return 1;
};
function nms_BlockBasePressurePlate() {
    nms_Block.call(this);
    this.$pressurePlateIconName = null;
}
$java.nms_BlockBasePressurePlate__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_BlockBasePressurePlate();
    $java.nms_BlockBasePressurePlate__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_BlockBasePressurePlate__init_0 = function($this, $par1, $par2Str, $par3Material) {
    nms_Block__init_0($this, $par1, $par3Material);
    $this.$pressurePlateIconName = $par2Str;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
    $this.$needsRandomTick = 1;
    $java.nms_BlockBasePressurePlate_func_94353_c_($this, $this.$getMetaFromWeight(15));
};
$java.nms_BlockBasePressurePlate_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    $java.nms_BlockBasePressurePlate_func_94353_c_($this, $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4));
};
$java.nms_BlockBasePressurePlate_func_94353_c_ = function($this, $par1) {
    if (!($this.$getPowerSupply($par1) <= 0 ? 0 : 1))
        nms_Block_setBlockBounds($this, 0.0625, 0.0, 0.0625, 0.9375, 0.0625, 0.9375);
    else
        nms_Block_setBlockBounds($this, 0.0625, 0.0, 0.0625, 0.9375, 0.03125, 0.9375);
};
$java.nms_BlockBasePressurePlate_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockBasePressurePlate_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockBasePressurePlate_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockBasePressurePlate_getBlocksMovement = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return 1;
};
$java.nms_BlockBasePressurePlate_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    $par3 = $par3 - 1 | 0;
    return !nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3, $par4) && !$java.nms_BlockFence_isIdAFence(nms_World_getBlockId($par1World, $par2, $par3, $par4)) ? 0 : 1;
};
$java.nms_BlockBasePressurePlate_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = 0;
        $par5 = $par3 - 1 | 0;
        if (!nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par5, $par4) && !$java.nms_BlockFence_isIdAFence(nms_World_getBlockId($par1World, $par2, $par5, $par4)))
            $var6 = 1;
        if (!$var6)
            return;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $ptr);
};
$java.nms_BlockBasePressurePlate_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $this.$getPowerSupply(nms_World_getBlockMetadata($par1IBlockAccess, $par2, $par3, $par4));
};
$java.nms_BlockBasePressurePlate_isProvidingStrongPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $par5 != 1 ? 0 : $this.$getPowerSupply($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4));
};
$java.nms_BlockBasePressurePlate_canProvidePower = function($this) {
    return 1;
};
$java.nms_BlockBasePressurePlate_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.0, 0.375, 0.0, 1.0, 0.625, 1.0);
};
$java.nms_BlockBasePressurePlate_getMobilityFlag = function($this) {
    return 1;
};
$java.nms_BlockBasePressurePlate_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($this.$pressurePlateIconName);
};
function nms_BlockPressurePlate() {
    nms_BlockBasePressurePlate.call(this);
    this.$triggerMobType = null;
}
function nms_BlockPressurePlate__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_BlockPressurePlate();
    $java.nms_BlockPressurePlate__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nms_BlockPressurePlate__init_ = function($this, $par1, $par2Str, $par3Material, $par4EnumMobType) {
    $java.nms_BlockBasePressurePlate__init_0($this, $par1, $par2Str, $par3Material);
    $this.$triggerMobType = $par4EnumMobType;
};
$java.nms_BlockPressurePlate_getMetaFromWeight = function($this, $par1) {
    return $par1 <= 0 ? 0 : 1;
};
$java.nms_BlockPressurePlate_getPowerSupply = function($this, $par1) {
    return $par1 != 1 ? 0 : 15;
};
function nms_EnumMobType() {
    jl_Enum.call(this);
}
var nms_EnumMobType_everything = null;
var nms_EnumMobType_mobs = null;
$java.nms_EnumMobType_players = null;
$java.nms_EnumMobType_$VALUES = null;
function nms_EnumMobType__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nms_EnumMobType;
    jl_Enum__init_0(var$1, $rt_s(2430), 0);
    nms_EnumMobType_everything = var$1;
    var$1 = new nms_EnumMobType;
    jl_Enum__init_0(var$1, $rt_s(2431), 1);
    nms_EnumMobType_mobs = var$1;
    var$1 = new nms_EnumMobType;
    jl_Enum__init_0(var$1, $rt_s(293), 2);
    $java.nms_EnumMobType_players = var$1;
    var$2 = $rt_createArray(nms_EnumMobType, 3);
    var$3 = var$2.data;
    var$3[0] = nms_EnumMobType_everything;
    var$3[1] = nms_EnumMobType_mobs;
    var$3[2] = $java.nms_EnumMobType_players;
    $java.nms_EnumMobType_$VALUES = var$2;
}
function nms_BlockRedstoneOre() {
    nms_Block.call(this);
    this.$glowing = 0;
}
function nms_BlockRedstoneOre__init_(var_0, var_1) {
    var var_2 = new nms_BlockRedstoneOre();
    $java.nms_BlockRedstoneOre__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockRedstoneOre__init_ = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_rock);
    if ($par2)
        $this.$needsRandomTick = 1;
    $this.$glowing = $par2;
};
$java.nms_BlockRedstoneOre_onBlockClicked = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockRedstoneOre_glow($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $ptr);
};
$java.nms_BlockRedstoneOre_onEntityWalking = function($this, $par1World, $par2, $par3, $par4, $par5Entity) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5Entity = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockRedstoneOre_glow($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Entity, $ptr);
};
$java.nms_BlockRedstoneOre_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockRedstoneOre_glow($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return 0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, $ptr);
};
$java.nms_BlockRedstoneOre_glow = function($this, $par1World, $par2, $par3, $par4) {
    var var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockRedstoneOre_sparkle($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$blockID;
        nms_Block_$callClinit();
        if (var$5 != nms_Block_oreRedstone.$blockID)
            return;
        var$5 = nms_Block_oreRedstoneGlowing.$blockID;
        $ptr = 2;
    case 2:
        nms_World_setBlock0($par1World, $par2, $par3, $par4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, var$5, $ptr);
};
$java.nms_BlockRedstoneOre_idDropped = function($this, $par1, $par2Random, $par3) {
    nms_Item_$callClinit();
    return nms_Item_redstone.$itemID;
};
$java.nms_BlockRedstoneOre_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    if ($java.nms_BlockRedstoneOre_idDropped($this, $par5, $par1World.$rand, $par7) != $this.$blockID)
        nle_EaglercraftRandom_nextInt($par1World.$rand, 5);
};
$java.nms_BlockRedstoneOre_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$glowing)
            return;
        $ptr = 1;
    case 1:
        $java.nms_BlockRedstoneOre_sparkle($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, $ptr);
};
$java.nms_BlockRedstoneOre_sparkle = function($this, $par1World, $par2, $par3, $par4) {
    var $var5, $var8, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, $var9, $var11, $var13, var$30, var$31, var$32, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();var$32 = $thread.pop();var$31 = $thread.pop();var$30 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12
        = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var8 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $par1World.$rand;
        $var8 = 0;
        var$7 = $par2;
        var$8 = $par3;
        var$9 = $par4;
        var$10 = $par3 + 1 | 0;
        var$11 = var$10;
        var$12 = var$11 + 0.0625;
        var$13 = $par3 - 1 | 0;
        var$14 = ($par3 + 0 | 0) - 0.0625;
        var$15 = $par4 + 1 | 0;
        var$16 = var$15;
        var$17 = var$16 + 0.0625;
        var$18 = $par4 - 1 | 0;
        var$19 = ($par4 + 0 | 0) - 0.0625;
        var$20 = $par2 + 1 | 0;
        var$21 = var$20;
        var$22 = var$21 + 0.0625;
        var$23 = $par2 - 1 | 0;
        var$24 = ($par2 + 0 | 0) - 0.0625;
        var$25 = $par2;
        var$26 = $par4;
        a: {
            while ($var8 < 6) {
                $var9 = var$7 + nle_EaglercraftRandom_nextFloat($var5);
                $var11 = var$8 + nle_EaglercraftRandom_nextFloat($var5);
                $var13 = var$9 + nle_EaglercraftRandom_nextFloat($var5);
                if (!$var8 && !nms_World_isBlockOpaqueCube($par1World, $par2, var$10, $par4))
                    $var11 = var$12;
                if ($var8 == 1 && !nms_World_isBlockOpaqueCube($par1World, $par2, var$13, $par4))
                    $var11 = var$14;
                if ($var8 == 2 && !nms_World_isBlockOpaqueCube($par1World, $par2, $par3, var$15))
                    $var13 = var$17;
                if ($var8 == 3 && !nms_World_isBlockOpaqueCube($par1World, $par2, $par3, var$18))
                    $var13 = var$19;
                if ($var8 == 4 && !nms_World_isBlockOpaqueCube($par1World, var$20, $par3, $par4))
                    $var9 = var$22;
                if ($var8 == 5 && !nms_World_isBlockOpaqueCube($par1World, var$23, $par3, $par4))
                    $var9 = var$24;
                if ($var9 < var$25)
                    break a;
                if ($var9 > var$21)
                    break a;
                if ($var11 < 0.0)
                    break a;
                if ($var11 > var$11)
                    break a;
                if ($var13 < var$26)
                    break a;
                if ($var13 > var$16)
                    break a;
                $var8 = $var8 + 1 | 0;
            }
            return;
        }
        var$30 = $rt_s(1175);
        var$31 = 0.0;
        var$32 = 0.0;
        $var6 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1World, var$30, $var9, $var11, $var13, var$31, var$32, $var6);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            while (true) {
                $var8 = $var8 + 1 | 0;
                if ($var8 >= 6)
                    break;
                $var9 = var$7 + nle_EaglercraftRandom_nextFloat($var5);
                $var11 = var$8 + nle_EaglercraftRandom_nextFloat($var5);
                $var13 = var$9 + nle_EaglercraftRandom_nextFloat($var5);
                if (!$var8 && !nms_World_isBlockOpaqueCube($par1World, $par2, var$10, $par4))
                    $var11 = var$12;
                if ($var8 == 1 && !nms_World_isBlockOpaqueCube($par1World, $par2, var$13, $par4))
                    $var11 = var$14;
                if ($var8 == 2 && !nms_World_isBlockOpaqueCube($par1World, $par2, $par3, var$15))
                    $var13 = var$17;
                if ($var8 == 3 && !nms_World_isBlockOpaqueCube($par1World, $par2, $par3, var$18))
                    $var13 = var$19;
                if ($var8 == 4 && !nms_World_isBlockOpaqueCube($par1World, var$20, $par3, $par4))
                    $var9 = var$22;
                if ($var8 == 5 && !nms_World_isBlockOpaqueCube($par1World, var$23, $par3, $par4))
                    $var9 = var$24;
                if ($var9 < var$25)
                    break a;
                if ($var9 > var$21)
                    break a;
                if ($var11 < 0.0)
                    break a;
                if ($var11 > var$11)
                    break a;
                if ($var13 < var$26)
                    break a;
                if ($var13 <= var$16)
                    continue;
                else
                    break a;
            }
            return;
        }
        var$30 = $rt_s(1175);
        var$31 = 0.0;
        var$32 = 0.0;
        $var6 = 0.0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $var5, $var8, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23, var$24, var$25, var$26, $var9, $var11, $var13, var$30, var$31, var$32, $var6, $ptr);
};
function nms_BlockRedstoneTorch() {
    nms_BlockTorch.call(this);
    this.$torchActive = 0;
}
$java.nms_BlockRedstoneTorch_redstoneUpdateInfoCache = null;
function nms_BlockRedstoneTorch__init_(var_0, var_1) {
    var var_2 = new nms_BlockRedstoneTorch();
    $java.nms_BlockRedstoneTorch__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockRedstoneTorch__init_ = function($this, $par1, $par2) {
    $java.nms_BlockTorch__init_($this, $par1);
    $this.$torchActive = 0;
    $this.$torchActive = $par2;
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = null;
};
$java.nms_BlockRedstoneTorch_tickRate = function($this, $par1World) {
    return 2;
};
$java.nms_BlockRedstoneTorch_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6;
    if (!$this.$torchActive)
        return 0;
    $var6 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    return $var6 == 5 && $par5 == 1 ? 0 : $var6 == 3 && $par5 == 3 ? 0 : $var6 == 4 && $par5 == 2 ? 0 : $var6 == 1 && $par5 == 5 ? 0 : $var6 == 2 && $par5 == 4 ? 0 : 15;
};
$java.nms_BlockRedstoneTorch_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var var$6, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockTorch_func_94397_d($this, $par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        if (!$par5) {
            var$6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
            if (var$6 == 5) {
                $par5 = $par3 - 1 | 0;
                $var6 = 0;
                $ptr = 2;
                continue main;
            }
            if (var$6 == 3) {
                $par5 = $par4 - 1 | 0;
                $var6 = 2;
                $ptr = 3;
                continue main;
            }
            if (var$6 == 4) {
                $par5 = $par4 + 1 | 0;
                $var6 = 3;
                $ptr = 4;
                continue main;
            }
            if (var$6 == 1) {
                $par5 = $par2 - 1 | 0;
                $var6 = 4;
                $ptr = 5;
                continue main;
            }
            if (var$6 == 2) {
                $par2 = $par2 + 1 | 0;
                $par5 = 5;
                $ptr = 6;
                continue main;
            }
        }
        return;
    case 2:
        $tmp = nms_World_getIndirectPowerOutput($par1World, $par2, $par5, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        if ($par5)
            $var6 = 1;
        else {
            if (var$6 == 3) {
                $par5 = $par4 - 1 | 0;
                $var6 = 2;
                $ptr = 3;
                continue main;
            }
            if (var$6 == 4) {
                $par5 = $par4 + 1 | 0;
                $var6 = 3;
                $ptr = 4;
                continue main;
            }
            if (var$6 == 1) {
                $par5 = $par2 - 1 | 0;
                $var6 = 4;
                $ptr = 5;
                continue main;
            }
            if (var$6 == 2) {
                $par2 = $par2 + 1 | 0;
                $par5 = 5;
                $ptr = 6;
                continue main;
            }
            $var6 = 0;
        }
        return;
    case 3:
        $tmp = nms_World_getIndirectPowerOutput($par1World, $par2, $par3, $par5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        if ($par5)
            $var6 = 1;
        else {
            if (var$6 == 4) {
                $par5 = $par4 + 1 | 0;
                $var6 = 3;
                $ptr = 4;
                continue main;
            }
            if (var$6 == 1) {
                $par5 = $par2 - 1 | 0;
                $var6 = 4;
                $ptr = 5;
                continue main;
            }
            if (var$6 == 2) {
                $par2 = $par2 + 1 | 0;
                $par5 = 5;
                $ptr = 6;
                continue main;
            }
            $var6 = 0;
        }
        return;
    case 4:
        $tmp = nms_World_getIndirectPowerOutput($par1World, $par2, $par3, $par5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        if ($par5)
            $var6 = 1;
        else {
            if (var$6 == 1) {
                $par5 = $par2 - 1 | 0;
                $var6 = 4;
                $ptr = 5;
                continue main;
            }
            if (var$6 == 2) {
                $par2 = $par2 + 1 | 0;
                $par5 = 5;
                $ptr = 6;
                continue main;
            }
            $var6 = 0;
        }
        return;
    case 5:
        $tmp = nms_World_getIndirectPowerOutput($par1World, $par5, $par3, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        if ($par5)
            $var6 = 1;
        else {
            if (var$6 == 2) {
                $par2 = $par2 + 1 | 0;
                $par5 = 5;
                $ptr = 6;
                continue main;
            }
            $var6 = 0;
        }
        return;
    case 6:
        $tmp = nms_World_getIndirectPowerOutput($par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        $var6 = !$par2 ? 0 : 1;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, var$6, $var6, $ptr);
};
$java.nms_BlockRedstoneTorch_isProvidingStrongPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $par5 ? 0 : $java.nms_BlockRedstoneTorch_isProvidingWeakPower($this, $par1IBlockAccess, $par2, $par3, $par4, $par5);
};
$java.nms_BlockRedstoneTorch_canProvidePower = function($this) {
    return 1;
};
$java.nms_BlockRedstoneTorch_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var $var6, $var7, $var9, $var11, $var15, $var13, var$12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();$var13 = $thread.pop();$var15 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$torchActive)
            return;
        $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var7 = $par2 + 0.5 + (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.2;
        $var9 = $par3 + 0.699999988079071 + (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.2;
        $var11 = $par4 + 0.5 + (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.2;
        if ($var6 == 1) {
            $par5Random = $rt_s(1175);
            $var15 = $var7 - 0.27000001072883606;
            $var13 = $var9 + 0.2199999988079071;
            var$12 = 0.0;
            $var7 = 0.0;
            $var9 = 0.0;
            $ptr = 1;
            continue main;
        }
        if ($var6 == 2) {
            $par5Random = $rt_s(1175);
            $var15 = $var7 + 0.27000001072883606;
            $var13 = $var9 + 0.2199999988079071;
            var$12 = 0.0;
            $var7 = 0.0;
            $var9 = 0.0;
            $ptr = 2;
            continue main;
        }
        if ($var6 == 3) {
            $par5Random = $rt_s(1175);
            $var13 = $var9 + 0.2199999988079071;
            $var15 = $var11 - 0.27000001072883606;
            var$12 = 0.0;
            $var11 = 0.0;
            $var9 = 0.0;
            $ptr = 3;
            continue main;
        }
        if ($var6 != 4) {
            $par5Random = $rt_s(1175);
            $var13 = 0.0;
            $var15 = 0.0;
            var$12 = 0.0;
            $ptr = 4;
            continue main;
        }
        $par5Random = $rt_s(1175);
        $var13 = $var9 + 0.2199999988079071;
        $var15 = $var11 + 0.27000001072883606;
        var$12 = 0.0;
        $var11 = 0.0;
        $var9 = 0.0;
        $ptr = 5;
        continue main;
    case 1:
        nms_World_spawnParticle($par1World, $par5Random, $var15, $var13, $var11, var$12, $var7, $var9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_spawnParticle($par1World, $par5Random, $var15, $var13, $var11, var$12, $var7, $var9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_World_spawnParticle($par1World, $par5Random, $var7, $var13, $var15, var$12, $var11, $var9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_World_spawnParticle($par1World, $par5Random, $var7, $var9, $var11, $var13, $var15, var$12);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 5:
        nms_World_spawnParticle($par1World, $par5Random, $var7, $var13, $var15, var$12, $var11, $var9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, $var6, $var7, $var9, $var11, $var15, $var13, var$12, $ptr);
};
$java.nms_BlockRedstoneTorch_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Block_$callClinit();
    return nms_Block_torchRedstoneActive.$blockID;
};
$java.nms_BlockRedstoneTorch_registerIcons = function($this, $par1IconRegister) {
    if (!$this.$torchActive)
        $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2432));
    else
        $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2433));
};
function nms_BlockRedstoneTorch__clinit_() {
    $java.nms_BlockRedstoneTorch_redstoneUpdateInfoCache = ju_HashMap__init_();
}
function nms_BlockButton() {
    nms_Block.call(this);
    this.$sensible = 0;
}
$java.nms_BlockButton__init_ = function(var_0, var_1) {
    var var_2 = new nms_BlockButton();
    $java.nms_BlockButton__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.nms_BlockButton__init_0 = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_circuits);
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
    $this.$sensible = $par2;
};
$java.nms_BlockButton_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockButton_tickRate = function($this, $par1World) {
    return !$this.$sensible ? 20 : 30;
};
$java.nms_BlockButton_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockButton_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockButton_canPlaceBlockOnSide = function($this, $par1World, $par2, $par3, $par4, $par5) {
    return $par5 == 2 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) ? 1 : $par5 == 3 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) ? 1 : $par5 == 4 && nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) ? 1 : $par5 == 5 && nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) ? 1 : 0;
};
$java.nms_BlockButton_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) ? 1 : nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0);
};
$java.nms_BlockButton_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    var $var11;
    $var11 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) & 8;
    return ($par5 == 2 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) ? 4 : $par5 == 3 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) ? 3 : $par5 == 4 && nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) ? 2 : $par5 == 5 && nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) ?
    2 : nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) ? 3 : !nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) ? 1 : 4) + $var11 | 0;
};
$java.nms_BlockButton_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$java.nms_BlockButton_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4)) {
            nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
            $ptr = 1;
            continue main;
        }
        if (1) {
            $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) & 7;
            $var7 = 0;
            if (!nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) && $var6 == 1)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) && $var6 == 2)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) && $var6 == 3)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) && $var6 == 4)
                $var7 = 1;
            if ($var7) {
                nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        if (0) {
            $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) & 7;
            $var7 = 0;
            if (!nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) && $var6 == 1)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) && $var6 == 2)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) && $var6 == 3)
                $var7 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) && $var6 == 4)
                $var7 = 1;
            if ($var7) {
                nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $ptr);
};
$java.nms_BlockButton_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, var$6;
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    $par2 = $var5 & 7;
    $par3 = ($var5 & 8) <= 0 ? 0 : 1;
    var$6 = 0.125;
    if ($par3)
        var$6 = 0.0625;
    if ($par2 == 1)
        nms_Block_setBlockBounds($this, 0.0, 0.375, 0.3125, var$6, 0.625, 0.6875);
    else if ($par2 == 2)
        nms_Block_setBlockBounds($this, 1.0 - var$6, 0.375, 0.3125, 1.0, 0.625, 0.6875);
    else if ($par2 == 3)
        nms_Block_setBlockBounds($this, 0.3125, 0.375, 0.0, 0.6875, 0.625, var$6);
    else if ($par2 == 4)
        nms_Block_setBlockBounds($this, 0.3125, 0.375, 1.0 - var$6, 0.6875, 0.625, 1.0);
};
$java.nms_BlockButton_onBlockClicked = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer) {
    return;
};
$java.nms_BlockButton_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var $var10, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var10 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var11 = $var10 & 7;
        $var12 = 8 - ($var10 & 8) | 0;
        if (!$var12)
            return 1;
        $par6 = $var11 + $var12 | 0;
        $var10 = 3;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par6, $var10);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_markBlockRangeForRenderUpdate($par1World, $par2, $par3, $par4, $par2, $par3, $par4);
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $rt_s(501), 0.30000001192092896, 0.6000000238418579);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3, $par4, $this.$blockID);
        if ($var11 == 1)
            nms_World_notifyBlocksOfNeighborChange($par1World, $par2 - 1 | 0, $par3, $par4, $this.$blockID);
        else if ($var11 == 2)
            nms_World_notifyBlocksOfNeighborChange($par1World, $par2 + 1 | 0, $par3, $par4, $this.$blockID);
        else if ($var11 == 3)
            nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3, $par4 - 1 | 0, $this.$blockID);
        else if ($var11 != 4)
            nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3 - 1 | 0, $par4, $this.$blockID);
        else
            nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3, $par4 + 1 | 0, $this.$blockID);
        $java.nms_BlockButton_tickRate($this, $par1World);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, $var10, $var11, $var12, $ptr);
};
$java.nms_BlockButton_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return (nms_World_getBlockMetadata($par1IBlockAccess, $par2, $par3, $par4) & 8) <= 0 ? 0 : 15;
};
$java.nms_BlockButton_isProvidingStrongPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6, $var7;
    $var6 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    if (!($var6 & 8))
        return 0;
    $var7 = $var6 & 7;
    return $var7 == 5 && $par5 == 1 ? 15 : $var7 == 4 && $par5 == 2 ? 15 : $var7 == 3 && $par5 == 3 ? 15 : $var7 == 2 && $par5 == 4 ? 15 : $var7 == 1 && $par5 == 5 ? 15 : 0;
};
$java.nms_BlockButton_canProvidePower = function($this) {
    return 1;
};
$java.nms_BlockButton_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.3125, 0.375, 0.375, 0.6875, 0.625, 0.625);
};
$java.nms_BlockButton_registerIcons = function($this, $par1IconRegister) {
    return;
};
function nms_BlockButtonStone() {
    nms_BlockButton.call(this);
}
function nms_BlockButtonStone__init_(var_0) {
    var var_1 = new nms_BlockButtonStone();
    $java.nms_BlockButtonStone__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockButtonStone__init_ = function($this, $par1) {
    $java.nms_BlockButton__init_0($this, $par1, 0);
};
$java.nms_BlockButtonStone_getIcon = function($this, $par1, $par2) {
    nms_Block_$callClinit();
    return nms_Block_getBlockTextureFromSide(nms_Block_stone, 1);
};
function nms_BlockSnow() {
    nms_Block.call(this);
}
function nms_BlockSnow__init_(var_0) {
    var var_1 = new nms_BlockSnow();
    $java.nms_BlockSnow__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockSnow__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_snow);
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.125, 1.0);
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
    $java.nms_BlockSnow_setBlockBoundsForSnowDepth($this, 0);
};
$java.nms_BlockSnow_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(1927));
};
$java.nms_BlockSnow_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    var $var5, var$6, var$7, var$8, var$9;
    $var5 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) & 7;
    $par1World = nms_AxisAlignedBB_getAABBPool();
    var$6 = $par2;
    var$7 = var$6 + $this.$minX0;
    var$8 = $par3 + $this.$minY0;
    var$9 = $par4;
    return nms_AABBPool_getAABB($par1World, var$7, var$8, var$9 + $this.$minZ0, var$6 + $this.$maxX0, $par3 + $var5 * 0.125, var$9 + $this.$maxZ0);
};
$java.nms_BlockSnow_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockSnow_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockSnow_setBlockBoundsForItemRender = function($this) {
    $java.nms_BlockSnow_setBlockBoundsForSnowDepth($this, 0);
};
$java.nms_BlockSnow_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    $java.nms_BlockSnow_setBlockBoundsForSnowDepth($this, $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4));
};
$java.nms_BlockSnow_setBlockBoundsForSnowDepth = function($this, $par1) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, (2 * (1 + ($par1 & 7) | 0) | 0) / 16.0, 1.0);
};
$java.nms_BlockSnow_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    var var$5, $var5;
    var$5 = $par3 - 1 | 0;
    $var5 = nms_World_getBlockId($par1World, $par2, var$5, $par4);
    if (!$var5)
        $par2 = 0;
    else if ($var5 == $this.$blockID && (nms_World_getBlockMetadata($par1World, $par2, var$5, $par4) & 7) == 7)
        $par2 = 1;
    else {
        nms_Block_$callClinit();
        $par2 = $var5 != nms_Block_leaves.$blockID && !nms_Block_blocksList.data[$var5].$isOpaqueCube() ? 0 : nms_World_getBlockMaterial($par1World, $par2, var$5, $par4).$blocksMovement();
    }
    return $par2;
};
$java.nms_BlockSnow_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_BlockSnow_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4))
            return;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockSnow_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $par5 != 1 ? nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) : 1;
};
function nms_BlockIce() {
    nms_BlockBreakable.call(this);
}
function nms_BlockIce__init_(var_0) {
    var var_1 = new nms_BlockIce();
    $java.nms_BlockIce__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockIce__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockBreakable__init_0($this, $par1, $rt_s(1984), $java.nms_Material_ice, 0);
    $this.$slipperiness = 0.9800000190734863;
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockIce_getRenderBlockPass = function($this) {
    return 1;
};
$java.nms_BlockIce_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $java.nms_BlockBreakable_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, 1 - $par5 | 0);
};
$java.nms_BlockIce_getMobilityFlag = function($this) {
    return 0;
};
function nms_BlockSnowBlock() {
    nms_Block.call(this);
}
function nms_BlockSnowBlock__init_(var_0) {
    var var_1 = new nms_BlockSnowBlock();
    $java.nms_BlockSnowBlock__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockSnowBlock__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_craftedSnow);
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
function nms_BlockCactus() {
    var a = this; nms_Block.call(a);
    a.$cactusTopIcon = null;
    a.$cactusBottomIcon = null;
}
function nms_BlockCactus__init_(var_0) {
    var var_1 = new nms_BlockCactus();
    $java.nms_BlockCactus__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockCactus__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_cactus);
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockCactus_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $par2 + 0.0625, $par3, $par4 + 0.0625, ($par2 + 1 | 0) - 0.0625, ($par3 + 1 | 0) - 0.0625, ($par4 + 1 | 0) - 0.0625);
};
$java.nms_BlockCactus_getSelectedBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $par2 + 0.0625, $par3, $par4 + 0.0625, ($par2 + 1 | 0) - 0.0625, $par3 + 1 | 0, ($par4 + 1 | 0) - 0.0625);
};
$java.nms_BlockCactus_getIcon = function($this, $par1, $par2) {
    return $par1 == 1 ? $this.$cactusTopIcon : $par1 ? $this.$blockIcon : $this.$cactusBottomIcon;
};
$java.nms_BlockCactus_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockCactus_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockCactus_getRenderType = function($this) {
    return 13;
};
$java.nms_BlockCactus_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_Block_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4) ? $java.nms_BlockCactus_canBlockStay($this, $par1World, $par2, $par3, $par4) : 0;
};
$java.nms_BlockCactus_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_BlockCactus_canBlockStay($this, $par1World, $par2, $par3, $par4))
            return;
        $par5 = 1;
        $ptr = 1;
    case 1:
        nms_World_destroyBlock($par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockCactus_canBlockStay = function($this, $par1World, $par2, $par3, $par4) {
    var $var5;
    if (nms_World_getBlockMaterial($par1World, $par2 - 1 | 0, $par3, $par4).$isSolid())
        return 0;
    if (nms_World_getBlockMaterial($par1World, $par2 + 1 | 0, $par3, $par4).$isSolid())
        return 0;
    if (nms_World_getBlockMaterial($par1World, $par2, $par3, $par4 - 1 | 0).$isSolid())
        return 0;
    if (nms_World_getBlockMaterial($par1World, $par2, $par3, $par4 + 1 | 0).$isSolid())
        return 0;
    $var5 = nms_World_getBlockId($par1World, $par2, $par3 - 1 | 0, $par4);
    nms_Block_$callClinit();
    return $var5 != nms_Block_cactus.$blockID && $var5 != nms_Block_sand.$blockID ? 0 : 1;
};
$java.nms_BlockCactus_onEntityCollidedWithBlock = function($this, $par1World, $par2, $par3, $par4, $par5Entity) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5Entity = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1World = $java.nms_DamageSource_cactus;
        $par2 = 1;
        $ptr = 1;
    case 1:
        $par5Entity.$attackEntityFrom($par1World, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Entity, $ptr);
};
$java.nms_BlockCactus_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2434));
    $this.$cactusTopIcon = $par1IconRegister.$registerIcon($rt_s(2435));
    $this.$cactusBottomIcon = $par1IconRegister.$registerIcon($rt_s(2436));
};
function nms_BlockClay() {
    nms_Block.call(this);
}
function nms_BlockClay__init_(var_0) {
    var var_1 = new nms_BlockClay();
    $java.nms_BlockClay__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockClay__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_clay);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
function nms_BlockReed() {
    nms_Block.call(this);
}
function nms_BlockReed__init_(var_0) {
    var var_1 = new nms_BlockReed();
    $java.nms_BlockReed__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockReed__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_plants);
    nms_Block_setBlockBounds($this, 0.125, 0.0, 0.125, 0.875, 1.0, 0.875);
    $this.$needsRandomTick = 1;
};
$java.nms_BlockReed_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    var var$5, $var5, var$7;
    var$5 = $par3 - 1 | 0;
    $var5 = nms_World_getBlockId($par1World, $par2, var$5, $par4);
    if ($var5 == $this.$blockID)
        $par2 = 1;
    else {
        nms_Block_$callClinit();
        if ($var5 != nms_Block_grass.$blockID && $var5 != nms_Block_dirt.$blockID && $var5 != nms_Block_sand.$blockID)
            $par2 = 0;
        else {
            var$7 = nms_World_getBlockMaterial($par1World, $par2 - 1 | 0, var$5, $par4);
            nms_Material_$callClinit();
            $par2 = var$7 === nms_Material_water ? 1 : nms_World_getBlockMaterial($par1World, $par2 + 1 | 0, var$5, $par4) === nms_Material_water ? 1 : nms_World_getBlockMaterial($par1World, $par2, var$5, $par4 - 1 | 0) === nms_Material_water ? 1 : nms_World_getBlockMaterial($par1World, $par2, var$5, $par4 + 1 | 0) !== nms_Material_water ? 0 : 1;
        }
    }
    return $par2;
};
$java.nms_BlockReed_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockReed_checkBlockCoordValid($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockReed_checkBlockCoordValid = function($this, $par1World, $par2, $par3, $par4) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_BlockReed_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4))
            return;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $ptr);
};
$java.nms_BlockReed_canBlockStay = function($this, $par1World, $par2, $par3, $par4) {
    return $java.nms_BlockReed_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockReed_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockReed_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockReed_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockReed_getRenderType = function($this) {
    return 1;
};
$java.nms_BlockReed_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_reed.$itemID;
};
function nms_BlockJukeBox() {
    nms_BlockContainer.call(this);
    this.$theIcon9 = null;
}
function nms_BlockJukeBox__init_(var_0) {
    var var_1 = new nms_BlockJukeBox();
    $java.nms_BlockJukeBox__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockJukeBox__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_wood);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockJukeBox_getIcon = function($this, $par1, $par2) {
    return $par1 != 1 ? $this.$blockIcon : $this.$theIcon9;
};
$java.nms_BlockJukeBox_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    if (!nms_World_getBlockMetadata($par1World, $par2, $par3, $par4))
        return 0;
    return 1;
};
$java.nms_BlockJukeBox_ejectRecord = function($this, $par1World, $par2, $par3, $par4) {
    return;
};
$java.nms_BlockJukeBox_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    return;
};
$java.nms_BlockJukeBox_createNewTileEntity = function($this, $par1World) {
    $par1World = new nms_TileEntityRecordPlayer;
    nms_TileEntity__init_($par1World);
    return $par1World;
};
$java.nms_BlockJukeBox_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(1945));
    $this.$theIcon9 = $par1IconRegister.$registerIcon($rt_s(2437));
};
$java.nms_BlockJukeBox_hasComparatorInputOverride = function($this) {
    return 1;
};
$java.nms_BlockJukeBox_getComparatorInputOverride = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $var6 = $par1World.$record;
        if ($var6 === null)
            $par2 = 0;
        else {
            $par2 = $var6.$itemID0 + 1 | 0;
            nms_Item_$callClinit();
            $par2 = $par2 - nms_Item_record13.$itemID | 0;
        }
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $ptr);
};
function nms_BlockFence() {
    nms_Block.call(this);
    this.$field_94464_a = null;
}
function nms_BlockFence__init_(var_0, var_1, var_2) {
    var var_3 = new nms_BlockFence();
    $java.nms_BlockFence__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_BlockFence__init_ = function($this, $par1, $par2Str, $par3Material) {
    nms_Block__init_0($this, $par1, $par3Material);
    $this.$field_94464_a = $par2Str;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockFence_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, var$16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var8 = nms_BlockFence_canConnectFenceTo($this, $par1World, $par2, $par3, $par4 - 1 | 0);
        $var9 = nms_BlockFence_canConnectFenceTo($this, $par1World, $par2, $par3, $par4 + 1 | 0);
        $var10 = nms_BlockFence_canConnectFenceTo($this, $par1World, $par2 - 1 | 0, $par3, $par4);
        $var11 = nms_BlockFence_canConnectFenceTo($this, $par1World, $par2 + 1 | 0, $par3, $par4);
        $var12 = 0.375;
        $var13 = 0.625;
        $var14 = 0.375;
        $var15 = 0.625;
        if ($var8)
            $var14 = 0.0;
        if ($var9)
            $var15 = 1.0;
        if (!$var8 && !$var9) {
            $var15 = 0.375;
            var$16 = 0.625;
            if ($var10)
                $var12 = 0.0;
            if ($var11)
                $var13 = 1.0;
            if (!$var10 && !$var11 && !(!$var8 && !$var9)) {
                if ($var8)
                    $var15 = 0.0;
                if ($var9)
                    var$16 = 1.0;
                nms_Block_setBlockBounds($this, $var12, 0.0, $var15, $var13, 1.0, var$16);
                return;
            }
            nms_Block_setBlockBounds($this, $var12, 0.0, $var15, $var13, 1.5, var$16);
            $ptr = 2;
            continue main;
        }
        nms_Block_setBlockBounds($this, $var12, 0.0, $var14, $var13, 1.5, $var15);
        $ptr = 1;
    case 1:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        $var15 = 0.375;
        var$16 = 0.625;
        if ($var10)
            $var12 = 0.0;
        if ($var11)
            $var13 = 1.0;
        if (!$var10 && !$var11 && !(!$var8 && !$var9)) {
            if ($var8)
                $var15 = 0.0;
            if ($var9)
                var$16 = 1.0;
            nms_Block_setBlockBounds($this, $var12, 0.0, $var15, $var13, 1.0, var$16);
            return;
        }
        nms_Block_setBlockBounds($this, $var12, 0.0, $var15, $var13, 1.5, var$16);
        $ptr = 2;
    case 2:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        if ($var8)
            $var15 = 0.0;
        if ($var9)
            var$16 = 1.0;
        nms_Block_setBlockBounds($this, $var12, 0.0, $var15, $var13, 1.0, var$16);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, var$16, $ptr);
};
function nms_BlockFence_setBlockBoundsBasedOnState($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12;
    $var5 = nms_BlockFence_canConnectFenceTo($this, $par1IBlockAccess, $par2, $par3, $par4 - 1 | 0);
    $var6 = nms_BlockFence_canConnectFenceTo($this, $par1IBlockAccess, $par2, $par3, $par4 + 1 | 0);
    $var7 = nms_BlockFence_canConnectFenceTo($this, $par1IBlockAccess, $par2 - 1 | 0, $par3, $par4);
    $var8 = nms_BlockFence_canConnectFenceTo($this, $par1IBlockAccess, $par2 + 1 | 0, $par3, $par4);
    $var9 = 0.375;
    $var10 = 0.625;
    $var11 = 0.375;
    $var12 = 0.625;
    if ($var5)
        $var11 = 0.0;
    if ($var6)
        $var12 = 1.0;
    if ($var7)
        $var9 = 0.0;
    if ($var8)
        $var10 = 1.0;
    nms_Block_setBlockBounds($this, $var9, 0.0, $var11, $var10, 1.0, $var12);
}
$java.nms_BlockFence_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockFence_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockFence_getBlocksMovement = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return 0;
};
$java.nms_BlockFence_getRenderType = function($this) {
    return 11;
};
function nms_BlockFence_canConnectFenceTo($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $par1IBlockAccess.$getBlockId($par2, $par3, $par4);
    if ($var5 != $this.$blockID) {
        nms_Block_$callClinit();
        if ($var5 != nms_Block_fenceGate.$blockID) {
            $var6 = nms_Block_blocksList.data[$var5];
            return $var6 !== null && nms_Material_isOpaque($var6.$blockMaterial) && $var6.$renderAsNormalBlock() ? ($var6.$blockMaterial === $java.nms_Material_pumpkin ? 0 : 1) : 0;
        }
    }
    return 1;
}
$java.nms_BlockFence_isIdAFence = function($par0) {
    nms_Block_$callClinit();
    return $par0 != nms_Block_fence.$blockID && $par0 != nms_Block_netherFence.$blockID ? 0 : 1;
};
$java.nms_BlockFence_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return 1;
};
$java.nms_BlockFence_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($this.$field_94464_a);
};
function nms_BlockPumpkin() {
    var a = this; nms_BlockDirectional.call(a);
    a.$blockType1 = 0;
    a.$field_94474_b = null;
    a.$field_94475_c = null;
}
function nms_BlockPumpkin__init_(var_0, var_1) {
    var var_2 = new nms_BlockPumpkin();
    $java.nms_BlockPumpkin__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockPumpkin__init_ = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_pumpkin);
    $this.$needsRandomTick = 1;
    $this.$blockType1 = $par2;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockPumpkin_getIcon = function($this, $par1, $par2) {
    return $par1 == 1 ? $this.$field_94474_b : !$par1 ? $this.$field_94474_b : $par2 == 2 && $par1 == 2 ? $this.$field_94475_c : $par2 == 3 && $par1 == 5 ? $this.$field_94475_c : !$par2 && $par1 == 3 ? $this.$field_94475_c : $par2 == 1 && $par1 == 4 ? $this.$field_94475_c : $this.$blockIcon;
};
$java.nms_BlockPumpkin_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    var $var5;
    a: {
        b: {
            $var5 = nms_World_getBlockId($par1World, $par2, $par3, $par4);
            if ($var5) {
                nms_Block_$callClinit();
                if (!nms_Block_blocksList.data[$var5].$blockMaterial.$replaceable)
                    break b;
            }
            if (nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4)) {
                $par2 = 1;
                break a;
            }
        }
        $par2 = 0;
    }
    return $par2;
};
$java.nms_BlockPumpkin_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 2.5) & 3;
        var$8 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, var$8, $ptr);
};
$java.nms_BlockPumpkin_registerIcons = function($this, $par1IconRegister) {
    $this.$field_94475_c = $par1IconRegister.$registerIcon(!$this.$blockType1 ? $rt_s(2438) : $rt_s(2439));
    $this.$field_94474_b = $par1IconRegister.$registerIcon($rt_s(2440));
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2441));
};
function nms_BlockNetherrack() {
    nms_Block.call(this);
}
function nms_BlockNetherrack__init_(var_0) {
    var var_1 = new nms_BlockNetherrack();
    $java.nms_BlockNetherrack__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockNetherrack__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_rock);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
function nms_BlockSoulSand() {
    nms_Block.call(this);
}
function nms_BlockSoulSand__init_(var_0) {
    var var_1 = new nms_BlockSoulSand();
    $java.nms_BlockSoulSand__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockSoulSand__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_sand);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockSoulSand_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $par2, $par3, $par4, $par2 + 1 | 0, ($par3 + 1 | 0) - 0.125, $par4 + 1 | 0);
};
$java.nms_BlockSoulSand_onEntityCollidedWithBlock = function($this, $par1World, $par2, $par3, $par4, $par5Entity) {
    $par5Entity.$motionX = $par5Entity.$motionX * 0.4;
    $par5Entity.$motionZ = $par5Entity.$motionZ * 0.4;
};
function nms_BlockGlowStone() {
    nms_Block.call(this);
}
function nms_BlockGlowStone__init_(var_0, var_1) {
    var var_2 = new nms_BlockGlowStone();
    $java.nms_BlockGlowStone__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockGlowStone__init_ = function($this, $par1, $par2Material) {
    nms_Block__init_0($this, $par1, $par2Material);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
function nms_BlockPortal() {
    nms_BlockBreakable.call(this);
}
function nms_BlockPortal__init_(var_0) {
    var var_1 = new nms_BlockPortal();
    $java.nms_BlockPortal__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockPortal__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockBreakable__init_0($this, $par1, $rt_s(1051), nms_Material_portal, 0);
    $this.$needsRandomTick = 1;
};
$java.nms_BlockPortal_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockPortal_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    if ($par1IBlockAccess.$getBlockId($par2 - 1 | 0, $par3, $par4) != $this.$blockID && $par1IBlockAccess.$getBlockId($par2 + 1 | 0, $par3, $par4) != $this.$blockID)
        nms_Block_setBlockBounds($this, 0.375, 0.0, 0.0, 0.625, 1.0, 1.0);
    else
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.375, 1.0, 1.0, 0.625);
};
$java.nms_BlockPortal_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockPortal_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockPortal_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, $var11, $var9, $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var11 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = 0;
        $var7 = 1;
        $par5 = $par2 - 1 | 0;
        if (!(nms_World_getBlockId($par1World, $par5, $par3, $par4) != $this.$blockID && nms_World_getBlockId($par1World, $par2 + 1 | 0, $par3, $par4) != $this.$blockID)) {
            $var6 = 1;
            $var7 = 0;
        }
        $var8 = $par3;
        while (true) {
            $var11 = $var8 - 1 | 0;
            if (nms_World_getBlockId($par1World, $par2, $var11, $par4) != $this.$blockID)
                break;
            $var8 = $var8 + (-1) | 0;
        }
        $var11 = nms_World_getBlockId($par1World, $par2, $var11, $par4);
        nms_Block_$callClinit();
        if ($var11 != nms_Block_obsidian.$blockID) {
            $ptr = 1;
            continue main;
        }
        $var9 = 1;
        while ($var9 < 4 && nms_World_getBlockId($par1World, $par2, $var8 + $var9 | 0, $par4) == $this.$blockID) {
            $var9 = $var9 + 1 | 0;
        }
        if ($var9 == 3 && nms_World_getBlockId($par1World, $par2, $var8 + $var9 | 0, $par4) == nms_Block_obsidian.$blockID) {
            $var10 = nms_World_getBlockId($par1World, $par5, $par3, $par4) != $this.$blockID && nms_World_getBlockId($par1World, $par2 + 1 | 0, $par3, $par4) != $this.$blockID ? 0 : 1;
            $var11 = nms_World_getBlockId($par1World, $par2, $par3, $par4 - 1 | 0) != $this.$blockID && nms_World_getBlockId($par1World, $par2, $par3, $par4 + 1 | 0) != $this.$blockID ? 0 : 1;
            if ($var10 && $var11) {
                $ptr = 3;
                continue main;
            }
            a: {
                $par5 = $par2 + $var6 | 0;
                $var8 = $par4 + $var7 | 0;
                if (!(nms_World_getBlockId($par1World, $par5, $par3, $var8) == nms_Block_obsidian.$blockID && nms_World_getBlockId($par1World, $par2 - $var6 | 0, $par3, $par4 - $var7 | 0) == $this.$blockID)) {
                    if (nms_World_getBlockId($par1World, $par2 - $var6 | 0, $par3, $par4 - $var7 | 0) != nms_Block_obsidian.$blockID)
                        break a;
                    if (nms_World_getBlockId($par1World, $par5, $par3, $var8) != $this.$blockID)
                        break a;
                }
                return;
            }
            $ptr = 4;
            continue main;
        }
        $ptr = 2;
        continue main;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $var8, $var11, $var9, $var10, $ptr);
};
$java.nms_BlockPortal_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, $var9, $var10, $var11;
    if ($par1IBlockAccess.$getBlockId($par2, $par3, $par4) == $this.$blockID)
        return 0;
    $var6 = $par1IBlockAccess.$getBlockId($par2 - 1 | 0, $par3, $par4) == $this.$blockID && $par1IBlockAccess.$getBlockId($par2 - 2 | 0, $par3, $par4) != $this.$blockID ? 1 : 0;
    $var7 = $par1IBlockAccess.$getBlockId($par2 + 1 | 0, $par3, $par4) == $this.$blockID && $par1IBlockAccess.$getBlockId($par2 + 2 | 0, $par3, $par4) != $this.$blockID ? 1 : 0;
    $var8 = $par1IBlockAccess.$getBlockId($par2, $par3, $par4 - 1 | 0) == $this.$blockID && $par1IBlockAccess.$getBlockId($par2, $par3, $par4 - 2 | 0) != $this.$blockID ? 1 : 0;
    $var9 = $par1IBlockAccess.$getBlockId($par2, $par3, $par4 + 1 | 0) == $this.$blockID && $par1IBlockAccess.$getBlockId($par2, $par3, $par4 + 2 | 0) != $this.$blockID ? 1 : 0;
    $var10 = !$var6 && !$var7 ? 0 : 1;
    $var11 = !$var8 && !$var9 ? 0 : 1;
    return $var10 && $par5 == 4 ? 1 : $var10 && $par5 == 5 ? 1 : $var11 && $par5 == 2 ? 1 : $var11 && $par5 == 3 ? 1 : 0;
};
$java.nms_BlockPortal_getRenderBlockPass = function($this) {
    return 1;
};
$java.nms_BlockPortal_onEntityCollidedWithBlock = function($this, $par1World, $par2, $par3, $par4, $par5Entity) {
    if ($par5Entity.$ridingEntity === null && $par5Entity.$riddenByEntity === null)
        nms_Entity_setInPortal($par5Entity);
};
$java.nms_BlockPortal_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var var$6, var$7, var$8, var$9, var$10, var$11, $var6, var$13, var$14, var$15, var$16, $var7, $var9, $var11, $var19, var$21, var$22, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var19 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var6 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World
        = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nle_EaglercraftRandom_nextInt($par5Random, 100)) {
            var$6 = $par2 + 0.5;
            var$7 = $par3 + 0.5;
            var$8 = $par4 + 0.5;
            var$9 = $rt_s(2442);
            var$10 = 0.5;
            var$11 = nle_EaglercraftRandom_nextFloat($par5Random) * 0.4000000059604645 + 0.800000011920929;
            $var6 = 0;
            $ptr = 1;
            continue main;
        }
        $var6 = 0;
        var$10 = $par2;
        var$11 = $par3;
        var$13 = $par4;
        var$14 = $par2 - 1 | 0;
        var$15 = $par2 + 1 | 0;
        var$16 = $par2 + 0.5;
        var$7 = $par4 + 0.5;
        if ($var6 >= 4)
            return;
        $var7 = var$10 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var9 = var$11 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var11 = var$13 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var19 = (nle_EaglercraftRandom_nextInt($par5Random, 2) * 2 | 0) - 1 | 0;
        var$8 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.5;
        var$21 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.5;
        var$22 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.5;
        if (nms_World_getBlockId($par1World, var$14, $par3, $par4) != $this.$blockID && nms_World_getBlockId($par1World, var$15, $par3, $par4) != $this.$blockID) {
            $var7 = var$16 + 0.25 * $var19;
            var$8 = nle_EaglercraftRandom_nextFloat($par5Random) * 2.0 * $var19;
        } else {
            $var11 = var$7 + 0.25 * $var19;
            var$22 = nle_EaglercraftRandom_nextFloat($par5Random) * 2.0 * $var19;
        }
        var$9 = $rt_s(1051);
        $ptr = 2;
        continue main;
    case 1:
        nms_WorldClient_playSound($par1World, var$6, var$7, var$8, var$9, var$10, var$11, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = 0;
        var$10 = $par2;
        var$11 = $par3;
        var$13 = $par4;
        var$14 = $par2 - 1 | 0;
        var$15 = $par2 + 1 | 0;
        var$16 = $par2 + 0.5;
        var$7 = $par4 + 0.5;
        if ($var6 >= 4)
            return;
        $var7 = var$10 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var9 = var$11 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var11 = var$13 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var19 = (nle_EaglercraftRandom_nextInt($par5Random, 2) * 2 | 0) - 1 | 0;
        var$8 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.5;
        var$21 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.5;
        var$22 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.5;
        if (nms_World_getBlockId($par1World, var$14, $par3, $par4) != $this.$blockID && nms_World_getBlockId($par1World, var$15, $par3, $par4) != $this.$blockID) {
            $var7 = var$16 + 0.25 * $var19;
            var$8 = nle_EaglercraftRandom_nextFloat($par5Random) * 2.0 * $var19;
        } else {
            $var11 = var$7 + 0.25 * $var19;
            var$22 = nle_EaglercraftRandom_nextFloat($par5Random) * 2.0 * $var19;
        }
        var$9 = $rt_s(1051);
        $ptr = 2;
    case 2:
        nms_World_spawnParticle($par1World, var$9, $var7, $var9, $var11, var$8, var$21, var$22);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 >= 4)
            return;
        $var7 = var$10 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var9 = var$11 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var11 = var$13 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var19 = (nle_EaglercraftRandom_nextInt($par5Random, 2) * 2 | 0) - 1 | 0;
        var$8 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.5;
        var$21 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.5;
        var$22 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.5;
        if (nms_World_getBlockId($par1World, var$14, $par3, $par4) != $this.$blockID && nms_World_getBlockId($par1World, var$15, $par3, $par4) != $this.$blockID) {
            $var7 = var$16 + 0.25 * $var19;
            var$8 = nle_EaglercraftRandom_nextFloat($par5Random) * 2.0 * $var19;
        } else {
            $var11 = var$7 + 0.25 * $var19;
            var$22 = nle_EaglercraftRandom_nextFloat($par5Random) * 2.0 * $var19;
        }
        var$9 = $rt_s(1051);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, var$6, var$7, var$8, var$9, var$10, var$11, $var6, var$13, var$14, var$15, var$16, $var7, $var9, $var11, $var19, var$21, var$22, $ptr);
};
$java.nms_BlockPortal_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    return 0;
};
function nms_BlockCake() {
    var a = this; nms_Block.call(a);
    a.$cakeTopIcon = null;
    a.$cakeBottomIcon = null;
    a.$field_94382_c = null;
}
function nms_BlockCake__init_(var_0) {
    var var_1 = new nms_BlockCake();
    $java.nms_BlockCake__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockCake__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_cake);
    $this.$needsRandomTick = 1;
};
$java.nms_BlockCake_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    nms_Block_setBlockBounds($this, (1 + ($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) * 2 | 0) | 0) / 16.0, 0.0, 0.0625, 0.9375, 0.5, 0.9375);
};
$java.nms_BlockCake_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.0625, 0.0, 0.0625, 0.9375, 0.5, 0.9375);
};
$java.nms_BlockCake_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    var $var7;
    $var7 = (1 + (nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) * 2 | 0) | 0) / 16.0;
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $par2 + $var7, $par3, $par4 + 0.0625, ($par2 + 1 | 0) - 0.0625, $par3 + 0.5 - 0.0625, ($par4 + 1 | 0) - 0.0625);
};
$java.nms_BlockCake_getSelectedBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    var $var7;
    $var7 = (1 + (nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) * 2 | 0) | 0) / 16.0;
    return nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $par2 + $var7, $par3, $par4 + 0.0625, ($par2 + 1 | 0) - 0.0625, $par3 + 0.5, ($par4 + 1 | 0) - 0.0625);
};
$java.nms_BlockCake_getIcon = function($this, $par1, $par2) {
    return $par1 == 1 ? $this.$cakeTopIcon : !$par1 ? $this.$cakeBottomIcon : $par2 > 0 && $par1 == 4 ? $this.$field_94382_c : $this.$blockIcon;
};
$java.nms_BlockCake_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2443));
    $this.$field_94382_c = $par1IconRegister.$registerIcon($rt_s(2444));
    $this.$cakeTopIcon = $par1IconRegister.$registerIcon($rt_s(2445));
    $this.$cakeBottomIcon = $par1IconRegister.$registerIcon($rt_s(2446));
};
$java.nms_BlockCake_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockCake_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockCake_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockCake_eatCakeSlice($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, $ptr);
};
$java.nms_BlockCake_onBlockClicked = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockCake_eatCakeSlice($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $ptr);
};
$java.nms_BlockCake_eatCakeSlice = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer) {
    var $var6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_EntityPlayer_canEat($par5EntityPlayer, 0))
            return;
        $java.nms_FoodStats_addStats0($par5EntityPlayer.$foodStats, 2, 0.10000000149011612);
        $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) + 1 | 0;
        if ($var6 >= 6) {
            $ptr = 2;
            continue main;
        }
        var$7 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $var6, var$7, $ptr);
};
$java.nms_BlockCake_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_Block_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4) ? $java.nms_BlockCake_canBlockStay($this, $par1World, $par2, $par3, $par4) : 0;
};
$java.nms_BlockCake_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_BlockCake_canBlockStay($this, $par1World, $par2, $par3, $par4))
            return;
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockCake_canBlockStay = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_getBlockMaterial($par1World, $par2, $par3 - 1 | 0, $par4).$isSolid();
};
$java.nms_BlockCake_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_cake.$itemID;
};
function nms_BlockRedstoneLogic() {
    nms_BlockDirectional.call(this);
    this.$isRepeaterPowered = 0;
}
$java.nms_BlockRedstoneLogic__init_ = function(var_0, var_1) {
    var var_2 = new nms_BlockRedstoneLogic();
    $java.nms_BlockRedstoneLogic__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.nms_BlockRedstoneLogic__init_0 = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_circuits);
    $this.$isRepeaterPowered = $par2;
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.125, 1.0);
};
$java.nms_BlockRedstoneLogic_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockRedstoneLogic_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) ? nms_Block_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4) : 0;
};
$java.nms_BlockRedstoneLogic_canBlockStay = function($this, $par1World, $par2, $par3, $par4) {
    return !nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) ? 0 : 1;
};
$java.nms_BlockRedstoneLogic_getIcon = function($this, $par1, $par2) {
    var var$3;
    if ($par1) {
        if ($par1 == 1)
            var$3 = $this.$blockIcon;
        else {
            nms_Block_$callClinit();
            var$3 = nms_Block_getBlockTextureFromSide(nms_Block_stoneDoubleSlab, 1);
        }
    } else if (!$this.$isRepeaterPowered) {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_torchRedstoneIdle, $par1);
    } else {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_torchRedstoneActive, $par1);
    }
    return var$3;
};
$java.nms_BlockRedstoneLogic_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon(!$this.$isRepeaterPowered ? $rt_s(2447) : $rt_s(2448));
};
$java.nms_BlockRedstoneLogic_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $par5 && $par5 != 1 ? 1 : 0;
};
$java.nms_BlockRedstoneLogic_func_96470_c = function($this, $par1) {
    return $this.$isRepeaterPowered;
};
$java.nms_BlockRedstoneLogic_isProvidingStrongPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockRedstoneLogic_isProvidingWeakPower($this, $par1IBlockAccess, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockRedstoneLogic_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
        if (!$this.$func_96470_c($var6))
            return 0;
        $var7 = nms_BlockDirectional_getDirection($var6);
        if (!$var7 && $par5 == 3) {
            $ptr = 1;
            continue main;
        }
        if ($var7 == 1 && $par5 == 4) {
            $ptr = 2;
            continue main;
        }
        if ($var7 == 2 && $par5 == 2) {
            $ptr = 3;
            continue main;
        }
        if ($var7 == 3 && $par5 == 5) {
            $ptr = 4;
            continue main;
        }
        return 0;
    case 1:
        $tmp = $this.$func_94480_d($par1IBlockAccess, $par2, $par3, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    case 2:
        $tmp = $this.$func_94480_d($par1IBlockAccess, $par2, $par3, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    case 3:
        $tmp = $this.$func_94480_d($par1IBlockAccess, $par2, $par3, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    case 4:
        $tmp = $this.$func_94480_d($par1IBlockAccess, $par2, $par3, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $par5, $var6, $var7, $ptr);
};
$java.nms_BlockRedstoneLogic_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_BlockRedstoneLogic_canBlockStay($this, $par1World, $par2, $par3, $par4)) {
            $ptr = 1;
            continue main;
        }
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
        $ptr = 2;
        continue main;
    case 1:
        $this.$func_94479_f($par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2 + 1 | 0, $par3, $par4, $this.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2 - 1 | 0, $par3, $par4, $this.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3, $par4 + 1 | 0, $this.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3, $par4 - 1 | 0, $this.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3 - 1 | 0, $par4, $this.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3 + 1 | 0, $par4, $this.$blockID);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockRedstoneLogic_func_94479_f = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $ptr = 1;
    case 1:
        $tmp = $this.$func_94476_e($par1World, $par2, $par3, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        if ($par5)
            return;
        $ptr = 2;
    case 2:
        a: {
            $tmp = $this.$func_94478_d($par1World, $par2, $par3, $par4, $var6);
            if ($rt_suspending()) {
                break main;
            }
            $var7 = $tmp;
            if (!($this.$isRepeaterPowered && !$var7)) {
                if ($this.$isRepeaterPowered)
                    break a;
                if (!$var7)
                    break a;
            }
            $java.nms_BlockRedstoneLogic_func_83011_d($this, $par1World, $par2, $par3, $par4, $var6);
            $this.$func_94481_j_($var6);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $ptr);
};
$java.nms_BlockRedstoneLogic_func_94476_e = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return 0;
};
$java.nms_BlockRedstoneLogic_func_94478_d = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $this.$getInputStrength($par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2 <= 0 ? 0 : 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockRedstoneLogic_getInputStrength = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_BlockDirectional_getDirection($par5);
        $var7 = $par2 + nms_Direction_offsetX.data[$var6] | 0;
        $var8 = $par4 + nms_Direction_offsetZ.data[$var6] | 0;
        $par2 = nms_Direction_directionToFacing.data[$var6];
        $ptr = 1;
    case 1:
        $tmp = nms_World_getIndirectPowerLevelTo($par1World, $var7, $par3, $var8, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = $tmp;
        if ($var9 < 15) {
            $par2 = nms_World_getBlockId($par1World, $var7, $par3, $var8);
            nms_Block_$callClinit();
            $var9 = jl_Math_max($var9, $par2 != nms_Block_redstoneWire.$blockID ? 0 : nms_World_getBlockMetadata($par1World, $var7, $par3, $var8));
        }
        return $var9;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $var8, $var9, $ptr);
};
$java.nms_BlockRedstoneLogic_func_94482_f = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        switch (nms_BlockDirectional_getDirection($par5)) {
            case 0:
            case 2:
                $var6 = $par2 - 1 | 0;
                $par5 = 4;
                $ptr = 1;
                continue main;
            case 1:
            case 3:
                $par5 = $par4 + 1 | 0;
                $var6 = 3;
                $ptr = 3;
                continue main;
            default:
        }
        return 0;
    case 1:
        $tmp = $java.nms_BlockRedstoneLogic_func_94488_g($this, $par1IBlockAccess, $var6, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        $var6 = $par2 + 1 | 0;
        $par2 = 5;
        $ptr = 2;
    case 2:
        $tmp = $java.nms_BlockRedstoneLogic_func_94488_g($this, $par1IBlockAccess, $var6, $par3, $par4, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return jl_Math_max($par5, $par2);
    case 3:
        $tmp = $java.nms_BlockRedstoneLogic_func_94488_g($this, $par1IBlockAccess, $par2, $par3, $par5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        $par4 = $par4 - 1 | 0;
        $var6 = 2;
        $ptr = 4;
    case 4:
        $tmp = $java.nms_BlockRedstoneLogic_func_94488_g($this, $par1IBlockAccess, $par2, $par3, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return jl_Math_max($par5, $par2);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $par5, $var6, $ptr);
};
$java.nms_BlockRedstoneLogic_func_94488_g = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = $par1IBlockAccess.$getBlockId($par2, $par3, $par4);
        if (!$this.$func_94477_d($var6))
            $par2 = 0;
        else {
            nms_Block_$callClinit();
            if ($var6 != nms_Block_redstoneWire.$blockID) {
                $ptr = 1;
                continue main;
            }
            $par2 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
        }
        return $par2;
    case 1:
        $tmp = $par1IBlockAccess.$isBlockProvidingPowerTo($par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $par5, $var6, $ptr);
};
$java.nms_BlockRedstoneLogic_canProvidePower = function($this) {
    return 1;
};
$java.nms_BlockRedstoneLogic_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = ((nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 3) + 2 | 0) % 4 | 0;
        $var8 = 3;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, $var8);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $tmp = $this.$func_94478_d($par1World, $par2, $par3, $par4, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, $var8, $ptr);
};
$java.nms_BlockRedstoneLogic_func_94483_i_ = function($this, $par1World, $par2, $par3, $par4) {
    var $var5;
    $var5 = nms_BlockDirectional_getDirection(nms_World_getBlockMetadata($par1World, $par2, $par3, $par4));
    if ($var5 == 1)
        nms_World_notifyBlocksOfNeighborChange0($par1World, $par2 + 1 | 0, $par3, $par4, $this.$blockID, 4);
    if ($var5 == 3)
        nms_World_notifyBlocksOfNeighborChange0($par1World, $par2 - 1 | 0, $par3, $par4, $this.$blockID, 5);
    if ($var5 == 2)
        nms_World_notifyBlocksOfNeighborChange0($par1World, $par2, $par3, $par4 + 1 | 0, $this.$blockID, 2);
    if (!$var5)
        nms_World_notifyBlocksOfNeighborChange0($par1World, $par2, $par3, $par4 - 1 | 0, $this.$blockID, 3);
};
$java.nms_BlockRedstoneLogic_onBlockDestroyedByPlayer = function($this, $par1World, $par2, $par3, $par4, $par5) {
    if ($this.$isRepeaterPowered) {
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2 + 1 | 0, $par3, $par4, $this.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2 - 1 | 0, $par3, $par4, $this.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3, $par4 + 1 | 0, $this.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3, $par4 - 1 | 0, $this.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3 - 1 | 0, $par4, $this.$blockID);
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3 + 1 | 0, $par4, $this.$blockID);
    }
};
$java.nms_BlockRedstoneLogic_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockRedstoneLogic_func_94477_d = function($this, $par1) {
    var $var2;
    nms_Block_$callClinit();
    $var2 = nms_Block_blocksList.data[$par1];
    return $var2 !== null && $var2.$canProvidePower() ? 1 : 0;
};
$java.nms_BlockRedstoneLogic_func_94480_d = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return 15;
};
$java.nms_BlockRedstoneLogic_isRedstoneRepeaterBlockID = function($par0) {
    nms_Block_$callClinit();
    return !nms_BlockRedstoneLogic_func_94487_f(nms_Block_redstoneRepeaterIdle, $par0) && !nms_BlockRedstoneLogic_func_94487_f(nms_Block_redstoneComparatorIdle, $par0) ? 0 : 1;
};
function nms_BlockRedstoneLogic_func_94487_f($this, $par1) {
    return $par1 != $this.$func_94485_e().$blockID && $par1 != $this.$func_94484_i().$blockID ? 0 : 1;
}
$java.nms_BlockRedstoneLogic_func_83011_d = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6;
    $var6 = nms_BlockDirectional_getDirection($par5);
    if (!$java.nms_BlockRedstoneLogic_isRedstoneRepeaterBlockID(nms_World_getBlockId($par1World, $par2 - nms_Direction_offsetX.data[$var6] | 0, $par3, $par4 - nms_Direction_offsetZ.data[$var6] | 0)))
        return 0;
    return nms_BlockDirectional_getDirection(nms_World_getBlockMetadata($par1World, $par2 - nms_Direction_offsetX.data[$var6] | 0, $par3, $par4 - nms_Direction_offsetZ.data[$var6] | 0)) == $var6 ? 0 : 1;
};
function nms_BlockRedstoneRepeater() {
    nms_BlockRedstoneLogic.call(this);
}
var nms_BlockRedstoneRepeater_repeaterTorchOffset = null;
$java.nms_BlockRedstoneRepeater_repeaterState = null;
function nms_BlockRedstoneRepeater__init_(var_0, var_1) {
    var var_2 = new nms_BlockRedstoneRepeater();
    $java.nms_BlockRedstoneRepeater__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockRedstoneRepeater__init_ = function($this, $par1, $par2) {
    $java.nms_BlockRedstoneLogic__init_0($this, $par1, $par2);
};
$java.nms_BlockRedstoneRepeater_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var10 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $par6 = ((($var10 & 12) >> 2) + 1 | 0) << 2 & 12 | $var10 & 3;
        $var10 = 3;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par6, $var10);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, $var10, $ptr);
};
$java.nms_BlockRedstoneRepeater_func_94481_j_ = function($this, $par1) {
    return $java.nms_BlockRedstoneRepeater_repeaterState.data[($par1 & 12) >> 2] * 2 | 0;
};
$java.nms_BlockRedstoneRepeater_func_94485_e = function($this) {
    nms_Block_$callClinit();
    return nms_Block_redstoneRepeaterActive;
};
$java.nms_BlockRedstoneRepeater_func_94484_i = function($this) {
    nms_Block_$callClinit();
    return nms_Block_redstoneRepeaterIdle;
};
$java.nms_BlockRedstoneRepeater_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_redstoneRepeater.$itemID;
};
$java.nms_BlockRedstoneRepeater_getRenderType = function($this) {
    return 15;
};
function nms_BlockRedstoneRepeater_func_94476_e($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockRedstoneLogic_func_94482_f($this, $par1IBlockAccess, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2 <= 0 ? 0 : 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $par5, $ptr);
}
$java.nms_BlockRedstoneRepeater_func_94477_d = function($this, $par1) {
    return $java.nms_BlockRedstoneLogic_isRedstoneRepeaterBlockID($par1);
};
$java.nms_BlockRedstoneRepeater_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var $var6, $var7, $var8, $var10, $var12, $var14, $var16, $var18, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$isRepeaterPowered)
            return;
        a: {
            $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
            $var7 = nms_BlockDirectional_getDirection($var6);
            $var8 = $par2 + 0.5 + (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.2;
            $var10 = $par3 + 0.4000000059604645 + (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.2;
            $var12 = $par4 + 0.5 + (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.2;
            $var14 = 0.0;
            $var16 = 0.0;
            if (!nle_EaglercraftRandom_nextInt($par5Random, 2))
                b: {
                    switch ($var7) {
                        case 0:
                            $var16 = (-0.3125);
                            break b;
                        case 1:
                            $var14 = 0.3125;
                            break b;
                        case 2:
                            $var16 = 0.3125;
                            break b;
                        case 3:
                            $var14 = (-0.3125);
                            break b;
                        default:
                    }
                }
            else {
                $var18 = ($var6 & 12) >> 2;
                switch ($var7) {
                    case 0:
                        $var16 = nms_BlockRedstoneRepeater_repeaterTorchOffset.data[$var18];
                        break a;
                    case 1:
                        $var14 =  -nms_BlockRedstoneRepeater_repeaterTorchOffset.data[$var18];
                        break a;
                    case 2:
                        $var16 =  -nms_BlockRedstoneRepeater_repeaterTorchOffset.data[$var18];
                        break a;
                    case 3:
                        $var14 = nms_BlockRedstoneRepeater_repeaterTorchOffset.data[$var18];
                        break a;
                    default:
                }
            }
        }
        $par5Random = $rt_s(1175);
        $var8 = $var8 + $var14;
        $var16 = $var12 + $var16;
        var$14 = 0.0;
        $var12 = 0.0;
        $var14 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1World, $par5Random, $var8, $var10, $var16, var$14, $var12, $var14);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, $var6, $var7, $var8, $var10, $var12, $var14, $var16, $var18, var$14, $ptr);
};
function nms_BlockRedstoneRepeater__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createDoubleArray(4);
    var$2 = var$1.data;
    var$2[0] = (-0.0625);
    var$2[1] = 0.0625;
    var$2[2] = 0.1875;
    var$2[3] = 0.3125;
    nms_BlockRedstoneRepeater_repeaterTorchOffset = var$1;
    var$1 = $rt_createIntArray(4);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 2;
    var$2[2] = 3;
    var$2[3] = 4;
    $java.nms_BlockRedstoneRepeater_repeaterState = var$1;
}
function nms_BlockLockedChest() {
    nms_Block.call(this);
}
function nms_BlockLockedChest__init_(var_0) {
    var var_1 = new nms_BlockLockedChest();
    $java.nms_BlockLockedChest__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockLockedChest__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_wood);
};
$java.nms_BlockLockedChest_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return 1;
};
$java.nms_BlockLockedChest_registerIcons = function($this, $par1IconRegister) {
    return;
};
function nms_BlockTrapDoor() {
    nms_Block.call(this);
}
function nms_BlockTrapDoor__init_(var_0, var_1) {
    var var_2 = new nms_BlockTrapDoor();
    $java.nms_BlockTrapDoor__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockTrapDoor__init_ = function($this, $par1, $par2Material) {
    nms_Block__init_0($this, $par1, $par2Material);
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
};
$java.nms_BlockTrapDoor_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockTrapDoor_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockTrapDoor_getBlocksMovement = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return $java.nms_BlockTrapDoor_isTrapdoorOpen(nms_World_getBlockMetadata($par1IBlockAccess, $par2, $par3, $par4)) ? 0 : 1;
};
$java.nms_BlockTrapDoor_getRenderType = function($this) {
    return 0;
};
$java.nms_BlockTrapDoor_getSelectedBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockTrapDoor_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getSelectedBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockTrapDoor_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockTrapDoor_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getCollisionBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockTrapDoor_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    $java.nms_BlockTrapDoor_setBlockBoundsForBlockRender($this, $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4));
};
$java.nms_BlockTrapDoor_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.0, 0.40625, 0.0, 1.0, 0.59375, 1.0);
};
$java.nms_BlockTrapDoor_setBlockBoundsForBlockRender = function($this, $par1) {
    if (!($par1 & 8))
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.1875, 1.0);
    else
        nms_Block_setBlockBounds($this, 0.0, 0.8125, 0.0, 1.0, 1.0, 1.0);
    if ($java.nms_BlockTrapDoor_isTrapdoorOpen($par1)) {
        $par1 = $par1 & 3;
        if (!$par1)
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.8125, 1.0, 1.0, 1.0);
        if ($par1 == 1)
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 0.1875);
        if ($par1 == 2)
            nms_Block_setBlockBounds($this, 0.8125, 0.0, 0.0, 1.0, 1.0, 1.0);
        if ($par1 == 3)
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 0.1875, 1.0, 1.0);
    }
};
$java.nms_BlockTrapDoor_onBlockClicked = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer) {
    return;
};
$java.nms_BlockTrapDoor_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var var$10, $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();var$10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$10 = $this.$blockMaterial;
        nms_Material_$callClinit();
        if (var$10 === nms_Material_iron)
            return 1;
        $par6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) ^ 4;
        $var10 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par6, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = 1003;
        $par6 = 0;
        $ptr = 2;
    case 2:
        nms_World_playAuxSFXAtEntity($par1World, $par5EntityPlayer, $var10, $par2, $par3, $par4, $par6);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, var$10, $var10, $ptr);
};
$java.nms_BlockTrapDoor_collisionRayTrace = function($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par6Vec3 = $thread.pop();$par5Vec3 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockTrapDoor_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $tmp = nms_Block_collisionRayTrace($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return $par1World;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Vec3, $par6Vec3, $ptr);
};
$java.nms_BlockTrapDoor_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    var $var10;
    $var10 = 0;
    if ($par5 == 2)
        $var10 = 0;
    if ($par5 == 3)
        $var10 = 1;
    if ($par5 == 4)
        $var10 = 2;
    if ($par5 == 5)
        $var10 = 3;
    if ($par5 != 1 && $par5 && $par7 > 0.5)
        $var10 = $var10 | 8;
    return $var10;
};
$java.nms_BlockTrapDoor_canPlaceBlockOnSide = function($this, $par1World, $par2, $par3, $par4, $par5) {
    if (!$par5)
        return 0;
    if ($par5 == 1)
        return 0;
    if ($par5 == 2)
        $par4 = $par4 + 1 | 0;
    if ($par5 == 3)
        $par4 = $par4 + (-1) | 0;
    if ($par5 == 4)
        $par2 = $par2 + 1 | 0;
    if ($par5 == 5)
        $par2 = $par2 + (-1) | 0;
    $par2 = nms_World_getBlockId($par1World, $par2, $par3, $par4);
    if ($par2 <= 0)
        $par2 = 0;
    else {
        nms_Block_$callClinit();
        $par1World = nms_Block_blocksList.data[$par2];
        $par2 = !($par1World !== null && nms_Material_isOpaque($par1World.$blockMaterial) && $par1World.$renderAsNormalBlock()) && $par1World !== nms_Block_glowStone && !($par1World instanceof nms_BlockHalfSlab) && !($par1World instanceof nms_BlockStairs) ? 0 : 1;
    }
    return $par2;
};
$java.nms_BlockTrapDoor_isTrapdoorOpen = function($par0) {
    return !($par0 & 4) ? 0 : 1;
};
function nms_BlockSilverfish() {
    nms_Block.call(this);
}
var nms_BlockSilverfish_silverfishStoneTypes = null;
function nms_BlockSilverfish__init_(var_0) {
    var var_1 = new nms_BlockSilverfish();
    $java.nms_BlockSilverfish__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockSilverfish__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_clay);
    nms_Block_setHardness($this, 0.0);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockSilverfish_getIcon = function($this, $par1, $par2) {
    var var$3;
    if ($par2 == 1) {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_cobblestone, $par1);
    } else if ($par2 != 2) {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_stone, $par1);
    } else {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_stoneBrick, $par1);
    }
    return var$3;
};
$java.nms_BlockSilverfish_registerIcons = function($this, $par1IconRegister) {
    return;
};
$java.nms_BlockSilverfish_getDamageValue = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
};
$java.nms_BlockSilverfish_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    var $var4;
    $var4 = 0;
    while ($var4 < 3) {
        ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, $var4));
        $var4 = $var4 + 1 | 0;
    }
};
function nms_BlockSilverfish__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(1922);
    var$2[1] = $rt_s(2384);
    var$2[2] = $rt_s(1786);
    nms_BlockSilverfish_silverfishStoneTypes = var$1;
}
function nms_BlockStoneBrick() {
    nms_Block.call(this);
    this.$field_94408_c = null;
}
var nms_BlockStoneBrick_STONE_BRICK_TYPES = null;
$java.nms_BlockStoneBrick_field_94407_b = null;
function nms_BlockStoneBrick__init_(var_0) {
    var var_1 = new nms_BlockStoneBrick();
    $java.nms_BlockStoneBrick__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockStoneBrick__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_rock);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockStoneBrick_getIcon = function($this, $par1, $par2) {
    if (!($par2 >= 0 && $par2 < $java.nms_BlockStoneBrick_field_94407_b.data.length))
        $par2 = 0;
    return $this.$field_94408_c.data[$par2];
};
$java.nms_BlockStoneBrick_damageDropped = function($this, $par1) {
    return $par1;
};
$java.nms_BlockStoneBrick_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    var $var4;
    $var4 = 0;
    while ($var4 < 4) {
        ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, $var4));
        $var4 = $var4 + 1 | 0;
    }
};
$java.nms_BlockStoneBrick_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$field_94408_c = $rt_createArray(nms_Icon, $java.nms_BlockStoneBrick_field_94407_b.data.length);
    $var2 = 0;
    while ($var2 < $this.$field_94408_c.data.length) {
        $this.$field_94408_c.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockStoneBrick_field_94407_b.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockStoneBrick__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(222);
    var$2[1] = $rt_s(2449);
    var$2[2] = $rt_s(2450);
    var$2[3] = $rt_s(2355);
    nms_BlockStoneBrick_STONE_BRICK_TYPES = var$1;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(1996);
    var$2[1] = $rt_s(2451);
    var$2[2] = $rt_s(2452);
    var$2[3] = $rt_s(2453);
    $java.nms_BlockStoneBrick_field_94407_b = var$1;
}
function nms_BlockMushroomCap() {
    var a = this; nms_Block.call(a);
    a.$mushroomType = 0;
    a.$iconArray9 = null;
    a.$field_94426_cO = null;
    a.$field_94427_cP = null;
}
$java.nms_BlockMushroomCap_field_94429_a = null;
function nms_BlockMushroomCap__init_(var_0, var_1, var_2) {
    var var_3 = new nms_BlockMushroomCap();
    $java.nms_BlockMushroomCap__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_BlockMushroomCap__init_ = function($this, $par1, $par2Material, $par3) {
    nms_Block__init_0($this, $par1, $par2Material);
    $this.$mushroomType = $par3;
};
$java.nms_BlockMushroomCap_getIcon = function($this, $par1, $par2) {
    var var$3, var$4, var$5;
    a: {
        if ($par2 == 10 && $par1 > 1) {
            var$3 = $this.$field_94426_cO;
            break a;
        }
        var$4 = $rt_compare($par2, 1);
        if (var$4 >= 0 && $par2 <= 9 && $par1 == 1) {
            var$3 = $this.$iconArray9.data[$this.$mushroomType];
            break a;
        }
        if (var$4 >= 0 && $par2 <= 3 && $par1 == 2) {
            var$3 = $this.$iconArray9.data[$this.$mushroomType];
            break a;
        }
        var$5 = $rt_compare($par2, 7);
        if (var$5 >= 0 && $par2 <= 9 && $par1 == 3) {
            var$3 = $this.$iconArray9.data[$this.$mushroomType];
            break a;
        }
        if (!(var$4 && $par2 != 4 && var$5) && $par1 == 4) {
            var$3 = $this.$iconArray9.data[$this.$mushroomType];
            break a;
        }
        if (!($par2 != 3 && $par2 != 6 && $par2 != 9) && $par1 == 5) {
            var$3 = $this.$iconArray9.data[$this.$mushroomType];
            break a;
        }
        if ($par2 == 14) {
            var$3 = $this.$iconArray9.data[$this.$mushroomType];
            break a;
        }
        if ($par2 != 15) {
            var$3 = $this.$field_94427_cP;
            break a;
        }
        var$3 = $this.$field_94426_cO;
    }
    return var$3;
};
$java.nms_BlockMushroomCap_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Block_$callClinit();
    return nms_Block_mushroomBrown.$blockID + $this.$mushroomType | 0;
};
$java.nms_BlockMushroomCap_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$iconArray9 = $rt_createArray(nms_Icon, $java.nms_BlockMushroomCap_field_94429_a.data.length);
    $var2 = 0;
    while ($var2 < $this.$iconArray9.data.length) {
        $this.$iconArray9.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockMushroomCap_field_94429_a.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
    $this.$field_94427_cP = $par1IconRegister.$registerIcon($rt_s(2454));
    $this.$field_94426_cO = $par1IconRegister.$registerIcon($rt_s(2455));
};
function nms_BlockMushroomCap__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 2);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2456);
    var$2[1] = $rt_s(2457);
    $java.nms_BlockMushroomCap_field_94429_a = var$1;
}
function nms_BlockPane() {
    var a = this; nms_Block.call(a);
    a.$sideTextureIndex = null;
    a.$canDropItself = 0;
    a.$field_94402_c = null;
    a.$theIcon10 = null;
}
function nms_BlockPane__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_BlockPane();
    $java.nms_BlockPane__init_(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
$java.nms_BlockPane__init_ = function($this, $par1, $par2Str, $par3Str, $par4Material, $par5) {
    nms_Block__init_0($this, $par1, $par4Material);
    $this.$sideTextureIndex = $par3Str;
    $this.$canDropItself = $par5;
    $this.$field_94402_c = $par2Str;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockPane_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockPane_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockPane_getRenderType = function($this) {
    return 18;
};
function nms_BlockPane_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $par1IBlockAccess.$getBlockId($par2, $par3, $par4) != $this.$blockID ? nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) : 0;
}
$java.nms_BlockPane_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $var8, $var9, $var10, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            $var8 = nms_BlockPane_canThisPaneConnectToThisBlockID($this, nms_World_getBlockId($par1World, $par2, $par3, $par4 - 1 | 0));
            $var9 = nms_BlockPane_canThisPaneConnectToThisBlockID($this, nms_World_getBlockId($par1World, $par2, $par3, $par4 + 1 | 0));
            $var10 = nms_BlockPane_canThisPaneConnectToThisBlockID($this, nms_World_getBlockId($par1World, $par2 - 1 | 0, $par3, $par4));
            $var11 = nms_BlockPane_canThisPaneConnectToThisBlockID($this, nms_World_getBlockId($par1World, $par2 + 1 | 0, $par3, $par4));
            if (!($var10 && $var11)) {
                if ($var10)
                    break a;
                if ($var11)
                    break a;
                if ($var8)
                    break a;
                if ($var9)
                    break a;
            }
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.4375, 1.0, 1.0, 0.5625);
            $ptr = 1;
            continue main;
        }
        if ($var10 && !$var11) {
            nms_Block_setBlockBounds($this, 0.0, 0.0, 0.4375, 0.5, 1.0, 0.5625);
            $ptr = 2;
            continue main;
        }
        if (!$var10 && $var11) {
            nms_Block_setBlockBounds($this, 0.5, 0.0, 0.4375, 1.0, 1.0, 0.5625);
            $ptr = 3;
            continue main;
        }
        b: {
            if (!($var8 && $var9)) {
                if ($var10)
                    break b;
                if ($var11)
                    break b;
                if ($var8)
                    break b;
                if ($var9)
                    break b;
            }
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.0, 0.5625, 1.0, 1.0);
            $ptr = 4;
            continue main;
        }
        if ($var8 && !$var9) {
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.0, 0.5625, 1.0, 0.5);
            $ptr = 5;
            continue main;
        }
        if (!$var8 && $var9) {
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.5, 0.5625, 1.0, 1.0);
            $ptr = 6;
            continue main;
        }
        return;
    case 1:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            if (!($var8 && $var9)) {
                if ($var10)
                    break a;
                if ($var11)
                    break a;
                if ($var8)
                    break a;
                if ($var9)
                    break a;
            }
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.0, 0.5625, 1.0, 1.0);
            $ptr = 4;
            continue main;
        }
        if ($var8 && !$var9) {
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.0, 0.5625, 1.0, 0.5);
            $ptr = 5;
            continue main;
        }
        if (!$var8 && $var9) {
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.5, 0.5625, 1.0, 1.0);
            $ptr = 6;
            continue main;
        }
        return;
    case 2:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            if (!($var8 && $var9)) {
                if ($var10)
                    break a;
                if ($var11)
                    break a;
                if ($var8)
                    break a;
                if ($var9)
                    break a;
            }
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.0, 0.5625, 1.0, 1.0);
            $ptr = 4;
            continue main;
        }
        if ($var8 && !$var9) {
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.0, 0.5625, 1.0, 0.5);
            $ptr = 5;
            continue main;
        }
        if (!$var8 && $var9) {
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.5, 0.5625, 1.0, 1.0);
            $ptr = 6;
            continue main;
        }
        return;
    case 3:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            if (!($var8 && $var9)) {
                if ($var10)
                    break a;
                if ($var11)
                    break a;
                if ($var8)
                    break a;
                if ($var9)
                    break a;
            }
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.0, 0.5625, 1.0, 1.0);
            $ptr = 4;
            continue main;
        }
        if ($var8 && !$var9) {
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.0, 0.5625, 1.0, 0.5);
            $ptr = 5;
            continue main;
        }
        if (!$var8 && $var9) {
            nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.5, 0.5625, 1.0, 1.0);
            $ptr = 6;
            continue main;
        }
        return;
    case 4:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 5:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 6:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $var8, $var9, $var10, $var11, $ptr);
};
$java.nms_BlockPane_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
};
$java.nms_BlockPane_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12;
    a: {
        b: {
            $var5 = 0.4375;
            $var6 = 0.5625;
            $var7 = 0.4375;
            $var8 = 0.5625;
            $var9 = nms_BlockPane_canThisPaneConnectToThisBlockID($this, $par1IBlockAccess.$getBlockId($par2, $par3, $par4 - 1 | 0));
            $var10 = nms_BlockPane_canThisPaneConnectToThisBlockID($this, $par1IBlockAccess.$getBlockId($par2, $par3, $par4 + 1 | 0));
            $var11 = nms_BlockPane_canThisPaneConnectToThisBlockID($this, $par1IBlockAccess.$getBlockId($par2 - 1 | 0, $par3, $par4));
            $var12 = nms_BlockPane_canThisPaneConnectToThisBlockID($this, $par1IBlockAccess.$getBlockId($par2 + 1 | 0, $par3, $par4));
            if (!($var11 && $var12)) {
                if ($var11)
                    break b;
                if ($var12)
                    break b;
                if ($var9)
                    break b;
                if ($var10)
                    break b;
            }
            $var5 = 0.0;
            $var6 = 1.0;
            break a;
        }
        if ($var11 && !$var12)
            $var5 = 0.0;
        else if (!$var11 && $var12)
            $var6 = 1.0;
    }
    c: {
        d: {
            if (!($var9 && $var10)) {
                if ($var11)
                    break d;
                if ($var12)
                    break d;
                if ($var9)
                    break d;
                if ($var10)
                    break d;
            }
            $var7 = 0.0;
            $var8 = 1.0;
            break c;
        }
        if ($var9 && !$var10)
            $var7 = 0.0;
        else if (!$var9 && $var10)
            $var8 = 1.0;
    }
    nms_Block_setBlockBounds($this, $var5, 0.0, $var7, $var6, 1.0, $var8);
};
function nms_BlockPane_getSideTextureIndex($this) {
    return $this.$theIcon10;
}
function nms_BlockPane_canThisPaneConnectToThisBlockID($this, $par1) {
    nms_Block_$callClinit();
    return !nms_Block_opaqueCubeLookup.data[$par1] && $par1 != $this.$blockID && $par1 != nms_Block_glass.$blockID ? 0 : 1;
}
$java.nms_BlockPane_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($this.$field_94402_c);
    $this.$theIcon10 = $par1IconRegister.$registerIcon($this.$sideTextureIndex);
};
function nms_BlockMelon() {
    nms_Block.call(this);
    this.$theIcon11 = null;
}
function nms_BlockMelon__init_(var_0) {
    var var_1 = new nms_BlockMelon();
    $java.nms_BlockMelon__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockMelon__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_pumpkin);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockMelon_getIcon = function($this, $par1, $par2) {
    return $par1 != 1 && $par1 ? $this.$blockIcon : $this.$theIcon11;
};
$java.nms_BlockMelon_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2458));
    $this.$theIcon11 = $par1IconRegister.$registerIcon($rt_s(2459));
};
function nms_BlockStem() {
    var a = this; nms_BlockFlower.call(a);
    a.$fruitType = null;
    a.$theIcon1 = null;
}
function nms_BlockStem__init_(var_0, var_1) {
    var var_2 = new nms_BlockStem();
    $java.nms_BlockStem__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockStem__init_ = function($this, $par1, $par2Block) {
    $java.nms_BlockFlower__init_1($this, $par1);
    $this.$fruitType = $par2Block;
    $this.$needsRandomTick = 1;
    nms_Block_setBlockBounds($this, 0.375, 0.0, 0.375, 0.625, 0.25, 0.625);
    $this.$displayOnCreativeTab = null;
};
$java.nms_BlockStem_canThisPlantGrowOnThisBlockID = function($this, $par1) {
    nms_Block_$callClinit();
    return $par1 != nms_Block_tilledField.$blockID ? 0 : 1;
};
$java.nms_BlockStem_getRenderColor = function($this, $par1) {
    return ($par1 * 32 | 0) << 16 | (255 - ($par1 * 8 | 0) | 0) << 8 | ($par1 * 4 | 0);
};
function nms_BlockStem_colorMultiplier($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return $java.nms_BlockStem_getRenderColor($this, $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4));
}
$java.nms_BlockStem_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.375, 0.0, 0.375, 0.625, 0.25, 0.625);
};
function nms_BlockStem_setBlockBoundsBasedOnState($this, $par1IBlockAccess, $par2, $par3, $par4) {
    $this.$maxY0 = (($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) * 2 | 0) + 2 | 0) / 16.0;
    nms_Block_setBlockBounds($this, 0.375, 0.0, 0.375, 0.625, $this.$maxY0, 0.625);
}
$java.nms_BlockStem_getRenderType = function($this) {
    return 19;
};
function nms_BlockStem_getState($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) < 7 ? (-1) : $par1IBlockAccess.$getBlockId($par2 - 1 | 0, $par3, $par4) == $this.$fruitType.$blockID ? 0 : $par1IBlockAccess.$getBlockId($par2 + 1 | 0, $par3, $par4) == $this.$fruitType.$blockID ? 1 : $par1IBlockAccess.$getBlockId($par2, $par3, $par4 - 1 | 0) == $this.$fruitType.$blockID ? 2 : $par1IBlockAccess.$getBlockId($par2, $par3, $par4 + 1 | 0) != $this.$fruitType.$blockID ? (-1) : 3;
}
$java.nms_BlockStem_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    var var$5;
    var$5 = $this.$fruitType;
    nms_Block_$callClinit();
    if (var$5 === nms_Block_pumpkin) {
        nms_Item_$callClinit();
        $par2 = nms_Item_pumpkinSeeds.$itemID;
    } else if ($this.$fruitType !== nms_Block_melon)
        $par2 = 0;
    else {
        nms_Item_$callClinit();
        $par2 = nms_Item_melonSeeds.$itemID;
    }
    return $par2;
};
$java.nms_BlockStem_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2460));
    $this.$theIcon1 = $par1IconRegister.$registerIcon($rt_s(2461));
};
$java.nms_BlockStem_func_94368_p = function($this) {
    return $this.$theIcon1;
};
function nms_BlockVine() {
    nms_Block.call(this);
}
function nms_BlockVine__init_(var_0) {
    var var_1 = new nms_BlockVine();
    $java.nms_BlockVine__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockVine__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_vine);
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockVine_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
};
$java.nms_BlockVine_getRenderType = function($this) {
    return 20;
};
$java.nms_BlockVine_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockVine_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockVine_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13;
    $var6 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var7 = 1.0;
    $var8 = 1.0;
    $var9 = 1.0;
    $var10 = 0.0;
    $var11 = 0.0;
    $var12 = 0.0;
    $var13 = $var6 <= 0 ? 0 : 1;
    if ($var6 & 2) {
        $var10 = jl_Math_max0($var10, 0.0625);
        $var7 = 0.0;
        $var8 = 0.0;
        $var11 = 1.0;
        $var9 = 0.0;
        $var12 = 1.0;
        $var13 = 1;
    }
    if ($var6 & 8) {
        $var7 = jl_Math_min1($var7, 0.9375);
        $var10 = 1.0;
        $var8 = 0.0;
        $var11 = 1.0;
        $var9 = 0.0;
        $var12 = 1.0;
        $var13 = 1;
    }
    if ($var6 & 4) {
        $var12 = jl_Math_max0($var12, 0.0625);
        $var9 = 0.0;
        $var7 = 0.0;
        $var10 = 1.0;
        $var8 = 0.0;
        $var11 = 1.0;
        $var13 = 1;
    }
    if ($var6 & 1) {
        $var9 = jl_Math_min1($var9, 0.9375);
        $var12 = 1.0;
        $var7 = 0.0;
        $var10 = 1.0;
        $var8 = 0.0;
        $var11 = 1.0;
        $var13 = 1;
    }
    if (!$var13 && $java.nms_BlockVine_canBePlacedOn($this, $par1IBlockAccess.$getBlockId($par2, $par3 + 1 | 0, $par4))) {
        $var8 = jl_Math_min1($var8, 0.9375);
        $var11 = 1.0;
        $var7 = 0.0;
        $var10 = 1.0;
        $var9 = 0.0;
        $var12 = 1.0;
    }
    nms_Block_setBlockBounds($this, $var7, $var8, $var9, $var10, $var11, $var12);
};
$java.nms_BlockVine_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockVine_canPlaceBlockOnSide = function($this, $par1World, $par2, $par3, $par4, $par5) {
    switch ($par5) {
        case 1:
            return $java.nms_BlockVine_canBePlacedOn($this, nms_World_getBlockId($par1World, $par2, $par3 + 1 | 0, $par4));
        case 2:
            return $java.nms_BlockVine_canBePlacedOn($this, nms_World_getBlockId($par1World, $par2, $par3, $par4 + 1 | 0));
        case 3:
            return $java.nms_BlockVine_canBePlacedOn($this, nms_World_getBlockId($par1World, $par2, $par3, $par4 - 1 | 0));
        case 4:
            return $java.nms_BlockVine_canBePlacedOn($this, nms_World_getBlockId($par1World, $par2 + 1 | 0, $par3, $par4));
        case 5:
            return $java.nms_BlockVine_canBePlacedOn($this, nms_World_getBlockId($par1World, $par2 - 1 | 0, $par3, $par4));
        default:
    }
    return 0;
};
$java.nms_BlockVine_canBePlacedOn = function($this, $par1) {
    var $var2;
    if (!$par1)
        return 0;
    nms_Block_$callClinit();
    $var2 = nms_Block_blocksList.data[$par1];
    return $var2.$renderAsNormalBlock() && $var2.$blockMaterial.$blocksMovement() ? 1 : 0;
};
$java.nms_BlockVine_getBlockColor = function($this) {
    return 4764952;
};
$java.nms_BlockVine_getRenderColor = function($this, $par1) {
    return 4764952;
};
$java.nms_BlockVine_colorMultiplier = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $java.nms_BiomeGenBase_getBiomeFoliageColor($par1IBlockAccess.$getBiomeGenForCoords($par2, $par4));
    nms_Block_initNoiseField($par2 >> 4, $par4 >> 4);
    $var6 = ($var5 >> 8 & 255) * (nms_Block_grassNoiseArray.data[($par4 & 15) + (($par2 & 15) * 16 | 0) | 0] * 0.25 + 1.0) | 0;
    if ($var6 > 255)
        $var6 = 255;
    if ($var6 < 0)
        $var6 = 0;
    return $var5 & 16711935 | $var6 << 8;
};
$java.nms_BlockVine_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    var $var10;
    a: {
        $var10 = 0;
        switch ($par5) {
            case 2:
                $var10 = 1;
                break a;
            case 3:
                $var10 = 4;
                break a;
            case 4:
                $var10 = 8;
                break a;
            case 5:
                $var10 = 2;
                break a;
            default:
        }
    }
    if ($var10)
        $par9 = $var10;
    return $par9;
};
function nms_BlockFenceGate() {
    nms_BlockDirectional.call(this);
}
function nms_BlockFenceGate__init_(var_0) {
    var var_1 = new nms_BlockFenceGate();
    $java.nms_BlockFenceGate__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockFenceGate__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_wood);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
};
$java.nms_BlockFenceGate_getIcon = function($this, $par1, $par2) {
    nms_Block_$callClinit();
    return nms_Block_getBlockTextureFromSide(nms_Block_planks, $par1);
};
$java.nms_BlockFenceGate_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_getBlockMaterial($par1World, $par2, $par3 - 1 | 0, $par4).$isSolid() ? nms_Block_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4) : 0;
};
$java.nms_BlockFenceGate_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    var $var5, var$6, var$7, var$8, var$9;
    $var5 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
    if (nms_BlockFenceGate_isFenceGateOpen($var5))
        $par1World = null;
    else if ($var5 != 2 && $var5) {
        $par1World = nms_AxisAlignedBB_getAABBPool();
        var$6 = $par2;
        $par1World = nms_AABBPool_getAABB($par1World, var$6 + 0.375, $par3, $par4, var$6 + 0.625, $par3 + 1.5, $par4 + 1 | 0);
    } else {
        $par1World = nms_AxisAlignedBB_getAABBPool();
        var$7 = $par2;
        var$8 = $par3;
        var$9 = $par4;
        $par1World = nms_AABBPool_getAABB($par1World, var$7, var$8, var$9 + 0.375, $par2 + 1 | 0, $par3 + 1.5, var$9 + 0.625);
    }
    return $par1World;
};
$java.nms_BlockFenceGate_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5;
    $var5 = nms_BlockDirectional_getDirection($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4));
    if ($var5 != 2 && $var5)
        nms_Block_setBlockBounds($this, 0.375, 0.0, 0.0, 0.625, 1.0, 1.0);
    else
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.375, 1.0, 1.0, 0.625);
};
$java.nms_BlockFenceGate_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockFenceGate_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockFenceGate_getBlocksMovement = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return nms_BlockFenceGate_isFenceGateOpen(nms_World_getBlockMetadata($par1IBlockAccess, $par2, $par3, $par4));
};
$java.nms_BlockFenceGate_getRenderType = function($this) {
    return 21;
};
$java.nms_BlockFenceGate_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = (nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 3) % 4 | 0;
        var$8 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, var$8, $ptr);
};
$java.nms_BlockFenceGate_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var $var10, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var10 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        if (nms_BlockFenceGate_isFenceGateOpen($var10)) {
            $par6 = $var10 & (-5);
            $var10 = 2;
            $ptr = 1;
            continue main;
        }
        $var11 = (nms_MathHelper_floor_double($par5EntityPlayer.$rotationYaw * 4.0 / 360.0 + 0.5) & 3) % 4 | 0;
        if (nms_BlockDirectional_getDirection($var10) != (($var11 + 2 | 0) % 4 | 0))
            $var11 = $var10;
        $par6 = $var11 | 4;
        $var10 = 2;
        $ptr = 3;
        continue main;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par6, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = 1003;
        $par6 = 0;
        $ptr = 2;
    case 2:
        nms_World_playAuxSFXAtEntity($par1World, $par5EntityPlayer, $var10, $par2, $par3, $par4, $par6);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    case 3:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par6, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = 1003;
        $par6 = 0;
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, $var10, $var11, $ptr);
};
function nms_BlockFenceGate_isFenceGateOpen($par0) {
    return !($par0 & 4) ? 0 : 1;
}
$java.nms_BlockFenceGate_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return 1;
};
$java.nms_BlockFenceGate_registerIcons = function($this, $par1IconRegister) {
    return;
};
function nms_BlockMycelium() {
    var a = this; nms_Block.call(a);
    a.$field_94422_a = null;
    a.$field_94421_b = null;
}
function nms_BlockMycelium__init_(var_0) {
    var var_1 = new nms_BlockMycelium();
    $java.nms_BlockMycelium__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockMycelium__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_grass);
    $this.$needsRandomTick = 1;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockMycelium_getIcon = function($this, $par1, $par2) {
    var var$3;
    if ($par1 == 1)
        var$3 = $this.$field_94422_a;
    else if ($par1)
        var$3 = $this.$blockIcon;
    else {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_dirt, $par1);
    }
    return var$3;
};
$java.nms_BlockMycelium_getBlockTexture = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6;
    if ($par5 == 1)
        return $this.$field_94422_a;
    if (!$par5) {
        nms_Block_$callClinit();
        return nms_Block_getBlockTextureFromSide(nms_Block_dirt, $par5);
    }
    $var6 = $par1IBlockAccess.$getBlockMaterial($par2, $par3 + 1 | 0, $par4);
    nms_Material_$callClinit();
    return $var6 !== $java.nms_Material_snow && $var6 !== $java.nms_Material_craftedSnow ? $this.$blockIcon : $this.$field_94421_b;
};
$java.nms_BlockMycelium_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2462));
    $this.$field_94422_a = $par1IconRegister.$registerIcon($rt_s(2463));
    $this.$field_94421_b = $par1IconRegister.$registerIcon($rt_s(2327));
};
$java.nms_BlockMycelium_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nle_EaglercraftRandom_nextInt($par5Random, 10))
            return;
        var$6 = $rt_s(1163);
        var$7 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
        var$8 = $par3 + 1.100000023841858;
        var$9 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
        var$10 = 0.0;
        var$11 = 0.0;
        var$12 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1World, var$6, var$7, var$8, var$9, var$10, var$11, var$12);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, var$6, var$7, var$8, var$9, var$10, var$11, var$12, $ptr);
};
function nms_BlockLilyPad() {
    nms_BlockFlower.call(this);
}
function nms_BlockLilyPad__init_(var_0) {
    var var_1 = new nms_BlockLilyPad();
    $java.nms_BlockLilyPad__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockLilyPad__init_ = function($this, $par1) {
    $java.nms_BlockFlower__init_1($this, $par1);
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.015625, 1.0);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockLilyPad_getRenderType = function($this) {
    return 23;
};
$java.nms_BlockLilyPad_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par7Entity !== null && $par7Entity instanceof nms_EntityBoat)
            return;
        $ptr = 1;
    case 1:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $ptr);
};
$java.nms_BlockLilyPad_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    var var$5, var$6, var$7, var$8, var$9;
    $par1World = nms_AxisAlignedBB_getAABBPool();
    var$5 = $par2;
    var$6 = var$5 + $this.$minX0;
    var$7 = $par3;
    var$8 = var$7 + $this.$minY0;
    var$9 = $par4;
    return nms_AABBPool_getAABB($par1World, var$6, var$8, var$9 + $this.$minZ0, var$5 + $this.$maxX0, var$7 + $this.$maxY0, var$9 + $this.$maxZ0);
};
$java.nms_BlockLilyPad_getBlockColor = function($this) {
    return 2129968;
};
$java.nms_BlockLilyPad_getRenderColor = function($this, $par1) {
    return 2129968;
};
$java.nms_BlockLilyPad_colorMultiplier = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return 2129968;
};
$java.nms_BlockLilyPad_canThisPlantGrowOnThisBlockID = function($this, $par1) {
    nms_Block_$callClinit();
    return $par1 != nms_Block_waterStill.$blockID ? 0 : 1;
};
$java.nms_BlockLilyPad_canBlockStay = function($this, $par1World, $par2, $par3, $par4) {
    var var$5;
    if ($par3 >= 0 && $par3 < 256) {
        $par3 = $par3 - 1 | 0;
        var$5 = nms_World_getBlockMaterial($par1World, $par2, $par3, $par4);
        nms_Material_$callClinit();
        $par2 = var$5 === nms_Material_water && !nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) ? 1 : 0;
    } else
        $par2 = 0;
    return $par2;
};
function nms_BlockNetherStalk() {
    nms_BlockFlower.call(this);
    this.$iconArray10 = null;
}
$java.nms_BlockNetherStalk_field_94373_a = null;
function nms_BlockNetherStalk__init_(var_0) {
    var var_1 = new nms_BlockNetherStalk();
    $java.nms_BlockNetherStalk__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockNetherStalk__init_ = function($this, $par1) {
    $java.nms_BlockFlower__init_1($this, $par1);
    $this.$needsRandomTick = 1;
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.25, 1.0);
    $this.$displayOnCreativeTab = null;
};
$java.nms_BlockNetherStalk_canThisPlantGrowOnThisBlockID = function($this, $par1) {
    nms_Block_$callClinit();
    return $par1 != nms_Block_slowSand.$blockID ? 0 : 1;
};
$java.nms_BlockNetherStalk_canBlockStay = function($this, $par1World, $par2, $par3, $par4) {
    return $java.nms_BlockNetherStalk_canThisPlantGrowOnThisBlockID($this, nms_World_getBlockId($par1World, $par2, $par3 - 1 | 0, $par4));
};
$java.nms_BlockNetherStalk_getIcon = function($this, $par1, $par2) {
    return $par2 >= 3 ? $this.$iconArray10.data[2] : $par2 <= 0 ? $this.$iconArray10.data[0] : $this.$iconArray10.data[1];
};
$java.nms_BlockNetherStalk_getRenderType = function($this) {
    return 6;
};
$java.nms_BlockNetherStalk_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    return;
};
$java.nms_BlockNetherStalk_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_netherStalkSeeds.$itemID;
};
$java.nms_BlockNetherStalk_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$iconArray10 = $rt_createArray(nms_Icon, $java.nms_BlockNetherStalk_field_94373_a.data.length);
    $var2 = 0;
    while ($var2 < $this.$iconArray10.data.length) {
        $this.$iconArray10.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockNetherStalk_field_94373_a.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockNetherStalk__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2464);
    var$2[1] = $rt_s(2465);
    var$2[2] = $rt_s(2466);
    $java.nms_BlockNetherStalk_field_94373_a = var$1;
}
function nms_BlockEnchantmentTable() {
    var a = this; nms_BlockContainer.call(a);
    a.$field_94461_a = null;
    a.$field_94460_b = null;
}
function nms_BlockEnchantmentTable__init_(var_0) {
    var var_1 = new nms_BlockEnchantmentTable();
    $java.nms_BlockEnchantmentTable__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockEnchantmentTable__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_rock);
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.75, 1.0);
    nms_Block_setLightOpacity($this, 0);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockEnchantmentTable_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockEnchantmentTable_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $var6, var$16, $var7, $var8, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();var$16 = $thread.pop();$var6 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$par5Random = $thread.pop();$par4
        = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$6 = $par2 - 2 | 0;
        var$7 = $par2 + 2 | 0;
        var$8 = $par4 - 2 | 0;
        var$9 = $par4 + 2 | 0;
        var$10 = $par4 - 1 | 0;
        var$11 = $par3 + 1 | 0;
        var$12 = $par2 + 0.5;
        var$13 = $par3 + 2.0;
        var$14 = $par4 + 0.5;
        $var6 = var$6;
        while (true) {
            var$16 = $rt_compare($var6, var$7);
            if (var$16 > 0)
                break;
            $var7 = var$8;
            while ($var7 <= var$9) {
                if ($var6 > var$6 && var$16 < 0 && $var7 == var$10)
                    $var7 = var$9;
                a: {
                    if (!nle_EaglercraftRandom_nextInt($par5Random, 16)) {
                        $var8 = $par3;
                        while (true) {
                            if ($var8 > var$11)
                                break a;
                            var$19 = nms_World_getBlockId($par1World, $var6, $var8, $var7);
                            nms_Block_$callClinit();
                            if (var$19 == nms_Block_bookShelf.$blockID)
                                break;
                            $var8 = $var8 + 1 | 0;
                        }
                        var$20 = $var6 - $par2 | 0;
                        var$19 = (var$20 / 2 | 0) + $par2 | 0;
                        var$21 = $var7 - $par4 | 0;
                        if (nms_World_isAirBlock($par1World, var$19, $var8, (var$21 / 2 | 0) + $par4 | 0)) {
                            var$22 = $rt_s(1171);
                            var$23 = var$20 + nle_EaglercraftRandom_nextFloat($par5Random) - 0.5;
                            var$24 = ($var8 - $par3 | 0) - nle_EaglercraftRandom_nextFloat($par5Random) - 1.0;
                            var$25 = var$21 + nle_EaglercraftRandom_nextFloat($par5Random) - 0.5;
                            $ptr = 1;
                            continue main;
                        }
                    }
                }
                $var7 = $var7 + 1 | 0;
            }
            $var6 = $var6 + 1 | 0;
        }
        return;
    case 1:
        nms_World_spawnParticle($par1World, var$22, var$12, var$13, var$14, var$23, var$24, var$25);
        if ($rt_suspending()) {
            break main;
        }
        b: while (true) {
            $var8 = $var8 + 1 | 0;
            while (true) {
                if ($var8 <= var$11) {
                    var$19 = nms_World_getBlockId($par1World, $var6, $var8, $var7);
                    nms_Block_$callClinit();
                    if (var$19 != nms_Block_bookShelf.$blockID)
                        continue b;
                    var$20 = $var6 - $par2 | 0;
                    var$19 = (var$20 / 2 | 0) + $par2 | 0;
                    var$21 = $var7 - $par4 | 0;
                    if (nms_World_isAirBlock($par1World, var$19, $var8, (var$21 / 2 | 0) + $par4 | 0)) {
                        var$22 = $rt_s(1171);
                        var$23 = var$20 + nle_EaglercraftRandom_nextFloat($par5Random) - 0.5;
                        var$24 = ($var8 - $par3 | 0) - nle_EaglercraftRandom_nextFloat($par5Random) - 1.0;
                        var$25 = var$21 + nle_EaglercraftRandom_nextFloat($par5Random) - 0.5;
                        continue main;
                    }
                }
                while (true) {
                    $var7 = $var7 + 1 | 0;
                    while ($var7 > var$9) {
                        $var6 = $var6 + 1 | 0;
                        var$16 = $rt_compare($var6, var$7);
                        if (var$16 > 0)
                            break b;
                        $var7 = var$8;
                    }
                    if ($var6 > var$6 && var$16 < 0 && $var7 == var$10)
                        $var7 = var$9;
                    if (nle_EaglercraftRandom_nextInt($par5Random, 16))
                        continue;
                    else
                        break;
                }
                $var8 = $par3;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $var6, var$16, $var7, $var8, var$19, var$20, var$21, var$22, var$23, var$24, var$25, $ptr);
};
$java.nms_BlockEnchantmentTable_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockEnchantmentTable_getIcon = function($this, $par1, $par2) {
    return !$par1 ? $this.$field_94460_b : $par1 != 1 ? $this.$blockIcon : $this.$field_94461_a;
};
$java.nms_BlockEnchantmentTable_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityEnchantmentTable__init_();
};
$java.nms_BlockEnchantmentTable_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockEnchantmentTable_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $par1World.$field_94136_s = nms_ItemStack_getDisplayName($par6ItemStack);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $ptr);
};
$java.nms_BlockEnchantmentTable_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2467));
    $this.$field_94461_a = $par1IconRegister.$registerIcon($rt_s(2468));
    $this.$field_94460_b = $par1IconRegister.$registerIcon($rt_s(2469));
};
function nms_BlockBrewingStand() {
    var a = this; nms_BlockContainer.call(a);
    a.$rand5 = null;
    a.$theIcon = null;
}
function nms_BlockBrewingStand__init_(var_0) {
    var var_1 = new nms_BlockBrewingStand();
    $java.nms_BlockBrewingStand__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockBrewingStand__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_iron);
    $this.$rand5 = nle_EaglercraftRandom__init_0();
};
$java.nms_BlockBrewingStand_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockBrewingStand_getRenderType = function($this) {
    return 25;
};
$java.nms_BlockBrewingStand_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityBrewingStand__init_();
};
$java.nms_BlockBrewingStand_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockBrewingStand_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Block_setBlockBounds($this, 0.4375, 0.0, 0.4375, 0.5625, 0.875, 0.5625);
        $ptr = 1;
    case 1:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_BlockBrewingStand_setBlockBoundsForItemRender($this);
        $ptr = 2;
    case 2:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $ptr);
};
function nms_BlockBrewingStand_setBlockBoundsForItemRender($this) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.125, 1.0);
}
$java.nms_BlockBrewingStand_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockBrewingStand_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $par1World.$field_94132_e = nms_ItemStack_getDisplayName($par6ItemStack);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $ptr);
};
$java.nms_BlockBrewingStand_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var $var6, $var8, $var10, var$9, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = $par2 + 0.4000000059604645 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.20000000298023224;
        $var8 = $par3 + 0.699999988079071 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.30000001192092896;
        $var10 = $par4 + 0.4000000059604645 + nle_EaglercraftRandom_nextFloat($par5Random) * 0.20000000298023224;
        $par5Random = $rt_s(1166);
        var$9 = 0.0;
        var$10 = 0.0;
        var$11 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1World, $par5Random, $var6, $var8, $var10, var$9, var$10, var$11);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, $var6, $var8, $var10, var$9, var$10, var$11, $ptr);
};
$java.nms_BlockBrewingStand_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_brewingStand.$itemID;
};
$java.nms_BlockBrewingStand_hasComparatorInputOverride = function($this) {
    return 1;
};
$java.nms_BlockBrewingStand_getComparatorInputOverride = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return nms_Container_calcRedstoneFromInventory($par1World);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockBrewingStand_registerIcons = function($this, $par1IconRegister) {
    nms_Block_registerIcons($this, $par1IconRegister);
    $this.$theIcon = $par1IconRegister.$registerIcon($rt_s(2470));
};
$java.nms_BlockBrewingStand_getBrewingStandIcon = function($this) {
    return $this.$theIcon;
};
function nms_BlockCauldron() {
    var a = this; nms_Block.call(a);
    a.$field_94378_a = null;
    a.$cauldronTopIcon = null;
    a.$cauldronBottomIcon = null;
}
function nms_BlockCauldron__init_(var_0) {
    var var_1 = new nms_BlockCauldron();
    $java.nms_BlockCauldron__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockCauldron__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_iron);
};
$java.nms_BlockCauldron_getIcon = function($this, $par1, $par2) {
    return $par1 == 1 ? $this.$cauldronTopIcon : $par1 ? $this.$blockIcon : $this.$cauldronBottomIcon;
};
$java.nms_BlockCauldron_registerIcons = function($this, $par1IconRegister) {
    $this.$field_94378_a = $par1IconRegister.$registerIcon($rt_s(953));
    $this.$cauldronTopIcon = $par1IconRegister.$registerIcon($rt_s(2471));
    $this.$cauldronBottomIcon = $par1IconRegister.$registerIcon($rt_s(954));
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2472));
};
$java.nms_BlockCauldron_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $var8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.3125, 1.0);
        $ptr = 1;
    case 1:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = 0.125;
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, $var8, 1.0, 1.0);
        $ptr = 2;
    case 2:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, $var8);
        $ptr = 3;
    case 3:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        var$9 = 0.875;
        nms_Block_setBlockBounds($this, var$9, 0.0, 0.0, 1.0, 1.0, 1.0);
        $ptr = 4;
    case 4:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, var$9, 1.0, 1.0, 1.0);
        $ptr = 5;
    case 5:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        $java.nms_BlockCauldron_setBlockBoundsForItemRender($this);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $var8, var$9, $ptr);
};
$java.nms_BlockCauldron_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
};
$java.nms_BlockCauldron_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockCauldron_getRenderType = function($this) {
    return 24;
};
$java.nms_BlockCauldron_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockCauldron_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockCauldron_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_cauldron.$itemID;
};
function nms_BlockEndPortal() {
    nms_BlockContainer.call(this);
}
$java.nms_BlockEndPortal_bossDefeated = 0;
function nms_BlockEndPortal__init_(var_0, var_1) {
    var var_2 = new nms_BlockEndPortal();
    $java.nms_BlockEndPortal__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockEndPortal__init_ = function($this, $par1, $par2Material) {
    $java.nms_BlockContainer__init_0($this, $par1, $par2Material);
    nms_Block_setLightValue($this, 1.0);
};
$java.nms_BlockEndPortal_createNewTileEntity = function($this, $par1World) {
    $par1World = new nms_TileEntityEndPortal;
    nms_TileEntity__init_($par1World);
    return $par1World;
};
$java.nms_BlockEndPortal_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.0625, 1.0);
};
$java.nms_BlockEndPortal_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return !$par5 ? nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) : 0;
};
$java.nms_BlockEndPortal_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    return;
};
$java.nms_BlockEndPortal_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockEndPortal_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockEndPortal_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var $var6, $var8, $var10, $var12, $var14, $var16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = $par2 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var8 = $par3 + 0.800000011920929;
        $var10 = $par4 + nle_EaglercraftRandom_nextFloat($par5Random);
        $var12 = 0.0;
        $var14 = 0.0;
        $var16 = 0.0;
        $par5Random = $rt_s(1166);
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1World, $par5Random, $var6, $var8, $var10, $var12, $var14, $var16);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, $var6, $var8, $var10, $var12, $var14, $var16, $ptr);
};
$java.nms_BlockEndPortal_getRenderType = function($this) {
    return (-1);
};
$java.nms_BlockEndPortal_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    return 0;
};
$java.nms_BlockEndPortal_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(1051));
};
function nms_BlockEndPortal__clinit_() {
    $java.nms_BlockEndPortal_bossDefeated = 0;
}
function nms_BlockEndPortalFrame() {
    var a = this; nms_Block.call(a);
    a.$field_94400_a = null;
    a.$field_94399_b = null;
}
function nms_BlockEndPortalFrame__init_(var_0) {
    var var_1 = new nms_BlockEndPortalFrame();
    $java.nms_BlockEndPortalFrame__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockEndPortalFrame__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_rock);
};
$java.nms_BlockEndPortalFrame_getIcon = function($this, $par1, $par2) {
    var var$3;
    if ($par1 == 1)
        var$3 = $this.$field_94400_a;
    else if ($par1)
        var$3 = $this.$blockIcon;
    else {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_whiteStone, $par1);
    }
    return var$3;
};
$java.nms_BlockEndPortalFrame_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2473));
    $this.$field_94400_a = $par1IconRegister.$registerIcon($rt_s(2474));
    $this.$field_94399_b = $par1IconRegister.$registerIcon($rt_s(2475));
};
$java.nms_BlockEndPortalFrame_func_94398_p = function($this) {
    return $this.$field_94399_b;
};
$java.nms_BlockEndPortalFrame_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockEndPortalFrame_getRenderType = function($this) {
    return 26;
};
$java.nms_BlockEndPortalFrame_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.8125, 1.0);
};
$java.nms_BlockEndPortalFrame_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.8125, 1.0);
        $ptr = 1;
    case 1:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        if (!nms_BlockEndPortalFrame_isEnderEyeInserted(nms_World_getBlockMetadata($par1World, $par2, $par3, $par4))) {
            $java.nms_BlockEndPortalFrame_setBlockBoundsForItemRender($this);
            return;
        }
        nms_Block_setBlockBounds($this, 0.3125, 0.8125, 0.3125, 0.6875, 1.0, 0.6875);
        $ptr = 2;
    case 2:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        $java.nms_BlockEndPortalFrame_setBlockBoundsForItemRender($this);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $ptr);
};
function nms_BlockEndPortalFrame_isEnderEyeInserted($par0) {
    return !($par0 & 4) ? 0 : 1;
}
$java.nms_BlockEndPortalFrame_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = ((nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 3) + 2 | 0) % 4 | 0;
        var$8 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, var$8, $ptr);
};
function nms_BlockDragonEgg() {
    nms_Block.call(this);
}
function nms_BlockDragonEgg__init_(var_0) {
    var var_1 = new nms_BlockDragonEgg();
    $java.nms_BlockDragonEgg__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockDragonEgg__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_dragonEgg);
    nms_Block_setBlockBounds($this, 0.0625, 0.0, 0.0625, 0.9375, 1.0, 0.9375);
};
$java.nms_BlockDragonEgg_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    return;
};
$java.nms_BlockDragonEgg_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockDragonEgg_teleportNearby($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, $ptr);
};
$java.nms_BlockDragonEgg_onBlockClicked = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_BlockDragonEgg_teleportNearby($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $ptr);
};
$java.nms_BlockDragonEgg_teleportNearby = function($this, $par1World, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var13, $var14, $var15, $var16, $var18, $var20, var$18, var$19, var$20, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if (nms_World_getBlockId($par1World, $par2, $par3, $par4) == $this.$blockID) {
                $var5 = 0;
                while (true) {
                    if ($var5 >= 1000)
                        break a;
                    $var6 = ($par2 + nle_EaglercraftRandom_nextInt($par1World.$rand, 16) | 0) - nle_EaglercraftRandom_nextInt($par1World.$rand, 16) | 0;
                    $var7 = ($par3 + nle_EaglercraftRandom_nextInt($par1World.$rand, 8) | 0) - nle_EaglercraftRandom_nextInt($par1World.$rand, 8) | 0;
                    $var8 = ($par4 + nle_EaglercraftRandom_nextInt($par1World.$rand, 16) | 0) - nle_EaglercraftRandom_nextInt($par1World.$rand, 16) | 0;
                    if (!nms_World_getBlockId($par1World, $var6, $var7, $var8)) {
                        $var9 = 128;
                        $var10 = 0;
                        if ($var10 >= $var9)
                            return;
                        $var11 = nle_EaglercraftRandom_nextDouble($par1World.$rand);
                        $var13 = (nle_EaglercraftRandom_nextFloat($par1World.$rand) - 0.5) * 0.20000000298023224;
                        $var14 = (nle_EaglercraftRandom_nextFloat($par1World.$rand) - 0.5) * 0.20000000298023224;
                        $var15 = (nle_EaglercraftRandom_nextFloat($par1World.$rand) - 0.5) * 0.20000000298023224;
                        $var16 = $var6 + ($par2 - $var6 | 0) * $var11 + (nle_EaglercraftRandom_nextDouble($par1World.$rand) - 0.5) * 1.0 + 0.5;
                        $var18 = $var7 + ($par3 - $var7 | 0) * $var11 + nle_EaglercraftRandom_nextDouble($par1World.$rand) * 1.0 - 0.5;
                        $var20 = $var8 + ($par4 - $var8 | 0) * $var11 + (nle_EaglercraftRandom_nextDouble($par1World.$rand) - 0.5) * 1.0 + 0.5;
                        var$18 = $rt_s(1051);
                        $var11 = $var13;
                        var$19 = $var14;
                        var$20 = $var15;
                        $ptr = 1;
                        continue main;
                    }
                    $var5 = $var5 + 1 | 0;
                }
            }
        }
        return;
    case 1:
        nms_World_spawnParticle($par1World, var$18, $var16, $var18, $var20, $var11, var$19, var$20);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $var10 + 1 | 0;
        if ($var10 >= $var9)
            return;
        $var11 = nle_EaglercraftRandom_nextDouble($par1World.$rand);
        $var13 = (nle_EaglercraftRandom_nextFloat($par1World.$rand) - 0.5) * 0.20000000298023224;
        $var14 = (nle_EaglercraftRandom_nextFloat($par1World.$rand) - 0.5) * 0.20000000298023224;
        $var15 = (nle_EaglercraftRandom_nextFloat($par1World.$rand) - 0.5) * 0.20000000298023224;
        $var16 = $var6 + ($par2 - $var6 | 0) * $var11 + (nle_EaglercraftRandom_nextDouble($par1World.$rand) - 0.5) * 1.0 + 0.5;
        $var18 = $var7 + ($par3 - $var7 | 0) * $var11 + nle_EaglercraftRandom_nextDouble($par1World.$rand) * 1.0 - 0.5;
        $var20 = $var8 + ($par4 - $var8 | 0) * $var11 + (nle_EaglercraftRandom_nextDouble($par1World.$rand) - 0.5) * 1.0 + 0.5;
        var$18 = $rt_s(1051);
        $var11 = $var13;
        var$19 = $var14;
        var$20 = $var15;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var13, $var14, $var15, $var16, $var18, $var20, var$18, var$19, var$20, $ptr);
};
$java.nms_BlockDragonEgg_tickRate = function($this, $par1World) {
    return 5;
};
$java.nms_BlockDragonEgg_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockDragonEgg_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockDragonEgg_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return 1;
};
$java.nms_BlockDragonEgg_getRenderType = function($this) {
    return 27;
};
$java.nms_BlockDragonEgg_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    return 0;
};
function nms_BlockRedstoneLight() {
    nms_Block.call(this);
    this.$powered = 0;
}
function nms_BlockRedstoneLight__init_(var_0, var_1) {
    var var_2 = new nms_BlockRedstoneLight();
    $java.nms_BlockRedstoneLight__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockRedstoneLight__init_ = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_redstoneLight);
    $this.$powered = $par2;
    if ($par2)
        nms_Block_setLightValue($this, 1.0);
};
$java.nms_BlockRedstoneLight_registerIcons = function($this, $par1IconRegister) {
    if (!$this.$powered)
        $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2015));
    else
        $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2476));
};
$java.nms_BlockRedstoneLight_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Block_$callClinit();
    return nms_Block_redstoneLampIdle.$blockID;
};
function nms_BlockWoodSlab() {
    nms_BlockHalfSlab.call(this);
}
$java.nms_BlockWoodSlab_woodType = null;
function nms_BlockWoodSlab__init_(var_0, var_1) {
    var var_2 = new nms_BlockWoodSlab();
    $java.nms_BlockWoodSlab__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockWoodSlab__init_ = function($this, $par1, $par2) {
    nms_Material_$callClinit();
    $java.nms_BlockHalfSlab__init_0($this, $par1, $par2, nms_Material_wood);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockWoodSlab_getIcon = function($this, $par1, $par2) {
    nms_Block_$callClinit();
    return nms_Block_planks.$getIcon($par1, $par2 & 7);
};
$java.nms_BlockWoodSlab_getFullSlabName = function($this, $par1) {
    var var$2;
    if (!($par1 >= 0 && $par1 < $java.nms_BlockWoodSlab_woodType.data.length))
        $par1 = 0;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, nms_Block_getUnlocalizedName($this));
    jl_AbstractStringBuilder_append(var$2, $rt_s(339));
    jl_AbstractStringBuilder_append(var$2, $java.nms_BlockWoodSlab_woodType.data[$par1]);
    return jl_AbstractStringBuilder_toString(var$2);
};
$java.nms_BlockWoodSlab_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    var $var4;
    a: {
        nms_Block_$callClinit();
        if ($par1 != nms_Block_woodDoubleSlab.$blockID) {
            $var4 = 0;
            while (true) {
                if ($var4 >= 4)
                    break a;
                ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, $var4));
                $var4 = $var4 + 1 | 0;
            }
        }
    }
};
$java.nms_BlockWoodSlab_registerIcons = function($this, $par1IconRegister) {
    return;
};
function nms_BlockWoodSlab__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2329);
    var$2[1] = $rt_s(2330);
    var$2[2] = $rt_s(2331);
    var$2[3] = $rt_s(2332);
    $java.nms_BlockWoodSlab_woodType = var$1;
}
function nms_BlockCocoa() {
    nms_BlockDirectional.call(this);
    this.$iconArray11 = null;
}
$java.nms_BlockCocoa_cocoaIcons = null;
function nms_BlockCocoa__init_(var_0) {
    var var_1 = new nms_BlockCocoa();
    $java.nms_BlockCocoa__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockCocoa__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_plants);
    $this.$needsRandomTick = 1;
};
$java.nms_BlockCocoa_getIcon = function($this, $par1, $par2) {
    return $this.$iconArray11.data[2];
};
function nms_BlockCocoa_func_94468_i_($this, $par1) {
    if (!($par1 >= 0 && $par1 < $this.$iconArray11.data.length))
        $par1 = $this.$iconArray11.data.length - 1 | 0;
    return $this.$iconArray11.data[$par1];
}
$java.nms_BlockCocoa_canBlockStay = function($this, $par1World, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = nms_BlockDirectional_getDirection(nms_World_getBlockMetadata($par1World, $par2, $par3, $par4));
    $par2 = $par2 + nms_Direction_offsetX.data[$var5] | 0;
    $par4 = $par4 + nms_Direction_offsetZ.data[$var5] | 0;
    $var6 = nms_World_getBlockId($par1World, $par2, $par3, $par4);
    nms_Block_$callClinit();
    return $var6 == nms_Block_wood.$blockID && $java.nms_BlockLog_limitToValidMetadata(nms_World_getBlockMetadata($par1World, $par2, $par3, $par4)) == 3 ? 1 : 0;
};
$java.nms_BlockCocoa_getRenderType = function($this) {
    return 28;
};
$java.nms_BlockCocoa_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockCocoa_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockCocoa_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockCocoa_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getCollisionBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockCocoa_getSelectedBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockCocoa_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getSelectedBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockCocoa_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var8, $var9, var$9, $var10;
    a: {
        $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
        $var6 = nms_BlockDirectional_getDirection($var5);
        $par3 = nms_BlockCocoa_func_72219_c($var5) * 2 | 0;
        $var8 = 4 + $par3 | 0;
        $var9 = 5 + $par3 | 0;
        var$9 = $var8;
        $var10 = var$9 / 2.0;
        switch ($var6) {
            case 0:
                break;
            case 1:
                nms_Block_setBlockBounds($this, 0.0625, (12.0 - $var9) / 16.0, (8.0 - $var10) / 16.0, (1.0 + var$9) / 16.0, 0.75, (8.0 + $var10) / 16.0);
                break a;
            case 2:
                nms_Block_setBlockBounds($this, (8.0 - $var10) / 16.0, (12.0 - $var9) / 16.0, 0.0625, (8.0 + $var10) / 16.0, 0.75, (1.0 + var$9) / 16.0);
                break a;
            case 3:
                nms_Block_setBlockBounds($this, (15.0 - var$9) / 16.0, (12.0 - $var9) / 16.0, (8.0 - $var10) / 16.0, 0.9375, 0.75, (8.0 + $var10) / 16.0);
                break a;
            default:
                break a;
        }
        nms_Block_setBlockBounds($this, (8.0 - $var10) / 16.0, (12.0 - $var9) / 16.0, (15.0 - var$9) / 16.0, (8.0 + $var10) / 16.0, 0.75, 0.9375);
    }
};
$java.nms_BlockCocoa_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = ((nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 3) + 0 | 0) % 4 | 0;
        var$8 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, var$8, $ptr);
};
$java.nms_BlockCocoa_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    if (!($par5 != 1 && $par5))
        $par5 = 2;
    return nms_Direction_rotateOpposite.data[$java.nms_Direction_facingToDirection.data[$par5]];
};
$java.nms_BlockCocoa_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_BlockCocoa_canBlockStay($this, $par1World, $par2, $par3, $par4))
            return;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
function nms_BlockCocoa_func_72219_c($par0) {
    return ($par0 & 12) >> 2;
}
$java.nms_BlockCocoa_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var10;
    $var8 = nms_BlockCocoa_func_72219_c($par5);
    $var9 = 1;
    if ($var8 >= 2)
        $var9 = 3;
    $var10 = 0;
    while ($var10 < $var9) {
        $par1World = new nms_ItemStack;
        nms_Item_$callClinit();
        nms_ItemStack__init_3($par1World, nms_Item_dyePowder, 1, 3);
        $var10 = $var10 + 1 | 0;
    }
};
$java.nms_BlockCocoa_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_dyePowder.$itemID;
};
$java.nms_BlockCocoa_getDamageValue = function($this, $par1World, $par2, $par3, $par4) {
    return 3;
};
$java.nms_BlockCocoa_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$iconArray11 = $rt_createArray(nms_Icon, $java.nms_BlockCocoa_cocoaIcons.data.length);
    $var2 = 0;
    while ($var2 < $this.$iconArray11.data.length) {
        $this.$iconArray11.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockCocoa_cocoaIcons.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockCocoa__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2477);
    var$2[1] = $rt_s(2478);
    var$2[2] = $rt_s(2479);
    $java.nms_BlockCocoa_cocoaIcons = var$1;
}
function nms_BlockEnderChest() {
    nms_BlockContainer.call(this);
}
function nms_BlockEnderChest__init_(var_0) {
    var var_1 = new nms_BlockEnderChest();
    $java.nms_BlockEnderChest__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockEnderChest__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_rock);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
    nms_Block_setBlockBounds($this, 0.0625, 0.0, 0.0625, 0.9375, 0.875, 0.9375);
};
$java.nms_BlockEnderChest_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockEnderChest_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockEnderChest_getRenderType = function($this) {
    return 22;
};
$java.nms_BlockEnderChest_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = 0;
        $var8 = nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
        if (!$var8)
            $var7 = 2;
        if ($var8 == 1)
            $var7 = 5;
        if ($var8 == 2)
            $var7 = 3;
        if ($var8 == 3)
            $var7 = 4;
        $var8 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, $var8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, $var8, $ptr);
};
$java.nms_BlockEnderChest_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockEnderChest_createNewTileEntity = function($this, $par1World) {
    $par1World = new nms_TileEntityEnderChest;
    nms_TileEntity__init_($par1World);
    return $par1World;
};
$java.nms_BlockEnderChest_randomDisplayTick = function($this, $par1World, $par2, $par3, $par4, $par5Random) {
    var $var6, var$7, var$8, var$9, $var9, $var19, $var20, var$13, $var11, var$15, $var7, var$17, var$18, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$var7 = $thread.pop();var$15 = $thread.pop();$var11 = $thread.pop();var$13 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$par5Random = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = 0;
        var$7 = $par3;
        var$8 = $par4 + 0.5;
        var$9 = $par2 + 0.5;
        if ($var6 >= 3)
            return;
        nle_EaglercraftRandom_nextFloat($par5Random);
        $var9 = var$7 + nle_EaglercraftRandom_nextFloat($par5Random);
        nle_EaglercraftRandom_nextFloat($par5Random);
        $var19 = (nle_EaglercraftRandom_nextInt($par5Random, 2) * 2 | 0) - 1 | 0;
        $var20 = (nle_EaglercraftRandom_nextInt($par5Random, 2) * 2 | 0) - 1 | 0;
        nle_EaglercraftRandom_nextFloat($par5Random);
        var$13 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.125;
        nle_EaglercraftRandom_nextFloat($par5Random);
        $var11 = var$8 + 0.25 * $var20;
        var$15 = nle_EaglercraftRandom_nextFloat($par5Random) * 1.0 * $var20;
        $var7 = var$9 + 0.25 * $var19;
        var$17 = nle_EaglercraftRandom_nextFloat($par5Random) * 1.0 * $var19;
        var$18 = $rt_s(1051);
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($par1World, var$18, $var7, $var9, $var11, var$17, var$13, var$15);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 >= 3)
            return;
        nle_EaglercraftRandom_nextFloat($par5Random);
        $var9 = var$7 + nle_EaglercraftRandom_nextFloat($par5Random);
        nle_EaglercraftRandom_nextFloat($par5Random);
        $var19 = (nle_EaglercraftRandom_nextInt($par5Random, 2) * 2 | 0) - 1 | 0;
        $var20 = (nle_EaglercraftRandom_nextInt($par5Random, 2) * 2 | 0) - 1 | 0;
        nle_EaglercraftRandom_nextFloat($par5Random);
        var$13 = (nle_EaglercraftRandom_nextFloat($par5Random) - 0.5) * 0.125;
        nle_EaglercraftRandom_nextFloat($par5Random);
        $var11 = var$8 + 0.25 * $var20;
        var$15 = nle_EaglercraftRandom_nextFloat($par5Random) * 1.0 * $var20;
        $var7 = var$9 + 0.25 * $var19;
        var$17 = nle_EaglercraftRandom_nextFloat($par5Random) * 1.0 * $var19;
        var$18 = $rt_s(1051);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5Random, $var6, var$7, var$8, var$9, $var9, $var19, $var20, var$13, $var11, var$15, $var7, var$17, var$18, $ptr);
};
$java.nms_BlockEnderChest_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(1964));
};
function nms_BlockTripWireSource() {
    nms_Block.call(this);
}
function nms_BlockTripWireSource__init_(var_0) {
    var var_1 = new nms_BlockTripWireSource();
    $java.nms_BlockTripWireSource__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockTripWireSource__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_circuits);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
    $this.$needsRandomTick = 1;
};
$java.nms_BlockTripWireSource_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockTripWireSource_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockTripWireSource_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockTripWireSource_getRenderType = function($this) {
    return 29;
};
$java.nms_BlockTripWireSource_tickRate = function($this, $par1World) {
    return 10;
};
$java.nms_BlockTripWireSource_canPlaceBlockOnSide = function($this, $par1World, $par2, $par3, $par4, $par5) {
    return $par5 == 2 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) ? 1 : $par5 == 3 && nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) ? 1 : $par5 == 4 && nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) ? 1 : $par5 == 5 && nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) ? 1 : 0;
};
$java.nms_BlockTripWireSource_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) ? 1 : nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) ? 1 : nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0);
};
$java.nms_BlockTripWireSource_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    var $var10;
    $var10 = 0;
    if ($par5 == 2 && nms_World_isBlockNormalCubeDefault($par1World, $par2, $par3, $par4 + 1 | 0, 1))
        $var10 = 2;
    if ($par5 == 3 && nms_World_isBlockNormalCubeDefault($par1World, $par2, $par3, $par4 - 1 | 0, 1))
        $var10 = 0;
    if ($par5 == 4 && nms_World_isBlockNormalCubeDefault($par1World, $par2 + 1 | 0, $par3, $par4, 1))
        $var10 = 1;
    if ($par5 == 5 && nms_World_isBlockNormalCubeDefault($par1World, $par2 - 1 | 0, $par3, $par4, 1))
        $var10 = 3;
    return $var10;
};
$java.nms_BlockTripWireSource_onPostBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$6 = $this.$blockID;
        var$7 = 0;
        var$8 = (-1);
        var$9 = 0;
        $ptr = 1;
    case 1:
        $java.nms_BlockTripWireSource_func_72143_a($this, $par1World, $par2, $par3, $par4, var$6, $par5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, var$6, var$7, var$8, var$9, $ptr);
};
$java.nms_BlockTripWireSource_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par5 != $this.$blockID) {
            if (!$java.nms_BlockTripWireSource_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4)) {
                nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
                $ptr = 1;
                continue main;
            }
            if (1) {
                $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
                $var7 = $var6 & 3;
                $var8 = 0;
                if (!nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) && $var7 == 3)
                    $var8 = 1;
                if (!nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) && $var7 == 1)
                    $var8 = 1;
                if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) && !$var7)
                    $var8 = 1;
                if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) && $var7 == 2)
                    $var8 = 1;
                if ($var8) {
                    nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, $var6, 0);
                    $ptr = 2;
                    continue main;
                }
            }
        }
        return;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        if (0) {
            $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
            $var7 = $var6 & 3;
            $var8 = 0;
            if (!nms_World_isBlockNormalCube($par1World, $par2 - 1 | 0, $par3, $par4) && $var7 == 3)
                $var8 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2 + 1 | 0, $par3, $par4) && $var7 == 1)
                $var8 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 - 1 | 0) && !$var7)
                $var8 = 1;
            if (!nms_World_isBlockNormalCube($par1World, $par2, $par3, $par4 + 1 | 0) && $var7 == 2)
                $var8 = 1;
            if ($var8) {
                nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, $var6, 0);
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 2:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $var8, $ptr);
};
$java.nms_BlockTripWireSource_func_72143_a = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    var $var10, $var11, $var12, $var13, $var14, $var15, $var16, $var17, $var19, $var20, $var21, $var22, $var23, $var24, $var25, $var26, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var21 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4
        = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var10 = $par6 & 3;
        $var11 = ($par6 & 4) != 4 ? 0 : 1;
        $var12 = ($par6 & 8) != 8 ? 0 : 1;
        nms_Block_$callClinit();
        $var13 = $par5 != nms_Block_tripWireSource.$blockID ? 0 : 1;
        $var14 = 0;
        $var15 = nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) ? 0 : 1;
        $var16 = nms_Direction_offsetX.data[$var10];
        $var17 = nms_Direction_offsetZ.data[$var10];
        $var19 = $rt_createIntArray(42).data;
        $var20 = 1;
        a: {
            while ($var20 < 42) {
                $var21 = $par2 + $rt_imul($var16, $var20) | 0;
                $var22 = $par4 + $rt_imul($var17, $var20) | 0;
                $var23 = nms_World_getBlockId($par1World, $var21, $par3, $var22);
                if ($var23 == nms_Block_tripWireSource.$blockID) {
                    if ((nms_World_getBlockMetadata($par1World, $var21, $par3, $var22) & 3) == nms_Direction_rotateOpposite.data[$var10])
                        break a;
                    $var20 = 0;
                    break a;
                }
                if ($var23 != nms_Block_tripWire.$blockID && $var20 != $par8) {
                    $var19[$var20] = (-1);
                    $var13 = 0;
                } else {
                    $var23 = $rt_compare($var20, $par8);
                    $var24 = $var23 ? nms_World_getBlockMetadata($par1World, $var21, $par3, $var22) : $par9;
                    $var25 = ($var24 & 8) == 8 ? 0 : 1;
                    $var26 = ($var24 & 1) != 1 ? 0 : 1;
                    $var13 = $var13 & ((($var24 & 2) != 2 ? 0 : 1) != $var15 ? 0 : 1);
                    $var14 = $var14 | ($var25 && $var26 ? 1 : 0);
                    $var19[$var20] = $var24;
                    if (!$var23)
                        $var13 = $var13 & $var25;
                }
                $var20 = $var20 + 1 | 0;
            }
            $var20 = 0;
        }
        $var13 = $var13 & ($var20 <= 1 ? 0 : 1);
        $var14 = $var14 & $var13;
        $par6 = (!$var13 ? 0 : 4) | (!$var14 ? 0 : 8);
        $par8 = $var10 | $par6;
        if ($var20 > 0) {
            $var21 = $par2 + $rt_imul($var16, $var20) | 0;
            $var22 = $par4 + $rt_imul($var17, $var20) | 0;
            $var23 = nms_Direction_rotateOpposite.data[$var10];
            $par6 = $var23 | $par6;
            $par9 = 3;
            $ptr = 1;
            continue main;
        }
        $java.nms_BlockTripWireSource_playSoundEffect($this, $par1World, $par2, $par3, $par4, $var13, $var14, $var11, $var12);
        if ($par5 > 0) {
            $par5 = 3;
            $ptr = 2;
            continue main;
        }
        b: {
            if ($var11 != $var13) {
                $var21 = 1;
                while (true) {
                    if ($var21 >= $var20)
                        break b;
                    $var22 = $par2 + $rt_imul($var16, $var21) | 0;
                    $var23 = $par4 + $rt_imul($var17, $var21) | 0;
                    $var24 = $var19[$var21];
                    if ($var24 >= 0) {
                        $par5 = !$var13 ? $var24 & (-5) : $var24 | 4;
                        $par6 = 3;
                        $ptr = 3;
                        continue main;
                    }
                    $var21 = $var21 + 1 | 0;
                }
            }
        }
        return;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $var21, $par3, $var22, $par6, $par9);
        if ($rt_suspending()) {
            break main;
        }
        $java.nms_BlockTripWireSource_notifyNeighborOfChange($this, $par1World, $var21, $par3, $var22, $var23);
        $java.nms_BlockTripWireSource_playSoundEffect($this, $par1World, $var21, $par3, $var22, $var13, $var14, $var11, $var12);
        $java.nms_BlockTripWireSource_playSoundEffect($this, $par1World, $par2, $par3, $par4, $var13, $var14, $var11, $var12);
        if ($par5 > 0) {
            $par5 = 3;
            $ptr = 2;
            continue main;
        }
        c: {
            if ($var11 != $var13) {
                $var21 = 1;
                while (true) {
                    if ($var21 >= $var20)
                        break c;
                    $var22 = $par2 + $rt_imul($var16, $var21) | 0;
                    $var23 = $par4 + $rt_imul($var17, $var21) | 0;
                    $var24 = $var19[$var21];
                    if ($var24 >= 0) {
                        $par5 = !$var13 ? $var24 & (-5) : $var24 | 4;
                        $par6 = 3;
                        $ptr = 3;
                        continue main;
                    }
                    $var21 = $var21 + 1 | 0;
                }
            }
        }
        return;
    case 2:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par8, $par5);
        if ($rt_suspending()) {
            break main;
        }
        if ($par7)
            $java.nms_BlockTripWireSource_notifyNeighborOfChange($this, $par1World, $par2, $par3, $par4, $var10);
        c: {
            if ($var11 != $var13) {
                $var21 = 1;
                while (true) {
                    if ($var21 >= $var20)
                        break c;
                    $var22 = $par2 + $rt_imul($var16, $var21) | 0;
                    $var23 = $par4 + $rt_imul($var17, $var21) | 0;
                    $var24 = $var19[$var21];
                    if ($var24 >= 0) {
                        $par5 = !$var13 ? $var24 & (-5) : $var24 | 4;
                        $par6 = 3;
                        $ptr = 3;
                        continue main;
                    }
                    $var21 = $var21 + 1 | 0;
                }
            }
        }
        return;
    case 3:
        nms_World_setBlockMetadataWithNotify($par1World, $var22, $par3, $var23, $par5, $par6);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var21 = $var21 + 1 | 0;
            if ($var21 >= $var20)
                break;
            $var22 = $par2 + $rt_imul($var16, $var21) | 0;
            $var23 = $par4 + $rt_imul($var17, $var21) | 0;
            $var24 = $var19[$var21];
            if ($var24 < 0)
                continue;
            else {
                $par5 = !$var13 ? $var24 & (-5) : $var24 | 4;
                $par6 = 3;
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9, $var10, $var11, $var12, $var13, $var14, $var15, $var16, $var17, $var19, $var20, $var21, $var22, $var23, $var24, $var25, $var26, $ptr);
};
$java.nms_BlockTripWireSource_playSoundEffect = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8) {
    if ($par6 && !$par8)
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.1, $par4 + 0.5, $rt_s(501), 0.4000000059604645, 0.6000000238418579);
    else if (!$par6 && $par8)
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.1, $par4 + 0.5, $rt_s(501), 0.4000000059604645, 0.5);
    else if ($par5 && !$par7)
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.1, $par4 + 0.5, $rt_s(501), 0.4000000059604645, 0.699999988079071);
    else if (!$par5 && $par7)
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.1, $par4 + 0.5, $rt_s(1701), 0.4000000059604645, 1.2000000476837158 / (nle_EaglercraftRandom_nextFloat($par1World.$rand) * 0.20000000298023224 + 0.8999999761581421));
};
$java.nms_BlockTripWireSource_notifyNeighborOfChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3, $par4, $this.$blockID);
    if ($par5 == 3)
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2 - 1 | 0, $par3, $par4, $this.$blockID);
    else if ($par5 == 1)
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2 + 1 | 0, $par3, $par4, $this.$blockID);
    else if (!$par5)
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3, $par4 - 1 | 0, $this.$blockID);
    else if ($par5 == 2)
        nms_World_notifyBlocksOfNeighborChange($par1World, $par2, $par3, $par4 + 1 | 0, $this.$blockID);
};
$java.nms_BlockTripWireSource_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5;
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) & 3;
    if ($var5 == 3)
        nms_Block_setBlockBounds($this, 0.0, 0.20000000298023224, 0.3125, 0.375, 0.800000011920929, 0.6875);
    else if ($var5 == 1)
        nms_Block_setBlockBounds($this, 0.625, 0.20000000298023224, 0.3125, 1.0, 0.800000011920929, 0.6875);
    else if (!$var5)
        nms_Block_setBlockBounds($this, 0.3125, 0.20000000298023224, 0.0, 0.6875, 0.800000011920929, 0.375);
    else if ($var5 == 2)
        nms_Block_setBlockBounds($this, 0.3125, 0.20000000298023224, 0.625, 0.6875, 0.800000011920929, 1.0);
};
$java.nms_BlockTripWireSource_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return (nms_World_getBlockMetadata($par1IBlockAccess, $par2, $par3, $par4) & 8) != 8 ? 0 : 15;
};
$java.nms_BlockTripWireSource_isProvidingStrongPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $var6, $var7;
    $var6 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    if (($var6 & 8) != 8)
        return 0;
    $var7 = $var6 & 3;
    return $var7 == 2 && $par5 == 2 ? 15 : !$var7 && $par5 == 3 ? 15 : $var7 == 1 && $par5 == 4 ? 15 : $var7 == 3 && $par5 == 5 ? 15 : 0;
};
$java.nms_BlockTripWireSource_canProvidePower = function($this) {
    return 1;
};
function nms_BlockTripWire() {
    nms_Block.call(this);
}
function nms_BlockTripWire__init_(var_0) {
    var var_1 = new nms_BlockTripWire();
    $java.nms_BlockTripWire__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockTripWire__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_circuits);
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.15625, 1.0);
    $this.$needsRandomTick = 1;
};
$java.nms_BlockTripWire_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    return null;
};
$java.nms_BlockTripWire_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockTripWire_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockTripWire_getRenderBlockPass = function($this) {
    return 1;
};
$java.nms_BlockTripWire_getRenderType = function($this) {
    return 30;
};
$java.nms_BlockTripWire_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_silk.$itemID;
};
$java.nms_BlockTripWire_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        if ((($var6 & 2) != 2 ? 0 : 1) == (nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) ? 0 : 1))
            return;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, $var6, 0);
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $ptr);
};
$java.nms_BlockTripWire_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4);
    $var6 = ($var5 & 4) != 4 ? 0 : 1;
    if (!(($var5 & 2) != 2 ? 0 : 1))
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.09375, 1.0);
    else if ($var6)
        nms_Block_setBlockBounds($this, 0.0, 0.0625, 0.0, 1.0, 0.15625, 1.0);
    else
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.5, 1.0);
};
function nms_BlockTripWire_func_72148_a($par0IBlockAccess, $par1, $par2, $par3, $par4, $par5) {
    var $var6, $var8, $var9, $var10;
    $var6 = $par1 + nms_Direction_offsetX.data[$par5] | 0;
    $var8 = $par3 + nms_Direction_offsetZ.data[$par5] | 0;
    $var9 = $par0IBlockAccess.$getBlockId($var6, $par2, $var8);
    $var10 = ($par4 & 2) != 2 ? 0 : 1;
    nms_Block_$callClinit();
    if ($var9 == nms_Block_tripWireSource.$blockID)
        return ($par0IBlockAccess.$getBlockMetadata($var6, $par2, $var8) & 3) != nms_Direction_rotateOpposite.data[$par5] ? 0 : 1;
    if ($var9 != nms_Block_tripWire.$blockID)
        return 0;
    return $var10 != (($par0IBlockAccess.$getBlockMetadata($var6, $par2, $var8) & 2) != 2 ? 0 : 1) ? 0 : 1;
}
function nms_BlockCommandBlock() {
    nms_BlockContainer.call(this);
}
function nms_BlockCommandBlock__init_(var_0) {
    var var_1 = new nms_BlockCommandBlock();
    $java.nms_BlockCommandBlock__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockCommandBlock__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_iron);
};
$java.nms_BlockCommandBlock_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityCommandBlock__init_();
};
$java.nms_BlockCommandBlock_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $var10 = $par1World;
        if ($var10 !== null)
            nms_EntityPlayerSP_displayGUIEditSign($par5EntityPlayer, $var10);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, $var10, $ptr);
};
$java.nms_BlockCommandBlock_hasComparatorInputOverride = function($this) {
    return 1;
};
$java.nms_BlockCommandBlock_getComparatorInputOverride = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $tmp;
        return $var6 !== null && $var6 instanceof nms_TileEntityCommandBlock ? $var6.$succesCount : 0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $ptr);
};
$java.nms_BlockCommandBlock_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $var7 = $par1World;
        if (nms_ItemStack_hasDisplayName($par6ItemStack))
            $var7.$commandSenderName = nms_ItemStack_getDisplayName($par6ItemStack);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, $ptr);
};
function nms_BlockBeacon() {
    nms_BlockContainer.call(this);
    this.$theIcon2 = null;
}
function nms_BlockBeacon__init_(var_0) {
    var var_1 = new nms_BlockBeacon();
    $java.nms_BlockBeacon__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockBeacon__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_glass);
    nms_Block_setHardness($this, 3.0);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabMisc;
};
$java.nms_BlockBeacon_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityBeacon__init_();
};
$java.nms_BlockBeacon_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockBeacon_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockBeacon_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockBeacon_getRenderType = function($this) {
    return 34;
};
$java.nms_BlockBeacon_registerIcons = function($this, $par1IconRegister) {
    nms_Block_registerIcons($this, $par1IconRegister);
    $this.$theIcon2 = $par1IconRegister.$registerIcon($rt_s(2028));
};
function nms_BlockBeacon_getBeaconIcon($this) {
    return $this.$theIcon2;
}
$java.nms_BlockBeacon_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        $par1World.$field_94048_i = nms_ItemStack_getDisplayName($par6ItemStack);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $ptr);
};
function nms_BlockWall() {
    nms_Block.call(this);
}
var nms_BlockWall_types = null;
function nms_BlockWall__init_(var_0, var_1) {
    var var_2 = new nms_BlockWall();
    $java.nms_BlockWall__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockWall__init_ = function($this, $par1, $par2Block) {
    nms_Block__init_0($this, $par1, $par2Block.$blockMaterial);
    nms_Block_setHardness($this, $par2Block.$blockHardness);
    nms_Block_setResistance($this, $par2Block.$blockResistance / 3.0);
    $this.$stepSound = $par2Block.$stepSound;
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockWall_getIcon = function($this, $par1, $par2) {
    var var$3;
    if ($par2 != 1) {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_cobblestone, $par1);
    } else {
        nms_Block_$callClinit();
        var$3 = nms_Block_getBlockTextureFromSide(nms_Block_cobblestoneMossy, $par1);
    }
    return var$3;
};
$java.nms_BlockWall_getRenderType = function($this) {
    return 32;
};
$java.nms_BlockWall_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockWall_getBlocksMovement = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    return 0;
};
$java.nms_BlockWall_isOpaqueCube = function($this) {
    return 0;
};
function nms_BlockWall_setBlockBoundsBasedOnState($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13;
    $var5 = nms_BlockWall_canConnectWallTo($this, $par1IBlockAccess, $par2, $par3, $par4 - 1 | 0);
    $var6 = nms_BlockWall_canConnectWallTo($this, $par1IBlockAccess, $par2, $par3, $par4 + 1 | 0);
    $var7 = nms_BlockWall_canConnectWallTo($this, $par1IBlockAccess, $par2 - 1 | 0, $par3, $par4);
    $var8 = nms_BlockWall_canConnectWallTo($this, $par1IBlockAccess, $par2 + 1 | 0, $par3, $par4);
    $var9 = 0.25;
    $var10 = 0.75;
    $var11 = 0.25;
    $var12 = 0.75;
    $var13 = 1.0;
    if ($var5)
        $var11 = 0.0;
    if ($var6)
        $var12 = 1.0;
    if ($var7)
        $var9 = 0.0;
    if ($var8)
        $var10 = 1.0;
    if ($var5 && $var6 && !$var7 && !$var8) {
        $var13 = 0.8125;
        $var9 = 0.3125;
        $var10 = 0.6875;
    } else if (!$var5 && !$var6 && $var7 && $var8) {
        $var13 = 0.8125;
        $var11 = 0.3125;
        $var12 = 0.6875;
    }
    nms_Block_setBlockBounds($this, $var9, 0.0, $var11, $var10, $var13, $var12);
}
$java.nms_BlockWall_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    nms_BlockWall_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    $this.$maxY0 = 1.5;
    return nms_Block_getCollisionBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
function nms_BlockWall_canConnectWallTo($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $par1IBlockAccess.$getBlockId($par2, $par3, $par4);
    if ($var5 != $this.$blockID) {
        nms_Block_$callClinit();
        if ($var5 != nms_Block_fenceGate.$blockID) {
            $var6 = nms_Block_blocksList.data[$var5];
            return $var6 !== null && nms_Material_isOpaque($var6.$blockMaterial) && $var6.$renderAsNormalBlock() ? ($var6.$blockMaterial === $java.nms_Material_pumpkin ? 0 : 1) : 0;
        }
    }
    return 1;
}
$java.nms_BlockWall_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 1));
};
$java.nms_BlockWall_damageDropped = function($this, $par1) {
    return $par1;
};
$java.nms_BlockWall_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return $par5 ? 1 : nms_Block_shouldSideBeRendered($this, $par1IBlockAccess, $par2, $par3, $par4, $par5);
};
$java.nms_BlockWall_registerIcons = function($this, $par1IconRegister) {
    return;
};
function nms_BlockWall__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 2);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2480);
    var$2[1] = $rt_s(2449);
    nms_BlockWall_types = var$1;
}
function nms_BlockFlowerPot() {
    nms_Block.call(this);
}
function nms_BlockFlowerPot__init_(var_0) {
    var var_1 = new nms_BlockFlowerPot();
    $java.nms_BlockFlowerPot__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockFlowerPot__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_circuits);
    $java.nms_BlockFlowerPot_setBlockBoundsForItemRender($this);
};
$java.nms_BlockFlowerPot_setBlockBoundsForItemRender = function($this) {
    nms_Block_setBlockBounds($this, 0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875);
};
$java.nms_BlockFlowerPot_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockFlowerPot_getRenderType = function($this) {
    return 33;
};
$java.nms_BlockFlowerPot_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockFlowerPot_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var $var10, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var10 = nms_InventoryPlayer_getCurrentItem($par5EntityPlayer.$inventory);
        if ($var10 === null)
            return 0;
        if (nms_World_getBlockMetadata($par1World, $par2, $par3, $par4))
            return 0;
        a: {
            $var11 = nms_ItemStack_getItem($var10).$itemID;
            nms_Block_$callClinit();
            if ($var11 == nms_Block_plantRed.$blockID)
                $var11 = 1;
            else if ($var11 == nms_Block_plantYellow.$blockID)
                $var11 = 2;
            else if ($var11 == nms_Block_cactus.$blockID)
                $var11 = 9;
            else if ($var11 == nms_Block_mushroomBrown.$blockID)
                $var11 = 8;
            else if ($var11 == nms_Block_mushroomRed.$blockID)
                $var11 = 7;
            else if ($var11 == nms_Block_deadBush.$blockID)
                $var11 = 10;
            else {
                b: {
                    if ($var11 == nms_Block_sapling.$blockID) {
                        switch ($var10.$itemDamage) {
                            case 0:
                                break;
                            case 1:
                                $var11 = 4;
                                break a;
                            case 2:
                                $var11 = 5;
                                break a;
                            case 3:
                                $var11 = 6;
                                break a;
                            default:
                                break b;
                        }
                        $var11 = 3;
                        break a;
                    }
                }
                c: {
                    if ($var11 == nms_Block_tallGrass.$blockID)
                        switch ($var10.$itemDamage) {
                            case 2:
                                $var11 = 11;
                                break a;
                            default:
                                break c;
                        }
                }
                $var11 = 0;
            }
        }
        if ($var11 <= 0)
            return 0;
        $par6 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var11, $par6);
        if ($rt_suspending()) {
            break main;
        }
        if (!$par5EntityPlayer.$capabilities.$isCreativeMode) {
            $par2 = $var10.$stackSize - 1 | 0;
            $var10.$stackSize = $par2;
            if ($par2 <= 0) {
                $par1World = $par5EntityPlayer.$inventory;
                $par2 = $par5EntityPlayer.$inventory.$currentItem;
                $par5EntityPlayer = null;
                $ptr = 2;
                continue main;
            }
        }
        return 1;
    case 2:
        nms_InventoryPlayer_setInventorySlotContents($par1World, $par2, $par5EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, $var10, $var11, $ptr);
};
$java.nms_BlockFlowerPot_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    var $var5;
    $var5 = $java.nms_BlockFlowerPot_getPlantForMeta(nms_World_getBlockMetadata($par1World, $par2, $par3, $par4));
    if ($var5 !== null)
        $par2 = $var5.$itemID0;
    else {
        nms_Item_$callClinit();
        $par2 = nms_Item_flowerPot.$itemID;
    }
    return $par2;
};
$java.nms_BlockFlowerPot_getDamageValue = function($this, $par1World, $par2, $par3, $par4) {
    var $var5;
    $var5 = $java.nms_BlockFlowerPot_getPlantForMeta(nms_World_getBlockMetadata($par1World, $par2, $par3, $par4));
    if ($var5 !== null)
        $par2 = $var5.$itemDamage;
    else {
        nms_Item_$callClinit();
        $par2 = nms_Item_flowerPot.$itemID;
    }
    return $par2;
};
$java.nms_BlockFlowerPot_isFlowerPot = function($this) {
    return 1;
};
$java.nms_BlockFlowerPot_canPlaceBlockAt = function($this, $par1World, $par2, $par3, $par4) {
    return nms_Block_canPlaceBlockAt($this, $par1World, $par2, $par3, $par4) && nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4) ? 1 : 0;
};
$java.nms_BlockFlowerPot_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_World_doesBlockHaveSolidTopSurface($par1World, $par2, $par3 - 1 | 0, $par4))
            return;
        nms_Block_dropBlockAsItem($this, $par1World, $par2, $par3, $par4, nms_World_getBlockMetadata($par1World, $par2, $par3, $par4), 0);
        $ptr = 1;
    case 1:
        nms_World_setBlockToAir($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockFlowerPot_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    $java.nms_BlockFlowerPot_getPlantForMeta($par5);
};
$java.nms_BlockFlowerPot_getPlantForMeta = function($par0) {
    var var$2, var$3;
    switch ($par0) {
        case 1:
            var$2 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_11(var$2, nms_Block_plantRed);
            return var$2;
        case 2:
            var$3 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_11(var$3, nms_Block_plantYellow);
            return var$3;
        case 3:
            var$3 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_13(var$3, nms_Block_sapling, 1, 0);
            return var$3;
        case 4:
            var$3 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_13(var$3, nms_Block_sapling, 1, 1);
            return var$3;
        case 5:
            var$3 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_13(var$3, nms_Block_sapling, 1, 2);
            return var$3;
        case 6:
            var$3 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_13(var$3, nms_Block_sapling, 1, 3);
            return var$3;
        case 7:
            var$3 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_11(var$3, nms_Block_mushroomRed);
            return var$3;
        case 8:
            var$3 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_11(var$3, nms_Block_mushroomBrown);
            return var$3;
        case 9:
            var$3 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_11(var$3, nms_Block_cactus);
            return var$3;
        case 10:
            var$3 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_11(var$3, nms_Block_deadBush);
            return var$3;
        case 11:
            var$3 = new nms_ItemStack;
            nms_Block_$callClinit();
            nms_ItemStack__init_13(var$3, nms_Block_tallGrass, 1, 2);
            return var$3;
        default:
    }
    return null;
};
function nms_BlockCarrot() {
    nms_BlockCrops.call(this);
    this.$iconArray12 = null;
}
function nms_BlockCarrot__init_(var_0) {
    var var_1 = new nms_BlockCarrot();
    $java.nms_BlockCarrot__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockCarrot__init_ = function($this, $par1) {
    $java.nms_BlockCrops__init_($this, $par1);
};
$java.nms_BlockCarrot_getIcon = function($this, $par1, $par2) {
    if ($par2 >= 7)
        return $this.$iconArray12.data[3];
    if ($par2 == 6)
        $par2 = 5;
    return $this.$iconArray12.data[$par2 >> 1];
};
$java.nms_BlockCarrot_getSeedItem = function($this) {
    nms_Item_$callClinit();
    return nms_Item_carrot.$itemID;
};
$java.nms_BlockCarrot_registerIcons = function($this, $par1IconRegister) {
    var $var2, var$3, var$4;
    $this.$iconArray12 = $rt_createArray(nms_Icon, 4);
    $var2 = 0;
    while ($var2 < $this.$iconArray12.data.length) {
        var$3 = $this.$iconArray12.data;
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $rt_s(2481));
        jl_AbstractStringBuilder_append2(var$4, $var2);
        var$3[$var2] = $par1IconRegister.$registerIcon(jl_AbstractStringBuilder_toString(var$4));
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockPotato() {
    nms_BlockCrops.call(this);
    this.$iconArray13 = null;
}
function nms_BlockPotato__init_(var_0) {
    var var_1 = new nms_BlockPotato();
    $java.nms_BlockPotato__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockPotato__init_ = function($this, $par1) {
    $java.nms_BlockCrops__init_($this, $par1);
};
$java.nms_BlockPotato_getIcon = function($this, $par1, $par2) {
    if ($par2 >= 7)
        return $this.$iconArray13.data[3];
    if ($par2 == 6)
        $par2 = 5;
    return $this.$iconArray13.data[$par2 >> 1];
};
$java.nms_BlockPotato_getSeedItem = function($this) {
    nms_Item_$callClinit();
    return nms_Item_potato.$itemID;
};
$java.nms_BlockPotato_registerIcons = function($this, $par1IconRegister) {
    var $var2, var$3, var$4;
    $this.$iconArray13 = $rt_createArray(nms_Icon, 4);
    $var2 = 0;
    while ($var2 < $this.$iconArray13.data.length) {
        var$3 = $this.$iconArray13.data;
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $rt_s(2482));
        jl_AbstractStringBuilder_append2(var$4, $var2);
        var$3[$var2] = $par1IconRegister.$registerIcon(jl_AbstractStringBuilder_toString(var$4));
        $var2 = $var2 + 1 | 0;
    }
};
function nms_BlockButtonWood() {
    nms_BlockButton.call(this);
}
function nms_BlockButtonWood__init_(var_0) {
    var var_1 = new nms_BlockButtonWood();
    $java.nms_BlockButtonWood__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockButtonWood__init_ = function($this, $par1) {
    $java.nms_BlockButton__init_0($this, $par1, 1);
};
$java.nms_BlockButtonWood_getIcon = function($this, $par1, $par2) {
    nms_Block_$callClinit();
    return nms_Block_getBlockTextureFromSide(nms_Block_planks, 1);
};
function nms_BlockSkull() {
    nms_BlockContainer.call(this);
}
function nms_BlockSkull__init_(var_0) {
    var var_1 = new nms_BlockSkull();
    $java.nms_BlockSkull__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockSkull__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_circuits);
    nms_Block_setBlockBounds($this, 0.25, 0.0, 0.25, 0.75, 0.5, 0.75);
};
$java.nms_BlockSkull_getRenderType = function($this) {
    return (-1);
};
$java.nms_BlockSkull_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockSkull_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockSkull_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    a: {
        switch ($par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) & 7) {
            case 1:
                break;
            case 2:
                nms_Block_setBlockBounds($this, 0.25, 0.25, 0.5, 0.75, 0.75, 1.0);
                break a;
            case 3:
                nms_Block_setBlockBounds($this, 0.25, 0.25, 0.0, 0.75, 0.75, 0.5);
                break a;
            case 4:
                nms_Block_setBlockBounds($this, 0.5, 0.25, 0.25, 1.0, 0.75, 0.75);
                break a;
            case 5:
                nms_Block_setBlockBounds($this, 0.0, 0.25, 0.25, 0.5, 0.75, 0.75);
                break a;
            default:
        }
        nms_Block_setBlockBounds($this, 0.25, 0.0, 0.25, 0.75, 0.5, 0.75);
    }
};
$java.nms_BlockSkull_getCollisionBoundingBoxFromPool = function($this, $par1World, $par2, $par3, $par4) {
    $java.nms_BlockSkull_setBlockBoundsBasedOnState($this, $par1World, $par2, $par3, $par4);
    return nms_Block_getCollisionBoundingBoxFromPool($this, $par1World, $par2, $par3, $par4);
};
$java.nms_BlockSkull_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 2.5) & 3;
        var$8 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, var$8, $ptr);
};
$java.nms_BlockSkull_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntitySkull__init_();
};
$java.nms_BlockSkull_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_skull.$itemID;
};
$java.nms_BlockSkull_getDamageValue = function($this, $par1World, $par2, $par3, $par4) {
    var $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        if ($var5 !== null && $var5 instanceof nms_TileEntitySkull)
            return $var5.$skullType;
        $ptr = 2;
    case 2:
        $tmp = nms_Block_getDamageValue($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $var5, $ptr);
};
$java.nms_BlockSkull_damageDropped = function($this, $par1) {
    return $par1;
};
$java.nms_BlockSkull_dropBlockAsItemWithChance = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7) {
    return;
};
$java.nms_BlockSkull_makeWither = function($this, $par1World, $par2, $par3, $par4, $par5TileEntitySkull) {
    return;
};
$java.nms_BlockSkull_registerIcons = function($this, $par1IconRegister) {
    return;
};
$java.nms_BlockSkull_getIcon = function($this, $par1, $par2) {
    nms_Block_$callClinit();
    return nms_Block_getBlockTextureFromSide(nms_Block_slowSand, $par1);
};
$java.nms_BlockSkull_getItemIconName = function($this) {
    return $java.nms_ItemSkull_field_94587_a.data[0];
};
function nms_BlockAnvil() {
    var a = this; nms_BlockSand.call(a);
    a.$field_82521_b = 0;
    a.$iconArray14 = null;
}
$java.nms_BlockAnvil_statuses = null;
$java.nms_BlockAnvil_anvilIconNames = null;
function nms_BlockAnvil__init_(var_0) {
    var var_1 = new nms_BlockAnvil();
    $java.nms_BlockAnvil__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockAnvil__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, $java.nms_Material_anvil);
    $this.$field_82521_b = 0;
    nms_Block_setLightOpacity($this, 0);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabDecorations;
};
$java.nms_BlockAnvil_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockAnvil_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockAnvil_getIcon = function($this, $par1, $par2) {
    var $var3;
    if ($this.$field_82521_b == 3 && $par1 == 1) {
        $var3 = ($par2 >> 2) % $this.$iconArray14.data.length | 0;
        return $this.$iconArray14.data[$var3];
    }
    return $this.$blockIcon;
};
$java.nms_BlockAnvil_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2483));
    $this.$iconArray14 = $rt_createArray(nms_Icon, $java.nms_BlockAnvil_anvilIconNames.data.length);
    $var2 = 0;
    while ($var2 < $this.$iconArray14.data.length) {
        $this.$iconArray14.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockAnvil_anvilIconNames.data[$var2]);
        $var2 = $var2 + 1 | 0;
    }
};
$java.nms_BlockAnvil_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, $var8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var7 = nms_MathHelper_floor_double($par5EntityLiving.$rotationYaw * 4.0 / 360.0 + 0.5) & 3;
        $var8 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4) >> 2;
        $var7 = ($var7 + 1 | 0) % 4 | 0;
        if (!$var7) {
            var$9 = 2 | $var8 << 2;
            var$10 = 2;
            $ptr = 1;
            continue main;
        }
        if ($var7 == 1) {
            var$9 = 3 | $var8 << 2;
            var$10 = 2;
            $ptr = 2;
            continue main;
        }
        if ($var7 == 2) {
            var$9 = 0 | $var8 << 2;
            var$10 = 2;
            $ptr = 3;
            continue main;
        }
        if ($var7 != 3)
            return;
        $var7 = 1 | $var8 << 2;
        var$9 = 2;
        $ptr = 4;
        continue main;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7 == 1) {
            var$9 = 3 | $var8 << 2;
            var$10 = 2;
            $ptr = 2;
            continue main;
        }
        if ($var7 == 2) {
            var$9 = 0 | $var8 << 2;
            var$10 = 2;
            $ptr = 3;
            continue main;
        }
        if ($var7 != 3)
            return;
        $var7 = 1 | $var8 << 2;
        var$9 = 2;
        $ptr = 4;
        continue main;
    case 2:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7 == 2) {
            var$9 = 0 | $var8 << 2;
            var$10 = 2;
            $ptr = 3;
            continue main;
        }
        if ($var7 != 3)
            return;
        $var7 = 1 | $var8 << 2;
        var$9 = 2;
        $ptr = 4;
        continue main;
    case 3:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7 != 3)
            return;
        $var7 = 1 | $var8 << 2;
        var$9 = 2;
        $ptr = 4;
    case 4:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $var7, var$9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, $var8, var$9, var$10, $ptr);
};
$java.nms_BlockAnvil_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockAnvil_getRenderType = function($this) {
    return 35;
};
$java.nms_BlockAnvil_damageDropped = function($this, $par1) {
    return $par1 >> 2;
};
$java.nms_BlockAnvil_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $var5;
    $var5 = $par1IBlockAccess.$getBlockMetadata($par2, $par3, $par4) & 3;
    if ($var5 != 3 && $var5 != 1)
        nms_Block_setBlockBounds($this, 0.125, 0.0, 0.0, 0.875, 1.0, 1.0);
    else
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.125, 1.0, 1.0, 0.875);
};
$java.nms_BlockAnvil_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 1));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 2));
};
$java.nms_BlockAnvil_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return 1;
};
function nms_BlockAnvil__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2484);
    var$2[1] = $rt_s(2485);
    var$2[2] = $rt_s(2486);
    $java.nms_BlockAnvil_statuses = var$1;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2487);
    var$2[1] = $rt_s(2488);
    var$2[2] = $rt_s(2489);
    $java.nms_BlockAnvil_anvilIconNames = var$1;
}
function nms_BlockPressurePlateWeighted() {
    nms_BlockBasePressurePlate.call(this);
    this.$maxItemsWeighted = 0;
}
function nms_BlockPressurePlateWeighted__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_BlockPressurePlateWeighted();
    $java.nms_BlockPressurePlateWeighted__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nms_BlockPressurePlateWeighted__init_ = function($this, $par1, $par2Str, $par3Material, $par4) {
    $java.nms_BlockBasePressurePlate__init_0($this, $par1, $par2Str, $par3Material);
    $this.$maxItemsWeighted = $par4;
};
$java.nms_BlockPressurePlateWeighted_getPowerSupply = function($this, $par1) {
    return $par1;
};
$java.nms_BlockPressurePlateWeighted_getMetaFromWeight = function($this, $par1) {
    return $par1;
};
function nms_BlockComparator() {
    nms_BlockRedstoneLogic.call(this);
}
function nms_BlockComparator__init_(var_0, var_1) {
    var var_2 = new nms_BlockComparator();
    $java.nms_BlockComparator__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_BlockComparator__init_ = function($this, $par1, $par2) {
    $java.nms_BlockRedstoneLogic__init_0($this, $par1, $par2);
    $this.$isBlockContainer = 1;
};
$java.nms_BlockComparator_idPicked = function($this, $par1World, $par2, $par3, $par4) {
    nms_Item_$callClinit();
    return nms_Item_comparator.$itemID;
};
$java.nms_BlockComparator_func_94481_j_ = function($this, $par1) {
    return 2;
};
$java.nms_BlockComparator_func_94485_e = function($this) {
    nms_Block_$callClinit();
    return nms_Block_redstoneComparatorActive;
};
$java.nms_BlockComparator_func_94484_i = function($this) {
    nms_Block_$callClinit();
    return nms_Block_redstoneComparatorIdle;
};
$java.nms_BlockComparator_getRenderType = function($this) {
    return 37;
};
$java.nms_BlockComparator_getIcon = function($this, $par1, $par2) {
    var $var3, var$4;
    $var3 = !$this.$isRepeaterPowered && !($par2 & 8) ? 0 : 1;
    if (!$par1) {
        if (!$var3) {
            nms_Block_$callClinit();
            var$4 = nms_Block_getBlockTextureFromSide(nms_Block_torchRedstoneIdle, $par1);
        } else {
            nms_Block_$callClinit();
            var$4 = nms_Block_getBlockTextureFromSide(nms_Block_torchRedstoneActive, $par1);
        }
    } else if ($par1 != 1) {
        nms_Block_$callClinit();
        var$4 = nms_Block_getBlockTextureFromSide(nms_Block_stoneDoubleSlab, 1);
    } else if (!$var3)
        var$4 = $this.$blockIcon;
    else {
        nms_Block_$callClinit();
        var$4 = nms_Block_redstoneComparatorActive.$blockIcon;
    }
    return var$4;
};
$java.nms_BlockComparator_func_96470_c = function($this, $par1) {
    return !$this.$isRepeaterPowered && !($par1 & 8) ? 0 : 1;
};
$java.nms_BlockComparator_func_94480_d = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockComparator_getTileEntityComparator($this, $par1IBlockAccess, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1IBlockAccess = $tmp;
        return $par1IBlockAccess.$field_96101_a;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockComparator_func_94491_m = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_BlockComparator_func_94490_c($this, $par5)) {
            $ptr = 1;
            continue main;
        }
        $ptr = 3;
        continue main;
    case 1:
        $tmp = $java.nms_BlockComparator_getInputStrength($this, $par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $tmp;
        $ptr = 2;
    case 2:
        $tmp = $java.nms_BlockRedstoneLogic_func_94482_f($this, $par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return jl_Math_max(var$6 - $par2 | 0, 0);
    case 3:
        $tmp = $java.nms_BlockComparator_getInputStrength($this, $par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, var$6, $ptr);
};
function nms_BlockComparator_func_94490_c($this, $par1) {
    return ($par1 & 4) != 4 ? 0 : 1;
}
$java.nms_BlockComparator_func_94478_d = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockComparator_getInputStrength($this, $par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $tmp;
        if ($var6 >= 15)
            return 1;
        if (!$var6)
            return 0;
        $ptr = 2;
    case 2:
        $tmp = $java.nms_BlockRedstoneLogic_func_94482_f($this, $par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        return !$var7 ? 1 : $var6 < $var7 ? 0 : 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $ptr);
};
$java.nms_BlockComparator_getInputStrength = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, $var9, $var10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockRedstoneLogic_getInputStrength($this, $par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $tmp;
        $var7 = nms_BlockDirectional_getDirection($par5);
        $var8 = $par2 + nms_Direction_offsetX.data[$var7] | 0;
        $var9 = $par4 + nms_Direction_offsetZ.data[$var7] | 0;
        $var10 = nms_World_getBlockId($par1World, $var8, $par3, $var9);
        if ($var10 > 0) {
            nms_Block_$callClinit();
            if (nms_Block_blocksList.data[$var10].$hasComparatorInputOverride()) {
                var$11 = nms_Block_blocksList.data[$var10];
                $par2 = nms_Direction_rotateOpposite.data[$var7];
                $ptr = 2;
                continue main;
            }
            if ($var6 < 15 && nms_Block_isNormalCube($var10)) {
                $par2 = $var8 + nms_Direction_offsetX.data[$var7] | 0;
                $par4 = $var9 + nms_Direction_offsetZ.data[$var7] | 0;
                $par5 = nms_World_getBlockId($par1World, $par2, $par3, $par4);
                if ($par5 > 0 && nms_Block_blocksList.data[$par5].$hasComparatorInputOverride()) {
                    var$11 = nms_Block_blocksList.data[$par5];
                    $par5 = nms_Direction_rotateOpposite.data[$var7];
                    $ptr = 3;
                    continue main;
                }
            }
        }
        return $var6;
    case 2:
        $tmp = var$11.$getComparatorInputOverride($par1World, $var8, $par3, $var9, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $tmp;
        return $var6;
    case 3:
        $tmp = var$11.$getComparatorInputOverride($par1World, $par2, $par3, $par4, $par5);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $tmp;
        return $var6;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, $var8, $var9, $var10, var$11, $ptr);
};
$java.nms_BlockComparator_getTileEntityComparator = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1IBlockAccess = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $par1IBlockAccess.$getBlockTileEntity($par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1IBlockAccess = $tmp;
        return $par1IBlockAccess;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1IBlockAccess, $par2, $par3, $par4, $ptr);
};
$java.nms_BlockComparator_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    var $var10, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5EntityPlayer = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var10 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var11 = $this.$isRepeaterPowered | (!($var10 & 8) ? 0 : 1);
        $var12 = nms_BlockComparator_func_94490_c($this, $var10) ? 0 : 1;
        $var11 = (!$var12 ? 0 : 4) | (!$var11 ? 0 : 8);
        nms_World_playSoundEffect($par1World, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $rt_s(501), 0.30000001192092896, !$var12 ? 0.5 : 0.550000011920929);
        $par6 = $var11 | $var10 & 3;
        $var10 = 2;
        $ptr = 1;
    case 1:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par6, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $par6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $ptr = 2;
    case 2:
        $tmp = $java.nms_BlockComparator_func_94491_m($this, $par1World, $par2, $par3, $par4, $par6);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $tmp;
        $ptr = 3;
    case 3:
        $tmp = $java.nms_BlockComparator_getTileEntityComparator($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par5EntityPlayer = $tmp;
        $var11 = $par5EntityPlayer.$field_96101_a;
        $ptr = 4;
    case 4:
        $tmp = $java.nms_BlockComparator_getTileEntityComparator($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par5EntityPlayer = $tmp;
        $par5EntityPlayer.$field_96101_a = $var10;
        if ($var11 == $var10 && nms_BlockComparator_func_94490_c($this, $par6))
            return 1;
        $ptr = 5;
    case 5:
        $tmp = $java.nms_BlockComparator_func_94478_d($this, $par1World, $par2, $par3, $par4, $par6);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $tmp;
        $var11 = !$this.$isRepeaterPowered && !($par6 & 8) ? 0 : 1;
        if ($var11 && !$var10) {
            $par6 = $par6 & (-9);
            $var10 = 2;
            $ptr = 6;
            continue main;
        }
        if (!$var11 && $var10) {
            $par6 = $par6 | 8;
            $var10 = 2;
            $ptr = 7;
            continue main;
        }
        $java.nms_BlockRedstoneLogic_func_94483_i_($this, $par1World, $par2, $par3, $par4);
        return 1;
    case 6:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par6, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $java.nms_BlockRedstoneLogic_func_94483_i_($this, $par1World, $par2, $par3, $par4);
        return 1;
    case 7:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par6, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $java.nms_BlockRedstoneLogic_func_94483_i_($this, $par1World, $par2, $par3, $par4);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9, $var10, $var11, $var12, $ptr);
};
$java.nms_BlockComparator_func_94479_f = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $var6, $var7, var$8, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockComparator_func_94491_m($this, $par1World, $par2, $par3, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        $ptr = 2;
    case 2:
        $tmp = $java.nms_BlockComparator_getTileEntityComparator($this, $par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        var$8 = $tmp;
        if ($var7 != var$8.$field_96101_a) {
            $java.nms_BlockRedstoneLogic_func_83011_d($this, $par1World, $par2, $par3, $par4, $var6);
            return;
        }
        $par5 = $java.nms_BlockComparator_func_96470_c($this, $var6);
        $ptr = 3;
    case 3:
        $tmp = $java.nms_BlockComparator_func_94478_d($this, $par1World, $par2, $par3, $par4, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        $java.nms_BlockRedstoneLogic_func_83011_d($this, $par1World, $par2, $par3, $par4, $var6);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $var6, $var7, var$8, $var8, $ptr);
};
$java.nms_BlockComparator_onBlockEventReceived = function($this, $par1World, $par2, $par3, $par4, $par5, $par6) {
    var $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        return $var7 === null ? 0 : $var7.$receiveClientEvent($par5, $par6);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $par6, $var7, $ptr);
};
$java.nms_BlockComparator_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon(!$this.$isRepeaterPowered ? $rt_s(1853) : $rt_s(2490));
};
$java.nms_BlockComparator_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityComparator__init_();
};
function nms_BlockDaylightDetector() {
    nms_BlockContainer.call(this);
    this.$iconArray15 = null;
}
function nms_BlockDaylightDetector__init_(var_0) {
    var var_1 = new nms_BlockDaylightDetector();
    $java.nms_BlockDaylightDetector__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockDaylightDetector__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_wood);
    $this.$iconArray15 = $rt_createArray(nms_Icon, 2);
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.375, 1.0);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
};
$java.nms_BlockDaylightDetector_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.375, 1.0);
};
$java.nms_BlockDaylightDetector_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return nms_World_getBlockMetadata($par1IBlockAccess, $par2, $par3, $par4);
};
$java.nms_BlockDaylightDetector_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    return;
};
$java.nms_BlockDaylightDetector_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockDaylightDetector_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockDaylightDetector_canProvidePower = function($this) {
    return 1;
};
$java.nms_BlockDaylightDetector_createNewTileEntity = function($this, $par1World) {
    $par1World = new nms_TileEntityDaylightDetector;
    nms_TileEntity__init_($par1World);
    return $par1World;
};
$java.nms_BlockDaylightDetector_getIcon = function($this, $par1, $par2) {
    return $par1 != 1 ? $this.$iconArray15.data[1] : $this.$iconArray15.data[0];
};
$java.nms_BlockDaylightDetector_registerIcons = function($this, $par1IconRegister) {
    $this.$iconArray15.data[0] = $par1IconRegister.$registerIcon($rt_s(2491));
    $this.$iconArray15.data[1] = $par1IconRegister.$registerIcon($rt_s(2492));
};
function nms_BlockPoweredOre() {
    nms_BlockOreStorage.call(this);
}
function nms_BlockPoweredOre__init_(var_0) {
    var var_1 = new nms_BlockPoweredOre();
    $java.nms_BlockPoweredOre__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockPoweredOre__init_ = function($this, $par1) {
    $java.nms_BlockOreStorage__init_($this, $par1);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
};
$java.nms_BlockPoweredOre_canProvidePower = function($this) {
    return 1;
};
$java.nms_BlockPoweredOre_isProvidingWeakPower = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return 15;
};
function nms_BlockHopper() {
    var a = this; nms_BlockContainer.call(a);
    a.$field_94457_a = null;
    a.$hopperIcon = null;
    a.$hopperTopIcon = null;
    a.$hopperInsideIcon = null;
}
function nms_BlockHopper__init_(var_0) {
    var var_1 = new nms_BlockHopper();
    $java.nms_BlockHopper__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockHopper__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    $java.nms_BlockContainer__init_0($this, $par1, nms_Material_iron);
    $this.$field_94457_a = nle_EaglercraftRandom__init_0();
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabRedstone;
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
};
$java.nms_BlockHopper_setBlockBoundsBasedOnState = function($this, $par1IBlockAccess, $par2, $par3, $par4) {
    nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
};
$java.nms_BlockHopper_addCollisionBoxesToList = function($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity) {
    var $var8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$par7Entity = $thread.pop();$par6List = $thread.pop();$par5AxisAlignedBB = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 0.625, 1.0);
        $ptr = 1;
    case 1:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = 0.125;
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, $var8, 1.0, 1.0);
        $ptr = 2;
    case 2:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, $var8);
        $ptr = 3;
    case 3:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        var$9 = 0.875;
        nms_Block_setBlockBounds($this, var$9, 0.0, 0.0, 1.0, 1.0, 1.0);
        $ptr = 4;
    case 4:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, var$9, 1.0, 1.0, 1.0);
        $ptr = 5;
    case 5:
        nms_Block_addCollisionBoxesToList($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity);
        if ($rt_suspending()) {
            break main;
        }
        nms_Block_setBlockBounds($this, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5AxisAlignedBB, $par6List, $par7Entity, $var8, var$9, $ptr);
};
$java.nms_BlockHopper_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    var $var10;
    $var10 = $java.nms_Facing_oppositeSide.data[$par5];
    if ($var10 == 1)
        $var10 = 0;
    return $var10;
};
$java.nms_BlockHopper_createNewTileEntity = function($this, $par1World) {
    return $java.nms_TileEntityHopper__init_();
};
$java.nms_BlockHopper_onBlockPlacedBy = function($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack) {
    var $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$par6ItemStack = $thread.pop();$par5EntityLiving = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_ItemStack_hasDisplayName($par6ItemStack))
            return;
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockHopper_getHopperTile($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $tmp;
        $var7.$inventoryName = nms_ItemStack_getDisplayName($par6ItemStack);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5EntityLiving, $par6ItemStack, $var7, $ptr);
};
$java.nms_BlockHopper_onBlockActivated = function($this, $par1World, $par2, $par3, $par4, $par5EntityPlayer, $par6, $par7, $par8, $par9) {
    return 1;
};
$java.nms_BlockHopper_onNeighborBlockChange = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$6 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        var$7 = nms_BlockHopper_getDirectionFromMetadata(var$6);
        $ptr = 1;
    case 1:
        $tmp = nms_World_isBlockIndirectlyGettingPowered($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par5 = $tmp;
        $par5 = $par5 ? 0 : 1;
        if ($par5 == ((var$6 & 8) == 8 ? 0 : 1))
            return;
        $par5 = var$7 | (!$par5 ? 8 : 0);
        var$8 = 4;
        $ptr = 2;
    case 2:
        nms_World_setBlockMetadataWithNotify($par1World, $par2, $par3, $par4, $par5, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, var$6, var$7, var$8, $ptr);
};
$java.nms_BlockHopper_getRenderType = function($this) {
    return 38;
};
$java.nms_BlockHopper_renderAsNormalBlock = function($this) {
    return 0;
};
$java.nms_BlockHopper_isOpaqueCube = function($this) {
    return 0;
};
$java.nms_BlockHopper_shouldSideBeRendered = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    return 1;
};
$java.nms_BlockHopper_getIcon = function($this, $par1, $par2) {
    return $par1 != 1 ? $this.$hopperIcon : $this.$hopperTopIcon;
};
function nms_BlockHopper_getDirectionFromMetadata($par0) {
    return $par0 & 7;
}
$java.nms_BlockHopper_hasComparatorInputOverride = function($this) {
    return 1;
};
$java.nms_BlockHopper_getComparatorInputOverride = function($this, $par1World, $par2, $par3, $par4, $par5) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockHopper_getHopperTile($par1World, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1World = $tmp;
        return nms_Container_calcRedstoneFromInventory($par1World);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $ptr);
};
$java.nms_BlockHopper_registerIcons = function($this, $par1IconRegister) {
    $this.$hopperIcon = $par1IconRegister.$registerIcon($rt_s(966));
    $this.$hopperTopIcon = $par1IconRegister.$registerIcon($rt_s(2493));
    $this.$hopperInsideIcon = $par1IconRegister.$registerIcon($rt_s(967));
};
function nms_BlockHopper_getHopperIcon($par0Str) {
    if ($par0Str === $rt_s(966)) {
        nms_Block_$callClinit();
        $par0Str = nms_Block_hopperBlock.$hopperIcon;
    } else if ($par0Str !== $rt_s(967))
        $par0Str = null;
    else {
        nms_Block_$callClinit();
        $par0Str = nms_Block_hopperBlock.$hopperInsideIcon;
    }
    return $par0Str;
}
$java.nms_BlockHopper_getItemIconName = function($this) {
    return $rt_s(966);
};
$java.nms_BlockHopper_getHopperTile = function($par0IBlockAccess, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$par0IBlockAccess = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($par0IBlockAccess, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $par0IBlockAccess = $tmp;
        return $par0IBlockAccess;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($par0IBlockAccess, $par1, $par2, $par3, $ptr);
};
function nms_BlockQuartz() {
    var a = this; nms_Block.call(a);
    a.$quartzblockIcons = null;
    a.$quartzblock_chiseled_top = null;
    a.$quartzblock_lines_top = null;
    a.$quartzblock_top = null;
    a.$quartzblock_bottom = null;
}
var nms_BlockQuartz_quartzBlockTypes = null;
$java.nms_BlockQuartz_quartzBlockTextureTypes = null;
function nms_BlockQuartz__init_(var_0) {
    var var_1 = new nms_BlockQuartz();
    $java.nms_BlockQuartz__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockQuartz__init_ = function($this, $par1) {
    nms_Material_$callClinit();
    nms_Block__init_0($this, $par1, nms_Material_rock);
    $this.$displayOnCreativeTab = nms_CreativeTabs_tabBlock;
};
$java.nms_BlockQuartz_getIcon = function($this, $par1, $par2) {
    var var$3;
    var$3 = $rt_compare($par2, 2);
    if (var$3 && $par2 != 3 && $par2 != 4) {
        a: {
            if ($par1 != 1) {
                if ($par1)
                    break a;
                if ($par2 != 1)
                    break a;
            }
            return $par2 != 1 ? $this.$quartzblock_top : $this.$quartzblock_chiseled_top;
        }
        if (!$par1)
            return $this.$quartzblock_bottom;
        if (!($par2 >= 0 && $par2 < $this.$quartzblockIcons.data.length))
            $par2 = 0;
        return $this.$quartzblockIcons.data[$par2];
    }
    return !var$3 && !($par1 != 1 && $par1) ? $this.$quartzblock_lines_top : $par2 == 3 && !($par1 != 5 && $par1 != 4) ? $this.$quartzblock_lines_top : $par2 == 4 && !($par1 != 2 && $par1 != 3) ? $this.$quartzblock_lines_top : $this.$quartzblockIcons.data[$par2];
};
$java.nms_BlockQuartz_onBlockPlaced = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9) {
    a: {
        if ($par9 == 2)
            switch ($par5) {
                case 0:
                case 1:
                    $par9 = 2;
                    break a;
                case 2:
                case 3:
                    $par9 = 4;
                    break a;
                case 4:
                case 5:
                    $par9 = 3;
                    break a;
                default:
            }
    }
    return $par9;
};
$java.nms_BlockQuartz_damageDropped = function($this, $par1) {
    if (!($par1 != 3 && $par1 != 4))
        $par1 = 2;
    return $par1;
};
$java.nms_BlockQuartz_getRenderType = function($this) {
    return 39;
};
$java.nms_BlockQuartz_getSubBlocks = function($this, $par1, $par2CreativeTabs, $par3List) {
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 0));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 1));
    ju_ArrayList_add($par3List, nms_ItemStack__init_0($par1, 1, 2));
};
$java.nms_BlockQuartz_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    $this.$quartzblockIcons = $rt_createArray(nms_Icon, $java.nms_BlockQuartz_quartzBlockTextureTypes.data.length);
    $var2 = 0;
    while ($var2 < $this.$quartzblockIcons.data.length) {
        if ($java.nms_BlockQuartz_quartzBlockTextureTypes.data[$var2] !== null)
            $this.$quartzblockIcons.data[$var2] = $par1IconRegister.$registerIcon($java.nms_BlockQuartz_quartzBlockTextureTypes.data[$var2]);
        else
            $this.$quartzblockIcons.data[$var2] = $this.$quartzblockIcons.data[$var2 - 1 | 0];
        $var2 = $var2 + 1 | 0;
    }
    $this.$quartzblock_top = $par1IconRegister.$registerIcon($rt_s(2494));
    $this.$quartzblock_chiseled_top = $par1IconRegister.$registerIcon($rt_s(2495));
    $this.$quartzblock_lines_top = $par1IconRegister.$registerIcon($rt_s(2496));
    $this.$quartzblock_bottom = $par1IconRegister.$registerIcon($rt_s(2497));
};
function nms_BlockQuartz__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(222);
    var$2[1] = $rt_s(2355);
    var$2[2] = $rt_s(2498);
    nms_BlockQuartz_quartzBlockTypes = var$1;
    var$1 = $rt_createArray(jl_String, 5);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2499);
    var$2[1] = $rt_s(2500);
    var$2[2] = $rt_s(2501);
    var$2[3] = null;
    var$2[4] = null;
    $java.nms_BlockQuartz_quartzBlockTextureTypes = var$1;
}
function nms_BlockDropper() {
    nms_BlockDispenser.call(this);
}
function nms_BlockDropper__init_(var_0) {
    var var_1 = new nms_BlockDropper();
    $java.nms_BlockDropper__init_(var_1, var_0);
    return var_1;
}
$java.nms_BlockDropper__init_ = function($this, $par1) {
    $java.nms_BlockDispenser__init_($this, $par1);
};
$java.nms_BlockDropper_registerIcons = function($this, $par1IconRegister) {
    $this.$blockIcon = $par1IconRegister.$registerIcon($rt_s(2349));
    $this.$furnaceTopIcon = $par1IconRegister.$registerIcon($rt_s(2350));
    $this.$furnaceFrontIcon = $par1IconRegister.$registerIcon($rt_s(2502));
    $this.$field_96473_e = $par1IconRegister.$registerIcon($rt_s(2503));
};
$java.nms_BlockDropper_createNewTileEntity = function($this, $par1World) {
    $par1World = new nms_TileEntityDropper;
    nms_TileEntityDispenser__init_($par1World);
    return $par1World;
};
function nms_ItemBlock() {
    var a = this; nms_Item.call(a);
    a.$blockID1 = 0;
    a.$field_94588_b = null;
}
function nms_ItemBlock__init_(var_0) {
    var var_1 = new nms_ItemBlock();
    $java.nms_ItemBlock__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemBlock__init_ = function($this, $par1) {
    nms_Item__init_0($this, $par1);
    $this.$blockID1 = $par1 + 256 | 0;
};
$java.nms_ItemBlock_getBlockID = function($this) {
    return $this.$blockID1;
};
$java.nms_ItemBlock_getSpriteNumber = function($this) {
    nms_Block_$callClinit();
    return nms_Block_blocksList.data[$this.$blockID1].$getItemIconName() === null ? 0 : 1;
};
$java.nms_ItemBlock_getIconFromDamage = function($this, $par1) {
    var var$2;
    if ($this.$field_94588_b !== null)
        var$2 = $this.$field_94588_b;
    else {
        nms_Block_$callClinit();
        var$2 = nms_Block_getBlockTextureFromSide(nms_Block_blocksList.data[$this.$blockID1], 1);
    }
    return var$2;
};
$java.nms_ItemBlock_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var $var11, $var13, $var14, $var12, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();$var12 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var11 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
        nms_Block_$callClinit();
        if ($var11 == nms_Block_snow.$blockID && (nms_World_getBlockMetadata($par3World, $par4, $par5, $par6) & 7) < 1)
            $par7 = 1;
        else if ($var11 != nms_Block_vine.$blockID && $var11 != nms_Block_tallGrass.$blockID && $var11 != nms_Block_deadBush.$blockID) {
            if (!$par7)
                $par5 = $par5 + (-1) | 0;
            if ($par7 == 1)
                $par5 = $par5 + 1 | 0;
            if ($par7 == 2)
                $par6 = $par6 + (-1) | 0;
            if ($par7 == 3)
                $par6 = $par6 + 1 | 0;
            if ($par7 == 4)
                $par4 = $par4 + (-1) | 0;
            if ($par7 == 5)
                $par4 = $par4 + 1 | 0;
        }
        if (!$par1ItemStack.$stackSize)
            return 0;
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        if ($par5 == 255 && nms_Block_blocksList.data[$this.$blockID1].$blockMaterial.$isSolid())
            return 0;
        $var13 = $this.$blockID1;
        $var14 = 0;
        $ptr = 1;
    case 1:
        $tmp = nms_World_canPlaceEntityOnSide($par3World, $var13, $par4, $par5, $par6, $var14, $par7, $par2EntityPlayer, $par1ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        $var13 = $tmp;
        if (!$var13)
            return 0;
        $var12 = nms_Block_blocksList.data[$this.$blockID1];
        $var13 = $this.$getMetadata($par1ItemStack.$itemDamage);
        $var14 = nms_Block_blocksList.data[$this.$blockID1].$onBlockPlaced($par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, $var13);
        $par7 = $this.$blockID1;
        $var13 = 3;
        $ptr = 2;
    case 2:
        $tmp = nms_World_setBlock($par3World, $par4, $par5, $par6, $par7, $var14, $var13);
        if ($rt_suspending()) {
            break main;
        }
        $par7 = $tmp;
        if ($par7) {
            if (nms_World_getBlockId($par3World, $par4, $par5, $par6) == $this.$blockID1) {
                var$15 = nms_Block_blocksList.data[$this.$blockID1];
                $ptr = 3;
                continue main;
            }
            nms_World_playSoundEffect($par3World, $par4 + 0.5, $par5 + 0.5, $par6 + 0.5, $var12.$stepSound.$getPlaceSound(), ($var12.$stepSound.$stepSoundVolume + 1.0) / 2.0, $var12.$stepSound.$stepSoundPitch * 0.800000011920929);
            $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        }
        return 1;
    case 3:
        var$15.$onBlockPlacedBy($par3World, $par4, $par5, $par6, $par2EntityPlayer, $par1ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        $par2EntityPlayer = nms_Block_blocksList.data[$this.$blockID1];
        $ptr = 4;
    case 4:
        $par2EntityPlayer.$onPostBlockPlaced($par3World, $par4, $par5, $par6, $var14);
        if ($rt_suspending()) {
            break main;
        }
        nms_World_playSoundEffect($par3World, $par4 + 0.5, $par5 + 0.5, $par6 + 0.5, $var12.$stepSound.$getPlaceSound(), ($var12.$stepSound.$stepSoundVolume + 1.0) / 2.0, $var12.$stepSound.$stepSoundPitch * 0.800000011920929);
        $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, $var11, $var13, $var14, $var12, var$15, $ptr);
};
$java.nms_ItemBlock_canPlaceItemBlockOnSide = function($this, $par1World, $par2, $par3, $par4, $par5, $par6EntityPlayer, $par7ItemStack) {
    var $var8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$par7ItemStack = $thread.pop();$par6EntityPlayer = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var8 = nms_World_getBlockId($par1World, $par2, $par3, $par4);
        nms_Block_$callClinit();
        if ($var8 == nms_Block_snow.$blockID)
            $par5 = 1;
        else if ($var8 != nms_Block_vine.$blockID && $var8 != nms_Block_tallGrass.$blockID && $var8 != nms_Block_deadBush.$blockID) {
            if (!$par5)
                $par3 = $par3 + (-1) | 0;
            if ($par5 == 1)
                $par3 = $par3 + 1 | 0;
            if ($par5 == 2)
                $par4 = $par4 + (-1) | 0;
            if ($par5 == 3)
                $par4 = $par4 + 1 | 0;
            if ($par5 == 4)
                $par2 = $par2 + (-1) | 0;
            if ($par5 == 5)
                $par2 = $par2 + 1 | 0;
        }
        $var8 = $this.$blockID1;
        var$9 = 0;
        $par6EntityPlayer = null;
        $ptr = 1;
    case 1:
        $tmp = nms_World_canPlaceEntityOnSide($par1World, $var8, $par2, $par3, $par4, var$9, $par5, $par6EntityPlayer, $par7ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $par6EntityPlayer, $par7ItemStack, $var8, var$9, $ptr);
};
$java.nms_ItemBlock_getUnlocalizedName = function($this, $par1ItemStack) {
    nms_Block_$callClinit();
    return nms_Block_getUnlocalizedName(nms_Block_blocksList.data[$this.$blockID1]);
};
$java.nms_ItemBlock_getUnlocalizedName0 = function($this) {
    nms_Block_$callClinit();
    return nms_Block_getUnlocalizedName(nms_Block_blocksList.data[$this.$blockID1]);
};
$java.nms_ItemBlock_getCreativeTab = function($this) {
    nms_Block_$callClinit();
    return nms_Block_blocksList.data[$this.$blockID1].$displayOnCreativeTab;
};
$java.nms_ItemBlock_getSubItems = function($this, $par1, $par2CreativeTabs, $par3List) {
    nms_Block_$callClinit();
    nms_Block_blocksList.data[$this.$blockID1].$getSubBlocks($par1, $par2CreativeTabs, $par3List);
};
$java.nms_ItemBlock_registerIcons = function($this, $par1IconRegister) {
    var $var2;
    nms_Block_$callClinit();
    $var2 = nms_Block_blocksList.data[$this.$blockID1].$getItemIconName();
    if ($var2 !== null)
        $this.$field_94588_b = nms_TextureMap_registerIcon($par1IconRegister, $var2);
};
function nms_ItemCloth() {
    nms_ItemBlock.call(this);
}
function nms_ItemCloth__init_(var_0) {
    var var_1 = new nms_ItemCloth();
    $java.nms_ItemCloth__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemCloth__init_ = function($this, $par1) {
    $java.nms_ItemBlock__init_($this, $par1);
    $this.$maxDamage = 0;
    $this.$hasSubtypes = 1;
};
$java.nms_ItemCloth_getIconFromDamage = function($this, $par1) {
    nms_Block_$callClinit();
    return nms_Block_cloth.$getIcon(2, nms_BlockCloth_getBlockFromDye($par1));
};
$java.nms_ItemCloth_getMetadata = function($this, $par1) {
    return $par1;
};
$java.nms_ItemCloth_getUnlocalizedName = function($this, $par1ItemStack) {
    var var$2;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $java.nms_ItemBlock_getUnlocalizedName0($this));
    jl_AbstractStringBuilder_append(var$2, $rt_s(339));
    jl_AbstractStringBuilder_append(var$2, $java.nms_ItemDye_dyeColorNames.data[nms_BlockCloth_getBlockFromDye($par1ItemStack.$itemDamage)]);
    return jl_AbstractStringBuilder_toString(var$2);
};
function nms_ItemMultiTextureTile() {
    var a = this; nms_ItemBlock.call(a);
    a.$theBlock = null;
    a.$field_82804_b = null;
}
function nms_ItemMultiTextureTile__init_(var_0, var_1, var_2) {
    var var_3 = new nms_ItemMultiTextureTile();
    $java.nms_ItemMultiTextureTile__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_ItemMultiTextureTile__init_ = function($this, $par1, $par2Block, $par3ArrayOfStr) {
    $java.nms_ItemBlock__init_($this, $par1);
    $this.$theBlock = $par2Block;
    $this.$field_82804_b = $par3ArrayOfStr;
    $this.$maxDamage = 0;
    $this.$hasSubtypes = 1;
};
$java.nms_ItemMultiTextureTile_getIconFromDamage = function($this, $par1) {
    return $this.$theBlock.$getIcon(2, $par1);
};
$java.nms_ItemMultiTextureTile_getMetadata = function($this, $par1) {
    return $par1;
};
$java.nms_ItemMultiTextureTile_getUnlocalizedName = function($this, $par1ItemStack) {
    var $var2;
    $var2 = $par1ItemStack.$itemDamage;
    if (!($var2 >= 0 && $var2 < $this.$field_82804_b.data.length))
        $var2 = 0;
    $par1ItemStack = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($par1ItemStack);
    jl_AbstractStringBuilder_append($par1ItemStack, $java.nms_ItemBlock_getUnlocalizedName0($this));
    jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(339));
    jl_AbstractStringBuilder_append($par1ItemStack, $this.$field_82804_b.data[$var2]);
    return jl_AbstractStringBuilder_toString($par1ItemStack);
};
function nms_ItemSlab() {
    var a = this; nms_ItemBlock.call(a);
    a.$isFullBlock = 0;
    a.$theHalfSlab = null;
    a.$doubleSlab = null;
}
function nms_ItemSlab__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_ItemSlab();
    $java.nms_ItemSlab__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nms_ItemSlab__init_ = function($this, $par1, $par2BlockHalfSlab, $par3BlockHalfSlab, $par4) {
    $java.nms_ItemBlock__init_($this, $par1);
    $this.$theHalfSlab = $par2BlockHalfSlab;
    $this.$doubleSlab = $par3BlockHalfSlab;
    $this.$isFullBlock = $par4;
    $this.$maxDamage = 0;
    $this.$hasSubtypes = 1;
};
$java.nms_ItemSlab_getIconFromDamage = function($this, $par1) {
    nms_Block_$callClinit();
    return nms_Block_blocksList.data[$this.$itemID].$getIcon(2, $par1);
};
$java.nms_ItemSlab_getMetadata = function($this, $par1) {
    return $par1;
};
$java.nms_ItemSlab_getUnlocalizedName = function($this, $par1ItemStack) {
    return $this.$theHalfSlab.$getFullSlabName($par1ItemStack.$itemDamage);
};
$java.nms_ItemSlab_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var $var11, $var12, $var13, $var14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$isFullBlock) {
            $ptr = 1;
            continue main;
        }
        if (!$par1ItemStack.$stackSize)
            return 0;
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        $var11 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
        $var12 = nms_World_getBlockMetadata($par3World, $par4, $par5, $par6);
        $var13 = $var12 & 7;
        $var14 = !($var12 & 8) ? 0 : 1;
        a: {
            if (!($par7 == 1 && !$var14)) {
                if ($par7)
                    break a;
                if (!$var14)
                    break a;
            }
            if ($var11 == $this.$theHalfSlab.$blockID && $var13 == $par1ItemStack.$itemDamage) {
                $par2EntityPlayer = $this.$doubleSlab;
                $ptr = 4;
                continue main;
            }
        }
        $ptr = 2;
        continue main;
    case 1:
        $tmp = $java.nms_ItemBlock_onItemUse($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10);
        if ($rt_suspending()) {
            break main;
        }
        $par4 = $tmp;
        return $par4;
    case 2:
        $tmp = $java.nms_ItemSlab_func_77888_a($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = $tmp;
        if ($var11)
            return 1;
        $ptr = 3;
    case 3:
        $tmp = $java.nms_ItemBlock_onItemUse($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10);
        if ($rt_suspending()) {
            break main;
        }
        $par4 = $tmp;
        return $par4;
    case 4:
        $tmp = nms_Block_getCollisionBoundingBoxFromPool($par2EntityPlayer, $par3World, $par4, $par5, $par6);
        if ($rt_suspending()) {
            break main;
        }
        $par2EntityPlayer = $tmp;
        if (!nms_World_checkNoEntityCollision($par3World, $par2EntityPlayer))
            return 1;
        $par7 = $this.$doubleSlab.$blockID;
        $var11 = 3;
        $ptr = 5;
    case 5:
        $tmp = nms_World_setBlock($par3World, $par4, $par5, $par6, $par7, $var13, $var11);
        if ($rt_suspending()) {
            break main;
        }
        $par7 = $tmp;
        if ($par7) {
            nms_World_playSoundEffect($par3World, $par4 + 0.5, $par5 + 0.5, $par6 + 0.5, $this.$doubleSlab.$stepSound.$getPlaceSound(), ($this.$doubleSlab.$stepSound.$stepSoundVolume + 1.0) / 2.0, $this.$doubleSlab.$stepSound.$stepSoundPitch * 0.800000011920929);
            $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, $var11, $var12, $var13, $var14, $ptr);
};
$java.nms_ItemSlab_canPlaceItemBlockOnSide = function($this, $par1World, $par2, $par3, $par4, $par5, $par6EntityPlayer, $par7ItemStack) {
    var $var11, $var12, $var13, $var14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$par7ItemStack = $thread.pop();$par6EntityPlayer = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var11 = nms_World_getBlockId($par1World, $par2, $par3, $par4);
        $var12 = nms_World_getBlockMetadata($par1World, $par2, $par3, $par4);
        $var13 = $var12 & 7;
        $var14 = !($var12 & 8) ? 0 : 1;
        a: {
            $var12 = $rt_compare($par5, 1);
            if (!(!$var12 && !$var14)) {
                if ($par5)
                    break a;
                if (!$var14)
                    break a;
            }
            if ($var11 == $this.$theHalfSlab.$blockID && $var13 == $par7ItemStack.$itemDamage)
                return 1;
        }
        $var14 = $par5 ? $par3 : $par3 + (-1) | 0;
        if (!$var12)
            $var14 = $var14 + 1 | 0;
        $var12 = $par5 != 2 ? $par4 : $par4 + (-1) | 0;
        if ($par5 == 3)
            $var12 = $var12 + 1 | 0;
        $var13 = $par5 != 4 ? $par2 : $par2 + (-1) | 0;
        if ($par5 == 5)
            $var13 = $var13 + 1 | 0;
        $var11 = nms_World_getBlockId($par1World, $var13, $var14, $var12);
        $var14 = nms_World_getBlockMetadata($par1World, $var13, $var14, $var12);
        $var12 = $var14 & 7;
        if ($var11 == $this.$theHalfSlab.$blockID && $var12 == $par7ItemStack.$itemDamage)
            return 1;
        $ptr = 1;
    case 1:
        $tmp = $java.nms_ItemBlock_canPlaceItemBlockOnSide($this, $par1World, $par2, $par3, $par4, $par5, $par6EntityPlayer, $par7ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        return $par2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, $par5, $par6EntityPlayer, $par7ItemStack, $var11, $var12, $var13, $var14, $ptr);
};
$java.nms_ItemSlab_func_77888_a = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7) {
    var $var8, $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par7)
            $par5 = $par5 + (-1) | 0;
        if ($par7 == 1)
            $par5 = $par5 + 1 | 0;
        if ($par7 == 2)
            $par6 = $par6 + (-1) | 0;
        if ($par7 == 3)
            $par6 = $par6 + 1 | 0;
        if ($par7 == 4)
            $par4 = $par4 + (-1) | 0;
        if ($par7 == 5)
            $par4 = $par4 + 1 | 0;
        $var8 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
        $var10 = nms_World_getBlockMetadata($par3World, $par4, $par5, $par6) & 7;
        if ($var8 == $this.$theHalfSlab.$blockID && $var10 == $par1ItemStack.$itemDamage) {
            $par2EntityPlayer = $this.$doubleSlab;
            $ptr = 1;
            continue main;
        }
        return 0;
    case 1:
        $tmp = nms_Block_getCollisionBoundingBoxFromPool($par2EntityPlayer, $par3World, $par4, $par5, $par6);
        if ($rt_suspending()) {
            break main;
        }
        $par2EntityPlayer = $tmp;
        if (!nms_World_checkNoEntityCollision($par3World, $par2EntityPlayer))
            return 1;
        $par7 = $this.$doubleSlab.$blockID;
        $var8 = 3;
        $ptr = 2;
    case 2:
        $tmp = nms_World_setBlock($par3World, $par4, $par5, $par6, $par7, $var10, $var8);
        if ($rt_suspending()) {
            break main;
        }
        $par7 = $tmp;
        if ($par7) {
            nms_World_playSoundEffect($par3World, $par4 + 0.5, $par5 + 0.5, $par6 + 0.5, $this.$doubleSlab.$stepSound.$getPlaceSound(), ($this.$doubleSlab.$stepSound.$stepSoundVolume + 1.0) / 2.0, $this.$doubleSlab.$stepSound.$stepSoundPitch * 0.800000011920929);
            $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $var8, $var10, $ptr);
};
function nms_ItemLeaves() {
    nms_ItemBlock.call(this);
}
function nms_ItemLeaves__init_(var_0) {
    var var_1 = new nms_ItemLeaves();
    $java.nms_ItemLeaves__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemLeaves__init_ = function($this, $par1) {
    $java.nms_ItemBlock__init_($this, $par1);
    $this.$maxDamage = 0;
    $this.$hasSubtypes = 1;
};
$java.nms_ItemLeaves_getMetadata = function($this, $par1) {
    return $par1 | 4;
};
$java.nms_ItemLeaves_getIconFromDamage = function($this, $par1) {
    nms_Block_$callClinit();
    return $java.nms_BlockLeaves_getIcon(nms_Block_leaves, 0, $par1);
};
$java.nms_ItemLeaves_getColorFromItemStack = function($this, $par1ItemStack, $par2) {
    var $var3;
    $var3 = $par1ItemStack.$itemDamage;
    return ($var3 & 1) == 1 ? 6396257 : ($var3 & 2) != 2 ? 4764952 : 8431445;
};
$java.nms_ItemLeaves_getUnlocalizedName = function($this, $par1ItemStack) {
    var $var2;
    $var2 = $par1ItemStack.$itemDamage;
    if (!($var2 >= 0 && $var2 < $java.nms_BlockLeaves_LEAF_TYPES.data.length))
        $var2 = 0;
    $par1ItemStack = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($par1ItemStack);
    jl_AbstractStringBuilder_append($par1ItemStack, $java.nms_ItemBlock_getUnlocalizedName0($this));
    jl_AbstractStringBuilder_append($par1ItemStack, $rt_s(339));
    jl_AbstractStringBuilder_append($par1ItemStack, $java.nms_BlockLeaves_LEAF_TYPES.data[$var2]);
    return jl_AbstractStringBuilder_toString($par1ItemStack);
};
function nms_ItemColored() {
    var a = this; nms_ItemBlock.call(a);
    a.$blockRef = null;
    a.$blockNames = null;
}
function nms_ItemColored__init_(var_0, var_1) {
    var var_2 = new nms_ItemColored();
    $java.nms_ItemColored__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemColored__init_ = function($this, $par1, $par2) {
    $java.nms_ItemBlock__init_($this, $par1);
    nms_Block_$callClinit();
    $this.$blockRef = nms_Block_blocksList.data[$this.$blockID1];
    if ($par2) {
        $this.$maxDamage = 0;
        $this.$hasSubtypes = 1;
    }
};
$java.nms_ItemColored_getColorFromItemStack = function($this, $par1ItemStack, $par2) {
    return $this.$blockRef.$getRenderColor($par1ItemStack.$itemDamage);
};
$java.nms_ItemColored_getIconFromDamage = function($this, $par1) {
    return $this.$blockRef.$getIcon(0, $par1);
};
$java.nms_ItemColored_getMetadata = function($this, $par1) {
    return $par1;
};
function nms_ItemColored_setBlockNames($this, $par1ArrayOfStr) {
    $this.$blockNames = $par1ArrayOfStr;
    return $this;
}
$java.nms_ItemColored_getUnlocalizedName = function($this, $par1ItemStack) {
    var $var2, var$3;
    if ($this.$blockNames === null)
        return $java.nms_ItemBlock_getUnlocalizedName($this, $par1ItemStack);
    $var2 = $par1ItemStack.$itemDamage;
    if ($var2 >= 0 && $var2 < $this.$blockNames.data.length) {
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $java.nms_ItemBlock_getUnlocalizedName($this, $par1ItemStack));
        jl_AbstractStringBuilder_append(var$3, $rt_s(339));
        jl_AbstractStringBuilder_append(var$3, $this.$blockNames.data[$var2]);
        $par1ItemStack = jl_AbstractStringBuilder_toString(var$3);
    } else
        $par1ItemStack = $java.nms_ItemBlock_getUnlocalizedName($this, $par1ItemStack);
    return $par1ItemStack;
};
function nms_ItemBlockWithMetadata() {
    nms_ItemBlock.call(this);
    this.$theBlock0 = null;
}
$java.nms_ItemBlockWithMetadata_getIconFromDamage = function($this, $par1) {
    return $this.$theBlock0.$getIcon(2, $par1);
};
$java.nms_ItemBlockWithMetadata_getMetadata = function($this, $par1) {
    return $par1;
};
function nms_ItemSnow() {
    nms_ItemBlockWithMetadata.call(this);
}
function nms_ItemSnow__init_(var_0, var_1) {
    var var_2 = new nms_ItemSnow();
    $java.nms_ItemSnow__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_ItemSnow__init_ = function($this, $par1, $par2Block) {
    $java.nms_ItemBlock__init_($this, $par1);
    $this.$theBlock0 = $par2Block;
    $this.$maxDamage = 0;
    $this.$hasSubtypes = 1;
};
$java.nms_ItemSnow_onItemUse = function($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var $var11, $var12, $var13, $var14, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$par10 = $thread.pop();$par9 = $thread.pop();$par8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3World = $thread.pop();$par2EntityPlayer = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par1ItemStack.$stackSize)
            return 0;
        if (!nms_EntityPlayer_canPlayerEdit($par2EntityPlayer, $par4, $par5, $par6, $par7, $par1ItemStack))
            return 0;
        $var11 = nms_World_getBlockId($par3World, $par4, $par5, $par6);
        nms_Block_$callClinit();
        if ($var11 == nms_Block_snow.$blockID) {
            $var12 = nms_Block_blocksList.data[$this.$blockID1];
            $var13 = nms_World_getBlockMetadata($par3World, $par4, $par5, $par6);
            $var14 = $var13 & 7;
            if ($var14 <= 6) {
                $ptr = 2;
                continue main;
            }
        }
        $ptr = 1;
    case 1:
        $tmp = $java.nms_ItemBlock_onItemUse($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10);
        if ($rt_suspending()) {
            break main;
        }
        $par4 = $tmp;
        return $par4;
    case 2:
        $tmp = $var12.$getCollisionBoundingBoxFromPool($par3World, $par4, $par5, $par6);
        if ($rt_suspending()) {
            break main;
        }
        var$15 = $tmp;
        if (!nms_World_checkNoEntityCollision($par3World, var$15)) {
            $ptr = 1;
            continue main;
        }
        $var11 = ($var14 + 1 | 0) | $var13 & (-8);
        $var13 = 2;
        $ptr = 3;
    case 3:
        $tmp = nms_World_setBlockMetadataWithNotify($par3World, $par4, $par5, $par6, $var11, $var13);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = $tmp;
        if ($var11) {
            nms_World_playSoundEffect($par3World, $par4 + 0.5, $par5 + 0.5, $par6 + 0.5, $var12.$stepSound.$getPlaceSound(), ($var12.$stepSound.$stepSoundVolume + 1.0) / 2.0, $var12.$stepSound.$stepSoundPitch * 0.800000011920929);
            $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
            return 1;
        }
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2EntityPlayer, $par3World, $par4, $par5, $par6, $par7, $par8, $par9, $par10, $var11, $var12, $var13, $var14, var$15, $ptr);
};
function nms_ItemLilyPad() {
    nms_ItemColored.call(this);
}
function nms_ItemLilyPad__init_(var_0) {
    var var_1 = new nms_ItemLilyPad();
    $java.nms_ItemLilyPad__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemLilyPad__init_ = function($this, $par1) {
    $java.nms_ItemColored__init_($this, $par1, 0);
};
$java.nms_ItemLilyPad_onItemRightClick = function($this, $par1ItemStack, $par2World, $par3EntityPlayer) {
    var var$4, $var4, $var5, $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$par3EntityPlayer = $thread.pop();$par2World = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = 1;
        $ptr = 1;
    case 1:
        $tmp = nms_Item_getMovingObjectPositionFromPlayer($this, $par2World, $par3EntityPlayer, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $tmp;
        if ($var4 === null)
            return $par1ItemStack;
        if ($var4.$typeOfHit === nms_EnumMovingObjectType_TILE) {
            $var5 = $var4.$blockX;
            $var6 = $var4.$blockY;
            $var7 = $var4.$blockZ;
            if (!nms_EntityPlayer_canPlayerEdit($par3EntityPlayer, $var5, $var6, $var7, $var4.$sideHit, $par1ItemStack))
                return $par1ItemStack;
            $var4 = nms_World_getBlockMaterial($par2World, $var5, $var6, $var7);
            nms_Material_$callClinit();
            if ($var4 === nms_Material_water && !nms_World_getBlockMetadata($par2World, $var5, $var6, $var7)) {
                var$4 = $var6 + 1 | 0;
                if (nms_World_isAirBlock($par2World, $var5, var$4, $var7)) {
                    nms_Block_$callClinit();
                    $var6 = nms_Block_waterlily.$blockID;
                    $ptr = 2;
                    continue main;
                }
            }
        }
        return $par1ItemStack;
    case 2:
        nms_World_setBlock0($par2World, $var5, var$4, $var7, $var6);
        if ($rt_suspending()) {
            break main;
        }
        if (!$par3EntityPlayer.$capabilities.$isCreativeMode)
            $par1ItemStack.$stackSize = $par1ItemStack.$stackSize - 1 | 0;
        return $par1ItemStack;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $par2World, $par3EntityPlayer, var$4, $var4, $var5, $var6, $var7, $ptr);
};
$java.nms_ItemLilyPad_getColorFromItemStack = function($this, $par1ItemStack, $par2) {
    nms_Block_$callClinit();
    return nms_Block_waterlily.$getRenderColor($par1ItemStack.$itemDamage);
};
function nms_ItemPiston() {
    nms_ItemBlock.call(this);
}
function nms_ItemPiston__init_(var_0) {
    var var_1 = new nms_ItemPiston();
    $java.nms_ItemPiston__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemPiston__init_ = function($this, $par1) {
    $java.nms_ItemBlock__init_($this, $par1);
};
$java.nms_ItemPiston_getMetadata = function($this, $par1) {
    return 7;
};
function nms_ItemAnvilBlock() {
    nms_ItemMultiTextureTile.call(this);
}
function nms_ItemAnvilBlock__init_(var_0) {
    var var_1 = new nms_ItemAnvilBlock();
    $java.nms_ItemAnvilBlock__init_(var_1, var_0);
    return var_1;
}
$java.nms_ItemAnvilBlock__init_ = function($this, $par1Block) {
    $java.nms_ItemMultiTextureTile__init_($this, $par1Block.$blockID - 256 | 0, $par1Block, $java.nms_BlockAnvil_statuses);
};
$java.nms_ItemAnvilBlock_getMetadata = function($this, $par1) {
    return $par1 << 2;
};
function ju_LinkedHashMap() {
    var a = this; ju_HashMap.call(a);
    a.$accessOrder = 0;
    a.$head4 = null;
    a.$tail = null;
}
function ju_LinkedHashMap__init_0() {
    var var_0 = new ju_LinkedHashMap();
    ju_LinkedHashMap__init_(var_0);
    return var_0;
}
function ju_LinkedHashMap__init_($this) {
    ju_HashMap__init_0($this);
    $this.$accessOrder = 0;
    $this.$head4 = null;
}
$java.ju_LinkedHashMap_newElementArray = function($this, $s) {
    return $rt_createArray(ju_LinkedHashMap$LinkedHashMapEntry, $s);
};
$java.ju_LinkedHashMap_get = function($this, $key) {
    var $m, $hash, $p, $n;
    if ($key === null)
        $m = ju_HashMap_findNullKeyEntry($this);
    else {
        $hash = $key.$hashCode0();
        $m = ju_HashMap_findNonNullKeyEntry($this, $key, ($hash & 2147483647) % $this.$elementData.data.length | 0, $hash);
    }
    if ($m === null)
        return null;
    if ($this.$accessOrder && $this.$tail !== $m) {
        $p = $m.$chainBackward;
        $n = $m.$chainForward;
        $n.$chainBackward = $p;
        if ($p === null)
            $this.$head4 = $n;
        else
            $p.$chainForward = $n;
        $m.$chainForward = null;
        $m.$chainBackward = $this.$tail;
        $this.$tail.$chainForward = $m;
        $this.$tail = $m;
    }
    return $m.$value1;
};
$java.ju_LinkedHashMap_createHashedEntry = function($this, $key, $index, $hash) {
    var $m;
    $m = new ju_LinkedHashMap$LinkedHashMapEntry;
    ju_HashMap$HashEntry__init_0($m, $key, $hash);
    $m.$chainForward = null;
    $m.$chainBackward = null;
    $m.$next2 = $this.$elementData.data[$index];
    $this.$elementData.data[$index] = $m;
    $java.ju_LinkedHashMap_linkEntry($this, $m);
    return $m;
};
function ju_LinkedHashMap_put($this, $key, $value) {
    return $java.ju_LinkedHashMap_putImpl($this, $key, $value);
}
$java.ju_LinkedHashMap_putImpl = function($this, $key, $value) {
    var $m, var$4, $hash, $index, var$7, $result;
    if (!$this.$elementCount) {
        $this.$head4 = null;
        $this.$tail = null;
    }
    if ($key === null) {
        $m = ju_HashMap_findNullKeyEntry($this);
        if ($m !== null)
            $java.ju_LinkedHashMap_linkEntry($this, $m);
        else {
            $this.$modCount1 = $this.$modCount1 + 1 | 0;
            var$4 = $this.$elementCount + 1 | 0;
            $this.$elementCount = var$4;
            if (var$4 > $this.$threshold)
                ju_HashMap_rehash($this);
            $m = $java.ju_LinkedHashMap_createHashedEntry($this, null, 0, 0);
        }
    } else {
        $hash = $key.$hashCode0();
        var$4 = $hash & 2147483647;
        $index = var$4 % $this.$elementData.data.length | 0;
        $m = ju_HashMap_findNonNullKeyEntry($this, $key, $index, $hash);
        if ($m !== null)
            $java.ju_LinkedHashMap_linkEntry($this, $m);
        else {
            $this.$modCount1 = $this.$modCount1 + 1 | 0;
            var$7 = $this.$elementCount + 1 | 0;
            $this.$elementCount = var$7;
            if (var$7 > $this.$threshold) {
                ju_HashMap_rehash($this);
                $index = var$4 % $this.$elementData.data.length | 0;
            }
            $m = $java.ju_LinkedHashMap_createHashedEntry($this, $key, $index, $hash);
        }
    }
    $result = $m.$value1;
    $m.$value1 = $value;
    return $result;
};
$java.ju_LinkedHashMap_linkEntry = function($this, $m) {
    var $p, $n;
    if ($this.$tail === $m)
        return;
    if ($this.$head4 === null) {
        $this.$head4 = $m;
        $this.$tail = $m;
        return;
    }
    $p = $m.$chainBackward;
    $n = $m.$chainForward;
    if ($p !== null) {
        if ($n === null)
            return;
        if ($this.$accessOrder) {
            $p.$chainForward = $n;
            $n.$chainBackward = $p;
            $m.$chainForward = null;
            $m.$chainBackward = $this.$tail;
            $this.$tail.$chainForward = $m;
            $this.$tail = $m;
        }
        return;
    }
    if ($n === null) {
        $m.$chainBackward = $this.$tail;
        $m.$chainForward = null;
        $this.$tail.$chainForward = $m;
        $this.$tail = $m;
    } else if ($this.$accessOrder) {
        $this.$head4 = $n;
        $n.$chainBackward = null;
        $m.$chainBackward = $this.$tail;
        $m.$chainForward = null;
        $this.$tail.$chainForward = $m;
        $this.$tail = $m;
    }
};
$java.ju_LinkedHashMap_entrySet = function($this) {
    var var$1;
    var$1 = new ju_LinkedHashMap$LinkedHashMapEntrySet;
    $java.ju_HashMap$HashMapEntrySet__init_(var$1, $this);
    return var$1;
};
$java.ju_LinkedHashMap_keySet = function($this) {
    var var$1;
    if ($this.$cachedKeySet === null) {
        var$1 = new ju_LinkedHashMap$1;
        var$1.$this$042 = $this;
        $this.$cachedKeySet = var$1;
    }
    return $this.$cachedKeySet;
};
function ju_LinkedHashMap_values($this) {
    var var$1;
    if ($this.$cachedValues === null) {
        var$1 = new ju_LinkedHashMap$2;
        var$1.$this$043 = $this;
        $this.$cachedValues = var$1;
    }
    return $this.$cachedValues;
}
$java.ju_LinkedHashMap_remove = function($this, $key) {
    var $m, $p, $n;
    $m = ju_HashMap_removeEntry($this, $key);
    if ($m === null)
        return null;
    $p = $m.$chainBackward;
    $n = $m.$chainForward;
    if ($p === null)
        $this.$head4 = $n;
    else
        $p.$chainForward = $n;
    if ($n === null)
        $this.$tail = $p;
    else
        $n.$chainBackward = $p;
    return $m.$value1;
};
$java.ju_LinkedHashMap_removeEldestEntry = function($this, $eldest) {
    return 0;
};
$java.ju_LinkedHashMap_clear = function($this) {
    ju_HashMap_clear($this);
    $this.$head4 = null;
    $this.$tail = null;
};
function nms_EntityList$_clinit_$lambda$_61_0() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_0__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_0();
    nms_EntityList$_clinit_$lambda$_61_0__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_0__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_0_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityItem__init_4(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_1() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_1__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_1();
    nms_EntityList$_clinit_$lambda$_61_1__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_1__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_1_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityXPOrb__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_2() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_2__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_2();
    nms_EntityList$_clinit_$lambda$_61_2__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_2__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_2_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntityPainting;
    nms_EntityHanging__init_0(var$2);
    nms_Entity_setWorld(var$2, var$1);
    return var$2;
};
function nms_EntityList$_clinit_$lambda$_61_3() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_3__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_3();
    nms_EntityList$_clinit_$lambda$_61_3__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_3__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_3_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityArrow__init_1(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_4() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_4__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_4();
    nms_EntityList$_clinit_$lambda$_61_4__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_4__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_4_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntitySnowball;
    nms_EntityThrowable__init_0(var$2);
    return nms_Entity_setWorld(var$2, var$1);
};
function nms_EntityList$_clinit_$lambda$_61_5() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_5__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_5();
    nms_EntityList$_clinit_$lambda$_61_5__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_5__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_5_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityLargeFireball__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_6() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_6__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_6();
    nms_EntityList$_clinit_$lambda$_61_6__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_6__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_6_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntitySmallFireball__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_7() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_7__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_7();
    nms_EntityList$_clinit_$lambda$_61_7__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_7__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_7_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntityEnderPearl;
    nms_EntityThrowable__init_0(var$2);
    return nms_Entity_setWorld(var$2, var$1);
};
function nms_EntityList$_clinit_$lambda$_61_8() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_8__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_8();
    nms_EntityList$_clinit_$lambda$_61_8__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_8__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_8_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityEnderEye__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_9() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_9__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_9();
    nms_EntityList$_clinit_$lambda$_61_9__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_9__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_9_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntityPotion;
    nms_EntityThrowable__init_0(var$2);
    return nms_Entity_setWorld(var$2, var$1);
};
function nms_EntityList$_clinit_$lambda$_61_10() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_10__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_10();
    nms_EntityList$_clinit_$lambda$_61_10__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_10__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_10_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntityExpBottle;
    nms_EntityThrowable__init_0(var$2);
    return nms_Entity_setWorld(var$2, var$1);
};
function nms_EntityList$_clinit_$lambda$_61_11() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_11__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_11();
    nms_EntityList$_clinit_$lambda$_61_11__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_11__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_11_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityItemFrame__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_12() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_12__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_12();
    nms_EntityList$_clinit_$lambda$_61_12__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_12__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_12_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityWitherSkull__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_13() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_13__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_13();
    nms_EntityList$_clinit_$lambda$_61_13__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_13__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_13_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityTNTPrimed__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_14() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_14__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_14();
    nms_EntityList$_clinit_$lambda$_61_14__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_14__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_14_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityFallingSand__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_15() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_15__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_15();
    nms_EntityList$_clinit_$lambda$_61_15__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_15__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_15_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityFireworkRocket__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_16() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_16__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_16();
    nms_EntityList$_clinit_$lambda$_61_16__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_16__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_16_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityBoat__init_0(), var$1);
};
function nms_EntityMinecartEmpty() {
    nms_EntityMinecart.call(this);
}
$java.nms_EntityMinecartEmpty_interact = function($this, $par1EntityPlayer) {
    if ($this.$riddenByEntity !== null && $this.$riddenByEntity instanceof nms_EntityPlayer && $this.$riddenByEntity !== $par1EntityPlayer)
        return 1;
    if ($this.$riddenByEntity !== null && $this.$riddenByEntity !== $par1EntityPlayer)
        return 0;
    return 1;
};
$java.nms_EntityMinecartEmpty_getMinecartType = function($this) {
    return 0;
};
function nms_EntityList$_clinit_$lambda$_61_17() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_17__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_17();
    nms_EntityList$_clinit_$lambda$_61_17__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_17__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_17_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntityMinecartEmpty;
    nms_EntityMinecart__init_0(var$2);
    nms_EntityMinecart_setWorld(var$2, var$1);
    return var$2;
};
function nms_EntityMinecartContainer() {
    var a = this; nms_EntityMinecart.call(a);
    a.$minecartContainerItems = null;
    a.$dropContentsWhenDead = 0;
}
$java.nms_EntityMinecartContainer__init_ = function() {
    var var_0 = new nms_EntityMinecartContainer();
    $java.nms_EntityMinecartContainer__init_0(var_0);
    return var_0;
};
$java.nms_EntityMinecartContainer__init_1 = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityMinecartContainer();
    nms_EntityMinecartContainer__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_EntityMinecartContainer__init_0 = function($this) {
    nms_EntityMinecart__init_0($this);
    $this.$minecartContainerItems = $rt_createArray(nms_ItemStack, 36);
    $this.$dropContentsWhenDead = 1;
};
function nms_EntityMinecartContainer__init_($this, $par1World, $par2, $par4, $par6) {
    nms_EntityMinecart__init_2($this, $par1World, $par2, $par4, $par6);
    $this.$minecartContainerItems = $rt_createArray(nms_ItemStack, 36);
    $this.$dropContentsWhenDead = 1;
}
$java.nms_EntityMinecartContainer_getStackInSlot = function($this, $par1) {
    return $this.$minecartContainerItems.data[$par1];
};
$java.nms_EntityMinecartContainer_getInventoryStackLimit = function($this) {
    return 64;
};
$java.nms_EntityMinecartContainer_setDead = function($this) {
    var $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($this.$dropContentsWhenDead) {
                $var1 = 0;
                while (true) {
                    if ($var1 >= $this.$getSizeInventory())
                        break a;
                    b: {
                        $var2 = $java.nms_EntityMinecartContainer_getStackInSlot($this, $var1);
                        if ($var2 !== null) {
                            $var3 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.800000011920929 + 0.10000000149011612;
                            $var4 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.800000011920929 + 0.10000000149011612;
                            $var5 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.800000011920929 + 0.10000000149011612;
                            var$6 = $var3;
                            var$7 = $var4;
                            var$8 = $var5;
                            while (true) {
                                if ($var2.$stackSize <= 0)
                                    break b;
                                $var6 = nle_EaglercraftRandom_nextInt($this.$rand0, 21) + 10 | 0;
                                if ($var6 > $var2.$stackSize)
                                    $var6 = $var2.$stackSize;
                                $var2.$stackSize = $var2.$stackSize - $var6 | 0;
                                $var7 = nms_EntityItem__init_0($this.$worldObj, $this.$posX + var$6, $this.$posY + var$7, $this.$posZ + var$8, nms_ItemStack__init_0($var2.$itemID0, $var6, $var2.$itemDamage));
                                if (nms_ItemStack_hasTagCompound($var2))
                                    nms_EntityItem_getEntityItem($var7).$stackTagCompound = $var2.$stackTagCompound.$copy();
                                $var7.$motionX = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.05000000074505806;
                                $var7.$motionY = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.05000000074505806 + 0.20000000298023224;
                                $var7.$motionZ = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.05000000074505806;
                                nms_WorldClient_spawnEntityInWorld($this.$worldObj, $var7);
                            }
                        }
                    }
                    $var1 = $var1 + 1 | 0;
                }
            }
        }
        $ptr = 1;
    case 1:
        nms_EntityMinecart_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, var$7, var$8, $var6, $var7, $ptr);
};
$java.nms_EntityMinecartContainer_interact = function($this, $par1EntityPlayer) {
    return 1;
};
function nms_EntityMinecartChest() {
    nms_EntityMinecartContainer.call(this);
}
$java.nms_EntityMinecartChest_getSizeInventory = function($this) {
    return 27;
};
$java.nms_EntityMinecartChest_getMinecartType = function($this) {
    return 1;
};
$java.nms_EntityMinecartChest_getDefaultDisplayTile = function($this) {
    nms_Block_$callClinit();
    return nms_Block_chest;
};
$java.nms_EntityMinecartChest_getDefaultDisplayTileOffset = function($this) {
    return 8;
};
function nms_EntityList$_clinit_$lambda$_61_18() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_18__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_18();
    nms_EntityList$_clinit_$lambda$_61_18__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_18__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_18_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntityMinecartChest;
    $java.nms_EntityMinecartContainer__init_0(var$2);
    nms_EntityMinecart_setWorld(var$2, var$1);
    return var$2;
};
function nms_EntityMinecartFurnace() {
    var a = this; nms_EntityMinecart.call(a);
    a.$fuel = 0;
    a.$pushX = 0.0;
    a.$pushZ = 0.0;
}
$java.nms_EntityMinecartFurnace_getMinecartType = function($this) {
    return 2;
};
$java.nms_EntityMinecartFurnace_entityInit = function($this) {
    nms_EntityMinecart_entityInit($this);
    nms_DataWatcher_addObject($this.$dataWatcher, 16, jl_Byte__init_(0));
};
$java.nms_EntityMinecartFurnace_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_EntityMinecart_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$fuel > 0)
            $this.$fuel = $this.$fuel - 1 | 0;
        if ($this.$fuel <= 0) {
            $this.$pushZ = 0.0;
            $this.$pushX = 0.0;
        }
        $java.nms_EntityMinecartFurnace_setMinecartPowered($this, $this.$fuel <= 0 ? 0 : 1);
        if ($java.nms_EntityMinecartFurnace_isMinecartPowered($this) && !nle_EaglercraftRandom_nextInt($this.$rand0, 4)) {
            var$1 = $this.$worldObj;
            var$2 = $rt_s(1050);
            var$3 = $this.$posX;
            var$4 = $this.$posY + 0.8;
            var$5 = $this.$posZ;
            var$6 = 0.0;
            var$7 = 0.0;
            var$8 = 0.0;
            $ptr = 2;
            continue main;
        }
        return;
    case 2:
        nms_World_spawnParticle(var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
};
$java.nms_EntityMinecartFurnace_interact = function($this, $par1EntityPlayer) {
    var $var2, var$3;
    $var2 = nms_InventoryPlayer_getCurrentItem($par1EntityPlayer.$inventory);
    if ($var2 !== null) {
        var$3 = $var2.$itemID0;
        nms_Item_$callClinit();
        if (var$3 == nms_Item_coal.$itemID) {
            var$3 = $var2.$stackSize - 1 | 0;
            $var2.$stackSize = var$3;
            if (!var$3)
                nms_InventoryPlayer_setInventorySlotContents($par1EntityPlayer.$inventory, $par1EntityPlayer.$inventory.$currentItem, null);
            $this.$fuel = $this.$fuel + 3600 | 0;
        }
    }
    $this.$pushX = $this.$posX - $par1EntityPlayer.$posX;
    $this.$pushZ = $this.$posZ - $par1EntityPlayer.$posZ;
    return 1;
};
$java.nms_EntityMinecartFurnace_isMinecartPowered = function($this) {
    return !(nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & 1) ? 0 : 1;
};
$java.nms_EntityMinecartFurnace_setMinecartPowered = function($this, $par1) {
    if (!$par1)
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf((nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) & (-2)) << 24 >> 24));
    else
        nms_DataWatcher_updateObject($this.$dataWatcher, 16, jl_Byte_valueOf((nms_DataWatcher_getWatchableObjectByte($this.$dataWatcher, 16) | 1) << 24 >> 24));
};
$java.nms_EntityMinecartFurnace_getDefaultDisplayTile = function($this) {
    nms_Block_$callClinit();
    return nms_Block_furnaceBurning;
};
$java.nms_EntityMinecartFurnace_getDefaultDisplayTileData = function($this) {
    return 2;
};
function nms_EntityList$_clinit_$lambda$_61_19() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_19__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_19();
    nms_EntityList$_clinit_$lambda$_61_19__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_19__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_19_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntityMinecartFurnace;
    nms_EntityMinecart__init_0(var$2);
    var$2.$fuel = 0;
    nms_EntityMinecart_setWorld(var$2, var$1);
    return var$2;
};
function nms_EntityList$_clinit_$lambda$_61_20() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_20__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_20();
    nms_EntityList$_clinit_$lambda$_61_20__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_20__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_20_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntityMinecartTNT;
    nms_EntityMinecart__init_0(var$2);
    var$2.$minecartTNTFuse = (-1);
    nms_EntityMinecart_setWorld(var$2, var$1);
    return var$2;
};
function nms_Hopper() {
}
function nms_EntityMinecartHopper() {
    var a = this; nms_EntityMinecartContainer.call(a);
    a.$isBlocked = 0;
    a.$transferTicker = 0;
}
$java.nms_EntityMinecartHopper_getMinecartType = function($this) {
    return 5;
};
$java.nms_EntityMinecartHopper_getDefaultDisplayTile = function($this) {
    nms_Block_$callClinit();
    return nms_Block_hopperBlock;
};
$java.nms_EntityMinecartHopper_getDefaultDisplayTileOffset = function($this) {
    return 1;
};
$java.nms_EntityMinecartHopper_getSizeInventory = function($this) {
    return 5;
};
$java.nms_EntityMinecartHopper_interact = function($this, $par1EntityPlayer) {
    return 1;
};
function nms_EntityList$_clinit_$lambda$_61_21() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_21__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_21();
    nms_EntityList$_clinit_$lambda$_61_21__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_21__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_21_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntityMinecartHopper;
    $java.nms_EntityMinecartContainer__init_0(var$2);
    var$2.$isBlocked = 1;
    var$2.$transferTicker = (-1);
    nms_EntityMinecart_setWorld(var$2, var$1);
    return var$2;
};
function nms_EntityList$_clinit_$lambda$_61_22() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_22__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_22();
    nms_EntityList$_clinit_$lambda$_61_22__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_22__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_22_apply = function(var$0, var$1) {
    var var$2;
    var$1 = var$1;
    var$2 = new nms_EntityMinecartMobSpawner;
    nms_EntityMinecart__init_0(var$2);
    nms_EntityMinecart_setWorld(var$2, var$1);
    return var$2;
};
function nms_EntityList$_clinit_$lambda$_61_23() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_23__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_23();
    nms_EntityList$_clinit_$lambda$_61_23__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_23__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_23_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityCreeper__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_24() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_24__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_24();
    nms_EntityList$_clinit_$lambda$_61_24__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_24__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_24_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntitySkeleton__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_25() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_25__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_25();
    nms_EntityList$_clinit_$lambda$_61_25__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_25__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_25_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntitySpider__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_26() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_26__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_26();
    nms_EntityList$_clinit_$lambda$_61_26__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_26__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_26_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityZombie__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_27() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_27__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_27();
    nms_EntityList$_clinit_$lambda$_61_27__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_27__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_27_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntitySlime__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_28() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_28__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_28();
    nms_EntityList$_clinit_$lambda$_61_28__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_28__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_28_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityGhast__init_0(), var$1);
};
function nms_EntityPigZombie() {
    var a = this; nms_EntityZombie.call(a);
    a.$angerLevel = 0;
    a.$randomSoundDelay = 0;
}
$java.nms_EntityPigZombie__init_ = function() {
    var var_0 = new nms_EntityPigZombie();
    nms_EntityPigZombie__init_(var_0);
    return var_0;
};
function nms_EntityPigZombie__init_($this) {
    nms_EntityZombie__init_($this);
    $this.$angerLevel = 0;
    $this.$randomSoundDelay = 0;
    $this.$moveSpeed = 0.5;
    $this.$isImmuneToFire = 1;
}
$java.nms_EntityPigZombie_isAIEnabled = function($this) {
    return 0;
};
$java.nms_EntityPigZombie_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$moveSpeed = $this.$entityToAttack === null ? 0.5 : 0.949999988079071;
        if ($this.$randomSoundDelay > 0) {
            var$1 = $this.$randomSoundDelay - 1 | 0;
            $this.$randomSoundDelay = var$1;
            if (!var$1) {
                var$2 = $rt_s(2504);
                var$3 = 2.0;
                var$4 = ((nle_EaglercraftRandom_nextFloat($this.$rand0) - nle_EaglercraftRandom_nextFloat($this.$rand0)) * 0.20000000298023224 + 1.0) * 1.7999999523162842;
                $ptr = 2;
                continue main;
            }
        }
        $ptr = 1;
    case 1:
        nms_EntityLiving_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_Entity_playSound($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
$java.nms_EntityPigZombie_findPlayerToAttack = function($this) {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$angerLevel)
            return null;
        $ptr = 1;
    case 1:
        $tmp = nms_EntityMob_findPlayerToAttack($this);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $tmp;
        return var$1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $ptr);
};
$java.nms_EntityPigZombie_attackEntityFrom = function($this, $par1DamageSource, $par2) {
    var $var3, $var4, $var5, $var6;
    if ($this.$invulnerable)
        return 0;
    $var3 = $par1DamageSource.$getEntity();
    if ($var3 instanceof nms_EntityPlayer) {
        $var4 = nms_World_getEntitiesWithinAABBExcludingEntity($this.$worldObj, $this, nms_AxisAlignedBB_expand($this.$boundingBox, 32.0, 32.0, 32.0));
        $var5 = 0;
        while ($var5 < $var4.$size) {
            $var6 = ju_ArrayList_get($var4, $var5);
            if ($var6 instanceof nms_EntityPigZombie)
                $java.nms_EntityPigZombie_becomeAngryAt($var6, $var3);
            $var5 = $var5 + 1 | 0;
        }
        $java.nms_EntityPigZombie_becomeAngryAt($this, $var3);
    }
    return nms_EntityMob_attackEntityFrom($this, $par1DamageSource, $par2);
};
$java.nms_EntityPigZombie_becomeAngryAt = function($this, $par1Entity) {
    $this.$entityToAttack = $par1Entity;
    $this.$angerLevel = 400 + nle_EaglercraftRandom_nextInt($this.$rand0, 400) | 0;
    $this.$randomSoundDelay = nle_EaglercraftRandom_nextInt($this.$rand0, 40);
};
$java.nms_EntityPigZombie_getLivingSound = function($this) {
    return $rt_s(2505);
};
$java.nms_EntityPigZombie_getHurtSound = function($this) {
    return $rt_s(2506);
};
$java.nms_EntityPigZombie_getDeathSound = function($this) {
    return $rt_s(2507);
};
$java.nms_EntityPigZombie_interact = function($this, $par1EntityPlayer) {
    return 0;
};
$java.nms_EntityPigZombie_getAttackStrength = function($this, $par1Entity) {
    var $var2, $var3;
    $var2 = nms_EntityLiving_getHeldItem($this);
    $var3 = 5;
    if ($var2 !== null)
        $var3 = $var3 + nms_ItemStack_getDamageVsEntity($var2, $this) | 0;
    return $var3;
};
function nms_EntityList$_clinit_$lambda$_61_29() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_29__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_29();
    nms_EntityList$_clinit_$lambda$_61_29__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_29__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_29_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld($java.nms_EntityPigZombie__init_(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_30() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_30__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_30();
    nms_EntityList$_clinit_$lambda$_61_30__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_30__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_30_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityEnderman__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_31() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_31__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_31();
    nms_EntityList$_clinit_$lambda$_61_31__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_31__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_31_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityCaveSpider__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_32() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_32__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_32();
    nms_EntityList$_clinit_$lambda$_61_32__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_32__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_32_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntitySilverfish__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_33() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_33__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_33();
    nms_EntityList$_clinit_$lambda$_61_33__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_33__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_33_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityBlaze__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_34() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_34__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_34();
    nms_EntityList$_clinit_$lambda$_61_34__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_34__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_34_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityMagmaCube__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_35() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_35__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_35();
    nms_EntityList$_clinit_$lambda$_61_35__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_35__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_35_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityDragon__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_36() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_36__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_36();
    nms_EntityList$_clinit_$lambda$_61_36__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_36__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_36_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityWither__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_37() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_37__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_37();
    nms_EntityList$_clinit_$lambda$_61_37__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_37__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_37_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityBat__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_38() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_38__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_38();
    nms_EntityList$_clinit_$lambda$_61_38__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_38__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_38_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityWitch__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_39() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_39__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_39();
    nms_EntityList$_clinit_$lambda$_61_39__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_39__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_39_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityPig__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_40() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_40__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_40();
    nms_EntityList$_clinit_$lambda$_61_40__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_40__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_40_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntitySheep__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_41() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_41__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_41();
    nms_EntityList$_clinit_$lambda$_61_41__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_41__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_41_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityCow__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_42() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_42__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_42();
    nms_EntityList$_clinit_$lambda$_61_42__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_42__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_42_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityChicken__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_43() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_43__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_43();
    nms_EntityList$_clinit_$lambda$_61_43__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_43__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_43_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntitySquid__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_44() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_44__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_44();
    nms_EntityList$_clinit_$lambda$_61_44__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_44__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_44_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityWolf__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_45() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_45__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_45();
    nms_EntityList$_clinit_$lambda$_61_45__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_45__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_45_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityMooshroom__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_46() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_46__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_46();
    nms_EntityList$_clinit_$lambda$_61_46__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_46__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_46_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntitySnowman__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_47() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_47__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_47();
    nms_EntityList$_clinit_$lambda$_61_47__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_47__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_47_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityOcelot__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_48() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_48__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_48();
    nms_EntityList$_clinit_$lambda$_61_48__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_48__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_48_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityIronGolem__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_49() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_49__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_49();
    nms_EntityList$_clinit_$lambda$_61_49__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_49__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_49_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityVillager__init_0(), var$1);
};
function nms_EntityList$_clinit_$lambda$_61_50() {
    jl_Object.call(this);
}
function nms_EntityList$_clinit_$lambda$_61_50__init_0() {
    var var_0 = new nms_EntityList$_clinit_$lambda$_61_50();
    nms_EntityList$_clinit_$lambda$_61_50__init_(var_0);
    return var_0;
}
function nms_EntityList$_clinit_$lambda$_61_50__init_(var$0) {
    return;
}
$java.nms_EntityList$_clinit_$lambda$_61_50_apply = function(var$0, var$1) {
    var$1 = var$1;
    return nms_Entity_setWorld(nms_EntityEnderCrystal__init_0(), var$1);
};
function ju_Collections$5() {
    ju_AbstractSet.call(this);
}
$java.ju_Collections$5__init_ = function() {
    var var_0 = new ju_Collections$5();
    ju_Collections$5__init_(var_0);
    return var_0;
};
function ju_Collections$5__init_($this) {
    return;
}
function ju_Collections$6() {
    ju_AbstractMap.call(this);
}
$java.ju_Collections$6__init_ = function() {
    var var_0 = new ju_Collections$6();
    ju_Collections$6__init_(var_0);
    return var_0;
};
function ju_Collections$6__init_($this) {
    return;
}
function ju_Collections$3() {
    ju_AbstractList.call(this);
}
$java.ju_Collections$3__init_ = function() {
    var var_0 = new ju_Collections$3();
    ju_Collections$3__init_(var_0);
    return var_0;
};
function ju_Collections$3__init_($this) {
    return;
}
$java.ju_Collections$3_size = function($this) {
    return 0;
};
function jnc_CharsetDecoder() {
    var a = this; jl_Object.call(a);
    a.$charset0 = null;
    a.$averageCharsPerByte = 0.0;
    a.$maxCharsPerByte = 0.0;
    a.$replacement = null;
    a.$malformedAction = null;
    a.$unmappableAction = null;
    a.$state = 0;
}
function jnc_CharsetDecoder_onMalformedInput($this, $newAction) {
    var var$2;
    if ($newAction !== null) {
        $this.$malformedAction = $newAction;
        return $this;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(2508));
    $rt_throw(var$2);
}
$java.jnc_CharsetDecoder_implOnMalformedInput = function($this, $newAction) {
    return;
};
function jnc_CharsetDecoder_onUnmappableCharacter($this, $newAction) {
    var var$2;
    if ($newAction !== null) {
        $this.$unmappableAction = $newAction;
        return $this;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(2508));
    $rt_throw(var$2);
}
$java.jnc_CharsetDecoder_implOnUnmappableCharacter = function($this, $newAction) {
    return;
};
function jnc_CharsetDecoder_decode0($this, $in, $out, $endOfInput) {
    var $result, $e, $$je;
    if (!($this.$state == 2 && !$endOfInput) && $this.$state != 3) {
        $this.$state = $endOfInput ? 2 : 1;
        while (true) {
            try {
                $result = $java.jnci_BufferedDecoder_decodeLoop($this, $in, $out);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_RuntimeException) {
                    $e = $$je;
                    $rt_throw(jnc_CoderMalfunctionError__init_($e));
                } else {
                    throw $$e;
                }
            }
            if (jnc_CoderResult_isOverflow($result))
                return $result;
            if (jnc_CoderResult_isUnderflow($result)) {
                if ($endOfInput && jn_Buffer_hasRemaining($in)) {
                    if ($this.$malformedAction === jnc_CodingErrorAction_REPORT)
                        return jnc_CoderResult_malformedForLength(jn_Buffer_remaining($in));
                    if (jn_Buffer_remaining($out) <= jl_String_length($this.$replacement))
                        return jnc_CoderResult_OVERFLOW;
                    jn_Buffer_position0($in, $in.$position + jn_Buffer_remaining($in) | 0);
                    if ($this.$malformedAction === jnc_CodingErrorAction_REPLACE)
                        jn_CharBuffer_put1($out, $this.$replacement);
                }
                return $result;
            }
            if (jnc_CoderResult_isMalformed($result)) {
                if ($this.$malformedAction === jnc_CodingErrorAction_REPORT)
                    return $result;
                if ($this.$malformedAction === jnc_CodingErrorAction_REPLACE) {
                    if (jn_Buffer_remaining($out) < jl_String_length($this.$replacement))
                        return jnc_CoderResult_OVERFLOW;
                    jn_CharBuffer_put1($out, $this.$replacement);
                }
                jn_Buffer_position0($in, $in.$position + jnc_CoderResult_length($result) | 0);
            } else if (jnc_CoderResult_isUnmappable($result)) {
                if ($this.$unmappableAction === jnc_CodingErrorAction_REPORT)
                    break;
                if ($this.$unmappableAction === jnc_CodingErrorAction_REPLACE) {
                    if (jn_Buffer_remaining($out) < jl_String_length($this.$replacement))
                        return jnc_CoderResult_OVERFLOW;
                    jn_CharBuffer_put1($out, $this.$replacement);
                }
                jn_Buffer_position0($in, $in.$position + jnc_CoderResult_length($result) | 0);
            }
        }
        return $result;
    }
    $in = new jl_IllegalStateException;
    jl_Throwable__init_0($in);
    $rt_throw($in);
}
function jnc_CharsetDecoder_flush($this, $out) {
    if ($this.$state != 3 && $this.$state != 2) {
        $out = new jl_IllegalStateException;
        jl_Throwable__init_0($out);
        $rt_throw($out);
    }
    $this.$state = 3;
    return jnc_CoderResult_UNDERFLOW;
}
$java.jnc_CharsetDecoder_reset = function($this) {
    $this.$state = 0;
    return $this;
};
function jnc_CharsetDecoder_decode($this, $in) {
    var $out, $result;
    if ($this.$state && $this.$state != 3) {
        $in = new jl_IllegalStateException;
        jl_Throwable__init_0($in);
        $rt_throw($in);
    }
    if (!jn_Buffer_remaining($in))
        return jn_CharBuffer_allocate(0);
    if ($this.$state)
        $java.jnc_CharsetDecoder_reset($this);
    $out = jn_CharBuffer_allocate(jl_Math_max(8, jn_Buffer_remaining($in) * $this.$averageCharsPerByte | 0));
    while (true) {
        $result = jnc_CharsetDecoder_decode0($this, $in, $out, 0);
        if (jnc_CoderResult_isUnderflow($result))
            break;
        if (jnc_CoderResult_isOverflow($result))
            $out = $java.jnc_CharsetDecoder_expand($this, $out);
        if (!jnc_CoderResult_isError($result))
            continue;
        jnc_CoderResult_throwException($result);
    }
    $in = jnc_CharsetDecoder_decode0($this, $in, $out, 1);
    if (jnc_CoderResult_isError($in))
        jnc_CoderResult_throwException($in);
    while (!jnc_CoderResult_isUnderflow(jnc_CharsetDecoder_flush($this, $out))) {
        $out = $java.jnc_CharsetDecoder_expand($this, $out);
    }
    jn_Buffer_flip($out);
    return $out;
}
$java.jnc_CharsetDecoder_expand = function($this, $buffer) {
    var var$2, $result;
    var$2 = $buffer.$array5;
    $result = jn_CharBuffer_wrap(ju_Arrays_copyOf0(var$2, jl_Math_max(8, var$2.data.length * 2 | 0)));
    jn_Buffer_position0($result, $buffer.$position);
    return $result;
};
$java.jnc_CharsetDecoder_implFlush = function($this, $out) {
    return jnc_CoderResult_UNDERFLOW;
};
$java.jnc_CharsetDecoder_implReset = function($this) {
    return;
};
function jn_FloatBufferImpl() {
    jn_FloatBuffer.call(this);
}
$java.jn_FloatBufferImpl__init_ = function(var_0, var_1, var_2) {
    var var_3 = new jn_FloatBufferImpl();
    jn_FloatBufferImpl__init_(var_3, var_0, var_1, var_2);
    return var_3;
};
function jn_FloatBufferImpl__init_($this, $capacity, $position, $limit) {
    jn_Buffer__init_0($this, $capacity);
    $this.$position = $position;
    $this.$limit = $limit;
}
function jn_FloatBufferImpl_get($this) {
    var var$1, var$2;
    if ($this.$position < $this.$limit) {
        var$1 = $this.$position;
        $this.$position = var$1 + 1 | 0;
        return $this.$getElement0(var$1);
    }
    var$2 = new jn_BufferUnderflowException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function jn_FloatBufferImpl_put($this, $b) {
    var var$2, var$3;
    if ($this.$readOnly1()) {
        var$2 = new jn_ReadOnlyBufferException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    if ($this.$position < $this.$limit) {
        var$3 = $this.$position;
        $this.$position = var$3 + 1 | 0;
        $this.$putElement0(var$3, $b);
        return $this;
    }
    var$2 = new jn_BufferOverflowException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
$java.jn_FloatBufferImpl_get = function($this, $index) {
    var var$2, var$3;
    if ($index >= 0 && $index < $this.$limit)
        return $this.$getElement0($index);
    var$2 = new jl_IndexOutOfBoundsException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(569));
    jl_AbstractStringBuilder_append2(var$3, $index);
    jl_AbstractStringBuilder_append(var$3, $rt_s(480));
    jl_AbstractStringBuilder_append2(var$3, $this.$limit);
    jl_AbstractStringBuilder_append(var$3, $rt_s(68));
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$2);
};
$java.jn_FloatBufferImpl_isReadOnly = function($this) {
    return $this.$readOnly1();
};
function jn_FloatBufferOverArray() {
    var a = this; jn_FloatBufferImpl.call(a);
    a.$readOnly = 0;
    a.$start0 = 0;
    a.$array1 = null;
}
$java.jn_FloatBufferOverArray_getElement = function($this, $index) {
    return $this.$array1.data[$index + $this.$start0 | 0];
};
$java.jn_FloatBufferOverArray_putElement = function($this, $index, $value) {
    $this.$array1.data[$index + $this.$start0 | 0] = $value;
};
$java.jn_FloatBufferOverArray_readOnly = function($this) {
    return $this.$readOnly;
};
function nlegv_Vector2f() {
    var a = this; nlegv_Vector.call(a);
    a.$x2 = 0.0;
    a.$y2 = 0.0;
}
$java.nlegv_Vector2f__init_ = function() {
    var var_0 = new nlegv_Vector2f();
    nlegv_Vector2f__init_(var_0);
    return var_0;
};
function nlegv_Vector2f__init_0(var_0, var_1) {
    var var_2 = new nlegv_Vector2f();
    $java.nlegv_Vector2f__init_0(var_2, var_0, var_1);
    return var_2;
}
function nlegv_Vector2f__init_($this) {
    return;
}
$java.nlegv_Vector2f__init_0 = function($this, $x, $y) {
    $java.nlegv_Vector2f_set($this, $x, $y);
};
$java.nlegv_Vector2f_set = function($this, $x, $y) {
    $this.$x2 = $x;
    $this.$y2 = $y;
};
function maat__tmi_MgButtonHandler() {
}
function maat__tmi_MgItemHandler() {
}
function maat__tmi_MgFocusHandler() {
}
function maat_TMIController() {
    var a = this; jl_Object.call(a);
    a.$window0 = null;
    a.$drawItems = null;
    a.$config = null;
    a.$view = null;
    a.$focusedTextField = null;
    a.$lastKeyPressTime = Long_ZERO;
    a.$lastPrefsLoadTime = Long_ZERO;
    a.$deleteAllWaitUntil = Long_ZERO;
    a.$deleteMode = 0;
    a.$haveReplacedItems = 0;
    a.$wasInWindowLastFrame = 0;
    a.$windowLastFocused = Long_ZERO;
    a.$savedChatKeyCode = 0;
    a.$canvas = null;
}
$java.maat_TMIController__init_ = function() {
    var var_0 = new maat_TMIController();
    maat_TMIController__init_(var_0);
    return var_0;
};
function maat_TMIController__init_($this) {
    $this.$window0 = null;
    $this.$drawItems = null;
    $this.$config = maat_TMIConfig_getInstance();
    $this.$view = null;
    $this.$focusedTextField = null;
    $this.$lastKeyPressTime = Long_ZERO;
    $this.$lastPrefsLoadTime = Long_ZERO;
    $this.$deleteAllWaitUntil = Long_ZERO;
    $this.$deleteMode = 0;
    $this.$haveReplacedItems = 0;
    $this.$wasInWindowLastFrame = 0;
    $this.$windowLastFocused = Long_ZERO;
}
function maat_TMIController_onCreate($this, $var1) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9;
    $this.$window0 = $var1;
    $this.$drawItems = nms_RenderItem__init_0();
    var$2 = new maat__tmi_MgCanvas;
    var$3 = $this.$drawItems;
    var$2.$windowX = 0;
    var$2.$windowY = 0;
    var$2.$widgets = ju_ArrayList__init_0();
    var$2.$flatMode = 0;
    var$2.$window1 = $var1;
    var$2.$drawItems0 = var$3;
    $this.$canvas = var$2;
    $var1 = new maat_TMIView;
    var$2 = $this.$canvas;
    var$4 = $this.$config;
    $var1.$widgetsCreated = 0;
    $var1.$activeTooltip = null;
    $var1.$tabView = $java.maat__tmi_MgTabView__init_();
    var$5 = new maat_TMIEnchantPanel;
    $java.maat__tmi_MgWidget__init_(var$5, 0, 0);
    var$5.$selectedItem = null;
    var$5.$enchantmentSettings = ju_HashMap__init_();
    var$5.$page = 0;
    var$5.$showItemPicker = 0;
    var$5.$nameField = $java.maat__tmi_MgTextField__init_(nmc_Minecraft_theMinecraft.$fontRenderer, $rt_s(2509), maat_TMI_instance.$controller);
    var$5.$tooltipHandler = $var1;
    maat_TMIConfig_getInstance();
    var$5.$items = $java.maat_TMIConfig_enchantableItems;
    if (var$5.$items.$size > 0)
        var$5.$selectedItem = ju_ArrayList_get(var$5.$items, 0);
    var$5.$itemButton = $java.maat__tmi_MgItemButton__init_($rt_s(36), null, var$5, $rt_s(2510));
    var$5.$nextButton = $java.maat__tmi_MgButton__init_($rt_s(36), var$5, $rt_s(2511));
    var$5.$nextButton.$icon = $java.maat_TMIImages_iconNext;
    var$5.$nextButton.$width3 = 16;
    var$5.$nextButton.$height5 = 16;
    var$5.$prevButton = $java.maat__tmi_MgButton__init_($rt_s(36), var$5, $rt_s(2512));
    var$5.$prevButton.$icon = $java.maat_TMIImages_iconPrev;
    var$5.$prevButton.$width3 = 16;
    var$5.$prevButton.$height5 = 16;
    var$5.$createButton = $java.maat__tmi_MgButton__init_($rt_s(2513), var$5, $rt_s(2514));
    var$5.$createButton.$width3 = 36;
    var$5.$createButton.$height5 = 18;
    var$5.$favoriteButton = $java.maat__tmi_MgButton__init_($rt_s(2515), var$5, $rt_s(2516));
    var$5.$favoriteButton.$width3 = 48;
    var$5.$favoriteButton.$height5 = 18;
    var$3 = new maat_TMIEnchantItemPicker;
    $java.maat__tmi_MgWidget__init_(var$3, 0, 0);
    var$3.$mouseLastInArea = Long_ZERO;
    var$3.$enchantPanel = var$5;
    var$6 = $rt_createIntArray(12).data;
    var$6[0] = 20;
    var$6[1] = 5;
    var$6[2] = 21;
    var$6[3] = 22;
    var$6[4] = 23;
    var$6[5] = 37;
    var$6[6] = 54;
    var$6[7] = 55;
    var$6[8] = 56;
    var$6[9] = 57;
    var$6[10] = 93;
    var$6[11] = 147;
    var$7 = 0;
    while (var$7 < var$6.length) {
        var$8 = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(var$6[var$7]), 1, 0);
        var$9 = $java.maat__tmi_MgItemButton__init_($rt_s(36), var$8, var$3, jl_Integer_valueOf(var$6[var$7]));
        ju_ArrayList_add(var$3.$children0, var$9);
        var$7 = var$7 + 1 | 0;
    }
    var$5.$itemPicker = var$3;
    var$5.$itemPicker.$show = 0;
    $var1.$enchantPanel0 = var$5;
    $var1.$configPanel = $java.maat_TMIConfigPanel__init_();
    $var1.$potionPanel = $java.maat_TMIPotionPanel__init_();
    $var1.$fireworkPanel = $java.maat_TMIFireworkPanel__init_();
    $var1.$canvas0 = var$2;
    $var1.$config0 = var$4;
    $var1.$controller0 = $this;
    $var1.$stateButtons = $rt_createArray(maat__tmi_MgButton, 7);
    $var1.$deleteButtons = $rt_createArray(maat__tmi_MgButton, 7);
    $java.maat_TMIView_createWidgets($var1);
    $this.$view = $var1;
    $java.maat_TMIUtils_loadItems($this.$config);
    if (!$java.maat_TMIUtils_haveReplacedItems)
        maat_TMIConfig_getInstance();
    $this.$savedChatKeyCode = nmc_Minecraft_theMinecraft.$gameSettings.$keyBindChat.$keyCode;
}
function maat_TMIController_onEnterFrame($this, $var1, $var2, $var3, $var4) {
    var $var5, $var6, $var7, $var8, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            try {
                $var5 = nlea_EaglerAdapterImpl2_isFocused();
                if ($var5 && !$this.$wasInWindowLastFrame)
                    $this.$windowLastFocused = jl_System_currentTimeMillis();
                $this.$wasInWindowLastFrame = $var5;
                $java.maat_TMIUtils_suppressAchievementNotice();
                $var6 = 0;
                if ($this.$window0 instanceof nms_GuiContainerCreative) {
                    $java.nms_GuiContainerCreative_$callClinit();
                    if ($java.nms_GuiContainerCreative_selectedTabIndex == $java.nms_CreativeTabs_getTabIndex($java.nms_CreativeTabs_tabAllSearch))
                        $var6 = 1;
                }
                $var7 = $this.$window0 instanceof nms_GuiRepair;
                if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$lastKeyPressTime), Long_fromInt(200))) {
                    if (nlea_EaglerAdapterImpl2_isKeyDown($java.maat_TMIConfig_getHotkey($this.$config)) && $this.$focusedTextField === null && !$var6 && !$var7) {
                        $java.maat_TMIConfig_toggleEnabled($this.$config);
                        if ($this.$window0 instanceof nms_InventoryEffectRenderer && !ju_AbstractCollection_isEmpty(nms_EntityLiving_getActivePotionEffects(nmc_Minecraft_getMinecraft().$thePlayer))) {
                            if (maat_TMIConfig_isEnabled($this.$config))
                                $this.$window0.$guiLeft = ($this.$window0.$width - $this.$window0.$xSize | 0) / 2 | 0;
                            else
                                $this.$window0.$guiLeft = 160 + ((($this.$window0.$width - $this.$window0.$xSize | 0) - 200 | 0) / 2 | 0) | 0;
                        }
                        $java.maat_TMIUtils_savePreferences($this.$config);
                        $this.$lastKeyPressTime = jl_System_currentTimeMillis();
                    }
                    $java.maat_TMIUtils_updateUnlimitedItems();
                }
                if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$lastPrefsLoadTime), Long_fromInt(2000))) {
                    $java.maat_TMIUtils_loadPreferences($this.$config);
                    if (Long_eq($this.$lastPrefsLoadTime, Long_ZERO))
                        $java.maat_TMIUtils_savePreferences($this.$config);
                    $this.$lastPrefsLoadTime = jl_System_currentTimeMillis();
                }
                if (!maat_TMIConfig_isEnabled($this.$config))
                    break a;
                $java.maat_TMIView_setTooltip($this.$view, null);
                $var8 = $this.$view;
                $var7 = $this.$window0.$width;
                $var5 = $this.$window0.$height;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var8 = $$je;
                } else {
                    throw $$e;
                }
            }
            $java.maat_TMIUtils_safeReportException($var8);
            $java.maat_TMIController_disable($this);
        }
        return;
    case 1:
        try {
            $java.maat_TMIView_layout($var8, $var7, $var5, $var3, $var4);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$canvas;
            $ptr = 2;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var8 = $$je;
            } else {
                throw $$e;
            }
        }
        $java.maat_TMIUtils_safeReportException($var8);
        $java.maat_TMIController_disable($this);
        return;
    case 2:
        try {
            $java.maat__tmi_MgCanvas_drawWidgets($var8, $var1, $var2);
            if ($rt_suspending()) {
                break main;
            }
            $var8 = $this.$view;
            $ptr = 3;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var8 = $$je;
            } else {
                throw $$e;
            }
        }
        $java.maat_TMIUtils_safeReportException($var8);
        $java.maat_TMIController_disable($this);
        return;
    case 3:
        a: {
            try {
                $java.maat_TMIView_determineTooltip($var8, $var1, $var2);
                if ($rt_suspending()) {
                    break main;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var8 = $$je;
                } else {
                    throw $$e;
                }
            }
            $java.maat_TMIUtils_safeReportException($var8);
            $java.maat_TMIController_disable($this);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $ptr);
}
$java.maat_TMIController_focus = function($this, $var1) {
    var $var3, $$je;
    if ($this.$focusedTextField !== null && $this.$focusedTextField !== $var1)
        $java.maat__tmi_MgTextField_blur($this.$focusedTextField);
    a: {
        if ($var1 instanceof maat__tmi_MgTextField) {
            $this.$focusedTextField = $var1;
            nmc_Minecraft_theMinecraft.$gameSettings.$keyBindChat.$keyCode = 0;
            try {
                if ($java.maat_TMIUtils_isCreativeMode()) {
                    $java.nms_GuiContainerCreative_$callClinit();
                    if ($java.nms_GuiContainerCreative_selectedTabIndex == $java.nms_CreativeTabs_getTabIndex($java.nms_CreativeTabs_tabAllSearch))
                        $java.nms_GuiContainerCreative_setCurrentCreativeTab($this.$window0, $java.nms_CreativeTabs_tabInventory);
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var3 = $$je;
                } else {
                    throw $$e;
                }
            }
            ji_PrintStream_println1(jl_System_out(), $var3);
        }
    }
};
$java.maat_TMIController_blur = function($this, $var1) {
    if ($this.$focusedTextField === $var1) {
        $this.$focusedTextField = null;
        nmc_Minecraft_theMinecraft.$gameSettings.$keyBindChat.$keyCode = $this.$savedChatKeyCode;
    }
};
function maat_TMIController_onClose($this) {
    nmc_Minecraft_theMinecraft.$gameSettings.$keyBindChat.$keyCode = $this.$savedChatKeyCode;
}
function maat_TMIController_handleScrollWheel($this, $var1, $var2) {
    var $var3;
    if ($java.maat__tmi_MgWidget_contains($this.$view.$itemPanel, $var1, $var2)) {
        $var3 = nlea_EaglerAdapterImpl2_mouseGetEventDWheel();
        if ($var3)
            $java.maat_TMIItemPanel_page = $java.maat_TMIItemPanel_page + ($var3 >= 0 ? (-1) : 1) | 0;
    }
}
function maat_TMIController_onMouseEvent($this, $var1, $var2, $var3, $var4, $var5, $var6) {
    var $var7, $var8, $var12, $var13, $var16, $var10, var$13, var$14, $var14, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var14 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var10 = $thread.pop();$var16 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!maat_TMIConfig_isEnabled($this.$config))
            return 1;
        if (Long_gt($this.$windowLastFocused, Long_sub(jl_System_currentTimeMillis(), Long_fromInt(200))))
            return 0;
        $ptr = 1;
    case 1:
        $tmp = $java.maat_TMIController_onClick($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        if (!$var1)
            return 0;
        a: {
            b: {
                if ($var4) {
                    if (nlea_EaglerAdapterImpl2_isKeyDown(42))
                        break b;
                    if (nlea_EaglerAdapterImpl2_isKeyDown(54))
                        break b;
                }
                $var7 = 0;
                break a;
            }
            $var7 = 1;
        }
        $var8 = $java.maat_TMIUtils_getHeldItem();
        $var12 = (-1);
        $var13 = (-1);
        if ($var5 !== null)
            c: {
                $var5.$getStack();
                $var1 = $var5.$slotNumber;
                $var13 = $var5.$slotNumber;
                if ($var5 instanceof nms_SlotCreativeInventory) {
                    try {
                        $var12 = $var5.$theSlot1.$slotNumber;
                        $var1 = $var12;
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var16 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                    ji_PrintStream_println1(jl_System_out(), $var16);
                    $var12 = $var1;
                } else
                    $var12 = !($this.$window0 instanceof nms_GuiContainerCreative) ? $var1 : $var1 < 45 ? 0 : $var1 + (-9) | 0;
            }
        if (!$var4) {
            $var12 = (-999);
            $var13 = (-999);
            if ($var8 !== null && !($var8.$stackSize >= 0 && $var8.$stackSize <= 64))
                $var8.$stackSize = 1;
        }
        d: {
            $var16 = nmc_Minecraft_theMinecraft;
            if ($java.maat_TMIUtils_isCreativeMode())
                $var1 = 0;
            else {
                e: {
                    f: {
                        try {
                            $var10 = jl_Class_forName($rt_s(2517));
                            var$13 = $rt_createArray(jl_Class, 5);
                            var$14 = var$13.data;
                            var$14[0] = $rt_cls($rt_intcls());
                            var$14[1] = $rt_cls($rt_intcls());
                            var$14[2] = $rt_cls($rt_booleancls());
                            var$14[3] = $rt_cls(nmc_Minecraft);
                            var$14[4] = $rt_cls(nms_Container);
                            $var8 = jl_Class_getMethod($var10, $rt_s(2518), var$13);
                            var$13 = $rt_createArray(jl_Object, 5);
                            var$14 = var$13.data;
                            var$14[0] = jl_Integer_valueOf($var12);
                            var$14[1] = jl_Integer_valueOf($var3);
                            var$14[2] = jl_Boolean_valueOf($var7);
                            var$14[3] = $var16;
                            var$14[4] = $var6;
                            $java.jlr_Method_invoke($var8, null, var$13);
                            $var1 = 1;
                            break d;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_ClassNotFoundException) {
                            } else if ($$je instanceof jl_NoSuchMethodException) {
                                break f;
                            } else if ($$je instanceof jlr_InvocationTargetException) {
                                $var6 = $$je;
                                break e;
                            } else if ($$je instanceof jl_IllegalAccessException) {
                                $var6 = $$je;
                                $var8 = jl_System_out();
                                $var10 = new jl_StringBuilder;
                                jl_AbstractStringBuilder__init_($var10);
                                jl_AbstractStringBuilder_append($var10, $rt_s(2519));
                                jl_AbstractStringBuilder_append1($var10, $var6);
                                ji_PrintStream_println($var8, jl_AbstractStringBuilder_toString($var10));
                                $var1 = 0;
                                break d;
                            } else {
                                throw $$e;
                            }
                        }
                        $var1 = 0;
                        break d;
                    }
                    $var1 = 0;
                    break d;
                }
                $var8 = jl_System_out();
                $var10 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var10);
                jl_AbstractStringBuilder_append($var10, $rt_s(2519));
                jl_AbstractStringBuilder_append1($var10, $var6.$getCause());
                ji_PrintStream_println($var8, jl_AbstractStringBuilder_toString($var10));
                $var1 = 0;
            }
        }
        g: {
            if (!$var1) {
                if (!(!$var12 && $var3 == 1 && $java.maat_TMIController_isCrafting($this))) {
                    if ($var12 == (-1))
                        break g;
                    $java.maat_TMIUtils_isCreativeMode();
                    return 1;
                }
                $var14 = 0;
                if ($var14 < 64) {
                    $var6 = $this.$window0;
                    $var1 = !$var7 ? 0 : 1;
                    $ptr = 2;
                    continue main;
                }
            }
        }
        return 0;
    case 2:
        $var6.$handleMouseClick($var5, $var13, $var3, $var1);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $var14 + 1 | 0;
        if ($var14 >= 64)
            return 0;
        $var6 = $this.$window0;
        $var1 = !$var7 ? 0 : 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var12, $var13, $var16, $var10, var$13, var$14, $var14, $ptr);
}
$java.maat_TMIController_onClick = function($this, $var1, $var2, $var3) {
    var $var5, $var6, $var7, $var8, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            try {
                if (maat_TMIConfig_isEnabled($this.$config)) {
                    $java.maat__tmi_MgCanvas_sortByZOrder($this.$canvas);
                    $var5 = null;
                    $var6 = ju_AbstractList_iterator($this.$canvas.$widgets);
                    b: {
                        while (ju_AbstractList$1_hasNext($var6)) {
                            $var7 = ju_AbstractList$1_next($var6);
                            if ($java.maat__tmi_MgWidget_contains($var7, $var1, $var2))
                                break b;
                        }
                        $var7 = $var5;
                    }
                    if ($this.$focusedTextField !== null && $this.$focusedTextField !== $var7) {
                        $java.maat__tmi_MgTextField_blur($this.$focusedTextField);
                        $this.$focusedTextField = null;
                    }
                    if ($var7 !== null) {
                        $ptr = 1;
                        continue main;
                    }
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var8 = $$je;
                } else {
                    throw $$e;
                }
            }
            $java.maat_TMIUtils_safeReportException($var8);
            $java.maat_TMIController_disable($this);
        }
        return 1;
    case 1:
        a: {
            try {
                $tmp = $var7.$click($var1, $var2, $var3);
                if ($rt_suspending()) {
                    break main;
                }
                $var1 = $tmp;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var8 = $$je;
                    break a;
                } else {
                    throw $$e;
                }
            }
            return $var1;
        }
        $java.maat_TMIUtils_safeReportException($var8);
        $java.maat_TMIController_disable($this);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var5, $var6, $var7, $var8, $ptr);
};
$java.maat_TMIController_onButtonRightClick = function($this, $var1) {
    return 1;
};
$java.maat_TMIController_onButtonPress = function($this, $var1) {
    var $var4, $var2, var$4, $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();$var4 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($var1 instanceof maat_TMIStateButtonData) {
            $var4 = $var1;
            if ($var4.$action0 == 1) {
                $java.maat_TMIConfig_clearState($this.$config, $var4.$state0);
                $java.maat_TMIUtils_savePreferences($this.$config);
            } else if (!$java.maat_TMIConfig_isStateSaved($this.$config, $var4.$state0)) {
                $java.maat_TMIConfig_saveState($this.$config, $var4.$state0);
                $java.maat_TMIUtils_savePreferences($this.$config);
            } else {
                $java.maat_TMIConfig_loadState($this.$config, $var4.$state0);
                $java.maat_TMIUtils_savePreferences($this.$config);
            }
            return 0;
        }
        if (!($var1 instanceof jl_String))
            return 1;
        a: {
            $var2 = $var1;
            if (jl_String_equals($var2, $rt_s(2520))) {
                $java.maat_TMIUtils_isRaining();
                nms_EntityClientPlayerMP_sendChatMessage(nmc_Minecraft_theMinecraft.$thePlayer, $rt_s(2521));
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2522))) {
                $java.maat_TMIUtils_setGameMode(0);
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2523))) {
                $java.maat_TMIUtils_setGameMode(1);
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2524))) {
                $java.maat_TMIUtils_setGameMode(2);
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2525))) {
                $java.maat_TMIUtils_setHourForward(0);
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2526))) {
                $java.maat_TMIUtils_setHourForward(6);
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2527))) {
                $java.maat_TMIUtils_setHourForward(12);
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2528))) {
                $java.maat_TMIUtils_setHourForward(18);
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2511))) {
                $java.maat_TMIItemPanel_page = $java.maat_TMIItemPanel_page + 1 | 0;
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2512))) {
                $java.maat_TMIItemPanel_page = $java.maat_TMIItemPanel_page - 1 | 0;
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2529))) {
                if ($java.maat_TMIUtils_playerIsAlive())
                    nms_EntityLiving_setEntityHealth($java.maat_TMIUtils_getPlayer(), 20);
                if ($java.maat_TMIUtils_playerIsAlive()) {
                    $java.maat_TMIUtils_getPlayer().$foodStats.$foodLevel = 20;
                    $java.maat_TMIUtils_getPlayer().$foodStats.$foodSaturationLevel = 5.0;
                }
                break a;
            }
            if (jl_String_equals($var2, $rt_s(2530))) {
                $var2 = nmc_Minecraft_theMinecraft.$gameSettings;
                $var1 = nms_EnumOptions_DIFFICULTY;
                var$4 = 1;
                $ptr = 1;
                continue main;
            }
            if (!jl_String_equals($var2, $rt_s(2531)))
                break a;
            $var3 = $java.maat_TMIUtils_getHeldItem();
            if ($var3 !== null) {
                if (!$java.maat_TMIUtils_shiftKey()) {
                    $java.maat_TMIUtils_deleteHeldItem();
                    break a;
                }
                $java.maat_TMIUtils_deleteHeldItem();
                $var1 = $this.$window0;
                $ptr = 2;
                continue main;
            }
            if (!$java.maat_TMIUtils_shiftKey()) {
                $this.$deleteMode = $this.$deleteMode ? 0 : 1;
                break a;
            }
            if (Long_le(jl_System_currentTimeMillis(), $this.$deleteAllWaitUntil))
                break a;
            $var1 = $java.maat_TMIUtils_getPlayer().$openContainer.$inventorySlots;
            var$4 = 0;
            $var3 = null;
            while (var$4 < $var1.$size) {
                $var2 = ju_ArrayList_get($var1, var$4);
                if ($var2 !== null) {
                    $ptr = 3;
                    continue main;
                }
                var$4 = var$4 + 1 | 0;
            }
        }
        return 0;
    case 1:
        nms_GameSettings_setOptionValue($var2, $var1, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return 0;
    case 2:
        $java.maat_TMIUtils_deleteItemsOfType($var3, $var1);
        if ($rt_suspending()) {
            break main;
        }
        $this.$deleteAllWaitUntil = Long_add(jl_System_currentTimeMillis(), Long_fromInt(1000));
        return 0;
    case 3:
        $var2.$putStack($var3);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            var$4 = var$4 + 1 | 0;
            if (var$4 >= $var1.$size)
                break;
            $var2 = ju_ArrayList_get($var1, var$4);
            if ($var2 === null)
                continue;
            else {
                continue main;
            }
        }
        return 0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var4, $var2, var$4, $var3, $ptr);
};
$java.maat_TMIController_onItemEvent = function($this, $var1, $var2) {
    if ($var2) {
        if ($var2 != 1)
            return 1;
        $java.maat_TMIUtils_giveStack($var1, $this.$config, 1);
        return 0;
    }
    if (!nlea_EaglerAdapterImpl2_isKeyDown(56) && !nlea_EaglerAdapterImpl2_isKeyDown(184)) {
        $java.maat_TMIUtils_giveStack0($var1, $this.$config);
        return 0;
    }
    ju_ArrayList_add($java.maat_TMIConfig_favorites, $var1);
    $java.maat_TMIUtils_savePreferences($this.$config);
    return 0;
};
function maat_TMIController_onKeypress($this, $var1, $var2) {
    var var$3, $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$focusedTextField === null)
            return 0;
        var$3 = $this.$focusedTextField;
        $ptr = 1;
    case 1:
        $tmp = $java.maat__tmi_MgTextField_keypress(var$3, $var1, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $tmp;
        if ($this.$focusedTextField === $this.$view.$itemPanel.$textField)
            $java.maat_TMIUtils_filterItems($java.maat__tmi_MgTextField_value($this.$focusedTextField), $this.$config);
        return $var3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, var$3, $var3, $ptr);
}
$java.maat_TMIController_isCrafting = function($this) {
    return !($this.$window0.$inventorySlots0 instanceof nms_ContainerPlayer) && !($this.$window0.$inventorySlots0 instanceof nms_ContainerWorkbench) ? 0 : 1;
};
$java.maat_TMIController_disable = function($this) {
    $java.maat_TMIConfig_setEnabled($this.$config, 0);
};
function nms_EntityEggInfo() {
    var a = this; jl_Object.call(a);
    a.$spawnedID = 0;
    a.$primaryColor = 0;
    a.$secondaryColor = 0;
}
function nms_CreativeTabBlock() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabBlock_getTabIconItemIndex = function($this) {
    nms_Block_$callClinit();
    return nms_Block_brick.$blockID;
};
function nms_CreativeTabDeco() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabDeco_getTabIconItemIndex = function($this) {
    nms_Block_$callClinit();
    return nms_Block_plantRed.$blockID;
};
function nms_CreativeTabRedstone() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabRedstone_getTabIconItemIndex = function($this) {
    nms_Item_$callClinit();
    return nms_Item_redstone.$itemID;
};
function nms_CreativeTabTransport() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabTransport_getTabIconItemIndex = function($this) {
    nms_Block_$callClinit();
    return nms_Block_railPowered.$blockID;
};
function nms_CreativeTabMisc() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabMisc_getTabIconItemIndex = function($this) {
    nms_Item_$callClinit();
    return nms_Item_bucketLava.$itemID;
};
$java.nms_CreativeTabMisc_displayAllReleventItems = function($this, $par1List) {
    var var$2;
    $java.nms_CreativeTabs_displayAllReleventItems($this, $par1List);
    var$2 = $rt_createArray(nms_EnumEnchantmentType, 1);
    var$2.data[0] = $java.nms_EnumEnchantmentType_all;
    $java.nms_CreativeTabs_func_92116_a($this, $par1List, var$2);
};
function nms_CreativeTabSearch() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabSearch_getTabIconItemIndex = function($this) {
    nms_Item_$callClinit();
    return nms_Item_compass.$itemID;
};
function nms_CreativeTabFood() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabFood_getTabIconItemIndex = function($this) {
    nms_Item_$callClinit();
    return nms_Item_appleRed.$itemID;
};
function nms_CreativeTabTools() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabTools_getTabIconItemIndex = function($this) {
    nms_Item_$callClinit();
    return nms_Item_axeIron.$itemID;
};
$java.nms_CreativeTabTools_displayAllReleventItems = function($this, $par1List) {
    var var$2;
    $java.nms_CreativeTabs_displayAllReleventItems($this, $par1List);
    var$2 = $rt_createArray(nms_EnumEnchantmentType, 1);
    var$2.data[0] = $java.nms_EnumEnchantmentType_digger;
    $java.nms_CreativeTabs_func_92116_a($this, $par1List, var$2);
};
function nms_CreativeTabCombat() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabCombat_getTabIconItemIndex = function($this) {
    nms_Item_$callClinit();
    return nms_Item_swordGold.$itemID;
};
$java.nms_CreativeTabCombat_displayAllReleventItems = function($this, $par1List) {
    var var$2, var$3;
    $java.nms_CreativeTabs_displayAllReleventItems($this, $par1List);
    var$2 = $rt_createArray(nms_EnumEnchantmentType, 7);
    var$3 = var$2.data;
    var$3[0] = $java.nms_EnumEnchantmentType_armor;
    var$3[1] = $java.nms_EnumEnchantmentType_armor_feet;
    var$3[2] = $java.nms_EnumEnchantmentType_armor_head;
    var$3[3] = $java.nms_EnumEnchantmentType_armor_legs;
    var$3[4] = $java.nms_EnumEnchantmentType_armor_torso;
    var$3[5] = $java.nms_EnumEnchantmentType_bow;
    var$3[6] = $java.nms_EnumEnchantmentType_weapon;
    $java.nms_CreativeTabs_func_92116_a($this, $par1List, var$2);
};
function nms_CreativeTabBrewing() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabBrewing_getTabIconItemIndex = function($this) {
    nms_Item_$callClinit();
    return nms_Item_potion.$itemID;
};
function nms_CreativeTabMaterial() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabMaterial_getTabIconItemIndex = function($this) {
    nms_Item_$callClinit();
    return nms_Item_stick.$itemID;
};
function nms_CreativeTabInventory() {
    nms_CreativeTabs.call(this);
}
$java.nms_CreativeTabInventory_getTabIconItemIndex = function($this) {
    nms_Block_$callClinit();
    return nms_Block_chest.$blockID;
};
function nms_PotionHealth() {
    nms_Potion.call(this);
}
$java.nms_PotionHealth_isInstant = function($this) {
    return 1;
};
$java.nms_PotionHealth_isReady = function($this, $par1, $par2) {
    return $par1 < 1 ? 0 : 1;
};
function nms_MaterialTransparent() {
    nms_Material.call(this);
}
$java.nms_MaterialTransparent__init_ = function(var_0) {
    var var_1 = new nms_MaterialTransparent();
    $java.nms_MaterialTransparent__init_0(var_1, var_0);
    return var_1;
};
$java.nms_MaterialTransparent__init_0 = function($this, $par1MapColor) {
    $java.nms_Material__init_0($this, $par1MapColor);
    $java.nms_Material_setReplaceable($this);
};
$java.nms_MaterialTransparent_isSolid = function($this) {
    return 0;
};
$java.nms_MaterialTransparent_getCanBlockGrass = function($this) {
    return 0;
};
$java.nms_MaterialTransparent_blocksMovement = function($this) {
    return 0;
};
function nms_MapColor() {
    var a = this; jl_Object.call(a);
    a.$colorValue = 0;
    a.$colorIndex = 0;
}
var nms_MapColor_mapColorArray = null;
$java.nms_MapColor_airColor = null;
$java.nms_MapColor_grassColor = null;
$java.nms_MapColor_sandColor = null;
$java.nms_MapColor_clothColor = null;
$java.nms_MapColor_tntColor = null;
$java.nms_MapColor_iceColor = null;
$java.nms_MapColor_ironColor = null;
$java.nms_MapColor_foliageColor = null;
$java.nms_MapColor_snowColor = null;
$java.nms_MapColor_clayColor = null;
$java.nms_MapColor_dirtColor = null;
$java.nms_MapColor_stoneColor = null;
$java.nms_MapColor_waterColor = null;
$java.nms_MapColor_woodColor = null;
$java.nms_MapColor__init_ = function(var_0, var_1) {
    var var_2 = new nms_MapColor();
    $java.nms_MapColor__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.nms_MapColor__init_0 = function($this, $par1, $par2) {
    $this.$colorIndex = $par1;
    $this.$colorValue = $par2;
    nms_MapColor_mapColorArray.data[$par1] = $this;
};
function nms_MapColor__clinit_() {
    nms_MapColor_mapColorArray = $rt_createArray(nms_MapColor, 16);
    $java.nms_MapColor_airColor = $java.nms_MapColor__init_(0, 0);
    $java.nms_MapColor_grassColor = $java.nms_MapColor__init_(1, 8368696);
    $java.nms_MapColor_sandColor = $java.nms_MapColor__init_(2, 16247203);
    $java.nms_MapColor_clothColor = $java.nms_MapColor__init_(3, 10987431);
    $java.nms_MapColor_tntColor = $java.nms_MapColor__init_(4, 16711680);
    $java.nms_MapColor_iceColor = $java.nms_MapColor__init_(5, 10526975);
    $java.nms_MapColor_ironColor = $java.nms_MapColor__init_(6, 10987431);
    $java.nms_MapColor_foliageColor = $java.nms_MapColor__init_(7, 31744);
    $java.nms_MapColor_snowColor = $java.nms_MapColor__init_(8, 16777215);
    $java.nms_MapColor_clayColor = $java.nms_MapColor__init_(9, 10791096);
    $java.nms_MapColor_dirtColor = $java.nms_MapColor__init_(10, 12020271);
    $java.nms_MapColor_stoneColor = $java.nms_MapColor__init_(11, 7368816);
    $java.nms_MapColor_waterColor = $java.nms_MapColor__init_(12, 4210943);
    $java.nms_MapColor_woodColor = $java.nms_MapColor__init_(13, 6837042);
}
function nms_MaterialLiquid() {
    nms_Material.call(this);
}
$java.nms_MaterialLiquid__init_ = function(var_0) {
    var var_1 = new nms_MaterialLiquid();
    $java.nms_MaterialLiquid__init_0(var_1, var_0);
    return var_1;
};
$java.nms_MaterialLiquid__init_0 = function($this, $par1MapColor) {
    $java.nms_Material__init_0($this, $par1MapColor);
    $java.nms_Material_setReplaceable($this);
    $java.nms_Material_setNoPushMobility($this);
};
$java.nms_MaterialLiquid_isLiquid = function($this) {
    return 1;
};
$java.nms_MaterialLiquid_blocksMovement = function($this) {
    return 0;
};
$java.nms_MaterialLiquid_isSolid = function($this) {
    return 0;
};
function nms_MaterialLogic() {
    nms_Material.call(this);
}
$java.nms_MaterialLogic__init_ = function(var_0) {
    var var_1 = new nms_MaterialLogic();
    $java.nms_MaterialLogic__init_0(var_1, var_0);
    return var_1;
};
$java.nms_MaterialLogic__init_0 = function($this, $par1MapColor) {
    $java.nms_Material__init_0($this, $par1MapColor);
    $java.nms_Material_setAlwaysHarvested($this);
};
$java.nms_MaterialLogic_isSolid = function($this) {
    return 0;
};
$java.nms_MaterialLogic_getCanBlockGrass = function($this) {
    return 0;
};
$java.nms_MaterialLogic_blocksMovement = function($this) {
    return 0;
};
function nms_MaterialPortal() {
    nms_Material.call(this);
}
$java.nms_MaterialPortal_isSolid = function($this) {
    return 0;
};
$java.nms_MaterialPortal_getCanBlockGrass = function($this) {
    return 0;
};
$java.nms_MaterialPortal_blocksMovement = function($this) {
    return 0;
};
function nms_MaterialWeb() {
    nms_Material.call(this);
}
$java.nms_MaterialWeb_blocksMovement = function($this) {
    return 0;
};
function ju_TreeMap$1() {
    jl_Object.call(this);
    this.$this$041 = null;
}
$java.ju_TreeMap$1_compare = function($this, $o1, $o2) {
    return $o1 === null ? $o2.$compareTo7($o1) : $o1.$compareTo7($o2);
};
function nms_IStatType() {
}
function nms_StatTypeSimple() {
    jl_Object.call(this);
}
$java.nms_StatTypeSimple__init_ = function() {
    var var_0 = new nms_StatTypeSimple();
    nms_StatTypeSimple__init_(var_0);
    return var_0;
};
function nms_StatTypeSimple__init_($this) {
    return;
}
function nms_StatTypeTime() {
    jl_Object.call(this);
}
$java.nms_StatTypeTime__init_ = function() {
    var var_0 = new nms_StatTypeTime();
    nms_StatTypeTime__init_(var_0);
    return var_0;
};
function nms_StatTypeTime__init_($this) {
    return;
}
function nms_StatTypeDistance() {
    jl_Object.call(this);
}
$java.nms_StatTypeDistance__init_ = function() {
    var var_0 = new nms_StatTypeDistance();
    nms_StatTypeDistance__init_(var_0);
    return var_0;
};
function nms_StatTypeDistance__init_($this) {
    return;
}
function ju_Enumeration() {
}
function ju_Hashtable$1() {
    jl_Object.call(this);
}
$java.ju_Hashtable$1__init_ = function() {
    var var_0 = new ju_Hashtable$1();
    ju_Hashtable$1__init_(var_0);
    return var_0;
};
function ju_Hashtable$1__init_($this) {
    return;
}
function ju_Hashtable$2() {
    jl_Object.call(this);
}
$java.ju_Hashtable$2__init_ = function() {
    var var_0 = new ju_Hashtable$2();
    ju_Hashtable$2__init_(var_0);
    return var_0;
};
function ju_Hashtable$2__init_($this) {
    return;
}
function ju_Hashtable$Entry() {
    var a = this; ju_MapEntry.call(a);
    a.$next7 = null;
    a.$hashcode0 = 0;
}
$java.ju_Hashtable$Entry_getKeyHash = function($this) {
    return $this.$key.$hashCode0();
};
$java.ju_Hashtable$Entry_equalsKey = function($this, $aKey, $hash) {
    return $this.$hashcode0 == jl_String_hashCode($aKey) && $this.$key.$equals($aKey) ? 1 : 0;
};
function maat_TMIConfig() {
    jl_Object.call(this);
    this.$settings = null;
}
$java.maat_TMIConfig_isModloaderEnabled = 0;
$java.maat_TMIConfig_instance = null;
$java.maat_TMIConfig_items = null;
$java.maat_TMIConfig_enchantableItems = null;
$java.maat_TMIConfig_favorites = null;
$java.maat_TMIConfig_toolIds = null;
$java.maat_TMIConfig_nonUnlimitedIds = null;
$java.maat_TMIConfig_states = null;
$java.maat_TMIConfig_statesSaved = null;
$java.maat_TMIConfig__init_ = function() {
    var var_0 = new maat_TMIConfig();
    maat_TMIConfig__init_(var_0);
    return var_0;
};
function maat_TMIConfig__init_($this) {
    var $var1, var$2, var$3, var$4;
    $this.$settings = ju_LinkedHashMap__init_0();
    ju_LinkedHashMap_put($this.$settings, $rt_s(1265), $rt_s(2532));
    ju_LinkedHashMap_put($this.$settings, $rt_s(2533), $rt_s(2532));
    ju_LinkedHashMap_put($this.$settings, $rt_s(2534), $rt_s(2535));
    ju_LinkedHashMap_put($this.$settings, $rt_s(2536), $rt_s(2537));
    ju_LinkedHashMap_put($this.$settings, $rt_s(2538), $rt_s(2539));
    $var1 = 0;
    while ($var1 < 7) {
        var$2 = $this.$settings;
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $rt_s(2540));
        $var1 = $var1 + 1 | 0;
        jl_AbstractStringBuilder_append2(var$3, $var1);
        var$4 = jl_AbstractStringBuilder_toString(var$3);
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $rt_s(36));
        jl_AbstractStringBuilder_append2(var$3, $var1);
        ju_LinkedHashMap_put(var$2, var$4, jl_AbstractStringBuilder_toString(var$3));
    }
    ju_LinkedHashMap_put($this.$settings, $rt_s(2541), $rt_s(2532));
    $java.maat_TMIConfig_instance = $this;
}
$java.maat_TMIConfig_isMultiplayer = function() {
    return 1;
};
function maat_TMIConfig_getInstance() {
    if ($java.maat_TMIConfig_instance === null)
        maat_TMIConfig__init_(new maat_TMIConfig);
    return $java.maat_TMIConfig_instance;
}
$java.maat_TMIConfig_getSettings = function($this) {
    return $this.$settings;
};
$java.maat_TMIConfig_getItems = function($this) {
    return $java.maat_TMIConfig_items;
};
$java.maat_TMIConfig_getEnchantableItems = function($this) {
    return $java.maat_TMIConfig_enchantableItems;
};
$java.maat_TMIConfig_getHotkey = function($this) {
    var $var1, $i;
    $var1 = $java.ju_LinkedHashMap_get($this.$settings, $rt_s(2538));
    $i = 0;
    a: {
        while (true) {
            if ($i >= 256) {
                $i = 0;
                break a;
            }
            if (jl_String_equals(jl_String_toUpperCase($var1), nlea_EaglerAdapterImpl2_getKeyName($i)))
                break;
            $i = $i + 1 | 0;
        }
    }
    if (!$i)
        $i = 24;
    return $i;
};
$java.maat_TMIConfig_getNumSaves = function($this) {
    return 7;
};
$java.maat_TMIConfig_isStateSaved = function($this, $var1) {
    return $java.maat_TMIConfig_statesSaved.data[$var1];
};
$java.maat_TMIConfig_getState = function($this, $var1) {
    return $java.maat_TMIConfig_states.data[$var1];
};
$java.maat_TMIConfig_getBooleanSetting = function($this, $var1) {
    return $java.jl_Boolean_parseBoolean($java.ju_LinkedHashMap_get($this.$settings, $var1));
};
function maat_TMIConfig_isEnabled($this) {
    return !$java.maat_TMIConfig_getBooleanSetting($this, $rt_s(2533)) ? 0 : 1;
}
$java.maat_TMIConfig_toggleEnabled = function($this) {
    ju_LinkedHashMap_put($this.$settings, $rt_s(2533), $java.jl_Boolean_toString($java.maat_TMIConfig_getBooleanSetting($this, $rt_s(2533)) ? 0 : 1));
};
$java.maat_TMIConfig_setEnabled = function($this, $var1) {
    ju_LinkedHashMap_put($this.$settings, $rt_s(2533), $java.jl_Boolean_toString($var1));
};
$java.maat_TMIConfig_areDamageVariantsShown = function($this) {
    return jl_String_contains($java.ju_LinkedHashMap_get($this.$settings, $rt_s(2536)), $rt_s(2542));
};
$java.maat_TMIConfig_clearState = function($this, $var1) {
    var $var2, var$3, var$4;
    $var2 = 0;
    while ($var2 < 44) {
        $java.maat_TMIConfig_states.data[$var1].data[$var2] = null;
        $java.maat_TMIConfig_statesSaved.data[$var1] = 0;
        $var2 = $var2 + 1 | 0;
    }
    var$3 = $this.$settings;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, $rt_s(2543));
    jl_AbstractStringBuilder_append2(var$4, $var1 + 1 | 0);
    ju_LinkedHashMap_put(var$3, jl_AbstractStringBuilder_toString(var$4), $rt_s(36));
};
$java.maat_TMIConfig_loadState = function($this, $var1) {
    var $var5, $var2, $var3, $var4, var$6, $$je;
    a: {
        if ($java.maat_TMIConfig_statesSaved.data[$var1]) {
            b: {
                try {
                    if (nmc_Minecraft_getMinecraft().$currentScreen instanceof nms_GuiContainerCreative)
                        $java.nms_GuiContainerCreative_setCurrentCreativeTab(nmc_Minecraft_getMinecraft().$currentScreen, $java.nms_CreativeTabs_tabInventory);
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var5 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                ji_PrintStream_println1(jl_System_out(), $var5);
            }
            $var2 = $java.maat_TMIUtils_getPlayer().$inventory.$mainInventory;
            $var3 = $java.maat_TMIUtils_getPlayer().$inventory.$armorInventory;
            $var4 = 0;
            while ($var4 < 4) {
                $var3.data[$var4] = $java.maat_TMIUtils_copyStack($java.maat_TMIConfig_states.data[$var1].data[$var4 + 4 | 0]);
                $var4 = $var4 + 1 | 0;
            }
            $var4 = 0;
            while ($var4 < 27) {
                $var2.data[$var4 + 9 | 0] = $java.maat_TMIUtils_copyStack($java.maat_TMIConfig_states.data[$var1].data[$var4 + 8 | 0]);
                $var4 = $var4 + 1 | 0;
            }
            var$6 = 0;
            while (true) {
                if (var$6 >= 9)
                    break a;
                $var2.data[var$6] = $java.maat_TMIUtils_copyStack($java.maat_TMIConfig_states.data[$var1].data[(var$6 + 8 | 0) + 27 | 0]);
                var$6 = var$6 + 1 | 0;
            }
        }
    }
};
$java.maat_TMIConfig_saveState = function($this, $var1) {
    var $var2, $var3, $var4, var$5, var$6, var$7, var$8;
    $var2 = $java.maat_TMIUtils_getPlayer().$inventory.$mainInventory;
    $var3 = $java.maat_TMIUtils_getPlayer().$inventory.$armorInventory;
    $var4 = 0;
    while ($var4 < 4) {
        var$5 = $var3.data;
        $java.maat_TMIConfig_states.data[$var1].data[$var4 + 4 | 0] = $java.maat_TMIUtils_copyStack(var$5[$var4]);
        $var4 = $var4 + 1 | 0;
    }
    $var4 = 0;
    while ($var4 < 27) {
        var$5 = $var2.data;
        $java.maat_TMIConfig_states.data[$var1].data[$var4 + 8 | 0] = $java.maat_TMIUtils_copyStack(var$5[$var4 + 9 | 0]);
        $var4 = $var4 + 1 | 0;
    }
    var$6 = 0;
    while (var$6 < 9) {
        var$5 = $var2.data;
        $java.maat_TMIConfig_states.data[$var1].data[(var$6 + 8 | 0) + 27 | 0] = $java.maat_TMIUtils_copyStack(var$5[var$6]);
        var$6 = var$6 + 1 | 0;
    }
    var$7 = $this.$settings;
    var$8 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$8);
    jl_AbstractStringBuilder_append(var$8, $rt_s(2543));
    jl_AbstractStringBuilder_append2(var$8, $var1 + 1 | 0);
    ju_LinkedHashMap_put(var$7, jl_AbstractStringBuilder_toString(var$8), $java.maat_TMIConfig_encodeState($this, $var1));
    $java.maat_TMIConfig_statesSaved.data[$var1] = 1;
};
$java.maat_TMIConfig_encodeState = function($this, $var1) {
    var $var2, $var3, $var5, $var6, $var7, $var8, $var4;
    $var2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var2);
    $var3 = 0;
    while ($var3 < 44) {
        a: {
            if ($java.maat_TMIConfig_states.data[$var1].data[$var3] !== null) {
                jl_AbstractStringBuilder_append2($var2, $java.maat_TMIConfig_states.data[$var1].data[$var3].$itemID0);
                jl_AbstractStringBuilder_append($var2, $rt_s(272));
                jl_AbstractStringBuilder_append2($var2, $java.maat_TMIConfig_states.data[$var1].data[$var3].$stackSize);
                jl_AbstractStringBuilder_append($var2, $rt_s(272));
                jl_AbstractStringBuilder_append2($var2, $java.maat_TMIConfig_states.data[$var1].data[$var3].$itemDamage);
                $var5 = ju_AbstractList_iterator($java.maat_TMIUtils_getEnchantments($java.maat_TMIConfig_states.data[$var1].data[$var3]));
                while (true) {
                    if (!ju_AbstractList$1_hasNext($var5))
                        break a;
                    $var6 = ju_AbstractList$1_next($var5).data;
                    $var7 = $var6[0];
                    $var8 = $var6[1];
                    $var4 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var4);
                    jl_AbstractStringBuilder_append($var4, $rt_s(272));
                    jl_AbstractStringBuilder_append2($var4, $var7);
                    jl_AbstractStringBuilder_append($var4, $rt_s(272));
                    jl_AbstractStringBuilder_append2($var4, $var8);
                    jl_AbstractStringBuilder_append($var2, jl_AbstractStringBuilder_toString($var4));
                }
            }
        }
        jl_AbstractStringBuilder_append($var2, $rt_s(273));
        $var3 = $var3 + 1 | 0;
    }
    return jl_AbstractStringBuilder_toString($var2);
};
$java.maat_TMIConfig_decodeState = function($this, $var1, $var2) {
    var $var3, $var4, var$5, $var5, var$7, $var6, $var9, $var7, $var8, $$je;
    if (jl_String_equals(jl_String_trim($var2), $rt_s(36)))
        $java.maat_TMIConfig_statesSaved.data[$var1] = 0;
    else {
        $var3 = jl_String_split0($var2, $rt_s(273), 0);
        $var4 = 0;
        while (true) {
            var$5 = $var3.data;
            if ($var4 >= var$5.length)
                break;
            if ($var4 >= $java.maat_TMIConfig_states.data[$var1].data.length)
                break;
            a: {
                $var5 = jl_String_split(var$5[$var4], $rt_s(272)).data;
                var$7 = $var5.length;
                if (var$7 >= 3) {
                    b: {
                        try {
                            $java.maat_TMIConfig_states.data[$var1].data[$var4] = nms_ItemStack__init_0(jl_Integer_parseInt($var5[0]), jl_Integer_parseInt($var5[1]), jl_Integer_parseInt($var5[2]));
                            $var6 = 3;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Exception) {
                                $var9 = $$je;
                                break b;
                            } else {
                                throw $$e;
                            }
                        }
                        var$7 = var$7 - 1 | 0;
                        while (true) {
                            try {
                                if ($var6 >= var$7)
                                    break;
                                $var7 = jl_Integer_parseInt($var5[$var6]);
                                $var8 = jl_Integer_parseInt($var5[$var6 + 1 | 0]);
                                $java.maat_TMIUtils_addEnchantment($java.maat_TMIConfig_states.data[$var1].data[$var4], $var7, $var8);
                                $var6 = $var6 + 2 | 0;
                                continue;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_Exception) {
                                    $var9 = $$je;
                                    break b;
                                } else {
                                    throw $$e;
                                }
                            }
                        }
                        break a;
                    }
                    ji_PrintStream_println1(jl_System_out(), $var9);
                }
            }
            $var4 = $var4 + 1 | 0;
        }
        $java.maat_TMIConfig_statesSaved.data[$var1] = 1;
    }
};
$java.maat_TMIConfig_getFavorites = function($this) {
    return $java.maat_TMIConfig_favorites;
};
$java.maat_TMIConfig_decodeFavorites = function($this) {
    var $var1, $var3, $var4, $var6, var$5, $var7, $var8, $var9, $var10, $var13, $$je;
    ju_ArrayList_clear($java.maat_TMIConfig_favorites);
    $var1 = jl_String_split0(jl_String_trim($java.ju_LinkedHashMap_get($this.$settings, $rt_s(2544))), $rt_s(273), 0).data;
    $var3 = $var1.length;
    $var4 = 0;
    while ($var4 < $var3) {
        a: {
            $var6 = jl_String_split($var1[$var4], $rt_s(272)).data;
            var$5 = $var6.length;
            if (var$5 >= 2) {
                b: {
                    try {
                        $var7 = jl_Integer_parseInt($var6[0]);
                        $var8 = jl_Integer_parseInt($var6[1]);
                        $var9 = nms_ItemStack__init_0($var7, $java.maat_TMIUtils_maxStackSize($var7), $var8);
                        $var10 = 2;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var13 = $$je;
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                    var$5 = var$5 - 1 | 0;
                    while (true) {
                        try {
                            if ($var10 >= var$5)
                                break;
                            $java.maat_TMIUtils_addEnchantment($var9, jl_Integer_parseInt($var6[$var10]), jl_Integer_parseInt($var6[$var10 + 1 | 0]));
                            $var10 = $var10 + 2 | 0;
                            continue;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Exception) {
                                $var13 = $$je;
                                break b;
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    try {
                        ju_ArrayList_add($java.maat_TMIConfig_favorites, $var9);
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            $var13 = $$je;
                        } else {
                            throw $$e;
                        }
                    }
                }
                ji_PrintStream_println1(jl_System_out(), $var13);
            }
        }
        $var4 = $var4 + 1 | 0;
    }
};
$java.maat_TMIConfig_canDelete = function() {
    return 0;
};
$java.maat_TMIConfig_canChangeWeather = function() {
    return $java.maat_TMIConfig_getBooleanSetting(maat_TMIConfig_getInstance(), $rt_s(2534)) ? 0 : 1;
};
$java.maat_TMIConfig_canChangeCreativeMode = function() {
    return $java.maat_TMIConfig_getBooleanSetting(maat_TMIConfig_getInstance(), $rt_s(2534)) ? 0 : 1;
};
$java.maat_TMIConfig_canChangeTime = function() {
    return $java.maat_TMIConfig_getBooleanSetting(maat_TMIConfig_getInstance(), $rt_s(2534)) ? 0 : 1;
};
$java.maat_TMIConfig_canRestoreSaves = function() {
    return 0;
};
$java.maat_TMIConfig_canChangeDifficulty = function() {
    return 0;
};
function maat_TMIConfig__clinit_() {
    var $var0;
    $java.maat_TMIConfig_isModloaderEnabled = 0;
    $java.maat_TMIConfig_items = ju_ArrayList__init_0();
    $java.maat_TMIConfig_enchantableItems = ju_ArrayList__init_0();
    $java.maat_TMIConfig_favorites = ju_ArrayList__init_0();
    $java.maat_TMIConfig_toolIds = ju_HashSet__init_0();
    $var0 = 0;
    while ($var0 <= 3) {
        ju_HashSet_add($java.maat_TMIConfig_toolIds, jl_Integer_valueOf($java.maat_TMIItemInfo_addItemOffset($var0)));
        $var0 = $var0 + 1 | 0;
    }
    $var0 = 11;
    while ($var0 <= 23) {
        ju_HashSet_add($java.maat_TMIConfig_toolIds, jl_Integer_valueOf($java.maat_TMIItemInfo_addItemOffset($var0)));
        $var0 = $var0 + 1 | 0;
    }
    $var0 = 27;
    while ($var0 <= 30) {
        ju_HashSet_add($java.maat_TMIConfig_toolIds, jl_Integer_valueOf($java.maat_TMIItemInfo_addItemOffset($var0)));
        $var0 = $var0 + 1 | 0;
    }
    $var0 = 34;
    while ($var0 <= 38) {
        ju_HashSet_add($java.maat_TMIConfig_toolIds, jl_Integer_valueOf($java.maat_TMIItemInfo_addItemOffset($var0)));
        $var0 = $var0 + 1 | 0;
    }
    $var0 = 42;
    while ($var0 <= 61) {
        ju_HashSet_add($java.maat_TMIConfig_toolIds, jl_Integer_valueOf($java.maat_TMIItemInfo_addItemOffset($var0)));
        $var0 = $var0 + 1 | 0;
    }
    ju_HashSet_add($java.maat_TMIConfig_toolIds, jl_Integer_valueOf($java.maat_TMIItemInfo_addItemOffset(103)));
    ju_HashSet_add($java.maat_TMIConfig_toolIds, jl_Integer_valueOf($java.maat_TMIItemInfo_addItemOffset(90)));
    ju_HashSet_add($java.maat_TMIConfig_toolIds, jl_Integer_valueOf($java.maat_TMIItemInfo_addItemOffset(5)));
    $java.maat_TMIConfig_nonUnlimitedIds = ju_HashSet__init_0();
    ju_HashSet_add($java.maat_TMIConfig_nonUnlimitedIds, jl_Integer_valueOf($java.maat_TMIItemInfo_addItemOffset(102)));
    $java.maat_TMIConfig_states = $rt_createMultiArray($rt_arraycls($rt_arraycls(nms_ItemStack)), [44, 7]);
    $java.maat_TMIConfig_statesSaved = $rt_createBooleanArray(7);
}
function maat_TMIItemInfo() {
    jl_Object.call(this);
}
$java.maat_TMIItemInfo_fallbackNames = null;
$java.maat_TMIItemInfo_maxDamageExceptions = null;
$java.maat_TMIItemInfo_hideItems = null;
$java.maat_TMIItemInfo_showItems = null;
$java.maat_TMIItemInfo_tools = null;
$java.maat_TMIItemInfo_nonUnlimited = null;
$java.maat_TMIItemInfo_potionValues = null;
$java.maat_TMIItemInfo_itemOffset = 0;
$java.maat_TMIItemInfo_excludedSpawnerIds = null;
$java.maat_TMIItemInfo_$callClinit = function() {
    $java.maat_TMIItemInfo_$callClinit = $rt_eraseClinit(maat_TMIItemInfo);
    $java.maat_TMIItemInfo__clinit_();
};
$java.maat_TMIItemInfo__init_ = function() {
    var var_0 = new maat_TMIItemInfo();
    maat_TMIItemInfo__init_(var_0);
    return var_0;
};
function maat_TMIItemInfo__init_($this) {
    $java.maat_TMIItemInfo_$callClinit();
}
$java.maat_TMIItemInfo_hideItem = function($var0) {
    $java.maat_TMIItemInfo_$callClinit();
    ju_HashSet_add($java.maat_TMIItemInfo_hideItems, jl_Integer_valueOf($var0));
};
$java.maat_TMIItemInfo_isHidden = function($var0) {
    $java.maat_TMIItemInfo_$callClinit();
    return ju_HashSet_contains($java.maat_TMIItemInfo_hideItems, jl_Integer_valueOf($var0));
};
$java.maat_TMIItemInfo_addFallbackName = function($var0, $var1, $var2) {
    $java.maat_TMIItemInfo_$callClinit();
    ju_HashMap_putImpl($java.maat_TMIItemInfo_fallbackNames, jl_Integer_valueOf($java.maat_TMIItemInfo_packItemIDAndDamage($var0, $var1)), $var2);
};
$java.maat_TMIItemInfo_getFallbackName = function($var0, $var1) {
    var $var2;
    $java.maat_TMIItemInfo_$callClinit();
    $var2 = $java.maat_TMIItemInfo_packItemIDAndDamage($var0, $var1);
    return !ju_HashMap_containsKey($java.maat_TMIItemInfo_fallbackNames, jl_Integer_valueOf($var2)) ? $rt_s(2545) : ju_HashMap_get($java.maat_TMIItemInfo_fallbackNames, jl_Integer_valueOf($var2));
};
$java.maat_TMIItemInfo_getMaxDamageException = function($var0) {
    $java.maat_TMIItemInfo_$callClinit();
    return !ju_HashMap_containsKey($java.maat_TMIItemInfo_maxDamageExceptions, jl_Integer_valueOf($var0)) ? 0 : ju_HashMap_get($java.maat_TMIItemInfo_maxDamageExceptions, jl_Integer_valueOf($var0)).$value;
};
$java.maat_TMIItemInfo_packItemIDAndDamage = function($var0, $var1) {
    $java.maat_TMIItemInfo_$callClinit();
    return ($var0 << 8) + $var1 | 0;
};
$java.maat_TMIItemInfo_showItemWithDamageRange = function($var0, $var3, $var2) {
    $java.maat_TMIItemInfo_$callClinit();
    while ($var3 <= $var2) {
        ju_HashSet_add($java.maat_TMIItemInfo_showItems, jl_Integer_valueOf($java.maat_TMIItemInfo_packItemIDAndDamage($var0, $var3)));
        $var3 = $var3 + 1 | 0;
    }
};
$java.maat_TMIItemInfo_isShown = function($var0, $var1) {
    $java.maat_TMIItemInfo_$callClinit();
    return ju_HashSet_contains($java.maat_TMIItemInfo_showItems, jl_Integer_valueOf($java.maat_TMIItemInfo_packItemIDAndDamage($var0, $var1)));
};
$java.maat_TMIItemInfo_addItemOffset = function($var0) {
    $java.maat_TMIItemInfo_$callClinit();
    nms_Item_$callClinit();
    return $var0 + nms_Item_shovelIron.$itemID | 0;
};
$java.maat_TMIItemInfo__clinit_ = function() {
    var $var0, $var2, $var3, $var4, $var5;
    $java.maat_TMIItemInfo_fallbackNames = ju_HashMap__init_();
    $java.maat_TMIItemInfo_maxDamageExceptions = ju_HashMap__init_();
    $java.maat_TMIItemInfo_hideItems = ju_HashSet__init_0();
    $java.maat_TMIItemInfo_showItems = ju_HashSet__init_0();
    $java.maat_TMIItemInfo_tools = ju_HashSet__init_0();
    $java.maat_TMIItemInfo_nonUnlimited = ju_HashSet__init_0();
    $java.maat_TMIItemInfo_potionValues = ju_ArrayList__init_0();
    $java.maat_TMIItemInfo_itemOffset = $java.maat_TMIItemInfo_addItemOffset(0);
    $java.maat_TMIItemInfo_excludedSpawnerIds = ju_HashSet__init_0();
    $var0 = $rt_createIntArray(57).data;
    $var0[0] = 0;
    $var0[1] = 16;
    $var0[2] = 32;
    $var0[3] = 64;
    $var0[4] = 8192;
    $var0[5] = 8193;
    $var0[6] = 8194;
    $var0[7] = 8195;
    $var0[8] = 8196;
    $var0[9] = 8197;
    $var0[10] = 8198;
    $var0[11] = 8200;
    $var0[12] = 8201;
    $var0[13] = 8202;
    $var0[14] = 8204;
    $var0[15] = 8206;
    $var0[16] = 8225;
    $var0[17] = 8226;
    $var0[18] = 8228;
    $var0[19] = 8229;
    $var0[20] = 8233;
    $var0[21] = 8236;
    $var0[22] = 8257;
    $var0[23] = 8258;
    $var0[24] = 8259;
    $var0[25] = 8260;
    $var0[26] = 8262;
    $var0[27] = 8264;
    $var0[28] = 8265;
    $var0[29] = 8266;
    $var0[30] = 8270;
    $var0[31] = 16385;
    $var0[32] = 16386;
    $var0[33] = 16387;
    $var0[34] = 16388;
    $var0[35] = 16389;
    $var0[36] = 16390;
    $var0[37] = 16392;
    $var0[38] = 16393;
    $var0[39] = 16394;
    $var0[40] = 16396;
    $var0[41] = 16398;
    $var0[42] = 16417;
    $var0[43] = 16418;
    $var0[44] = 16420;
    $var0[45] = 16421;
    $var0[46] = 16425;
    $var0[47] = 16428;
    $var0[48] = 16449;
    $var0[49] = 16450;
    $var0[50] = 16451;
    $var0[51] = 16452;
    $var0[52] = 16454;
    $var0[53] = 16456;
    $var0[54] = 16457;
    $var0[55] = 16458;
    $var0[56] = 16462;
    $var2 = $var0.length;
    $var3 = 0;
    while ($var3 < $var2) {
        $var4 = $var0[$var3];
        ju_ArrayList_add($java.maat_TMIItemInfo_potionValues, jl_Integer_valueOf($var4));
        $var3 = $var3 + 1 | 0;
    }
    $java.maat_TMIItemInfo_showItemWithDamageRange(6, 0, 3);
    $java.maat_TMIItemInfo_showItemWithDamageRange(18, 0, 3);
    $java.maat_TMIItemInfo_showItemWithDamageRange(43, 0, 0);
    $java.maat_TMIItemInfo_showItemWithDamageRange($java.maat_TMIItemInfo_addItemOffset(66), 0, 1);
    $java.maat_TMIItemInfo_showItemWithDamageRange(78, 0, 7);
    $java.maat_TMIItemInfo_showItemWithDamageRange(59, 7, 7);
    $java.maat_TMIItemInfo_showItemWithDamageRange(104, 7, 7);
    $java.maat_TMIItemInfo_showItemWithDamageRange(105, 7, 7);
    $java.maat_TMIItemInfo_showItemWithDamageRange(115, 7, 7);
    $java.maat_TMIItemInfo_addFallbackName(104, 0, $rt_s(2546));
    $java.maat_TMIItemInfo_addFallbackName(105, 0, $rt_s(2547));
    $java.maat_TMIItemInfo_addFallbackName(104, 7, $rt_s(2546));
    $java.maat_TMIItemInfo_addFallbackName(105, 7, $rt_s(2547));
    $java.maat_TMIItemInfo_addFallbackName(119, 0, $rt_s(2548));
    $java.maat_TMIItemInfo_addFallbackName(52, 0, $rt_s(2549));
    $var5 = ju_TreeSet_iterator($java.maat_TMIPrivateFields_getSpawnerEntityIdSet());
    while ($var5.$hasNext()) {
        $var2 = jl_Integer_intValue($var5.$next());
        $java.maat_TMIItemInfo_addFallbackName(52, $var2, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), nms_EntityList_getStringFromID($var2)), $rt_s(2550))));
    }
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(1));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(9));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(12));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(13));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(15));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(18));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(19));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(21));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(22));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(53));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(48));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(49));
    ju_HashSet_add($java.maat_TMIItemInfo_excludedSpawnerIds, jl_Integer_valueOf(200));
    $java.maat_TMIItemInfo_hideItem(26);
    $java.maat_TMIItemInfo_hideItem(34);
    $java.maat_TMIItemInfo_hideItem(36);
    $java.maat_TMIItemInfo_hideItem(55);
    $java.maat_TMIItemInfo_hideItem(63);
    $java.maat_TMIItemInfo_hideItem(64);
    $java.maat_TMIItemInfo_hideItem(68);
    $java.maat_TMIItemInfo_hideItem(71);
    $java.maat_TMIItemInfo_hideItem(74);
    $java.maat_TMIItemInfo_hideItem(83);
    $java.maat_TMIItemInfo_hideItem(93);
    $java.maat_TMIItemInfo_hideItem(94);
    $java.maat_TMIItemInfo_hideItem(95);
    $java.maat_TMIItemInfo_hideItem(117);
    $java.maat_TMIItemInfo_hideItem(118);
    $java.maat_TMIItemInfo_hideItem(127);
    $java.maat_TMIItemInfo_hideItem(132);
    $java.maat_TMIItemInfo_hideItem(141);
    $java.maat_TMIItemInfo_hideItem(142);
    $java.maat_TMIItemInfo_hideItem($java.maat_TMIItemInfo_addItemOffset(117));
    $java.maat_TMIItemInfo_hideItem($java.maat_TMIItemInfo_addItemOffset(147));
};
function maat_TMIPrivateFields() {
    jl_Object.call(this);
}
$java.maat_TMIPrivateFields__init_ = function() {
    var var_0 = new maat_TMIPrivateFields();
    maat_TMIPrivateFields__init_(var_0);
    return var_0;
};
function maat_TMIPrivateFields__init_($this) {
    return;
}
$java.maat_TMIPrivateFields_getSpawnerEntityIdSet = function() {
    var $var0, $var1, $var2, $var3, $retval, $$je;
    a: {
        try {
            $var0 = ju_TreeSet__init_0(ju_HashMap_keySet(nms_EntityList_IDtoClassMapping));
            $java.maat_TMIItemInfo_$callClinit();
            $var1 = ju_HashSet_iterator($java.maat_TMIItemInfo_excludedSpawnerIds);
            while ($var1.$hasNext()) {
                $var2 = $var1.$next();
                if (ju_AbstractCollection_contains($var0, $var2))
                    $java.ju_TreeSet_remove($var0, $var2);
            }
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var3 = $$je;
                break a;
            } else {
                throw $$e;
            }
        }
        return $var0;
    }
    ji_PrintStream_println1(jl_System_out(), $var3);
    $retval = $java.ju_TreeSet__init_();
    $java.ju_TreeSet_add($retval, jl_Integer_valueOf(0));
    return $retval;
};
function ju_SortedSet() {
}
function ju_NavigableSet() {
}
function ju_TreeSet() {
    ju_AbstractSet.call(this);
    this.$map0 = null;
}
$java.ju_TreeSet_VALUE = null;
$java.ju_TreeSet__init_ = function() {
    var var_0 = new ju_TreeSet();
    ju_TreeSet__init_(var_0);
    return var_0;
};
function ju_TreeSet__init_0(var_0) {
    var var_1 = new ju_TreeSet();
    $java.ju_TreeSet__init_0(var_1, var_0);
    return var_1;
}
function ju_TreeSet__init_($this) {
    $this.$map0 = ju_TreeMap__init_0();
}
$java.ju_TreeSet__init_0 = function($this, $coll) {
    var $iter;
    $this.$map0 = ju_TreeMap__init_0();
    $iter = $coll.$iterator();
    while ($iter.$hasNext()) {
        ju_TreeMap_put($this.$map0, $iter.$next(), $java.ju_TreeSet_VALUE);
    }
};
function ju_TreeSet_iterator($this) {
    return ju_AbstractMap_keySet($this.$map0).$iterator();
}
$java.ju_TreeSet_add = function($this, $e) {
    return ju_TreeMap_put($this.$map0, $e, $e) === $java.ju_TreeSet_VALUE ? 0 : 1;
};
$java.ju_TreeSet_remove = function($this, $o) {
    return $java.ju_TreeMap_remove($this.$map0, $o) !== $java.ju_TreeSet_VALUE ? 0 : 1;
};
function ju_TreeSet__clinit_() {
    $java.ju_TreeSet_VALUE = new jl_Object;
}
function ju_HashMap$AbstractMapIterator() {
    var a = this; jl_Object.call(a);
    a.$position1 = 0;
    a.$expectedModCount = 0;
    a.$futureEntry = null;
    a.$currentEntry = null;
    a.$prevEntry = null;
    a.$associatedMap = null;
}
$java.ju_HashMap$AbstractMapIterator__init_ = function(var_0) {
    var var_1 = new ju_HashMap$AbstractMapIterator();
    ju_HashMap$AbstractMapIterator__init_(var_1, var_0);
    return var_1;
};
function ju_HashMap$AbstractMapIterator__init_($this, $hm) {
    $this.$associatedMap = $hm;
    $this.$expectedModCount = $hm.$modCount1;
    $this.$futureEntry = null;
}
function ju_HashMap$AbstractMapIterator_hasNext($this) {
    if ($this.$futureEntry !== null)
        return 1;
    while ($this.$position1 < $this.$associatedMap.$elementData.data.length) {
        if ($this.$associatedMap.$elementData.data[$this.$position1] !== null)
            return 1;
        $this.$position1 = $this.$position1 + 1 | 0;
    }
    return 0;
}
$java.ju_HashMap$AbstractMapIterator_checkConcurrentMod = function($this) {
    var var$1;
    if ($this.$expectedModCount == $this.$associatedMap.$modCount1)
        return;
    var$1 = new ju_ConcurrentModificationException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
};
$java.ju_HashMap$AbstractMapIterator_makeNext = function($this) {
    var var$1, var$2, var$3;
    $java.ju_HashMap$AbstractMapIterator_checkConcurrentMod($this);
    if (!ju_HashMap$AbstractMapIterator_hasNext($this)) {
        var$1 = new ju_NoSuchElementException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    if ($this.$futureEntry === null) {
        var$2 = $this.$associatedMap.$elementData.data;
        var$3 = $this.$position1;
        $this.$position1 = var$3 + 1 | 0;
        $this.$currentEntry = var$2[var$3];
        $this.$futureEntry = $this.$currentEntry.$next2;
        $this.$prevEntry = null;
    } else {
        if ($this.$currentEntry !== null)
            $this.$prevEntry = $this.$currentEntry;
        $this.$currentEntry = $this.$futureEntry;
        $this.$futureEntry = $this.$futureEntry.$next2;
    }
};
function ju_HashMap$AbstractMapIterator_remove($this) {
    var var$1, $index;
    $java.ju_HashMap$AbstractMapIterator_checkConcurrentMod($this);
    if ($this.$currentEntry === null) {
        var$1 = new jl_IllegalStateException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    if ($this.$prevEntry !== null)
        $this.$prevEntry.$next2 = $this.$currentEntry.$next2;
    else {
        $index = $this.$currentEntry.$origKeyHash & ($this.$associatedMap.$elementData.data.length - 1 | 0);
        $this.$associatedMap.$elementData.data[$index] = $this.$associatedMap.$elementData.data[$index].$next2;
    }
    $this.$currentEntry = null;
    $this.$expectedModCount = $this.$expectedModCount + 1 | 0;
    var$1 = $this.$associatedMap;
    var$1.$modCount1 = var$1.$modCount1 + 1 | 0;
    var$1 = $this.$associatedMap;
    var$1.$elementCount = var$1.$elementCount - 1 | 0;
}
function ju_HashMap$ValueIterator() {
    ju_HashMap$AbstractMapIterator.call(this);
}
$java.ju_HashMap$ValueIterator_next = function($this) {
    $java.ju_HashMap$AbstractMapIterator_makeNext($this);
    return $this.$currentEntry.$value1;
};
function jl_ArithmeticException() {
    jl_RuntimeException.call(this);
}
$java.jl_ArithmeticException__init_ = function() {
    var var_0 = new jl_ArithmeticException();
    jl_ArithmeticException__init_(var_0);
    return var_0;
};
function jl_ArithmeticException__init_($this) {
    jl_Throwable__init_0($this);
}
function jnc_CharacterCodingException() {
    ji_IOException.call(this);
}
$java.jnc_CharacterCodingException__init_ = function() {
    var var_0 = new jnc_CharacterCodingException();
    jnc_CharacterCodingException__init_(var_0);
    return var_0;
};
function jnc_CharacterCodingException__init_($this) {
    jl_Throwable__init_0($this);
}
function jnci_BufferedDecoder() {
    jnc_CharsetDecoder.call(this);
}
$java.jnci_BufferedDecoder_decodeLoop = function($this, $in, $out) {
    var $inArray, var$4, $inPos, $inSize, $outArray, var$8, $i, $outSize, var$11, $controller;
    $inArray = $rt_createByteArray(jl_Math_min(jn_Buffer_remaining($in), 512));
    var$4 = $inArray.data;
    $inPos = 0;
    $inSize = 0;
    $outArray = $rt_createCharArray(jl_Math_min(jn_Buffer_remaining($out), 512));
    var$8 = $outArray.data;
    a: {
        while (true) {
            if (($inPos + 32 | 0) > $inSize && jn_Buffer_hasRemaining($in)) {
                $i = $inPos;
                while ($i < $inSize) {
                    var$4[$i - $inPos | 0] = var$4[$i];
                    $i = $i + 1 | 0;
                }
                $outSize = $inSize - $inPos | 0;
                $inSize = jl_Math_min(jn_Buffer_remaining($in) + $outSize | 0, var$4.length);
                jn_ByteBuffer_get0($in, $inArray, $outSize, $inSize - $outSize | 0);
                $inPos = 0;
            }
            if (!jn_Buffer_hasRemaining($out)) {
                var$11 = !jn_Buffer_hasRemaining($in) && $inPos >= $inSize ? jnc_CoderResult_UNDERFLOW : jnc_CoderResult_OVERFLOW;
                break a;
            }
            $outSize = jl_Math_min(jn_Buffer_remaining($out), var$8.length);
            $controller = new jnci_BufferedDecoder$Controller;
            $controller.$in1 = $in;
            $controller.$out2 = $out;
            var$11 = $java.jnci_UTF8Decoder_arrayDecode($this, $inArray, $inPos, $inSize, $outArray, 0, $outSize, $controller);
            $inPos = $controller.$inPosition0;
            if (var$11 === null && 0 == $controller.$outPosition0)
                var$11 = jnc_CoderResult_UNDERFLOW;
            jn_CharBuffer_put($out, $outArray, 0, $controller.$outPosition0);
            if (var$11 !== null)
                break;
        }
    }
    jn_Buffer_position0($in, $in.$position - ($inSize - $inPos | 0) | 0);
    return var$11;
};
function jnci_UTF8Decoder() {
    jnci_BufferedDecoder.call(this);
}
$java.jnci_UTF8Decoder_arrayDecode = function($this, $inArray, $inPos, $inSize, $outArray, $outPos, $outSize, $controller) {
    var $result, var$9, $b2, $b, $b2_0, $b4, $b3, $c, $code;
    $result = null;
    a: {
        b: {
            c: {
                while ($inPos < $inSize) {
                    if ($outPos >= $outSize)
                        break a;
                    var$9 = $inArray.data;
                    $b2 = $inPos + 1 | 0;
                    $b = var$9[$inPos] & 255;
                    if (!($b & 128)) {
                        var$9 = $outArray.data;
                        $b2_0 = $outPos + 1 | 0;
                        var$9[$outPos] = $b & 65535;
                    } else if (($b & 224) == 192) {
                        if ($b2 >= $inSize) {
                            $inPos = $b2 + (-1) | 0;
                            if ($java.jnci_BufferedDecoder$Controller_hasMoreInput($controller))
                                break a;
                            $result = jnc_CoderResult_UNDERFLOW;
                            break a;
                        }
                        $b4 = $b2 + 1 | 0;
                        $b2 = var$9[$b2];
                        if (!$java.jnci_UTF8Decoder_checkMidByte($this, $b2)) {
                            $inPos = $b4 + (-2) | 0;
                            $result = jnc_CoderResult_malformedForLength(1);
                            break a;
                        }
                        var$9 = $outArray.data;
                        $b2_0 = $outPos + 1 | 0;
                        var$9[$outPos] = (($b & 31) << 6 | $b2 & 63) & 65535;
                        $b2 = $b4;
                    } else if (($b & 240) == 224) {
                        if (($b2 + 2 | 0) > $inSize) {
                            $inPos = $b2 + (-1) | 0;
                            if ($java.jnci_BufferedDecoder$Controller_hasMoreInput($controller))
                                break a;
                            $result = jnc_CoderResult_UNDERFLOW;
                            break a;
                        }
                        $inPos = $b2 + 1 | 0;
                        $b2_0 = var$9[$b2];
                        $b2 = $inPos + 1 | 0;
                        $b3 = var$9[$inPos];
                        if (!$java.jnci_UTF8Decoder_checkMidByte($this, $b2_0))
                            break b;
                        if (!$java.jnci_UTF8Decoder_checkMidByte($this, $b3))
                            break b;
                        $c = (($b & 15) << 12 | ($b2_0 & 63) << 6 | $b3 & 63) & 65535;
                        if (jl_Character_isSurrogate($c)) {
                            $inPos = $b2 + (-3) | 0;
                            $result = jnc_CoderResult_malformedForLength(3);
                            break a;
                        }
                        var$9 = $outArray.data;
                        $b2_0 = $outPos + 1 | 0;
                        var$9[$outPos] = $c;
                    } else {
                        if (($b & 248) != 240) {
                            $inPos = $b2 + (-1) | 0;
                            $result = jnc_CoderResult_malformedForLength(1);
                            break a;
                        }
                        if (($b2 + 3 | 0) > $inSize) {
                            $inPos = $b2 + (-1) | 0;
                            if ($java.jnci_BufferedDecoder$Controller_hasMoreInput($controller))
                                break a;
                            $result = jnc_CoderResult_UNDERFLOW;
                            break a;
                        }
                        if (($outPos + 2 | 0) > $outSize) {
                            $inPos = $b2 + (-1) | 0;
                            if ($java.jnci_BufferedDecoder$Controller_hasMoreOutput($controller, 2))
                                break a;
                            $result = jnc_CoderResult_OVERFLOW;
                            break a;
                        }
                        $inPos = $b2 + 1 | 0;
                        $b2_0 = var$9[$b2];
                        $b4 = $inPos + 1 | 0;
                        $b3 = var$9[$inPos];
                        $b2 = $b4 + 1 | 0;
                        $b4 = var$9[$b4];
                        if (!$java.jnci_UTF8Decoder_checkMidByte($this, $b2_0))
                            break c;
                        if (!$java.jnci_UTF8Decoder_checkMidByte($this, $b3))
                            break c;
                        if (!$java.jnci_UTF8Decoder_checkMidByte($this, $b4))
                            break c;
                        var$9 = $outArray.data;
                        $code = ($b & 7) << 18 | ($b2_0 & 63) << 12 | ($b3 & 63) << 6 | $b4 & 63;
                        $inPos = $outPos + 1 | 0;
                        var$9[$outPos] = jl_Character_highSurrogate($code);
                        $b2_0 = $inPos + 1 | 0;
                        var$9[$inPos] = jl_Character_lowSurrogate($code);
                    }
                    $inPos = $b2;
                    $outPos = $b2_0;
                }
                break a;
            }
            $inPos = $b2 + (-3) | 0;
            $result = jnc_CoderResult_malformedForLength(1);
            break a;
        }
        $inPos = $b2 + (-3) | 0;
        $result = jnc_CoderResult_malformedForLength(1);
    }
    $controller.$inPosition0 = $inPos;
    $controller.$outPosition0 = $outPos;
    return $result;
};
$java.jnci_UTF8Decoder_checkMidByte = function($this, $b) {
    return ($b & 192) != 128 ? 0 : 1;
};
function nms_RenderHelper() {
    jl_Object.call(this);
}
$java.nms_RenderHelper__init_ = function() {
    var var_0 = new nms_RenderHelper();
    nms_RenderHelper__init_(var_0);
    return var_0;
};
function nms_RenderHelper__init_($this) {
    return;
}
function nms_RenderHelper_disableStandardItemLighting() {
    nleg_EaglerAdapterGL30_glDisable(2896);
    nleg_EaglerAdapterGL30_glDisable(2903);
}
function nms_RenderHelper_enableStandardItemLighting() {
    nleg_EaglerAdapterGL30_glEnable(2896);
    nleg_EaglerAdapterGL30_glEnable(2903);
    nlegv_Vector4f_set(nleg_EaglerAdapterGL30_lightPos0vec0, nleg_EaglerAdapterGL30_lightPos0vec);
    nlegv_Vector4f_set(nleg_EaglerAdapterGL30_lightPos1vec0, nleg_EaglerAdapterGL30_lightPos1vec);
    nlegv_Vector4f_set0(nleg_EaglerAdapterGL30_lightPos0vec, 0.20000000298023224, 1.0, (-0.699999988079071), 0.0);
    nlegv_Vector_normalise(nleg_EaglerAdapterGL30_lightPos0vec);
    nlegv_Vector4f_set0(nleg_EaglerAdapterGL30_lightPos1vec, (-0.20000000298023224), 1.0, 0.699999988079071, 0.0);
    nlegv_Vector_normalise(nleg_EaglerAdapterGL30_lightPos1vec);
    nlegv_Vector_normalise(nlegv_Matrix4f_transform(nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer], nleg_EaglerAdapterGL30_lightPos0vec, nleg_EaglerAdapterGL30_lightPos0vec));
    nlegv_Vector_normalise(nlegv_Matrix4f_transform(nleg_EaglerAdapterGL30_matModelV.data[nleg_EaglerAdapterGL30_matModelPointer], nleg_EaglerAdapterGL30_lightPos1vec, nleg_EaglerAdapterGL30_lightPos1vec));
}
function nms_RenderHelper_enableGUIStandardItemLighting() {
    nleg_EaglerAdapterGL30_glPushMatrix();
    nleg_EaglerAdapterGL30_glRotatef((-30.0), 0.0, 1.0, 0.0);
    nleg_EaglerAdapterGL30_glRotatef(165.0, 1.0, 0.0, 0.0);
    nms_RenderHelper_enableStandardItemLighting();
    nleg_EaglerAdapterGL30_glPopMatrix();
}
function nms_RenderHelper_enableGUIStandardItemLighting2() {
    nleg_EaglerAdapterGL30_glPushMatrix();
    nleg_EaglerAdapterGL30_glRotatef((-30.0), 0.0, 1.0, 0.0);
    nleg_EaglerAdapterGL30_glRotatef(165.0, 1.0, 0.0, 0.0);
    nleg_EaglerAdapterGL30_glScalef(1.0, (-1.0), 1.0);
    nms_RenderHelper_enableStandardItemLighting();
    nleg_EaglerAdapterGL30_glPopMatrix();
}
function ju_HashMap$1() {
    ju_AbstractSet.call(this);
    this.$this$02 = null;
}
$java.ju_HashMap$1_size = function($this) {
    return $this.$this$02.$elementCount;
};
$java.ju_HashMap$1_iterator = function($this) {
    var var$1;
    var$1 = new ju_HashMap$KeyIterator;
    ju_HashMap$AbstractMapIterator__init_(var$1, $this.$this$02);
    return var$1;
};
function ju_HashMap$HashMapEntrySet() {
    ju_AbstractSet.call(this);
    this.$associatedMap0 = null;
}
function ju_HashMap$HashMapEntrySet__init_(var_0) {
    var var_1 = new ju_HashMap$HashMapEntrySet();
    $java.ju_HashMap$HashMapEntrySet__init_(var_1, var_0);
    return var_1;
}
$java.ju_HashMap$HashMapEntrySet__init_ = function($this, $hm) {
    $this.$associatedMap0 = $hm;
};
$java.ju_HashMap$HashMapEntrySet_hashMap = function($this) {
    return $this.$associatedMap0;
};
$java.ju_HashMap$HashMapEntrySet_size = function($this) {
    return $this.$associatedMap0.$elementCount;
};
$java.ju_HashMap$HashMapEntrySet_contains = function($this, $object) {
    var $oEntry, $entry, var$4;
    if (!$rt_isInstance($object, ju_Map$Entry))
        return 0;
    a: {
        b: {
            c: {
                $oEntry = $object;
                $entry = ju_HashMap_getEntry($this.$associatedMap0, $oEntry.$getKey());
                if ($entry !== null) {
                    if ($entry.$value1 === null) {
                        if ($oEntry.$getValue0() !== null)
                            break c;
                        break b;
                    }
                    if (ju_HashMap_areEqualValues($entry.$value1, $oEntry.$getValue0()))
                        break b;
                }
            }
            var$4 = 0;
            break a;
        }
        var$4 = 1;
    }
    return var$4;
};
function ju_HashMap$HashMapEntrySet_iterator($this) {
    var var$1;
    var$1 = new ju_HashMap$EntryIterator;
    ju_HashMap$AbstractMapIterator__init_(var$1, $this.$associatedMap0);
    return var$1;
}
function ju_LinkedHashMap$LinkedHashMapEntry() {
    var a = this; ju_HashMap$HashEntry.call(a);
    a.$chainForward = null;
    a.$chainBackward = null;
}
function maat__tmi_MgCanvas() {
    var a = this; jl_Object.call(a);
    a.$windowX = 0;
    a.$windowY = 0;
    a.$window1 = null;
    a.$drawItems0 = null;
    a.$widgets = null;
    a.$flatMode = 0;
}
$java.maat__tmi_MgCanvas_drawGradientRectDirect = function($this, $var1, $var2, $var3, $var4, $var5, $var6) {
    var $var8, $$je;
    $java.maat__tmi_MgCanvas_flatMode($this, 1);
    a: {
        try {
            nms_Gui_drawGradientRect($this.$window1, $var1, $var2, $var3, $var4, $var5, $var6);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var8 = $$je;
            } else {
                throw $$e;
            }
        }
        ji_PrintStream_println(jl_System_out(), $rt_s(2551));
        jl_Throwable_printStackTrace($var8);
    }
};
$java.maat__tmi_MgCanvas_drawRect = function($this, $var1, $var2, $var3, $var4, $var5) {
    $java.maat__tmi_MgCanvas_flatMode($this, 1);
    nms_Gui_drawRect($var1 - $this.$windowX | 0, $var2 - $this.$windowY | 0, ($var1 + $var3 | 0) - $this.$windowX | 0, ($var2 + $var4 | 0) - $this.$windowY | 0, $var5);
};
$java.maat__tmi_MgCanvas_drawText = function($this, $var1, $var2, $var3, $var4) {
    var var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$5 = 1.0;
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawText0($this, $var1, $var2, $var3, $var4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, $ptr);
};
$java.maat__tmi_MgCanvas_drawText0 = function($this, $var1, $var2, $var3, $var4, $var5) {
    var var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $java.maat__tmi_MgCanvas_hardSetFlatMode($this, 1);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef($var5, $var5, 1.0);
        var$6 = $this.$window1.$fontRenderer0;
        $var1 = ($var1 - $this.$windowX | 0) / $var5 | 0;
        $var2 = ($var2 - $this.$windowY | 0) / $var5 | 0;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawStringWithShadow(var$6, $var3, $var1, $var2, $var4);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, var$6, $ptr);
};
$java.maat__tmi_MgCanvas_drawTextCentered = function($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
    var var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$8 = $var1 + (($var3 - $java.maat__tmi_MgCanvas_getTextWidth($this, $var5, $var7) | 0) / 2 | 0) | 0;
        $var1 = $var2 + (($var4 - 8 | 0) / 2 | 0) | 0;
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawText0($this, var$8, $var1, $var5, $var6, $var7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, $ptr);
};
$java.maat__tmi_MgCanvas_drawTextCentered0 = function($this, $var1, $var2, $var3, $var4, $var5, $var6) {
    var var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$7 = 1.0;
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawTextCentered($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, var$7, $ptr);
};
$java.maat__tmi_MgCanvas_drawTip = function($this, $var1, $var2, $var3) {
    var $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = ju_ArrayList__init_0();
        ju_ArrayList_add($var4, $var3);
        $var3 = null;
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawMultilineTip($this, $var1, $var2, $var4, $var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
};
$java.maat__tmi_MgCanvas_drawMultilineTip = function($this, $var1, $var2, $var3, $var4) {
    var $var6, $var7, $var9, $var19, $var20, $var10, $var11, $var15, $var12, var$14, $var16, $var17, $var18, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();var$14 = $thread.pop();$var12 = $thread.pop();$var15 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var20 = $thread.pop();$var19 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($var3.$size0() > 0) {
            $var6 = 0;
            $var7 = ju_AbstractList_iterator($var3);
            while (ju_AbstractList$1_hasNext($var7)) {
                $var9 = $java.maat__tmi_MgCanvas_getTextWidth0($this, ju_AbstractList$1_next($var7));
                if ($var9 > $var6)
                    $var6 = $var9;
            }
            $var19 = 8;
            if ($var3.$size0() > 1)
                $var19 = $var19 + (2 + (($var3.$size0() - 1 | 0) * 10 | 0) | 0) | 0;
            $var20 = $var6 + 0 | 0;
            $var9 = $var19 + 0 | 0;
            $var10 = $var1 + 12 | 0;
            $var11 = $var2 - 15 | 0;
            if (($var11 - 2 | 0) < 0)
                $var11 = 0;
            if ((($var10 + $var20 | 0) + 2 | 0) > $this.$window1.$width)
                $var10 = $this.$window1.$width - $var20 | 0;
            if ($var1 >= $var10 && $var1 <= ($var10 + $var20 | 0) && $var2 >= $var11 && $var2 <= ($var11 + $var9 | 0)) {
                $var11 = ($var2 - $var9 | 0) - 2 | 0;
                if ($var11 < 0)
                    $var11 = $var2 + 2 | 0;
            }
            $var1 = $var10 - 3 | 0;
            $var2 = $var11 - 4 | 0;
            $var20 = $var10 + $var20 | 0;
            $var6 = $var20 + 3 | 0;
            $var19 = $var11 - 3 | 0;
            $java.maat__tmi_MgCanvas_drawGradientRectDirect($this, $var1, $var2, $var6, $var19, (-267386864), (-267386864));
            $var2 = $var11 + $var9 | 0;
            $var9 = $var2 + 3 | 0;
            $java.maat__tmi_MgCanvas_drawGradientRectDirect($this, $var1, $var9, $var6, $var2 + 4 | 0, (-267386864), (-267386864));
            $java.maat__tmi_MgCanvas_drawGradientRectDirect($this, $var1, $var19, $var6, $var9, (-267386864), (-267386864));
            $java.maat__tmi_MgCanvas_drawGradientRectDirect($this, $var10 - 4 | 0, $var19, $var1, $var9, (-267386864), (-267386864));
            $java.maat__tmi_MgCanvas_drawGradientRectDirect($this, $var6, $var19, $var20 + 4 | 0, $var9, (-267386864), (-267386864));
            $var15 = $var19 + 1 | 0;
            $var12 = $var1 + 1 | 0;
            var$14 = $var9 - 1 | 0;
            $java.maat__tmi_MgCanvas_drawGradientRectDirect($this, $var1, $var15, $var12, var$14, 1347420415, 1344798847);
            $java.maat__tmi_MgCanvas_drawGradientRectDirect($this, $var20 + 2 | 0, $var15, $var6, var$14, 1347420415, 1344798847);
            $java.maat__tmi_MgCanvas_drawGradientRectDirect($this, $var1, $var19, $var6, $var15, 1347420415, 1347420415);
            $java.maat__tmi_MgCanvas_drawGradientRectDirect($this, $var1, $var2 + 2 | 0, $var6, $var9, 1344798847, 1344798847);
            $var1 = $var10 + 0 | 0;
            $var2 = $var11 + 0 | 0;
            $var15 = 1;
            $var16 = ju_AbstractList_iterator($var3);
            if (ju_AbstractList$1_hasNext($var16)) {
                $var17 = ju_AbstractList$1_next($var16);
                if ($var4 !== null) {
                    $var7 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var7);
                    jl_AbstractStringBuilder_append($var7, $rt_s(1094));
                    jl_AbstractStringBuilder_append($var7, !$var15 ? $rt_s(84) : jl_Integer_toHexString(nms_ItemStack_getRarity($var4).$rarityColor));
                    $var18 = jl_AbstractStringBuilder_toString($var7);
                    $var3 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var3);
                    jl_AbstractStringBuilder_append($var3, $var18);
                    jl_AbstractStringBuilder_append($var3, $var17);
                    $var17 = jl_AbstractStringBuilder_toString($var3);
                }
                $var20 = (-1);
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        $java.maat__tmi_MgCanvas_drawText($this, $var1, $var2, $var17, $var20);
        if ($rt_suspending()) {
            break main;
        }
        if ($var15) {
            $var2 = $var2 + 2 | 0;
            $var15 = 0;
        }
        $var2 = $var2 + 10 | 0;
        if (!ju_AbstractList$1_hasNext($var16))
            return;
        $var17 = ju_AbstractList$1_next($var16);
        if ($var4 !== null) {
            $var7 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var7);
            jl_AbstractStringBuilder_append($var7, $rt_s(1094));
            jl_AbstractStringBuilder_append($var7, !$var15 ? $rt_s(84) : jl_Integer_toHexString(nms_ItemStack_getRarity($var4).$rarityColor));
            $var18 = jl_AbstractStringBuilder_toString($var7);
            $var3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var3);
            jl_AbstractStringBuilder_append($var3, $var18);
            jl_AbstractStringBuilder_append($var3, $var17);
            $var17 = jl_AbstractStringBuilder_toString($var3);
        }
        $var20 = (-1);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var6, $var7, $var9, $var19, $var20, $var10, $var11, $var15, $var12, var$14, $var16, $var17, $var18, $ptr);
};
$java.maat__tmi_MgCanvas_drawItem = function($this, $var1, $var2, $var3) {
    var $var10004, $var10005, var$6, var$7, var$8, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var10005 = $thread.pop();$var10004 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $java.maat__tmi_MgCanvas_hardSetFlatMode($this, 0);
        $this.$drawItems0.$zLevel0 = 200.0;
        a: {
            try {
                $var10004 = $var1 - $this.$windowX | 0;
                $var10005 = $var2 - $this.$windowY | 0;
                var$6 = $this.$drawItems0;
                var$7 = $this.$window1.$fontRenderer0;
                var$8 = nmc_Minecraft_getMinecraft().$renderEngine;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else if ($$je instanceof jl_LinkageError) {
                    break a;
                } else {
                    throw $$e;
                }
            }
            $var3 = $this.$drawItems0;
            var$8 = $this.$window1.$fontRenderer0;
            var$6 = nmc_Minecraft_theMinecraft.$renderEngine;
            var$7 = nms_ItemStack__init_0(51, 1, 0);
            $var1 = $var1 - $this.$windowX | 0;
            $var2 = $var2 - $this.$windowY | 0;
            $ptr = 2;
            continue main;
        }
        $var3 = $this.$drawItems0;
        var$8 = $this.$window1.$fontRenderer0;
        var$6 = nmc_Minecraft_theMinecraft.$renderEngine;
        var$7 = nms_ItemStack__init_0(51, 1, 0);
        $var1 = $var1 - $this.$windowX | 0;
        $var2 = $var2 - $this.$windowY | 0;
        $ptr = 3;
        continue main;
    case 1:
        b: {
            try {
                nms_RenderItem_renderItemAndEffectIntoGUI(var$6, var$7, var$8, $var3, $var10004, $var10005);
                if ($rt_suspending()) {
                    break main;
                }
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    break b;
                } else if ($$je instanceof jl_LinkageError) {
                    $var3 = $this.$drawItems0;
                    var$8 = $this.$window1.$fontRenderer0;
                    var$6 = nmc_Minecraft_theMinecraft.$renderEngine;
                    var$7 = nms_ItemStack__init_0(51, 1, 0);
                    $var1 = $var1 - $this.$windowX | 0;
                    $var2 = $var2 - $this.$windowY | 0;
                    $ptr = 3;
                    continue main;
                } else {
                    throw $$e;
                }
            }
            $this.$drawItems0.$zLevel0 = 0.0;
            return;
        }
        $var3 = $this.$drawItems0;
        var$8 = $this.$window1.$fontRenderer0;
        var$6 = nmc_Minecraft_theMinecraft.$renderEngine;
        var$7 = nms_ItemStack__init_0(51, 1, 0);
        $var1 = $var1 - $this.$windowX | 0;
        $var2 = $var2 - $this.$windowY | 0;
        $ptr = 2;
    case 2:
        nms_RenderItem_renderItemAndEffectIntoGUI($var3, var$8, var$6, var$7, $var1, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $this.$drawItems0.$zLevel0 = 0.0;
        return;
    case 3:
        nms_RenderItem_renderItemAndEffectIntoGUI($var3, var$8, var$6, var$7, $var1, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $this.$drawItems0.$zLevel0 = 0.0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var10004, $var10005, var$6, var$7, var$8, $ptr);
};
$java.maat__tmi_MgCanvas_drawChrome = function($this, $var1, $var2, $var3) {
    var var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $java.maat__tmi_MgCanvas_hardSetFlatMode($this, 1);
        var$4 = nmc_Minecraft_theMinecraft.$renderEngine;
        var$5 = $var3.$filename;
        $ptr = 1;
    case 1:
        nms_RenderEngine_bindTexture0(var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this.$window1, $var1 - $this.$windowX | 0, $var2 - $this.$windowY | 0, $var3.$x4, $var3.$y3, $var3.$width4, $var3.$height6);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
};
$java.maat__tmi_MgCanvas_sortByZOrder = function($this) {
    ju_Collections_sort($this.$widgets, $java.maat__tmi_MgWidget_getComparator());
};
$java.maat__tmi_MgCanvas_drawWidgets = function($this, $var1, $var2) {
    var $var3, $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_$callClinit();
        $var3 = nleg_EaglerAdapterGL30_glBlendEnabled ? 0 : 1;
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        $java.maat__tmi_MgCanvas_sortByZOrder($this);
        $var4 = ju_AbstractList_iterator($this.$widgets);
        if (!ju_AbstractList$1_hasNext($var4)) {
            if ($var3)
                nleg_EaglerAdapterGL30_glDisable(3042);
            return;
        }
        $var5 = ju_AbstractList$1_next($var4);
        nleg_EaglerAdapterGL30_glEnable(3042);
        $ptr = 1;
    case 1:
        $var5.$draw1($this, $var1, $var2);
        if ($rt_suspending()) {
            break main;
        }
        if (!ju_AbstractList$1_hasNext($var4)) {
            if ($var3)
                nleg_EaglerAdapterGL30_glDisable(3042);
            return;
        }
        $var5 = ju_AbstractList$1_next($var4);
        nleg_EaglerAdapterGL30_glEnable(3042);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
};
$java.maat__tmi_MgCanvas_getTextWidth0 = function($this, $var1) {
    return $java.maat__tmi_MgCanvas_getTextWidth($this, $var1, 1.0);
};
$java.maat__tmi_MgCanvas_getTextWidth = function($this, $var1, $var2) {
    return $var1 !== null && !jl_String_equals($var1, $rt_s(36)) ? nms_FontRenderer_getStringWidth($this.$window1.$fontRenderer0, $var1) * $var2 | 0 : 0;
};
$java.maat__tmi_MgCanvas_flatMode = function($this, $var1) {
    if ($var1 && !$this.$flatMode) {
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDisable(2929);
    } else if (!$var1 && $this.$flatMode) {
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(2929);
    }
    $this.$flatMode = $var1;
};
$java.maat__tmi_MgCanvas_hardSetFlatMode = function($this, $var1) {
    if (!$var1) {
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(2929);
    } else {
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDisable(2929);
    }
    $this.$flatMode = $var1;
};
$java.maat__tmi_MgCanvas_arrangeHorizontally = function($this, $var1, $var2, $var3) {
    var var$4, $var4, $var5, $var8, $var9;
    a: {
        $var3 = $var3.data;
        var$4 = $var3.length;
        if (var$4 > 1) {
            $var4 = $var3[0].$x5;
            $var5 = $var3[0].$y4;
            if ($var2 == 1002)
                $var5 = $var5 + $var3[0].$height5 | 0;
            else if ($var2 == 1005)
                $var5 = $var5 + ($var3[0].$height5 / 2 | 0) | 0;
            $var8 = 0;
            while (true) {
                if ($var8 >= var$4)
                    break a;
                b: {
                    c: {
                        $var9 = $var3[$var8];
                        $var9.$x5 = $var4;
                        switch ($var2) {
                            case 1001:
                                break;
                            case 1002:
                                $var9.$y4 = $var5 - $var9.$height5 | 0;
                                break c;
                            case 1003:
                            case 1004:
                                break c;
                            case 1005:
                                $var9.$y4 = $var5 - ($var9.$height5 / 2 | 0) | 0;
                                break b;
                            default:
                                break c;
                        }
                        $var9.$y4 = $var5;
                        break b;
                    }
                }
                $var4 = $var4 + ($var1 + $var9.$width3 | 0) | 0;
                $var8 = $var8 + 1 | 0;
            }
        }
    }
};
function maat__tmi_MgTooltipHandler() {
}
function maat_TMIView() {
    var a = this; jl_Object.call(a);
    a.$canvas0 = null;
    a.$config0 = null;
    a.$controller0 = null;
    a.$widgetsCreated = 0;
    a.$activeTooltip = null;
    a.$stateButtons = null;
    a.$deleteButtons = null;
    a.$itemPanel = null;
    a.$tabView = null;
    a.$enchantPanel0 = null;
    a.$configPanel = null;
    a.$favoritesPanel = null;
    a.$potionPanel = null;
    a.$fireworkPanel = null;
    a.$rain = null;
    a.$survival = null;
    a.$creative = null;
    a.$adventure = null;
    a.$delete0 = null;
    a.$noon = null;
    a.$dawn = null;
    a.$dusk = null;
    a.$midnight = null;
    a.$difficulty0 = null;
    a.$health2 = null;
}
$java.maat_TMIView_savedTabName = null;
$java.maat_TMIView_createWidgets = function($this) {
    var var$1, var$2, var$3, $var1, var$5, $var1_0;
    $this.$itemPanel = $java.maat_TMIItemPanel__init_(0, 0, 0, 0, 0, $java.maat_TMIConfig_getItems($this.$config0), $this.$controller0);
    $this.$favoritesPanel = $java.maat_TMIFavoritesPanel__init_($this.$config0, $this.$controller0);
    $java.maat__tmi_MgTabView_addChild($this.$tabView, $rt_s(304), $java.maat_TMIImages_iconChest, $java.maat_TMIImages_iconChestLight, $this.$itemPanel);
    $java.maat__tmi_MgTabView_addChild($this.$tabView, $rt_s(2544), $java.maat_TMIImages_iconStar, $java.maat_TMIImages_iconStarLight, $this.$favoritesPanel);
    $java.maat__tmi_MgTabView_addChild($this.$tabView, $rt_s(2552), $java.maat_TMIImages_iconBook, $java.maat_TMIImages_iconBookLight, $this.$enchantPanel0);
    if (!$java.maat_TMIConfig_isMultiplayer()) {
        $java.maat__tmi_MgTabView_addChild($this.$tabView, $rt_s(2553), $java.maat_TMIImages_iconPotion, $java.maat_TMIImages_iconPotion, $this.$potionPanel);
        $java.maat__tmi_MgTabView_addChild($this.$tabView, $rt_s(1850), $java.maat_TMIImages_iconFirework, $java.maat_TMIImages_iconFirework, $this.$fireworkPanel);
    }
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$tabView);
    $java.maat__tmi_MgTabView_setActiveChild($this.$tabView, $java.maat_TMIView_savedTabName);
    $this.$delete0 = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2531));
    $this.$delete0.$icon = $java.maat_TMIImages_iconDelete;
    $this.$delete0.$showState = 1;
    $java.maat__tmi_MgButton_setOwnWidth($this.$delete0, $this.$canvas0);
    $this.$delete0.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$delete0);
    $this.$rain = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2520));
    $this.$rain.$showState = 1;
    $this.$rain.$icon = $java.maat_TMIImages_iconRain;
    $java.maat__tmi_MgButton_setOwnWidth($this.$rain, $this.$canvas0);
    $this.$rain.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$rain);
    $this.$survival = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2522));
    $this.$survival.$icon = $java.maat_TMIImages_iconModeS;
    $java.maat__tmi_MgButton_setOwnWidth($this.$survival, $this.$canvas0);
    $this.$survival.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$survival);
    $this.$creative = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2523));
    $this.$creative.$icon = $java.maat_TMIImages_iconModeC;
    $java.maat__tmi_MgButton_setOwnWidth($this.$creative, $this.$canvas0);
    $this.$creative.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$creative);
    $this.$adventure = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2524));
    $this.$adventure.$icon = $java.maat_TMIImages_iconModeA;
    $java.maat__tmi_MgButton_setOwnWidth($this.$adventure, $this.$canvas0);
    $this.$adventure.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$adventure);
    $this.$noon = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2526));
    $this.$noon.$icon = $java.maat_TMIImages_iconNoon;
    $java.maat__tmi_MgButton_setOwnWidth($this.$noon, $this.$canvas0);
    $this.$noon.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$noon);
    $this.$dawn = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2525));
    $this.$dawn.$icon = $java.maat_TMIImages_iconDawn;
    $java.maat__tmi_MgButton_setOwnWidth($this.$dawn, $this.$canvas0);
    $this.$dawn.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$dawn);
    $this.$dusk = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2527));
    $this.$dusk.$icon = $java.maat_TMIImages_iconDusk;
    $java.maat__tmi_MgButton_setOwnWidth($this.$dusk, $this.$canvas0);
    $this.$dusk.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$dusk);
    $this.$midnight = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2528));
    $this.$midnight.$icon = $java.maat_TMIImages_iconMidnight;
    $java.maat__tmi_MgButton_setOwnWidth($this.$midnight, $this.$canvas0);
    $this.$midnight.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$midnight);
    $this.$difficulty0 = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2530));
    $this.$difficulty0.$icon = $java.maat_TMIImages_iconDifficulty;
    $java.maat__tmi_MgButton_setOwnWidth($this.$difficulty0, $this.$canvas0);
    $this.$difficulty0.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$difficulty0);
    $this.$health2 = $java.maat__tmi_MgButton__init_($rt_s(36), $this.$controller0, $rt_s(2529));
    $this.$health2.$icon = $java.maat_TMIImages_iconHeart;
    $java.maat__tmi_MgButton_setOwnWidth($this.$health2, $this.$canvas0);
    $this.$health2.$height5 = 14;
    ju_ArrayList_add($this.$canvas0.$widgets, $this.$health2);
    $this.$delete0.$x5 = 2;
    $this.$delete0.$y4 = 2;
    var$1 = $this.$canvas0;
    var$2 = $rt_createArray(maat__tmi_MgWidget, 11);
    var$3 = var$2.data;
    var$3[0] = $this.$delete0;
    var$3[1] = $this.$survival;
    var$3[2] = $this.$creative;
    var$3[3] = $this.$adventure;
    var$3[4] = $this.$rain;
    var$3[5] = $this.$dawn;
    var$3[6] = $this.$noon;
    var$3[7] = $this.$dusk;
    var$3[8] = $this.$midnight;
    var$3[9] = $this.$difficulty0;
    var$3[10] = $this.$health2;
    $java.maat__tmi_MgCanvas_arrangeHorizontally(var$1, 1, 1001, var$2);
    $this.$stateButtons = $rt_createArray(maat__tmi_MgButton, $java.maat_TMIConfig_getNumSaves($this.$config0));
    $var1 = 0;
    while ($var1 < $java.maat_TMIConfig_getNumSaves($this.$config0)) {
        var$2 = $this.$stateButtons.data;
        var$1 = new maat__tmi_MgButton;
        var$5 = jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2554));
        $var1_0 = $var1 + 1 | 0;
        $java.maat__tmi_MgButton__init_0(var$1, jl_StringBuilder_toString(jl_StringBuilder_append1(var$5, $var1_0)), $this.$controller0, $java.maat_TMIStateButtonData__init_($var1, 0));
        var$2[$var1] = var$1;
        ju_ArrayList_add($this.$canvas0.$widgets, $this.$stateButtons.data[$var1]);
        $this.$deleteButtons.data[$var1] = $java.maat__tmi_MgButton__init_($rt_s(1904), $this.$controller0, $java.maat_TMIStateButtonData__init_($var1, 1));
        ju_ArrayList_add($this.$canvas0.$widgets, $this.$deleteButtons.data[$var1]);
        $var1 = $var1_0;
    }
    $this.$widgetsCreated = 1;
};
$java.maat_TMIView_layout = function($this, $var1, $var2, $var3, $var4) {
    var $var5, $var11, $var10000, var$8, var$9, $var8, $var9, $var10, $var10_0, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var10_0 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var10000 = $thread.pop();$var11 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = ($var1 - $var3 | 0) / 2 | 0;
        if (!$this.$widgetsCreated)
            $java.maat_TMIView_createWidgets($this);
        $var11 = $this.$itemPanel;
        $var3 = (($var1 + $var3 | 0) / 2 | 0) + 5 | 0;
        $var11.$x5 = $var3;
        $this.$itemPanel.$y4 = 20;
        $java.maat_TMIItemPanel_resize($this.$itemPanel);
        $this.$tabView.$x5 = $var3;
        $this.$tabView.$y4 = 0;
        $this.$tabView.$width3 = ($var1 - $this.$itemPanel.$x5 | 0) - 2 | 0;
        $this.$tabView.$height5 = $var2 - 1 | 0;
        $java.maat_TMIView_savedTabName = $this.$tabView.$activeChildName;
        $java.maat__tmi_MgTabView_resize($this.$tabView);
        $this.$rain.$state1 = $java.maat_TMIUtils_isRaining();
        $this.$delete0.$state1 = $this.$controller0.$deleteMode;
        $var3 = nmc_Minecraft_theMinecraft.$playerController.$currentGameType.$id7;
        $this.$survival.$icon = $var3 ? $java.maat_TMIImages_iconModeS : $java.maat_TMIImages_iconModeSs;
        $this.$creative.$icon = $var3 != 1 ? $java.maat_TMIImages_iconModeC : $java.maat_TMIImages_iconModeCs;
        $this.$adventure.$icon = $var3 != 2 ? $java.maat_TMIImages_iconModeA : $java.maat_TMIImages_iconModeAs;
        $java.maat__tmi_MgCanvas_drawRect($this.$canvas0, 0, 0, $var1, 18, (-16445675));
        $var10000 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var10000);
        jl_AbstractStringBuilder_append($var10000, $rt_s(36));
        jl_AbstractStringBuilder_append2($var10000, $java.maat_TMIItemPanel_page + 1 | 0);
        jl_AbstractStringBuilder_append($var10000, $rt_s(61));
        jl_AbstractStringBuilder_append2($var10000, $this.$itemPanel.$numPages);
        jl_AbstractStringBuilder_toString($var10000);
        $var11 = $this.$canvas0;
        $var1 = 2;
        $var2 = $var2 - 13 | 0;
        $var10000 = $rt_s(2555);
        $var3 = (-1);
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawText($var11, $var1, $var2, $var10000, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$rain.$show = $java.maat_TMIConfig_canChangeWeather();
        $var11 = $this.$creative;
        $var10000 = $this.$survival;
        var$8 = $this.$adventure;
        $var1 = $java.maat_TMIConfig_canChangeCreativeMode();
        var$8.$show = $var1;
        $var10000.$show = $var1;
        $var11.$show = $var1;
        $this.$delete0.$show = $java.maat_TMIConfig_canDelete();
        $var11 = $this.$dawn;
        $var10000 = $this.$noon;
        var$8 = $this.$dusk;
        var$9 = $this.$midnight;
        $var1 = $java.maat_TMIConfig_canChangeTime();
        var$9.$show = $var1;
        var$8.$show = $var1;
        $var10000.$show = $var1;
        $var11.$show = $var1;
        $this.$difficulty0.$show = $java.maat_TMIConfig_canChangeDifficulty();
        $this.$health2.$show = 0;
        $var8 = $java.maat_TMIConfig_canRestoreSaves();
        $var9 = 0;
        $var10 = 0;
        $var3 = ($var5 - 20 | 0) - 2 | 0;
        while ($var10 < $java.maat_TMIConfig_getNumSaves($this.$config0)) {
            $this.$deleteButtons.data[$var10].$x5 = (-1000);
            $this.$stateButtons.data[$var10].$y4 = 30 + ($var10 * 22 | 0) | 0;
            $this.$stateButtons.data[$var10].$height5 = 20;
            var$8 = $this.$config0.$settings;
            $var11 = jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2540));
            $var10_0 = $var10 + 1 | 0;
            $var11 = $java.ju_LinkedHashMap_get(var$8, jl_StringBuilder_toString(jl_StringBuilder_append1($var11, $var10_0)));
            if ($var11 === null)
                $var11 = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $var10_0));
            if (!$java.maat_TMIConfig_isStateSaved($this.$config0, $var10))
                $this.$stateButtons.data[$var10].$label = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2554)), $var11));
            else
                $this.$stateButtons.data[$var10].$label = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2556)), $var11));
            $var12 = $java.maat__tmi_MgCanvas_getTextWidth0($this.$canvas0, $this.$stateButtons.data[$var10].$label) + 26 | 0;
            if ((($var12 + 2 | 0) + 20 | 0) > $var5)
                $var12 = $var3;
            if ($var12 > $var9)
                $var9 = $var12;
            $var10 = $var10_0;
        }
        $var1 = 0;
        while ($var1 < $java.maat_TMIConfig_getNumSaves($this.$config0)) {
            $this.$stateButtons.data[$var1].$width3 = $var9;
            $this.$stateButtons.data[$var1].$show = $var8;
            $this.$deleteButtons.data[$var1].$show = $var8;
            if ($java.maat_TMIConfig_isStateSaved($this.$config0, $var1)) {
                $this.$deleteButtons.data[$var1].$x5 = $this.$stateButtons.data[$var1].$width3 + 2 | 0;
                $this.$deleteButtons.data[$var1].$y4 = $this.$stateButtons.data[$var1].$y4;
                $this.$deleteButtons.data[$var1].$width3 = 20;
                $this.$deleteButtons.data[$var1].$height5 = 20;
            }
            $var1 = $var1 + 1 | 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var11, $var10000, var$8, var$9, $var8, $var9, $var10, $var10_0, $var12, $ptr);
};
$java.maat_TMIView_determineTooltip = function($this, $var1, $var2) {
    var $var3, $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($this.$rain !== null && $java.maat__tmi_MgWidget_contains($this.$rain, $var1, $var2)) {
                $var3 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var3);
                jl_AbstractStringBuilder_append($var3, $rt_s(2557));
                jl_AbstractStringBuilder_append($var3, !$this.$rain.$state1 ? $rt_s(2558) : $rt_s(2559));
                $this.$activeTooltip = jl_AbstractStringBuilder_toString($var3);
                break a;
            }
            if ($this.$creative !== null && $java.maat__tmi_MgWidget_contains($this.$creative, $var1, $var2)) {
                $this.$activeTooltip = $rt_s(2560);
                break a;
            }
            if ($this.$survival !== null && $java.maat__tmi_MgWidget_contains($this.$survival, $var1, $var2)) {
                $this.$activeTooltip = $rt_s(2561);
                break a;
            }
            if ($this.$adventure !== null && $java.maat__tmi_MgWidget_contains($this.$adventure, $var1, $var2)) {
                $this.$activeTooltip = $rt_s(2562);
                break a;
            }
            if ($this.$noon !== null && $java.maat__tmi_MgWidget_contains($this.$noon, $var1, $var2)) {
                $this.$activeTooltip = $rt_s(2563);
                break a;
            }
            if ($this.$dawn !== null && $java.maat__tmi_MgWidget_contains($this.$dawn, $var1, $var2)) {
                $this.$activeTooltip = $rt_s(2564);
                break a;
            }
            if ($this.$dusk !== null && $java.maat__tmi_MgWidget_contains($this.$dusk, $var1, $var2)) {
                $this.$activeTooltip = $rt_s(2565);
                break a;
            }
            if ($this.$midnight !== null && $java.maat__tmi_MgWidget_contains($this.$midnight, $var1, $var2)) {
                $this.$activeTooltip = $rt_s(2566);
                break a;
            }
            if ($this.$difficulty0 !== null && $java.maat__tmi_MgWidget_contains($this.$difficulty0, $var1, $var2)) {
                $this.$activeTooltip = nms_GameSettings_getKeyBinding(nmc_Minecraft_theMinecraft.$gameSettings, nms_EnumOptions_DIFFICULTY);
                break a;
            }
            if ($this.$health2 !== null && $java.maat__tmi_MgWidget_contains($this.$health2, $var1, $var2)) {
                $this.$activeTooltip = $rt_s(2567);
                break a;
            }
            if ($this.$delete0 !== null && $java.maat__tmi_MgWidget_contains($this.$delete0, $var1, $var2)) {
                $var3 = $java.maat_TMIUtils_getHeldItem();
                if ($var3 !== null) {
                    if ($java.maat_TMIUtils_shiftKey()) {
                        $java.maat_TMIView_setTooltip($this, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2568)), $java.maat_TMIUtils_itemDisplayName($var3))));
                        break a;
                    }
                    $var4 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var4);
                    jl_AbstractStringBuilder_append($var4, $rt_s(2569));
                    jl_AbstractStringBuilder_append($var4, $java.maat_TMIUtils_itemDisplayName($var3));
                    $this.$activeTooltip = jl_AbstractStringBuilder_toString($var4);
                    break a;
                }
                if ($java.maat_TMIUtils_shiftKey()) {
                    $this.$activeTooltip = $rt_s(2570);
                    break a;
                }
                $var3 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var3);
                jl_AbstractStringBuilder_append($var3, $rt_s(2571));
                jl_AbstractStringBuilder_append($var3, !$this.$delete0.$state1 ? $rt_s(2558) : $rt_s(2559));
                $this.$activeTooltip = jl_AbstractStringBuilder_toString($var3);
                break a;
            }
            if (!$java.maat__tmi_MgWidget_contains($this.$itemPanel, $var1, $var2)) {
                if (!$java.maat__tmi_MgWidget_contains($this.$favoritesPanel, $var1, $var2))
                    break a;
                $var3 = $java.maat_TMIUtils_getHeldItem();
                if ($var3 !== null) {
                    $java.maat_TMIView_setTooltip($this, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2572)), $java.maat_TMIUtils_itemDisplayName($var3))));
                    break a;
                }
                $var4 = $java.maat_TMIItemPanel_getHoverItem($this.$favoritesPanel);
                if ($var4 === null)
                    break a;
                if (!nlea_EaglerAdapterImpl2_isKeyDown(56) && !nlea_EaglerAdapterImpl2_isKeyDown(184)) {
                    $var5 = $java.maat_TMIUtils_itemDisplayNameMultiline($var4, 1);
                    $var3 = $this.$canvas0;
                    $ptr = 3;
                    continue main;
                }
                $java.maat_TMIView_setTooltip($this, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2573)), $java.maat_TMIUtils_itemDisplayName($var4))));
                break a;
            }
            $var3 = $java.maat_TMIUtils_getHeldItem();
            if ($var3 !== null) {
                $java.maat_TMIView_setTooltip($this, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2569)), $java.maat_TMIUtils_itemDisplayName($var3))));
                break a;
            }
            $var4 = $java.maat_TMIItemPanel_getHoverItem($this.$itemPanel);
            if ($var4 === null)
                break a;
            if (!nlea_EaglerAdapterImpl2_isKeyDown(56) && !nlea_EaglerAdapterImpl2_isKeyDown(184)) {
                $var5 = $java.maat_TMIUtils_itemDisplayNameMultiline($var4, 1);
                $var3 = $this.$canvas0;
                $ptr = 2;
                continue main;
            }
            $java.maat_TMIView_setTooltip($this, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2572)), $var4.$itemID0), $rt_s(272)), nms_ItemStack_getItemDamageForDisplay($var4)), $rt_s(2574))));
        }
        $ptr = 1;
    case 1:
        $java.maat_TMIView_showToolTip($this, $var1, $var2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        $java.maat__tmi_MgCanvas_drawMultilineTip($var3, $var1, $var2, $var5, $var4);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 1;
        continue main;
    case 3:
        $java.maat__tmi_MgCanvas_drawMultilineTip($var3, $var1, $var2, $var5, $var4);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
};
$java.maat_TMIView_setTooltip = function($this, $var1) {
    $this.$activeTooltip = $var1;
};
$java.maat_TMIView_showToolTip = function($this, $var1, $var2) {
    var var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$activeTooltip === null)
            return;
        var$3 = $this.$canvas0;
        var$4 = $this.$activeTooltip;
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawTip(var$3, $var1, $var2, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, var$3, var$4, $ptr);
};
function maat_TMIView__clinit_() {
    $java.maat_TMIView_savedTabName = $rt_s(304);
}
function maat_TMIUtils() {
    jl_Object.call(this);
}
$java.maat_TMIUtils_EMPTY_NAME = null;
$java.maat_TMIUtils_haveReplacedItems = 0;
$java.maat_TMIUtils_random = null;
$java.maat_TMIUtils_originalItems = null;
$java.maat_TMIUtils_availableItems = null;
$java.maat_TMIUtils__init_ = function() {
    var var_0 = new maat_TMIUtils();
    maat_TMIUtils__init_(var_0);
    return var_0;
};
function maat_TMIUtils__init_($this) {
    return;
}
$java.maat_TMIUtils_configFile = function() {
    return $java.maa_File__init_($rt_s(2575));
};
$java.maat_TMIUtils_nbtFile = function() {
    return $java.maa_File__init_($rt_s(2576));
};
$java.maat_TMIUtils_loadPreferences = function($var0) {
    var $var1, $var2, $var3, $var6, $var7, $var5, $var8, $var8_0, $$je;
    a: {
        try {
            $var1 = $java.maat_TMIConfig_getSettings($var0);
            $var2 = $java.maat_TMIUtils_configFile();
            if ($java.maa_File_exists($var2)) {
                b: {
                    if (!$java.maa_File_exists($java.maat_TMIUtils_nbtFile())) {
                        ju_LinkedHashMap_put($var1, $rt_s(2544), $rt_s(36));
                        $var3 = 0;
                        while (true) {
                            if ($var3 >= 7)
                                break b;
                            $var6 = jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2543));
                            $var3 = $var3 + 1 | 0;
                            ju_LinkedHashMap_put($var1, jl_StringBuilder_toString(jl_StringBuilder_append1($var6, $var3)), $rt_s(36));
                        }
                    }
                }
                $var7 = ji_BufferedReader__init_($java.ji_StringReader__init_(nms_NBTTagCompound_getString(nle_LocalStorageManager_gameSettingsStorage, $java.maa_File_getFileName($var2))));
                while (true) {
                    $var6 = ji_BufferedReader_readLine($var7);
                    if ($var6 === null)
                        break;
                    $var5 = jl_String_split0($var6, $rt_s(272), 2).data;
                    if ($var5.length > 1 && ju_HashMap_containsKey($var1, $var5[0]))
                        ju_LinkedHashMap_put($var1, $var5[0], $var5[1]);
                }
                ji_BufferedReader_close($var7);
                if (!$java.maa_File_exists($java.maat_TMIUtils_nbtFile())) {
                    $var8 = 0;
                    while ($var8 < $java.maat_TMIConfig_getNumSaves($var0)) {
                        $var6 = jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2543));
                        $var8_0 = $var8 + 1 | 0;
                        if (ju_HashMap_containsKey($var1, jl_StringBuilder_toString(jl_StringBuilder_append1($var6, $var8_0))))
                            $java.maat_TMIConfig_decodeState($var0, $var8, $java.ju_LinkedHashMap_get($var1, jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2543)), $var8_0))));
                        $var8 = $var8_0;
                    }
                    ji_PrintStream_println(jl_System_out(), $rt_s(2577));
                    $java.maat_TMIConfig_decodeFavorites($var0);
                }
            }
            $java.maat_TMIUtils_loadNBTFile($var0);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var6 = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace($var6);
    }
};
$java.maat_TMIUtils_savePreferences = function($var0) {
    var $var1, $var2, $stringWriter, $var3, $var4, $var5, $var6, $$je;
    a: {
        try {
            $java.maat_TMIUtils_saveNBTFile($var0);
            $var1 = $java.maat_TMIConfig_getSettings($var0);
            $var2 = $java.maat_TMIUtils_configFile();
            $stringWriter = $java.ji_StringWriter__init_();
            $var3 = $java.ji_PrintWriter__init_($stringWriter);
            $var4 = $java.ju_LinkedHashMap_keySet($var1).$iterator();
            while ($var4.$hasNext()) {
                $var5 = $var4.$next();
                if (!jl_String_matches($var5, $rt_s(2578)))
                    $java.ji_PrintWriter_println($var3, jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var5), $rt_s(272)), $java.ju_LinkedHashMap_get($var1, $var5))));
            }
            $java.ji_PrintWriter_close($var3);
            nms_NBTTagCompound_setString(nle_LocalStorageManager_gameSettingsStorage, $java.maa_File_getFileName($var2), $java.ji_StringWriter_toString($stringWriter));
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var6 = $$je;
            } else {
                throw $$e;
            }
        }
        ji_PrintStream_println1(jl_System_out(), $var6);
    }
};
$java.maat_TMIUtils_saveNBTFile = function($var0) {
    var $var2, $var3, $var5, $var6, $var7, $var11, $var12, $var14, $var8, var$11, $var9, $var10, $$je;
    a: {
        try {
            $var2 = nms_NBTTagList__init_0();
            $var3 = nms_NBTTagList__init_0();
            $var5 = ju_AbstractList_iterator($java.maat_TMIConfig_getFavorites($var0));
            while (ju_AbstractList$1_hasNext($var5)) {
                $var6 = ju_AbstractList$1_next($var5);
                $var7 = nms_NBTTagCompound__init_0();
                if ($var6 !== null)
                    nms_ItemStack_writeToNBT($var6, $var7);
                nms_NBTTagList_appendTag($var3, $var7);
            }
            nms_NBTTagList_appendTag($var2, $var3);
            $var11 = 0;
            while ($var11 < 7) {
                if (!$java.maat_TMIConfig_statesSaved.data[$var11])
                    nms_NBTTagList_appendTag($var2, nms_NBTTagList__init_0());
                else {
                    $var12 = $java.maat_TMIConfig_getState($var0, $var11);
                    $var14 = nms_NBTTagList__init_0();
                    $var8 = 0;
                    while (true) {
                        var$11 = $var12.data;
                        if ($var8 >= var$11.length)
                            break;
                        $var9 = nms_NBTTagCompound__init_0();
                        if (var$11[$var8] !== null)
                            nms_ItemStack_writeToNBT(var$11[$var8], $var9);
                        nms_NBTTagList_appendTag($var14, $var9);
                        $var8 = $var8 + 1 | 0;
                    }
                    nms_NBTTagList_appendTag($var2, $var14);
                }
                $var11 = $var11 + 1 | 0;
            }
            nms_NBTTagCompound_setTag(nle_LocalStorageManager_gameSettingsStorage, $java.maa_File_getFileName($java.maat_TMIUtils_nbtFile()), $var2);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var10 = $$je;
            } else {
                throw $$e;
            }
        }
        ji_PrintStream_println1(jl_System_out(), $var10);
    }
};
$java.maat_TMIUtils_loadNBTFile = function($var0) {
    var $var1, $var12, $var3, $var5, $var6, $var7, $var8, $var9, $var14, $var13, $var15, $var16, $var17, $var18, $var10, $var11, var$18, $$je;
    a: {
        b: {
            c: {
                try {
                    $var1 = $java.maat_TMIUtils_nbtFile();
                    if ($java.maa_File_exists($var1))
                        break c;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var12 = $$je;
                        break b;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            d: {
                try {
                    $var3 = nms_NBTTagCompound_getTagList(nle_LocalStorageManager_gameSettingsStorage, $java.maa_File_getFileName($var1));
                    if (nms_NBTTagList_tagCount($var3) <= 0)
                        break d;
                    $var5 = nms_NBTTagList_tagAt($var3, 0);
                    $var6 = $java.maat_TMIConfig_getFavorites($var0);
                    ju_ArrayList_clear($var6);
                    $var7 = 0;
                    while (true) {
                        if ($var7 >= nms_NBTTagList_tagCount($var5))
                            break d;
                        $var8 = nms_NBTTagList_tagAt($var5, $var7);
                        $var9 = nms_ItemStack__init_0(0, 1, 0);
                        nms_ItemStack_readFromNBT($var9, $var8);
                        ju_ArrayList_add($var6, $var9);
                        $var7 = $var7 + 1 | 0;
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var12 = $$je;
                        break b;
                    } else {
                        throw $$e;
                    }
                }
            }
            try {
                $var14 = 1;
                while ($var14 < nms_NBTTagList_tagCount($var3)) {
                    $var13 = $var14 - 1 | 0;
                    $var15 = nms_NBTTagList_tagAt($var3, $var14);
                    if ($var15 instanceof nms_NBTTagList) {
                        $var16 = $var15;
                        if (nms_NBTTagList_tagCount($var16) > 0 && $var13 < 7) {
                            $var17 = $java.maat_TMIConfig_getState($var0, $var13);
                            $var18 = 0;
                            while ($var18 < nms_NBTTagList_tagCount($var16)) {
                                $var10 = nms_NBTTagList_tagAt($var16, $var18);
                                if ($var10 instanceof nms_NBTTagCompound) {
                                    $var11 = $var10;
                                    if (!nms_NBTTagCompound_hasKey($var11, $rt_s(1900)))
                                        $var17.data[$var18] = null;
                                    else {
                                        var$18 = $var17.data;
                                        var$18[$var18] = nms_ItemStack__init_0(0, 1, 0);
                                        nms_ItemStack_readFromNBT(var$18[$var18], $var11);
                                    }
                                }
                                $var18 = $var18 + 1 | 0;
                            }
                            $java.maat_TMIConfig_statesSaved.data[$var13] = 1;
                        }
                    }
                    $var14 = $var14 + 1 | 0;
                }
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var12 = $$je;
                } else {
                    throw $$e;
                }
            }
        }
        ji_PrintStream_println1(jl_System_out(), $var12);
    }
};
$java.maat_TMIUtils_loadItems = function($var0) {
    var $var1, $var2, $var3, $var26, $var27, $var30, $var7, $var29, $var8, $var34, $var40, $var34_0, $var35, $var37, $var38, $var41, $var42, $var14, $var43, $var22, $var10, $var9, $var11, $var13, $var15, $var16, $var17, $var18, $var28, $var32, var$32, $var36, $var39, $$je;
    $var1 = $java.maat_TMIUtils_availableItems;
    $var2 = $java.maat_TMIConfig_getEnchantableItems($var0);
    $var3 = $java.maat_TMIConfig_isMultiplayer();
    ju_ArrayList_clear($var1);
    ju_ArrayList_clear($var2);
    $var26 = ju_ArrayList__init_0();
    nms_Item_$callClinit();
    $var27 = nms_Item_itemsList.data;
    $var30 = $var27.length;
    $var7 = 0;
    $var29 = null;
    while ($var7 < $var30) {
        a: {
            $var8 = $var27[$var7];
            if ($var8 !== null) {
                if ($var8.$itemID == $java.maat_TMIItemInfo_addItemOffset(127)) {
                    if (!$java.maat_TMIConfig_areDamageVariantsShown($var0))
                        break a;
                    $var34 = $java.ju_LinkedHashMap_keySet(nms_EntityList_entityEggs).$iterator();
                    while (true) {
                        if (!$var34.$hasNext())
                            break a;
                        $var40 = $var34.$next();
                        ju_ArrayList_add($var1, nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(127), 64, jl_Integer_intValue($var40)));
                    }
                }
                if ($var8.$itemID == 52) {
                    if ($var3)
                        ju_ArrayList_add($var1, nms_ItemStack__init_0(52, 64, 0));
                    else {
                        try {
                            $var34_0 = ju_TreeSet_iterator($java.maat_TMIPrivateFields_getSpawnerEntityIdSet());
                            while ($var34_0.$hasNext()) {
                                ju_ArrayList_add($var1, nms_ItemStack__init_0(52, 64, jl_Integer_intValue($var34_0.$next())));
                            }
                            $var35 = $java.maat_TMIUtils_makeSingleSpawner(50, 64, $rt_s(2579));
                            nms_NBTTagCompound_setBoolean(nms_NBTTagCompound_getCompoundTag($var35.$stackTagCompound, $rt_s(2580)), $rt_s(2581), 1);
                            ju_ArrayList_add($var1, $var35);
                            $var37 = $java.maat_TMIUtils_makeSingleSpawner(51, 64, $rt_s(2582));
                            nms_NBTTagCompound_setTag(nms_NBTTagCompound_getCompoundTag($var37.$stackTagCompound, $rt_s(2580)), $rt_s(2583), nms_NBTTagByte__init_($rt_s(36), 1));
                            $var38 = nms_NBTTagList__init_0();
                            $var41 = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(16), 1, 0);
                            $var42 = nms_NBTTagCompound__init_0();
                            nms_ItemStack_writeToNBT($var41, $var42);
                            nms_NBTTagList_appendTag($var38, $var42);
                            nms_NBTTagList_appendTag($var38, nms_NBTTagCompound__init_0());
                            nms_NBTTagList_appendTag($var38, nms_NBTTagCompound__init_0());
                            nms_NBTTagList_appendTag($var38, nms_NBTTagCompound__init_0());
                            nms_NBTTagList_appendTag($var38, nms_NBTTagCompound__init_0());
                            nms_NBTTagCompound_setTag(nms_NBTTagCompound_getCompoundTag($var37.$stackTagCompound, $rt_s(2580)), $rt_s(2584), $var38);
                            ju_ArrayList_add($var1, $var37);
                            $var14 = $java.maat_TMIUtils_makeSingleSpawner(90, 64, $rt_s(2585));
                            nms_NBTTagCompound_setBoolean(nms_NBTTagCompound_getCompoundTag($var14.$stackTagCompound, $rt_s(2580)), $rt_s(2586), 1);
                            ju_ArrayList_add($var1, $var14);
                            ju_ArrayList_add($var1, $java.maat_TMIUtils_makeRandomFireworkSpawner());
                            $var43 = $java.maat_TMIUtils_makeSingleSpawner(21, 64, $rt_s(2587));
                            $java.maat_TMIUtils_addLore($var43, $rt_s(2588));
                            nms_NBTTagCompound_setByte(nms_NBTTagCompound_getCompoundTag($var43.$stackTagCompound, $rt_s(2580)), $rt_s(2589), 50);
                            nms_NBTTagCompound_setByte(nms_NBTTagCompound_getCompoundTag($var43.$stackTagCompound, $rt_s(2580)), $rt_s(2590), 2);
                            nms_NBTTagCompound_setBoolean(nms_NBTTagCompound_getCompoundTag($var43.$stackTagCompound, $rt_s(2580)), $rt_s(2591), 0);
                            nms_NBTTagCompound_setShort($var43.$stackTagCompound, $rt_s(2592), 15);
                            nms_NBTTagCompound_setShort($var43.$stackTagCompound, $rt_s(2593), 15);
                            nms_NBTTagCompound_setShort($var43.$stackTagCompound, $rt_s(2594), 10);
                            nms_NBTTagCompound_setShort($var43.$stackTagCompound, $rt_s(2595), 15);
                            nms_NBTTagCompound_setShort($var43.$stackTagCompound, $rt_s(2596), 16);
                            nms_NBTTagCompound_setShort($var43.$stackTagCompound, $rt_s(2597), 136);
                            break a;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Exception) {
                                $var22 = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        ji_PrintStream_println1(jl_System_out(), $var22);
                        ju_ArrayList_add($var1, nms_ItemStack__init_0(52, 64, 0));
                    }
                } else if (!$java.maat_TMIItemInfo_isHidden($var8.$itemID)) {
                    if ($var8.$getItemEnchantability() > 0)
                        ju_ArrayList_add($var2, $var8);
                    $var10 = $var8.$itemID;
                    nms_Block_$callClinit();
                    if ($var10 < nms_Block_blocksList.data.length && nms_Block_blocksList.data[$var8.$itemID] !== null) {
                        ju_ArrayList_clear($var26);
                        nms_Block_blocksList.data[$var8.$itemID].$getSubBlocks($var8.$itemID, $var29, $var26);
                        if (ju_ArrayList_size($var26) > 1) {
                            $var34 = ju_AbstractList_iterator($var26);
                            while (ju_AbstractList$1_hasNext($var34)) {
                                $var37 = ju_AbstractList$1_next($var34);
                                $var37.$stackSize = nms_Item_getItemStackLimit(nms_Item_itemsList.data[$var37.$itemID0]);
                                ju_ArrayList_add($var1, $var37);
                            }
                            break a;
                        }
                    }
                    $var9 = ju_HashSet__init_0();
                    $var10 = !$java.maat_TMIConfig_areDamageVariantsShown($var0) ? 0 : 15;
                    $var11 = $java.maat_TMIItemInfo_getMaxDamageException($var8.$itemID);
                    if ($var11 <= $var10)
                        $var11 = $var10;
                    $var13 = 0;
                    b: while (true) {
                        if ($var13 > $var11)
                            break a;
                        c: {
                            if (!($var8.$itemID == 43 && $var13 > 0) && !($var8.$itemID == 44 && $var13 > 5)) {
                                if ($var8.$itemID == 59) {
                                    if ($var13 != 7)
                                        break c;
                                    if ($var3)
                                        break c;
                                }
                                if ($var8.$itemID == 104) {
                                    if ($var13 != 7)
                                        break c;
                                    if ($var3)
                                        break c;
                                }
                                if ($var8.$itemID == 105) {
                                    if ($var13 != 7)
                                        break c;
                                    if ($var3)
                                        break c;
                                }
                                if ($var8.$itemID == 115) {
                                    if ($var13 != 3)
                                        break c;
                                    if ($var3)
                                        break c;
                                }
                                if (!($var8.$itemID == 78 && $var13 > 0 && $var3) && !($var8.$itemID == 125 && $var13 > 0) && !($var8.$itemID == 126 && $var13 > 3)) {
                                    $var14 = nms_ItemStack__init_4($var8, nms_Item_getItemStackLimit($var8), $var13);
                                    d: {
                                        e: {
                                            f: {
                                                try {
                                                    $var15 = nms_Item_getIconIndex($var8, $var14);
                                                    $var16 = $var8.$getUnlocalizedName($var14);
                                                    if (jl_String_equals($java.maat_TMIUtils_itemDisplayName($var14), $rt_s(2545))) {
                                                        if ($var13)
                                                            break f;
                                                        else
                                                            break b;
                                                    }
                                                } catch ($$e) {
                                                    $$je = $rt_wrapException($$e);
                                                    if ($$je instanceof jl_NullPointerException) {
                                                        break e;
                                                    } else if ($$je instanceof jl_IndexOutOfBoundsException) {
                                                        break d;
                                                    } else {
                                                        throw $$e;
                                                    }
                                                }
                                                g: {
                                                    try {
                                                        if ($var8.$itemID >= nms_Block_blocksList.data.length)
                                                            break g;
                                                        if (nms_Block_blocksList.data[$var8.$itemID] === null)
                                                            break g;
                                                    } catch ($$e) {
                                                        $$je = $rt_wrapException($$e);
                                                        if ($$je instanceof jl_NullPointerException) {
                                                            break e;
                                                        } else if ($$je instanceof jl_IndexOutOfBoundsException) {
                                                            break d;
                                                        } else {
                                                            throw $$e;
                                                        }
                                                    }
                                                    h: {
                                                        try {
                                                            nms_Block_blocksList.data[$var8.$itemID].$getIcon(1, $var13);
                                                            break h;
                                                        } catch ($$e) {
                                                            $$je = $rt_wrapException($$e);
                                                            if ($$je instanceof jl_Exception) {
                                                            } else if ($$je instanceof jl_NullPointerException) {
                                                                break e;
                                                            } else if ($$je instanceof jl_IndexOutOfBoundsException) {
                                                                break d;
                                                            } else {
                                                                throw $$e;
                                                            }
                                                        }
                                                        break c;
                                                    }
                                                    try {
                                                        break g;
                                                    } catch ($$e) {
                                                        $$je = $rt_wrapException($$e);
                                                        if ($$je instanceof jl_NullPointerException) {
                                                            break e;
                                                        } else if ($$je instanceof jl_IndexOutOfBoundsException) {
                                                            break d;
                                                        } else {
                                                            throw $$e;
                                                        }
                                                    }
                                                }
                                                i: {
                                                    try {
                                                        j: {
                                                            try {
                                                                if (!$var3 && !($var8.$itemID != 99 && $var8.$itemID != 100) && $var13 < 16)
                                                                    break j;
                                                                $var17 = 0;
                                                                break i;
                                                            } catch ($$e) {
                                                                $$je = $rt_wrapException($$e);
                                                                if ($$je instanceof jl_NullPointerException) {
                                                                    break e;
                                                                } else {
                                                                    throw $$e;
                                                                }
                                                            }
                                                        }
                                                        try {
                                                            $var17 = 1;
                                                            break i;
                                                        } catch ($$e) {
                                                            $$je = $rt_wrapException($$e);
                                                            if ($$je instanceof jl_NullPointerException) {
                                                                break e;
                                                            } else {
                                                                throw $$e;
                                                            }
                                                        }
                                                    } catch ($$e) {
                                                        $$je = $rt_wrapException($$e);
                                                        if ($$je instanceof jl_IndexOutOfBoundsException) {
                                                            break d;
                                                        } else {
                                                            throw $$e;
                                                        }
                                                    }
                                                }
                                                k: {
                                                    try {
                                                        $var18 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $var16), $rt_s(1)), $var15.$getIconName()));
                                                        if (!ju_HashSet_contains($var9, $var18))
                                                            break k;
                                                        if ($java.maat_TMIItemInfo_isShown($var8.$itemID, $var13))
                                                            break k;
                                                        if (!$var17)
                                                            break f;
                                                        else
                                                            break k;
                                                    } catch ($$e) {
                                                        $$je = $rt_wrapException($$e);
                                                        if ($$je instanceof jl_NullPointerException) {
                                                            break e;
                                                        } else if ($$je instanceof jl_IndexOutOfBoundsException) {
                                                            break d;
                                                        } else {
                                                            throw $$e;
                                                        }
                                                    }
                                                }
                                                try {
                                                    ju_ArrayList_add($var1, $var14);
                                                    ju_HashSet_add($var9, $var18);
                                                    break f;
                                                } catch ($$e) {
                                                    $$je = $rt_wrapException($$e);
                                                    if ($$je instanceof jl_NullPointerException) {
                                                        break e;
                                                    } else if ($$je instanceof jl_IndexOutOfBoundsException) {
                                                        break d;
                                                    } else {
                                                        throw $$e;
                                                    }
                                                }
                                            }
                                            break c;
                                        }
                                        break c;
                                    }
                                }
                            }
                        }
                        $var13 = $var13 + 1 | 0;
                    }
                }
            }
        }
        $var7 = $var7 + 1 | 0;
    }
    l: {
        if ($java.maat_TMIConfig_areDamageVariantsShown($var0)) {
            $java.maat_TMIItemInfo_$callClinit();
            $var28 = ju_AbstractList_iterator($java.maat_TMIItemInfo_potionValues);
            while (true) {
                if (!ju_AbstractList$1_hasNext($var28))
                    break l;
                $var3 = jl_Integer_intValue(ju_AbstractList$1_next($var28));
                ju_ArrayList_add($var1, nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(117), 64, $var3));
            }
        }
    }
    if ($java.maat_TMIConfig_areDamageVariantsShown($var0) && !$java.maat_TMIConfig_isMultiplayer()) {
        $var29 = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(117), 64, 1);
        $java.maat_TMIUtils_addEffectToPotion($var29, nms_PotionEffect__init_(3, 0, 1));
        ju_ArrayList_add($var1, $var29);
        $var32 = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(117), 64, 16384);
        $java.maat_TMIUtils_addEffectToPotion($var32, nms_PotionEffect__init_(7, 0, 3));
        ju_ArrayList_add($var1, $var32);
        $var27 = $rt_createIntArray(1);
        $var27.data[0] = 4312372;
        var$32 = $rt_createIntArray(1);
        var$32.data[0] = 15435844;
        ju_ArrayList_add($var1, $java.maat_TMIUtils_makeFirework($rt_s(2598), 2, 3, $var27, var$32, 1, 0));
        $var27 = $rt_createIntArray(1);
        $var27.data[0] = 6719955;
        ju_ArrayList_add($var1, $java.maat_TMIUtils_makeFirework($rt_s(2599), 4, 2, $var27, null, 0, 0));
        $var27 = $rt_createIntArray(1);
        $var27.data[0] = 11743532;
        ju_ArrayList_add($var1, $java.maat_TMIUtils_makeFirework($rt_s(2600), 1, 1, $var27, null, 0, 0));
        $var27 = $rt_createIntArray(3);
        var$32 = $var27.data;
        var$32[0] = 11743532;
        var$32[1] = 15790320;
        var$32[2] = 2437522;
        var$32 = $rt_createIntArray(1);
        var$32.data[0] = 15790320;
        $var36 = $java.maat_TMIUtils_makeExplosionTag(1, $var27, var$32, 1, 1);
        $var37 = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(145), 64, 0);
        $var37.$stackTagCompound = nms_NBTTagCompound__init_0();
        $var27 = $rt_createArray(nms_NBTTagCompound, 2);
        var$32 = $var27.data;
        var$32[0] = $var36;
        var$32[1] = $var36;
        $var39 = $java.maat_TMIUtils_makeFireworksTag(2, $var27);
        nms_NBTTagCompound_setCompoundTag($var37.$stackTagCompound, $rt_s(1871), $var39);
        $java.maat_TMIUtils_nameStack($var37, $rt_s(2601));
        ju_ArrayList_add($var1, $var37);
    }
    $java.maat_TMIUtils_filterItems(null, $var0);
};
$java.maat_TMIUtils_makeRandomFireworkSpawner = function() {
    var $var0, $var1, $var2, $var3, $var4, var$6, var$7;
    $var0 = nms_ItemStack__init_0(52, 1, 22);
    $var0.$stackTagCompound = nms_NBTTagCompound__init_0();
    $java.maat_TMIUtils_nameStack($var0, $rt_s(2602));
    $java.maat_TMIUtils_addLore($var0, $rt_s(2603));
    nms_NBTTagCompound_setShort($var0.$stackTagCompound, $rt_s(2592), 20);
    nms_NBTTagCompound_setShort($var0.$stackTagCompound, $rt_s(2593), 20);
    nms_NBTTagCompound_setShort($var0.$stackTagCompound, $rt_s(2594), 1);
    nms_NBTTagCompound_setShort($var0.$stackTagCompound, $rt_s(2595), 5);
    nms_NBTTagCompound_setShort($var0.$stackTagCompound, $rt_s(2596), 120);
    nms_NBTTagCompound_setShort($var0.$stackTagCompound, $rt_s(2597), 2);
    $var1 = nms_NBTTagList__init_1($rt_s(2604));
    nms_NBTTagCompound_setTag($var0.$stackTagCompound, $rt_s(2604), $var1);
    $var2 = 0;
    while ($var2 < 10) {
        $var3 = nms_NBTTagCompound__init_1($rt_s(2580));
        nms_NBTTagCompound_setString($var3, $rt_s(2307), $rt_s(2058));
        nms_NBTTagCompound_setInteger($var3, $rt_s(2605), 1);
        $var4 = nms_NBTTagCompound__init_1($rt_s(2606));
        nms_NBTTagCompound_setCompoundTag($var3, $rt_s(2606), $var4);
        if (!$java.ju_Random_nextBoolean($java.maat_TMIUtils_random)) {
            var$6 = $rt_createIntArray(1);
            var$6.data[0] = $java.maat_TMIUtils_randomBrightColor();
        } else {
            var$6 = $rt_createIntArray(2);
            var$7 = var$6.data;
            var$7[0] = $java.maat_TMIUtils_randomBrightColor();
            var$7[1] = $java.maat_TMIUtils_randomBrightColor();
        }
        if (!$java.ju_Random_nextBoolean($java.maat_TMIUtils_random))
            var$7 = null;
        else {
            var$7 = $rt_createIntArray(1);
            var$7.data[0] = $java.maat_TMIUtils_randomBrightColor();
        }
        nms_NBTTagCompound_setCompoundTag($var4, $rt_s(2607), nms_ItemStack_writeToNBT($java.maat_TMIUtils_makeFirework($rt_s(2608), ju_Random_nextInt($java.maat_TMIUtils_random, 3) + 1 | 0, ju_Random_nextInt($java.maat_TMIUtils_random, 4), var$6, var$7, $java.ju_Random_nextBoolean($java.maat_TMIUtils_random), $java.ju_Random_nextBoolean($java.maat_TMIUtils_random)), nms_NBTTagCompound__init_0()));
        nms_NBTTagCompound_setInteger($var4, $rt_s(2609), (ju_Random_nextInt($java.maat_TMIUtils_random, 15) + ju_Random_nextInt($java.maat_TMIUtils_random, 15) | 0) + 20 | 0);
        nms_NBTTagList_appendTag($var1, $var3);
        $var2 = $var2 + 1 | 0;
    }
    return $var0;
};
$java.maat_TMIUtils_makeSingleSpawner = function($var0, $var1, $var2) {
    var $var4, $var5;
    nms_EntityList_getStringFromID($var0);
    $var4 = nms_ItemStack__init_0(52, $var1, $var0);
    $var4.$stackTagCompound = nms_NBTTagCompound__init_0();
    $var5 = nms_NBTTagCompound__init_1($rt_s(2580));
    nms_NBTTagCompound_setCompoundTag($var4.$stackTagCompound, $rt_s(2580), $var5);
    if ($var2 !== null)
        $java.maat_TMIUtils_nameStack($var4, $var2);
    return $var4;
};
$java.maat_TMIUtils_makeFirework = function($var0, $var1, $var2, $var3, $var4, $var5, $var6) {
    var $var7, $var8, $var9;
    $var7 = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(145), 64, 0);
    $var7.$stackTagCompound = nms_NBTTagCompound__init_0();
    $var8 = $java.maat_TMIUtils_makeExplosionTag($var2, $var3, $var4, $var5, $var6);
    $var3 = $rt_createArray(nms_NBTTagCompound, 1);
    $var3.data[0] = $var8;
    $var9 = $java.maat_TMIUtils_makeFireworksTag($var1, $var3);
    nms_NBTTagCompound_setCompoundTag($var7.$stackTagCompound, $rt_s(1871), $var9);
    if ($var0 !== null && !jl_String_equals($var0, $rt_s(36)))
        $java.maat_TMIUtils_nameStack($var7, $var0);
    return $var7;
};
$java.maat_TMIUtils_makeExplosionTag = function($var0, $var1, $var2, $var3, $var4) {
    var $var5;
    $var5 = nms_NBTTagCompound__init_1($rt_s(2305));
    nms_NBTTagCompound_setBoolean($var5, $rt_s(1516), $var3);
    nms_NBTTagCompound_setBoolean($var5, $rt_s(2314), $var4);
    nms_NBTTagCompound_setByte($var5, $rt_s(2307), ($var0 & 15) << 24 >> 24);
    if ($var1 !== null && $var1.data.length > 0)
        nms_NBTTagCompound_setIntArray($var5, $rt_s(2306), $var1);
    if ($var2 !== null && $var2.data.length > 0)
        nms_NBTTagCompound_setIntArray($var5, $rt_s(2312), $var2);
    return $var5;
};
$java.maat_TMIUtils_randomBrightColor = function() {
    return $java.maa_Color_HSBtoRGB($java.ju_Random_nextFloat($java.maat_TMIUtils_random), $java.ju_Random_nextFloat($java.maat_TMIUtils_random), $java.ju_Random_nextFloat($java.maat_TMIUtils_random) * 0.5 + 0.5);
};
$java.maat_TMIUtils_makeFireworksTag = function($var0, $var1) {
    var $var2, $var3, $var5, $var6;
    $var1 = $var1.data;
    $var2 = nms_NBTTagCompound__init_1($rt_s(1871));
    nms_NBTTagCompound_setByte($var2, $rt_s(1872), ($var0 & 15) << 24 >> 24);
    $var3 = nms_NBTTagList__init_0();
    nms_NBTTagCompound_setTag($var2, $rt_s(1515), $var3);
    $var5 = $var1.length;
    $var6 = 0;
    while ($var6 < $var5) {
        nms_NBTTagList_appendTag($var3, $var1[$var6]);
        $var6 = $var6 + 1 | 0;
    }
    return $var2;
};
$java.maat_TMIUtils_filterItems = function($var0, $var1) {
    var $var2, $var3, $var4, $var5, $var6;
    a: {
        $var2 = $java.maat_TMIUtils_availableItems;
        $var3 = $java.maat_TMIConfig_items;
        ju_ArrayList_clear($var3);
        if (!($var0 !== null && !jl_String_equals($var0, $rt_s(36)))) {
            $var4 = ju_AbstractList_iterator($var2);
            while (true) {
                if (!ju_AbstractList$1_hasNext($var4))
                    break a;
                ju_ArrayList_add($var3, ju_AbstractList$1_next($var4));
            }
        }
        $var0 = jl_String_toLowerCase($var0);
        $var4 = ju_AbstractList_iterator($var2);
        while (true) {
            if (!ju_AbstractList$1_hasNext($var4))
                break a;
            $var5 = ju_AbstractList$1_next($var4);
            if ($var5 === null)
                continue;
            $var6 = $java.maat_TMIUtils_itemDisplayName($var5);
            if ($var6 !== null && jl_String_contains(jl_String_toLowerCase($var6), $var0))
                ju_ArrayList_add($var3, $var5);
        }
    }
};
$java.maat_TMIUtils_safeReportException = function($var0) {
    var $var1, $var2, $var4, $var5, $var6, $$je;
    a: {
        try {
            $var1 = jt_SimpleDateFormat__init_0($rt_s(2610));
            $var2 = jl_StringBuffer__init_0();
            jt_SimpleDateFormat_format($var1, ju_Date__init_0(), $var2, jt_FieldPosition__init_(1));
            jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2611)), jl_StringBuffer_toString($var2)), $rt_s(1106)));
            $var4 = $java.ji_StringWriter__init_();
            $var5 = $java.ji_PrintWriter__init_($var4);
            ji_PrintWriter_print($var5, $rt_s(2612));
            jl_Throwable_printStackTrace1($var0, $var5);
            $java.ji_PrintWriter_println($var5, $rt_s(2613));
            $java.ji_PrintWriter_close($var5);
            ji_PrintStream_println(jl_System_out(), $java.ji_StringWriter_toString($var4));
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var6 = $$je;
            } else {
                throw $$e;
            }
        }
        ji_PrintStream_println(jl_System_out(), $rt_s(2614));
        jl_Throwable_printStackTrace($var6);
    }
};
$java.maat_TMIUtils_itemDisplayNameMultiline = function($var0, $var1) {
    return maat_TMIUtils_itemDisplayNameMultiline($var0, $var1, 0);
};
function maat_TMIUtils_itemDisplayNameMultiline($var0, $var1, $var2) {
    var $var3, var$5, var$6, $var4, $var6, $$je;
    if ($var0 === null)
        return $java.maat_TMIUtils_EMPTY_NAME;
    if ($var2)
        $var1 = 0;
    a: {
        $var3 = null;
        if ($var0.$itemID0 >= 0) {
            var$5 = $var0.$itemID0;
            nms_Item_$callClinit();
            if (var$5 < nms_Item_itemsList.data.length && nms_Item_itemsList.data[$var0.$itemID0] !== null) {
                var$6 = 1;
                break a;
            }
        }
        var$6 = 0;
    }
    b: {
        if (!var$6)
            $var4 = $var3;
        else {
            try {
                $var4 = nms_ItemStack_getTooltip($var0, nmc_Minecraft_getMinecraft().$thePlayer, $var2);
                $var3 = $var4;
                break b;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $var4 = $var3;
        }
    }
    c: {
        if ($var4 !== null && $var4.$size) {
            if ($var0.$itemID0 != 52)
                break c;
            if ($var0.$stackTagCompound !== null)
                break c;
        }
        $var4 = ju_ArrayList__init_0();
        ju_ArrayList_add($var4, $java.maat_TMIItemInfo_getFallbackName($var0.$itemID0, $var0.$itemDamage));
        if ($var2)
            $var1 = 1;
    }
    $var4 = $var4;
    $var6 = jl_String_trim(ju_ArrayList_get($var4, 0));
    if (!jl_String_length($var6)) {
        $var6 = $java.maat_TMIItemInfo_getFallbackName($var0.$itemID0, $var0.$itemDamage);
        ju_ArrayList_set($var4, 0, $var6);
    }
    if ($var1) {
        $var3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var3);
        jl_AbstractStringBuilder_append($var3, $var6);
        jl_AbstractStringBuilder_append($var3, $rt_s(343));
        jl_AbstractStringBuilder_append2($var3, $var0.$itemID0);
        $var3 = jl_AbstractStringBuilder_toString($var3);
        if ($var0.$itemDamage) {
            $var6 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var6);
            jl_AbstractStringBuilder_append($var6, $var3);
            jl_AbstractStringBuilder_append($var6, $rt_s(2615));
            jl_AbstractStringBuilder_append2($var6, $var0.$itemDamage);
            $var3 = jl_AbstractStringBuilder_toString($var6);
        }
        ju_ArrayList_set($var4, 0, $var3);
    }
    return $var4;
}
$java.maat_TMIUtils_itemDisplayName = function($var0) {
    return $java.maat_TMIUtils_itemDisplayNameMultiline($var0, 0).$get5(0);
};
$java.maat_TMIUtils_setHeldItem = function($var0) {
    $java.maat_TMIUtils_getPlayer().$inventory.$itemStack = $var0;
    nmc_Minecraft_theMinecraft.$thePlayer.$inventory.$itemStack = $var0;
};
$java.maat_TMIUtils_deleteHeldItem = function() {
    $java.maat_TMIUtils_setHeldItem(null);
};
$java.maat_TMIUtils_getHeldItem = function() {
    return nmc_Minecraft_theMinecraft.$thePlayer.$inventory.$itemStack;
};
$java.maat_TMIUtils_giveStack0 = function($var0, $var1) {
    $java.maat_TMIUtils_giveStack($var0, $var1, $var0.$stackSize);
};
$java.maat_TMIUtils_giveStack = function($var0, $var1, $var2) {
    var $var3, $var4, $var5, $var6, $var7, $var10, $var8, $var9;
    $var3 = $java.maat_TMIUtils_copyStack0($var0, $var2);
    $var4 = nmc_Minecraft_theMinecraft;
    if ($java.maat_TMIUtils_isCreativeMode()) {
        $var4.$thePlayer.$inventory.$mainInventory.data[0] = $var0;
        nms_PlayerControllerMP_sendSlotPacket($var4.$playerController, $var0, $var4.$thePlayer.$inventoryContainer.$inventorySlots.$size - 9 | 0);
        nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler($var4), nms_Packet16BlockItemSwitch__init_0(0));
    } else {
        $var5 = jt_NumberFormat_getIntegerInstance(ju_Locale_defaultLocale);
        $var5.$groupingUsed = 0;
        $var6 = $java.jt_MessageFormat__init_($java.ju_LinkedHashMap_get($var1.$settings, $rt_s(2536)));
        $java.jt_MessageFormat_setFormatByArgumentIndex($var6, 1, $var5);
        $java.jt_MessageFormat_setFormatByArgumentIndex($var6, 2, $var5);
        $java.jt_MessageFormat_setFormatByArgumentIndex($var6, 3, $var5);
        $var7 = $rt_createArray(jl_Object, 4);
        $var10 = $var7.data;
        $var10[0] = $var4.$thePlayer.$username0;
        $var10[1] = jl_Integer_valueOf($var3.$itemID0);
        $var10[2] = jl_Integer_valueOf($var3.$stackSize);
        $var10[3] = jl_Integer_valueOf($var3.$itemDamage);
        $var8 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var8);
        jl_AbstractStringBuilder_append($var8, jt_Format_format($var6, $var7));
        $var9 = ju_AbstractList_iterator($java.maat_TMIUtils_getEnchantments($var3));
        while (ju_AbstractList$1_hasNext($var9)) {
            $var7 = ju_AbstractList$1_next($var9).data;
            jl_AbstractStringBuilder_append($var8, $rt_s(343));
            jl_AbstractStringBuilder_append2($var8, $var7[0]);
            jl_AbstractStringBuilder_append($var8, $rt_s(272));
            jl_AbstractStringBuilder_append2($var8, $var7[1]);
        }
        nms_EntityClientPlayerMP_sendChatMessage($var4.$thePlayer, jl_AbstractStringBuilder_toString($var8));
    }
};
$java.maat_TMIUtils_copyStack0 = function($var0, $var1) {
    if ($var0 === null)
        return null;
    $var0.$stackSize = $var0.$stackSize + $var1 | 0;
    return nms_ItemStack_splitStack($var0, $var1);
};
$java.maat_TMIUtils_copyStack = function($var0) {
    return $var0 === null ? null : $java.maat_TMIUtils_copyStack0($var0, $var0.$stackSize);
};
$java.maat_TMIUtils_updateUnlimitedItems = function() {
    var $var0, $var1, $var2, $var3, $var5, $var7, $$je;
    a: {
        b: {
            c: {
                try {
                    if (!$java.maat_TMIConfig_isMultiplayer() && maat_TMIConfig_isEnabled(maat_TMIConfig_getInstance()))
                        break c;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NullPointerException) {
                        break b;
                    } else {
                        throw $$e;
                    }
                }
                return;
            }
            try {
                $var0 = $java.maat_TMIUtils_getPlayer().$inventory.$mainInventory.data;
                $var1 = $var0.length;
                $var2 = 0;
                while ($var2 < $var1) {
                    $var3 = $var0[$var2];
                    if ($var3 !== null) {
                        if ($var3.$stackTagCompound !== null && nms_NBTTagCompound_hasKey($var3.$stackTagCompound, $rt_s(2616)) && nms_NBTTagCompound_hasKey(nms_NBTTagCompound_getCompoundTag($var3.$stackTagCompound, $rt_s(2616)), $rt_s(2617))) {
                            $var5 = $java.maat_TMIUtils_maxStackSize($var3.$itemID0);
                            if ($var5 == 1)
                                $var5 = 64;
                            $var3.$stackSize = $var5;
                        }
                        if (nms_ItemStack_getItemDamageForDisplay($var3) < 0)
                            $java.maat_TMIUtils_setStackDamage($var3, (-32000));
                    }
                    $var2 = $var2 + 1 | 0;
                }
                $var7 = $java.maat_TMIUtils_getHeldItem();
                if ($var7 !== null && $var7.$stackSize > 64)
                    $var7.$stackSize = (-1);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NullPointerException) {
                } else {
                    throw $$e;
                }
            }
        }
    }
};
$java.maat_TMIUtils_setStackDamage = function($var0, $var1) {
    var $var3, $$je;
    a: {
        try {
            $var0.$itemDamage = $var1;
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var3 = $$je;
            } else {
                throw $$e;
            }
        }
        ji_PrintStream_println(jl_System_out(), $rt_s(2618));
        $var3.$printStackTrace1();
    }
};
$java.maat_TMIUtils_deleteItemsOfType = function($var0, $var1) {
    var $var2, $var3, $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$var0 = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $java.maat_TMIUtils_getPlayer().$openContainer.$inventorySlots;
        $var3 = 0;
        $var1 = null;
        while ($var3 < $var2.$size) {
            $var4 = ju_ArrayList_get($var2, $var3);
            if ($var4 !== null) {
                $var5 = $var4.$getStack();
                if ($var5 !== null && $var5.$itemID0 == $var0.$itemID0 && $var5.$itemDamage == $var0.$itemDamage) {
                    $ptr = 1;
                    continue main;
                }
            }
            $var3 = $var3 + 1 | 0;
        }
        return;
    case 1:
        $var4.$putStack($var1);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var3 = $var3 + 1 | 0;
            if ($var3 >= $var2.$size)
                break;
            $var4 = ju_ArrayList_get($var2, $var3);
            if ($var4 === null)
                continue;
            $var5 = $var4.$getStack();
            if ($var5 === null)
                continue;
            if ($var5.$itemID0 != $var0.$itemID0)
                continue;
            if ($var5.$itemDamage != $var0.$itemDamage)
                continue;
            else {
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($var0, $var1, $var2, $var3, $var4, $var5, $ptr);
};
$java.maat_TMIUtils_shiftKey = function() {
    return !nlea_EaglerAdapterImpl2_isKeyDown(54) && !nlea_EaglerAdapterImpl2_isKeyDown(42) ? 0 : 1;
};
$java.maat_TMIUtils_setGameMode = function($var0) {
    var var$2, var$3;
    var$2 = nmc_Minecraft_theMinecraft.$thePlayer;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(2619));
    jl_AbstractStringBuilder_append2(var$3, $var0);
    nms_EntityClientPlayerMP_sendChatMessage(var$2, jl_AbstractStringBuilder_toString(var$3));
};
$java.maat_TMIUtils_isCreativeMode = function() {
    return nms_PlayerControllerMP_isInCreativeMode(nmc_Minecraft_theMinecraft.$playerController);
};
$java.maat_TMIUtils_isRaining = function() {
    return nms_World_isRaining(nmc_Minecraft_theMinecraft.$theWorld);
};
$java.maat_TMIUtils_setHourForward = function($var0) {
    var $var3, var$3, var$4;
    $var3 = Long_add(Long_add(Long_mul(Long_div(nms_World_getWorldTime(nmc_Minecraft_theMinecraft.$theWorld), Long_fromInt(24000)), Long_fromInt(24000)), Long_fromInt(24000)), Long_fromInt($var0 * 1000 | 0));
    var$3 = nmc_Minecraft_theMinecraft.$thePlayer;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, $rt_s(2620));
    nms_EntityClientPlayerMP_sendChatMessage(var$3, jl_AbstractStringBuilder_toString(jl_StringBuilder_append2(var$4, $var3)));
};
$java.maat_TMIUtils_playerIsAlive = function() {
    return nmc_Minecraft_theMinecraft.$thePlayer.$isDead ? 0 : 1;
};
$java.maat_TMIUtils_suppressAchievementNotice = function() {
    return;
};
$java.maat_TMIUtils_maxStackSize = function($var0) {
    nms_Item_$callClinit();
    return nms_Item_itemsList.data[$var0].$maxStackSize;
};
$java.maat_TMIUtils_getEnchantments = function($var0) {
    var $var1, $var2, $var3, $var4, $var5, $var6, var$8;
    a: {
        $var1 = ju_ArrayList__init_0();
        if ($var0 !== null) {
            $var2 = nms_ItemStack_getEnchantmentTagList($var0);
            if ($var2 !== null) {
                $var3 = 0;
                while (true) {
                    if ($var3 >= nms_NBTTagList_tagCount($var2))
                        break a;
                    $var4 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($var2, $var3), $rt_s(1900));
                    $var5 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($var2, $var3), $rt_s(1910));
                    $var6 = $rt_createIntArray(2);
                    var$8 = $var6.data;
                    var$8[0] = $var4;
                    var$8[1] = $var5;
                    ju_ArrayList_add($var1, $var6);
                    $var3 = $var3 + 1 | 0;
                }
            }
        }
    }
    return $var1;
};
$java.maat_TMIUtils_addEnchantment = function($var0, $var1, $var2) {
    nms_Enchantment_$callClinit();
    if ($var1 < nms_Enchantment_enchantmentsList.data.length && nms_Enchantment_enchantmentsList.data[$var1] !== null) {
        nms_ItemStack_addEnchantment($var0, nms_Enchantment_enchantmentsList.data[$var1], $var2);
        return 1;
    }
    return 0;
};
$java.maat_TMIUtils_addEffectToPotion = function($var0, $var1) {
    var $var2, $var3;
    if ($var0.$itemID0 == $java.maat_TMIItemInfo_addItemOffset(117)) {
        if ($var0.$stackTagCompound === null)
            $var0.$stackTagCompound = nms_NBTTagCompound__init_0();
        if (nms_NBTTagCompound_hasKey($var0.$stackTagCompound, $rt_s(2278)))
            $var2 = nms_NBTTagCompound_getTagList($var0.$stackTagCompound, $rt_s(2278));
        else {
            $var2 = nms_NBTTagList__init_0();
            nms_NBTTagCompound_setTag($var0.$stackTagCompound, $rt_s(2278), $var2);
        }
        $var3 = nms_NBTTagCompound__init_0();
        $java.nms_PotionEffect_writeCustomPotionEffectToNBT($var1, $var3);
        nms_NBTTagList_appendTag($var2, $var3);
    }
};
$java.maat_TMIUtils_nameStack = function($var0, $var1) {
    var $var2;
    if ($var1 !== null) {
        if ($var0.$stackTagCompound === null)
            $var0.$stackTagCompound = nms_NBTTagCompound__init_0();
        if (nms_NBTTagCompound_hasKey($var0.$stackTagCompound, $rt_s(334)))
            $var2 = nms_NBTTagCompound_getCompoundTag($var0.$stackTagCompound, $rt_s(334));
        else {
            $var2 = nms_NBTTagCompound__init_0();
            nms_NBTTagCompound_setCompoundTag($var0.$stackTagCompound, $rt_s(334), $var2);
        }
        nms_NBTTagCompound_setString($var2, $rt_s(1906), $var1);
    }
};
$java.maat_TMIUtils_addLore = function($var0, $var1) {
    var $var2, $var3;
    if ($var1 !== null) {
        if ($var0.$stackTagCompound === null)
            $var0.$stackTagCompound = nms_NBTTagCompound__init_0();
        if (nms_NBTTagCompound_hasKey($var0.$stackTagCompound, $rt_s(334)))
            $var2 = nms_NBTTagCompound_getCompoundTag($var0.$stackTagCompound, $rt_s(334));
        else {
            $var2 = nms_NBTTagCompound__init_0();
            nms_NBTTagCompound_setCompoundTag($var0.$stackTagCompound, $rt_s(334), $var2);
        }
        if (nms_NBTTagCompound_hasKey($var2, $rt_s(1914)))
            $var3 = nms_NBTTagCompound_getTagList($var2, $rt_s(1914));
        else {
            $var3 = nms_NBTTagList__init_0();
            nms_NBTTagCompound_setTag($var2, $rt_s(1914), $var3);
        }
        nms_NBTTagList_appendTag($var3, nms_NBTTagString__init_($rt_s(1914), $var1));
    }
};
$java.maat_TMIUtils_getPlayer = function() {
    return nmc_Minecraft_theMinecraft.$thePlayer;
};
$java.maat_TMIUtils_unsetAndSaveItem = function($var0) {
    var var$2, var$3, var$4;
    var$2 = $java.maat_TMIUtils_originalItems;
    var$3 = jl_Integer_valueOf($var0);
    nms_Item_$callClinit();
    var$4 = nms_Item_itemsList.data[$var0];
    nms_Item_itemsList.data[$var0] = null;
    ju_HashMap_putImpl(var$2, var$3, var$4);
};
$java.maat_TMIUtils_modMobSpawner = function($var0) {
    var var$2, var$3;
    $java.maat_TMIUtils_unsetAndSaveItem(52);
    nms_Item_$callClinit();
    var$2 = nms_Item_itemsList.data;
    var$3 = new maat_TMIItemSpawner;
    $java.maat_TMIItemInfo_$callClinit();
    $java.nms_ItemBlock__init_(var$3, 52 - $java.maat_TMIItemInfo_itemOffset | 0);
    var$3.$maxDamage = 0;
    var$3.$hasSubtypes = 1;
    var$3.$unlocalizedName = $rt_s(1967);
    var$2[52] = var$3;
};
$java.maat_TMIUtils_modCrops = function($var0) {
    var var$2, var$3;
    $java.maat_TMIUtils_unsetAndSaveItem(59);
    $java.maat_TMIUtils_unsetAndSaveItem(104);
    $java.maat_TMIUtils_unsetAndSaveItem(105);
    $java.maat_TMIUtils_unsetAndSaveItem(115);
    nms_Item_$callClinit();
    var$2 = nms_Item_itemsList.data;
    var$3 = new maat_TMIItemCrop;
    $java.maat_TMIItemInfo_$callClinit();
    $java.maat_TMIItemCrop__init_(var$3, 59 - $java.maat_TMIItemInfo_itemOffset | 0);
    var$3.$unlocalizedName = $rt_s(1974);
    var$2[59] = var$3;
    var$2 = nms_Item_itemsList.data;
    var$3 = $java.maat_TMIItemCrop__init_0(104 - $java.maat_TMIItemInfo_itemOffset | 0);
    var$3.$unlocalizedName = $rt_s(2000);
    var$2[104] = var$3;
    var$2 = nms_Item_itemsList.data;
    var$3 = $java.maat_TMIItemCrop__init_0(105 - $java.maat_TMIItemInfo_itemOffset | 0);
    var$3.$unlocalizedName = $rt_s(2621);
    var$2[105] = var$3;
    var$2 = nms_Item_itemsList.data;
    var$3 = $java.maat_TMIItemCrop__init_0(115 - $java.maat_TMIItemInfo_itemOffset | 0);
    var$3.$unlocalizedName = $rt_s(2010);
    var$2[115] = var$3;
};
function maat_TMIUtils__clinit_() {
    var var$1;
    var$1 = $rt_createArray(jl_String, 1);
    var$1.data[0] = $rt_s(36);
    $java.maat_TMIUtils_EMPTY_NAME = ju_Arrays_asList(var$1);
    $java.maat_TMIUtils_haveReplacedItems = 0;
    $java.maat_TMIUtils_random = new ju_Random;
    $java.maat_TMIUtils_originalItems = ju_HashMap__init_();
    $java.maat_TMIUtils_availableItems = ju_ArrayList__init_0();
}
function nms_TileEntitySkull() {
    var a = this; nms_TileEntity.call(a);
    a.$skullType = 0;
    a.$skullRotation = 0;
    a.$extraType = null;
}
$java.nms_TileEntitySkull__init_ = function() {
    var var_0 = new nms_TileEntitySkull();
    nms_TileEntitySkull__init_(var_0);
    return var_0;
};
function nms_TileEntitySkull__init_($this) {
    nms_TileEntity__init_($this);
    $this.$extraType = $rt_s(36);
}
$java.nms_TileEntitySkull_readFromNBT = function($this, $par1NBTTagCompound) {
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $this.$skullType = nms_NBTTagCompound_getByte($par1NBTTagCompound, $rt_s(2622));
    $this.$skullRotation = nms_NBTTagCompound_getByte($par1NBTTagCompound, $rt_s(2623));
    if (nms_NBTTagCompound_hasKey($par1NBTTagCompound, $rt_s(2624)))
        $this.$extraType = nms_NBTTagCompound_getString($par1NBTTagCompound, $rt_s(2624));
};
$java.nms_TileEntitySkull_setSkullType = function($this, $par1, $par2Str) {
    $this.$skullType = $par1;
    $this.$extraType = $par2Str;
};
$java.nms_TileEntitySkull_getSkullType = function($this) {
    return $this.$skullType;
};
$java.nms_TileEntitySkull_func_82119_b = function($this) {
    return $this.$skullRotation;
};
$java.nms_TileEntitySkull_setSkullRotation = function($this, $par1) {
    $this.$skullRotation = $par1;
};
$java.nms_TileEntitySkull_getExtraType = function($this) {
    return $this.$extraType;
};
function jur_AbstractCharClass$LazyJavaLowerCase$1() {
    jur_AbstractCharClass.call(this);
    this.$this$025 = null;
}
$java.jur_AbstractCharClass$LazyJavaLowerCase$1_contains = function($this, $ch) {
    return jl_Character_isLowerCase($ch);
};
function jur_AbstractCharClass$LazyJavaUpperCase$1() {
    jur_AbstractCharClass.call(this);
    this.$this$026 = null;
}
$java.jur_AbstractCharClass$LazyJavaUpperCase$1_contains = function($this, $ch) {
    return jl_Character_isUpperCase($ch);
};
function jur_AbstractCharClass$LazyJavaWhitespace$1() {
    jur_AbstractCharClass.call(this);
    this.$this$027 = null;
}
$java.jur_AbstractCharClass$LazyJavaWhitespace$1_contains = function($this, $ch) {
    return jl_Character_isWhitespace($ch);
};
function jur_AbstractCharClass$LazyJavaMirrored$1() {
    jur_AbstractCharClass.call(this);
    this.$this$028 = null;
}
$java.jur_AbstractCharClass$LazyJavaMirrored$1_contains = function($this, $ch) {
    return 0;
};
function jur_AbstractCharClass$LazyJavaDefined$1() {
    jur_AbstractCharClass.call(this);
    this.$this$029 = null;
}
$java.jur_AbstractCharClass$LazyJavaDefined$1_contains = function($this, $ch) {
    return !jl_Character_getType($ch) ? 0 : 1;
};
function jur_AbstractCharClass$LazyJavaDigit$1() {
    jur_AbstractCharClass.call(this);
    this.$this$030 = null;
}
$java.jur_AbstractCharClass$LazyJavaDigit$1_contains = function($this, $ch) {
    return jl_Character_getType($ch) != 9 ? 0 : 1;
};
function jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1() {
    jur_AbstractCharClass.call(this);
    this.$this$031 = null;
}
$java.jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1_contains = function($this, $ch) {
    return jl_Character_isIdentifierIgnorable($ch);
};
function jur_AbstractCharClass$LazyJavaISOControl$1() {
    jur_AbstractCharClass.call(this);
    this.$this$032 = null;
}
$java.jur_AbstractCharClass$LazyJavaISOControl$1_contains = function($this, $ch) {
    a: {
        b: {
            if (!($ch >= 0 && $ch <= 31)) {
                if ($ch < 127)
                    break b;
                if ($ch > 159)
                    break b;
            }
            $ch = 1;
            break a;
        }
        $ch = 0;
    }
    return $ch;
};
function jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1() {
    jur_AbstractCharClass.call(this);
    this.$this$033 = null;
}
$java.jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1_contains = function($this, $ch) {
    a: {
        b: {
            switch (jl_Character_getType($ch)) {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 6:
                case 8:
                case 9:
                case 10:
                case 23:
                case 26:
                    break;
                case 7:
                case 11:
                case 12:
                case 13:
                case 14:
                case 15:
                case 16:
                case 17:
                case 18:
                case 19:
                case 20:
                case 21:
                case 22:
                case 24:
                case 25:
                    break b;
                default:
                    break b;
            }
            $ch = 1;
            break a;
        }
        $ch = jl_Character_isIdentifierIgnorable($ch);
    }
    return $ch;
};
function jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1() {
    jur_AbstractCharClass.call(this);
    this.$this$034 = null;
}
$java.jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1_contains = function($this, $ch) {
    a: {
        b: {
            switch (jl_Character_getType($ch)) {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 10:
                case 23:
                case 26:
                    break;
                case 6:
                case 7:
                case 8:
                case 9:
                case 11:
                case 12:
                case 13:
                case 14:
                case 15:
                case 16:
                case 17:
                case 18:
                case 19:
                case 20:
                case 21:
                case 22:
                case 24:
                case 25:
                    break b;
                default:
                    break b;
            }
            $ch = 1;
            break a;
        }
        $ch = jl_Character_isIdentifierIgnorable($ch);
    }
    return $ch;
};
function jur_AbstractCharClass$LazyJavaLetter$1() {
    jur_AbstractCharClass.call(this);
    this.$this$035 = null;
}
$java.jur_AbstractCharClass$LazyJavaLetter$1_contains = function($this, $ch) {
    a: {
        switch (jl_Character_getType($ch)) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                break;
            default:
                $ch = 0;
                break a;
        }
        $ch = 1;
    }
    return $ch;
};
function jur_AbstractCharClass$LazyJavaLetterOrDigit$1() {
    jur_AbstractCharClass.call(this);
    this.$this$036 = null;
}
$java.jur_AbstractCharClass$LazyJavaLetterOrDigit$1_contains = function($this, $ch) {
    return jl_Character_isLetterOrDigit($ch);
};
function jur_AbstractCharClass$LazyJavaSpaceChar$1() {
    jur_AbstractCharClass.call(this);
    this.$this$037 = null;
}
$java.jur_AbstractCharClass$LazyJavaSpaceChar$1_contains = function($this, $ch) {
    return jl_Character_isSpaceChar($ch);
};
function jur_AbstractCharClass$LazyJavaTitleCase$1() {
    jur_AbstractCharClass.call(this);
    this.$this$038 = null;
}
$java.jur_AbstractCharClass$LazyJavaTitleCase$1_contains = function($this, $ch) {
    return jl_Character_getType($ch) != 3 ? 0 : 1;
};
function jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1() {
    jur_AbstractCharClass.call(this);
    this.$this$039 = null;
}
$java.jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1_contains = function($this, $ch) {
    a: {
        b: {
            switch (jl_Character_getType($ch)) {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 6:
                case 8:
                case 9:
                case 10:
                case 23:
                    break;
                case 7:
                case 11:
                case 12:
                case 13:
                case 14:
                case 15:
                case 16:
                case 17:
                case 18:
                case 19:
                case 20:
                case 21:
                case 22:
                    break b;
                default:
                    break b;
            }
            $ch = 1;
            break a;
        }
        $ch = jl_Character_isIdentifierIgnorable($ch);
    }
    return $ch;
};
function jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1() {
    jur_AbstractCharClass.call(this);
    this.$this$040 = null;
}
$java.jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1_contains = function($this, $ch) {
    a: {
        b: {
            switch (jl_Character_getType($ch)) {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 10:
                    break;
                case 6:
                case 7:
                case 8:
                case 9:
                    break b;
                default:
                    break b;
            }
            $ch = 1;
            break a;
        }
        $ch = jl_Character_isIdentifierIgnorable($ch);
    }
    return $ch;
};
function jur_UnicodeCategory() {
    jur_AbstractCharClass.call(this);
    this.$category1 = 0;
}
function jur_UnicodeCategory__init_(var_0) {
    var var_1 = new jur_UnicodeCategory();
    jur_UnicodeCategory__init_0(var_1, var_0);
    return var_1;
}
function jur_UnicodeCategory__init_0($this, $category) {
    jur_AbstractCharClass__init_0($this);
    $this.$category1 = $category;
}
$java.jur_UnicodeCategory_contains = function($this, $ch) {
    return $this.$alt0 ^ ($this.$category1 != jl_Character_getType($ch & 65535) ? 0 : 1);
};
function jur_UnicodeCategoryScope() {
    jur_UnicodeCategory.call(this);
}
$java.jur_UnicodeCategoryScope_contains = function($this, $ch) {
    return $this.$alt0 ^ (!($this.$category1 >> jl_Character_getType($ch & 65535) & 1) ? 0 : 1);
};
function nms_GuiGameOver() {
    nms_GuiScreen.call(this);
    this.$cooldownTimer = 0;
}
$java.nms_GuiGameOver__init_ = function() {
    var var_0 = new nms_GuiGameOver();
    nms_GuiGameOver__init_(var_0);
    return var_0;
};
function nms_GuiGameOver__init_($this) {
    nms_GuiScreen__init_($this);
}
$java.nms_GuiGameOver_initGui = function($this) {
    var $var1;
    ju_ArrayList_clear($this.$buttonList);
    if (!$this.$mc2.$theWorld.$worldInfo.$hardcore) {
        ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(1, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 4 | 0) + 72 | 0, nms_StatCollector_translateToLocal($rt_s(2625))));
        ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(2, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 4 | 0) + 96 | 0, nms_StatCollector_translateToLocal($rt_s(2626))));
    } else if (!$this.$mc2.$integratedServerIsRunning)
        ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(1, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 4 | 0) + 96 | 0, nms_StatCollector_translateToLocal($rt_s(2627))));
    else
        ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(1, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 4 | 0) + 96 | 0, nms_StatCollector_translateToLocal($rt_s(2628))));
    $var1 = ju_AbstractList_iterator($this.$buttonList);
    while (ju_AbstractList$1_hasNext($var1)) {
        ju_AbstractList$1_next($var1).$enabled = 0;
    }
};
$java.nms_GuiGameOver_keyTyped = function($this, $par1, $par2) {
    return;
};
$java.nms_GuiGameOver_actionPerformed = function($this, $par1GuiButton) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            switch ($par1GuiButton.$id3) {
                case 1:
                    break;
                case 2:
                    nms_WorldClient_sendQuittingDisconnectingPacket($this.$mc2.$theWorld);
                    $par1GuiButton = $this.$mc2;
                    var$2 = null;
                    $ptr = 1;
                    continue main;
                default:
                    break a;
            }
            nms_EntityClientPlayerMP_respawnPlayer($this.$mc2.$thePlayer);
            nmc_Minecraft_displayGuiScreen($this.$mc2, null);
        }
        return;
    case 1:
        nmc_Minecraft_loadWorld($par1GuiButton, var$2);
        if ($rt_suspending()) {
            break main;
        }
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiMainMenu__init_0());
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, var$2, $ptr);
};
$java.nms_GuiGameOver_drawScreen = function($this, $par1, $par2, $par3) {
    var $var4, $var5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Gui_drawGradientRect($this, 0, 0, $this.$width, $this.$height, 1615855616, (-1602211792));
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(2.0, 2.0, 2.0);
        $var4 = $this.$mc2.$theWorld.$worldInfo.$hardcore;
        $var5 = !$var4 ? nms_StatCollector_translateToLocal($rt_s(2629)) : nms_StatCollector_translateToLocal($rt_s(2630));
        var$6 = $this.$fontRenderer0;
        var$7 = ($this.$width / 2 | 0) / 2 | 0;
        var$8 = 30;
        var$9 = 16777215;
        $ptr = 1;
    case 1:
        nms_Gui_drawCenteredString($this, var$6, $var5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        if ($var4) {
            $var5 = $this.$fontRenderer0;
            var$6 = nms_StatCollector_translateToLocal($rt_s(2631));
            var$7 = $this.$width / 2 | 0;
            var$8 = 144;
            var$9 = 16777215;
            $ptr = 4;
            continue main;
        }
        $var5 = $this.$fontRenderer0;
        var$6 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$6);
        jl_AbstractStringBuilder_append(var$6, nms_StatCollector_translateToLocal($rt_s(2632)));
        jl_AbstractStringBuilder_append(var$6, $rt_s(49));
        jl_AbstractStringBuilder_append1(var$6, nms_EnumChatFormatting_YELLOW);
        jl_AbstractStringBuilder_append2(var$6, nms_EntityPlayer_getScore($this.$mc2.$thePlayer));
        var$6 = jl_AbstractStringBuilder_toString(var$6);
        var$7 = $this.$width / 2 | 0;
        var$8 = 100;
        var$9 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, $var5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 3;
    case 3:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_Gui_drawCenteredString($this, $var5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $this.$fontRenderer0;
        var$6 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$6);
        jl_AbstractStringBuilder_append(var$6, nms_StatCollector_translateToLocal($rt_s(2632)));
        jl_AbstractStringBuilder_append(var$6, $rt_s(49));
        jl_AbstractStringBuilder_append1(var$6, nms_EnumChatFormatting_YELLOW);
        jl_AbstractStringBuilder_append2(var$6, nms_EntityPlayer_getScore($this.$mc2.$thePlayer));
        var$6 = jl_AbstractStringBuilder_toString(var$6);
        var$7 = $this.$width / 2 | 0;
        var$8 = 100;
        var$9 = 16777215;
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, var$6, var$7, var$8, var$9, $ptr);
};
$java.nms_GuiGameOver_updateScreen = function($this) {
    var $var1;
    a: {
        $this.$cooldownTimer = $this.$cooldownTimer + 1 | 0;
        if ($this.$cooldownTimer == 20) {
            $var1 = ju_AbstractList_iterator($this.$buttonList);
            while (true) {
                if (!ju_AbstractList$1_hasNext($var1))
                    break a;
                ju_AbstractList$1_next($var1).$enabled = 1;
            }
        }
    }
};
function nms_GuiIngameMenu() {
    var a = this; nms_GuiScreen.call(a);
    a.$updateCounter2 = 0;
    a.$updateCounter0 = 0;
}
function nms_GuiIngameMenu__init_0() {
    var var_0 = new nms_GuiIngameMenu();
    nms_GuiIngameMenu__init_(var_0);
    return var_0;
}
function nms_GuiIngameMenu__init_($this) {
    nms_GuiScreen__init_($this);
    $this.$updateCounter2 = 0;
    $this.$updateCounter0 = 0;
}
$java.nms_GuiIngameMenu_initGui = function($this) {
    var var$1, var$2;
    $this.$updateCounter2 = 0;
    ju_ArrayList_clear($this.$buttonList);
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(1, ($this.$width / 2 | 0) - 100 | 0, (($this.$height / 4 | 0) + 120 | 0) + (-16) | 0, nms_StatCollector_translateToLocal($rt_s(2633))));
    if (!$this.$mc2.$integratedServerIsRunning)
        ju_ArrayList_get($this.$buttonList, 0).$displayString = nms_StatCollector_translateToLocal($rt_s(2634));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(4, ($this.$width / 2 | 0) - 100 | 0, (($this.$height / 4 | 0) + 24 | 0) + (-16) | 0, nms_StatCollector_translateToLocal($rt_s(2635))));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(6, ($this.$width / 2 | 0) - 100 | 0, (($this.$height / 4 | 0) + 48 | 0) + (-16) | 0, $rt_s(2636)));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(0, ($this.$width / 2 | 0) - 100 | 0, (($this.$height / 4 | 0) + 96 | 0) + (-16) | 0, 98, 20, nms_StatCollector_translateToLocal($rt_s(1067))));
    var$1 = $this.$buttonList;
    var$2 = nms_GuiButton__init_0(7, ($this.$width / 2 | 0) + 2 | 0, (($this.$height / 4 | 0) + 96 | 0) + (-16) | 0, 98, 20, nms_StatCollector_translateToLocal($rt_s(2637)));
    ju_ArrayList_add(var$1, var$2);
    var$2.$enabled = 0;
};
$java.nms_GuiIngameMenu_actionPerformed = function($this, $par1GuiButton) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            switch ($par1GuiButton.$id3) {
                case 0:
                    nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiOptions__init_($this, $this.$mc2.$gameSettings));
                    break a;
                case 1:
                    $par1GuiButton.$enabled = 0;
                    nms_WorldClient_sendQuittingDisconnectingPacket($this.$mc2.$theWorld);
                    $par1GuiButton = $this.$mc2;
                    var$2 = null;
                    $ptr = 1;
                    continue main;
                case 2:
                case 3:
                    break;
                case 4:
                    nmc_Minecraft_displayGuiScreen($this.$mc2, null);
                    nmc_Minecraft_setIngameFocus($this.$mc2);
                    break a;
                case 5:
                    $par1GuiButton = $this.$mc2;
                    var$2 = new nle_GuiScreenVoiceChannel;
                    nms_GuiScreen__init_(var$2);
                    var$2.$screenTitle0 = $rt_s(2638);
                    var$2.$parent0 = $this;
                    nmc_Minecraft_displayGuiScreen($par1GuiButton, var$2);
                    break a;
                case 6:
                    $par1GuiButton = $this.$mc2;
                    var$2 = new maa_GuiScreenModules;
                    nms_GuiScreen__init_(var$2);
                    var$2.$screenTitle2 = $rt_s(2636);
                    var$2.$parent1 = $this;
                    nmc_Minecraft_displayGuiScreen($par1GuiButton, var$2);
                    break a;
                default:
            }
        }
        return;
    case 1:
        nmc_Minecraft_loadWorld($par1GuiButton, var$2);
        if ($rt_suspending()) {
            break main;
        }
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiMainMenu__init_0());
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, var$2, $ptr);
};
$java.nms_GuiIngameMenu_updateScreen = function($this) {
    $this.$updateCounter0 = $this.$updateCounter0 + 1 | 0;
};
$java.nms_GuiIngameMenu_drawScreen = function($this, $par1, $par2, $par3) {
    var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = $rt_s(2639);
        var$6 = $this.$width / 2 | 0;
        var$7 = 40;
        var$8 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 3;
    case 3:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, var$6, var$7, var$8, $ptr);
};
function nms_WorldRenderer() {
    var a = this; jl_Object.call(a);
    a.$worldObj1 = null;
    a.$glRenderList = 0;
    a.$posX3 = 0;
    a.$posY3 = 0;
    a.$posZ2 = 0;
    a.$chunkX = 0;
    a.$chunkY = 0;
    a.$chunkZ = 0;
    a.$posXMinus = 0;
    a.$posYMinus = 0;
    a.$posZMinus = 0;
    a.$posXClip = 0;
    a.$posYClip = 0;
    a.$posZClip = 0;
    a.$isInFrustum = 0;
    a.$skipRenderPass = null;
    a.$posXPlus = 0;
    a.$posYPlus = 0;
    a.$posZPlus = 0;
    a.$needsUpdate = 0;
    a.$rendererBoundingBox = null;
    a.$chunkIndex = 0;
    a.$isVisible = 0;
    a.$isNowVisible = 0;
    a.$isWaitingOnOcclusionQuery = 0;
    a.$isChunkLit = 0;
    a.$isInitialized = 0;
    a.$tileEntityRenderers = null;
    a.$tileEntities0 = null;
    a.$bytesDrawn = 0;
}
$java.nms_WorldRenderer_tessellator = null;
$java.nms_WorldRenderer_chunksUpdated = 0;
function nms_WorldRenderer_$callClinit() {
    nms_WorldRenderer_$callClinit = $rt_eraseClinit(nms_WorldRenderer);
    $java.nms_WorldRenderer__clinit_();
}
function nms_WorldRenderer_setPosition($this, $par1, $par2, $par3) {
    if (!($par1 == $this.$posX3 && $par2 == $this.$posY3 && $par3 == $this.$posZ2)) {
        $java.nms_WorldRenderer_setDontDraw($this);
        $this.$posX3 = $par1;
        $this.$posY3 = $par2;
        $this.$posZ2 = $par3;
        $this.$chunkX = $par1 >> 4;
        $this.$chunkY = $par2 >> 4;
        $this.$chunkZ = $par3 >> 4;
        $this.$posXPlus = $par1 + 8 | 0;
        $this.$posYPlus = $par2 + 8 | 0;
        $this.$posZPlus = $par3 + 8 | 0;
        $this.$posXClip = $par1 & 1023;
        $this.$posYClip = $par2;
        $this.$posZClip = $par3 & 1023;
        $this.$posXMinus = $par1 - $this.$posXClip | 0;
        $this.$posYMinus = $par2 - $this.$posYClip | 0;
        $this.$posZMinus = $par3 - $this.$posZClip | 0;
        $this.$rendererBoundingBox = nms_AxisAlignedBB_getBoundingBox($par1 - 0.0, $par2 - 0.0, $par3 - 0.0, ($par1 + 16 | 0) + 0.0, ($par2 + 16 | 0) + 0.0, ($par3 + 16 | 0) + 0.0);
        nms_WorldRenderer_markDirty($this);
    }
}
function nms_WorldRenderer_updateRenderer($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var21, $var9, $p, $var10, $var11, $var12, $var13, $var14, $var15, $var16, $var17, $var18, $var23, $var8, $var22, $var20, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var20 = $thread.pop();$var22 = $thread.pop();$var8 = $thread.pop();$var23 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$p = $thread.pop();$var9 = $thread.pop();$var21 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1
        = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$needsUpdate) {
            $this.$needsUpdate = 0;
            $var1 = $this.$posX3;
            $var2 = $this.$posY3;
            $var3 = $this.$posZ2;
            $var4 = $this.$posX3 + 16 | 0;
            $var5 = $this.$posY3 + 16 | 0;
            $var6 = $this.$posZ2 + 16 | 0;
            $var7 = 0;
            while ($var7 < 2) {
                $this.$skipRenderPass.data[$var7] = 1;
                $var7 = $var7 + 1 | 0;
            }
            $java.nms_Chunk_isLit = 0;
            $var21 = ju_HashSet__init_0();
            ju_AbstractCollection_addAll($var21, $this.$tileEntityRenderers);
            ju_ArrayList_clear($this.$tileEntityRenderers);
            $var9 = nms_ChunkCache__init_($this.$worldObj1, $var1 - 1 | 0, $var2 - 1 | 0, $var3 - 1 | 0, $var4 + 1 | 0, $var5 + 1 | 0, $var6 + 1 | 0, 1);
            $p = nmc_Minecraft_theMinecraft.$mcProfiler;
            if (!$var9.$hasExtendedLevels) {
                nleg_EaglerAdapterGL30_hintAnisotropicFix(1);
                $java.nms_WorldRenderer_chunksUpdated = $java.nms_WorldRenderer_chunksUpdated + 1 | 0;
                $var10 = nms_RenderBlocks__init_0($var9);
                $this.$bytesDrawn = 0;
                $var11 = 0;
                a: {
                    while (true) {
                        if ($var11 >= 2)
                            break a;
                        nms_Profiler_startSection($p, $rt_s(2640));
                        $var12 = 0;
                        $var13 = 0;
                        $var14 = 0;
                        $var15 = $var2;
                        while ($var15 < $var5) {
                            $var16 = $var3;
                            while ($var16 < $var6) {
                                $var17 = $var1;
                                while ($var17 < $var4) {
                                    $var18 = $java.nms_ChunkCache_getBlockId($var9, $var17, $var15, $var16);
                                    if ($var18 > 0) {
                                        if (!$var14) {
                                            $var14 = 1;
                                            nleg_EaglerAdapterGL30_glNewList($this.$glRenderList + $var11 | 0, 4864);
                                            nlea_Tessellator_startDrawingQuads($java.nms_WorldRenderer_tessellator);
                                            nlea_Tessellator_setTranslation($java.nms_WorldRenderer_tessellator, $this.$posXClip - $this.$posX3 | 0, $this.$posYClip - $this.$posY3 | 0, $this.$posZClip - $this.$posZ2 | 0);
                                        }
                                        nms_Block_$callClinit();
                                        $var23 = nms_Block_blocksList.data[$var18];
                                        if ($var23 !== null) {
                                            if (!$var11 && $var23.$isBlockContainer) {
                                                $ptr = 1;
                                                continue main;
                                            }
                                            $var8 = $rt_compare($var23.$getRenderBlockPass(), $var11);
                                            if ($var8)
                                                $var12 = 1;
                                            else if (!$var8) {
                                                $ptr = 2;
                                                continue main;
                                            }
                                        }
                                    }
                                    $var17 = $var17 + 1 | 0;
                                }
                                $var16 = $var16 + 1 | 0;
                            }
                            $var15 = $var15 + 1 | 0;
                        }
                        if (!$var14)
                            $var13 = 0;
                        else {
                            nms_Profiler_endStartSection($p, $rt_s(2641));
                            $this.$bytesDrawn = $this.$bytesDrawn + nlea_Tessellator_draw($java.nms_WorldRenderer_tessellator) | 0;
                            nleg_EaglerAdapterGL30_glEndList();
                            nlea_Tessellator_setTranslation($java.nms_WorldRenderer_tessellator, 0.0, 0.0, 0.0);
                        }
                        nms_Profiler_endSection($p);
                        if ($var13)
                            $this.$skipRenderPass.data[$var11] = 0;
                        if (!$var12)
                            break;
                        $var11 = $var11 + 1 | 0;
                    }
                }
                nleg_EaglerAdapterGL30_hintAnisotropicFix(0);
            }
            $var22 = ju_HashSet__init_0();
            ju_AbstractCollection_addAll($var22, $this.$tileEntityRenderers);
            ju_AbstractSet_removeAll($var22, $var21);
            ju_AbstractCollection_addAll($this.$tileEntities0, $var22);
            ju_AbstractSet_removeAll($var21, $this.$tileEntityRenderers);
            ju_AbstractCollection_removeAll($this.$tileEntities0, $var21);
            $this.$isChunkLit = $java.nms_Chunk_isLit;
            $this.$isInitialized = 1;
        }
        return;
    case 1:
        $tmp = $java.nms_ChunkCache_getBlockTileEntity($var9, $var17, $var15, $var16);
        if ($rt_suspending()) {
            break main;
        }
        $var20 = $tmp;
        nms_TileEntityRenderer_$callClinit();
        if ($java.nms_TileEntityRenderer_hasSpecialRenderer(nms_TileEntityRenderer_instance, $var20))
            ju_ArrayList_add($this.$tileEntityRenderers, $var20);
        b: {
            c: while (true) {
                $var8 = $rt_compare($var23.$getRenderBlockPass(), $var11);
                if ($var8)
                    $var12 = 1;
                else if (!$var8) {
                    $ptr = 2;
                    continue main;
                }
                while (true) {
                    $var17 = $var17 + 1 | 0;
                    while ($var17 >= $var4) {
                        $var16 = $var16 + 1 | 0;
                        while ($var16 >= $var6) {
                            $var15 = $var15 + 1 | 0;
                            while ($var15 >= $var5) {
                                if (!$var14)
                                    $var13 = 0;
                                else {
                                    nms_Profiler_endStartSection($p, $rt_s(2641));
                                    $this.$bytesDrawn = $this.$bytesDrawn + nlea_Tessellator_draw($java.nms_WorldRenderer_tessellator) | 0;
                                    nleg_EaglerAdapterGL30_glEndList();
                                    nlea_Tessellator_setTranslation($java.nms_WorldRenderer_tessellator, 0.0, 0.0, 0.0);
                                }
                                nms_Profiler_endSection($p);
                                if ($var13)
                                    $this.$skipRenderPass.data[$var11] = 0;
                                if (!$var12)
                                    break c;
                                $var11 = $var11 + 1 | 0;
                                if ($var11 >= 2)
                                    break b;
                                nms_Profiler_startSection($p, $rt_s(2640));
                                $var12 = 0;
                                $var13 = 0;
                                $var14 = 0;
                                $var15 = $var2;
                            }
                            $var16 = $var3;
                        }
                        $var17 = $var1;
                    }
                    $var18 = $java.nms_ChunkCache_getBlockId($var9, $var17, $var15, $var16);
                    if ($var18 <= 0)
                        continue;
                    if (!$var14) {
                        $var14 = 1;
                        nleg_EaglerAdapterGL30_glNewList($this.$glRenderList + $var11 | 0, 4864);
                        nlea_Tessellator_startDrawingQuads($java.nms_WorldRenderer_tessellator);
                        nlea_Tessellator_setTranslation($java.nms_WorldRenderer_tessellator, $this.$posXClip - $this.$posX3 | 0, $this.$posYClip - $this.$posY3 | 0, $this.$posZClip - $this.$posZ2 | 0);
                    }
                    nms_Block_$callClinit();
                    $var23 = nms_Block_blocksList.data[$var18];
                    if ($var23 !== null)
                        break;
                }
                if ($var11)
                    continue;
                if (!$var23.$isBlockContainer)
                    continue;
                else {
                    continue main;
                }
            }
        }
        nleg_EaglerAdapterGL30_hintAnisotropicFix(0);
        $var22 = ju_HashSet__init_0();
        ju_AbstractCollection_addAll($var22, $this.$tileEntityRenderers);
        ju_AbstractSet_removeAll($var22, $var21);
        ju_AbstractCollection_addAll($this.$tileEntities0, $var22);
        ju_AbstractSet_removeAll($var21, $this.$tileEntityRenderers);
        ju_AbstractCollection_removeAll($this.$tileEntities0, $var21);
        $this.$isChunkLit = $java.nms_Chunk_isLit;
        $this.$isInitialized = 1;
        return;
    case 2:
        $tmp = nms_RenderBlocks_renderBlockByRenderType($var10, $var23, $var17, $var15, $var16);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        $var13 = $var13 | $var8;
        d: {
            b: while (true) {
                $var17 = $var17 + 1 | 0;
                while ($var17 >= $var4) {
                    $var16 = $var16 + 1 | 0;
                    while ($var16 >= $var6) {
                        $var15 = $var15 + 1 | 0;
                        while ($var15 >= $var5) {
                            if (!$var14)
                                $var13 = 0;
                            else {
                                nms_Profiler_endStartSection($p, $rt_s(2641));
                                $this.$bytesDrawn = $this.$bytesDrawn + nlea_Tessellator_draw($java.nms_WorldRenderer_tessellator) | 0;
                                nleg_EaglerAdapterGL30_glEndList();
                                nlea_Tessellator_setTranslation($java.nms_WorldRenderer_tessellator, 0.0, 0.0, 0.0);
                            }
                            nms_Profiler_endSection($p);
                            if ($var13)
                                $this.$skipRenderPass.data[$var11] = 0;
                            if (!$var12)
                                break b;
                            $var11 = $var11 + 1 | 0;
                            if ($var11 >= 2)
                                break d;
                            nms_Profiler_startSection($p, $rt_s(2640));
                            $var12 = 0;
                            $var13 = 0;
                            $var14 = 0;
                            $var15 = $var2;
                        }
                        $var16 = $var3;
                    }
                    $var17 = $var1;
                }
                $var18 = $java.nms_ChunkCache_getBlockId($var9, $var17, $var15, $var16);
                if ($var18 <= 0)
                    continue;
                if (!$var14) {
                    $var14 = 1;
                    nleg_EaglerAdapterGL30_glNewList($this.$glRenderList + $var11 | 0, 4864);
                    nlea_Tessellator_startDrawingQuads($java.nms_WorldRenderer_tessellator);
                    nlea_Tessellator_setTranslation($java.nms_WorldRenderer_tessellator, $this.$posXClip - $this.$posX3 | 0, $this.$posYClip - $this.$posY3 | 0, $this.$posZClip - $this.$posZ2 | 0);
                }
                nms_Block_$callClinit();
                $var23 = nms_Block_blocksList.data[$var18];
                if ($var23 === null)
                    continue;
                if (!$var11 && $var23.$isBlockContainer) {
                    $ptr = 1;
                    continue main;
                }
                $var8 = $rt_compare($var23.$getRenderBlockPass(), $var11);
                if ($var8) {
                    $var12 = 1;
                    continue;
                }
                if (!$var8) {
                    continue main;
                }
            }
        }
        nleg_EaglerAdapterGL30_hintAnisotropicFix(0);
        $var22 = ju_HashSet__init_0();
        ju_AbstractCollection_addAll($var22, $this.$tileEntityRenderers);
        ju_AbstractSet_removeAll($var22, $var21);
        ju_AbstractCollection_addAll($this.$tileEntities0, $var22);
        ju_AbstractSet_removeAll($var21, $this.$tileEntityRenderers);
        ju_AbstractCollection_removeAll($this.$tileEntities0, $var21);
        $this.$isChunkLit = $java.nms_Chunk_isLit;
        $this.$isInitialized = 1;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var21, $var9, $p, $var10, $var11, $var12, $var13, $var14, $var15, $var16, $var17, $var18, $var23, $var8, $var22, $var20, $ptr);
}
function nms_WorldRenderer_distanceToEntitySquared($this, $par1Entity) {
    var $var2, $var3, $var4;
    $var2 = $par1Entity.$posX - $this.$posXPlus;
    $var3 = $par1Entity.$posY - $this.$posYPlus;
    $var4 = $par1Entity.$posZ - $this.$posZPlus;
    return $var2 * $var2 + $var3 * $var3 + $var4 * $var4;
}
$java.nms_WorldRenderer_setDontDraw = function($this) {
    var $var1;
    $var1 = 0;
    while ($var1 < 2) {
        $this.$skipRenderPass.data[$var1] = 1;
        $var1 = $var1 + 1 | 0;
    }
    $this.$isInFrustum = 0;
    $this.$isInitialized = 0;
};
function nms_WorldRenderer_stopRendering($this) {
    $java.nms_WorldRenderer_setDontDraw($this);
    $this.$worldObj1 = null;
}
function nms_WorldRenderer_getGLCallListForPass($this, $par1) {
    return !$this.$isInFrustum ? (-1) : $this.$skipRenderPass.data[$par1] ? (-1) : $this.$glRenderList + $par1 | 0;
}
function nms_WorldRenderer_updateInFrustum($this, $par1ICamera) {
    $this.$isInFrustum = nms_Frustrum_isBoundingBoxInFrustum($par1ICamera, $this.$rendererBoundingBox);
}
function nms_WorldRenderer_skipAllRenderPasses($this) {
    return !$this.$isInitialized ? 0 : $this.$skipRenderPass.data[0] && $this.$skipRenderPass.data[1] ? 1 : 0;
}
function nms_WorldRenderer_markDirty($this) {
    $this.$needsUpdate = 1;
}
$java.nms_WorldRenderer__clinit_ = function() {
    nlea_Tessellator_$callClinit();
    $java.nms_WorldRenderer_tessellator = nlea_Tessellator_instance;
    $java.nms_WorldRenderer_chunksUpdated = 0;
};
function nms_EntitySorter() {
    var a = this; jl_Object.call(a);
    a.$entityPosX = 0.0;
    a.$entityPosY = 0.0;
    a.$entityPosZ = 0.0;
    a.$reverse0 = 0;
}
function nms_EntitySorter__init_(var_0) {
    var var_1 = new nms_EntitySorter();
    $java.nms_EntitySorter__init_(var_1, var_0);
    return var_1;
}
$java.nms_EntitySorter__init_ = function($this, $par1Entity) {
    $this.$entityPosX =  -$par1Entity.$posX;
    $this.$entityPosY =  -$par1Entity.$posY;
    $this.$entityPosZ =  -$par1Entity.$posZ;
    $this.$reverse0 = 0;
};
$java.nms_EntitySorter_sortByDistanceToEntity = function($this, $par1WorldRenderer, $par2WorldRenderer) {
    var $var3, $var5, $var7, $var9, $var11, $var13;
    $var3 = $par1WorldRenderer.$posXPlus + $this.$entityPosX;
    $var5 = $par1WorldRenderer.$posYPlus + $this.$entityPosY;
    $var7 = $par1WorldRenderer.$posZPlus + $this.$entityPosZ;
    $var9 = $par2WorldRenderer.$posXPlus + $this.$entityPosX;
    $var11 = $par2WorldRenderer.$posYPlus + $this.$entityPosY;
    $var13 = $par2WorldRenderer.$posZPlus + $this.$entityPosZ;
    return ($var3 * $var3 + $var5 * $var5 + $var7 * $var7 - ($var9 * $var9 + $var11 * $var11 + $var13 * $var13)) * 1024.0 | 0;
};
$java.nms_EntitySorter_compare = function($this, $par1Obj, $par2Obj) {
    return $rt_imul(!$this.$reverse0 ? 1 : (-1), $java.nms_EntitySorter_sortByDistanceToEntity($this, $par1Obj, $par2Obj));
};
function nms_BossStatus() {
    jl_Object.call(this);
}
var nms_BossStatus_healthScale = 0.0;
var nms_BossStatus_statusBarLength = 0;
var nms_BossStatus_bossName = null;
var nms_BossStatus_field_82825_d = 0;
$java.nms_BossStatus__init_ = function() {
    var var_0 = new nms_BossStatus();
    nms_BossStatus__init_(var_0);
    return var_0;
};
function nms_BossStatus__init_($this) {
    return;
}
function nms_BossStatus_func_82824_a($par0IBossDisplayData, $par1) {
    nms_BossStatus_healthScale = $par0IBossDisplayData.$getBossHealth() / $par0IBossDisplayData.$getMaxHealth();
    nms_BossStatus_statusBarLength = 100;
    nms_BossStatus_bossName = nms_EntityLiving_getEntityName($par0IBossDisplayData);
    nms_BossStatus_field_82825_d = $par1;
}
function nms_EntityFX() {
    var a = this; nms_Entity.call(a);
    a.$particleTextureIndexX = 0;
    a.$particleTextureIndexY = 0;
    a.$particleTextureJitterX = 0.0;
    a.$particleTextureJitterY = 0.0;
    a.$particleAge = 0;
    a.$particleMaxAge = 0;
    a.$particleScale = 0.0;
    a.$particleGravity = 0.0;
    a.$particleRed = 0.0;
    a.$particleGreen = 0.0;
    a.$particleBlue = 0.0;
    a.$particleAlpha = 0.0;
    a.$particleIcon = null;
}
var nms_EntityFX_interpPosX = 0.0;
var nms_EntityFX_interpPosY = 0.0;
var nms_EntityFX_interpPosZ = 0.0;
$java.nms_EntityFX__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityFX();
    $java.nms_EntityFX__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_EntityFX__init_1 = function(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityFX();
    nms_EntityFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
};
$java.nms_EntityFX__init_0 = function($this, $par1World, $par2, $par4, $par6) {
    nms_Entity__init_0($this);
    nms_Entity_setWorld($this, $par1World);
    $this.$particleAge = 0;
    $this.$particleMaxAge = 0;
    $this.$particleAlpha = 1.0;
    $this.$particleIcon = null;
    nms_Entity_setSize($this, 0.20000000298023224, 0.20000000298023224);
    $this.$yOffset = $this.$height0 / 2.0;
    nms_Entity_setPosition($this, $par2, $par4, $par6);
    $this.$lastTickPosX = $par2;
    $this.$lastTickPosY = $par4;
    $this.$lastTickPosZ = $par6;
    $this.$particleBlue = 1.0;
    $this.$particleGreen = 1.0;
    $this.$particleRed = 1.0;
    $this.$particleTextureJitterX = nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.0;
    $this.$particleTextureJitterY = nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.0;
    $this.$particleScale = (nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.5 + 0.5) * 2.0;
    $this.$particleMaxAge = 4.0 / (nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.8999999761581421 + 0.10000000149011612) | 0;
    $this.$particleAge = 0;
};
function nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    var $var14, $var15;
    $java.nms_EntityFX__init_0($this, $par1World, $par2, $par4, $par6);
    $this.$motionX = $par8 + (jl_Math_random() * 2.0 - 1.0) * 0.4000000059604645;
    $this.$motionY = $par10 + (jl_Math_random() * 2.0 - 1.0) * 0.4000000059604645;
    $this.$motionZ = $par12 + (jl_Math_random() * 2.0 - 1.0) * 0.4000000059604645;
    $var14 = (jl_Math_random() + jl_Math_random() + 1.0) * 0.15000000596046448;
    $var15 = nms_MathHelper_sqrt_double($this.$motionX * $this.$motionX + $this.$motionY * $this.$motionY + $this.$motionZ * $this.$motionZ);
    $par2 = $this.$motionX;
    $par4 = $var15;
    $par2 = $par2 / $par4;
    $par6 = $var14;
    $this.$motionX = $par2 * $par6 * 0.4000000059604645;
    $this.$motionY = $this.$motionY / $par4 * $par6 * 0.4000000059604645 + 0.10000000149011612;
    $this.$motionZ = $this.$motionZ / $par4 * $par6 * 0.4000000059604645;
}
function nms_EntityFX_multiplyVelocity($this, $par1) {
    var var$2, var$3;
    var$2 = $this.$motionX;
    var$3 = $par1;
    $this.$motionX = var$2 * var$3;
    $this.$motionY = ($this.$motionY - 0.10000000149011612) * var$3 + 0.10000000149011612;
    $this.$motionZ = $this.$motionZ * var$3;
    return $this;
}
function nms_EntityFX_multipleParticleScaleBy($this, $par1) {
    var var$2;
    var$2 = 0.20000000298023224 * $par1;
    nms_Entity_setSize($this, var$2, var$2);
    $this.$particleScale = $this.$particleScale * $par1;
    return $this;
}
function nms_EntityFX_setRBGColorF($this, $par1, $par2, $par3) {
    $this.$particleRed = $par1;
    $this.$particleGreen = $par2;
    $this.$particleBlue = $par3;
}
function nms_EntityFX_setAlphaF($this, $par1) {
    $this.$particleAlpha = $par1;
}
function nms_EntityFX_getRedColorF($this) {
    return $this.$particleRed;
}
function nms_EntityFX_getGreenColorF($this) {
    return $this.$particleGreen;
}
function nms_EntityFX_getBlueColorF($this) {
    return $this.$particleBlue;
}
$java.nms_EntityFX_canTriggerWalking = function($this) {
    return 0;
};
$java.nms_EntityFX_entityInit = function($this) {
    return;
};
$java.nms_EntityFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        $this.$motionY = $this.$motionY - 0.04 * $this.$particleGravity;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.9800000190734863;
        $this.$motionY = $this.$motionY * 0.9800000190734863;
        $this.$motionZ = $this.$motionZ * 0.9800000190734863;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionY = $this.$motionY - 0.04 * $this.$particleGravity;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
$java.nms_EntityFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var10, $var11, $var12, var$13, var$14, var$15, $var13, $var14, $var15, $fix, $var16, var$21, var$22, var$23, var$24;
    $var8 = $this.$particleTextureIndexX / 16.0 + 0.0010000000474974513;
    $var9 = $var8 + 0.062437500804662704 - 0.0010000000474974513;
    $var10 = $this.$particleTextureIndexY / 16.0 + 0.0010000000474974513;
    $var11 = $var10 + 0.062437500804662704 - 0.0010000000474974513;
    $var12 = 0.10000000149011612 * $this.$particleScale;
    if ($this.$particleIcon !== null) {
        $var8 = $this.$particleIcon.$getMinU();
        $var9 = $this.$particleIcon.$getMaxU();
        $var10 = $this.$particleIcon.$getMinV();
        $var11 = $this.$particleIcon.$getMaxV();
    }
    var$13 = $this.$prevPosX;
    var$14 = $this.$posX - $this.$prevPosX;
    var$15 = $par2;
    $var13 = var$13 + var$14 * var$15 - nms_EntityFX_interpPosX;
    $var14 = $this.$prevPosY + ($this.$posY - $this.$prevPosY) * var$15 - nms_EntityFX_interpPosY;
    $var15 = $this.$prevPosZ + ($this.$posZ - $this.$prevPosZ) * var$15 - nms_EntityFX_interpPosZ;
    nlea_Tessellator_setColorRGBA_F($par1Tessellator, $this.$particleRed * 1.0, $this.$particleGreen * 1.0, $this.$particleBlue * 1.0, $this.$particleAlpha);
    $par2 = $par3 * $var12;
    $fix = $var13 - $par2;
    $var16 = $par6 * $var12;
    var$21 = $fix - $var16;
    $par3 = $par4 * $var12;
    var$13 = $var14 - $par3;
    $par4 = $par5 * $var12;
    $par5 = $var15 - $par4;
    $par6 = $par7 * $var12;
    var$14 = $par5 - $par6;
    var$22 = $var9;
    var$15 = $var11;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$21, var$13, var$14, var$22, var$15);
    var$14 = $fix + $var16;
    var$21 = $var14 + $par3;
    var$23 = $par5 + $par6;
    var$24 = $var10;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$14, var$21, var$23, var$22, var$24);
    $par2 = $var13 + $par2;
    var$14 = $par2 + $var16;
    $par3 = $var15 + $par4;
    var$22 = $par3 + $par6;
    var$23 = $var8;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$14, var$21, var$22, var$23, var$24);
    nlea_Tessellator_addVertexWithUV($par1Tessellator, $par2 - $var16, var$13, $par3 - $par6, var$23, var$15);
};
$java.nms_EntityFX_getFXLayer = function($this) {
    return 0;
};
$java.nms_EntityFX_setParticleIcon = function($this, $par1RenderEngine, $par2Icon) {
    if ($this.$getFXLayer() == 1)
        $this.$particleIcon = $par2Icon;
    else {
        if ($this.$getFXLayer() != 2) {
            $par2Icon = new jl_RuntimeException;
            jl_Throwable__init_($par2Icon, $rt_s(2642));
            $rt_throw($par2Icon);
        }
        $this.$particleIcon = $par2Icon;
    }
};
function nms_EntityFX_setParticleTextureIndex($this, $par1) {
    $this.$particleTextureIndexX = $par1 % 16 | 0;
    $this.$particleTextureIndexY = $par1 / 16 | 0;
}
function nms_EntityFX_nextTextureIndexX($this) {
    $this.$particleTextureIndexX = $this.$particleTextureIndexX + 1 | 0;
}
$java.nms_EntityFX_canAttackWithItem = function($this) {
    return 0;
};
$java.nms_EntityFX_toString = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, jl_Class_getSimpleName(jl_Object_getClass($this)));
    jl_AbstractStringBuilder_append(var$1, $rt_s(2643));
    var$1 = jl_StringBuilder_append4(var$1, $this.$posX);
    jl_AbstractStringBuilder_append(var$1, $rt_s(273));
    var$1 = jl_StringBuilder_append4(var$1, $this.$posY);
    jl_AbstractStringBuilder_append(var$1, $rt_s(273));
    var$1 = jl_StringBuilder_append4(var$1, $this.$posZ);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2644));
    var$1 = jl_StringBuilder_append3(var$1, $this.$particleRed);
    jl_AbstractStringBuilder_append(var$1, $rt_s(273));
    var$1 = jl_StringBuilder_append3(var$1, $this.$particleGreen);
    jl_AbstractStringBuilder_append(var$1, $rt_s(273));
    var$1 = jl_StringBuilder_append3(var$1, $this.$particleBlue);
    jl_AbstractStringBuilder_append(var$1, $rt_s(273));
    var$1 = jl_StringBuilder_append3(var$1, $this.$particleAlpha);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2645));
    jl_AbstractStringBuilder_append2(var$1, $this.$particleAge);
    return jl_AbstractStringBuilder_toString(var$1);
};
function jt_DecimalFormat$MantissaAndExponent() {
    var a = this; jl_Object.call(a);
    a.$mantissa1 = Long_ZERO;
    a.$exponent1 = 0;
}
function jt_DecimalFormat$MinusField() {
    jl_Object.call(this);
}
$java.jt_DecimalFormat$MinusField__init_ = function() {
    var var_0 = new jt_DecimalFormat$MinusField();
    jt_DecimalFormat$MinusField__init_(var_0);
    return var_0;
};
function jt_DecimalFormat$MinusField__init_($this) {
    return;
}
$java.jt_DecimalFormat$MinusField_render = function($this, $format, $buffer) {
    jl_AbstractStringBuilder_append0($buffer, $format.$symbols0.$minusSign);
};
$java.jt_DecimalFormat$MinusField_equals = function($this, $obj) {
    return $obj instanceof jt_DecimalFormat$MinusField;
};
$java.jt_DecimalFormat$MinusField_hashCode = function($this) {
    return 3;
};
function nms_EntityDiggingFX() {
    nms_EntityFX.call(this);
    this.$blockInstance = null;
}
function nms_EntityDiggingFX__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) {
    var var_11 = new nms_EntityDiggingFX();
    nms_EntityDiggingFX__init_(var_11, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10);
    return var_11;
}
function nms_EntityDiggingFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12, $par14Block, $par15, $par16, $par17RenderEngine) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    $this.$blockInstance = $par14Block;
    $java.nms_EntityFX_setParticleIcon($this, $par17RenderEngine, $par14Block.$getIcon(0, $par16));
    $this.$particleGravity = $par14Block.$blockParticleGravity;
    $this.$particleBlue = 0.6000000238418579;
    $this.$particleGreen = 0.6000000238418579;
    $this.$particleRed = 0.6000000238418579;
    $this.$particleScale = $this.$particleScale / 2.0;
}
function nms_EntityDiggingFX_func_70596_a($this, $par1, $par2, $par3) {
    var var$4, $var4;
    var$4 = $this.$blockInstance;
    nms_Block_$callClinit();
    if (var$4 === nms_Block_grass)
        return $this;
    $var4 = $this.$blockInstance.$colorMultiplier($this.$worldObj, $par1, $par2, $par3);
    $this.$particleRed = $this.$particleRed * ($var4 >> 16 & 255) / 255.0;
    $this.$particleGreen = $this.$particleGreen * ($var4 >> 8 & 255) / 255.0;
    $this.$particleBlue = $this.$particleBlue * ($var4 & 255) / 255.0;
    return $this;
}
function nms_EntityDiggingFX_applyRenderColor($this, $par1) {
    var var$2, $var2;
    var$2 = $this.$blockInstance;
    nms_Block_$callClinit();
    if (var$2 === nms_Block_grass)
        return $this;
    $var2 = $this.$blockInstance.$getRenderColor($par1);
    $this.$particleRed = $this.$particleRed * ($var2 >> 16 & 255) / 255.0;
    $this.$particleGreen = $this.$particleGreen * ($var2 >> 8 & 255) / 255.0;
    $this.$particleBlue = $this.$particleBlue * ($var2 & 255) / 255.0;
    return $this;
}
$java.nms_EntityDiggingFX_getFXLayer = function($this) {
    return 1;
};
$java.nms_EntityDiggingFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var10, $var11, $var12, var$13, var$14, var$15, $var13, $var14, $var15, $var16, var$20, var$21, var$22, var$23, var$24, var$25;
    $var8 = ($this.$particleTextureIndexX + $this.$particleTextureJitterX / 4.0) / 16.0;
    $var9 = $var8 + 0.015609375201165676;
    $var10 = ($this.$particleTextureIndexY + $this.$particleTextureJitterY / 4.0) / 16.0;
    $var11 = $var10 + 0.015609375201165676;
    $var12 = 0.10000000149011612 * $this.$particleScale;
    if ($this.$particleIcon !== null) {
        $var8 = $this.$particleIcon.$getInterpolatedU($this.$particleTextureJitterX / 4.0 * 16.0);
        $var9 = $this.$particleIcon.$getInterpolatedU(($this.$particleTextureJitterX + 1.0) / 4.0 * 16.0);
        $var10 = $this.$particleIcon.$getInterpolatedV($this.$particleTextureJitterY / 4.0 * 16.0);
        $var11 = $this.$particleIcon.$getInterpolatedV(($this.$particleTextureJitterY + 1.0) / 4.0 * 16.0);
    }
    var$13 = $this.$prevPosX;
    var$14 = $this.$posX - $this.$prevPosX;
    var$15 = $par2;
    $var13 = var$13 + var$14 * var$15 - nms_EntityFX_interpPosX;
    $var14 = $this.$prevPosY + ($this.$posY - $this.$prevPosY) * var$15 - nms_EntityFX_interpPosY;
    $var15 = $this.$prevPosZ + ($this.$posZ - $this.$prevPosZ) * var$15 - nms_EntityFX_interpPosZ;
    nlea_Tessellator_setColorOpaque_F($par1Tessellator, 1.0 * $this.$particleRed, 1.0 * $this.$particleGreen, 1.0 * $this.$particleBlue);
    $var16 = $par3 * $var12;
    var$20 = $var13 - $var16;
    $par6 = $par6 * $var12;
    var$21 = var$20 - $par6;
    var$22 = $par4 * $var12;
    var$15 = $var14 - var$22;
    $par5 = $par5 * $var12;
    $par2 = $var15 - $par5;
    $par3 = $par7 * $var12;
    var$13 = $par2 - $par3;
    var$14 = $var8;
    var$23 = $var11;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$21, var$15, var$13, var$14, var$23);
    var$13 = var$20 + $par6;
    var$21 = $var14 + var$22;
    var$24 = $par2 + $par3;
    var$25 = $var10;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$13, var$21, var$24, var$14, var$25);
    $par2 = $var13 + $var16;
    var$13 = $par2 + $par6;
    $par4 = $var15 + $par5;
    var$14 = $par4 + $par3;
    var$24 = $var9;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$13, var$21, var$14, var$24, var$25);
    nlea_Tessellator_addVertexWithUV($par1Tessellator, $par2 - $par6, var$15, $par4 - $par3, var$24, var$23);
};
function jn_FloatBufferOverByteBuffer() {
    var a = this; jn_FloatBufferImpl.call(a);
    a.$byteByffer0 = null;
    a.$readOnly5 = 0;
    a.$start10 = 0;
}
$java.jn_FloatBufferOverByteBuffer__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new jn_FloatBufferOverByteBuffer();
    jn_FloatBufferOverByteBuffer__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
};
function jn_FloatBufferOverByteBuffer__init_($this, $start, $capacity, $byteBuffer, $position, $limit, $readOnly) {
    jn_FloatBufferImpl__init_($this, $capacity, $position, $limit);
    $this.$start10 = $start;
    $this.$byteByffer0 = $byteBuffer;
    $this.$readOnly5 = $readOnly;
}
$java.jn_FloatBufferOverByteBuffer_readOnly = function($this) {
    return $this.$readOnly5;
};
function jn_FloatBufferOverByteBufferLittleEndian() {
    jn_FloatBufferOverByteBuffer.call(this);
}
$java.jn_FloatBufferOverByteBufferLittleEndian_getElement = function($this, $index) {
    var var$2, var$3;
    var$2 = $this.$byteByffer0.$array0.data;
    var$3 = $this.$start10;
    $index = $index * 4 | 0;
    return $rt_intBitsToFloat((var$2[var$3 + $index | 0] & 255) << 24 | ($this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 1 | 0] & 255) << 16 | ($this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 2 | 0] & 255) << 8 | $this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 3 | 0] & 255);
};
$java.jn_FloatBufferOverByteBufferLittleEndian_putElement = function($this, $index, $f) {
    var $value, var$4, var$5;
    $value = $rt_floatToIntBits($f);
    var$4 = $this.$byteByffer0.$array0.data;
    var$5 = $this.$start10;
    $index = $index * 4 | 0;
    var$4[var$5 + $index | 0] = $value >> 24 << 24 >> 24;
    $this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 1 | 0] = $value >> 16 << 24 >> 24;
    $this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 2 | 0] = $value >> 8 << 24 >> 24;
    $this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 3 | 0] = $value << 24 >> 24;
};
function jn_FloatBufferOverByteBufferBigEndian() {
    jn_FloatBufferOverByteBuffer.call(this);
}
$java.jn_FloatBufferOverByteBufferBigEndian_getElement = function($this, $index) {
    var var$2, var$3;
    var$2 = $this.$byteByffer0.$array0.data;
    var$3 = $this.$start10;
    $index = $index * 4 | 0;
    return $rt_intBitsToFloat(var$2[var$3 + $index | 0] & 255 | ($this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 1 | 0] & 255) << 8 | ($this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 2 | 0] & 255) << 16 | ($this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 3 | 0] & 255) << 24);
};
$java.jn_FloatBufferOverByteBufferBigEndian_putElement = function($this, $index, $f) {
    var $value, var$4, var$5;
    $value = $rt_floatToIntBits($f);
    var$4 = $this.$byteByffer0.$array0.data;
    var$5 = $this.$start10;
    $index = $index * 4 | 0;
    var$4[var$5 + $index | 0] = $value << 24 >> 24;
    $this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 1 | 0] = $value >> 8 << 24 >> 24;
    $this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 2 | 0] = $value >> 16 << 24 >> 24;
    $this.$byteByffer0.$array0.data[($this.$start10 + $index | 0) + 3 | 0] = $value >> 24 << 24 >> 24;
};
function nms_ModelBox() {
    var a = this; jl_Object.call(a);
    a.$vertexPositions = null;
    a.$quadList = null;
    a.$posX10 = 0.0;
    a.$posY10 = 0.0;
    a.$posZ10 = 0.0;
    a.$posX20 = 0.0;
    a.$posY20 = 0.0;
    a.$posZ20 = 0.0;
    a.$field_78247_g = null;
}
$java.nms_ModelBox__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) {
    var var_10 = new nms_ModelBox();
    $java.nms_ModelBox__init_0(var_10, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9);
    return var_10;
};
$java.nms_ModelBox__init_0 = function($this, $par1ModelRenderer, $par2, $par3, $par4, $par5, $par6, $par7, $par8, $par9, $par10) {
    var var$11, var$12, var$13, $var23, $var15, $var16, $var17, $var18, $var19, $var20, $var21, var$22, var$23, var$24, var$25, var$26, var$27, var$28, var$29, var$30, $var22;
    $this.$posX10 = $par4;
    $this.$posY10 = $par5;
    $this.$posZ10 = $par6;
    var$11 = $par4 + $par7;
    $this.$posX20 = var$11;
    var$12 = $par5 + $par8;
    $this.$posY20 = var$12;
    var$13 = $par6 + $par9;
    $this.$posZ20 = var$13;
    $this.$vertexPositions = $rt_createArray(nms_PositionTextureVertex, 8);
    $this.$quadList = $rt_createArray(nms_TexturedQuad, 6);
    $par4 = $par4 - $par10;
    $par5 = $par5 - $par10;
    $par6 = $par6 - $par10;
    var$11 = var$11 + $par10;
    var$12 = var$12 + $par10;
    $par10 = var$13 + $par10;
    if (!$par1ModelRenderer.$mirror) {
        var$13 = $par4;
        $par4 = var$11;
        var$11 = var$13;
    }
    a: {
        $var23 = $java.nms_PositionTextureVertex__init_(var$11, $par5, $par6, 0.0, 0.0);
        $var15 = $java.nms_PositionTextureVertex__init_($par4, $par5, $par6, 0.0, 8.0);
        $var16 = $java.nms_PositionTextureVertex__init_($par4, var$12, $par6, 8.0, 8.0);
        $var17 = $java.nms_PositionTextureVertex__init_(var$11, var$12, $par6, 8.0, 0.0);
        $var18 = $java.nms_PositionTextureVertex__init_(var$11, $par5, $par10, 0.0, 0.0);
        $var19 = $java.nms_PositionTextureVertex__init_($par4, $par5, $par10, 0.0, 8.0);
        $var20 = $java.nms_PositionTextureVertex__init_($par4, var$12, $par10, 8.0, 8.0);
        $var21 = $java.nms_PositionTextureVertex__init_(var$11, var$12, $par10, 8.0, 0.0);
        $this.$vertexPositions.data[0] = $var23;
        $this.$vertexPositions.data[1] = $var15;
        $this.$vertexPositions.data[2] = $var16;
        $this.$vertexPositions.data[3] = $var17;
        $this.$vertexPositions.data[4] = $var18;
        $this.$vertexPositions.data[5] = $var19;
        $this.$vertexPositions.data[6] = $var20;
        $this.$vertexPositions.data[7] = $var21;
        var$22 = $this.$quadList.data;
        var$23 = new nms_TexturedQuad;
        var$24 = $rt_createArray(nms_PositionTextureVertex, 4);
        var$25 = var$24.data;
        var$25[0] = $var19;
        var$25[1] = $var15;
        var$25[2] = $var16;
        var$25[3] = $var20;
        var$26 = nms_Vec3_createVectorHelper(1.0, 0.0, 0.0);
        var$27 = $par2 + $par9 | 0;
        var$28 = var$27 + $par7 | 0;
        var$29 = $par3 + $par9 | 0;
        $par9 = var$28 + $par9 | 0;
        var$30 = var$29 + $par8 | 0;
        $java.nms_TexturedQuad__init_(var$23, var$24, var$26, var$28, var$29, $par9, var$30, $par1ModelRenderer.$textureWidth0, $par1ModelRenderer.$textureHeight0);
        var$22[0] = var$23;
        var$24 = $this.$quadList.data;
        var$26 = new nms_TexturedQuad;
        var$25 = $rt_createArray(nms_PositionTextureVertex, 4);
        var$22 = var$25.data;
        var$22[0] = $var23;
        var$22[1] = $var18;
        var$22[2] = $var21;
        var$22[3] = $var17;
        $java.nms_TexturedQuad__init_(var$26, var$25, nms_Vec3_createVectorHelper((-1.0), 0.0, 0.0), $par2, var$29, var$27, var$30, $par1ModelRenderer.$textureWidth0, $par1ModelRenderer.$textureHeight0);
        var$24[1] = var$26;
        var$22 = $this.$quadList.data;
        var$23 = new nms_TexturedQuad;
        var$24 = $rt_createArray(nms_PositionTextureVertex, 4);
        var$25 = var$24.data;
        var$25[0] = $var19;
        var$25[1] = $var18;
        var$25[2] = $var23;
        var$25[3] = $var15;
        $java.nms_TexturedQuad__init_(var$23, var$24, nms_Vec3_createVectorHelper(0.0, 1.0, 0.0), var$27, $par3, var$28, var$29, $par1ModelRenderer.$textureWidth0, $par1ModelRenderer.$textureHeight0);
        var$22[2] = var$23;
        var$22 = $this.$quadList.data;
        var$23 = new nms_TexturedQuad;
        var$24 = $rt_createArray(nms_PositionTextureVertex, 4);
        var$25 = var$24.data;
        var$25[0] = $var16;
        var$25[1] = $var17;
        var$25[2] = $var21;
        var$25[3] = $var20;
        $java.nms_TexturedQuad__init_(var$23, var$24, nms_Vec3_createVectorHelper(0.0, (-1.0), 0.0), var$28, var$29, var$28 + $par7 | 0, $par3, $par1ModelRenderer.$textureWidth0, $par1ModelRenderer.$textureHeight0);
        var$22[3] = var$23;
        var$22 = $this.$quadList.data;
        var$23 = new nms_TexturedQuad;
        var$24 = $rt_createArray(nms_PositionTextureVertex, 4);
        var$25 = var$24.data;
        var$25[0] = $var15;
        var$25[1] = $var23;
        var$25[2] = $var17;
        var$25[3] = $var16;
        $java.nms_TexturedQuad__init_(var$23, var$24, nms_Vec3_createVectorHelper(0.0, 0.0, 1.0), var$27, var$29, var$28, var$30, $par1ModelRenderer.$textureWidth0, $par1ModelRenderer.$textureHeight0);
        var$22[4] = var$23;
        var$22 = $this.$quadList.data;
        $var23 = new nms_TexturedQuad;
        var$24 = $rt_createArray(nms_PositionTextureVertex, 4);
        var$25 = var$24.data;
        var$25[0] = $var18;
        var$25[1] = $var19;
        var$25[2] = $var20;
        var$25[3] = $var21;
        $java.nms_TexturedQuad__init_($var23, var$24, nms_Vec3_createVectorHelper(0.0, 0.0, (-1.0)), $par9, var$29, $par9 + $par7 | 0, var$30, $par1ModelRenderer.$textureWidth0, $par1ModelRenderer.$textureHeight0);
        var$22[5] = $var23;
        if ($par1ModelRenderer.$mirror) {
            $var22 = 0;
            while (true) {
                if ($var22 >= $this.$quadList.data.length)
                    break a;
                $java.nms_TexturedQuad_flipFace($this.$quadList.data[$var22]);
                $var22 = $var22 + 1 | 0;
            }
        }
    }
};
$java.nms_ModelBox_render = function($this, $par1Tessellator, $par2) {
    var $var3;
    $var3 = 0;
    while ($var3 < $this.$quadList.data.length) {
        $java.nms_TexturedQuad_draw($this.$quadList.data[$var3], $par1Tessellator, $par2);
        $var3 = $var3 + 1 | 0;
    }
};
$java.nms_ModelBox_func_78244_a = function($this, $par1Str) {
    $this.$field_78247_g = $par1Str;
    return $this;
};
function nms_TextureOffset() {
    var a = this; jl_Object.call(a);
    a.$textureOffsetX = 0;
    a.$textureOffsetY = 0;
}
function nms_WorldProvider() {
    var a = this; jl_Object.call(a);
    a.$worldObj5 = null;
    a.$terrainType1 = null;
    a.$field_82913_c = null;
    a.$isHellWorld = 0;
    a.$hasNoSky = 0;
    a.$lightBrightnessTable = null;
    a.$dimensionId = 0;
    a.$colorsSunriseSunset = null;
}
$java.nms_WorldProvider__init_ = function() {
    var var_0 = new nms_WorldProvider();
    nms_WorldProvider__init_(var_0);
    return var_0;
};
function nms_WorldProvider__init_($this) {
    $this.$isHellWorld = 0;
    $this.$hasNoSky = 0;
    $this.$lightBrightnessTable = $rt_createFloatArray(16);
    $this.$dimensionId = 0;
    $this.$colorsSunriseSunset = $rt_createFloatArray(4);
}
function nms_WorldProvider_registerWorld($this, $par1World) {
    $this.$worldObj5 = $par1World;
    $this.$terrainType1 = $par1World.$worldInfo.$terrainType;
    $this.$field_82913_c = $par1World.$worldInfo.$generatorOptions;
    $this.$registerWorldChunkManager();
    $this.$generateLightBrightnessTable();
}
$java.nms_WorldProvider_generateLightBrightnessTable = function($this) {
    var $var2, $var3;
    $var2 = 0;
    while ($var2 <= 15) {
        $var3 = 1.0 - $var2 / 15.0;
        $this.$lightBrightnessTable.data[$var2] = (1.0 - $var3) / ($var3 * 3.0 + 1.0) * 1.0 + 0.0;
        $var2 = $var2 + 1 | 0;
    }
};
$java.nms_WorldProvider_registerWorldChunkManager = function($this) {
    return;
};
$java.nms_WorldProvider_calculateCelestialAngle = function($this, $par1, $par3) {
    var $var5;
    $var5 = (Long_rem($par1, Long_fromInt(24000)).lo + $par3) / 24000.0 - 0.25;
    if ($var5 < 0.0)
        $var5 = $var5 + 1.0;
    if ($var5 > 1.0)
        $var5 = $var5 - 1.0;
    return $var5 + (1.0 - (jl_Math_cos($var5 * 3.141592653589793) + 1.0) / 2.0 - $var5) / 3.0;
};
function nms_WorldProvider_getMoonPhase($this, $par1) {
    return Long_div($par1, Long_fromInt(24000)).lo % 8 | 0;
}
$java.nms_WorldProvider_isSurfaceWorld = function($this) {
    return 1;
};
$java.nms_WorldProvider_calcSunriseSunsetColors = function($this, $par1, $par2) {
    var $var4, $var6, $var7, var$6;
    $var4 = nms_MathHelper_cos($par1 * 3.1415927410125732 * 2.0) + 0.0;
    if ($var4 >= (-0.4000000059604645) && $var4 <= 0.4000000059604645) {
        $var6 = ($var4 - 0.0) / 0.4000000059604645 * 0.5 + 0.5;
        $var7 = 1.0 - (1.0 - nms_MathHelper_sin($var6 * 3.1415927410125732)) * 0.9900000095367432;
        $par1 = $var7 * $var7;
        $this.$colorsSunriseSunset.data[0] = $var6 * 0.30000001192092896 + 0.699999988079071;
        var$6 = $this.$colorsSunriseSunset.data;
        $par2 = $var6 * $var6;
        var$6[1] = $par2 * 0.699999988079071 + 0.20000000298023224;
        $this.$colorsSunriseSunset.data[2] = $par2 * 0.0 + 0.20000000298023224;
        $this.$colorsSunriseSunset.data[3] = $par1;
        return $this.$colorsSunriseSunset;
    }
    return null;
};
$java.nms_WorldProvider_getFogColor = function($this, $par1, $par2) {
    var $var3;
    $var3 = nms_MathHelper_cos($par1 * 3.1415927410125732 * 2.0) * 2.0 + 0.5;
    if ($var3 < 0.0)
        $var3 = 0.0;
    if ($var3 > 1.0)
        $var3 = 1.0;
    $par1 = $var3 * 0.9399999976158142 + 0.05999999865889549;
    $par2 = 0.7529411911964417 * $par1;
    $par1 = 0.8470588326454163 * $par1;
    $var3 = 1.0 * ($var3 * 0.9100000262260437 + 0.09000000357627869);
    return nms_Vec3Pool_getVecFromPool($this.$worldObj5.$vecPool, $par2, $par1, $var3);
};
$java.nms_WorldProvider_getCloudHeight = function($this) {
    return 128.0;
};
$java.nms_WorldProvider_isSkyColored = function($this) {
    return 1;
};
function nms_WorldProvider_getWorldHasVoidParticles($this) {
    return $this.$terrainType1 !== nms_WorldType_FLAT && !$this.$hasNoSky ? 1 : 0;
}
function nms_WorldProvider_getVoidFogYFactor($this) {
    return $this.$terrainType1 !== nms_WorldType_FLAT ? 0.03125 : 1.0;
}
$java.nms_WorldProvider_doesXZShowFog = function($this, $par1, $par2) {
    return 0;
};
function maat__tmi_MgWidget() {
    var a = this; jl_Object.call(a);
    a.$x5 = 0;
    a.$y4 = 0;
    a.$z5 = 0;
    a.$width3 = 0;
    a.$height5 = 0;
    a.$show = 0;
    a.$mouseOver = 0;
    a.$children0 = null;
}
$java.maat__tmi_MgWidget__init_0 = function(var_0, var_1) {
    var var_2 = new maat__tmi_MgWidget();
    $java.maat__tmi_MgWidget__init_(var_2, var_0, var_1);
    return var_2;
};
$java.maat__tmi_MgWidget__init_1 = function(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new maat__tmi_MgWidget();
    $java.maat__tmi_MgWidget__init_2(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
};
$java.maat__tmi_MgWidget__init_ = function($this, $var1, $var2) {
    $java.maat__tmi_MgWidget__init_2($this, $var1, $var2, 0, 0, 0);
};
$java.maat__tmi_MgWidget__init_2 = function($this, $var1, $var2, $var3, $var4, $var5) {
    $this.$show = 1;
    $this.$mouseOver = 0;
    $this.$children0 = ju_ArrayList__init_0();
    $this.$x5 = $var1;
    $this.$y4 = $var2;
    $this.$z5 = $var3;
    $this.$width3 = $var4;
    $this.$height5 = $var5;
};
$java.maat__tmi_MgWidget_getComparator = function() {
    return new maat__tmi_MgZOrder;
};
$java.maat__tmi_MgWidget_contains = function($this, $var1, $var2) {
    return $this.$show && $var1 >= $this.$x5 && $var1 <= ($this.$x5 + $this.$width3 | 0) && $var2 >= $this.$y4 && $var2 <= ($this.$y4 + $this.$height5 | 0) ? 1 : 0;
};
$java.maat__tmi_MgWidget_resize = function($this) {
    return;
};
$java.maat__tmi_MgWidget_delegateClickToChildren = function($this, $var1, $var2, $var3) {
    var $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        ju_Collections_sort($this.$children0, $java.maat__tmi_MgWidget_getComparator());
        $var4 = ju_AbstractList_iterator($this.$children0);
        while (ju_AbstractList$1_hasNext($var4)) {
            $var5 = ju_AbstractList$1_next($var4);
            if (!$var5.$show)
                continue;
            if (!$java.maat__tmi_MgWidget_contains($var5, $var1, $var2))
                continue;
            else {
                $ptr = 1;
                continue main;
            }
        }
        return 1;
    case 1:
        $tmp = $var5.$click($var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
};
$java.maat__tmi_MgWidget_drawChildren = function($this, $var1, $var2, $var3) {
    var var$4, $var5, $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = $this.$children0;
        $var5 = $java.maat__tmi_MgWidget_getComparator();
        $var4 = new ju_Collections$reverseOrder$lambda$_44_0;
        $var4.$_02 = $var5;
        ju_Collections_sort(var$4, $var4);
        $var4 = ju_AbstractList_iterator($this.$children0);
        if (!ju_AbstractList$1_hasNext($var4))
            return;
        $var5 = ju_AbstractList$1_next($var4);
        $ptr = 1;
    case 1:
        $var5.$draw1($var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        if (!ju_AbstractList$1_hasNext($var4))
            return;
        $var5 = ju_AbstractList$1_next($var4);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $var5, $var4, $ptr);
};
function maat__tmi_MgTabView() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$children1 = null;
    a.$icons = null;
    a.$iconsSelected = null;
    a.$activeChildName = null;
    a.$tabsHeight = 0;
}
$java.maat__tmi_MgTabView__init_ = function() {
    var var_0 = new maat__tmi_MgTabView();
    maat__tmi_MgTabView__init_(var_0);
    return var_0;
};
function maat__tmi_MgTabView__init_($this) {
    $java.maat__tmi_MgWidget__init_($this, 0, 0);
    $this.$children1 = ju_LinkedHashMap__init_0();
    $this.$icons = ju_HashMap__init_();
    $this.$iconsSelected = ju_HashMap__init_();
    $this.$activeChildName = null;
    $this.$tabsHeight = 18;
}
$java.maat__tmi_MgTabView_addChild = function($this, $var1, $var2, $var3, $var4) {
    ju_LinkedHashMap_put($this.$children1, $var1, $var4);
    ju_HashMap_putImpl($this.$icons, $var1, $var2);
    ju_HashMap_putImpl($this.$iconsSelected, $var1, $var3);
    if ($this.$activeChildName === null)
        $this.$activeChildName = $var1;
};
$java.maat__tmi_MgTabView_getChild = function($this, $var1) {
    return $java.ju_LinkedHashMap_get($this.$children1, $var1);
};
$java.maat__tmi_MgTabView_getActiveChild = function($this) {
    return $java.maat__tmi_MgTabView_getChild($this, $this.$activeChildName);
};
$java.maat__tmi_MgTabView_getActiveChildName = function($this) {
    return $this.$activeChildName;
};
$java.maat__tmi_MgTabView_setActiveChild = function($this, $var1) {
    var $var2;
    $var2 = ju_LinkedHashMap_values($this.$children1).$iterator();
    while ($var2.$hasNext()) {
        $var2.$next().$show = 0;
    }
    $java.ju_LinkedHashMap_get($this.$children1, $var1).$show = 1;
    $this.$activeChildName = $var1;
};
$java.maat__tmi_MgTabView_draw = function($this, $var1, $var2, $var3) {
    var $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = $this.$x5;
        $var5 = $this.$y4;
        $var6 = $java.ju_LinkedHashMap_keySet($this.$children1).$iterator();
        if (!$var6.$hasNext()) {
            if ($this.$activeChildName === null)
                return;
            $var7 = $java.maat__tmi_MgTabView_getActiveChild($this);
            $ptr = 1;
            continue main;
        }
        $var7 = $var6.$next();
        $var8 = $var7 !== $this.$activeChildName ? ju_HashMap_get($this.$icons, $var7) : ju_HashMap_get($this.$iconsSelected, $var7);
        $var9 = $var8.$width4 + 6 | 0;
        var$10 = $var4 + 3 | 0;
        var$11 = $var5 + (($this.$tabsHeight - $var8.$height6 | 0) / 2 | 0) | 0;
        $ptr = 2;
        continue main;
    case 1:
        $var7.$draw1($var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        $java.maat__tmi_MgCanvas_drawChrome($var1, var$10, var$11, $var8);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $var4 + $var9 | 0;
        if (!$var6.$hasNext()) {
            if ($this.$activeChildName === null)
                return;
            $var7 = $java.maat__tmi_MgTabView_getActiveChild($this);
            $ptr = 1;
            continue main;
        }
        $var7 = $var6.$next();
        $var8 = $var7 !== $this.$activeChildName ? ju_HashMap_get($this.$icons, $var7) : ju_HashMap_get($this.$iconsSelected, $var7);
        $var9 = $var8.$width4 + 6 | 0;
        var$10 = $var4 + 3 | 0;
        var$11 = $var5 + (($this.$tabsHeight - $var8.$height6 | 0) / 2 | 0) | 0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, $ptr);
};
$java.maat__tmi_MgTabView_resize = function($this) {
    var $var1;
    if ($this.$activeChildName !== null) {
        $var1 = $java.maat__tmi_MgTabView_getActiveChild($this);
        $var1.$x5 = $this.$x5;
        $var1.$y4 = $this.$y4 + $this.$tabsHeight | 0;
        $var1.$width3 = $this.$width3;
        $var1.$height5 = $this.$height5 - $this.$tabsHeight | 0;
        $var1.$resize();
    }
};
$java.maat__tmi_MgTabView_click = function($this, $var1, $var2, $var3) {
    var $var4, $var5, $var6, $var7, $var8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = $var1 - $this.$x5 | 0;
        $var5 = $var2 - $this.$y4 | 0;
        if ($var4 > 0 && $var4 < $this.$width3 && $var5 > 0 && $var5 < $this.$tabsHeight) {
            $var6 = 0;
            $var7 = $java.ju_LinkedHashMap_keySet($this.$children1).$iterator();
            while ($var7.$hasNext()) {
                $var8 = $var7.$next();
                $var9 = ju_HashMap_get($this.$icons, $var8);
                if ($var4 <= (($var6 + $var9.$width4 | 0) + 6 | 0)) {
                    $java.maat__tmi_MgTabView_setActiveChild($this, $var8);
                    return 0;
                }
                $var6 = $var6 + ($var9.$width4 + 6 | 0) | 0;
            }
        } else if ($this.$activeChildName !== null) {
            $var8 = $java.maat__tmi_MgTabView_getActiveChild($this);
            $ptr = 1;
            continue main;
        }
        return 1;
    case 1:
        $tmp = $var8.$click($var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $ptr);
};
function maat_TMIEnchantPanel() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$selectedItem = null;
    a.$enchantmentSettings = null;
    a.$items = null;
    a.$prevButton = null;
    a.$nextButton = null;
    a.$createButton = null;
    a.$favoriteButton = null;
    a.$itemButton = null;
    a.$page = 0;
    a.$tooltipHandler = null;
    a.$itemPicker = null;
    a.$showItemPicker = 0;
    a.$nameField = null;
}
$java.maat_TMIEnchantPanel_resize = function($this) {
    $java.maat_TMIEnchantPanel_createChildren($this);
    $this.$nextButton.$x5 = (($this.$x5 + $this.$width3 | 0) - $this.$nextButton.$width3 | 0) - 2 | 0;
    $this.$nextButton.$y4 = (($this.$y4 + $this.$height5 | 0) - $this.$nextButton.$height5 | 0) - 2 | 0;
    $this.$prevButton.$x5 = ($this.$nextButton.$x5 - $this.$prevButton.$width3 | 0) - 1 | 0;
    $this.$prevButton.$y4 = $this.$nextButton.$y4;
    $this.$itemButton.$x5 = $this.$x5;
    $this.$itemButton.$y4 = $this.$y4 + 8 | 0;
    $this.$createButton.$x5 = $this.$x5 + 20 | 0;
    $this.$createButton.$y4 = $this.$y4 + 8 | 0;
    $this.$favoriteButton.$x5 = ($this.$createButton.$x5 + $this.$createButton.$width3 | 0) + 2 | 0;
    $this.$favoriteButton.$y4 = $this.$y4 + 8 | 0;
    $this.$nameField.$width3 = $this.$width3 - 5 | 0;
    $this.$nameField.$height5 = 14;
    $this.$nameField.$x5 = $this.$x5 + 1 | 0;
    $this.$nameField.$y4 = $this.$itemButton.$y4 + 21 | 0;
    $this.$itemPicker.$x5 = $this.$x5;
    $this.$itemPicker.$y4 = ($this.$itemButton.$y4 + $this.$itemButton.$height5 | 0) + 1 | 0;
    $this.$itemPicker.$width3 = $this.$width3;
    $java.maat_TMIEnchantItemPicker_resize($this.$itemPicker);
    $this.$itemPicker.$z5 = (-100);
};
$java.maat_TMIEnchantPanel_createChildren = function($this) {
    var $var4, $var5, $var6, $var3, var$5, $var7, $var8, $var9, $var10, $var11, $var13, var$12, $var12;
    ju_ArrayList_clear($this.$children0);
    ju_ArrayList_add($this.$children0, $this.$nextButton);
    ju_ArrayList_add($this.$children0, $this.$prevButton);
    ju_ArrayList_add($this.$children0, $this.$createButton);
    ju_ArrayList_add($this.$children0, $this.$favoriteButton);
    ju_ArrayList_add($this.$children0, $this.$itemButton);
    ju_ArrayList_add($this.$children0, $this.$itemPicker);
    ju_ArrayList_add($this.$children0, $this.$nameField);
    $var4 = ((($this.$height5 - $this.$nextButton.$height5 | 0) - 47 | 0) - 4 | 0) / 14 | 0;
    $var5 = new ju_ArrayList;
    $java.maat_TMIEnchanting_$callClinit();
    ju_ArrayList__init_4($var5, $java.ju_LinkedHashMap_keySet($java.maat_TMIEnchanting_currentEnchantmentLevels));
    $var6 = $var5.$size;
    if ($this.$page < 0)
        $this.$page = 0;
    else {
        $var3 = $this.$page;
        var$5 = $var6 / $var4 | 0;
        if ($var3 > var$5)
            $this.$page = var$5;
    }
    $var7 = $rt_imul($this.$page, $var4);
    $var8 = 0;
    while ($var8 < $var4) {
        $var3 = $var8 + $var7 | 0;
        if ($var3 >= $var6)
            break;
        $var9 = ju_ArrayList_get($var5, $var3);
        $var10 = ($this.$y4 + 47 | 0) + ($var8 * 14 | 0) | 0;
        $var11 = nms_StatCollector_translateToLocal($var9.$getName());
        $var13 = $java.maat_TMIEnchanting_currentItem;
        var$12 = $var9.$type1;
        nms_Item_$callClinit();
        $var12 = !$java.nms_EnumEnchantmentType_canEnchantItem(var$12, nms_Item_itemsList.data[$var13.$itemID0]) && $var13.$itemID0 != $java.maat_TMIItemInfo_addItemOffset(147) ? 0 : 1;
        $var13 = new maat_TMIEnchantControl;
        $java.maat__tmi_MgWidget__init_2($var13, $this.$x5, $var10, 100, $this.$width3 - 3 | 0, 14);
        $var13.$normallyPossible = 1;
        $var13.$name13 = $var11;
        $var13.$enchantment0 = $var9;
        $var13.$normallyPossible = $var12;
        ju_ArrayList_add($this.$children0, $var13);
        $var8 = $var8 + 1 | 0;
    }
};
$java.maat_TMIEnchantPanel_draw = function($this, $var1, $var2, $var3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$show)
            return;
        var$4 = $this.$itemButton;
        $java.maat_TMIEnchanting_$callClinit();
        var$4.$stack = $java.maat_TMIEnchanting_currentItem;
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgWidget_drawChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        if ($java.maat__tmi_MgWidget_contains($this.$createButton, $var2, $var3))
            $this.$tooltipHandler.$activeTooltip = $rt_s(2646);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
};
$java.maat_TMIEnchantPanel_click = function($this, $var1, $var2, $var3) {
    var $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = $java.maat_TMIUtils_getHeldItem();
        if ($var4 !== null) {
            $java.maat_TMIEnchantPanel_chooseItem($this, $var4);
            return 0;
        }
        $ptr = 1;
    case 1:
        $tmp = $java.maat__tmi_MgWidget_delegateClickToChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
};
$java.maat_TMIEnchantPanel_chooseItem = function($this, $var1) {
    $java.maat_TMIEnchanting_setItem($var1);
    $java.maat__tmi_MgTextField_setValue($this.$nameField, $rt_s(36));
    $java.maat_TMIEnchantPanel_createChildren($this);
};
$java.maat_TMIEnchantPanel_onButtonPress = function($this, $var1) {
    var $var2, $var3, $var4;
    if ($var1 instanceof jl_String) {
        $var2 = $var1;
        if (jl_String_equals($var2, $rt_s(2511))) {
            $this.$page = $this.$page + 1 | 0;
            $java.maat_TMIEnchantPanel_resize($this);
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2512))) {
            $this.$page = $this.$page - 1 | 0;
            $java.maat_TMIEnchantPanel_resize($this);
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2510))) {
            if (!$this.$itemPicker.$show)
                $java.maat_TMIEnchantItemPicker_open($this.$itemPicker);
            else
                $this.$itemPicker.$show = 0;
            $java.maat_TMIEnchantPanel_resize($this);
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2514))) {
            $var3 = $java.maat_TMIEnchanting_createStack();
            $var4 = $java.maat__tmi_MgTextField_value($this.$nameField);
            if (!jl_String_equals($var4, $rt_s(36)))
                $java.maat_TMIUtils_nameStack($var3, $var4);
            $java.maat_TMIUtils_giveStack0($var3, maat_TMIConfig_getInstance());
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2516))) {
            $var3 = $java.maat_TMIEnchanting_createStack();
            $var4 = $java.maat__tmi_MgTextField_value($this.$nameField);
            if (!jl_String_equals($var4, $rt_s(36)))
                $java.maat_TMIUtils_nameStack($var3, $var4);
            maat_TMIConfig_getInstance();
            ju_ArrayList_add($java.maat_TMIConfig_favorites, $var3);
            $java.maat_TMIUtils_savePreferences(maat_TMIConfig_getInstance());
            return 0;
        }
    }
    return 1;
};
$java.maat_TMIEnchantPanel_onButtonRightClick = function($this, $var1) {
    return 1;
};
function maat_TMIConfigPanel() {
    maat__tmi_MgWidget.call(this);
}
$java.maat_TMIConfigPanel__init_ = function() {
    var var_0 = new maat_TMIConfigPanel();
    maat_TMIConfigPanel__init_(var_0);
    return var_0;
};
function maat_TMIConfigPanel__init_($this) {
    $java.maat__tmi_MgWidget__init_($this, 0, 0);
}
function maat_TMIPotionPanel() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$potionTypeRegular = null;
    a.$potionTypeSplash = null;
    a.$potionTypeButton = null;
    a.$picker = null;
    a.$pickerTarget = null;
    a.$addButton = null;
    a.$prevButton0 = null;
    a.$nextButton0 = null;
    a.$createButton0 = null;
    a.$favoriteButton0 = null;
    a.$nameField0 = null;
    a.$page0 = 0;
}
$java.maat_TMIPotionPanel_makeSplashPotion = 0;
$java.maat_TMIPotionPanel_controls = null;
$java.maat_TMIPotionPanel__init_ = function() {
    var var_0 = new maat_TMIPotionPanel();
    maat_TMIPotionPanel__init_(var_0);
    return var_0;
};
function maat_TMIPotionPanel__init_($this) {
    var $var1, $var2;
    $java.maat__tmi_MgWidget__init_($this, 0, 0);
    $this.$potionTypeRegular = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(117), 1, 1);
    $this.$potionTypeSplash = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(117), 1, 16385);
    $this.$potionTypeButton = $java.maat__tmi_MgItemButton__init_($rt_s(36), $this.$potionTypeRegular, $this, $rt_s(2647));
    $var1 = new maat_TMIPotionEffectPicker;
    $java.maat__tmi_MgWidget__init_($var1, 0, 0);
    $var1.$page1 = 0;
    $var1.$closeButton = $java.maat__tmi_MgButton__init_($rt_s(1904), $var1, $rt_s(2648));
    $var1.$nextButton1 = $java.maat__tmi_MgButton__init_($rt_s(36), $var1, $rt_s(2511));
    $var1.$prevButton1 = $java.maat__tmi_MgButton__init_($rt_s(36), $var1, $rt_s(2512));
    $var1.$show = 0;
    $var1.$panel = $this;
    $var1.$nextButton1.$icon = $java.maat_TMIImages_iconNext;
    $var1.$nextButton1.$width3 = 16;
    $var1.$nextButton1.$height5 = 16;
    $var1.$prevButton1.$icon = $java.maat_TMIImages_iconPrev;
    $var1.$prevButton1.$width3 = 16;
    $var1.$prevButton1.$height5 = 16;
    $var1.$closeButton.$width3 = 16;
    $var1.$closeButton.$height5 = 16;
    $this.$picker = $var1;
    $this.$pickerTarget = null;
    $this.$nameField0 = $java.maat__tmi_MgTextField__init_(nmc_Minecraft_theMinecraft.$fontRenderer, $rt_s(2509), maat_TMI_instance.$controller);
    $this.$page0 = 0;
    $this.$createButton0 = $java.maat__tmi_MgButton__init_($rt_s(2513), $this, $rt_s(2649));
    $this.$createButton0.$width3 = 36;
    $this.$createButton0.$height5 = 18;
    $this.$favoriteButton0 = $java.maat__tmi_MgButton__init_($rt_s(2515), $this, $rt_s(2650));
    $this.$favoriteButton0.$width3 = 48;
    $this.$favoriteButton0.$height5 = 18;
    $this.$nextButton0 = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2511));
    $this.$nextButton0.$icon = $java.maat_TMIImages_iconNext;
    $this.$nextButton0.$width3 = 16;
    $this.$nextButton0.$height5 = 16;
    $this.$prevButton0 = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2512));
    $this.$prevButton0.$icon = $java.maat_TMIImages_iconPrev;
    $this.$prevButton0.$width3 = 16;
    $this.$prevButton0.$height5 = 16;
    $this.$addButton = $java.maat__tmi_MgButton__init_($rt_s(2651), $this, $rt_s(2652));
    $this.$addButton.$width3 = 70;
    $this.$addButton.$height5 = 16;
    ju_ArrayList_add($this.$children0, $this.$picker);
    ju_ArrayList_add($this.$children0, $this.$potionTypeButton);
    ju_ArrayList_add($this.$children0, $this.$createButton0);
    ju_ArrayList_add($this.$children0, $this.$favoriteButton0);
    ju_ArrayList_add($this.$children0, $this.$nextButton0);
    ju_ArrayList_add($this.$children0, $this.$prevButton0);
    ju_ArrayList_add($this.$children0, $this.$addButton);
    ju_ArrayList_add($this.$children0, $this.$nameField0);
    if ($java.maat_TMIPotionPanel_controls.$size <= 0) {
        ju_ArrayList_add($java.maat_TMIPotionPanel_controls, $java.maat_TMIPotionEffectControl__init_($this));
        ju_ArrayList_add($this.$children0, ju_ArrayList_get($java.maat_TMIPotionPanel_controls, 0));
    } else {
        $var1 = ju_AbstractList_iterator($java.maat_TMIPotionPanel_controls);
        while (ju_AbstractList$1_hasNext($var1)) {
            $var2 = ju_AbstractList$1_next($var1);
            $var2.$panel0 = $this;
            ju_ArrayList_add($this.$children0, $var2);
        }
    }
    $this.$potionTypeButton.$stack = !$java.maat_TMIPotionPanel_makeSplashPotion ? $this.$potionTypeRegular : $this.$potionTypeSplash;
}
$java.maat_TMIPotionPanel_resize = function($this) {
    var $var1, $var6, $var5, $var3, $var15, $var16, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14;
    if ($this.$width3 < 106)
        $this.$width3 = 106;
    $this.$potionTypeButton.$x5 = $this.$x5;
    $this.$createButton0.$x5 = $this.$x5 + 20 | 0;
    $this.$favoriteButton0.$x5 = ($this.$createButton0.$x5 + $this.$createButton0.$width3 | 0) + 2 | 0;
    $var1 = $this.$potionTypeButton;
    $var6 = $this.$createButton0;
    $var5 = $this.$favoriteButton0;
    $var3 = $this.$y4 + 8 | 0;
    $var5.$y4 = $var3;
    $var6.$y4 = $var3;
    $var1.$y4 = $var3;
    $this.$nameField0.$width3 = $this.$width3 - 5 | 0;
    $this.$nameField0.$height5 = 14;
    $this.$nameField0.$x5 = $this.$x5 + 1 | 0;
    $this.$nameField0.$y4 = $this.$createButton0.$y4 + 21 | 0;
    $var1 = $java.maat_TMIPotionPanel_getEffects($this);
    $var3 = ((($this.$y4 + 8 | 0) + 18 | 0) + 2 | 0) + 18 | 0;
    if ($var1.$size > 0) {
        $var5 = ju_AbstractList_iterator($var1);
        while (ju_AbstractList$1_hasNext($var5)) {
            ju_AbstractList$1_next($var5).$show = 0;
        }
        $var15 = ju_ArrayList_get($var1, 0).$width3;
        $var16 = ju_ArrayList_get($var1, 0).$height5;
        $var7 = $this.$width3 / $var15 | 0;
        $var8 = ((($this.$height5 - $var3 | 0) - 16 | 0) - 2 | 0) / $var16 | 0;
        $var9 = $rt_imul($var7, $var8);
        $var10 = $var1.$size;
        $var11 = ($var10 / $var9 | 0) + (($var10 % $var9 | 0) <= 0 ? 0 : 1) | 0;
        $var6 = $this.$nextButton0;
        $var5 = $this.$prevButton0;
        $var10 = $var11 <= 1 ? 0 : 1;
        $var5.$show = $var10;
        $var6.$show = $var10;
        if (!($this.$page0 <= ($var11 - 1 | 0) && $this.$page0 >= 0))
            $this.$page0 = 0;
        $var12 = $rt_imul($this.$page0, $var9);
        $var13 = 0;
        $var15 = $var15 + 2 | 0;
        $var11 = $var16 + 2 | 0;
        while ($var13 < $var8 && $var12 < $var1.$size) {
            $var9 = $this.$x5;
            $var14 = 0;
            while ($var14 < $var7 && $var12 < $var1.$size) {
                ju_ArrayList_get($var1, $var12).$show = 1;
                ju_ArrayList_get($var1, $var12).$x5 = $var9;
                ju_ArrayList_get($var1, $var12).$y4 = $var3;
                $java.maat_TMIPotionEffectControl_resize(ju_ArrayList_get($var1, $var12));
                $var12 = $var12 + 1 | 0;
                $var9 = $var9 + $var15 | 0;
                $var14 = $var14 + 1 | 0;
            }
            $var3 = $var3 + $var11 | 0;
            $var13 = $var13 + 1 | 0;
        }
        $var3 = (ju_ArrayList_get($var1, $var12 - 1 | 0).$y4 + $var16 | 0) + 2 | 0;
    }
    $this.$addButton.$x5 = $this.$x5;
    $this.$prevButton0.$x5 = ($this.$addButton.$x5 + $this.$addButton.$width3 | 0) + 2 | 0;
    $this.$nextButton0.$x5 = ($this.$prevButton0.$x5 + $this.$prevButton0.$width3 | 0) + 2 | 0;
    $var1 = $this.$addButton;
    $var6 = $this.$prevButton0;
    $this.$nextButton0.$y4 = $var3;
    $var6.$y4 = $var3;
    $var1.$y4 = $var3;
};
$java.maat_TMIPotionPanel_getEffects = function($this) {
    var $var1, $var2, $var3;
    $var1 = ju_ArrayList__init_0();
    $var2 = ju_AbstractList_iterator($this.$children0);
    while (ju_AbstractList$1_hasNext($var2)) {
        $var3 = ju_AbstractList$1_next($var2);
        if ($var3 instanceof maat_TMIPotionEffectControl)
            ju_ArrayList_add($var1, $var3);
    }
    return $var1;
};
$java.maat_TMIPotionPanel_createCurrentPotion = function($this) {
    var $var1, $var2, $var3, $var5;
    $var1 = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(117), 64, !$java.maat_TMIPotionPanel_makeSplashPotion ? 1 : 16384);
    $var2 = ju_AbstractList_iterator($java.maat_TMIPotionPanel_getEffects($this));
    while (ju_AbstractList$1_hasNext($var2)) {
        $var3 = ju_AbstractList$1_next($var2);
        $java.maat_TMIUtils_addEffectToPotion($var1, nms_PotionEffect__init_($var3.$effectId0, !$java.maat_TMIPotionEffectControl_isInstant($var3) ? $var3.$tickDuration : 0, $var3.$level));
    }
    $var5 = $java.maat__tmi_MgTextField_value($this.$nameField0);
    if (!jl_String_equals($var5, $rt_s(36)))
        $java.maat_TMIUtils_nameStack($var1, $var5);
    return $var1;
};
$java.maat_TMIPotionPanel_openEffectPicker = function($this, $var1) {
    $this.$pickerTarget = $var1;
    $this.$picker.$z5 = (-100);
    $this.$picker.$width3 = $this.$width3;
    $this.$picker.$height5 = $this.$height5;
    $this.$picker.$x5 = $this.$x5;
    $this.$picker.$y4 = $this.$y4;
    $this.$picker.$show = 1;
    $java.maat_TMIPotionEffectPicker_resize($this.$picker);
};
$java.maat_TMIPotionPanel_pickerPicked = function($this, $var1) {
    var $var2;
    if ($this.$pickerTarget !== null)
        $this.$pickerTarget.$effectId0 = $var1;
    else {
        $var2 = $java.maat_TMIPotionEffectControl__init_($this);
        $var2.$effectId0 = $var1;
        ju_ArrayList_add($java.maat_TMIPotionPanel_controls, $var2);
        ju_ArrayList_add($this.$children0, $var2);
        $java.maat_TMIPotionPanel_resize($this);
    }
};
$java.maat_TMIPotionPanel_removeEffectControl = function($this, $var1) {
    ju_ArrayList_remove0($this.$children0, $var1);
    ju_ArrayList_remove0($java.maat_TMIPotionPanel_controls, $var1);
    $java.maat_TMIPotionPanel_resize($this);
};
$java.maat_TMIPotionPanel_onButtonPress = function($this, $var1) {
    var $var2, $var3;
    if ($var1 instanceof jl_String) {
        $var2 = $var1;
        if (jl_String_equals($var2, $rt_s(2647))) {
            $java.maat_TMIPotionPanel_makeSplashPotion = $java.maat_TMIPotionPanel_makeSplashPotion ? 0 : 1;
            $this.$potionTypeButton.$stack = !$java.maat_TMIPotionPanel_makeSplashPotion ? $this.$potionTypeRegular : $this.$potionTypeSplash;
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2649))) {
            $java.maat_TMIUtils_giveStack0($java.maat_TMIPotionPanel_createCurrentPotion($this), maat_TMIConfig_getInstance());
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2650))) {
            $var3 = $java.maat_TMIPotionPanel_createCurrentPotion($this);
            maat_TMIConfig_getInstance();
            ju_ArrayList_add($java.maat_TMIConfig_favorites, $var3);
            $java.maat_TMIUtils_savePreferences(maat_TMIConfig_getInstance());
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2652))) {
            $java.maat_TMIPotionPanel_openEffectPicker($this, null);
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2511))) {
            $this.$page0 = $this.$page0 + 1 | 0;
            $java.maat_TMIPotionPanel_resize($this);
        } else if (jl_String_equals($var2, $rt_s(2512))) {
            $this.$page0 = $this.$page0 - 1 | 0;
            $java.maat_TMIPotionPanel_resize($this);
        }
    }
    return 1;
};
$java.maat_TMIPotionPanel_onButtonRightClick = function($this, $var1) {
    return 1;
};
$java.maat_TMIPotionPanel_draw = function($this, $var1, $var2, $var3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$show)
            return;
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgWidget_drawChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
};
$java.maat_TMIPotionPanel_click = function($this, $var1, $var2, $var3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.maat__tmi_MgWidget_delegateClickToChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
};
function maat_TMIPotionPanel__clinit_() {
    $java.maat_TMIPotionPanel_makeSplashPotion = 0;
    $java.maat_TMIPotionPanel_controls = ju_ArrayList__init_0();
}
function maat_TMIFireworkPanel() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$firework = null;
    a.$fireworkCharge = null;
    a.$itemButton0 = null;
    a.$makeCharge = 0;
    a.$addButton0 = null;
    a.$prevButton2 = null;
    a.$nextButton2 = null;
    a.$createButton1 = null;
    a.$favoriteButton1 = null;
    a.$typeButton = null;
    a.$heightButton = null;
    a.$trailButton = null;
    a.$flickerButton = null;
    a.$colorButtons = null;
    a.$fadeButtons = null;
    a.$nameField1 = null;
    a.$page2 = 0;
}
$java.maat_TMIFireworkPanel_trail = 0;
$java.maat_TMIFireworkPanel_flicker = 0;
$java.maat_TMIFireworkPanel_height = 0;
$java.maat_TMIFireworkPanel_type = 0;
$java.maat_TMIFireworkPanel_colors = null;
$java.maat_TMIFireworkPanel_fadeColors = null;
$java.maat_TMIFireworkPanel__init_ = function() {
    var var_0 = new maat_TMIFireworkPanel();
    maat_TMIFireworkPanel__init_(var_0);
    return var_0;
};
function maat_TMIFireworkPanel__init_($this) {
    var var$1, var$2, var$3, $var1, var$5;
    $java.maat__tmi_MgWidget__init_($this, 0, 0);
    $this.$firework = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(145), 64, 0);
    $this.$fireworkCharge = nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(146), 64, 0);
    $this.$itemButton0 = $java.maat__tmi_MgItemButton__init_($rt_s(36), $this.$firework, $this, $rt_s(2653));
    $this.$makeCharge = 0;
    $this.$colorButtons = $rt_createArray(maat__tmi_MgButton, 3);
    $this.$fadeButtons = $rt_createArray(maat__tmi_MgButton, 3);
    $this.$nameField1 = $java.maat__tmi_MgTextField__init_(nmc_Minecraft_theMinecraft.$fontRenderer, $rt_s(2509), maat_TMI_instance.$controller);
    $this.$page2 = 0;
    $this.$createButton1 = $java.maat__tmi_MgButton__init_($rt_s(2513), $this, $rt_s(2654));
    $this.$createButton1.$width3 = 36;
    $this.$createButton1.$height5 = 18;
    $this.$favoriteButton1 = $java.maat__tmi_MgButton__init_($rt_s(2515), $this, $rt_s(2655));
    $this.$favoriteButton1.$width3 = 48;
    $this.$favoriteButton1.$height5 = 18;
    $this.$nextButton2 = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2511));
    $this.$nextButton2.$icon = $java.maat_TMIImages_iconNext;
    $this.$nextButton2.$width3 = 16;
    $this.$nextButton2.$height5 = 16;
    $this.$prevButton2 = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2512));
    $this.$prevButton2.$icon = $java.maat_TMIImages_iconPrev;
    $this.$prevButton2.$width3 = 16;
    $this.$prevButton2.$height5 = 16;
    $this.$addButton0 = $java.maat__tmi_MgButton__init_($rt_s(2651), $this, $rt_s(2652));
    $this.$addButton0.$width3 = 70;
    $this.$addButton0.$height5 = 16;
    $this.$typeButton = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2656));
    $this.$heightButton = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2657));
    $this.$trailButton = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2658));
    $this.$flickerButton = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2659));
    var$1 = $this.$typeButton;
    var$2 = $this.$heightButton;
    var$3 = $this.$trailButton;
    $this.$flickerButton.$width3 = 52;
    var$3.$width3 = 52;
    var$2.$width3 = 52;
    var$1.$width3 = 52;
    var$1 = $this.$typeButton;
    var$2 = $this.$heightButton;
    var$3 = $this.$trailButton;
    $this.$flickerButton.$height5 = 16;
    var$3.$height5 = 16;
    var$2.$height5 = 16;
    var$1.$height5 = 16;
    $var1 = 0;
    while ($var1 < $this.$colorButtons.data.length) {
        $this.$colorButtons.data[$var1] = $java.maat__tmi_MgButton__init_($rt_s(36), $this, jl_Integer_valueOf($var1));
        $this.$colorButtons.data[$var1].$height5 = 14;
        ju_ArrayList_add($this.$children0, $this.$colorButtons.data[$var1]);
        $var1 = $var1 + 1 | 0;
    }
    var$5 = 0;
    while (var$5 < $this.$fadeButtons.data.length) {
        $this.$fadeButtons.data[var$5] = $java.maat__tmi_MgButton__init_($rt_s(36), $this, jl_Integer_valueOf( -var$5 - 1 | 0));
        $this.$fadeButtons.data[var$5].$height5 = 14;
        ju_ArrayList_add($this.$children0, $this.$fadeButtons.data[var$5]);
        var$5 = var$5 + 1 | 0;
    }
    ju_ArrayList_add($this.$children0, $this.$itemButton0);
    ju_ArrayList_add($this.$children0, $this.$createButton1);
    ju_ArrayList_add($this.$children0, $this.$favoriteButton1);
    ju_ArrayList_add($this.$children0, $this.$typeButton);
    ju_ArrayList_add($this.$children0, $this.$heightButton);
    ju_ArrayList_add($this.$children0, $this.$trailButton);
    ju_ArrayList_add($this.$children0, $this.$flickerButton);
    ju_ArrayList_add($this.$children0, $this.$nameField1);
}
$java.maat_TMIFireworkPanel_resize = function($this) {
    var var$1, var$2, var$3, $var1, $var2;
    if ($this.$width3 < 106)
        $this.$width3 = 106;
    $this.$itemButton0.$x5 = $this.$x5;
    $this.$createButton1.$x5 = $this.$x5 + 20 | 0;
    $this.$favoriteButton1.$x5 = ($this.$createButton1.$x5 + $this.$createButton1.$width3 | 0) + 2 | 0;
    var$1 = $this.$itemButton0;
    var$2 = $this.$createButton1;
    var$3 = $this.$favoriteButton1;
    $var1 = $this.$y4 + 8 | 0;
    var$3.$y4 = $var1;
    var$2.$y4 = $var1;
    var$1.$y4 = $var1;
    $this.$typeButton.$x5 = $this.$x5;
    var$1 = $this.$flickerButton;
    var$2 = $this.$heightButton;
    $var1 = ($this.$typeButton.$x5 + $this.$typeButton.$width3 | 0) + 2 | 0;
    var$2.$x5 = $var1;
    var$1.$x5 = $var1;
    var$1 = $this.$typeButton;
    var$2 = $this.$flickerButton;
    $var1 = $this.$itemButton0.$y4 + 20 | 0;
    var$2.$y4 = $var1;
    var$1.$y4 = $var1;
    $this.$trailButton.$x5 = $this.$x5;
    var$1 = $this.$trailButton;
    var$2 = $this.$heightButton;
    $var1 = $this.$typeButton.$y4 + 18 | 0;
    var$2.$y4 = $var1;
    var$1.$y4 = $var1;
    $this.$nameField1.$x5 = $this.$x5 + 1 | 0;
    $this.$nameField1.$width3 = $this.$width3 - 5 | 0;
    $this.$nameField1.$y4 = $this.$trailButton.$y4 + 19 | 0;
    $var1 = ($this.$nameField1.$y4 + 18 | 0) + 18 | 0;
    $var2 = 0;
    while ($var2 < $this.$colorButtons.data.length) {
        $this.$colorButtons.data[$var2].$width3 = $this.$width3;
        $this.$colorButtons.data[$var2].$x5 = $this.$x5;
        $this.$colorButtons.data[$var2].$y4 = $var1;
        $var1 = $var1 + 15 | 0;
        $var2 = $var2 + 1 | 0;
    }
    $var1 = $var1 + 18 | 0;
    $var2 = 0;
    while ($var2 < $this.$fadeButtons.data.length) {
        $this.$fadeButtons.data[$var2].$width3 = $this.$width3;
        $this.$fadeButtons.data[$var2].$x5 = $this.$x5;
        $this.$fadeButtons.data[$var2].$y4 = $var1;
        $var1 = $var1 + 15 | 0;
        $var2 = $var2 + 1 | 0;
    }
};
$java.maat_TMIFireworkPanel_createCurrentItem = function($this) {
    var $var1, $var2, $var3, $var4, $var9, var$6, $var5, $var6, $var10, var$10, $var7, $var11, $var8, $var12;
    $var1 = $java.maat_TMIUtils_copyStack($this.$itemButton0.$stack);
    $var1.$stackTagCompound = nms_NBTTagCompound__init_0();
    $var2 = 0;
    $var3 = 0;
    while ($var3 < $java.maat_TMIFireworkPanel_colors.data.length) {
        if ($java.maat_TMIFireworkPanel_colors.data[$var3] > (-1) && $java.maat_TMIFireworkPanel_colors.data[$var3] < 16)
            $var2 = $var2 + 1 | 0;
        $var3 = $var3 + 1 | 0;
    }
    $var3 = 0;
    $var4 = 0;
    while ($var4 < $java.maat_TMIFireworkPanel_fadeColors.data.length) {
        if ($java.maat_TMIFireworkPanel_fadeColors.data[$var4] > (-1) && $java.maat_TMIFireworkPanel_fadeColors.data[$var4] < 16)
            $var3 = $var3 + 1 | 0;
        $var4 = $var4 + 1 | 0;
    }
    $var9 = $rt_createIntArray($var2);
    var$6 = $var9.data;
    $var5 = 0;
    $var6 = 0;
    while ($var6 < $java.maat_TMIFireworkPanel_colors.data.length) {
        if ($java.maat_TMIFireworkPanel_colors.data[$var6] > (-1) && $java.maat_TMIFireworkPanel_colors.data[$var6] < 16) {
            $var2 = $var5 + 1 | 0;
            var$6[$var5] = $java.nms_ItemDye_dyeColors.data[$java.maat_TMIFireworkPanel_colors.data[$var6]];
            $var5 = $var2;
        }
        $var6 = $var6 + 1 | 0;
    }
    $var10 = null;
    if ($var3 > 0) {
        $var10 = $rt_createIntArray($var3);
        var$10 = $var10.data;
        $var2 = 0;
        $var7 = 0;
        while ($var7 < $java.maat_TMIFireworkPanel_fadeColors.data.length) {
            if ($java.maat_TMIFireworkPanel_fadeColors.data[$var7] > (-1) && $java.maat_TMIFireworkPanel_fadeColors.data[$var7] < 16) {
                $var5 = $var2 + 1 | 0;
                var$10[$var2] = $java.nms_ItemDye_dyeColors.data[$java.maat_TMIFireworkPanel_fadeColors.data[$var7]];
                $var2 = $var5;
            }
            $var7 = $var7 + 1 | 0;
        }
    }
    if (var$6.length < 1) {
        $var9 = $rt_createIntArray(1);
        $var9.data[0] = 16777215;
    }
    $var11 = $java.maat_TMIUtils_makeExplosionTag($java.maat_TMIFireworkPanel_type, $var9, $var10, $java.maat_TMIFireworkPanel_flicker, $java.maat_TMIFireworkPanel_trail);
    if ($this.$makeCharge)
        nms_NBTTagCompound_setCompoundTag($var1.$stackTagCompound, $rt_s(2305), $var11);
    else {
        $var2 = $java.maat_TMIFireworkPanel_height;
        $var9 = $rt_createArray(nms_NBTTagCompound, 1);
        $var9.data[0] = $var11;
        $var8 = $java.maat_TMIUtils_makeFireworksTag($var2, $var9);
        nms_NBTTagCompound_setCompoundTag($var1.$stackTagCompound, $rt_s(1871), $var8);
    }
    $var12 = $java.maat__tmi_MgTextField_value($this.$nameField1);
    if ($var12 !== null && !jl_String_equals($var12, $rt_s(36)))
        $java.maat_TMIUtils_nameStack($var1, $var12);
    return $var1;
};
$java.maat_TMIFireworkPanel_onButtonPress = function($this, $var1) {
    var $var2, $var3, $var4, $var5, var$6;
    if ($var1 instanceof jl_String) {
        $var2 = $var1;
        if (jl_String_equals($var2, $rt_s(2653))) {
            $this.$makeCharge = $this.$makeCharge ? 0 : 1;
            $this.$itemButton0.$stack = !$this.$makeCharge ? $this.$firework : $this.$fireworkCharge;
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2654))) {
            $java.maat_TMIUtils_giveStack0($java.maat_TMIFireworkPanel_createCurrentItem($this), maat_TMIConfig_getInstance());
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2655))) {
            $var3 = $java.maat_TMIFireworkPanel_createCurrentItem($this);
            maat_TMIConfig_getInstance();
            ju_ArrayList_add($java.maat_TMIConfig_favorites, $var3);
            $java.maat_TMIUtils_savePreferences(maat_TMIConfig_getInstance());
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2511))) {
            $this.$page2 = $this.$page2 + 1 | 0;
            $java.maat_TMIFireworkPanel_resize($this);
        } else if (jl_String_equals($var2, $rt_s(2512))) {
            $this.$page2 = $this.$page2 - 1 | 0;
            $java.maat_TMIFireworkPanel_resize($this);
        } else if (jl_String_equals($var2, $rt_s(2656))) {
            $java.maat_TMIFireworkPanel_type = $java.maat_TMIFireworkPanel_type + 1 | 0;
            if ($java.maat_TMIFireworkPanel_type > 4)
                $java.maat_TMIFireworkPanel_type = 0;
        } else if (jl_String_equals($var2, $rt_s(2657))) {
            $java.maat_TMIFireworkPanel_height = $java.maat_TMIFireworkPanel_height + 1 | 0;
            if ($java.maat_TMIFireworkPanel_height > 5)
                $java.maat_TMIFireworkPanel_height = 1;
        } else if (jl_String_equals($var2, $rt_s(2658)))
            $java.maat_TMIFireworkPanel_trail = $java.maat_TMIFireworkPanel_trail ? 0 : 1;
        else if (jl_String_equals($var2, $rt_s(2659)))
            $java.maat_TMIFireworkPanel_flicker = $java.maat_TMIFireworkPanel_flicker ? 0 : 1;
    } else if ($var1 instanceof jl_Integer) {
        $var4 = $var1.$value;
        if ($var4 < 0) {
            $var5 =  -($var4 + 1 | 0);
            var$6 = $java.maat_TMIFireworkPanel_fadeColors.data;
            var$6[$var5] = var$6[$var5] + 1 | 0;
            if ($java.maat_TMIFireworkPanel_fadeColors.data[$var5] > 15)
                $java.maat_TMIFireworkPanel_fadeColors.data[$var5] = (-1);
        } else {
            var$6 = $java.maat_TMIFireworkPanel_colors.data;
            var$6[$var4] = var$6[$var4] + 1 | 0;
            if ($java.maat_TMIFireworkPanel_colors.data[$var4] > 15) {
                var$6 = $java.maat_TMIFireworkPanel_colors;
                var$6.data[$var4] = $var4 ? (-1) : 0;
            }
        }
    }
    return 1;
};
$java.maat_TMIFireworkPanel_onButtonRightClick = function($this, $var1) {
    var $var2, $var4, $var3, var$5;
    a: {
        if ($var1 instanceof jl_String) {
            $var2 = $var1;
            if (jl_String_equals($var2, $rt_s(2656))) {
                $java.maat_TMIFireworkPanel_type = $java.maat_TMIFireworkPanel_type - 1 | 0;
                if ($java.maat_TMIFireworkPanel_type < 0)
                    $java.maat_TMIFireworkPanel_type = 4;
            } else if (jl_String_equals($var2, $rt_s(2657))) {
                $java.maat_TMIFireworkPanel_height = $java.maat_TMIFireworkPanel_height - 1 | 0;
                if ($java.maat_TMIFireworkPanel_height < 1)
                    $java.maat_TMIFireworkPanel_height = 5;
            }
        } else if ($var1 instanceof jl_Integer) {
            $var4 = $var1.$value;
            if ($var4 < 0) {
                $var3 =  -($var4 + 1 | 0);
                var$5 = $java.maat_TMIFireworkPanel_fadeColors.data;
                var$5[$var3] = var$5[$var3] - 1 | 0;
                if ($java.maat_TMIFireworkPanel_fadeColors.data[$var3] < (-1))
                    $java.maat_TMIFireworkPanel_fadeColors.data[$var3] = 15;
            } else {
                var$5 = $java.maat_TMIFireworkPanel_colors.data;
                var$5[$var4] = var$5[$var4] - 1 | 0;
                if ($java.maat_TMIFireworkPanel_colors.data[$var4] >= (-1)) {
                    if ($var4)
                        break a;
                    if ($java.maat_TMIFireworkPanel_colors.data[$var4] >= 0)
                        break a;
                }
                $java.maat_TMIFireworkPanel_colors.data[$var4] = 15;
            }
        }
    }
    return 1;
};
$java.maat_TMIFireworkPanel_reLabel = function($this) {
    var var$1, var$2, $var1;
    $this.$heightButton.$show = $this.$makeCharge ? 0 : 1;
    $this.$flickerButton.$label = !$java.maat_TMIFireworkPanel_flicker ? $rt_s(2660) : $rt_s(1516);
    $this.$trailButton.$label = !$java.maat_TMIFireworkPanel_trail ? $rt_s(2661) : $rt_s(2314);
    var$1 = $this.$heightButton;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(2662));
    jl_AbstractStringBuilder_append2(var$2, $java.maat_TMIFireworkPanel_height);
    var$1.$label = jl_AbstractStringBuilder_toString(var$2);
    var$1 = $this.$typeButton;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(2308));
    jl_AbstractStringBuilder_append2(var$2, $java.maat_TMIFireworkPanel_type);
    var$1.$label = nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString(var$2));
    $var1 = 0;
    while ($var1 < $this.$colorButtons.data.length) {
        if ($java.maat_TMIFireworkPanel_colors.data[$var1] == (-1))
            $this.$colorButtons.data[$var1].$label = $rt_s(2663);
        else {
            var$1 = $this.$colorButtons.data[$var1];
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            jl_AbstractStringBuilder_append(var$2, $rt_s(2310));
            jl_AbstractStringBuilder_append(var$2, $java.nms_ItemDye_dyeColorNames.data[$java.maat_TMIFireworkPanel_colors.data[$var1]]);
            var$1.$label = nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString(var$2));
        }
        $var1 = $var1 + 1 | 0;
    }
    $var1 = 0;
    while ($var1 < $this.$fadeButtons.data.length) {
        if ($java.maat_TMIFireworkPanel_fadeColors.data[$var1] == (-1))
            $this.$fadeButtons.data[$var1].$label = $rt_s(2663);
        else {
            var$1 = $this.$fadeButtons.data[$var1];
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            jl_AbstractStringBuilder_append(var$2, $rt_s(2310));
            jl_AbstractStringBuilder_append(var$2, $java.nms_ItemDye_dyeColorNames.data[$java.maat_TMIFireworkPanel_fadeColors.data[$var1]]);
            var$1.$label = nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString(var$2));
        }
        $var1 = $var1 + 1 | 0;
    }
};
$java.maat_TMIFireworkPanel_draw = function($this, $var1, $var2, $var3) {
    var var$4, var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$show)
            return;
        $java.maat_TMIFireworkPanel_reLabel($this);
        var$4 = $this.$x5 + 1 | 0;
        var$5 = $this.$colorButtons.data[0].$y4 - 12 | 0;
        var$6 = $rt_s(2664);
        var$7 = (-1);
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawText($var1, var$4, var$5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$x5 + 1 | 0;
        var$5 = $this.$fadeButtons.data[0].$y4 - 12 | 0;
        var$6 = $rt_s(2665);
        var$7 = (-1);
        $ptr = 2;
    case 2:
        $java.maat__tmi_MgCanvas_drawText($var1, var$4, var$5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 3;
    case 3:
        $java.maat__tmi_MgWidget_drawChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
};
$java.maat_TMIFireworkPanel_click = function($this, $var1, $var2, $var3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.maat__tmi_MgWidget_delegateClickToChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
};
function maat_TMIFireworkPanel__clinit_() {
    var var$1, var$2;
    $java.maat_TMIFireworkPanel_trail = 0;
    $java.maat_TMIFireworkPanel_flicker = 0;
    $java.maat_TMIFireworkPanel_height = 1;
    $java.maat_TMIFireworkPanel_type = 0;
    var$1 = $rt_createIntArray(3);
    var$2 = var$1.data;
    var$2[0] = 15;
    var$2[1] = (-1);
    var$2[2] = (-1);
    $java.maat_TMIFireworkPanel_colors = var$1;
    var$1 = $rt_createIntArray(3);
    var$2 = var$1.data;
    var$2[0] = (-1);
    var$2[1] = (-1);
    var$2[2] = (-1);
    $java.maat_TMIFireworkPanel_fadeColors = var$1;
}
function maat__tmi_MgButton() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$label = null;
    a.$controller1 = null;
    a.$data11 = null;
    a.$icon = null;
    a.$showState = 0;
    a.$state1 = 0;
    a.$agateType = 0;
    a.$centerText = 0;
}
$java.maat__tmi_MgButton__init_ = function(var_0, var_1, var_2) {
    var var_3 = new maat__tmi_MgButton();
    $java.maat__tmi_MgButton__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.maat__tmi_MgButton__init_0 = function($this, $var1, $var2, $var3) {
    $java.maat__tmi_MgWidget__init_2($this, 0, 0, 0, 0, 0);
    $this.$showState = 0;
    $this.$state1 = 0;
    $this.$agateType = 0;
    $this.$centerText = 1;
    $this.$label = $var1;
    $this.$controller1 = $var2;
    $this.$data11 = $var3;
};
$java.maat__tmi_MgButton_setOwnWidth = function($this, $var1) {
    $this.$width3 = ($java.maat__tmi_MgCanvas_getTextWidth($var1, $this.$label, $java.maat__tmi_MgButton_scaleFactor($this)) + $java.maat__tmi_MgButton_graphicWidth($this, $var1) | 0) + $java.maat__tmi_MgButton_getMargin($this) | 0;
};
$java.maat__tmi_MgButton_graphicWidth = function($this, $var1) {
    var $var2;
    $var2 = 0;
    if ($this.$icon !== null) {
        $var2 = $var2 + $this.$icon.$width4 | 0;
        if ($this.$label !== null && jl_String_length($this.$label) > 0)
            $var2 = $var2 + 2 | 0;
    }
    if ($this.$showState) {
        $var2 = $var2 + $java.maat_TMIImages_buttonStateOff.$width4 | 0;
        if ($this.$label !== null && jl_String_length($this.$label) > 0)
            $var2 = $var2 + 1 | 0;
    }
    return $var2;
};
$java.maat__tmi_MgButton_getMargin = function($this) {
    return $this.$label !== null && jl_String_length($this.$label) > 0 ? 6 : 2;
};
$java.maat__tmi_MgButton_scaleFactor = function($this) {
    return !$this.$agateType ? 1.0 : 0.5;
};
$java.maat__tmi_MgButton_drawGraphic = function($this, $var1, $var2) {
    var $var3, $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$icon === null)
            return 0;
        $var3 = $this.$y4 + (($this.$height5 - $this.$icon.$height6 | 0) / 2 | 0) | 0;
        $var4 = $this.$icon;
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawChrome($var1, $var2, $var3, $var4);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$showState)
            return 1;
        $var4 = !$this.$state1 ? $java.maat_TMIImages_buttonStateOff : $java.maat_TMIImages_buttonStateOn;
        $var2 = $var2 + $this.$icon.$width4 | 0;
        $ptr = 2;
    case 2:
        $java.maat__tmi_MgCanvas_drawChrome($var1, $var2, $var3, $var4);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
};
$java.maat__tmi_MgButton_draw = function($this, $var1, $var2, $var3) {
    var $var4, $var5, $var6, $var8, $var9, $var10, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$show)
            return;
        $java.maat__tmi_MgCanvas_drawRect($var1, $this.$x5, $this.$y4, $this.$width3, $this.$height5, !$java.maat__tmi_MgWidget_contains($this, $var2, $var3) ? (-301989888) : (-297791480));
        $var2 = $this.$x5;
        $var3 = $this.$y4;
        $var4 = $rt_s(36);
        $var5 = (-1);
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawText($var1, $var2, $var3, $var4, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $this.$label;
        $var5 = $java.maat__tmi_MgCanvas_getTextWidth($var1, $var4, $java.maat__tmi_MgButton_scaleFactor($this));
        $var6 = $this.$graphicWidth($var1);
        while (true) {
            $var2 = $var5 + $var6 | 0;
            if ($var2 <= $this.$width3)
                break;
            if (jl_String_length($var4) <= 0)
                break;
            $var4 = jl_String_substring0($var4, 0, jl_String_length($var4) - 1 | 0);
            $var5 = $java.maat__tmi_MgCanvas_getTextWidth($var1, $var4, $java.maat__tmi_MgButton_scaleFactor($this));
        }
        $var8 = $this.$x5 + $java.maat__tmi_MgButton_getMargin($this) | 0;
        if ($this.$centerText)
            $var8 = $this.$x5 + (($this.$width3 - $var2 | 0) / 2 | 0) | 0;
        $var9 = $this.$y4 + (($this.$height5 - 8 | 0) / 2 | 0) | 0;
        $ptr = 2;
    case 2:
        $tmp = $this.$drawGraphic($var1, $var8);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $tmp;
        $var2 = $var8 + $this.$graphicWidth($var1) | 0;
        if ($var10 && $var5 > 0)
            $var2 = $var2 + 2 | 0;
        $var3 = (-1);
        var$10 = $java.maat__tmi_MgButton_scaleFactor($this);
        $ptr = 3;
    case 3:
        $java.maat__tmi_MgCanvas_drawText0($var1, $var2, $var9, $var4, $var3, var$10);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var8, $var9, $var10, var$10, $ptr);
};
$java.maat__tmi_MgButton_click = function($this, $var1, $var2, $var3) {
    var var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($var3)
            return $var3 != 1 ? 1 : $this.$controller1.$onButtonRightClick($this.$data11);
        var$4 = $this.$controller1;
        var$5 = $this.$data11;
        $ptr = 1;
    case 1:
        $tmp = var$4.$onButtonPress(var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
};
function nms_PotionEffect() {
    var a = this; jl_Object.call(a);
    a.$potionID = 0;
    a.$duration = 0;
    a.$amplifier = 0;
    a.$isSplashPotion = 0;
    a.$isAmbient = 0;
    a.$isPotionDurationMax = 0;
}
function nms_PotionEffect__init_(var_0, var_1, var_2) {
    var var_3 = new nms_PotionEffect();
    $java.nms_PotionEffect__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_PotionEffect__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_PotionEffect();
    $java.nms_PotionEffect__init_1(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_PotionEffect__init_0 = function($this, $par1, $par2, $par3) {
    $java.nms_PotionEffect__init_1($this, $par1, $par2, $par3, 0);
};
$java.nms_PotionEffect__init_1 = function($this, $par1, $par2, $par3, $par4) {
    $this.$potionID = $par1;
    $this.$duration = $par2;
    $this.$amplifier = $par3;
    $this.$isAmbient = $par4;
};
function nms_PotionEffect_combine($this, $par1PotionEffect) {
    if ($this.$potionID != $par1PotionEffect.$potionID)
        ji_PrintStream_println(jl_System_err(), $rt_s(2666));
    if ($par1PotionEffect.$amplifier > $this.$amplifier) {
        $this.$amplifier = $par1PotionEffect.$amplifier;
        $this.$duration = $par1PotionEffect.$duration;
    } else if ($par1PotionEffect.$amplifier == $this.$amplifier && $this.$duration < $par1PotionEffect.$duration)
        $this.$duration = $par1PotionEffect.$duration;
    else if (!$par1PotionEffect.$isAmbient && $this.$isAmbient)
        $this.$isAmbient = $par1PotionEffect.$isAmbient;
}
$java.nms_PotionEffect_getPotionID = function($this) {
    return $this.$potionID;
};
function nms_PotionEffect_getDuration($this) {
    return $this.$duration;
}
$java.nms_PotionEffect_getAmplifier = function($this) {
    return $this.$amplifier;
};
$java.nms_PotionEffect_setSplashPotion = function($this, $par1) {
    $this.$isSplashPotion = $par1;
};
$java.nms_PotionEffect_getIsAmbient = function($this) {
    return $this.$isAmbient;
};
function nms_PotionEffect_onUpdate($this, $par1EntityLiving) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$duration > 0) {
            if (nms_Potion_potionTypes.data[$this.$potionID].$isReady($this.$duration, $this.$amplifier)) {
                $ptr = 1;
                continue main;
            }
            $this.$duration = $this.$duration - 1 | 0;
        }
        return $this.$duration <= 0 ? 0 : 1;
    case 1:
        $java.nms_PotionEffect_performEffect($this, $par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        $this.$duration = $this.$duration - 1 | 0;
        return $this.$duration <= 0 ? 0 : 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, $ptr);
}
$java.nms_PotionEffect_performEffect = function($this, $par1EntityLiving) {
    var var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1EntityLiving = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$duration <= 0)
            return;
        var$2 = nms_Potion_potionTypes.data[$this.$potionID];
        var$3 = $this.$amplifier;
        $ptr = 1;
    case 1:
        $java.nms_Potion_performEffect(var$2, $par1EntityLiving, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityLiving, var$2, var$3, $ptr);
};
$java.nms_PotionEffect_getEffectName = function($this) {
    return nms_Potion_potionTypes.data[$this.$potionID].$name11;
};
$java.nms_PotionEffect_hashCode = function($this) {
    return $this.$potionID;
};
$java.nms_PotionEffect_toString = function($this) {
    var var$1, var$2;
    if ($this.$amplifier <= 0) {
        var$1 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$1);
        jl_AbstractStringBuilder_append(var$1, $java.nms_PotionEffect_getEffectName($this));
        jl_AbstractStringBuilder_append(var$1, $rt_s(2667));
        jl_AbstractStringBuilder_append2(var$1, $this.$duration);
        var$1 = jl_AbstractStringBuilder_toString(var$1);
    } else {
        var$1 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$1);
        jl_AbstractStringBuilder_append(var$1, $java.nms_PotionEffect_getEffectName($this));
        jl_AbstractStringBuilder_append(var$1, $rt_s(2668));
        jl_AbstractStringBuilder_append2(var$1, $this.$amplifier + 1 | 0);
        jl_AbstractStringBuilder_append(var$1, $rt_s(2667));
        jl_AbstractStringBuilder_append2(var$1, $this.$duration);
        var$1 = jl_AbstractStringBuilder_toString(var$1);
    }
    if ($this.$isSplashPotion) {
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append(var$2, var$1);
        jl_AbstractStringBuilder_append(var$2, $rt_s(2669));
        var$1 = jl_AbstractStringBuilder_toString(var$2);
    }
    if (nms_Potion_potionTypes.data[$this.$potionID].$usable) {
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append(var$2, $rt_s(1896));
        jl_AbstractStringBuilder_append(var$2, var$1);
        jl_AbstractStringBuilder_append(var$2, $rt_s(68));
        var$1 = jl_AbstractStringBuilder_toString(var$2);
    }
    return var$1;
};
$java.nms_PotionEffect_equals = function($this, $par1Obj) {
    var $var2;
    if (!($par1Obj instanceof nms_PotionEffect))
        return 0;
    $var2 = $par1Obj;
    return $this.$potionID == $var2.$potionID && $this.$amplifier == $var2.$amplifier && $this.$duration == $var2.$duration && $this.$isSplashPotion == $var2.$isSplashPotion && $this.$isAmbient == $var2.$isAmbient ? 1 : 0;
};
$java.nms_PotionEffect_writeCustomPotionEffectToNBT = function($this, $par1NBTTagCompound) {
    nms_NBTTagCompound_setByte($par1NBTTagCompound, $rt_s(2279), $this.$potionID << 24 >> 24);
    nms_NBTTagCompound_setByte($par1NBTTagCompound, $rt_s(2280), $this.$amplifier << 24 >> 24);
    nms_NBTTagCompound_setInteger($par1NBTTagCompound, $rt_s(2281), $this.$duration);
    nms_NBTTagCompound_setBoolean($par1NBTTagCompound, $rt_s(2282), $this.$isAmbient);
    return $par1NBTTagCompound;
};
$java.nms_PotionEffect_setPotionDurationMax = function($this, $par1) {
    $this.$isPotionDurationMax = $par1;
};
$java.nms_PotionEffect_getIsPotionDurationMax = function($this) {
    return $this.$isPotionDurationMax;
};
function nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX() {
    var a = this; jl_Object.call(a);
    a.$source = null;
    a.$panner = null;
    a.$gain = null;
}
function nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX();
    $java.nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX__init_ = function($this, $x0, $x1, $x2, $x3) {
    $this.$source = $x0;
    $this.$panner = $x1;
    $this.$gain = $x2;
};
function nlea_EaglerAdapterImpl2$24() {
    jl_Object.call(this);
    this.$val$theId0 = 0;
}
$java.nlea_EaglerAdapterImpl2$24_handleEvent = function($this, $evt) {
    ju_HashMap_remove(nlea_EaglerAdapterImpl2_access$3900(), jl_Integer_valueOf($this.$val$theId0));
};
$java.nlea_EaglerAdapterImpl2$24_handleEvent0 = function($this, var$1) {
    $java.nlea_EaglerAdapterImpl2$24_handleEvent($this, var$1);
};
$java.nlea_EaglerAdapterImpl2$24_handleEvent$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$24_handleEvent0(var$0, var$1);
};
function nms_EntitySmokeFX() {
    nms_EntityFX.call(this);
    this.$smokeParticleScale = 0.0;
}
function nms_EntitySmokeFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntitySmokeFX();
    $java.nms_EntitySmokeFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
function nms_EntitySmokeFX__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
    var var_8 = new nms_EntitySmokeFX();
    $java.nms_EntitySmokeFX__init_0(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
    return var_8;
}
$java.nms_EntitySmokeFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    $java.nms_EntitySmokeFX__init_0($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12, 1.0);
};
$java.nms_EntitySmokeFX__init_0 = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12, $par14) {
    var var$9;
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
    $this.$motionX = $this.$motionX * 0.10000000149011612;
    $this.$motionY = $this.$motionY * 0.10000000149011612;
    $this.$motionZ = $this.$motionZ * 0.10000000149011612;
    $this.$motionX = $this.$motionX + $par8;
    $this.$motionY = $this.$motionY + $par10;
    $this.$motionZ = $this.$motionZ + $par12;
    var$9 = jl_Math_random() * 0.30000001192092896;
    $this.$particleBlue = var$9;
    $this.$particleGreen = var$9;
    $this.$particleRed = var$9;
    $this.$particleScale = $this.$particleScale * 0.75;
    $this.$particleScale = $this.$particleScale * $par14;
    $this.$smokeParticleScale = $this.$particleScale;
    $this.$particleMaxAge = 8.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
    $this.$particleMaxAge = $this.$particleMaxAge * $par14 | 0;
    $this.$noClip = 0;
};
$java.nms_EntitySmokeFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = ($this.$particleAge + $par2) / $this.$particleMaxAge * 32.0;
    if ($var8 < 0.0)
        $var8 = 0.0;
    if ($var8 > 1.0)
        $var8 = 1.0;
    $this.$particleScale = $this.$smokeParticleScale * $var8;
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntitySmokeFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        nms_EntityFX_setParticleTextureIndex($this, 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0);
        $this.$motionY = $this.$motionY + 0.004;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$posY === $this.$prevPosY) {
            $this.$motionX = $this.$motionX * 1.1;
            $this.$motionZ = $this.$motionZ * 1.1;
        }
        $this.$motionX = $this.$motionX * 0.9599999785423279;
        $this.$motionY = $this.$motionY * 0.9599999785423279;
        $this.$motionZ = $this.$motionZ * 0.9599999785423279;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityFX_setParticleTextureIndex($this, 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0);
        $this.$motionY = $this.$motionY + 0.004;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
function nms_EntityRainFX() {
    nms_EntityFX.call(this);
}
function nms_EntityRainFX__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityRainFX();
    $java.nms_EntityRainFX__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nms_EntityRainFX__init_ = function($this, $par1World, $par2, $par4, $par6) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
    $this.$motionX = $this.$motionX * 0.30000001192092896;
    $this.$motionY = jl_Math_random() * 0.20000000298023224 + 0.10000000149011612;
    $this.$motionZ = $this.$motionZ * 0.30000001192092896;
    $this.$particleRed = 1.0;
    $this.$particleGreen = 1.0;
    $this.$particleBlue = 1.0;
    $this.$particleAlpha = 0.4000000059604645;
    nms_EntityFX_setParticleTextureIndex($this, 19 + nle_EaglercraftRandom_nextInt($this.$rand0, 4) | 0);
    nms_Entity_setSize($this, 0.009999999776482582, 0.009999999776482582);
    $this.$particleGravity = 0.05999999865889549;
    $this.$particleMaxAge = 8.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
};
$java.nms_EntityRainFX_onUpdate = function($this) {
    var $var2, var$2, var$3, var$4, $var1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var1 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        $this.$motionY = $this.$motionY - $this.$particleGravity;
        $var2 = $this.$motionX;
        var$2 = $this.$motionY;
        var$3 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, $var2, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.9800000190734863;
        $this.$motionY = $this.$motionY * 0.9800000190734863;
        $this.$motionZ = $this.$motionZ * 0.9800000190734863;
        var$4 = $this.$particleMaxAge;
        $this.$particleMaxAge = var$4 - 1 | 0;
        if (var$4 <= 0) {
            $ptr = 2;
            continue main;
        }
        if ($this.$onGround) {
            if (jl_Math_random() < 0.5) {
                $ptr = 3;
                continue main;
            }
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        $var1 = nms_World_getBlockMaterial($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
        if (!(!$var1.$isLiquid() && !$var1.$isSolid())) {
            $var2 = (nms_MathHelper_floor_double($this.$posY) + 1 | 0) - nms_BlockFluid_getFluidHeightPercent(nms_World_getBlockMetadata($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ)));
            if ($this.$posY < $var2) {
                $ptr = 4;
                continue main;
            }
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$onGround) {
            if (jl_Math_random() < 0.5) {
                $ptr = 3;
                continue main;
            }
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        $var1 = nms_World_getBlockMaterial($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
        if (!(!$var1.$isLiquid() && !$var1.$isSolid())) {
            $var2 = (nms_MathHelper_floor_double($this.$posY) + 1 | 0) - nms_BlockFluid_getFluidHeightPercent(nms_World_getBlockMetadata($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ)));
            if ($this.$posY < $var2) {
                $ptr = 4;
                continue main;
            }
        }
        return;
    case 3:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.699999988079071;
        $this.$motionZ = $this.$motionZ * 0.699999988079071;
        $var1 = nms_World_getBlockMaterial($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
        if (!(!$var1.$isLiquid() && !$var1.$isSolid())) {
            $var2 = (nms_MathHelper_floor_double($this.$posY) + 1 | 0) - nms_BlockFluid_getFluidHeightPercent(nms_World_getBlockMetadata($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ)));
            if ($this.$posY < $var2) {
                $ptr = 4;
                continue main;
            }
        }
        return;
    case 4:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var2, var$2, var$3, var$4, $var1, $ptr);
};
function nms_DestroyBlockProgress() {
    var a = this; jl_Object.call(a);
    a.$miningPlayerEntId = 0;
    a.$partialBlockX = 0;
    a.$partialBlockY = 0;
    a.$partialBlockZ = 0;
    a.$partialBlockProgress = 0;
    a.$createdAtCloudUpdateTick = 0;
}
$java.nms_DestroyBlockProgress_getPartialBlockX = function($this) {
    return $this.$partialBlockX;
};
$java.nms_DestroyBlockProgress_getPartialBlockY = function($this) {
    return $this.$partialBlockY;
};
$java.nms_DestroyBlockProgress_getPartialBlockZ = function($this) {
    return $this.$partialBlockZ;
};
function nms_DestroyBlockProgress_setPartialBlockDamage($this, $par1) {
    if ($par1 > 10)
        $par1 = 10;
    $this.$partialBlockProgress = $par1;
}
$java.nms_DestroyBlockProgress_getPartialBlockDamage = function($this) {
    return $this.$partialBlockProgress;
};
$java.nms_DestroyBlockProgress_setCloudUpdateTick = function($this, $par1) {
    $this.$createdAtCloudUpdateTick = $par1;
};
$java.nms_DestroyBlockProgress_getCreationCloudUpdateTick = function($this) {
    return $this.$createdAtCloudUpdateTick;
};
function nlea_EaglerAdapterImpl2$23() {
    jl_Object.call(this);
    this.$val$theId = 0;
}
$java.nlea_EaglerAdapterImpl2$23_handleEvent = function($this, $evt) {
    ju_HashMap_remove(nlea_EaglerAdapterImpl2_access$3900(), jl_Integer_valueOf($this.$val$theId));
};
$java.nlea_EaglerAdapterImpl2$23_handleEvent0 = function($this, var$1) {
    $java.nlea_EaglerAdapterImpl2$23_handleEvent($this, var$1);
};
$java.nlea_EaglerAdapterImpl2$23_handleEvent$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$23_handleEvent0(var$0, var$1);
};
function jm_BigDecimal() {
    var a = this; jl_Number.call(a);
    a.$toStringImage = null;
    a.$hashCode4 = 0;
    a.$intVal = null;
    a.$bitLength = 0;
    a.$smallValue = Long_ZERO;
    a.$scale1 = 0;
    a.$precision0 = 0;
}
var jm_BigDecimal_ZERO = null;
$java.jm_BigDecimal_ONE = null;
$java.jm_BigDecimal_TEN = null;
$java.jm_BigDecimal_FIVE_POW = null;
$java.jm_BigDecimal_TEN_POW = null;
$java.jm_BigDecimal_LONG_TEN_POW = null;
$java.jm_BigDecimal_LONG_FIVE_POW = null;
$java.jm_BigDecimal_LONG_FIVE_POW_BIT_LENGTH = null;
$java.jm_BigDecimal_LONG_TEN_POW_BIT_LENGTH = null;
$java.jm_BigDecimal_BI_SCALED_BY_ZERO = null;
$java.jm_BigDecimal_ZERO_SCALED_BY = null;
$java.jm_BigDecimal_CH_ZEROS = null;
function jm_BigDecimal_$callClinit() {
    jm_BigDecimal_$callClinit = $rt_eraseClinit(jm_BigDecimal);
    $java.jm_BigDecimal__clinit_();
}
$java.jm_BigDecimal__init_ = function(var_0, var_1) {
    var var_2 = new jm_BigDecimal();
    $java.jm_BigDecimal__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.jm_BigDecimal__init_1 = function(var_0, var_1) {
    var var_2 = new jm_BigDecimal();
    $java.jm_BigDecimal__init_2(var_2, var_0, var_1);
    return var_2;
};
$java.jm_BigDecimal__init_3 = function(var_0, var_1, var_2) {
    var var_3 = new jm_BigDecimal();
    $java.jm_BigDecimal__init_4(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.jm_BigDecimal__init_5 = function(var_0) {
    var var_1 = new jm_BigDecimal();
    $java.jm_BigDecimal__init_6(var_1, var_0);
    return var_1;
};
function jm_BigDecimal__init_(var_0, var_1) {
    var var_2 = new jm_BigDecimal();
    jm_BigDecimal__init_0(var_2, var_0, var_1);
    return var_2;
}
$java.jm_BigDecimal__init_0 = function($this, $smallValue, $scale) {
    jm_BigDecimal_$callClinit();
    $this.$smallValue = $smallValue;
    $this.$scale1 = $scale;
    $this.$bitLength = $java.jm_BigDecimal_bitLength($smallValue);
};
$java.jm_BigDecimal__init_2 = function($this, $smallValue, $scale) {
    jm_BigDecimal_$callClinit();
    $this.$smallValue = Long_fromInt($smallValue);
    $this.$scale1 = $scale;
    if ($smallValue < 0)
        $smallValue = $smallValue ^ (-1);
    $this.$bitLength = 32 - jl_Integer_numberOfLeadingZeros($smallValue) | 0;
};
$java.jm_BigDecimal__init_4 = function($this, $in, $offset, $len) {
    var $last, $unscaledBuffer, var$6, var$7, $counter, $wasNonZero, var$10, $bufLength, var$12, $newScale;
    jm_BigDecimal_$callClinit();
    $last = $offset + ($len - 1 | 0) | 0;
    if ($in === null) {
        $unscaledBuffer = new jl_NullPointerException;
        jl_Throwable__init_0($unscaledBuffer);
        $rt_throw($unscaledBuffer);
    }
    var$6 = $in.data;
    if ($last < var$6.length && $offset >= 0 && $len > 0 && $last >= 0) {
        $unscaledBuffer = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_2($unscaledBuffer, $len);
        if ($offset > $last)
            var$7 = $offset;
        else if (var$6[$offset] != 43)
            var$7 = $offset;
        else {
            $offset = $offset + 1 | 0;
            var$7 = $offset;
        }
        $counter = 0;
        $wasNonZero = 0;
        while (true) {
            var$10 = $rt_compare(var$7, $last);
            if (var$10 > 0)
                break;
            if (var$6[var$7] == 46)
                break;
            if (var$6[var$7] == 101)
                break;
            if (var$6[var$7] == 69)
                break;
            if (!$wasNonZero) {
                if (var$6[var$7] != 48)
                    $wasNonZero = 1;
                else
                    $counter = $counter + 1 | 0;
            }
            var$7 = var$7 + 1 | 0;
        }
        $len = var$7 - $offset | 0;
        jl_AbstractStringBuilder_append6($unscaledBuffer, $in, $offset, $len);
        $offset = 0 + $len | 0;
        if (var$10 <= 0 && var$6[var$7] == 46) {
            $len = var$7 + 1 | 0;
            var$7 = $len;
            while (var$7 <= $last && var$6[var$7] != 101 && var$6[var$7] != 69) {
                if (!$wasNonZero) {
                    if (var$6[var$7] != 48)
                        $wasNonZero = 1;
                    else
                        $counter = $counter + 1 | 0;
                }
                var$7 = var$7 + 1 | 0;
            }
            $this.$scale1 = var$7 - $len | 0;
            $offset = $offset + $this.$scale1 | 0;
            jl_AbstractStringBuilder_append6($unscaledBuffer, $in, $len, $this.$scale1);
        } else
            $this.$scale1 = 0;
        if (var$7 <= $last && !(var$6[var$7] != 101 && var$6[var$7] != 69)) {
            $bufLength = var$7 + 1 | 0;
            if ($bufLength > $last)
                var$7 = $bufLength;
            else if (var$6[$bufLength] != 43)
                var$7 = $bufLength;
            else {
                var$7 = $bufLength + 1 | 0;
                if (var$7 > $last)
                    var$7 = $bufLength;
                else if (var$6[var$7] == 45)
                    var$7 = $bufLength;
            }
            var$12 = jl_String__init_3($in, var$7, ($last + 1 | 0) - var$7 | 0);
            $newScale = Long_sub(Long_fromInt($this.$scale1), Long_fromInt(jl_Integer_parseInt(var$12)));
            $this.$scale1 = $newScale.lo;
            if (Long_ne($newScale, Long_fromInt($this.$scale1))) {
                $unscaledBuffer = new jl_NumberFormatException;
                jl_Throwable__init_($unscaledBuffer, $rt_s(2670));
                $rt_throw($unscaledBuffer);
            }
        }
        if ($offset >= 19)
            $java.jm_BigDecimal_setUnscaledValue($this, $java.jm_BigInteger__init_(jl_AbstractStringBuilder_toString($unscaledBuffer)));
        else {
            $this.$smallValue = jl_Long_parseLong0(jl_AbstractStringBuilder_toString($unscaledBuffer));
            $this.$bitLength = $java.jm_BigDecimal_bitLength($this.$smallValue);
        }
        $this.$precision0 = $unscaledBuffer.$length0 - $counter | 0;
        if (jl_AbstractStringBuilder_charAt($unscaledBuffer, 0) == 45)
            $this.$precision0 = $this.$precision0 - 1 | 0;
        return;
    }
    $unscaledBuffer = new jl_NumberFormatException;
    jl_Throwable__init_0($unscaledBuffer);
    $rt_throw($unscaledBuffer);
};
$java.jm_BigDecimal__init_6 = function($this, $val) {
    jm_BigDecimal_$callClinit();
    $java.jm_BigDecimal__init_4($this, jl_String_toCharArray($val), 0, jl_String_length($val));
};
function jm_BigDecimal__init_0($this, $unscaledVal, $scale) {
    jm_BigDecimal_$callClinit();
    if ($unscaledVal !== null) {
        $this.$scale1 = $scale;
        $java.jm_BigDecimal_setUnscaledValue($this, $unscaledVal);
        return;
    }
    $unscaledVal = new jl_NullPointerException;
    jl_Throwable__init_0($unscaledVal);
    $rt_throw($unscaledVal);
}
$java.jm_BigDecimal_valueOf = function($unscaledVal, $scale) {
    jm_BigDecimal_$callClinit();
    if (!$scale)
        return jm_BigDecimal_valueOf($unscaledVal);
    if (Long_eq($unscaledVal, Long_ZERO) && $scale >= 0 && $scale < $java.jm_BigDecimal_ZERO_SCALED_BY.data.length)
        return $java.jm_BigDecimal_ZERO_SCALED_BY.data[$scale];
    return $java.jm_BigDecimal__init_($unscaledVal, $scale);
};
function jm_BigDecimal_valueOf($unscaledVal) {
    jm_BigDecimal_$callClinit();
    if (Long_ge($unscaledVal, Long_ZERO) && Long_lt($unscaledVal, Long_fromInt(11)))
        return $java.jm_BigDecimal_BI_SCALED_BY_ZERO.data[$unscaledVal.lo];
    return $java.jm_BigDecimal__init_($unscaledVal, 0);
}
function jm_BigDecimal_multiply($this, $multiplicand) {
    var $newScale;
    $newScale = Long_add(Long_fromInt($this.$scale1), Long_fromInt($multiplicand.$scale1));
    if (!$java.jm_BigDecimal_isZero($this) && !$java.jm_BigDecimal_isZero($multiplicand)) {
        if (($this.$bitLength + $multiplicand.$bitLength | 0) < 64)
            return $java.jm_BigDecimal_valueOf(Long_mul($this.$smallValue, $multiplicand.$smallValue), $java.jm_BigDecimal_toIntScale($newScale));
        return jm_BigDecimal__init_(jm_BigInteger_multiply(jm_BigDecimal_getUnscaledValue($this), jm_BigDecimal_getUnscaledValue($multiplicand)), $java.jm_BigDecimal_toIntScale($newScale));
    }
    return $java.jm_BigDecimal_zeroScaledBy($newScale);
}
function jm_BigDecimal_divide($this, $divisor) {
    var $p, $q, $diffScale, $l, $i, $lastPow, $gcd, $k, $quotAndRem, $newScale, var$12;
    $p = jm_BigDecimal_getUnscaledValue($this);
    $q = jm_BigDecimal_getUnscaledValue($divisor);
    $diffScale = Long_sub(Long_fromInt($this.$scale1), Long_fromInt($divisor.$scale1));
    $l = 0;
    $i = 1;
    $lastPow = $java.jm_BigDecimal_FIVE_POW.data.length - 1 | 0;
    if ($java.jm_BigDecimal_isZero($divisor)) {
        $divisor = new jl_ArithmeticException;
        jl_Throwable__init_($divisor, $rt_s(2671));
        $rt_throw($divisor);
    }
    if (!$p.$sign1)
        return $java.jm_BigDecimal_zeroScaledBy($diffScale);
    $gcd = $java.jm_BigInteger_gcd($p, $q);
    $divisor = jm_BigInteger_divide($p, $gcd);
    $p = jm_BigInteger_divide($q, $gcd);
    $k = $java.jm_BigInteger_getLowestSetBit($p);
    $p = $java.jm_BigInteger_shiftRight($p, $k);
    while (true) {
        $quotAndRem = jm_BigInteger_divideAndRemainder($p, $java.jm_BigDecimal_FIVE_POW.data[$i]).data;
        if (!$quotAndRem[1].$sign1) {
            $l = $l + $i | 0;
            if ($i < $lastPow)
                $i = $i + 1 | 0;
            $p = $quotAndRem[0];
            continue;
        }
        if ($i == 1)
            break;
        $i = 1;
    }
    if (!jm_BigInteger_equals($java.jm_BigInteger_abs($p), jm_BigInteger_ONE)) {
        $divisor = new jl_ArithmeticException;
        jl_Throwable__init_($divisor, $rt_s(2672));
        $rt_throw($divisor);
    }
    if ($p.$sign1 < 0)
        $divisor = jm_BigInteger_negate($divisor);
    $newScale = $java.jm_BigDecimal_toIntScale(Long_add($diffScale, Long_fromInt(jl_Math_max($k, $l))));
    $lastPow = $k - $l | 0;
    if ($lastPow <= 0)
        $divisor = $java.jm_BigInteger_shiftLeft($divisor,  -$lastPow);
    else {
        $java.jm_Multiplication_$callClinit();
        if ($lastPow >= $java.jm_Multiplication_fivePows.data.length)
            $divisor = $lastPow < $java.jm_Multiplication_bigFivePows.data.length ? jm_BigInteger_multiply($divisor, $java.jm_Multiplication_bigFivePows.data[$lastPow]) : jm_BigInteger_multiply($divisor, $java.jm_BigInteger_pow($java.jm_Multiplication_bigFivePows.data[1], $lastPow));
        else {
            $lastPow = $java.jm_Multiplication_fivePows.data[$lastPow];
            $l = $divisor.$sign1;
            if (!$l)
                $divisor = jm_BigInteger_ZERO;
            else {
                $i = $divisor.$numberLength;
                $quotAndRem = $divisor.$digits;
                if ($i != 1) {
                    $k = $i + 1 | 0;
                    var$12 = $rt_createIntArray($k);
                    var$12.data[$i] = $java.jm_Multiplication_multiplyByInt(var$12, $quotAndRem, $i, $lastPow);
                    $divisor = $java.jm_BigInteger__init_0($l, $k, var$12);
                    $java.jm_BigInteger_cutOffLeadingZeroes($divisor);
                } else {
                    $diffScale = $java.jm_Multiplication_unsignedMultAddAdd($quotAndRem.data[0], $lastPow, 0, 0);
                    $i = $diffScale.lo;
                    $k = $diffScale.hi;
                    if (!$k)
                        $divisor = $java.jm_BigInteger__init_1($l, $i);
                    else {
                        $divisor = new jm_BigInteger;
                        $quotAndRem = $rt_createIntArray(2);
                        var$12 = $quotAndRem.data;
                        var$12[0] = $i;
                        var$12[1] = $k;
                        $java.jm_BigInteger__init_2($divisor, $l, 2, $quotAndRem);
                    }
                }
            }
        }
    }
    return jm_BigDecimal__init_($divisor, $newScale);
}
function jm_BigDecimal_negate($this) {
    a: {
        if ($this.$bitLength >= 63) {
            if ($this.$bitLength != 63)
                break a;
            if (Long_eq($this.$smallValue, new Long(0, 2147483648)))
                break a;
        }
        return $java.jm_BigDecimal_valueOf(Long_neg($this.$smallValue), $this.$scale1);
    }
    return jm_BigDecimal__init_(jm_BigInteger_negate(jm_BigDecimal_getUnscaledValue($this)), $this.$scale1);
}
$java.jm_BigDecimal_signum = function($this) {
    var var$1;
    if ($this.$bitLength >= 64)
        return jm_BigDecimal_getUnscaledValue($this).$sign1;
    var$1 = $this.$smallValue;
    return Long_or(Long_shr(var$1, 63), Long_shru(Long_neg(var$1), 63)).lo;
};
$java.jm_BigDecimal_isZero = function($this) {
    return !$this.$bitLength && Long_ne($this.$smallValue, Long_fromInt(-1)) ? 1 : 0;
};
$java.jm_BigDecimal_scale = function($this) {
    return $this.$scale1;
};
function jm_BigDecimal_precision($this) {
    var $bitLength, $doubleUnsc, var$3;
    if ($this.$precision0 > 0)
        return $this.$precision0;
    $bitLength = $this.$bitLength;
    $doubleUnsc = 1.0;
    if ($bitLength >= 1024) {
        var$3 = 1.0 + ($bitLength - 1 | 0) * 0.3010299956639812 | 0;
        if (jm_BigInteger_divide(jm_BigDecimal_getUnscaledValue($this), $java.jm_Multiplication_powerOf10(Long_fromInt(var$3))).$sign1)
            var$3 = var$3 + 1 | 0;
    } else {
        if ($bitLength >= 64)
            $doubleUnsc = $java.jm_BigInteger_doubleValue(jm_BigDecimal_getUnscaledValue($this));
        else if ($bitLength >= 1)
            $doubleUnsc = Long_toNumber($this.$smallValue);
        var$3 = 1.0 + jl_Math_log(jl_Math_abs2($doubleUnsc)) / 2.302585092994046 | 0;
    }
    $this.$precision0 = var$3;
    return $this.$precision0;
}
$java.jm_BigDecimal_unscaledValue = function($this) {
    return jm_BigDecimal_getUnscaledValue($this);
};
function jm_BigDecimal_compareTo($this, $val) {
    var $thisSign, $valueSign, $diffScale, var$5, $thisUnscaled, $valUnscaled;
    $thisSign = $java.jm_BigDecimal_signum($this);
    $valueSign = $rt_compare($thisSign, $java.jm_BigDecimal_signum($val));
    if ($valueSign) {
        if ($valueSign >= 0)
            return 1;
        return (-1);
    }
    if ($this.$scale1 == $val.$scale1 && $this.$bitLength < 64 && $val.$bitLength < 64)
        return Long_lt($this.$smallValue, $val.$smallValue) ? (-1) : Long_le($this.$smallValue, $val.$smallValue) ? 0 : 1;
    $diffScale = Long_sub(Long_fromInt($this.$scale1), Long_fromInt($val.$scale1));
    var$5 = Long_fromInt($java.jm_BigDecimal_aproxPrecision($this) - $java.jm_BigDecimal_aproxPrecision($val) | 0);
    if (Long_gt(var$5, Long_add($diffScale, Long_fromInt(1))))
        return $thisSign;
    if (Long_lt(var$5, Long_sub($diffScale, Long_fromInt(1))))
        return  -$thisSign;
    $thisUnscaled = jm_BigDecimal_getUnscaledValue($this);
    $valUnscaled = jm_BigDecimal_getUnscaledValue($val);
    $thisSign = Long_compare($diffScale, Long_ZERO);
    if ($thisSign < 0)
        $thisUnscaled = jm_BigInteger_multiply($thisUnscaled, $java.jm_Multiplication_powerOf10(Long_neg($diffScale)));
    else if ($thisSign > 0)
        $valUnscaled = jm_BigInteger_multiply($valUnscaled, $java.jm_Multiplication_powerOf10($diffScale));
    return jm_BigInteger_compareTo($thisUnscaled, $valUnscaled);
}
$java.jm_BigDecimal_equals = function($this, $x) {
    var $x1, var$3;
    if ($this === $x)
        return 1;
    if (!($x instanceof jm_BigDecimal))
        return 0;
    a: {
        b: {
            c: {
                $x1 = $x;
                if ($x1.$scale1 == $this.$scale1) {
                    if ($this.$bitLength >= 64) {
                        if (!jm_BigInteger_equals($this.$intVal, $x1.$intVal))
                            break c;
                        else
                            break b;
                    }
                    if (Long_eq($x1.$smallValue, $this.$smallValue))
                        break b;
                }
            }
            var$3 = 0;
            break a;
        }
        var$3 = 1;
    }
    return var$3;
};
$java.jm_BigDecimal_hashCode = function($this) {
    if ($this.$hashCode4)
        return $this.$hashCode4;
    if ($this.$bitLength >= 64) {
        $this.$hashCode4 = (17 * $java.jm_BigInteger_hashCode($this.$intVal) | 0) + $this.$scale1 | 0;
        return $this.$hashCode4;
    }
    $this.$hashCode4 = $this.$smallValue.lo;
    $this.$hashCode4 = (33 * $this.$hashCode4 | 0) + $this.$smallValue.hi | 0;
    $this.$hashCode4 = (17 * $this.$hashCode4 | 0) + $this.$scale1 | 0;
    return $this.$hashCode4;
};
$java.jm_BigDecimal_toString = function($this) {
    var $intString, $begin, $end, $exponent, $result;
    if ($this.$toStringImage !== null)
        return $this.$toStringImage;
    if ($this.$bitLength < 32) {
        $this.$toStringImage = $java.jm_Conversion_toDecimalScaledString($this.$smallValue, $this.$scale1);
        return $this.$toStringImage;
    }
    $intString = $java.jm_BigInteger_toString(jm_BigDecimal_getUnscaledValue($this));
    if (!$this.$scale1)
        return $intString;
    $begin = jm_BigDecimal_getUnscaledValue($this).$sign1 >= 0 ? 1 : 2;
    $end = jl_String_length($intString);
    $exponent = Long_sub(Long_add(Long_neg(Long_fromInt($this.$scale1)), Long_fromInt($end)), Long_fromInt($begin));
    $result = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($result);
    jl_AbstractStringBuilder_append($result, $intString);
    if ($this.$scale1 > 0 && Long_ge($exponent, Long_fromInt(-6))) {
        if (Long_ge($exponent, Long_ZERO))
            jl_AbstractStringBuilder_insert4($result, $end - $this.$scale1 | 0, 46);
        else {
            jl_AbstractStringBuilder_insert($result, $begin - 1 | 0, $rt_s(2673));
            jl_AbstractStringBuilder_insert7($result, $begin + 1 | 0, $java.jm_BigDecimal_CH_ZEROS, 0,  -$exponent.lo - 1 | 0);
        }
    } else {
        if (($end - $begin | 0) >= 1) {
            jl_AbstractStringBuilder_insert4($result, $begin, 46);
            $end = $end + 1 | 0;
        }
        jl_AbstractStringBuilder_insert4($result, $end, 69);
        if (Long_gt($exponent, Long_ZERO)) {
            $end = $end + 1 | 0;
            jl_AbstractStringBuilder_insert4($result, $end, 43);
        }
        jl_AbstractStringBuilder_insert($result, $end + 1 | 0, jl_Long_toString($exponent));
    }
    $this.$toStringImage = jl_AbstractStringBuilder_toString($result);
    return $this.$toStringImage;
};
$java.jm_BigDecimal_toBigInteger = function($this) {
    if ($this.$scale1 && !$java.jm_BigDecimal_isZero($this)) {
        if ($this.$scale1 >= 0)
            return jm_BigInteger_divide(jm_BigDecimal_getUnscaledValue($this), $java.jm_Multiplication_powerOf10(Long_fromInt($this.$scale1)));
        return jm_BigInteger_multiply(jm_BigDecimal_getUnscaledValue($this), $java.jm_Multiplication_powerOf10(Long_neg(Long_fromInt($this.$scale1))));
    }
    return jm_BigDecimal_getUnscaledValue($this);
};
$java.jm_BigDecimal_longValue = function($this) {
    return $this.$scale1 > (-64) && $this.$scale1 <= $java.jm_BigDecimal_aproxPrecision($this) ? $java.jm_BigInteger_longValue($java.jm_BigDecimal_toBigInteger($this)) : Long_ZERO;
};
$java.jm_BigDecimal_intValue = function($this) {
    return $this.$scale1 > (-32) && $this.$scale1 <= $java.jm_BigDecimal_aproxPrecision($this) ? jm_BigInteger_intValue($java.jm_BigDecimal_toBigInteger($this)) : 0;
};
$java.jm_BigDecimal_doubleValue = function($this) {
    var $sign, $exponent, $powerOfTwo, $mantisa, $powerOfTen, $k, $quotAndRem, $compRem, $lowestSetBit, $discardedSize, $bits, var$12, var$13;
    $sign = $java.jm_BigDecimal_signum($this);
    $exponent = 1076;
    $powerOfTwo = Long_sub(Long_fromInt($this.$bitLength), Long_fromNumber($this.$scale1 / 0.3010299956639812));
    if (Long_ge($powerOfTwo, Long_fromInt(-1074)) && $sign) {
        if (Long_gt($powerOfTwo, Long_fromInt(1025)))
            return $sign * Infinity;
        $mantisa = $java.jm_BigInteger_abs(jm_BigDecimal_getUnscaledValue($this));
        if ($this.$scale1 <= 0)
            $mantisa = jm_BigInteger_multiply($mantisa, $java.jm_Multiplication_powerOf10(Long_fromInt( -$this.$scale1)));
        else {
            $powerOfTen = $java.jm_Multiplication_powerOf10(Long_fromInt($this.$scale1));
            $k = 100 - $powerOfTwo.lo | 0;
            if ($k > 0) {
                $mantisa = $java.jm_BigInteger_shiftLeft($mantisa, $k);
                $exponent = $exponent - $k | 0;
            }
            $quotAndRem = jm_BigInteger_divideAndRemainder($mantisa, $powerOfTen).data;
            $compRem = jm_BigInteger_compareTo($java.jm_BigInteger_shiftLeftOneBit($quotAndRem[1]), $powerOfTen);
            $mantisa = jm_BigInteger_add($java.jm_BigInteger_shiftLeft($quotAndRem[0], 2), jm_BigInteger_valueOf(Long_fromInt(($rt_imul($compRem, $compRem + 3 | 0) / 2 | 0) + 1 | 0)));
            $exponent = $exponent + (-2) | 0;
        }
        $lowestSetBit = $java.jm_BigInteger_getLowestSetBit($mantisa);
        $discardedSize = $java.jm_BigInteger_bitLength($mantisa) - 54 | 0;
        if ($discardedSize <= 0) {
            $bits = Long_shl($java.jm_BigInteger_longValue($mantisa),  -$discardedSize);
            var$12 = Long_ne(Long_and($bits, Long_fromInt(3)), Long_fromInt(3)) ? $bits : Long_add($bits, Long_fromInt(2));
        } else {
            $bits = $java.jm_BigInteger_longValue($java.jm_BigInteger_shiftRight($mantisa, $discardedSize));
            var$12 = !(Long_eq(Long_and($bits, Long_fromInt(1)), Long_fromInt(1)) && $lowestSetBit < $discardedSize) && Long_ne(Long_and($bits, Long_fromInt(3)), Long_fromInt(3)) ? $bits : Long_add($bits, Long_fromInt(2));
        }
        if (Long_eq(Long_and(var$12, new Long(0, 4194304)), Long_ZERO)) {
            $powerOfTwo = Long_shr(var$12, 1);
            $exponent = $exponent + $discardedSize | 0;
        } else {
            $powerOfTwo = Long_shr(var$12, 2);
            $exponent = $exponent + ($discardedSize + 1 | 0) | 0;
        }
        if ($exponent > 2046)
            return $sign * Infinity;
        if ($exponent <= 0) {
            if ($exponent < (-53))
                return $sign * 0.0;
            a: {
                $powerOfTwo = Long_shr($bits, 1);
                var$13 = Long_and($powerOfTwo, Long_shru(Long_fromInt(-1), 63 + $exponent | 0));
                $powerOfTwo = Long_shr($powerOfTwo,  -$exponent);
                if (Long_ne(Long_and($powerOfTwo, Long_fromInt(3)), Long_fromInt(3))) {
                    if (Long_ne(Long_and($powerOfTwo, Long_fromInt(1)), Long_fromInt(1)))
                        break a;
                    if (Long_eq(var$13, Long_ZERO))
                        break a;
                    if ($lowestSetBit >= $discardedSize)
                        break a;
                }
                $powerOfTwo = Long_add($powerOfTwo, Long_fromInt(1));
            }
            $exponent = 0;
            $powerOfTwo = Long_shr($powerOfTwo, 1);
        }
        return $rt_longBitsToDouble(Long_or(Long_or(Long_and(Long_fromInt($sign), new Long(0, 2147483648)), Long_shl(Long_fromInt($exponent), 52)), Long_and($powerOfTwo, new Long(4294967295, 1048575))));
    }
    return $sign * 0.0;
};
$java.jm_BigDecimal_aproxPrecision = function($this) {
    return $this.$precision0 > 0 ? $this.$precision0 : (($this.$bitLength - 1 | 0) * 0.3010299956639812 | 0) + 1 | 0;
};
$java.jm_BigDecimal_toIntScale = function($longScale) {
    var var$2;
    jm_BigDecimal_$callClinit();
    if (Long_lt($longScale, Long_fromInt(-2147483648))) {
        var$2 = new jl_ArithmeticException;
        jl_Throwable__init_(var$2, $rt_s(2674));
        $rt_throw(var$2);
    }
    if (Long_le($longScale, Long_fromInt(2147483647)))
        return $longScale.lo;
    var$2 = new jl_ArithmeticException;
    jl_Throwable__init_(var$2, $rt_s(2675));
    $rt_throw(var$2);
};
$java.jm_BigDecimal_zeroScaledBy = function($longScale) {
    var var$2;
    jm_BigDecimal_$callClinit();
    var$2 = $longScale.lo;
    if (Long_eq($longScale, Long_fromInt(var$2)))
        return $java.jm_BigDecimal_valueOf(Long_ZERO, var$2);
    if (Long_lt($longScale, Long_ZERO))
        return $java.jm_BigDecimal__init_1(0, (-2147483648));
    return $java.jm_BigDecimal__init_1(0, 2147483647);
};
function jm_BigDecimal_getUnscaledValue($this) {
    if ($this.$intVal === null)
        $this.$intVal = jm_BigInteger_valueOf($this.$smallValue);
    return $this.$intVal;
}
$java.jm_BigDecimal_setUnscaledValue = function($this, $unscaledValue) {
    $this.$intVal = $unscaledValue;
    $this.$bitLength = $java.jm_BigInteger_bitLength($unscaledValue);
    if ($this.$bitLength < 64)
        $this.$smallValue = $java.jm_BigInteger_longValue($unscaledValue);
};
$java.jm_BigDecimal_bitLength = function($smallValue) {
    jm_BigDecimal_$callClinit();
    if (Long_lt($smallValue, Long_ZERO))
        $smallValue = Long_xor($smallValue, Long_fromInt(-1));
    return 64 - jl_Long_numberOfLeadingZeros($smallValue) | 0;
};
$java.jm_BigDecimal_compareTo = function($this, var$1) {
    return jm_BigDecimal_compareTo($this, var$1);
};
$java.jm_BigDecimal__clinit_ = function() {
    var var$1, var$2, $i, $j;
    jm_BigDecimal_ZERO = $java.jm_BigDecimal__init_1(0, 0);
    $java.jm_BigDecimal_ONE = $java.jm_BigDecimal__init_1(1, 0);
    $java.jm_BigDecimal_TEN = $java.jm_BigDecimal__init_1(10, 0);
    var$1 = $rt_createLongArray(19);
    var$2 = var$1.data;
    var$2[0] = Long_fromInt(1);
    var$2[1] = Long_fromInt(10);
    var$2[2] = Long_fromInt(100);
    var$2[3] = Long_fromInt(1000);
    var$2[4] = Long_fromInt(10000);
    var$2[5] = Long_fromInt(100000);
    var$2[6] = Long_fromInt(1000000);
    var$2[7] = Long_fromInt(10000000);
    var$2[8] = Long_fromInt(100000000);
    var$2[9] = Long_fromInt(1000000000);
    var$2[10] = new Long(1410065408, 2);
    var$2[11] = new Long(1215752192, 23);
    var$2[12] = new Long(3567587328, 232);
    var$2[13] = new Long(1316134912, 2328);
    var$2[14] = new Long(276447232, 23283);
    var$2[15] = new Long(2764472320, 232830);
    var$2[16] = new Long(1874919424, 2328306);
    var$2[17] = new Long(1569325056, 23283064);
    var$2[18] = new Long(2808348672, 232830643);
    $java.jm_BigDecimal_LONG_TEN_POW = var$1;
    var$1 = $rt_createLongArray(28);
    var$2 = var$1.data;
    var$2[0] = Long_fromInt(1);
    var$2[1] = Long_fromInt(5);
    var$2[2] = Long_fromInt(25);
    var$2[3] = Long_fromInt(125);
    var$2[4] = Long_fromInt(625);
    var$2[5] = Long_fromInt(3125);
    var$2[6] = Long_fromInt(15625);
    var$2[7] = Long_fromInt(78125);
    var$2[8] = Long_fromInt(390625);
    var$2[9] = Long_fromInt(1953125);
    var$2[10] = Long_fromInt(9765625);
    var$2[11] = Long_fromInt(48828125);
    var$2[12] = Long_fromInt(244140625);
    var$2[13] = Long_fromInt(1220703125);
    var$2[14] = new Long(1808548329, 1);
    var$2[15] = new Long(452807053, 7);
    var$2[16] = new Long(2264035265, 35);
    var$2[17] = new Long(2730241733, 177);
    var$2[18] = new Long(766306777, 888);
    var$2[19] = new Long(3831533885, 4440);
    var$2[20] = new Long(1977800241, 22204);
    var$2[21] = new Long(1299066613, 111022);
    var$2[22] = new Long(2200365769, 555111);
    var$2[23] = new Long(2411894253, 2775557);
    var$2[24] = new Long(3469536673, 13877787);
    var$2[25] = new Long(167814181, 69388939);
    var$2[26] = new Long(839070905, 346944695);
    var$2[27] = new Long(4195354525, 1734723475);
    $java.jm_BigDecimal_LONG_FIVE_POW = var$1;
    $java.jm_BigDecimal_LONG_FIVE_POW_BIT_LENGTH = $rt_createIntArray($java.jm_BigDecimal_LONG_FIVE_POW.data.length);
    $java.jm_BigDecimal_LONG_TEN_POW_BIT_LENGTH = $rt_createIntArray($java.jm_BigDecimal_LONG_TEN_POW.data.length);
    $java.jm_BigDecimal_BI_SCALED_BY_ZERO = $rt_createArray(jm_BigDecimal, 11);
    $java.jm_BigDecimal_ZERO_SCALED_BY = $rt_createArray(jm_BigDecimal, 11);
    $java.jm_BigDecimal_CH_ZEROS = $rt_createCharArray(100);
    $i = 0;
    while ($i < $java.jm_BigDecimal_ZERO_SCALED_BY.data.length) {
        $java.jm_BigDecimal_BI_SCALED_BY_ZERO.data[$i] = $java.jm_BigDecimal__init_1($i, 0);
        $java.jm_BigDecimal_ZERO_SCALED_BY.data[$i] = $java.jm_BigDecimal__init_1(0, $i);
        $java.jm_BigDecimal_CH_ZEROS.data[$i] = 48;
        $i = $i + 1 | 0;
    }
    while ($i < $java.jm_BigDecimal_CH_ZEROS.data.length) {
        $java.jm_BigDecimal_CH_ZEROS.data[$i] = 48;
        $i = $i + 1 | 0;
    }
    $j = 0;
    while ($j < $java.jm_BigDecimal_LONG_FIVE_POW_BIT_LENGTH.data.length) {
        $java.jm_BigDecimal_LONG_FIVE_POW_BIT_LENGTH.data[$j] = $java.jm_BigDecimal_bitLength($java.jm_BigDecimal_LONG_FIVE_POW.data[$j]);
        $j = $j + 1 | 0;
    }
    $j = 0;
    while ($j < $java.jm_BigDecimal_LONG_TEN_POW_BIT_LENGTH.data.length) {
        $java.jm_BigDecimal_LONG_TEN_POW_BIT_LENGTH.data[$j] = $java.jm_BigDecimal_bitLength($java.jm_BigDecimal_LONG_TEN_POW.data[$j]);
        $j = $j + 1 | 0;
    }
    $java.jm_Multiplication_$callClinit();
    $java.jm_BigDecimal_TEN_POW = $java.jm_Multiplication_bigTenPows;
    $java.jm_BigDecimal_FIVE_POW = $java.jm_Multiplication_bigFivePows;
};
function jm_BigInteger() {
    var a = this; jl_Number.call(a);
    a.$digits = null;
    a.$numberLength = 0;
    a.$sign1 = 0;
    a.$firstNonzeroDigit = 0;
    a.$hashCode5 = 0;
}
var jm_BigInteger_ZERO = null;
var jm_BigInteger_ONE = null;
var jm_BigInteger_TEN = null;
$java.jm_BigInteger_MINUS_ONE = null;
$java.jm_BigInteger_SMALL_VALUES = null;
$java.jm_BigInteger_TWO_POWS = null;
$java.jm_BigInteger__init_ = function(var_0) {
    var var_1 = new jm_BigInteger();
    $java.jm_BigInteger__init_3(var_1, var_0);
    return var_1;
};
$java.jm_BigInteger__init_4 = function(var_0) {
    var var_1 = new jm_BigInteger();
    $java.jm_BigInteger__init_5(var_1, var_0);
    return var_1;
};
$java.jm_BigInteger__init_1 = function(var_0, var_1) {
    var var_2 = new jm_BigInteger();
    $java.jm_BigInteger__init_6(var_2, var_0, var_1);
    return var_2;
};
$java.jm_BigInteger__init_0 = function(var_0, var_1, var_2) {
    var var_3 = new jm_BigInteger();
    $java.jm_BigInteger__init_2(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.jm_BigInteger__init_7 = function(var_0, var_1) {
    var var_2 = new jm_BigInteger();
    $java.jm_BigInteger__init_8(var_2, var_0, var_1);
    return var_2;
};
$java.jm_BigInteger__init_3 = function($this, $val) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14;
    $this.$firstNonzeroDigit = (-2);
    if ($val === null) {
        $val = new jl_NullPointerException;
        jl_Throwable__init_0($val);
        $rt_throw($val);
    }
    if (!jl_String_length($val)) {
        $val = new jl_NumberFormatException;
        jl_Throwable__init_($val, $rt_s(2676));
        $rt_throw($val);
    }
    var$2 = jl_String_length($val);
    if (jl_String_charAt($val, 0) != 45) {
        var$3 = 1;
        var$4 = 0;
        var$5 = var$2;
    } else {
        var$3 = (-1);
        var$4 = 1;
        var$5 = var$2 + (-1) | 0;
    }
    var$6 = $java.jm_Conversion_digitFitInInt.data[10];
    var$7 = var$5 / var$6 | 0;
    var$5 = var$5 % var$6 | 0;
    if (var$5)
        var$7 = var$7 + 1 | 0;
    var$8 = $rt_createIntArray(var$7);
    var$9 = $java.jm_Conversion_bigRadices.data[8];
    var$10 = 0;
    if (!var$5)
        var$5 = var$6;
    var$11 = var$8.data;
    var$12 = var$4 + var$5 | 0;
    while (var$4 < var$2) {
        var$7 = jl_Integer_parseInt0(jl_String_substring0($val, var$4, var$12), 10);
        $java.jm_Multiplication_$callClinit();
        var$4 = $java.jm_Multiplication_multiplyByInt(var$8, var$8, var$10, var$9);
        var$13 = Long_and(Long_fromInt(var$7), new Long(4294967295, 0));
        var$7 = 0;
        while (Long_ne(var$13, Long_ZERO) && var$7 < var$10) {
            var$14 = Long_add(var$13, Long_and(Long_fromInt(var$11[var$7]), new Long(4294967295, 0)));
            var$11[var$7] = var$14.lo;
            var$13 = Long_shr(var$14, 32);
            var$7 = var$7 + 1 | 0;
        }
        var$5 = var$4 + var$13.lo | 0;
        var$7 = var$10 + 1 | 0;
        var$11[var$10] = var$5;
        var$5 = var$12 + var$6 | 0;
        var$10 = var$7;
        var$4 = var$12;
        var$12 = var$5;
    }
    $this.$sign1 = var$3;
    $this.$numberLength = var$10;
    $this.$digits = var$8;
    $java.jm_BigInteger_cutOffLeadingZeroes($this);
};
$java.jm_BigInteger__init_5 = function($this, $val) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
    var$2 = $val.data;
    $this.$firstNonzeroDigit = (-2);
    var$3 = var$2.length;
    if (!var$3) {
        var$4 = new jl_NumberFormatException;
        jl_Throwable__init_(var$4, $rt_s(2676));
        $rt_throw(var$4);
    }
    if (var$2[0] < 0) {
        $this.$sign1 = (-1);
        $java.jm_BigInteger_putBytesNegativeToIntegers($this, $val);
    } else {
        $this.$sign1 = 1;
        var$5 = var$3 & 3;
        $this.$numberLength = (var$3 >> 2) + (var$5 ? 1 : 0) | 0;
        $this.$digits = $rt_createIntArray($this.$numberLength);
        var$6 = 0;
        while (var$3 > var$5) {
            $val = $this.$digits.data;
            var$7 = var$6 + 1 | 0;
            var$3 = var$3 + (-1) | 0;
            var$8 = var$2[var$3] & 255;
            var$9 = var$3 + (-1) | 0;
            var$3 = var$8 | (var$2[var$9] & 255) << 8;
            var$10 = var$9 + (-1) | 0;
            var$8 = var$3 | (var$2[var$10] & 255) << 16;
            var$3 = var$10 + (-1) | 0;
            $val[var$6] = var$8 | (var$2[var$3] & 255) << 24;
            var$6 = var$7;
        }
        var$5 = 0;
        while (var$5 < var$3) {
            $this.$digits.data[var$6] = $this.$digits.data[var$6] << 8 | var$2[var$5] & 255;
            var$5 = var$5 + 1 | 0;
        }
    }
    $java.jm_BigInteger_cutOffLeadingZeroes($this);
};
$java.jm_BigInteger__init_6 = function($this, $sign, $value) {
    var var$3;
    $this.$firstNonzeroDigit = (-2);
    $this.$sign1 = $sign;
    $this.$numberLength = 1;
    var$3 = $rt_createIntArray(1);
    var$3.data[0] = $value;
    $this.$digits = var$3;
};
$java.jm_BigInteger__init_2 = function($this, $sign, $numberLength, $digits) {
    $this.$firstNonzeroDigit = (-2);
    $this.$sign1 = $sign;
    $this.$numberLength = $numberLength;
    $this.$digits = $digits;
};
$java.jm_BigInteger__init_8 = function($this, $sign, $val) {
    var var$3, var$4;
    $this.$firstNonzeroDigit = (-2);
    $this.$sign1 = $sign;
    if (Long_eq(Long_and($val, new Long(0, 4294967295)), Long_ZERO)) {
        $this.$numberLength = 1;
        var$3 = $rt_createIntArray(1);
        var$3.data[0] = $val.lo;
        $this.$digits = var$3;
    } else {
        $this.$numberLength = 2;
        var$3 = $rt_createIntArray(2);
        var$4 = var$3.data;
        var$4[0] = $val.lo;
        var$4[1] = $val.hi;
        $this.$digits = var$3;
    }
};
function jm_BigInteger_valueOf($val) {
    if (Long_lt($val, Long_ZERO)) {
        if (Long_eq($val, Long_fromInt(-1)))
            return $java.jm_BigInteger_MINUS_ONE;
        return $java.jm_BigInteger__init_7((-1), Long_neg($val));
    }
    if (Long_gt($val, Long_fromInt(10)))
        return $java.jm_BigInteger__init_7(1, $val);
    return $java.jm_BigInteger_SMALL_VALUES.data[$val.lo];
}
$java.jm_BigInteger_toByteArray = function($this) {
    var $bytes, $bitLen, $iThis, $bytesLen, $firstByteNumber, $bytesInInteger, $highBytes, var$8, $digit, $i, var$11, $i_0;
    if (!$this.$sign1) {
        $bytes = $rt_createByteArray(1);
        $bytes.data[0] = 0;
        return $bytes;
    }
    $bitLen = $java.jm_BigInteger_bitLength($this);
    $iThis = $java.jm_BigInteger_getFirstNonzeroDigit($this);
    $bytesLen = ($bitLen >> 3) + 1 | 0;
    $bytes = $rt_createByteArray($bytesLen);
    $firstByteNumber = 0;
    $bytesInInteger = 4;
    if (($bytesLen - ($this.$numberLength << 2) | 0) != 1) {
        $highBytes = $bytesLen & 3;
        if (!$highBytes)
            $highBytes = 4;
    } else {
        $bytes.data[0] = ($this.$sign1 >= 0 ? 0 : (-1)) << 24 >> 24;
        $highBytes = 4;
        $firstByteNumber = 1;
    }
    a: {
        $bytesLen = $bytesLen - ($iThis << 2) | 0;
        if ($this.$sign1 >= 0) {
            var$8 = $bytes.data;
            while (true) {
                if ($bytesLen <= $firstByteNumber)
                    break a;
                $digit = $this.$digits.data[$iThis];
                $iThis = $iThis + 1 | 0;
                if ($iThis == $this.$numberLength)
                    $bytesInInteger = $highBytes;
                $i = 0;
                while ($i < $bytesInInteger) {
                    $bytesLen = $bytesLen + (-1) | 0;
                    var$8[$bytesLen] = $digit << 24 >> 24;
                    $i = $i + 1 | 0;
                    $digit = $digit >> 8;
                }
            }
        }
        $digit =  -$this.$digits.data[$iThis];
        $i = $iThis + 1 | 0;
        if ($i == $this.$numberLength)
            $bytesInInteger = $highBytes;
        var$11 = $bytes.data;
        $i_0 = 0;
        while ($i_0 < $bytesInInteger) {
            $bytesLen = $bytesLen + (-1) | 0;
            var$11[$bytesLen] = $digit << 24 >> 24;
            $i_0 = $i_0 + 1 | 0;
            $digit = $digit >> 8;
        }
        while (true) {
            if ($bytesLen <= $firstByteNumber)
                break a;
            $iThis = $this.$digits.data[$i] ^ (-1);
            $i = $i + 1 | 0;
            if ($i == $this.$numberLength)
                $bytesInInteger = $highBytes;
            $i_0 = 0;
            while ($i_0 < $bytesInInteger) {
                $bytesLen = $bytesLen + (-1) | 0;
                var$11[$bytesLen] = $iThis << 24 >> 24;
                $i_0 = $i_0 + 1 | 0;
                $iThis = $iThis >> 8;
            }
        }
    }
    return $bytes;
};
$java.jm_BigInteger_abs = function($this) {
    if ($this.$sign1 < 0)
        $this = $java.jm_BigInteger__init_0(1, $this.$numberLength, $this.$digits);
    return $this;
};
function jm_BigInteger_negate($this) {
    return !$this.$sign1 ? $this : $java.jm_BigInteger__init_0( -$this.$sign1, $this.$numberLength, $this.$digits);
}
function jm_BigInteger_add($this, $val) {
    return $java.jm_Elementary_add($this, $val);
}
function jm_BigInteger_subtract($this, $val) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
    a: {
        var$2 = $this.$sign1;
        var$3 = $val.$sign1;
        if (var$3) {
            if (!var$2)
                $this = jm_BigInteger_negate($val);
            else {
                var$4 = $this.$numberLength;
                var$5 = $val.$numberLength;
                if ((var$4 + var$5 | 0) == 2) {
                    var$6 = Long_and(Long_fromInt($this.$digits.data[0]), new Long(4294967295, 0));
                    var$7 = Long_and(Long_fromInt($val.$digits.data[0]), new Long(4294967295, 0));
                    if (var$2 < 0)
                        var$6 = Long_neg(var$6);
                    if (var$3 < 0)
                        var$7 = Long_neg(var$7);
                    $this = jm_BigInteger_valueOf(Long_sub(var$6, var$7));
                } else {
                    var$8 = $rt_compare(var$4, var$5);
                    var$8 = !var$8 ? $java.jm_Elementary_compareArrays($this.$digits, $val.$digits, var$4) : var$8 <= 0 ? (-1) : 1;
                    if (var$8 == (-1)) {
                        var$8 =  -var$3;
                        var$9 = var$2 != var$3 ? $java.jm_Elementary_add0($val.$digits, var$5, $this.$digits, var$4) : $java.jm_Elementary_subtract($val.$digits, var$5, $this.$digits, var$4);
                    } else if (var$2 != var$3) {
                        var$9 = $java.jm_Elementary_add0($this.$digits, var$4, $val.$digits, var$5);
                        var$8 = var$2;
                    } else {
                        if (!var$8) {
                            $this = jm_BigInteger_ZERO;
                            break a;
                        }
                        var$9 = $java.jm_Elementary_subtract($this.$digits, var$4, $val.$digits, var$5);
                        var$8 = var$2;
                    }
                    var$10 = var$9.data;
                    $this = $java.jm_BigInteger__init_0(var$8, var$10.length, var$9);
                    $java.jm_BigInteger_cutOffLeadingZeroes($this);
                }
            }
        }
    }
    return $this;
}
$java.jm_BigInteger_signum = function($this) {
    return $this.$sign1;
};
$java.jm_BigInteger_shiftRight = function($this, $n) {
    if ($n && $this.$sign1)
        return $n > 0 ? $java.jm_BitLevel_shiftRight($this, $n) : $java.jm_BitLevel_shiftLeft($this,  -$n);
    return $this;
};
$java.jm_BigInteger_shiftLeft = function($this, $n) {
    if ($n && $this.$sign1)
        return $n > 0 ? $java.jm_BitLevel_shiftLeft($this, $n) : $java.jm_BitLevel_shiftRight($this,  -$n);
    return $this;
};
$java.jm_BigInteger_shiftLeftOneBit = function($this) {
    var var$1, var$2, var$3, var$4;
    if (!$this.$sign1)
        var$1 = $this;
    else {
        var$2 = $this.$numberLength;
        var$3 = var$2 + 1 | 0;
        var$4 = $rt_createIntArray(var$3);
        $java.jm_BitLevel_shiftLeftOneBit(var$4, $this.$digits, var$2);
        var$1 = $java.jm_BigInteger__init_0($this.$sign1, var$3, var$4);
        $java.jm_BigInteger_cutOffLeadingZeroes(var$1);
    }
    return var$1;
};
$java.jm_BigInteger_bitLength = function($this) {
    var var$1, var$2;
    if (!$this.$sign1)
        var$1 = 0;
    else {
        var$2 = $this.$numberLength << 5;
        var$1 = $this.$digits.data[$this.$numberLength - 1 | 0];
        if ($this.$sign1 < 0 && $java.jm_BigInteger_getFirstNonzeroDigit($this) == ($this.$numberLength - 1 | 0))
            var$1 = var$1 + (-1) | 0;
        var$1 = var$2 - jl_Integer_numberOfLeadingZeros(var$1) | 0;
    }
    return var$1;
};
$java.jm_BigInteger_testBit = function($this, $n) {
    var var$2, $intCount, $digit, $firstNonZeroDigit;
    if (!$n)
        return !($this.$digits.data[0] & 1) ? 0 : 1;
    if ($n < 0) {
        var$2 = new jl_ArithmeticException;
        jl_Throwable__init_(var$2, $rt_s(2677));
        $rt_throw(var$2);
    }
    $intCount = $n >> 5;
    if ($intCount >= $this.$numberLength)
        return $this.$sign1 >= 0 ? 0 : 1;
    $digit = $this.$digits.data[$intCount];
    $n = 1 << ($n & 31);
    if ($this.$sign1 < 0) {
        $firstNonZeroDigit = $java.jm_BigInteger_getFirstNonzeroDigit($this);
        if ($intCount < $firstNonZeroDigit)
            return 0;
        $digit = $firstNonZeroDigit == $intCount ?  -$digit : $digit ^ (-1);
    }
    return !($digit & $n) ? 0 : 1;
};
$java.jm_BigInteger_getLowestSetBit = function($this) {
    var $i;
    if (!$this.$sign1)
        return (-1);
    $i = $java.jm_BigInteger_getFirstNonzeroDigit($this);
    return ($i << 5) + jl_Integer_numberOfTrailingZeros($this.$digits.data[$i]) | 0;
};
function jm_BigInteger_intValue($this) {
    return $rt_imul($this.$sign1, $this.$digits.data[0]);
}
$java.jm_BigInteger_longValue = function($this) {
    var $value;
    $value = $this.$numberLength <= 1 ? Long_and(Long_fromInt($this.$digits.data[0]), new Long(4294967295, 0)) : Long_or(Long_shl(Long_fromInt($this.$digits.data[1]), 32), Long_and(Long_fromInt($this.$digits.data[0]), new Long(4294967295, 0)));
    return Long_mul(Long_fromInt($this.$sign1), $value);
};
$java.jm_BigInteger_doubleValue = function($this) {
    return $java.jm_Conversion_bigInteger2Double($this);
};
function jm_BigInteger_compareTo($this, $val) {
    if ($this.$sign1 > $val.$sign1)
        return 1;
    if ($this.$sign1 < $val.$sign1)
        return (-1);
    if ($this.$numberLength > $val.$numberLength)
        return $this.$sign1;
    if ($this.$numberLength < $val.$numberLength)
        return  -$val.$sign1;
    return $rt_imul($this.$sign1, $java.jm_Elementary_compareArrays($this.$digits, $val.$digits, $this.$numberLength));
}
$java.jm_BigInteger_hashCode = function($this) {
    var $i;
    if ($this.$hashCode5)
        return $this.$hashCode5;
    $i = 0;
    while ($i < $this.$digits.data.length) {
        $this.$hashCode5 = ($this.$hashCode5 * 33 | 0) + $this.$digits.data[$i] | 0;
        $i = $i + 1 | 0;
    }
    $this.$hashCode5 = $rt_imul($this.$hashCode5, $this.$sign1);
    return $this.$hashCode5;
};
function jm_BigInteger_equals($this, $x) {
    var $x1;
    if ($this === $x)
        return 1;
    if (!($x instanceof jm_BigInteger))
        return 0;
    $x1 = $x;
    return $this.$sign1 == $x1.$sign1 && $this.$numberLength == $x1.$numberLength && $java.jm_BigInteger_equalsArrays($this, $x1.$digits) ? 1 : 0;
}
$java.jm_BigInteger_equalsArrays = function($this, $b) {
    var $i, var$3;
    $i = $this.$numberLength - 1 | 0;
    while ($i >= 0) {
        var$3 = $b.data;
        if ($this.$digits.data[$i] != var$3[$i])
            break;
        $i = $i + (-1) | 0;
    }
    return $i >= 0 ? 0 : 1;
};
$java.jm_BigInteger_toString = function($this) {
    return $java.jm_Conversion_toDecimalScaledString0($this, 0);
};
$java.jm_BigInteger_gcd = function($this, $val) {
    var $val1, $val2, var$4, var$5, var$6;
    $val1 = $java.jm_BigInteger_abs($this);
    $val2 = $java.jm_BigInteger_abs($val);
    if (!$val1.$sign1)
        return $val2;
    if (!$val2.$sign1)
        return $val1;
    a: {
        if ($val1.$numberLength != 1) {
            if ($val1.$numberLength != 2)
                break a;
            if ($val1.$digits.data[1] <= 0)
                break a;
        }
        if ($val2.$numberLength != 1) {
            if ($val2.$numberLength != 2)
                break a;
            if ($val2.$digits.data[1] <= 0)
                break a;
        }
        return jm_BigInteger_valueOf($java.jm_Division_gcdBinary($java.jm_BigInteger_longValue($val1), $java.jm_BigInteger_longValue($val2)));
    }
    $val = $java.jm_BigInteger_copy($val1);
    $val1 = $java.jm_BigInteger_copy($val2);
    var$4 = $java.jm_BigInteger_getLowestSetBit($val);
    var$5 = $java.jm_BigInteger_getLowestSetBit($val1);
    var$6 = jl_Math_min(var$4, var$5);
    $java.jm_BitLevel_inplaceShiftRight($val, var$4);
    $java.jm_BitLevel_inplaceShiftRight($val1, var$5);
    if (jm_BigInteger_compareTo($val, $val1) != 1) {
        $val2 = $val1;
        $val1 = $val;
        $val = $val2;
    }
    b: {
        c: {
            while (true) {
                if ($val.$numberLength == 1)
                    break c;
                if ($val.$numberLength == 2 && $val.$digits.data[1] > 0)
                    break c;
                if ($val.$numberLength > $val1.$numberLength * 1.2) {
                    $val2 = jm_BigInteger_remainder($val, $val1);
                    if ($val2.$sign1)
                        $java.jm_BitLevel_inplaceShiftRight($val2, $java.jm_BigInteger_getLowestSetBit($val2));
                } else {
                    while (true) {
                        $java.jm_Elementary_subtract0($val.$digits, $val.$digits, $val.$numberLength, $val1.$digits, $val1.$numberLength);
                        $java.jm_BigInteger_cutOffLeadingZeroes($val);
                        $java.jm_BigInteger_unCache($val);
                        $java.jm_BitLevel_inplaceShiftRight($val, $java.jm_BigInteger_getLowestSetBit($val));
                        if (jm_BigInteger_compareTo($val, $val1) >= 0)
                            continue;
                        else
                            break;
                    }
                    $val2 = $val;
                }
                if (!$val2.$sign1)
                    break;
                $val = $val1;
                $val1 = $val2;
            }
            break b;
        }
        $val1 = jm_BigInteger_valueOf($java.jm_Division_gcdBinary($java.jm_BigInteger_longValue($val1), $java.jm_BigInteger_longValue($val)));
    }
    return $java.jm_BigInteger_shiftLeft($val1, var$6);
};
function jm_BigInteger_multiply($this, $val) {
    if (!$val.$sign1)
        return jm_BigInteger_ZERO;
    if (!$this.$sign1)
        return jm_BigInteger_ZERO;
    $java.jm_Multiplication_$callClinit();
    return $java.jm_Multiplication_karatsuba($this, $val);
}
$java.jm_BigInteger_pow = function($this, $exp) {
    var var$2, $x, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
    if ($exp < 0) {
        var$2 = new jl_ArithmeticException;
        jl_Throwable__init_(var$2, $rt_s(2678));
        $rt_throw(var$2);
    }
    if (!$exp)
        return jm_BigInteger_ONE;
    if ($exp != 1 && !jm_BigInteger_equals($this, jm_BigInteger_ONE) && !jm_BigInteger_equals($this, jm_BigInteger_ZERO)) {
        if (!$java.jm_BigInteger_testBit($this, 0)) {
            $x = 1;
            while (!$java.jm_BigInteger_testBit($this, $x)) {
                $x = $x + 1 | 0;
            }
            var$4 = $rt_imul($x, $exp);
            if (var$4 < $java.jm_BigInteger_TWO_POWS.data.length)
                var$2 = $java.jm_BigInteger_TWO_POWS.data[var$4];
            else {
                var$5 = var$4 >> 5;
                var$6 = var$4 & 31;
                var$7 = var$5 + 1 | 0;
                var$8 = $rt_createIntArray(var$7);
                var$8.data[var$5] = 1 << var$6;
                var$2 = $java.jm_BigInteger__init_0(1, var$7, var$8);
            }
            return jm_BigInteger_multiply(var$2, $java.jm_BigInteger_pow($java.jm_BigInteger_shiftRight($this, $x), $exp));
        }
        $java.jm_Multiplication_$callClinit();
        var$2 = jm_BigInteger_ONE;
        while ($exp > 1) {
            if ($exp & 1)
                var$2 = jm_BigInteger_multiply(var$2, $this);
            if ($this.$numberLength == 1)
                $this = jm_BigInteger_multiply($this, $this);
            else {
                var$9 = new jm_BigInteger;
                var$8 = $java.jm_Multiplication_square($this.$digits, $this.$numberLength, $rt_createIntArray($this.$numberLength << 1));
                var$10 = var$8.data;
                var$9.$firstNonzeroDigit = (-2);
                var$4 = var$10.length;
                if (var$4) {
                    var$9.$sign1 = 1;
                    var$9.$numberLength = var$4;
                    var$9.$digits = var$8;
                    $java.jm_BigInteger_cutOffLeadingZeroes(var$9);
                } else {
                    var$9.$sign1 = 0;
                    var$9.$numberLength = 1;
                    var$8 = $rt_createIntArray(1);
                    var$8.data[0] = 0;
                    var$9.$digits = var$8;
                }
                $this = var$9;
            }
            $exp = $exp >> 1;
        }
        return jm_BigInteger_multiply(var$2, $this);
    }
    return $this;
};
function jm_BigInteger_divideAndRemainder($this, $divisor) {
    var $divisorSign, $divisorLen, $divisorDigits, $thisLen, $thisSign, $thisDigits, $quotientDigits, $result0, var$10, var$11, var$12, $cmp, $quotientLength, $quotientSign, $remainderDigits, $result1;
    $divisorSign = $divisor.$sign1;
    if (!$divisorSign) {
        $divisor = new jl_ArithmeticException;
        jl_Throwable__init_($divisor, $rt_s(2679));
        $rt_throw($divisor);
    }
    $divisorLen = $divisor.$numberLength;
    $divisorDigits = $divisor.$digits;
    if ($divisorLen == 1) {
        $thisLen = $divisorDigits.data[0];
        $divisorDigits = $this.$digits;
        $divisorLen = $this.$numberLength;
        $thisSign = $this.$sign1;
        if ($divisorLen != 1) {
            $divisorSign = $thisSign != $divisorSign ? (-1) : 1;
            $thisDigits = $rt_createIntArray($divisorLen);
            $quotientDigits = $rt_createIntArray(1);
            $quotientDigits.data[0] = $java.jm_Division_divideArrayByInt($thisDigits, $divisorDigits, $divisorLen, $thisLen);
            $divisor = $java.jm_BigInteger__init_0($divisorSign, $divisorLen, $thisDigits);
            $result0 = $java.jm_BigInteger__init_0($thisSign, 1, $quotientDigits);
            $java.jm_BigInteger_cutOffLeadingZeroes($divisor);
            $java.jm_BigInteger_cutOffLeadingZeroes($result0);
            $thisDigits = $rt_createArray(jm_BigInteger, 2);
            $divisorDigits = $thisDigits.data;
            $divisorDigits[0] = $divisor;
            $divisorDigits[1] = $result0;
        } else {
            var$10 = Long_and(Long_fromInt($divisorDigits.data[0]), new Long(4294967295, 0));
            var$11 = Long_and(Long_fromInt($thisLen), new Long(4294967295, 0));
            var$12 = Long_div(var$10, var$11);
            var$10 = Long_rem(var$10, var$11);
            if ($thisSign != $divisorSign)
                var$12 = Long_neg(var$12);
            if ($thisSign < 0)
                var$10 = Long_neg(var$10);
            $thisDigits = $rt_createArray(jm_BigInteger, 2);
            $divisorDigits = $thisDigits.data;
            $divisorDigits[0] = jm_BigInteger_valueOf(var$12);
            $divisorDigits[1] = jm_BigInteger_valueOf(var$10);
        }
        return $thisDigits;
    }
    $thisDigits = $this.$digits;
    $thisLen = $this.$numberLength;
    $cmp = $rt_compare($thisLen, $divisorLen);
    if ((!$cmp ? $java.jm_Elementary_compareArrays($thisDigits, $divisorDigits, $thisLen) : $cmp <= 0 ? (-1) : 1) < 0) {
        $divisorDigits = $rt_createArray(jm_BigInteger, 2);
        $thisDigits = $divisorDigits.data;
        $thisDigits[0] = jm_BigInteger_ZERO;
        $thisDigits[1] = $this;
        return $divisorDigits;
    }
    $thisSign = $this.$sign1;
    $quotientLength = ($thisLen - $divisorLen | 0) + 1 | 0;
    $quotientSign = $thisSign != $divisorSign ? (-1) : 1;
    $quotientDigits = $rt_createIntArray($quotientLength);
    $remainderDigits = $java.jm_Division_divide($quotientDigits, $quotientLength, $thisDigits, $thisLen, $divisorDigits, $divisorLen);
    $result0 = $java.jm_BigInteger__init_0($quotientSign, $quotientLength, $quotientDigits);
    $result1 = $java.jm_BigInteger__init_0($thisSign, $divisorLen, $remainderDigits);
    $java.jm_BigInteger_cutOffLeadingZeroes($result0);
    $java.jm_BigInteger_cutOffLeadingZeroes($result1);
    $divisorDigits = $rt_createArray(jm_BigInteger, 2);
    $thisDigits = $divisorDigits.data;
    $thisDigits[0] = $result0;
    $thisDigits[1] = $result1;
    return $divisorDigits;
}
function jm_BigInteger_divide($this, $divisor) {
    var $divisorSign, $thisSign, $thisLen, $divisorLen, $val, $cmp, $resLength, $resDigits, $resSign, $result;
    if (!$divisor.$sign1) {
        $divisor = new jl_ArithmeticException;
        jl_Throwable__init_($divisor, $rt_s(2679));
        $rt_throw($divisor);
    }
    $divisorSign = $divisor.$sign1;
    if ($java.jm_BigInteger_isOne($divisor)) {
        if ($divisor.$sign1 <= 0)
            $this = jm_BigInteger_negate($this);
        return $this;
    }
    $thisSign = $this.$sign1;
    $thisLen = $this.$numberLength;
    $divisorLen = $divisor.$numberLength;
    if (($thisLen + $divisorLen | 0) == 2) {
        $val = Long_div(Long_and(Long_fromInt($this.$digits.data[0]), new Long(4294967295, 0)), Long_and(Long_fromInt($divisor.$digits.data[0]), new Long(4294967295, 0)));
        if ($thisSign != $divisorSign)
            $val = Long_neg($val);
        return jm_BigInteger_valueOf($val);
    }
    $cmp = $rt_compare($thisLen, $divisorLen);
    $cmp = !$cmp ? $java.jm_Elementary_compareArrays($this.$digits, $divisor.$digits, $thisLen) : $cmp <= 0 ? (-1) : 1;
    if (!$cmp)
        return $thisSign != $divisorSign ? $java.jm_BigInteger_MINUS_ONE : jm_BigInteger_ONE;
    if ($cmp == (-1))
        return jm_BigInteger_ZERO;
    $resLength = ($thisLen - $divisorLen | 0) + 1 | 0;
    $resDigits = $rt_createIntArray($resLength);
    $resSign = $thisSign != $divisorSign ? (-1) : 1;
    if ($divisorLen != 1)
        $java.jm_Division_divide($resDigits, $resLength, $this.$digits, $thisLen, $divisor.$digits, $divisorLen);
    else
        $java.jm_Division_divideArrayByInt($resDigits, $this.$digits, $thisLen, $divisor.$digits.data[0]);
    $result = $java.jm_BigInteger__init_0($resSign, $resLength, $resDigits);
    $java.jm_BigInteger_cutOffLeadingZeroes($result);
    return $result;
}
function jm_BigInteger_remainder($this, $divisor) {
    var $thisLen, $divisorLen, $qLen, $resDigits, var$6, var$7, var$8, var$9, $result;
    if (!$divisor.$sign1) {
        $divisor = new jl_ArithmeticException;
        jl_Throwable__init_($divisor, $rt_s(2679));
        $rt_throw($divisor);
    }
    $thisLen = $this.$numberLength;
    $divisorLen = $divisor.$numberLength;
    $qLen = $rt_compare($thisLen, $divisorLen);
    if ((!$qLen ? $java.jm_Elementary_compareArrays($this.$digits, $divisor.$digits, $thisLen) : $qLen <= 0 ? (-1) : 1) == (-1))
        return $this;
    $resDigits = $rt_createIntArray($divisorLen);
    if ($divisorLen != 1)
        $resDigits = $java.jm_Division_divide(null, ($thisLen - $divisorLen | 0) + 1 | 0, $this.$digits, $thisLen, $divisor.$digits, $divisorLen);
    else {
        var$6 = $this.$digits;
        var$7 = $divisor.$digits.data[0];
        var$8 = Long_ZERO;
        $thisLen = $thisLen - 1 | 0;
        while ($thisLen >= 0) {
            var$9 = var$6.data;
            var$8 = Long_fromInt($java.jm_Division_divideLongByInt(Long_add(Long_shl(var$8, 32), Long_and(Long_fromInt(var$9[$thisLen]), new Long(4294967295, 0))), var$7).hi);
            $thisLen = $thisLen + (-1) | 0;
        }
        $resDigits.data[0] = var$8.lo;
    }
    $result = $java.jm_BigInteger__init_0($this.$sign1, $divisorLen, $resDigits);
    $java.jm_BigInteger_cutOffLeadingZeroes($result);
    return $result;
}
$java.jm_BigInteger_cutOffLeadingZeroes = function($this) {
    var var$1, var$2, var$3;
    while ($this.$numberLength > 0) {
        var$1 = $this.$digits.data;
        var$2 = $this.$numberLength - 1 | 0;
        $this.$numberLength = var$2;
        if (var$1[var$2])
            break;
    }
    var$1 = $this.$digits.data;
    var$3 = $this.$numberLength;
    $this.$numberLength = var$3 + 1 | 0;
    if (!var$1[var$3])
        $this.$sign1 = 0;
};
$java.jm_BigInteger_isOne = function($this) {
    return $this.$numberLength == 1 && $this.$digits.data[0] == 1 ? 1 : 0;
};
$java.jm_BigInteger_putBytesNegativeToIntegers = function($this, $byteValues) {
    var $bytesLen, $highBytes, $i, var$5, $j, $j_0, var$8;
    $byteValues = $byteValues.data;
    $bytesLen = $byteValues.length;
    $highBytes = $bytesLen & 3;
    $this.$numberLength = ($bytesLen >> 2) + ($highBytes ? 1 : 0) | 0;
    $this.$digits = $rt_createIntArray($this.$numberLength);
    $i = 0;
    $this.$digits.data[$this.$numberLength - 1 | 0] = (-1);
    a: {
        while ($bytesLen > $highBytes) {
            var$5 = $this.$digits.data;
            $j = $bytesLen + (-1) | 0;
            $bytesLen = $byteValues[$j] & 255;
            $j = $j + (-1) | 0;
            $bytesLen = $bytesLen | ($byteValues[$j] & 255) << 8;
            $j_0 = $j + (-1) | 0;
            $j = $bytesLen | ($byteValues[$j_0] & 255) << 16;
            $bytesLen = $j_0 + (-1) | 0;
            var$5[$i] = $j | ($byteValues[$bytesLen] & 255) << 24;
            if ($this.$digits.data[$i]) {
                $this.$digits.data[$i] =  -$this.$digits.data[$i];
                $this.$firstNonzeroDigit = $i;
                $i = $i + 1 | 0;
                while ($bytesLen > $highBytes) {
                    var$5 = $this.$digits.data;
                    $j = $bytesLen + (-1) | 0;
                    $j_0 = $byteValues[$j] & 255;
                    var$8 = $j + (-1) | 0;
                    $j = $j_0 | ($byteValues[var$8] & 255) << 8;
                    $bytesLen = var$8 + (-1) | 0;
                    $j = $j | ($byteValues[$bytesLen] & 255) << 16;
                    $bytesLen = $bytesLen + (-1) | 0;
                    var$5[$i] = $j | ($byteValues[$bytesLen] & 255) << 24;
                    $this.$digits.data[$i] = $this.$digits.data[$i] ^ (-1);
                    $i = $i + 1 | 0;
                }
                break a;
            }
            $i = $i + 1 | 0;
        }
    }
    if ($highBytes) {
        if ($this.$firstNonzeroDigit == (-2)) {
            $j_0 = 0;
            while ($j_0 < $bytesLen) {
                $this.$digits.data[$i] = $this.$digits.data[$i] << 8 | $byteValues[$j_0] & 255;
                $j_0 = $j_0 + 1 | 0;
            }
            $this.$digits.data[$i] =  -$this.$digits.data[$i];
        } else {
            $j = 0;
            while ($j < $bytesLen) {
                $this.$digits.data[$i] = $this.$digits.data[$i] << 8 | $byteValues[$j] & 255;
                $j = $j + 1 | 0;
            }
            $this.$digits.data[$i] = $this.$digits.data[$i] ^ (-1);
        }
    }
};
$java.jm_BigInteger_getFirstNonzeroDigit = function($this) {
    var $i;
    if ($this.$firstNonzeroDigit == (-2)) {
        if (!$this.$sign1)
            $i = (-1);
        else {
            $i = 0;
            while (!$this.$digits.data[$i]) {
                $i = $i + 1 | 0;
            }
        }
        $this.$firstNonzeroDigit = $i;
    }
    return $this.$firstNonzeroDigit;
};
$java.jm_BigInteger_copy = function($this) {
    var $copyDigits;
    $copyDigits = $rt_createIntArray($this.$numberLength);
    jl_System_arraycopy($this.$digits, 0, $copyDigits, 0, $this.$numberLength);
    return $java.jm_BigInteger__init_0($this.$sign1, $this.$numberLength, $copyDigits);
};
$java.jm_BigInteger_unCache = function($this) {
    $this.$firstNonzeroDigit = (-2);
};
$java.jm_BigInteger_compareTo = function($this, var$1) {
    return jm_BigInteger_compareTo($this, var$1);
};
function jm_BigInteger__clinit_() {
    var var$1, var$2, $i;
    jm_BigInteger_ZERO = $java.jm_BigInteger__init_1(0, 0);
    jm_BigInteger_ONE = $java.jm_BigInteger__init_1(1, 1);
    jm_BigInteger_TEN = $java.jm_BigInteger__init_1(1, 10);
    $java.jm_BigInteger_MINUS_ONE = $java.jm_BigInteger__init_1((-1), 1);
    var$1 = $rt_createArray(jm_BigInteger, 11);
    var$2 = var$1.data;
    var$2[0] = jm_BigInteger_ZERO;
    var$2[1] = jm_BigInteger_ONE;
    var$2[2] = $java.jm_BigInteger__init_1(1, 2);
    var$2[3] = $java.jm_BigInteger__init_1(1, 3);
    var$2[4] = $java.jm_BigInteger__init_1(1, 4);
    var$2[5] = $java.jm_BigInteger__init_1(1, 5);
    var$2[6] = $java.jm_BigInteger__init_1(1, 6);
    var$2[7] = $java.jm_BigInteger__init_1(1, 7);
    var$2[8] = $java.jm_BigInteger__init_1(1, 8);
    var$2[9] = $java.jm_BigInteger__init_1(1, 9);
    var$2[10] = jm_BigInteger_TEN;
    $java.jm_BigInteger_SMALL_VALUES = var$1;
    $java.jm_BigInteger_TWO_POWS = $rt_createArray(jm_BigInteger, 32);
    $i = 0;
    while ($i < $java.jm_BigInteger_TWO_POWS.data.length) {
        $java.jm_BigInteger_TWO_POWS.data[$i] = jm_BigInteger_valueOf(Long_shl(Long_fromInt(1), $i));
        $i = $i + 1 | 0;
    }
}
function nms_PositionTextureVertex() {
    var a = this; jl_Object.call(a);
    a.$vector3D = null;
    a.$texturePositionX = 0.0;
    a.$texturePositionY = 0.0;
}
$java.nms_PositionTextureVertex__init_ = function(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_PositionTextureVertex();
    $java.nms_PositionTextureVertex__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
};
$java.nms_PositionTextureVertex__init_0 = function($this, $par1, $par2, $par3, $par4, $par5) {
    $this.$vector3D = nms_Vec3_createVectorHelper($par1, $par2, $par3);
    $this.$texturePositionX = $par4;
    $this.$texturePositionY = $par5;
};
$java.nms_PositionTextureVertex_setTexturePosition = function($this, $par1, $par2) {
    var var$3;
    var$3 = new nms_PositionTextureVertex;
    var$3.$vector3D = $this.$vector3D;
    var$3.$texturePositionX = $par1;
    var$3.$texturePositionY = $par2;
    return var$3;
};
function nms_TexturedQuad() {
    var a = this; jl_Object.call(a);
    a.$vertexPositions0 = null;
    a.$nVertices = 0;
    a.$normal0 = null;
}
$java.nms_TexturedQuad__init_0 = function(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
    var var_8 = new nms_TexturedQuad();
    $java.nms_TexturedQuad__init_(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
    return var_8;
};
$java.nms_TexturedQuad__init_ = function($this, $par1ArrayOfPositionTextureVertex, $normal, $par2, $par3, $par4, $par5, $par6, $par7) {
    var var$9, $var8, $var9, var$12, var$13, var$14;
    var$9 = $par1ArrayOfPositionTextureVertex.data;
    $this.$nVertices = 0;
    $this.$normal0 = null;
    $this.$vertexPositions0 = $par1ArrayOfPositionTextureVertex;
    $this.$nVertices = var$9.length;
    $var8 = 0.20000000298023224 / $par6;
    $var9 = 0.20000000298023224 / $par7;
    var$12 = var$9[0];
    var$13 = $par4 / $par6 - $var8;
    var$14 = $par3 / $par7 + $var9;
    var$9[0] = $java.nms_PositionTextureVertex_setTexturePosition(var$12, var$13, var$14);
    var$12 = var$9[1];
    $par6 = $par2 / $par6 + $var8;
    var$9[1] = $java.nms_PositionTextureVertex_setTexturePosition(var$12, $par6, var$14);
    var$12 = var$9[2];
    $par7 = $par5 / $par7 - $var9;
    var$9[2] = $java.nms_PositionTextureVertex_setTexturePosition(var$12, $par6, $par7);
    var$9[3] = $java.nms_PositionTextureVertex_setTexturePosition(var$9[3], var$13, $par7);
    $this.$normal0 = $normal;
};
$java.nms_TexturedQuad_flipFace = function($this) {
    var $var1, var$2, $var2;
    $var1 = $rt_createArray(nms_PositionTextureVertex, $this.$vertexPositions0.data.length);
    var$2 = $var1.data;
    $var2 = 0;
    while ($var2 < $this.$vertexPositions0.data.length) {
        var$2[$var2] = $this.$vertexPositions0.data[($this.$vertexPositions0.data.length - $var2 | 0) - 1 | 0];
        $var2 = $var2 + 1 | 0;
    }
    $this.$vertexPositions0 = $var1;
};
$java.nms_TexturedQuad_draw = function($this, $par1Tessellator, $par2) {
    var $var6, $var7;
    nlea_Tessellator_startDrawingQuads($par1Tessellator);
    if ($this.$normal0 !== null)
        nlea_Tessellator_setNormal($par1Tessellator, $this.$normal0.$xCoord, $this.$normal0.$yCoord, $this.$normal0.$zCoord);
    $var6 = 0;
    while ($var6 < 4) {
        $var7 = $this.$vertexPositions0.data[$var6];
        nlea_Tessellator_addVertexWithUV($par1Tessellator, $var7.$vector3D.$xCoord * $par2, $var7.$vector3D.$yCoord * $par2, $var7.$vector3D.$zCoord * $par2, $var7.$texturePositionX, $var7.$texturePositionY);
        $var6 = $var6 + 1 | 0;
    }
    nlea_Tessellator_draw($par1Tessellator);
};
function nms_AchievementMap() {
    jl_Object.call(this);
    this.$guidMap = null;
}
var nms_AchievementMap_instance = null;
function nms_AchievementMap_$callClinit() {
    nms_AchievementMap_$callClinit = $rt_eraseClinit(nms_AchievementMap);
    $java.nms_AchievementMap__clinit_();
}
$java.nms_AchievementMap__init_ = function() {
    var var_0 = new nms_AchievementMap();
    nms_AchievementMap__init_(var_0);
    return var_0;
};
function nms_AchievementMap__init_($this) {
    var var$1, var$2, var$3, $var3, $var4, $var5, $$je;
    nms_AchievementMap_$callClinit();
    $this.$guidMap = ju_HashMap__init_();
    a: {
        try {
            var$1 = nlea_EaglerAdapterImpl2_fileContentsLines($rt_s(2680)).data;
            var$2 = var$1.length;
            var$3 = 0;
            while (var$3 < var$2) {
                $var3 = jl_String_split(var$1[var$3], $rt_s(273)).data;
                $var4 = jl_Integer_parseInt($var3[0]);
                ju_HashMap_put($this.$guidMap, jl_Integer_valueOf($var4), $var3[1]);
                var$3 = var$3 + 1 | 0;
            }
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var5 = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace($var5);
    }
}
$java.nms_AchievementMap__clinit_ = function() {
    nms_AchievementMap_instance = $java.nms_AchievementMap__init_();
};
function ju_AbstractMap$SimpleEntry() {
    var a = this; jl_Object.call(a);
    a.$key1 = null;
    a.$value8 = null;
}
$java.ju_AbstractMap$SimpleEntry_getValue = function($this) {
    return $this.$value8;
};
$java.ju_AbstractMap$SimpleEntry_setValue = function($this, $value) {
    var $old;
    $old = $this.$value8;
    $this.$value8 = $value;
    return $old;
};
$java.ju_AbstractMap$SimpleEntry_getKey = function($this) {
    return $this.$key1;
};
$java.ju_AbstractMap$SimpleEntry_equals = function($this, $obj) {
    var $other;
    if (!$rt_isInstance($obj, ju_Map$Entry))
        return 0;
    a: {
        $other = $obj;
        if ($this.$key1 === null) {
            if ($other.$getKey() === null)
                break a;
        } else if ($this.$key1.$equals($other.$getKey()))
            break a;
        return 0;
    }
    return $this.$value8 !== null ? $this.$value8.$equals($other.$getValue0()) : $other.$getValue0() !== null ? 0 : 1;
};
$java.ju_AbstractMap$SimpleEntry_hashCode = function($this) {
    return ($this.$key1 === null ? 0 : $this.$key1.$hashCode0()) ^ ($this.$value8 === null ? 0 : $this.$value8.$hashCode0());
};
$java.ju_AbstractMap$SimpleEntry_toString = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, jl_String_valueOf($this.$key1));
    jl_AbstractStringBuilder_append(var$1, $rt_s(843));
    jl_AbstractStringBuilder_append(var$1, jl_String_valueOf($this.$value8));
    return jl_AbstractStringBuilder_toString(var$1);
};
function ju_TreeMap$TreeNode() {
    var a = this; ju_AbstractMap$SimpleEntry.call(a);
    a.$left0 = null;
    a.$right = null;
    a.$height4 = 0;
    a.$size7 = 0;
}
$java.ju_TreeMap$TreeNode_balance = function($this) {
    var $factor;
    $factor = $java.ju_TreeMap$TreeNode_factor($this);
    if ($factor == 2) {
        if ($java.ju_TreeMap$TreeNode_factor($this.$right) < 0)
            $this.$right = $java.ju_TreeMap$TreeNode_rotateRight($this.$right);
        return $java.ju_TreeMap$TreeNode_rotateLeft($this);
    }
    if ($factor != (-2))
        return $this;
    if ($java.ju_TreeMap$TreeNode_factor($this.$left0) > 0)
        $this.$left0 = $java.ju_TreeMap$TreeNode_rotateLeft($this.$left0);
    return $java.ju_TreeMap$TreeNode_rotateRight($this);
};
$java.ju_TreeMap$TreeNode_factor = function($this) {
    return ($this.$right === null ? 0 : $this.$right.$height4) - ($this.$left0 === null ? 0 : $this.$left0.$height4) | 0;
};
$java.ju_TreeMap$TreeNode_rotateRight = function($this) {
    var $left;
    $left = $this.$left0;
    $this.$left0 = $left.$right;
    $left.$right = $this;
    $java.ju_TreeMap$TreeNode_fix($this);
    $java.ju_TreeMap$TreeNode_fix($left);
    return $left;
};
$java.ju_TreeMap$TreeNode_rotateLeft = function($this) {
    var $right;
    $right = $this.$right;
    $this.$right = $right.$left0;
    $right.$left0 = $this;
    $java.ju_TreeMap$TreeNode_fix($this);
    $java.ju_TreeMap$TreeNode_fix($right);
    return $right;
};
$java.ju_TreeMap$TreeNode_fix = function($this) {
    var var$1, var$2;
    var$1 = $this.$right === null ? 0 : $this.$right.$height4;
    var$2 = $this.$left0 === null ? 0 : $this.$left0.$height4;
    $this.$height4 = jl_Math_max(var$1, var$2) + 1 | 0;
    $this.$size7 = 1;
    if ($this.$left0 !== null)
        $this.$size7 = $this.$size7 + $this.$left0.$size7 | 0;
    if ($this.$right !== null)
        $this.$size7 = $this.$size7 + $this.$right.$size7 | 0;
};
$java.ju_TreeMap$TreeNode_forward = function($this, $reverse) {
    return $reverse ? $this.$right : $this.$left0;
};
$java.ju_TreeMap$TreeNode_down = function($this, $reverse) {
    return $reverse ? $this.$left0 : $this.$right;
};
function maat__tmi_MgTextField() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$placeholder = null;
    a.$textField0 = null;
    a.$focusHandler = null;
    a.$focused = 0;
}
$java.maat__tmi_MgTextField__init_ = function(var_0, var_1, var_2) {
    var var_3 = new maat__tmi_MgTextField();
    $java.maat__tmi_MgTextField__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.maat__tmi_MgTextField__init_0 = function($this, $var1, $var2, $var3) {
    $java.maat__tmi_MgWidget__init_($this, 0, 0);
    $this.$placeholder = $rt_s(36);
    $this.$focusHandler = null;
    $this.$focused = 0;
    $this.$placeholder = $var2;
    $this.$textField0 = nms_GuiTextField__init_($var1, 0, 0, 0, 0);
    $this.$height5 = 14;
    $this.$focusHandler = $var3;
};
$java.maat__tmi_MgTextField_draw = function($this, $var1, $var2, $var3) {
    var var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$show)
            return;
        $this.$textField0.$xPos = $this.$x5;
        $this.$textField0.$yPos = $this.$y4;
        $this.$textField0.$width5 = $this.$width3;
        $this.$textField0.$height7 = $this.$height5;
        var$4 = $this.$textField0;
        $ptr = 1;
    case 1:
        nms_GuiTextField_drawTextBox(var$4);
        if ($rt_suspending()) {
            break main;
        }
        if (!($java.maat__tmi_MgTextField_value($this) !== null && !jl_String_equals($java.maat__tmi_MgTextField_value($this), $rt_s(36))) && !$this.$focused) {
            $var3 = $this.$x5 + 3 | 0;
            $var2 = $this.$y4 + 3 | 0;
            var$4 = $this.$placeholder;
            var$5 = (-7829368);
            $ptr = 2;
            continue main;
        }
        return;
    case 2:
        $java.maat__tmi_MgCanvas_drawText($var1, $var3, $var2, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $ptr);
};
$java.maat__tmi_MgTextField_click = function($this, $var1, $var2, $var3) {
    nms_GuiTextField_setFocused($this.$textField0, 1);
    nms_GuiTextField_mouseClicked($this.$textField0, $var1, $var2, $var3);
    if ($this.$focusHandler !== null)
        $java.maat_TMIController_focus($this.$focusHandler, $this);
    $this.$focused = 1;
    return 1;
};
$java.maat__tmi_MgTextField_keypress = function($this, $var1, $var2) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($var2 == 1)
            $java.maat__tmi_MgTextField_blur($this);
        var$3 = $this.$textField0;
        $ptr = 1;
    case 1:
        nms_GuiTextField_textboxKeyTyped(var$3, $var1, $var2);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, var$3, $ptr);
};
$java.maat__tmi_MgTextField_blur = function($this) {
    nms_GuiTextField_setFocused($this.$textField0, 0);
    $this.$focused = 0;
    if ($this.$focusHandler !== null)
        $java.maat_TMIController_blur($this.$focusHandler, $this);
};
$java.maat__tmi_MgTextField_value = function($this) {
    return $this.$textField0.$text0;
};
$java.maat__tmi_MgTextField_setValue = function($this, $var1) {
    nms_GuiTextField_setText($this.$textField0, $var1);
};
function maat__tmi_MgItemButton() {
    maat__tmi_MgButton.call(this);
    this.$stack = null;
}
$java.maat__tmi_MgItemButton__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new maat__tmi_MgItemButton();
    $java.maat__tmi_MgItemButton__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.maat__tmi_MgItemButton__init_0 = function($this, $var1, $var2, $var3, $var4) {
    $java.maat__tmi_MgButton__init_0($this, $var1, $var3, $var4);
    $this.$stack = null;
    $this.$stack = $var2;
    $this.$width3 = 18;
    $this.$height5 = 18;
};
$java.maat__tmi_MgItemButton_graphicWidth = function($this, $var1) {
    return $this.$stack !== null ? 16 : 0;
};
$java.maat__tmi_MgItemButton_drawGraphic = function($this, $var1, $var2) {
    var $var3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$stack === null)
            return 0;
        $var3 = $this.$y4 + (($this.$height5 - 16 | 0) / 2 | 0) | 0;
        var$4 = $this.$stack;
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawItem($var1, $var2, $var3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, $ptr);
};
function maat_TMIImages() {
    jl_Object.call(this);
}
$java.maat_TMIImages_iconPrev = null;
$java.maat_TMIImages_iconNext = null;
$java.maat_TMIImages_iconRain = null;
$java.maat_TMIImages_iconCreative = null;
$java.maat_TMIImages_iconDelete = null;
$java.maat_TMIImages_iconNoon = null;
$java.maat_TMIImages_iconDawn = null;
$java.maat_TMIImages_iconDusk = null;
$java.maat_TMIImages_iconMidnight = null;
$java.maat_TMIImages_iconDifficulty = null;
$java.maat_TMIImages_iconHeart = null;
$java.maat_TMIImages_iconGear = null;
$java.maat_TMIImages_iconChest = null;
$java.maat_TMIImages_iconBook = null;
$java.maat_TMIImages_iconStar = null;
$java.maat_TMIImages_iconPotion = null;
$java.maat_TMIImages_iconFirework = null;
$java.maat_TMIImages_iconGearLight = null;
$java.maat_TMIImages_iconChestLight = null;
$java.maat_TMIImages_iconBookLight = null;
$java.maat_TMIImages_iconStarLight = null;
$java.maat_TMIImages_buttonStateOff = null;
$java.maat_TMIImages_buttonStateOn = null;
$java.maat_TMIImages_iconModeS = null;
$java.maat_TMIImages_iconModeC = null;
$java.maat_TMIImages_iconModeA = null;
$java.maat_TMIImages_iconModeSs = null;
$java.maat_TMIImages_iconModeCs = null;
$java.maat_TMIImages_iconModeAs = null;
$java.maat_TMIImages__init_ = function() {
    var var_0 = new maat_TMIImages();
    maat_TMIImages__init_(var_0);
    return var_0;
};
function maat_TMIImages__init_($this) {
    return;
}
function maat_TMIImages__clinit_() {
    $java.maat_TMIImages_iconPrev = $java.maat__tmi_MgImage__init_(48, 12, 12, 12);
    $java.maat_TMIImages_iconNext = $java.maat__tmi_MgImage__init_(36, 12, 12, 12);
    $java.maat_TMIImages_iconRain = $java.maat__tmi_MgImage__init_(0, 12, 12, 12);
    $java.maat_TMIImages_iconCreative = $java.maat__tmi_MgImage__init_(12, 12, 12, 12);
    $java.maat_TMIImages_iconDelete = $java.maat__tmi_MgImage__init_(24, 12, 12, 12);
    $java.maat_TMIImages_iconNoon = $java.maat__tmi_MgImage__init_(0, 24, 12, 12);
    $java.maat_TMIImages_iconDawn = $java.maat__tmi_MgImage__init_(12, 24, 12, 12);
    $java.maat_TMIImages_iconDusk = $java.maat__tmi_MgImage__init_(24, 24, 12, 12);
    $java.maat_TMIImages_iconMidnight = $java.maat__tmi_MgImage__init_(36, 24, 12, 12);
    $java.maat_TMIImages_iconDifficulty = $java.maat__tmi_MgImage__init_(108, 24, 12, 12);
    $java.maat_TMIImages_iconHeart = $java.maat__tmi_MgImage__init_(48, 24, 12, 12);
    $java.maat_TMIImages_iconGear = $java.maat__tmi_MgImage__init_(60, 24, 12, 12);
    $java.maat_TMIImages_iconChest = $java.maat__tmi_MgImage__init_(72, 24, 12, 12);
    $java.maat_TMIImages_iconBook = $java.maat__tmi_MgImage__init_(84, 24, 12, 12);
    $java.maat_TMIImages_iconStar = $java.maat__tmi_MgImage__init_(96, 24, 12, 12);
    $java.maat_TMIImages_iconPotion = $java.maat__tmi_MgImage__init_(156, 24, 12, 12);
    $java.maat_TMIImages_iconFirework = $java.maat__tmi_MgImage__init_(168, 24, 12, 12);
    $java.maat_TMIImages_iconGearLight = $java.maat__tmi_MgImage__init_(60, 36, 12, 12);
    $java.maat_TMIImages_iconChestLight = $java.maat__tmi_MgImage__init_(72, 36, 12, 12);
    $java.maat_TMIImages_iconBookLight = $java.maat__tmi_MgImage__init_(84, 36, 12, 12);
    $java.maat_TMIImages_iconStarLight = $java.maat__tmi_MgImage__init_(96, 36, 12, 12);
    $java.maat_TMIImages_buttonStateOff = $java.maat__tmi_MgImage__init_(48, 0, 8, 12);
    $java.maat_TMIImages_buttonStateOn = $java.maat__tmi_MgImage__init_(56, 0, 8, 12);
    $java.maat_TMIImages_iconModeS = $java.maat__tmi_MgImage__init_(120, 24, 12, 12);
    $java.maat_TMIImages_iconModeC = $java.maat__tmi_MgImage__init_(132, 24, 12, 12);
    $java.maat_TMIImages_iconModeA = $java.maat__tmi_MgImage__init_(144, 24, 12, 12);
    $java.maat_TMIImages_iconModeSs = $java.maat__tmi_MgImage__init_(120, 36, 12, 12);
    $java.maat_TMIImages_iconModeCs = $java.maat__tmi_MgImage__init_(132, 36, 12, 12);
    $java.maat_TMIImages_iconModeAs = $java.maat__tmi_MgImage__init_(144, 36, 12, 12);
}
function maat_TMIEnchantItemPicker() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$enchantPanel = null;
    a.$mouseLastInArea = Long_ZERO;
}
$java.maat_TMIEnchantItemPicker_resize = function($this) {
    var $var1, $var2, $var3, $var4, var$5;
    $var1 = 0;
    $var2 = 0;
    $var3 = ju_AbstractList_iterator($this.$children0);
    while (ju_AbstractList$1_hasNext($var3)) {
        $var4 = ju_AbstractList$1_next($var3);
        var$5 = $var2 + 18 | 0;
        $this.$height5 = var$5;
        $var4.$x5 = $this.$x5 + $var1 | 0;
        $var4.$y4 = $this.$y4 + $var2 | 0;
        $var1 = $var1 + 18 | 0;
        if (($var1 + 18 | 0) > $this.$width3) {
            $var1 = 0;
            $var2 = var$5;
        }
    }
};
$java.maat_TMIEnchantItemPicker_open = function($this) {
    $this.$show = 1;
    $this.$mouseLastInArea = jl_System_currentTimeMillis();
};
$java.maat_TMIEnchantItemPicker_draw = function($this, $var1, $var2, $var3) {
    var $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = jl_System_currentTimeMillis();
        if ($java.maat__tmi_MgWidget_contains($this, $var2, $var3))
            $this.$mouseLastInArea = $var4;
        else if (Long_gt(Long_sub($var4, $this.$mouseLastInArea), Long_fromInt(1200))) {
            $this.$show = 0;
            return;
        }
        if (!$this.$show)
            return;
        $java.maat__tmi_MgCanvas_drawRect($var1, $this.$x5, $this.$y4, $this.$width3, $this.$height5, (-301989888));
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgWidget_drawChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $ptr);
};
$java.maat_TMIEnchantItemPicker_click = function($this, $var1, $var2, $var3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.maat__tmi_MgWidget_delegateClickToChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
};
$java.maat_TMIEnchantItemPicker_onButtonPress = function($this, $var1) {
    $java.maat_TMIEnchantPanel_chooseItem($this.$enchantPanel, nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset($var1.$value), 1, 0));
    $this.$show = 0;
    return 1;
};
$java.maat_TMIEnchantItemPicker_onButtonRightClick = function($this, $var1) {
    return 1;
};
function maat_TMIPotionEffectPicker() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$page1 = 0;
    a.$panel = null;
    a.$closeButton = null;
    a.$nextButton1 = null;
    a.$prevButton1 = null;
}
$java.maat_TMIPotionEffectPicker_resize = function($this) {
    var $var9, $var10, var$3, $var2, $var4, $var5, var$7, $var6, $var1, $var8;
    ju_ArrayList_clear($this.$children0);
    $var9 = $this.$nextButton1;
    $var10 = $this.$prevButton1;
    var$3 = $this.$closeButton;
    $var2 = $this.$y4 + 2 | 0;
    var$3.$y4 = $var2;
    $var10.$y4 = $var2;
    $var9.$y4 = $var2;
    $this.$prevButton1.$x5 = $this.$x5 + 52 | 0;
    $this.$nextButton1.$x5 = $this.$x5 + 70 | 0;
    $this.$closeButton.$x5 = $this.$x5 + 88 | 0;
    ju_ArrayList_add($this.$children0, $this.$nextButton1);
    ju_ArrayList_add($this.$children0, $this.$prevButton1);
    ju_ArrayList_add($this.$children0, $this.$closeButton);
    $var2 = $this.$y4 + 24 | 0;
    $var4 = ($this.$height5 - 24 | 0) / 13 | 0;
    $var5 = $java.maat_TMIPotionEffectPicker_getAvailablePotions($this).data;
    var$7 = $var5.length;
    $var6 = (var$7 / $var4 | 0) + ((var$7 % $var4 | 0) <= 0 ? 0 : 1) | 0;
    $var9 = $this.$nextButton1;
    $var10 = $this.$prevButton1;
    $var1 = $var6 <= 1 ? 0 : 1;
    $var10.$show = $var1;
    $var9.$show = $var1;
    if (!($this.$page1 <= ($var6 - 1 | 0) && $this.$page1 >= 0))
        $this.$page1 = 0;
    $var8 = $rt_imul($this.$page1, $var4);
    $var1 = $var8 + $var4 | 0;
    while ($var8 < $var1 && $var8 < var$7) {
        $var9 = $var5[$var8];
        $var10 = $java.maat__tmi_MgButton__init_(nms_StatCollector_translateToLocal($var9.$name11), $this, jl_Integer_valueOf($var9.$id5));
        $var10.$x5 = $this.$x5;
        $var10.$y4 = $var2;
        $var10.$width3 = $this.$width3;
        $var10.$height5 = 12;
        $var10.$centerText = 0;
        $var2 = $var2 + 13 | 0;
        ju_ArrayList_add($this.$children0, $var10);
        $var8 = $var8 + 1 | 0;
    }
};
$java.maat_TMIPotionEffectPicker_countAvailablePotions = function($this) {
    var $var1, $var2;
    $var1 = 0;
    $var2 = 0;
    while ($var2 < nms_Potion_potionTypes.data.length) {
        if (nms_Potion_potionTypes.data[$var2] !== null)
            $var1 = $var1 + 1 | 0;
        $var2 = $var2 + 1 | 0;
    }
    return $var1;
};
$java.maat_TMIPotionEffectPicker_getAvailablePotions = function($this) {
    var $var2, var$2, $var3, $var4, $var1;
    $var2 = $rt_createArray(nms_Potion, $java.maat_TMIPotionEffectPicker_countAvailablePotions($this));
    var$2 = $var2.data;
    $var3 = 0;
    $var4 = 0;
    while ($var4 < nms_Potion_potionTypes.data.length) {
        if (nms_Potion_potionTypes.data[$var4] !== null) {
            $var1 = $var3 + 1 | 0;
            var$2[$var3] = nms_Potion_potionTypes.data[$var4];
            $var3 = $var1;
        }
        $var4 = $var4 + 1 | 0;
    }
    return $var2;
};
$java.maat_TMIPotionEffectPicker_onButtonPress = function($this, $var1) {
    var $var2, $var3;
    if ($var1 instanceof jl_String) {
        $var2 = $var1;
        if (jl_String_equals($var2, $rt_s(2511))) {
            $this.$page1 = $this.$page1 + 1 | 0;
            $java.maat_TMIPotionEffectPicker_resize($this);
        } else if (jl_String_equals($var2, $rt_s(2512))) {
            $this.$page1 = $this.$page1 - 1 | 0;
            $java.maat_TMIPotionEffectPicker_resize($this);
        } else if (jl_String_equals($var2, $rt_s(2648)))
            $this.$show = 0;
    } else if ($var1 instanceof jl_Integer) {
        $var3 = $var1.$value;
        $java.maat_TMIPotionPanel_pickerPicked($this.$panel, $var3);
        $this.$show = 0;
    }
    return 1;
};
$java.maat_TMIPotionEffectPicker_onButtonRightClick = function($this, $var1) {
    return 1;
};
$java.maat_TMIPotionEffectPicker_draw = function($this, $var1, $var2, $var3) {
    var var$4, var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$show)
            return;
        $java.maat__tmi_MgCanvas_drawRect($var1, $this.$x5, $this.$y4, $this.$width3, $this.$height5, (-301989888));
        var$4 = $this.$x5 + 1 | 0;
        var$5 = $this.$y4 + 6 | 0;
        var$6 = $rt_s(2681);
        var$7 = (-1);
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawText($var1, var$4, var$5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $java.maat__tmi_MgWidget_drawChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
};
$java.maat_TMIPotionEffectPicker_click = function($this, $var1, $var2, $var3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.maat__tmi_MgWidget_delegateClickToChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
};
function maat_TMIPotionEffectControl() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$panel0 = null;
    a.$level = 0;
    a.$tickDuration = 0;
    a.$effectId0 = 0;
    a.$typeButton0 = null;
    a.$closeButton0 = null;
    a.$levelButton = null;
    a.$timeButton = null;
}
$java.maat_TMIPotionEffectControl__init_ = function(var_0) {
    var var_1 = new maat_TMIPotionEffectControl();
    $java.maat_TMIPotionEffectControl__init_0(var_1, var_0);
    return var_1;
};
$java.maat_TMIPotionEffectControl__init_0 = function($this, $var1) {
    var var$2, var$3;
    $java.maat__tmi_MgWidget__init_($this, 0, 0);
    $this.$level = 0;
    $this.$tickDuration = 1200;
    $this.$effectId0 = 1;
    $this.$typeButton0 = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2656));
    $this.$closeButton0 = $java.maat__tmi_MgButton__init_($rt_s(1904), $this, $rt_s(2648));
    $this.$levelButton = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(355));
    $this.$timeButton = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2682));
    $this.$panel0 = $var1;
    $this.$width3 = 106;
    $this.$height5 = 34;
    $var1 = $this.$typeButton0;
    var$2 = $this.$closeButton0;
    var$3 = $this.$levelButton;
    $this.$timeButton.$height5 = 16;
    var$3.$height5 = 16;
    var$2.$height5 = 16;
    $var1.$height5 = 16;
    ju_ArrayList_add($this.$children0, $this.$typeButton0);
    ju_ArrayList_add($this.$children0, $this.$closeButton0);
    ju_ArrayList_add($this.$children0, $this.$levelButton);
    ju_ArrayList_add($this.$children0, $this.$timeButton);
};
$java.maat_TMIPotionEffectControl_resize = function($this) {
    var var$1, var$2, var$3;
    $this.$typeButton0.$width3 = 88;
    $this.$closeButton0.$width3 = 16;
    $this.$levelButton.$width3 = 52;
    $this.$timeButton.$width3 = 52;
    $this.$typeButton0.$x5 = $this.$x5;
    $this.$typeButton0.$centerText = 0;
    $this.$closeButton0.$x5 = ($this.$typeButton0.$x5 + $this.$typeButton0.$width3 | 0) + 2 | 0;
    var$1 = $this.$closeButton0;
    var$2 = $this.$typeButton0;
    var$3 = $this.$y4;
    var$2.$y4 = var$3;
    var$1.$y4 = var$3;
    $this.$levelButton.$x5 = $this.$x5;
    $this.$timeButton.$x5 = ($this.$levelButton.$x5 + $this.$levelButton.$width3 | 0) + 2 | 0;
    var$1 = $this.$levelButton;
    var$2 = $this.$timeButton;
    var$3 = $this.$y4 + 18 | 0;
    var$2.$y4 = var$3;
    var$1.$y4 = var$3;
};
$java.maat_TMIPotionEffectControl_draw = function($this, $var1, $var2, $var3) {
    var var$4, var$5, $var4, $var5, $var6, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$show)
            return;
        a: {
            try {
                $this.$typeButton0.$label = nms_StatCollector_translateToLocal($java.nms_Potion_getName(nms_Potion_potionTypes.data[$this.$effectId0]));
                $this.$timeButton.$show = $java.maat_TMIPotionEffectControl_isInstant($this) ? 0 : 1;
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                } else {
                    throw $$e;
                }
            }
            $this.$typeButton0.$label = $rt_s(2683);
        }
        var$4 = $this.$levelButton;
        var$5 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$5);
        jl_AbstractStringBuilder_append(var$5, $rt_s(36));
        jl_AbstractStringBuilder_append2(var$5, $this.$level + 1 | 0);
        var$4.$label = jl_AbstractStringBuilder_toString(var$5);
        $var4 = $this.$tickDuration / 20 | 0;
        $var5 = $var4 / 60 | 0;
        $var6 = $var4 % 60 | 0;
        var$4 = $this.$timeButton;
        var$5 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$5);
        jl_AbstractStringBuilder_append(var$5, $rt_s(36));
        jl_AbstractStringBuilder_append2(var$5, $var5);
        jl_AbstractStringBuilder_append(var$5, $rt_s(272));
        jl_AbstractStringBuilder_append(var$5, $var6 >= 10 ? $rt_s(36) : $rt_s(87));
        jl_AbstractStringBuilder_append2(var$5, $var6);
        var$4.$label = jl_AbstractStringBuilder_toString(var$5);
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgWidget_drawChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, var$4, var$5, $var4, $var5, $var6, $ptr);
};
$java.maat_TMIPotionEffectControl_click = function($this, $var1, $var2, $var3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $tmp = $java.maat__tmi_MgWidget_delegateClickToChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
};
$java.maat_TMIPotionEffectControl_isInstant = function($this) {
    return $this.$effectId0 < nms_Potion_potionTypes.data.length && nms_Potion_potionTypes.data[$this.$effectId0] !== null && nms_Potion_potionTypes.data[$this.$effectId0].$isInstant() ? 1 : 0;
};
$java.maat_TMIPotionEffectControl_onButtonPress = function($this, $var1) {
    var $var2;
    if ($var1 instanceof jl_String) {
        $var2 = $var1;
        if (jl_String_equals($var2, $rt_s(2656))) {
            $java.maat_TMIPotionPanel_openEffectPicker($this.$panel0, $this);
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2648))) {
            $java.maat_TMIPotionPanel_removeEffectControl($this.$panel0, $this);
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(355))) {
            $this.$level = $this.$level + 1 | 0;
            if ($this.$level > 3)
                $this.$level = 0;
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2682))) {
            $this.$tickDuration = $this.$tickDuration + 600 | 0;
            if ($this.$tickDuration > 12000)
                $this.$tickDuration = 600;
            return 0;
        }
    }
    return 1;
};
$java.maat_TMIPotionEffectControl_onButtonRightClick = function($this, $var1) {
    var $var2;
    if ($var1 instanceof jl_String) {
        $var2 = $var1;
        if (jl_String_equals($var2, $rt_s(355))) {
            $this.$level = $this.$level - 1 | 0;
            if ($this.$level < 0)
                $this.$level = 3;
            return 0;
        }
        if (jl_String_equals($var2, $rt_s(2682))) {
            $this.$tickDuration = $this.$tickDuration - 600 | 0;
            if ($this.$tickDuration <= 0)
                $this.$tickDuration = 12000;
            return 0;
        }
    }
    return 1;
};
function ju_Random() {
    jl_Object.call(this);
}
$java.ju_Random__init_ = function() {
    var var_0 = new ju_Random();
    ju_Random__init_(var_0);
    return var_0;
};
function ju_Random__init_($this) {
    return;
}
$java.ju_Random_next = function($this, $bits) {
    if ($bits == 32)
        return $java.ju_Random_nextDouble($this) * 4.294967295E9 + (-2.147483648E9) | 0;
    return $java.ju_Random_nextDouble($this) * Long_toNumber(Long_shl(Long_fromInt(1), jl_Math_min(32, $bits))) | 0;
};
$java.ju_Random_nextInt = function($this) {
    return $java.ju_Random_next($this, 32);
};
function ju_Random_nextInt($this, $n) {
    return $java.ju_Random_nextDouble($this) * $n | 0;
}
$java.ju_Random_nextBoolean = function($this) {
    return $java.ju_Random_nextInt($this) % 2 | 0 ? 0 : 1;
};
$java.ju_Random_nextFloat = function($this) {
    return $java.ju_Random_nextDouble($this);
};
$java.ju_Random_nextDouble = function($this) {
    return Math.random();
};
function jl_ReflectiveOperationException() {
    jl_Exception.call(this);
}
$java.jl_ReflectiveOperationException__init_ = function() {
    var var_0 = new jl_ReflectiveOperationException();
    jl_ReflectiveOperationException__init_(var_0);
    return var_0;
};
function jl_ReflectiveOperationException__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_ClassNotFoundException() {
    jl_ReflectiveOperationException.call(this);
}
$java.jl_ClassNotFoundException__init_ = function() {
    var var_0 = new jl_ClassNotFoundException();
    jl_ClassNotFoundException__init_(var_0);
    return var_0;
};
function jl_ClassNotFoundException__init_($this) {
    jl_Throwable__init_0($this);
}
function maat_TMIItemMushroomCap() {
    nms_ItemBlock.call(this);
}
$java.maat_TMIItemMushroomCap__init_ = function(var_0) {
    var var_1 = new maat_TMIItemMushroomCap();
    $java.maat_TMIItemMushroomCap__init_0(var_1, var_0);
    return var_1;
};
$java.maat_TMIItemMushroomCap__init_0 = function($this, $var1) {
    $java.nms_ItemBlock__init_($this, $var1);
    $this.$maxDamage = 0;
    $this.$hasSubtypes = 1;
};
$java.maat_TMIItemMushroomCap_getMetadata = function($this, $var1) {
    return $var1;
};
function maat_TMIItemSpawner() {
    nms_ItemBlock.call(this);
}
$java.maat_TMIItemSpawner_onItemUse = function($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10) {
    var $var11, var$12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var11 = nms_World_getBlockId($var3, $var4, $var5, $var6);
        nms_Block_$callClinit();
        if ($var11 != nms_Block_vine.$blockID && $var11 != nms_Block_tallGrass.$blockID && $var11 != nms_Block_deadBush.$blockID) {
            $var4 = $var4 + ($var7 == 4 ? (-1) : $var7 != 5 ? 0 : 1) | 0;
            $var5 = $var5 + (!$var7 ? (-1) : $var7 != 1 ? 0 : 1) | 0;
            $var6 = $var6 + ($var7 == 2 ? (-1) : $var7 != 3 ? 0 : 1) | 0;
        }
        if (!nms_EntityPlayer_canPlayerEdit($var2, $var4, $var5, $var6, $var7, $var1))
            return 0;
        if (!nms_Block_mobSpawner.$canPlaceBlockAt($var3, $var4, $var5, $var6))
            return 0;
        var$12 = 52;
        $var11 = 0;
        $var7 = 3;
        $ptr = 1;
    case 1:
        nms_World_setBlock($var3, $var4, $var5, $var6, var$12, $var11, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $var1.$stackSize = $var1.$stackSize - 1 | 0;
        $ptr = 2;
    case 2:
        $tmp = nms_World_getBlockTileEntity($var3, $var4, $var5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        if ($var1 !== null) {
            ji_PrintStream_println(jl_System_out(), $rt_s(2684));
            return 0;
        }
        ji_PrintStream_println(jl_System_out(), $rt_s(2685));
        return 0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, var$12, $ptr);
};
function maat_TMIItemCrop() {
    nms_ItemBlock.call(this);
}
$java.maat_TMIItemCrop__init_0 = function(var_0) {
    var var_1 = new maat_TMIItemCrop();
    $java.maat_TMIItemCrop__init_(var_1, var_0);
    return var_1;
};
$java.maat_TMIItemCrop__init_ = function($this, $var1) {
    $java.nms_ItemBlock__init_($this, $var1);
    $this.$maxDamage = 0;
    $this.$hasSubtypes = 1;
};
$java.maat_TMIItemCrop_getMetadata = function($this, $var1) {
    return $var1;
};
function nlea_EaglerAdapterImpl2$AudioBufferX() {
    jl_Object.call(this);
    this.$buffer0 = null;
}
function nms_BiomeGenBase() {
    var a = this; jl_Object.call(a);
    a.$biomeName = null;
    a.$color0 = 0;
    a.$topBlock = 0;
    a.$fillerBlock = 0;
    a.$field_76754_C = 0;
    a.$minHeight = 0.0;
    a.$maxHeight0 = 0.0;
    a.$temperature = 0.0;
    a.$rainfall = 0.0;
    a.$waterColorMultiplier = 0;
    a.$spawnableMonsterList = null;
    a.$spawnableCreatureList = null;
    a.$spawnableWaterCreatureList = null;
    a.$spawnableCaveCreatureList = null;
    a.$enableSnow = 0;
    a.$enableRain = 0;
    a.$biomeID = 0;
}
$java.nms_BiomeGenBase_biomeList = null;
var nms_BiomeGenBase_ocean = null;
$java.nms_BiomeGenBase_plains = null;
$java.nms_BiomeGenBase_desert = null;
$java.nms_BiomeGenBase_extremeHills = null;
$java.nms_BiomeGenBase_forest = null;
$java.nms_BiomeGenBase_taiga = null;
$java.nms_BiomeGenBase_swampland = null;
$java.nms_BiomeGenBase_river = null;
$java.nms_BiomeGenBase_hell = null;
$java.nms_BiomeGenBase_sky = null;
$java.nms_BiomeGenBase_frozenOcean = null;
$java.nms_BiomeGenBase_frozenRiver = null;
$java.nms_BiomeGenBase_icePlains = null;
$java.nms_BiomeGenBase_iceMountains = null;
$java.nms_BiomeGenBase_mushroomIsland = null;
$java.nms_BiomeGenBase_mushroomIslandShore = null;
$java.nms_BiomeGenBase_beach = null;
$java.nms_BiomeGenBase_desertHills = null;
$java.nms_BiomeGenBase_forestHills = null;
$java.nms_BiomeGenBase_taigaHills = null;
$java.nms_BiomeGenBase_extremeHillsEdge = null;
$java.nms_BiomeGenBase_jungle = null;
$java.nms_BiomeGenBase_jungleHills = null;
$java.nms_BiomeGenBase__init_ = function(var_0) {
    var var_1 = new nms_BiomeGenBase();
    $java.nms_BiomeGenBase__init_0(var_1, var_0);
    return var_1;
};
$java.nms_BiomeGenBase__init_0 = function($this, $par1) {
    nms_Block_$callClinit();
    $this.$topBlock = nms_Block_grass.$blockID << 24 >> 24;
    $this.$fillerBlock = nms_Block_dirt.$blockID << 24 >> 24;
    $this.$field_76754_C = 5169201;
    $this.$minHeight = 0.10000000149011612;
    $this.$maxHeight0 = 0.30000001192092896;
    $this.$temperature = 0.5;
    $this.$rainfall = 0.5;
    $this.$waterColorMultiplier = 16777215;
    $this.$spawnableMonsterList = ju_ArrayList__init_0();
    $this.$spawnableCreatureList = ju_ArrayList__init_0();
    $this.$spawnableWaterCreatureList = ju_ArrayList__init_0();
    $this.$spawnableCaveCreatureList = ju_ArrayList__init_0();
    $this.$enableRain = 1;
    $this.$biomeID = $par1;
    $java.nms_BiomeGenBase_biomeList.data[$par1] = $this;
};
$java.nms_BiomeGenBase_setTemperatureRainfall = function($this, $par1, $par2) {
    var var$3;
    if ($par1 > 0.10000000149011612 && $par1 < 0.20000000298023224) {
        var$3 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$3, $rt_s(2686));
        $rt_throw(var$3);
    }
    $this.$temperature = $par1;
    $this.$rainfall = $par2;
    return $this;
};
$java.nms_BiomeGenBase_setMinMaxHeight = function($this, $par1, $par2) {
    $this.$minHeight = $par1;
    $this.$maxHeight0 = $par2;
    return $this;
};
$java.nms_BiomeGenBase_setDisableRain = function($this) {
    $this.$enableRain = 0;
    return $this;
};
$java.nms_BiomeGenBase_setEnableSnow = function($this) {
    $this.$enableSnow = 1;
    return $this;
};
$java.nms_BiomeGenBase_setBiomeName = function($this, $par1Str) {
    $this.$biomeName = $par1Str;
    return $this;
};
$java.nms_BiomeGenBase_func_76733_a = function($this, $par1) {
    $this.$field_76754_C = $par1;
    return $this;
};
$java.nms_BiomeGenBase_setColor = function($this, $par1) {
    $this.$color0 = $par1;
    return $this;
};
function nms_BiomeGenBase_getSkyColorByTemp($this, $par1) {
    var var$2;
    var$2 = $par1 / 3.0;
    if (var$2 < (-1.0))
        var$2 = (-1.0);
    if (var$2 > 1.0)
        var$2 = 1.0;
    return nms_BiomeGenBase_HSBtoRGB(0.6222222447395325 - var$2 * 0.05000000074505806, 0.5 + var$2 * 0.10000000149011612, 1.0);
}
function nms_BiomeGenBase_HSBtoRGB($hue, $saturation, $brightness) {
    var $r, $g, $b, $h, $f, $p, $q, $t;
    a: {
        $r = 0;
        $g = 0;
        $b = 0;
        if ($saturation === 0.0) {
            $r = $brightness * 255.0 + 0.5 | 0;
            $b = $r;
            $g = $r;
        } else {
            $h = ($hue - jl_Math_floor($hue)) * 6.0;
            $f = $h - jl_Math_floor($h);
            $p = $brightness * (1.0 - $saturation);
            $q = $brightness * (1.0 - $saturation * $f);
            $t = $brightness * (1.0 - $saturation * (1.0 - $f));
            switch ($h | 0) {
                case 0:
                    $r = $brightness * 255.0 + 0.5 | 0;
                    $g = $t * 255.0 + 0.5 | 0;
                    $b = $p * 255.0 + 0.5 | 0;
                    break a;
                case 1:
                    $r = $q * 255.0 + 0.5 | 0;
                    $g = $brightness * 255.0 + 0.5 | 0;
                    $b = $p * 255.0 + 0.5 | 0;
                    break a;
                case 2:
                    $r = $p * 255.0 + 0.5 | 0;
                    $g = $brightness * 255.0 + 0.5 | 0;
                    $b = $t * 255.0 + 0.5 | 0;
                    break a;
                case 3:
                    $r = $p * 255.0 + 0.5 | 0;
                    $g = $q * 255.0 + 0.5 | 0;
                    $b = $brightness * 255.0 + 0.5 | 0;
                    break a;
                case 4:
                    $r = $t * 255.0 + 0.5 | 0;
                    $g = $p * 255.0 + 0.5 | 0;
                    $b = $brightness * 255.0 + 0.5 | 0;
                    break a;
                case 5:
                    $r = $brightness * 255.0 + 0.5 | 0;
                    $g = $p * 255.0 + 0.5 | 0;
                    $b = $q * 255.0 + 0.5 | 0;
                    break a;
                default:
            }
        }
    }
    return (-16777216) | $r << 16 | $g << 8 | $b << 0;
}
function nms_BiomeGenBase_getEnableSnow($this) {
    return $this.$enableSnow;
}
function nms_BiomeGenBase_canSpawnLightningBolt($this) {
    return !$this.$enableSnow ? $this.$enableRain : 0;
}
$java.nms_BiomeGenBase_getFloatRainfall = function($this) {
    return $this.$rainfall;
};
function nms_BiomeGenBase_getFloatTemperature($this) {
    return $this.$temperature;
}
$java.nms_BiomeGenBase_getBiomeGrassColor = function($this) {
    if ($this.$biomeID == 6)
        return 6975545;
    return nms_ColorizerGrass_getGrassColor(nms_MathHelper_clamp_float($this.$temperature, 0.0, 1.0), nms_MathHelper_clamp_float($this.$rainfall, 0.0, 1.0));
};
$java.nms_BiomeGenBase_getBiomeFoliageColor = function($this) {
    if ($this.$biomeID == 6)
        return 6975545;
    return nms_ColorizerFoliage_getFoliageColor(nms_MathHelper_clamp_float($this.$temperature, 0.0, 1.0), nms_MathHelper_clamp_float($this.$rainfall, 0.0, 1.0));
};
function nms_BiomeGenBase__clinit_() {
    $java.nms_BiomeGenBase_biomeList = $rt_createArray(nms_BiomeGenBase, 256);
    nms_BiomeGenBase_ocean = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(0), 112), $rt_s(2687)), (-1.0), 0.4000000059604645);
    $java.nms_BiomeGenBase_plains = $java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(1), 9286496), $rt_s(2688)), 0.800000011920929, 0.4000000059604645);
    $java.nms_BiomeGenBase_desert = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setDisableRain($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(2), 16421912), $rt_s(2689))), 2.0, 0.0), 0.10000000149011612, 0.20000000298023224);
    $java.nms_BiomeGenBase_extremeHills = $java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(3), 6316128), $rt_s(2690)), 0.30000001192092896, 1.5), 0.20000000298023224, 0.30000001192092896);
    $java.nms_BiomeGenBase_forest = $java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_func_76733_a($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(4), 353825), $rt_s(2691)), 5159473), 0.699999988079071, 0.800000011920929);
    $java.nms_BiomeGenBase_taiga = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setEnableSnow($java.nms_BiomeGenBase_func_76733_a($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(5), 747097), $rt_s(2692)), 5159473)), 0.05000000074505806, 0.800000011920929), 0.10000000149011612, 0.4000000059604645);
    $java.nms_BiomeGenBase_swampland = $java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_func_76733_a($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(6), 522674), $rt_s(2693)), 9154376), (-0.20000000298023224), 0.10000000149011612), 0.800000011920929, 0.8999999761581421);
    $java.nms_BiomeGenBase_river = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(7), 255), $rt_s(2694)), (-0.5), 0.0);
    $java.nms_BiomeGenBase_hell = $java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setDisableRain($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(8), 16711680), $rt_s(2695))), 2.0, 0.0);
    $java.nms_BiomeGenBase_sky = $java.nms_BiomeGenBase_setDisableRain($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(9), 8421631), $rt_s(2696)));
    $java.nms_BiomeGenBase_frozenOcean = $java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setEnableSnow($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(10), 9474208), $rt_s(2697))), (-1.0), 0.5), 0.0, 0.5);
    $java.nms_BiomeGenBase_frozenRiver = $java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setEnableSnow($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(11), 10526975), $rt_s(2698))), (-0.5), 0.0), 0.0, 0.5);
    $java.nms_BiomeGenBase_icePlains = $java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setEnableSnow($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(12), 16777215), $rt_s(2699))), 0.0, 0.5);
    $java.nms_BiomeGenBase_iceMountains = $java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setEnableSnow($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(13), 10526880), $rt_s(2700))), 0.30000001192092896, 1.2999999523162842), 0.0, 0.5);
    $java.nms_BiomeGenBase_mushroomIsland = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(14), 16711935), $rt_s(2701)), 0.8999999761581421, 1.0), 0.20000000298023224, 1.0);
    $java.nms_BiomeGenBase_mushroomIslandShore = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(15), 10486015), $rt_s(2702)), 0.8999999761581421, 1.0), (-1.0), 0.10000000149011612);
    $java.nms_BiomeGenBase_beach = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(16), 16440917), $rt_s(2703)), 0.800000011920929, 0.4000000059604645), 0.0, 0.10000000149011612);
    $java.nms_BiomeGenBase_desertHills = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setDisableRain($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(17), 13786898), $rt_s(2704))), 2.0, 0.0), 0.30000001192092896, 0.800000011920929);
    $java.nms_BiomeGenBase_forestHills = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_func_76733_a($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(18), 2250012), $rt_s(2705)), 5159473), 0.699999988079071, 0.800000011920929), 0.30000001192092896, 0.699999988079071);
    $java.nms_BiomeGenBase_taigaHills = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_func_76733_a($java.nms_BiomeGenBase_setEnableSnow($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(19), 1456435), $rt_s(2706))), 5159473), 0.05000000074505806, 0.800000011920929), 0.30000001192092896, 0.800000011920929);
    $java.nms_BiomeGenBase_extremeHillsEdge = $java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(20), 7501978), $rt_s(2707)), 0.20000000298023224, 0.800000011920929), 0.20000000298023224, 0.30000001192092896);
    $java.nms_BiomeGenBase_jungle = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_func_76733_a($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(21), 5470985), $rt_s(2708)), 5470985), 1.2000000476837158, 0.8999999761581421), 0.20000000298023224, 0.4000000059604645);
    $java.nms_BiomeGenBase_jungleHills = $java.nms_BiomeGenBase_setMinMaxHeight($java.nms_BiomeGenBase_setTemperatureRainfall($java.nms_BiomeGenBase_func_76733_a($java.nms_BiomeGenBase_setBiomeName($java.nms_BiomeGenBase_setColor($java.nms_BiomeGenBase__init_(22), 2900485), $rt_s(2709)), 5470985), 1.2000000476837158, 0.8999999761581421), 1.7999999523162842, 0.5);
}
function jt_DecimalFormat$1() {
    jl_Object.call(this);
}
var jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode = null;
function jt_DecimalFormat$1_$callClinit() {
    jt_DecimalFormat$1_$callClinit = $rt_eraseClinit(jt_DecimalFormat$1);
    $java.jt_DecimalFormat$1__clinit_();
}
$java.jt_DecimalFormat$1__clinit_ = function() {
    var $$je;
    jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode = $rt_createIntArray(jm_RoundingMode_$VALUES.$clone().data.length);
    a: {
        try {
            jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode.data[jl_Enum_ordinal(jm_RoundingMode_CEILING)] = 1;
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    b: {
        try {
            jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode.data[jl_Enum_ordinal(jm_RoundingMode_FLOOR)] = 2;
            break b;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    c: {
        try {
            jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode.data[jl_Enum_ordinal(jm_RoundingMode_UP)] = 3;
            break c;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    d: {
        try {
            jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode.data[jl_Enum_ordinal(jm_RoundingMode_DOWN)] = 4;
            break d;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    e: {
        try {
            jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode.data[jl_Enum_ordinal(jm_RoundingMode_UNNECESSARY)] = 5;
            break e;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    f: {
        try {
            jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode.data[jl_Enum_ordinal(jm_RoundingMode_HALF_DOWN)] = 6;
            break f;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    g: {
        try {
            jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode.data[jl_Enum_ordinal(jm_RoundingMode_HALF_UP)] = 7;
            break g;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    h: {
        try {
            jt_DecimalFormat$1_$SwitchMap$org$teavm$classlib$java$math$TRoundingMode.data[jl_Enum_ordinal(jm_RoundingMode_HALF_EVEN)] = 8;
            break h;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
};
function ju_Arrays$ArrayAsList() {
    ju_AbstractList.call(this);
    this.$array2 = null;
}
$java.ju_Arrays$ArrayAsList_get = function($this, $index) {
    return $this.$array2.data[$index];
};
$java.ju_Arrays$ArrayAsList_set = function($this, $index, $element) {
    var $old;
    $old = $this.$array2.data[$index];
    $this.$array2.data[$index] = $element;
    return $old;
};
function ju_Arrays$ArrayAsList_size($this) {
    return $this.$array2.data.length;
}
function otjw_DecodeSuccessCallback() {
}
function nlea_EaglerAdapterImpl2$21() {
    jl_Object.call(this);
    this.$val$cb2 = null;
}
$java.nlea_EaglerAdapterImpl2$21_onSuccess = function($this, $decodedData) {
    otpp_AsyncCallbackWrapper_complete($this.$val$cb2, $decodedData);
};
$java.nlea_EaglerAdapterImpl2$21_onSuccess$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$21_onSuccess(var$0, var$1);
};
function otjw_DecodeErrorCallback() {
}
function nlea_EaglerAdapterImpl2$22() {
    jl_Object.call(this);
    this.$val$cb3 = null;
}
$java.nlea_EaglerAdapterImpl2$22_onError = function($this, $error) {
    otpp_AsyncCallbackWrapper_complete($this.$val$cb3, null);
};
$java.nlea_EaglerAdapterImpl2$22_onError$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$22_onError(var$0, var$1);
};
function jm_Multiplication() {
    jl_Object.call(this);
}
$java.jm_Multiplication_tenPows = null;
$java.jm_Multiplication_fivePows = null;
$java.jm_Multiplication_bigTenPows = null;
$java.jm_Multiplication_bigFivePows = null;
$java.jm_Multiplication_$callClinit = function() {
    $java.jm_Multiplication_$callClinit = $rt_eraseClinit(jm_Multiplication);
    $java.jm_Multiplication__clinit_();
};
$java.jm_Multiplication__init_ = function() {
    var var_0 = new jm_Multiplication();
    jm_Multiplication__init_(var_0);
    return var_0;
};
function jm_Multiplication__init_($this) {
    $java.jm_Multiplication_$callClinit();
}
$java.jm_Multiplication_karatsuba = function($op1, $op2) {
    var $upperOp1, $ndiv2, $upperOp2, $lowerOp1, $lowerOp2, $upper, $lower, var$10, var$11, var$12, var$13, var$14, var$15, var$16, var$17, var$18, var$19, var$20, var$21, var$22, var$23;
    $java.jm_Multiplication_$callClinit();
    if ($op2.$numberLength <= $op1.$numberLength) {
        $upperOp1 = $op2;
        $op2 = $op1;
        $op1 = $upperOp1;
    }
    if ($op1.$numberLength >= 63) {
        $ndiv2 = ($op2.$numberLength & (-2)) << 4;
        $upperOp1 = $java.jm_BigInteger_shiftRight($op2, $ndiv2);
        $upperOp2 = $java.jm_BigInteger_shiftRight($op1, $ndiv2);
        $lowerOp1 = jm_BigInteger_subtract($op2, $java.jm_BigInteger_shiftLeft($upperOp1, $ndiv2));
        $lowerOp2 = jm_BigInteger_subtract($op1, $java.jm_BigInteger_shiftLeft($upperOp2, $ndiv2));
        $upper = $java.jm_Multiplication_karatsuba($upperOp1, $upperOp2);
        $lower = $java.jm_Multiplication_karatsuba($lowerOp1, $lowerOp2);
        $op1 = $java.jm_BigInteger_shiftLeft(jm_BigInteger_add(jm_BigInteger_add($java.jm_Multiplication_karatsuba(jm_BigInteger_subtract($upperOp1, $lowerOp1), jm_BigInteger_subtract($lowerOp2, $upperOp2)), $upper), $lower), $ndiv2);
        return jm_BigInteger_add(jm_BigInteger_add($java.jm_BigInteger_shiftLeft($upper, $ndiv2 << 1), $op1), $lower);
    }
    $ndiv2 = $op2.$numberLength;
    var$10 = $op1.$numberLength;
    var$11 = $ndiv2 + var$10 | 0;
    var$12 = $op2.$sign1 == $op1.$sign1 ? 1 : (-1);
    if (var$11 == 2) {
        var$13 = $java.jm_Multiplication_unsignedMultAddAdd($op2.$digits.data[0], $op1.$digits.data[0], 0, 0);
        $ndiv2 = var$13.lo;
        var$10 = var$13.hi;
        if (!var$10)
            $op1 = $java.jm_BigInteger__init_1(var$12, $ndiv2);
        else {
            $op1 = new jm_BigInteger;
            var$14 = $rt_createIntArray(2);
            var$15 = var$14.data;
            var$15[0] = $ndiv2;
            var$15[1] = var$10;
            $java.jm_BigInteger__init_2($op1, var$12, 2, var$14);
        }
    } else {
        var$16 = $op2.$digits;
        var$17 = $op1.$digits;
        var$18 = $rt_createIntArray(var$11);
        if ($ndiv2 && var$10) {
            if ($ndiv2 == 1) {
                var$14 = var$16.data;
                var$18.data[var$10] = $java.jm_Multiplication_multiplyByInt(var$18, var$17, var$10, var$14[0]);
            } else if (var$10 == 1) {
                var$14 = var$17.data;
                var$18.data[$ndiv2] = $java.jm_Multiplication_multiplyByInt(var$18, var$16, $ndiv2, var$14[0]);
            } else if (var$16 === var$17 && $ndiv2 == var$10)
                $java.jm_Multiplication_square(var$16, $ndiv2, var$18);
            else {
                var$15 = var$18.data;
                var$19 = 0;
                while (var$19 < $ndiv2) {
                    var$14 = var$16.data;
                    var$13 = Long_ZERO;
                    var$20 = var$14[var$19];
                    var$21 = 0;
                    while (var$21 < var$10) {
                        var$22 = var$17.data[var$21];
                        var$23 = var$19 + var$21 | 0;
                        var$13 = $java.jm_Multiplication_unsignedMultAddAdd(var$20, var$22, var$15[var$23], var$13.lo);
                        var$15[var$23] = var$13.lo;
                        var$13 = Long_shru(var$13, 32);
                        var$21 = var$21 + 1 | 0;
                    }
                    var$15[var$19 + var$10 | 0] = var$13.lo;
                    var$19 = var$19 + 1 | 0;
                }
            }
        }
        $op1 = $java.jm_BigInteger__init_0(var$12, var$11, var$18);
        $java.jm_BigInteger_cutOffLeadingZeroes($op1);
    }
    return $op1;
};
$java.jm_Multiplication_multiplyByInt = function($res, $a, $aSize, $factor) {
    var $carry, $i, var$7;
    $java.jm_Multiplication_$callClinit();
    $carry = Long_ZERO;
    $i = 0;
    while ($i < $aSize) {
        var$7 = $res.data;
        $carry = $java.jm_Multiplication_unsignedMultAddAdd($a.data[$i], $factor, $carry.lo, 0);
        var$7[$i] = $carry.lo;
        $carry = Long_shru($carry, 32);
        $i = $i + 1 | 0;
    }
    return $carry.lo;
};
$java.jm_Multiplication_square = function($a, $aLen, $res) {
    var $i, $carry, $i_0, $j, var$8, var$9, $index, var$11, var$12;
    $java.jm_Multiplication_$callClinit();
    $i = 0;
    while ($i < $aLen) {
        $carry = Long_ZERO;
        $i_0 = $i + 1 | 0;
        $j = $i_0;
        while ($j < $aLen) {
            var$8 = $res.data;
            var$9 = $a.data;
            $index = var$9[$i];
            var$11 = var$9[$j];
            var$12 = $i + $j | 0;
            $carry = $java.jm_Multiplication_unsignedMultAddAdd($index, var$11, var$8[var$12], $carry.lo);
            var$8[var$12] = $carry.lo;
            $carry = Long_shru($carry, 32);
            $j = $j + 1 | 0;
        }
        $res.data[$i + $aLen | 0] = $carry.lo;
        $i = $i_0;
    }
    $java.jm_BitLevel_shiftLeftOneBit($res, $res, $aLen << 1);
    $carry = Long_ZERO;
    $i = 0;
    $index = 0;
    while ($i < $aLen) {
        var$8 = $res.data;
        var$9 = $a.data;
        $carry = $java.jm_Multiplication_unsignedMultAddAdd(var$9[$i], var$9[$i], var$8[$index], $carry.lo);
        var$8[$index] = $carry.lo;
        $carry = Long_shru($carry, 32);
        $i_0 = $index + 1 | 0;
        $carry = Long_add($carry, Long_and(Long_fromInt(var$8[$i_0]), new Long(4294967295, 0)));
        var$8[$i_0] = $carry.lo;
        $carry = Long_shru($carry, 32);
        $i = $i + 1 | 0;
        $index = $i_0 + 1 | 0;
    }
    return $res;
};
$java.jm_Multiplication_powerOf10 = function($exp) {
    var $intExp, $powerOfFive, $longExp, var$5;
    $java.jm_Multiplication_$callClinit();
    $intExp = $exp.lo;
    if (Long_lt($exp, Long_fromInt($java.jm_Multiplication_bigTenPows.data.length)))
        return $java.jm_Multiplication_bigTenPows.data[$intExp];
    if (Long_le($exp, Long_fromInt(50)))
        return $java.jm_BigInteger_pow(jm_BigInteger_TEN, $intExp);
    if (Long_le($exp, Long_fromInt(1000)))
        return $java.jm_BigInteger_shiftLeft($java.jm_BigInteger_pow($java.jm_Multiplication_bigFivePows.data[1], $intExp), $intExp);
    if (Long_gt(Long_add(Long_fromInt(1), Long_fromNumber(Long_toNumber($exp) / 2.4082399653118496)), Long_fromInt(1000000))) {
        $powerOfFive = new jl_ArithmeticException;
        jl_Throwable__init_($powerOfFive, $rt_s(2710));
        $rt_throw($powerOfFive);
    }
    if (Long_le($exp, Long_fromInt(2147483647)))
        return $java.jm_BigInteger_shiftLeft($java.jm_BigInteger_pow($java.jm_Multiplication_bigFivePows.data[1], $intExp), $intExp);
    $powerOfFive = $java.jm_BigInteger_pow($java.jm_Multiplication_bigFivePows.data[1], 2147483647);
    $longExp = Long_sub($exp, Long_fromInt(2147483647));
    $intExp = Long_rem($exp, Long_fromInt(2147483647)).lo;
    var$5 = $powerOfFive;
    $exp = $longExp;
    while (Long_gt($exp, Long_fromInt(2147483647))) {
        var$5 = jm_BigInteger_multiply(var$5, $powerOfFive);
        $exp = Long_sub($exp, Long_fromInt(2147483647));
    }
    $powerOfFive = $java.jm_BigInteger_shiftLeft(jm_BigInteger_multiply(var$5, $java.jm_BigInteger_pow($java.jm_Multiplication_bigFivePows.data[1], $intExp)), 2147483647);
    while (Long_gt($longExp, Long_fromInt(2147483647))) {
        $powerOfFive = $java.jm_BigInteger_shiftLeft($powerOfFive, 2147483647);
        $longExp = Long_sub($longExp, Long_fromInt(2147483647));
    }
    return $java.jm_BigInteger_shiftLeft($powerOfFive, $intExp);
};
$java.jm_Multiplication_unsignedMultAddAdd = function($a, $b, $c, $d) {
    $java.jm_Multiplication_$callClinit();
    return Long_add(Long_add(Long_mul(Long_and(Long_fromInt($a), new Long(4294967295, 0)), Long_and(Long_fromInt($b), new Long(4294967295, 0))), Long_and(Long_fromInt($c), new Long(4294967295, 0))), Long_and(Long_fromInt($d), new Long(4294967295, 0)));
};
$java.jm_Multiplication__clinit_ = function() {
    var var$1, var$2, $fivePow, $i, var$5;
    var$1 = $rt_createIntArray(10);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 10;
    var$2[2] = 100;
    var$2[3] = 1000;
    var$2[4] = 10000;
    var$2[5] = 100000;
    var$2[6] = 1000000;
    var$2[7] = 10000000;
    var$2[8] = 100000000;
    var$2[9] = 1000000000;
    $java.jm_Multiplication_tenPows = var$1;
    var$1 = $rt_createIntArray(14);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 5;
    var$2[2] = 25;
    var$2[3] = 125;
    var$2[4] = 625;
    var$2[5] = 3125;
    var$2[6] = 15625;
    var$2[7] = 78125;
    var$2[8] = 390625;
    var$2[9] = 1953125;
    var$2[10] = 9765625;
    var$2[11] = 48828125;
    var$2[12] = 244140625;
    var$2[13] = 1220703125;
    $java.jm_Multiplication_fivePows = var$1;
    $java.jm_Multiplication_bigTenPows = $rt_createArray(jm_BigInteger, 32);
    $java.jm_Multiplication_bigFivePows = $rt_createArray(jm_BigInteger, 32);
    $fivePow = Long_fromInt(1);
    $i = 0;
    while ($i <= 18) {
        $java.jm_Multiplication_bigFivePows.data[$i] = jm_BigInteger_valueOf($fivePow);
        $java.jm_Multiplication_bigTenPows.data[$i] = jm_BigInteger_valueOf(Long_shl($fivePow, $i));
        $fivePow = Long_mul($fivePow, Long_fromInt(5));
        $i = $i + 1 | 0;
    }
    while ($i < $java.jm_Multiplication_bigTenPows.data.length) {
        var$2 = $java.jm_Multiplication_bigFivePows.data;
        var$1 = $java.jm_Multiplication_bigFivePows.data;
        var$5 = $i - 1 | 0;
        var$2[$i] = jm_BigInteger_multiply(var$1[var$5], $java.jm_Multiplication_bigFivePows.data[1]);
        $java.jm_Multiplication_bigTenPows.data[$i] = jm_BigInteger_multiply($java.jm_Multiplication_bigTenPows.data[var$5], jm_BigInteger_TEN);
        $i = $i + 1 | 0;
    }
};
function nms_GuiTextField() {
    var a = this; nms_Gui.call(a);
    a.$fontRenderer3 = null;
    a.$xPos = 0;
    a.$yPos = 0;
    a.$width5 = 0;
    a.$height7 = 0;
    a.$text0 = null;
    a.$maxStringLength = 0;
    a.$cursorCounter = 0;
    a.$enableBackgroundDrawing = 0;
    a.$canLoseFocus = 0;
    a.$isFocused0 = 0;
    a.$isEnabled = 0;
    a.$lineScrollOffset = 0;
    a.$cursorPosition = 0;
    a.$selectionEnd = 0;
    a.$enabledColor = 0;
    a.$disabledColor = 0;
    a.$visible = 0;
}
function nms_GuiTextField__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_GuiTextField();
    $java.nms_GuiTextField__init_(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
$java.nms_GuiTextField__init_ = function($this, $par1FontRenderer, $par2, $par3, $par4, $par5) {
    nms_Gui__init_($this);
    $this.$text0 = $rt_s(36);
    $this.$maxStringLength = 32;
    $this.$enableBackgroundDrawing = 1;
    $this.$canLoseFocus = 1;
    $this.$isFocused0 = 0;
    $this.$isEnabled = 1;
    $this.$lineScrollOffset = 0;
    $this.$cursorPosition = 0;
    $this.$selectionEnd = 0;
    $this.$enabledColor = 14737632;
    $this.$disabledColor = 7368816;
    $this.$visible = 1;
    $this.$fontRenderer3 = $par1FontRenderer;
    $this.$xPos = $par2;
    $this.$yPos = $par3;
    $this.$width5 = $par4;
    $this.$height7 = $par5;
};
function nms_GuiTextField_updateCursorCounter($this) {
    $this.$cursorCounter = $this.$cursorCounter + 1 | 0;
}
function nms_GuiTextField_setText($this, $par1Str) {
    if (jl_String_equals($this.$text0, $par1Str))
        return;
    if (jl_String_length($par1Str) <= $this.$maxStringLength)
        $this.$text0 = $par1Str;
    else
        $this.$text0 = jl_String_substring0($par1Str, 0, $this.$maxStringLength);
    $java.nms_GuiTextField_setCursorPositionEnd($this);
}
$java.nms_GuiTextField_getText = function($this) {
    return $this.$text0;
};
$java.nms_GuiTextField_getSelectedtext = function($this) {
    var $var1, $var2;
    $var1 = $this.$cursorPosition >= $this.$selectionEnd ? $this.$selectionEnd : $this.$cursorPosition;
    $var2 = $this.$cursorPosition >= $this.$selectionEnd ? $this.$cursorPosition : $this.$selectionEnd;
    return jl_String_substring0($this.$text0, $var1, $var2);
};
function nms_GuiTextField_writeText($this, $par1Str) {
    var $var2, var$3, var$4, $var4, var$6, $var5, $var8;
    $var2 = $rt_s(36);
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    var$4 = jl_String_toCharArray($par1Str).data;
    $var4 = var$4.length;
    var$6 = 0;
    while (var$6 < $var4) {
        $var5 = var$4[var$6];
        if (nms_ChatAllowedCharacters_isAllowedCharacter($var5))
            jl_AbstractStringBuilder_append0(var$3, $var5);
        var$6 = var$6 + 1 | 0;
    }
    var$3 = jl_AbstractStringBuilder_toString(var$3);
    $var4 = $this.$cursorPosition >= $this.$selectionEnd ? $this.$selectionEnd : $this.$cursorPosition;
    $var5 = $this.$cursorPosition >= $this.$selectionEnd ? $this.$cursorPosition : $this.$selectionEnd;
    $var8 = ($this.$maxStringLength - jl_String_length($this.$text0) | 0) - ($var4 - $this.$selectionEnd | 0) | 0;
    if (jl_String_length($this.$text0) > 0) {
        $par1Str = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1Str);
        jl_AbstractStringBuilder_append($par1Str, $var2);
        jl_AbstractStringBuilder_append($par1Str, jl_String_substring0($this.$text0, 0, $var4));
        $var2 = jl_AbstractStringBuilder_toString($par1Str);
    }
    if ($var8 >= jl_String_length(var$3)) {
        $par1Str = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1Str);
        jl_AbstractStringBuilder_append($par1Str, $var2);
        jl_AbstractStringBuilder_append($par1Str, var$3);
        $var2 = jl_AbstractStringBuilder_toString($par1Str);
        $var8 = jl_String_length(var$3);
    } else {
        $par1Str = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1Str);
        jl_AbstractStringBuilder_append($par1Str, $var2);
        jl_AbstractStringBuilder_append($par1Str, jl_String_substring0(var$3, 0, $var8));
        $var2 = jl_AbstractStringBuilder_toString($par1Str);
    }
    if (jl_String_length($this.$text0) > 0 && $var5 < jl_String_length($this.$text0)) {
        $par1Str = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1Str);
        jl_AbstractStringBuilder_append($par1Str, $var2);
        jl_AbstractStringBuilder_append($par1Str, jl_String_substring($this.$text0, $var5));
        $var2 = jl_AbstractStringBuilder_toString($par1Str);
    }
    $this.$text0 = $var2;
    $java.nms_GuiTextField_moveCursorBy($this, ($var4 - $this.$selectionEnd | 0) + $var8 | 0);
}
$java.nms_GuiTextField_deleteWords = function($this, $par1) {
    if (jl_String_length($this.$text0)) {
        if ($this.$selectionEnd != $this.$cursorPosition)
            nms_GuiTextField_writeText($this, $rt_s(36));
        else
            nms_GuiTextField_deleteFromCursor($this, $java.nms_GuiTextField_getNthWordFromCursor($this, $par1) - $this.$cursorPosition | 0);
    }
};
function nms_GuiTextField_deleteFromCursor($this, $par1) {
    var $var2, $var3, $var4, $var5, var$6;
    if (jl_String_length($this.$text0)) {
        if ($this.$selectionEnd != $this.$cursorPosition)
            nms_GuiTextField_writeText($this, $rt_s(36));
        else {
            $var2 = $par1 >= 0 ? 0 : 1;
            $var3 = !$var2 ? $this.$cursorPosition : $this.$cursorPosition + $par1 | 0;
            $var4 = $var2 ? $this.$cursorPosition : $this.$cursorPosition + $par1 | 0;
            $var5 = $rt_s(36);
            if ($var3 >= 0)
                $var5 = jl_String_substring0($this.$text0, 0, $var3);
            if ($var4 < jl_String_length($this.$text0)) {
                var$6 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$6);
                jl_AbstractStringBuilder_append(var$6, $var5);
                jl_AbstractStringBuilder_append(var$6, jl_String_substring($this.$text0, $var4));
                $var5 = jl_AbstractStringBuilder_toString(var$6);
            }
            $this.$text0 = $var5;
            if ($var2)
                $java.nms_GuiTextField_moveCursorBy($this, $par1);
        }
    }
}
$java.nms_GuiTextField_getNthWordFromCursor = function($this, $par1) {
    return $java.nms_GuiTextField_getNthWordFromPos($this, $par1, $this.$cursorPosition);
};
$java.nms_GuiTextField_getNthWordFromPos = function($this, $par1, $par2) {
    return nms_GuiTextField_func_73798_a($this, $par1, $this.$cursorPosition, 1);
};
function nms_GuiTextField_func_73798_a($this, $par1, $par2, $par3) {
    var $var5, $var6, $var7, $var8;
    $var5 = $par1 >= 0 ? 0 : 1;
    $var6 = jl_Math_abs($par1);
    $var7 = 0;
    while ($var7 < $var6) {
        a: {
            if (!$var5) {
                $var8 = jl_String_length($this.$text0);
                $par2 = jl_String_indexOf($this.$text0, 32, $par2);
                if ($par2 == (-1))
                    $par2 = $var8;
                else
                    while ($par3) {
                        if ($par2 >= $var8)
                            break a;
                        if (jl_String_charAt($this.$text0, $par2) != 32)
                            break a;
                        $par2 = $par2 + 1 | 0;
                    }
            } else {
                b: {
                    while ($par3) {
                        if ($par2 <= 0)
                            break b;
                        if (jl_String_charAt($this.$text0, $par2 - 1 | 0) != 32)
                            break b;
                        $par2 = $par2 + (-1) | 0;
                    }
                }
                while ($par2 > 0) {
                    if (jl_String_charAt($this.$text0, $par2 - 1 | 0) == 32)
                        break a;
                    $par2 = $par2 + (-1) | 0;
                }
            }
        }
        $var7 = $var7 + 1 | 0;
    }
    return $par2;
}
$java.nms_GuiTextField_moveCursorBy = function($this, $par1) {
    $java.nms_GuiTextField_setCursorPosition($this, $this.$selectionEnd + $par1 | 0);
};
$java.nms_GuiTextField_setCursorPosition = function($this, $par1) {
    var $var2;
    $this.$cursorPosition = $par1;
    $var2 = jl_String_length($this.$text0);
    if ($this.$cursorPosition < 0)
        $this.$cursorPosition = 0;
    if ($this.$cursorPosition > $var2)
        $this.$cursorPosition = $var2;
    $java.nms_GuiTextField_setSelectionPos($this, $this.$cursorPosition);
};
$java.nms_GuiTextField_setCursorPositionZero = function($this) {
    $java.nms_GuiTextField_setCursorPosition($this, 0);
};
$java.nms_GuiTextField_setCursorPositionEnd = function($this) {
    $java.nms_GuiTextField_setCursorPosition($this, jl_String_length($this.$text0));
};
function nms_GuiTextField_textboxKeyTyped($this, $par1, $par2) {
    var $s, $s2, $ctrl, $s5, $s6, $s3, $s4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$s4 = $thread.pop();$s3 = $thread.pop();$s6 = $thread.pop();$s5 = $thread.pop();$ctrl = $thread.pop();$s2 = $thread.pop();$s = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$isEnabled && $this.$isFocused0) {
            switch ($par1) {
                case 1:
                    break;
                case 3:
                    $s = $java.nms_GuiTextField_getSelectedtext($this);
                    if ($s !== null && jl_String_length($s) > 0)
                        nms_GuiScreen_setClipboardString($s);
                    return 1;
                case 22:
                    $ptr = 1;
                    continue main;
                case 24:
                    $s2 = $java.nms_GuiTextField_getSelectedtext($this);
                    if ($s2 !== null && jl_String_length($s2) > 0)
                        nms_GuiScreen_setClipboardString($s2);
                    nms_GuiTextField_writeText($this, $rt_s(36));
                    return 1;
                default:
                    switch ($par2) {
                        case 14:
                            if (!nms_GuiScreen_isCtrlKeyDown())
                                nms_GuiTextField_deleteFromCursor($this, (-1));
                            else
                                $java.nms_GuiTextField_deleteWords($this, (-1));
                            return 1;
                        case 200:
                            break;
                        case 203:
                            if (!nms_GuiScreen_isShiftKeyDown()) {
                                if (!nms_GuiScreen_isCtrlKeyDown())
                                    $java.nms_GuiTextField_moveCursorBy($this, (-1));
                                else
                                    $java.nms_GuiTextField_setCursorPosition($this, $java.nms_GuiTextField_getNthWordFromCursor($this, (-1)));
                            } else if (!nms_GuiScreen_isCtrlKeyDown())
                                $java.nms_GuiTextField_setSelectionPos($this, $this.$selectionEnd - 1 | 0);
                            else
                                $java.nms_GuiTextField_setSelectionPos($this, $java.nms_GuiTextField_getNthWordFromPos($this, (-1), $this.$selectionEnd));
                            return 1;
                        case 205:
                            if (!nms_GuiScreen_isShiftKeyDown()) {
                                if (!nms_GuiScreen_isCtrlKeyDown())
                                    $java.nms_GuiTextField_moveCursorBy($this, 1);
                                else
                                    $java.nms_GuiTextField_setCursorPosition($this, $java.nms_GuiTextField_getNthWordFromCursor($this, 1));
                            } else if (!nms_GuiScreen_isCtrlKeyDown())
                                $java.nms_GuiTextField_setSelectionPos($this, $this.$selectionEnd + 1 | 0);
                            else
                                $java.nms_GuiTextField_setSelectionPos($this, $java.nms_GuiTextField_getNthWordFromPos($this, 1, $this.$selectionEnd));
                            return 1;
                        case 208:
                            if (!nms_GuiScreen_isShiftKeyDown())
                                $java.nms_GuiTextField_setCursorPositionEnd($this);
                            else
                                $java.nms_GuiTextField_setSelectionPos($this, jl_String_length($this.$text0));
                            return 1;
                        case 211:
                            if (!nms_GuiScreen_isCtrlKeyDown())
                                nms_GuiTextField_deleteFromCursor($this, 1);
                            else
                                $java.nms_GuiTextField_deleteWords($this, 1);
                            return 1;
                        default:
                            $ctrl = nms_GuiScreen_isCtrlKeyDown();
                            if ($ctrl && !($par1 != 99 && $par1 != 67)) {
                                $s5 = $java.nms_GuiTextField_getSelectedtext($this);
                                if (jl_String_length($s5) > 0)
                                    nms_GuiScreen_setClipboardString($s5);
                                return 1;
                            }
                            if ($ctrl && !($par1 != 120 && $par1 != 88)) {
                                $s6 = $java.nms_GuiTextField_getSelectedtext($this);
                                if (jl_String_length($s6) > 0) {
                                    nms_GuiScreen_setClipboardString($s6);
                                    nms_GuiTextField_writeText($this, $rt_s(36));
                                }
                                return 1;
                            }
                            a: {
                                if ($ctrl) {
                                    if ($par1 == 118)
                                        break a;
                                    if ($par1 == 86)
                                        break a;
                                }
                                if (!nms_ChatAllowedCharacters_isAllowedCharacter($par1))
                                    return 0;
                                nms_GuiTextField_writeText($this, jl_Character_toString0($par1));
                                return 1;
                            }
                            $ptr = 2;
                            continue main;
                    }
                    if (!nms_GuiScreen_isShiftKeyDown())
                        $java.nms_GuiTextField_setCursorPositionZero($this);
                    else
                        $java.nms_GuiTextField_setSelectionPos($this, 0);
                    return 1;
            }
            $java.nms_GuiTextField_setCursorPositionEnd($this);
            $java.nms_GuiTextField_setSelectionPos($this, 0);
            return 1;
        }
        return 0;
    case 1:
        $tmp = nms_GuiScreen_getClipboardString();
        if ($rt_suspending()) {
            break main;
        }
        $s3 = $tmp;
        if ($s3 !== null && jl_String_length($s3) > 0)
            nms_GuiTextField_writeText($this, $s3);
        return 1;
    case 2:
        $tmp = nms_GuiScreen_getClipboardString();
        if ($rt_suspending()) {
            break main;
        }
        $s4 = $tmp;
        if ($s4 !== null && jl_String_length($s4) > 0)
            nms_GuiTextField_writeText($this, $s4);
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $s, $s2, $ctrl, $s5, $s6, $s3, $s4, $ptr);
}
function nms_GuiTextField_mouseClicked($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6;
    $var4 = $par1 >= $this.$xPos && $par1 < ($this.$xPos + $this.$width5 | 0) && $par2 >= $this.$yPos && $par2 < ($this.$yPos + $this.$height7 | 0) ? 1 : 0;
    if ($this.$canLoseFocus)
        nms_GuiTextField_setFocused($this, $this.$isEnabled && $var4 ? 1 : 0);
    if ($this.$isFocused0 && !$par3) {
        $var5 = $par1 - $this.$xPos | 0;
        if ($this.$enableBackgroundDrawing)
            $var5 = $var5 + (-4) | 0;
        $var6 = nms_FontRenderer_trimStringToWidth($this.$fontRenderer3, jl_String_substring($this.$text0, $this.$lineScrollOffset), $java.nms_GuiTextField_getWidth($this));
        $java.nms_GuiTextField_setCursorPosition($this, jl_String_length(nms_FontRenderer_trimStringToWidth($this.$fontRenderer3, $var6, $var5)) + $this.$lineScrollOffset | 0);
    }
}
function nms_GuiTextField_drawTextBox($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var10, var$10, $var12, $var13, var$13, var$14, var$15, var$16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();var$10 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$visible) {
            if ($this.$enableBackgroundDrawing) {
                nms_Gui_drawRect($this.$xPos - 1 | 0, $this.$yPos - 1 | 0, ($this.$xPos + $this.$width5 | 0) + 1 | 0, ($this.$yPos + $this.$height7 | 0) + 1 | 0, (-6250336));
                nms_Gui_drawRect($this.$xPos, $this.$yPos, $this.$xPos + $this.$width5 | 0, $this.$yPos + $this.$height7 | 0, (-16777216));
            }
            $var1 = !$this.$isEnabled ? $this.$disabledColor : $this.$enabledColor;
            $var2 = $this.$cursorPosition - $this.$lineScrollOffset | 0;
            $var3 = $this.$selectionEnd - $this.$lineScrollOffset | 0;
            $var4 = nms_FontRenderer_trimStringToWidth($this.$fontRenderer3, jl_String_substring($this.$text0, $this.$lineScrollOffset), $java.nms_GuiTextField_getWidth($this));
            $var5 = $var2 >= 0 && $var2 <= jl_String_length($var4) ? 1 : 0;
            $var6 = $this.$isFocused0 && !(($this.$cursorCounter / 6 | 0) % 2 | 0) && $var5 ? 1 : 0;
            $var7 = !$this.$enableBackgroundDrawing ? $this.$xPos : $this.$xPos + 4 | 0;
            $var8 = !$this.$enableBackgroundDrawing ? $this.$yPos : $this.$yPos + (($this.$height7 - 8 | 0) / 2 | 0) | 0;
            if ($var3 > jl_String_length($var4))
                $var3 = jl_String_length($var4);
            if (jl_String_length($var4) > 0) {
                $var10 = !$var5 ? $var4 : jl_String_substring0($var4, 0, $var2);
                var$10 = $this.$fontRenderer3;
                $ptr = 1;
                continue main;
            }
            $var12 = $var7;
            $var13 = $this.$cursorPosition >= jl_String_length($this.$text0) && jl_String_length($this.$text0) < $this.$maxStringLength ? 0 : 1;
            if ($var5) {
                if (!$var13)
                    var$13 = $var12;
                else {
                    var$13 = $var12 - 1 | 0;
                    $var12 = $var12 + (-1) | 0;
                }
            } else
                var$13 = $var2 <= 0 ? $var7 : $var7 + $this.$width5 | 0;
            if (jl_String_length($var4) > 0 && $var5 && $var2 < jl_String_length($var4)) {
                $var10 = $this.$fontRenderer3;
                var$10 = jl_String_substring($var4, $var2);
                $ptr = 3;
                continue main;
            }
            if ($var6) {
                if (!$var13) {
                    $var10 = $this.$fontRenderer3;
                    var$10 = $rt_s(423);
                    $ptr = 2;
                    continue main;
                }
                nms_Gui_drawRect(var$13, $var8 - 1 | 0, var$13 + 1 | 0, ($var8 + 1 | 0) + $this.$fontRenderer3.$FONT_HEIGHT | 0, $var1 | (-16777216));
            }
            if ($var3 != $var2) {
                $var12 = $var7 + nms_FontRenderer_getStringWidth($this.$fontRenderer3, jl_String_substring0($var4, 0, $var3)) | 0;
                $var2 = $var8 - 1 | 0;
                $var3 = $var12 - 1 | 0;
                $var1 = ($var8 + 1 | 0) + $this.$fontRenderer3.$FONT_HEIGHT | 0;
                if (var$13 >= $var3) {
                    $var12 = $var3;
                    $var3 = var$13;
                    var$13 = $var12;
                }
                if ($var2 >= $var1) {
                    $var12 = $var1;
                    $var1 = $var2;
                    $var2 = $var12;
                }
                nlea_Tessellator_$callClinit();
                $var10 = nlea_Tessellator_instance;
                nleg_EaglerAdapterGL30_glColor4f(0.20000000298023224, 0.20000000298023224, 1.0, 1.0);
                nleg_EaglerAdapterGL30_glEnable(3042);
                nleg_EaglerAdapterGL30_glBlendFunc(775, 770);
                nleg_EaglerAdapterGL30_glDisable(3553);
                nlea_Tessellator_startDrawingQuads($var10);
                var$14 = $var3;
                var$15 = $var2;
                nlea_Tessellator_addVertex($var10, var$14, var$15, 0.0);
                var$16 = var$13;
                nlea_Tessellator_addVertex($var10, var$16, var$15, 0.0);
                var$15 = $var1;
                nlea_Tessellator_addVertex($var10, var$16, var$15, 0.0);
                nlea_Tessellator_addVertex($var10, var$14, var$15, 0.0);
                nlea_Tessellator_draw($var10);
                nleg_EaglerAdapterGL30_glEnable(3553);
                nleg_EaglerAdapterGL30_glDisable(3042);
            }
        }
        return;
    case 1:
        $tmp = nms_FontRenderer_drawStringWithShadow(var$10, $var10, $var7, $var8, $var1);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $tmp;
        $var13 = $this.$cursorPosition >= jl_String_length($this.$text0) && jl_String_length($this.$text0) < $this.$maxStringLength ? 0 : 1;
        if ($var5) {
            if (!$var13)
                var$13 = $var12;
            else {
                var$13 = $var12 - 1 | 0;
                $var12 = $var12 + (-1) | 0;
            }
        } else
            var$13 = $var2 <= 0 ? $var7 : $var7 + $this.$width5 | 0;
        if (jl_String_length($var4) > 0 && $var5 && $var2 < jl_String_length($var4)) {
            $var10 = $this.$fontRenderer3;
            var$10 = jl_String_substring($var4, $var2);
            $ptr = 3;
            continue main;
        }
        if ($var6) {
            if (!$var13) {
                $var10 = $this.$fontRenderer3;
                var$10 = $rt_s(423);
                $ptr = 2;
                continue main;
            }
            nms_Gui_drawRect(var$13, $var8 - 1 | 0, var$13 + 1 | 0, ($var8 + 1 | 0) + $this.$fontRenderer3.$FONT_HEIGHT | 0, $var1 | (-16777216));
        }
        if ($var3 != $var2) {
            $var12 = $var7 + nms_FontRenderer_getStringWidth($this.$fontRenderer3, jl_String_substring0($var4, 0, $var3)) | 0;
            $var2 = $var8 - 1 | 0;
            $var3 = $var12 - 1 | 0;
            $var1 = ($var8 + 1 | 0) + $this.$fontRenderer3.$FONT_HEIGHT | 0;
            if (var$13 >= $var3) {
                $var12 = $var3;
                $var3 = var$13;
                var$13 = $var12;
            }
            if ($var2 >= $var1) {
                $var12 = $var1;
                $var1 = $var2;
                $var2 = $var12;
            }
            nlea_Tessellator_$callClinit();
            $var10 = nlea_Tessellator_instance;
            nleg_EaglerAdapterGL30_glColor4f(0.20000000298023224, 0.20000000298023224, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glBlendFunc(775, 770);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nlea_Tessellator_startDrawingQuads($var10);
            var$14 = $var3;
            var$15 = $var2;
            nlea_Tessellator_addVertex($var10, var$14, var$15, 0.0);
            var$16 = var$13;
            nlea_Tessellator_addVertex($var10, var$16, var$15, 0.0);
            var$15 = $var1;
            nlea_Tessellator_addVertex($var10, var$16, var$15, 0.0);
            nlea_Tessellator_addVertex($var10, var$14, var$15, 0.0);
            nlea_Tessellator_draw($var10);
            nleg_EaglerAdapterGL30_glEnable(3553);
            nleg_EaglerAdapterGL30_glDisable(3042);
        }
        return;
    case 2:
        nms_FontRenderer_drawStringWithShadow($var10, var$10, var$13, $var8, $var1);
        if ($rt_suspending()) {
            break main;
        }
        if ($var3 != $var2) {
            $var12 = $var7 + nms_FontRenderer_getStringWidth($this.$fontRenderer3, jl_String_substring0($var4, 0, $var3)) | 0;
            $var2 = $var8 - 1 | 0;
            $var3 = $var12 - 1 | 0;
            $var1 = ($var8 + 1 | 0) + $this.$fontRenderer3.$FONT_HEIGHT | 0;
            if (var$13 >= $var3) {
                $var12 = $var3;
                $var3 = var$13;
                var$13 = $var12;
            }
            if ($var2 >= $var1) {
                $var12 = $var1;
                $var1 = $var2;
                $var2 = $var12;
            }
            nlea_Tessellator_$callClinit();
            $var10 = nlea_Tessellator_instance;
            nleg_EaglerAdapterGL30_glColor4f(0.20000000298023224, 0.20000000298023224, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glBlendFunc(775, 770);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nlea_Tessellator_startDrawingQuads($var10);
            var$14 = $var3;
            var$15 = $var2;
            nlea_Tessellator_addVertex($var10, var$14, var$15, 0.0);
            var$16 = var$13;
            nlea_Tessellator_addVertex($var10, var$16, var$15, 0.0);
            var$15 = $var1;
            nlea_Tessellator_addVertex($var10, var$16, var$15, 0.0);
            nlea_Tessellator_addVertex($var10, var$14, var$15, 0.0);
            nlea_Tessellator_draw($var10);
            nleg_EaglerAdapterGL30_glEnable(3553);
            nleg_EaglerAdapterGL30_glDisable(3042);
        }
        return;
    case 3:
        nms_FontRenderer_drawStringWithShadow($var10, var$10, $var12, $var8, $var1);
        if ($rt_suspending()) {
            break main;
        }
        if ($var6) {
            if (!$var13) {
                $var10 = $this.$fontRenderer3;
                var$10 = $rt_s(423);
                $ptr = 2;
                continue main;
            }
            nms_Gui_drawRect(var$13, $var8 - 1 | 0, var$13 + 1 | 0, ($var8 + 1 | 0) + $this.$fontRenderer3.$FONT_HEIGHT | 0, $var1 | (-16777216));
        }
        if ($var3 != $var2) {
            $var12 = $var7 + nms_FontRenderer_getStringWidth($this.$fontRenderer3, jl_String_substring0($var4, 0, $var3)) | 0;
            $var2 = $var8 - 1 | 0;
            $var3 = $var12 - 1 | 0;
            $var1 = ($var8 + 1 | 0) + $this.$fontRenderer3.$FONT_HEIGHT | 0;
            if (var$13 >= $var3) {
                $var12 = $var3;
                $var3 = var$13;
                var$13 = $var12;
            }
            if ($var2 >= $var1) {
                $var12 = $var1;
                $var1 = $var2;
                $var2 = $var12;
            }
            nlea_Tessellator_$callClinit();
            $var10 = nlea_Tessellator_instance;
            nleg_EaglerAdapterGL30_glColor4f(0.20000000298023224, 0.20000000298023224, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glEnable(3042);
            nleg_EaglerAdapterGL30_glBlendFunc(775, 770);
            nleg_EaglerAdapterGL30_glDisable(3553);
            nlea_Tessellator_startDrawingQuads($var10);
            var$14 = $var3;
            var$15 = $var2;
            nlea_Tessellator_addVertex($var10, var$14, var$15, 0.0);
            var$16 = var$13;
            nlea_Tessellator_addVertex($var10, var$16, var$15, 0.0);
            var$15 = $var1;
            nlea_Tessellator_addVertex($var10, var$16, var$15, 0.0);
            nlea_Tessellator_addVertex($var10, var$14, var$15, 0.0);
            nlea_Tessellator_draw($var10);
            nleg_EaglerAdapterGL30_glEnable(3553);
            nleg_EaglerAdapterGL30_glDisable(3042);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var10, var$10, $var12, $var13, var$13, var$14, var$15, var$16, $ptr);
}
function nms_GuiTextField_setMaxStringLength($this, $par1) {
    $this.$maxStringLength = $par1;
    if (jl_String_length($this.$text0) > $par1)
        $this.$text0 = jl_String_substring0($this.$text0, 0, $par1);
}
$java.nms_GuiTextField_getMaxStringLength = function($this) {
    return $this.$maxStringLength;
};
$java.nms_GuiTextField_getCursorPosition = function($this) {
    return $this.$cursorPosition;
};
$java.nms_GuiTextField_getEnableBackgroundDrawing = function($this) {
    return $this.$enableBackgroundDrawing;
};
$java.nms_GuiTextField_setEnableBackgroundDrawing = function($this, $par1) {
    $this.$enableBackgroundDrawing = $par1;
};
$java.nms_GuiTextField_setTextColor = function($this, $par1) {
    $this.$enabledColor = $par1;
};
$java.nms_GuiTextField_setDisabledTextColour = function($this, $par1) {
    $this.$disabledColor = $par1;
};
function nms_GuiTextField_setFocused($this, $par1) {
    if ($par1 && !$this.$isFocused0)
        $this.$cursorCounter = 0;
    $this.$isFocused0 = $par1;
}
$java.nms_GuiTextField_isFocused = function($this) {
    return $this.$isFocused0;
};
$java.nms_GuiTextField_setEnabled = function($this, $par1) {
    $this.$isEnabled = $par1;
};
$java.nms_GuiTextField_getSelectionEnd = function($this) {
    return $this.$selectionEnd;
};
$java.nms_GuiTextField_getWidth = function($this) {
    return !$this.$enableBackgroundDrawing ? $this.$width5 : $this.$width5 - 8 | 0;
};
$java.nms_GuiTextField_setSelectionPos = function($this, $par1) {
    var $var2, $var3, $var5;
    $var2 = jl_String_length($this.$text0);
    if ($par1 > $var2)
        $par1 = $var2;
    if ($par1 < 0)
        $par1 = 0;
    $this.$selectionEnd = $par1;
    if ($this.$fontRenderer3 !== null) {
        if ($this.$lineScrollOffset > $var2)
            $this.$lineScrollOffset = $var2;
        $var3 = $java.nms_GuiTextField_getWidth($this);
        $var5 = jl_String_length(nms_FontRenderer_trimStringToWidth($this.$fontRenderer3, jl_String_substring($this.$text0, $this.$lineScrollOffset), $var3)) + $this.$lineScrollOffset | 0;
        if ($par1 == $this.$lineScrollOffset)
            $this.$lineScrollOffset = $this.$lineScrollOffset - jl_String_length(nms_FontRenderer_trimStringToWidth0($this.$fontRenderer3, $this.$text0, $var3, 1)) | 0;
        if ($par1 > $var5)
            $this.$lineScrollOffset = $this.$lineScrollOffset + ($par1 - $var5 | 0) | 0;
        else if ($par1 <= $this.$lineScrollOffset)
            $this.$lineScrollOffset = $this.$lineScrollOffset - ($this.$lineScrollOffset - $par1 | 0) | 0;
        if ($this.$lineScrollOffset < 0)
            $this.$lineScrollOffset = 0;
        if ($this.$lineScrollOffset > $var2)
            $this.$lineScrollOffset = $var2;
    }
};
$java.nms_GuiTextField_setCanLoseFocus = function($this, $par1) {
    $this.$canLoseFocus = $par1;
};
$java.nms_GuiTextField_getVisible = function($this) {
    return $this.$visible;
};
$java.nms_GuiTextField_setVisible = function($this, $par1) {
    $this.$visible = $par1;
};
function maat__tmi_MgImage() {
    var a = this; jl_Object.call(a);
    a.$filename = null;
    a.$x4 = 0;
    a.$y3 = 0;
    a.$width4 = 0;
    a.$height6 = 0;
}
$java.maat__tmi_MgImage__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new maat__tmi_MgImage();
    $java.maat__tmi_MgImage__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.maat__tmi_MgImage__init_0 = function($this, $var1, $var2, $var3, $var4) {
    $this.$filename = $rt_s(2711);
    $this.$x4 = $var1;
    $this.$y3 = $var2;
    $this.$width4 = $var3;
    $this.$height6 = $var4;
};
function maa_Color() {
    var a = this; jl_Object.call(a);
    a.$value10 = 0;
    a.$frgbvalue = null;
    a.$fvalue = null;
    a.$falpha = 0.0;
}
$java.maa_Color_white = null;
$java.maa_Color_WHITE = null;
$java.maa_Color_lightGray = null;
$java.maa_Color_LIGHT_GRAY = null;
$java.maa_Color_gray = null;
$java.maa_Color_GRAY = null;
$java.maa_Color_darkGray = null;
$java.maa_Color_DARK_GRAY = null;
$java.maa_Color_black = null;
$java.maa_Color_BLACK = null;
$java.maa_Color_red = null;
$java.maa_Color_RED = null;
$java.maa_Color_pink = null;
$java.maa_Color_PINK = null;
$java.maa_Color_orange = null;
$java.maa_Color_ORANGE = null;
$java.maa_Color_yellow = null;
$java.maa_Color_YELLOW = null;
$java.maa_Color_green = null;
$java.maa_Color_GREEN = null;
$java.maa_Color_magenta = null;
$java.maa_Color_MAGENTA = null;
$java.maa_Color_cyan = null;
$java.maa_Color_CYAN = null;
$java.maa_Color_blue = null;
$java.maa_Color_BLUE = null;
$java.maa_Color__init_ = function(var_0, var_1, var_2) {
    var var_3 = new maa_Color();
    $java.maa_Color__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.maa_Color__init_0 = function($this, $r, $g, $b) {
    var var$4, var$5, var$6, var$7;
    $this.$frgbvalue = null;
    $this.$fvalue = null;
    $this.$falpha = 0.0;
    $this.$value10 = (-16777216) | ($r & 255) << 16 | ($g & 255) << 8 | ($b & 255) << 0;
    var$4 = 0;
    var$5 = $rt_s(36);
    if (!($r >= 0 && $r <= 255)) {
        var$4 = 1;
        var$6 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$6);
        jl_AbstractStringBuilder_append(var$6, var$5);
        jl_AbstractStringBuilder_append(var$6, $rt_s(2712));
        var$5 = jl_AbstractStringBuilder_toString(var$6);
    }
    if (!($g >= 0 && $g <= 255)) {
        var$4 = 1;
        var$6 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$6);
        jl_AbstractStringBuilder_append(var$6, var$5);
        jl_AbstractStringBuilder_append(var$6, $rt_s(2713));
        var$5 = jl_AbstractStringBuilder_toString(var$6);
    }
    if (!($b >= 0 && $b <= 255)) {
        var$4 = 1;
        var$6 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$6);
        jl_AbstractStringBuilder_append(var$6, var$5);
        jl_AbstractStringBuilder_append(var$6, $rt_s(2714));
        var$5 = jl_AbstractStringBuilder_toString(var$6);
    }
    if (var$4 != 1)
        return;
    var$7 = new jl_IllegalArgumentException;
    var$6 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$6);
    jl_AbstractStringBuilder_append(var$6, $rt_s(2715));
    jl_AbstractStringBuilder_append(var$6, var$5);
    jl_Throwable__init_(var$7, jl_AbstractStringBuilder_toString(var$6));
    $rt_throw(var$7);
};
$java.maa_Color_HSBtoRGB = function($hue, $saturation, $brightness) {
    var $r, $g, $b, $h, $f, $p, $q, $t;
    a: {
        $r = 0;
        $g = 0;
        $b = 0;
        if ($saturation === 0.0) {
            $r = $brightness * 255.0 + 0.5 | 0;
            $b = $r;
            $g = $r;
        } else {
            $h = ($hue - jl_Math_floor($hue)) * 6.0;
            $f = $h - jl_Math_floor($h);
            $p = $brightness * (1.0 - $saturation);
            $q = $brightness * (1.0 - $saturation * $f);
            $t = $brightness * (1.0 - $saturation * (1.0 - $f));
            switch ($h | 0) {
                case 0:
                    $r = $brightness * 255.0 + 0.5 | 0;
                    $g = $t * 255.0 + 0.5 | 0;
                    $b = $p * 255.0 + 0.5 | 0;
                    break a;
                case 1:
                    $r = $q * 255.0 + 0.5 | 0;
                    $g = $brightness * 255.0 + 0.5 | 0;
                    $b = $p * 255.0 + 0.5 | 0;
                    break a;
                case 2:
                    $r = $p * 255.0 + 0.5 | 0;
                    $g = $brightness * 255.0 + 0.5 | 0;
                    $b = $t * 255.0 + 0.5 | 0;
                    break a;
                case 3:
                    $r = $p * 255.0 + 0.5 | 0;
                    $g = $q * 255.0 + 0.5 | 0;
                    $b = $brightness * 255.0 + 0.5 | 0;
                    break a;
                case 4:
                    $r = $t * 255.0 + 0.5 | 0;
                    $g = $p * 255.0 + 0.5 | 0;
                    $b = $brightness * 255.0 + 0.5 | 0;
                    break a;
                case 5:
                    $r = $brightness * 255.0 + 0.5 | 0;
                    $g = $p * 255.0 + 0.5 | 0;
                    $b = $q * 255.0 + 0.5 | 0;
                    break a;
                default:
            }
        }
    }
    return (-16777216) | $r << 16 | $g << 8 | $b << 0;
};
function maa_Color__clinit_() {
    $java.maa_Color_white = $java.maa_Color__init_(255, 255, 255);
    $java.maa_Color_WHITE = $java.maa_Color_white;
    $java.maa_Color_lightGray = $java.maa_Color__init_(192, 192, 192);
    $java.maa_Color_LIGHT_GRAY = $java.maa_Color_lightGray;
    $java.maa_Color_gray = $java.maa_Color__init_(128, 128, 128);
    $java.maa_Color_GRAY = $java.maa_Color_gray;
    $java.maa_Color_darkGray = $java.maa_Color__init_(64, 64, 64);
    $java.maa_Color_DARK_GRAY = $java.maa_Color_darkGray;
    $java.maa_Color_black = $java.maa_Color__init_(0, 0, 0);
    $java.maa_Color_BLACK = $java.maa_Color_black;
    $java.maa_Color_red = $java.maa_Color__init_(255, 0, 0);
    $java.maa_Color_RED = $java.maa_Color_red;
    $java.maa_Color_pink = $java.maa_Color__init_(255, 175, 175);
    $java.maa_Color_PINK = $java.maa_Color_pink;
    $java.maa_Color_orange = $java.maa_Color__init_(255, 200, 0);
    $java.maa_Color_ORANGE = $java.maa_Color_orange;
    $java.maa_Color_yellow = $java.maa_Color__init_(255, 255, 0);
    $java.maa_Color_YELLOW = $java.maa_Color_yellow;
    $java.maa_Color_green = $java.maa_Color__init_(0, 255, 0);
    $java.maa_Color_GREEN = $java.maa_Color_green;
    $java.maa_Color_magenta = $java.maa_Color__init_(255, 0, 255);
    $java.maa_Color_MAGENTA = $java.maa_Color_magenta;
    $java.maa_Color_cyan = $java.maa_Color__init_(0, 255, 255);
    $java.maa_Color_CYAN = $java.maa_Color_cyan;
    $java.maa_Color_blue = $java.maa_Color__init_(0, 0, 255);
    $java.maa_Color_BLUE = $java.maa_Color_blue;
}
function nms_DataWatcher() {
    var a = this; jl_Object.call(a);
    a.$isBlank = 0;
    a.$watchedObjects = null;
    a.$objectChanged = 0;
}
$java.nms_DataWatcher_dataTypes = null;
function nms_DataWatcher__init_0() {
    var var_0 = new nms_DataWatcher();
    nms_DataWatcher__init_(var_0);
    return var_0;
}
function nms_DataWatcher__init_($this) {
    $this.$isBlank = 1;
    $this.$watchedObjects = ju_HashMap__init_();
}
function nms_DataWatcher_addObject($this, $par1, $par2Obj) {
    var $var3, $var4;
    $var3 = ju_HashMap_get($java.nms_DataWatcher_dataTypes, jl_Object_getClass($par2Obj));
    if ($var3 === null) {
        $var3 = new jl_IllegalArgumentException;
        $var4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var4);
        jl_AbstractStringBuilder_append($var4, $rt_s(2716));
        jl_AbstractStringBuilder_append1($var4, jl_Object_getClass($par2Obj));
        jl_Throwable__init_($var3, jl_AbstractStringBuilder_toString($var4));
        $rt_throw($var3);
    }
    if ($par1 > 31) {
        $par2Obj = new jl_IllegalArgumentException;
        $var3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var3);
        jl_AbstractStringBuilder_append($var3, $rt_s(2717));
        jl_AbstractStringBuilder_append2($var3, $par1);
        jl_AbstractStringBuilder_append($var3, $rt_s(2718));
        jl_AbstractStringBuilder_append2($var3, 31);
        jl_AbstractStringBuilder_append($var3, $rt_s(68));
        jl_Throwable__init_($par2Obj, jl_AbstractStringBuilder_toString($var3));
        $rt_throw($par2Obj);
    }
    if (!ju_HashMap_containsKey($this.$watchedObjects, jl_Integer_valueOf($par1))) {
        $var4 = $java.nms_WatchableObject__init_($var3.$value, $par1, $par2Obj);
        ju_HashMap_putImpl($this.$watchedObjects, jl_Integer_valueOf($par1), $var4);
        $this.$isBlank = 0;
        return;
    }
    $par2Obj = new jl_IllegalArgumentException;
    $var3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var3);
    jl_AbstractStringBuilder_append($var3, $rt_s(2719));
    jl_AbstractStringBuilder_append2($var3, $par1);
    jl_AbstractStringBuilder_append($var3, $rt_s(2720));
    jl_Throwable__init_($par2Obj, jl_AbstractStringBuilder_toString($var3));
    $rt_throw($par2Obj);
}
function nms_DataWatcher_addObjectByDataType($this, $par1, $par2) {
    var $var3;
    $var3 = $java.nms_WatchableObject__init_($par2, $par1, null);
    ju_HashMap_putImpl($this.$watchedObjects, jl_Integer_valueOf($par1), $var3);
    $this.$isBlank = 0;
}
function nms_DataWatcher_getWatchableObjectByte($this, $par1) {
    return $java.nms_DataWatcher_getWatchedObject($this, $par1).$watchedObject.$value11;
}
function nms_DataWatcher_getWatchableObjectShort($this, $par1) {
    return $java.nms_DataWatcher_getWatchedObject($this, $par1).$watchedObject.$value12;
}
function nms_DataWatcher_getWatchableObjectInt($this, $par1) {
    return $java.nms_DataWatcher_getWatchedObject($this, $par1).$watchedObject.$value;
}
function nms_DataWatcher_getWatchableObjectString($this, $par1) {
    return $java.nms_DataWatcher_getWatchedObject($this, $par1).$watchedObject;
}
function nms_DataWatcher_getWatchableObjectItemStack($this, $par1) {
    return $java.nms_DataWatcher_getWatchedObject($this, $par1).$watchedObject;
}
$java.nms_DataWatcher_getWatchedObject = function($this, $par1) {
    return ju_HashMap_get($this.$watchedObjects, jl_Integer_valueOf($par1));
};
function nms_DataWatcher_updateObject($this, $par1, $par2Obj) {
    var $var3;
    $var3 = $java.nms_DataWatcher_getWatchedObject($this, $par1);
    if (!$par2Obj.$equals($var3.$watchedObject)) {
        $var3.$watchedObject = $par2Obj;
        $var3.$watched = 1;
        $this.$objectChanged = 1;
    }
}
function nms_DataWatcher_setObjectWatched($this, $par1) {
    $java.nms_DataWatcher_getWatchedObject($this, $par1).$watched = 1;
    $this.$objectChanged = 1;
}
$java.nms_DataWatcher_readWatchableObjects = function($par0DataInputStream) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8;
    $var1 = null;
    $var2 = ji_DataInputStream_readByte($par0DataInputStream);
    while ($var2 != 127) {
        if ($var1 === null)
            $var1 = ju_ArrayList__init_0();
        a: {
            $var3 = ($var2 & 224) >> 5;
            $var4 = $var2 & 31;
            $var5 = null;
            switch ($var3) {
                case 0:
                    $var5 = $java.nms_WatchableObject__init_($var3, $var4, jl_Byte_valueOf(ji_DataInputStream_readByte($par0DataInputStream)));
                    break a;
                case 1:
                    $var5 = $java.nms_WatchableObject__init_($var3, $var4, jl_Short_valueOf(ji_DataInputStream_readShort($par0DataInputStream)));
                    break a;
                case 2:
                    $var5 = $java.nms_WatchableObject__init_($var3, $var4, jl_Integer_valueOf(ji_DataInputStream_readInt($par0DataInputStream)));
                    break a;
                case 3:
                    $var5 = $java.nms_WatchableObject__init_($var3, $var4, jl_Float_valueOf(ji_DataInputStream_readFloat($par0DataInputStream)));
                    break a;
                case 4:
                    $var5 = $java.nms_WatchableObject__init_($var3, $var4, nms_Packet_readString($par0DataInputStream, 64));
                    break a;
                case 5:
                    $var5 = $java.nms_WatchableObject__init_($var3, $var4, nms_Packet_readItemStack($par0DataInputStream));
                    break a;
                case 6:
                    $var6 = ji_DataInputStream_readInt($par0DataInputStream);
                    $var7 = ji_DataInputStream_readInt($par0DataInputStream);
                    $var8 = ji_DataInputStream_readInt($par0DataInputStream);
                    $var5 = $java.nms_WatchableObject__init_($var3, $var4, nms_ChunkCoordinates__init_0($var6, $var7, $var8));
                    break a;
                default:
            }
        }
        ju_ArrayList_add($var1, $var5);
        $var2 = ji_DataInputStream_readByte($par0DataInputStream);
    }
    return $var1;
};
$java.nms_DataWatcher_updateWatchedObjectsFromList = function($this, $par1List) {
    var $var2, $var3, $var4;
    $var2 = ju_AbstractList_iterator($par1List);
    while (ju_AbstractList$1_hasNext($var2)) {
        $var3 = ju_AbstractList$1_next($var2);
        $var4 = ju_HashMap_get($this.$watchedObjects, jl_Integer_valueOf($var3.$dataValueId));
        if ($var4 !== null)
            $var4.$watchedObject = $var3.$watchedObject;
    }
};
function nms_DataWatcher__clinit_() {
    $java.nms_DataWatcher_dataTypes = ju_HashMap__init_();
    ju_HashMap_putImpl($java.nms_DataWatcher_dataTypes, $rt_cls(jl_Byte), jl_Integer_valueOf(0));
    ju_HashMap_putImpl($java.nms_DataWatcher_dataTypes, $rt_cls(jl_Short), jl_Integer_valueOf(1));
    ju_HashMap_putImpl($java.nms_DataWatcher_dataTypes, $rt_cls(jl_Integer), jl_Integer_valueOf(2));
    ju_HashMap_putImpl($java.nms_DataWatcher_dataTypes, $rt_cls(jl_Float), jl_Integer_valueOf(3));
    ju_HashMap_putImpl($java.nms_DataWatcher_dataTypes, $rt_cls(jl_String), jl_Integer_valueOf(4));
    ju_HashMap_putImpl($java.nms_DataWatcher_dataTypes, $rt_cls(nms_ItemStack), jl_Integer_valueOf(5));
    ju_HashMap_putImpl($java.nms_DataWatcher_dataTypes, $rt_cls(nms_ChunkCoordinates), jl_Integer_valueOf(6));
}
function nms_EnumEntitySize() {
    jl_Enum.call(this);
}
var nms_EnumEntitySize_SIZE_1 = null;
var nms_EnumEntitySize_SIZE_2 = null;
var nms_EnumEntitySize_SIZE_3 = null;
var nms_EnumEntitySize_SIZE_4 = null;
var nms_EnumEntitySize_SIZE_5 = null;
var nms_EnumEntitySize_SIZE_6 = null;
$java.nms_EnumEntitySize_$VALUES = null;
function nms_EnumEntitySize__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nms_EnumEntitySize;
    jl_Enum__init_0(var$1, $rt_s(2721), 0);
    nms_EnumEntitySize_SIZE_1 = var$1;
    var$1 = new nms_EnumEntitySize;
    jl_Enum__init_0(var$1, $rt_s(2722), 1);
    nms_EnumEntitySize_SIZE_2 = var$1;
    var$1 = new nms_EnumEntitySize;
    jl_Enum__init_0(var$1, $rt_s(2723), 2);
    nms_EnumEntitySize_SIZE_3 = var$1;
    var$1 = new nms_EnumEntitySize;
    jl_Enum__init_0(var$1, $rt_s(2724), 3);
    nms_EnumEntitySize_SIZE_4 = var$1;
    var$1 = new nms_EnumEntitySize;
    jl_Enum__init_0(var$1, $rt_s(2725), 4);
    nms_EnumEntitySize_SIZE_5 = var$1;
    var$1 = new nms_EnumEntitySize;
    jl_Enum__init_0(var$1, $rt_s(2726), 5);
    nms_EnumEntitySize_SIZE_6 = var$1;
    var$2 = $rt_createArray(nms_EnumEntitySize, 6);
    var$3 = var$2.data;
    var$3[0] = nms_EnumEntitySize_SIZE_1;
    var$3[1] = nms_EnumEntitySize_SIZE_2;
    var$3[2] = nms_EnumEntitySize_SIZE_3;
    var$3[3] = nms_EnumEntitySize_SIZE_4;
    var$3[4] = nms_EnumEntitySize_SIZE_5;
    var$3[5] = nms_EnumEntitySize_SIZE_6;
    $java.nms_EnumEntitySize_$VALUES = var$2;
}
function jl_Byte() {
    jl_Number.call(this);
    this.$value11 = 0;
}
$java.jl_Byte_TYPE = null;
function jl_Byte__init_(var_0) {
    var var_1 = new jl_Byte();
    $java.jl_Byte__init_(var_1, var_0);
    return var_1;
}
$java.jl_Byte__init_ = function($this, $value) {
    $this.$value11 = $value;
};
$java.jl_Byte_intValue = function($this) {
    return $this.$value11;
};
$java.jl_Byte_longValue = function($this) {
    return Long_fromInt($this.$value11);
};
$java.jl_Byte_doubleValue = function($this) {
    return $this.$value11;
};
$java.jl_Byte_byteValue = function($this) {
    return $this.$value11;
};
function jl_Byte_valueOf($value) {
    return jl_Byte__init_($value);
}
$java.jl_Byte_toString = function($this) {
    var var$1, var$2;
    var$1 = $this.$value11;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append2(var$2, var$1);
    return jl_AbstractStringBuilder_toString(var$2);
};
$java.jl_Byte_equals = function($this, $other) {
    return $other instanceof jl_Byte && $other.$value11 == $this.$value11 ? 1 : 0;
};
$java.jl_Byte_hashCode = function($this) {
    return $this.$value11;
};
$java.jl_Byte_compareTo = function($this, $other) {
    return $this.$value11 - $other.$value11 | 0;
};
$java.jl_Byte_compareTo0 = function($this, var$1) {
    return $java.jl_Byte_compareTo($this, var$1);
};
function jl_Byte__clinit_() {
    $java.jl_Byte_TYPE = $rt_cls($rt_bytecls());
}
function jl_Short() {
    jl_Number.call(this);
    this.$value12 = 0;
}
$java.jl_Short_TYPE = null;
$java.jl_Short_intValue = function($this) {
    return $this.$value12;
};
$java.jl_Short_longValue = function($this) {
    return Long_fromInt($this.$value12);
};
$java.jl_Short_doubleValue = function($this) {
    return $this.$value12;
};
$java.jl_Short_shortValue = function($this) {
    return $this.$value12;
};
function jl_Short_valueOf($value) {
    var var$2;
    var$2 = new jl_Short;
    var$2.$value12 = $value;
    return var$2;
}
$java.jl_Short_toString = function($this) {
    var var$1, var$2;
    var$1 = $this.$value12;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append2(var$2, var$1);
    return jl_AbstractStringBuilder_toString(var$2);
};
$java.jl_Short_equals = function($this, $other) {
    return $other instanceof jl_Short && $other.$value12 == $this.$value12 ? 1 : 0;
};
$java.jl_Short_hashCode = function($this) {
    return $this.$value12;
};
$java.jl_Short_compareTo = function($this, $other) {
    return $this.$value12 - $other.$value12 | 0;
};
$java.jl_Short_compareTo0 = function($this, var$1) {
    return $java.jl_Short_compareTo($this, var$1);
};
function jl_Short__clinit_() {
    $java.jl_Short_TYPE = $rt_cls($rt_shortcls());
}
function nms_ChunkCoordinates() {
    var a = this; jl_Object.call(a);
    a.$posX1 = 0;
    a.$posY1 = 0;
    a.$posZ1 = 0;
}
$java.nms_ChunkCoordinates__init_ = function() {
    var var_0 = new nms_ChunkCoordinates();
    nms_ChunkCoordinates__init_(var_0);
    return var_0;
};
function nms_ChunkCoordinates__init_0(var_0, var_1, var_2) {
    var var_3 = new nms_ChunkCoordinates();
    $java.nms_ChunkCoordinates__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_ChunkCoordinates__init_($this) {
    return;
}
$java.nms_ChunkCoordinates__init_0 = function($this, $par1, $par2, $par3) {
    $this.$posX1 = $par1;
    $this.$posY1 = $par2;
    $this.$posZ1 = $par3;
};
function nms_ChunkCoordinates_getDistanceSquared($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6;
    $var4 = $this.$posX1 - $par1 | 0;
    $var5 = $this.$posY1 - $par2 | 0;
    $var6 = $this.$posZ1 - $par3 | 0;
    return ($rt_imul($var4, $var4) + $rt_imul($var5, $var5) | 0) + $rt_imul($var6, $var6) | 0;
}
function ju_HashMap$KeyIterator() {
    ju_HashMap$AbstractMapIterator.call(this);
}
$java.ju_HashMap$KeyIterator_next = function($this) {
    $java.ju_HashMap$AbstractMapIterator_makeNext($this);
    return $this.$currentEntry.$key;
};
function ju_HashMap$EntryIterator() {
    ju_HashMap$AbstractMapIterator.call(this);
}
function ju_HashMap$EntryIterator_next($this) {
    $java.ju_HashMap$AbstractMapIterator_makeNext($this);
    return $this.$currentEntry;
}
function ju_HashMap$EntryIterator_next0($this) {
    return ju_HashMap$EntryIterator_next($this);
}
function nms_GuiContainerCreative() {
    var a = this; nms_InventoryEffectRenderer.call(a);
    a.$currentScroll = 0.0;
    a.$isScrolling = 0;
    a.$wasClicking = 0;
    a.$searchField = null;
    a.$backupContainerSlots = null;
    a.$field_74235_v = null;
    a.$field_74234_w = 0;
    a.$field_82324_x = null;
}
$java.nms_GuiContainerCreative_inventory = null;
$java.nms_GuiContainerCreative_selectedTabIndex = 0;
$java.nms_GuiContainerCreative_tex = null;
$java.nms_GuiContainerCreative_$callClinit = function() {
    $java.nms_GuiContainerCreative_$callClinit = $rt_eraseClinit(nms_GuiContainerCreative);
    $java.nms_GuiContainerCreative__clinit_();
};
function nms_GuiContainerCreative__init_(var_0) {
    var var_1 = new nms_GuiContainerCreative();
    $java.nms_GuiContainerCreative__init_(var_1, var_0);
    return var_1;
}
$java.nms_GuiContainerCreative__init_ = function($this, $par1EntityPlayer) {
    var var$2, var$3, var$4, var$5;
    $java.nms_GuiContainerCreative_$callClinit();
    var$2 = new nms_ContainerCreative;
    nms_Container__init_(var$2);
    var$2.$itemList = ju_ArrayList__init_0();
    var$3 = $par1EntityPlayer.$inventory;
    var$4 = 0;
    while (var$4 < 5) {
        var$5 = 0;
        while (var$5 < 9) {
            nms_Container_addSlotToContainer(var$2, nms_Slot__init_($java.nms_GuiContainerCreative_getInventory(), (var$4 * 9 | 0) + var$5 | 0, 9 + (var$5 * 18 | 0) | 0, 18 + (var$4 * 18 | 0) | 0));
            var$5 = var$5 + 1 | 0;
        }
        var$4 = var$4 + 1 | 0;
    }
    var$5 = 0;
    while (var$5 < 9) {
        nms_Container_addSlotToContainer(var$2, nms_Slot__init_(var$3, var$5, 9 + (var$5 * 18 | 0) | 0, 112));
        var$5 = var$5 + 1 | 0;
    }
    $java.nms_ContainerCreative_scrollTo(var$2, 0.0);
    nms_GuiContainer__init_($this, var$2);
    $this.$currentScroll = 0.0;
    $this.$isScrolling = 0;
    $this.$field_74235_v = null;
    $this.$field_74234_w = 0;
    $par1EntityPlayer.$openContainer = $this.$inventorySlots0;
    $this.$allowUserInput = 1;
    nms_AchievementList_$callClinit();
    nms_EntityClientPlayerMP_addStat($par1EntityPlayer, nms_AchievementList_openInventory, 1);
    $this.$ySize0 = 136;
    $this.$xSize = 195;
};
$java.nms_GuiContainerCreative_updateScreen = function($this) {
    if (!nms_PlayerControllerMP_isInCreativeMode($this.$mc2.$playerController))
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiInventory__init_($this.$mc2.$thePlayer));
};
$java.nms_GuiContainerCreative_handleMouseClick = function($this, $par1Slot, $par2, $par3, $par4) {
    var $var5, $var11, $var7, $var10, $var6, $var8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();$var11 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Slot = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$field_74234_w = 1;
        $var5 = $par4 != 1 ? 0 : 1;
        if ($par2 == (-999) && !$par4)
            $par4 = 4;
        a: {
            if ($par1Slot === null && $java.nms_GuiContainerCreative_selectedTabIndex != $java.nms_CreativeTabs_getTabIndex($java.nms_CreativeTabs_tabInventory) && $par4 != 5) {
                $var11 = $this.$mc2.$thePlayer.$inventory;
                if (nms_InventoryPlayer_getItemStack($var11) !== null) {
                    if (!$par3) {
                        nms_EntityPlayer_dropPlayerItem($this.$mc2.$thePlayer, nms_InventoryPlayer_getItemStack($var11));
                        nms_PlayerControllerMP_func_78752_a($this.$mc2.$playerController, nms_InventoryPlayer_getItemStack($var11));
                        nms_InventoryPlayer_setItemStack($var11, null);
                    }
                    if ($par3 == 1) {
                        $var7 = nms_ItemStack_splitStack(nms_InventoryPlayer_getItemStack($var11), 1);
                        nms_EntityPlayer_dropPlayerItem($this.$mc2.$thePlayer, $var7);
                        nms_PlayerControllerMP_func_78752_a($this.$mc2.$playerController, $var7);
                        if (!nms_InventoryPlayer_getItemStack($var11).$stackSize)
                            nms_InventoryPlayer_setItemStack($var11, null);
                    }
                }
            } else {
                if ($par1Slot === $this.$field_74235_v && $var5) {
                    $var10 = 0;
                    $var6 = null;
                    while (true) {
                        if ($var10 >= ju_ArrayList_size(nms_Container_getInventory($this.$mc2.$thePlayer.$inventoryContainer)))
                            break a;
                        nms_PlayerControllerMP_sendSlotPacket($this.$mc2.$playerController, $var6, $var10);
                        $var10 = $var10 + 1 | 0;
                    }
                }
                if ($java.nms_GuiContainerCreative_selectedTabIndex == $java.nms_CreativeTabs_getTabIndex($java.nms_CreativeTabs_tabInventory)) {
                    if ($par1Slot === $this.$field_74235_v) {
                        nms_InventoryPlayer_setItemStack($this.$mc2.$thePlayer.$inventory, null);
                        break a;
                    }
                    $var5 = $rt_compare($par4, 4);
                    if (!$var5 && $par1Slot !== null && $par1Slot.$getHasStack()) {
                        $par2 = !$par3 ? 1 : nms_ItemStack_getMaxStackSize($par1Slot.$getStack());
                        $ptr = 4;
                        continue main;
                    }
                    if (!$var5 && nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory) !== null) {
                        nms_EntityPlayer_dropPlayerItem($this.$mc2.$thePlayer, nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory));
                        nms_PlayerControllerMP_func_78752_a($this.$mc2.$playerController, nms_InventoryPlayer_getItemStack($this.$mc2.$thePlayer.$inventory));
                        nms_InventoryPlayer_setItemStack($this.$mc2.$thePlayer.$inventory, null);
                        break a;
                    }
                    $var6 = $this.$mc2.$thePlayer.$inventoryContainer;
                    if ($par1Slot !== null)
                        $par2 = $java.nms_SlotCreativeInventory_func_75240_a($par1Slot).$slotNumber;
                    $par1Slot = $this.$mc2.$thePlayer;
                    $ptr = 2;
                    continue main;
                }
                if ($par4 != 5 && $par1Slot.$inventory0 === $java.nms_GuiContainerCreative_inventory) {
                    $var11 = $this.$mc2.$thePlayer.$inventory;
                    $var7 = nms_InventoryPlayer_getItemStack($var11);
                    $var8 = $par1Slot.$getStack();
                    if ($par4 == 2) {
                        if ($var8 !== null && $par3 >= 0 && $par3 < 9) {
                            $var9 = nms_ItemStack_copy($var8);
                            $var9.$stackSize = nms_ItemStack_getMaxStackSize($var9);
                            $par1Slot = $this.$mc2.$thePlayer.$inventory;
                            $ptr = 3;
                            continue main;
                        }
                        return;
                    }
                    if ($par4 == 3) {
                        if (nms_InventoryPlayer_getItemStack($var11) === null && $par1Slot.$getHasStack()) {
                            $var9 = nms_ItemStack_copy($par1Slot.$getStack());
                            $var9.$stackSize = nms_ItemStack_getMaxStackSize($var9);
                            nms_InventoryPlayer_setItemStack($var11, $var9);
                        }
                        return;
                    }
                    if ($par4 == 4) {
                        if ($var8 !== null) {
                            $var9 = nms_ItemStack_copy($var8);
                            $var9.$stackSize = $par3 ? nms_ItemStack_getMaxStackSize($var9) : 1;
                            nms_EntityPlayer_dropPlayerItem($this.$mc2.$thePlayer, $var9);
                            nms_PlayerControllerMP_func_78752_a($this.$mc2.$playerController, $var9);
                        }
                        return;
                    }
                    if (!($var7 !== null && $var8 !== null && nms_ItemStack_isItemEqual($var7, $var8))) {
                        if ($var8 !== null && $var7 === null) {
                            nms_InventoryPlayer_setItemStack($var11, nms_ItemStack_copyItemStack($var8));
                            $par1Slot = nms_InventoryPlayer_getItemStack($var11);
                            if ($var5)
                                $par1Slot.$stackSize = nms_ItemStack_getMaxStackSize($par1Slot);
                        } else
                            nms_InventoryPlayer_setItemStack($var11, null);
                    } else if ($par3) {
                        if ($var7.$stackSize <= 1)
                            nms_InventoryPlayer_setItemStack($var11, null);
                        else
                            $var7.$stackSize = $var7.$stackSize - 1 | 0;
                    } else if ($var5)
                        $var7.$stackSize = nms_ItemStack_getMaxStackSize($var7);
                    else if ($var7.$stackSize < nms_ItemStack_getMaxStackSize($var7))
                        $var7.$stackSize = $var7.$stackSize + 1 | 0;
                } else {
                    $var6 = $this.$inventorySlots0;
                    if ($par1Slot !== null)
                        $par2 = $par1Slot.$slotNumber;
                    $var11 = $this.$mc2.$thePlayer;
                    $ptr = 1;
                    continue main;
                }
            }
        }
        return;
    case 1:
        b: {
            nms_Container_slotClick($var6, $par2, $par3, $par4, $var11);
            if ($rt_suspending()) {
                break main;
            }
            if (nms_Container_func_94532_c($par3) == 2) {
                $var10 = 0;
                while (true) {
                    if ($var10 >= 9)
                        break b;
                    nms_PlayerControllerMP_sendSlotPacket($this.$mc2.$playerController, nms_Container_getSlot($this.$inventorySlots0, 45 + $var10 | 0).$getStack(), 36 + $var10 | 0);
                    $var10 = $var10 + 1 | 0;
                }
            } else if ($par1Slot !== null) {
                $var6 = nms_Container_getSlot($this.$inventorySlots0, $par1Slot.$slotNumber).$getStack();
                nms_PlayerControllerMP_sendSlotPacket($this.$mc2.$playerController, $var6, (($par1Slot.$slotNumber - ju_ArrayList_size($this.$inventorySlots0.$inventorySlots) | 0) + 9 | 0) + 36 | 0);
            }
        }
        return;
    case 2:
        nms_Container_slotClick($var6, $par2, $par3, $par4, $par1Slot);
        if ($rt_suspending()) {
            break main;
        }
        nms_Container_detectAndSendChanges($this.$mc2.$thePlayer.$inventoryContainer);
        return;
    case 3:
        nms_InventoryPlayer_setInventorySlotContents($par1Slot, $par3, $var9);
        if ($rt_suspending()) {
            break main;
        }
        nms_Container_detectAndSendChanges($this.$mc2.$thePlayer.$inventoryContainer);
        return;
    case 4:
        $tmp = $par1Slot.$decrStackSize0($par2);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $tmp;
        nms_EntityPlayer_dropPlayerItem($this.$mc2.$thePlayer, $var6);
        nms_PlayerControllerMP_func_78752_a($this.$mc2.$playerController, $var6);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Slot, $par2, $par3, $par4, $var5, $var11, $var7, $var10, $var6, $var8, $var9, $ptr);
};
$java.nms_GuiContainerCreative_initGui = function($this) {
    var $var1, var$2;
    if (!nms_PlayerControllerMP_isInCreativeMode($this.$mc2.$playerController))
        nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiInventory__init_($this.$mc2.$thePlayer));
    else {
        nms_InventoryEffectRenderer_initGui($this);
        ju_ArrayList_clear($this.$buttonList);
        nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
        $this.$searchField = nms_GuiTextField__init_($this.$fontRenderer0, $this.$guiLeft + 82 | 0, $this.$guiTop + 6 | 0, 89, $this.$fontRenderer0.$FONT_HEIGHT);
        nms_GuiTextField_setMaxStringLength($this.$searchField, 15);
        $this.$searchField.$enableBackgroundDrawing = 0;
        $this.$searchField.$visible = 0;
        $this.$searchField.$enabledColor = 16777215;
        $var1 = $java.nms_GuiContainerCreative_selectedTabIndex;
        $java.nms_GuiContainerCreative_selectedTabIndex = (-1);
        $java.nms_GuiContainerCreative_setCurrentCreativeTab($this, $java.nms_CreativeTabs_creativeTabArray.data[$var1]);
        var$2 = new nms_CreativeCrafting;
        var$2.$mc14 = $this.$mc2;
        $this.$field_82324_x = var$2;
        nms_Container_addCraftingToCrafters($this.$mc2.$thePlayer.$inventoryContainer, $this.$field_82324_x);
    }
};
$java.nms_GuiContainerCreative_onGuiClosed = function($this) {
    nms_GuiContainer_onGuiClosed($this);
    if ($this.$mc2.$thePlayer !== null && $this.$mc2.$thePlayer.$inventory !== null)
        nms_Container_removeCraftingFromCrafters($this.$mc2.$thePlayer.$inventoryContainer, $this.$field_82324_x);
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
};
$java.nms_GuiContainerCreative_keyTyped = function($this, $par1, $par2) {
    var var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_GuiContainerCreative_selectedTabIndex == $java.nms_CreativeTabs_tabAllSearch.$tabIndex) {
            if ($this.$field_74234_w) {
                $this.$field_74234_w = 0;
                nms_GuiTextField_setText($this.$searchField, $rt_s(36));
            }
            $ptr = 1;
            continue main;
        }
        var$3 = $this.$mc2.$gameSettings.$keyBindChat;
        nms_GameSettings_$callClinit();
        if (var$3.$keyCode >= 0 ? nlea_EaglerAdapterImpl2_isKeyDown(var$3.$keyCode) : nlea_EaglerAdapterImpl2_mouseIsButtonDown(var$3.$keyCode + 100 | 0)) {
            $java.nms_GuiContainerCreative_setCurrentCreativeTab($this, $java.nms_CreativeTabs_tabAllSearch);
            return;
        }
        $ptr = 4;
        continue main;
    case 1:
        $tmp = nms_GuiContainer_checkHotbarKeys($this, $par2);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $tmp;
        if (var$4)
            return;
        var$3 = $this.$searchField;
        $ptr = 2;
    case 2:
        $tmp = nms_GuiTextField_textboxKeyTyped(var$3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $tmp;
        if (var$4) {
            $java.nms_GuiContainerCreative_updateCreativeSearch($this);
            return;
        }
        $ptr = 3;
    case 3:
        nms_GuiContainer_keyTyped($this, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_GuiContainer_keyTyped($this, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, $ptr);
};
$java.nms_GuiContainerCreative_updateCreativeSearch = function($this) {
    var $var1, $var2, $var3, $var4, $var9, $var5, $var13, $var11, $var10, $var12, $var6;
    $var1 = $this.$inventorySlots0;
    ju_ArrayList_clear($var1.$itemList);
    nms_Item_$callClinit();
    $var2 = nms_Item_itemsList.data;
    $var3 = $var2.length;
    $var4 = 0;
    $var9 = null;
    while ($var4 < $var3) {
        $var5 = $var2[$var4];
        if ($var5 !== null && $var5.$getCreativeTab() !== null)
            $var5.$getSubItems($var5.$itemID, $var9, $var1.$itemList);
        $var4 = $var4 + 1 | 0;
    }
    nms_Enchantment_$callClinit();
    $var2 = nms_Enchantment_enchantmentsList.data;
    $var3 = $var2.length;
    $var13 = 0;
    while ($var13 < $var3) {
        $var11 = $var2[$var13];
        if ($var11 !== null && $var11.$type1 !== null)
            $java.nms_ItemEnchantedBook_func_92113_a(nms_Item_enchantedBook, $var11, $var1.$itemList);
        $var13 = $var13 + 1 | 0;
    }
    $var9 = ju_AbstractList_iterator($var1.$itemList);
    $var10 = jl_String_toLowerCase($this.$searchField.$text0);
    while (ju_AbstractList$1_hasNext($var9)) {
        $var12 = ju_AbstractList$1_next($var9);
        $var13 = 0;
        $var6 = ju_AbstractList_iterator(nms_ItemStack_getTooltip($var12, $this.$mc2.$thePlayer, $this.$mc2.$gameSettings.$advancedItemTooltips));
        a: {
            while (ju_AbstractList$1_hasNext($var6)) {
                if (jl_String_contains(jl_String_toLowerCase(ju_AbstractList$1_next($var6)), $var10)) {
                    $var13 = 1;
                    break a;
                }
            }
        }
        if (!$var13)
            ju_AbstractList$1_remove($var9);
    }
    $this.$currentScroll = 0.0;
    $java.nms_ContainerCreative_scrollTo($var1, 0.0);
};
$java.nms_GuiContainerCreative_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var $var3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = $java.nms_CreativeTabs_creativeTabArray.data[$java.nms_GuiContainerCreative_selectedTabIndex];
        if (!$var3.$drawTitle)
            return;
        var$4 = $this.$fontRenderer0;
        $var3 = $java.nms_CreativeTabs_getTranslatedTabLabel($var3);
        $par1 = 8;
        $par2 = 6;
        var$5 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$4, $var3, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, var$4, var$5, $ptr);
};
$java.nms_GuiContainerCreative_mouseClicked = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if (!$par3) {
                $var4 = $par1 - $this.$guiLeft | 0;
                $var5 = $par2 - $this.$guiTop | 0;
                $var6 = $java.nms_CreativeTabs_creativeTabArray.data;
                $var7 = $var6.length;
                $var8 = 0;
                while (true) {
                    if ($var8 >= $var7)
                        break a;
                    if ($java.nms_GuiContainerCreative_func_74232_a($this, $var6[$var8], $var4, $var5))
                        break;
                    $var8 = $var8 + 1 | 0;
                }
                return;
            }
        }
        $ptr = 1;
    case 1:
        nms_GuiContainer_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var7, $var8, $ptr);
};
$java.nms_GuiContainerCreative_mouseMovedOrUp = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var7, $var8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if (!$par3) {
                $var4 = $par1 - $this.$guiLeft | 0;
                $var5 = $par2 - $this.$guiTop | 0;
                $var6 = $java.nms_CreativeTabs_creativeTabArray.data;
                $var7 = $var6.length;
                $var8 = 0;
                while (true) {
                    if ($var8 >= $var7)
                        break a;
                    $var9 = $var6[$var8];
                    if ($java.nms_GuiContainerCreative_func_74232_a($this, $var9, $var4, $var5))
                        break;
                    $var8 = $var8 + 1 | 0;
                }
                $java.nms_GuiContainerCreative_setCurrentCreativeTab($this, $var9);
                return;
            }
        }
        $ptr = 1;
    case 1:
        nms_GuiContainer_mouseMovedOrUp($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var7, $var8, $var9, $ptr);
};
$java.nms_GuiContainerCreative_needsScrollBars = function($this) {
    return $java.nms_GuiContainerCreative_selectedTabIndex != $java.nms_CreativeTabs_tabInventory.$tabIndex && $java.nms_CreativeTabs_creativeTabArray.data[$java.nms_GuiContainerCreative_selectedTabIndex].$hasScrollbar && $java.nms_ContainerCreative_hasMoreThan1PageOfItemsInList($this.$inventorySlots0) ? 1 : 0;
};
$java.nms_GuiContainerCreative_setCurrentCreativeTab = function($this, $par1CreativeTabs) {
    var $var2, $var3, $var4, $var5, $var6, var$7, $var7, $var8, $var9;
    $var2 = $java.nms_GuiContainerCreative_selectedTabIndex;
    $java.nms_GuiContainerCreative_selectedTabIndex = $par1CreativeTabs.$tabIndex;
    $var3 = $this.$inventorySlots0;
    ju_HashSet_clear($this.$field_94077_p);
    ju_ArrayList_clear($var3.$itemList);
    $par1CreativeTabs.$displayAllReleventItems($var3.$itemList);
    if ($par1CreativeTabs === $java.nms_CreativeTabs_tabInventory) {
        $var4 = $this.$mc2.$thePlayer.$inventoryContainer;
        if ($this.$backupContainerSlots === null)
            $this.$backupContainerSlots = $var3.$inventorySlots;
        $var3.$inventorySlots = ju_ArrayList__init_0();
        $var5 = 0;
        while ($var5 < $var4.$inventorySlots.$size) {
            $var6 = new nms_SlotCreativeInventory;
            var$7 = ju_ArrayList_get($var4.$inventorySlots, $var5);
            nms_Slot__init_0($var6, var$7.$inventory0, $var5, 0, 0);
            $var6.$theCreativeInventory = $this;
            $var6.$theSlot1 = var$7;
            ju_ArrayList_add($var3.$inventorySlots, $var6);
            $var7 = $rt_compare($var5, 5);
            if ($var7 >= 0 && $var5 < 9) {
                $var7 = $var5 - 5 | 0;
                $var8 = $var7 / 2 | 0;
                $var9 = $var7 % 2 | 0;
                $var6.$xDisplayPosition = 9 + ($var8 * 54 | 0) | 0;
                $var6.$yDisplayPosition = 6 + ($var9 * 27 | 0) | 0;
            } else if ($var5 >= 0 && $var7 < 0) {
                $var6.$yDisplayPosition = (-2000);
                $var6.$xDisplayPosition = (-2000);
            } else if ($var5 < $var4.$inventorySlots.$size) {
                $var7 = $var5 - 9 | 0;
                $var8 = $var7 % 9 | 0;
                $var9 = $var7 / 9 | 0;
                $var6.$xDisplayPosition = 9 + ($var8 * 18 | 0) | 0;
                if ($var5 >= 36)
                    $var6.$yDisplayPosition = 112;
                else
                    $var6.$yDisplayPosition = 54 + ($var9 * 18 | 0) | 0;
            }
            $var5 = $var5 + 1 | 0;
        }
        $this.$field_74235_v = nms_Slot__init_($java.nms_GuiContainerCreative_inventory, 0, 173, 112);
        ju_ArrayList_add($var3.$inventorySlots, $this.$field_74235_v);
    } else if ($var2 == $java.nms_CreativeTabs_tabInventory.$tabIndex) {
        $var3.$inventorySlots = $this.$backupContainerSlots;
        $this.$backupContainerSlots = null;
    }
    if ($this.$searchField !== null) {
        if ($par1CreativeTabs !== $java.nms_CreativeTabs_tabAllSearch) {
            $this.$searchField.$visible = 0;
            $this.$searchField.$canLoseFocus = 1;
            nms_GuiTextField_setFocused($this.$searchField, 0);
        } else {
            $this.$searchField.$visible = 1;
            $this.$searchField.$canLoseFocus = 0;
            nms_GuiTextField_setFocused($this.$searchField, 1);
            nms_GuiTextField_setText($this.$searchField, $rt_s(36));
            $java.nms_GuiContainerCreative_updateCreativeSearch($this);
        }
    }
    $this.$currentScroll = 0.0;
    $java.nms_ContainerCreative_scrollTo($var3, 0.0);
};
$java.nms_GuiContainerCreative_handleMouseInput = function($this) {
    var $var1, $var2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_handleMouseInput($this);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = nlea_EaglerAdapterImpl2_mouseGetEventDWheel();
        if ($var1 && $java.nms_GuiContainerCreative_needsScrollBars($this)) {
            $var2 = (($this.$inventorySlots0.$itemList.$size / 9 | 0) - 5 | 0) + 1 | 0;
            if ($var1 > 0)
                $var1 = 1;
            if ($var1 < 0)
                $var1 = (-1);
            $this.$currentScroll = $this.$currentScroll - $var1 / $var2;
            if ($this.$currentScroll < 0.0)
                $this.$currentScroll = 0.0;
            if ($this.$currentScroll > 1.0)
                $this.$currentScroll = 1.0;
            $java.nms_ContainerCreative_scrollTo($this.$inventorySlots0, $this.$currentScroll);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $ptr);
};
$java.nms_GuiContainerCreative_drawScreen = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = nlea_EaglerAdapterImpl2_mouseIsButtonDown(0);
        $var5 = $this.$guiLeft;
        $var6 = $this.$guiTop;
        $var7 = $var5 + 175 | 0;
        $var8 = $var6 + 18 | 0;
        $var9 = $var7 + 14 | 0;
        $var10 = $var8 + 112 | 0;
        if (!$this.$wasClicking && $var4 && $par1 >= $var7 && $par2 >= $var8 && $par1 < $var9 && $par2 < $var10)
            $this.$isScrolling = $java.nms_GuiContainerCreative_needsScrollBars($this);
        if (!$var4)
            $this.$isScrolling = 0;
        $this.$wasClicking = $var4;
        if ($this.$isScrolling) {
            $this.$currentScroll = (($par2 - $var8 | 0) - 7.5) / (($var10 - $var8 | 0) - 15.0);
            if ($this.$currentScroll < 0.0)
                $this.$currentScroll = 0.0;
            if ($this.$currentScroll > 1.0)
                $this.$currentScroll = 1.0;
            $java.nms_ContainerCreative_scrollTo($this.$inventorySlots0, $this.$currentScroll);
        }
        $ptr = 1;
    case 1:
        nms_InventoryEffectRenderer_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var11 = $java.nms_CreativeTabs_creativeTabArray.data;
        $var12 = $var11.length;
        $var13 = 0;
        if ($var13 < $var12) {
            $var14 = $var11[$var13];
            $ptr = 2;
            continue main;
        }
        if ($this.$field_74235_v !== null && $java.nms_GuiContainerCreative_selectedTabIndex == $java.nms_CreativeTabs_tabInventory.$tabIndex && nms_GuiContainer_isPointInRegion($this, $this.$field_74235_v.$xDisplayPosition, $this.$field_74235_v.$yDisplayPosition, 16, 16, $par1, $par2)) {
            $var14 = nms_StringTranslate_translateKey(nms_StringTranslate_instance, $rt_s(2727));
            $ptr = 3;
            continue main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(2896);
        return;
    case 2:
        $tmp = $java.nms_GuiContainerCreative_renderCreativeInventoryHoveringText($this, $var14, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        if (!$var8) {
            $var13 = $var13 + 1 | 0;
            if ($var13 < $var12) {
                $var14 = $var11[$var13];
                continue main;
            }
        }
        if ($this.$field_74235_v !== null && $java.nms_GuiContainerCreative_selectedTabIndex == $java.nms_CreativeTabs_tabInventory.$tabIndex && nms_GuiContainer_isPointInRegion($this, $this.$field_74235_v.$xDisplayPosition, $this.$field_74235_v.$yDisplayPosition, 16, 16, $par1, $par2)) {
            $var14 = nms_StringTranslate_translateKey(nms_StringTranslate_instance, $rt_s(2727));
            $ptr = 3;
            continue main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(2896);
        return;
    case 3:
        nms_GuiContainer_drawCreativeTabHoveringText($this, $var14, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(2896);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $ptr);
};
$java.nms_GuiContainerCreative_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var7, $var8, var$9, $var9, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nms_RenderHelper_enableGUIStandardItemLighting2();
        $var4 = $java.nms_CreativeTabs_creativeTabArray.data[$java.nms_GuiContainerCreative_selectedTabIndex];
        $var5 = $java.nms_CreativeTabs_creativeTabArray.data;
        $var6 = $var5.length;
        $var7 = 0;
        if ($var7 < $var6) {
            $var8 = $var5[$var7];
            var$9 = $java.nms_GuiContainerCreative_tex;
            $ptr = 4;
            continue main;
        }
        $var8 = $this.$mc2.$renderEngine;
        var$9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$9);
        jl_AbstractStringBuilder_append(var$9, $rt_s(2728));
        jl_AbstractStringBuilder_append(var$9, $var4.$backgroundImageName);
        var$9 = jl_AbstractStringBuilder_toString(var$9);
        $ptr = 1;
    case 1:
        nms_RenderEngine_bindTexture0($var8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this, $this.$guiLeft, $this.$guiTop, 0, 0, $this.$xSize, $this.$ySize0);
        $var8 = $this.$searchField;
        $ptr = 2;
    case 2:
        nms_GuiTextField_drawTextBox($var8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var9 = $this.$guiLeft + 175 | 0;
        $var6 = $this.$guiTop + 18 | 0;
        $var7 = $var6 + 112 | 0;
        $var8 = $java.nms_GuiContainerCreative_tex;
        $ptr = 3;
    case 3:
        nle_TextureLocation_bindTexture($var8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var4.$hasScrollbar)
            nms_Gui_drawTexturedModalRect($this, $var9, $var6 + ((($var7 - $var6 | 0) - 17 | 0) * $this.$currentScroll | 0) | 0, 232 + (!$java.nms_GuiContainerCreative_needsScrollBars($this) ? 12 : 0) | 0, 0, 12, 15);
        $ptr = 5;
        continue main;
    case 4:
        nle_TextureLocation_bindTexture(var$9);
        if ($rt_suspending()) {
            break main;
        }
        if ($var8.$tabIndex != $java.nms_GuiContainerCreative_selectedTabIndex) {
            $ptr = 6;
            continue main;
        }
        $var7 = $var7 + 1 | 0;
        if ($var7 < $var6) {
            $var8 = $var5[$var7];
            var$9 = $java.nms_GuiContainerCreative_tex;
            continue main;
        }
        $var8 = $this.$mc2.$renderEngine;
        var$9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$9);
        jl_AbstractStringBuilder_append(var$9, $rt_s(2728));
        jl_AbstractStringBuilder_append(var$9, $var4.$backgroundImageName);
        var$9 = jl_AbstractStringBuilder_toString(var$9);
        $ptr = 1;
        continue main;
    case 5:
        $java.nms_GuiContainerCreative_renderCreativeTab($this, $var4);
        if ($rt_suspending()) {
            break main;
        }
        if ($var4 !== $java.nms_CreativeTabs_tabInventory)
            return;
        $var8 = $this.$mc2;
        $var9 = $this.$guiLeft + 43 | 0;
        $var6 = $this.$guiTop + 45 | 0;
        $var7 = 20;
        $par1 = ($this.$guiLeft + 43 | 0) - $par2 | 0;
        var$11 = (($this.$guiTop + 45 | 0) - 30 | 0) - $par3 | 0;
        $ptr = 7;
        continue main;
    case 6:
        $java.nms_GuiContainerCreative_renderCreativeTab($this, $var8);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $var7 + 1 | 0;
        if ($var7 < $var6) {
            $var8 = $var5[$var7];
            var$9 = $java.nms_GuiContainerCreative_tex;
            $ptr = 4;
            continue main;
        }
        $var8 = $this.$mc2.$renderEngine;
        var$9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$9);
        jl_AbstractStringBuilder_append(var$9, $rt_s(2728));
        jl_AbstractStringBuilder_append(var$9, $var4.$backgroundImageName);
        var$9 = jl_AbstractStringBuilder_toString(var$9);
        $ptr = 1;
        continue main;
    case 7:
        nms_GuiInventory_drawPlayerOnGui($var8, $var9, $var6, $var7, $par1, var$11);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var7, $var8, var$9, $var9, var$11, $ptr);
};
$java.nms_GuiContainerCreative_func_74232_a = function($this, $par1CreativeTabs, $par2, $par3) {
    var $var4, $var5, $var7;
    $var4 = $java.nms_CreativeTabs_getTabColumn($par1CreativeTabs);
    $var5 = 28 * $var4 | 0;
    if ($var4 == 5)
        $var5 = ($this.$xSize - 28 | 0) + 2 | 0;
    else if ($var4 > 0)
        $var5 = $var5 + $var4 | 0;
    $var7 = !$java.nms_CreativeTabs_isTabInFirstRow($par1CreativeTabs) ? 0 + $this.$ySize0 | 0 : (-32);
    return $par2 >= $var5 && $par2 <= ($var5 + 28 | 0) && $par3 >= $var7 && $par3 <= ($var7 + 32 | 0) ? 1 : 0;
};
$java.nms_GuiContainerCreative_renderCreativeInventoryHoveringText = function($this, $par1CreativeTabs, $par2, $par3) {
    var $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1CreativeTabs = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = $java.nms_CreativeTabs_getTabColumn($par1CreativeTabs);
        $var5 = 28 * $var4 | 0;
        if ($var4 == 5)
            $var5 = ($this.$xSize - 28 | 0) + 2 | 0;
        else if ($var4 > 0)
            $var5 = $var5 + $var4 | 0;
        if (!nms_GuiContainer_isPointInRegion($this, $var5 + 3 | 0, (!$java.nms_CreativeTabs_isTabInFirstRow($par1CreativeTabs) ? 0 + $this.$ySize0 | 0 : (-32)) + 3 | 0, 23, 27, $par2, $par3))
            return 0;
        $par1CreativeTabs = $java.nms_CreativeTabs_getTranslatedTabLabel($par1CreativeTabs);
        $ptr = 1;
    case 1:
        nms_GuiContainer_drawCreativeTabHoveringText($this, $par1CreativeTabs, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1CreativeTabs, $par2, $par3, $var4, $var5, $ptr);
};
$java.nms_GuiContainerCreative_renderCreativeTab = function($this, $par1CreativeTabs) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var10, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1CreativeTabs = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $par1CreativeTabs.$tabIndex != $java.nms_GuiContainerCreative_selectedTabIndex ? 0 : 1;
        $var3 = $java.nms_CreativeTabs_isTabInFirstRow($par1CreativeTabs);
        $var4 = $java.nms_CreativeTabs_getTabColumn($par1CreativeTabs);
        $var5 = $var4 * 28 | 0;
        $var6 = 0;
        $var7 = $this.$guiLeft + $var5 | 0;
        $var8 = $this.$guiTop;
        if ($var2)
            $var6 = 32;
        if ($var4 == 5)
            $var7 = ($this.$guiLeft + $this.$xSize | 0) - 28 | 0;
        else if ($var4 > 0)
            $var7 = $var7 + $var4 | 0;
        if ($var3)
            $var4 = $var8 + (-28) | 0;
        else {
            $var6 = $var6 + 64 | 0;
            $var4 = $var8 + ($this.$ySize0 - 4 | 0) | 0;
        }
        nleg_EaglerAdapterGL30_glDisable(2896);
        nms_Gui_drawTexturedModalRect($this, $var7, $var4, $var5, $var6, 28, 32);
        $this.$zLevel = 100.0;
        nms_GuiContainer_itemRenderer.$zLevel0 = 100.0;
        $var2 = $var7 + 6 | 0;
        $var3 = $var4 + (8 + (!$var3 ? (-1) : 1) | 0) | 0;
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(32826);
        $var10 = nms_ItemStack__init_5($java.nms_CreativeTabs_getTabIconItem($par1CreativeTabs));
        $par1CreativeTabs = nms_GuiContainer_itemRenderer;
        var$10 = $this.$fontRenderer0;
        var$11 = $this.$mc2.$renderEngine;
        $ptr = 1;
    case 1:
        nms_RenderItem_renderItemAndEffectIntoGUI($par1CreativeTabs, var$10, var$11, $var10, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $par1CreativeTabs = nms_GuiContainer_itemRenderer;
        var$10 = $this.$fontRenderer0;
        var$11 = $this.$mc2.$renderEngine;
        $ptr = 2;
    case 2:
        nms_RenderItem_renderItemOverlayIntoGUI($par1CreativeTabs, var$10, var$11, $var10, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nms_GuiContainer_itemRenderer.$zLevel0 = 0.0;
        $this.$zLevel = 0.0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1CreativeTabs, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var10, var$10, var$11, $ptr);
};
$java.nms_GuiContainerCreative_actionPerformed = function($this, $par1GuiButton) {
    return;
};
$java.nms_GuiContainerCreative_func_74230_h = function($this) {
    return $java.nms_GuiContainerCreative_selectedTabIndex;
};
$java.nms_GuiContainerCreative_getInventory = function() {
    $java.nms_GuiContainerCreative_$callClinit();
    return $java.nms_GuiContainerCreative_inventory;
};
$java.nms_GuiContainerCreative__clinit_ = function() {
    $java.nms_GuiContainerCreative_inventory = $java.nms_InventoryBasic__init_($rt_s(2729), 1, 45);
    $java.nms_GuiContainerCreative_selectedTabIndex = nms_CreativeTabs_tabBlock.$tabIndex;
    $java.nms_GuiContainerCreative_tex = nle_TextureLocation__init_($rt_s(2730));
};
function nms_GuiButton() {
    var a = this; nms_Gui.call(a);
    a.$width6 = 0;
    a.$height8 = 0;
    a.$xPosition1 = 0;
    a.$yPosition = 0;
    a.$displayString = null;
    a.$id3 = 0;
    a.$enabled = 0;
    a.$drawButton0 = 0;
    a.$field_82253_i = 0;
}
$java.nms_GuiButton_tex_gui = null;
function nms_GuiButton__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_GuiButton();
    $java.nms_GuiButton__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_GuiButton__init_0(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_GuiButton();
    nms_GuiButton__init_1(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
}
$java.nms_GuiButton__init_ = function($this, $par1, $par2, $par3, $par4Str) {
    nms_GuiButton__init_1($this, $par1, $par2, $par3, 200, 20, $par4Str);
};
function nms_GuiButton__init_1($this, $par1, $par2, $par3, $par4, $par5, $par6Str) {
    nms_Gui__init_($this);
    $this.$width6 = 200;
    $this.$height8 = 20;
    $this.$enabled = 1;
    $this.$drawButton0 = 1;
    $this.$id3 = $par1;
    $this.$xPosition1 = $par2;
    $this.$yPosition = $par3;
    $this.$width6 = $par4;
    $this.$height8 = $par5;
    $this.$displayString = $par6Str;
}
$java.nms_GuiButton_getHoverState = function($this, $par1) {
    var $var2;
    $var2 = 1;
    if (!$this.$enabled)
        $var2 = 0;
    else if ($par1)
        $var2 = 2;
    return $var2;
};
$java.nms_GuiButton_drawButton = function($this, $par1Minecraft, $par2, $par3) {
    var $var4, var$5, $var5, $var6, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Minecraft = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$drawButton0)
            return;
        $var4 = $par1Minecraft.$fontRenderer;
        var$5 = $java.nms_GuiButton_tex_gui;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$5);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $this.$field_82253_i = $par2 >= $this.$xPosition1 && $par3 >= $this.$yPosition && $par2 < ($this.$xPosition1 + $this.$width6 | 0) && $par3 < ($this.$yPosition + $this.$height8 | 0) ? 1 : 0;
        $var5 = $this.$getHoverState($this.$field_82253_i);
        $var6 = $this.$xPosition1;
        var$8 = $this.$yPosition;
        $var5 = 46 + ($var5 * 20 | 0) | 0;
        nms_Gui_drawTexturedModalRect($this, $var6, var$8, 0, $var5, $this.$width6 / 2 | 0, $this.$height8);
        nms_Gui_drawTexturedModalRect($this, $this.$xPosition1 + ($this.$width6 / 2 | 0) | 0, $this.$yPosition, 200 - ($this.$width6 / 2 | 0) | 0, $var5, $this.$width6 / 2 | 0, $this.$height8);
        $this.$mouseDragged($par1Minecraft, $par2, $par3);
        $var6 = 14737632;
        if (!$this.$enabled)
            $var6 = (-6250336);
        else if ($this.$field_82253_i)
            $var6 = 16777120;
        $par1Minecraft = $this.$displayString;
        $par2 = $this.$xPosition1 + ($this.$width6 / 2 | 0) | 0;
        $par3 = $this.$yPosition + (($this.$height8 - 8 | 0) / 2 | 0) | 0;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, $var4, $par1Minecraft, $par2, $par3, $var6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Minecraft, $par2, $par3, $var4, var$5, $var5, $var6, var$8, $ptr);
};
$java.nms_GuiButton_mouseDragged = function($this, $par1Minecraft, $par2, $par3) {
    return;
};
$java.nms_GuiButton_mouseReleased = function($this, $par1, $par2) {
    return;
};
$java.nms_GuiButton_mousePressed = function($this, $par1Minecraft, $par2, $par3) {
    return $this.$enabled && $this.$drawButton0 && $par2 >= $this.$xPosition1 && $par3 >= $this.$yPosition && $par2 < ($this.$xPosition1 + $this.$width6 | 0) && $par3 < ($this.$yPosition + $this.$height8 | 0) ? 1 : 0;
};
$java.nms_GuiButton_func_82252_a = function($this) {
    return $this.$field_82253_i;
};
$java.nms_GuiButton_func_82251_b = function($this, $par1, $par2) {
    return;
};
function nms_GuiButton__clinit_() {
    $java.nms_GuiButton_tex_gui = nle_TextureLocation__init_($rt_s(532));
}
function nle_License() {
    jl_Object.call(this);
}
var nle_License_line00 = null;
var nle_License_line10 = null;
var nle_License_line11 = null;
var nle_License_line12 = null;
var nle_License_line20 = null;
var nle_License_line21 = null;
var nle_License_line30 = null;
var nle_License_line31 = null;
var nle_License_line32 = null;
var nle_License_line40 = null;
var nle_License_line50 = null;
var nle_License_line60 = null;
var nle_License_line61 = null;
$java.nle_License_line70 = null;
$java.nle_License_line71 = null;
$java.nle_License_line72 = null;
$java.nle_License__init_ = function() {
    var var_0 = new nle_License();
    nle_License__init_(var_0);
    return var_0;
};
function nle_License__init_($this) {
    return;
}
function nle_License__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createByteArray(19);
    var$2 = var$1.data;
    var$2[0] = 76;
    var$2[1] = 105;
    var$2[2] = 99;
    var$2[3] = 101;
    var$2[4] = 110;
    var$2[5] = 115;
    var$2[6] = 101;
    var$2[7] = 32;
    var$2[8] = 39;
    var$2[9] = 65;
    var$2[10] = 103;
    var$2[11] = 114;
    var$2[12] = 101;
    var$2[13] = 101;
    var$2[14] = 109;
    var$2[15] = 101;
    var$2[16] = 110;
    var$2[17] = 116;
    var$2[18] = 39;
    nle_License_line00 = var$1;
    var$1 = $rt_createByteArray(68);
    var$2 = var$1.data;
    var$2[0] = 69;
    var$2[1] = 97;
    var$2[2] = 103;
    var$2[3] = 108;
    var$2[4] = 101;
    var$2[5] = 114;
    var$2[6] = 99;
    var$2[7] = 114;
    var$2[8] = 97;
    var$2[9] = 102;
    var$2[10] = 116;
    var$2[11] = 32;
    var$2[12] = 105;
    var$2[13] = 115;
    var$2[14] = 32;
    var$2[15] = (-62);
    var$2[16] = (-89);
    var$2[17] = 100;
    var$2[18] = 102;
    var$2[19] = 114;
    var$2[20] = 101;
    var$2[21] = 101;
    var$2[22] = 32;
    var$2[23] = 115;
    var$2[24] = 111;
    var$2[25] = 102;
    var$2[26] = 116;
    var$2[27] = 119;
    var$2[28] = 97;
    var$2[29] = 114;
    var$2[30] = 101;
    var$2[31] = 44;
    var$2[32] = (-62);
    var$2[33] = (-89);
    var$2[34] = 114;
    var$2[35] = 32;
    var$2[36] = 105;
    var$2[37] = 102;
    var$2[38] = 32;
    var$2[39] = 115;
    var$2[40] = 111;
    var$2[41] = 109;
    var$2[42] = 101;
    var$2[43] = 111;
    var$2[44] = 110;
    var$2[45] = 101;
    var$2[46] = 32;
    var$2[47] = 105;
    var$2[48] = 110;
    var$2[49] = 116;
    var$2[50] = 101;
    var$2[51] = 110;
    var$2[52] = 116;
    var$2[53] = 105;
    var$2[54] = 111;
    var$2[55] = 110;
    var$2[56] = 97;
    var$2[57] = 108;
    var$2[58] = 108;
    var$2[59] = 121;
    var$2[60] = 32;
    var$2[61] = 99;
    var$2[62] = 104;
    var$2[63] = 97;
    var$2[64] = 114;
    var$2[65] = 103;
    var$2[66] = 101;
    var$2[67] = 100;
    nle_License_line10 = var$1;
    var$1 = $rt_createByteArray(60);
    var$2 = var$1.data;
    var$2[0] = 121;
    var$2[1] = 111;
    var$2[2] = 117;
    var$2[3] = 32;
    var$2[4] = 97;
    var$2[5] = 110;
    var$2[6] = 121;
    var$2[7] = 32;
    var$2[8] = 115;
    var$2[9] = 117;
    var$2[10] = 109;
    var$2[11] = 32;
    var$2[12] = 111;
    var$2[13] = 102;
    var$2[14] = 32;
    var$2[15] = 109;
    var$2[16] = 111;
    var$2[17] = 110;
    var$2[18] = 101;
    var$2[19] = 121;
    var$2[20] = 32;
    var$2[21] = 116;
    var$2[22] = 111;
    var$2[23] = 32;
    var$2[24] = 103;
    var$2[25] = 97;
    var$2[26] = 105;
    var$2[27] = 110;
    var$2[28] = 32;
    var$2[29] = 97;
    var$2[30] = 99;
    var$2[31] = 99;
    var$2[32] = 101;
    var$2[33] = 115;
    var$2[34] = 115;
    var$2[35] = 32;
    var$2[36] = 116;
    var$2[37] = 111;
    var$2[38] = 32;
    var$2[39] = 116;
    var$2[40] = 104;
    var$2[41] = 105;
    var$2[42] = 115;
    var$2[43] = 32;
    var$2[44] = 102;
    var$2[45] = 105;
    var$2[46] = 108;
    var$2[47] = 101;
    var$2[48] = 44;
    var$2[49] = 32;
    var$2[50] = 121;
    var$2[51] = 111;
    var$2[52] = 117;
    var$2[53] = 32;
    var$2[54] = 97;
    var$2[55] = 114;
    var$2[56] = 101;
    var$2[57] = 32;
    var$2[58] = 97;
    var$2[59] = 110;
    nle_License_line11 = var$1;
    var$1 = $rt_createByteArray(52);
    var$2 = var$1.data;
    var$2[0] = 105;
    var$2[1] = 100;
    var$2[2] = 105;
    var$2[3] = 111;
    var$2[4] = 116;
    var$2[5] = 32;
    var$2[6] = 97;
    var$2[7] = 110;
    var$2[8] = 100;
    var$2[9] = 32;
    var$2[10] = 97;
    var$2[11] = 32;
    var$2[12] = 118;
    var$2[13] = 105;
    var$2[14] = 99;
    var$2[15] = 116;
    var$2[16] = 105;
    var$2[17] = 109;
    var$2[18] = 32;
    var$2[19] = 111;
    var$2[20] = 102;
    var$2[21] = 32;
    var$2[22] = 112;
    var$2[23] = 105;
    var$2[24] = 114;
    var$2[25] = 97;
    var$2[26] = 99;
    var$2[27] = 121;
    var$2[28] = 46;
    var$2[29] = 32;
    var$2[30] = 83;
    var$2[31] = 116;
    var$2[32] = 111;
    var$2[33] = 112;
    var$2[34] = 32;
    var$2[35] = 112;
    var$2[36] = 108;
    var$2[37] = 97;
    var$2[38] = 121;
    var$2[39] = 105;
    var$2[40] = 110;
    var$2[41] = 103;
    var$2[42] = 32;
    var$2[43] = 121;
    var$2[44] = 111;
    var$2[45] = 117;
    var$2[46] = 114;
    var$2[47] = 115;
    var$2[48] = 101;
    var$2[49] = 108;
    var$2[50] = 102;
    var$2[51] = 46;
    nle_License_line12 = var$1;
    var$1 = $rt_createByteArray(61);
    var$2 = var$1.data;
    var$2[0] = 67;
    var$2[1] = 108;
    var$2[2] = 105;
    var$2[3] = 99;
    var$2[4] = 107;
    var$2[5] = 32;
    var$2[6] = 39;
    var$2[7] = 70;
    var$2[8] = 111;
    var$2[9] = 114;
    var$2[10] = 107;
    var$2[11] = 32;
    var$2[12] = 111;
    var$2[13] = 110;
    var$2[14] = 32;
    var$2[15] = 71;
    var$2[16] = 105;
    var$2[17] = 116;
    var$2[18] = 104;
    var$2[19] = 117;
    var$2[20] = 98;
    var$2[21] = 39;
    var$2[22] = 32;
    var$2[23] = 111;
    var$2[24] = 110;
    var$2[25] = 32;
    var$2[26] = 116;
    var$2[27] = 104;
    var$2[28] = 101;
    var$2[29] = 32;
    var$2[30] = 109;
    var$2[31] = 97;
    var$2[32] = 105;
    var$2[33] = 110;
    var$2[34] = 32;
    var$2[35] = 109;
    var$2[36] = 101;
    var$2[37] = 110;
    var$2[38] = 117;
    var$2[39] = 32;
    var$2[40] = 116;
    var$2[41] = 111;
    var$2[42] = 32;
    var$2[43] = 97;
    var$2[44] = 99;
    var$2[45] = 99;
    var$2[46] = 101;
    var$2[47] = 115;
    var$2[48] = 115;
    var$2[49] = 32;
    var$2[50] = 116;
    var$2[51] = 104;
    var$2[52] = 101;
    var$2[53] = 32;
    var$2[54] = 111;
    var$2[55] = 102;
    var$2[56] = 102;
    var$2[57] = 105;
    var$2[58] = 99;
    var$2[59] = 97;
    var$2[60] = 108;
    nle_License_line20 = var$1;
    var$1 = $rt_createByteArray(61);
    var$2 = var$1.data;
    var$2[0] = 115;
    var$2[1] = 111;
    var$2[2] = 117;
    var$2[3] = 114;
    var$2[4] = 99;
    var$2[5] = 101;
    var$2[6] = 32;
    var$2[7] = 99;
    var$2[8] = 111;
    var$2[9] = 100;
    var$2[10] = 101;
    var$2[11] = 32;
    var$2[12] = 116;
    var$2[13] = 111;
    var$2[14] = 32;
    var$2[15] = 100;
    var$2[16] = 111;
    var$2[17] = 119;
    var$2[18] = 110;
    var$2[19] = 108;
    var$2[20] = 111;
    var$2[21] = 97;
    var$2[22] = 100;
    var$2[23] = 32;
    var$2[24] = 116;
    var$2[25] = 104;
    var$2[26] = 105;
    var$2[27] = 115;
    var$2[28] = 32;
    var$2[29] = 101;
    var$2[30] = 100;
    var$2[31] = 117;
    var$2[32] = 99;
    var$2[33] = 97;
    var$2[34] = 116;
    var$2[35] = 105;
    var$2[36] = 111;
    var$2[37] = 110;
    var$2[38] = 97;
    var$2[39] = 108;
    var$2[40] = 32;
    var$2[41] = 112;
    var$2[42] = 114;
    var$2[43] = 111;
    var$2[44] = 106;
    var$2[45] = 101;
    var$2[46] = 99;
    var$2[47] = 116;
    var$2[48] = 32;
    var$2[49] = 108;
    var$2[50] = 101;
    var$2[51] = 103;
    var$2[52] = 105;
    var$2[53] = 116;
    var$2[54] = 105;
    var$2[55] = 109;
    var$2[56] = 97;
    var$2[57] = 116;
    var$2[58] = 101;
    var$2[59] = 108;
    var$2[60] = 121;
    nle_License_line21 = var$1;
    var$1 = $rt_createByteArray(63);
    var$2 = var$1.data;
    var$2[0] = 73;
    var$2[1] = 32;
    var$2[2] = 97;
    var$2[3] = 109;
    var$2[4] = 32;
    var$2[5] = 97;
    var$2[6] = 119;
    var$2[7] = 97;
    var$2[8] = 114;
    var$2[9] = 101;
    var$2[10] = 32;
    var$2[11] = 116;
    var$2[12] = 104;
    var$2[13] = 97;
    var$2[14] = 116;
    var$2[15] = 32;
    var$2[16] = 116;
    var$2[17] = 104;
    var$2[18] = 105;
    var$2[19] = 115;
    var$2[20] = 32;
    var$2[21] = 112;
    var$2[22] = 114;
    var$2[23] = 111;
    var$2[24] = 106;
    var$2[25] = 101;
    var$2[26] = 99;
    var$2[27] = 116;
    var$2[28] = 32;
    var$2[29] = 118;
    var$2[30] = 105;
    var$2[31] = 111;
    var$2[32] = 108;
    var$2[33] = 97;
    var$2[34] = 116;
    var$2[35] = 101;
    var$2[36] = 100;
    var$2[37] = 32;
    var$2[38] = 77;
    var$2[39] = 111;
    var$2[40] = 106;
    var$2[41] = 97;
    var$2[42] = 110;
    var$2[43] = 103;
    var$2[44] = 39;
    var$2[45] = 115;
    var$2[46] = 32;
    var$2[47] = 84;
    var$2[48] = 101;
    var$2[49] = 114;
    var$2[50] = 109;
    var$2[51] = 115;
    var$2[52] = 32;
    var$2[53] = 111;
    var$2[54] = 102;
    var$2[55] = 32;
    var$2[56] = 83;
    var$2[57] = 101;
    var$2[58] = 114;
    var$2[59] = 118;
    var$2[60] = 105;
    var$2[61] = 99;
    var$2[62] = 101;
    nle_License_line30 = var$1;
    var$1 = $rt_createByteArray(64);
    var$2 = var$1.data;
    var$2[0] = 84;
    var$2[1] = 104;
    var$2[2] = 105;
    var$2[3] = 115;
    var$2[4] = 32;
    var$2[5] = 105;
    var$2[6] = 115;
    var$2[7] = 32;
    var$2[8] = 103;
    var$2[9] = 111;
    var$2[10] = 105;
    var$2[11] = 110;
    var$2[12] = 103;
    var$2[13] = 32;
    var$2[14] = 116;
    var$2[15] = 111;
    var$2[16] = 32;
    var$2[17] = 99;
    var$2[18] = 104;
    var$2[19] = 97;
    var$2[20] = 110;
    var$2[21] = 103;
    var$2[22] = 101;
    var$2[23] = 32;
    var$2[24] = 105;
    var$2[25] = 110;
    var$2[26] = 32;
    var$2[27] = 97;
    var$2[28] = 32;
    var$2[29] = 102;
    var$2[30] = 101;
    var$2[31] = 119;
    var$2[32] = 32;
    var$2[33] = 119;
    var$2[34] = 101;
    var$2[35] = 101;
    var$2[36] = 107;
    var$2[37] = 115;
    var$2[38] = 44;
    var$2[39] = 32;
    var$2[40] = 119;
    var$2[41] = 104;
    var$2[42] = 101;
    var$2[43] = 110;
    var$2[44] = 32;
    var$2[45] = 73;
    var$2[46] = 32;
    var$2[47] = 99;
    var$2[48] = 111;
    var$2[49] = 110;
    var$2[50] = 118;
    var$2[51] = 101;
    var$2[52] = 114;
    var$2[53] = 116;
    var$2[54] = 32;
    var$2[55] = 116;
    var$2[56] = 104;
    var$2[57] = 105;
    var$2[58] = 115;
    var$2[59] = 32;
    var$2[60] = 103;
    var$2[61] = 97;
    var$2[62] = 109;
    var$2[63] = 101;
    nle_License_line31 = var$1;
    var$1 = $rt_createByteArray(61);
    var$2 = var$1.data;
    var$2[0] = 105;
    var$2[1] = 110;
    var$2[2] = 116;
    var$2[3] = 111;
    var$2[4] = 32;
    var$2[5] = 97;
    var$2[6] = 110;
    var$2[7] = 32;
    var$2[8] = 111;
    var$2[9] = 110;
    var$2[10] = 108;
    var$2[11] = 105;
    var$2[12] = 110;
    var$2[13] = 101;
    var$2[14] = 45;
    var$2[15] = 109;
    var$2[16] = 111;
    var$2[17] = 100;
    var$2[18] = 101;
    var$2[19] = 32;
    var$2[20] = 112;
    var$2[21] = 108;
    var$2[22] = 117;
    var$2[23] = 103;
    var$2[24] = 105;
    var$2[25] = 110;
    var$2[26] = 32;
    var$2[27] = 116;
    var$2[28] = 104;
    var$2[29] = 97;
    var$2[30] = 116;
    var$2[31] = 32;
    var$2[32] = 114;
    var$2[33] = 101;
    var$2[34] = 113;
    var$2[35] = 117;
    var$2[36] = 105;
    var$2[37] = 114;
    var$2[38] = 101;
    var$2[39] = 115;
    var$2[40] = 32;
    var$2[41] = 97;
    var$2[42] = 32;
    var$2[43] = 109;
    var$2[44] = 105;
    var$2[45] = 99;
    var$2[46] = 114;
    var$2[47] = 111;
    var$2[48] = 115;
    var$2[49] = 111;
    var$2[50] = 102;
    var$2[51] = 116;
    var$2[52] = 32;
    var$2[53] = 97;
    var$2[54] = 99;
    var$2[55] = 99;
    var$2[56] = 111;
    var$2[57] = 117;
    var$2[58] = 110;
    var$2[59] = 116;
    var$2[60] = 46;
    nle_License_line32 = var$1;
    var$1 = $rt_createByteArray(53);
    var$2 = var$1.data;
    var$2[0] = 85;
    var$2[1] = 110;
    var$2[2] = 116;
    var$2[3] = 105;
    var$2[4] = 108;
    var$2[5] = 32;
    var$2[6] = 116;
    var$2[7] = 104;
    var$2[8] = 101;
    var$2[9] = 110;
    var$2[10] = 44;
    var$2[11] = 32;
    var$2[12] = 68;
    var$2[13] = 79;
    var$2[14] = 32;
    var$2[15] = 78;
    var$2[16] = 79;
    var$2[17] = 84;
    var$2[18] = 32;
    var$2[19] = 66;
    var$2[20] = 85;
    var$2[21] = 89;
    var$2[22] = 32;
    var$2[23] = 79;
    var$2[24] = 82;
    var$2[25] = 32;
    var$2[26] = 83;
    var$2[27] = 69;
    var$2[28] = 76;
    var$2[29] = 76;
    var$2[30] = 32;
    var$2[31] = 65;
    var$2[32] = 67;
    var$2[33] = 67;
    var$2[34] = 69;
    var$2[35] = 83;
    var$2[36] = 83;
    var$2[37] = 32;
    var$2[38] = 84;
    var$2[39] = 79;
    var$2[40] = 32;
    var$2[41] = 84;
    var$2[42] = 72;
    var$2[43] = 73;
    var$2[44] = 83;
    var$2[45] = 32;
    var$2[46] = 80;
    var$2[47] = 82;
    var$2[48] = 79;
    var$2[49] = 74;
    var$2[50] = 69;
    var$2[51] = 67;
    var$2[52] = 84;
    nle_License_line40 = var$1;
    var$1 = $rt_createByteArray(33);
    var$2 = var$1.data;
    var$2[0] = 73;
    var$2[1] = 32;
    var$2[2] = 117;
    var$2[3] = 110;
    var$2[4] = 100;
    var$2[5] = 101;
    var$2[6] = 114;
    var$2[7] = 115;
    var$2[8] = 116;
    var$2[9] = 97;
    var$2[10] = 110;
    var$2[11] = 100;
    var$2[12] = 32;
    var$2[13] = 97;
    var$2[14] = 110;
    var$2[15] = 100;
    var$2[16] = 32;
    var$2[17] = 107;
    var$2[18] = 110;
    var$2[19] = 111;
    var$2[20] = 119;
    var$2[21] = 32;
    var$2[22] = 104;
    var$2[23] = 111;
    var$2[24] = 119;
    var$2[25] = 32;
    var$2[26] = 116;
    var$2[27] = 111;
    var$2[28] = 32;
    var$2[29] = 114;
    var$2[30] = 101;
    var$2[31] = 97;
    var$2[32] = 100;
    nle_License_line50 = var$1;
    var$1 = $rt_createByteArray(6);
    var$2 = var$1.data;
    var$2[0] = 65;
    var$2[1] = 99;
    var$2[2] = 99;
    var$2[3] = 101;
    var$2[4] = 112;
    var$2[5] = 116;
    nle_License_line60 = var$1;
    var$1 = $rt_createByteArray(7);
    var$2 = var$1.data;
    var$2[0] = 68;
    var$2[1] = 101;
    var$2[2] = 99;
    var$2[3] = 108;
    var$2[4] = 105;
    var$2[5] = 110;
    var$2[6] = 101;
    nle_License_line61 = var$1;
    var$1 = $rt_createByteArray(25);
    var$2 = var$1.data;
    var$2[0] = 84;
    var$2[1] = 101;
    var$2[2] = 114;
    var$2[3] = 109;
    var$2[4] = 115;
    var$2[5] = 32;
    var$2[6] = 111;
    var$2[7] = 102;
    var$2[8] = 32;
    var$2[9] = 83;
    var$2[10] = 101;
    var$2[11] = 114;
    var$2[12] = 118;
    var$2[13] = 105;
    var$2[14] = 99;
    var$2[15] = 101;
    var$2[16] = 32;
    var$2[17] = 68;
    var$2[18] = 101;
    var$2[19] = 99;
    var$2[20] = 108;
    var$2[21] = 105;
    var$2[22] = 110;
    var$2[23] = 101;
    var$2[24] = 100;
    $java.nle_License_line70 = var$1;
    var$1 = $rt_createByteArray(49);
    var$2 = var$1.data;
    var$2[0] = 121;
    var$2[1] = 111;
    var$2[2] = 117;
    var$2[3] = 32;
    var$2[4] = 99;
    var$2[5] = 97;
    var$2[6] = 110;
    var$2[7] = 110;
    var$2[8] = 111;
    var$2[9] = 116;
    var$2[10] = 32;
    var$2[11] = 117;
    var$2[12] = 115;
    var$2[13] = 101;
    var$2[14] = 32;
    var$2[15] = 116;
    var$2[16] = 104;
    var$2[17] = 105;
    var$2[18] = 115;
    var$2[19] = 32;
    var$2[20] = 115;
    var$2[21] = 111;
    var$2[22] = 102;
    var$2[23] = 116;
    var$2[24] = 119;
    var$2[25] = 97;
    var$2[26] = 114;
    var$2[27] = 101;
    var$2[28] = 32;
    var$2[29] = 105;
    var$2[30] = 102;
    var$2[31] = 32;
    var$2[32] = 121;
    var$2[33] = 111;
    var$2[34] = 117;
    var$2[35] = 32;
    var$2[36] = 100;
    var$2[37] = 111;
    var$2[38] = 32;
    var$2[39] = 110;
    var$2[40] = 111;
    var$2[41] = 116;
    var$2[42] = 32;
    var$2[43] = 97;
    var$2[44] = 99;
    var$2[45] = 99;
    var$2[46] = 101;
    var$2[47] = 112;
    var$2[48] = 116;
    $java.nle_License_line71 = var$1;
    var$1 = $rt_createByteArray(29);
    var$2 = var$1.data;
    var$2[0] = 114;
    var$2[1] = 101;
    var$2[2] = 102;
    var$2[3] = 114;
    var$2[4] = 101;
    var$2[5] = 115;
    var$2[6] = 104;
    var$2[7] = 32;
    var$2[8] = 116;
    var$2[9] = 104;
    var$2[10] = 101;
    var$2[11] = 32;
    var$2[12] = 112;
    var$2[13] = 97;
    var$2[14] = 103;
    var$2[15] = 101;
    var$2[16] = 32;
    var$2[17] = 116;
    var$2[18] = 111;
    var$2[19] = 32;
    var$2[20] = 116;
    var$2[21] = 114;
    var$2[22] = 121;
    var$2[23] = 32;
    var$2[24] = 97;
    var$2[25] = 103;
    var$2[26] = 97;
    var$2[27] = 105;
    var$2[28] = 110;
    $java.nle_License_line72 = var$1;
}
function nms_EnumChatFormatting() {
    var a = this; jl_Enum.call(a);
    a.$field_96329_z = 0;
    a.$field_96303_A = 0;
    a.$field_96304_B = null;
}
$java.nms_EnumChatFormatting_BLACK = null;
$java.nms_EnumChatFormatting_DARK_BLUE = null;
$java.nms_EnumChatFormatting_DARK_GREEN = null;
$java.nms_EnumChatFormatting_DARK_AQUA = null;
$java.nms_EnumChatFormatting_DARK_RED = null;
var nms_EnumChatFormatting_DARK_PURPLE = null;
$java.nms_EnumChatFormatting_GOLD = null;
var nms_EnumChatFormatting_GRAY = null;
$java.nms_EnumChatFormatting_DARK_GRAY = null;
$java.nms_EnumChatFormatting_BLUE = null;
$java.nms_EnumChatFormatting_GREEN = null;
$java.nms_EnumChatFormatting_AQUA = null;
var nms_EnumChatFormatting_RED = null;
var nms_EnumChatFormatting_LIGHT_PURPLE = null;
var nms_EnumChatFormatting_YELLOW = null;
$java.nms_EnumChatFormatting_WHITE = null;
$java.nms_EnumChatFormatting_OBFUSCATED = null;
$java.nms_EnumChatFormatting_BOLD = null;
$java.nms_EnumChatFormatting_STRIKETHROUGH = null;
var nms_EnumChatFormatting_UNDERLINE = null;
var nms_EnumChatFormatting_ITALIC = null;
var nms_EnumChatFormatting_RESET = null;
$java.nms_EnumChatFormatting_field_96321_w = null;
$java.nms_EnumChatFormatting_field_96331_x = null;
$java.nms_EnumChatFormatting_field_96330_y = null;
$java.nms_EnumChatFormatting_$VALUES = null;
$java.nms_EnumChatFormatting__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_EnumChatFormatting();
    $java.nms_EnumChatFormatting__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_EnumChatFormatting__init_1 = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EnumChatFormatting();
    $java.nms_EnumChatFormatting__init_2(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_EnumChatFormatting__init_0 = function($this, var$1, var$2, $par3) {
    $java.nms_EnumChatFormatting__init_2($this, var$1, var$2, $par3, 0);
};
$java.nms_EnumChatFormatting__init_2 = function($this, var$1, var$2, $par3, $par4) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$field_96329_z = $par3;
    $this.$field_96303_A = $par4;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(1094));
    jl_AbstractStringBuilder_append0(var$1, $par3);
    $this.$field_96304_B = jl_AbstractStringBuilder_toString(var$1);
};
$java.nms_EnumChatFormatting_func_96298_a = function($this) {
    return $this.$field_96329_z;
};
$java.nms_EnumChatFormatting_func_96297_d = function($this) {
    return jl_String_toLowerCase($this.$name7);
};
$java.nms_EnumChatFormatting_toString = function($this) {
    return $this.$field_96304_B;
};
function nms_EnumChatFormatting__clinit_() {
    var $var0, var$2, $var3, $var1, $var2;
    $java.nms_EnumChatFormatting_BLACK = $java.nms_EnumChatFormatting__init_($rt_s(2731), 0, 48);
    $java.nms_EnumChatFormatting_DARK_BLUE = $java.nms_EnumChatFormatting__init_($rt_s(2732), 1, 49);
    $java.nms_EnumChatFormatting_DARK_GREEN = $java.nms_EnumChatFormatting__init_($rt_s(2733), 2, 50);
    $java.nms_EnumChatFormatting_DARK_AQUA = $java.nms_EnumChatFormatting__init_($rt_s(2734), 3, 51);
    $java.nms_EnumChatFormatting_DARK_RED = $java.nms_EnumChatFormatting__init_($rt_s(2735), 4, 52);
    nms_EnumChatFormatting_DARK_PURPLE = $java.nms_EnumChatFormatting__init_($rt_s(2736), 5, 53);
    $java.nms_EnumChatFormatting_GOLD = $java.nms_EnumChatFormatting__init_($rt_s(2127), 6, 54);
    nms_EnumChatFormatting_GRAY = $java.nms_EnumChatFormatting__init_($rt_s(2737), 7, 55);
    $java.nms_EnumChatFormatting_DARK_GRAY = $java.nms_EnumChatFormatting__init_($rt_s(2738), 8, 56);
    $java.nms_EnumChatFormatting_BLUE = $java.nms_EnumChatFormatting__init_($rt_s(2739), 9, 57);
    $java.nms_EnumChatFormatting_GREEN = $java.nms_EnumChatFormatting__init_($rt_s(2740), 10, 97);
    $java.nms_EnumChatFormatting_AQUA = $java.nms_EnumChatFormatting__init_($rt_s(2741), 11, 98);
    nms_EnumChatFormatting_RED = $java.nms_EnumChatFormatting__init_($rt_s(2742), 12, 99);
    nms_EnumChatFormatting_LIGHT_PURPLE = $java.nms_EnumChatFormatting__init_($rt_s(2743), 13, 100);
    nms_EnumChatFormatting_YELLOW = $java.nms_EnumChatFormatting__init_($rt_s(2744), 14, 101);
    $java.nms_EnumChatFormatting_WHITE = $java.nms_EnumChatFormatting__init_($rt_s(2745), 15, 102);
    $java.nms_EnumChatFormatting_OBFUSCATED = $java.nms_EnumChatFormatting__init_1($rt_s(2746), 16, 107, 1);
    $java.nms_EnumChatFormatting_BOLD = $java.nms_EnumChatFormatting__init_1($rt_s(2747), 17, 108, 1);
    $java.nms_EnumChatFormatting_STRIKETHROUGH = $java.nms_EnumChatFormatting__init_1($rt_s(2748), 18, 109, 1);
    nms_EnumChatFormatting_UNDERLINE = $java.nms_EnumChatFormatting__init_1($rt_s(177), 19, 110, 1);
    nms_EnumChatFormatting_ITALIC = $java.nms_EnumChatFormatting__init_1($rt_s(2749), 20, 111, 1);
    nms_EnumChatFormatting_RESET = $java.nms_EnumChatFormatting__init_($rt_s(2750), 21, 114);
    $var0 = $rt_createArray(nms_EnumChatFormatting, 22);
    var$2 = $var0.data;
    var$2[0] = $java.nms_EnumChatFormatting_BLACK;
    var$2[1] = $java.nms_EnumChatFormatting_DARK_BLUE;
    var$2[2] = $java.nms_EnumChatFormatting_DARK_GREEN;
    var$2[3] = $java.nms_EnumChatFormatting_DARK_AQUA;
    var$2[4] = $java.nms_EnumChatFormatting_DARK_RED;
    var$2[5] = nms_EnumChatFormatting_DARK_PURPLE;
    var$2[6] = $java.nms_EnumChatFormatting_GOLD;
    var$2[7] = nms_EnumChatFormatting_GRAY;
    var$2[8] = $java.nms_EnumChatFormatting_DARK_GRAY;
    var$2[9] = $java.nms_EnumChatFormatting_BLUE;
    var$2[10] = $java.nms_EnumChatFormatting_GREEN;
    var$2[11] = $java.nms_EnumChatFormatting_AQUA;
    var$2[12] = nms_EnumChatFormatting_RED;
    var$2[13] = nms_EnumChatFormatting_LIGHT_PURPLE;
    var$2[14] = nms_EnumChatFormatting_YELLOW;
    var$2[15] = $java.nms_EnumChatFormatting_WHITE;
    var$2[16] = $java.nms_EnumChatFormatting_OBFUSCATED;
    var$2[17] = $java.nms_EnumChatFormatting_BOLD;
    var$2[18] = $java.nms_EnumChatFormatting_STRIKETHROUGH;
    var$2[19] = nms_EnumChatFormatting_UNDERLINE;
    var$2[20] = nms_EnumChatFormatting_ITALIC;
    var$2[21] = nms_EnumChatFormatting_RESET;
    $java.nms_EnumChatFormatting_$VALUES = $var0;
    $java.nms_EnumChatFormatting_field_96321_w = ju_HashMap__init_();
    $java.nms_EnumChatFormatting_field_96331_x = ju_HashMap__init_();
    $var3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var3);
    jl_AbstractStringBuilder_append($var3, $rt_s(2751));
    jl_AbstractStringBuilder_append($var3, jl_String_valueOf0(167));
    jl_AbstractStringBuilder_append($var3, $rt_s(2752));
    $java.nms_EnumChatFormatting_field_96330_y = jur_Pattern_compile(jl_AbstractStringBuilder_toString($var3));
    $var0 = $java.nms_EnumChatFormatting_$VALUES.$clone().data;
    $var1 = $var0.length;
    $var2 = 0;
    while ($var2 < $var1) {
        $var3 = $var0[$var2];
        ju_HashMap_putImpl($java.nms_EnumChatFormatting_field_96321_w, jl_Character_valueOf($var3.$field_96329_z), $var3);
        ju_HashMap_putImpl($java.nms_EnumChatFormatting_field_96331_x, $java.nms_EnumChatFormatting_func_96297_d($var3), $var3);
        $var2 = $var2 + 1 | 0;
    }
}
function nms_StatCollector() {
    jl_Object.call(this);
}
$java.nms_StatCollector_localizedName = null;
$java.nms_StatCollector__init_ = function() {
    var var_0 = new nms_StatCollector();
    nms_StatCollector__init_(var_0);
    return var_0;
};
function nms_StatCollector__init_($this) {
    return;
}
function nms_StatCollector_translateToLocal($par0Str) {
    return nms_StringTranslate_translateKey($java.nms_StatCollector_localizedName, $par0Str);
}
function nms_StatCollector_translateToLocalFormatted($par0Str, $par1ArrayOfObj) {
    return nms_StringTranslate_translateKeyFormat($java.nms_StatCollector_localizedName, $par0Str, $par1ArrayOfObj);
}
function nms_StatCollector__clinit_() {
    $java.nms_StatCollector_localizedName = nms_StringTranslate_instance;
}
function jm_BitLevel() {
    jl_Object.call(this);
}
$java.jm_BitLevel__init_ = function() {
    var var_0 = new jm_BitLevel();
    jm_BitLevel__init_(var_0);
    return var_0;
};
function jm_BitLevel__init_($this) {
    return;
}
$java.jm_BitLevel_shiftLeft = function($source, $count) {
    var $intCount, $resLength, $resDigits, $result;
    $intCount = $count >> 5;
    $count = $count & 31;
    $resLength = ($source.$numberLength + $intCount | 0) + ($count ? 1 : 0) | 0;
    $resDigits = $rt_createIntArray($resLength);
    $java.jm_BitLevel_shiftLeft0($resDigits, $source.$digits, $intCount, $count);
    $result = $java.jm_BigInteger__init_0($source.$sign1, $resLength, $resDigits);
    $java.jm_BigInteger_cutOffLeadingZeroes($result);
    return $result;
};
$java.jm_BitLevel_shiftLeft0 = function($result, $source, $intCount, $count) {
    var var$5, $rightShiftCount, $i, var$8, $i_0, var$10;
    a: {
        if (!$count)
            jl_System_arraycopy($source, 0, $result, $intCount, $result.data.length - $intCount | 0);
        else {
            var$5 = $result.data;
            $rightShiftCount = 32 - $count | 0;
            $i = var$5.length - 1 | 0;
            var$5[$i] = 0;
            while (true) {
                if ($i <= $intCount)
                    break a;
                var$8 = $source.data;
                $i_0 = var$5[$i];
                var$10 = ($i - $intCount | 0) - 1 | 0;
                var$5[$i] = $i_0 | var$8[var$10] >>> $rightShiftCount;
                var$5[$i - 1 | 0] = var$8[var$10] << $count;
                $i = $i + (-1) | 0;
            }
        }
    }
    $i_0 = 0;
    while ($i_0 < $intCount) {
        $result.data[$i_0] = 0;
        $i_0 = $i_0 + 1 | 0;
    }
};
$java.jm_BitLevel_shiftLeftOneBit = function($result, $source, $srcLen) {
    var $carry, $i, var$6, $val;
    $carry = 0;
    $i = 0;
    while ($i < $srcLen) {
        var$6 = $result.data;
        $val = $source.data[$i];
        var$6[$i] = $val << 1 | $carry;
        $carry = $val >>> 31;
        $i = $i + 1 | 0;
    }
    if ($carry)
        $result.data[$srcLen] = $carry;
};
$java.jm_BitLevel_shiftRight = function($source, $count) {
    var $intCount, $resLength, var$5, $resDigits, $i, var$8, var$9, $result;
    $intCount = $count >> 5;
    $count = $count & 31;
    if ($intCount >= $source.$numberLength)
        return $source.$sign1 >= 0 ? jm_BigInteger_ZERO : $java.jm_BigInteger_MINUS_ONE;
    a: {
        $resLength = $source.$numberLength - $intCount | 0;
        var$5 = $resLength + 1 | 0;
        $resDigits = $rt_createIntArray(var$5);
        $java.jm_BitLevel_shiftRight0($resDigits, $resLength, $source.$digits, $intCount, $count);
        if ($source.$sign1 >= 0)
            var$5 = $resLength;
        else {
            $i = 0;
            while (true) {
                var$8 = $rt_compare($i, $intCount);
                if (var$8 >= 0)
                    break;
                if ($source.$digits.data[$i])
                    break;
                $i = $i + 1 | 0;
            }
            if (var$8 >= 0) {
                if ($count <= 0) {
                    var$5 = $resLength;
                    break a;
                }
                if (!($source.$digits.data[$i] << (32 - $count | 0))) {
                    var$5 = $resLength;
                    break a;
                }
            }
            var$9 = $resDigits.data;
            $count = 0;
            while (true) {
                $intCount = $rt_compare($count, $resLength);
                if ($intCount >= 0)
                    break;
                if (var$9[$count] != (-1))
                    break;
                var$9[$count] = 0;
                $count = $count + 1 | 0;
            }
            if ($intCount)
                var$5 = $resLength;
            var$9[$count] = var$9[$count] + 1 | 0;
        }
    }
    $result = $java.jm_BigInteger__init_0($source.$sign1, var$5, $resDigits);
    $java.jm_BigInteger_cutOffLeadingZeroes($result);
    return $result;
};
$java.jm_BitLevel_inplaceShiftRight = function($val, $count) {
    var $sign, $intCount, $i, var$6;
    $sign = $val.$sign1;
    if ($count && $val.$sign1) {
        $intCount = $count >> 5;
        $val.$numberLength = $val.$numberLength - $intCount | 0;
        if (!$java.jm_BitLevel_shiftRight0($val.$digits, $val.$numberLength, $val.$digits, $intCount, $count & 31) && $sign < 0) {
            $i = 0;
            while ($i < $val.$numberLength && $val.$digits.data[$i] == (-1)) {
                $val.$digits.data[$i] = 0;
                $i = $i + 1 | 0;
            }
            if ($i == $val.$numberLength)
                $val.$numberLength = $val.$numberLength + 1 | 0;
            var$6 = $val.$digits.data;
            var$6[$i] = var$6[$i] + 1 | 0;
        }
        $java.jm_BigInteger_cutOffLeadingZeroes($val);
        $java.jm_BigInteger_unCache($val);
        return;
    }
};
$java.jm_BitLevel_shiftRight0 = function($result, $resultLen, $source, $intCount, $count) {
    var $allZero, $i, var$8, $leftShiftCount, var$10, var$11;
    $allZero = 1;
    $i = 0;
    while ($i < $intCount) {
        $allZero = $allZero & ($source.data[$i] ? 0 : 1);
        $i = $i + 1 | 0;
    }
    if (!$count)
        jl_System_arraycopy($source, $intCount, $result, 0, $resultLen);
    else {
        var$8 = $source.data;
        $leftShiftCount = 32 - $count | 0;
        $allZero = $allZero & (var$8[$i] << $leftShiftCount ? 0 : 1);
        var$10 = 0;
        var$11 = $resultLen - 1 | 0;
        while (var$10 < var$11) {
            $source = $result.data;
            $resultLen = var$10 + $intCount | 0;
            $source[var$10] = var$8[$resultLen] >>> $count | var$8[$resultLen + 1 | 0] << $leftShiftCount;
            var$10 = var$10 + 1 | 0;
        }
        $result.data[var$10] = var$8[var$10 + $intCount | 0] >>> $count;
    }
    return $allZero;
};
function jm_Division() {
    jl_Object.call(this);
}
$java.jm_Division__init_ = function() {
    var var_0 = new jm_Division();
    jm_Division__init_(var_0);
    return var_0;
};
function jm_Division__init_($this) {
    return;
}
$java.jm_Division_divide = function($quot, $quotLength, $a, $j, $b, $bLength) {
    var var$7, $normA, $normB, $k, $divisorShift, $firstDivisorDigit, $i, var$14, var$15, var$16, $res, $rem, $rOverflowed, $carry, $product, $longR, $borrow;
    var$7 = $b.data;
    $normA = $rt_createIntArray($j + 1 | 0);
    $normB = $rt_createIntArray($bLength + 1 | 0);
    $k = $bLength - 1 | 0;
    $divisorShift = jl_Integer_numberOfLeadingZeros(var$7[$k]);
    if ($divisorShift) {
        $java.jm_BitLevel_shiftLeft0($normB, $b, 0, $divisorShift);
        $java.jm_BitLevel_shiftLeft0($normA, $a, 0, $divisorShift);
    } else {
        jl_System_arraycopy($a, 0, $normA, 0, $j);
        jl_System_arraycopy($b, 0, $normB, 0, $bLength);
    }
    var$7 = $normB.data;
    $a = $normA.data;
    $firstDivisorDigit = var$7[$k];
    $i = $quotLength - 1 | 0;
    var$14 = $bLength - 2 | 0;
    var$15 = Long_and(Long_fromInt($firstDivisorDigit), new Long(4294967295, 0));
    while ($i >= 0) {
        a: {
            if ($a[$j] == $firstDivisorDigit)
                var$16 = (-1);
            else {
                $res = $java.jm_Division_divideLongByInt(Long_add(Long_shl(Long_and(Long_fromInt($a[$j]), new Long(4294967295, 0)), 32), Long_and(Long_fromInt($a[$j - 1 | 0]), new Long(4294967295, 0))), $firstDivisorDigit);
                var$16 = $res.lo;
                $rem = $res.hi;
                if (var$16) {
                    $rOverflowed = 0;
                    var$16 = var$16 + 1 | 0;
                    while (true) {
                        var$16 = var$16 + (-1) | 0;
                        if ($rOverflowed)
                            break;
                        $carry = Long_mul(Long_and(Long_fromInt(var$16), new Long(4294967295, 0)), Long_and(Long_fromInt(var$7[var$14]), new Long(4294967295, 0)));
                        $res = Long_fromInt($rem);
                        $product = Long_add(Long_shl($res, 32), Long_and(Long_fromInt($a[$j - 2 | 0]), new Long(4294967295, 0)));
                        $longR = Long_add(Long_and($res, new Long(4294967295, 0)), var$15);
                        if (jl_Integer_numberOfLeadingZeros($longR.hi) >= 32)
                            $rem = $longR.lo;
                        else
                            $rOverflowed = 1;
                        if (Long_le(Long_xor($carry, new Long(0, 2147483648)), Long_xor($product, new Long(0, 2147483648))))
                            break a;
                    }
                }
            }
        }
        if (var$16) {
            $rem = $j - $bLength | 0;
            $carry = Long_ZERO;
            $longR = Long_ZERO;
            $quotLength = 0;
            while ($quotLength < $bLength) {
                $res = $java.jm_Multiplication_unsignedMultAddAdd(var$7[$quotLength], var$16, $carry.lo, 0);
                $borrow = $rem + $quotLength | 0;
                $product = Long_add(Long_sub(Long_and(Long_fromInt($a[$borrow]), new Long(4294967295, 0)), Long_and($res, new Long(4294967295, 0))), $longR);
                $a[$borrow] = $product.lo;
                $longR = Long_shr($product, 32);
                $carry = Long_shru($res, 32);
                $quotLength = $quotLength + 1 | 0;
            }
            $quotLength = $rem + $bLength | 0;
            $product = Long_add(Long_sub(Long_and(Long_fromInt($a[$quotLength]), new Long(4294967295, 0)), $carry), $longR);
            $a[$quotLength] = $product.lo;
            if ($product.hi) {
                var$16 = var$16 + (-1) | 0;
                $carry = Long_ZERO;
                $k = 0;
                while ($k < $bLength) {
                    $quotLength = $rem + $k | 0;
                    $product = Long_add($carry, Long_add(Long_and(Long_fromInt($a[$quotLength]), new Long(4294967295, 0)), Long_and(Long_fromInt(var$7[$k]), new Long(4294967295, 0))));
                    $a[$quotLength] = $product.lo;
                    $carry = Long_shru($product, 32);
                    $k = $k + 1 | 0;
                }
            }
        }
        if ($quot !== null)
            $quot.data[$i] = var$16;
        $j = $j + (-1) | 0;
        $i = $i + (-1) | 0;
    }
    if ($divisorShift) {
        $java.jm_BitLevel_shiftRight0($normB, $bLength, $normA, 0, $divisorShift);
        return $normB;
    }
    jl_System_arraycopy($normA, 0, $normB, 0, $bLength);
    return $normA;
};
$java.jm_Division_divideArrayByInt = function($dest, $src, $srcLength, $divisor) {
    var $rem, $bLong, $i, $bPos, var$9, var$10, $temp, $quot, $aPos;
    $rem = Long_ZERO;
    $bLong = Long_and(Long_fromInt($divisor), new Long(4294967295, 0));
    $i = $srcLength - 1 | 0;
    $bPos = Long_fromInt($divisor >>> 1);
    $divisor = $divisor & 1;
    var$9 = Long_shl($bLong, 1);
    while ($i >= 0) {
        var$10 = $src.data;
        $temp = Long_or(Long_shl($rem, 32), Long_and(Long_fromInt(var$10[$i]), new Long(4294967295, 0)));
        if (Long_ge($temp, Long_ZERO)) {
            $quot = Long_div($temp, $bLong);
            $rem = Long_rem($temp, $bLong);
        } else {
            $aPos = Long_shru($temp, 1);
            $quot = Long_div($aPos, $bPos);
            $rem = Long_add(Long_shl(Long_rem($aPos, $bPos), 1), Long_and($temp, Long_fromInt(1)));
            if ($divisor) {
                if (Long_le($quot, $rem))
                    $rem = Long_sub($rem, $quot);
                else if (Long_gt(Long_sub($quot, $rem), $bLong)) {
                    $rem = Long_add($rem, Long_sub(var$9, $quot));
                    $quot = Long_sub($quot, Long_fromInt(2));
                } else {
                    $rem = Long_add($rem, Long_sub($bLong, $quot));
                    $quot = Long_sub($quot, Long_fromInt(1));
                }
            }
        }
        $dest.data[$i] = Long_and($quot, new Long(4294967295, 0)).lo;
        $i = $i + (-1) | 0;
    }
    return $rem.lo;
};
$java.jm_Division_divideLongByInt = function($a, $b) {
    var $bLong, $quot, $rem, $aPos, $bPos;
    $bLong = Long_and(Long_fromInt($b), new Long(4294967295, 0));
    if (Long_ge($a, Long_ZERO)) {
        $quot = Long_div($a, $bLong);
        $rem = Long_rem($a, $bLong);
    } else {
        $aPos = Long_shru($a, 1);
        $bPos = Long_fromInt($b >>> 1);
        $quot = Long_div($aPos, $bPos);
        $rem = Long_add(Long_shl(Long_rem($aPos, $bPos), 1), Long_and($a, Long_fromInt(1)));
        if ($b & 1) {
            if (Long_le($quot, $rem))
                $rem = Long_sub($rem, $quot);
            else if (Long_le(Long_sub($quot, $rem), $bLong)) {
                $rem = Long_add($rem, Long_sub($bLong, $quot));
                $quot = Long_sub($quot, Long_fromInt(1));
            } else {
                $rem = Long_add($rem, Long_sub(Long_shl($bLong, 1), $quot));
                $quot = Long_sub($quot, Long_fromInt(2));
            }
        }
    }
    return Long_or(Long_shl($rem, 32), Long_and($quot, new Long(4294967295, 0)));
};
$java.jm_Division_gcdBinary = function($op1, $op2) {
    var $lsb1, $lsb2, $pow2Count;
    $lsb1 = jl_Long_numberOfTrailingZeros($op1);
    $lsb2 = jl_Long_numberOfTrailingZeros($op2);
    $pow2Count = jl_Math_min($lsb1, $lsb2);
    if ($lsb1)
        $op1 = Long_shru($op1, $lsb1);
    if ($lsb2)
        $op2 = Long_shru($op2, $lsb2);
    while (true) {
        if (Long_lt($op1, $op2)) {
            $op2 = Long_sub($op2, $op1);
            $op2 = Long_shru($op2, jl_Long_numberOfTrailingZeros($op2));
        } else {
            $op1 = Long_sub($op1, $op2);
            $op1 = Long_shru($op1, jl_Long_numberOfTrailingZeros($op1));
        }
        if (Long_eq($op1, Long_ZERO))
            break;
    }
    return Long_shl($op2, $pow2Count);
};
function jm_Elementary() {
    jl_Object.call(this);
}
$java.jm_Elementary__init_ = function() {
    var var_0 = new jm_Elementary();
    jm_Elementary__init_(var_0);
    return var_0;
};
function jm_Elementary__init_($this) {
    return;
}
$java.jm_Elementary_compareArrays = function($a, $b, $size) {
    var $i, var$5;
    $i = $size - 1 | 0;
    while ($i >= 0) {
        var$5 = $b.data;
        if ($a.data[$i] != var$5[$i])
            break;
        $i = $i + (-1) | 0;
    }
    if ($i < 0)
        $size = 0;
    else {
        $b = $b.data;
        $size = Long_ge(Long_and(Long_fromInt($a.data[$i]), new Long(4294967295, 0)), Long_and(Long_fromInt($b[$i]), new Long(4294967295, 0))) ? 1 : (-1);
    }
    return $size;
};
$java.jm_Elementary_add = function($op1, $op2) {
    var $op1Sign, $op2Sign, $op1Len, $op2Len, $a, $b, $res, $valueLo, $valueHi, $resDigits, var$13, $cmp, $res_0;
    $op1Sign = $op1.$sign1;
    $op2Sign = $op2.$sign1;
    if (!$op1Sign)
        return $op2;
    if (!$op2Sign)
        return $op1;
    $op1Len = $op1.$numberLength;
    $op2Len = $op2.$numberLength;
    if (($op1Len + $op2Len | 0) == 2) {
        $a = Long_and(Long_fromInt($op1.$digits.data[0]), new Long(4294967295, 0));
        $b = Long_and(Long_fromInt($op2.$digits.data[0]), new Long(4294967295, 0));
        if ($op1Sign != $op2Sign)
            return jm_BigInteger_valueOf($op1Sign >= 0 ? Long_sub($a, $b) : Long_sub($b, $a));
        $res = Long_add($a, $b);
        $valueLo = $res.lo;
        $valueHi = $res.hi;
        if (!$valueHi)
            $op1 = $java.jm_BigInteger__init_1($op1Sign, $valueLo);
        else {
            $op1 = new jm_BigInteger;
            $resDigits = $rt_createIntArray(2);
            var$13 = $resDigits.data;
            var$13[0] = $valueLo;
            var$13[1] = $valueHi;
            $java.jm_BigInteger__init_2($op1, $op1Sign, 2, $resDigits);
        }
        return $op1;
    }
    if ($op1Sign == $op2Sign)
        $resDigits = $op1Len < $op2Len ? $java.jm_Elementary_add0($op2.$digits, $op2Len, $op1.$digits, $op1Len) : $java.jm_Elementary_add0($op1.$digits, $op1Len, $op2.$digits, $op2Len);
    else {
        $cmp = $rt_compare($op1Len, $op2Len);
        $cmp = !$cmp ? $java.jm_Elementary_compareArrays($op1.$digits, $op2.$digits, $op1Len) : $cmp <= 0 ? (-1) : 1;
        if (!$cmp)
            return jm_BigInteger_ZERO;
        if ($cmp != 1) {
            $resDigits = $java.jm_Elementary_subtract($op2.$digits, $op2Len, $op1.$digits, $op1Len);
            $op1Sign = $op2Sign;
        } else
            $resDigits = $java.jm_Elementary_subtract($op1.$digits, $op1Len, $op2.$digits, $op2Len);
    }
    var$13 = $resDigits.data;
    $res_0 = $java.jm_BigInteger__init_0($op1Sign, var$13.length, $resDigits);
    $java.jm_BigInteger_cutOffLeadingZeroes($res_0);
    return $res_0;
};
$java.jm_Elementary_add1 = function($res, $a, $aSize, $b, $bSize) {
    var var$6, $carry, var$8, $i;
    var$6 = $res.data;
    $res = $b.data;
    $a = $a.data;
    $carry = Long_add(Long_and(Long_fromInt($a[0]), new Long(4294967295, 0)), Long_and(Long_fromInt($res[0]), new Long(4294967295, 0)));
    var$6[0] = $carry.lo;
    var$8 = Long_shr($carry, 32);
    if ($aSize < $bSize) {
        $i = 1;
        while ($i < $aSize) {
            $carry = Long_add(var$8, Long_add(Long_and(Long_fromInt($a[$i]), new Long(4294967295, 0)), Long_and(Long_fromInt($res[$i]), new Long(4294967295, 0))));
            var$6[$i] = $carry.lo;
            var$8 = Long_shr($carry, 32);
            $i = $i + 1 | 0;
        }
        while ($i < $bSize) {
            $carry = Long_add(var$8, Long_and(Long_fromInt($res[$i]), new Long(4294967295, 0)));
            var$6[$i] = $carry.lo;
            var$8 = Long_shr($carry, 32);
            $i = $i + 1 | 0;
        }
    } else {
        $i = 1;
        while ($i < $bSize) {
            $carry = Long_add(var$8, Long_add(Long_and(Long_fromInt($a[$i]), new Long(4294967295, 0)), Long_and(Long_fromInt($res[$i]), new Long(4294967295, 0))));
            var$6[$i] = $carry.lo;
            var$8 = Long_shr($carry, 32);
            $i = $i + 1 | 0;
        }
        while ($i < $aSize) {
            $carry = Long_add(var$8, Long_and(Long_fromInt($a[$i]), new Long(4294967295, 0)));
            var$6[$i] = $carry.lo;
            var$8 = Long_shr($carry, 32);
            $i = $i + 1 | 0;
        }
    }
    if (Long_ne(var$8, Long_ZERO))
        var$6[$i] = var$8.lo;
};
$java.jm_Elementary_subtract0 = function($res, $a, $aSize, $b, $bSize) {
    var $borrow, $i, var$8, var$9, var$10, var$11;
    $borrow = Long_ZERO;
    $i = 0;
    while ($i < $bSize) {
        var$8 = $res.data;
        var$9 = $b.data;
        var$10 = Long_add($borrow, Long_sub(Long_and(Long_fromInt($a.data[$i]), new Long(4294967295, 0)), Long_and(Long_fromInt(var$9[$i]), new Long(4294967295, 0))));
        var$8[$i] = var$10.lo;
        $borrow = Long_shr(var$10, 32);
        $i = $i + 1 | 0;
    }
    while ($i < $aSize) {
        var$11 = $res.data;
        var$10 = Long_add($borrow, Long_and(Long_fromInt($a.data[$i]), new Long(4294967295, 0)));
        var$11[$i] = var$10.lo;
        $borrow = Long_shr(var$10, 32);
        $i = $i + 1 | 0;
    }
};
$java.jm_Elementary_add0 = function($a, $aSize, $b, $bSize) {
    var $res;
    $res = $rt_createIntArray($aSize + 1 | 0);
    $java.jm_Elementary_add1($res, $a, $aSize, $b, $bSize);
    return $res;
};
$java.jm_Elementary_subtract = function($a, $aSize, $b, $bSize) {
    var $res;
    $res = $rt_createIntArray($aSize);
    $java.jm_Elementary_subtract0($res, $a, $aSize, $b, $bSize);
    return $res;
};
function nleg_EffectPipelineFXAA() {
    jl_Object.call(this);
}
$java.nleg_EffectPipelineFXAA_isUsingFXAA = 0;
$java.nleg_EffectPipelineFXAA_framebuffer = null;
$java.nleg_EffectPipelineFXAA_framebuffer_color = null;
$java.nleg_EffectPipelineFXAA_framebuffer_depth = null;
$java.nleg_EffectPipelineFXAA_fxaaProgram = null;
$java.nleg_EffectPipelineFXAA_fxaaSourceTexture = null;
$java.nleg_EffectPipelineFXAA_fxaaScreenSize = null;
$java.nleg_EffectPipelineFXAA_renderQuadArray = null;
$java.nleg_EffectPipelineFXAA_renderQuadBuffer = null;
var nleg_EffectPipelineFXAA_displayWidth = 0;
var nleg_EffectPipelineFXAA_displayHeight = 0;
$java.nleg_EffectPipelineFXAA_width = 0;
$java.nleg_EffectPipelineFXAA_height = 0;
$java.nleg_EffectPipelineFXAA_originalViewport = null;
$java.nleg_EffectPipelineFXAA_state = 0;
$java.nleg_EffectPipelineFXAA_newState = 0;
$java.nleg_EffectPipelineFXAA_msaaInit = 0;
$java.nleg_EffectPipelineFXAA__init_ = function() {
    var var_0 = new nleg_EffectPipelineFXAA();
    nleg_EffectPipelineFXAA__init_(var_0);
    return var_0;
};
function nleg_EffectPipelineFXAA__init_($this) {
    return;
}
$java.nleg_EffectPipelineFXAA_initFXAA = function() {
    var $upload, $pvert_shader, $fxaa_shader, $c, var$5;
    if ($java.nleg_EffectPipelineFXAA_fxaaProgram === null) {
        $java.nleg_EffectPipelineFXAA_renderQuadArray = nlea_EaglerAdapterImpl2__wglCreateVertexArray();
        $java.nleg_EffectPipelineFXAA_renderQuadBuffer = nlea_EaglerAdapterImpl2__wglCreateBuffer();
        nleg_EaglerAdapterGL30_$callClinit();
        if (nleg_EaglerAdapterGL30_isWebGL)
            $upload = jn_IntBuffer_wrap($rt_createIntArray(12));
        else {
            $upload = jn_ByteBuffer_allocateDirect(48);
            $upload.$order = jn_ByteOrder_BIG_ENDIAN;
            $upload = jn_ByteBufferImpl_asIntBuffer($upload);
        }
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(1.0));
        jn_IntBufferImpl_put($upload, jl_Float_floatToRawIntBits(0.0));
        jn_Buffer_flip($upload);
        nlea_EaglerAdapterImpl2__wglBindVertexArray($java.nleg_EffectPipelineFXAA_renderQuadArray);
        nlea_EaglerAdapterImpl2__wglBindBuffer(34962, $java.nleg_EffectPipelineFXAA_renderQuadBuffer);
        nlea_EaglerAdapterImpl2__wglBufferData0(34962, $upload, 35044);
        nlea_EaglerAdapterImpl2__wglEnableVertexAttribArray(0);
        nlea_EaglerAdapterImpl2__wglVertexAttribPointer(0, 2, 5126, 0, 8, 0);
        $pvert_shader = nlea_EaglerAdapterImpl2__wglCreateShader(35633);
        $upload = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($upload);
        jl_AbstractStringBuilder_append($upload, nlea_EaglerAdapterImpl2__wgetShaderHeader());
        jl_AbstractStringBuilder_append($upload, $rt_s(64));
        jl_AbstractStringBuilder_append($upload, nlea_EaglerAdapterImpl2_fileContents($rt_s(1208)));
        nlea_EaglerAdapterImpl2__wglShaderSource($pvert_shader, jl_AbstractStringBuilder_toString($upload));
        nlea_EaglerAdapterImpl2__wglCompileShader($pvert_shader);
        if (!nlea_EaglerAdapterImpl2__wglGetShaderCompiled($pvert_shader)) {
            $upload = jl_System_err();
            $fxaa_shader = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($fxaa_shader);
            $c = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($c);
            jl_AbstractStringBuilder_append($c, $rt_s(64));
            jl_AbstractStringBuilder_append($c, nlea_EaglerAdapterImpl2__wglGetShaderInfoLog($pvert_shader));
            jl_AbstractStringBuilder_append($fxaa_shader, jl_String_replace0(jl_AbstractStringBuilder_toString($c), $rt_s(64), $rt_s(1209)));
            jl_AbstractStringBuilder_append($fxaa_shader, $rt_s(64));
            ji_PrintStream_println($upload, jl_AbstractStringBuilder_toString($fxaa_shader));
        }
        $fxaa_shader = nlea_EaglerAdapterImpl2__wglCreateShader(35632);
        $upload = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($upload);
        jl_AbstractStringBuilder_append($upload, nlea_EaglerAdapterImpl2__wgetShaderHeader());
        jl_AbstractStringBuilder_append($upload, $rt_s(64));
        jl_AbstractStringBuilder_append($upload, nlea_EaglerAdapterImpl2_fileContents($rt_s(2753)));
        nlea_EaglerAdapterImpl2__wglShaderSource($fxaa_shader, jl_AbstractStringBuilder_toString($upload));
        nlea_EaglerAdapterImpl2__wglCompileShader($fxaa_shader);
        if (!nlea_EaglerAdapterImpl2__wglGetShaderCompiled($fxaa_shader)) {
            $upload = jl_System_err();
            $c = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($c);
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append(var$5, $rt_s(64));
            jl_AbstractStringBuilder_append(var$5, nlea_EaglerAdapterImpl2__wglGetShaderInfoLog($fxaa_shader));
            jl_AbstractStringBuilder_append($c, jl_String_replace0(jl_AbstractStringBuilder_toString(var$5), $rt_s(64), $rt_s(2754)));
            jl_AbstractStringBuilder_append($c, $rt_s(64));
            ji_PrintStream_println($upload, jl_AbstractStringBuilder_toString($c));
        }
        $java.nleg_EffectPipelineFXAA_fxaaProgram = nlea_EaglerAdapterImpl2__wglCreateProgram();
        nlea_EaglerAdapterImpl2__wglAttachShader($java.nleg_EffectPipelineFXAA_fxaaProgram, $pvert_shader);
        nlea_EaglerAdapterImpl2__wglAttachShader($java.nleg_EffectPipelineFXAA_fxaaProgram, $fxaa_shader);
        nlea_EaglerAdapterImpl2__wglLinkProgram($java.nleg_EffectPipelineFXAA_fxaaProgram);
        nlea_EaglerAdapterImpl2__wglDetachShader($java.nleg_EffectPipelineFXAA_fxaaProgram, $pvert_shader);
        nlea_EaglerAdapterImpl2__wglDetachShader($java.nleg_EffectPipelineFXAA_fxaaProgram, $fxaa_shader);
        nlea_EaglerAdapterImpl2__wglDeleteShader($pvert_shader);
        nlea_EaglerAdapterImpl2__wglDeleteShader($fxaa_shader);
        if (!nlea_EaglerAdapterImpl2__wglGetProgramLinked($java.nleg_EffectPipelineFXAA_fxaaProgram)) {
            $upload = jl_System_err();
            $pvert_shader = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($pvert_shader);
            $fxaa_shader = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($fxaa_shader);
            jl_AbstractStringBuilder_append($fxaa_shader, $rt_s(64));
            jl_AbstractStringBuilder_append($fxaa_shader, nlea_EaglerAdapterImpl2__wglGetProgramInfoLog($java.nleg_EffectPipelineFXAA_fxaaProgram));
            jl_AbstractStringBuilder_append($pvert_shader, jl_String_replace0(jl_AbstractStringBuilder_toString($fxaa_shader), $rt_s(64), $rt_s(2755)));
            jl_AbstractStringBuilder_append($pvert_shader, $rt_s(64));
            ji_PrintStream_println($upload, jl_AbstractStringBuilder_toString($pvert_shader));
            $java.nleg_EffectPipelineFXAA_fxaaProgram = null;
            $upload = new jl_RuntimeException;
            jl_Throwable__init_($upload, $rt_s(2756));
            $rt_throw($upload);
        }
        nlea_EaglerAdapterImpl2__wglUseProgram($java.nleg_EffectPipelineFXAA_fxaaProgram);
        $c = nlea_EaglerAdapterImpl2__wglGetUniformLocation($java.nleg_EffectPipelineFXAA_fxaaProgram, $rt_s(1215));
        if ($c !== null)
            nlea_EaglerAdapterImpl2__wglUniform1i($c, 0);
        $java.nleg_EffectPipelineFXAA_fxaaScreenSize = nlea_EaglerAdapterImpl2__wglGetUniformLocation($java.nleg_EffectPipelineFXAA_fxaaProgram, $rt_s(1220));
    }
    $java.nleg_EffectPipelineFXAA_destroy();
    $java.nleg_EffectPipelineFXAA_isUsingFXAA = 1;
    $java.nleg_EffectPipelineFXAA_framebuffer = nlea_EaglerAdapterImpl2__wglCreateFramebuffer();
    $java.nleg_EffectPipelineFXAA_fxaaSourceTexture = nlea_EaglerAdapterImpl2__wglGenTextures();
    nlea_EaglerAdapterImpl2__wglBindTexture(3553, $java.nleg_EffectPipelineFXAA_fxaaSourceTexture);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10240, 9728);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10241, 9728);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10242, 33071);
    nlea_EaglerAdapterImpl2__wglTexParameteri(3553, 10243, 33071);
    nlea_EaglerAdapterImpl2__wglTexImage2D(3553, 0, 32849, $java.nleg_EffectPipelineFXAA_width, $java.nleg_EffectPipelineFXAA_height, 0, 6407, 5121, null);
    $java.nleg_EffectPipelineFXAA_framebuffer_depth = nlea_EaglerAdapterImpl2__wglCreateRenderBuffer();
    nlea_EaglerAdapterImpl2__wglBindRenderbuffer($java.nleg_EffectPipelineFXAA_framebuffer_depth);
    nlea_EaglerAdapterImpl2__wglRenderbufferStorage(36012, $java.nleg_EffectPipelineFXAA_width, $java.nleg_EffectPipelineFXAA_height);
    nlea_EaglerAdapterImpl2__wglBindFramebuffer(36160, $java.nleg_EffectPipelineFXAA_framebuffer);
    nlea_EaglerAdapterImpl2__wglFramebufferTexture2D(36064, $java.nleg_EffectPipelineFXAA_fxaaSourceTexture);
    nlea_EaglerAdapterImpl2__wglFramebufferRenderbuffer(36096, $java.nleg_EffectPipelineFXAA_framebuffer_depth);
};
$java.nleg_EffectPipelineFXAA_destroy = function() {
    var var$1, var$2;
    $java.nleg_EffectPipelineFXAA_isUsingFXAA = 0;
    $java.nleg_EffectPipelineFXAA_msaaInit = 0;
    if ($java.nleg_EffectPipelineFXAA_framebuffer !== null) {
        var$1 = $java.nleg_EffectPipelineFXAA_framebuffer;
        nlea_EaglerAdapterImpl2_$callClinit();
        var$2 = nlea_EaglerAdapterImpl2_webgl;
        var$1 = var$1.$obj4;
        var$2.deleteFramebuffer(var$1);
    }
    if ($java.nleg_EffectPipelineFXAA_framebuffer_color !== null)
        nlea_EaglerAdapterImpl2__wglDeleteRenderbuffer($java.nleg_EffectPipelineFXAA_framebuffer_color);
    if ($java.nleg_EffectPipelineFXAA_framebuffer_depth !== null)
        nlea_EaglerAdapterImpl2__wglDeleteRenderbuffer($java.nleg_EffectPipelineFXAA_framebuffer_depth);
    if ($java.nleg_EffectPipelineFXAA_fxaaSourceTexture !== null)
        nlea_EaglerAdapterImpl2__wglDeleteTextures($java.nleg_EffectPipelineFXAA_fxaaSourceTexture);
    $java.nleg_EffectPipelineFXAA_framebuffer = null;
    $java.nleg_EffectPipelineFXAA_framebuffer_color = null;
    $java.nleg_EffectPipelineFXAA_framebuffer_depth = null;
    $java.nleg_EffectPipelineFXAA_fxaaSourceTexture = null;
};
function nleg_EffectPipelineFXAA_beginPipelineRender() {
    var $mode;
    if (nleg_EffectPipelineFXAA_displayWidth > 0 && nleg_EffectPipelineFXAA_displayHeight > 0) {
        $mode = nmc_Minecraft_theMinecraft.$gameSettings.$antialiasMode;
        if (!$mode)
            $java.nleg_EffectPipelineFXAA_newState = 0;
        if ($mode == 1)
            $java.nleg_EffectPipelineFXAA_newState = !nmc_Minecraft_theMinecraft.$gameSettings.$fancyGraphics ? 0 : 1;
        if ($mode == 2)
            $java.nleg_EffectPipelineFXAA_newState = 1;
        if ($mode == 3)
            $java.nleg_EffectPipelineFXAA_newState = 2;
        if ($mode == 4)
            $java.nleg_EffectPipelineFXAA_newState = 3;
        if (!$java.nleg_EffectPipelineFXAA_newState) {
            $java.nleg_EffectPipelineFXAA_state = $java.nleg_EffectPipelineFXAA_newState;
            $java.nleg_EffectPipelineFXAA_destroy();
            return;
        }
        if ($java.nleg_EffectPipelineFXAA_newState != $java.nleg_EffectPipelineFXAA_state && !($java.nleg_EffectPipelineFXAA_newState == 3 && $java.nleg_EffectPipelineFXAA_state == 2))
            $java.nleg_EffectPipelineFXAA_destroy();
        if (!(nleg_EffectPipelineFXAA_displayWidth == $java.nleg_EffectPipelineFXAA_width && nleg_EffectPipelineFXAA_displayHeight == $java.nleg_EffectPipelineFXAA_height && $java.nleg_EffectPipelineFXAA_state == $java.nleg_EffectPipelineFXAA_newState)) {
            $java.nleg_EffectPipelineFXAA_state = $java.nleg_EffectPipelineFXAA_newState;
            $java.nleg_EffectPipelineFXAA_width = nleg_EffectPipelineFXAA_displayWidth;
            $java.nleg_EffectPipelineFXAA_height = nleg_EffectPipelineFXAA_displayHeight;
            $java.nleg_EffectPipelineFXAA_originalViewport.data[0] = 0;
            $java.nleg_EffectPipelineFXAA_originalViewport.data[1] = 0;
            $java.nleg_EffectPipelineFXAA_originalViewport.data[2] = $java.nleg_EffectPipelineFXAA_width;
            $java.nleg_EffectPipelineFXAA_originalViewport.data[3] = $java.nleg_EffectPipelineFXAA_height;
            if ($java.nleg_EffectPipelineFXAA_state == 1) {
                if (!$java.nleg_EffectPipelineFXAA_isUsingFXAA)
                    $java.nleg_EffectPipelineFXAA_initFXAA();
                else {
                    nlea_EaglerAdapterImpl2__wglBindTexture(3553, $java.nleg_EffectPipelineFXAA_fxaaSourceTexture);
                    nlea_EaglerAdapterImpl2__wglTexImage2D(3553, 0, 32849, $java.nleg_EffectPipelineFXAA_width, $java.nleg_EffectPipelineFXAA_height, 0, 6407, 5121, null);
                    nlea_EaglerAdapterImpl2__wglBindRenderbuffer($java.nleg_EffectPipelineFXAA_framebuffer_depth);
                    nlea_EaglerAdapterImpl2__wglRenderbufferStorage(36012, $java.nleg_EffectPipelineFXAA_width, $java.nleg_EffectPipelineFXAA_height);
                }
            } else if (!($java.nleg_EffectPipelineFXAA_state != 2 && $java.nleg_EffectPipelineFXAA_state != 3)) {
                if ($java.nleg_EffectPipelineFXAA_msaaInit) {
                    nlea_EaglerAdapterImpl2__wglBindRenderbuffer($java.nleg_EffectPipelineFXAA_framebuffer_color);
                    nlea_EaglerAdapterImpl2__wglRenderbufferStorageMultisample($java.nleg_EffectPipelineFXAA_state != 2 ? 8 : 4, 32849, $java.nleg_EffectPipelineFXAA_width, $java.nleg_EffectPipelineFXAA_height);
                    nlea_EaglerAdapterImpl2__wglBindRenderbuffer($java.nleg_EffectPipelineFXAA_framebuffer_depth);
                    nlea_EaglerAdapterImpl2__wglRenderbufferStorageMultisample($java.nleg_EffectPipelineFXAA_state != 2 ? 8 : 4, 36012, $java.nleg_EffectPipelineFXAA_width, $java.nleg_EffectPipelineFXAA_height);
                } else {
                    $java.nleg_EffectPipelineFXAA_destroy();
                    $java.nleg_EffectPipelineFXAA_msaaInit = 1;
                    $java.nleg_EffectPipelineFXAA_framebuffer = nlea_EaglerAdapterImpl2__wglCreateFramebuffer();
                    $java.nleg_EffectPipelineFXAA_framebuffer_color = nlea_EaglerAdapterImpl2__wglCreateRenderBuffer();
                    $java.nleg_EffectPipelineFXAA_framebuffer_depth = nlea_EaglerAdapterImpl2__wglCreateRenderBuffer();
                    nlea_EaglerAdapterImpl2__wglBindFramebuffer(36160, $java.nleg_EffectPipelineFXAA_framebuffer);
                    nlea_EaglerAdapterImpl2__wglBindRenderbuffer($java.nleg_EffectPipelineFXAA_framebuffer_color);
                    nlea_EaglerAdapterImpl2__wglRenderbufferStorageMultisample($java.nleg_EffectPipelineFXAA_state != 2 ? 8 : 4, 32849, $java.nleg_EffectPipelineFXAA_width, $java.nleg_EffectPipelineFXAA_height);
                    nlea_EaglerAdapterImpl2__wglBindRenderbuffer($java.nleg_EffectPipelineFXAA_framebuffer_depth);
                    nlea_EaglerAdapterImpl2__wglRenderbufferStorageMultisample($java.nleg_EffectPipelineFXAA_state != 2 ? 8 : 4, 36012, $java.nleg_EffectPipelineFXAA_width, $java.nleg_EffectPipelineFXAA_height);
                    nlea_EaglerAdapterImpl2__wglFramebufferRenderbuffer(36064, $java.nleg_EffectPipelineFXAA_framebuffer_color);
                    nlea_EaglerAdapterImpl2__wglFramebufferRenderbuffer(36096, $java.nleg_EffectPipelineFXAA_framebuffer_depth);
                }
            }
        }
        nlea_EaglerAdapterImpl2__wglBindFramebuffer(36160, $java.nleg_EffectPipelineFXAA_framebuffer);
        nlea_EaglerAdapterImpl2__wglViewport(0, 0, $java.nleg_EffectPipelineFXAA_width, $java.nleg_EffectPipelineFXAA_height);
        nleg_EaglerAdapterGL30_$callClinit();
        if (!nleg_EaglerAdapterGL30_isWebGL && !($java.nleg_EffectPipelineFXAA_state != 2 && $java.nleg_EffectPipelineFXAA_state != 3)) {
            nlea_EaglerAdapterImpl2__wglEnable((-1));
            nlea_EaglerAdapterImpl2__wglEnable((-1));
        }
        return;
    }
}
function nleg_EffectPipelineFXAA_endPipelineRender() {
    var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
    if (nleg_EffectPipelineFXAA_displayWidth > 0 && nleg_EffectPipelineFXAA_displayHeight > 0 && $java.nleg_EffectPipelineFXAA_state) {
        nlea_EaglerAdapterImpl2__wglBindFramebuffer(36160, null);
        nlea_EaglerAdapterImpl2__wglClear(16640);
        if ($java.nleg_EffectPipelineFXAA_state == 1) {
            nlea_EaglerAdapterImpl2__wglViewport($java.nleg_EffectPipelineFXAA_originalViewport.data[0], $java.nleg_EffectPipelineFXAA_originalViewport.data[1], $java.nleg_EffectPipelineFXAA_originalViewport.data[2], $java.nleg_EffectPipelineFXAA_originalViewport.data[3]);
            nlea_EaglerAdapterImpl2__wglActiveTexture(33984);
            nlea_EaglerAdapterImpl2__wglBindTexture(3553, $java.nleg_EffectPipelineFXAA_fxaaSourceTexture);
            nlea_EaglerAdapterImpl2__wglDisable(2929);
            nlea_EaglerAdapterImpl2__wglDisable(2884);
            nlea_EaglerAdapterImpl2__wglDepthMask(0);
            nlea_EaglerAdapterImpl2__wglUseProgram($java.nleg_EffectPipelineFXAA_fxaaProgram);
            nlea_EaglerAdapterImpl2__wglUniform2f($java.nleg_EffectPipelineFXAA_fxaaScreenSize, $java.nleg_EffectPipelineFXAA_width, $java.nleg_EffectPipelineFXAA_height);
            nlea_EaglerAdapterImpl2__wglBindVertexArray($java.nleg_EffectPipelineFXAA_renderQuadArray);
            nlea_EaglerAdapterImpl2__wglDrawArrays(4, 0, 6);
            nlea_EaglerAdapterImpl2__wglEnable(2929);
            nlea_EaglerAdapterImpl2__wglDepthMask(1);
        } else if (!($java.nleg_EffectPipelineFXAA_state != 2 && $java.nleg_EffectPipelineFXAA_state != 3)) {
            nleg_EaglerAdapterGL30_$callClinit();
            if (!nleg_EaglerAdapterGL30_isWebGL) {
                nlea_EaglerAdapterImpl2__wglDisable((-1));
                nlea_EaglerAdapterImpl2__wglDisable((-1));
            }
            nlea_EaglerAdapterImpl2__wglViewport($java.nleg_EffectPipelineFXAA_originalViewport.data[0], $java.nleg_EffectPipelineFXAA_originalViewport.data[1], $java.nleg_EffectPipelineFXAA_originalViewport.data[2], $java.nleg_EffectPipelineFXAA_originalViewport.data[3]);
            nlea_EaglerAdapterImpl2__wglBindFramebuffer(36008, $java.nleg_EffectPipelineFXAA_framebuffer);
            nlea_EaglerAdapterImpl2__wglBindFramebuffer(36009, null);
            var$1 = nlea_EaglerAdapterImpl2_webgl;
            var$2 = $rt_createIntArray(1).data;
            var$2[0] = 1029;
            var$3 = "drawBuffers";
            var$4 = var$2.length;
            var$5 = new Array(var$4);
            var$6 = 0;
            while (var$6 < var$4) {
                var$7 = var$2[var$6];
                var$5[var$6] = var$7;
                var$6 = var$6 + 1 | 0;
            }
            var$1[var$3](var$5);
            var$8 = $java.nleg_EffectPipelineFXAA_width;
            var$9 = $java.nleg_EffectPipelineFXAA_height;
            var$6 = $java.nleg_EffectPipelineFXAA_width;
            var$10 = $java.nleg_EffectPipelineFXAA_height;
            nlea_EaglerAdapterImpl2_webgl.blitFramebuffer(0, 0, var$8, var$9, 0, 0, var$6, var$10, 16384, 9728);
            nlea_EaglerAdapterImpl2__wglBindFramebuffer(36008, null);
        }
        return;
    }
}
function nleg_EffectPipelineFXAA__clinit_() {
    $java.nleg_EffectPipelineFXAA_isUsingFXAA = 0;
    $java.nleg_EffectPipelineFXAA_framebuffer = null;
    $java.nleg_EffectPipelineFXAA_framebuffer_color = null;
    $java.nleg_EffectPipelineFXAA_framebuffer_depth = null;
    $java.nleg_EffectPipelineFXAA_fxaaProgram = null;
    $java.nleg_EffectPipelineFXAA_fxaaSourceTexture = null;
    $java.nleg_EffectPipelineFXAA_fxaaScreenSize = null;
    $java.nleg_EffectPipelineFXAA_renderQuadArray = null;
    nleg_EffectPipelineFXAA_displayWidth = (-1);
    nleg_EffectPipelineFXAA_displayHeight = (-1);
    $java.nleg_EffectPipelineFXAA_width = (-1);
    $java.nleg_EffectPipelineFXAA_height = (-1);
    $java.nleg_EffectPipelineFXAA_originalViewport = $rt_createIntArray(4);
    $java.nleg_EffectPipelineFXAA_state = 1;
    $java.nleg_EffectPipelineFXAA_newState = (-1);
    $java.nleg_EffectPipelineFXAA_msaaInit = 0;
}
function nms_ActiveRenderInfo() {
    jl_Object.call(this);
}
$java.nms_ActiveRenderInfo_objectX = 0.0;
$java.nms_ActiveRenderInfo_objectY = 0.0;
$java.nms_ActiveRenderInfo_objectZ = 0.0;
$java.nms_ActiveRenderInfo_viewport = null;
$java.nms_ActiveRenderInfo_modelview = null;
$java.nms_ActiveRenderInfo_projection = null;
$java.nms_ActiveRenderInfo_objectCoords = null;
var nms_ActiveRenderInfo_rotationX = 0.0;
var nms_ActiveRenderInfo_rotationXZ = 0.0;
var nms_ActiveRenderInfo_rotationZ = 0.0;
var nms_ActiveRenderInfo_rotationYZ = 0.0;
var nms_ActiveRenderInfo_rotationXY = 0.0;
$java.nms_ActiveRenderInfo__init_ = function() {
    var var_0 = new nms_ActiveRenderInfo();
    nms_ActiveRenderInfo__init_(var_0);
    return var_0;
};
function nms_ActiveRenderInfo__init_($this) {
    return;
}
function nms_ActiveRenderInfo_updateRenderInfo($par0EntityPlayer, $par1) {
    var var$3, $var2, $var3, var$6, var$7, var$8, var$9, $var4, $var5, $var6;
    jn_FloatBuffer_clear($java.nms_ActiveRenderInfo_modelview);
    jn_FloatBuffer_clear($java.nms_ActiveRenderInfo_projection);
    nleg_EaglerAdapterGL30_glGetFloat(2982, $java.nms_ActiveRenderInfo_modelview);
    nleg_EaglerAdapterGL30_glGetFloat(2983, $java.nms_ActiveRenderInfo_projection);
    var$3 = $java.nms_ActiveRenderInfo_viewport.data;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$3[0] = nlea_EaglerAdapterImpl2_viewportCache.data[0];
    var$3[1] = nlea_EaglerAdapterImpl2_viewportCache.data[1];
    var$3[2] = nlea_EaglerAdapterImpl2_viewportCache.data[2];
    var$3[3] = nlea_EaglerAdapterImpl2_viewportCache.data[3];
    $java.jn_FloatBuffer_position($java.nms_ActiveRenderInfo_modelview, 0);
    $java.jn_FloatBuffer_position($java.nms_ActiveRenderInfo_projection, 0);
    $java.jn_FloatBuffer_position($java.nms_ActiveRenderInfo_objectCoords, 0);
    $var2 = ($java.nms_ActiveRenderInfo_viewport.data[0] + $java.nms_ActiveRenderInfo_viewport.data[2] | 0) / 2 | 0;
    $var3 = ($java.nms_ActiveRenderInfo_viewport.data[1] + $java.nms_ActiveRenderInfo_viewport.data[3] | 0) / 2 | 0;
    var$6 = $java.nms_ActiveRenderInfo_modelview;
    var$7 = $java.nms_ActiveRenderInfo_projection;
    var$8 = $java.nms_ActiveRenderInfo_viewport.data;
    var$9 = $java.nms_ActiveRenderInfo_objectCoords;
    nlegv_Matrix4f_load0(nleg_EaglerAdapterGL30_unprojA, var$6);
    nlegv_Matrix4f_load0(nleg_EaglerAdapterGL30_unprojB, var$7);
    nlegv_Matrix4f_mul(nleg_EaglerAdapterGL30_unprojA, nleg_EaglerAdapterGL30_unprojB, nleg_EaglerAdapterGL30_unprojB);
    nlegv_Matrix4f_invert(nleg_EaglerAdapterGL30_unprojB);
    nlegv_Vector4f_set0(nleg_EaglerAdapterGL30_unprojC, ($var2 - var$8[0]) / var$8[2] * 2.0 - 1.0, ($var3 - var$8[1]) / var$8[3] * 2.0 - 1.0, 0.0, 1.0);
    nlegv_Matrix4f_transform(nleg_EaglerAdapterGL30_unprojB, nleg_EaglerAdapterGL30_unprojC, nleg_EaglerAdapterGL30_unprojC);
    jn_FloatBufferImpl_put(var$9, nleg_EaglerAdapterGL30_unprojC.$x / nleg_EaglerAdapterGL30_unprojC.$w1);
    jn_FloatBufferImpl_put(var$9, nleg_EaglerAdapterGL30_unprojC.$y / nleg_EaglerAdapterGL30_unprojC.$w1);
    jn_FloatBufferImpl_put(var$9, nleg_EaglerAdapterGL30_unprojC.$z / nleg_EaglerAdapterGL30_unprojC.$w1);
    $java.nms_ActiveRenderInfo_objectX = $java.jn_FloatBufferImpl_get($java.nms_ActiveRenderInfo_objectCoords, 0);
    $java.nms_ActiveRenderInfo_objectY = $java.jn_FloatBufferImpl_get($java.nms_ActiveRenderInfo_objectCoords, 1);
    $java.nms_ActiveRenderInfo_objectZ = $java.jn_FloatBufferImpl_get($java.nms_ActiveRenderInfo_objectCoords, 2);
    $var4 = !$par1 ? 0 : 1;
    $var5 = $par0EntityPlayer.$rotationPitch;
    $var2 = $par0EntityPlayer.$rotationYaw * 3.1415927410125732 / 180.0;
    $var3 = nms_MathHelper_cos($var2);
    $var6 = 1 - ($var4 * 2 | 0) | 0;
    nms_ActiveRenderInfo_rotationX = $var3 * $var6;
    nms_ActiveRenderInfo_rotationZ = nms_MathHelper_sin($var2) * $var6;
    $var2 =  -nms_ActiveRenderInfo_rotationZ;
    $var3 = $var5 * 3.1415927410125732 / 180.0;
    nms_ActiveRenderInfo_rotationYZ = $var2 * nms_MathHelper_sin($var3) * $var6;
    nms_ActiveRenderInfo_rotationXY = nms_ActiveRenderInfo_rotationX * nms_MathHelper_sin($var3) * $var6;
    nms_ActiveRenderInfo_rotationXZ = nms_MathHelper_cos($var3);
}
function nms_ActiveRenderInfo_getBlockIdAtEntityViewpoint($par0World, $par1EntityLiving, $par2) {
    var var$4, var$5, var$6, $var3, $var4, $var5, $var6, $var7;
    var$4 = $par2;
    var$5 = $par1EntityLiving.$prevPosX + ($par1EntityLiving.$posX - $par1EntityLiving.$prevPosX) * var$4;
    var$6 = $par1EntityLiving.$prevPosY + ($par1EntityLiving.$posY - $par1EntityLiving.$prevPosY) * var$4 + 0.11999999731779099;
    var$4 = $par1EntityLiving.$prevPosZ + ($par1EntityLiving.$posZ - $par1EntityLiving.$prevPosZ) * var$4;
    var$5 = var$5 + $java.nms_ActiveRenderInfo_objectX * 1.0;
    var$6 = var$6 + $java.nms_ActiveRenderInfo_objectY * 1.0;
    var$4 = var$4 + $java.nms_ActiveRenderInfo_objectZ * 1.0;
    $var3 = nms_Vec3Pool_getVecFromPool($par1EntityLiving.$worldObj.$vecPool, var$5, var$6, var$4);
    $var4 = $java.nms_ChunkPosition__init_(nms_MathHelper_floor_double($var3.$xCoord), nms_MathHelper_floor_double($var3.$yCoord), nms_MathHelper_floor_double($var3.$zCoord));
    $var5 = nms_World_getBlockId($par0World, $var4.$x6, $var4.$y5, $var4.$z6);
    if ($var5) {
        nms_Block_$callClinit();
        if (nms_Block_blocksList.data[$var5].$blockMaterial.$isLiquid()) {
            $var6 = nms_BlockFluid_getFluidHeightPercent(nms_World_getBlockMetadata($par0World, $var4.$x6, $var4.$y5, $var4.$z6)) - 0.1111111119389534;
            $var7 = ($var4.$y5 + 1 | 0) - $var6;
            if ($var3.$yCoord >= $var7)
                $var5 = nms_World_getBlockId($par0World, $var4.$x6, $var4.$y5 + 1 | 0, $var4.$z6);
        }
    }
    return $var5;
}
function nms_ActiveRenderInfo__clinit_() {
    $java.nms_ActiveRenderInfo_objectX = 0.0;
    $java.nms_ActiveRenderInfo_objectY = 0.0;
    $java.nms_ActiveRenderInfo_objectZ = 0.0;
    $java.nms_ActiveRenderInfo_viewport = $rt_createIntArray(4);
    $java.nms_ActiveRenderInfo_modelview = nms_GLAllocation_createDirectFloatBuffer(16);
    $java.nms_ActiveRenderInfo_projection = nms_GLAllocation_createDirectFloatBuffer(16);
    $java.nms_ActiveRenderInfo_objectCoords = nms_GLAllocation_createDirectFloatBuffer(3);
}
function nms_ClippingHelper() {
    var a = this; jl_Object.call(a);
    a.$frustum = null;
    a.$projectionMatrix0 = null;
    a.$modelviewMatrix = null;
    a.$clippingMatrix = null;
}
$java.nms_ClippingHelper__init_ = function() {
    var var_0 = new nms_ClippingHelper();
    nms_ClippingHelper__init_(var_0);
    return var_0;
};
function nms_ClippingHelper__init_($this) {
    $this.$frustum = $rt_createFloatMultiArray([16, 16]);
    $this.$projectionMatrix0 = $rt_createFloatArray(16);
    $this.$modelviewMatrix = $rt_createFloatArray(16);
    $this.$clippingMatrix = $rt_createFloatArray(16);
}
$java.nms_ClippingHelper_isBoxInFrustum = function($this, $par1, $par3, $par5, $par7, $par9, $par11) {
    var $var13;
    $var13 = 0;
    while ($var13 < 6) {
        if ($this.$frustum.data[$var13].data[0] * $par1 + $this.$frustum.data[$var13].data[1] * $par3 + $this.$frustum.data[$var13].data[2] * $par5 + $this.$frustum.data[$var13].data[3] <= 0.0 && $this.$frustum.data[$var13].data[0] * $par7 + $this.$frustum.data[$var13].data[1] * $par3 + $this.$frustum.data[$var13].data[2] * $par5 + $this.$frustum.data[$var13].data[3] <= 0.0 && $this.$frustum.data[$var13].data[0] * $par1 + $this.$frustum.data[$var13].data[1] * $par9 + $this.$frustum.data[$var13].data[2] * $par5
        + $this.$frustum.data[$var13].data[3] <= 0.0 && $this.$frustum.data[$var13].data[0] * $par7 + $this.$frustum.data[$var13].data[1] * $par9 + $this.$frustum.data[$var13].data[2] * $par5 + $this.$frustum.data[$var13].data[3] <= 0.0 && $this.$frustum.data[$var13].data[0] * $par1 + $this.$frustum.data[$var13].data[1] * $par3 + $this.$frustum.data[$var13].data[2] * $par11 + $this.$frustum.data[$var13].data[3] <= 0.0 && $this.$frustum.data[$var13].data[0] * $par7 + $this.$frustum.data[$var13].data[1] * $par3
        + $this.$frustum.data[$var13].data[2] * $par11 + $this.$frustum.data[$var13].data[3] <= 0.0 && $this.$frustum.data[$var13].data[0] * $par1 + $this.$frustum.data[$var13].data[1] * $par9 + $this.$frustum.data[$var13].data[2] * $par11 + $this.$frustum.data[$var13].data[3] <= 0.0 && $this.$frustum.data[$var13].data[0] * $par7 + $this.$frustum.data[$var13].data[1] * $par9 + $this.$frustum.data[$var13].data[2] * $par11 + $this.$frustum.data[$var13].data[3] <= 0.0)
            return 0;
        $var13 = $var13 + 1 | 0;
    }
    return 1;
};
function nms_ClippingHelperImpl() {
    var a = this; nms_ClippingHelper.call(a);
    a.$projectionMatrixBuffer = null;
    a.$modelviewMatrixBuffer = null;
    a.$field_78564_h = null;
}
$java.nms_ClippingHelperImpl_instance = null;
$java.nms_ClippingHelperImpl__init_ = function() {
    var var_0 = new nms_ClippingHelperImpl();
    nms_ClippingHelperImpl__init_(var_0);
    return var_0;
};
function nms_ClippingHelperImpl__init_($this) {
    nms_ClippingHelper__init_($this);
    $this.$projectionMatrixBuffer = nms_GLAllocation_createDirectFloatBuffer(16);
    $this.$modelviewMatrixBuffer = nms_GLAllocation_createDirectFloatBuffer(16);
    $this.$field_78564_h = nms_GLAllocation_createDirectFloatBuffer(16);
}
function nms_ClippingHelperImpl_getInstance() {
    $java.nms_ClippingHelperImpl_init($java.nms_ClippingHelperImpl_instance);
    return $java.nms_ClippingHelperImpl_instance;
}
$java.nms_ClippingHelperImpl_normalize = function($this, $par1ArrayOfFloat, $par2) {
    var $var3, var$4;
    $par1ArrayOfFloat = $par1ArrayOfFloat.data;
    $var3 = nms_MathHelper_sqrt_float($par1ArrayOfFloat[$par2].data[0] * $par1ArrayOfFloat[$par2].data[0] + $par1ArrayOfFloat[$par2].data[1] * $par1ArrayOfFloat[$par2].data[1] + $par1ArrayOfFloat[$par2].data[2] * $par1ArrayOfFloat[$par2].data[2]);
    var$4 = $par1ArrayOfFloat[$par2].data;
    var$4[0] = var$4[0] / $var3;
    var$4 = $par1ArrayOfFloat[$par2].data;
    var$4[1] = var$4[1] / $var3;
    var$4 = $par1ArrayOfFloat[$par2].data;
    var$4[2] = var$4[2] / $var3;
    $par1ArrayOfFloat = $par1ArrayOfFloat[$par2].data;
    $par1ArrayOfFloat[3] = $par1ArrayOfFloat[3] / $var3;
};
$java.nms_ClippingHelperImpl_init = function($this) {
    jn_FloatBuffer_clear($this.$projectionMatrixBuffer);
    jn_FloatBuffer_clear($this.$modelviewMatrixBuffer);
    jn_FloatBuffer_clear($this.$field_78564_h);
    nleg_EaglerAdapterGL30_glGetFloat(2983, $this.$projectionMatrixBuffer);
    nleg_EaglerAdapterGL30_glGetFloat(2982, $this.$modelviewMatrixBuffer);
    jn_FloatBuffer_limit0(jn_FloatBuffer_flip($this.$projectionMatrixBuffer), 16);
    jn_FloatBuffer_get0($this.$projectionMatrixBuffer, $this.$projectionMatrix0);
    jn_FloatBuffer_limit0(jn_FloatBuffer_flip($this.$modelviewMatrixBuffer), 16);
    jn_FloatBuffer_get0($this.$modelviewMatrixBuffer, $this.$modelviewMatrix);
    $this.$clippingMatrix.data[0] = $this.$modelviewMatrix.data[0] * $this.$projectionMatrix0.data[0] + $this.$modelviewMatrix.data[1] * $this.$projectionMatrix0.data[4] + $this.$modelviewMatrix.data[2] * $this.$projectionMatrix0.data[8] + $this.$modelviewMatrix.data[3] * $this.$projectionMatrix0.data[12];
    $this.$clippingMatrix.data[1] = $this.$modelviewMatrix.data[0] * $this.$projectionMatrix0.data[1] + $this.$modelviewMatrix.data[1] * $this.$projectionMatrix0.data[5] + $this.$modelviewMatrix.data[2] * $this.$projectionMatrix0.data[9] + $this.$modelviewMatrix.data[3] * $this.$projectionMatrix0.data[13];
    $this.$clippingMatrix.data[2] = $this.$modelviewMatrix.data[0] * $this.$projectionMatrix0.data[2] + $this.$modelviewMatrix.data[1] * $this.$projectionMatrix0.data[6] + $this.$modelviewMatrix.data[2] * $this.$projectionMatrix0.data[10] + $this.$modelviewMatrix.data[3] * $this.$projectionMatrix0.data[14];
    $this.$clippingMatrix.data[3] = $this.$modelviewMatrix.data[0] * $this.$projectionMatrix0.data[3] + $this.$modelviewMatrix.data[1] * $this.$projectionMatrix0.data[7] + $this.$modelviewMatrix.data[2] * $this.$projectionMatrix0.data[11] + $this.$modelviewMatrix.data[3] * $this.$projectionMatrix0.data[15];
    $this.$clippingMatrix.data[4] = $this.$modelviewMatrix.data[4] * $this.$projectionMatrix0.data[0] + $this.$modelviewMatrix.data[5] * $this.$projectionMatrix0.data[4] + $this.$modelviewMatrix.data[6] * $this.$projectionMatrix0.data[8] + $this.$modelviewMatrix.data[7] * $this.$projectionMatrix0.data[12];
    $this.$clippingMatrix.data[5] = $this.$modelviewMatrix.data[4] * $this.$projectionMatrix0.data[1] + $this.$modelviewMatrix.data[5] * $this.$projectionMatrix0.data[5] + $this.$modelviewMatrix.data[6] * $this.$projectionMatrix0.data[9] + $this.$modelviewMatrix.data[7] * $this.$projectionMatrix0.data[13];
    $this.$clippingMatrix.data[6] = $this.$modelviewMatrix.data[4] * $this.$projectionMatrix0.data[2] + $this.$modelviewMatrix.data[5] * $this.$projectionMatrix0.data[6] + $this.$modelviewMatrix.data[6] * $this.$projectionMatrix0.data[10] + $this.$modelviewMatrix.data[7] * $this.$projectionMatrix0.data[14];
    $this.$clippingMatrix.data[7] = $this.$modelviewMatrix.data[4] * $this.$projectionMatrix0.data[3] + $this.$modelviewMatrix.data[5] * $this.$projectionMatrix0.data[7] + $this.$modelviewMatrix.data[6] * $this.$projectionMatrix0.data[11] + $this.$modelviewMatrix.data[7] * $this.$projectionMatrix0.data[15];
    $this.$clippingMatrix.data[8] = $this.$modelviewMatrix.data[8] * $this.$projectionMatrix0.data[0] + $this.$modelviewMatrix.data[9] * $this.$projectionMatrix0.data[4] + $this.$modelviewMatrix.data[10] * $this.$projectionMatrix0.data[8] + $this.$modelviewMatrix.data[11] * $this.$projectionMatrix0.data[12];
    $this.$clippingMatrix.data[9] = $this.$modelviewMatrix.data[8] * $this.$projectionMatrix0.data[1] + $this.$modelviewMatrix.data[9] * $this.$projectionMatrix0.data[5] + $this.$modelviewMatrix.data[10] * $this.$projectionMatrix0.data[9] + $this.$modelviewMatrix.data[11] * $this.$projectionMatrix0.data[13];
    $this.$clippingMatrix.data[10] = $this.$modelviewMatrix.data[8] * $this.$projectionMatrix0.data[2] + $this.$modelviewMatrix.data[9] * $this.$projectionMatrix0.data[6] + $this.$modelviewMatrix.data[10] * $this.$projectionMatrix0.data[10] + $this.$modelviewMatrix.data[11] * $this.$projectionMatrix0.data[14];
    $this.$clippingMatrix.data[11] = $this.$modelviewMatrix.data[8] * $this.$projectionMatrix0.data[3] + $this.$modelviewMatrix.data[9] * $this.$projectionMatrix0.data[7] + $this.$modelviewMatrix.data[10] * $this.$projectionMatrix0.data[11] + $this.$modelviewMatrix.data[11] * $this.$projectionMatrix0.data[15];
    $this.$clippingMatrix.data[12] = $this.$modelviewMatrix.data[12] * $this.$projectionMatrix0.data[0] + $this.$modelviewMatrix.data[13] * $this.$projectionMatrix0.data[4] + $this.$modelviewMatrix.data[14] * $this.$projectionMatrix0.data[8] + $this.$modelviewMatrix.data[15] * $this.$projectionMatrix0.data[12];
    $this.$clippingMatrix.data[13] = $this.$modelviewMatrix.data[12] * $this.$projectionMatrix0.data[1] + $this.$modelviewMatrix.data[13] * $this.$projectionMatrix0.data[5] + $this.$modelviewMatrix.data[14] * $this.$projectionMatrix0.data[9] + $this.$modelviewMatrix.data[15] * $this.$projectionMatrix0.data[13];
    $this.$clippingMatrix.data[14] = $this.$modelviewMatrix.data[12] * $this.$projectionMatrix0.data[2] + $this.$modelviewMatrix.data[13] * $this.$projectionMatrix0.data[6] + $this.$modelviewMatrix.data[14] * $this.$projectionMatrix0.data[10] + $this.$modelviewMatrix.data[15] * $this.$projectionMatrix0.data[14];
    $this.$clippingMatrix.data[15] = $this.$modelviewMatrix.data[12] * $this.$projectionMatrix0.data[3] + $this.$modelviewMatrix.data[13] * $this.$projectionMatrix0.data[7] + $this.$modelviewMatrix.data[14] * $this.$projectionMatrix0.data[11] + $this.$modelviewMatrix.data[15] * $this.$projectionMatrix0.data[15];
    $this.$frustum.data[0].data[0] = $this.$clippingMatrix.data[3] - $this.$clippingMatrix.data[0];
    $this.$frustum.data[0].data[1] = $this.$clippingMatrix.data[7] - $this.$clippingMatrix.data[4];
    $this.$frustum.data[0].data[2] = $this.$clippingMatrix.data[11] - $this.$clippingMatrix.data[8];
    $this.$frustum.data[0].data[3] = $this.$clippingMatrix.data[15] - $this.$clippingMatrix.data[12];
    $java.nms_ClippingHelperImpl_normalize($this, $this.$frustum, 0);
    $this.$frustum.data[1].data[0] = $this.$clippingMatrix.data[3] + $this.$clippingMatrix.data[0];
    $this.$frustum.data[1].data[1] = $this.$clippingMatrix.data[7] + $this.$clippingMatrix.data[4];
    $this.$frustum.data[1].data[2] = $this.$clippingMatrix.data[11] + $this.$clippingMatrix.data[8];
    $this.$frustum.data[1].data[3] = $this.$clippingMatrix.data[15] + $this.$clippingMatrix.data[12];
    $java.nms_ClippingHelperImpl_normalize($this, $this.$frustum, 1);
    $this.$frustum.data[2].data[0] = $this.$clippingMatrix.data[3] + $this.$clippingMatrix.data[1];
    $this.$frustum.data[2].data[1] = $this.$clippingMatrix.data[7] + $this.$clippingMatrix.data[5];
    $this.$frustum.data[2].data[2] = $this.$clippingMatrix.data[11] + $this.$clippingMatrix.data[9];
    $this.$frustum.data[2].data[3] = $this.$clippingMatrix.data[15] + $this.$clippingMatrix.data[13];
    $java.nms_ClippingHelperImpl_normalize($this, $this.$frustum, 2);
    $this.$frustum.data[3].data[0] = $this.$clippingMatrix.data[3] - $this.$clippingMatrix.data[1];
    $this.$frustum.data[3].data[1] = $this.$clippingMatrix.data[7] - $this.$clippingMatrix.data[5];
    $this.$frustum.data[3].data[2] = $this.$clippingMatrix.data[11] - $this.$clippingMatrix.data[9];
    $this.$frustum.data[3].data[3] = $this.$clippingMatrix.data[15] - $this.$clippingMatrix.data[13];
    $java.nms_ClippingHelperImpl_normalize($this, $this.$frustum, 3);
    $this.$frustum.data[4].data[0] = $this.$clippingMatrix.data[3] - $this.$clippingMatrix.data[2];
    $this.$frustum.data[4].data[1] = $this.$clippingMatrix.data[7] - $this.$clippingMatrix.data[6];
    $this.$frustum.data[4].data[2] = $this.$clippingMatrix.data[11] - $this.$clippingMatrix.data[10];
    $this.$frustum.data[4].data[3] = $this.$clippingMatrix.data[15] - $this.$clippingMatrix.data[14];
    $java.nms_ClippingHelperImpl_normalize($this, $this.$frustum, 4);
    $this.$frustum.data[5].data[0] = $this.$clippingMatrix.data[3] + $this.$clippingMatrix.data[2];
    $this.$frustum.data[5].data[1] = $this.$clippingMatrix.data[7] + $this.$clippingMatrix.data[6];
    $this.$frustum.data[5].data[2] = $this.$clippingMatrix.data[11] + $this.$clippingMatrix.data[10];
    $this.$frustum.data[5].data[3] = $this.$clippingMatrix.data[15] + $this.$clippingMatrix.data[14];
    $java.nms_ClippingHelperImpl_normalize($this, $this.$frustum, 5);
};
function nms_ClippingHelperImpl__clinit_() {
    $java.nms_ClippingHelperImpl_instance = $java.nms_ClippingHelperImpl__init_();
}
function nms_ICamera() {
}
function nms_Frustrum() {
    var a = this; jl_Object.call(a);
    a.$clippingHelper = null;
    a.$xPosition2 = 0.0;
    a.$yPosition2 = 0.0;
    a.$zPosition1 = 0.0;
}
function nms_Frustrum__init_0() {
    var var_0 = new nms_Frustrum();
    nms_Frustrum__init_(var_0);
    return var_0;
}
function nms_Frustrum__init_($this) {
    $this.$clippingHelper = nms_ClippingHelperImpl_getInstance();
}
function nms_Frustrum_setPosition($this, $par1, $par3, $par5) {
    $this.$xPosition2 = $par1;
    $this.$yPosition2 = $par3;
    $this.$zPosition1 = $par5;
}
$java.nms_Frustrum_isBoxInFrustum = function($this, $par1, $par3, $par5, $par7, $par9, $par11) {
    return $java.nms_ClippingHelper_isBoxInFrustum($this.$clippingHelper, $par1 - $this.$xPosition2, $par3 - $this.$yPosition2, $par5 - $this.$zPosition1, $par7 - $this.$xPosition2, $par9 - $this.$yPosition2, $par11 - $this.$zPosition1);
};
function nms_Frustrum_isBoundingBoxInFrustum($this, $par1AxisAlignedBB) {
    return $java.nms_Frustrum_isBoxInFrustum($this, $par1AxisAlignedBB.$minX, $par1AxisAlignedBB.$minY, $par1AxisAlignedBB.$minZ, $par1AxisAlignedBB.$maxX, $par1AxisAlignedBB.$maxY, $par1AxisAlignedBB.$maxZ);
}
function nms_StringUtils() {
    jl_Object.call(this);
}
$java.nms_StringUtils_patternControlCode = null;
$java.nms_StringUtils__init_ = function() {
    var var_0 = new nms_StringUtils();
    nms_StringUtils__init_(var_0);
    return var_0;
};
function nms_StringUtils__init_($this) {
    return;
}
function nms_StringUtils_ticksToElapsedTime($par0) {
    var $var1, $var2, var$4;
    $var1 = $par0 / 20 | 0;
    $var2 = $var1 / 60 | 0;
    $par0 = $var1 % 60 | 0;
    if ($par0 >= 10) {
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append2(var$4, $var2);
        jl_AbstractStringBuilder_append(var$4, $rt_s(272));
        jl_AbstractStringBuilder_append2(var$4, $par0);
        var$4 = jl_AbstractStringBuilder_toString(var$4);
    } else {
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append2(var$4, $var2);
        jl_AbstractStringBuilder_append(var$4, $rt_s(2757));
        jl_AbstractStringBuilder_append2(var$4, $par0);
        var$4 = jl_AbstractStringBuilder_toString(var$4);
    }
    return var$4;
}
function nms_StringUtils_stripControlCodes($par0Str) {
    return jur_Matcher_replaceAll(jur_Pattern_matcher($java.nms_StringUtils_patternControlCode, $par0Str), $rt_s(36));
}
function nms_StringUtils__clinit_() {
    $java.nms_StringUtils_patternControlCode = jur_Pattern_compile($rt_s(2758));
}
function nle_EnumBrowser() {
    jl_Enum.call(this);
    this.$name14 = null;
}
$java.nle_EnumBrowser_DESKTOP = null;
$java.nle_EnumBrowser_CHROME = null;
$java.nle_EnumBrowser_EDGE = null;
$java.nle_EnumBrowser_IE = null;
$java.nle_EnumBrowser_FIREFOX = null;
$java.nle_EnumBrowser_SAFARI = null;
$java.nle_EnumBrowser_OPERA = null;
$java.nle_EnumBrowser_WEBKIT = null;
$java.nle_EnumBrowser_GECKO = null;
$java.nle_EnumBrowser_UNKNOWN = null;
$java.nle_EnumBrowser_identifiedBrowser = null;
$java.nle_EnumBrowser_$VALUES = null;
$java.nle_EnumBrowser__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nle_EnumBrowser();
    $java.nle_EnumBrowser__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nle_EnumBrowser__init_0 = function($this, var$1, var$2, $string) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$name14 = $string;
};
function nle_EnumBrowser_getBrowser() {
    var var$1, $ua;
    if ($java.nle_EnumBrowser_identifiedBrowser === null) {
        var$1 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$1);
        jl_AbstractStringBuilder_append(var$1, $rt_s(343));
        jl_AbstractStringBuilder_append(var$1, jl_String_toLowerCase($rt_str(window.navigator.userAgent)));
        $ua = jl_AbstractStringBuilder_toString(var$1);
        if (jl_String_contains($ua, $rt_s(2759)))
            $java.nle_EnumBrowser_identifiedBrowser = $java.nle_EnumBrowser_EDGE;
        else if (jl_String_contains($ua, $rt_s(2760)))
            $java.nle_EnumBrowser_identifiedBrowser = $java.nle_EnumBrowser_OPERA;
        else if (jl_String_contains($ua, $rt_s(2761)))
            $java.nle_EnumBrowser_identifiedBrowser = $java.nle_EnumBrowser_CHROME;
        else if (jl_String_contains($ua, $rt_s(2762)))
            $java.nle_EnumBrowser_identifiedBrowser = $java.nle_EnumBrowser_FIREFOX;
        else if (jl_String_contains($ua, $rt_s(2763)))
            $java.nle_EnumBrowser_identifiedBrowser = $java.nle_EnumBrowser_SAFARI;
        else if (!jl_String_contains($ua, $rt_s(2764)) && !jl_String_contains($ua, $rt_s(2765))) {
            if (jl_String_contains($ua, $rt_s(2766)))
                $java.nle_EnumBrowser_identifiedBrowser = $java.nle_EnumBrowser_WEBKIT;
            else if (jl_String_contains($ua, $rt_s(2767)))
                $java.nle_EnumBrowser_identifiedBrowser = $java.nle_EnumBrowser_GECKO;
            else if (!jl_String_contains($ua, $rt_s(2768)))
                $java.nle_EnumBrowser_identifiedBrowser = $java.nle_EnumBrowser_UNKNOWN;
            else
                $java.nle_EnumBrowser_identifiedBrowser = $java.nle_EnumBrowser_DESKTOP;
        } else
            $java.nle_EnumBrowser_identifiedBrowser = $java.nle_EnumBrowser_IE;
    }
    return $java.nle_EnumBrowser_identifiedBrowser;
}
function nle_EnumBrowser_toString($this) {
    return $this.$name14;
}
function nle_EnumBrowser__clinit_() {
    var var$1, var$2;
    $java.nle_EnumBrowser_DESKTOP = $java.nle_EnumBrowser__init_($rt_s(2769), 0, $rt_s(2770));
    $java.nle_EnumBrowser_CHROME = $java.nle_EnumBrowser__init_($rt_s(2771), 1, $rt_s(2772));
    $java.nle_EnumBrowser_EDGE = $java.nle_EnumBrowser__init_($rt_s(2773), 2, $rt_s(2774));
    $java.nle_EnumBrowser_IE = $java.nle_EnumBrowser__init_($rt_s(2775), 3, $rt_s(2775));
    $java.nle_EnumBrowser_FIREFOX = $java.nle_EnumBrowser__init_($rt_s(2776), 4, $rt_s(2777));
    $java.nle_EnumBrowser_SAFARI = $java.nle_EnumBrowser__init_($rt_s(2778), 5, $rt_s(2779));
    $java.nle_EnumBrowser_OPERA = $java.nle_EnumBrowser__init_($rt_s(2780), 6, $rt_s(2781));
    $java.nle_EnumBrowser_WEBKIT = $java.nle_EnumBrowser__init_($rt_s(2782), 7, $rt_s(2783));
    $java.nle_EnumBrowser_GECKO = $java.nle_EnumBrowser__init_($rt_s(2784), 8, $rt_s(2785));
    $java.nle_EnumBrowser_UNKNOWN = $java.nle_EnumBrowser__init_($rt_s(397), 9, $rt_s(2786));
    var$1 = $rt_createArray(nle_EnumBrowser, 10);
    var$2 = var$1.data;
    var$2[0] = $java.nle_EnumBrowser_DESKTOP;
    var$2[1] = $java.nle_EnumBrowser_CHROME;
    var$2[2] = $java.nle_EnumBrowser_EDGE;
    var$2[3] = $java.nle_EnumBrowser_IE;
    var$2[4] = $java.nle_EnumBrowser_FIREFOX;
    var$2[5] = $java.nle_EnumBrowser_SAFARI;
    var$2[6] = $java.nle_EnumBrowser_OPERA;
    var$2[7] = $java.nle_EnumBrowser_WEBKIT;
    var$2[8] = $java.nle_EnumBrowser_GECKO;
    var$2[9] = $java.nle_EnumBrowser_UNKNOWN;
    $java.nle_EnumBrowser_$VALUES = var$1;
    $java.nle_EnumBrowser_identifiedBrowser = null;
}
function nms_Direction() {
    jl_Object.call(this);
}
var nms_Direction_offsetX = null;
var nms_Direction_offsetZ = null;
var nms_Direction_directions = null;
var nms_Direction_directionToFacing = null;
$java.nms_Direction_facingToDirection = null;
var nms_Direction_rotateOpposite = null;
$java.nms_Direction_rotateRight = null;
$java.nms_Direction_rotateLeft = null;
$java.nms_Direction_bedDirection = null;
$java.nms_Direction__init_ = function() {
    var var_0 = new nms_Direction();
    nms_Direction__init_(var_0);
    return var_0;
};
function nms_Direction__init_($this) {
    return;
}
function nms_Direction__clinit_() {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createIntArray(4);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = (-1);
    var$2[2] = 0;
    var$2[3] = 1;
    nms_Direction_offsetX = var$1;
    var$1 = $rt_createIntArray(4);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 0;
    var$2[2] = (-1);
    var$2[3] = 0;
    nms_Direction_offsetZ = var$1;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2787);
    var$2[1] = $rt_s(2788);
    var$2[2] = $rt_s(2789);
    var$2[3] = $rt_s(2790);
    nms_Direction_directions = var$1;
    var$1 = $rt_createIntArray(4);
    var$2 = var$1.data;
    var$2[0] = 3;
    var$2[1] = 4;
    var$2[2] = 2;
    var$2[3] = 5;
    nms_Direction_directionToFacing = var$1;
    var$1 = $rt_createIntArray(6);
    var$2 = var$1.data;
    var$2[0] = (-1);
    var$2[1] = (-1);
    var$2[2] = 2;
    var$2[3] = 0;
    var$2[4] = 1;
    var$2[5] = 3;
    $java.nms_Direction_facingToDirection = var$1;
    var$1 = $rt_createIntArray(4);
    var$2 = var$1.data;
    var$2[0] = 2;
    var$2[1] = 3;
    var$2[2] = 0;
    var$2[3] = 1;
    nms_Direction_rotateOpposite = var$1;
    var$1 = $rt_createIntArray(4);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 2;
    var$2[2] = 3;
    var$2[3] = 0;
    $java.nms_Direction_rotateRight = var$1;
    var$1 = $rt_createIntArray(4);
    var$2 = var$1.data;
    var$2[0] = 3;
    var$2[1] = 0;
    var$2[2] = 1;
    var$2[3] = 2;
    $java.nms_Direction_rotateLeft = var$1;
    var$1 = $rt_createArray($rt_arraycls($rt_intcls()), 4);
    var$3 = var$1.data;
    var$2 = $rt_createIntArray(6);
    var$4 = var$2.data;
    var$4[0] = 1;
    var$4[1] = 0;
    var$4[2] = 3;
    var$4[3] = 2;
    var$4[4] = 5;
    var$4[5] = 4;
    var$3[0] = var$2;
    var$2 = $rt_createIntArray(6);
    var$4 = var$2.data;
    var$4[0] = 1;
    var$4[1] = 0;
    var$4[2] = 5;
    var$4[3] = 4;
    var$4[4] = 2;
    var$4[5] = 3;
    var$3[1] = var$2;
    var$2 = $rt_createIntArray(6);
    var$4 = var$2.data;
    var$4[0] = 1;
    var$4[1] = 0;
    var$4[2] = 2;
    var$4[3] = 3;
    var$4[4] = 4;
    var$4[5] = 5;
    var$3[2] = var$2;
    var$2 = $rt_createIntArray(6);
    var$4 = var$2.data;
    var$4[0] = 1;
    var$4[1] = 0;
    var$4[2] = 4;
    var$4[3] = 5;
    var$4[4] = 3;
    var$4[5] = 2;
    var$3[3] = var$2;
    $java.nms_Direction_bedDirection = var$1;
}
function nms_NetHandler() {
    jl_Object.call(this);
}
$java.nms_NetHandler_unexpectedPacket = function($this, $par1Packet) {
    return;
};
$java.nms_NetHandler_handleBlockDig = function($this, $par1Packet14BlockDig) {
    return;
};
$java.nms_NetHandler_handlePlace = function($this, $par1Packet15Place) {
    return;
};
$java.nms_NetHandler_handleEntityAction = function($this, $par1Packet19EntityAction) {
    return;
};
$java.nms_NetHandler_handleClientProtocol = function($this, $par1Packet2ClientProtocol) {
    return;
};
$java.nms_NetHandler_handleUseEntity = function($this, $par1Packet7UseEntity) {
    return;
};
$java.nms_NetHandler_handleWindowClick = function($this, $par1Packet102WindowClick) {
    return;
};
$java.nms_NetHandler_handleServerPing = function($this, $par1Packet254ServerPing) {
    return;
};
$java.nms_NetHandler_handleCreativeSetSlot = function($this, $par1Packet107CreativeSetSlot) {
    return;
};
$java.nms_NetHandler_handleEnchantItem = function($this, $par1Packet108EnchantItem) {
    return;
};
$java.nms_NetHandler_handleClientInfo = function($this, $par1Packet204ClientInfo) {
    return;
};
$java.nms_NetHandler_handleClientCommand = function($this, $par1Packet205ClientCommand) {
    return;
};
function nms_NetClientHandler() {
    var a = this; nms_NetHandler.call(a);
    a.$disconnected = 0;
    a.$netManager = null;
    a.$field_72560_a = null;
    a.$mc15 = null;
    a.$worldClient = null;
    a.$doneLoadingTerrain = 0;
    a.$mapStorage0 = null;
    a.$playerInfoMap = null;
    a.$playerInfoList = null;
    a.$currentServerMaxPlayers = 0;
    a.$field_98183_l = null;
    a.$rand6 = null;
}
$java.nms_NetClientHandler__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_NetClientHandler();
    nms_NetClientHandler__init_(var_3, var_0, var_1, var_2);
    return var_3;
};
function nms_NetClientHandler__init_($this, $par1Minecraft, $par2Str, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2Str = $thread.pop();$par1Minecraft = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$disconnected = 0;
        $this.$doneLoadingTerrain = 0;
        $this.$mapStorage0 = nms_MapStorage__init_0();
        $this.$playerInfoMap = ju_HashMap__init_();
        $this.$playerInfoList = ju_ArrayList__init_0();
        $this.$currentServerMaxPlayers = 20;
        $this.$field_98183_l = null;
        $this.$rand6 = nle_EaglercraftRandom__init_0();
        $this.$mc15 = $par1Minecraft;
        $par1Minecraft = new nle_WebsocketNetworkManager;
        $par1Minecraft.$sendBuffer = ji_ByteArrayOutputStream__init_0();
        $par1Minecraft.$oldChunkBuffer = null;
        $par1Minecraft.$readChunks = ju_LinkedList__init_0();
        $par1Minecraft.$serverURI = $par2Str;
        $par1Minecraft.$netHandler = $this;
        nlea_EaglerAdapterImpl2_$callClinit();
        $ptr = 1;
    case 1:
        $tmp = nlea_EaglerAdapterImpl2_connectWebSocket($par2Str);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $tmp;
        if (!jl_String_equals($rt_s(2791), var$4) ? 1 : 0) {
            window["minecraftServer"] = $rt_ustr($par2Str);
            $this.$netManager = $par1Minecraft;
            return;
        }
        $par1Minecraft = new ji_IOException;
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $rt_s(2792));
        jl_AbstractStringBuilder_append(var$4, $par2Str);
        jl_AbstractStringBuilder_append(var$4, $rt_s(2793));
        jl_Throwable__init_($par1Minecraft, jl_AbstractStringBuilder_toString(var$4));
        $rt_throw($par1Minecraft);
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Minecraft, $par2Str, $par3, var$4, $ptr);
}
function nms_NetClientHandler_cleanup($this) {
    $this.$netManager = null;
    $this.$worldClient = null;
}
function nms_NetClientHandler_processReadPackets($this) {
    var $r, var$2, var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$r = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$disconnected && $this.$netManager !== null) {
            $r = $this.$netManager;
            $ptr = 1;
            continue main;
        }
        if (nlea_EaglerAdapterImpl2_connectionOpen()) {
            if ($this.$disconnected)
                nlea_EaglerAdapterImpl2_endConnection();
        } else if (!$this.$disconnected) {
            $r = nlea_EaglerAdapterImpl2_getRateLimitStatus();
            if ($r === null)
                nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2794), $rt_s(1303), null));
            else if ($r === nlea_EaglerAdapterImpl2$RateLimit_NOW_LOCKED)
                nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2795), $rt_s(1303), null));
            else if ($r === nlea_EaglerAdapterImpl2$RateLimit_LOCKED)
                nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2796), $rt_s(1303), null));
            else if ($r === nlea_EaglerAdapterImpl2$RateLimit_BLOCKED)
                nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2797), $rt_s(1303), null));
            else if ($r === nlea_EaglerAdapterImpl2$RateLimit_FAILED_POSSIBLY_LOCKED)
                nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2798), $rt_s(1303), null));
            else {
                var$2 = $this.$mc15;
                var$3 = new nms_GuiDisconnected;
                var$4 = nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0());
                var$5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$5);
                jl_AbstractStringBuilder_append(var$5, $rt_s(2799));
                jl_AbstractStringBuilder_append(var$5, $r.$name7);
                nms_GuiDisconnected__init_(var$3, var$4, $rt_s(2794), jl_AbstractStringBuilder_toString(var$5), null);
                nmc_Minecraft_displayGuiScreen(var$2, var$3);
            }
            $this.$disconnected = 1;
            $r = $this.$mc15;
            var$2 = null;
            $ptr = 2;
            continue main;
        }
        return;
    case 1:
        $java.nle_WebsocketNetworkManager_processReadPackets($r);
        if ($rt_suspending()) {
            break main;
        }
        if (nlea_EaglerAdapterImpl2_connectionOpen()) {
            if ($this.$disconnected)
                nlea_EaglerAdapterImpl2_endConnection();
        } else if (!$this.$disconnected) {
            $r = nlea_EaglerAdapterImpl2_getRateLimitStatus();
            if ($r === null)
                nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2794), $rt_s(1303), null));
            else if ($r === nlea_EaglerAdapterImpl2$RateLimit_NOW_LOCKED)
                nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2795), $rt_s(1303), null));
            else if ($r === nlea_EaglerAdapterImpl2$RateLimit_LOCKED)
                nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2796), $rt_s(1303), null));
            else if ($r === nlea_EaglerAdapterImpl2$RateLimit_BLOCKED)
                nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2797), $rt_s(1303), null));
            else if ($r === nlea_EaglerAdapterImpl2$RateLimit_FAILED_POSSIBLY_LOCKED)
                nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2798), $rt_s(1303), null));
            else {
                var$2 = $this.$mc15;
                var$3 = new nms_GuiDisconnected;
                var$4 = nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0());
                var$5 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$5);
                jl_AbstractStringBuilder_append(var$5, $rt_s(2799));
                jl_AbstractStringBuilder_append(var$5, $r.$name7);
                nms_GuiDisconnected__init_(var$3, var$4, $rt_s(2794), jl_AbstractStringBuilder_toString(var$5), null);
                nmc_Minecraft_displayGuiScreen(var$2, var$3);
            }
            $this.$disconnected = 1;
            $r = $this.$mc15;
            var$2 = null;
            $ptr = 2;
            continue main;
        }
        return;
    case 2:
        nmc_Minecraft_loadWorld($r, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $r, var$2, var$3, var$4, var$5, $ptr);
}
$java.nms_NetClientHandler_handleServerAuthData = function($this, $par1Packet253ServerAuthData) {
    var var$2, var$3, var$4, var$5, var$6;
    var$2 = new nms_Packet252SharedKey;
    var$3 = new maajcs_SecretKeySpec;
    var$4 = $java.maa_CryptManager_baseSharedKey;
    if (var$4 === null) {
        $par1Packet253ServerAuthData = new jl_IllegalArgumentException;
        jl_Throwable__init_($par1Packet253ServerAuthData, $rt_s(2800));
        $rt_throw($par1Packet253ServerAuthData);
    }
    var$5 = var$4.data.length;
    var$3.$key2 = $rt_createByteArray(var$5);
    jl_System_arraycopy(var$4, 0, var$3.$key2, 0, var$5);
    var$3.$algorithm = $rt_s(2801);
    var$6 = $par1Packet253ServerAuthData.$publicKey;
    var$4 = $par1Packet253ServerAuthData.$verifyToken;
    nms_Packet__init_0(var$2);
    var$2.$sharedSecret = $rt_createByteArray(0);
    var$2.$verifyToken0 = $rt_createByteArray(0);
    var$2.$sharedKey = var$3;
    var$2.$sharedSecret = $java.maa_CryptManager_encryptData(var$6, $java.maajcs_SecretKeySpec_getEncoded(var$3));
    var$2.$verifyToken0 = $java.maa_CryptManager_encryptData(var$6, var$4);
    nms_NetClientHandler_addToSendQueue($this, var$2);
};
$java.nms_NetClientHandler_handleSharedKey = function($this, $par1Packet252SharedKey) {
    nms_NetClientHandler_addToSendQueue($this, nms_Packet205ClientCommand__init_0(0));
};
$java.nms_NetClientHandler_handleLogin = function($this, $par1Packet1Login) {
    var var$2, var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1Packet1Login = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$mc15;
        var$3 = new nms_PlayerControllerMP;
        var$4 = $this.$mc15;
        var$3.$currentBlockX = (-1);
        var$3.$currentBlockY = (-1);
        var$3.$currentblockZ = (-1);
        var$3.$field_85183_f = null;
        var$3.$curBlockDamageMP = 0.0;
        var$3.$stepSoundTickCounter = 0.0;
        var$3.$blockHitDelay = 0;
        var$3.$isHittingBlock = 0;
        var$3.$currentGameType = $java.nms_EnumGameType_SURVIVAL;
        var$3.$currentPlayerItem = 0;
        var$3.$mc13 = var$4;
        var$3.$netClientHandler = $this;
        var$2.$playerController = var$3;
        $this.$worldClient = nms_WorldClient__init_($this, $java.nms_WorldSettings__init_(Long_ZERO, $par1Packet1Login.$gameType, 0, $par1Packet1Login.$hardcoreMode, $par1Packet1Login.$terrainType2), $par1Packet1Login.$dimension1, $par1Packet1Login.$difficultySetting0, $this.$mc15.$mcProfiler);
        $this.$worldClient.$isRemote = 1;
        var$3 = $this.$mc15;
        var$5 = $this.$worldClient;
        $ptr = 1;
    case 1:
        nmc_Minecraft_loadWorld(var$3, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $this.$mc15.$thePlayer.$dimension = $par1Packet1Login.$dimension1;
        nmc_Minecraft_displayGuiScreen($this.$mc15, $java.nms_GuiDownloadTerrain__init_($this));
        $this.$mc15.$thePlayer.$entityId = $par1Packet1Login.$clientEntityId;
        $this.$currentServerMaxPlayers = $par1Packet1Login.$maxPlayers;
        nms_PlayerControllerMP_setGameType($this.$mc15.$playerController, $par1Packet1Login.$gameType);
        nms_GameSettings_sendSettingsToServer($this.$mc15.$gameSettings);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet1Login, var$2, var$3, var$4, var$5, $ptr);
};
$java.nms_NetClientHandler_handleVehicleSpawn = function($this, $par1Packet23VehicleSpawn) {
    var $var2, $var4, $var6, $var8, $var9, $var12, $var10, $var11, var$10, $var13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var13 = $thread.pop();var$10 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$par1Packet23VehicleSpawn = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            $var2 = $par1Packet23VehicleSpawn.$xPosition3 / 32.0;
            $var4 = $par1Packet23VehicleSpawn.$yPosition3 / 32.0;
            $var6 = $par1Packet23VehicleSpawn.$zPosition2 / 32.0;
            $var8 = null;
            if ($par1Packet23VehicleSpawn.$type2 == 10) {
                $var8 = nms_EntityMinecart_createMinecart($this.$worldClient, $var2, $var4, $var6, $par1Packet23VehicleSpawn.$throwerEntityId);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 90) {
                $var9 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet23VehicleSpawn.$throwerEntityId);
                if ($var9 instanceof nms_EntityPlayer)
                    $var8 = nms_EntityFishHook__init_1($this.$worldClient, $var2, $var4, $var6, $var9);
                $par1Packet23VehicleSpawn.$throwerEntityId = 0;
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 60) {
                $var8 = nms_EntityArrow__init_0($this.$worldClient, $var2, $var4, $var6);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 61) {
                $var8 = nms_EntitySnowball__init_1($this.$worldClient, $var2, $var4, $var6);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 71) {
                $var8 = nms_EntityItemFrame__init_1($this.$worldClient, $var2 | 0, $var4 | 0, $var6 | 0, $par1Packet23VehicleSpawn.$throwerEntityId);
                $par1Packet23VehicleSpawn.$throwerEntityId = 0;
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 65) {
                $var8 = nms_EntityEnderPearl__init_1($this.$worldClient, $var2, $var4, $var6);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 72) {
                $var8 = nms_EntityEnderEye__init_1($this.$worldClient, $var2, $var4, $var6);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 76) {
                $var8 = nms_EntityFireworkRocket__init_1($this.$worldClient, $var2, $var4, $var6, null);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 63) {
                $var8 = nms_EntityLargeFireball__init_1($this.$worldClient, $var2, $var4, $var6, $par1Packet23VehicleSpawn.$speedX / 8000.0, $par1Packet23VehicleSpawn.$speedY / 8000.0, $par1Packet23VehicleSpawn.$speedZ / 8000.0);
                $par1Packet23VehicleSpawn.$throwerEntityId = 0;
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 64) {
                $var8 = nms_EntitySmallFireball__init_1($this.$worldClient, $var2, $var4, $var6, $par1Packet23VehicleSpawn.$speedX / 8000.0, $par1Packet23VehicleSpawn.$speedY / 8000.0, $par1Packet23VehicleSpawn.$speedZ / 8000.0);
                $par1Packet23VehicleSpawn.$throwerEntityId = 0;
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 66) {
                $var8 = nms_EntityWitherSkull__init_1($this.$worldClient, $var2, $var4, $var6, $par1Packet23VehicleSpawn.$speedX / 8000.0, $par1Packet23VehicleSpawn.$speedY / 8000.0, $par1Packet23VehicleSpawn.$speedZ / 8000.0);
                $par1Packet23VehicleSpawn.$throwerEntityId = 0;
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 62) {
                $var8 = nms_EntityEgg__init_1($this.$worldClient, $var2, $var4, $var6);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 73) {
                $var8 = nms_EntityPotion__init_1($this.$worldClient, $var2, $var4, $var6, $par1Packet23VehicleSpawn.$throwerEntityId);
                $par1Packet23VehicleSpawn.$throwerEntityId = 0;
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 75) {
                $var8 = nms_EntityExpBottle__init_1($this.$worldClient, $var2, $var4, $var6);
                $par1Packet23VehicleSpawn.$throwerEntityId = 0;
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 1) {
                $var8 = nms_EntityBoat__init_1($this.$worldClient, $var2, $var4, $var6);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 50) {
                $var8 = nms_EntityTNTPrimed__init_1($this.$worldClient, $var2, $var4, $var6, null);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 51) {
                $var8 = nms_EntityEnderCrystal__init_1($this.$worldClient, $var2, $var4, $var6);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 == 2) {
                $var8 = nms_EntityItem__init_1($this.$worldClient, $var2, $var4, $var6);
                break a;
            }
            if ($par1Packet23VehicleSpawn.$type2 != 70)
                break a;
            $var8 = nms_EntityFallingSand__init_1($this.$worldClient, $var2, $var4, $var6, $par1Packet23VehicleSpawn.$throwerEntityId & 65535, $par1Packet23VehicleSpawn.$throwerEntityId >> 16);
            $par1Packet23VehicleSpawn.$throwerEntityId = 0;
        }
        if ($var8 === null)
            return;
        $var9 = $var8;
        if ($var9.$worldObj === null)
            $var9.$setWorld($this.$worldClient);
        b: {
            $var9.$serverPosX = $par1Packet23VehicleSpawn.$xPosition3;
            $var9.$serverPosY = $par1Packet23VehicleSpawn.$yPosition3;
            $var9.$serverPosZ = $par1Packet23VehicleSpawn.$zPosition2;
            $var9.$rotationPitch = ($par1Packet23VehicleSpawn.$pitch1 * 360 | 0) / 256.0;
            $var9.$rotationYaw = ($par1Packet23VehicleSpawn.$yaw0 * 360 | 0) / 256.0;
            $var12 = nms_Entity_getParts($var9);
            if ($var12 !== null) {
                $var10 = $par1Packet23VehicleSpawn.$entityId1 - $var9.$entityId | 0;
                $var11 = 0;
                while (true) {
                    var$10 = $var12.data;
                    if ($var11 >= var$10.length)
                        break b;
                    $var13 = var$10[$var11];
                    $var13.$entityId = $var13.$entityId + $var10 | 0;
                    $var11 = $var11 + 1 | 0;
                }
            }
        }
        $var9.$entityId = $par1Packet23VehicleSpawn.$entityId1;
        $var13 = $this.$worldClient;
        $var10 = $par1Packet23VehicleSpawn.$entityId1;
        $ptr = 1;
    case 1:
        nms_WorldClient_addEntityToWorld($var13, $var10, $var9);
        if ($rt_suspending()) {
            break main;
        }
        if ($par1Packet23VehicleSpawn.$throwerEntityId > 0) {
            if ($par1Packet23VehicleSpawn.$type2 == 60) {
                $var13 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet23VehicleSpawn.$throwerEntityId);
                if ($var13 instanceof nms_EntityLiving)
                    $var8.$shootingEntity = $var13;
            }
            $var9.$setVelocity($par1Packet23VehicleSpawn.$speedX / 8000.0, $par1Packet23VehicleSpawn.$speedY / 8000.0, $par1Packet23VehicleSpawn.$speedZ / 8000.0);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet23VehicleSpawn, $var2, $var4, $var6, $var8, $var9, $var12, $var10, $var11, var$10, $var13, $ptr);
};
$java.nms_NetClientHandler_handleEntityExpOrb = function($this, $par1Packet26EntityExpOrb) {
    var $var2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1Packet26EntityExpOrb = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = new nms_EntityXPOrb;
        var$3 = $this.$worldClient;
        var$4 = $par1Packet26EntityExpOrb.$posX6;
        var$5 = $par1Packet26EntityExpOrb.$posY6;
        var$6 = $par1Packet26EntityExpOrb.$posZ4;
        var$7 = $par1Packet26EntityExpOrb.$xpValue0;
        nms_Entity__init_0($var2);
        $var2.$xpOrbAge = 0;
        $var2.$xpOrbHealth = 5;
        nms_Entity_setWorld($var2, var$3);
        nms_Entity_setSize($var2, 0.5, 0.5);
        $var2.$yOffset = $var2.$height0 / 2.0;
        nms_Entity_setPosition($var2, var$4, var$5, var$6);
        $var2.$rotationYaw = jl_Math_random() * 360.0;
        $var2.$motionX = (jl_Math_random() * 0.20000000298023224 - 0.10000000149011612) * 2.0;
        $var2.$motionY = jl_Math_random() * 0.2 * 2.0;
        $var2.$motionZ = (jl_Math_random() * 0.20000000298023224 - 0.10000000149011612) * 2.0;
        $var2.$xpValue = var$7;
        $var2.$serverPosX = $par1Packet26EntityExpOrb.$posX6;
        $var2.$serverPosY = $par1Packet26EntityExpOrb.$posY6;
        $var2.$serverPosZ = $par1Packet26EntityExpOrb.$posZ4;
        $var2.$rotationYaw = 0.0;
        $var2.$rotationPitch = 0.0;
        $var2.$entityId = $par1Packet26EntityExpOrb.$entityId2;
        var$3 = $this.$worldClient;
        var$8 = $par1Packet26EntityExpOrb.$entityId2;
        $ptr = 1;
    case 1:
        nms_WorldClient_addEntityToWorld(var$3, var$8, $var2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet26EntityExpOrb, $var2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
};
$java.nms_NetClientHandler_handleWeather = function($this, $par1Packet71Weather) {
    var $var2, $var4, $var6, $var8, var$6;
    $var2 = $par1Packet71Weather.$posX7 / 32.0;
    $var4 = $par1Packet71Weather.$posY7 / 32.0;
    $var6 = $par1Packet71Weather.$posZ5 / 32.0;
    $var8 = null;
    if ($par1Packet71Weather.$isLightningBolt == 1) {
        $var8 = new nms_EntityLightningBolt;
        var$6 = $this.$worldClient;
        nms_Entity__init_0($var8);
        nms_Entity_setWorld($var8, var$6);
        $var8.$boltVertex = Long_ZERO;
        nms_Entity_setLocationAndAngles($var8, $var2, $var4, $var6, 0.0, 0.0);
        $var8.$lightningState = 2;
        $var8.$boltVertex = nle_EaglercraftRandom_nextLong($var8.$rand0);
        $var8.$boltLivingTime = nle_EaglercraftRandom_nextInt($var8.$rand0, 3) + 1 | 0;
    }
    if ($var8 !== null) {
        $var8.$serverPosX = $par1Packet71Weather.$posX7;
        $var8.$serverPosY = $par1Packet71Weather.$posY7;
        $var8.$serverPosZ = $par1Packet71Weather.$posZ5;
        $var8.$rotationYaw = 0.0;
        $var8.$rotationPitch = 0.0;
        $var8.$entityId = $par1Packet71Weather.$entityID;
        nms_World_addWeatherEffect($this.$worldClient, $var8);
    }
};
$java.nms_NetClientHandler_handleEntityPainting = function($this, $par1Packet25EntityPainting) {
    var $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1Packet25EntityPainting = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = new nms_EntityPainting;
        var$3 = $this.$worldClient;
        var$4 = $par1Packet25EntityPainting.$xPosition4;
        var$5 = $par1Packet25EntityPainting.$yPosition4;
        var$6 = $par1Packet25EntityPainting.$zPosition3;
        var$7 = $par1Packet25EntityPainting.$direction;
        var$8 = $par1Packet25EntityPainting.$title;
        $ptr = 1;
    case 1:
        nms_EntityPainting__init_0($var2, var$3, var$4, var$5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        var$9 = nms_EnumArt_values().data;
        var$6 = var$9.length;
        var$4 = 0;
        a: {
            while (true) {
                if (var$4 >= var$6)
                    break a;
                var$3 = var$9[var$4];
                if (jl_String_equals(var$3.$title0, var$8))
                    break;
                var$4 = var$4 + 1 | 0;
            }
            $var2.$art = var$3;
        }
        nms_EntityHanging_setDirection($var2, var$7);
        var$3 = $this.$worldClient;
        var$6 = $par1Packet25EntityPainting.$entityId3;
        $ptr = 2;
    case 2:
        nms_WorldClient_addEntityToWorld(var$3, var$6, $var2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet25EntityPainting, $var2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
};
$java.nms_NetClientHandler_handleEntityVelocity = function($this, $par1Packet28EntityVelocity) {
    var $var2;
    $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet28EntityVelocity.$entityId4);
    if ($var2 !== null)
        $var2.$setVelocity($par1Packet28EntityVelocity.$motionX0 / 8000.0, $par1Packet28EntityVelocity.$motionY0 / 8000.0, $par1Packet28EntityVelocity.$motionZ0 / 8000.0);
};
$java.nms_NetClientHandler_handleEntityMetadata = function($this, $par1Packet40EntityMetadata) {
    var $var2;
    $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet40EntityMetadata.$entityId5);
    if ($var2 !== null && $par1Packet40EntityMetadata.$metadata0 !== null)
        $java.nms_DataWatcher_updateWatchedObjectsFromList($var2.$dataWatcher, $par1Packet40EntityMetadata.$metadata0);
};
$java.nms_NetClientHandler_handleNamedEntitySpawn = function($this, $par1Packet20NamedEntitySpawn) {
    var $var2, $var4, $var6, $var8, $var9, $var10, $var12, var$9, var$10, var$11, $var11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var11 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$par1Packet20NamedEntitySpawn = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $par1Packet20NamedEntitySpawn.$xPosition5 / 32.0;
        $var4 = $par1Packet20NamedEntitySpawn.$yPosition5 / 32.0;
        $var6 = $par1Packet20NamedEntitySpawn.$zPosition4 / 32.0;
        $var8 = ($par1Packet20NamedEntitySpawn.$rotation * 360 | 0) / 256.0;
        $var9 = ($par1Packet20NamedEntitySpawn.$pitch2 * 360 | 0) / 256.0;
        $var10 = new nms_EntityOtherPlayerMP;
        $var12 = $this.$mc15.$theWorld;
        var$9 = $par1Packet20NamedEntitySpawn.$name15;
        nms_EntityPlayer__init_0($var10);
        $var10.$isItemInUse = 0;
        nms_Entity_setWorld($var10, $var12);
        $var10.$username0 = var$9;
        $var10.$yOffset = 0.0;
        $var10.$stepHeight = 0.0;
        $var10.$noClip = 1;
        $var10.$field_71082_cx = 0.25;
        $var10.$renderDistanceWeight = 10.0;
        $var10.$skinPacket = null;
        var$10 = $par1Packet20NamedEntitySpawn.$xPosition5;
        $var10.$serverPosX = var$10;
        var$11 = var$10;
        $var10.$lastTickPosX = var$11;
        $var10.$prevPosX = var$11;
        var$10 = $par1Packet20NamedEntitySpawn.$yPosition5;
        $var10.$serverPosY = var$10;
        var$11 = var$10;
        $var10.$lastTickPosY = var$11;
        $var10.$prevPosY = var$11;
        var$10 = $par1Packet20NamedEntitySpawn.$zPosition4;
        $var10.$serverPosZ = var$10;
        var$11 = var$10;
        $var10.$lastTickPosZ = var$11;
        $var10.$prevPosZ = var$11;
        $var11 = $par1Packet20NamedEntitySpawn.$currentItem0;
        if (!$var11)
            $var10.$inventory.$mainInventory.data[$var10.$inventory.$currentItem] = null;
        else
            $var10.$inventory.$mainInventory.data[$var10.$inventory.$currentItem] = nms_ItemStack__init_0($var11, 1, 0);
        nms_Entity_setPositionAndRotation($var10, $var2, $var4, $var6, $var8, $var9);
        $var12 = $this.$worldClient;
        var$10 = $par1Packet20NamedEntitySpawn.$entityId6;
        $ptr = 1;
    case 1:
        nms_WorldClient_addEntityToWorld($var12, var$10, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $java.nms_Packet20NamedEntitySpawn_getWatchedMetadata($par1Packet20NamedEntitySpawn);
        if ($var12 !== null)
            $java.nms_DataWatcher_updateWatchedObjectsFromList($var10.$dataWatcher, $var12);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet20NamedEntitySpawn, $var2, $var4, $var6, $var8, $var9, $var10, $var12, var$9, var$10, var$11, $var11, $ptr);
};
$java.nms_NetClientHandler_handleEntityTeleport = function($this, $par1Packet34EntityTeleport) {
    var $var2, $var3, $var5, $var7, $var9, $var10, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Packet34EntityTeleport = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet34EntityTeleport.$entityId7);
        if ($var2 === null)
            return;
        $var2.$serverPosX = $par1Packet34EntityTeleport.$xPosition6;
        $var2.$serverPosY = $par1Packet34EntityTeleport.$yPosition6;
        $var2.$serverPosZ = $par1Packet34EntityTeleport.$zPosition5;
        $var3 = $var2.$serverPosX / 32.0;
        $var5 = $var2.$serverPosY / 32.0 + 0.015625;
        $var7 = $var2.$serverPosZ / 32.0;
        $var9 = ($par1Packet34EntityTeleport.$yaw1 * 360 | 0) / 256.0;
        $var10 = ($par1Packet34EntityTeleport.$pitch3 * 360 | 0) / 256.0;
        var$8 = 3;
        $ptr = 1;
    case 1:
        $var2.$setPositionAndRotation2($var3, $var5, $var7, $var9, $var10, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet34EntityTeleport, $var2, $var3, $var5, $var7, $var9, $var10, var$8, $ptr);
};
$java.nms_NetClientHandler_handleBlockItemSwitch = function($this, $par1Packet16BlockItemSwitch) {
    if ($par1Packet16BlockItemSwitch.$id8 >= 0 && $par1Packet16BlockItemSwitch.$id8 < 9)
        $this.$mc15.$thePlayer.$inventory.$currentItem = $par1Packet16BlockItemSwitch.$id8;
};
$java.nms_NetClientHandler_handleEntity = function($this, $par1Packet30Entity) {
    var $var2, $var3, $var5, $var7, $var9, $var10, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Packet30Entity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet30Entity.$entityId8);
        if ($var2 === null)
            return;
        $var2.$serverPosX = $var2.$serverPosX + $par1Packet30Entity.$xPosition7 | 0;
        $var2.$serverPosY = $var2.$serverPosY + $par1Packet30Entity.$yPosition7 | 0;
        $var2.$serverPosZ = $var2.$serverPosZ + $par1Packet30Entity.$zPosition6 | 0;
        $var3 = $var2.$serverPosX / 32.0;
        $var5 = $var2.$serverPosY / 32.0;
        $var7 = $var2.$serverPosZ / 32.0;
        $var9 = !$par1Packet30Entity.$rotating0 ? $var2.$rotationYaw : ($par1Packet30Entity.$yaw2 * 360 | 0) / 256.0;
        $var10 = !$par1Packet30Entity.$rotating0 ? $var2.$rotationPitch : ($par1Packet30Entity.$pitch4 * 360 | 0) / 256.0;
        var$8 = 3;
        $ptr = 1;
    case 1:
        $var2.$setPositionAndRotation2($var3, $var5, $var7, $var9, $var10, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet30Entity, $var2, $var3, $var5, $var7, $var9, $var10, var$8, $ptr);
};
$java.nms_NetClientHandler_handleEntityHeadRotation = function($this, $par1Packet35EntityHeadRotation) {
    var $var2;
    $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet35EntityHeadRotation.$entityId9);
    if ($var2 !== null)
        $var2.$setRotationYawHead(($par1Packet35EntityHeadRotation.$headRotationYaw * 360 | 0) / 256.0);
};
$java.nms_NetClientHandler_handleDestroyEntity = function($this, $par1Packet29DestroyEntity) {
    var $var2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1Packet29DestroyEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = 0;
        if ($var2 >= $par1Packet29DestroyEntity.$entityId10.data.length)
            return;
        var$3 = $this.$worldClient;
        var$4 = $par1Packet29DestroyEntity.$entityId10.data[$var2];
        $ptr = 1;
    case 1:
        nms_WorldClient_removeEntityFromWorld(var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $var2 + 1 | 0;
        if ($var2 >= $par1Packet29DestroyEntity.$entityId10.data.length)
            return;
        var$3 = $this.$worldClient;
        var$4 = $par1Packet29DestroyEntity.$entityId10.data[$var2];
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet29DestroyEntity, $var2, var$3, var$4, $ptr);
};
$java.nms_NetClientHandler_handleFlying = function($this, $par1Packet10Flying) {
    var $var2, $var3, $var5, $var7, $var9, $var10;
    $var2 = $this.$mc15.$thePlayer;
    $var3 = $var2.$posX;
    $var5 = $var2.$posY;
    $var7 = $var2.$posZ;
    $var9 = $var2.$rotationYaw;
    $var10 = $var2.$rotationPitch;
    if ($par1Packet10Flying.$moving) {
        $var3 = $par1Packet10Flying.$xPosition;
        $var5 = $par1Packet10Flying.$yPosition0;
        $var7 = $par1Packet10Flying.$zPosition;
    }
    if ($par1Packet10Flying.$rotating) {
        $var9 = $par1Packet10Flying.$yaw;
        $var10 = $par1Packet10Flying.$pitch0;
    }
    $var2.$ySize = 0.0;
    $var2.$motionZ = 0.0;
    $var2.$motionY = 0.0;
    $var2.$motionX = 0.0;
    nms_Entity_setPositionAndRotation($var2, $var3, $var5, $var7, $var9, $var10);
    $par1Packet10Flying.$xPosition = $var2.$posX;
    $par1Packet10Flying.$yPosition0 = $var2.$boundingBox.$minY;
    $par1Packet10Flying.$zPosition = $var2.$posZ;
    $par1Packet10Flying.$stance = $var2.$posY;
    $java.nle_WebsocketNetworkManager_addToSendQueue($this.$netManager, $par1Packet10Flying);
    if (!$this.$doneLoadingTerrain) {
        $this.$mc15.$thePlayer.$prevPosX = $this.$mc15.$thePlayer.$posX;
        $this.$mc15.$thePlayer.$prevPosY = $this.$mc15.$thePlayer.$posY;
        $this.$mc15.$thePlayer.$prevPosZ = $this.$mc15.$thePlayer.$posZ;
        $this.$doneLoadingTerrain = 1;
        nmc_Minecraft_displayGuiScreen($this.$mc15, null);
    }
};
$java.nms_NetClientHandler_handleMultiBlockChange = function($this, $par1Packet52MultiBlockChange) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, var$13, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Packet52MultiBlockChange = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            $var2 = $par1Packet52MultiBlockChange.$xPosition8 * 16 | 0;
            $var3 = $par1Packet52MultiBlockChange.$zPosition7 * 16 | 0;
            if ($par1Packet52MultiBlockChange.$metadataArray !== null) {
                $var4 = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_($par1Packet52MultiBlockChange.$metadataArray));
                try {
                    $var5 = 0;
                    if ($var5 >= $par1Packet52MultiBlockChange.$size8)
                        break a;
                    $var6 = ji_DataInputStream_readShort($var4);
                    $var7 = ji_DataInputStream_readShort($var4);
                    $var8 = $var7 >> 4 & 4095;
                    $var9 = $var7 & 15;
                    $var10 = $var6 >> 12 & 15;
                    $var11 = $var6 >> 8 & 15;
                    $var12 = $var6 & 255;
                    var$13 = $this.$worldClient;
                    $var10 = $var10 + $var2 | 0;
                    $var11 = $var11 + $var3 | 0;
                    $ptr = 1;
                    continue main;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                    } else {
                        throw $$e;
                    }
                }
            }
        }
        return;
    case 1:
        a: {
            try {
                nms_WorldClient_setBlockAndMetadataAndInvalidate(var$13, $var10, $var12, $var11, $var8, $var9);
                if ($rt_suspending()) {
                    break main;
                }
                $var5 = $var5 + 1 | 0;
                if ($var5 >= $par1Packet52MultiBlockChange.$size8)
                    break a;
                $var6 = ji_DataInputStream_readShort($var4);
                $var7 = ji_DataInputStream_readShort($var4);
                $var8 = $var7 >> 4 & 4095;
                $var9 = $var7 & 15;
                $var10 = $var6 >> 12 & 15;
                $var11 = $var6 >> 8 & 15;
                $var12 = $var6 & 255;
                var$13 = $this.$worldClient;
                $var10 = $var10 + $var2 | 0;
                $var11 = $var11 + $var3 | 0;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet52MultiBlockChange, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, var$13, $ptr);
};
$java.nms_NetClientHandler_handleMapChunk = function($this, $par1Packet51MapChunk) {
    var $var2;
    if ($par1Packet51MapChunk.$includeInitialize) {
        if (!$par1Packet51MapChunk.$yChMin) {
            nms_WorldClient_doPreChunk($this.$worldClient, $par1Packet51MapChunk.$xCh, $par1Packet51MapChunk.$zCh, 0);
            return;
        }
        nms_WorldClient_doPreChunk($this.$worldClient, $par1Packet51MapChunk.$xCh, $par1Packet51MapChunk.$zCh, 1);
    }
    $var2 = nms_World_getChunkFromChunkCoords($this.$worldClient, $par1Packet51MapChunk.$xCh, $par1Packet51MapChunk.$zCh);
    if ($par1Packet51MapChunk.$includeInitialize && $var2 === null) {
        nms_WorldClient_doPreChunk($this.$worldClient, $par1Packet51MapChunk.$xCh, $par1Packet51MapChunk.$zCh, 1);
        $var2 = nms_World_getChunkFromChunkCoords($this.$worldClient, $par1Packet51MapChunk.$xCh, $par1Packet51MapChunk.$zCh);
    }
    if ($var2 !== null) {
        $java.nms_Chunk_fillChunk($var2, $par1Packet51MapChunk.$compressedChunkData, $par1Packet51MapChunk.$yChMin, $par1Packet51MapChunk.$yChMax, $par1Packet51MapChunk.$includeInitialize);
        nms_World_markBlockRangeForRenderUpdate($this.$worldClient, $par1Packet51MapChunk.$xCh << 4, 0, $par1Packet51MapChunk.$zCh << 4, ($par1Packet51MapChunk.$xCh << 4) + 15 | 0, 256, ($par1Packet51MapChunk.$zCh << 4) + 15 | 0);
        if (!($par1Packet51MapChunk.$includeInitialize && $this.$worldClient.$provider instanceof nms_WorldProviderSurface))
            $java.nms_Chunk_resetRelightChecks($var2);
    }
};
$java.nms_NetClientHandler_handleBlockChange = function($this, $par1Packet53BlockChange) {
    var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1Packet53BlockChange = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$worldClient;
        var$3 = $par1Packet53BlockChange.$xPosition9;
        var$4 = $par1Packet53BlockChange.$yPosition8;
        var$5 = $par1Packet53BlockChange.$zPosition8;
        var$6 = $par1Packet53BlockChange.$type3;
        var$7 = $par1Packet53BlockChange.$metadata1;
        $ptr = 1;
    case 1:
        nms_WorldClient_setBlockAndMetadataAndInvalidate(var$2, var$3, var$4, var$5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet53BlockChange, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
};
$java.nms_NetClientHandler_handleKickDisconnect = function($this, $par1Packet255KickDisconnect) {
    var var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1Packet255KickDisconnect = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $java.nle_WebsocketNetworkManager_serverShutdown($this.$netManager);
        $this.$disconnected = 1;
        var$2 = $this.$mc15;
        var$3 = null;
        $ptr = 1;
    case 1:
        nmc_Minecraft_loadWorld(var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        if (jl_String_equalsIgnoreCase($par1Packet255KickDisconnect.$reason, $rt_s(2802))) {
            nlea_EaglerAdapterImpl2_logRateLimit($this.$netManager.$serverURI, nlea_EaglerAdapterImpl2$RateLimit_BLOCKED);
            nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2803), $rt_s(1303), null));
        } else if (!jl_String_equalsIgnoreCase($par1Packet255KickDisconnect.$reason, $rt_s(2804))) {
            var$4 = $this.$mc15;
            var$5 = new nms_GuiDisconnected;
            var$2 = nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0());
            var$6 = $rt_createArray(jl_Object, 1);
            var$6.data[0] = $par1Packet255KickDisconnect.$reason;
            nms_GuiDisconnected__init_(var$5, var$2, $rt_s(2794), $rt_s(1298), var$6);
            nmc_Minecraft_displayGuiScreen(var$4, var$5);
        } else {
            nlea_EaglerAdapterImpl2_logRateLimit($this.$netManager.$serverURI, nlea_EaglerAdapterImpl2$RateLimit_LOCKED);
            nmc_Minecraft_displayGuiScreen($this.$mc15, nms_GuiDisconnected__init_0(nms_GuiMultiplayer__init_(nms_GuiMainMenu__init_0()), $rt_s(2805), $rt_s(1303), null));
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet255KickDisconnect, var$2, var$3, var$4, var$5, var$6, $ptr);
};
function nms_NetClientHandler_quitWithPacket($this, $par1Packet) {
    if (!$this.$disconnected && nlea_EaglerAdapterImpl2_connectionOpen())
        $java.nle_WebsocketNetworkManager_addToSendQueue($this.$netManager, $par1Packet);
    $java.nle_WebsocketNetworkManager_serverShutdown($this.$netManager);
}
function nms_NetClientHandler_addToSendQueue($this, $par1Packet) {
    if (!$this.$disconnected && nlea_EaglerAdapterImpl2_connectionOpen())
        $java.nle_WebsocketNetworkManager_addToSendQueue($this.$netManager, $par1Packet);
}
$java.nms_NetClientHandler_handleCollect = function($this, $par1Packet22Collect) {
    var $var2, $var3, var$4, var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Packet22Collect = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet22Collect.$collectedEntityId);
        $var3 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet22Collect.$collectorEntityId);
        if ($var3 === null)
            $var3 = $this.$mc15.$thePlayer;
        if ($var2 === null)
            return;
        if (!($var2 instanceof nms_EntityXPOrb))
            nms_World_playSoundAtEntity($this.$worldClient, $var2, $rt_s(2806), 0.20000000298023224, ((nle_EaglercraftRandom_nextFloat($this.$rand6) - nle_EaglercraftRandom_nextFloat($this.$rand6)) * 0.699999988079071 + 1.0) * 2.0);
        else
            nms_World_playSoundAtEntity($this.$worldClient, $var2, $rt_s(2807), 0.20000000298023224, ((nle_EaglercraftRandom_nextFloat($this.$rand6) - nle_EaglercraftRandom_nextFloat($this.$rand6)) * 0.699999988079071 + 1.0) * 2.0);
        var$4 = $this.$mc15.$effectRenderer;
        var$5 = new nms_EntityPickupFX;
        var$6 = $this.$mc15.$theWorld;
        $var3 = $var3;
        nms_EntityFX__init_(var$5, var$6, $var2.$posX, $var2.$posY, $var2.$posZ, $var2.$motionX, $var2.$motionY, $var2.$motionZ);
        var$5.$age0 = 0;
        var$5.$maxAge = 0;
        var$5.$entityToPickUp = $var2;
        var$5.$entityPickingUp = $var3;
        var$5.$maxAge = 3;
        var$5.$yOffs = (-0.5);
        nms_EffectRenderer_addEffect(var$4, var$5);
        var$4 = $this.$worldClient;
        var$7 = $par1Packet22Collect.$collectedEntityId;
        $ptr = 1;
    case 1:
        nms_WorldClient_removeEntityFromWorld(var$4, var$7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet22Collect, $var2, $var3, var$4, var$5, var$6, var$7, $ptr);
};
function nms_NetClientHandler_handleChat($this, $par1Packet3Chat) {
    nms_GuiNewChat_printChatMessage($this.$mc15.$ingameGUI.$persistantChatGUI, $par1Packet3Chat.$message0);
}
$java.nms_NetClientHandler_handleAnimation = function($this, $par1Packet18Animation) {
    var $var2, $var4, var$4, var$5, var$6, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$par1Packet18Animation = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet18Animation.$entityId0);
        if ($var2 !== null) {
            if ($par1Packet18Animation.$animate == 1)
                $var2.$swingItem();
            else if ($par1Packet18Animation.$animate == 2)
                $var2.$performHurtAnimation();
            else {
                if ($par1Packet18Animation.$animate == 3) {
                    $var4 = $var2;
                    var$4 = 0;
                    var$5 = 0;
                    var$6 = 0;
                    $ptr = 1;
                    continue main;
                }
                if ($par1Packet18Animation.$animate != 4) {
                    if ($par1Packet18Animation.$animate == 6) {
                        $par1Packet18Animation = $this.$mc15.$effectRenderer;
                        $var5 = new nms_EntityCrit2FX;
                        $var4 = $this.$mc15.$theWorld;
                        $ptr = 2;
                        continue main;
                    }
                    if ($par1Packet18Animation.$animate == 7) {
                        $var5 = new nms_EntityCrit2FX;
                        $var4 = $this.$mc15.$theWorld;
                        $par1Packet18Animation = $rt_s(1165);
                        $ptr = 3;
                        continue main;
                    }
                }
            }
        }
        return;
    case 1:
        nms_EntityPlayer_wakeUpPlayer($var4, var$4, var$5, var$6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_EntityCrit2FX__init_($var5, $var4, $var2);
        if ($rt_suspending()) {
            break main;
        }
        nms_EffectRenderer_addEffect($par1Packet18Animation, $var5);
        return;
    case 3:
        nms_EntityCrit2FX__init_0($var5, $var4, $var2, $par1Packet18Animation);
        if ($rt_suspending()) {
            break main;
        }
        nms_EffectRenderer_addEffect($this.$mc15.$effectRenderer, $var5);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet18Animation, $var2, $var4, var$4, var$5, var$6, $var5, $ptr);
};
$java.nms_NetClientHandler_handleSleep = function($this, $par1Packet17Sleep) {
    var $var2;
    $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet17Sleep.$entityID0);
    if ($var2 !== null && !$par1Packet17Sleep.$field_73622_e)
        nms_EntityPlayer_sleepInBedAt($var2, $par1Packet17Sleep.$bedX, $par1Packet17Sleep.$bedY, $par1Packet17Sleep.$bedZ);
};
function nms_NetClientHandler_disconnect($this) {
    $this.$disconnected = 1;
    $java.nle_WebsocketNetworkManager_serverShutdown($this.$netManager);
}
$java.nms_NetClientHandler_handleMobSpawn = function($this, $par1Packet24MobSpawn) {
    var $var2, $var4, $var6, $var8, $var9, $var12, $var10, $var14, var$10, var$11, $var11, $var13, var$14, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var14 = $thread.pop();$var10 = $thread.pop();$var12 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$par1Packet24MobSpawn = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $par1Packet24MobSpawn.$xPosition10 / 32.0;
        $var4 = $par1Packet24MobSpawn.$yPosition9 / 32.0;
        $var6 = $par1Packet24MobSpawn.$zPosition9 / 32.0;
        $var8 = ($par1Packet24MobSpawn.$yaw3 * 360 | 0) / 256.0;
        $var9 = ($par1Packet24MobSpawn.$pitch5 * 360 | 0) / 256.0;
        $var12 = $par1Packet24MobSpawn.$type4;
        $var10 = $this.$mc15.$theWorld;
        $var14 = null;
        a: {
            try {
                var$10 = $var14;
                var$11 = nms_EntityList_getClassFromID($var12);
                if (var$11 === null)
                    break a;
                var$10 = $var14;
                $ptr = 1;
                continue main;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var14 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var14);
            $var14 = var$10;
        }
        if ($var14 !== null)
            nms_Entity_setWorld($var14, $var10);
        else {
            $var10 = jl_System_err();
            var$11 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$11);
            jl_AbstractStringBuilder_append(var$11, $rt_s(2808));
            jl_AbstractStringBuilder_append2(var$11, $var12);
            ji_PrintStream_println($var10, jl_AbstractStringBuilder_toString(var$11));
        }
        b: {
            $var10 = $var14;
            $var10.$serverPosX = $par1Packet24MobSpawn.$xPosition10;
            $var10.$serverPosY = $par1Packet24MobSpawn.$yPosition9;
            $var10.$serverPosZ = $par1Packet24MobSpawn.$zPosition9;
            $var10.$rotationYawHead = ($par1Packet24MobSpawn.$headYaw * 360 | 0) / 256.0;
            $var11 = $var10.$getParts();
            if ($var11 !== null) {
                $var12 = $par1Packet24MobSpawn.$entityId11 - $var10.$entityId | 0;
                $var13 = 0;
                while (true) {
                    var$14 = $var11.data;
                    if ($var13 >= var$14.length)
                        break b;
                    $var14 = var$14[$var13];
                    $var14.$entityId = $var14.$entityId + $var12 | 0;
                    $var13 = $var13 + 1 | 0;
                }
            }
        }
        $var10.$entityId = $par1Packet24MobSpawn.$entityId11;
        nms_Entity_setPositionAndRotation($var10, $var2, $var4, $var6, $var8, $var9);
        $var10.$motionX = $par1Packet24MobSpawn.$velocityX2 / 8000.0;
        $var10.$motionY = $par1Packet24MobSpawn.$velocityY2 / 8000.0;
        $var10.$motionZ = $par1Packet24MobSpawn.$velocityZ2 / 8000.0;
        $var14 = $this.$worldClient;
        $var12 = $par1Packet24MobSpawn.$entityId11;
        $ptr = 2;
        continue main;
    case 1:
        a: {
            try {
                $tmp = jl_Class_newInstance(var$11);
                if ($rt_suspending()) {
                    break main;
                }
                $var14 = $tmp;
                $var14 = $var14;
                var$10 = $var14;
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var14 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var14);
            $var14 = var$10;
        }
        if ($var14 !== null)
            nms_Entity_setWorld($var14, $var10);
        else {
            $var10 = jl_System_err();
            var$11 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$11);
            jl_AbstractStringBuilder_append(var$11, $rt_s(2808));
            jl_AbstractStringBuilder_append2(var$11, $var12);
            ji_PrintStream_println($var10, jl_AbstractStringBuilder_toString(var$11));
        }
        c: {
            $var10 = $var14;
            $var10.$serverPosX = $par1Packet24MobSpawn.$xPosition10;
            $var10.$serverPosY = $par1Packet24MobSpawn.$yPosition9;
            $var10.$serverPosZ = $par1Packet24MobSpawn.$zPosition9;
            $var10.$rotationYawHead = ($par1Packet24MobSpawn.$headYaw * 360 | 0) / 256.0;
            $var11 = $var10.$getParts();
            if ($var11 !== null) {
                $var12 = $par1Packet24MobSpawn.$entityId11 - $var10.$entityId | 0;
                $var13 = 0;
                while (true) {
                    var$14 = $var11.data;
                    if ($var13 >= var$14.length)
                        break c;
                    $var14 = var$14[$var13];
                    $var14.$entityId = $var14.$entityId + $var12 | 0;
                    $var13 = $var13 + 1 | 0;
                }
            }
        }
        $var10.$entityId = $par1Packet24MobSpawn.$entityId11;
        nms_Entity_setPositionAndRotation($var10, $var2, $var4, $var6, $var8, $var9);
        $var10.$motionX = $par1Packet24MobSpawn.$velocityX2 / 8000.0;
        $var10.$motionY = $par1Packet24MobSpawn.$velocityY2 / 8000.0;
        $var10.$motionZ = $par1Packet24MobSpawn.$velocityZ2 / 8000.0;
        $var14 = $this.$worldClient;
        $var12 = $par1Packet24MobSpawn.$entityId11;
        $ptr = 2;
    case 2:
        nms_WorldClient_addEntityToWorld($var14, $var12, $var10);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $java.nms_Packet24MobSpawn_getMetadata($par1Packet24MobSpawn);
        if ($var14 !== null)
            $java.nms_DataWatcher_updateWatchedObjectsFromList($var10.$dataWatcher, $var14);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet24MobSpawn, $var2, $var4, $var6, $var8, $var9, $var12, $var10, $var14, var$10, var$11, $var11, $var13, var$14, $ptr);
};
$java.nms_NetClientHandler_handleUpdateTime = function($this, $par1Packet4UpdateTime) {
    nms_World_func_82738_a($this.$mc15.$theWorld, $par1Packet4UpdateTime.$worldAge);
    nms_World_setWorldTime($this.$mc15.$theWorld, $par1Packet4UpdateTime.$time1);
};
$java.nms_NetClientHandler_handleSpawnPosition = function($this, $par1Packet6SpawnPosition) {
    nms_EntityPlayer_setSpawnChunk($this.$mc15.$thePlayer, nms_ChunkCoordinates__init_0($par1Packet6SpawnPosition.$xPosition11, $par1Packet6SpawnPosition.$yPosition10, $par1Packet6SpawnPosition.$zPosition10), 1);
    nms_WorldInfo_setSpawnPosition($this.$mc15.$theWorld.$worldInfo, $par1Packet6SpawnPosition.$xPosition11, $par1Packet6SpawnPosition.$yPosition10, $par1Packet6SpawnPosition.$zPosition10);
};
$java.nms_NetClientHandler_handleAttachEntity = function($this, $par1Packet39AttachEntity) {
    var $var2, $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Packet39AttachEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet39AttachEntity.$entityId12);
        $var3 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet39AttachEntity.$vehicleEntityId);
        if ($par1Packet39AttachEntity.$entityId12 == $this.$mc15.$thePlayer.$entityId) {
            $var2 = $this.$mc15.$thePlayer;
            if ($var3 instanceof nms_EntityBoat)
                $var3.$field_70279_a = 0;
        } else if ($var3 instanceof nms_EntityBoat)
            $var3.$field_70279_a = 1;
        if ($var2 === null)
            return;
        $par1Packet39AttachEntity = $var2;
        $ptr = 1;
    case 1:
        $par1Packet39AttachEntity.$mountEntity($var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet39AttachEntity, $var2, $var3, $ptr);
};
$java.nms_NetClientHandler_handleEntityStatus = function($this, $par1Packet38EntityStatus) {
    var $var2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1Packet38EntityStatus = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet38EntityStatus.$entityId13);
        if ($var2 === null)
            return;
        var$3 = $par1Packet38EntityStatus.$entityStatus;
        $ptr = 1;
    case 1:
        $var2.$handleHealthUpdate(var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet38EntityStatus, $var2, var$3, $ptr);
};
$java.nms_NetClientHandler_getEntityByID = function($this, $par1) {
    return $par1 != $this.$mc15.$thePlayer.$entityId ? nms_WorldClient_getEntityByID($this.$worldClient, $par1) : $this.$mc15.$thePlayer;
};
$java.nms_NetClientHandler_handleUpdateHealth = function($this, $par1Packet8UpdateHealth) {
    nms_EntityClientPlayerMP_setHealth($this.$mc15.$thePlayer, $par1Packet8UpdateHealth.$healthMP);
    $this.$mc15.$thePlayer.$foodStats.$foodLevel = $par1Packet8UpdateHealth.$food;
    $this.$mc15.$thePlayer.$foodStats.$foodSaturationLevel = $par1Packet8UpdateHealth.$foodSaturation;
};
$java.nms_NetClientHandler_handleExperience = function($this, $par1Packet43Experience) {
    nms_EntityPlayerSP_setXPStats($this.$mc15.$thePlayer, $par1Packet43Experience.$experience0, $par1Packet43Experience.$experienceTotal0, $par1Packet43Experience.$experienceLevel0);
};
$java.nms_NetClientHandler_handleRespawn = function($this, $par1Packet9Respawn) {
    var var$2, var$3, $var2, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1Packet9Respawn = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1Packet9Respawn.$respawnDimension == $this.$mc15.$thePlayer.$dimension) {
            var$2 = $this.$mc15;
            var$3 = $par1Packet9Respawn.$respawnDimension;
            $ptr = 1;
            continue main;
        }
        $this.$doneLoadingTerrain = 0;
        $var2 = $this.$worldClient.$worldScoreboard;
        $this.$worldClient = nms_WorldClient__init_($this, $java.nms_WorldSettings__init_(Long_ZERO, $par1Packet9Respawn.$gameType0, 0, $this.$mc15.$theWorld.$worldInfo.$hardcore, $par1Packet9Respawn.$terrainType3), $par1Packet9Respawn.$respawnDimension, $par1Packet9Respawn.$difficulty1, $this.$mc15.$mcProfiler);
        $this.$worldClient.$worldScoreboard = $var2;
        $this.$worldClient.$isRemote = 1;
        var$2 = $this.$mc15;
        var$5 = $this.$worldClient;
        $ptr = 2;
        continue main;
    case 1:
        nmc_Minecraft_setDimensionAndSpawnPlayer(var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        nms_PlayerControllerMP_setGameType($this.$mc15.$playerController, $par1Packet9Respawn.$gameType0);
        return;
    case 2:
        nmc_Minecraft_loadWorld(var$2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $this.$mc15.$thePlayer.$dimension = $par1Packet9Respawn.$respawnDimension;
        nmc_Minecraft_displayGuiScreen($this.$mc15, $java.nms_GuiDownloadTerrain__init_($this));
        var$2 = $this.$mc15;
        var$3 = $par1Packet9Respawn.$respawnDimension;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet9Respawn, var$2, var$3, $var2, var$5, $ptr);
};
$java.nms_NetClientHandler_handleExplosion = function($this, $par1Packet60Explosion) {
    var $var2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1Packet60Explosion = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = nms_Explosion__init_($this.$mc15.$theWorld, null, $par1Packet60Explosion.$explosionX, $par1Packet60Explosion.$explosionY, $par1Packet60Explosion.$explosionZ, $par1Packet60Explosion.$explosionSize);
        $var2.$affectedBlockPositions = $par1Packet60Explosion.$chunkPositionRecords;
        var$3 = 1;
        $ptr = 1;
    case 1:
        nms_Explosion_doExplosionB($var2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $this.$mc15.$thePlayer;
        $var2.$motionX = $var2.$motionX + $par1Packet60Explosion.$playerVelocityX;
        $var2 = $this.$mc15.$thePlayer;
        $var2.$motionY = $var2.$motionY + $par1Packet60Explosion.$playerVelocityY;
        $var2 = $this.$mc15.$thePlayer;
        $var2.$motionZ = $var2.$motionZ + $par1Packet60Explosion.$playerVelocityZ;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet60Explosion, $var2, var$3, $ptr);
};
$java.nms_NetClientHandler_handleOpenWindow = function($this, $par1Packet100OpenWindow) {
    var $var2, $var4, $var7, $var5, $var8, $var3, $var6;
    a: {
        $var2 = $this.$mc15.$thePlayer;
        switch ($par1Packet100OpenWindow.$inventoryType) {
            case 0:
                break;
            case 1:
                nms_EntityPlayerSP_displayGUIWorkbench($var2, nms_MathHelper_floor_double($var2.$posX), nms_MathHelper_floor_double($var2.$posY), nms_MathHelper_floor_double($var2.$posZ));
                $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
                break a;
            case 2:
                $var4 = $java.nms_TileEntityFurnace__init_();
                if ($par1Packet100OpenWindow.$useProvidedWindowTitle)
                    $var4.$field_94130_e = $par1Packet100OpenWindow.$windowTitle;
                nms_EntityPlayerSP_displayGUIFurnace($var2, $var4);
                $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
                break a;
            case 3:
                $var7 = $java.nms_TileEntityDispenser__init_();
                if ($par1Packet100OpenWindow.$useProvidedWindowTitle)
                    $var7.$customName = $par1Packet100OpenWindow.$windowTitle;
                nms_EntityPlayerSP_displayGUIDispenser($var2, $var7);
                $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
                break a;
            case 4:
                nms_EntityPlayerSP_displayGUIEnchantment($var2, nms_MathHelper_floor_double($var2.$posX), nms_MathHelper_floor_double($var2.$posY), nms_MathHelper_floor_double($var2.$posZ), !$par1Packet100OpenWindow.$useProvidedWindowTitle ? null : $par1Packet100OpenWindow.$windowTitle);
                $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
                break a;
            case 5:
                $var5 = $java.nms_TileEntityBrewingStand__init_();
                if ($par1Packet100OpenWindow.$useProvidedWindowTitle)
                    $var5.$field_94132_e = $par1Packet100OpenWindow.$windowTitle;
                nms_EntityPlayerSP_displayGUIBrewingStand($var2, $var5);
                $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
                break a;
            case 6:
                $var4 = new nms_NpcMerchant;
                $var4.$customer = $var2;
                $var4.$theMerchantInventory0 = nms_InventoryMerchant__init_($var2, $var4);
                nms_EntityPlayerSP_displayGUIMerchant($var2, $var4, !$par1Packet100OpenWindow.$useProvidedWindowTitle ? null : $par1Packet100OpenWindow.$windowTitle);
                $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
                break a;
            case 7:
                $var8 = $java.nms_TileEntityBeacon__init_();
                nms_EntityPlayerSP_displayGUIBeacon($var2, $var8);
                if ($par1Packet100OpenWindow.$useProvidedWindowTitle)
                    $var8.$field_94048_i = $par1Packet100OpenWindow.$windowTitle;
                $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
                break a;
            case 8:
                nms_EntityPlayerSP_displayGUIAnvil($var2, nms_MathHelper_floor_double($var2.$posX), nms_MathHelper_floor_double($var2.$posY), nms_MathHelper_floor_double($var2.$posZ));
                $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
                break a;
            case 9:
                $var3 = $java.nms_TileEntityHopper__init_();
                if ($par1Packet100OpenWindow.$useProvidedWindowTitle)
                    $var3.$inventoryName = $par1Packet100OpenWindow.$windowTitle;
                nms_EntityPlayerSP_displayGUIHopper($var2, $var3);
                $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
                break a;
            case 10:
                $var6 = new nms_TileEntityDropper;
                nms_TileEntityDispenser__init_($var6);
                if ($par1Packet100OpenWindow.$useProvidedWindowTitle)
                    $var6.$customName = $par1Packet100OpenWindow.$windowTitle;
                nms_EntityPlayerSP_displayGUIDispenser($var2, $var6);
                $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
                break a;
            default:
                break a;
        }
        nms_EntityPlayerSP_displayGUIChest($var2, $java.nms_InventoryBasic__init_($par1Packet100OpenWindow.$windowTitle, $par1Packet100OpenWindow.$useProvidedWindowTitle, $par1Packet100OpenWindow.$slotsCount0));
        $var2.$openContainer.$windowId = $par1Packet100OpenWindow.$windowId2;
    }
};
$java.nms_NetClientHandler_handleSetSlot = function($this, $par1Packet103SetSlot) {
    var $var2, $var3, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Packet103SetSlot = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            $var2 = $this.$mc15.$thePlayer;
            if ($par1Packet103SetSlot.$windowId3 == (-1))
                $var2.$inventory.$itemStack = $par1Packet103SetSlot.$myItemStack;
            else {
                $var3 = 0;
                if ($this.$mc15.$currentScreen instanceof nms_GuiContainerCreative)
                    $var3 = $java.nms_GuiContainerCreative_selectedTabIndex == $java.nms_CreativeTabs_tabInventory.$tabIndex ? 0 : 1;
                if (!$par1Packet103SetSlot.$windowId3 && $par1Packet103SetSlot.$itemSlot >= 36 && $par1Packet103SetSlot.$itemSlot < 45) {
                    $var5 = nms_Container_getSlot($var2.$inventoryContainer, $par1Packet103SetSlot.$itemSlot).$getStack();
                    if ($par1Packet103SetSlot.$myItemStack !== null && !($var5 !== null && $var5.$stackSize >= $par1Packet103SetSlot.$myItemStack.$stackSize))
                        $par1Packet103SetSlot.$myItemStack.$animationsToGo = 5;
                    $var2 = $var2.$inventoryContainer;
                    $var3 = $par1Packet103SetSlot.$itemSlot;
                    $par1Packet103SetSlot = $par1Packet103SetSlot.$myItemStack;
                    $ptr = 2;
                    continue main;
                }
                if ($par1Packet103SetSlot.$windowId3 == $var2.$openContainer.$windowId) {
                    if ($par1Packet103SetSlot.$windowId3)
                        break a;
                    if (!$var3)
                        break a;
                }
            }
            return;
        }
        $var2 = $var2.$openContainer;
        $var3 = $par1Packet103SetSlot.$itemSlot;
        $par1Packet103SetSlot = $par1Packet103SetSlot.$myItemStack;
        $ptr = 1;
    case 1:
        nms_Container_putStackInSlot($var2, $var3, $par1Packet103SetSlot);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_Container_putStackInSlot($var2, $var3, $par1Packet103SetSlot);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet103SetSlot, $var2, $var3, $var5, $ptr);
};
$java.nms_NetClientHandler_handleTransaction = function($this, $par1Packet106Transaction) {
    var $var2, $var3, var$4, var$5;
    $var2 = null;
    $var3 = $this.$mc15.$thePlayer;
    if (!$par1Packet106Transaction.$windowId4)
        $var2 = $var3.$inventoryContainer;
    else if ($par1Packet106Transaction.$windowId4 == $var3.$openContainer.$windowId)
        $var2 = $var3.$openContainer;
    if ($var2 !== null && !$par1Packet106Transaction.$accepted) {
        $var2 = new nms_Packet106Transaction;
        var$4 = $par1Packet106Transaction.$windowId4;
        var$5 = $par1Packet106Transaction.$shortWindowId;
        nms_Packet__init_0($var2);
        $var2.$windowId4 = var$4;
        $var2.$shortWindowId = var$5;
        $var2.$accepted = 1;
        nms_NetClientHandler_addToSendQueue($this, $var2);
    }
};
$java.nms_NetClientHandler_handleWindowItems = function($this, $par1Packet104WindowItems) {
    var $var2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1Packet104WindowItems = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $this.$mc15.$thePlayer;
        if (!$par1Packet104WindowItems.$windowId5) {
            $var2 = $var2.$inventoryContainer;
            var$3 = $par1Packet104WindowItems.$itemStack1;
            $ptr = 1;
            continue main;
        }
        if ($par1Packet104WindowItems.$windowId5 != $var2.$openContainer.$windowId)
            return;
        $var2 = $var2.$openContainer;
        var$3 = $par1Packet104WindowItems.$itemStack1;
        $ptr = 2;
        continue main;
    case 1:
        nms_Container_putStacksInSlots($var2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_Container_putStacksInSlots($var2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet104WindowItems, $var2, var$3, $ptr);
};
$java.nms_NetClientHandler_handleUpdateSign = function($this, $par1Packet130UpdateSign) {
    var $var2, $var3, $var4, $var5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Packet130UpdateSign = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = 0;
        if (!nms_World_blockExists($this.$mc15.$theWorld, $par1Packet130UpdateSign.$xPosition12, $par1Packet130UpdateSign.$yPosition11, $par1Packet130UpdateSign.$zPosition11)) {
            if (!$var2 && $this.$mc15.$thePlayer !== null) {
                $var3 = $this.$mc15.$thePlayer;
                $var4 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var4);
                jl_AbstractStringBuilder_append($var4, $rt_s(2809));
                jl_AbstractStringBuilder_append2($var4, $par1Packet130UpdateSign.$xPosition12);
                jl_AbstractStringBuilder_append($var4, $rt_s(368));
                jl_AbstractStringBuilder_append2($var4, $par1Packet130UpdateSign.$yPosition11);
                jl_AbstractStringBuilder_append($var4, $rt_s(368));
                jl_AbstractStringBuilder_append2($var4, $par1Packet130UpdateSign.$zPosition11);
                nms_EntityPlayerSP_sendChatToPlayer($var3, jl_AbstractStringBuilder_toString($var4));
            }
            return;
        }
        $var3 = $this.$mc15.$theWorld;
        $var5 = $par1Packet130UpdateSign.$xPosition12;
        var$6 = $par1Packet130UpdateSign.$yPosition11;
        var$7 = $par1Packet130UpdateSign.$zPosition11;
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($var3, $var5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $tmp;
        if ($var3 instanceof nms_TileEntitySign) {
            $var4 = $var3;
            if ($var4.$isEditable) {
                $var5 = 0;
                while ($var5 < 4) {
                    $var4.$signText.data[$var5] = $par1Packet130UpdateSign.$signLines.data[$var5];
                    $var5 = $var5 + 1 | 0;
                }
                $ptr = 2;
                continue main;
            }
            $var2 = 1;
        }
        if (!$var2 && $this.$mc15.$thePlayer !== null) {
            $var3 = $this.$mc15.$thePlayer;
            $var4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var4);
            jl_AbstractStringBuilder_append($var4, $rt_s(2809));
            jl_AbstractStringBuilder_append2($var4, $par1Packet130UpdateSign.$xPosition12);
            jl_AbstractStringBuilder_append($var4, $rt_s(368));
            jl_AbstractStringBuilder_append2($var4, $par1Packet130UpdateSign.$yPosition11);
            jl_AbstractStringBuilder_append($var4, $rt_s(368));
            jl_AbstractStringBuilder_append2($var4, $par1Packet130UpdateSign.$zPosition11);
            nms_EntityPlayerSP_sendChatToPlayer($var3, jl_AbstractStringBuilder_toString($var4));
        }
        return;
    case 2:
        $java.nms_TileEntity_onInventoryChanged($var4);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = 1;
        if (!$var2 && $this.$mc15.$thePlayer !== null) {
            $var3 = $this.$mc15.$thePlayer;
            $var4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var4);
            jl_AbstractStringBuilder_append($var4, $rt_s(2809));
            jl_AbstractStringBuilder_append2($var4, $par1Packet130UpdateSign.$xPosition12);
            jl_AbstractStringBuilder_append($var4, $rt_s(368));
            jl_AbstractStringBuilder_append2($var4, $par1Packet130UpdateSign.$yPosition11);
            jl_AbstractStringBuilder_append($var4, $rt_s(368));
            jl_AbstractStringBuilder_append2($var4, $par1Packet130UpdateSign.$zPosition11);
            nms_EntityPlayerSP_sendChatToPlayer($var3, jl_AbstractStringBuilder_toString($var4));
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet130UpdateSign, $var2, $var3, $var4, $var5, var$6, var$7, $ptr);
};
$java.nms_NetClientHandler_handleTileEntityData = function($this, $par1Packet132TileEntityData) {
    var $var2, var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var2 = $thread.pop();$par1Packet132TileEntityData = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!nms_World_blockExists($this.$mc15.$theWorld, $par1Packet132TileEntityData.$xPosition13, $par1Packet132TileEntityData.$yPosition12, $par1Packet132TileEntityData.$zPosition12))
            return;
        $var2 = $this.$mc15.$theWorld;
        var$3 = $par1Packet132TileEntityData.$xPosition13;
        var$4 = $par1Packet132TileEntityData.$yPosition12;
        var$5 = $par1Packet132TileEntityData.$zPosition12;
        $ptr = 1;
    case 1:
        $tmp = nms_World_getBlockTileEntity($var2, var$3, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $tmp;
        if ($var2 !== null) {
            if ($par1Packet132TileEntityData.$actionType == 1 && $var2 instanceof nms_TileEntityMobSpawner) {
                $par1Packet132TileEntityData = $par1Packet132TileEntityData.$customParam1;
                $ptr = 2;
                continue main;
            }
            if ($par1Packet132TileEntityData.$actionType == 2 && $var2 instanceof nms_TileEntityCommandBlock) {
                $par1Packet132TileEntityData = $par1Packet132TileEntityData.$customParam1;
                $ptr = 3;
                continue main;
            }
            if ($par1Packet132TileEntityData.$actionType == 3 && $var2 instanceof nms_TileEntityBeacon) {
                $par1Packet132TileEntityData = $par1Packet132TileEntityData.$customParam1;
                $ptr = 4;
                continue main;
            }
            if ($par1Packet132TileEntityData.$actionType == 4 && $var2 instanceof nms_TileEntitySkull) {
                $par1Packet132TileEntityData = $par1Packet132TileEntityData.$customParam1;
                $ptr = 5;
                continue main;
            }
        }
        return;
    case 2:
        $var2.$readFromNBT($par1Packet132TileEntityData);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        $var2.$readFromNBT($par1Packet132TileEntityData);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        $var2.$readFromNBT($par1Packet132TileEntityData);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 5:
        $var2.$readFromNBT($par1Packet132TileEntityData);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet132TileEntityData, $var2, var$3, var$4, var$5, $ptr);
};
$java.nms_NetClientHandler_handleUpdateProgressbar = function($this, $par1Packet105UpdateProgressbar) {
    var $var2;
    $var2 = $this.$mc15.$thePlayer;
    if ($var2.$openContainer !== null && $var2.$openContainer.$windowId == $par1Packet105UpdateProgressbar.$windowId6)
        $var2.$openContainer.$updateProgressBar($par1Packet105UpdateProgressbar.$progressBar, $par1Packet105UpdateProgressbar.$progressBarValue);
};
$java.nms_NetClientHandler_handlePlayerInventory = function($this, $par1Packet5PlayerInventory) {
    var $var2;
    $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet5PlayerInventory.$entityID1);
    if ($var2 !== null)
        $var2.$setCurrentItemOrArmor($par1Packet5PlayerInventory.$slot, $par1Packet5PlayerInventory.$itemSlot0);
};
$java.nms_NetClientHandler_handleCloseWindow = function($this, $par1Packet101CloseWindow) {
    nms_EntityClientPlayerMP_func_92015_f($this.$mc15.$thePlayer);
};
$java.nms_NetClientHandler_handleBlockEvent = function($this, $par1Packet54PlayNoteBlock) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1Packet54PlayNoteBlock = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$mc15.$theWorld;
        var$3 = $par1Packet54PlayNoteBlock.$xLocation;
        var$4 = $par1Packet54PlayNoteBlock.$yLocation;
        var$5 = $par1Packet54PlayNoteBlock.$zLocation;
        var$6 = $par1Packet54PlayNoteBlock.$blockId;
        var$7 = $par1Packet54PlayNoteBlock.$instrumentType;
        var$8 = $par1Packet54PlayNoteBlock.$pitch6;
        $ptr = 1;
    case 1:
        nms_World_addBlockEvent(var$2, var$3, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet54PlayNoteBlock, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
};
$java.nms_NetClientHandler_handleBlockDestroy = function($this, $par1Packet55BlockDestroy) {
    nms_World_destroyBlockInWorldPartially($this.$mc15.$theWorld, $par1Packet55BlockDestroy.$entityId14, $par1Packet55BlockDestroy.$posX8, $par1Packet55BlockDestroy.$posY8, $par1Packet55BlockDestroy.$posZ6, $par1Packet55BlockDestroy.$destroyedStage);
};
$java.nms_NetClientHandler_handleMapChunks = function($this, $par1Packet56MapChunks) {
    var $var2, $var3, $var4, var$5, var$6, var$7, var$8, $var5;
    $var2 = 0;
    while ($var2 < $java.nms_Packet56MapChunks_getNumberOfChunkInPacket($par1Packet56MapChunks)) {
        $var3 = $java.nms_Packet56MapChunks_getChunkPosX($par1Packet56MapChunks, $var2);
        $var4 = $java.nms_Packet56MapChunks_getChunkPosZ($par1Packet56MapChunks, $var2);
        nms_WorldClient_doPreChunk($this.$worldClient, $var3, $var4, 1);
        var$5 = $var3 << 4;
        var$6 = $var4 << 4;
        var$7 = var$5 + 15 | 0;
        var$8 = var$6 + 15 | 0;
        $var5 = nms_World_getChunkFromChunkCoords($this.$worldClient, $var3, $var4);
        if ($var5 === null) {
            nms_WorldClient_doPreChunk($this.$worldClient, $var3, $var4, 1);
            $var5 = nms_World_getChunkFromChunkCoords($this.$worldClient, $var3, $var4);
        }
        if ($var5 !== null) {
            $java.nms_Chunk_fillChunk($var5, $java.nms_Packet56MapChunks_getChunkCompressedData($par1Packet56MapChunks, $var2), $par1Packet56MapChunks.$field_73590_a.data[$var2], $par1Packet56MapChunks.$field_73588_b.data[$var2], 1);
            nms_World_markBlockRangeForRenderUpdate($this.$worldClient, var$5, 0, var$6, var$7, 256, var$8);
            if (!($this.$worldClient.$provider instanceof nms_WorldProviderSurface))
                $java.nms_Chunk_resetRelightChecks($var5);
        }
        $var2 = $var2 + 1 | 0;
    }
};
$java.nms_NetClientHandler_handleGameEvent = function($this, $par1Packet70GameEvent) {
    var $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Packet70GameEvent = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $this.$mc15.$thePlayer;
        $var3 = $par1Packet70GameEvent.$eventType;
        $var4 = $par1Packet70GameEvent.$gameMode;
        if ($var3 >= 0 && $var3 < $java.nms_Packet70GameEvent_clientMessage.data.length && $java.nms_Packet70GameEvent_clientMessage.data[$var3] !== null)
            nms_EntityPlayerSP_addChatMessage($var2, $java.nms_Packet70GameEvent_clientMessage.data[$var3]);
        if ($var3 == 1) {
            $this.$worldClient.$worldInfo.$raining = 1;
            nms_World_setRainStrength($this.$worldClient, 0.0);
        } else if ($var3 == 2) {
            $this.$worldClient.$worldInfo.$raining = 0;
            nms_World_setRainStrength($this.$worldClient, 1.0);
        } else if ($var3 == 3)
            nms_PlayerControllerMP_setGameType($this.$mc15.$playerController, $java.nms_EnumGameType_getByID($var4));
        else if ($var3 == 4)
            nmc_Minecraft_displayGuiScreen($this.$mc15, $java.nms_GuiWinGame__init_());
        else if ($var3 == 5) {
            $var5 = $this.$mc15.$gameSettings;
            if (!$var4)
                return;
            if ($var4 == 101) {
                var$6 = $this.$mc15.$ingameGUI.$persistantChatGUI;
                var$7 = $rt_createArray(jl_Object, 4);
                var$8 = var$7.data;
                var$8[0] = nlea_EaglerAdapterImpl2_getKeyName($var5.$keyBindForward.$keyCode);
                var$8[1] = nlea_EaglerAdapterImpl2_getKeyName($var5.$keyBindLeft.$keyCode);
                var$8[2] = nlea_EaglerAdapterImpl2_getKeyName($var5.$keyBindBack.$keyCode);
                var$8[3] = nlea_EaglerAdapterImpl2_getKeyName($var5.$keyBindRight.$keyCode);
                nms_GuiNewChat_addTranslatedMessage(var$6, $rt_s(2810), var$7);
            } else if ($var4 == 102) {
                $var2 = $this.$mc15.$ingameGUI.$persistantChatGUI;
                var$7 = $rt_createArray(jl_Object, 1);
                var$7.data[0] = nlea_EaglerAdapterImpl2_getKeyName($var5.$keyBindJump.$keyCode);
                nms_GuiNewChat_addTranslatedMessage($var2, $rt_s(2811), var$7);
            } else if ($var4 == 103) {
                $var2 = $this.$mc15.$ingameGUI.$persistantChatGUI;
                var$7 = $rt_createArray(jl_Object, 1);
                var$7.data[0] = nlea_EaglerAdapterImpl2_getKeyName($var5.$keyBindInventory.$keyCode);
                nms_GuiNewChat_addTranslatedMessage($var2, $rt_s(2812), var$7);
            }
        } else if ($var3 == 6) {
            $par1Packet70GameEvent = $this.$worldClient;
            var$9 = $var2.$posX;
            var$10 = $var2.$posY + 0.11999999731779099;
            var$11 = $var2.$posZ;
            $var2 = $rt_s(2813);
            var$12 = 0.18000000715255737;
            var$13 = 0.44999998807907104;
            var$14 = 0;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        nms_WorldClient_playSound($par1Packet70GameEvent, var$9, var$10, var$11, $var2, var$12, var$13, var$14);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet70GameEvent, $var2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
};
$java.nms_NetClientHandler_handleMapData = function($this, $par1Packet131MapData) {
    var var$2, var$3, var$4, var$5, var$6, $$je;
    var$2 = $par1Packet131MapData.$itemID1;
    nms_Item_$callClinit();
    if (var$2 == nms_Item_map.$itemID) {
        var$2 = $par1Packet131MapData.$uniqueID;
        var$3 = $this.$mc15.$theWorld;
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $rt_s(2271));
        jl_AbstractStringBuilder_append2(var$4, var$2);
        var$5 = jl_AbstractStringBuilder_toString(var$4);
        var$4 = nms_World_loadItemData(var$3, $rt_cls(nms_MapData), var$5);
        if (var$4 === null) {
            var$4 = $java.nms_MapData__init_0(var$5);
            nms_World_setItemData(var$3, var$5, var$4);
        }
        $java.nms_MapData_updateMPMapData(var$4, $par1Packet131MapData.$itemData);
    } else if ($par1Packet131MapData.$itemID1 != 103) {
        if ($par1Packet131MapData.$itemID1 == 104)
            $java.nms_ItemMap_processVideoMap($this.$mc15.$theWorld, $par1Packet131MapData.$itemData);
        else if ($par1Packet131MapData.$itemID1 == 105)
            $java.nms_ItemMap_processImageMap($this.$mc15.$theWorld, $par1Packet131MapData.$itemData);
        else {
            var$3 = jl_System_err();
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, $rt_s(2814));
            jl_AbstractStringBuilder_append2(var$4, $par1Packet131MapData.$itemID1);
            ji_PrintStream_println(var$3, jl_AbstractStringBuilder_toString(var$4));
        }
    } else {
        var$3 = $this.$mc15.$theWorld;
        var$2 = $par1Packet131MapData.$uniqueID;
        var$6 = $par1Packet131MapData.$itemData;
        a: {
            try {
                $par1Packet131MapData = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(2271)), var$2));
                var$4 = nms_World_loadItemData(var$3, $rt_cls(nms_MapData), $par1Packet131MapData);
                if (var$4 === null) {
                    var$4 = $java.nms_MapData__init_0($par1Packet131MapData);
                    nms_World_setItemData(var$3, $par1Packet131MapData, var$4);
                }
                $java.nms_MapData_readAyunamiMapPacket(var$4, ji_ByteArrayInputStream__init_(var$6));
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $par1Packet131MapData = $$je;
                } else {
                    throw $$e;
                }
            }
            var$3 = jl_System_err();
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, $rt_s(2815));
            jl_AbstractStringBuilder_append(var$4, jl_Throwable_toString($par1Packet131MapData));
            ji_PrintStream_println(var$3, jl_AbstractStringBuilder_toString(var$4));
            jl_Throwable_printStackTrace($par1Packet131MapData);
        }
    }
};
$java.nms_NetClientHandler_handleDoorChange = function($this, $par1Packet61DoorChange) {
    var var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1Packet61DoorChange = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$par1Packet61DoorChange.$disableRelativeVolume) {
            var$2 = $this.$mc15.$theWorld;
            var$3 = $par1Packet61DoorChange.$sfxID;
            var$4 = $par1Packet61DoorChange.$posX9;
            var$5 = $par1Packet61DoorChange.$posY9;
            var$6 = $par1Packet61DoorChange.$posZ7;
            var$7 = $par1Packet61DoorChange.$auxData;
            $ptr = 1;
            continue main;
        }
        var$2 = $this.$mc15.$theWorld;
        var$3 = $par1Packet61DoorChange.$sfxID;
        var$4 = $par1Packet61DoorChange.$posX9;
        var$5 = $par1Packet61DoorChange.$posY9;
        var$6 = $par1Packet61DoorChange.$posZ7;
        var$7 = $par1Packet61DoorChange.$auxData;
        $ptr = 2;
        continue main;
    case 1:
        nms_World_playAuxSFX(var$2, var$3, var$4, var$5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_func_82739_e(var$2, var$3, var$4, var$5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet61DoorChange, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
};
$java.nms_NetClientHandler_handleStatistic = function($this, $par1Packet200Statistic) {
    var var$2, $m;
    a: {
        if ($par1Packet200Statistic.$statisticId >= 5242880) {
            nms_AchievementList_$callClinit();
            var$2 = ju_AbstractList_iterator(nms_AchievementList_achievementList);
            while (true) {
                if (!ju_AbstractList$1_hasNext(var$2))
                    break a;
                $m = ju_AbstractList$1_next(var$2);
                if ($m.$statId == $par1Packet200Statistic.$statisticId)
                    break;
            }
            nms_EntityClientPlayerMP_incrementStat($this.$mc15.$thePlayer, $m, 1);
        }
    }
};
$java.nms_NetClientHandler_handleEntityEffect = function($this, $par1Packet41EntityEffect) {
    var $var2, $var3;
    $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet41EntityEffect.$entityId15);
    if ($var2 instanceof nms_EntityLiving) {
        $var3 = nms_PotionEffect__init_($par1Packet41EntityEffect.$effectId1, $par1Packet41EntityEffect.$duration0, $par1Packet41EntityEffect.$effectAmplifier);
        $var3.$isPotionDurationMax = $java.nms_Packet41EntityEffect_isDurationMax($par1Packet41EntityEffect);
        $var2.$addPotionEffect($var3);
    }
};
$java.nms_NetClientHandler_handleRemoveEntityEffect = function($this, $par1Packet42RemoveEntityEffect) {
    var $var2;
    $var2 = $java.nms_NetClientHandler_getEntityByID($this, $par1Packet42RemoveEntityEffect.$entityId16);
    if ($var2 instanceof nms_EntityLiving)
        nms_EntityLiving_removePotionEffectClient($var2, $par1Packet42RemoveEntityEffect.$effectId2);
};
$java.nms_NetClientHandler_handlePlayerInfo = function($this, $par1Packet201PlayerInfo) {
    var $var2, var$3;
    $var2 = ju_HashMap_get($this.$playerInfoMap, $par1Packet201PlayerInfo.$playerName);
    if ($var2 === null && $par1Packet201PlayerInfo.$isConnected) {
        $var2 = new nms_GuiPlayerInfo;
        var$3 = $par1Packet201PlayerInfo.$playerName;
        $var2.$name10 = var$3;
        $var2.$nameinLowerCase = jl_String_toLowerCase(var$3);
        ju_HashMap_putImpl($this.$playerInfoMap, $par1Packet201PlayerInfo.$playerName, $var2);
        ju_ArrayList_add($this.$playerInfoList, $var2);
    }
    if ($var2 !== null && !$par1Packet201PlayerInfo.$isConnected) {
        ju_HashMap_remove($this.$playerInfoMap, $par1Packet201PlayerInfo.$playerName);
        ju_ArrayList_remove0($this.$playerInfoList, $var2);
    }
    if ($par1Packet201PlayerInfo.$isConnected && $var2 !== null)
        $var2.$responseTime = $par1Packet201PlayerInfo.$ping;
};
$java.nms_NetClientHandler_handleKeepAlive = function($this, $par1Packet0KeepAlive) {
    var var$2, var$3;
    var$2 = new nms_Packet0KeepAlive;
    var$3 = $par1Packet0KeepAlive.$randomId;
    nms_Packet__init_0(var$2);
    var$2.$randomId = var$3;
    nms_NetClientHandler_addToSendQueue($this, var$2);
};
$java.nms_NetClientHandler_handlePlayerAbilities = function($this, $par1Packet202PlayerAbilities) {
    var $var2;
    $var2 = $this.$mc15.$thePlayer;
    $var2.$capabilities.$isFlying = $par1Packet202PlayerAbilities.$isFlying0;
    $var2.$capabilities.$isCreativeMode = $par1Packet202PlayerAbilities.$isCreativeMode0;
    $var2.$capabilities.$disableDamage = $par1Packet202PlayerAbilities.$disableDamage0;
    $var2.$capabilities.$allowFlying = $par1Packet202PlayerAbilities.$allowFlying0;
    $var2.$capabilities.$flySpeed = $par1Packet202PlayerAbilities.$flySpeed0;
    $var2.$capabilities.$walkSpeed = $par1Packet202PlayerAbilities.$walkSpeed0;
};
$java.nms_NetClientHandler_handleAutoComplete = function($this, $par1Packet203AutoComplete) {
    var $var2;
    $var2 = jl_String_split($par1Packet203AutoComplete.$text2, $rt_s(2816));
    if ($this.$mc15.$currentScreen instanceof nms_GuiChat)
        nms_GuiChat_func_73894_a($this.$mc15.$currentScreen, $var2);
};
$java.nms_NetClientHandler_handleLevelSound = function($this, $par1Packet62LevelSound) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1Packet62LevelSound = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$mc15.$theWorld;
        var$3 = $java.nms_Packet62LevelSound_getEffectX($par1Packet62LevelSound);
        var$4 = $java.nms_Packet62LevelSound_getEffectY($par1Packet62LevelSound);
        var$5 = $java.nms_Packet62LevelSound_getEffectZ($par1Packet62LevelSound);
        var$6 = $par1Packet62LevelSound.$soundName;
        var$7 = $par1Packet62LevelSound.$volume0;
        var$8 = $java.nms_Packet62LevelSound_getPitch($par1Packet62LevelSound);
        var$9 = 0;
        $ptr = 1;
    case 1:
        nms_WorldClient_playSound(var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet62LevelSound, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
};
$java.nms_NetClientHandler_handleCustomPayload = function($this, $par1Packet250CustomPayload) {
    var var$2, var$3, $var9, var$5, $var8, $var4, $var7, $$je;
    if (!jl_String_equals($rt_s(2817), $par1Packet250CustomPayload.$channel0)) {
        nms_GameSettings_$callClinit();
        if (!nms_GameSettings_useDefaultProtocol && jl_String_equals($rt_s(2818), $par1Packet250CustomPayload.$channel0)) {
            var$2 = $par1Packet250CustomPayload.$data12;
            var$3 = var$2.data;
            $var9 = var$3[0] & 255 | (var$3[1] & 255) << 8;
            if (ju_HashMap_containsKey(nle_DefaultSkinRenderer_skinCookies, jl_Integer_valueOf($var9))) {
                var$5 = var$3.length;
                if (var$5 > 3) {
                    $par1Packet250CustomPayload = ju_HashMap_remove(nle_DefaultSkinRenderer_skinCookies, jl_Integer_valueOf($var9));
                    var$3 = $rt_createByteArray(var$5 - 2 | 0);
                    jl_System_arraycopy(var$2, 2, var$3, 0, var$3.data.length);
                    $par1Packet250CustomPayload.$skinPacket = var$3;
                }
            }
        }
    } else {
        $var8 = ji_DataInputStream__init_(ji_ByteArrayInputStream__init_($par1Packet250CustomPayload.$data12));
        a: {
            try {
                $var9 = ji_DataInputStream_readInt($var8);
                $var4 = $this.$mc15.$currentScreen;
                if ($var4 !== null && $var4 instanceof nms_GuiMerchant && $var9 == $this.$mc15.$thePlayer.$openContainer.$windowId)
                    $java.nms_NpcMerchant_setRecipes($java.nms_GuiMerchant_getIMerchant($var4), $java.nms_MerchantRecipeList_readRecipiesFromStream($var8));
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $var7 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var7);
        }
    }
};
$java.nms_NetClientHandler_handleSetObjective = function($this, $par1Packet206SetObjective) {
    var $var2, $var3;
    $var2 = $this.$worldClient.$worldScoreboard;
    if (!$par1Packet206SetObjective.$change)
        $java.nms_Scoreboard_func_96535_a($var2, $par1Packet206SetObjective.$objectiveName, $java.nms_ScoreObjectiveCriteria_field_96641_b).$displayName = $par1Packet206SetObjective.$objectiveDisplayName;
    else {
        $var3 = $java.nms_Scoreboard_getObjective($var2, $par1Packet206SetObjective.$objectiveName);
        if ($par1Packet206SetObjective.$change == 1)
            $java.nms_Scoreboard_func_96519_k($var2, $var3);
        else if ($par1Packet206SetObjective.$change == 2)
            $var3.$displayName = $par1Packet206SetObjective.$objectiveDisplayName;
    }
};
$java.nms_NetClientHandler_handleSetScore = function($this, $par1Packet207SetScore) {
    var $var2, $var3;
    $var2 = $this.$worldClient.$worldScoreboard;
    $var3 = $java.nms_Scoreboard_getObjective($var2, $par1Packet207SetScore.$scoreName);
    if (!$par1Packet207SetScore.$updateOrRemove)
        $java.nms_Score_func_96647_c(nms_Scoreboard_func_96529_a($var2, $par1Packet207SetScore.$itemName, $var3), $par1Packet207SetScore.$value13);
    else if ($par1Packet207SetScore.$updateOrRemove == 1)
        $java.nms_Scoreboard_func_96515_c($var2, $par1Packet207SetScore.$itemName);
};
$java.nms_NetClientHandler_handleSetDisplayObjective = function($this, $par1Packet208SetDisplayObjective) {
    var $var2, $var3;
    $var2 = $this.$worldClient.$worldScoreboard;
    if (!jl_String_length($par1Packet208SetDisplayObjective.$scoreName0))
        $java.nms_Scoreboard_func_96530_a($var2, $par1Packet208SetDisplayObjective.$scoreboardPosition, null);
    else {
        $var3 = $java.nms_Scoreboard_getObjective($var2, $par1Packet208SetDisplayObjective.$scoreName0);
        $java.nms_Scoreboard_func_96530_a($var2, $par1Packet208SetDisplayObjective.$scoreboardPosition, $var3);
    }
};
$java.nms_NetClientHandler_handleSetPlayerTeam = function($this, $par1Packet209SetPlayerTeam) {
    var $var2, $var3, $var4;
    $var2 = $this.$worldClient.$worldScoreboard;
    $var3 = $par1Packet209SetPlayerTeam.$mode4 ? $java.nms_Scoreboard_func_96508_e($var2, $par1Packet209SetPlayerTeam.$teamName) : $java.nms_Scoreboard_func_96527_f($var2, $par1Packet209SetPlayerTeam.$teamName);
    if (!($par1Packet209SetPlayerTeam.$mode4 && $par1Packet209SetPlayerTeam.$mode4 != 2)) {
        $java.nms_ScorePlayerTeam_func_96664_a($var3, $par1Packet209SetPlayerTeam.$teamDisplayName);
        $java.nms_ScorePlayerTeam_func_96666_b($var3, $par1Packet209SetPlayerTeam.$teamPrefix);
        $java.nms_ScorePlayerTeam_func_96662_c($var3, $par1Packet209SetPlayerTeam.$teamSuffix);
        $java.nms_ScorePlayerTeam_func_98298_a($var3, $par1Packet209SetPlayerTeam.$friendlyFire);
    }
    a: {
        if (!($par1Packet209SetPlayerTeam.$mode4 && $par1Packet209SetPlayerTeam.$mode4 != 3)) {
            $var4 = ju_AbstractList_iterator($par1Packet209SetPlayerTeam.$playerNames);
            while (true) {
                if (!ju_AbstractList$1_hasNext($var4))
                    break a;
                $java.nms_Scoreboard_func_96521_a($var2, ju_AbstractList$1_next($var4), $var3);
            }
        }
    }
    b: {
        if ($par1Packet209SetPlayerTeam.$mode4 == 4) {
            $var4 = ju_AbstractList_iterator($par1Packet209SetPlayerTeam.$playerNames);
            while (true) {
                if (!ju_AbstractList$1_hasNext($var4))
                    break b;
                $java.nms_Scoreboard_removePlayerFromTeam($var2, ju_AbstractList$1_next($var4), $var3);
            }
        }
    }
    if ($par1Packet209SetPlayerTeam.$mode4 == 1)
        $java.nms_Scoreboard_func_96511_d($var2, $var3);
};
$java.nms_NetClientHandler_handleWorldParticles = function($this, $par1Packet63WorldParticles) {
    var $var2, $var3, $var5, $var7, $var9, $var11, $var13, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1Packet63WorldParticles = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = 0;
        if ($var2 >= $par1Packet63WorldParticles.$quantity)
            return;
        $var3 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$offsetX0;
        $var5 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$offsetY0;
        $var7 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$offsetZ;
        $var9 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$speed0;
        $var11 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$speed0;
        $var13 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$speed0;
        var$9 = $this.$worldClient;
        var$10 = $par1Packet63WorldParticles.$particleName;
        $var3 = $java.nms_Packet63WorldParticles_getPositionX($par1Packet63WorldParticles) + $var3;
        $var5 = $java.nms_Packet63WorldParticles_getPositionY($par1Packet63WorldParticles) + $var5;
        $var7 = $java.nms_Packet63WorldParticles_getPositionZ($par1Packet63WorldParticles) + $var7;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle(var$9, var$10, $var3, $var5, $var7, $var9, $var11, $var13);
        if ($rt_suspending()) {
            break main;
        }
        $var2 = $var2 + 1 | 0;
        if ($var2 >= $par1Packet63WorldParticles.$quantity)
            return;
        $var3 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$offsetX0;
        $var5 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$offsetY0;
        $var7 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$offsetZ;
        $var9 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$speed0;
        $var11 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$speed0;
        $var13 = nle_EaglercraftRandom_nextGaussian($this.$rand6) * $par1Packet63WorldParticles.$speed0;
        var$9 = $this.$worldClient;
        var$10 = $par1Packet63WorldParticles.$particleName;
        $var3 = $java.nms_Packet63WorldParticles_getPositionX($par1Packet63WorldParticles) + $var3;
        $var5 = $java.nms_Packet63WorldParticles_getPositionY($par1Packet63WorldParticles) + $var5;
        $var7 = $java.nms_Packet63WorldParticles_getPositionZ($par1Packet63WorldParticles) + $var7;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Packet63WorldParticles, $var2, $var3, $var5, $var7, $var9, $var11, $var13, var$9, var$10, $ptr);
};
$java.nms_NetClientHandler_getNetManager = function($this) {
    return $this.$netManager;
};
function nms_GuiPlayerInfo() {
    var a = this; jl_Object.call(a);
    a.$name10 = null;
    a.$nameinLowerCase = null;
    a.$responseTime = 0;
}
function nms_ScorePlayerTeam() {
    var a = this; jl_Object.call(a);
    a.$theScoreboard0 = null;
    a.$field_96675_b = null;
    a.$membershipSet = null;
    a.$field_96673_d = null;
    a.$field_96674_e = null;
    a.$field_96671_f = null;
    a.$field_96672_g = 0;
    a.$field_98301_h = 0;
}
$java.nms_ScorePlayerTeam_func_96661_b = function($this) {
    return $this.$field_96675_b;
};
$java.nms_ScorePlayerTeam_func_96664_a = function($this, $par1Str) {
    var var$2;
    if ($par1Str !== null) {
        $this.$field_96673_d = $par1Str;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(2819));
    $rt_throw(var$2);
};
$java.nms_ScorePlayerTeam_getMembershipCollection = function($this) {
    return $this.$membershipSet;
};
$java.nms_ScorePlayerTeam_func_96668_e = function($this) {
    return $this.$field_96674_e;
};
$java.nms_ScorePlayerTeam_func_96666_b = function($this, $par1Str) {
    var var$2;
    if ($par1Str !== null) {
        $this.$field_96674_e = $par1Str;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(2820));
    $rt_throw(var$2);
};
$java.nms_ScorePlayerTeam_func_96663_f = function($this) {
    return $this.$field_96671_f;
};
$java.nms_ScorePlayerTeam_func_96662_c = function($this, $par1Str) {
    var var$2;
    if ($par1Str !== null) {
        $this.$field_96671_f = $par1Str;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(2821));
    $rt_throw(var$2);
};
function nms_ScorePlayerTeam_func_96667_a($par0ScorePlayerTeam, $par1Str) {
    var var$3;
    if ($par0ScorePlayerTeam !== null) {
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $par0ScorePlayerTeam.$field_96674_e);
        jl_AbstractStringBuilder_append(var$3, $par1Str);
        jl_AbstractStringBuilder_append(var$3, $par0ScorePlayerTeam.$field_96671_f);
        $par1Str = jl_AbstractStringBuilder_toString(var$3);
    }
    return $par1Str;
}
$java.nms_ScorePlayerTeam_func_96665_g = function($this) {
    return $this.$field_96672_g;
};
$java.nms_ScorePlayerTeam_func_96660_a = function($this, $par1) {
    $this.$field_96672_g = $par1;
};
$java.nms_ScorePlayerTeam_func_98297_h = function($this) {
    return $this.$field_98301_h;
};
$java.nms_ScorePlayerTeam_func_98300_b = function($this, $par1) {
    $this.$field_98301_h = $par1;
};
$java.nms_ScorePlayerTeam_func_98298_a = function($this, $par1) {
    $java.nms_ScorePlayerTeam_func_96660_a($this, ($par1 & 1) <= 0 ? 0 : 1);
    $java.nms_ScorePlayerTeam_func_98300_b($this, ($par1 & 2) <= 0 ? 0 : 1);
};
function ju_AbstractMap$KeySet() {
    ju_AbstractSet.call(this);
    this.$this$01 = null;
}
$java.ju_AbstractMap$KeySet_iterator = function($this) {
    var $iter, var$2;
    $iter = $java.ju_TreeMap$EntrySet_iterator($java.ju_TreeMap_entrySet($this.$this$01));
    var$2 = new ju_AbstractMap$KeySet$1;
    var$2.$this$1 = $this;
    var$2.$val$iter = $iter;
    return var$2;
};
$java.ju_AbstractMap$KeySet_size = function($this) {
    return $java.ju_TreeMap_size($this.$this$01);
};
function cjj_Inflate$Return() {
    var a = this; jl_Exception.call(a);
    a.$r = 0;
    a.$this$044 = null;
}
function cjj_Inflate$Return__init_(var_0, var_1) {
    var var_2 = new cjj_Inflate$Return();
    $java.cjj_Inflate$Return__init_(var_2, var_0, var_1);
    return var_2;
}
$java.cjj_Inflate$Return__init_ = function($this, var$1, $r) {
    $this.$this$044 = var$1;
    jl_Throwable__init_0($this);
    $this.$r = $r;
};
function cjj_GZIPHeader() {
    var a = this; jl_Object.call(a);
    a.$text3 = 0;
    a.$fhcrc = 0;
    a.$time0 = Long_ZERO;
    a.$xflags = 0;
    a.$os = 0;
    a.$extra = null;
    a.$name8 = null;
    a.$comment = null;
    a.$hcrc = 0;
    a.$crc = Long_ZERO;
    a.$done0 = 0;
    a.$mtime = Long_ZERO;
}
function cjj_GZIPHeader__init_0() {
    var var_0 = new cjj_GZIPHeader();
    cjj_GZIPHeader__init_(var_0);
    return var_0;
}
function cjj_GZIPHeader__init_($this) {
    $this.$text3 = 0;
    $this.$fhcrc = 0;
    $this.$os = 255;
    $this.$done0 = 0;
    $this.$mtime = Long_ZERO;
}
$java.cjj_GZIPHeader_setCRC = function($this, $crc) {
    $this.$crc = $crc;
};
$java.cjj_GZIPHeader_put = function($this, $d) {
    var $flag, $xfl;
    $flag = 0;
    if ($this.$text3)
        $flag = 1;
    if ($this.$fhcrc)
        $flag = $flag | 2;
    if ($this.$extra !== null)
        $flag = $flag | 4;
    if ($this.$name8 !== null)
        $flag = $flag | 8;
    if ($this.$comment !== null)
        $flag = $flag | 16;
    $xfl = 0;
    if ($d.$level0 == 1)
        $xfl = 4;
    else if ($d.$level0 == 9)
        $xfl = 2;
    $java.cjj_Deflate_put_short($d, (-29921));
    $java.cjj_Deflate_put_byte($d, 8);
    $java.cjj_Deflate_put_byte($d, $flag << 24 >> 24);
    $java.cjj_Deflate_put_byte($d, $this.$mtime.lo << 24 >> 24);
    $java.cjj_Deflate_put_byte($d, Long_shr($this.$mtime, 8).lo << 24 >> 24);
    $java.cjj_Deflate_put_byte($d, Long_shr($this.$mtime, 16).lo << 24 >> 24);
    $java.cjj_Deflate_put_byte($d, Long_shr($this.$mtime, 24).lo << 24 >> 24);
    $java.cjj_Deflate_put_byte($d, $xfl << 24 >> 24);
    $java.cjj_Deflate_put_byte($d, $this.$os << 24 >> 24);
    if ($this.$extra !== null) {
        $java.cjj_Deflate_put_byte($d, $this.$extra.data.length << 24 >> 24);
        $java.cjj_Deflate_put_byte($d, $this.$extra.data.length >> 8 << 24 >> 24);
        $java.cjj_Deflate_put_byte0($d, $this.$extra, 0, $this.$extra.data.length);
    }
    if ($this.$name8 !== null) {
        $java.cjj_Deflate_put_byte0($d, $this.$name8, 0, $this.$name8.data.length);
        $java.cjj_Deflate_put_byte($d, 0);
    }
    if ($this.$comment !== null) {
        $java.cjj_Deflate_put_byte0($d, $this.$comment, 0, $this.$comment.data.length);
        $java.cjj_Deflate_put_byte($d, 0);
    }
};
function cjj_CRC32() {
    jl_Object.call(this);
    this.$v0 = 0;
}
$java.cjj_CRC32_crc_table = null;
function cjj_CRC32__init_0() {
    var var_0 = new cjj_CRC32();
    cjj_CRC32__init_(var_0);
    return var_0;
}
function cjj_CRC32__init_($this) {
    $this.$v0 = 0;
}
$java.cjj_CRC32_update = function($this, $buf, $index, $len) {
    var $c, var$5, var$6, var$7;
    $c = $this.$v0 ^ (-1);
    while (true) {
        $len = $len + (-1) | 0;
        if ($len < 0)
            break;
        var$5 = $buf.data;
        var$6 = $java.cjj_CRC32_crc_table.data;
        var$7 = $index + 1 | 0;
        $c = var$6[($c ^ var$5[$index]) & 255] ^ $c >>> 8;
        $index = var$7;
    }
    $this.$v0 = $c ^ (-1);
};
$java.cjj_CRC32_reset = function($this) {
    $this.$v0 = 0;
};
$java.cjj_CRC32_reset0 = function($this, $vv) {
    $this.$v0 = Long_and($vv, new Long(4294967295, 0)).lo;
};
$java.cjj_CRC32_getValue = function($this) {
    return Long_and(Long_fromInt($this.$v0), new Long(4294967295, 0));
};
function cjj_CRC32__clinit_() {
    var $n, $k, var$3;
    $java.cjj_CRC32_crc_table = null;
    $java.cjj_CRC32_crc_table = $rt_createIntArray(256);
    $n = 0;
    while ($n < 256) {
        $k = 8;
        var$3 = $n;
        while (true) {
            $k = $k + (-1) | 0;
            if ($k < 0)
                break;
            if (!(var$3 & 1)) {
                var$3 = var$3 >>> 1;
                continue;
            }
            var$3 = (-306674912) ^ var$3 >>> 1;
        }
        $java.cjj_CRC32_crc_table.data[$n] = var$3;
        $n = $n + 1 | 0;
    }
}
function nms_StitchHolder() {
    var a = this; jl_Object.call(a);
    a.$theTexture = null;
    a.$width7 = 0;
    a.$height9 = 0;
    a.$rotated = 0;
    a.$scaleFactor1 = 0.0;
}
function nms_StitchHolder__init_(var_0) {
    var var_1 = new nms_StitchHolder();
    $java.nms_StitchHolder__init_(var_1, var_0);
    return var_1;
}
$java.nms_StitchHolder__init_ = function($this, $par1Texture) {
    $this.$scaleFactor1 = 1.0;
    $this.$theTexture = $par1Texture;
    $this.$width7 = $par1Texture.$width1;
    $this.$height9 = $par1Texture.$height1;
    $this.$rotated = $java.nms_StitchHolder_ceil16($this, $this.$height9) <= $java.nms_StitchHolder_ceil16($this, $this.$width7) ? 0 : 1;
};
$java.nms_StitchHolder_func_98150_a = function($this) {
    return $this.$theTexture;
};
$java.nms_StitchHolder_getWidth = function($this) {
    return !$this.$rotated ? $java.nms_StitchHolder_ceil16($this, $this.$width7 * $this.$scaleFactor1 | 0) : $java.nms_StitchHolder_ceil16($this, $this.$height9 * $this.$scaleFactor1 | 0);
};
$java.nms_StitchHolder_getHeight = function($this) {
    return !$this.$rotated ? $java.nms_StitchHolder_ceil16($this, $this.$height9 * $this.$scaleFactor1 | 0) : $java.nms_StitchHolder_ceil16($this, $this.$width7 * $this.$scaleFactor1 | 0);
};
$java.nms_StitchHolder_rotate = function($this) {
    $this.$rotated = $this.$rotated ? 0 : 1;
};
$java.nms_StitchHolder_isRotated = function($this) {
    return $this.$rotated;
};
$java.nms_StitchHolder_ceil16 = function($this, $par1) {
    return (($par1 >> 0) + ($par1 & 0 ? 1 : 0) | 0) << 0;
};
$java.nms_StitchHolder_setNewDimension = function($this, $par1) {
    if ($this.$width7 > $par1 && $this.$height9 > $par1)
        $this.$scaleFactor1 = $par1 / jl_Math_min($this.$width7, $this.$height9);
};
$java.nms_StitchHolder_toString = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2822));
    jl_AbstractStringBuilder_append2(var$1, $this.$width7);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2823));
    jl_AbstractStringBuilder_append2(var$1, $this.$height9);
    jl_AbstractStringBuilder_append0(var$1, 125);
    return jl_AbstractStringBuilder_toString(var$1);
};
$java.nms_StitchHolder_compareToStitchHolder = function($this, $par1StitchHolder) {
    var $var2;
    if ($java.nms_StitchHolder_getHeight($this) != $java.nms_StitchHolder_getHeight($par1StitchHolder))
        $var2 = $java.nms_StitchHolder_getHeight($this) >= $java.nms_StitchHolder_getHeight($par1StitchHolder) ? (-1) : 1;
    else {
        if ($java.nms_StitchHolder_getWidth($this) == $java.nms_StitchHolder_getWidth($par1StitchHolder)) {
            if ($this.$theTexture.$textureName1 !== null)
                return jl_String_compareTo($this.$theTexture.$textureName1, $par1StitchHolder.$theTexture.$textureName1);
            return $par1StitchHolder.$theTexture.$textureName1 !== null ? (-1) : 0;
        }
        $var2 = $java.nms_StitchHolder_getWidth($this) >= $java.nms_StitchHolder_getWidth($par1StitchHolder) ? (-1) : 1;
    }
    return $var2;
};
$java.nms_StitchHolder_compareTo = function($this, $par1Obj) {
    return $java.nms_StitchHolder_compareToStitchHolder($this, $par1Obj);
};
function nms_Texture() {
    var a = this; jl_Object.call(a);
    a.$glTextureId = 0;
    a.$textureId = 0;
    a.$textureType0 = 0;
    a.$width1 = 0;
    a.$height1 = 0;
    a.$textureDepth = 0;
    a.$textureFormat = 0;
    a.$textureTarget = 0;
    a.$textureMinFilter = 0;
    a.$textureMagFilter = 0;
    a.$textureWrap = 0;
    a.$mipmapActive = 0;
    a.$textureName1 = null;
    a.$textureRect = null;
    a.$transferred = 0;
    a.$autoCreate = 0;
    a.$textureNotModified = 0;
    a.$textureData = null;
}
$java.nms_Texture_getTextureRect = function($this) {
    return $this.$textureRect;
};
$java.nms_Texture_fillRect = function($this, $par1Rect2i, $par2) {
    var $var3, $var4, var$5, var$6, var$7, var$8, $var5, $var6, var$11;
    if ($this.$textureTarget != 32879) {
        $var3 = nms_Rect2i__init_(0, 0, $this.$width1, $this.$height1);
        $java.nms_Rect2i_intersection($var3, $par1Rect2i);
        jn_Buffer_position0($this.$textureData, 0);
        $var4 = $var3.$rectY;
        var$5 = ($par2 >> 24 & 255) << 24 >> 24;
        var$6 = ($par2 >> 16 & 255) << 24 >> 24;
        var$7 = ($par2 >> 8 & 255) << 24 >> 24;
        var$8 = ($par2 >> 0 & 255) << 24 >> 24;
        while ($var4 < ($var3.$rectY + $var3.$rectHeight | 0)) {
            $var5 = $rt_imul($var4, $this.$width1) * 4 | 0;
            $var6 = $var3.$rectX;
            while ($var6 < ($var3.$rectX + $var3.$rectWidth | 0)) {
                $par1Rect2i = $this.$textureData;
                var$11 = $var5 + ($var6 * 4 | 0) | 0;
                jn_ByteBufferImpl_put($par1Rect2i, var$11 + 0 | 0, var$5);
                jn_ByteBufferImpl_put($this.$textureData, var$11 + 1 | 0, var$6);
                jn_ByteBufferImpl_put($this.$textureData, var$11 + 2 | 0, var$7);
                jn_ByteBufferImpl_put($this.$textureData, var$11 + 3 | 0, var$8);
                $var6 = $var6 + 1 | 0;
            }
            $var4 = $var4 + 1 | 0;
        }
        if ($this.$autoCreate)
            nms_Texture_uploadTexture($this);
        else
            $this.$textureNotModified = 0;
    }
};
$java.nms_Texture_writeImage = function($this, $par1Str) {
    return;
};
$java.nms_Texture_copyFrom = function($this, $par1, $par2, $par3Texture, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12;
    if ($this.$textureTarget != 32879) {
        nleg_EaglerAdapterGL30_glBindTexture($this.$textureTarget, $this.$glTextureId);
        $var5 = $par3Texture.$textureData;
        jn_Buffer_position0($this.$textureData, 0);
        jn_Buffer_position0($var5, 0);
        $var6 = 0;
        while ($var6 < $par3Texture.$height1) {
            $var7 = $par2 + $var6 | 0;
            $var8 = $rt_imul($var6, $par3Texture.$width1) * 4 | 0;
            $var9 = $rt_imul($var7, $this.$width1) * 4 | 0;
            if ($par4)
                $var7 = $par2 + ($par3Texture.$height1 - $var6 | 0) | 0;
            $var10 = 0;
            while ($var10 < $par3Texture.$width1) {
                $var11 = $var9 + (($var10 + $par1 | 0) * 4 | 0) | 0;
                $var12 = $var8 + ($var10 * 4 | 0) | 0;
                if ($par4)
                    $var11 = ($par1 + ($rt_imul($var10, $this.$width1) * 4 | 0) | 0) + ($var7 * 4 | 0) | 0;
                jn_ByteBufferImpl_put($this.$textureData, $var11 + 0 | 0, jn_ByteBufferImpl_get0($var5, $var12 + 0 | 0));
                jn_ByteBufferImpl_put($this.$textureData, $var11 + 1 | 0, jn_ByteBufferImpl_get0($var5, $var12 + 1 | 0));
                jn_ByteBufferImpl_put($this.$textureData, $var11 + 2 | 0, jn_ByteBufferImpl_get0($var5, $var12 + 2 | 0));
                jn_ByteBufferImpl_put($this.$textureData, $var11 + 3 | 0, jn_ByteBufferImpl_get0($var5, $var12 + 3 | 0));
                $var10 = $var10 + 1 | 0;
            }
            $var6 = $var6 + 1 | 0;
        }
        jn_Buffer_position0($this.$textureData, $rt_imul($this.$width1, $this.$height1) * 4 | 0);
        if ($this.$autoCreate)
            nms_Texture_uploadTexture($this);
        else
            $this.$textureNotModified = 0;
    }
};
$java.nms_Texture_func_104062_b = function($this, $par1, $par2, $par3Texture) {
    var var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11;
    nleg_EaglerAdapterGL30_glBindTexture($this.$textureTarget, $this.$glTextureId);
    var$4 = $this.$textureTarget;
    var$5 = $par3Texture.$width1;
    var$6 = $par3Texture.$height1;
    $par3Texture = $par3Texture.$textureData;
    jn_Buffer_position0($par3Texture, 0);
    var$7 = $par3Texture;
    switch (var$4) {
        case 3553:
            break;
        default:
    }
    nleg_EaglerAdapterGL30_bytesUploaded = nleg_EaglerAdapterGL30_bytesUploaded + jn_Buffer_remaining(var$7) | 0;
    nlea_EaglerAdapterImpl2_$callClinit();
    var$4 = jn_Buffer_remaining(var$7);
    var$8 = 0;
    while (var$8 < var$4) {
        var$9 = nlea_EaglerAdapterImpl2_uploadBuffer;
        var$10 = (jn_ByteBufferImpl_get(var$7) & 255) << 16 >> 16;
        var$9[var$8] = var$10;
        var$8 = var$8 + 1 | 0;
    }
    var$11 = new Uint8Array(nlea_EaglerAdapterImpl2_uploadBuffer.buffer, 0, var$4);
    nlea_EaglerAdapterImpl2_webgl.texSubImage2D(3553, 0, $par1, $par2, var$5, var$6, 6408, 5121, var$11);
    $this.$textureNotModified = 1;
};
function nms_Texture_transferFromImage($this, $par1BufferedImage) {
    var $var2, $var3, $var4, $var9, var$6, $var10, $var11, $var12, $var13, var$11;
    $var2 = $par1BufferedImage.$w0;
    $var3 = $par1BufferedImage.$h0;
    if ($var2 <= $this.$width1 && $var3 <= $this.$height1) {
        $var4 = $rt_createIntArray(4).data;
        $var4[0] = 3;
        $var4[1] = 0;
        $var4[2] = 1;
        $var4[3] = 2;
        $var4 = $rt_createIntArray(4).data;
        $var4[0] = 3;
        $var4[1] = 2;
        $var4[2] = 1;
        $var4[3] = 0;
        $var9 = $rt_createByteArray($rt_imul($this.$width1, $this.$height1) * 4 | 0);
        var$6 = $var9.data;
        $var10 = 0;
        while ($var10 < $this.$height1) {
            $var11 = 0;
            while ($var11 < $this.$width1) {
                $var12 = $rt_imul($var10, $this.$width1) + $var11 | 0;
                $var13 = $var12 * 4 | 0;
                var$6[$var13 + $var4[0] | 0] = ($par1BufferedImage.$data.data[$var12] >> 24 & 255) << 24 >> 24;
                var$6[$var13 + $var4[1] | 0] = ($par1BufferedImage.$data.data[$var12] >> 16 & 255) << 24 >> 24;
                var$6[$var13 + $var4[2] | 0] = ($par1BufferedImage.$data.data[$var12] >> 8 & 255) << 24 >> 24;
                var$6[$var13 + $var4[3] | 0] = ($par1BufferedImage.$data.data[$var12] >> 0 & 255) << 24 >> 24;
                $var11 = $var11 + 1 | 0;
            }
            $var10 = $var10 + 1 | 0;
        }
        $var2 = var$6.length;
        $par1BufferedImage = nms_GLAllocation_createDirectByteBuffer($var2);
        $par1BufferedImage.$order = jn_ByteOrder_BIG_ENDIAN;
        $this.$textureData = $par1BufferedImage;
        jn_Buffer_clear($this.$textureData);
        jn_ByteBuffer_put1($this.$textureData, $var9);
        jn_Buffer_limit0($this.$textureData, $var2);
        if ($this.$autoCreate)
            nms_Texture_uploadTexture($this);
        else
            $this.$textureNotModified = 0;
    } else {
        $par1BufferedImage = jl_System_err();
        var$11 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$11);
        jl_AbstractStringBuilder_append(var$11, $rt_s(2824));
        jl_AbstractStringBuilder_append2(var$11, $var2);
        jl_AbstractStringBuilder_append(var$11, $rt_s(368));
        jl_AbstractStringBuilder_append2(var$11, $var3);
        jl_AbstractStringBuilder_append(var$11, $rt_s(2825));
        jl_AbstractStringBuilder_append2(var$11, $this.$width1);
        jl_AbstractStringBuilder_append(var$11, $rt_s(368));
        jl_AbstractStringBuilder_append2(var$11, $this.$height1);
        jl_AbstractStringBuilder_append(var$11, $rt_s(2826));
        ji_PrintStream_println($par1BufferedImage, jl_AbstractStringBuilder_toString(var$11));
    }
}
$java.nms_Texture_getTextureId = function($this) {
    return $this.$textureId;
};
$java.nms_Texture_getGlTextureId = function($this) {
    return $this.$glTextureId;
};
$java.nms_Texture_getWidth = function($this) {
    return $this.$width1;
};
$java.nms_Texture_getHeight = function($this) {
    return $this.$height1;
};
$java.nms_Texture_getTextureName = function($this) {
    return $this.$textureName1;
};
function nms_Texture_bindTexture($this, $par1) {
    if ($this.$textureDepth == 1)
        nleg_EaglerAdapterGL30_glEnable(3553);
    nms_OpenGlHelper_setActiveTexture(nms_OpenGlHelper_defaultTexUnit + $par1 | 0);
    nleg_EaglerAdapterGL30_glBindTexture($this.$textureTarget, $this.$glTextureId);
    if (!$this.$textureNotModified)
        nms_Texture_uploadTexture($this);
}
function nms_Texture_uploadTexture($this) {
    var var$1, var$2, var$3;
    jn_Buffer_flip($this.$textureData);
    if (!($this.$height1 != 1 && $this.$textureDepth != 1)) {
        var$1 = $this.$width1;
        var$2 = $this.$height1;
        var$3 = $this.$textureData;
        nleg_EaglerAdapterGL30_$callClinit();
        if (!nleg_EaglerAdapterGL30_selectedTex && nleg_EaglerAdapterGL30_boundTexture0 !== null) {
            nleg_EaglerAdapterGL30_boundTexture0.$w = var$1;
            nleg_EaglerAdapterGL30_boundTexture0.$h = var$2;
        }
        nlea_EaglerAdapterImpl2__wglTexImage2D(3553, 0, 32856, var$1, var$2, 0, 6408, 5121, var$3);
    }
    $this.$textureNotModified = 1;
}
$java.nms_Texture_getTextureData = function($this) {
    return $this.$textureData;
};
function nms_StitcherException() {
    jl_RuntimeException.call(this);
    this.$field_98149_a = null;
}
function nms_TextureStitched() {
    var a = this; jl_Object.call(a);
    a.$textureName2 = null;
    a.$textureSheet = null;
    a.$textureList = null;
    a.$listAnimationTuples = null;
    a.$rotated0 = 0;
    a.$originX1 = 0;
    a.$originY1 = 0;
    a.$width8 = 0;
    a.$height10 = 0;
    a.$minU0 = 0.0;
    a.$maxU0 = 0.0;
    a.$minV0 = 0.0;
    a.$maxV0 = 0.0;
    a.$widthNorm = 0.0;
    a.$heightNorm = 0.0;
    a.$frameCounter0 = 0;
    a.$tickCounter = 0;
}
$java.nms_TextureStitched__init_ = function(var_0) {
    var var_1 = new nms_TextureStitched();
    $java.nms_TextureStitched__init_0(var_1, var_0);
    return var_1;
};
function nms_TextureStitched_makeTextureStitched($par0Str) {
    return jl_String_equals($rt_s(1797), $par0Str) ? $java.nms_TextureClock__init_() : !jl_String_equals($rt_s(1795), $par0Str) ? $java.nms_TextureStitched__init_($par0Str) : $java.nms_TextureCompass__init_();
}
$java.nms_TextureStitched__init_0 = function($this, $par1) {
    $this.$frameCounter0 = 0;
    $this.$tickCounter = 0;
    $this.$textureName2 = $par1;
};
function nms_TextureStitched_init($this, $par1Texture, $par2List, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9;
    $this.$textureSheet = $par1Texture;
    $this.$textureList = $par2List;
    $this.$originX1 = $par3;
    $this.$originY1 = $par4;
    $this.$width8 = $par5;
    $this.$height10 = $par6;
    $this.$rotated0 = $par7;
    $var8 = 0.009999999776482582 / $par1Texture.$width1;
    $var9 = 0.009999999776482582 / $par1Texture.$height1;
    $this.$minU0 = $par3 / $par1Texture.$width1 + $var8;
    $this.$maxU0 = ($par3 + $par5 | 0) / $par1Texture.$width1 - $var8;
    $this.$minV0 = $par4 / $par1Texture.$height1 + $var9;
    $this.$maxV0 = ($par4 + $par6 | 0) / $par1Texture.$height1 - $var9;
    $this.$widthNorm = $par5 / 16.0;
    $this.$heightNorm = $par6 / 16.0;
}
function nms_TextureStitched_copyFrom($this, $par1TextureStitched) {
    nms_TextureStitched_init($this, $par1TextureStitched.$textureSheet, $par1TextureStitched.$textureList, $par1TextureStitched.$originX1, $par1TextureStitched.$originY1, $par1TextureStitched.$width8, $par1TextureStitched.$height10, $par1TextureStitched.$rotated0);
}
$java.nms_TextureStitched_getOriginX = function($this) {
    return $this.$originX1;
};
$java.nms_TextureStitched_getOriginY = function($this) {
    return $this.$originY1;
};
$java.nms_TextureStitched_getMinU = function($this) {
    return $this.$minU0;
};
$java.nms_TextureStitched_getMaxU = function($this) {
    return $this.$maxU0;
};
$java.nms_TextureStitched_getInterpolatedU = function($this, $par1) {
    var $var3;
    $var3 = $this.$maxU0 - $this.$minU0;
    return $this.$minU0 + $var3 * $par1 / 16.0;
};
$java.nms_TextureStitched_getMinV = function($this) {
    return $this.$minV0;
};
$java.nms_TextureStitched_getMaxV = function($this) {
    return $this.$maxV0;
};
$java.nms_TextureStitched_getInterpolatedV = function($this, $par1) {
    var $var3;
    $var3 = $this.$maxV0 - $this.$minV0;
    return $this.$minV0 + $var3 * $par1 / 16.0;
};
$java.nms_TextureStitched_getIconName = function($this) {
    return $this.$textureName2;
};
$java.nms_TextureStitched_getSheetWidth = function($this) {
    return $this.$textureSheet.$width1;
};
$java.nms_TextureStitched_getSheetHeight = function($this) {
    return $this.$textureSheet.$height1;
};
$java.nms_TextureStitched_updateAnimation = function($this) {
    var $var4, $var1, $var2, $var3;
    if ($this.$listAnimationTuples === null) {
        $var4 = $this.$frameCounter0;
        $this.$frameCounter0 = ($this.$frameCounter0 + 1 | 0) % $this.$textureList.$size0() | 0;
        if ($var4 != $this.$frameCounter0)
            $java.nms_Texture_func_104062_b($this.$textureSheet, $this.$originX1, $this.$originY1, $this.$textureList.$get5($this.$frameCounter0));
    } else {
        $var1 = ju_ArrayList_get($this.$listAnimationTuples, $this.$frameCounter0);
        $this.$tickCounter = $this.$tickCounter + 1 | 0;
        if ($this.$tickCounter >= $var1.$second.$value) {
            $var2 = $var1.$first0.$value;
            $this.$frameCounter0 = ($this.$frameCounter0 + 1 | 0) % $this.$listAnimationTuples.$size | 0;
            $this.$tickCounter = 0;
            $var3 = ju_ArrayList_get($this.$listAnimationTuples, $this.$frameCounter0).$first0.$value;
            if ($var2 != $var3 && $var3 >= 0 && $var3 < $this.$textureList.$size0())
                $java.nms_Texture_func_104062_b($this.$textureSheet, $this.$originX1, $this.$originY1, $this.$textureList.$get5($var3));
        }
    }
};
function nms_TextureStitched_readAnimationInfo($this, $path) {
    var $var2, $var3, $var4, $var6, $var7, $var8, $var9, $var12, $$je;
    $var2 = ju_ArrayList__init_0();
    a: {
        try {
            b: {
                $var3 = jl_String_trim(nlea_EaglerAdapterImpl2_fileContents($path));
                if (jl_String_length($var3) > 0) {
                    $var4 = jl_String_split($var3, $rt_s(273)).data;
                    $var6 = $var4.length;
                    $var7 = 0;
                    while (true) {
                        if ($var7 >= $var6)
                            break b;
                        $var8 = $var4[$var7];
                        $var9 = jl_String_indexOf0($var8, 42);
                        if ($var9 <= 0)
                            ju_ArrayList_add($var2, nms_Tuple__init_(jl_Integer__init_1($var8), jl_Integer_valueOf(1)));
                        else
                            ju_ArrayList_add($var2, nms_Tuple__init_(jl_Integer__init_1(jl_String_substring0($var8, 0, $var9)), jl_Integer__init_1(jl_String_substring($var8, $var9 + 1 | 0))));
                        $var7 = $var7 + 1 | 0;
                    }
                }
            }
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $var12 = $$je;
            } else {
                throw $$e;
            }
        }
        $path = jl_System_err();
        $var3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var3);
        jl_AbstractStringBuilder_append($var3, $rt_s(2827));
        jl_AbstractStringBuilder_append($var3, $this.$textureName2);
        jl_AbstractStringBuilder_append($var3, $rt_s(49));
        jl_AbstractStringBuilder_append($var3, $var12.$getMessage());
        ji_PrintStream_println($path, jl_AbstractStringBuilder_toString($var3));
    }
    if (!ju_AbstractCollection_isEmpty($var2) && $var2.$size < 600)
        $this.$listAnimationTuples = $var2;
}
function nms_Packet204ClientInfo() {
    var a = this; nms_Packet.call(a);
    a.$language0 = null;
    a.$renderDistance0 = 0;
    a.$chatVisisble = 0;
    a.$chatColours0 = 0;
    a.$gameDifficulty = 0;
    a.$showCape0 = 0;
}
$java.nms_Packet204ClientInfo__init_ = function() {
    var var_0 = new nms_Packet204ClientInfo();
    nms_Packet204ClientInfo__init_(var_0);
    return var_0;
};
function nms_Packet204ClientInfo__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet204ClientInfo_readPacketData = function($this, $par1DataInputStream) {
    var $var2;
    $this.$language0 = nms_Packet_readString($par1DataInputStream, 7);
    $this.$renderDistance0 = ji_DataInputStream_readByte($par1DataInputStream);
    $var2 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$chatVisisble = $var2 & 7;
    $this.$chatColours0 = ($var2 & 8) != 8 ? 0 : 1;
    $this.$gameDifficulty = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$showCape0 = ji_DataInputStream_readBoolean($par1DataInputStream);
};
$java.nms_Packet204ClientInfo_writePacketData = function($this, $par1DataOutputStream) {
    nms_Packet_writeString($this.$language0, $par1DataOutputStream);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$renderDistance0);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$chatVisisble | (!$this.$chatColours0 ? 0 : 1) << 3);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$gameDifficulty);
    ji_DataOutputStream_writeBoolean($par1DataOutputStream, $this.$showCape0);
};
$java.nms_Packet204ClientInfo_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet204ClientInfo_getPacketSize = function($this) {
    return 7;
};
function jt_DecimalFormat$PerMillField() {
    jl_Object.call(this);
}
$java.jt_DecimalFormat$PerMillField__init_ = function() {
    var var_0 = new jt_DecimalFormat$PerMillField();
    jt_DecimalFormat$PerMillField__init_(var_0);
    return var_0;
};
function jt_DecimalFormat$PerMillField__init_($this) {
    return;
}
$java.jt_DecimalFormat$PerMillField_render = function($this, $format, $buffer) {
    jl_AbstractStringBuilder_append0($buffer, $format.$symbols0.$perMill);
};
$java.jt_DecimalFormat$PerMillField_equals = function($this, $obj) {
    return $obj instanceof jt_DecimalFormat$PerMillField;
};
$java.jt_DecimalFormat$PerMillField_hashCode = function($this) {
    return 2;
};
function jt_DecimalFormat$CurrencyField() {
    jl_Object.call(this);
}
$java.jt_DecimalFormat$CurrencyField__init_ = function() {
    var var_0 = new jt_DecimalFormat$CurrencyField();
    jt_DecimalFormat$CurrencyField__init_(var_0);
    return var_0;
};
function jt_DecimalFormat$CurrencyField__init_($this) {
    return;
}
$java.jt_DecimalFormat$CurrencyField_render = function($this, $format, $buffer) {
    if ($format.$currency === null)
        jl_AbstractStringBuilder_append0($buffer, 164);
    else
        jl_AbstractStringBuilder_append($buffer, ju_Currency_getSymbol($format.$currency, $format.$symbols0.$locale2));
};
$java.jt_DecimalFormat$CurrencyField_equals = function($this, $obj) {
    return $obj instanceof jt_DecimalFormat$CurrencyField;
};
$java.jt_DecimalFormat$CurrencyField_hashCode = function($this) {
    return 0;
};
function jt_DecimalFormat$PercentField() {
    jl_Object.call(this);
}
$java.jt_DecimalFormat$PercentField__init_ = function() {
    var var_0 = new jt_DecimalFormat$PercentField();
    jt_DecimalFormat$PercentField__init_(var_0);
    return var_0;
};
function jt_DecimalFormat$PercentField__init_($this) {
    return;
}
$java.jt_DecimalFormat$PercentField_render = function($this, $format, $buffer) {
    jl_AbstractStringBuilder_append0($buffer, $format.$symbols0.$percent);
};
$java.jt_DecimalFormat$PercentField_equals = function($this, $obj) {
    return $obj instanceof jt_DecimalFormat$PercentField;
};
$java.jt_DecimalFormat$PercentField_hashCode = function($this) {
    return 1;
};
function nms_MovementInput() {
    var a = this; jl_Object.call(a);
    a.$moveStrafe = 0.0;
    a.$moveForward0 = 0.0;
    a.$jump0 = 0;
    a.$sneak = 0;
}
$java.nms_MovementInput__init_ = function() {
    var var_0 = new nms_MovementInput();
    nms_MovementInput__init_(var_0);
    return var_0;
};
function nms_MovementInput__init_($this) {
    $this.$moveStrafe = 0.0;
    $this.$moveForward0 = 0.0;
    $this.$jump0 = 0;
    $this.$sneak = 0;
}
function nms_MovementInputFromOptions() {
    nms_MovementInput.call(this);
    this.$gameSettings1 = null;
}
function nms_MovementInputFromOptions__init_(var_0) {
    var var_1 = new nms_MovementInputFromOptions();
    $java.nms_MovementInputFromOptions__init_(var_1, var_0);
    return var_1;
}
$java.nms_MovementInputFromOptions__init_ = function($this, $par1GameSettings) {
    nms_MovementInput__init_($this);
    $this.$gameSettings1 = $par1GameSettings;
};
function nms_MovementInputFromOptions_updatePlayerMoveState($this) {
    $this.$moveStrafe = 0.0;
    $this.$moveForward0 = 0.0;
    if ($this.$gameSettings1.$keyBindForward.$pressed)
        $this.$moveForward0 = $this.$moveForward0 + 1.0;
    if ($this.$gameSettings1.$keyBindBack.$pressed)
        $this.$moveForward0 = $this.$moveForward0 - 1.0;
    if ($this.$gameSettings1.$keyBindLeft.$pressed)
        $this.$moveStrafe = $this.$moveStrafe + 1.0;
    if ($this.$gameSettings1.$keyBindRight.$pressed)
        $this.$moveStrafe = $this.$moveStrafe - 1.0;
    $this.$jump0 = $this.$gameSettings1.$keyBindJump.$pressed;
    $this.$sneak = $this.$gameSettings1.$keyBindSneak.$pressed;
    if ($this.$sneak) {
        $this.$moveStrafe = $this.$moveStrafe * 0.3;
        $this.$moveForward0 = $this.$moveForward0 * 0.3;
    }
}
function ju_ListIterator() {
}
function ju_LinkedList$SequentialListIterator() {
    var a = this; jl_Object.call(a);
    a.$nextEntry0 = null;
    a.$prevEntry0 = null;
    a.$currentEntry0 = null;
    a.$index8 = 0;
    a.$version0 = 0;
    a.$this$045 = null;
}
function ju_LinkedList$SequentialListIterator__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new ju_LinkedList$SequentialListIterator();
    $java.ju_LinkedList$SequentialListIterator__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.ju_LinkedList$SequentialListIterator__init_ = function($this, var$1, $nextEntry, $prevEntry, $index) {
    $this.$this$045 = var$1;
    $this.$version0 = $this.$this$045.$modCount;
    $this.$nextEntry0 = $nextEntry;
    $this.$prevEntry0 = $prevEntry;
    $this.$index8 = $index;
};
$java.ju_LinkedList$SequentialListIterator_hasNext = function($this) {
    return $this.$nextEntry0 === null ? 0 : 1;
};
function ju_LinkedList$SequentialListIterator_next($this) {
    var $result;
    $java.ju_LinkedList$SequentialListIterator_checkConcurrentModification($this);
    if ($this.$nextEntry0 === null) {
        $result = new ju_NoSuchElementException;
        jl_Throwable__init_0($result);
        $rt_throw($result);
    }
    $result = $this.$nextEntry0.$item;
    $this.$currentEntry0 = $this.$nextEntry0;
    $this.$prevEntry0 = $this.$nextEntry0;
    $this.$nextEntry0 = $this.$nextEntry0.$next0;
    $this.$index8 = $this.$index8 + 1 | 0;
    return $result;
}
function ju_LinkedList$SequentialListIterator_remove($this) {
    var var$1, var$2;
    if ($this.$currentEntry0 === null) {
        var$1 = new jl_IllegalStateException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    var$1 = $this.$this$045;
    var$2 = $this.$currentEntry0;
    if (var$2.$previous === null)
        var$1.$firstEntry = var$2.$next0;
    else
        var$2.$previous.$next0 = var$2.$next0;
    if (var$2.$next0 === null)
        var$1.$lastEntry = var$2.$previous;
    else
        var$2.$next0.$previous = var$2.$previous;
    var$1.$size2 = var$1.$size2 - 1 | 0;
    var$1.$modCount = var$1.$modCount + 1 | 0;
    if ($this.$currentEntry0 === $this.$prevEntry0) {
        $this.$prevEntry0 = !$java.ju_LinkedList$SequentialListIterator_hasNext($this) ? null : $this.$nextEntry0.$previous;
        $this.$index8 = $this.$index8 - 1 | 0;
    } else if ($this.$currentEntry0 === $this.$nextEntry0)
        $this.$nextEntry0 = !$java.ju_LinkedList$SequentialListIterator_hasPrevious($this) ? null : $this.$prevEntry0.$next0;
    $this.$version0 = $this.$this$045.$modCount;
    $this.$currentEntry0 = null;
}
$java.ju_LinkedList$SequentialListIterator_hasPrevious = function($this) {
    return $this.$prevEntry0 === null ? 0 : 1;
};
function ju_LinkedList$SequentialListIterator_add($this, $e) {
    var $newEntry;
    $java.ju_LinkedList$SequentialListIterator_checkConcurrentModification($this);
    $newEntry = new ju_LinkedList$Entry;
    $newEntry.$item = $e;
    $newEntry.$previous = $this.$prevEntry0;
    $newEntry.$next0 = $this.$nextEntry0;
    if ($this.$prevEntry0 !== null)
        $this.$prevEntry0.$next0 = $newEntry;
    else
        $this.$this$045.$firstEntry = $newEntry;
    if ($this.$nextEntry0 !== null)
        $this.$nextEntry0.$previous = $newEntry;
    else
        $this.$this$045.$lastEntry = $newEntry;
    $this.$prevEntry0 = $newEntry;
    $e = $this.$this$045;
    $e.$size2 = $e.$size2 + 1 | 0;
    $e = $this.$this$045;
    $e.$modCount = $e.$modCount + 1 | 0;
    $this.$version0 = $this.$this$045.$modCount;
    $this.$currentEntry0 = null;
}
$java.ju_LinkedList$SequentialListIterator_checkConcurrentModification = function($this) {
    var var$1;
    if ($this.$version0 >= $this.$this$045.$modCount)
        return;
    var$1 = new ju_ConcurrentModificationException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
};
function ju_LinkedList$Entry() {
    var a = this; jl_Object.call(a);
    a.$item = null;
    a.$next0 = null;
    a.$previous = null;
}
$java.ju_LinkedList$Entry__init_ = function() {
    var var_0 = new ju_LinkedList$Entry();
    ju_LinkedList$Entry__init_(var_0);
    return var_0;
};
function ju_LinkedList$Entry__init_($this) {
    return;
}
function maat_TMIItemPanel() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$controller2 = null;
    a.$items0 = null;
    a.$numPages = 0;
    a.$hoverItem = null;
    a.$hoverItemIndex = 0;
    a.$marginLeft = 0;
    a.$marginTop = 0;
    a.$cols = 0;
    a.$rows = 0;
    a.$itemsPerPage = 0;
    a.$prevButton3 = null;
    a.$nextButton3 = null;
    a.$textField = null;
}
$java.maat_TMIItemPanel_page = 0;
$java.maat_TMIItemPanel__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new maat_TMIItemPanel();
    $java.maat_TMIItemPanel__init_0(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
};
$java.maat_TMIItemPanel__init_0 = function($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7) {
    $java.maat__tmi_MgWidget__init_2($this, $var1, $var2, $var3, $var4, $var5);
    $this.$numPages = 0;
    $this.$hoverItem = null;
    $this.$hoverItemIndex = (-1);
    $this.$items0 = $var6;
    $this.$controller2 = $var7;
    $this.$prevButton3 = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2512));
    $this.$prevButton3.$icon = $java.maat_TMIImages_iconPrev;
    $this.$prevButton3.$width3 = 12;
    $this.$prevButton3.$height5 = 12;
    ju_ArrayList_add($this.$children0, $this.$prevButton3);
    $this.$nextButton3 = $java.maat__tmi_MgButton__init_($rt_s(36), $this, $rt_s(2511));
    $this.$nextButton3.$icon = $java.maat_TMIImages_iconNext;
    $this.$nextButton3.$width3 = 12;
    $this.$nextButton3.$height5 = 12;
    ju_ArrayList_add($this.$children0, $this.$nextButton3);
    $this.$textField = $java.maat__tmi_MgTextField__init_(nmc_Minecraft_theMinecraft.$fontRenderer, $rt_s(2828), $var7);
    ju_ArrayList_add($this.$children0, $this.$textField);
};
$java.maat_TMIItemPanel_onButtonPress = function($this, $var1) {
    if ($var1 === $rt_s(2512)) {
        $java.maat_TMIItemPanel_page = $java.maat_TMIItemPanel_page - 1 | 0;
        return 0;
    }
    if ($var1 !== $rt_s(2511))
        return 1;
    $java.maat_TMIItemPanel_page = $java.maat_TMIItemPanel_page + 1 | 0;
    return 0;
};
$java.maat_TMIItemPanel_onButtonRightClick = function($this, $var1) {
    return 1;
};
$java.maat_TMIItemPanel_resize = function($this) {
    $this.$marginLeft = $this.$x5 + (($this.$width3 % 18 | 0) / 2 | 0) | 0;
    $this.$marginTop = $this.$y4 + (($this.$height5 % 18 | 0) / 2 | 0) | 0;
    $this.$cols = $this.$width3 / 18 | 0;
    $this.$rows = ($this.$height5 / 18 | 0) - 1 | 0;
    $this.$itemsPerPage = $rt_imul($this.$rows, $this.$cols);
    $this.$numPages = jl_Math_ceil(1.0 * $this.$items0.$size / $this.$itemsPerPage) | 0;
    $java.maat_TMIItemPanel_page = $java.maat_TMIItemPanel_page < 0 ? $this.$numPages - 1 | 0 : $java.maat_TMIItemPanel_page < $this.$numPages ? $java.maat_TMIItemPanel_page : 0;
    $this.$nextButton3.$x5 = (($this.$x5 + $this.$width3 | 0) - $this.$nextButton3.$width3 | 0) - 3 | 0;
    $this.$prevButton3.$x5 = ($this.$nextButton3.$x5 - $this.$prevButton3.$width3 | 0) - 1 | 0;
    $this.$nextButton3.$y4 = $this.$y4 + 1 | 0;
    $this.$prevButton3.$y4 = $this.$y4 + 1 | 0;
    $this.$textField.$x5 = $this.$x5 + 2 | 0;
    $this.$textField.$y4 = $this.$y4 + 2 | 0;
    $this.$textField.$height5 = 14;
    $this.$textField.$width3 = ($this.$prevButton3.$x5 - $this.$textField.$x5 | 0) - 2 | 0;
};
$java.maat_TMIItemPanel_getHoverItem = function($this) {
    return $this.$hoverItem;
};
$java.maat_TMIItemPanel_draw = function($this, $var1, $var2, $var3) {
    var $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, $var10, var$13, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$13 = $thread.pop();$var10 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$show)
            return;
        $var4 = 0;
        $var5 = 1;
        $this.$hoverItem = null;
        $this.$hoverItemIndex = (-1);
        $java.maat__tmi_MgCanvas_hardSetFlatMode($var1, 0);
        $var6 = $rt_imul($java.maat_TMIItemPanel_page, $this.$itemsPerPage);
        if ($var6 < $rt_imul($this.$itemsPerPage, $java.maat_TMIItemPanel_page + 1 | 0) && $var6 < $this.$items0.$size) {
            $var7 = ju_ArrayList_get($this.$items0, $var6);
            $var8 = $this.$marginLeft + ($var4 * 18 | 0) | 0;
            $var9 = $this.$marginTop + ($var5 * 18 | 0) | 0;
            if ($var2 >= $var8 && $var2 < ($var8 + 18 | 0) && $var3 >= $var9 && $var3 < ($var9 + 18 | 0)) {
                $this.$hoverItem = $var7;
                $this.$hoverItemIndex = $var6;
            }
            $ptr = 3;
            continue main;
        }
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgWidget_drawChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $this.$prevButton3.$x5;
        $var6 = ($this.$prevButton3.$y4 + $this.$prevButton3.$height5 | 0) + 2 | 0;
        $var8 = ($this.$prevButton3.$width3 * 2 | 0) + 1 | 0;
        var$10 = 6;
        $var7 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var7);
        jl_AbstractStringBuilder_append($var7, $rt_s(36));
        jl_AbstractStringBuilder_append2($var7, $java.maat_TMIItemPanel_page + 1 | 0);
        jl_AbstractStringBuilder_append($var7, $rt_s(61));
        jl_AbstractStringBuilder_append2($var7, $this.$numPages);
        $var7 = jl_AbstractStringBuilder_toString($var7);
        $var2 = (-2236963);
        var$11 = 0.5;
        $ptr = 2;
    case 2:
        $java.maat__tmi_MgCanvas_drawTextCentered($var1, $var3, $var6, $var8, var$10, $var7, $var2, var$11);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        $java.maat__tmi_MgCanvas_drawItem($var1, $var8, $var9, $var7);
        if ($rt_suspending()) {
            break main;
        }
        if ($var7.$itemID0 == 52) {
            $var10 = $java.maat_TMIUtils_itemDisplayName($var7);
            $var7 = jl_String_substring0(jur_Matcher_replaceAll(jur_Pattern_matcher(jur_Pattern_compile($rt_s(2829)), $var10), $rt_s(36)), 0, 3);
            $var8 = $var8 + 1 | 0;
            var$10 = $var9 + 1 | 0;
            var$13 = (-2236963);
            var$11 = 0.5;
            $ptr = 4;
            continue main;
        }
        if ($var7.$itemID0 != 9 && $var7.$itemID0 != 11) {
            $var4 = $var4 + 1 | 0;
            if ($var4 == $this.$cols) {
                $var4 = 0;
                $var5 = $var5 + 1 | 0;
            }
            $var6 = $var6 + 1 | 0;
            if ($var6 < $rt_imul($this.$itemsPerPage, $java.maat_TMIItemPanel_page + 1 | 0) && $var6 < $this.$items0.$size) {
                $var7 = ju_ArrayList_get($this.$items0, $var6);
                $var8 = $this.$marginLeft + ($var4 * 18 | 0) | 0;
                $var9 = $this.$marginTop + ($var5 * 18 | 0) | 0;
                if ($var2 >= $var8 && $var2 < ($var8 + 18 | 0) && $var3 >= $var9 && $var3 < ($var9 + 18 | 0)) {
                    $this.$hoverItem = $var7;
                    $this.$hoverItemIndex = $var6;
                }
                continue main;
            }
            $ptr = 1;
            continue main;
        }
        var$10 = $var8 + 1 | 0;
        $var8 = $var9 + 1 | 0;
        $var7 = $rt_s(2830);
        var$13 = (-2236963);
        var$11 = 0.5;
        $ptr = 5;
        continue main;
    case 4:
        $java.maat__tmi_MgCanvas_drawText0($var1, $var8, var$10, $var7, var$13, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $java.maat__tmi_MgCanvas_hardSetFlatMode($var1, 0);
        $var4 = $var4 + 1 | 0;
        if ($var4 == $this.$cols) {
            $var4 = 0;
            $var5 = $var5 + 1 | 0;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 < $rt_imul($this.$itemsPerPage, $java.maat_TMIItemPanel_page + 1 | 0) && $var6 < $this.$items0.$size) {
            $var7 = ju_ArrayList_get($this.$items0, $var6);
            $var8 = $this.$marginLeft + ($var4 * 18 | 0) | 0;
            $var9 = $this.$marginTop + ($var5 * 18 | 0) | 0;
            if ($var2 >= $var8 && $var2 < ($var8 + 18 | 0) && $var3 >= $var9 && $var3 < ($var9 + 18 | 0)) {
                $this.$hoverItem = $var7;
                $this.$hoverItemIndex = $var6;
            }
            $ptr = 3;
            continue main;
        }
        $ptr = 1;
        continue main;
    case 5:
        $java.maat__tmi_MgCanvas_drawText0($var1, var$10, $var8, $var7, var$13, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $java.maat__tmi_MgCanvas_hardSetFlatMode($var1, 0);
        $var4 = $var4 + 1 | 0;
        if ($var4 == $this.$cols) {
            $var4 = 0;
            $var5 = $var5 + 1 | 0;
        }
        $var6 = $var6 + 1 | 0;
        if ($var6 < $rt_imul($this.$itemsPerPage, $java.maat_TMIItemPanel_page + 1 | 0) && $var6 < $this.$items0.$size) {
            $var7 = ju_ArrayList_get($this.$items0, $var6);
            $var8 = $this.$marginLeft + ($var4 * 18 | 0) | 0;
            $var9 = $this.$marginTop + ($var5 * 18 | 0) | 0;
            if ($var2 >= $var8 && $var2 < ($var8 + 18 | 0) && $var3 >= $var9 && $var3 < ($var9 + 18 | 0)) {
                $this.$hoverItem = $var7;
                $this.$hoverItemIndex = $var6;
            }
            $ptr = 3;
            continue main;
        }
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, var$10, var$11, $var10, var$13, $ptr);
};
$java.maat_TMIItemPanel_click = function($this, $var1, $var2, $var3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.maat_TMIUtils_getHeldItem() !== null) {
            $java.maat_TMIUtils_deleteHeldItem();
            return 0;
        }
        if ($this.$hoverItem !== null)
            return $java.maat_TMIController_onItemEvent($this.$controller2, $this.$hoverItem, $var3);
        $ptr = 1;
    case 1:
        $tmp = $java.maat__tmi_MgWidget_delegateClickToChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $ptr);
};
function maat_TMIItemPanel__clinit_() {
    $java.maat_TMIItemPanel_page = 0;
}
function maat_TMIFavoritesPanel() {
    maat_TMIItemPanel.call(this);
    this.$config1 = null;
}
$java.maat_TMIFavoritesPanel_blankPanelTip = null;
$java.maat_TMIFavoritesPanel__init_ = function(var_0, var_1) {
    var var_2 = new maat_TMIFavoritesPanel();
    $java.maat_TMIFavoritesPanel__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.maat_TMIFavoritesPanel__init_0 = function($this, $var1, $var2) {
    $java.maat_TMIItemPanel__init_0($this, 0, 0, 0, 0, 0, $java.maat_TMIConfig_favorites, $var2);
    $this.$config1 = null;
    $this.$config1 = $var1;
    $this.$textField.$show = 0;
};
$java.maat_TMIFavoritesPanel_draw = function($this, $var1, $var2, $var3) {
    var $var4, $var5, $var6, $var7, $var8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$items0.$size > 0) {
            $ptr = 1;
            continue main;
        }
        if ($this.$show) {
            $this.$hoverItem = null;
            $this.$hoverItemIndex = (-1);
            $var4 = $this.$y4 + (($this.$height5 / 2 | 0) - ((13 * $java.maat_TMIFavoritesPanel_blankPanelTip.data.length | 0) / 2 | 0) | 0) | 0;
            $var5 = $java.maat_TMIFavoritesPanel_blankPanelTip.data;
            $var6 = $var5.length;
            $var7 = 0;
            if ($var7 < $var6) {
                $var8 = $var5[$var7];
                var$9 = $this.$x5;
                var$10 = $this.$width3;
                $var2 = 12;
                $var3 = (-1);
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 1:
        $java.maat_TMIItemPanel_draw($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        $java.maat__tmi_MgCanvas_drawTextCentered0($var1, var$9, $var4, var$10, $var2, $var8, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $var4 + 13 | 0;
        $var7 = $var7 + 1 | 0;
        if ($var7 >= $var6)
            return;
        $var8 = $var5[$var7];
        var$9 = $this.$x5;
        var$10 = $this.$width3;
        $var2 = 12;
        $var3 = (-1);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, var$9, var$10, $ptr);
};
$java.maat_TMIFavoritesPanel_click = function($this, $var1, $var2, $var3) {
    var $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = $java.maat_TMIUtils_getHeldItem();
        if ($var4 !== null) {
            $var5 = $java.maat_TMIUtils_copyStack($var4);
            $var5.$stackSize = $java.maat_TMIUtils_maxStackSize($var5.$itemID0);
            if ($var5.$itemID0 == $java.maat_TMIItemInfo_addItemOffset(117))
                $var5.$stackSize = 64;
            ju_ArrayList_add($this.$items0, $var5);
            $java.maat_TMIUtils_savePreferences($this.$config1);
            return 0;
        }
        if ($this.$hoverItem !== null) {
            if (!nlea_EaglerAdapterImpl2_isKeyDown(56) && !nlea_EaglerAdapterImpl2_isKeyDown(184))
                return $java.maat_TMIController_onItemEvent($this.$controller2, $this.$hoverItem, $var3);
            ju_ArrayList_remove($this.$items0, $this.$hoverItemIndex);
            $java.maat_TMIUtils_savePreferences($this.$config1);
            return 0;
        }
        $ptr = 1;
    case 1:
        $tmp = $java.maat__tmi_MgWidget_delegateClickToChildren($this, $var1, $var2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $tmp;
        return $var1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $ptr);
};
function maat_TMIFavoritesPanel__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2831);
    var$2[1] = $rt_s(2832);
    var$2[2] = $rt_s(2833);
    var$2[3] = $rt_s(2834);
    $java.maat_TMIFavoritesPanel_blankPanelTip = var$1;
}
function maat_TMIStateButtonData() {
    var a = this; jl_Object.call(a);
    a.$state0 = 0;
    a.$action0 = 0;
}
$java.maat_TMIStateButtonData__init_ = function(var_0, var_1) {
    var var_2 = new maat_TMIStateButtonData();
    $java.maat_TMIStateButtonData__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.maat_TMIStateButtonData__init_0 = function($this, $var1, $var2) {
    $this.$state0 = $var1;
    $this.$action0 = $var2;
};
function ju_LinkedHashMap$1() {
    ju_AbstractSet.call(this);
    this.$this$042 = null;
}
$java.ju_LinkedHashMap$1_size = function($this) {
    return $this.$this$042.$elementCount;
};
$java.ju_LinkedHashMap$1_iterator = function($this) {
    var var$1;
    var$1 = new ju_LinkedHashMap$KeyIterator;
    $java.ju_LinkedHashMap$AbstractMapIterator__init_(var$1, $this.$this$042);
    return var$1;
};
function nms_Facing() {
    jl_Object.call(this);
}
$java.nms_Facing_oppositeSide = null;
var nms_Facing_offsetsXForSide = null;
var nms_Facing_offsetsYForSide = null;
var nms_Facing_offsetsZForSide = null;
$java.nms_Facing_facings = null;
$java.nms_Facing__init_ = function() {
    var var_0 = new nms_Facing();
    nms_Facing__init_(var_0);
    return var_0;
};
function nms_Facing__init_($this) {
    return;
}
function nms_Facing__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(6);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 0;
    var$2[2] = 3;
    var$2[3] = 2;
    var$2[4] = 5;
    var$2[5] = 4;
    $java.nms_Facing_oppositeSide = var$1;
    var$1 = $rt_createIntArray(6);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 0;
    var$2[2] = 0;
    var$2[3] = 0;
    var$2[4] = (-1);
    var$2[5] = 1;
    nms_Facing_offsetsXForSide = var$1;
    var$1 = $rt_createIntArray(6);
    var$2 = var$1.data;
    var$2[0] = (-1);
    var$2[1] = 1;
    var$2[2] = 0;
    var$2[3] = 0;
    var$2[4] = 0;
    var$2[5] = 0;
    nms_Facing_offsetsYForSide = var$1;
    var$1 = $rt_createIntArray(6);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 0;
    var$2[2] = (-1);
    var$2[3] = 1;
    var$2[4] = 0;
    var$2[5] = 0;
    nms_Facing_offsetsZForSide = var$1;
    var$1 = $rt_createArray(jl_String, 6);
    var$2 = var$1.data;
    var$2[0] = $rt_s(197);
    var$2[1] = $rt_s(192);
    var$2[2] = $rt_s(2789);
    var$2[3] = $rt_s(2787);
    var$2[4] = $rt_s(2788);
    var$2[5] = $rt_s(2790);
    $java.nms_Facing_facings = var$1;
}
function jl_Boolean() {
    jl_Object.call(this);
    this.$value14 = 0;
}
$java.jl_Boolean_TRUE = null;
$java.jl_Boolean_FALSE = null;
$java.jl_Boolean_TYPE = null;
$java.jl_Boolean__init_ = function(var_0) {
    var var_1 = new jl_Boolean();
    $java.jl_Boolean__init_0(var_1, var_0);
    return var_1;
};
$java.jl_Boolean__init_0 = function($this, $value) {
    $this.$value14 = $value;
};
$java.jl_Boolean_compareTo = function($this, $other) {
    var var$2, var$3;
    a: {
        b: {
            var$2 = $this.$value14;
            var$3 = $other.$value14;
            if (!var$2) {
                if (!var$3)
                    break b;
                var$2 = (-1);
                break a;
            }
            if (!var$3) {
                var$2 = 1;
                break a;
            }
        }
        var$2 = 0;
    }
    return var$2;
};
$java.jl_Boolean_parseBoolean = function($s) {
    return $s !== null && jl_String_equals(jl_String_toLowerCase($s), $rt_s(2532)) ? 1 : 0;
};
$java.jl_Boolean_booleanValue = function($this) {
    return $this.$value14;
};
function jl_Boolean_valueOf($value) {
    return !$value ? $java.jl_Boolean_FALSE : $java.jl_Boolean_TRUE;
}
$java.jl_Boolean_toString = function($value) {
    return !$value ? $rt_s(2535) : $rt_s(2532);
};
$java.jl_Boolean_toString0 = function($this) {
    return $java.jl_Boolean_toString($this.$value14);
};
$java.jl_Boolean_hashCode = function($this) {
    return !$this.$value14 ? 1237 : 1231;
};
$java.jl_Boolean_equals = function($this, $obj) {
    if ($this === $obj)
        return 1;
    return $obj instanceof jl_Boolean && $obj.$value14 == $this.$value14 ? 1 : 0;
};
$java.jl_Boolean_compareTo0 = function($this, var$1) {
    return $java.jl_Boolean_compareTo($this, var$1);
};
function jl_Boolean__clinit_() {
    $java.jl_Boolean_TRUE = $java.jl_Boolean__init_(1);
    $java.jl_Boolean_FALSE = $java.jl_Boolean__init_(0);
    $java.jl_Boolean_TYPE = $rt_cls($rt_booleancls());
}
function nms_Packet0KeepAlive() {
    nms_Packet.call(this);
    this.$randomId = 0;
}
$java.nms_Packet0KeepAlive__init_ = function() {
    var var_0 = new nms_Packet0KeepAlive();
    nms_Packet0KeepAlive__init_(var_0);
    return var_0;
};
function nms_Packet0KeepAlive__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet0KeepAlive_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleKeepAlive($par1NetHandler, $this);
};
$java.nms_Packet0KeepAlive_readPacketData = function($this, $par1DataInputStream) {
    $this.$randomId = ji_DataInputStream_readInt($par1DataInputStream);
};
$java.nms_Packet0KeepAlive_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$randomId);
};
$java.nms_Packet0KeepAlive_getPacketSize = function($this) {
    return 4;
};
function nms_Packet1Login() {
    var a = this; nms_Packet.call(a);
    a.$clientEntityId = 0;
    a.$terrainType2 = null;
    a.$hardcoreMode = 0;
    a.$gameType = null;
    a.$dimension1 = 0;
    a.$difficultySetting0 = 0;
    a.$worldHeight = 0;
    a.$maxPlayers = 0;
}
$java.nms_Packet1Login__init_ = function() {
    var var_0 = new nms_Packet1Login();
    nms_Packet1Login__init_(var_0);
    return var_0;
};
function nms_Packet1Login__init_($this) {
    nms_Packet__init_0($this);
    $this.$clientEntityId = 0;
}
$java.nms_Packet1Login_readPacketData = function($this, $par1DataInputStream) {
    var $var3;
    $this.$clientEntityId = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$terrainType2 = $java.nms_WorldType_parseWorldType(nms_Packet_readString($par1DataInputStream, 16));
    if ($this.$terrainType2 === null)
        $this.$terrainType2 = nms_WorldType_DEFAULT;
    $var3 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$hardcoreMode = ($var3 & 8) != 8 ? 0 : 1;
    $this.$gameType = $java.nms_EnumGameType_getByID($var3 & (-9));
    $this.$dimension1 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$difficultySetting0 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$worldHeight = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$maxPlayers = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet1Login_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleLogin($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet1Login_getPacketSize = function($this) {
    var $var1;
    $var1 = 0;
    if ($this.$terrainType2 !== null)
        $var1 = jl_String_length($this.$terrainType2.$worldType);
    return (((((6 + (2 * $var1 | 0) | 0) + 4 | 0) + 4 | 0) + 1 | 0) + 1 | 0) + 1 | 0;
};
function nms_Packet2ClientProtocol() {
    var a = this; nms_Packet.call(a);
    a.$protocolVersion = 0;
    a.$username1 = null;
    a.$serverHost = null;
    a.$serverPort = 0;
}
$java.nms_Packet2ClientProtocol__init_ = function() {
    var var_0 = new nms_Packet2ClientProtocol();
    nms_Packet2ClientProtocol__init_(var_0);
    return var_0;
};
$java.nms_Packet2ClientProtocol__init_0 = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_Packet2ClientProtocol();
    nms_Packet2ClientProtocol__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
function nms_Packet2ClientProtocol__init_($this) {
    nms_Packet__init_0($this);
}
function nms_Packet2ClientProtocol__init_0($this, $par1, $par2Str, $par3Str, $par4) {
    nms_Packet__init_0($this);
    $this.$protocolVersion = $par1;
    $this.$username1 = $par2Str;
    $this.$serverHost = $par3Str;
    $this.$serverPort = $par4;
}
$java.nms_Packet2ClientProtocol_readPacketData = function($this, $par1DataInputStream) {
    $this.$protocolVersion = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$username1 = nms_Packet_readString($par1DataInputStream, 16);
    $this.$serverHost = nms_Packet_readString($par1DataInputStream, 255);
    $this.$serverPort = ji_DataInputStream_readInt($par1DataInputStream);
};
$java.nms_Packet2ClientProtocol_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$protocolVersion);
    nms_Packet_writeString($this.$username1, $par1DataOutputStream);
    nms_Packet_writeString($this.$serverHost, $par1DataOutputStream);
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$serverPort);
};
$java.nms_Packet2ClientProtocol_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet2ClientProtocol_getPacketSize = function($this) {
    return 3 + (2 * jl_String_length($this.$username1) | 0) | 0;
};
function nms_Packet4UpdateTime() {
    var a = this; nms_Packet.call(a);
    a.$worldAge = Long_ZERO;
    a.$time1 = Long_ZERO;
}
$java.nms_Packet4UpdateTime__init_ = function() {
    var var_0 = new nms_Packet4UpdateTime();
    nms_Packet4UpdateTime__init_(var_0);
    return var_0;
};
function nms_Packet4UpdateTime__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet4UpdateTime_readPacketData = function($this, $par1DataInputStream) {
    $this.$worldAge = ji_DataInputStream_readLong($par1DataInputStream);
    $this.$time1 = ji_DataInputStream_readLong($par1DataInputStream);
};
$java.nms_Packet4UpdateTime_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleUpdateTime($par1NetHandler, $this);
};
$java.nms_Packet4UpdateTime_getPacketSize = function($this) {
    return 16;
};
function nms_Packet5PlayerInventory() {
    var a = this; nms_Packet.call(a);
    a.$entityID1 = 0;
    a.$slot = 0;
    a.$itemSlot0 = null;
}
$java.nms_Packet5PlayerInventory__init_ = function() {
    var var_0 = new nms_Packet5PlayerInventory();
    nms_Packet5PlayerInventory__init_(var_0);
    return var_0;
};
function nms_Packet5PlayerInventory__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet5PlayerInventory_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityID1 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$slot = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$itemSlot0 = nms_Packet_readItemStack($par1DataInputStream);
};
$java.nms_Packet5PlayerInventory_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handlePlayerInventory($par1NetHandler, $this);
};
$java.nms_Packet5PlayerInventory_getPacketSize = function($this) {
    return 8;
};
$java.nms_Packet5PlayerInventory_getItemSlot = function($this) {
    return $this.$itemSlot0;
};
function nms_Packet6SpawnPosition() {
    var a = this; nms_Packet.call(a);
    a.$xPosition11 = 0;
    a.$yPosition10 = 0;
    a.$zPosition10 = 0;
}
$java.nms_Packet6SpawnPosition__init_ = function() {
    var var_0 = new nms_Packet6SpawnPosition();
    nms_Packet6SpawnPosition__init_(var_0);
    return var_0;
};
function nms_Packet6SpawnPosition__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet6SpawnPosition_readPacketData = function($this, $par1DataInputStream) {
    $this.$xPosition11 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition10 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$zPosition10 = ji_DataInputStream_readInt($par1DataInputStream);
};
$java.nms_Packet6SpawnPosition_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleSpawnPosition($par1NetHandler, $this);
};
$java.nms_Packet6SpawnPosition_getPacketSize = function($this) {
    return 12;
};
function nms_Packet7UseEntity() {
    var a = this; nms_Packet.call(a);
    a.$playerEntityId = 0;
    a.$targetEntity = 0;
    a.$isLeftClick = 0;
}
$java.nms_Packet7UseEntity__init_ = function() {
    var var_0 = new nms_Packet7UseEntity();
    nms_Packet7UseEntity__init_(var_0);
    return var_0;
};
function nms_Packet7UseEntity__init_0(var_0, var_1, var_2) {
    var var_3 = new nms_Packet7UseEntity();
    $java.nms_Packet7UseEntity__init_0(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_Packet7UseEntity__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet7UseEntity__init_0 = function($this, $par1, $par2, $par3) {
    nms_Packet__init_0($this);
    $this.$playerEntityId = $par1;
    $this.$targetEntity = $par2;
    $this.$isLeftClick = $par3;
};
$java.nms_Packet7UseEntity_readPacketData = function($this, $par1DataInputStream) {
    $this.$playerEntityId = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$targetEntity = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$isLeftClick = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet7UseEntity_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$playerEntityId);
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$targetEntity);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$isLeftClick);
};
$java.nms_Packet7UseEntity_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet7UseEntity_getPacketSize = function($this) {
    return 9;
};
function nms_Packet8UpdateHealth() {
    var a = this; nms_Packet.call(a);
    a.$healthMP = 0;
    a.$food = 0;
    a.$foodSaturation = 0.0;
}
$java.nms_Packet8UpdateHealth__init_ = function() {
    var var_0 = new nms_Packet8UpdateHealth();
    nms_Packet8UpdateHealth__init_(var_0);
    return var_0;
};
function nms_Packet8UpdateHealth__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet8UpdateHealth_readPacketData = function($this, $par1DataInputStream) {
    $this.$healthMP = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$food = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$foodSaturation = ji_DataInputStream_readFloat($par1DataInputStream);
};
$java.nms_Packet8UpdateHealth_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleUpdateHealth($par1NetHandler, $this);
};
$java.nms_Packet8UpdateHealth_getPacketSize = function($this) {
    return 8;
};
function nms_Packet9Respawn() {
    var a = this; nms_Packet.call(a);
    a.$respawnDimension = 0;
    a.$difficulty1 = 0;
    a.$worldHeight0 = 0;
    a.$gameType0 = null;
    a.$terrainType3 = null;
}
$java.nms_Packet9Respawn__init_ = function() {
    var var_0 = new nms_Packet9Respawn();
    nms_Packet9Respawn__init_(var_0);
    return var_0;
};
function nms_Packet9Respawn__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet9Respawn_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleRespawn($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet9Respawn_readPacketData = function($this, $par1DataInputStream) {
    $this.$respawnDimension = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$difficulty1 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$gameType0 = $java.nms_EnumGameType_getByID(ji_DataInputStream_readByte($par1DataInputStream));
    $this.$worldHeight0 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$terrainType3 = $java.nms_WorldType_parseWorldType(nms_Packet_readString($par1DataInputStream, 16));
    if ($this.$terrainType3 === null)
        $this.$terrainType3 = nms_WorldType_DEFAULT;
};
$java.nms_Packet9Respawn_getPacketSize = function($this) {
    return 8 + ($this.$terrainType3 === null ? 0 : jl_String_length($this.$terrainType3.$worldType)) | 0;
};
function nms_Packet10Flying() {
    var a = this; nms_Packet.call(a);
    a.$xPosition = 0.0;
    a.$yPosition0 = 0.0;
    a.$zPosition = 0.0;
    a.$stance = 0.0;
    a.$yaw = 0.0;
    a.$pitch0 = 0.0;
    a.$onGround0 = 0;
    a.$moving = 0;
    a.$rotating = 0;
}
$java.nms_Packet10Flying__init_ = function() {
    var var_0 = new nms_Packet10Flying();
    nms_Packet10Flying__init_(var_0);
    return var_0;
};
function nms_Packet10Flying__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet10Flying_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleFlying($par1NetHandler, $this);
};
$java.nms_Packet10Flying_readPacketData = function($this, $par1DataInputStream) {
    $this.$onGround0 = !ji_FilterInputStream_read($par1DataInputStream) ? 0 : 1;
};
$java.nms_Packet10Flying_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_write($par1DataOutputStream, !$this.$onGround0 ? 0 : 1);
};
$java.nms_Packet10Flying_getPacketSize = function($this) {
    return 1;
};
function nms_Packet11PlayerPosition() {
    nms_Packet10Flying.call(this);
}
$java.nms_Packet11PlayerPosition__init_ = function() {
    var var_0 = new nms_Packet11PlayerPosition();
    nms_Packet11PlayerPosition__init_(var_0);
    return var_0;
};
function nms_Packet11PlayerPosition__init_($this) {
    nms_Packet__init_0($this);
    $this.$moving = 1;
}
$java.nms_Packet11PlayerPosition_readPacketData = function($this, $par1DataInputStream) {
    $this.$xPosition = ji_DataInputStream_readDouble($par1DataInputStream);
    $this.$yPosition0 = ji_DataInputStream_readDouble($par1DataInputStream);
    $this.$stance = ji_DataInputStream_readDouble($par1DataInputStream);
    $this.$zPosition = ji_DataInputStream_readDouble($par1DataInputStream);
    $java.nms_Packet10Flying_readPacketData($this, $par1DataInputStream);
};
$java.nms_Packet11PlayerPosition_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeDouble($par1DataOutputStream, $this.$xPosition);
    ji_DataOutputStream_writeDouble($par1DataOutputStream, $this.$yPosition0);
    ji_DataOutputStream_writeDouble($par1DataOutputStream, $this.$stance);
    ji_DataOutputStream_writeDouble($par1DataOutputStream, $this.$zPosition);
    $java.nms_Packet10Flying_writePacketData($this, $par1DataOutputStream);
};
$java.nms_Packet11PlayerPosition_getPacketSize = function($this) {
    return 33;
};
function nms_Packet12PlayerLook() {
    nms_Packet10Flying.call(this);
}
$java.nms_Packet12PlayerLook__init_ = function() {
    var var_0 = new nms_Packet12PlayerLook();
    nms_Packet12PlayerLook__init_(var_0);
    return var_0;
};
function nms_Packet12PlayerLook__init_($this) {
    nms_Packet__init_0($this);
    $this.$rotating = 1;
}
$java.nms_Packet12PlayerLook_readPacketData = function($this, $par1DataInputStream) {
    $this.$yaw = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$pitch0 = ji_DataInputStream_readFloat($par1DataInputStream);
    $java.nms_Packet10Flying_readPacketData($this, $par1DataInputStream);
};
$java.nms_Packet12PlayerLook_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeFloat($par1DataOutputStream, $this.$yaw);
    ji_DataOutputStream_writeFloat($par1DataOutputStream, $this.$pitch0);
    $java.nms_Packet10Flying_writePacketData($this, $par1DataOutputStream);
};
$java.nms_Packet12PlayerLook_getPacketSize = function($this) {
    return 9;
};
function nms_Packet13PlayerLookMove() {
    nms_Packet10Flying.call(this);
}
$java.nms_Packet13PlayerLookMove__init_ = function() {
    var var_0 = new nms_Packet13PlayerLookMove();
    nms_Packet13PlayerLookMove__init_(var_0);
    return var_0;
};
function nms_Packet13PlayerLookMove__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_Packet13PlayerLookMove();
    $java.nms_Packet13PlayerLookMove__init_0(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
function nms_Packet13PlayerLookMove__init_($this) {
    nms_Packet__init_0($this);
    $this.$rotating = 1;
    $this.$moving = 1;
}
$java.nms_Packet13PlayerLookMove__init_0 = function($this, $par1, $par3, $par5, $par7, $par9, $par10, $par11) {
    nms_Packet__init_0($this);
    $this.$xPosition = $par1;
    $this.$yPosition0 = $par3;
    $this.$stance = $par5;
    $this.$zPosition = $par7;
    $this.$yaw = $par9;
    $this.$pitch0 = $par10;
    $this.$onGround0 = $par11;
    $this.$rotating = 1;
    $this.$moving = 1;
};
$java.nms_Packet13PlayerLookMove_readPacketData = function($this, $par1DataInputStream) {
    $this.$xPosition = ji_DataInputStream_readDouble($par1DataInputStream);
    $this.$yPosition0 = ji_DataInputStream_readDouble($par1DataInputStream);
    $this.$stance = ji_DataInputStream_readDouble($par1DataInputStream);
    $this.$zPosition = ji_DataInputStream_readDouble($par1DataInputStream);
    $this.$yaw = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$pitch0 = ji_DataInputStream_readFloat($par1DataInputStream);
    $java.nms_Packet10Flying_readPacketData($this, $par1DataInputStream);
};
$java.nms_Packet13PlayerLookMove_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeDouble($par1DataOutputStream, $this.$xPosition);
    ji_DataOutputStream_writeDouble($par1DataOutputStream, $this.$yPosition0);
    ji_DataOutputStream_writeDouble($par1DataOutputStream, $this.$stance);
    ji_DataOutputStream_writeDouble($par1DataOutputStream, $this.$zPosition);
    ji_DataOutputStream_writeFloat($par1DataOutputStream, $this.$yaw);
    ji_DataOutputStream_writeFloat($par1DataOutputStream, $this.$pitch0);
    $java.nms_Packet10Flying_writePacketData($this, $par1DataOutputStream);
};
$java.nms_Packet13PlayerLookMove_getPacketSize = function($this) {
    return 41;
};
function nms_Packet14BlockDig() {
    var a = this; nms_Packet.call(a);
    a.$xPosition14 = 0;
    a.$yPosition13 = 0;
    a.$zPosition13 = 0;
    a.$face = 0;
    a.$status0 = 0;
}
$java.nms_Packet14BlockDig__init_ = function() {
    var var_0 = new nms_Packet14BlockDig();
    nms_Packet14BlockDig__init_(var_0);
    return var_0;
};
function nms_Packet14BlockDig__init_0(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_Packet14BlockDig();
    $java.nms_Packet14BlockDig__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
function nms_Packet14BlockDig__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet14BlockDig__init_0 = function($this, $par1, $par2, $par3, $par4, $par5) {
    nms_Packet__init_0($this);
    $this.$status0 = $par1;
    $this.$xPosition14 = $par2;
    $this.$yPosition13 = $par3;
    $this.$zPosition13 = $par4;
    $this.$face = $par5;
};
$java.nms_Packet14BlockDig_readPacketData = function($this, $par1DataInputStream) {
    $this.$status0 = ji_FilterInputStream_read($par1DataInputStream);
    $this.$xPosition14 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition13 = ji_FilterInputStream_read($par1DataInputStream);
    $this.$zPosition13 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$face = ji_FilterInputStream_read($par1DataInputStream);
};
$java.nms_Packet14BlockDig_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_write($par1DataOutputStream, $this.$status0);
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$xPosition14);
    ji_DataOutputStream_write($par1DataOutputStream, $this.$yPosition13);
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$zPosition13);
    ji_DataOutputStream_write($par1DataOutputStream, $this.$face);
};
$java.nms_Packet14BlockDig_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet14BlockDig_getPacketSize = function($this) {
    return 11;
};
function nms_Packet15Place() {
    var a = this; nms_Packet.call(a);
    a.$xPosition15 = 0;
    a.$yPosition14 = 0;
    a.$zPosition14 = 0;
    a.$direction0 = 0;
    a.$itemStack2 = null;
    a.$xOffset0 = 0.0;
    a.$yOffset1 = 0.0;
    a.$zOffset0 = 0.0;
}
$java.nms_Packet15Place__init_ = function() {
    var var_0 = new nms_Packet15Place();
    nms_Packet15Place__init_(var_0);
    return var_0;
};
function nms_Packet15Place__init_0(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
    var var_8 = new nms_Packet15Place();
    $java.nms_Packet15Place__init_0(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
    return var_8;
}
function nms_Packet15Place__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet15Place__init_0 = function($this, $par1, $par2, $par3, $par4, $par5ItemStack, $par6, $par7, $par8) {
    nms_Packet__init_0($this);
    $this.$xPosition15 = $par1;
    $this.$yPosition14 = $par2;
    $this.$zPosition14 = $par3;
    $this.$direction0 = $par4;
    $this.$itemStack2 = $par5ItemStack === null ? null : nms_ItemStack_copy($par5ItemStack);
    $this.$xOffset0 = $par6;
    $this.$yOffset1 = $par7;
    $this.$zOffset0 = $par8;
};
$java.nms_Packet15Place_readPacketData = function($this, $par1DataInputStream) {
    $this.$xPosition15 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition14 = ji_FilterInputStream_read($par1DataInputStream);
    $this.$zPosition14 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$direction0 = ji_FilterInputStream_read($par1DataInputStream);
    $this.$itemStack2 = nms_Packet_readItemStack($par1DataInputStream);
    $this.$xOffset0 = ji_FilterInputStream_read($par1DataInputStream) / 16.0;
    $this.$yOffset1 = ji_FilterInputStream_read($par1DataInputStream) / 16.0;
    $this.$zOffset0 = ji_FilterInputStream_read($par1DataInputStream) / 16.0;
};
$java.nms_Packet15Place_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$xPosition15);
    ji_DataOutputStream_write($par1DataOutputStream, $this.$yPosition14);
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$zPosition14);
    ji_DataOutputStream_write($par1DataOutputStream, $this.$direction0);
    nms_Packet_writeItemStack($this.$itemStack2, $par1DataOutputStream);
    ji_DataOutputStream_write($par1DataOutputStream, $this.$xOffset0 * 16.0 | 0);
    ji_DataOutputStream_write($par1DataOutputStream, $this.$yOffset1 * 16.0 | 0);
    ji_DataOutputStream_write($par1DataOutputStream, $this.$zOffset0 * 16.0 | 0);
};
$java.nms_Packet15Place_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet15Place_getPacketSize = function($this) {
    return 19;
};
function nms_Packet16BlockItemSwitch() {
    nms_Packet.call(this);
    this.$id8 = 0;
}
$java.nms_Packet16BlockItemSwitch__init_ = function() {
    var var_0 = new nms_Packet16BlockItemSwitch();
    nms_Packet16BlockItemSwitch__init_(var_0);
    return var_0;
};
function nms_Packet16BlockItemSwitch__init_0(var_0) {
    var var_1 = new nms_Packet16BlockItemSwitch();
    $java.nms_Packet16BlockItemSwitch__init_0(var_1, var_0);
    return var_1;
}
function nms_Packet16BlockItemSwitch__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet16BlockItemSwitch__init_0 = function($this, $par1) {
    nms_Packet__init_0($this);
    $this.$id8 = $par1;
};
$java.nms_Packet16BlockItemSwitch_readPacketData = function($this, $par1DataInputStream) {
    $this.$id8 = ji_DataInputStream_readShort($par1DataInputStream);
};
$java.nms_Packet16BlockItemSwitch_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeShort($par1DataOutputStream, $this.$id8);
};
$java.nms_Packet16BlockItemSwitch_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleBlockItemSwitch($par1NetHandler, $this);
};
$java.nms_Packet16BlockItemSwitch_getPacketSize = function($this) {
    return 2;
};
function nms_Packet17Sleep() {
    var a = this; nms_Packet.call(a);
    a.$entityID0 = 0;
    a.$bedX = 0;
    a.$bedY = 0;
    a.$bedZ = 0;
    a.$field_73622_e = 0;
}
$java.nms_Packet17Sleep__init_ = function() {
    var var_0 = new nms_Packet17Sleep();
    nms_Packet17Sleep__init_(var_0);
    return var_0;
};
function nms_Packet17Sleep__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet17Sleep_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityID0 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$field_73622_e = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$bedX = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$bedY = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$bedZ = ji_DataInputStream_readInt($par1DataInputStream);
};
$java.nms_Packet17Sleep_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleSleep($par1NetHandler, $this);
};
$java.nms_Packet17Sleep_getPacketSize = function($this) {
    return 14;
};
function nms_Packet18Animation() {
    var a = this; nms_Packet.call(a);
    a.$entityId0 = 0;
    a.$animate = 0;
}
$java.nms_Packet18Animation__init_ = function() {
    var var_0 = new nms_Packet18Animation();
    nms_Packet18Animation__init_(var_0);
    return var_0;
};
function nms_Packet18Animation__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet18Animation_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId0 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$animate = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet18Animation_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$entityId0);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$animate);
};
$java.nms_Packet18Animation_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleAnimation($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet18Animation_getPacketSize = function($this) {
    return 5;
};
function nms_Packet19EntityAction() {
    var a = this; nms_Packet.call(a);
    a.$entityId17 = 0;
    a.$state2 = 0;
}
$java.nms_Packet19EntityAction__init_ = function() {
    var var_0 = new nms_Packet19EntityAction();
    nms_Packet19EntityAction__init_(var_0);
    return var_0;
};
function nms_Packet19EntityAction__init_0(var_0, var_1) {
    var var_2 = new nms_Packet19EntityAction();
    $java.nms_Packet19EntityAction__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_Packet19EntityAction__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet19EntityAction__init_0 = function($this, $par1Entity, $par2) {
    nms_Packet__init_0($this);
    $this.$entityId17 = $par1Entity.$entityId;
    $this.$state2 = $par2;
};
$java.nms_Packet19EntityAction_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId17 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$state2 = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet19EntityAction_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$entityId17);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$state2);
};
$java.nms_Packet19EntityAction_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet19EntityAction_getPacketSize = function($this) {
    return 5;
};
function nms_Packet20NamedEntitySpawn() {
    var a = this; nms_Packet.call(a);
    a.$entityId6 = 0;
    a.$name15 = null;
    a.$xPosition5 = 0;
    a.$yPosition5 = 0;
    a.$zPosition4 = 0;
    a.$rotation = 0;
    a.$pitch2 = 0;
    a.$currentItem0 = 0;
    a.$metadata2 = null;
    a.$metadataWatchableObjects = null;
}
$java.nms_Packet20NamedEntitySpawn__init_ = function() {
    var var_0 = new nms_Packet20NamedEntitySpawn();
    nms_Packet20NamedEntitySpawn__init_(var_0);
    return var_0;
};
function nms_Packet20NamedEntitySpawn__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet20NamedEntitySpawn_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId6 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$name15 = nms_Packet_readString($par1DataInputStream, 16);
    $this.$xPosition5 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition5 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$zPosition4 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$rotation = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$pitch2 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$currentItem0 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$metadataWatchableObjects = $java.nms_DataWatcher_readWatchableObjects($par1DataInputStream);
};
$java.nms_Packet20NamedEntitySpawn_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleNamedEntitySpawn($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet20NamedEntitySpawn_getPacketSize = function($this) {
    return 28;
};
$java.nms_Packet20NamedEntitySpawn_getWatchedMetadata = function($this) {
    if ($this.$metadataWatchableObjects === null)
        $this.$metadataWatchableObjects = $this.$metadata2.$getAllWatched();
    return $this.$metadataWatchableObjects;
};
function nms_Packet22Collect() {
    var a = this; nms_Packet.call(a);
    a.$collectedEntityId = 0;
    a.$collectorEntityId = 0;
}
$java.nms_Packet22Collect__init_ = function() {
    var var_0 = new nms_Packet22Collect();
    nms_Packet22Collect__init_(var_0);
    return var_0;
};
function nms_Packet22Collect__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet22Collect_readPacketData = function($this, $par1DataInputStream) {
    $this.$collectedEntityId = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$collectorEntityId = ji_DataInputStream_readInt($par1DataInputStream);
};
$java.nms_Packet22Collect_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleCollect($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet22Collect_getPacketSize = function($this) {
    return 8;
};
function nms_Packet23VehicleSpawn() {
    var a = this; nms_Packet.call(a);
    a.$entityId1 = 0;
    a.$xPosition3 = 0;
    a.$yPosition3 = 0;
    a.$zPosition2 = 0;
    a.$speedX = 0;
    a.$speedY = 0;
    a.$speedZ = 0;
    a.$pitch1 = 0;
    a.$yaw0 = 0;
    a.$type2 = 0;
    a.$throwerEntityId = 0;
}
$java.nms_Packet23VehicleSpawn__init_ = function() {
    var var_0 = new nms_Packet23VehicleSpawn();
    nms_Packet23VehicleSpawn__init_(var_0);
    return var_0;
};
function nms_Packet23VehicleSpawn__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet23VehicleSpawn_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId1 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$type2 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$xPosition3 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition3 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$zPosition2 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$pitch1 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$yaw0 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$throwerEntityId = ji_DataInputStream_readInt($par1DataInputStream);
    if ($this.$throwerEntityId > 0) {
        $this.$speedX = ji_DataInputStream_readShort($par1DataInputStream);
        $this.$speedY = ji_DataInputStream_readShort($par1DataInputStream);
        $this.$speedZ = ji_DataInputStream_readShort($par1DataInputStream);
    }
};
$java.nms_Packet23VehicleSpawn_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleVehicleSpawn($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet23VehicleSpawn_getPacketSize = function($this) {
    return (21 + $this.$throwerEntityId | 0) <= 0 ? 0 : 6;
};
function nms_Packet24MobSpawn() {
    var a = this; nms_Packet.call(a);
    a.$entityId11 = 0;
    a.$type4 = 0;
    a.$xPosition10 = 0;
    a.$yPosition9 = 0;
    a.$zPosition9 = 0;
    a.$velocityX2 = 0;
    a.$velocityY2 = 0;
    a.$velocityZ2 = 0;
    a.$yaw3 = 0;
    a.$pitch5 = 0;
    a.$headYaw = 0;
    a.$metaData = null;
    a.$metadata3 = null;
}
$java.nms_Packet24MobSpawn__init_ = function() {
    var var_0 = new nms_Packet24MobSpawn();
    nms_Packet24MobSpawn__init_(var_0);
    return var_0;
};
function nms_Packet24MobSpawn__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet24MobSpawn_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId11 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$type4 = ji_DataInputStream_readByte($par1DataInputStream) & 255;
    $this.$xPosition10 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition9 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$zPosition9 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yaw3 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$pitch5 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$headYaw = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$velocityX2 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$velocityY2 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$velocityZ2 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$metadata3 = $java.nms_DataWatcher_readWatchableObjects($par1DataInputStream);
};
$java.nms_Packet24MobSpawn_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleMobSpawn($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet24MobSpawn_getPacketSize = function($this) {
    return 26;
};
$java.nms_Packet24MobSpawn_getMetadata = function($this) {
    if ($this.$metadata3 === null)
        $this.$metadata3 = $this.$metaData.$getAllWatched();
    return $this.$metadata3;
};
function nms_Packet25EntityPainting() {
    var a = this; nms_Packet.call(a);
    a.$entityId3 = 0;
    a.$xPosition4 = 0;
    a.$yPosition4 = 0;
    a.$zPosition3 = 0;
    a.$direction = 0;
    a.$title = null;
}
$java.nms_Packet25EntityPainting__init_ = function() {
    var var_0 = new nms_Packet25EntityPainting();
    nms_Packet25EntityPainting__init_(var_0);
    return var_0;
};
function nms_Packet25EntityPainting__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet25EntityPainting_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId3 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$title = nms_Packet_readString($par1DataInputStream, $java.nms_EnumArt_maxArtTitleLength);
    $this.$xPosition4 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition4 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$zPosition3 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$direction = ji_DataInputStream_readInt($par1DataInputStream);
};
$java.nms_Packet25EntityPainting_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleEntityPainting($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet25EntityPainting_getPacketSize = function($this) {
    return 24;
};
function nms_Packet26EntityExpOrb() {
    var a = this; nms_Packet.call(a);
    a.$entityId2 = 0;
    a.$posX6 = 0;
    a.$posY6 = 0;
    a.$posZ4 = 0;
    a.$xpValue0 = 0;
}
$java.nms_Packet26EntityExpOrb__init_ = function() {
    var var_0 = new nms_Packet26EntityExpOrb();
    nms_Packet26EntityExpOrb__init_(var_0);
    return var_0;
};
function nms_Packet26EntityExpOrb__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet26EntityExpOrb_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId2 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$posX6 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$posY6 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$posZ4 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$xpValue0 = ji_DataInputStream_readShort($par1DataInputStream);
};
$java.nms_Packet26EntityExpOrb_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleEntityExpOrb($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet26EntityExpOrb_getPacketSize = function($this) {
    return 18;
};
function nms_Packet28EntityVelocity() {
    var a = this; nms_Packet.call(a);
    a.$entityId4 = 0;
    a.$motionX0 = 0;
    a.$motionY0 = 0;
    a.$motionZ0 = 0;
}
$java.nms_Packet28EntityVelocity__init_ = function() {
    var var_0 = new nms_Packet28EntityVelocity();
    nms_Packet28EntityVelocity__init_(var_0);
    return var_0;
};
function nms_Packet28EntityVelocity__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet28EntityVelocity_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId4 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$motionX0 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$motionY0 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$motionZ0 = ji_DataInputStream_readShort($par1DataInputStream);
};
$java.nms_Packet28EntityVelocity_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleEntityVelocity($par1NetHandler, $this);
};
$java.nms_Packet28EntityVelocity_getPacketSize = function($this) {
    return 10;
};
function nms_Packet29DestroyEntity() {
    nms_Packet.call(this);
    this.$entityId10 = null;
}
$java.nms_Packet29DestroyEntity__init_ = function() {
    var var_0 = new nms_Packet29DestroyEntity();
    nms_Packet29DestroyEntity__init_(var_0);
    return var_0;
};
function nms_Packet29DestroyEntity__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet29DestroyEntity_readPacketData = function($this, $par1DataInputStream) {
    var $var2;
    $this.$entityId10 = $rt_createIntArray(ji_DataInputStream_readByte($par1DataInputStream));
    $var2 = 0;
    while ($var2 < $this.$entityId10.data.length) {
        $this.$entityId10.data[$var2] = ji_DataInputStream_readInt($par1DataInputStream);
        $var2 = $var2 + 1 | 0;
    }
};
$java.nms_Packet29DestroyEntity_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleDestroyEntity($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet29DestroyEntity_getPacketSize = function($this) {
    return 1 + ($this.$entityId10.data.length * 4 | 0) | 0;
};
function nms_Packet30Entity() {
    var a = this; nms_Packet.call(a);
    a.$entityId8 = 0;
    a.$xPosition7 = 0;
    a.$yPosition7 = 0;
    a.$zPosition6 = 0;
    a.$yaw2 = 0;
    a.$pitch4 = 0;
    a.$rotating0 = 0;
}
$java.nms_Packet30Entity__init_ = function() {
    var var_0 = new nms_Packet30Entity();
    nms_Packet30Entity__init_(var_0);
    return var_0;
};
function nms_Packet30Entity__init_($this) {
    nms_Packet__init_0($this);
    $this.$rotating0 = 0;
}
$java.nms_Packet30Entity_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId8 = ji_DataInputStream_readInt($par1DataInputStream);
};
$java.nms_Packet30Entity_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleEntity($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet30Entity_getPacketSize = function($this) {
    return 4;
};
function nms_Packet31RelEntityMove() {
    nms_Packet30Entity.call(this);
}
$java.nms_Packet31RelEntityMove__init_ = function() {
    var var_0 = new nms_Packet31RelEntityMove();
    nms_Packet31RelEntityMove__init_(var_0);
    return var_0;
};
function nms_Packet31RelEntityMove__init_($this) {
    nms_Packet30Entity__init_($this);
}
$java.nms_Packet31RelEntityMove_readPacketData = function($this, $par1DataInputStream) {
    $java.nms_Packet30Entity_readPacketData($this, $par1DataInputStream);
    $this.$xPosition7 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$yPosition7 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$zPosition6 = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet31RelEntityMove_getPacketSize = function($this) {
    return 7;
};
function nms_Packet32EntityLook() {
    nms_Packet30Entity.call(this);
}
$java.nms_Packet32EntityLook__init_ = function() {
    var var_0 = new nms_Packet32EntityLook();
    nms_Packet32EntityLook__init_(var_0);
    return var_0;
};
function nms_Packet32EntityLook__init_($this) {
    nms_Packet30Entity__init_($this);
    $this.$rotating0 = 1;
}
$java.nms_Packet32EntityLook_readPacketData = function($this, $par1DataInputStream) {
    $java.nms_Packet30Entity_readPacketData($this, $par1DataInputStream);
    $this.$yaw2 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$pitch4 = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet32EntityLook_getPacketSize = function($this) {
    return 6;
};
function nms_Packet33RelEntityMoveLook() {
    nms_Packet30Entity.call(this);
}
$java.nms_Packet33RelEntityMoveLook__init_ = function() {
    var var_0 = new nms_Packet33RelEntityMoveLook();
    nms_Packet33RelEntityMoveLook__init_(var_0);
    return var_0;
};
function nms_Packet33RelEntityMoveLook__init_($this) {
    nms_Packet30Entity__init_($this);
    $this.$rotating0 = 1;
}
$java.nms_Packet33RelEntityMoveLook_readPacketData = function($this, $par1DataInputStream) {
    $java.nms_Packet30Entity_readPacketData($this, $par1DataInputStream);
    $this.$xPosition7 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$yPosition7 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$zPosition6 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$yaw2 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$pitch4 = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet33RelEntityMoveLook_getPacketSize = function($this) {
    return 9;
};
function nms_Packet34EntityTeleport() {
    var a = this; nms_Packet.call(a);
    a.$entityId7 = 0;
    a.$xPosition6 = 0;
    a.$yPosition6 = 0;
    a.$zPosition5 = 0;
    a.$yaw1 = 0;
    a.$pitch3 = 0;
}
$java.nms_Packet34EntityTeleport__init_ = function() {
    var var_0 = new nms_Packet34EntityTeleport();
    nms_Packet34EntityTeleport__init_(var_0);
    return var_0;
};
function nms_Packet34EntityTeleport__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet34EntityTeleport_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId7 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$xPosition6 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition6 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$zPosition5 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yaw1 = ji_FilterInputStream_read($par1DataInputStream) << 24 >> 24;
    $this.$pitch3 = ji_FilterInputStream_read($par1DataInputStream) << 24 >> 24;
};
$java.nms_Packet34EntityTeleport_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleEntityTeleport($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet34EntityTeleport_getPacketSize = function($this) {
    return 34;
};
function nms_Packet35EntityHeadRotation() {
    var a = this; nms_Packet.call(a);
    a.$entityId9 = 0;
    a.$headRotationYaw = 0;
}
$java.nms_Packet35EntityHeadRotation__init_ = function() {
    var var_0 = new nms_Packet35EntityHeadRotation();
    nms_Packet35EntityHeadRotation__init_(var_0);
    return var_0;
};
function nms_Packet35EntityHeadRotation__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet35EntityHeadRotation_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId9 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$headRotationYaw = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet35EntityHeadRotation_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleEntityHeadRotation($par1NetHandler, $this);
};
$java.nms_Packet35EntityHeadRotation_getPacketSize = function($this) {
    return 5;
};
function nms_Packet38EntityStatus() {
    var a = this; nms_Packet.call(a);
    a.$entityId13 = 0;
    a.$entityStatus = 0;
}
$java.nms_Packet38EntityStatus__init_ = function() {
    var var_0 = new nms_Packet38EntityStatus();
    nms_Packet38EntityStatus__init_(var_0);
    return var_0;
};
function nms_Packet38EntityStatus__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet38EntityStatus_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId13 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$entityStatus = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet38EntityStatus_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleEntityStatus($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet38EntityStatus_getPacketSize = function($this) {
    return 5;
};
function nms_Packet39AttachEntity() {
    var a = this; nms_Packet.call(a);
    a.$entityId12 = 0;
    a.$vehicleEntityId = 0;
}
$java.nms_Packet39AttachEntity__init_ = function() {
    var var_0 = new nms_Packet39AttachEntity();
    nms_Packet39AttachEntity__init_(var_0);
    return var_0;
};
function nms_Packet39AttachEntity__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet39AttachEntity_getPacketSize = function($this) {
    return 8;
};
$java.nms_Packet39AttachEntity_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId12 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$vehicleEntityId = ji_DataInputStream_readInt($par1DataInputStream);
};
$java.nms_Packet39AttachEntity_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleAttachEntity($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
function nms_Packet40EntityMetadata() {
    var a = this; nms_Packet.call(a);
    a.$entityId5 = 0;
    a.$metadata0 = null;
}
$java.nms_Packet40EntityMetadata__init_ = function() {
    var var_0 = new nms_Packet40EntityMetadata();
    nms_Packet40EntityMetadata__init_(var_0);
    return var_0;
};
function nms_Packet40EntityMetadata__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet40EntityMetadata_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId5 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$metadata0 = $java.nms_DataWatcher_readWatchableObjects($par1DataInputStream);
};
$java.nms_Packet40EntityMetadata_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleEntityMetadata($par1NetHandler, $this);
};
$java.nms_Packet40EntityMetadata_getPacketSize = function($this) {
    return 5;
};
$java.nms_Packet40EntityMetadata_getMetadata = function($this) {
    return $this.$metadata0;
};
function nms_Packet41EntityEffect() {
    var a = this; nms_Packet.call(a);
    a.$entityId15 = 0;
    a.$effectId1 = 0;
    a.$effectAmplifier = 0;
    a.$duration0 = 0;
}
$java.nms_Packet41EntityEffect__init_ = function() {
    var var_0 = new nms_Packet41EntityEffect();
    nms_Packet41EntityEffect__init_(var_0);
    return var_0;
};
function nms_Packet41EntityEffect__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet41EntityEffect_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId15 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$effectId1 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$effectAmplifier = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$duration0 = ji_DataInputStream_readShort($par1DataInputStream);
};
$java.nms_Packet41EntityEffect_isDurationMax = function($this) {
    return $this.$duration0 != 32767 ? 0 : 1;
};
$java.nms_Packet41EntityEffect_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleEntityEffect($par1NetHandler, $this);
};
$java.nms_Packet41EntityEffect_getPacketSize = function($this) {
    return 8;
};
function nms_Packet42RemoveEntityEffect() {
    var a = this; nms_Packet.call(a);
    a.$entityId16 = 0;
    a.$effectId2 = 0;
}
$java.nms_Packet42RemoveEntityEffect__init_ = function() {
    var var_0 = new nms_Packet42RemoveEntityEffect();
    nms_Packet42RemoveEntityEffect__init_(var_0);
    return var_0;
};
function nms_Packet42RemoveEntityEffect__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet42RemoveEntityEffect_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId16 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$effectId2 = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet42RemoveEntityEffect_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleRemoveEntityEffect($par1NetHandler, $this);
};
$java.nms_Packet42RemoveEntityEffect_getPacketSize = function($this) {
    return 5;
};
function nms_Packet43Experience() {
    var a = this; nms_Packet.call(a);
    a.$experience0 = 0.0;
    a.$experienceTotal0 = 0;
    a.$experienceLevel0 = 0;
}
$java.nms_Packet43Experience__init_ = function() {
    var var_0 = new nms_Packet43Experience();
    nms_Packet43Experience__init_(var_0);
    return var_0;
};
function nms_Packet43Experience__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet43Experience_readPacketData = function($this, $par1DataInputStream) {
    $this.$experience0 = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$experienceLevel0 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$experienceTotal0 = ji_DataInputStream_readShort($par1DataInputStream);
};
$java.nms_Packet43Experience_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleExperience($par1NetHandler, $this);
};
$java.nms_Packet43Experience_getPacketSize = function($this) {
    return 4;
};
function nms_Packet51MapChunk() {
    var a = this; nms_Packet.call(a);
    a.$xCh = 0;
    a.$zCh = 0;
    a.$yChMin = 0;
    a.$yChMax = 0;
    a.$compressedChunkData = null;
    a.$includeInitialize = 0;
    a.$tempLength = 0;
}
$java.nms_Packet51MapChunk_temp = null;
$java.nms_Packet51MapChunk__init_ = function() {
    var var_0 = new nms_Packet51MapChunk();
    nms_Packet51MapChunk__init_(var_0);
    return var_0;
};
function nms_Packet51MapChunk__init_($this) {
    nms_Packet__init_0($this);
    $this.$isChunkDataPacket = 1;
}
$java.nms_Packet51MapChunk_readPacketData = function($this, $par1DataInputStream) {
    var $var3;
    $this.$xCh = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$zCh = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$includeInitialize = ji_DataInputStream_readBoolean($par1DataInputStream);
    $this.$yChMin = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$yChMax = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$tempLength = ji_DataInputStream_readInt($par1DataInputStream);
    if ($java.nms_Packet51MapChunk_temp.data.length < $this.$tempLength)
        $java.nms_Packet51MapChunk_temp = $rt_createByteArray($this.$tempLength);
    ji_DataInputStream_readFully0($par1DataInputStream, $java.nms_Packet51MapChunk_temp, 0, $this.$tempLength);
    $var3 = 0;
    while ($var3 < 16) {
        $var3 = $var3 + 1 | 0;
    }
    $this.$compressedChunkData = $java.nle_EaglerInflater_uncompress($java.nms_Packet51MapChunk_temp);
};
$java.nms_Packet51MapChunk_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleMapChunk($par1NetHandler, $this);
};
$java.nms_Packet51MapChunk_getPacketSize = function($this) {
    return 17 + $this.$tempLength | 0;
};
$java.nms_Packet51MapChunk_getCompressedChunkData = function($this) {
    return $this.$compressedChunkData;
};
function nms_Packet51MapChunk__clinit_() {
    $java.nms_Packet51MapChunk_temp = $rt_createByteArray(196864);
}
function nms_Packet52MultiBlockChange() {
    var a = this; nms_Packet.call(a);
    a.$xPosition8 = 0;
    a.$zPosition7 = 0;
    a.$metadataArray = null;
    a.$size8 = 0;
}
$java.nms_Packet52MultiBlockChange_field_73449_e = null;
$java.nms_Packet52MultiBlockChange__init_ = function() {
    var var_0 = new nms_Packet52MultiBlockChange();
    nms_Packet52MultiBlockChange__init_(var_0);
    return var_0;
};
function nms_Packet52MultiBlockChange__init_($this) {
    nms_Packet__init_0($this);
    $this.$isChunkDataPacket = 1;
}
$java.nms_Packet52MultiBlockChange_readPacketData = function($this, $par1DataInputStream) {
    var $var2;
    $this.$xPosition8 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$zPosition7 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$size8 = ji_DataInputStream_readShort($par1DataInputStream) & 65535;
    $var2 = ji_DataInputStream_readInt($par1DataInputStream);
    if ($var2 > 0) {
        $this.$metadataArray = $rt_createByteArray($var2);
        ji_DataInputStream_readFully($par1DataInputStream, $this.$metadataArray);
    }
};
$java.nms_Packet52MultiBlockChange_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleMultiBlockChange($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet52MultiBlockChange_getPacketSize = function($this) {
    return 10 + ($this.$size8 * 4 | 0) | 0;
};
function nms_Packet52MultiBlockChange__clinit_() {
    $java.nms_Packet52MultiBlockChange_field_73449_e = $rt_createByteArray(0);
}
function nms_Packet53BlockChange() {
    var a = this; nms_Packet.call(a);
    a.$xPosition9 = 0;
    a.$yPosition8 = 0;
    a.$zPosition8 = 0;
    a.$type3 = 0;
    a.$metadata1 = 0;
}
$java.nms_Packet53BlockChange__init_ = function() {
    var var_0 = new nms_Packet53BlockChange();
    nms_Packet53BlockChange__init_(var_0);
    return var_0;
};
function nms_Packet53BlockChange__init_($this) {
    nms_Packet__init_0($this);
    $this.$isChunkDataPacket = 1;
}
$java.nms_Packet53BlockChange_readPacketData = function($this, $par1DataInputStream) {
    $this.$xPosition9 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition8 = ji_FilterInputStream_read($par1DataInputStream);
    $this.$zPosition8 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$type3 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$metadata1 = ji_FilterInputStream_read($par1DataInputStream);
};
$java.nms_Packet53BlockChange_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleBlockChange($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet53BlockChange_getPacketSize = function($this) {
    return 11;
};
function nms_Packet54PlayNoteBlock() {
    var a = this; nms_Packet.call(a);
    a.$xLocation = 0;
    a.$yLocation = 0;
    a.$zLocation = 0;
    a.$instrumentType = 0;
    a.$pitch6 = 0;
    a.$blockId = 0;
}
$java.nms_Packet54PlayNoteBlock__init_ = function() {
    var var_0 = new nms_Packet54PlayNoteBlock();
    nms_Packet54PlayNoteBlock__init_(var_0);
    return var_0;
};
function nms_Packet54PlayNoteBlock__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet54PlayNoteBlock_readPacketData = function($this, $par1DataInputStream) {
    $this.$xLocation = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yLocation = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$zLocation = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$instrumentType = ji_FilterInputStream_read($par1DataInputStream);
    $this.$pitch6 = ji_FilterInputStream_read($par1DataInputStream);
    $this.$blockId = ji_DataInputStream_readShort($par1DataInputStream) & 4095;
};
$java.nms_Packet54PlayNoteBlock_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleBlockEvent($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet54PlayNoteBlock_getPacketSize = function($this) {
    return 14;
};
function nms_Packet55BlockDestroy() {
    var a = this; nms_Packet.call(a);
    a.$entityId14 = 0;
    a.$posX8 = 0;
    a.$posY8 = 0;
    a.$posZ6 = 0;
    a.$destroyedStage = 0;
}
$java.nms_Packet55BlockDestroy__init_ = function() {
    var var_0 = new nms_Packet55BlockDestroy();
    nms_Packet55BlockDestroy__init_(var_0);
    return var_0;
};
function nms_Packet55BlockDestroy__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet55BlockDestroy_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityId14 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$posX8 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$posY8 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$posZ6 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$destroyedStage = ji_FilterInputStream_read($par1DataInputStream);
};
$java.nms_Packet55BlockDestroy_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleBlockDestroy($par1NetHandler, $this);
};
$java.nms_Packet55BlockDestroy_getPacketSize = function($this) {
    return 13;
};
$java.nms_Packet55BlockDestroy_getEntityId = function($this) {
    return $this.$entityId14;
};
$java.nms_Packet55BlockDestroy_getPosX = function($this) {
    return $this.$posX8;
};
$java.nms_Packet55BlockDestroy_getPosY = function($this) {
    return $this.$posY8;
};
$java.nms_Packet55BlockDestroy_getPosZ = function($this) {
    return $this.$posZ6;
};
$java.nms_Packet55BlockDestroy_getDestroyedStage = function($this) {
    return $this.$destroyedStage;
};
function nms_Packet56MapChunks() {
    var a = this; nms_Packet.call(a);
    a.$chunkPostX = null;
    a.$chunkPosZ = null;
    a.$field_73590_a = null;
    a.$field_73588_b = null;
    a.$field_73584_f = null;
    a.$dataLength = 0;
    a.$skyLightSent = 0;
}
$java.nms_Packet56MapChunks_chunkDataNotCompressed = null;
$java.nms_Packet56MapChunks__init_ = function() {
    var var_0 = new nms_Packet56MapChunks();
    nms_Packet56MapChunks__init_(var_0);
    return var_0;
};
function nms_Packet56MapChunks__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet56MapChunks_readPacketData = function($this, $par1DataInputStream) {
    var $var2, $var3, $var5, $var6, $var7, $var8, $var9, var$9;
    $var2 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$dataLength = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$skyLightSent = ji_DataInputStream_readBoolean($par1DataInputStream);
    $this.$chunkPostX = $rt_createIntArray($var2);
    $this.$chunkPosZ = $rt_createIntArray($var2);
    $this.$field_73590_a = $rt_createIntArray($var2);
    $this.$field_73588_b = $rt_createIntArray($var2);
    $this.$field_73584_f = $rt_createArray($rt_arraycls($rt_bytecls()), $var2);
    if ($java.nms_Packet56MapChunks_chunkDataNotCompressed.data.length < $this.$dataLength)
        $java.nms_Packet56MapChunks_chunkDataNotCompressed = $rt_createByteArray($this.$dataLength);
    ji_DataInputStream_readFully0($par1DataInputStream, $java.nms_Packet56MapChunks_chunkDataNotCompressed, 0, $this.$dataLength);
    $var3 = $java.nle_EaglerInflater_uncompress($java.nms_Packet56MapChunks_chunkDataNotCompressed);
    $var5 = 0;
    $var6 = 0;
    while ($var6 < $var2) {
        $this.$chunkPostX.data[$var6] = ji_DataInputStream_readInt($par1DataInputStream);
        $this.$chunkPosZ.data[$var6] = ji_DataInputStream_readInt($par1DataInputStream);
        $this.$field_73590_a.data[$var6] = ji_DataInputStream_readShort($par1DataInputStream);
        $this.$field_73588_b.data[$var6] = ji_DataInputStream_readShort($par1DataInputStream);
        $var7 = 0;
        $var8 = 0;
        $var9 = 0;
        while ($var9 < 16) {
            $var7 = $var7 + ($this.$field_73590_a.data[$var6] >> $var9 & 1) | 0;
            $var8 = $var8 + ($this.$field_73588_b.data[$var6] >> $var9 & 1) | 0;
            $var9 = $var9 + 1 | 0;
        }
        var$9 = ((8192 * $var7 | 0) + 256 | 0) + (2048 * $var8 | 0) | 0;
        if ($this.$skyLightSent)
            var$9 = var$9 + (2048 * $var7 | 0) | 0;
        $this.$field_73584_f.data[$var6] = $rt_createByteArray(var$9);
        jl_System_arraycopy($var3, $var5, $this.$field_73584_f.data[$var6], 0, var$9);
        $var5 = $var5 + var$9 | 0;
        $var6 = $var6 + 1 | 0;
    }
};
$java.nms_Packet56MapChunks_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleMapChunks($par1NetHandler, $this);
};
$java.nms_Packet56MapChunks_getPacketSize = function($this) {
    return (6 + $this.$dataLength | 0) + (12 * $java.nms_Packet56MapChunks_getNumberOfChunkInPacket($this) | 0) | 0;
};
$java.nms_Packet56MapChunks_getChunkPosX = function($this, $par1) {
    return $this.$chunkPostX.data[$par1];
};
$java.nms_Packet56MapChunks_getChunkPosZ = function($this, $par1) {
    return $this.$chunkPosZ.data[$par1];
};
$java.nms_Packet56MapChunks_getNumberOfChunkInPacket = function($this) {
    return $this.$chunkPostX.data.length;
};
$java.nms_Packet56MapChunks_getChunkCompressedData = function($this, $par1) {
    return $this.$field_73584_f.data[$par1];
};
function nms_Packet56MapChunks__clinit_() {
    $java.nms_Packet56MapChunks_chunkDataNotCompressed = $rt_createByteArray(0);
}
function nms_Packet60Explosion() {
    var a = this; nms_Packet.call(a);
    a.$explosionX = 0.0;
    a.$explosionY = 0.0;
    a.$explosionZ = 0.0;
    a.$explosionSize = 0.0;
    a.$chunkPositionRecords = null;
    a.$playerVelocityX = 0.0;
    a.$playerVelocityY = 0.0;
    a.$playerVelocityZ = 0.0;
}
$java.nms_Packet60Explosion__init_ = function() {
    var var_0 = new nms_Packet60Explosion();
    nms_Packet60Explosion__init_(var_0);
    return var_0;
};
function nms_Packet60Explosion__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet60Explosion_readPacketData = function($this, $par1DataInputStream) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9;
    $this.$explosionX = ji_DataInputStream_readDouble($par1DataInputStream);
    $this.$explosionY = ji_DataInputStream_readDouble($par1DataInputStream);
    $this.$explosionZ = ji_DataInputStream_readDouble($par1DataInputStream);
    $this.$explosionSize = ji_DataInputStream_readFloat($par1DataInputStream);
    $var2 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$chunkPositionRecords = ju_ArrayList__init_1($var2);
    $var3 = $this.$explosionX | 0;
    $var4 = $this.$explosionY | 0;
    $var5 = $this.$explosionZ | 0;
    $var6 = 0;
    while ($var6 < $var2) {
        $var7 = ji_DataInputStream_readByte($par1DataInputStream) + $var3 | 0;
        $var8 = ji_DataInputStream_readByte($par1DataInputStream) + $var4 | 0;
        $var9 = ji_DataInputStream_readByte($par1DataInputStream) + $var5 | 0;
        ju_ArrayList_add($this.$chunkPositionRecords, $java.nms_ChunkPosition__init_($var7, $var8, $var9));
        $var6 = $var6 + 1 | 0;
    }
    $this.$playerVelocityX = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$playerVelocityY = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$playerVelocityZ = ji_DataInputStream_readFloat($par1DataInputStream);
};
$java.nms_Packet60Explosion_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleExplosion($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet60Explosion_getPacketSize = function($this) {
    return (32 + ($this.$chunkPositionRecords.$size * 3 | 0) | 0) + 3 | 0;
};
$java.nms_Packet60Explosion_getPlayerVelocityX = function($this) {
    return $this.$playerVelocityX;
};
$java.nms_Packet60Explosion_getPlayerVelocityY = function($this) {
    return $this.$playerVelocityY;
};
$java.nms_Packet60Explosion_getPlayerVelocityZ = function($this) {
    return $this.$playerVelocityZ;
};
function nms_Packet61DoorChange() {
    var a = this; nms_Packet.call(a);
    a.$sfxID = 0;
    a.$auxData = 0;
    a.$posX9 = 0;
    a.$posY9 = 0;
    a.$posZ7 = 0;
    a.$disableRelativeVolume = 0;
}
$java.nms_Packet61DoorChange__init_ = function() {
    var var_0 = new nms_Packet61DoorChange();
    nms_Packet61DoorChange__init_(var_0);
    return var_0;
};
function nms_Packet61DoorChange__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet61DoorChange_readPacketData = function($this, $par1DataInputStream) {
    $this.$sfxID = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$posX9 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$posY9 = ji_DataInputStream_readByte($par1DataInputStream) & 255;
    $this.$posZ7 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$auxData = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$disableRelativeVolume = ji_DataInputStream_readBoolean($par1DataInputStream);
};
$java.nms_Packet61DoorChange_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleDoorChange($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet61DoorChange_getPacketSize = function($this) {
    return 21;
};
$java.nms_Packet61DoorChange_getRelativeVolumeDisabled = function($this) {
    return $this.$disableRelativeVolume;
};
function nms_Packet62LevelSound() {
    var a = this; nms_Packet.call(a);
    a.$soundName = null;
    a.$effectX = 0;
    a.$effectY = 0;
    a.$effectZ = 0;
    a.$volume0 = 0.0;
    a.$pitch7 = 0;
}
$java.nms_Packet62LevelSound__init_ = function() {
    var var_0 = new nms_Packet62LevelSound();
    nms_Packet62LevelSound__init_(var_0);
    return var_0;
};
function nms_Packet62LevelSound__init_($this) {
    nms_Packet__init_0($this);
    $this.$effectY = 2147483647;
}
$java.nms_Packet62LevelSound_readPacketData = function($this, $par1DataInputStream) {
    $this.$soundName = nms_Packet_readString($par1DataInputStream, 32);
    $this.$effectX = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$effectY = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$effectZ = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$volume0 = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$pitch7 = ji_DataInputStream_readUnsignedByte($par1DataInputStream);
};
$java.nms_Packet62LevelSound_getSoundName = function($this) {
    return $this.$soundName;
};
$java.nms_Packet62LevelSound_getEffectX = function($this) {
    return $this.$effectX / 8.0;
};
$java.nms_Packet62LevelSound_getEffectY = function($this) {
    return $this.$effectY / 8.0;
};
$java.nms_Packet62LevelSound_getEffectZ = function($this) {
    return $this.$effectZ / 8.0;
};
$java.nms_Packet62LevelSound_getVolume = function($this) {
    return $this.$volume0;
};
$java.nms_Packet62LevelSound_getPitch = function($this) {
    return $this.$pitch7 / 63.0;
};
$java.nms_Packet62LevelSound_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleLevelSound($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet62LevelSound_getPacketSize = function($this) {
    return 24;
};
function nms_Packet63WorldParticles() {
    var a = this; nms_Packet.call(a);
    a.$particleName = null;
    a.$posX11 = 0.0;
    a.$posY11 = 0.0;
    a.$posZ8 = 0.0;
    a.$offsetX0 = 0.0;
    a.$offsetY0 = 0.0;
    a.$offsetZ = 0.0;
    a.$speed0 = 0.0;
    a.$quantity = 0;
}
$java.nms_Packet63WorldParticles__init_ = function() {
    var var_0 = new nms_Packet63WorldParticles();
    nms_Packet63WorldParticles__init_(var_0);
    return var_0;
};
function nms_Packet63WorldParticles__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet63WorldParticles_readPacketData = function($this, $par1DataInputStream) {
    $this.$particleName = nms_Packet_readString($par1DataInputStream, 64);
    $this.$posX11 = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$posY11 = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$posZ8 = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$offsetX0 = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$offsetY0 = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$offsetZ = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$speed0 = ji_DataInputStream_readFloat($par1DataInputStream);
    $this.$quantity = ji_DataInputStream_readInt($par1DataInputStream);
};
$java.nms_Packet63WorldParticles_getParticleName = function($this) {
    return $this.$particleName;
};
$java.nms_Packet63WorldParticles_getPositionX = function($this) {
    return $this.$posX11;
};
$java.nms_Packet63WorldParticles_getPositionY = function($this) {
    return $this.$posY11;
};
$java.nms_Packet63WorldParticles_getPositionZ = function($this) {
    return $this.$posZ8;
};
$java.nms_Packet63WorldParticles_getOffsetX = function($this) {
    return $this.$offsetX0;
};
$java.nms_Packet63WorldParticles_getOffsetY = function($this) {
    return $this.$offsetY0;
};
$java.nms_Packet63WorldParticles_getOffsetZ = function($this) {
    return $this.$offsetZ;
};
$java.nms_Packet63WorldParticles_getSpeed = function($this) {
    return $this.$speed0;
};
$java.nms_Packet63WorldParticles_getQuantity = function($this) {
    return $this.$quantity;
};
$java.nms_Packet63WorldParticles_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleWorldParticles($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet63WorldParticles_getPacketSize = function($this) {
    return 64;
};
function nms_Packet70GameEvent() {
    var a = this; nms_Packet.call(a);
    a.$eventType = 0;
    a.$gameMode = 0;
}
$java.nms_Packet70GameEvent_clientMessage = null;
$java.nms_Packet70GameEvent__init_ = function() {
    var var_0 = new nms_Packet70GameEvent();
    nms_Packet70GameEvent__init_(var_0);
    return var_0;
};
function nms_Packet70GameEvent__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet70GameEvent_readPacketData = function($this, $par1DataInputStream) {
    $this.$eventType = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$gameMode = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet70GameEvent_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleGameEvent($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet70GameEvent_getPacketSize = function($this) {
    return 2;
};
function nms_Packet70GameEvent__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 4);
    var$2 = var$1.data;
    var$2[0] = $rt_s(2835);
    var$2[1] = null;
    var$2[2] = null;
    var$2[3] = $rt_s(2836);
    $java.nms_Packet70GameEvent_clientMessage = var$1;
}
function nms_Packet71Weather() {
    var a = this; nms_Packet.call(a);
    a.$entityID = 0;
    a.$posX7 = 0;
    a.$posY7 = 0;
    a.$posZ5 = 0;
    a.$isLightningBolt = 0;
}
$java.nms_Packet71Weather__init_ = function() {
    var var_0 = new nms_Packet71Weather();
    nms_Packet71Weather__init_(var_0);
    return var_0;
};
function nms_Packet71Weather__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet71Weather_readPacketData = function($this, $par1DataInputStream) {
    $this.$entityID = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$isLightningBolt = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$posX7 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$posY7 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$posZ5 = ji_DataInputStream_readInt($par1DataInputStream);
};
$java.nms_Packet71Weather_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleWeather($par1NetHandler, $this);
};
$java.nms_Packet71Weather_getPacketSize = function($this) {
    return 17;
};
function nms_Packet100OpenWindow() {
    var a = this; nms_Packet.call(a);
    a.$windowId2 = 0;
    a.$inventoryType = 0;
    a.$windowTitle = null;
    a.$slotsCount0 = 0;
    a.$useProvidedWindowTitle = 0;
}
$java.nms_Packet100OpenWindow__init_ = function() {
    var var_0 = new nms_Packet100OpenWindow();
    nms_Packet100OpenWindow__init_(var_0);
    return var_0;
};
function nms_Packet100OpenWindow__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet100OpenWindow_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleOpenWindow($par1NetHandler, $this);
};
$java.nms_Packet100OpenWindow_readPacketData = function($this, $par1DataInputStream) {
    $this.$windowId2 = ji_DataInputStream_readByte($par1DataInputStream) & 255;
    $this.$inventoryType = ji_DataInputStream_readByte($par1DataInputStream) & 255;
    $this.$windowTitle = nms_Packet_readString($par1DataInputStream, 32);
    $this.$slotsCount0 = ji_DataInputStream_readByte($par1DataInputStream) & 255;
    $this.$useProvidedWindowTitle = ji_DataInputStream_readBoolean($par1DataInputStream);
};
$java.nms_Packet100OpenWindow_getPacketSize = function($this) {
    return 4 + jl_String_length($this.$windowTitle) | 0;
};
function nms_Packet101CloseWindow() {
    nms_Packet.call(this);
    this.$windowId0 = 0;
}
$java.nms_Packet101CloseWindow__init_ = function() {
    var var_0 = new nms_Packet101CloseWindow();
    nms_Packet101CloseWindow__init_(var_0);
    return var_0;
};
function nms_Packet101CloseWindow__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet101CloseWindow_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleCloseWindow($par1NetHandler, $this);
};
$java.nms_Packet101CloseWindow_readPacketData = function($this, $par1DataInputStream) {
    $this.$windowId0 = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet101CloseWindow_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$windowId0);
};
$java.nms_Packet101CloseWindow_getPacketSize = function($this) {
    return 1;
};
function nms_Packet102WindowClick() {
    var a = this; nms_Packet.call(a);
    a.$window_Id = 0;
    a.$inventorySlot = 0;
    a.$mouseClick = 0;
    a.$action = 0;
    a.$itemStack0 = null;
    a.$holdingShift = 0;
}
$java.nms_Packet102WindowClick__init_ = function() {
    var var_0 = new nms_Packet102WindowClick();
    nms_Packet102WindowClick__init_(var_0);
    return var_0;
};
function nms_Packet102WindowClick__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet102WindowClick_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet102WindowClick_readPacketData = function($this, $par1DataInputStream) {
    $this.$window_Id = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$inventorySlot = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$mouseClick = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$action = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$holdingShift = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$itemStack0 = nms_Packet_readItemStack($par1DataInputStream);
};
$java.nms_Packet102WindowClick_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$window_Id);
    ji_DataOutputStream_writeShort($par1DataOutputStream, $this.$inventorySlot);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$mouseClick);
    ji_DataOutputStream_writeShort($par1DataOutputStream, $this.$action);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$holdingShift);
    nms_Packet_writeItemStack($this.$itemStack0, $par1DataOutputStream);
};
$java.nms_Packet102WindowClick_getPacketSize = function($this) {
    return 11;
};
function nms_Packet103SetSlot() {
    var a = this; nms_Packet.call(a);
    a.$windowId3 = 0;
    a.$itemSlot = 0;
    a.$myItemStack = null;
}
$java.nms_Packet103SetSlot__init_ = function() {
    var var_0 = new nms_Packet103SetSlot();
    nms_Packet103SetSlot__init_(var_0);
    return var_0;
};
function nms_Packet103SetSlot__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet103SetSlot_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleSetSlot($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet103SetSlot_readPacketData = function($this, $par1DataInputStream) {
    $this.$windowId3 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$itemSlot = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$myItemStack = nms_Packet_readItemStack($par1DataInputStream);
};
$java.nms_Packet103SetSlot_getPacketSize = function($this) {
    return 8;
};
function nms_Packet104WindowItems() {
    var a = this; nms_Packet.call(a);
    a.$windowId5 = 0;
    a.$itemStack1 = null;
}
$java.nms_Packet104WindowItems__init_ = function() {
    var var_0 = new nms_Packet104WindowItems();
    nms_Packet104WindowItems__init_(var_0);
    return var_0;
};
function nms_Packet104WindowItems__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet104WindowItems_readPacketData = function($this, $par1DataInputStream) {
    var $var2, $var3;
    $this.$windowId5 = ji_DataInputStream_readByte($par1DataInputStream);
    $var2 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$itemStack1 = $rt_createArray(nms_ItemStack, $var2);
    $var3 = 0;
    while ($var3 < $var2) {
        $this.$itemStack1.data[$var3] = nms_Packet_readItemStack($par1DataInputStream);
        $var3 = $var3 + 1 | 0;
    }
};
$java.nms_Packet104WindowItems_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleWindowItems($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet104WindowItems_getPacketSize = function($this) {
    return 3 + ($this.$itemStack1.data.length * 5 | 0) | 0;
};
function nms_Packet105UpdateProgressbar() {
    var a = this; nms_Packet.call(a);
    a.$windowId6 = 0;
    a.$progressBar = 0;
    a.$progressBarValue = 0;
}
$java.nms_Packet105UpdateProgressbar__init_ = function() {
    var var_0 = new nms_Packet105UpdateProgressbar();
    nms_Packet105UpdateProgressbar__init_(var_0);
    return var_0;
};
function nms_Packet105UpdateProgressbar__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet105UpdateProgressbar_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleUpdateProgressbar($par1NetHandler, $this);
};
$java.nms_Packet105UpdateProgressbar_readPacketData = function($this, $par1DataInputStream) {
    $this.$windowId6 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$progressBar = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$progressBarValue = ji_DataInputStream_readShort($par1DataInputStream);
};
$java.nms_Packet105UpdateProgressbar_getPacketSize = function($this) {
    return 5;
};
function nms_Packet106Transaction() {
    var a = this; nms_Packet.call(a);
    a.$windowId4 = 0;
    a.$shortWindowId = 0;
    a.$accepted = 0;
}
$java.nms_Packet106Transaction__init_ = function() {
    var var_0 = new nms_Packet106Transaction();
    nms_Packet106Transaction__init_(var_0);
    return var_0;
};
function nms_Packet106Transaction__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet106Transaction_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleTransaction($par1NetHandler, $this);
};
$java.nms_Packet106Transaction_readPacketData = function($this, $par1DataInputStream) {
    $this.$windowId4 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$shortWindowId = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$accepted = !ji_DataInputStream_readByte($par1DataInputStream) ? 0 : 1;
};
$java.nms_Packet106Transaction_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$windowId4);
    ji_DataOutputStream_writeShort($par1DataOutputStream, $this.$shortWindowId);
    ji_DataOutputStream_writeByte($par1DataOutputStream, !$this.$accepted ? 0 : 1);
};
$java.nms_Packet106Transaction_getPacketSize = function($this) {
    return 4;
};
function nms_Packet107CreativeSetSlot() {
    var a = this; nms_Packet.call(a);
    a.$slot0 = 0;
    a.$itemStack3 = null;
}
$java.nms_Packet107CreativeSetSlot__init_ = function() {
    var var_0 = new nms_Packet107CreativeSetSlot();
    nms_Packet107CreativeSetSlot__init_(var_0);
    return var_0;
};
function nms_Packet107CreativeSetSlot__init_0(var_0, var_1) {
    var var_2 = new nms_Packet107CreativeSetSlot();
    $java.nms_Packet107CreativeSetSlot__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_Packet107CreativeSetSlot__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet107CreativeSetSlot__init_0 = function($this, $par1, $par2ItemStack) {
    nms_Packet__init_0($this);
    $this.$slot0 = $par1;
    $this.$itemStack3 = $par2ItemStack === null ? null : nms_ItemStack_copy($par2ItemStack);
};
$java.nms_Packet107CreativeSetSlot_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet107CreativeSetSlot_readPacketData = function($this, $par1DataInputStream) {
    $this.$slot0 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$itemStack3 = nms_Packet_readItemStack($par1DataInputStream);
};
$java.nms_Packet107CreativeSetSlot_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeShort($par1DataOutputStream, $this.$slot0);
    nms_Packet_writeItemStack($this.$itemStack3, $par1DataOutputStream);
};
$java.nms_Packet107CreativeSetSlot_getPacketSize = function($this) {
    return 8;
};
function nms_Packet108EnchantItem() {
    var a = this; nms_Packet.call(a);
    a.$windowId1 = 0;
    a.$enchantment = 0;
}
$java.nms_Packet108EnchantItem__init_ = function() {
    var var_0 = new nms_Packet108EnchantItem();
    nms_Packet108EnchantItem__init_(var_0);
    return var_0;
};
function nms_Packet108EnchantItem__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet108EnchantItem_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet108EnchantItem_readPacketData = function($this, $par1DataInputStream) {
    $this.$windowId1 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$enchantment = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet108EnchantItem_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$windowId1);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$enchantment);
};
$java.nms_Packet108EnchantItem_getPacketSize = function($this) {
    return 2;
};
function nms_Packet130UpdateSign() {
    var a = this; nms_Packet.call(a);
    a.$xPosition12 = 0;
    a.$yPosition11 = 0;
    a.$zPosition11 = 0;
    a.$signLines = null;
}
$java.nms_Packet130UpdateSign__init_ = function() {
    var var_0 = new nms_Packet130UpdateSign();
    nms_Packet130UpdateSign__init_(var_0);
    return var_0;
};
function nms_Packet130UpdateSign__init_($this) {
    nms_Packet__init_0($this);
    $this.$isChunkDataPacket = 1;
}
$java.nms_Packet130UpdateSign_readPacketData = function($this, $par1DataInputStream) {
    var $var2;
    $this.$xPosition12 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition11 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$zPosition11 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$signLines = $rt_createArray(jl_String, 4);
    $var2 = 0;
    while ($var2 < 4) {
        $this.$signLines.data[$var2] = nms_Packet_readString($par1DataInputStream, 15);
        $var2 = $var2 + 1 | 0;
    }
};
$java.nms_Packet130UpdateSign_writePacketData = function($this, $par1DataOutputStream) {
    var $var2;
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$xPosition12);
    ji_DataOutputStream_writeShort($par1DataOutputStream, $this.$yPosition11);
    ji_DataOutputStream_writeInt($par1DataOutputStream, $this.$zPosition11);
    $var2 = 0;
    while ($var2 < 4) {
        nms_Packet_writeString($this.$signLines.data[$var2], $par1DataOutputStream);
        $var2 = $var2 + 1 | 0;
    }
};
$java.nms_Packet130UpdateSign_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleUpdateSign($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet130UpdateSign_getPacketSize = function($this) {
    var $var1, $var2;
    $var1 = 0;
    $var2 = 0;
    while ($var2 < 4) {
        $var1 = $var1 + jl_String_length($this.$signLines.data[$var2]) | 0;
        $var2 = $var2 + 1 | 0;
    }
    return $var1;
};
function nms_Packet131MapData() {
    var a = this; nms_Packet.call(a);
    a.$itemID1 = 0;
    a.$uniqueID = 0;
    a.$itemData = null;
}
$java.nms_Packet131MapData__init_ = function() {
    var var_0 = new nms_Packet131MapData();
    nms_Packet131MapData__init_(var_0);
    return var_0;
};
function nms_Packet131MapData__init_($this) {
    nms_Packet__init_0($this);
    $this.$isChunkDataPacket = 1;
}
$java.nms_Packet131MapData_readPacketData = function($this, $par1DataInputStream) {
    $this.$itemID1 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$uniqueID = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$itemData = $rt_createByteArray(ji_DataInputStream_readUnsignedShort($par1DataInputStream));
    ji_DataInputStream_readFully($par1DataInputStream, $this.$itemData);
};
$java.nms_Packet131MapData_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleMapData($par1NetHandler, $this);
};
$java.nms_Packet131MapData_getPacketSize = function($this) {
    return 4 + $this.$itemData.data.length | 0;
};
function nms_Packet132TileEntityData() {
    var a = this; nms_Packet.call(a);
    a.$xPosition13 = 0;
    a.$yPosition12 = 0;
    a.$zPosition12 = 0;
    a.$actionType = 0;
    a.$customParam1 = null;
}
$java.nms_Packet132TileEntityData__init_ = function() {
    var var_0 = new nms_Packet132TileEntityData();
    nms_Packet132TileEntityData__init_(var_0);
    return var_0;
};
function nms_Packet132TileEntityData__init_($this) {
    nms_Packet__init_0($this);
    $this.$isChunkDataPacket = 1;
}
$java.nms_Packet132TileEntityData_readPacketData = function($this, $par1DataInputStream) {
    $this.$xPosition13 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$yPosition12 = ji_DataInputStream_readShort($par1DataInputStream);
    $this.$zPosition12 = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$actionType = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$customParam1 = nms_Packet_readNBTTagCompound($par1DataInputStream);
};
$java.nms_Packet132TileEntityData_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleTileEntityData($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet132TileEntityData_getPacketSize = function($this) {
    return 25;
};
function nms_Packet200Statistic() {
    var a = this; nms_Packet.call(a);
    a.$statisticId = 0;
    a.$amount = 0;
}
$java.nms_Packet200Statistic__init_ = function() {
    var var_0 = new nms_Packet200Statistic();
    nms_Packet200Statistic__init_(var_0);
    return var_0;
};
function nms_Packet200Statistic__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet200Statistic_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleStatistic($par1NetHandler, $this);
};
$java.nms_Packet200Statistic_readPacketData = function($this, $par1DataInputStream) {
    $this.$statisticId = ji_DataInputStream_readInt($par1DataInputStream);
    $this.$amount = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet200Statistic_getPacketSize = function($this) {
    return 6;
};
function nms_Packet201PlayerInfo() {
    var a = this; nms_Packet.call(a);
    a.$playerName = null;
    a.$isConnected = 0;
    a.$ping = 0;
}
$java.nms_Packet201PlayerInfo__init_ = function() {
    var var_0 = new nms_Packet201PlayerInfo();
    nms_Packet201PlayerInfo__init_(var_0);
    return var_0;
};
function nms_Packet201PlayerInfo__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet201PlayerInfo_readPacketData = function($this, $par1DataInputStream) {
    $this.$playerName = nms_Packet_readString($par1DataInputStream, 16);
    $this.$isConnected = !ji_DataInputStream_readByte($par1DataInputStream) ? 0 : 1;
    $this.$ping = ji_DataInputStream_readShort($par1DataInputStream);
};
$java.nms_Packet201PlayerInfo_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handlePlayerInfo($par1NetHandler, $this);
};
$java.nms_Packet201PlayerInfo_getPacketSize = function($this) {
    return ((jl_String_length($this.$playerName) + 2 | 0) + 1 | 0) + 2 | 0;
};
function nms_Packet202PlayerAbilities() {
    var a = this; nms_Packet.call(a);
    a.$disableDamage0 = 0;
    a.$isFlying0 = 0;
    a.$allowFlying0 = 0;
    a.$isCreativeMode0 = 0;
    a.$flySpeed0 = 0.0;
    a.$walkSpeed0 = 0.0;
}
$java.nms_Packet202PlayerAbilities__init_ = function() {
    var var_0 = new nms_Packet202PlayerAbilities();
    nms_Packet202PlayerAbilities__init_(var_0);
    return var_0;
};
function nms_Packet202PlayerAbilities__init_($this) {
    nms_Packet__init_0($this);
    $this.$disableDamage0 = 0;
    $this.$isFlying0 = 0;
    $this.$allowFlying0 = 0;
    $this.$isCreativeMode0 = 0;
}
$java.nms_Packet202PlayerAbilities_readPacketData = function($this, $par1DataInputStream) {
    var $var2;
    $var2 = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$disableDamage0 = ($var2 & 1) <= 0 ? 0 : 1;
    $this.$isFlying0 = ($var2 & 2) <= 0 ? 0 : 1;
    $this.$allowFlying0 = ($var2 & 4) <= 0 ? 0 : 1;
    $this.$isCreativeMode0 = ($var2 & 8) <= 0 ? 0 : 1;
    $this.$flySpeed0 = ji_DataInputStream_readByte($par1DataInputStream) / 255.0;
    $this.$walkSpeed0 = ji_DataInputStream_readByte($par1DataInputStream) / 255.0;
};
$java.nms_Packet202PlayerAbilities_writePacketData = function($this, $par1DataOutputStream) {
    var $var2;
    $var2 = 0;
    if ($this.$disableDamage0)
        $var2 = 1;
    if ($this.$isFlying0)
        $var2 = ($var2 | 2) << 24 >> 24;
    if ($this.$allowFlying0)
        $var2 = ($var2 | 4) << 24 >> 24;
    if ($this.$isCreativeMode0)
        $var2 = ($var2 | 8) << 24 >> 24;
    ji_DataOutputStream_writeByte($par1DataOutputStream, $var2);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$flySpeed0 * 255.0 | 0);
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$walkSpeed0 * 255.0 | 0);
};
$java.nms_Packet202PlayerAbilities_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handlePlayerAbilities($par1NetHandler, $this);
};
$java.nms_Packet202PlayerAbilities_getPacketSize = function($this) {
    return 2;
};
$java.nms_Packet202PlayerAbilities_getDisableDamage = function($this) {
    return $this.$disableDamage0;
};
$java.nms_Packet202PlayerAbilities_setDisableDamage = function($this, $par1) {
    $this.$disableDamage0 = $par1;
};
$java.nms_Packet202PlayerAbilities_getFlying = function($this) {
    return $this.$isFlying0;
};
$java.nms_Packet202PlayerAbilities_setFlying = function($this, $par1) {
    $this.$isFlying0 = $par1;
};
$java.nms_Packet202PlayerAbilities_getAllowFlying = function($this) {
    return $this.$allowFlying0;
};
$java.nms_Packet202PlayerAbilities_setAllowFlying = function($this, $par1) {
    $this.$allowFlying0 = $par1;
};
$java.nms_Packet202PlayerAbilities_isCreativeMode = function($this) {
    return $this.$isCreativeMode0;
};
$java.nms_Packet202PlayerAbilities_setCreativeMode = function($this, $par1) {
    $this.$isCreativeMode0 = $par1;
};
$java.nms_Packet202PlayerAbilities_getFlySpeed = function($this) {
    return $this.$flySpeed0;
};
$java.nms_Packet202PlayerAbilities_setFlySpeed = function($this, $par1) {
    $this.$flySpeed0 = $par1;
};
$java.nms_Packet202PlayerAbilities_getWalkSpeed = function($this) {
    return $this.$walkSpeed0;
};
$java.nms_Packet202PlayerAbilities_setWalkSpeed = function($this, $par1) {
    $this.$walkSpeed0 = $par1;
};
function nms_Packet203AutoComplete() {
    nms_Packet.call(this);
    this.$text2 = null;
}
$java.nms_Packet203AutoComplete__init_ = function() {
    var var_0 = new nms_Packet203AutoComplete();
    nms_Packet203AutoComplete__init_(var_0);
    return var_0;
};
function nms_Packet203AutoComplete__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet203AutoComplete_readPacketData = function($this, $par1DataInputStream) {
    $this.$text2 = nms_Packet_readString($par1DataInputStream, nms_Packet3Chat_maxChatLength);
};
$java.nms_Packet203AutoComplete_writePacketData = function($this, $par1DataOutputStream) {
    nms_Packet_writeString($this.$text2, $par1DataOutputStream);
};
$java.nms_Packet203AutoComplete_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleAutoComplete($par1NetHandler, $this);
};
$java.nms_Packet203AutoComplete_getPacketSize = function($this) {
    return 2 + (jl_String_length($this.$text2) * 2 | 0) | 0;
};
$java.nms_Packet203AutoComplete_getText = function($this) {
    return $this.$text2;
};
function nms_Packet205ClientCommand() {
    nms_Packet.call(this);
    this.$forceRespawn = 0;
}
$java.nms_Packet205ClientCommand__init_ = function() {
    var var_0 = new nms_Packet205ClientCommand();
    nms_Packet205ClientCommand__init_(var_0);
    return var_0;
};
function nms_Packet205ClientCommand__init_0(var_0) {
    var var_1 = new nms_Packet205ClientCommand();
    $java.nms_Packet205ClientCommand__init_0(var_1, var_0);
    return var_1;
}
function nms_Packet205ClientCommand__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet205ClientCommand__init_0 = function($this, $par1) {
    nms_Packet__init_0($this);
    $this.$forceRespawn = $par1;
};
$java.nms_Packet205ClientCommand_readPacketData = function($this, $par1DataInputStream) {
    $this.$forceRespawn = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet205ClientCommand_writePacketData = function($this, $par1DataOutputStream) {
    ji_DataOutputStream_writeByte($par1DataOutputStream, $this.$forceRespawn & 255);
};
$java.nms_Packet205ClientCommand_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet205ClientCommand_getPacketSize = function($this) {
    return 1;
};
function nms_Packet206SetObjective() {
    var a = this; nms_Packet.call(a);
    a.$objectiveName = null;
    a.$objectiveDisplayName = null;
    a.$change = 0;
}
$java.nms_Packet206SetObjective__init_ = function() {
    var var_0 = new nms_Packet206SetObjective();
    nms_Packet206SetObjective__init_(var_0);
    return var_0;
};
function nms_Packet206SetObjective__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet206SetObjective_readPacketData = function($this, $par1DataInputStream) {
    $this.$objectiveName = nms_Packet_readString($par1DataInputStream, 16);
    $this.$objectiveDisplayName = nms_Packet_readString($par1DataInputStream, 32);
    $this.$change = ji_DataInputStream_readByte($par1DataInputStream);
};
$java.nms_Packet206SetObjective_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleSetObjective($par1NetHandler, $this);
};
$java.nms_Packet206SetObjective_getPacketSize = function($this) {
    return (((2 + jl_String_length($this.$objectiveName) | 0) + 2 | 0) + jl_String_length($this.$objectiveDisplayName) | 0) + 1 | 0;
};
function nms_Packet207SetScore() {
    var a = this; nms_Packet.call(a);
    a.$itemName = null;
    a.$scoreName = null;
    a.$value13 = 0;
    a.$updateOrRemove = 0;
}
$java.nms_Packet207SetScore__init_ = function() {
    var var_0 = new nms_Packet207SetScore();
    nms_Packet207SetScore__init_(var_0);
    return var_0;
};
function nms_Packet207SetScore__init_($this) {
    nms_Packet__init_0($this);
    $this.$itemName = $rt_s(36);
    $this.$scoreName = $rt_s(36);
    $this.$value13 = 0;
    $this.$updateOrRemove = 0;
}
$java.nms_Packet207SetScore_readPacketData = function($this, $par1DataInputStream) {
    $this.$itemName = nms_Packet_readString($par1DataInputStream, 16);
    $this.$updateOrRemove = ji_DataInputStream_readByte($par1DataInputStream);
    if ($this.$updateOrRemove != 1) {
        $this.$scoreName = nms_Packet_readString($par1DataInputStream, 16);
        $this.$value13 = ji_DataInputStream_readInt($par1DataInputStream);
    }
};
$java.nms_Packet207SetScore_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleSetScore($par1NetHandler, $this);
};
$java.nms_Packet207SetScore_getPacketSize = function($this) {
    return ((((2 + jl_String_length($this.$itemName) | 0) + 2 | 0) + jl_String_length($this.$scoreName) | 0) + 4 | 0) + 1 | 0;
};
function nms_Packet208SetDisplayObjective() {
    var a = this; nms_Packet.call(a);
    a.$scoreboardPosition = 0;
    a.$scoreName0 = null;
}
$java.nms_Packet208SetDisplayObjective__init_ = function() {
    var var_0 = new nms_Packet208SetDisplayObjective();
    nms_Packet208SetDisplayObjective__init_(var_0);
    return var_0;
};
function nms_Packet208SetDisplayObjective__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet208SetDisplayObjective_readPacketData = function($this, $par1DataInputStream) {
    $this.$scoreboardPosition = ji_DataInputStream_readByte($par1DataInputStream);
    $this.$scoreName0 = nms_Packet_readString($par1DataInputStream, 16);
};
$java.nms_Packet208SetDisplayObjective_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleSetDisplayObjective($par1NetHandler, $this);
};
$java.nms_Packet208SetDisplayObjective_getPacketSize = function($this) {
    return 3 + jl_String_length($this.$scoreName0) | 0;
};
function nms_Packet209SetPlayerTeam() {
    var a = this; nms_Packet.call(a);
    a.$teamName = null;
    a.$teamDisplayName = null;
    a.$teamPrefix = null;
    a.$teamSuffix = null;
    a.$playerNames = null;
    a.$mode4 = 0;
    a.$friendlyFire = 0;
}
$java.nms_Packet209SetPlayerTeam__init_ = function() {
    var var_0 = new nms_Packet209SetPlayerTeam();
    nms_Packet209SetPlayerTeam__init_(var_0);
    return var_0;
};
function nms_Packet209SetPlayerTeam__init_($this) {
    nms_Packet__init_0($this);
    $this.$teamName = $rt_s(36);
    $this.$teamDisplayName = $rt_s(36);
    $this.$teamPrefix = $rt_s(36);
    $this.$teamSuffix = $rt_s(36);
    $this.$playerNames = ju_ArrayList__init_0();
    $this.$mode4 = 0;
}
$java.nms_Packet209SetPlayerTeam_readPacketData = function($this, $par1DataInputStream) {
    var $var2, $var3;
    $this.$teamName = nms_Packet_readString($par1DataInputStream, 16);
    $this.$mode4 = ji_DataInputStream_readByte($par1DataInputStream);
    if (!($this.$mode4 && $this.$mode4 != 2)) {
        $this.$teamDisplayName = nms_Packet_readString($par1DataInputStream, 32);
        $this.$teamPrefix = nms_Packet_readString($par1DataInputStream, 16);
        $this.$teamSuffix = nms_Packet_readString($par1DataInputStream, 16);
        $this.$friendlyFire = ji_DataInputStream_readByte($par1DataInputStream);
    }
    a: {
        if (!($this.$mode4 && $this.$mode4 != 3 && $this.$mode4 != 4)) {
            $var2 = ji_DataInputStream_readShort($par1DataInputStream);
            $var3 = 0;
            while (true) {
                if ($var3 >= $var2)
                    break a;
                ju_ArrayList_add($this.$playerNames, nms_Packet_readString($par1DataInputStream, 16));
                $var3 = $var3 + 1 | 0;
            }
        }
    }
};
$java.nms_Packet209SetPlayerTeam_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleSetPlayerTeam($par1NetHandler, $this);
};
$java.nms_Packet209SetPlayerTeam_getPacketSize = function($this) {
    return 3 + jl_String_length($this.$teamName) | 0;
};
function nms_Packet250CustomPayload() {
    var a = this; nms_Packet.call(a);
    a.$channel0 = null;
    a.$length7 = 0;
    a.$data12 = null;
}
$java.nms_Packet250CustomPayload__init_ = function() {
    var var_0 = new nms_Packet250CustomPayload();
    nms_Packet250CustomPayload__init_(var_0);
    return var_0;
};
function nms_Packet250CustomPayload__init_0(var_0, var_1) {
    var var_2 = new nms_Packet250CustomPayload();
    $java.nms_Packet250CustomPayload__init_0(var_2, var_0, var_1);
    return var_2;
}
function nms_Packet250CustomPayload__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet250CustomPayload__init_0 = function($this, $par1Str, $par2ArrayOfByte) {
    var var$3;
    nms_Packet__init_0($this);
    $this.$channel0 = $par1Str;
    $this.$data12 = $par2ArrayOfByte;
    if ($par2ArrayOfByte !== null) {
        $this.$length7 = $par2ArrayOfByte.data.length;
        if ($this.$length7 > 32767) {
            $par1Str = jl_System_err();
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            jl_AbstractStringBuilder_append(var$3, $rt_s(2837));
            jl_AbstractStringBuilder_append(var$3, $this.$channel0);
            jl_AbstractStringBuilder_append(var$3, $rt_s(2838));
            jl_AbstractStringBuilder_append2(var$3, $this.$length7);
            jl_AbstractStringBuilder_append(var$3, $rt_s(2839));
            ji_PrintStream_println($par1Str, jl_AbstractStringBuilder_toString(var$3));
            $this.$length7 = 1;
            $par2ArrayOfByte = $rt_createByteArray(1);
            $par2ArrayOfByte.data[0] = (-1);
            $this.$data12 = $par2ArrayOfByte;
        }
    }
};
$java.nms_Packet250CustomPayload_readPacketData = function($this, $par1DataInputStream) {
    $this.$channel0 = nms_Packet_readString($par1DataInputStream, 20);
    $this.$length7 = ji_DataInputStream_readShort($par1DataInputStream);
    if ($this.$length7 > 0 && $this.$length7 < 32767) {
        nms_GameSettings_$callClinit();
        if (nms_GameSettings_useDefaultProtocol)
            ji_DataInputStream_skipBytes($par1DataInputStream, $this.$length7);
        else {
            $this.$data12 = $rt_createByteArray($this.$length7);
            ji_DataInputStream_readFully($par1DataInputStream, $this.$data12);
        }
    }
};
$java.nms_Packet250CustomPayload_writePacketData = function($this, $par1DataOutputStream) {
    nms_Packet_writeString($this.$channel0, $par1DataOutputStream);
    ji_DataOutputStream_writeShort($par1DataOutputStream, $this.$length7 << 16 >> 16);
    if ($this.$data12 !== null)
        ji_OutputStream_write($par1DataOutputStream, $this.$data12);
};
$java.nms_Packet250CustomPayload_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleCustomPayload($par1NetHandler, $this);
};
$java.nms_Packet250CustomPayload_getPacketSize = function($this) {
    return ((2 + (jl_String_length($this.$channel0) * 2 | 0) | 0) + 2 | 0) + $this.$length7 | 0;
};
function nms_Packet252SharedKey() {
    var a = this; nms_Packet.call(a);
    a.$sharedSecret = null;
    a.$verifyToken0 = null;
    a.$sharedKey = null;
}
$java.nms_Packet252SharedKey__init_ = function() {
    var var_0 = new nms_Packet252SharedKey();
    nms_Packet252SharedKey__init_(var_0);
    return var_0;
};
function nms_Packet252SharedKey__init_($this) {
    nms_Packet__init_0($this);
    $this.$sharedSecret = $rt_createByteArray(0);
    $this.$verifyToken0 = $rt_createByteArray(0);
}
$java.nms_Packet252SharedKey_readPacketData = function($this, $par1DataInputStream) {
    $this.$sharedSecret = nms_Packet_readBytesFromStream($par1DataInputStream);
    $this.$verifyToken0 = nms_Packet_readBytesFromStream($par1DataInputStream);
};
$java.nms_Packet252SharedKey_writePacketData = function($this, $par1DataOutputStream) {
    nms_Packet_writeByteArray($par1DataOutputStream, $this.$sharedSecret);
    nms_Packet_writeByteArray($par1DataOutputStream, $this.$verifyToken0);
};
$java.nms_Packet252SharedKey_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleSharedKey($par1NetHandler, $this);
};
$java.nms_Packet252SharedKey_getPacketSize = function($this) {
    return ((2 + $this.$sharedSecret.data.length | 0) + 2 | 0) + $this.$verifyToken0.data.length | 0;
};
function nms_Packet253ServerAuthData() {
    var a = this; nms_Packet.call(a);
    a.$serverId = null;
    a.$publicKey = null;
    a.$verifyToken = null;
}
$java.nms_Packet253ServerAuthData__init_ = function() {
    var var_0 = new nms_Packet253ServerAuthData();
    nms_Packet253ServerAuthData__init_(var_0);
    return var_0;
};
function nms_Packet253ServerAuthData__init_($this) {
    nms_Packet__init_0($this);
    $this.$verifyToken = $rt_createByteArray(0);
}
$java.nms_Packet253ServerAuthData_readPacketData = function($this, $par1DataInputStream) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8;
    $this.$serverId = nms_Packet_readString($par1DataInputStream, 20);
    var$2 = nms_Packet_readBytesFromStream($par1DataInputStream);
    var$3 = $java.maa_CryptManager_x509decode$js_body$_2($rt_ustr(nle_Base64_encodeBase64String(var$2)));
    if (var$3 === null)
        var$4 = null;
    else {
        var$4 = jlr_Array_newInstance($rt_cls(otjt_Uint8Array), var$3.length);
        var$5 = 0;
        while (true) {
            var$6 = var$4.data;
            if (var$5 >= var$6.length)
                break;
            var$6[var$5] = var$3[var$5];
            var$5 = var$5 + 1 | 0;
        }
    }
    var$4 = var$4.data;
    var$7 = new maa_PubKey;
    var$8 = $java.jm_BigInteger__init_4($java.maa_CryptManager_uInt8toByteArr(var$4[0]));
    var$3 = $java.jm_BigInteger__init_4($java.maa_CryptManager_uInt8toByteArr(var$4[1]));
    $java.maa_PubKey_encoded = var$2;
    $java.maa_PubKey_modulus = var$8;
    $java.maa_PubKey_priexp = var$3;
    $this.$publicKey = var$7;
    $this.$verifyToken = nms_Packet_readBytesFromStream($par1DataInputStream);
};
$java.nms_Packet253ServerAuthData_processPacket = function($this, $par1NetHandler) {
    $java.nms_NetClientHandler_handleServerAuthData($par1NetHandler, $this);
};
$java.nms_Packet253ServerAuthData_getPacketSize = function($this) {
    return ((((2 + (jl_String_length($this.$serverId) * 2 | 0) | 0) + 2 | 0) + $java.maa_PubKey_encoded.data.length | 0) + 2 | 0) + $this.$verifyToken.data.length | 0;
};
$java.nms_Packet253ServerAuthData_getPublicKey = function($this) {
    return $this.$publicKey;
};
$java.nms_Packet253ServerAuthData_getVerifyToken = function($this) {
    return $this.$verifyToken;
};
function nms_Packet254ServerPing() {
    nms_Packet.call(this);
    this.$readSuccessfully = 0;
}
$java.nms_Packet254ServerPing__init_ = function() {
    var var_0 = new nms_Packet254ServerPing();
    nms_Packet254ServerPing__init_(var_0);
    return var_0;
};
function nms_Packet254ServerPing__init_($this) {
    nms_Packet__init_0($this);
    $this.$readSuccessfully = 0;
}
$java.nms_Packet254ServerPing_readPacketData = function($this, $par1DataInputStream) {
    var $$je;
    a: {
        try {
            $this.$readSuccessfully = ji_DataInputStream_readByte($par1DataInputStream);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Throwable) {
            } else {
                throw $$e;
            }
        }
        $this.$readSuccessfully = 0;
    }
};
$java.nms_Packet254ServerPing_processPacket = function($this, $par1NetHandler) {
    return;
};
$java.nms_Packet254ServerPing_getPacketSize = function($this) {
    return 0;
};
function nms_Packet255KickDisconnect() {
    nms_Packet.call(this);
    this.$reason = null;
}
$java.nms_Packet255KickDisconnect__init_ = function() {
    var var_0 = new nms_Packet255KickDisconnect();
    nms_Packet255KickDisconnect__init_(var_0);
    return var_0;
};
function nms_Packet255KickDisconnect__init_($this) {
    nms_Packet__init_0($this);
}
$java.nms_Packet255KickDisconnect_readPacketData = function($this, $par1DataInputStream) {
    $this.$reason = nms_Packet_readString($par1DataInputStream, 256);
};
$java.nms_Packet255KickDisconnect_writePacketData = function($this, $par1DataOutputStream) {
    nms_Packet_writeString($this.$reason, $par1DataOutputStream);
};
$java.nms_Packet255KickDisconnect_processPacket = function($this, $par1NetHandler) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1NetHandler = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_NetClientHandler_handleKickDisconnect($par1NetHandler, $this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NetHandler, $ptr);
};
$java.nms_Packet255KickDisconnect_getPacketSize = function($this) {
    return jl_String_length($this.$reason);
};
function nms_IEntitySelector() {
}
$java.nms_IEntitySelector_selectAnything = null;
$java.nms_IEntitySelector_selectInventories = null;
function nms_IEntitySelector__clinit_() {
    $java.nms_IEntitySelector_selectAnything = new nms_EntitySelectorAlive;
    $java.nms_IEntitySelector_selectInventories = new nms_EntitySelectorInventory;
}
function nms_FilterIMob() {
    jl_Object.call(this);
}
$java.nms_FilterIMob__init_ = function() {
    var var_0 = new nms_FilterIMob();
    nms_FilterIMob__init_(var_0);
    return var_0;
};
function nms_FilterIMob__init_($this) {
    return;
}
function nms_Tuple() {
    var a = this; jl_Object.call(a);
    a.$first0 = null;
    a.$second = null;
}
function nms_Tuple__init_(var_0, var_1) {
    var var_2 = new nms_Tuple();
    $java.nms_Tuple__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_Tuple__init_ = function($this, $par1Obj, $par2Obj) {
    $this.$first0 = $par1Obj;
    $this.$second = $par2Obj;
};
$java.nms_Tuple_getFirst = function($this) {
    return $this.$first0;
};
$java.nms_Tuple_getSecond = function($this) {
    return $this.$second;
};
function nms_EntityWitherAttackFilter() {
    jl_Object.call(this);
}
$java.nms_EntityWitherAttackFilter__init_ = function() {
    var var_0 = new nms_EntityWitherAttackFilter();
    nms_EntityWitherAttackFilter__init_(var_0);
    return var_0;
};
function nms_EntityWitherAttackFilter__init_($this) {
    return;
}
$java.nms_EntityWitherAttackFilter_isEntityApplicable = function($this, $par1Entity) {
    return $par1Entity instanceof nms_EntityLiving && $par1Entity.$getCreatureAttribute() !== nms_EnumCreatureAttribute_UNDEAD ? 1 : 0;
};
function nms_ISidedInventory() {
}
function nms_TileEntityFurnace() {
    var a = this; nms_TileEntity.call(a);
    a.$furnaceItemStacks = null;
    a.$furnaceBurnTime = 0;
    a.$currentItemBurnTime = 0;
    a.$furnaceCookTime = 0;
    a.$field_94130_e = null;
}
$java.nms_TileEntityFurnace_field_102010_d = null;
$java.nms_TileEntityFurnace_field_102011_e = null;
$java.nms_TileEntityFurnace_field_102009_f = null;
$java.nms_TileEntityFurnace__init_ = function() {
    var var_0 = new nms_TileEntityFurnace();
    nms_TileEntityFurnace__init_(var_0);
    return var_0;
};
function nms_TileEntityFurnace__init_($this) {
    nms_TileEntity__init_($this);
    $this.$furnaceItemStacks = $rt_createArray(nms_ItemStack, 3);
    $this.$furnaceBurnTime = 0;
    $this.$currentItemBurnTime = 0;
    $this.$furnaceCookTime = 0;
}
$java.nms_TileEntityFurnace_getSizeInventory = function($this) {
    return $this.$furnaceItemStacks.data.length;
};
$java.nms_TileEntityFurnace_getStackInSlot = function($this, $par1) {
    return $this.$furnaceItemStacks.data[$par1];
};
$java.nms_TileEntityFurnace_decrStackSize = function($this, $par1, $par2) {
    var $var3;
    if ($this.$furnaceItemStacks.data[$par1] === null)
        return null;
    if ($this.$furnaceItemStacks.data[$par1].$stackSize <= $par2) {
        $var3 = $this.$furnaceItemStacks.data[$par1];
        $this.$furnaceItemStacks.data[$par1] = null;
        return $var3;
    }
    $var3 = nms_ItemStack_splitStack($this.$furnaceItemStacks.data[$par1], $par2);
    if (!$this.$furnaceItemStacks.data[$par1].$stackSize)
        $this.$furnaceItemStacks.data[$par1] = null;
    return $var3;
};
$java.nms_TileEntityFurnace_setInventorySlotContents = function($this, $par1, $par2ItemStack) {
    $this.$furnaceItemStacks.data[$par1] = $par2ItemStack;
    if ($par2ItemStack !== null && $par2ItemStack.$stackSize > 64)
        $par2ItemStack.$stackSize = 64;
};
$java.nms_TileEntityFurnace_getInvName = function($this) {
    return !$java.nms_TileEntityFurnace_isInvNameLocalized($this) ? $rt_s(2840) : $this.$field_94130_e;
};
$java.nms_TileEntityFurnace_isInvNameLocalized = function($this) {
    return $this.$field_94130_e !== null && jl_String_length($this.$field_94130_e) > 0 ? 1 : 0;
};
$java.nms_TileEntityFurnace_func_94129_a = function($this, $par1Str) {
    $this.$field_94130_e = $par1Str;
};
$java.nms_TileEntityFurnace_readFromNBT = function($this, $par1NBTTagCompound) {
    var $var2, $var3, $var4, $var5;
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $var2 = nms_NBTTagCompound_getTagList($par1NBTTagCompound, $rt_s(2841));
    $this.$furnaceItemStacks = $rt_createArray(nms_ItemStack, $java.nms_TileEntityFurnace_getSizeInventory($this));
    $var3 = 0;
    while ($var3 < nms_NBTTagList_tagCount($var2)) {
        $var4 = nms_NBTTagList_tagAt($var2, $var3);
        $var5 = nms_NBTTagCompound_getByte($var4, $rt_s(2842));
        if ($var5 >= 0 && $var5 < $this.$furnaceItemStacks.data.length)
            $this.$furnaceItemStacks.data[$var5] = nms_ItemStack_loadItemStackFromNBT($var4);
        $var3 = $var3 + 1 | 0;
    }
    $this.$furnaceBurnTime = nms_NBTTagCompound_getShort($par1NBTTagCompound, $rt_s(2843));
    $this.$furnaceCookTime = nms_NBTTagCompound_getShort($par1NBTTagCompound, $rt_s(2844));
    $this.$currentItemBurnTime = $java.nms_TileEntityFurnace_getItemBurnTime($this.$furnaceItemStacks.data[1]);
    if (nms_NBTTagCompound_hasKey($par1NBTTagCompound, $rt_s(2845)))
        $this.$field_94130_e = nms_NBTTagCompound_getString($par1NBTTagCompound, $rt_s(2845));
};
$java.nms_TileEntityFurnace_getInventoryStackLimit = function($this) {
    return 64;
};
$java.nms_TileEntityFurnace_getCookProgressScaled = function($this, $par1) {
    return $rt_imul($this.$furnaceCookTime, $par1) / 200 | 0;
};
$java.nms_TileEntityFurnace_getBurnTimeRemainingScaled = function($this, $par1) {
    if (!$this.$currentItemBurnTime)
        $this.$currentItemBurnTime = 200;
    return $rt_imul($this.$furnaceBurnTime, $par1) / $this.$currentItemBurnTime | 0;
};
$java.nms_TileEntityFurnace_isBurning = function($this) {
    return $this.$furnaceBurnTime <= 0 ? 0 : 1;
};
$java.nms_TileEntityFurnace_updateEntity = function($this) {
    if ($this.$furnaceBurnTime > 0)
        $this.$furnaceBurnTime = $this.$furnaceBurnTime - 1 | 0;
};
$java.nms_TileEntityFurnace_getItemBurnTime = function($par0ItemStack) {
    var $var1, $var2, $var3, var$5;
    if ($par0ItemStack === null)
        return 0;
    $var1 = nms_ItemStack_getItem($par0ItemStack).$itemID;
    $var2 = nms_ItemStack_getItem($par0ItemStack);
    if ($var1 < 256) {
        nms_Block_$callClinit();
        if (nms_Block_blocksList.data[$var1] !== null) {
            $var3 = nms_Block_blocksList.data[$var1];
            if ($var3 === nms_Block_woodSingleSlab)
                return 150;
            $par0ItemStack = $var3.$blockMaterial;
            nms_Material_$callClinit();
            if ($par0ItemStack === nms_Material_wood)
                return 300;
        }
    }
    a: {
        if ($var2 instanceof nms_ItemTool && jl_String_equals($java.nms_ItemTool_getToolMaterialName($var2), $rt_s(2123))) {
            var$5 = 200;
            break a;
        }
        if ($var2 instanceof nms_ItemSword && jl_String_equals($java.nms_ItemSword_getToolMaterialName($var2), $rt_s(2123))) {
            var$5 = 200;
            break a;
        }
        if ($var2 instanceof nms_ItemHoe && jl_String_equals($java.nms_ItemHoe_getMaterialName($var2), $rt_s(2123))) {
            var$5 = 200;
            break a;
        }
        nms_Item_$callClinit();
        if ($var1 == nms_Item_stick.$itemID) {
            var$5 = 100;
            break a;
        }
        if ($var1 == nms_Item_coal.$itemID) {
            var$5 = 1600;
            break a;
        }
        if ($var1 == nms_Item_bucketLava.$itemID) {
            var$5 = 20000;
            break a;
        }
        nms_Block_$callClinit();
        if ($var1 == nms_Block_sapling.$blockID) {
            var$5 = 100;
            break a;
        }
        if ($var1 != nms_Item_blazeRod.$itemID) {
            var$5 = 0;
            break a;
        }
        var$5 = 2400;
    }
    return var$5;
};
function nms_TileEntityFurnace__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(1);
    var$1.data[0] = 0;
    $java.nms_TileEntityFurnace_field_102010_d = var$1;
    var$1 = $rt_createIntArray(2);
    var$2 = var$1.data;
    var$2[0] = 2;
    var$2[1] = 1;
    $java.nms_TileEntityFurnace_field_102011_e = var$1;
    var$1 = $rt_createIntArray(1);
    var$1.data[0] = 1;
    $java.nms_TileEntityFurnace_field_102009_f = var$1;
}
function nms_TileEntityChest() {
    var a = this; nms_TileEntity.call(a);
    a.$chestContents = null;
    a.$adjacentChestChecked = 0;
    a.$adjacentChestZNeg = null;
    a.$adjacentChestXPos = null;
    a.$adjacentChestXNeg = null;
    a.$adjacentChestZPosition = null;
    a.$lidAngle = 0.0;
    a.$prevLidAngle = 0.0;
    a.$numUsingPlayers = 0;
    a.$ticksSinceSync = 0;
    a.$field_94046_i = 0;
    a.$field_94045_s = null;
}
$java.nms_TileEntityChest__init_ = function() {
    var var_0 = new nms_TileEntityChest();
    nms_TileEntityChest__init_(var_0);
    return var_0;
};
function nms_TileEntityChest__init_($this) {
    nms_TileEntity__init_($this);
    $this.$chestContents = $rt_createArray(nms_ItemStack, 36);
    $this.$adjacentChestChecked = 0;
    $this.$field_94046_i = (-1);
}
$java.nms_TileEntityChest_getSizeInventory = function($this) {
    return 27;
};
$java.nms_TileEntityChest_getStackInSlot = function($this, $par1) {
    return $this.$chestContents.data[$par1];
};
$java.nms_TileEntityChest_func_94043_a = function($this, $par1Str) {
    $this.$field_94045_s = $par1Str;
};
$java.nms_TileEntityChest_readFromNBT = function($this, $par1NBTTagCompound) {
    var $var2, $var3, $var4, $var5;
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $var2 = nms_NBTTagCompound_getTagList($par1NBTTagCompound, $rt_s(2841));
    $this.$chestContents = $rt_createArray(nms_ItemStack, 27);
    if (nms_NBTTagCompound_hasKey($par1NBTTagCompound, $rt_s(2845)))
        $this.$field_94045_s = nms_NBTTagCompound_getString($par1NBTTagCompound, $rt_s(2845));
    $var3 = 0;
    while ($var3 < nms_NBTTagList_tagCount($var2)) {
        $var4 = nms_NBTTagList_tagAt($var2, $var3);
        $var5 = nms_NBTTagCompound_getByte($var4, $rt_s(2842)) & 255;
        if ($var5 >= 0 && $var5 < $this.$chestContents.data.length)
            $this.$chestContents.data[$var5] = nms_ItemStack_loadItemStackFromNBT($var4);
        $var3 = $var3 + 1 | 0;
    }
};
$java.nms_TileEntityChest_getInventoryStackLimit = function($this) {
    return 64;
};
$java.nms_TileEntityChest_updateContainingBlockInfo = function($this) {
    $java.nms_TileEntity_updateContainingBlockInfo($this);
    $this.$adjacentChestChecked = 0;
};
$java.nms_TileEntityChest_func_90009_a = function($this, $par1TileEntityChest, $par2) {
    a: {
        if ($par1TileEntityChest.$tileEntityInvalid)
            $this.$adjacentChestChecked = 0;
        else if ($this.$adjacentChestChecked) {
            b: {
                c: {
                    d: {
                        switch ($par2) {
                            case 0:
                                break;
                            case 1:
                                break d;
                            case 2:
                                break c;
                            case 3:
                                break b;
                            default:
                                break a;
                        }
                        if ($this.$adjacentChestZPosition === $par1TileEntityChest)
                            break a;
                        $this.$adjacentChestChecked = 0;
                        break a;
                    }
                    if ($this.$adjacentChestXNeg === $par1TileEntityChest)
                        break a;
                    $this.$adjacentChestChecked = 0;
                    break a;
                }
                if ($this.$adjacentChestZNeg === $par1TileEntityChest)
                    break a;
                $this.$adjacentChestChecked = 0;
                break a;
            }
            if ($this.$adjacentChestXPos !== $par1TileEntityChest)
                $this.$adjacentChestChecked = 0;
        }
    }
};
$java.nms_TileEntityChest_checkForAdjacentChests = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$adjacentChestChecked) {
            $this.$adjacentChestChecked = 1;
            $this.$adjacentChestZNeg = null;
            $this.$adjacentChestXPos = null;
            $this.$adjacentChestXNeg = null;
            $this.$adjacentChestZPosition = null;
            if ($java.nms_TileEntityChest_func_94044_a($this, $this.$xCoord0 - 1 | 0, $this.$yCoord0, $this.$zCoord0)) {
                var$1 = $this.$worldObj4;
                var$2 = $this.$xCoord0 - 1 | 0;
                var$3 = $this.$yCoord0;
                var$4 = $this.$zCoord0;
                $ptr = 1;
                continue main;
            }
            if ($java.nms_TileEntityChest_func_94044_a($this, $this.$xCoord0 + 1 | 0, $this.$yCoord0, $this.$zCoord0)) {
                var$1 = $this.$worldObj4;
                var$2 = $this.$xCoord0 + 1 | 0;
                var$3 = $this.$yCoord0;
                var$4 = $this.$zCoord0;
                $ptr = 2;
                continue main;
            }
            if ($java.nms_TileEntityChest_func_94044_a($this, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0 - 1 | 0)) {
                var$1 = $this.$worldObj4;
                var$2 = $this.$xCoord0;
                var$3 = $this.$yCoord0;
                var$4 = $this.$zCoord0 - 1 | 0;
                $ptr = 3;
                continue main;
            }
            if ($java.nms_TileEntityChest_func_94044_a($this, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0 + 1 | 0)) {
                var$1 = $this.$worldObj4;
                var$3 = $this.$xCoord0;
                var$4 = $this.$yCoord0;
                var$2 = $this.$zCoord0 + 1 | 0;
                $ptr = 4;
                continue main;
            }
            if ($this.$adjacentChestZNeg !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestZNeg, $this, 0);
            if ($this.$adjacentChestZPosition !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestZPosition, $this, 2);
            if ($this.$adjacentChestXPos !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestXPos, $this, 1);
            if ($this.$adjacentChestXNeg !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestXNeg, $this, 3);
        }
        return;
    case 1:
        $tmp = nms_World_getBlockTileEntity(var$1, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $tmp;
        $this.$adjacentChestXNeg = var$1;
        if ($java.nms_TileEntityChest_func_94044_a($this, $this.$xCoord0 + 1 | 0, $this.$yCoord0, $this.$zCoord0)) {
            var$1 = $this.$worldObj4;
            var$2 = $this.$xCoord0 + 1 | 0;
            var$3 = $this.$yCoord0;
            var$4 = $this.$zCoord0;
            $ptr = 2;
            continue main;
        }
        if ($java.nms_TileEntityChest_func_94044_a($this, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0 - 1 | 0)) {
            var$1 = $this.$worldObj4;
            var$2 = $this.$xCoord0;
            var$3 = $this.$yCoord0;
            var$4 = $this.$zCoord0 - 1 | 0;
            $ptr = 3;
            continue main;
        }
        if (!$java.nms_TileEntityChest_func_94044_a($this, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0 + 1 | 0)) {
            if ($this.$adjacentChestZNeg !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestZNeg, $this, 0);
            if ($this.$adjacentChestZPosition !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestZPosition, $this, 2);
            if ($this.$adjacentChestXPos !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestXPos, $this, 1);
            if ($this.$adjacentChestXNeg !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestXNeg, $this, 3);
            return;
        }
        var$1 = $this.$worldObj4;
        var$3 = $this.$xCoord0;
        var$4 = $this.$yCoord0;
        var$2 = $this.$zCoord0 + 1 | 0;
        $ptr = 4;
        continue main;
    case 2:
        $tmp = nms_World_getBlockTileEntity(var$1, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $tmp;
        $this.$adjacentChestXPos = var$1;
        if ($java.nms_TileEntityChest_func_94044_a($this, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0 - 1 | 0)) {
            var$1 = $this.$worldObj4;
            var$2 = $this.$xCoord0;
            var$3 = $this.$yCoord0;
            var$4 = $this.$zCoord0 - 1 | 0;
            $ptr = 3;
            continue main;
        }
        if (!$java.nms_TileEntityChest_func_94044_a($this, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0 + 1 | 0)) {
            if ($this.$adjacentChestZNeg !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestZNeg, $this, 0);
            if ($this.$adjacentChestZPosition !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestZPosition, $this, 2);
            if ($this.$adjacentChestXPos !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestXPos, $this, 1);
            if ($this.$adjacentChestXNeg !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestXNeg, $this, 3);
            return;
        }
        var$1 = $this.$worldObj4;
        var$3 = $this.$xCoord0;
        var$4 = $this.$yCoord0;
        var$2 = $this.$zCoord0 + 1 | 0;
        $ptr = 4;
        continue main;
    case 3:
        $tmp = nms_World_getBlockTileEntity(var$1, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $tmp;
        $this.$adjacentChestZNeg = var$1;
        if (!$java.nms_TileEntityChest_func_94044_a($this, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0 + 1 | 0)) {
            if ($this.$adjacentChestZNeg !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestZNeg, $this, 0);
            if ($this.$adjacentChestZPosition !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestZPosition, $this, 2);
            if ($this.$adjacentChestXPos !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestXPos, $this, 1);
            if ($this.$adjacentChestXNeg !== null)
                $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestXNeg, $this, 3);
            return;
        }
        var$1 = $this.$worldObj4;
        var$3 = $this.$xCoord0;
        var$4 = $this.$yCoord0;
        var$2 = $this.$zCoord0 + 1 | 0;
        $ptr = 4;
    case 4:
        $tmp = nms_World_getBlockTileEntity(var$1, var$3, var$4, var$2);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $tmp;
        $this.$adjacentChestZPosition = var$1;
        if ($this.$adjacentChestZNeg !== null)
            $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestZNeg, $this, 0);
        if ($this.$adjacentChestZPosition !== null)
            $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestZPosition, $this, 2);
        if ($this.$adjacentChestXPos !== null)
            $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestXPos, $this, 1);
        if ($this.$adjacentChestXNeg !== null)
            $java.nms_TileEntityChest_func_90009_a($this.$adjacentChestXNeg, $this, 3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
$java.nms_TileEntityChest_func_94044_a = function($this, $par1, $par2, $par3) {
    var $var4;
    nms_Block_$callClinit();
    $var4 = nms_Block_blocksList.data[nms_World_getBlockId($this.$worldObj4, $par1, $par2, $par3)];
    return $var4 !== null && $var4 instanceof nms_BlockChest ? ($var4.$isTrapped != $java.nms_TileEntityChest_func_98041_l($this) ? 0 : 1) : 0;
};
$java.nms_TileEntityChest_updateEntity = function($this) {
    var $var8, $var11, $var9, $var11_0, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var11_0 = $thread.pop();$var9 = $thread.pop();$var11 = $thread.pop();$var8 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_TileEntityChest_checkForAdjacentChests($this);
        if ($rt_suspending()) {
            break main;
        }
        $this.$ticksSinceSync = $this.$ticksSinceSync + 1 | 0;
        $this.$prevLidAngle = $this.$lidAngle;
        if ($this.$numUsingPlayers > 0 && $this.$lidAngle === 0.0 && $this.$adjacentChestZNeg === null && $this.$adjacentChestXNeg === null) {
            $var8 = $this.$xCoord0 + 0.5;
            $var11 = $this.$zCoord0 + 0.5;
            if ($this.$adjacentChestZPosition !== null)
                $var11 = $var11 + 0.5;
            if ($this.$adjacentChestXPos !== null)
                $var8 = $var8 + 0.5;
            nms_World_playSoundEffect($this.$worldObj4, $var8, $this.$yCoord0 + 0.5, $var11, $rt_s(2846), 0.5, nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand) * 0.10000000149011612 + 0.8999999761581421);
        }
        a: {
            if (!(!$this.$numUsingPlayers && $this.$lidAngle > 0.0)) {
                if ($this.$numUsingPlayers <= 0)
                    break a;
                if ($this.$lidAngle >= 1.0)
                    break a;
            }
            $var9 = $this.$lidAngle;
            if ($this.$numUsingPlayers <= 0)
                $this.$lidAngle = $this.$lidAngle - 0.10000000149011612;
            else
                $this.$lidAngle = $this.$lidAngle + 0.10000000149011612;
            if ($this.$lidAngle > 1.0)
                $this.$lidAngle = 1.0;
            if ($this.$lidAngle < 0.5 && $var9 >= 0.5 && $this.$adjacentChestZNeg === null && $this.$adjacentChestXNeg === null) {
                $var11_0 = $this.$xCoord0 + 0.5;
                $var6 = $this.$zCoord0 + 0.5;
                if ($this.$adjacentChestZPosition !== null)
                    $var6 = $var6 + 0.5;
                if ($this.$adjacentChestXPos !== null)
                    $var11_0 = $var11_0 + 0.5;
                nms_World_playSoundEffect($this.$worldObj4, $var11_0, $this.$yCoord0 + 0.5, $var6, $rt_s(2847), 0.5, nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand) * 0.10000000149011612 + 0.8999999761581421);
            }
            if ($this.$lidAngle < 0.0)
                $this.$lidAngle = 0.0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var8, $var11, $var9, $var11_0, $var6, $ptr);
};
$java.nms_TileEntityChest_receiveClientEvent = function($this, $par1, $par2) {
    if ($par1 != 1)
        return 0;
    $this.$numUsingPlayers = $par2;
    return 1;
};
$java.nms_TileEntityChest_invalidate = function($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_TileEntity_invalidate($this);
        if ($rt_suspending()) {
            break main;
        }
        $java.nms_TileEntityChest_updateContainingBlockInfo($this);
        $ptr = 2;
    case 2:
        $java.nms_TileEntityChest_checkForAdjacentChests($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
};
$java.nms_TileEntityChest_func_98041_l = function($this) {
    if ($this.$field_94046_i == (-1)) {
        if ($this.$worldObj4 !== null && $java.nms_TileEntity_getBlockType($this) instanceof nms_BlockChest)
            $this.$field_94046_i = $java.nms_TileEntity_getBlockType($this).$isTrapped;
        else
            return 0;
    }
    return $this.$field_94046_i;
};
function nms_TileEntityEnderChest() {
    var a = this; nms_TileEntity.call(a);
    a.$lidAngle0 = 0.0;
    a.$prevLidAngle0 = 0.0;
    a.$numUsingPlayers0 = 0;
    a.$ticksSinceSync0 = 0;
}
$java.nms_TileEntityEnderChest__init_ = function() {
    var var_0 = new nms_TileEntityEnderChest();
    nms_TileEntityEnderChest__init_(var_0);
    return var_0;
};
function nms_TileEntityEnderChest__init_($this) {
    nms_TileEntity__init_($this);
}
$java.nms_TileEntityEnderChest_updateEntity = function($this) {
    var var$1, $var2, $var4, $var8, $var6, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var6 = $thread.pop();$var8 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = $this.$ticksSinceSync0 + 1 | 0;
        $this.$ticksSinceSync0 = var$1;
        if ((var$1 % 20 | 0) * 4 | 0) {
            $this.$prevLidAngle0 = $this.$lidAngle0;
            if ($this.$numUsingPlayers0 > 0 && $this.$lidAngle0 === 0.0) {
                $var2 = $this.$xCoord0 + 0.5;
                $var4 = $this.$zCoord0 + 0.5;
                nms_World_playSoundEffect($this.$worldObj4, $var2, $this.$yCoord0 + 0.5, $var4, $rt_s(2846), 0.5, nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand) * 0.10000000149011612 + 0.8999999761581421);
            }
            a: {
                if (!(!$this.$numUsingPlayers0 && $this.$lidAngle0 > 0.0)) {
                    if ($this.$numUsingPlayers0 <= 0)
                        break a;
                    if ($this.$lidAngle0 >= 1.0)
                        break a;
                }
                $var8 = $this.$lidAngle0;
                if ($this.$numUsingPlayers0 <= 0)
                    $this.$lidAngle0 = $this.$lidAngle0 - 0.10000000149011612;
                else
                    $this.$lidAngle0 = $this.$lidAngle0 + 0.10000000149011612;
                if ($this.$lidAngle0 > 1.0)
                    $this.$lidAngle0 = 1.0;
                if ($this.$lidAngle0 < 0.5 && $var8 >= 0.5) {
                    $var4 = $this.$xCoord0 + 0.5;
                    $var6 = $this.$zCoord0 + 0.5;
                    nms_World_playSoundEffect($this.$worldObj4, $var4, $this.$yCoord0 + 0.5, $var6, $rt_s(2847), 0.5, nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand) * 0.10000000149011612 + 0.8999999761581421);
                }
                if ($this.$lidAngle0 < 0.0)
                    $this.$lidAngle0 = 0.0;
            }
            return;
        }
        var$6 = $this.$worldObj4;
        var$1 = $this.$xCoord0;
        var$7 = $this.$yCoord0;
        var$8 = $this.$zCoord0;
        nms_Block_$callClinit();
        var$9 = nms_Block_enderChest.$blockID;
        var$10 = 1;
        var$11 = $this.$numUsingPlayers0;
        $ptr = 1;
    case 1:
        nms_World_addBlockEvent(var$6, var$1, var$7, var$8, var$9, var$10, var$11);
        if ($rt_suspending()) {
            break main;
        }
        $this.$prevLidAngle0 = $this.$lidAngle0;
        if ($this.$numUsingPlayers0 > 0 && $this.$lidAngle0 === 0.0) {
            $var2 = $this.$xCoord0 + 0.5;
            $var4 = $this.$zCoord0 + 0.5;
            nms_World_playSoundEffect($this.$worldObj4, $var2, $this.$yCoord0 + 0.5, $var4, $rt_s(2846), 0.5, nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand) * 0.10000000149011612 + 0.8999999761581421);
        }
        b: {
            if (!(!$this.$numUsingPlayers0 && $this.$lidAngle0 > 0.0)) {
                if ($this.$numUsingPlayers0 <= 0)
                    break b;
                if ($this.$lidAngle0 >= 1.0)
                    break b;
            }
            $var8 = $this.$lidAngle0;
            if ($this.$numUsingPlayers0 <= 0)
                $this.$lidAngle0 = $this.$lidAngle0 - 0.10000000149011612;
            else
                $this.$lidAngle0 = $this.$lidAngle0 + 0.10000000149011612;
            if ($this.$lidAngle0 > 1.0)
                $this.$lidAngle0 = 1.0;
            if ($this.$lidAngle0 < 0.5 && $var8 >= 0.5) {
                $var4 = $this.$xCoord0 + 0.5;
                $var6 = $this.$zCoord0 + 0.5;
                nms_World_playSoundEffect($this.$worldObj4, $var4, $this.$yCoord0 + 0.5, $var6, $rt_s(2847), 0.5, nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand) * 0.10000000149011612 + 0.8999999761581421);
            }
            if ($this.$lidAngle0 < 0.0)
                $this.$lidAngle0 = 0.0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $var2, $var4, $var8, $var6, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
};
$java.nms_TileEntityEnderChest_receiveClientEvent = function($this, $par1, $par2) {
    if ($par1 != 1)
        return 0;
    $this.$numUsingPlayers0 = $par2;
    return 1;
};
$java.nms_TileEntityEnderChest_invalidate = function($this) {
    $java.nms_TileEntity_updateContainingBlockInfo($this);
    $java.nms_TileEntity_invalidate($this);
};
function nms_TileEntityRecordPlayer() {
    nms_TileEntity.call(this);
    this.$record = null;
}
$java.nms_TileEntityRecordPlayer__init_ = function() {
    var var_0 = new nms_TileEntityRecordPlayer();
    nms_TileEntityRecordPlayer__init_(var_0);
    return var_0;
};
function nms_TileEntityRecordPlayer__init_($this) {
    nms_TileEntity__init_($this);
}
$java.nms_TileEntityRecordPlayer_readFromNBT = function($this, $par1NBTTagCompound) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1NBTTagCompound = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
        if ($rt_suspending()) {
            break main;
        }
        if (nms_NBTTagCompound_hasKey($par1NBTTagCompound, $rt_s(2848))) {
            $par1NBTTagCompound = nms_ItemStack_loadItemStackFromNBT(nms_NBTTagCompound_getCompoundTag($par1NBTTagCompound, $rt_s(2848)));
            $ptr = 2;
            continue main;
        }
        if (nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2849)) <= 0)
            return;
        var$2 = nms_ItemStack__init_0(nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2849)), 1, 0);
        $ptr = 3;
        continue main;
    case 2:
        $java.nms_TileEntityRecordPlayer_func_96098_a($this, $par1NBTTagCompound);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        $java.nms_TileEntityRecordPlayer_func_96098_a($this, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1NBTTagCompound, var$2, $ptr);
};
$java.nms_TileEntityRecordPlayer_func_96097_a = function($this) {
    return $this.$record;
};
$java.nms_TileEntityRecordPlayer_func_96098_a = function($this, $par1ItemStack) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$record = $par1ItemStack;
        $ptr = 1;
    case 1:
        $java.nms_TileEntity_onInventoryChanged($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, $ptr);
};
function nms_TileEntityDispenser() {
    var a = this; nms_TileEntity.call(a);
    a.$dispenserContents = null;
    a.$dispenserRandom = null;
    a.$customName = null;
}
$java.nms_TileEntityDispenser__init_ = function() {
    var var_0 = new nms_TileEntityDispenser();
    nms_TileEntityDispenser__init_(var_0);
    return var_0;
};
function nms_TileEntityDispenser__init_($this) {
    nms_TileEntity__init_($this);
    $this.$dispenserContents = $rt_createArray(nms_ItemStack, 9);
    $this.$dispenserRandom = nle_EaglercraftRandom__init_0();
}
$java.nms_TileEntityDispenser_getSizeInventory = function($this) {
    return 9;
};
$java.nms_TileEntityDispenser_getStackInSlot = function($this, $par1) {
    return $this.$dispenserContents.data[$par1];
};
$java.nms_TileEntityDispenser_decrStackSize = function($this, $par1, $par2) {
    var $var3, $var3_0, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3_0 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$dispenserContents.data[$par1] === null)
            return null;
        if ($this.$dispenserContents.data[$par1].$stackSize <= $par2) {
            $var3 = $this.$dispenserContents.data[$par1];
            $this.$dispenserContents.data[$par1] = null;
            $ptr = 1;
            continue main;
        }
        $var3_0 = nms_ItemStack_splitStack($this.$dispenserContents.data[$par1], $par2);
        if (!$this.$dispenserContents.data[$par1].$stackSize)
            $this.$dispenserContents.data[$par1] = null;
        $ptr = 2;
        continue main;
    case 1:
        $java.nms_TileEntity_onInventoryChanged($this);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    case 2:
        $java.nms_TileEntity_onInventoryChanged($this);
        if ($rt_suspending()) {
            break main;
        }
        return $var3_0;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, $var3_0, $ptr);
};
$java.nms_TileEntityDispenser_setInventorySlotContents = function($this, $par1, $par2ItemStack) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2ItemStack = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$dispenserContents.data[$par1] = $par2ItemStack;
        if ($par2ItemStack !== null && $par2ItemStack.$stackSize > 64)
            $par2ItemStack.$stackSize = 64;
        $ptr = 1;
    case 1:
        $java.nms_TileEntity_onInventoryChanged($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2ItemStack, $ptr);
};
$java.nms_TileEntityDispenser_getInvName = function($this) {
    return !$java.nms_TileEntityDispenser_isInvNameLocalized($this) ? $rt_s(2850) : $this.$customName;
};
$java.nms_TileEntityDispenser_setCustomName = function($this, $par1Str) {
    $this.$customName = $par1Str;
};
$java.nms_TileEntityDispenser_isInvNameLocalized = function($this) {
    return $this.$customName === null ? 0 : 1;
};
$java.nms_TileEntityDispenser_readFromNBT = function($this, $par1NBTTagCompound) {
    var $var2, $var3, $var4, $var5;
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $var2 = nms_NBTTagCompound_getTagList($par1NBTTagCompound, $rt_s(2841));
    $this.$dispenserContents = $rt_createArray(nms_ItemStack, 9);
    $var3 = 0;
    while ($var3 < nms_NBTTagList_tagCount($var2)) {
        $var4 = nms_NBTTagList_tagAt($var2, $var3);
        $var5 = nms_NBTTagCompound_getByte($var4, $rt_s(2842)) & 255;
        if ($var5 >= 0 && $var5 < $this.$dispenserContents.data.length)
            $this.$dispenserContents.data[$var5] = nms_ItemStack_loadItemStackFromNBT($var4);
        $var3 = $var3 + 1 | 0;
    }
    if (nms_NBTTagCompound_hasKey($par1NBTTagCompound, $rt_s(2845)))
        $this.$customName = nms_NBTTagCompound_getString($par1NBTTagCompound, $rt_s(2845));
};
$java.nms_TileEntityDispenser_getInventoryStackLimit = function($this) {
    return 64;
};
function nms_TileEntityDropper() {
    nms_TileEntityDispenser.call(this);
}
$java.nms_TileEntityDropper__init_ = function() {
    var var_0 = new nms_TileEntityDropper();
    nms_TileEntityDropper__init_(var_0);
    return var_0;
};
function nms_TileEntityDropper__init_($this) {
    nms_TileEntityDispenser__init_($this);
}
$java.nms_TileEntityDropper_getInvName = function($this) {
    return !$java.nms_TileEntityDispenser_isInvNameLocalized($this) ? $rt_s(2851) : $this.$customName;
};
function nms_TileEntityMobSpawner() {
    var a = this; nms_TileEntity.call(a);
    a.$mobID = null;
    a.$mobObject = null;
    a.$rotateTicks = 0;
}
$java.nms_TileEntityMobSpawner__init_ = function() {
    var var_0 = new nms_TileEntityMobSpawner();
    nms_TileEntityMobSpawner__init_(var_0);
    return var_0;
};
function nms_TileEntityMobSpawner__init_($this) {
    nms_TileEntity__init_($this);
    $this.$mobID = $rt_s(562);
    $this.$mobObject = null;
    $this.$rotateTicks = 0;
}
$java.nms_TileEntityMobSpawner_readFromNBT = function($this, $par1NBTTagCompound) {
    $this.$mobID = nms_NBTTagCompound_getString($par1NBTTagCompound, $rt_s(2852));
    $this.$mobObject = null;
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
};
$java.nms_TileEntityMobSpawner_updateEntity = function($this) {
    var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand) >= 0.20000000298023224) {
            $this.$rotateTicks = $this.$rotateTicks + 1 | 0;
            return;
        }
        var$1 = $this.$worldObj4;
        var$2 = $rt_s(1172);
        var$3 = $this.$xCoord0 + nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand);
        var$4 = $this.$yCoord0 + nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand);
        var$5 = $this.$zCoord0 + nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand);
        var$6 = 0.0;
        var$7 = 0.0;
        var$8 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle(var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$1 = $this.$worldObj4;
        var$2 = $rt_s(1172);
        var$6 = $this.$xCoord0 + nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand);
        var$7 = $this.$yCoord0 + nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand);
        var$8 = $this.$zCoord0 + nle_EaglercraftRandom_nextFloat($this.$worldObj4.$rand);
        var$3 = 0.0;
        var$4 = 0.0;
        var$5 = 0.0;
        $ptr = 2;
    case 2:
        nms_World_spawnParticle(var$1, var$2, var$6, var$7, var$8, var$3, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $this.$rotateTicks = $this.$rotateTicks + 1 | 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, $ptr);
};
function nms_TileEntityNote() {
    var a = this; nms_TileEntity.call(a);
    a.$note = 0;
    a.$previousRedstoneState = 0;
}
$java.nms_TileEntityNote__init_ = function() {
    var var_0 = new nms_TileEntityNote();
    nms_TileEntityNote__init_(var_0);
    return var_0;
};
function nms_TileEntityNote__init_($this) {
    nms_TileEntity__init_($this);
    $this.$note = 0;
    $this.$previousRedstoneState = 0;
}
$java.nms_TileEntityNote_readFromNBT = function($this, $par1NBTTagCompound) {
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $this.$note = nms_NBTTagCompound_getByte($par1NBTTagCompound, $rt_s(1170));
    if ($this.$note < 0)
        $this.$note = 0;
    if ($this.$note > 24)
        $this.$note = 24;
};
$java.nms_TileEntityNote_triggerNote = function($this, $par1World, $par2, $par3, $par4) {
    var var$5, $var5, $var6, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$5 = nms_World_getBlockMaterial($par1World, $par2, $par3 + 1 | 0, $par4);
        nms_Material_$callClinit();
        if (var$5 !== nms_Material_air)
            return;
        $var5 = nms_World_getBlockMaterial($par1World, $par2, $par3 - 1 | 0, $par4);
        $var6 = 0;
        if ($var5 === nms_Material_rock)
            $var6 = 1;
        if ($var5 === $java.nms_Material_sand)
            $var6 = 2;
        if ($var5 === nms_Material_glass)
            $var6 = 3;
        if ($var5 === nms_Material_wood)
            $var6 = 4;
        nms_Block_$callClinit();
        var$8 = nms_Block_music.$blockID;
        var$9 = $this.$note;
        $ptr = 1;
    case 1:
        nms_World_addBlockEvent($par1World, $par2, $par3, $par4, var$8, $var6, var$9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par3, $par4, var$5, $var5, $var6, var$8, var$9, $ptr);
};
function nms_TileEntityPiston() {
    var a = this; nms_TileEntity.call(a);
    a.$storedBlockID = 0;
    a.$storedMetadata = 0;
    a.$storedOrientation = 0;
    a.$extending = 0;
    a.$shouldHeadBeRendered = 0;
    a.$progress = 0.0;
    a.$lastProgress = 0.0;
    a.$pushedObjects = null;
}
$java.nms_TileEntityPiston__init_ = function() {
    var var_0 = new nms_TileEntityPiston();
    nms_TileEntityPiston__init_(var_0);
    return var_0;
};
function nms_TileEntityPiston__init_($this) {
    nms_TileEntity__init_($this);
    $this.$pushedObjects = ju_ArrayList__init_0();
}
$java.nms_TileEntityPiston_getStoredBlockID = function($this) {
    return $this.$storedBlockID;
};
$java.nms_TileEntityPiston_getBlockMetadata = function($this) {
    return $this.$storedMetadata;
};
$java.nms_TileEntityPiston_isExtending = function($this) {
    return $this.$extending;
};
$java.nms_TileEntityPiston_getPistonOrientation = function($this) {
    return $this.$storedOrientation;
};
$java.nms_TileEntityPiston_shouldRenderHead = function($this) {
    return $this.$shouldHeadBeRendered;
};
$java.nms_TileEntityPiston_getProgress = function($this, $par1) {
    if ($par1 > 1.0)
        $par1 = 1.0;
    return $this.$lastProgress + ($this.$progress - $this.$lastProgress) * $par1;
};
$java.nms_TileEntityPiston_getOffsetX = function($this, $par1) {
    return !$this.$extending ? (1.0 - $java.nms_TileEntityPiston_getProgress($this, $par1)) * nms_Facing_offsetsXForSide.data[$this.$storedOrientation] : ($java.nms_TileEntityPiston_getProgress($this, $par1) - 1.0) * nms_Facing_offsetsXForSide.data[$this.$storedOrientation];
};
$java.nms_TileEntityPiston_getOffsetY = function($this, $par1) {
    return !$this.$extending ? (1.0 - $java.nms_TileEntityPiston_getProgress($this, $par1)) * nms_Facing_offsetsYForSide.data[$this.$storedOrientation] : ($java.nms_TileEntityPiston_getProgress($this, $par1) - 1.0) * nms_Facing_offsetsYForSide.data[$this.$storedOrientation];
};
$java.nms_TileEntityPiston_getOffsetZ = function($this, $par1) {
    return !$this.$extending ? (1.0 - $java.nms_TileEntityPiston_getProgress($this, $par1)) * nms_Facing_offsetsZForSide.data[$this.$storedOrientation] : ($java.nms_TileEntityPiston_getProgress($this, $par1) - 1.0) * nms_Facing_offsetsZForSide.data[$this.$storedOrientation];
};
$java.nms_TileEntityPiston_updatePushedObjects = function($this, $par1, $par2) {
    var $var3, $var4, var$5, var$6, var$7, var$8, var$9, $var5, $var6, var$12, var$13, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1 = !$this.$extending ? $par1 - 1.0 : 1.0 - $par1;
        nms_Block_$callClinit();
        $var3 = nms_Block_pistonMoving;
        $var4 = $this.$worldObj4;
        var$5 = $this.$xCoord0;
        var$6 = $this.$yCoord0;
        var$7 = $this.$zCoord0;
        var$8 = $this.$storedBlockID;
        var$9 = $this.$storedOrientation;
        $ptr = 1;
    case 1:
        $tmp = $java.nms_BlockPistonMoving_getAxisAlignedBB($var3, $var4, var$5, var$6, var$7, var$8, $par1, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $tmp;
        if ($var3 !== null) {
            $var4 = nms_World_getEntitiesWithinAABBExcludingEntity($this.$worldObj4, null, $var3);
            if (!ju_AbstractCollection_isEmpty($var4)) {
                ju_AbstractCollection_addAll($this.$pushedObjects, $var4);
                $var5 = ju_AbstractList_iterator($this.$pushedObjects);
                if (ju_AbstractList$1_hasNext($var5)) {
                    $var6 = ju_AbstractList$1_next($var5);
                    var$12 = $par2 * nms_Facing_offsetsXForSide.data[$this.$storedOrientation];
                    var$13 = $par2 * nms_Facing_offsetsYForSide.data[$this.$storedOrientation];
                    var$14 = $par2 * nms_Facing_offsetsZForSide.data[$this.$storedOrientation];
                    $ptr = 2;
                    continue main;
                }
                ju_ArrayList_clear($this.$pushedObjects);
            }
        }
        return;
    case 2:
        $var6.$moveEntity(var$12, var$13, var$14);
        if ($rt_suspending()) {
            break main;
        }
        if (!ju_AbstractList$1_hasNext($var5)) {
            ju_ArrayList_clear($this.$pushedObjects);
            return;
        }
        $var6 = ju_AbstractList$1_next($var5);
        var$12 = $par2 * nms_Facing_offsetsXForSide.data[$this.$storedOrientation];
        var$13 = $par2 * nms_Facing_offsetsYForSide.data[$this.$storedOrientation];
        var$14 = $par2 * nms_Facing_offsetsZForSide.data[$this.$storedOrientation];
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, $var4, var$5, var$6, var$7, var$8, var$9, $var5, $var6, var$12, var$13, var$14, $ptr);
};
$java.nms_TileEntityPiston_clearPistonTileEntity = function($this) {
    var var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$lastProgress < 1.0 && $this.$worldObj4 !== null) {
            $this.$progress = 1.0;
            $this.$lastProgress = 1.0;
            var$1 = $this.$worldObj4;
            var$2 = $this.$xCoord0;
            var$3 = $this.$yCoord0;
            var$4 = $this.$zCoord0;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        nms_World_removeBlockTileEntity(var$1, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $java.nms_TileEntity_invalidate($this);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = nms_World_getBlockId($this.$worldObj4, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0);
        nms_Block_$callClinit();
        if (var$2 != nms_Block_pistonMoving.$blockID)
            return;
        var$1 = $this.$worldObj4;
        var$2 = $this.$xCoord0;
        var$3 = $this.$yCoord0;
        var$4 = $this.$zCoord0;
        var$5 = $this.$storedBlockID;
        var$6 = $this.$storedMetadata;
        var$7 = 3;
        $ptr = 3;
    case 3:
        nms_World_setBlock(var$1, var$2, var$3, var$4, var$5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, $ptr);
};
$java.nms_TileEntityPiston_updateEntity = function($this) {
    var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$lastProgress = $this.$progress;
        if ($this.$lastProgress >= 1.0) {
            var$1 = 1.0;
            var$2 = 0.25;
            $ptr = 1;
            continue main;
        }
        $this.$progress = $this.$progress + 0.5;
        if ($this.$progress >= 1.0)
            $this.$progress = 1.0;
        if (!$this.$extending)
            return;
        var$1 = $this.$progress;
        var$2 = $this.$progress - $this.$lastProgress + 0.0625;
        $ptr = 5;
        continue main;
    case 1:
        $java.nms_TileEntityPiston_updatePushedObjects($this, var$1, var$2);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $this.$worldObj4;
        var$4 = $this.$xCoord0;
        var$5 = $this.$yCoord0;
        var$6 = $this.$zCoord0;
        $ptr = 2;
    case 2:
        nms_World_removeBlockTileEntity(var$3, var$4, var$5, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 3;
    case 3:
        $java.nms_TileEntity_invalidate($this);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = nms_World_getBlockId($this.$worldObj4, $this.$xCoord0, $this.$yCoord0, $this.$zCoord0);
        nms_Block_$callClinit();
        if (var$4 != nms_Block_pistonMoving.$blockID)
            return;
        var$3 = $this.$worldObj4;
        var$4 = $this.$xCoord0;
        var$5 = $this.$yCoord0;
        var$6 = $this.$zCoord0;
        var$7 = $this.$storedBlockID;
        var$8 = $this.$storedMetadata;
        var$9 = 3;
        $ptr = 4;
    case 4:
        nms_World_setBlock(var$3, var$4, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 5:
        $java.nms_TileEntityPiston_updatePushedObjects($this, var$1, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
};
$java.nms_TileEntityPiston_readFromNBT = function($this, $par1NBTTagCompound) {
    var var$2;
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $this.$storedBlockID = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2853));
    $this.$storedMetadata = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2854));
    $this.$storedOrientation = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2855));
    var$2 = nms_NBTTagCompound_getFloat($par1NBTTagCompound, $rt_s(2856));
    $this.$progress = var$2;
    $this.$lastProgress = var$2;
    $this.$extending = nms_NBTTagCompound_getBoolean($par1NBTTagCompound, $rt_s(2857));
};
function nms_TileEntityBrewingStand() {
    var a = this; nms_TileEntity.call(a);
    a.$brewingItemStacks = null;
    a.$brewTime0 = 0;
    a.$filledSlots = 0;
    a.$ingredientID = 0;
    a.$field_94132_e = null;
}
$java.nms_TileEntityBrewingStand_field_102017_a = null;
$java.nms_TileEntityBrewingStand_field_102016_b = null;
$java.nms_TileEntityBrewingStand__init_ = function() {
    var var_0 = new nms_TileEntityBrewingStand();
    nms_TileEntityBrewingStand__init_(var_0);
    return var_0;
};
function nms_TileEntityBrewingStand__init_($this) {
    nms_TileEntity__init_($this);
    $this.$brewingItemStacks = $rt_createArray(nms_ItemStack, 4);
}
$java.nms_TileEntityBrewingStand_getInvName = function($this) {
    return !$java.nms_TileEntityBrewingStand_isInvNameLocalized($this) ? $rt_s(2858) : $this.$field_94132_e;
};
$java.nms_TileEntityBrewingStand_isInvNameLocalized = function($this) {
    return $this.$field_94132_e !== null && jl_String_length($this.$field_94132_e) > 0 ? 1 : 0;
};
$java.nms_TileEntityBrewingStand_func_94131_a = function($this, $par1Str) {
    $this.$field_94132_e = $par1Str;
};
$java.nms_TileEntityBrewingStand_getSizeInventory = function($this) {
    return $this.$brewingItemStacks.data.length;
};
$java.nms_TileEntityBrewingStand_updateEntity = function($this) {
    var $var1, var$2, var$3, var$4, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$brewTime0 > 0) {
            $this.$brewTime0 = $this.$brewTime0 - 1 | 0;
            if (!$this.$brewTime0) {
                $java.nms_TileEntityBrewingStand_brewPotions($this);
                $ptr = 1;
                continue main;
            }
            if (!$java.nms_TileEntityBrewingStand_canBrew($this)) {
                $this.$brewTime0 = 0;
                $ptr = 3;
                continue main;
            }
            if ($this.$ingredientID != $this.$brewingItemStacks.data[3].$itemID0) {
                $this.$brewTime0 = 0;
                $ptr = 4;
                continue main;
            }
        } else if ($java.nms_TileEntityBrewingStand_canBrew($this)) {
            $this.$brewTime0 = 400;
            $this.$ingredientID = $this.$brewingItemStacks.data[3].$itemID0;
        }
        $var1 = $java.nms_TileEntityBrewingStand_getFilledSlots($this);
        if ($var1 == $this.$filledSlots)
            return;
        $this.$filledSlots = $var1;
        var$2 = $this.$worldObj4;
        var$3 = $this.$xCoord0;
        var$4 = $this.$yCoord0;
        var$5 = $this.$zCoord0;
        var$6 = 2;
        $ptr = 2;
        continue main;
    case 1:
        $java.nms_TileEntity_onInventoryChanged($this);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $java.nms_TileEntityBrewingStand_getFilledSlots($this);
        if ($var1 == $this.$filledSlots)
            return;
        $this.$filledSlots = $var1;
        var$2 = $this.$worldObj4;
        var$3 = $this.$xCoord0;
        var$4 = $this.$yCoord0;
        var$5 = $this.$zCoord0;
        var$6 = 2;
        $ptr = 2;
    case 2:
        nms_World_setBlockMetadataWithNotify(var$2, var$3, var$4, var$5, $var1, var$6);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        $java.nms_TileEntity_onInventoryChanged($this);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $java.nms_TileEntityBrewingStand_getFilledSlots($this);
        if ($var1 == $this.$filledSlots)
            return;
        $this.$filledSlots = $var1;
        var$2 = $this.$worldObj4;
        var$3 = $this.$xCoord0;
        var$4 = $this.$yCoord0;
        var$5 = $this.$zCoord0;
        var$6 = 2;
        $ptr = 2;
        continue main;
    case 4:
        $java.nms_TileEntity_onInventoryChanged($this);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $java.nms_TileEntityBrewingStand_getFilledSlots($this);
        if ($var1 == $this.$filledSlots)
            return;
        $this.$filledSlots = $var1;
        var$2 = $this.$worldObj4;
        var$3 = $this.$xCoord0;
        var$4 = $this.$yCoord0;
        var$5 = $this.$zCoord0;
        var$6 = 2;
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, var$2, var$3, var$4, var$5, var$6, $ptr);
};
$java.nms_TileEntityBrewingStand_getBrewTime = function($this) {
    return $this.$brewTime0;
};
$java.nms_TileEntityBrewingStand_canBrew = function($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var7;
    if ($this.$brewingItemStacks.data[3] !== null && $this.$brewingItemStacks.data[3].$stackSize > 0) {
        $var1 = $this.$brewingItemStacks.data[3];
        nms_Item_$callClinit();
        if (!nms_Item_isPotionIngredient(nms_Item_itemsList.data[$var1.$itemID0]))
            return 0;
        $var2 = 0;
        $var3 = 0;
        a: {
            while ($var3 < 3) {
                b: {
                    if ($this.$brewingItemStacks.data[$var3] !== null && $this.$brewingItemStacks.data[$var3].$itemID0 == nms_Item_potion.$itemID) {
                        $var4 = $this.$brewingItemStacks.data[$var3].$itemDamage;
                        $var5 = $java.nms_TileEntityBrewingStand_getPotionResult($this, $var4, $var1);
                        if (!$java.nms_ItemPotion_isSplash($var4) && $java.nms_ItemPotion_isSplash($var5)) {
                            $var2 = 1;
                            break a;
                        }
                        $var6 = $java.nms_ItemPotion_getEffects0(nms_Item_potion, $var4);
                        $var7 = $java.nms_ItemPotion_getEffects0(nms_Item_potion, $var5);
                        if (!($var4 > 0 && $var6 === $var7)) {
                            if ($var6 !== null) {
                                if (ju_AbstractList_equals($var6, $var7))
                                    break b;
                                if ($var7 === null)
                                    break b;
                            }
                            if ($var4 != $var5) {
                                $var2 = 1;
                                break a;
                            }
                        }
                    }
                }
                $var3 = $var3 + 1 | 0;
            }
        }
        return $var2;
    }
    return 0;
};
$java.nms_TileEntityBrewingStand_brewPotions = function($this) {
    var $var1, $var2, $var4, $var3, $var5, $var6;
    if ($java.nms_TileEntityBrewingStand_canBrew($this)) {
        $var1 = $this.$brewingItemStacks.data[3];
        $var2 = 0;
        while ($var2 < 3) {
            a: {
                if ($this.$brewingItemStacks.data[$var2] !== null) {
                    $var4 = $this.$brewingItemStacks.data[$var2].$itemID0;
                    nms_Item_$callClinit();
                    if ($var4 == nms_Item_potion.$itemID) {
                        b: {
                            $var3 = $this.$brewingItemStacks.data[$var2].$itemDamage;
                            $var4 = $java.nms_TileEntityBrewingStand_getPotionResult($this, $var3, $var1);
                            $var5 = $java.nms_ItemPotion_getEffects0(nms_Item_potion, $var3);
                            $var6 = $java.nms_ItemPotion_getEffects0(nms_Item_potion, $var4);
                            if (!($var3 > 0 && $var5 === $var6)) {
                                if ($var5 !== null) {
                                    if (ju_AbstractList_equals($var5, $var6))
                                        break b;
                                    if ($var6 === null)
                                        break b;
                                }
                                if ($var3 == $var4)
                                    break a;
                                nms_ItemStack_setItemDamage($this.$brewingItemStacks.data[$var2], $var4);
                                break a;
                            }
                        }
                        if (!$java.nms_ItemPotion_isSplash($var3) && $java.nms_ItemPotion_isSplash($var4))
                            nms_ItemStack_setItemDamage($this.$brewingItemStacks.data[$var2], $var4);
                    }
                }
            }
            $var2 = $var2 + 1 | 0;
        }
        nms_Item_$callClinit();
        if (nms_Item_hasContainerItem(nms_Item_itemsList.data[$var1.$itemID0]))
            $this.$brewingItemStacks.data[3] = nms_ItemStack__init_5(nms_Item_itemsList.data[$var1.$itemID0].$containerItem);
        else {
            $var1 = $this.$brewingItemStacks.data[3];
            $var1.$stackSize = $var1.$stackSize - 1 | 0;
            if ($this.$brewingItemStacks.data[3].$stackSize <= 0)
                $this.$brewingItemStacks.data[3] = null;
        }
    }
};
$java.nms_TileEntityBrewingStand_getPotionResult = function($this, $par1, $par2ItemStack) {
    var var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
    if ($par2ItemStack !== null) {
        nms_Item_$callClinit();
        if (nms_Item_isPotionIngredient(nms_Item_itemsList.data[$par2ItemStack.$itemID0])) {
            $par2ItemStack = nms_Item_itemsList.data[$par2ItemStack.$itemID0].$potionEffect;
            nms_PotionHelper_$callClinit();
            var$3 = 0;
            var$4 = jl_String_length($par2ItemStack);
            var$5 = 0;
            var$6 = 0;
            var$7 = 0;
            var$8 = 0;
            var$9 = 0;
            while (var$3 < var$4) {
                var$10 = jl_String_charAt($par2ItemStack, var$3);
                if (var$10 >= 48 && var$10 <= 57) {
                    var$9 = (var$9 * 10 | 0) + (var$10 - 48 | 0) | 0;
                    var$5 = 1;
                } else if (var$10 == 33) {
                    if (var$5) {
                        $par1 = $java.nms_PotionHelper_brewBitOperations($par1, var$9, var$7, var$6, var$8);
                        var$8 = 0;
                        var$7 = 0;
                        var$5 = 0;
                        var$9 = 0;
                    }
                    var$6 = 1;
                } else if (var$10 == 45) {
                    if (var$5) {
                        $par1 = $java.nms_PotionHelper_brewBitOperations($par1, var$9, var$7, var$6, var$8);
                        var$8 = 0;
                        var$6 = 0;
                        var$5 = 0;
                        var$9 = 0;
                    }
                    var$7 = 1;
                } else if (var$10 == 43) {
                    if (var$5) {
                        $par1 = $java.nms_PotionHelper_brewBitOperations($par1, var$9, var$7, var$6, var$8);
                        var$8 = 0;
                        var$6 = 0;
                        var$7 = 0;
                        var$5 = 0;
                        var$9 = 0;
                    }
                } else if (var$10 == 38) {
                    if (var$5) {
                        $par1 = $java.nms_PotionHelper_brewBitOperations($par1, var$9, var$7, var$6, var$8);
                        var$6 = 0;
                        var$7 = 0;
                        var$5 = 0;
                        var$9 = 0;
                    }
                    var$8 = 1;
                }
                var$3 = var$3 + 1 | 0;
            }
            if (var$5)
                $par1 = $java.nms_PotionHelper_brewBitOperations($par1, var$9, var$7, var$6, var$8);
            $par1 = $par1 & 32767;
        }
    }
    return $par1;
};
$java.nms_TileEntityBrewingStand_readFromNBT = function($this, $par1NBTTagCompound) {
    var $var2, $var3, $var4, $var5;
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $var2 = nms_NBTTagCompound_getTagList($par1NBTTagCompound, $rt_s(2841));
    $this.$brewingItemStacks = $rt_createArray(nms_ItemStack, $java.nms_TileEntityBrewingStand_getSizeInventory($this));
    $var3 = 0;
    while ($var3 < nms_NBTTagList_tagCount($var2)) {
        $var4 = nms_NBTTagList_tagAt($var2, $var3);
        $var5 = nms_NBTTagCompound_getByte($var4, $rt_s(2842));
        if ($var5 >= 0 && $var5 < $this.$brewingItemStacks.data.length)
            $this.$brewingItemStacks.data[$var5] = nms_ItemStack_loadItemStackFromNBT($var4);
        $var3 = $var3 + 1 | 0;
    }
    $this.$brewTime0 = nms_NBTTagCompound_getShort($par1NBTTagCompound, $rt_s(2859));
    if (nms_NBTTagCompound_hasKey($par1NBTTagCompound, $rt_s(2845)))
        $this.$field_94132_e = nms_NBTTagCompound_getString($par1NBTTagCompound, $rt_s(2845));
};
$java.nms_TileEntityBrewingStand_getStackInSlot = function($this, $par1) {
    return $par1 >= 0 && $par1 < $this.$brewingItemStacks.data.length ? $this.$brewingItemStacks.data[$par1] : null;
};
$java.nms_TileEntityBrewingStand_decrStackSize = function($this, $par1, $par2) {
    var $var3;
    if ($par1 >= 0 && $par1 < $this.$brewingItemStacks.data.length) {
        $var3 = $this.$brewingItemStacks.data[$par1];
        $this.$brewingItemStacks.data[$par1] = null;
        return $var3;
    }
    return null;
};
$java.nms_TileEntityBrewingStand_setInventorySlotContents = function($this, $par1, $par2ItemStack) {
    if ($par1 >= 0 && $par1 < $this.$brewingItemStacks.data.length)
        $this.$brewingItemStacks.data[$par1] = $par2ItemStack;
};
$java.nms_TileEntityBrewingStand_getInventoryStackLimit = function($this) {
    return 64;
};
$java.nms_TileEntityBrewingStand_setBrewTime = function($this, $par1) {
    $this.$brewTime0 = $par1;
};
$java.nms_TileEntityBrewingStand_getFilledSlots = function($this) {
    var $var1, $var2;
    $var1 = 0;
    $var2 = 0;
    while ($var2 < 3) {
        if ($this.$brewingItemStacks.data[$var2] !== null)
            $var1 = $var1 | 1 << $var2;
        $var2 = $var2 + 1 | 0;
    }
    return $var1;
};
function nms_TileEntityBrewingStand__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(1);
    var$1.data[0] = 3;
    $java.nms_TileEntityBrewingStand_field_102017_a = var$1;
    var$1 = $rt_createIntArray(3);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 1;
    var$2[2] = 2;
    $java.nms_TileEntityBrewingStand_field_102016_b = var$1;
}
function nms_TileEntityEnchantmentTable() {
    var a = this; nms_TileEntity.call(a);
    a.$tickCount = 0;
    a.$pageFlip = 0.0;
    a.$pageFlipPrev = 0.0;
    a.$field_70373_d = 0.0;
    a.$field_70374_e = 0.0;
    a.$bookSpread = 0.0;
    a.$bookSpreadPrev = 0.0;
    a.$bookRotation2 = 0.0;
    a.$bookRotationPrev = 0.0;
    a.$bookRotation = 0.0;
    a.$field_94136_s = null;
}
$java.nms_TileEntityEnchantmentTable_rand = null;
$java.nms_TileEntityEnchantmentTable_$callClinit = function() {
    $java.nms_TileEntityEnchantmentTable_$callClinit = $rt_eraseClinit(nms_TileEntityEnchantmentTable);
    $java.nms_TileEntityEnchantmentTable__clinit_();
};
$java.nms_TileEntityEnchantmentTable__init_ = function() {
    var var_0 = new nms_TileEntityEnchantmentTable();
    nms_TileEntityEnchantmentTable__init_(var_0);
    return var_0;
};
function nms_TileEntityEnchantmentTable__init_($this) {
    $java.nms_TileEntityEnchantmentTable_$callClinit();
    nms_TileEntity__init_($this);
}
$java.nms_TileEntityEnchantmentTable_readFromNBT = function($this, $par1NBTTagCompound) {
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    if (nms_NBTTagCompound_hasKey($par1NBTTagCompound, $rt_s(2845)))
        $this.$field_94136_s = nms_NBTTagCompound_getString($par1NBTTagCompound, $rt_s(2845));
};
$java.nms_TileEntityEnchantmentTable_updateEntity = function($this) {
    var $var1, $var2, $var6, $var7, $var3, $var8;
    $this.$bookSpreadPrev = $this.$bookSpread;
    $this.$bookRotationPrev = $this.$bookRotation2;
    $var1 = nms_World_getClosestPlayer($this.$worldObj4, $this.$xCoord0 + 0.5, $this.$yCoord0 + 0.5, $this.$zCoord0 + 0.5, 3.0);
    if ($var1 === null) {
        $this.$bookRotation = $this.$bookRotation + 0.019999999552965164;
        $this.$bookSpread = $this.$bookSpread - 0.10000000149011612;
    } else
        a: {
            $var2 = $var1.$posX - ($this.$xCoord0 + 0.5);
            $this.$bookRotation = jl_Math_atan2($var1.$posZ - ($this.$zCoord0 + 0.5), $var2);
            $this.$bookSpread = $this.$bookSpread + 0.10000000149011612;
            if (!($this.$bookSpread >= 0.5 && nle_EaglercraftRandom_nextInt($java.nms_TileEntityEnchantmentTable_rand, 40))) {
                $var6 = $this.$field_70373_d;
                while (true) {
                    $this.$field_70373_d = $this.$field_70373_d + (nle_EaglercraftRandom_nextInt($java.nms_TileEntityEnchantmentTable_rand, 4) - nle_EaglercraftRandom_nextInt($java.nms_TileEntityEnchantmentTable_rand, 4) | 0);
                    if ($var6 === $this.$field_70373_d)
                        continue;
                    else
                        break a;
                }
            }
        }
    while ($this.$bookRotation2 >= 3.1415927410125732) {
        $this.$bookRotation2 = $this.$bookRotation2 - 6.2831854820251465;
    }
    while ($this.$bookRotation2 < (-3.1415927410125732)) {
        $this.$bookRotation2 = $this.$bookRotation2 + 6.2831854820251465;
    }
    while ($this.$bookRotation >= 3.1415927410125732) {
        $this.$bookRotation = $this.$bookRotation - 6.2831854820251465;
    }
    while ($this.$bookRotation < (-3.1415927410125732)) {
        $this.$bookRotation = $this.$bookRotation + 6.2831854820251465;
    }
    $var7 = $this.$bookRotation - $this.$bookRotation2;
    while ($var7 >= 3.1415927410125732) {
        $var7 = $var7 - 6.2831854820251465;
    }
    while ($var7 < (-3.1415927410125732)) {
        $var7 = $var7 + 6.2831854820251465;
    }
    $this.$bookRotation2 = $this.$bookRotation2 + $var7 * 0.4000000059604645;
    if ($this.$bookSpread < 0.0)
        $this.$bookSpread = 0.0;
    if ($this.$bookSpread > 1.0)
        $this.$bookSpread = 1.0;
    $this.$tickCount = $this.$tickCount + 1 | 0;
    $this.$pageFlipPrev = $this.$pageFlip;
    $var3 = ($this.$field_70373_d - $this.$pageFlip) * 0.4000000059604645;
    $var8 = 0.20000000298023224;
    $var6 = (-0.20000000298023224);
    if ($var3 >= $var6)
        $var6 = $var3;
    if ($var6 <= $var8)
        $var8 = $var6;
    $this.$field_70374_e = $this.$field_70374_e + ($var8 - $this.$field_70374_e) * 0.8999999761581421;
    $this.$pageFlip = $this.$pageFlip + $this.$field_70374_e;
};
$java.nms_TileEntityEnchantmentTable_func_94134_a = function($this, $par1Str) {
    $this.$field_94136_s = $par1Str;
};
$java.nms_TileEntityEnchantmentTable__clinit_ = function() {
    $java.nms_TileEntityEnchantmentTable_rand = nle_EaglercraftRandom__init_0();
};
function nms_TileEntityEndPortal() {
    nms_TileEntity.call(this);
}
$java.nms_TileEntityEndPortal__init_ = function() {
    var var_0 = new nms_TileEntityEndPortal();
    nms_TileEntityEndPortal__init_(var_0);
    return var_0;
};
function nms_TileEntityEndPortal__init_($this) {
    nms_TileEntity__init_($this);
}
function nms_TileEntityCommandBlock() {
    var a = this; nms_TileEntity.call(a);
    a.$succesCount = 0;
    a.$command = null;
    a.$commandSenderName = null;
}
$java.nms_TileEntityCommandBlock__init_ = function() {
    var var_0 = new nms_TileEntityCommandBlock();
    nms_TileEntityCommandBlock__init_(var_0);
    return var_0;
};
function nms_TileEntityCommandBlock__init_($this) {
    nms_TileEntity__init_($this);
    $this.$succesCount = 0;
    $this.$command = $rt_s(36);
    $this.$commandSenderName = $rt_s(1);
}
$java.nms_TileEntityCommandBlock_getCommand = function($this) {
    return $this.$command;
};
$java.nms_TileEntityCommandBlock_setCommandSenderName = function($this, $par1Str) {
    $this.$commandSenderName = $par1Str;
};
$java.nms_TileEntityCommandBlock_readFromNBT = function($this, $par1NBTTagCompound) {
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $this.$command = nms_NBTTagCompound_getString($par1NBTTagCompound, $rt_s(2860));
    $this.$succesCount = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2861));
    if (nms_NBTTagCompound_hasKey($par1NBTTagCompound, $rt_s(2845)))
        $this.$commandSenderName = nms_NBTTagCompound_getString($par1NBTTagCompound, $rt_s(2845));
};
$java.nms_TileEntityCommandBlock_func_96103_d = function($this) {
    return $this.$succesCount;
};
function nms_TileEntityBeacon() {
    var a = this; nms_TileEntity.call(a);
    a.$field_82137_b = Long_ZERO;
    a.$field_82138_c = 0.0;
    a.$isBeaconActive = 0;
    a.$levels = 0;
    a.$primaryEffect = 0;
    a.$secondaryEffect = 0;
    a.$payment = null;
    a.$field_94048_i = null;
}
$java.nms_TileEntityBeacon_effectsList = null;
$java.nms_TileEntityBeacon_$callClinit = function() {
    $java.nms_TileEntityBeacon_$callClinit = $rt_eraseClinit(nms_TileEntityBeacon);
    $java.nms_TileEntityBeacon__clinit_();
};
$java.nms_TileEntityBeacon__init_ = function() {
    var var_0 = new nms_TileEntityBeacon();
    nms_TileEntityBeacon__init_(var_0);
    return var_0;
};
function nms_TileEntityBeacon__init_($this) {
    $java.nms_TileEntityBeacon_$callClinit();
    nms_TileEntity__init_($this);
    $this.$levels = (-1);
}
$java.nms_TileEntityBeacon_updateEntity = function($this) {
    var var$1, var$2, var$3, var$4, var$5, var$6;
    if (Long_eq(Long_rem(nms_World_getTotalWorldTime($this.$worldObj4), Long_fromInt(80)), Long_ZERO)) {
        if (!nms_World_canBlockSeeTheSky($this.$worldObj4, $this.$xCoord0, $this.$yCoord0 + 1 | 0, $this.$zCoord0)) {
            $this.$isBeaconActive = 0;
            $this.$levels = 0;
        } else {
            $this.$isBeaconActive = 1;
            $this.$levels = 0;
            var$1 = 1;
            a: {
                while (true) {
                    if (var$1 > 4)
                        break a;
                    var$2 = $this.$yCoord0 - var$1 | 0;
                    if (var$2 < 0)
                        break a;
                    var$3 = 1;
                    var$4 = $this.$xCoord0 - var$1 | 0;
                    while (var$4 <= ($this.$xCoord0 + var$1 | 0) && var$3) {
                        var$5 = $this.$zCoord0 - var$1 | 0;
                        b: {
                            while (var$5 <= ($this.$zCoord0 + var$1 | 0)) {
                                var$6 = nms_World_getBlockId($this.$worldObj4, var$4, var$2, var$5);
                                nms_Block_$callClinit();
                                if (var$6 != nms_Block_blockEmerald.$blockID && var$6 != nms_Block_blockGold.$blockID && var$6 != nms_Block_blockDiamond.$blockID && var$6 != nms_Block_blockIron.$blockID) {
                                    var$3 = 0;
                                    break b;
                                }
                                var$5 = var$5 + 1 | 0;
                            }
                        }
                        var$4 = var$4 + 1 | 0;
                    }
                    if (!var$3)
                        break;
                    var$2 = var$1 + 1 | 0;
                    $this.$levels = var$1;
                    var$1 = var$2;
                }
            }
            if (!$this.$levels)
                $this.$isBeaconActive = 0;
        }
    }
};
$java.nms_TileEntityBeacon_func_82125_v_ = function($this) {
    var $var1;
    if (!$this.$isBeaconActive)
        return 0.0;
    $var1 = Long_sub(nms_World_getTotalWorldTime($this.$worldObj4), $this.$field_82137_b).lo;
    $this.$field_82137_b = nms_World_getTotalWorldTime($this.$worldObj4);
    if ($var1 > 1) {
        $this.$field_82138_c = $this.$field_82138_c - $var1 / 40.0;
        if ($this.$field_82138_c < 0.0)
            $this.$field_82138_c = 0.0;
    }
    $this.$field_82138_c = $this.$field_82138_c + 0.02500000037252903;
    if ($this.$field_82138_c > 1.0)
        $this.$field_82138_c = 1.0;
    return $this.$field_82138_c;
};
$java.nms_TileEntityBeacon_getPrimaryEffect = function($this) {
    return $this.$primaryEffect;
};
$java.nms_TileEntityBeacon_getSecondaryEffect = function($this) {
    return $this.$secondaryEffect;
};
$java.nms_TileEntityBeacon_getLevels = function($this) {
    return $this.$levels;
};
$java.nms_TileEntityBeacon_setLevels = function($this, $par1) {
    $this.$levels = $par1;
};
$java.nms_TileEntityBeacon_setPrimaryEffect = function($this, $par1) {
    var $var2, $var3, $var4, $var5;
    $this.$primaryEffect = 0;
    $var2 = 0;
    while ($var2 < $this.$levels && $var2 < 3) {
        $var3 = $java.nms_TileEntityBeacon_effectsList.data[$var2].data;
        $var4 = $var3.length;
        $var5 = 0;
        while ($var5 < $var4) {
            if ($var3[$var5].$id5 == $par1) {
                $this.$primaryEffect = $par1;
                return;
            }
            $var5 = $var5 + 1 | 0;
        }
        $var2 = $var2 + 1 | 0;
    }
};
$java.nms_TileEntityBeacon_setSecondaryEffect = function($this, $par1) {
    var $var2, $var3, $var4, $var5;
    a: {
        $this.$secondaryEffect = 0;
        if ($this.$levels >= 4) {
            $var2 = 0;
            while (true) {
                if ($var2 >= 4)
                    break a;
                $var3 = $java.nms_TileEntityBeacon_effectsList.data[$var2].data;
                $var4 = $var3.length;
                $var5 = 0;
                while ($var5 < $var4) {
                    if ($var3[$var5].$id5 == $par1) {
                        $this.$secondaryEffect = $par1;
                        return;
                    }
                    $var5 = $var5 + 1 | 0;
                }
                $var2 = $var2 + 1 | 0;
            }
        }
    }
};
$java.nms_TileEntityBeacon_getMaxRenderDistanceSquared = function($this) {
    return 65536.0;
};
$java.nms_TileEntityBeacon_readFromNBT = function($this, $par1NBTTagCompound) {
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $this.$primaryEffect = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2862));
    $this.$secondaryEffect = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2863));
    $this.$levels = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2864));
};
$java.nms_TileEntityBeacon_getSizeInventory = function($this) {
    return 1;
};
$java.nms_TileEntityBeacon_getStackInSlot = function($this, $par1) {
    return $par1 ? null : $this.$payment;
};
$java.nms_TileEntityBeacon_decrStackSize = function($this, $par1, $par2) {
    var $var3;
    if (!$par1 && $this.$payment !== null) {
        if ($par2 >= $this.$payment.$stackSize) {
            $var3 = $this.$payment;
            $this.$payment = null;
            return $var3;
        }
        $var3 = $this.$payment;
        $var3.$stackSize = $var3.$stackSize - $par2 | 0;
        return nms_ItemStack__init_0($this.$payment.$itemID0, $par2, $this.$payment.$itemDamage);
    }
    return null;
};
$java.nms_TileEntityBeacon_setInventorySlotContents = function($this, $par1, $par2ItemStack) {
    if (!$par1)
        $this.$payment = $par2ItemStack;
};
$java.nms_TileEntityBeacon_func_94047_a = function($this, $par1Str) {
    $this.$field_94048_i = $par1Str;
};
$java.nms_TileEntityBeacon_getInventoryStackLimit = function($this) {
    return 1;
};
$java.nms_TileEntityBeacon__clinit_ = function() {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createArray($rt_arraycls(nms_Potion), 4);
    var$2 = var$1.data;
    var$3 = $rt_createArray(nms_Potion, 2);
    var$4 = var$3.data;
    var$4[0] = nms_Potion_moveSpeed;
    var$4[1] = nms_Potion_digSpeed;
    var$2[0] = var$3;
    var$3 = $rt_createArray(nms_Potion, 2);
    var$4 = var$3.data;
    var$4[0] = $java.nms_Potion_resistance;
    var$4[1] = nms_Potion_jump;
    var$2[1] = var$3;
    var$3 = $rt_createArray(nms_Potion, 1);
    var$3.data[0] = nms_Potion_damageBoost;
    var$2[2] = var$3;
    var$4 = $rt_createArray(nms_Potion, 1);
    var$4.data[0] = nms_Potion_regeneration;
    var$2[3] = var$4;
    $java.nms_TileEntityBeacon_effectsList = var$1;
};
function nms_TileEntityDaylightDetector() {
    nms_TileEntity.call(this);
}
$java.nms_TileEntityDaylightDetector__init_ = function() {
    var var_0 = new nms_TileEntityDaylightDetector();
    nms_TileEntityDaylightDetector__init_(var_0);
    return var_0;
};
function nms_TileEntityDaylightDetector__init_($this) {
    nms_TileEntity__init_($this);
}
$java.nms_TileEntityDaylightDetector_updateEntity = function($this) {
    return;
};
function nms_TileEntityHopper() {
    var a = this; nms_TileEntity.call(a);
    a.$hopperItemStacks = null;
    a.$inventoryName = null;
    a.$transferCooldown = 0;
}
$java.nms_TileEntityHopper__init_ = function() {
    var var_0 = new nms_TileEntityHopper();
    nms_TileEntityHopper__init_(var_0);
    return var_0;
};
function nms_TileEntityHopper__init_($this) {
    nms_TileEntity__init_($this);
    $this.$hopperItemStacks = $rt_createArray(nms_ItemStack, 5);
    $this.$transferCooldown = (-1);
}
$java.nms_TileEntityHopper_readFromNBT = function($this, $par1NBTTagCompound) {
    var $var2, $var3, $var4, $var5;
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $var2 = nms_NBTTagCompound_getTagList($par1NBTTagCompound, $rt_s(2841));
    $this.$hopperItemStacks = $rt_createArray(nms_ItemStack, nms_TileEntityHopper_getSizeInventory($this));
    if (nms_NBTTagCompound_hasKey($par1NBTTagCompound, $rt_s(2845)))
        $this.$inventoryName = nms_NBTTagCompound_getString($par1NBTTagCompound, $rt_s(2845));
    $this.$transferCooldown = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2865));
    $var3 = 0;
    while ($var3 < nms_NBTTagList_tagCount($var2)) {
        $var4 = nms_NBTTagList_tagAt($var2, $var3);
        $var5 = nms_NBTTagCompound_getByte($var4, $rt_s(2842));
        if ($var5 >= 0 && $var5 < $this.$hopperItemStacks.data.length)
            $this.$hopperItemStacks.data[$var5] = nms_ItemStack_loadItemStackFromNBT($var4);
        $var3 = $var3 + 1 | 0;
    }
};
$java.nms_TileEntityHopper_onInventoryChanged = function($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_TileEntity_onInventoryChanged($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
};
function nms_TileEntityHopper_getSizeInventory($this) {
    return $this.$hopperItemStacks.data.length;
}
$java.nms_TileEntityHopper_getStackInSlot = function($this, $par1) {
    return $this.$hopperItemStacks.data[$par1];
};
$java.nms_TileEntityHopper_decrStackSize = function($this, $par1, $par2) {
    var $var3;
    if ($this.$hopperItemStacks.data[$par1] === null)
        return null;
    if ($this.$hopperItemStacks.data[$par1].$stackSize <= $par2) {
        $var3 = $this.$hopperItemStacks.data[$par1];
        $this.$hopperItemStacks.data[$par1] = null;
        return $var3;
    }
    $var3 = nms_ItemStack_splitStack($this.$hopperItemStacks.data[$par1], $par2);
    if (!$this.$hopperItemStacks.data[$par1].$stackSize)
        $this.$hopperItemStacks.data[$par1] = null;
    return $var3;
};
$java.nms_TileEntityHopper_setInventorySlotContents = function($this, $par1, $par2ItemStack) {
    $this.$hopperItemStacks.data[$par1] = $par2ItemStack;
    if ($par2ItemStack !== null && $par2ItemStack.$stackSize > 64)
        $par2ItemStack.$stackSize = 64;
};
$java.nms_TileEntityHopper_getInvName = function($this) {
    return !$java.nms_TileEntityHopper_isInvNameLocalized($this) ? $rt_s(2866) : $this.$inventoryName;
};
$java.nms_TileEntityHopper_isInvNameLocalized = function($this) {
    return $this.$inventoryName !== null && jl_String_length($this.$inventoryName) > 0 ? 1 : 0;
};
$java.nms_TileEntityHopper_setInventoryName = function($this, $par1Str) {
    $this.$inventoryName = $par1Str;
};
$java.nms_TileEntityHopper_getInventoryStackLimit = function($this) {
    return 64;
};
$java.nms_TileEntityHopper_openChest = function($this) {
    return;
};
$java.nms_TileEntityHopper_closeChest = function($this) {
    return;
};
$java.nms_TileEntityHopper_updateEntity = function($this) {
    return;
};
function nms_TileEntityComparator() {
    nms_TileEntity.call(this);
    this.$field_96101_a = 0;
}
$java.nms_TileEntityComparator__init_ = function() {
    var var_0 = new nms_TileEntityComparator();
    nms_TileEntityComparator__init_(var_0);
    return var_0;
};
function nms_TileEntityComparator__init_($this) {
    nms_TileEntity__init_($this);
    $this.$field_96101_a = 0;
}
$java.nms_TileEntityComparator_readFromNBT = function($this, $par1NBTTagCompound) {
    $java.nms_TileEntity_readFromNBT($this, $par1NBTTagCompound);
    $this.$field_96101_a = nms_NBTTagCompound_getInteger($par1NBTTagCompound, $rt_s(2867));
};
$java.nms_TileEntityComparator_func_96100_a = function($this) {
    return $this.$field_96101_a;
};
$java.nms_TileEntityComparator_func_96099_a = function($this, $par1) {
    $this.$field_96101_a = $par1;
};
function nms_Enchantment() {
    var a = this; jl_Object.call(a);
    a.$effectId = 0;
    a.$weight = 0;
    a.$type1 = null;
    a.$name16 = null;
}
var nms_Enchantment_enchantmentsList = null;
var nms_Enchantment_field_92090_c = null;
$java.nms_Enchantment_protection = null;
var nms_Enchantment_fireProtection = null;
$java.nms_Enchantment_featherFalling = null;
$java.nms_Enchantment_blastProtection = null;
$java.nms_Enchantment_projectileProtection = null;
var nms_Enchantment_respiration = null;
var nms_Enchantment_aquaAffinity = null;
$java.nms_Enchantment_thorns = null;
$java.nms_Enchantment_sharpness = null;
$java.nms_Enchantment_smite = null;
$java.nms_Enchantment_baneOfArthropods = null;
$java.nms_Enchantment_knockback = null;
$java.nms_Enchantment_fireAspect = null;
$java.nms_Enchantment_looting = null;
var nms_Enchantment_efficiency = null;
$java.nms_Enchantment_silkTouch = null;
var nms_Enchantment_unbreaking = null;
$java.nms_Enchantment_fortune = null;
$java.nms_Enchantment_power = null;
$java.nms_Enchantment_punch = null;
$java.nms_Enchantment_flame = null;
$java.nms_Enchantment_infinity = null;
function nms_Enchantment_$callClinit() {
    nms_Enchantment_$callClinit = $rt_eraseClinit(nms_Enchantment);
    $java.nms_Enchantment__clinit_();
}
$java.nms_Enchantment__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_Enchantment();
    $java.nms_Enchantment__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_Enchantment__init_0 = function($this, $par1, $par2, $par3EnumEnchantmentType) {
    nms_Enchantment_$callClinit();
    $this.$effectId = $par1;
    $this.$weight = $par2;
    $this.$type1 = $par3EnumEnchantmentType;
    if (nms_Enchantment_enchantmentsList.data[$par1] === null) {
        nms_Enchantment_enchantmentsList.data[$par1] = $this;
        return;
    }
    $par3EnumEnchantmentType = new jl_IllegalArgumentException;
    jl_Throwable__init_($par3EnumEnchantmentType, $rt_s(2868));
    $rt_throw($par3EnumEnchantmentType);
};
$java.nms_Enchantment_getWeight = function($this) {
    return $this.$weight;
};
function nms_Enchantment_getMinLevel($this) {
    return 1;
}
$java.nms_Enchantment_calcModifierLiving = function($this, $par1, $par2EntityLiving) {
    return 0;
};
$java.nms_Enchantment_canApplyTogether = function($this, $par1Enchantment) {
    return $this === $par1Enchantment ? 0 : 1;
};
$java.nms_Enchantment_setName = function($this, $par1Str) {
    $this.$name16 = $par1Str;
    return $this;
};
$java.nms_Enchantment_getName = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2869));
    jl_AbstractStringBuilder_append(var$1, $this.$name16);
    return jl_AbstractStringBuilder_toString(var$1);
};
function nms_Enchantment_getTranslatedName($this, $par1) {
    var $var2, var$3;
    $var2 = nms_StatCollector_translateToLocal($this.$getName());
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $var2);
    jl_AbstractStringBuilder_append(var$3, $rt_s(343));
    $var2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var2);
    jl_AbstractStringBuilder_append($var2, $rt_s(2870));
    jl_AbstractStringBuilder_append2($var2, $par1);
    jl_AbstractStringBuilder_append(var$3, nms_StatCollector_translateToLocal(jl_AbstractStringBuilder_toString($var2)));
    return jl_AbstractStringBuilder_toString(var$3);
}
$java.nms_Enchantment_canApply = function($this, $par1ItemStack) {
    return $java.nms_EnumEnchantmentType_canEnchantItem($this.$type1, nms_ItemStack_getItem($par1ItemStack));
};
$java.nms_Enchantment__clinit_ = function() {
    var $var0, $var1, $var2, $var3, $var4;
    nms_Enchantment_enchantmentsList = $rt_createArray(nms_Enchantment, 256);
    $java.nms_Enchantment_protection = $java.nms_EnchantmentProtection__init_(0, 10, 0);
    nms_Enchantment_fireProtection = $java.nms_EnchantmentProtection__init_(1, 5, 1);
    $java.nms_Enchantment_featherFalling = $java.nms_EnchantmentProtection__init_(2, 5, 2);
    $java.nms_Enchantment_blastProtection = $java.nms_EnchantmentProtection__init_(3, 2, 3);
    $java.nms_Enchantment_projectileProtection = $java.nms_EnchantmentProtection__init_(4, 5, 4);
    $var0 = new nms_EnchantmentOxygen;
    $java.nms_Enchantment__init_0($var0, 5, 2, $java.nms_EnumEnchantmentType_armor_head);
    $var0.$name16 = $rt_s(2871);
    nms_Enchantment_respiration = $var0;
    $var0 = new nms_EnchantmentWaterWorker;
    $java.nms_Enchantment__init_0($var0, 6, 2, $java.nms_EnumEnchantmentType_armor_head);
    $var0.$name16 = $rt_s(2872);
    nms_Enchantment_aquaAffinity = $var0;
    $var0 = new nms_EnchantmentThorns;
    $java.nms_Enchantment__init_0($var0, 7, 1, $java.nms_EnumEnchantmentType_armor_torso);
    $var0.$name16 = $rt_s(2873);
    $java.nms_Enchantment_thorns = $var0;
    $java.nms_Enchantment_sharpness = $java.nms_EnchantmentDamage__init_(16, 10, 0);
    $java.nms_Enchantment_smite = $java.nms_EnchantmentDamage__init_(17, 5, 1);
    $java.nms_Enchantment_baneOfArthropods = $java.nms_EnchantmentDamage__init_(18, 5, 2);
    $var0 = new nms_EnchantmentKnockback;
    $java.nms_Enchantment__init_0($var0, 19, 5, $java.nms_EnumEnchantmentType_weapon);
    $var0.$name16 = $rt_s(2874);
    $java.nms_Enchantment_knockback = $var0;
    $var0 = new nms_EnchantmentFireAspect;
    $java.nms_Enchantment__init_0($var0, 20, 2, $java.nms_EnumEnchantmentType_weapon);
    $var0.$name16 = $rt_s(1966);
    $java.nms_Enchantment_fireAspect = $var0;
    $java.nms_Enchantment_looting = $java.nms_EnchantmentLootBonus__init_(21, 2, $java.nms_EnumEnchantmentType_weapon);
    $var0 = new nms_EnchantmentDigging;
    $java.nms_Enchantment__init_0($var0, 32, 10, $java.nms_EnumEnchantmentType_digger);
    $var0.$name16 = $rt_s(2875);
    nms_Enchantment_efficiency = $var0;
    $var0 = new nms_EnchantmentUntouching;
    $java.nms_Enchantment__init_0($var0, 33, 1, $java.nms_EnumEnchantmentType_digger);
    $var0.$name16 = $rt_s(2876);
    $java.nms_Enchantment_silkTouch = $var0;
    $var0 = new nms_EnchantmentDurability;
    $java.nms_Enchantment__init_0($var0, 34, 5, $java.nms_EnumEnchantmentType_digger);
    $var0.$name16 = $rt_s(2877);
    nms_Enchantment_unbreaking = $var0;
    $java.nms_Enchantment_fortune = $java.nms_EnchantmentLootBonus__init_(35, 2, $java.nms_EnumEnchantmentType_digger);
    $var0 = new nms_EnchantmentArrowDamage;
    $java.nms_Enchantment__init_0($var0, 48, 10, $java.nms_EnumEnchantmentType_bow);
    $var0.$name16 = $rt_s(2878);
    $java.nms_Enchantment_power = $var0;
    $var0 = new nms_EnchantmentArrowKnockback;
    $java.nms_Enchantment__init_0($var0, 49, 2, $java.nms_EnumEnchantmentType_bow);
    $var0.$name16 = $rt_s(2879);
    $java.nms_Enchantment_punch = $var0;
    $var0 = new nms_EnchantmentArrowFire;
    $java.nms_Enchantment__init_0($var0, 50, 2, $java.nms_EnumEnchantmentType_bow);
    $var0.$name16 = $rt_s(2880);
    $java.nms_Enchantment_flame = $var0;
    $var0 = new nms_EnchantmentArrowInfinite;
    $java.nms_Enchantment__init_0($var0, 51, 1, $java.nms_EnumEnchantmentType_bow);
    $var0.$name16 = $rt_s(2881);
    $java.nms_Enchantment_infinity = $var0;
    $var0 = ju_ArrayList__init_0();
    $var1 = nms_Enchantment_enchantmentsList.data;
    $var2 = $var1.length;
    $var3 = 0;
    while ($var3 < $var2) {
        $var4 = $var1[$var3];
        if ($var4 !== null)
            ju_ArrayList_add($var0, $var4);
        $var3 = $var3 + 1 | 0;
    }
    nms_Enchantment_field_92090_c = ju_AbstractCollection_toArray($var0, $rt_createArray(nms_Enchantment, 0));
};
function nms_WatchableObject() {
    var a = this; jl_Object.call(a);
    a.$objectType = 0;
    a.$dataValueId = 0;
    a.$watchedObject = null;
    a.$watched = 0;
}
$java.nms_WatchableObject__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_WatchableObject();
    $java.nms_WatchableObject__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_WatchableObject__init_0 = function($this, $par1, $par2, $par3Obj) {
    $this.$dataValueId = $par2;
    $this.$watchedObject = $par3Obj;
    $this.$objectType = $par1;
    $this.$watched = 1;
};
$java.nms_WatchableObject_getDataValueId = function($this) {
    return $this.$dataValueId;
};
$java.nms_WatchableObject_setObject = function($this, $par1Obj) {
    $this.$watchedObject = $par1Obj;
};
$java.nms_WatchableObject_getObject = function($this) {
    return $this.$watchedObject;
};
$java.nms_WatchableObject_setWatched = function($this, $par1) {
    $this.$watched = $par1;
};
function jn_URL() {
    var a = this; jl_Object.call(a);
    a.$hashCode6 = 0;
    a.$file = null;
    a.$protocol = null;
    a.$host = null;
    a.$port = 0;
    a.$authority = null;
    a.$userInfo = null;
    a.$path0 = null;
    a.$query = null;
    a.$ref = null;
    a.$strmHandler = null;
}
$java.jn_URL_streamHandlers = null;
$java.jn_URL_streamHandlerFactory = null;
function jn_URL__init_(var_0) {
    var var_1 = new jn_URL();
    $java.jn_URL__init_(var_1, var_0);
    return var_1;
}
$java.jn_URL__init_0 = function(var_0, var_1, var_2) {
    var var_3 = new jn_URL();
    $java.jn_URL__init_1(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.jn_URL__init_ = function($this, $spec) {
    $java.jn_URL__init_1($this, null, $spec, null);
};
$java.jn_URL__init_1 = function($this, $context, $spec, $handler) {
    var $index, $e, $startIPv6Addr, $c, $valid, $i, $cPath, $$je;
    $this.$port = (-1);
    $this.$strmHandler = $handler;
    if ($spec === null) {
        $context = new jn_MalformedURLException;
        jl_Throwable__init_0($context);
        $rt_throw($context);
    }
    $handler = jl_String_trim($spec);
    a: {
        try {
            $index = jl_String_indexOf0($handler, 58);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NullPointerException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $context = new jn_MalformedURLException;
        jl_Throwable__init_($context, $e.$toString());
        $rt_throw($context);
    }
    $startIPv6Addr = jl_String_indexOf0($handler, 91);
    if ($index >= 0 && !($startIPv6Addr != (-1) && $index >= $startIPv6Addr)) {
        b: {
            c: {
                $this.$protocol = jl_String_substring0($handler, 0, $index);
                $c = jl_String_charAt($this.$protocol, 0);
                if (!(97 <= $c && $c <= 122)) {
                    if (65 > $c)
                        break c;
                    if ($c > 90)
                        break c;
                }
                $valid = 1;
                break b;
            }
            $valid = 0;
        }
        $i = 1;
        while ($valid && $i < jl_String_length($this.$protocol)) {
            $valid = jl_String_charAt($this.$protocol, $i);
            $valid = !(97 <= $valid && $valid <= 122) && !(65 <= $valid && $valid <= 90) && !(48 <= $valid && $valid <= 57) && $valid != 43 && $valid != 45 && $valid != 46 ? 0 : 1;
            $i = $i + 1 | 0;
        }
        if ($valid)
            $this.$protocol = jl_String_toLowerCase($this.$protocol);
        else {
            $this.$protocol = null;
            $index = (-1);
        }
    }
    if ($this.$protocol === null) {
        if ($context === null) {
            $context = new jn_MalformedURLException;
            jl_Throwable__init_0($context);
            $rt_throw($context);
        }
        $java.jn_URL_set($this, $context.$protocol, $context.$host, $context.$port, $context.$authority, $context.$userInfo, $context.$path0, $context.$query, null);
        if ($this.$strmHandler === null)
            $this.$strmHandler = $context.$strmHandler;
    } else if ($context !== null && jl_String_equals($this.$protocol, $context.$protocol)) {
        $cPath = $context.$path0;
        if ($cPath !== null && $cPath.$startsWith0($rt_s(61)))
            $java.jn_URL_set($this, $this.$protocol, $context.$host, $context.$port, $context.$authority, $context.$userInfo, $cPath, $context.$query, null);
        if ($this.$strmHandler === null)
            $this.$strmHandler = $context.$strmHandler;
    }
    if ($this.$strmHandler === null) {
        $java.jn_URL_setupStreamHandler($this);
        if ($this.$strmHandler === null) {
            $context = new jn_MalformedURLException;
            jl_Throwable__init_0($context);
            $rt_throw($context);
        }
    }
    d: {
        try {
            $java.jn_URLStreamHandler_parseURL($this.$strmHandler, $this, $handler, $index + 1 | 0, jl_String_length($handler));
            break d;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $context = new jn_MalformedURLException;
        jl_Throwable__init_($context, jl_Throwable_toString($e));
        $rt_throw($context);
    }
    if ($this.$port >= (-1))
        return;
    $context = new jn_MalformedURLException;
    jl_Throwable__init_0($context);
    $rt_throw($context);
};
$java.jn_URL_fixURL = function($this, $fixHost) {
    var var$2, $index;
    if ($this.$host !== null && jl_String_length($this.$host) > 0) {
        $this.$authority = $this.$host;
        if ($this.$port != (-1)) {
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            jl_AbstractStringBuilder_append(var$2, $this.$authority);
            jl_AbstractStringBuilder_append(var$2, $rt_s(272));
            jl_AbstractStringBuilder_append2(var$2, $this.$port);
            $this.$authority = jl_AbstractStringBuilder_toString(var$2);
        }
    }
    if ($fixHost) {
        $index = (-1);
        if ($this.$host !== null)
            $index = jl_String_lastIndexOf($this.$host, 64);
        if ($index < 0)
            $this.$userInfo = null;
        else {
            $this.$userInfo = jl_String_substring0($this.$host, 0, $index);
            $this.$host = jl_String_substring($this.$host, $index + 1 | 0);
        }
    }
    $index = (-1);
    if ($this.$file !== null)
        $index = jl_String_indexOf0($this.$file, 63);
    if ($index < 0) {
        $this.$query = null;
        $this.$path0 = $this.$file;
    } else {
        $this.$query = jl_String_substring($this.$file, $index + 1 | 0);
        $this.$path0 = jl_String_substring0($this.$file, 0, $index);
    }
};
$java.jn_URL_set0 = function($this, $protocol, $host, $port, $file, $ref) {
    if ($this.$protocol === null)
        $this.$protocol = $protocol;
    $this.$host = $host;
    $this.$file = $file;
    $this.$port = $port;
    $this.$ref = $ref;
    $this.$hashCode6 = 0;
    $java.jn_URL_fixURL($this, 1);
};
$java.jn_URL_setupStreamHandler = function($this) {
    var var$1, var$2;
    $this.$strmHandler = ju_HashMap_get($java.jn_URL_streamHandlers, $this.$protocol);
    if ($this.$strmHandler !== null)
        return;
    if ($java.jn_URL_streamHandlerFactory !== null) {
        $this.$strmHandler = $java.jn_URL_streamHandlerFactory.$createURLStreamHandler($this.$protocol);
        if ($this.$strmHandler !== null) {
            ju_HashMap_putImpl($java.jn_URL_streamHandlers, $this.$protocol, $this.$strmHandler);
            return;
        }
    }
    a: {
        var$1 = $this.$protocol;
        var$2 = (-1);
        switch (jl_String_hashCode(var$1)) {
            case 101730:
                if (!jl_String_equals(var$1, $rt_s(2882)))
                    break a;
                var$2 = 2;
                break a;
            case 3213448:
                if (!jl_String_equals(var$1, $rt_s(527)))
                    break a;
                var$2 = 0;
                break a;
            case 99617003:
                if (!jl_String_equals(var$1, $rt_s(60)))
                    break a;
                var$2 = 1;
                break a;
            default:
        }
    }
    b: {
        switch (var$2) {
            case 0:
            case 1:
                $this.$strmHandler = new jni_XHRStreamHandler;
                break b;
            case 2:
                break;
            default:
                $this.$strmHandler = $java.jni_DummyStreamHandler__init_((-1));
                break b;
        }
        $this.$strmHandler = $java.jni_DummyStreamHandler__init_(21);
    }
};
function jn_URL_openConnection($this) {
    return $this.$strmHandler.$openConnection0($this);
}
$java.jn_URL_toString = function($this) {
    return $java.jn_URL_toExternalForm($this);
};
$java.jn_URL_toExternalForm = function($this) {
    var var$1;
    if ($this.$strmHandler !== null)
        return $java.jn_URLStreamHandler_toExternalForm($this.$strmHandler, $this);
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2883));
    jl_AbstractStringBuilder_append(var$1, $this.$protocol);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2884));
    jl_AbstractStringBuilder_append(var$1, $this.$host);
    jl_AbstractStringBuilder_append(var$1, $this.$file);
    return jl_AbstractStringBuilder_toString(var$1);
};
$java.jn_URL_getFile = function($this) {
    return $this.$file;
};
$java.jn_URL_getHost = function($this) {
    return $this.$host;
};
$java.jn_URL_getPort = function($this) {
    return $this.$port;
};
$java.jn_URL_getProtocol = function($this) {
    return $this.$protocol;
};
$java.jn_URL_getRef = function($this) {
    return $this.$ref;
};
$java.jn_URL_getQuery = function($this) {
    return $this.$query;
};
$java.jn_URL_getPath = function($this) {
    return $this.$path0;
};
$java.jn_URL_getUserInfo = function($this) {
    return $this.$userInfo;
};
$java.jn_URL_getAuthority = function($this) {
    return $this.$authority;
};
$java.jn_URL_set = function($this, $protocol, $host, $port, $authority, $userInfo, $path, $query, $ref) {
    var var$9;
    if ($query === null)
        var$9 = $path;
    else if (jl_String_isEmpty($query))
        var$9 = $path;
    else if ($path === null) {
        var$9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$9);
        jl_AbstractStringBuilder_append(var$9, $rt_s(2885));
        jl_AbstractStringBuilder_append(var$9, $query);
        var$9 = jl_AbstractStringBuilder_toString(var$9);
    } else {
        var$9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$9);
        jl_AbstractStringBuilder_append(var$9, $path);
        jl_AbstractStringBuilder_append(var$9, $rt_s(2885));
        jl_AbstractStringBuilder_append(var$9, $query);
        var$9 = jl_AbstractStringBuilder_toString(var$9);
    }
    $java.jn_URL_set0($this, $protocol, $host, $port, var$9, $ref);
    $this.$authority = $authority;
    $this.$userInfo = $userInfo;
    $this.$path0 = $path;
    $this.$query = $query;
};
function jn_URL__clinit_() {
    $java.jn_URL_streamHandlers = ju_HashMap__init_();
}
function nms_ContainerCreative() {
    nms_Container.call(this);
    this.$itemList = null;
}
$java.nms_ContainerCreative_scrollTo = function($this, $par1) {
    var $var3, $var4, var$4, $var5, $var6;
    $var3 = $par1 * ((($this.$itemList.$size / 9 | 0) - 5 | 0) + 1 | 0) + 0.5 | 0;
    if ($var3 < 0)
        $var3 = 0;
    $var4 = 0;
    var$4 = null;
    while ($var4 < 5) {
        $var5 = 0;
        while ($var5 < 9) {
            $var6 = $var5 + (($var4 + $var3 | 0) * 9 | 0) | 0;
            if ($var6 >= 0 && $var6 < $this.$itemList.$size)
                $java.nms_InventoryBasic_setInventorySlotContents($java.nms_GuiContainerCreative_getInventory(), $var5 + ($var4 * 9 | 0) | 0, ju_ArrayList_get($this.$itemList, $var6));
            else
                $java.nms_InventoryBasic_setInventorySlotContents($java.nms_GuiContainerCreative_getInventory(), $var5 + ($var4 * 9 | 0) | 0, var$4);
            $var5 = $var5 + 1 | 0;
        }
        $var4 = $var4 + 1 | 0;
    }
};
$java.nms_ContainerCreative_hasMoreThan1PageOfItemsInList = function($this) {
    return $this.$itemList.$size <= 45 ? 0 : 1;
};
$java.nms_ContainerCreative_retrySlotClick = function($this, $par1, $par2, $par3, $par4EntityPlayer) {
    return;
};
$java.nms_ContainerCreative_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par2 >= ($this.$inventorySlots.$size - 9 | 0) && $par2 < $this.$inventorySlots.$size) {
            $var3 = ju_ArrayList_get($this.$inventorySlots, $par2);
            if ($var3 !== null && $var3.$getHasStack()) {
                $par1EntityPlayer = null;
                $ptr = 1;
                continue main;
            }
        }
        return null;
    case 1:
        $var3.$putStack($par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return null;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $ptr);
};
$java.nms_ContainerCreative_func_94530_a = function($this, $par1ItemStack, $par2Slot) {
    return $par2Slot.$yDisplayPosition <= 90 ? 0 : 1;
};
$java.nms_ContainerCreative_func_94531_b = function($this, $par1Slot) {
    var var$2;
    a: {
        b: {
            if (!($par1Slot.$inventory0 instanceof nms_InventoryPlayer)) {
                if ($par1Slot.$yDisplayPosition <= 90)
                    break b;
                if ($par1Slot.$xDisplayPosition > 162)
                    break b;
            }
            var$2 = 1;
            break a;
        }
        var$2 = 0;
    }
    return var$2;
};
function nms_WorldInfo() {
    var a = this; jl_Object.call(a);
    a.$randomSeed = Long_ZERO;
    a.$terrainType = null;
    a.$generatorOptions = null;
    a.$spawnX = 0;
    a.$spawnY = 0;
    a.$spawnZ = 0;
    a.$totalTime = Long_ZERO;
    a.$worldTime = Long_ZERO;
    a.$levelName = null;
    a.$raining = 0;
    a.$thundering = 0;
    a.$theGameType = null;
    a.$mapFeaturesEnabled = 0;
    a.$hardcore = 0;
    a.$allowCommands = 0;
    a.$initialized0 = 0;
    a.$theGameRules = null;
}
$java.nms_WorldInfo__init_ = function() {
    var var_0 = new nms_WorldInfo();
    nms_WorldInfo__init_(var_0);
    return var_0;
};
function nms_WorldInfo__init_($this) {
    $this.$terrainType = nms_WorldType_DEFAULT;
    $this.$generatorOptions = $rt_s(36);
    $this.$theGameRules = nms_GameRules__init_0();
}
$java.nms_WorldInfo_getSpawnX = function($this) {
    return $this.$spawnX;
};
$java.nms_WorldInfo_getSpawnY = function($this) {
    return $this.$spawnY;
};
$java.nms_WorldInfo_getSpawnZ = function($this) {
    return $this.$spawnZ;
};
$java.nms_WorldInfo_getWorldTotalTime = function($this) {
    return $this.$totalTime;
};
$java.nms_WorldInfo_getWorldTime = function($this) {
    return $this.$worldTime;
};
$java.nms_WorldInfo_incrementTotalWorldTime = function($this, $par1) {
    $this.$totalTime = $par1;
};
$java.nms_WorldInfo_setWorldTime = function($this, $par1) {
    $this.$worldTime = $par1;
};
function nms_WorldInfo_setSpawnPosition($this, $par1, $par2, $par3) {
    $this.$spawnX = $par1;
    $this.$spawnY = $par2;
    $this.$spawnZ = $par3;
}
$java.nms_WorldInfo_getWorldName = function($this) {
    return $this.$levelName;
};
$java.nms_WorldInfo_isThundering = function($this) {
    return $this.$thundering;
};
$java.nms_WorldInfo_isRaining = function($this) {
    return $this.$raining;
};
$java.nms_WorldInfo_setRaining = function($this, $par1) {
    $this.$raining = $par1;
};
function nms_WorldInfo_isHardcoreModeEnabled($this) {
    return $this.$hardcore;
}
$java.nms_WorldInfo_getTerrainType = function($this) {
    return $this.$terrainType;
};
$java.nms_WorldInfo_getGeneratorOptions = function($this) {
    return $this.$generatorOptions;
};
$java.nms_WorldInfo_getGameRulesInstance = function($this) {
    return $this.$theGameRules;
};
function nms_FoodStats() {
    var a = this; jl_Object.call(a);
    a.$foodLevel = 0;
    a.$foodSaturationLevel = 0.0;
    a.$foodTimer = 0;
    a.$prevFoodLevel = 0;
}
function nms_FoodStats__init_0() {
    var var_0 = new nms_FoodStats();
    nms_FoodStats__init_(var_0);
    return var_0;
}
function nms_FoodStats__init_($this) {
    $this.$foodLevel = 20;
    $this.$foodSaturationLevel = 5.0;
    $this.$foodTimer = 0;
    $this.$prevFoodLevel = 20;
}
$java.nms_FoodStats_addStats0 = function($this, $par1, $par2) {
    $this.$foodLevel = jl_Math_min($par1 + $this.$foodLevel | 0, 20);
    $this.$foodSaturationLevel = jl_Math_min1($this.$foodSaturationLevel + $par1 * $par2 * 2.0, $this.$foodLevel);
};
$java.nms_FoodStats_addStats = function($this, $par1ItemFood) {
    $java.nms_FoodStats_addStats0($this, $par1ItemFood.$healAmount, $par1ItemFood.$saturationModifier);
};
function nms_FoodStats_getFoodLevel($this) {
    return $this.$foodLevel;
}
function nms_FoodStats_getPrevFoodLevel($this) {
    return $this.$prevFoodLevel;
}
function nms_FoodStats_needFood($this) {
    return $this.$foodLevel >= 20 ? 0 : 1;
}
function nms_FoodStats_getSaturationLevel($this) {
    return $this.$foodSaturationLevel;
}
$java.nms_FoodStats_setFoodLevel = function($this, $par1) {
    $this.$foodLevel = $par1;
};
$java.nms_FoodStats_setFoodSaturationLevel = function($this, $par1) {
    $this.$foodSaturationLevel = $par1;
};
function ju_Formatter() {
    var a = this; jl_Object.call(a);
    a.$locale4 = null;
    a.$out3 = null;
    a.$ioException = null;
}
function ju_Formatter__init_0() {
    var var_0 = new ju_Formatter();
    ju_Formatter__init_(var_0);
    return var_0;
}
function ju_Formatter__init_($this) {
    var var$1, var$2;
    var$1 = ju_Locale_defaultLocale;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    $this.$out3 = var$2;
    $this.$locale4 = var$1;
}
$java.ju_Formatter_requireOpen = function($this) {
    var var$1;
    if ($this.$out3 !== null)
        return;
    var$1 = new ju_FormatterClosedException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
};
function ju_Formatter_toString($this) {
    $java.ju_Formatter_requireOpen($this);
    return jl_AbstractStringBuilder_toString($this.$out3);
}
function ju_Formatter_format($this, $format, $args) {
    return $java.ju_Formatter_format($this, $this.$locale4, $format, $args);
}
$java.ju_Formatter_format = function($this, $l, $format, $args) {
    var $e, $$je;
    $java.ju_Formatter_requireOpen($this);
    a: {
        try {
            if ($args === null)
                $args = $rt_createArray(jl_Object, 1);
            $java.ju_Formatter$FormatWriter_write($java.ju_Formatter$FormatWriter__init_($this, $this.$out3, $l, $format, $args));
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        $this.$ioException = $e;
    }
    return $this;
};
function nms_Scoreboard() {
    var a = this; jl_Object.call(a);
    a.$scoreObjectives = null;
    a.$field_96543_b = null;
    a.$field_96544_c = null;
    a.$field_96541_d = null;
    a.$field_96542_e = null;
    a.$teamMemberships = null;
}
function nms_Scoreboard__init_0() {
    var var_0 = new nms_Scoreboard();
    nms_Scoreboard__init_(var_0);
    return var_0;
}
function nms_Scoreboard__init_($this) {
    $this.$scoreObjectives = ju_HashMap__init_();
    $this.$field_96543_b = ju_HashMap__init_();
    $this.$field_96544_c = ju_HashMap__init_();
    $this.$field_96541_d = $rt_createArray(nms_ScoreObjective, 3);
    $this.$field_96542_e = ju_HashMap__init_();
    $this.$teamMemberships = ju_HashMap__init_();
}
$java.nms_Scoreboard_getObjective = function($this, $par1Str) {
    return ju_HashMap_get($this.$scoreObjectives, $par1Str);
};
$java.nms_Scoreboard_func_96535_a = function($this, $par1Str, $par2ScoreObjectiveCriteria) {
    var $var3, $var4;
    if ($java.nms_Scoreboard_getObjective($this, $par1Str) !== null) {
        $par2ScoreObjectiveCriteria = new jl_IllegalArgumentException;
        $var3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var3);
        jl_AbstractStringBuilder_append($var3, $rt_s(2886));
        jl_AbstractStringBuilder_append($var3, $par1Str);
        jl_AbstractStringBuilder_append($var3, $rt_s(2887));
        jl_Throwable__init_($par2ScoreObjectiveCriteria, jl_AbstractStringBuilder_toString($var3));
        $rt_throw($par2ScoreObjectiveCriteria);
    }
    $var3 = new nms_ScoreObjective;
    $var3.$theScoreboard = $this;
    $var3.$name17 = $par1Str;
    $var3.$objectiveCriteria = $par2ScoreObjectiveCriteria;
    $var3.$displayName = $par1Str;
    $var4 = ju_HashMap_get($this.$field_96543_b, $par2ScoreObjectiveCriteria);
    if ($var4 === null) {
        $var4 = ju_ArrayList__init_0();
        ju_HashMap_putImpl($this.$field_96543_b, $par2ScoreObjectiveCriteria, $var4);
    }
    $var4.$add($var3);
    ju_HashMap_putImpl($this.$scoreObjectives, $par1Str, $var3);
    return $var3;
};
function nms_Scoreboard_func_96529_a($this, $par1Str, $par2ScoreObjective) {
    var $var3, $var4;
    $var3 = ju_HashMap_get($this.$field_96544_c, $par1Str);
    if ($var3 === null) {
        $var3 = ju_HashMap__init_();
        ju_HashMap_putImpl($this.$field_96544_c, $par1Str, $var3);
    }
    $var3 = $var3;
    $var4 = ju_HashMap_get($var3, $par2ScoreObjective);
    if ($var4 === null) {
        $var4 = new nms_Score;
        $var4.$theScoreboard1 = $this;
        $var4.$field_96657_c = $par2ScoreObjective;
        $var4.$field_96654_d = $par1Str;
        ju_HashMap_putImpl($var3, $par2ScoreObjective, $var4);
    }
    return $var4;
}
function nms_Scoreboard_func_96534_i($this, $par1ScoreObjective) {
    var $var2, $var3, $var5;
    $var2 = ju_ArrayList__init_0();
    $var3 = ju_HashMap_values($this.$field_96544_c).$iterator();
    while ($var3.$hasNext()) {
        $var5 = ju_HashMap_get($var3.$next(), $par1ScoreObjective);
        if ($var5 !== null)
            ju_ArrayList_add($var2, $var5);
    }
    ju_Collections_sort($var2, $java.nms_Score_field_96658_a);
    return $var2;
}
$java.nms_Scoreboard_func_96515_c = function($this, $par1Str) {
    ju_HashMap_remove($this.$field_96544_c, $par1Str);
};
$java.nms_Scoreboard_func_96519_k = function($this, $par1ScoreObjective) {
    var $var2, $var3, $var5;
    ju_HashMap_remove($this.$scoreObjectives, $par1ScoreObjective.$name17);
    $var2 = 0;
    $var3 = null;
    while ($var2 < 3) {
        if (nms_Scoreboard_func_96539_a($this, $var2) === $par1ScoreObjective)
            $java.nms_Scoreboard_func_96530_a($this, $var2, $var3);
        $var2 = $var2 + 1 | 0;
    }
    $var5 = ju_HashMap_get($this.$field_96543_b, $par1ScoreObjective.$objectiveCriteria);
    if ($var5 !== null)
        $var5.$remove1($par1ScoreObjective);
    $var3 = ju_HashMap_values($this.$field_96544_c).$iterator();
    while ($var3.$hasNext()) {
        ju_HashMap_remove($var3.$next(), $par1ScoreObjective);
    }
};
$java.nms_Scoreboard_func_96530_a = function($this, $par1, $par2ScoreObjective) {
    $this.$field_96541_d.data[$par1] = $par2ScoreObjective;
};
function nms_Scoreboard_func_96539_a($this, $par1) {
    return $this.$field_96541_d.data[$par1];
}
$java.nms_Scoreboard_func_96508_e = function($this, $par1Str) {
    return ju_HashMap_get($this.$field_96542_e, $par1Str);
};
$java.nms_Scoreboard_func_96527_f = function($this, $par1Str) {
    var $var2, var$3;
    if ($java.nms_Scoreboard_func_96508_e($this, $par1Str) !== null) {
        $var2 = new jl_IllegalArgumentException;
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $rt_s(2886));
        jl_AbstractStringBuilder_append(var$3, $par1Str);
        jl_AbstractStringBuilder_append(var$3, $rt_s(2887));
        jl_Throwable__init_($var2, jl_AbstractStringBuilder_toString(var$3));
        $rt_throw($var2);
    }
    $var2 = new nms_ScorePlayerTeam;
    $var2.$membershipSet = ju_HashSet__init_0();
    $var2.$field_96674_e = $rt_s(36);
    $var2.$field_96671_f = $rt_s(36);
    $var2.$field_96672_g = 1;
    $var2.$field_98301_h = 1;
    $var2.$theScoreboard0 = $this;
    $var2.$field_96675_b = $par1Str;
    $var2.$field_96673_d = $par1Str;
    ju_HashMap_putImpl($this.$field_96542_e, $par1Str, $var2);
    return $var2;
};
$java.nms_Scoreboard_func_96511_d = function($this, $par1ScorePlayerTeam) {
    var $var2, $var3;
    ju_HashMap_remove($this.$field_96542_e, $par1ScorePlayerTeam.$field_96675_b);
    $var2 = ju_HashSet_iterator($par1ScorePlayerTeam.$membershipSet);
    while ($var2.$hasNext()) {
        $var3 = $var2.$next();
        ju_HashMap_remove($this.$teamMemberships, $var3);
    }
};
$java.nms_Scoreboard_func_96521_a = function($this, $par1Str, $par2ScorePlayerTeam) {
    if (nms_Scoreboard_getPlayersTeam($this, $par1Str) !== null)
        $java.nms_Scoreboard_func_96524_g($this, $par1Str);
    ju_HashMap_putImpl($this.$teamMemberships, $par1Str, $par2ScorePlayerTeam);
    ju_HashSet_add($par2ScorePlayerTeam.$membershipSet, $par1Str);
};
$java.nms_Scoreboard_func_96524_g = function($this, $par1Str) {
    var $var2;
    $var2 = nms_Scoreboard_getPlayersTeam($this, $par1Str);
    if ($var2 === null)
        return 0;
    $java.nms_Scoreboard_removePlayerFromTeam($this, $par1Str, $var2);
    return 1;
};
$java.nms_Scoreboard_removePlayerFromTeam = function($this, $par1Str, $par2ScorePlayerTeam) {
    var var$3;
    if (nms_Scoreboard_getPlayersTeam($this, $par1Str) === $par2ScorePlayerTeam) {
        ju_HashMap_remove($this.$teamMemberships, $par1Str);
        ju_HashSet_remove($par2ScorePlayerTeam.$membershipSet, $par1Str);
        return;
    }
    var$3 = new jl_IllegalStateException;
    $par1Str = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($par1Str);
    jl_AbstractStringBuilder_append($par1Str, $rt_s(2888));
    jl_AbstractStringBuilder_append($par1Str, $par2ScorePlayerTeam.$field_96675_b);
    jl_AbstractStringBuilder_append($par1Str, $rt_s(2889));
    jl_Throwable__init_(var$3, jl_AbstractStringBuilder_toString($par1Str));
    $rt_throw(var$3);
};
function nms_Scoreboard_getPlayersTeam($this, $par1Str) {
    return ju_HashMap_get($this.$teamMemberships, $par1Str);
}
$java.nms_Scoreboard_func_96522_a = function($this, $par1ScoreObjective) {
    return;
};
$java.nms_Scoreboard_func_96532_b = function($this, $par1ScoreObjective) {
    return;
};
$java.nms_Scoreboard_func_96533_c = function($this, $par1ScoreObjective) {
    return;
};
$java.nms_Scoreboard_func_96536_a = function($this, $par1Score) {
    return;
};
$java.nms_Scoreboard_func_96516_a = function($this, $par1Str) {
    return;
};
$java.nms_Scoreboard_func_96523_a = function($this, $par1ScorePlayerTeam) {
    return;
};
$java.nms_Scoreboard_func_96538_b = function($this, $par1ScorePlayerTeam) {
    return;
};
$java.nms_Scoreboard_func_96513_c = function($this, $par1ScorePlayerTeam) {
    return;
};
function nms_ScoreObjective() {
    var a = this; jl_Object.call(a);
    a.$theScoreboard = null;
    a.$name17 = null;
    a.$objectiveCriteria = null;
    a.$displayName = null;
}
function nms_ScoreObjective_getScoreboard($this) {
    return $this.$theScoreboard;
}
$java.nms_ScoreObjective_getName = function($this) {
    return $this.$name17;
};
$java.nms_ScoreObjective_getCriteria = function($this) {
    return $this.$objectiveCriteria;
};
$java.nms_ScoreObjective_getDisplayName = function($this) {
    return $this.$displayName;
};
$java.nms_ScoreObjective_setDisplayName = function($this, $par1Str) {
    $this.$displayName = $par1Str;
};
function nms_Score() {
    var a = this; jl_Object.call(a);
    a.$theScoreboard1 = null;
    a.$field_96657_c = null;
    a.$field_96654_d = null;
    a.$field_96655_e = 0;
}
$java.nms_Score_field_96658_a = null;
function nms_Score_func_96652_c($this) {
    return $this.$field_96655_e;
}
$java.nms_Score_func_96647_c = function($this, $par1) {
    var $var2;
    $var2 = $this.$field_96655_e;
    $this.$field_96655_e = $par1;
};
$java.nms_Score_func_96653_e = function($this) {
    return $this.$field_96654_d;
};
$java.nms_Score_func_96650_f = function($this) {
    return $this.$theScoreboard1;
};
function nms_Score__clinit_() {
    $java.nms_Score_field_96658_a = new nms_ScoreComparator;
}
function nms_Stitcher() {
    var a = this; jl_Object.call(a);
    a.$setStitchHolders = null;
    a.$stitchSlots = null;
    a.$currentWidth = 0;
    a.$currentHeight = 0;
    a.$maxWidth = 0;
    a.$maxHeight = 0;
    a.$forcePowerOf2 = 0;
    a.$maxTileDimension = 0;
    a.$atlasTexture0 = null;
    a.$textureName0 = null;
}
function nms_Stitcher_addStitchHolder($this, $par1StitchHolder) {
    if ($this.$maxTileDimension > 0)
        $java.nms_StitchHolder_setNewDimension($par1StitchHolder, $this.$maxTileDimension);
    ju_HashSet_add($this.$setStitchHolders, $par1StitchHolder);
}
function nms_Stitcher_getTexture($this) {
    var $var1, $var2, $var3, $var4;
    if ($this.$forcePowerOf2) {
        $this.$currentWidth = $java.nms_Stitcher_getCeilPowerOf2($this, $this.$currentWidth);
        $this.$currentHeight = $java.nms_Stitcher_getCeilPowerOf2($this, $this.$currentHeight);
    }
    $this.$atlasTexture0 = nms_TextureManager_createEmptyTexture(nms_TextureManager_instance, $this.$textureName0, 1, $this.$currentWidth, $this.$currentHeight, 33071);
    $java.nms_Texture_fillRect($this.$atlasTexture0, $this.$atlasTexture0.$textureRect, (-65536));
    $var1 = nms_Stitcher_getStichSlots($this);
    $var2 = 0;
    while ($var2 < $var1.$size) {
        $var3 = ju_ArrayList_get($var1, $var2);
        $var4 = $var3.$holder;
        $java.nms_Texture_copyFrom($this.$atlasTexture0, $var3.$originX0, $var3.$originY0, $var4.$theTexture, $var4.$rotated);
        $var2 = $var2 + 1 | 0;
    }
    nms_TextureManager_registerTexture(nms_TextureManager_instance, $this.$textureName0, $this.$atlasTexture0);
    return $this.$atlasTexture0;
}
function nms_Stitcher_doStitch($this) {
    var $var1, $var2, var$3, $var3, var$5, var$6, var$7;
    $var1 = ju_AbstractCollection_toArray($this.$setStitchHolders, $rt_createArray(nms_StitchHolder, ju_HashSet_size($this.$setStitchHolders)));
    ju_Arrays_sort($var1);
    $this.$atlasTexture0 = null;
    $var2 = 0;
    while (true) {
        var$3 = $var1.data;
        if ($var2 >= var$3.length)
            break;
        $var3 = var$3[$var2];
        var$5 = 0;
        a: {
            while (var$5 < $this.$stitchSlots.$size) {
                if ($java.nms_StitchSlot_func_94182_a(ju_ArrayList_get($this.$stitchSlots, var$5), $var3)) {
                    var$6 = 1;
                    break a;
                }
                $java.nms_StitchHolder_rotate($var3);
                if ($java.nms_StitchSlot_func_94182_a(ju_ArrayList_get($this.$stitchSlots, var$5), $var3)) {
                    var$6 = 1;
                    break a;
                }
                $java.nms_StitchHolder_rotate($var3);
                var$5 = var$5 + 1 | 0;
            }
            var$6 = $java.nms_Stitcher_expandAndAllocateSlot($this, $var3);
        }
        if (!var$6) {
            var$7 = new nms_StitcherException;
            jl_Throwable__init_0(var$7);
            var$7.$field_98149_a = $var3;
            $rt_throw(var$7);
        }
        $var2 = $var2 + 1 | 0;
    }
}
function nms_Stitcher_getStichSlots($this) {
    var $var1, $var2;
    $var1 = ju_ArrayList__init_0();
    $var2 = ju_AbstractList_iterator($this.$stitchSlots);
    while (ju_AbstractList$1_hasNext($var2)) {
        $java.nms_StitchSlot_getAllStitchSlots(ju_AbstractList$1_next($var2), $var1);
    }
    return $var1;
}
$java.nms_Stitcher_getCeilPowerOf2 = function($this, $par1) {
    var $var2;
    $var2 = $par1 - 1 | 0;
    $par1 = $var2 | $var2 >> 1;
    $par1 = $par1 | $par1 >> 2;
    $par1 = $par1 | $par1 >> 4;
    $par1 = $par1 | $par1 >> 8;
    return ($par1 | $par1 >> 16) + 1 | 0;
};
$java.nms_Stitcher_expandAndAllocateSlot = function($this, $par1StitchHolder) {
    var $var2, $var3, $var14, $var16, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var15;
    $var2 = jl_Math_min($java.nms_StitchHolder_getHeight($par1StitchHolder), $java.nms_StitchHolder_getWidth($par1StitchHolder));
    $var3 = !$this.$currentWidth && !$this.$currentHeight ? 1 : 0;
    if (!$this.$forcePowerOf2) {
        $var14 = ($this.$currentWidth + $var2 | 0) > $this.$maxWidth ? 0 : 1;
        $var16 = ($this.$currentHeight + $var2 | 0) > $this.$maxHeight ? 0 : 1;
        if (!$var14 && !$var16)
            return 0;
        $var4 = !(!$var3 && $this.$currentWidth > $this.$currentHeight) && $var14 ? 1 : 0;
    } else {
        $var5 = $java.nms_Stitcher_getCeilPowerOf2($this, $this.$currentWidth);
        $var6 = $java.nms_Stitcher_getCeilPowerOf2($this, $this.$currentHeight);
        $var7 = $java.nms_Stitcher_getCeilPowerOf2($this, $this.$currentWidth + $var2 | 0);
        $var8 = $java.nms_Stitcher_getCeilPowerOf2($this, $this.$currentHeight + $var2 | 0);
        $var9 = $var7 > $this.$maxWidth ? 0 : 1;
        $var10 = $var8 > $this.$maxHeight ? 0 : 1;
        if (!$var9 && !$var10)
            return 0;
        $var11 = jl_Math_max($java.nms_StitchHolder_getHeight($par1StitchHolder), $java.nms_StitchHolder_getWidth($par1StitchHolder));
        if ($var3 && !$var9 && $java.nms_Stitcher_getCeilPowerOf2($this, $this.$currentHeight + $var11 | 0) > $this.$maxHeight)
            return 0;
        $var12 = $var5 == $var7 ? 0 : 1;
        $var4 = !($var12 ^ ($var6 == $var8 ? 0 : 1)) ? ($var9 && $var5 <= $var6 ? 1 : 0) : $var12 && $var9 ? 1 : 0;
    }
    if (!$var4) {
        $var15 = $java.nms_StitchSlot__init_(0, $this.$currentHeight, $this.$currentWidth, $java.nms_StitchHolder_getHeight($par1StitchHolder));
        $this.$currentHeight = $this.$currentHeight + $java.nms_StitchHolder_getHeight($par1StitchHolder) | 0;
    } else {
        if ($java.nms_StitchHolder_getWidth($par1StitchHolder) > $java.nms_StitchHolder_getHeight($par1StitchHolder))
            $java.nms_StitchHolder_rotate($par1StitchHolder);
        if (!$this.$currentHeight)
            $this.$currentHeight = $java.nms_StitchHolder_getHeight($par1StitchHolder);
        $var15 = $java.nms_StitchSlot__init_($this.$currentWidth, 0, $java.nms_StitchHolder_getWidth($par1StitchHolder), $this.$currentHeight);
        $this.$currentWidth = $this.$currentWidth + $java.nms_StitchHolder_getWidth($par1StitchHolder) | 0;
    }
    $java.nms_StitchSlot_func_94182_a($var15, $par1StitchHolder);
    ju_ArrayList_add($this.$stitchSlots, $var15);
    return 1;
};
function nms_StitchSlot() {
    var a = this; jl_Object.call(a);
    a.$originX0 = 0;
    a.$originY0 = 0;
    a.$width9 = 0;
    a.$height11 = 0;
    a.$subSlots = null;
    a.$holder = null;
}
$java.nms_StitchSlot__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_StitchSlot();
    $java.nms_StitchSlot__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_StitchSlot__init_0 = function($this, $par1, $par2, $par3, $par4) {
    $this.$originX0 = $par1;
    $this.$originY0 = $par2;
    $this.$width9 = $par3;
    $this.$height11 = $par4;
};
$java.nms_StitchSlot_getStitchHolder = function($this) {
    return $this.$holder;
};
$java.nms_StitchSlot_getOriginX = function($this) {
    return $this.$originX0;
};
$java.nms_StitchSlot_getOriginY = function($this) {
    return $this.$originY0;
};
$java.nms_StitchSlot_func_94182_a = function($this, $par1StitchHolder) {
    var $var2, $var3, $var4, $var5, $var8;
    if ($this.$holder !== null)
        return 0;
    $var2 = $java.nms_StitchHolder_getWidth($par1StitchHolder);
    $var3 = $java.nms_StitchHolder_getHeight($par1StitchHolder);
    if ($var2 <= $this.$width9 && $var3 <= $this.$height11) {
        if ($var2 == $this.$width9 && $var3 == $this.$height11) {
            $this.$holder = $par1StitchHolder;
            return 1;
        }
        if ($this.$subSlots === null) {
            $this.$subSlots = ju_ArrayList__init_1(1);
            ju_ArrayList_add($this.$subSlots, $java.nms_StitchSlot__init_($this.$originX0, $this.$originY0, $var2, $var3));
            $var4 = $this.$width9 - $var2 | 0;
            $var5 = $this.$height11 - $var3 | 0;
            if (!($var5 > 0 && $var4 > 0)) {
                if (!$var4)
                    ju_ArrayList_add($this.$subSlots, $java.nms_StitchSlot__init_($this.$originX0, $this.$originY0 + $var3 | 0, $var2, $var5));
                else if (!$var5)
                    ju_ArrayList_add($this.$subSlots, $java.nms_StitchSlot__init_($this.$originX0 + $var2 | 0, $this.$originY0, $var4, $var3));
            } else if (jl_Math_max($this.$height11, $var4) < jl_Math_max($this.$width9, $var5)) {
                ju_ArrayList_add($this.$subSlots, $java.nms_StitchSlot__init_($this.$originX0 + $var2 | 0, $this.$originY0, $var4, $var3));
                ju_ArrayList_add($this.$subSlots, $java.nms_StitchSlot__init_($this.$originX0, $this.$originY0 + $var3 | 0, $this.$width9, $var5));
            } else {
                ju_ArrayList_add($this.$subSlots, $java.nms_StitchSlot__init_($this.$originX0, $this.$originY0 + $var3 | 0, $var2, $var5));
                ju_ArrayList_add($this.$subSlots, $java.nms_StitchSlot__init_($this.$originX0 + $var2 | 0, $this.$originY0, $var4, $this.$height11));
            }
        }
        $var8 = ju_AbstractList_iterator($this.$subSlots);
        while (ju_AbstractList$1_hasNext($var8)) {
            if (!$java.nms_StitchSlot_func_94182_a(ju_AbstractList$1_next($var8), $par1StitchHolder))
                continue;
            else
                return 1;
        }
        return 0;
    }
    return 0;
};
$java.nms_StitchSlot_getAllStitchSlots = function($this, $par1List) {
    var $var2;
    a: {
        if ($this.$holder !== null)
            ju_ArrayList_add($par1List, $this);
        else if ($this.$subSlots !== null) {
            $var2 = ju_AbstractList_iterator($this.$subSlots);
            while (true) {
                if (!ju_AbstractList$1_hasNext($var2))
                    break a;
                $java.nms_StitchSlot_getAllStitchSlots(ju_AbstractList$1_next($var2), $par1List);
            }
        }
    }
};
$java.nms_StitchSlot_toString = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2890));
    jl_AbstractStringBuilder_append2(var$1, $this.$originX0);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2891));
    jl_AbstractStringBuilder_append2(var$1, $this.$originY0);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2892));
    jl_AbstractStringBuilder_append2(var$1, $this.$width9);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2823));
    jl_AbstractStringBuilder_append2(var$1, $this.$height11);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2893));
    jl_AbstractStringBuilder_append1(var$1, $this.$holder);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2894));
    jl_AbstractStringBuilder_append1(var$1, $this.$subSlots);
    jl_AbstractStringBuilder_append0(var$1, 125);
    return jl_AbstractStringBuilder_toString(var$1);
};
function nms_TextureClock() {
    var a = this; nms_TextureStitched.call(a);
    a.$field_94239_h = 0.0;
    a.$field_94240_i = 0.0;
}
$java.nms_TextureClock_instance = null;
$java.nms_TextureClock__init_ = function() {
    var var_0 = new nms_TextureClock();
    nms_TextureClock__init_(var_0);
    return var_0;
};
function nms_TextureClock__init_($this) {
    $java.nms_TextureStitched__init_0($this, $rt_s(1795));
    $java.nms_TextureClock_instance = $this;
}
$java.nms_TextureClock_updateAnimation = function($this) {
    var $var1, $var2, $var7, $var6;
    $var1 = nmc_Minecraft_theMinecraft;
    $var2 = 0.0;
    if ($var1.$theWorld !== null && $var1.$thePlayer !== null) {
        $var2 = nms_World_getCelestialAngle($var1.$theWorld, 1.0);
        if (!$var1.$theWorld.$provider.$isSurfaceWorld())
            $var2 = jl_Math_random();
    }
    $var7 = $var2 - $this.$field_94239_h;
    while ($var7 < (-0.5)) {
        $var7 = $var7 + 1.0;
    }
    while ($var7 >= 0.5) {
        $var7 = $var7 - 1.0;
    }
    if ($var7 < (-1.0))
        $var7 = (-1.0);
    if ($var7 > 1.0)
        $var7 = 1.0;
    $this.$field_94240_i = $this.$field_94240_i + $var7 * 0.1;
    $this.$field_94240_i = $this.$field_94240_i * 0.8;
    $this.$field_94239_h = $this.$field_94239_h + $this.$field_94240_i;
    $var6 = (($this.$field_94239_h + 1.0) * $this.$textureList.$size0() | 0) % $this.$textureList.$size0() | 0;
    while ($var6 < 0) {
        $var6 = ($var6 + $this.$textureList.$size0() | 0) % $this.$textureList.$size0() | 0;
    }
    if ($var6 != $this.$frameCounter0) {
        $this.$frameCounter0 = $var6;
        $java.nms_Texture_func_104062_b($this.$textureSheet, $this.$originX1, $this.$originY1, $this.$textureList.$get5($this.$frameCounter0));
    }
};
function nms_TextureClock__clinit_() {
    $java.nms_TextureClock_instance = null;
}
function nms_TextureCompass() {
    var a = this; nms_TextureStitched.call(a);
    a.$currentAngle = 0.0;
    a.$angleDelta = 0.0;
}
var nms_TextureCompass_compassTexture = null;
$java.nms_TextureCompass__init_ = function() {
    var var_0 = new nms_TextureCompass();
    nms_TextureCompass__init_(var_0);
    return var_0;
};
function nms_TextureCompass__init_($this) {
    $java.nms_TextureStitched__init_0($this, $rt_s(1795));
    nms_TextureCompass_compassTexture = $this;
}
function nms_TextureCompass_updateAnimation($this) {
    var $var1;
    $var1 = nmc_Minecraft_theMinecraft;
    if ($var1.$theWorld !== null && $var1.$thePlayer !== null)
        nms_TextureCompass_updateCompass($this, $var1.$theWorld, $var1.$thePlayer.$posX, $var1.$thePlayer.$posZ, $var1.$thePlayer.$rotationYaw, 0, 0);
    else
        nms_TextureCompass_updateCompass($this, null, 0.0, 0.0, 0.0, 1, 0);
}
function nms_TextureCompass_updateCompass($this, $par1World, $par2, $par4, $par6, $par8, $par9) {
    var $var10, $var12, $var13, $var15, $var17, $var18;
    $var10 = 0.0;
    if ($par1World !== null && !$par8) {
        $var12 = nms_World_getSpawnPoint($par1World);
        $var13 = $var12.$posX1 - $par2;
        $var15 = $var12.$posZ1 - $par4;
        $var10 =  -(($par6 % 360.0 - 90.0) * 3.141592653589793 / 180.0 - jl_Math_atan2($var15, $var13));
        if (!$par1World.$provider.$isSurfaceWorld())
            $var10 = jl_Math_random() * 3.141592653589793 * 2.0;
    }
    if ($par9)
        $this.$currentAngle = $var10;
    else {
        $var17 = $var10 - $this.$currentAngle;
        while ($var17 < (-3.141592653589793)) {
            $var17 = $var17 + 6.283185307179586;
        }
        while ($var17 >= 3.141592653589793) {
            $var17 = $var17 - 6.283185307179586;
        }
        if ($var17 < (-1.0))
            $var17 = (-1.0);
        if ($var17 > 1.0)
            $var17 = 1.0;
        $this.$angleDelta = $this.$angleDelta + $var17 * 0.1;
        $this.$angleDelta = $this.$angleDelta * 0.8;
        $this.$currentAngle = $this.$currentAngle + $this.$angleDelta;
    }
    $var18 = (($this.$currentAngle / 6.283185307179586 + 1.0) * $this.$textureList.$size0() | 0) % $this.$textureList.$size0() | 0;
    while ($var18 < 0) {
        $var18 = ($var18 + $this.$textureList.$size0() | 0) % $this.$textureList.$size0() | 0;
    }
    if ($var18 != $this.$frameCounter0) {
        $this.$frameCounter0 = $var18;
        $java.nms_Texture_func_104062_b($this.$textureSheet, $this.$originX1, $this.$originY1, $this.$textureList.$get5($this.$frameCounter0));
    }
}
function nlea_EaglerAdapterImpl2$17() {
    jl_Object.call(this);
}
$java.nlea_EaglerAdapterImpl2$17__init_ = function() {
    var var_0 = new nlea_EaglerAdapterImpl2$17();
    nlea_EaglerAdapterImpl2$17__init_(var_0);
    return var_0;
};
function nlea_EaglerAdapterImpl2$17__init_($this) {
    return;
}
$java.nlea_EaglerAdapterImpl2$17_onTimer = function($this) {
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_canvas.requestPointerLock();
};
$java.nlea_EaglerAdapterImpl2$17_onTimer$exported$0 = function(var$0) {
    $java.nlea_EaglerAdapterImpl2$17_onTimer(var$0);
};
function jn_URLConnection() {
    var a = this; jl_Object.call(a);
    a.$url1 = null;
    a.$lastModified = Long_ZERO;
    a.$useCaches = 0;
    a.$connected = 0;
    a.$doInput = 0;
    a.$allowUserInteraction = 0;
    a.$readTimeout = 0;
    a.$connectTimeout = 0;
    a.$requestProperties = null;
}
$java.jn_URLConnection_defaultAllowUserInteraction = 0;
$java.jn_URLConnection_defaultUseCaches = 0;
$java.jn_URLConnection_getRequestProperties = function($this) {
    var $map, var$2, $key;
    if ($this.$connected) {
        $map = new jl_IllegalStateException;
        jl_Throwable__init_0($map);
        $rt_throw($map);
    }
    $map = ju_HashMap__init_();
    var$2 = ju_HashMap_keySet($this.$requestProperties).$iterator();
    while (var$2.$hasNext()) {
        $key = var$2.$next();
        ju_HashMap_putImpl($map, $key, ju_Collections_unmodifiableList(ju_HashMap_get($this.$requestProperties, $key)));
    }
    var$2 = new ju_Collections$15;
    var$2.$val$m = $map;
    return var$2;
};
function jn_URLConnection_setConnectTimeout($this, $timeout) {
    var var$2;
    if (0 <= $timeout) {
        $this.$connectTimeout = $timeout;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function jn_URLConnection_setReadTimeout($this, $timeout) {
    var var$2;
    if (0 <= $timeout) {
        $this.$readTimeout = $timeout;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
}
function jn_URLConnection__clinit_() {
    $java.jn_URLConnection_defaultUseCaches = 1;
}
function jn_HttpURLConnection() {
    var a = this; jn_URLConnection.call(a);
    a.$methodTokens = null;
    a.$method0 = null;
    a.$responseCode = 0;
    a.$responseMessage = null;
    a.$instanceFollowRedirects = 0;
    a.$chunkLength = 0;
    a.$fixedContentLength = 0;
}
$java.jn_HttpURLConnection_followRedirects = 0;
function jn_HttpURLConnection__clinit_() {
    $java.jn_HttpURLConnection_followRedirects = 1;
}
function jur_MatchResult() {
}
function jur_Matcher() {
    var a = this; jl_Object.call(a);
    a.$pat = null;
    a.$start3 = null;
    a.$string = null;
    a.$matchResult = null;
    a.$leftBound = 0;
    a.$rightBound = 0;
    a.$appendPos = 0;
    a.$replacement1 = null;
    a.$processedRepl = null;
    a.$replacementParts = null;
}
$java.jur_Matcher_appendReplacement = function($this, $buffer, $replacement) {
    $this.$processedRepl = $java.jur_Matcher_processReplacement($this, $replacement);
    jl_AbstractStringBuilder_append5($buffer, jl_String_substring0($this.$string, $this.$appendPos, jur_Matcher_start($this)));
    jl_AbstractStringBuilder_append($buffer, $this.$processedRepl);
    $this.$appendPos = jur_Matcher_end($this);
    return $this;
};
$java.jur_Matcher_processReplacement = function($this, $replacement) {
    var $sb, $i, $repl, $res, $index, $replacementPos, $nextBackSlashed, var$9, $gr, $group, $$je;
    if ($this.$replacement1 !== null && jl_String_equals($this.$replacement1, $replacement)) {
        if ($this.$replacementParts === null)
            return $this.$processedRepl;
        $sb = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($sb);
        $i = 0;
        while ($i < $this.$replacementParts.$size) {
            jl_AbstractStringBuilder_append1($sb, ju_ArrayList_get($this.$replacementParts, $i));
            $i = $i + 1 | 0;
        }
        return jl_AbstractStringBuilder_toString($sb);
    }
    $this.$replacement1 = $replacement;
    $repl = jl_String_toCharArray($replacement);
    $res = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($res);
    $this.$replacementParts = null;
    $index = 0;
    $replacementPos = 0;
    $nextBackSlashed = 0;
    a: {
        b: while (true) {
            var$9 = $repl.data;
            $i = var$9.length;
            if ($index >= $i) {
                if ($this.$replacementParts !== null && $replacementPos != $res.$length0)
                    ju_ArrayList_add($this.$replacementParts, jl_StringBuilder_subSequence($res, $replacementPos, $res.$length0));
                return jl_AbstractStringBuilder_toString($res);
            }
            if (var$9[$index] == 92 && !$nextBackSlashed) {
                $nextBackSlashed = 1;
                $index = $index + 1 | 0;
            }
            c: {
                if ($nextBackSlashed) {
                    if ($index >= $i)
                        break b;
                    jl_AbstractStringBuilder_append0($res, var$9[$index]);
                    $nextBackSlashed = 0;
                } else if (var$9[$index] != 36)
                    jl_AbstractStringBuilder_append0($res, var$9[$index]);
                else {
                    if ($this.$replacementParts === null)
                        $this.$replacementParts = ju_ArrayList__init_0();
                    d: {
                        try {
                            $replacement = new jl_String;
                            $index = $index + 1 | 0;
                            jl_String__init_4($replacement, $repl, $index, 1);
                            $gr = jl_Integer_parseInt($replacement);
                            if ($replacementPos == jl_StringBuilder_length($res))
                                break d;
                            ju_ArrayList_add($this.$replacementParts, jl_StringBuilder_subSequence($res, $replacementPos, jl_StringBuilder_length($res)));
                            $replacementPos = jl_StringBuilder_length($res);
                            break d;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Exception) {
                                break a;
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    try {
                        ju_ArrayList_add($this.$replacementParts, $java.jur_Matcher$1__init_($this, $gr));
                        $group = $java.jur_Matcher_group($this, $gr);
                        $replacementPos = $replacementPos + jl_String_length($group) | 0;
                        jl_StringBuilder_append($res, $group);
                        break c;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                }
            }
            $index = $index + 1 | 0;
        }
        $replacement = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0($replacement);
        $rt_throw($replacement);
    }
    $replacement = new jl_IllegalArgumentException;
    jl_Throwable__init_($replacement, $rt_s(36));
    $rt_throw($replacement);
};
$java.jur_Matcher_reset = function($this) {
    $this.$leftBound = 0;
    $this.$rightBound = jl_String_length($this.$string);
    jur_MatchResultImpl_reset($this.$matchResult, $this.$string, $this.$leftBound, $this.$rightBound);
    $this.$appendPos = 0;
    $this.$replacement1 = null;
    $this.$matchResult.$previousMatch = (-1);
    return $this;
};
$java.jur_Matcher_appendTail = function($this, $buffer) {
    jl_AbstractStringBuilder_append5($buffer, jl_String_substring0($this.$string, $this.$appendPos, jl_String_length($this.$string)));
    return $buffer;
};
function jur_Matcher_replaceAll($this, $replacement) {
    var $sb;
    $sb = new jl_StringBuffer;
    jl_AbstractStringBuilder__init_($sb);
    $java.jur_Matcher_reset($this);
    while (jur_Matcher_find($this)) {
        $java.jur_Matcher_appendReplacement($this, $sb, $replacement);
    }
    return jl_AbstractStringBuilder_toString($java.jur_Matcher_appendTail($this, $sb));
}
$java.jur_Matcher_group = function($this, $group) {
    return $java.jur_MatchResultImpl_group($this.$matchResult, $group);
};
$java.jur_Matcher_find = function($this, $start) {
    var $stringLength, var$3;
    $stringLength = jl_String_length($this.$string);
    if ($start >= 0 && $start <= $stringLength) {
        $java.jur_MatchResultImpl_reset($this.$matchResult);
        $this.$matchResult.$mode1 = 1;
        $java.jur_MatchResultImpl_setStartIndex($this.$matchResult, $start);
        $start = $this.$start3.$find0($start, $this.$string, $this.$matchResult);
        if ($start == (-1))
            $this.$matchResult.$hitEnd = 1;
        if ($start >= 0 && $this.$matchResult.$valid) {
            $java.jur_MatchResultImpl_finalizeMatch($this.$matchResult);
            return 1;
        }
        $this.$matchResult.$startIndex = (-1);
        return 0;
    }
    var$3 = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_(var$3, jl_String_valueOf1($start));
    $rt_throw(var$3);
};
function jur_Matcher_find($this) {
    var $length, var$2;
    $length = jl_String_length($this.$string);
    if (!$java.jur_Matcher_hasTransparentBounds($this))
        $length = $this.$rightBound;
    if ($this.$matchResult.$startIndex >= 0 && $this.$matchResult.$mode1 == 1) {
        $this.$matchResult.$startIndex = $java.jur_MatchResultImpl_end($this.$matchResult);
        if ($java.jur_MatchResultImpl_end($this.$matchResult) == $java.jur_MatchResultImpl_start($this.$matchResult)) {
            var$2 = $this.$matchResult;
            var$2.$startIndex = var$2.$startIndex + 1 | 0;
        }
        return $this.$matchResult.$startIndex <= $length && $java.jur_Matcher_find($this, $this.$matchResult.$startIndex) ? 1 : 0;
    }
    return $java.jur_Matcher_find($this, $this.$leftBound);
}
$java.jur_Matcher_start = function($this, $group) {
    return $java.jur_MatchResultImpl_start0($this.$matchResult, $group);
};
$java.jur_Matcher_end = function($this, $group) {
    return $java.jur_MatchResultImpl_end0($this.$matchResult, $group);
};
function jur_Matcher_matches($this) {
    var var$1, var$2, var$3, var$4;
    var$1 = $this.$leftBound;
    $java.jur_MatchResultImpl_reset($this.$matchResult);
    $this.$matchResult.$mode1 = 2;
    $java.jur_MatchResultImpl_setStartIndex($this.$matchResult, var$1);
    var$2 = $this.$start3;
    var$3 = $this.$matchResult;
    if (var$2.$matches0(var$1, $this.$string, var$3) < 0)
        var$4 = 0;
    else {
        $java.jur_MatchResultImpl_finalizeMatch(var$3);
        var$4 = 1;
    }
    return var$4;
}
function jur_Matcher_start($this) {
    return $java.jur_Matcher_start($this, 0);
}
function jur_Matcher_end($this) {
    return $java.jur_Matcher_end($this, 0);
}
$java.jur_Matcher_hasTransparentBounds = function($this) {
    return $this.$matchResult.$transparentBounds;
};
function nms_Slot() {
    var a = this; jl_Object.call(a);
    a.$slotIndex = 0;
    a.$inventory0 = null;
    a.$slotNumber = 0;
    a.$xDisplayPosition = 0;
    a.$yDisplayPosition = 0;
}
function nms_Slot__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_Slot();
    nms_Slot__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_Slot__init_0($this, $par1IInventory, $par2, $par3, $par4) {
    $this.$inventory0 = $par1IInventory;
    $this.$slotIndex = $par2;
    $this.$xDisplayPosition = $par3;
    $this.$yDisplayPosition = $par4;
}
$java.nms_Slot_onSlotChange = function($this, $par1ItemStack, $par2ItemStack) {
    var $var3;
    if ($par1ItemStack !== null && $par2ItemStack !== null && $par1ItemStack.$itemID0 == $par2ItemStack.$itemID0) {
        $var3 = $par2ItemStack.$stackSize - $par1ItemStack.$stackSize | 0;
        if ($var3 > 0)
            $this.$onCrafting($par1ItemStack, $var3);
    }
};
$java.nms_Slot_onCrafting = function($this, $par1ItemStack, $par2) {
    return;
};
$java.nms_Slot_onPickupFromSlot = function($this, $par1EntityPlayer, $par2ItemStack) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2ItemStack = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $this.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2ItemStack, $ptr);
};
$java.nms_Slot_isItemValid = function($this, $par1ItemStack) {
    return 1;
};
$java.nms_Slot_getStack = function($this) {
    return $this.$inventory0.$getStackInSlot($this.$slotIndex);
};
$java.nms_Slot_getHasStack = function($this) {
    return $this.$getStack() === null ? 0 : 1;
};
$java.nms_Slot_putStack = function($this, $par1ItemStack) {
    var var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$inventory0;
        var$3 = $this.$slotIndex;
        $ptr = 1;
    case 1:
        var$2.$setInventorySlotContents(var$3, $par1ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 2;
    case 2:
        $this.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, var$2, var$3, $ptr);
};
$java.nms_Slot_onSlotChanged = function($this) {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = $this.$inventory0;
        $ptr = 1;
    case 1:
        var$1.$onInventoryChanged();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $ptr);
};
$java.nms_Slot_getSlotStackLimit = function($this) {
    return $this.$inventory0.$getInventoryStackLimit();
};
$java.nms_Slot_getBackgroundIconIndex = function($this) {
    return null;
};
$java.nms_Slot_decrStackSize = function($this, $par1) {
    var var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$inventory0;
        var$3 = $this.$slotIndex;
        $ptr = 1;
    case 1:
        $tmp = var$2.$decrStackSize(var$3, $par1);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        return var$2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, var$3, $ptr);
};
$java.nms_Slot_canTakeStack = function($this, $par1EntityPlayer) {
    return 1;
};
function nms_InventoryBasic() {
    var a = this; jl_Object.call(a);
    a.$inventoryTitle = null;
    a.$slotsCount = 0;
    a.$inventoryContents = null;
    a.$field_70480_d = null;
    a.$field_94051_e = 0;
}
$java.nms_InventoryBasic__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_InventoryBasic();
    nms_InventoryBasic__init_(var_3, var_0, var_1, var_2);
    return var_3;
};
function nms_InventoryBasic__init_($this, $par1Str, $par2, $par3) {
    $this.$inventoryTitle = $par1Str;
    $this.$field_94051_e = $par2;
    $this.$slotsCount = $par3;
    $this.$inventoryContents = $rt_createArray(nms_ItemStack, $par3);
}
$java.nms_InventoryBasic_getStackInSlot = function($this, $par1) {
    return $this.$inventoryContents.data[$par1];
};
$java.nms_InventoryBasic_decrStackSize = function($this, $par1, $par2) {
    var $var3, $var3_0;
    if ($this.$inventoryContents.data[$par1] === null)
        return null;
    if ($this.$inventoryContents.data[$par1].$stackSize <= $par2) {
        $var3 = $this.$inventoryContents.data[$par1];
        $this.$inventoryContents.data[$par1] = null;
        $this.$onInventoryChanged();
        return $var3;
    }
    $var3_0 = nms_ItemStack_splitStack($this.$inventoryContents.data[$par1], $par2);
    if (!$this.$inventoryContents.data[$par1].$stackSize)
        $this.$inventoryContents.data[$par1] = null;
    $this.$onInventoryChanged();
    return $var3_0;
};
$java.nms_InventoryBasic_setInventorySlotContents = function($this, $par1, $par2ItemStack) {
    $this.$inventoryContents.data[$par1] = $par2ItemStack;
    if ($par2ItemStack !== null && $par2ItemStack.$stackSize > $this.$getInventoryStackLimit())
        $par2ItemStack.$stackSize = $this.$getInventoryStackLimit();
    $this.$onInventoryChanged();
};
$java.nms_InventoryBasic_getSizeInventory = function($this) {
    return $this.$slotsCount;
};
$java.nms_InventoryBasic_getInvName = function($this) {
    return $this.$inventoryTitle;
};
$java.nms_InventoryBasic_isInvNameLocalized = function($this) {
    return $this.$field_94051_e;
};
$java.nms_InventoryBasic_getInventoryStackLimit = function($this) {
    return 64;
};
$java.nms_InventoryBasic_onInventoryChanged = function($this) {
    var $var1;
    a: {
        if ($this.$field_70480_d !== null) {
            $var1 = 0;
            while (true) {
                if ($var1 >= $this.$field_70480_d.$size0())
                    break a;
                $this.$field_70480_d.$get5($var1).$onInventoryChanged0($this);
                $var1 = $var1 + 1 | 0;
            }
        }
    }
};
$java.nms_InventoryBasic_openChest = function($this) {
    return;
};
$java.nms_InventoryBasic_closeChest = function($this) {
    return;
};
function nlea_EaglerAdapterImpl2$RenderbufferGL() {
    jl_Object.call(this);
    this.$obj7 = null;
}
function nms_ChunkPosition() {
    var a = this; jl_Object.call(a);
    a.$x6 = 0;
    a.$y5 = 0;
    a.$z6 = 0;
}
$java.nms_ChunkPosition__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_ChunkPosition();
    $java.nms_ChunkPosition__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_ChunkPosition__init_0 = function($this, $par1, $par2, $par3) {
    $this.$x6 = $par1;
    $this.$y5 = $par2;
    $this.$z6 = $par3;
};
$java.nms_ChunkPosition_equals = function($this, $par1Obj) {
    var $var2;
    if (!($par1Obj instanceof nms_ChunkPosition))
        return 0;
    $var2 = $par1Obj;
    return $var2.$x6 == $this.$x6 && $var2.$y5 == $this.$y5 && $var2.$z6 == $this.$z6 ? 1 : 0;
};
$java.nms_ChunkPosition_hashCode = function($this) {
    return ($rt_imul($this.$x6, 8976890) + $rt_imul($this.$y5, 981131) | 0) + $this.$z6 | 0;
};
function jl_VirtualMachineError() {
    jl_Error.call(this);
}
$java.jl_VirtualMachineError__init_ = function() {
    var var_0 = new jl_VirtualMachineError();
    jl_VirtualMachineError__init_(var_0);
    return var_0;
};
function jl_VirtualMachineError__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_OutOfMemoryError() {
    jl_VirtualMachineError.call(this);
}
$java.jl_OutOfMemoryError__init_ = function() {
    var var_0 = new jl_OutOfMemoryError();
    jl_OutOfMemoryError__init_(var_0);
    return var_0;
};
function jl_OutOfMemoryError__init_($this) {
    jl_Throwable__init_0($this);
}
function nms_EnchantmentProtection() {
    nms_Enchantment.call(this);
    this.$protectionType = 0;
}
$java.nms_EnchantmentProtection_protectionName = null;
$java.nms_EnchantmentProtection_baseEnchantability = null;
$java.nms_EnchantmentProtection_levelEnchantability = null;
$java.nms_EnchantmentProtection_thresholdEnchantability = null;
$java.nms_EnchantmentProtection__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_EnchantmentProtection();
    $java.nms_EnchantmentProtection__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_EnchantmentProtection__init_0 = function($this, $par1, $par2, $par3) {
    $java.nms_Enchantment__init_0($this, $par1, $par2, $java.nms_EnumEnchantmentType_armor);
    $this.$protectionType = $par3;
    if ($par3 == 2)
        $this.$type1 = $java.nms_EnumEnchantmentType_armor_feet;
};
$java.nms_EnchantmentProtection_getMaxLevel = function($this) {
    return 4;
};
$java.nms_EnchantmentProtection_getName = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2895));
    jl_AbstractStringBuilder_append(var$1, $java.nms_EnchantmentProtection_protectionName.data[$this.$protectionType]);
    return jl_AbstractStringBuilder_toString(var$1);
};
$java.nms_EnchantmentProtection_canApplyTogether = function($this, $par1Enchantment) {
    var $var2;
    if (!($par1Enchantment instanceof nms_EnchantmentProtection))
        return $java.nms_Enchantment_canApplyTogether($this, $par1Enchantment);
    $var2 = $par1Enchantment;
    return $var2.$protectionType == $this.$protectionType ? 0 : $this.$protectionType != 2 && $var2.$protectionType != 2 ? 0 : 1;
};
$java.nms_EnchantmentProtection_func_92092_a = function($par0Entity, $par1) {
    var $var3;
    nms_Enchantment_$callClinit();
    $var3 = nms_EnchantmentHelper_getMaxEnchantmentLevel($java.nms_Enchantment_blastProtection.$effectId, $par0Entity.$getLastActiveItems());
    if ($var3 > 0)
        $par1 = $par1 - nms_MathHelper_floor_double($par1 * $var3 * 0.15000000596046448);
    return $par1;
};
function nms_EnchantmentProtection__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 5);
    var$2 = var$1.data;
    var$2[0] = $rt_s(803);
    var$2[1] = $rt_s(1966);
    var$2[2] = $rt_s(2896);
    var$2[3] = $rt_s(2897);
    var$2[4] = $rt_s(2898);
    $java.nms_EnchantmentProtection_protectionName = var$1;
    var$1 = $rt_createIntArray(5);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 10;
    var$2[2] = 5;
    var$2[3] = 5;
    var$2[4] = 3;
    $java.nms_EnchantmentProtection_baseEnchantability = var$1;
    var$1 = $rt_createIntArray(5);
    var$2 = var$1.data;
    var$2[0] = 11;
    var$2[1] = 8;
    var$2[2] = 6;
    var$2[3] = 8;
    var$2[4] = 6;
    $java.nms_EnchantmentProtection_levelEnchantability = var$1;
    var$1 = $rt_createIntArray(5);
    var$2 = var$1.data;
    var$2[0] = 20;
    var$2[1] = 12;
    var$2[2] = 10;
    var$2[3] = 12;
    var$2[4] = 15;
    $java.nms_EnchantmentProtection_thresholdEnchantability = var$1;
}
function nms_EnchantmentOxygen() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentOxygen_getMaxLevel = function($this) {
    return 3;
};
function nms_EnchantmentWaterWorker() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentWaterWorker_getMaxLevel = function($this) {
    return 1;
};
function nms_EnchantmentThorns() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentThorns_getMaxLevel = function($this) {
    return 3;
};
$java.nms_EnchantmentThorns_canApply = function($this, $par1ItemStack) {
    return !(nms_ItemStack_getItem($par1ItemStack) instanceof nms_ItemArmor) ? $java.nms_Enchantment_canApply($this, $par1ItemStack) : 1;
};
function nms_EnchantmentThorns_func_92096_a($par0Entity, $par1EntityLiving, $par2Random) {
    var $var3, var$5, var$6, var$7, var$8, $var4, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var4 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();$par2Random = $thread.pop();$par1EntityLiving = $thread.pop();$par0Entity = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_EnchantmentHelper_$callClinit();
        nms_Enchantment_$callClinit();
        $var3 = nms_EnchantmentHelper_getMaxEnchantmentLevel($java.nms_Enchantment_thorns.$effectId, $par1EntityLiving.$getLastActiveItems());
        var$5 = $java.nms_Enchantment_thorns;
        var$6 = $par1EntityLiving.$getLastActiveItems().data;
        var$7 = var$6.length;
        var$8 = 0;
        a: {
            while (true) {
                if (var$8 >= var$7) {
                    $var4 = null;
                    break a;
                }
                $var4 = var$6[var$8];
                if ($var4 !== null && nms_EnchantmentHelper_getEnchantmentLevel(var$5.$effectId, $var4) > 0)
                    break;
                var$8 = var$8 + 1 | 0;
            }
        }
        if (!($var3 <= 0 ? 0 : nle_EaglercraftRandom_nextFloat($par2Random) >= 0.15000000596046448 * $var3 ? 0 : 1)) {
            if ($var4 === null)
                return;
            var$7 = 1;
            $ptr = 1;
            continue main;
        }
        var$5 = $java.nms_DamageSource_setMagicDamage($java.nms_EntityDamageSource__init_($rt_s(2873), $par1EntityLiving));
        var$7 = $var3 > 10 ? $var3 - 10 | 0 : 1 + nle_EaglercraftRandom_nextInt($par2Random, 4) | 0;
        $ptr = 2;
        continue main;
    case 1:
        nms_ItemStack_damageItem($var4, var$7, $par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        $par0Entity.$attackEntityFrom(var$5, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2Random = $rt_s(2899);
        var$10 = 0.5;
        var$11 = 1.0;
        $ptr = 3;
    case 3:
        $par0Entity.$playSound1($par2Random, var$10, var$11);
        if ($rt_suspending()) {
            break main;
        }
        if ($var4 === null)
            return;
        var$7 = 3;
        $ptr = 4;
    case 4:
        nms_ItemStack_damageItem($var4, var$7, $par1EntityLiving);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($par0Entity, $par1EntityLiving, $par2Random, $var3, var$5, var$6, var$7, var$8, $var4, var$10, var$11, $ptr);
}
function nms_EnchantmentDamage() {
    nms_Enchantment.call(this);
    this.$damageType0 = 0;
}
$java.nms_EnchantmentDamage_protectionName = null;
$java.nms_EnchantmentDamage_baseEnchantability = null;
$java.nms_EnchantmentDamage_levelEnchantability = null;
$java.nms_EnchantmentDamage_thresholdEnchantability = null;
$java.nms_EnchantmentDamage__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_EnchantmentDamage();
    $java.nms_EnchantmentDamage__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_EnchantmentDamage__init_0 = function($this, $par1, $par2, $par3) {
    $java.nms_Enchantment__init_0($this, $par1, $par2, $java.nms_EnumEnchantmentType_weapon);
    $this.$damageType0 = $par3;
};
$java.nms_EnchantmentDamage_getMaxLevel = function($this) {
    return 5;
};
$java.nms_EnchantmentDamage_calcModifierLiving = function($this, $par1, $par2EntityLiving) {
    return !$this.$damageType0 ? nms_MathHelper_floor_float($par1 * 2.75) : $this.$damageType0 == 1 && $par2EntityLiving.$getCreatureAttribute() === nms_EnumCreatureAttribute_UNDEAD ? nms_MathHelper_floor_float($par1 * 4.5) : $this.$damageType0 == 2 && $par2EntityLiving.$getCreatureAttribute() === nms_EnumCreatureAttribute_ARTHROPOD ? nms_MathHelper_floor_float($par1 * 4.5) : 0;
};
$java.nms_EnchantmentDamage_getName = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2900));
    jl_AbstractStringBuilder_append(var$1, $java.nms_EnchantmentDamage_protectionName.data[$this.$damageType0]);
    return jl_AbstractStringBuilder_toString(var$1);
};
$java.nms_EnchantmentDamage_canApplyTogether = function($this, $par1Enchantment) {
    return $par1Enchantment instanceof nms_EnchantmentDamage ? 0 : 1;
};
$java.nms_EnchantmentDamage_canApply = function($this, $par1ItemStack) {
    return !(nms_ItemStack_getItem($par1ItemStack) instanceof nms_ItemAxe) ? $java.nms_Enchantment_canApply($this, $par1ItemStack) : 1;
};
function nms_EnchantmentDamage__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_String, 3);
    var$2 = var$1.data;
    var$2[0] = $rt_s(803);
    var$2[1] = $rt_s(2901);
    var$2[2] = $rt_s(2902);
    $java.nms_EnchantmentDamage_protectionName = var$1;
    var$1 = $rt_createIntArray(3);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 5;
    var$2[2] = 5;
    $java.nms_EnchantmentDamage_baseEnchantability = var$1;
    var$1 = $rt_createIntArray(3);
    var$2 = var$1.data;
    var$2[0] = 11;
    var$2[1] = 8;
    var$2[2] = 8;
    $java.nms_EnchantmentDamage_levelEnchantability = var$1;
    var$1 = $rt_createIntArray(3);
    var$2 = var$1.data;
    var$2[0] = 20;
    var$2[1] = 20;
    var$2[2] = 20;
    $java.nms_EnchantmentDamage_thresholdEnchantability = var$1;
}
function nms_EnchantmentKnockback() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentKnockback_getMaxLevel = function($this) {
    return 2;
};
function nms_EnchantmentFireAspect() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentFireAspect_getMaxLevel = function($this) {
    return 2;
};
function nms_EnchantmentLootBonus() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentLootBonus__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_EnchantmentLootBonus();
    $java.nms_EnchantmentLootBonus__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_EnchantmentLootBonus__init_0 = function($this, $par1, $par2, $par3EnumEnchantmentType) {
    $java.nms_Enchantment__init_0($this, $par1, $par2, $par3EnumEnchantmentType);
    $this.$name16 = $rt_s(2903);
    if ($par3EnumEnchantmentType === $java.nms_EnumEnchantmentType_digger)
        $this.$name16 = $rt_s(2904);
};
$java.nms_EnchantmentLootBonus_getMaxLevel = function($this) {
    return 3;
};
$java.nms_EnchantmentLootBonus_canApplyTogether = function($this, $par1Enchantment) {
    return $java.nms_Enchantment_canApplyTogether($this, $par1Enchantment) && $par1Enchantment.$effectId != $java.nms_Enchantment_silkTouch.$effectId ? 1 : 0;
};
function nms_EnumEnchantmentType() {
    jl_Enum.call(this);
}
$java.nms_EnumEnchantmentType_all = null;
$java.nms_EnumEnchantmentType_armor = null;
$java.nms_EnumEnchantmentType_armor_feet = null;
$java.nms_EnumEnchantmentType_armor_legs = null;
$java.nms_EnumEnchantmentType_armor_torso = null;
$java.nms_EnumEnchantmentType_armor_head = null;
$java.nms_EnumEnchantmentType_weapon = null;
$java.nms_EnumEnchantmentType_digger = null;
$java.nms_EnumEnchantmentType_bow = null;
$java.nms_EnumEnchantmentType_$VALUES = null;
$java.nms_EnumEnchantmentType_canEnchantItem = function($this, $par1Item) {
    var $var2;
    if ($this === $java.nms_EnumEnchantmentType_all)
        return 1;
    if (!($par1Item instanceof nms_ItemArmor))
        return $par1Item instanceof nms_ItemSword ? ($this !== $java.nms_EnumEnchantmentType_weapon ? 0 : 1) : $par1Item instanceof nms_ItemTool ? ($this !== $java.nms_EnumEnchantmentType_digger ? 0 : 1) : !($par1Item instanceof nms_ItemBow) ? 0 : $this !== $java.nms_EnumEnchantmentType_bow ? 0 : 1;
    if ($this === $java.nms_EnumEnchantmentType_armor)
        return 1;
    $var2 = $par1Item;
    return !$var2.$armorType ? ($this !== $java.nms_EnumEnchantmentType_armor_head ? 0 : 1) : $var2.$armorType == 2 ? ($this !== $java.nms_EnumEnchantmentType_armor_legs ? 0 : 1) : $var2.$armorType == 1 ? ($this !== $java.nms_EnumEnchantmentType_armor_torso ? 0 : 1) : $var2.$armorType != 3 ? 0 : $this !== $java.nms_EnumEnchantmentType_armor_feet ? 0 : 1;
};
function nms_EnumEnchantmentType__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nms_EnumEnchantmentType;
    jl_Enum__init_0(var$1, $rt_s(803), 0);
    $java.nms_EnumEnchantmentType_all = var$1;
    var$1 = new nms_EnumEnchantmentType;
    jl_Enum__init_0(var$1, $rt_s(2905), 1);
    $java.nms_EnumEnchantmentType_armor = var$1;
    var$1 = new nms_EnumEnchantmentType;
    jl_Enum__init_0(var$1, $rt_s(2906), 2);
    $java.nms_EnumEnchantmentType_armor_feet = var$1;
    var$1 = new nms_EnumEnchantmentType;
    jl_Enum__init_0(var$1, $rt_s(2907), 3);
    $java.nms_EnumEnchantmentType_armor_legs = var$1;
    var$1 = new nms_EnumEnchantmentType;
    jl_Enum__init_0(var$1, $rt_s(2908), 4);
    $java.nms_EnumEnchantmentType_armor_torso = var$1;
    var$1 = new nms_EnumEnchantmentType;
    jl_Enum__init_0(var$1, $rt_s(2909), 5);
    $java.nms_EnumEnchantmentType_armor_head = var$1;
    var$1 = new nms_EnumEnchantmentType;
    jl_Enum__init_0(var$1, $rt_s(2910), 6);
    $java.nms_EnumEnchantmentType_weapon = var$1;
    var$1 = new nms_EnumEnchantmentType;
    jl_Enum__init_0(var$1, $rt_s(2911), 7);
    $java.nms_EnumEnchantmentType_digger = var$1;
    var$1 = new nms_EnumEnchantmentType;
    jl_Enum__init_0(var$1, $rt_s(1712), 8);
    $java.nms_EnumEnchantmentType_bow = var$1;
    var$2 = $rt_createArray(nms_EnumEnchantmentType, 9);
    var$3 = var$2.data;
    var$3[0] = $java.nms_EnumEnchantmentType_all;
    var$3[1] = $java.nms_EnumEnchantmentType_armor;
    var$3[2] = $java.nms_EnumEnchantmentType_armor_feet;
    var$3[3] = $java.nms_EnumEnchantmentType_armor_legs;
    var$3[4] = $java.nms_EnumEnchantmentType_armor_torso;
    var$3[5] = $java.nms_EnumEnchantmentType_armor_head;
    var$3[6] = $java.nms_EnumEnchantmentType_weapon;
    var$3[7] = $java.nms_EnumEnchantmentType_digger;
    var$3[8] = $java.nms_EnumEnchantmentType_bow;
    $java.nms_EnumEnchantmentType_$VALUES = var$2;
}
function nms_EnchantmentDigging() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentDigging_getMaxLevel = function($this) {
    return 5;
};
$java.nms_EnchantmentDigging_canApply = function($this, $par1ItemStack) {
    var var$2;
    var$2 = nms_ItemStack_getItem($par1ItemStack).$itemID;
    nms_Item_$callClinit();
    return var$2 != nms_Item_shears.$itemID ? $java.nms_Enchantment_canApply($this, $par1ItemStack) : 1;
};
function nms_EnchantmentUntouching() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentUntouching_getMaxLevel = function($this) {
    return 1;
};
$java.nms_EnchantmentUntouching_canApplyTogether = function($this, $par1Enchantment) {
    return $java.nms_Enchantment_canApplyTogether($this, $par1Enchantment) && $par1Enchantment.$effectId != $java.nms_Enchantment_fortune.$effectId ? 1 : 0;
};
$java.nms_EnchantmentUntouching_canApply = function($this, $par1ItemStack) {
    var var$2;
    var$2 = nms_ItemStack_getItem($par1ItemStack).$itemID;
    nms_Item_$callClinit();
    return var$2 != nms_Item_shears.$itemID ? $java.nms_Enchantment_canApply($this, $par1ItemStack) : 1;
};
function nms_EnchantmentDurability() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentDurability_getMaxLevel = function($this) {
    return 3;
};
$java.nms_EnchantmentDurability_canApply = function($this, $par1ItemStack) {
    return !nms_ItemStack_isItemStackDamageable($par1ItemStack) ? $java.nms_Enchantment_canApply($this, $par1ItemStack) : 1;
};
function nms_EnchantmentArrowDamage() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentArrowDamage_getMaxLevel = function($this) {
    return 5;
};
function nms_EnchantmentArrowKnockback() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentArrowKnockback_getMaxLevel = function($this) {
    return 2;
};
function nms_EnchantmentArrowFire() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentArrowFire_getMaxLevel = function($this) {
    return 1;
};
function nms_EnchantmentArrowInfinite() {
    nms_Enchantment.call(this);
}
$java.nms_EnchantmentArrowInfinite_getMaxLevel = function($this) {
    return 1;
};
function jn_MalformedURLException() {
    ji_IOException.call(this);
}
$java.jn_MalformedURLException__init_ = function() {
    var var_0 = new jn_MalformedURLException();
    jn_MalformedURLException__init_(var_0);
    return var_0;
};
function jn_MalformedURLException__init_($this) {
    jl_Throwable__init_0($this);
}
function otjc_JSArray() {
    jl_Object.call(this);
}
$java.otjc_JSArray_get$exported$0 = function(var$0, var$1) {
    return var$0.$get2(var$1);
};
$java.otjc_JSArray_getLength$exported$1 = function(var$0) {
    return var$0.$getLength();
};
function otjc_JSNumber() {
    jl_Object.call(this);
}
function nms_ScoreComparator() {
    jl_Object.call(this);
}
$java.nms_ScoreComparator__init_ = function() {
    var var_0 = new nms_ScoreComparator();
    nms_ScoreComparator__init_(var_0);
    return var_0;
};
function nms_ScoreComparator__init_($this) {
    return;
}
$java.nms_ScoreComparator_func_96659_a = function($this, $par1Score, $par2Score) {
    return $par1Score.$field_96655_e > $par2Score.$field_96655_e ? 1 : $par1Score.$field_96655_e >= $par2Score.$field_96655_e ? 0 : (-1);
};
$java.nms_ScoreComparator_compare = function($this, $par1Obj, $par2Obj) {
    return $java.nms_ScoreComparator_func_96659_a($this, $par1Obj, $par2Obj);
};
function jn_URLStreamHandler() {
    jl_Object.call(this);
}
$java.jn_URLStreamHandler_parseURL = function($this, $u, $str, $start, $end) {
    var $parseString, $questionMarkIndex, $host, $port, $ref, $file, $query, $authority, $userInfo, $refIdx, $hostIdx, $c, $queryIdx, $userIdx, $portIdx, $endOfIPv6Addr, $last, $portString, $fileEnd, $canonicalize, $$je;
    if ($end >= $start && $end >= 0) {
        $parseString = jl_String_substring0($str, $start, $end);
        $start = $end - $start | 0;
        $questionMarkIndex = 0;
        $host = $u.$host;
        $port = $u.$port;
        $ref = $u.$ref;
        $file = $u.$path0;
        $query = $u.$query;
        $authority = $u.$authority;
        $userInfo = $u.$userInfo;
        $refIdx = jl_String_indexOf($parseString, 35, 0);
        if (jl_String_startsWith0($parseString, $rt_s(2912)) && !jl_String_startsWith0($parseString, $rt_s(2913))) {
            $hostIdx = 2;
            $port = (-1);
            $c = jl_String_indexOf($parseString, 47, $hostIdx);
            $questionMarkIndex = jl_String_indexOf($parseString, 63, $hostIdx);
            if ($questionMarkIndex == (-1))
                $questionMarkIndex = $c;
            else if ($c != (-1) && $c <= $questionMarkIndex)
                $questionMarkIndex = $c;
            if ($questionMarkIndex == (-1)) {
                $file = $rt_s(36);
                $questionMarkIndex = $start;
            }
            $queryIdx = $refIdx == (-1) ? $questionMarkIndex : $refIdx < $questionMarkIndex ? $refIdx : $questionMarkIndex;
            $userIdx = jl_String_lastIndexOf0($parseString, 64, $queryIdx);
            $authority = jl_String_substring0($parseString, $hostIdx, $queryIdx);
            $c = $rt_compare($userIdx, (-1));
            if ($c > 0) {
                $userInfo = jl_String_substring0($parseString, $hostIdx, $userIdx);
                $hostIdx = $userIdx + 1 | 0;
            }
            if (!$c)
                $userIdx = $hostIdx;
            a: {
                $portIdx = jl_String_indexOf($parseString, 58, $userIdx);
                $endOfIPv6Addr = jl_String_indexOf0($parseString, 93);
                if ($endOfIPv6Addr == (-1))
                    $userIdx = $portIdx;
                else {
                    try {
                        $last = $portIdx;
                        $end = jl_String_length($parseString);
                        $userIdx = $endOfIPv6Addr + 1 | 0;
                        if ($end <= $userIdx) {
                            $last = $portIdx;
                            $userIdx = (-1);
                            $last = $userIdx;
                        } else {
                            $last = $portIdx;
                            if (jl_String_charAt($parseString, $userIdx) == 58) {
                                $last = $userIdx;
                                $last = $portIdx;
                            } else {
                                $last = $portIdx;
                                $userIdx = (-1);
                                $last = $userIdx;
                            }
                            $last = $userIdx;
                        }
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                        } else {
                            throw $$e;
                        }
                    }
                    $userIdx = $last;
                }
            }
            if ($userIdx != (-1) && $userIdx <= $questionMarkIndex) {
                $host = jl_String_substring0($parseString, $hostIdx, $userIdx);
                $portString = jl_String_substring0($parseString, $userIdx + 1 | 0, $queryIdx);
                $port = jl_String_length($portString) ? jl_Integer_parseInt($portString) : (-1);
            } else
                $host = jl_String_substring0($parseString, $hostIdx, $queryIdx);
        }
        $end = $rt_compare($refIdx, (-1));
        if ($end > 0)
            $ref = jl_String_substring0($parseString, $refIdx + 1 | 0, $start);
        $fileEnd = $end ? $refIdx : $start;
        $queryIdx = jl_String_lastIndexOf0($parseString, 63, $fileEnd);
        $canonicalize = 0;
        if ($queryIdx <= (-1)) {
            if (!$refIdx)
                $queryIdx = $fileEnd;
            else {
                $query = null;
                $queryIdx = $fileEnd;
            }
        } else {
            $query = jl_String_substring0($parseString, $queryIdx + 1 | 0, $fileEnd);
            if (!$queryIdx && $file !== null) {
                if (jl_String_equals($file, $rt_s(36)))
                    $file = $rt_s(61);
                else if (jl_String_startsWith0($file, $rt_s(61)))
                    $canonicalize = 1;
                $file = jl_String_substring0($file, 0, jl_String_lastIndexOf($file, 47) + 1 | 0);
            }
        }
        if ($questionMarkIndex > (-1)) {
            if ($questionMarkIndex < $start && jl_String_charAt($parseString, $questionMarkIndex) == 47)
                $file = jl_String_substring0($parseString, $questionMarkIndex, $queryIdx);
            else if ($queryIdx > $questionMarkIndex) {
                if ($file === null)
                    $file = $rt_s(36);
                else if (jl_String_equals($file, $rt_s(36)))
                    $file = $rt_s(61);
                else if (jl_String_startsWith0($file, $rt_s(61)))
                    $canonicalize = 1;
                $last = jl_String_lastIndexOf($file, 47) + 1 | 0;
                if (!$last)
                    $file = jl_String_substring0($parseString, $questionMarkIndex, $queryIdx);
                else {
                    $str = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($str);
                    jl_AbstractStringBuilder_append($str, jl_String_substring0($file, 0, $last));
                    jl_AbstractStringBuilder_append($str, jl_String_substring0($parseString, $questionMarkIndex, $queryIdx));
                    $file = jl_AbstractStringBuilder_toString($str);
                }
            }
        }
        if ($file === null)
            $file = $rt_s(36);
        if ($host === null)
            $host = $rt_s(36);
        if ($canonicalize)
            $file = $java.jn_URLStreamHandler_canonicalizePath($file);
        $java.jn_URL_set($u, $u.$protocol, $host, $port, $authority, $userInfo, $file, $query, $ref);
        return;
    }
    b: {
        if ($end <= (-2147483647)) {
            if ($start >= jl_String_length($str))
                break b;
            if ($start < 0)
                break b;
        }
        if (!(jl_String_startsWith($str, $rt_s(2912), $start) && jl_String_indexOf($str, 47, $start + 2 | 0) == (-1)))
            return;
    }
    $u = new jl_StringIndexOutOfBoundsException;
    $str = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($str);
    jl_AbstractStringBuilder_append($str, $rt_s(2914));
    jl_AbstractStringBuilder_append2($str, $end);
    jl_Throwable__init_($u, jl_AbstractStringBuilder_toString($str));
    $rt_throw($u);
};
$java.jn_URLStreamHandler_canonicalizePath = function($path) {
    var $dirIndex, var$3, var$4;
    while (true) {
        $dirIndex = jl_String_indexOf2($path, $rt_s(2915));
        if ($dirIndex < 0)
            break;
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, jl_String_substring0($path, 0, $dirIndex + 1 | 0));
        jl_AbstractStringBuilder_append(var$3, jl_String_substring($path, $dirIndex + 3 | 0));
        $path = jl_AbstractStringBuilder_toString(var$3);
    }
    if (jl_String_endsWith($path, $rt_s(2916)))
        $path = jl_String_substring0($path, 0, jl_String_length($path) - 1 | 0);
    while (true) {
        var$4 = jl_String_indexOf2($path, $rt_s(2917));
        if (var$4 < 0)
            break;
        if (!var$4) {
            $path = jl_String_substring($path, var$4 + 3 | 0);
            continue;
        }
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, jl_String_substring0($path, 0, jl_String_lastIndexOf0($path, 47, var$4 - 1 | 0)));
        jl_AbstractStringBuilder_append(var$3, jl_String_substring($path, var$4 + 3 | 0));
        $path = jl_AbstractStringBuilder_toString(var$3);
    }
    if (jl_String_endsWith($path, $rt_s(2918)) && jl_String_length($path) > 3)
        $path = jl_String_substring0($path, 0, jl_String_lastIndexOf0($path, 47, jl_String_length($path) - 4 | 0) + 1 | 0);
    return $path;
};
$java.jn_URLStreamHandler_setURL = function($this, $u, $protocol, $host, $port, $authority, $userInfo, $file, $query, $ref) {
    $java.jn_URL_set($u, $protocol, $host, $port, $authority, $userInfo, $file, $query, $ref);
};
$java.jn_URLStreamHandler_toExternalForm = function($this, $url) {
    var $answer, $authority, $file, $ref;
    $answer = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($answer);
    jl_AbstractStringBuilder_append($answer, $url.$protocol);
    jl_AbstractStringBuilder_append0($answer, 58);
    $authority = $url.$authority;
    if ($authority !== null && jl_String_length($authority) > 0) {
        jl_AbstractStringBuilder_append($answer, $rt_s(2912));
        jl_AbstractStringBuilder_append($answer, $url.$authority);
    }
    $file = $url.$file;
    $ref = $url.$ref;
    if ($file !== null)
        jl_AbstractStringBuilder_append($answer, $file);
    if ($ref !== null) {
        jl_AbstractStringBuilder_append0($answer, 35);
        jl_AbstractStringBuilder_append($answer, $ref);
    }
    return jl_AbstractStringBuilder_toString($answer);
};
function jnc_CoderMalfunctionError() {
    jl_Error.call(this);
}
function jnc_CoderMalfunctionError__init_(var_0) {
    var var_1 = new jnc_CoderMalfunctionError();
    $java.jnc_CoderMalfunctionError__init_(var_1, var_0);
    return var_1;
}
$java.jnc_CoderMalfunctionError__init_ = function($this, $cause) {
    jl_Throwable__init_6($this, $cause);
};
function nms_Particle() {
    var a = this; jl_Object.call(a);
    a.$posX5 = 0.0;
    a.$posY5 = 0.0;
    a.$prevPosX0 = 0.0;
    a.$prevPosY0 = 0.0;
    a.$isDead0 = 0;
    a.$tintRed = 0.0;
    a.$tintGreen = 0.0;
    a.$tintBlue = 0.0;
    a.$tintAlpha = 0.0;
    a.$prevTintRed = 0.0;
    a.$prevTintGreen = 0.0;
    a.$prevTintBlue = 0.0;
    a.$prevTintAlpha = 0.0;
}
$java.nms_Particle_rand = null;
$java.nms_Particle_$callClinit = function() {
    $java.nms_Particle_$callClinit = $rt_eraseClinit(nms_Particle);
    $java.nms_Particle__clinit_();
};
$java.nms_Particle__init_ = function() {
    var var_0 = new nms_Particle();
    nms_Particle__init_(var_0);
    return var_0;
};
function nms_Particle__init_($this) {
    $java.nms_Particle_$callClinit();
}
$java.nms_Particle__clinit_ = function() {
    $java.nms_Particle_rand = nle_EaglercraftRandom__init_0();
};
function ju_AbstractMap$KeySet$1() {
    var a = this; jl_Object.call(a);
    a.$val$iter = null;
    a.$this$1 = null;
}
$java.ju_AbstractMap$KeySet$1_hasNext = function($this) {
    return $java.ju_TreeMap$EntryIterator_hasNext($this.$val$iter);
};
$java.ju_AbstractMap$KeySet$1_next = function($this) {
    return $java.ju_TreeMap$EntryIterator_next($this.$val$iter).$key1;
};
$java.ju_AbstractMap$KeySet$1_remove = function($this) {
    $java.ju_TreeMap$EntryIterator_remove($this.$val$iter);
};
function ju_LinkedHashMap$AbstractMapIterator() {
    var a = this; jl_Object.call(a);
    a.$expectedModCount0 = 0;
    a.$futureEntry0 = null;
    a.$currentEntry1 = null;
    a.$associatedMap1 = null;
}
$java.ju_LinkedHashMap$AbstractMapIterator__init_0 = function(var_0) {
    var var_1 = new ju_LinkedHashMap$AbstractMapIterator();
    $java.ju_LinkedHashMap$AbstractMapIterator__init_(var_1, var_0);
    return var_1;
};
$java.ju_LinkedHashMap$AbstractMapIterator__init_ = function($this, $map) {
    $this.$expectedModCount0 = $map.$modCount1;
    $this.$futureEntry0 = $map.$head4;
    $this.$associatedMap1 = $map;
};
$java.ju_LinkedHashMap$AbstractMapIterator_hasNext = function($this) {
    return $this.$futureEntry0 === null ? 0 : 1;
};
$java.ju_LinkedHashMap$AbstractMapIterator_checkConcurrentMod = function($this) {
    var var$1;
    if ($this.$expectedModCount0 == $this.$associatedMap1.$modCount1)
        return;
    var$1 = new ju_ConcurrentModificationException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
};
$java.ju_LinkedHashMap$AbstractMapIterator_makeNext = function($this) {
    var var$1;
    $java.ju_LinkedHashMap$AbstractMapIterator_checkConcurrentMod($this);
    if ($java.ju_LinkedHashMap$AbstractMapIterator_hasNext($this)) {
        $this.$currentEntry1 = $this.$futureEntry0;
        $this.$futureEntry0 = $this.$futureEntry0.$chainForward;
        return;
    }
    var$1 = new ju_NoSuchElementException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
};
$java.ju_LinkedHashMap$AbstractMapIterator_remove = function($this) {
    var $lhme, $p, $n, $lhm;
    $java.ju_LinkedHashMap$AbstractMapIterator_checkConcurrentMod($this);
    if ($this.$currentEntry1 === null) {
        $lhme = new jl_IllegalStateException;
        jl_Throwable__init_0($lhme);
        $rt_throw($lhme);
    }
    ju_HashMap_removeEntry0($this.$associatedMap1, $this.$currentEntry1);
    $lhme = $this.$currentEntry1;
    $p = $lhme.$chainBackward;
    $n = $lhme.$chainForward;
    $lhm = $this.$associatedMap1;
    if ($p !== null) {
        $p.$chainForward = $n;
        if ($n !== null)
            $n.$chainBackward = $p;
        else
            $lhm.$tail = $p;
    } else {
        $lhm.$head4 = $n;
        if ($n !== null)
            $n.$chainBackward = null;
        else
            $lhm.$tail = null;
    }
    $this.$currentEntry1 = null;
    $this.$expectedModCount0 = $this.$expectedModCount0 + 1 | 0;
};
function ju_LinkedHashMap$KeyIterator() {
    ju_LinkedHashMap$AbstractMapIterator.call(this);
}
$java.ju_LinkedHashMap$KeyIterator_next = function($this) {
    $java.ju_LinkedHashMap$AbstractMapIterator_makeNext($this);
    return $this.$currentEntry1.$key;
};
function jm_Conversion() {
    jl_Object.call(this);
}
$java.jm_Conversion_digitFitInInt = null;
$java.jm_Conversion_bigRadices = null;
$java.jm_Conversion__init_ = function() {
    var var_0 = new jm_Conversion();
    jm_Conversion__init_(var_0);
    return var_0;
};
function jm_Conversion__init_($this) {
    return;
}
$java.jm_Conversion_toDecimalScaledString0 = function($val, $scale) {
    var $sign, $numberLength, $digits, $result1, $resLengthInChars, $result, $v, $i1, $v_0, $v_1, $v_2, var$14, $temp, var$16, $negNumber, $result11, $j, $res, $resDigit, $delta, $i, $exponent, $insertPoint, $startPoint;
    $sign = $val.$sign1;
    $numberLength = $val.$numberLength;
    $digits = $val.$digits;
    if (!$sign) {
        switch ($scale) {
            case 0:
                break;
            case 1:
                return $rt_s(2919);
            case 2:
                return $rt_s(2920);
            case 3:
                return $rt_s(2921);
            case 4:
                return $rt_s(2922);
            case 5:
                return $rt_s(2923);
            case 6:
                return $rt_s(2924);
            default:
                $result1 = jl_StringBuilder__init_();
                if ($scale >= 0)
                    jl_StringBuilder_append($result1, $rt_s(2925));
                else
                    jl_StringBuilder_append($result1, $rt_s(2926));
                jl_StringBuilder_append1($result1,  -$scale);
                return jl_StringBuilder_toString($result1);
        }
        return $rt_s(87);
    }
    $resLengthInChars = (($numberLength * 10 | 0) + 1 | 0) + 7 | 0;
    $result = $rt_createCharArray($resLengthInChars + 1 | 0);
    if ($numberLength == 1) {
        $v = $digits.data[0];
        if ($v >= 0) {
            $i1 = $resLengthInChars;
            while (true) {
                $digits = $result.data;
                $v_0 = $v / 10 | 0;
                $i1 = $i1 + (-1) | 0;
                $digits[$i1] = (48 + ($v - ($v_0 * 10 | 0) | 0) | 0) & 65535;
                if (!$v_0)
                    break;
                $v = $v_0;
            }
        } else {
            $v_1 = Long_and(Long_fromInt($v), new Long(4294967295, 0));
            $i1 = $resLengthInChars;
            while (true) {
                $digits = $result.data;
                $v_2 = Long_div($v_1, Long_fromInt(10));
                $i1 = $i1 + (-1) | 0;
                $digits[$i1] = (48 + Long_sub($v_1, Long_mul($v_2, Long_fromInt(10))).lo | 0) & 65535;
                if (Long_eq($v_2, Long_ZERO))
                    break;
                $v_1 = $v_2;
            }
        }
    } else {
        var$14 = $result.data;
        $temp = $rt_createIntArray($numberLength);
        var$16 = $temp.data;
        jl_System_arraycopy($digits, 0, $temp, 0, $numberLength);
        $negNumber = $resLengthInChars;
        a: while (true) {
            $result11 = Long_ZERO;
            $j = $numberLength - 1 | 0;
            $i1 = $j;
            while ($i1 >= 0) {
                $res = $java.jm_Conversion_divideLongByBillion(Long_add(Long_shl($result11, 32), Long_and(Long_fromInt(var$16[$i1]), new Long(4294967295, 0))));
                var$16[$i1] = $res.lo;
                $result11 = Long_fromInt($res.hi);
                $i1 = $i1 + (-1) | 0;
            }
            $resDigit = $result11.lo;
            $i1 = $negNumber;
            while (true) {
                $i1 = $i1 + (-1) | 0;
                var$14[$i1] = (48 + ($resDigit % 10 | 0) | 0) & 65535;
                $resDigit = $resDigit / 10 | 0;
                if (!$resDigit)
                    break;
                if (!$i1)
                    break;
            }
            $delta = (9 - $negNumber | 0) + $i1 | 0;
            $i = 0;
            while ($i < $delta && $i1 > 0) {
                $i1 = $i1 + (-1) | 0;
                var$14[$i1] = 48;
                $i = $i + 1 | 0;
            }
            while (!var$16[$j]) {
                if (!$j)
                    break a;
                $j = $j + (-1) | 0;
            }
            $numberLength = $j + 1 | 0;
            $negNumber = $i1;
        }
        while (var$14[$i1] == 48) {
            $i1 = $i1 + 1 | 0;
        }
    }
    $negNumber = $sign >= 0 ? 0 : 1;
    $sign = $resLengthInChars - $i1 | 0;
    $exponent = ($sign - $scale | 0) - 1 | 0;
    if (!$scale) {
        if ($negNumber) {
            $digits = $result.data;
            $i1 = $i1 + (-1) | 0;
            $digits[$i1] = 45;
        }
        return jl_String__init_3($result, $i1, $resLengthInChars - $i1 | 0);
    }
    if ($scale > 0 && $exponent >= (-6)) {
        if ($exponent < 0) {
            $digits = $result.data;
            $j = 2;
            $scale =  -$exponent + 1 | 0;
            while ($j < $scale) {
                $i1 = $i1 + (-1) | 0;
                $digits[$i1] = 48;
                $j = $j + 1 | 0;
            }
            $scale = $i1 + (-1) | 0;
            $digits[$scale] = 46;
            $scale = $scale + (-1) | 0;
            $digits[$scale] = 48;
            if ($negNumber) {
                $scale = $scale + (-1) | 0;
                $digits[$scale] = 45;
            }
            return jl_String__init_3($result, $scale, $resLengthInChars - $scale | 0);
        }
        $digits = $result.data;
        $insertPoint = $i1 + $exponent | 0;
        $j = $resLengthInChars - 1 | 0;
        while ($j >= $insertPoint) {
            $digits[$j + 1 | 0] = $digits[$j];
            $j = $j + (-1) | 0;
        }
        $digits[$insertPoint + 1 | 0] = 46;
        if ($negNumber) {
            $i1 = $i1 + (-1) | 0;
            $digits[$i1] = 45;
        }
        return jl_String__init_3($result, $i1, ($resLengthInChars - $i1 | 0) + 1 | 0);
    }
    $startPoint = $i1 + 1 | 0;
    $result1 = jl_StringBuilder__init_1((16 + $resLengthInChars | 0) - $startPoint | 0);
    if ($negNumber)
        jl_StringBuilder_append0($result1, 45);
    if (($resLengthInChars - $startPoint | 0) < 1)
        jl_StringBuilder_append5($result1, $result, $i1, $sign);
    else {
        jl_StringBuilder_append0($result1, $result.data[$i1]);
        jl_StringBuilder_append0($result1, 46);
        jl_StringBuilder_append5($result1, $result, $startPoint, $sign - 1 | 0);
    }
    jl_StringBuilder_append0($result1, 69);
    if ($exponent > 0)
        jl_StringBuilder_append0($result1, 43);
    jl_StringBuilder_append($result1, jl_Integer_toString($exponent));
    return jl_StringBuilder_toString($result1);
};
$java.jm_Conversion_toDecimalScaledString = function($v, $scale) {
    var $negNumber, $result1, $result, var$6, var$7, $v_0, $exponent, $insertPoint, $j, $startPoint;
    $negNumber = Long_ge($v, Long_ZERO) ? 0 : 1;
    if ($negNumber)
        $v = Long_neg($v);
    if (Long_eq($v, Long_ZERO)) {
        switch ($scale) {
            case 0:
                break;
            case 1:
                return $rt_s(2919);
            case 2:
                return $rt_s(2920);
            case 3:
                return $rt_s(2921);
            case 4:
                return $rt_s(2922);
            case 5:
                return $rt_s(2923);
            case 6:
                return $rt_s(2924);
            default:
                $result1 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($result1);
                if ($scale >= 0)
                    jl_AbstractStringBuilder_append($result1, $rt_s(2925));
                else
                    jl_AbstractStringBuilder_append($result1, $rt_s(2926));
                jl_AbstractStringBuilder_append($result1, $scale == (-2147483648) ? $rt_s(2927) : jl_Integer_toString( -$scale));
                return jl_AbstractStringBuilder_toString($result1);
        }
        return $rt_s(87);
    }
    $result = $rt_createCharArray(19);
    var$6 = 18;
    while (true) {
        var$7 = $result.data;
        $v_0 = Long_div($v, Long_fromInt(10));
        var$6 = var$6 + (-1) | 0;
        var$7[var$6] = Long_add(Long_fromInt(48), Long_sub($v, Long_mul($v_0, Long_fromInt(10)))).lo & 65535;
        if (Long_eq($v_0, Long_ZERO))
            break;
        $v = $v_0;
    }
    $exponent = Long_sub(Long_sub(Long_sub(Long_fromInt(18), Long_fromInt(var$6)), Long_fromInt($scale)), Long_fromInt(1));
    if (!$scale) {
        if ($negNumber) {
            var$6 = var$6 + (-1) | 0;
            var$7[var$6] = 45;
        }
        return jl_String__init_3($result, var$6, 18 - var$6 | 0);
    }
    if ($scale > 0 && Long_ge($exponent, Long_fromInt(-6))) {
        if (Long_ge($exponent, Long_ZERO)) {
            $insertPoint = var$6 + $exponent.lo | 0;
            $j = 17;
            while ($j >= $insertPoint) {
                var$7[$j + 1 | 0] = var$7[$j];
                $j = $j + (-1) | 0;
            }
            var$7[$insertPoint + 1 | 0] = 46;
            if ($negNumber) {
                var$6 = var$6 + (-1) | 0;
                var$7[var$6] = 45;
            }
            return jl_String__init_3($result, var$6, (18 - var$6 | 0) + 1 | 0);
        }
        $j = 2;
        $v = Long_add(Long_neg($exponent), Long_fromInt(1));
        while (Long_lt(Long_fromInt($j), $v)) {
            var$6 = var$6 + (-1) | 0;
            var$7[var$6] = 48;
            $j = $j + 1 | 0;
        }
        $scale = var$6 + (-1) | 0;
        var$7[$scale] = 46;
        $scale = $scale + (-1) | 0;
        var$7[$scale] = 48;
        if ($negNumber) {
            $scale = $scale + (-1) | 0;
            var$7[$scale] = 45;
        }
        return jl_String__init_3($result, $scale, 18 - $scale | 0);
    }
    $startPoint = var$6 + 1 | 0;
    $result1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_2($result1, 34 - $startPoint | 0);
    if ($negNumber)
        jl_AbstractStringBuilder_append0($result1, 45);
    if ((18 - $startPoint | 0) < 1)
        jl_AbstractStringBuilder_append6($result1, $result, var$6, 18 - var$6 | 0);
    else {
        jl_AbstractStringBuilder_append0($result1, var$7[var$6]);
        jl_AbstractStringBuilder_append0($result1, 46);
        jl_AbstractStringBuilder_append6($result1, $result, $startPoint, (18 - var$6 | 0) - 1 | 0);
    }
    jl_AbstractStringBuilder_append0($result1, 69);
    if (Long_gt($exponent, Long_ZERO))
        jl_AbstractStringBuilder_append0($result1, 43);
    jl_AbstractStringBuilder_append($result1, jl_Long_toString($exponent));
    return jl_AbstractStringBuilder_toString($result1);
};
$java.jm_Conversion_divideLongByBillion = function($a) {
    var $quot, $rem, $aPos;
    if (Long_ge($a, Long_ZERO)) {
        $quot = Long_div($a, Long_fromInt(1000000000));
        $rem = Long_rem($a, Long_fromInt(1000000000));
    } else {
        $aPos = Long_shru($a, 1);
        $quot = Long_div($aPos, Long_fromInt(500000000));
        $rem = Long_add(Long_shl(Long_rem($aPos, Long_fromInt(500000000)), 1), Long_and($a, Long_fromInt(1)));
    }
    return Long_or(Long_shl($rem, 32), Long_and($quot, new Long(4294967295, 0)));
};
$java.jm_Conversion_bigInteger2Double = function($val) {
    var $bitLen, $exponent, $delta, $mantissa, var$6, var$7, var$8;
    a: {
        if ($val.$numberLength >= 2) {
            if ($val.$numberLength != 2)
                break a;
            if ($val.$digits.data[1] <= 0)
                break a;
        }
        return Long_toNumber($java.jm_BigInteger_longValue($val));
    }
    if ($val.$numberLength > 32)
        return $val.$sign1 <= 0 ? (-Infinity) : Infinity;
    $bitLen = $java.jm_BigInteger_bitLength($java.jm_BigInteger_abs($val));
    $exponent = Long_fromInt($bitLen - 1 | 0);
    $delta = $bitLen - 54 | 0;
    $mantissa = Long_and($java.jm_BigInteger_longValue($java.jm_BigInteger_shiftRight($java.jm_BigInteger_abs($val), $delta)), new Long(4294967295, 2097151));
    if (Long_eq($exponent, Long_fromInt(1023))) {
        if (Long_eq($mantissa, new Long(4294967295, 2097151)))
            return $val.$sign1 <= 0 ? (-Infinity) : Infinity;
        if (Long_eq($mantissa, new Long(4294967294, 2097151)))
            return $val.$sign1 <= 0 ? (-1.7976931348623157E308) : 1.7976931348623157E308;
    }
    b: {
        if (!(Long_eq(Long_and($mantissa, Long_fromInt(1)), Long_fromInt(1)) && Long_eq(Long_and($mantissa, Long_fromInt(2)), Long_fromInt(2)))) {
            var$6 = $val.$digits;
            $bitLen = $delta >> 5;
            $delta = $delta & 31;
            var$7 = 0;
            while (true) {
                var$8 = $rt_compare(var$7, $bitLen);
                if (var$8 >= 0)
                    break;
                if (var$6.data[var$7])
                    break;
                var$7 = var$7 + 1 | 0;
            }
            if (!(!var$8 && !(var$6.data[var$7] << (32 - $delta | 0)) ? 0 : 1))
                break b;
        }
        $mantissa = Long_add($mantissa, Long_fromInt(2));
    }
    $mantissa = Long_shr($mantissa, 1);
    return $rt_longBitsToDouble(Long_or(Long_or($val.$sign1 >= 0 ? Long_ZERO : new Long(0, 2147483648), Long_and(Long_shl(Long_add(Long_fromInt(1023), $exponent), 52), new Long(0, 2146435072))), $mantissa));
};
function jm_Conversion__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(37);
    var$2 = var$1.data;
    var$2[0] = (-1);
    var$2[1] = (-1);
    var$2[2] = 31;
    var$2[3] = 19;
    var$2[4] = 15;
    var$2[5] = 13;
    var$2[6] = 11;
    var$2[7] = 11;
    var$2[8] = 10;
    var$2[9] = 9;
    var$2[10] = 9;
    var$2[11] = 8;
    var$2[12] = 8;
    var$2[13] = 8;
    var$2[14] = 8;
    var$2[15] = 7;
    var$2[16] = 7;
    var$2[17] = 7;
    var$2[18] = 7;
    var$2[19] = 7;
    var$2[20] = 7;
    var$2[21] = 7;
    var$2[22] = 6;
    var$2[23] = 6;
    var$2[24] = 6;
    var$2[25] = 6;
    var$2[26] = 6;
    var$2[27] = 6;
    var$2[28] = 6;
    var$2[29] = 6;
    var$2[30] = 6;
    var$2[31] = 6;
    var$2[32] = 6;
    var$2[33] = 6;
    var$2[34] = 6;
    var$2[35] = 6;
    var$2[36] = 5;
    $java.jm_Conversion_digitFitInInt = var$1;
    var$1 = $rt_createIntArray(35);
    var$2 = var$1.data;
    var$2[0] = (-2147483648);
    var$2[1] = 1162261467;
    var$2[2] = 1073741824;
    var$2[3] = 1220703125;
    var$2[4] = 362797056;
    var$2[5] = 1977326743;
    var$2[6] = 1073741824;
    var$2[7] = 387420489;
    var$2[8] = 1000000000;
    var$2[9] = 214358881;
    var$2[10] = 429981696;
    var$2[11] = 815730721;
    var$2[12] = 1475789056;
    var$2[13] = 170859375;
    var$2[14] = 268435456;
    var$2[15] = 410338673;
    var$2[16] = 612220032;
    var$2[17] = 893871739;
    var$2[18] = 1280000000;
    var$2[19] = 1801088541;
    var$2[20] = 113379904;
    var$2[21] = 148035889;
    var$2[22] = 191102976;
    var$2[23] = 244140625;
    var$2[24] = 308915776;
    var$2[25] = 387420489;
    var$2[26] = 481890304;
    var$2[27] = 594823321;
    var$2[28] = 729000000;
    var$2[29] = 887503681;
    var$2[30] = 1073741824;
    var$2[31] = 1291467969;
    var$2[32] = 1544804416;
    var$2[33] = 1838265625;
    var$2[34] = 60466176;
    $java.jm_Conversion_bigRadices = var$1;
}
function nms_GuiButtonLanguage() {
    nms_GuiButton.call(this);
}
$java.nms_GuiButtonLanguage_tex_gui = null;
$java.nms_GuiButtonLanguage_drawButton = function($this, $par1Minecraft, $par2, $par3) {
    var $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Minecraft = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$drawButton0)
            return;
        $par1Minecraft = $java.nms_GuiButtonLanguage_tex_gui;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1Minecraft);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var4 = $par2 >= $this.$xPosition1 && $par3 >= $this.$yPosition && $par2 < ($this.$xPosition1 + $this.$width6 | 0) && $par3 < ($this.$yPosition + $this.$height8 | 0) ? 1 : 0;
        $var5 = 106;
        if ($var4)
            $var5 = $var5 + $this.$height8 | 0;
        nms_Gui_drawTexturedModalRect($this, $this.$xPosition1, $this.$yPosition, 0, $var5, $this.$width6, $this.$height8);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Minecraft, $par2, $par3, $var4, $var5, $ptr);
};
function nms_GuiButtonLanguage__clinit_() {
    $java.nms_GuiButtonLanguage_tex_gui = nle_TextureLocation__init_($rt_s(532));
}
function nms_ICrafting() {
}
function nms_CreativeCrafting() {
    jl_Object.call(this);
    this.$mc14 = null;
}
$java.nms_CreativeCrafting_sendContainerAndContentsToPlayer = function($this, $par1Container, $par2List) {
    return;
};
$java.nms_CreativeCrafting_sendSlotContents = function($this, $par1Container, $par2, $par3ItemStack) {
    nms_PlayerControllerMP_sendSlotPacket($this.$mc14.$playerController, $par3ItemStack, $par2);
};
$java.nms_CreativeCrafting_sendProgressBarUpdate = function($this, $par1Container, $par2, $par3) {
    return;
};
function nms_GuiYesNo() {
    var a = this; nms_GuiScreen.call(a);
    a.$parentScreen0 = null;
    a.$message1 = null;
    a.$message2 = null;
    a.$buttonText1 = null;
    a.$buttonText2 = null;
    a.$worldNumber = 0;
}
$java.nms_GuiYesNo_initGui = function($this) {
    ju_ArrayList_add($this.$buttonList, $java.nms_GuiSmallButton__init_(0, ($this.$width / 2 | 0) - 155 | 0, ($this.$height / 6 | 0) + 96 | 0, $this.$buttonText1));
    ju_ArrayList_add($this.$buttonList, $java.nms_GuiSmallButton__init_(1, (($this.$width / 2 | 0) - 155 | 0) + 160 | 0, ($this.$height / 6 | 0) + 96 | 0, $this.$buttonText2));
};
$java.nms_GuiYesNo_actionPerformed = function($this, $par1GuiButton) {
    var var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$parentScreen0;
        var$3 = $par1GuiButton.$id3 ? 0 : 1;
        var$4 = $this.$worldNumber;
        $ptr = 1;
    case 1:
        var$2.$confirmClicked(var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, var$2, var$3, var$4, $ptr);
};
$java.nms_GuiYesNo_drawScreen = function($this, $par1, $par2, $par3) {
    var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = $this.$message1;
        var$6 = $this.$width / 2 | 0;
        var$7 = 70;
        var$8 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = $this.$message2;
        var$6 = $this.$width / 2 | 0;
        var$7 = 90;
        var$8 = 16777215;
        $ptr = 3;
    case 3:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 4;
    case 4:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, var$6, var$7, var$8, $ptr);
};
function nms_GuiConfirmOpenLink() {
    var a = this; nms_GuiYesNo.call(a);
    a.$openLinkWarning = null;
    a.$copyLinkButtonText = null;
    a.$field_92028_p = null;
    a.$field_92027_q = 0;
}
$java.nms_GuiConfirmOpenLink_initGui = function($this) {
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(0, (($this.$width - 105 | 0) / 2 | 0) - 105 | 0, ($this.$height / 6 | 0) + 96 | 0, 100, 20, $this.$buttonText1));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(2, ($this.$width - 105 | 0) / 2 | 0, ($this.$height / 6 | 0) + 96 | 0, 100, 20, $this.$copyLinkButtonText));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(1, (($this.$width - 105 | 0) / 2 | 0) + 105 | 0, ($this.$height / 6 | 0) + 96 | 0, 100, 20, $this.$buttonText2));
};
$java.nms_GuiConfirmOpenLink_actionPerformed = function($this, $par1GuiButton) {
    var var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1GuiButton.$id3 == 2)
            $java.nms_GuiConfirmOpenLink_copyLinkToClipboard($this);
        var$2 = $this.$parentScreen0;
        var$3 = $par1GuiButton.$id3 ? 0 : 1;
        var$4 = $this.$worldNumber;
        $ptr = 1;
    case 1:
        var$2.$confirmClicked(var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, var$2, var$3, var$4, $ptr);
};
$java.nms_GuiConfirmOpenLink_copyLinkToClipboard = function($this) {
    nms_GuiScreen_setClipboardString($this.$field_92028_p);
};
$java.nms_GuiConfirmOpenLink_drawScreen = function($this, $par1, $par2, $par3) {
    var var$4, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_GuiYesNo_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$field_92027_q)
            return;
        var$4 = $this.$fontRenderer0;
        var$5 = $this.$openLinkWarning;
        $par2 = $this.$width / 2 | 0;
        var$6 = 110;
        $par1 = 16764108;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$4, var$5, $par2, var$6, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, var$6, $ptr);
};
function otcit_DateTimeZoneBuilder() {
    jl_Object.call(this);
    this.$iRuleSets = null;
}
$java.otcit_DateTimeZoneBuilder_gmtCache = null;
$java.otcit_DateTimeZoneBuilder__init_ = function() {
    var var_0 = new otcit_DateTimeZoneBuilder();
    otcit_DateTimeZoneBuilder__init_(var_0);
    return var_0;
};
function otcit_DateTimeZoneBuilder__init_($this) {
    $this.$iRuleSets = ju_ArrayList__init_1(10);
}
function otcit_DateTimeZoneBuilder_access$000() {
    if ($java.otcit_DateTimeZoneBuilder_gmtCache === null)
        $java.otcit_DateTimeZoneBuilder_gmtCache = ju_TimeZone_getTimeZone($rt_s(2928));
    return $java.otcit_DateTimeZoneBuilder_gmtCache;
}
function nms_TileEntityRenderer() {
    var a = this; jl_Object.call(a);
    a.$specialRendererMap = null;
    a.$fontRenderer4 = null;
    a.$renderEngine3 = null;
    a.$worldObj6 = null;
    a.$entityLivingPlayer = null;
    a.$playerYaw = 0.0;
    a.$playerPitch = 0.0;
    a.$playerX = 0.0;
    a.$playerY = 0.0;
    a.$playerZ = 0.0;
}
var nms_TileEntityRenderer_instance = null;
var nms_TileEntityRenderer_staticPlayerX = 0.0;
var nms_TileEntityRenderer_staticPlayerY = 0.0;
var nms_TileEntityRenderer_staticPlayerZ = 0.0;
function nms_TileEntityRenderer_$callClinit() {
    nms_TileEntityRenderer_$callClinit = $rt_eraseClinit(nms_TileEntityRenderer);
    $java.nms_TileEntityRenderer__clinit_();
}
$java.nms_TileEntityRenderer__init_ = function() {
    var var_0 = new nms_TileEntityRenderer();
    nms_TileEntityRenderer__init_(var_0);
    return var_0;
};
function nms_TileEntityRenderer__init_($this) {
    var $var1;
    nms_TileEntityRenderer_$callClinit();
    $this.$specialRendererMap = ju_HashMap__init_();
    ju_HashMap_putImpl($this.$specialRendererMap, $rt_cls(nms_TileEntitySign), $java.nms_TileEntitySignRenderer__init_());
    ju_HashMap_putImpl($this.$specialRendererMap, $rt_cls(nms_TileEntityPiston), new nms_TileEntityRendererPiston);
    ju_HashMap_putImpl($this.$specialRendererMap, $rt_cls(nms_TileEntityChest), $java.nms_TileEntityChestRenderer__init_());
    ju_HashMap_putImpl($this.$specialRendererMap, $rt_cls(nms_TileEntityEnderChest), $java.nms_TileEntityEnderChestRenderer__init_());
    ju_HashMap_putImpl($this.$specialRendererMap, $rt_cls(nms_TileEntityEnchantmentTable), $java.nms_RenderEnchantmentTable__init_());
    ju_HashMap_putImpl($this.$specialRendererMap, $rt_cls(nms_TileEntityEndPortal), $java.nms_RenderEndPortal__init_());
    ju_HashMap_putImpl($this.$specialRendererMap, $rt_cls(nms_TileEntityBeacon), new nms_TileEntityBeaconRenderer);
    ju_HashMap_putImpl($this.$specialRendererMap, $rt_cls(nms_TileEntitySkull), $java.nms_TileEntitySkullRenderer__init_());
    ju_HashMap_putImpl($this.$specialRendererMap, $rt_cls(nms_TileEntityMobSpawner), new nms_TileEntityMobSpawnerRenderer);
    $var1 = ju_HashMap_values($this.$specialRendererMap).$iterator();
    while ($var1.$hasNext()) {
        $var1.$next().$setTileEntityRenderer($this);
    }
}
$java.nms_TileEntityRenderer_getSpecialRendererForClass = function($this, $par1Class) {
    var $var2;
    $var2 = ju_HashMap_get($this.$specialRendererMap, $par1Class);
    if ($var2 === null && $par1Class !== $rt_cls(nms_TileEntity)) {
        $var2 = $java.nms_TileEntityRenderer_getSpecialRendererForClass($this, jl_Class_getSuperclass($par1Class));
        ju_HashMap_putImpl($this.$specialRendererMap, $par1Class, $var2);
    }
    return $var2;
};
$java.nms_TileEntityRenderer_hasSpecialRenderer = function($this, $par1TileEntity) {
    return $java.nms_TileEntityRenderer_getSpecialRendererForEntity($this, $par1TileEntity) === null ? 0 : 1;
};
$java.nms_TileEntityRenderer_getSpecialRendererForEntity = function($this, $par1TileEntity) {
    return $par1TileEntity === null ? null : $java.nms_TileEntityRenderer_getSpecialRendererForClass($this, jl_Object_getClass($par1TileEntity));
};
function nms_TileEntityRenderer_cacheActiveRenderInfo($this, $par1World, $par2RenderEngine, $par3FontRenderer, $par4EntityLiving, $par5) {
    var var$6, var$7, var$8;
    if ($this.$worldObj6 !== $par1World)
        $java.nms_TileEntityRenderer_setWorld($this, $par1World);
    $this.$renderEngine3 = $par2RenderEngine;
    $this.$entityLivingPlayer = $par4EntityLiving;
    $this.$fontRenderer4 = $par3FontRenderer;
    $this.$playerYaw = $par4EntityLiving.$prevRotationYaw + ($par4EntityLiving.$rotationYaw - $par4EntityLiving.$prevRotationYaw) * $par5;
    $this.$playerPitch = $par4EntityLiving.$prevRotationPitch + ($par4EntityLiving.$rotationPitch - $par4EntityLiving.$prevRotationPitch) * $par5;
    var$6 = $par4EntityLiving.$lastTickPosX;
    var$7 = $par4EntityLiving.$posX - $par4EntityLiving.$lastTickPosX;
    var$8 = $par5;
    $this.$playerX = var$6 + var$7 * var$8;
    $this.$playerY = $par4EntityLiving.$lastTickPosY + ($par4EntityLiving.$posY - $par4EntityLiving.$lastTickPosY) * var$8;
    $this.$playerZ = $par4EntityLiving.$lastTickPosZ + ($par4EntityLiving.$posZ - $par4EntityLiving.$lastTickPosZ) * var$8;
}
function nms_TileEntityRenderer_renderTileEntity($this, $par1TileEntity, $par2) {
    var $var3, $var4, $var5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1TileEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_TileEntity_getDistanceFrom($par1TileEntity, $this.$playerX, $this.$playerY, $this.$playerZ) >= $par1TileEntity.$getMaxRenderDistanceSquared())
            return;
        $var3 = nms_World_getLightBrightnessForSkyBlocks($this.$worldObj6, $par1TileEntity.$xCoord0, $par1TileEntity.$yCoord0, $par1TileEntity.$zCoord0, 0);
        $var4 = $var3 % 65536 | 0;
        $var5 = $var3 / 65536 | 0;
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, $var4 / 1.0, $var5 / 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$6 = $par1TileEntity.$xCoord0 - nms_TileEntityRenderer_staticPlayerX;
        var$7 = $par1TileEntity.$yCoord0 - nms_TileEntityRenderer_staticPlayerY;
        var$8 = $par1TileEntity.$zCoord0 - nms_TileEntityRenderer_staticPlayerZ;
        $ptr = 1;
    case 1:
        $java.nms_TileEntityRenderer_renderTileEntityAt($this, $par1TileEntity, var$6, var$7, var$8, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntity, $par2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
}
$java.nms_TileEntityRenderer_renderTileEntityAt = function($this, $par1TileEntity, $par2, $par4, $par6, $par8) {
    var $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var9 = $java.nms_TileEntityRenderer_getSpecialRendererForEntity($this, $par1TileEntity);
        if ($var9 === null)
            return;
        $ptr = 1;
    case 1:
        $var9.$renderTileEntityAt($par1TileEntity, $par2, $par4, $par6, $par8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntity, $par2, $par4, $par6, $par8, $var9, $ptr);
};
$java.nms_TileEntityRenderer_setWorld = function($this, $par1World) {
    var $var2, $var3;
    $this.$worldObj6 = $par1World;
    $var2 = ju_HashMap_values($this.$specialRendererMap).$iterator();
    while ($var2.$hasNext()) {
        $var3 = $var2.$next();
        if ($var3 !== null)
            $var3.$onWorldChange($par1World);
    }
};
$java.nms_TileEntityRenderer_getFontRenderer = function($this) {
    return $this.$fontRenderer4;
};
$java.nms_TileEntityRenderer__clinit_ = function() {
    nms_TileEntityRenderer_instance = $java.nms_TileEntityRenderer__init_();
};
function nms_RenderSorter() {
    jl_Object.call(this);
    this.$baseEntity = null;
}
function nms_RenderSorter_doCompare($this, $par1WorldRenderer, $par2WorldRenderer) {
    var var$3;
    if ($par1WorldRenderer.$isInFrustum && !$par2WorldRenderer.$isInFrustum)
        return 1;
    if ($par2WorldRenderer.$isInFrustum && !$par1WorldRenderer.$isInFrustum)
        return (-1);
    var$3 = $rt_compare(nms_WorldRenderer_distanceToEntitySquared($par1WorldRenderer, $this.$baseEntity), nms_WorldRenderer_distanceToEntitySquared($par2WorldRenderer, $this.$baseEntity));
    return var$3 < 0 ? 1 : var$3 > 0 ? (-1) : $par1WorldRenderer.$chunkIndex >= $par2WorldRenderer.$chunkIndex ? (-1) : 1;
}
$java.nms_RenderSorter_compare = function($this, $par1Obj, $par2Obj) {
    return nms_RenderSorter_doCompare($this, $par1Obj, $par2Obj);
};
function nms_IconFlipped() {
    var a = this; jl_Object.call(a);
    a.$baseIcon = null;
    a.$flipU = 0;
    a.$flipV = 0;
}
$java.nms_IconFlipped_getOriginX = function($this) {
    return $this.$baseIcon.$getOriginX();
};
$java.nms_IconFlipped_getOriginY = function($this) {
    return $this.$baseIcon.$getOriginY();
};
$java.nms_IconFlipped_getMinU = function($this) {
    return !$this.$flipU ? $this.$baseIcon.$getMinU() : $this.$baseIcon.$getMaxU();
};
$java.nms_IconFlipped_getMaxU = function($this) {
    return !$this.$flipU ? $this.$baseIcon.$getMaxU() : $this.$baseIcon.$getMinU();
};
$java.nms_IconFlipped_getInterpolatedU = function($this, $par1) {
    var $var3;
    $var3 = $java.nms_IconFlipped_getMaxU($this) - $java.nms_IconFlipped_getMinU($this);
    return $java.nms_IconFlipped_getMinU($this) + $var3 * $par1 / 16.0;
};
$java.nms_IconFlipped_getMinV = function($this) {
    return !$this.$flipV ? $this.$baseIcon.$getMinV() : $this.$baseIcon.$getMinV();
};
$java.nms_IconFlipped_getMaxV = function($this) {
    return !$this.$flipV ? $this.$baseIcon.$getMaxV() : $this.$baseIcon.$getMinV();
};
$java.nms_IconFlipped_getInterpolatedV = function($this, $par1) {
    var $var3;
    $var3 = $java.nms_IconFlipped_getMaxV($this) - $java.nms_IconFlipped_getMinV($this);
    return $java.nms_IconFlipped_getMinV($this) + $var3 * $par1 / 16.0;
};
$java.nms_IconFlipped_getIconName = function($this) {
    return $this.$baseIcon.$getIconName();
};
$java.nms_IconFlipped_getSheetWidth = function($this) {
    return $this.$baseIcon.$getSheetWidth();
};
$java.nms_IconFlipped_getSheetHeight = function($this) {
    return $this.$baseIcon.$getSheetHeight();
};
function nms_MinecraftError() {
    jl_Error.call(this);
}
$java.nms_MinecraftError__init_ = function() {
    var var_0 = new nms_MinecraftError();
    nms_MinecraftError__init_(var_0);
    return var_0;
};
function nms_MinecraftError__init_($this) {
    jl_Throwable__init_0($this);
}
function nms_WorldSavedData() {
    var a = this; jl_Object.call(a);
    a.$mapName = null;
    a.$dirty = 0;
}
$java.nms_WorldSavedData_markDirty = function($this) {
    $this.$dirty = 1;
};
$java.nms_WorldSavedData_setDirty = function($this, $par1) {
    $this.$dirty = $par1;
};
function nms_MapData() {
    var a = this; nms_WorldSavedData.call(a);
    a.$xCenter = 0;
    a.$zCenter = 0;
    a.$dimension0 = 0;
    a.$scale2 = 0;
    a.$colors = null;
    a.$playersArrayList = null;
    a.$playersHashMap = null;
    a.$playersVisibleOnMap = null;
    a.$enableAyunami = 0;
    a.$ayunamiPixels = null;
    a.$ayunamiPallete = null;
    a.$enableVideoPlayback = 0;
    a.$videoX1 = 0.0;
    a.$videoY1 = 0.0;
    a.$videoX2 = 0.0;
    a.$videoY2 = 0.0;
}
$java.nms_MapData__init_0 = function(var_0) {
    var var_1 = new nms_MapData();
    $java.nms_MapData__init_(var_1, var_0);
    return var_1;
};
$java.nms_MapData__init_ = function($this, $par1Str) {
    $this.$mapName = $par1Str;
    $this.$colors = $rt_createByteArray(16384);
    $this.$playersArrayList = ju_ArrayList__init_0();
    $this.$playersHashMap = ju_HashMap__init_();
    $this.$playersVisibleOnMap = ju_LinkedHashMap__init_0();
    $this.$enableAyunami = 0;
    $this.$ayunamiPixels = null;
    $this.$ayunamiPallete = null;
    $this.$enableVideoPlayback = 0;
    $this.$videoX1 = 0.0;
    $this.$videoY1 = 0.0;
    $this.$videoX2 = 1.0;
    $this.$videoY2 = 1.0;
};
$java.nms_MapData_updateMPMapData = function($this, $par1ArrayOfByte) {
    var $var2, $var3, $var4, $var6, $var7, $var8, $var5, var$9, var$10, var$11;
    a: {
        $par1ArrayOfByte = $par1ArrayOfByte.data;
        if (!$par1ArrayOfByte[0]) {
            $var2 = $par1ArrayOfByte[1] & 255;
            $var3 = $par1ArrayOfByte[2] & 255;
            $var4 = 0;
            while ($var4 < ($par1ArrayOfByte.length - 3 | 0)) {
                $this.$colors.data[(($var4 + $var3 | 0) * 128 | 0) + $var2 | 0] = $par1ArrayOfByte[$var4 + 3 | 0];
                $var4 = $var4 + 1 | 0;
            }
            $java.nms_WorldSavedData_markDirty($this);
        } else if ($par1ArrayOfByte[0] == 1) {
            $java.ju_LinkedHashMap_clear($this.$playersVisibleOnMap);
            $var2 = 0;
            while (true) {
                if ($var2 >= (($par1ArrayOfByte.length - 1 | 0) / 3 | 0))
                    break a;
                $var6 = $var2 * 3 | 0;
                $var3 = $var6 + 1 | 0;
                $var7 = $par1ArrayOfByte[$var3] >> 4 << 24 >> 24;
                $var8 = $par1ArrayOfByte[$var6 + 2 | 0];
                $var5 = $par1ArrayOfByte[$var6 + 3 | 0];
                $var6 = ($par1ArrayOfByte[$var3] & 15) << 24 >> 24;
                var$9 = $this.$playersVisibleOnMap;
                var$10 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$10);
                jl_AbstractStringBuilder_append(var$10, $rt_s(2929));
                jl_AbstractStringBuilder_append2(var$10, $var2);
                var$11 = jl_AbstractStringBuilder_toString(var$10);
                var$10 = new nms_MapCoord;
                var$10.$data13 = $this;
                var$10.$iconSize = $var7;
                var$10.$centerX = $var8;
                var$10.$centerZ = $var5;
                var$10.$iconRotation = $var6;
                ju_LinkedHashMap_put(var$9, var$11, var$10);
                $var2 = $var2 + 1 | 0;
            }
        } else if ($par1ArrayOfByte[0] == 2)
            $this.$scale2 = $par1ArrayOfByte[1];
    }
};
$java.nms_MapData_readAyunamiMapPacket = function($this, $dat) {
    var $operation, $ddat, var$4, var$5;
    a: {
        $operation = $dat.$read2();
        switch ($operation) {
            case 0:
                if ($this.$enableAyunami) {
                    $this.$enableAyunami = 0;
                    $this.$ayunamiPixels = null;
                    $this.$ayunamiPallete = null;
                }
                break a;
            case 1:
                break;
            case 2:
                $ddat = ji_DataInputStream__init_($dat);
                $java.nms_MapData_ayunamiEnable($this);
                var$4 = 0;
                while (var$4 < $this.$ayunamiPixels.data.length) {
                    $this.$ayunamiPixels.data[var$4] = (-16777216) | ji_FilterInputStream_read($ddat) << 16 | ji_FilterInputStream_read($ddat) << 8 | ji_FilterInputStream_read($ddat);
                    var$4 = var$4 + 1 | 0;
                }
                break a;
            case 3:
                $ddat = ji_DataInputStream__init_($dat);
                $java.nms_MapData_ayunamiEnable($this);
                var$4 = 0;
                while (var$4 < $this.$ayunamiPixels.data.length) {
                    var$5 = ji_DataInputStream_readShort($ddat) & 65535;
                    $this.$ayunamiPixels.data[var$4] = (-16777216) | (var$5 >> 11 & 31) << 19 | (var$5 >> 5 & 63) << 10 | (var$5 & 31) << 3;
                    var$4 = var$4 + 1 | 0;
                }
                break a;
            case 4:
                $java.nms_MapData_ayunamiSetPallete_R8_G8_B8($this, ji_DataInputStream__init_($dat));
                break a;
            case 5:
                $java.nms_MapData_ayunamiSetPallete_R5_G6_B5($this, ji_DataInputStream__init_($dat));
                break a;
            case 6:
                $java.nms_MapData_ayunamiSetPixelsFromPallete($this, ji_DataInputStream__init_($dat));
                break a;
            case 7:
                $ddat = ji_DataInputStream__init_($dat);
                $java.nms_MapData_ayunamiSetPallete_R8_G8_B8($this, $ddat);
                $java.nms_MapData_ayunamiSetPixelsFromPallete($this, $ddat);
                break a;
            case 8:
                $ddat = ji_DataInputStream__init_($dat);
                $java.nms_MapData_ayunamiSetPallete_R5_G6_B5($this, $ddat);
                $java.nms_MapData_ayunamiSetPixelsFromPallete($this, $ddat);
                break a;
            default:
                $dat = new ji_IOException;
                $ddat = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($ddat);
                jl_AbstractStringBuilder_append($ddat, $rt_s(2930));
                jl_AbstractStringBuilder_append2($ddat, $operation);
                jl_Throwable__init_($dat, jl_AbstractStringBuilder_toString($ddat));
                $rt_throw($dat);
        }
        $java.nms_MapData_readAyunamiMapPacket($this, cjj_InflaterInputStream__init_($dat));
    }
};
$java.nms_MapData_ayunamiEnable = function($this) {
    if (!$this.$enableAyunami) {
        $this.$enableAyunami = 1;
        $this.$ayunamiPixels = $rt_createIntArray(16384);
        $this.$ayunamiPallete = $rt_createIntArray(256);
    }
};
$java.nms_MapData_ayunamiSetPallete_R8_G8_B8 = function($this, $dat) {
    var $len, $i;
    $java.nms_MapData_ayunamiEnable($this);
    $len = ji_FilterInputStream_read($dat);
    $this.$ayunamiPallete = $rt_createIntArray($len);
    $i = 0;
    while ($i < $len) {
        $this.$ayunamiPallete.data[$i] = (-16777216) | ji_FilterInputStream_read($dat) << 16 | ji_FilterInputStream_read($dat) << 8 | ji_FilterInputStream_read($dat);
        $i = $i + 1 | 0;
    }
};
$java.nms_MapData_ayunamiSetPallete_R5_G6_B5 = function($this, $dat) {
    var $len, $i, $j, $r, $g, $b;
    $java.nms_MapData_ayunamiEnable($this);
    $len = ji_FilterInputStream_read($dat);
    $this.$ayunamiPallete = $rt_createIntArray($len);
    $i = 0;
    while ($i < $len) {
        $j = ji_DataInputStream_readShort($dat) & 65535;
        $r = $j >> 11 & 31;
        $g = $j >> 5 & 63;
        $b = $j & 31;
        $this.$ayunamiPixels.data[$i] = (-16777216) | $r << 19 | $g << 10 | $b << 3;
        $i = $i + 1 | 0;
    }
};
$java.nms_MapData_ayunamiSetPixelsFromPallete = function($this, $dat) {
    var $i;
    $java.nms_MapData_ayunamiEnable($this);
    $i = 0;
    while ($i < $this.$ayunamiPixels.data.length) {
        $this.$ayunamiPixels.data[$i] = $this.$ayunamiPallete.data[ji_FilterInputStream_read($dat)];
        $i = $i + 1 | 0;
    }
};
function nms_EnumAction() {
    jl_Enum.call(this);
}
var nms_EnumAction_none = null;
var nms_EnumAction_eat = null;
var nms_EnumAction_drink = null;
var nms_EnumAction_block = null;
var nms_EnumAction_bow = null;
$java.nms_EnumAction_$VALUES = null;
function nms_EnumAction__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nms_EnumAction;
    jl_Enum__init_0(var$1, $rt_s(1613), 0);
    nms_EnumAction_none = var$1;
    var$1 = new nms_EnumAction;
    jl_Enum__init_0(var$1, $rt_s(2931), 1);
    nms_EnumAction_eat = var$1;
    var$1 = new nms_EnumAction;
    jl_Enum__init_0(var$1, $rt_s(2932), 2);
    nms_EnumAction_drink = var$1;
    var$1 = new nms_EnumAction;
    jl_Enum__init_0(var$1, $rt_s(2933), 3);
    nms_EnumAction_block = var$1;
    var$1 = new nms_EnumAction;
    jl_Enum__init_0(var$1, $rt_s(1712), 4);
    nms_EnumAction_bow = var$1;
    var$2 = $rt_createArray(nms_EnumAction, 5);
    var$3 = var$2.data;
    var$3[0] = nms_EnumAction_none;
    var$3[1] = nms_EnumAction_eat;
    var$3[2] = nms_EnumAction_drink;
    var$3[3] = nms_EnumAction_block;
    var$3[4] = nms_EnumAction_bow;
    $java.nms_EnumAction_$VALUES = var$2;
}
function nms_EntitySelectorAlive() {
    jl_Object.call(this);
}
$java.nms_EntitySelectorAlive__init_ = function() {
    var var_0 = new nms_EntitySelectorAlive();
    nms_EntitySelectorAlive__init_(var_0);
    return var_0;
};
function nms_EntitySelectorAlive__init_($this) {
    return;
}
function nms_EntitySelectorInventory() {
    jl_Object.call(this);
}
$java.nms_EntitySelectorInventory__init_ = function() {
    var var_0 = new nms_EntitySelectorInventory();
    nms_EntitySelectorInventory__init_(var_0);
    return var_0;
};
function nms_EntitySelectorInventory__init_($this) {
    return;
}
$java.nms_EntitySelectorInventory_isEntityApplicable = function($this, $par1Entity) {
    return $rt_isInstance($par1Entity, nms_IInventory) && $par1Entity.$isEntityAlive() ? 1 : 0;
};
function nms_GuiRepair() {
    var a = this; nms_GuiContainer.call(a);
    a.$repairContainer = null;
    a.$itemNameField = null;
    a.$field_82325_q = null;
}
$java.nms_GuiRepair_tex = null;
$java.nms_GuiRepair_initGui = function($this) {
    var $var1, $var2;
    nms_GuiContainer_initGui($this);
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
    $var1 = ($this.$width - $this.$xSize | 0) / 2 | 0;
    $var2 = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
    $this.$itemNameField = nms_GuiTextField__init_($this.$fontRenderer0, $var1 + 62 | 0, $var2 + 24 | 0, 103, 12);
    $this.$itemNameField.$enabledColor = (-1);
    $this.$itemNameField.$disabledColor = (-1);
    $this.$itemNameField.$enableBackgroundDrawing = 0;
    nms_GuiTextField_setMaxStringLength($this.$itemNameField, 30);
    nms_Container_removeCraftingFromCrafters($this.$inventorySlots0, $this);
    $this.$inventorySlots0.$addCraftingToCrafters($this);
};
$java.nms_GuiRepair_onGuiClosed = function($this) {
    nms_GuiContainer_onGuiClosed($this);
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
    nms_Container_removeCraftingFromCrafters($this.$inventorySlots0, $this);
};
$java.nms_GuiRepair_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var $var5, var$4, $var3, $var4, var$7, $var6, $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();var$7 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();var$4 = $thread.pop();$var5 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glDisable(2896);
        $var5 = $this.$fontRenderer0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(2934));
        $par1 = 60;
        $par2 = 6;
        $var3 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString($var5, var$4, $par1, $par2, $var3);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$repairContainer.$maximumCost > 0) {
            $var3 = 8453920;
            $var4 = 1;
            var$7 = $rt_createArray(jl_Object, 1);
            var$7.data[0] = jl_Integer_valueOf($this.$repairContainer.$maximumCost);
            $var5 = nms_StatCollector_translateToLocalFormatted($rt_s(2935), var$7);
            if ($this.$repairContainer.$maximumCost >= 40 && !$this.$mc2.$thePlayer.$capabilities.$isCreativeMode) {
                $var5 = nms_StatCollector_translateToLocal($rt_s(2936));
                $var3 = 16736352;
            } else if (!nms_Container_getSlot($this.$repairContainer, 2).$getHasStack())
                $var4 = 0;
            else if (!nms_Container_getSlot($this.$repairContainer, 2).$canTakeStack($this.$field_82325_q.$player))
                $var3 = 16736352;
            if ($var4) {
                $var6 = (-16777216) | ($var3 & 16579836) >> 2 | $var3 & (-16777216);
                $var7 = ($this.$xSize - 8 | 0) - nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var5) | 0;
                $var8 = 67;
                if (!$this.$fontRenderer0.$unicodeFlag) {
                    var$4 = $this.$fontRenderer0;
                    $par1 = 68;
                    $ptr = 2;
                    continue main;
                }
                nms_Gui_drawRect($var7 - 3 | 0, 65, $this.$xSize - 7 | 0, 77, (-16777216));
                nms_Gui_drawRect($var7 - 2 | 0, 66, $this.$xSize - 8 | 0, 76, (-12895429));
                var$4 = $this.$fontRenderer0;
                $ptr = 5;
                continue main;
            }
        }
        nleg_EaglerAdapterGL30_glEnable(2896);
        return;
    case 2:
        nms_FontRenderer_drawString(var$4, $var5, $var7, $par1, $var6);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        $par2 = $var7 + 1 | 0;
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawString(var$4, $var5, $par2, $var8, $var6);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        $ptr = 4;
    case 4:
        nms_FontRenderer_drawString(var$4, $var5, $par2, $par1, $var6);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        $ptr = 5;
    case 5:
        nms_FontRenderer_drawString(var$4, $var5, $var7, $var8, $var3);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(2896);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var5, var$4, $var3, $var4, var$7, $var6, $var7, $var8, $ptr);
};
$java.nms_GuiRepair_keyTyped = function($this, $par1, $par2) {
    var var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$itemNameField;
        $ptr = 1;
    case 1:
        $tmp = nms_GuiTextField_textboxKeyTyped(var$3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $tmp;
        if (var$4) {
            $java.nms_ContainerRepair_updateItemName($this.$repairContainer, $this.$itemNameField.$text0);
            nms_NetClientHandler_addToSendQueue($this.$mc2.$thePlayer.$sendQueue, nms_Packet250CustomPayload__init_0($rt_s(2937), jl_String_getBytes($this.$itemNameField.$text0)));
            return;
        }
        $ptr = 2;
    case 2:
        nms_GuiContainer_keyTyped($this, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, $ptr);
};
$java.nms_GuiRepair_mouseClicked = function($this, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiContainer_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiTextField_mouseClicked($this.$itemNameField, $par1, $par2, $par3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $ptr);
};
$java.nms_GuiRepair_drawScreen = function($this, $par1, $par2, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiContainer_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glDisable(2896);
        var$4 = $this.$itemNameField;
        $ptr = 2;
    case 2:
        nms_GuiTextField_drawTextBox(var$4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $ptr);
};
$java.nms_GuiRepair_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var var$4, $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$4 = $java.nms_GuiRepair_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = ($this.$width - $this.$xSize | 0) / 2 | 0;
        $var5 = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
        nms_Gui_drawTexturedModalRect($this, $var4, $var5, 0, 0, $this.$xSize, $this.$ySize0);
        nms_Gui_drawTexturedModalRect($this, $var4 + 59 | 0, $var5 + 20 | 0, 0, $this.$ySize0 + (!nms_Container_getSlot($this.$repairContainer, 0).$getHasStack() ? 16 : 0) | 0, 110, 16);
        if (!(!nms_Container_getSlot($this.$repairContainer, 0).$getHasStack() && !nms_Container_getSlot($this.$repairContainer, 1).$getHasStack()) && !nms_Container_getSlot($this.$repairContainer, 2).$getHasStack())
            nms_Gui_drawTexturedModalRect($this, $var4 + 99 | 0, $var5 + 45 | 0, $this.$xSize, 0, 28, 21);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $var4, $var5, $ptr);
};
$java.nms_GuiRepair_sendContainerAndContentsToPlayer = function($this, $par1Container, $par2List) {
    $java.nms_GuiRepair_sendSlotContents($this, $par1Container, 0, nms_Container_getSlot($par1Container, 0).$getStack());
};
$java.nms_GuiRepair_sendSlotContents = function($this, $par1Container, $par2, $par3ItemStack) {
    if (!$par2) {
        nms_GuiTextField_setText($this.$itemNameField, $par3ItemStack !== null ? nms_ItemStack_getDisplayName($par3ItemStack) : $rt_s(36));
        $this.$itemNameField.$isEnabled = $par3ItemStack === null ? 0 : 1;
        if ($par3ItemStack !== null) {
            $java.nms_ContainerRepair_updateItemName($this.$repairContainer, $this.$itemNameField.$text0);
            nms_NetClientHandler_addToSendQueue($this.$mc2.$thePlayer.$sendQueue, nms_Packet250CustomPayload__init_0($rt_s(2937), jl_String_getBytes($this.$itemNameField.$text0)));
        }
    }
};
$java.nms_GuiRepair_sendProgressBarUpdate = function($this, $par1Container, $par2, $par3) {
    return;
};
function nms_GuiRepair__clinit_() {
    $java.nms_GuiRepair_tex = nle_TextureLocation__init_($rt_s(2938));
}
function nms_EnumRarity() {
    var a = this; jl_Enum.call(a);
    a.$rarityColor = 0;
    a.$rarityName = null;
}
var nms_EnumRarity_common = null;
$java.nms_EnumRarity_uncommon = null;
var nms_EnumRarity_rare = null;
$java.nms_EnumRarity_epic = null;
$java.nms_EnumRarity_$VALUES = null;
$java.nms_EnumRarity__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EnumRarity();
    $java.nms_EnumRarity__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_EnumRarity__init_0 = function($this, var$1, var$2, $par3, $par4Str) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$rarityColor = $par3;
    $this.$rarityName = $par4Str;
};
function nms_EnumRarity__clinit_() {
    var var$1, var$2;
    nms_EnumRarity_common = $java.nms_EnumRarity__init_($rt_s(2939), 0, 15, $rt_s(2940));
    $java.nms_EnumRarity_uncommon = $java.nms_EnumRarity__init_($rt_s(2941), 1, 14, $rt_s(2942));
    nms_EnumRarity_rare = $java.nms_EnumRarity__init_($rt_s(2943), 2, 11, $rt_s(2944));
    $java.nms_EnumRarity_epic = $java.nms_EnumRarity__init_($rt_s(2945), 3, 13, $rt_s(2946));
    var$1 = $rt_createArray(nms_EnumRarity, 4);
    var$2 = var$1.data;
    var$2[0] = nms_EnumRarity_common;
    var$2[1] = $java.nms_EnumRarity_uncommon;
    var$2[2] = nms_EnumRarity_rare;
    var$2[3] = $java.nms_EnumRarity_epic;
    $java.nms_EnumRarity_$VALUES = var$1;
}
function jni_XHRStreamHandler() {
    jn_URLStreamHandler.call(this);
}
$java.jni_XHRStreamHandler__init_ = function() {
    var var_0 = new jni_XHRStreamHandler();
    jni_XHRStreamHandler__init_(var_0);
    return var_0;
};
function jni_XHRStreamHandler__init_($this) {
    return;
}
$java.jni_XHRStreamHandler_openConnection = function($this, $u) {
    var var$2, var$3, var$4;
    var$2 = new jni_XHRURLConnection;
    var$2.$lastModified = Long_fromInt(-1);
    var$2.$useCaches = $java.jn_URLConnection_defaultUseCaches;
    var$2.$doInput = 1;
    var$2.$allowUserInteraction = $java.jn_URLConnection_defaultAllowUserInteraction;
    var$2.$requestProperties = ju_HashMap__init_();
    var$2.$url1 = $u;
    var$3 = $rt_createArray(jl_String, 7);
    var$4 = var$3.data;
    var$4[0] = $rt_s(2947);
    var$4[1] = $rt_s(200);
    var$4[2] = $rt_s(2948);
    var$4[3] = $rt_s(2949);
    var$4[4] = $rt_s(2950);
    var$4[5] = $rt_s(2951);
    var$4[6] = $rt_s(2952);
    var$2.$methodTokens = var$3;
    var$2.$method0 = $rt_s(2947);
    var$2.$responseCode = (-1);
    var$2.$instanceFollowRedirects = $java.jn_HttpURLConnection_followRedirects;
    var$2.$chunkLength = (-1);
    var$2.$fixedContentLength = (-1);
    var$2.$responseHeaders = ju_HashMap__init_();
    var$2.$headerFields = ju_HashMap__init_();
    return var$2;
};
function jni_DummyStreamHandler() {
    jn_URLStreamHandler.call(this);
    this.$defaultPort = 0;
}
$java.jni_DummyStreamHandler__init_ = function(var_0) {
    var var_1 = new jni_DummyStreamHandler();
    $java.jni_DummyStreamHandler__init_0(var_1, var_0);
    return var_1;
};
$java.jni_DummyStreamHandler__init_0 = function($this, $defaultPort) {
    $this.$defaultPort = $defaultPort;
};
$java.jni_DummyStreamHandler_openConnection = function($this, $u) {
    var var$2, var$3;
    var$2 = new ji_IOException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(2953));
    jl_AbstractStringBuilder_append(var$3, $u.$protocol);
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    $rt_throw(var$2);
};
function nms_ChatClickData() {
    var a = this; jl_Object.call(a);
    a.$fontR = null;
    a.$line = null;
    a.$field_78310_f = null;
    a.$clickedUrl = null;
}
$java.nms_ChatClickData_pattern = null;
$java.nms_ChatClickData_getClickedUrl = function($this) {
    return $this.$clickedUrl;
};
function nms_ChatClickData_getURI($this) {
    var $var1, $var2, $var3;
    $var1 = $this.$clickedUrl;
    if ($var1 === null)
        return null;
    $var2 = jur_Pattern_matcher($java.nms_ChatClickData_pattern, $var1);
    if (!jur_Matcher_matches($var2))
        return null;
    $var3 = $java.jur_Matcher_group($var2, 0);
    if ($java.jur_Matcher_group($var2, 1) === null) {
        $var2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var2);
        jl_AbstractStringBuilder_append($var2, $rt_s(2954));
        jl_AbstractStringBuilder_append($var2, $var3);
        $var3 = jl_AbstractStringBuilder_toString($var2);
    }
    return $var3;
}
function nms_ChatClickData__clinit_() {
    $java.nms_ChatClickData_pattern = jur_Pattern_compile($rt_s(2955));
}
function nms_ChatLine() {
    var a = this; jl_Object.call(a);
    a.$updateCounterCreated = 0;
    a.$lineString = null;
    a.$chatLineID = 0;
}
function nms_ChatLine__init_(var_0, var_1, var_2) {
    var var_3 = new nms_ChatLine();
    $java.nms_ChatLine__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_ChatLine__init_ = function($this, $par1, $par2Str, $par3) {
    $this.$lineString = $par2Str;
    $this.$updateCounterCreated = $par1;
    $this.$chatLineID = $par3;
};
$java.nms_ChatLine_getChatLineString = function($this) {
    return $this.$lineString;
};
$java.nms_ChatLine_getUpdatedCounter = function($this) {
    return $this.$updateCounterCreated;
};
$java.nms_ChatLine_getChatLineID = function($this) {
    return $this.$chatLineID;
};
function jl_AbstractStringBuilder$Constants() {
    jl_Object.call(this);
}
var jl_AbstractStringBuilder$Constants_intPowersOfTen = null;
var jl_AbstractStringBuilder$Constants_longPowersOfTen = null;
var jl_AbstractStringBuilder$Constants_longLogPowersOfTen = null;
var jl_AbstractStringBuilder$Constants_doubleAnalysisResult = null;
var jl_AbstractStringBuilder$Constants_floatAnalysisResult = null;
$java.jl_AbstractStringBuilder$Constants__init_ = function() {
    var var_0 = new jl_AbstractStringBuilder$Constants();
    jl_AbstractStringBuilder$Constants__init_(var_0);
    return var_0;
};
function jl_AbstractStringBuilder$Constants__init_($this) {
    return;
}
function jl_AbstractStringBuilder$Constants__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(10);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 10;
    var$2[2] = 100;
    var$2[3] = 1000;
    var$2[4] = 10000;
    var$2[5] = 100000;
    var$2[6] = 1000000;
    var$2[7] = 10000000;
    var$2[8] = 100000000;
    var$2[9] = 1000000000;
    jl_AbstractStringBuilder$Constants_intPowersOfTen = var$1;
    var$1 = $rt_createLongArray(19);
    var$2 = var$1.data;
    var$2[0] = Long_fromInt(1);
    var$2[1] = Long_fromInt(10);
    var$2[2] = Long_fromInt(100);
    var$2[3] = Long_fromInt(1000);
    var$2[4] = Long_fromInt(10000);
    var$2[5] = Long_fromInt(100000);
    var$2[6] = Long_fromInt(1000000);
    var$2[7] = Long_fromInt(10000000);
    var$2[8] = Long_fromInt(100000000);
    var$2[9] = Long_fromInt(1000000000);
    var$2[10] = new Long(1410065408, 2);
    var$2[11] = new Long(1215752192, 23);
    var$2[12] = new Long(3567587328, 232);
    var$2[13] = new Long(1316134912, 2328);
    var$2[14] = new Long(276447232, 23283);
    var$2[15] = new Long(2764472320, 232830);
    var$2[16] = new Long(1874919424, 2328306);
    var$2[17] = new Long(1569325056, 23283064);
    var$2[18] = new Long(2808348672, 232830643);
    jl_AbstractStringBuilder$Constants_longPowersOfTen = var$1;
    var$1 = $rt_createLongArray(6);
    var$2 = var$1.data;
    var$2[0] = Long_fromInt(1);
    var$2[1] = Long_fromInt(10);
    var$2[2] = Long_fromInt(100);
    var$2[3] = Long_fromInt(10000);
    var$2[4] = Long_fromInt(100000000);
    var$2[5] = new Long(1874919424, 2328306);
    jl_AbstractStringBuilder$Constants_longLogPowersOfTen = var$1;
    jl_AbstractStringBuilder$Constants_doubleAnalysisResult = new otcit_DoubleAnalyzer$Result;
    jl_AbstractStringBuilder$Constants_floatAnalysisResult = new otcit_FloatAnalyzer$Result;
}
function otcit_DoubleAnalyzer() {
    jl_Object.call(this);
}
$java.otcit_DoubleAnalyzer_mantissa10Table = null;
$java.otcit_DoubleAnalyzer_exp10Table = null;
$java.otcit_DoubleAnalyzer__init_ = function() {
    var var_0 = new otcit_DoubleAnalyzer();
    otcit_DoubleAnalyzer__init_(var_0);
    return var_0;
};
function otcit_DoubleAnalyzer__init_($this) {
    return;
}
function otcit_DoubleAnalyzer_analyze($d, $result) {
    var $bits, $mantissa, $exponent, $errorShift, $decExponent, $mantissaShift, $decMantissa, $error, $upError, $downError, $lowerPos, $upperPos;
    $bits = $rt_doubleToLongBits($d);
    $result.$sign0 = Long_eq(Long_and($bits, new Long(0, 2147483648)), Long_ZERO) ? 0 : 1;
    $mantissa = Long_and($bits, new Long(4294967295, 1048575));
    $exponent = Long_shr($bits, 52).lo & 2047;
    if (Long_eq($mantissa, Long_ZERO) && !$exponent) {
        $result.$mantissa0 = Long_ZERO;
        $result.$exponent0 = 0;
        return;
    }
    $errorShift = 0;
    if ($exponent)
        $mantissa = Long_or($mantissa, new Long(0, 1048576));
    else {
        $mantissa = Long_shl($mantissa, 1);
        while (Long_eq(Long_and($mantissa, new Long(0, 1048576)), Long_ZERO)) {
            $mantissa = Long_shl($mantissa, 1);
            $exponent = $exponent + (-1) | 0;
            $errorShift = $errorShift + 1 | 0;
        }
    }
    $decExponent = ju_Arrays_binarySearch($java.otcit_DoubleAnalyzer_exp10Table, $exponent);
    if ($decExponent < 0)
        $decExponent =  -$decExponent - 2 | 0;
    $mantissaShift = 12 + ($exponent - $java.otcit_DoubleAnalyzer_exp10Table.data[$decExponent] | 0) | 0;
    $decMantissa = $java.otcit_DoubleAnalyzer_mulAndShiftRight($mantissa, $java.otcit_DoubleAnalyzer_mantissa10Table.data[$decExponent], $mantissaShift);
    if (Long_ge($decMantissa, new Long(2808348672, 232830643))) {
        $decExponent = $decExponent + 1 | 0;
        $mantissaShift = 12 + ($exponent - $java.otcit_DoubleAnalyzer_exp10Table.data[$decExponent] | 0) | 0;
        $decMantissa = $java.otcit_DoubleAnalyzer_mulAndShiftRight($mantissa, $java.otcit_DoubleAnalyzer_mantissa10Table.data[$decExponent], $mantissaShift);
    }
    $error = Long_shru($java.otcit_DoubleAnalyzer_mantissa10Table.data[$decExponent], (63 - $mantissaShift | 0) - $errorShift | 0);
    $upError = Long_shr(Long_add($error, Long_fromInt(1)), 1);
    $downError = Long_shr($error, 1);
    if (Long_eq($mantissa, new Long(0, 1048576)))
        $downError = Long_shr($downError, 2);
    $lowerPos = Long_fromInt(10);
    while (Long_le($lowerPos, $downError)) {
        $lowerPos = Long_mul($lowerPos, Long_fromInt(10));
    }
    if (Long_ge(Long_rem($decMantissa, $lowerPos), Long_div($downError, Long_fromInt(2))))
        $lowerPos = Long_div($lowerPos, Long_fromInt(10));
    $upperPos = Long_fromInt(1);
    while (Long_le($upperPos, $upError)) {
        $upperPos = Long_mul($upperPos, Long_fromInt(10));
    }
    if (Long_gt(Long_sub($upperPos, Long_rem($decMantissa, $upperPos)), Long_div($upError, Long_fromInt(2))))
        $upperPos = Long_div($upperPos, Long_fromInt(10));
    $exponent = Long_compare($lowerPos, $upperPos);
    $mantissa = $exponent > 0 ? Long_mul(Long_div($decMantissa, $lowerPos), $lowerPos) : $exponent < 0 ? Long_add(Long_mul(Long_div($decMantissa, $upperPos), $upperPos), $upperPos) : Long_mul(Long_div(Long_add($decMantissa, Long_div($upperPos, Long_fromInt(2))), $upperPos), $upperPos);
    if (Long_ge($mantissa, new Long(2808348672, 232830643))) {
        $decExponent = $decExponent + 1 | 0;
        $mantissa = Long_div($mantissa, Long_fromInt(10));
    } else if (Long_lt($mantissa, new Long(1569325056, 23283064))) {
        $decExponent = $decExponent + (-1) | 0;
        $mantissa = Long_mul($mantissa, Long_fromInt(10));
    }
    $result.$mantissa0 = $mantissa;
    $result.$exponent0 = $decExponent - 330 | 0;
}
$java.otcit_DoubleAnalyzer_mulAndShiftRight = function($a, $b, $shift) {
    var $a1, $a2, $a3, $a4, $b1, $b2, $b3, $b4, $cm, $c0, $c;
    $a1 = Long_and($a, Long_fromInt(65535));
    $a2 = Long_and(Long_shru($a, 16), Long_fromInt(65535));
    $a3 = Long_and(Long_shru($a, 32), Long_fromInt(65535));
    $a4 = Long_and(Long_shru($a, 48), Long_fromInt(65535));
    $b1 = Long_and($b, Long_fromInt(65535));
    $b2 = Long_and(Long_shru($b, 16), Long_fromInt(65535));
    $b3 = Long_and(Long_shru($b, 32), Long_fromInt(65535));
    $b4 = Long_and(Long_shru($b, 48), Long_fromInt(65535));
    $cm = Long_add(Long_add(Long_mul($b3, $a1), Long_mul($b2, $a2)), Long_mul($b1, $a3));
    $c0 = Long_add(Long_add(Long_add(Long_mul($b4, $a1), Long_mul($b3, $a2)), Long_mul($b2, $a3)), Long_mul($b1, $a4));
    $c = Long_add(Long_add(Long_shl(Long_mul($b4, $a4), 32 + $shift | 0), Long_shl(Long_add(Long_mul($b4, $a3), Long_mul($b3, $a4)), 16 + $shift | 0)), Long_shl(Long_add(Long_add(Long_mul($b4, $a2), Long_mul($b3, $a3)), Long_mul($b2, $a4)), $shift));
    return Long_add($shift > 16 ? Long_add($c, Long_shl($c0, $shift - 16 | 0)) : Long_add($c, Long_shru($c0, 16 - $shift | 0)), Long_shru($cm, 32 - $shift | 0));
};
function otcit_DoubleAnalyzer__clinit_() {
    var $decimalMantissaOne, $exponent, $i, $shiftedOffPart, var$5, var$6, $maxMantissa, $i_0, $shift, var$10;
    $java.otcit_DoubleAnalyzer_mantissa10Table = $rt_createLongArray(660);
    $java.otcit_DoubleAnalyzer_exp10Table = $rt_createIntArray(660);
    $decimalMantissaOne = new Long(991952896, 1862645149);
    $exponent = 1023;
    $i = 0;
    $shiftedOffPart = $decimalMantissaOne;
    while ($i < 330) {
        var$5 = $java.otcit_DoubleAnalyzer_mantissa10Table.data;
        var$6 = $i + 330 | 0;
        var$5[var$6] = jl_Long_divideUnsigned($shiftedOffPart, Long_fromInt(80));
        $java.otcit_DoubleAnalyzer_exp10Table.data[var$6] = $exponent;
        $shiftedOffPart = jl_Long_divideUnsigned($shiftedOffPart, Long_fromInt(10));
        $maxMantissa = jl_Long_remainderUnsigned($shiftedOffPart, Long_fromInt(10));
        while (Long_le($shiftedOffPart, $decimalMantissaOne) && Long_eq(Long_and($shiftedOffPart, new Long(0, 2147483648)), Long_ZERO)) {
            $shiftedOffPart = Long_shl($shiftedOffPart, 1);
            $exponent = $exponent + 1 | 0;
            $maxMantissa = Long_shl($maxMantissa, 1);
        }
        $shiftedOffPart = Long_add($shiftedOffPart, Long_div($maxMantissa, Long_fromInt(10)));
        $i = $i + 1 | 0;
    }
    $i = 1023;
    $i_0 = 0;
    while ($i_0 < 330) {
        $shift = 0;
        $shiftedOffPart = $decimalMantissaOne;
        while (Long_gt($shiftedOffPart, new Long(3435973836, 214748364))) {
            $shiftedOffPart = Long_shr($shiftedOffPart, 1);
            $shift = $shift + 1 | 0;
            $i = $i + (-1) | 0;
        }
        var$10 = Long_mul($shiftedOffPart, Long_fromInt(10));
        $decimalMantissaOne = $shift <= 0 ? var$10 : Long_add(var$10, Long_shr(Long_mul(Long_and($decimalMantissaOne, Long_fromInt((1 << $shift) - 1 | 0)), Long_fromInt(10)), $shift));
        var$5 = $java.otcit_DoubleAnalyzer_mantissa10Table.data;
        var$6 = (330 - $i_0 | 0) - 1 | 0;
        var$5[var$6] = jl_Long_divideUnsigned($decimalMantissaOne, Long_fromInt(80));
        $java.otcit_DoubleAnalyzer_exp10Table.data[var$6] = $i;
        $i_0 = $i_0 + 1 | 0;
    }
}
function otcit_DoubleAnalyzer$Result() {
    var a = this; jl_Object.call(a);
    a.$mantissa0 = Long_ZERO;
    a.$exponent0 = 0;
    a.$sign0 = 0;
}
$java.otcit_DoubleAnalyzer$Result__init_ = function() {
    var var_0 = new otcit_DoubleAnalyzer$Result();
    otcit_DoubleAnalyzer$Result__init_(var_0);
    return var_0;
};
function otcit_DoubleAnalyzer$Result__init_($this) {
    return;
}
function jur_MatchResultImpl() {
    var a = this; jl_Object.call(a);
    a.$groupBounds = null;
    a.$consumers = null;
    a.$compQuantCounters = null;
    a.$string4 = null;
    a.$groupCount = 0;
    a.$valid = 0;
    a.$leftBound0 = 0;
    a.$rightBound0 = 0;
    a.$startIndex = 0;
    a.$transparentBounds = 0;
    a.$anchoringBounds = 0;
    a.$hitEnd = 0;
    a.$requireEnd = 0;
    a.$previousMatch = 0;
    a.$mode1 = 0;
}
function jur_MatchResultImpl_setConsumed($this, $counter, $value) {
    $this.$consumers.data[$counter] = $value;
}
function jur_MatchResultImpl_getConsumed($this, $counter) {
    return $this.$consumers.data[$counter];
}
$java.jur_MatchResultImpl_end = function($this) {
    return $java.jur_MatchResultImpl_end0($this, 0);
};
$java.jur_MatchResultImpl_end0 = function($this, $group) {
    $java.jur_MatchResultImpl_checkGroup($this, $group);
    return $this.$groupBounds.data[($group * 2 | 0) + 1 | 0];
};
function jur_MatchResultImpl_setStart($this, $group, $offset) {
    $this.$groupBounds.data[$group * 2 | 0] = $offset;
}
function jur_MatchResultImpl_setEnd($this, $group, $offset) {
    $this.$groupBounds.data[($group * 2 | 0) + 1 | 0] = $offset;
}
function jur_MatchResultImpl_getStart($this, $group) {
    return $this.$groupBounds.data[$group * 2 | 0];
}
function jur_MatchResultImpl_getEnd($this, $group) {
    return $this.$groupBounds.data[($group * 2 | 0) + 1 | 0];
}
$java.jur_MatchResultImpl_group = function($this, $group) {
    if ($java.jur_MatchResultImpl_start0($this, $group) < 0)
        return null;
    return jl_String_substring0($this.$string4, $java.jur_MatchResultImpl_start0($this, $group), $java.jur_MatchResultImpl_end0($this, $group));
};
function jur_MatchResultImpl_getGroupNoCheck($this, $group) {
    var $st, $end;
    $st = jur_MatchResultImpl_getStart($this, $group);
    $end = jur_MatchResultImpl_getEnd($this, $group);
    if (($end | $st | ($end - $st | 0)) >= 0 && $end <= jl_String_length($this.$string4))
        return jl_String_substring0($this.$string4, $st, $end);
    return null;
}
$java.jur_MatchResultImpl_start = function($this) {
    return $java.jur_MatchResultImpl_start0($this, 0);
};
$java.jur_MatchResultImpl_start0 = function($this, $group) {
    $java.jur_MatchResultImpl_checkGroup($this, $group);
    return $this.$groupBounds.data[$group * 2 | 0];
};
$java.jur_MatchResultImpl_finalizeMatch = function($this) {
    if ($this.$groupBounds.data[0] == (-1)) {
        $this.$groupBounds.data[0] = $this.$startIndex;
        $this.$groupBounds.data[1] = $this.$startIndex;
    }
    $this.$previousMatch = $java.jur_MatchResultImpl_end($this);
};
function jur_MatchResultImpl_getEnterCounter($this, $setCounter) {
    return $this.$compQuantCounters.data[$setCounter];
}
function jur_MatchResultImpl_setEnterCounter($this, $setCounter, $value) {
    $this.$compQuantCounters.data[$setCounter] = $value;
}
$java.jur_MatchResultImpl_checkGroup = function($this, $group) {
    var var$2;
    if (!$this.$valid) {
        var$2 = new jl_IllegalStateException;
        jl_Throwable__init_0(var$2);
        $rt_throw(var$2);
    }
    if ($group >= 0 && $group < $this.$groupCount)
        return;
    var$2 = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_(var$2, jl_String_valueOf1($group));
    $rt_throw(var$2);
};
function jur_MatchResultImpl_setValid($this) {
    $this.$valid = 1;
}
$java.jur_MatchResultImpl_isValid = function($this) {
    return $this.$valid;
};
function jur_MatchResultImpl_reset($this, $newSequence, $leftBound, $rightBound) {
    $this.$valid = 0;
    $this.$mode1 = 2;
    ju_Arrays_fill0($this.$groupBounds, (-1));
    ju_Arrays_fill0($this.$consumers, (-1));
    if ($newSequence !== null)
        $this.$string4 = $newSequence;
    if ($leftBound >= 0) {
        $this.$leftBound0 = $leftBound;
        $this.$rightBound0 = $rightBound;
    }
    $this.$startIndex = $this.$leftBound0;
}
$java.jur_MatchResultImpl_reset = function($this) {
    jur_MatchResultImpl_reset($this, null, (-1), (-1));
};
$java.jur_MatchResultImpl_setStartIndex = function($this, $startIndex) {
    $this.$startIndex = $startIndex;
    if ($this.$previousMatch >= 0)
        $startIndex = $this.$previousMatch;
    $this.$previousMatch = $startIndex;
};
$java.jur_MatchResultImpl_getLeftBound = function($this) {
    return $this.$leftBound0;
};
$java.jur_MatchResultImpl_getRightBound = function($this) {
    return $this.$rightBound0;
};
$java.jur_MatchResultImpl_setMode = function($this, $mode) {
    $this.$mode1 = $mode;
};
$java.jur_MatchResultImpl_mode = function($this) {
    return $this.$mode1;
};
$java.jur_MatchResultImpl_hasAnchoringBounds = function($this) {
    return $this.$anchoringBounds;
};
$java.jur_MatchResultImpl_hasTransparentBounds = function($this) {
    return $this.$transparentBounds;
};
$java.jur_MatchResultImpl_getPreviousMatchEnd = function($this) {
    return $this.$previousMatch;
};
function ji_Writer() {
    jl_Object.call(this);
    this.$lock0 = null;
}
function ji_StringWriter() {
    ji_Writer.call(this);
    this.$buf3 = null;
}
$java.ji_StringWriter__init_ = function() {
    var var_0 = new ji_StringWriter();
    ji_StringWriter__init_(var_0);
    return var_0;
};
function ji_StringWriter__init_($this) {
    var var$1;
    $this.$lock0 = $this;
    var$1 = new jl_StringBuffer;
    jl_AbstractStringBuilder__init_2(var$1, 16);
    $this.$buf3 = var$1;
    $this.$lock0 = $this.$buf3;
}
$java.ji_StringWriter_close = function($this) {
    return;
};
$java.ji_StringWriter_flush = function($this) {
    return;
};
$java.ji_StringWriter_getBuffer = function($this) {
    return $this.$buf3;
};
$java.ji_StringWriter_toString = function($this) {
    return jl_AbstractStringBuilder_toString($this.$buf3);
};
$java.ji_StringWriter_write = function($this, $cbuf, $offset, $count) {
    var var$4, var$5;
    if ($offset >= 0) {
        var$4 = $cbuf.data.length;
        if ($offset <= var$4 && $count >= 0 && $count <= (var$4 - $offset | 0)) {
            if (!$count)
                return;
            jl_AbstractStringBuilder_append6($this.$buf3, $cbuf, $offset, $count);
            return;
        }
    }
    var$5 = new jl_IndexOutOfBoundsException;
    jl_Throwable__init_0(var$5);
    $rt_throw(var$5);
};
$java.ji_StringWriter_write0 = function($this, $oneChar) {
    jl_AbstractStringBuilder_append0($this.$buf3, $oneChar & 65535);
};
$java.ji_StringWriter_write1 = function($this, $str) {
    jl_AbstractStringBuilder_append($this.$buf3, $str);
};
$java.ji_StringWriter_write2 = function($this, $str, $offset, $count) {
    var $sub;
    $sub = jl_String_substring0($str, $offset, $offset + $count | 0);
    jl_AbstractStringBuilder_append($this.$buf3, $sub);
};
function ji_PrintWriter() {
    var a = this; ji_Writer.call(a);
    a.$out4 = null;
    a.$ioError = 0;
    a.$autoflush = 0;
}
$java.ji_PrintWriter__init_ = function(var_0) {
    var var_1 = new ji_PrintWriter();
    $java.ji_PrintWriter__init_0(var_1, var_0);
    return var_1;
};
$java.ji_PrintWriter__init_0 = function($this, $wr) {
    if ($wr !== null) {
        $this.$lock0 = $wr;
        $this.$autoflush = 0;
        $this.$out4 = $wr;
        return;
    }
    $wr = new jl_NullPointerException;
    jl_Throwable__init_0($wr);
    $rt_throw($wr);
};
$java.ji_PrintWriter_close = function($this) {
    var $$je;
    if ($this.$out4 !== null) {
        a: {
            try {
                $java.ji_StringWriter_close($this.$out4);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $java.ji_PrintWriter_setError($this);
        }
        $this.$out4 = null;
    }
};
$java.ji_PrintWriter_flush = function($this) {
    var $$je;
    a: {
        if ($this.$out4 === null)
            $java.ji_PrintWriter_setError($this);
        else {
            try {
                $java.ji_StringWriter_flush($this.$out4);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $java.ji_PrintWriter_setError($this);
        }
    }
};
function ji_PrintWriter_print($this, $str) {
    if ($str === null)
        $str = jl_String_valueOf(null);
    $java.ji_PrintWriter_write($this, $str);
}
function ji_PrintWriter_println($this) {
    ji_PrintWriter_print($this, $rt_s(64));
    if ($this.$autoflush)
        $java.ji_PrintWriter_flush($this);
}
function ji_PrintWriter_println0($this, $obj) {
    $java.ji_PrintWriter_println($this, jl_String_valueOf($obj));
}
$java.ji_PrintWriter_println = function($this, $str) {
    ji_PrintWriter_print($this, $str);
    ji_PrintWriter_println($this);
};
$java.ji_PrintWriter_setError = function($this) {
    $this.$ioError = 1;
};
$java.ji_PrintWriter_write0 = function($this, $buf) {
    $java.ji_PrintWriter_write1($this, $buf, 0, $buf.data.length);
};
$java.ji_PrintWriter_write1 = function($this, $buf, $offset, $count) {
    var $$je;
    a: {
        if ($this.$out4 === null)
            $java.ji_PrintWriter_setError($this);
        else {
            try {
                $java.ji_StringWriter_write($this.$out4, $buf, $offset, $count);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                } else {
                    throw $$e;
                }
            }
            $java.ji_PrintWriter_setError($this);
        }
    }
};
$java.ji_PrintWriter_write = function($this, $str) {
    $java.ji_PrintWriter_write0($this, jl_String_toCharArray($str));
};
function ji_StringReader() {
    var a = this; ji_Reader.call(a);
    a.$string5 = null;
    a.$index9 = 0;
}
$java.ji_StringReader__init_ = function(var_0) {
    var var_1 = new ji_StringReader();
    $java.ji_StringReader__init_0(var_1, var_0);
    return var_1;
};
$java.ji_StringReader__init_0 = function($this, $string) {
    ji_Reader__init_0($this);
    if ($string !== null) {
        $this.$string5 = $string;
        return;
    }
    $string = new jl_NullPointerException;
    jl_Throwable__init_0($string);
    $rt_throw($string);
};
$java.ji_StringReader_read = function($this) {
    var var$1, var$2;
    $java.ji_StringReader_checkOpened($this);
    if ($this.$index9 >= jl_String_length($this.$string5))
        return (-1);
    var$1 = $this.$string5;
    var$2 = $this.$index9;
    $this.$index9 = var$2 + 1 | 0;
    return jl_String_charAt(var$1, var$2);
};
$java.ji_StringReader_read0 = function($this, $cbuf, $off, $len) {
    var $n, $i, var$6, var$7, var$8;
    $java.ji_StringReader_checkOpened($this);
    if ($this.$index9 >= jl_String_length($this.$string5))
        return (-1);
    $n = jl_Math_min(jl_String_length($this.$string5) - $this.$index9 | 0, $len);
    $i = 0;
    while ($i < $n) {
        var$6 = $cbuf.data;
        $len = $off + 1 | 0;
        var$7 = $this.$string5;
        var$8 = $this.$index9;
        $this.$index9 = var$8 + 1 | 0;
        var$6[$off] = jl_String_charAt(var$7, var$8);
        $i = $i + 1 | 0;
        $off = $len;
    }
    return $n;
};
$java.ji_StringReader_markSupported = function($this) {
    return 1;
};
$java.ji_StringReader_close = function($this) {
    $this.$string5 = null;
};
$java.ji_StringReader_checkOpened = function($this) {
    var var$1;
    if ($this.$string5 !== null)
        return;
    var$1 = new ji_IOException;
    jl_Throwable__init_0(var$1);
    $rt_throw(var$1);
};
function nlea_EaglerAdapterImpl2$QueryGL() {
    jl_Object.call(this);
    this.$obj5 = null;
}
function maa_File() {
    jl_Object.call(this);
    this.$fileName = null;
}
$java.maa_File__init_ = function(var_0) {
    var var_1 = new maa_File();
    $java.maa_File__init_0(var_1, var_0);
    return var_1;
};
$java.maa_File__init_0 = function($this, $name) {
    $this.$fileName = $rt_s(36);
    $this.$fileName = $name;
};
$java.maa_File_exists = function($this) {
    return 1;
};
$java.maa_File_getFileName = function($this) {
    return $this.$fileName;
};
function nms_Rect2i() {
    var a = this; jl_Object.call(a);
    a.$rectX = 0;
    a.$rectY = 0;
    a.$rectWidth = 0;
    a.$rectHeight = 0;
}
function nms_Rect2i__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_Rect2i();
    $java.nms_Rect2i__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nms_Rect2i__init_ = function($this, $par1, $par2, $par3, $par4) {
    $this.$rectX = $par1;
    $this.$rectY = $par2;
    $this.$rectWidth = $par3;
    $this.$rectHeight = $par4;
};
$java.nms_Rect2i_intersection = function($this, $par1Rect2i) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9;
    $var2 = $this.$rectX;
    $var3 = $this.$rectY;
    $var4 = $this.$rectX + $this.$rectWidth | 0;
    $var5 = $this.$rectY + $this.$rectHeight | 0;
    $var6 = $par1Rect2i.$rectX;
    $var7 = $par1Rect2i.$rectY;
    $var8 = $var6 + $par1Rect2i.$rectWidth | 0;
    $var9 = $var7 + $par1Rect2i.$rectHeight | 0;
    $this.$rectX = jl_Math_max($var2, $var6);
    $this.$rectY = jl_Math_max($var3, $var7);
    $this.$rectWidth = jl_Math_max(0, jl_Math_min($var4, $var8) - $this.$rectX | 0);
    $this.$rectHeight = jl_Math_max(0, jl_Math_min($var5, $var9) - $this.$rectY | 0);
    return $this;
};
$java.nms_Rect2i_getRectX = function($this) {
    return $this.$rectX;
};
$java.nms_Rect2i_getRectY = function($this) {
    return $this.$rectY;
};
$java.nms_Rect2i_getRectWidth = function($this) {
    return $this.$rectWidth;
};
$java.nms_Rect2i_getRectHeight = function($this) {
    return $this.$rectHeight;
};
function nms_TileEntitySpecialRenderer() {
    jl_Object.call(this);
    this.$tileEntityRenderer = null;
}
$java.nms_TileEntitySpecialRenderer_setTileEntityRenderer = function($this, $par1TileEntityRenderer) {
    $this.$tileEntityRenderer = $par1TileEntityRenderer;
};
$java.nms_TileEntitySpecialRenderer_onWorldChange = function($this, $par1World) {
    return;
};
$java.nms_TileEntitySpecialRenderer_getFontRenderer = function($this) {
    return $this.$tileEntityRenderer.$fontRenderer4;
};
function nms_TileEntitySignRenderer() {
    nms_TileEntitySpecialRenderer.call(this);
    this.$modelSign = null;
}
$java.nms_TileEntitySignRenderer_tex_sign = null;
$java.nms_TileEntitySignRenderer__init_ = function() {
    var var_0 = new nms_TileEntitySignRenderer();
    nms_TileEntitySignRenderer__init_(var_0);
    return var_0;
};
function nms_TileEntitySignRenderer__init_($this) {
    $this.$modelSign = $java.nms_ModelSign__init_();
}
$java.nms_TileEntitySignRenderer_renderTileEntitySignAt = function($this, $par1TileEntitySign, $par2, $par4, $par6, $par8) {
    var $var9, $var10, $var16, $var12, $var17, $var13, $var14, $var15, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var17 = $thread.pop();$var12 = $thread.pop();$var16 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntitySign = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var9 = $java.nms_TileEntity_getBlockType($par1TileEntitySign);
        nleg_EaglerAdapterGL30_glPushMatrix();
        $var10 = 0.6666666865348816;
        nms_Block_$callClinit();
        if ($var9 === nms_Block_signPost) {
            nleg_EaglerAdapterGL30_glTranslatef($par2 + 0.5, $par4 + 0.5, $par6 + 0.5);
            nleg_EaglerAdapterGL30_glRotatef( -(($java.nms_TileEntity_getBlockMetadata($par1TileEntitySign) * 360 | 0) / 16.0), 0.0, 1.0, 0.0);
            $this.$modelSign.$signStick.$showModel = 1;
        } else {
            $var16 = $java.nms_TileEntity_getBlockMetadata($par1TileEntitySign);
            $var12 = 0.0;
            if ($var16 == 2)
                $var12 = 180.0;
            if ($var16 == 4)
                $var12 = 90.0;
            if ($var16 == 5)
                $var12 = (-90.0);
            nleg_EaglerAdapterGL30_glTranslatef($par2 + 0.5, $par4 + 0.5, $par6 + 0.5);
            nleg_EaglerAdapterGL30_glRotatef( -$var12, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.3125), (-0.4375));
            $this.$modelSign.$signStick.$showModel = 0;
        }
        $var17 = $java.nms_TileEntitySignRenderer_tex_sign;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var17);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef($var10, (-0.6666666865348816), (-0.6666666865348816));
        $java.nms_ModelSign_renderSign($this.$modelSign);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $var17 = $java.nms_TileEntitySpecialRenderer_getFontRenderer($this);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.3333333432674408, 0.046666666865348816);
        nleg_EaglerAdapterGL30_glScalef(0.01111111231148243, (-0.01111111231148243), 0.01111111231148243);
        nleg_EaglerAdapterGL30_glNormal3f(0.0, 0.0, (-0.01111111231148243));
        nleg_EaglerAdapterGL30_glDepthMask(0);
        $var13 = 0;
        $var14 = 0;
        if ($var14 >= $par1TileEntitySign.$signText.data.length) {
            nleg_EaglerAdapterGL30_glDepthMask(1);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        $var15 = $par1TileEntitySign.$signText.data[$var14];
        if ($var14 != $par1TileEntitySign.$lineBeingEdited) {
            var$14 =  -nms_FontRenderer_getStringWidth($var17, $var15) / 2 | 0;
            $var16 = ($var14 * 10 | 0) - ($par1TileEntitySign.$signText.data.length * 5 | 0) | 0;
            $ptr = 2;
            continue main;
        }
        $var9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var9);
        jl_AbstractStringBuilder_append($var9, $rt_s(2956));
        jl_AbstractStringBuilder_append($var9, $var15);
        jl_AbstractStringBuilder_append($var9, $rt_s(2957));
        $var9 = jl_AbstractStringBuilder_toString($var9);
        $var16 =  -nms_FontRenderer_getStringWidth($var17, $var9) / 2 | 0;
        var$14 = ($var14 * 10 | 0) - ($par1TileEntitySign.$signText.data.length * 5 | 0) | 0;
        $ptr = 3;
        continue main;
    case 2:
        nms_FontRenderer_drawString($var17, $var15, var$14, $var16, $var13);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $var14 + 1 | 0;
        if ($var14 >= $par1TileEntitySign.$signText.data.length) {
            nleg_EaglerAdapterGL30_glDepthMask(1);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        $var15 = $par1TileEntitySign.$signText.data[$var14];
        if ($var14 != $par1TileEntitySign.$lineBeingEdited) {
            var$14 =  -nms_FontRenderer_getStringWidth($var17, $var15) / 2 | 0;
            $var16 = ($var14 * 10 | 0) - ($par1TileEntitySign.$signText.data.length * 5 | 0) | 0;
            continue main;
        }
        $var9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var9);
        jl_AbstractStringBuilder_append($var9, $rt_s(2956));
        jl_AbstractStringBuilder_append($var9, $var15);
        jl_AbstractStringBuilder_append($var9, $rt_s(2957));
        $var9 = jl_AbstractStringBuilder_toString($var9);
        $var16 =  -nms_FontRenderer_getStringWidth($var17, $var9) / 2 | 0;
        var$14 = ($var14 * 10 | 0) - ($par1TileEntitySign.$signText.data.length * 5 | 0) | 0;
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawString($var17, $var9, $var16, var$14, $var13);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $var14 + 1 | 0;
        if ($var14 >= $par1TileEntitySign.$signText.data.length) {
            nleg_EaglerAdapterGL30_glDepthMask(1);
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            nleg_EaglerAdapterGL30_glPopMatrix();
            return;
        }
        $var15 = $par1TileEntitySign.$signText.data[$var14];
        if ($var14 != $par1TileEntitySign.$lineBeingEdited) {
            var$14 =  -nms_FontRenderer_getStringWidth($var17, $var15) / 2 | 0;
            $var16 = ($var14 * 10 | 0) - ($par1TileEntitySign.$signText.data.length * 5 | 0) | 0;
            $ptr = 2;
            continue main;
        }
        $var9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var9);
        jl_AbstractStringBuilder_append($var9, $rt_s(2956));
        jl_AbstractStringBuilder_append($var9, $var15);
        jl_AbstractStringBuilder_append($var9, $rt_s(2957));
        $var9 = jl_AbstractStringBuilder_toString($var9);
        $var16 =  -nms_FontRenderer_getStringWidth($var17, $var9) / 2 | 0;
        var$14 = ($var14 * 10 | 0) - ($par1TileEntitySign.$signText.data.length * 5 | 0) | 0;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntitySign, $par2, $par4, $par6, $par8, $var9, $var10, $var16, $var12, $var17, $var13, $var14, $var15, var$14, $ptr);
};
$java.nms_TileEntitySignRenderer_renderTileEntityAt = function($this, $par1TileEntity, $par2, $par4, $par6, $par8) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1TileEntity = $par1TileEntity;
        $ptr = 1;
    case 1:
        $java.nms_TileEntitySignRenderer_renderTileEntitySignAt($this, $par1TileEntity, $par2, $par4, $par6, $par8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntity, $par2, $par4, $par6, $par8, $ptr);
};
function nms_TileEntitySignRenderer__clinit_() {
    $java.nms_TileEntitySignRenderer_tex_sign = nle_TextureLocation__init_($rt_s(2958));
}
function nms_TileEntityRendererPiston() {
    nms_TileEntitySpecialRenderer.call(this);
    this.$blockRenderer0 = null;
}
$java.nms_TileEntityRendererPiston_tex_terrain = null;
$java.nms_TileEntityRendererPiston__init_ = function() {
    var var_0 = new nms_TileEntityRendererPiston();
    nms_TileEntityRendererPiston__init_(var_0);
    return var_0;
};
function nms_TileEntityRendererPiston__init_($this) {
    return;
}
$java.nms_TileEntityRendererPiston_renderPiston = function($this, $par1TileEntityPiston, $par2, $par4, $par6, $par8) {
    var $var9, $var10, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntityPiston = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_Block_$callClinit();
        $var9 = nms_Block_blocksList.data[$par1TileEntityPiston.$storedBlockID];
        if ($var9 !== null && $java.nms_TileEntityPiston_getProgress($par1TileEntityPiston, $par8) < 1.0) {
            nlea_Tessellator_$callClinit();
            $var10 = nlea_Tessellator_instance;
            var$8 = $java.nms_TileEntityRendererPiston_tex_terrain;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        nle_TextureLocation_bindTexture(var$8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10241, 9728);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10240, 9728);
        nms_RenderHelper_disableStandardItemLighting();
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glDisable(2884);
        nmc_Minecraft_isAmbientOcclusionEnabled();
        a: {
            nlea_Tessellator_startDrawingQuads($var10);
            var$9 = $par2;
            $par2 = var$9 - $par1TileEntityPiston.$xCoord0 + $java.nms_TileEntityPiston_getOffsetX($par1TileEntityPiston, $par8);
            var$10 = $par4;
            $par4 = var$10 - $par1TileEntityPiston.$yCoord0 + $java.nms_TileEntityPiston_getOffsetY($par1TileEntityPiston, $par8);
            var$11 = $par6;
            nlea_Tessellator_setTranslation($var10, $par2, $par4, var$11 - $par1TileEntityPiston.$zCoord0 + $java.nms_TileEntityPiston_getOffsetZ($par1TileEntityPiston, $par8));
            nlea_Tessellator_setColorOpaque($var10, 1, 1, 1);
            if ($var9 === nms_Block_pistonExtension && $java.nms_TileEntityPiston_getProgress($par1TileEntityPiston, $par8) < 0.5)
                nms_RenderBlocks_renderPistonExtensionAllFaces($this.$blockRenderer0, $var9, $par1TileEntityPiston.$xCoord0, $par1TileEntityPiston.$yCoord0, $par1TileEntityPiston.$zCoord0, 0);
            else {
                if (!$par1TileEntityPiston.$shouldHeadBeRendered)
                    break a;
                if ($par1TileEntityPiston.$extending)
                    break a;
                nms_Block_pistonExtension.$headTexture = $var9.$topIcon;
                nms_RenderBlocks_renderPistonExtensionAllFaces($this.$blockRenderer0, nms_Block_pistonExtension, $par1TileEntityPiston.$xCoord0, $par1TileEntityPiston.$yCoord0, $par1TileEntityPiston.$zCoord0, $java.nms_TileEntityPiston_getProgress($par1TileEntityPiston, $par8) >= 0.5 ? 0 : 1);
                $java.nms_BlockPistonExtension_clearHeadTexture(nms_Block_pistonExtension);
                nlea_Tessellator_setTranslation($var10, var$9 - $par1TileEntityPiston.$xCoord0, var$10 - $par1TileEntityPiston.$yCoord0, var$11 - $par1TileEntityPiston.$zCoord0);
                nms_RenderBlocks_renderPistonBaseAllFaces($this.$blockRenderer0, $var9, $par1TileEntityPiston.$xCoord0, $par1TileEntityPiston.$yCoord0, $par1TileEntityPiston.$zCoord0);
            }
            nlea_Tessellator_setTranslation($var10, 0.0, 0.0, 0.0);
            nlea_Tessellator_draw($var10);
            nms_RenderHelper_enableStandardItemLighting();
            return;
        }
        var$8 = $this.$blockRenderer0;
        var$12 = $par1TileEntityPiston.$xCoord0;
        var$13 = $par1TileEntityPiston.$yCoord0;
        var$14 = $par1TileEntityPiston.$zCoord0;
        $ptr = 2;
    case 2:
        nms_RenderBlocks_renderBlockAllFaces(var$8, $var9, var$12, var$13, var$14);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_setTranslation($var10, 0.0, 0.0, 0.0);
        nlea_Tessellator_draw($var10);
        nms_RenderHelper_enableStandardItemLighting();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntityPiston, $par2, $par4, $par6, $par8, $var9, $var10, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $ptr);
};
$java.nms_TileEntityRendererPiston_onWorldChange = function($this, $par1World) {
    $this.$blockRenderer0 = nms_RenderBlocks__init_0($par1World);
};
$java.nms_TileEntityRendererPiston_renderTileEntityAt = function($this, $par1TileEntity, $par2, $par4, $par6, $par8) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1TileEntity = $par1TileEntity;
        $ptr = 1;
    case 1:
        $java.nms_TileEntityRendererPiston_renderPiston($this, $par1TileEntity, $par2, $par4, $par6, $par8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntity, $par2, $par4, $par6, $par8, $ptr);
};
function nms_TileEntityRendererPiston__clinit_() {
    $java.nms_TileEntityRendererPiston_tex_terrain = nle_TextureLocation__init_($rt_s(985));
}
function nms_TileEntityChestRenderer() {
    var a = this; nms_TileEntitySpecialRenderer.call(a);
    a.$chestModel = null;
    a.$largeChestModel = null;
    a.$isChristmas = 0;
}
$java.nms_TileEntityChestRenderer_tex_trap_small = null;
$java.nms_TileEntityChestRenderer_tex_xmaschest = null;
$java.nms_TileEntityChestRenderer_tex_chest = null;
$java.nms_TileEntityChestRenderer_tex_trap_large = null;
$java.nms_TileEntityChestRenderer_tex_largexmaschest = null;
$java.nms_TileEntityChestRenderer_tex_largechest = null;
$java.nms_TileEntityChestRenderer__init_ = function() {
    var var_0 = new nms_TileEntityChestRenderer();
    nms_TileEntityChestRenderer__init_(var_0);
    return var_0;
};
function nms_TileEntityChestRenderer__init_($this) {
    var $var1;
    $this.$chestModel = $java.nms_ModelChest__init_();
    $this.$largeChestModel = $java.nms_ModelLargeChest__init_();
    $var1 = ju_Calendar_getInstance();
    if ((ju_Calendar_get($var1, 2) + 1 | 0) == 12 && ju_Calendar_get($var1, 5) >= 24 && ju_Calendar_get($var1, 5) <= 26)
        $this.$isChristmas = 1;
}
$java.nms_TileEntityChestRenderer_renderTileEntityChestAt = function($this, $par1TileEntityChest, $par2, $par4, $par6, $par8) {
    var $var10, $var9, $var14, $var11, var$10, var$11, $var12, $var13, $var13_0, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var13_0 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var11 = $thread.pop();$var14 = $thread.pop();$var9 = $thread.pop();$var10 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntityChest = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (nms_TileEntity_func_70309_m($par1TileEntityChest)) {
            $var10 = $java.nms_TileEntity_getBlockType($par1TileEntityChest);
            $var9 = $java.nms_TileEntity_getBlockMetadata($par1TileEntityChest);
            if ($var10 instanceof nms_BlockChest && !$var9)
                $var9 = $java.nms_TileEntity_getBlockMetadata($par1TileEntityChest);
            $ptr = 1;
            continue main;
        }
        $var9 = 0;
        if ($par1TileEntityChest.$adjacentChestZNeg === null && $par1TileEntityChest.$adjacentChestXNeg === null) {
            if ($par1TileEntityChest.$adjacentChestXPos === null && $par1TileEntityChest.$adjacentChestZPosition === null) {
                $var14 = $this.$chestModel;
                if ($java.nms_TileEntityChest_func_98041_l($par1TileEntityChest) == 1) {
                    $var10 = $java.nms_TileEntityChestRenderer_tex_trap_small;
                    $ptr = 5;
                    continue main;
                }
                if (!$this.$isChristmas) {
                    $var10 = $java.nms_TileEntityChestRenderer_tex_chest;
                    $ptr = 6;
                    continue main;
                }
                $var10 = $java.nms_TileEntityChestRenderer_tex_xmaschest;
                $ptr = 7;
                continue main;
            }
            $var14 = $this.$largeChestModel;
            if ($java.nms_TileEntityChest_func_98041_l($par1TileEntityChest) == 1) {
                $var10 = $java.nms_TileEntityChestRenderer_tex_trap_large;
                $ptr = 2;
                continue main;
            }
            if (!$this.$isChristmas) {
                $var10 = $java.nms_TileEntityChestRenderer_tex_largechest;
                $ptr = 3;
                continue main;
            }
            $var10 = $java.nms_TileEntityChestRenderer_tex_largexmaschest;
            $ptr = 4;
            continue main;
        }
        return;
    case 1:
        $java.nms_TileEntityChest_checkForAdjacentChests($par1TileEntityChest);
        if ($rt_suspending()) {
            break main;
        }
        if ($par1TileEntityChest.$adjacentChestZNeg === null && $par1TileEntityChest.$adjacentChestXNeg === null) {
            if ($par1TileEntityChest.$adjacentChestXPos === null && $par1TileEntityChest.$adjacentChestZPosition === null) {
                $var14 = $this.$chestModel;
                if ($java.nms_TileEntityChest_func_98041_l($par1TileEntityChest) == 1) {
                    $var10 = $java.nms_TileEntityChestRenderer_tex_trap_small;
                    $ptr = 5;
                    continue main;
                }
                if (!$this.$isChristmas) {
                    $var10 = $java.nms_TileEntityChestRenderer_tex_chest;
                    $ptr = 6;
                    continue main;
                }
                $var10 = $java.nms_TileEntityChestRenderer_tex_xmaschest;
                $ptr = 7;
                continue main;
            }
            $var14 = $this.$largeChestModel;
            if ($java.nms_TileEntityChest_func_98041_l($par1TileEntityChest) == 1) {
                $var10 = $java.nms_TileEntityChestRenderer_tex_trap_large;
                $ptr = 2;
                continue main;
            }
            if (!$this.$isChristmas) {
                $var10 = $java.nms_TileEntityChestRenderer_tex_largechest;
                $ptr = 3;
                continue main;
            }
            $var10 = $java.nms_TileEntityChestRenderer_tex_largexmaschest;
            $ptr = 4;
            continue main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4 + 1.0, $par6 + 1.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
        $var11 = 0;
        var$10 = $rt_compare($var9, 2);
        if (!var$10)
            $var11 = 180;
        if ($var9 == 3)
            $var11 = 0;
        if ($var9 == 4)
            $var11 = 90;
        var$11 = $rt_compare($var9, 5);
        if (!var$11)
            $var11 = (-90);
        if (!var$10 && $par1TileEntityChest.$adjacentChestXPos !== null)
            nleg_EaglerAdapterGL30_glTranslatef(1.0, 0.0, 0.0);
        if (!var$11 && $par1TileEntityChest.$adjacentChestZPosition !== null)
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-1.0));
        nleg_EaglerAdapterGL30_glRotatef($var11, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
        $var12 = $par1TileEntityChest.$prevLidAngle + ($par1TileEntityChest.$lidAngle - $par1TileEntityChest.$prevLidAngle) * $par8;
        if ($par1TileEntityChest.$adjacentChestZNeg === null)
            $var13 = $var12;
        else {
            $var13 = $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestZNeg.$lidAngle - $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle) * $par8;
            if ($var13 <= $var12)
                $var13 = $var12;
        }
        if ($par1TileEntityChest.$adjacentChestXNeg === null)
            $var13_0 = $var13;
        else {
            $var13_0 = $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestXNeg.$lidAngle - $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle) * $par8;
            if ($var13_0 <= $var13)
                $var13_0 = $var13;
        }
        $par8 = 1.0 - $var13_0;
        $par8 = 1.0 - $par8 * $par8 * $par8;
        $var14.$chestLid.$rotateAngleX =  -($par8 * 3.1415927410125732 / 2.0);
        $java.nms_ModelChest_renderAll($var14);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    case 3:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4 + 1.0, $par6 + 1.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
        $var11 = 0;
        var$10 = $rt_compare($var9, 2);
        if (!var$10)
            $var11 = 180;
        if ($var9 == 3)
            $var11 = 0;
        if ($var9 == 4)
            $var11 = 90;
        var$11 = $rt_compare($var9, 5);
        if (!var$11)
            $var11 = (-90);
        if (!var$10 && $par1TileEntityChest.$adjacentChestXPos !== null)
            nleg_EaglerAdapterGL30_glTranslatef(1.0, 0.0, 0.0);
        if (!var$11 && $par1TileEntityChest.$adjacentChestZPosition !== null)
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-1.0));
        nleg_EaglerAdapterGL30_glRotatef($var11, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
        $var12 = $par1TileEntityChest.$prevLidAngle + ($par1TileEntityChest.$lidAngle - $par1TileEntityChest.$prevLidAngle) * $par8;
        if ($par1TileEntityChest.$adjacentChestZNeg === null)
            $var13 = $var12;
        else {
            $var13 = $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestZNeg.$lidAngle - $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle) * $par8;
            if ($var13 <= $var12)
                $var13 = $var12;
        }
        if ($par1TileEntityChest.$adjacentChestXNeg === null)
            $var13_0 = $var13;
        else {
            $var13_0 = $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestXNeg.$lidAngle - $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle) * $par8;
            if ($var13_0 <= $var13)
                $var13_0 = $var13;
        }
        $par8 = 1.0 - $var13_0;
        $par8 = 1.0 - $par8 * $par8 * $par8;
        $var14.$chestLid.$rotateAngleX =  -($par8 * 3.1415927410125732 / 2.0);
        $java.nms_ModelChest_renderAll($var14);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    case 4:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4 + 1.0, $par6 + 1.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
        $var11 = 0;
        var$10 = $rt_compare($var9, 2);
        if (!var$10)
            $var11 = 180;
        if ($var9 == 3)
            $var11 = 0;
        if ($var9 == 4)
            $var11 = 90;
        var$11 = $rt_compare($var9, 5);
        if (!var$11)
            $var11 = (-90);
        if (!var$10 && $par1TileEntityChest.$adjacentChestXPos !== null)
            nleg_EaglerAdapterGL30_glTranslatef(1.0, 0.0, 0.0);
        if (!var$11 && $par1TileEntityChest.$adjacentChestZPosition !== null)
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-1.0));
        nleg_EaglerAdapterGL30_glRotatef($var11, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
        $var12 = $par1TileEntityChest.$prevLidAngle + ($par1TileEntityChest.$lidAngle - $par1TileEntityChest.$prevLidAngle) * $par8;
        if ($par1TileEntityChest.$adjacentChestZNeg === null)
            $var13 = $var12;
        else {
            $var13 = $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestZNeg.$lidAngle - $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle) * $par8;
            if ($var13 <= $var12)
                $var13 = $var12;
        }
        if ($par1TileEntityChest.$adjacentChestXNeg === null)
            $var13_0 = $var13;
        else {
            $var13_0 = $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestXNeg.$lidAngle - $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle) * $par8;
            if ($var13_0 <= $var13)
                $var13_0 = $var13;
        }
        $par8 = 1.0 - $var13_0;
        $par8 = 1.0 - $par8 * $par8 * $par8;
        $var14.$chestLid.$rotateAngleX =  -($par8 * 3.1415927410125732 / 2.0);
        $java.nms_ModelChest_renderAll($var14);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    case 5:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4 + 1.0, $par6 + 1.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
        $var11 = 0;
        var$10 = $rt_compare($var9, 2);
        if (!var$10)
            $var11 = 180;
        if ($var9 == 3)
            $var11 = 0;
        if ($var9 == 4)
            $var11 = 90;
        var$11 = $rt_compare($var9, 5);
        if (!var$11)
            $var11 = (-90);
        if (!var$10 && $par1TileEntityChest.$adjacentChestXPos !== null)
            nleg_EaglerAdapterGL30_glTranslatef(1.0, 0.0, 0.0);
        if (!var$11 && $par1TileEntityChest.$adjacentChestZPosition !== null)
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-1.0));
        nleg_EaglerAdapterGL30_glRotatef($var11, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
        $var12 = $par1TileEntityChest.$prevLidAngle + ($par1TileEntityChest.$lidAngle - $par1TileEntityChest.$prevLidAngle) * $par8;
        if ($par1TileEntityChest.$adjacentChestZNeg === null)
            $var13 = $var12;
        else {
            $var13 = $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestZNeg.$lidAngle - $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle) * $par8;
            if ($var13 <= $var12)
                $var13 = $var12;
        }
        if ($par1TileEntityChest.$adjacentChestXNeg === null)
            $var13_0 = $var13;
        else {
            $var13_0 = $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestXNeg.$lidAngle - $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle) * $par8;
            if ($var13_0 <= $var13)
                $var13_0 = $var13;
        }
        $par8 = 1.0 - $var13_0;
        $par8 = 1.0 - $par8 * $par8 * $par8;
        $var14.$chestLid.$rotateAngleX =  -($par8 * 3.1415927410125732 / 2.0);
        $java.nms_ModelChest_renderAll($var14);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    case 6:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4 + 1.0, $par6 + 1.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
        $var11 = 0;
        var$10 = $rt_compare($var9, 2);
        if (!var$10)
            $var11 = 180;
        if ($var9 == 3)
            $var11 = 0;
        if ($var9 == 4)
            $var11 = 90;
        var$11 = $rt_compare($var9, 5);
        if (!var$11)
            $var11 = (-90);
        if (!var$10 && $par1TileEntityChest.$adjacentChestXPos !== null)
            nleg_EaglerAdapterGL30_glTranslatef(1.0, 0.0, 0.0);
        if (!var$11 && $par1TileEntityChest.$adjacentChestZPosition !== null)
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-1.0));
        nleg_EaglerAdapterGL30_glRotatef($var11, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
        $var12 = $par1TileEntityChest.$prevLidAngle + ($par1TileEntityChest.$lidAngle - $par1TileEntityChest.$prevLidAngle) * $par8;
        if ($par1TileEntityChest.$adjacentChestZNeg === null)
            $var13 = $var12;
        else {
            $var13 = $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestZNeg.$lidAngle - $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle) * $par8;
            if ($var13 <= $var12)
                $var13 = $var12;
        }
        if ($par1TileEntityChest.$adjacentChestXNeg === null)
            $var13_0 = $var13;
        else {
            $var13_0 = $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestXNeg.$lidAngle - $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle) * $par8;
            if ($var13_0 <= $var13)
                $var13_0 = $var13;
        }
        $par8 = 1.0 - $var13_0;
        $par8 = 1.0 - $par8 * $par8 * $par8;
        $var14.$chestLid.$rotateAngleX =  -($par8 * 3.1415927410125732 / 2.0);
        $java.nms_ModelChest_renderAll($var14);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    case 7:
        nle_TextureLocation_bindTexture($var10);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4 + 1.0, $par6 + 1.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
        $var11 = 0;
        var$10 = $rt_compare($var9, 2);
        if (!var$10)
            $var11 = 180;
        if ($var9 == 3)
            $var11 = 0;
        if ($var9 == 4)
            $var11 = 90;
        var$11 = $rt_compare($var9, 5);
        if (!var$11)
            $var11 = (-90);
        if (!var$10 && $par1TileEntityChest.$adjacentChestXPos !== null)
            nleg_EaglerAdapterGL30_glTranslatef(1.0, 0.0, 0.0);
        if (!var$11 && $par1TileEntityChest.$adjacentChestZPosition !== null)
            nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.0, (-1.0));
        nleg_EaglerAdapterGL30_glRotatef($var11, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
        $var12 = $par1TileEntityChest.$prevLidAngle + ($par1TileEntityChest.$lidAngle - $par1TileEntityChest.$prevLidAngle) * $par8;
        if ($par1TileEntityChest.$adjacentChestZNeg === null)
            $var13 = $var12;
        else {
            $var13 = $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestZNeg.$lidAngle - $par1TileEntityChest.$adjacentChestZNeg.$prevLidAngle) * $par8;
            if ($var13 <= $var12)
                $var13 = $var12;
        }
        if ($par1TileEntityChest.$adjacentChestXNeg === null)
            $var13_0 = $var13;
        else {
            $var13_0 = $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle + ($par1TileEntityChest.$adjacentChestXNeg.$lidAngle - $par1TileEntityChest.$adjacentChestXNeg.$prevLidAngle) * $par8;
            if ($var13_0 <= $var13)
                $var13_0 = $var13;
        }
        $par8 = 1.0 - $var13_0;
        $par8 = 1.0 - $par8 * $par8 * $par8;
        $var14.$chestLid.$rotateAngleX =  -($par8 * 3.1415927410125732 / 2.0);
        $java.nms_ModelChest_renderAll($var14);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntityChest, $par2, $par4, $par6, $par8, $var10, $var9, $var14, $var11, var$10, var$11, $var12, $var13, $var13_0, $ptr);
};
$java.nms_TileEntityChestRenderer_renderTileEntityAt = function($this, $par1TileEntity, $par2, $par4, $par6, $par8) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1TileEntity = $par1TileEntity;
        $ptr = 1;
    case 1:
        $java.nms_TileEntityChestRenderer_renderTileEntityChestAt($this, $par1TileEntity, $par2, $par4, $par6, $par8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntity, $par2, $par4, $par6, $par8, $ptr);
};
function nms_TileEntityChestRenderer__clinit_() {
    $java.nms_TileEntityChestRenderer_tex_trap_small = nle_TextureLocation__init_($rt_s(2959));
    $java.nms_TileEntityChestRenderer_tex_xmaschest = nle_TextureLocation__init_($rt_s(2960));
    $java.nms_TileEntityChestRenderer_tex_chest = nle_TextureLocation__init_($rt_s(2961));
    $java.nms_TileEntityChestRenderer_tex_trap_large = nle_TextureLocation__init_($rt_s(2962));
    $java.nms_TileEntityChestRenderer_tex_largexmaschest = nle_TextureLocation__init_($rt_s(2963));
    $java.nms_TileEntityChestRenderer_tex_largechest = nle_TextureLocation__init_($rt_s(2964));
}
function nms_TileEntityEnderChestRenderer() {
    nms_TileEntitySpecialRenderer.call(this);
    this.$theEnderChestModel = null;
}
$java.nms_TileEntityEnderChestRenderer_tex_enderchest = null;
$java.nms_TileEntityEnderChestRenderer__init_ = function() {
    var var_0 = new nms_TileEntityEnderChestRenderer();
    nms_TileEntityEnderChestRenderer__init_(var_0);
    return var_0;
};
function nms_TileEntityEnderChestRenderer__init_($this) {
    $this.$theEnderChestModel = $java.nms_ModelChest__init_();
}
$java.nms_TileEntityEnderChestRenderer_renderEnderChest = function($this, $par1TileEntityEnderChest, $par2, $par4, $par6, $par8) {
    var $var9, var$7, $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();var$7 = $thread.pop();$var9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntityEnderChest = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var9 = 0;
        if (nms_TileEntity_func_70309_m($par1TileEntityEnderChest))
            $var9 = $java.nms_TileEntity_getBlockMetadata($par1TileEntityEnderChest);
        var$7 = $java.nms_TileEntityEnderChestRenderer_tex_enderchest;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$7);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glTranslatef($par2, $par4 + 1.0, $par6 + 1.0);
        nleg_EaglerAdapterGL30_glScalef(1.0, (-1.0), (-1.0));
        nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.5);
        $var10 = 0;
        if ($var9 == 2)
            $var10 = 180;
        if ($var9 == 3)
            $var10 = 0;
        if ($var9 == 4)
            $var10 = 90;
        if ($var9 == 5)
            $var10 = (-90);
        nleg_EaglerAdapterGL30_glRotatef($var10, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), (-0.5));
        $par8 = 1.0 - ($par1TileEntityEnderChest.$prevLidAngle0 + ($par1TileEntityEnderChest.$lidAngle0 - $par1TileEntityEnderChest.$prevLidAngle0) * $par8);
        $par8 = 1.0 - $par8 * $par8 * $par8;
        $this.$theEnderChestModel.$chestLid.$rotateAngleX =  -($par8 * 3.1415927410125732 / 2.0);
        $java.nms_ModelChest_renderAll($this.$theEnderChestModel);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntityEnderChest, $par2, $par4, $par6, $par8, $var9, var$7, $var10, $ptr);
};
$java.nms_TileEntityEnderChestRenderer_renderTileEntityAt = function($this, $par1TileEntity, $par2, $par4, $par6, $par8) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1TileEntity = $par1TileEntity;
        $ptr = 1;
    case 1:
        $java.nms_TileEntityEnderChestRenderer_renderEnderChest($this, $par1TileEntity, $par2, $par4, $par6, $par8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntity, $par2, $par4, $par6, $par8, $ptr);
};
function nms_TileEntityEnderChestRenderer__clinit_() {
    $java.nms_TileEntityEnderChestRenderer_tex_enderchest = nle_TextureLocation__init_($rt_s(2965));
}
function nms_RenderEnchantmentTable() {
    nms_TileEntitySpecialRenderer.call(this);
    this.$enchantmentBook = null;
}
$java.nms_RenderEnchantmentTable_tex_book = null;
$java.nms_RenderEnchantmentTable__init_ = function() {
    var var_0 = new nms_RenderEnchantmentTable();
    nms_RenderEnchantmentTable__init_(var_0);
    return var_0;
};
function nms_RenderEnchantmentTable__init_($this) {
    $this.$enchantmentBook = $java.nms_ModelBook__init_();
}
$java.nms_RenderEnchantmentTable_renderTileEntityEnchantmentTableAt = function($this, $par1TileEntityEnchantmentTable, $par2, $par4, $par6, $par8) {
    var $var9, $var10, var$8, $var12, $var13, $var11, $var14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var14 = $thread.pop();$var11 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();var$8 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntityEnchantmentTable = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($par2 + 0.5, $par4 + 0.75, $par6 + 0.5);
        $var9 = $par1TileEntityEnchantmentTable.$tickCount + $par8;
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.10000000149011612 + nms_MathHelper_sin($var9 * 0.10000000149011612) * 0.009999999776482582, 0.0);
        $var10 = $par1TileEntityEnchantmentTable.$bookRotation2 - $par1TileEntityEnchantmentTable.$bookRotationPrev;
        while ($var10 >= 3.1415927410125732) {
            $var10 = $var10 - 6.2831854820251465;
        }
        while ($var10 < (-3.1415927410125732)) {
            $var10 = $var10 + 6.2831854820251465;
        }
        nleg_EaglerAdapterGL30_glRotatef( -($par1TileEntityEnchantmentTable.$bookRotationPrev + $var10 * $par8) * 180.0 / 3.1415927410125732, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(80.0, 0.0, 0.0, 1.0);
        var$8 = $java.nms_RenderEnchantmentTable_tex_book;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$8);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $par1TileEntityEnchantmentTable.$pageFlipPrev + ($par1TileEntityEnchantmentTable.$pageFlip - $par1TileEntityEnchantmentTable.$pageFlipPrev) * $par8 + 0.25;
        $var13 = $par1TileEntityEnchantmentTable.$pageFlipPrev + ($par1TileEntityEnchantmentTable.$pageFlip - $par1TileEntityEnchantmentTable.$pageFlipPrev) * $par8 + 0.75;
        $var10 = ($var12 - nms_MathHelper_truncateDoubleToInt($var12)) * 1.600000023841858 - 0.30000001192092896;
        $var11 = ($var13 - nms_MathHelper_truncateDoubleToInt($var13)) * 1.600000023841858 - 0.30000001192092896;
        if ($var10 < 0.0)
            $var10 = 0.0;
        if ($var11 < 0.0)
            $var11 = 0.0;
        if ($var10 > 1.0)
            $var10 = 1.0;
        if ($var11 > 1.0)
            $var11 = 1.0;
        $var14 = $par1TileEntityEnchantmentTable.$bookSpreadPrev + ($par1TileEntityEnchantmentTable.$bookSpread - $par1TileEntityEnchantmentTable.$bookSpreadPrev) * $par8;
        nleg_EaglerAdapterGL30_glEnable(2884);
        $java.nms_ModelBook_render($this.$enchantmentBook, null, $var9, $var10, $var11, $var14, 0.0, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntityEnchantmentTable, $par2, $par4, $par6, $par8, $var9, $var10, var$8, $var12, $var13, $var11, $var14, $ptr);
};
$java.nms_RenderEnchantmentTable_renderTileEntityAt = function($this, $par1TileEntity, $par2, $par4, $par6, $par8) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1TileEntity = $par1TileEntity;
        $ptr = 1;
    case 1:
        $java.nms_RenderEnchantmentTable_renderTileEntityEnchantmentTableAt($this, $par1TileEntity, $par2, $par4, $par6, $par8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntity, $par2, $par4, $par6, $par8, $ptr);
};
function nms_RenderEnchantmentTable__clinit_() {
    $java.nms_RenderEnchantmentTable_tex_book = nle_TextureLocation__init_($rt_s(2966));
}
function nms_RenderEndPortal() {
    nms_TileEntitySpecialRenderer.call(this);
    this.$field_76908_a = null;
}
$java.nms_RenderEndPortal_tex_tunnel = null;
$java.nms_RenderEndPortal_tex_particlefield = null;
$java.nms_RenderEndPortal__init_ = function() {
    var var_0 = new nms_RenderEndPortal();
    nms_RenderEndPortal__init_(var_0);
    return var_0;
};
function nms_RenderEndPortal__init_($this) {
    $this.$field_76908_a = nms_GLAllocation_createDirectFloatBuffer(16);
}
$java.nms_RenderEndPortal_renderEndPortalTileEntity = function($this, $par1TileEntityEndPortal, $par2, $par4, $par6, $par8) {
    var $var9, $var10, $var11, $var12, $var14, var$11, $var18, var$13, var$14, $var15, $var17, $var16, $var24, $var22, $var23, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var24 = $thread.pop();$var16 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();$var18 = $thread.pop();var$11 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntityEndPortal = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var9 = $this.$tileEntityRenderer.$playerX;
        $var10 = $this.$tileEntityRenderer.$playerY;
        $var11 = $this.$tileEntityRenderer.$playerZ;
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDisable(3008);
        $var12 = nle_EaglercraftRandom__init_1(Long_fromInt(31100));
        $var14 = 0;
        var$11 = $par4 + 0.75;
        $var18 =  -var$11;
        var$13 = var$11;
        $var10 =  -$var10;
        var$14 = $par6 + 1.0;
        $par4 = $par2 + 1.0;
        while ($var14 < 16) {
            nleg_EaglerAdapterGL30_glPushMatrix();
            $var15 = 16 - $var14 | 0;
            $var17 = 1.0 / ($var15 + 1.0);
            if (!$var14) {
                $par1TileEntityEndPortal = $java.nms_RenderEndPortal_tex_tunnel;
                $ptr = 1;
                continue main;
            }
            if ($var14 == 1) {
                $par1TileEntityEndPortal = $java.nms_RenderEndPortal_tex_particlefield;
                $ptr = 2;
                continue main;
            }
            $var16 = 0.0625 * 3.0;
            nleg_EaglerAdapterGL30_glTranslatef($var9, ($var18 + $java.nms_ActiveRenderInfo_objectY) / ($var18 + $var15 + $java.nms_ActiveRenderInfo_objectY) + var$13, $var11);
            nleg_EaglerAdapterGL30_glTexGen(8192, 9473, $java.nms_RenderEndPortal_func_76907_a($this, 1.0, 0.0, 0.0, 0.0));
            nleg_EaglerAdapterGL30_glTexGen(8193, 9473, $java.nms_RenderEndPortal_func_76907_a($this, 0.0, 0.0, 1.0, 0.0));
            nleg_EaglerAdapterGL30_glTexGen(8194, 9473, $java.nms_RenderEndPortal_func_76907_a($this, 0.0, 0.0, 0.0, 1.0));
            nleg_EaglerAdapterGL30_glTexGen(8195, 9474, $java.nms_RenderEndPortal_func_76907_a($this, 0.0, 1.0, 0.0, 0.0));
            nleg_EaglerAdapterGL30_glEnable(3168);
            nleg_EaglerAdapterGL30_glEnable(3169);
            nleg_EaglerAdapterGL30_glEnable(3170);
            nleg_EaglerAdapterGL30_glEnable(3171);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glMatrixMode(5890);
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glTranslatef(0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(400000))) / 400000.0, 0.0);
            nleg_EaglerAdapterGL30_glScalef($var16, $var16, $var16);
            nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.0);
            nleg_EaglerAdapterGL30_glRotatef((($rt_imul($var14, $var14) * 4321 | 0) + ($var14 * 9 | 0) | 0) * 2.0, 0.0, 0.0, 1.0);
            nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), 0.0);
            $par8 = $var18 + $java.nms_ActiveRenderInfo_objectY;
            nleg_EaglerAdapterGL30_glTranslatef($java.nms_ActiveRenderInfo_objectX * $var15 / $par8, $java.nms_ActiveRenderInfo_objectZ * $var15 / $par8, $var10);
            nlea_Tessellator_$callClinit();
            $var24 = nlea_Tessellator_instance;
            nlea_Tessellator_startDrawingQuads($var24);
            $par8 = nle_EaglercraftRandom_nextFloat($var12) * 0.5 + 0.10000000149011612;
            $var22 = nle_EaglercraftRandom_nextFloat($var12) * 0.5 + 0.4000000059604645;
            $var23 = nle_EaglercraftRandom_nextFloat($var12) * 0.5 + 0.5;
            if (!$var14) {
                $var23 = 1.0;
                $var22 = 1.0;
                $par8 = 1.0;
            }
            nlea_Tessellator_setColorRGBA_F($var24, $par8 * $var17, $var22 * $var17, $var23 * $var17, 1.0);
            nlea_Tessellator_addVertex($var24, $par2, var$11, $par6);
            nlea_Tessellator_addVertex($var24, $par2, var$11, var$14);
            nlea_Tessellator_addVertex($var24, $par4, var$11, var$14);
            nlea_Tessellator_addVertex($var24, $par4, var$11, $par6);
            nlea_Tessellator_draw($var24);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $var14 = $var14 + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glDisable(3168);
        nleg_EaglerAdapterGL30_glDisable(3169);
        nleg_EaglerAdapterGL30_glDisable(3170);
        nleg_EaglerAdapterGL30_glDisable(3171);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(3008);
        return;
    case 1:
        nle_TextureLocation_bindTexture($par1TileEntityEndPortal);
        if ($rt_suspending()) {
            break main;
        }
        $var17 = 0.10000000149011612;
        $var15 = 65.0;
        $var16 = 0.125;
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        while (true) {
            if ($var14 == 1) {
                $par1TileEntityEndPortal = $java.nms_RenderEndPortal_tex_particlefield;
                $ptr = 2;
                continue main;
            }
            $var16 = $var16 * 3.0;
            nleg_EaglerAdapterGL30_glTranslatef($var9, ($var18 + $java.nms_ActiveRenderInfo_objectY) / ($var18 + $var15 + $java.nms_ActiveRenderInfo_objectY) + var$13, $var11);
            nleg_EaglerAdapterGL30_glTexGen(8192, 9473, $java.nms_RenderEndPortal_func_76907_a($this, 1.0, 0.0, 0.0, 0.0));
            nleg_EaglerAdapterGL30_glTexGen(8193, 9473, $java.nms_RenderEndPortal_func_76907_a($this, 0.0, 0.0, 1.0, 0.0));
            nleg_EaglerAdapterGL30_glTexGen(8194, 9473, $java.nms_RenderEndPortal_func_76907_a($this, 0.0, 0.0, 0.0, 1.0));
            nleg_EaglerAdapterGL30_glTexGen(8195, 9474, $java.nms_RenderEndPortal_func_76907_a($this, 0.0, 1.0, 0.0, 0.0));
            nleg_EaglerAdapterGL30_glEnable(3168);
            nleg_EaglerAdapterGL30_glEnable(3169);
            nleg_EaglerAdapterGL30_glEnable(3170);
            nleg_EaglerAdapterGL30_glEnable(3171);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glMatrixMode(5890);
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glTranslatef(0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(400000))) / 400000.0, 0.0);
            nleg_EaglerAdapterGL30_glScalef($var16, $var16, $var16);
            nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.0);
            nleg_EaglerAdapterGL30_glRotatef((($rt_imul($var14, $var14) * 4321 | 0) + ($var14 * 9 | 0) | 0) * 2.0, 0.0, 0.0, 1.0);
            nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), 0.0);
            $par8 = $var18 + $java.nms_ActiveRenderInfo_objectY;
            nleg_EaglerAdapterGL30_glTranslatef($java.nms_ActiveRenderInfo_objectX * $var15 / $par8, $java.nms_ActiveRenderInfo_objectZ * $var15 / $par8, $var10);
            nlea_Tessellator_$callClinit();
            $var24 = nlea_Tessellator_instance;
            nlea_Tessellator_startDrawingQuads($var24);
            $par8 = nle_EaglercraftRandom_nextFloat($var12) * 0.5 + 0.10000000149011612;
            $var22 = nle_EaglercraftRandom_nextFloat($var12) * 0.5 + 0.4000000059604645;
            $var23 = nle_EaglercraftRandom_nextFloat($var12) * 0.5 + 0.5;
            if (!$var14) {
                $var23 = 1.0;
                $var22 = 1.0;
                $par8 = 1.0;
            }
            nlea_Tessellator_setColorRGBA_F($var24, $par8 * $var17, $var22 * $var17, $var23 * $var17, 1.0);
            nlea_Tessellator_addVertex($var24, $par2, var$11, $par6);
            nlea_Tessellator_addVertex($var24, $par2, var$11, var$14);
            nlea_Tessellator_addVertex($var24, $par4, var$11, var$14);
            nlea_Tessellator_addVertex($var24, $par4, var$11, $par6);
            nlea_Tessellator_draw($var24);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $var14 = $var14 + 1 | 0;
            if ($var14 >= 16)
                break;
            nleg_EaglerAdapterGL30_glPushMatrix();
            $var15 = 16 - $var14 | 0;
            $var16 = 0.0625;
            $var17 = 1.0 / ($var15 + 1.0);
            if (!$var14) {
                $par1TileEntityEndPortal = $java.nms_RenderEndPortal_tex_tunnel;
                continue main;
            }
        }
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glDisable(3168);
        nleg_EaglerAdapterGL30_glDisable(3169);
        nleg_EaglerAdapterGL30_glDisable(3170);
        nleg_EaglerAdapterGL30_glDisable(3171);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(3008);
        return;
    case 2:
        nle_TextureLocation_bindTexture($par1TileEntityEndPortal);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(1, 1);
        $var16 = 0.5;
        while (true) {
            $var16 = $var16 * 3.0;
            nleg_EaglerAdapterGL30_glTranslatef($var9, ($var18 + $java.nms_ActiveRenderInfo_objectY) / ($var18 + $var15 + $java.nms_ActiveRenderInfo_objectY) + var$13, $var11);
            nleg_EaglerAdapterGL30_glTexGen(8192, 9473, $java.nms_RenderEndPortal_func_76907_a($this, 1.0, 0.0, 0.0, 0.0));
            nleg_EaglerAdapterGL30_glTexGen(8193, 9473, $java.nms_RenderEndPortal_func_76907_a($this, 0.0, 0.0, 1.0, 0.0));
            nleg_EaglerAdapterGL30_glTexGen(8194, 9473, $java.nms_RenderEndPortal_func_76907_a($this, 0.0, 0.0, 0.0, 1.0));
            nleg_EaglerAdapterGL30_glTexGen(8195, 9474, $java.nms_RenderEndPortal_func_76907_a($this, 0.0, 1.0, 0.0, 0.0));
            nleg_EaglerAdapterGL30_glEnable(3168);
            nleg_EaglerAdapterGL30_glEnable(3169);
            nleg_EaglerAdapterGL30_glEnable(3170);
            nleg_EaglerAdapterGL30_glEnable(3171);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glMatrixMode(5890);
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glLoadIdentity();
            nleg_EaglerAdapterGL30_glTranslatef(0.0, Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(400000))) / 400000.0, 0.0);
            nleg_EaglerAdapterGL30_glScalef($var16, $var16, $var16);
            nleg_EaglerAdapterGL30_glTranslatef(0.5, 0.5, 0.0);
            nleg_EaglerAdapterGL30_glRotatef((($rt_imul($var14, $var14) * 4321 | 0) + ($var14 * 9 | 0) | 0) * 2.0, 0.0, 0.0, 1.0);
            nleg_EaglerAdapterGL30_glTranslatef((-0.5), (-0.5), 0.0);
            $par8 = $var18 + $java.nms_ActiveRenderInfo_objectY;
            nleg_EaglerAdapterGL30_glTranslatef($java.nms_ActiveRenderInfo_objectX * $var15 / $par8, $java.nms_ActiveRenderInfo_objectZ * $var15 / $par8, $var10);
            nlea_Tessellator_$callClinit();
            $var24 = nlea_Tessellator_instance;
            nlea_Tessellator_startDrawingQuads($var24);
            $par8 = nle_EaglercraftRandom_nextFloat($var12) * 0.5 + 0.10000000149011612;
            $var22 = nle_EaglercraftRandom_nextFloat($var12) * 0.5 + 0.4000000059604645;
            $var23 = nle_EaglercraftRandom_nextFloat($var12) * 0.5 + 0.5;
            if (!$var14) {
                $var23 = 1.0;
                $var22 = 1.0;
                $par8 = 1.0;
            }
            nlea_Tessellator_setColorRGBA_F($var24, $par8 * $var17, $var22 * $var17, $var23 * $var17, 1.0);
            nlea_Tessellator_addVertex($var24, $par2, var$11, $par6);
            nlea_Tessellator_addVertex($var24, $par2, var$11, var$14);
            nlea_Tessellator_addVertex($var24, $par4, var$11, var$14);
            nlea_Tessellator_addVertex($var24, $par4, var$11, $par6);
            nlea_Tessellator_draw($var24);
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glMatrixMode(5888);
            $var14 = $var14 + 1 | 0;
            if ($var14 >= 16)
                break;
            nleg_EaglerAdapterGL30_glPushMatrix();
            $var15 = 16 - $var14 | 0;
            $var16 = 0.0625;
            $var17 = 1.0 / ($var15 + 1.0);
            if (!$var14) {
                $par1TileEntityEndPortal = $java.nms_RenderEndPortal_tex_tunnel;
                $ptr = 1;
                continue main;
            }
            if ($var14 == 1) {
                $par1TileEntityEndPortal = $java.nms_RenderEndPortal_tex_particlefield;
                continue main;
            }
        }
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glDisable(3168);
        nleg_EaglerAdapterGL30_glDisable(3169);
        nleg_EaglerAdapterGL30_glDisable(3170);
        nleg_EaglerAdapterGL30_glDisable(3171);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(3008);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntityEndPortal, $par2, $par4, $par6, $par8, $var9, $var10, $var11, $var12, $var14, var$11, $var18, var$13, var$14, $var15, $var17, $var16, $var24, $var22, $var23, $ptr);
};
$java.nms_RenderEndPortal_func_76907_a = function($this, $par1, $par2, $par3, $par4) {
    jn_Buffer_clear($this.$field_76908_a);
    jn_FloatBufferImpl_put(jn_FloatBufferImpl_put(jn_FloatBufferImpl_put(jn_FloatBufferImpl_put($this.$field_76908_a, $par1), $par2), $par3), $par4);
    jn_Buffer_flip($this.$field_76908_a);
    return $this.$field_76908_a;
};
$java.nms_RenderEndPortal_renderTileEntityAt = function($this, $par1TileEntity, $par2, $par4, $par6, $par8) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1TileEntity = $par1TileEntity;
        $ptr = 1;
    case 1:
        $java.nms_RenderEndPortal_renderEndPortalTileEntity($this, $par1TileEntity, $par2, $par4, $par6, $par8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntity, $par2, $par4, $par6, $par8, $ptr);
};
function nms_RenderEndPortal__clinit_() {
    $java.nms_RenderEndPortal_tex_tunnel = nle_TextureLocation__init_($rt_s(1203));
    $java.nms_RenderEndPortal_tex_particlefield = nle_TextureLocation__init_($rt_s(2967));
}
function nms_TileEntityBeaconRenderer() {
    nms_TileEntitySpecialRenderer.call(this);
}
$java.nms_TileEntityBeaconRenderer_tex_beam = null;
$java.nms_TileEntityBeaconRenderer__init_ = function() {
    var var_0 = new nms_TileEntityBeaconRenderer();
    nms_TileEntityBeaconRenderer__init_(var_0);
    return var_0;
};
function nms_TileEntityBeaconRenderer__init_($this) {
    return;
}
$java.nms_TileEntityBeaconRenderer_renderTileEntityBeaconAt = function($this, $par1TileEntityBeacon, $par2, $par4, $par6, $par8) {
    var $var9, $var10, $var11, $var12, $var14, $var22, $var18, $var20, $var24, $var30, $var26, $var28, $var32, $var34, $var40, $var42, $var16, $var37, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var37 = $thread.pop();$var16 = $thread.pop();$var42 = $thread.pop();$var40 = $thread.pop();$var34 = $thread.pop();$var32 = $thread.pop();$var28 = $thread.pop();$var26 = $thread.pop();$var30 = $thread.pop();$var24 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var22 = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2
        = $thread.pop();$par1TileEntityBeacon = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var9 = $java.nms_TileEntityBeacon_func_82125_v_($par1TileEntityBeacon);
        if ($var9 <= 0.0)
            return;
        nlea_Tessellator_$callClinit();
        $var10 = nlea_Tessellator_instance;
        $par1TileEntityBeacon = $java.nms_TileEntityBeaconRenderer_tex_beam;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1TileEntityBeacon);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10242, 10497);
        nleg_EaglerAdapterGL30_glTexParameteri(3553, 10243, 10497);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDisable(2884);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 1);
        $var11 = Long_toNumber(Long_rem(jl_System_currentTimeMillis(), Long_fromInt(200000))) / 50.0;
        $par8 =  -$var11;
        $var12 = $par8 * 0.20000000298023224 - nms_MathHelper_floor_float($par8 * 0.10000000149011612);
        $var14 = $var11 * 0.025 * (-1.5);
        nlea_Tessellator_startDrawingQuads($var10);
        nlea_Tessellator_setColorRGBA($var10, 255, 255, 255, 32);
        $var22 = $var14 + 2.356194490192345;
        $var18 = 0.5 + jl_Math_cos($var22) * 0.2;
        $var20 = 0.5 + jl_Math_sin($var22) * 0.2;
        $var24 = $var14 + 0.7853981633974483;
        $var22 = 0.5 + jl_Math_cos($var24) * 0.2;
        $var24 = 0.5 + jl_Math_sin($var24) * 0.2;
        $var30 = $var14 + 3.9269908169872414;
        $var26 = 0.5 + jl_Math_cos($var30) * 0.2;
        $var28 = 0.5 + jl_Math_sin($var30) * 0.2;
        $var32 = $var14 + 5.497787143782138;
        $var30 = 0.5 + jl_Math_cos($var32) * 0.2;
        $var32 = 0.5 + jl_Math_sin($var32) * 0.2;
        $var34 = 256.0 * $var9;
        $var40 = (-1.0) + $var12;
        $var42 = $var34 * 2.5 + $var40;
        $var14 = $par2 + $var18;
        $var16 = $par4 + $var34;
        $var18 = $par6 + $var20;
        nlea_Tessellator_addVertexWithUV($var10, $var14, $var16, $var18, 1.0, $var42);
        nlea_Tessellator_addVertexWithUV($var10, $var14, $par4, $var18, 1.0, $var40);
        $var20 = $par2 + $var22;
        $var22 = $par6 + $var24;
        nlea_Tessellator_addVertexWithUV($var10, $var20, $par4, $var22, 0.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $var20, $var16, $var22, 0.0, $var42);
        $var24 = $par2 + $var30;
        $var30 = $par6 + $var32;
        nlea_Tessellator_addVertexWithUV($var10, $var24, $var16, $var30, 1.0, $var42);
        nlea_Tessellator_addVertexWithUV($var10, $var24, $par4, $var30, 1.0, $var40);
        $var26 = $par2 + $var26;
        $var28 = $par6 + $var28;
        nlea_Tessellator_addVertexWithUV($var10, $var26, $par4, $var28, 0.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $var26, $var16, $var28, 0.0, $var42);
        nlea_Tessellator_addVertexWithUV($var10, $var20, $var16, $var22, 1.0, $var42);
        nlea_Tessellator_addVertexWithUV($var10, $var20, $par4, $var22, 1.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $var24, $par4, $var30, 0.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $var24, $var16, $var30, 0.0, $var42);
        nlea_Tessellator_addVertexWithUV($var10, $var26, $var16, $var28, 1.0, $var42);
        nlea_Tessellator_addVertexWithUV($var10, $var26, $par4, $var28, 1.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $var14, $par4, $var18, 0.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $var14, $var16, $var18, 0.0, $var42);
        nlea_Tessellator_draw($var10);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glDepthMask(0);
        nlea_Tessellator_startDrawingQuads($var10);
        nlea_Tessellator_setColorRGBA($var10, 255, 255, 255, 32);
        $var37 = $var34 + $var40;
        $var14 = $par2 + 0.2;
        $var18 = $par6 + 0.2;
        nlea_Tessellator_addVertexWithUV($var10, $var14, $var16, $var18, 1.0, $var37);
        nlea_Tessellator_addVertexWithUV($var10, $var14, $par4, $var18, 1.0, $var40);
        $par2 = $par2 + 0.8;
        nlea_Tessellator_addVertexWithUV($var10, $par2, $par4, $var18, 0.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $par2, $var16, $var18, 0.0, $var37);
        $par6 = $par6 + 0.8;
        nlea_Tessellator_addVertexWithUV($var10, $par2, $var16, $par6, 1.0, $var37);
        nlea_Tessellator_addVertexWithUV($var10, $par2, $par4, $par6, 1.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $var14, $par4, $par6, 0.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $var14, $var16, $par6, 0.0, $var37);
        nlea_Tessellator_addVertexWithUV($var10, $par2, $var16, $var18, 1.0, $var37);
        nlea_Tessellator_addVertexWithUV($var10, $par2, $par4, $var18, 1.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $par2, $par4, $par6, 0.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $par2, $var16, $par6, 0.0, $var37);
        nlea_Tessellator_addVertexWithUV($var10, $var14, $var16, $par6, 1.0, $var37);
        nlea_Tessellator_addVertexWithUV($var10, $var14, $par4, $par6, 1.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $var14, $par4, $var18, 0.0, $var40);
        nlea_Tessellator_addVertexWithUV($var10, $var14, $var16, $var18, 0.0, $var37);
        nlea_Tessellator_draw($var10);
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glDepthMask(1);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntityBeacon, $par2, $par4, $par6, $par8, $var9, $var10, $var11, $var12, $var14, $var22, $var18, $var20, $var24, $var30, $var26, $var28, $var32, $var34, $var40, $var42, $var16, $var37, $ptr);
};
$java.nms_TileEntityBeaconRenderer_renderTileEntityAt = function($this, $par1TileEntity, $par2, $par4, $par6, $par8) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1TileEntity = $par1TileEntity;
        $ptr = 1;
    case 1:
        $java.nms_TileEntityBeaconRenderer_renderTileEntityBeaconAt($this, $par1TileEntity, $par2, $par4, $par6, $par8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntity, $par2, $par4, $par6, $par8, $ptr);
};
function nms_TileEntityBeaconRenderer__clinit_() {
    $java.nms_TileEntityBeaconRenderer_tex_beam = nle_TextureLocation__init_($rt_s(2968));
}
function nms_TileEntitySkullRenderer() {
    var a = this; nms_TileEntitySpecialRenderer.call(a);
    a.$field_82396_c = null;
    a.$field_82395_d = null;
}
var nms_TileEntitySkullRenderer_skullRenderer = null;
$java.nms_TileEntitySkullRenderer_tex_skeleton = null;
$java.nms_TileEntitySkullRenderer_tex_skeleton_wither = null;
$java.nms_TileEntitySkullRenderer_tex_zombie = null;
$java.nms_TileEntitySkullRenderer_tex_character = null;
$java.nms_TileEntitySkullRenderer_tex_creeper = null;
$java.nms_TileEntitySkullRenderer__init_ = function() {
    var var_0 = new nms_TileEntitySkullRenderer();
    nms_TileEntitySkullRenderer__init_(var_0);
    return var_0;
};
function nms_TileEntitySkullRenderer__init_($this) {
    $this.$field_82396_c = $java.nms_ModelSkeletonHead__init_(0, 0, 64, 32);
    $this.$field_82395_d = $java.nms_ModelSkeletonHead__init_(0, 0, 64, 64);
}
$java.nms_TileEntitySkullRenderer_renderTileEntitySkullAt = function($this, $par1TileEntitySkull, $par2, $par4, $par6, $par8) {
    var var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntitySkull = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par8 = $par2;
        var$6 = $par4;
        var$7 = $par6;
        var$8 = $java.nms_TileEntity_getBlockMetadata($par1TileEntitySkull) & 7;
        var$9 = ($par1TileEntitySkull.$skullRotation * 360 | 0) / 16.0;
        var$10 = $par1TileEntitySkull.$skullType;
        $par1TileEntitySkull = $par1TileEntitySkull.$extraType;
        $ptr = 1;
    case 1:
        nms_TileEntitySkullRenderer_func_82393_a($this, $par8, var$6, var$7, var$8, var$9, var$10, $par1TileEntitySkull);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntitySkull, $par2, $par4, $par6, $par8, var$6, var$7, var$8, var$9, var$10, $ptr);
};
$java.nms_TileEntitySkullRenderer_setTileEntityRenderer = function($this, $par1TileEntityRenderer) {
    $this.$tileEntityRenderer = $par1TileEntityRenderer;
    nms_TileEntitySkullRenderer_skullRenderer = $this;
};
function nms_TileEntitySkullRenderer_func_82393_a($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Str) {
    var $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$par7Str = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var8 = $this.$field_82396_c;
        switch ($par6) {
            case 0:
                break;
            case 1:
                $par7Str = $java.nms_TileEntitySkullRenderer_tex_skeleton_wither;
                $ptr = 2;
                continue main;
            case 2:
                $par7Str = $java.nms_TileEntitySkullRenderer_tex_zombie;
                $ptr = 3;
                continue main;
            case 3:
                $par7Str = $java.nms_TileEntitySkullRenderer_tex_character;
                $ptr = 4;
                continue main;
            case 4:
                $par7Str = $java.nms_TileEntitySkullRenderer_tex_creeper;
                $ptr = 5;
                continue main;
            default:
        }
        $par7Str = $java.nms_TileEntitySkullRenderer_tex_skeleton;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par7Str);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glDisable(2884);
            if ($par4 == 1)
                nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2, $par3 + 0.5);
            else {
                b: {
                    switch ($par4) {
                        case 2:
                            break;
                        case 3:
                            nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2 + 0.25, $par3 + 0.25999999046325684);
                            $par5 = 180.0;
                            break a;
                        case 4:
                            nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.7400000095367432, $par2 + 0.25, $par3 + 0.5);
                            $par5 = 270.0;
                            break a;
                        case 5:
                            break b;
                        default:
                            break b;
                    }
                    nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2 + 0.25, $par3 + 0.7400000095367432);
                    break a;
                }
                nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.25999999046325684, $par2 + 0.25, $par3 + 0.5);
                $par5 = 90.0;
            }
        }
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glScalef((-1.0), (-1.0), 1.0);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nms_ModelSkeletonHead_render($var8, null, 0.0, 0.0, 0.0, $par5, 0.0, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 2:
        nle_TextureLocation_bindTexture($par7Str);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glDisable(2884);
            if ($par4 == 1)
                nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2, $par3 + 0.5);
            else {
                b: {
                    switch ($par4) {
                        case 2:
                            break;
                        case 3:
                            nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2 + 0.25, $par3 + 0.25999999046325684);
                            $par5 = 180.0;
                            break a;
                        case 4:
                            nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.7400000095367432, $par2 + 0.25, $par3 + 0.5);
                            $par5 = 270.0;
                            break a;
                        case 5:
                            break b;
                        default:
                            break b;
                    }
                    nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2 + 0.25, $par3 + 0.7400000095367432);
                    break a;
                }
                nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.25999999046325684, $par2 + 0.25, $par3 + 0.5);
                $par5 = 90.0;
            }
        }
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glScalef((-1.0), (-1.0), 1.0);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nms_ModelSkeletonHead_render($var8, null, 0.0, 0.0, 0.0, $par5, 0.0, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 3:
        nle_TextureLocation_bindTexture($par7Str);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $this.$field_82395_d;
        a: {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glDisable(2884);
            if ($par4 == 1)
                nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2, $par3 + 0.5);
            else {
                b: {
                    switch ($par4) {
                        case 2:
                            break;
                        case 3:
                            nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2 + 0.25, $par3 + 0.25999999046325684);
                            $par5 = 180.0;
                            break a;
                        case 4:
                            nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.7400000095367432, $par2 + 0.25, $par3 + 0.5);
                            $par5 = 270.0;
                            break a;
                        case 5:
                            break b;
                        default:
                            break b;
                    }
                    nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2 + 0.25, $par3 + 0.7400000095367432);
                    break a;
                }
                nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.25999999046325684, $par2 + 0.25, $par3 + 0.5);
                $par5 = 90.0;
            }
        }
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glScalef((-1.0), (-1.0), 1.0);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nms_ModelSkeletonHead_render($var8, null, 0.0, 0.0, 0.0, $par5, 0.0, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 4:
        nle_TextureLocation_bindTexture($par7Str);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glDisable(2884);
            if ($par4 == 1)
                nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2, $par3 + 0.5);
            else {
                b: {
                    switch ($par4) {
                        case 2:
                            break;
                        case 3:
                            nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2 + 0.25, $par3 + 0.25999999046325684);
                            $par5 = 180.0;
                            break a;
                        case 4:
                            nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.7400000095367432, $par2 + 0.25, $par3 + 0.5);
                            $par5 = 270.0;
                            break a;
                        case 5:
                            break b;
                        default:
                            break b;
                    }
                    nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2 + 0.25, $par3 + 0.7400000095367432);
                    break a;
                }
                nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.25999999046325684, $par2 + 0.25, $par3 + 0.5);
                $par5 = 90.0;
            }
        }
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glScalef((-1.0), (-1.0), 1.0);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nms_ModelSkeletonHead_render($var8, null, 0.0, 0.0, 0.0, $par5, 0.0, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    case 5:
        nle_TextureLocation_bindTexture($par7Str);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            nleg_EaglerAdapterGL30_glPushMatrix();
            nleg_EaglerAdapterGL30_glDisable(2884);
            if ($par4 == 1)
                nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2, $par3 + 0.5);
            else {
                b: {
                    switch ($par4) {
                        case 2:
                            break;
                        case 3:
                            nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2 + 0.25, $par3 + 0.25999999046325684);
                            $par5 = 180.0;
                            break a;
                        case 4:
                            nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.7400000095367432, $par2 + 0.25, $par3 + 0.5);
                            $par5 = 270.0;
                            break a;
                        case 5:
                            break b;
                        default:
                            break b;
                    }
                    nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.5, $par2 + 0.25, $par3 + 0.7400000095367432);
                    break a;
                }
                nleg_EaglerAdapterGL30_glTranslatef($par1 + 0.25999999046325684, $par2 + 0.25, $par3 + 0.5);
                $par5 = 90.0;
            }
        }
        nleg_EaglerAdapterGL30_glEnable(32826);
        nleg_EaglerAdapterGL30_glScalef((-1.0), (-1.0), 1.0);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nms_ModelSkeletonHead_render($var8, null, 0.0, 0.0, 0.0, $par5, 0.0, 0.0625);
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Str, $var8, $ptr);
}
$java.nms_TileEntitySkullRenderer_renderTileEntityAt = function($this, $par1TileEntity, $par2, $par4, $par6, $par8) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1TileEntity = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par1TileEntity = $par1TileEntity;
        $ptr = 1;
    case 1:
        $java.nms_TileEntitySkullRenderer_renderTileEntitySkullAt($this, $par1TileEntity, $par2, $par4, $par6, $par8);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1TileEntity, $par2, $par4, $par6, $par8, $ptr);
};
function nms_TileEntitySkullRenderer__clinit_() {
    $java.nms_TileEntitySkullRenderer_tex_skeleton = nle_TextureLocation__init_($rt_s(1336));
    $java.nms_TileEntitySkullRenderer_tex_skeleton_wither = nle_TextureLocation__init_($rt_s(1627));
    $java.nms_TileEntitySkullRenderer_tex_zombie = nle_TextureLocation__init_($rt_s(1640));
    $java.nms_TileEntitySkullRenderer_tex_character = nle_TextureLocation__init_($rt_s(1653));
    $java.nms_TileEntitySkullRenderer_tex_creeper = nle_TextureLocation__init_($rt_s(1605));
}
function nms_TileEntityMobSpawnerRenderer() {
    nms_TileEntitySpecialRenderer.call(this);
}
$java.nms_TileEntityMobSpawnerRenderer__init_ = function() {
    var var_0 = new nms_TileEntityMobSpawnerRenderer();
    nms_TileEntityMobSpawnerRenderer__init_(var_0);
    return var_0;
};
function nms_TileEntityMobSpawnerRenderer__init_($this) {
    return;
}
$java.nms_TileEntityMobSpawnerRenderer_renderTileEntityAt = function($this, $var1, $var2, $var4, $var6, $var8) {
    var $spawner, var$7, var$8, $var9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$spawner = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $spawner = $var1;
        if ($spawner.$mobObject === null) {
            $var1 = $spawner.$mobID;
            var$7 = $spawner.$worldObj4;
            var$8 = ju_HashMap_get(nms_EntityList_stringToConstructorMapping, $var1);
            if (var$8 !== null)
                $var1 = var$8.$apply(var$7);
            else {
                var$7 = jl_System_err();
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                jl_AbstractStringBuilder_append(var$8, $rt_s(2969));
                jl_AbstractStringBuilder_append(var$8, $var1);
                jl_AbstractStringBuilder_append(var$8, $rt_s(2970));
                ji_PrintStream_println(var$7, jl_AbstractStringBuilder_toString(var$8));
                $var1 = null;
            }
            $spawner.$mobObject = $var1;
            if ($spawner.$mobObject !== null)
                $spawner.$mobObject.$setWorld($spawner.$worldObj4);
        }
        if ($spawner.$mobObject === null)
            return;
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($var2 + 0.5, $var4 + 0.4000000059604645, $var6 + 0.5);
        nleg_EaglerAdapterGL30_glRotatef(($spawner.$rotateTicks + $var8) * 50.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef((-30.0), 1.0, 0.0, 0.0);
        nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.4000000059604645), 0.0);
        nleg_EaglerAdapterGL30_glScalef(0.4375, 0.4375, 0.4375);
        nms_Entity_setLocationAndAngles($spawner.$mobObject, $var2, $var4, $var6, 0.0, 0.0);
        $var1 = nms_RenderManager_instance;
        var$7 = $spawner.$mobObject;
        $var2 = 0.0;
        $var4 = 0.0;
        $var6 = 0.0;
        $var9 = 0.0;
        $ptr = 1;
    case 1:
        nms_RenderManager_renderEntityWithPosYaw($var1, var$7, $var2, $var4, $var6, $var9, $var8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $spawner, var$7, var$8, $var9, $ptr);
};
function otcit_FloatAnalyzer$Result() {
    var a = this; jl_Object.call(a);
    a.$mantissa = 0;
    a.$exponent = 0;
    a.$sign = 0;
}
$java.otcit_FloatAnalyzer$Result__init_ = function() {
    var var_0 = new otcit_FloatAnalyzer$Result();
    otcit_FloatAnalyzer$Result__init_(var_0);
    return var_0;
};
function otcit_FloatAnalyzer$Result__init_($this) {
    return;
}
function nms_ModelSign() {
    var a = this; nms_ModelBase.call(a);
    a.$signBoard = null;
    a.$signStick = null;
}
$java.nms_ModelSign__init_ = function() {
    var var_0 = new nms_ModelSign();
    nms_ModelSign__init_(var_0);
    return var_0;
};
function nms_ModelSign__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$signBoard = nms_ModelRenderer__init_($this, 0, 0);
    nms_ModelRenderer_addBox($this.$signBoard, (-12.0), (-14.0), (-1.0), 24, 12, 2, 0.0);
    $this.$signStick = nms_ModelRenderer__init_($this, 0, 14);
    nms_ModelRenderer_addBox($this.$signStick, (-1.0), (-2.0), (-1.0), 2, 14, 2, 0.0);
}
$java.nms_ModelSign_renderSign = function($this) {
    nms_ModelRenderer_render($this.$signBoard, 0.0625);
    nms_ModelRenderer_render($this.$signStick, 0.0625);
};
function nms_ModelChest() {
    var a = this; nms_ModelBase.call(a);
    a.$chestLid = null;
    a.$chestBelow = null;
    a.$chestKnob = null;
}
$java.nms_ModelChest__init_ = function() {
    var var_0 = new nms_ModelChest();
    nms_ModelChest__init_(var_0);
    return var_0;
};
function nms_ModelChest__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$chestLid = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 0), 64, 64);
    nms_ModelRenderer_addBox($this.$chestLid, 0.0, (-5.0), (-14.0), 14, 5, 14, 0.0);
    $this.$chestLid.$rotationPointX = 1.0;
    $this.$chestLid.$rotationPointY = 7.0;
    $this.$chestLid.$rotationPointZ = 15.0;
    $this.$chestKnob = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 0), 64, 64);
    nms_ModelRenderer_addBox($this.$chestKnob, (-1.0), (-2.0), (-15.0), 2, 4, 1, 0.0);
    $this.$chestKnob.$rotationPointX = 8.0;
    $this.$chestKnob.$rotationPointY = 7.0;
    $this.$chestKnob.$rotationPointZ = 15.0;
    $this.$chestBelow = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 19), 64, 64);
    nms_ModelRenderer_addBox($this.$chestBelow, 0.0, 0.0, 0.0, 14, 10, 14, 0.0);
    $this.$chestBelow.$rotationPointX = 1.0;
    $this.$chestBelow.$rotationPointY = 6.0;
    $this.$chestBelow.$rotationPointZ = 1.0;
}
$java.nms_ModelChest_renderAll = function($this) {
    $this.$chestKnob.$rotateAngleX = $this.$chestLid.$rotateAngleX;
    nms_ModelRenderer_render($this.$chestLid, 0.0625);
    nms_ModelRenderer_render($this.$chestKnob, 0.0625);
    nms_ModelRenderer_render($this.$chestBelow, 0.0625);
};
function nms_ModelLargeChest() {
    nms_ModelChest.call(this);
}
$java.nms_ModelLargeChest__init_ = function() {
    var var_0 = new nms_ModelLargeChest();
    nms_ModelLargeChest__init_(var_0);
    return var_0;
};
function nms_ModelLargeChest__init_($this) {
    nms_ModelChest__init_($this);
    $this.$chestLid = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 0), 128, 64);
    nms_ModelRenderer_addBox($this.$chestLid, 0.0, (-5.0), (-14.0), 30, 5, 14, 0.0);
    $this.$chestLid.$rotationPointX = 1.0;
    $this.$chestLid.$rotationPointY = 7.0;
    $this.$chestLid.$rotationPointZ = 15.0;
    $this.$chestKnob = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 0), 128, 64);
    nms_ModelRenderer_addBox($this.$chestKnob, (-1.0), (-2.0), (-15.0), 2, 4, 1, 0.0);
    $this.$chestKnob.$rotationPointX = 16.0;
    $this.$chestKnob.$rotationPointY = 7.0;
    $this.$chestKnob.$rotationPointZ = 15.0;
    $this.$chestBelow = $java.nms_ModelRenderer_setTextureSize(nms_ModelRenderer__init_($this, 0, 19), 128, 64);
    nms_ModelRenderer_addBox($this.$chestBelow, 0.0, 0.0, 0.0, 30, 10, 14, 0.0);
    $this.$chestBelow.$rotationPointX = 1.0;
    $this.$chestBelow.$rotationPointY = 6.0;
    $this.$chestBelow.$rotationPointZ = 1.0;
}
function nms_ModelBook() {
    var a = this; nms_ModelBase.call(a);
    a.$coverRight = null;
    a.$coverLeft = null;
    a.$pagesRight = null;
    a.$pagesLeft = null;
    a.$flippingPageRight = null;
    a.$flippingPageLeft = null;
    a.$bookSpine = null;
}
$java.nms_ModelBook__init_ = function() {
    var var_0 = new nms_ModelBook();
    nms_ModelBook__init_(var_0);
    return var_0;
};
function nms_ModelBook__init_($this) {
    nms_ModelBase__init_0($this);
    $this.$coverRight = nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($java.nms_ModelRenderer__init_0($this), 0, 0), (-6.0), (-5.0), 0.0, 6, 10, 0);
    $this.$coverLeft = nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($java.nms_ModelRenderer__init_0($this), 16, 0), 0.0, (-5.0), 0.0, 6, 10, 0);
    $this.$pagesRight = nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($java.nms_ModelRenderer__init_0($this), 0, 10), 0.0, (-4.0), (-0.9900000095367432), 5, 8, 1);
    $this.$pagesLeft = nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($java.nms_ModelRenderer__init_0($this), 12, 10), 0.0, (-4.0), (-0.009999999776482582), 5, 8, 1);
    $this.$flippingPageRight = nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($java.nms_ModelRenderer__init_0($this), 24, 10), 0.0, (-4.0), 0.0, 5, 8, 0);
    $this.$flippingPageLeft = nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($java.nms_ModelRenderer__init_0($this), 24, 10), 0.0, (-4.0), 0.0, 5, 8, 0);
    $this.$bookSpine = nms_ModelRenderer_addBox0(nms_ModelRenderer_setTextureOffset($java.nms_ModelRenderer__init_0($this), 12, 0), (-1.0), (-5.0), 0.0, 2, 10, 0);
    nms_ModelRenderer_setRotationPoint($this.$coverRight, 0.0, 0.0, (-1.0));
    nms_ModelRenderer_setRotationPoint($this.$coverLeft, 0.0, 0.0, 1.0);
    $this.$bookSpine.$rotateAngleY = 1.5707963705062866;
}
$java.nms_ModelBook_render = function($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    $java.nms_ModelBook_setRotationAngles($this, $par2, $par3, $par4, $par5, $par6, $par7, $par1Entity);
    nms_ModelRenderer_render($this.$coverRight, $par7);
    nms_ModelRenderer_render($this.$coverLeft, $par7);
    nms_ModelRenderer_render($this.$bookSpine, $par7);
    nms_ModelRenderer_render($this.$pagesRight, $par7);
    nms_ModelRenderer_render($this.$pagesLeft, $par7);
    nms_ModelRenderer_render($this.$flippingPageRight, $par7);
    nms_ModelRenderer_render($this.$flippingPageLeft, $par7);
};
$java.nms_ModelBook_setRotationAngles = function($this, $par1, $par2, $par3, $par4, $par5, $par6, $par7Entity) {
    var $var8;
    $var8 = (nms_MathHelper_sin($par1 * 0.019999999552965164) * 0.10000000149011612 + 1.25) * $par4;
    $this.$coverRight.$rotateAngleY = 3.1415927410125732 + $var8;
    $par7Entity = $this.$coverLeft;
    $par1 =  -$var8;
    $par7Entity.$rotateAngleY = $par1;
    $this.$pagesRight.$rotateAngleY = $var8;
    $this.$pagesLeft.$rotateAngleY = $par1;
    $par7Entity = $this.$flippingPageRight;
    $par1 = $var8 * 2.0;
    $par7Entity.$rotateAngleY = $var8 - $par1 * $par2;
    $this.$flippingPageLeft.$rotateAngleY = $var8 - $par1 * $par3;
    $this.$pagesRight.$rotationPointX = nms_MathHelper_sin($var8);
    $this.$pagesLeft.$rotationPointX = nms_MathHelper_sin($var8);
    $this.$flippingPageRight.$rotationPointX = nms_MathHelper_sin($var8);
    $this.$flippingPageLeft.$rotationPointX = nms_MathHelper_sin($var8);
};
function jni_XHRURLConnection() {
    var a = this; jn_HttpURLConnection.call(a);
    a.$xhr = null;
    a.$outputStream = null;
    a.$inputStream = null;
    a.$errorStream = null;
    a.$responseHeaders = null;
    a.$responseHeaderKeys = null;
    a.$responseHeaderValues = null;
    a.$headerFields = null;
    a.$requestPerformed = 0;
}
function jni_XHRURLConnection_disconnect($this) {
    $this.$connected = 0;
    $this.$xhr = null;
    $this.$responseHeaders = null;
    $this.$responseHeaderKeys = null;
    $this.$responseHeaderValues = null;
    $this.$inputStream = null;
    $this.$outputStream = null;
    $this.$errorStream = null;
}
function jni_XHRURLConnection_connect($this) {
    var var$1, $entry, var$3, var$4, $value, var$6;
    if ($this.$connected)
        return;
    $this.$xhr = new XMLHttpRequest();
    var$1 = $this.$xhr;
    $entry = $this.$method0;
    var$3 = $java.jn_URL_toExternalForm($this.$url1);
    var$1.open($rt_ustr($entry), $rt_ustr(var$3));
    var$1 = $java.ju_Collections$16_iterator($java.ju_Collections$15_entrySet($java.jn_URLConnection_getRequestProperties($this)));
    while ($java.ju_Collections$17_hasNext(var$1)) {
        $entry = $java.ju_Collections$17_next(var$1);
        var$4 = ju_AbstractList_iterator($entry.$value15);
        while (ju_AbstractList$1_hasNext(var$4)) {
            $value = ju_AbstractList$1_next(var$4);
            var$6 = $this.$xhr;
            var$3 = $entry.$key3;
            var$6.setRequestHeader($rt_ustr(var$3), $rt_ustr($value));
        }
    }
    var$1 = $this.$xhr;
    $entry = "arraybuffer";
    var$1.responseType = $entry;
    $this.$connected = 1;
}
$java.jni_XHRURLConnection_performRequest = function(var$0) {
    var thread = $rt_nativeThread();
    var javaThread = $rt_getThread();
    if (thread.isResuming()) {
        thread.status = 0;
        var result = thread.attribute;
        if (result instanceof Error) {
            throw result;
        }
        return result;
    }
    var callback = function() {};
    callback.$complete = function(val) {
        thread.attribute = val;
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback.$error = function(e) {
        thread.attribute = $rt_exception(e);
        $rt_setThread(javaThread);
        thread.resume();
    };
    callback = otpp_AsyncCallbackWrapper_create(callback);
    return thread.suspend(function() {
        try {
            $java.jni_XHRURLConnection_performRequest0(var$0, callback);
        } catch($e) {
            callback.$error($rt_exception($e));
        }
    });
};
$java.jni_XHRURLConnection_performRequest0 = function($this, $callback) {
    var $array, var$3, $bytes, var$5, $i, var$7;
    $array = $this.$xhr;
    var$3 = new jni_XHRURLConnection$performRequest$lambda$_5_0;
    var$3.$_03 = $this;
    var$3.$_10 = $callback;
    $callback = otji_JS_function(var$3, "stateChanged");
    $array.onreadystatechange = $callback;
    if ($this.$outputStream === null)
        $this.$xhr.send();
    else {
        $bytes = $this.$outputStream.$toByteArray().data;
        var$5 = $bytes.length;
        $array = new Int8Array(var$5);
        $i = 0;
        while ($i < var$5) {
            var$7 = $bytes[$i];
            $array[$i] = var$7;
            $i = $i + 1 | 0;
        }
        $callback = $this.$xhr;
        $array = $array.buffer;
        $callback.send($array);
    }
};
function jni_XHRURLConnection_getResponseCode($this) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        jni_XHRURLConnection_connect($this);
        if ($this.$requestPerformed) {
            jni_XHRURLConnection_connect($this);
            return $this.$responseCode;
        }
        $this.$requestPerformed = 1;
        $ptr = 1;
    case 1:
        $java.jni_XHRURLConnection_performRequest($this);
        if ($rt_suspending()) {
            break main;
        }
        jni_XHRURLConnection_connect($this);
        return $this.$responseCode;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $ptr);
}
function jnci_BufferedEncoder$Controller() {
    var a = this; jl_Object.call(a);
    a.$in0 = null;
    a.$out1 = null;
    a.$inPosition = 0;
    a.$outPosition = 0;
}
function jnci_BufferedEncoder$Controller_hasMoreInput($this) {
    return jn_Buffer_hasRemaining($this.$in0);
}
function jnci_BufferedEncoder$Controller_hasMoreOutput($this, $sz) {
    return jn_Buffer_remaining($this.$out1) < $sz ? 0 : 1;
}
$java.jnci_BufferedEncoder$Controller_setInPosition = function($this, $inPosition) {
    $this.$inPosition = $inPosition;
};
$java.jnci_BufferedEncoder$Controller_setOutPosition = function($this, $outPosition) {
    $this.$outPosition = $outPosition;
};
function jnc_BufferUnderflowException() {
    jl_RuntimeException.call(this);
}
$java.jnc_BufferUnderflowException__init_ = function() {
    var var_0 = new jnc_BufferUnderflowException();
    jnc_BufferUnderflowException__init_(var_0);
    return var_0;
};
function jnc_BufferUnderflowException__init_($this) {
    jl_Throwable__init_0($this);
}
function jnc_BufferOverflowException() {
    jl_RuntimeException.call(this);
}
$java.jnc_BufferOverflowException__init_ = function() {
    var var_0 = new jnc_BufferOverflowException();
    jnc_BufferOverflowException__init_(var_0);
    return var_0;
};
function jnc_BufferOverflowException__init_($this) {
    jl_Throwable__init_0($this);
}
function jnc_MalformedInputException() {
    jnc_CharacterCodingException.call(this);
    this.$length4 = 0;
}
$java.jnc_MalformedInputException_getMessage = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2971));
    jl_AbstractStringBuilder_append2(var$1, $this.$length4);
    return jl_AbstractStringBuilder_toString(var$1);
};
function jnc_UnmappableCharacterException() {
    jnc_CharacterCodingException.call(this);
    this.$length5 = 0;
}
$java.jnc_UnmappableCharacterException_getMessage = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(2972));
    jl_AbstractStringBuilder_append2(var$1, $this.$length5);
    return jl_AbstractStringBuilder_toString(var$1);
};
function ju_TreeMap$EntrySet() {
    var a = this; ju_AbstractSet.call(a);
    a.$modCount4 = 0;
    a.$owner0 = null;
    a.$from = null;
    a.$fromIncluded = 0;
    a.$fromChecked = 0;
    a.$to = null;
    a.$toIncluded = 0;
    a.$toChecked = 0;
    a.$reverse = 0;
}
$java.ju_TreeMap$EntrySet_iterator = function($this) {
    var var$1, var$2, var$3;
    if ($this.$reverse) {
        var$1 = !$this.$toChecked ? $java.ju_TreeMap_pathToFirst($this.$owner0, 1) : !$this.$toIncluded ? $java.ju_TreeMap_pathToNext($this.$owner0, $this.$to, 1) : $java.ju_TreeMap_pathToExactOrNext($this.$owner0, $this.$to, 1);
        var$2 = !$this.$fromChecked ? $java.ju_TreeMap_access$100($this.$owner0, 0) : !$this.$fromIncluded ? $java.ju_TreeMap_findNext($this.$owner0, $this.$to, 0) : $java.ju_TreeMap_findExactOrNext($this.$owner0, $this.$to, 0);
        var$3 = $java.ju_TreeMap$EntryIterator__init_($this.$owner0, var$1, var$2, 1);
    } else {
        var$1 = !$this.$fromChecked ? $java.ju_TreeMap_pathToFirst($this.$owner0, 0) : !$this.$fromIncluded ? $java.ju_TreeMap_pathToNext($this.$owner0, $this.$from, 0) : $java.ju_TreeMap_pathToExactOrNext($this.$owner0, $this.$from, 0);
        var$2 = !$this.$toChecked ? $java.ju_TreeMap_access$100($this.$owner0, 1) : !$this.$toIncluded ? $java.ju_TreeMap_findNext($this.$owner0, $this.$to, 1) : $java.ju_TreeMap_findExactOrNext($this.$owner0, $this.$to, 1);
        var$3 = $java.ju_TreeMap$EntryIterator__init_($this.$owner0, var$1, var$2, 0);
    }
    return var$3;
};
function nms_SlotCreativeInventory() {
    var a = this; nms_Slot.call(a);
    a.$theSlot1 = null;
    a.$theCreativeInventory = null;
}
$java.nms_SlotCreativeInventory_onPickupFromSlot = function($this, $par1EntityPlayer, $par2ItemStack) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2ItemStack = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$theSlot1;
        $ptr = 1;
    case 1:
        var$3.$onPickupFromSlot($par1EntityPlayer, $par2ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2ItemStack, var$3, $ptr);
};
$java.nms_SlotCreativeInventory_isItemValid = function($this, $par1ItemStack) {
    return $this.$theSlot1.$isItemValid($par1ItemStack);
};
$java.nms_SlotCreativeInventory_getStack = function($this) {
    return $this.$theSlot1.$getStack();
};
$java.nms_SlotCreativeInventory_getHasStack = function($this) {
    return $this.$theSlot1.$getHasStack();
};
$java.nms_SlotCreativeInventory_putStack = function($this, $par1ItemStack) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1ItemStack = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$theSlot1;
        $ptr = 1;
    case 1:
        var$2.$putStack($par1ItemStack);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1ItemStack, var$2, $ptr);
};
$java.nms_SlotCreativeInventory_onSlotChanged = function($this) {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = $this.$theSlot1;
        $ptr = 1;
    case 1:
        var$1.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $ptr);
};
$java.nms_SlotCreativeInventory_getSlotStackLimit = function($this) {
    return $this.$theSlot1.$getSlotStackLimit();
};
$java.nms_SlotCreativeInventory_getBackgroundIconIndex = function($this) {
    return $this.$theSlot1.$getBackgroundIconIndex();
};
$java.nms_SlotCreativeInventory_decrStackSize = function($this, $par1) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$2 = $this.$theSlot1;
        $ptr = 1;
    case 1:
        $tmp = var$2.$decrStackSize0($par1);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        return var$2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, $ptr);
};
$java.nms_SlotCreativeInventory_func_75240_a = function($par0SlotCreativeInventory) {
    return $par0SlotCreativeInventory.$theSlot1;
};
function maat_TMICompatibility() {
    jl_Object.call(this);
}
$java.maat_TMICompatibility_prevZanEnabled = 0;
$java.maat_TMICompatibility__init_ = function() {
    var var_0 = new maat_TMICompatibility();
    maat_TMICompatibility__init_(var_0);
    return var_0;
};
function maat_TMICompatibility__init_($this) {
    return;
}
function maat_TMICompatibility__clinit_() {
    $java.maat_TMICompatibility_prevZanEnabled = 0;
}
function nms_GuiOptions() {
    var a = this; nms_GuiScreen.call(a);
    a.$parentScreen1 = null;
    a.$options2 = null;
    a.$screenTitle3 = null;
}
$java.nms_GuiOptions_relevantOptions = null;
$java.nms_GuiOptions_$callClinit = function() {
    $java.nms_GuiOptions_$callClinit = $rt_eraseClinit(nms_GuiOptions);
    $java.nms_GuiOptions__clinit_();
};
function nms_GuiOptions__init_(var_0, var_1) {
    var var_2 = new nms_GuiOptions();
    $java.nms_GuiOptions__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_GuiOptions__init_ = function($this, $par1GuiScreen, $par2GameSettings) {
    $java.nms_GuiOptions_$callClinit();
    nms_GuiScreen__init_($this);
    $this.$screenTitle3 = $rt_s(2973);
    $this.$parentScreen1 = $par1GuiScreen;
    $this.$options2 = $par2GameSettings;
};
$java.nms_GuiOptions_initGui = function($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9;
    $var1 = nms_StringTranslate_instance;
    $var2 = 0;
    $this.$screenTitle3 = nms_StringTranslate_translateKey($var1, $rt_s(2974));
    $var3 = $java.nms_GuiOptions_relevantOptions.data;
    $var4 = $var3.length;
    $var5 = 0;
    while ($var5 < $var4) {
        $var6 = $var3[$var5];
        if ($var6.$enumFloat)
            ju_ArrayList_add($this.$buttonList, $java.nms_GuiSlider__init_($var6.$ordinal, (($this.$width / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0, (($this.$height / 6 | 0) - 12 | 0) + (24 * ($var2 >> 1) | 0) | 0, $var6, nms_GameSettings_getKeyBinding($this.$options2, $var6), nms_GameSettings_getOptionFloatValue($this.$options2, $var6)));
        else {
            $var7 = $java.nms_GuiSmallButton__init_0($var6.$ordinal, (($this.$width / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0, (($this.$height / 6 | 0) - 12 | 0) + (24 * ($var2 >> 1) | 0) | 0, $var6, nms_GameSettings_getKeyBinding($this.$options2, $var6));
            if ($var6 === nms_EnumOptions_DIFFICULTY && $this.$mc2.$theWorld !== null && $this.$mc2.$theWorld.$worldInfo.$hardcore) {
                $var7.$enabled = 0;
                var$8 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$8);
                jl_AbstractStringBuilder_append(var$8, nms_StatCollector_translateToLocal($rt_s(1454)));
                jl_AbstractStringBuilder_append(var$8, $rt_s(49));
                jl_AbstractStringBuilder_append(var$8, nms_StatCollector_translateToLocal($rt_s(2975)));
                $var7.$displayString = jl_AbstractStringBuilder_toString(var$8);
            }
            ju_ArrayList_add($this.$buttonList, $var7);
        }
        $var2 = $var2 + 1 | 0;
        $var5 = $var5 + 1 | 0;
    }
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(101, ($this.$width / 2 | 0) - 152 | 0, (($this.$height / 6 | 0) + 96 | 0) - 6 | 0, 150, 20, nms_StringTranslate_translateKey($var1, $rt_s(2976))));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(100, ($this.$width / 2 | 0) + 2 | 0, (($this.$height / 6 | 0) + 96 | 0) - 6 | 0, 150, 20, nms_StringTranslate_translateKey($var1, $rt_s(2977))));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(102, ($this.$width / 2 | 0) - 152 | 0, (($this.$height / 6 | 0) + 120 | 0) - 6 | 0, 150, 20, nms_StringTranslate_translateKey($var1, $rt_s(2978))));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_0(103, ($this.$width / 2 | 0) + 2 | 0, (($this.$height / 6 | 0) + 120 | 0) - 6 | 0, 150, 20, nms_StringTranslate_translateKey($var1, $rt_s(2979))));
    var$8 = $this.$buttonList;
    var$9 = nms_GuiButton__init_0(105, ($this.$width / 2 | 0) - 152 | 0, (($this.$height / 6 | 0) + 144 | 0) - 6 | 0, 150, 20, nms_StringTranslate_translateKey($var1, $rt_s(2980)));
    ju_ArrayList_add(var$8, var$9);
    $var7 = $this.$buttonList;
    var$8 = nms_GuiButton__init_0(104, ($this.$width / 2 | 0) + 2 | 0, (($this.$height / 6 | 0) + 144 | 0) - 6 | 0, 150, 20, nms_StringTranslate_translateKey($var1, $rt_s(2981)));
    ju_ArrayList_add($var7, var$8);
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(200, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 168 | 0, nms_StringTranslate_translateKey($var1, $rt_s(511))));
    var$9.$enabled = 0;
    var$8.$enabled = 0;
};
$java.nms_GuiOptions_actionPerformed = function($this, $par1GuiButton) {
    var var$2, var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1GuiButton.$enabled) {
            if ($par1GuiButton.$id3 < 100 && $par1GuiButton instanceof nms_GuiSmallButton) {
                var$2 = $this.$options2;
                var$3 = $par1GuiButton.$enumOptions;
                var$4 = 1;
                $ptr = 1;
                continue main;
            }
            if ($par1GuiButton.$id3 == 101) {
                nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
                var$2 = $this.$mc2;
                var$3 = new nms_GuiVideoSettings;
                var$5 = $this.$options2;
                $java.nms_GuiVideoSettings_$callClinit();
                nms_GuiScreen__init_(var$3);
                var$3.$screenTitle4 = $rt_s(2982);
                var$3.$is64bit = 0;
                var$3.$parentGuiScreen = $this;
                var$3.$guiGameSettings = var$5;
                nmc_Minecraft_displayGuiScreen(var$2, var$3);
            }
            if ($par1GuiButton.$id3 == 100) {
                nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
                var$2 = $this.$mc2;
                var$3 = new nms_GuiControls;
                var$5 = $this.$options2;
                nms_GuiScreen__init_(var$3);
                var$3.$screenTitle5 = $rt_s(2983);
                var$3.$buttonId = (-1);
                var$3.$parentScreen2 = $this;
                var$3.$options3 = var$5;
                nmc_Minecraft_displayGuiScreen(var$2, var$3);
            }
            if ($par1GuiButton.$id3 == 102) {
                nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
                nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiLanguage__init_($this, $this.$options2));
            }
            if ($par1GuiButton.$id3 == 103) {
                nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
                var$2 = $this.$mc2;
                var$3 = new nms_GuiScreenChatOptions;
                var$5 = $this.$options2;
                $java.nms_GuiScreenChatOptions_$callClinit();
                nms_GuiScreen__init_(var$3);
                var$3.$field_82269_o = 0;
                var$3.$theGuiScreen = $this;
                var$3.$theSettings = var$5;
                nmc_Minecraft_displayGuiScreen(var$2, var$3);
            }
            if ($par1GuiButton.$id3 == 200) {
                nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
                nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$parentScreen1);
            }
        }
        return;
    case 1:
        nms_GameSettings_setOptionValue(var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $par1GuiButton.$displayString = nms_GameSettings_getKeyBinding($this.$options2, nms_EnumOptions_getEnumOptions($par1GuiButton.$id3));
        if ($par1GuiButton.$id3 == 101) {
            nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
            var$2 = $this.$mc2;
            var$3 = new nms_GuiVideoSettings;
            var$5 = $this.$options2;
            $java.nms_GuiVideoSettings_$callClinit();
            nms_GuiScreen__init_(var$3);
            var$3.$screenTitle4 = $rt_s(2982);
            var$3.$is64bit = 0;
            var$3.$parentGuiScreen = $this;
            var$3.$guiGameSettings = var$5;
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
        }
        if ($par1GuiButton.$id3 == 100) {
            nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
            var$2 = $this.$mc2;
            var$3 = new nms_GuiControls;
            var$5 = $this.$options2;
            nms_GuiScreen__init_(var$3);
            var$3.$screenTitle5 = $rt_s(2983);
            var$3.$buttonId = (-1);
            var$3.$parentScreen2 = $this;
            var$3.$options3 = var$5;
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
        }
        if ($par1GuiButton.$id3 == 102) {
            nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
            nmc_Minecraft_displayGuiScreen($this.$mc2, nms_GuiLanguage__init_($this, $this.$options2));
        }
        if ($par1GuiButton.$id3 == 103) {
            nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
            var$2 = $this.$mc2;
            var$3 = new nms_GuiScreenChatOptions;
            var$5 = $this.$options2;
            $java.nms_GuiScreenChatOptions_$callClinit();
            nms_GuiScreen__init_(var$3);
            var$3.$field_82269_o = 0;
            var$3.$theGuiScreen = $this;
            var$3.$theSettings = var$5;
            nmc_Minecraft_displayGuiScreen(var$2, var$3);
        }
        if ($par1GuiButton.$id3 == 200) {
            nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
            nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$parentScreen1);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, var$2, var$3, var$4, var$5, $ptr);
};
$java.nms_GuiOptions_drawScreen = function($this, $par1, $par2, $par3) {
    var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = $this.$screenTitle3;
        var$6 = $this.$width / 2 | 0;
        var$7 = 15;
        var$8 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 3;
    case 3:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, var$6, var$7, var$8, $ptr);
};
$java.nms_GuiOptions__clinit_ = function() {
    var var$1, var$2;
    var$1 = $rt_createArray(nms_EnumOptions, 7);
    var$2 = var$1.data;
    var$2[0] = nms_EnumOptions_MUSIC;
    var$2[1] = nms_EnumOptions_SOUND;
    var$2[2] = nms_EnumOptions_INVERT_MOUSE;
    var$2[3] = nms_EnumOptions_SENSITIVITY;
    var$2[4] = nms_EnumOptions_FOV;
    var$2[5] = nms_EnumOptions_DIFFICULTY;
    var$2[6] = nms_EnumOptions_ANTIALIASING;
    $java.nms_GuiOptions_relevantOptions = var$1;
};
function nms_GuiLanguage() {
    var a = this; nms_GuiScreen.call(a);
    a.$parentGui0 = null;
    a.$updateTimer0 = 0;
    a.$languageList0 = null;
    a.$theGameSettings = null;
    a.$doneButton = null;
}
function nms_GuiLanguage__init_(var_0, var_1) {
    var var_2 = new nms_GuiLanguage();
    $java.nms_GuiLanguage__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_GuiLanguage__init_ = function($this, $par1GuiScreen, $par2GameSettings) {
    nms_GuiScreen__init_($this);
    $this.$updateTimer0 = (-1);
    $this.$parentGui0 = $par1GuiScreen;
    $this.$theGameSettings = $par2GameSettings;
};
$java.nms_GuiLanguage_initGui = function($this) {
    var $var1, var$2, var$3, var$4;
    $var1 = nms_StringTranslate_instance;
    var$2 = $this.$buttonList;
    var$3 = $java.nms_GuiSmallButton__init_(6, ($this.$width / 2 | 0) - 75 | 0, $this.$height - 38 | 0, nms_StringTranslate_translateKey($var1, $rt_s(511)));
    $this.$doneButton = var$3;
    ju_ArrayList_add(var$2, var$3);
    var$3 = new nms_GuiSlotLanguage;
    nms_GuiSlot__init_(var$3, $this.$mc2, $this.$width, $this.$height, 32, ($this.$height - 65 | 0) + 4 | 0, 18);
    var$3.$languageGui = $this;
    var$3.$field_77253_h = nms_StringTranslate_instance.$languageList;
    var$3.$field_77251_g = ju_ArrayList__init_0();
    var$4 = ju_AbstractMap_keySet(var$3.$field_77253_h).$iterator();
    while (var$4.$hasNext()) {
        var$2 = var$4.$next();
        ju_ArrayList_add(var$3.$field_77251_g, var$2);
    }
    $this.$languageList0 = var$3;
    $java.nms_GuiSlot_registerScrollButtons($this.$languageList0, $this.$buttonList, 7, 8);
};
$java.nms_GuiLanguage_actionPerformed = function($this, $par1GuiButton) {
    a: {
        if ($par1GuiButton.$enabled)
            switch ($par1GuiButton.$id3) {
                case 5:
                    break;
                case 6:
                    nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$parentGui0);
                    break a;
                default:
                    nms_GuiSlot_actionPerformed($this.$languageList0, $par1GuiButton);
                    break a;
            }
    }
};
$java.nms_GuiLanguage_drawScreen = function($this, $par1, $par2, $par3) {
    var var$4, $var4, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = $this.$languageList0;
        $ptr = 1;
    case 1:
        nms_GuiSlot_drawScreen(var$4, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$updateTimer0 <= 0) {
            var$4 = $this.$mc2.$texturePackList;
            $ptr = 5;
            continue main;
        }
        $var4 = nms_StringTranslate_instance;
        var$4 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var4, $rt_s(2978));
        var$7 = $this.$width / 2 | 0;
        var$8 = 16;
        var$9 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$4, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$6 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$6);
        jl_AbstractStringBuilder_append(var$6, $rt_s(1896));
        jl_AbstractStringBuilder_append(var$6, nms_StringTranslate_translateKey($var4, $rt_s(2984)));
        jl_AbstractStringBuilder_append(var$6, $rt_s(68));
        var$6 = jl_AbstractStringBuilder_toString(var$6);
        var$8 = $this.$width / 2 | 0;
        var$7 = $this.$height - 56 | 0;
        var$9 = 8421504;
        $ptr = 3;
    case 3:
        nms_Gui_drawCenteredString($this, var$4, var$6, var$8, var$7, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 4;
    case 4:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 5:
        nms_TexturePackList_updateAvaliableTexturePacks(var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$updateTimer0 = $this.$updateTimer0 + 20 | 0;
        $var4 = nms_StringTranslate_instance;
        var$4 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var4, $rt_s(2978));
        var$7 = $this.$width / 2 | 0;
        var$8 = 16;
        var$9 = 16777215;
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $var4, var$6, var$7, var$8, var$9, $ptr);
};
$java.nms_GuiLanguage_updateScreen = function($this) {
    $this.$updateTimer0 = $this.$updateTimer0 - 1 | 0;
};
function nle_GuiScreenLicenseDeclined() {
    nms_GuiScreen.call(this);
}
$java.nle_GuiScreenLicenseDeclined__init_ = function() {
    var var_0 = new nle_GuiScreenLicenseDeclined();
    nle_GuiScreenLicenseDeclined__init_(var_0);
    return var_0;
};
function nle_GuiScreenLicenseDeclined__init_($this) {
    nms_GuiScreen__init_($this);
}
$java.nle_GuiScreenLicenseDeclined_drawScreen = function($this, $mx, $my, $par3) {
    var var$4, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$my = $thread.pop();$mx = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = jl_String__init_5($java.nle_License_line70);
        $my = $this.$width / 2 | 0;
        $mx = ($this.$height / 3 | 0) - 10 | 0;
        var$6 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$4, var$5, $my, $mx, var$6);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$4 = jl_String__init_5($java.nle_License_line71);
        $mx = $this.$width / 2 | 0;
        $my = ($this.$height / 3 | 0) + 18 | 0;
        var$6 = 16742263;
        $ptr = 3;
    case 3:
        nms_Gui_drawCenteredString($this, var$5, var$4, $mx, $my, var$6);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$4 = jl_String__init_5($java.nle_License_line72);
        var$6 = $this.$width / 2 | 0;
        $mx = ($this.$height / 3 | 0) + 35 | 0;
        $my = 6710886;
        $ptr = 4;
    case 4:
        nms_Gui_drawCenteredString($this, var$5, var$4, var$6, $mx, $my);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $mx, $my, $par3, var$4, var$5, var$6, $ptr);
};
function maa_GuiScreenModules() {
    var a = this; nms_GuiScreen.call(a);
    a.$screenTitle2 = null;
    a.$parent1 = null;
    a.$iteminfo = null;
}
$java.maa_GuiScreenModules_initGui = function($this) {
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(200, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 148 | 0, $rt_s(2985)));
    $this.$iteminfo = nms_GuiTextField__init_($this.$fontRenderer0, ($this.$width / 2 | 0) - 98 | 0, ($this.$height / 6 | 0) + 24 | 0, 195, 20);
    nms_GuiTextField_setFocused($this.$iteminfo, 1);
    nms_GuiTextField_setText($this.$iteminfo, $rt_s(2986));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(1, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 52 | 0, $rt_s(2987)));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(2, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 76 | 0, $rt_s(2988)));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(3, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 100 | 0, $rt_s(2989)));
};
$java.maa_GuiScreenModules_onGuiClosed = function($this) {
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
};
$java.maa_GuiScreenModules_drawScreen = function($this, $mx, $my, $par3) {
    var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$my = $thread.pop();$mx = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = $this.$screenTitle2;
        var$6 = $this.$width / 2 | 0;
        var$7 = 15;
        var$8 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 3;
    case 3:
        nms_GuiScreen_drawScreen($this, $mx, $my, $par3);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$iteminfo;
        $ptr = 4;
    case 4:
        nms_GuiTextField_drawTextBox(var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $mx, $my, $par3, var$4, var$5, var$6, var$7, var$8, $ptr);
};
$java.maa_GuiScreenModules_actionPerformed = function($this, $par1GuiButton) {
    var $songLines, $theitem, $itemid, $name, var$6, var$7, var$8, var$9, $dmg, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$dmg = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$name = $thread.pop();$itemid = $thread.pop();$theitem = $thread.pop();$songLines = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        a: {
            if ($par1GuiButton.$id3 == 200)
                nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$parent1);
            else if ($par1GuiButton.$id3 == 1)
                try {
                    $songLines = jl_String_split0($java.nms_GuiTextField_getText($this.$iteminfo), $rt_s(272), 2).data;
                    $theitem = nms_ItemStack__init_0(jl_Integer_parseInt($songLines[0]), 64, $songLines.length == 1 ? 0 : jl_Integer_parseInt($songLines[1]));
                    nms_InventoryPlayer_addItemStackToInventory($this.$mc2.$thePlayer.$inventory, $theitem);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                    } else {
                        throw $$e;
                    }
                }
            else if ($par1GuiButton.$id3 != 2) {
                if ($par1GuiButton.$id3 == 3) {
                    maa_NoteblockPlayer_$callClinit();
                    maa_NoteblockPlayer_legit = maa_NoteblockPlayer_legit ? 0 : 1;
                } else if ($par1GuiButton.$id3 == 4) {
                    maa_NoteblockPlayer_$callClinit();
                    maa_NoteblockPlayer_flying = maa_NoteblockPlayer_flying ? 0 : 1;
                    if (!maa_NoteblockPlayer_flying)
                        $this.$mc2.$thePlayer.$capabilities.$isFlying = 0;
                }
            } else {
                maa_NoteblockPlayer_$callClinit();
                if (!maa_NoteblockPlayer_playing) {
                    window.eagsFileChooser.openFileChooser("nbs", ".nbs,.mid,.midi");
                    $itemid = 1000;
                    $ptr = 1;
                    continue main;
                }
                maa_NoteblockPlayer_playing = 0;
                maa_NoteblockPlayer_thr = null;
                nms_EntityPlayerSP_sendChatToPlayer($this.$mc2.$thePlayer, $rt_s(2990));
            }
        }
        return;
    case 1:
        maa_NoteblockPlayer_zleep($itemid);
        if ($rt_suspending()) {
            break main;
        }
        if (nlea_EaglerAdapterImpl2_isFocused()) {
            $itemid = 500;
            $ptr = 2;
            continue main;
        }
        $itemid = 100;
        $ptr = 3;
        continue main;
    case 2:
        maa_NoteblockPlayer_zleep($itemid);
        if ($rt_suspending()) {
            break main;
        }
        $songLines = nlea_EaglerAdapterImpl2_getFileChooserResult();
        if ($songLines !== null && $songLines.data.length > 0) {
            $name = $rt_str(nlea_EaglerAdapterImpl2_getFileChooserResultName$js_body$_225());
            maa_NoteblockPlayer_songdata = $songLines;
            $par1GuiButton = $this.$mc2.$thePlayer;
            $theitem = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($theitem);
            jl_AbstractStringBuilder_append($theitem, $rt_s(2991));
            jl_AbstractStringBuilder_append($theitem, $name);
            jl_AbstractStringBuilder_append($theitem, $rt_s(2992));
            nms_EntityPlayerSP_sendChatToPlayer($par1GuiButton, jl_AbstractStringBuilder_toString($theitem));
            if (jl_String_endsWith(jl_String_toLowerCase($name), $rt_s(2993)))
                $par1GuiButton = maa_NoteblockPlayer_loadSong();
            else {
                $par1GuiButton = $rt_s(36);
                b: {
                    try {
                        var$6 = $par1GuiButton;
                        $theitem = $java.ju_TreeMap$EntrySet_iterator($java.ju_TreeMap_entrySet($java.maa_MidiConverter_getMidi(ji_BufferedInputStream__init_(ji_ByteArrayInputStream__init_(maa_NoteblockPlayer_songdata)))));
                        while (true) {
                            var$6 = $par1GuiButton;
                            if (!$java.ju_TreeMap$EntryIterator_hasNext($theitem))
                                break;
                            var$6 = $par1GuiButton;
                            var$7 = $java.ju_TreeMap$EntryIterator_next0($theitem);
                            $itemid = 0;
                            while (true) {
                                var$6 = $par1GuiButton;
                                if ($itemid >= ju_ArrayList_size($java.ju_AbstractMap$SimpleEntry_getValue(var$7)))
                                    break;
                                var$6 = $par1GuiButton;
                                var$8 = jl_Long_longValue($java.ju_AbstractMap$SimpleEntry_getKey(var$7));
                                var$9 = jl_Integer_intValue(ju_ArrayList_get($java.ju_AbstractMap$SimpleEntry_getValue(var$7), $itemid));
                                $dmg = jl_Integer_intValue(ju_ArrayList_get($java.ju_TreeMap_get($java.maa_MidiConverter_velocityMap, $java.ju_AbstractMap$SimpleEntry_getKey(var$7)), $itemid));
                                $par1GuiButton = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $par1GuiButton), jl_Math_floor(20.0 * Long_toNumber(var$8) / 1000.0) | 0), $rt_s(272)), var$9 % 25 | 0), $rt_s(272)), jl_Math_floor(var$9 / 25 | 0) | 0), $rt_s(272)), $dmg), $rt_s(64)));
                                var$6 = $par1GuiButton;
                                $itemid = $itemid + 1 | 0;
                            }
                            var$6 = $par1GuiButton;
                        }
                        var$6 = $par1GuiButton;
                        if (jl_String_endsWith($par1GuiButton, $rt_s(64))) {
                            var$6 = $par1GuiButton;
                            $par1GuiButton = jl_String_substring0($par1GuiButton, 0, jl_String_length($par1GuiButton) - 1 | 0);
                            var$6 = $par1GuiButton;
                        }
                        break b;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Exception) {
                        } else {
                            throw $$e;
                        }
                    }
                    $par1GuiButton = var$6;
                }
            }
            $songLines = jl_String_split($par1GuiButton, $rt_s(64));
            $par1GuiButton = new jl_Thread;
            $theitem = new maa_GuiScreenModules$1;
            $theitem.$this$046 = $this;
            $theitem.$val$songLines = $songLines;
            jl_Thread__init_2($par1GuiButton, $theitem, null);
            maa_NoteblockPlayer_thr = $par1GuiButton;
            jl_Thread_start(maa_NoteblockPlayer_thr);
        }
        return;
    case 3:
        maa_NoteblockPlayer_zleep($itemid);
        if ($rt_suspending()) {
            break main;
        }
        if (nlea_EaglerAdapterImpl2_isFocused()) {
            $itemid = 500;
            $ptr = 2;
            continue main;
        }
        $itemid = 100;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, $songLines, $theitem, $itemid, $name, var$6, var$7, var$8, var$9, $dmg, $ptr);
};
$java.maa_GuiScreenModules_updateScreen = function($this) {
    nms_GuiTextField_updateCursorCounter($this.$iteminfo);
};
$java.maa_GuiScreenModules_keyTyped = function($this, $par1, $par2) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$iteminfo;
        $ptr = 1;
    case 1:
        nms_GuiTextField_textboxKeyTyped(var$3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, $ptr);
};
$java.maa_GuiScreenModules_mouseClicked = function($this, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiTextField_mouseClicked($this.$iteminfo, $par1, $par2, $par3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $ptr);
};
function jl_StrictMath() {
    jl_Object.call(this);
}
$java.jl_StrictMath__init_ = function() {
    var var_0 = new jl_StrictMath();
    jl_StrictMath__init_(var_0);
    return var_0;
};
function jl_StrictMath__init_($this) {
    return;
}
function nms_Chunk() {
    var a = this; jl_Object.call(a);
    a.$storageArrays = null;
    a.$blockBiomeArray = null;
    a.$precipitationHeightMap = null;
    a.$updateSkylightColumns = null;
    a.$isChunkLoaded = 0;
    a.$worldObj7 = null;
    a.$heightMap = null;
    a.$xPosition16 = 0;
    a.$zPosition15 = 0;
    a.$isGapLightingUpdated = 0;
    a.$chunkTileEntityMap = null;
    a.$entityLists = null;
    a.$isTerrainPopulated = 0;
    a.$isModified = 0;
    a.$hasEntities = 0;
    a.$lastSaveTime = Long_ZERO;
    a.$sendUpdates = 0;
    a.$heightMapMinimum = 0;
    a.$queuedLightChecks = 0;
    a.$field_76653_p = 0;
}
$java.nms_Chunk_isLit = 0;
$java.nms_Chunk__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_Chunk();
    nms_Chunk__init_(var_3, var_0, var_1, var_2);
    return var_3;
};
function nms_Chunk__init_($this, $par1World, $par2, $par3) {
    var $var4, var$5, var$6;
    $this.$storageArrays = $rt_createArray(nms_ExtendedBlockStorage, 16);
    $this.$blockBiomeArray = $rt_createByteArray(256);
    $this.$precipitationHeightMap = $rt_createIntArray(256);
    $this.$updateSkylightColumns = $rt_createBooleanArray(256);
    $this.$isGapLightingUpdated = 0;
    $this.$chunkTileEntityMap = ju_HashMap__init_();
    $this.$isTerrainPopulated = 0;
    $this.$isModified = 0;
    $this.$hasEntities = 0;
    $this.$lastSaveTime = Long_ZERO;
    $this.$sendUpdates = 0;
    $this.$heightMapMinimum = 0;
    $this.$queuedLightChecks = 4096;
    $this.$field_76653_p = 0;
    $this.$entityLists = $rt_createArray(ju_List, 16);
    $this.$worldObj7 = $par1World;
    $this.$xPosition16 = $par2;
    $this.$zPosition15 = $par3;
    $this.$heightMap = $rt_createIntArray(256);
    $var4 = 0;
    while ($var4 < $this.$entityLists.data.length) {
        $this.$entityLists.data[$var4] = ju_ArrayList__init_0();
        $var4 = $var4 + 1 | 0;
    }
    ju_Arrays_fill0($this.$precipitationHeightMap, (-999));
    var$5 = $this.$blockBiomeArray.data;
    $par3 = 0;
    $var4 = var$5.length;
    if ($par3 > $var4) {
        $par1World = new jl_IllegalArgumentException;
        jl_Throwable__init_0($par1World);
        $rt_throw($par1World);
    }
    while ($par3 < $var4) {
        var$6 = $par3 + 1 | 0;
        var$5[$par3] = (-1);
        $par3 = var$6;
    }
}
$java.nms_Chunk_getTopFilledSegment = function($this) {
    var $var1;
    $var1 = $this.$storageArrays.data.length - 1 | 0;
    while ($var1 >= 0) {
        if ($this.$storageArrays.data[$var1] !== null)
            return $this.$storageArrays.data[$var1].$yBase;
        $var1 = $var1 + (-1) | 0;
    }
    return 0;
};
$java.nms_Chunk_generateHeightMap = function($this) {
    var $var1, $var2, var$3, $var3, var$5, var$6, $var4, $var5;
    $var1 = $java.nms_Chunk_getTopFilledSegment($this);
    $var2 = 0;
    var$3 = ($var1 + 16 | 0) - 1 | 0;
    while ($var2 < 16) {
        $var3 = 0;
        while ($var3 < 16) {
            var$5 = $this.$precipitationHeightMap.data;
            var$6 = $var3 << 4;
            var$5[$var2 + var$6 | 0] = (-999);
            $var4 = var$3;
            a: {
                while (true) {
                    if ($var4 <= 0)
                        break a;
                    $var5 = $this.$getBlockID($var2, $var4 - 1 | 0, $var3);
                    nms_Block_$callClinit();
                    if (nms_Block_lightOpacity.data[$var5])
                        break;
                    $var4 = $var4 + (-1) | 0;
                }
                $this.$heightMap.data[var$6 | $var2] = $var4;
            }
            $var3 = $var3 + 1 | 0;
        }
        $var2 = $var2 + 1 | 0;
    }
    $this.$isModified = 1;
};
$java.nms_Chunk_generateSkylightMap = function($this) {
    var $var1, $var2, var$3, $var3, var$5, $var4, var$7, $var5, $var6;
    $var1 = $java.nms_Chunk_getTopFilledSegment($this);
    $this.$heightMapMinimum = 2147483647;
    $var2 = 0;
    var$3 = ($var1 + 16 | 0) - 1 | 0;
    while ($var2 < 16) {
        $var3 = 0;
        while ($var3 < 16) {
            var$5 = $this.$precipitationHeightMap.data;
            $var1 = $var3 << 4;
            var$5[$var2 + $var1 | 0] = (-999);
            $var4 = var$3;
            a: {
                while (true) {
                    if ($var4 <= 0)
                        break a;
                    if ($this.$getBlockLightOpacity($var2, $var4 - 1 | 0, $var3))
                        break;
                    $var4 = $var4 + (-1) | 0;
                }
                $this.$heightMap.data[$var1 | $var2] = $var4;
                if ($var4 < $this.$heightMapMinimum)
                    $this.$heightMapMinimum = $var4;
            }
            b: {
                if (!$this.$worldObj7.$provider.$hasNoSky) {
                    var$7 = 15;
                    $var5 = var$3;
                    while (true) {
                        var$7 = var$7 - $this.$getBlockLightOpacity($var2, $var5, $var3) | 0;
                        if (var$7 > 0) {
                            $var6 = $this.$storageArrays.data[$var5 >> 4];
                            if ($var6 !== null) {
                                $java.nms_ExtendedBlockStorage_setExtSkylightValue($var6, $var2, $var5 & 15, $var3, var$7);
                                nms_World_markBlockForRenderUpdate($this.$worldObj7, ($this.$xPosition16 << 4) + $var2 | 0, $var5, ($this.$zPosition15 << 4) + $var3 | 0);
                            }
                        }
                        $var5 = $var5 + (-1) | 0;
                        if ($var5 <= 0)
                            break b;
                        if (var$7 <= 0)
                            break b;
                    }
                }
            }
            $var3 = $var3 + 1 | 0;
        }
        $var2 = $var2 + 1 | 0;
    }
    $this.$isModified = 1;
    var$7 = 0;
    while (var$7 < 16) {
        $var3 = 0;
        while ($var3 < 16) {
            $java.nms_Chunk_propagateSkylightOcclusion($this, var$7, $var3);
            $var3 = $var3 + 1 | 0;
        }
        var$7 = var$7 + 1 | 0;
    }
};
$java.nms_Chunk_propagateSkylightOcclusion = function($this, $par1, $par2) {
    $this.$updateSkylightColumns.data[$par1 + ($par2 * 16 | 0) | 0] = 1;
    $this.$isGapLightingUpdated = 1;
};
$java.nms_Chunk_updateSkylightNeighborHeight = function($this, $par1, $par2, $var5, $par4) {
    if ($par4 > $var5 && nms_World_doChunksNearChunkExist($this.$worldObj7, $par1, 0, $par2, 16)) {
        while ($var5 < $par4) {
            nms_World_updateLightByType($this.$worldObj7, nms_EnumSkyBlock_Sky, $par1, $var5, $par2);
            $var5 = $var5 + 1 | 0;
        }
        $this.$isModified = 1;
    }
};
$java.nms_Chunk_relightBlock = function($this, $par1, $par2, $par3) {
    var var$4, var$5, $var4, var$7, $var6, $var7, $var8, $var9, $var8_0, $var12, $var10;
    var$4 = $this.$heightMap.data;
    var$5 = $par3 << 4 | $par1;
    $var4 = var$4[var$5] & 255;
    if ($par2 <= $var4)
        $par2 = $var4;
    while ($par2 > 0 && !$this.$getBlockLightOpacity($par1, $par2 - 1 | 0, $par3)) {
        $par2 = $par2 + (-1) | 0;
    }
    var$7 = $rt_compare($par2, $var4);
    if (var$7) {
        a: {
            nms_World_markBlocksDirtyVertical($this.$worldObj7, $par1 + ($this.$xPosition16 * 16 | 0) | 0, $par3 + ($this.$zPosition15 * 16 | 0) | 0, $par2, $var4);
            $this.$heightMap.data[var$5] = $par2;
            $var6 = ($this.$xPosition16 * 16 | 0) + $par1 | 0;
            $var7 = ($this.$zPosition15 * 16 | 0) + $par3 | 0;
            if (!$this.$worldObj7.$provider.$hasNoSky) {
                b: {
                    if (var$7 >= 0) {
                        $var8 = $var4;
                        while (true) {
                            if ($var8 >= $par2)
                                break b;
                            $var9 = $this.$storageArrays.data[$var8 >> 4];
                            if ($var9 !== null) {
                                $java.nms_ExtendedBlockStorage_setExtSkylightValue($var9, $par1, $var8 & 15, $par3, 0);
                                nms_World_markBlockForRenderUpdate($this.$worldObj7, ($this.$xPosition16 << 4) + $par1 | 0, $var8, ($this.$zPosition15 << 4) + $par3 | 0);
                            }
                            $var8 = $var8 + 1 | 0;
                        }
                    }
                    $var8_0 = $par2;
                    while (true) {
                        if ($var8_0 >= $var4)
                            break b;
                        $var9 = $this.$storageArrays.data[$var8_0 >> 4];
                        if ($var9 !== null) {
                            $java.nms_ExtendedBlockStorage_setExtSkylightValue($var9, $par1, $var8_0 & 15, $par3, 15);
                            nms_World_markBlockForRenderUpdate($this.$worldObj7, ($this.$xPosition16 << 4) + $par1 | 0, $var8_0, ($this.$zPosition15 << 4) + $par3 | 0);
                        }
                        $var8_0 = $var8_0 + 1 | 0;
                    }
                }
                var$7 = 15;
                while (true) {
                    if ($par2 <= 0)
                        break a;
                    if (var$7 <= 0)
                        break a;
                    $par2 = $par2 + (-1) | 0;
                    $var12 = $this.$getBlockLightOpacity($par1, $par2, $par3);
                    if (!$var12)
                        $var12 = 1;
                    var$7 = var$7 - $var12 | 0;
                    if (var$7 < 0)
                        var$7 = 0;
                    $var10 = $this.$storageArrays.data[$par2 >> 4];
                    if ($var10 !== null)
                        $java.nms_ExtendedBlockStorage_setExtSkylightValue($var10, $par1, $par2 & 15, $par3, var$7);
                }
            }
        }
        $var8_0 = $this.$heightMap.data[var$5];
        if ($var8_0 < $var4)
            $par2 = $var8_0;
        else {
            $par1 = $var8_0;
            $par2 = $var4;
            $var4 = $par1;
        }
        if ($var8_0 < $this.$heightMapMinimum)
            $this.$heightMapMinimum = $var8_0;
        if (!$this.$worldObj7.$provider.$hasNoSky) {
            $java.nms_Chunk_updateSkylightNeighborHeight($this, $var6 - 1 | 0, $var7, $par2, $var4);
            $java.nms_Chunk_updateSkylightNeighborHeight($this, $var6 + 1 | 0, $var7, $par2, $var4);
            $java.nms_Chunk_updateSkylightNeighborHeight($this, $var6, $var7 - 1 | 0, $par2, $var4);
            $java.nms_Chunk_updateSkylightNeighborHeight($this, $var6, $var7 + 1 | 0, $par2, $var4);
            $java.nms_Chunk_updateSkylightNeighborHeight($this, $var6, $var7, $par2, $var4);
        }
        $this.$isModified = 1;
    }
};
$java.nms_Chunk_getBlockLightOpacity = function($this, $par1, $par2, $par3) {
    nms_Block_$callClinit();
    return nms_Block_lightOpacity.data[$this.$getBlockID($par1, $par2, $par3)];
};
$java.nms_Chunk_getBlockID = function($this, $par1, $par2, $par3) {
    var var$4, $var4;
    var$4 = $par2 >> 4;
    if (var$4 >= $this.$storageArrays.data.length)
        return 0;
    $var4 = $this.$storageArrays.data[var$4];
    return $var4 === null ? 0 : $java.nms_ExtendedBlockStorage_getExtBlockID($var4, $par1, $par2 & 15, $par3);
};
$java.nms_Chunk_getBlockMetadata = function($this, $par1, $par2, $par3) {
    var var$4, $var4;
    var$4 = $par2 >> 4;
    if (var$4 >= $this.$storageArrays.data.length)
        return 0;
    $var4 = $this.$storageArrays.data[var$4];
    return $var4 === null ? 0 : $java.nms_ExtendedBlockStorage_getExtBlockMetadata($var4, $par1, $par2 & 15, $par3);
};
$java.nms_Chunk_setBlockIDWithMetadata = function($this, $par1, $par2, $par3, $par4, $par5) {
    var $var6, $var7, $var8, $var9, var$10, $var13, $var10, $var11, $var12, $var14, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var13 = $thread.pop();var$10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = $par3 << 4 | $par1;
        if ($par2 >= ($this.$precipitationHeightMap.data[$var6] - 1 | 0))
            $this.$precipitationHeightMap.data[$var6] = (-999);
        $var7 = $this.$heightMap.data[$var6];
        $var8 = $this.$getBlockID($par1, $par2, $par3);
        $var9 = $this.$getBlockMetadata($par1, $par2, $par3);
        if ($var8 == $par4 && $var9 == $par5)
            return 0;
        var$10 = $this.$storageArrays.data;
        $var13 = $par2 >> 4;
        $var10 = var$10[$var13];
        $var11 = 0;
        if ($var10 === null) {
            if (!$par4)
                return 0;
            var$10 = $this.$storageArrays;
            $var10 = new nms_ExtendedBlockStorage;
            $var11 = $var13 << 4;
            $var12 = $this.$worldObj7.$provider.$hasNoSky ? 0 : 1;
            var$10 = var$10.data;
            $java.nms_ExtendedBlockStorage__init_($var10, $var11, $var12);
            var$10[$var13] = $var10;
            $var11 = $par2 < $var7 ? 0 : 1;
        }
        $var12 = ($this.$xPosition16 * 16 | 0) + $par1 | 0;
        $var13 = ($this.$zPosition15 * 16 | 0) + $par3 | 0;
        $var6 = $par2 & 15;
        $java.nms_ExtendedBlockStorage_setExtBlockID($var10, $par1, $var6, $par3, $par4);
        if ($var8) {
            $var14 = $this.$worldObj7;
            $ptr = 1;
            continue main;
        }
        if ($java.nms_ExtendedBlockStorage_getExtBlockID($var10, $par1, $var6, $par3) != $par4)
            return 0;
        $java.nms_ExtendedBlockStorage_setExtBlockMetadata($var10, $par1, $var6, $par3, $par5);
        if ($var11)
            $this.$generateSkylightMap();
        else {
            nms_Block_$callClinit();
            if (nms_Block_lightOpacity.data[$par4 & 4095] <= 0) {
                if ($par2 == ($var7 - 1 | 0))
                    $java.nms_Chunk_relightBlock($this, $par1, $par2, $par3);
            } else if ($par2 >= $var7)
                $java.nms_Chunk_relightBlock($this, $par1, $par2 + 1 | 0, $par3);
            $java.nms_Chunk_propagateSkylightOcclusion($this, $par1, $par3);
        }
        a: {
            if ($par4) {
                nms_Block_$callClinit();
                if (!$rt_isInstance(nms_Block_blocksList.data[$par4], nms_ITileEntityProvider))
                    break a;
                $ptr = 2;
                continue main;
            }
            if ($var8 > 0) {
                nms_Block_$callClinit();
                if ($rt_isInstance(nms_Block_blocksList.data[$var8], nms_ITileEntityProvider)) {
                    $ptr = 3;
                    continue main;
                }
            }
        }
        $this.$isModified = 1;
        return 1;
    case 1:
        nms_World_removeBlockTileEntity($var14, $var12, $par2, $var13);
        if ($rt_suspending()) {
            break main;
        }
        if ($java.nms_ExtendedBlockStorage_getExtBlockID($var10, $par1, $var6, $par3) != $par4)
            return 0;
        $java.nms_ExtendedBlockStorage_setExtBlockMetadata($var10, $par1, $var6, $par3, $par5);
        if ($var11)
            $this.$generateSkylightMap();
        else {
            nms_Block_$callClinit();
            if (nms_Block_lightOpacity.data[$par4 & 4095] <= 0) {
                if ($par2 == ($var7 - 1 | 0))
                    $java.nms_Chunk_relightBlock($this, $par1, $par2, $par3);
            } else if ($par2 >= $var7)
                $java.nms_Chunk_relightBlock($this, $par1, $par2 + 1 | 0, $par3);
            $java.nms_Chunk_propagateSkylightOcclusion($this, $par1, $par3);
        }
        b: {
            if ($par4) {
                nms_Block_$callClinit();
                if (!$rt_isInstance(nms_Block_blocksList.data[$par4], nms_ITileEntityProvider))
                    break b;
                $ptr = 2;
                continue main;
            }
            if ($var8 > 0) {
                nms_Block_$callClinit();
                if ($rt_isInstance(nms_Block_blocksList.data[$var8], nms_ITileEntityProvider)) {
                    $ptr = 3;
                    continue main;
                }
            }
        }
        $this.$isModified = 1;
        return 1;
    case 2:
        $tmp = $this.$getChunkBlockTileEntity($par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $tmp;
        if ($var14 !== null) {
            if ($var14 !== null)
                $var14.$updateContainingBlockInfo();
            $this.$isModified = 1;
            return 1;
        }
        $var10 = nms_Block_blocksList.data[$par4];
        $var14 = $this.$worldObj7;
        $ptr = 4;
        continue main;
    case 3:
        $tmp = $this.$getChunkBlockTileEntity($par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $tmp;
        if ($var14 !== null)
            $var14.$updateContainingBlockInfo();
        $this.$isModified = 1;
        return 1;
    case 4:
        $tmp = $var10.$createNewTileEntity($var14);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $tmp;
        $var10 = $this.$worldObj7;
        $ptr = 5;
    case 5:
        nms_World_setBlockTileEntity($var10, $var12, $par2, $var13, $var14);
        if ($rt_suspending()) {
            break main;
        }
        if ($var14 !== null)
            $var14.$updateContainingBlockInfo();
        $this.$isModified = 1;
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5, $var6, $var7, $var8, $var9, var$10, $var13, $var10, $var11, $var12, $var14, $ptr);
};
$java.nms_Chunk_setBlockMetadata = function($this, $par1, $par2, $par3, $par4) {
    var $var5, $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $this.$storageArrays.data[$par2 >> 4];
        if ($var5 === null)
            return 0;
        $var7 = $par2 & 15;
        if ($java.nms_ExtendedBlockStorage_getExtBlockMetadata($var5, $par1, $var7, $par3) == $par4)
            return 0;
        $this.$isModified = 1;
        $java.nms_ExtendedBlockStorage_setExtBlockMetadata($var5, $par1, $var7, $par3, $par4);
        $var7 = $java.nms_ExtendedBlockStorage_getExtBlockID($var5, $par1, $var7, $par3);
        if ($var7 > 0) {
            nms_Block_$callClinit();
            if ($rt_isInstance(nms_Block_blocksList.data[$var7], nms_ITileEntityProvider)) {
                $ptr = 1;
                continue main;
            }
        }
        return 1;
    case 1:
        $tmp = $this.$getChunkBlockTileEntity($par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = $tmp;
        if ($var8 !== null) {
            $var8.$updateContainingBlockInfo();
            $var8.$blockMetadata = $par4;
        }
        return 1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, $var7, $var8, $ptr);
};
$java.nms_Chunk_getSavedLightValue = function($this, $par1EnumSkyBlock, $par2, $par3, $par4) {
    var $var5;
    $var5 = $this.$storageArrays.data[$par3 >> 4];
    return $var5 === null ? (!$this.$canBlockSeeTheSky($par2, $par3, $par4) ? 0 : $par1EnumSkyBlock.$defaultLightValue) : $par1EnumSkyBlock !== nms_EnumSkyBlock_Sky ? ($par1EnumSkyBlock !== nms_EnumSkyBlock_Block ? $par1EnumSkyBlock.$defaultLightValue : $java.nms_ExtendedBlockStorage_getExtBlocklightValue($var5, $par2, $par3 & 15, $par4)) : $this.$worldObj7.$provider.$hasNoSky ? 0 : $java.nms_ExtendedBlockStorage_getExtSkylightValue($var5, $par2, $par3 & 15, $par4);
};
$java.nms_Chunk_setLightValue = function($this, $par1EnumSkyBlock, $par2, $par3, $par4, $par5) {
    var var$6, var$7, $var6, var$9, var$10;
    var$6 = $this.$storageArrays.data;
    var$7 = $par3 >> 4;
    $var6 = var$6[var$7];
    if ($var6 === null) {
        var$6 = $this.$storageArrays;
        $var6 = new nms_ExtendedBlockStorage;
        var$9 = var$7 << 4;
        var$10 = $this.$worldObj7.$provider.$hasNoSky ? 0 : 1;
        var$6 = var$6.data;
        $java.nms_ExtendedBlockStorage__init_($var6, var$9, var$10);
        var$6[var$7] = $var6;
        $this.$generateSkylightMap();
    }
    $this.$isModified = 1;
    if ($par1EnumSkyBlock !== nms_EnumSkyBlock_Sky) {
        if ($par1EnumSkyBlock === nms_EnumSkyBlock_Block)
            $java.nms_ExtendedBlockStorage_setExtBlocklightValue($var6, $par2, $par3 & 15, $par4, $par5);
    } else if (!$this.$worldObj7.$provider.$hasNoSky)
        $java.nms_ExtendedBlockStorage_setExtSkylightValue($var6, $par2, $par3 & 15, $par4, $par5);
};
$java.nms_Chunk_getBlockLightValue = function($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6, $var7;
    $var5 = $this.$storageArrays.data[$par2 >> 4];
    if ($var5 === null)
        return !$this.$worldObj7.$provider.$hasNoSky && $par4 < nms_EnumSkyBlock_Sky.$defaultLightValue ? nms_EnumSkyBlock_Sky.$defaultLightValue - $par4 | 0 : 0;
    $var6 = $this.$worldObj7.$provider.$hasNoSky ? 0 : $java.nms_ExtendedBlockStorage_getExtSkylightValue($var5, $par1, $par2 & 15, $par3);
    if ($var6 > 0)
        $java.nms_Chunk_isLit = 1;
    $par4 = $var6 - $par4 | 0;
    $var7 = $java.nms_ExtendedBlockStorage_getExtBlocklightValue($var5, $par1, $par2 & 15, $par3);
    if ($var7 <= $par4)
        $var7 = $par4;
    return $var7;
};
$java.nms_Chunk_addEntity = function($this, $par1Entity) {
    var $var2, $var3, var$4, var$5, $var4;
    $this.$hasEntities = 1;
    $var2 = nms_MathHelper_floor_double($par1Entity.$posX / 16.0);
    $var3 = nms_MathHelper_floor_double($par1Entity.$posZ / 16.0);
    if (!($var2 == $this.$xPosition16 && $var3 == $this.$zPosition15)) {
        var$4 = jl_System_err();
        var$5 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$5);
        jl_AbstractStringBuilder_append(var$5, $rt_s(2994));
        jl_AbstractStringBuilder_append1(var$5, $par1Entity);
        ji_PrintStream_println(var$4, jl_AbstractStringBuilder_toString(var$5));
    }
    $var4 = nms_MathHelper_floor_double($par1Entity.$posY / 16.0);
    if ($var4 < 0)
        $var4 = 0;
    if ($var4 >= $this.$entityLists.data.length)
        $var4 = $this.$entityLists.data.length - 1 | 0;
    $par1Entity.$addedToChunk = 1;
    $par1Entity.$chunkCoordX = $this.$xPosition16;
    $par1Entity.$chunkCoordY = $var4;
    $par1Entity.$chunkCoordZ = $this.$zPosition15;
    ju_ArrayList_add($this.$entityLists.data[$var4], $par1Entity);
};
$java.nms_Chunk_removeEntity = function($this, $par1Entity) {
    $this.$removeEntityAtIndex($par1Entity, $par1Entity.$chunkCoordY);
};
$java.nms_Chunk_removeEntityAtIndex = function($this, $par1Entity, $par2) {
    if ($par2 < 0)
        $par2 = 0;
    if ($par2 >= $this.$entityLists.data.length)
        $par2 = $this.$entityLists.data.length - 1 | 0;
    ju_ArrayList_remove0($this.$entityLists.data[$par2], $par1Entity);
};
$java.nms_Chunk_canBlockSeeTheSky = function($this, $par1, $par2, $par3) {
    return $par2 < $this.$heightMap.data[$par3 << 4 | $par1] ? 0 : 1;
};
$java.nms_Chunk_getChunkBlockTileEntity = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = $java.nms_ChunkPosition__init_($par1, $par2, $par3);
        $var5 = ju_HashMap_get($this.$chunkTileEntityMap, $var4);
        if ($var5 !== null) {
            if ($var5 !== null && $var5.$tileEntityInvalid) {
                ju_HashMap_remove($this.$chunkTileEntityMap, $var4);
                return null;
            }
            return $var5;
        }
        $var6 = $this.$getBlockID($par1, $par2, $par3);
        if ($var6 > 0) {
            nms_Block_$callClinit();
            if (nms_Block_blocksList.data[$var6].$isBlockContainer) {
                var$7 = nms_Block_blocksList.data[$var6];
                $var5 = $this.$worldObj7;
                $ptr = 1;
                continue main;
            }
        }
        return null;
    case 1:
        $tmp = var$7.$createNewTileEntity($var5);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $tmp;
        var$7 = $this.$worldObj7;
        $par1 = ($this.$xPosition16 * 16 | 0) + $par1 | 0;
        $par3 = ($this.$zPosition15 * 16 | 0) + $par3 | 0;
        $ptr = 2;
    case 2:
        nms_World_setBlockTileEntity(var$7, $par1, $par2, $par3, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = ju_HashMap_get($this.$chunkTileEntityMap, $var4);
        if ($var5 !== null && $var5.$tileEntityInvalid) {
            ju_HashMap_remove($this.$chunkTileEntityMap, $var4);
            return null;
        }
        return $var5;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, var$7, $ptr);
};
$java.nms_Chunk_setChunkBlockTileEntity = function($this, $par1, $par2, $par3, $par4TileEntity) {
    var $var5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$par4TileEntity = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $java.nms_ChunkPosition__init_($par1, $par2, $par3);
        $par4TileEntity.$worldObj4 = $this.$worldObj7;
        $par4TileEntity.$xCoord0 = ($this.$xPosition16 * 16 | 0) + $par1 | 0;
        $par4TileEntity.$yCoord0 = $par2;
        $par4TileEntity.$zCoord0 = ($this.$zPosition15 * 16 | 0) + $par3 | 0;
        if ($this.$getBlockID($par1, $par2, $par3)) {
            nms_Block_$callClinit();
            if ($rt_isInstance(nms_Block_blocksList.data[$this.$getBlockID($par1, $par2, $par3)], nms_ITileEntityProvider)) {
                if (ju_HashMap_containsKey($this.$chunkTileEntityMap, $var5)) {
                    var$6 = ju_HashMap_get($this.$chunkTileEntityMap, $var5);
                    $ptr = 1;
                    continue main;
                }
                $java.nms_TileEntity_validate($par4TileEntity);
                ju_HashMap_putImpl($this.$chunkTileEntityMap, $var5, $par4TileEntity);
            }
        }
        return;
    case 1:
        var$6.$invalidate();
        if ($rt_suspending()) {
            break main;
        }
        $java.nms_TileEntity_validate($par4TileEntity);
        ju_HashMap_putImpl($this.$chunkTileEntityMap, $var5, $par4TileEntity);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4TileEntity, $var5, var$6, $ptr);
};
$java.nms_Chunk_removeChunkBlockTileEntity = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = $java.nms_ChunkPosition__init_($par1, $par2, $par3);
        if ($this.$isChunkLoaded) {
            $var5 = ju_HashMap_remove($this.$chunkTileEntityMap, $var4);
            if ($var5 !== null) {
                $ptr = 1;
                continue main;
            }
        }
        return;
    case 1:
        $var5.$invalidate();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $ptr);
};
$java.nms_Chunk_onChunkUnload = function($this) {
    var $var1, $var2, $var3;
    $this.$isChunkLoaded = 0;
    $var1 = ju_HashMap_values($this.$chunkTileEntityMap).$iterator();
    while ($var1.$hasNext()) {
        $var2 = $var1.$next();
        nms_World_markTileEntityForDespawn($this.$worldObj7, $var2);
    }
    $var3 = 0;
    while ($var3 < $this.$entityLists.data.length) {
        nms_World_unloadEntities($this.$worldObj7, $this.$entityLists.data[$var3]);
        $var3 = $var3 + 1 | 0;
    }
};
$java.nms_Chunk_setChunkModified = function($this) {
    $this.$isModified = 1;
};
$java.nms_Chunk_getEntitiesWithinAABBForEntity = function($this, $par1Entity, $par2AxisAlignedBB, $par3List, $par4IEntitySelector) {
    var $var7, $var6, $var8, $var9, $var10, $var11, $var12, var$12;
    $var7 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$minY - 2.0) / 16.0);
    $var6 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$maxY + 2.0) / 16.0);
    if ($var7 < 0) {
        $var7 = 0;
        $var6 = jl_Math_max($var7, $var6);
    }
    if ($var6 >= $this.$entityLists.data.length) {
        $var6 = $this.$entityLists.data.length - 1 | 0;
        $var7 = jl_Math_min($var7, $var6);
    }
    while ($var7 <= $var6) {
        $var8 = $this.$entityLists.data[$var7];
        $var9 = 0;
        while ($var9 < $var8.$size) {
            a: {
                $var10 = ju_ArrayList_get($var8, $var9);
                if ($var10 !== $par1Entity && nms_AxisAlignedBB_intersectsWith($var10.$boundingBox, $par2AxisAlignedBB) && !($par4IEntitySelector !== null && !$par4IEntitySelector.$isEntityApplicable($var10))) {
                    ju_ArrayList_add($par3List, $var10);
                    $var11 = $var10.$getParts();
                    if ($var11 !== null) {
                        $var12 = 0;
                        while (true) {
                            var$12 = $var11.data;
                            if ($var12 >= var$12.length)
                                break a;
                            $var10 = var$12[$var12];
                            if ($var10 !== $par1Entity && nms_AxisAlignedBB_intersectsWith($var10.$boundingBox, $par2AxisAlignedBB) && !($par4IEntitySelector !== null && !$par4IEntitySelector.$isEntityApplicable($var10)))
                                ju_ArrayList_add($par3List, $var10);
                            $var12 = $var12 + 1 | 0;
                        }
                    }
                }
            }
            $var9 = $var9 + 1 | 0;
        }
        $var7 = $var7 + 1 | 0;
    }
};
$java.nms_Chunk_getEntitiesOfTypeWithinAAAB = function($this, $par1Class, $par2AxisAlignedBB, $par3List, $par4IEntitySelector) {
    var $var7, $var6, $var8, $var9, $var10;
    $var7 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$minY - 2.0) / 16.0);
    $var6 = nms_MathHelper_floor_double(($par2AxisAlignedBB.$maxY + 2.0) / 16.0);
    if ($var7 < 0)
        $var7 = 0;
    else if ($var7 >= $this.$entityLists.data.length)
        $var7 = $this.$entityLists.data.length - 1 | 0;
    if ($var6 >= $this.$entityLists.data.length)
        $var6 = $this.$entityLists.data.length - 1 | 0;
    else if ($var6 < 0)
        $var6 = 0;
    while ($var7 <= $var6) {
        $var8 = $this.$entityLists.data[$var7];
        $var9 = 0;
        while ($var9 < $var8.$size) {
            $var10 = ju_ArrayList_get($var8, $var9);
            if (jl_Class_isAssignableFrom($par1Class, jl_Object_getClass($var10)) && nms_AxisAlignedBB_intersectsWith($var10.$boundingBox, $par2AxisAlignedBB) && !($par4IEntitySelector !== null && !$par4IEntitySelector.$isEntityApplicable($var10)))
                ju_ArrayList_add($par3List, $var10);
            $var9 = $var9 + 1 | 0;
        }
        $var7 = $var7 + 1 | 0;
    }
};
$java.nms_Chunk_isEmpty = function($this) {
    return 0;
};
function nms_Chunk_getPrecipitationHeight($this, $par1, $par2) {
    var $var3, $var4, $var5, $var6, $var7;
    $var3 = $par1 | $par2 << 4;
    $var4 = $this.$precipitationHeightMap.data[$var3];
    if ($var4 == (-999)) {
        $var5 = $java.nms_Chunk_getTopFilledSegment($this) + 15 | 0;
        $var4 = (-1);
        while ($var5 > 0 && $var4 == (-1)) {
            $var6 = $this.$getBlockID($par1, $var5, $par2);
            if (!$var6) {
                nms_Material_$callClinit();
                $var7 = nms_Material_air;
            } else {
                nms_Block_$callClinit();
                $var7 = nms_Block_blocksList.data[$var6].$blockMaterial;
            }
            if (!$var7.$blocksMovement() && !$var7.$isLiquid())
                $var5 = $var5 + (-1) | 0;
            else
                $var4 = $var5 + 1 | 0;
        }
        $this.$precipitationHeightMap.data[$var3] = $var4;
    }
    return $var4;
}
$java.nms_Chunk_getAreLevelsEmpty = function($this, $var3, $par2) {
    var $var4;
    if ($var3 < 0)
        $var3 = 0;
    if ($par2 >= 256)
        $par2 = 255;
    while ($var3 <= $par2) {
        $var4 = $this.$storageArrays.data[$var3 >> 4];
        if ($var4 !== null && !$java.nms_ExtendedBlockStorage_isEmpty($var4))
            return 0;
        $var3 = $var3 + 16 | 0;
    }
    return 1;
};
$java.nms_Chunk_fillChunk = function($this, $par1ArrayOfByte, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, var$9, var$10, $var9, $var11;
    $var5 = 0;
    $var6 = $this.$worldObj7.$provider.$hasNoSky ? 0 : 1;
    $var7 = 0;
    while ($var7 < $this.$storageArrays.data.length) {
        if ($par2 & 1 << $var7) {
            if ($this.$storageArrays.data[$var7] === null)
                $this.$storageArrays.data[$var7] = $java.nms_ExtendedBlockStorage__init_0($var7 << 4, $var6);
            $var8 = $this.$storageArrays.data[$var7].$blockLSBArray;
            var$9 = $var8.data.length;
            jl_System_arraycopy($par1ArrayOfByte, $var5, $var8, 0, var$9);
            $var5 = $var5 + var$9 | 0;
        } else if ($par4 && $this.$storageArrays.data[$var7] !== null)
            $this.$storageArrays.data[$var7] = null;
        $var7 = $var7 + 1 | 0;
    }
    var$10 = 0;
    while (var$10 < $this.$storageArrays.data.length) {
        if ($par2 & 1 << var$10 && $this.$storageArrays.data[var$10] !== null) {
            $var9 = $this.$storageArrays.data[var$10].$blockMetadataArray;
            jl_System_arraycopy($par1ArrayOfByte, $var5, $var9.$data14, 0, $var9.$data14.data.length);
            $var5 = $var5 + $var9.$data14.data.length | 0;
        }
        var$10 = var$10 + 1 | 0;
    }
    $var7 = 0;
    while ($var7 < $this.$storageArrays.data.length) {
        if ($par2 & 1 << $var7 && $this.$storageArrays.data[$var7] !== null) {
            $var9 = $this.$storageArrays.data[$var7].$blocklightArray;
            jl_System_arraycopy($par1ArrayOfByte, $var5, $var9.$data14, 0, $var9.$data14.data.length);
            $var5 = $var5 + $var9.$data14.data.length | 0;
        }
        $var7 = $var7 + 1 | 0;
    }
    if ($var6) {
        var$10 = 0;
        while (var$10 < $this.$storageArrays.data.length) {
            if ($par2 & 1 << var$10 && $this.$storageArrays.data[var$10] !== null) {
                $var9 = $this.$storageArrays.data[var$10].$skylightArray;
                jl_System_arraycopy($par1ArrayOfByte, $var5, $var9.$data14, 0, $var9.$data14.data.length);
                $var5 = $var5 + $var9.$data14.data.length | 0;
            }
            var$10 = var$10 + 1 | 0;
        }
    }
    $var7 = 0;
    while ($var7 < $this.$storageArrays.data.length) {
        if (!($par3 & 1 << $var7)) {
            if ($par4 && $this.$storageArrays.data[$var7] !== null && $this.$storageArrays.data[$var7].$blockMSBArray !== null)
                $java.nms_ExtendedBlockStorage_clearMSBArray($this.$storageArrays.data[$var7]);
        } else if ($this.$storageArrays.data[$var7] === null)
            $var5 = $var5 + 2048 | 0;
        else {
            $var9 = $this.$storageArrays.data[$var7].$blockMSBArray;
            if ($var9 === null)
                $var9 = $java.nms_ExtendedBlockStorage_createBlockMSBArray($this.$storageArrays.data[$var7]);
            jl_System_arraycopy($par1ArrayOfByte, $var5, $var9.$data14, 0, $var9.$data14.data.length);
            $var5 = $var5 + $var9.$data14.data.length | 0;
        }
        $var7 = $var7 + 1 | 0;
    }
    if ($par4)
        jl_System_arraycopy($par1ArrayOfByte, $var5, $this.$blockBiomeArray, 0, $this.$blockBiomeArray.data.length);
    $par4 = 0;
    while ($par4 < $this.$storageArrays.data.length) {
        if ($this.$storageArrays.data[$par4] !== null && $par2 & 1 << $par4)
            $java.nms_ExtendedBlockStorage_removeInvalidBlocks($this.$storageArrays.data[$par4]);
        $par4 = $par4 + 1 | 0;
    }
    $this.$generateHeightMap();
    $var11 = ju_HashMap_values($this.$chunkTileEntityMap).$iterator();
    while ($var11.$hasNext()) {
        $var11.$next().$updateContainingBlockInfo();
    }
};
function nms_Chunk_getBiomeGenForWorldCoords($this, $par1, $par2) {
    var $var4;
    $var4 = $this.$blockBiomeArray.data[$par2 << 4 | $par1] & 255;
    if ($var4 == 255)
        $var4 = 0;
    return $java.nms_BiomeGenBase_biomeList.data[$var4] === null ? $java.nms_BiomeGenBase_plains : $java.nms_BiomeGenBase_biomeList.data[$var4];
}
$java.nms_Chunk_resetRelightChecks = function($this) {
    $this.$queuedLightChecks = 0;
};
function nms_Chunk_enqueueRelightChecks($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, $var8, var$16, var$17, var$18, var$19;
    $var1 = 0;
    while ($var1 < 8) {
        if ($this.$queuedLightChecks >= 4096)
            return;
        $var2 = $this.$queuedLightChecks % 16 | 0;
        $var3 = ($this.$queuedLightChecks / 16 | 0) % 16 | 0;
        $var4 = $this.$queuedLightChecks / 256 | 0;
        $this.$queuedLightChecks = $this.$queuedLightChecks + 1 | 0;
        $var5 = ($this.$xPosition16 << 4) + $var3 | 0;
        $var6 = ($this.$zPosition15 << 4) + $var4 | 0;
        $var7 = 0;
        var$8 = $var2 << 4;
        var$9 = $var5 - 1 | 0;
        var$10 = $var5 + 1 | 0;
        var$11 = $var6 - 1 | 0;
        var$12 = $var6 + 1 | 0;
        var$13 = $rt_compare($var3, 15);
        var$14 = $rt_compare($var4, 15);
        while ($var7 < 16) {
            a: {
                b: {
                    $var8 = var$8 + $var7 | 0;
                    if ($this.$storageArrays.data[$var2] === null) {
                        if (!$var7)
                            break b;
                        if ($var7 == 15)
                            break b;
                        if (!$var3)
                            break b;
                        if (!var$13)
                            break b;
                        if (!$var4)
                            break b;
                        if (!var$14)
                            break b;
                    }
                    if ($this.$storageArrays.data[$var2] === null)
                        break a;
                    if ($java.nms_ExtendedBlockStorage_getExtBlockID($this.$storageArrays.data[$var2], $var3, $var7, $var4))
                        break a;
                }
                nms_Block_$callClinit();
                var$16 = nms_Block_lightValue.data;
                var$17 = $this.$worldObj7;
                var$18 = $var8 - 1 | 0;
                if (var$16[nms_World_getBlockId(var$17, $var5, var$18, $var6)] > 0)
                    nms_World_updateAllLightTypes($this.$worldObj7, $var5, var$18, $var6);
                var$16 = nms_Block_lightValue.data;
                var$17 = $this.$worldObj7;
                var$19 = $var8 + 1 | 0;
                if (var$16[nms_World_getBlockId(var$17, $var5, var$19, $var6)] > 0)
                    nms_World_updateAllLightTypes($this.$worldObj7, $var5, var$19, $var6);
                if (nms_Block_lightValue.data[nms_World_getBlockId($this.$worldObj7, var$9, $var8, $var6)] > 0)
                    nms_World_updateAllLightTypes($this.$worldObj7, var$9, $var8, $var6);
                if (nms_Block_lightValue.data[nms_World_getBlockId($this.$worldObj7, var$10, $var8, $var6)] > 0)
                    nms_World_updateAllLightTypes($this.$worldObj7, var$10, $var8, $var6);
                if (nms_Block_lightValue.data[nms_World_getBlockId($this.$worldObj7, $var5, $var8, var$11)] > 0)
                    nms_World_updateAllLightTypes($this.$worldObj7, $var5, $var8, var$11);
                if (nms_Block_lightValue.data[nms_World_getBlockId($this.$worldObj7, $var5, $var8, var$12)] > 0)
                    nms_World_updateAllLightTypes($this.$worldObj7, $var5, $var8, var$12);
                nms_World_updateAllLightTypes($this.$worldObj7, $var5, $var8, $var6);
            }
            $var7 = $var7 + 1 | 0;
        }
        $var1 = $var1 + 1 | 0;
    }
}
function nms_ChunkCache() {
    var a = this; jl_Object.call(a);
    a.$chunkX0 = 0;
    a.$chunkZ0 = 0;
    a.$chunkArray = null;
    a.$hasExtendedLevels = 0;
    a.$worldObj8 = null;
}
function nms_ChunkCache__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
    var var_8 = new nms_ChunkCache();
    $java.nms_ChunkCache__init_(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
    return var_8;
}
$java.nms_ChunkCache__init_ = function($this, $par1World, $par2, $par3, $par4, $par5, $par6, $par7, $par8) {
    var $var9, $var10, $var11, $var12, $var13;
    $this.$worldObj8 = $par1World;
    $this.$chunkX0 = ($par2 - $par8 | 0) >> 4;
    $this.$chunkZ0 = ($par4 - $par8 | 0) >> 4;
    $var9 = ($par5 + $par8 | 0) >> 4;
    $var10 = ($par7 + $par8 | 0) >> 4;
    $this.$chunkArray = $rt_createMultiArray($rt_arraycls($rt_arraycls(nms_Chunk)), [($var10 - $this.$chunkZ0 | 0) + 1 | 0, ($var9 - $this.$chunkX0 | 0) + 1 | 0]);
    $this.$hasExtendedLevels = 1;
    $var11 = $this.$chunkX0;
    while ($var11 <= $var9) {
        $var12 = $this.$chunkZ0;
        while ($var12 <= $var10) {
            $var13 = nms_World_getChunkFromChunkCoords($par1World, $var11, $var12);
            if ($var13 !== null)
                $this.$chunkArray.data[$var11 - $this.$chunkX0 | 0].data[$var12 - $this.$chunkZ0 | 0] = $var13;
            $var12 = $var12 + 1 | 0;
        }
        $var11 = $var11 + 1 | 0;
    }
    $par2 = $par2 >> 4;
    $par5 = $par5 >> 4;
    $par4 = $par4 >> 4;
    $par8 = $par7 >> 4;
    while ($par2 <= $par5) {
        $var12 = $par4;
        while ($var12 <= $par8) {
            $var13 = $this.$chunkArray.data[$par2 - $this.$chunkX0 | 0].data[$var12 - $this.$chunkZ0 | 0];
            if ($var13 !== null && !$var13.$getAreLevelsEmpty($par3, $par6))
                $this.$hasExtendedLevels = 0;
            $var12 = $var12 + 1 | 0;
        }
        $par2 = $par2 + 1 | 0;
    }
};
$java.nms_ChunkCache_extendedLevelsInChunkCache = function($this) {
    return $this.$hasExtendedLevels;
};
$java.nms_ChunkCache_getBlockId = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6;
    if ($par2 < 0)
        return 0;
    if ($par2 >= 256)
        return 0;
    $var4 = ($par1 >> 4) - $this.$chunkX0 | 0;
    $var5 = ($par3 >> 4) - $this.$chunkZ0 | 0;
    if ($var4 >= 0 && $var4 < $this.$chunkArray.data.length && $var5 >= 0 && $var5 < $this.$chunkArray.data[$var4].data.length) {
        $var6 = $this.$chunkArray.data[$var4].data[$var5];
        return $var6 === null ? 0 : $var6.$getBlockID($par1 & 15, $par2, $par3 & 15);
    }
    return 0;
};
$java.nms_ChunkCache_getBlockTileEntity = function($this, $par1, $par2, $par3) {
    var $var4, $var5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = ($par1 >> 4) - $this.$chunkX0 | 0;
        $var5 = ($par3 >> 4) - $this.$chunkZ0 | 0;
        var$6 = $this.$chunkArray.data[$var4].data[$var5];
        $var4 = $par1 & 15;
        $par1 = $par3 & 15;
        $ptr = 1;
    case 1:
        $tmp = var$6.$getChunkBlockTileEntity($var4, $par2, $par1);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $tmp;
        return var$6;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, var$6, $ptr);
};
$java.nms_ChunkCache_getBrightness = function($this, $par1, $par2, $par3, $par4) {
    var $var5;
    $var5 = $java.nms_ChunkCache_getLightValue($this, $par1, $par2, $par3);
    if ($var5 >= $par4)
        $par4 = $var5;
    return $this.$worldObj8.$provider.$lightBrightnessTable.data[$par4];
};
$java.nms_ChunkCache_getLightBrightnessForSkyBlocks = function($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $java.nms_ChunkCache_getSkyBlockTypeBrightness($this, nms_EnumSkyBlock_Sky, $par1, $par2, $par3);
    $var6 = $java.nms_ChunkCache_getSkyBlockTypeBrightness($this, nms_EnumSkyBlock_Block, $par1, $par2, $par3);
    if ($var6 >= $par4)
        $par4 = $var6;
    return $var5 << 20 | $par4 << 4;
};
$java.nms_ChunkCache_getLightBrightness = function($this, $par1, $par2, $par3) {
    return $this.$worldObj8.$provider.$lightBrightnessTable.data[$java.nms_ChunkCache_getLightValue($this, $par1, $par2, $par3)];
};
$java.nms_ChunkCache_getLightValue = function($this, $par1, $par2, $par3) {
    return $java.nms_ChunkCache_getLightValueExt($this, $par1, $par2, $par3, 1);
};
$java.nms_ChunkCache_getLightValueExt = function($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10;
    if ($par1 >= (-30000000) && $par3 >= (-30000000) && $par1 < 30000000 && $par3 <= 30000000) {
        a: {
            if ($par4) {
                $var5 = $java.nms_ChunkCache_getBlockId($this, $par1, $par2, $par3);
                nms_Block_$callClinit();
                if ($var5 == nms_Block_stoneSingleSlab.$blockID)
                    break a;
                if ($var5 == nms_Block_woodSingleSlab.$blockID)
                    break a;
                if ($var5 == nms_Block_tilledField.$blockID)
                    break a;
                if ($var5 == nms_Block_stairsWoodOak.$blockID)
                    break a;
                if ($var5 == nms_Block_stairsCobblestone.$blockID)
                    break a;
            }
            if ($par2 < 0)
                return 0;
            if ($par2 >= 256) {
                $var5 = 15 - $this.$worldObj8.$skylightSubtracted | 0;
                if ($var5 < 0)
                    $var5 = 0;
                return $var5;
            }
            $var5 = ($par1 >> 4) - $this.$chunkX0 | 0;
            $var6 = ($par3 >> 4) - $this.$chunkZ0 | 0;
            return $this.$chunkArray.data[$var5].data[$var6].$getBlockLightValue($par1 & 15, $par2, $par3 & 15, $this.$worldObj8.$skylightSubtracted);
        }
        $var6 = $java.nms_ChunkCache_getLightValueExt($this, $par1, $par2 + 1 | 0, $par3, 0);
        $var7 = $java.nms_ChunkCache_getLightValueExt($this, $par1 + 1 | 0, $par2, $par3, 0);
        $var8 = $java.nms_ChunkCache_getLightValueExt($this, $par1 - 1 | 0, $par2, $par3, 0);
        $var9 = $java.nms_ChunkCache_getLightValueExt($this, $par1, $par2, $par3 + 1 | 0, 0);
        $var10 = $java.nms_ChunkCache_getLightValueExt($this, $par1, $par2, $par3 - 1 | 0, 0);
        if ($var7 <= $var6)
            $var7 = $var6;
        if ($var8 <= $var7)
            $var8 = $var7;
        if ($var9 <= $var8)
            $var9 = $var8;
        if ($var10 <= $var9)
            $var10 = $var9;
        return $var10;
    }
    return 15;
};
$java.nms_ChunkCache_getBlockMetadata = function($this, $par1, $par2, $par3) {
    var $var4, $var5;
    if ($par2 < 0)
        return 0;
    if ($par2 >= 256)
        return 0;
    $var4 = ($par1 >> 4) - $this.$chunkX0 | 0;
    $var5 = ($par3 >> 4) - $this.$chunkZ0 | 0;
    return $this.$chunkArray.data[$var4].data[$var5].$getBlockMetadata($par1 & 15, $par2, $par3 & 15);
};
$java.nms_ChunkCache_getBlockMaterial = function($this, $par1, $par2, $par3) {
    var $var4, var$5;
    $var4 = $java.nms_ChunkCache_getBlockId($this, $par1, $par2, $par3);
    if (!$var4) {
        nms_Material_$callClinit();
        var$5 = nms_Material_air;
    } else {
        nms_Block_$callClinit();
        var$5 = nms_Block_blocksList.data[$var4].$blockMaterial;
    }
    return var$5;
};
$java.nms_ChunkCache_getBiomeGenForCoords = function($this, $par1, $par2) {
    return nms_World_getBiomeGenForCoords($this.$worldObj8, $par1, $par2);
};
$java.nms_ChunkCache_isBlockOpaqueCube = function($this, $par1, $par2, $par3) {
    var $var4;
    nms_Block_$callClinit();
    $var4 = nms_Block_blocksList.data[$java.nms_ChunkCache_getBlockId($this, $par1, $par2, $par3)];
    return $var4 !== null ? $var4.$isOpaqueCube() : 0;
};
$java.nms_ChunkCache_isBlockNormalCube = function($this, $par1, $par2, $par3) {
    var $var4;
    nms_Block_$callClinit();
    $var4 = nms_Block_blocksList.data[$java.nms_ChunkCache_getBlockId($this, $par1, $par2, $par3)];
    return $var4 === null ? 0 : $var4.$blockMaterial.$blocksMovement() && $var4.$renderAsNormalBlock() ? 1 : 0;
};
$java.nms_ChunkCache_doesBlockHaveSolidTopSurface = function($this, $par1, $par2, $par3) {
    var $var4;
    nms_Block_$callClinit();
    $var4 = nms_Block_blocksList.data[$java.nms_ChunkCache_getBlockId($this, $par1, $par2, $par3)];
    return nms_World_isBlockTopFacingSurfaceSolid($this.$worldObj8, $var4, $java.nms_ChunkCache_getBlockMetadata($this, $par1, $par2, $par3));
};
$java.nms_ChunkCache_getWorldVec3Pool = function($this) {
    return $this.$worldObj8.$vecPool;
};
$java.nms_ChunkCache_isAirBlock = function($this, $par1, $par2, $par3) {
    nms_Block_$callClinit();
    return nms_Block_blocksList.data[$java.nms_ChunkCache_getBlockId($this, $par1, $par2, $par3)] !== null ? 0 : 1;
};
$java.nms_ChunkCache_getSkyBlockTypeBrightness = function($this, $par1EnumSkyBlock, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9;
    if ($par3 < 0)
        $par3 = 0;
    if ($par3 >= 256)
        $par3 = 255;
    if ($par3 >= 0 && $par3 < 256 && $par2 >= (-30000000) && $par4 >= (-30000000) && $par2 < 30000000 && $par4 <= 30000000) {
        if ($par1EnumSkyBlock === nms_EnumSkyBlock_Sky && $this.$worldObj8.$provider.$hasNoSky)
            return 0;
        nms_Block_$callClinit();
        if (!nms_Block_useNeighborBrightness.data[$java.nms_ChunkCache_getBlockId($this, $par2, $par3, $par4)]) {
            $var5 = ($par2 >> 4) - $this.$chunkX0 | 0;
            $var6 = ($par4 >> 4) - $this.$chunkZ0 | 0;
            return $this.$chunkArray.data[$var5].data[$var6].$getSavedLightValue($par1EnumSkyBlock, $par2 & 15, $par3, $par4 & 15);
        }
        $var5 = $java.nms_ChunkCache_getSpecialBlockBrightness($this, $par1EnumSkyBlock, $par2, $par3 + 1 | 0, $par4);
        $var6 = $java.nms_ChunkCache_getSpecialBlockBrightness($this, $par1EnumSkyBlock, $par2 + 1 | 0, $par3, $par4);
        $var7 = $java.nms_ChunkCache_getSpecialBlockBrightness($this, $par1EnumSkyBlock, $par2 - 1 | 0, $par3, $par4);
        $var8 = $java.nms_ChunkCache_getSpecialBlockBrightness($this, $par1EnumSkyBlock, $par2, $par3, $par4 + 1 | 0);
        $var9 = $java.nms_ChunkCache_getSpecialBlockBrightness($this, $par1EnumSkyBlock, $par2, $par3, $par4 - 1 | 0);
        if ($var6 <= $var5)
            $var6 = $var5;
        if ($var7 <= $var6)
            $var7 = $var6;
        if ($var8 <= $var7)
            $var8 = $var7;
        if ($var9 <= $var8)
            $var9 = $var8;
        return $var9;
    }
    return $par1EnumSkyBlock.$defaultLightValue;
};
$java.nms_ChunkCache_getSpecialBlockBrightness = function($this, $par1EnumSkyBlock, $par2, $par3, $par4) {
    var $var5, $var6;
    if ($par3 < 0)
        $par3 = 0;
    if ($par3 >= 256)
        $par3 = 255;
    if ($par3 >= 0 && $par3 < 256 && $par2 >= (-30000000) && $par4 >= (-30000000) && $par2 < 30000000 && $par4 <= 30000000) {
        $var5 = ($par2 >> 4) - $this.$chunkX0 | 0;
        $var6 = ($par4 >> 4) - $this.$chunkZ0 | 0;
        return $this.$chunkArray.data[$var5].data[$var6].$getSavedLightValue($par1EnumSkyBlock, $par2 & 15, $par3, $par4 & 15);
    }
    return $par1EnumSkyBlock.$defaultLightValue;
};
$java.nms_ChunkCache_getHeight = function($this) {
    return 256;
};
$java.nms_ChunkCache_isBlockProvidingPowerTo = function($this, $par1, $par2, $par3, $par4) {
    var $var5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var5 = $java.nms_ChunkCache_getBlockId($this, $par1, $par2, $par3);
        if (!$var5)
            return 0;
        nms_Block_$callClinit();
        var$6 = nms_Block_blocksList.data[$var5];
        $ptr = 1;
    case 1:
        $tmp = var$6.$isProvidingStrongPower($this, $par1, $par2, $par3, $par4);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        return $par1;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, var$6, $ptr);
};
function nms_ChestItemRenderHelper() {
    var a = this; jl_Object.call(a);
    a.$theChest = null;
    a.$theEnderChest = null;
}
var nms_ChestItemRenderHelper_instance = null;
$java.nms_ChestItemRenderHelper__init_ = function() {
    var var_0 = new nms_ChestItemRenderHelper();
    nms_ChestItemRenderHelper__init_(var_0);
    return var_0;
};
function nms_ChestItemRenderHelper__init_($this) {
    var var$1;
    $this.$theChest = $java.nms_TileEntityChest__init_();
    var$1 = new nms_TileEntityEnderChest;
    nms_TileEntity__init_(var$1);
    $this.$theEnderChest = var$1;
}
function nms_ChestItemRenderHelper_renderChest($this, $par1Block, $par2, $par3) {
    var var$4, var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Block = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $par2 = $par1Block.$blockID;
        nms_Block_$callClinit();
        if ($par2 != nms_Block_enderChest.$blockID) {
            nms_TileEntityRenderer_$callClinit();
            $par1Block = nms_TileEntityRenderer_instance;
            var$4 = $this.$theChest;
            var$5 = 0.0;
            var$6 = 0.0;
            var$7 = 0.0;
            $par3 = 0.0;
            $ptr = 1;
            continue main;
        }
        nms_TileEntityRenderer_$callClinit();
        $par1Block = nms_TileEntityRenderer_instance;
        var$4 = $this.$theEnderChest;
        var$5 = 0.0;
        var$6 = 0.0;
        var$7 = 0.0;
        $par3 = 0.0;
        $ptr = 2;
        continue main;
    case 1:
        $java.nms_TileEntityRenderer_renderTileEntityAt($par1Block, var$4, var$5, var$6, var$7, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        $java.nms_TileEntityRenderer_renderTileEntityAt($par1Block, var$4, var$5, var$6, var$7, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Block, $par2, $par3, var$4, var$5, var$6, var$7, $ptr);
}
function nms_ChestItemRenderHelper__clinit_() {
    nms_ChestItemRenderHelper_instance = $java.nms_ChestItemRenderHelper__init_();
}
function ju_LinkedHashMap$2() {
    ju_AbstractCollection.call(this);
    this.$this$043 = null;
}
$java.ju_LinkedHashMap$2_size = function($this) {
    return $this.$this$043.$elementCount;
};
$java.ju_LinkedHashMap$2_iterator = function($this) {
    var var$1;
    var$1 = new ju_LinkedHashMap$ValueIterator;
    $java.ju_LinkedHashMap$AbstractMapIterator__init_(var$1, $this.$this$043);
    return var$1;
};
function nms_MapCoord() {
    var a = this; jl_Object.call(a);
    a.$iconSize = 0;
    a.$centerX = 0;
    a.$centerZ = 0;
    a.$iconRotation = 0;
    a.$data13 = null;
}
function ju_Formatter$FormatWriter() {
    var a = this; jl_Object.call(a);
    a.$formatter = null;
    a.$out5 = null;
    a.$locale5 = null;
    a.$format11 = null;
    a.$args = null;
    a.$index10 = 0;
    a.$formatSpecifierStart = 0;
    a.$defaultArgumentIndex = 0;
    a.$argumentIndex = 0;
    a.$previousArgumentIndex = 0;
    a.$width10 = 0;
    a.$precision1 = 0;
    a.$flags3 = 0;
}
$java.ju_Formatter$FormatWriter__init_ = function(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new ju_Formatter$FormatWriter();
    $java.ju_Formatter$FormatWriter__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
};
$java.ju_Formatter$FormatWriter__init_0 = function($this, $formatter, $out, $locale, $format, $args) {
    $this.$formatter = $formatter;
    $this.$out5 = $out;
    $this.$locale5 = $locale;
    $this.$format11 = $format;
    $this.$args = $args;
};
$java.ju_Formatter$FormatWriter_write = function($this) {
    var $next, $specifier, var$3;
    a: while (true) {
        $next = jl_String_indexOf($this.$format11, 37, $this.$index10);
        if ($next < 0) {
            jl_AbstractStringBuilder_append5($this.$out5, jl_String_substring($this.$format11, $this.$index10));
            return;
        }
        jl_AbstractStringBuilder_append5($this.$out5, jl_String_substring0($this.$format11, $this.$index10, $next));
        $this.$index10 = $next + 1 | 0;
        $this.$formatSpecifierStart = $this.$index10;
        $specifier = $java.ju_Formatter$FormatWriter_parseFormatSpecifier($this);
        if ($this.$flags3 & 256)
            $this.$argumentIndex = jl_Math_max(0, $this.$previousArgumentIndex);
        if ($this.$argumentIndex == (-1)) {
            var$3 = $this.$defaultArgumentIndex;
            $this.$defaultArgumentIndex = var$3 + 1 | 0;
            $this.$argumentIndex = var$3;
        }
        b: {
            $this.$previousArgumentIndex = $this.$argumentIndex;
            switch ($specifier) {
                case 66:
                    break;
                case 67:
                    $java.ju_Formatter$FormatWriter_formatChar($this, $specifier, 1);
                    break b;
                case 68:
                    $java.ju_Formatter$FormatWriter_formatDecimalInt($this, $specifier, 1);
                    break b;
                case 69:
                case 70:
                case 71:
                case 73:
                case 74:
                case 75:
                case 76:
                case 77:
                case 78:
                case 80:
                case 81:
                case 82:
                case 84:
                case 85:
                case 86:
                case 87:
                case 89:
                case 90:
                case 91:
                case 92:
                case 93:
                case 94:
                case 95:
                case 96:
                case 97:
                case 101:
                case 102:
                case 103:
                case 105:
                case 106:
                case 107:
                case 108:
                case 109:
                case 110:
                case 112:
                case 113:
                case 114:
                case 116:
                case 117:
                case 118:
                case 119:
                    break a;
                case 72:
                    $java.ju_Formatter$FormatWriter_formatHex($this, $specifier, 1);
                    break b;
                case 79:
                    $java.ju_Formatter$FormatWriter_formatRadixInt($this, $specifier, 3, 1);
                    break b;
                case 83:
                    $java.ju_Formatter$FormatWriter_formatString($this, $specifier, 1);
                    break b;
                case 88:
                    $java.ju_Formatter$FormatWriter_formatRadixInt($this, $specifier, 4, 1);
                    break b;
                case 98:
                    $java.ju_Formatter$FormatWriter_formatBoolean($this, $specifier, 0);
                    break b;
                case 99:
                    $java.ju_Formatter$FormatWriter_formatChar($this, $specifier, 0);
                    break b;
                case 100:
                    $java.ju_Formatter$FormatWriter_formatDecimalInt($this, $specifier, 0);
                    break b;
                case 104:
                    $java.ju_Formatter$FormatWriter_formatHex($this, $specifier, 0);
                    break b;
                case 111:
                    $java.ju_Formatter$FormatWriter_formatRadixInt($this, $specifier, 3, 0);
                    break b;
                case 115:
                    $java.ju_Formatter$FormatWriter_formatString($this, $specifier, 0);
                    break b;
                case 120:
                    $java.ju_Formatter$FormatWriter_formatRadixInt($this, $specifier, 4, 0);
                    break b;
                default:
                    break a;
            }
            $java.ju_Formatter$FormatWriter_formatBoolean($this, $specifier, 1);
        }
    }
    $rt_throw($java.ju_UnknownFormatConversionException__init_(jl_String_valueOf0($specifier)));
};
$java.ju_Formatter$FormatWriter_formatBoolean = function($this, $specifier, $upperCase) {
    var $arg;
    $java.ju_Formatter$FormatWriter_verifyFlagsForGeneralFormat($this, $specifier);
    $arg = $this.$args.data[$this.$argumentIndex];
    $java.ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, $java.jl_Boolean_toString($arg instanceof jl_Boolean ? $arg.$booleanValue() : $arg === null ? 0 : 1));
};
$java.ju_Formatter$FormatWriter_formatHex = function($this, $specifier, $upperCase) {
    var $arg;
    $java.ju_Formatter$FormatWriter_verifyFlagsForGeneralFormat($this, $specifier);
    $arg = $this.$args.data[$this.$argumentIndex];
    $java.ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, $arg === null ? $rt_s(48) : jl_Integer_toHexString($arg.$hashCode0()));
};
$java.ju_Formatter$FormatWriter_formatString = function($this, $specifier, $upperCase) {
    var $arg, $flagsToPass;
    $java.ju_Formatter$FormatWriter_verifyFlagsForGeneralFormat($this, $specifier);
    $arg = $this.$args.data[$this.$argumentIndex];
    if (!$rt_isInstance($arg, ju_Formattable))
        $java.ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, jl_String_valueOf($arg));
    else {
        $flagsToPass = $this.$flags3 & 7;
        if ($upperCase)
            $flagsToPass = $flagsToPass | 2;
        $arg.$formatTo($this.$formatter, $flagsToPass, $this.$width10, $this.$precision1);
    }
};
$java.ju_Formatter$FormatWriter_formatChar = function($this, $specifier, $upperCase) {
    var $arg, $c, var$5;
    $java.ju_Formatter$FormatWriter_verifyFlags($this, $specifier, 259);
    $arg = $this.$args.data[$this.$argumentIndex];
    if ($this.$precision1 >= 0)
        $rt_throw($java.ju_IllegalFormatPrecisionException__init_($this.$precision1));
    if ($arg instanceof jl_Character)
        $c = $arg.$charValue();
    else if ($arg instanceof jl_Byte)
        $c = $arg.$byteValue() & 65535;
    else if ($arg instanceof jl_Short)
        $c = $arg.$shortValue() & 65535;
    else {
        if (!($arg instanceof jl_Integer)) {
            if ($arg === null) {
                $java.ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, $rt_s(48));
                return;
            }
            $rt_throw($java.ju_IllegalFormatConversionException__init_($specifier, jl_Object_getClass($arg)));
        }
        $c = $arg.$value;
        if (!($c >= 0 && $c <= 1114111 ? 1 : 0)) {
            $arg = new ju_IllegalFormatCodePointException;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append(var$5, $rt_s(2995));
            jl_AbstractStringBuilder_append2(var$5, $c);
            jl_AbstractStringBuilder_append(var$5, $rt_s(2996));
            jl_Throwable__init_($arg, jl_AbstractStringBuilder_toString(var$5));
            $arg.$codePoint = $c;
            $rt_throw($arg);
        }
    }
    $java.ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, jl_String__init_(jl_Character_toChars($c)));
};
$java.ju_Formatter$FormatWriter_formatDecimalInt = function($this, $specifier, $upperCase) {
    var $arg, $value, $str, $negative, $value_0, $additionalSymbols, $sb, $valueSb, $separator, $size, $i, $prev, $i_0;
    $java.ju_Formatter$FormatWriter_verifyFlags($this, $specifier, 507);
    $java.ju_Formatter$FormatWriter_verifyIntFlags($this);
    $arg = $this.$args.data[$this.$argumentIndex];
    if ($arg instanceof jl_Long) {
        $value = $arg.$longValue();
        $str = jl_Long_toString(jl_Math_abs0($value));
        $negative = Long_ge($value, Long_ZERO) ? 0 : 1;
    } else {
        if (!($arg instanceof jl_Integer) && !($arg instanceof jl_Byte) && !($arg instanceof jl_Short))
            $rt_throw($java.ju_IllegalFormatConversionException__init_($specifier, $arg === null ? null : jl_Object_getClass($arg)));
        $value_0 = $arg.$intValue();
        $str = jl_Integer_toString(jl_Math_abs($value_0));
        $negative = $value_0 >= 0 ? 0 : 1;
    }
    $additionalSymbols = 0;
    $sb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($sb);
    if ($negative) {
        if (!($this.$flags3 & 128)) {
            jl_AbstractStringBuilder_append0($sb, 45);
            $additionalSymbols = 1;
        } else {
            jl_AbstractStringBuilder_append0($sb, 40);
            $additionalSymbols = 2;
        }
    } else if ($this.$flags3 & 8) {
        jl_AbstractStringBuilder_append0($sb, 43);
        $additionalSymbols = 1;
    } else if ($this.$flags3 & 16) {
        jl_AbstractStringBuilder_append0($sb, 32);
        $additionalSymbols = 1;
    }
    $valueSb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($valueSb);
    if (!($this.$flags3 & 64))
        jl_AbstractStringBuilder_append($valueSb, $str);
    else {
        $separator = jt_DecimalFormatSymbols__init_0($this.$locale5).$groupingSeparator;
        $size = jt_NumberFormat_getNumberInstance($this.$locale5).$groupingSize;
        $i = jl_String_length($str) % $size | 0;
        if (!$i)
            $i = $size;
        $prev = 0;
        while ($i < jl_String_length($str)) {
            jl_AbstractStringBuilder_append($valueSb, jl_String_substring0($str, $prev, $i));
            jl_AbstractStringBuilder_append0($valueSb, $separator);
            $i_0 = $i + $size | 0;
            $prev = $i;
            $i = $i_0;
        }
        jl_AbstractStringBuilder_append($valueSb, jl_String_substring($str, $prev));
    }
    a: {
        if ($this.$flags3 & 32) {
            $i = $valueSb.$length0 + $additionalSymbols | 0;
            while (true) {
                if ($i >= $this.$width10)
                    break a;
                jl_AbstractStringBuilder_append0($sb, jl_Character_forDigit(0, 10));
                $i = $i + 1 | 0;
            }
        }
    }
    jl_AbstractStringBuilder_append5($sb, $valueSb);
    if ($negative && $this.$flags3 & 128)
        jl_AbstractStringBuilder_append0($sb, 41);
    $java.ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, jl_AbstractStringBuilder_toString($sb));
};
$java.ju_Formatter$FormatWriter_formatRadixInt = function($this, $specifier, $radixLog2, $upperCase) {
    var $arg, var$5, $str, $i, var$8, var$9, var$10, var$11, var$12, var$13, $sb, $prefix;
    $java.ju_Formatter$FormatWriter_verifyFlags($this, $specifier, 423);
    $java.ju_Formatter$FormatWriter_verifyIntFlags($this);
    $arg = $this.$args.data[$this.$argumentIndex];
    if ($arg instanceof jl_Long) {
        var$5 = $arg.$longValue();
        if (Long_eq(var$5, Long_ZERO))
            $str = $rt_s(87);
        else {
            $specifier = 1 << $radixLog2;
            $i = $specifier - 1 | 0;
            var$8 = (((64 - jl_Long_numberOfLeadingZeros(var$5) | 0) + $radixLog2 | 0) - 1 | 0) / $radixLog2 | 0;
            var$9 = $rt_createCharArray(var$8);
            var$10 = var$9.data;
            var$11 = Long_fromInt($rt_imul(var$8 - 1 | 0, $radixLog2));
            var$12 = 0;
            var$13 = Long_fromInt($radixLog2);
            while (Long_ge(var$11, Long_ZERO)) {
                var$8 = var$12 + 1 | 0;
                var$10[var$12] = jl_Character_forDigit(Long_shru(var$5, var$11.lo).lo & $i, $specifier);
                var$11 = Long_sub(var$11, var$13);
                var$12 = var$8;
            }
            $str = jl_String__init_(var$9);
        }
    } else if ($arg instanceof jl_Integer)
        $str = otci_IntegerUtil_toUnsignedLogRadixString($arg.$value, $radixLog2);
    else if ($arg instanceof jl_Short)
        $str = otci_IntegerUtil_toUnsignedLogRadixString($arg.$shortValue() & 65535, $radixLog2);
    else {
        if (!($arg instanceof jl_Byte))
            $rt_throw($java.ju_IllegalFormatConversionException__init_($specifier, $arg === null ? null : jl_Object_getClass($arg)));
        $str = otci_IntegerUtil_toUnsignedLogRadixString($arg.$byteValue() & 255, $radixLog2);
    }
    $sb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($sb);
    if ($this.$flags3 & 4) {
        $prefix = $radixLog2 != 4 ? $rt_s(87) : $rt_s(2997);
        $arg = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($arg);
        jl_AbstractStringBuilder_append($arg, $prefix);
        jl_AbstractStringBuilder_append($arg, $str);
        $str = jl_AbstractStringBuilder_toString($arg);
    }
    a: {
        if ($this.$flags3 & 32) {
            $i = jl_String_length($str);
            while (true) {
                if ($i >= $this.$width10)
                    break a;
                jl_AbstractStringBuilder_append0($sb, jl_Character_forDigit(0, 10));
                $i = $i + 1 | 0;
            }
        }
    }
    jl_AbstractStringBuilder_append($sb, $str);
    $java.ju_Formatter$FormatWriter_formatGivenString($this, $upperCase, jl_AbstractStringBuilder_toString($sb));
};
$java.ju_Formatter$FormatWriter_verifyIntFlags = function($this) {
    var var$1, var$2, var$3;
    if ($this.$flags3 & 8 && $this.$flags3 & 16)
        $rt_throw($java.ju_IllegalFormatFlagsException__init_($rt_s(2998)));
    if ($this.$flags3 & 32 && $this.$flags3 & 1)
        $rt_throw($java.ju_IllegalFormatFlagsException__init_($rt_s(2999)));
    if ($this.$precision1 >= 0)
        $rt_throw($java.ju_IllegalFormatPrecisionException__init_($this.$precision1));
    if ($this.$flags3 & 1 && $this.$width10 < 0) {
        var$1 = new ju_MissingFormatWidthException;
        var$2 = jl_String_substring0($this.$format11, $this.$formatSpecifierStart, $this.$index10);
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $rt_s(3000));
        jl_AbstractStringBuilder_append(var$3, var$2);
        jl_Throwable__init_(var$1, jl_AbstractStringBuilder_toString(var$3));
        var$1.$formatSpecifier = var$2;
        $rt_throw(var$1);
    }
};
$java.ju_Formatter$FormatWriter_formatGivenString = function($this, $upperCase, $str) {
    if ($this.$precision1 > 0)
        $str = jl_String_substring0($str, 0, $this.$precision1);
    if ($upperCase)
        $str = jl_String_toUpperCase($str);
    if (!($this.$flags3 & 1)) {
        $java.ju_Formatter$FormatWriter_mayBeAppendSpaces($this, $str);
        jl_AbstractStringBuilder_append5($this.$out5, $str);
    } else {
        jl_AbstractStringBuilder_append5($this.$out5, $str);
        $java.ju_Formatter$FormatWriter_mayBeAppendSpaces($this, $str);
    }
};
$java.ju_Formatter$FormatWriter_verifyFlagsForGeneralFormat = function($this, $conversion) {
    $java.ju_Formatter$FormatWriter_verifyFlags($this, $conversion, 263);
};
$java.ju_Formatter$FormatWriter_verifyFlags = function($this, $conversion, $mask) {
    var var$3, var$4, var$5;
    if (($this.$flags3 | $mask) == $mask)
        return;
    var$3 = new ju_FormatFlagsConversionMismatchException;
    var$4 = jl_String_valueOf0(jl_String_charAt($rt_s(3001), jl_Integer_numberOfTrailingZeros($this.$flags3 & ($mask ^ (-1)))));
    var$5 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$5);
    jl_AbstractStringBuilder_append(var$5, $rt_s(3002));
    jl_AbstractStringBuilder_append(var$5, var$4);
    jl_AbstractStringBuilder_append(var$5, $rt_s(3003));
    jl_AbstractStringBuilder_append0(var$5, $conversion);
    jl_Throwable__init_(var$3, jl_AbstractStringBuilder_toString(var$5));
    var$3.$flags4 = var$4;
    var$3.$conversion = $conversion;
    $rt_throw(var$3);
};
$java.ju_Formatter$FormatWriter_mayBeAppendSpaces = function($this, $str) {
    var $diff, $sb, $i;
    if ($this.$width10 > jl_String_length($str)) {
        $diff = $this.$width10 - jl_String_length($str) | 0;
        $sb = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_2($sb, $diff);
        $i = 0;
        while ($i < $diff) {
            jl_AbstractStringBuilder_append0($sb, 32);
            $i = $i + 1 | 0;
        }
        jl_AbstractStringBuilder_append5($this.$out5, $sb);
    }
};
$java.ju_Formatter$FormatWriter_parseFormatSpecifier = function($this) {
    var $c, $n, var$3, var$4, var$5;
    $this.$flags3 = 0;
    $this.$argumentIndex = (-1);
    $this.$width10 = (-1);
    $this.$precision1 = (-1);
    $c = jl_String_charAt($this.$format11, $this.$index10);
    if ($c != 48 && $java.ju_Formatter$FormatWriter_isDigit($c)) {
        $n = $java.ju_Formatter$FormatWriter_readInt($this);
        if ($this.$index10 < jl_String_length($this.$format11) && jl_String_charAt($this.$format11, $this.$index10) == 36) {
            $this.$index10 = $this.$index10 + 1 | 0;
            $this.$argumentIndex = $n - 1 | 0;
        } else
            $this.$width10 = $n;
    }
    a: {
        b: {
            while (true) {
                if ($this.$index10 >= jl_String_length($this.$format11))
                    break a;
                c: {
                    $c = jl_String_charAt($this.$format11, $this.$index10);
                    switch ($c) {
                        case 32:
                            break;
                        case 33:
                        case 34:
                        case 36:
                        case 37:
                        case 38:
                        case 39:
                        case 41:
                        case 42:
                        case 46:
                        case 47:
                        case 49:
                        case 50:
                        case 51:
                        case 52:
                        case 53:
                        case 54:
                        case 55:
                        case 56:
                        case 57:
                        case 58:
                        case 59:
                            break b;
                        case 35:
                            $n = 4;
                            break c;
                        case 40:
                            $n = 128;
                            break c;
                        case 43:
                            $n = 8;
                            break c;
                        case 44:
                            $n = 64;
                            break c;
                        case 45:
                            $n = 1;
                            break c;
                        case 48:
                            $n = 32;
                            break c;
                        case 60:
                            $n = 256;
                            break c;
                        default:
                            break b;
                    }
                    $n = 16;
                }
                if ($this.$flags3 & $n)
                    break;
                $this.$flags3 = $this.$flags3 | $n;
                $this.$index10 = $this.$index10 + 1 | 0;
            }
            var$3 = new ju_DuplicateFormatFlagsException;
            var$4 = jl_String_valueOf0($c);
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append(var$5, $rt_s(3004));
            jl_AbstractStringBuilder_append(var$5, var$4);
            jl_Throwable__init_(var$3, jl_AbstractStringBuilder_toString(var$5));
            var$3.$flags5 = var$4;
            $rt_throw(var$3);
        }
    }
    if ($this.$width10 < 0 && $this.$index10 < jl_String_length($this.$format11) && $java.ju_Formatter$FormatWriter_isDigit(jl_String_charAt($this.$format11, $this.$index10)))
        $this.$width10 = $java.ju_Formatter$FormatWriter_readInt($this);
    if ($this.$index10 < jl_String_length($this.$format11) && jl_String_charAt($this.$format11, $this.$index10) == 46) {
        $this.$index10 = $this.$index10 + 1 | 0;
        if ($this.$index10 < jl_String_length($this.$format11) && $java.ju_Formatter$FormatWriter_isDigit(jl_String_charAt($this.$format11, $this.$index10)))
            $this.$precision1 = $java.ju_Formatter$FormatWriter_readInt($this);
        else
            $rt_throw($java.ju_UnknownFormatConversionException__init_(jl_String_valueOf0(jl_String_charAt($this.$format11, $this.$index10 - 1 | 0))));
    }
    if ($this.$index10 < jl_String_length($this.$format11)) {
        var$3 = $this.$format11;
        $n = $this.$index10;
        $this.$index10 = $n + 1 | 0;
        return jl_String_charAt(var$3, $n);
    }
    $rt_throw($java.ju_UnknownFormatConversionException__init_(jl_String_valueOf0(jl_String_charAt($this.$format11, jl_String_length($this.$format11) - 1 | 0))));
};
$java.ju_Formatter$FormatWriter_readInt = function($this) {
    var $result, var$2, var$3, var$4;
    $result = 0;
    while ($this.$index10 < jl_String_length($this.$format11) && $java.ju_Formatter$FormatWriter_isDigit(jl_String_charAt($this.$format11, $this.$index10))) {
        var$2 = $result * 10 | 0;
        var$3 = $this.$format11;
        var$4 = $this.$index10;
        $this.$index10 = var$4 + 1 | 0;
        $result = var$2 + (jl_String_charAt(var$3, var$4) - 48 | 0) | 0;
    }
    return $result;
};
$java.ju_Formatter$FormatWriter_isDigit = function($c) {
    return $c >= 48 && $c <= 57 ? 1 : 0;
};
function nms_EnchantmentData() {
    var a = this; jl_Object.call(a);
    a.$enchantmentobj = null;
    a.$enchantmentLevel = 0;
}
function nms_EnchantmentData__init_(var_0, var_1) {
    var var_2 = new nms_EnchantmentData();
    $java.nms_EnchantmentData__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_EnchantmentData__init_ = function($this, $par1Enchantment, $par2) {
    $this.$enchantmentobj = $par1Enchantment;
    $this.$enchantmentLevel = $par2;
};
function ju_IllegalFormatException() {
    jl_IllegalArgumentException.call(this);
}
$java.ju_IllegalFormatException__init_ = function() {
    var var_0 = new ju_IllegalFormatException();
    ju_IllegalFormatException__init_(var_0);
    return var_0;
};
function ju_IllegalFormatException__init_($this) {
    jl_Throwable__init_0($this);
}
function ju_Objects() {
    jl_Object.call(this);
}
$java.ju_Objects__init_ = function() {
    var var_0 = new ju_Objects();
    ju_Objects__init_(var_0);
    return var_0;
};
function ju_Objects__init_($this) {
    return;
}
function ju_Objects_equals($a, $b) {
    if ($a === $b)
        return 1;
    return $a !== null ? $a.$equals($b) : $b !== null ? 0 : 1;
}
function ju_Objects_hashCode($o) {
    return $o !== null ? $o.$hashCode0() : 0;
}
function jl_NoSuchMethodException() {
    jl_ReflectiveOperationException.call(this);
}
$java.jl_NoSuchMethodException__init_ = function() {
    var var_0 = new jl_NoSuchMethodException();
    jl_NoSuchMethodException__init_(var_0);
    return var_0;
};
function jl_NoSuchMethodException__init_($this) {
    jl_Throwable__init_0($this);
}
function jlr_InvocationTargetException() {
    jl_ReflectiveOperationException.call(this);
}
$java.jlr_InvocationTargetException__init_ = function() {
    var var_0 = new jlr_InvocationTargetException();
    jlr_InvocationTargetException__init_(var_0);
    return var_0;
};
function jlr_InvocationTargetException__init_($this) {
    jl_Throwable__init_0($this);
}
function jl_IllegalAccessException() {
    jl_ReflectiveOperationException.call(this);
}
$java.jl_IllegalAccessException__init_ = function() {
    var var_0 = new jl_IllegalAccessException();
    jl_IllegalAccessException__init_(var_0);
    return var_0;
};
function jl_IllegalAccessException__init_($this) {
    jl_Throwable__init_0($this);
}
function ju_FormatterClosedException() {
    jl_IllegalStateException.call(this);
}
$java.ju_FormatterClosedException__init_ = function() {
    var var_0 = new ju_FormatterClosedException();
    ju_FormatterClosedException__init_(var_0);
    return var_0;
};
function ju_FormatterClosedException__init_($this) {
    jl_Throwable__init_0($this);
}
function otcit_FloatAnalyzer() {
    jl_Object.call(this);
}
$java.otcit_FloatAnalyzer_mantissa10Table = null;
$java.otcit_FloatAnalyzer_exp10Table = null;
$java.otcit_FloatAnalyzer__init_ = function() {
    var var_0 = new otcit_FloatAnalyzer();
    otcit_FloatAnalyzer__init_(var_0);
    return var_0;
};
function otcit_FloatAnalyzer__init_($this) {
    return;
}
function otcit_FloatAnalyzer_analyze($d, $result) {
    var $bits, $mantissa, $exponent, $errorShift, $decExponent, $mantissaShift, var$9, $decMantissa, $error, $upError, $downError, $lowerPos, $upperPos;
    $bits = $rt_floatToIntBits($d);
    $result.$sign = !($bits & (-2147483648)) ? 0 : 1;
    $mantissa = $bits & 8388607;
    $exponent = $bits >> 23 & 255;
    if (!$mantissa && !$exponent) {
        $result.$mantissa = 0;
        $result.$exponent = 0;
        return;
    }
    $errorShift = 0;
    if ($exponent)
        $mantissa = $mantissa | 8388608;
    else {
        $mantissa = $mantissa << 1;
        while (Long_eq(Long_and(Long_fromInt($mantissa), Long_fromInt(8388608)), Long_ZERO)) {
            $mantissa = $mantissa << 1;
            $exponent = $exponent + (-1) | 0;
            $errorShift = $errorShift + 1 | 0;
        }
    }
    $decExponent = ju_Arrays_binarySearch($java.otcit_FloatAnalyzer_exp10Table, $exponent);
    if ($decExponent < 0)
        $decExponent =  -$decExponent - 2 | 0;
    $mantissaShift = 9 + ($exponent - $java.otcit_FloatAnalyzer_exp10Table.data[$decExponent] | 0) | 0;
    var$9 = Long_fromInt($mantissa);
    $decMantissa = Long_shru(Long_mul(var$9, Long_fromInt($java.otcit_FloatAnalyzer_mantissa10Table.data[$decExponent])), 32 - $mantissaShift | 0).lo;
    if ($decMantissa >= 1000000000) {
        $decExponent = $decExponent + 1 | 0;
        $mantissaShift = 9 + ($exponent - $java.otcit_FloatAnalyzer_exp10Table.data[$decExponent] | 0) | 0;
        $decMantissa = Long_shru(Long_mul(var$9, Long_fromInt($java.otcit_FloatAnalyzer_mantissa10Table.data[$decExponent])), 32 - $mantissaShift | 0).lo;
    }
    $errorShift = (31 - $mantissaShift | 0) - $errorShift | 0;
    $error = $errorShift >= 0 ? $java.otcit_FloatAnalyzer_mantissa10Table.data[$decExponent] >>> $errorShift : $java.otcit_FloatAnalyzer_mantissa10Table.data[$decExponent] <<  -$errorShift;
    $upError = ($error + 1 | 0) >> 1;
    $downError = $error >> 1;
    if ($mantissa == 4194304)
        $downError = $downError >> 2;
    $lowerPos = 10;
    while ($lowerPos <= $downError) {
        $lowerPos = $lowerPos * 10 | 0;
    }
    if (($decMantissa % $lowerPos | 0) >= ($downError / 2 | 0))
        $lowerPos = $lowerPos / 10 | 0;
    $upperPos = 10;
    while ($upperPos <= $upError) {
        $upperPos = $upperPos * 10 | 0;
    }
    if (($upperPos - ($decMantissa % $upperPos | 0) | 0) > ($upError / 2 | 0))
        $upperPos = $upperPos / 10 | 0;
    $mantissa = $rt_compare($lowerPos, $upperPos);
    $mantissa = $mantissa > 0 ? $rt_imul($decMantissa / $lowerPos | 0, $lowerPos) : $mantissa < 0 ? $rt_imul($decMantissa / $upperPos | 0, $upperPos) + $upperPos | 0 : $rt_imul(($decMantissa + ($upperPos / 2 | 0) | 0) / $upperPos | 0, $upperPos);
    if ($mantissa >= 1000000000) {
        $decExponent = $decExponent + 1 | 0;
        $mantissa = $mantissa / 10 | 0;
    } else if ($mantissa < 100000000) {
        $decExponent = $decExponent + (-1) | 0;
        $mantissa = $mantissa * 10 | 0;
    }
    $result.$mantissa = $mantissa;
    $result.$exponent = $decExponent - 50 | 0;
}
function otcit_FloatAnalyzer__clinit_() {
    var $decMantissaOne, $exponent, $i, $maxMantissa, var$5, var$6, $remainder, $shift;
    $java.otcit_FloatAnalyzer_mantissa10Table = $rt_createIntArray(100);
    $java.otcit_FloatAnalyzer_exp10Table = $rt_createIntArray(100);
    $decMantissaOne = 2000000000;
    $exponent = 127;
    $i = 0;
    $maxMantissa = $decMantissaOne;
    while ($i < 50) {
        var$5 = $java.otcit_FloatAnalyzer_mantissa10Table.data;
        var$6 = $i + 50 | 0;
        var$5[var$6] = $rt_udiv($maxMantissa, 20);
        $java.otcit_FloatAnalyzer_exp10Table.data[var$6] = $exponent;
        var$6 = $rt_udiv($maxMantissa, 10);
        $remainder = $rt_umod(var$6, 10);
        while (var$6 <= $decMantissaOne && !(var$6 & (-2147483648))) {
            var$6 = var$6 << 1;
            $exponent = $exponent + 1 | 0;
            $remainder = $remainder << 1;
        }
        $maxMantissa = var$6 + ($remainder / 10 | 0) | 0;
        $i = $i + 1 | 0;
    }
    $exponent = 127;
    $i = 0;
    while ($i < 50) {
        $shift = 0;
        $remainder = $decMantissaOne;
        while ($remainder > 214748364) {
            $remainder = $remainder >> 1;
            $shift = $shift + 1 | 0;
            $exponent = $exponent + (-1) | 0;
        }
        $remainder = $remainder * 10 | 0;
        $decMantissaOne = $shift <= 0 ? $remainder : Long_add(Long_fromInt($remainder), Long_shr(Long_mul(Long_fromInt($decMantissaOne & ((1 << $shift) - 1 | 0)), Long_fromInt(10)), $shift)).lo;
        var$5 = $java.otcit_FloatAnalyzer_mantissa10Table.data;
        $shift = (50 - $i | 0) - 1 | 0;
        var$5[$shift] = $rt_udiv($decMantissaOne, 20);
        $java.otcit_FloatAnalyzer_exp10Table.data[$shift] = $exponent;
        $i = $i + 1 | 0;
    }
}
function nlea_EaglerAdapterImpl2$StupidFunctionResolveString() {
}
function nlea_EaglerAdapterImpl2$25() {
    var a = this; jl_Object.call(a);
    a.$val$start = Long_ZERO;
    a.$val$cb4 = null;
}
$java.nlea_EaglerAdapterImpl2$25_resolveStr = function($this, $s) {
    if (Long_gt(Long_sub(jl_System_currentTimeMillis(), $this.$val$start), Long_fromInt(500))) {
        nlea_EaglerAdapterImpl2_$callClinit();
        nlea_EaglerAdapterImpl2_unpressCTRL = 1;
    }
    otpp_AsyncCallbackWrapper_complete($this.$val$cb4, $s);
};
$java.nlea_EaglerAdapterImpl2$25_resolveStr$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$25_resolveStr(var$0, $rt_str(var$1));
};
function jlr_AccessibleObject() {
    jl_Object.call(this);
}
$java.jlr_AccessibleObject__init_ = function() {
    var var_0 = new jlr_AccessibleObject();
    jlr_AccessibleObject__init_(var_0);
    return var_0;
};
function jlr_AccessibleObject__init_($this) {
    return;
}
$java.jlr_AccessibleObject_getAnnotation = function($this, $annotationClass) {
    return null;
};
function jlr_Member() {
}
function jlr_Method() {
    var a = this; jlr_AccessibleObject.call(a);
    a.$declaringClass = null;
    a.$name0 = null;
    a.$flags = 0;
    a.$accessLevel = 0;
    a.$returnType = null;
    a.$parameterTypes = null;
    a.$callable = null;
}
$java.jlr_Method_getDeclaringClass = function($this) {
    return $this.$declaringClass;
};
$java.jlr_Method_getName = function($this) {
    return $this.$name0;
};
function jlr_Method_getModifiers($this) {
    var var$1, var$2, var$3;
    a: {
        var$1 = $this.$flags;
        var$2 = $this.$accessLevel;
        var$3 = 0;
        switch (var$2) {
            case 1:
                var$3 = 2;
                break a;
            case 2:
                var$3 = 4;
                break a;
            case 3:
                var$3 = 1;
                break a;
            default:
        }
    }
    var$2 = var$1 >>> 6;
    return var$3 | var$2 & 8 | var$1 << 2 & 16 | var$2 & 32 | var$1 >>> 8 & 64 | var$1 >>> 5 & 128 | var$1 & 256 | var$1 << 8 & 512 | var$1 << 10 & 1024 | var$1 << 1 & 2048;
}
$java.jlr_Method_getReturnType = function($this) {
    return $this.$returnType;
};
function jlr_Method_getParameterTypes($this) {
    return $this.$parameterTypes.$clone();
}
$java.jlr_Method_toString = function($this) {
    var $sb, $i, var$3, $parameterTypes, var$5, var$6, var$7, var$8, var$9;
    $sb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($sb);
    $i = jlr_Method_getModifiers($this);
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    if ($java.jlr_Modifier_modifierNames === null) {
        $parameterTypes = $rt_createArray(jl_String, 12);
        var$5 = $parameterTypes.data;
        var$5[0] = $rt_s(3005);
        var$5[1] = $rt_s(3006);
        var$5[2] = $rt_s(3007);
        var$5[3] = $rt_s(3008);
        var$5[4] = $rt_s(3009);
        var$5[5] = $rt_s(3010);
        var$5[6] = $rt_s(3011);
        var$5[7] = $rt_s(3012);
        var$5[8] = $rt_s(3013);
        var$5[9] = $rt_s(3014);
        var$5[10] = $rt_s(3015);
        var$5[11] = $rt_s(3016);
        $java.jlr_Modifier_modifierNames = $parameterTypes;
    }
    var$6 = $java.jlr_Modifier_modifierNames;
    var$7 = 0;
    $parameterTypes = $java.jlr_Modifier_canonicalOrder.data;
    var$8 = $parameterTypes.length;
    var$9 = 0;
    while (var$9 < var$8) {
        if ($i & $parameterTypes[var$9]) {
            if (var$3.$length0 > 0)
                jl_AbstractStringBuilder_append0(var$3, 32);
            jl_AbstractStringBuilder_append(var$3, var$6.data[var$7]);
        }
        var$7 = var$7 + 1 | 0;
        var$9 = var$9 + 1 | 0;
    }
    jl_AbstractStringBuilder_append($sb, jl_AbstractStringBuilder_toString(var$3));
    if ($sb.$length0 > 0)
        jl_AbstractStringBuilder_append0($sb, 32);
    a: {
        jl_AbstractStringBuilder_append($sb, jl_Class_getName($this.$returnType));
        jl_AbstractStringBuilder_append0($sb, 32);
        jl_AbstractStringBuilder_append($sb, jl_Class_getName($this.$declaringClass));
        jl_AbstractStringBuilder_append0($sb, 46);
        jl_AbstractStringBuilder_append($sb, $this.$name0);
        jl_AbstractStringBuilder_append0($sb, 40);
        $parameterTypes = jlr_Method_getParameterTypes($this).data;
        var$7 = $parameterTypes.length;
        if (var$7 > 0) {
            jl_AbstractStringBuilder_append($sb, jl_Class_getName($parameterTypes[0]));
            $i = 1;
            while (true) {
                if ($i >= var$7)
                    break a;
                jl_AbstractStringBuilder_append0($sb, 44);
                jl_AbstractStringBuilder_append($sb, jl_Class_getName($parameterTypes[$i]));
                $i = $i + 1 | 0;
            }
        }
    }
    jl_AbstractStringBuilder_append0($sb, 41);
    return jl_AbstractStringBuilder_toString($sb);
};
$java.jlr_Method_invoke = function($this, $obj, $args) {
    var var$3, var$4, $i, $jsArgs, $result;
    if ($this.$callable === null) {
        $obj = new jl_IllegalAccessException;
        jl_Throwable__init_0($obj);
        $rt_throw($obj);
    }
    var$3 = $args.data;
    var$4 = var$3.length;
    if (var$4 != $this.$parameterTypes.data.length) {
        $obj = new jl_IllegalArgumentException;
        jl_Throwable__init_0($obj);
        $rt_throw($obj);
    }
    if ($this.$flags & 512)
        $this.$declaringClass.$platformClass.$clinit();
    else if (!jl_Class_isInstance($this.$declaringClass, $obj)) {
        $obj = new jl_IllegalArgumentException;
        jl_Throwable__init_0($obj);
        $rt_throw($obj);
    }
    $i = 0;
    while (true) {
        if ($i >= var$4) {
            $jsArgs = $args.data;
            $result = $this.$callable;
            $obj = $obj;
            return $result.call($obj, $jsArgs);
        }
        if (!jl_Class_isPrimitive($this.$parameterTypes.data[$i]) && var$3[$i] !== null && !jl_Class_isInstance($this.$parameterTypes.data[$i], var$3[$i])) {
            $obj = new jl_IllegalArgumentException;
            jl_Throwable__init_0($obj);
            $rt_throw($obj);
        }
        if (jl_Class_isPrimitive($this.$parameterTypes.data[$i]) && var$3[$i] === null)
            break;
        $i = $i + 1 | 0;
    }
    $obj = new jl_IllegalArgumentException;
    jl_Throwable__init_0($obj);
    $rt_throw($obj);
};
$java.jlr_Method_isBridge = function($this) {
    return !($this.$flags & 64) ? 0 : 1;
};
function nms_EnumGameType() {
    var a = this; jl_Enum.call(a);
    a.$id7 = 0;
    a.$name18 = null;
}
$java.nms_EnumGameType_NOT_SET = null;
$java.nms_EnumGameType_SURVIVAL = null;
$java.nms_EnumGameType_CREATIVE = null;
$java.nms_EnumGameType_ADVENTURE = null;
$java.nms_EnumGameType_$VALUES = null;
$java.nms_EnumGameType__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EnumGameType();
    $java.nms_EnumGameType__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_EnumGameType__init_0 = function($this, var$1, var$2, $par3, $par4Str) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$id7 = $par3;
    $this.$name18 = $par4Str;
};
$java.nms_EnumGameType_getID = function($this) {
    return $this.$id7;
};
function nms_EnumGameType_configurePlayerCapabilities($this, $par1PlayerCapabilities) {
    if ($this === $java.nms_EnumGameType_CREATIVE) {
        $par1PlayerCapabilities.$allowFlying = 1;
        $par1PlayerCapabilities.$isCreativeMode = 1;
        $par1PlayerCapabilities.$disableDamage = 1;
    } else {
        $par1PlayerCapabilities.$allowFlying = 0;
        $par1PlayerCapabilities.$isCreativeMode = 0;
        $par1PlayerCapabilities.$disableDamage = 0;
        $par1PlayerCapabilities.$isFlying = 0;
    }
    $par1PlayerCapabilities.$allowEdit = nms_EnumGameType_isAdventure($this) ? 0 : 1;
}
function nms_EnumGameType_isAdventure($this) {
    return $this !== $java.nms_EnumGameType_ADVENTURE ? 0 : 1;
}
function nms_EnumGameType_isCreative($this) {
    return $this !== $java.nms_EnumGameType_CREATIVE ? 0 : 1;
}
function nms_EnumGameType_isSurvivalOrAdventure($this) {
    return $this !== $java.nms_EnumGameType_SURVIVAL && $this !== $java.nms_EnumGameType_ADVENTURE ? 0 : 1;
}
$java.nms_EnumGameType_getByID = function($par0) {
    var $var1, $var2, $var3, $var4;
    $var1 = $java.nms_EnumGameType_$VALUES.$clone().data;
    $var2 = $var1.length;
    $var3 = 0;
    while (true) {
        if ($var3 >= $var2)
            return $java.nms_EnumGameType_SURVIVAL;
        $var4 = $var1[$var3];
        if ($var4.$id7 == $par0)
            break;
        $var3 = $var3 + 1 | 0;
    }
    return $var4;
};
function nms_EnumGameType__clinit_() {
    var var$1, var$2;
    $java.nms_EnumGameType_NOT_SET = $java.nms_EnumGameType__init_($rt_s(3017), 0, (-1), $rt_s(36));
    $java.nms_EnumGameType_SURVIVAL = $java.nms_EnumGameType__init_($rt_s(3018), 1, 0, $rt_s(2522));
    $java.nms_EnumGameType_CREATIVE = $java.nms_EnumGameType__init_($rt_s(3019), 2, 1, $rt_s(2523));
    $java.nms_EnumGameType_ADVENTURE = $java.nms_EnumGameType__init_($rt_s(3020), 3, 2, $rt_s(2524));
    var$1 = $rt_createArray(nms_EnumGameType, 4);
    var$2 = var$1.data;
    var$2[0] = $java.nms_EnumGameType_NOT_SET;
    var$2[1] = $java.nms_EnumGameType_SURVIVAL;
    var$2[2] = $java.nms_EnumGameType_CREATIVE;
    var$2[3] = $java.nms_EnumGameType_ADVENTURE;
    $java.nms_EnumGameType_$VALUES = var$1;
}
function ju_LinkedHashMap$ValueIterator() {
    ju_LinkedHashMap$AbstractMapIterator.call(this);
}
$java.ju_LinkedHashMap$ValueIterator_next = function($this) {
    $java.ju_LinkedHashMap$AbstractMapIterator_makeNext($this);
    return $this.$currentEntry1.$value1;
};
function jnci_BufferedDecoder$Controller() {
    var a = this; jl_Object.call(a);
    a.$in1 = null;
    a.$out2 = null;
    a.$inPosition0 = 0;
    a.$outPosition0 = 0;
}
$java.jnci_BufferedDecoder$Controller_hasMoreInput = function($this) {
    return jn_Buffer_hasRemaining($this.$in1);
};
$java.jnci_BufferedDecoder$Controller_hasMoreOutput = function($this, $sz) {
    return jn_Buffer_remaining($this.$out2) < $sz ? 0 : 1;
};
$java.jnci_BufferedDecoder$Controller_setInPosition = function($this, $inPosition) {
    $this.$inPosition0 = $inPosition;
};
$java.jnci_BufferedDecoder$Controller_setOutPosition = function($this, $outPosition) {
    $this.$outPosition0 = $outPosition;
};
function nms_ContainerPlayer() {
    var a = this; nms_Container.call(a);
    a.$craftMatrix = null;
    a.$craftResult = null;
    a.$isLocalWorld = 0;
    a.$thePlayer4 = null;
}
function nms_ContainerPlayer__init_(var_0, var_1, var_2) {
    var var_3 = new nms_ContainerPlayer();
    $java.nms_ContainerPlayer__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_ContainerPlayer__init_ = function($this, $par1InventoryPlayer, $par2, $par3EntityPlayer) {
    var $var4, $var5;
    nms_Container__init_($this);
    $this.$craftMatrix = $java.nms_InventoryCrafting__init_($this, 2, 2);
    $this.$craftResult = nms_InventoryCraftResult__init_0();
    $this.$isLocalWorld = 0;
    $this.$isLocalWorld = $par2;
    $this.$thePlayer4 = $par3EntityPlayer;
    nms_Container_addSlotToContainer($this, $java.nms_SlotCrafting__init_($par1InventoryPlayer.$player, $this.$craftMatrix, $this.$craftResult, 0, 144, 36));
    $var4 = 0;
    while ($var4 < 2) {
        $var5 = 0;
        while ($var5 < 2) {
            nms_Container_addSlotToContainer($this, nms_Slot__init_($this.$craftMatrix, $var5 + ($var4 * 2 | 0) | 0, 88 + ($var5 * 18 | 0) | 0, 26 + ($var4 * 18 | 0) | 0));
            $var5 = $var5 + 1 | 0;
        }
        $var4 = $var4 + 1 | 0;
    }
    $var4 = 0;
    while ($var4 < 4) {
        $par3EntityPlayer = new nms_SlotArmor;
        nms_Slot__init_0($par3EntityPlayer, $par1InventoryPlayer, (nms_InventoryPlayer_getSizeInventory($par1InventoryPlayer) - 1 | 0) - $var4 | 0, 8, 8 + ($var4 * 18 | 0) | 0);
        $par3EntityPlayer.$parent2 = $this;
        $par3EntityPlayer.$armorType0 = $var4;
        nms_Container_addSlotToContainer($this, $par3EntityPlayer);
        $var4 = $var4 + 1 | 0;
    }
    $par2 = 0;
    while ($par2 < 3) {
        $var5 = 0;
        while ($var5 < 9) {
            nms_Container_addSlotToContainer($this, nms_Slot__init_($par1InventoryPlayer, $var5 + (($par2 + 1 | 0) * 9 | 0) | 0, 8 + ($var5 * 18 | 0) | 0, 84 + ($par2 * 18 | 0) | 0));
            $var5 = $var5 + 1 | 0;
        }
        $par2 = $par2 + 1 | 0;
    }
    $par2 = 0;
    while ($par2 < 9) {
        nms_Container_addSlotToContainer($this, nms_Slot__init_($par1InventoryPlayer, $par2, 8 + ($par2 * 18 | 0) | 0, 142));
        $par2 = $par2 + 1 | 0;
    }
    $java.nms_ContainerPlayer_onCraftMatrixChanged($this, $this.$craftMatrix);
};
$java.nms_ContainerPlayer_onCraftMatrixChanged = function($this, $par1IInventory) {
    $java.nms_InventoryCraftResult_setInventorySlotContents($this.$craftResult, 0, nms_CraftingManager_findMatchingRecipe(nms_CraftingManager_getInstance(), $this.$craftMatrix, $this.$thePlayer4.$worldObj));
};
function nms_ContainerPlayer_onCraftGuiClosed($this, $par1EntityPlayer) {
    var $var2, $var3;
    nms_Container_onCraftGuiClosed($this, $par1EntityPlayer);
    $var2 = 0;
    while ($var2 < 4) {
        $var3 = $java.nms_InventoryCrafting_getStackInSlotOnClosing($this.$craftMatrix, $var2);
        if ($var3 !== null)
            nms_EntityPlayer_dropPlayerItem($par1EntityPlayer, $var3);
        $var2 = $var2 + 1 | 0;
    }
    $java.nms_InventoryCraftResult_setInventorySlotContents($this.$craftResult, 0, null);
}
$java.nms_ContainerPlayer_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, $var6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if (!$par2) {
                $par2 = 9;
                $var6 = 45;
                var$7 = 1;
                $ptr = 1;
                continue main;
            }
            if ($par2 >= 1 && $par2 < 5) {
                $par2 = 9;
                $var6 = 45;
                var$7 = 0;
                $ptr = 2;
                continue main;
            }
            if ($par2 >= 5 && $par2 < 9) {
                $par2 = 9;
                $var6 = 45;
                var$7 = 0;
                $ptr = 3;
                continue main;
            }
            if (nms_ItemStack_getItem($var3) instanceof nms_ItemArmor && !ju_ArrayList_get($this.$inventorySlots, 5 + nms_ItemStack_getItem($var3).$armorType | 0).$getHasStack()) {
                $var6 = 5 + nms_ItemStack_getItem($var3).$armorType | 0;
                $par2 = $var6 + 1 | 0;
                var$7 = 0;
                $ptr = 6;
                continue main;
            }
            if ($par2 >= 9 && $par2 < 36) {
                $par2 = 36;
                $var6 = 45;
                var$7 = 0;
                $ptr = 8;
                continue main;
            }
            if ($par2 >= 36 && $par2 < 45) {
                $par2 = 9;
                $var6 = 36;
                var$7 = 0;
                $ptr = 10;
                continue main;
            }
            $par2 = 9;
            $var6 = 45;
            var$7 = 0;
            $ptr = 7;
            continue main;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, $var6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        $java.nms_Slot_onSlotChange($var4, $var5, $var3);
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 2:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, $var6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 3:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, $var6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 4:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 9;
        continue main;
    case 5:
        $var4.$putStack(var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 9;
        continue main;
    case 6:
        $tmp = nms_Container_mergeItemStack($this, $var5, $var6, $par2, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 7:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, $var6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 8:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, $var6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 9:
        $var4.$onPickupFromSlot($par1EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    case 10:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, $var6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, $var6, var$7, var$8, $ptr);
};
$java.nms_ContainerPlayer_func_94530_a = function($this, $par1ItemStack, $par2Slot) {
    return $par2Slot.$inventory0 === $this.$craftResult ? 0 : 1;
};
function nms_ContainerWorkbench() {
    var a = this; nms_Container.call(a);
    a.$craftMatrix0 = null;
    a.$craftResult0 = null;
    a.$worldObj9 = null;
    a.$posX12 = 0;
    a.$posY12 = 0;
    a.$posZ9 = 0;
}
function nms_ContainerWorkbench__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_ContainerWorkbench();
    $java.nms_ContainerWorkbench__init_(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
$java.nms_ContainerWorkbench__init_ = function($this, $par1InventoryPlayer, $par2World, $par3, $par4, $par5) {
    var $var6, $var7;
    nms_Container__init_($this);
    $this.$craftMatrix0 = $java.nms_InventoryCrafting__init_($this, 3, 3);
    $this.$craftResult0 = nms_InventoryCraftResult__init_0();
    $this.$worldObj9 = $par2World;
    $this.$posX12 = $par3;
    $this.$posY12 = $par4;
    $this.$posZ9 = $par5;
    nms_Container_addSlotToContainer($this, $java.nms_SlotCrafting__init_($par1InventoryPlayer.$player, $this.$craftMatrix0, $this.$craftResult0, 0, 124, 35));
    $var6 = 0;
    while ($var6 < 3) {
        $var7 = 0;
        while ($var7 < 3) {
            nms_Container_addSlotToContainer($this, nms_Slot__init_($this.$craftMatrix0, $var7 + ($var6 * 3 | 0) | 0, 30 + ($var7 * 18 | 0) | 0, 17 + ($var6 * 18 | 0) | 0));
            $var7 = $var7 + 1 | 0;
        }
        $var6 = $var6 + 1 | 0;
    }
    $par3 = 0;
    while ($par3 < 3) {
        $var7 = 0;
        while ($var7 < 9) {
            nms_Container_addSlotToContainer($this, nms_Slot__init_($par1InventoryPlayer, ($var7 + ($par3 * 9 | 0) | 0) + 9 | 0, 8 + ($var7 * 18 | 0) | 0, 84 + ($par3 * 18 | 0) | 0));
            $var7 = $var7 + 1 | 0;
        }
        $par3 = $par3 + 1 | 0;
    }
    $par3 = 0;
    while ($par3 < 9) {
        nms_Container_addSlotToContainer($this, nms_Slot__init_($par1InventoryPlayer, $par3, 8 + ($par3 * 18 | 0) | 0, 142));
        $par3 = $par3 + 1 | 0;
    }
    $java.nms_ContainerWorkbench_onCraftMatrixChanged($this, $this.$craftMatrix0);
};
$java.nms_ContainerWorkbench_onCraftMatrixChanged = function($this, $par1IInventory) {
    $java.nms_InventoryCraftResult_setInventorySlotContents($this.$craftResult0, 0, nms_CraftingManager_findMatchingRecipe(nms_CraftingManager_getInstance(), $this.$craftMatrix0, $this.$worldObj9));
};
$java.nms_ContainerWorkbench_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if (!$par2) {
                $par2 = 10;
                var$6 = 46;
                var$7 = 1;
                $ptr = 1;
                continue main;
            }
            if ($par2 >= 10 && $par2 < 37) {
                $par2 = 37;
                var$6 = 46;
                var$7 = 0;
                $ptr = 3;
                continue main;
            }
            if ($par2 >= 37 && $par2 < 46) {
                $par2 = 10;
                var$6 = 37;
                var$7 = 0;
                $ptr = 4;
                continue main;
            }
            $par2 = 10;
            var$6 = 46;
            var$7 = 0;
            $ptr = 2;
            continue main;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        $java.nms_Slot_onSlotChange($var4, $var5, $var3);
        if ($var5.$stackSize) {
            $ptr = 5;
            continue main;
        }
        var$8 = null;
        $ptr = 6;
        continue main;
    case 2:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 5;
            continue main;
        }
        var$8 = null;
        $ptr = 6;
        continue main;
    case 3:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 5;
            continue main;
        }
        var$8 = null;
        $ptr = 6;
        continue main;
    case 4:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 5;
            continue main;
        }
        var$8 = null;
        $ptr = 6;
        continue main;
    case 5:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 7;
        continue main;
    case 6:
        $var4.$putStack(var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 7;
    case 7:
        $var4.$onPickupFromSlot($par1EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
};
$java.nms_ContainerWorkbench_func_94530_a = function($this, $par1ItemStack, $par2Slot) {
    return $par2Slot.$inventory0 === $this.$craftResult0 ? 0 : 1;
};
function nms_GuiDisconnected() {
    var a = this; nms_GuiScreen.call(a);
    a.$errorMessage = null;
    a.$errorDetail = null;
    a.$errorDetail2 = null;
    a.$errorDetailTryAgain = null;
    a.$kickForDoS = 0;
    a.$field_74247_c = null;
    a.$field_74245_d = null;
    a.$field_98095_n = null;
}
function nms_GuiDisconnected__init_0(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_GuiDisconnected();
    nms_GuiDisconnected__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
function nms_GuiDisconnected__init_($this, $par1GuiScreen, $par2Str, $par3Str, $par4ArrayOfObj) {
    var $var5;
    nms_GuiScreen__init_($this);
    $var5 = nms_StringTranslate_instance;
    $this.$field_98095_n = $par1GuiScreen;
    if (!jl_String_startsWith0($par2Str, $rt_s(3021))) {
        if (!jl_String_equals($par2Str, $rt_s(3022)))
            $par2Str = nms_StringTranslate_translateKey($var5, $par2Str);
        $this.$errorMessage = $par2Str;
        $this.$errorDetail = $par3Str;
        $this.$errorDetail2 = null;
        $this.$errorDetailTryAgain = null;
        $this.$kickForDoS = 0;
    } else {
        $par1GuiScreen = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1GuiScreen);
        jl_AbstractStringBuilder_append($par1GuiScreen, $par2Str);
        jl_AbstractStringBuilder_append($par1GuiScreen, $rt_s(3023));
        $this.$errorMessage = nms_StringTranslate_translateKey($var5, jl_AbstractStringBuilder_toString($par1GuiScreen));
        $par1GuiScreen = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1GuiScreen);
        jl_AbstractStringBuilder_append($par1GuiScreen, $par2Str);
        jl_AbstractStringBuilder_append($par1GuiScreen, $rt_s(3024));
        $this.$errorDetail = nms_StringTranslate_translateKey($var5, jl_AbstractStringBuilder_toString($par1GuiScreen));
        $par1GuiScreen = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1GuiScreen);
        jl_AbstractStringBuilder_append($par1GuiScreen, $par2Str);
        jl_AbstractStringBuilder_append($par1GuiScreen, $rt_s(3025));
        $this.$errorDetail2 = nms_StringTranslate_translateKey($var5, jl_AbstractStringBuilder_toString($par1GuiScreen));
        $par1GuiScreen = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($par1GuiScreen);
        jl_AbstractStringBuilder_append($par1GuiScreen, $par2Str);
        jl_AbstractStringBuilder_append($par1GuiScreen, $rt_s(3026));
        $this.$errorDetailTryAgain = nms_StringTranslate_translateKey($var5, jl_AbstractStringBuilder_toString($par1GuiScreen));
        $this.$kickForDoS = 1;
    }
    $this.$field_74247_c = $par4ArrayOfObj;
}
$java.nms_GuiDisconnected_keyTyped = function($this, $par1, $par2) {
    return;
};
$java.nms_GuiDisconnected_initGui = function($this) {
    var $var1;
    $var1 = nms_StringTranslate_instance;
    ju_ArrayList_clear($this.$buttonList);
    if (!$this.$kickForDoS && !jl_String_equals($rt_s(3022), $this.$errorMessage)) {
        if ($this.$field_74247_c === null)
            $this.$field_74245_d = nms_FontRenderer_listFormattedStringToWidth($this.$fontRenderer0, nms_StringTranslate_translateKey($var1, $this.$errorDetail), $this.$width - 50 | 0);
        else
            $this.$field_74245_d = nms_FontRenderer_listFormattedStringToWidth($this.$fontRenderer0, nms_StringTranslate_translateKeyFormat($var1, $this.$errorDetail, $this.$field_74247_c), $this.$width - 50 | 0);
    }
    if ($this.$kickForDoS)
        ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(0, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 2 | 0) + ($this.$height / 7 | 0) | 0, nms_StringTranslate_translateKey($var1, $rt_s(3027))));
    else if (!jl_String_equals($rt_s(3022), $this.$errorMessage))
        ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(0, ($this.$width / 2 | 0) - 100 | 0, ($this.$height - ($this.$height / 5 | 0) | 0) - 40 | 0, nms_StringTranslate_translateKey($var1, $rt_s(3027))));
    else
        ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(0, ($this.$width / 2 | 0) - 100 | 0, (($this.$height / 4 | 0) + 120 | 0) + 12 | 0, nms_StringTranslate_translateKey($var1, $rt_s(3027))));
};
$java.nms_GuiDisconnected_actionPerformed = function($this, $par1GuiButton) {
    if (!$par1GuiButton.$id3)
        nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$field_98095_n);
};
$java.nms_GuiDisconnected_drawScreen = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $b, var$8, var$9, $s, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$s = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$b = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = ($this.$height / 2 | 0) - 30 | 0;
        if ($this.$kickForDoS) {
            $var4 = $var4 + (-20) | 0;
            $var5 = $this.$fontRenderer0;
            $var6 = $this.$errorMessage;
            $b = $this.$width / 2 | 0;
            var$8 = $var4 - 20 | 0;
            var$9 = 11184810;
            $ptr = 2;
            continue main;
        }
        if (!jl_String_equals($rt_s(3022), $this.$errorMessage)) {
            $var5 = $this.$fontRenderer0;
            $var6 = $this.$errorMessage;
            $b = $this.$width / 2 | 0;
            var$8 = ($this.$height / 2 | 0) - 50 | 0;
            var$9 = 11184810;
            $ptr = 4;
            continue main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(1.5, 1.5, 1.5);
        $var5 = $this.$fontRenderer0;
        $var6 = $rt_s(3028);
        $var4 = $this.$width / 3 | 0;
        $b = ($this.$height / 4 | 0) - 30 | 0;
        var$8 = 14505301;
        $ptr = 5;
        continue main;
    case 2:
        nms_Gui_drawCenteredString($this, $var5, $var6, $b, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $this.$fontRenderer0;
        $var6 = $this.$errorDetail;
        $b = $this.$width / 2 | 0;
        var$8 = $var4 + 10 | 0;
        var$9 = 16777215;
        $ptr = 3;
    case 3:
        nms_Gui_drawCenteredString($this, $var5, $var6, $b, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $s = $this.$errorDetail2;
        $b = jl_String_startsWith0($s, $rt_s(3029));
        if ($b) {
            $s = jl_String_substring($s, 1);
            $var4 = $var4 + (-2) | 0;
        }
        $var5 = $this.$fontRenderer0;
        var$8 = $this.$width / 2 | 0;
        var$9 = $var4 + 24 | 0;
        $b = !$b ? 16733525 : 16777215;
        $ptr = 15;
        continue main;
    case 4:
        nms_Gui_drawCenteredString($this, $var5, $var6, $b, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$field_74245_d !== null) {
            $var5 = ju_AbstractList_iterator($this.$field_74245_d);
            if (ju_AbstractList$1_hasNext($var5)) {
                $var6 = ju_AbstractList$1_next($var5);
                $s = $this.$fontRenderer0;
                $b = $this.$width / 2 | 0;
                var$8 = 16777215;
                $ptr = 14;
                continue main;
            }
        }
        $ptr = 13;
        continue main;
    case 5:
        nms_Gui_drawCenteredString($this, $var5, $var6, $var4, $b, var$8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        $var5 = $this.$fontRenderer0;
        $var6 = $rt_s(3030);
        $var4 = $this.$width / 2 | 0;
        $b = ($this.$height / 2 | 0) - 55 | 0;
        var$8 = 14540100;
        $ptr = 6;
    case 6:
        nms_Gui_drawCenteredString($this, $var5, $var6, $var4, $b, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $this.$fontRenderer0;
        $var6 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var6);
        jl_AbstractStringBuilder_append($var6, $rt_s(3031));
        jl_AbstractStringBuilder_append1($var6, nms_EnumChatFormatting_GRAY);
        jl_AbstractStringBuilder_append($var6, $rt_s(5));
        jl_AbstractStringBuilder_append1($var6, nms_EnumChatFormatting_RESET);
        jl_AbstractStringBuilder_append($var6, $rt_s(3032));
        $var6 = jl_AbstractStringBuilder_toString($var6);
        $var4 = $this.$width / 2 | 0;
        $b = ($this.$height / 2 | 0) - 35 | 0;
        var$8 = 4504388;
        $ptr = 7;
    case 7:
        nms_Gui_drawCenteredString($this, $var5, $var6, $var4, $b, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $this.$fontRenderer0;
        $var6 = $rt_s(3033);
        $var4 = $this.$width / 2 | 0;
        $b = ($this.$height / 2 | 0) - 23 | 0;
        var$8 = 4504388;
        $ptr = 8;
    case 8:
        nms_Gui_drawCenteredString($this, $var5, $var6, $var4, $b, var$8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glScalef(1.0, 1.0, 1.0);
        $var5 = $this.$fontRenderer0;
        $var6 = $rt_s(3034);
        $var4 = $this.$width / 2 | 0;
        $b = ($this.$height / 2 | 0) - 3 | 0;
        var$8 = 6710886;
        $ptr = 9;
    case 9:
        nms_Gui_drawCenteredString($this, $var5, $var6, $var4, $b, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $this.$fontRenderer0;
        $var6 = $rt_s(3035);
        $var4 = $this.$width / 2 | 0;
        $b = ($this.$height / 2 | 0) + 5 | 0;
        var$8 = 6710886;
        $ptr = 10;
    case 10:
        nms_Gui_drawCenteredString($this, $var5, $var6, $var4, $b, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $this.$fontRenderer0;
        $var6 = $rt_s(3036);
        $var4 = $this.$width / 2 | 0;
        $b = ($this.$height / 2 | 0) + 14 | 0;
        var$8 = 6710886;
        $ptr = 11;
    case 11:
        nms_Gui_drawCenteredString($this, $var5, $var6, $var4, $b, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $this.$fontRenderer0;
        $var6 = $rt_s(3037);
        $var4 = $this.$width / 2 | 0;
        $b = ($this.$height / 2 | 0) + 23 | 0;
        var$8 = 6710886;
        $ptr = 12;
    case 12:
        nms_Gui_drawCenteredString($this, $var5, $var6, $var4, $b, var$8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 13;
    case 13:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 14:
        nms_Gui_drawCenteredString($this, $s, $var6, $b, $var4, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $var4 + $this.$fontRenderer0.$FONT_HEIGHT | 0;
        if (!ju_AbstractList$1_hasNext($var5)) {
            $ptr = 13;
            continue main;
        }
        $var6 = ju_AbstractList$1_next($var5);
        $s = $this.$fontRenderer0;
        $b = $this.$width / 2 | 0;
        var$8 = 16777215;
        continue main;
    case 15:
        nms_Gui_drawCenteredString($this, $var5, $s, var$8, var$9, $b);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $this.$fontRenderer0;
        $var6 = $this.$errorDetailTryAgain;
        $b = $this.$width / 2 | 0;
        $var4 = $var4 + 50 | 0;
        var$8 = 7829367;
        $ptr = 16;
    case 16:
        nms_Gui_drawCenteredString($this, $var5, $var6, $b, $var4, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 13;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $b, var$8, var$9, $s, $ptr);
};
function nms_GuiSmallButton() {
    nms_GuiButton.call(this);
    this.$enumOptions = null;
}
$java.nms_GuiSmallButton__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_GuiSmallButton();
    $java.nms_GuiSmallButton__init_1(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_GuiSmallButton__init_0 = function(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_GuiSmallButton();
    $java.nms_GuiSmallButton__init_2(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
};
$java.nms_GuiSmallButton__init_1 = function($this, $par1, $par2, $par3, $par4Str) {
    $java.nms_GuiSmallButton__init_2($this, $par1, $par2, $par3, null, $par4Str);
};
$java.nms_GuiSmallButton__init_2 = function($this, $par1, $par2, $par3, $par4EnumOptions, $par5Str) {
    nms_GuiButton__init_1($this, $par1, $par2, $par3, 150, 20, $par5Str);
    $this.$enumOptions = $par4EnumOptions;
};
$java.nms_GuiSmallButton_returnEnumOptions = function($this) {
    return $this.$enumOptions;
};
function nms_GuiSlider() {
    var a = this; nms_GuiButton.call(a);
    a.$sliderValue0 = 0.0;
    a.$dragging1 = 0;
    a.$idFloat = null;
}
$java.nms_GuiSlider__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_GuiSlider();
    $java.nms_GuiSlider__init_0(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
};
$java.nms_GuiSlider__init_0 = function($this, $par1, $par2, $par3, $par4EnumOptions, $par5Str, $par6) {
    nms_GuiButton__init_1($this, $par1, $par2, $par3, 150, 20, $par5Str);
    $this.$sliderValue0 = 1.0;
    $this.$dragging1 = 0;
    $this.$idFloat = null;
    $this.$idFloat = $par4EnumOptions;
    $this.$sliderValue0 = $par6;
};
$java.nms_GuiSlider_getHoverState = function($this, $par1) {
    return 0;
};
$java.nms_GuiSlider_mouseDragged = function($this, $par1Minecraft, $par2, $par3) {
    if ($this.$drawButton0) {
        if ($this.$dragging1) {
            $this.$sliderValue0 = ($par2 - ($this.$xPosition1 + 4 | 0) | 0) / ($this.$width6 - 8 | 0);
            if ($this.$sliderValue0 < 0.0)
                $this.$sliderValue0 = 0.0;
            if ($this.$sliderValue0 > 1.0)
                $this.$sliderValue0 = 1.0;
            nms_GameSettings_setOptionFloatValue($par1Minecraft.$gameSettings, $this.$idFloat, $this.$sliderValue0);
            $this.$displayString = nms_GameSettings_getKeyBinding($par1Minecraft.$gameSettings, $this.$idFloat);
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nms_Gui_drawTexturedModalRect($this, $this.$xPosition1 + ($this.$sliderValue0 * ($this.$width6 - 8 | 0) | 0) | 0, $this.$yPosition, 0, 66, 4, 20);
        nms_Gui_drawTexturedModalRect($this, ($this.$xPosition1 + ($this.$sliderValue0 * ($this.$width6 - 8 | 0) | 0) | 0) + 4 | 0, $this.$yPosition, 196, 66, 4, 20);
    }
};
$java.nms_GuiSlider_mousePressed = function($this, $par1Minecraft, $par2, $par3) {
    if (!$java.nms_GuiButton_mousePressed($this, $par1Minecraft, $par2, $par3))
        return 0;
    $this.$sliderValue0 = ($par2 - ($this.$xPosition1 + 4 | 0) | 0) / ($this.$width6 - 8 | 0);
    if ($this.$sliderValue0 < 0.0)
        $this.$sliderValue0 = 0.0;
    if ($this.$sliderValue0 > 1.0)
        $this.$sliderValue0 = 1.0;
    nms_GameSettings_setOptionFloatValue($par1Minecraft.$gameSettings, $this.$idFloat, $this.$sliderValue0);
    $this.$displayString = nms_GameSettings_getKeyBinding($par1Minecraft.$gameSettings, $this.$idFloat);
    $this.$dragging1 = 1;
    return 1;
};
$java.nms_GuiSlider_mouseReleased = function($this, $par1, $par2) {
    $this.$dragging1 = 0;
};
function nms_GuiVideoSettings() {
    var a = this; nms_GuiScreen.call(a);
    a.$parentGuiScreen = null;
    a.$screenTitle4 = null;
    a.$guiGameSettings = null;
    a.$is64bit = 0;
}
$java.nms_GuiVideoSettings_videoOptions = null;
$java.nms_GuiVideoSettings_$callClinit = function() {
    $java.nms_GuiVideoSettings_$callClinit = $rt_eraseClinit(nms_GuiVideoSettings);
    $java.nms_GuiVideoSettings__clinit_();
};
$java.nms_GuiVideoSettings_initGui = function($this) {
    var $var1, $var9, $var10, $var11, $var12, $var8;
    $var1 = nms_StringTranslate_instance;
    $this.$screenTitle4 = nms_StringTranslate_translateKey($var1, $rt_s(3038));
    ju_ArrayList_clear($this.$buttonList);
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(200, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 168 | 0, nms_StringTranslate_translateKey($var1, $rt_s(511))));
    $this.$is64bit = 1;
    $var9 = 0;
    $var10 = $java.nms_GuiVideoSettings_videoOptions.data;
    $var11 = $var10.length;
    $var12 = 0;
    while ($var12 < $var11) {
        $var8 = $var10[$var12];
        if (!$var8.$enumFloat)
            ju_ArrayList_add($this.$buttonList, $java.nms_GuiSmallButton__init_0($var8.$ordinal, (($this.$width / 2 | 0) - 155 | 0) + (($var9 % 2 | 0) * 160 | 0) | 0, ($this.$height / 7 | 0) + (24 * ($var9 >> 1) | 0) | 0, $var8, nms_GameSettings_getKeyBinding($this.$guiGameSettings, $var8)));
        else
            ju_ArrayList_add($this.$buttonList, $java.nms_GuiSlider__init_($var8.$ordinal, (($this.$width / 2 | 0) - 155 | 0) + (($var9 % 2 | 0) * 160 | 0) | 0, ($this.$height / 7 | 0) + (24 * ($var9 >> 1) | 0) | 0, $var8, nms_GameSettings_getKeyBinding($this.$guiGameSettings, $var8), nms_GameSettings_getOptionFloatValue($this.$guiGameSettings, $var8)));
        $var9 = $var9 + 1 | 0;
        $var12 = $var12 + 1 | 0;
    }
};
$java.nms_GuiVideoSettings_actionPerformed = function($this, $par1GuiButton) {
    var $var2, $var3, var$4, $var5, $var4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var4 = $thread.pop();$var5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1GuiButton.$enabled) {
            $var2 = $this.$guiGameSettings.$guiScale;
            if ($par1GuiButton.$id3 < 100 && $par1GuiButton instanceof nms_GuiSmallButton) {
                $var3 = $this.$guiGameSettings;
                var$4 = $par1GuiButton.$enumOptions;
                $var5 = 1;
                $ptr = 1;
                continue main;
            }
            if ($par1GuiButton.$id3 == 200) {
                nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
                nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$parentGuiScreen);
            }
            if ($this.$guiGameSettings.$guiScale != $var2) {
                $var3 = nms_ScaledResolution__init_($this.$mc2.$gameSettings, $this.$mc2.$displayWidth, $this.$mc2.$displayHeight);
                $var4 = $var3.$scaledWidth;
                $var5 = $var3.$scaledHeight;
                nms_GuiScreen_setWorldAndResolution($this, $this.$mc2, $var4, $var5);
            }
        }
        return;
    case 1:
        nms_GameSettings_setOptionValue($var3, var$4, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $par1GuiButton.$displayString = nms_GameSettings_getKeyBinding($this.$guiGameSettings, nms_EnumOptions_getEnumOptions($par1GuiButton.$id3));
        if ($par1GuiButton.$id3 == 200) {
            nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
            nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$parentGuiScreen);
        }
        if ($this.$guiGameSettings.$guiScale != $var2) {
            $var3 = nms_ScaledResolution__init_($this.$mc2.$gameSettings, $this.$mc2.$displayWidth, $this.$mc2.$displayHeight);
            $var4 = $var3.$scaledWidth;
            $var5 = $var3.$scaledHeight;
            nms_GuiScreen_setWorldAndResolution($this, $this.$mc2, $var4, $var5);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, $var2, $var3, var$4, $var5, $var4, $ptr);
};
$java.nms_GuiVideoSettings_drawScreen = function($this, $par1, $par2, $par3) {
    var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = $this.$screenTitle4;
        var$6 = $this.$width / 2 | 0;
        var$7 = !$this.$is64bit ? 5 : 20;
        var$8 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$is64bit && !$this.$guiGameSettings.$renderDistance) {
            var$4 = $this.$fontRenderer0;
            var$5 = nms_StatCollector_translateToLocal($rt_s(3039));
            var$6 = $this.$width / 2 | 0;
            var$7 = (($this.$height / 6 | 0) + 144 | 0) + 1 | 0;
            var$8 = 11468800;
            $ptr = 4;
            continue main;
        }
        $ptr = 3;
    case 3:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = nms_StatCollector_translateToLocal($rt_s(3040));
        var$6 = $this.$width / 2 | 0;
        var$7 = (($this.$height / 6 | 0) + 144 | 0) + 13 | 0;
        var$8 = 11468800;
        $ptr = 5;
    case 5:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 3;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, var$6, var$7, var$8, $ptr);
};
$java.nms_GuiVideoSettings__clinit_ = function() {
    var var$1, var$2;
    var$1 = $rt_createArray(nms_EnumOptions, 12);
    var$2 = var$1.data;
    var$2[0] = nms_EnumOptions_GRAPHICS;
    var$2[1] = nms_EnumOptions_RENDER_DISTANCE;
    var$2[2] = nms_EnumOptions_AMBIENT_OCCLUSION;
    var$2[3] = nms_EnumOptions_FRAMERATE_LIMIT;
    var$2[4] = nms_EnumOptions_ANAGLYPH;
    var$2[5] = nms_EnumOptions_VIEW_BOBBING;
    var$2[6] = nms_EnumOptions_GUI_SCALE;
    var$2[7] = nms_EnumOptions_GAMMA;
    var$2[8] = nms_EnumOptions_RENDER_CLOUDS;
    var$2[9] = nms_EnumOptions_ENABLE_FOG;
    var$2[10] = nms_EnumOptions_PARTICLES;
    var$2[11] = nms_EnumOptions_PATCH_ANGLE;
    $java.nms_GuiVideoSettings_videoOptions = var$1;
};
function nms_GuiControls() {
    var a = this; nms_GuiScreen.call(a);
    a.$parentScreen2 = null;
    a.$screenTitle5 = null;
    a.$options3 = null;
    a.$buttonId = 0;
}
$java.nms_GuiControls_getLeftBorder = function($this) {
    return ($this.$width / 2 | 0) - 155 | 0;
};
$java.nms_GuiControls_initGui = function($this) {
    var $var1, $var2, $var3, var$4, var$5;
    $var1 = nms_StringTranslate_instance;
    $var2 = $java.nms_GuiControls_getLeftBorder($this);
    $var3 = 0;
    while ($var3 < $this.$options3.$keyBindings.data.length) {
        var$4 = $this.$buttonList;
        var$5 = new nms_GuiSmallButton;
        nms_GuiButton__init_1(var$5, $var3, $var2 + (($var3 % 2 | 0) * 160 | 0) | 0, ($this.$height / 6 | 0) + (20 * ($var3 >> 1) | 0) | 0, 70, 20, nms_GameSettings_getOptionDisplayString($this.$options3, $var3));
        var$5.$enumOptions = null;
        ju_ArrayList_add(var$4, var$5);
        $var3 = $var3 + 1 | 0;
    }
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(200, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 168 | 0, nms_StringTranslate_translateKey($var1, $rt_s(511))));
    $this.$screenTitle5 = nms_StringTranslate_translateKey($var1, $rt_s(3041));
};
$java.nms_GuiControls_actionPerformed = function($this, $par1GuiButton) {
    var $var2, var$3;
    $var2 = 0;
    while ($var2 < $this.$options3.$keyBindings.data.length) {
        ju_ArrayList_get($this.$buttonList, $var2).$displayString = nms_GameSettings_getOptionDisplayString($this.$options3, $var2);
        $var2 = $var2 + 1 | 0;
    }
    if ($par1GuiButton.$id3 == 200)
        nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$parentScreen2);
    else {
        $this.$buttonId = $par1GuiButton.$id3;
        var$3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$3);
        jl_AbstractStringBuilder_append(var$3, $rt_s(2956));
        jl_AbstractStringBuilder_append(var$3, nms_GameSettings_getOptionDisplayString($this.$options3, $par1GuiButton.$id3));
        jl_AbstractStringBuilder_append(var$3, $rt_s(2957));
        $par1GuiButton.$displayString = jl_AbstractStringBuilder_toString(var$3);
    }
};
$java.nms_GuiControls_mouseClicked = function($this, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$buttonId >= 0) {
            nms_GameSettings_setKeyBinding($this.$options3, $this.$buttonId, (-100) + $par3 | 0);
            ju_ArrayList_get($this.$buttonList, $this.$buttonId).$displayString = nms_GameSettings_getOptionDisplayString($this.$options3, $this.$buttonId);
            $this.$buttonId = (-1);
            nms_KeyBinding_resetKeyBindingArrayAndHash();
            return;
        }
        $ptr = 1;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $ptr);
};
$java.nms_GuiControls_keyTyped = function($this, $par1, $par2) {
    if ($this.$buttonId >= 0) {
        nms_GameSettings_setKeyBinding($this.$options3, $this.$buttonId, $par2);
        ju_ArrayList_get($this.$buttonList, $this.$buttonId).$displayString = nms_GameSettings_getOptionDisplayString($this.$options3, $this.$buttonId);
        $this.$buttonId = (-1);
        nms_KeyBinding_resetKeyBindingArrayAndHash();
    }
};
$java.nms_GuiControls_drawScreen = function($this, $par1, $par2, $par3) {
    var var$4, var$5, $var4, $var5, $var7, $var6, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = $this.$screenTitle5;
        $var4 = $this.$width / 2 | 0;
        $var5 = 20;
        $var7 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$4, var$5, $var4, $var5, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $java.nms_GuiControls_getLeftBorder($this);
        $var5 = 0;
        if ($var5 >= $this.$options3.$keyBindings.data.length) {
            $ptr = 3;
            continue main;
        }
        $var6 = 0;
        $var7 = 0;
        a: {
            while ($var7 < $this.$options3.$keyBindings.data.length) {
                if ($var7 != $var5 && $this.$options3.$keyBindings.data[$var5].$keyCode == $this.$options3.$keyBindings.data[$var7].$keyCode) {
                    $var6 = 1;
                    break a;
                }
                $var7 = $var7 + 1 | 0;
            }
        }
        if ($this.$buttonId == $var5) {
            var$5 = ju_ArrayList_get($this.$buttonList, $var5);
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, $rt_s(36));
            jl_AbstractStringBuilder_append1(var$4, $java.nms_EnumChatFormatting_WHITE);
            jl_AbstractStringBuilder_append(var$4, $rt_s(2956));
            jl_AbstractStringBuilder_append1(var$4, nms_EnumChatFormatting_YELLOW);
            jl_AbstractStringBuilder_append(var$4, $rt_s(3042));
            jl_AbstractStringBuilder_append1(var$4, $java.nms_EnumChatFormatting_WHITE);
            jl_AbstractStringBuilder_append(var$4, $rt_s(572));
            var$5.$displayString = jl_AbstractStringBuilder_toString(var$4);
        } else if (!$var6)
            ju_ArrayList_get($this.$buttonList, $var5).$displayString = nms_GameSettings_getOptionDisplayString($this.$options3, $var5);
        else {
            var$5 = ju_ArrayList_get($this.$buttonList, $var5);
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append1(var$4, nms_EnumChatFormatting_RED);
            jl_AbstractStringBuilder_append(var$4, nms_GameSettings_getOptionDisplayString($this.$options3, $var5));
            var$5.$displayString = jl_AbstractStringBuilder_toString(var$4);
        }
        var$5 = $this.$fontRenderer0;
        var$4 = nms_GameSettings_getKeyBindingDescription($this.$options3, $var5);
        $var7 = (($var4 + (($var5 % 2 | 0) * 160 | 0) | 0) + 70 | 0) + 6 | 0;
        var$10 = (($this.$height / 6 | 0) + (20 * ($var5 >> 1) | 0) | 0) + 7 | 0;
        $var6 = (-1);
        $ptr = 4;
        continue main;
    case 3:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 4:
        nms_FontRenderer_drawStringWithShadow(var$5, var$4, $var7, var$10, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $var5 + 1 | 0;
        if ($var5 >= $this.$options3.$keyBindings.data.length) {
            $ptr = 3;
            continue main;
        }
        $var6 = 0;
        $var7 = 0;
        a: {
            while ($var7 < $this.$options3.$keyBindings.data.length) {
                if ($var7 != $var5 && $this.$options3.$keyBindings.data[$var5].$keyCode == $this.$options3.$keyBindings.data[$var7].$keyCode) {
                    $var6 = 1;
                    break a;
                }
                $var7 = $var7 + 1 | 0;
            }
        }
        if ($this.$buttonId == $var5) {
            var$5 = ju_ArrayList_get($this.$buttonList, $var5);
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, $rt_s(36));
            jl_AbstractStringBuilder_append1(var$4, $java.nms_EnumChatFormatting_WHITE);
            jl_AbstractStringBuilder_append(var$4, $rt_s(2956));
            jl_AbstractStringBuilder_append1(var$4, nms_EnumChatFormatting_YELLOW);
            jl_AbstractStringBuilder_append(var$4, $rt_s(3042));
            jl_AbstractStringBuilder_append1(var$4, $java.nms_EnumChatFormatting_WHITE);
            jl_AbstractStringBuilder_append(var$4, $rt_s(572));
            var$5.$displayString = jl_AbstractStringBuilder_toString(var$4);
        } else if (!$var6)
            ju_ArrayList_get($this.$buttonList, $var5).$displayString = nms_GameSettings_getOptionDisplayString($this.$options3, $var5);
        else {
            var$5 = ju_ArrayList_get($this.$buttonList, $var5);
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append1(var$4, nms_EnumChatFormatting_RED);
            jl_AbstractStringBuilder_append(var$4, nms_GameSettings_getOptionDisplayString($this.$options3, $var5));
            var$5.$displayString = jl_AbstractStringBuilder_toString(var$4);
        }
        var$5 = $this.$fontRenderer0;
        var$4 = nms_GameSettings_getKeyBindingDescription($this.$options3, $var5);
        $var7 = (($var4 + (($var5 % 2 | 0) * 160 | 0) | 0) + 70 | 0) + 6 | 0;
        var$10 = (($this.$height / 6 | 0) + (20 * ($var5 >> 1) | 0) | 0) + 7 | 0;
        $var6 = (-1);
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, $var4, $var5, $var7, $var6, var$10, $ptr);
};
function nms_GuiScreenChatOptions() {
    var a = this; nms_GuiScreen.call(a);
    a.$theGuiScreen = null;
    a.$theSettings = null;
    a.$theChatOptions = null;
    a.$field_82268_n = null;
    a.$field_82269_o = 0;
}
$java.nms_GuiScreenChatOptions_allScreenChatOptions = null;
$java.nms_GuiScreenChatOptions_allMultiplayerOptions = null;
$java.nms_GuiScreenChatOptions_$callClinit = function() {
    $java.nms_GuiScreenChatOptions_$callClinit = $rt_eraseClinit(nms_GuiScreenChatOptions);
    $java.nms_GuiScreenChatOptions__clinit_();
};
$java.nms_GuiScreenChatOptions_initGui = function($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, var$7, var$8, $var6_0;
    $var1 = nms_StringTranslate_instance;
    $var2 = 0;
    $this.$theChatOptions = nms_StringTranslate_translateKey($var1, $rt_s(3043));
    $this.$field_82268_n = nms_StringTranslate_translateKey($var1, $rt_s(2979));
    $var3 = $java.nms_GuiScreenChatOptions_allScreenChatOptions.data;
    $var4 = $var3.length;
    $var5 = 0;
    while ($var5 < $var4) {
        $var6 = $var3[$var5];
        if (!$var6.$enumFloat)
            ju_ArrayList_add($this.$buttonList, $java.nms_GuiSmallButton__init_0($var6.$ordinal, (($this.$width / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0, ($this.$height / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0, $var6, nms_GameSettings_getKeyBinding($this.$theSettings, $var6)));
        else
            ju_ArrayList_add($this.$buttonList, $java.nms_GuiSlider__init_($var6.$ordinal, (($this.$width / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0, ($this.$height / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0, $var6, nms_GameSettings_getKeyBinding($this.$theSettings, $var6), nms_GameSettings_getOptionFloatValue($this.$theSettings, $var6)));
        $var2 = $var2 + 1 | 0;
        $var5 = $var5 + 1 | 0;
    }
    if (($var2 % 2 | 0) == 1)
        $var2 = $var2 + 1 | 0;
    $this.$field_82269_o = ($this.$height / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0;
    $var2 = $var2 + 2 | 0;
    $var3 = $java.nms_GuiScreenChatOptions_allMultiplayerOptions.data;
    var$7 = $var3.length;
    var$8 = 0;
    while (var$8 < var$7) {
        $var6_0 = $var3[var$8];
        if (!$var6_0.$enumFloat)
            ju_ArrayList_add($this.$buttonList, $java.nms_GuiSmallButton__init_0($var6_0.$ordinal, (($this.$width / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0, ($this.$height / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0, $var6_0, nms_GameSettings_getKeyBinding($this.$theSettings, $var6_0)));
        else
            ju_ArrayList_add($this.$buttonList, $java.nms_GuiSlider__init_($var6_0.$ordinal, (($this.$width / 2 | 0) - 155 | 0) + (($var2 % 2 | 0) * 160 | 0) | 0, ($this.$height / 6 | 0) + (24 * ($var2 >> 1) | 0) | 0, $var6_0, nms_GameSettings_getKeyBinding($this.$theSettings, $var6_0), nms_GameSettings_getOptionFloatValue($this.$theSettings, $var6_0)));
        $var2 = $var2 + 1 | 0;
        var$8 = var$8 + 1 | 0;
    }
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(200, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 6 | 0) + 168 | 0, nms_StringTranslate_translateKey($var1, $rt_s(511))));
};
$java.nms_GuiScreenChatOptions_actionPerformed = function($this, $par1GuiButton) {
    var var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1GuiButton.$enabled) {
            if ($par1GuiButton.$id3 < 100 && $par1GuiButton instanceof nms_GuiSmallButton) {
                var$2 = $this.$theSettings;
                var$3 = $par1GuiButton.$enumOptions;
                var$4 = 1;
                $ptr = 1;
                continue main;
            }
            if ($par1GuiButton.$id3 == 200) {
                nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
                nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$theGuiScreen);
            }
        }
        return;
    case 1:
        nms_GameSettings_setOptionValue(var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $par1GuiButton.$displayString = nms_GameSettings_getKeyBinding($this.$theSettings, nms_EnumOptions_getEnumOptions($par1GuiButton.$id3));
        if ($par1GuiButton.$id3 == 200) {
            nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
            nmc_Minecraft_displayGuiScreen($this.$mc2, $this.$theGuiScreen);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, var$2, var$3, var$4, $ptr);
};
$java.nms_GuiScreenChatOptions_drawScreen = function($this, $par1, $par2, $par3) {
    var var$4, var$5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = $this.$theChatOptions;
        var$6 = $this.$width / 2 | 0;
        var$7 = 20;
        var$8 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$5 = $this.$field_82268_n;
        var$6 = $this.$width / 2 | 0;
        var$7 = $this.$field_82269_o + 7 | 0;
        var$8 = 16777215;
        $ptr = 3;
    case 3:
        nms_Gui_drawCenteredString($this, var$4, var$5, var$6, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 4;
    case 4:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, var$5, var$6, var$7, var$8, $ptr);
};
$java.nms_GuiScreenChatOptions__clinit_ = function() {
    var var$1, var$2;
    var$1 = $rt_createArray(nms_EnumOptions, 9);
    var$2 = var$1.data;
    var$2[0] = nms_EnumOptions_CHAT_VISIBILITY;
    var$2[1] = nms_EnumOptions_CHAT_COLOR;
    var$2[2] = nms_EnumOptions_CHAT_LINKS;
    var$2[3] = nms_EnumOptions_CHAT_OPACITY;
    var$2[4] = nms_EnumOptions_CHAT_LINKS_PROMPT;
    var$2[5] = nms_EnumOptions_CHAT_SCALE;
    var$2[6] = nms_EnumOptions_CHAT_HEIGHT_FOCUSED;
    var$2[7] = nms_EnumOptions_CHAT_HEIGHT_UNFOCUSED;
    var$2[8] = nms_EnumOptions_CHAT_WIDTH;
    $java.nms_GuiScreenChatOptions_allScreenChatOptions = var$1;
    var$1 = $rt_createArray(nms_EnumOptions, 1);
    var$1.data[0] = nms_EnumOptions_SHOW_CAPE;
    $java.nms_GuiScreenChatOptions_allMultiplayerOptions = var$1;
};
function nms_GuiSlot() {
    var a = this; jl_Object.call(a);
    a.$mc16 = null;
    a.$width11 = 0;
    a.$height12 = 0;
    a.$top = 0;
    a.$bottom = 0;
    a.$right0 = 0;
    a.$left1 = 0;
    a.$slotHeight = 0;
    a.$scrollUpButtonID = 0;
    a.$scrollDownButtonID = 0;
    a.$mouseX = 0;
    a.$mouseY = 0;
    a.$initialClickY = 0.0;
    a.$scrollMultiplier = 0.0;
    a.$amountScrolled = 0.0;
    a.$selectedElement = 0;
    a.$lastClicked = Long_ZERO;
    a.$showSelectionBox = 0;
    a.$field_77243_s = 0;
    a.$field_77242_t = 0;
    a.$elementWidth = 0;
}
$java.nms_GuiSlot_tex = null;
$java.nms_GuiSlot__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_GuiSlot();
    nms_GuiSlot__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
};
function nms_GuiSlot__init_($this, $par1Minecraft, $par2, $par3, $par4, $par5, $par6) {
    $this.$initialClickY = (-2.0);
    $this.$selectedElement = (-1);
    $this.$lastClicked = Long_ZERO;
    $this.$showSelectionBox = 1;
    $this.$elementWidth = 110;
    $this.$mc16 = $par1Minecraft;
    $this.$width11 = $par2;
    $this.$height12 = $par3;
    $this.$top = $par4;
    $this.$bottom = $par5;
    $this.$slotHeight = $par6;
    $this.$left1 = 0;
    $this.$right0 = $par2;
}
function nms_GuiSlot_func_77207_a($this, $par1, $par2, $par3, $par4) {
    $this.$width11 = $par1;
    $this.$height12 = $par2;
    $this.$top = $par3;
    $this.$bottom = $par4;
    $this.$left1 = 0;
    $this.$right0 = $par1;
}
$java.nms_GuiSlot_func_77222_a = function($this, $par1, $par2, $par3Tessellator) {
    return;
};
$java.nms_GuiSlot_func_77224_a = function($this, $par1, $par2) {
    return;
};
$java.nms_GuiSlot_func_77215_b = function($this, $par1, $par2) {
    return;
};
$java.nms_GuiSlot_registerScrollButtons = function($this, $par1List, $par2, $par3) {
    $this.$scrollUpButtonID = $par2;
    $this.$scrollDownButtonID = $par3;
};
$java.nms_GuiSlot_bindAmountScrolled = function($this) {
    var $var1, var$2, var$3;
    $var1 = $java.nms_GuiSlot_func_77209_d($this);
    if ($var1 < 0)
        $var1 = $var1 / 2 | 0;
    if ($this.$amountScrolled < 0.0)
        $this.$amountScrolled = 0.0;
    var$2 = $this.$amountScrolled;
    var$3 = $var1;
    if (var$2 > var$3)
        $this.$amountScrolled = var$3;
};
$java.nms_GuiSlot_func_77209_d = function($this) {
    return $this.$getContentHeight() - (($this.$bottom - $this.$top | 0) - 4 | 0) | 0;
};
function nms_GuiSlot_func_77208_b($this, $par1) {
    $this.$amountScrolled = $this.$amountScrolled + $par1;
    $java.nms_GuiSlot_bindAmountScrolled($this);
    $this.$initialClickY = (-2.0);
}
function nms_GuiSlot_actionPerformed($this, $par1GuiButton) {
    if ($par1GuiButton.$enabled) {
        if ($par1GuiButton.$id3 == $this.$scrollUpButtonID) {
            $this.$amountScrolled = $this.$amountScrolled - (($this.$slotHeight * 2 | 0) / 3 | 0);
            $this.$initialClickY = (-2.0);
            $java.nms_GuiSlot_bindAmountScrolled($this);
        } else if ($par1GuiButton.$id3 == $this.$scrollDownButtonID) {
            $this.$amountScrolled = $this.$amountScrolled + (($this.$slotHeight * 2 | 0) / 3 | 0);
            $this.$initialClickY = (-2.0);
            $java.nms_GuiSlot_bindAmountScrolled($this);
        }
    }
}
function nms_GuiSlot_drawScreen($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var16, $var7, $var8, $var9, $var10, $var11, $var12, $var20, $var13, $var17, $var18, var$18, $var14, $var15, var$21, var$22, var$23, var$24, var$25, var$26, $var19, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var19 = $thread.pop();var$26 = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();var$18 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var13 = $thread.pop();$var20 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var16 = $thread.pop();$var6
        = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$mouseX = $par1;
        $this.$mouseY = $par2;
        $ptr = 1;
    case 1:
        $this.$drawBackground0();
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $this.$getSize();
        $var5 = $java.nms_GuiSlot_getScrollBarX($this);
        $var6 = $var5 + 6 | 0;
        if (!nlea_EaglerAdapterImpl2_mouseIsButtonDown(0)) {
            while (!$this.$mc16.$gameSettings.$touchscreen && nlea_EaglerAdapterImpl2_mouseNext()) {
                $var16 = nlea_EaglerAdapterImpl2_mouseGetEventDWheel();
                if ($var16) {
                    if ($var16 > 0)
                        $var16 = (-1);
                    else if ($var16 < 0)
                        $var16 = 1;
                    $this.$amountScrolled = $this.$amountScrolled + ($rt_imul($var16, $this.$slotHeight) / 2 | 0);
                }
            }
            $this.$initialClickY = (-1.0);
        } else if ($this.$initialClickY === (-1.0)) {
            $var7 = 1;
            if ($par2 >= $this.$top && $par2 <= $this.$bottom) {
                $var8 = ($this.$width11 / 2 | 0) - $this.$elementWidth | 0;
                $var9 = ($this.$width11 / 2 | 0) + $this.$elementWidth | 0;
                $var10 = ((($par2 - $this.$top | 0) - $this.$field_77242_t | 0) + ($this.$amountScrolled | 0) | 0) - 4 | 0;
                $var11 = $var10 / $this.$slotHeight | 0;
                $var16 = $rt_compare($par1, $var8);
                if ($var16 >= 0 && $par1 <= $var9 && $var11 >= 0 && $var10 >= 0 && $var11 < $var4) {
                    $var12 = $var11 == $this.$selectedElement && Long_lt(Long_sub(nmc_Minecraft_getSystemTime(), $this.$lastClicked), Long_fromInt(250)) ? 1 : 0;
                    $ptr = 6;
                    continue main;
                }
                if ($var16 >= 0 && $par1 <= $var9 && $var10 < 0) {
                    $java.nms_GuiSlot_func_77224_a($this, $par1 - $var8 | 0, (($par2 - $this.$top | 0) + ($this.$amountScrolled | 0) | 0) - 4 | 0);
                    $var7 = 0;
                }
                if ($par1 >= $var5 && $par1 <= $var6) {
                    $this.$scrollMultiplier = (-1.0);
                    $var20 = $java.nms_GuiSlot_func_77209_d($this);
                    if ($var20 < 1)
                        $var20 = 1;
                    $var13 = $rt_imul($this.$bottom - $this.$top | 0, $this.$bottom - $this.$top | 0) / $this.$getContentHeight() | 0;
                    if ($var13 < 32)
                        $var13 = 32;
                    if ($var13 > (($this.$bottom - $this.$top | 0) - 8 | 0))
                        $var13 = ($this.$bottom - $this.$top | 0) - 8 | 0;
                    $this.$scrollMultiplier = $this.$scrollMultiplier / ((($this.$bottom - $this.$top | 0) - $var13 | 0) / $var20);
                } else
                    $this.$scrollMultiplier = 1.0;
                if (!$var7)
                    $this.$initialClickY = (-2.0);
                else
                    $this.$initialClickY = $par2;
            } else
                $this.$initialClickY = (-2.0);
        } else if ($this.$initialClickY >= 0.0) {
            $par3 = $this.$amountScrolled;
            $var17 = $par2;
            $this.$amountScrolled = $par3 - ($var17 - $this.$initialClickY) * $this.$scrollMultiplier;
            $this.$initialClickY = $var17;
        }
        $java.nms_GuiSlot_bindAmountScrolled($this);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDisable(2912);
        nlea_Tessellator_$callClinit();
        $var18 = nlea_Tessellator_instance;
        var$18 = $java.nms_GuiSlot_tex;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture(var$18);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nlea_Tessellator_startDrawingQuads($var18);
        nlea_Tessellator_setColorOpaque_I($var18, 2105376);
        nlea_Tessellator_addVertexWithUV($var18, $this.$left1, $this.$bottom, 0.0, $this.$left1 / 32.0, ($this.$bottom + ($this.$amountScrolled | 0) | 0) / 32.0);
        nlea_Tessellator_addVertexWithUV($var18, $this.$right0, $this.$bottom, 0.0, $this.$right0 / 32.0, ($this.$bottom + ($this.$amountScrolled | 0) | 0) / 32.0);
        nlea_Tessellator_addVertexWithUV($var18, $this.$right0, $this.$top, 0.0, $this.$right0 / 32.0, ($this.$top + ($this.$amountScrolled | 0) | 0) / 32.0);
        nlea_Tessellator_addVertexWithUV($var18, $this.$left1, $this.$top, 0.0, $this.$left1 / 32.0, ($this.$top + ($this.$amountScrolled | 0) | 0) / 32.0);
        nlea_Tessellator_draw($var18);
        $var9 = (($this.$width11 / 2 | 0) + 2 | 0) - $this.$elementWidth | 0;
        $var10 = ($this.$top + 4 | 0) - ($this.$amountScrolled | 0) | 0;
        if ($this.$field_77243_s)
            $java.nms_GuiSlot_func_77222_a($this, $var9, $var10, $var18);
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        $var11 = 0;
        while ($var11 < $var4) {
            $var20 = ($var10 + $rt_imul($var11, $this.$slotHeight) | 0) + $this.$field_77242_t | 0;
            $var13 = $this.$slotHeight - 4 | 0;
            if ($var20 <= $this.$bottom) {
                $var16 = $var20 + $var13 | 0;
                if ($var16 >= $this.$top) {
                    if ($this.$showSelectionBox && $this.$isSelected($var11)) {
                        $var14 = ($this.$width11 / 2 | 0) - $this.$elementWidth | 0;
                        $var15 = ($this.$width11 / 2 | 0) + $this.$elementWidth | 0;
                        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                        nleg_EaglerAdapterGL30_glDisable(3553);
                        nlea_Tessellator_startDrawingQuads($var18);
                        nlea_Tessellator_setColorOpaque_I($var18, 8421504);
                        var$21 = $var14;
                        var$22 = $var16 + 2 | 0;
                        nlea_Tessellator_addVertexWithUV($var18, var$21, var$22, 0.0, 0.0, 1.0);
                        var$23 = $var15;
                        nlea_Tessellator_addVertexWithUV($var18, var$23, var$22, 0.0, 1.0, 1.0);
                        var$24 = $var20 - 2 | 0;
                        nlea_Tessellator_addVertexWithUV($var18, var$23, var$24, 0.0, 1.0, 0.0);
                        nlea_Tessellator_addVertexWithUV($var18, var$21, var$24, 0.0, 0.0, 0.0);
                        nlea_Tessellator_setColorOpaque_I($var18, 0);
                        var$22 = $var14 + 1 | 0;
                        var$25 = $var16 + 1 | 0;
                        nlea_Tessellator_addVertexWithUV($var18, var$22, var$25, 0.0, 0.0, 1.0);
                        var$26 = $var15 - 1 | 0;
                        nlea_Tessellator_addVertexWithUV($var18, var$26, var$25, 0.0, 1.0, 1.0);
                        var$25 = $var20 - 1 | 0;
                        nlea_Tessellator_addVertexWithUV($var18, var$26, var$25, 0.0, 1.0, 0.0);
                        nlea_Tessellator_addVertexWithUV($var18, var$22, var$25, 0.0, 0.0, 0.0);
                        nlea_Tessellator_draw($var18);
                        nleg_EaglerAdapterGL30_glEnable(3553);
                    }
                    $ptr = 5;
                    continue main;
                }
            }
            $var11 = $var11 + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glDisable(2929);
        $var19 = 4;
        $var16 = 0;
        $var7 = $this.$top;
        $var8 = 255;
        $var9 = 255;
        $ptr = 3;
    case 3:
        $java.nms_GuiSlot_overlayBackground($this, $var16, $var7, $var8, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var16 = $this.$bottom;
        $var7 = $this.$height12;
        $var8 = 255;
        $var9 = 255;
        $ptr = 4;
    case 4:
        $java.nms_GuiSlot_overlayBackground($this, $var16, $var7, $var8, $var9);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nleg_EaglerAdapterGL30_glDisable(3008);
        nleg_EaglerAdapterGL30_glShadeModel(7425);
        nleg_EaglerAdapterGL30_glDisable(3553);
        nlea_Tessellator_startDrawingQuads($var18);
        nlea_Tessellator_setColorRGBA_I($var18, 0, 0);
        nlea_Tessellator_addVertexWithUV($var18, $this.$left1, $this.$top + $var19 | 0, 0.0, 0.0, 1.0);
        nlea_Tessellator_addVertexWithUV($var18, $this.$right0, $this.$top + $var19 | 0, 0.0, 1.0, 1.0);
        nlea_Tessellator_setColorRGBA_I($var18, 0, 255);
        nlea_Tessellator_addVertexWithUV($var18, $this.$right0, $this.$top, 0.0, 1.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var18, $this.$left1, $this.$top, 0.0, 0.0, 0.0);
        nlea_Tessellator_draw($var18);
        nlea_Tessellator_startDrawingQuads($var18);
        nlea_Tessellator_setColorRGBA_I($var18, 0, 255);
        nlea_Tessellator_addVertexWithUV($var18, $this.$left1, $this.$bottom, 0.0, 0.0, 1.0);
        nlea_Tessellator_addVertexWithUV($var18, $this.$right0, $this.$bottom, 0.0, 1.0, 1.0);
        nlea_Tessellator_setColorRGBA_I($var18, 0, 0);
        nlea_Tessellator_addVertexWithUV($var18, $this.$right0, $this.$bottom - $var19 | 0, 0.0, 1.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var18, $this.$left1, $this.$bottom - $var19 | 0, 0.0, 0.0, 0.0);
        nlea_Tessellator_draw($var18);
        $var20 = $java.nms_GuiSlot_func_77209_d($this);
        if ($var20 > 0) {
            $var13 = $rt_imul($this.$bottom - $this.$top | 0, $this.$bottom - $this.$top | 0) / $this.$getContentHeight() | 0;
            if ($var13 < 32)
                $var13 = 32;
            if ($var13 > (($this.$bottom - $this.$top | 0) - 8 | 0))
                $var13 = ($this.$bottom - $this.$top | 0) - 8 | 0;
            $var14 = ($rt_imul($this.$amountScrolled | 0, ($this.$bottom - $this.$top | 0) - $var13 | 0) / $var20 | 0) + $this.$top | 0;
            if ($var14 < $this.$top)
                $var14 = $this.$top;
            nlea_Tessellator_startDrawingQuads($var18);
            nlea_Tessellator_setColorRGBA_I($var18, 0, 255);
            var$22 = $var5;
            nlea_Tessellator_addVertexWithUV($var18, var$22, $this.$bottom, 0.0, 0.0, 1.0);
            var$25 = $var6;
            nlea_Tessellator_addVertexWithUV($var18, var$25, $this.$bottom, 0.0, 1.0, 1.0);
            nlea_Tessellator_addVertexWithUV($var18, var$25, $this.$top, 0.0, 1.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var18, var$22, $this.$top, 0.0, 0.0, 0.0);
            nlea_Tessellator_draw($var18);
            nlea_Tessellator_startDrawingQuads($var18);
            nlea_Tessellator_setColorRGBA_I($var18, 8421504, 255);
            $var16 = $var14 + $var13 | 0;
            var$26 = $var16;
            nlea_Tessellator_addVertexWithUV($var18, var$22, var$26, 0.0, 0.0, 1.0);
            nlea_Tessellator_addVertexWithUV($var18, var$25, var$26, 0.0, 1.0, 1.0);
            var$26 = $var14;
            nlea_Tessellator_addVertexWithUV($var18, var$25, var$26, 0.0, 1.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var18, var$22, var$26, 0.0, 0.0, 0.0);
            nlea_Tessellator_draw($var18);
            nlea_Tessellator_startDrawingQuads($var18);
            nlea_Tessellator_setColorRGBA_I($var18, 12632256, 255);
            var$25 = $var16 - 1 | 0;
            nlea_Tessellator_addVertexWithUV($var18, var$22, var$25, 0.0, 0.0, 1.0);
            var$21 = $var6 - 1 | 0;
            nlea_Tessellator_addVertexWithUV($var18, var$21, var$25, 0.0, 1.0, 1.0);
            nlea_Tessellator_addVertexWithUV($var18, var$21, var$26, 0.0, 1.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var18, var$22, var$26, 0.0, 0.0, 0.0);
            nlea_Tessellator_draw($var18);
        }
        $java.nms_GuiSlot_func_77215_b($this, $par1, $par2);
        nleg_EaglerAdapterGL30_glEnable(3553);
        nleg_EaglerAdapterGL30_glShadeModel(7424);
        nleg_EaglerAdapterGL30_glEnable(3008);
        nleg_EaglerAdapterGL30_glDisable(3042);
        return;
    case 5:
        $this.$drawSlot($var11, $var9, $var20, $var13, $var18);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var11 = $var11 + 1 | 0;
            if ($var11 >= $var4)
                break;
            $var20 = ($var10 + $rt_imul($var11, $this.$slotHeight) | 0) + $this.$field_77242_t | 0;
            $var13 = $this.$slotHeight - 4 | 0;
            if ($var20 > $this.$bottom)
                continue;
            $var16 = $var20 + $var13 | 0;
            if ($var16 < $this.$top)
                continue;
            else {
                if ($this.$showSelectionBox && $this.$isSelected($var11)) {
                    $var14 = ($this.$width11 / 2 | 0) - $this.$elementWidth | 0;
                    $var15 = ($this.$width11 / 2 | 0) + $this.$elementWidth | 0;
                    nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
                    nleg_EaglerAdapterGL30_glDisable(3553);
                    nlea_Tessellator_startDrawingQuads($var18);
                    nlea_Tessellator_setColorOpaque_I($var18, 8421504);
                    var$21 = $var14;
                    var$22 = $var16 + 2 | 0;
                    nlea_Tessellator_addVertexWithUV($var18, var$21, var$22, 0.0, 0.0, 1.0);
                    var$23 = $var15;
                    nlea_Tessellator_addVertexWithUV($var18, var$23, var$22, 0.0, 1.0, 1.0);
                    var$24 = $var20 - 2 | 0;
                    nlea_Tessellator_addVertexWithUV($var18, var$23, var$24, 0.0, 1.0, 0.0);
                    nlea_Tessellator_addVertexWithUV($var18, var$21, var$24, 0.0, 0.0, 0.0);
                    nlea_Tessellator_setColorOpaque_I($var18, 0);
                    var$22 = $var14 + 1 | 0;
                    var$25 = $var16 + 1 | 0;
                    nlea_Tessellator_addVertexWithUV($var18, var$22, var$25, 0.0, 0.0, 1.0);
                    var$26 = $var15 - 1 | 0;
                    nlea_Tessellator_addVertexWithUV($var18, var$26, var$25, 0.0, 1.0, 1.0);
                    var$25 = $var20 - 1 | 0;
                    nlea_Tessellator_addVertexWithUV($var18, var$26, var$25, 0.0, 1.0, 0.0);
                    nlea_Tessellator_addVertexWithUV($var18, var$22, var$25, 0.0, 0.0, 0.0);
                    nlea_Tessellator_draw($var18);
                    nleg_EaglerAdapterGL30_glEnable(3553);
                }
                continue main;
            }
        }
        nleg_EaglerAdapterGL30_glDisable(2929);
        $var19 = 4;
        $var16 = 0;
        $var7 = $this.$top;
        $var8 = 255;
        $var9 = 255;
        $ptr = 3;
        continue main;
    case 6:
        $this.$elementClicked($var11, $var12);
        if ($rt_suspending()) {
            break main;
        }
        $this.$selectedElement = $var11;
        $this.$lastClicked = nmc_Minecraft_getSystemTime();
        if ($par1 >= $var5 && $par1 <= $var6) {
            $this.$scrollMultiplier = (-1.0);
            $var20 = $java.nms_GuiSlot_func_77209_d($this);
            if ($var20 < 1)
                $var20 = 1;
            $var13 = $rt_imul($this.$bottom - $this.$top | 0, $this.$bottom - $this.$top | 0) / $this.$getContentHeight() | 0;
            if ($var13 < 32)
                $var13 = 32;
            if ($var13 > (($this.$bottom - $this.$top | 0) - 8 | 0))
                $var13 = ($this.$bottom - $this.$top | 0) - 8 | 0;
            $this.$scrollMultiplier = $this.$scrollMultiplier / ((($this.$bottom - $this.$top | 0) - $var13 | 0) / $var20);
        } else
            $this.$scrollMultiplier = 1.0;
        if (!$var7)
            $this.$initialClickY = (-2.0);
        else
            $this.$initialClickY = $par2;
        $java.nms_GuiSlot_bindAmountScrolled($this);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nleg_EaglerAdapterGL30_glDisable(2912);
        nlea_Tessellator_$callClinit();
        $var18 = nlea_Tessellator_instance;
        var$18 = $java.nms_GuiSlot_tex;
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var16, $var7, $var8, $var9, $var10, $var11, $var12, $var20, $var13, $var17, $var18, var$18, $var14, $var15, var$21, var$22, var$23, var$24, var$25, var$26, $var19, $ptr);
}
$java.nms_GuiSlot_getScrollBarX = function($this) {
    return (($this.$width11 / 2 | 0) + $this.$elementWidth | 0) + 14 | 0;
};
$java.nms_GuiSlot_overlayBackground = function($this, $par1, $par2, $par3, $par4) {
    var $var5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_Tessellator_$callClinit();
        $var5 = nlea_Tessellator_instance;
        var$6 = $java.nms_GuiSlot_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$6);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nlea_Tessellator_startDrawingQuads($var5);
        nlea_Tessellator_setColorRGBA_I($var5, 4210752, $par4);
        var$7 = $par2;
        var$8 = $par2 / 32.0;
        nlea_Tessellator_addVertexWithUV($var5, 0.0, var$7, 0.0, 0.0, var$8);
        nlea_Tessellator_addVertexWithUV($var5, $this.$width11, var$7, 0.0, $this.$width11 / 32.0, var$8);
        nlea_Tessellator_setColorRGBA_I($var5, 4210752, $par3);
        var$9 = $this.$width11;
        var$7 = $par1;
        var$10 = $this.$width11 / 32.0;
        var$11 = $par1 / 32.0;
        nlea_Tessellator_addVertexWithUV($var5, var$9, var$7, 0.0, var$10, var$11);
        nlea_Tessellator_addVertexWithUV($var5, 0.0, var$7, 0.0, 0.0, var$11);
        nlea_Tessellator_draw($var5);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $var5, var$6, var$7, var$8, var$9, var$10, var$11, $ptr);
};
function nms_GuiSlot__clinit_() {
    $java.nms_GuiSlot_tex = nle_TextureLocation__init_($rt_s(508));
}
function nms_GuiSlotLanguage() {
    var a = this; nms_GuiSlot.call(a);
    a.$field_77251_g = null;
    a.$field_77253_h = null;
    a.$languageGui = null;
}
$java.nms_GuiSlotLanguage_getSize = function($this) {
    return $this.$field_77251_g.$size;
};
$java.nms_GuiSlotLanguage_elementClicked = function($this, $par1, $par2) {
    nms_StringTranslate_setLanguage(nms_StringTranslate_instance, ju_ArrayList_get($this.$field_77251_g, $par1), 0);
    $this.$languageGui.$mc2.$fontRenderer.$unicodeFlag = nms_StringTranslate_instance.$isUnicode;
    $this.$languageGui.$theGameSettings.$language = ju_ArrayList_get($this.$field_77251_g, $par1);
    $this.$languageGui.$fontRenderer0.$bidiFlag = nms_StringTranslate_isBidirectional($this.$languageGui.$theGameSettings.$language);
    $this.$languageGui.$doneButton.$displayString = nms_StringTranslate_translateKey(nms_StringTranslate_instance, $rt_s(511));
    nms_GameSettings_saveOptions($this.$languageGui.$theGameSettings);
};
$java.nms_GuiSlotLanguage_isSelected = function($this, $par1) {
    return jl_String_equals(ju_ArrayList_get($this.$field_77251_g, $par1), nms_StringTranslate_instance.$currentLanguage);
};
$java.nms_GuiSlotLanguage_getContentHeight = function($this) {
    return $java.nms_GuiSlotLanguage_getSize($this) * 18 | 0;
};
$java.nms_GuiSlotLanguage_drawBackground = function($this) {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = $this.$languageGui;
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground(var$1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $ptr);
};
$java.nms_GuiSlotLanguage_drawSlot = function($this, $par1, $par2, $par3, $par4, $par5Tessellator) {
    var var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$par5Tessellator = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$languageGui.$fontRenderer0.$bidiFlag = 1;
        $par5Tessellator = $this.$languageGui;
        var$6 = $this.$languageGui.$fontRenderer0;
        var$7 = $java.ju_TreeMap_get($this.$field_77253_h, ju_ArrayList_get($this.$field_77251_g, $par1));
        $par2 = $this.$languageGui.$width / 2 | 0;
        $par1 = $par3 + 1 | 0;
        $par3 = 16777215;
        $ptr = 1;
    case 1:
        nms_Gui_drawCenteredString($par5Tessellator, var$6, var$7, $par2, $par1, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$languageGui.$fontRenderer0.$bidiFlag = nms_StringTranslate_isBidirectional($this.$languageGui.$theGameSettings.$language);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5Tessellator, var$6, var$7, $ptr);
};
function nms_GuiSlotServer() {
    nms_GuiSlot.call(this);
    this.$parentGui = null;
}
$java.nms_GuiSlotServer_defaultServerIcon = null;
$java.nms_GuiSlotServer_icons = null;
function nms_GuiSlotServer_getSize($this) {
    return (nms_ServerList_countServers(nms_GuiMultiplayer_internetServerList) + 0 | 0) + 1 | 0;
}
$java.nms_GuiSlotServer_elementClicked = function($this, $par1, $par2) {
    var $var3, $var4, $var5, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 < (nms_ServerList_countServers(nms_GuiMultiplayer_internetServerList) + 0 | 0)) {
            $var3 = nms_GuiMultiplayer_getSelectedServer($this.$parentGui);
            $this.$parentGui.$selectedServer = $par1;
            $var4 = nms_ServerList_countServers(nms_GuiMultiplayer_internetServerList) <= $par1 ? null : nms_ServerList_getServerData(nms_GuiMultiplayer_internetServerList, $par1);
            a: {
                b: {
                    if (nms_GuiMultiplayer_getSelectedServer($this.$parentGui) >= 0 && nms_GuiMultiplayer_getSelectedServer($this.$parentGui) < nms_GuiSlotServer_getSize($this)) {
                        if ($var4 === null)
                            break b;
                        if ($var4.$field_82821_f == 61)
                            break b;
                    }
                    $var5 = 0;
                    break a;
                }
                $var5 = 1;
            }
            $var6 = nms_GuiMultiplayer_getSelectedServer($this.$parentGui) >= nms_ServerList_countServers(nms_GuiMultiplayer_internetServerList) ? 0 : 1;
            $this.$parentGui.$buttonSelect.$enabled = $var5;
            $this.$parentGui.$field_96289_p.$enabled = $var6;
            $this.$parentGui.$buttonDelete.$enabled = $var6;
            if ($par2 && $var5) {
                $var4 = $this.$parentGui;
                $ptr = 1;
                continue main;
            }
            if ($var6 && nms_GuiScreen_isShiftKeyDown() && $var3 > nms_ServerList_forcedServers.$size && $var3 < nms_ServerList_countServers(nms_GuiMultiplayer_internetServerList))
                nms_GuiMultiplayer_getSelectedServer($this.$parentGui);
        }
        return;
    case 1:
        nms_GuiMultiplayer_joinServer($var4, $par1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, $var4, $var5, $var6, $ptr);
};
$java.nms_GuiSlotServer_isSelected = function($this, $par1) {
    return $par1 != nms_GuiMultiplayer_getSelectedServer($this.$parentGui) ? 0 : 1;
};
$java.nms_GuiSlotServer_getContentHeight = function($this) {
    return nms_GuiSlotServer_getSize($this) * 36 | 0;
};
$java.nms_GuiSlotServer_drawBackground = function($this) {
    var var$1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = $this.$parentGui;
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground(var$1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $ptr);
};
$java.nms_GuiSlotServer_drawSlot = function($this, $par1, $par2, $par3, $par4, $par5Tessellator) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par5Tessellator = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1 >= nms_ServerList_countServers(nms_GuiMultiplayer_internetServerList))
            return;
        $ptr = 1;
    case 1:
        $java.nms_GuiSlotServer_func_77247_d($this, $par1, $par2, $par3, $par4, $par5Tessellator);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5Tessellator, $ptr);
};
$java.nms_GuiSlotServer_func_77247_d = function($this, $par1, $par2, $par3, $par4, $par5Tessellator) {
    var $var6, $var7, $var8, $var9, $var14, $var10, $iconX, $iconSize, $iconY, $i, $s, var$17, var$18, var$19, var$20, $var15, $var16, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();$s = $thread.pop();$i = $thread.pop();$iconY = $thread.pop();$iconSize = $thread.pop();$iconX = $thread.pop();$var10 = $thread.pop();$var14 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$par5Tessellator = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1
        = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var6 = nms_ServerList_getServerData(nms_GuiMultiplayer_getInternetServerList($this.$parentGui), $par1);
        $var7 = $var6.$field_82821_f <= 61 ? 0 : 1;
        $var8 = $var6.$field_82821_f >= 61 ? 0 : 1;
        $var9 = !$var7 && !$var8 ? 0 : 1;
        $par5Tessellator = $this.$parentGui;
        $var14 = $this.$parentGui.$fontRenderer0;
        $var10 = $var6.$serverName;
        $iconX = $par2 + 38 | 0;
        $iconSize = $par3 + 1 | 0;
        $par4 = 16777215;
        $ptr = 1;
    case 1:
        a: {
            nms_Gui_drawString($par5Tessellator, $var14, $var10, $iconX, $iconSize, $par4);
            if ($rt_suspending()) {
                break main;
            }
            if ($var6.$hasPing) {
                if (Long_gt($var6.$pingToServer, Long_ZERO))
                    break a;
                if ($var6.$hasError)
                    break a;
            }
            if (!$this.$parentGui.$mc2.$gameSettings.$hideServerAddress && !nms_ServerData_isHidingAddress($var6)) {
                $par5Tessellator = $this.$parentGui;
                $var14 = $this.$parentGui.$fontRenderer0;
                $var10 = $var6.$serverIP;
                $par4 = ($par3 + 12 | 0) + 11 | 0;
                $iconY = 3158064;
                $ptr = 3;
                continue main;
            }
            $par5Tessellator = $this.$parentGui;
            $var14 = $this.$parentGui.$fontRenderer0;
            $var10 = nms_StatCollector_translateToLocal($rt_s(3044));
            $par4 = ($par3 + 12 | 0) + 11 | 0;
            $iconY = 3158064;
            $ptr = 2;
            continue main;
        }
        $i = jl_String_indexOf0($var6.$serverMOTD, 10);
        if ($i <= 0) {
            $par5Tessellator = $this.$parentGui;
            $var14 = $this.$parentGui.$fontRenderer0;
            $var10 = $var6.$serverMOTD;
            $par4 = $par3 + 12 | 0;
            $iconY = 8421504;
            $ptr = 4;
            continue main;
        }
        $par5Tessellator = $this.$parentGui;
        $var14 = $this.$parentGui.$fontRenderer0;
        $var10 = jl_String_substring0($var6.$serverMOTD, 0, $i);
        $par4 = $par3 + 12 | 0;
        $iconY = 8421504;
        $ptr = 5;
        continue main;
    case 2:
        nms_Gui_drawString($par5Tessellator, $var14, $var10, $iconX, $par4, $iconY);
        if ($rt_suspending()) {
            break main;
        }
        if ($var9) {
            $var10 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append9(jl_StringBuilder__init_(), $java.nms_EnumChatFormatting_DARK_RED), $var6.$gameVersion));
            $var14 = $this.$parentGui;
            $s = $this.$parentGui.$fontRenderer0;
            $par4 = ($par2 + 240 | 0) - nms_FontRenderer_getStringWidth($this.$parentGui.$fontRenderer0, $var10) | 0;
            $iconX = 8421504;
            $ptr = 7;
            continue main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nms_ServerData_refreshIcon($var6);
        if ($var6.$serverIconEnabled && $var6.$serverIconGL != (-1)) {
            nms_RenderEngine_bindTexture($this.$mc16.$renderEngine, $var6.$serverIconGL);
            $iconX = $par2 + 2 | 0;
            $iconY = $par3 + 2 | 0;
            nlea_Tessellator_$callClinit();
            $var14 = nlea_Tessellator_instance;
            nlea_Tessellator_startDrawingQuads($var14);
            var$17 = $iconX + 0 | 0;
            var$18 = $iconY + 28 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$17, var$18, 0.0, 0.0, 1.0);
            var$19 = $iconX + 28 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$19, var$18, 0.0, 1.0, 1.0);
            var$18 = $iconY + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$19, var$18, 0.0, 1.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var14, var$17, var$18, 0.0, 0.0, 0.0);
            nlea_Tessellator_draw($var14);
            $par5Tessellator = $java.nms_GuiSlotServer_icons;
            $ptr = 12;
            continue main;
        }
        $par5Tessellator = $java.nms_GuiSlotServer_defaultServerIcon;
        $ptr = 10;
        continue main;
    case 3:
        nms_Gui_drawString($par5Tessellator, $var14, $var10, $iconX, $par4, $iconY);
        if ($rt_suspending()) {
            break main;
        }
        if ($var9) {
            $var10 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append9(jl_StringBuilder__init_(), $java.nms_EnumChatFormatting_DARK_RED), $var6.$gameVersion));
            $var14 = $this.$parentGui;
            $s = $this.$parentGui.$fontRenderer0;
            $par4 = ($par2 + 240 | 0) - nms_FontRenderer_getStringWidth($this.$parentGui.$fontRenderer0, $var10) | 0;
            $iconX = 8421504;
            $ptr = 7;
            continue main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nms_ServerData_refreshIcon($var6);
        if ($var6.$serverIconEnabled && $var6.$serverIconGL != (-1)) {
            nms_RenderEngine_bindTexture($this.$mc16.$renderEngine, $var6.$serverIconGL);
            $iconX = $par2 + 2 | 0;
            $iconY = $par3 + 2 | 0;
            nlea_Tessellator_$callClinit();
            $var14 = nlea_Tessellator_instance;
            nlea_Tessellator_startDrawingQuads($var14);
            var$17 = $iconX + 0 | 0;
            var$18 = $iconY + 28 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$17, var$18, 0.0, 0.0, 1.0);
            var$19 = $iconX + 28 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$19, var$18, 0.0, 1.0, 1.0);
            var$18 = $iconY + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$19, var$18, 0.0, 1.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var14, var$17, var$18, 0.0, 0.0, 0.0);
            nlea_Tessellator_draw($var14);
            $par5Tessellator = $java.nms_GuiSlotServer_icons;
            $ptr = 12;
            continue main;
        }
        $par5Tessellator = $java.nms_GuiSlotServer_defaultServerIcon;
        $ptr = 10;
        continue main;
    case 4:
        nms_Gui_drawString($par5Tessellator, $var14, $var10, $iconX, $par4, $iconY);
        if ($rt_suspending()) {
            break main;
        }
        if (!$this.$parentGui.$mc2.$gameSettings.$hideServerAddress && !nms_ServerData_isHidingAddress($var6)) {
            $par5Tessellator = $this.$parentGui;
            $var14 = $this.$parentGui.$fontRenderer0;
            $var10 = $var6.$serverIP;
            $par4 = $par4 + 11 | 0;
            $iconY = 3158064;
            $ptr = 11;
            continue main;
        }
        $par5Tessellator = $this.$parentGui;
        $var14 = $this.$parentGui.$fontRenderer0;
        $var10 = nms_StatCollector_translateToLocal($rt_s(3044));
        $par4 = $par4 + 11 | 0;
        $iconY = 3158064;
        $ptr = 8;
        continue main;
    case 5:
        nms_Gui_drawString($par5Tessellator, $var14, $var10, $iconX, $par4, $iconY);
        if ($rt_suspending()) {
            break main;
        }
        $par5Tessellator = $this.$parentGui;
        $var14 = $this.$parentGui.$fontRenderer0;
        $var10 = jl_String_substring($var6.$serverMOTD, $i + 1 | 0);
        $par4 = $par4 + 11 | 0;
        $iconY = 8421504;
        $ptr = 6;
    case 6:
        nms_Gui_drawString($par5Tessellator, $var14, $var10, $iconX, $par4, $iconY);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $this.$parentGui;
        $s = $this.$parentGui.$fontRenderer0;
        var$20 = $var6.$populationInfo;
        $par4 = ($par2 + 251 | 0) - nms_FontRenderer_getStringWidth($this.$parentGui.$fontRenderer0, $var6.$populationInfo) | 0;
        $iconX = $par3 + 12 | 0;
        $iconY = 8421504;
        $ptr = 9;
        continue main;
    case 7:
        nms_Gui_drawString($var14, $s, $var10, $par4, $iconSize, $iconX);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nms_ServerData_refreshIcon($var6);
        if ($var6.$serverIconEnabled && $var6.$serverIconGL != (-1)) {
            nms_RenderEngine_bindTexture($this.$mc16.$renderEngine, $var6.$serverIconGL);
            $iconX = $par2 + 2 | 0;
            $iconY = $par3 + 2 | 0;
            nlea_Tessellator_$callClinit();
            $var14 = nlea_Tessellator_instance;
            nlea_Tessellator_startDrawingQuads($var14);
            var$17 = $iconX + 0 | 0;
            var$18 = $iconY + 28 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$17, var$18, 0.0, 0.0, 1.0);
            var$19 = $iconX + 28 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$19, var$18, 0.0, 1.0, 1.0);
            var$18 = $iconY + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$19, var$18, 0.0, 1.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var14, var$17, var$18, 0.0, 0.0, 0.0);
            nlea_Tessellator_draw($var14);
            $par5Tessellator = $java.nms_GuiSlotServer_icons;
            $ptr = 12;
            continue main;
        }
        $par5Tessellator = $java.nms_GuiSlotServer_defaultServerIcon;
        $ptr = 10;
        continue main;
    case 8:
        nms_Gui_drawString($par5Tessellator, $var14, $var10, $iconX, $par4, $iconY);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $this.$parentGui;
        $s = $this.$parentGui.$fontRenderer0;
        var$20 = $var6.$populationInfo;
        $par4 = ($par2 + 251 | 0) - nms_FontRenderer_getStringWidth($this.$parentGui.$fontRenderer0, $var6.$populationInfo) | 0;
        $iconX = $par3 + 12 | 0;
        $iconY = 8421504;
        $ptr = 9;
    case 9:
        nms_Gui_drawString($var10, $s, var$20, $par4, $iconX, $iconY);
        if ($rt_suspending()) {
            break main;
        }
        if ($var9) {
            $var10 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append9(jl_StringBuilder__init_(), $java.nms_EnumChatFormatting_DARK_RED), $var6.$gameVersion));
            $var14 = $this.$parentGui;
            $s = $this.$parentGui.$fontRenderer0;
            $par4 = ($par2 + 240 | 0) - nms_FontRenderer_getStringWidth($this.$parentGui.$fontRenderer0, $var10) | 0;
            $iconX = 8421504;
            $ptr = 7;
            continue main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nms_ServerData_refreshIcon($var6);
        if ($var6.$serverIconEnabled && $var6.$serverIconGL != (-1)) {
            nms_RenderEngine_bindTexture($this.$mc16.$renderEngine, $var6.$serverIconGL);
            $iconX = $par2 + 2 | 0;
            $iconY = $par3 + 2 | 0;
            nlea_Tessellator_$callClinit();
            $var14 = nlea_Tessellator_instance;
            nlea_Tessellator_startDrawingQuads($var14);
            var$17 = $iconX + 0 | 0;
            var$18 = $iconY + 28 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$17, var$18, 0.0, 0.0, 1.0);
            var$19 = $iconX + 28 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$19, var$18, 0.0, 1.0, 1.0);
            var$18 = $iconY + 0 | 0;
            nlea_Tessellator_addVertexWithUV($var14, var$19, var$18, 0.0, 1.0, 0.0);
            nlea_Tessellator_addVertexWithUV($var14, var$17, var$18, 0.0, 0.0, 0.0);
            nlea_Tessellator_draw($var14);
            $par5Tessellator = $java.nms_GuiSlotServer_icons;
            $ptr = 12;
            continue main;
        }
        $par5Tessellator = $java.nms_GuiSlotServer_defaultServerIcon;
        $ptr = 10;
    case 10:
        nle_TextureLocation_bindTexture($par5Tessellator);
        if ($rt_suspending()) {
            break main;
        }
        $iconX = $par2 + 2 | 0;
        $iconY = $par3 + 2 | 0;
        nlea_Tessellator_$callClinit();
        $var14 = nlea_Tessellator_instance;
        nlea_Tessellator_startDrawingQuads($var14);
        var$17 = $iconX + 0 | 0;
        var$18 = $iconY + 28 | 0;
        nlea_Tessellator_addVertexWithUV($var14, var$17, var$18, 0.0, 0.0, 1.0);
        var$19 = $iconX + 28 | 0;
        nlea_Tessellator_addVertexWithUV($var14, var$19, var$18, 0.0, 1.0, 1.0);
        var$18 = $iconY + 0 | 0;
        nlea_Tessellator_addVertexWithUV($var14, var$19, var$18, 0.0, 1.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var14, var$17, var$18, 0.0, 0.0, 0.0);
        nlea_Tessellator_draw($var14);
        $par5Tessellator = $java.nms_GuiSlotServer_icons;
        $ptr = 12;
        continue main;
    case 11:
        nms_Gui_drawString($par5Tessellator, $var14, $var10, $iconX, $par4, $iconY);
        if ($rt_suspending()) {
            break main;
        }
        $var10 = $this.$parentGui;
        $s = $this.$parentGui.$fontRenderer0;
        var$20 = $var6.$populationInfo;
        $par4 = ($par2 + 251 | 0) - nms_FontRenderer_getStringWidth($this.$parentGui.$fontRenderer0, $var6.$populationInfo) | 0;
        $iconX = $par3 + 12 | 0;
        $iconY = 8421504;
        $ptr = 9;
        continue main;
    case 12:
        nle_TextureLocation_bindTexture($par5Tessellator);
        if ($rt_suspending()) {
            break main;
        }
        $var15 = 0;
        if ($var9) {
            $par5Tessellator = !$var7 ? $rt_s(3045) : $rt_s(3046);
            $var16 = 5;
        } else if ($var6.$hasPing && Long_ne($var6.$pingToServer, Long_fromInt(-2))) {
            $var16 = Long_lt($var6.$pingToServer, Long_ZERO) ? 5 : Long_lt($var6.$pingToServer, Long_fromInt(150)) ? 0 : Long_lt($var6.$pingToServer, Long_fromInt(300)) ? 1 : Long_lt($var6.$pingToServer, Long_fromInt(600)) ? 2 : Long_ge($var6.$pingToServer, Long_fromInt(1000)) ? 4 : 3;
            $par5Tessellator = Long_lt($var6.$pingToServer, Long_ZERO) ? $rt_s(3047) : jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append2(jl_StringBuilder__init_(), $var6.$pingToServer), $rt_s(3048)));
        } else {
            $var15 = 1;
            $var16 = Long_and(Long_add(Long_div(nmc_Minecraft_getSystemTime(), Long_fromInt(100)), Long_fromInt($par1 * 2 | 0)), Long_fromInt(7)).lo;
            if ($var16 > 4)
                $var16 = 8 - $var16 | 0;
            $par5Tessellator = $rt_s(3049);
        }
        nms_Gui_drawTexturedModalRect($this.$parentGui, $par2 + 241 | 0, $par3, 0 + ($var15 * 10 | 0) | 0, 176 + ($var16 * 8 | 0) | 0, 10, 8);
        $par1 = $this.$mouseX;
        $par4 = $par2 + 245 | 0;
        if ($par1 >= ($par4 - 4 | 0) && $this.$mouseY >= ($par3 - 4 | 0) && $this.$mouseX <= (($par4 + 10 | 0) + 4 | 0) && $this.$mouseY <= (($par3 + 4 | 0) + 4 | 0))
            nms_GuiMultiplayer_getAndSetLagTooltip($this.$parentGui, $par5Tessellator);
        else if ($this.$mouseX >= (($par2 + 230 | 0) - 4 | 0) && $this.$mouseY >= (($par3 - 4 | 0) + 4 | 0) && $this.$mouseX <= (($par4 + 10 | 0) + 4 | 0) && $this.$mouseY <= ((($par3 + 8 | 0) + 4 | 0) + 8 | 0) && ju_ArrayList_size($var6.$playerList) > 0) {
            $par5Tessellator = $rt_s(36);
            $var14 = ju_AbstractList_iterator($var6.$playerList);
            while (ju_AbstractList$1_hasNext($var14)) {
                $s = ju_AbstractList$1_next($var14);
                $par5Tessellator = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $par5Tessellator), $s), $rt_s(64)));
            }
            nms_GuiMultiplayer_getAndSetLagTooltip($this.$parentGui, $par5Tessellator);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $par4, $par5Tessellator, $var6, $var7, $var8, $var9, $var14, $var10, $iconX, $iconSize, $iconY, $i, $s, var$17, var$18, var$19, var$20, $var15, $var16, $ptr);
};
function nms_GuiSlotServer__clinit_() {
    $java.nms_GuiSlotServer_defaultServerIcon = nle_TextureLocation__init_($rt_s(2085));
    $java.nms_GuiSlotServer_icons = nle_TextureLocation__init_($rt_s(1286));
}
function nms_GuiScreenServerList() {
    var a = this; nms_GuiScreen.call(a);
    a.$guiScreen = null;
    a.$theServerData0 = null;
    a.$serverTextField = null;
}
$java.nms_GuiScreenServerList_updateScreen = function($this) {
    nms_GuiTextField_updateCursorCounter($this.$serverTextField);
};
$java.nms_GuiScreenServerList_initGui = function($this) {
    var $var1;
    $var1 = nms_StringTranslate_instance;
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
    ju_ArrayList_clear($this.$buttonList);
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(0, ($this.$width / 2 | 0) - 100 | 0, (($this.$height / 4 | 0) + 96 | 0) + 12 | 0, nms_StringTranslate_translateKey($var1, $rt_s(1353))));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(1, ($this.$width / 2 | 0) - 100 | 0, (($this.$height / 4 | 0) + 120 | 0) + 12 | 0, nms_StringTranslate_translateKey($var1, $rt_s(1308))));
    $this.$serverTextField = nms_GuiTextField__init_($this.$fontRenderer0, ($this.$width / 2 | 0) - 100 | 0, 116, 200, 20);
    nms_GuiTextField_setMaxStringLength($this.$serverTextField, 128);
    nms_GuiTextField_setFocused($this.$serverTextField, 1);
    nms_GuiTextField_setText($this.$serverTextField, $this.$mc2.$gameSettings.$lastServer);
    ju_ArrayList_get($this.$buttonList, 0).$enabled = jl_String_length($this.$serverTextField.$text0) > 0 && jl_String_split($this.$serverTextField.$text0, $rt_s(272)).data.length > 0 ? 1 : 0;
};
$java.nms_GuiScreenServerList_onGuiClosed = function($this) {
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
    $this.$mc2.$gameSettings.$lastServer = $this.$serverTextField.$text0;
    nms_GameSettings_saveOptions($this.$mc2.$gameSettings);
};
$java.nms_GuiScreenServerList_actionPerformed = function($this, $par1GuiButton) {
    var var$2, var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1GuiButton.$enabled) {
            if ($par1GuiButton.$id3 == 1) {
                $par1GuiButton = $this.$guiScreen;
                var$2 = 0;
                var$3 = 0;
                $ptr = 1;
                continue main;
            }
            if (!$par1GuiButton.$id3) {
                $this.$theServerData0.$serverIP = $this.$serverTextField.$text0;
                $par1GuiButton = $this.$guiScreen;
                var$3 = 1;
                var$2 = 0;
                $ptr = 2;
                continue main;
            }
        }
        return;
    case 1:
        nms_GuiMultiplayer_confirmClicked($par1GuiButton, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_GuiMultiplayer_confirmClicked($par1GuiButton, var$3, var$2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, var$2, var$3, $ptr);
};
$java.nms_GuiScreenServerList_keyTyped = function($this, $par1, $par2) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$serverTextField;
        $ptr = 1;
    case 1:
        $tmp = nms_GuiTextField_textboxKeyTyped(var$3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $par1 = $tmp;
        if ($par1)
            ju_ArrayList_get($this.$buttonList, 0).$enabled = jl_String_length($this.$serverTextField.$text0) > 0 && jl_String_split($this.$serverTextField.$text0, $rt_s(272)).data.length > 0 ? 1 : 0;
        else if ($par2 == 28) {
            var$3 = ju_ArrayList_get($this.$buttonList, 0);
            $ptr = 2;
            continue main;
        }
        return;
    case 2:
        $java.nms_GuiScreenServerList_actionPerformed($this, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, $ptr);
};
$java.nms_GuiScreenServerList_mouseClicked = function($this, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiTextField_mouseClicked($this.$serverTextField, $par1, $par2, $par3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $ptr);
};
$java.nms_GuiScreenServerList_drawScreen = function($this, $par1, $par2, $par3) {
    var $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = nms_StringTranslate_instance;
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var4, $rt_s(1354));
        var$7 = $this.$width / 2 | 0;
        var$8 = (($this.$height / 4 | 0) - 60 | 0) + 20 | 0;
        var$9 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3050));
        var$7 = ($this.$width / 2 | 0) - 100 | 0;
        var$8 = 100;
        var$9 = 10526880;
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawStringWithShadow(var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        if (!nlea_EaglerAdapterImpl2_isSSLPage()) {
            var$6 = $this.$serverTextField;
            $ptr = 4;
            continue main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3051));
        var$7 = $this.$width / 2 | 0;
        var$8 = 144;
        var$9 = 13421823;
        $ptr = 6;
        continue main;
    case 4:
        nms_GuiTextField_drawTextBox(var$6);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 5;
    case 5:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 6:
        nms_Gui_drawCenteredString($this, var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3052));
        var$7 = $this.$width / 2 | 0;
        var$8 = 156;
        var$9 = 13421823;
        $ptr = 7;
    case 7:
        nms_Gui_drawCenteredString($this, var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$serverTextField;
        $ptr = 4;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
};
function nms_GuiScreenAddServer() {
    var a = this; nms_GuiScreen.call(a);
    a.$parentGui1 = null;
    a.$serverAddress = null;
    a.$serverName0 = null;
    a.$newServerData = null;
}
function nms_GuiScreenAddServer__init_0(var_0, var_1) {
    var var_2 = new nms_GuiScreenAddServer();
    nms_GuiScreenAddServer__init_(var_2, var_0, var_1);
    return var_2;
}
function nms_GuiScreenAddServer__init_($this, $par1GuiScreen, $par2ServerData) {
    nms_GuiScreen__init_($this);
    $this.$parentGui1 = $par1GuiScreen;
    $this.$newServerData = $par2ServerData;
}
$java.nms_GuiScreenAddServer_updateScreen = function($this) {
    nms_GuiTextField_updateCursorCounter($this.$serverName0);
    nms_GuiTextField_updateCursorCounter($this.$serverAddress);
};
$java.nms_GuiScreenAddServer_initGui = function($this) {
    var $var1, $sslOff, var$3, var$4, var$5, var$6;
    $var1 = nms_StringTranslate_instance;
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
    ju_ArrayList_clear($this.$buttonList);
    $sslOff = !nlea_EaglerAdapterImpl2_isSSLPage() ? 0 : 36;
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(0, ($this.$width / 2 | 0) - 100 | 0, ((($this.$height / 4 | 0) + 96 | 0) + 12 | 0) + $sslOff | 0, nms_StringTranslate_translateKey($var1, $rt_s(3053))));
    ju_ArrayList_add($this.$buttonList, nms_GuiButton__init_(1, ($this.$width / 2 | 0) - 100 | 0, ((($this.$height / 4 | 0) + 120 | 0) + 12 | 0) + $sslOff | 0, nms_StringTranslate_translateKey($var1, $rt_s(1308))));
    var$3 = $this.$buttonList;
    var$4 = new nms_GuiButton;
    var$5 = ($this.$width / 2 | 0) - 100 | 0;
    var$6 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$6);
    jl_AbstractStringBuilder_append(var$6, nms_StringTranslate_translateKey($var1, $rt_s(3054)));
    jl_AbstractStringBuilder_append(var$6, $rt_s(49));
    jl_AbstractStringBuilder_append(var$6, !$this.$newServerData.$hideAddress ? nms_StringTranslate_translateKey($var1, $rt_s(1505)) : nms_StringTranslate_translateKey($var1, $rt_s(1504)));
    $java.nms_GuiButton__init_(var$4, 2, var$5, 142, jl_AbstractStringBuilder_toString(var$6));
    ju_ArrayList_add(var$3, var$4);
    $this.$serverName0 = nms_GuiTextField__init_($this.$fontRenderer0, ($this.$width / 2 | 0) - 100 | 0, 66, 200, 20);
    nms_GuiTextField_setFocused($this.$serverName0, 1);
    nms_GuiTextField_setText($this.$serverName0, $this.$newServerData.$serverName);
    $this.$serverAddress = nms_GuiTextField__init_($this.$fontRenderer0, ($this.$width / 2 | 0) - 100 | 0, 106, 200, 20);
    nms_GuiTextField_setMaxStringLength($this.$serverAddress, 128);
    nms_GuiTextField_setText($this.$serverAddress, $this.$newServerData.$serverIP);
    ju_ArrayList_get($this.$buttonList, 0).$enabled = jl_String_length($this.$serverAddress.$text0) > 0 && jl_String_split($this.$serverAddress.$text0, $rt_s(272)).data.length > 0 && jl_String_length($this.$serverName0.$text0) > 0 ? 1 : 0;
};
$java.nms_GuiScreenAddServer_onGuiClosed = function($this) {
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
};
$java.nms_GuiScreenAddServer_actionPerformed = function($this, $par1GuiButton) {
    var var$2, var$3, $var2, var$5, var$6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var2 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1GuiButton.$enabled) {
            if ($par1GuiButton.$id3 == 1) {
                $par1GuiButton = $this.$parentGui1;
                var$2 = 0;
                var$3 = 0;
                $ptr = 1;
                continue main;
            }
            if (!$par1GuiButton.$id3) {
                $this.$newServerData.$serverName = $this.$serverName0.$text0;
                $this.$newServerData.$serverIP = $this.$serverAddress.$text0;
                $par1GuiButton = $this.$parentGui1;
                var$2 = 1;
                var$3 = 0;
                $ptr = 2;
                continue main;
            }
            if ($par1GuiButton.$id3 == 2) {
                $var2 = nms_StringTranslate_instance;
                $this.$newServerData.$hideAddress = $this.$newServerData.$hideAddress ? 0 : 1;
                var$5 = ju_ArrayList_get($this.$buttonList, 2);
                var$6 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_(var$6);
                jl_AbstractStringBuilder_append(var$6, nms_StringTranslate_translateKey($var2, $rt_s(3054)));
                jl_AbstractStringBuilder_append(var$6, $rt_s(49));
                jl_AbstractStringBuilder_append(var$6, !$this.$newServerData.$hideAddress ? nms_StringTranslate_translateKey($var2, $rt_s(1505)) : nms_StringTranslate_translateKey($var2, $rt_s(1504)));
                var$5.$displayString = jl_AbstractStringBuilder_toString(var$6);
            }
        }
        return;
    case 1:
        nms_GuiMultiplayer_confirmClicked($par1GuiButton, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_GuiMultiplayer_confirmClicked($par1GuiButton, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, var$2, var$3, $var2, var$5, var$6, $ptr);
};
$java.nms_GuiScreenAddServer_keyTyped = function($this, $par1, $par2) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$serverName0;
        $ptr = 1;
    case 1:
        nms_GuiTextField_textboxKeyTyped(var$3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $this.$serverAddress;
        $ptr = 2;
    case 2:
        nms_GuiTextField_textboxKeyTyped(var$3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        if ($par1 == 9) {
            if (!$this.$serverName0.$isFocused0) {
                nms_GuiTextField_setFocused($this.$serverName0, 1);
                nms_GuiTextField_setFocused($this.$serverAddress, 0);
            } else {
                nms_GuiTextField_setFocused($this.$serverName0, 0);
                nms_GuiTextField_setFocused($this.$serverAddress, 1);
            }
        }
        if ($par1 != 13) {
            ju_ArrayList_get($this.$buttonList, 0).$enabled = jl_String_length($this.$serverAddress.$text0) > 0 && jl_String_split($this.$serverAddress.$text0, $rt_s(272)).data.length > 0 && jl_String_length($this.$serverName0.$text0) > 0 ? 1 : 0;
            return;
        }
        var$3 = ju_ArrayList_get($this.$buttonList, 0);
        $ptr = 3;
    case 3:
        $java.nms_GuiScreenAddServer_actionPerformed($this, var$3);
        if ($rt_suspending()) {
            break main;
        }
        ju_ArrayList_get($this.$buttonList, 0).$enabled = jl_String_length($this.$serverAddress.$text0) > 0 && jl_String_split($this.$serverAddress.$text0, $rt_s(272)).data.length > 0 && jl_String_length($this.$serverName0.$text0) > 0 ? 1 : 0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, $ptr);
};
$java.nms_GuiScreenAddServer_mouseClicked = function($this, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiTextField_mouseClicked($this.$serverAddress, $par1, $par2, $par3);
        nms_GuiTextField_mouseClicked($this.$serverName0, $par1, $par2, $par3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $ptr);
};
$java.nms_GuiScreenAddServer_drawScreen = function($this, $par1, $par2, $par3) {
    var $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = nms_StringTranslate_instance;
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var4, $rt_s(3055));
        var$7 = $this.$width / 2 | 0;
        var$8 = 17;
        var$9 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3056));
        var$7 = ($this.$width / 2 | 0) - 100 | 0;
        var$8 = 53;
        var$9 = 10526880;
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawStringWithShadow(var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3050));
        var$7 = ($this.$width / 2 | 0) - 100 | 0;
        var$8 = 94;
        var$9 = 10526880;
        $ptr = 4;
    case 4:
        nms_FontRenderer_drawStringWithShadow(var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        if (!nlea_EaglerAdapterImpl2_isSSLPage()) {
            var$6 = $this.$serverName0;
            $ptr = 5;
            continue main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3051));
        var$7 = $this.$width / 2 | 0;
        var$8 = 169;
        var$9 = 13421823;
        $ptr = 8;
        continue main;
    case 5:
        nms_GuiTextField_drawTextBox(var$6);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$serverAddress;
        $ptr = 6;
    case 6:
        nms_GuiTextField_drawTextBox(var$6);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 7;
    case 7:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 8:
        nms_Gui_drawCenteredString($this, var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3052));
        var$7 = $this.$width / 2 | 0;
        var$8 = 181;
        var$9 = 13421823;
        $ptr = 9;
    case 9:
        nms_Gui_drawCenteredString($this, var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$serverName0;
        $ptr = 5;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
};
function nms_GuiSlider2() {
    var a = this; nms_GuiButton.call(a);
    a.$sliderValue = 0.0;
    a.$sliderMax = 0.0;
    a.$dragging0 = 0;
}
$java.nms_GuiSlider2_getHoverState = function($this, $par1) {
    return 0;
};
$java.nms_GuiSlider2_mouseDragged = function($this, $par1Minecraft, $par2, $par3) {
    if ($this.$drawButton0) {
        if ($this.$dragging0) {
            $this.$sliderValue = ($par2 - ($this.$xPosition1 + 4 | 0) | 0) / ($this.$width6 - 8 | 0);
            if ($this.$sliderValue < 0.0)
                $this.$sliderValue = 0.0;
            if ($this.$sliderValue > 1.0)
                $this.$sliderValue = 1.0;
            $par1Minecraft = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($par1Minecraft);
            jl_AbstractStringBuilder_append2($par1Minecraft, $this.$sliderValue * $this.$sliderMax * 100.0 | 0);
            jl_AbstractStringBuilder_append($par1Minecraft, $rt_s(344));
            $this.$displayString = jl_AbstractStringBuilder_toString($par1Minecraft);
        }
        if ($this.$enabled) {
            nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
            nms_Gui_drawTexturedModalRect($this, $this.$xPosition1 + ($this.$sliderValue * ($this.$width6 - 8 | 0) | 0) | 0, $this.$yPosition, 0, 66, 4, 20);
            nms_Gui_drawTexturedModalRect($this, ($this.$xPosition1 + ($this.$sliderValue * ($this.$width6 - 8 | 0) | 0) | 0) + 4 | 0, $this.$yPosition, 196, 66, 4, 20);
        }
    }
};
$java.nms_GuiSlider2_mousePressed = function($this, $par1Minecraft, $par2, $par3) {
    if (!$java.nms_GuiButton_mousePressed($this, $par1Minecraft, $par2, $par3))
        return 0;
    $this.$sliderValue = ($par2 - ($this.$xPosition1 + 4 | 0) | 0) / ($this.$width6 - 8 | 0);
    if ($this.$sliderValue < 0.0)
        $this.$sliderValue = 0.0;
    if ($this.$sliderValue > 1.0)
        $this.$sliderValue = 1.0;
    $par1Minecraft = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($par1Minecraft);
    jl_AbstractStringBuilder_append2($par1Minecraft, $this.$sliderValue * $this.$sliderMax * 100.0 | 0);
    jl_AbstractStringBuilder_append($par1Minecraft, $rt_s(344));
    $this.$displayString = jl_AbstractStringBuilder_toString($par1Minecraft);
    $this.$dragging0 = 1;
    return 1;
};
$java.nms_GuiSlider2_mouseReleased = function($this, $par1, $par2) {
    $this.$dragging0 = 0;
};
function maa_MidiConverter() {
    jl_Object.call(this);
}
$java.maa_MidiConverter_instrument_offsets = null;
$java.maa_MidiConverter_noteMap = null;
$java.maa_MidiConverter_velocityMap = null;
$java.maa_MidiConverter__init_ = function() {
    var var_0 = new maa_MidiConverter();
    maa_MidiConverter__init_(var_0);
    return var_0;
};
function maa_MidiConverter__init_($this) {
    return;
}
$java.maa_MidiConverter_getMidi = function($downloadStream) {
    var $tempoEvents, $sequence, $new_mpq, $sequence_0, $sm, $tpq, $instrumentIds, $key, $track, $i, $event, $message, var$14, var$15, var$16, $microTime, $mpq, $tempoEventIdx, $prevTick, $deltaTick, $data, $velocity, $$je;
    $java.maa_MidiConverter_noteMap = ju_TreeMap__init_0();
    $java.maa_MidiConverter_velocityMap = ju_TreeMap__init_0();
    $tempoEvents = ju_Collections_unmodifiableList(!jl_Object_equals($rt_cls(jsss_MixerProvider), $rt_cls(jsms_MidiFileReader)) && !jl_Object_equals($rt_cls(jsss_FormatConversionProvider), $rt_cls(jsms_MidiFileReader)) && !jl_Object_equals($rt_cls(jsss_AudioFileReader), $rt_cls(jsms_MidiFileReader)) && !jl_Object_equals($rt_cls(jsss_AudioFileWriter), $rt_cls(jsms_MidiFileReader)) && !jl_Object_equals($rt_cls(jsms_MidiDeviceProvider), $rt_cls(jsms_MidiFileReader)) && !jl_Object_equals($rt_cls(jsms_SoundbankReader),
    $rt_cls(jsms_MidiFileReader)) && !jl_Object_equals($rt_cls(jsms_MidiFileWriter), $rt_cls(jsms_MidiFileReader)) && !jl_Object_equals($rt_cls(jsms_MidiFileReader), $rt_cls(jsms_MidiFileReader)) ? ju_ArrayList__init_1(0) : $java.csms_JSSecurityManager_getProviders($rt_cls(jsms_MidiFileReader)));
    $sequence = null;
    $new_mpq = 0;
    a: {
        while (true) {
            if ($new_mpq >= $java.ju_Collections$10_size($tempoEvents)) {
                $sequence_0 = $sequence;
                break a;
            }
            $sm = $java.ju_Collections$10_get($tempoEvents, $new_mpq);
            try {
                $sequence_0 = $java.csms_StandardMidiFileReader_getSequence($sm, $downloadStream);
                $sequence = $sequence_0;
                break;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jsm_InvalidMidiDataException) {
                } else {
                    throw $$e;
                }
            }
            $new_mpq = $new_mpq + 1 | 0;
        }
    }
    if ($sequence_0 === null) {
        $tempoEvents = new jsm_InvalidMidiDataException;
        jl_Throwable__init_($tempoEvents, $rt_s(3057));
        $rt_throw($tempoEvents);
    }
    $tpq = Long_fromInt($sequence_0.$resolution);
    $tempoEvents = ju_ArrayList__init_0();
    $instrumentIds = $java.jsm_Sequence_getTracks($sequence_0).data;
    $new_mpq = $instrumentIds.length;
    $key = 0;
    while ($key < $new_mpq) {
        $track = $instrumentIds[$key];
        $i = 0;
        while ($i < $java.jsm_Track_size($track)) {
            $event = $java.jsm_Track_get($track, $i);
            $message = $event.$message3;
            if ($message instanceof jsm_MetaMessage && $java.jsm_MetaMessage_getType($message) == 81)
                ju_ArrayList_add($tempoEvents, $event);
            $i = $i + 1 | 0;
        }
        $key = $key + 1 | 0;
    }
    ju_Collections_sort($tempoEvents, new maa_MidiConverter$1);
    var$14 = $java.jsm_Sequence_getTracks($sequence_0).data;
    var$15 = var$14.length;
    var$16 = 0;
    while (var$16 < var$15) {
        $track = var$14[var$16];
        $microTime = Long_ZERO;
        $instrumentIds = $rt_createIntArray(16).data;
        $mpq = 500000;
        $tempoEventIdx = 0;
        $prevTick = Long_ZERO;
        $i = 0;
        while ($i < $java.jsm_Track_size($track)) {
            $event = $java.jsm_Track_get($track, $i);
            $message = $event.$message3;
            while ($tempoEventIdx < $tempoEvents.$size && Long_gt($event.$tick0, ju_ArrayList_get($tempoEvents, $tempoEventIdx).$tick0)) {
                $deltaTick = Long_sub(ju_ArrayList_get($tempoEvents, $tempoEventIdx).$tick0, $prevTick);
                $prevTick = ju_ArrayList_get($tempoEvents, $tempoEventIdx).$tick0;
                $microTime = Long_add($microTime, Long_mul(Long_div(Long_fromInt($mpq), $tpq), $deltaTick));
                $data = $java.jsm_MetaMessage_getData(ju_ArrayList_get($tempoEvents, $tempoEventIdx).$message3).data;
                $new_mpq = $data[2] & 255 | ($data[1] & 255) << 8 | ($data[0] & 255) << 16;
                if ($new_mpq)
                    $mpq = $new_mpq;
                $tempoEventIdx = $tempoEventIdx + 1 | 0;
            }
            if ($message instanceof jsm_ShortMessage) {
                $sm = $message;
                if ($java.csms_FastShortMessage_getCommand($sm) == 192)
                    $instrumentIds[$java.csms_FastShortMessage_getChannel($sm)] = $java.csms_FastShortMessage_getData1($sm);
                else if ($java.csms_FastShortMessage_getCommand($sm) == 144 && $java.csms_FastShortMessage_getData2($sm)) {
                    $key = $java.csms_FastShortMessage_getData1($sm);
                    $velocity = $java.csms_FastShortMessage_getData2($sm);
                    $deltaTick = Long_sub($event.$tick0, $prevTick);
                    $prevTick = $event.$tick0;
                    $microTime = Long_add($microTime, Long_mul(Long_div(Long_fromInt($mpq), $tpq), $deltaTick));
                    if ($java.csms_FastShortMessage_getChannel($sm) == 9)
                        $java.maa_MidiConverter_processMidiNote(128, $key, $velocity, $microTime);
                    else
                        $java.maa_MidiConverter_processMidiNote($instrumentIds[$java.csms_FastShortMessage_getChannel($sm)], $key, $velocity, $microTime);
                }
            }
            $i = $i + 1 | 0;
        }
        var$16 = var$16 + 1 | 0;
    }
    ji_BufferedInputStream_close($downloadStream);
    return $java.maa_MidiConverter_noteMap;
};
$java.maa_MidiConverter_processMidiNote = function($midiInstrument, $midiPitch, $midiVelocity, $microTime) {
    var $noteData, $milliTime, $noteId;
    $noteData = $java.maa_MidiConverter_noteConv($midiInstrument, $midiPitch).data;
    $milliTime = Long_div($microTime, Long_fromInt(1000));
    if ($noteData[0] >= 0) {
        $noteId = ($noteData[1] - $java.maa_MidiConverter_instrument_offsets.data[$noteData[0]] | 0) + ($noteData[0] * 25 | 0) | 0;
        if (!$java.ju_TreeMap_containsKey($java.maa_MidiConverter_noteMap, jl_Long_valueOf($milliTime))) {
            ju_TreeMap_put($java.maa_MidiConverter_noteMap, jl_Long_valueOf($milliTime), ju_ArrayList__init_0());
            ju_TreeMap_put($java.maa_MidiConverter_velocityMap, jl_Long_valueOf($milliTime), ju_ArrayList__init_0());
        }
        if (!ju_AbstractCollection_contains($java.ju_TreeMap_get($java.maa_MidiConverter_noteMap, jl_Long_valueOf($milliTime)), jl_Integer_valueOf($noteId))) {
            ju_ArrayList_add($java.ju_TreeMap_get($java.maa_MidiConverter_noteMap, jl_Long_valueOf($milliTime)), jl_Integer_valueOf($noteId));
            ju_ArrayList_add($java.ju_TreeMap_get($java.maa_MidiConverter_velocityMap, jl_Long_valueOf($milliTime)), jl_Integer_valueOf($midiVelocity));
        }
    }
};
$java.maa_MidiConverter_noteConv = function($midiInstrument, $midiPitch) {
    var $minecraftInstrument, var$4, var$5, var$6;
    a: {
        b: {
            $minecraftInstrument = (-1);
            if (!($midiInstrument >= 0 && $midiInstrument <= 7)) {
                if ($midiInstrument < 24)
                    break b;
                if ($midiInstrument > 31)
                    break b;
            }
            $midiInstrument = $rt_compare($midiPitch, 54);
            if ($midiInstrument >= 0 && $midiPitch <= 78) {
                $minecraftInstrument = 0;
                break a;
            }
            if ($midiPitch >= 30 && $midiInstrument <= 0) {
                $minecraftInstrument = 4;
                break a;
            }
            if ($midiPitch < 78)
                break a;
            if ($midiPitch > 102)
                break a;
            $minecraftInstrument = 6;
            break a;
        }
        if ($midiInstrument >= 8 && $midiInstrument <= 15) {
            var$4 = $rt_compare($midiPitch, 54);
            if (var$4 >= 0 && $midiPitch <= 78)
                $minecraftInstrument = 10;
            else if ($midiPitch >= 78 && $midiPitch <= 102)
                $minecraftInstrument = 9;
            else if ($midiPitch >= 30 && var$4 <= 0)
                $minecraftInstrument = 4;
        } else {
            c: {
                if (!($midiInstrument >= 16 && $midiInstrument <= 23) && !($midiInstrument >= 32 && $midiInstrument <= 71)) {
                    if ($midiInstrument < 80)
                        break c;
                    if ($midiInstrument > 111)
                        break c;
                }
                $midiInstrument = $rt_compare($midiPitch, 54);
                if ($midiInstrument >= 0 && $midiPitch <= 78) {
                    $minecraftInstrument = 13;
                    break a;
                }
                if ($midiPitch >= 30 && $midiInstrument <= 0) {
                    $minecraftInstrument = 12;
                    break a;
                }
                if ($midiPitch < 78)
                    break a;
                if ($midiPitch > 102)
                    break a;
                $minecraftInstrument = 6;
                break a;
            }
            if ($midiInstrument >= 72 && $midiInstrument <= 79) {
                if ($midiPitch >= 66 && $midiPitch <= 90)
                    $minecraftInstrument = 5;
                else if ($midiPitch >= 30 && $midiPitch <= 54)
                    $minecraftInstrument = 12;
                else if ($midiPitch >= 54 && $midiPitch <= 78)
                    $minecraftInstrument = 13;
                else if ($midiPitch >= 78 && $midiPitch <= 102)
                    $minecraftInstrument = 6;
            } else if ($midiInstrument == 128) {
                d: {
                    if ($midiPitch != 35 && $midiPitch != 36 && $midiPitch != 41 && $midiPitch != 43 && $midiPitch != 45) {
                        $midiInstrument = $rt_compare($midiPitch, 57);
                        if ($midiInstrument) {
                            e: {
                                if ($midiPitch == 38)
                                    break e;
                                if ($midiPitch == 39)
                                    break e;
                                if ($midiPitch == 40)
                                    break e;
                                if ($midiPitch == 54)
                                    break e;
                                if ($midiPitch == 69)
                                    break e;
                                if ($midiPitch == 70)
                                    break e;
                                if ($midiPitch == 73)
                                    break e;
                                if ($midiPitch == 74)
                                    break e;
                                if ($midiPitch == 78)
                                    break e;
                                if ($midiPitch != 79) {
                                    f: {
                                        if ($midiPitch == 37)
                                            break f;
                                        if ($midiPitch == 42)
                                            break f;
                                        if ($midiPitch == 44)
                                            break f;
                                        if ($midiPitch == 46)
                                            break f;
                                        if ($midiPitch == 49)
                                            break f;
                                        if ($midiPitch == 51)
                                            break f;
                                        if ($midiPitch == 52)
                                            break f;
                                        if ($midiPitch == 55)
                                            break f;
                                        if (!$midiInstrument)
                                            break f;
                                        if ($midiPitch == 59)
                                            break f;
                                        break d;
                                    }
                                    $minecraftInstrument = 3;
                                    break d;
                                }
                            }
                            $minecraftInstrument = 2;
                            break d;
                        }
                    }
                    $minecraftInstrument = 1;
                }
                $midiPitch = 0;
            }
        }
    }
    var$5 = $rt_createIntArray(2);
    var$6 = var$5.data;
    var$6[0] = $minecraftInstrument;
    var$6[1] = $midiPitch;
    return var$5;
};
function maa_MidiConverter__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(16);
    var$2 = var$1.data;
    var$2[0] = 54;
    var$2[1] = 0;
    var$2[2] = 0;
    var$2[3] = 0;
    var$2[4] = 30;
    var$2[5] = 66;
    var$2[6] = 78;
    var$2[7] = 42;
    var$2[8] = 78;
    var$2[9] = 78;
    var$2[10] = 54;
    var$2[11] = 66;
    var$2[12] = 30;
    var$2[13] = 54;
    var$2[14] = 54;
    var$2[15] = 54;
    $java.maa_MidiConverter_instrument_offsets = var$1;
}
function maa_GuiScreenModules$1() {
    var a = this; jl_Object.call(a);
    a.$val$songLines = null;
    a.$this$046 = null;
}
function maa_GuiScreenModules$1_run($this) {
    var var$1, var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = $this.$val$songLines;
        maa_NoteblockPlayer_$callClinit();
        maa_NoteblockPlayer_playingSong = 0;
        maa_NoteblockPlayer_playing = 1;
        var$2 = maa_NoteblockPlayer_songLinesToBlocks(var$1);
        if (!maa_NoteblockPlayer_playing) {
            if (maa_NoteblockPlayer_playing) {
                maa_NoteblockPlayer_songLiness = var$1;
                maa_NoteblockPlayer_instrNoteToBlocks = var$2;
                maa_NoteblockPlayer_tickPassed = 0;
                maa_NoteblockPlayer_playingSong = 1;
            }
            return;
        }
        $ptr = 1;
    case 1:
        maa_NoteblockPlayer_placeAndTuneNoteblocks(var$2);
        if ($rt_suspending()) {
            break main;
        }
        if (maa_NoteblockPlayer_playing) {
            maa_NoteblockPlayer_songLiness = var$1;
            maa_NoteblockPlayer_instrNoteToBlocks = var$2;
            maa_NoteblockPlayer_tickPassed = 0;
            maa_NoteblockPlayer_playingSong = 1;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, $ptr);
}
function nms_DamageSource() {
    var a = this; jl_Object.call(a);
    a.$isUnblockable = 0;
    a.$isDamageAllowedInCreativeMode = 0;
    a.$hungerDamage = 0.0;
    a.$fireDamage = 0;
    a.$projectile = 0;
    a.$difficultyScaled = 0;
    a.$magicDamage = 0;
    a.$explosion = 0;
    a.$damageType = null;
}
var nms_DamageSource_inFire = null;
$java.nms_DamageSource_onFire = null;
var nms_DamageSource_lava = null;
var nms_DamageSource_inWall = null;
var nms_DamageSource_drown = null;
$java.nms_DamageSource_starve = null;
$java.nms_DamageSource_cactus = null;
var nms_DamageSource_fall = null;
var nms_DamageSource_outOfWorld = null;
var nms_DamageSource_generic = null;
var nms_DamageSource_magic = null;
$java.nms_DamageSource_wither = null;
var nms_DamageSource_anvil = null;
var nms_DamageSource_fallingBlock = null;
$java.nms_DamageSource__init_ = function(var_0) {
    var var_1 = new nms_DamageSource();
    $java.nms_DamageSource__init_0(var_1, var_0);
    return var_1;
};
function nms_DamageSource_causeMobDamage($par0EntityLiving) {
    return $java.nms_EntityDamageSource__init_($rt_s(3058), $par0EntityLiving);
}
function nms_DamageSource_causePlayerDamage($par0EntityPlayer) {
    return $java.nms_EntityDamageSource__init_($rt_s(3059), $par0EntityPlayer);
}
function nms_DamageSource_causeArrowDamage($par0EntityArrow, $par1Entity) {
    return $java.nms_DamageSource_setProjectile($java.nms_EntityDamageSourceIndirect__init_($rt_s(1713), $par0EntityArrow, $par1Entity));
}
function nms_DamageSource_causeThrownDamage($par0Entity, $par1Entity) {
    return $java.nms_DamageSource_setProjectile($java.nms_EntityDamageSourceIndirect__init_($rt_s(3060), $par0Entity, $par1Entity));
}
$java.nms_DamageSource_setExplosionSource = function($par0Explosion) {
    return $par0Explosion !== null && $java.nms_Explosion_func_94613_c($par0Explosion) !== null ? $java.nms_DamageSource_setExplosion($java.nms_DamageSource_setDifficultyScaled($java.nms_EntityDamageSource__init_($rt_s(3061), $java.nms_Explosion_func_94613_c($par0Explosion)))) : $java.nms_DamageSource_setExplosion($java.nms_DamageSource_setDifficultyScaled($java.nms_DamageSource__init_($rt_s(2897))));
};
$java.nms_DamageSource_setProjectile = function($this) {
    $this.$projectile = 1;
    return $this;
};
$java.nms_DamageSource_isExplosion = function($this) {
    return $this.$explosion;
};
$java.nms_DamageSource_setExplosion = function($this) {
    $this.$explosion = 1;
    return $this;
};
$java.nms_DamageSource__init_0 = function($this, $par1Str) {
    $this.$isUnblockable = 0;
    $this.$isDamageAllowedInCreativeMode = 0;
    $this.$hungerDamage = 0.30000001192092896;
    $this.$magicDamage = 0;
    $this.$explosion = 0;
    $this.$damageType = $par1Str;
};
$java.nms_DamageSource_getSourceOfDamage = function($this) {
    return $this.$getEntity();
};
$java.nms_DamageSource_getEntity = function($this) {
    return null;
};
$java.nms_DamageSource_setDamageBypassesArmor = function($this) {
    $this.$isUnblockable = 1;
    $this.$hungerDamage = 0.0;
    return $this;
};
$java.nms_DamageSource_setDamageAllowedInCreativeMode = function($this) {
    $this.$isDamageAllowedInCreativeMode = 1;
    return $this;
};
$java.nms_DamageSource_setFireDamage = function($this) {
    $this.$fireDamage = 1;
    return $this;
};
$java.nms_DamageSource_getDamageType = function($this) {
    return $this.$damageType;
};
$java.nms_DamageSource_setDifficultyScaled = function($this) {
    $this.$difficultyScaled = 1;
    return $this;
};
$java.nms_DamageSource_setMagicDamage = function($this) {
    $this.$magicDamage = 1;
    return $this;
};
function nms_DamageSource__clinit_() {
    nms_DamageSource_inFire = $java.nms_DamageSource_setFireDamage($java.nms_DamageSource__init_($rt_s(3062)));
    $java.nms_DamageSource_onFire = $java.nms_DamageSource_setFireDamage($java.nms_DamageSource_setDamageBypassesArmor($java.nms_DamageSource__init_($rt_s(3063))));
    nms_DamageSource_lava = $java.nms_DamageSource_setFireDamage($java.nms_DamageSource__init_($rt_s(957)));
    nms_DamageSource_inWall = $java.nms_DamageSource_setDamageBypassesArmor($java.nms_DamageSource__init_($rt_s(3064)));
    nms_DamageSource_drown = $java.nms_DamageSource_setDamageBypassesArmor($java.nms_DamageSource__init_($rt_s(3065)));
    $java.nms_DamageSource_starve = $java.nms_DamageSource_setDamageBypassesArmor($java.nms_DamageSource__init_($rt_s(3066)));
    $java.nms_DamageSource_cactus = $java.nms_DamageSource__init_($rt_s(1985));
    nms_DamageSource_fall = $java.nms_DamageSource_setDamageBypassesArmor($java.nms_DamageSource__init_($rt_s(2896)));
    nms_DamageSource_outOfWorld = $java.nms_DamageSource_setDamageAllowedInCreativeMode($java.nms_DamageSource_setDamageBypassesArmor($java.nms_DamageSource__init_($rt_s(3067))));
    nms_DamageSource_generic = $java.nms_DamageSource_setDamageBypassesArmor($java.nms_DamageSource__init_($rt_s(1019)));
    nms_DamageSource_magic = $java.nms_DamageSource_setMagicDamage($java.nms_DamageSource_setDamageBypassesArmor($java.nms_DamageSource__init_($rt_s(3068))));
    $java.nms_DamageSource_wither = $java.nms_DamageSource_setDamageBypassesArmor($java.nms_DamageSource__init_($rt_s(2294)));
    nms_DamageSource_anvil = $java.nms_DamageSource__init_($rt_s(1929));
    nms_DamageSource_fallingBlock = $java.nms_DamageSource__init_($rt_s(3069));
}
function ju_TreeMap$EntryIterator() {
    var a = this; jl_Object.call(a);
    a.$modCount5 = 0;
    a.$owner1 = null;
    a.$path1 = null;
    a.$last0 = null;
    a.$to0 = null;
    a.$depth = 0;
    a.$reverse1 = 0;
}
$java.ju_TreeMap$EntryIterator__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new ju_TreeMap$EntryIterator();
    $java.ju_TreeMap$EntryIterator__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.ju_TreeMap$EntryIterator__init_0 = function($this, $owner, $path, $to, $reverse) {
    var var$5, var$6;
    $this.$owner1 = $owner;
    $this.$modCount5 = $owner.$modCount3;
    var$5 = $owner.$root === null ? 0 : $owner.$root.$height4;
    var$6 = $path.data;
    $this.$path1 = ju_Arrays_copyOf($path, var$5);
    $this.$depth = var$6.length;
    $this.$to0 = $to;
    $this.$reverse1 = $reverse;
};
$java.ju_TreeMap$EntryIterator_hasNext = function($this) {
    return $this.$depth <= 0 ? 0 : 1;
};
$java.ju_TreeMap$EntryIterator_next = function($this) {
    var $node, var$2, var$3, $down, var$5;
    if ($this.$modCount5 != $this.$owner1.$modCount3) {
        $node = new ju_ConcurrentModificationException;
        jl_Throwable__init_0($node);
        $rt_throw($node);
    }
    if (!$this.$depth) {
        $node = new ju_NoSuchElementException;
        jl_Throwable__init_0($node);
        $rt_throw($node);
    }
    a: {
        var$2 = $this.$path1.data;
        var$3 = $this.$depth - 1 | 0;
        $this.$depth = var$3;
        $node = var$2[var$3];
        $this.$last0 = $node;
        $down = $java.ju_TreeMap$TreeNode_down($node, $this.$reverse1);
        if ($down !== null)
            while (true) {
                if ($down === null)
                    break a;
                var$2 = $this.$path1.data;
                var$5 = $this.$depth;
                $this.$depth = var$5 + 1 | 0;
                var$2[var$5] = $down;
                $down = $java.ju_TreeMap$TreeNode_forward($down, $this.$reverse1);
            }
    }
    if ($this.$last0 === $this.$to0)
        $this.$depth = 0;
    return $this.$last0;
};
$java.ju_TreeMap$EntryIterator_remove = function($this) {
    var var$1, var$2;
    if ($this.$modCount5 != $this.$owner1.$modCount3) {
        var$1 = new ju_ConcurrentModificationException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    if ($this.$last0 === null) {
        var$1 = new ju_NoSuchElementException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    $this.$owner1.$root = $java.ju_TreeMap_deleteNode($this.$owner1, $this.$owner1.$root, $this.$last0.$key1);
    var$1 = $this.$owner1;
    var$2 = var$1.$modCount3 + 1 | 0;
    var$1.$modCount3 = var$2;
    $this.$modCount5 = var$2;
    $this.$last0 = null;
};
$java.ju_TreeMap$EntryIterator_next0 = function($this) {
    return $java.ju_TreeMap$EntryIterator_next($this);
};
function nms_MapStorage() {
    var a = this; jl_Object.call(a);
    a.$loadedDataMap = null;
    a.$loadedDataList = null;
    a.$idCounts = null;
}
function nms_MapStorage__init_0() {
    var var_0 = new nms_MapStorage();
    nms_MapStorage__init_(var_0);
    return var_0;
}
function nms_MapStorage__init_($this) {
    var var$1, $$je;
    $this.$loadedDataMap = ju_HashMap__init_();
    $this.$loadedDataList = ju_ArrayList__init_0();
    $this.$idCounts = ju_HashMap__init_();
    a: {
        try {
            ju_HashMap_clear($this.$idCounts);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                var$1 = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace(var$1);
    }
}
function nms_MapStorage_loadData($this, $par1Class, $par2Str) {
    return ju_HashMap_get($this.$loadedDataMap, $par2Str);
}
function nms_MapStorage_setData($this, $par1Str, $par2WorldSavedData) {
    if ($par2WorldSavedData === null) {
        $par1Str = new jl_RuntimeException;
        jl_Throwable__init_($par1Str, $rt_s(3070));
        $rt_throw($par1Str);
    }
    if (ju_HashMap_containsKey($this.$loadedDataMap, $par1Str))
        ju_ArrayList_remove0($this.$loadedDataList, ju_HashMap_remove($this.$loadedDataMap, $par1Str));
    ju_HashMap_putImpl($this.$loadedDataMap, $par1Str, $par2WorldSavedData);
    ju_ArrayList_add($this.$loadedDataList, $par2WorldSavedData);
}
function nms_MapStorage_getUniqueDataId($this, $par1Str) {
    var $var2;
    $var2 = ju_HashMap_get($this.$idCounts, $par1Str);
    $var2 = $var2 === null ? jl_Short_valueOf(0) : jl_Short_valueOf(($var2.$value12 + 1 | 0) << 16 >> 16);
    ju_HashMap_putImpl($this.$idCounts, $par1Str, $var2);
    return $var2.$value12;
}
function nms_INetworkManager() {
}
function nle_WebsocketNetworkManager() {
    var a = this; jl_Object.call(a);
    a.$netHandler = null;
    a.$serverURI = null;
    a.$sendBuffer = null;
    a.$oldChunkBuffer = null;
    a.$readChunks = null;
}
$java.nle_WebsocketNetworkManager_addToSendQueue = function($this, $var1) {
    var $e, $$je;
    a: {
        try {
            ji_ByteArrayOutputStream_reset($this.$sendBuffer);
            nms_Packet_writePacket($var1, ji_DataOutputStream__init_($this.$sendBuffer));
            nlea_EaglerAdapterImpl2_writePacket(ji_ByteArrayOutputStream_toByteArray($this.$sendBuffer));
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
                $e = $$je;
            } else {
                throw $$e;
            }
        }
        jl_Throwable_printStackTrace($e);
    }
};
$java.nle_WebsocketNetworkManager_wakeThreads = function($this) {
    return;
};
$java.nle_WebsocketNetworkManager_processReadPackets = function($this) {
    var var$1, $cap, $stream, $packetStream, $pkt, $e2, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$e2 = $thread.pop();$pkt = $thread.pop();$packetStream = $thread.pop();$stream = $thread.pop();$cap = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        ju_LinkedList_clear($this.$readChunks);
        if ($this.$oldChunkBuffer !== null)
            ju_AbstractList_add($this.$readChunks, $this.$oldChunkBuffer);
        while (true) {
            nlea_EaglerAdapterImpl2_$callClinit();
            var$1 = ju_AbstractCollection_isEmpty(nlea_EaglerAdapterImpl2_readPackets) ? null : ju_AbstractSequentialList_remove(nlea_EaglerAdapterImpl2_readPackets, 0);
            if (var$1 === null)
                break;
            ju_AbstractList_add($this.$readChunks, jn_ByteBuffer_wrap0(var$1));
        }
        if (!ju_AbstractCollection_isEmpty($this.$readChunks)) {
            $cap = 0;
            $stream = ju_LinkedList_listIterator0($this.$readChunks);
            while ($java.ju_LinkedList$SequentialListIterator_hasNext($stream)) {
                $cap = $cap + ju_LinkedList$SequentialListIterator_next($stream).$limit | 0;
            }
            $stream = jn_ByteBuffer_allocate($cap);
            $packetStream = ju_LinkedList_listIterator0($this.$readChunks);
            while ($java.ju_LinkedList$SequentialListIterator_hasNext($packetStream)) {
                jn_ByteBuffer_put($stream, ju_LinkedList$SequentialListIterator_next($packetStream));
            }
            jn_Buffer_flip($stream);
            $packetStream = new ji_DataInputStream;
            $pkt = new nle_WebsocketNetworkManager$ByteBufferDirectInputStream;
            $pkt.$buf4 = $stream;
            ji_DataInputStream__init_0($packetStream, $pkt);
            a: {
                b: while (true) {
                    if (!jn_Buffer_hasRemaining($stream))
                        break a;
                    jn_ByteBuffer_mark($stream);
                    c: {
                        try {
                            $cap = 0;
                            $ptr = 1;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof ji_EOFException) {
                                break b;
                            } else if ($$je instanceof ji_IOException) {
                            } else if ($$je instanceof jl_Throwable) {
                                $e2 = $$je;
                                break c;
                            } else {
                                throw $$e;
                            }
                        }
                        continue b;
                    }
                    jl_Throwable_printStackTrace($e2);
                }
                jn_ByteBuffer_reset($stream);
            }
            if (!jn_Buffer_hasRemaining($stream))
                $this.$oldChunkBuffer = null;
            else
                $this.$oldChunkBuffer = jn_ByteBufferImpl_slice($stream);
        }
        return;
    case 1:
        d: {
            e: {
                f: {
                    g: {
                        try {
                            $tmp = nms_Packet_readPacket($packetStream, $cap);
                            if ($rt_suspending()) {
                                break main;
                            }
                            $pkt = $tmp;
                            $e2 = $this.$netHandler;
                            $ptr = 2;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof ji_EOFException) {
                                break e;
                            } else if ($$je instanceof ji_IOException) {
                            } else if ($$je instanceof jl_Throwable) {
                                $e2 = $$je;
                                break g;
                            } else {
                                throw $$e;
                            }
                        }
                        break f;
                    }
                    jl_Throwable_printStackTrace($e2);
                }
                h: while (true) {
                    if (!jn_Buffer_hasRemaining($stream))
                        break d;
                    jn_ByteBuffer_mark($stream);
                    i: {
                        try {
                            $cap = 0;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof ji_EOFException) {
                                break e;
                            } else if ($$je instanceof ji_IOException) {
                            } else if ($$je instanceof jl_Throwable) {
                                $e2 = $$je;
                                break i;
                            } else {
                                throw $$e;
                            }
                        }
                        continue h;
                    }
                    jl_Throwable_printStackTrace($e2);
                }
            }
            jn_ByteBuffer_reset($stream);
        }
        if (!jn_Buffer_hasRemaining($stream))
            $this.$oldChunkBuffer = null;
        else
            $this.$oldChunkBuffer = jn_ByteBufferImpl_slice($stream);
        return;
    case 2:
        d: {
            e: {
                f: {
                    g: {
                        try {
                            $pkt.$processPacket($e2);
                            if ($rt_suspending()) {
                                break main;
                            }
                            break f;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof ji_EOFException) {
                                break e;
                            } else if ($$je instanceof ji_IOException) {
                            } else if ($$je instanceof jl_Throwable) {
                                $e2 = $$je;
                                break g;
                            } else {
                                throw $$e;
                            }
                        }
                        break f;
                    }
                    jl_Throwable_printStackTrace($e2);
                }
                h: while (true) {
                    if (!jn_Buffer_hasRemaining($stream))
                        break d;
                    jn_ByteBuffer_mark($stream);
                    i: {
                        try {
                            $cap = 0;
                            $ptr = 1;
                            continue main;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof ji_EOFException) {
                                break e;
                            } else if ($$je instanceof ji_IOException) {
                            } else if ($$je instanceof jl_Throwable) {
                                $e2 = $$je;
                                break i;
                            } else {
                                throw $$e;
                            }
                        }
                        continue h;
                    }
                    jl_Throwable_printStackTrace($e2);
                }
            }
            jn_ByteBuffer_reset($stream);
        }
        if (!jn_Buffer_hasRemaining($stream))
            $this.$oldChunkBuffer = null;
        else
            $this.$oldChunkBuffer = jn_ByteBufferImpl_slice($stream);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $cap, $stream, $packetStream, $pkt, $e2, $ptr);
};
$java.nle_WebsocketNetworkManager_serverShutdown = function($this) {
    if (nlea_EaglerAdapterImpl2_connectionOpen()) {
        nlea_EaglerAdapterImpl2_endConnection();
        window["minecraftServer"] = "null";
    }
};
$java.nle_WebsocketNetworkManager_networkShutdown = function($this, $var1, $var2) {
    $java.nle_WebsocketNetworkManager_serverShutdown($this);
};
$java.nle_WebsocketNetworkManager_getServerURI = function($this) {
    return $this.$serverURI;
};
function nlea_EaglerAdapterImpl2$RateLimit() {
    jl_Enum.call(this);
}
$java.nlea_EaglerAdapterImpl2$RateLimit_NONE = null;
$java.nlea_EaglerAdapterImpl2$RateLimit_FAILED = null;
var nlea_EaglerAdapterImpl2$RateLimit_BLOCKED = null;
var nlea_EaglerAdapterImpl2$RateLimit_FAILED_POSSIBLY_LOCKED = null;
var nlea_EaglerAdapterImpl2$RateLimit_LOCKED = null;
var nlea_EaglerAdapterImpl2$RateLimit_NOW_LOCKED = null;
$java.nlea_EaglerAdapterImpl2$RateLimit_$VALUES = null;
function nlea_EaglerAdapterImpl2$RateLimit__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nlea_EaglerAdapterImpl2$RateLimit;
    jl_Enum__init_0(var$1, $rt_s(76), 0);
    $java.nlea_EaglerAdapterImpl2$RateLimit_NONE = var$1;
    var$1 = new nlea_EaglerAdapterImpl2$RateLimit;
    jl_Enum__init_0(var$1, $rt_s(3071), 1);
    $java.nlea_EaglerAdapterImpl2$RateLimit_FAILED = var$1;
    var$1 = new nlea_EaglerAdapterImpl2$RateLimit;
    jl_Enum__init_0(var$1, $rt_s(2802), 2);
    nlea_EaglerAdapterImpl2$RateLimit_BLOCKED = var$1;
    var$1 = new nlea_EaglerAdapterImpl2$RateLimit;
    jl_Enum__init_0(var$1, $rt_s(3072), 3);
    nlea_EaglerAdapterImpl2$RateLimit_FAILED_POSSIBLY_LOCKED = var$1;
    var$1 = new nlea_EaglerAdapterImpl2$RateLimit;
    jl_Enum__init_0(var$1, $rt_s(2804), 4);
    nlea_EaglerAdapterImpl2$RateLimit_LOCKED = var$1;
    var$1 = new nlea_EaglerAdapterImpl2$RateLimit;
    jl_Enum__init_0(var$1, $rt_s(3073), 5);
    nlea_EaglerAdapterImpl2$RateLimit_NOW_LOCKED = var$1;
    var$2 = $rt_createArray(nlea_EaglerAdapterImpl2$RateLimit, 6);
    var$3 = var$2.data;
    var$3[0] = $java.nlea_EaglerAdapterImpl2$RateLimit_NONE;
    var$3[1] = $java.nlea_EaglerAdapterImpl2$RateLimit_FAILED;
    var$3[2] = nlea_EaglerAdapterImpl2$RateLimit_BLOCKED;
    var$3[3] = nlea_EaglerAdapterImpl2$RateLimit_FAILED_POSSIBLY_LOCKED;
    var$3[4] = nlea_EaglerAdapterImpl2$RateLimit_LOCKED;
    var$3[5] = nlea_EaglerAdapterImpl2$RateLimit_NOW_LOCKED;
    $java.nlea_EaglerAdapterImpl2$RateLimit_$VALUES = var$2;
}
function maan_Song() {
    var a = this; jl_Object.call(a);
    a.$length8 = 0;
    a.$height13 = 0;
    a.$name19 = null;
    a.$author = null;
    a.$originalAuthor = null;
    a.$description = null;
    a.$tempo = 0;
    a.$autoSave = 0;
    a.$autoSaveDuration = 0;
    a.$timeSignature = 0;
    a.$minutesSpent = 0;
    a.$leftClicks = 0;
    a.$rightClicks = 0;
    a.$blocksAdded = 0;
    a.$blocksRemoved = 0;
    a.$MidiSchematicFile = null;
    a.$songBoard = null;
    a.$isONBS = 0;
    a.$instream = null;
    a.$in2 = null;
}
function maan_Song__init_(var_0) {
    var var_1 = new maan_Song();
    $java.maan_Song__init_(var_1, var_0);
    return var_1;
}
$java.maan_Song__init_ = function($this, $fromBytes) {
    var $i, $tick, $jumpDistance, $layer, $jumpLayers, var$7, var$8, var$9, var$10, var$11, var$12, var$13;
    $this.$isONBS = 0;
    $this.$instream = ji_ByteArrayInputStream__init_($fromBytes);
    $this.$in2 = ji_DataInputStream__init_($this.$instream);
    $java.maan_Song_setLength($this, $java.maan_Song_readShort($this));
    $this.$isONBS = $this.$length8 ? 0 : 1;
    if ($this.$isONBS) {
        ji_DataInputStream_readByte($this.$in2);
        ji_DataInputStream_readByte($this.$in2);
        $java.maan_Song_setLength($this, $java.maan_Song_readShort($this));
    }
    $java.maan_Song_setHeight($this, $java.maan_Song_readShort($this));
    $this.$name19 = $java.maan_Song_readString($this);
    $this.$author = $java.maan_Song_readString($this);
    $this.$originalAuthor = $java.maan_Song_readString($this);
    $this.$description = $java.maan_Song_readString($this);
    $java.maan_Song_setTempo($this, $java.maan_Song_readShort($this));
    $this.$autoSave = ji_DataInputStream_readBoolean($this.$in2);
    $java.maan_Song_setAutoSaveDuration($this, ji_DataInputStream_readByte($this.$in2));
    $java.maan_Song_setTimeSignature($this, ji_DataInputStream_readByte($this.$in2));
    $java.maan_Song_setMinutesSpent($this, $java.maan_Song_readInt($this));
    $java.maan_Song_setLeftClicks($this, $java.maan_Song_readInt($this));
    $java.maan_Song_setRightClicks($this, $java.maan_Song_readInt($this));
    $java.maan_Song_setBlocksAdded($this, $java.maan_Song_readInt($this));
    $java.maan_Song_setBlocksRemoved($this, $java.maan_Song_readInt($this));
    $this.$MidiSchematicFile = $java.maan_Song_readString($this);
    if ($this.$isONBS) {
        ji_DataInputStream_readByte($this.$in2);
        ji_DataInputStream_readByte($this.$in2);
        $java.maan_Song_readShort($this);
    }
    $this.$songBoard = ju_ArrayList__init_0();
    $i = 0;
    while ($i < $this.$height13) {
        ju_ArrayList_add($this.$songBoard, $java.maan_Layer__init_($rt_s(36), 100));
        $i = $i + 1 | 0;
    }
    $tick = (-1);
    a: {
        b: {
            c: {
                d: while (true) {
                    $jumpDistance = $java.maan_Song_readShort($this);
                    if (!$jumpDistance) {
                        $i = 0;
                        while ($i < $this.$height13) {
                            ju_ArrayList_get($this.$songBoard, $i).$name20 = $java.maan_Song_readString($this);
                            if (!$this.$isONBS)
                                $java.maan_Layer_setVolume(ju_ArrayList_get($this.$songBoard, $i), ji_DataInputStream_readByte($this.$in2));
                            else {
                                ji_DataInputStream_readByte($this.$in2);
                                $java.maan_Layer_setVolume(ju_ArrayList_get($this.$songBoard, $i), ji_DataInputStream_readByte($this.$in2));
                                ji_DataInputStream_readByte($this.$in2);
                            }
                            $i = $i + 1 | 0;
                        }
                        ji_FilterInputStream_close($this.$in2);
                        return;
                    }
                    $tick = $tick + $jumpDistance | 0;
                    $layer = (-1);
                    while (true) {
                        $jumpLayers = $java.maan_Song_readShort($this);
                        if (!$jumpLayers)
                            break;
                        $layer = ($layer + $jumpLayers | 0) << 16 >> 16;
                        $i = $layer + 1 | 0;
                        while ($this.$songBoard.$size < $i) {
                            ju_ArrayList_add($this.$songBoard, $java.maan_Layer__init_($rt_s(36), 100));
                        }
                        e: {
                            var$7 = ju_ArrayList_get($this.$songBoard, $layer);
                            var$8 = new maan_Note;
                            switch (ji_DataInputStream_readByte($this.$in2)) {
                                case 0:
                                    break;
                                case 1:
                                    var$9 = $java.maan_Instrument_BASS;
                                    break e;
                                case 2:
                                    var$9 = $java.maan_Instrument_DRUM;
                                    break e;
                                case 3:
                                    var$9 = $java.maan_Instrument_SNARE;
                                    break e;
                                case 4:
                                    var$9 = $java.maan_Instrument_CLICK;
                                    break e;
                                case 5:
                                    var$9 = $java.maan_Instrument_GUITAR;
                                    break e;
                                case 6:
                                    var$9 = $java.maan_Instrument_FLUTE;
                                    break e;
                                case 7:
                                    var$9 = $java.maan_Instrument_BELL;
                                    break e;
                                case 8:
                                    var$9 = $java.maan_Instrument_CHIME;
                                    break e;
                                case 9:
                                    var$9 = $java.maan_Instrument_XYLOPHONE;
                                    break e;
                                case 10:
                                    var$9 = $java.maan_Instrument_IRON_XYLOPHONE;
                                    break e;
                                case 11:
                                    var$9 = $java.maan_Instrument_COW_BELL;
                                    break e;
                                case 12:
                                    var$9 = $java.maan_Instrument_DIDGERIDOO;
                                    break e;
                                case 13:
                                    var$9 = $java.maan_Instrument_BIT;
                                    break e;
                                case 14:
                                    var$9 = $java.maan_Instrument_BANJO;
                                    break e;
                                case 15:
                                    var$9 = $java.maan_Instrument_PLING;
                                    break e;
                                default:
                                    var$9 = $java.maan_Instrument_CUSTOM;
                                    break e;
                            }
                            var$9 = $java.maan_Instrument_HARP;
                        }
                        $jumpDistance = ji_DataInputStream_readByte($this.$in2);
                        $jumpLayers = !$this.$isONBS ? 100 : ji_DataInputStream_readByte($this.$in2);
                        var$10 = !$this.$isONBS ? 100 : ji_DataInputStream_readByte($this.$in2) & 255;
                        if (!$this.$isONBS)
                            var$11 = 0;
                        else {
                            var$12 = jn_ByteBuffer_allocate(8);
                            var$12.$order = jn_ByteOrder_BIG_ENDIAN;
                            var$13 = jn_ByteBufferImpl_putShort(var$12, ji_DataInputStream_readShort($this.$in2));
                            var$13.$order = jn_ByteOrder_LITTLE_ENDIAN;
                            var$11 = jn_ByteBufferImpl_getShort(var$13, 0);
                        }
                        if ($jumpDistance < 0)
                            break a;
                        if ($jumpDistance > 87)
                            break a;
                        if ($jumpLayers < 0)
                            break b;
                        if ($jumpLayers > 100)
                            break b;
                        if (var$10 < 0)
                            break c;
                        if (var$10 > 200)
                            break c;
                        if (var$11 < (-32767))
                            break d;
                        if (var$11 > 32767)
                            break d;
                        var$8.$instrument = var$9;
                        $java.maan_Note_setPitch(var$8, $jumpDistance);
                        $java.maan_Note_setVelocity(var$8, $jumpLayers);
                        $java.maan_Note_setPanning(var$8, var$10);
                        $java.maan_Note_setPrecisePitch(var$8, var$11);
                        $java.maan_Layer_setNote(var$7, $tick, var$8);
                    }
                }
                var$13 = new jl_IllegalArgumentException;
                jl_Throwable__init_(var$13, $rt_s(3074));
                $rt_throw(var$13);
            }
            var$13 = new jl_IllegalArgumentException;
            jl_Throwable__init_(var$13, $rt_s(3075));
            $rt_throw(var$13);
        }
        var$13 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$13, $rt_s(3076));
        $rt_throw(var$13);
    }
    var$7 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$7, $rt_s(3077));
    $rt_throw(var$7);
};
$java.maan_Song_setLength = function($this, $length) {
    var var$2;
    if ($length >= 0) {
        $this.$length8 = $length;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3078));
    $rt_throw(var$2);
};
$java.maan_Song_getHeight = function($this) {
    return $this.$height13;
};
$java.maan_Song_setHeight = function($this, $height) {
    var var$2;
    if ($height >= 0) {
        $this.$height13 = $height;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3079));
    $rt_throw(var$2);
};
$java.maan_Song_setName = function($this, $name) {
    $this.$name19 = $name;
};
$java.maan_Song_setAuthor = function($this, $author) {
    $this.$author = $author;
};
$java.maan_Song_setOriginalAuthor = function($this, $originalAuthor) {
    $this.$originalAuthor = $originalAuthor;
};
$java.maan_Song_setDescription = function($this, $description) {
    $this.$description = $description;
};
function maan_Song_getTempo($this) {
    return $this.$tempo;
}
$java.maan_Song_setTempo = function($this, $tempo) {
    var var$2;
    if ($tempo < 25) {
        var$2 = new jl_IllegalArgumentException;
        jl_Throwable__init_(var$2, $rt_s(3080));
        $rt_throw(var$2);
    }
    if ($tempo % 25 | 0)
        $tempo = (25 * ($tempo / 25 | 0) | 0) << 16 >> 16;
    $this.$tempo = $tempo;
};
$java.maan_Song_setAutoSave = function($this, $autoSave) {
    $this.$autoSave = $autoSave;
};
$java.maan_Song_setAutoSaveDuration = function($this, $autoSaveDuration) {
    var var$2;
    if ($autoSaveDuration >= 1 && $autoSaveDuration <= 60) {
        $this.$autoSaveDuration = $autoSaveDuration;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3081));
    $rt_throw(var$2);
};
$java.maan_Song_setTimeSignature = function($this, $timeSignature) {
    var var$2;
    if ($timeSignature >= 2 && $timeSignature <= 8) {
        $this.$timeSignature = $timeSignature;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3082));
    $rt_throw(var$2);
};
$java.maan_Song_setMinutesSpent = function($this, $minutesSpent) {
    var var$2;
    if ($minutesSpent >= 0) {
        $this.$minutesSpent = $minutesSpent;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3083));
    $rt_throw(var$2);
};
$java.maan_Song_setRightClicks = function($this, $rightClicks) {
    var var$2;
    if ($rightClicks >= 0) {
        $this.$rightClicks = $rightClicks;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3084));
    $rt_throw(var$2);
};
$java.maan_Song_setLeftClicks = function($this, $leftClicks) {
    var var$2;
    if ($leftClicks >= 0) {
        $this.$leftClicks = $leftClicks;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3085));
    $rt_throw(var$2);
};
$java.maan_Song_setBlocksAdded = function($this, $blocksAdded) {
    var var$2;
    if ($blocksAdded >= 0) {
        $this.$blocksAdded = $blocksAdded;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3086));
    $rt_throw(var$2);
};
$java.maan_Song_setBlocksRemoved = function($this, $blocksRemoved) {
    var var$2;
    if ($blocksRemoved >= 0) {
        $this.$blocksRemoved = $blocksRemoved;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3087));
    $rt_throw(var$2);
};
$java.maan_Song_setMidiSchematicFile = function($this, $midiSchematicFile) {
    $this.$MidiSchematicFile = $midiSchematicFile;
};
$java.maan_Song_setIsONBS = function($this, $bool) {
    $this.$isONBS = $bool;
};
function maan_Song_getSongBoard($this) {
    return $this.$songBoard;
}
$java.maan_Song_readShort = function($this) {
    return (ji_DataInputStream_readUnsignedByte($this.$in2) + (ji_DataInputStream_readUnsignedByte($this.$in2) << 8) | 0) << 16 >> 16;
};
$java.maan_Song_readInt = function($this) {
    return ((ji_DataInputStream_readUnsignedByte($this.$in2) + (ji_DataInputStream_readUnsignedByte($this.$in2) << 8) | 0) + (ji_DataInputStream_readUnsignedByte($this.$in2) << 16) | 0) + (ji_DataInputStream_readUnsignedByte($this.$in2) << 24) | 0;
};
$java.maan_Song_readString = function($this) {
    var $length, $sb, $c;
    $length = $java.maan_Song_readInt($this);
    $sb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_2($sb, $length);
    while ($length > 0) {
        $c = ji_DataInputStream_readByte($this.$in2) & 65535;
        if ($c == 13)
            $c = 32;
        jl_AbstractStringBuilder_append0($sb, $c);
        $length = $length + (-1) | 0;
    }
    return jl_AbstractStringBuilder_toString($sb);
};
function ju_UnknownFormatConversionException() {
    ju_IllegalFormatException.call(this);
    this.$conversion0 = null;
}
$java.ju_UnknownFormatConversionException__init_ = function(var_0) {
    var var_1 = new ju_UnknownFormatConversionException();
    $java.ju_UnknownFormatConversionException__init_0(var_1, var_0);
    return var_1;
};
$java.ju_UnknownFormatConversionException__init_0 = function($this, $conversion) {
    var var$2;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(3088));
    jl_AbstractStringBuilder_append(var$2, $conversion);
    jl_Throwable__init_($this, jl_AbstractStringBuilder_toString(var$2));
    $this.$conversion0 = $conversion;
};
function maat__tmi_MgZOrder() {
    jl_Object.call(this);
}
$java.maat__tmi_MgZOrder__init_ = function() {
    var var_0 = new maat__tmi_MgZOrder();
    maat__tmi_MgZOrder__init_(var_0);
    return var_0;
};
function maat__tmi_MgZOrder__init_($this) {
    return;
}
$java.maat__tmi_MgZOrder_compare = function($this, $var1, $var2) {
    return $var1.$z5 > $var2.$z5 ? 1 : $var1.$z5 >= $var2.$z5 ? 0 : (-1);
};
$java.maat__tmi_MgZOrder_compare0 = function($this, $var1, $var2) {
    return $java.maat__tmi_MgZOrder_compare($this, $var1, $var2);
};
function nms_EnchantmentHelper() {
    jl_Object.call(this);
}
$java.nms_EnchantmentHelper_enchantmentRand = null;
$java.nms_EnchantmentHelper_enchantmentModifierDamage = null;
$java.nms_EnchantmentHelper_enchantmentModifierLiving = null;
function nms_EnchantmentHelper_$callClinit() {
    nms_EnchantmentHelper_$callClinit = $rt_eraseClinit(nms_EnchantmentHelper);
    $java.nms_EnchantmentHelper__clinit_();
}
$java.nms_EnchantmentHelper__init_ = function() {
    var var_0 = new nms_EnchantmentHelper();
    nms_EnchantmentHelper__init_(var_0);
    return var_0;
};
function nms_EnchantmentHelper__init_($this) {
    nms_EnchantmentHelper_$callClinit();
}
function nms_EnchantmentHelper_getEnchantmentLevel($par0, $par1ItemStack) {
    var $var2, $var3, $var4, $var5;
    nms_EnchantmentHelper_$callClinit();
    if ($par1ItemStack === null)
        return 0;
    $var2 = nms_ItemStack_getEnchantmentTagList($par1ItemStack);
    if ($var2 === null)
        return 0;
    $var3 = 0;
    while (true) {
        if ($var3 >= nms_NBTTagList_tagCount($var2))
            return 0;
        $var4 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($var2, $var3), $rt_s(1900));
        $var5 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($var2, $var3), $rt_s(1910));
        if ($var4 == $par0)
            break;
        $var3 = $var3 + 1 | 0;
    }
    return $var5;
}
$java.nms_EnchantmentHelper_getEnchantments = function($par0ItemStack) {
    var $var1, $var3, $var2, $var4, $var5;
    nms_EnchantmentHelper_$callClinit();
    $var1 = ju_LinkedHashMap__init_0();
    $var3 = $par0ItemStack.$itemID0;
    nms_Item_$callClinit();
    $var2 = $var3 != nms_Item_enchantedBook.$itemID ? nms_ItemStack_getEnchantmentTagList($par0ItemStack) : $java.nms_ItemEnchantedBook_func_92110_g(nms_Item_enchantedBook, $par0ItemStack);
    a: {
        if ($var2 !== null) {
            $var3 = 0;
            while (true) {
                if ($var3 >= nms_NBTTagList_tagCount($var2))
                    break a;
                $var4 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($var2, $var3), $rt_s(1900));
                $var5 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($var2, $var3), $rt_s(1910));
                ju_LinkedHashMap_put($var1, jl_Integer_valueOf($var4), jl_Integer_valueOf($var5));
                $var3 = $var3 + 1 | 0;
            }
        }
    }
    return $var1;
};
$java.nms_EnchantmentHelper_setEnchantments = function($par0Map, $par1ItemStack) {
    var $var2, $var3, $var4, $var5, var$7, var$8;
    nms_EnchantmentHelper_$callClinit();
    $var2 = nms_NBTTagList__init_0();
    $var3 = $java.ju_LinkedHashMap_keySet($par0Map).$iterator();
    while ($var3.$hasNext()) {
        $var4 = $var3.$next().$value;
        $var5 = nms_NBTTagCompound__init_0();
        nms_NBTTagCompound_setShort($var5, $rt_s(1900), $var4 << 16 >> 16);
        nms_NBTTagCompound_setShort($var5, $rt_s(1910), $java.ju_LinkedHashMap_get($par0Map, jl_Integer_valueOf($var4)).$value << 16 >> 16);
        nms_NBTTagList_appendTag($var2, $var5);
        var$7 = $par1ItemStack.$itemID0;
        nms_Item_$callClinit();
        if (var$7 == nms_Item_enchantedBook.$itemID) {
            $var5 = nms_Item_enchantedBook;
            var$8 = new nms_EnchantmentData;
            var$7 = $java.ju_LinkedHashMap_get($par0Map, jl_Integer_valueOf($var4)).$value;
            nms_Enchantment_$callClinit();
            $java.nms_EnchantmentData__init_(var$8, nms_Enchantment_enchantmentsList.data[$var4], var$7);
            $java.nms_ItemEnchantedBook_func_92115_a($var5, $par1ItemStack, var$8);
        }
    }
    if (nms_NBTTagList_tagCount($var2) > 0) {
        var$7 = $par1ItemStack.$itemID0;
        nms_Item_$callClinit();
        if (var$7 != nms_Item_enchantedBook.$itemID)
            nms_ItemStack_setTagInfo($par1ItemStack, $rt_s(1905), $var2);
    } else if (nms_ItemStack_hasTagCompound($par1ItemStack))
        nms_NBTTagCompound_removeTag($par1ItemStack.$stackTagCompound, $rt_s(1905));
};
function nms_EnchantmentHelper_getMaxEnchantmentLevel($par0, $par1ArrayOfItemStack) {
    var $var2, $var4, $var5, $var7;
    nms_EnchantmentHelper_$callClinit();
    if ($par1ArrayOfItemStack === null)
        return 0;
    $par1ArrayOfItemStack = $par1ArrayOfItemStack.data;
    $var2 = 0;
    $var4 = $par1ArrayOfItemStack.length;
    $var5 = 0;
    while ($var5 < $var4) {
        $var7 = nms_EnchantmentHelper_getEnchantmentLevel($par0, $par1ArrayOfItemStack[$var5]);
        if ($var7 > $var2)
            $var2 = $var7;
        $var5 = $var5 + 1 | 0;
    }
    return $var2;
}
function nms_EnchantmentHelper_getEnchantmentModifierLiving($par0EntityLiving, $par1EntityLiving) {
    var var$3, var$4, var$5;
    nms_EnchantmentHelper_$callClinit();
    a: {
        $java.nms_EnchantmentHelper_enchantmentModifierLiving.$livingModifier = 0;
        $java.nms_EnchantmentHelper_enchantmentModifierLiving.$entityLiving = $par1EntityLiving;
        $par1EntityLiving = $java.nms_EnchantmentHelper_enchantmentModifierLiving;
        $par0EntityLiving = $par0EntityLiving.$getHeldItem();
        if ($par0EntityLiving !== null) {
            $par0EntityLiving = nms_ItemStack_getEnchantmentTagList($par0EntityLiving);
            if ($par0EntityLiving !== null) {
                var$3 = 0;
                while (true) {
                    if (var$3 >= nms_NBTTagList_tagCount($par0EntityLiving))
                        break a;
                    var$4 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($par0EntityLiving, var$3), $rt_s(1900));
                    var$5 = nms_NBTTagCompound_getShort(nms_NBTTagList_tagAt($par0EntityLiving, var$3), $rt_s(1910));
                    nms_Enchantment_$callClinit();
                    if (nms_Enchantment_enchantmentsList.data[var$4] !== null)
                        $java.nms_EnchantmentModifierLiving_calculateModifier($par1EntityLiving, nms_Enchantment_enchantmentsList.data[var$4], var$5);
                    var$3 = var$3 + 1 | 0;
                }
            }
        }
    }
    return $java.nms_EnchantmentHelper_enchantmentModifierLiving.$livingModifier <= 0 ? 0 : 1 + nle_EaglercraftRandom_nextInt($java.nms_EnchantmentHelper_enchantmentRand, $java.nms_EnchantmentHelper_enchantmentModifierLiving.$livingModifier) | 0;
}
function nms_EnchantmentHelper_getKnockbackModifier($par0EntityLiving, $par1EntityLiving) {
    nms_EnchantmentHelper_$callClinit();
    nms_Enchantment_$callClinit();
    return nms_EnchantmentHelper_getEnchantmentLevel($java.nms_Enchantment_knockback.$effectId, $par0EntityLiving.$getHeldItem());
}
function nms_EnchantmentHelper_getFireAspectModifier($par0EntityLiving) {
    nms_EnchantmentHelper_$callClinit();
    nms_Enchantment_$callClinit();
    return nms_EnchantmentHelper_getEnchantmentLevel($java.nms_Enchantment_fireAspect.$effectId, $par0EntityLiving.$getHeldItem());
}
function nms_EnchantmentHelper_addRandomEnchantment($par0Random, $par1ItemStack, $par2) {
    var $var3, $var4, $var5, $var6;
    nms_EnchantmentHelper_$callClinit();
    $var3 = ju_ArrayList__init_0();
    $par2 = $par1ItemStack.$itemID0;
    nms_Item_$callClinit();
    $var4 = $par2 != nms_Item_book.$itemID ? 0 : 1;
    if ($var4)
        $par1ItemStack.$itemID0 = nms_Item_enchantedBook.$itemID;
    $var5 = ju_AbstractList_iterator($var3);
    while (ju_AbstractList$1_hasNext($var5)) {
        $var6 = ju_AbstractList$1_next($var5);
        if ($var4)
            $java.nms_ItemEnchantedBook_func_92115_a(nms_Item_enchantedBook, $par1ItemStack, $var6);
        else
            nms_ItemStack_addEnchantment($par1ItemStack, $var6.$enchantmentobj, $var6.$enchantmentLevel);
    }
    return $par1ItemStack;
}
$java.nms_EnchantmentHelper__clinit_ = function() {
    $java.nms_EnchantmentHelper_enchantmentRand = nle_EaglercraftRandom__init_0();
    $java.nms_EnchantmentHelper_enchantmentModifierDamage = new nms_EnchantmentModifierDamage;
    $java.nms_EnchantmentHelper_enchantmentModifierLiving = new nms_EnchantmentModifierLiving;
};
function jur_Matcher$1() {
    var a = this; jl_Object.call(a);
    a.$grN = 0;
    a.$val$gr = 0;
    a.$this$047 = null;
}
$java.jur_Matcher$1__init_ = function(var_0, var_1) {
    var var_2 = new jur_Matcher$1();
    $java.jur_Matcher$1__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.jur_Matcher$1__init_0 = function($this, $this$0, var$2) {
    $this.$this$047 = $this$0;
    $this.$val$gr = var$2;
    $this.$grN = $this.$val$gr;
};
$java.jur_Matcher$1_toString = function($this) {
    return $java.jur_Matcher_group($this.$this$047, $this.$grN);
};
function jlr_Modifier() {
    jl_Object.call(this);
}
$java.jlr_Modifier_modifierNames = null;
$java.jlr_Modifier_canonicalOrder = null;
$java.jlr_Modifier__init_ = function() {
    var var_0 = new jlr_Modifier();
    jlr_Modifier__init_(var_0);
    return var_0;
};
function jlr_Modifier__init_($this) {
    return;
}
function jlr_Modifier_isPublic($mod) {
    return !($mod & 1) ? 0 : 1;
}
function jlr_Modifier__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(12);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 4;
    var$2[2] = 2;
    var$2[3] = 1024;
    var$2[4] = 8;
    var$2[5] = 16;
    var$2[6] = 128;
    var$2[7] = 64;
    var$2[8] = 32;
    var$2[9] = 256;
    var$2[10] = 2048;
    var$2[11] = 512;
    $java.jlr_Modifier_canonicalOrder = var$1;
}
function jni_XHRURLConnection$performRequest$lambda$_5_0() {
    var a = this; jl_Object.call(a);
    a.$_03 = null;
    a.$_10 = null;
}
$java.jni_XHRURLConnection$performRequest$lambda$_5_0_stateChanged = function(var$0) {
    var var$1, var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13, var$14, var$15;
    var$1 = var$0.$_03;
    var$2 = var$0.$_10;
    if (var$1.$xhr.readyState == 4) {
        var$1.$responseCode = var$1.$xhr.status;
        var$1.$responseMessage = $rt_str(var$1.$xhr.statusText);
        if (!var$1.$responseCode)
            var$1.$responseCode = (-1);
        var$3 = new Int8Array(var$1.$xhr.response);
        var$4 = $rt_createByteArray(var$3.length);
        var$5 = var$4.data;
        var$6 = 0;
        var$7 = var$5.length;
        while (var$6 < var$7) {
            var$5[var$6] = var$3[var$6];
            var$6 = var$6 + 1 | 0;
        }
        var$8 = ji_ByteArrayInputStream__init_(var$4);
        var$3 = $rt_str(var$1.$xhr.getAllResponseHeaders());
        var$9 = 0;
        var$10 = ju_ArrayList__init_0();
        var$11 = ju_ArrayList__init_0();
        var$1.$responseHeaders = ju_HashMap__init_();
        var$1.$headerFields = ju_HashMap__init_();
        while (var$9 < jl_String_length(var$3)) {
            var$6 = jl_String_indexOf1(var$3, $rt_s(63), var$9);
            if (var$6 < 0)
                var$6 = jl_String_length(var$3);
            var$7 = jl_String_indexOf(var$3, 58, var$9);
            if (var$7 < 0)
                var$7 = jl_String_length(var$3);
            var$12 = $rt_compare(var$7, var$6);
            var$13 = var$12 >= 0 ? jl_String_substring0(var$3, var$9, var$6) : jl_String_substring0(var$3, var$9, var$7);
            var$14 = var$12 >= 0 ? $rt_s(36) : jl_String_trim(jl_String_substring0(var$3, var$7 + 1 | 0, var$6));
            var$13 = jl_String_trim(var$13);
            ju_ArrayList_add(var$10, var$13);
            ju_ArrayList_add(var$11, var$14);
            var$15 = ju_HashMap_get(var$1.$headerFields, var$13);
            if (var$15 === null) {
                var$15 = ju_ArrayList__init_0();
                ju_HashMap_putImpl(var$1.$headerFields, var$13, var$15);
            }
            var$15.$add(var$14);
            var$13 = jl_String_toLowerCase(var$13);
            ju_HashMap_putImpl(var$1.$responseHeaders, var$13, var$14);
            var$9 = var$6 + 2 | 0;
        }
        var$1.$responseHeaderKeys = ju_AbstractCollection_toArray(var$10, $rt_createArray(jl_String, var$10.$size));
        var$1.$responseHeaderValues = ju_AbstractCollection_toArray(var$11, $rt_createArray(jl_String, var$11.$size));
        var$9 = var$1.$responseCode / 100 | 0;
        if (var$9 != 4 && var$9 != 5) {
            var$1.$inputStream = var$8;
            var$1.$errorStream = null;
        } else {
            var$1.$errorStream = var$8;
            var$1.$inputStream = null;
        }
        otpp_AsyncCallbackWrapper_complete(var$2, $java.jl_Boolean_TRUE);
    }
};
$java.jni_XHRURLConnection$performRequest$lambda$_5_0_stateChanged$exported$0 = function(var$0) {
    $java.jni_XHRURLConnection$performRequest$lambda$_5_0_stateChanged(var$0);
};
function otjt_Int8Array() {
    otjt_ArrayBufferView.call(this);
}
function jsm_MidiSystem() {
    jl_Object.call(this);
}
$java.jsm_MidiSystem__init_ = function() {
    var var_0 = new jsm_MidiSystem();
    jsm_MidiSystem__init_(var_0);
    return var_0;
};
function jsm_MidiSystem__init_(var$0) {
    return;
}
function maa_MidiConverter$1() {
    jl_Object.call(this);
}
$java.maa_MidiConverter$1__init_ = function() {
    var var_0 = new maa_MidiConverter$1();
    maa_MidiConverter$1__init_(var_0);
    return var_0;
};
function maa_MidiConverter$1__init_($this) {
    return;
}
$java.maa_MidiConverter$1_compare = function($this, $a, $b) {
    return jl_Long_compareTo(jl_Long_valueOf($a.$tick0), jl_Long_valueOf($b.$tick0));
};
$java.maa_MidiConverter$1_compare0 = function($this, var$1, var$2) {
    return $java.maa_MidiConverter$1_compare($this, var$1, var$2);
};
function jsm_MidiMessage() {
    var a = this; jl_Object.call(a);
    a.$data15 = null;
    a.$length9 = 0;
}
$java.jsm_MidiMessage__init_ = function(var_0) {
    var var_1 = new jsm_MidiMessage();
    $java.jsm_MidiMessage__init_0(var_1, var_0);
    return var_1;
};
$java.jsm_MidiMessage__init_0 = function(var$0, var$1) {
    var$0.$length9 = 0;
    var$0.$data15 = var$1;
    if (var$1 !== null)
        var$0.$length9 = var$1.data.length;
};
$java.jsm_MidiMessage_getMessage = function(var$0) {
    var var$1;
    var$1 = $rt_createByteArray(var$0.$length9);
    jl_System_arraycopy(var$0.$data15, 0, var$1, 0, var$0.$length9);
    return var$1;
};
$java.jsm_MidiMessage_getStatus = function(var$0) {
    if (var$0.$length9 <= 0)
        return 0;
    return var$0.$data15.data[0] & 255;
};
$java.jsm_MidiMessage_getLength = function(var$0) {
    return var$0.$length9;
};
function jsm_MetaMessage() {
    jsm_MidiMessage.call(this);
    this.$dataLength0 = 0;
}
$java.jsm_MetaMessage__init_ = function() {
    var var_0 = new jsm_MetaMessage();
    jsm_MetaMessage__init_(var_0);
    return var_0;
};
$java.jsm_MetaMessage__init_0 = function(var_0) {
    var var_1 = new jsm_MetaMessage();
    $java.jsm_MetaMessage__init_1(var_1, var_0);
    return var_1;
};
function jsm_MetaMessage__init_(var$0) {
    var var$1, var$2;
    var$1 = $rt_createByteArray(2);
    var$2 = var$1.data;
    var$2[0] = (-1);
    var$2[1] = 0;
    $java.jsm_MetaMessage__init_1(var$0, var$1);
}
$java.jsm_MetaMessage__init_1 = function(var$0, var$1) {
    var var$2, var$3, var$4;
    a: {
        var$2 = var$1.data;
        $java.jsm_MidiMessage__init_0(var$0, var$1);
        var$0.$dataLength0 = 0;
        var$3 = var$2.length;
        if (var$3 >= 3) {
            var$0.$dataLength0 = var$3 - 3 | 0;
            var$4 = 2;
            while (true) {
                if (var$4 >= var$3)
                    break a;
                if (!(var$2[var$4] & 128))
                    break a;
                var$0.$dataLength0 = var$0.$dataLength0 - 1 | 0;
                var$4 = var$4 + 1 | 0;
            }
        }
    }
};
$java.jsm_MetaMessage_setMessage = function(var$0, var$1, var$2, var$3) {
    var var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11;
    if (var$1 < 128 && var$1 >= 0) {
        if (!(var$3 > 0 && var$3 > var$2.data.length) && var$3 >= 0) {
            var$4 = Long_fromInt(var$3);
            var$5 = 0;
            var$6 = var$4;
            while (true) {
                var$6 = Long_shr(var$6, 7);
                var$5 = var$5 + 1 | 0;
                if (Long_le(var$6, Long_ZERO))
                    break;
            }
            var$0.$length9 = (2 + var$5 | 0) + var$3 | 0;
            var$0.$dataLength0 = var$3;
            var$0.$data15 = $rt_createByteArray(var$0.$length9);
            var$0.$data15.data[0] = (-1);
            var$0.$data15.data[1] = var$1 << 24 >> 24;
            var$7 = var$0.$data15;
            var$1 = 2;
            var$5 = 63;
            a: {
                while (var$5 > 0) {
                    if (Long_ne(Long_and(var$4, Long_shl(Long_fromInt(127), var$5)), Long_ZERO))
                        break a;
                    var$5 = var$5 + (-7) | 0;
                }
            }
            while (var$5 > 0) {
                var$8 = var$7.data;
                var$9 = var$1 + 1 | 0;
                var$8[var$1] = Long_or(Long_shr(Long_and(var$4, Long_shl(Long_fromInt(127), var$5)), var$5), Long_fromInt(128)).lo << 24 >> 24;
                var$5 = var$5 + (-7) | 0;
                var$1 = var$9;
            }
            var$7.data[var$1] = Long_and(var$4, Long_fromInt(127)).lo << 24 >> 24;
            if (var$3 > 0)
                jl_System_arraycopy(var$2, 0, var$0.$data15, var$0.$length9 - var$0.$dataLength0 | 0, var$0.$dataLength0);
            return;
        }
        var$10 = new jsm_InvalidMidiDataException;
        var$11 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$11);
        jl_AbstractStringBuilder_append(var$11, $rt_s(3089));
        jl_AbstractStringBuilder_append2(var$11, var$3);
        jl_Throwable__init_(var$10, jl_AbstractStringBuilder_toString(var$11));
        $rt_throw(var$10);
    }
    var$11 = new jsm_InvalidMidiDataException;
    var$10 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$10);
    jl_AbstractStringBuilder_append(var$10, $rt_s(3090));
    jl_AbstractStringBuilder_append2(var$10, var$1);
    jl_Throwable__init_(var$11, jl_AbstractStringBuilder_toString(var$10));
    $rt_throw(var$11);
};
$java.jsm_MetaMessage_getType = function(var$0) {
    if (var$0.$length9 < 2)
        return 0;
    return var$0.$data15.data[1] & 255;
};
$java.jsm_MetaMessage_getData = function(var$0) {
    var var$1;
    var$1 = $rt_createByteArray(var$0.$dataLength0);
    jl_System_arraycopy(var$0.$data15, var$0.$length9 - var$0.$dataLength0 | 0, var$1, 0, var$0.$dataLength0);
    return var$1;
};
function jsm_ShortMessage() {
    jsm_MidiMessage.call(this);
}
$java.jsm_ShortMessage__init_ = function() {
    var var_0 = new jsm_ShortMessage();
    jsm_ShortMessage__init_(var_0);
    return var_0;
};
function jsm_ShortMessage__init_(var$0) {
    $java.jsm_MidiMessage__init_0(var$0, $rt_createByteArray(3));
    var$0.$data15.data[0] = (-112);
    var$0.$data15.data[1] = 64;
    var$0.$data15.data[2] = 127;
    var$0.$length9 = 3;
}
$java.jsm_ShortMessage_getDataLength = function(var$0, var$1) {
    var var$2, var$3;
    a: {
        switch (var$1) {
            case 241:
            case 243:
                break;
            case 242:
                return 2;
            case 244:
            case 245:
                break a;
            case 246:
            case 247:
            case 248:
            case 249:
            case 250:
            case 251:
            case 252:
            case 253:
            case 254:
            case 255:
                return 0;
            default:
                break a;
        }
        return 1;
    }
    switch (var$1 & 240) {
        case 128:
        case 144:
        case 160:
        case 176:
        case 224:
            break;
        case 192:
        case 208:
            return 1;
        default:
            var$2 = new jsm_InvalidMidiDataException;
            var$3 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$3);
            jl_AbstractStringBuilder_append(var$3, $rt_s(3091));
            jl_AbstractStringBuilder_append2(var$3, var$1);
            jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
            $rt_throw(var$2);
    }
    return 2;
};
function maan_Layer() {
    var a = this; jl_Object.call(a);
    a.$notes = null;
    a.$name20 = null;
    a.$volume1 = 0;
}
$java.maan_Layer__init_ = function(var_0, var_1) {
    var var_2 = new maan_Layer();
    $java.maan_Layer__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.maan_Layer__init_0 = function($this, $name, $volume) {
    $this.$notes = ju_HashMap__init_();
    $this.$name20 = $name;
    $java.maan_Layer_setVolume($this, $volume);
};
function maan_Layer_getNoteList($this) {
    return $this.$notes;
}
$java.maan_Layer_setNote = function($this, $pos, $note) {
    if ($pos >= 0) {
        ju_HashMap_putImpl($this.$notes, jl_Integer_valueOf($pos), $note);
        return;
    }
    $note = new jl_IllegalArgumentException;
    jl_Throwable__init_($note, $rt_s(3092));
    $rt_throw($note);
};
$java.maan_Layer_setName = function($this, $name) {
    $this.$name20 = $name;
};
$java.maan_Layer_setVolume = function($this, $volume) {
    var var$2;
    if ($volume >= 0 && $volume <= 100) {
        $this.$volume1 = $volume;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3093));
    $rt_throw(var$2);
};
function maan_Note() {
    var a = this; jl_Object.call(a);
    a.$instrument = null;
    a.$pitch8 = 0;
    a.$velocity = 0;
    a.$panning = 0;
    a.$precisePitch = 0;
}
function maan_Note_getInstrument($this) {
    return $this.$instrument;
}
$java.maan_Note_setInstrument = function($this, $instrument) {
    $this.$instrument = $instrument;
};
function maan_Note_getPitch($this) {
    return $this.$pitch8;
}
$java.maan_Note_setPitch = function($this, $pitch) {
    var var$2;
    if ($pitch >= 0 && $pitch <= 87) {
        $this.$pitch8 = $pitch;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3077));
    $rt_throw(var$2);
};
$java.maan_Note_setVelocity = function($this, $velocity) {
    var var$2;
    if ($velocity >= 0 && $velocity <= 100) {
        $this.$velocity = $velocity;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3076));
    $rt_throw(var$2);
};
$java.maan_Note_setPanning = function($this, $panning) {
    var var$2;
    if ($panning >= 0 && $panning <= 200) {
        $this.$panning = $panning;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3075));
    $rt_throw(var$2);
};
$java.maan_Note_setPrecisePitch = function($this, $precisePitch) {
    var var$2;
    if ($precisePitch >= (-32767) && $precisePitch <= 32767) {
        $this.$precisePitch = $precisePitch;
        return;
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_(var$2, $rt_s(3074));
    $rt_throw(var$2);
};
function maan_Instrument() {
    jl_Enum.call(this);
    this.$ID = 0;
}
$java.maan_Instrument_HARP = null;
$java.maan_Instrument_BASS = null;
$java.maan_Instrument_DRUM = null;
$java.maan_Instrument_SNARE = null;
$java.maan_Instrument_CLICK = null;
$java.maan_Instrument_GUITAR = null;
$java.maan_Instrument_FLUTE = null;
$java.maan_Instrument_BELL = null;
$java.maan_Instrument_CHIME = null;
$java.maan_Instrument_XYLOPHONE = null;
$java.maan_Instrument_IRON_XYLOPHONE = null;
$java.maan_Instrument_COW_BELL = null;
$java.maan_Instrument_DIDGERIDOO = null;
$java.maan_Instrument_BIT = null;
$java.maan_Instrument_BANJO = null;
$java.maan_Instrument_PLING = null;
$java.maan_Instrument_CUSTOM = null;
$java.maan_Instrument_$VALUES = null;
$java.maan_Instrument__init_ = function(var_0, var_1, var_2) {
    var var_3 = new maan_Instrument();
    $java.maan_Instrument__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.maan_Instrument__init_0 = function($this, var$1, var$2, $ID) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$ID = $ID;
};
function maan_Instrument_getID($this) {
    return $this.$ID;
}
function maan_Instrument__clinit_() {
    var var$1, var$2;
    $java.maan_Instrument_HARP = $java.maan_Instrument__init_($rt_s(3094), 0, 0);
    $java.maan_Instrument_BASS = $java.maan_Instrument__init_($rt_s(3095), 1, 1);
    $java.maan_Instrument_DRUM = $java.maan_Instrument__init_($rt_s(3096), 2, 2);
    $java.maan_Instrument_SNARE = $java.maan_Instrument__init_($rt_s(3097), 3, 3);
    $java.maan_Instrument_CLICK = $java.maan_Instrument__init_($rt_s(3098), 4, 4);
    $java.maan_Instrument_GUITAR = $java.maan_Instrument__init_($rt_s(3099), 5, 5);
    $java.maan_Instrument_FLUTE = $java.maan_Instrument__init_($rt_s(3100), 6, 6);
    $java.maan_Instrument_BELL = $java.maan_Instrument__init_($rt_s(3101), 7, 7);
    $java.maan_Instrument_CHIME = $java.maan_Instrument__init_($rt_s(3102), 8, 8);
    $java.maan_Instrument_XYLOPHONE = $java.maan_Instrument__init_($rt_s(3103), 9, 9);
    $java.maan_Instrument_IRON_XYLOPHONE = $java.maan_Instrument__init_($rt_s(3104), 10, 10);
    $java.maan_Instrument_COW_BELL = $java.maan_Instrument__init_($rt_s(3105), 11, 11);
    $java.maan_Instrument_DIDGERIDOO = $java.maan_Instrument__init_($rt_s(3106), 12, 12);
    $java.maan_Instrument_BIT = $java.maan_Instrument__init_($rt_s(3107), 13, 13);
    $java.maan_Instrument_BANJO = $java.maan_Instrument__init_($rt_s(3108), 14, 14);
    $java.maan_Instrument_PLING = $java.maan_Instrument__init_($rt_s(3109), 15, 15);
    $java.maan_Instrument_CUSTOM = $java.maan_Instrument__init_($rt_s(3110), 16, (-1));
    var$1 = $rt_createArray(maan_Instrument, 17);
    var$2 = var$1.data;
    var$2[0] = $java.maan_Instrument_HARP;
    var$2[1] = $java.maan_Instrument_BASS;
    var$2[2] = $java.maan_Instrument_DRUM;
    var$2[3] = $java.maan_Instrument_SNARE;
    var$2[4] = $java.maan_Instrument_CLICK;
    var$2[5] = $java.maan_Instrument_GUITAR;
    var$2[6] = $java.maan_Instrument_FLUTE;
    var$2[7] = $java.maan_Instrument_BELL;
    var$2[8] = $java.maan_Instrument_CHIME;
    var$2[9] = $java.maan_Instrument_XYLOPHONE;
    var$2[10] = $java.maan_Instrument_IRON_XYLOPHONE;
    var$2[11] = $java.maan_Instrument_COW_BELL;
    var$2[12] = $java.maan_Instrument_DIDGERIDOO;
    var$2[13] = $java.maan_Instrument_BIT;
    var$2[14] = $java.maan_Instrument_BANJO;
    var$2[15] = $java.maan_Instrument_PLING;
    var$2[16] = $java.maan_Instrument_CUSTOM;
    $java.maan_Instrument_$VALUES = var$1;
}
function ju_DuplicateFormatFlagsException() {
    ju_IllegalFormatException.call(this);
    this.$flags5 = null;
}
function ju_IllegalFormatPrecisionException() {
    ju_IllegalFormatException.call(this);
    this.$precision2 = 0;
}
$java.ju_IllegalFormatPrecisionException__init_ = function(var_0) {
    var var_1 = new ju_IllegalFormatPrecisionException();
    $java.ju_IllegalFormatPrecisionException__init_0(var_1, var_0);
    return var_1;
};
$java.ju_IllegalFormatPrecisionException__init_0 = function($this, $precision) {
    var var$2;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(3111));
    jl_AbstractStringBuilder_append2(var$2, $precision);
    jl_Throwable__init_($this, jl_AbstractStringBuilder_toString(var$2));
    $this.$precision2 = $precision;
};
function ju_IllegalFormatCodePointException() {
    ju_IllegalFormatException.call(this);
    this.$codePoint = 0;
}
function ju_IllegalFormatConversionException() {
    var a = this; ju_IllegalFormatException.call(a);
    a.$conversion1 = 0;
    a.$argumentClass = null;
}
$java.ju_IllegalFormatConversionException__init_ = function(var_0, var_1) {
    var var_2 = new ju_IllegalFormatConversionException();
    $java.ju_IllegalFormatConversionException__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.ju_IllegalFormatConversionException__init_0 = function($this, $conversion, $argumentClass) {
    var var$3;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(3112));
    jl_AbstractStringBuilder_append1(var$3, $argumentClass);
    jl_AbstractStringBuilder_append(var$3, $rt_s(3113));
    jl_AbstractStringBuilder_append0(var$3, $conversion);
    jl_AbstractStringBuilder_append(var$3, $rt_s(3114));
    jl_Throwable__init_($this, jl_AbstractStringBuilder_toString(var$3));
    $this.$conversion1 = $conversion;
    $this.$argumentClass = $argumentClass;
};
function ju_Formattable() {
}
function jsm_InvalidMidiDataException() {
    jl_Exception.call(this);
}
$java.jsm_InvalidMidiDataException__init_ = function() {
    var var_0 = new jsm_InvalidMidiDataException();
    jsm_InvalidMidiDataException__init_(var_0);
    return var_0;
};
$java.jsm_InvalidMidiDataException__init_0 = function(var_0) {
    var var_1 = new jsm_InvalidMidiDataException();
    $java.jsm_InvalidMidiDataException__init_1(var_1, var_0);
    return var_1;
};
function jsm_InvalidMidiDataException__init_(var$0) {
    jl_Throwable__init_0(var$0);
}
$java.jsm_InvalidMidiDataException__init_1 = function(var$0, var$1) {
    jl_Throwable__init_(var$0, var$1);
};
function jsm_Sequence() {
    var a = this; jl_Object.call(a);
    a.$divisionType = 0.0;
    a.$resolution = 0;
    a.$tracks = null;
}
$java.jsm_Sequence_getResolution = function(var$0) {
    return var$0.$resolution;
};
$java.jsm_Sequence_createTrack = function(var$0) {
    var var$1;
    var$1 = $java.jsm_Track__init_();
    $java.ju_Vector_addElement(var$0.$tracks, var$1);
    return var$1;
};
$java.jsm_Sequence_getTracks = function(var$0) {
    return $java.ju_Vector_toArray(var$0.$tracks, $rt_createArray(jsm_Track, 0));
};
function jsm_Track() {
    var a = this; jl_Object.call(a);
    a.$eventsList = null;
    a.$set8 = null;
    a.$eotEvent = null;
}
$java.jsm_Track__init_ = function() {
    var var_0 = new jsm_Track();
    jsm_Track__init_(var_0);
    return var_0;
};
function jsm_Track__init_(var$0) {
    var$0.$eventsList = ju_ArrayList__init_0();
    var$0.$set8 = ju_HashSet__init_0();
    var$0.$eotEvent = $java.jsm_MidiEvent__init_($java.jsm_Track$ImmutableEndOfTrack__init_(), Long_ZERO);
    ju_ArrayList_add(var$0.$eventsList, var$0.$eotEvent);
    ju_HashSet_add(var$0.$set8, var$0.$eotEvent);
}
$java.jsm_Track_add = function(var$0, var$1) {
    var var$2, var$3, var$4, var$5, $$je;
    if (var$1 === null)
        return 0;
    var$2 = var$0.$eventsList;
    jl_Object_monitorEnterSync(var$2);
    a: {
        b: {
            try {
                if (!ju_HashSet_contains(var$0.$set8, var$1))
                    break b;
                jl_Object_monitorExitSync(var$2);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;
                break a;

            }
            return 0;
        }
        c: {
            try {
                var$3 = ju_ArrayList_size(var$0.$eventsList);
                var$4 = null;
                if (var$3 <= 0)
                    break c;
                var$4 = ju_ArrayList_get(var$0.$eventsList, var$3 - 1 | 0);
                break c;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;
                break a;

            }
        }
        d: {
            try {
                if (var$4 === var$0.$eotEvent)
                    break d;
                if (var$4 === null)
                    $java.jsm_MidiEvent_setTick(var$0.$eotEvent, Long_ZERO);
                else
                    $java.jsm_MidiEvent_setTick(var$0.$eotEvent, $java.jsm_MidiEvent_getTick(var$4));
                ju_ArrayList_add(var$0.$eventsList, var$0.$eotEvent);
                ju_HashSet_add(var$0.$set8, var$0.$eotEvent);
                var$3 = ju_ArrayList_size(var$0.$eventsList);
                break d;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;
                break a;

            }
        }
        e: {
            try {
                if (!$java.csms_MidiUtils_isMetaEndOfTrack($java.jsm_MidiEvent_getMessage(var$1)))
                    break e;
                if (Long_gt($java.jsm_MidiEvent_getTick(var$1), $java.jsm_MidiEvent_getTick(var$0.$eotEvent)))
                    $java.jsm_MidiEvent_setTick(var$0.$eotEvent, $java.jsm_MidiEvent_getTick(var$1));
                jl_Object_monitorExitSync(var$2);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;
                break a;

            }
            return 1;
        }
        try {
            ju_HashSet_add(var$0.$set8, var$1);
            var$5 = var$3;
            f: {
                while (true) {
                    if (var$5 <= 0)
                        break f;
                    if (Long_ge($java.jsm_MidiEvent_getTick(var$1), $java.jsm_MidiEvent_getTick(ju_ArrayList_get(var$0.$eventsList, var$5 - 1 | 0))))
                        break;
                    var$5 = var$5 + (-1) | 0;
                }
            }
            if (var$5 != var$3)
                ju_ArrayList_add0(var$0.$eventsList, var$5, var$1);
            else {
                ju_ArrayList_set(var$0.$eventsList, var$3 - 1 | 0, var$1);
                if (Long_lt($java.jsm_MidiEvent_getTick(var$0.$eotEvent), $java.jsm_MidiEvent_getTick(var$1)))
                    $java.jsm_MidiEvent_setTick(var$0.$eotEvent, $java.jsm_MidiEvent_getTick(var$1));
                ju_ArrayList_add(var$0.$eventsList, var$0.$eotEvent);
            }
            jl_Object_monitorExitSync(var$2);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            var$1 = $$je;
            break a;

        }
        return 1;
    }
    jl_Object_monitorExitSync(var$2);
    $rt_throw(var$1);
};
$java.jsm_Track_get = function(var$0, var$1) {
    var var$2, var$3, $$je;
    a: {
        try {
            var$2 = var$0.$eventsList;
            jl_Object_monitorEnterSync(var$2);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_IndexOutOfBoundsException) {
                var$2 = $$je;
                break a;
            } else {
                throw $$e;
            }
        }
        b: {
            try {
                var$3 = ju_ArrayList_get(var$0.$eventsList, var$1);
                jl_Object_monitorExitSync(var$2);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$3 = $$je;
                break b;

            }
            return var$3;
        }
        try {
            jl_Object_monitorExitSync(var$2);
            $rt_throw(var$3);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_IndexOutOfBoundsException) {
                var$2 = $$je;
            } else {
                throw $$e;
            }
        }
    }
    var$3 = new jl_ArrayIndexOutOfBoundsException;
    jl_Throwable__init_(var$3, var$2.$message);
    $rt_throw(var$3);
};
$java.jsm_Track_size = function(var$0) {
    var var$1, var$2, var$3, $$je;
    var$1 = var$0.$eventsList;
    jl_Object_monitorEnterSync(var$1);
    a: {
        try {
            var$2 = ju_ArrayList_size(var$0.$eventsList);
            jl_Object_monitorExitSync(var$1);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            var$3 = $$je;
            break a;

        }
        return var$2;
    }
    jl_Object_monitorExitSync(var$1);
    $rt_throw(var$3);
};
function jsm_MidiEvent() {
    var a = this; jl_Object.call(a);
    a.$message3 = null;
    a.$tick0 = Long_ZERO;
}
$java.jsm_MidiEvent__init_ = function(var_0, var_1) {
    var var_2 = new jsm_MidiEvent();
    $java.jsm_MidiEvent__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.jsm_MidiEvent__init_0 = function(var$0, var$1, var$2) {
    var$0.$message3 = var$1;
    var$0.$tick0 = var$2;
};
$java.jsm_MidiEvent_getMessage = function(var$0) {
    return var$0.$message3;
};
$java.jsm_MidiEvent_setTick = function(var$0, var$1) {
    var$0.$tick0 = var$1;
};
$java.jsm_MidiEvent_getTick = function(var$0) {
    return var$0.$tick0;
};
function ju_FormatFlagsConversionMismatchException() {
    var a = this; ju_IllegalFormatException.call(a);
    a.$flags4 = null;
    a.$conversion = 0;
}
function ju_IllegalFormatFlagsException() {
    ju_IllegalFormatException.call(this);
    this.$flags6 = null;
}
$java.ju_IllegalFormatFlagsException__init_ = function(var_0) {
    var var_1 = new ju_IllegalFormatFlagsException();
    $java.ju_IllegalFormatFlagsException__init_0(var_1, var_0);
    return var_1;
};
$java.ju_IllegalFormatFlagsException__init_0 = function($this, $flags) {
    var var$2;
    var$2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$2);
    jl_AbstractStringBuilder_append(var$2, $rt_s(3115));
    jl_AbstractStringBuilder_append(var$2, $flags);
    jl_Throwable__init_($this, jl_AbstractStringBuilder_toString(var$2));
    $this.$flags6 = $flags;
};
function ju_MissingFormatWidthException() {
    ju_IllegalFormatException.call(this);
    this.$formatSpecifier = null;
}
function nms_IEnchantmentModifier() {
}
function nms_EnchantmentModifierDamage() {
    jl_Object.call(this);
}
$java.nms_EnchantmentModifierDamage__init_ = function() {
    var var_0 = new nms_EnchantmentModifierDamage();
    nms_EnchantmentModifierDamage__init_(var_0);
    return var_0;
};
function nms_EnchantmentModifierDamage__init_($this) {
    return;
}
function nms_EnchantmentModifierLiving() {
    var a = this; jl_Object.call(a);
    a.$livingModifier = 0;
    a.$entityLiving = null;
}
$java.nms_EnchantmentModifierLiving__init_ = function() {
    var var_0 = new nms_EnchantmentModifierLiving();
    nms_EnchantmentModifierLiving__init_(var_0);
    return var_0;
};
function nms_EnchantmentModifierLiving__init_($this) {
    return;
}
$java.nms_EnchantmentModifierLiving_calculateModifier = function($this, $par1Enchantment, $par2) {
    $this.$livingModifier = $this.$livingModifier + $par1Enchantment.$calcModifierLiving($par2, $this.$entityLiving) | 0;
};
function nlea_EaglerAdapterImpl2$18() {
    jl_Object.call(this);
    this.$val$cb0 = null;
}
$java.nlea_EaglerAdapterImpl2$18_handleEvent = function($this, $evt) {
    nlea_EaglerAdapterImpl2_access$2602(0);
    nlea_EaglerAdapterImpl2_access$2702(0);
    nlea_EaglerAdapterImpl2_access$2802(1);
    ju_LinkedList_clear(nlea_EaglerAdapterImpl2_access$2900());
    otpp_AsyncCallbackWrapper_complete($this.$val$cb0, $rt_s(3116));
};
$java.nlea_EaglerAdapterImpl2$18_handleEvent0 = function($this, var$1) {
    $java.nlea_EaglerAdapterImpl2$18_handleEvent($this, var$1);
};
$java.nlea_EaglerAdapterImpl2$18_handleEvent$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$18_handleEvent0(var$0, var$1);
};
function nlea_EaglerAdapterImpl2$19() {
    jl_Object.call(this);
    this.$val$cb1 = null;
}
$java.nlea_EaglerAdapterImpl2$19_handleEvent = function($this, $evt) {
    var $b;
    $evt = null;
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_sock = $evt;
    if (nlea_EaglerAdapterImpl2_access$2600()) {
        if (nlea_EaglerAdapterImpl2_access$3100() === null) {
            if (ju_HashSet_contains(nlea_EaglerAdapterImpl2_access$3300(), nlea_EaglerAdapterImpl2_access$3200()))
                nlea_EaglerAdapterImpl2_access$3102(nlea_EaglerAdapterImpl2$RateLimit_LOCKED);
            else if (!ju_HashSet_contains(nlea_EaglerAdapterImpl2_access$3400(), nlea_EaglerAdapterImpl2_access$3200()))
                nlea_EaglerAdapterImpl2_access$3102($java.nlea_EaglerAdapterImpl2$RateLimit_FAILED);
            else
                nlea_EaglerAdapterImpl2_access$3102(nlea_EaglerAdapterImpl2$RateLimit_FAILED_POSSIBLY_LOCKED);
        }
    } else if (!nlea_EaglerAdapterImpl2_sockIsAlive && nlea_EaglerAdapterImpl2_access$3100() === null) {
        if (ju_HashSet_contains(nlea_EaglerAdapterImpl2_access$3300(), nlea_EaglerAdapterImpl2_access$3200()))
            nlea_EaglerAdapterImpl2_access$3102(nlea_EaglerAdapterImpl2$RateLimit_LOCKED);
        else if (ju_HashSet_contains(nlea_EaglerAdapterImpl2_access$3400(), nlea_EaglerAdapterImpl2_access$3200()))
            nlea_EaglerAdapterImpl2_access$3102(nlea_EaglerAdapterImpl2$RateLimit_BLOCKED);
    }
    $b = nlea_EaglerAdapterImpl2_access$2600();
    nlea_EaglerAdapterImpl2_access$2602(0);
    nlea_EaglerAdapterImpl2_access$2802(0);
    nlea_EaglerAdapterImpl2_access$2702(0);
    if ($b)
        otpp_AsyncCallbackWrapper_complete($this.$val$cb1, $rt_s(2791));
};
$java.nlea_EaglerAdapterImpl2$19_handleEvent0 = function($this, var$1) {
    $java.nlea_EaglerAdapterImpl2$19_handleEvent($this, var$1);
};
$java.nlea_EaglerAdapterImpl2$19_handleEvent$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$19_handleEvent0(var$0, var$1);
};
function nlea_EaglerAdapterImpl2$20() {
    jl_Object.call(this);
}
$java.nlea_EaglerAdapterImpl2$20__init_ = function() {
    var var_0 = new nlea_EaglerAdapterImpl2$20();
    nlea_EaglerAdapterImpl2$20__init_(var_0);
    return var_0;
};
function nlea_EaglerAdapterImpl2$20__init_($this) {
    return;
}
$java.nlea_EaglerAdapterImpl2$20_handleEvent = function($this, $evt) {
    var $a, $b, var$4, $i, var$6, $stat;
    nlea_EaglerAdapterImpl2_access$2702(1);
    if (!nlea_EaglerAdapterImpl2_access$3500($evt.data)) {
        $a = new Uint8Array($evt.data);
        $b = $rt_createByteArray($a.byteLength);
        var$4 = $b.data;
        $i = 0;
        var$6 = var$4.length;
        while ($i < var$6) {
            var$4[$i] = ($a[$i] & 255) << 24 >> 24;
            $i = $i + 1 | 0;
        }
        ju_AbstractList_add(nlea_EaglerAdapterImpl2_access$2900(), $b);
        return;
    }
    $stat = $rt_str($evt.data);
    if (jl_String_equalsIgnoreCase($stat, $rt_s(2802))) {
        if (nlea_EaglerAdapterImpl2_access$3100() === null)
            nlea_EaglerAdapterImpl2_access$3102(nlea_EaglerAdapterImpl2$RateLimit_BLOCKED);
        ju_HashSet_add(nlea_EaglerAdapterImpl2_access$3400(), nlea_EaglerAdapterImpl2_access$3200());
    } else if (jl_String_equalsIgnoreCase($stat, $rt_s(2804))) {
        if (nlea_EaglerAdapterImpl2_access$3100() === null)
            nlea_EaglerAdapterImpl2_access$3102(nlea_EaglerAdapterImpl2$RateLimit_NOW_LOCKED);
        ju_HashSet_add(nlea_EaglerAdapterImpl2_access$3400(), nlea_EaglerAdapterImpl2_access$3200());
        ju_HashSet_add(nlea_EaglerAdapterImpl2_access$3300(), nlea_EaglerAdapterImpl2_access$3200());
    }
    nlea_EaglerAdapterImpl2_access$2602(0);
    nlea_EaglerAdapterImpl2_access$2802(0);
    nlea_EaglerAdapterImpl2_sock.close();
};
$java.nlea_EaglerAdapterImpl2$20_handleEvent0 = function($this, var$1) {
    $java.nlea_EaglerAdapterImpl2$20_handleEvent($this, var$1);
};
$java.nlea_EaglerAdapterImpl2$20_handleEvent$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$20_handleEvent0(var$0, var$1);
};
function otjw_WebSocket() {
    jl_Object.call(this);
}
function jsms_MidiFileReader() {
    jl_Object.call(this);
}
function csms_JDK13Services() {
    jl_Object.call(this);
}
$java.csms_JDK13Services__init_ = function() {
    var var_0 = new csms_JDK13Services();
    csms_JDK13Services__init_(var_0);
    return var_0;
};
function csms_JDK13Services__init_(var$0) {
    return;
}
function jsss_MixerProvider() {
    jl_Object.call(this);
}
function csms_JSSecurityManager() {
    jl_Object.call(this);
}
$java.csms_JSSecurityManager__init_ = function() {
    var var_0 = new csms_JSSecurityManager();
    csms_JSSecurityManager__init_(var_0);
    return var_0;
};
function csms_JSSecurityManager__init_(var$0) {
    return;
}
$java.csms_JSSecurityManager_getProviders = function(var$1) {
    var var$2, var$3, var$4, var$5, $$je;
    jl_Object_monitorEnterSync($rt_cls(csms_JSSecurityManager));
    try {
        var$2 = ju_ArrayList__init_1(7);
        var$3 = new csms_JSSecurityManager$2;
        var$3.$val$providerClass = var$1;
        var$3 = var$3.$run1();
        var$4 = new csms_JSSecurityManager$3;
        var$4.$val$ps = var$3;
        while (var$4.$run1().$value14) {
            try {
                var$5 = $java.ju_ServiceLoader$1_next(var$3);
                if (jl_Class_isInstance(var$1, var$5))
                    ju_ArrayList_add0(var$2, 0, var$5);
                continue;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Throwable) {
                } else {
                    throw $$e;
                }
            }
        }
        return var$2;
    } finally {
        jl_Object_monitorExitSync($rt_cls(csms_JSSecurityManager));
    }
};
function jsss_FormatConversionProvider() {
    jl_Object.call(this);
}
function jsss_AudioFileReader() {
    jl_Object.call(this);
}
function jsss_AudioFileWriter() {
    jl_Object.call(this);
}
function jsms_MidiDeviceProvider() {
    jl_Object.call(this);
}
function jsms_SoundbankReader() {
    jl_Object.call(this);
}
function jsms_MidiFileWriter() {
    jl_Object.call(this);
}
function js_PrivilegedAction() {
}
function csms_JSSecurityManager$2() {
    jl_Object.call(this);
    this.$val$providerClass = null;
}
$java.csms_JSSecurityManager$2_run = function(var$0) {
    var var$1, var$2;
    var$1 = var$0.$val$providerClass;
    var$2 = new ju_ServiceLoader;
    var$2.$services = $java.ju_ServiceLoader_loadServices(var$1.$platformClass);
    return $java.ju_ServiceLoader_iterator(var$2);
};
$java.csms_JSSecurityManager$2_run0 = function(var$0) {
    return $java.csms_JSSecurityManager$2_run(var$0);
};
function js_AccessController() {
    jl_Object.call(this);
}
$java.js_AccessController__init_ = function() {
    var var_0 = new js_AccessController();
    js_AccessController__init_(var_0);
    return var_0;
};
function js_AccessController__init_($this) {
    return;
}
function csms_JSSecurityManager$3() {
    jl_Object.call(this);
    this.$val$ps = null;
}
$java.csms_JSSecurityManager$3_run = function(var$0) {
    return jl_Boolean_valueOf($java.ju_ServiceLoader$1_hasNext(var$0.$val$ps));
};
$java.csms_JSSecurityManager$3_run0 = function(var$0) {
    return $java.csms_JSSecurityManager$3_run(var$0);
};
function ju_Collections$10() {
    ju_AbstractList.call(this);
    this.$val$list = null;
}
$java.ju_Collections$10_get = function($this, $index) {
    return $this.$val$list.$get5($index);
};
$java.ju_Collections$10_size = function($this) {
    return $this.$val$list.$size0();
};
function oti_Structure() {
    jl_Object.call(this);
}
$java.oti_Structure__init_ = function() {
    var var_0 = new oti_Structure();
    oti_Structure__init_(var_0);
    return var_0;
};
function oti_Structure__init_($this) {
    return;
}
function otr_RuntimeObject() {
    oti_Structure.call(this);
}
$java.otr_RuntimeObject__init_ = function() {
    var var_0 = new otr_RuntimeObject();
    otr_RuntimeObject__init_(var_0);
    return var_0;
};
function otr_RuntimeObject__init_($this) {
    return;
}
function otp_PlatformClass() {
}
function otr_RuntimeClass() {
    otr_RuntimeObject.call(this);
}
$java.otr_RuntimeClass__init_ = function() {
    var var_0 = new otr_RuntimeClass();
    otr_RuntimeClass__init_(var_0);
    return var_0;
};
function otr_RuntimeClass__init_($this) {
    return;
}
function jlr_Field() {
    jlr_AccessibleObject.call(this);
}
function jlr_Constructor() {
    jlr_AccessibleObject.call(this);
}
function jl_ClassLoader() {
    jl_Object.call(this);
    this.$parent3 = null;
}
var jl_ClassLoader_systemClassLoader = null;
function jl_ClassLoader__clinit_() {
    jl_ClassLoader_systemClassLoader = $java.jl_SystemClassLoader__init_();
}
function jla_Annotation() {
}
function jl_Package() {
    jl_Object.call(this);
    this.$name2 = null;
}
var jl_Package_packages = null;
$java.jl_Package_getName = function($this) {
    return $this.$name2;
};
function jl_Package__clinit_() {
    jl_Package_packages = ju_HashMap__init_();
}
function jl_StackTraceElement() {
    jl_Object.call(this);
}
function otjc_JSError() {
    jl_Object.call(this);
}
function otjdx_Node() {
}
function otjdx_Document() {
}
function otjdh_HTMLDocument() {
}
function otjb_Screen() {
}
function otjb_Location() {
}
function otjb_History() {
}
function otjdx_Element() {
}
function otjdc_ElementCSSInlineStyle() {
}
function otjde_WheelEventTarget() {
}
function otjdh_HTMLElement() {
}
function otjb_AnimationFrameCallback() {
}
function otjb_WindowFeatures() {
    jl_Object.call(this);
    this.$sb0 = null;
}
$java.otjb_WindowFeatures__init_ = function() {
    var var_0 = new otjb_WindowFeatures();
    otjb_WindowFeatures__init_(var_0);
    return var_0;
};
function otjb_WindowFeatures__init_($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    $this.$sb0 = var$1;
}
function otjde_Event() {
}
function otjb_Storage() {
    jl_Object.call(this);
}
function otp_PlatformObject() {
}
function otpm_Resource() {
}
function otpm_StaticFieldResource() {
}
function oti_Address() {
    jl_Object.call(this);
}
$java.oti_Address__init_ = function() {
    var var_0 = new oti_Address();
    oti_Address__init_(var_0);
    return var_0;
};
function oti_Address__init_($this) {
    return;
}
function otp_PlatformString() {
}
function otjc_JSRegExp() {
    jl_Object.call(this);
}
function otjc_JSReplaceFunction() {
}
function otjde_MouseEvent() {
}
function otjde_KeyboardEvent() {
}
function otjw_WebGLRenderingContext() {
}
function nleat_WebGL2RenderingContext() {
}
function otjdh_HTMLMediaElement() {
}
function otjdh_HTMLVideoElement() {
}
function otjc_CanvasImageSource() {
}
function otjdh_HTMLImageElement() {
}
function otjdh_HTMLCanvasElement() {
}
function otjw_AudioBuffer() {
}
function nle_ServerQuery() {
}
function otjc_CanvasRenderingContext2D() {
}
function otjde_WheelEvent() {
}
function ju_Spliterator() {
}
function jus_BaseStream() {
}
function jus_Stream() {
}
function juf_Consumer() {
}
function juf_UnaryOperator() {
}
function otjw_AudioNode() {
}
function otjw_AudioDestinationNode() {
}
function otjw_AudioListener() {
}
function otjw_AudioBufferSourceNode() {
}
function otjw_MediaElementAudioSourceNode() {
}
function otjw_MediaStreamAudioSourceNode() {
}
function otjw_MediaStream() {
}
function otjw_MediaStreamAudioDestinationNode() {
}
function otjw_AudioWorker() {
}
function otjw_ScriptProcessorNode() {
}
function otjw_AnalyserNode() {
}
function otjw_GainNode() {
}
function otjw_DelayNode() {
}
function otjw_BiquadFilterNode() {
}
function otjw_IIRFilterNode() {
}
function otjw_WaveShaperNode() {
}
function otjw_PannerNode() {
}
function otjw_StereoPannerNode() {
}
function otjw_ConvolverNode() {
}
function otjw_ChannelSplitterNode() {
}
function otjw_ChannelMergerNode() {
}
function otjw_DynamicsCompressorNode() {
}
function otjw_OscillatorNode() {
}
function otjw_PeriodicWave() {
}
function otjw_PeriodicWaveConstraints() {
}
function juf_ToIntFunction() {
}
function juf_ToLongFunction() {
}
function juf_ToDoubleFunction() {
}
function juf_BiFunction() {
}
function jt_ParsePosition() {
    var a = this; jl_Object.call(a);
    a.$currentPosition = 0;
    a.$errorIndex = 0;
}
$java.jt_ParsePosition__init_ = function(var_0) {
    var var_1 = new jt_ParsePosition();
    $java.jt_ParsePosition__init_0(var_1, var_0);
    return var_1;
};
$java.jt_ParsePosition__init_0 = function($this, $index) {
    $this.$errorIndex = (-1);
    $this.$currentPosition = $index;
};
$java.jt_ParsePosition_getErrorIndex = function($this) {
    return $this.$errorIndex;
};
function jt_ParsePosition_getIndex($this) {
    return $this.$currentPosition;
}
function jt_ParsePosition_setErrorIndex($this, $index) {
    $this.$errorIndex = $index;
}
function jt_ParsePosition_setIndex($this, $index) {
    $this.$currentPosition = $index;
}
function jt_CharacterIterator() {
}
function jt_AttributedCharacterIterator() {
}
function nle_ServerQuery$QueryResponse() {
    var a = this; jl_Object.call(a);
    a.$responseType = null;
    a.$responseData = null;
    a.$serverVersion = null;
    a.$serverBrand = null;
    a.$serverName1 = null;
    a.$serverTime = Long_ZERO;
    a.$clientTime = Long_ZERO;
    a.$serverCracked = 0;
    a.$rateLimitStatus = null;
    a.$rateLimitIsTCP = 0;
}
$java.nle_ServerQuery$QueryResponse__init_ = function(var_0) {
    var var_1 = new nle_ServerQuery$QueryResponse();
    $java.nle_ServerQuery$QueryResponse__init_0(var_1, var_0);
    return var_1;
};
$java.nle_ServerQuery$QueryResponse__init_1 = function(var_0) {
    var var_1 = new nle_ServerQuery$QueryResponse();
    $java.nle_ServerQuery$QueryResponse__init_2(var_1, var_0);
    return var_1;
};
$java.nle_ServerQuery$QueryResponse__init_0 = function($this, $obj) {
    $this.$responseType = jl_String_toLowerCase($java.oj_JSONObject_getString($obj, $rt_s(2656)));
    if (!jl_String_equals($this.$responseType, $rt_s(3117)) && !jl_String_equals($this.$responseType, $rt_s(3118))) {
        $this.$responseData = $java.oj_JSONObject_get($obj, $rt_s(425));
        $this.$serverVersion = $java.oj_JSONObject_getString($obj, $rt_s(3119));
        $this.$serverBrand = $java.oj_JSONObject_getString($obj, $rt_s(3120));
        $this.$serverName1 = $java.oj_JSONObject_getString($obj, $rt_s(287));
        $this.$serverTime = $java.oj_JSONObject_getLong($obj, $rt_s(2682));
        $this.$clientTime = jl_System_currentTimeMillis();
        $this.$serverCracked = $java.oj_JSONObject_optBoolean($obj, $rt_s(2450), 0);
        $this.$rateLimitStatus = null;
        $this.$rateLimitIsTCP = 0;
    } else {
        $this.$responseData = null;
        $this.$serverVersion = $rt_s(2786);
        $this.$serverBrand = $rt_s(2786);
        $this.$serverName1 = $rt_s(2786);
        $this.$serverTime = Long_ZERO;
        $this.$clientTime = jl_System_currentTimeMillis();
        $this.$serverCracked = 0;
        $this.$rateLimitStatus = !jl_String_equals($this.$responseType, $rt_s(3118)) ? nlea_EaglerAdapterImpl2$RateLimit_BLOCKED : nlea_EaglerAdapterImpl2$RateLimit_LOCKED;
        $this.$rateLimitIsTCP = 0;
    }
};
$java.nle_ServerQuery$QueryResponse__init_2 = function($this, $lockedNotBlocked) {
    $this.$responseType = !$lockedNotBlocked ? $rt_s(3117) : $rt_s(3118);
    $this.$responseData = null;
    $this.$serverVersion = $rt_s(2786);
    $this.$serverBrand = $rt_s(2786);
    $this.$serverName1 = $rt_s(2786);
    $this.$serverTime = Long_ZERO;
    $this.$clientTime = jl_System_currentTimeMillis();
    $this.$serverCracked = 0;
    $this.$rateLimitStatus = !$lockedNotBlocked ? nlea_EaglerAdapterImpl2$RateLimit_BLOCKED : nlea_EaglerAdapterImpl2$RateLimit_LOCKED;
    $this.$rateLimitIsTCP = 1;
};
function nle_ServerQuery$QueryResponse_isResponseJSON($this) {
    return $this.$responseData instanceof oj_JSONObject;
}
function nle_ServerQuery$QueryResponse_getResponseJSON($this) {
    return $this.$responseData;
}
function ji_Console() {
    jl_Object.call(this);
}
$java.ji_Console__init_ = function() {
    var var_0 = new ji_Console();
    ji_Console__init_(var_0);
    return var_0;
};
function ji_Console__init_($this) {
    return;
}
function otr_RuntimeArray() {
    otr_RuntimeObject.call(this);
}
$java.otr_RuntimeArray__init_ = function() {
    var var_0 = new otr_RuntimeArray();
    otr_RuntimeArray__init_(var_0);
    return var_0;
};
function otr_RuntimeArray__init_($this) {
    return;
}
function otpm_StringResource() {
}
function otjw_WebGLTexture() {
}
function jn_ShortBuffer() {
    jn_Buffer.call(this);
}
function jn_LongBuffer() {
    jn_Buffer.call(this);
}
function jn_DoubleBuffer() {
    jn_Buffer.call(this);
}
function otjw_WebGLBuffer() {
}
function otjw_WebGLShader() {
}
function otjw_WebGLProgram() {
}
function otjw_WebGLUniformLocation() {
}
function nleat_WebGLVertexArray() {
}
function jus_IntStream() {
}
function jus_LongStream() {
}
function jus_DoubleStream() {
}
function juf_IntFunction() {
}
function juf_IntUnaryOperator() {
}
function juf_IntToLongFunction() {
}
function juf_IntToDoubleFunction() {
}
function cjj_JZlib$WrapperType() {
    jl_Enum.call(this);
}
$java.cjj_JZlib$WrapperType_NONE = null;
$java.cjj_JZlib$WrapperType_ZLIB = null;
$java.cjj_JZlib$WrapperType_GZIP = null;
$java.cjj_JZlib$WrapperType_ANY = null;
$java.cjj_JZlib$WrapperType_$VALUES = null;
function cjj_JZlib$WrapperType__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new cjj_JZlib$WrapperType;
    jl_Enum__init_0(var$1, $rt_s(76), 0);
    $java.cjj_JZlib$WrapperType_NONE = var$1;
    var$1 = new cjj_JZlib$WrapperType;
    jl_Enum__init_0(var$1, $rt_s(3121), 1);
    $java.cjj_JZlib$WrapperType_ZLIB = var$1;
    var$1 = new cjj_JZlib$WrapperType;
    jl_Enum__init_0(var$1, $rt_s(3122), 2);
    $java.cjj_JZlib$WrapperType_GZIP = var$1;
    var$1 = new cjj_JZlib$WrapperType;
    jl_Enum__init_0(var$1, $rt_s(3123), 3);
    $java.cjj_JZlib$WrapperType_ANY = var$1;
    var$2 = $rt_createArray(cjj_JZlib$WrapperType, 4);
    var$3 = var$2.data;
    var$3[0] = $java.cjj_JZlib$WrapperType_NONE;
    var$3[1] = $java.cjj_JZlib$WrapperType_ZLIB;
    var$3[2] = $java.cjj_JZlib$WrapperType_GZIP;
    var$3[3] = $java.cjj_JZlib$WrapperType_ANY;
    $java.cjj_JZlib$WrapperType_$VALUES = var$2;
}
function otpm_ResourceMap() {
}
function otpm_ResourceArray() {
}
function otciu_DateFormatCollection() {
}
function otciu_DecimalData() {
}
function otciu_CurrencyLocalization() {
}
function otcit_TimeZoneResource() {
}
function nms_WorldSettings() {
    var a = this; jl_Object.call(a);
    a.$seed0 = Long_ZERO;
    a.$theGameType0 = null;
    a.$mapFeaturesEnabled0 = 0;
    a.$hardcoreEnabled = 0;
    a.$terrainType0 = null;
    a.$commandsAllowed = 0;
    a.$field_82751_h = null;
}
$java.nms_WorldSettings__init_ = function(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_WorldSettings();
    $java.nms_WorldSettings__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
};
$java.nms_WorldSettings__init_0 = function($this, $par1, $par3EnumGameType, $par4, $par5, $par6WorldType) {
    $this.$field_82751_h = $rt_s(36);
    $this.$seed0 = $par1;
    $this.$theGameType0 = $par3EnumGameType;
    $this.$mapFeaturesEnabled0 = $par4;
    $this.$hardcoreEnabled = $par5;
    $this.$terrainType0 = $par6WorldType;
};
$java.nms_WorldSettings_getSeed = function($this) {
    return $this.$seed0;
};
$java.nms_WorldSettings_getGameType = function($this) {
    return $this.$theGameType0;
};
$java.nms_WorldSettings_getHardcoreEnabled = function($this) {
    return $this.$hardcoreEnabled;
};
$java.nms_WorldSettings_isMapFeaturesEnabled = function($this) {
    return $this.$mapFeaturesEnabled0;
};
$java.nms_WorldSettings_getTerrainType = function($this) {
    return $this.$terrainType0;
};
$java.nms_WorldSettings_areCommandsAllowed = function($this) {
    return $this.$commandsAllowed;
};
$java.nms_WorldSettings_func_82749_j = function($this) {
    return $this.$field_82751_h;
};
function nms_IChunkProvider() {
}
function nms_IUpdatePlayerListBox() {
}
function nms_EnumSkyBlock() {
    jl_Enum.call(this);
    this.$defaultLightValue = 0;
}
var nms_EnumSkyBlock_Sky = null;
var nms_EnumSkyBlock_Block = null;
$java.nms_EnumSkyBlock_$VALUES = null;
$java.nms_EnumSkyBlock__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_EnumSkyBlock();
    $java.nms_EnumSkyBlock__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_EnumSkyBlock__init_0 = function($this, var$1, var$2, $par3) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$defaultLightValue = $par3;
};
function nms_EnumSkyBlock__clinit_() {
    var var$1, var$2;
    nms_EnumSkyBlock_Sky = $java.nms_EnumSkyBlock__init_($rt_s(2696), 0, 15);
    nms_EnumSkyBlock_Block = $java.nms_EnumSkyBlock__init_($rt_s(3124), 1, 0);
    var$1 = $rt_createArray(nms_EnumSkyBlock, 2);
    var$2 = var$1.data;
    var$2[0] = nms_EnumSkyBlock_Sky;
    var$2[1] = nms_EnumSkyBlock_Block;
    $java.nms_EnumSkyBlock_$VALUES = var$1;
}
function nms_Explosion() {
    var a = this; jl_Object.call(a);
    a.$isFlaming = 0;
    a.$isSmoking = 0;
    a.$field_77289_h = 0;
    a.$explosionRNG = null;
    a.$worldObj10 = null;
    a.$explosionX0 = 0.0;
    a.$explosionY0 = 0.0;
    a.$explosionZ0 = 0.0;
    a.$exploder = null;
    a.$explosionSize0 = 0.0;
    a.$affectedBlockPositions = null;
    a.$field_77288_k = null;
}
function nms_Explosion__init_(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_Explosion();
    $java.nms_Explosion__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
}
$java.nms_Explosion__init_ = function($this, $par1World, $par2Entity, $par3, $par5, $par7, $par9) {
    $this.$isFlaming = 0;
    $this.$isSmoking = 1;
    $this.$field_77289_h = 16;
    $this.$explosionRNG = nle_EaglercraftRandom__init_0();
    $this.$affectedBlockPositions = ju_ArrayList__init_0();
    $this.$field_77288_k = ju_HashMap__init_();
    $this.$worldObj10 = $par1World;
    $this.$exploder = $par2Entity;
    $this.$explosionSize0 = $par9;
    $this.$explosionX0 = $par3;
    $this.$explosionY0 = $par5;
    $this.$explosionZ0 = $par7;
};
function nms_Explosion_doExplosionA($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var8, $var10, $var12, $var14, $var15, $var17, $var19, $var22, $var23, $var24, $var25, $var26, $var5_0, $var29, $var7, $var30, $var9, $var31, $var11, $var32, $var13, $var33, $var34, $var35, $var36, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var36 = $thread.pop();$var35 = $thread.pop();$var34 = $thread.pop();$var33 = $thread.pop();$var13 = $thread.pop();$var32 = $thread.pop();$var11 = $thread.pop();$var31 = $thread.pop();$var9 = $thread.pop();$var30 = $thread.pop();$var7 = $thread.pop();$var29 = $thread.pop();$var5_0 = $thread.pop();$var26 = $thread.pop();$var25 = $thread.pop();$var24 = $thread.pop();$var23 = $thread.pop();$var22 = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var15 = $thread.pop();$var14
        = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = $this.$explosionSize0;
        $var2 = ju_HashSet__init_0();
        $var3 = 0;
        while ($var3 < $this.$field_77289_h) {
            $var4 = 0;
            while ($var4 < $this.$field_77289_h) {
                $var5 = 0;
                while ($var5 < $this.$field_77289_h) {
                    a: {
                        if (!($var3 && $var3 != ($this.$field_77289_h - 1 | 0) && $var4 && $var4 != ($this.$field_77289_h - 1 | 0) && $var5 && $var5 != ($this.$field_77289_h - 1 | 0))) {
                            $var6 = $var3 / ($this.$field_77289_h - 1.0) * 2.0 - 1.0;
                            $var8 = $var4 / ($this.$field_77289_h - 1.0) * 2.0 - 1.0;
                            $var10 = $var5 / ($this.$field_77289_h - 1.0) * 2.0 - 1.0;
                            $var12 = jl_Math_sqrt($var6 * $var6 + $var8 * $var8 + $var10 * $var10);
                            $var6 = $var6 / $var12;
                            $var8 = $var8 / $var12;
                            $var10 = $var10 / $var12;
                            $var14 = $this.$explosionSize0 * (0.699999988079071 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand) * 0.6000000238418579);
                            $var15 = $this.$explosionX0;
                            $var17 = $this.$explosionY0;
                            $var19 = $this.$explosionZ0;
                            $var12 = $var6 * 0.30000001192092896;
                            $var8 = $var8 * 0.30000001192092896;
                            $var6 = $var10 * 0.30000001192092896;
                            while (true) {
                                if ($var14 <= 0.0)
                                    break a;
                                $var22 = nms_MathHelper_floor_double($var15);
                                $var23 = nms_MathHelper_floor_double($var17);
                                $var24 = nms_MathHelper_floor_double($var19);
                                $var25 = nms_World_getBlockId($this.$worldObj10, $var22, $var23, $var24);
                                if ($var25 > 0) {
                                    nms_Block_$callClinit();
                                    $var26 = nms_Block_blocksList.data[$var25];
                                    $var14 = $var14 - (($this.$exploder === null ? $var26.$getExplosionResistance($this.$exploder) : nms_Entity_func_82146_a($this.$exploder, $this, $this.$worldObj10, $var22, $var23, $var24, $var26)) + 0.30000001192092896) * 0.30000001192092896;
                                }
                                if ($var14 > 0.0 && !($this.$exploder !== null && !nms_Entity_func_96091_a($this.$exploder, $this, $this.$worldObj10, $var22, $var23, $var24, $var25, $var14)))
                                    ju_HashSet_add($var2, $java.nms_ChunkPosition__init_($var22, $var23, $var24));
                                $var15 = $var15 + $var12;
                                $var17 = $var17 + $var8;
                                $var19 = $var19 + $var6;
                                $var14 = $var14 - 0.22500000894069672;
                            }
                        }
                    }
                    $var5 = $var5 + 1 | 0;
                }
                $var4 = $var4 + 1 | 0;
            }
            $var3 = $var3 + 1 | 0;
        }
        ju_AbstractCollection_addAll($this.$affectedBlockPositions, $var2);
        $this.$explosionSize0 = $this.$explosionSize0 * 2.0;
        $var5 = nms_MathHelper_floor_double($this.$explosionX0 - $this.$explosionSize0 - 1.0);
        $var4 = nms_MathHelper_floor_double($this.$explosionX0 + $this.$explosionSize0 + 1.0);
        $var5_0 = nms_MathHelper_floor_double($this.$explosionY0 - $this.$explosionSize0 - 1.0);
        $var29 = nms_MathHelper_floor_double($this.$explosionY0 + $this.$explosionSize0 + 1.0);
        $var7 = nms_MathHelper_floor_double($this.$explosionZ0 - $this.$explosionSize0 - 1.0);
        $var30 = nms_MathHelper_floor_double($this.$explosionZ0 + $this.$explosionSize0 + 1.0);
        $var9 = nms_World_getEntitiesWithinAABBExcludingEntity($this.$worldObj10, $this.$exploder, nms_AABBPool_getAABB(nms_AxisAlignedBB_getAABBPool(), $var5, $var5_0, $var7, $var4, $var29, $var30));
        $var31 = nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj10), $this.$explosionX0, $this.$explosionY0, $this.$explosionZ0);
        $var11 = 0;
        while ($var11 < ju_ArrayList_size($var9)) {
            $var32 = ju_ArrayList_get($var9, $var11);
            $var13 = nms_Entity_getDistance($var32, $this.$explosionX0, $this.$explosionY0, $this.$explosionZ0) / $this.$explosionSize0;
            if ($var13 <= 1.0) {
                $var15 = $var32.$posX - $this.$explosionX0;
                $var17 = $var32.$posY + $var32.$getEyeHeight() - $this.$explosionY0;
                $var19 = $var32.$posZ - $this.$explosionZ0;
                $var33 = nms_MathHelper_sqrt_double($var15 * $var15 + $var17 * $var17 + $var19 * $var19);
                if ($var33 !== 0.0) {
                    $var6 = $var15 / $var33;
                    $var8 = $var17 / $var33;
                    $var10 = $var19 / $var33;
                    $var2 = $this.$worldObj10;
                    $var26 = $var32.$boundingBox;
                    $ptr = 1;
                    continue main;
                }
            }
            $var11 = $var11 + 1 | 0;
        }
        $this.$explosionSize0 = $var1;
        return;
    case 1:
        $tmp = nms_World_getBlockDensity($var2, $var31, $var26);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $tmp;
        $var34 = $var14;
        $var35 = (1.0 - $var13) * $var34;
        $var2 = $java.nms_DamageSource_setExplosionSource($this);
        $var5 = ($var35 * $var35 + $var35) / 2.0 * 8.0 * $this.$explosionSize0 + 1.0 | 0;
        $ptr = 2;
    case 2:
        $var32.$attackEntityFrom($var2, $var5);
        if ($rt_suspending()) {
            break main;
        }
        $var36 = $java.nms_EnchantmentProtection_func_92092_a($var32, $var35);
        $var32.$motionX = $var32.$motionX + $var6 * $var36;
        $var32.$motionY = $var32.$motionY + $var8 * $var36;
        $var32.$motionZ = $var32.$motionZ + $var10 * $var36;
        if ($var32 instanceof nms_EntityPlayer)
            ju_HashMap_put($this.$field_77288_k, $var32, nms_Vec3Pool_getVecFromPool(nms_World_getWorldVec3Pool($this.$worldObj10), $var6 * $var35, $var8 * $var35, $var10 * $var35));
        while (true) {
            $var11 = $var11 + 1 | 0;
            if ($var11 >= ju_ArrayList_size($var9))
                break;
            $var32 = ju_ArrayList_get($var9, $var11);
            $var13 = nms_Entity_getDistance($var32, $this.$explosionX0, $this.$explosionY0, $this.$explosionZ0) / $this.$explosionSize0;
            if ($var13 > 1.0)
                continue;
            $var15 = $var32.$posX - $this.$explosionX0;
            $var17 = $var32.$posY + $var32.$getEyeHeight() - $this.$explosionY0;
            $var19 = $var32.$posZ - $this.$explosionZ0;
            $var33 = nms_MathHelper_sqrt_double($var15 * $var15 + $var17 * $var17 + $var19 * $var19);
            if ($var33 === 0.0)
                continue;
            else {
                $var6 = $var15 / $var33;
                $var8 = $var17 / $var33;
                $var10 = $var19 / $var33;
                $var2 = $this.$worldObj10;
                $var26 = $var32.$boundingBox;
                $ptr = 1;
                continue main;
            }
        }
        $this.$explosionSize0 = $var1;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, $var5, $var6, $var8, $var10, $var12, $var14, $var15, $var17, $var19, $var22, $var23, $var24, $var25, $var26, $var5_0, $var29, $var7, $var30, $var9, $var31, $var11, $var32, $var13, $var33, $var34, $var35, $var36, $ptr);
}
function nms_Explosion_doExplosionB($this, $par1) {
    var $var2, $var3, $var14, $var16, $var22, $var18, $var20, var$9, $var4, $var5, $var6, $var7, $var8, $var10, $var12, $var24, var$18, $var25, var$20, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$20 = $thread.pop();$var25 = $thread.pop();var$18 = $thread.pop();$var24 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$9 = $thread.pop();$var20 = $thread.pop();$var18 = $thread.pop();$var22 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_World_playSoundEffect($this.$worldObj10, $this.$explosionX0, $this.$explosionY0, $this.$explosionZ0, $rt_s(1881), 4.0, (1.0 + (nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand) - nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand)) * 0.20000000298023224) * 0.699999988079071);
        if ($this.$explosionSize0 >= 2.0 && $this.$isSmoking) {
            $var2 = $this.$worldObj10;
            $var3 = $rt_s(1158);
            $var14 = $this.$explosionX0;
            $var16 = $this.$explosionY0;
            $var22 = $this.$explosionZ0;
            $var18 = 1.0;
            $var20 = 0.0;
            var$9 = 0.0;
            $ptr = 2;
            continue main;
        }
        $var2 = $this.$worldObj10;
        $var3 = $rt_s(1159);
        $var16 = $this.$explosionX0;
        $var22 = $this.$explosionY0;
        $var18 = $this.$explosionZ0;
        $var20 = 1.0;
        var$9 = 0.0;
        $var14 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle($var2, $var3, $var16, $var22, $var18, $var20, var$9, $var14);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            if ($this.$isSmoking) {
                $var2 = ju_AbstractList_iterator($this.$affectedBlockPositions);
                while (true) {
                    if (!ju_AbstractList$1_hasNext($var2))
                        break a;
                    $var3 = ju_AbstractList$1_next($var2);
                    $var4 = $var3.$x6;
                    $var5 = $var3.$y5;
                    $var6 = $var3.$z6;
                    $var7 = nms_World_getBlockId($this.$worldObj10, $var4, $var5, $var6);
                    if ($par1) {
                        $var8 = $var4 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                        $var10 = $var5 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                        $var12 = $var6 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                        $var14 = $var8 - $this.$explosionX0;
                        $var16 = $var10 - $this.$explosionY0;
                        $var18 = $var12 - $this.$explosionZ0;
                        $var20 = nms_MathHelper_sqrt_double($var14 * $var14 + $var16 * $var16 + $var18 * $var18);
                        var$9 = $var14 / $var20;
                        $var14 = $var16 / $var20;
                        $var16 = $var18 / $var20;
                        $var22 = 0.5 / ($var20 / $this.$explosionSize0 + 0.1) * (nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand) * nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand) + 0.30000001192092896);
                        $var18 = var$9 * $var22;
                        $var14 = $var14 * $var22;
                        $var16 = $var16 * $var22;
                        $var3 = $this.$worldObj10;
                        $var24 = $rt_s(1025);
                        $var22 = ($var8 + $this.$explosionX0 * 1.0) / 2.0;
                        var$18 = ($var10 + $this.$explosionY0 * 1.0) / 2.0;
                        $var20 = ($var12 + $this.$explosionZ0 * 1.0) / 2.0;
                        $ptr = 3;
                        continue main;
                    }
                    if ($var7 <= 0)
                        continue;
                    else
                        break;
                }
                nms_Block_$callClinit();
                $var24 = nms_Block_blocksList.data[$var7];
                if ($var24.$canDropFromExplosion($this))
                    $var24.$dropBlockAsItemWithChance($this.$worldObj10, $var4, $var5, $var6, nms_World_getBlockMetadata($this.$worldObj10, $var4, $var5, $var6), 1.0 / $this.$explosionSize0, 0);
                $var3 = $this.$worldObj10;
                $var7 = 0;
                $var25 = 0;
                var$20 = 3;
                $ptr = 5;
                continue main;
            }
        }
        b: {
            if ($this.$isFlaming) {
                $var2 = ju_AbstractList_iterator($this.$affectedBlockPositions);
                while (true) {
                    if (!ju_AbstractList$1_hasNext($var2))
                        break b;
                    $var3 = ju_AbstractList$1_next($var2);
                    $var4 = $var3.$x6;
                    $var5 = $var3.$y5;
                    $var6 = $var3.$z6;
                    $var7 = nms_World_getBlockId($this.$worldObj10, $var4, $var5, $var6);
                    $var25 = nms_World_getBlockId($this.$worldObj10, $var4, $var5 - 1 | 0, $var6);
                    if (!$var7) {
                        nms_Block_$callClinit();
                        if (nms_Block_opaqueCubeLookup.data[$var25] && !nle_EaglercraftRandom_nextInt($this.$explosionRNG, 3)) {
                            $var3 = $this.$worldObj10;
                            $par1 = nms_Block_fire.$blockID;
                            $ptr = 6;
                            continue main;
                        }
                    }
                }
            }
        }
        return;
    case 2:
        nms_World_spawnParticle($var2, $var3, $var14, $var16, $var22, $var18, $var20, var$9);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            if ($this.$isSmoking) {
                $var2 = ju_AbstractList_iterator($this.$affectedBlockPositions);
                while (true) {
                    if (!ju_AbstractList$1_hasNext($var2))
                        break a;
                    $var3 = ju_AbstractList$1_next($var2);
                    $var4 = $var3.$x6;
                    $var5 = $var3.$y5;
                    $var6 = $var3.$z6;
                    $var7 = nms_World_getBlockId($this.$worldObj10, $var4, $var5, $var6);
                    if ($par1) {
                        $var8 = $var4 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                        $var10 = $var5 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                        $var12 = $var6 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                        $var14 = $var8 - $this.$explosionX0;
                        $var16 = $var10 - $this.$explosionY0;
                        $var18 = $var12 - $this.$explosionZ0;
                        $var20 = nms_MathHelper_sqrt_double($var14 * $var14 + $var16 * $var16 + $var18 * $var18);
                        var$9 = $var14 / $var20;
                        $var14 = $var16 / $var20;
                        $var16 = $var18 / $var20;
                        $var22 = 0.5 / ($var20 / $this.$explosionSize0 + 0.1) * (nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand) * nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand) + 0.30000001192092896);
                        $var18 = var$9 * $var22;
                        $var14 = $var14 * $var22;
                        $var16 = $var16 * $var22;
                        $var3 = $this.$worldObj10;
                        $var24 = $rt_s(1025);
                        $var22 = ($var8 + $this.$explosionX0 * 1.0) / 2.0;
                        var$18 = ($var10 + $this.$explosionY0 * 1.0) / 2.0;
                        $var20 = ($var12 + $this.$explosionZ0 * 1.0) / 2.0;
                        $ptr = 3;
                        continue main;
                    }
                    if ($var7 <= 0)
                        continue;
                    else
                        break;
                }
                nms_Block_$callClinit();
                $var24 = nms_Block_blocksList.data[$var7];
                if ($var24.$canDropFromExplosion($this))
                    $var24.$dropBlockAsItemWithChance($this.$worldObj10, $var4, $var5, $var6, nms_World_getBlockMetadata($this.$worldObj10, $var4, $var5, $var6), 1.0 / $this.$explosionSize0, 0);
                $var3 = $this.$worldObj10;
                $var7 = 0;
                $var25 = 0;
                var$20 = 3;
                $ptr = 5;
                continue main;
            }
        }
        b: {
            if ($this.$isFlaming) {
                $var2 = ju_AbstractList_iterator($this.$affectedBlockPositions);
                while (true) {
                    if (!ju_AbstractList$1_hasNext($var2))
                        break b;
                    $var3 = ju_AbstractList$1_next($var2);
                    $var4 = $var3.$x6;
                    $var5 = $var3.$y5;
                    $var6 = $var3.$z6;
                    $var7 = nms_World_getBlockId($this.$worldObj10, $var4, $var5, $var6);
                    $var25 = nms_World_getBlockId($this.$worldObj10, $var4, $var5 - 1 | 0, $var6);
                    if (!$var7) {
                        nms_Block_$callClinit();
                        if (nms_Block_opaqueCubeLookup.data[$var25] && !nle_EaglercraftRandom_nextInt($this.$explosionRNG, 3)) {
                            $var3 = $this.$worldObj10;
                            $par1 = nms_Block_fire.$blockID;
                            $ptr = 6;
                            continue main;
                        }
                    }
                }
            }
        }
        return;
    case 3:
        nms_World_spawnParticle($var3, $var24, $var22, var$18, $var20, $var18, $var14, $var16);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $this.$worldObj10;
        $var24 = $rt_s(1166);
        $ptr = 4;
    case 4:
        nms_World_spawnParticle($var3, $var24, $var8, $var10, $var12, $var18, $var14, $var16);
        if ($rt_suspending()) {
            break main;
        }
        while ($var7 <= 0) {
            if (!ju_AbstractList$1_hasNext($var2)) {
                b: {
                    if ($this.$isFlaming) {
                        $var2 = ju_AbstractList_iterator($this.$affectedBlockPositions);
                        while (true) {
                            if (!ju_AbstractList$1_hasNext($var2))
                                break b;
                            $var3 = ju_AbstractList$1_next($var2);
                            $var4 = $var3.$x6;
                            $var5 = $var3.$y5;
                            $var6 = $var3.$z6;
                            $var7 = nms_World_getBlockId($this.$worldObj10, $var4, $var5, $var6);
                            $var25 = nms_World_getBlockId($this.$worldObj10, $var4, $var5 - 1 | 0, $var6);
                            if (!$var7) {
                                nms_Block_$callClinit();
                                if (nms_Block_opaqueCubeLookup.data[$var25] && !nle_EaglercraftRandom_nextInt($this.$explosionRNG, 3)) {
                                    $var3 = $this.$worldObj10;
                                    $par1 = nms_Block_fire.$blockID;
                                    $ptr = 6;
                                    continue main;
                                }
                            }
                        }
                    }
                }
                return;
            }
            $var3 = ju_AbstractList$1_next($var2);
            $var4 = $var3.$x6;
            $var5 = $var3.$y5;
            $var6 = $var3.$z6;
            $var7 = nms_World_getBlockId($this.$worldObj10, $var4, $var5, $var6);
            if (!$par1)
                continue;
            else {
                $var8 = $var4 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                $var10 = $var5 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                $var12 = $var6 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                $var14 = $var8 - $this.$explosionX0;
                $var16 = $var10 - $this.$explosionY0;
                $var18 = $var12 - $this.$explosionZ0;
                $var20 = nms_MathHelper_sqrt_double($var14 * $var14 + $var16 * $var16 + $var18 * $var18);
                var$9 = $var14 / $var20;
                $var14 = $var16 / $var20;
                $var16 = $var18 / $var20;
                $var22 = 0.5 / ($var20 / $this.$explosionSize0 + 0.1) * (nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand) * nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand) + 0.30000001192092896);
                $var18 = var$9 * $var22;
                $var14 = $var14 * $var22;
                $var16 = $var16 * $var22;
                $var3 = $this.$worldObj10;
                $var24 = $rt_s(1025);
                $var22 = ($var8 + $this.$explosionX0 * 1.0) / 2.0;
                var$18 = ($var10 + $this.$explosionY0 * 1.0) / 2.0;
                $var20 = ($var12 + $this.$explosionZ0 * 1.0) / 2.0;
                $ptr = 3;
                continue main;
            }
        }
        nms_Block_$callClinit();
        $var24 = nms_Block_blocksList.data[$var7];
        if ($var24.$canDropFromExplosion($this))
            $var24.$dropBlockAsItemWithChance($this.$worldObj10, $var4, $var5, $var6, nms_World_getBlockMetadata($this.$worldObj10, $var4, $var5, $var6), 1.0 / $this.$explosionSize0, 0);
        $var3 = $this.$worldObj10;
        $var7 = 0;
        $var25 = 0;
        var$20 = 3;
        $ptr = 5;
    case 5:
        nms_World_setBlock($var3, $var4, $var5, $var6, $var7, $var25, var$20);
        if ($rt_suspending()) {
            break main;
        }
        $var24.$onBlockDestroyedByExplosion($this.$worldObj10, $var4, $var5, $var6, $this);
        while (true) {
            if (!ju_AbstractList$1_hasNext($var2)) {
                b: {
                    if ($this.$isFlaming) {
                        $var2 = ju_AbstractList_iterator($this.$affectedBlockPositions);
                        while (true) {
                            if (!ju_AbstractList$1_hasNext($var2))
                                break b;
                            $var3 = ju_AbstractList$1_next($var2);
                            $var4 = $var3.$x6;
                            $var5 = $var3.$y5;
                            $var6 = $var3.$z6;
                            $var7 = nms_World_getBlockId($this.$worldObj10, $var4, $var5, $var6);
                            $var25 = nms_World_getBlockId($this.$worldObj10, $var4, $var5 - 1 | 0, $var6);
                            if (!$var7) {
                                nms_Block_$callClinit();
                                if (nms_Block_opaqueCubeLookup.data[$var25] && !nle_EaglercraftRandom_nextInt($this.$explosionRNG, 3)) {
                                    $var3 = $this.$worldObj10;
                                    $par1 = nms_Block_fire.$blockID;
                                    $ptr = 6;
                                    continue main;
                                }
                            }
                        }
                    }
                }
                return;
            }
            $var3 = ju_AbstractList$1_next($var2);
            $var4 = $var3.$x6;
            $var5 = $var3.$y5;
            $var6 = $var3.$z6;
            $var7 = nms_World_getBlockId($this.$worldObj10, $var4, $var5, $var6);
            if ($par1) {
                $var8 = $var4 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                $var10 = $var5 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                $var12 = $var6 + nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand);
                $var14 = $var8 - $this.$explosionX0;
                $var16 = $var10 - $this.$explosionY0;
                $var18 = $var12 - $this.$explosionZ0;
                $var20 = nms_MathHelper_sqrt_double($var14 * $var14 + $var16 * $var16 + $var18 * $var18);
                var$9 = $var14 / $var20;
                $var14 = $var16 / $var20;
                $var16 = $var18 / $var20;
                $var22 = 0.5 / ($var20 / $this.$explosionSize0 + 0.1) * (nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand) * nle_EaglercraftRandom_nextFloat($this.$worldObj10.$rand) + 0.30000001192092896);
                $var18 = var$9 * $var22;
                $var14 = $var14 * $var22;
                $var16 = $var16 * $var22;
                $var3 = $this.$worldObj10;
                $var24 = $rt_s(1025);
                $var22 = ($var8 + $this.$explosionX0 * 1.0) / 2.0;
                var$18 = ($var10 + $this.$explosionY0 * 1.0) / 2.0;
                $var20 = ($var12 + $this.$explosionZ0 * 1.0) / 2.0;
                $ptr = 3;
                continue main;
            }
            if ($var7 <= 0)
                continue;
            else
                break;
        }
        nms_Block_$callClinit();
        $var24 = nms_Block_blocksList.data[$var7];
        if ($var24.$canDropFromExplosion($this))
            $var24.$dropBlockAsItemWithChance($this.$worldObj10, $var4, $var5, $var6, nms_World_getBlockMetadata($this.$worldObj10, $var4, $var5, $var6), 1.0 / $this.$explosionSize0, 0);
        $var3 = $this.$worldObj10;
        $var7 = 0;
        $var25 = 0;
        var$20 = 3;
        continue main;
    case 6:
        nms_World_setBlock0($var3, $var4, $var5, $var6, $par1);
        if ($rt_suspending()) {
            break main;
        }
        while (ju_AbstractList$1_hasNext($var2)) {
            $var3 = ju_AbstractList$1_next($var2);
            $var4 = $var3.$x6;
            $var5 = $var3.$y5;
            $var6 = $var3.$z6;
            $var7 = nms_World_getBlockId($this.$worldObj10, $var4, $var5, $var6);
            $var25 = nms_World_getBlockId($this.$worldObj10, $var4, $var5 - 1 | 0, $var6);
            if ($var7)
                continue;
            nms_Block_$callClinit();
            if (!nms_Block_opaqueCubeLookup.data[$var25])
                continue;
            if (nle_EaglercraftRandom_nextInt($this.$explosionRNG, 3))
                continue;
            else {
                $var3 = $this.$worldObj10;
                $par1 = nms_Block_fire.$blockID;
                continue main;
            }
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $var2, $var3, $var14, $var16, $var22, $var18, $var20, var$9, $var4, $var5, $var6, $var7, $var8, $var10, $var12, $var24, var$18, $var25, var$20, $ptr);
}
$java.nms_Explosion_func_94613_c = function($this) {
    return $this.$exploder === null ? null : $this.$exploder instanceof nms_EntityTNTPrimed ? $this.$exploder.$getTntPlacedBy() : !($this.$exploder instanceof nms_EntityLiving) ? null : $this.$exploder;
};
function nms_PathEntity() {
    var a = this; jl_Object.call(a);
    a.$points = null;
    a.$currentPathIndex = 0;
    a.$pathLength = 0;
}
function nms_PathEntity_incrementPathIndex($this) {
    $this.$currentPathIndex = $this.$currentPathIndex + 1 | 0;
}
function nms_PathEntity_isFinished($this) {
    return $this.$currentPathIndex < $this.$pathLength ? 0 : 1;
}
$java.nms_PathEntity_getVectorFromIndex = function($this, $par1Entity, $par2) {
    var $var3, $var5, $var7;
    $var3 = $this.$points.data[$par2].$xCoord2 + ($par1Entity.$width0 + 1.0 | 0) * 0.5;
    $var5 = $this.$points.data[$par2].$yCoord2;
    $var7 = $this.$points.data[$par2].$zCoord2 + ($par1Entity.$width0 + 1.0 | 0) * 0.5;
    return nms_Vec3Pool_getVecFromPool($par1Entity.$worldObj.$vecPool, $var3, $var5, $var7);
};
function nms_PathEntity_getPosition($this, $par1Entity) {
    return $java.nms_PathEntity_getVectorFromIndex($this, $par1Entity, $this.$currentPathIndex);
}
function nms_GameRules() {
    jl_Object.call(this);
    this.$theGameRules0 = null;
}
function nms_GameRules__init_0() {
    var var_0 = new nms_GameRules();
    nms_GameRules__init_(var_0);
    return var_0;
}
function nms_GameRules__init_($this) {
    $this.$theGameRules0 = ju_TreeMap__init_0();
    $java.nms_GameRules_addGameRule($this, $rt_s(3125), $rt_s(2532));
    $java.nms_GameRules_addGameRule($this, $rt_s(1695), $rt_s(2532));
    $java.nms_GameRules_addGameRule($this, $rt_s(1054), $rt_s(2535));
    $java.nms_GameRules_addGameRule($this, $rt_s(3126), $rt_s(2532));
    $java.nms_GameRules_addGameRule($this, $rt_s(3127), $rt_s(2532));
    $java.nms_GameRules_addGameRule($this, $rt_s(3128), $rt_s(2532));
    $java.nms_GameRules_addGameRule($this, $rt_s(3129), $rt_s(2532));
}
$java.nms_GameRules_addGameRule = function($this, $par1Str, $par2Str) {
    var var$3, var$4;
    var$3 = $this.$theGameRules0;
    var$4 = new nms_GameRuleValue;
    $java.nms_GameRuleValue_setValue(var$4, $par2Str);
    ju_TreeMap_put(var$3, $par1Str, var$4);
};
function nms_GameRules_getGameRuleBooleanValue($this, $par1Str) {
    var $var2;
    $var2 = $java.ju_TreeMap_get($this.$theGameRules0, $par1Str);
    return $var2 === null ? 0 : $var2.$valueBoolean;
}
function nms_EnumStatus() {
    jl_Enum.call(this);
}
var nms_EnumStatus_OK = null;
$java.nms_EnumStatus_NOT_POSSIBLE_HERE = null;
$java.nms_EnumStatus_NOT_POSSIBLE_NOW = null;
$java.nms_EnumStatus_TOO_FAR_AWAY = null;
$java.nms_EnumStatus_OTHER_PROBLEM = null;
$java.nms_EnumStatus_NOT_SAFE = null;
$java.nms_EnumStatus_$VALUES = null;
function nms_EnumStatus__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nms_EnumStatus;
    jl_Enum__init_0(var$1, $rt_s(3130), 0);
    nms_EnumStatus_OK = var$1;
    var$1 = new nms_EnumStatus;
    jl_Enum__init_0(var$1, $rt_s(3131), 1);
    $java.nms_EnumStatus_NOT_POSSIBLE_HERE = var$1;
    var$1 = new nms_EnumStatus;
    jl_Enum__init_0(var$1, $rt_s(3132), 2);
    $java.nms_EnumStatus_NOT_POSSIBLE_NOW = var$1;
    var$1 = new nms_EnumStatus;
    jl_Enum__init_0(var$1, $rt_s(3133), 3);
    $java.nms_EnumStatus_TOO_FAR_AWAY = var$1;
    var$1 = new nms_EnumStatus;
    jl_Enum__init_0(var$1, $rt_s(3134), 4);
    $java.nms_EnumStatus_OTHER_PROBLEM = var$1;
    var$1 = new nms_EnumStatus;
    jl_Enum__init_0(var$1, $rt_s(3135), 5);
    $java.nms_EnumStatus_NOT_SAFE = var$1;
    var$2 = $rt_createArray(nms_EnumStatus, 6);
    var$3 = var$2.data;
    var$3[0] = nms_EnumStatus_OK;
    var$3[1] = $java.nms_EnumStatus_NOT_POSSIBLE_HERE;
    var$3[2] = $java.nms_EnumStatus_NOT_POSSIBLE_NOW;
    var$3[3] = $java.nms_EnumStatus_TOO_FAR_AWAY;
    var$3[4] = $java.nms_EnumStatus_OTHER_PROBLEM;
    var$3[5] = $java.nms_EnumStatus_NOT_SAFE;
    $java.nms_EnumStatus_$VALUES = var$2;
}
function nms_InventoryEnderChest() {
    nms_InventoryBasic.call(this);
}
function nms_InventoryEnderChest__init_0() {
    var var_0 = new nms_InventoryEnderChest();
    nms_InventoryEnderChest__init_(var_0);
    return var_0;
}
function nms_InventoryEnderChest__init_($this) {
    nms_InventoryBasic__init_($this, $rt_s(3136), 0, 27);
}
function nms_EntityLookHelper() {
    var a = this; jl_Object.call(a);
    a.$entity = null;
    a.$deltaLookYaw = 0.0;
    a.$deltaLookPitch = 0.0;
    a.$isLooking = 0;
    a.$posX13 = 0.0;
    a.$posY13 = 0.0;
    a.$posZ11 = 0.0;
}
function nms_EntityLookHelper_onUpdateLook($this) {
    var $var1, $var3, $var5, $var7, $var9, $var10;
    $this.$entity.$rotationPitch = 0.0;
    if (!$this.$isLooking)
        $this.$entity.$rotationYawHead = $java.nms_EntityLookHelper_updateRotation($this, $this.$entity.$rotationYawHead, $this.$entity.$renderYawOffset, 10.0);
    else {
        $this.$isLooking = 0;
        $var1 = $this.$posX13 - $this.$entity.$posX;
        $var3 = $this.$posY13 - ($this.$entity.$posY + $this.$entity.$getEyeHeight());
        $var5 = $this.$posZ11 - $this.$entity.$posZ;
        $var7 = nms_MathHelper_sqrt_double($var1 * $var1 + $var5 * $var5);
        $var9 = jl_Math_atan2($var5, $var1) * 180.0 / 3.141592653589793 - 90.0;
        $var10 =  -(jl_Math_atan2($var3, $var7) * 180.0 / 3.141592653589793);
        $this.$entity.$rotationPitch = $java.nms_EntityLookHelper_updateRotation($this, $this.$entity.$rotationPitch, $var10, $this.$deltaLookPitch);
        $this.$entity.$rotationYawHead = $java.nms_EntityLookHelper_updateRotation($this, $this.$entity.$rotationYawHead, $var9, $this.$deltaLookYaw);
    }
    nms_MathHelper_wrapAngleTo180_float($this.$entity.$rotationYawHead - $this.$entity.$renderYawOffset);
}
$java.nms_EntityLookHelper_updateRotation = function($this, $par1, $par2, $par3) {
    var $var4;
    $var4 = nms_MathHelper_wrapAngleTo180_float($par2 - $par1);
    if ($var4 > $par3)
        $var4 = $par3;
    $par2 =  -$par3;
    if ($var4 >= $par2)
        $par2 = $var4;
    return $par1 + $par2;
};
function nms_EntityMoveHelper() {
    var a = this; jl_Object.call(a);
    a.$entity0 = null;
    a.$posX0 = 0.0;
    a.$posY0 = 0.0;
    a.$posZ0 = 0.0;
    a.$speed = 0.0;
    a.$update2 = 0;
}
$java.nms_EntityMoveHelper_isUpdating = function($this) {
    return $this.$update2;
};
$java.nms_EntityMoveHelper_getSpeed = function($this) {
    return $this.$speed;
};
function nms_EntityMoveHelper_onUpdateMoveHelper($this) {
    var $var1, $var2, $var4, $var6, var$5, $var8, var$7, $var10, var$9, var$10, var$11;
    $this.$entity0.$moveForward = 0.0;
    if ($this.$update2) {
        $this.$update2 = 0;
        $var1 = nms_MathHelper_floor_double($this.$entity0.$boundingBox.$minY + 0.5);
        $var2 = $this.$posX0 - $this.$entity0.$posX;
        $var4 = $this.$posZ0 - $this.$entity0.$posZ;
        $var6 = $this.$posY0 - $var1;
        var$5 = $var2 * $var2;
        $var8 = var$5 + $var6 * $var6;
        var$7 = $var4 * $var4;
        if ($var8 + var$7 >= 2.500000277905201E-7) {
            $var10 = jl_Math_atan2($var4, $var2) * 180.0 / 3.141592653589793 - 90.0;
            var$9 = $this.$entity0;
            var$10 = $this.$entity0.$rotationYaw;
            var$11 = 30.0;
            $var10 = nms_MathHelper_wrapAngleTo180_float($var10 - var$10);
            if ($var10 <= var$11)
                var$11 = $var10;
            $var10 = (-30.0);
            if (var$11 >= $var10)
                $var10 = var$11;
            var$9.$rotationYaw = var$10 + $var10;
            nms_EntityLiving_setAIMoveSpeed($this.$entity0, $this.$speed * $this.$entity0.$getSpeedModifier());
            if ($var6 > 0.0 && var$5 + var$7 < 1.0)
                $java.nms_EntityJumpHelper_setJumping($this.$entity0.$jumpHelper);
        }
    }
}
function nms_EntityJumpHelper() {
    var a = this; jl_Object.call(a);
    a.$entity1 = null;
    a.$isJumping0 = 0;
}
$java.nms_EntityJumpHelper_setJumping = function($this) {
    $this.$isJumping0 = 1;
};
function nms_EntityJumpHelper_doJump($this) {
    $this.$entity1.$isJumping = $this.$isJumping0;
    $this.$isJumping0 = 0;
}
function nms_EntitySenses() {
    var a = this; jl_Object.call(a);
    a.$entityObj = null;
    a.$seenEntities = null;
    a.$unseenEntities = null;
}
function nms_EntitySenses_clearSensingCache($this) {
    ju_ArrayList_clear($this.$seenEntities);
    ju_ArrayList_clear($this.$unseenEntities);
}
function nms_EnumCreatureAttribute() {
    jl_Enum.call(this);
}
var nms_EnumCreatureAttribute_UNDEFINED = null;
var nms_EnumCreatureAttribute_UNDEAD = null;
var nms_EnumCreatureAttribute_ARTHROPOD = null;
$java.nms_EnumCreatureAttribute_$VALUES = null;
function nms_EnumCreatureAttribute__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new nms_EnumCreatureAttribute;
    jl_Enum__init_0(var$1, $rt_s(3137), 0);
    nms_EnumCreatureAttribute_UNDEFINED = var$1;
    var$1 = new nms_EnumCreatureAttribute;
    jl_Enum__init_0(var$1, $rt_s(3138), 1);
    nms_EnumCreatureAttribute_UNDEAD = var$1;
    var$1 = new nms_EnumCreatureAttribute;
    jl_Enum__init_0(var$1, $rt_s(3139), 2);
    nms_EnumCreatureAttribute_ARTHROPOD = var$1;
    var$2 = $rt_createArray(nms_EnumCreatureAttribute, 3);
    var$3 = var$2.data;
    var$3[0] = nms_EnumCreatureAttribute_UNDEFINED;
    var$3[1] = nms_EnumCreatureAttribute_UNDEAD;
    var$3[2] = nms_EnumCreatureAttribute_ARTHROPOD;
    $java.nms_EnumCreatureAttribute_$VALUES = var$2;
}
function otcic_CurrencyResource() {
}
function jt_DateFormatElement$TrieNode() {
    jl_Object.call(this);
}
$java.jt_DateFormatElement$TrieNode__init_ = function() {
    var var_0 = new jt_DateFormatElement$TrieNode();
    jt_DateFormatElement$TrieNode__init_(var_0);
    return var_0;
};
function jt_DateFormatElement$TrieNode__init_($this) {
    return;
}
function jt_AttributedCharacterIterator$Attribute() {
    jl_Object.call(this);
    this.$name21 = null;
}
$java.jt_AttributedCharacterIterator$Attribute_INPUT_METHOD_SEGMENT = null;
$java.jt_AttributedCharacterIterator$Attribute_LANGUAGE = null;
$java.jt_AttributedCharacterIterator$Attribute_READING = null;
$java.jt_AttributedCharacterIterator$Attribute__init_ = function(var_0) {
    var var_1 = new jt_AttributedCharacterIterator$Attribute();
    $java.jt_AttributedCharacterIterator$Attribute__init_0(var_1, var_0);
    return var_1;
};
$java.jt_AttributedCharacterIterator$Attribute__init_0 = function($this, $name) {
    $this.$name21 = $name;
};
function jt_AttributedCharacterIterator$Attribute__clinit_() {
    $java.jt_AttributedCharacterIterator$Attribute_INPUT_METHOD_SEGMENT = $java.jt_AttributedCharacterIterator$Attribute__init_($rt_s(3140));
    $java.jt_AttributedCharacterIterator$Attribute_LANGUAGE = $java.jt_AttributedCharacterIterator$Attribute__init_($rt_s(902));
    $java.jt_AttributedCharacterIterator$Attribute_READING = $java.jt_AttributedCharacterIterator$Attribute__init_($rt_s(3141));
}
function jt_Format$Field() {
    jt_AttributedCharacterIterator$Attribute.call(this);
}
function nms_MerchantRecipe() {
    var a = this; jl_Object.call(a);
    a.$itemToBuy = null;
    a.$secondItemToBuy = null;
    a.$itemToSell = null;
    a.$toolUses = 0;
    a.$maxTradeUses = 0;
}
function nms_MerchantRecipe__init_(var_0, var_1, var_2) {
    var var_3 = new nms_MerchantRecipe();
    $java.nms_MerchantRecipe__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
function nms_MerchantRecipe__init_1(var_0, var_1) {
    var var_2 = new nms_MerchantRecipe();
    nms_MerchantRecipe__init_0(var_2, var_0, var_1);
    return var_2;
}
$java.nms_MerchantRecipe__init_ = function($this, $par1ItemStack, $par2ItemStack, $par3ItemStack) {
    $this.$itemToBuy = $par1ItemStack;
    $this.$secondItemToBuy = $par2ItemStack;
    $this.$itemToSell = $par3ItemStack;
    $this.$maxTradeUses = 7;
};
function nms_MerchantRecipe__init_0($this, $par1ItemStack, $par2ItemStack) {
    $java.nms_MerchantRecipe__init_($this, $par1ItemStack, null, $par2ItemStack);
}
$java.nms_MerchantRecipe_getItemToBuy = function($this) {
    return $this.$itemToBuy;
};
$java.nms_MerchantRecipe_getSecondItemToBuy = function($this) {
    return $this.$secondItemToBuy;
};
$java.nms_MerchantRecipe_hasSecondItemToBuy = function($this) {
    return $this.$secondItemToBuy === null ? 0 : 1;
};
$java.nms_MerchantRecipe_getItemToSell = function($this) {
    return $this.$itemToSell;
};
$java.nms_MerchantRecipe_hasSameIDsAs = function($this, $par1MerchantRecipe) {
    var var$2;
    a: {
        if ($this.$itemToBuy.$itemID0 == $par1MerchantRecipe.$itemToBuy.$itemID0 && $this.$itemToSell.$itemID0 == $par1MerchantRecipe.$itemToSell.$itemID0) {
            b: {
                if (!($this.$secondItemToBuy === null && $par1MerchantRecipe.$secondItemToBuy === null)) {
                    if ($this.$secondItemToBuy === null)
                        break b;
                    if ($par1MerchantRecipe.$secondItemToBuy === null)
                        break b;
                    if ($this.$secondItemToBuy.$itemID0 != $par1MerchantRecipe.$secondItemToBuy.$itemID0)
                        break b;
                }
                var$2 = 1;
                break a;
            }
            var$2 = 0;
        } else
            var$2 = 0;
    }
    return var$2;
};
$java.nms_MerchantRecipe_hasSameItemsAs = function($this, $par1MerchantRecipe) {
    var var$2;
    a: {
        b: {
            if ($java.nms_MerchantRecipe_hasSameIDsAs($this, $par1MerchantRecipe)) {
                if ($this.$itemToBuy.$stackSize < $par1MerchantRecipe.$itemToBuy.$stackSize)
                    break b;
                if ($this.$secondItemToBuy !== null && $this.$secondItemToBuy.$stackSize < $par1MerchantRecipe.$secondItemToBuy.$stackSize)
                    break b;
            }
            var$2 = 0;
            break a;
        }
        var$2 = 1;
    }
    return var$2;
};
function nms_MerchantRecipe_func_82783_a($this, $par1) {
    $this.$maxTradeUses = $this.$maxTradeUses + $par1 | 0;
}
function nms_MerchantRecipe_func_82784_g($this) {
    return $this.$toolUses < $this.$maxTradeUses ? 0 : 1;
}
$java.nms_MerchantRecipe_func_82785_h = function($this) {
    $this.$toolUses = $this.$maxTradeUses;
};
function nms_MerchantRecipeList() {
    ju_ArrayList.call(this);
}
function nms_MerchantRecipeList__init_0() {
    var var_0 = new nms_MerchantRecipeList();
    nms_MerchantRecipeList__init_(var_0);
    return var_0;
}
function nms_MerchantRecipeList__init_($this) {
    ju_ArrayList__init_($this);
}
$java.nms_MerchantRecipeList_canRecipeBeUsed = function($this, $par1ItemStack, $par2ItemStack, $par3) {
    var $var6, $var4, $var5;
    if ($par3 > 0 && $par3 < $this.$size) {
        a: {
            b: {
                $var6 = ju_ArrayList_get($this, $par3);
                if ($par1ItemStack.$itemID0 == $var6.$itemToBuy.$itemID0) {
                    if (!($par2ItemStack === null && !$java.nms_MerchantRecipe_hasSecondItemToBuy($var6))) {
                        if (!$java.nms_MerchantRecipe_hasSecondItemToBuy($var6))
                            break b;
                        if ($par2ItemStack === null)
                            break b;
                        if ($var6.$secondItemToBuy.$itemID0 != $par2ItemStack.$itemID0)
                            break b;
                    }
                    if ($par1ItemStack.$stackSize >= $var6.$itemToBuy.$stackSize && !($java.nms_MerchantRecipe_hasSecondItemToBuy($var6) && $par2ItemStack.$stackSize < $var6.$secondItemToBuy.$stackSize))
                        break a;
                }
            }
            $var6 = null;
        }
        return $var6;
    }
    $var4 = 0;
    while (true) {
        if ($var4 >= $this.$size)
            return null;
        $var5 = ju_ArrayList_get($this, $var4);
        if ($par1ItemStack.$itemID0 == $var5.$itemToBuy.$itemID0 && $par1ItemStack.$stackSize >= $var5.$itemToBuy.$stackSize) {
            if (!$java.nms_MerchantRecipe_hasSecondItemToBuy($var5) && $par2ItemStack === null)
                break;
            if ($java.nms_MerchantRecipe_hasSecondItemToBuy($var5) && $par2ItemStack !== null && $var5.$secondItemToBuy.$itemID0 == $par2ItemStack.$itemID0 && $par2ItemStack.$stackSize >= $var5.$secondItemToBuy.$stackSize)
                break;
        }
        $var4 = $var4 + 1 | 0;
    }
    return $var5;
};
function nms_MerchantRecipeList_addToListWithCheck($this, $par1MerchantRecipe) {
    var $var2, $var3;
    $var2 = 0;
    while ($var2 < $this.$size) {
        $var3 = ju_ArrayList_get($this, $var2);
        if ($java.nms_MerchantRecipe_hasSameIDsAs($par1MerchantRecipe, $var3)) {
            if ($java.nms_MerchantRecipe_hasSameItemsAs($par1MerchantRecipe, $var3))
                ju_ArrayList_set($this, $var2, $par1MerchantRecipe);
            return;
        }
        $var2 = $var2 + 1 | 0;
    }
    ju_ArrayList_add($this, $par1MerchantRecipe);
}
$java.nms_MerchantRecipeList_readRecipiesFromStream = function($par0DataInputStream) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8;
    $var1 = new nms_MerchantRecipeList;
    ju_ArrayList__init_($var1);
    $var2 = ji_DataInputStream_readByte($par0DataInputStream) & 255;
    $var3 = 0;
    while ($var3 < $var2) {
        $var4 = nms_Packet_readItemStack($par0DataInputStream);
        $var5 = nms_Packet_readItemStack($par0DataInputStream);
        $var6 = null;
        if (ji_DataInputStream_readBoolean($par0DataInputStream))
            $var6 = nms_Packet_readItemStack($par0DataInputStream);
        $var7 = ji_DataInputStream_readBoolean($par0DataInputStream);
        $var8 = nms_MerchantRecipe__init_($var4, $var6, $var5);
        if ($var7)
            $java.nms_MerchantRecipe_func_82785_h($var8);
        ju_ArrayList_add($var1, $var8);
        $var3 = $var3 + 1 | 0;
    }
    return $var1;
};
function nms_EntityDragonPart() {
    var a = this; nms_Entity.call(a);
    a.$entityDragonObj = null;
    a.$name22 = null;
}
function nms_EntityDragonPart__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityDragonPart();
    $java.nms_EntityDragonPart__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nms_EntityDragonPart__init_ = function($this, $par1, $par2, $par3, $par4) {
    nms_Entity__init_0($this);
    nms_Entity_setWorld($this, nms_EntityDragon_func_82194_d($par1));
    nms_Entity_setSize($this, $par3, $par4);
    $this.$entityDragonObj = $par1;
    $this.$name22 = $par2;
};
$java.nms_EntityDragonPart_entityInit = function($this) {
    return;
};
$java.nms_EntityDragonPart_canBeCollidedWith = function($this) {
    return 1;
};
$java.nms_EntityDragonPart_attackEntityFrom = function($this, $par1DamageSource, $par2) {
    return $this.$invulnerable ? 0 : nms_EntityDragon_attackEntityFromPart($this.$entityDragonObj, $this, $par1DamageSource, $par2);
};
$java.nms_EntityDragonPart_isEntityEqual = function($this, $par1Entity) {
    return $this !== $par1Entity && $this.$entityDragonObj !== $par1Entity ? 0 : 1;
};
function nleg_EaglerAdapterGL30$1() {
    jl_Object.call(this);
}
function nle_TextureTerrainMap$1() {
    jl_Object.call(this);
}
function otjw_WebGLFramebuffer() {
}
function ju_Arrays$1() {
    jl_Object.call(this);
}
function nms_IBehaviorDispenseItem() {
}
function nms_IPosition() {
}
function nms_ILocation() {
}
function nms_ILocatableSource() {
}
function nms_IBlockSource() {
}
function nms_EnumFacing() {
    var a = this; jl_Enum.call(a);
    a.$order_a = 0;
    a.$order_b = 0;
    a.$frontOffsetX = 0;
    a.$frontOffsetY = 0;
    a.$frontOffsetZ = 0;
}
$java.nms_EnumFacing_DOWN = null;
$java.nms_EnumFacing_UP = null;
$java.nms_EnumFacing_NORTH = null;
$java.nms_EnumFacing_SOUTH = null;
$java.nms_EnumFacing_EAST = null;
$java.nms_EnumFacing_WEST = null;
$java.nms_EnumFacing_faceList = null;
$java.nms_EnumFacing_$VALUES = null;
$java.nms_EnumFacing__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EnumFacing();
    $java.nms_EnumFacing__init_0(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
};
$java.nms_EnumFacing__init_0 = function($this, var$1, var$2, $par3, $par4, $par5, $par6, $par7) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$order_a = $par3;
    $this.$order_b = $par4;
    $this.$frontOffsetX = $par5;
    $this.$frontOffsetY = $par6;
    $this.$frontOffsetZ = $par7;
};
function nms_EnumFacing__clinit_() {
    var $var0, var$2, $var1, $var2, $var3;
    $java.nms_EnumFacing_DOWN = $java.nms_EnumFacing__init_($rt_s(197), 0, 0, 1, 0, (-1), 0);
    $java.nms_EnumFacing_UP = $java.nms_EnumFacing__init_($rt_s(192), 1, 1, 0, 0, 1, 0);
    $java.nms_EnumFacing_NORTH = $java.nms_EnumFacing__init_($rt_s(2789), 2, 2, 3, 0, 0, (-1));
    $java.nms_EnumFacing_SOUTH = $java.nms_EnumFacing__init_($rt_s(2787), 3, 3, 2, 0, 0, 1);
    $java.nms_EnumFacing_EAST = $java.nms_EnumFacing__init_($rt_s(2790), 4, 4, 5, (-1), 0, 0);
    $java.nms_EnumFacing_WEST = $java.nms_EnumFacing__init_($rt_s(2788), 5, 5, 4, 1, 0, 0);
    $var0 = $rt_createArray(nms_EnumFacing, 6);
    var$2 = $var0.data;
    var$2[0] = $java.nms_EnumFacing_DOWN;
    var$2[1] = $java.nms_EnumFacing_UP;
    var$2[2] = $java.nms_EnumFacing_NORTH;
    var$2[3] = $java.nms_EnumFacing_SOUTH;
    var$2[4] = $java.nms_EnumFacing_EAST;
    var$2[5] = $java.nms_EnumFacing_WEST;
    $java.nms_EnumFacing_$VALUES = $var0;
    $java.nms_EnumFacing_faceList = $rt_createArray(nms_EnumFacing, 6);
    $var0 = $java.nms_EnumFacing_$VALUES.$clone().data;
    $var1 = $var0.length;
    $var2 = 0;
    while ($var2 < $var1) {
        $var3 = $var0[$var2];
        $java.nms_EnumFacing_faceList.data[$var3.$order_a] = $var3;
        $var2 = $var2 + 1 | 0;
    }
}
function otjw_MediaEvent() {
}
function nms_EnumCreatureType() {
    var a = this; jl_Enum.call(a);
    a.$creatureClass = null;
    a.$maxNumberOfCreature = 0;
    a.$creatureMaterial = null;
    a.$isPeacefulCreature = 0;
    a.$isAnimal = 0;
}
$java.nms_EnumCreatureType_monster = null;
$java.nms_EnumCreatureType_creature = null;
$java.nms_EnumCreatureType_ambient = null;
$java.nms_EnumCreatureType_waterCreature = null;
$java.nms_EnumCreatureType_$VALUES = null;
$java.nms_EnumCreatureType_$callClinit = function() {
    $java.nms_EnumCreatureType_$callClinit = $rt_eraseClinit(nms_EnumCreatureType);
    $java.nms_EnumCreatureType__clinit_();
};
$java.nms_EnumCreatureType__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EnumCreatureType();
    $java.nms_EnumCreatureType__init_0(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
};
$java.nms_EnumCreatureType__init_0 = function($this, var$1, var$2, $par3Class, $par4, $par5Material, $par6, $par7) {
    $java.nms_EnumCreatureType_$callClinit();
    jl_Enum__init_0($this, var$1, var$2);
    $this.$creatureClass = $par3Class;
    $this.$maxNumberOfCreature = $par4;
    $this.$creatureMaterial = $par5Material;
    $this.$isPeacefulCreature = $par6;
    $this.$isAnimal = $par7;
};
$java.nms_EnumCreatureType__clinit_ = function() {
    var var$1, var$2, var$3;
    var$1 = new nms_EnumCreatureType;
    nms_Material_$callClinit();
    $java.nms_EnumCreatureType__init_0(var$1, $rt_s(3142), 0, $rt_cls(nms_IMob), 70, nms_Material_air, 0, 0);
    $java.nms_EnumCreatureType_monster = var$1;
    $java.nms_EnumCreatureType_creature = $java.nms_EnumCreatureType__init_($rt_s(3143), 1, $rt_cls(nms_EntityAnimal), 10, nms_Material_air, 1, 1);
    $java.nms_EnumCreatureType_ambient = $java.nms_EnumCreatureType__init_($rt_s(3144), 2, $rt_cls(nms_EntityAmbientCreature), 15, nms_Material_air, 1, 0);
    $java.nms_EnumCreatureType_waterCreature = $java.nms_EnumCreatureType__init_($rt_s(3145), 3, $rt_cls(nms_EntityWaterMob), 5, nms_Material_water, 1, 0);
    var$2 = $rt_createArray(nms_EnumCreatureType, 4);
    var$3 = var$2.data;
    var$3[0] = $java.nms_EnumCreatureType_monster;
    var$3[1] = $java.nms_EnumCreatureType_creature;
    var$3[2] = $java.nms_EnumCreatureType_ambient;
    var$3[3] = $java.nms_EnumCreatureType_waterCreature;
    $java.nms_EnumCreatureType_$VALUES = var$2;
};
function jm_MathContext() {
    var a = this; jl_Object.call(a);
    a.$precision3 = 0;
    a.$roundingMode0 = null;
}
$java.jm_MathContext_DECIMAL128 = null;
$java.jm_MathContext_DECIMAL32 = null;
$java.jm_MathContext_DECIMAL64 = null;
$java.jm_MathContext_UNLIMITED = null;
$java.jm_MathContext_chPrecision = null;
$java.jm_MathContext_chRoundingMode = null;
$java.jm_MathContext_$callClinit = function() {
    $java.jm_MathContext_$callClinit = $rt_eraseClinit(jm_MathContext);
    $java.jm_MathContext__clinit_();
};
$java.jm_MathContext__init_ = function(var_0, var_1) {
    var var_2 = new jm_MathContext();
    $java.jm_MathContext__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.jm_MathContext__init_0 = function($this, $precision, $roundingMode) {
    var var$3;
    $java.jm_MathContext_$callClinit();
    if ($precision < 0) {
        $roundingMode = new jl_IllegalArgumentException;
        jl_Throwable__init_($roundingMode, $rt_s(3146));
        $rt_throw($roundingMode);
    }
    if ($roundingMode !== null) {
        $this.$precision3 = $precision;
        $this.$roundingMode0 = $roundingMode;
        return;
    }
    var$3 = new jl_NullPointerException;
    jl_Throwable__init_(var$3, $rt_s(3147));
    $rt_throw(var$3);
};
$java.jm_MathContext__clinit_ = function() {
    var var$1, var$2;
    $java.jm_MathContext_DECIMAL128 = $java.jm_MathContext__init_(34, jm_RoundingMode_HALF_EVEN);
    $java.jm_MathContext_DECIMAL32 = $java.jm_MathContext__init_(7, jm_RoundingMode_HALF_EVEN);
    $java.jm_MathContext_DECIMAL64 = $java.jm_MathContext__init_(16, jm_RoundingMode_HALF_EVEN);
    $java.jm_MathContext_UNLIMITED = $java.jm_MathContext__init_(0, jm_RoundingMode_HALF_UP);
    var$1 = $rt_createCharArray(10);
    var$2 = var$1.data;
    var$2[0] = 112;
    var$2[1] = 114;
    var$2[2] = 101;
    var$2[3] = 99;
    var$2[4] = 105;
    var$2[5] = 115;
    var$2[6] = 105;
    var$2[7] = 111;
    var$2[8] = 110;
    var$2[9] = 61;
    $java.jm_MathContext_chPrecision = var$1;
    var$1 = $rt_createCharArray(13);
    var$2 = var$1.data;
    var$2[0] = 114;
    var$2[1] = 111;
    var$2[2] = 117;
    var$2[3] = 110;
    var$2[4] = 100;
    var$2[5] = 105;
    var$2[6] = 110;
    var$2[7] = 103;
    var$2[8] = 77;
    var$2[9] = 111;
    var$2[10] = 100;
    var$2[11] = 101;
    var$2[12] = 61;
    $java.jm_MathContext_chRoundingMode = var$1;
};
function nms_WorldType() {
    var a = this; jl_Object.call(a);
    a.$worldTypeId = 0;
    a.$worldType = null;
    a.$generatorVersion = 0;
    a.$canBeCreated = 0;
    a.$isWorldTypeVersioned = 0;
}
$java.nms_WorldType_worldTypes = null;
var nms_WorldType_DEFAULT = null;
var nms_WorldType_FLAT = null;
$java.nms_WorldType_LARGE_BIOMES = null;
$java.nms_WorldType_DEFAULT_1_1 = null;
$java.nms_WorldType__init_ = function(var_0, var_1) {
    var var_2 = new nms_WorldType();
    $java.nms_WorldType__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.nms_WorldType__init_1 = function(var_0, var_1, var_2) {
    var var_3 = new nms_WorldType();
    $java.nms_WorldType__init_2(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_WorldType__init_0 = function($this, $par1, $par2Str) {
    $java.nms_WorldType__init_2($this, $par1, $par2Str, 0);
};
$java.nms_WorldType__init_2 = function($this, $par1, $par2Str, $par3) {
    $this.$worldType = $par2Str;
    $this.$generatorVersion = $par3;
    $this.$canBeCreated = 1;
    $this.$worldTypeId = $par1;
    $java.nms_WorldType_worldTypes.data[$par1] = $this;
};
$java.nms_WorldType_getWorldTypeName = function($this) {
    return $this.$worldType;
};
$java.nms_WorldType_parseWorldType = function($par0Str) {
    var $var1;
    $var1 = 0;
    while ($var1 < $java.nms_WorldType_worldTypes.data.length) {
        if ($java.nms_WorldType_worldTypes.data[$var1] !== null && jl_String_equalsIgnoreCase($java.nms_WorldType_worldTypes.data[$var1].$worldType, $par0Str))
            return $java.nms_WorldType_worldTypes.data[$var1];
        $var1 = $var1 + 1 | 0;
    }
    return null;
};
function nms_WorldType__clinit_() {
    var var$1, var$2;
    $java.nms_WorldType_worldTypes = $rt_createArray(nms_WorldType, 16);
    var$1 = $java.nms_WorldType__init_1(0, $rt_s(222), 1);
    var$1.$isWorldTypeVersioned = 1;
    nms_WorldType_DEFAULT = var$1;
    nms_WorldType_FLAT = $java.nms_WorldType__init_(1, $rt_s(3148));
    $java.nms_WorldType_LARGE_BIOMES = $java.nms_WorldType__init_(2, $rt_s(3149));
    var$2 = $java.nms_WorldType__init_1(8, $rt_s(3150), 0);
    var$2.$canBeCreated = 0;
    $java.nms_WorldType_DEFAULT_1_1 = var$2;
}
function nms_ScoreObjectiveCriteria() {
}
$java.nms_ScoreObjectiveCriteria_field_96643_a = null;
$java.nms_ScoreObjectiveCriteria_field_96641_b = null;
$java.nms_ScoreObjectiveCriteria_field_96642_c = null;
$java.nms_ScoreObjectiveCriteria_field_96639_d = null;
$java.nms_ScoreObjectiveCriteria_field_96640_e = null;
$java.nms_ScoreObjectiveCriteria_field_96638_f = null;
function nms_ScoreObjectiveCriteria__clinit_() {
    var var$1;
    $java.nms_ScoreObjectiveCriteria_field_96643_a = ju_HashMap__init_();
    $java.nms_ScoreObjectiveCriteria_field_96641_b = $java.nms_ScoreDummyCriteria__init_($rt_s(3151));
    $java.nms_ScoreObjectiveCriteria_field_96642_c = $java.nms_ScoreDummyCriteria__init_($rt_s(3152));
    $java.nms_ScoreObjectiveCriteria_field_96639_d = $java.nms_ScoreDummyCriteria__init_($rt_s(3153));
    $java.nms_ScoreObjectiveCriteria_field_96640_e = $java.nms_ScoreDummyCriteria__init_($rt_s(3154));
    var$1 = new nms_ScoreHealthCriteria;
    $java.nms_ScoreDummyCriteria__init_0(var$1, $rt_s(2529));
    $java.nms_ScoreObjectiveCriteria_field_96638_f = var$1;
}
function ju_AbstractMap$1() {
    jl_Object.call(this);
}
function cjj_Deflate() {
    var a = this; jl_Object.call(a);
    a.$strm = null;
    a.$status1 = 0;
    a.$pending_buf = null;
    a.$pending_buf_size = 0;
    a.$pending_out = 0;
    a.$pending = 0;
    a.$wrap5 = 0;
    a.$data_type0 = 0;
    a.$method1 = 0;
    a.$last_flush = 0;
    a.$w_size = 0;
    a.$w_bits = 0;
    a.$w_mask = 0;
    a.$window2 = null;
    a.$window_size = 0;
    a.$prev = null;
    a.$head5 = null;
    a.$ins_h = 0;
    a.$hash_size = 0;
    a.$hash_bits = 0;
    a.$hash_mask = 0;
    a.$hash_shift = 0;
    a.$block_start = 0;
    a.$match_length = 0;
    a.$prev_match = 0;
    a.$match_available = 0;
    a.$strstart = 0;
    a.$match_start = 0;
    a.$lookahead = 0;
    a.$prev_length = 0;
    a.$max_chain_length = 0;
    a.$max_lazy_match = 0;
    a.$level0 = 0;
    a.$strategy = 0;
    a.$good_match = 0;
    a.$nice_match = 0;
    a.$dyn_ltree = null;
    a.$dyn_dtree = null;
    a.$bl_tree = null;
    a.$l_desc = null;
    a.$d_desc = null;
    a.$bl_desc = null;
    a.$bl_count = null;
    a.$next_code = null;
    a.$heap = null;
    a.$heap_len = 0;
    a.$heap_max = 0;
    a.$depth0 = null;
    a.$l_buf = null;
    a.$lit_bufsize = 0;
    a.$last_lit = 0;
    a.$d_buf = 0;
    a.$opt_len = 0;
    a.$static_len = 0;
    a.$matches2 = 0;
    a.$last_eob_len = 0;
    a.$bi_buf = 0;
    a.$bi_valid = 0;
    a.$gheader0 = null;
}
$java.cjj_Deflate_config_table = null;
$java.cjj_Deflate_z_errmsg = null;
$java.cjj_Deflate_lm_init = function($this) {
    var $i;
    $this.$window_size = 2 * $this.$w_size | 0;
    $this.$head5.data[$this.$hash_size - 1 | 0] = 0;
    $i = 0;
    while ($i < ($this.$hash_size - 1 | 0)) {
        $this.$head5.data[$i] = 0;
        $i = $i + 1 | 0;
    }
    $this.$max_lazy_match = $java.cjj_Deflate_config_table.data[$this.$level0].$max_lazy;
    $this.$good_match = $java.cjj_Deflate_config_table.data[$this.$level0].$good_length;
    $this.$nice_match = $java.cjj_Deflate_config_table.data[$this.$level0].$nice_length;
    $this.$max_chain_length = $java.cjj_Deflate_config_table.data[$this.$level0].$max_chain;
    $this.$strstart = 0;
    $this.$block_start = 0;
    $this.$lookahead = 0;
    $this.$prev_length = 2;
    $this.$match_length = 2;
    $this.$match_available = 0;
    $this.$ins_h = 0;
};
$java.cjj_Deflate_tr_init = function($this) {
    var var$1;
    $this.$l_desc.$dyn_tree = $this.$dyn_ltree;
    var$1 = $this.$l_desc;
    $java.cjj_StaticTree_$callClinit();
    var$1.$stat_desc = $java.cjj_StaticTree_static_l_desc;
    $this.$d_desc.$dyn_tree = $this.$dyn_dtree;
    $this.$d_desc.$stat_desc = $java.cjj_StaticTree_static_d_desc;
    $this.$bl_desc.$dyn_tree = $this.$bl_tree;
    $this.$bl_desc.$stat_desc = $java.cjj_StaticTree_static_bl_desc;
    $this.$bi_buf = 0;
    $this.$bi_valid = 0;
    $this.$last_eob_len = 8;
    $java.cjj_Deflate_init_block($this);
};
$java.cjj_Deflate_init_block = function($this) {
    var $i;
    $i = 0;
    while ($i < 286) {
        $this.$dyn_ltree.data[$i * 2 | 0] = 0;
        $i = $i + 1 | 0;
    }
    $i = 0;
    while ($i < 30) {
        $this.$dyn_dtree.data[$i * 2 | 0] = 0;
        $i = $i + 1 | 0;
    }
    $i = 0;
    while ($i < 19) {
        $this.$bl_tree.data[$i * 2 | 0] = 0;
        $i = $i + 1 | 0;
    }
    $this.$dyn_ltree.data[512] = 1;
    $this.$static_len = 0;
    $this.$opt_len = 0;
    $this.$matches2 = 0;
    $this.$last_lit = 0;
};
$java.cjj_Deflate_pqdownheap = function($this, $tree, $k) {
    var $v, $j, var$5, var$6;
    $v = $this.$heap.data[$k];
    $j = $k << 1;
    a: {
        while (true) {
            if ($j > $this.$heap_len)
                break a;
            if ($j >= $this.$heap_len)
                var$5 = $j;
            else {
                var$6 = $this.$heap.data;
                var$5 = $j + 1 | 0;
                if (!$java.cjj_Deflate_smaller($tree, var$6[var$5], $this.$heap.data[$j], $this.$depth0))
                    var$5 = $j;
            }
            if ($java.cjj_Deflate_smaller($tree, $v, $this.$heap.data[var$5], $this.$depth0))
                break;
            $this.$heap.data[$k] = $this.$heap.data[var$5];
            $j = var$5 << 1;
            $k = var$5;
        }
    }
    $this.$heap.data[$k] = $v;
};
$java.cjj_Deflate_smaller = function($tree, $n, $m, $depth) {
    var $tn2;
    a: {
        b: {
            $tree = $tree.data;
            $tn2 = $rt_compare($tree[$n * 2 | 0], $tree[$m * 2 | 0]);
            if ($tn2 >= 0) {
                if ($tn2)
                    break b;
                $tree = $depth.data;
                if ($tree[$n] > $tree[$m])
                    break b;
            }
            $n = 1;
            break a;
        }
        $n = 0;
    }
    return $n;
};
$java.cjj_Deflate_scan_tree = function($this, $tree, $max_code) {
    var $prevlen, $nextlen, $count, $max_count, $min_count, $n, var$9, var$10;
    $tree = $tree.data;
    $prevlen = (-1);
    $nextlen = $tree[1];
    $count = 0;
    $max_count = 7;
    $min_count = 4;
    if (!$nextlen) {
        $max_count = 138;
        $min_count = 3;
    }
    $tree[(($max_code + 1 | 0) * 2 | 0) + 1 | 0] = (-1);
    $n = 0;
    while ($n <= $max_code) {
        $n = $n + 1 | 0;
        var$9 = $tree[($n * 2 | 0) + 1 | 0];
        $count = $count + 1 | 0;
        if (!($count < $max_count && $nextlen == var$9)) {
            if ($count < $min_count) {
                var$10 = $this.$bl_tree.data;
                $prevlen = $nextlen * 2 | 0;
                var$10[$prevlen] = (var$10[$prevlen] + $count | 0) << 16 >> 16;
            } else if (!$nextlen) {
                if ($count > 10) {
                    var$10 = $this.$bl_tree.data;
                    var$10[36] = (var$10[36] + 1 | 0) << 16 >> 16;
                } else {
                    var$10 = $this.$bl_tree.data;
                    var$10[34] = (var$10[34] + 1 | 0) << 16 >> 16;
                }
            } else {
                if ($nextlen != $prevlen) {
                    var$10 = $this.$bl_tree.data;
                    $max_count = $nextlen * 2 | 0;
                    var$10[$max_count] = (var$10[$max_count] + 1 | 0) << 16 >> 16;
                }
                var$10 = $this.$bl_tree.data;
                var$10[32] = (var$10[32] + 1 | 0) << 16 >> 16;
            }
            $count = 0;
            if (!var$9) {
                $max_count = 138;
                $min_count = 3;
                $prevlen = $nextlen;
            } else if ($nextlen != var$9) {
                $max_count = 7;
                $min_count = 4;
                $prevlen = $nextlen;
            } else {
                $max_count = 6;
                $min_count = 3;
                $prevlen = $nextlen;
            }
        }
        $nextlen = var$9;
    }
};
$java.cjj_Deflate_build_bl_tree = function($this) {
    var $max_blindex;
    $java.cjj_Deflate_scan_tree($this, $this.$dyn_ltree, $this.$l_desc.$max_code);
    $java.cjj_Deflate_scan_tree($this, $this.$dyn_dtree, $this.$d_desc.$max_code);
    $java.cjj_Tree_build_tree($this.$bl_desc, $this);
    $max_blindex = 18;
    a: {
        while (true) {
            if ($max_blindex < 3)
                break a;
            if ($this.$bl_tree.data[($java.cjj_Tree_bl_order.data[$max_blindex] * 2 | 0) + 1 | 0])
                break;
            $max_blindex = $max_blindex + (-1) | 0;
        }
    }
    $this.$opt_len = $this.$opt_len + ((((3 * ($max_blindex + 1 | 0) | 0) + 5 | 0) + 5 | 0) + 4 | 0) | 0;
    return $max_blindex;
};
$java.cjj_Deflate_send_all_trees = function($this, $lcodes, $dcodes, $blcodes) {
    var $rank;
    $java.cjj_Deflate_send_bits($this, $lcodes - 257 | 0, 5);
    $dcodes = $dcodes - 1 | 0;
    $java.cjj_Deflate_send_bits($this, $dcodes, 5);
    $java.cjj_Deflate_send_bits($this, $blcodes - 4 | 0, 4);
    $rank = 0;
    while ($rank < $blcodes) {
        $java.cjj_Deflate_send_bits($this, $this.$bl_tree.data[($java.cjj_Tree_bl_order.data[$rank] * 2 | 0) + 1 | 0], 3);
        $rank = $rank + 1 | 0;
    }
    $java.cjj_Deflate_send_tree($this, $this.$dyn_ltree, $lcodes - 1 | 0);
    $java.cjj_Deflate_send_tree($this, $this.$dyn_dtree, $dcodes);
};
$java.cjj_Deflate_send_tree = function($this, $tree, $max_code) {
    var var$3, $prevlen, $nextlen, $count, $max_count, $min_count, $n, var$10;
    var$3 = $tree.data;
    $prevlen = (-1);
    $nextlen = var$3[1];
    $count = 0;
    $max_count = 7;
    $min_count = 4;
    if (!$nextlen) {
        $max_count = 138;
        $min_count = 3;
    }
    $n = 0;
    while ($n <= $max_code) {
        $n = $n + 1 | 0;
        var$10 = var$3[($n * 2 | 0) + 1 | 0];
        $count = $count + 1 | 0;
        if (!($count < $max_count && $nextlen == var$10)) {
            if ($count < $min_count)
                while (true) {
                    $java.cjj_Deflate_send_code($this, $nextlen, $this.$bl_tree);
                    $count = $count + (-1) | 0;
                    if (!$count)
                        break;
                }
            else if (!$nextlen) {
                if ($count > 10) {
                    $java.cjj_Deflate_send_code($this, 18, $this.$bl_tree);
                    $java.cjj_Deflate_send_bits($this, $count - 11 | 0, 7);
                } else {
                    $java.cjj_Deflate_send_code($this, 17, $this.$bl_tree);
                    $java.cjj_Deflate_send_bits($this, $count - 3 | 0, 3);
                }
            } else {
                if ($nextlen != $prevlen) {
                    $java.cjj_Deflate_send_code($this, $nextlen, $this.$bl_tree);
                    $count = $count + (-1) | 0;
                }
                $java.cjj_Deflate_send_code($this, 16, $this.$bl_tree);
                $java.cjj_Deflate_send_bits($this, $count - 3 | 0, 2);
            }
            $count = 0;
            if (!var$10) {
                $max_count = 138;
                $min_count = 3;
                $prevlen = $nextlen;
            } else if ($nextlen != var$10) {
                $max_count = 7;
                $min_count = 4;
                $prevlen = $nextlen;
            } else {
                $max_count = 6;
                $min_count = 3;
                $prevlen = $nextlen;
            }
        }
        $nextlen = var$10;
    }
};
$java.cjj_Deflate_put_byte0 = function($this, $p, $start, $len) {
    jl_System_arraycopy($p, $start, $this.$pending_buf, $this.$pending, $len);
    $this.$pending = $this.$pending + $len | 0;
};
$java.cjj_Deflate_put_byte = function($this, $c) {
    var var$2, var$3;
    var$2 = $this.$pending_buf.data;
    var$3 = $this.$pending;
    $this.$pending = var$3 + 1 | 0;
    var$2[var$3] = $c;
};
$java.cjj_Deflate_put_short = function($this, $w) {
    $java.cjj_Deflate_put_byte($this, $w << 24 >> 24);
    $java.cjj_Deflate_put_byte($this, $w >>> 8 << 24 >> 24);
};
$java.cjj_Deflate_putShortMSB = function($this, $b) {
    $java.cjj_Deflate_put_byte($this, $b >> 8 << 24 >> 24);
    $java.cjj_Deflate_put_byte($this, $b << 24 >> 24);
};
$java.cjj_Deflate_send_code = function($this, $c, $tree) {
    var $c2;
    $tree = $tree.data;
    $c2 = $c * 2 | 0;
    $java.cjj_Deflate_send_bits($this, $tree[$c2] & 65535, $tree[$c2 + 1 | 0] & 65535);
};
$java.cjj_Deflate_send_bits = function($this, $value, $length) {
    if ($this.$bi_valid <= (16 - $length | 0)) {
        $this.$bi_buf = ($this.$bi_buf | $value << $this.$bi_valid & 65535) << 16 >> 16;
        $this.$bi_valid = $this.$bi_valid + $length | 0;
    } else {
        $this.$bi_buf = ($this.$bi_buf | $value << $this.$bi_valid & 65535) << 16 >> 16;
        $java.cjj_Deflate_put_short($this, $this.$bi_buf);
        $this.$bi_buf = $value >>> (16 - $this.$bi_valid | 0) << 16 >> 16;
        $this.$bi_valid = $this.$bi_valid + ($length - 16 | 0) | 0;
    }
};
$java.cjj_Deflate__tr_align = function($this) {
    $java.cjj_Deflate_send_bits($this, 2, 3);
    $java.cjj_StaticTree_$callClinit();
    $java.cjj_Deflate_send_code($this, 256, $java.cjj_StaticTree_static_ltree);
    $java.cjj_Deflate_bi_flush($this);
    if ((((1 + $this.$last_eob_len | 0) + 10 | 0) - $this.$bi_valid | 0) < 9) {
        $java.cjj_Deflate_send_bits($this, 2, 3);
        $java.cjj_Deflate_send_code($this, 256, $java.cjj_StaticTree_static_ltree);
        $java.cjj_Deflate_bi_flush($this);
    }
    $this.$last_eob_len = 7;
};
$java.cjj_Deflate__tr_tally = function($this, $dist, $lc) {
    var var$3, var$4, $out_length, $in_length, $dcode;
    $this.$pending_buf.data[$this.$d_buf + ($this.$last_lit * 2 | 0) | 0] = $dist >>> 8 << 24 >> 24;
    $this.$pending_buf.data[($this.$d_buf + ($this.$last_lit * 2 | 0) | 0) + 1 | 0] = $dist << 24 >> 24;
    $this.$l_buf.data[$this.$last_lit] = $lc << 24 >> 24;
    $this.$last_lit = $this.$last_lit + 1 | 0;
    if (!$dist) {
        var$3 = $this.$dyn_ltree.data;
        $dist = $lc * 2 | 0;
        var$3[$dist] = (var$3[$dist] + 1 | 0) << 16 >> 16;
    } else {
        $this.$matches2 = $this.$matches2 + 1 | 0;
        $dist = $dist + (-1) | 0;
        var$4 = $this.$dyn_ltree.data;
        $lc = (($java.cjj_Tree__length_code.data[$lc] + 256 | 0) + 1 | 0) * 2 | 0;
        var$4[$lc] = (var$4[$lc] + 1 | 0) << 16 >> 16;
        var$3 = $this.$dyn_dtree.data;
        $dist = $java.cjj_Tree_d_code($dist) * 2 | 0;
        var$3[$dist] = (var$3[$dist] + 1 | 0) << 16 >> 16;
    }
    if (!($this.$last_lit & 8191) && $this.$level0 > 2) {
        $out_length = $this.$last_lit * 8 | 0;
        $in_length = $this.$strstart - $this.$block_start | 0;
        $dcode = 0;
        while ($dcode < 30) {
            $out_length = Long_add(Long_fromInt($out_length), Long_mul(Long_fromInt($this.$dyn_dtree.data[$dcode * 2 | 0]), Long_add(Long_fromInt(5), Long_fromInt($java.cjj_Tree_extra_dbits.data[$dcode])))).lo;
            $dcode = $dcode + 1 | 0;
        }
        $dist = $out_length >>> 3;
        if ($this.$matches2 < ($this.$last_lit / 2 | 0) && $dist < ($in_length / 2 | 0))
            return 1;
    }
    return $this.$last_lit != ($this.$lit_bufsize - 1 | 0) ? 0 : 1;
};
$java.cjj_Deflate_compress_block = function($this, $ltree, $dtree) {
    var $lx, var$4, $lc, $code, $dist, $extra;
    a: {
        $lx = 0;
        if ($this.$last_lit)
            while (true) {
                var$4 = $this.$pending_buf.data;
                $lc = $this.$d_buf;
                $code = $lx * 2 | 0;
                $dist = var$4[$lc + $code | 0] << 8 & 65280 | $this.$pending_buf.data[($this.$d_buf + $code | 0) + 1 | 0] & 255;
                $lc = $this.$l_buf.data[$lx] & 255;
                $lx = $lx + 1 | 0;
                if (!$dist)
                    $java.cjj_Deflate_send_code($this, $lc, $ltree);
                else {
                    $code = $java.cjj_Tree__length_code.data[$lc];
                    $java.cjj_Deflate_send_code($this, ($code + 256 | 0) + 1 | 0, $ltree);
                    $extra = $java.cjj_Tree_extra_lbits.data[$code];
                    if ($extra)
                        $java.cjj_Deflate_send_bits($this, $lc - $java.cjj_Tree_base_length.data[$code] | 0, $extra);
                    $dist = $dist + (-1) | 0;
                    $code = $java.cjj_Tree_d_code($dist);
                    $java.cjj_Deflate_send_code($this, $code, $dtree);
                    $lc = $java.cjj_Tree_extra_dbits.data[$code];
                    if ($lc)
                        $java.cjj_Deflate_send_bits($this, $dist - $java.cjj_Tree_base_dist.data[$code] | 0, $lc);
                }
                if ($lx >= $this.$last_lit)
                    break a;
            }
    }
    $dtree = $ltree.data;
    $java.cjj_Deflate_send_code($this, 256, $ltree);
    $this.$last_eob_len = $dtree[513];
};
$java.cjj_Deflate_set_data_type = function($this) {
    var $n, $ascii_freq, $bin_freq;
    $n = 0;
    $ascii_freq = 0;
    $bin_freq = 0;
    while ($n < 7) {
        $bin_freq = $bin_freq + $this.$dyn_ltree.data[$n * 2 | 0] | 0;
        $n = $n + 1 | 0;
    }
    while ($n < 128) {
        $ascii_freq = $ascii_freq + $this.$dyn_ltree.data[$n * 2 | 0] | 0;
        $n = $n + 1 | 0;
    }
    while ($n < 256) {
        $bin_freq = $bin_freq + $this.$dyn_ltree.data[$n * 2 | 0] | 0;
        $n = $n + 1 | 0;
    }
    $this.$data_type0 = ($bin_freq <= $ascii_freq >>> 2 ? 1 : 0) << 24 >> 24;
};
$java.cjj_Deflate_bi_flush = function($this) {
    if ($this.$bi_valid == 16) {
        $java.cjj_Deflate_put_short($this, $this.$bi_buf);
        $this.$bi_buf = 0;
        $this.$bi_valid = 0;
    } else if ($this.$bi_valid >= 8) {
        $java.cjj_Deflate_put_byte($this, $this.$bi_buf << 24 >> 24);
        $this.$bi_buf = $this.$bi_buf >>> 8 << 16 >> 16;
        $this.$bi_valid = $this.$bi_valid - 8 | 0;
    }
};
$java.cjj_Deflate_bi_windup = function($this) {
    if ($this.$bi_valid > 8)
        $java.cjj_Deflate_put_short($this, $this.$bi_buf);
    else if ($this.$bi_valid > 0)
        $java.cjj_Deflate_put_byte($this, $this.$bi_buf << 24 >> 24);
    $this.$bi_buf = 0;
    $this.$bi_valid = 0;
};
$java.cjj_Deflate_copy_block = function($this, $buf, $len, $header) {
    $java.cjj_Deflate_bi_windup($this);
    $this.$last_eob_len = 8;
    if ($header) {
        $java.cjj_Deflate_put_short($this, $len << 16 >> 16);
        $java.cjj_Deflate_put_short($this, ($len ^ (-1)) << 16 >> 16);
    }
    $java.cjj_Deflate_put_byte0($this, $this.$window2, $buf, $len);
};
$java.cjj_Deflate_flush_block_only = function($this, $eof) {
    $java.cjj_Deflate__tr_flush_block($this, $this.$block_start < 0 ? (-1) : $this.$block_start, $this.$strstart - $this.$block_start | 0, $eof);
    $this.$block_start = $this.$strstart;
    cjj_ZStream_flush_pending($this.$strm);
};
$java.cjj_Deflate_deflate_stored = function($this, $flush) {
    var $max_block_size, $max_start;
    $max_block_size = 65535;
    if ($max_block_size > ($this.$pending_buf_size - 5 | 0))
        $max_block_size = $this.$pending_buf_size - 5 | 0;
    while (true) {
        if ($this.$lookahead <= 1) {
            $java.cjj_Deflate_fill_window($this);
            if (!$this.$lookahead && !$flush)
                return 0;
            if (!$this.$lookahead) {
                $flush = $rt_compare($flush, 4);
                $java.cjj_Deflate_flush_block_only($this, $flush ? 0 : 1);
                if ($this.$strm.$avail_out)
                    return $flush ? 1 : 3;
                return $flush ? 0 : 2;
            }
        }
        $this.$strstart = $this.$strstart + $this.$lookahead | 0;
        $this.$lookahead = 0;
        $max_start = $this.$block_start + $max_block_size | 0;
        if (!($this.$strstart && $this.$strstart < $max_start)) {
            $this.$lookahead = $this.$strstart - $max_start | 0;
            $this.$strstart = $max_start;
            $java.cjj_Deflate_flush_block_only($this, 0);
            if (!$this.$strm.$avail_out)
                return 0;
        }
        if (($this.$strstart - $this.$block_start | 0) < ($this.$w_size - 262 | 0))
            continue;
        $java.cjj_Deflate_flush_block_only($this, 0);
        if (!$this.$strm.$avail_out)
            break;
    }
    return 0;
};
$java.cjj_Deflate__tr_stored_block = function($this, $buf, $stored_len, $eof) {
    $java.cjj_Deflate_send_bits($this, 0 + (!$eof ? 0 : 1) | 0, 3);
    $java.cjj_Deflate_copy_block($this, $buf, $stored_len, 1);
};
$java.cjj_Deflate__tr_flush_block = function($this, $buf, $stored_len, $eof) {
    var $max_blindex, $static_lenb, $opt_lenb;
    $max_blindex = 0;
    if ($this.$level0 <= 0) {
        $static_lenb = $stored_len + 5 | 0;
        $opt_lenb = $static_lenb;
    } else {
        if ($this.$data_type0 == 2)
            $java.cjj_Deflate_set_data_type($this);
        $java.cjj_Tree_build_tree($this.$l_desc, $this);
        $java.cjj_Tree_build_tree($this.$d_desc, $this);
        $max_blindex = $java.cjj_Deflate_build_bl_tree($this);
        $opt_lenb = (($this.$opt_len + 3 | 0) + 7 | 0) >>> 3;
        $static_lenb = (($this.$static_len + 3 | 0) + 7 | 0) >>> 3;
        if ($static_lenb <= $opt_lenb)
            $opt_lenb = $static_lenb;
    }
    if (($stored_len + 4 | 0) <= $opt_lenb && $buf != (-1))
        $java.cjj_Deflate__tr_stored_block($this, $buf, $stored_len, $eof);
    else if ($static_lenb == $opt_lenb) {
        $java.cjj_Deflate_send_bits($this, 2 + (!$eof ? 0 : 1) | 0, 3);
        $java.cjj_StaticTree_$callClinit();
        $java.cjj_Deflate_compress_block($this, $java.cjj_StaticTree_static_ltree, $java.cjj_StaticTree_static_dtree);
    } else {
        $java.cjj_Deflate_send_bits($this, 4 + (!$eof ? 0 : 1) | 0, 3);
        $java.cjj_Deflate_send_all_trees($this, $this.$l_desc.$max_code + 1 | 0, $this.$d_desc.$max_code + 1 | 0, $max_blindex + 1 | 0);
        $java.cjj_Deflate_compress_block($this, $this.$dyn_ltree, $this.$dyn_dtree);
    }
    $java.cjj_Deflate_init_block($this);
    if ($eof)
        $java.cjj_Deflate_bi_windup($this);
};
$java.cjj_Deflate_fill_window = function($this) {
    var $more, $n, $p, var$4, $m;
    while (true) {
        $more = ($this.$window_size - $this.$lookahead | 0) - $this.$strstart | 0;
        if (!$more && !$this.$strstart && !$this.$lookahead)
            $more = $this.$w_size;
        else if ($more == (-1))
            $more = $more + (-1) | 0;
        else if ($this.$strstart >= (($this.$w_size + $this.$w_size | 0) - 262 | 0)) {
            jl_System_arraycopy($this.$window2, $this.$w_size, $this.$window2, 0, $this.$w_size);
            $this.$match_start = $this.$match_start - $this.$w_size | 0;
            $this.$strstart = $this.$strstart - $this.$w_size | 0;
            $this.$block_start = $this.$block_start - $this.$w_size | 0;
            $n = $this.$hash_size;
            $p = $n;
            while (true) {
                var$4 = $this.$head5.data;
                $p = $p + (-1) | 0;
                $m = var$4[$p] & 65535;
                var$4 = $this.$head5;
                var$4.data[$p] = $m < $this.$w_size ? 0 : ($m - $this.$w_size | 0) << 16 >> 16;
                $n = $n + (-1) | 0;
                if (!$n)
                    break;
            }
            $n = $this.$w_size;
            $p = $n;
            while (true) {
                var$4 = $this.$prev.data;
                $p = $p + (-1) | 0;
                $m = var$4[$p] & 65535;
                var$4 = $this.$prev;
                var$4.data[$p] = $m < $this.$w_size ? 0 : ($m - $this.$w_size | 0) << 16 >> 16;
                $n = $n + (-1) | 0;
                if (!$n)
                    break;
            }
            $more = $more + $this.$w_size | 0;
        }
        if (!$this.$strm.$avail_in)
            return;
        $n = cjj_ZStream_read_buf($this.$strm, $this.$window2, $this.$strstart + $this.$lookahead | 0, $more);
        $this.$lookahead = $this.$lookahead + $n | 0;
        if ($this.$lookahead >= 3) {
            $this.$ins_h = $this.$window2.data[$this.$strstart] & 255;
            $this.$ins_h = ($this.$ins_h << $this.$hash_shift ^ $this.$window2.data[$this.$strstart + 1 | 0] & 255) & $this.$hash_mask;
        }
        if ($this.$lookahead >= 262)
            break;
        if ($this.$strm.$avail_in)
            continue;
        else
            break;
    }
};
$java.cjj_Deflate_deflate_fast = function($this, $flush) {
    var $hash_head, $bflush, var$4;
    $hash_head = 0;
    while (true) {
        if ($this.$lookahead < 262) {
            $java.cjj_Deflate_fill_window($this);
            if ($this.$lookahead < 262 && !$flush)
                return 0;
            if (!$this.$lookahead) {
                $flush = $rt_compare($flush, 4);
                $java.cjj_Deflate_flush_block_only($this, $flush ? 0 : 1);
                if (!$this.$strm.$avail_out) {
                    if ($flush)
                        return 0;
                    return 2;
                }
                return $flush ? 1 : 3;
            }
        }
        if ($this.$lookahead >= 3) {
            $this.$ins_h = ($this.$ins_h << $this.$hash_shift ^ $this.$window2.data[$this.$strstart + 2 | 0] & 255) & $this.$hash_mask;
            $hash_head = $this.$head5.data[$this.$ins_h] & 65535;
            $this.$prev.data[$this.$strstart & $this.$w_mask] = $this.$head5.data[$this.$ins_h];
            $this.$head5.data[$this.$ins_h] = $this.$strstart << 16 >> 16;
        }
        if (Long_ne(Long_fromInt($hash_head), Long_ZERO) && (($this.$strstart - $hash_head | 0) & 65535) <= ($this.$w_size - 262 | 0) && $this.$strategy != 2)
            $this.$match_length = $java.cjj_Deflate_longest_match($this, $hash_head);
        if ($this.$match_length < 3) {
            $bflush = $java.cjj_Deflate__tr_tally($this, 0, $this.$window2.data[$this.$strstart] & 255);
            $this.$lookahead = $this.$lookahead - 1 | 0;
            $this.$strstart = $this.$strstart + 1 | 0;
        } else {
            $bflush = $java.cjj_Deflate__tr_tally($this, $this.$strstart - $this.$match_start | 0, $this.$match_length - 3 | 0);
            $this.$lookahead = $this.$lookahead - $this.$match_length | 0;
            if ($this.$match_length <= $this.$max_lazy_match && $this.$lookahead >= 3) {
                $this.$match_length = $this.$match_length - 1 | 0;
                while (true) {
                    $this.$strstart = $this.$strstart + 1 | 0;
                    $this.$ins_h = ($this.$ins_h << $this.$hash_shift ^ $this.$window2.data[$this.$strstart + 2 | 0] & 255) & $this.$hash_mask;
                    $hash_head = $this.$head5.data[$this.$ins_h] & 65535;
                    $this.$prev.data[$this.$strstart & $this.$w_mask] = $this.$head5.data[$this.$ins_h];
                    $this.$head5.data[$this.$ins_h] = $this.$strstart << 16 >> 16;
                    var$4 = $this.$match_length - 1 | 0;
                    $this.$match_length = var$4;
                    if (var$4)
                        continue;
                    else
                        break;
                }
                $this.$strstart = $this.$strstart + 1 | 0;
            } else {
                $this.$strstart = $this.$strstart + $this.$match_length | 0;
                $this.$match_length = 0;
                $this.$ins_h = $this.$window2.data[$this.$strstart] & 255;
                $this.$ins_h = ($this.$ins_h << $this.$hash_shift ^ $this.$window2.data[$this.$strstart + 1 | 0] & 255) & $this.$hash_mask;
            }
        }
        if (!$bflush)
            continue;
        $java.cjj_Deflate_flush_block_only($this, 0);
        if (!$this.$strm.$avail_out)
            break;
    }
    return 0;
};
$java.cjj_Deflate_deflate_slow = function($this, $flush) {
    var $hash_head, $max_insert, $bflush, var$5;
    $hash_head = 0;
    while (true) {
        if ($this.$lookahead < 262) {
            $java.cjj_Deflate_fill_window($this);
            if ($this.$lookahead < 262 && !$flush)
                return 0;
            if (!$this.$lookahead) {
                if ($this.$match_available) {
                    $java.cjj_Deflate__tr_tally($this, 0, $this.$window2.data[$this.$strstart - 1 | 0] & 255);
                    $this.$match_available = 0;
                }
                $flush = $rt_compare($flush, 4);
                $java.cjj_Deflate_flush_block_only($this, $flush ? 0 : 1);
                if (!$this.$strm.$avail_out) {
                    if ($flush)
                        return 0;
                    return 2;
                }
                return $flush ? 1 : 3;
            }
        }
        if ($this.$lookahead >= 3) {
            $this.$ins_h = ($this.$ins_h << $this.$hash_shift ^ $this.$window2.data[$this.$strstart + 2 | 0] & 255) & $this.$hash_mask;
            $hash_head = $this.$head5.data[$this.$ins_h] & 65535;
            $this.$prev.data[$this.$strstart & $this.$w_mask] = $this.$head5.data[$this.$ins_h];
            $this.$head5.data[$this.$ins_h] = $this.$strstart << 16 >> 16;
        }
        a: {
            $this.$prev_length = $this.$match_length;
            $this.$prev_match = $this.$match_start;
            $this.$match_length = 2;
            if ($hash_head && $this.$prev_length < $this.$max_lazy_match && (($this.$strstart - $hash_head | 0) & 65535) <= ($this.$w_size - 262 | 0)) {
                if ($this.$strategy != 2)
                    $this.$match_length = $java.cjj_Deflate_longest_match($this, $hash_head);
                if ($this.$match_length <= 5) {
                    if ($this.$strategy != 1) {
                        if ($this.$match_length != 3)
                            break a;
                        if (($this.$strstart - $this.$match_start | 0) <= 4096)
                            break a;
                    }
                    $this.$match_length = 2;
                }
            }
        }
        if (!($this.$prev_length >= 3 && $this.$match_length <= $this.$prev_length)) {
            if (!$this.$match_available) {
                $this.$match_available = 1;
                $this.$strstart = $this.$strstart + 1 | 0;
                $this.$lookahead = $this.$lookahead - 1 | 0;
                continue;
            }
            if ($java.cjj_Deflate__tr_tally($this, 0, $this.$window2.data[$this.$strstart - 1 | 0] & 255))
                $java.cjj_Deflate_flush_block_only($this, 0);
            $this.$strstart = $this.$strstart + 1 | 0;
            $this.$lookahead = $this.$lookahead - 1 | 0;
            if (!$this.$strm.$avail_out)
                break;
            continue;
        }
        $max_insert = ($this.$strstart + $this.$lookahead | 0) - 3 | 0;
        $bflush = $java.cjj_Deflate__tr_tally($this, ($this.$strstart - 1 | 0) - $this.$prev_match | 0, $this.$prev_length - 3 | 0);
        $this.$lookahead = $this.$lookahead - ($this.$prev_length - 1 | 0) | 0;
        $this.$prev_length = $this.$prev_length - 2 | 0;
        while (true) {
            var$5 = $this.$strstart + 1 | 0;
            $this.$strstart = var$5;
            if (var$5 <= $max_insert) {
                $this.$ins_h = ($this.$ins_h << $this.$hash_shift ^ $this.$window2.data[$this.$strstart + 2 | 0] & 255) & $this.$hash_mask;
                $hash_head = $this.$head5.data[$this.$ins_h] & 65535;
                $this.$prev.data[$this.$strstart & $this.$w_mask] = $this.$head5.data[$this.$ins_h];
                $this.$head5.data[$this.$ins_h] = $this.$strstart << 16 >> 16;
            }
            var$5 = $this.$prev_length - 1 | 0;
            $this.$prev_length = var$5;
            if (!var$5)
                break;
        }
        $this.$match_available = 0;
        $this.$match_length = 2;
        $this.$strstart = $this.$strstart + 1 | 0;
        if ($bflush) {
            $java.cjj_Deflate_flush_block_only($this, 0);
            if (!$this.$strm.$avail_out)
                return 0;
        }
    }
    return 0;
};
$java.cjj_Deflate_longest_match = function($this, $cur_match) {
    var $chain_length, $scan, $best_len, $limit, $nice_match, $wmask, $strend, var$9, $len, $scan_end1, $scan_end, var$13, var$14, var$15, var$16;
    $chain_length = $this.$max_chain_length;
    $scan = $this.$strstart;
    $best_len = $this.$prev_length;
    $limit = $this.$strstart <= ($this.$w_size - 262 | 0) ? 0 : $this.$strstart - ($this.$w_size - 262 | 0) | 0;
    $nice_match = $this.$nice_match;
    $wmask = $this.$w_mask;
    $strend = $this.$strstart + 258 | 0;
    var$9 = $this.$window2.data;
    $len = $scan + $best_len | 0;
    $scan_end1 = var$9[$len - 1 | 0];
    $scan_end = $this.$window2.data[$len];
    if ($this.$prev_length >= $this.$good_match)
        $chain_length = $chain_length >> 2;
    if ($nice_match > $this.$lookahead)
        $nice_match = $this.$lookahead;
    var$13 = $strend - 258 | 0;
    a: {
        while (true) {
            var$9 = $this.$window2.data;
            $len = $cur_match + $best_len | 0;
            if (var$9[$len] == $scan_end && $this.$window2.data[$len - 1 | 0] == $scan_end1 && $this.$window2.data[$cur_match] == $this.$window2.data[$scan]) {
                var$9 = $this.$window2.data;
                var$14 = $cur_match + 1 | 0;
                if (var$9[var$14] == $this.$window2.data[$scan + 1 | 0]) {
                    $scan = $scan + 2 | 0;
                    var$15 = var$14 + 1 | 0;
                    b: {
                        while (true) {
                            var$9 = $this.$window2.data;
                            $scan = $scan + 1 | 0;
                            $len = var$9[$scan];
                            var$9 = $this.$window2.data;
                            var$14 = var$15 + 1 | 0;
                            if ($len != var$9[var$14])
                                break;
                            var$9 = $this.$window2.data;
                            $scan = $scan + 1 | 0;
                            $len = var$9[$scan];
                            var$9 = $this.$window2.data;
                            var$14 = var$14 + 1 | 0;
                            if ($len != var$9[var$14])
                                break b;
                            var$9 = $this.$window2.data;
                            $scan = $scan + 1 | 0;
                            $len = var$9[$scan];
                            var$9 = $this.$window2.data;
                            var$14 = var$14 + 1 | 0;
                            if ($len != var$9[var$14])
                                break b;
                            var$9 = $this.$window2.data;
                            $scan = $scan + 1 | 0;
                            $len = var$9[$scan];
                            var$9 = $this.$window2.data;
                            var$14 = var$14 + 1 | 0;
                            if ($len != var$9[var$14])
                                break b;
                            var$9 = $this.$window2.data;
                            $scan = $scan + 1 | 0;
                            $len = var$9[$scan];
                            var$9 = $this.$window2.data;
                            var$14 = var$14 + 1 | 0;
                            if ($len != var$9[var$14])
                                break b;
                            var$9 = $this.$window2.data;
                            $scan = $scan + 1 | 0;
                            var$15 = var$9[$scan];
                            var$9 = $this.$window2.data;
                            var$16 = var$14 + 1 | 0;
                            if (var$15 != var$9[var$16])
                                break b;
                            var$9 = $this.$window2.data;
                            $scan = $scan + 1 | 0;
                            $len = var$9[$scan];
                            var$9 = $this.$window2.data;
                            var$14 = var$16 + 1 | 0;
                            if ($len != var$9[var$14])
                                break b;
                            var$9 = $this.$window2.data;
                            $scan = $scan + 1 | 0;
                            $len = var$9[$scan];
                            var$9 = $this.$window2.data;
                            var$15 = var$14 + 1 | 0;
                            if ($len != var$9[var$15])
                                break b;
                            if ($scan >= $strend)
                                break b;
                        }
                    }
                    $len = 258 - ($strend - $scan | 0) | 0;
                    if ($len <= $best_len)
                        $scan = var$13;
                    else {
                        $this.$match_start = $cur_match;
                        if ($len >= $nice_match)
                            break;
                        var$9 = $this.$window2.data;
                        var$14 = var$13 + $len | 0;
                        $scan_end1 = var$9[var$14 - 1 | 0];
                        $scan_end = $this.$window2.data[var$14];
                        $scan = var$13;
                        $best_len = $len;
                    }
                }
            }
            $cur_match = $this.$prev.data[$cur_match & $wmask] & 65535;
            if ($cur_match <= $limit) {
                $len = $best_len;
                break a;
            }
            $chain_length = $chain_length + (-1) | 0;
            if (!$chain_length) {
                $len = $best_len;
                break a;
            }
        }
    }
    if ($len <= $this.$lookahead)
        return $len;
    return $this.$lookahead;
};
$java.cjj_Deflate_deflateInit = function($this, $level, $bits) {
    return $java.cjj_Deflate_deflateInit0($this, $level, 8, $bits, 8, 0);
};
$java.cjj_Deflate_deflateInit0 = function($this, $level, $method, $windowBits, $memLevel, $strategy) {
    var $wrap;
    $wrap = 1;
    $this.$strm.$msg = null;
    if ($level == (-1))
        $level = 6;
    if ($windowBits < 0) {
        $wrap = 0;
        $windowBits =  -$windowBits;
    } else if ($windowBits > 15) {
        $wrap = 2;
        $windowBits = $windowBits + (-16) | 0;
        $this.$strm.$adler = cjj_CRC32__init_0();
    }
    a: {
        if ($memLevel < 1)
            break a;
        if ($memLevel > 9)
            break a;
        if ($method != 8)
            break a;
        if ($windowBits < 9)
            break a;
        if ($windowBits > 15)
            break a;
        if ($level < 0)
            break a;
        if ($level > 9)
            break a;
        if ($strategy < 0)
            break a;
        if ($strategy <= 2) {
            $this.$strm.$dstate = $this;
            $this.$wrap5 = $wrap;
            $this.$w_bits = $windowBits;
            $this.$w_size = 1 << $this.$w_bits;
            $this.$w_mask = $this.$w_size - 1 | 0;
            $this.$hash_bits = $memLevel + 7 | 0;
            $this.$hash_size = 1 << $this.$hash_bits;
            $this.$hash_mask = $this.$hash_size - 1 | 0;
            $this.$hash_shift = (($this.$hash_bits + 3 | 0) - 1 | 0) / 3 | 0;
            $this.$window2 = $rt_createByteArray($this.$w_size * 2 | 0);
            $this.$prev = $rt_createShortArray($this.$w_size);
            $this.$head5 = $rt_createShortArray($this.$hash_size);
            $this.$lit_bufsize = 1 << ($memLevel + 6 | 0);
            $this.$pending_buf = $rt_createByteArray($this.$lit_bufsize * 3 | 0);
            $this.$pending_buf_size = $this.$lit_bufsize * 3 | 0;
            $this.$d_buf = $this.$lit_bufsize;
            $this.$l_buf = $rt_createByteArray($this.$lit_bufsize);
            $this.$level0 = $level;
            $this.$strategy = $strategy;
            $this.$method1 = $method << 24 >> 24;
            return $java.cjj_Deflate_deflateReset($this);
        }
    }
    return (-2);
};
$java.cjj_Deflate_deflateReset = function($this) {
    var var$1;
    var$1 = $this.$strm;
    $this.$strm.$total_out = Long_ZERO;
    var$1.$total_in = Long_ZERO;
    $this.$strm.$msg = null;
    $this.$strm.$data_type = 2;
    $this.$pending = 0;
    $this.$pending_out = 0;
    if ($this.$wrap5 < 0)
        $this.$wrap5 =  -$this.$wrap5;
    $this.$status1 = $this.$wrap5 ? 42 : 113;
    $this.$strm.$adler.$reset();
    $this.$last_flush = 0;
    $java.cjj_Deflate_tr_init($this);
    $java.cjj_Deflate_lm_init($this);
    return 0;
};
$java.cjj_Deflate_deflateEnd = function($this) {
    if ($this.$status1 != 42 && $this.$status1 != 113 && $this.$status1 != 666)
        return (-2);
    $this.$pending_buf = null;
    $this.$l_buf = null;
    $this.$head5 = null;
    $this.$prev = null;
    $this.$window2 = null;
    return $this.$status1 != 113 ? 0 : (-3);
};
$java.cjj_Deflate_deflate = function($this, $flush) {
    var var$2, $old_flush, $header, $level_flags, $bstate, $adler, $i;
    var$2 = $rt_compare($flush, 4);
    if (var$2 <= 0 && $flush >= 0) {
        a: {
            if ($this.$strm.$next_out !== null && !($this.$strm.$next_in === null && $this.$strm.$avail_in)) {
                if ($this.$status1 != 666)
                    break a;
                if (!var$2)
                    break a;
            }
            $this.$strm.$msg = $java.cjj_Deflate_z_errmsg.data[4];
            return (-2);
        }
        if (!$this.$strm.$avail_out) {
            $this.$strm.$msg = $java.cjj_Deflate_z_errmsg.data[7];
            return (-5);
        }
        $old_flush = $this.$last_flush;
        $this.$last_flush = $flush;
        if ($this.$status1 == 42) {
            if ($this.$wrap5 == 2) {
                $java.cjj_GZIPHeader_put($java.cjj_Deflate_getGZIPHeader($this), $this);
                $this.$status1 = 113;
                $this.$strm.$adler.$reset();
            } else {
                $header = (8 + (($this.$w_bits - 8 | 0) << 4) | 0) << 8;
                $level_flags = (($this.$level0 - 1 | 0) & 255) >> 1;
                if ($level_flags > 3)
                    $level_flags = 3;
                $bstate = $header | $level_flags << 6;
                if ($this.$strstart)
                    $bstate = $bstate | 32;
                $bstate = $bstate + (31 - ($bstate % 31 | 0) | 0) | 0;
                $this.$status1 = 113;
                $java.cjj_Deflate_putShortMSB($this, $bstate);
                if ($this.$strstart) {
                    $adler = $this.$strm.$adler.$getValue1();
                    $java.cjj_Deflate_putShortMSB($this, Long_shru($adler, 16).lo);
                    $java.cjj_Deflate_putShortMSB($this, Long_and($adler, Long_fromInt(65535)).lo);
                }
                $this.$strm.$adler.$reset();
            }
        }
        b: {
            if ($this.$pending) {
                cjj_ZStream_flush_pending($this.$strm);
                if ($this.$strm.$avail_out)
                    break b;
                $this.$last_flush = (-1);
                return 0;
            }
            if (!$this.$strm.$avail_in && $flush <= $old_flush && var$2) {
                $this.$strm.$msg = $java.cjj_Deflate_z_errmsg.data[7];
                return (-5);
            }
        }
        if ($this.$status1 == 666 && $this.$strm.$avail_in) {
            $this.$strm.$msg = $java.cjj_Deflate_z_errmsg.data[7];
            return (-5);
        }
        c: {
            if (!$this.$strm.$avail_in && !$this.$lookahead) {
                if (!$flush)
                    break c;
                if ($this.$status1 == 666)
                    break c;
            }
            d: {
                $bstate = (-1);
                switch ($java.cjj_Deflate_config_table.data[$this.$level0].$func) {
                    case 0:
                        $bstate = $java.cjj_Deflate_deflate_stored($this, $flush);
                        break d;
                    case 1:
                        $bstate = $java.cjj_Deflate_deflate_fast($this, $flush);
                        break d;
                    case 2:
                        $bstate = $java.cjj_Deflate_deflate_slow($this, $flush);
                        break d;
                    default:
                }
            }
            $old_flush = $rt_compare($bstate, 2);
            if (!($old_flush && $bstate != 3))
                $this.$status1 = 666;
            if ($bstate && $old_flush) {
                if ($bstate != 1)
                    break c;
                e: {
                    if ($flush == 1)
                        $java.cjj_Deflate__tr_align($this);
                    else {
                        $java.cjj_Deflate__tr_stored_block($this, 0, 0, 0);
                        if ($flush == 3) {
                            $i = 0;
                            while (true) {
                                if ($i >= $this.$hash_size)
                                    break e;
                                $this.$head5.data[$i] = 0;
                                $i = $i + 1 | 0;
                            }
                        }
                    }
                }
                cjj_ZStream_flush_pending($this.$strm);
                if ($this.$strm.$avail_out)
                    break c;
                $this.$last_flush = (-1);
                return 0;
            }
            if (!$this.$strm.$avail_out)
                $this.$last_flush = (-1);
            return 0;
        }
        if (var$2)
            return 0;
        if ($this.$wrap5 <= 0)
            return 1;
        if ($this.$wrap5 != 2) {
            $adler = $this.$strm.$adler.$getValue1();
            $java.cjj_Deflate_putShortMSB($this, Long_shru($adler, 16).lo);
            $java.cjj_Deflate_putShortMSB($this, Long_and($adler, Long_fromInt(65535)).lo);
        } else {
            $adler = $this.$strm.$adler.$getValue1();
            $java.cjj_Deflate_put_byte($this, Long_and($adler, Long_fromInt(255)).lo << 24 >> 24);
            $java.cjj_Deflate_put_byte($this, Long_and(Long_shr($adler, 8), Long_fromInt(255)).lo << 24 >> 24);
            $java.cjj_Deflate_put_byte($this, Long_and(Long_shr($adler, 16), Long_fromInt(255)).lo << 24 >> 24);
            $java.cjj_Deflate_put_byte($this, Long_and(Long_shr($adler, 24), Long_fromInt(255)).lo << 24 >> 24);
            $java.cjj_Deflate_put_byte($this, Long_and($this.$strm.$total_in, Long_fromInt(255)).lo << 24 >> 24);
            $java.cjj_Deflate_put_byte($this, Long_and(Long_shr($this.$strm.$total_in, 8), Long_fromInt(255)).lo << 24 >> 24);
            $java.cjj_Deflate_put_byte($this, Long_and(Long_shr($this.$strm.$total_in, 16), Long_fromInt(255)).lo << 24 >> 24);
            $java.cjj_Deflate_put_byte($this, Long_and(Long_shr($this.$strm.$total_in, 24), Long_fromInt(255)).lo << 24 >> 24);
            $java.cjj_GZIPHeader_setCRC($java.cjj_Deflate_getGZIPHeader($this), $adler);
        }
        cjj_ZStream_flush_pending($this.$strm);
        if ($this.$wrap5 > 0)
            $this.$wrap5 =  -$this.$wrap5;
        return !$this.$pending ? 1 : 0;
    }
    return (-2);
};
$java.cjj_Deflate_getGZIPHeader = function($this) {
    jl_Object_monitorEnterSync($this);
    try {
        if ($this.$gheader0 === null)
            $this.$gheader0 = cjj_GZIPHeader__init_0();
        return $this.$gheader0;
    } finally {
        jl_Object_monitorExitSync($this);
    }
};
function cjj_Deflate__clinit_() {
    var var$1, var$2;
    $java.cjj_Deflate_config_table = $rt_createArray(cjj_Deflate$Config, 10);
    $java.cjj_Deflate_config_table.data[0] = $java.cjj_Deflate$Config__init_(0, 0, 0, 0, 0);
    $java.cjj_Deflate_config_table.data[1] = $java.cjj_Deflate$Config__init_(4, 4, 8, 4, 1);
    $java.cjj_Deflate_config_table.data[2] = $java.cjj_Deflate$Config__init_(4, 5, 16, 8, 1);
    $java.cjj_Deflate_config_table.data[3] = $java.cjj_Deflate$Config__init_(4, 6, 32, 32, 1);
    $java.cjj_Deflate_config_table.data[4] = $java.cjj_Deflate$Config__init_(4, 4, 16, 16, 2);
    $java.cjj_Deflate_config_table.data[5] = $java.cjj_Deflate$Config__init_(8, 16, 32, 32, 2);
    $java.cjj_Deflate_config_table.data[6] = $java.cjj_Deflate$Config__init_(8, 16, 128, 128, 2);
    $java.cjj_Deflate_config_table.data[7] = $java.cjj_Deflate$Config__init_(8, 32, 128, 256, 2);
    $java.cjj_Deflate_config_table.data[8] = $java.cjj_Deflate$Config__init_(32, 128, 258, 1024, 2);
    $java.cjj_Deflate_config_table.data[9] = $java.cjj_Deflate$Config__init_(32, 258, 258, 4096, 2);
    var$1 = $rt_createArray(jl_String, 10);
    var$2 = var$1.data;
    var$2[0] = $rt_s(844);
    var$2[1] = $rt_s(3155);
    var$2[2] = $rt_s(36);
    var$2[3] = $rt_s(3156);
    var$2[4] = $rt_s(3157);
    var$2[5] = $rt_s(3158);
    var$2[6] = $rt_s(3159);
    var$2[7] = $rt_s(3160);
    var$2[8] = $rt_s(3161);
    var$2[9] = $rt_s(36);
    $java.cjj_Deflate_z_errmsg = var$1;
}
function nms_Packet51MapChunkData() {
    jl_Object.call(this);
}
$java.nms_Packet51MapChunkData__init_ = function() {
    var var_0 = new nms_Packet51MapChunkData();
    nms_Packet51MapChunkData__init_(var_0);
    return var_0;
};
function nms_Packet51MapChunkData__init_($this) {
    return;
}
function maajs_Key() {
}
function maajc_SecretKey() {
}
function maa_PubKey() {
    jl_Object.call(this);
}
$java.maa_PubKey_encoded = null;
$java.maa_PubKey_modulus = null;
$java.maa_PubKey_priexp = null;
$java.maa_PubKey_getEncoded = function($this) {
    return $java.maa_PubKey_encoded;
};
$java.maa_PubKey_getModulus = function($this) {
    return $java.maa_PubKey_modulus;
};
$java.maa_PubKey_getPriExp = function($this) {
    return $java.maa_PubKey_priexp;
};
function maa_PubKey__clinit_() {
    $java.maa_PubKey_encoded = null;
    $java.maa_PubKey_modulus = null;
    $java.maa_PubKey_priexp = null;
}
function jn_URLStreamHandlerFactory() {
}
function jn_URI() {
    var a = this; jl_Object.call(a);
    a.$port0 = 0;
    a.$hash = 0;
}
$java.jn_URI__init_ = function() {
    var var_0 = new jn_URI();
    jn_URI__init_(var_0);
    return var_0;
};
function jn_URI__init_($this) {
    $this.$port0 = (-1);
    $this.$hash = (-1);
}
function otjw_WebGLRenderbuffer() {
}
function otjc_JSSortFunction() {
}
function otcit_DateTimeZoneBuilder$RuleSet() {
    var a = this; jl_Object.call(a);
    a.$iRules = null;
    a.$iUpperYear = 0;
}
$java.otcit_DateTimeZoneBuilder$RuleSet_YEAR_LIMIT = 0;
$java.otcit_DateTimeZoneBuilder$RuleSet_$callClinit = function() {
    $java.otcit_DateTimeZoneBuilder$RuleSet_$callClinit = $rt_eraseClinit(otcit_DateTimeZoneBuilder$RuleSet);
    $java.otcit_DateTimeZoneBuilder$RuleSet__clinit_();
};
$java.otcit_DateTimeZoneBuilder$RuleSet__init_ = function() {
    var var_0 = new otcit_DateTimeZoneBuilder$RuleSet();
    otcit_DateTimeZoneBuilder$RuleSet__init_(var_0);
    return var_0;
};
function otcit_DateTimeZoneBuilder$RuleSet__init_($this) {
    $java.otcit_DateTimeZoneBuilder$RuleSet_$callClinit();
    $this.$iRules = ju_ArrayList__init_1(10);
    $this.$iUpperYear = 2147483647;
}
$java.otcit_DateTimeZoneBuilder$RuleSet__clinit_ = function() {
    $java.otcit_DateTimeZoneBuilder$RuleSet_YEAR_LIMIT = ju_Calendar_get(ju_Calendar_getInstance(), 1) + 100 | 0;
};
function otcit_DateTimeZoneBuilder$Transition() {
    jl_Object.call(this);
}
function nleat_WebGLQuery() {
}
function nms_MapInfo() {
    jl_Object.call(this);
}
function otcir_JSCallable() {
}
function nms_ExtendedBlockStorage() {
    var a = this; jl_Object.call(a);
    a.$yBase = 0;
    a.$blockRefCount = 0;
    a.$tickRefCount = 0;
    a.$blockLSBArray = null;
    a.$blockMSBArray = null;
    a.$blockMetadataArray = null;
    a.$blocklightArray = null;
    a.$skylightArray = null;
}
$java.nms_ExtendedBlockStorage__init_0 = function(var_0, var_1) {
    var var_2 = new nms_ExtendedBlockStorage();
    $java.nms_ExtendedBlockStorage__init_(var_2, var_0, var_1);
    return var_2;
};
$java.nms_ExtendedBlockStorage__init_ = function($this, $par1, $par2) {
    $this.$yBase = $par1;
    $this.$blockLSBArray = $rt_createByteArray(4096);
    $this.$blockMetadataArray = $java.nms_NibbleArray__init_($this.$blockLSBArray.data.length, 4);
    $this.$blocklightArray = $java.nms_NibbleArray__init_($this.$blockLSBArray.data.length, 4);
    if ($par2)
        $this.$skylightArray = $java.nms_NibbleArray__init_($this.$blockLSBArray.data.length, 4);
};
$java.nms_ExtendedBlockStorage_getExtBlockID = function($this, $par1, $par2, $par3) {
    var $var4;
    $var4 = $this.$blockLSBArray.data[$par2 << 8 | $par3 << 4 | $par1] & 255;
    if ($this.$blockMSBArray !== null)
        $var4 = $java.nms_NibbleArray_get($this.$blockMSBArray, $par1, $par2, $par3) << 8 | $var4;
    return $var4;
};
$java.nms_ExtendedBlockStorage_setExtBlockID = function($this, $par1, $par2, $par3, $par4) {
    var var$5, var$6, $var5;
    var$5 = $this.$blockLSBArray.data;
    var$6 = $par2 << 8 | $par3 << 4 | $par1;
    $var5 = var$5[var$6] & 255;
    if ($this.$blockMSBArray !== null)
        $var5 = $var5 | $java.nms_NibbleArray_get($this.$blockMSBArray, $par1, $par2, $par3) << 8;
    if (!$var5 && $par4) {
        $this.$blockRefCount = $this.$blockRefCount + 1 | 0;
        nms_Block_$callClinit();
        if (nms_Block_blocksList.data[$par4] !== null && nms_Block_blocksList.data[$par4].$needsRandomTick)
            $this.$tickRefCount = $this.$tickRefCount + 1 | 0;
    } else if ($var5 && !$par4) {
        $this.$blockRefCount = $this.$blockRefCount - 1 | 0;
        nms_Block_$callClinit();
        if (nms_Block_blocksList.data[$var5] !== null && nms_Block_blocksList.data[$var5].$needsRandomTick)
            $this.$tickRefCount = $this.$tickRefCount - 1 | 0;
    } else {
        nms_Block_$callClinit();
        if (nms_Block_blocksList.data[$var5] !== null && nms_Block_blocksList.data[$var5].$needsRandomTick && !(nms_Block_blocksList.data[$par4] !== null && nms_Block_blocksList.data[$par4].$needsRandomTick))
            $this.$tickRefCount = $this.$tickRefCount - 1 | 0;
        else if (!(nms_Block_blocksList.data[$var5] !== null && nms_Block_blocksList.data[$var5].$needsRandomTick) && nms_Block_blocksList.data[$par4] !== null && nms_Block_blocksList.data[$par4].$needsRandomTick)
            $this.$tickRefCount = $this.$tickRefCount + 1 | 0;
    }
    $this.$blockLSBArray.data[var$6] = ($par4 & 255) << 24 >> 24;
    if ($par4 > 255) {
        if ($this.$blockMSBArray === null)
            $this.$blockMSBArray = $java.nms_NibbleArray__init_($this.$blockLSBArray.data.length, 4);
        $java.nms_NibbleArray_set($this.$blockMSBArray, $par1, $par2, $par3, ($par4 & 3840) >> 8);
    } else if ($this.$blockMSBArray !== null)
        $java.nms_NibbleArray_set($this.$blockMSBArray, $par1, $par2, $par3, 0);
};
$java.nms_ExtendedBlockStorage_getExtBlockMetadata = function($this, $par1, $par2, $par3) {
    return $java.nms_NibbleArray_get($this.$blockMetadataArray, $par1, $par2, $par3);
};
$java.nms_ExtendedBlockStorage_setExtBlockMetadata = function($this, $par1, $par2, $par3, $par4) {
    $java.nms_NibbleArray_set($this.$blockMetadataArray, $par1, $par2, $par3, $par4);
};
$java.nms_ExtendedBlockStorage_isEmpty = function($this) {
    return $this.$blockRefCount ? 0 : 1;
};
$java.nms_ExtendedBlockStorage_getYLocation = function($this) {
    return $this.$yBase;
};
$java.nms_ExtendedBlockStorage_setExtSkylightValue = function($this, $par1, $par2, $par3, $par4) {
    $java.nms_NibbleArray_set($this.$skylightArray, $par1, $par2, $par3, $par4);
};
$java.nms_ExtendedBlockStorage_getExtSkylightValue = function($this, $par1, $par2, $par3) {
    return $java.nms_NibbleArray_get($this.$skylightArray, $par1, $par2, $par3);
};
$java.nms_ExtendedBlockStorage_setExtBlocklightValue = function($this, $par1, $par2, $par3, $par4) {
    $java.nms_NibbleArray_set($this.$blocklightArray, $par1, $par2, $par3, $par4);
};
$java.nms_ExtendedBlockStorage_getExtBlocklightValue = function($this, $par1, $par2, $par3) {
    return $java.nms_NibbleArray_get($this.$blocklightArray, $par1, $par2, $par3);
};
$java.nms_ExtendedBlockStorage_removeInvalidBlocks = function($this) {
    var $var1, $var2, $var3, $var4;
    $this.$blockRefCount = 0;
    $this.$tickRefCount = 0;
    $var1 = 0;
    while ($var1 < 16) {
        $var2 = 0;
        while ($var2 < 16) {
            $var3 = 0;
            while ($var3 < 16) {
                $var4 = $java.nms_ExtendedBlockStorage_getExtBlockID($this, $var1, $var2, $var3);
                if ($var4 > 0) {
                    nms_Block_$callClinit();
                    if (nms_Block_blocksList.data[$var4] !== null) {
                        $this.$blockRefCount = $this.$blockRefCount + 1 | 0;
                        if (nms_Block_blocksList.data[$var4].$needsRandomTick)
                            $this.$tickRefCount = $this.$tickRefCount + 1 | 0;
                    } else {
                        $this.$blockLSBArray.data[$var2 << 8 | $var3 << 4 | $var1] = 0;
                        if ($this.$blockMSBArray !== null)
                            $java.nms_NibbleArray_set($this.$blockMSBArray, $var1, $var2, $var3, 0);
                    }
                }
                $var3 = $var3 + 1 | 0;
            }
            $var2 = $var2 + 1 | 0;
        }
        $var1 = $var1 + 1 | 0;
    }
};
$java.nms_ExtendedBlockStorage_getBlockLSBArray = function($this) {
    return $this.$blockLSBArray;
};
$java.nms_ExtendedBlockStorage_clearMSBArray = function($this) {
    $this.$blockMSBArray = null;
};
$java.nms_ExtendedBlockStorage_getBlockMSBArray = function($this) {
    return $this.$blockMSBArray;
};
$java.nms_ExtendedBlockStorage_getMetadataArray = function($this) {
    return $this.$blockMetadataArray;
};
$java.nms_ExtendedBlockStorage_getBlocklightArray = function($this) {
    return $this.$blocklightArray;
};
$java.nms_ExtendedBlockStorage_getSkylightArray = function($this) {
    return $this.$skylightArray;
};
$java.nms_ExtendedBlockStorage_createBlockMSBArray = function($this) {
    $this.$blockMSBArray = $java.nms_NibbleArray__init_($this.$blockLSBArray.data.length, 4);
    return $this.$blockMSBArray;
};
function nms_ChunkCoordIntPair() {
    var a = this; jl_Object.call(a);
    a.$chunkXPos = 0;
    a.$chunkZPos = 0;
}
$java.nms_ChunkCoordIntPair_chunkXZ2Int = function($par0, $par1) {
    return Long_or(Long_and(Long_fromInt($par0), new Long(4294967295, 0)), Long_shl(Long_and(Long_fromInt($par1), new Long(4294967295, 0)), 32));
};
$java.nms_ChunkCoordIntPair_hashCode = function($this) {
    var $var1;
    $var1 = $java.nms_ChunkCoordIntPair_chunkXZ2Int($this.$chunkXPos, $this.$chunkZPos);
    return $var1.lo ^ $var1.hi;
};
$java.nms_ChunkCoordIntPair_equals = function($this, $par1Obj) {
    var $var2;
    $var2 = $par1Obj;
    return $var2.$chunkXPos == $this.$chunkXPos && $var2.$chunkZPos == $this.$chunkZPos ? 1 : 0;
};
$java.nms_ChunkCoordIntPair_toString = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(346));
    jl_AbstractStringBuilder_append2(var$1, $this.$chunkXPos);
    jl_AbstractStringBuilder_append(var$1, $rt_s(368));
    jl_AbstractStringBuilder_append2(var$1, $this.$chunkZPos);
    jl_AbstractStringBuilder_append(var$1, $rt_s(274));
    return jl_AbstractStringBuilder_toString(var$1);
};
function ji_File() {
    jl_Object.call(this);
}
$java.ji_File_separatorChar = 0;
$java.ji_File_separator = null;
$java.ji_File_pathSeparatorChar = 0;
$java.ji_File_pathSeparator = null;
$java.ji_File_fs = function() {
    return $java.otcf_VirtualFileSystemProvider_instance;
};
function ji_File__clinit_() {
    $java.ji_File_fs();
    $java.ji_File_separatorChar = 47;
    $java.ji_File_separator = jl_String_valueOf0($java.ji_File_separatorChar);
    $java.ji_File_fs();
    $java.ji_File_pathSeparatorChar = 58;
    $java.ji_File_pathSeparator = jl_String_valueOf0($java.ji_File_pathSeparatorChar);
}
function jsm_Patch() {
    jl_Object.call(this);
}
function jsm_MidiDevice$Info() {
    jl_Object.call(this);
}
function jsm_MidiDevice() {
}
function jsm_Receiver() {
}
function jsm_Transmitter() {
}
function jsm_Synthesizer() {
}
function jsm_Sequencer() {
}
function jsm_Soundbank() {
}
function jsm_MidiFileFormat() {
    var a = this; jl_Object.call(a);
    a.$type5 = 0;
    a.$divisionType0 = 0.0;
    a.$resolution0 = 0;
    a.$byteLength = 0;
    a.$microsecondLength = Long_ZERO;
    a.$properties = null;
}
$java.jsm_MidiFileFormat_getType = function(var$0) {
    return var$0.$type5;
};
$java.jsm_MidiFileFormat_getDivisionType = function(var$0) {
    return var$0.$divisionType0;
};
$java.jsm_MidiFileFormat_getResolution = function(var$0) {
    return var$0.$resolution0;
};
function nms_Empty3() {
    jl_Object.call(this);
}
$java.nms_Empty3__init_ = function() {
    var var_0 = new nms_Empty3();
    nms_Empty3__init_(var_0);
    return var_0;
};
function nms_Empty3__init_($this) {
    return;
}
function otjde_MessageEvent() {
}
function otjw_CloseEvent() {
}
function jss_Mixer$Info() {
    jl_Object.call(this);
}
function jss_Line() {
}
function jss_Mixer() {
}
function jss_AudioFormat$Encoding() {
    jl_Object.call(this);
    this.$name23 = null;
}
$java.jss_AudioFormat$Encoding_PCM_SIGNED = null;
$java.jss_AudioFormat$Encoding_PCM_UNSIGNED = null;
$java.jss_AudioFormat$Encoding_PCM_FLOAT = null;
$java.jss_AudioFormat$Encoding_ULAW = null;
$java.jss_AudioFormat$Encoding_ALAW = null;
$java.jss_AudioFormat$Encoding__init_ = function(var_0) {
    var var_1 = new jss_AudioFormat$Encoding();
    $java.jss_AudioFormat$Encoding__init_0(var_1, var_0);
    return var_1;
};
$java.jss_AudioFormat$Encoding__init_0 = function(var$0, var$1) {
    var$0.$name23 = var$1;
};
function jss_AudioFormat$Encoding__clinit_() {
    $java.jss_AudioFormat$Encoding_PCM_SIGNED = $java.jss_AudioFormat$Encoding__init_($rt_s(3162));
    $java.jss_AudioFormat$Encoding_PCM_UNSIGNED = $java.jss_AudioFormat$Encoding__init_($rt_s(3163));
    $java.jss_AudioFormat$Encoding_PCM_FLOAT = $java.jss_AudioFormat$Encoding__init_($rt_s(3164));
    $java.jss_AudioFormat$Encoding_ULAW = $java.jss_AudioFormat$Encoding__init_($rt_s(3165));
    $java.jss_AudioFormat$Encoding_ALAW = $java.jss_AudioFormat$Encoding__init_($rt_s(3166));
}
function jss_AudioFormat() {
    jl_Object.call(this);
}
function jss_AudioInputStream() {
    ji_InputStream.call(this);
}
function jss_AudioFileFormat() {
    jl_Object.call(this);
}
function jss_AudioFileFormat$Type() {
    var a = this; jl_Object.call(a);
    a.$name24 = null;
    a.$extension = null;
}
$java.jss_AudioFileFormat$Type_WAVE = null;
$java.jss_AudioFileFormat$Type_AU = null;
$java.jss_AudioFileFormat$Type_AIFF = null;
$java.jss_AudioFileFormat$Type_AIFC = null;
$java.jss_AudioFileFormat$Type_SND = null;
$java.jss_AudioFileFormat$Type__init_ = function(var_0, var_1) {
    var var_2 = new jss_AudioFileFormat$Type();
    $java.jss_AudioFileFormat$Type__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.jss_AudioFileFormat$Type__init_0 = function(var$0, var$1, var$2) {
    var$0.$name24 = var$1;
    var$0.$extension = var$2;
};
function jss_AudioFileFormat$Type__clinit_() {
    $java.jss_AudioFileFormat$Type_WAVE = $java.jss_AudioFileFormat$Type__init_($rt_s(3167), $rt_s(3168));
    $java.jss_AudioFileFormat$Type_AU = $java.jss_AudioFileFormat$Type__init_($rt_s(3169), $rt_s(3170));
    $java.jss_AudioFileFormat$Type_AIFF = $java.jss_AudioFileFormat$Type__init_($rt_s(3171), $rt_s(3172));
    $java.jss_AudioFileFormat$Type_AIFC = $java.jss_AudioFileFormat$Type__init_($rt_s(3173), $rt_s(3174));
    $java.jss_AudioFileFormat$Type_SND = $java.jss_AudioFileFormat$Type__init_($rt_s(3175), $rt_s(3176));
}
function jl_Thread$start$lambda$_4_0() {
    jl_Object.call(this);
    this.$_01 = null;
}
$java.jl_Thread$start$lambda$_4_0_run = function(var$0) {
    var var$1, var$2, var$3, $$je, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();var$0 = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$1 = var$0.$_01;
        try {
            jl_Thread_activeCount = jl_Thread_activeCount + 1 | 0;
            jl_Thread_setCurrentThread(var$1);
            $ptr = 1;
            continue main;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            var$2 = $$je;

        }
        var$3 = var$1.$finishedLock;
        $ptr = 2;
        continue main;
    case 1:
        a: {
            try {
                jl_Thread_run(var$1);
                if ($rt_suspending()) {
                    break main;
                }
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$2 = $$je;
                break a;

            }
            var$2 = var$1.$finishedLock;
            $ptr = 3;
            continue main;
        }
        var$3 = var$1.$finishedLock;
        $ptr = 2;
    case 2:
        jl_Object_monitorEnter(var$3);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            try {
                jl_Object_notifyAll(var$1.$finishedLock);
                jl_Object_monitorExit(var$3);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;

            }
            jl_Object_monitorExit(var$3);
            $rt_throw(var$1);
        }
        var$1.$alive = 0;
        jl_Thread_activeCount = jl_Thread_activeCount - 1 | 0;
        jl_Thread_setCurrentThread(jl_Thread_mainThread);
        $rt_throw(var$2);
    case 3:
        jl_Object_monitorEnter(var$2);
        if ($rt_suspending()) {
            break main;
        }
        a: {
            try {
                jl_Object_notifyAll(var$1.$finishedLock);
                jl_Object_monitorExit(var$2);
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                var$1 = $$je;

            }
            jl_Object_monitorExit(var$2);
            $rt_throw(var$1);
        }
        var$1.$alive = 0;
        jl_Thread_activeCount = jl_Thread_activeCount - 1 | 0;
        jl_Thread_setCurrentThread(jl_Thread_mainThread);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push(var$0, var$1, var$2, var$3, $ptr);
};
function nms_EnumOptionsHelper() {
    jl_Object.call(this);
}
var nms_EnumOptionsHelper_enumOptionsMappingHelperArray = null;
function nms_EnumOptionsHelper_$callClinit() {
    nms_EnumOptionsHelper_$callClinit = $rt_eraseClinit(nms_EnumOptionsHelper);
    $java.nms_EnumOptionsHelper__clinit_();
}
$java.nms_EnumOptionsHelper__init_ = function() {
    var var_0 = new nms_EnumOptionsHelper();
    nms_EnumOptionsHelper__init_(var_0);
    return var_0;
};
function nms_EnumOptionsHelper__init_($this) {
    nms_EnumOptionsHelper_$callClinit();
}
$java.nms_EnumOptionsHelper__clinit_ = function() {
    var $$je;
    nms_EnumOptionsHelper_enumOptionsMappingHelperArray = $rt_createIntArray(nms_EnumOptions_values().data.length);
    a: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_INVERT_MOUSE)] = 1;
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    b: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_VIEW_BOBBING)] = 2;
            break b;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    c: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_ANAGLYPH)] = 3;
            break c;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    d: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_RENDER_CLOUDS)] = 5;
            break d;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    e: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_CHAT_COLOR)] = 6;
            break e;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    f: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_CHAT_LINKS)] = 7;
            break f;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    g: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_CHAT_LINKS_PROMPT)] = 8;
            break g;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    h: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_USE_SERVER_TEXTURES)] = 9;
            break h;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    i: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_SNOOPER_ENABLED)] = 10;
            break i;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    j: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_USE_FULLSCREEN)] = 11;
            break j;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    k: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_PATCH_ANGLE)] = 12;
            break k;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    l: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_SHOW_CAPE)] = 13;
            break l;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    m: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_ANTIALIASING)] = 14;
            break m;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
    n: {
        try {
            nms_EnumOptionsHelper_enumOptionsMappingHelperArray.data[jl_Enum_ordinal(nms_EnumOptions_ENABLE_FOG)] = 15;
            break n;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NoSuchFieldError) {
            } else {
                throw $$e;
            }
        }
    }
};
function ju_Collections$15() {
    ju_AbstractMap.call(this);
    this.$val$m = null;
}
$java.ju_Collections$15_entrySet = function($this) {
    var var$1, var$2;
    var$1 = ju_HashMap_entrySet($this.$val$m);
    var$2 = new ju_Collections$16;
    var$2.$val$c = var$1;
    return var$2;
};
function nlea_EaglerAdapterImpl2$ServerQueryImpl() {
    var a = this; jl_Object.call(a);
    a.$queryResponses = null;
    a.$queryResponsesBytes = null;
    a.$type6 = null;
    a.$open = 0;
    a.$alive0 = 0;
    a.$uriString = null;
    a.$sock = null;
}
function nlea_EaglerAdapterImpl2$ServerQueryImpl__init_(var_0, var_1) {
    var var_2 = new nlea_EaglerAdapterImpl2$ServerQueryImpl();
    $java.nlea_EaglerAdapterImpl2$ServerQueryImpl__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl__init_ = function($this, $type_, $uri) {
    var $$je;
    $this.$queryResponses = new ju_LinkedList;
    $this.$queryResponsesBytes = new ju_LinkedList;
    $this.$type6 = $type_;
    $this.$uriString = $uri;
    $this.$alive0 = 0;
    a: {
        try {
            $uri = new WebSocket($rt_ustr($uri));
            $type_ = "arraybuffer";
            $uri.binaryType = $type_;
            $this.$open = 1;
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Throwable) {
            } else {
                throw $$e;
            }
        }
        $this.$open = 0;
        if (ju_HashSet_contains(nlea_EaglerAdapterImpl2_access$3300(), $this.$uriString))
            ju_AbstractList_add($this.$queryResponses, $java.nle_ServerQuery$QueryResponse__init_1(1));
        else if (ju_HashSet_contains(nlea_EaglerAdapterImpl2_access$3400(), $this.$uriString))
            ju_AbstractList_add($this.$queryResponses, $java.nle_ServerQuery$QueryResponse__init_1(0));
        $this.$sock = null;
        return;
    }
    $this.$sock = $uri;
    if ($this.$open) {
        $type_ = $this.$sock;
        $uri = new nlea_EaglerAdapterImpl2$ServerQueryImpl$1;
        $uri.$this$048 = $this;
        $uri = otji_JS_function($uri, "handleEvent");
        $type_.onopen = $uri;
        $type_ = $this.$sock;
        $uri = new nlea_EaglerAdapterImpl2$ServerQueryImpl$2;
        $uri.$this$049 = $this;
        $uri = otji_JS_function($uri, "handleEvent");
        $type_.onclose = $uri;
        $type_ = $this.$sock;
        $uri = new nlea_EaglerAdapterImpl2$ServerQueryImpl$3;
        $uri.$this$050 = $this;
        $uri = otji_JS_function($uri, "handleEvent");
        $type_.onmessage = $uri;
        $type_ = new nlea_EaglerAdapterImpl2$ServerQueryImpl$4;
        $type_.$this$051 = $this;
        setTimeout(otji_JS_function($type_, "onTimer"), 5000.0);
    }
};
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl_isQueryOpen = function($this) {
    return $this.$open;
};
function nlea_EaglerAdapterImpl2$ServerQueryImpl_close($this) {
    $this.$open = 0;
    $this.$sock.close();
}
function nlea_EaglerAdapterImpl2$ServerQueryImpl_responseAvailable($this) {
    return $this.$queryResponses.$size2;
}
function nlea_EaglerAdapterImpl2$ServerQueryImpl_responseBinaryAvailable($this) {
    return $this.$queryResponsesBytes.$size2;
}
function nlea_EaglerAdapterImpl2$ServerQueryImpl_getResponse($this) {
    return $this.$queryResponses.$size2 <= 0 ? null : ju_AbstractSequentialList_remove($this.$queryResponses, 0);
}
function nlea_EaglerAdapterImpl2$ServerQueryImpl_getBinaryResponse($this) {
    return $this.$queryResponsesBytes.$size2 <= 0 ? null : ju_AbstractSequentialList_remove($this.$queryResponsesBytes, 0);
}
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4500 = function($x0) {
    return $x0.$sock;
};
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4800 = function($x0) {
    return $x0.$uriString;
};
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4900 = function($x0) {
    return $x0.$queryResponses;
};
function ju_Collections$reverseOrder$lambda$_44_0() {
    jl_Object.call(this);
    this.$_02 = null;
}
$java.ju_Collections$reverseOrder$lambda$_44_0_compare = function(var$0, var$1, var$2) {
    return  -$java.maat__tmi_MgZOrder_compare0(var$0.$_02, var$1, var$2);
};
function jur_IntArrHash() {
    jl_Object.call(this);
}
function nlea_EaglerAdapterImpl2$ServerQueryImpl$1() {
    jl_Object.call(this);
    this.$this$048 = null;
}
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$1_handleEvent = function($this, $evt) {
    var var$2, var$3;
    var$2 = $this.$this$048.$sock;
    $evt = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($evt);
    jl_AbstractStringBuilder_append($evt, $rt_s(3177));
    jl_AbstractStringBuilder_append($evt, $this.$this$048.$type6);
    var$3 = jl_AbstractStringBuilder_toString($evt);
    var$2.send($rt_ustr(var$3));
};
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$1_handleEvent0 = function($this, var$1) {
    $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$1_handleEvent($this, var$1);
};
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$1_handleEvent$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$1_handleEvent0(var$0, var$1);
};
function nlea_EaglerAdapterImpl2$ServerQueryImpl$2() {
    jl_Object.call(this);
    this.$this$049 = null;
}
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$2_handleEvent = function($this, $evt) {
    $this.$this$049.$open = 0;
    if (!$this.$this$049.$alive0) {
        if (ju_HashSet_contains(nlea_EaglerAdapterImpl2_access$3300(), $this.$this$049.$uriString))
            ju_AbstractList_add($this.$this$049.$queryResponses, $java.nle_ServerQuery$QueryResponse__init_1(1));
        else if (ju_HashSet_contains(nlea_EaglerAdapterImpl2_access$3400(), $this.$this$049.$uriString))
            ju_AbstractList_add($this.$this$049.$queryResponses, $java.nle_ServerQuery$QueryResponse__init_1(0));
    }
};
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$2_handleEvent0 = function($this, var$1) {
    $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$2_handleEvent($this, var$1);
};
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$2_handleEvent$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$2_handleEvent0(var$0, var$1);
};
function nlea_EaglerAdapterImpl2$ServerQueryImpl$3() {
    jl_Object.call(this);
    this.$this$050 = null;
}
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$3_handleEvent = function($this, $evt) {
    var $a, $b, var$4, $i, var$6, $str, $t, $q, $$je;
    a: {
        $this.$this$050.$alive0 = 1;
        if (!nlea_EaglerAdapterImpl2_access$3500($evt.data)) {
            $a = new Uint8Array($evt.data);
            $b = $rt_createByteArray($a.byteLength);
            var$4 = $b.data;
            $i = 0;
            var$6 = var$4.length;
            while ($i < var$6) {
                var$4[$i] = ($a[$i] & 255) << 24 >> 24;
                $i = $i + 1 | 0;
            }
            ju_AbstractList_add($this.$this$050.$queryResponsesBytes, $b);
        } else {
            b: {
                c: {
                    try {
                        $str = $rt_str($evt.data);
                        if (!jl_String_equalsIgnoreCase($str, $rt_s(2802)))
                            break c;
                        ju_HashSet_add(nlea_EaglerAdapterImpl2_access$3400(), $java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4800($this.$this$050));
                        ju_AbstractList_add($java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4900($this.$this$050), $java.nle_ServerQuery$QueryResponse__init_1(0));
                        $java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4500($this.$this$050).close();
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            $t = $$je;
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                    return;
                }
                d: {
                    try {
                        if (!jl_String_equalsIgnoreCase($str, $rt_s(2804)))
                            break d;
                        ju_HashSet_add(nlea_EaglerAdapterImpl2_access$3300(), $java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4800($this.$this$050));
                        ju_AbstractList_add($java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4900($this.$this$050), $java.nle_ServerQuery$QueryResponse__init_1(1));
                        $java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4500($this.$this$050).close();
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            $t = $$je;
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                    return;
                }
                e: {
                    try {
                        $q = $java.nle_ServerQuery$QueryResponse__init_($java.oj_JSONObject__init_($str));
                        if ($q.$rateLimitStatus === null)
                            break e;
                        if ($q.$rateLimitStatus === nlea_EaglerAdapterImpl2$RateLimit_BLOCKED)
                            ju_HashSet_add(nlea_EaglerAdapterImpl2_access$3400(), $java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4800($this.$this$050));
                        else if ($q.$rateLimitStatus === nlea_EaglerAdapterImpl2$RateLimit_LOCKED)
                            ju_HashSet_add(nlea_EaglerAdapterImpl2_access$3300(), $java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4800($this.$this$050));
                        $java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4500($this.$this$050).close();
                        break e;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_Throwable) {
                            $t = $$je;
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                }
                try {
                    ju_AbstractList_add($java.nlea_EaglerAdapterImpl2$ServerQueryImpl_access$4900($this.$this$050), $q);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Throwable) {
                        $t = $$je;
                    } else {
                        throw $$e;
                    }
                }
            }
            $evt = jl_System_err();
            $q = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($q);
            jl_AbstractStringBuilder_append($q, $rt_s(3178));
            jl_AbstractStringBuilder_append($q, jl_Throwable_toString($t));
            ji_PrintStream_println($evt, jl_AbstractStringBuilder_toString($q));
        }
    }
};
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$3_handleEvent0 = function($this, var$1) {
    $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$3_handleEvent($this, var$1);
};
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$3_handleEvent$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$3_handleEvent0(var$0, var$1);
};
function nlea_EaglerAdapterImpl2$ServerQueryImpl$4() {
    jl_Object.call(this);
    this.$this$051 = null;
}
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$4_onTimer = function($this) {
    if ($this.$this$051.$open && $this.$this$051.$sock.readyState != 1) {
        if (!$this.$this$051.$sock.readyState)
            $this.$this$051.$sock.close();
        $this.$this$051.$open = 0;
    }
};
$java.nlea_EaglerAdapterImpl2$ServerQueryImpl$4_onTimer$exported$0 = function(var$0) {
    $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$4_onTimer(var$0);
};
function otjw_AudioParam() {
}
function otjm_MediaError() {
}
function otjm_TimeRanges() {
}
function otjm_MediaController() {
}
function otjm_AudioTrackList() {
}
function otjm_VideoTrackList() {
}
function otjm_TextTrackList() {
}
function otjm_TextTrack() {
}
function jl_ClassLoader$ResourceContainer() {
}
function otp_PlatformSequence() {
}
function otjw_AudioWorkerParamDescriptor() {
}
function otjw_AudioWorkerNode() {
}
function oj_JSONObject() {
    jl_Object.call(this);
    this.$map1 = null;
}
$java.oj_JSONObject_NUMBER_PATTERN = null;
$java.oj_JSONObject_NULL = null;
$java.oj_JSONObject__init_0 = function() {
    var var_0 = new oj_JSONObject();
    oj_JSONObject__init_(var_0);
    return var_0;
};
$java.oj_JSONObject__init_1 = function(var_0) {
    var var_1 = new oj_JSONObject();
    $java.oj_JSONObject__init_2(var_1, var_0);
    return var_1;
};
$java.oj_JSONObject__init_3 = function(var_0) {
    var var_1 = new oj_JSONObject();
    $java.oj_JSONObject__init_4(var_1, var_0);
    return var_1;
};
$java.oj_JSONObject__init_5 = function(var_0) {
    var var_1 = new oj_JSONObject();
    $java.oj_JSONObject__init_6(var_1, var_0);
    return var_1;
};
$java.oj_JSONObject__init_7 = function(var_0, var_1) {
    var var_2 = new oj_JSONObject();
    $java.oj_JSONObject__init_8(var_2, var_0, var_1);
    return var_2;
};
$java.oj_JSONObject__init_ = function(var_0) {
    var var_1 = new oj_JSONObject();
    $java.oj_JSONObject__init_9(var_1, var_0);
    return var_1;
};
function oj_JSONObject__init_($this) {
    $this.$map1 = ju_HashMap__init_();
}
$java.oj_JSONObject__init_2 = function($this, $x) {
    var $prev, $key, $value;
    oj_JSONObject__init_($this);
    if ($java.oj_JSONTokener_nextClean($x) != 123)
        $rt_throw($java.oj_JSONTokener_syntaxError($x, $rt_s(3179)));
    a: while (true) {
        b: {
            $prev = $x.$previous1;
            switch ($java.oj_JSONTokener_nextClean($x)) {
                case 0:
                    $rt_throw($java.oj_JSONTokener_syntaxError($x, $rt_s(3180)));
                case 91:
                case 123:
                    break;
                case 125:
                    break a;
                default:
                    break b;
            }
            if ($prev == 123)
                $rt_throw($java.oj_JSONTokener_syntaxError($x, $rt_s(3181)));
        }
        $java.oj_JSONTokener_back($x);
        $key = $java.oj_JSONTokener_nextValue($x).$toString();
        if ($java.oj_JSONTokener_nextClean($x) != 58)
            $rt_throw($java.oj_JSONTokener_syntaxError($x, $rt_s(3182)));
        if ($key !== null) {
            if ($java.oj_JSONObject_opt($this, $key) !== null) {
                $value = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($value);
                jl_AbstractStringBuilder_append($value, $rt_s(3183));
                jl_AbstractStringBuilder_append($value, $key);
                jl_AbstractStringBuilder_append($value, $rt_s(3184));
                $rt_throw($java.oj_JSONTokener_syntaxError($x, jl_AbstractStringBuilder_toString($value)));
            }
            $value = $java.oj_JSONTokener_nextValue($x);
            if ($value !== null)
                $java.oj_JSONObject_put($this, $key, $value);
        }
        switch ($java.oj_JSONTokener_nextClean($x)) {
            case 44:
            case 59:
                break;
            case 125:
                return;
            default:
                $rt_throw($java.oj_JSONTokener_syntaxError($x, $rt_s(3185)));
        }
        if ($java.oj_JSONTokener_nextClean($x) == 125)
            return;
        $java.oj_JSONTokener_back($x);
    }
};
$java.oj_JSONObject__init_4 = function($this, $m) {
    var $e, $value;
    a: {
        if ($m === null)
            $this.$map1 = ju_HashMap__init_();
        else {
            $this.$map1 = ju_HashMap__init_1($m.$elementCount);
            $m = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet($m));
            while (true) {
                if (!ju_HashMap$AbstractMapIterator_hasNext($m))
                    break a;
                $e = ju_HashMap$EntryIterator_next($m);
                if ($e.$key === null) {
                    $m = new jl_NullPointerException;
                    jl_Throwable__init_($m, $rt_s(3186));
                    $rt_throw($m);
                }
                $value = $e.$value1;
                if ($value !== null)
                    ju_HashMap_putImpl($this.$map1, jl_String_valueOf($e.$key), $java.oj_JSONObject_wrap($value));
            }
        }
    }
};
$java.oj_JSONObject__init_6 = function($this, $bean) {
    var var$2, var$3;
    oj_JSONObject__init_($this);
    var$2 = $java.ju_IdentityHashMap__init_();
    var$3 = new ju_SetFromMap;
    var$3.$map2 = var$2;
    $java.oj_JSONObject_populateMap($this, $bean, var$3);
};
$java.oj_JSONObject__init_8 = function($this, $bean, $objectsRecord) {
    oj_JSONObject__init_($this);
    $java.oj_JSONObject_populateMap($this, $bean, $objectsRecord);
};
$java.oj_JSONObject__init_9 = function($this, $source) {
    var var$2;
    var$2 = new oj_JSONTokener;
    var$2.$reader = $java.ji_StringReader__init_($source);
    var$2.$eof3 = 0;
    var$2.$usePrevious = 0;
    var$2.$previous1 = 0;
    var$2.$index11 = Long_ZERO;
    var$2.$character = Long_fromInt(1);
    var$2.$characterPreviousLine = Long_ZERO;
    var$2.$line0 = Long_fromInt(1);
    $java.oj_JSONObject__init_2($this, var$2);
};
$java.oj_JSONObject_get = function($this, $key) {
    var $object, var$3;
    if ($key === null) {
        $key = new oj_JSONException;
        jl_Throwable__init_($key, $rt_s(3186));
        $rt_throw($key);
    }
    $object = $java.oj_JSONObject_opt($this, $key);
    if ($object !== null)
        return $object;
    var$3 = new oj_JSONException;
    $object = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($object);
    jl_AbstractStringBuilder_append($object, $rt_s(3187));
    jl_AbstractStringBuilder_append($object, $java.oj_JSONObject_quote($key));
    jl_AbstractStringBuilder_append($object, $rt_s(3188));
    jl_Throwable__init_(var$3, jl_AbstractStringBuilder_toString($object));
    $rt_throw(var$3);
};
function oj_JSONObject_getBoolean($this, $key) {
    var $object, var$3;
    a: {
        $object = $java.oj_JSONObject_get($this, $key);
        if (!$object.$equals($java.jl_Boolean_FALSE)) {
            var$3 = $object instanceof jl_String;
            if (!var$3)
                break a;
            if (!jl_String_equalsIgnoreCase($object, $rt_s(2535)))
                break a;
        }
        return 0;
    }
    b: {
        if (!$object.$equals($java.jl_Boolean_TRUE)) {
            if (!var$3)
                break b;
            if (!jl_String_equalsIgnoreCase($object, $rt_s(2532)))
                break b;
        }
        return 1;
    }
    $rt_throw($java.oj_JSONObject_wrongValueFormatException($key, $rt_s(3189), null));
}
function oj_JSONObject_getInt($this, $key) {
    var $object, var$3, $e, $$je;
    $object = $java.oj_JSONObject_get($this, $key);
    if ($object instanceof jl_Number)
        return $object.$intValue();
    a: {
        try {
            var$3 = jl_Integer_parseInt($object.$toString());
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $e = $$je;
                break a;
            } else {
                throw $$e;
            }
        }
        return var$3;
    }
    $rt_throw($java.oj_JSONObject_wrongValueFormatException($key, $rt_s(3190), $e));
}
function oj_JSONObject_getJSONArray($this, $key) {
    var $object;
    $object = $java.oj_JSONObject_get($this, $key);
    if ($object instanceof oj_JSONArray)
        return $object;
    $rt_throw($java.oj_JSONObject_wrongValueFormatException($key, $rt_s(3191), null));
}
$java.oj_JSONObject_getLong = function($this, $key) {
    var $object, var$3, $e, $$je;
    $object = $java.oj_JSONObject_get($this, $key);
    if ($object instanceof jl_Number)
        return $object.$longValue();
    a: {
        try {
            var$3 = jl_Long_parseLong0($object.$toString());
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                $e = $$je;
                break a;
            } else {
                throw $$e;
            }
        }
        return var$3;
    }
    $rt_throw($java.oj_JSONObject_wrongValueFormatException($key, $rt_s(3192), $e));
};
$java.oj_JSONObject_getString = function($this, $key) {
    var $object;
    $object = $java.oj_JSONObject_get($this, $key);
    if ($object instanceof jl_String)
        return $object;
    $rt_throw($java.oj_JSONObject_wrongValueFormatException($key, $rt_s(1737), null));
};
$java.oj_JSONObject_entrySet = function($this) {
    return ju_HashMap_entrySet($this.$map1);
};
$java.oj_JSONObject_length = function($this) {
    return $this.$map1.$elementCount;
};
$java.oj_JSONObject_opt = function($this, $key) {
    return $key === null ? null : ju_HashMap_get($this.$map1, $key);
};
$java.oj_JSONObject_optBoolean = function($this, $key, $defaultValue) {
    var $val, var$4, $$je;
    $val = $java.oj_JSONObject_opt($this, $key);
    if ($java.oj_JSONObject$Null_equals($java.oj_JSONObject_NULL, $val))
        return $defaultValue;
    if ($val instanceof jl_Boolean)
        return $val.$value14;
    a: {
        try {
            var$4 = oj_JSONObject_getBoolean($this, $key);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                break a;
            } else {
                throw $$e;
            }
        }
        return var$4;
    }
    return $defaultValue;
};
$java.oj_JSONObject_populateMap = function($this, $bean, $objectsRecord) {
    var $klass, $methods, $includeSuperClass, var$6, $method, $modifiers, $result, var$10, $key, $$je;
    $klass = jl_Object_getClass($bean);
    $methods = (!(jl_Class_getClassLoader($klass) === null ? 0 : 1) ? jl_Class_getDeclaredMethods($klass) : jl_Class_getMethods($klass)).data;
    $includeSuperClass = $methods.length;
    var$6 = 0;
    while (var$6 < $includeSuperClass) {
        a: {
            $method = $methods[var$6];
            $modifiers = jlr_Method_getModifiers($method);
            if (!jlr_Modifier_isPublic($modifiers))
                break a;
            if (!($modifiers & 8) ? 0 : 1)
                break a;
            if (jlr_Method_getParameterTypes($method).data.length)
                break a;
            if ($java.jlr_Method_isBridge($method))
                break a;
            if ($method.$returnType === $rt_cls($rt_voidcls()))
                break a;
            $result = $method.$name0;
            if (!(!jl_String_equals($rt_s(3193), $result) && !jl_String_equals($rt_s(3194), $result) ? 1 : 0))
                break a;
            b: {
                var$10 = $java.oj_JSONObject_getAnnotationDepth($method, $rt_cls(oj_JSONPropertyIgnore));
                if (var$10 > 0) {
                    $modifiers = $java.oj_JSONObject_getAnnotationDepth($method, $rt_cls(oj_JSONPropertyName));
                    if (!($modifiers >= 0 && var$10 > $modifiers)) {
                        $key = null;
                        break b;
                    }
                }
                $klass = $java.oj_JSONObject_getAnnotation($method, $rt_cls(oj_JSONPropertyName));
                if ($klass !== null && $klass.$value9() !== null && !$klass.$value9().$isEmpty())
                    $key = $klass.$value9();
                else {
                    $result = $method.$name0;
                    if (jl_String_startsWith0($result, $rt_s(3195)) && jl_String_length($result) > 3)
                        $key = jl_String_substring($result, 3);
                    else if (jl_String_startsWith0($result, $rt_s(3196)) && jl_String_length($result) > 2)
                        $key = jl_String_substring($result, 2);
                    else {
                        $key = null;
                        break b;
                    }
                    if (jl_String_length($key) && !jl_Character_isLowerCase(jl_String_charAt($key, 0))) {
                        if (jl_String_length($key) == 1)
                            $key = jl_String_toLowerCase($key);
                        else if (!jl_Character_isUpperCase(jl_String_charAt($key, 1))) {
                            $klass = new jl_StringBuilder;
                            jl_AbstractStringBuilder__init_($klass);
                            jl_AbstractStringBuilder_append($klass, jl_String_toLowerCase(jl_String_substring0($key, 0, 1)));
                            jl_AbstractStringBuilder_append($klass, jl_String_substring($key, 1));
                            $key = jl_AbstractStringBuilder_toString($klass);
                        }
                    } else
                        $key = null;
                }
            }
            if ($key === null)
                break a;
            if (jl_String_isEmpty($key))
                break a;
            c: {
                try {
                    d: {
                        $result = $java.jlr_Method_invoke($method, $bean, $rt_createArray(jl_Object, 0));
                        if ($result !== null) {
                            if ($java.ju_SetFromMap_contains($objectsRecord, $result))
                                $rt_throw($java.oj_JSONObject_recursivelyDefinedObjectException($key));
                            $java.ju_SetFromMap_add($objectsRecord, $result);
                            ju_HashMap_put($this.$map1, $key, $java.oj_JSONObject_wrap0($result, $objectsRecord));
                            $java.ju_SetFromMap_remove($objectsRecord, $result);
                            if ($rt_isInstance($result, ji_Closeable))
                                try {
                                    $result.$close();
                                    break d;
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof ji_IOException) {
                                    } else {
                                        throw $$e;
                                    }
                                }
                        }
                    }
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_IllegalAccessException) {
                    } else if ($$je instanceof jl_IllegalArgumentException) {
                        break c;
                    } else if ($$je instanceof jlr_InvocationTargetException) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                break a;
            }
        }
        var$6 = var$6 + 1 | 0;
    }
};
$java.oj_JSONObject_getAnnotation = function($m, $annotationClass) {
    var $c, var$4, var$5, var$6, $i, $$je;
    if ($m !== null && $annotationClass !== null) {
        if (jlr_AnnotatedElement_isAnnotationPresent($m, $annotationClass))
            return null;
        $c = $m.$declaringClass;
        if (jl_Class_getSuperclass($c) === null)
            return null;
        var$4 = jl_Class_getInterfaces($c).data;
        var$5 = var$4.length;
        var$6 = 0;
        a: while (true) {
            if (var$6 >= var$5) {
                b: {
                    try {
                        $m = $java.oj_JSONObject_getAnnotation(jl_Class_getMethod(jl_Class_getSuperclass($c), $java.jlr_Method_getName($m), jlr_Method_getParameterTypes($m)), $annotationClass);
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_SecurityException) {
                            break b;
                        } else if ($$je instanceof jl_NoSuchMethodException) {
                            return null;
                        } else {
                            throw $$e;
                        }
                    }
                    return $m;
                }
                return null;
            }
            $i = var$4[var$6];
            c: {
                d: {
                    try {
                        $i = $java.oj_JSONObject_getAnnotation(jl_Class_getMethod($i, $java.jlr_Method_getName($m), jlr_Method_getParameterTypes($m)), $annotationClass);
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_SecurityException) {
                        } else if ($$je instanceof jl_NoSuchMethodException) {
                            break d;
                        } else {
                            throw $$e;
                        }
                    }
                    break c;
                }
            }
            var$6 = var$6 + 1 | 0;
        }
        return $i;
    }
    return null;
};
$java.oj_JSONObject_getAnnotationDepth = function($m, $annotationClass) {
    var $c, var$4, $d, var$6, $i, $d_0, $$je;
    if ($m !== null && $annotationClass !== null) {
        if (jlr_AnnotatedElement_isAnnotationPresent($m, $annotationClass))
            return 1;
        $c = $m.$declaringClass;
        if (jl_Class_getSuperclass($c) === null)
            return (-1);
        var$4 = jl_Class_getInterfaces($c).data;
        $d = var$4.length;
        var$6 = 0;
        a: while (true) {
            if (var$6 >= $d) {
                b: {
                    c: {
                        d: {
                            try {
                                $d = $java.oj_JSONObject_getAnnotationDepth(jl_Class_getMethod(jl_Class_getSuperclass($c), $java.jlr_Method_getName($m), jlr_Method_getParameterTypes($m)), $annotationClass);
                                if ($d > 0)
                                    break d;
                            } catch ($$e) {
                                $$je = $rt_wrapException($$e);
                                if ($$je instanceof jl_SecurityException) {
                                    break c;
                                } else if ($$je instanceof jl_NoSuchMethodException) {
                                    break b;
                                } else {
                                    throw $$e;
                                }
                            }
                            return (-1);
                        }
                        try {
                            $d = $d + 1 | 0;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_SecurityException) {
                                break c;
                            } else if ($$je instanceof jl_NoSuchMethodException) {
                                break b;
                            } else {
                                throw $$e;
                            }
                        }
                        return $d;
                    }
                    return (-1);
                }
                return (-1);
            }
            $i = var$4[var$6];
            e: {
                f: {
                    try {
                        $d_0 = $java.oj_JSONObject_getAnnotationDepth(jl_Class_getMethod($i, $java.jlr_Method_getName($m), jlr_Method_getParameterTypes($m)), $annotationClass);
                        if ($d_0 <= 0)
                            break e;
                        $d_0 = $d_0 + 1 | 0;
                        break a;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_SecurityException) {
                        } else if ($$je instanceof jl_NoSuchMethodException) {
                            break f;
                        } else {
                            throw $$e;
                        }
                    }
                    break e;
                }
            }
            var$6 = var$6 + 1 | 0;
        }
        return $d_0;
    }
    return (-1);
};
$java.oj_JSONObject_put = function($this, $key, $value) {
    if ($key === null) {
        $key = new jl_NullPointerException;
        jl_Throwable__init_($key, $rt_s(3186));
        $rt_throw($key);
    }
    if ($value === null)
        $java.oj_JSONObject_remove($this, $key);
    else {
        $java.oj_JSONObject_testValidity($value);
        ju_HashMap_putImpl($this.$map1, $key, $value);
    }
    return $this;
};
$java.oj_JSONObject_quote = function($string) {
    var $sw, var$3, $$je;
    $sw = $java.ji_StringWriter__init_();
    var$3 = $sw.$buf3;
    jl_Object_monitorEnterSync(var$3);
    a: {
        b: {
            try {
                try {
                    $string = $java.ji_StringWriter_toString($java.oj_JSONObject_quote0($string, $sw));
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_IOException) {
                        break b;
                    } else {
                        throw $$e;
                    }
                }
                jl_Object_monitorExitSync(var$3);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                $string = $$je;
                break a;

            }
            return $string;
        }
        try {
            jl_Object_monitorExitSync(var$3);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            $string = $$je;
            break a;

        }
        return $rt_s(36);
    }
    jl_Object_monitorExitSync(var$3);
    $rt_throw($string);
};
$java.oj_JSONObject_quote0 = function($string, $w) {
    var $c, $len, $i, var$6, $hhhh;
    if ($string !== null && !jl_String_isEmpty($string)) {
        $c = 0;
        $len = jl_String_length($string);
        $java.ji_StringWriter_write0($w, 34);
        $i = 0;
        while ($i < $len) {
            a: {
                var$6 = jl_String_charAt($string, $i);
                switch (var$6) {
                    case 8:
                        break;
                    case 9:
                        $java.ji_StringWriter_write1($w, $rt_s(3197));
                        break a;
                    case 10:
                        $java.ji_StringWriter_write1($w, $rt_s(3198));
                        break a;
                    case 12:
                        $java.ji_StringWriter_write1($w, $rt_s(3199));
                        break a;
                    case 13:
                        $java.ji_StringWriter_write1($w, $rt_s(3200));
                        break a;
                    case 34:
                    case 92:
                        $java.ji_StringWriter_write0($w, 92);
                        $java.ji_StringWriter_write0($w, var$6);
                        break a;
                    case 47:
                        if ($c == 60)
                            $java.ji_StringWriter_write0($w, 92);
                        $java.ji_StringWriter_write0($w, var$6);
                        break a;
                    default:
                        if (var$6 >= 32 && !(var$6 >= 128 && var$6 < 160) && !(var$6 >= 8192 && var$6 < 8448)) {
                            $java.ji_StringWriter_write0($w, var$6);
                            break a;
                        }
                        $java.ji_StringWriter_write1($w, $rt_s(3201));
                        $hhhh = jl_Integer_toHexString(var$6);
                        $java.ji_StringWriter_write2($w, $rt_s(3202), 0, 4 - jl_String_length($hhhh) | 0);
                        $java.ji_StringWriter_write1($w, $hhhh);
                        break a;
                }
                $java.ji_StringWriter_write1($w, $rt_s(3203));
            }
            $i = $i + 1 | 0;
            $c = var$6;
        }
        $java.ji_StringWriter_write0($w, 34);
        return $w;
    }
    $java.ji_StringWriter_write1($w, $rt_s(3204));
    return $w;
};
$java.oj_JSONObject_remove = function($this, $key) {
    return ju_HashMap_remove($this.$map1, $key);
};
$java.oj_JSONObject_stringToNumber = function($val) {
    var $initial, $at1, $bd, $bi, $at2, $d, $$je;
    $initial = jl_String_charAt($val, 0);
    $at1 = $rt_compare($initial, 48);
    if (!($at1 >= 0 && $initial <= 57) && $initial != 45) {
        $bd = new jl_NumberFormatException;
        $bi = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($bi);
        jl_AbstractStringBuilder_append($bi, $rt_s(3205));
        jl_AbstractStringBuilder_append($bi, $val);
        jl_AbstractStringBuilder_append($bi, $rt_s(3206));
        jl_Throwable__init_($bd, jl_AbstractStringBuilder_toString($bi));
        $rt_throw($bd);
    }
    if (!(jl_String_indexOf0($val, 46) <= (-1) && jl_String_indexOf0($val, 101) <= (-1) && jl_String_indexOf0($val, 69) <= (-1) && !jl_String_equals($rt_s(3207), $val) ? 0 : 1)) {
        if (!$at1 && jl_String_length($val) > 1) {
            $at1 = jl_String_charAt($val, 1);
            if ($at1 >= 48 && $at1 <= 57) {
                $bi = new jl_NumberFormatException;
                $bd = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($bd);
                jl_AbstractStringBuilder_append($bd, $rt_s(3205));
                jl_AbstractStringBuilder_append($bd, $val);
                jl_AbstractStringBuilder_append($bd, $rt_s(3206));
                jl_Throwable__init_($bi, jl_AbstractStringBuilder_toString($bd));
                $rt_throw($bi);
            }
        } else if ($initial == 45 && jl_String_length($val) > 2) {
            $at1 = jl_String_charAt($val, 1);
            $at2 = jl_String_charAt($val, 2);
            if ($at1 == 48 && $at2 >= 48 && $at2 <= 57) {
                $bi = new jl_NumberFormatException;
                $bd = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($bd);
                jl_AbstractStringBuilder_append($bd, $rt_s(3205));
                jl_AbstractStringBuilder_append($bd, $val);
                jl_AbstractStringBuilder_append($bd, $rt_s(3206));
                jl_Throwable__init_($bi, jl_AbstractStringBuilder_toString($bd));
                $rt_throw($bi);
            }
        }
        $bi = $java.jm_BigInteger__init_($val);
        if ($java.jm_BigInteger_bitLength($bi) <= 31)
            return jl_Integer_valueOf(jm_BigInteger_intValue($bi));
        if ($java.jm_BigInteger_bitLength($bi) > 63)
            return $bi;
        return jl_Long_valueOf($java.jm_BigInteger_longValue($bi));
    }
    a: {
        b: {
            try {
                $bd = $java.jm_BigDecimal__init_5($val);
                if ($initial == 45 && !jm_BigDecimal_compareTo(jm_BigDecimal_ZERO, $bd))
                    break b;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NumberFormatException) {
                    break a;
                } else {
                    throw $$e;
                }
            }
            return $bd;
        }
        try {
            $bi = jl_Double_valueOf(-0.0);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NumberFormatException) {
                break a;
            } else {
                throw $$e;
            }
        }
        return $bi;
    }
    c: {
        d: {
            try {
                $d = jl_Double_valueOf0($val);
                if (jl_Double_isNaN($d))
                    break d;
                if (jl_Double_isInfinite($d))
                    break d;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_NumberFormatException) {
                    break c;
                } else {
                    throw $$e;
                }
            }
            return $d;
        }
        try {
            $rt_throw(jl_NumberFormatException__init_1(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(3205)), $val), $rt_s(3206)))));
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NumberFormatException) {
            } else {
                throw $$e;
            }
        }
    }
    $bi = new jl_NumberFormatException;
    $bd = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($bd);
    jl_AbstractStringBuilder_append($bd, $rt_s(3205));
    jl_AbstractStringBuilder_append($bd, $val);
    jl_AbstractStringBuilder_append($bd, $rt_s(3206));
    jl_Throwable__init_($bi, jl_AbstractStringBuilder_toString($bd));
    $rt_throw($bi);
};
$java.oj_JSONObject_testValidity = function($o) {
    var var$2, var$3;
    if ($o instanceof jl_Number) {
        a: {
            $o = $o;
            if ($o instanceof jl_Double) {
                var$2 = $o;
                if (!(!jl_Double_isInfinite(var$2) && !jl_Double_isNaN(var$2))) {
                    var$3 = 0;
                    break a;
                }
            }
            b: {
                if ($o instanceof jl_Float) {
                    $o = $o;
                    if (jl_Float_isInfinite($o))
                        break b;
                    if (jl_Float_isNaN($o))
                        break b;
                }
                var$3 = 1;
                break a;
            }
            var$3 = 0;
        }
        if (!var$3) {
            var$2 = new oj_JSONException;
            jl_Throwable__init_(var$2, $rt_s(3208));
            $rt_throw(var$2);
        }
    }
};
$java.oj_JSONObject_toString = function($this) {
    var var$1, $$je;
    a: {
        try {
            var$1 = $java.oj_JSONObject_toString0($this, 0);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                break a;
            } else {
                throw $$e;
            }
        }
        return var$1;
    }
    return null;
};
$java.oj_JSONObject_toString0 = function($this, $indentFactor) {
    var $w, var$3, $$je;
    $w = $java.ji_StringWriter__init_();
    var$3 = $w.$buf3;
    jl_Object_monitorEnterSync(var$3);
    a: {
        try {
            $w = $java.ji_StringWriter_toString($java.oj_JSONObject_write($this, $w, $indentFactor, 0));
            jl_Object_monitorExitSync(var$3);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            $w = $$je;
            break a;

        }
        return $w;
    }
    jl_Object_monitorExitSync(var$3);
    $rt_throw($w);
};
$java.oj_JSONObject_wrap = function($object) {
    return $java.oj_JSONObject_wrap0($object, null);
};
$java.oj_JSONObject_wrap0 = function($object, $objectsRecord) {
    var $exception, $coll, $map, $objectPackage, $objectPackageName, $$je;
    a: {
        b: {
            c: {
                try {
                    if (!$java.oj_JSONObject$Null_equals($java.oj_JSONObject_NULL, $object))
                        break c;
                    $object = $java.oj_JSONObject_NULL;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof oj_JSONException) {
                        $exception = $$je;
                        break b;
                    } else if ($$je instanceof jl_Exception) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $object;
            }
            d: {
                try {
                    e: {
                        try {
                            if ($object instanceof oj_JSONObject)
                                break e;
                            if ($object instanceof oj_JSONArray)
                                break e;
                            if ($java.oj_JSONObject$Null_equals($java.oj_JSONObject_NULL, $object))
                                break e;
                            if ($rt_isInstance($object, oj_JSONString))
                                break e;
                            if ($object instanceof jl_Byte)
                                break e;
                            if ($object instanceof jl_Character)
                                break e;
                            if ($object instanceof jl_Short)
                                break e;
                            if ($object instanceof jl_Integer)
                                break e;
                            if ($object instanceof jl_Long)
                                break e;
                            if ($object instanceof jl_Boolean)
                                break e;
                            if ($object instanceof jl_Float)
                                break e;
                            if ($object instanceof jl_Double)
                                break e;
                            if ($object instanceof jl_String)
                                break e;
                            if ($object instanceof jm_BigInteger)
                                break e;
                            if ($object instanceof jm_BigDecimal)
                                break e;
                            if (!($object instanceof jl_Enum))
                                break d;
                            else
                                break e;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof oj_JSONException) {
                                $exception = $$je;
                                break b;
                            } else {
                                throw $$e;
                            }
                        }
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $object;
            }
            f: {
                try {
                    if (!$rt_isInstance($object, ju_Collection))
                        break f;
                    $coll = $object;
                    $object = $java.oj_JSONArray__init_($coll);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof oj_JSONException) {
                        $exception = $$je;
                        break b;
                    } else if ($$je instanceof jl_Exception) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $object;
            }
            g: {
                try {
                    if (!jl_Class_isArray(jl_Object_getClass($object)))
                        break g;
                    $objectsRecord = $java.oj_JSONArray__init_0($object);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof oj_JSONException) {
                        $exception = $$je;
                        break b;
                    } else if ($$je instanceof jl_Exception) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $objectsRecord;
            }
            h: {
                try {
                    if (!$rt_isInstance($object, ju_Map))
                        break h;
                    $map = $object;
                    $object = $java.oj_JSONObject__init_3($map);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof oj_JSONException) {
                        $exception = $$je;
                        break b;
                    } else if ($$je instanceof jl_Exception) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $object;
            }
            i: {
                try {
                    j: {
                        try {
                            $objectPackage = jl_Class_getPackage(jl_Object_getClass($object));
                            if ($objectPackage !== null)
                                break j;
                            $objectPackageName = $rt_s(36);
                            break i;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof oj_JSONException) {
                                $exception = $$je;
                                break b;
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    try {
                        $objectPackageName = $java.jl_Package_getName($objectPackage);
                        break i;
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof oj_JSONException) {
                            $exception = $$je;
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
            }
            k: {
                try {
                    l: {
                        try {
                            if (jl_String_startsWith0($objectPackageName, $rt_s(3209)))
                                break l;
                            if (jl_String_startsWith0($objectPackageName, $rt_s(3210)))
                                break l;
                            if (jl_Class_getClassLoader(jl_Object_getClass($object)) !== null)
                                break k;
                            else
                                break l;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof oj_JSONException) {
                                $exception = $$je;
                                break b;
                            } else {
                                throw $$e;
                            }
                        }
                    }
                    try {
                        $object = $object.$toString();
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof oj_JSONException) {
                            $exception = $$je;
                            break b;
                        } else {
                            throw $$e;
                        }
                    }
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $object;
            }
            m: {
                try {
                    if ($objectsRecord !== null)
                        break m;
                    $objectsRecord = $java.oj_JSONObject__init_5($object);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof oj_JSONException) {
                        $exception = $$je;
                        break b;
                    } else if ($$je instanceof jl_Exception) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $objectsRecord;
            }
            try {
                $objectPackage = $java.oj_JSONObject__init_7($object, $objectsRecord);
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof oj_JSONException) {
                    $exception = $$je;
                    break b;
                } else if ($$je instanceof jl_Exception) {
                    break a;
                } else {
                    throw $$e;
                }
            }
            return $objectPackage;
        }
        $rt_throw($exception);
    }
    return null;
};
$java.oj_JSONObject_writeValue = function($writer, $value, $indentFactor, $indent) {
    var $o, $e, $numberAsString, $$je;
    if ($value !== null && !$value.$equals(null)) {
        if ($rt_isInstance($value, oj_JSONString)) {
            a: {
                try {
                    $o = $value.$toJSONString();
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $e = $$je;
                    } else {
                        throw $$e;
                    }
                }
                $rt_throw($java.oj_JSONException__init_($e));
            }
            $java.ji_StringWriter_write1($writer, $o !== null ? $o.$toString() : $java.oj_JSONObject_quote($value.$toString()));
        } else if (!($value instanceof jl_Number)) {
            if ($value instanceof jl_Boolean)
                $java.ji_StringWriter_write1($writer, $value.$toString());
            else if ($value instanceof jl_Enum)
                $java.ji_StringWriter_write1($writer, $java.oj_JSONObject_quote($value.$name7));
            else if ($value instanceof oj_JSONObject)
                $java.oj_JSONObject_write($value, $writer, $indentFactor, $indent);
            else if ($value instanceof oj_JSONArray)
                $java.oj_JSONArray_write($value, $writer, $indentFactor, $indent);
            else if ($rt_isInstance($value, ju_Map))
                $java.oj_JSONObject_write($java.oj_JSONObject__init_3($value), $writer, $indentFactor, $indent);
            else if ($rt_isInstance($value, ju_Collection))
                $java.oj_JSONArray_write($java.oj_JSONArray__init_($value), $writer, $indentFactor, $indent);
            else if (!jl_Class_isArray(jl_Object_getClass($value)))
                $java.oj_JSONObject_quote0($value.$toString(), $writer);
            else
                $java.oj_JSONArray_write($java.oj_JSONArray__init_0($value), $writer, $indentFactor, $indent);
        } else {
            $value = $value;
            if ($value === null) {
                $writer = new oj_JSONException;
                jl_Throwable__init_($writer, $rt_s(3211));
                $rt_throw($writer);
            }
            $java.oj_JSONObject_testValidity($value);
            $numberAsString = $value.$toString();
            if (jl_String_indexOf0($numberAsString, 46) > 0 && jl_String_indexOf0($numberAsString, 101) < 0 && jl_String_indexOf0($numberAsString, 69) < 0) {
                while (jl_String_endsWith($numberAsString, $rt_s(87))) {
                    $numberAsString = jl_String_substring0($numberAsString, 0, jl_String_length($numberAsString) - 1 | 0);
                }
                if (jl_String_endsWith($numberAsString, $rt_s(339)))
                    $numberAsString = jl_String_substring0($numberAsString, 0, jl_String_length($numberAsString) - 1 | 0);
            }
            if (!jur_Matcher_matches(jur_Pattern_matcher($java.oj_JSONObject_NUMBER_PATTERN, $numberAsString)))
                $java.oj_JSONObject_quote0($numberAsString, $writer);
            else
                $java.ji_StringWriter_write1($writer, $numberAsString);
        }
    } else
        $java.ji_StringWriter_write1($writer, $rt_s(48));
    return $writer;
};
$java.oj_JSONObject_indent = function($writer, $indent) {
    var $i;
    $i = 0;
    while ($i < $indent) {
        $java.ji_StringWriter_write0($writer, 32);
        $i = $i + 1 | 0;
    }
};
$java.oj_JSONObject_write = function($this, $writer, $indentFactor, $indent) {
    var $needsComma, $length, $entry, $key, $e, $newIndent, $exception, $$je;
    a: {
        try {
            b: {
                $needsComma = 0;
                $length = $java.oj_JSONObject_length($this);
                $java.ji_StringWriter_write0($writer, 123);
                if ($length == 1) {
                    $entry = ju_HashMap$EntryIterator_next0(ju_HashMap$HashMapEntrySet_iterator($java.oj_JSONObject_entrySet($this)));
                    $key = ju_MapEntry_getKey($entry);
                    $java.ji_StringWriter_write1($writer, $java.oj_JSONObject_quote($key));
                    $java.ji_StringWriter_write0($writer, 58);
                    if ($indentFactor > 0)
                        $java.ji_StringWriter_write0($writer, 32);
                    c: {
                        try {
                            $java.oj_JSONObject_writeValue($writer, ju_MapEntry_getValue($entry), $indentFactor, $indent);
                            break c;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Exception) {
                                $e = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        $rt_throw($java.oj_JSONException__init_0(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(3212)), $key)), $e));
                    }
                } else if ($length) {
                    $newIndent = $indent + $indentFactor | 0;
                    $e = ju_HashMap$HashMapEntrySet_iterator($java.oj_JSONObject_entrySet($this));
                    while (true) {
                        if (!ju_HashMap$AbstractMapIterator_hasNext($e)) {
                            if ($indentFactor > 0)
                                $java.ji_StringWriter_write0($writer, 10);
                            $java.oj_JSONObject_indent($writer, $indent);
                            break b;
                        }
                        $entry = ju_HashMap$EntryIterator_next0($e);
                        if ($needsComma)
                            $java.ji_StringWriter_write0($writer, 44);
                        if ($indentFactor > 0)
                            $java.ji_StringWriter_write0($writer, 10);
                        $java.oj_JSONObject_indent($writer, $newIndent);
                        $key = ju_MapEntry_getKey($entry);
                        $java.ji_StringWriter_write1($writer, $java.oj_JSONObject_quote($key));
                        $java.ji_StringWriter_write0($writer, 58);
                        if ($indentFactor > 0)
                            $java.ji_StringWriter_write0($writer, 32);
                        try {
                            $java.oj_JSONObject_writeValue($writer, ju_MapEntry_getValue($entry), $indentFactor, $newIndent);
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Exception) {
                                $e = $$je;
                                break;
                            } else {
                                throw $$e;
                            }
                        }
                        $needsComma = 1;
                    }
                    $rt_throw($java.oj_JSONException__init_0(jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(3212)), $key)), $e));
                }
            }
            $java.ji_StringWriter_write0($writer, 125);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
                $exception = $$je;
                break a;
            } else {
                throw $$e;
            }
        }
        return $writer;
    }
    $rt_throw($java.oj_JSONException__init_($exception));
};
$java.oj_JSONObject_wrongValueFormatException = function($key, $valueType, $cause) {
    var var$4, var$5;
    var$4 = new oj_JSONException;
    var$5 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$5);
    jl_AbstractStringBuilder_append(var$5, $rt_s(3187));
    jl_AbstractStringBuilder_append(var$5, $java.oj_JSONObject_quote($key));
    jl_AbstractStringBuilder_append(var$5, $rt_s(3213));
    jl_AbstractStringBuilder_append(var$5, $valueType);
    jl_AbstractStringBuilder_append(var$5, $rt_s(339));
    jl_Throwable__init_4(var$4, jl_AbstractStringBuilder_toString(var$5), $cause);
    return var$4;
};
$java.oj_JSONObject_recursivelyDefinedObjectException = function($key) {
    var var$2, var$3;
    var$2 = new oj_JSONException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $rt_s(3214));
    jl_AbstractStringBuilder_append(var$3, $java.oj_JSONObject_quote($key));
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    return var$2;
};
function oj_JSONObject__clinit_() {
    $java.oj_JSONObject_NUMBER_PATTERN = jur_Pattern_compile($rt_s(3215));
    $java.oj_JSONObject_NULL = new oj_JSONObject$Null;
}
function jss_DataLine() {
}
function jss_TargetDataLine() {
}
function jss_Line$Info() {
    jl_Object.call(this);
}
function jsm_SoundbankResource() {
    jl_Object.call(this);
}
function jsm_Instrument() {
    jsm_SoundbankResource.call(this);
}
function jsm_MidiChannel() {
}
function jsm_VoiceStatus() {
    var a = this; jl_Object.call(a);
    a.$active = 0;
    a.$channel1 = 0;
    a.$bank = 0;
    a.$program = 0;
    a.$note0 = 0;
    a.$volume2 = 0;
}
$java.jsm_VoiceStatus__init_ = function() {
    var var_0 = new jsm_VoiceStatus();
    jsm_VoiceStatus__init_(var_0);
    return var_0;
};
function jsm_VoiceStatus__init_(var$0) {
    var$0.$active = 0;
    var$0.$channel1 = 0;
    var$0.$bank = 0;
    var$0.$program = 0;
    var$0.$note0 = 0;
    var$0.$volume2 = 0;
}
function jsm_Sequencer$SyncMode() {
    jl_Object.call(this);
    this.$name25 = null;
}
$java.jsm_Sequencer$SyncMode_INTERNAL_CLOCK = null;
$java.jsm_Sequencer$SyncMode_MIDI_SYNC = null;
$java.jsm_Sequencer$SyncMode_MIDI_TIME_CODE = null;
$java.jsm_Sequencer$SyncMode_NO_SYNC = null;
$java.jsm_Sequencer$SyncMode__init_ = function(var_0) {
    var var_1 = new jsm_Sequencer$SyncMode();
    $java.jsm_Sequencer$SyncMode__init_0(var_1, var_0);
    return var_1;
};
$java.jsm_Sequencer$SyncMode__init_0 = function(var$0, var$1) {
    var$0.$name25 = var$1;
};
function jsm_Sequencer$SyncMode__clinit_() {
    $java.jsm_Sequencer$SyncMode_INTERNAL_CLOCK = $java.jsm_Sequencer$SyncMode__init_($rt_s(3216));
    $java.jsm_Sequencer$SyncMode_MIDI_SYNC = $java.jsm_Sequencer$SyncMode__init_($rt_s(3217));
    $java.jsm_Sequencer$SyncMode_MIDI_TIME_CODE = $java.jsm_Sequencer$SyncMode__init_($rt_s(3218));
    $java.jsm_Sequencer$SyncMode_NO_SYNC = $java.jsm_Sequencer$SyncMode__init_($rt_s(3219));
}
function ju_EventListener() {
}
function jsm_MetaEventListener() {
}
function jsm_ControllerEventListener() {
}
function juf_Predicate() {
}
function juf_BinaryOperator() {
}
function ju_Optional() {
    jl_Object.call(this);
}
function juf_Supplier() {
}
function juf_BiConsumer() {
}
function jus_Collector() {
}
function jus_Stream$Builder() {
}
function otjc_JSError$TryClause() {
}
function otjc_JSError$CatchClause() {
}
function juf_IntPredicate() {
}
function juf_IntConsumer() {
}
function juf_IntBinaryOperator() {
}
function ju_OptionalInt() {
    jl_Object.call(this);
}
function ju_OptionalDouble() {
    jl_Object.call(this);
}
function ju_PrimitiveIterator() {
}
function ju_PrimitiveIterator$OfInt() {
}
function ju_Spliterator$OfPrimitive() {
}
function ju_Spliterator$OfInt() {
}
function jus_IntStream$Builder() {
}
function juf_IntSupplier() {
}
function otjc_JSRegExpFlag() {
    jl_Enum.call(this);
}
$java.otjc_JSRegExpFlag_GLOBAL = null;
$java.otjc_JSRegExpFlag_IGNORE_CASE = null;
$java.otjc_JSRegExpFlag_MULTILINE = null;
$java.otjc_JSRegExpFlag_$VALUES = null;
function otjc_JSRegExpFlag__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new otjc_JSRegExpFlag;
    jl_Enum__init_0(var$1, $rt_s(3220), 0);
    $java.otjc_JSRegExpFlag_GLOBAL = var$1;
    var$1 = new otjc_JSRegExpFlag;
    jl_Enum__init_0(var$1, $rt_s(3221), 1);
    $java.otjc_JSRegExpFlag_IGNORE_CASE = var$1;
    var$1 = new otjc_JSRegExpFlag;
    jl_Enum__init_0(var$1, $rt_s(3222), 2);
    $java.otjc_JSRegExpFlag_MULTILINE = var$1;
    var$2 = $rt_createArray(otjc_JSRegExpFlag, 3);
    var$3 = var$2.data;
    var$3[0] = $java.otjc_JSRegExpFlag_GLOBAL;
    var$3[1] = $java.otjc_JSRegExpFlag_IGNORE_CASE;
    var$3[2] = $java.otjc_JSRegExpFlag_MULTILINE;
    $java.otjc_JSRegExpFlag_$VALUES = var$2;
}
function otjdx_Attr() {
}
function otjdx_NodeList() {
}
function jss_Control() {
    jl_Object.call(this);
}
function jss_Control$Type() {
    jl_Object.call(this);
}
function jss_LineListener() {
}
function otcf_VirtualFileSystem() {
}
function ji_FilenameFilter() {
}
function ji_FileFilter() {
}
function otcf_VirtualFile() {
}
function nms_PathPoint() {
    var a = this; jl_Object.call(a);
    a.$xCoord2 = 0;
    a.$yCoord2 = 0;
    a.$zCoord2 = 0;
    a.$hash0 = 0;
    a.$index12 = 0;
    a.$totalPathDistance = 0.0;
    a.$distanceToNext = 0.0;
    a.$distanceToTarget = 0.0;
    a.$previous2 = null;
    a.$isFirst = 0;
}
$java.nms_PathPoint__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_PathPoint();
    $java.nms_PathPoint__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_PathPoint__init_0 = function($this, $par1, $par2, $par3) {
    $this.$index12 = (-1);
    $this.$isFirst = 0;
    $this.$xCoord2 = $par1;
    $this.$yCoord2 = $par2;
    $this.$zCoord2 = $par3;
    $this.$hash0 = $java.nms_PathPoint_makeHash($par1, $par2, $par3);
};
$java.nms_PathPoint_makeHash = function($par0, $par1, $par2) {
    return $par1 & 255 | ($par0 & 32767) << 8 | ($par2 & 32767) << 24 | ($par0 >= 0 ? 0 : (-2147483648)) | ($par2 >= 0 ? 0 : 32768);
};
$java.nms_PathPoint_distanceTo = function($this, $par1PathPoint) {
    var $var2, $var3, $var4;
    $var2 = $par1PathPoint.$xCoord2 - $this.$xCoord2 | 0;
    $var3 = $par1PathPoint.$yCoord2 - $this.$yCoord2 | 0;
    $var4 = $par1PathPoint.$zCoord2 - $this.$zCoord2 | 0;
    return nms_MathHelper_sqrt_float($var2 * $var2 + $var3 * $var3 + $var4 * $var4);
};
$java.nms_PathPoint_func_75832_b = function($this, $par1PathPoint) {
    var $var2, $var3, $var4;
    $var2 = $par1PathPoint.$xCoord2 - $this.$xCoord2 | 0;
    $var3 = $par1PathPoint.$yCoord2 - $this.$yCoord2 | 0;
    $var4 = $par1PathPoint.$zCoord2 - $this.$zCoord2 | 0;
    return $var2 * $var2 + $var3 * $var3 + $var4 * $var4;
};
$java.nms_PathPoint_equals = function($this, $par1Obj) {
    var $var2;
    if (!($par1Obj instanceof nms_PathPoint))
        return 0;
    $var2 = $par1Obj;
    return $this.$hash0 == $var2.$hash0 && $this.$xCoord2 == $var2.$xCoord2 && $this.$yCoord2 == $var2.$yCoord2 && $this.$zCoord2 == $var2.$zCoord2 ? 1 : 0;
};
$java.nms_PathPoint_hashCode = function($this) {
    return $this.$hash0;
};
$java.nms_PathPoint_isAssigned = function($this) {
    return $this.$index12 < 0 ? 0 : 1;
};
$java.nms_PathPoint_toString = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append2(var$1, $this.$xCoord2);
    jl_AbstractStringBuilder_append(var$1, $rt_s(368));
    jl_AbstractStringBuilder_append2(var$1, $this.$yCoord2);
    jl_AbstractStringBuilder_append(var$1, $rt_s(368));
    jl_AbstractStringBuilder_append2(var$1, $this.$zCoord2);
    return jl_AbstractStringBuilder_toString(var$1);
};
function otjw_WebGLContextAttributes() {
    jl_Object.call(this);
}
function otjw_WebGLActiveInfo() {
}
function otjw_WebGLShaderPrecisionFormat() {
}
function otjc_ImageData() {
}
function otjdc_CSSStyleDeclaration() {
}
function otjdh_HTMLHtmlElement() {
}
function otjdh_HTMLBodyElement() {
}
function otjdh_HTMLHeadElement() {
}
function otjdh_TextRectangle() {
}
function otjdx_DocumentType() {
}
function otjdx_DOMImplementation() {
}
function otjdx_DocumentFragment() {
}
function otjdx_Text() {
}
function otjdx_Comment() {
}
function otjdx_CDATASection() {
}
function otjdx_ProcessingInstruction() {
}
function otjdx_EntityReference() {
}
function otcit_DateTimeZoneBuilder$Rule() {
    jl_Object.call(this);
}
function otjdx_NamedNodeMap() {
}
function juf_LongPredicate() {
}
function juf_LongUnaryOperator() {
}
function juf_LongFunction() {
}
function juf_LongToIntFunction() {
}
function juf_LongToDoubleFunction() {
}
function juf_LongConsumer() {
}
function juf_LongBinaryOperator() {
}
function ju_OptionalLong() {
    jl_Object.call(this);
}
function ju_PrimitiveIterator$OfLong() {
}
function ju_Spliterator$OfLong() {
}
function jus_LongStream$Builder() {
}
function juf_LongSupplier() {
}
function otcir_JSFieldGetter() {
}
function otcir_JSFieldSetter() {
}
function otjc_CanvasGradient() {
}
function otjc_CanvasPattern() {
}
function otjc_TextMetrics() {
}
function otp_PlatformClassMetadata() {
}
function nms_NibbleArray() {
    var a = this; jl_Object.call(a);
    a.$data14 = null;
    a.$depthBits = 0;
    a.$depthBitsPlusFour = 0;
}
$java.nms_NibbleArray__init_ = function(var_0, var_1) {
    var var_2 = new nms_NibbleArray();
    $java.nms_NibbleArray__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.nms_NibbleArray__init_0 = function($this, $par1, $par2) {
    $this.$data14 = $rt_createByteArray($par1 >> 1);
    $this.$depthBits = $par2;
    $this.$depthBitsPlusFour = $par2 + 4 | 0;
};
$java.nms_NibbleArray_get = function($this, $par1, $par2, $par3) {
    var $var4, $var5;
    $var4 = $par2 << $this.$depthBitsPlusFour | $par3 << $this.$depthBits | $par1;
    $var5 = $var4 >> 1;
    return !($var4 & 1) ? $this.$data14.data[$var5] & 15 : $this.$data14.data[$var5] >> 4 & 15;
};
$java.nms_NibbleArray_set = function($this, $par1, $par2, $par3, $par4) {
    var $var5, $var6;
    $var5 = $par2 << $this.$depthBitsPlusFour | $par3 << $this.$depthBits | $par1;
    $var6 = $var5 >> 1;
    if (!($var5 & 1))
        $this.$data14.data[$var6] = ($this.$data14.data[$var6] & 240 | $par4 & 15) << 24 >> 24;
    else
        $this.$data14.data[$var6] = ($this.$data14.data[$var6] & 15 | ($par4 & 15) << 4) << 24 >> 24;
};
function juf_DoublePredicate() {
}
function juf_DoubleUnaryOperator() {
}
function juf_DoubleFunction() {
}
function juf_DoubleToIntFunction() {
}
function juf_DoubleToLongFunction() {
}
function juf_DoubleConsumer() {
}
function juf_DoubleBinaryOperator() {
}
function ju_PrimitiveIterator$OfDouble() {
}
function ju_Spliterator$OfDouble() {
}
function jus_DoubleStream$Builder() {
}
function juf_DoubleSupplier() {
}
function ju_EventObject() {
    jl_Object.call(this);
}
function jss_LineEvent() {
    ju_EventObject.call(this);
}
function oj_JSONTokener() {
    var a = this; jl_Object.call(a);
    a.$character = Long_ZERO;
    a.$eof3 = 0;
    a.$index11 = Long_ZERO;
    a.$line0 = Long_ZERO;
    a.$previous1 = 0;
    a.$reader = null;
    a.$usePrevious = 0;
    a.$characterPreviousLine = Long_ZERO;
}
$java.oj_JSONTokener_back = function($this) {
    var var$1;
    if (!$this.$usePrevious && Long_gt($this.$index11, Long_ZERO)) {
        $this.$index11 = Long_sub($this.$index11, Long_fromInt(1));
        if (!($this.$previous1 != 13 && $this.$previous1 != 10)) {
            $this.$line0 = Long_sub($this.$line0, Long_fromInt(1));
            $this.$character = $this.$characterPreviousLine;
        } else if (Long_gt($this.$character, Long_ZERO))
            $this.$character = Long_sub($this.$character, Long_fromInt(1));
        $this.$usePrevious = 1;
        $this.$eof3 = 0;
        return;
    }
    var$1 = new oj_JSONException;
    jl_Throwable__init_(var$1, $rt_s(3223));
    $rt_throw(var$1);
};
$java.oj_JSONTokener_end = function($this) {
    return $this.$eof3 && !$this.$usePrevious ? 1 : 0;
};
$java.oj_JSONTokener_next = function($this) {
    var $c, $exception, $$je;
    if ($this.$usePrevious) {
        $this.$usePrevious = 0;
        $c = $this.$previous1;
    } else
        a: {
            try {
                $c = $this.$reader.$read2();
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof ji_IOException) {
                    $exception = $$je;
                } else {
                    throw $$e;
                }
            }
            $rt_throw($java.oj_JSONException__init_($exception));
        }
    if ($c <= 0) {
        $this.$eof3 = 1;
        return 0;
    }
    if ($c > 0) {
        $this.$index11 = Long_add($this.$index11, Long_fromInt(1));
        if ($c == 13) {
            $this.$line0 = Long_add($this.$line0, Long_fromInt(1));
            $this.$characterPreviousLine = $this.$character;
            $this.$character = Long_ZERO;
        } else if ($c != 10)
            $this.$character = Long_add($this.$character, Long_fromInt(1));
        else {
            if ($this.$previous1 != 13) {
                $this.$line0 = Long_add($this.$line0, Long_fromInt(1));
                $this.$characterPreviousLine = $this.$character;
            }
            $this.$character = Long_ZERO;
        }
    }
    $this.$previous1 = $c & 65535;
    return $this.$previous1;
};
$java.oj_JSONTokener_getPrevious = function($this) {
    return $this.$previous1;
};
$java.oj_JSONTokener_next0 = function($this, $n) {
    var $chars, var$3, $pos;
    if (!$n)
        return $rt_s(36);
    $chars = $rt_createCharArray($n);
    var$3 = $chars.data;
    $pos = 0;
    while ($pos < $n) {
        var$3[$pos] = $java.oj_JSONTokener_next($this);
        if ($java.oj_JSONTokener_end($this))
            $rt_throw($java.oj_JSONTokener_syntaxError($this, $rt_s(3224)));
        $pos = $pos + 1 | 0;
    }
    return jl_String__init_($chars);
};
$java.oj_JSONTokener_nextClean = function($this) {
    var $c;
    while (true) {
        $c = $java.oj_JSONTokener_next($this);
        if (!$c)
            break;
        if ($c > 32)
            break;
    }
    return $c;
};
$java.oj_JSONTokener_nextString = function($this, $quote) {
    var $sb, $c, $e, $$je;
    $sb = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($sb);
    a: while (true) {
        b: {
            $c = $java.oj_JSONTokener_next($this);
            switch ($c) {
                case 0:
                case 10:
                case 13:
                    break a;
                case 92:
                    break b;
                default:
            }
            if ($c == $quote)
                return jl_AbstractStringBuilder_toString($sb);
            jl_AbstractStringBuilder_append0($sb, $c);
            continue a;
        }
        $c = $java.oj_JSONTokener_next($this);
        switch ($c) {
            case 34:
            case 39:
            case 47:
            case 92:
                break;
            case 98:
                jl_AbstractStringBuilder_append0($sb, 8);
                continue a;
            case 102:
                jl_AbstractStringBuilder_append0($sb, 12);
                continue a;
            case 110:
                jl_AbstractStringBuilder_append0($sb, 10);
                continue a;
            case 114:
                jl_AbstractStringBuilder_append0($sb, 13);
                continue a;
            case 116:
                jl_AbstractStringBuilder_append0($sb, 9);
                continue a;
            case 117:
                try {
                    jl_StringBuilder_append0($sb, jl_Integer_parseInt0($java.oj_JSONTokener_next0($this, 4), 16) & 65535);
                    continue a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_NumberFormatException) {
                        $e = $$je;
                        $rt_throw($java.oj_JSONTokener_syntaxError0($this, $rt_s(3225), $e));
                    } else {
                        throw $$e;
                    }
                }
            default:
                $rt_throw($java.oj_JSONTokener_syntaxError($this, $rt_s(3225)));
        }
        jl_AbstractStringBuilder_append0($sb, $c);
    }
    $rt_throw($java.oj_JSONTokener_syntaxError($this, $rt_s(3226)));
};
$java.oj_JSONTokener_nextValue = function($this) {
    var $c, $sb, $e, $string, $$je;
    $c = $java.oj_JSONTokener_nextClean($this);
    switch ($c) {
        case 34:
        case 39:
            break;
        case 91:
            $java.oj_JSONTokener_back($this);
            a: {
                try {
                    $sb = $java.oj_JSONArray__init_1($this);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_StackOverflowError) {
                        $e = $$je;
                        break a;
                    } else {
                        throw $$e;
                    }
                }
                return $sb;
            }
            $sb = new oj_JSONException;
            jl_Throwable__init_4($sb, $rt_s(3227), $e);
            $rt_throw($sb);
        case 123:
            $java.oj_JSONTokener_back($this);
            b: {
                try {
                    $sb = $java.oj_JSONObject__init_1($this);
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_StackOverflowError) {
                        $e = $$je;
                        break b;
                    } else {
                        throw $$e;
                    }
                }
                return $sb;
            }
            $sb = new oj_JSONException;
            jl_Throwable__init_4($sb, $rt_s(3227), $e);
            $rt_throw($sb);
        default:
            $sb = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($sb);
            while ($c >= 32 && jl_String_indexOf0($rt_s(3228), $c) < 0) {
                jl_AbstractStringBuilder_append0($sb, $c);
                $c = $java.oj_JSONTokener_next($this);
            }
            if (!$this.$eof3)
                $java.oj_JSONTokener_back($this);
            $string = jl_String_trim(jl_AbstractStringBuilder_toString($sb));
            if (jl_String_equals($rt_s(36), $string))
                $rt_throw($java.oj_JSONTokener_syntaxError($this, $rt_s(3229)));
            c: {
                if (!jl_String_equals($rt_s(36), $string)) {
                    if (jl_String_equalsIgnoreCase($rt_s(2532), $string))
                        $string = $java.jl_Boolean_TRUE;
                    else if (jl_String_equalsIgnoreCase($rt_s(2535), $string))
                        $string = $java.jl_Boolean_FALSE;
                    else if (jl_String_equalsIgnoreCase($rt_s(48), $string))
                        $string = $java.oj_JSONObject_NULL;
                    else {
                        d: {
                            $c = jl_String_charAt($string, 0);
                            if (!(!($c >= 48 && $c <= 57) && $c != 45))
                                try {
                                    $sb = $java.oj_JSONObject_stringToNumber($string);
                                    break d;
                                } catch ($$e) {
                                    $$je = $rt_wrapException($$e);
                                    if ($$je instanceof jl_Exception) {
                                    } else {
                                        throw $$e;
                                    }
                                }
                            break c;
                        }
                        $string = $sb;
                    }
                }
            }
            return $string;
    }
    return $java.oj_JSONTokener_nextString($this, $c);
};
$java.oj_JSONTokener_syntaxError = function($this, $message) {
    var var$2, var$3;
    var$2 = new oj_JSONException;
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $message);
    jl_AbstractStringBuilder_append(var$3, $java.oj_JSONTokener_toString($this));
    jl_Throwable__init_(var$2, jl_AbstractStringBuilder_toString(var$3));
    return var$2;
};
$java.oj_JSONTokener_syntaxError0 = function($this, $message, $causedBy) {
    var var$3, var$4;
    var$3 = new oj_JSONException;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, $message);
    jl_AbstractStringBuilder_append(var$4, $java.oj_JSONTokener_toString($this));
    jl_Throwable__init_4(var$3, jl_AbstractStringBuilder_toString(var$4), $causedBy);
    return var$3;
};
$java.oj_JSONTokener_toString = function($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(498));
    var$1 = jl_StringBuilder_append2(var$1, $this.$index11);
    jl_AbstractStringBuilder_append(var$1, $rt_s(3230));
    var$1 = jl_StringBuilder_append2(var$1, $this.$character);
    jl_AbstractStringBuilder_append(var$1, $rt_s(3231));
    var$1 = jl_StringBuilder_append2(var$1, $this.$line0);
    jl_AbstractStringBuilder_append(var$1, $rt_s(274));
    return jl_AbstractStringBuilder_toString(var$1);
};
function oj_JSONArray() {
    jl_Object.call(this);
    this.$myArrayList = null;
}
$java.oj_JSONArray__init_2 = function() {
    var var_0 = new oj_JSONArray();
    oj_JSONArray__init_(var_0);
    return var_0;
};
$java.oj_JSONArray__init_1 = function(var_0) {
    var var_1 = new oj_JSONArray();
    $java.oj_JSONArray__init_3(var_1, var_0);
    return var_1;
};
$java.oj_JSONArray__init_ = function(var_0) {
    var var_1 = new oj_JSONArray();
    $java.oj_JSONArray__init_4(var_1, var_0);
    return var_1;
};
$java.oj_JSONArray__init_0 = function(var_0) {
    var var_1 = new oj_JSONArray();
    $java.oj_JSONArray__init_5(var_1, var_0);
    return var_1;
};
function oj_JSONArray__init_($this) {
    $this.$myArrayList = ju_ArrayList__init_0();
}
$java.oj_JSONArray__init_3 = function($this, $x) {
    var $nextChar;
    oj_JSONArray__init_($this);
    if ($java.oj_JSONTokener_nextClean($x) != 91)
        $rt_throw($java.oj_JSONTokener_syntaxError($x, $rt_s(3232)));
    $nextChar = $java.oj_JSONTokener_nextClean($x);
    if (!$nextChar)
        $rt_throw($java.oj_JSONTokener_syntaxError($x, $rt_s(3233)));
    if ($nextChar == 93)
        return;
    $java.oj_JSONTokener_back($x);
    while (true) {
        if ($java.oj_JSONTokener_nextClean($x) != 44) {
            $java.oj_JSONTokener_back($x);
            ju_ArrayList_add($this.$myArrayList, $java.oj_JSONTokener_nextValue($x));
        } else {
            $java.oj_JSONTokener_back($x);
            ju_ArrayList_add($this.$myArrayList, $java.oj_JSONObject_NULL);
        }
        switch ($java.oj_JSONTokener_nextClean($x)) {
            case 0:
                $rt_throw($java.oj_JSONTokener_syntaxError($x, $rt_s(3233)));
            case 44:
                break;
            case 93:
                return;
            default:
                $rt_throw($java.oj_JSONTokener_syntaxError($x, $rt_s(3233)));
        }
        $nextChar = $java.oj_JSONTokener_nextClean($x);
        if (!$nextChar)
            $rt_throw($java.oj_JSONTokener_syntaxError($x, $rt_s(3233)));
        if ($nextChar == 93)
            break;
        $java.oj_JSONTokener_back($x);
    }
};
$java.oj_JSONArray__init_4 = function($this, $collection) {
    if ($collection === null)
        $this.$myArrayList = ju_ArrayList__init_0();
    else {
        $this.$myArrayList = ju_ArrayList__init_1($collection.$size0());
        $java.oj_JSONArray_addAll($this, $collection, 1);
    }
};
$java.oj_JSONArray__init_5 = function($this, $array) {
    var var$2, var$3, var$4;
    oj_JSONArray__init_($this);
    if (!jl_Class_isArray(jl_Object_getClass($array))) {
        $array = new oj_JSONException;
        jl_Throwable__init_($array, $rt_s(3234));
        $rt_throw($array);
    }
    if (jl_Class_isArray(jl_Object_getClass($array))) {
        var$2 = jlr_Array_getLength($array);
        ju_ArrayList_ensureCapacity($this.$myArrayList, $this.$myArrayList.$size + var$2 | 0);
        var$3 = 0;
        while (var$3 < var$2) {
            $java.oj_JSONArray_put($this, $java.oj_JSONObject_wrap(jlr_Array_get($array, var$3)));
            var$3 = var$3 + 1 | 0;
        }
    } else if ($array instanceof oj_JSONArray)
        ju_AbstractCollection_addAll($this.$myArrayList, $array.$myArrayList);
    else if ($rt_isInstance($array, ju_Collection))
        $java.oj_JSONArray_addAll($this, $array, 1);
    else {
        if (!$rt_isInstance($array, jl_Iterable)) {
            var$4 = new oj_JSONException;
            jl_Throwable__init_(var$4, $rt_s(3234));
            $rt_throw(var$4);
        }
        $array = $array.$iterator();
        while ($array.$hasNext()) {
            $java.oj_JSONArray_put($this, $java.oj_JSONObject_wrap($array.$next()));
        }
    }
};
$java.oj_JSONArray_iterator = function($this) {
    return ju_AbstractList_iterator($this.$myArrayList);
};
$java.oj_JSONArray_get = function($this, $index) {
    var $object, var$3;
    $object = $java.oj_JSONArray_opt($this, $index);
    if ($object !== null)
        return $object;
    var$3 = new oj_JSONException;
    $object = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($object);
    jl_AbstractStringBuilder_append($object, $rt_s(3235));
    jl_AbstractStringBuilder_append2($object, $index);
    jl_AbstractStringBuilder_append($object, $rt_s(3188));
    jl_Throwable__init_(var$3, jl_AbstractStringBuilder_toString($object));
    $rt_throw(var$3);
};
function oj_JSONArray_getString($this, $index) {
    var $object, var$3, var$4;
    $object = $java.oj_JSONArray_get($this, $index);
    if ($object instanceof jl_String)
        return $object;
    $object = null;
    var$3 = new oj_JSONException;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, $rt_s(3235));
    jl_AbstractStringBuilder_append2(var$4, $index);
    jl_AbstractStringBuilder_append(var$4, $rt_s(3213));
    jl_AbstractStringBuilder_append(var$4, $rt_s(3236));
    jl_AbstractStringBuilder_append(var$4, $rt_s(339));
    jl_Throwable__init_4(var$3, jl_AbstractStringBuilder_toString(var$4), $object);
    $rt_throw(var$3);
}
function oj_JSONArray_length($this) {
    return $this.$myArrayList.$size;
}
$java.oj_JSONArray_opt = function($this, $index) {
    return $index >= 0 && $index < oj_JSONArray_length($this) ? ju_ArrayList_get($this.$myArrayList, $index) : null;
};
$java.oj_JSONArray_put = function($this, $value) {
    $java.oj_JSONObject_testValidity($value);
    ju_ArrayList_add($this.$myArrayList, $value);
    return $this;
};
$java.oj_JSONArray_toString = function($this) {
    var var$1, $$je;
    a: {
        try {
            var$1 = $java.oj_JSONArray_toString0($this, 0);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_Exception) {
                break a;
            } else {
                throw $$e;
            }
        }
        return var$1;
    }
    return null;
};
$java.oj_JSONArray_toString0 = function($this, $indentFactor) {
    var $sw, var$3, $$je;
    $sw = $java.ji_StringWriter__init_();
    var$3 = $sw.$buf3;
    jl_Object_monitorEnterSync(var$3);
    a: {
        try {
            $sw = $java.ji_StringWriter_toString($java.oj_JSONArray_write($this, $sw, $indentFactor, 0));
            jl_Object_monitorExitSync(var$3);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            $sw = $$je;
            break a;

        }
        return $sw;
    }
    jl_Object_monitorExitSync(var$3);
    $rt_throw($sw);
};
$java.oj_JSONArray_write = function($this, $writer, $indentFactor, $indent) {
    var $needsComma, $length, $e, $newIndent, $i, $$je;
    a: {
        try {
            b: {
                $needsComma = 0;
                $length = oj_JSONArray_length($this);
                $java.ji_StringWriter_write0($writer, 91);
                if ($length == 1)
                    c: {
                        try {
                            $java.oj_JSONObject_writeValue($writer, ju_ArrayList_get($this.$myArrayList, 0), $indentFactor, $indent);
                            break c;
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Exception) {
                                $e = $$je;
                            } else {
                                throw $$e;
                            }
                        }
                        $rt_throw($java.oj_JSONException__init_0($rt_s(3237), $e));
                    }
                else if ($length) {
                    $newIndent = $indent + $indentFactor | 0;
                    $i = 0;
                    while (true) {
                        if ($i >= $length) {
                            if ($indentFactor > 0)
                                $java.ji_StringWriter_write0($writer, 10);
                            $java.oj_JSONObject_indent($writer, $indent);
                            break b;
                        }
                        if ($needsComma)
                            $java.ji_StringWriter_write0($writer, 44);
                        if ($indentFactor > 0)
                            $java.ji_StringWriter_write0($writer, 10);
                        $java.oj_JSONObject_indent($writer, $newIndent);
                        try {
                            $java.oj_JSONObject_writeValue($writer, ju_ArrayList_get($this.$myArrayList, $i), $indentFactor, $newIndent);
                        } catch ($$e) {
                            $$je = $rt_wrapException($$e);
                            if ($$je instanceof jl_Exception) {
                                $e = $$je;
                                break;
                            } else {
                                throw $$e;
                            }
                        }
                        $needsComma = 1;
                        $i = $i + 1 | 0;
                    }
                    $rt_throw($java.oj_JSONException__init_0(jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(3238)), $i)), $e));
                }
            }
            $java.ji_StringWriter_write0($writer, 93);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_IOException) {
                $e = $$je;
                break a;
            } else {
                throw $$e;
            }
        }
        return $writer;
    }
    $rt_throw($java.oj_JSONException__init_($e));
};
$java.oj_JSONArray_addAll = function($this, $collection, $wrap) {
    a: {
        ju_ArrayList_ensureCapacity($this.$myArrayList, $this.$myArrayList.$size + $collection.$size0() | 0);
        if (!$wrap) {
            $collection = $collection.$iterator();
            while (true) {
                if (!$collection.$hasNext())
                    break a;
                $java.oj_JSONArray_put($this, $collection.$next());
            }
        }
        $collection = $collection.$iterator();
        while ($collection.$hasNext()) {
            $java.oj_JSONArray_put($this, $java.oj_JSONObject_wrap($collection.$next()));
        }
    }
};
function oj_JSONPointer() {
    jl_Object.call(this);
}
function oj_JSONException() {
    jl_RuntimeException.call(this);
}
$java.oj_JSONException__init_0 = function(var_0, var_1) {
    var var_2 = new oj_JSONException();
    $java.oj_JSONException__init_1(var_2, var_0, var_1);
    return var_2;
};
$java.oj_JSONException__init_ = function(var_0) {
    var var_1 = new oj_JSONException();
    $java.oj_JSONException__init_2(var_1, var_0);
    return var_1;
};
$java.oj_JSONException__init_1 = function($this, $message, $cause) {
    jl_Throwable__init_4($this, $message, $cause);
};
$java.oj_JSONException__init_2 = function($this, $cause) {
    jl_Throwable__init_4($this, $cause.$message, $cause);
};
function otjm_VideoTrack() {
}
function otjm_AudioTrack() {
}
function otjt_Uint8ClampedArray() {
    otjt_ArrayBufferView.call(this);
}
function otcf_VirtualFileAccessor() {
}
function jus_Collector$Characteristics() {
    jl_Enum.call(this);
}
$java.jus_Collector$Characteristics_CONCURRENT = null;
$java.jus_Collector$Characteristics_UNORDERED = null;
$java.jus_Collector$Characteristics_IDENTITY_FINISH = null;
$java.jus_Collector$Characteristics_$VALUES = null;
function jus_Collector$Characteristics__clinit_() {
    var var$1, var$2, var$3;
    var$1 = new jus_Collector$Characteristics;
    jl_Enum__init_0(var$1, $rt_s(3239), 0);
    $java.jus_Collector$Characteristics_CONCURRENT = var$1;
    var$1 = new jus_Collector$Characteristics;
    jl_Enum__init_0(var$1, $rt_s(3240), 1);
    $java.jus_Collector$Characteristics_UNORDERED = var$1;
    var$1 = new jus_Collector$Characteristics;
    jl_Enum__init_0(var$1, $rt_s(3241), 2);
    $java.jus_Collector$Characteristics_IDENTITY_FINISH = var$1;
    var$2 = $rt_createArray(jus_Collector$Characteristics, 3);
    var$3 = var$2.data;
    var$3[0] = $java.jus_Collector$Characteristics_CONCURRENT;
    var$3[1] = $java.jus_Collector$Characteristics_UNORDERED;
    var$3[2] = $java.jus_Collector$Characteristics_IDENTITY_FINISH;
    $java.jus_Collector$Characteristics_$VALUES = var$2;
}
function otjm_TextTrackCueList() {
}
function otjm_TextTrackCue() {
}
function oj_JSONPointer$Builder() {
    jl_Object.call(this);
    this.$refTokens = null;
}
$java.oj_JSONPointer$Builder__init_ = function() {
    var var_0 = new oj_JSONPointer$Builder();
    oj_JSONPointer$Builder__init_(var_0);
    return var_0;
};
function oj_JSONPointer$Builder__init_($this) {
    $this.$refTokens = ju_ArrayList__init_0();
}
function jss_LineEvent$Type() {
    jl_Object.call(this);
    this.$name26 = null;
}
$java.jss_LineEvent$Type_OPEN = null;
$java.jss_LineEvent$Type_CLOSE = null;
$java.jss_LineEvent$Type_START = null;
$java.jss_LineEvent$Type_STOP = null;
$java.jss_LineEvent$Type__init_ = function(var_0) {
    var var_1 = new jss_LineEvent$Type();
    $java.jss_LineEvent$Type__init_0(var_1, var_0);
    return var_1;
};
$java.jss_LineEvent$Type__init_0 = function(var$0, var$1) {
    var$0.$name26 = var$1;
};
function jss_LineEvent$Type__clinit_() {
    $java.jss_LineEvent$Type_OPEN = $java.jss_LineEvent$Type__init_($rt_s(3242));
    $java.jss_LineEvent$Type_CLOSE = $java.jss_LineEvent$Type__init_($rt_s(2985));
    $java.jss_LineEvent$Type_START = $java.jss_LineEvent$Type__init_($rt_s(3243));
    $java.jss_LineEvent$Type_STOP = $java.jss_LineEvent$Type__init_($rt_s(3244));
}
function otcir_Converter() {
    jl_Object.call(this);
}
$java.otcir_Converter__init_ = function() {
    var var_0 = new otcir_Converter();
    otcir_Converter__init_(var_0);
    return var_0;
};
function otcir_Converter__init_($this) {
    return;
}
function otcir_Flags() {
    jl_Object.call(this);
}
$java.otcir_Flags__init_ = function() {
    var var_0 = new otcir_Flags();
    otcir_Flags__init_(var_0);
    return var_0;
};
function otcir_Flags__init_($this) {
    return;
}
function maat_TMIEnchanting() {
    jl_Object.call(this);
}
$java.maat_TMIEnchanting_currentItem = null;
$java.maat_TMIEnchanting_currentEnchantmentLevels = null;
$java.maat_TMIEnchanting_$callClinit = function() {
    $java.maat_TMIEnchanting_$callClinit = $rt_eraseClinit(maat_TMIEnchanting);
    $java.maat_TMIEnchanting__clinit_();
};
$java.maat_TMIEnchanting__init_ = function() {
    var var_0 = new maat_TMIEnchanting();
    maat_TMIEnchanting__init_(var_0);
    return var_0;
};
function maat_TMIEnchanting__init_($this) {
    $java.maat_TMIEnchanting_$callClinit();
}
$java.maat_TMIEnchanting_setItem = function($var0) {
    var $var1, $var2, $var3, $var4, var$6;
    $java.maat_TMIEnchanting_$callClinit();
    $java.maat_TMIEnchanting_currentItem = $java.maat_TMIUtils_copyStack($var0);
    if ($java.maat_TMIEnchanting_currentItem.$stackTagCompound !== null && nms_NBTTagCompound_hasKey($java.maat_TMIEnchanting_currentItem.$stackTagCompound, $rt_s(1905)))
        nms_NBTTagCompound_removeTag($java.maat_TMIEnchanting_currentItem.$stackTagCompound, $rt_s(1905));
    nms_Item_$callClinit();
    $var1 = nms_Item_itemsList.data[$java.maat_TMIEnchanting_currentItem.$itemID0];
    $var2 = new ju_LinkedHashMap;
    $var0 = $java.maat_TMIEnchanting_currentEnchantmentLevels;
    ju_HashMap__init_0($var2);
    $var2.$accessOrder = 0;
    $var2.$head4 = null;
    $var2.$tail = null;
    ju_HashMap_putAll($var2, $var0);
    $java.ju_LinkedHashMap_clear($java.maat_TMIEnchanting_currentEnchantmentLevels);
    $var3 = $java.ju_LinkedHashMap_keySet($var2).$iterator();
    while ($var3.$hasNext()) {
        $var4 = $var3.$next();
        if ($var4 === null)
            continue;
        if ($var4.$type1 !== null) {
            if (!$java.nms_EnumEnchantmentType_canEnchantItem($var4.$type1, $var1))
                continue;
            ju_LinkedHashMap_put($java.maat_TMIEnchanting_currentEnchantmentLevels, $var4, jl_Integer_valueOf(0));
            continue;
        }
        $var0 = jl_System_out();
        var$6 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$6);
        jl_AbstractStringBuilder_append(var$6, $rt_s(3245));
        jl_AbstractStringBuilder_append1(var$6, $var4);
        jl_AbstractStringBuilder_append(var$6, $rt_s(68));
        ji_PrintStream_println($var0, jl_AbstractStringBuilder_toString(var$6));
    }
    $var0 = $java.ju_LinkedHashMap_keySet($var2).$iterator();
    while ($var0.$hasNext()) {
        $var4 = $var0.$next();
        if ($var4 === null)
            continue;
        if ($var4.$type1 !== null) {
            if ($java.nms_EnumEnchantmentType_canEnchantItem($var4.$type1, $var1))
                continue;
            ju_LinkedHashMap_put($java.maat_TMIEnchanting_currentEnchantmentLevels, $var4, jl_Integer_valueOf(0));
            continue;
        }
        $var2 = jl_System_out();
        $var3 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var3);
        jl_AbstractStringBuilder_append($var3, $rt_s(3245));
        jl_AbstractStringBuilder_append1($var3, $var4);
        jl_AbstractStringBuilder_append($var3, $rt_s(68));
        ji_PrintStream_println($var2, jl_AbstractStringBuilder_toString($var3));
    }
};
$java.maat_TMIEnchanting_createStack = function() {
    var $var0, $var6, $var7, $var8, $var1, $var2, $var3, $var4, $var5;
    $java.maat_TMIEnchanting_$callClinit();
    a: {
        $var0 = $java.maat_TMIUtils_copyStack($java.maat_TMIEnchanting_currentItem);
        if ($var0.$itemID0 != $java.maat_TMIItemInfo_addItemOffset(147)) {
            $var6 = $java.ju_LinkedHashMap_keySet($java.maat_TMIEnchanting_currentEnchantmentLevels).$iterator();
            while (true) {
                if (!$var6.$hasNext())
                    break a;
                $var7 = $var6.$next();
                $var8 = $java.ju_LinkedHashMap_get($java.maat_TMIEnchanting_currentEnchantmentLevels, $var7).$value;
                if ($var8 > 0)
                    $java.maat_TMIUtils_addEnchantment($var0, $var7.$effectId, $var8);
            }
        }
        $var1 = nms_NBTTagList__init_0();
        $var2 = $java.ju_LinkedHashMap_keySet($java.maat_TMIEnchanting_currentEnchantmentLevels).$iterator();
        while ($var2.$hasNext()) {
            $var3 = $var2.$next();
            $var4 = $java.ju_LinkedHashMap_get($java.maat_TMIEnchanting_currentEnchantmentLevels, $var3).$value;
            if ($var4 > 0) {
                $var5 = nms_NBTTagCompound__init_0();
                nms_NBTTagCompound_setShort($var5, $rt_s(1900), $var3.$effectId << 16 >> 16);
                nms_NBTTagCompound_setShort($var5, $rt_s(1910), $var4 << 16 >> 16);
                nms_NBTTagList_appendTag($var1, $var5);
            }
            if ($var0.$stackTagCompound === null)
                $var0.$stackTagCompound = nms_NBTTagCompound__init_0();
            nms_NBTTagCompound_setTag($var0.$stackTagCompound, $rt_s(2318), $var1);
        }
    }
    return $var0;
};
$java.maat_TMIEnchanting__clinit_ = function() {
    var $var0, $var1, $var2, $var3;
    $java.maat_TMIEnchanting_currentEnchantmentLevels = ju_LinkedHashMap__init_0();
    nms_Enchantment_$callClinit();
    $var0 = nms_Enchantment_enchantmentsList.data;
    $var1 = $var0.length;
    $var2 = 0;
    while ($var2 < $var1) {
        $var3 = $var0[$var2];
        if ($var3 !== null)
            ju_LinkedHashMap_put($java.maat_TMIEnchanting_currentEnchantmentLevels, $var3, jl_Integer_valueOf(0));
        $var2 = $var2 + 1 | 0;
    }
    $java.maat_TMIEnchanting_setItem(nms_ItemStack__init_0($java.maat_TMIItemInfo_addItemOffset(22), 1, 0));
};
function nle_WebsocketNetworkManager$ByteBufferDirectInputStream() {
    ji_InputStream.call(this);
    this.$buf4 = null;
}
$java.nle_WebsocketNetworkManager$ByteBufferDirectInputStream_read = function($this) {
    return jn_Buffer_remaining($this.$buf4) <= 0 ? (-1) : jn_ByteBufferImpl_get($this.$buf4) & 255;
};
$java.nle_WebsocketNetworkManager$ByteBufferDirectInputStream_available = function($this) {
    return jn_Buffer_remaining($this.$buf4);
};
function nms_ModelEnderCrystal() {
    var a = this; nms_ModelBase.call(a);
    a.$cube = null;
    a.$glass = null;
    a.$base = null;
}
function nms_ModelEnderCrystal_render($this, $par1Entity, $par2, $par3, $par4, $par5, $par6, $par7) {
    nleg_EaglerAdapterGL30_glPushMatrix();
    nleg_EaglerAdapterGL30_glScalef(2.0, 2.0, 2.0);
    nleg_EaglerAdapterGL30_glTranslatef(0.0, (-0.5), 0.0);
    if ($this.$base !== null)
        nms_ModelRenderer_render($this.$base, $par7);
    nleg_EaglerAdapterGL30_glRotatef($par3, 0.0, 1.0, 0.0);
    nleg_EaglerAdapterGL30_glTranslatef(0.0, 0.800000011920929 + $par4, 0.0);
    nleg_EaglerAdapterGL30_glRotatef(60.0, 0.707099974155426, 0.0, 0.707099974155426);
    nms_ModelRenderer_render($this.$glass, $par7);
    nleg_EaglerAdapterGL30_glScalef(0.875, 0.875, 0.875);
    nleg_EaglerAdapterGL30_glRotatef(60.0, 0.707099974155426, 0.0, 0.707099974155426);
    nleg_EaglerAdapterGL30_glRotatef($par3, 0.0, 1.0, 0.0);
    nms_ModelRenderer_render($this.$glass, $par7);
    nleg_EaglerAdapterGL30_glScalef(0.875, 0.875, 0.875);
    nleg_EaglerAdapterGL30_glRotatef(60.0, 0.707099974155426, 0.0, 0.707099974155426);
    nleg_EaglerAdapterGL30_glRotatef($par3, 0.0, 1.0, 0.0);
    nms_ModelRenderer_render($this.$cube, $par7);
    nleg_EaglerAdapterGL30_glPopMatrix();
}
function nms_EnumArt() {
    var a = this; jl_Enum.call(a);
    a.$title0 = null;
    a.$sizeX = 0;
    a.$sizeY = 0;
    a.$offsetX = 0;
    a.$offsetY = 0;
}
$java.nms_EnumArt_Kebab = null;
$java.nms_EnumArt_Aztec = null;
$java.nms_EnumArt_Alban = null;
$java.nms_EnumArt_Aztec2 = null;
$java.nms_EnumArt_Bomb = null;
$java.nms_EnumArt_Plant = null;
$java.nms_EnumArt_Wasteland = null;
$java.nms_EnumArt_Pool = null;
$java.nms_EnumArt_Courbet = null;
$java.nms_EnumArt_Sea = null;
$java.nms_EnumArt_Sunset = null;
$java.nms_EnumArt_Creebet = null;
$java.nms_EnumArt_Wanderer = null;
$java.nms_EnumArt_Graham = null;
$java.nms_EnumArt_Match = null;
$java.nms_EnumArt_Bust = null;
$java.nms_EnumArt_Stage = null;
$java.nms_EnumArt_Void = null;
$java.nms_EnumArt_SkullAndRoses = null;
$java.nms_EnumArt_Wither = null;
$java.nms_EnumArt_Fighters = null;
$java.nms_EnumArt_Pointer = null;
$java.nms_EnumArt_Pigscene = null;
$java.nms_EnumArt_BurningSkull = null;
$java.nms_EnumArt_Skeleton = null;
$java.nms_EnumArt_DonkeyKong = null;
$java.nms_EnumArt_maxArtTitleLength = 0;
$java.nms_EnumArt_$VALUES = null;
$java.nms_EnumArt__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EnumArt();
    $java.nms_EnumArt__init_0(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
};
function nms_EnumArt_values() {
    return $java.nms_EnumArt_$VALUES.$clone();
}
$java.nms_EnumArt__init_0 = function($this, var$1, var$2, $par3Str, $par4, $par5, $par6, $par7) {
    jl_Enum__init_0($this, var$1, var$2);
    $this.$title0 = $par3Str;
    $this.$sizeX = $par4;
    $this.$sizeY = $par5;
    $this.$offsetX = $par6;
    $this.$offsetY = $par7;
};
function nms_EnumArt__clinit_() {
    var var$1, var$2;
    $java.nms_EnumArt_Kebab = $java.nms_EnumArt__init_($rt_s(3246), 0, $rt_s(3246), 16, 16, 0, 0);
    $java.nms_EnumArt_Aztec = $java.nms_EnumArt__init_($rt_s(3247), 1, $rt_s(3247), 16, 16, 16, 0);
    $java.nms_EnumArt_Alban = $java.nms_EnumArt__init_($rt_s(3248), 2, $rt_s(3248), 16, 16, 32, 0);
    $java.nms_EnumArt_Aztec2 = $java.nms_EnumArt__init_($rt_s(3249), 3, $rt_s(3249), 16, 16, 48, 0);
    $java.nms_EnumArt_Bomb = $java.nms_EnumArt__init_($rt_s(3250), 4, $rt_s(3250), 16, 16, 64, 0);
    $java.nms_EnumArt_Plant = $java.nms_EnumArt__init_($rt_s(3251), 5, $rt_s(3251), 16, 16, 80, 0);
    $java.nms_EnumArt_Wasteland = $java.nms_EnumArt__init_($rt_s(3252), 6, $rt_s(3252), 16, 16, 96, 0);
    $java.nms_EnumArt_Pool = $java.nms_EnumArt__init_($rt_s(3253), 7, $rt_s(3253), 32, 16, 0, 32);
    $java.nms_EnumArt_Courbet = $java.nms_EnumArt__init_($rt_s(3254), 8, $rt_s(3254), 32, 16, 32, 32);
    $java.nms_EnumArt_Sea = $java.nms_EnumArt__init_($rt_s(3255), 9, $rt_s(3255), 32, 16, 64, 32);
    $java.nms_EnumArt_Sunset = $java.nms_EnumArt__init_($rt_s(3256), 10, $rt_s(3256), 32, 16, 96, 32);
    $java.nms_EnumArt_Creebet = $java.nms_EnumArt__init_($rt_s(3257), 11, $rt_s(3257), 32, 16, 128, 32);
    $java.nms_EnumArt_Wanderer = $java.nms_EnumArt__init_($rt_s(3258), 12, $rt_s(3258), 16, 32, 0, 64);
    $java.nms_EnumArt_Graham = $java.nms_EnumArt__init_($rt_s(3259), 13, $rt_s(3259), 16, 32, 16, 64);
    $java.nms_EnumArt_Match = $java.nms_EnumArt__init_($rt_s(3260), 14, $rt_s(3260), 32, 32, 0, 128);
    $java.nms_EnumArt_Bust = $java.nms_EnumArt__init_($rt_s(3261), 15, $rt_s(3261), 32, 32, 32, 128);
    $java.nms_EnumArt_Stage = $java.nms_EnumArt__init_($rt_s(3262), 16, $rt_s(3262), 32, 32, 64, 128);
    $java.nms_EnumArt_Void = $java.nms_EnumArt__init_($rt_s(3263), 17, $rt_s(3263), 32, 32, 96, 128);
    $java.nms_EnumArt_SkullAndRoses = $java.nms_EnumArt__init_($rt_s(3264), 18, $rt_s(3264), 32, 32, 128, 128);
    $java.nms_EnumArt_Wither = $java.nms_EnumArt__init_($rt_s(3265), 19, $rt_s(3265), 32, 32, 160, 128);
    $java.nms_EnumArt_Fighters = $java.nms_EnumArt__init_($rt_s(3266), 20, $rt_s(3266), 64, 32, 0, 96);
    $java.nms_EnumArt_Pointer = $java.nms_EnumArt__init_($rt_s(3267), 21, $rt_s(3267), 64, 64, 0, 192);
    $java.nms_EnumArt_Pigscene = $java.nms_EnumArt__init_($rt_s(3268), 22, $rt_s(3268), 64, 64, 64, 192);
    $java.nms_EnumArt_BurningSkull = $java.nms_EnumArt__init_($rt_s(3269), 23, $rt_s(3269), 64, 64, 128, 192);
    $java.nms_EnumArt_Skeleton = $java.nms_EnumArt__init_($rt_s(553), 24, $rt_s(553), 64, 48, 192, 64);
    $java.nms_EnumArt_DonkeyKong = $java.nms_EnumArt__init_($rt_s(3270), 25, $rt_s(3270), 64, 48, 192, 112);
    var$1 = $rt_createArray(nms_EnumArt, 26);
    var$2 = var$1.data;
    var$2[0] = $java.nms_EnumArt_Kebab;
    var$2[1] = $java.nms_EnumArt_Aztec;
    var$2[2] = $java.nms_EnumArt_Alban;
    var$2[3] = $java.nms_EnumArt_Aztec2;
    var$2[4] = $java.nms_EnumArt_Bomb;
    var$2[5] = $java.nms_EnumArt_Plant;
    var$2[6] = $java.nms_EnumArt_Wasteland;
    var$2[7] = $java.nms_EnumArt_Pool;
    var$2[8] = $java.nms_EnumArt_Courbet;
    var$2[9] = $java.nms_EnumArt_Sea;
    var$2[10] = $java.nms_EnumArt_Sunset;
    var$2[11] = $java.nms_EnumArt_Creebet;
    var$2[12] = $java.nms_EnumArt_Wanderer;
    var$2[13] = $java.nms_EnumArt_Graham;
    var$2[14] = $java.nms_EnumArt_Match;
    var$2[15] = $java.nms_EnumArt_Bust;
    var$2[16] = $java.nms_EnumArt_Stage;
    var$2[17] = $java.nms_EnumArt_Void;
    var$2[18] = $java.nms_EnumArt_SkullAndRoses;
    var$2[19] = $java.nms_EnumArt_Wither;
    var$2[20] = $java.nms_EnumArt_Fighters;
    var$2[21] = $java.nms_EnumArt_Pointer;
    var$2[22] = $java.nms_EnumArt_Pigscene;
    var$2[23] = $java.nms_EnumArt_BurningSkull;
    var$2[24] = $java.nms_EnumArt_Skeleton;
    var$2[25] = $java.nms_EnumArt_DonkeyKong;
    $java.nms_EnumArt_$VALUES = var$1;
    $java.nms_EnumArt_maxArtTitleLength = jl_String_length($rt_s(3264));
}
function jl_SystemClassLoader() {
    jl_ClassLoader.call(this);
}
$java.jl_SystemClassLoader__init_ = function() {
    var var_0 = new jl_SystemClassLoader();
    jl_SystemClassLoader__init_(var_0);
    return var_0;
};
function jl_SystemClassLoader__init_($this) {
    $this.$parent3 = null;
}
function nms_ScoreDummyCriteria() {
    jl_Object.call(this);
    this.$field_96644_g = null;
}
$java.nms_ScoreDummyCriteria__init_ = function(var_0) {
    var var_1 = new nms_ScoreDummyCriteria();
    $java.nms_ScoreDummyCriteria__init_0(var_1, var_0);
    return var_1;
};
$java.nms_ScoreDummyCriteria__init_0 = function($this, $par1Str) {
    $this.$field_96644_g = $par1Str;
    ju_HashMap_putImpl($java.nms_ScoreObjectiveCriteria_field_96643_a, $par1Str, $this);
};
function nms_ScoreHealthCriteria() {
    nms_ScoreDummyCriteria.call(this);
}
function cjj_Deflate$Config() {
    var a = this; jl_Object.call(a);
    a.$good_length = 0;
    a.$max_lazy = 0;
    a.$nice_length = 0;
    a.$max_chain = 0;
    a.$func = 0;
}
$java.cjj_Deflate$Config__init_ = function(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new cjj_Deflate$Config();
    $java.cjj_Deflate$Config__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
};
$java.cjj_Deflate$Config__init_0 = function($this, $good_length, $max_lazy, $nice_length, $max_chain, $func) {
    $this.$good_length = $good_length;
    $this.$max_lazy = $max_lazy;
    $this.$nice_length = $nice_length;
    $this.$max_chain = $max_chain;
    $this.$func = $func;
};
function ju_ServiceLoader() {
    jl_Object.call(this);
    this.$services = null;
}
$java.ju_ServiceLoader_iterator = function($this) {
    var var$1;
    var$1 = new ju_ServiceLoader$1;
    var$1.$this$052 = $this;
    return var$1;
};
$java.ju_ServiceLoader_loadServices = function(var$1) {
    if (!ju_ServiceLoader.$$services$$) {
        ju_ServiceLoader.$$services$$ = true;
        jsms_MidiFileReader.$$serviceList$$ = [[csms_StandardMidiFileReader, csms_StandardMidiFileReader__init_]];
    }
    var cls = var$1;
    if (!cls.$$serviceList$$) {
        return $rt_createArray($rt_objcls(), 0);
    }
    var result = $rt_createArray($rt_objcls(), cls.$$serviceList$$.length);
    for (var i = 0; i < result.data.length; ++i) {
        var serviceDesc = cls.$$serviceList$$[i];
        result.data[i] = new serviceDesc[0]();
        serviceDesc[1](result.data[i]);
    }
    return result;
};
function nms_PacketCount() {
    jl_Object.call(this);
}
var nms_PacketCount_allowCounting = 0;
var nms_PacketCount_packetCountForID = null;
var nms_PacketCount_sizeCountForID = null;
var nms_PacketCount_lock = null;
$java.nms_PacketCount__init_ = function() {
    var var_0 = new nms_PacketCount();
    nms_PacketCount__init_(var_0);
    return var_0;
};
function nms_PacketCount__init_($this) {
    return;
}
function nms_PacketCount__clinit_() {
    nms_PacketCount_allowCounting = 1;
    nms_PacketCount_packetCountForID = ju_HashMap__init_();
    nms_PacketCount_sizeCountForID = ju_HashMap__init_();
    nms_PacketCount_lock = new jl_Object;
}
function otcf_VirtualFileSystemProvider() {
    jl_Object.call(this);
}
$java.otcf_VirtualFileSystemProvider_instance = null;
$java.otcf_VirtualFileSystemProvider__init_ = function() {
    var var_0 = new otcf_VirtualFileSystemProvider();
    otcf_VirtualFileSystemProvider__init_(var_0);
    return var_0;
};
function otcf_VirtualFileSystemProvider__init_($this) {
    return;
}
function otcf_VirtualFileSystemProvider__clinit_() {
    $java.otcf_VirtualFileSystemProvider_instance = $java.otcfm_InMemoryVirtualFileSystem__init_();
}
function ju_Collections$16() {
    ju_AbstractSet.call(this);
    this.$val$c = null;
}
$java.ju_Collections$16_iterator = function($this) {
    var var$1, var$2;
    var$1 = ju_HashMap$HashMapEntrySet_iterator($this.$val$c);
    var$2 = new ju_Collections$17;
    var$2.$val$c0 = var$1;
    return var$2;
};
function jt_MessageFormat() {
    var a = this; jt_Format.call(a);
    a.$locale6 = null;
    a.$strings = null;
    a.$argumentNumbers = null;
    a.$formats = null;
    a.$maxOffset = 0;
    a.$maxArgumentIndex = 0;
}
$java.jt_MessageFormat__init_ = function(var_0) {
    var var_1 = new jt_MessageFormat();
    $java.jt_MessageFormat__init_0(var_1, var_0);
    return var_1;
};
$java.jt_MessageFormat__init_0 = function($this, $template) {
    $this.$locale6 = ju_Locale_defaultLocale;
    $java.jt_MessageFormat_applyPattern($this, $template);
};
$java.jt_MessageFormat_applyPattern = function($this, $template) {
    var $length, $buffer, $position, $localStrings, $argCount, $args, $maxArg, $localFormats, $i, $i_0, $arg, $offset, var$14, $ch, $newArgs;
    $length = jl_String_length($template);
    $buffer = new jl_StringBuffer;
    jl_AbstractStringBuilder__init_($buffer);
    $position = $java.jt_ParsePosition__init_(0);
    $localStrings = ju_ArrayList__init_0();
    $argCount = 0;
    $args = $rt_createIntArray(10);
    $maxArg = (-1);
    $localFormats = ju_ArrayList__init_0();
    a: {
        while (true) {
            if ($position.$currentPosition >= $length) {
                $this.$strings = $rt_createArray(jl_String, $localStrings.$size);
                $i = 0;
                while ($i < $localStrings.$size) {
                    $this.$strings.data[$i] = ju_ArrayList_get($localStrings, $i);
                    $i = $i + 1 | 0;
                }
                $this.$argumentNumbers = $args;
                $this.$formats = $rt_createArray(jt_Format, $argCount);
                $i_0 = 0;
                while ($i_0 < $argCount) {
                    $this.$formats.data[$i_0] = ju_ArrayList_get($localFormats, $i_0);
                    $i_0 = $i_0 + 1 | 0;
                }
                $this.$maxOffset = $argCount - 1 | 0;
                $this.$maxArgumentIndex = $maxArg;
                return;
            }
            if (jt_Format_upTo($template, $position, $buffer, 123)) {
                $arg = 0;
                $offset = $position.$currentPosition;
                if ($offset >= $length)
                    break;
                b: {
                    while (true) {
                        var$14 = $offset + 1 | 0;
                        $ch = jl_String_charAt($template, $offset);
                        if ($ch == 125)
                            break b;
                        if ($ch == 44)
                            break;
                        if ($ch < 48 && $ch > 57) {
                            $template = new jl_IllegalArgumentException;
                            jl_Throwable__init_($template, $rt_s(3271));
                            $rt_throw($template);
                        }
                        $arg = ($arg * 10 | 0) + ($ch - 48 | 0) | 0;
                        if ($arg < 0)
                            break a;
                        if (var$14 >= $length)
                            break a;
                        $offset = var$14;
                    }
                }
                $newArgs = $args.data;
                $position.$currentPosition = var$14 + (-1) | 0;
                ju_ArrayList_add($localFormats, $java.jt_MessageFormat_parseVariable($this, $template, $position));
                $offset = $newArgs.length;
                if ($argCount < $offset)
                    $newArgs = $args;
                else {
                    $newArgs = $rt_createIntArray($offset * 2 | 0);
                    jl_System_arraycopy($args, 0, $newArgs, 0, $offset);
                }
                $args = $newArgs.data;
                $i_0 = $argCount + 1 | 0;
                $args[$argCount] = $arg;
                if ($arg <= $maxArg) {
                    $args = $newArgs;
                    $argCount = $i_0;
                } else {
                    $args = $newArgs;
                    $argCount = $i_0;
                    $maxArg = $arg;
                }
            }
            ju_ArrayList_add($localStrings, jl_AbstractStringBuilder_toString($buffer));
            $buffer.$length0 = 0;
        }
        $template = new jl_IllegalArgumentException;
        jl_Throwable__init_($template, $rt_s(3271));
        $rt_throw($template);
    }
    $template = new jl_IllegalArgumentException;
    jl_Throwable__init_($template, $rt_s(3271));
    $rt_throw($template);
};
$java.jt_MessageFormat_format = function($this, $objects, $buffer, $field) {
    return $java.jt_MessageFormat_formatImpl($this, $objects, $buffer, $field, null);
};
$java.jt_MessageFormat_formatImpl = function($this, $objects, $buffer, $position, $fields) {
    var $passedField, $i, var$7, var$8, $arg, $format, var$11, var$12, var$13, $mf, $result;
    $passedField = jt_FieldPosition__init_(0);
    $i = 0;
    a: while (true) {
        if ($i > $this.$maxOffset) {
            if (($this.$maxOffset + 1 | 0) < $this.$strings.data.length)
                jl_AbstractStringBuilder_append($buffer, $this.$strings.data[$this.$maxOffset + 1 | 0]);
            return $buffer;
        }
        b: {
            jl_AbstractStringBuilder_append($buffer, $this.$strings.data[$i]);
            var$7 = $buffer.$length0;
            if ($objects !== null) {
                var$8 = $objects.data;
                if ($this.$argumentNumbers.data[$i] < var$8.length) {
                    $arg = var$8[$this.$argumentNumbers.data[$i]];
                    $format = $this.$formats.data[$i];
                    if (!($format !== null && $arg !== null)) {
                        if ($arg instanceof jl_Number)
                            $format = jt_NumberFormat_getInstance();
                        else {
                            if (!($arg instanceof ju_Date)) {
                                jl_AbstractStringBuilder_append1($buffer, $arg);
                                $java.jt_MessageFormat_handleArgumentField($this, var$7, $buffer.$length0, $this.$argumentNumbers.data[$i], $position, $fields);
                                break b;
                            }
                            var$11 = ju_Locale_defaultLocale;
                            var$12 = jl_Math_max(3, 3);
                            var$13 = var$11.$languageCode;
                            $mf = var$11.$countryCode;
                            if (otciu_CLDRHelper_$$metadata$$16 === null)
                                otciu_CLDRHelper_$$metadata$$16 = otciu_CLDRHelper_getDateTimeFormatMap$$create();
                            c: {
                                $result = otciu_CLDRHelper_resolveDateFormats0(otciu_CLDRHelper_$$metadata$$16, var$13, $mf);
                                switch (var$12) {
                                    case 0:
                                        break;
                                    case 1:
                                        $format = ($result.longFormat !== null ? $rt_str($result.longFormat) : null);
                                        break c;
                                    case 2:
                                        $format = ($result.mediumFormat !== null ? $rt_str($result.mediumFormat) : null);
                                        break c;
                                    case 3:
                                        $format = ($result.shortFormat !== null ? $rt_str($result.shortFormat) : null);
                                        break c;
                                    default:
                                        break a;
                                }
                                $format = ($result.fullFormat !== null ? $rt_str($result.fullFormat) : null);
                            }
                            $format = jt_SimpleDateFormat__init_1(jl_String_replace0(jl_String_replace0($format, $rt_s(3272), jt_DateFormat_getTimeFormatString(3, var$11)), $rt_s(3273), jt_DateFormat_getDateFormatString(3, var$11)), var$11);
                        }
                    }
                    if (!($format instanceof jt_ChoiceFormat)) {
                        $format.$format2($arg, $buffer, $passedField);
                        $java.jt_MessageFormat_handleArgumentField($this, var$7, $buffer.$length0, $this.$argumentNumbers.data[$i], $position, $fields);
                        $java.jt_MessageFormat_handleformat($this, $format, $arg, var$7, $fields);
                        break b;
                    }
                    $mf = $java.jt_MessageFormat__init_(jt_Format_format($format, $arg));
                    $java.jt_MessageFormat_setLocale($mf, $this.$locale6);
                    $java.jt_MessageFormat_format($mf, $objects, $buffer, $passedField);
                    $java.jt_MessageFormat_handleArgumentField($this, var$7, $buffer.$length0, $this.$argumentNumbers.data[$i], $position, $fields);
                    $java.jt_MessageFormat_handleformat($this, $format, $arg, var$7, $fields);
                    break b;
                }
            }
            jl_AbstractStringBuilder_append0($buffer, 123);
            jl_AbstractStringBuilder_append2($buffer, $this.$argumentNumbers.data[$i]);
            jl_AbstractStringBuilder_append0($buffer, 125);
            $java.jt_MessageFormat_handleArgumentField($this, var$7, $buffer.$length0, $this.$argumentNumbers.data[$i], $position, $fields);
        }
        $i = $i + 1 | 0;
    }
    $position = new jl_IllegalArgumentException;
    $buffer = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($buffer);
    jl_AbstractStringBuilder_append($buffer, $rt_s(370));
    jl_AbstractStringBuilder_append2($buffer, var$12);
    jl_Throwable__init_($position, jl_AbstractStringBuilder_toString($buffer));
    $rt_throw($position);
};
$java.jt_MessageFormat_handleArgumentField = function($this, $begin, $end, $argnumber, $position, $fields) {
    if ($fields !== null)
        $fields.$add($java.jt_MessageFormat$FieldContainer__init_($begin, $end, $java.jt_MessageFormat$Field_ARGUMENT, jl_Integer_valueOf($argnumber)));
    else if ($position !== null && $position.$myAttribute === $java.jt_MessageFormat$Field_ARGUMENT && !$position.$endIndex) {
        $position.$beginIndex = $begin;
        $position.$endIndex = $end;
    }
};
$java.jt_MessageFormat_handleformat = function($this, $format, $arg, $begin, $fields) {
    var $iterator, $start, $end, $iter, var$9, $attribute;
    a: {
        if ($fields !== null) {
            $iterator = jt_Format_formatToCharacterIterator($format, $arg);
            while (true) {
                if ($iterator.$offset0 == $iterator.$end5)
                    break a;
                $start = $java.jt_AttributedString$AttributedIterator_getRunStart($iterator);
                $end = $java.jt_AttributedString$AttributedIterator_getRunLimit($iterator);
                $iter = ju_HashMap_keySet($java.jt_AttributedString$AttributedIterator_getAttributes($iterator)).$iterator();
                $start = $begin + $start | 0;
                var$9 = $begin + $end | 0;
                while ($iter.$hasNext()) {
                    $attribute = $iter.$next();
                    $fields.$add($java.jt_MessageFormat$FieldContainer__init_($start, var$9, $attribute, $java.jt_AttributedString$AttributedIterator_getAttribute($iterator, $attribute)));
                }
                $java.jt_AttributedString$AttributedIterator_setIndex($iterator, $end);
            }
        }
    }
};
$java.jt_MessageFormat_format0 = function($this, $object, $buffer, $field) {
    return $java.jt_MessageFormat_format($this, $object, $buffer, $field);
};
$java.jt_MessageFormat_setFormatByArgumentIndex = function($this, $argIndex, $format) {
    var $i;
    $i = 0;
    while ($i < ($this.$maxOffset + 1 | 0)) {
        if ($this.$argumentNumbers.data[$i] == $argIndex)
            $this.$formats.data[$i] = $format;
        $i = $i + 1 | 0;
    }
};
$java.jt_MessageFormat_match = function($this, $string, $position, $last, $tokens) {
    var $length, $offset, $i, var$8, $ch;
    $length = jl_String_length($string);
    $offset = $position.$currentPosition;
    while ($offset < $length && jl_Character_isWhitespace(jl_String_charAt($string, $offset))) {
        $offset = $offset + 1 | 0;
    }
    $tokens = $tokens.data;
    $i = $tokens.length;
    a: {
        while (true) {
            $i = $i + (-1) | 0;
            if ($i < 0) {
                $i = (-1);
                break a;
            }
            if (jl_String_regionMatches($string, 1, $offset, $tokens[$i], 0, jl_String_length($tokens[$i])))
                break;
        }
    }
    if ($i == (-1))
        return (-1);
    var$8 = $offset + jl_String_length($tokens[$i]) | 0;
    while (true) {
        $ch = $rt_compare(var$8, $length);
        if ($ch >= 0)
            break;
        if (!jl_Character_isWhitespace(jl_String_charAt($string, var$8)))
            break;
        var$8 = var$8 + 1 | 0;
    }
    b: {
        if ($ch < 0) {
            $ch = jl_String_charAt($string, var$8);
            if ($ch == 125)
                break b;
            if (!$last && $ch == 44)
                break b;
        }
        return (-1);
    }
    $position.$currentPosition = var$8 + 1 | 0;
    return $i;
};
$java.jt_MessageFormat_parseVariable = function($this, $string, $position) {
    var $length, $offset, $ch, $type, var$7, var$8, $buffer, $dateStyle, $numberStyle, var$12, $$je;
    $length = jl_String_length($string);
    $offset = $position.$currentPosition;
    if ($offset >= $length) {
        $string = new jl_IllegalArgumentException;
        jl_Throwable__init_($string, $rt_s(3274));
        $rt_throw($string);
    }
    $length = $offset + 1 | 0;
    $ch = jl_String_charAt($string, $offset);
    $type = $rt_compare($ch, 125);
    if ($type && $ch != 44) {
        $string = new jl_IllegalArgumentException;
        jl_Throwable__init_($string, $rt_s(3274));
        $rt_throw($string);
    }
    $position.$currentPosition = $length;
    if (!$type)
        return null;
    var$7 = $rt_createArray(jl_String, 4);
    var$8 = var$7.data;
    var$8[0] = $rt_s(2682);
    var$8[1] = $rt_s(3275);
    var$8[2] = $rt_s(3276);
    var$8[3] = $rt_s(3277);
    $type = $java.jt_MessageFormat_match($this, $string, $position, 0, var$7);
    if ($type == (-1)) {
        $string = new jl_IllegalArgumentException;
        jl_Throwable__init_($string, $rt_s(3278));
        $rt_throw($string);
    }
    $buffer = new jl_StringBuffer;
    jl_AbstractStringBuilder__init_($buffer);
    $length = jl_String_charAt($string, $position.$currentPosition - 1 | 0);
    switch ($type) {
        case 0:
        case 1:
            if ($length == 125)
                return $type != 1 ? jt_DateFormat_getTimeInstance(2, $this.$locale6) : jt_DateFormat_getDateInstance(2, $this.$locale6);
            var$7 = $rt_createArray(jl_String, 4);
            var$8 = var$7.data;
            var$8[0] = $rt_s(3279);
            var$8[1] = $rt_s(3192);
            var$8[2] = $rt_s(3280);
            var$8[3] = $rt_s(3281);
            $dateStyle = $java.jt_MessageFormat_match($this, $string, $position, 1, var$7);
            if ($dateStyle == (-1)) {
                jt_Format_upToWithQuotes($string, $position, $buffer, 125, 123);
                return jt_SimpleDateFormat__init_1(jl_AbstractStringBuilder_toString($buffer), $this.$locale6);
            }
            a: {
                switch ($dateStyle) {
                    case 0:
                        $dateStyle = 0;
                        break a;
                    case 1:
                        $dateStyle = 1;
                        break a;
                    case 2:
                        $dateStyle = 2;
                        break a;
                    case 3:
                        $dateStyle = 3;
                        break a;
                    default:
                }
            }
            return $type != 1 ? jt_DateFormat_getTimeInstance($dateStyle, $this.$locale6) : jt_DateFormat_getDateInstance($dateStyle, $this.$locale6);
        case 2:
            if ($length == 125)
                return jt_NumberFormat_getInstance();
            var$7 = $rt_createArray(jl_String, 3);
            var$8 = var$7.data;
            var$8[0] = $rt_s(3282);
            var$8[1] = $rt_s(3283);
            var$8[2] = $rt_s(3284);
            $numberStyle = $java.jt_MessageFormat_match($this, $string, $position, 1, var$7);
            if ($numberStyle == (-1)) {
                jt_Format_upToWithQuotes($string, $position, $buffer, 125, 123);
                return jt_DecimalFormat__init_1(jl_AbstractStringBuilder_toString($buffer), jt_DecimalFormatSymbols__init_0($this.$locale6));
            }
            switch ($numberStyle) {
                case 0:
                    $string = $this.$locale6;
                    var$12 = $string.$languageCode;
                    $buffer = $string.$countryCode;
                    if (otciu_CLDRHelper_$$metadata$$19 === null)
                        otciu_CLDRHelper_$$metadata$$19 = otciu_CLDRHelper_getCurrencyFormatMap$$create();
                    return jt_DecimalFormat__init_1(otciu_CLDRHelper_resolveFormatSymbols(otciu_CLDRHelper_$$metadata$$19, var$12, $buffer), jt_DecimalFormatSymbols__init_0($string));
                case 1:
                    $string = $this.$locale6;
                    var$12 = $string.$languageCode;
                    $buffer = $string.$countryCode;
                    if (otciu_CLDRHelper_$$metadata$$18 === null)
                        otciu_CLDRHelper_$$metadata$$18 = otciu_CLDRHelper_getPercentFormatMap$$create();
                    return jt_DecimalFormat__init_1(otciu_CLDRHelper_resolveFormatSymbols(otciu_CLDRHelper_$$metadata$$18, var$12, $buffer), jt_DecimalFormatSymbols__init_0($string));
                default:
            }
            return jt_NumberFormat_getIntegerInstance($this.$locale6);
        default:
    }
    b: {
        try {
            jt_Format_upToWithQuotes($string, $position, $buffer, 125, 123);
            break b;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_IllegalArgumentException) {
            } else {
                throw $$e;
            }
        }
    }
    $string = new jt_ChoiceFormat;
    $position = jl_AbstractStringBuilder_toString($buffer);
    jt_NumberFormat__init_0($string);
    $java.jt_ChoiceFormat_applyPattern($string, $position);
    return $string;
};
$java.jt_MessageFormat_setLocale = function($this, $locale) {
    var $i, $format;
    $this.$locale6 = $locale;
    $i = 0;
    while ($i <= $this.$maxOffset) {
        $format = $this.$formats.data[$i];
        if ($format instanceof jt_DecimalFormat)
            $this.$formats.data[$i] = jt_DecimalFormat__init_1($format.$pattern4, jt_DecimalFormatSymbols__init_0($locale));
        else if ($format instanceof jt_SimpleDateFormat)
            $this.$formats.data[$i] = jt_SimpleDateFormat__init_1($format.$pattern, $locale);
        $i = $i + 1 | 0;
    }
};
function oj_JSONObject$Null() {
    jl_Object.call(this);
}
$java.oj_JSONObject$Null__init_ = function() {
    var var_0 = new oj_JSONObject$Null();
    oj_JSONObject$Null__init_(var_0);
    return var_0;
};
function oj_JSONObject$Null__init_($this) {
    return;
}
$java.oj_JSONObject$Null_equals = function($this, $object) {
    return $object !== null && $object !== $this ? 0 : 1;
};
$java.oj_JSONObject$Null_hashCode = function($this) {
    return 0;
};
$java.oj_JSONObject$Null_toString = function($this) {
    return $rt_s(48);
};
function otcfm_InMemoryVirtualFileSystem() {
    var a = this; jl_Object.call(a);
    a.$root0 = null;
    a.$userDir = null;
}
$java.otcfm_InMemoryVirtualFileSystem__init_ = function() {
    var var_0 = new otcfm_InMemoryVirtualFileSystem();
    otcfm_InMemoryVirtualFileSystem__init_(var_0);
    return var_0;
};
function otcfm_InMemoryVirtualFileSystem__init_($this) {
    var var$1;
    var$1 = new otcfm_InMemoryVirtualDirectory;
    var$1.$lastModified0 = jl_System_currentTimeMillis();
    var$1.$name27 = $rt_s(36);
    var$1.$children2 = ju_LinkedHashMap__init_0();
    $this.$root0 = var$1;
    $this.$userDir = $rt_s(61);
}
$java.otcfm_InMemoryVirtualFileSystem_isWindows = function($this) {
    return 0;
};
function otcfm_AbstractInMemoryVirtualFile() {
    var a = this; jl_Object.call(a);
    a.$name27 = null;
    a.$lastModified0 = Long_ZERO;
}
function otcfm_InMemoryVirtualDirectory() {
    otcfm_AbstractInMemoryVirtualFile.call(this);
    this.$children2 = null;
}
function nle_WebsocketNetworkManager$1() {
    jl_Object.call(this);
}
function otcfm_InMemoryVirtualFile() {
    otcfm_AbstractInMemoryVirtualFile.call(this);
}
function oj_JSONObject$1() {
    jl_Object.call(this);
}
function ju_ServiceLoader$1() {
    var a = this; jl_Object.call(a);
    a.$index13 = 0;
    a.$this$052 = null;
}
$java.ju_ServiceLoader$1_hasNext = function($this) {
    return $this.$index13 >= $this.$this$052.$services.data.length ? 0 : 1;
};
$java.ju_ServiceLoader$1_next = function($this) {
    var var$1, var$2, var$3;
    if ($this.$index13 == $this.$this$052.$services.data.length) {
        var$1 = new ju_NoSuchElementException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    var$2 = $this.$this$052.$services.data;
    var$3 = $this.$index13;
    $this.$index13 = var$3 + 1 | 0;
    return var$2[var$3];
};
function csms_StandardMidiFileReader() {
    jsms_MidiFileReader.call(this);
}
$java.csms_StandardMidiFileReader__init_ = function() {
    var var_0 = new csms_StandardMidiFileReader();
    csms_StandardMidiFileReader__init_(var_0);
    return var_0;
};
function csms_StandardMidiFileReader__init_(var$0) {
    return;
}
$java.csms_StandardMidiFileReader_getSequence = function(var$0, var$1) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, var$9, $$je;
    var$2 = $java.csms_SMFParser__init_();
    var$3 = var$1 instanceof ji_DataInputStream ? var$1 : ji_DataInputStream__init_(var$1);
    var$2.$stream0 = var$3;
    a: {
        try {
            if (ji_DataInputStream_readInt(var$3) != 1297377380)
                $rt_throw($java.jsm_InvalidMidiDataException__init_0($rt_s(3285)));
            var$4 = ji_DataInputStream_readInt(var$3) - 6 | 0;
            var$5 = ji_DataInputStream_readShort(var$3);
            var$6 = ji_DataInputStream_readShort(var$3);
            var$7 = ji_DataInputStream_readShort(var$3);
            if (var$7 > 0)
                var$8 = 0.0;
            else {
                b: {
                    var$9 = (-1) * (var$7 >> 8) | 0;
                    switch (var$9) {
                        case 24:
                            var$8 = 24.0;
                            break b;
                        case 25:
                            var$8 = 25.0;
                            break b;
                        case 26:
                        case 27:
                        case 28:
                            break;
                        case 29:
                            var$8 = 29.969999313354492;
                            break b;
                        case 30:
                            var$8 = 30.0;
                            break b;
                        default:
                    }
                    $rt_throw($java.jsm_InvalidMidiDataException__init_0(jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(3286)), var$9))));
                }
                var$7 = var$7 & 255;
            }
            ji_FilterInputStream_skip(var$3, Long_fromInt(var$4));
            var$2.$tracks0 = var$6;
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            var$1 = $$je;

        }
        $rt_throw(var$1);
    }
    if (var$5 && var$5 != 1) {
        var$1 = new jsm_InvalidMidiDataException;
        var$2 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$2);
        jl_AbstractStringBuilder_append(var$2, $rt_s(3287));
        jl_AbstractStringBuilder_append2(var$2, var$5);
        jl_Throwable__init_(var$1, jl_AbstractStringBuilder_toString(var$2));
        $rt_throw(var$1);
    }
    var$1 = new jsm_Sequence;
    var$1.$tracks = $java.ju_Vector__init_();
    if (var$8 === 0.0)
        var$1.$divisionType = 0.0;
    else if (var$8 === 24.0)
        var$1.$divisionType = 24.0;
    else if (var$8 === 25.0)
        var$1.$divisionType = 25.0;
    else if (var$8 === 29.969999313354492)
        var$1.$divisionType = 29.969999313354492;
    else {
        if (var$8 !== 30.0) {
            var$1 = new jsm_InvalidMidiDataException;
            var$2 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$2);
            jl_AbstractStringBuilder_append(var$2, $rt_s(3288));
            jl_Throwable__init_(var$1, jl_AbstractStringBuilder_toString(jl_StringBuilder_append3(var$2, var$8)));
            $rt_throw(var$1);
        }
        var$1.$divisionType = 30.0;
    }
    var$1.$resolution = var$7;
    var$4 = 0;
    while (var$4 < var$2.$tracks0 && $java.csms_SMFParser_nextTrack(var$2)) {
        $java.csms_SMFParser_readTrack(var$2, $java.jsm_Sequence_createTrack(var$1));
        var$4 = var$4 + 1 | 0;
    }
    return var$1;
};
function jl_InstantiationException() {
    jl_ReflectiveOperationException.call(this);
}
$java.jl_InstantiationException__init_ = function() {
    var var_0 = new jl_InstantiationException();
    jl_InstantiationException__init_(var_0);
    return var_0;
};
function jl_InstantiationException__init_($this) {
    jl_Throwable__init_0($this);
}
function maat_TMIEnchantControl() {
    var a = this; maat__tmi_MgWidget.call(a);
    a.$name13 = null;
    a.$normallyPossible = 0;
    a.$enchantment0 = null;
}
$java.maat_TMIEnchantControl_click = function($this, $var1, $var2, $var3) {
    var $var4, var$5;
    $var4 = $var1 >= ($this.$x5 + 13 | 0) ? 0 : 1;
    var$5 = $this.$enchantment0;
    $var1 = !$var4 ? 1 : (-1);
    $java.maat_TMIEnchanting_$callClinit();
    $var1 = $java.ju_LinkedHashMap_get($java.maat_TMIEnchanting_currentEnchantmentLevels, var$5).$value + $var1 | 0;
    if ($var1 < 0)
        $var1 = 0;
    else if ($var1 > 10)
        $var1 = 10;
    ju_LinkedHashMap_put($java.maat_TMIEnchanting_currentEnchantmentLevels, var$5, jl_Integer_valueOf($var1));
    return 0;
};
$java.maat_TMIEnchantControl_draw = function($this, $var1, $var2, $var3) {
    var $var4, var$5, var$6, $var7, $var6, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();$var6 = $thread.pop();$var7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = !$this.$normallyPossible ? (-5609882) : (-1);
        $java.maat__tmi_MgCanvas_drawRect($var1, $this.$x5, $this.$y4, 12, 12, (-301989888));
        $java.maat__tmi_MgCanvas_drawRect($var1, $this.$x5 + 13 | 0, $this.$y4, $this.$width3 - 13 | 0, 12, (-301989888));
        $var2 = $this.$x5;
        $var3 = $this.$y4;
        var$5 = 12;
        var$6 = 12;
        $var7 = $rt_s(567);
        $ptr = 1;
    case 1:
        $java.maat__tmi_MgCanvas_drawTextCentered0($var1, $var2, $var3, var$5, var$6, $var7, $var4);
        if ($rt_suspending()) {
            break main;
        }
        $var7 = $this.$enchantment0;
        $java.maat_TMIEnchanting_$callClinit();
        $var2 = $java.ju_LinkedHashMap_get($java.maat_TMIEnchanting_currentEnchantmentLevels, $var7).$value;
        $var7 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var7);
        jl_AbstractStringBuilder_append($var7, $rt_s(343));
        jl_AbstractStringBuilder_append2($var7, $var2);
        $var6 = jl_AbstractStringBuilder_toString($var7);
        $var7 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var7);
        jl_AbstractStringBuilder_append($var7, $rt_s(2998));
        jl_AbstractStringBuilder_append($var7, $this.$name13);
        $var7 = jl_AbstractStringBuilder_toString($var7);
        while (true) {
            var$9 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$9);
            jl_AbstractStringBuilder_append(var$9, $var7);
            jl_AbstractStringBuilder_append(var$9, $var6);
            if (($java.maat__tmi_MgCanvas_getTextWidth0($var1, jl_AbstractStringBuilder_toString(var$9)) + 14 | 0) <= $this.$width3)
                break;
            $var7 = jl_String_substring0($var7, 0, jl_String_length($var7) - 1 | 0);
        }
        $var2 = $this.$x5 + 14 | 0;
        $var3 = $this.$y4 + 2 | 0;
        var$9 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$9);
        jl_AbstractStringBuilder_append(var$9, $var7);
        jl_AbstractStringBuilder_append(var$9, $var6);
        $var7 = jl_AbstractStringBuilder_toString(var$9);
        $ptr = 2;
    case 2:
        $java.maat__tmi_MgCanvas_drawText($var1, $var2, $var3, $var7, $var4);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var4, var$5, var$6, $var7, $var6, var$9, $ptr);
};
function jt_ChoiceFormat() {
    var a = this; jt_NumberFormat.call(a);
    a.$choiceLimits = null;
    a.$choiceFormats = null;
}
$java.jt_ChoiceFormat_applyPattern = function($this, $template) {
    var $limits, $formats, $length, $limitCount, $index, $buffer, $format, $position, $ch, $i, $value, $newLimits, $next, var$15;
    $limits = $rt_createDoubleArray(5);
    $formats = ju_ArrayList__init_0();
    $length = jl_String_length($template);
    $limitCount = 0;
    $index = 0;
    $buffer = new jl_StringBuffer;
    jl_AbstractStringBuilder__init_($buffer);
    $format = jt_NumberFormat_getNumberInstance(ju_Locale_US);
    $position = $java.jt_ParsePosition__init_(0);
    a: {
        while (true) {
            $ch = $java.jt_ChoiceFormat_skipWhitespace($this, $template, $index);
            if ($ch >= $length) {
                if ($limitCount == $limits.data.length)
                    $this.$choiceLimits = $limits;
                else {
                    $this.$choiceLimits = $rt_createDoubleArray($limitCount);
                    jl_System_arraycopy($limits, 0, $this.$choiceLimits, 0, $limitCount);
                }
                $this.$choiceFormats = $rt_createArray(jl_String, $formats.$size);
                $i = 0;
                while ($i < $formats.$size) {
                    $this.$choiceFormats.data[$i] = ju_ArrayList_get($formats, $i);
                    $i = $i + 1 | 0;
                }
                return;
            }
            $position.$currentPosition = $ch;
            $value = jt_DecimalFormat_parse($format, $template, $position);
            $ch = $java.jt_ChoiceFormat_skipWhitespace($this, $template, $position.$currentPosition);
            if ($position.$errorIndex != (-1))
                break a;
            if ($ch >= $length)
                break a;
            $newLimits = $limits.data;
            $index = $ch + 1 | 0;
            $ch = jl_String_charAt($template, $ch);
            if ($limitCount != $newLimits.length)
                $newLimits = $limits;
            else {
                $newLimits = $rt_createDoubleArray($limitCount * 2 | 0);
                jl_System_arraycopy($limits, 0, $newLimits, 0, $limitCount);
            }
            b: {
                switch ($ch) {
                    case 35:
                    case 8804:
                        break;
                    case 60:
                        $next = $value.$doubleValue();
                        if ($next !== Infinity) {
                            $ch = $rt_compare($next, 0.0);
                            var$15 = $ch ? $rt_doubleToLongBits($next) : Long_ZERO;
                            $next = $rt_longBitsToDouble(($ch >= 0 ? Long_add(var$15, Long_fromInt(1)) : Long_sub(var$15, Long_fromInt(1))));
                        }
                        break b;
                    default:
                        $template = new jl_IllegalArgumentException;
                        jl_Throwable__init_0($template);
                        $rt_throw($template);
                }
                $next = $value.$doubleValue();
            }
            if ($limitCount > 0 && $next <= $newLimits.data[$limitCount - 1 | 0])
                break;
            $limits = $newLimits.data;
            $buffer.$length0 = 0;
            $position.$currentPosition = $index;
            jt_Format_upTo($template, $position, $buffer, 124);
            $index = $position.$currentPosition;
            $ch = $limitCount + 1 | 0;
            $limits[$limitCount] = $next;
            ju_ArrayList_add($formats, jl_AbstractStringBuilder_toString($buffer));
            $limits = $newLimits;
            $limitCount = $ch;
        }
        $template = new jl_IllegalArgumentException;
        jl_Throwable__init_0($template);
        $rt_throw($template);
    }
    $this.$choiceLimits = $rt_createDoubleArray(0);
    $this.$choiceFormats = $rt_createArray(jl_String, 0);
};
$java.jt_ChoiceFormat_equals = function($this, $object) {
    var $choice, var$3, var$4, var$5, var$6;
    if ($this === $object)
        return 1;
    if (!($object instanceof jt_ChoiceFormat))
        return 0;
    a: {
        $choice = $object;
        var$3 = $this.$choiceLimits;
        var$4 = $choice.$choiceLimits;
        if (var$3 === var$4)
            var$5 = 1;
        else {
            if (var$3 !== null && var$4 !== null) {
                var$3 = var$3.data;
                var$4 = var$4.data;
                var$5 = var$3.length;
                if (var$5 == var$4.length) {
                    var$6 = 0;
                    while (var$6 < var$5) {
                        if (var$3[var$6] !== var$4[var$6]) {
                            var$5 = 0;
                            break a;
                        }
                        var$6 = var$6 + 1 | 0;
                    }
                    var$5 = 1;
                    break a;
                }
            }
            var$5 = 0;
        }
    }
    return var$5 && ju_Arrays_equals($this.$choiceFormats, $choice.$choiceFormats) ? 1 : 0;
};
$java.jt_ChoiceFormat_format = function($this, $value, $buffer, $field) {
    var $i;
    $i = $this.$choiceLimits.data.length - 1 | 0;
    while (true) {
        if ($i < 0) {
            if ($this.$choiceFormats.data.length)
                jl_AbstractStringBuilder_append($buffer, $this.$choiceFormats.data[0]);
            return $buffer;
        }
        if ($this.$choiceLimits.data[$i] <= $value)
            break;
        $i = $i + (-1) | 0;
    }
    jl_AbstractStringBuilder_append($buffer, $this.$choiceFormats.data[$i]);
    return $buffer;
};
$java.jt_ChoiceFormat_format0 = function($this, $value, $buffer, $field) {
    return $java.jt_ChoiceFormat_format($this, Long_toNumber($value), $buffer, $field);
};
$java.jt_ChoiceFormat_hashCode = function($this) {
    var $hashCode, $i, $v;
    $hashCode = 0;
    $i = 0;
    while ($i < $this.$choiceLimits.data.length) {
        $v = $rt_doubleToLongBits($this.$choiceLimits.data[$i]);
        $hashCode = $hashCode + (Long_xor($v, Long_shru($v, 32)).lo + jl_String_hashCode($this.$choiceFormats.data[$i]) | 0) | 0;
        $i = $i + 1 | 0;
    }
    return $hashCode;
};
$java.jt_ChoiceFormat_skipWhitespace = function($this, $string, $index) {
    var $length;
    $length = jl_String_length($string);
    while ($index < $length && jl_Character_isWhitespace(jl_String_charAt($string, $index))) {
        $index = $index + 1 | 0;
    }
    return $index;
};
function ju_Collections$17() {
    jl_Object.call(this);
    this.$val$c0 = null;
}
$java.ju_Collections$17_hasNext = function($this) {
    return ju_HashMap$AbstractMapIterator_hasNext($this.$val$c0);
};
$java.ju_Collections$17_next = function($this) {
    var var$1, var$2, var$3;
    var$1 = new ju_AbstractMap$SimpleImmutableEntry;
    var$2 = ju_HashMap$EntryIterator_next($this.$val$c0);
    var$3 = var$2.$key;
    var$2 = var$2.$value1;
    var$1.$key3 = var$3;
    var$1.$value15 = var$2;
    return var$1;
};
$java.ju_Collections$17_next0 = function($this) {
    return $java.ju_Collections$17_next($this);
};
function csms_SMFParser() {
    var a = this; jl_Object.call(a);
    a.$tracks0 = 0;
    a.$stream0 = null;
    a.$trackLength = 0;
    a.$trackData = null;
    a.$pos2 = 0;
}
$java.csms_SMFParser__init_ = function() {
    var var_0 = new csms_SMFParser();
    csms_SMFParser__init_(var_0);
    return var_0;
};
function csms_SMFParser__init_(var$0) {
    var$0.$trackLength = 0;
    var$0.$trackData = null;
    var$0.$pos2 = 0;
}
$java.csms_SMFParser_readUnsigned = function(var$0) {
    var var$1, var$2;
    var$1 = var$0.$trackData.data;
    var$2 = var$0.$pos2;
    var$0.$pos2 = var$2 + 1 | 0;
    return var$1[var$2] & 255;
};
$java.csms_SMFParser_read = function(var$0, var$1) {
    var var$2, var$3, var$4, var$5;
    var$2 = var$1.data;
    var$3 = var$0.$trackData;
    var$4 = var$0.$pos2;
    var$5 = var$2.length;
    jl_System_arraycopy(var$3, var$4, var$1, 0, var$5);
    var$0.$pos2 = var$0.$pos2 + var$5 | 0;
};
$java.csms_SMFParser_readVarInt = function(var$0) {
    var var$1, var$2, var$3, var$4;
    var$1 = Long_ZERO;
    while (true) {
        var$2 = var$0.$trackData.data;
        var$3 = var$0.$pos2;
        var$0.$pos2 = var$3 + 1 | 0;
        var$4 = var$2[var$3] & 255;
        var$1 = Long_add(Long_shl(var$1, 7), Long_fromInt(var$4 & 127));
        if (!(var$4 & 128))
            break;
    }
    return var$1;
};
$java.csms_SMFParser_readIntFromStream = function(var$0) {
    var var$1, var$2, $$je;
    a: {
        try {
            var$1 = ji_DataInputStream_readInt(var$0.$stream0);
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof ji_EOFException) {
                break a;
            } else {
                throw $$e;
            }
        }
        return var$1;
    }
    var$2 = new ji_EOFException;
    jl_Throwable__init_(var$2, $rt_s(3289));
    $rt_throw(var$2);
};
$java.csms_SMFParser_nextTrack = function(var$0) {
    var var$1, var$2, var$3, $$je;
    var$0.$trackLength = 0;
    while (ji_DataInputStream_skipBytes(var$0.$stream0, var$0.$trackLength) == var$0.$trackLength) {
        var$1 = $java.csms_SMFParser_readIntFromStream(var$0);
        var$0.$trackLength = $java.csms_SMFParser_readIntFromStream(var$0);
        if (var$1 != 1297379947)
            continue;
        else {
            if (var$0.$trackLength < 0)
                return 0;
            a: {
                try {
                    var$0.$trackData = $rt_createByteArray(var$0.$trackLength);
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_OutOfMemoryError) {
                        var$2 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                var$3 = new ji_IOException;
                jl_Throwable__init_4(var$3, $rt_s(3290), var$2);
                $rt_throw(var$3);
            }
            b: {
                try {
                    ji_DataInputStream_readFully(var$0.$stream0, var$0.$trackData);
                    break b;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof ji_EOFException) {
                    } else {
                        throw $$e;
                    }
                }
                return 0;
            }
            var$0.$pos2 = 0;
            return 1;
        }
    }
    return 0;
};
$java.csms_SMFParser_trackFinished = function(var$0) {
    return var$0.$pos2 < var$0.$trackLength ? 0 : 1;
};
$java.csms_SMFParser_readTrack = function(var$0, var$1) {
    var var$2, var$3, var$4, var$5, var$6, var$7, var$8, $$je;
    a: {
        try {
            var$2 = Long_ZERO;
            var$3 = 0;
            var$4 = 0;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_ArrayIndexOutOfBoundsException) {
                break a;
            } else {
                throw $$e;
            }
        }
        b: {
            c: {
                d: {
                    try {
                        while (!$java.csms_SMFParser_trackFinished(var$0) && !var$4) {
                            var$2 = Long_add(var$2, $java.csms_SMFParser_readVarInt(var$0));
                            var$5 = $java.csms_SMFParser_readUnsigned(var$0);
                            if (var$5 >= 128) {
                                var$3 = var$5;
                                var$5 = (-1);
                            }
                            e: {
                                switch (var$3 & 240) {
                                    case 128:
                                    case 144:
                                    case 160:
                                    case 176:
                                    case 224:
                                        if (var$5 == (-1))
                                            var$5 = $java.csms_SMFParser_readUnsigned(var$0);
                                        var$6 = $java.csms_FastShortMessage__init_(var$3 | var$5 << 8 | $java.csms_SMFParser_readUnsigned(var$0) << 16);
                                        break e;
                                    case 192:
                                    case 208:
                                        break;
                                    case 240:
                                        switch (var$3) {
                                            case 240:
                                            case 247:
                                                break;
                                            case 255:
                                                var$7 = $java.csms_SMFParser_readUnsigned(var$0);
                                                var$5 = $java.csms_SMFParser_readVarInt(var$0).lo;
                                                try {
                                                    var$8 = $rt_createByteArray(var$5);
                                                } catch ($$e) {
                                                    $$je = $rt_wrapException($$e);
                                                    if ($$je instanceof jl_OutOfMemoryError) {
                                                        var$1 = $$je;
                                                        break d;
                                                    } else {
                                                        throw $$e;
                                                    }
                                                }
                                                $java.csms_SMFParser_read(var$0, var$8);
                                                var$6 = $java.jsm_MetaMessage__init_();
                                                $java.jsm_MetaMessage_setMessage(var$6, var$7, var$8, var$5);
                                                if (var$7 != 47)
                                                    break e;
                                                var$4 = 1;
                                                break e;
                                            default:
                                                break c;
                                        }
                                        var$7 = $java.csms_SMFParser_readVarInt(var$0).lo;
                                        var$8 = $rt_createByteArray(var$7);
                                        $java.csms_SMFParser_read(var$0, var$8);
                                        var$6 = $java.jsm_SysexMessage__init_();
                                        $java.jsm_SysexMessage_setMessage(var$6, var$3, var$8, var$7);
                                        break e;
                                    default:
                                        break b;
                                }
                                if (var$5 == (-1))
                                    var$5 = $java.csms_SMFParser_readUnsigned(var$0);
                                var$6 = $java.csms_FastShortMessage__init_(var$3 | var$5 << 8);
                            }
                            $java.jsm_Track_add(var$1, $java.jsm_MidiEvent__init_(var$6, var$2));
                        }
                    } catch ($$e) {
                        $$je = $rt_wrapException($$e);
                        if ($$je instanceof jl_ArrayIndexOutOfBoundsException) {
                            break a;
                        } else {
                            throw $$e;
                        }
                    }
                    return;
                }
                try {
                    $rt_throw(ji_IOException__init_1($rt_s(3291), var$1));
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_ArrayIndexOutOfBoundsException) {
                        break a;
                    } else {
                        throw $$e;
                    }
                }
            }
            try {
                $rt_throw($java.jsm_InvalidMidiDataException__init_0(jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(3091)), var$3))));
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_ArrayIndexOutOfBoundsException) {
                    break a;
                } else {
                    throw $$e;
                }
            }
        }
        try {
            $rt_throw($java.jsm_InvalidMidiDataException__init_0(jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(3091)), var$3))));
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_ArrayIndexOutOfBoundsException) {
            } else {
                throw $$e;
            }
        }
    }
    var$1 = new ji_EOFException;
    jl_Throwable__init_(var$1, $rt_s(3289));
    $rt_throw(var$1);
};
function maa_CryptManager() {
    jl_Object.call(this);
}
$java.maa_CryptManager_baseSharedKey = null;
$java.maa_CryptManager__init_ = function() {
    var var_0 = new maa_CryptManager();
    maa_CryptManager__init_(var_0);
    return var_0;
};
function maa_CryptManager__init_($this) {
    return;
}
$java.maa_CryptManager_uInt8toByteArr = function($a) {
    var $b, var$3, $i, var$5;
    $b = $rt_createByteArray($a.byteLength);
    var$3 = $b.data;
    $i = 0;
    var$5 = var$3.length;
    while ($i < var$5) {
        var$3[$i] = ($a[$i] & 255) << 24 >> 24;
        $i = $i + 1 | 0;
    }
    return $b;
};
$java.maa_CryptManager_encryptData = function($par0Key, $par1ArrayOfByte) {
    var var$3, var$4;
    $par0Key = nle_Base64_encodeBase64String($java.jm_BigInteger_toByteArray($java.maa_PubKey_priexp));
    var$3 = nle_Base64_encodeBase64String($java.jm_BigInteger_toByteArray($java.maa_PubKey_modulus));
    var$4 = nle_Base64_encodeBase64String($par1ArrayOfByte);
    return nle_Base64_decodeBase64($rt_str($java.maa_CryptManager_encryptDataNative$js_body$_6($rt_ustr($par0Key), $rt_ustr(var$3), $rt_ustr(var$4))));
};
function maa_CryptManager__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createByteArray(16);
    var$2 = var$1.data;
    var$2[0] = 1;
    var$2[1] = 2;
    var$2[2] = 3;
    var$2[3] = 4;
    var$2[4] = 5;
    var$2[5] = 6;
    var$2[6] = 7;
    var$2[7] = 8;
    var$2[8] = 9;
    var$2[9] = 10;
    var$2[10] = 11;
    var$2[11] = 12;
    var$2[12] = 13;
    var$2[13] = 14;
    var$2[14] = 15;
    var$2[15] = 16;
    $java.maa_CryptManager_baseSharedKey = var$1;
}
$java.maa_CryptManager_x509decode$js_body$_2 = function(var$1) {
    var xd = window.ASN1.parse((window.PEM.parseBlock(var$1)).der);
    xd = xd.children.find(function(e) {
        return e.type == 3;
    });
    xd = xd.children.find(function(e) {
        return e.type == 48;
    });
    return [xd.children[0].value, xd.children[1].value];
};
$java.maa_CryptManager_encryptDataNative$js_body$_6 = function(var$1, var$2, var$3) {
    var rsa = new RSAKey();
    rsa.setPublic(b64tohex(var$2), b64tohex(var$1));
    return hex2b64(rsa.encrypt(b64tohex(var$3)));
};
function nle_EaglerInflater() {
    jl_Object.call(this);
}
$java.nle_EaglerInflater__init_ = function() {
    var var_0 = new nle_EaglerInflater();
    nle_EaglerInflater__init_(var_0);
    return var_0;
};
function nle_EaglerInflater__init_($this) {
    return;
}
$java.nle_EaglerInflater_uncompress = function($input) {
    var var$2, var$3, var$4;
    var$2 = cjj_InflaterInputStream__init_(ji_ByteArrayInputStream__init_($input));
    var$3 = ji_ByteArrayOutputStream__init_0();
    $input = $rt_createByteArray(65535);
    var$4 = ji_FilterInputStream_read0(var$2, $input);
    while (var$4 != (-1)) {
        ji_ByteArrayOutputStream_write0(var$3, $input, 0, var$4);
        var$4 = ji_FilterInputStream_read0(var$2, $input);
    }
    return ji_ByteArrayOutputStream_toByteArray(var$3);
};
function nms_InventoryCrafting() {
    var a = this; jl_Object.call(a);
    a.$stackList = null;
    a.$inventoryWidth = 0;
    a.$eventHandler = null;
}
$java.nms_InventoryCrafting__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_InventoryCrafting();
    nms_InventoryCrafting__init_(var_3, var_0, var_1, var_2);
    return var_3;
};
function nms_InventoryCrafting__init_($this, $par1Container, $par2, $par3) {
    $this.$stackList = $rt_createArray(nms_ItemStack, $rt_imul($par2, $par3));
    $this.$eventHandler = $par1Container;
    $this.$inventoryWidth = $par2;
}
$java.nms_InventoryCrafting_getSizeInventory = function($this) {
    return $this.$stackList.data.length;
};
function nms_InventoryCrafting_getStackInSlot($this, $par1) {
    return $par1 >= $java.nms_InventoryCrafting_getSizeInventory($this) ? null : $this.$stackList.data[$par1];
}
$java.nms_InventoryCrafting_getStackInRowAndColumn = function($this, $par1, $par2) {
    if ($par1 >= 0 && $par1 < $this.$inventoryWidth)
        return nms_InventoryCrafting_getStackInSlot($this, $par1 + $rt_imul($par2, $this.$inventoryWidth) | 0);
    return null;
};
$java.nms_InventoryCrafting_getStackInSlotOnClosing = function($this, $par1) {
    var $var2;
    if ($this.$stackList.data[$par1] === null)
        return null;
    $var2 = $this.$stackList.data[$par1];
    $this.$stackList.data[$par1] = null;
    return $var2;
};
$java.nms_InventoryCrafting_decrStackSize = function($this, $par1, $par2) {
    var $var3, $var3_0;
    if ($this.$stackList.data[$par1] === null)
        return null;
    if ($this.$stackList.data[$par1].$stackSize <= $par2) {
        $var3 = $this.$stackList.data[$par1];
        $this.$stackList.data[$par1] = null;
        $this.$eventHandler.$onCraftMatrixChanged($this);
        return $var3;
    }
    $var3_0 = nms_ItemStack_splitStack($this.$stackList.data[$par1], $par2);
    if (!$this.$stackList.data[$par1].$stackSize)
        $this.$stackList.data[$par1] = null;
    $this.$eventHandler.$onCraftMatrixChanged($this);
    return $var3_0;
};
function nms_InventoryCrafting_setInventorySlotContents($this, $par1, $par2ItemStack) {
    $this.$stackList.data[$par1] = $par2ItemStack;
    $this.$eventHandler.$onCraftMatrixChanged($this);
}
$java.nms_InventoryCrafting_getInventoryStackLimit = function($this) {
    return 64;
};
$java.nms_InventoryCrafting_onInventoryChanged = function($this) {
    return;
};
function nms_ContainerSheep() {
    nms_Container.call(this);
    this.$field_90034_a = null;
}
function jsm_Track$ImmutableEndOfTrack() {
    jsm_MetaMessage.call(this);
}
$java.jsm_Track$ImmutableEndOfTrack__init_ = function() {
    var var_0 = new jsm_Track$ImmutableEndOfTrack();
    jsm_Track$ImmutableEndOfTrack__init_(var_0);
    return var_0;
};
function jsm_Track$ImmutableEndOfTrack__init_(var$0) {
    $java.jsm_MetaMessage__init_1(var$0, $rt_createByteArray(3));
    var$0.$data15.data[0] = (-1);
    var$0.$data15.data[1] = 47;
    var$0.$data15.data[2] = 0;
}
function ju_LinkedHashMap$LinkedHashMapEntrySet() {
    ju_HashMap$HashMapEntrySet.call(this);
}
$java.ju_LinkedHashMap$LinkedHashMapEntrySet_iterator = function($this) {
    var var$1;
    var$1 = new ju_LinkedHashMap$EntryIterator;
    $java.ju_LinkedHashMap$AbstractMapIterator__init_(var$1, $this.$associatedMap0);
    return var$1;
};
function jl_StackOverflowError() {
    jl_VirtualMachineError.call(this);
}
$java.jl_StackOverflowError__init_ = function() {
    var var_0 = new jl_StackOverflowError();
    jl_StackOverflowError__init_(var_0);
    return var_0;
};
function jl_StackOverflowError__init_($this) {
    jl_Throwable__init_0($this);
}
function jn_InvalidMarkException() {
    jl_IllegalStateException.call(this);
}
$java.jn_InvalidMarkException__init_ = function() {
    var var_0 = new jn_InvalidMarkException();
    jn_InvalidMarkException__init_(var_0);
    return var_0;
};
function jn_InvalidMarkException__init_($this) {
    jl_Throwable__init_0($this);
}
function nms_CombatTracker() {
    var a = this; jl_Object.call(a);
    a.$field_94556_a = null;
    a.$field_94554_b = null;
    a.$field_94555_c = 0;
    a.$field_94552_d = 0;
    a.$field_94553_e = 0;
}
function nms_CombatTracker_func_94550_c($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6;
    $var1 = null;
    $var2 = null;
    $var3 = 0;
    $var4 = 0;
    $var5 = ju_AbstractList_iterator($this.$field_94556_a);
    while (ju_AbstractList$1_hasNext($var5)) {
        $var6 = ju_AbstractList$1_next($var5);
        if ($var6.$func_94560_a().$getEntity() instanceof nms_EntityPlayer && !($var2 !== null && $var6.$func_94563_c() <= $var4)) {
            $var4 = $var6.$func_94563_c();
            $var2 = $var6.$func_94560_a().$getEntity();
        }
        if ($var6.$func_94560_a().$getEntity() instanceof nms_EntityLiving && !($var1 !== null && $var6.$func_94563_c() <= $var3)) {
            $var3 = $var6.$func_94563_c();
            $var1 = $var6.$func_94560_a().$getEntity();
        }
    }
    if ($var2 !== null && $var4 >= ($var3 / 3 | 0))
        return $var2;
    return $var1;
}
function nms_EntityBodyHelper() {
    var a = this; jl_Object.call(a);
    a.$theLiving = null;
    a.$field_75666_b = 0;
    a.$field_75667_c = 0.0;
}
function nms_EntityBodyHelper_func_75664_a($this) {
    var $var1, $var3, $var5;
    $var1 = $this.$theLiving.$posX - $this.$theLiving.$prevPosX;
    $var3 = $this.$theLiving.$posZ - $this.$theLiving.$prevPosZ;
    if ($var1 * $var1 + $var3 * $var3 > 2.500000277905201E-7) {
        $this.$theLiving.$renderYawOffset = $this.$theLiving.$rotationYaw;
        $this.$theLiving.$rotationYawHead = $java.nms_EntityBodyHelper_func_75665_a($this, $this.$theLiving.$renderYawOffset, $this.$theLiving.$rotationYawHead, 75.0);
        $this.$field_75667_c = $this.$theLiving.$rotationYawHead;
        $this.$field_75666_b = 0;
    } else {
        $var5 = 75.0;
        if (jl_Math_abs1($this.$theLiving.$rotationYawHead - $this.$field_75667_c) > 15.0) {
            $this.$field_75666_b = 0;
            $this.$field_75667_c = $this.$theLiving.$rotationYawHead;
        } else {
            $this.$field_75666_b = $this.$field_75666_b + 1 | 0;
            if ($this.$field_75666_b > 10)
                $var5 = jl_Math_max0(1.0 - ($this.$field_75666_b - 10 | 0) / 10.0, 0.0) * 75.0;
        }
        $this.$theLiving.$renderYawOffset = $java.nms_EntityBodyHelper_func_75665_a($this, $this.$theLiving.$rotationYawHead, $this.$theLiving.$renderYawOffset, $var5);
    }
}
$java.nms_EntityBodyHelper_func_75665_a = function($this, $par1, $par2, $par3) {
    var $var4;
    $var4 = nms_MathHelper_wrapAngleTo180_float($par1 - $par2);
    $par2 =  -$par3;
    if ($var4 >= $par2)
        $par2 = $var4;
    if ($par2 < $par3)
        $par3 = $par2;
    return $par1 - $par3;
};
function cjj_GZIPInputStream() {
    cjj_InflaterInputStream.call(this);
}
function juca_AtomicInteger() {
    var a = this; jl_Number.call(a);
    a.$value16 = 0;
    a.$version1 = 0;
}
$java.juca_AtomicInteger__init_ = function() {
    var var_0 = new juca_AtomicInteger();
    juca_AtomicInteger__init_(var_0);
    return var_0;
};
function juca_AtomicInteger__init_($this) {
    return;
}
function juca_AtomicInteger_getAndIncrement($this) {
    var var$1;
    $this.$version1 = $this.$version1 + 1 | 0;
    var$1 = $this.$value16;
    $this.$value16 = var$1 + 1 | 0;
    return var$1;
}
function nms_CombatEntry() {
    jl_Object.call(this);
}
function jsm_Track$1() {
    jl_Object.call(this);
}
function obc_BufferedBlockCipher() {
    jl_Object.call(this);
}
$java.obc_BufferedBlockCipher__init_ = function() {
    var var_0 = new obc_BufferedBlockCipher();
    obc_BufferedBlockCipher__init_(var_0);
    return var_0;
};
function obc_BufferedBlockCipher__init_($this) {
    return;
}
function obc_BlockCipher() {
}
function obc_CipherParameters() {
}
function ju_LinkedHashMap$EntryIterator() {
    ju_LinkedHashMap$AbstractMapIterator.call(this);
}
$java.ju_LinkedHashMap$EntryIterator_next = function($this) {
    $java.ju_LinkedHashMap$AbstractMapIterator_makeNext($this);
    return $this.$currentEntry1;
};
$java.ju_LinkedHashMap$EntryIterator_next0 = function($this) {
    return $java.ju_LinkedHashMap$EntryIterator_next($this);
};
function nms_EntityPickupFX() {
    var a = this; nms_EntityFX.call(a);
    a.$entityToPickUp = null;
    a.$entityPickingUp = null;
    a.$age0 = 0;
    a.$maxAge = 0;
    a.$yOffs = 0.0;
}
$java.nms_EntityPickupFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var11, $var13, $var17, $var15, $var23, $var19, $var25, $var21, $var30, $var31, $var32, var$21, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$21 = $thread.pop();$var32 = $thread.pop();$var31 = $thread.pop();$var30 = $thread.pop();$var21 = $thread.pop();$var25 = $thread.pop();$var19 = $thread.pop();$var23 = $thread.pop();$var15 = $thread.pop();$var17 = $thread.pop();$var13 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Tessellator = $thread.pop();$this
        = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var8 = ($this.$age0 + $par2) / $this.$maxAge;
        $par3 = $var8 * $var8;
        $var9 = $this.$entityToPickUp.$posX;
        $var11 = $this.$entityToPickUp.$posY;
        $var13 = $this.$entityToPickUp.$posZ;
        $var17 = $this.$entityPickingUp.$lastTickPosX;
        $var15 = $this.$entityPickingUp.$posX - $this.$entityPickingUp.$lastTickPosX;
        $var23 = $par2;
        $var15 = $var17 + $var15 * $var23;
        $var17 = $this.$entityPickingUp.$lastTickPosY + ($this.$entityPickingUp.$posY - $this.$entityPickingUp.$lastTickPosY) * $var23 + $this.$yOffs;
        $var19 = $this.$entityPickingUp.$lastTickPosZ + ($this.$entityPickingUp.$posZ - $this.$entityPickingUp.$lastTickPosZ) * $var23;
        $var15 = $var15 - $var9;
        $var25 = $par3;
        $var21 = $var9 + $var15 * $var25;
        $var23 = $var11 + ($var17 - $var11) * $var25;
        $var25 = $var13 + ($var19 - $var13) * $var25;
        nms_MathHelper_floor_double($var21);
        nms_MathHelper_floor_double($var23 + $this.$yOffset / 2.0);
        nms_MathHelper_floor_double($var25);
        $var30 = nms_Entity_getBrightnessForRender($this, $par2);
        $var31 = $var30 % 65536 | 0;
        $var32 = $var30 / 65536 | 0;
        nms_OpenGlHelper_setLightmapTextureCoords(nms_OpenGlHelper_lightmapTexUnit, $var31 / 1.0, $var32 / 1.0);
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var15 = $var21 - nms_EntityFX_interpPosX;
        $var17 = $var23 - nms_EntityFX_interpPosY;
        $var19 = $var25 - nms_EntityFX_interpPosZ;
        $par1Tessellator = nms_RenderManager_instance;
        var$21 = $this.$entityToPickUp;
        $var15 = $var15;
        $var17 = $var17;
        $var19 = $var19;
        $par3 = $this.$entityToPickUp.$rotationYaw;
        $ptr = 1;
    case 1:
        nms_RenderManager_renderEntityWithPosYaw($par1Tessellator, var$21, $var15, $var17, $var19, $par3, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7, $var8, $var9, $var11, $var13, $var17, $var15, $var23, $var19, $var25, $var21, $var30, $var31, $var32, var$21, $ptr);
};
$java.nms_EntityPickupFX_onUpdate = function($this) {
    $this.$age0 = $this.$age0 + 1 | 0;
    if ($this.$age0 == $this.$maxAge)
        nms_Entity_setDead($this);
};
$java.nms_EntityPickupFX_getFXLayer = function($this) {
    return 3;
};
function nms_GuiDownloadTerrain() {
    var a = this; nms_GuiScreen.call(a);
    a.$netHandler0 = null;
    a.$updateCounter1 = 0;
}
$java.nms_GuiDownloadTerrain__init_ = function(var_0) {
    var var_1 = new nms_GuiDownloadTerrain();
    $java.nms_GuiDownloadTerrain__init_0(var_1, var_0);
    return var_1;
};
$java.nms_GuiDownloadTerrain__init_0 = function($this, $par1NetClientHandler) {
    nms_GuiScreen__init_($this);
    $this.$updateCounter1 = 0;
    $this.$netHandler0 = $par1NetClientHandler;
};
$java.nms_GuiDownloadTerrain_keyTyped = function($this, $par1, $par2) {
    return;
};
$java.nms_GuiDownloadTerrain_initGui = function($this) {
    ju_ArrayList_clear($this.$buttonList);
};
$java.nms_GuiDownloadTerrain_updateScreen = function($this) {
    var var$1, var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$updateCounter1 = $this.$updateCounter1 + 1 | 0;
        if (!($this.$updateCounter1 % 20 | 0)) {
            var$1 = $this.$netHandler0;
            var$2 = new nms_Packet0KeepAlive;
            nms_Packet__init_0(var$2);
            nms_NetClientHandler_addToSendQueue(var$1, var$2);
        }
        if ($this.$netHandler0 === null)
            return;
        var$1 = $this.$netHandler0;
        $ptr = 1;
    case 1:
        nms_NetClientHandler_processReadPackets(var$1);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, $ptr);
};
$java.nms_GuiDownloadTerrain_drawScreen = function($this, $par1, $par2, $par3) {
    var var$4, $var4, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$4 = 0;
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawBackground($this, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = nms_StringTranslate_instance;
        var$6 = $this.$fontRenderer0;
        var$7 = nms_StringTranslate_translateKey($var4, $rt_s(3292));
        var$4 = $this.$width / 2 | 0;
        var$8 = ($this.$height / 2 | 0) - 50 | 0;
        var$9 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$6, var$7, var$4, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 3;
    case 3:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $var4, var$6, var$7, var$8, var$9, $ptr);
};
function nms_NpcMerchant() {
    var a = this; jl_Object.call(a);
    a.$theMerchantInventory0 = null;
    a.$customer = null;
    a.$recipeList = null;
}
$java.nms_NpcMerchant_setCustomer = function($this, $par1EntityPlayer) {
    return;
};
$java.nms_NpcMerchant_getRecipes = function($this, $par1EntityPlayer) {
    return $this.$recipeList;
};
$java.nms_NpcMerchant_setRecipes = function($this, $par1MerchantRecipeList) {
    $this.$recipeList = $par1MerchantRecipeList;
};
$java.nms_NpcMerchant_useRecipe = function($this, $par1MerchantRecipe) {
    return;
};
function nms_WorldProviderSurface() {
    nms_WorldProvider.call(this);
}
$java.nms_WorldProviderSurface__init_ = function() {
    var var_0 = new nms_WorldProviderSurface();
    nms_WorldProviderSurface__init_(var_0);
    return var_0;
};
function nms_WorldProviderSurface__init_($this) {
    nms_WorldProvider__init_($this);
}
function nms_GuiMerchant() {
    var a = this; nms_GuiContainer.call(a);
    a.$theIMerchant = null;
    a.$nextRecipeButtonIndex = null;
    a.$previousRecipeButtonIndex = null;
    a.$currentRecipeIndex = 0;
    a.$field_94082_v = null;
}
$java.nms_GuiMerchant_tex = null;
$java.nms_GuiMerchant_initGui = function($this) {
    var $var1, $var2, var$3, var$4, var$5;
    nms_GuiContainer_initGui($this);
    $var1 = ($this.$width - $this.$xSize | 0) / 2 | 0;
    $var2 = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
    var$3 = $this.$buttonList;
    var$4 = new nms_GuiButtonMerchant;
    var$5 = ($var1 + 120 | 0) + 27 | 0;
    $var2 = ($var2 + 24 | 0) - 1 | 0;
    $java.nms_GuiButtonMerchant__init_(var$4, 1, var$5, $var2, 1);
    $this.$nextRecipeButtonIndex = var$4;
    ju_ArrayList_add(var$3, var$4);
    var$4 = $this.$buttonList;
    var$3 = $java.nms_GuiButtonMerchant__init_0(2, ($var1 + 36 | 0) - 19 | 0, $var2, 0);
    $this.$previousRecipeButtonIndex = var$3;
    ju_ArrayList_add(var$4, var$3);
    $this.$nextRecipeButtonIndex.$enabled = 0;
    $this.$previousRecipeButtonIndex.$enabled = 0;
};
$java.nms_GuiMerchant_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$fontRenderer0;
        var$4 = $this.$field_94082_v;
        $par1 = ($this.$xSize / 2 | 0) - (nms_FontRenderer_getStringWidth($this.$fontRenderer0, $this.$field_94082_v) / 2 | 0) | 0;
        $par2 = 6;
        var$5 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $this.$fontRenderer0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(1385));
        $par1 = 8;
        $par2 = ($this.$ySize0 - 96 | 0) + 2 | 0;
        var$5 = 4210752;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawString(var$3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, var$5, $ptr);
};
$java.nms_GuiMerchant_updateScreen = function($this) {
    var $var1;
    nms_GuiContainer_updateScreen($this);
    $var1 = $this.$theIMerchant.$recipeList;
    if ($var1 !== null) {
        $this.$nextRecipeButtonIndex.$enabled = $this.$currentRecipeIndex >= ($var1.$size - 1 | 0) ? 0 : 1;
        $this.$previousRecipeButtonIndex.$enabled = $this.$currentRecipeIndex <= 0 ? 0 : 1;
    }
};
$java.nms_GuiMerchant_actionPerformed = function($this, $par1GuiButton) {
    var $var2, $var3, $var4, $var6, $$je;
    $var2 = 0;
    if ($par1GuiButton === $this.$nextRecipeButtonIndex) {
        $this.$currentRecipeIndex = $this.$currentRecipeIndex + 1 | 0;
        $var2 = 1;
    } else if ($par1GuiButton === $this.$previousRecipeButtonIndex) {
        $this.$currentRecipeIndex = $this.$currentRecipeIndex - 1 | 0;
        $var2 = 1;
    }
    a: {
        if ($var2) {
            $java.nms_ContainerMerchant_setCurrentRecipeIndex($this.$inventorySlots0, $this.$currentRecipeIndex);
            $var3 = ji_ByteArrayOutputStream__init_0();
            $var4 = ji_DataOutputStream__init_($var3);
            try {
                ji_DataOutputStream_writeInt($var4, $this.$currentRecipeIndex);
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler($this.$mc2), nms_Packet250CustomPayload__init_0($rt_s(3293), ji_ByteArrayOutputStream_toByteArray($var3)));
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var6);
        }
    }
};
$java.nms_GuiMerchant_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var $var8, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var8 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var8 = $java.nms_GuiMerchant_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var8);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this, ($this.$width - $this.$xSize | 0) / 2 | 0, ($this.$height - $this.$ySize0 | 0) / 2 | 0, 0, 0, $this.$xSize, $this.$ySize0);
        $var6 = $this.$theIMerchant.$recipeList;
        if ($var6 !== null && !ju_AbstractCollection_isEmpty($var6) && nms_MerchantRecipe_func_82784_g(ju_ArrayList_get($var6, $this.$currentRecipeIndex))) {
            $var8 = $java.nms_GuiMerchant_tex;
            $ptr = 2;
            continue main;
        }
        return;
    case 2:
        nle_TextureLocation_bindTexture($var8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nms_Gui_drawTexturedModalRect($this, $this.$guiLeft + 83 | 0, $this.$guiTop + 21 | 0, 212, 0, 28, 21);
        nms_Gui_drawTexturedModalRect($this, $this.$guiLeft + 83 | 0, $this.$guiTop + 51 | 0, 212, 0, 28, 21);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var8, $var6, $ptr);
};
$java.nms_GuiMerchant_drawScreen = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var8, $var9, $var10, $var11, var$11, var$12, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiContainer_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = $this.$theIMerchant.$recipeList;
        if ($var4 !== null && !ju_AbstractCollection_isEmpty($var4)) {
            $var5 = ($this.$width - $this.$xSize | 0) / 2 | 0;
            $var6 = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
            $var8 = ju_ArrayList_get($var4, $this.$currentRecipeIndex);
            nleg_EaglerAdapterGL30_glPushMatrix();
            $var9 = $var8.$itemToBuy;
            $var10 = $var8.$secondItemToBuy;
            $var11 = $var8.$itemToSell;
            nms_RenderHelper_enableGUIStandardItemLighting2();
            nleg_EaglerAdapterGL30_glDisable(2896);
            nleg_EaglerAdapterGL30_glEnable(32826);
            nleg_EaglerAdapterGL30_glEnable(2903);
            nleg_EaglerAdapterGL30_glEnable(2896);
            nms_GuiContainer_itemRenderer.$zLevel0 = 100.0;
            $var8 = nms_GuiContainer_itemRenderer;
            $var4 = $this.$fontRenderer0;
            var$11 = $this.$mc2.$renderEngine;
            var$12 = $var5 + 36 | 0;
            $var6 = $var6 + 24 | 0;
            $ptr = 2;
            continue main;
        }
        return;
    case 2:
        nms_RenderItem_renderItemAndEffectIntoGUI($var8, $var4, var$11, $var9, var$12, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = nms_GuiContainer_itemRenderer;
        $var4 = $this.$fontRenderer0;
        var$11 = $this.$mc2.$renderEngine;
        $ptr = 3;
    case 3:
        nms_RenderItem_renderItemOverlayIntoGUI($var8, $var4, var$11, $var9, var$12, $var6);
        if ($rt_suspending()) {
            break main;
        }
        if ($var10 === null) {
            $var8 = nms_GuiContainer_itemRenderer;
            $var4 = $this.$fontRenderer0;
            var$11 = $this.$mc2.$renderEngine;
            $var5 = $var5 + 120 | 0;
            $ptr = 4;
            continue main;
        }
        $var8 = nms_GuiContainer_itemRenderer;
        $var4 = $this.$fontRenderer0;
        var$11 = $this.$mc2.$renderEngine;
        $var7 = $var5 + 62 | 0;
        $ptr = 6;
        continue main;
    case 4:
        nms_RenderItem_renderItemAndEffectIntoGUI($var8, $var4, var$11, $var11, $var5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = nms_GuiContainer_itemRenderer;
        $var4 = $this.$fontRenderer0;
        var$11 = $this.$mc2.$renderEngine;
        $ptr = 5;
    case 5:
        nms_RenderItem_renderItemOverlayIntoGUI($var8, $var4, var$11, $var11, $var5, $var6);
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiContainer_itemRenderer.$zLevel0 = 0.0;
        nleg_EaglerAdapterGL30_glDisable(2896);
        if (nms_GuiContainer_isPointInRegion($this, 36, 24, 16, 16, $par1, $par2)) {
            $ptr = 8;
            continue main;
        }
        if ($var10 !== null && nms_GuiContainer_isPointInRegion($this, 62, 24, 16, 16, $par1, $par2)) {
            $ptr = 10;
            continue main;
        }
        if (!nms_GuiContainer_isPointInRegion($this, 120, 24, 16, 16, $par1, $par2)) {
            nleg_EaglerAdapterGL30_glPopMatrix();
            nleg_EaglerAdapterGL30_glEnable(2896);
            nleg_EaglerAdapterGL30_glEnable(2929);
            nms_RenderHelper_enableStandardItemLighting();
            return;
        }
        $ptr = 9;
        continue main;
    case 6:
        nms_RenderItem_renderItemAndEffectIntoGUI($var8, $var4, var$11, $var10, $var7, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = nms_GuiContainer_itemRenderer;
        $var4 = $this.$fontRenderer0;
        var$11 = $this.$mc2.$renderEngine;
        $ptr = 7;
    case 7:
        nms_RenderItem_renderItemOverlayIntoGUI($var8, $var4, var$11, $var10, $var7, $var6);
        if ($rt_suspending()) {
            break main;
        }
        $var8 = nms_GuiContainer_itemRenderer;
        $var4 = $this.$fontRenderer0;
        var$11 = $this.$mc2.$renderEngine;
        $var5 = $var5 + 120 | 0;
        $ptr = 4;
        continue main;
    case 8:
        nms_GuiContainer_drawItemStackTooltip($this, $var9, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(2929);
        nms_RenderHelper_enableStandardItemLighting();
        return;
    case 9:
        nms_GuiContainer_drawItemStackTooltip($this, $var11, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(2929);
        nms_RenderHelper_enableStandardItemLighting();
        return;
    case 10:
        nms_GuiContainer_drawItemStackTooltip($this, $var10, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glEnable(2896);
        nleg_EaglerAdapterGL30_glEnable(2929);
        nms_RenderHelper_enableStandardItemLighting();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var8, $var9, $var10, $var11, var$11, var$12, $var7, $ptr);
};
$java.nms_GuiMerchant_getIMerchant = function($this) {
    return $this.$theIMerchant;
};
function nms_GuiMerchant__clinit_() {
    $java.nms_GuiMerchant_tex = nle_TextureLocation__init_($rt_s(3294));
}
function nms_GuiWinGame() {
    var a = this; nms_GuiScreen.call(a);
    a.$updateCounter3 = 0;
    a.$lines = null;
    a.$field_73989_c = 0;
    a.$field_73987_d = 0.0;
}
$java.nms_GuiWinGame_bk = null;
$java.nms_GuiWinGame_mclogo = null;
$java.nms_GuiWinGame_vigg = null;
$java.nms_GuiWinGame__init_ = function() {
    var var_0 = new nms_GuiWinGame();
    nms_GuiWinGame__init_(var_0);
    return var_0;
};
function nms_GuiWinGame__init_($this) {
    nms_GuiScreen__init_($this);
    $this.$updateCounter3 = 0;
    $this.$field_73989_c = 0;
    $this.$field_73987_d = 0.5;
}
$java.nms_GuiWinGame_updateScreen = function($this) {
    var $var1;
    $this.$updateCounter3 = $this.$updateCounter3 + 1 | 0;
    $var1 = ((($this.$field_73989_c + $this.$height | 0) + $this.$height | 0) + 24 | 0) / $this.$field_73987_d;
    if ($this.$updateCounter3 > $var1)
        $java.nms_GuiWinGame_respawnPlayer($this);
};
$java.nms_GuiWinGame_keyTyped = function($this, $par1, $par2) {
    if ($par2 == 1)
        $java.nms_GuiWinGame_respawnPlayer($this);
};
$java.nms_GuiWinGame_respawnPlayer = function($this) {
    nms_NetClientHandler_addToSendQueue($this.$mc2.$thePlayer.$sendQueue, nms_Packet205ClientCommand__init_0(1));
    nmc_Minecraft_displayGuiScreen($this.$mc2, null);
};
$java.nms_GuiWinGame_initGui = function($this) {
    var $var1, $var2, $var5, var$4, var$5, $var6, $var7, $var8, var$9, $var9, $$je;
    a: {
        if ($this.$lines === null) {
            $this.$lines = ju_ArrayList__init_0();
            try {
                $var1 = $rt_s(36);
                $var2 = jl_StringBuilder_toString(jl_StringBuilder_append9(jl_StringBuilder_append9(jl_StringBuilder_append9(jl_StringBuilder_append9(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $java.nms_EnumChatFormatting_WHITE), $java.nms_EnumChatFormatting_OBFUSCATED), $java.nms_EnumChatFormatting_GREEN), $java.nms_EnumChatFormatting_AQUA));
                $var5 = nle_EaglercraftRandom__init_1(Long_fromInt(8124371));
                var$4 = nlea_EaglerAdapterImpl2_fileContentsLines($rt_s(3295)).data.length;
                var$5 = 0;
                while (var$5 < var$4) {
                    nle_EaglerProfile_$callClinit();
                    $var1 = jl_String_replaceAll($var1, $rt_s(3296), nle_EaglerProfile_username);
                    while (jl_String_contains($var1, $var2)) {
                        $var6 = jl_String_indexOf2($var1, $var2);
                        $var7 = jl_String_substring0($var1, 0, $var6);
                        $var8 = jl_String_substring($var1, $var6 + jl_String_length($var2) | 0);
                        $var1 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append9(jl_StringBuilder_append9(jl_StringBuilder_append(jl_StringBuilder__init_(), $var7), $java.nms_EnumChatFormatting_WHITE), $java.nms_EnumChatFormatting_OBFUSCATED), jl_String_substring0($rt_s(3297), 0, nle_EaglercraftRandom_nextInt($var5, 4) + 3 | 0)), $var8));
                    }
                    ju_AbstractCollection_addAll($this.$lines, nms_FontRenderer_listFormattedStringToWidth($this.$mc2.$fontRenderer, $var1, 274));
                    ju_ArrayList_add($this.$lines, $rt_s(36));
                    var$5 = var$5 + 1 | 0;
                }
                $var6 = 0;
                while ($var6 < 8) {
                    ju_ArrayList_add($this.$lines, $rt_s(36));
                    $var6 = $var6 + 1 | 0;
                }
                $var6 = nlea_EaglerAdapterImpl2_fileContentsLines($rt_s(3298)).data.length;
                var$9 = 0;
                while (var$9 < $var6) {
                    nle_EaglerProfile_$callClinit();
                    $var1 = jl_String_replaceAll(jl_String_replaceAll($var1, $rt_s(3296), nle_EaglerProfile_username), $rt_s(3299), $rt_s(3300));
                    ju_AbstractCollection_addAll($this.$lines, nms_FontRenderer_listFormattedStringToWidth($this.$mc2.$fontRenderer, $var1, 274));
                    ju_ArrayList_add($this.$lines, $rt_s(36));
                    var$9 = var$9 + 1 | 0;
                }
                $this.$field_73989_c = ju_ArrayList_size($this.$lines) * 12 | 0;
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var9 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var9);
        }
    }
};
$java.nms_GuiWinGame_func_73986_b = function($this, $par1, $par2, $par3) {
    var $var4, var$5, $var5, $var6, $var7, $var9, $var11, var$11, var$12, var$13, var$14, var$15, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();var$13 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var11 = $thread.pop();$var9 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nlea_Tessellator_$callClinit();
        $var4 = nlea_Tessellator_instance;
        var$5 = $java.nms_GuiWinGame_bk;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$5);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_startDrawingQuads($var4);
        nlea_Tessellator_setColorRGBA_F($var4, 1.0, 1.0, 1.0, 1.0);
        $var5 = $this.$width;
        $var6 = 0.0 - ($this.$updateCounter3 + $par3) * 0.5 * $this.$field_73987_d;
        $var7 = $this.$height - ($this.$updateCounter3 + $par3) * 0.5 * $this.$field_73987_d;
        $var9 = ($this.$updateCounter3 + $par3 - 0.0) * 0.019999999552965164;
        $var11 = (((($this.$field_73989_c + $this.$height | 0) + $this.$height | 0) + 24 | 0) / $this.$field_73987_d - 20.0 - ($this.$updateCounter3 + $par3)) * 0.004999999888241291;
        if ($var11 >= $var9)
            $var11 = $var9;
        if ($var11 > 1.0)
            $var11 = 1.0;
        $par3 = $var11 * $var11 * 96.0 / 255.0;
        nlea_Tessellator_setColorOpaque_F($var4, $par3, $par3, $par3);
        var$11 = $this.$height;
        var$12 = $this.$zLevel;
        var$13 = $var6 * 0.015625;
        nlea_Tessellator_addVertexWithUV($var4, 0.0, var$11, var$12, 0.0, var$13);
        var$14 = $var5;
        var$11 = $this.$height;
        var$12 = $this.$zLevel;
        var$15 = $var5 * 0.015625;
        nlea_Tessellator_addVertexWithUV($var4, var$14, var$11, var$12, var$15, var$13);
        var$12 = $this.$zLevel;
        var$13 = $var7 * 0.015625;
        nlea_Tessellator_addVertexWithUV($var4, var$14, 0.0, var$12, var$15, var$13);
        nlea_Tessellator_addVertexWithUV($var4, 0.0, 0.0, $this.$zLevel, 0.0, var$13);
        nlea_Tessellator_draw($var4);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, var$5, $var5, $var6, $var7, $var9, $var11, var$11, var$12, var$13, var$14, var$15, $ptr);
};
$java.nms_GuiWinGame_drawScreen = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var7, $var8, var$9, $var9, $var10, $var11, $var12, var$14, $var13, var$16, var$17, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();$var13 = $thread.pop();var$14 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        $java.nms_GuiWinGame_func_73986_b($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nlea_Tessellator_$callClinit();
        $var4 = nlea_Tessellator_instance;
        $var5 = 274;
        $var6 = ($this.$width / 2 | 0) - 137 | 0;
        $var7 = $this.$height + 50 | 0;
        $var8 =  -($this.$updateCounter3 + $par3) * $this.$field_73987_d;
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, $var8, 0.0);
        var$9 = $java.nms_GuiWinGame_mclogo;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture(var$9);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nms_Gui_drawTexturedModalRect($this, $var6, $var7, 0, 0, 155, 44);
        nms_Gui_drawTexturedModalRect($this, $var6 + 155 | 0, $var7, 0, 45, 155, 44);
        nlea_Tessellator_setColorOpaque_I($var4, 16777215);
        $var9 = $var7 + 200 | 0;
        $var10 = 0;
        while ($var10 < $this.$lines.$size) {
            if ($var10 == ($this.$lines.$size - 1 | 0)) {
                $var11 = $var9 + $var8 - (($this.$height / 2 | 0) - 6 | 0);
                if ($var11 < 0.0)
                    nleg_EaglerAdapterGL30_glTranslatef(0.0,  -$var11, 0.0);
            }
            $var11 = $var9 + $var8;
            if ($var11 + 12.0 + 8.0 > 0.0 && $var11 < $this.$height) {
                $var12 = ju_ArrayList_get($this.$lines, $var10);
                if (jl_String_startsWith0($var12, $rt_s(3301))) {
                    var$9 = $this.$fontRenderer0;
                    var$14 = jl_String_substring($var12, 3);
                    $var7 = $var6 + (($var5 - nms_FontRenderer_getStringWidth($this.$fontRenderer0, jl_String_substring($var12, 3)) | 0) / 2 | 0) | 0;
                    $var13 = 16777215;
                    $ptr = 6;
                    continue main;
                }
                $this.$fontRenderer0.$fontRandom.$seed = Long_add(Long_mul(Long_fromInt($var10), new Long(4238972211, 0)), Long_fromInt($this.$updateCounter3 / 4 | 0));
                var$9 = $this.$fontRenderer0;
                $var7 = 16777215;
                $ptr = 5;
                continue main;
            }
            $var9 = $var9 + 12 | 0;
            $var10 = $var10 + 1 | 0;
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        var$9 = $java.nms_GuiWinGame_vigg;
        $ptr = 3;
    case 3:
        nle_TextureLocation_bindTexture(var$9);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(0, 769);
        nlea_Tessellator_startDrawingQuads($var4);
        nlea_Tessellator_setColorRGBA_F($var4, 1.0, 1.0, 1.0, 1.0);
        $var5 = $this.$width;
        var$16 = $this.$height;
        nlea_Tessellator_addVertexWithUV($var4, 0.0, var$16, $this.$zLevel, 0.0, 1.0);
        var$17 = $var5;
        nlea_Tessellator_addVertexWithUV($var4, var$17, var$16, $this.$zLevel, 1.0, 1.0);
        nlea_Tessellator_addVertexWithUV($var4, var$17, 0.0, $this.$zLevel, 1.0, 0.0);
        nlea_Tessellator_addVertexWithUV($var4, 0.0, 0.0, $this.$zLevel, 0.0, 0.0);
        nlea_Tessellator_draw($var4);
        nleg_EaglerAdapterGL30_glDisable(3042);
        $ptr = 4;
    case 4:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 5:
        nms_FontRenderer_drawStringWithShadow(var$9, $var12, $var6, $var9, $var7);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var9 = $var9 + 12 | 0;
            $var10 = $var10 + 1 | 0;
            if ($var10 >= $this.$lines.$size)
                break;
            if ($var10 == ($this.$lines.$size - 1 | 0)) {
                $var11 = $var9 + $var8 - (($this.$height / 2 | 0) - 6 | 0);
                if ($var11 < 0.0)
                    nleg_EaglerAdapterGL30_glTranslatef(0.0,  -$var11, 0.0);
            }
            $var11 = $var9 + $var8;
            if ($var11 + 12.0 + 8.0 <= 0.0)
                continue;
            if ($var11 >= $this.$height)
                continue;
            else {
                $var12 = ju_ArrayList_get($this.$lines, $var10);
                if (jl_String_startsWith0($var12, $rt_s(3301))) {
                    var$9 = $this.$fontRenderer0;
                    var$14 = jl_String_substring($var12, 3);
                    $var7 = $var6 + (($var5 - nms_FontRenderer_getStringWidth($this.$fontRenderer0, jl_String_substring($var12, 3)) | 0) / 2 | 0) | 0;
                    $var13 = 16777215;
                    $ptr = 6;
                    continue main;
                }
                $this.$fontRenderer0.$fontRandom.$seed = Long_add(Long_mul(Long_fromInt($var10), new Long(4238972211, 0)), Long_fromInt($this.$updateCounter3 / 4 | 0));
                var$9 = $this.$fontRenderer0;
                $var7 = 16777215;
                continue main;
            }
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        var$9 = $java.nms_GuiWinGame_vigg;
        $ptr = 3;
        continue main;
    case 6:
        nms_FontRenderer_drawStringWithShadow(var$9, var$14, $var7, $var9, $var13);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var9 = $var9 + 12 | 0;
            $var10 = $var10 + 1 | 0;
            if ($var10 >= $this.$lines.$size)
                break;
            if ($var10 == ($this.$lines.$size - 1 | 0)) {
                $var11 = $var9 + $var8 - (($this.$height / 2 | 0) - 6 | 0);
                if ($var11 < 0.0)
                    nleg_EaglerAdapterGL30_glTranslatef(0.0,  -$var11, 0.0);
            }
            $var11 = $var9 + $var8;
            if ($var11 + 12.0 + 8.0 <= 0.0)
                continue;
            if ($var11 >= $this.$height)
                continue;
            else {
                $var12 = ju_ArrayList_get($this.$lines, $var10);
                if (jl_String_startsWith0($var12, $rt_s(3301))) {
                    var$9 = $this.$fontRenderer0;
                    var$14 = jl_String_substring($var12, 3);
                    $var7 = $var6 + (($var5 - nms_FontRenderer_getStringWidth($this.$fontRenderer0, jl_String_substring($var12, 3)) | 0) / 2 | 0) | 0;
                    $var13 = 16777215;
                    continue main;
                }
                $this.$fontRenderer0.$fontRandom.$seed = Long_add(Long_mul(Long_fromInt($var10), new Long(4238972211, 0)), Long_fromInt($this.$updateCounter3 / 4 | 0));
                var$9 = $this.$fontRenderer0;
                $var7 = 16777215;
                $ptr = 5;
                continue main;
            }
        }
        nleg_EaglerAdapterGL30_glPopMatrix();
        var$9 = $java.nms_GuiWinGame_vigg;
        $ptr = 3;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var7, $var8, var$9, $var9, $var10, $var11, $var12, var$14, $var13, var$16, var$17, $ptr);
};
function nms_GuiWinGame__clinit_() {
    $java.nms_GuiWinGame_bk = nle_TextureLocation__init_($rt_s(3302));
    $java.nms_GuiWinGame_mclogo = nle_TextureLocation__init_($rt_s(1086));
    $java.nms_GuiWinGame_vigg = nle_TextureLocation__init_($rt_s(1289));
}
function nms_EntityCrit2FX() {
    var a = this; nms_EntityFX.call(a);
    a.$theEntity = null;
    a.$currentLife = 0;
    a.$maximumLife = 0;
    a.$particleName0 = null;
}
$java.nms_EntityCrit2FX__init_ = function(var_0, var_1) {
    var var_2 = new nms_EntityCrit2FX();
    nms_EntityCrit2FX__init_(var_2, var_0, var_1);
    return var_2;
};
$java.nms_EntityCrit2FX__init_0 = function(var_0, var_1, var_2) {
    var var_3 = new nms_EntityCrit2FX();
    nms_EntityCrit2FX__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
function nms_EntityCrit2FX__init_($this, $par1World, $par2Entity) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2Entity = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $rt_s(1164);
        $ptr = 1;
    case 1:
        nms_EntityCrit2FX__init_0($this, $par1World, $par2Entity, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2Entity, var$3, $ptr);
}
function nms_EntityCrit2FX__init_0($this, $par1World, $par2Entity, $par3Str) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3Str = $thread.pop();$par2Entity = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_EntityFX__init_($this, $par1World, $par2Entity.$posX, $par2Entity.$boundingBox.$minY + $par2Entity.$height0 / 2.0, $par2Entity.$posZ, $par2Entity.$motionX, $par2Entity.$motionY, $par2Entity.$motionZ);
        $this.$currentLife = 0;
        $this.$maximumLife = 0;
        $this.$theEntity = $par2Entity;
        $this.$maximumLife = 3;
        $this.$particleName0 = $par3Str;
        $ptr = 1;
    case 1:
        $java.nms_EntityCrit2FX_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2Entity, $par3Str, $ptr);
}
$java.nms_EntityCrit2FX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    return;
};
$java.nms_EntityCrit2FX_onUpdate = function($this) {
    var $var1, $var2, $var4, $var6, $var8, $var10, $var12, var$8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();$var12 = $thread.pop();$var10 = $thread.pop();$var8 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = 0;
        while ($var1 < 16) {
            $var2 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0;
            $var4 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0;
            $var6 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0;
            if ($var2 * $var2 + $var4 * $var4 + $var6 * $var6 <= 1.0) {
                $var8 = $this.$theEntity.$posX + $var2 * $this.$theEntity.$width0 / 4.0;
                $var10 = $this.$theEntity.$boundingBox.$minY + $this.$theEntity.$height0 / 2.0 + $var4 * $this.$theEntity.$height0 / 4.0;
                $var12 = $this.$theEntity.$posZ + $var6 * $this.$theEntity.$width0 / 4.0;
                var$8 = $this.$worldObj;
                var$9 = $this.$particleName0;
                var$10 = $var4 + 0.2;
                $ptr = 2;
                continue main;
            }
            $var1 = $var1 + 1 | 0;
        }
        $this.$currentLife = $this.$currentLife + 1 | 0;
        if ($this.$currentLife < $this.$maximumLife)
            return;
        $ptr = 1;
    case 1:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_World_spawnParticle(var$8, var$9, $var8, $var10, $var12, $var2, var$10, $var6);
        if ($rt_suspending()) {
            break main;
        }
        while (true) {
            $var1 = $var1 + 1 | 0;
            if ($var1 >= 16)
                break;
            $var2 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0;
            $var4 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0;
            $var6 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 - 1.0;
            if ($var2 * $var2 + $var4 * $var4 + $var6 * $var6 > 1.0)
                continue;
            else {
                $var8 = $this.$theEntity.$posX + $var2 * $this.$theEntity.$width0 / 4.0;
                $var10 = $this.$theEntity.$boundingBox.$minY + $this.$theEntity.$height0 / 2.0 + $var4 * $this.$theEntity.$height0 / 4.0;
                $var12 = $this.$theEntity.$posZ + $var6 * $this.$theEntity.$width0 / 4.0;
                var$8 = $this.$worldObj;
                var$9 = $this.$particleName0;
                var$10 = $var4 + 0.2;
                continue main;
            }
        }
        $this.$currentLife = $this.$currentLife + 1 | 0;
        if ($this.$currentLife < $this.$maximumLife)
            return;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, $var8, $var10, $var12, var$8, var$9, var$10, $ptr);
};
$java.nms_EntityCrit2FX_getFXLayer = function($this) {
    return 3;
};
function ju_AbstractMap$SimpleImmutableEntry() {
    var a = this; jl_Object.call(a);
    a.$key3 = null;
    a.$value15 = null;
}
$java.ju_AbstractMap$SimpleImmutableEntry_getValue = function($this) {
    return $this.$value15;
};
$java.ju_AbstractMap$SimpleImmutableEntry_getKey = function($this) {
    return $this.$key3;
};
function nms_GameRuleValue() {
    var a = this; jl_Object.call(a);
    a.$valueString = null;
    a.$valueBoolean = 0;
    a.$valueInteger = 0;
    a.$valueDouble = 0.0;
}
$java.nms_GameRuleValue_setValue = function($this, $par1Str) {
    var $$je;
    $this.$valueString = $par1Str;
    $this.$valueBoolean = $java.jl_Boolean_parseBoolean($par1Str);
    a: {
        try {
            $this.$valueInteger = jl_Integer_parseInt($par1Str);
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NumberFormatException) {
            } else {
                throw $$e;
            }
        }
    }
    b: {
        try {
            $this.$valueDouble = jl_Double_parseDouble($par1Str);
            break b;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jl_NumberFormatException) {
            } else {
                throw $$e;
            }
        }
    }
};
$java.nms_GameRuleValue_getGameRuleBooleanValue = function($this) {
    return $this.$valueBoolean;
};
function ju_Vector() {
    var a = this; ju_AbstractList.call(a);
    a.$elementCount1 = 0;
    a.$elementData1 = null;
    a.$capacityIncrement = 0;
}
$java.ju_Vector_$assertionsDisabled = 0;
$java.ju_Vector__init_ = function() {
    var var_0 = new ju_Vector();
    ju_Vector__init_(var_0);
    return var_0;
};
function ju_Vector__init_($this) {
    $this.$elementData1 = $java.ju_Vector_newElementArray($this, 10);
    $this.$elementCount1 = 0;
    $this.$capacityIncrement = 0;
}
$java.ju_Vector_newElementArray = function($this, $size) {
    return $rt_createArray(jl_Object, $size);
};
$java.ju_Vector_addElement = function($this, $object) {
    var var$2, var$3, var$4;
    jl_Object_monitorEnterSync($this);
    try {
        if ($this.$elementCount1 == $this.$elementData1.data.length) {
            if ($this.$capacityIncrement > 0)
                var$2 = $this.$capacityIncrement;
            else {
                var$2 = $this.$elementData1.data.length;
                if (!var$2)
                    var$2 = 1;
            }
            var$3 = $java.ju_Vector_newElementArray($this, $this.$elementData1.data.length + var$2 | 0);
            jl_System_arraycopy($this.$elementData1, 0, var$3, 0, $this.$elementCount1);
            $this.$elementData1 = var$3;
        }
        var$3 = $this.$elementData1.data;
        var$4 = $this.$elementCount1;
        $this.$elementCount1 = var$4 + 1 | 0;
        var$3[var$4] = $object;
        $this.$modCount = $this.$modCount + 1 | 0;
    } finally {
        jl_Object_monitorExitSync($this);
    }
};
$java.ju_Vector_toArray = function($this, $contents) {
    var var$2, var$3;
    jl_Object_monitorEnterSync($this);
    try {
        var$2 = $contents.data;
        if ($this.$elementCount1 > var$2.length)
            $contents = jlr_Array_newInstance(jl_Class_getComponentType(jl_Object_getClass($contents)), $this.$elementCount1);
        var$3 = $contents.data;
        jl_System_arraycopy($this.$elementData1, 0, $contents, 0, $this.$elementCount1);
        if ($this.$elementCount1 < var$3.length)
            var$3[$this.$elementCount1] = null;
        return $contents;
    } finally {
        jl_Object_monitorExitSync($this);
    }
};
function ju_Vector__clinit_() {
    $java.ju_Vector_$assertionsDisabled = 0;
}
function maajss_KeySpec() {
}
function maajcs_SecretKeySpec() {
    var a = this; jl_Object.call(a);
    a.$algorithm = null;
    a.$key2 = null;
}
$java.maajcs_SecretKeySpec_getEncoded = function($this) {
    var $tmp_0, var$2;
    $tmp_0 = $rt_createByteArray($this.$key2.data.length);
    var$2 = $tmp_0.data;
    jl_System_arraycopy($this.$key2, 0, $tmp_0, 0, var$2.length);
    return $tmp_0;
};
function nms_InventoryMerchant() {
    var a = this; jl_Object.call(a);
    a.$theMerchant1 = null;
    a.$theInventory = null;
    a.$thePlayer5 = null;
    a.$currentRecipe = null;
    a.$currentRecipeIndex0 = 0;
}
function nms_InventoryMerchant__init_(var_0, var_1) {
    var var_2 = new nms_InventoryMerchant();
    $java.nms_InventoryMerchant__init_(var_2, var_0, var_1);
    return var_2;
}
$java.nms_InventoryMerchant__init_ = function($this, $par1EntityPlayer, $par2IMerchant) {
    $this.$theInventory = $rt_createArray(nms_ItemStack, 3);
    $this.$thePlayer5 = $par1EntityPlayer;
    $this.$theMerchant1 = $par2IMerchant;
};
$java.nms_InventoryMerchant_getStackInSlot = function($this, $par1) {
    return $this.$theInventory.data[$par1];
};
$java.nms_InventoryMerchant_decrStackSize = function($this, $par1, $par2) {
    var $var3, $var3_0;
    if ($this.$theInventory.data[$par1] === null)
        return null;
    if ($par1 == 2) {
        $var3 = $this.$theInventory.data[$par1];
        $this.$theInventory.data[$par1] = null;
        return $var3;
    }
    if ($this.$theInventory.data[$par1].$stackSize <= $par2) {
        $var3 = $this.$theInventory.data[$par1];
        $this.$theInventory.data[$par1] = null;
        if ($java.nms_InventoryMerchant_inventoryResetNeededOnSlotChange($this, $par1))
            $java.nms_InventoryMerchant_resetRecipeAndSlots($this);
        return $var3;
    }
    $var3_0 = nms_ItemStack_splitStack($this.$theInventory.data[$par1], $par2);
    if (!$this.$theInventory.data[$par1].$stackSize)
        $this.$theInventory.data[$par1] = null;
    if ($java.nms_InventoryMerchant_inventoryResetNeededOnSlotChange($this, $par1))
        $java.nms_InventoryMerchant_resetRecipeAndSlots($this);
    return $var3_0;
};
$java.nms_InventoryMerchant_inventoryResetNeededOnSlotChange = function($this, $par1) {
    return $par1 && $par1 != 1 ? 0 : 1;
};
$java.nms_InventoryMerchant_setInventorySlotContents = function($this, $par1, $par2ItemStack) {
    $this.$theInventory.data[$par1] = $par2ItemStack;
    if ($par2ItemStack !== null && $par2ItemStack.$stackSize > 64)
        $par2ItemStack.$stackSize = 64;
    if ($java.nms_InventoryMerchant_inventoryResetNeededOnSlotChange($this, $par1))
        $java.nms_InventoryMerchant_resetRecipeAndSlots($this);
};
$java.nms_InventoryMerchant_getInventoryStackLimit = function($this) {
    return 64;
};
$java.nms_InventoryMerchant_onInventoryChanged = function($this) {
    $java.nms_InventoryMerchant_resetRecipeAndSlots($this);
};
$java.nms_InventoryMerchant_resetRecipeAndSlots = function($this) {
    var $var1, $var2, var$3, $var3, $var4;
    $this.$currentRecipe = null;
    $var1 = $this.$theInventory.data[0];
    $var2 = $this.$theInventory.data[1];
    if ($var1 === null)
        var$3 = null;
    else {
        var$3 = $var2;
        $var2 = $var1;
    }
    if ($var2 === null)
        $java.nms_InventoryMerchant_setInventorySlotContents($this, 2, null);
    else {
        $var3 = $this.$theMerchant1.$recipeList;
        if ($var3 !== null) {
            $var4 = $java.nms_MerchantRecipeList_canRecipeBeUsed($var3, $var2, var$3, $this.$currentRecipeIndex0);
            if ($var4 !== null && !nms_MerchantRecipe_func_82784_g($var4)) {
                $this.$currentRecipe = $var4;
                $java.nms_InventoryMerchant_setInventorySlotContents($this, 2, nms_ItemStack_copy($var4.$itemToSell));
            } else if (var$3 === null)
                $java.nms_InventoryMerchant_setInventorySlotContents($this, 2, null);
            else {
                $var1 = $java.nms_MerchantRecipeList_canRecipeBeUsed($var3, var$3, $var2, $this.$currentRecipeIndex0);
                if ($var1 !== null && !nms_MerchantRecipe_func_82784_g($var1)) {
                    $this.$currentRecipe = $var1;
                    $java.nms_InventoryMerchant_setInventorySlotContents($this, 2, nms_ItemStack_copy($var1.$itemToSell));
                } else
                    $java.nms_InventoryMerchant_setInventorySlotContents($this, 2, null);
            }
        }
    }
};
$java.nms_InventoryMerchant_getCurrentRecipe = function($this) {
    return $this.$currentRecipe;
};
$java.nms_InventoryMerchant_setCurrentRecipeIndex = function($this, $par1) {
    $this.$currentRecipeIndex0 = $par1;
    $java.nms_InventoryMerchant_resetRecipeAndSlots($this);
};
function nms_WorldProviderHell() {
    nms_WorldProvider.call(this);
}
$java.nms_WorldProviderHell__init_ = function() {
    var var_0 = new nms_WorldProviderHell();
    nms_WorldProviderHell__init_(var_0);
    return var_0;
};
function nms_WorldProviderHell__init_($this) {
    nms_WorldProvider__init_($this);
}
$java.nms_WorldProviderHell_registerWorldChunkManager = function($this) {
    $this.$isHellWorld = 1;
    $this.$hasNoSky = 1;
    $this.$dimensionId = (-1);
};
$java.nms_WorldProviderHell_getFogColor = function($this, $par1, $par2) {
    return nms_Vec3Pool_getVecFromPool($this.$worldObj5.$vecPool, 0.20000000298023224, 0.029999999329447746, 0.029999999329447746);
};
$java.nms_WorldProviderHell_generateLightBrightnessTable = function($this) {
    var $var2, $var3;
    $var2 = 0;
    while ($var2 <= 15) {
        $var3 = 1.0 - $var2 / 15.0;
        $this.$lightBrightnessTable.data[$var2] = (1.0 - $var3) / ($var3 * 3.0 + 1.0) * 0.8999999761581421 + 0.10000000149011612;
        $var2 = $var2 + 1 | 0;
    }
};
$java.nms_WorldProviderHell_isSurfaceWorld = function($this) {
    return 0;
};
$java.nms_WorldProviderHell_calculateCelestialAngle = function($this, $par1, $par3) {
    return 0.5;
};
$java.nms_WorldProviderHell_doesXZShowFog = function($this, $par1, $par2) {
    return 1;
};
function nms_WorldProviderEnd() {
    nms_WorldProvider.call(this);
}
$java.nms_WorldProviderEnd__init_ = function() {
    var var_0 = new nms_WorldProviderEnd();
    nms_WorldProviderEnd__init_(var_0);
    return var_0;
};
function nms_WorldProviderEnd__init_($this) {
    nms_WorldProvider__init_($this);
}
$java.nms_WorldProviderEnd_registerWorldChunkManager = function($this) {
    $this.$dimensionId = 1;
    $this.$hasNoSky = 1;
};
$java.nms_WorldProviderEnd_calculateCelestialAngle = function($this, $par1, $par3) {
    return 0.0;
};
$java.nms_WorldProviderEnd_calcSunriseSunsetColors = function($this, $par1, $par2) {
    return null;
};
$java.nms_WorldProviderEnd_getFogColor = function($this, $par1, $par2) {
    var $var4, var$4, var$5;
    $var4 = nms_MathHelper_cos($par1 * 3.1415927410125732 * 2.0) * 2.0 + 0.5;
    if ($var4 < 0.0)
        $var4 = 0.0;
    if ($var4 > 1.0)
        $var4 = 1.0;
    $par1 = $var4 * 0.0 + 0.15000000596046448;
    $par2 = 0.6274510025978088 * $par1;
    $par1 = 0.501960813999176 * $par1;
    var$4 = $this.$worldObj5.$vecPool;
    var$5 = $par2;
    return nms_Vec3Pool_getVecFromPool(var$4, var$5, $par1, var$5);
};
$java.nms_WorldProviderEnd_isSkyColored = function($this) {
    return 0;
};
$java.nms_WorldProviderEnd_isSurfaceWorld = function($this) {
    return 0;
};
$java.nms_WorldProviderEnd_getCloudHeight = function($this) {
    return 8.0;
};
$java.nms_WorldProviderEnd_doesXZShowFog = function($this, $par1, $par2) {
    return 1;
};
function nlea_EaglerAdapterImpl2$BufferedImageElem() {
    var a = this; jl_Object.call(a);
    a.$imageElement = null;
    a.$url0 = null;
    a.$requestedTime0 = Long_ZERO;
    a.$ttl0 = 0;
}
function jt_MessageFormat$FieldContainer() {
    var a = this; jl_Object.call(a);
    a.$start13 = 0;
    a.$end6 = 0;
    a.$attribute = null;
    a.$value17 = null;
}
$java.jt_MessageFormat$FieldContainer__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new jt_MessageFormat$FieldContainer();
    $java.jt_MessageFormat$FieldContainer__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.jt_MessageFormat$FieldContainer__init_0 = function($this, $start, $end, $attribute, $value) {
    $this.$start13 = $start;
    $this.$end6 = $end;
    $this.$attribute = $attribute;
    $this.$value17 = $value;
};
function jt_MessageFormat$Field() {
    jt_Format$Field.call(this);
}
$java.jt_MessageFormat$Field_ARGUMENT = null;
function jt_MessageFormat$Field__clinit_() {
    var var$1;
    var$1 = new jt_MessageFormat$Field;
    $java.jt_AttributedCharacterIterator$Attribute__init_0(var$1, $rt_s(3303));
    $java.jt_MessageFormat$Field_ARGUMENT = var$1;
}
function nms_InventoryCraftResult() {
    jl_Object.call(this);
    this.$stackResult = null;
}
function nms_InventoryCraftResult__init_0() {
    var var_0 = new nms_InventoryCraftResult();
    nms_InventoryCraftResult__init_(var_0);
    return var_0;
}
function nms_InventoryCraftResult__init_($this) {
    $this.$stackResult = $rt_createArray(nms_ItemStack, 1);
}
$java.nms_InventoryCraftResult_getStackInSlot = function($this, $par1) {
    return $this.$stackResult.data[0];
};
$java.nms_InventoryCraftResult_decrStackSize = function($this, $par1, $par2) {
    var $var3;
    if ($this.$stackResult.data[0] === null)
        return null;
    $var3 = $this.$stackResult.data[0];
    $this.$stackResult.data[0] = null;
    return $var3;
};
$java.nms_InventoryCraftResult_setInventorySlotContents = function($this, $par1, $par2ItemStack) {
    $this.$stackResult.data[0] = $par2ItemStack;
};
$java.nms_InventoryCraftResult_getInventoryStackLimit = function($this) {
    return 64;
};
$java.nms_InventoryCraftResult_onInventoryChanged = function($this) {
    return;
};
function nms_SlotCrafting() {
    var a = this; nms_Slot.call(a);
    a.$craftMatrix1 = null;
    a.$thePlayer6 = null;
    a.$amountCrafted = 0;
}
$java.nms_SlotCrafting__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_SlotCrafting();
    $java.nms_SlotCrafting__init_0(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
};
$java.nms_SlotCrafting__init_0 = function($this, $par1EntityPlayer, $par2IInventory, $par3IInventory, $par4, $par5, $par6) {
    nms_Slot__init_0($this, $par3IInventory, $par4, $par5, $par6);
    $this.$thePlayer6 = $par1EntityPlayer;
    $this.$craftMatrix1 = $par2IInventory;
};
$java.nms_SlotCrafting_isItemValid = function($this, $par1ItemStack) {
    return 0;
};
$java.nms_SlotCrafting_decrStackSize = function($this, $par1) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_Slot_getHasStack($this))
            $this.$amountCrafted = $this.$amountCrafted + jl_Math_min($par1, $java.nms_Slot_getStack($this).$stackSize) | 0;
        $ptr = 1;
    case 1:
        $tmp = $java.nms_Slot_decrStackSize($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        return var$2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, $ptr);
};
$java.nms_SlotCrafting_onCrafting = function($this, $par1ItemStack, $par2) {
    $this.$amountCrafted = $this.$amountCrafted + $par2 | 0;
    $java.nms_SlotCrafting_onCrafting0($this, $par1ItemStack);
};
$java.nms_SlotCrafting_onCrafting0 = function($this, $par1ItemStack) {
    var var$2;
    a: {
        nms_ItemStack_onCrafting($par1ItemStack, $this.$thePlayer6.$worldObj, $this.$thePlayer6, $this.$amountCrafted);
        $this.$amountCrafted = 0;
        var$2 = $par1ItemStack.$itemID0;
        nms_Block_$callClinit();
        if (var$2 == nms_Block_workbench.$blockID) {
            $par1ItemStack = $this.$thePlayer6;
            nms_AchievementList_$callClinit();
            $par1ItemStack.$addStat(nms_AchievementList_buildWorkBench, 1);
            break a;
        }
        var$2 = $par1ItemStack.$itemID0;
        nms_Item_$callClinit();
        if (var$2 == nms_Item_pickaxeWood.$itemID) {
            $par1ItemStack = $this.$thePlayer6;
            nms_AchievementList_$callClinit();
            $par1ItemStack.$addStat(nms_AchievementList_buildPickaxe, 1);
            break a;
        }
        if ($par1ItemStack.$itemID0 == nms_Block_furnaceIdle.$blockID) {
            $par1ItemStack = $this.$thePlayer6;
            nms_AchievementList_$callClinit();
            $par1ItemStack.$addStat(nms_AchievementList_buildFurnace, 1);
            break a;
        }
        if ($par1ItemStack.$itemID0 == nms_Item_hoeWood.$itemID) {
            $par1ItemStack = $this.$thePlayer6;
            nms_AchievementList_$callClinit();
            $par1ItemStack.$addStat(nms_AchievementList_buildHoe, 1);
            break a;
        }
        if ($par1ItemStack.$itemID0 == nms_Item_bread.$itemID) {
            $par1ItemStack = $this.$thePlayer6;
            nms_AchievementList_$callClinit();
            $par1ItemStack.$addStat(nms_AchievementList_makeBread, 1);
            break a;
        }
        if ($par1ItemStack.$itemID0 == nms_Item_cake.$itemID) {
            $par1ItemStack = $this.$thePlayer6;
            nms_AchievementList_$callClinit();
            $par1ItemStack.$addStat(nms_AchievementList_bakeCake, 1);
            break a;
        }
        if ($par1ItemStack.$itemID0 == nms_Item_pickaxeStone.$itemID) {
            $par1ItemStack = $this.$thePlayer6;
            nms_AchievementList_$callClinit();
            $par1ItemStack.$addStat(nms_AchievementList_buildBetterPickaxe, 1);
            break a;
        }
        if ($par1ItemStack.$itemID0 == nms_Item_swordWood.$itemID) {
            $par1ItemStack = $this.$thePlayer6;
            nms_AchievementList_$callClinit();
            $par1ItemStack.$addStat(nms_AchievementList_buildSword, 1);
            break a;
        }
        if ($par1ItemStack.$itemID0 == nms_Block_enchantmentTable.$blockID) {
            $par1ItemStack = $this.$thePlayer6;
            nms_AchievementList_$callClinit();
            $par1ItemStack.$addStat(nms_AchievementList_enchantments, 1);
            break a;
        }
        if ($par1ItemStack.$itemID0 != nms_Block_bookShelf.$blockID)
            break a;
        $par1ItemStack = $this.$thePlayer6;
        nms_AchievementList_$callClinit();
        $par1ItemStack.$addStat(nms_AchievementList_bookcase, 1);
    }
};
$java.nms_SlotCrafting_onPickupFromSlot = function($this, $par1EntityPlayer, $par2ItemStack) {
    var $var3, $var4, $var5;
    $java.nms_SlotCrafting_onCrafting0($this, $par2ItemStack);
    $var3 = 0;
    while ($var3 < $java.nms_InventoryCrafting_getSizeInventory($this.$craftMatrix1)) {
        $var4 = nms_InventoryCrafting_getStackInSlot($this.$craftMatrix1, $var3);
        if ($var4 !== null) {
            $java.nms_InventoryCrafting_decrStackSize($this.$craftMatrix1, $var3, 1);
            if (nms_Item_hasContainerItem(nms_ItemStack_getItem($var4))) {
                $var5 = nms_ItemStack__init_5(nms_ItemStack_getItem($var4).$containerItem);
                nms_ItemStack_getItem($var4);
                if (!nms_InventoryPlayer_addItemStackToInventory($this.$thePlayer6.$inventory, $var5)) {
                    if (nms_InventoryCrafting_getStackInSlot($this.$craftMatrix1, $var3) !== null)
                        nms_EntityPlayer_dropPlayerItem($this.$thePlayer6, $var5);
                    else
                        nms_InventoryCrafting_setInventorySlotContents($this.$craftMatrix1, $var3, $var5);
                }
            }
        }
        $var3 = $var3 + 1 | 0;
    }
};
function nms_SlotArmor() {
    var a = this; nms_Slot.call(a);
    a.$armorType0 = 0;
    a.$parent2 = null;
}
$java.nms_SlotArmor_getSlotStackLimit = function($this) {
    return 1;
};
$java.nms_SlotArmor_isItemValid = function($this, $par1ItemStack) {
    var var$2;
    a: {
        if ($par1ItemStack === null)
            var$2 = 0;
        else if (nms_ItemStack_getItem($par1ItemStack) instanceof nms_ItemArmor) {
            if (nms_ItemStack_getItem($par1ItemStack).$armorType != $this.$armorType0)
                var$2 = 0;
            else
                var$2 = 1;
        } else {
            var$2 = nms_ItemStack_getItem($par1ItemStack).$itemID;
            nms_Block_$callClinit();
            if (var$2 != nms_Block_pumpkin.$blockID) {
                var$2 = nms_ItemStack_getItem($par1ItemStack).$itemID;
                nms_Item_$callClinit();
                if (var$2 != nms_Item_skull.$itemID) {
                    var$2 = 0;
                    break a;
                }
            }
            if ($this.$armorType0)
                var$2 = 0;
            else
                var$2 = 1;
        }
    }
    return var$2;
};
$java.nms_SlotArmor_getBackgroundIconIndex = function($this) {
    var var$1;
    a: {
        switch ($this.$armorType0) {
            case 0:
                nms_Item_$callClinit();
                var$1 = nms_Item_helmetDiamond.$field_94604_cx;
                break a;
            case 1:
                nms_Item_$callClinit();
                var$1 = nms_Item_plateDiamond.$field_94604_cx;
                break a;
            case 2:
                nms_Item_$callClinit();
                var$1 = nms_Item_legsDiamond.$field_94604_cx;
                break a;
            case 3:
                nms_Item_$callClinit();
                var$1 = nms_Item_bootsDiamond.$field_94604_cx;
                break a;
            default:
        }
        var$1 = null;
    }
    return var$1;
};
function nlea_EaglerAdapterImpl2$15() {
    jl_Object.call(this);
    this.$val$javascriptOnloadFunction = null;
}
$java.nlea_EaglerAdapterImpl2$15_handleEvent = function($this, $evt) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_videoIsLoaded = 1;
    if ($this.$val$javascriptOnloadFunction !== null) {
        $evt = $this.$val$javascriptOnloadFunction;
        var$2 = nlea_EaglerAdapterImpl2_currentVideo;
        window[$rt_ustr($evt)](var$2);
    }
};
$java.nlea_EaglerAdapterImpl2$15_handleEvent$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$15_handleEvent(var$0, var$1);
};
function nlea_EaglerAdapterImpl2$16() {
    jl_Object.call(this);
    this.$val$javascriptOnloadFunction0 = null;
}
$java.nlea_EaglerAdapterImpl2$16_handleEvent = function($this, $evt) {
    var var$2;
    nlea_EaglerAdapterImpl2_$callClinit();
    nlea_EaglerAdapterImpl2_imageIsLoaded = 1;
    if ($this.$val$javascriptOnloadFunction0 !== null) {
        $evt = $this.$val$javascriptOnloadFunction0;
        var$2 = nlea_EaglerAdapterImpl2_currentImage;
        window[$rt_ustr($evt)](var$2);
    }
};
$java.nlea_EaglerAdapterImpl2$16_handleEvent$exported$0 = function(var$0, var$1) {
    $java.nlea_EaglerAdapterImpl2$16_handleEvent(var$0, var$1);
};
function nms_SoundUpdaterMinecart() {
    var a = this; jl_Object.call(a);
    a.$theSoundManager = null;
    a.$theMinecart = null;
    a.$thePlayer3 = null;
    a.$playerSPRidingMinecart = 0;
    a.$minecartIsDead = 0;
    a.$minecartIsMoving = 0;
    a.$silent = 0;
    a.$minecartSoundPitch = 0.0;
    a.$minecartMoveSoundVolume = 0.0;
    a.$minecartRideSoundVolume = 0.0;
    a.$minecartSpeed = 0.0;
}
function nms_SoundUpdaterMinecart_update($this) {
    var $var2, $var3, $var4, $var5, $var6, $var7, var$7, var$8, var$9, var$10, $var10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var10 = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$var2 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var2 = $this.$playerSPRidingMinecart;
        $var3 = $this.$minecartIsDead;
        $var4 = $this.$minecartIsMoving;
        $var5 = $this.$minecartMoveSoundVolume;
        $var6 = $this.$minecartSoundPitch;
        $var7 = $this.$minecartRideSoundVolume;
        $this.$playerSPRidingMinecart = $this.$thePlayer3 !== null && nms_Entity_equals($this.$thePlayer3, $this.$theMinecart.$riddenByEntity) ? 1 : 0;
        $this.$minecartIsDead = $this.$theMinecart.$isDead;
        $this.$minecartSpeed = nms_MathHelper_sqrt_double($this.$theMinecart.$motionX * $this.$theMinecart.$motionX + $this.$theMinecart.$motionZ * $this.$theMinecart.$motionZ);
        $this.$minecartIsMoving = $this.$minecartSpeed < 0.01 ? 0 : 1;
        if ($var2 && !$this.$playerSPRidingMinecart)
            nms_SoundManager_stopEntitySound($this.$theSoundManager, $this.$thePlayer3);
        a: {
            if (!$this.$minecartIsDead) {
                if ($this.$silent)
                    break a;
                if ($this.$minecartMoveSoundVolume !== 0.0)
                    break a;
                if ($this.$minecartRideSoundVolume !== 0.0)
                    break a;
            }
            if (!$var3) {
                nms_SoundManager_stopEntitySound($this.$theSoundManager, $this.$theMinecart);
                if (!(!$var2 && !$this.$playerSPRidingMinecart))
                    nms_SoundManager_stopEntitySound($this.$theSoundManager, $this.$thePlayer3);
            }
            $this.$silent = 1;
            if ($this.$minecartIsDead)
                return;
        }
        if (!nms_SoundManager_isEntitySoundPlaying($this.$theSoundManager, $this.$theMinecart) && $this.$minecartMoveSoundVolume > 0.0) {
            var$7 = $this.$theSoundManager;
            var$8 = $rt_s(3304);
            var$9 = $this.$theMinecart;
            var$10 = $this.$minecartMoveSoundVolume;
            $var10 = $this.$minecartSoundPitch;
            $var2 = 0;
            $ptr = 1;
            continue main;
        }
        if ($this.$playerSPRidingMinecart && !nms_SoundManager_isEntitySoundPlaying($this.$theSoundManager, $this.$thePlayer3) && $this.$minecartRideSoundVolume > 0.0) {
            var$9 = $this.$theSoundManager;
            var$7 = $rt_s(3305);
            var$8 = $this.$thePlayer3;
            $var10 = $this.$minecartRideSoundVolume;
            var$10 = 1.0;
            $var2 = 1;
            $ptr = 2;
            continue main;
        }
        if ($this.$minecartIsMoving) {
            if ($this.$minecartSoundPitch < 1.0)
                $this.$minecartSoundPitch = $this.$minecartSoundPitch + 0.0024999999441206455;
            if ($this.$minecartSoundPitch > 1.0)
                $this.$minecartSoundPitch = 1.0;
            $var10 = nms_MathHelper_clamp_float($this.$minecartSpeed, 0.0, 4.0) / 4.0;
            $this.$minecartRideSoundVolume = 0.0 + $var10 * 0.75;
            $this.$minecartMoveSoundVolume = 0.0 + nms_MathHelper_clamp_float($var10 * 2.0, 0.0, 1.0) * 0.699999988079071;
        } else if ($var4) {
            $this.$minecartMoveSoundVolume = 0.0;
            $this.$minecartSoundPitch = 0.0;
            $this.$minecartRideSoundVolume = 0.0;
        }
        if (!$this.$silent) {
            if ($this.$minecartSoundPitch !== $var6)
                nms_SoundManager_setEntitySoundPitch($this.$theSoundManager, $this.$theMinecart, $this.$minecartSoundPitch);
            if ($this.$minecartMoveSoundVolume !== $var5)
                nms_SoundManager_setEntitySoundVolume($this.$theSoundManager, $this.$theMinecart, $this.$minecartMoveSoundVolume);
            if ($this.$minecartRideSoundVolume !== $var7)
                nms_SoundManager_setEntitySoundVolume($this.$theSoundManager, $this.$thePlayer3, $this.$minecartRideSoundVolume);
        }
        if (!($this.$minecartMoveSoundVolume <= 0.0 && $this.$minecartRideSoundVolume <= 0.0)) {
            nms_SoundManager_updateSoundLocation($this.$theSoundManager, $this.$theMinecart);
            if ($this.$playerSPRidingMinecart)
                nms_SoundManager_updateSoundLocation0($this.$theSoundManager, $this.$thePlayer3, $this.$theMinecart);
        } else {
            if (nms_SoundManager_isEntitySoundPlaying($this.$theSoundManager, $this.$theMinecart))
                nms_SoundManager_stopEntitySound($this.$theSoundManager, $this.$theMinecart);
            if ($this.$playerSPRidingMinecart && nms_SoundManager_isEntitySoundPlaying($this.$theSoundManager, $this.$thePlayer3))
                nms_SoundManager_stopEntitySound($this.$theSoundManager, $this.$thePlayer3);
        }
        return;
    case 1:
        nms_SoundManager_playEntitySound(var$7, var$8, var$9, var$10, $var10, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $this.$silent = 0;
        if ($this.$playerSPRidingMinecart && !nms_SoundManager_isEntitySoundPlaying($this.$theSoundManager, $this.$thePlayer3) && $this.$minecartRideSoundVolume > 0.0) {
            var$9 = $this.$theSoundManager;
            var$7 = $rt_s(3305);
            var$8 = $this.$thePlayer3;
            $var10 = $this.$minecartRideSoundVolume;
            var$10 = 1.0;
            $var2 = 1;
            $ptr = 2;
            continue main;
        }
        if ($this.$minecartIsMoving) {
            if ($this.$minecartSoundPitch < 1.0)
                $this.$minecartSoundPitch = $this.$minecartSoundPitch + 0.0024999999441206455;
            if ($this.$minecartSoundPitch > 1.0)
                $this.$minecartSoundPitch = 1.0;
            $var10 = nms_MathHelper_clamp_float($this.$minecartSpeed, 0.0, 4.0) / 4.0;
            $this.$minecartRideSoundVolume = 0.0 + $var10 * 0.75;
            $this.$minecartMoveSoundVolume = 0.0 + nms_MathHelper_clamp_float($var10 * 2.0, 0.0, 1.0) * 0.699999988079071;
        } else if ($var4) {
            $this.$minecartMoveSoundVolume = 0.0;
            $this.$minecartSoundPitch = 0.0;
            $this.$minecartRideSoundVolume = 0.0;
        }
        if (!$this.$silent) {
            if ($this.$minecartSoundPitch !== $var6)
                nms_SoundManager_setEntitySoundPitch($this.$theSoundManager, $this.$theMinecart, $this.$minecartSoundPitch);
            if ($this.$minecartMoveSoundVolume !== $var5)
                nms_SoundManager_setEntitySoundVolume($this.$theSoundManager, $this.$theMinecart, $this.$minecartMoveSoundVolume);
            if ($this.$minecartRideSoundVolume !== $var7)
                nms_SoundManager_setEntitySoundVolume($this.$theSoundManager, $this.$thePlayer3, $this.$minecartRideSoundVolume);
        }
        if (!($this.$minecartMoveSoundVolume <= 0.0 && $this.$minecartRideSoundVolume <= 0.0)) {
            nms_SoundManager_updateSoundLocation($this.$theSoundManager, $this.$theMinecart);
            if ($this.$playerSPRidingMinecart)
                nms_SoundManager_updateSoundLocation0($this.$theSoundManager, $this.$thePlayer3, $this.$theMinecart);
        } else {
            if (nms_SoundManager_isEntitySoundPlaying($this.$theSoundManager, $this.$theMinecart))
                nms_SoundManager_stopEntitySound($this.$theSoundManager, $this.$theMinecart);
            if ($this.$playerSPRidingMinecart && nms_SoundManager_isEntitySoundPlaying($this.$theSoundManager, $this.$thePlayer3))
                nms_SoundManager_stopEntitySound($this.$theSoundManager, $this.$thePlayer3);
        }
        return;
    case 2:
        nms_SoundManager_playEntitySound(var$9, var$7, var$8, $var10, var$10, $var2);
        if ($rt_suspending()) {
            break main;
        }
        $this.$silent = 0;
        if ($this.$minecartIsMoving) {
            if ($this.$minecartSoundPitch < 1.0)
                $this.$minecartSoundPitch = $this.$minecartSoundPitch + 0.0024999999441206455;
            if ($this.$minecartSoundPitch > 1.0)
                $this.$minecartSoundPitch = 1.0;
            $var10 = nms_MathHelper_clamp_float($this.$minecartSpeed, 0.0, 4.0) / 4.0;
            $this.$minecartRideSoundVolume = 0.0 + $var10 * 0.75;
            $this.$minecartMoveSoundVolume = 0.0 + nms_MathHelper_clamp_float($var10 * 2.0, 0.0, 1.0) * 0.699999988079071;
        } else if ($var4) {
            $this.$minecartMoveSoundVolume = 0.0;
            $this.$minecartSoundPitch = 0.0;
            $this.$minecartRideSoundVolume = 0.0;
        }
        if (!$this.$silent) {
            if ($this.$minecartSoundPitch !== $var6)
                nms_SoundManager_setEntitySoundPitch($this.$theSoundManager, $this.$theMinecart, $this.$minecartSoundPitch);
            if ($this.$minecartMoveSoundVolume !== $var5)
                nms_SoundManager_setEntitySoundVolume($this.$theSoundManager, $this.$theMinecart, $this.$minecartMoveSoundVolume);
            if ($this.$minecartRideSoundVolume !== $var7)
                nms_SoundManager_setEntitySoundVolume($this.$theSoundManager, $this.$thePlayer3, $this.$minecartRideSoundVolume);
        }
        if (!($this.$minecartMoveSoundVolume <= 0.0 && $this.$minecartRideSoundVolume <= 0.0)) {
            nms_SoundManager_updateSoundLocation($this.$theSoundManager, $this.$theMinecart);
            if ($this.$playerSPRidingMinecart)
                nms_SoundManager_updateSoundLocation0($this.$theSoundManager, $this.$thePlayer3, $this.$theMinecart);
        } else {
            if (nms_SoundManager_isEntitySoundPlaying($this.$theSoundManager, $this.$theMinecart))
                nms_SoundManager_stopEntitySound($this.$theSoundManager, $this.$theMinecart);
            if ($this.$playerSPRidingMinecart && nms_SoundManager_isEntitySoundPlaying($this.$theSoundManager, $this.$thePlayer3))
                nms_SoundManager_stopEntitySound($this.$theSoundManager, $this.$thePlayer3);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var2, $var3, $var4, $var5, $var6, $var7, var$7, var$8, var$9, var$10, $var10, $ptr);
}
function nms_CraftingManager() {
    jl_Object.call(this);
    this.$recipes = null;
}
$java.nms_CraftingManager_instance = null;
$java.nms_CraftingManager_$callClinit = function() {
    $java.nms_CraftingManager_$callClinit = $rt_eraseClinit(nms_CraftingManager);
    $java.nms_CraftingManager__clinit_();
};
$java.nms_CraftingManager__init_ = function() {
    var var_0 = new nms_CraftingManager();
    nms_CraftingManager__init_(var_0);
    return var_0;
};
function nms_CraftingManager_getInstance() {
    $java.nms_CraftingManager_$callClinit();
    return $java.nms_CraftingManager_instance;
}
function nms_CraftingManager__init_($this) {
    var var$1, var$2, var$3, var$4;
    $java.nms_CraftingManager_$callClinit();
    jl_Object__init_0($this);
    $this.$recipes = ju_ArrayList__init_0();
    $java.nms_RecipesTools_addRecipes($java.nms_RecipesTools__init_(), $this);
    $java.nms_RecipesWeapons_addRecipes($java.nms_RecipesWeapons__init_(), $this);
    $java.nms_RecipesIngots_addRecipes($java.nms_RecipesIngots__init_(), $this);
    $java.nms_RecipesFood_addRecipes($java.nms_RecipesFood__init_(), $this);
    $java.nms_RecipesCrafting_addRecipes($java.nms_RecipesCrafting__init_(), $this);
    $java.nms_RecipesArmor_addRecipes($java.nms_RecipesArmor__init_(), $this);
    $java.nms_RecipesDyes_addRecipes($java.nms_RecipesDyes__init_(), $this);
    ju_ArrayList_add($this.$recipes, $java.nms_RecipesArmorDyes__init_());
    ju_ArrayList_add($this.$recipes, $java.nms_RecipesMapCloning__init_());
    ju_ArrayList_add($this.$recipes, $java.nms_RecipesMapExtending__init_());
    ju_ArrayList_add($this.$recipes, $java.nms_RecipeFireworks__init_());
    var$1 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_1(var$1, nms_Item_paper, 3);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Item_reed;
    $java.nms_CraftingManager_addRecipe($this, var$1, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_book, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = nms_Item_paper;
    var$3[1] = nms_Item_paper;
    var$3[2] = nms_Item_paper;
    var$3[3] = nms_Item_leather;
    $java.nms_CraftingManager_addShapelessRecipe($this, var$4, var$2);
    var$1 = nms_ItemStack__init_8(nms_Item_writableBook, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = nms_Item_book;
    var$3[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 0);
    var$3[2] = nms_Item_feather;
    $java.nms_CraftingManager_addShapelessRecipe($this, var$1, var$2);
    var$4 = new nms_ItemStack;
    nms_Block_$callClinit();
    nms_ItemStack__init_6(var$4, nms_Block_fence, 2);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3306);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_cobblestoneWall, 6, 0);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3306);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_cobblestone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_cobblestoneWall, 6, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3306);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_cobblestoneMossy;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_netherFence, 6);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3306);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_netherBrick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_fenceGate, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3307);
    var$3[1] = $rt_s(3307);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_stick;
    var$3[4] = jl_Character_valueOf(87);
    var$3[5] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_jukebox, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_planks;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_diamond;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_music, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_planks;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_redstone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_bookShelf, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3309);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_planks;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_book;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_blockSnow, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = $rt_s(3310);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_snowball;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_snow, 6);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_blockSnow;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_blockClay, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = $rt_s(3310);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_clay;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_brick, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = $rt_s(3310);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_brick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_glowStone, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = $rt_s(3310);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_lightStoneDust;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_blockNetherQuartz, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = $rt_s(3310);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_netherQuartz;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_cloth, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = $rt_s(3310);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_silk;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_tnt, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3311);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3311);
    var$3[3] = jl_Character_valueOf(88);
    var$3[4] = nms_Item_gunpowder;
    var$3[5] = jl_Character_valueOf(35);
    var$3[6] = nms_Block_sand;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_stoneSingleSlab, 6, 3);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_cobblestone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_stoneSingleSlab, 6, 0);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_stone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_stoneSingleSlab, 6, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_sandStone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_stoneSingleSlab, 6, 4);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_brick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_stoneSingleSlab, 6, 5);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_stoneBrick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_stoneSingleSlab, 6, 6);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_netherBrick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_stoneSingleSlab, 6, 7);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_blockNetherQuartz;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_woodSingleSlab, 6, 0);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_ItemStack__init_12(nms_Block_planks, 1, 0);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_woodSingleSlab, 6, 2);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_ItemStack__init_12(nms_Block_planks, 1, 2);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_woodSingleSlab, 6, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_ItemStack__init_12(nms_Block_planks, 1, 1);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_woodSingleSlab, 6, 3);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_ItemStack__init_12(nms_Block_planks, 1, 3);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_ladder, 3);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3312);
    var$3[1] = $rt_s(3306);
    var$3[2] = $rt_s(3312);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_doorWood, 1);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = $rt_s(3310);
    var$3[2] = $rt_s(3310);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_trapdoor, 2);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3306);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_doorIron, 1);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = $rt_s(3310);
    var$3[2] = $rt_s(3310);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_ingotIron;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_sign, 3);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3306);
    var$3[2] = $rt_s(3313);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_planks;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_cake, 1);
    var$2 = $rt_createArray(jl_Object, 11);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3314);
    var$3[1] = $rt_s(3315);
    var$3[2] = $rt_s(3316);
    var$3[3] = jl_Character_valueOf(65);
    var$3[4] = nms_Item_bucketMilk;
    var$3[5] = jl_Character_valueOf(66);
    var$3[6] = nms_Item_sugar;
    var$3[7] = jl_Character_valueOf(67);
    var$3[8] = nms_Item_wheat;
    var$3[9] = jl_Character_valueOf(69);
    var$3[10] = nms_Item_egg;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_sugar, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(307);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Item_reed;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_planks, 4, 0);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(307);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_ItemStack__init_12(nms_Block_wood, 1, 0);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_planks, 4, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(307);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_ItemStack__init_12(nms_Block_wood, 1, 1);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_planks, 4, 2);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(307);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_ItemStack__init_12(nms_Block_wood, 1, 2);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_12(nms_Block_planks, 4, 3);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(307);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_ItemStack__init_12(nms_Block_wood, 1, 3);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_stick, 4);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(307);
    var$3[1] = $rt_s(307);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_torchWood, 4);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(121);
    var$3[1] = $rt_s(307);
    var$3[2] = jl_Character_valueOf(88);
    var$3[3] = nms_Item_coal;
    var$3[4] = jl_Character_valueOf(35);
    var$3[5] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_torchWood, 4);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(121);
    var$3[1] = $rt_s(307);
    var$3[2] = jl_Character_valueOf(88);
    var$3[3] = nms_ItemStack__init_4(nms_Item_coal, 1, 1);
    var$3[4] = jl_Character_valueOf(35);
    var$3[5] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_bowlEmpty, 4);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3312);
    var$3[1] = $rt_s(3317);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_glassBottle, 3);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3312);
    var$3[1] = $rt_s(3317);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_glass;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_rail, 16);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3318);
    var$3[1] = $rt_s(3311);
    var$3[2] = $rt_s(3318);
    var$3[3] = jl_Character_valueOf(88);
    var$3[4] = nms_Item_ingotIron;
    var$3[5] = jl_Character_valueOf(35);
    var$3[6] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_railPowered, 6);
    var$2 = $rt_createArray(jl_Object, 9);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3318);
    var$3[1] = $rt_s(3311);
    var$3[2] = $rt_s(3319);
    var$3[3] = jl_Character_valueOf(88);
    var$3[4] = nms_Item_ingotGold;
    var$3[5] = jl_Character_valueOf(82);
    var$3[6] = nms_Item_redstone;
    var$3[7] = jl_Character_valueOf(35);
    var$3[8] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_railActivator, 6);
    var$2 = $rt_createArray(jl_Object, 9);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3320);
    var$3[1] = $rt_s(3311);
    var$3[2] = $rt_s(3320);
    var$3[3] = jl_Character_valueOf(88);
    var$3[4] = nms_Item_ingotIron;
    var$3[5] = jl_Character_valueOf(35);
    var$3[6] = nms_Block_torchRedstoneActive;
    var$3[7] = jl_Character_valueOf(83);
    var$3[8] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_railDetector, 6);
    var$2 = $rt_createArray(jl_Object, 9);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3318);
    var$3[1] = $rt_s(3311);
    var$3[2] = $rt_s(3319);
    var$3[3] = jl_Character_valueOf(88);
    var$3[4] = nms_Item_ingotIron;
    var$3[5] = jl_Character_valueOf(82);
    var$3[6] = nms_Item_redstone;
    var$3[7] = jl_Character_valueOf(35);
    var$3[8] = nms_Block_pressurePlateStone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_minecartEmpty, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3312);
    var$3[1] = $rt_s(3306);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_ingotIron;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_cauldron, 1);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3312);
    var$3[1] = $rt_s(3312);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_ingotIron;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_brewingStand, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3321);
    var$3[1] = $rt_s(3306);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_cobblestone;
    var$3[4] = jl_Character_valueOf(66);
    var$3[5] = nms_Item_blazeRod;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_pumpkinLantern, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(106);
    var$3[1] = $rt_s(124);
    var$3[2] = jl_Character_valueOf(65);
    var$3[3] = nms_Block_pumpkin;
    var$3[4] = jl_Character_valueOf(66);
    var$3[5] = nms_Block_torchWood;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_minecartCrate, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(106);
    var$3[1] = $rt_s(124);
    var$3[2] = jl_Character_valueOf(65);
    var$3[3] = nms_Block_chest;
    var$3[4] = jl_Character_valueOf(66);
    var$3[5] = nms_Item_minecartEmpty;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_minecartPowered, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(106);
    var$3[1] = $rt_s(124);
    var$3[2] = jl_Character_valueOf(65);
    var$3[3] = nms_Block_furnaceIdle;
    var$3[4] = jl_Character_valueOf(66);
    var$3[5] = nms_Item_minecartEmpty;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_minecartTnt, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(106);
    var$3[1] = $rt_s(124);
    var$3[2] = jl_Character_valueOf(65);
    var$3[3] = nms_Block_tnt;
    var$3[4] = jl_Character_valueOf(66);
    var$3[5] = nms_Item_minecartEmpty;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_minecartHopper, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(106);
    var$3[1] = $rt_s(124);
    var$3[2] = jl_Character_valueOf(65);
    var$3[3] = nms_Block_hopperBlock;
    var$3[4] = jl_Character_valueOf(66);
    var$3[5] = nms_Item_minecartEmpty;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_boat, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3312);
    var$3[1] = $rt_s(3306);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_bucketEmpty, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3312);
    var$3[1] = $rt_s(3317);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_ingotIron;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_flowerPot, 1);
    var$2 = $rt_createArray(jl_Object, 4);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3312);
    var$3[1] = $rt_s(3317);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_brick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_flintAndSteel, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3322);
    var$3[1] = $rt_s(3323);
    var$3[2] = jl_Character_valueOf(65);
    var$3[3] = nms_Item_ingotIron;
    var$3[4] = jl_Character_valueOf(66);
    var$3[5] = nms_Item_flint;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_bread, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Item_wheat;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_stairsWoodOak, 4);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3324);
    var$3[1] = $rt_s(3325);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_ItemStack__init_12(nms_Block_planks, 1, 0);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_stairsWoodBirch, 4);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3324);
    var$3[1] = $rt_s(3325);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_ItemStack__init_12(nms_Block_planks, 1, 2);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_stairsWoodSpruce, 4);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3324);
    var$3[1] = $rt_s(3325);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_ItemStack__init_12(nms_Block_planks, 1, 1);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_stairsWoodJungle, 4);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3324);
    var$3[1] = $rt_s(3325);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_ItemStack__init_12(nms_Block_planks, 1, 3);
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_fishingRod, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3326);
    var$3[1] = $rt_s(3327);
    var$3[2] = $rt_s(3328);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_stick;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_silk;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_carrotOnAStick, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3329);
    var$3[1] = $rt_s(3330);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_fishingRod;
    var$3[4] = jl_Character_valueOf(88);
    var$3[5] = nms_Item_carrot;
    $java.nms_ShapedRecipes_func_92100_c($java.nms_CraftingManager_addRecipe($this, var$4, var$2));
    var$4 = nms_ItemStack__init_9(nms_Block_stairsCobblestone, 4);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3324);
    var$3[1] = $rt_s(3325);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_cobblestone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_stairsBrick, 4);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3324);
    var$3[1] = $rt_s(3325);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_brick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_stairsStoneBrick, 4);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3324);
    var$3[1] = $rt_s(3325);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_stoneBrick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_stairsNetherBrick, 4);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3324);
    var$3[1] = $rt_s(3325);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_netherBrick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_stairsSandStone, 4);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3324);
    var$3[1] = $rt_s(3325);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_sandStone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_stairsNetherQuartz, 4);
    var$2 = $rt_createArray(jl_Object, 5);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3324);
    var$3[1] = $rt_s(3325);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_blockNetherQuartz;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_painting, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_stick;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Block_cloth;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_itemFrame, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_stick;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_leather;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_4(nms_Item_appleGold, 1, 0);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_goldNugget;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_appleRed;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_4(nms_Item_appleGold, 1, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_blockGold;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_appleRed;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_4(nms_Item_goldenCarrot, 1, 0);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_goldNugget;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_carrot;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_lever, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(121);
    var$3[1] = $rt_s(307);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_cobblestone;
    var$3[4] = jl_Character_valueOf(88);
    var$3[5] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_tripWireSource, 2);
    var$2 = $rt_createArray(jl_Object, 9);
    var$3 = var$2.data;
    var$3[0] = $rt_s(99);
    var$3[1] = $rt_s(107);
    var$3[2] = $rt_s(307);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_planks;
    var$3[5] = jl_Character_valueOf(83);
    var$3[6] = nms_Item_stick;
    var$3[7] = jl_Character_valueOf(73);
    var$3[8] = nms_Item_ingotIron;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_torchRedstoneActive, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(121);
    var$3[1] = $rt_s(307);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Item_stick;
    var$3[4] = jl_Character_valueOf(88);
    var$3[5] = nms_Item_redstone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_redstoneRepeater, 1);
    var$2 = $rt_createArray(jl_Object, 8);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3308);
    var$3[1] = $rt_s(3331);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_torchRedstoneActive;
    var$3[4] = jl_Character_valueOf(88);
    var$3[5] = nms_Item_redstone;
    var$3[6] = jl_Character_valueOf(73);
    var$3[7] = nms_Block_stone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_comparator, 1);
    var$2 = $rt_createArray(jl_Object, 9);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3317);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3331);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_torchRedstoneActive;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_netherQuartz;
    var$3[7] = jl_Character_valueOf(73);
    var$3[8] = nms_Block_stone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_pocketSundial, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3317);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3317);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_ingotGold;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_redstone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_compass, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3317);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3317);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_ingotIron;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_redstone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_emptyMap, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Item_paper;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_compass;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_stoneButton, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(307);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_stone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_woodenButton, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(307);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_pressurePlateStone, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_stone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_pressurePlatePlanks, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_pressurePlateIron, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Item_ingotIron;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_pressurePlateGold, 1);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3310);
    var$3[1] = jl_Character_valueOf(35);
    var$3[2] = nms_Item_ingotGold;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_dispenser, 1);
    var$2 = $rt_createArray(jl_Object, 9);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3332);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_cobblestone;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_bow;
    var$3[7] = jl_Character_valueOf(82);
    var$3[8] = nms_Item_redstone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_dropper, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3312);
    var$3[2] = $rt_s(3332);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_cobblestone;
    var$3[5] = jl_Character_valueOf(82);
    var$3[6] = nms_Item_redstone;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_pistonBase, 1);
    var$2 = $rt_createArray(jl_Object, 11);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3333);
    var$3[1] = $rt_s(3308);
    var$3[2] = $rt_s(3332);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_cobblestone;
    var$3[5] = jl_Character_valueOf(88);
    var$3[6] = nms_Item_ingotIron;
    var$3[7] = jl_Character_valueOf(82);
    var$3[8] = nms_Item_redstone;
    var$3[9] = jl_Character_valueOf(84);
    var$3[10] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_pistonStickyBase, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(107);
    var$3[1] = $rt_s(101);
    var$3[2] = jl_Character_valueOf(83);
    var$3[3] = nms_Item_slimeBall;
    var$3[4] = jl_Character_valueOf(80);
    var$3[5] = nms_Block_pistonBase;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_bed, 1);
    var$2 = $rt_createArray(jl_Object, 6);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3306);
    var$3[1] = $rt_s(3309);
    var$3[2] = jl_Character_valueOf(35);
    var$3[3] = nms_Block_cloth;
    var$3[4] = jl_Character_valueOf(88);
    var$3[5] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_enchantmentTable, 1);
    var$2 = $rt_createArray(jl_Object, 9);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3321);
    var$3[1] = $rt_s(3334);
    var$3[2] = $rt_s(3306);
    var$3[3] = jl_Character_valueOf(35);
    var$3[4] = nms_Block_obsidian;
    var$3[5] = jl_Character_valueOf(66);
    var$3[6] = nms_Item_book;
    var$3[7] = jl_Character_valueOf(68);
    var$3[8] = nms_Item_diamond;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_9(nms_Block_anvil, 1);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3331);
    var$3[1] = $rt_s(3335);
    var$3[2] = $rt_s(3336);
    var$3[3] = jl_Character_valueOf(73);
    var$3[4] = nms_Block_blockIron;
    var$3[5] = jl_Character_valueOf(105);
    var$3[6] = nms_Item_ingotIron;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_eyeOfEnder, 1);
    var$2 = $rt_createArray(jl_Object, 2);
    var$3 = var$2.data;
    var$3[0] = nms_Item_enderPearl;
    var$3[1] = nms_Item_blazePowder;
    $java.nms_CraftingManager_addShapelessRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_fireballCharge, 3);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = nms_Item_gunpowder;
    var$3[1] = nms_Item_blazePowder;
    var$3[2] = nms_Item_coal;
    $java.nms_CraftingManager_addShapelessRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_8(nms_Item_fireballCharge, 3);
    var$2 = $rt_createArray(jl_Object, 3);
    var$3 = var$2.data;
    var$3[0] = nms_Item_gunpowder;
    var$3[1] = nms_Item_blazePowder;
    var$3[2] = nms_ItemStack__init_4(nms_Item_coal, 1, 1);
    $java.nms_CraftingManager_addShapelessRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_2(nms_Block_daylightSensor);
    var$2 = $rt_createArray(jl_Object, 9);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3337);
    var$3[1] = $rt_s(3338);
    var$3[2] = $rt_s(3339);
    var$3[3] = jl_Character_valueOf(71);
    var$3[4] = nms_Block_glass;
    var$3[5] = jl_Character_valueOf(81);
    var$3[6] = nms_Item_netherQuartz;
    var$3[7] = jl_Character_valueOf(87);
    var$3[8] = nms_Block_woodSingleSlab;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    var$4 = nms_ItemStack__init_2(nms_Block_hopperBlock);
    var$2 = $rt_createArray(jl_Object, 7);
    var$3 = var$2.data;
    var$3[0] = $rt_s(3340);
    var$3[1] = $rt_s(3341);
    var$3[2] = $rt_s(3342);
    var$3[3] = jl_Character_valueOf(73);
    var$3[4] = nms_Item_ingotIron;
    var$3[5] = jl_Character_valueOf(67);
    var$3[6] = nms_Block_chest;
    $java.nms_CraftingManager_addRecipe($this, var$4, var$2);
    ju_Collections_sort($this.$recipes, $java.nms_RecipeSorter__init_($this));
    ji_PrintStream_println(jl_System_out(), jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append1(jl_StringBuilder__init_(), ju_ArrayList_size($this.$recipes)), $rt_s(3343))));
}
$java.nms_CraftingManager_addRecipe = function($this, $par1ItemStack, $par2ArrayOfObj) {
    var $var14, $var3, $var4, $var5, $var6, var$8, $var11, $var9, $var7, $var8, $var12, $var13, $var15, $var16, $var10, $var17;
    $var14 = $par2ArrayOfObj.data;
    $var3 = $rt_s(36);
    $var4 = 0;
    $var5 = 0;
    $var6 = 0;
    if (!$rt_isInstance($var14[$var4], $rt_arraycls(jl_String))) {
        while ($var14[$var4] instanceof jl_String) {
            var$8 = $var4 + 1 | 0;
            $var11 = $var14[$var4];
            $var6 = $var6 + 1 | 0;
            $var5 = jl_String_length($var11);
            $var9 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var9);
            jl_AbstractStringBuilder_append($var9, $var3);
            jl_AbstractStringBuilder_append($var9, $var11);
            $var3 = jl_AbstractStringBuilder_toString($var9);
            $var4 = var$8;
        }
        var$8 = $var4;
    } else {
        var$8 = 1;
        $var7 = $var14[$var4];
        $var8 = 0;
        while (true) {
            $par2ArrayOfObj = $var7.data;
            if ($var8 >= $par2ArrayOfObj.length)
                break;
            $var9 = $par2ArrayOfObj[$var8];
            $var6 = $var6 + 1 | 0;
            $var5 = jl_String_length($var9);
            $var11 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_($var11);
            jl_AbstractStringBuilder_append($var11, $var3);
            jl_AbstractStringBuilder_append($var11, $var9);
            $var3 = jl_AbstractStringBuilder_toString($var11);
            $var8 = $var8 + 1 | 0;
        }
    }
    $var12 = ju_HashMap__init_();
    while (var$8 < $var14.length) {
        $var13 = $var14[var$8];
        $var15 = null;
        $var4 = var$8 + 1 | 0;
        if ($var14[$var4] instanceof nms_Item)
            $var15 = nms_ItemStack__init_5($var14[$var4]);
        else if ($var14[$var4] instanceof nms_Block)
            $var15 = nms_ItemStack__init_12($var14[$var4], 1, 32767);
        else if ($var14[$var4] instanceof nms_ItemStack)
            $var15 = $var14[$var4];
        ju_HashMap_putImpl($var12, $var13, $var15);
        var$8 = var$8 + 2 | 0;
    }
    var$8 = $rt_imul($var5, $var6);
    $var14 = $rt_createArray(nms_ItemStack, var$8);
    $par2ArrayOfObj = $var14.data;
    $var16 = 0;
    while ($var16 < var$8) {
        $var10 = jl_String_charAt($var3, $var16);
        if (!ju_HashMap_containsKey($var12, jl_Character_valueOf($var10)))
            $par2ArrayOfObj[$var16] = null;
        else
            $par2ArrayOfObj[$var16] = nms_ItemStack_copy(ju_HashMap_get($var12, jl_Character_valueOf($var10)));
        $var16 = $var16 + 1 | 0;
    }
    $var17 = $java.nms_ShapedRecipes__init_($var5, $var6, $var14, $par1ItemStack);
    ju_ArrayList_add($this.$recipes, $var17);
    return $var17;
};
$java.nms_CraftingManager_addShapelessRecipe = function($this, $par1ItemStack, $par2ArrayOfObj) {
    var $var3, $var5, $var6, var$6, $var7;
    $par2ArrayOfObj = $par2ArrayOfObj.data;
    $var3 = ju_ArrayList__init_0();
    $var5 = $par2ArrayOfObj.length;
    $var6 = 0;
    while (true) {
        if ($var6 >= $var5) {
            var$6 = $this.$recipes;
            $var7 = new nms_ShapelessRecipes;
            $var7.$recipeOutput = $par1ItemStack;
            $var7.$recipeItems = $var3;
            ju_ArrayList_add(var$6, $var7);
            return;
        }
        $var7 = $par2ArrayOfObj[$var6];
        if ($var7 instanceof nms_ItemStack)
            ju_ArrayList_add($var3, nms_ItemStack_copy($var7));
        else if ($var7 instanceof nms_Item)
            ju_ArrayList_add($var3, nms_ItemStack__init_5($var7));
        else {
            if (!($var7 instanceof nms_Block))
                break;
            ju_ArrayList_add($var3, nms_ItemStack__init_2($var7));
        }
        $var6 = $var6 + 1 | 0;
    }
    $par1ItemStack = new jl_RuntimeException;
    jl_Throwable__init_($par1ItemStack, $rt_s(3344));
    $rt_throw($par1ItemStack);
};
function nms_CraftingManager_findMatchingRecipe($this, $par1InventoryCrafting, $par2World) {
    var $var3, $var4, $var5, $var6, $var7, $var11, $var9, $var10, $var12;
    $var3 = 0;
    $var4 = null;
    $var5 = null;
    $var6 = 0;
    while ($var6 < $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting)) {
        $var7 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var6);
        if ($var7 !== null) {
            if (!$var3)
                $var4 = $var7;
            if ($var3 == 1)
                $var5 = $var7;
            $var3 = $var3 + 1 | 0;
        }
        $var6 = $var6 + 1 | 0;
    }
    if ($var3 == 2 && $var4.$itemID0 == $var5.$itemID0 && $var4.$stackSize == 1 && $var5.$stackSize == 1) {
        nms_Item_$callClinit();
        if (nms_Item_isDamageable(nms_Item_itemsList.data[$var4.$itemID0])) {
            $var11 = nms_Item_itemsList.data[$var4.$itemID0];
            $var9 = (($var11.$maxDamage - $var4.$itemDamage | 0) + ($var11.$maxDamage - $var5.$itemDamage | 0) | 0) + (($var11.$maxDamage * 5 | 0) / 100 | 0) | 0;
            $var10 = $var11.$maxDamage - $var9 | 0;
            if ($var10 < 0)
                $var10 = 0;
            return nms_ItemStack__init_0($var4.$itemID0, 1, $var10);
        }
    }
    $var3 = 0;
    while ($var3 < $this.$recipes.$size) {
        $var12 = ju_ArrayList_get($this.$recipes, $var3);
        if ($var12.$matches3($par1InventoryCrafting, $par2World))
            return $var12.$getCraftingResult($par1InventoryCrafting);
        $var3 = $var3 + 1 | 0;
    }
    return null;
}
$java.nms_CraftingManager__clinit_ = function() {
    $java.nms_CraftingManager_instance = $java.nms_CraftingManager__init_();
};
function jl_ArrayIndexOutOfBoundsException() {
    jl_IndexOutOfBoundsException.call(this);
}
$java.jl_ArrayIndexOutOfBoundsException__init_ = function() {
    var var_0 = new jl_ArrayIndexOutOfBoundsException();
    jl_ArrayIndexOutOfBoundsException__init_(var_0);
    return var_0;
};
function jl_ArrayIndexOutOfBoundsException__init_($this) {
    jl_Throwable__init_0($this);
}
function jsm_SysexMessage() {
    jsm_MidiMessage.call(this);
}
$java.jsm_SysexMessage__init_ = function() {
    var var_0 = new jsm_SysexMessage();
    jsm_SysexMessage__init_(var_0);
    return var_0;
};
function jsm_SysexMessage__init_(var$0) {
    $java.jsm_MidiMessage__init_0(var$0, $rt_createByteArray(2));
    var$0.$data15.data[0] = (-16);
    var$0.$data15.data[1] = (-9);
}
$java.jsm_SysexMessage_setMessage = function(var$0, var$1, var$2, var$3) {
    var var$4, var$5;
    if (var$1 != 240 && var$1 != 247) {
        var$4 = new jsm_InvalidMidiDataException;
        var$5 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$5);
        jl_AbstractStringBuilder_append(var$5, $rt_s(3345));
        jl_AbstractStringBuilder_append(var$5, jl_Integer_toHexString(var$1));
        jl_Throwable__init_(var$4, jl_AbstractStringBuilder_toString(var$5));
        $rt_throw(var$4);
    }
    if (var$3 >= 0 && var$3 <= var$2.data.length) {
        var$0.$length9 = var$3 + 1 | 0;
        if (!(var$0.$data15 !== null && var$0.$data15.data.length >= var$0.$length9))
            var$0.$data15 = $rt_createByteArray(var$0.$length9);
        var$0.$data15.data[0] = (var$1 & 255) << 24 >> 24;
        if (var$3 > 0)
            jl_System_arraycopy(var$2, 0, var$0.$data15, 1, var$3);
        return;
    }
    var$5 = new jl_IndexOutOfBoundsException;
    var$4 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$4);
    jl_AbstractStringBuilder_append(var$4, $rt_s(3089));
    jl_AbstractStringBuilder_append2(var$4, var$3);
    jl_Throwable__init_(var$5, jl_AbstractStringBuilder_toString(var$4));
    $rt_throw(var$5);
};
function csms_FastShortMessage() {
    jsm_ShortMessage.call(this);
    this.$packedMsg = 0;
}
$java.csms_FastShortMessage__init_ = function(var_0) {
    var var_1 = new csms_FastShortMessage();
    $java.csms_FastShortMessage__init_0(var_1, var_0);
    return var_1;
};
$java.csms_FastShortMessage__init_0 = function(var$0, var$1) {
    jsm_ShortMessage__init_(var$0);
    var$0.$packedMsg = var$1;
    $java.jsm_ShortMessage_getDataLength(var$0, var$1 & 255);
};
$java.csms_FastShortMessage_getMessage = function(var$0) {
    var var$1, var$2, var$3, var$4, $$je;
    var$1 = 0;
    a: {
        try {
            var$2 = $java.jsm_ShortMessage_getDataLength(var$0, var$0.$packedMsg & 255) + 1 | 0;
            var$1 = var$2;
            break a;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jsm_InvalidMidiDataException) {
            } else {
                throw $$e;
            }
        }
        var$2 = var$1;
    }
    var$3 = $rt_createByteArray(var$2);
    if (var$2 > 0) {
        var$4 = var$3.data;
        var$4[0] = (var$0.$packedMsg & 255) << 24 >> 24;
        if (var$2 > 1) {
            var$4[1] = (var$0.$packedMsg & 65280) >> 8 << 24 >> 24;
            if (var$2 > 2)
                var$4[2] = (var$0.$packedMsg & 16711680) >> 16 << 24 >> 24;
        }
    }
    return var$3;
};
$java.csms_FastShortMessage_getLength = function(var$0) {
    var var$1, $$je;
    a: {
        try {
            var$1 = $java.jsm_ShortMessage_getDataLength(var$0, var$0.$packedMsg & 255) + 1 | 0;
        } catch ($$e) {
            $$je = $rt_wrapException($$e);
            if ($$je instanceof jsm_InvalidMidiDataException) {
                break a;
            } else {
                throw $$e;
            }
        }
        return var$1;
    }
    return 0;
};
$java.csms_FastShortMessage_getChannel = function(var$0) {
    return var$0.$packedMsg & 15;
};
$java.csms_FastShortMessage_getCommand = function(var$0) {
    return var$0.$packedMsg & 240;
};
$java.csms_FastShortMessage_getData1 = function(var$0) {
    return (var$0.$packedMsg & 65280) >> 8;
};
$java.csms_FastShortMessage_getData2 = function(var$0) {
    return (var$0.$packedMsg & 16711680) >> 16;
};
$java.csms_FastShortMessage_getStatus = function(var$0) {
    return var$0.$packedMsg & 255;
};
function nms_ChunkProviderClient() {
    var a = this; jl_Object.call(a);
    a.$blankChunk = null;
    a.$chunkMapping = null;
    a.$chunkListing = null;
    a.$worldObj3 = null;
}
$java.nms_ChunkProviderClient_chunkExists = function($this, $par1, $par2) {
    return 1;
};
function nms_ChunkProviderClient_unloadChunk($this, $par1, $par2) {
    var $var3;
    $var3 = nms_ChunkProviderClient_provideChunk($this, $par1, $par2);
    if (!$var3.$isEmpty())
        $var3.$onChunkUnload();
    $java.nms_LongHashMap_remove($this.$chunkMapping, $java.nms_ChunkCoordIntPair_chunkXZ2Int($par1, $par2));
    ju_ArrayList_remove0($this.$chunkListing, $var3);
}
function nms_ChunkProviderClient_loadChunk($this, $par1, $par2) {
    var $var3;
    $var3 = $java.nms_Chunk__init_($this.$worldObj3, $par1, $par2);
    $java.nms_LongHashMap_add($this.$chunkMapping, $java.nms_ChunkCoordIntPair_chunkXZ2Int($par1, $par2), $var3);
    $var3.$isChunkLoaded = 1;
    return $var3;
}
function nms_ChunkProviderClient_provideChunk($this, $par1, $par2) {
    var $var3;
    $var3 = $java.nms_LongHashMap_getValueByKey($this.$chunkMapping, $java.nms_ChunkCoordIntPair_chunkXZ2Int($par1, $par2));
    if ($var3 === null)
        $var3 = $this.$blankChunk;
    return $var3;
}
$java.nms_ChunkProviderClient_unloadQueuedChunks = function($this) {
    return 0;
};
function nms_ChunkProviderClient_makeString($this) {
    var var$1;
    var$1 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$1);
    jl_AbstractStringBuilder_append(var$1, $rt_s(3346));
    jl_AbstractStringBuilder_append2(var$1, $this.$chunkMapping.$numHashElements);
    return jl_AbstractStringBuilder_toString(var$1);
}
function jt_AttributedString() {
    var a = this; jl_Object.call(a);
    a.$text = null;
    a.$attributeMap = null;
}
function jt_AttributedString_getIterator($this) {
    var var$1;
    var$1 = new jt_AttributedString$AttributedIterator;
    var$1.$attrString = $this;
    var$1.$begin = 0;
    var$1.$end5 = jl_String_length($this.$text);
    var$1.$offset0 = 0;
    return var$1;
}
function nms_LongHashMap() {
    var a = this; jl_Object.call(a);
    a.$hashArray = null;
    a.$numHashElements = 0;
    a.$capacity0 = 0;
    a.$percentUseable = 0.75;
    a.$modCount6 = 0;
}
function nms_LongHashMap__init_0() {
    var var_0 = new nms_LongHashMap();
    nms_LongHashMap__init_(var_0);
    return var_0;
}
function nms_LongHashMap__init_($this) {
    $this.$hashArray = $rt_createArray(nms_LongHashMapEntry, 16);
    $this.$capacity0 = 12;
    $this.$percentUseable = 0.75;
}
$java.nms_LongHashMap_getHashedKey = function($par0) {
    var var$2;
    var$2 = Long_xor($par0, Long_shru($par0, 32)).lo;
    var$2 = var$2 ^ var$2 >>> 20 ^ var$2 >>> 12;
    return var$2 ^ var$2 >>> 7 ^ var$2 >>> 4;
};
$java.nms_LongHashMap_getHashIndex = function($par0, $par1) {
    return $par0 & ($par1 - 1 | 0);
};
$java.nms_LongHashMap_getNumHashElements = function($this) {
    return $this.$numHashElements;
};
$java.nms_LongHashMap_getValueByKey = function($this, $par1) {
    var $var3, $var4;
    $var3 = $java.nms_LongHashMap_getHashedKey($par1);
    $var4 = $this.$hashArray.data[$java.nms_LongHashMap_getHashIndex($var3, $this.$hashArray.data.length)];
    while ($var4 !== null) {
        if (Long_eq($var4.$key4, $par1))
            return $var4.$value18;
        $var4 = $var4.$nextEntry1;
    }
    return null;
};
$java.nms_LongHashMap_add = function($this, $par1, $par3Obj) {
    var $var4, $var5, $var6, var$6, var$7, var$8, var$9, var$10, var$11, var$12, var$13;
    $var4 = $java.nms_LongHashMap_getHashedKey($par1);
    $var5 = $java.nms_LongHashMap_getHashIndex($var4, $this.$hashArray.data.length);
    $var6 = $this.$hashArray.data[$var5];
    while (true) {
        if ($var6 === null) {
            $this.$modCount6 = $this.$modCount6 + 1 | 0;
            var$6 = $this.$hashArray.data[$var5];
            var$7 = $this.$hashArray.data;
            $var6 = new nms_LongHashMapEntry;
            $var6.$value18 = $par3Obj;
            $var6.$nextEntry1 = var$6;
            $var6.$key4 = $par1;
            $var6.$hash1 = $var4;
            var$7[$var5] = $var6;
            var$8 = $this.$numHashElements;
            $this.$numHashElements = var$8 + 1 | 0;
            if (var$8 >= $this.$capacity0) {
                var$8 = 2 * $this.$hashArray.data.length | 0;
                if ($this.$hashArray.data.length == 1073741824)
                    $this.$capacity0 = 2147483647;
                else {
                    var$7 = $rt_createArray(nms_LongHashMapEntry, var$8);
                    var$9 = var$7.data;
                    var$10 = $this.$hashArray;
                    $var4 = var$9.length;
                    $var5 = 0;
                    while (true) {
                        var$11 = var$10.data;
                        if ($var5 >= var$11.length)
                            break;
                        a: {
                            $var6 = var$11[$var5];
                            if ($var6 !== null) {
                                var$11[$var5] = null;
                                while (true) {
                                    $par3Obj = $var6.$nextEntry1;
                                    var$12 = $java.nms_LongHashMap_getHashIndex($var6.$hash1, $var4);
                                    $var6.$nextEntry1 = var$9[var$12];
                                    var$9[var$12] = $var6;
                                    if ($par3Obj === null)
                                        break a;
                                    $var6 = $par3Obj;
                                }
                            }
                        }
                        $var5 = $var5 + 1 | 0;
                    }
                    $this.$hashArray = var$7;
                    var$13 = var$8;
                    jl_Object_getClass($this);
                    $this.$capacity0 = var$13 * 0.75 | 0;
                }
            }
            return;
        }
        if (Long_eq($var6.$key4, $par1))
            break;
        $var6 = $var6.$nextEntry1;
    }
    $var6.$value18 = $par3Obj;
};
$java.nms_LongHashMap_remove = function($this, $par1) {
    var $var3;
    $var3 = $java.nms_LongHashMap_removeKey($this, $par1);
    return $var3 !== null ? $var3.$value18 : null;
};
$java.nms_LongHashMap_removeKey = function($this, $par1) {
    var $var4, $var6, var$4, $var6_0;
    $var4 = $java.nms_LongHashMap_getHashIndex($java.nms_LongHashMap_getHashedKey($par1), $this.$hashArray.data.length);
    $var6 = $this.$hashArray.data[$var4];
    var$4 = $var6;
    while ($var6 !== null) {
        $var6_0 = $var6.$nextEntry1;
        if (Long_eq($var6.$key4, $par1)) {
            $this.$modCount6 = $this.$modCount6 + 1 | 0;
            $this.$numHashElements = $this.$numHashElements - 1 | 0;
            if (var$4 !== $var6)
                var$4.$nextEntry1 = $var6_0;
            else
                $this.$hashArray.data[$var4] = $var6_0;
            return $var6;
        }
        var$4 = $var6;
        $var6 = $var6_0;
    }
    return $var6;
};
function nms_EmptyChunk() {
    nms_Chunk.call(this);
}
$java.nms_EmptyChunk_generateHeightMap = function($this) {
    return;
};
$java.nms_EmptyChunk_generateSkylightMap = function($this) {
    return;
};
$java.nms_EmptyChunk_getBlockID = function($this, $par1, $par2, $par3) {
    return 0;
};
$java.nms_EmptyChunk_getBlockLightOpacity = function($this, $par1, $par2, $par3) {
    return 255;
};
$java.nms_EmptyChunk_setBlockIDWithMetadata = function($this, $par1, $par2, $par3, $par4, $par5) {
    return 1;
};
$java.nms_EmptyChunk_getBlockMetadata = function($this, $par1, $par2, $par3) {
    return 0;
};
$java.nms_EmptyChunk_setBlockMetadata = function($this, $par1, $par2, $par3, $par4) {
    return 0;
};
$java.nms_EmptyChunk_getSavedLightValue = function($this, $par1EnumSkyBlock, $par2, $par3, $par4) {
    return 0;
};
$java.nms_EmptyChunk_setLightValue = function($this, $par1EnumSkyBlock, $par2, $par3, $par4, $par5) {
    return;
};
$java.nms_EmptyChunk_getBlockLightValue = function($this, $par1, $par2, $par3, $par4) {
    return 0;
};
$java.nms_EmptyChunk_addEntity = function($this, $par1Entity) {
    return;
};
$java.nms_EmptyChunk_removeEntity = function($this, $par1Entity) {
    return;
};
$java.nms_EmptyChunk_removeEntityAtIndex = function($this, $par1Entity, $par2) {
    return;
};
$java.nms_EmptyChunk_canBlockSeeTheSky = function($this, $par1, $par2, $par3) {
    return 0;
};
$java.nms_EmptyChunk_getChunkBlockTileEntity = function($this, $par1, $par2, $par3) {
    return null;
};
$java.nms_EmptyChunk_setChunkBlockTileEntity = function($this, $par1, $par2, $par3, $par4TileEntity) {
    return;
};
$java.nms_EmptyChunk_removeChunkBlockTileEntity = function($this, $par1, $par2, $par3) {
    return;
};
$java.nms_EmptyChunk_onChunkUnload = function($this) {
    return;
};
$java.nms_EmptyChunk_setChunkModified = function($this) {
    return;
};
$java.nms_EmptyChunk_getEntitiesWithinAABBForEntity = function($this, $par1Entity, $par2AxisAlignedBB, $par3List, $par4IEntitySelector) {
    return;
};
$java.nms_EmptyChunk_getEntitiesOfTypeWithinAAAB = function($this, $par1Class, $par2AxisAlignedBB, $par3List, $par4IEntitySelector) {
    return;
};
$java.nms_EmptyChunk_isEmpty = function($this) {
    return 1;
};
$java.nms_EmptyChunk_getAreLevelsEmpty = function($this, $par1, $par2) {
    return 1;
};
function nms_LongHashMapEntry() {
    var a = this; jl_Object.call(a);
    a.$key4 = Long_ZERO;
    a.$value18 = null;
    a.$nextEntry1 = null;
    a.$hash1 = 0;
}
function nms_RecipesTools() {
    var a = this; jl_Object.call(a);
    a.$recipePatterns = null;
    a.$recipeItems0 = null;
}
$java.nms_RecipesTools__init_ = function() {
    var var_0 = new nms_RecipesTools();
    nms_RecipesTools__init_(var_0);
    return var_0;
};
function nms_RecipesTools__init_($this) {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createArray($rt_arraycls(jl_String), 4);
    var$2 = var$1.data;
    var$3 = $rt_createArray(jl_String, 3);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3309);
    var$4[1] = $rt_s(3317);
    var$4[2] = $rt_s(3317);
    var$2[0] = var$3;
    var$3 = $rt_createArray(jl_String, 3);
    var$4 = var$3.data;
    var$4[0] = $rt_s(121);
    var$4[1] = $rt_s(307);
    var$4[2] = $rt_s(307);
    var$2[1] = var$3;
    var$3 = $rt_createArray(jl_String, 3);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3347);
    var$4[1] = $rt_s(3348);
    var$4[2] = $rt_s(1909);
    var$2[2] = var$3;
    var$3 = $rt_createArray(jl_String, 3);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3347);
    var$4[1] = $rt_s(1909);
    var$4[2] = $rt_s(1909);
    var$2[3] = var$3;
    $this.$recipePatterns = var$1;
    var$1 = $rt_createArray($rt_arraycls(jl_Object), 5);
    var$2 = var$1.data;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    nms_Block_$callClinit();
    var$4[0] = nms_Block_planks;
    var$4[1] = nms_Block_cobblestone;
    nms_Item_$callClinit();
    var$4[2] = nms_Item_ingotIron;
    var$4[3] = nms_Item_diamond;
    var$4[4] = nms_Item_ingotGold;
    var$2[0] = var$3;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = nms_Item_pickaxeWood;
    var$4[1] = nms_Item_pickaxeStone;
    var$4[2] = nms_Item_pickaxeIron;
    var$4[3] = nms_Item_pickaxeDiamond;
    var$4[4] = nms_Item_pickaxeGold;
    var$2[1] = var$3;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = nms_Item_shovelWood;
    var$4[1] = nms_Item_shovelStone;
    var$4[2] = nms_Item_shovelIron;
    var$4[3] = nms_Item_shovelDiamond;
    var$4[4] = nms_Item_shovelGold;
    var$2[2] = var$3;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = nms_Item_axeWood;
    var$4[1] = nms_Item_axeStone;
    var$4[2] = nms_Item_axeIron;
    var$4[3] = nms_Item_axeDiamond;
    var$4[4] = nms_Item_axeGold;
    var$2[3] = var$3;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = nms_Item_hoeWood;
    var$4[1] = nms_Item_hoeStone;
    var$4[2] = nms_Item_hoeIron;
    var$4[3] = nms_Item_hoeDiamond;
    var$4[4] = nms_Item_hoeGold;
    var$2[4] = var$3;
    $this.$recipeItems0 = var$1;
}
$java.nms_RecipesTools_addRecipes = function($this, $par1CraftingManager) {
    var $var2, $var3, $var4, var$5, $var4_0, $var5, var$8, var$9, var$10;
    $var2 = 0;
    while ($var2 < $this.$recipeItems0.data[0].data.length) {
        $var3 = $this.$recipeItems0.data[0].data[$var2];
        $var4 = 0;
        while ($var4 < ($this.$recipeItems0.data.length - 1 | 0)) {
            var$5 = $this.$recipeItems0.data;
            $var4_0 = $var4 + 1 | 0;
            $var5 = var$5[$var4_0].data[$var2];
            var$8 = nms_ItemStack__init_5($var5);
            var$5 = $rt_createArray(jl_Object, 5);
            var$9 = var$5.data;
            var$9[0] = $this.$recipePatterns.data[$var4];
            var$9[1] = jl_Character_valueOf(35);
            nms_Item_$callClinit();
            var$9[2] = nms_Item_stick;
            var$9[3] = jl_Character_valueOf(88);
            var$9[4] = $var3;
            $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$8, var$5);
            $var4 = $var4_0;
        }
        $var2 = $var2 + 1 | 0;
    }
    var$8 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_7(var$8, nms_Item_shears);
    var$5 = $rt_createArray(jl_Object, 4);
    var$10 = var$5.data;
    var$10[0] = $rt_s(1909);
    var$10[1] = $rt_s(3329);
    var$10[2] = jl_Character_valueOf(35);
    var$10[3] = nms_Item_ingotIron;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$8, var$5);
};
function nms_RecipesWeapons() {
    var a = this; jl_Object.call(a);
    a.$recipePatterns0 = null;
    a.$recipeItems1 = null;
}
$java.nms_RecipesWeapons__init_ = function() {
    var var_0 = new nms_RecipesWeapons();
    nms_RecipesWeapons__init_(var_0);
    return var_0;
};
function nms_RecipesWeapons__init_($this) {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createArray($rt_arraycls(jl_String), 1);
    var$2 = var$1.data;
    var$3 = $rt_createArray(jl_String, 3);
    var$4 = var$3.data;
    var$4[0] = $rt_s(121);
    var$4[1] = $rt_s(121);
    var$4[2] = $rt_s(307);
    var$2[0] = var$3;
    $this.$recipePatterns0 = var$1;
    var$1 = $rt_createArray($rt_arraycls(jl_Object), 2);
    var$2 = var$1.data;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    nms_Block_$callClinit();
    var$4[0] = nms_Block_planks;
    var$4[1] = nms_Block_cobblestone;
    nms_Item_$callClinit();
    var$4[2] = nms_Item_ingotIron;
    var$4[3] = nms_Item_diamond;
    var$4[4] = nms_Item_ingotGold;
    var$2[0] = var$3;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = nms_Item_swordWood;
    var$4[1] = nms_Item_swordStone;
    var$4[2] = nms_Item_swordIron;
    var$4[3] = nms_Item_swordDiamond;
    var$4[4] = nms_Item_swordGold;
    var$2[1] = var$3;
    $this.$recipeItems1 = var$1;
}
$java.nms_RecipesWeapons_addRecipes = function($this, $par1CraftingManager) {
    var $var2, $var3, $var4, var$5, $var4_0, $var5, var$8, var$9, var$10;
    $var2 = 0;
    while ($var2 < $this.$recipeItems1.data[0].data.length) {
        $var3 = $this.$recipeItems1.data[0].data[$var2];
        $var4 = 0;
        while ($var4 < ($this.$recipeItems1.data.length - 1 | 0)) {
            var$5 = $this.$recipeItems1.data;
            $var4_0 = $var4 + 1 | 0;
            $var5 = var$5[$var4_0].data[$var2];
            var$8 = nms_ItemStack__init_5($var5);
            var$9 = $rt_createArray(jl_Object, 5);
            var$10 = var$9.data;
            var$10[0] = $this.$recipePatterns0.data[$var4];
            var$10[1] = jl_Character_valueOf(35);
            nms_Item_$callClinit();
            var$10[2] = nms_Item_stick;
            var$10[3] = jl_Character_valueOf(88);
            var$10[4] = $var3;
            $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$8, var$9);
            $var4 = $var4_0;
        }
        $var2 = $var2 + 1 | 0;
    }
    $var5 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_1($var5, nms_Item_bow, 1);
    var$5 = $rt_createArray(jl_Object, 7);
    var$10 = var$5.data;
    var$10[0] = $rt_s(3327);
    var$10[1] = $rt_s(3328);
    var$10[2] = $rt_s(3327);
    var$10[3] = jl_Character_valueOf(88);
    var$10[4] = nms_Item_silk;
    var$10[5] = jl_Character_valueOf(35);
    var$10[6] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, $var5, var$5);
    $var3 = nms_ItemStack__init_8(nms_Item_arrow, 4);
    var$5 = $rt_createArray(jl_Object, 9);
    var$10 = var$5.data;
    var$10[0] = $rt_s(121);
    var$10[1] = $rt_s(307);
    var$10[2] = $rt_s(97);
    var$10[3] = jl_Character_valueOf(89);
    var$10[4] = nms_Item_feather;
    var$10[5] = jl_Character_valueOf(88);
    var$10[6] = nms_Item_flint;
    var$10[7] = jl_Character_valueOf(35);
    var$10[8] = nms_Item_stick;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, $var3, var$5);
};
function nms_RecipesIngots() {
    jl_Object.call(this);
    this.$recipeItems2 = null;
}
$java.nms_RecipesIngots__init_ = function() {
    var var_0 = new nms_RecipesIngots();
    nms_RecipesIngots__init_(var_0);
    return var_0;
};
function nms_RecipesIngots__init_($this) {
    var var$1, var$2, var$3, var$4, var$5;
    var$1 = $rt_createArray($rt_arraycls(jl_Object), 6);
    var$2 = var$1.data;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    nms_Block_$callClinit();
    var$4[0] = nms_Block_blockGold;
    var$5 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_1(var$5, nms_Item_ingotGold, 9);
    var$4[1] = var$5;
    var$2[0] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = nms_Block_blockIron;
    var$4[1] = nms_ItemStack__init_8(nms_Item_ingotIron, 9);
    var$2[1] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = nms_Block_blockDiamond;
    var$4[1] = nms_ItemStack__init_8(nms_Item_diamond, 9);
    var$2[2] = var$3;
    var$4 = $rt_createArray(jl_Object, 2);
    var$3 = var$4.data;
    var$3[0] = nms_Block_blockEmerald;
    var$3[1] = nms_ItemStack__init_8(nms_Item_emerald, 9);
    var$2[3] = var$4;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = nms_Block_blockLapis;
    var$4[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 9, 4);
    var$2[4] = var$3;
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = nms_Block_blockRedstone;
    var$4[1] = nms_ItemStack__init_8(nms_Item_redstone, 9);
    var$2[5] = var$3;
    $this.$recipeItems2 = var$1;
}
$java.nms_RecipesIngots_addRecipes = function($this, $par1CraftingManager) {
    var $var2, $var3, $var4, var$5, var$6, var$7;
    $var2 = 0;
    while ($var2 < $this.$recipeItems2.data.length) {
        $var3 = $this.$recipeItems2.data[$var2].data[0];
        $var4 = $this.$recipeItems2.data[$var2].data[1];
        var$5 = nms_ItemStack__init_2($var3);
        var$6 = $rt_createArray(jl_Object, 5);
        var$7 = var$6.data;
        var$7[0] = $rt_s(3306);
        var$7[1] = $rt_s(3306);
        var$7[2] = $rt_s(3306);
        var$7[3] = jl_Character_valueOf(35);
        var$7[4] = $var4;
        $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$5, var$6);
        var$7 = $rt_createArray(jl_Object, 3);
        var$6 = var$7.data;
        var$6[0] = $rt_s(307);
        var$6[1] = jl_Character_valueOf(35);
        var$6[2] = $var3;
        $java.nms_CraftingManager_addRecipe($par1CraftingManager, $var4, var$7);
        $var2 = $var2 + 1 | 0;
    }
    $var3 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_7($var3, nms_Item_ingotGold);
    var$6 = $rt_createArray(jl_Object, 5);
    var$7 = var$6.data;
    var$7[0] = $rt_s(3306);
    var$7[1] = $rt_s(3306);
    var$7[2] = $rt_s(3306);
    var$7[3] = jl_Character_valueOf(35);
    var$7[4] = nms_Item_goldNugget;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, $var3, var$6);
    var$5 = nms_ItemStack__init_8(nms_Item_goldNugget, 9);
    var$6 = $rt_createArray(jl_Object, 3);
    var$7 = var$6.data;
    var$7[0] = $rt_s(307);
    var$7[1] = jl_Character_valueOf(35);
    var$7[2] = nms_Item_ingotGold;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$5, var$6);
};
function nms_RecipesFood() {
    jl_Object.call(this);
}
$java.nms_RecipesFood__init_ = function() {
    var var_0 = new nms_RecipesFood();
    nms_RecipesFood__init_(var_0);
    return var_0;
};
function nms_RecipesFood__init_($this) {
    return;
}
$java.nms_RecipesFood_addRecipes = function($this, $par1CraftingManager) {
    var var$2, var$3, var$4, var$5;
    var$2 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_7(var$2, nms_Item_bowlSoup);
    var$3 = $rt_createArray(jl_Object, 3);
    var$4 = var$3.data;
    nms_Block_$callClinit();
    var$4[0] = nms_Block_mushroomBrown;
    var$4[1] = nms_Block_mushroomRed;
    var$4[2] = nms_Item_bowlEmpty;
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$2, var$3);
    var$5 = nms_ItemStack__init_8(nms_Item_cookie, 8);
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3308);
    var$4[1] = jl_Character_valueOf(88);
    var$4[2] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 3);
    var$4[3] = jl_Character_valueOf(35);
    var$4[4] = nms_Item_wheat;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$5, var$3);
    var$2 = nms_ItemStack__init_2(nms_Block_melon);
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3349);
    var$4[1] = $rt_s(3349);
    var$4[2] = $rt_s(3349);
    var$4[3] = jl_Character_valueOf(77);
    var$4[4] = nms_Item_melon;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_5(nms_Item_melonSeeds);
    var$3 = $rt_createArray(jl_Object, 3);
    var$4 = var$3.data;
    var$4[0] = $rt_s(126);
    var$4[1] = jl_Character_valueOf(77);
    var$4[2] = nms_Item_melon;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_8(nms_Item_pumpkinSeeds, 4);
    var$3 = $rt_createArray(jl_Object, 3);
    var$4 = var$3.data;
    var$4[0] = $rt_s(126);
    var$4[1] = jl_Character_valueOf(77);
    var$4[2] = nms_Block_pumpkin;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_5(nms_Item_pumpkinPie);
    var$3 = $rt_createArray(jl_Object, 3);
    var$4 = var$3.data;
    var$4[0] = nms_Block_pumpkin;
    var$4[1] = nms_Item_sugar;
    var$4[2] = nms_Item_egg;
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_5(nms_Item_fermentedSpiderEye);
    var$3 = $rt_createArray(jl_Object, 3);
    var$4 = var$3.data;
    var$4[0] = nms_Item_spiderEye;
    var$4[1] = nms_Block_mushroomBrown;
    var$4[2] = nms_Item_sugar;
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_5(nms_Item_speckledMelon);
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = nms_Item_melon;
    var$4[1] = nms_Item_goldNugget;
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_8(nms_Item_blazePowder, 2);
    var$3 = $rt_createArray(jl_Object, 1);
    var$3.data[0] = nms_Item_blazeRod;
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_5(nms_Item_magmaCream);
    var$3 = $rt_createArray(jl_Object, 2);
    var$4 = var$3.data;
    var$4[0] = nms_Item_blazePowder;
    var$4[1] = nms_Item_slimeBall;
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$2, var$3);
};
function nms_RecipesCrafting() {
    jl_Object.call(this);
}
$java.nms_RecipesCrafting__init_ = function() {
    var var_0 = new nms_RecipesCrafting();
    nms_RecipesCrafting__init_(var_0);
    return var_0;
};
function nms_RecipesCrafting__init_($this) {
    return;
}
$java.nms_RecipesCrafting_addRecipes = function($this, $par1CraftingManager) {
    var var$2, var$3, var$4, var$5;
    var$2 = new nms_ItemStack;
    nms_Block_$callClinit();
    nms_ItemStack__init_11(var$2, nms_Block_chest);
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3306);
    var$4[1] = $rt_s(3312);
    var$4[2] = $rt_s(3306);
    var$4[3] = jl_Character_valueOf(35);
    var$4[4] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_2(nms_Block_chestTrapped);
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3350);
    var$4[1] = jl_Character_valueOf(35);
    var$4[2] = nms_Block_chest;
    var$4[3] = jl_Character_valueOf(45);
    var$4[4] = nms_Block_tripWireSource;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_2(nms_Block_enderChest);
    var$3 = $rt_createArray(jl_Object, 7);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3306);
    var$4[1] = $rt_s(3351);
    var$4[2] = $rt_s(3306);
    var$4[3] = jl_Character_valueOf(35);
    var$4[4] = nms_Block_obsidian;
    var$4[5] = jl_Character_valueOf(69);
    nms_Item_$callClinit();
    var$4[6] = nms_Item_eyeOfEnder;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_2(nms_Block_furnaceIdle);
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3306);
    var$4[1] = $rt_s(3312);
    var$4[2] = $rt_s(3306);
    var$4[3] = jl_Character_valueOf(35);
    var$4[4] = nms_Block_cobblestone;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_2(nms_Block_workbench);
    var$3 = $rt_createArray(jl_Object, 4);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3310);
    var$4[1] = $rt_s(3310);
    var$4[2] = jl_Character_valueOf(35);
    var$4[3] = nms_Block_planks;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_2(nms_Block_sandStone);
    var$3 = $rt_createArray(jl_Object, 4);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3310);
    var$4[1] = $rt_s(3310);
    var$4[2] = jl_Character_valueOf(35);
    var$4[3] = nms_Block_sand;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_12(nms_Block_sandStone, 4, 2);
    var$3 = $rt_createArray(jl_Object, 4);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3310);
    var$4[1] = $rt_s(3310);
    var$4[2] = jl_Character_valueOf(35);
    var$4[3] = nms_Block_sandStone;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$5 = nms_ItemStack__init_12(nms_Block_sandStone, 1, 1);
    var$3 = $rt_createArray(jl_Object, 4);
    var$4 = var$3.data;
    var$4[0] = $rt_s(307);
    var$4[1] = $rt_s(307);
    var$4[2] = jl_Character_valueOf(35);
    var$4[3] = nms_ItemStack__init_12(nms_Block_stoneSingleSlab, 1, 1);
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$5, var$3);
    var$2 = nms_ItemStack__init_12(nms_Block_blockNetherQuartz, 1, 1);
    var$3 = $rt_createArray(jl_Object, 4);
    var$4 = var$3.data;
    var$4[0] = $rt_s(307);
    var$4[1] = $rt_s(307);
    var$4[2] = jl_Character_valueOf(35);
    var$4[3] = nms_ItemStack__init_12(nms_Block_stoneSingleSlab, 1, 7);
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_12(nms_Block_blockNetherQuartz, 2, 2);
    var$3 = $rt_createArray(jl_Object, 4);
    var$4 = var$3.data;
    var$4[0] = $rt_s(307);
    var$4[1] = $rt_s(307);
    var$4[2] = jl_Character_valueOf(35);
    var$4[3] = nms_ItemStack__init_12(nms_Block_blockNetherQuartz, 1, 0);
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_9(nms_Block_stoneBrick, 4);
    var$3 = $rt_createArray(jl_Object, 4);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3310);
    var$4[1] = $rt_s(3310);
    var$4[2] = jl_Character_valueOf(35);
    var$4[3] = nms_Block_stone;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_9(nms_Block_fenceIron, 16);
    var$3 = $rt_createArray(jl_Object, 4);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3306);
    var$4[1] = $rt_s(3306);
    var$4[2] = jl_Character_valueOf(35);
    var$4[3] = nms_Item_ingotIron;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_9(nms_Block_thinGlass, 16);
    var$3 = $rt_createArray(jl_Object, 4);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3306);
    var$4[1] = $rt_s(3306);
    var$4[2] = jl_Character_valueOf(35);
    var$4[3] = nms_Block_glass;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_9(nms_Block_redstoneLampIdle, 1);
    var$3 = $rt_createArray(jl_Object, 7);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3352);
    var$4[1] = $rt_s(3353);
    var$4[2] = $rt_s(3352);
    var$4[3] = jl_Character_valueOf(82);
    var$4[4] = nms_Item_redstone;
    var$4[5] = jl_Character_valueOf(71);
    var$4[6] = nms_Block_glowStone;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_9(nms_Block_beacon, 1);
    var$3 = $rt_createArray(jl_Object, 9);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3337);
    var$4[1] = $rt_s(3354);
    var$4[2] = $rt_s(3355);
    var$4[3] = jl_Character_valueOf(71);
    var$4[4] = nms_Block_glass;
    var$4[5] = jl_Character_valueOf(83);
    var$4[6] = nms_Item_netherStar;
    var$4[7] = jl_Character_valueOf(79);
    var$4[8] = nms_Block_obsidian;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
    var$2 = nms_ItemStack__init_9(nms_Block_netherBrick, 1);
    var$3 = $rt_createArray(jl_Object, 4);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3356);
    var$4[1] = $rt_s(3356);
    var$4[2] = jl_Character_valueOf(78);
    var$4[3] = nms_Item_netherrackBrick;
    $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$2, var$3);
};
function nms_RecipesArmor() {
    var a = this; jl_Object.call(a);
    a.$recipePatterns1 = null;
    a.$recipeItems3 = null;
}
$java.nms_RecipesArmor__init_ = function() {
    var var_0 = new nms_RecipesArmor();
    nms_RecipesArmor__init_(var_0);
    return var_0;
};
function nms_RecipesArmor__init_($this) {
    var var$1, var$2, var$3, var$4;
    var$1 = $rt_createArray($rt_arraycls(jl_String), 4);
    var$2 = var$1.data;
    var$3 = $rt_createArray(jl_String, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3309);
    var$4[1] = $rt_s(3318);
    var$2[0] = var$3;
    var$3 = $rt_createArray(jl_String, 3);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3318);
    var$4[1] = $rt_s(3309);
    var$4[2] = $rt_s(3309);
    var$2[1] = var$3;
    var$3 = $rt_createArray(jl_String, 3);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3309);
    var$4[1] = $rt_s(3318);
    var$4[2] = $rt_s(3318);
    var$2[2] = var$3;
    var$3 = $rt_createArray(jl_String, 2);
    var$4 = var$3.data;
    var$4[0] = $rt_s(3318);
    var$4[1] = $rt_s(3318);
    var$2[3] = var$3;
    $this.$recipePatterns1 = var$1;
    var$1 = $rt_createArray($rt_arraycls(jl_Object), 5);
    var$2 = var$1.data;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    nms_Item_$callClinit();
    var$4[0] = nms_Item_leather;
    nms_Block_$callClinit();
    var$4[1] = nms_Block_fire;
    var$4[2] = nms_Item_ingotIron;
    var$4[3] = nms_Item_diamond;
    var$4[4] = nms_Item_ingotGold;
    var$2[0] = var$3;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = nms_Item_helmetLeather;
    var$4[1] = nms_Item_helmetChain;
    var$4[2] = nms_Item_helmetIron;
    var$4[3] = nms_Item_helmetDiamond;
    var$4[4] = nms_Item_helmetGold;
    var$2[1] = var$3;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = nms_Item_plateLeather;
    var$4[1] = nms_Item_plateChain;
    var$4[2] = nms_Item_plateIron;
    var$4[3] = nms_Item_plateDiamond;
    var$4[4] = nms_Item_plateGold;
    var$2[2] = var$3;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = nms_Item_legsLeather;
    var$4[1] = nms_Item_legsChain;
    var$4[2] = nms_Item_legsIron;
    var$4[3] = nms_Item_legsDiamond;
    var$4[4] = nms_Item_legsGold;
    var$2[3] = var$3;
    var$3 = $rt_createArray(jl_Object, 5);
    var$4 = var$3.data;
    var$4[0] = nms_Item_bootsLeather;
    var$4[1] = nms_Item_bootsChain;
    var$4[2] = nms_Item_bootsIron;
    var$4[3] = nms_Item_bootsDiamond;
    var$4[4] = nms_Item_bootsGold;
    var$2[4] = var$3;
    $this.$recipeItems3 = var$1;
}
$java.nms_RecipesArmor_addRecipes = function($this, $par1CraftingManager) {
    var $var2, $var3, $var4, var$5, $var4_0, $var5, var$8, var$9;
    $var2 = 0;
    while ($var2 < $this.$recipeItems3.data[0].data.length) {
        $var3 = $this.$recipeItems3.data[0].data[$var2];
        $var4 = 0;
        while ($var4 < ($this.$recipeItems3.data.length - 1 | 0)) {
            var$5 = $this.$recipeItems3.data;
            $var4_0 = $var4 + 1 | 0;
            $var5 = var$5[$var4_0].data[$var2];
            var$8 = nms_ItemStack__init_5($var5);
            var$5 = $rt_createArray(jl_Object, 3);
            var$9 = var$5.data;
            var$9[0] = $this.$recipePatterns1.data[$var4];
            var$9[1] = jl_Character_valueOf(88);
            var$9[2] = $var3;
            $java.nms_CraftingManager_addRecipe($par1CraftingManager, var$8, var$5);
            $var4 = $var4_0;
        }
        $var2 = $var2 + 1 | 0;
    }
};
function nms_RecipesDyes() {
    jl_Object.call(this);
}
$java.nms_RecipesDyes__init_ = function() {
    var var_0 = new nms_RecipesDyes();
    nms_RecipesDyes__init_(var_0);
    return var_0;
};
function nms_RecipesDyes__init_($this) {
    return;
}
$java.nms_RecipesDyes_addRecipes = function($this, $par1CraftingManager) {
    var $var2, var$3, var$4, var$5, var$6;
    $var2 = 0;
    while ($var2 < 16) {
        var$3 = new nms_ItemStack;
        nms_Block_$callClinit();
        nms_ItemStack__init_13(var$3, nms_Block_cloth, 1, $java.nms_BlockCloth_getDyeFromBlock($var2));
        var$4 = $rt_createArray(jl_Object, 2);
        var$5 = var$4.data;
        var$6 = new nms_ItemStack;
        nms_Item_$callClinit();
        nms_ItemStack__init_3(var$6, nms_Item_dyePowder, 1, $var2);
        var$5[0] = var$6;
        var$5[1] = nms_ItemStack__init_4(nms_Item_itemsList.data[nms_Block_cloth.$blockID], 1, 0);
        $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
        $var2 = $var2 + 1 | 0;
    }
    var$6 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_3(var$6, nms_Item_dyePowder, 2, 11);
    var$4 = $rt_createArray(jl_Object, 1);
    var$5 = var$4.data;
    nms_Block_$callClinit();
    var$5[0] = nms_Block_plantYellow;
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$6, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 2, 1);
    var$4 = $rt_createArray(jl_Object, 1);
    var$4.data[0] = nms_Block_plantRed;
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 3, 15);
    var$4 = $rt_createArray(jl_Object, 1);
    var$4.data[0] = nms_Item_bone;
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$6 = nms_ItemStack__init_4(nms_Item_dyePowder, 2, 9);
    var$4 = $rt_createArray(jl_Object, 2);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 1);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 15);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$6, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 2, 14);
    var$4 = $rt_createArray(jl_Object, 2);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 1);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 11);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 2, 10);
    var$4 = $rt_createArray(jl_Object, 2);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 2);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 15);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 2, 8);
    var$4 = $rt_createArray(jl_Object, 2);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 0);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 15);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 2, 7);
    var$4 = $rt_createArray(jl_Object, 2);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 8);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 15);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 3, 7);
    var$4 = $rt_createArray(jl_Object, 3);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 0);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 15);
    var$5[2] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 15);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 2, 12);
    var$4 = $rt_createArray(jl_Object, 2);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 4);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 15);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 2, 6);
    var$4 = $rt_createArray(jl_Object, 2);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 4);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 2);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 2, 5);
    var$4 = $rt_createArray(jl_Object, 2);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 4);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 1);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 2, 13);
    var$4 = $rt_createArray(jl_Object, 2);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 5);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 9);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 3, 13);
    var$4 = $rt_createArray(jl_Object, 3);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 4);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 1);
    var$5[2] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 9);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
    var$3 = nms_ItemStack__init_4(nms_Item_dyePowder, 4, 13);
    var$4 = $rt_createArray(jl_Object, 4);
    var$5 = var$4.data;
    var$5[0] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 4);
    var$5[1] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 1);
    var$5[2] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 1);
    var$5[3] = nms_ItemStack__init_4(nms_Item_dyePowder, 1, 15);
    $java.nms_CraftingManager_addShapelessRecipe($par1CraftingManager, var$3, var$4);
};
function nms_IRecipe() {
}
function nms_RecipesArmorDyes() {
    jl_Object.call(this);
}
$java.nms_RecipesArmorDyes__init_ = function() {
    var var_0 = new nms_RecipesArmorDyes();
    nms_RecipesArmorDyes__init_(var_0);
    return var_0;
};
function nms_RecipesArmorDyes__init_($this) {
    return;
}
$java.nms_RecipesArmorDyes_matches = function($this, $par1InventoryCrafting, $par2World) {
    var $var3, $var4, $var5, $var6, var$7;
    $var3 = null;
    $var4 = ju_ArrayList__init_0();
    $var5 = 0;
    a: {
        while (true) {
            if ($var5 >= $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting))
                return $var3 !== null && !ju_AbstractCollection_isEmpty($var4) ? 1 : 0;
            $var6 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var5);
            if ($var6 !== null) {
                if (!(nms_ItemStack_getItem($var6) instanceof nms_ItemArmor)) {
                    var$7 = $var6.$itemID0;
                    nms_Item_$callClinit();
                    if (var$7 != nms_Item_dyePowder.$itemID)
                        break;
                    ju_ArrayList_add($var4, $var6);
                } else {
                    if (nms_ItemStack_getItem($var6).$material !== nms_EnumArmorMaterial_CLOTH)
                        break a;
                    if ($var3 !== null)
                        break a;
                    $var3 = $var6;
                }
            }
            $var5 = $var5 + 1 | 0;
        }
        return 0;
    }
    return 0;
};
$java.nms_RecipesArmorDyes_getCraftingResult = function($this, $par1InventoryCrafting) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var17, $var13, $var9, $var10, $var11, $var8, $var14, $var15, $var16, $var12;
    $var2 = null;
    $var3 = $rt_createIntArray(3).data;
    $var4 = 0;
    $var5 = 0;
    $var6 = null;
    $var7 = 0;
    while (true) {
        if ($var7 >= $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting)) {
            if ($var6 === null)
                return null;
            $var17 = $var3[0] / $var5 | 0;
            $var13 = $var3[1] / $var5 | 0;
            $var9 = $var3[2] / $var5 | 0;
            $var10 = $var4 / $var5;
            $var11 = jl_Math_max($var17, jl_Math_max($var13, $var9));
            $java.nms_ItemArmor_func_82813_b($var6, $var2, (((($var17 * $var10 / $var11 | 0) << 8) + ($var13 * $var10 / $var11 | 0) | 0) << 8) + ($var9 * $var10 / $var11 | 0) | 0);
            return $var2;
        }
        $var8 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var7);
        if ($var8 !== null) {
            if (!(nms_ItemStack_getItem($var8) instanceof nms_ItemArmor)) {
                $var17 = $var8.$itemID0;
                nms_Item_$callClinit();
                if ($var17 != nms_Item_dyePowder.$itemID)
                    return null;
                $var14 = nms_EntitySheep_fleeceColorTable.data[nms_BlockCloth_getBlockFromDye($var8.$itemDamage)].data;
                $var15 = $var14[0] * 255.0 | 0;
                $var16 = $var14[1] * 255.0 | 0;
                $var17 = $var14[2] * 255.0 | 0;
                $var4 = $var4 + jl_Math_max($var15, jl_Math_max($var16, $var17)) | 0;
                $var3[0] = $var3[0] + $var15 | 0;
                $var3[1] = $var3[1] + $var16 | 0;
                $var3[2] = $var3[2] + $var17 | 0;
                $var5 = $var5 + 1 | 0;
            } else {
                $var6 = nms_ItemStack_getItem($var8);
                if ($var6.$material !== nms_EnumArmorMaterial_CLOTH)
                    break;
                if ($var2 !== null)
                    break;
                $var2 = nms_ItemStack_copy($var8);
                $var2.$stackSize = 1;
                if ($java.nms_ItemArmor_hasColor($var6, $var8)) {
                    $var9 = nms_ItemArmor_getColor($var6, $var2);
                    $var10 = ($var9 >> 16 & 255) / 255.0;
                    $var11 = ($var9 >> 8 & 255) / 255.0;
                    $var12 = ($var9 & 255) / 255.0;
                    $var4 = $var4 + jl_Math_max0($var10, jl_Math_max0($var11, $var12)) * 255.0 | 0;
                    $var3[0] = $var3[0] + $var10 * 255.0 | 0;
                    $var3[1] = $var3[1] + $var11 * 255.0 | 0;
                    $var3[2] = $var3[2] + $var12 * 255.0 | 0;
                    $var5 = $var5 + 1 | 0;
                }
            }
        }
        $var7 = $var7 + 1 | 0;
    }
    return null;
};
$java.nms_RecipesArmorDyes_getRecipeSize = function($this) {
    return 10;
};
function nms_RecipesMapCloning() {
    jl_Object.call(this);
}
$java.nms_RecipesMapCloning__init_ = function() {
    var var_0 = new nms_RecipesMapCloning();
    nms_RecipesMapCloning__init_(var_0);
    return var_0;
};
function nms_RecipesMapCloning__init_($this) {
    return;
}
$java.nms_RecipesMapCloning_matches = function($this, $par1InventoryCrafting, $par2World) {
    var $var3, $var4, $var5, $var6, var$7;
    $var3 = 0;
    $var4 = null;
    $var5 = 0;
    while (true) {
        if ($var5 >= $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting))
            return $var4 !== null && $var3 > 0 ? 1 : 0;
        $var6 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var5);
        if ($var6 !== null) {
            var$7 = $var6.$itemID0;
            nms_Item_$callClinit();
            if (var$7 == nms_Item_map.$itemID) {
                if ($var4 !== null)
                    return 0;
                $var4 = $var6;
            } else {
                if ($var6.$itemID0 != nms_Item_emptyMap.$itemID)
                    break;
                $var3 = $var3 + 1 | 0;
            }
        }
        $var5 = $var5 + 1 | 0;
    }
    return 0;
};
$java.nms_RecipesMapCloning_getCraftingResult = function($this, $par1InventoryCrafting) {
    var $var2, $var3, $var4, $var6, $var5, var$7;
    $var2 = 0;
    $var3 = null;
    $var4 = 0;
    while (true) {
        if ($var4 >= $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting)) {
            if ($var3 !== null && $var2 >= 1) {
                $var6 = new nms_ItemStack;
                nms_Item_$callClinit();
                nms_ItemStack__init_3($var6, nms_Item_map, $var2 + 1 | 0, $var3.$itemDamage);
                if (nms_ItemStack_hasDisplayName($var3))
                    nms_ItemStack_setItemName($var6, nms_ItemStack_getDisplayName($var3));
                return $var6;
            }
            return null;
        }
        $var5 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var4);
        if ($var5 !== null) {
            var$7 = $var5.$itemID0;
            nms_Item_$callClinit();
            if (var$7 == nms_Item_map.$itemID) {
                if ($var3 !== null)
                    return null;
                $var3 = $var5;
            } else {
                if ($var5.$itemID0 != nms_Item_emptyMap.$itemID)
                    break;
                $var2 = $var2 + 1 | 0;
            }
        }
        $var4 = $var4 + 1 | 0;
    }
    return null;
};
$java.nms_RecipesMapCloning_getRecipeSize = function($this) {
    return 9;
};
function nms_ShapedRecipes() {
    var a = this; jl_Object.call(a);
    a.$recipeWidth = 0;
    a.$recipeHeight = 0;
    a.$recipeItems4 = null;
    a.$recipeOutput0 = null;
    a.$recipeOutputItemID = 0;
    a.$field_92101_f = 0;
}
$java.nms_ShapedRecipes__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_ShapedRecipes();
    $java.nms_ShapedRecipes__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_ShapedRecipes__init_0 = function($this, $par1, $par2, $par3ArrayOfItemStack, $par4ItemStack) {
    $this.$field_92101_f = 0;
    $this.$recipeOutputItemID = $par4ItemStack.$itemID0;
    $this.$recipeWidth = $par1;
    $this.$recipeHeight = $par2;
    $this.$recipeItems4 = $par3ArrayOfItemStack;
    $this.$recipeOutput0 = $par4ItemStack;
};
$java.nms_ShapedRecipes_getRecipeOutput = function($this) {
    return $this.$recipeOutput0;
};
$java.nms_ShapedRecipes_matches = function($this, $par1InventoryCrafting, $par2World) {
    var $var3, $var4;
    $var3 = 0;
    while ($var3 <= (3 - $this.$recipeWidth | 0)) {
        $var4 = 0;
        while ($var4 <= (3 - $this.$recipeHeight | 0)) {
            if ($java.nms_ShapedRecipes_checkMatch($this, $par1InventoryCrafting, $var3, $var4, 1))
                return 1;
            if ($java.nms_ShapedRecipes_checkMatch($this, $par1InventoryCrafting, $var3, $var4, 0))
                return 1;
            $var4 = $var4 + 1 | 0;
        }
        $var3 = $var3 + 1 | 0;
    }
    return 0;
};
$java.nms_ShapedRecipes_checkMatch = function($this, $par1InventoryCrafting, $par2, $par3, $par4) {
    var $var5, $var6, $var7, $var8, $var9, $var10;
    $var5 = 0;
    a: {
        while ($var5 < 3) {
            $var6 = 0;
            while ($var6 < 3) {
                $var7 = $var5 - $par2 | 0;
                $var8 = $var6 - $par3 | 0;
                $var9 = null;
                if ($var7 >= 0 && $var8 >= 0 && $var7 < $this.$recipeWidth && $var8 < $this.$recipeHeight)
                    $var9 = !$par4 ? $this.$recipeItems4.data[$var7 + $rt_imul($var8, $this.$recipeWidth) | 0] : $this.$recipeItems4.data[(($this.$recipeWidth - $var7 | 0) - 1 | 0) + $rt_imul($var8, $this.$recipeWidth) | 0];
                $var10 = $java.nms_InventoryCrafting_getStackInRowAndColumn($par1InventoryCrafting, $var5, $var6);
                if (!($var10 === null && $var9 === null)) {
                    if ($var10 === null && $var9 !== null)
                        break a;
                    if ($var10 !== null && $var9 === null)
                        break a;
                    if ($var9.$itemID0 != $var10.$itemID0)
                        return 0;
                    if ($var9.$itemDamage != 32767 && $var9.$itemDamage != $var10.$itemDamage)
                        return 0;
                }
                $var6 = $var6 + 1 | 0;
            }
            $var5 = $var5 + 1 | 0;
        }
        return 1;
    }
    return 0;
};
$java.nms_ShapedRecipes_getCraftingResult = function($this, $par1InventoryCrafting) {
    var $var2, $var3, $var4;
    a: {
        $var2 = nms_ItemStack_copy($this.$recipeOutput0);
        if ($this.$field_92101_f) {
            $var3 = 0;
            while (true) {
                if ($var3 >= $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting))
                    break a;
                $var4 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var3);
                if ($var4 !== null && nms_ItemStack_hasTagCompound($var4))
                    $var2.$stackTagCompound = nms_NBTTagCompound_copy($var4.$stackTagCompound);
                $var3 = $var3 + 1 | 0;
            }
        }
    }
    return $var2;
};
$java.nms_ShapedRecipes_getRecipeSize = function($this) {
    return $rt_imul($this.$recipeWidth, $this.$recipeHeight);
};
$java.nms_ShapedRecipes_func_92100_c = function($this) {
    $this.$field_92101_f = 1;
    return $this;
};
function nms_RecipesMapExtending() {
    nms_ShapedRecipes.call(this);
}
$java.nms_RecipesMapExtending__init_ = function() {
    var var_0 = new nms_RecipesMapExtending();
    nms_RecipesMapExtending__init_(var_0);
    return var_0;
};
function nms_RecipesMapExtending__init_($this) {
    var var$1, var$2, var$3;
    var$1 = $rt_createArray(nms_ItemStack, 9);
    var$2 = var$1.data;
    var$3 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_7(var$3, nms_Item_paper);
    var$2[0] = var$3;
    var$2[1] = nms_ItemStack__init_5(nms_Item_paper);
    var$2[2] = nms_ItemStack__init_5(nms_Item_paper);
    var$2[3] = nms_ItemStack__init_5(nms_Item_paper);
    var$2[4] = nms_ItemStack__init_4(nms_Item_map, 0, 32767);
    var$2[5] = nms_ItemStack__init_5(nms_Item_paper);
    var$2[6] = nms_ItemStack__init_5(nms_Item_paper);
    var$2[7] = nms_ItemStack__init_5(nms_Item_paper);
    var$2[8] = nms_ItemStack__init_5(nms_Item_paper);
    $java.nms_ShapedRecipes__init_0($this, 3, 3, var$1, nms_ItemStack__init_4(nms_Item_emptyMap, 0, 0));
}
$java.nms_RecipesMapExtending_matches = function($this, $par1InventoryCrafting, $par2World) {
    var $var3, $var4, $var5, var$6, $var6;
    if (!$java.nms_ShapedRecipes_matches($this, $par1InventoryCrafting, $par2World))
        return 0;
    $var3 = null;
    $var4 = 0;
    while ($var4 < $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting) && $var3 === null) {
        $var5 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var4);
        if ($var5 !== null) {
            var$6 = $var5.$itemID0;
            nms_Item_$callClinit();
            if (var$6 == nms_Item_map.$itemID)
                $var3 = $var5;
        }
        $var4 = $var4 + 1 | 0;
    }
    if ($var3 === null)
        return 0;
    nms_Item_$callClinit();
    $var6 = nms_ItemMap_getMapData(nms_Item_map, $var3, $par2World);
    return $var6 === null ? 0 : $var6.$scale2 >= 4 ? 0 : 1;
};
$java.nms_RecipesMapExtending_getCraftingResult = function($this, $par1InventoryCrafting) {
    var $var2, $var3, $var4, var$5;
    $var2 = null;
    $var3 = 0;
    while ($var3 < $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting) && $var2 === null) {
        $var4 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var3);
        if ($var4 !== null) {
            var$5 = $var4.$itemID0;
            nms_Item_$callClinit();
            if (var$5 == nms_Item_map.$itemID)
                $var2 = $var4;
        }
        $var3 = $var3 + 1 | 0;
    }
    $par1InventoryCrafting = nms_ItemStack_copy($var2);
    $par1InventoryCrafting.$stackSize = 1;
    if ($par1InventoryCrafting.$stackTagCompound === null)
        $par1InventoryCrafting.$stackTagCompound = nms_NBTTagCompound__init_0();
    nms_NBTTagCompound_setBoolean($par1InventoryCrafting.$stackTagCompound, $rt_s(2272), 1);
    return $par1InventoryCrafting;
};
function nms_RecipeFireworks() {
    jl_Object.call(this);
    this.$field_92102_a = null;
}
$java.nms_RecipeFireworks__init_ = function() {
    var var_0 = new nms_RecipeFireworks();
    nms_RecipeFireworks__init_(var_0);
    return var_0;
};
function nms_RecipeFireworks__init_($this) {
    return;
}
$java.nms_RecipeFireworks_matches = function($this, $par1InventoryCrafting, $par2World) {
    var $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var17, $var16, $var19, $var25, $var22, $var26, $var23, $var12, $var13, $var14, $var24, $var18, $var27, $var15, $var11, $var20, $var21, $var10;
    $this.$field_92102_a = null;
    $var3 = 0;
    $var4 = 0;
    $var5 = 0;
    $var6 = 0;
    $var7 = 0;
    $var8 = 0;
    $var9 = 0;
    a: while (true) {
        if ($var9 >= $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting)) {
            $var17 = $var7 + ($var5 + $var8 | 0) | 0;
            if ($var4 <= 3) {
                $var7 = $rt_compare($var3, 1);
                if ($var7 <= 0) {
                    $var9 = $rt_compare($var4, 1);
                    if ($var9 >= 0 && !$var7 && !$var17) {
                        $par2World = new nms_ItemStack;
                        nms_Item_$callClinit();
                        nms_ItemStack__init_7($par2World, nms_Item_firework);
                        $this.$field_92102_a = $par2World;
                        if ($var6 > 0) {
                            $var16 = nms_NBTTagCompound__init_0();
                            $var19 = nms_NBTTagCompound__init_1($rt_s(1871));
                            $var25 = nms_NBTTagList__init_1($rt_s(1515));
                            $var22 = 0;
                            while ($var22 < $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting)) {
                                $var26 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var22);
                                if ($var26 !== null && $var26.$itemID0 == nms_Item_fireworkCharge.$itemID && nms_ItemStack_hasTagCompound($var26) && nms_NBTTagCompound_hasKey(nms_ItemStack_getTagCompound($var26), $rt_s(2305)))
                                    nms_NBTTagList_appendTag($var25, nms_NBTTagCompound_getCompoundTag(nms_ItemStack_getTagCompound($var26), $rt_s(2305)));
                                $var22 = $var22 + 1 | 0;
                            }
                            nms_NBTTagCompound_setTag($var19, $rt_s(1515), $var25);
                            nms_NBTTagCompound_setByte($var19, $rt_s(1872), $var4 << 24 >> 24);
                            nms_NBTTagCompound_setTag($var16, $rt_s(1871), $var19);
                            nms_ItemStack_setTagCompound($this.$field_92102_a, $var16);
                        }
                        return 1;
                    }
                    if (!$var9 && !$var3 && !$var6 && $var5 > 0 && $var8 <= 1) {
                        $par2World = new nms_ItemStack;
                        nms_Item_$callClinit();
                        nms_ItemStack__init_7($par2World, nms_Item_fireworkCharge);
                        $this.$field_92102_a = $par2World;
                        $var16 = nms_NBTTagCompound__init_0();
                        $var19 = nms_NBTTagCompound__init_1($rt_s(2305));
                        $var23 = 0;
                        $var12 = ju_ArrayList__init_0();
                        $var13 = 0;
                        while ($var13 < $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting)) {
                            b: {
                                $var14 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var13);
                                if ($var14 === null)
                                    break b;
                                if ($var14.$itemID0 == nms_Item_dyePowder.$itemID) {
                                    ju_ArrayList_add($var12, jl_Integer_valueOf($java.nms_ItemDye_dyeColors.data[nms_ItemStack_getItemDamage($var14)]));
                                    break b;
                                }
                                if ($var14.$itemID0 == nms_Item_lightStoneDust.$itemID) {
                                    nms_NBTTagCompound_setBoolean($var19, $rt_s(1516), 1);
                                    break b;
                                }
                                if ($var14.$itemID0 == nms_Item_diamond.$itemID) {
                                    nms_NBTTagCompound_setBoolean($var19, $rt_s(2314), 1);
                                    break b;
                                }
                                if ($var14.$itemID0 == nms_Item_fireballCharge.$itemID) {
                                    $var23 = 1;
                                    break b;
                                }
                                if ($var14.$itemID0 == nms_Item_feather.$itemID) {
                                    $var23 = 4;
                                    break b;
                                }
                                if ($var14.$itemID0 == nms_Item_goldNugget.$itemID) {
                                    $var23 = 2;
                                    break b;
                                }
                                if ($var14.$itemID0 != nms_Item_skull.$itemID)
                                    break b;
                                $var23 = 3;
                            }
                            $var13 = $var13 + 1 | 0;
                        }
                        $var24 = $rt_createIntArray(ju_ArrayList_size($var12));
                        $var18 = $var24.data;
                        $var27 = 0;
                        $var3 = $var18.length;
                        while ($var27 < $var3) {
                            $var18[$var27] = jl_Integer_intValue(ju_ArrayList_get($var12, $var27));
                            $var27 = $var27 + 1 | 0;
                        }
                        nms_NBTTagCompound_setIntArray($var19, $rt_s(2306), $var24);
                        nms_NBTTagCompound_setByte($var19, $rt_s(2307), $var23);
                        nms_NBTTagCompound_setTag($var16, $rt_s(2305), $var19);
                        nms_ItemStack_setTagCompound($this.$field_92102_a, $var16);
                        return 1;
                    }
                    if (!$var4 && !$var3 && $var6 == 1 && $var5 > 0 && $var5 == $var17) {
                        $var15 = ju_ArrayList__init_0();
                        $var17 = 0;
                        while ($var17 < $java.nms_InventoryCrafting_getSizeInventory($par1InventoryCrafting)) {
                            $var11 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var17);
                            if ($var11 !== null) {
                                $var3 = $var11.$itemID0;
                                nms_Item_$callClinit();
                                if ($var3 == nms_Item_dyePowder.$itemID)
                                    ju_ArrayList_add($var15, jl_Integer_valueOf($java.nms_ItemDye_dyeColors.data[nms_ItemStack_getItemDamage($var11)]));
                                else if ($var11.$itemID0 == nms_Item_fireworkCharge.$itemID) {
                                    $this.$field_92102_a = nms_ItemStack_copy($var11);
                                    $this.$field_92102_a.$stackSize = 1;
                                }
                            }
                            $var17 = $var17 + 1 | 0;
                        }
                        $var18 = $rt_createIntArray(ju_ArrayList_size($var15));
                        $var24 = $var18.data;
                        $var20 = 0;
                        $var3 = $var24.length;
                        while ($var20 < $var3) {
                            $var24[$var20] = jl_Integer_intValue(ju_ArrayList_get($var15, $var20));
                            $var20 = $var20 + 1 | 0;
                        }
                        if ($this.$field_92102_a !== null && nms_ItemStack_hasTagCompound($this.$field_92102_a)) {
                            $var21 = nms_NBTTagCompound_getCompoundTag(nms_ItemStack_getTagCompound($this.$field_92102_a), $rt_s(2305));
                            if ($var21 === null)
                                return 0;
                            nms_NBTTagCompound_setIntArray($var21, $rt_s(2312), $var18);
                            return 1;
                        }
                        return 0;
                    }
                    return 0;
                }
            }
            return 0;
        }
        c: {
            $var10 = nms_InventoryCrafting_getStackInSlot($par1InventoryCrafting, $var9);
            if ($var10 === null)
                break c;
            $var17 = $var10.$itemID0;
            nms_Item_$callClinit();
            if ($var17 == nms_Item_gunpowder.$itemID) {
                $var4 = $var4 + 1 | 0;
                break c;
            }
            if ($var10.$itemID0 == nms_Item_fireworkCharge.$itemID) {
                $var6 = $var6 + 1 | 0;
                break c;
            }
            if ($var10.$itemID0 == nms_Item_dyePowder.$itemID) {
                $var5 = $var5 + 1 | 0;
                break c;
            }
            if ($var10.$itemID0 == nms_Item_paper.$itemID) {
                $var3 = $var3 + 1 | 0;
                break c;
            }
            if ($var10.$itemID0 == nms_Item_lightStoneDust.$itemID) {
                $var7 = $var7 + 1 | 0;
                break c;
            }
            if ($var10.$itemID0 == nms_Item_diamond.$itemID) {
                $var7 = $var7 + 1 | 0;
                break c;
            }
            if ($var10.$itemID0 == nms_Item_fireballCharge.$itemID) {
                $var8 = $var8 + 1 | 0;
                break c;
            }
            if ($var10.$itemID0 == nms_Item_feather.$itemID) {
                $var8 = $var8 + 1 | 0;
                break c;
            }
            if ($var10.$itemID0 == nms_Item_goldNugget.$itemID) {
                $var8 = $var8 + 1 | 0;
                break c;
            }
            if ($var10.$itemID0 != nms_Item_skull.$itemID)
                break a;
            $var8 = $var8 + 1 | 0;
        }
        $var9 = $var9 + 1 | 0;
    }
    return 0;
};
$java.nms_RecipeFireworks_getCraftingResult = function($this, $par1InventoryCrafting) {
    return nms_ItemStack_copy($this.$field_92102_a);
};
$java.nms_RecipeFireworks_getRecipeSize = function($this) {
    return 10;
};
function nms_RecipeSorter() {
    jl_Object.call(this);
    this.$craftingManager = null;
}
$java.nms_RecipeSorter__init_ = function(var_0) {
    var var_1 = new nms_RecipeSorter();
    $java.nms_RecipeSorter__init_0(var_1, var_0);
    return var_1;
};
$java.nms_RecipeSorter__init_0 = function($this, $par1CraftingManager) {
    $this.$craftingManager = $par1CraftingManager;
};
$java.nms_RecipeSorter_compareRecipes = function($this, $par1IRecipe, $par2IRecipe) {
    return $par1IRecipe instanceof nms_ShapelessRecipes && $par2IRecipe instanceof nms_ShapedRecipes ? 1 : $par2IRecipe instanceof nms_ShapelessRecipes && $par1IRecipe instanceof nms_ShapedRecipes ? (-1) : $par2IRecipe.$getRecipeSize() < $par1IRecipe.$getRecipeSize() ? (-1) : $par2IRecipe.$getRecipeSize() <= $par1IRecipe.$getRecipeSize() ? 0 : 1;
};
$java.nms_RecipeSorter_compare = function($this, $par1Obj, $par2Obj) {
    return $java.nms_RecipeSorter_compareRecipes($this, $par1Obj, $par2Obj);
};
function nms_GuiChest() {
    var a = this; nms_GuiContainer.call(a);
    a.$upperChestInventory = null;
    a.$lowerChestInventory0 = null;
    a.$inventoryRows = 0;
}
$java.nms_GuiChest_tex = null;
$java.nms_GuiChest_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$fontRenderer0;
        var$4 = $this.$lowerChestInventory0.$field_94051_e ? $this.$lowerChestInventory0.$inventoryTitle : nms_StatCollector_translateToLocal($this.$lowerChestInventory0.$inventoryTitle);
        $par1 = 8;
        $par2 = 6;
        var$5 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $this.$fontRenderer0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(1385));
        $par1 = 8;
        $par2 = ($this.$ySize0 - 96 | 0) + 2 | 0;
        var$5 = 4210752;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawString(var$3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, var$5, $ptr);
};
$java.nms_GuiChest_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var var$4, $var4, $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$4 = $java.nms_GuiChest_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = ($this.$width - $this.$xSize | 0) / 2 | 0;
        $var5 = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
        nms_Gui_drawTexturedModalRect($this, $var4, $var5, 0, 0, $this.$xSize, ($this.$inventoryRows * 18 | 0) + 17 | 0);
        nms_Gui_drawTexturedModalRect($this, $var4, ($var5 + ($this.$inventoryRows * 18 | 0) | 0) + 17 | 0, 0, 126, $this.$xSize, 96);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $var4, $var5, $ptr);
};
function nms_GuiChest__clinit_() {
    $java.nms_GuiChest_tex = nle_TextureLocation__init_($rt_s(3357));
}
function nms_GuiCrafting() {
    nms_GuiContainer.call(this);
}
$java.nms_GuiCrafting_tex = null;
$java.nms_GuiCrafting_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$fontRenderer0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(1501));
        $par1 = 28;
        $par2 = 6;
        var$5 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = $this.$fontRenderer0;
        var$3 = nms_StatCollector_translateToLocal($rt_s(1385));
        $par1 = 8;
        $par2 = ($this.$ySize0 - 96 | 0) + 2 | 0;
        var$5 = 4210752;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawString(var$4, var$3, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, var$5, $ptr);
};
$java.nms_GuiCrafting_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$4 = $java.nms_GuiCrafting_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this, ($this.$width - $this.$xSize | 0) / 2 | 0, ($this.$height - $this.$ySize0 | 0) / 2 | 0, 0, 0, $this.$xSize, $this.$ySize0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $ptr);
};
function nms_GuiCrafting__clinit_() {
    $java.nms_GuiCrafting_tex = nle_TextureLocation__init_($rt_s(3358));
}
function nms_GuiBeacon() {
    var a = this; nms_GuiContainer.call(a);
    a.$beacon0 = null;
    a.$beaconConfirmButton = null;
    a.$buttonsNotDrawn = 0;
}
$java.nms_GuiBeacon_tex = null;
$java.nms_GuiBeacon_initGui = function($this) {
    var var$1, var$2;
    nms_GuiContainer_initGui($this);
    var$1 = $this.$buttonList;
    var$2 = new nms_GuiBeaconButtonConfirm;
    $java.nms_GuiBeaconButton__init_(var$2, (-1), $this.$guiLeft + 164 | 0, $this.$guiTop + 107 | 0, $rt_s(1088), 90, 220);
    var$2.$beaconGui = $this;
    $this.$beaconConfirmButton = var$2;
    ju_ArrayList_add(var$1, var$2);
    var$2 = $this.$buttonList;
    var$1 = new nms_GuiBeaconButtonCancel;
    $java.nms_GuiBeaconButton__init_(var$1, (-2), $this.$guiLeft + 190 | 0, $this.$guiTop + 107 | 0, $rt_s(1088), 112, 220);
    var$1.$beaconGui0 = $this;
    ju_ArrayList_add(var$2, var$1);
    $this.$buttonsNotDrawn = 1;
    $this.$beaconConfirmButton.$enabled = 0;
};
$java.nms_GuiBeacon_updateScreen = function($this) {
    var $var1, $var2, $var3, $var4, $var5, $var6, $var3_0, $var4_0, $var8;
    nms_GuiContainer_updateScreen($this);
    if ($this.$buttonsNotDrawn && $this.$beacon0.$levels >= 0) {
        $this.$buttonsNotDrawn = 0;
        $var1 = 0;
        while ($var1 <= 2) {
            $java.nms_TileEntityBeacon_$callClinit();
            $var2 = $java.nms_TileEntityBeacon_effectsList.data[$var1].data.length;
            $var3 = ($var2 * 22 | 0) + (($var2 - 1 | 0) * 2 | 0) | 0;
            $var4 = 0;
            while ($var4 < $var2) {
                $var5 = $java.nms_TileEntityBeacon_effectsList.data[$var1].data[$var4].$id5;
                $var6 = $java.nms_GuiBeaconButtonPower__init_($this, $var1 << 8 | $var5, (($this.$guiLeft + 76 | 0) + ($var4 * 24 | 0) | 0) - ($var3 / 2 | 0) | 0, ($this.$guiTop + 22 | 0) + ($var1 * 25 | 0) | 0, $var5, $var1);
                ju_ArrayList_add($this.$buttonList, $var6);
                if ($var1 >= $this.$beacon0.$levels)
                    $var6.$enabled = 0;
                else if ($var5 == $this.$beacon0.$primaryEffect)
                    $var6.$field_82256_n = 1;
                $var4 = $var4 + 1 | 0;
            }
            $var1 = $var1 + 1 | 0;
        }
        $java.nms_TileEntityBeacon_$callClinit();
        $var2 = $java.nms_TileEntityBeacon_effectsList.data[3].data.length + 1 | 0;
        $var1 = $var2 * 22 | 0;
        $var2 = $var2 - 1 | 0;
        $var3_0 = $var1 + ($var2 * 2 | 0) | 0;
        $var4_0 = 0;
        while ($var4_0 < $var2) {
            $var5 = $java.nms_TileEntityBeacon_effectsList.data[3].data[$var4_0].$id5;
            $var6 = $java.nms_GuiBeaconButtonPower__init_($this, 768 | $var5, (($this.$guiLeft + 167 | 0) + ($var4_0 * 24 | 0) | 0) - ($var3_0 / 2 | 0) | 0, $this.$guiTop + 47 | 0, $var5, 3);
            ju_ArrayList_add($this.$buttonList, $var6);
            if (3 >= $this.$beacon0.$levels)
                $var6.$enabled = 0;
            else if ($var5 == $this.$beacon0.$secondaryEffect)
                $var6.$field_82256_n = 1;
            $var4_0 = $var4_0 + 1 | 0;
        }
        if ($this.$beacon0.$primaryEffect > 0) {
            $var8 = $java.nms_GuiBeaconButtonPower__init_($this, 768 | $this.$beacon0.$primaryEffect, (($this.$guiLeft + 167 | 0) + ($var2 * 24 | 0) | 0) - ($var3_0 / 2 | 0) | 0, $this.$guiTop + 47 | 0, $this.$beacon0.$primaryEffect, 3);
            ju_ArrayList_add($this.$buttonList, $var8);
            if (3 >= $this.$beacon0.$levels)
                $var8.$enabled = 0;
            else if ($this.$beacon0.$primaryEffect == $this.$beacon0.$secondaryEffect)
                $var8.$field_82256_n = 1;
        }
    }
    $this.$beaconConfirmButton.$enabled = $java.nms_TileEntityBeacon_getStackInSlot($this.$beacon0, 0) !== null && $this.$beacon0.$primaryEffect > 0 ? 1 : 0;
};
$java.nms_GuiBeacon_actionPerformed = function($this, $par1GuiButton) {
    var $var3, $var4, $var6, $var7, $var8, $$je;
    if ($par1GuiButton.$id3 == (-2))
        nmc_Minecraft_displayGuiScreen($this.$mc2, null);
    else if ($par1GuiButton.$id3 == (-1)) {
        $var3 = ji_ByteArrayOutputStream__init_0();
        $var4 = ji_DataOutputStream__init_($var3);
        a: {
            try {
                ji_DataOutputStream_writeInt($var4, $java.nms_TileEntityBeacon_getPrimaryEffect($this.$beacon0));
                ji_DataOutputStream_writeInt($var4, $java.nms_TileEntityBeacon_getSecondaryEffect($this.$beacon0));
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler($this.$mc2), nms_Packet250CustomPayload__init_0($rt_s(3359), ji_ByteArrayOutputStream_toByteArray($var3)));
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var6);
        }
        nmc_Minecraft_displayGuiScreen($this.$mc2, null);
    } else if ($par1GuiButton instanceof nms_GuiBeaconButtonPower) {
        if ($par1GuiButton.$field_82256_n)
            return;
        $var7 = $par1GuiButton.$id3;
        $var8 = $var7 & 255;
        if ($var7 >> 8 >= 3)
            $java.nms_TileEntityBeacon_setSecondaryEffect($this.$beacon0, $var8);
        else
            $java.nms_TileEntityBeacon_setPrimaryEffect($this.$beacon0, $var8);
        ju_ArrayList_clear($this.$buttonList);
        $java.nms_GuiBeacon_initGui($this);
        $java.nms_GuiBeacon_updateScreen($this);
    }
};
$java.nms_GuiBeacon_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var $var4, $var3, var$5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var3 = $thread.pop();$var4 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_RenderHelper_disableStandardItemLighting();
        $var4 = $this.$fontRenderer0;
        $var3 = nms_StatCollector_translateToLocal($rt_s(3360));
        var$5 = 62;
        var$6 = 10;
        var$7 = 14737632;
        $ptr = 1;
    case 1:
        nms_Gui_drawCenteredString($this, $var4, $var3, var$5, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $this.$fontRenderer0;
        $var4 = nms_StatCollector_translateToLocal($rt_s(3361));
        var$7 = 169;
        var$5 = 10;
        var$6 = 14737632;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, $var3, $var4, var$7, var$5, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = ju_AbstractList_iterator($this.$buttonList);
        while (ju_AbstractList$1_hasNext($var3)) {
            $var4 = ju_AbstractList$1_next($var3);
            if ($var4.$field_82253_i) {
                $par1 = $par1 - $this.$guiLeft | 0;
                $par2 = $par2 - $this.$guiTop | 0;
                $ptr = 3;
                continue main;
            }
        }
        nms_RenderHelper_enableGUIStandardItemLighting2();
        return;
    case 3:
        $var4.$func_82251_b($par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        nms_RenderHelper_enableGUIStandardItemLighting2();
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var4, $var3, var$5, var$6, var$7, $ptr);
};
$java.nms_GuiBeacon_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var var$4, $var4, $var5, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$4 = $java.nms_GuiBeacon_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = ($this.$width - $this.$xSize | 0) / 2 | 0;
        $var5 = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
        nms_Gui_drawTexturedModalRect($this, $var4, $var5, 0, 0, $this.$xSize, $this.$ySize0);
        nms_GuiContainer_itemRenderer.$zLevel0 = 100.0;
        var$4 = nms_GuiContainer_itemRenderer;
        var$7 = $this.$fontRenderer0;
        var$8 = $this.$mc2.$renderEngine;
        var$9 = new nms_ItemStack;
        nms_Item_$callClinit();
        nms_ItemStack__init_7(var$9, nms_Item_emerald);
        $par2 = $var4 + 42 | 0;
        $par3 = $var5 + 109 | 0;
        $ptr = 2;
    case 2:
        nms_RenderItem_renderItemAndEffectIntoGUI(var$4, var$7, var$8, var$9, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = nms_GuiContainer_itemRenderer;
        var$7 = $this.$fontRenderer0;
        var$8 = $this.$mc2.$renderEngine;
        var$9 = nms_ItemStack__init_5(nms_Item_diamond);
        $var4 = $par2 + 22 | 0;
        $ptr = 3;
    case 3:
        nms_RenderItem_renderItemAndEffectIntoGUI(var$4, var$7, var$8, var$9, $var4, $par3);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = nms_GuiContainer_itemRenderer;
        var$7 = $this.$fontRenderer0;
        var$8 = $this.$mc2.$renderEngine;
        var$9 = nms_ItemStack__init_5(nms_Item_ingotGold);
        $var4 = $par2 + 44 | 0;
        $ptr = 4;
    case 4:
        nms_RenderItem_renderItemAndEffectIntoGUI(var$4, var$7, var$8, var$9, $var4, $par3);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = nms_GuiContainer_itemRenderer;
        var$7 = $this.$fontRenderer0;
        var$8 = $this.$mc2.$renderEngine;
        var$9 = nms_ItemStack__init_5(nms_Item_ingotIron);
        $par2 = $par2 + 66 | 0;
        $ptr = 5;
    case 5:
        nms_RenderItem_renderItemAndEffectIntoGUI(var$4, var$7, var$8, var$9, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiContainer_itemRenderer.$zLevel0 = 0.0;
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $var4, $var5, var$7, var$8, var$9, $ptr);
};
function nms_GuiBeacon__clinit_() {
    $java.nms_GuiBeacon_tex = nle_TextureLocation__init_($rt_s(1088));
}
function nms_GuiDispenser() {
    nms_GuiContainer.call(this);
    this.$field_94078_r = null;
}
$java.nms_GuiDispenser_tex = null;
$java.nms_GuiDispenser_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var $var3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = $java.nms_TileEntityDispenser_isInvNameLocalized($this.$field_94078_r) ? $this.$field_94078_r.$getInvName() : nms_StatCollector_translateToLocal($this.$field_94078_r.$getInvName());
        var$4 = $this.$fontRenderer0;
        $par1 = ($this.$xSize / 2 | 0) - (nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var3) / 2 | 0) | 0;
        $par2 = 6;
        var$5 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$4, $var3, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $this.$fontRenderer0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(1385));
        $par1 = 8;
        $par2 = ($this.$ySize0 - 96 | 0) + 2 | 0;
        var$5 = 4210752;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawString($var3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, var$4, var$5, $ptr);
};
$java.nms_GuiDispenser_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$4 = $java.nms_GuiDispenser_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this, ($this.$width - $this.$xSize | 0) / 2 | 0, ($this.$height - $this.$ySize0 | 0) / 2 | 0, 0, 0, $this.$xSize, $this.$ySize0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $ptr);
};
function nms_GuiDispenser__clinit_() {
    $java.nms_GuiDispenser_tex = nle_TextureLocation__init_($rt_s(3362));
}
function nms_GuiHopper() {
    var a = this; nms_GuiContainer.call(a);
    a.$field_94081_r = null;
    a.$field_94080_s = null;
}
$java.nms_GuiHopper_tex = null;
$java.nms_GuiHopper_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$fontRenderer0;
        var$4 = $java.nms_TileEntityHopper_isInvNameLocalized($this.$field_94080_s) ? $java.nms_TileEntityHopper_getInvName($this.$field_94080_s) : nms_StatCollector_translateToLocal($java.nms_TileEntityHopper_getInvName($this.$field_94080_s));
        $par1 = 8;
        $par2 = 6;
        var$5 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $this.$fontRenderer0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(1385));
        $par1 = 8;
        $par2 = ($this.$ySize0 - 96 | 0) + 2 | 0;
        var$5 = 4210752;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawString(var$3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, var$5, $ptr);
};
$java.nms_GuiHopper_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$4 = $java.nms_GuiHopper_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this, ($this.$width - $this.$xSize | 0) / 2 | 0, ($this.$height - $this.$ySize0 | 0) / 2 | 0, 0, 0, $this.$xSize, $this.$ySize0);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $ptr);
};
function nms_GuiHopper__clinit_() {
    $java.nms_GuiHopper_tex = nle_TextureLocation__init_($rt_s(3363));
}
function nms_GuiBrewingStand() {
    nms_GuiContainer.call(this);
    this.$brewingStand0 = null;
}
$java.nms_GuiBrewingStand_tex = null;
$java.nms_GuiBrewingStand_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var $var3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = $java.nms_TileEntityBrewingStand_isInvNameLocalized($this.$brewingStand0) ? $java.nms_TileEntityBrewingStand_getInvName($this.$brewingStand0) : nms_StatCollector_translateToLocal($java.nms_TileEntityBrewingStand_getInvName($this.$brewingStand0));
        var$4 = $this.$fontRenderer0;
        $par1 = ($this.$xSize / 2 | 0) - (nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var3) / 2 | 0) | 0;
        $par2 = 6;
        var$5 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$4, $var3, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $this.$fontRenderer0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(1385));
        $par1 = 8;
        $par2 = ($this.$ySize0 - 96 | 0) + 2 | 0;
        var$5 = 4210752;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawString($var3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, var$4, var$5, $ptr);
};
$java.nms_GuiBrewingStand_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var var$4, $var4, $var5, $var6, $var7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$4 = $java.nms_GuiBrewingStand_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = ($this.$width - $this.$xSize | 0) / 2 | 0;
        $var5 = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
        nms_Gui_drawTexturedModalRect($this, $var4, $var5, 0, 0, $this.$xSize, $this.$ySize0);
        $var6 = $this.$brewingStand0.$brewTime0;
        if ($var6 > 0) {
            $var7 = 28.0 * (1.0 - $var6 / 400.0) | 0;
            if ($var7 > 0)
                nms_Gui_drawTexturedModalRect($this, $var4 + 97 | 0, $var5 + 16 | 0, 176, 0, 9, $var7);
            a: {
                switch (($var6 / 2 | 0) % 7 | 0) {
                    case 0:
                        $var7 = 29;
                        break a;
                    case 1:
                        $var7 = 24;
                        break a;
                    case 2:
                        $var7 = 20;
                        break a;
                    case 3:
                        $var7 = 16;
                        break a;
                    case 4:
                        $var7 = 11;
                        break a;
                    case 5:
                        $var7 = 6;
                        break a;
                    case 6:
                        $var7 = 0;
                        break a;
                    default:
                }
            }
            if ($var7 > 0)
                nms_Gui_drawTexturedModalRect($this, $var4 + 65 | 0, (($var5 + 14 | 0) + 29 | 0) - $var7 | 0, 185, 29 - $var7 | 0, 12, $var7);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $var4, $var5, $var6, $var7, $ptr);
};
function nms_GuiBrewingStand__clinit_() {
    $java.nms_GuiBrewingStand_tex = nle_TextureLocation__init_($rt_s(3364));
}
function nms_GuiEnchantment() {
    var a = this; nms_GuiContainer.call(a);
    a.$rand4 = null;
    a.$containerEnchantment = null;
    a.$field_74214_o = 0;
    a.$field_74213_p = 0.0;
    a.$field_74212_q = 0.0;
    a.$field_74211_r = 0.0;
    a.$field_74210_s = 0.0;
    a.$field_74209_t = 0.0;
    a.$field_74208_u = 0.0;
    a.$theItemStack0 = null;
    a.$field_94079_C = null;
}
$java.nms_GuiEnchantment_bookModel = null;
$java.nms_GuiEnchantment_tex_enchant = null;
$java.nms_GuiEnchantment_tex_book = null;
$java.nms_GuiEnchantment_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$fontRenderer0;
        var$4 = $this.$field_94079_C !== null ? $this.$field_94079_C : nms_StatCollector_translateToLocal($rt_s(3365));
        $par1 = 12;
        $par2 = 5;
        var$5 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $this.$fontRenderer0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(1385));
        $par1 = 8;
        $par2 = ($this.$ySize0 - 96 | 0) + 2 | 0;
        var$5 = 4210752;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawString(var$3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, var$5, $ptr);
};
$java.nms_GuiEnchantment_updateScreen = function($this) {
    nms_GuiContainer_updateScreen($this);
    $java.nms_GuiEnchantment_func_74205_h($this);
};
$java.nms_GuiEnchantment_mouseClicked = function($this, $par1, $par2, $par3) {
    var $var4, $var5, $var6, $var7, $var8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiContainer_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = ($this.$width - $this.$xSize | 0) / 2 | 0;
        $var5 = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
        $var6 = 0;
        $var7 = $par1 - ($var4 + 60 | 0) | 0;
        $par3 = $var5 + 14 | 0;
        $var4 = $rt_compare($var7, 108);
        while ($var6 < 3) {
            $var8 = $par2 - ($par3 + (19 * $var6 | 0) | 0) | 0;
            if ($var7 >= 0 && $var8 >= 0 && $var4 < 0 && $var8 < 19 && $java.nms_ContainerEnchantment_enchantItem($this.$containerEnchantment, $this.$mc2.$thePlayer, $var6))
                nms_PlayerControllerMP_sendEnchantPacket($this.$mc2.$playerController, $this.$containerEnchantment.$windowId, $var6);
            $var6 = $var6 + 1 | 0;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, $var5, $var6, $var7, $var8, $ptr);
};
$java.nms_GuiEnchantment_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var $var15, $var4, $var5, $var6, $var9, $var7, $var10, $var11, $var8, $var12, var$14, var$15, var$16, var$17, $var18, var$19, $var13, $var14, $var16, $var17, $var19, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var19 = $thread.pop();$var17 = $thread.pop();$var16 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();var$19 = $thread.pop();$var18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();var$14 = $thread.pop();$var12 = $thread.pop();$var8 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var7 = $thread.pop();$var9 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var15 = $thread.pop();$par3 =
        $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var15 = $java.nms_GuiEnchantment_tex_enchant;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var15);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = ($this.$width - $this.$xSize | 0) / 2 | 0;
        $var5 = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
        nms_Gui_drawTexturedModalRect($this, $var4, $var5, 0, 0, $this.$xSize, $this.$ySize0);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glLoadIdentity();
        $var6 = nms_ScaledResolution__init_($this.$mc2.$gameSettings, $this.$mc2.$displayWidth, $this.$mc2.$displayHeight);
        nleg_EaglerAdapterGL30_glViewport($rt_imul((nms_ScaledResolution_getScaledWidth($var6) - 432 | 0) / 2 | 0, nms_ScaledResolution_getScaleFactor($var6)), $rt_imul((nms_ScaledResolution_getScaledHeight($var6) - 182 | 0) / 2 | 0, nms_ScaledResolution_getScaleFactor($var6)), 320 * nms_ScaledResolution_getScaleFactor($var6) | 0, 240 * nms_ScaledResolution_getScaleFactor($var6) | 0);
        nleg_EaglerAdapterGL30_glTranslatef((-0.3400000035762787), 0.23000000417232513, 0.0);
        nleg_EaglerAdapterGL30_gluPerspective(90.0, 1.3333333730697632, 9.0, 80.0);
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glLoadIdentity();
        nms_RenderHelper_enableStandardItemLighting();
        nleg_EaglerAdapterGL30_glTranslatef(0.0, 3.299999952316284, (-16.0));
        nleg_EaglerAdapterGL30_glScalef(1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glScalef(5.0, 5.0, 5.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 0.0, 1.0);
        $var15 = $java.nms_GuiEnchantment_tex_book;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture($var15);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glRotatef(20.0, 1.0, 0.0, 0.0);
        $var9 = $this.$field_74208_u + ($this.$field_74209_t - $this.$field_74208_u) * $par1;
        $var7 = 1.0 - $var9;
        nleg_EaglerAdapterGL30_glTranslatef($var7 * 0.20000000298023224, $var7 * 0.10000000149011612, $var7 * 0.25);
        nleg_EaglerAdapterGL30_glRotatef( -$var7 * 90.0 - 90.0, 0.0, 1.0, 0.0);
        nleg_EaglerAdapterGL30_glRotatef(180.0, 1.0, 0.0, 0.0);
        $var10 = $this.$field_74212_q + ($this.$field_74213_p - $this.$field_74212_q) * $par1 + 0.25;
        $var11 = $this.$field_74212_q + ($this.$field_74213_p - $this.$field_74212_q) * $par1 + 0.75;
        $var7 = ($var10 - nms_MathHelper_truncateDoubleToInt($var10)) * 1.600000023841858 - 0.30000001192092896;
        $var8 = ($var11 - nms_MathHelper_truncateDoubleToInt($var11)) * 1.600000023841858 - 0.30000001192092896;
        if ($var7 < 0.0)
            $var7 = 0.0;
        if ($var8 < 0.0)
            $var8 = 0.0;
        if ($var7 > 1.0)
            $var7 = 1.0;
        if ($var8 > 1.0)
            $var8 = 1.0;
        nleg_EaglerAdapterGL30_glEnable(32826);
        $java.nms_ModelBook_render($java.nms_GuiEnchantment_bookModel, null, 0.0, $var7, $var8, $var9, 0.0, 0.0625);
        nleg_EaglerAdapterGL30_glDisable(32826);
        nms_RenderHelper_disableStandardItemLighting();
        nleg_EaglerAdapterGL30_glMatrixMode(5889);
        nleg_EaglerAdapterGL30_glViewport(0, 0, $this.$mc2.$displayWidth, $this.$mc2.$displayHeight);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nleg_EaglerAdapterGL30_glMatrixMode(5888);
        nleg_EaglerAdapterGL30_glPopMatrix();
        nms_RenderHelper_disableStandardItemLighting();
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var15 = $java.nms_GuiEnchantment_tex_enchant;
        $ptr = 3;
    case 3:
        nle_TextureLocation_bindTexture($var15);
        if ($rt_suspending()) {
            break main;
        }
        $java.nms_EnchantmentNameParts_$callClinit();
        $java.nms_EnchantmentNameParts_setRandSeed($java.nms_EnchantmentNameParts_instance, $this.$containerEnchantment.$nameSeed);
        $var12 = 0;
        var$14 = $var4 + 60 | 0;
        var$15 = $var5 + 14 | 0;
        var$16 = $var4 + 62 | 0;
        var$17 = $var5 + 16 | 0;
        $var5 = var$16 + 104 | 0;
        $var18 = $par2 - var$14 | 0;
        var$19 = $rt_compare($var18, 108);
        if ($var12 >= 3)
            return;
        $var13 = $java.nms_EnchantmentNameParts_generateRandomEnchantName($java.nms_EnchantmentNameParts_instance);
        $this.$zLevel = 0.0;
        $var15 = $java.nms_GuiEnchantment_tex_enchant;
        $ptr = 4;
    case 4:
        nle_TextureLocation_bindTexture($var15);
        if ($rt_suspending()) {
            break main;
        }
        $var14 = $this.$containerEnchantment.$enchantLevels.data[$var12];
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        if (!$var14) {
            nms_Gui_drawTexturedModalRect($this, var$14, var$15 + (19 * $var12 | 0) | 0, 0, 185, 108, 19);
            $var12 = $var12 + 1 | 0;
            if ($var12 >= 3)
                return;
            $var13 = $java.nms_EnchantmentNameParts_generateRandomEnchantName($java.nms_EnchantmentNameParts_instance);
            $this.$zLevel = 0.0;
            $var15 = $java.nms_GuiEnchantment_tex_enchant;
            continue main;
        }
        $var15 = jl_StringBuilder_toString(jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(36)), $var14));
        $var16 = $this.$mc2.$standardGalacticFontRenderer;
        $var17 = 6839882;
        if ($this.$mc2.$thePlayer.$experienceLevel < $var14 && !$this.$mc2.$thePlayer.$capabilities.$isCreativeMode) {
            $par2 = 19 * $var12 | 0;
            nms_Gui_drawTexturedModalRect($this, var$14, var$15 + $par2 | 0, 0, 185, 108, 19);
            $par2 = var$17 + $par2 | 0;
            $var17 = 104;
            $var4 = 3419941;
            $ptr = 5;
            continue main;
        }
        $par2 = 19 * $var12 | 0;
        $var4 = var$15 + $par2 | 0;
        $var19 = $par3 - $var4 | 0;
        if ($var18 >= 0 && $var19 >= 0 && var$19 < 0 && $var19 < 19) {
            nms_Gui_drawTexturedModalRect($this, var$14, $var4, 0, 204, 108, 19);
            $var17 = 16777088;
        } else
            nms_Gui_drawTexturedModalRect($this, var$14, $var4, 0, 166, 108, 19);
        $par2 = var$17 + $par2 | 0;
        $var4 = 104;
        $ptr = 7;
        continue main;
    case 5:
        nms_FontRenderer_drawSplitString($var16, $var13, var$16, $par2, $var17, $var4);
        if ($rt_suspending()) {
            break main;
        }
        $var16 = $this.$mc2.$fontRenderer;
        $var17 = 4226832;
        $var4 = $var5 - nms_FontRenderer_getStringWidth($var16, $var15) | 0;
        $par2 = $par2 + 7 | 0;
        $ptr = 6;
    case 6:
        nms_FontRenderer_drawStringWithShadow($var16, $var15, $var4, $par2, $var17);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $var12 + 1 | 0;
        if ($var12 >= 3)
            return;
        $var13 = $java.nms_EnchantmentNameParts_generateRandomEnchantName($java.nms_EnchantmentNameParts_instance);
        $this.$zLevel = 0.0;
        $var15 = $java.nms_GuiEnchantment_tex_enchant;
        $ptr = 4;
        continue main;
    case 7:
        nms_FontRenderer_drawSplitString($var16, $var13, var$16, $par2, $var4, $var17);
        if ($rt_suspending()) {
            break main;
        }
        $var16 = $this.$mc2.$fontRenderer;
        $var17 = 8453920;
        $var4 = $var5 - nms_FontRenderer_getStringWidth($var16, $var15) | 0;
        $par2 = $par2 + 7 | 0;
        $ptr = 8;
    case 8:
        nms_FontRenderer_drawStringWithShadow($var16, $var15, $var4, $par2, $var17);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = $var12 + 1 | 0;
        if ($var12 >= 3)
            return;
        $var13 = $java.nms_EnchantmentNameParts_generateRandomEnchantName($java.nms_EnchantmentNameParts_instance);
        $this.$zLevel = 0.0;
        $var15 = $java.nms_GuiEnchantment_tex_enchant;
        $ptr = 4;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var15, $var4, $var5, $var6, $var9, $var7, $var10, $var11, $var8, $var12, var$14, var$15, var$16, var$17, $var18, var$19, $var13, $var14, $var16, $var17, $var19, $ptr);
};
$java.nms_GuiEnchantment_func_74205_h = function($this) {
    var $var1, $var2, $var3, $var5, $var4, var$6;
    a: {
        $var1 = nms_Container_getSlot($this.$inventorySlots0, 0).$getStack();
        if (!nms_ItemStack_areItemStacksEqual($var1, $this.$theItemStack0)) {
            $this.$theItemStack0 = $var1;
            while (true) {
                $this.$field_74211_r = $this.$field_74211_r + (nle_EaglercraftRandom_nextInt($this.$rand4, 4) - nle_EaglercraftRandom_nextInt($this.$rand4, 4) | 0);
                if ($this.$field_74213_p > $this.$field_74211_r + 1.0)
                    break a;
                if ($this.$field_74213_p >= $this.$field_74211_r - 1.0)
                    continue;
                else
                    break a;
            }
        }
    }
    $this.$field_74214_o = $this.$field_74214_o + 1 | 0;
    $this.$field_74212_q = $this.$field_74213_p;
    $this.$field_74208_u = $this.$field_74209_t;
    $var2 = 0;
    $var3 = 0;
    while ($var3 < 3) {
        if ($this.$containerEnchantment.$enchantLevels.data[$var3])
            $var2 = 1;
        $var3 = $var3 + 1 | 0;
    }
    if (!$var2)
        $this.$field_74209_t = $this.$field_74209_t - 0.20000000298023224;
    else
        $this.$field_74209_t = $this.$field_74209_t + 0.20000000298023224;
    if ($this.$field_74209_t < 0.0)
        $this.$field_74209_t = 0.0;
    if ($this.$field_74209_t > 1.0)
        $this.$field_74209_t = 1.0;
    $var5 = ($this.$field_74211_r - $this.$field_74213_p) * 0.4000000059604645;
    $var4 = 0.20000000298023224;
    var$6 = (-0.20000000298023224);
    if ($var5 >= var$6)
        var$6 = $var5;
    if (var$6 <= $var4)
        $var4 = var$6;
    $this.$field_74210_s = $this.$field_74210_s + ($var4 - $this.$field_74210_s) * 0.8999999761581421;
    $this.$field_74213_p = $this.$field_74213_p + $this.$field_74210_s;
};
function nms_GuiEnchantment__clinit_() {
    $java.nms_GuiEnchantment_bookModel = $java.nms_ModelBook__init_();
    $java.nms_GuiEnchantment_tex_enchant = nle_TextureLocation__init_($rt_s(3366));
    $java.nms_GuiEnchantment_tex_book = nle_TextureLocation__init_($rt_s(2966));
}
function nms_GuiFurnace() {
    nms_GuiContainer.call(this);
    this.$furnaceInventory = null;
}
$java.nms_GuiFurnace_tex = null;
$java.nms_GuiFurnace_drawGuiContainerForegroundLayer = function($this, $par1, $par2) {
    var $var3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = $java.nms_TileEntityFurnace_isInvNameLocalized($this.$furnaceInventory) ? $java.nms_TileEntityFurnace_getInvName($this.$furnaceInventory) : nms_StatCollector_translateToLocal($java.nms_TileEntityFurnace_getInvName($this.$furnaceInventory));
        var$4 = $this.$fontRenderer0;
        $par1 = ($this.$xSize / 2 | 0) - (nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var3) / 2 | 0) | 0;
        $par2 = 6;
        var$5 = 4210752;
        $ptr = 1;
    case 1:
        nms_FontRenderer_drawString(var$4, $var3, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $var3 = $this.$fontRenderer0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(1385));
        $par1 = 8;
        $par2 = ($this.$ySize0 - 96 | 0) + 2 | 0;
        var$5 = 4210752;
        $ptr = 2;
    case 2:
        nms_FontRenderer_drawString($var3, var$4, $par1, $par2, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, var$4, var$5, $ptr);
};
$java.nms_GuiFurnace_drawGuiContainerBackgroundLayer = function($this, $par1, $par2, $par3) {
    var var$4, $var4, $var5, $var6, $var6_0, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6_0 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();var$4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        var$4 = $java.nms_GuiFurnace_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$4);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = ($this.$width - $this.$xSize | 0) / 2 | 0;
        $var5 = ($this.$height - $this.$ySize0 | 0) / 2 | 0;
        nms_Gui_drawTexturedModalRect($this, $var4, $var5, 0, 0, $this.$xSize, $this.$ySize0);
        if ($java.nms_TileEntityFurnace_isBurning($this.$furnaceInventory)) {
            $var6 = $java.nms_TileEntityFurnace_getBurnTimeRemainingScaled($this.$furnaceInventory, 12);
            nms_Gui_drawTexturedModalRect($this, $var4 + 56 | 0, (($var5 + 36 | 0) + 12 | 0) - $var6 | 0, 176, 12 - $var6 | 0, 14, $var6 + 2 | 0);
        }
        $var6_0 = $java.nms_TileEntityFurnace_getCookProgressScaled($this.$furnaceInventory, 24);
        nms_Gui_drawTexturedModalRect($this, $var4 + 79 | 0, $var5 + 34 | 0, 176, 14, $var6_0 + 1 | 0, 16);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, var$4, $var4, $var5, $var6, $var6_0, $ptr);
};
function nms_GuiFurnace__clinit_() {
    $java.nms_GuiFurnace_tex = nle_TextureLocation__init_($rt_s(3367));
}
function csms_MidiUtils() {
    jl_Object.call(this);
}
$java.csms_MidiUtils__init_ = function() {
    var var_0 = new csms_MidiUtils();
    csms_MidiUtils__init_(var_0);
    return var_0;
};
function csms_MidiUtils__init_(var$0) {
    return;
}
$java.csms_MidiUtils_isMetaEndOfTrack = function(var$1) {
    var var$2;
    if (var$1.$getLength() == 3 && var$1.$getStatus() == 255) {
        var$2 = var$1.$getMessage1().data;
        return (var$2[1] & 255) == 47 && !var$2[2] ? 1 : 0;
    }
    return 0;
};
function jt_AttributedString$AttributedIterator() {
    var a = this; jl_Object.call(a);
    a.$begin = 0;
    a.$end5 = 0;
    a.$offset0 = 0;
    a.$attrString = null;
    a.$attributesAllowed = null;
}
$java.jt_AttributedString$AttributedIterator_getEndIndex = function($this) {
    return $this.$end5;
};
$java.jt_AttributedString$AttributedIterator_getIndex = function($this) {
    return $this.$offset0;
};
$java.jt_AttributedString$AttributedIterator_inRange = function($this, $range) {
    if (!($range.$value19 instanceof jt_Annotation))
        return 1;
    return $range.$start14 >= $this.$begin && $range.$start14 < $this.$end5 && $range.$end7 > $this.$begin && $range.$end7 <= $this.$end5 ? 1 : 0;
};
$java.jt_AttributedString$AttributedIterator_getAllAttributeKeys = function($this) {
    var $result, $it, $entry, $ranges, var$5, var$6;
    if (!$this.$begin && $this.$end5 == jl_String_length($this.$attrString.$text) && $this.$attributesAllowed === null)
        return ju_HashMap_keySet($this.$attrString.$attributeMap);
    $result = ju_HashSet__init_1((($this.$attrString.$attributeMap.$elementCount * 4 | 0) / 3 | 0) + 1 | 0);
    $it = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet($this.$attrString.$attributeMap));
    while (ju_HashMap$AbstractMapIterator_hasNext($it)) {
        $entry = ju_HashMap$EntryIterator_next($it);
        if (!($this.$attributesAllowed !== null && !$this.$attributesAllowed.$contains($entry.$key))) {
            $ranges = ju_AbstractList_iterator($entry.$value1);
            a: {
                while (ju_AbstractList$1_hasNext($ranges)) {
                    var$5 = ju_AbstractList$1_next($ranges);
                    if (var$5.$start14 >= $this.$begin && var$5.$start14 < $this.$end5) {
                        b: {
                            c: {
                                if (var$5.$value19 instanceof jt_Annotation) {
                                    if (var$5.$end7 <= $this.$begin)
                                        break c;
                                    if (var$5.$end7 > $this.$end5)
                                        break c;
                                }
                                var$6 = 1;
                                break b;
                            }
                            var$6 = 0;
                        }
                        break a;
                    }
                    if (var$5.$end7 > $this.$begin && var$5.$end7 <= $this.$end5) {
                        d: {
                            e: {
                                if (var$5.$value19 instanceof jt_Annotation) {
                                    if (var$5.$start14 < $this.$begin)
                                        break e;
                                    if (var$5.$start14 >= $this.$end5)
                                        break e;
                                }
                                var$6 = 1;
                                break d;
                            }
                            var$6 = 0;
                        }
                        break a;
                    }
                }
                var$6 = 0;
            }
            if (var$6)
                ju_HashSet_add($result, $entry.$key);
        }
    }
    return $result;
};
$java.jt_AttributedString$AttributedIterator_currentValue = function($this, $ranges) {
    var $it, $range;
    $it = ju_AbstractList_iterator($ranges);
    while (ju_AbstractList$1_hasNext($it)) {
        $range = ju_AbstractList$1_next($it);
        if ($this.$offset0 >= $range.$start14 && $this.$offset0 < $range.$end7)
            return !$java.jt_AttributedString$AttributedIterator_inRange($this, $range) ? null : $range.$value19;
    }
    return null;
};
$java.jt_AttributedString$AttributedIterator_getAttribute = function($this, $attribute) {
    var $ranges;
    if ($this.$attributesAllowed !== null && !$this.$attributesAllowed.$contains($attribute))
        return null;
    $ranges = ju_HashMap_get($this.$attrString.$attributeMap, $attribute);
    if ($ranges !== null)
        return $java.jt_AttributedString$AttributedIterator_currentValue($this, $ranges);
    return null;
};
$java.jt_AttributedString$AttributedIterator_getAttributes = function($this) {
    var $result, $it, $entry, $value;
    $result = ju_HashMap__init_1((($this.$attrString.$attributeMap.$elementCount * 4 | 0) / 3 | 0) + 1 | 0);
    $it = ju_HashMap$HashMapEntrySet_iterator(ju_HashMap_entrySet($this.$attrString.$attributeMap));
    while (ju_HashMap$AbstractMapIterator_hasNext($it)) {
        $entry = ju_HashMap$EntryIterator_next($it);
        if (!($this.$attributesAllowed !== null && !$this.$attributesAllowed.$contains($entry.$key))) {
            $value = $java.jt_AttributedString$AttributedIterator_currentValue($this, $entry.$value1);
            if ($value !== null)
                ju_HashMap_putImpl($result, $entry.$key, $value);
        }
    }
    return $result;
};
$java.jt_AttributedString$AttributedIterator_getRunLimit = function($this) {
    return $java.jt_AttributedString$AttributedIterator_getRunLimit0($this, $java.jt_AttributedString$AttributedIterator_getAllAttributeKeys($this));
};
$java.jt_AttributedString$AttributedIterator_getRunLimit1 = function($this, $attribute) {
    var $ranges, var$3;
    if ($this.$attributesAllowed !== null && !$this.$attributesAllowed.$contains($attribute))
        return $this.$end5;
    $ranges = ju_HashMap_get($this.$attrString.$attributeMap, $attribute);
    if ($ranges === null)
        return $this.$end5;
    var$3 = $this.$end5;
    $attribute = ju_AbstractList_listIterator($ranges, $ranges.$size);
    a: {
        b: {
            while (true) {
                if (!$java.ju_AbstractList$TListIteratorImpl_hasPrevious($attribute))
                    break b;
                $ranges = $java.ju_AbstractList$TListIteratorImpl_previous($attribute);
                if ($ranges.$end7 <= $this.$begin)
                    break b;
                if ($this.$offset0 >= $ranges.$start14 && $this.$offset0 < $ranges.$end7) {
                    if ($java.jt_AttributedString$AttributedIterator_inRange($this, $ranges))
                        var$3 = $ranges.$end7;
                    break a;
                }
                if ($this.$offset0 >= $ranges.$end7)
                    break;
                var$3 = $ranges.$start14;
            }
        }
    }
    return var$3;
};
$java.jt_AttributedString$AttributedIterator_getRunLimit0 = function($this, $attributes) {
    var $limit, $it, $newLimit;
    $limit = $this.$end5;
    $it = $attributes.$iterator();
    while ($it.$hasNext()) {
        $newLimit = $java.jt_AttributedString$AttributedIterator_getRunLimit1($this, $it.$next());
        if ($newLimit < $limit)
            $limit = $newLimit;
    }
    return $limit;
};
$java.jt_AttributedString$AttributedIterator_getRunStart = function($this) {
    return $java.jt_AttributedString$AttributedIterator_getRunStart0($this, $java.jt_AttributedString$AttributedIterator_getAllAttributeKeys($this));
};
$java.jt_AttributedString$AttributedIterator_getRunStart1 = function($this, $attribute) {
    var $ranges, var$3;
    if ($this.$attributesAllowed !== null && !$this.$attributesAllowed.$contains($attribute))
        return $this.$begin;
    $ranges = ju_HashMap_get($this.$attrString.$attributeMap, $attribute);
    if ($ranges === null)
        return $this.$begin;
    var$3 = $this.$begin;
    $attribute = ju_AbstractList_iterator($ranges);
    a: {
        b: {
            while (true) {
                if (!ju_AbstractList$1_hasNext($attribute))
                    break b;
                $ranges = ju_AbstractList$1_next($attribute);
                if ($ranges.$start14 >= $this.$end5)
                    break b;
                if ($this.$offset0 >= $ranges.$start14 && $this.$offset0 < $ranges.$end7) {
                    if ($java.jt_AttributedString$AttributedIterator_inRange($this, $ranges))
                        var$3 = $ranges.$start14;
                    break a;
                }
                if ($this.$offset0 < $ranges.$start14)
                    break;
                var$3 = $ranges.$end7;
            }
        }
    }
    return var$3;
};
$java.jt_AttributedString$AttributedIterator_getRunStart0 = function($this, $attributes) {
    var $start, $it, $newStart;
    $start = $this.$begin;
    $it = $attributes.$iterator();
    while ($it.$hasNext()) {
        $newStart = $java.jt_AttributedString$AttributedIterator_getRunStart1($this, $it.$next());
        if ($newStart > $start)
            $start = $newStart;
    }
    return $start;
};
$java.jt_AttributedString$AttributedIterator_setIndex = function($this, $location) {
    var var$2;
    if ($location >= $this.$begin && $location <= $this.$end5) {
        $this.$offset0 = $location;
        if ($this.$offset0 == $this.$end5)
            return 65535;
        return jl_String_charAt($this.$attrString.$text, $this.$offset0);
    }
    var$2 = new jl_IllegalArgumentException;
    jl_Throwable__init_0(var$2);
    $rt_throw(var$2);
};
function nms_ShapelessRecipes() {
    var a = this; jl_Object.call(a);
    a.$recipeOutput = null;
    a.$recipeItems = null;
}
$java.nms_ShapelessRecipes_matches = function($this, $par1InventoryCrafting, $par2World) {
    var $var3, $var4, $var5, $var6, $var7, $var8, $var9;
    $var3 = ju_ArrayList__init_3($this.$recipeItems);
    $var4 = 0;
    while ($var4 < 3) {
        $var5 = 0;
        while ($var5 < 3) {
            $var6 = $java.nms_InventoryCrafting_getStackInRowAndColumn($par1InventoryCrafting, $var5, $var4);
            if ($var6 !== null) {
                $var7 = 0;
                $var8 = ju_AbstractList_iterator($var3);
                a: {
                    b: {
                        while (ju_AbstractList$1_hasNext($var8)) {
                            $var9 = ju_AbstractList$1_next($var8);
                            if ($var6.$itemID0 == $var9.$itemID0) {
                                if ($var9.$itemDamage == 32767)
                                    break b;
                                if ($var6.$itemDamage == $var9.$itemDamage)
                                    break b;
                            }
                        }
                        break a;
                    }
                    $var7 = 1;
                    ju_ArrayList_remove0($var3, $var9);
                }
                if (!$var7)
                    return 0;
            }
            $var5 = $var5 + 1 | 0;
        }
        $var4 = $var4 + 1 | 0;
    }
    return ju_AbstractCollection_isEmpty($var3);
};
$java.nms_ShapelessRecipes_getCraftingResult = function($this, $par1InventoryCrafting) {
    return nms_ItemStack_copy($this.$recipeOutput);
};
$java.nms_ShapelessRecipes_getRecipeSize = function($this) {
    return $this.$recipeItems.$size;
};
function nms_EntityDamageSource() {
    nms_DamageSource.call(this);
    this.$damageSourceEntity = null;
}
$java.nms_EntityDamageSource__init_ = function(var_0, var_1) {
    var var_2 = new nms_EntityDamageSource();
    $java.nms_EntityDamageSource__init_0(var_2, var_0, var_1);
    return var_2;
};
$java.nms_EntityDamageSource__init_0 = function($this, $par1Str, $par2Entity) {
    $java.nms_DamageSource__init_0($this, $par1Str);
    $this.$damageSourceEntity = $par2Entity;
};
$java.nms_EntityDamageSource_getEntity = function($this) {
    return $this.$damageSourceEntity;
};
function nms_ContainerChest() {
    var a = this; nms_Container.call(a);
    a.$lowerChestInventory = null;
    a.$numRows = 0;
}
$java.nms_ContainerChest_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if ($par2 >= ($this.$numRows * 9 | 0)) {
                var$6 = 0;
                $par2 = $this.$numRows * 9 | 0;
                var$7 = 0;
                $ptr = 1;
                continue main;
            }
            $par2 = $this.$numRows * 9 | 0;
            var$7 = $this.$inventorySlots.$size;
            var$6 = 1;
            $ptr = 2;
            continue main;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, var$6, $par2, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        $par1EntityPlayer = null;
        $ptr = 4;
        continue main;
    case 2:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$7, var$6);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        $par1EntityPlayer = null;
        $ptr = 4;
        continue main;
    case 3:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    case 4:
        $var4.$putStack($par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, var$6, var$7, $ptr);
};
$java.nms_ContainerChest_onCraftGuiClosed = function($this, $par1EntityPlayer) {
    nms_Container_onCraftGuiClosed($this, $par1EntityPlayer);
};
function nms_ContainerBeacon() {
    var a = this; nms_Container.call(a);
    a.$theBeacon = null;
    a.$beaconSlot = null;
    a.$field_82865_g = 0;
    a.$field_82867_h = 0;
    a.$field_82868_i = 0;
}
$java.nms_ContainerBeacon_addCraftingToCrafters = function($this, $par1ICrafting) {
    nms_Container_addCraftingToCrafters($this, $par1ICrafting);
};
$java.nms_ContainerBeacon_detectAndSendChanges = function($this) {
    nms_Container_detectAndSendChanges($this);
};
$java.nms_ContainerBeacon_updateProgressBar = function($this, $par1, $par2) {
    if (!$par1)
        $this.$theBeacon.$levels = $par2;
    if ($par1 == 1)
        $java.nms_TileEntityBeacon_setPrimaryEffect($this.$theBeacon, $par2);
    if ($par1 == 2)
        $java.nms_TileEntityBeacon_setSecondaryEffect($this.$theBeacon, $par2);
};
$java.nms_ContainerBeacon_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if (!$par2) {
                $par2 = 1;
                var$6 = 37;
                var$7 = 1;
                $ptr = 1;
                continue main;
            }
            if (!$java.nms_Slot_getHasStack($this.$beaconSlot) && $java.nms_SlotBeacon_isItemValid($this.$beaconSlot, $var5) && $var5.$stackSize == 1) {
                $par2 = 0;
                var$6 = 1;
                var$7 = 0;
                $ptr = 4;
                continue main;
            }
            if ($par2 >= 1 && $par2 < 28) {
                $par2 = 28;
                var$6 = 37;
                var$7 = 0;
                $ptr = 3;
                continue main;
            }
            if ($par2 >= 28 && $par2 < 37) {
                $par2 = 1;
                var$6 = 28;
                var$7 = 0;
                $ptr = 7;
                continue main;
            }
            $par2 = 1;
            var$6 = 37;
            var$7 = 0;
            $ptr = 2;
            continue main;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        $java.nms_Slot_onSlotChange($var4, $var5, $var3);
        if ($var5.$stackSize) {
            $ptr = 5;
            continue main;
        }
        var$8 = null;
        $ptr = 6;
        continue main;
    case 2:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 5;
            continue main;
        }
        var$8 = null;
        $ptr = 6;
        continue main;
    case 3:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 5;
            continue main;
        }
        var$8 = null;
        $ptr = 6;
        continue main;
    case 4:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 5;
            continue main;
        }
        var$8 = null;
        $ptr = 6;
        continue main;
    case 5:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 8;
        continue main;
    case 6:
        $var4.$putStack(var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 8;
        continue main;
    case 7:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 5;
            continue main;
        }
        var$8 = null;
        $ptr = 6;
        continue main;
    case 8:
        $var4.$onPickupFromSlot($par1EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
};
function nms_ContainerRepair() {
    var a = this; nms_Container.call(a);
    a.$outputSlot = null;
    a.$inputSlots = null;
    a.$theWorld1 = null;
    a.$field_82861_i = 0;
    a.$field_82858_j = 0;
    a.$field_82859_k = 0;
    a.$maximumCost = 0;
    a.$stackSizeToBeUsedInRepair = 0;
    a.$repairedItemName = null;
    a.$thePlayer0 = null;
}
$java.nms_ContainerRepair_onCraftMatrixChanged = function($this, $par1IInventory) {
    nms_Container_detectAndSendChanges($this);
    if ($par1IInventory === $this.$inputSlots)
        $java.nms_ContainerRepair_updateRepairOutput($this);
};
$java.nms_ContainerRepair_updateRepairOutput = function($this) {
    var $var1, $var2, $var4, $var5, $var6, $var7, $var8, $var19, $var13, $var9, $var10, $var11, $var12, $var20, $var21, $var22, $var14, $var10000, $var15, $var16, $var17, $var18, $var23, $var13_0, $var14_0;
    $var1 = $java.nms_InventoryBasic_getStackInSlot($this.$inputSlots, 0);
    $this.$maximumCost = 0;
    $var2 = 0;
    $var4 = 0;
    if ($var1 === null) {
        $java.nms_InventoryCraftResult_setInventorySlotContents($this.$outputSlot, 0, null);
        $this.$maximumCost = 0;
    } else {
        $var5 = nms_ItemStack_copy($var1);
        $var6 = $java.nms_InventoryBasic_getStackInSlot($this.$inputSlots, 1);
        $var7 = $java.nms_EnchantmentHelper_getEnchantments($var5);
        $var8 = 0;
        $var19 = (0 + nms_ItemStack_getRepairCost($var1) | 0) + ($var6 !== null ? nms_ItemStack_getRepairCost($var6) : 0) | 0;
        $this.$stackSizeToBeUsedInRepair = 0;
        if ($var6 !== null) {
            $var13 = $var6.$itemID0;
            nms_Item_$callClinit();
            $var8 = $var13 == nms_Item_enchantedBook.$itemID && nms_NBTTagList_tagCount($java.nms_ItemEnchantedBook_func_92110_g(nms_Item_enchantedBook, $var6)) > 0 ? 1 : 0;
            if (nms_ItemStack_isItemStackDamageable($var5) && nms_Item_itemsList.data[$var5.$itemID0].$getIsRepairable($var1, $var6)) {
                $var9 = jl_Math_min(nms_ItemStack_getItemDamageForDisplay($var5), nms_ItemStack_getMaxDamage($var5) / 4 | 0);
                if ($var9 <= 0) {
                    $java.nms_InventoryCraftResult_setInventorySlotContents($this.$outputSlot, 0, null);
                    $this.$maximumCost = 0;
                    return;
                }
                $var10 = 0;
                while ($var9 > 0 && $var10 < $var6.$stackSize) {
                    nms_ItemStack_setItemDamage($var5, nms_ItemStack_getItemDamageForDisplay($var5) - $var9 | 0);
                    $var2 = $var2 + (jl_Math_max(1, $var9 / 100 | 0) + ju_HashMap_size($var7) | 0) | 0;
                    $var9 = jl_Math_min(nms_ItemStack_getItemDamageForDisplay($var5), nms_ItemStack_getMaxDamage($var5) / 4 | 0);
                    $var10 = $var10 + 1 | 0;
                }
                $this.$stackSizeToBeUsedInRepair = $var10;
            } else {
                if (!$var8 && !($var5.$itemID0 == $var6.$itemID0 && nms_ItemStack_isItemStackDamageable($var5))) {
                    $java.nms_InventoryCraftResult_setInventorySlotContents($this.$outputSlot, 0, null);
                    $this.$maximumCost = 0;
                    return;
                }
                if (nms_ItemStack_isItemStackDamageable($var5) && !$var8) {
                    $var9 = nms_ItemStack_getMaxDamage($var1) - nms_ItemStack_getItemDamageForDisplay($var1) | 0;
                    $var11 = (nms_ItemStack_getMaxDamage($var6) - nms_ItemStack_getItemDamageForDisplay($var6) | 0) + ((nms_ItemStack_getMaxDamage($var5) * 12 | 0) / 100 | 0) | 0;
                    $var12 = $var9 + $var11 | 0;
                    $var13 = nms_ItemStack_getMaxDamage($var5) - $var12 | 0;
                    if ($var13 < 0)
                        $var13 = 0;
                    if ($var13 < nms_ItemStack_getItemDamage($var5)) {
                        nms_ItemStack_setItemDamage($var5, $var13);
                        $var2 = $var2 + jl_Math_max(1, $var11 / 100 | 0) | 0;
                    }
                }
                $var20 = $java.nms_EnchantmentHelper_getEnchantments($var6);
                $var21 = $java.ju_LinkedHashMap_keySet($var20).$iterator();
                while ($var21.$hasNext()) {
                    $var11 = jl_Integer_intValue($var21.$next());
                    nms_Enchantment_$callClinit();
                    $var22 = nms_Enchantment_enchantmentsList.data[$var11];
                    $var13 = !ju_HashMap_containsKey($var7, jl_Integer_valueOf($var11)) ? 0 : jl_Integer_intValue($java.ju_LinkedHashMap_get($var7, jl_Integer_valueOf($var11)));
                    $var14 = jl_Integer_intValue($java.ju_LinkedHashMap_get($var20, jl_Integer_valueOf($var11)));
                    $var10000 = $var13 != $var14 ? jl_Math_max($var14, $var13) : $var14 + 1 | 0;
                    $var15 = $var10000 - $var13 | 0;
                    $var16 = $var22.$canApply($var1);
                    if (!(!$this.$thePlayer0.$capabilities.$isCreativeMode && $var1.$itemID0 != nms_Item_enchantedBook.$itemID))
                        $var16 = 1;
                    $var17 = $java.ju_LinkedHashMap_keySet($var7).$iterator();
                    while ($var17.$hasNext()) {
                        $var18 = jl_Integer_intValue($var17.$next());
                        if ($var18 != $var11 && !$var22.$canApplyTogether(nms_Enchantment_enchantmentsList.data[$var18])) {
                            $var16 = 0;
                            $var2 = $var2 + $var15 | 0;
                        }
                    }
                    if ($var16) {
                        if ($var10000 > $var22.$getMaxLevel())
                            $var10000 = $var22.$getMaxLevel();
                        a: {
                            b: {
                                c: {
                                    ju_LinkedHashMap_put($var7, jl_Integer_valueOf($var11), jl_Integer_valueOf($var10000));
                                    $var23 = 0;
                                    switch ($java.nms_Enchantment_getWeight($var22)) {
                                        case 1:
                                            break;
                                        case 2:
                                            $var23 = 4;
                                            break b;
                                        case 5:
                                            $var23 = 2;
                                            break a;
                                        case 10:
                                            $var23 = 1;
                                            break a;
                                        case 3:
                                        case 4:
                                        case 6:
                                        case 7:
                                        case 8:
                                        case 9:
                                            break c;
                                        default:
                                            break c;
                                    }
                                    $var23 = 8;
                                    break a;
                                }
                            }
                        }
                        if ($var8)
                            $var23 = jl_Math_max(1, $var23 / 2 | 0);
                        $var2 = $var2 + $rt_imul($var23, $var15) | 0;
                    }
                }
            }
        }
        if ($this.$repairedItemName !== null && jl_String_length($this.$repairedItemName) > 0 && !jl_String_equalsIgnoreCase($this.$repairedItemName, nms_StringTranslate_translateNamedKey(nms_EntityPlayer_getTranslator($this.$thePlayer0), nms_ItemStack_getItemName($var1))) && !jl_String_equals($this.$repairedItemName, nms_ItemStack_getDisplayName($var1))) {
            $var4 = nms_ItemStack_isItemStackDamageable($var1) ? 7 : $var1.$stackSize * 5 | 0;
            $var2 = $var2 + $var4 | 0;
            if (nms_ItemStack_hasDisplayName($var1))
                $var19 = $var19 + ($var4 / 2 | 0) | 0;
            nms_ItemStack_setItemName($var5, $this.$repairedItemName);
        }
        $var9 = 0;
        $var21 = $java.ju_LinkedHashMap_keySet($var7).$iterator();
        while ($var21.$hasNext()) {
            d: {
                e: {
                    f: {
                        $var11 = jl_Integer_intValue($var21.$next());
                        nms_Enchantment_$callClinit();
                        $var22 = nms_Enchantment_enchantmentsList.data[$var11];
                        $var13_0 = jl_Integer_intValue($java.ju_LinkedHashMap_get($var7, jl_Integer_valueOf($var11)));
                        $var14_0 = 0;
                        $var9 = $var9 + 1 | 0;
                        switch ($java.nms_Enchantment_getWeight($var22)) {
                            case 1:
                                break;
                            case 2:
                                $var14_0 = 4;
                                break e;
                            case 5:
                                $var14_0 = 2;
                                break d;
                            case 10:
                                $var14_0 = 1;
                                break d;
                            case 3:
                            case 4:
                            case 6:
                            case 7:
                            case 8:
                            case 9:
                                break f;
                            default:
                                break f;
                        }
                        $var14_0 = 8;
                        break d;
                    }
                }
            }
            if ($var8)
                $var14_0 = jl_Math_max(1, $var14_0 / 2 | 0);
            $var19 = $var19 + ($var9 + $rt_imul($var13_0, $var14_0) | 0) | 0;
        }
        if ($var8)
            $var19 = jl_Math_max(1, $var19 / 2 | 0);
        $this.$maximumCost = $var19 + $var2 | 0;
        if ($var2 <= 0)
            $var5 = null;
        if ($var4 == $var2 && $var4 > 0 && $this.$maximumCost >= 40) {
            ji_PrintStream_println(jl_System_out(), $rt_s(3368));
            $this.$maximumCost = 39;
        }
        if ($this.$maximumCost >= 40 && !$this.$thePlayer0.$capabilities.$isCreativeMode)
            $var5 = null;
        if ($var5 !== null) {
            $var10 = nms_ItemStack_getRepairCost($var5);
            if ($var6 !== null && $var10 < nms_ItemStack_getRepairCost($var6))
                $var10 = nms_ItemStack_getRepairCost($var6);
            if (nms_ItemStack_hasDisplayName($var5))
                $var10 = $var10 + (-9) | 0;
            if ($var10 < 0)
                $var10 = 0;
            nms_ItemStack_setRepairCost($var5, $var10 + 2 | 0);
            $java.nms_EnchantmentHelper_setEnchantments($var7, $var5);
        }
        $java.nms_InventoryCraftResult_setInventorySlotContents($this.$outputSlot, 0, $var5);
        nms_Container_detectAndSendChanges($this);
    }
};
$java.nms_ContainerRepair_addCraftingToCrafters = function($this, $par1ICrafting) {
    nms_Container_addCraftingToCrafters($this, $par1ICrafting);
};
$java.nms_ContainerRepair_updateProgressBar = function($this, $par1, $par2) {
    if (!$par1)
        $this.$maximumCost = $par2;
};
$java.nms_ContainerRepair_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if ($par2 == 2) {
                $par2 = 3;
                var$6 = 39;
                var$7 = 1;
                $ptr = 1;
                continue main;
            }
            if ($par2 && $par2 != 1) {
                if ($par2 >= 3 && $par2 < 39) {
                    $par2 = 0;
                    var$6 = 2;
                    var$7 = 0;
                    $ptr = 5;
                    continue main;
                }
                if ($var5.$stackSize) {
                    $ptr = 3;
                    continue main;
                }
                var$8 = null;
                $ptr = 4;
                continue main;
            }
            $par2 = 3;
            var$6 = 39;
            var$7 = 0;
            $ptr = 2;
            continue main;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        $java.nms_Slot_onSlotChange($var4, $var5, $var3);
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 2:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 3:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 6;
        continue main;
    case 4:
        $var4.$putStack(var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 6;
        continue main;
    case 5:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 6:
        $var4.$onPickupFromSlot($par1EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
};
$java.nms_ContainerRepair_updateItemName = function($this, $par1Str) {
    $this.$repairedItemName = $par1Str;
    if (nms_Container_getSlot($this, 2).$getHasStack())
        nms_ItemStack_setItemName(nms_Container_getSlot($this, 2).$getStack(), $this.$repairedItemName);
    $java.nms_ContainerRepair_updateRepairOutput($this);
};
function nms_ContainerDispenser() {
    nms_Container.call(this);
    this.$tileEntityDispenser = null;
}
$java.nms_ContainerDispenser_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if ($par2 >= 9) {
                $par2 = 0;
                var$6 = 9;
                var$7 = 0;
                $ptr = 1;
                continue main;
            }
            var$6 = 9;
            var$7 = 45;
            $par2 = 1;
            $ptr = 2;
            continue main;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 2:
        $tmp = nms_Container_mergeItemStack($this, $var5, var$6, var$7, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 3:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 5;
        continue main;
    case 4:
        $var4.$putStack(var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 5;
    case 5:
        $var4.$onPickupFromSlot($par1EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
};
function nms_ContainerHopper() {
    nms_Container.call(this);
    this.$field_94538_a = null;
}
$java.nms_ContainerHopper_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, var$6, var$7, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if ($par2 >= nms_TileEntityHopper_getSizeInventory($this.$field_94538_a)) {
                $par2 = 0;
                var$6 = nms_TileEntityHopper_getSizeInventory($this.$field_94538_a);
                var$7 = 0;
                $ptr = 1;
                continue main;
            }
            $par2 = nms_TileEntityHopper_getSizeInventory($this.$field_94538_a);
            var$6 = $this.$inventorySlots.$size;
            var$7 = 1;
            $ptr = 2;
            continue main;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        $par1EntityPlayer = null;
        $ptr = 4;
        continue main;
    case 2:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        $par1EntityPlayer = null;
        $ptr = 4;
        continue main;
    case 3:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    case 4:
        $var4.$putStack($par1EntityPlayer);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, var$6, var$7, $ptr);
};
$java.nms_ContainerHopper_onCraftGuiClosed = function($this, $par1EntityPlayer) {
    nms_Container_onCraftGuiClosed($this, $par1EntityPlayer);
};
function nms_ContainerMerchant() {
    var a = this; nms_Container.call(a);
    a.$theMerchant = null;
    a.$merchantInventory = null;
    a.$theWorld3 = null;
}
$java.nms_ContainerMerchant_addCraftingToCrafters = function($this, $par1ICrafting) {
    nms_Container_addCraftingToCrafters($this, $par1ICrafting);
};
$java.nms_ContainerMerchant_detectAndSendChanges = function($this) {
    nms_Container_detectAndSendChanges($this);
};
$java.nms_ContainerMerchant_setCurrentRecipeIndex = function($this, $par1) {
    $java.nms_InventoryMerchant_setCurrentRecipeIndex($this.$merchantInventory, $par1);
};
$java.nms_ContainerMerchant_updateProgressBar = function($this, $par1, $par2) {
    return;
};
$java.nms_ContainerMerchant_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if ($par2 == 2) {
                $par2 = 3;
                var$6 = 39;
                var$7 = 1;
                $ptr = 1;
                continue main;
            }
            if ($par2 && $par2 != 1) {
                if ($par2 >= 3 && $par2 < 30) {
                    $par2 = 30;
                    var$6 = 39;
                    var$7 = 0;
                    $ptr = 5;
                    continue main;
                }
                if ($par2 >= 30 && $par2 < 39) {
                    $par2 = 3;
                    var$6 = 30;
                    var$7 = 0;
                    $ptr = 7;
                    continue main;
                }
                if ($var5.$stackSize) {
                    $ptr = 3;
                    continue main;
                }
                var$8 = null;
                $ptr = 4;
                continue main;
            }
            $par2 = 3;
            var$6 = 39;
            var$7 = 0;
            $ptr = 2;
            continue main;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        $java.nms_Slot_onSlotChange($var4, $var5, $var3);
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 2:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 3:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 6;
        continue main;
    case 4:
        $var4.$putStack(var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 6;
        continue main;
    case 5:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 6:
        $var4.$onPickupFromSlot($par1EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    case 7:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
};
$java.nms_ContainerMerchant_onCraftGuiClosed = function($this, $par1EntityPlayer) {
    nms_Container_onCraftGuiClosed($this, $par1EntityPlayer);
    nms_Container_onCraftGuiClosed($this, $par1EntityPlayer);
};
function nms_ContainerBrewingStand() {
    var a = this; nms_Container.call(a);
    a.$tileBrewingStand = null;
    a.$theSlot = null;
    a.$brewTime = 0;
}
$java.nms_ContainerBrewingStand_addCraftingToCrafters = function($this, $par1ICrafting) {
    nms_Container_addCraftingToCrafters($this, $par1ICrafting);
};
$java.nms_ContainerBrewingStand_detectAndSendChanges = function($this) {
    var $var1, $var2;
    nms_Container_detectAndSendChanges($this);
    $var1 = 0;
    while ($var1 < $this.$crafters.$size) {
        $var2 = ju_ArrayList_get($this.$crafters, $var1);
        if ($this.$brewTime != $this.$tileBrewingStand.$brewTime0)
            $var2.$sendProgressBarUpdate($this, 0, $this.$tileBrewingStand.$brewTime0);
        $var1 = $var1 + 1 | 0;
    }
    $this.$brewTime = $this.$tileBrewingStand.$brewTime0;
};
$java.nms_ContainerBrewingStand_updateProgressBar = function($this, $par1, $par2) {
    if (!$par1)
        $this.$tileBrewingStand.$brewTime0 = $par2;
};
$java.nms_ContainerBrewingStand_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if (!($par2 >= 0 && $par2 <= 2) && $par2 != 3) {
                if (!$java.nms_Slot_getHasStack($this.$theSlot) && $this.$theSlot.$isItemValid($var5)) {
                    $par2 = 3;
                    var$6 = 4;
                    var$7 = 0;
                    $ptr = 3;
                    continue main;
                }
                if ($java.nms_SlotBrewingStandPotion_canHoldPotion($var3)) {
                    $par2 = 0;
                    var$6 = 3;
                    var$7 = 0;
                    $ptr = 2;
                    continue main;
                }
                if ($par2 >= 4 && $par2 < 31) {
                    $par2 = 31;
                    var$6 = 40;
                    var$7 = 0;
                    $ptr = 7;
                    continue main;
                }
                if ($par2 >= 31 && $par2 < 40) {
                    $par2 = 4;
                    var$6 = 31;
                    var$7 = 0;
                    $ptr = 9;
                    continue main;
                }
                $par2 = 4;
                var$6 = 40;
                var$7 = 0;
                $ptr = 6;
                continue main;
            }
            $par2 = 4;
            var$6 = 40;
            var$7 = 1;
            $ptr = 1;
            continue main;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        $java.nms_Slot_onSlotChange($var4, $var5, $var3);
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 2:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 3:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 4:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 8;
        continue main;
    case 5:
        $var4.$putStack(var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 8;
        continue main;
    case 6:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 7:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    case 8:
        $var4.$onPickupFromSlot($par1EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    case 9:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 4;
            continue main;
        }
        var$8 = null;
        $ptr = 5;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
};
function nms_ContainerEnchantment() {
    var a = this; nms_Container.call(a);
    a.$tableInventory = null;
    a.$worldPointer = null;
    a.$posX4 = 0;
    a.$posY4 = 0;
    a.$posZ3 = 0;
    a.$rand3 = null;
    a.$nameSeed = Long_ZERO;
    a.$enchantLevels = null;
}
$java.nms_ContainerEnchantment_addCraftingToCrafters = function($this, $par1ICrafting) {
    nms_Container_addCraftingToCrafters($this, $par1ICrafting);
};
$java.nms_ContainerEnchantment_detectAndSendChanges = function($this) {
    var $var1, $var2;
    nms_Container_detectAndSendChanges($this);
    $var1 = 0;
    while ($var1 < $this.$crafters.$size) {
        $var2 = ju_ArrayList_get($this.$crafters, $var1);
        $var2.$sendProgressBarUpdate($this, 0, $this.$enchantLevels.data[0]);
        $var2.$sendProgressBarUpdate($this, 1, $this.$enchantLevels.data[1]);
        $var2.$sendProgressBarUpdate($this, 2, $this.$enchantLevels.data[2]);
        $var1 = $var1 + 1 | 0;
    }
};
$java.nms_ContainerEnchantment_updateProgressBar = function($this, $par1, $par2) {
    if ($par1 >= 0 && $par1 <= 2)
        $this.$enchantLevels.data[$par1] = $par2;
};
$java.nms_ContainerEnchantment_onCraftMatrixChanged = function($this, $par1IInventory) {
    var $var2, $var3;
    a: {
        if ($par1IInventory === $this.$tableInventory) {
            $var2 = $java.nms_InventoryBasic_getStackInSlot($par1IInventory, 0);
            if ($var2 !== null && nms_ItemStack_isItemEnchantable($var2))
                $this.$nameSeed = nle_EaglercraftRandom_nextLong($this.$rand3);
            else {
                $var3 = 0;
                while (true) {
                    if ($var3 >= 3)
                        break a;
                    $this.$enchantLevels.data[$var3] = 0;
                    $var3 = $var3 + 1 | 0;
                }
            }
        }
    }
};
$java.nms_ContainerEnchantment_enchantItem = function($this, $par1EntityPlayer, $par2) {
    var $var3;
    a: {
        $var3 = $java.nms_InventoryBasic_getStackInSlot($this.$tableInventory, 0);
        if ($this.$enchantLevels.data[$par2] > 0 && $var3 !== null) {
            if ($par1EntityPlayer.$experienceLevel >= $this.$enchantLevels.data[$par2])
                break a;
            if ($par1EntityPlayer.$capabilities.$isCreativeMode)
                break a;
        }
        return 0;
    }
    return 1;
};
$java.nms_ContainerEnchantment_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if (!$par2) {
                $par2 = 1;
                var$6 = 37;
                var$7 = 1;
                $ptr = 1;
                continue main;
            }
            if (!ju_ArrayList_get($this.$inventorySlots, 0).$getHasStack() && ju_ArrayList_get($this.$inventorySlots, 0).$isItemValid($var5)) {
                if (nms_ItemStack_hasTagCompound($var5) && $var5.$stackSize == 1) {
                    var$8 = ju_ArrayList_get($this.$inventorySlots, 0);
                    var$9 = nms_ItemStack_copy($var5);
                    $ptr = 5;
                    continue main;
                }
                if ($var5.$stackSize < 1) {
                    if ($var5.$stackSize) {
                        $ptr = 2;
                        continue main;
                    }
                    var$8 = null;
                    $ptr = 3;
                    continue main;
                }
                var$8 = ju_ArrayList_get($this.$inventorySlots, 0);
                var$9 = nms_ItemStack__init_0($var5.$itemID0, 1, $var5.$itemDamage);
                $ptr = 4;
                continue main;
            }
            return null;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 2;
            continue main;
        }
        var$8 = null;
        $ptr = 3;
        continue main;
    case 2:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 6;
        continue main;
    case 3:
        $var4.$putStack(var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 6;
        continue main;
    case 4:
        var$8.$putStack(var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var5.$stackSize = $var5.$stackSize - 1 | 0;
        if ($var5.$stackSize) {
            $ptr = 2;
            continue main;
        }
        var$8 = null;
        $ptr = 3;
        continue main;
    case 5:
        var$8.$putStack(var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var5.$stackSize = 0;
        if ($var5.$stackSize) {
            $ptr = 2;
            continue main;
        }
        var$8 = null;
        $ptr = 3;
        continue main;
    case 6:
        $var4.$onPickupFromSlot($par1EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, var$6, var$7, var$8, var$9, $ptr);
};
function nms_ContainerFurnace() {
    var a = this; nms_Container.call(a);
    a.$furnace = null;
    a.$lastCookTime = 0;
    a.$lastBurnTime = 0;
    a.$lastItemBurnTime = 0;
}
$java.nms_ContainerFurnace_addCraftingToCrafters = function($this, $par1ICrafting) {
    nms_Container_addCraftingToCrafters($this, $par1ICrafting);
};
$java.nms_ContainerFurnace_detectAndSendChanges = function($this) {
    var $var1, $var2;
    nms_Container_detectAndSendChanges($this);
    $var1 = 0;
    while ($var1 < $this.$crafters.$size) {
        $var2 = ju_ArrayList_get($this.$crafters, $var1);
        if ($this.$lastCookTime != $this.$furnace.$furnaceCookTime)
            $var2.$sendProgressBarUpdate($this, 0, $this.$furnace.$furnaceCookTime);
        if ($this.$lastBurnTime != $this.$furnace.$furnaceBurnTime)
            $var2.$sendProgressBarUpdate($this, 1, $this.$furnace.$furnaceBurnTime);
        if ($this.$lastItemBurnTime != $this.$furnace.$currentItemBurnTime)
            $var2.$sendProgressBarUpdate($this, 2, $this.$furnace.$currentItemBurnTime);
        $var1 = $var1 + 1 | 0;
    }
    $this.$lastCookTime = $this.$furnace.$furnaceCookTime;
    $this.$lastBurnTime = $this.$furnace.$furnaceBurnTime;
    $this.$lastItemBurnTime = $this.$furnace.$currentItemBurnTime;
};
$java.nms_ContainerFurnace_updateProgressBar = function($this, $par1, $par2) {
    if (!$par1)
        $this.$furnace.$furnaceCookTime = $par2;
    if ($par1 == 1)
        $this.$furnace.$furnaceBurnTime = $par2;
    if ($par1 == 2)
        $this.$furnace.$currentItemBurnTime = $par2;
};
$java.nms_ContainerFurnace_transferStackInSlot = function($this, $par1EntityPlayer, $par2) {
    var $var3, $var4, $var5, var$6, var$7, var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = null;
        $var4 = ju_ArrayList_get($this.$inventorySlots, $par2);
        if ($var4 !== null && $var4.$getHasStack()) {
            $var5 = $var4.$getStack();
            $var3 = nms_ItemStack_copy($var5);
            if ($par2 == 2) {
                $par2 = 3;
                var$6 = 39;
                var$7 = 1;
                $ptr = 1;
                continue main;
            }
            if ($par2 != 1 && $par2) {
                if ($java.nms_FurnaceRecipes_getSmeltingResult($java.nms_FurnaceRecipes_smeltingBase, nms_ItemStack_getItem($var5).$itemID) !== null) {
                    $par2 = 0;
                    var$6 = 1;
                    var$7 = 0;
                    $ptr = 5;
                    continue main;
                }
                if ($java.nms_TileEntityFurnace_getItemBurnTime($var5) <= 0 ? 0 : 1) {
                    $par2 = 1;
                    var$6 = 2;
                    var$7 = 0;
                    $ptr = 7;
                    continue main;
                }
                if ($par2 >= 3 && $par2 < 30) {
                    $par2 = 30;
                    var$6 = 39;
                    var$7 = 0;
                    $ptr = 8;
                    continue main;
                }
                if ($par2 >= 30 && $par2 < 39) {
                    $par2 = 3;
                    var$6 = 30;
                    var$7 = 0;
                    $ptr = 9;
                    continue main;
                }
                if ($var5.$stackSize) {
                    $ptr = 3;
                    continue main;
                }
                var$8 = null;
                $ptr = 4;
                continue main;
            }
            $par2 = 3;
            var$6 = 39;
            var$7 = 0;
            $ptr = 2;
            continue main;
        }
        return $var3;
    case 1:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        $java.nms_Slot_onSlotChange($var4, $var5, $var3);
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 2:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 3:
        $var4.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 6;
        continue main;
    case 4:
        $var4.$putStack(var$8);
        if ($rt_suspending()) {
            break main;
        }
        if ($var5.$stackSize == $var3.$stackSize)
            return null;
        $ptr = 6;
        continue main;
    case 5:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 6:
        $var4.$onPickupFromSlot($par1EntityPlayer, $var5);
        if ($rt_suspending()) {
            break main;
        }
        return $var3;
    case 7:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 8:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    case 9:
        $tmp = nms_Container_mergeItemStack($this, $var5, $par2, var$6, var$7);
        if ($rt_suspending()) {
            break main;
        }
        $par2 = $tmp;
        if (!$par2)
            return null;
        if ($var5.$stackSize) {
            $ptr = 3;
            continue main;
        }
        var$8 = null;
        $ptr = 4;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2, $var3, $var4, $var5, var$6, var$7, var$8, $ptr);
};
function oj_JSONString() {
}
function nms_EntityDamageSourceIndirect() {
    nms_EntityDamageSource.call(this);
    this.$indirectEntity = null;
}
$java.nms_EntityDamageSourceIndirect__init_ = function(var_0, var_1, var_2) {
    var var_3 = new nms_EntityDamageSourceIndirect();
    $java.nms_EntityDamageSourceIndirect__init_0(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_EntityDamageSourceIndirect__init_0 = function($this, $par1Str, $par2Entity, $par3Entity) {
    $java.nms_EntityDamageSource__init_0($this, $par1Str, $par2Entity);
    $this.$indirectEntity = $par3Entity;
};
$java.nms_EntityDamageSourceIndirect_getSourceOfDamage = function($this) {
    return $this.$damageSourceEntity;
};
$java.nms_EntityDamageSourceIndirect_getEntity = function($this) {
    return $this.$indirectEntity;
};
function nms_SlotBeacon() {
    nms_Slot.call(this);
    this.$beacon = null;
}
$java.nms_SlotBeacon_isItemValid = function($this, $par1ItemStack) {
    var var$2;
    if ($par1ItemStack === null)
        var$2 = 0;
    else {
        var$2 = $par1ItemStack.$itemID0;
        nms_Item_$callClinit();
        var$2 = var$2 != nms_Item_emerald.$itemID && $par1ItemStack.$itemID0 != nms_Item_diamond.$itemID && $par1ItemStack.$itemID0 != nms_Item_ingotGold.$itemID && $par1ItemStack.$itemID0 != nms_Item_ingotIron.$itemID ? 0 : 1;
    }
    return var$2;
};
$java.nms_SlotBeacon_getSlotStackLimit = function($this) {
    return 1;
};
function nms_InventoryRepair() {
    nms_InventoryBasic.call(this);
    this.$theContainer = null;
}
$java.nms_InventoryRepair_onInventoryChanged = function($this) {
    $java.nms_InventoryBasic_onInventoryChanged($this);
    $java.nms_ContainerRepair_onCraftMatrixChanged($this.$theContainer, $this);
};
function nms_SlotRepair() {
    var a = this; nms_Slot.call(a);
    a.$theWorld2 = null;
    a.$blockPosX = 0;
    a.$blockPosY = 0;
    a.$blockPosZ = 0;
    a.$anvil = null;
}
$java.nms_SlotRepair_isItemValid = function($this, $par1ItemStack) {
    return 0;
};
$java.nms_SlotRepair_canTakeStack = function($this, $par1EntityPlayer) {
    return !(!$par1EntityPlayer.$capabilities.$isCreativeMode && $par1EntityPlayer.$experienceLevel < $this.$anvil.$maximumCost) && $this.$anvil.$maximumCost > 0 && $java.nms_Slot_getHasStack($this) ? 1 : 0;
};
$java.nms_SlotRepair_onPickupFromSlot = function($this, $par1EntityPlayer, $par2ItemStack) {
    var $var3;
    if (!$par1EntityPlayer.$capabilities.$isCreativeMode)
        nms_EntityPlayer_addExperienceLevel($par1EntityPlayer,  -$this.$anvil.$maximumCost);
    $java.nms_InventoryBasic_setInventorySlotContents($this.$anvil.$inputSlots, 0, null);
    if ($this.$anvil.$stackSizeToBeUsedInRepair <= 0)
        $java.nms_InventoryBasic_setInventorySlotContents($this.$anvil.$inputSlots, 1, null);
    else {
        $var3 = $java.nms_InventoryBasic_getStackInSlot($this.$anvil.$inputSlots, 1);
        if ($var3 !== null && $var3.$stackSize > $this.$anvil.$stackSizeToBeUsedInRepair) {
            $var3.$stackSize = $var3.$stackSize - $this.$anvil.$stackSizeToBeUsedInRepair | 0;
            $java.nms_InventoryBasic_setInventorySlotContents($this.$anvil.$inputSlots, 1, $var3);
        } else
            $java.nms_InventoryBasic_setInventorySlotContents($this.$anvil.$inputSlots, 1, null);
    }
    $this.$anvil.$maximumCost = 0;
};
function nms_SlotMerchantResult() {
    var a = this; nms_Slot.call(a);
    a.$theMerchantInventory = null;
    a.$thePlayer2 = null;
    a.$field_75231_g = 0;
    a.$theMerchant0 = null;
}
$java.nms_SlotMerchantResult_isItemValid = function($this, $par1ItemStack) {
    return 0;
};
$java.nms_SlotMerchantResult_decrStackSize = function($this, $par1) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_Slot_getHasStack($this))
            $this.$field_75231_g = $this.$field_75231_g + jl_Math_min($par1, $java.nms_Slot_getStack($this).$stackSize) | 0;
        $ptr = 1;
    case 1:
        $tmp = $java.nms_Slot_decrStackSize($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        return var$2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, $ptr);
};
$java.nms_SlotMerchantResult_onCrafting = function($this, $par1ItemStack, $par2) {
    $this.$field_75231_g = $this.$field_75231_g + $par2 | 0;
    $java.nms_SlotMerchantResult_onCrafting0($this, $par1ItemStack);
};
$java.nms_SlotMerchantResult_onCrafting0 = function($this, $par1ItemStack) {
    nms_ItemStack_onCrafting($par1ItemStack, $this.$thePlayer2.$worldObj, $this.$thePlayer2, $this.$field_75231_g);
    $this.$field_75231_g = 0;
};
$java.nms_SlotMerchantResult_onPickupFromSlot = function($this, $par1EntityPlayer, $par2ItemStack) {
    var $var3, $var4, $var5;
    $java.nms_SlotMerchantResult_onCrafting0($this, $par2ItemStack);
    $var3 = $this.$theMerchantInventory.$currentRecipe;
    if ($var3 !== null) {
        $var4 = $java.nms_InventoryMerchant_getStackInSlot($this.$theMerchantInventory, 0);
        $var5 = $java.nms_InventoryMerchant_getStackInSlot($this.$theMerchantInventory, 1);
        if (!(!$java.nms_SlotMerchantResult_func_75230_a($this, $var3, $var4, $var5) && !$java.nms_SlotMerchantResult_func_75230_a($this, $var3, $var5, $var4))) {
            if ($var4 !== null && $var4.$stackSize <= 0)
                $var4 = null;
            if ($var5 !== null && $var5.$stackSize <= 0)
                $var5 = null;
            $java.nms_InventoryMerchant_setInventorySlotContents($this.$theMerchantInventory, 0, $var4);
            $java.nms_InventoryMerchant_setInventorySlotContents($this.$theMerchantInventory, 1, $var5);
        }
    }
};
$java.nms_SlotMerchantResult_func_75230_a = function($this, $par1MerchantRecipe, $par2ItemStack, $par3ItemStack) {
    var $var4, $var5;
    $var4 = $par1MerchantRecipe.$itemToBuy;
    $var5 = $par1MerchantRecipe.$secondItemToBuy;
    if ($par2ItemStack !== null && $par2ItemStack.$itemID0 == $var4.$itemID0) {
        if ($var5 !== null && $par3ItemStack !== null && $var5.$itemID0 == $par3ItemStack.$itemID0) {
            $par2ItemStack.$stackSize = $par2ItemStack.$stackSize - $var4.$stackSize | 0;
            $par3ItemStack.$stackSize = $par3ItemStack.$stackSize - $var5.$stackSize | 0;
            return 1;
        }
        if ($var5 === null && $par3ItemStack === null) {
            $par2ItemStack.$stackSize = $par2ItemStack.$stackSize - $var4.$stackSize | 0;
            return 1;
        }
    }
    return 0;
};
function nms_SlotBrewingStandPotion() {
    nms_Slot.call(this);
    this.$player0 = null;
}
function nms_SlotBrewingStandPotion__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_SlotBrewingStandPotion();
    $java.nms_SlotBrewingStandPotion__init_(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
$java.nms_SlotBrewingStandPotion__init_ = function($this, $par1EntityPlayer, $par2IInventory, $par3, $par4, $par5) {
    nms_Slot__init_0($this, $par2IInventory, $par3, $par4, $par5);
    $this.$player0 = $par1EntityPlayer;
};
$java.nms_SlotBrewingStandPotion_isItemValid = function($this, $par1ItemStack) {
    return $java.nms_SlotBrewingStandPotion_canHoldPotion($par1ItemStack);
};
$java.nms_SlotBrewingStandPotion_getSlotStackLimit = function($this) {
    return 1;
};
$java.nms_SlotBrewingStandPotion_onPickupFromSlot = function($this, $par1EntityPlayer, $par2ItemStack) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2ItemStack = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $par2ItemStack.$itemID0;
        nms_Item_$callClinit();
        if (var$3 == nms_Item_potion.$itemID && $par2ItemStack.$itemDamage > 0) {
            $par1EntityPlayer = $this.$player0;
            nms_AchievementList_$callClinit();
            $par1EntityPlayer.$addStat(nms_AchievementList_potion, 1);
        }
        $ptr = 1;
    case 1:
        $this.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2ItemStack, var$3, $ptr);
};
$java.nms_SlotBrewingStandPotion_canHoldPotion = function($par0ItemStack) {
    var var$2;
    a: {
        b: {
            if ($par0ItemStack !== null) {
                var$2 = $par0ItemStack.$itemID0;
                nms_Item_$callClinit();
                if (var$2 == nms_Item_potion.$itemID)
                    break b;
                if ($par0ItemStack.$itemID0 == nms_Item_glassBottle.$itemID)
                    break b;
            }
            var$2 = 0;
            break a;
        }
        var$2 = 1;
    }
    return var$2;
};
function nms_SlotBrewingStandIngredient() {
    nms_Slot.call(this);
    this.$brewingStand = null;
}
$java.nms_SlotBrewingStandIngredient_isItemValid = function($this, $par1ItemStack) {
    var var$2;
    if ($par1ItemStack === null)
        var$2 = 0;
    else {
        nms_Item_$callClinit();
        var$2 = nms_Item_isPotionIngredient(nms_Item_itemsList.data[$par1ItemStack.$itemID0]);
    }
    return var$2;
};
$java.nms_SlotBrewingStandIngredient_getSlotStackLimit = function($this) {
    return 64;
};
function nms_SlotEnchantmentTable() {
    nms_InventoryBasic.call(this);
    this.$container = null;
}
$java.nms_SlotEnchantmentTable_getInventoryStackLimit = function($this) {
    return 1;
};
$java.nms_SlotEnchantmentTable_onInventoryChanged = function($this) {
    $java.nms_InventoryBasic_onInventoryChanged($this);
    $java.nms_ContainerEnchantment_onCraftMatrixChanged($this.$container, $this);
};
function nms_SlotEnchantment() {
    nms_Slot.call(this);
    this.$container0 = null;
}
$java.nms_SlotEnchantment_isItemValid = function($this, $par1ItemStack) {
    return 1;
};
function nms_SlotFurnace() {
    var a = this; nms_Slot.call(a);
    a.$thePlayer1 = null;
    a.$field_75228_b = 0;
}
$java.nms_SlotFurnace_isItemValid = function($this, $par1ItemStack) {
    return 0;
};
$java.nms_SlotFurnace_decrStackSize = function($this, $par1) {
    var var$2, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($java.nms_Slot_getHasStack($this))
            $this.$field_75228_b = $this.$field_75228_b + jl_Math_min($par1, $java.nms_Slot_getStack($this).$stackSize) | 0;
        $ptr = 1;
    case 1:
        $tmp = $java.nms_Slot_decrStackSize($this, $par1);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $tmp;
        return var$2;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, var$2, $ptr);
};
$java.nms_SlotFurnace_onPickupFromSlot = function($this, $par1EntityPlayer, $par2ItemStack) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par2ItemStack = $thread.pop();$par1EntityPlayer = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $java.nms_SlotFurnace_onCrafting($this, $par2ItemStack);
        $ptr = 1;
    case 1:
        $this.$onSlotChanged();
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1EntityPlayer, $par2ItemStack, $ptr);
};
$java.nms_SlotFurnace_onCrafting0 = function($this, $par1ItemStack, $par2) {
    $this.$field_75228_b = $this.$field_75228_b + $par2 | 0;
    $java.nms_SlotFurnace_onCrafting($this, $par1ItemStack);
};
$java.nms_SlotFurnace_onCrafting = function($this, $par1ItemStack) {
    var var$2, var$3;
    nms_ItemStack_onCrafting($par1ItemStack, $this.$thePlayer1.$worldObj, $this.$thePlayer1, $this.$field_75228_b);
    $this.$field_75228_b = 0;
    var$2 = $par1ItemStack.$itemID0;
    nms_Item_$callClinit();
    if (var$2 == nms_Item_ingotIron.$itemID) {
        var$3 = $this.$thePlayer1;
        nms_AchievementList_$callClinit();
        var$3.$addStat(nms_AchievementList_acquireIron, 1);
    }
    if ($par1ItemStack.$itemID0 == nms_Item_fishCooked.$itemID) {
        $par1ItemStack = $this.$thePlayer1;
        nms_AchievementList_$callClinit();
        $par1ItemStack.$addStat(nms_AchievementList_cookFish, 1);
    }
};
function cjj_DeflaterOutputStream() {
    var a = this; ji_FilterOutputStream.call(a);
    a.$deflater = null;
    a.$buffer3 = null;
    a.$closed0 = 0;
    a.$syncFlush = 0;
    a.$buf10 = null;
    a.$mydeflater = 0;
    a.$close_out = 0;
}
$java.cjj_DeflaterOutputStream_write = function($this, $b) {
    $this.$buf10.data[0] = ($b & 255) << 24 >> 24;
    $java.cjj_DeflaterOutputStream_write0($this, $this.$buf10, 0, 1);
};
$java.cjj_DeflaterOutputStream_write0 = function($this, $b, $off, $len) {
    var var$4, $flush, $err, var$7;
    if ($this.$deflater.$finished0) {
        var$4 = new ji_IOException;
        jl_Throwable__init_(var$4, $rt_s(3369));
        $rt_throw(var$4);
    }
    $flush = $off >= 0 ? 0 : 1;
    $err = $len >= 0 ? 0 : 1;
    var$7 = $b.data;
    if ($flush | $err | (($off + $len | 0) <= var$7.length ? 0 : 1)) {
        var$4 = new jl_IndexOutOfBoundsException;
        jl_Throwable__init_0(var$4);
        $rt_throw(var$4);
    }
    if (!$len)
        return;
    $flush = !$this.$syncFlush ? 0 : 2;
    cjj_ZStream_setInput($this.$deflater, $b, $off, $len, 1);
    a: {
        while (true) {
            if ($this.$deflater.$avail_in <= 0)
                break a;
            if ($java.cjj_DeflaterOutputStream_deflate($this, $flush) == 1)
                break;
        }
    }
};
$java.cjj_DeflaterOutputStream_finish = function($this) {
    while (!$this.$deflater.$finished0) {
        $java.cjj_DeflaterOutputStream_deflate($this, 4);
    }
};
$java.cjj_DeflaterOutputStream_close = function($this) {
    if (!$this.$closed0) {
        $java.cjj_DeflaterOutputStream_finish($this);
        if ($this.$mydeflater)
            $java.cjj_Deflater_end($this.$deflater);
        if ($this.$close_out)
            $this.$out0.$close();
        $this.$closed0 = 1;
    }
};
$java.cjj_DeflaterOutputStream_deflate = function($this, $flush) {
    var $err, var$3, $len;
    a: {
        b: {
            cjj_ZStream_setOutput($this.$deflater, $this.$buffer3, 0, $this.$buffer3.data.length);
            $err = $java.cjj_Deflater_deflate($this.$deflater, $flush);
            switch ($err) {
                case -5:
                    if ($this.$deflater.$avail_in > 0)
                        break b;
                    if ($flush == 4)
                        break b;
                    else
                        break a;
                case 0:
                case 1:
                    break;
                default:
                    break b;
            }
            break a;
        }
        var$3 = new ji_IOException;
        jl_Throwable__init_(var$3, $rt_s(3370));
        $rt_throw(var$3);
    }
    $len = $this.$deflater.$next_out_index;
    if ($len > 0)
        $this.$out0.$write1($this.$buffer3, 0, $len);
    return $err;
};
$java.cjj_DeflaterOutputStream_flush = function($this) {
    var $err;
    a: {
        if ($this.$syncFlush && !$this.$deflater.$finished0)
            while (true) {
                $err = $java.cjj_DeflaterOutputStream_deflate($this, 2);
                if ($this.$deflater.$next_out_index < $this.$buffer3.data.length)
                    break;
                if ($err == 1)
                    break a;
            }
    }
    $this.$out0.$flush();
};
function cjj_GZIPOutputStream() {
    cjj_DeflaterOutputStream.call(this);
}
function cjj_Deflater() {
    cjj_ZStream.call(this);
    this.$finished0 = 0;
}
$java.cjj_Deflater__init_ = function() {
    var var_0 = new cjj_Deflater();
    cjj_Deflater__init_(var_0);
    return var_0;
};
function cjj_Deflater__init_($this) {
    cjj_ZStream__init_($this);
    $this.$finished0 = 0;
}
function cjj_Deflater_init($this, $level, $bits, $nowrap) {
    var var$4, var$5;
    $this.$finished0 = 0;
    var$4 = new cjj_Deflate;
    var$4.$wrap5 = 1;
    var$4.$l_desc = new cjj_Tree;
    var$4.$d_desc = new cjj_Tree;
    var$4.$bl_desc = new cjj_Tree;
    var$4.$bl_count = $rt_createShortArray(16);
    var$4.$next_code = $rt_createShortArray(16);
    var$4.$heap = $rt_createIntArray(573);
    var$4.$depth0 = $rt_createByteArray(573);
    var$4.$gheader0 = null;
    var$4.$strm = $this;
    var$4.$dyn_ltree = $rt_createShortArray(1146);
    var$4.$dyn_dtree = $rt_createShortArray(122);
    var$4.$bl_tree = $rt_createShortArray(78);
    $this.$dstate = var$4;
    var$5 = $this.$dstate;
    if ($nowrap)
        $bits =  -$bits;
    return $java.cjj_Deflate_deflateInit(var$5, $level, $bits);
}
$java.cjj_Deflater_deflate = function($this, $flush) {
    var $ret;
    if ($this.$dstate === null)
        return (-2);
    $ret = $java.cjj_Deflate_deflate($this.$dstate, $flush);
    if ($ret == 1)
        $this.$finished0 = 1;
    return $ret;
};
$java.cjj_Deflater_end = function($this) {
    var $ret;
    $this.$finished0 = 1;
    if ($this.$dstate === null)
        return (-2);
    $ret = $java.cjj_Deflate_deflateEnd($this.$dstate);
    $this.$dstate = null;
    cjj_ZStream_free($this);
    return $ret;
};
$java.cjj_Deflater_finished = function($this) {
    return $this.$finished0;
};
function ju_IdentityHashMap() {
    var a = this; ju_AbstractMap.call(a);
    a.$elementCount2 = 0;
    a.$elementData2 = null;
    a.$modCount7 = 0;
    a.$loadFactor1 = 0.0;
    a.$threshold2 = 0;
}
$java.ju_IdentityHashMap__init_ = function() {
    var var_0 = new ju_IdentityHashMap();
    ju_IdentityHashMap__init_(var_0);
    return var_0;
};
$java.ju_IdentityHashMap_newElementArray = function($this, $s) {
    return $rt_createArray(ju_IdentityHashMap$HashEntry, $s);
};
function ju_IdentityHashMap__init_($this) {
    var var$1;
    var$1 = $java.ju_IdentityHashMap_calculateCapacity(16);
    $this.$elementCount2 = 0;
    $this.$elementData2 = $rt_createArray(ju_IdentityHashMap$HashEntry, var$1);
    $this.$loadFactor1 = 0.75;
    $java.ju_IdentityHashMap_computeThreshold($this);
}
$java.ju_IdentityHashMap_calculateCapacity = function($x) {
    var var$2;
    if ($x >= 1073741824)
        return 1073741824;
    if (!$x)
        return 16;
    var$2 = $x - 1 | 0;
    $x = var$2 | var$2 >> 1;
    $x = $x | $x >> 2;
    $x = $x | $x >> 4;
    $x = $x | $x >> 8;
    return ($x | $x >> 16) + 1 | 0;
};
$java.ju_IdentityHashMap_computeThreshold = function($this) {
    $this.$threshold2 = $this.$elementData2.data.length * $this.$loadFactor1 | 0;
};
$java.ju_IdentityHashMap_containsKey = function($this, $key) {
    return $java.ju_IdentityHashMap_getEntry($this, $key) === null ? 0 : 1;
};
$java.ju_IdentityHashMap_getEntry = function($this, $key) {
    var $m, $hash;
    if ($key === null)
        $m = $java.ju_IdentityHashMap_findNullKeyEntry($this);
    else {
        $hash = $java.ju_IdentityHashMap_computeHashCode($key);
        $m = $java.ju_IdentityHashMap_findNonNullKeyEntry($this, $key, $hash & ($this.$elementData2.data.length - 1 | 0), $hash);
    }
    return $m;
};
$java.ju_IdentityHashMap_findNonNullKeyEntry = function($this, $key, $index, $keyHash) {
    var $m;
    $m = $this.$elementData2.data[$index];
    while ($m !== null && !($m.$origKeyHash0 == $keyHash && $java.ju_IdentityHashMap_areSameKeys($key, $m.$key))) {
        $m = $m.$next10;
    }
    return $m;
};
$java.ju_IdentityHashMap_findNullKeyEntry = function($this) {
    var $m;
    $m = $this.$elementData2.data[0];
    while ($m !== null && $m.$key !== null) {
        $m = $m.$next10;
    }
    return $m;
};
$java.ju_IdentityHashMap_put = function($this, $key, $value) {
    return $java.ju_IdentityHashMap_putImpl($this, $key, $value);
};
$java.ju_IdentityHashMap_putImpl = function($this, $key, $value) {
    var $entry, $hash, $index, $result;
    if ($key === null) {
        $entry = $java.ju_IdentityHashMap_findNullKeyEntry($this);
        if ($entry === null) {
            $this.$modCount7 = $this.$modCount7 + 1 | 0;
            $entry = $java.ju_IdentityHashMap_createHashedEntry($this, null, 0, 0);
            $hash = $this.$elementCount2 + 1 | 0;
            $this.$elementCount2 = $hash;
            if ($hash > $this.$threshold2)
                $java.ju_IdentityHashMap_rehash($this);
        }
    } else {
        $hash = $java.ju_IdentityHashMap_computeHashCode($key);
        $index = $hash & ($this.$elementData2.data.length - 1 | 0);
        $entry = $java.ju_IdentityHashMap_findNonNullKeyEntry($this, $key, $index, $hash);
        if ($entry === null) {
            $this.$modCount7 = $this.$modCount7 + 1 | 0;
            $entry = $java.ju_IdentityHashMap_createHashedEntry($this, $key, $index, $hash);
            $hash = $this.$elementCount2 + 1 | 0;
            $this.$elementCount2 = $hash;
            if ($hash > $this.$threshold2)
                $java.ju_IdentityHashMap_rehash($this);
        }
    }
    $result = $entry.$value1;
    $entry.$value1 = $value;
    return $result;
};
$java.ju_IdentityHashMap_createHashedEntry = function($this, $key, $index, $hash) {
    var $entry;
    $entry = new ju_IdentityHashMap$HashEntry;
    ju_MapEntry__init_0($entry, $key, null);
    $entry.$origKeyHash0 = $hash;
    $entry.$next10 = $this.$elementData2.data[$index];
    $this.$elementData2.data[$index] = $entry;
    return $entry;
};
$java.ju_IdentityHashMap_rehash0 = function($this, $capacity) {
    var $length, $newData, var$4, $i, $entry, $index, $next;
    $length = $java.ju_IdentityHashMap_calculateCapacity(!$capacity ? 1 : $capacity << 1);
    $newData = $rt_createArray(ju_IdentityHashMap$HashEntry, $length);
    var$4 = $newData.data;
    $i = 0;
    $length = $length - 1 | 0;
    while ($i < $this.$elementData2.data.length) {
        $entry = $this.$elementData2.data[$i];
        $this.$elementData2.data[$i] = null;
        while ($entry !== null) {
            $index = $entry.$origKeyHash0 & $length;
            $next = $entry.$next10;
            $entry.$next10 = var$4[$index];
            var$4[$index] = $entry;
            $entry = $next;
        }
        $i = $i + 1 | 0;
    }
    $this.$elementData2 = $newData;
    $java.ju_IdentityHashMap_computeThreshold($this);
};
$java.ju_IdentityHashMap_rehash = function($this) {
    $java.ju_IdentityHashMap_rehash0($this, $this.$elementData2.data.length);
};
$java.ju_IdentityHashMap_remove = function($this, $key) {
    var $entry;
    $entry = $java.ju_IdentityHashMap_removeEntry($this, $key);
    if ($entry === null)
        return null;
    return $entry.$value1;
};
$java.ju_IdentityHashMap_removeEntry = function($this, $key) {
    var $index, $last, $entry, $entry_0, $hash;
    a: {
        $index = 0;
        $last = null;
        if ($key === null) {
            $entry = $this.$elementData2.data[0];
            while ($entry !== null) {
                if ($entry.$key === null)
                    break a;
                $entry_0 = $entry.$next10;
                $last = $entry;
                $entry = $entry_0;
            }
        } else {
            $hash = $java.ju_IdentityHashMap_computeHashCode($key);
            $index = $hash & ($this.$elementData2.data.length - 1 | 0);
            $entry = $this.$elementData2.data[$index];
            while ($entry !== null && !($entry.$origKeyHash0 == $hash && $java.ju_IdentityHashMap_areSameKeys($key, $entry.$key))) {
                $entry_0 = $entry.$next10;
                $last = $entry;
                $entry = $entry_0;
            }
        }
    }
    if ($entry === null)
        return null;
    if ($last !== null)
        $last.$next10 = $entry.$next10;
    else
        $this.$elementData2.data[$index] = $entry.$next10;
    $this.$modCount7 = $this.$modCount7 + 1 | 0;
    $this.$elementCount2 = $this.$elementCount2 - 1 | 0;
    return $entry;
};
$java.ju_IdentityHashMap_computeHashCode = function($key) {
    return jl_Object_identity($key);
};
$java.ju_IdentityHashMap_areSameKeys = function($key1, $key2) {
    return $key1 !== $key2 ? 0 : 1;
};
function ju_SetFromMap() {
    ju_AbstractSet.call(this);
    this.$map2 = null;
}
$java.ju_SetFromMap_contains = function($this, $o) {
    return $java.ju_IdentityHashMap_containsKey($this.$map2, $o);
};
$java.ju_SetFromMap_add = function($this, $e) {
    return $java.ju_IdentityHashMap_putImpl($this.$map2, $e, $java.jl_Boolean_TRUE) !== null ? 0 : 1;
};
$java.ju_SetFromMap_remove = function($this, $o) {
    return $java.ju_IdentityHashMap_remove($this.$map2, $o) === null ? 0 : 1;
};
function oj_JSONPropertyIgnore() {
}
function oj_JSONPropertyName() {
}
function jl_SecurityException() {
    jl_RuntimeException.call(this);
}
$java.jl_SecurityException__init_ = function() {
    var var_0 = new jl_SecurityException();
    jl_SecurityException__init_(var_0);
    return var_0;
};
function jl_SecurityException__init_($this) {
    jl_Throwable__init_0($this);
}
function jt_AttributedString$Range() {
    var a = this; jl_Object.call(a);
    a.$start14 = 0;
    a.$end7 = 0;
    a.$value19 = null;
}
function csms_MidiUtils$TempoCache() {
    var a = this; jl_Object.call(a);
    a.$ticks = null;
    a.$tempos = null;
    a.$snapshotIndex = 0;
    a.$snapshotMicro = 0;
    a.$firstTempoIsFake = 0;
}
$java.csms_MidiUtils$TempoCache__init_ = function() {
    var var_0 = new csms_MidiUtils$TempoCache();
    csms_MidiUtils$TempoCache__init_(var_0);
    return var_0;
};
function csms_MidiUtils$TempoCache__init_(var$0) {
    var$0.$snapshotIndex = 0;
    var$0.$snapshotMicro = 0;
    var$0.$firstTempoIsFake = 0;
    var$0.$ticks = $rt_createLongArray(1);
    var$0.$tempos = $rt_createIntArray(1);
    var$0.$tempos.data[0] = 500000;
    var$0.$snapshotIndex = 0;
    var$0.$snapshotMicro = 0;
}
function ju_IdentityHashMap$HashEntry() {
    var a = this; ju_MapEntry.call(a);
    a.$origKeyHash0 = 0;
    a.$next10 = null;
}
function nms_FurnaceRecipes() {
    var a = this; jl_Object.call(a);
    a.$smeltingList = null;
    a.$experienceList = null;
}
$java.nms_FurnaceRecipes_smeltingBase = null;
$java.nms_FurnaceRecipes__init_ = function() {
    var var_0 = new nms_FurnaceRecipes();
    nms_FurnaceRecipes__init_(var_0);
    return var_0;
};
function nms_FurnaceRecipes__init_($this) {
    var var$1, var$2;
    $this.$smeltingList = ju_HashMap__init_();
    $this.$experienceList = ju_HashMap__init_();
    nms_Block_$callClinit();
    var$1 = nms_Block_oreIron.$blockID;
    var$2 = new nms_ItemStack;
    nms_Item_$callClinit();
    nms_ItemStack__init_7(var$2, nms_Item_ingotIron);
    $java.nms_FurnaceRecipes_addSmelting($this, var$1, var$2, 0.699999988079071);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_oreGold.$blockID, nms_ItemStack__init_5(nms_Item_ingotGold), 1.0);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_oreDiamond.$blockID, nms_ItemStack__init_5(nms_Item_diamond), 1.0);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_sand.$blockID, nms_ItemStack__init_2(nms_Block_glass), 0.10000000149011612);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Item_porkRaw.$itemID, nms_ItemStack__init_5(nms_Item_porkCooked), 0.3499999940395355);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Item_beefRaw.$itemID, nms_ItemStack__init_5(nms_Item_beefCooked), 0.3499999940395355);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Item_chickenRaw.$itemID, nms_ItemStack__init_5(nms_Item_chickenCooked), 0.3499999940395355);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Item_fishRaw.$itemID, nms_ItemStack__init_5(nms_Item_fishCooked), 0.3499999940395355);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_cobblestone.$blockID, nms_ItemStack__init_2(nms_Block_stone), 0.10000000149011612);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Item_clay.$itemID, nms_ItemStack__init_5(nms_Item_brick), 0.30000001192092896);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_cactus.$blockID, nms_ItemStack__init_4(nms_Item_dyePowder, 1, 2), 0.20000000298023224);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_wood.$blockID, nms_ItemStack__init_4(nms_Item_coal, 1, 1), 0.15000000596046448);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_oreEmerald.$blockID, nms_ItemStack__init_5(nms_Item_emerald), 1.0);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Item_potato.$itemID, nms_ItemStack__init_5(nms_Item_bakedPotato), 0.3499999940395355);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_netherrack.$blockID, nms_ItemStack__init_5(nms_Item_netherrackBrick), 0.10000000149011612);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_oreCoal.$blockID, nms_ItemStack__init_5(nms_Item_coal), 0.10000000149011612);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_oreRedstone.$blockID, nms_ItemStack__init_5(nms_Item_redstone), 0.699999988079071);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_oreLapis.$blockID, nms_ItemStack__init_4(nms_Item_dyePowder, 1, 4), 0.20000000298023224);
    $java.nms_FurnaceRecipes_addSmelting($this, nms_Block_oreNetherQuartz.$blockID, nms_ItemStack__init_5(nms_Item_netherQuartz), 0.20000000298023224);
}
$java.nms_FurnaceRecipes_addSmelting = function($this, $par1, $par2ItemStack, $par3) {
    ju_HashMap_putImpl($this.$smeltingList, jl_Integer_valueOf($par1), $par2ItemStack);
    ju_HashMap_putImpl($this.$experienceList, jl_Integer_valueOf($par2ItemStack.$itemID0), jl_Float_valueOf($par3));
};
$java.nms_FurnaceRecipes_getSmeltingResult = function($this, $par1) {
    return ju_HashMap_get($this.$smeltingList, jl_Integer_valueOf($par1));
};
function nms_FurnaceRecipes__clinit_() {
    $java.nms_FurnaceRecipes_smeltingBase = $java.nms_FurnaceRecipes__init_();
}
function nms_GuiEditSign() {
    var a = this; nms_GuiScreen.call(a);
    a.$screenTitle1 = null;
    a.$entitySign = null;
    a.$updateCounter4 = 0;
    a.$editLine = 0;
    a.$doneBtn = null;
}
$java.nms_GuiEditSign_allowedCharacters = null;
function nms_GuiEditSign_$callClinit() {
    nms_GuiEditSign_$callClinit = $rt_eraseClinit(nms_GuiEditSign);
    $java.nms_GuiEditSign__clinit_();
}
$java.nms_GuiEditSign_initGui = function($this) {
    var var$1, var$2;
    ju_ArrayList_clear($this.$buttonList);
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
    var$1 = $this.$buttonList;
    var$2 = nms_GuiButton__init_(0, ($this.$width / 2 | 0) - 100 | 0, ($this.$height / 4 | 0) + 120 | 0, $rt_s(3371));
    $this.$doneBtn = var$2;
    ju_ArrayList_add(var$1, var$2);
    $this.$entitySign.$isEditable = 0;
};
$java.nms_GuiEditSign_onGuiClosed = function($this) {
    var $var1, var$2, var$3, var$4, var$5, var$6, var$7, var$8;
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
    $var1 = nmc_Minecraft_getNetHandler($this.$mc2);
    if ($var1 !== null) {
        var$2 = new nms_Packet130UpdateSign;
        var$3 = $this.$entitySign.$xCoord0;
        var$4 = $this.$entitySign.$yCoord0;
        var$5 = $this.$entitySign.$zCoord0;
        var$6 = $this.$entitySign.$signText.data;
        nms_Packet__init_0(var$2);
        var$2.$isChunkDataPacket = 1;
        var$2.$xPosition12 = var$3;
        var$2.$yPosition11 = var$4;
        var$2.$zPosition11 = var$5;
        var$7 = $rt_createArray(jl_String, 4);
        var$8 = var$7.data;
        var$8[0] = var$6[0];
        var$8[1] = var$6[1];
        var$8[2] = var$6[2];
        var$8[3] = var$6[3];
        var$2.$signLines = var$7;
        nms_NetClientHandler_addToSendQueue($var1, var$2);
    }
    $this.$entitySign.$isEditable = 1;
};
$java.nms_GuiEditSign_updateScreen = function($this) {
    $this.$updateCounter4 = $this.$updateCounter4 + 1 | 0;
};
$java.nms_GuiEditSign_actionPerformed = function($this, $par1GuiButton) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par1GuiButton = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par1GuiButton.$enabled && !$par1GuiButton.$id3) {
            $par1GuiButton = $this.$entitySign;
            $ptr = 1;
            continue main;
        }
        return;
    case 1:
        $java.nms_TileEntity_onInventoryChanged($par1GuiButton);
        if ($rt_suspending()) {
            break main;
        }
        nmc_Minecraft_displayGuiScreen($this.$mc2, null);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1GuiButton, $ptr);
};
$java.nms_GuiEditSign_keyTyped = function($this, $par1, $par2) {
    var var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($par2 == 200)
            $this.$editLine = ($this.$editLine - 1 | 0) & 3;
        if (!($par2 != 208 && $par2 != 28))
            $this.$editLine = ($this.$editLine + 1 | 0) & 3;
        if ($par2 == 14 && jl_String_length($this.$entitySign.$signText.data[$this.$editLine]) > 0)
            $this.$entitySign.$signText.data[$this.$editLine] = jl_String_substring0($this.$entitySign.$signText.data[$this.$editLine], 0, jl_String_length($this.$entitySign.$signText.data[$this.$editLine]) - 1 | 0);
        if (jl_String_indexOf0($java.nms_GuiEditSign_allowedCharacters, $par1) >= 0 && jl_String_length($this.$entitySign.$signText.data[$this.$editLine]) < 15) {
            var$3 = $this.$entitySign.$signText.data;
            var$4 = $this.$editLine;
            var$5 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$5);
            jl_AbstractStringBuilder_append(var$5, $this.$entitySign.$signText.data[$this.$editLine]);
            jl_AbstractStringBuilder_append0(var$5, $par1);
            var$3[var$4] = jl_AbstractStringBuilder_toString(var$5);
        }
        if ($par2 != 1)
            return;
        var$5 = $this.$doneBtn;
        $ptr = 1;
    case 1:
        $java.nms_GuiEditSign_actionPerformed($this, var$5);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, var$5, $ptr);
};
$java.nms_GuiEditSign_drawScreen = function($this, $par1, $par2, $par3) {
    var $var5, var$5, $var8, var$7, var$8, $var7, var$10, var$11, var$12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();var$10 = $thread.pop();$var7 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();$var8 = $thread.pop();var$5 = $thread.pop();$var5 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = $this.$fontRenderer0;
        var$5 = $this.$screenTitle1;
        $var8 = $this.$width / 2 | 0;
        var$7 = 40;
        var$8 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, $var5, var$5, $var8, var$7, var$8);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glPushMatrix();
        nleg_EaglerAdapterGL30_glTranslatef($this.$width / 2 | 0, 0.0, 50.0);
        nleg_EaglerAdapterGL30_glScalef((-93.75), (-93.75), (-93.75));
        nleg_EaglerAdapterGL30_glRotatef(180.0, 0.0, 1.0, 0.0);
        $var5 = $java.nms_TileEntity_getBlockType($this.$entitySign);
        nms_Block_$callClinit();
        if ($var5 === nms_Block_signPost) {
            nleg_EaglerAdapterGL30_glRotatef(($java.nms_TileEntity_getBlockMetadata($this.$entitySign) * 360 | 0) / 16.0, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glTranslatef(0.0, (-1.0625), 0.0);
        } else {
            $var8 = $java.nms_TileEntity_getBlockMetadata($this.$entitySign);
            $var7 = 0.0;
            if ($var8 == 2)
                $var7 = 180.0;
            if ($var8 == 4)
                $var7 = 90.0;
            if ($var8 == 5)
                $var7 = (-90.0);
            nleg_EaglerAdapterGL30_glRotatef($var7, 0.0, 1.0, 0.0);
            nleg_EaglerAdapterGL30_glTranslatef(0.0, (-1.0625), 0.0);
        }
        if (!(($this.$updateCounter4 / 6 | 0) % 2 | 0))
            $this.$entitySign.$lineBeingEdited = $this.$editLine;
        nms_TileEntityRenderer_$callClinit();
        $var5 = nms_TileEntityRenderer_instance;
        var$5 = $this.$entitySign;
        var$10 = (-0.5);
        var$11 = (-0.75);
        var$12 = (-0.5);
        $var7 = 0.0;
        $ptr = 3;
    case 3:
        $java.nms_TileEntityRenderer_renderTileEntityAt($var5, var$5, var$10, var$11, var$12, $var7);
        if ($rt_suspending()) {
            break main;
        }
        $this.$entitySign.$lineBeingEdited = (-1);
        nleg_EaglerAdapterGL30_glPopMatrix();
        $ptr = 4;
    case 4:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var5, var$5, $var8, var$7, var$8, $var7, var$10, var$11, var$12, $ptr);
};
$java.nms_GuiEditSign__clinit_ = function() {
    $java.nms_GuiEditSign_allowedCharacters = nms_ChatAllowedCharacters_allowedCharacters;
};
function nms_GuiCommandBlock() {
    var a = this; nms_GuiScreen.call(a);
    a.$commandTextField = null;
    a.$commandBlock = null;
    a.$doneBtn0 = null;
    a.$cancelBtn = null;
}
$java.nms_GuiCommandBlock_updateScreen = function($this) {
    nms_GuiTextField_updateCursorCounter($this.$commandTextField);
};
$java.nms_GuiCommandBlock_initGui = function($this) {
    var $var1, var$2, var$3;
    $var1 = nms_StringTranslate_instance;
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
    ju_ArrayList_clear($this.$buttonList);
    var$2 = $this.$buttonList;
    var$3 = nms_GuiButton__init_(0, ($this.$width / 2 | 0) - 100 | 0, (($this.$height / 4 | 0) + 96 | 0) + 12 | 0, nms_StringTranslate_translateKey($var1, $rt_s(511)));
    $this.$doneBtn0 = var$3;
    ju_ArrayList_add(var$2, var$3);
    var$3 = $this.$buttonList;
    var$2 = nms_GuiButton__init_(1, ($this.$width / 2 | 0) - 100 | 0, (($this.$height / 4 | 0) + 120 | 0) + 12 | 0, nms_StringTranslate_translateKey($var1, $rt_s(1308)));
    $this.$cancelBtn = var$2;
    ju_ArrayList_add(var$3, var$2);
    $this.$commandTextField = nms_GuiTextField__init_($this.$fontRenderer0, ($this.$width / 2 | 0) - 150 | 0, 60, 300, 20);
    nms_GuiTextField_setMaxStringLength($this.$commandTextField, 32767);
    nms_GuiTextField_setFocused($this.$commandTextField, 1);
    nms_GuiTextField_setText($this.$commandTextField, $this.$commandBlock.$command);
    $this.$doneBtn0.$enabled = jl_String_length(jl_String_trim($this.$commandTextField.$text0)) <= 0 ? 0 : 1;
};
$java.nms_GuiCommandBlock_onGuiClosed = function($this) {
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
};
$java.nms_GuiCommandBlock_actionPerformed = function($this, $par1GuiButton) {
    var $var3, $var4, $var6, $$je;
    if ($par1GuiButton.$enabled) {
        if ($par1GuiButton.$id3 == 1)
            nmc_Minecraft_displayGuiScreen($this.$mc2, null);
        else if (!$par1GuiButton.$id3) {
            $var3 = ji_ByteArrayOutputStream__init_0();
            $var4 = ji_DataOutputStream__init_($var3);
            a: {
                try {
                    ji_DataOutputStream_writeInt($var4, $this.$commandBlock.$xCoord0);
                    ji_DataOutputStream_writeInt($var4, $this.$commandBlock.$yCoord0);
                    ji_DataOutputStream_writeInt($var4, $this.$commandBlock.$zCoord0);
                    nms_Packet_writeString($java.nms_GuiTextField_getText($this.$commandTextField), $var4);
                    nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler($this.$mc2), nms_Packet250CustomPayload__init_0($rt_s(3372), ji_ByteArrayOutputStream_toByteArray($var3)));
                    break a;
                } catch ($$e) {
                    $$je = $rt_wrapException($$e);
                    if ($$je instanceof jl_Exception) {
                        $var6 = $$je;
                    } else {
                        throw $$e;
                    }
                }
                jl_Throwable_printStackTrace($var6);
            }
            nmc_Minecraft_displayGuiScreen($this.$mc2, null);
        }
    }
};
$java.nms_GuiCommandBlock_keyTyped = function($this, $par1, $par2) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$commandTextField;
        $ptr = 1;
    case 1:
        nms_GuiTextField_textboxKeyTyped(var$3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        $this.$doneBtn0.$enabled = jl_String_length(jl_String_trim($this.$commandTextField.$text0)) <= 0 ? 0 : 1;
        if ($par2 != 28 && $par1 != 13) {
            if ($par2 != 1)
                return;
            var$3 = $this.$cancelBtn;
            $ptr = 3;
            continue main;
        }
        var$3 = $this.$doneBtn0;
        $ptr = 2;
    case 2:
        $java.nms_GuiCommandBlock_actionPerformed($this, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 3:
        $java.nms_GuiCommandBlock_actionPerformed($this, var$3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, $ptr);
};
$java.nms_GuiCommandBlock_mouseClicked = function($this, $par1, $par2, $par3) {
    var $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $ptr = 1;
    case 1:
        nms_GuiScreen_mouseClicked($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        nms_GuiTextField_mouseClicked($this.$commandTextField, $par1, $par2, $par3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $ptr);
};
$java.nms_GuiCommandBlock_drawScreen = function($this, $par1, $par2, $par3) {
    var $var4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var4 = nms_StringTranslate_instance;
        $ptr = 1;
    case 1:
        nms_GuiScreen_drawDefaultBackground($this);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$fontRenderer0;
        var$6 = nms_StringTranslate_translateKey($var4, $rt_s(3373));
        var$7 = $this.$width / 2 | 0;
        var$8 = (($this.$height / 4 | 0) - 60 | 0) + 20 | 0;
        var$9 = 16777215;
        $ptr = 2;
    case 2:
        nms_Gui_drawCenteredString($this, var$5, var$6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3374));
        var$7 = ($this.$width / 2 | 0) - 150 | 0;
        var$8 = 47;
        var$9 = 10526880;
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawStringWithShadow(var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3375));
        var$7 = ($this.$width / 2 | 0) - 150 | 0;
        var$8 = 97;
        var$9 = 10526880;
        $ptr = 4;
    case 4:
        nms_FontRenderer_drawStringWithShadow(var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3376));
        var$7 = ($this.$width / 2 | 0) - 150 | 0;
        var$8 = 108;
        var$9 = 10526880;
        $ptr = 5;
    case 5:
        nms_FontRenderer_drawStringWithShadow(var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$fontRenderer0;
        var$5 = nms_StringTranslate_translateKey($var4, $rt_s(3377));
        var$7 = ($this.$width / 2 | 0) - 150 | 0;
        var$8 = 119;
        var$9 = 10526880;
        $ptr = 6;
    case 6:
        nms_FontRenderer_drawStringWithShadow(var$6, var$5, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        var$6 = $this.$commandTextField;
        $ptr = 7;
    case 7:
        nms_GuiTextField_drawTextBox(var$6);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 8;
    case 8:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var4, var$5, var$6, var$7, var$8, var$9, $ptr);
};
function nms_EntityFireworkStarterFX() {
    var a = this; nms_EntityFX.call(a);
    a.$field_92042_ax = 0;
    a.$field_92040_ay = null;
    a.$fireworkExplosions = null;
    a.$field_92041_a = 0;
}
$java.nms_EntityFireworkStarterFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    return;
};
$java.nms_EntityFireworkStarterFX_onUpdate = function($this) {
    var $var1, $var2, $var3, $var15, $var16, var$6, var$7, var$8, $var9, $var10, $var13, $var14, $var17, $var18, $var5, $var6, $var7, var$18, var$19, var$20, var$21, $var8, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var8 = $thread.pop();var$21 = $thread.pop();var$20 = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();$var7 = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var18 = $thread.pop();$var17 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var3 = $thread.pop();$var2
        = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$field_92042_ax && $this.$fireworkExplosions !== null) {
            a: {
                $var1 = $java.nms_EntityFireworkStarterFX_func_92037_i($this);
                $var2 = 0;
                if (nms_NBTTagList_tagCount($this.$fireworkExplosions) >= 3)
                    $var2 = 1;
                else {
                    $var3 = 0;
                    while ($var3 < nms_NBTTagList_tagCount($this.$fireworkExplosions)) {
                        if (nms_NBTTagCompound_getByte(nms_NBTTagList_tagAt($this.$fireworkExplosions, $var3), $rt_s(2307)) == 1) {
                            $var2 = 1;
                            break a;
                        }
                        $var3 = $var3 + 1 | 0;
                    }
                }
            }
            $var15 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(3378)), !$var2 ? $rt_s(3379) : $rt_s(3380)), !$var1 ? $rt_s(36) : $rt_s(3381)));
            $var16 = $this.$worldObj;
            var$6 = $this.$posX;
            var$7 = $this.$posY;
            var$8 = $this.$posZ;
            $var9 = 20.0;
            $var10 = 0.949999988079071 + nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.10000000149011612;
            $var1 = 1;
            $ptr = 3;
            continue main;
        }
        if (!($this.$field_92042_ax % 2 | 0) && $this.$fireworkExplosions !== null && ($this.$field_92042_ax / 2 | 0) < nms_NBTTagList_tagCount($this.$fireworkExplosions)) {
            $var13 = $this.$field_92042_ax / 2 | 0;
            $var14 = nms_NBTTagList_tagAt($this.$fireworkExplosions, $var13);
            $var17 = nms_NBTTagCompound_getByte($var14, $rt_s(2307));
            $var18 = nms_NBTTagCompound_getBoolean($var14, $rt_s(2314));
            $var5 = nms_NBTTagCompound_getBoolean($var14, $rt_s(1516));
            $var6 = nms_NBTTagCompound_getIntArray($var14, $rt_s(2306));
            $var7 = nms_NBTTagCompound_getIntArray($var14, $rt_s(2312));
            if ($var17 == 1)
                $java.nms_EntityFireworkStarterFX_func_92035_a($this, 0.5, 4, $var6, $var7, $var18, $var5);
            else if ($var17 == 2) {
                var$18 = $rt_createArray($rt_arraycls($rt_doublecls()), 6);
                var$19 = var$18.data;
                var$20 = $rt_createDoubleArray(2);
                var$21 = var$20.data;
                var$21[0] = 0.0;
                var$21[1] = 1.0;
                var$19[0] = var$20;
                var$20 = $rt_createDoubleArray(2);
                var$21 = var$20.data;
                var$21[0] = 0.3455;
                var$21[1] = 0.309;
                var$19[1] = var$20;
                var$20 = $rt_createDoubleArray(2);
                var$21 = var$20.data;
                var$21[0] = 0.9511;
                var$21[1] = 0.309;
                var$19[2] = var$20;
                var$20 = $rt_createDoubleArray(2);
                var$21 = var$20.data;
                var$21[0] = 0.3795918367346939;
                var$21[1] = (-0.12653061224489795);
                var$19[3] = var$20;
                var$20 = $rt_createDoubleArray(2);
                var$21 = var$20.data;
                var$21[0] = 0.6122448979591837;
                var$21[1] = (-0.8040816326530612);
                var$19[4] = var$20;
                var$21 = $rt_createDoubleArray(2);
                var$20 = var$21.data;
                var$20[0] = 0.0;
                var$20[1] = (-0.35918367346938773);
                var$19[5] = var$21;
                $java.nms_EntityFireworkStarterFX_func_92038_a($this, 0.5, var$18, $var6, $var7, $var18, $var5, 0);
            } else if ($var17 != 3) {
                if ($var17 == 4)
                    $java.nms_EntityFireworkStarterFX_func_92036_a($this, $var6, $var7, $var18, $var5);
                else
                    $java.nms_EntityFireworkStarterFX_func_92035_a($this, 0.25, 2, $var6, $var7, $var18, $var5);
            } else {
                var$21 = $rt_createArray($rt_arraycls($rt_doublecls()), 12);
                var$19 = var$21.data;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.0;
                var$20[1] = 0.2;
                var$19[0] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = 0.2;
                var$19[1] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = 0.6;
                var$19[2] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.6;
                var$20[1] = 0.6;
                var$19[3] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.6;
                var$20[1] = 0.2;
                var$19[4] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = 0.2;
                var$19[5] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = 0.0;
                var$19[6] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.4;
                var$20[1] = 0.0;
                var$19[7] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.4;
                var$20[1] = (-0.6);
                var$19[8] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = (-0.6);
                var$19[9] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = (-0.4);
                var$19[10] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.0;
                var$20[1] = (-0.4);
                var$19[11] = var$18;
                $java.nms_EntityFireworkStarterFX_func_92038_a($this, 0.5, var$21, $var6, $var7, $var18, $var5, 1);
            }
            $var8 = $var6.data[0];
            $var9 = (($var8 & 16711680) >> 16) / 255.0;
            $var10 = (($var8 & 65280) >> 8) / 255.0;
            $var11 = (($var8 & 255) >> 0) / 255.0;
            $var12 = $java.nms_EntityFireworkOverlayFX__init_($this.$worldObj, $this.$posX, $this.$posY, $this.$posZ);
            nms_EntityFX_setRBGColorF($var12, $var9, $var10, $var11);
            nms_EffectRenderer_addEffect($this.$field_92040_ay, $var12);
        }
        $this.$field_92042_ax = $this.$field_92042_ax + 1 | 0;
        if ($this.$field_92042_ax <= $this.$particleMaxAge)
            return;
        if (!$this.$field_92041_a) {
            $ptr = 1;
            continue main;
        }
        $var1 = $java.nms_EntityFireworkStarterFX_func_92037_i($this);
        $var16 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(3378)), !$var1 ? $rt_s(3382) : $rt_s(3383)));
        $var14 = $this.$worldObj;
        var$6 = $this.$posX;
        var$7 = $this.$posY;
        var$8 = $this.$posZ;
        $var9 = 20.0;
        $var10 = 0.8999999761581421 + nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.15000000596046448;
        $var1 = 1;
        $ptr = 2;
        continue main;
    case 1:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 2:
        nms_WorldClient_playSound($var14, var$6, var$7, var$8, $var16, $var9, $var10, $var1);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 1;
        continue main;
    case 3:
        nms_WorldClient_playSound($var16, var$6, var$7, var$8, $var15, $var9, $var10, $var1);
        if ($rt_suspending()) {
            break main;
        }
        if (!($this.$field_92042_ax % 2 | 0) && $this.$fireworkExplosions !== null && ($this.$field_92042_ax / 2 | 0) < nms_NBTTagList_tagCount($this.$fireworkExplosions)) {
            $var13 = $this.$field_92042_ax / 2 | 0;
            $var14 = nms_NBTTagList_tagAt($this.$fireworkExplosions, $var13);
            $var17 = nms_NBTTagCompound_getByte($var14, $rt_s(2307));
            $var18 = nms_NBTTagCompound_getBoolean($var14, $rt_s(2314));
            $var5 = nms_NBTTagCompound_getBoolean($var14, $rt_s(1516));
            $var6 = nms_NBTTagCompound_getIntArray($var14, $rt_s(2306));
            $var7 = nms_NBTTagCompound_getIntArray($var14, $rt_s(2312));
            if ($var17 == 1)
                $java.nms_EntityFireworkStarterFX_func_92035_a($this, 0.5, 4, $var6, $var7, $var18, $var5);
            else if ($var17 == 2) {
                var$18 = $rt_createArray($rt_arraycls($rt_doublecls()), 6);
                var$19 = var$18.data;
                var$20 = $rt_createDoubleArray(2);
                var$21 = var$20.data;
                var$21[0] = 0.0;
                var$21[1] = 1.0;
                var$19[0] = var$20;
                var$20 = $rt_createDoubleArray(2);
                var$21 = var$20.data;
                var$21[0] = 0.3455;
                var$21[1] = 0.309;
                var$19[1] = var$20;
                var$20 = $rt_createDoubleArray(2);
                var$21 = var$20.data;
                var$21[0] = 0.9511;
                var$21[1] = 0.309;
                var$19[2] = var$20;
                var$20 = $rt_createDoubleArray(2);
                var$21 = var$20.data;
                var$21[0] = 0.3795918367346939;
                var$21[1] = (-0.12653061224489795);
                var$19[3] = var$20;
                var$20 = $rt_createDoubleArray(2);
                var$21 = var$20.data;
                var$21[0] = 0.6122448979591837;
                var$21[1] = (-0.8040816326530612);
                var$19[4] = var$20;
                var$21 = $rt_createDoubleArray(2);
                var$20 = var$21.data;
                var$20[0] = 0.0;
                var$20[1] = (-0.35918367346938773);
                var$19[5] = var$21;
                $java.nms_EntityFireworkStarterFX_func_92038_a($this, 0.5, var$18, $var6, $var7, $var18, $var5, 0);
            } else if ($var17 != 3) {
                if ($var17 == 4)
                    $java.nms_EntityFireworkStarterFX_func_92036_a($this, $var6, $var7, $var18, $var5);
                else
                    $java.nms_EntityFireworkStarterFX_func_92035_a($this, 0.25, 2, $var6, $var7, $var18, $var5);
            } else {
                var$21 = $rt_createArray($rt_arraycls($rt_doublecls()), 12);
                var$19 = var$21.data;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.0;
                var$20[1] = 0.2;
                var$19[0] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = 0.2;
                var$19[1] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = 0.6;
                var$19[2] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.6;
                var$20[1] = 0.6;
                var$19[3] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.6;
                var$20[1] = 0.2;
                var$19[4] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = 0.2;
                var$19[5] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = 0.0;
                var$19[6] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.4;
                var$20[1] = 0.0;
                var$19[7] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.4;
                var$20[1] = (-0.6);
                var$19[8] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = (-0.6);
                var$19[9] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.2;
                var$20[1] = (-0.4);
                var$19[10] = var$18;
                var$18 = $rt_createDoubleArray(2);
                var$20 = var$18.data;
                var$20[0] = 0.0;
                var$20[1] = (-0.4);
                var$19[11] = var$18;
                $java.nms_EntityFireworkStarterFX_func_92038_a($this, 0.5, var$21, $var6, $var7, $var18, $var5, 1);
            }
            $var8 = $var6.data[0];
            $var9 = (($var8 & 16711680) >> 16) / 255.0;
            $var10 = (($var8 & 65280) >> 8) / 255.0;
            $var11 = (($var8 & 255) >> 0) / 255.0;
            $var12 = $java.nms_EntityFireworkOverlayFX__init_($this.$worldObj, $this.$posX, $this.$posY, $this.$posZ);
            nms_EntityFX_setRBGColorF($var12, $var9, $var10, $var11);
            nms_EffectRenderer_addEffect($this.$field_92040_ay, $var12);
        }
        $this.$field_92042_ax = $this.$field_92042_ax + 1 | 0;
        if ($this.$field_92042_ax <= $this.$particleMaxAge)
            return;
        if (!$this.$field_92041_a) {
            $ptr = 1;
            continue main;
        }
        $var1 = $java.nms_EntityFireworkStarterFX_func_92037_i($this);
        $var16 = jl_StringBuilder_toString(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder__init_(), $rt_s(3378)), !$var1 ? $rt_s(3382) : $rt_s(3383)));
        $var14 = $this.$worldObj;
        var$6 = $this.$posX;
        var$7 = $this.$posY;
        var$8 = $this.$posZ;
        $var9 = 20.0;
        $var10 = 0.8999999761581421 + nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.15000000596046448;
        $var1 = 1;
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var3, $var15, $var16, var$6, var$7, var$8, $var9, $var10, $var13, $var14, $var17, $var18, $var5, $var6, $var7, var$18, var$19, var$20, var$21, $var8, $var11, $var12, $ptr);
};
$java.nms_EntityFireworkStarterFX_func_92037_i = function($this) {
    var $var1;
    $var1 = nmc_Minecraft_theMinecraft;
    return $var1 !== null && $var1.$renderViewEntity !== null && nms_Entity_getDistanceSq($var1.$renderViewEntity, $this.$posX, $this.$posY, $this.$posZ) < 256.0 ? 0 : 1;
};
$java.nms_EntityFireworkStarterFX_func_92034_a = function($this, $par1, $par3, $par5, $par7, $par9, $par11, $par13ArrayOfInteger, $par14ArrayOfInteger, $par15, $par16) {
    var $var17;
    $par13ArrayOfInteger = $par13ArrayOfInteger.data;
    $var17 = nms_EntityFireworkSparkFX__init_($this.$worldObj, $par1, $par3, $par5, $par7, $par9, $par11, $this.$field_92040_ay);
    $var17.$field_92054_ax = $par15;
    $var17.$field_92048_ay = $par16;
    $java.nms_EntityFireworkSparkFX_func_92044_a($var17, $par13ArrayOfInteger[nle_EaglercraftRandom_nextInt($this.$rand0, $par13ArrayOfInteger.length)]);
    if ($par14ArrayOfInteger !== null) {
        $par13ArrayOfInteger = $par14ArrayOfInteger.data;
        $par15 = $par13ArrayOfInteger.length;
        if ($par15 > 0)
            $java.nms_EntityFireworkSparkFX_func_92046_g($var17, $par13ArrayOfInteger[nle_EaglercraftRandom_nextInt($this.$rand0, $par15)]);
    }
    nms_EffectRenderer_addEffect($this.$field_92040_ay, $var17);
};
$java.nms_EntityFireworkStarterFX_func_92035_a = function($this, $par1, $par3, $par4ArrayOfInteger, $par5ArrayOfInteger, $par6, $par7) {
    var $var8, $var10, $var12, var$10, var$11, $var14, var$13, $var15, var$15, $var16, $var17, $var19, $var21, $var23;
    $var8 = $this.$posX;
    $var10 = $this.$posY;
    $var12 = $this.$posZ;
    var$10 =  -$par3;
    var$11 = ($par3 * 2 | 0) - 1 | 0;
    $var14 = var$10;
    while (true) {
        var$13 = $rt_compare($var14, $par3);
        if (var$13 > 0)
            break;
        $var15 = var$10;
        while (true) {
            var$15 = $rt_compare($var15, $par3);
            if (var$15 > 0)
                break;
            $var16 = var$10;
            while ($var16 <= $par3) {
                $var17 = $var15 + (nle_EaglercraftRandom_nextDouble($this.$rand0) - nle_EaglercraftRandom_nextDouble($this.$rand0)) * 0.5;
                $var19 = $var14 + (nle_EaglercraftRandom_nextDouble($this.$rand0) - nle_EaglercraftRandom_nextDouble($this.$rand0)) * 0.5;
                $var21 = $var16 + (nle_EaglercraftRandom_nextDouble($this.$rand0) - nle_EaglercraftRandom_nextDouble($this.$rand0)) * 0.5;
                $var23 = nms_MathHelper_sqrt_double($var17 * $var17 + $var19 * $var19 + $var21 * $var21) / $par1 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.05;
                $java.nms_EntityFireworkStarterFX_func_92034_a($this, $var8, $var10, $var12, $var17 / $var23, $var19 / $var23, $var21 / $var23, $par4ArrayOfInteger, $par5ArrayOfInteger, $par6, $par7);
                if ($var14 != var$10 && var$13 && $var15 != var$10 && var$15)
                    $var16 = $var16 + var$11 | 0;
                $var16 = $var16 + 1 | 0;
            }
            $var15 = $var15 + 1 | 0;
        }
        $var14 = $var14 + 1 | 0;
    }
};
$java.nms_EntityFireworkStarterFX_func_92038_a = function($this, $par1, $par3ArrayOfDouble, $par4ArrayOfInteger, $par5ArrayOfInteger, $par6, $par7, $par8) {
    var $var9, $var11, $var13, $var14, $var16, var$13, $var17, $var23, var$16, var$17, $var24, $var26, $var28, $var30, $var32, $var34, var$24, $var36;
    $par3ArrayOfDouble = $par3ArrayOfDouble.data;
    $var9 = $par3ArrayOfDouble[0].data[0];
    $var11 = $par3ArrayOfDouble[0].data[1];
    $java.nms_EntityFireworkStarterFX_func_92034_a($this, $this.$posX, $this.$posY, $this.$posZ, $var9 * $par1, $var11 * $par1, 0.0, $par4ArrayOfInteger, $par5ArrayOfInteger, $par6, $par7);
    $var13 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 3.1415927410125732;
    $var14 = !$par8 ? 0.34 : 0.034;
    $var16 = 0;
    var$13 = $var13;
    while ($var16 < 3) {
        $var17 = var$13 + $var16 * 3.1415927410125732 * $var14;
        $var23 = 1;
        var$16 = $var9;
        var$17 = $var11;
        while ($var23 < $par3ArrayOfDouble.length) {
            $var24 = $par3ArrayOfDouble[$var23].data[0];
            $var26 = $par3ArrayOfDouble[$var23].data[1];
            $var28 = 0.25;
            while ($var28 <= 1.0) {
                $var30 = (var$16 + ($var24 - var$16) * $var28) * $par1;
                $var32 = (var$17 + ($var26 - var$17) * $var28) * $par1;
                $var34 = $var30 * jl_Math_sin($var17);
                var$24 = $var30 * jl_Math_cos($var17);
                $var36 = (-1.0);
                while ($var36 <= 1.0) {
                    $java.nms_EntityFireworkStarterFX_func_92034_a($this, $this.$posX, $this.$posY, $this.$posZ, var$24 * $var36, $var32, $var34 * $var36, $par4ArrayOfInteger, $par5ArrayOfInteger, $par6, $par7);
                    $var36 = $var36 + 2.0;
                }
                $var28 = $var28 + 0.25;
            }
            $var23 = $var23 + 1 | 0;
            var$16 = $var24;
            var$17 = $var26;
        }
        $var16 = $var16 + 1 | 0;
    }
};
$java.nms_EntityFireworkStarterFX_func_92036_a = function($this, $par1ArrayOfInteger, $par2ArrayOfInteger, $par3, $par4) {
    var $var5, $var7, $var9, $var10, $var12, $var14;
    $var5 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.05;
    $var7 = nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.05;
    $var9 = 0;
    while ($var9 < 70) {
        $var10 = $this.$motionX * 0.5 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.15 + $var5;
        $var12 = $this.$motionZ * 0.5 + nle_EaglercraftRandom_nextGaussian($this.$rand0) * 0.15 + $var7;
        $var14 = $this.$motionY * 0.5 + nle_EaglercraftRandom_nextDouble($this.$rand0) * 0.5;
        $java.nms_EntityFireworkStarterFX_func_92034_a($this, $this.$posX, $this.$posY, $this.$posZ, $var10, $var14, $var12, $par1ArrayOfInteger, $par2ArrayOfInteger, $par3, $par4);
        $var9 = $var9 + 1 | 0;
    }
};
$java.nms_EntityFireworkStarterFX_getFXLayer = function($this) {
    return 0;
};
function nms_EntityHugeExplodeFX() {
    var a = this; nms_EntityFX.call(a);
    a.$timeSinceStart = 0;
    a.$maximumTime = 0;
}
function nms_EntityHugeExplodeFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityHugeExplodeFX();
    $java.nms_EntityHugeExplodeFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityHugeExplodeFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
    $this.$timeSinceStart = 0;
    $this.$maximumTime = 0;
    $this.$maximumTime = 8;
};
$java.nms_EntityHugeExplodeFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    return;
};
$java.nms_EntityHugeExplodeFX_onUpdate = function($this) {
    var $var1, $var2, $var4, $var6, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();$var6 = $thread.pop();$var4 = $thread.pop();$var2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var1 = 0;
        if ($var1 >= 6) {
            $this.$timeSinceStart = $this.$timeSinceStart + 1 | 0;
            if ($this.$timeSinceStart != $this.$maximumTime)
                return;
            $ptr = 2;
            continue main;
        }
        $var2 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - nle_EaglercraftRandom_nextDouble($this.$rand0)) * 4.0;
        $var4 = $this.$posY + (nle_EaglercraftRandom_nextDouble($this.$rand0) - nle_EaglercraftRandom_nextDouble($this.$rand0)) * 4.0;
        $var6 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - nle_EaglercraftRandom_nextDouble($this.$rand0)) * 4.0;
        var$5 = $this.$worldObj;
        var$6 = $rt_s(1159);
        var$7 = $this.$timeSinceStart / $this.$maximumTime;
        var$8 = 0.0;
        var$9 = 0.0;
        $ptr = 1;
    case 1:
        nms_World_spawnParticle(var$5, var$6, $var2, $var4, $var6, var$7, var$8, var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $var1 + 1 | 0;
        if ($var1 >= 6) {
            $this.$timeSinceStart = $this.$timeSinceStart + 1 | 0;
            if ($this.$timeSinceStart != $this.$maximumTime)
                return;
            $ptr = 2;
            continue main;
        }
        $var2 = $this.$posX + (nle_EaglercraftRandom_nextDouble($this.$rand0) - nle_EaglercraftRandom_nextDouble($this.$rand0)) * 4.0;
        $var4 = $this.$posY + (nle_EaglercraftRandom_nextDouble($this.$rand0) - nle_EaglercraftRandom_nextDouble($this.$rand0)) * 4.0;
        $var6 = $this.$posZ + (nle_EaglercraftRandom_nextDouble($this.$rand0) - nle_EaglercraftRandom_nextDouble($this.$rand0)) * 4.0;
        var$5 = $this.$worldObj;
        var$6 = $rt_s(1159);
        var$7 = $this.$timeSinceStart / $this.$maximumTime;
        var$8 = 0.0;
        var$9 = 0.0;
        continue main;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, $var2, $var4, $var6, var$5, var$6, var$7, var$8, var$9, $ptr);
};
$java.nms_EntityHugeExplodeFX_getFXLayer = function($this) {
    return 1;
};
function nms_EntityBubbleFX() {
    nms_EntityFX.call(this);
}
function nms_EntityBubbleFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityBubbleFX();
    $java.nms_EntityBubbleFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityBubbleFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    $this.$particleRed = 1.0;
    $this.$particleGreen = 1.0;
    $this.$particleBlue = 1.0;
    nms_EntityFX_setParticleTextureIndex($this, 32);
    nms_Entity_setSize($this, 0.019999999552965164, 0.019999999552965164);
    $this.$particleScale = $this.$particleScale * (nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6000000238418579 + 0.20000000298023224);
    $this.$motionX = $par8 * 0.20000000298023224 + (jl_Math_random() * 2.0 - 1.0) * 0.019999999552965164;
    $this.$motionY = $par10 * 0.20000000298023224 + (jl_Math_random() * 2.0 - 1.0) * 0.019999999552965164;
    $this.$motionZ = $par12 * 0.20000000298023224 + (jl_Math_random() * 2.0 - 1.0) * 0.019999999552965164;
    $this.$particleMaxAge = 8.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
};
$java.nms_EntityBubbleFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        $this.$motionY = $this.$motionY + 0.002;
        var$1 = $this.$motionX;
        var$2 = $this.$motionY;
        var$3 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$1, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.8500000238418579;
        $this.$motionY = $this.$motionY * 0.8500000238418579;
        $this.$motionZ = $this.$motionZ * 0.8500000238418579;
        var$4 = nms_World_getBlockMaterial($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
        nms_Material_$callClinit();
        if (var$4 !== nms_Material_water) {
            $ptr = 2;
            continue main;
        }
        var$5 = $this.$particleMaxAge;
        $this.$particleMaxAge = var$5 - 1 | 0;
        if (var$5 > 0)
            return;
        $ptr = 3;
        continue main;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$particleMaxAge;
        $this.$particleMaxAge = var$5 - 1 | 0;
        if (var$5 > 0)
            return;
        $ptr = 3;
    case 3:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
};
function nms_EntitySuspendFX() {
    nms_EntityFX.call(this);
}
function nms_EntitySuspendFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntitySuspendFX();
    $java.nms_EntitySuspendFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntitySuspendFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4 - 0.125, $par6, $par8, $par10, $par12);
    $this.$particleRed = 0.4000000059604645;
    $this.$particleGreen = 0.4000000059604645;
    $this.$particleBlue = 0.699999988079071;
    nms_EntityFX_setParticleTextureIndex($this, 0);
    nms_Entity_setSize($this, 0.009999999776482582, 0.009999999776482582);
    $this.$particleScale = $this.$particleScale * (nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6000000238418579 + 0.20000000298023224);
    $this.$motionX = $par8 * 0.0;
    $this.$motionY = $par10 * 0.0;
    $this.$motionZ = $par12 * 0.0;
    $this.$particleMaxAge = 16.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
};
$java.nms_EntitySuspendFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, var$5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$motionX;
        var$2 = $this.$motionY;
        var$3 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$1, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        var$4 = nms_World_getBlockMaterial($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
        nms_Material_$callClinit();
        if (var$4 !== nms_Material_water) {
            $ptr = 2;
            continue main;
        }
        var$5 = $this.$particleMaxAge;
        $this.$particleMaxAge = var$5 - 1 | 0;
        if (var$5 > 0)
            return;
        $ptr = 3;
        continue main;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        var$5 = $this.$particleMaxAge;
        $this.$particleMaxAge = var$5 - 1 | 0;
        if (var$5 > 0)
            return;
        $ptr = 3;
    case 3:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, var$5, $ptr);
};
function nms_EntityAuraFX() {
    nms_EntityFX.call(this);
}
function nms_EntityAuraFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityAuraFX();
    $java.nms_EntityAuraFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityAuraFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    var $var14;
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    $var14 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.10000000149011612 + 0.20000000298023224;
    $this.$particleRed = $var14;
    $this.$particleGreen = $var14;
    $this.$particleBlue = $var14;
    nms_EntityFX_setParticleTextureIndex($this, 0);
    nms_Entity_setSize($this, 0.019999999552965164, 0.019999999552965164);
    $this.$particleScale = $this.$particleScale * (nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6000000238418579 + 0.5);
    $this.$motionX = $this.$motionX * 0.019999999552965164;
    $this.$motionY = $this.$motionY * 0.019999999552965164;
    $this.$motionZ = $this.$motionZ * 0.019999999552965164;
    $this.$particleMaxAge = 20.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
    $this.$noClip = 1;
};
$java.nms_EntityAuraFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$motionX;
        var$2 = $this.$motionY;
        var$3 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$1, var$2, var$3);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.99;
        $this.$motionY = $this.$motionY * 0.99;
        $this.$motionZ = $this.$motionZ * 0.99;
        var$4 = $this.$particleMaxAge;
        $this.$particleMaxAge = var$4 - 1 | 0;
        if (var$4 > 0)
            return;
        $ptr = 2;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
function nms_EntityCritFX() {
    nms_EntityFX.call(this);
    this.$field_70561_a = 0.0;
}
$java.nms_EntityCritFX__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityCritFX();
    nms_EntityCritFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
};
function nms_EntityCritFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    var var$8, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$8 = $thread.pop();$par12 = $thread.pop();$par10 = $thread.pop();$par8 = $thread.pop();$par6 = $thread.pop();$par4 = $thread.pop();$par2 = $thread.pop();$par1World = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
        $this.$motionX = $this.$motionX * 0.10000000149011612;
        $this.$motionY = $this.$motionY * 0.10000000149011612;
        $this.$motionZ = $this.$motionZ * 0.10000000149011612;
        $this.$motionX = $this.$motionX + $par8 * 0.4;
        $this.$motionY = $this.$motionY + $par10 * 0.4;
        $this.$motionZ = $this.$motionZ + $par12 * 0.4;
        var$8 = jl_Math_random() * 0.30000001192092896 + 0.6000000238418579;
        $this.$particleBlue = var$8;
        $this.$particleGreen = var$8;
        $this.$particleRed = var$8;
        $this.$particleScale = $this.$particleScale * 0.75;
        $this.$particleScale = $this.$particleScale * 1.0;
        $this.$field_70561_a = $this.$particleScale;
        $this.$particleMaxAge = 6.0 / (jl_Math_random() * 0.8 + 0.6) | 0;
        $this.$particleMaxAge = $this.$particleMaxAge * 1.0 | 0;
        $this.$noClip = 0;
        nms_EntityFX_setParticleTextureIndex($this, 65);
        $ptr = 1;
    case 1:
        $java.nms_EntityCritFX_onUpdate($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12, var$8, $ptr);
}
$java.nms_EntityCritFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = ($this.$particleAge + $par2) / $this.$particleMaxAge * 32.0;
    if ($var8 < 0.0)
        $var8 = 0.0;
    if ($var8 > 1.0)
        $var8 = 1.0;
    $this.$particleScale = $this.$field_70561_a * $var8;
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntityCritFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$particleGreen = $this.$particleGreen * 0.96;
        $this.$particleBlue = $this.$particleBlue * 0.9;
        $this.$motionX = $this.$motionX * 0.699999988079071;
        $this.$motionY = $this.$motionY * 0.699999988079071;
        $this.$motionZ = $this.$motionZ * 0.699999988079071;
        $this.$motionY = $this.$motionY - 0.019999999552965164;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
function nms_EntitySpellParticleFX() {
    nms_EntityFX.call(this);
    this.$baseSpellTextureIndex = 0;
}
function nms_EntitySpellParticleFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntitySpellParticleFX();
    $java.nms_EntitySpellParticleFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntitySpellParticleFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    $this.$baseSpellTextureIndex = 128;
    $this.$motionY = $this.$motionY * 0.20000000298023224;
    if ($par8 === 0.0 && $par12 === 0.0) {
        $this.$motionX = $this.$motionX * 0.10000000149011612;
        $this.$motionZ = $this.$motionZ * 0.10000000149011612;
    }
    $this.$particleScale = $this.$particleScale * 0.75;
    $this.$particleMaxAge = 8.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
    $this.$noClip = 0;
};
$java.nms_EntitySpellParticleFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = ($this.$particleAge + $par2) / $this.$particleMaxAge * 32.0;
    if ($var8 < 0.0)
        $var8 = 0.0;
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntitySpellParticleFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        nms_EntityFX_setParticleTextureIndex($this, $this.$baseSpellTextureIndex + (7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0) | 0);
        $this.$motionY = $this.$motionY + 0.004;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$posY === $this.$prevPosY) {
            $this.$motionX = $this.$motionX * 1.1;
            $this.$motionZ = $this.$motionZ * 1.1;
        }
        $this.$motionX = $this.$motionX * 0.9599999785423279;
        $this.$motionY = $this.$motionY * 0.9599999785423279;
        $this.$motionZ = $this.$motionZ * 0.9599999785423279;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityFX_setParticleTextureIndex($this, $this.$baseSpellTextureIndex + (7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0) | 0);
        $this.$motionY = $this.$motionY + 0.004;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
function nms_EntitySpellParticleFX_setBaseSpellTextureIndex($this, $par1) {
    $this.$baseSpellTextureIndex = $par1;
}
function nms_EntityNoteFX() {
    nms_EntityFX.call(this);
    this.$noteParticleScale = 0.0;
}
function nms_EntityNoteFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityNoteFX();
    $java.nms_EntityNoteFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityNoteFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    var var$8;
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
    $this.$motionX = $this.$motionX * 0.009999999776482582;
    $this.$motionY = $this.$motionY * 0.009999999776482582;
    $this.$motionZ = $this.$motionZ * 0.009999999776482582;
    $this.$motionY = $this.$motionY + 0.2;
    var$8 = $par8;
    $this.$particleRed = nms_MathHelper_sin((var$8 + 0.0) * 3.1415927410125732 * 2.0) * 0.6499999761581421 + 0.3499999940395355;
    $this.$particleGreen = nms_MathHelper_sin((var$8 + 0.3333333432674408) * 3.1415927410125732 * 2.0) * 0.6499999761581421 + 0.3499999940395355;
    $this.$particleBlue = nms_MathHelper_sin((var$8 + 0.6666666865348816) * 3.1415927410125732 * 2.0) * 0.6499999761581421 + 0.3499999940395355;
    $this.$particleScale = $this.$particleScale * 0.75;
    $this.$particleScale = $this.$particleScale * 2.0;
    $this.$noteParticleScale = $this.$particleScale;
    $this.$particleMaxAge = 6;
    $this.$noClip = 0;
    nms_EntityFX_setParticleTextureIndex($this, 64);
};
$java.nms_EntityNoteFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = ($this.$particleAge + $par2) / $this.$particleMaxAge * 32.0;
    if ($var8 < 0.0)
        $var8 = 0.0;
    if ($var8 > 1.0)
        $var8 = 1.0;
    $this.$particleScale = $this.$noteParticleScale * $var8;
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntityNoteFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$posY === $this.$prevPosY) {
            $this.$motionX = $this.$motionX * 1.1;
            $this.$motionZ = $this.$motionZ * 1.1;
        }
        $this.$motionX = $this.$motionX * 0.6600000262260437;
        $this.$motionY = $this.$motionY * 0.6600000262260437;
        $this.$motionZ = $this.$motionZ * 0.6600000262260437;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
function nms_EntityPortalFX() {
    var a = this; nms_EntityFX.call(a);
    a.$portalParticleScale = 0.0;
    a.$portalPosX = 0.0;
    a.$portalPosY = 0.0;
    a.$portalPosZ = 0.0;
}
function nms_EntityPortalFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityPortalFX();
    $java.nms_EntityPortalFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityPortalFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    var $var14, var$9;
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    $this.$motionX = $par8;
    $this.$motionY = $par10;
    $this.$motionZ = $par12;
    $this.$posX = $par2;
    $this.$portalPosX = $par2;
    $this.$posY = $par4;
    $this.$portalPosY = $par4;
    $this.$posZ = $par6;
    $this.$portalPosZ = $par6;
    $var14 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6000000238418579 + 0.4000000059604645;
    var$9 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.20000000298023224 + 0.5;
    $this.$particleScale = var$9;
    $this.$portalParticleScale = var$9;
    $var14 = 1.0 * $var14;
    $this.$particleBlue = $var14;
    $this.$particleGreen = $var14;
    $this.$particleRed = $var14;
    $this.$particleGreen = $this.$particleGreen * 0.30000001192092896;
    $this.$particleRed = $this.$particleRed * 0.8999999761581421;
    $this.$particleMaxAge = (jl_Math_random() * 10.0 | 0) + 40 | 0;
    $this.$noClip = 1;
    nms_EntityFX_setParticleTextureIndex($this, jl_Math_random() * 8.0 | 0);
};
$java.nms_EntityPortalFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = 1.0 - ($this.$particleAge + $par2) / $this.$particleMaxAge;
    $var8 = 1.0 - $var8 * $var8;
    $this.$particleScale = $this.$portalParticleScale * $var8;
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntityPortalFX_getBrightnessForRender = function($this, $par1) {
    var $var2, $var3, $var4;
    $var2 = nms_Entity_getBrightnessForRender($this, $par1);
    $var3 = $this.$particleAge / $this.$particleMaxAge;
    $par1 = $var3 * $var3;
    $par1 = $par1 * $par1;
    $var4 = $var2 & 255;
    $var2 = ($var2 >> 16 & 255) + ($par1 * 15.0 * 16.0 | 0) | 0;
    if ($var2 > 240)
        $var2 = 240;
    return $var4 | $var2 << 16;
};
$java.nms_EntityPortalFX_onUpdate = function($this) {
    var $var1, var$2, var$3, var$4, var$5, var$6;
    $this.$prevPosX = $this.$posX;
    $this.$prevPosY = $this.$posY;
    $this.$prevPosZ = $this.$posZ;
    $var1 = $this.$particleAge / $this.$particleMaxAge;
    var$2 = 1.0 - ( -$var1 + $var1 * $var1 * 2.0);
    var$3 = $this.$portalPosX;
    var$4 = $this.$motionX;
    var$5 = var$2;
    $this.$posX = var$3 + var$4 * var$5;
    $this.$posY = $this.$portalPosY + $this.$motionY * var$5 + 1.0 - $var1;
    $this.$posZ = $this.$portalPosZ + $this.$motionZ * var$5;
    var$6 = $this.$particleAge;
    $this.$particleAge = var$6 + 1 | 0;
    if (var$6 >= $this.$particleMaxAge)
        nms_Entity_setDead($this);
};
function nms_EntityEnchantmentTableParticleFX() {
    var a = this; nms_EntityFX.call(a);
    a.$field_70565_a = 0.0;
    a.$field_70568_aq = 0.0;
    a.$field_70567_ar = 0.0;
    a.$field_70566_as = 0.0;
}
function nms_EntityEnchantmentTableParticleFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityEnchantmentTableParticleFX();
    $java.nms_EntityEnchantmentTableParticleFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityEnchantmentTableParticleFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    var $var14, var$9;
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    $this.$motionX = $par8;
    $this.$motionY = $par10;
    $this.$motionZ = $par12;
    $this.$posX = $par2;
    $this.$field_70568_aq = $par2;
    $this.$posY = $par4;
    $this.$field_70567_ar = $par4;
    $this.$posZ = $par6;
    $this.$field_70566_as = $par6;
    $var14 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6000000238418579 + 0.4000000059604645;
    var$9 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.5 + 0.20000000298023224;
    $this.$particleScale = var$9;
    $this.$field_70565_a = var$9;
    $var14 = 1.0 * $var14;
    $this.$particleBlue = $var14;
    $this.$particleGreen = $var14;
    $this.$particleRed = $var14;
    $this.$particleGreen = $this.$particleGreen * 0.8999999761581421;
    $this.$particleRed = $this.$particleRed * 0.8999999761581421;
    $this.$particleMaxAge = (jl_Math_random() * 10.0 | 0) + 30 | 0;
    $this.$noClip = 1;
    nms_EntityFX_setParticleTextureIndex($this, jl_Math_random() * 26.0 + 1.0 + 224.0 | 0);
};
$java.nms_EntityEnchantmentTableParticleFX_getBrightnessForRender = function($this, $par1) {
    var $var2, $var3, $var4;
    $var2 = nms_Entity_getBrightnessForRender($this, $par1);
    $var3 = $this.$particleAge / $this.$particleMaxAge;
    $par1 = $var3 * $var3;
    $par1 = $par1 * $par1;
    $var4 = $var2 & 255;
    $var2 = ($var2 >> 16 & 255) + ($par1 * 15.0 * 16.0 | 0) | 0;
    if ($var2 > 240)
        $var2 = 240;
    return $var4 | $var2 << 16;
};
$java.nms_EntityEnchantmentTableParticleFX_onUpdate = function($this) {
    var $var1, $var2, var$3, var$4, var$5, var$6;
    $this.$prevPosX = $this.$posX;
    $this.$prevPosY = $this.$posY;
    $this.$prevPosZ = $this.$posZ;
    $var1 = 1.0 - $this.$particleAge / $this.$particleMaxAge;
    $var2 = 1.0 - $var1;
    $var2 = $var2 * $var2;
    $var2 = $var2 * $var2;
    var$3 = $this.$field_70568_aq;
    var$4 = $this.$motionX;
    var$5 = $var1;
    $this.$posX = var$3 + var$4 * var$5;
    $this.$posY = $this.$field_70567_ar + $this.$motionY * var$5 - $var2 * 1.2000000476837158;
    $this.$posZ = $this.$field_70566_as + $this.$motionZ * var$5;
    var$6 = $this.$particleAge;
    $this.$particleAge = var$6 + 1 | 0;
    if (var$6 >= $this.$particleMaxAge)
        nms_Entity_setDead($this);
};
function nms_EntityExplodeFX() {
    nms_EntityFX.call(this);
}
function nms_EntityExplodeFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityExplodeFX();
    $java.nms_EntityExplodeFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityExplodeFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    var var$8;
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    $this.$motionX = $par8 + (jl_Math_random() * 2.0 - 1.0) * 0.05000000074505806;
    $this.$motionY = $par10 + (jl_Math_random() * 2.0 - 1.0) * 0.05000000074505806;
    $this.$motionZ = $par12 + (jl_Math_random() * 2.0 - 1.0) * 0.05000000074505806;
    var$8 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.30000001192092896 + 0.699999988079071;
    $this.$particleBlue = var$8;
    $this.$particleGreen = var$8;
    $this.$particleRed = var$8;
    $this.$particleScale = nle_EaglercraftRandom_nextFloat($this.$rand0) * nle_EaglercraftRandom_nextFloat($this.$rand0) * 6.0 + 1.0;
    $this.$particleMaxAge = (16.0 / (nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.8 + 0.2) | 0) + 2 | 0;
};
$java.nms_EntityExplodeFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        nms_EntityFX_setParticleTextureIndex($this, 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0);
        $this.$motionY = $this.$motionY + 0.004;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.8999999761581421;
        $this.$motionY = $this.$motionY * 0.8999999761581421;
        $this.$motionZ = $this.$motionZ * 0.8999999761581421;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityFX_setParticleTextureIndex($this, 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0);
        $this.$motionY = $this.$motionY + 0.004;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
function nms_EntityFlameFX() {
    nms_EntityFX.call(this);
    this.$flameScale = 0.0;
}
function nms_EntityFlameFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityFlameFX();
    $java.nms_EntityFlameFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityFlameFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    $this.$motionX = $this.$motionX * 0.009999999776482582 + $par8;
    $this.$motionY = $this.$motionY * 0.009999999776482582 + $par10;
    $this.$motionZ = $this.$motionZ * 0.009999999776482582 + $par12;
    nle_EaglercraftRandom_nextFloat($this.$rand0);
    nle_EaglercraftRandom_nextFloat($this.$rand0);
    nle_EaglercraftRandom_nextFloat($this.$rand0);
    nle_EaglercraftRandom_nextFloat($this.$rand0);
    nle_EaglercraftRandom_nextFloat($this.$rand0);
    nle_EaglercraftRandom_nextFloat($this.$rand0);
    $this.$flameScale = $this.$particleScale;
    $this.$particleBlue = 1.0;
    $this.$particleGreen = 1.0;
    $this.$particleRed = 1.0;
    $this.$particleMaxAge = (8.0 / (jl_Math_random() * 0.8 + 0.2) | 0) + 4 | 0;
    $this.$noClip = 1;
    nms_EntityFX_setParticleTextureIndex($this, 48);
};
$java.nms_EntityFlameFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = ($this.$particleAge + $par2) / $this.$particleMaxAge;
    $this.$particleScale = $this.$flameScale * (1.0 - $var8 * $var8 * 0.5);
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntityFlameFX_getBrightnessForRender = function($this, $par1) {
    var $var2, $var3, $var4, $var5;
    $var2 = ($this.$particleAge + $par1) / $this.$particleMaxAge;
    if ($var2 < 0.0)
        $var2 = 0.0;
    if ($var2 > 1.0)
        $var2 = 1.0;
    $var3 = nms_Entity_getBrightnessForRender($this, $par1);
    $var4 = $var3 & 255;
    $var5 = $var3 >> 16 & 255;
    $var3 = $var4 + ($var2 * 15.0 * 16.0 | 0) | 0;
    if ($var3 > 240)
        $var3 = 240;
    return $var3 | $var5 << 16;
};
$java.nms_EntityFlameFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.9599999785423279;
        $this.$motionY = $this.$motionY * 0.9599999785423279;
        $this.$motionZ = $this.$motionZ * 0.9599999785423279;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
function nms_EntityLavaFX() {
    nms_EntityFX.call(this);
    this.$lavaParticleScale = 0.0;
}
function nms_EntityLavaFX__init_(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityLavaFX();
    $java.nms_EntityLavaFX__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
}
$java.nms_EntityLavaFX__init_ = function($this, $par1World, $par2, $par4, $par6) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
    $this.$motionX = $this.$motionX * 0.800000011920929;
    $this.$motionY = $this.$motionY * 0.800000011920929;
    $this.$motionZ = $this.$motionZ * 0.800000011920929;
    $this.$motionY = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.4000000059604645 + 0.05000000074505806;
    $this.$particleBlue = 1.0;
    $this.$particleGreen = 1.0;
    $this.$particleRed = 1.0;
    $this.$particleScale = $this.$particleScale * (nle_EaglercraftRandom_nextFloat($this.$rand0) * 2.0 + 0.20000000298023224);
    $this.$lavaParticleScale = $this.$particleScale;
    $this.$particleMaxAge = 16.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
    $this.$noClip = 0;
    nms_EntityFX_setParticleTextureIndex($this, 49);
};
$java.nms_EntityLavaFX_getBrightnessForRender = function($this, $par1) {
    var $var2;
    $var2 = ($this.$particleAge + $par1) / $this.$particleMaxAge;
    if ($var2 < 0.0)
        $var2 = 0.0;
    return 240 | (nms_Entity_getBrightnessForRender($this, $par1) >> 16 & 255) << 16;
};
$java.nms_EntityLavaFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = ($this.$particleAge + $par2) / $this.$particleMaxAge;
    $this.$particleScale = $this.$lavaParticleScale * (1.0 - $var8 * $var8);
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntityLavaFX_onUpdate = function($this) {
    var var$1, $var1, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$10 = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$var1 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 1;
            continue main;
        }
        $var1 = $this.$particleAge / $this.$particleMaxAge;
        if (nle_EaglercraftRandom_nextFloat($this.$rand0) <= $var1) {
            $this.$motionY = $this.$motionY - 0.03;
            var$3 = $this.$motionX;
            var$4 = $this.$motionY;
            var$5 = $this.$motionZ;
            $ptr = 2;
            continue main;
        }
        var$6 = $this.$worldObj;
        var$7 = $rt_s(1166);
        var$3 = $this.$posX;
        var$4 = $this.$posY;
        var$5 = $this.$posZ;
        var$8 = $this.$motionX;
        var$9 = $this.$motionY;
        var$10 = $this.$motionZ;
        $ptr = 3;
        continue main;
    case 1:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $this.$particleAge / $this.$particleMaxAge;
        if (nle_EaglercraftRandom_nextFloat($this.$rand0) <= $var1) {
            $this.$motionY = $this.$motionY - 0.03;
            var$3 = $this.$motionX;
            var$4 = $this.$motionY;
            var$5 = $this.$motionZ;
            $ptr = 2;
            continue main;
        }
        var$6 = $this.$worldObj;
        var$7 = $rt_s(1166);
        var$3 = $this.$posX;
        var$4 = $this.$posY;
        var$5 = $this.$posZ;
        var$8 = $this.$motionX;
        var$9 = $this.$motionY;
        var$10 = $this.$motionZ;
        $ptr = 3;
        continue main;
    case 2:
        nms_Entity_moveEntity($this, var$3, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.9990000128746033;
        $this.$motionY = $this.$motionY * 0.9990000128746033;
        $this.$motionZ = $this.$motionZ * 0.9990000128746033;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 3:
        nms_World_spawnParticle(var$6, var$7, var$3, var$4, var$5, var$8, var$9, var$10);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionY = $this.$motionY - 0.03;
        var$3 = $this.$motionX;
        var$4 = $this.$motionY;
        var$5 = $this.$motionZ;
        $ptr = 2;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, $var1, var$3, var$4, var$5, var$6, var$7, var$8, var$9, var$10, $ptr);
};
function nms_EntityFootStepFX() {
    var a = this; nms_EntityFX.call(a);
    a.$field_70576_a = 0;
    a.$field_70578_aq = 0;
    a.$currentFootSteps = null;
}
$java.nms_EntityFootStepFX_fp = null;
function nms_EntityFootStepFX__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityFootStepFX();
    $java.nms_EntityFootStepFX__init_(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
$java.nms_EntityFootStepFX__init_ = function($this, $par1RenderEngine, $par2World, $par3, $par5, $par7) {
    nms_EntityFX__init_($this, $par2World, $par3, $par5, $par7, 0.0, 0.0, 0.0);
    $this.$field_70576_a = 0;
    $this.$field_70578_aq = 0;
    $this.$currentFootSteps = $par1RenderEngine;
    $this.$motionZ = 0.0;
    $this.$motionY = 0.0;
    $this.$motionX = 0.0;
    $this.$field_70578_aq = 200;
};
$java.nms_EntityFootStepFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var10, $var11, $var12, $var13, $var14, var$15, var$16, var$17, var$18, var$19, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$19 = $thread.pop();var$18 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var14 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();$var8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Tessellator = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var8 = ($this.$field_70576_a + $par2) / $this.$field_70578_aq;
        $var9 = 2.0 - $var8 * $var8 * 2.0;
        if ($var9 > 1.0)
            $var9 = 1.0;
        $par2 = $var9 * 0.20000000298023224;
        nleg_EaglerAdapterGL30_glDisable(2896);
        $var10 = 0.125;
        $var11 = $this.$posX - nms_EntityFX_interpPosX;
        $var12 = $this.$posY - nms_EntityFX_interpPosY;
        $var13 = $this.$posZ - nms_EntityFX_interpPosZ;
        $var14 = nms_World_getLightBrightness($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
        var$15 = $java.nms_EntityFootStepFX_fp;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$15);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glEnable(3042);
        nleg_EaglerAdapterGL30_glBlendFunc(770, 771);
        nlea_Tessellator_startDrawingQuads($par1Tessellator);
        nlea_Tessellator_setColorRGBA_F($par1Tessellator, $var14, $var14, $var14, $par2);
        var$16 = $var11 - $var10;
        var$17 = $var12;
        var$18 = $var13 + $var10;
        nlea_Tessellator_addVertexWithUV($par1Tessellator, var$16, var$17, var$18, 0.0, 1.0);
        var$19 = $var11 + $var10;
        nlea_Tessellator_addVertexWithUV($par1Tessellator, var$19, var$17, var$18, 1.0, 1.0);
        var$18 = $var13 - $var10;
        nlea_Tessellator_addVertexWithUV($par1Tessellator, var$19, var$17, var$18, 1.0, 0.0);
        nlea_Tessellator_addVertexWithUV($par1Tessellator, var$16, var$17, var$18, 0.0, 0.0);
        nlea_Tessellator_draw($par1Tessellator);
        nleg_EaglerAdapterGL30_glDisable(3042);
        nleg_EaglerAdapterGL30_glEnable(2896);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, var$15, var$16, var$17, var$18, var$19, $ptr);
};
$java.nms_EntityFootStepFX_onUpdate = function($this) {
    $this.$field_70576_a = $this.$field_70576_a + 1 | 0;
    if ($this.$field_70576_a == $this.$field_70578_aq)
        nms_Entity_setDead($this);
};
$java.nms_EntityFootStepFX_getFXLayer = function($this) {
    return 3;
};
function nms_EntityFootStepFX__clinit_() {
    $java.nms_EntityFootStepFX_fp = nle_TextureLocation__init_($rt_s(3384));
}
function nms_EntitySplashFX() {
    nms_EntityRainFX.call(this);
}
function nms_EntitySplashFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntitySplashFX();
    $java.nms_EntitySplashFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntitySplashFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    $java.nms_EntityRainFX__init_($this, $par1World, $par2, $par4, $par6);
    $this.$particleGravity = 0.03999999910593033;
    nms_EntityFX_nextTextureIndexX($this);
    if ($par10 === 0.0 && !($par8 === 0.0 && $par12 === 0.0)) {
        $this.$motionX = $par8;
        $this.$motionY = $par10 + 0.1;
        $this.$motionZ = $par12;
    }
};
function nms_EntityCloudFX() {
    nms_EntityFX.call(this);
    this.$field_70569_a = 0.0;
}
function nms_EntityCloudFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityCloudFX();
    $java.nms_EntityCloudFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityCloudFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    var var$8;
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
    $this.$motionX = $this.$motionX * 0.10000000149011612;
    $this.$motionY = $this.$motionY * 0.10000000149011612;
    $this.$motionZ = $this.$motionZ * 0.10000000149011612;
    $this.$motionX = $this.$motionX + $par8;
    $this.$motionY = $this.$motionY + $par10;
    $this.$motionZ = $this.$motionZ + $par12;
    var$8 = 1.0 - jl_Math_random() * 0.30000001192092896;
    $this.$particleBlue = var$8;
    $this.$particleGreen = var$8;
    $this.$particleRed = var$8;
    $this.$particleScale = $this.$particleScale * 0.75;
    $this.$particleScale = $this.$particleScale * 2.5;
    $this.$field_70569_a = $this.$particleScale;
    $this.$particleMaxAge = 8.0 / (jl_Math_random() * 0.8 + 0.3) | 0;
    $this.$particleMaxAge = $this.$particleMaxAge * 2.5 | 0;
    $this.$noClip = 0;
};
$java.nms_EntityCloudFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = ($this.$particleAge + $par2) / $this.$particleMaxAge * 32.0;
    if ($var8 < 0.0)
        $var8 = 0.0;
    if ($var8 > 1.0)
        $var8 = 1.0;
    $this.$particleScale = $this.$field_70569_a * $var8;
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntityCloudFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $var1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var1 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        nms_EntityFX_setParticleTextureIndex($this, 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0);
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.9599999785423279;
        $this.$motionY = $this.$motionY * 0.9599999785423279;
        $this.$motionZ = $this.$motionZ * 0.9599999785423279;
        $var1 = nms_World_getClosestPlayerToEntity($this.$worldObj, $this, 2.0);
        if ($var1 !== null && $this.$posY > $var1.$boundingBox.$minY) {
            $this.$posY = $this.$posY + ($var1.$boundingBox.$minY - $this.$posY) * 0.2;
            $this.$motionY = $this.$motionY + ($var1.$motionY - $this.$motionY) * 0.2;
            nms_Entity_setPosition($this, $this.$posX, $this.$posY, $this.$posZ);
        }
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityFX_setParticleTextureIndex($this, 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0);
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $var1, $ptr);
};
function nms_EntityReddustFX() {
    nms_EntityFX.call(this);
    this.$reddustParticleScale = 0.0;
}
function nms_EntityReddustFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityReddustFX();
    $java.nms_EntityReddustFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityReddustFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par9, $par10) {
    var var$8;
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
    $this.$motionX = $this.$motionX * 0.10000000149011612;
    $this.$motionY = $this.$motionY * 0.10000000149011612;
    $this.$motionZ = $this.$motionZ * 0.10000000149011612;
    if ($par8 === 0.0)
        $par8 = 1.0;
    var$8 = jl_Math_random() * 0.4000000059604645 + 0.6000000238418579;
    $this.$particleRed = (jl_Math_random() * 0.20000000298023224 + 0.800000011920929) * $par8 * var$8;
    $this.$particleGreen = (jl_Math_random() * 0.20000000298023224 + 0.800000011920929) * $par9 * var$8;
    $this.$particleBlue = (jl_Math_random() * 0.20000000298023224 + 0.800000011920929) * $par10 * var$8;
    $this.$particleScale = $this.$particleScale * 0.75;
    $this.$particleScale = $this.$particleScale * 1.0;
    $this.$reddustParticleScale = $this.$particleScale;
    $this.$particleMaxAge = 8.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
    $this.$particleMaxAge = $this.$particleMaxAge * 1.0 | 0;
    $this.$noClip = 0;
};
$java.nms_EntityReddustFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = ($this.$particleAge + $par2) / $this.$particleMaxAge * 32.0;
    if ($var8 < 0.0)
        $var8 = 0.0;
    if ($var8 > 1.0)
        $var8 = 1.0;
    $this.$particleScale = $this.$reddustParticleScale * $var8;
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntityReddustFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        nms_EntityFX_setParticleTextureIndex($this, 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0);
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$posY === $this.$prevPosY) {
            $this.$motionX = $this.$motionX * 1.1;
            $this.$motionZ = $this.$motionZ * 1.1;
        }
        $this.$motionX = $this.$motionX * 0.9599999785423279;
        $this.$motionY = $this.$motionY * 0.9599999785423279;
        $this.$motionZ = $this.$motionZ * 0.9599999785423279;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityFX_setParticleTextureIndex($this, 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0);
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
function nms_EntityBreakingFX() {
    nms_EntityFX.call(this);
}
$java.nms_EntityBreakingFX__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_EntityBreakingFX();
    nms_EntityBreakingFX__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
};
$java.nms_EntityBreakingFX__init_0 = function(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8) {
    var var_9 = new nms_EntityBreakingFX();
    nms_EntityBreakingFX__init_0(var_9, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8);
    return var_9;
};
function nms_EntityBreakingFX__init_($this, $par1World, $par2, $par4, $par6, $par8Item, $par9RenderEngine) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
    $java.nms_EntityFX_setParticleIcon($this, $par9RenderEngine, $par8Item.$getIconFromDamage(0));
    $this.$particleBlue = 1.0;
    $this.$particleGreen = 1.0;
    $this.$particleRed = 1.0;
    nms_Block_$callClinit();
    $this.$particleGravity = nms_Block_blockSnow.$blockParticleGravity;
    $this.$particleScale = $this.$particleScale / 2.0;
}
function nms_EntityBreakingFX__init_0($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12, $par14Item, $par15RenderEngine) {
    nms_EntityBreakingFX__init_($this, $par1World, $par2, $par4, $par6, $par14Item, $par15RenderEngine);
    $this.$motionX = $this.$motionX * 0.10000000149011612;
    $this.$motionY = $this.$motionY * 0.10000000149011612;
    $this.$motionZ = $this.$motionZ * 0.10000000149011612;
    $this.$motionX = $this.$motionX + $par8;
    $this.$motionY = $this.$motionY + $par10;
    $this.$motionZ = $this.$motionZ + $par12;
}
$java.nms_EntityBreakingFX_getFXLayer = function($this) {
    return 2;
};
$java.nms_EntityBreakingFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, $var9, $var10, $var11, $var12, var$13, var$14, var$15, $var13, $var14, $var15, $var16, var$20, var$21, var$22, var$23, var$24, var$25;
    $var8 = ($this.$particleTextureIndexX + $this.$particleTextureJitterX / 4.0) / 16.0;
    $var9 = $var8 + 0.015609375201165676;
    $var10 = ($this.$particleTextureIndexY + $this.$particleTextureJitterY / 4.0) / 16.0;
    $var11 = $var10 + 0.015609375201165676;
    $var12 = 0.10000000149011612 * $this.$particleScale;
    if ($this.$particleIcon !== null) {
        $var8 = $this.$particleIcon.$getInterpolatedU($this.$particleTextureJitterX / 4.0 * 16.0);
        $var9 = $this.$particleIcon.$getInterpolatedU(($this.$particleTextureJitterX + 1.0) / 4.0 * 16.0);
        $var10 = $this.$particleIcon.$getInterpolatedV($this.$particleTextureJitterY / 4.0 * 16.0);
        $var11 = $this.$particleIcon.$getInterpolatedV(($this.$particleTextureJitterY + 1.0) / 4.0 * 16.0);
    }
    var$13 = $this.$prevPosX;
    var$14 = $this.$posX - $this.$prevPosX;
    var$15 = $par2;
    $var13 = var$13 + var$14 * var$15 - nms_EntityFX_interpPosX;
    $var14 = $this.$prevPosY + ($this.$posY - $this.$prevPosY) * var$15 - nms_EntityFX_interpPosY;
    $var15 = $this.$prevPosZ + ($this.$posZ - $this.$prevPosZ) * var$15 - nms_EntityFX_interpPosZ;
    nlea_Tessellator_setColorOpaque_F($par1Tessellator, 1.0 * $this.$particleRed, 1.0 * $this.$particleGreen, 1.0 * $this.$particleBlue);
    $var16 = $par3 * $var12;
    var$20 = $var13 - $var16;
    $par6 = $par6 * $var12;
    var$21 = var$20 - $par6;
    var$22 = $par4 * $var12;
    var$15 = $var14 - var$22;
    $par5 = $par5 * $var12;
    $par2 = $var15 - $par5;
    $par3 = $par7 * $var12;
    var$13 = $par2 - $par3;
    var$14 = $var8;
    var$23 = $var11;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$21, var$15, var$13, var$14, var$23);
    var$13 = var$20 + $par6;
    var$21 = $var14 + var$22;
    var$24 = $par2 + $par3;
    var$25 = $var10;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$13, var$21, var$24, var$14, var$25);
    $par2 = $var13 + $var16;
    var$13 = $par2 + $par6;
    $par4 = $var15 + $par5;
    var$14 = $par4 + $par3;
    var$24 = $var9;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$13, var$21, var$14, var$24, var$25);
    nlea_Tessellator_addVertexWithUV($par1Tessellator, $par2 - $par6, var$15, $par4 - $par3, var$24, var$23);
};
function nms_EntityDropParticleFX() {
    var a = this; nms_EntityFX.call(a);
    a.$materialType = null;
    a.$bobTimer = 0;
}
$java.nms_EntityDropParticleFX__init_ = function(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_EntityDropParticleFX();
    nms_EntityDropParticleFX__init_(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
};
function nms_EntityDropParticleFX__init_($this, $par1World, $par2, $par4, $par6, $par8Material) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
    $this.$motionZ = 0.0;
    $this.$motionY = 0.0;
    $this.$motionX = 0.0;
    nms_Material_$callClinit();
    if ($par8Material !== nms_Material_water) {
        $this.$particleRed = 1.0;
        $this.$particleGreen = 0.0;
        $this.$particleBlue = 0.0;
    } else {
        $this.$particleRed = 0.0;
        $this.$particleGreen = 0.0;
        $this.$particleBlue = 1.0;
        $this.$particleAlpha = 0.4000000059604645;
    }
    nms_EntityFX_setParticleTextureIndex($this, 113);
    nms_Entity_setSize($this, 0.009999999776482582, 0.009999999776482582);
    $this.$particleGravity = 0.05999999865889549;
    $this.$materialType = $par8Material;
    $this.$bobTimer = 40;
    $this.$particleMaxAge = 64.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
    $this.$motionZ = 0.0;
    $this.$motionY = 0.0;
    $this.$motionX = 0.0;
}
$java.nms_EntityDropParticleFX_getBrightnessForRender = function($this, $par1) {
    var var$2;
    var$2 = $this.$materialType;
    nms_Material_$callClinit();
    return var$2 !== nms_Material_water ? 257 : nms_Entity_getBrightnessForRender($this, $par1);
};
$java.nms_EntityDropParticleFX_onUpdate = function($this) {
    var $var1, var$2, $var2, var$4, var$5, var$6, var$7, var$8, var$9, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$9 = $thread.pop();var$8 = $thread.pop();var$7 = $thread.pop();var$6 = $thread.pop();var$5 = $thread.pop();var$4 = $thread.pop();$var2 = $thread.pop();var$2 = $thread.pop();$var1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        $var1 = $this.$materialType;
        nms_Material_$callClinit();
        if ($var1 === nms_Material_water) {
            $this.$particleRed = 0.20000000298023224;
            $this.$particleGreen = 0.30000001192092896;
            $this.$particleBlue = 1.0;
        } else {
            $this.$particleRed = 1.0;
            $this.$particleGreen = 16.0 / ((40 - $this.$bobTimer | 0) + 16 | 0);
            $this.$particleBlue = 4.0 / ((40 - $this.$bobTimer | 0) + 8 | 0);
        }
        $this.$motionY = $this.$motionY - $this.$particleGravity;
        var$2 = $this.$bobTimer;
        $this.$bobTimer = var$2 - 1 | 0;
        if (var$2 <= 0)
            nms_EntityFX_setParticleTextureIndex($this, 112);
        else {
            $this.$motionX = $this.$motionX * 0.02;
            $this.$motionY = $this.$motionY * 0.02;
            $this.$motionZ = $this.$motionZ * 0.02;
            nms_EntityFX_setParticleTextureIndex($this, 113);
        }
        $var2 = $this.$motionX;
        var$4 = $this.$motionY;
        var$5 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, $var2, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.9800000190734863;
        $this.$motionY = $this.$motionY * 0.9800000190734863;
        $this.$motionZ = $this.$motionZ * 0.9800000190734863;
        var$2 = $this.$particleMaxAge;
        $this.$particleMaxAge = var$2 - 1 | 0;
        if (var$2 <= 0) {
            $ptr = 2;
            continue main;
        }
        if ($this.$onGround) {
            if ($this.$materialType === nms_Material_water) {
                $ptr = 3;
                continue main;
            }
            nms_EntityFX_setParticleTextureIndex($this, 114);
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        $var1 = nms_World_getBlockMaterial($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
        if (!(!$var1.$isLiquid() && !$var1.$isSolid())) {
            $var2 = (nms_MathHelper_floor_double($this.$posY) + 1 | 0) - nms_BlockFluid_getFluidHeightPercent(nms_World_getBlockMetadata($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ)));
            if ($this.$posY < $var2) {
                $ptr = 5;
                continue main;
            }
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$onGround) {
            if ($this.$materialType === nms_Material_water) {
                $ptr = 3;
                continue main;
            }
            nms_EntityFX_setParticleTextureIndex($this, 114);
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        $var1 = nms_World_getBlockMaterial($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
        if (!(!$var1.$isLiquid() && !$var1.$isSolid())) {
            $var2 = (nms_MathHelper_floor_double($this.$posY) + 1 | 0) - nms_BlockFluid_getFluidHeightPercent(nms_World_getBlockMetadata($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ)));
            if ($this.$posY < $var2) {
                $ptr = 5;
                continue main;
            }
        }
        return;
    case 3:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        $var1 = $this.$worldObj;
        var$6 = $rt_s(1018);
        var$7 = $this.$posX;
        var$8 = $this.$posY;
        var$9 = $this.$posZ;
        $var2 = 0.0;
        var$4 = 0.0;
        var$5 = 0.0;
        $ptr = 4;
    case 4:
        nms_World_spawnParticle($var1, var$6, var$7, var$8, var$9, $var2, var$4, var$5);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.699999988079071;
        $this.$motionZ = $this.$motionZ * 0.699999988079071;
        $var1 = nms_World_getBlockMaterial($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ));
        if (!(!$var1.$isLiquid() && !$var1.$isSolid())) {
            $var2 = (nms_MathHelper_floor_double($this.$posY) + 1 | 0) - nms_BlockFluid_getFluidHeightPercent(nms_World_getBlockMetadata($this.$worldObj, nms_MathHelper_floor_double($this.$posX), nms_MathHelper_floor_double($this.$posY), nms_MathHelper_floor_double($this.$posZ)));
            if ($this.$posY < $var2) {
                $ptr = 5;
                continue main;
            }
        }
        return;
    case 5:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $var1, var$2, $var2, var$4, var$5, var$6, var$7, var$8, var$9, $ptr);
};
function nms_EntitySnowShovelFX() {
    nms_EntityFX.call(this);
    this.$snowDigParticleScale = 0.0;
}
function nms_EntitySnowShovelFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntitySnowShovelFX();
    $java.nms_EntitySnowShovelFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntitySnowShovelFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    var var$8;
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12);
    $this.$motionX = $this.$motionX * 0.10000000149011612;
    $this.$motionY = $this.$motionY * 0.10000000149011612;
    $this.$motionZ = $this.$motionZ * 0.10000000149011612;
    $this.$motionX = $this.$motionX + $par8;
    $this.$motionY = $this.$motionY + $par10;
    $this.$motionZ = $this.$motionZ + $par12;
    var$8 = 1.0 - jl_Math_random() * 0.30000001192092896;
    $this.$particleBlue = var$8;
    $this.$particleGreen = var$8;
    $this.$particleRed = var$8;
    $this.$particleScale = $this.$particleScale * 0.75;
    $this.$particleScale = $this.$particleScale * 1.0;
    $this.$snowDigParticleScale = $this.$particleScale;
    $this.$particleMaxAge = 8.0 / (jl_Math_random() * 0.8 + 0.2) | 0;
    $this.$particleMaxAge = $this.$particleMaxAge * 1.0 | 0;
    $this.$noClip = 0;
};
$java.nms_EntitySnowShovelFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = ($this.$particleAge + $par2) / $this.$particleMaxAge * 32.0;
    if ($var8 < 0.0)
        $var8 = 0.0;
    if ($var8 > 1.0)
        $var8 = 1.0;
    $this.$particleScale = $this.$snowDigParticleScale * $var8;
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntitySnowShovelFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        nms_EntityFX_setParticleTextureIndex($this, 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0);
        $this.$motionY = $this.$motionY - 0.03;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.9900000095367432;
        $this.$motionY = $this.$motionY * 0.9900000095367432;
        $this.$motionZ = $this.$motionZ * 0.9900000095367432;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        nms_EntityFX_setParticleTextureIndex($this, 7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0);
        $this.$motionY = $this.$motionY - 0.03;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
function nms_EntityHeartFX() {
    nms_EntityFX.call(this);
    this.$particleScaleOverTime = 0.0;
}
function nms_EntityHeartFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6) {
    var var_7 = new nms_EntityHeartFX();
    $java.nms_EntityHeartFX__init_(var_7, var_0, var_1, var_2, var_3, var_4, var_5, var_6);
    return var_7;
}
$java.nms_EntityHeartFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12) {
    nms_EntityFX__init_($this, $par1World, $par2, $par4, $par6, 0.0, 0.0, 0.0);
    $this.$motionX = $this.$motionX * 0.009999999776482582;
    $this.$motionY = $this.$motionY * 0.009999999776482582;
    $this.$motionZ = $this.$motionZ * 0.009999999776482582;
    $this.$motionY = $this.$motionY + 0.1;
    $this.$particleScale = $this.$particleScale * 0.75;
    $this.$particleScale = $this.$particleScale * 2.0;
    $this.$particleScaleOverTime = $this.$particleScale;
    $this.$particleMaxAge = 16;
    $this.$noClip = 0;
    nms_EntityFX_setParticleTextureIndex($this, 80);
};
$java.nms_EntityHeartFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8;
    $var8 = ($this.$particleAge + $par2) / $this.$particleMaxAge * 32.0;
    if ($var8 < 0.0)
        $var8 = 0.0;
    if ($var8 > 1.0)
        $var8 = 1.0;
    $this.$particleScale = $this.$particleScaleOverTime * $var8;
    $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntityHeartFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 2;
            continue main;
        }
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
    case 1:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$posY === $this.$prevPosY) {
            $this.$motionX = $this.$motionX * 1.1;
            $this.$motionZ = $this.$motionZ * 1.1;
        }
        $this.$motionX = $this.$motionX * 0.8600000143051147;
        $this.$motionY = $this.$motionY * 0.8600000143051147;
        $this.$motionZ = $this.$motionZ * 0.8600000143051147;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        return;
    case 2:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 1;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $ptr);
};
function nms_EntityLargeExplodeFX() {
    var a = this; nms_EntityFX.call(a);
    a.$field_70581_a = 0;
    a.$field_70584_aq = 0;
    a.$theRenderEngine = null;
    a.$field_70582_as = 0.0;
}
$java.nms_EntityLargeExplodeFX_explosion = null;
function nms_EntityLargeExplodeFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
    var var_8 = new nms_EntityLargeExplodeFX();
    $java.nms_EntityLargeExplodeFX__init_(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
    return var_8;
}
$java.nms_EntityLargeExplodeFX__init_ = function($this, $par1RenderEngine, $par2World, $par3, $par5, $par7, $par9, $par11, $par13) {
    var var$9;
    nms_EntityFX__init_($this, $par2World, $par3, $par5, $par7, 0.0, 0.0, 0.0);
    $this.$field_70581_a = 0;
    $this.$field_70584_aq = 0;
    $this.$theRenderEngine = $par1RenderEngine;
    $this.$field_70584_aq = 6 + nle_EaglercraftRandom_nextInt($this.$rand0, 4) | 0;
    var$9 = nle_EaglercraftRandom_nextFloat($this.$rand0) * 0.6000000238418579 + 0.4000000059604645;
    $this.$particleBlue = var$9;
    $this.$particleGreen = var$9;
    $this.$particleRed = var$9;
    $this.$field_70582_as = 1.0 - $par9 * 0.5;
};
$java.nms_EntityLargeExplodeFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var8, var$9, $var9, $var10, $var11, $var12, $var13, var$15, var$16, var$17, $var14, $var15, $var16, var$21, var$22, var$23, var$24, var$25, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$25 = $thread.pop();var$24 = $thread.pop();var$23 = $thread.pop();var$22 = $thread.pop();var$21 = $thread.pop();$var16 = $thread.pop();$var15 = $thread.pop();$var14 = $thread.pop();var$17 = $thread.pop();var$16 = $thread.pop();var$15 = $thread.pop();$var13 = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var9 = $thread.pop();var$9 = $thread.pop();$var8 = $thread.pop();$par7 = $thread.pop();$par6 = $thread.pop();$par5 = $thread.pop();$par4 =
        $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Tessellator = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var8 = ($this.$field_70581_a + $par2) * 15.0 / $this.$field_70584_aq | 0;
        if ($var8 > 15)
            return;
        var$9 = $java.nms_EntityLargeExplodeFX_explosion;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture(var$9);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = ($var8 % 4 | 0) / 4.0;
        $var10 = $var9 + 0.24975000321865082;
        $var11 = ($var8 / 4 | 0) / 4.0;
        $var12 = $var11 + 0.24975000321865082;
        $var13 = 2.0 * $this.$field_70582_as;
        var$15 = $this.$prevPosX;
        var$16 = $this.$posX - $this.$prevPosX;
        var$17 = $par2;
        $var14 = var$15 + var$16 * var$17 - nms_EntityFX_interpPosX;
        $var15 = $this.$prevPosY + ($this.$posY - $this.$prevPosY) * var$17 - nms_EntityFX_interpPosY;
        $var16 = $this.$prevPosZ + ($this.$posZ - $this.$prevPosZ) * var$17 - nms_EntityFX_interpPosZ;
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        nleg_EaglerAdapterGL30_glDisable(2896);
        nlea_Tessellator_startDrawingQuads($par1Tessellator);
        nlea_Tessellator_setColorRGBA_F($par1Tessellator, $this.$particleRed, $this.$particleGreen, $this.$particleBlue, 1.0);
        nlea_Tessellator_setNormal($par1Tessellator, 0.0, 1.0, 0.0);
        nlea_Tessellator_setBrightness($par1Tessellator, 240);
        $par2 = $par3 * $var13;
        $par3 = $var14 - $par2;
        $par6 = $par6 * $var13;
        var$15 = $par3 - $par6;
        var$21 = $par4 * $var13;
        var$16 = $var15 - var$21;
        $par4 = $par5 * $var13;
        $par5 = $var16 - $par4;
        $par7 = $par7 * $var13;
        var$17 = $par5 - $par7;
        var$22 = $var10;
        var$23 = $var12;
        nlea_Tessellator_addVertexWithUV($par1Tessellator, var$15, var$16, var$17, var$22, var$23);
        var$15 = $par3 + $par6;
        var$17 = $var15 + var$21;
        var$24 = $par5 + $par7;
        var$25 = $var11;
        nlea_Tessellator_addVertexWithUV($par1Tessellator, var$15, var$17, var$24, var$22, var$25);
        $par2 = $var14 + $par2;
        var$15 = $par2 + $par6;
        $par3 = $var16 + $par4;
        var$22 = $par3 + $par7;
        var$24 = $var9;
        nlea_Tessellator_addVertexWithUV($par1Tessellator, var$15, var$17, var$22, var$24, var$25);
        nlea_Tessellator_addVertexWithUV($par1Tessellator, $par2 - $par6, var$16, $par3 - $par7, var$24, var$23);
        nlea_Tessellator_draw($par1Tessellator);
        nleg_EaglerAdapterGL30_glPolygonOffset(0.0, 0.0);
        nleg_EaglerAdapterGL30_glEnable(2896);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7, $var8, var$9, $var9, $var10, $var11, $var12, $var13, var$15, var$16, var$17, $var14, $var15, $var16, var$21, var$22, var$23, var$24, var$25, $ptr);
};
$java.nms_EntityLargeExplodeFX_getBrightnessForRender = function($this, $par1) {
    return 61680;
};
$java.nms_EntityLargeExplodeFX_onUpdate = function($this) {
    $this.$prevPosX = $this.$posX;
    $this.$prevPosY = $this.$posY;
    $this.$prevPosZ = $this.$posZ;
    $this.$field_70581_a = $this.$field_70581_a + 1 | 0;
    if ($this.$field_70581_a == $this.$field_70584_aq)
        nms_Entity_setDead($this);
};
$java.nms_EntityLargeExplodeFX_getFXLayer = function($this) {
    return 3;
};
function nms_EntityLargeExplodeFX__clinit_() {
    $java.nms_EntityLargeExplodeFX_explosion = nle_TextureLocation__init_($rt_s(3385));
}
function nms_EntityFireworkSparkFX() {
    var a = this; nms_EntityFX.call(a);
    a.$field_92049_a = 0;
    a.$field_92054_ax = 0;
    a.$field_92048_ay = 0;
    a.$field_92047_az = null;
    a.$field_92050_aA = 0.0;
    a.$field_92051_aB = 0.0;
    a.$field_92052_aC = 0.0;
    a.$field_92053_aD = 0;
}
function nms_EntityFireworkSparkFX__init_(var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7) {
    var var_8 = new nms_EntityFireworkSparkFX();
    $java.nms_EntityFireworkSparkFX__init_(var_8, var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
    return var_8;
}
$java.nms_EntityFireworkSparkFX__init_ = function($this, $par1World, $par2, $par4, $par6, $par8, $par10, $par12, $par14EffectRenderer) {
    $java.nms_EntityFX__init_0($this, $par1World, $par2, $par4, $par6);
    $this.$field_92049_a = 160;
    $this.$motionX = $par8;
    $this.$motionY = $par10;
    $this.$motionZ = $par12;
    $this.$field_92047_az = $par14EffectRenderer;
    $this.$particleScale = $this.$particleScale * 0.75;
    $this.$particleMaxAge = 48 + nle_EaglercraftRandom_nextInt($this.$rand0, 12) | 0;
    $this.$noClip = 0;
};
$java.nms_EntityFireworkSparkFX_func_92045_e = function($this, $par1) {
    $this.$field_92054_ax = $par1;
};
$java.nms_EntityFireworkSparkFX_func_92043_f = function($this, $par1) {
    $this.$field_92048_ay = $par1;
};
$java.nms_EntityFireworkSparkFX_func_92044_a = function($this, $par1) {
    var $var2, $var3, $var4;
    $var2 = (($par1 & 16711680) >> 16) / 255.0;
    $var3 = (($par1 & 65280) >> 8) / 255.0;
    $var4 = (($par1 & 255) >> 0) / 255.0;
    nms_EntityFX_setRBGColorF($this, $var2 * 1.0, $var3 * 1.0, $var4 * 1.0);
};
$java.nms_EntityFireworkSparkFX_func_92046_g = function($this, $par1) {
    $this.$field_92050_aA = (($par1 & 16711680) >> 16) / 255.0;
    $this.$field_92051_aB = (($par1 & 65280) >> 8) / 255.0;
    $this.$field_92052_aC = (($par1 & 255) >> 0) / 255.0;
    $this.$field_92053_aD = 1;
};
$java.nms_EntityFireworkSparkFX_getBoundingBox = function($this) {
    return null;
};
$java.nms_EntityFireworkSparkFX_canBePushed = function($this) {
    return 0;
};
$java.nms_EntityFireworkSparkFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    if (!($this.$field_92048_ay && $this.$particleAge >= ($this.$particleMaxAge / 3 | 0) && ((($this.$particleAge + $this.$particleMaxAge | 0) / 3 | 0) % 2 | 0)))
        $java.nms_EntityFX_renderParticle($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7);
};
$java.nms_EntityFireworkSparkFX_onUpdate = function($this) {
    var var$1, var$2, var$3, var$4, $var1, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var1 = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();var$2 = $thread.pop();var$1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $this.$prevPosX = $this.$posX;
        $this.$prevPosY = $this.$posY;
        $this.$prevPosZ = $this.$posZ;
        var$1 = $this.$particleAge;
        $this.$particleAge = var$1 + 1 | 0;
        if (var$1 >= $this.$particleMaxAge) {
            $ptr = 1;
            continue main;
        }
        if ($this.$particleAge > ($this.$particleMaxAge / 2 | 0)) {
            $this.$particleAlpha = 1.0 - ($this.$particleAge - ($this.$particleMaxAge / 2 | 0)) / $this.$particleMaxAge;
            if ($this.$field_92053_aD) {
                $this.$particleRed = $this.$particleRed + ($this.$field_92050_aA - $this.$particleRed) * 0.20000000298023224;
                $this.$particleGreen = $this.$particleGreen + ($this.$field_92051_aB - $this.$particleGreen) * 0.20000000298023224;
                $this.$particleBlue = $this.$particleBlue + ($this.$field_92052_aC - $this.$particleBlue) * 0.20000000298023224;
            }
        }
        nms_EntityFX_setParticleTextureIndex($this, $this.$field_92049_a + (7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0) | 0);
        $this.$motionY = $this.$motionY - 0.004;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 2;
        continue main;
    case 1:
        nms_Entity_setDead($this);
        if ($rt_suspending()) {
            break main;
        }
        if ($this.$particleAge > ($this.$particleMaxAge / 2 | 0)) {
            $this.$particleAlpha = 1.0 - ($this.$particleAge - ($this.$particleMaxAge / 2 | 0)) / $this.$particleMaxAge;
            if ($this.$field_92053_aD) {
                $this.$particleRed = $this.$particleRed + ($this.$field_92050_aA - $this.$particleRed) * 0.20000000298023224;
                $this.$particleGreen = $this.$particleGreen + ($this.$field_92051_aB - $this.$particleGreen) * 0.20000000298023224;
                $this.$particleBlue = $this.$particleBlue + ($this.$field_92052_aC - $this.$particleBlue) * 0.20000000298023224;
            }
        }
        nms_EntityFX_setParticleTextureIndex($this, $this.$field_92049_a + (7 - (($this.$particleAge * 8 | 0) / $this.$particleMaxAge | 0) | 0) | 0);
        $this.$motionY = $this.$motionY - 0.004;
        var$2 = $this.$motionX;
        var$3 = $this.$motionY;
        var$4 = $this.$motionZ;
        $ptr = 2;
    case 2:
        nms_Entity_moveEntity($this, var$2, var$3, var$4);
        if ($rt_suspending()) {
            break main;
        }
        $this.$motionX = $this.$motionX * 0.9100000262260437;
        $this.$motionY = $this.$motionY * 0.9100000262260437;
        $this.$motionZ = $this.$motionZ * 0.9100000262260437;
        if ($this.$onGround) {
            $this.$motionX = $this.$motionX * 0.699999988079071;
            $this.$motionZ = $this.$motionZ * 0.699999988079071;
        }
        if ($this.$field_92054_ax && $this.$particleAge < ($this.$particleMaxAge / 2 | 0) && !(($this.$particleAge + $this.$particleMaxAge | 0) % 2 | 0)) {
            $var1 = nms_EntityFireworkSparkFX__init_($this.$worldObj, $this.$posX, $this.$posY, $this.$posZ, 0.0, 0.0, 0.0, $this.$field_92047_az);
            nms_EntityFX_setRBGColorF($var1, $this.$particleRed, $this.$particleGreen, $this.$particleBlue);
            $var1.$particleAge = $var1.$particleMaxAge / 2 | 0;
            if ($this.$field_92053_aD) {
                $var1.$field_92053_aD = 1;
                $var1.$field_92050_aA = $this.$field_92050_aA;
                $var1.$field_92051_aB = $this.$field_92051_aB;
                $var1.$field_92052_aC = $this.$field_92052_aC;
            }
            $var1.$field_92048_ay = $this.$field_92048_ay;
            nms_EffectRenderer_addEffect($this.$field_92047_az, $var1);
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, var$1, var$2, var$3, var$4, $var1, $ptr);
};
$java.nms_EntityFireworkSparkFX_getBrightnessForRender = function($this, $par1) {
    return 15728880;
};
function nms_GuiBeaconButton() {
    var a = this; nms_GuiButton.call(a);
    a.$buttonTexture = null;
    a.$field_82257_l = 0;
    a.$field_82258_m = 0;
    a.$field_82256_n = 0;
}
$java.nms_GuiBeaconButton_tex_beacon = null;
$java.nms_GuiBeaconButton__init_0 = function(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_GuiBeaconButton();
    $java.nms_GuiBeaconButton__init_(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
};
$java.nms_GuiBeaconButton__init_ = function($this, $par1, $par2, $par3, $par4Str, $par5, $par6) {
    nms_GuiButton__init_1($this, $par1, $par2, $par3, 22, 22, $rt_s(36));
    $this.$buttonTexture = nle_TextureLocation__init_($par4Str);
    $this.$field_82257_l = $par5;
    $this.$field_82258_m = $par6;
};
$java.nms_GuiBeaconButton_drawButton = function($this, $par1Minecraft, $par2, $par3) {
    var $var5, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var5 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Minecraft = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$drawButton0)
            return;
        $par1Minecraft = $java.nms_GuiBeaconButton_tex_beacon;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1Minecraft);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $this.$field_82253_i = $par2 >= $this.$xPosition1 && $par3 >= $this.$yPosition && $par2 < ($this.$xPosition1 + $this.$width6 | 0) && $par3 < ($this.$yPosition + $this.$height8 | 0) ? 1 : 0;
        $var5 = 0;
        if (!$this.$enabled)
            $var5 = $var5 + ($this.$width6 * 2 | 0) | 0;
        else if ($this.$field_82256_n)
            $var5 = $var5 + ($this.$width6 * 1 | 0) | 0;
        else if ($this.$field_82253_i)
            $var5 = $var5 + ($this.$width6 * 3 | 0) | 0;
        nms_Gui_drawTexturedModalRect($this, $this.$xPosition1, $this.$yPosition, $var5, 219, $this.$width6, $this.$height8);
        $par1Minecraft = $this.$buttonTexture;
        $ptr = 2;
    case 2:
        nle_TextureLocation_bindTexture($par1Minecraft);
        if ($rt_suspending()) {
            break main;
        }
        nms_Gui_drawTexturedModalRect($this, $this.$xPosition1 + 2 | 0, $this.$yPosition + 2 | 0, $this.$field_82257_l, $this.$field_82258_m, 18, 18);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Minecraft, $par2, $par3, $var5, $ptr);
};
$java.nms_GuiBeaconButton_func_82255_b = function($this) {
    return $this.$field_82256_n;
};
$java.nms_GuiBeaconButton_func_82254_b = function($this, $par1) {
    $this.$field_82256_n = $par1;
};
function nms_GuiBeaconButton__clinit_() {
    $java.nms_GuiBeaconButton_tex_beacon = nle_TextureLocation__init_($rt_s(1088));
}
function nms_GuiBeaconButtonConfirm() {
    nms_GuiBeaconButton.call(this);
    this.$beaconGui = null;
}
$java.nms_GuiBeaconButtonConfirm_func_82251_b = function($this, $par1, $par2) {
    var var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$beaconGui;
        var$4 = nms_StatCollector_translateToLocal($rt_s(511));
        $ptr = 1;
    case 1:
        nms_GuiContainer_drawCreativeTabHoveringText(var$3, var$4, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, $ptr);
};
function nms_GuiBeaconButtonCancel() {
    nms_GuiBeaconButton.call(this);
    this.$beaconGui0 = null;
}
$java.nms_GuiBeaconButtonCancel_func_82251_b = function($this, $par1, $par2) {
    var var$3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        var$3 = $this.$beaconGui0;
        var$4 = nms_StatCollector_translateToLocal($rt_s(1308));
        $ptr = 1;
    case 1:
        nms_GuiContainer_drawCreativeTabHoveringText(var$3, var$4, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, var$4, $ptr);
};
function nms_GuiButtonMerchant() {
    nms_GuiButton.call(this);
    this.$mirrored = 0;
}
$java.nms_GuiButtonMerchant_tex = null;
$java.nms_GuiButtonMerchant__init_0 = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_GuiButtonMerchant();
    $java.nms_GuiButtonMerchant__init_(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_GuiButtonMerchant__init_ = function($this, $par1, $par2, $par3, $par4) {
    nms_GuiButton__init_1($this, $par1, $par2, $par3, 12, 19, $rt_s(36));
    $this.$mirrored = $par4;
};
$java.nms_GuiButtonMerchant_drawButton = function($this, $par1Minecraft, $par2, $par3) {
    var $var4, $var5, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Minecraft = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$drawButton0)
            return;
        $par1Minecraft = $java.nms_GuiButtonMerchant_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1Minecraft);
        if ($rt_suspending()) {
            break main;
        }
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var4 = $par2 >= $this.$xPosition1 && $par3 >= $this.$yPosition && $par2 < ($this.$xPosition1 + $this.$width6 | 0) && $par3 < ($this.$yPosition + $this.$height8 | 0) ? 1 : 0;
        $var5 = 0;
        $var6 = 176;
        if (!$this.$enabled)
            $var6 = $var6 + ($this.$width6 * 2 | 0) | 0;
        else if ($var4)
            $var6 = $var6 + $this.$width6 | 0;
        if (!$this.$mirrored)
            $var5 = $var5 + $this.$height8 | 0;
        nms_Gui_drawTexturedModalRect($this, $this.$xPosition1, $this.$yPosition, $var6, $var5, $this.$width6, $this.$height8);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Minecraft, $par2, $par3, $var4, $var5, $var6, $ptr);
};
function nms_GuiButtonMerchant__clinit_() {
    $java.nms_GuiButtonMerchant_tex = nle_TextureLocation__init_($rt_s(3294));
}
function nms_GuiBeaconButtonPower() {
    var a = this; nms_GuiBeaconButton.call(a);
    a.$field_82261_l = 0;
    a.$field_82262_m = 0;
    a.$beaconGui1 = null;
}
$java.nms_GuiBeaconButtonPower__init_ = function(var_0, var_1, var_2, var_3, var_4, var_5) {
    var var_6 = new nms_GuiBeaconButtonPower();
    $java.nms_GuiBeaconButtonPower__init_0(var_6, var_0, var_1, var_2, var_3, var_4, var_5);
    return var_6;
};
$java.nms_GuiBeaconButtonPower__init_0 = function($this, $par1GuiBeacon, $par2, $par3, $par4, $par5, $par6) {
    $java.nms_GuiBeaconButton__init_($this, $par2, $par3, $par4, $rt_s(1500), 0 + ((nms_Potion_potionTypes.data[$par5].$statusIconIndex % 8 | 0) * 18 | 0) | 0, 198 + ((nms_Potion_potionTypes.data[$par5].$statusIconIndex / 8 | 0) * 18 | 0) | 0);
    $this.$beaconGui1 = $par1GuiBeacon;
    $this.$field_82261_l = $par5;
    $this.$field_82262_m = $par6;
};
$java.nms_GuiBeaconButtonPower_func_82251_b = function($this, $par1, $par2) {
    var $var3, var$4, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$4 = $thread.pop();$var3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        $var3 = nms_StatCollector_translateToLocal(nms_Potion_potionTypes.data[$this.$field_82261_l].$name11);
        if ($this.$field_82262_m >= 3 && $this.$field_82261_l != nms_Potion_regeneration.$id5) {
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, $var3);
            jl_AbstractStringBuilder_append(var$4, $rt_s(1497));
            $var3 = jl_AbstractStringBuilder_toString(var$4);
        }
        var$4 = $this.$beaconGui1;
        $ptr = 1;
    case 1:
        nms_GuiContainer_drawCreativeTabHoveringText(var$4, $var3, $par1, $par2);
        if ($rt_suspending()) {
            break main;
        }
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $var3, var$4, $ptr);
};
function nms_EnchantmentNameParts() {
    var a = this; jl_Object.call(a);
    a.$rand7 = null;
    a.$wordList = null;
}
$java.nms_EnchantmentNameParts_instance = null;
$java.nms_EnchantmentNameParts_$callClinit = function() {
    $java.nms_EnchantmentNameParts_$callClinit = $rt_eraseClinit(nms_EnchantmentNameParts);
    $java.nms_EnchantmentNameParts__clinit_();
};
$java.nms_EnchantmentNameParts__init_ = function() {
    var var_0 = new nms_EnchantmentNameParts();
    nms_EnchantmentNameParts__init_(var_0);
    return var_0;
};
function nms_EnchantmentNameParts__init_($this) {
    $java.nms_EnchantmentNameParts_$callClinit();
    $this.$rand7 = nle_EaglercraftRandom__init_0();
    $this.$wordList = jl_String_split($rt_s(3386), $rt_s(343));
}
$java.nms_EnchantmentNameParts_generateRandomEnchantName = function($this) {
    var $var1, $var2, $var3, var$4;
    $var1 = nle_EaglercraftRandom_nextInt($this.$rand7, 2) + 3 | 0;
    $var2 = $rt_s(36);
    $var3 = 0;
    while ($var3 < $var1) {
        if ($var3 > 0) {
            var$4 = new jl_StringBuilder;
            jl_AbstractStringBuilder__init_(var$4);
            jl_AbstractStringBuilder_append(var$4, $var2);
            jl_AbstractStringBuilder_append(var$4, $rt_s(343));
            $var2 = jl_AbstractStringBuilder_toString(var$4);
        }
        var$4 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_(var$4);
        jl_AbstractStringBuilder_append(var$4, $var2);
        jl_AbstractStringBuilder_append(var$4, $this.$wordList.data[nle_EaglercraftRandom_nextInt($this.$rand7, $this.$wordList.data.length)]);
        $var2 = jl_AbstractStringBuilder_toString(var$4);
        $var3 = $var3 + 1 | 0;
    }
    return $var2;
};
$java.nms_EnchantmentNameParts_setRandSeed = function($this, $par1) {
    $this.$rand7.$seed = $par1;
};
$java.nms_EnchantmentNameParts__clinit_ = function() {
    $java.nms_EnchantmentNameParts_instance = $java.nms_EnchantmentNameParts__init_();
};
function jl_Class$MethodSignature() {
    var a = this; jl_Object.call(a);
    a.$name1 = null;
    a.$parameterTypes0 = null;
    a.$returnType0 = null;
}
$java.jl_Class$MethodSignature_equals = function($this, $o) {
    var $that;
    if ($this === $o)
        return 1;
    if (!($o instanceof jl_Class$MethodSignature))
        return 0;
    $that = $o;
    return ju_Objects_equals($this.$name1, $that.$name1) && ju_Arrays_equals($this.$parameterTypes0, $that.$parameterTypes0) && ju_Objects_equals($this.$returnType0, $that.$returnType0) ? 1 : 0;
};
$java.jl_Class$MethodSignature_hashCode = function($this) {
    var var$1, var$2;
    var$1 = $rt_createArray(jl_Object, 3);
    var$2 = var$1.data;
    var$2[0] = $this.$name1;
    var$2[1] = jl_Integer_valueOf(ju_Arrays_hashCode($this.$parameterTypes0));
    var$2[2] = $this.$returnType0;
    return ju_Arrays_hashCode(var$1);
};
function cjj_Tree() {
    var a = this; jl_Object.call(a);
    a.$dyn_tree = null;
    a.$max_code = 0;
    a.$stat_desc = null;
}
$java.cjj_Tree_extra_lbits = null;
$java.cjj_Tree_extra_dbits = null;
$java.cjj_Tree_extra_blbits = null;
$java.cjj_Tree_bl_order = null;
$java.cjj_Tree__dist_code = null;
$java.cjj_Tree__length_code = null;
$java.cjj_Tree_base_length = null;
$java.cjj_Tree_base_dist = null;
$java.cjj_Tree__init_ = function() {
    var var_0 = new cjj_Tree();
    cjj_Tree__init_(var_0);
    return var_0;
};
function cjj_Tree__init_($this) {
    return;
}
$java.cjj_Tree_d_code = function($dist) {
    return $dist < 256 ? $java.cjj_Tree__dist_code.data[$dist] : $java.cjj_Tree__dist_code.data[256 + ($dist >>> 7) | 0];
};
$java.cjj_Tree_gen_bitlen = function($this, $s) {
    var $tree, $stree, $extra, $base, $max_length, $overflow, $bits, var$9, $h, $n, $m, $n_0, $xbits, $f;
    $tree = $this.$dyn_tree;
    $stree = $this.$stat_desc.$static_tree;
    $extra = $this.$stat_desc.$extra_bits;
    $base = $this.$stat_desc.$extra_base;
    $max_length = $this.$stat_desc.$max_length;
    $overflow = 0;
    $bits = 0;
    while ($bits <= 15) {
        $s.$bl_count.data[$bits] = 0;
        $bits = $bits + 1 | 0;
    }
    var$9 = $tree.data;
    var$9[($s.$heap.data[$s.$heap_max] * 2 | 0) + 1 | 0] = 0;
    $h = $s.$heap_max + 1 | 0;
    while ($h < 573) {
        $n = $s.$heap.data[$h];
        $m = $n * 2 | 0;
        $n_0 = $m + 1 | 0;
        $bits = var$9[(var$9[$n_0] * 2 | 0) + 1 | 0] + 1 | 0;
        if ($bits > $max_length) {
            $overflow = $overflow + 1 | 0;
            $bits = $max_length;
        }
        var$9[$n_0] = $bits << 16 >> 16;
        if ($n <= $this.$max_code) {
            $tree = $s.$bl_count.data;
            $tree[$bits] = ($tree[$bits] + 1 | 0) << 16 >> 16;
            $xbits = 0;
            if ($n >= $base)
                $xbits = $extra.data[$n - $base | 0];
            $f = var$9[$m];
            $s.$opt_len = $s.$opt_len + $rt_imul($f, $bits + $xbits | 0) | 0;
            if ($stree !== null) {
                $tree = $stree.data;
                $s.$static_len = $s.$static_len + $rt_imul($f, $tree[$n_0] + $xbits | 0) | 0;
            }
        }
        $h = $h + 1 | 0;
    }
    if (!$overflow)
        return;
    $xbits = $max_length - 1 | 0;
    while (true) {
        $base = $xbits;
        while (!$s.$bl_count.data[$base]) {
            $base = $base + (-1) | 0;
        }
        $tree = $s.$bl_count.data;
        $tree[$base] = ($tree[$base] - 1 | 0) << 16 >> 16;
        $tree = $s.$bl_count.data;
        $n_0 = $base + 1 | 0;
        $tree[$n_0] = ($tree[$n_0] + 2 | 0) << 16 >> 16;
        $tree = $s.$bl_count.data;
        $tree[$max_length] = ($tree[$max_length] - 1 | 0) << 16 >> 16;
        $overflow = $overflow + (-2) | 0;
        if ($overflow <= 0)
            break;
    }
    while ($max_length) {
        $n_0 = $s.$bl_count.data[$max_length];
        while ($n_0) {
            $tree = $s.$heap.data;
            $h = $h + (-1) | 0;
            $m = $tree[$h];
            if ($m > $this.$max_code)
                continue;
            $overflow = $m * 2 | 0;
            $bits = $overflow + 1 | 0;
            if (var$9[$bits] != $max_length) {
                $s.$opt_len = Long_add(Long_fromInt($s.$opt_len), Long_mul(Long_sub(Long_fromInt($max_length), Long_fromInt(var$9[$bits])), Long_fromInt(var$9[$overflow]))).lo;
                var$9[$bits] = $max_length << 16 >> 16;
            }
            $n_0 = $n_0 + (-1) | 0;
        }
        $max_length = $max_length + (-1) | 0;
    }
};
$java.cjj_Tree_build_tree = function($this, $s) {
    var $tree, $stree, $node, $max_code, $n, var$7, $node_0, var$9, var$10, $m, var$12, var$13;
    $tree = $this.$dyn_tree;
    $stree = $this.$stat_desc.$static_tree;
    $node = $this.$stat_desc.$elems;
    $max_code = (-1);
    $s.$heap_len = 0;
    $s.$heap_max = 573;
    $n = 0;
    while ($n < $node) {
        var$7 = $tree.data;
        $node_0 = $n * 2 | 0;
        if (!var$7[$node_0])
            var$7[$node_0 + 1 | 0] = 0;
        else {
            var$7 = $s.$heap.data;
            $node_0 = $s.$heap_len + 1 | 0;
            $s.$heap_len = $node_0;
            var$7[$node_0] = $n;
            $s.$depth0.data[$n] = 0;
            $max_code = $n;
        }
        $n = $n + 1 | 0;
    }
    while ($s.$heap_len < 2) {
        var$7 = $s.$heap;
        $node_0 = $s.$heap_len + 1 | 0;
        $s.$heap_len = $node_0;
        if ($max_code >= 2)
            var$9 = 0;
        else {
            $max_code = $max_code + 1 | 0;
            var$9 = $max_code;
        }
        var$7 = var$7.data;
        var$10 = $tree.data;
        var$7[$node_0] = var$9;
        $node_0 = var$9 * 2 | 0;
        var$10[$node_0] = 1;
        $s.$depth0.data[var$9] = 0;
        $s.$opt_len = $s.$opt_len - 1 | 0;
        if ($stree === null)
            continue;
        var$7 = $stree.data;
        $s.$static_len = $s.$static_len - var$7[$node_0 + 1 | 0] | 0;
    }
    $this.$max_code = $max_code;
    var$9 = $s.$heap_len / 2 | 0;
    while (var$9 >= 1) {
        $java.cjj_Deflate_pqdownheap($s, $tree, var$9);
        var$9 = var$9 + (-1) | 0;
    }
    while (true) {
        $stree = $tree.data;
        var$9 = $s.$heap.data[1];
        var$10 = $s.$heap.data;
        var$7 = $s.$heap.data;
        $m = $s.$heap_len;
        $s.$heap_len = $m - 1 | 0;
        var$10[1] = var$7[$m];
        $java.cjj_Deflate_pqdownheap($s, $tree, 1);
        $m = $s.$heap.data[1];
        var$7 = $s.$heap.data;
        $node_0 = $s.$heap_max - 1 | 0;
        $s.$heap_max = $node_0;
        var$7[$node_0] = var$9;
        var$7 = $s.$heap.data;
        $node_0 = $s.$heap_max - 1 | 0;
        $s.$heap_max = $node_0;
        var$7[$node_0] = $m;
        $node_0 = $node * 2 | 0;
        var$12 = var$9 * 2 | 0;
        var$13 = $stree[var$12];
        $n = $m * 2 | 0;
        $stree[$node_0] = (var$13 + $stree[$n] | 0) << 16 >> 16;
        $s.$depth0.data[$node] = (jl_Math_max($s.$depth0.data[var$9], $s.$depth0.data[$m]) + 1 | 0) << 24 >> 24;
        $node_0 = var$12 + 1 | 0;
        var$9 = $n + 1 | 0;
        $n = $node << 16 >> 16;
        $stree[var$9] = $n;
        $stree[$node_0] = $n;
        var$7 = $s.$heap.data;
        $node_0 = $node + 1 | 0;
        var$7[1] = $node;
        $java.cjj_Deflate_pqdownheap($s, $tree, 1);
        if ($s.$heap_len < 2)
            break;
        $node = $node_0;
    }
    var$7 = $s.$heap.data;
    $node_0 = $s.$heap_max - 1 | 0;
    $s.$heap_max = $node_0;
    var$7[$node_0] = $s.$heap.data[1];
    $java.cjj_Tree_gen_bitlen($this, $s);
    $tree = $s.$bl_count;
    var$7 = $s.$next_code.data;
    $node_0 = 0;
    var$7[0] = 0;
    var$9 = 1;
    while (var$9 <= 15) {
        $node_0 = ($node_0 + $tree.data[var$9 - 1 | 0] | 0) << 1 << 16 >> 16;
        var$7[var$9] = $node_0;
        var$9 = var$9 + 1 | 0;
    }
    var$9 = 0;
    while (var$9 <= $max_code) {
        $n = var$9 * 2 | 0;
        $node = $stree[$n + 1 | 0];
        if ($node) {
            $m = var$7[$node];
            var$7[$node] = ($m + 1 | 0) << 16 >> 16;
            $node_0 = 0;
            while (true) {
                $node_0 = $node_0 | $m & 1;
                $m = $m >>> 1;
                $node_0 = $node_0 << 1;
                $node = $node + (-1) | 0;
                if ($node <= 0)
                    break;
            }
            $stree[$n] = $node_0 >>> 1 << 16 >> 16;
        }
        var$9 = var$9 + 1 | 0;
    }
};
function cjj_Tree__clinit_() {
    var var$1, var$2;
    var$1 = $rt_createIntArray(29);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 0;
    var$2[2] = 0;
    var$2[3] = 0;
    var$2[4] = 0;
    var$2[5] = 0;
    var$2[6] = 0;
    var$2[7] = 0;
    var$2[8] = 1;
    var$2[9] = 1;
    var$2[10] = 1;
    var$2[11] = 1;
    var$2[12] = 2;
    var$2[13] = 2;
    var$2[14] = 2;
    var$2[15] = 2;
    var$2[16] = 3;
    var$2[17] = 3;
    var$2[18] = 3;
    var$2[19] = 3;
    var$2[20] = 4;
    var$2[21] = 4;
    var$2[22] = 4;
    var$2[23] = 4;
    var$2[24] = 5;
    var$2[25] = 5;
    var$2[26] = 5;
    var$2[27] = 5;
    var$2[28] = 0;
    $java.cjj_Tree_extra_lbits = var$1;
    var$1 = $rt_createIntArray(30);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 0;
    var$2[2] = 0;
    var$2[3] = 0;
    var$2[4] = 1;
    var$2[5] = 1;
    var$2[6] = 2;
    var$2[7] = 2;
    var$2[8] = 3;
    var$2[9] = 3;
    var$2[10] = 4;
    var$2[11] = 4;
    var$2[12] = 5;
    var$2[13] = 5;
    var$2[14] = 6;
    var$2[15] = 6;
    var$2[16] = 7;
    var$2[17] = 7;
    var$2[18] = 8;
    var$2[19] = 8;
    var$2[20] = 9;
    var$2[21] = 9;
    var$2[22] = 10;
    var$2[23] = 10;
    var$2[24] = 11;
    var$2[25] = 11;
    var$2[26] = 12;
    var$2[27] = 12;
    var$2[28] = 13;
    var$2[29] = 13;
    $java.cjj_Tree_extra_dbits = var$1;
    var$1 = $rt_createIntArray(19);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 0;
    var$2[2] = 0;
    var$2[3] = 0;
    var$2[4] = 0;
    var$2[5] = 0;
    var$2[6] = 0;
    var$2[7] = 0;
    var$2[8] = 0;
    var$2[9] = 0;
    var$2[10] = 0;
    var$2[11] = 0;
    var$2[12] = 0;
    var$2[13] = 0;
    var$2[14] = 0;
    var$2[15] = 0;
    var$2[16] = 2;
    var$2[17] = 3;
    var$2[18] = 7;
    $java.cjj_Tree_extra_blbits = var$1;
    var$1 = $rt_createByteArray(19);
    var$2 = var$1.data;
    var$2[0] = 16;
    var$2[1] = 17;
    var$2[2] = 18;
    var$2[3] = 0;
    var$2[4] = 8;
    var$2[5] = 7;
    var$2[6] = 9;
    var$2[7] = 6;
    var$2[8] = 10;
    var$2[9] = 5;
    var$2[10] = 11;
    var$2[11] = 4;
    var$2[12] = 12;
    var$2[13] = 3;
    var$2[14] = 13;
    var$2[15] = 2;
    var$2[16] = 14;
    var$2[17] = 1;
    var$2[18] = 15;
    $java.cjj_Tree_bl_order = var$1;
    var$1 = $rt_createByteArray(512);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 1;
    var$2[2] = 2;
    var$2[3] = 3;
    var$2[4] = 4;
    var$2[5] = 4;
    var$2[6] = 5;
    var$2[7] = 5;
    var$2[8] = 6;
    var$2[9] = 6;
    var$2[10] = 6;
    var$2[11] = 6;
    var$2[12] = 7;
    var$2[13] = 7;
    var$2[14] = 7;
    var$2[15] = 7;
    var$2[16] = 8;
    var$2[17] = 8;
    var$2[18] = 8;
    var$2[19] = 8;
    var$2[20] = 8;
    var$2[21] = 8;
    var$2[22] = 8;
    var$2[23] = 8;
    var$2[24] = 9;
    var$2[25] = 9;
    var$2[26] = 9;
    var$2[27] = 9;
    var$2[28] = 9;
    var$2[29] = 9;
    var$2[30] = 9;
    var$2[31] = 9;
    var$2[32] = 10;
    var$2[33] = 10;
    var$2[34] = 10;
    var$2[35] = 10;
    var$2[36] = 10;
    var$2[37] = 10;
    var$2[38] = 10;
    var$2[39] = 10;
    var$2[40] = 10;
    var$2[41] = 10;
    var$2[42] = 10;
    var$2[43] = 10;
    var$2[44] = 10;
    var$2[45] = 10;
    var$2[46] = 10;
    var$2[47] = 10;
    var$2[48] = 11;
    var$2[49] = 11;
    var$2[50] = 11;
    var$2[51] = 11;
    var$2[52] = 11;
    var$2[53] = 11;
    var$2[54] = 11;
    var$2[55] = 11;
    var$2[56] = 11;
    var$2[57] = 11;
    var$2[58] = 11;
    var$2[59] = 11;
    var$2[60] = 11;
    var$2[61] = 11;
    var$2[62] = 11;
    var$2[63] = 11;
    var$2[64] = 12;
    var$2[65] = 12;
    var$2[66] = 12;
    var$2[67] = 12;
    var$2[68] = 12;
    var$2[69] = 12;
    var$2[70] = 12;
    var$2[71] = 12;
    var$2[72] = 12;
    var$2[73] = 12;
    var$2[74] = 12;
    var$2[75] = 12;
    var$2[76] = 12;
    var$2[77] = 12;
    var$2[78] = 12;
    var$2[79] = 12;
    var$2[80] = 12;
    var$2[81] = 12;
    var$2[82] = 12;
    var$2[83] = 12;
    var$2[84] = 12;
    var$2[85] = 12;
    var$2[86] = 12;
    var$2[87] = 12;
    var$2[88] = 12;
    var$2[89] = 12;
    var$2[90] = 12;
    var$2[91] = 12;
    var$2[92] = 12;
    var$2[93] = 12;
    var$2[94] = 12;
    var$2[95] = 12;
    var$2[96] = 13;
    var$2[97] = 13;
    var$2[98] = 13;
    var$2[99] = 13;
    var$2[100] = 13;
    var$2[101] = 13;
    var$2[102] = 13;
    var$2[103] = 13;
    var$2[104] = 13;
    var$2[105] = 13;
    var$2[106] = 13;
    var$2[107] = 13;
    var$2[108] = 13;
    var$2[109] = 13;
    var$2[110] = 13;
    var$2[111] = 13;
    var$2[112] = 13;
    var$2[113] = 13;
    var$2[114] = 13;
    var$2[115] = 13;
    var$2[116] = 13;
    var$2[117] = 13;
    var$2[118] = 13;
    var$2[119] = 13;
    var$2[120] = 13;
    var$2[121] = 13;
    var$2[122] = 13;
    var$2[123] = 13;
    var$2[124] = 13;
    var$2[125] = 13;
    var$2[126] = 13;
    var$2[127] = 13;
    var$2[128] = 14;
    var$2[129] = 14;
    var$2[130] = 14;
    var$2[131] = 14;
    var$2[132] = 14;
    var$2[133] = 14;
    var$2[134] = 14;
    var$2[135] = 14;
    var$2[136] = 14;
    var$2[137] = 14;
    var$2[138] = 14;
    var$2[139] = 14;
    var$2[140] = 14;
    var$2[141] = 14;
    var$2[142] = 14;
    var$2[143] = 14;
    var$2[144] = 14;
    var$2[145] = 14;
    var$2[146] = 14;
    var$2[147] = 14;
    var$2[148] = 14;
    var$2[149] = 14;
    var$2[150] = 14;
    var$2[151] = 14;
    var$2[152] = 14;
    var$2[153] = 14;
    var$2[154] = 14;
    var$2[155] = 14;
    var$2[156] = 14;
    var$2[157] = 14;
    var$2[158] = 14;
    var$2[159] = 14;
    var$2[160] = 14;
    var$2[161] = 14;
    var$2[162] = 14;
    var$2[163] = 14;
    var$2[164] = 14;
    var$2[165] = 14;
    var$2[166] = 14;
    var$2[167] = 14;
    var$2[168] = 14;
    var$2[169] = 14;
    var$2[170] = 14;
    var$2[171] = 14;
    var$2[172] = 14;
    var$2[173] = 14;
    var$2[174] = 14;
    var$2[175] = 14;
    var$2[176] = 14;
    var$2[177] = 14;
    var$2[178] = 14;
    var$2[179] = 14;
    var$2[180] = 14;
    var$2[181] = 14;
    var$2[182] = 14;
    var$2[183] = 14;
    var$2[184] = 14;
    var$2[185] = 14;
    var$2[186] = 14;
    var$2[187] = 14;
    var$2[188] = 14;
    var$2[189] = 14;
    var$2[190] = 14;
    var$2[191] = 14;
    var$2[192] = 15;
    var$2[193] = 15;
    var$2[194] = 15;
    var$2[195] = 15;
    var$2[196] = 15;
    var$2[197] = 15;
    var$2[198] = 15;
    var$2[199] = 15;
    var$2[200] = 15;
    var$2[201] = 15;
    var$2[202] = 15;
    var$2[203] = 15;
    var$2[204] = 15;
    var$2[205] = 15;
    var$2[206] = 15;
    var$2[207] = 15;
    var$2[208] = 15;
    var$2[209] = 15;
    var$2[210] = 15;
    var$2[211] = 15;
    var$2[212] = 15;
    var$2[213] = 15;
    var$2[214] = 15;
    var$2[215] = 15;
    var$2[216] = 15;
    var$2[217] = 15;
    var$2[218] = 15;
    var$2[219] = 15;
    var$2[220] = 15;
    var$2[221] = 15;
    var$2[222] = 15;
    var$2[223] = 15;
    var$2[224] = 15;
    var$2[225] = 15;
    var$2[226] = 15;
    var$2[227] = 15;
    var$2[228] = 15;
    var$2[229] = 15;
    var$2[230] = 15;
    var$2[231] = 15;
    var$2[232] = 15;
    var$2[233] = 15;
    var$2[234] = 15;
    var$2[235] = 15;
    var$2[236] = 15;
    var$2[237] = 15;
    var$2[238] = 15;
    var$2[239] = 15;
    var$2[240] = 15;
    var$2[241] = 15;
    var$2[242] = 15;
    var$2[243] = 15;
    var$2[244] = 15;
    var$2[245] = 15;
    var$2[246] = 15;
    var$2[247] = 15;
    var$2[248] = 15;
    var$2[249] = 15;
    var$2[250] = 15;
    var$2[251] = 15;
    var$2[252] = 15;
    var$2[253] = 15;
    var$2[254] = 15;
    var$2[255] = 15;
    var$2[256] = 0;
    var$2[257] = 0;
    var$2[258] = 16;
    var$2[259] = 17;
    var$2[260] = 18;
    var$2[261] = 18;
    var$2[262] = 19;
    var$2[263] = 19;
    var$2[264] = 20;
    var$2[265] = 20;
    var$2[266] = 20;
    var$2[267] = 20;
    var$2[268] = 21;
    var$2[269] = 21;
    var$2[270] = 21;
    var$2[271] = 21;
    var$2[272] = 22;
    var$2[273] = 22;
    var$2[274] = 22;
    var$2[275] = 22;
    var$2[276] = 22;
    var$2[277] = 22;
    var$2[278] = 22;
    var$2[279] = 22;
    var$2[280] = 23;
    var$2[281] = 23;
    var$2[282] = 23;
    var$2[283] = 23;
    var$2[284] = 23;
    var$2[285] = 23;
    var$2[286] = 23;
    var$2[287] = 23;
    var$2[288] = 24;
    var$2[289] = 24;
    var$2[290] = 24;
    var$2[291] = 24;
    var$2[292] = 24;
    var$2[293] = 24;
    var$2[294] = 24;
    var$2[295] = 24;
    var$2[296] = 24;
    var$2[297] = 24;
    var$2[298] = 24;
    var$2[299] = 24;
    var$2[300] = 24;
    var$2[301] = 24;
    var$2[302] = 24;
    var$2[303] = 24;
    var$2[304] = 25;
    var$2[305] = 25;
    var$2[306] = 25;
    var$2[307] = 25;
    var$2[308] = 25;
    var$2[309] = 25;
    var$2[310] = 25;
    var$2[311] = 25;
    var$2[312] = 25;
    var$2[313] = 25;
    var$2[314] = 25;
    var$2[315] = 25;
    var$2[316] = 25;
    var$2[317] = 25;
    var$2[318] = 25;
    var$2[319] = 25;
    var$2[320] = 26;
    var$2[321] = 26;
    var$2[322] = 26;
    var$2[323] = 26;
    var$2[324] = 26;
    var$2[325] = 26;
    var$2[326] = 26;
    var$2[327] = 26;
    var$2[328] = 26;
    var$2[329] = 26;
    var$2[330] = 26;
    var$2[331] = 26;
    var$2[332] = 26;
    var$2[333] = 26;
    var$2[334] = 26;
    var$2[335] = 26;
    var$2[336] = 26;
    var$2[337] = 26;
    var$2[338] = 26;
    var$2[339] = 26;
    var$2[340] = 26;
    var$2[341] = 26;
    var$2[342] = 26;
    var$2[343] = 26;
    var$2[344] = 26;
    var$2[345] = 26;
    var$2[346] = 26;
    var$2[347] = 26;
    var$2[348] = 26;
    var$2[349] = 26;
    var$2[350] = 26;
    var$2[351] = 26;
    var$2[352] = 27;
    var$2[353] = 27;
    var$2[354] = 27;
    var$2[355] = 27;
    var$2[356] = 27;
    var$2[357] = 27;
    var$2[358] = 27;
    var$2[359] = 27;
    var$2[360] = 27;
    var$2[361] = 27;
    var$2[362] = 27;
    var$2[363] = 27;
    var$2[364] = 27;
    var$2[365] = 27;
    var$2[366] = 27;
    var$2[367] = 27;
    var$2[368] = 27;
    var$2[369] = 27;
    var$2[370] = 27;
    var$2[371] = 27;
    var$2[372] = 27;
    var$2[373] = 27;
    var$2[374] = 27;
    var$2[375] = 27;
    var$2[376] = 27;
    var$2[377] = 27;
    var$2[378] = 27;
    var$2[379] = 27;
    var$2[380] = 27;
    var$2[381] = 27;
    var$2[382] = 27;
    var$2[383] = 27;
    var$2[384] = 28;
    var$2[385] = 28;
    var$2[386] = 28;
    var$2[387] = 28;
    var$2[388] = 28;
    var$2[389] = 28;
    var$2[390] = 28;
    var$2[391] = 28;
    var$2[392] = 28;
    var$2[393] = 28;
    var$2[394] = 28;
    var$2[395] = 28;
    var$2[396] = 28;
    var$2[397] = 28;
    var$2[398] = 28;
    var$2[399] = 28;
    var$2[400] = 28;
    var$2[401] = 28;
    var$2[402] = 28;
    var$2[403] = 28;
    var$2[404] = 28;
    var$2[405] = 28;
    var$2[406] = 28;
    var$2[407] = 28;
    var$2[408] = 28;
    var$2[409] = 28;
    var$2[410] = 28;
    var$2[411] = 28;
    var$2[412] = 28;
    var$2[413] = 28;
    var$2[414] = 28;
    var$2[415] = 28;
    var$2[416] = 28;
    var$2[417] = 28;
    var$2[418] = 28;
    var$2[419] = 28;
    var$2[420] = 28;
    var$2[421] = 28;
    var$2[422] = 28;
    var$2[423] = 28;
    var$2[424] = 28;
    var$2[425] = 28;
    var$2[426] = 28;
    var$2[427] = 28;
    var$2[428] = 28;
    var$2[429] = 28;
    var$2[430] = 28;
    var$2[431] = 28;
    var$2[432] = 28;
    var$2[433] = 28;
    var$2[434] = 28;
    var$2[435] = 28;
    var$2[436] = 28;
    var$2[437] = 28;
    var$2[438] = 28;
    var$2[439] = 28;
    var$2[440] = 28;
    var$2[441] = 28;
    var$2[442] = 28;
    var$2[443] = 28;
    var$2[444] = 28;
    var$2[445] = 28;
    var$2[446] = 28;
    var$2[447] = 28;
    var$2[448] = 29;
    var$2[449] = 29;
    var$2[450] = 29;
    var$2[451] = 29;
    var$2[452] = 29;
    var$2[453] = 29;
    var$2[454] = 29;
    var$2[455] = 29;
    var$2[456] = 29;
    var$2[457] = 29;
    var$2[458] = 29;
    var$2[459] = 29;
    var$2[460] = 29;
    var$2[461] = 29;
    var$2[462] = 29;
    var$2[463] = 29;
    var$2[464] = 29;
    var$2[465] = 29;
    var$2[466] = 29;
    var$2[467] = 29;
    var$2[468] = 29;
    var$2[469] = 29;
    var$2[470] = 29;
    var$2[471] = 29;
    var$2[472] = 29;
    var$2[473] = 29;
    var$2[474] = 29;
    var$2[475] = 29;
    var$2[476] = 29;
    var$2[477] = 29;
    var$2[478] = 29;
    var$2[479] = 29;
    var$2[480] = 29;
    var$2[481] = 29;
    var$2[482] = 29;
    var$2[483] = 29;
    var$2[484] = 29;
    var$2[485] = 29;
    var$2[486] = 29;
    var$2[487] = 29;
    var$2[488] = 29;
    var$2[489] = 29;
    var$2[490] = 29;
    var$2[491] = 29;
    var$2[492] = 29;
    var$2[493] = 29;
    var$2[494] = 29;
    var$2[495] = 29;
    var$2[496] = 29;
    var$2[497] = 29;
    var$2[498] = 29;
    var$2[499] = 29;
    var$2[500] = 29;
    var$2[501] = 29;
    var$2[502] = 29;
    var$2[503] = 29;
    var$2[504] = 29;
    var$2[505] = 29;
    var$2[506] = 29;
    var$2[507] = 29;
    var$2[508] = 29;
    var$2[509] = 29;
    var$2[510] = 29;
    var$2[511] = 29;
    $java.cjj_Tree__dist_code = var$1;
    var$1 = $rt_createByteArray(256);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 1;
    var$2[2] = 2;
    var$2[3] = 3;
    var$2[4] = 4;
    var$2[5] = 5;
    var$2[6] = 6;
    var$2[7] = 7;
    var$2[8] = 8;
    var$2[9] = 8;
    var$2[10] = 9;
    var$2[11] = 9;
    var$2[12] = 10;
    var$2[13] = 10;
    var$2[14] = 11;
    var$2[15] = 11;
    var$2[16] = 12;
    var$2[17] = 12;
    var$2[18] = 12;
    var$2[19] = 12;
    var$2[20] = 13;
    var$2[21] = 13;
    var$2[22] = 13;
    var$2[23] = 13;
    var$2[24] = 14;
    var$2[25] = 14;
    var$2[26] = 14;
    var$2[27] = 14;
    var$2[28] = 15;
    var$2[29] = 15;
    var$2[30] = 15;
    var$2[31] = 15;
    var$2[32] = 16;
    var$2[33] = 16;
    var$2[34] = 16;
    var$2[35] = 16;
    var$2[36] = 16;
    var$2[37] = 16;
    var$2[38] = 16;
    var$2[39] = 16;
    var$2[40] = 17;
    var$2[41] = 17;
    var$2[42] = 17;
    var$2[43] = 17;
    var$2[44] = 17;
    var$2[45] = 17;
    var$2[46] = 17;
    var$2[47] = 17;
    var$2[48] = 18;
    var$2[49] = 18;
    var$2[50] = 18;
    var$2[51] = 18;
    var$2[52] = 18;
    var$2[53] = 18;
    var$2[54] = 18;
    var$2[55] = 18;
    var$2[56] = 19;
    var$2[57] = 19;
    var$2[58] = 19;
    var$2[59] = 19;
    var$2[60] = 19;
    var$2[61] = 19;
    var$2[62] = 19;
    var$2[63] = 19;
    var$2[64] = 20;
    var$2[65] = 20;
    var$2[66] = 20;
    var$2[67] = 20;
    var$2[68] = 20;
    var$2[69] = 20;
    var$2[70] = 20;
    var$2[71] = 20;
    var$2[72] = 20;
    var$2[73] = 20;
    var$2[74] = 20;
    var$2[75] = 20;
    var$2[76] = 20;
    var$2[77] = 20;
    var$2[78] = 20;
    var$2[79] = 20;
    var$2[80] = 21;
    var$2[81] = 21;
    var$2[82] = 21;
    var$2[83] = 21;
    var$2[84] = 21;
    var$2[85] = 21;
    var$2[86] = 21;
    var$2[87] = 21;
    var$2[88] = 21;
    var$2[89] = 21;
    var$2[90] = 21;
    var$2[91] = 21;
    var$2[92] = 21;
    var$2[93] = 21;
    var$2[94] = 21;
    var$2[95] = 21;
    var$2[96] = 22;
    var$2[97] = 22;
    var$2[98] = 22;
    var$2[99] = 22;
    var$2[100] = 22;
    var$2[101] = 22;
    var$2[102] = 22;
    var$2[103] = 22;
    var$2[104] = 22;
    var$2[105] = 22;
    var$2[106] = 22;
    var$2[107] = 22;
    var$2[108] = 22;
    var$2[109] = 22;
    var$2[110] = 22;
    var$2[111] = 22;
    var$2[112] = 23;
    var$2[113] = 23;
    var$2[114] = 23;
    var$2[115] = 23;
    var$2[116] = 23;
    var$2[117] = 23;
    var$2[118] = 23;
    var$2[119] = 23;
    var$2[120] = 23;
    var$2[121] = 23;
    var$2[122] = 23;
    var$2[123] = 23;
    var$2[124] = 23;
    var$2[125] = 23;
    var$2[126] = 23;
    var$2[127] = 23;
    var$2[128] = 24;
    var$2[129] = 24;
    var$2[130] = 24;
    var$2[131] = 24;
    var$2[132] = 24;
    var$2[133] = 24;
    var$2[134] = 24;
    var$2[135] = 24;
    var$2[136] = 24;
    var$2[137] = 24;
    var$2[138] = 24;
    var$2[139] = 24;
    var$2[140] = 24;
    var$2[141] = 24;
    var$2[142] = 24;
    var$2[143] = 24;
    var$2[144] = 24;
    var$2[145] = 24;
    var$2[146] = 24;
    var$2[147] = 24;
    var$2[148] = 24;
    var$2[149] = 24;
    var$2[150] = 24;
    var$2[151] = 24;
    var$2[152] = 24;
    var$2[153] = 24;
    var$2[154] = 24;
    var$2[155] = 24;
    var$2[156] = 24;
    var$2[157] = 24;
    var$2[158] = 24;
    var$2[159] = 24;
    var$2[160] = 25;
    var$2[161] = 25;
    var$2[162] = 25;
    var$2[163] = 25;
    var$2[164] = 25;
    var$2[165] = 25;
    var$2[166] = 25;
    var$2[167] = 25;
    var$2[168] = 25;
    var$2[169] = 25;
    var$2[170] = 25;
    var$2[171] = 25;
    var$2[172] = 25;
    var$2[173] = 25;
    var$2[174] = 25;
    var$2[175] = 25;
    var$2[176] = 25;
    var$2[177] = 25;
    var$2[178] = 25;
    var$2[179] = 25;
    var$2[180] = 25;
    var$2[181] = 25;
    var$2[182] = 25;
    var$2[183] = 25;
    var$2[184] = 25;
    var$2[185] = 25;
    var$2[186] = 25;
    var$2[187] = 25;
    var$2[188] = 25;
    var$2[189] = 25;
    var$2[190] = 25;
    var$2[191] = 25;
    var$2[192] = 26;
    var$2[193] = 26;
    var$2[194] = 26;
    var$2[195] = 26;
    var$2[196] = 26;
    var$2[197] = 26;
    var$2[198] = 26;
    var$2[199] = 26;
    var$2[200] = 26;
    var$2[201] = 26;
    var$2[202] = 26;
    var$2[203] = 26;
    var$2[204] = 26;
    var$2[205] = 26;
    var$2[206] = 26;
    var$2[207] = 26;
    var$2[208] = 26;
    var$2[209] = 26;
    var$2[210] = 26;
    var$2[211] = 26;
    var$2[212] = 26;
    var$2[213] = 26;
    var$2[214] = 26;
    var$2[215] = 26;
    var$2[216] = 26;
    var$2[217] = 26;
    var$2[218] = 26;
    var$2[219] = 26;
    var$2[220] = 26;
    var$2[221] = 26;
    var$2[222] = 26;
    var$2[223] = 26;
    var$2[224] = 27;
    var$2[225] = 27;
    var$2[226] = 27;
    var$2[227] = 27;
    var$2[228] = 27;
    var$2[229] = 27;
    var$2[230] = 27;
    var$2[231] = 27;
    var$2[232] = 27;
    var$2[233] = 27;
    var$2[234] = 27;
    var$2[235] = 27;
    var$2[236] = 27;
    var$2[237] = 27;
    var$2[238] = 27;
    var$2[239] = 27;
    var$2[240] = 27;
    var$2[241] = 27;
    var$2[242] = 27;
    var$2[243] = 27;
    var$2[244] = 27;
    var$2[245] = 27;
    var$2[246] = 27;
    var$2[247] = 27;
    var$2[248] = 27;
    var$2[249] = 27;
    var$2[250] = 27;
    var$2[251] = 27;
    var$2[252] = 27;
    var$2[253] = 27;
    var$2[254] = 27;
    var$2[255] = 28;
    $java.cjj_Tree__length_code = var$1;
    var$1 = $rt_createIntArray(29);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 1;
    var$2[2] = 2;
    var$2[3] = 3;
    var$2[4] = 4;
    var$2[5] = 5;
    var$2[6] = 6;
    var$2[7] = 7;
    var$2[8] = 8;
    var$2[9] = 10;
    var$2[10] = 12;
    var$2[11] = 14;
    var$2[12] = 16;
    var$2[13] = 20;
    var$2[14] = 24;
    var$2[15] = 28;
    var$2[16] = 32;
    var$2[17] = 40;
    var$2[18] = 48;
    var$2[19] = 56;
    var$2[20] = 64;
    var$2[21] = 80;
    var$2[22] = 96;
    var$2[23] = 112;
    var$2[24] = 128;
    var$2[25] = 160;
    var$2[26] = 192;
    var$2[27] = 224;
    var$2[28] = 0;
    $java.cjj_Tree_base_length = var$1;
    var$1 = $rt_createIntArray(30);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 1;
    var$2[2] = 2;
    var$2[3] = 3;
    var$2[4] = 4;
    var$2[5] = 6;
    var$2[6] = 8;
    var$2[7] = 12;
    var$2[8] = 16;
    var$2[9] = 24;
    var$2[10] = 32;
    var$2[11] = 48;
    var$2[12] = 64;
    var$2[13] = 96;
    var$2[14] = 128;
    var$2[15] = 192;
    var$2[16] = 256;
    var$2[17] = 384;
    var$2[18] = 512;
    var$2[19] = 768;
    var$2[20] = 1024;
    var$2[21] = 1536;
    var$2[22] = 2048;
    var$2[23] = 3072;
    var$2[24] = 4096;
    var$2[25] = 6144;
    var$2[26] = 8192;
    var$2[27] = 12288;
    var$2[28] = 16384;
    var$2[29] = 24576;
    $java.cjj_Tree_base_dist = var$1;
}
function jt_Annotation() {
    jl_Object.call(this);
}
function nms_GuiScreenBook() {
    var a = this; nms_GuiScreen.call(a);
    a.$editingPlayer = null;
    a.$itemstackBook = null;
    a.$bookIsUnsigned = 0;
    a.$bookModified = 0;
    a.$editingTitle = 0;
    a.$updateCount = 0;
    a.$bookImageWidth = 0;
    a.$bookImageHeight = 0;
    a.$bookTotalPages = 0;
    a.$currPage = 0;
    a.$bookPages = null;
    a.$bookTitle = null;
    a.$buttonNextPage = null;
    a.$buttonPreviousPage = null;
    a.$buttonDone = null;
    a.$buttonSign = null;
    a.$buttonFinalize = null;
    a.$buttonCancel = null;
}
$java.nms_GuiScreenBook_tex = null;
function nms_GuiScreenBook__init_(var_0, var_1, var_2) {
    var var_3 = new nms_GuiScreenBook();
    $java.nms_GuiScreenBook__init_(var_3, var_0, var_1, var_2);
    return var_3;
}
$java.nms_GuiScreenBook__init_ = function($this, $par1EntityPlayer, $par2ItemStack, $par3) {
    nms_GuiScreen__init_($this);
    $this.$bookImageWidth = 192;
    $this.$bookImageHeight = 192;
    $this.$bookTotalPages = 1;
    $this.$bookTitle = $rt_s(36);
    $this.$editingPlayer = $par1EntityPlayer;
    $this.$itemstackBook = $par2ItemStack;
    $this.$bookIsUnsigned = $par3;
    if (nms_ItemStack_hasTagCompound($par2ItemStack)) {
        $this.$bookPages = nms_NBTTagCompound_getTagList($par2ItemStack.$stackTagCompound, $rt_s(3387));
        if ($this.$bookPages !== null) {
            $this.$bookPages = nms_NBTTagList_copy($this.$bookPages);
            $this.$bookTotalPages = nms_NBTTagList_tagCount($this.$bookPages);
            if ($this.$bookTotalPages < 1)
                $this.$bookTotalPages = 1;
        }
    }
    if ($this.$bookPages === null && $par3) {
        $this.$bookPages = nms_NBTTagList__init_1($rt_s(3387));
        nms_NBTTagList_appendTag($this.$bookPages, nms_NBTTagString__init_($rt_s(78), $rt_s(36)));
        $this.$bookTotalPages = 1;
    }
};
$java.nms_GuiScreenBook_updateScreen = function($this) {
    $this.$updateCount = $this.$updateCount + 1 | 0;
};
$java.nms_GuiScreenBook_initGui = function($this) {
    var var$1, var$2, var$3, $var1;
    ju_ArrayList_clear($this.$buttonList);
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(1);
    if (!$this.$bookIsUnsigned) {
        var$1 = $this.$buttonList;
        var$2 = nms_GuiButton__init_0(0, ($this.$width / 2 | 0) - 100 | 0, 4 + $this.$bookImageHeight | 0, 200, 20, nms_StatCollector_translateToLocal($rt_s(511)));
        $this.$buttonDone = var$2;
        ju_ArrayList_add(var$1, var$2);
    } else {
        var$2 = $this.$buttonList;
        var$3 = nms_GuiButton__init_0(3, ($this.$width / 2 | 0) - 100 | 0, 4 + $this.$bookImageHeight | 0, 98, 20, nms_StatCollector_translateToLocal($rt_s(3388)));
        $this.$buttonSign = var$3;
        ju_ArrayList_add(var$2, var$3);
        var$2 = $this.$buttonList;
        var$3 = nms_GuiButton__init_0(0, ($this.$width / 2 | 0) + 2 | 0, 4 + $this.$bookImageHeight | 0, 98, 20, nms_StatCollector_translateToLocal($rt_s(511)));
        $this.$buttonDone = var$3;
        ju_ArrayList_add(var$2, var$3);
        var$2 = $this.$buttonList;
        var$3 = nms_GuiButton__init_0(5, ($this.$width / 2 | 0) - 100 | 0, 4 + $this.$bookImageHeight | 0, 98, 20, nms_StatCollector_translateToLocal($rt_s(3389)));
        $this.$buttonFinalize = var$3;
        ju_ArrayList_add(var$2, var$3);
        var$2 = $this.$buttonList;
        var$3 = nms_GuiButton__init_0(4, ($this.$width / 2 | 0) + 2 | 0, 4 + $this.$bookImageHeight | 0, 98, 20, nms_StatCollector_translateToLocal($rt_s(1308)));
        $this.$buttonCancel = var$3;
        ju_ArrayList_add(var$2, var$3);
    }
    $var1 = ($this.$width - $this.$bookImageWidth | 0) / 2 | 0;
    var$2 = $this.$buttonList;
    var$3 = $java.nms_GuiButtonNextPage__init_(1, $var1 + 120 | 0, 156, 1);
    $this.$buttonNextPage = var$3;
    ju_ArrayList_add(var$2, var$3);
    var$2 = $this.$buttonList;
    var$3 = $java.nms_GuiButtonNextPage__init_(2, $var1 + 38 | 0, 156, 0);
    $this.$buttonPreviousPage = var$3;
    ju_ArrayList_add(var$2, var$3);
    $java.nms_GuiScreenBook_updateButtons($this);
};
$java.nms_GuiScreenBook_onGuiClosed = function($this) {
    nlea_EaglerAdapterImpl2_enableRepeatEvents0(0);
};
$java.nms_GuiScreenBook_updateButtons = function($this) {
    var var$1, var$2;
    a: {
        b: {
            var$1 = $this.$buttonNextPage;
            if (!$this.$editingTitle) {
                if ($this.$currPage < ($this.$bookTotalPages - 1 | 0))
                    break b;
                if ($this.$bookIsUnsigned)
                    break b;
            }
            var$2 = 0;
            break a;
        }
        var$2 = 1;
    }
    var$1.$drawButton0 = var$2;
    $this.$buttonPreviousPage.$drawButton0 = !$this.$editingTitle && $this.$currPage > 0 ? 1 : 0;
    $this.$buttonDone.$drawButton0 = $this.$bookIsUnsigned && $this.$editingTitle ? 0 : 1;
    if ($this.$bookIsUnsigned) {
        $this.$buttonSign.$drawButton0 = $this.$editingTitle ? 0 : 1;
        $this.$buttonCancel.$drawButton0 = $this.$editingTitle;
        $this.$buttonFinalize.$drawButton0 = $this.$editingTitle;
        $this.$buttonFinalize.$enabled = jl_String_length(jl_String_trim($this.$bookTitle)) <= 0 ? 0 : 1;
    }
};
$java.nms_GuiScreenBook_sendBookToServer = function($this, $par1) {
    var $var2, $var8, $var3, $var4, $var6, $$je;
    a: {
        if ($this.$bookIsUnsigned && $this.$bookModified && $this.$bookPages !== null) {
            b: {
                while (true) {
                    if (nms_NBTTagList_tagCount($this.$bookPages) <= 1)
                        break b;
                    $var2 = nms_NBTTagList_tagAt($this.$bookPages, nms_NBTTagList_tagCount($this.$bookPages) - 1 | 0);
                    if ($var2.$data4 !== null && jl_String_length($var2.$data4))
                        break;
                    nms_NBTTagList_removeTag($this.$bookPages, nms_NBTTagList_tagCount($this.$bookPages) - 1 | 0);
                }
            }
            if (!nms_ItemStack_hasTagCompound($this.$itemstackBook))
                nms_ItemStack_setTagInfo($this.$itemstackBook, $rt_s(3387), $this.$bookPages);
            else
                nms_NBTTagCompound_setTag($this.$itemstackBook.$stackTagCompound, $rt_s(3387), $this.$bookPages);
            $var8 = $rt_s(3390);
            if ($par1) {
                $var8 = $rt_s(3391);
                nms_ItemStack_setTagInfo($this.$itemstackBook, $rt_s(2290), nms_NBTTagString__init_($rt_s(2290), $this.$editingPlayer.$username0));
                nms_ItemStack_setTagInfo($this.$itemstackBook, $rt_s(2289), nms_NBTTagString__init_($rt_s(2289), jl_String_trim($this.$bookTitle)));
                $var3 = $this.$itemstackBook;
                nms_Item_$callClinit();
                $var3.$itemID0 = nms_Item_writtenBook.$itemID;
            }
            $var3 = ji_ByteArrayOutputStream__init_0();
            $var4 = ji_DataOutputStream__init_($var3);
            try {
                nms_Packet_writeItemStack($this.$itemstackBook, $var4);
                nms_NetClientHandler_addToSendQueue(nmc_Minecraft_getNetHandler($this.$mc2), nms_Packet250CustomPayload__init_0($var8, ji_ByteArrayOutputStream_toByteArray($var3)));
                break a;
            } catch ($$e) {
                $$je = $rt_wrapException($$e);
                if ($$je instanceof jl_Exception) {
                    $var6 = $$je;
                } else {
                    throw $$e;
                }
            }
            jl_Throwable_printStackTrace($var6);
        }
    }
};
$java.nms_GuiScreenBook_actionPerformed = function($this, $par1GuiButton) {
    var var$2, var$3;
    if ($par1GuiButton.$enabled) {
        if (!$par1GuiButton.$id3) {
            nmc_Minecraft_displayGuiScreen($this.$mc2, null);
            $java.nms_GuiScreenBook_sendBookToServer($this, 0);
        } else if ($par1GuiButton.$id3 == 3 && $this.$bookIsUnsigned)
            $this.$editingTitle = 1;
        else if ($par1GuiButton.$id3 != 1) {
            if ($par1GuiButton.$id3 == 2) {
                if ($this.$currPage > 0)
                    $this.$currPage = $this.$currPage - 1 | 0;
            } else if ($par1GuiButton.$id3 == 5 && $this.$editingTitle) {
                $java.nms_GuiScreenBook_sendBookToServer($this, 1);
                nmc_Minecraft_displayGuiScreen($this.$mc2, null);
            } else if ($par1GuiButton.$id3 == 4 && $this.$editingTitle)
                $this.$editingTitle = 0;
        } else if ($this.$currPage < ($this.$bookTotalPages - 1 | 0))
            $this.$currPage = $this.$currPage + 1 | 0;
        else if ($this.$bookIsUnsigned) {
            if ($this.$bookPages !== null && nms_NBTTagList_tagCount($this.$bookPages) < 50) {
                var$2 = $this.$bookPages;
                var$3 = new nms_NBTTagString;
                $par1GuiButton = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($par1GuiButton);
                jl_AbstractStringBuilder_append($par1GuiButton, $rt_s(36));
                jl_AbstractStringBuilder_append2($par1GuiButton, $this.$bookTotalPages + 1 | 0);
                nms_NBTTagString__init_0(var$3, jl_AbstractStringBuilder_toString($par1GuiButton), $rt_s(36));
                nms_NBTTagList_appendTag(var$2, var$3);
                $this.$bookTotalPages = $this.$bookTotalPages + 1 | 0;
                $this.$bookModified = 1;
            }
            if ($this.$currPage < ($this.$bookTotalPages - 1 | 0))
                $this.$currPage = $this.$currPage + 1 | 0;
        }
        $java.nms_GuiScreenBook_updateButtons($this);
    }
};
$java.nms_GuiScreenBook_keyTyped = function($this, $par1, $par2) {
    var var$3, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();var$3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if ($this.$bookIsUnsigned) {
            if ($this.$editingTitle)
                a: {
                    switch ($par2) {
                        case 14:
                            if (jl_String_length($this.$bookTitle) > 0) {
                                $this.$bookTitle = jl_String_substring0($this.$bookTitle, 0, jl_String_length($this.$bookTitle) - 1 | 0);
                                $java.nms_GuiScreenBook_updateButtons($this);
                            }
                            break a;
                        case 28:
                            break;
                        default:
                            if (jl_String_length($this.$bookTitle) < 16 && nms_ChatAllowedCharacters_isAllowedCharacter($par1)) {
                                var$3 = new jl_StringBuilder;
                                jl_AbstractStringBuilder__init_(var$3);
                                jl_AbstractStringBuilder_append(var$3, $this.$bookTitle);
                                jl_AbstractStringBuilder_append(var$3, jl_Character_toString0($par1));
                                $this.$bookTitle = jl_AbstractStringBuilder_toString(var$3);
                                $java.nms_GuiScreenBook_updateButtons($this);
                                $this.$bookModified = 1;
                            }
                            break a;
                    }
                    if (jl_String_length($this.$bookTitle) > 0) {
                        $java.nms_GuiScreenBook_sendBookToServer($this, 1);
                        nmc_Minecraft_displayGuiScreen($this.$mc2, null);
                    }
                }
            else {
                switch ($par1) {
                    case 22:
                        $ptr = 1;
                        continue main;
                    default:
                }
                b: {
                    switch ($par2) {
                        case 14:
                            var$3 = $java.nms_GuiScreenBook_func_74158_i($this);
                            if (jl_String_length(var$3) > 0)
                                $java.nms_GuiScreenBook_func_74159_a($this, jl_String_substring0(var$3, 0, jl_String_length(var$3) - 1 | 0));
                            break b;
                        case 28:
                            break;
                        default:
                            if (nms_ChatAllowedCharacters_isAllowedCharacter($par1))
                                $java.nms_GuiScreenBook_func_74160_b($this, jl_Character_toString0($par1));
                            break b;
                    }
                    $java.nms_GuiScreenBook_func_74160_b($this, $rt_s(64));
                }
            }
        }
        return;
    case 1:
        $tmp = nms_GuiScreen_getClipboardString();
        if ($rt_suspending()) {
            break main;
        }
        var$3 = $tmp;
        $java.nms_GuiScreenBook_func_74160_b($this, var$3);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, var$3, $ptr);
};
$java.nms_GuiScreenBook_func_74158_i = function($this) {
    if ($this.$bookPages !== null && $this.$currPage >= 0 && $this.$currPage < nms_NBTTagList_tagCount($this.$bookPages))
        return nms_NBTTagString_toString(nms_NBTTagList_tagAt($this.$bookPages, $this.$currPage));
    return $rt_s(36);
};
$java.nms_GuiScreenBook_func_74159_a = function($this, $par1Str) {
    if ($this.$bookPages !== null && $this.$currPage >= 0 && $this.$currPage < nms_NBTTagList_tagCount($this.$bookPages)) {
        nms_NBTTagList_tagAt($this.$bookPages, $this.$currPage).$data4 = $par1Str;
        $this.$bookModified = 1;
    }
};
$java.nms_GuiScreenBook_func_74160_b = function($this, $par1Str) {
    var $var2, var$3, $var3;
    $var2 = $java.nms_GuiScreenBook_func_74158_i($this);
    var$3 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_(var$3);
    jl_AbstractStringBuilder_append(var$3, $var2);
    jl_AbstractStringBuilder_append(var$3, $par1Str);
    $var3 = jl_AbstractStringBuilder_toString(var$3);
    $par1Str = $this.$fontRenderer0;
    $var2 = new jl_StringBuilder;
    jl_AbstractStringBuilder__init_($var2);
    jl_AbstractStringBuilder_append($var2, $var3);
    jl_AbstractStringBuilder_append($var2, $rt_s(36));
    jl_AbstractStringBuilder_append1($var2, $java.nms_EnumChatFormatting_BLACK);
    jl_AbstractStringBuilder_append($var2, $rt_s(423));
    if (nms_FontRenderer_splitStringWidth($par1Str, jl_AbstractStringBuilder_toString($var2), 118) <= 118 && jl_String_length($var3) < 256)
        $java.nms_GuiScreenBook_func_74159_a($this, $var3);
};
$java.nms_GuiScreenBook_drawScreen = function($this, $par1, $par2, $par3) {
    var $var6, $var4, $var13, $var7, $var8, $var5, $var9, var$11, var$12, $var7_0, $var10, $var11, $var12, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var12 = $thread.pop();$var11 = $thread.pop();$var10 = $thread.pop();$var7_0 = $thread.pop();var$12 = $thread.pop();var$11 = $thread.pop();$var9 = $thread.pop();$var5 = $thread.pop();$var8 = $thread.pop();$var7 = $thread.pop();$var13 = $thread.pop();$var4 = $thread.pop();$var6 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1 = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $var6 = $java.nms_GuiScreenBook_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($var6);
        if ($rt_suspending()) {
            break main;
        }
        $var4 = ($this.$width - $this.$bookImageWidth | 0) / 2 | 0;
        nms_Gui_drawTexturedModalRect($this, $var4, 2, 0, 0, $this.$bookImageWidth, $this.$bookImageHeight);
        if ($this.$editingTitle) {
            $var6 = $this.$bookTitle;
            if ($this.$bookIsUnsigned) {
                if (($this.$updateCount / 6 | 0) % 2 | 0) {
                    $var13 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var13);
                    jl_AbstractStringBuilder_append($var13, $var6);
                    jl_AbstractStringBuilder_append($var13, $rt_s(36));
                    jl_AbstractStringBuilder_append1($var13, nms_EnumChatFormatting_GRAY);
                    jl_AbstractStringBuilder_append($var13, $rt_s(423));
                    $var6 = jl_AbstractStringBuilder_toString($var13);
                } else {
                    $var13 = new jl_StringBuilder;
                    jl_AbstractStringBuilder__init_($var13);
                    jl_AbstractStringBuilder_append($var13, $var6);
                    jl_AbstractStringBuilder_append($var13, $rt_s(36));
                    jl_AbstractStringBuilder_append1($var13, $java.nms_EnumChatFormatting_BLACK);
                    jl_AbstractStringBuilder_append($var13, $rt_s(423));
                    $var6 = jl_AbstractStringBuilder_toString($var13);
                }
            }
            $var7 = nms_StatCollector_translateToLocal($rt_s(3392));
            $var8 = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var7);
            $var13 = $this.$fontRenderer0;
            $var4 = $var4 + 36 | 0;
            $var8 = $var4 + ((116 - $var8 | 0) / 2 | 0) | 0;
            $var5 = 34;
            $var9 = 0;
            $ptr = 2;
            continue main;
        }
        $var6 = nms_StatCollector_translateToLocal($rt_s(3393));
        var$11 = $rt_createArray(jl_Object, 2);
        var$12 = var$11.data;
        var$12[0] = jl_Integer_valueOf($this.$currPage + 1 | 0);
        var$12[1] = jl_Integer_valueOf($this.$bookTotalPages);
        $var6 = jl_String_format($var6, var$11);
        $var7_0 = $rt_s(36);
        if ($this.$bookPages !== null && $this.$currPage >= 0 && $this.$currPage < nms_NBTTagList_tagCount($this.$bookPages))
            $var7_0 = nms_NBTTagString_toString(nms_NBTTagList_tagAt($this.$bookPages, $this.$currPage));
        if ($this.$bookIsUnsigned) {
            if ($this.$fontRenderer0.$bidiFlag) {
                $var13 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var13);
                jl_AbstractStringBuilder_append($var13, $var7_0);
                jl_AbstractStringBuilder_append($var13, $rt_s(423));
                $var7_0 = jl_AbstractStringBuilder_toString($var13);
            } else if (($this.$updateCount / 6 | 0) % 2 | 0) {
                $var13 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var13);
                jl_AbstractStringBuilder_append($var13, $var7_0);
                jl_AbstractStringBuilder_append($var13, $rt_s(36));
                jl_AbstractStringBuilder_append1($var13, nms_EnumChatFormatting_GRAY);
                jl_AbstractStringBuilder_append($var13, $rt_s(423));
                $var7_0 = jl_AbstractStringBuilder_toString($var13);
            } else {
                $var7 = new jl_StringBuilder;
                jl_AbstractStringBuilder__init_($var7);
                jl_AbstractStringBuilder_append($var7, $var7_0);
                jl_AbstractStringBuilder_append($var7, $rt_s(36));
                jl_AbstractStringBuilder_append1($var7, $java.nms_EnumChatFormatting_BLACK);
                jl_AbstractStringBuilder_append($var7, $rt_s(423));
                $var7_0 = jl_AbstractStringBuilder_toString($var7);
            }
        }
        $var8 = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var6);
        $var13 = $this.$fontRenderer0;
        $var8 = (($var4 - $var8 | 0) + $this.$bookImageWidth | 0) - 44 | 0;
        $var5 = 18;
        $var9 = 0;
        $ptr = 7;
        continue main;
    case 2:
        nms_FontRenderer_drawString($var13, $var7, $var8, $var5, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var9 = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var6);
        $var13 = $this.$fontRenderer0;
        $var8 = $var4 + ((116 - $var9 | 0) / 2 | 0) | 0;
        $var5 = 50;
        $var9 = 0;
        $ptr = 3;
    case 3:
        nms_FontRenderer_drawString($var13, $var6, $var8, $var5, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = nms_StatCollector_translateToLocal($rt_s(2291));
        var$11 = $rt_createArray(jl_Object, 1);
        var$11.data[0] = $this.$editingPlayer.$username0;
        $var10 = jl_String_format($var6, var$11);
        $var11 = nms_FontRenderer_getStringWidth($this.$fontRenderer0, $var10);
        $var6 = $this.$fontRenderer0;
        $var13 = new jl_StringBuilder;
        jl_AbstractStringBuilder__init_($var13);
        jl_AbstractStringBuilder_append1($var13, $java.nms_EnumChatFormatting_DARK_GRAY);
        jl_AbstractStringBuilder_append($var13, $var10);
        $var13 = jl_AbstractStringBuilder_toString($var13);
        $var8 = $var4 + ((116 - $var11 | 0) / 2 | 0) | 0;
        $var5 = 60;
        $var9 = 0;
        $ptr = 4;
    case 4:
        nms_FontRenderer_drawString($var6, $var13, $var8, $var5, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var12 = nms_StatCollector_translateToLocal($rt_s(3394));
        $var6 = $this.$fontRenderer0;
        $var8 = 82;
        $var5 = 116;
        $var9 = 0;
        $ptr = 5;
    case 5:
        nms_FontRenderer_drawSplitString($var6, $var12, $var4, $var8, $var5, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 6;
    case 6:
        nms_GuiScreen_drawScreen($this, $par1, $par2, $par3);
        if ($rt_suspending()) {
            break main;
        }
        return;
    case 7:
        nms_FontRenderer_drawString($var13, $var6, $var8, $var5, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $var6 = $this.$fontRenderer0;
        $var8 = $var4 + 36 | 0;
        $var4 = 34;
        $var5 = 116;
        $var9 = 0;
        $ptr = 8;
    case 8:
        nms_FontRenderer_drawSplitString($var6, $var7_0, $var8, $var4, $var5, $var9);
        if ($rt_suspending()) {
            break main;
        }
        $ptr = 6;
        continue main;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1, $par2, $par3, $var6, $var4, $var13, $var7, $var8, $var5, $var9, var$11, var$12, $var7_0, $var10, $var11, $var12, $ptr);
};
function nms_GuiScreenBook__clinit_() {
    $java.nms_GuiScreenBook_tex = nle_TextureLocation__init_($rt_s(3395));
}
function nms_EntityFireworkOverlayFX() {
    nms_EntityFX.call(this);
}
$java.nms_EntityFireworkOverlayFX__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_EntityFireworkOverlayFX();
    $java.nms_EntityFireworkOverlayFX__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_EntityFireworkOverlayFX__init_0 = function($this, $par1World, $par2, $par4, $par6) {
    $java.nms_EntityFX__init_0($this, $par1World, $par2, $par4, $par6);
    $this.$particleMaxAge = 4;
};
$java.nms_EntityFireworkOverlayFX_renderParticle = function($this, $par1Tessellator, $par2, $par3, $par4, $par5, $par6, $par7) {
    var $var12, var$9, var$10, var$11, $var13, $var14, $var15, var$15;
    $var12 = 7.099999904632568 * nms_MathHelper_sin(($this.$particleAge + $par2 - 1.0) * 0.25 * 3.1415927410125732);
    $this.$particleAlpha = 0.6000000238418579 - ($this.$particleAge + $par2 - 1.0) * 0.25 * 0.5;
    var$9 = $this.$prevPosX;
    var$10 = $this.$posX - $this.$prevPosX;
    var$11 = $par2;
    $var13 = var$9 + var$10 * var$11 - nms_EntityFX_interpPosX;
    $var14 = $this.$prevPosY + ($this.$posY - $this.$prevPosY) * var$11 - nms_EntityFX_interpPosY;
    $var15 = $this.$prevPosZ + ($this.$posZ - $this.$prevPosZ) * var$11 - nms_EntityFX_interpPosZ;
    nlea_Tessellator_setColorRGBA_F($par1Tessellator, $this.$particleRed, $this.$particleGreen, $this.$particleBlue, $this.$particleAlpha);
    $par2 = $par3 * $var12;
    $par3 = $var13 - $par2;
    $par6 = $par6 * $var12;
    var$9 = $par3 - $par6;
    $par4 = $par4 * $var12;
    var$10 = $var14 - $par4;
    $par5 = $par5 * $var12;
    var$15 = $var15 - $par5;
    $par7 = $par7 * $var12;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$9, var$10, var$15 - $par7, 0.5, 0.375);
    var$9 = $par3 + $par6;
    var$11 = $var14 + $par4;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$9, var$11, var$15 + $par7, 0.5, 0.125);
    $par2 = $var13 + $par2;
    var$9 = $par2 + $par6;
    $par3 = $var15 + $par5;
    nlea_Tessellator_addVertexWithUV($par1Tessellator, var$9, var$11, $par3 + $par7, 0.25, 0.125);
    nlea_Tessellator_addVertexWithUV($par1Tessellator, $par2 - $par6, var$10, $par3 - $par7, 0.25, 0.375);
};
function nms_PathFinder() {
    var a = this; jl_Object.call(a);
    a.$worldMap = null;
    a.$path2 = null;
    a.$pointMap = null;
    a.$pathOptions = null;
    a.$isWoddenDoorAllowed = 0;
    a.$isMovementBlockAllowed = 0;
    a.$isPathingInWater = 0;
    a.$canEntityDrown = 0;
}
function nms_PathFinder__init_(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new nms_PathFinder();
    $java.nms_PathFinder__init_(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
}
$java.nms_PathFinder__init_ = function($this, $par1IBlockAccess, $par2, $par3, $par4, $par5) {
    $this.$path2 = $java.nms_Path__init_();
    $this.$pointMap = nms_IntHashMap__init_0();
    $this.$pathOptions = $rt_createArray(nms_PathPoint, 32);
    $this.$worldMap = $par1IBlockAccess;
    $this.$isWoddenDoorAllowed = $par2;
    $this.$isMovementBlockAllowed = $par3;
    $this.$isPathingInWater = $par4;
    $this.$canEntityDrown = $par5;
};
function nms_PathFinder_createEntityPathTo($this, $par1Entity, $par2Entity, $par3) {
    return $java.nms_PathFinder_createEntityPathTo($this, $par1Entity, $par2Entity.$posX, $par2Entity.$boundingBox.$minY, $par2Entity.$posZ, $par3);
}
function nms_PathFinder_createEntityPathTo0($this, $par1Entity, $par2, $par3, $par4, $par5) {
    return $java.nms_PathFinder_createEntityPathTo($this, $par1Entity, $par2 + 0.5, $par3 + 0.5, $par4 + 0.5, $par5);
}
$java.nms_PathFinder_createEntityPathTo = function($this, $par1Entity, $par2, $par4, $par6, $par8) {
    var $var9, var$7, $var11, $var15, $var12, $var13, var$12, $var14, var$14, var$15;
    $java.nms_Path_clearPath($this.$path2);
    nms_IntHashMap_clearMap($this.$pointMap);
    $var9 = $this.$isPathingInWater;
    nms_MathHelper_floor_double($par1Entity.$boundingBox.$minY + 0.5);
    if ($this.$canEntityDrown && $par1Entity.$isInWater()) {
        var$7 = $par1Entity.$boundingBox.$minY | 0;
        $var11 = $java.nms_ChunkCache_getBlockId($this.$worldMap, nms_MathHelper_floor_double($par1Entity.$posX), var$7, nms_MathHelper_floor_double($par1Entity.$posZ));
        while (true) {
            nms_Block_$callClinit();
            if ($var11 != nms_Block_waterMoving.$blockID && $var11 != nms_Block_waterStill.$blockID)
                break;
            var$7 = var$7 + 1 | 0;
            $var11 = $java.nms_ChunkCache_getBlockId($this.$worldMap, nms_MathHelper_floor_double($par1Entity.$posX), var$7, nms_MathHelper_floor_double($par1Entity.$posZ));
        }
        $var9 = $this.$isPathingInWater;
        $this.$isPathingInWater = 0;
    } else
        var$7 = nms_MathHelper_floor_double($par1Entity.$boundingBox.$minY + 0.5);
    $var15 = $java.nms_PathFinder_openPoint($this, nms_MathHelper_floor_double($par1Entity.$boundingBox.$minX), var$7, nms_MathHelper_floor_double($par1Entity.$boundingBox.$minZ));
    $var12 = $java.nms_PathFinder_openPoint($this, nms_MathHelper_floor_double($par2 - $par1Entity.$width0 / 2.0), nms_MathHelper_floor_double($par4), nms_MathHelper_floor_double($par6 - $par1Entity.$width0 / 2.0));
    $var13 = $java.nms_PathPoint__init_(nms_MathHelper_floor_float($par1Entity.$width0 + 1.0), nms_MathHelper_floor_float($par1Entity.$height0 + 1.0), nms_MathHelper_floor_float($par1Entity.$width0 + 1.0));
    $var15.$totalPathDistance = 0.0;
    $var15.$distanceToNext = $java.nms_PathPoint_func_75832_b($var15, $var12);
    $var15.$distanceToTarget = $var15.$distanceToNext;
    $java.nms_Path_clearPath($this.$path2);
    $java.nms_Path_addPoint($this.$path2, $var15);
    var$12 = $var15;
    a: {
        while (true) {
            if ($java.nms_Path_isPathEmpty($this.$path2)) {
                if (var$12 !== $var15) {
                    $var14 = $java.nms_PathFinder_createEntityPath($this, $var15, var$12);
                    break a;
                }
                $var14 = null;
                break a;
            }
            var$14 = $java.nms_Path_dequeue($this.$path2);
            if ($java.nms_PathPoint_equals(var$14, $var12))
                break;
            if ($java.nms_PathPoint_func_75832_b(var$14, $var12) < $java.nms_PathPoint_func_75832_b(var$12, $var12))
                var$12 = var$14;
            var$14.$isFirst = 1;
            var$7 = $java.nms_PathFinder_findPathOptions($this, $par1Entity, var$14, $var13, $var12, $par8);
            $var11 = 0;
            while ($var11 < var$7) {
                $var14 = $this.$pathOptions.data[$var11];
                var$15 = var$14.$totalPathDistance + $java.nms_PathPoint_func_75832_b(var$14, $var14);
                if (!($java.nms_PathPoint_isAssigned($var14) && var$15 >= $var14.$totalPathDistance)) {
                    $var14.$previous2 = var$14;
                    $var14.$totalPathDistance = var$15;
                    $var14.$distanceToNext = $java.nms_PathPoint_func_75832_b($var14, $var12);
                    if ($java.nms_PathPoint_isAssigned($var14))
                        $java.nms_Path_changeDistance($this.$path2, $var14, $var14.$totalPathDistance + $var14.$distanceToNext);
                    else {
                        $var14.$distanceToTarget = $var14.$totalPathDistance + $var14.$distanceToNext;
                        $java.nms_Path_addPoint($this.$path2, $var14);
                    }
                }
                $var11 = $var11 + 1 | 0;
            }
        }
        $var14 = $java.nms_PathFinder_createEntityPath($this, $var15, $var12);
    }
    $this.$isPathingInWater = $var9;
    return $var14;
};
$java.nms_PathFinder_findPathOptions = function($this, $par1Entity, $par2PathPoint, $par3PathPoint, $par4PathPoint, $par5) {
    var $var7, $var8, $var9, $var10, $var11, var$11, var$12, var$13;
    $var7 = 0;
    if ($java.nms_PathFinder_getVerticalOffset($this, $par1Entity, $par2PathPoint.$xCoord2, $par2PathPoint.$yCoord2 + 1 | 0, $par2PathPoint.$zCoord2, $par3PathPoint) == 1)
        $var7 = 1;
    $var8 = $java.nms_PathFinder_getSafePoint($this, $par1Entity, $par2PathPoint.$xCoord2, $par2PathPoint.$yCoord2, $par2PathPoint.$zCoord2 + 1 | 0, $par3PathPoint, $var7);
    $var9 = $java.nms_PathFinder_getSafePoint($this, $par1Entity, $par2PathPoint.$xCoord2 - 1 | 0, $par2PathPoint.$yCoord2, $par2PathPoint.$zCoord2, $par3PathPoint, $var7);
    $var10 = $java.nms_PathFinder_getSafePoint($this, $par1Entity, $par2PathPoint.$xCoord2 + 1 | 0, $par2PathPoint.$yCoord2, $par2PathPoint.$zCoord2, $par3PathPoint, $var7);
    $var11 = $java.nms_PathFinder_getSafePoint($this, $par1Entity, $par2PathPoint.$xCoord2, $par2PathPoint.$yCoord2, $par2PathPoint.$zCoord2 - 1 | 0, $par3PathPoint, $var7);
    if ($var8 === null)
        var$11 = 0;
    else if ($var8.$isFirst)
        var$11 = 0;
    else if ($java.nms_PathPoint_distanceTo($var8, $par4PathPoint) >= $par5)
        var$11 = 0;
    else {
        var$12 = $this.$pathOptions.data;
        var$11 = 1;
        var$12[0] = $var8;
    }
    if ($var9 === null)
        var$13 = var$11;
    else if ($var9.$isFirst)
        var$13 = var$11;
    else if ($java.nms_PathPoint_distanceTo($var9, $par4PathPoint) >= $par5)
        var$13 = var$11;
    else {
        var$12 = $this.$pathOptions.data;
        var$13 = var$11 + 1 | 0;
        var$12[var$11] = $var9;
    }
    if ($var10 === null)
        var$11 = var$13;
    else if ($var10.$isFirst)
        var$11 = var$13;
    else if ($java.nms_PathPoint_distanceTo($var10, $par4PathPoint) >= $par5)
        var$11 = var$13;
    else {
        var$12 = $this.$pathOptions.data;
        var$11 = var$13 + 1 | 0;
        var$12[var$13] = $var10;
    }
    if ($var11 === null)
        var$13 = var$11;
    else if ($var11.$isFirst)
        var$13 = var$11;
    else if ($java.nms_PathPoint_distanceTo($var11, $par4PathPoint) >= $par5)
        var$13 = var$11;
    else {
        var$12 = $this.$pathOptions.data;
        var$13 = var$11 + 1 | 0;
        var$12[var$11] = $var11;
    }
    return var$13;
};
$java.nms_PathFinder_getSafePoint = function($this, $par1Entity, $par2, $par3, $par4, $par5PathPoint, $par6) {
    var $var7, $var8, $var9, $var10;
    $var7 = null;
    $var8 = $java.nms_PathFinder_getVerticalOffset($this, $par1Entity, $par2, $par3, $par4, $par5PathPoint);
    if ($var8 == 2)
        return $java.nms_PathFinder_openPoint($this, $par2, $par3, $par4);
    if ($var8 == 1)
        $var7 = $java.nms_PathFinder_openPoint($this, $par2, $par3, $par4);
    if ($var7 !== null)
        $var8 = $par3;
    else if ($par6 <= 0)
        $var8 = $par3;
    else if ($var8 == (-3))
        $var8 = $par3;
    else if ($var8 == (-4))
        $var8 = $par3;
    else {
        $var8 = $par3 + $par6 | 0;
        if ($java.nms_PathFinder_getVerticalOffset($this, $par1Entity, $par2, $var8, $par4, $par5PathPoint) == 1)
            $var7 = $java.nms_PathFinder_openPoint($this, $par2, $var8, $par4);
        else
            $var8 = $par3;
    }
    if ($var7 !== null) {
        $var9 = 0;
        $var10 = 0;
        a: {
            while (true) {
                if ($var8 <= 0)
                    break a;
                $var10 = $java.nms_PathFinder_getVerticalOffset($this, $par1Entity, $par2, $var8 - 1 | 0, $par4, $par5PathPoint);
                if ($this.$isPathingInWater && $var10 == (-1))
                    return null;
                if ($var10 != 1)
                    break a;
                $par3 = $var9 + 1 | 0;
                if ($var9 >= $par1Entity.$func_82143_as())
                    break;
                $var8 = $var8 + (-1) | 0;
                if ($var8 <= 0) {
                    $var9 = $par3;
                    continue;
                }
                $var7 = $java.nms_PathFinder_openPoint($this, $par2, $var8, $par4);
                $var9 = $par3;
            }
            return null;
        }
        if ($var10 == (-2))
            return null;
    }
    return $var7;
};
$java.nms_PathFinder_openPoint = function($this, $par1, $par2, $par3) {
    var $var4, $var5;
    $var4 = $java.nms_PathPoint_makeHash($par1, $par2, $par3);
    $var5 = nms_IntHashMap_lookup($this.$pointMap, $var4);
    if ($var5 === null) {
        $var5 = $java.nms_PathPoint__init_($par1, $par2, $par3);
        nms_IntHashMap_addKey($this.$pointMap, $var4, $var5);
    }
    return $var5;
};
$java.nms_PathFinder_getVerticalOffset = function($this, $par1Entity, $par2, $par3, $par4, $par5PathPoint) {
    return $java.nms_PathFinder_func_82565_a($par1Entity, $par2, $par3, $par4, $par5PathPoint, $this.$isPathingInWater, $this.$isMovementBlockAllowed, $this.$isWoddenDoorAllowed);
};
$java.nms_PathFinder_func_82565_a = function($par0Entity, $par1, $par2, $par3, $par4PathPoint, $par5, $par6, $par7) {
    var $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var18, $var16, $var17, $var15;
    $var8 = 0;
    $var9 = $par1;
    a: {
        b: while (true) {
            if ($var9 >= ($par1 + $par4PathPoint.$xCoord2 | 0))
                return !$var8 ? 1 : 2;
            $var10 = $par2;
            while ($var10 < ($par2 + $par4PathPoint.$yCoord2 | 0)) {
                $var11 = $par3;
                while ($var11 < ($par3 + $par4PathPoint.$zCoord2 | 0)) {
                    $var12 = nms_World_getBlockId($par0Entity.$worldObj, $var9, $var10, $var11);
                    if ($var12 > 0) {
                        nms_Block_$callClinit();
                        if ($var12 == nms_Block_trapdoor.$blockID)
                            $var8 = 1;
                        else if (!($var12 != nms_Block_waterMoving.$blockID && $var12 != nms_Block_waterStill.$blockID)) {
                            if ($par5)
                                return (-1);
                            $var8 = 1;
                        } else if (!$par7 && $var12 == nms_Block_doorWood.$blockID)
                            break b;
                        $var13 = nms_Block_blocksList.data[$var12];
                        $var14 = $var13.$getRenderType();
                        if (nms_World_blockGetRenderType($par0Entity.$worldObj, $var9, $var10, $var11) == 9) {
                            $var18 = nms_MathHelper_floor_double($par0Entity.$posX);
                            $var16 = nms_MathHelper_floor_double($par0Entity.$posY);
                            $var17 = nms_MathHelper_floor_double($par0Entity.$posZ);
                            if (nms_World_blockGetRenderType($par0Entity.$worldObj, $var18, $var16, $var17) != 9 && nms_World_blockGetRenderType($par0Entity.$worldObj, $var18, $var16 - 1 | 0, $var17) != 9)
                                return (-3);
                        } else if (!$var13.$getBlocksMovement($par0Entity.$worldObj, $var9, $var10, $var11) && !($par6 && $var12 == nms_Block_doorWood.$blockID)) {
                            if ($var14 == 11)
                                break a;
                            if ($var12 == nms_Block_fenceGate.$blockID)
                                break a;
                            if ($var14 == 32)
                                break a;
                            if ($var12 == nms_Block_trapdoor.$blockID)
                                return (-4);
                            $var15 = $var13.$blockMaterial;
                            nms_Material_$callClinit();
                            if ($var15 !== nms_Material_lava)
                                return 0;
                            if (!nms_Entity_handleLavaMovement($par0Entity))
                                return (-2);
                        }
                    }
                    $var11 = $var11 + 1 | 0;
                }
                $var10 = $var10 + 1 | 0;
            }
            $var9 = $var9 + 1 | 0;
        }
        return 0;
    }
    return (-3);
};
$java.nms_PathFinder_createEntityPath = function($this, $par1PathPoint, $par2PathPoint) {
    var $var3, $var4, $var5, var$6;
    $var3 = 1;
    $var4 = $par2PathPoint;
    while ($var4.$previous2 !== null) {
        $var3 = $var3 + 1 | 0;
        $var4 = $var4.$previous2;
    }
    $var5 = $rt_createArray(nms_PathPoint, $var3);
    var$6 = $var5.data;
    $var3 = $var3 + (-1) | 0;
    var$6[$var3] = $par2PathPoint;
    while ($par2PathPoint.$previous2 !== null) {
        $par2PathPoint = $par2PathPoint.$previous2;
        $var3 = $var3 + (-1) | 0;
        var$6[$var3] = $par2PathPoint;
    }
    $par1PathPoint = new nms_PathEntity;
    $par1PathPoint.$points = $var5;
    $par1PathPoint.$pathLength = var$6.length;
    return $par1PathPoint;
};
function nms_InventoryLargeChest() {
    var a = this; jl_Object.call(a);
    a.$name28 = null;
    a.$upperChest = null;
    a.$lowerChest = null;
}
$java.nms_InventoryLargeChest__init_0 = function(var_0, var_1, var_2) {
    var var_3 = new nms_InventoryLargeChest();
    $java.nms_InventoryLargeChest__init_(var_3, var_0, var_1, var_2);
    return var_3;
};
$java.nms_InventoryLargeChest__init_ = function($this, $par1Str, $par2IInventory, $par3IInventory) {
    $this.$name28 = $par1Str;
    if ($par2IInventory === null)
        $par2IInventory = $par3IInventory;
    if ($par3IInventory === null)
        $par3IInventory = $par2IInventory;
    $this.$upperChest = $par2IInventory;
    $this.$lowerChest = $par3IInventory;
};
$java.nms_InventoryLargeChest_getSizeInventory = function($this) {
    return $this.$upperChest.$getSizeInventory() + $this.$lowerChest.$getSizeInventory() | 0;
};
$java.nms_InventoryLargeChest_getStackInSlot = function($this, $par1) {
    return $par1 < $this.$upperChest.$getSizeInventory() ? $this.$upperChest.$getStackInSlot($par1) : $this.$lowerChest.$getStackInSlot($par1 - $this.$upperChest.$getSizeInventory() | 0);
};
$java.nms_InventoryLargeChest_getInventoryStackLimit = function($this) {
    return $this.$upperChest.$getInventoryStackLimit();
};
function nms_GuiButtonNextPage() {
    nms_GuiButton.call(this);
    this.$nextPage = 0;
}
$java.nms_GuiButtonNextPage_tex = null;
$java.nms_GuiButtonNextPage__init_ = function(var_0, var_1, var_2, var_3) {
    var var_4 = new nms_GuiButtonNextPage();
    $java.nms_GuiButtonNextPage__init_0(var_4, var_0, var_1, var_2, var_3);
    return var_4;
};
$java.nms_GuiButtonNextPage__init_0 = function($this, $par1, $par2, $par3, $par4) {
    nms_GuiButton__init_1($this, $par1, $par2, $par3, 23, 13, $rt_s(36));
    $this.$nextPage = $par4;
};
$java.nms_GuiButtonNextPage_drawButton = function($this, $par1Minecraft, $par2, $par3) {
    var $var4, $var5, $var6, $ptr, $tmp;
    $ptr = 0;
    if ($rt_resuming()) {
        var $thread = $rt_nativeThread();
        $ptr = $thread.pop();$var6 = $thread.pop();$var5 = $thread.pop();$var4 = $thread.pop();$par3 = $thread.pop();$par2 = $thread.pop();$par1Minecraft = $thread.pop();$this = $thread.pop();
    }
    main: while (true) { switch ($ptr) {
    case 0:
        if (!$this.$drawButton0)
            return;
        $var4 = $par2 >= $this.$xPosition1 && $par3 >= $this.$yPosition && $par2 < ($this.$xPosition1 + $this.$width6 | 0) && $par3 < ($this.$yPosition + $this.$height8 | 0) ? 1 : 0;
        nleg_EaglerAdapterGL30_glColor4f(1.0, 1.0, 1.0, 1.0);
        $par1Minecraft = $java.nms_GuiButtonNextPage_tex;
        $ptr = 1;
    case 1:
        nle_TextureLocation_bindTexture($par1Minecraft);
        if ($rt_suspending()) {
            break main;
        }
        $var5 = 0;
        $var6 = 192;
        if ($var4)
            $var5 = 23;
        if (!$this.$nextPage)
            $var6 = 205;
        nms_Gui_drawTexturedModalRect($this, $this.$xPosition1, $this.$yPosition, $var5, $var6, 23, 13);
        return;
    default: $rt_invalidPointer();
    }}
    $rt_nativeThread().push($this, $par1Minecraft, $par2, $par3, $var4, $var5, $var6, $ptr);
};
function nms_GuiButtonNextPage__clinit_() {
    $java.nms_GuiButtonNextPage_tex = nle_TextureLocation__init_($rt_s(3395));
}
function nms_Path() {
    var a = this; jl_Object.call(a);
    a.$pathPoints = null;
    a.$count5 = 0;
}
$java.nms_Path__init_ = function() {
    var var_0 = new nms_Path();
    nms_Path__init_(var_0);
    return var_0;
};
function nms_Path__init_($this) {
    $this.$pathPoints = $rt_createArray(nms_PathPoint, 1024);
    $this.$count5 = 0;
}
$java.nms_Path_addPoint = function($this, $par1PathPoint) {
    var $var2, var$3;
    if ($par1PathPoint.$index12 >= 0) {
        $par1PathPoint = new jl_IllegalStateException;
        jl_Throwable__init_($par1PathPoint, $rt_s(3396));
        $rt_throw($par1PathPoint);
    }
    if ($this.$count5 == $this.$pathPoints.data.length) {
        $var2 = $rt_createArray(nms_PathPoint, $this.$count5 << 1);
        jl_System_arraycopy($this.$pathPoints, 0, $var2, 0, $this.$count5);
        $this.$pathPoints = $var2;
    }
    $this.$pathPoints.data[$this.$count5] = $par1PathPoint;
    $par1PathPoint.$index12 = $this.$count5;
    var$3 = $this.$count5;
    $this.$count5 = var$3 + 1 | 0;
    $java.nms_Path_sortBack($this, var$3);
    return $par1PathPoint;
};
$java.nms_Path_clearPath = function($this) {
    $this.$count5 = 0;
};
$java.nms_Path_dequeue = function($this) {
    var $var1, var$2, var$3, var$4;
    $var1 = $this.$pathPoints.data[0];
    var$2 = $this.$pathPoints.data;
    var$3 = $this.$pathPoints.data;
    var$4 = $this.$count5 - 1 | 0;
    $this.$count5 = var$4;
    var$2[0] = var$3[var$4];
    $this.$pathPoints.data[$this.$count5] = null;
    if ($this.$count5 > 0)
        $java.nms_Path_sortForward($this, 0);
    $var1.$index12 = (-1);
    return $var1;
};
$java.nms_Path_changeDistance = function($this, $par1PathPoint, $par2) {
    var $var3;
    $var3 = $par1PathPoint.$distanceToTarget;
    $par1PathPoint.$distanceToTarget = $par2;
    if ($par2 >= $var3)
        $java.nms_Path_sortForward($this, $par1PathPoint.$index12);
    else
        $java.nms_Path_sortBack($this, $par1PathPoint.$index12);
};
$java.nms_Path_sortBack = function($this, $par1) {
    var $var2, $var3, $var4, $var5;
    $var2 = $this.$pathPoints.data[$par1];
    $var3 = $var2.$distanceToTarget;
    a: {
        while (true) {
            if ($par1 <= 0)
                break a;
            $var4 = ($par1 - 1 | 0) >> 1;
            $var5 = $this.$pathPoints.data[$var4];
            if ($var3 >= $var5.$distanceToTarget)
                break;
            $this.$pathPoints.data[$par1] = $var5;
            $var5.$index12 = $par1;
            $par1 = $var4;
        }
    }
    $this.$pathPoints.data[$par1] = $var2;
    $var2.$index12 = $par1;
};
$java.nms_Path_sortForward = function($this, $par1) {
    var $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9;
    $var2 = $this.$pathPoints.data[$par1];
    $var3 = $var2.$distanceToTarget;
    a: {
        while (true) {
            $var4 = 1 + ($par1 << 1) | 0;
            $var5 = $var4 + 1 | 0;
            if ($var4 >= $this.$count5)
                break;
            $var6 = $this.$pathPoints.data[$var4];
            $var7 = $var6.$distanceToTarget;
            if ($var5 >= $this.$count5) {
                $var8 = null;
                $var9 = Infinity;
            } else {
                $var8 = $this.$pathPoints.data[$var5];
                $var9 = $var8.$distanceToTarget;
            }
            if ($var7 < $var9) {
                if ($var7 >= $var3)
                    break a;
                $this.$pathPoints.data[$par1] = $var6;
                $var6.$index12 = $par1;
            } else {
                if ($var9 >= $var3)
                    break a;
                $this.$pathPoints.data[$par1] = $var8;
                $var8.$index12 = $par1;
                $var4 = $var5;
            }
            $par1 = $var4;
        }
    }
    $this.$pathPoints.data[$par1] = $var2;
    $var2.$index12 = $par1;
};
$java.nms_Path_isPathEmpty = function($this) {
    return $this.$count5 ? 0 : 1;
};
function ju_AbstractList$TListIteratorImpl() {
    var a = this; jl_Object.call(a);
    a.$i = 0;
    a.$j = 0;
    a.$lastModCount = 0;
    a.$sz = 0;
    a.$this$00 = null;
}
$java.ju_AbstractList$TListIteratorImpl_hasPrevious = function($this) {
    return $this.$i <= 0 ? 0 : 1;
};
$java.ju_AbstractList$TListIteratorImpl_previous = function($this) {
    var var$1, var$2;
    if ($this.$lastModCount < $this.$this$00.$modCount) {
        var$1 = new ju_ConcurrentModificationException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    $this.$j = $this.$i - 1 | 0;
    if ($this.$j < 0) {
        var$1 = new ju_NoSuchElementException;
        jl_Throwable__init_0(var$1);
        $rt_throw(var$1);
    }
    var$1 = $this.$this$00;
    var$2 = $this.$i - 1 | 0;
    $this.$i = var$2;
    return ju_ArrayList_get(var$1, var$2);
};
function cjj_StaticTree() {
    var a = this; jl_Object.call(a);
    a.$static_tree = null;
    a.$extra_bits = null;
    a.$extra_base = 0;
    a.$elems = 0;
    a.$max_length = 0;
}
$java.cjj_StaticTree_static_ltree = null;
$java.cjj_StaticTree_static_dtree = null;
$java.cjj_StaticTree_static_l_desc = null;
$java.cjj_StaticTree_static_d_desc = null;
$java.cjj_StaticTree_static_bl_desc = null;
$java.cjj_StaticTree_$callClinit = function() {
    $java.cjj_StaticTree_$callClinit = $rt_eraseClinit(cjj_StaticTree);
    $java.cjj_StaticTree__clinit_();
};
$java.cjj_StaticTree__init_ = function(var_0, var_1, var_2, var_3, var_4) {
    var var_5 = new cjj_StaticTree();
    $java.cjj_StaticTree__init_0(var_5, var_0, var_1, var_2, var_3, var_4);
    return var_5;
};
$java.cjj_StaticTree__init_0 = function($this, $static_tree, $extra_bits, $extra_base, $elems, $max_length) {
    $java.cjj_StaticTree_$callClinit();
    $this.$static_tree = $static_tree;
    $this.$extra_bits = $extra_bits;
    $this.$extra_base = $extra_base;
    $this.$elems = $elems;
    $this.$max_length = $max_length;
};
$java.cjj_StaticTree__clinit_ = function() {
    var var$1, var$2;
    var$1 = $rt_createShortArray(576);
    var$2 = var$1.data;
    var$2[0] = 12;
    var$2[1] = 8;
    var$2[2] = 140;
    var$2[3] = 8;
    var$2[4] = 76;
    var$2[5] = 8;
    var$2[6] = 204;
    var$2[7] = 8;
    var$2[8] = 44;
    var$2[9] = 8;
    var$2[10] = 172;
    var$2[11] = 8;
    var$2[12] = 108;
    var$2[13] = 8;
    var$2[14] = 236;
    var$2[15] = 8;
    var$2[16] = 28;
    var$2[17] = 8;
    var$2[18] = 156;
    var$2[19] = 8;
    var$2[20] = 92;
    var$2[21] = 8;
    var$2[22] = 220;
    var$2[23] = 8;
    var$2[24] = 60;
    var$2[25] = 8;
    var$2[26] = 188;
    var$2[27] = 8;
    var$2[28] = 124;
    var$2[29] = 8;
    var$2[30] = 252;
    var$2[31] = 8;
    var$2[32] = 2;
    var$2[33] = 8;
    var$2[34] = 130;
    var$2[35] = 8;
    var$2[36] = 66;
    var$2[37] = 8;
    var$2[38] = 194;
    var$2[39] = 8;
    var$2[40] = 34;
    var$2[41] = 8;
    var$2[42] = 162;
    var$2[43] = 8;
    var$2[44] = 98;
    var$2[45] = 8;
    var$2[46] = 226;
    var$2[47] = 8;
    var$2[48] = 18;
    var$2[49] = 8;
    var$2[50] = 146;
    var$2[51] = 8;
    var$2[52] = 82;
    var$2[53] = 8;
    var$2[54] = 210;
    var$2[55] = 8;
    var$2[56] = 50;
    var$2[57] = 8;
    var$2[58] = 178;
    var$2[59] = 8;
    var$2[60] = 114;
    var$2[61] = 8;
    var$2[62] = 242;
    var$2[63] = 8;
    var$2[64] = 10;
    var$2[65] = 8;
    var$2[66] = 138;
    var$2[67] = 8;
    var$2[68] = 74;
    var$2[69] = 8;
    var$2[70] = 202;
    var$2[71] = 8;
    var$2[72] = 42;
    var$2[73] = 8;
    var$2[74] = 170;
    var$2[75] = 8;
    var$2[76] = 106;
    var$2[77] = 8;
    var$2[78] = 234;
    var$2[79] = 8;
    var$2[80] = 26;
    var$2[81] = 8;
    var$2[82] = 154;
    var$2[83] = 8;
    var$2[84] = 90;
    var$2[85] = 8;
    var$2[86] = 218;
    var$2[87] = 8;
    var$2[88] = 58;
    var$2[89] = 8;
    var$2[90] = 186;
    var$2[91] = 8;
    var$2[92] = 122;
    var$2[93] = 8;
    var$2[94] = 250;
    var$2[95] = 8;
    var$2[96] = 6;
    var$2[97] = 8;
    var$2[98] = 134;
    var$2[99] = 8;
    var$2[100] = 70;
    var$2[101] = 8;
    var$2[102] = 198;
    var$2[103] = 8;
    var$2[104] = 38;
    var$2[105] = 8;
    var$2[106] = 166;
    var$2[107] = 8;
    var$2[108] = 102;
    var$2[109] = 8;
    var$2[110] = 230;
    var$2[111] = 8;
    var$2[112] = 22;
    var$2[113] = 8;
    var$2[114] = 150;
    var$2[115] = 8;
    var$2[116] = 86;
    var$2[117] = 8;
    var$2[118] = 214;
    var$2[119] = 8;
    var$2[120] = 54;
    var$2[121] = 8;
    var$2[122] = 182;
    var$2[123] = 8;
    var$2[124] = 118;
    var$2[125] = 8;
    var$2[126] = 246;
    var$2[127] = 8;
    var$2[128] = 14;
    var$2[129] = 8;
    var$2[130] = 142;
    var$2[131] = 8;
    var$2[132] = 78;
    var$2[133] = 8;
    var$2[134] = 206;
    var$2[135] = 8;
    var$2[136] = 46;
    var$2[137] = 8;
    var$2[138] = 174;
    var$2[139] = 8;
    var$2[140] = 110;
    var$2[141] = 8;
    var$2[142] = 238;
    var$2[143] = 8;
    var$2[144] = 30;
    var$2[145] = 8;
    var$2[146] = 158;
    var$2[147] = 8;
    var$2[148] = 94;
    var$2[149] = 8;
    var$2[150] = 222;
    var$2[151] = 8;
    var$2[152] = 62;
    var$2[153] = 8;
    var$2[154] = 190;
    var$2[155] = 8;
    var$2[156] = 126;
    var$2[157] = 8;
    var$2[158] = 254;
    var$2[159] = 8;
    var$2[160] = 1;
    var$2[161] = 8;
    var$2[162] = 129;
    var$2[163] = 8;
    var$2[164] = 65;
    var$2[165] = 8;
    var$2[166] = 193;
    var$2[167] = 8;
    var$2[168] = 33;
    var$2[169] = 8;
    var$2[170] = 161;
    var$2[171] = 8;
    var$2[172] = 97;
    var$2[173] = 8;
    var$2[174] = 225;
    var$2[175] = 8;
    var$2[176] = 17;
    var$2[177] = 8;
    var$2[178] = 145;
    var$2[179] = 8;
    var$2[180] = 81;
    var$2[181] = 8;
    var$2[182] = 209;
    var$2[183] = 8;
    var$2[184] = 49;
    var$2[185] = 8;
    var$2[186] = 177;
    var$2[187] = 8;
    var$2[188] = 113;
    var$2[189] = 8;
    var$2[190] = 241;
    var$2[191] = 8;
    var$2[192] = 9;
    var$2[193] = 8;
    var$2[194] = 137;
    var$2[195] = 8;
    var$2[196] = 73;
    var$2[197] = 8;
    var$2[198] = 201;
    var$2[199] = 8;
    var$2[200] = 41;
    var$2[201] = 8;
    var$2[202] = 169;
    var$2[203] = 8;
    var$2[204] = 105;
    var$2[205] = 8;
    var$2[206] = 233;
    var$2[207] = 8;
    var$2[208] = 25;
    var$2[209] = 8;
    var$2[210] = 153;
    var$2[211] = 8;
    var$2[212] = 89;
    var$2[213] = 8;
    var$2[214] = 217;
    var$2[215] = 8;
    var$2[216] = 57;
    var$2[217] = 8;
    var$2[218] = 185;
    var$2[219] = 8;
    var$2[220] = 121;
    var$2[221] = 8;
    var$2[222] = 249;
    var$2[223] = 8;
    var$2[224] = 5;
    var$2[225] = 8;
    var$2[226] = 133;
    var$2[227] = 8;
    var$2[228] = 69;
    var$2[229] = 8;
    var$2[230] = 197;
    var$2[231] = 8;
    var$2[232] = 37;
    var$2[233] = 8;
    var$2[234] = 165;
    var$2[235] = 8;
    var$2[236] = 101;
    var$2[237] = 8;
    var$2[238] = 229;
    var$2[239] = 8;
    var$2[240] = 21;
    var$2[241] = 8;
    var$2[242] = 149;
    var$2[243] = 8;
    var$2[244] = 85;
    var$2[245] = 8;
    var$2[246] = 213;
    var$2[247] = 8;
    var$2[248] = 53;
    var$2[249] = 8;
    var$2[250] = 181;
    var$2[251] = 8;
    var$2[252] = 117;
    var$2[253] = 8;
    var$2[254] = 245;
    var$2[255] = 8;
    var$2[256] = 13;
    var$2[257] = 8;
    var$2[258] = 141;
    var$2[259] = 8;
    var$2[260] = 77;
    var$2[261] = 8;
    var$2[262] = 205;
    var$2[263] = 8;
    var$2[264] = 45;
    var$2[265] = 8;
    var$2[266] = 173;
    var$2[267] = 8;
    var$2[268] = 109;
    var$2[269] = 8;
    var$2[270] = 237;
    var$2[271] = 8;
    var$2[272] = 29;
    var$2[273] = 8;
    var$2[274] = 157;
    var$2[275] = 8;
    var$2[276] = 93;
    var$2[277] = 8;
    var$2[278] = 221;
    var$2[279] = 8;
    var$2[280] = 61;
    var$2[281] = 8;
    var$2[282] = 189;
    var$2[283] = 8;
    var$2[284] = 125;
    var$2[285] = 8;
    var$2[286] = 253;
    var$2[287] = 8;
    var$2[288] = 19;
    var$2[289] = 9;
    var$2[290] = 275;
    var$2[291] = 9;
    var$2[292] = 147;
    var$2[293] = 9;
    var$2[294] = 403;
    var$2[295] = 9;
    var$2[296] = 83;
    var$2[297] = 9;
    var$2[298] = 339;
    var$2[299] = 9;
    var$2[300] = 211;
    var$2[301] = 9;
    var$2[302] = 467;
    var$2[303] = 9;
    var$2[304] = 51;
    var$2[305] = 9;
    var$2[306] = 307;
    var$2[307] = 9;
    var$2[308] = 179;
    var$2[309] = 9;
    var$2[310] = 435;
    var$2[311] = 9;
    var$2[312] = 115;
    var$2[313] = 9;
    var$2[314] = 371;
    var$2[315] = 9;
    var$2[316] = 243;
    var$2[317] = 9;
    var$2[318] = 499;
    var$2[319] = 9;
    var$2[320] = 11;
    var$2[321] = 9;
    var$2[322] = 267;
    var$2[323] = 9;
    var$2[324] = 139;
    var$2[325] = 9;
    var$2[326] = 395;
    var$2[327] = 9;
    var$2[328] = 75;
    var$2[329] = 9;
    var$2[330] = 331;
    var$2[331] = 9;
    var$2[332] = 203;
    var$2[333] = 9;
    var$2[334] = 459;
    var$2[335] = 9;
    var$2[336] = 43;
    var$2[337] = 9;
    var$2[338] = 299;
    var$2[339] = 9;
    var$2[340] = 171;
    var$2[341] = 9;
    var$2[342] = 427;
    var$2[343] = 9;
    var$2[344] = 107;
    var$2[345] = 9;
    var$2[346] = 363;
    var$2[347] = 9;
    var$2[348] = 235;
    var$2[349] = 9;
    var$2[350] = 491;
    var$2[351] = 9;
    var$2[352] = 27;
    var$2[353] = 9;
    var$2[354] = 283;
    var$2[355] = 9;
    var$2[356] = 155;
    var$2[357] = 9;
    var$2[358] = 411;
    var$2[359] = 9;
    var$2[360] = 91;
    var$2[361] = 9;
    var$2[362] = 347;
    var$2[363] = 9;
    var$2[364] = 219;
    var$2[365] = 9;
    var$2[366] = 475;
    var$2[367] = 9;
    var$2[368] = 59;
    var$2[369] = 9;
    var$2[370] = 315;
    var$2[371] = 9;
    var$2[372] = 187;
    var$2[373] = 9;
    var$2[374] = 443;
    var$2[375] = 9;
    var$2[376] = 123;
    var$2[377] = 9;
    var$2[378] = 379;
    var$2[379] = 9;
    var$2[380] = 251;
    var$2[381] = 9;
    var$2[382] = 507;
    var$2[383] = 9;
    var$2[384] = 7;
    var$2[385] = 9;
    var$2[386] = 263;
    var$2[387] = 9;
    var$2[388] = 135;
    var$2[389] = 9;
    var$2[390] = 391;
    var$2[391] = 9;
    var$2[392] = 71;
    var$2[393] = 9;
    var$2[394] = 327;
    var$2[395] = 9;
    var$2[396] = 199;
    var$2[397] = 9;
    var$2[398] = 455;
    var$2[399] = 9;
    var$2[400] = 39;
    var$2[401] = 9;
    var$2[402] = 295;
    var$2[403] = 9;
    var$2[404] = 167;
    var$2[405] = 9;
    var$2[406] = 423;
    var$2[407] = 9;
    var$2[408] = 103;
    var$2[409] = 9;
    var$2[410] = 359;
    var$2[411] = 9;
    var$2[412] = 231;
    var$2[413] = 9;
    var$2[414] = 487;
    var$2[415] = 9;
    var$2[416] = 23;
    var$2[417] = 9;
    var$2[418] = 279;
    var$2[419] = 9;
    var$2[420] = 151;
    var$2[421] = 9;
    var$2[422] = 407;
    var$2[423] = 9;
    var$2[424] = 87;
    var$2[425] = 9;
    var$2[426] = 343;
    var$2[427] = 9;
    var$2[428] = 215;
    var$2[429] = 9;
    var$2[430] = 471;
    var$2[431] = 9;
    var$2[432] = 55;
    var$2[433] = 9;
    var$2[434] = 311;
    var$2[435] = 9;
    var$2[436] = 183;
    var$2[437] = 9;
    var$2[438] = 439;
    var$2[439] = 9;
    var$2[440] = 119;
    var$2[441] = 9;
    var$2[442] = 375;
    var$2[443] = 9;
    var$2[444] = 247;
    var$2[445] = 9;
    var$2[446] = 503;
    var$2[447] = 9;
    var$2[448] = 15;
    var$2[449] = 9;
    var$2[450] = 271;
    var$2[451] = 9;
    var$2[452] = 143;
    var$2[453] = 9;
    var$2[454] = 399;
    var$2[455] = 9;
    var$2[456] = 79;
    var$2[457] = 9;
    var$2[458] = 335;
    var$2[459] = 9;
    var$2[460] = 207;
    var$2[461] = 9;
    var$2[462] = 463;
    var$2[463] = 9;
    var$2[464] = 47;
    var$2[465] = 9;
    var$2[466] = 303;
    var$2[467] = 9;
    var$2[468] = 175;
    var$2[469] = 9;
    var$2[470] = 431;
    var$2[471] = 9;
    var$2[472] = 111;
    var$2[473] = 9;
    var$2[474] = 367;
    var$2[475] = 9;
    var$2[476] = 239;
    var$2[477] = 9;
    var$2[478] = 495;
    var$2[479] = 9;
    var$2[480] = 31;
    var$2[481] = 9;
    var$2[482] = 287;
    var$2[483] = 9;
    var$2[484] = 159;
    var$2[485] = 9;
    var$2[486] = 415;
    var$2[487] = 9;
    var$2[488] = 95;
    var$2[489] = 9;
    var$2[490] = 351;
    var$2[491] = 9;
    var$2[492] = 223;
    var$2[493] = 9;
    var$2[494] = 479;
    var$2[495] = 9;
    var$2[496] = 63;
    var$2[497] = 9;
    var$2[498] = 319;
    var$2[499] = 9;
    var$2[500] = 191;
    var$2[501] = 9;
    var$2[502] = 447;
    var$2[503] = 9;
    var$2[504] = 127;
    var$2[505] = 9;
    var$2[506] = 383;
    var$2[507] = 9;
    var$2[508] = 255;
    var$2[509] = 9;
    var$2[510] = 511;
    var$2[511] = 9;
    var$2[512] = 0;
    var$2[513] = 7;
    var$2[514] = 64;
    var$2[515] = 7;
    var$2[516] = 32;
    var$2[517] = 7;
    var$2[518] = 96;
    var$2[519] = 7;
    var$2[520] = 16;
    var$2[521] = 7;
    var$2[522] = 80;
    var$2[523] = 7;
    var$2[524] = 48;
    var$2[525] = 7;
    var$2[526] = 112;
    var$2[527] = 7;
    var$2[528] = 8;
    var$2[529] = 7;
    var$2[530] = 72;
    var$2[531] = 7;
    var$2[532] = 40;
    var$2[533] = 7;
    var$2[534] = 104;
    var$2[535] = 7;
    var$2[536] = 24;
    var$2[537] = 7;
    var$2[538] = 88;
    var$2[539] = 7;
    var$2[540] = 56;
    var$2[541] = 7;
    var$2[542] = 120;
    var$2[543] = 7;
    var$2[544] = 4;
    var$2[545] = 7;
    var$2[546] = 68;
    var$2[547] = 7;
    var$2[548] = 36;
    var$2[549] = 7;
    var$2[550] = 100;
    var$2[551] = 7;
    var$2[552] = 20;
    var$2[553] = 7;
    var$2[554] = 84;
    var$2[555] = 7;
    var$2[556] = 52;
    var$2[557] = 7;
    var$2[558] = 116;
    var$2[559] = 7;
    var$2[560] = 3;
    var$2[561] = 8;
    var$2[562] = 131;
    var$2[563] = 8;
    var$2[564] = 67;
    var$2[565] = 8;
    var$2[566] = 195;
    var$2[567] = 8;
    var$2[568] = 35;
    var$2[569] = 8;
    var$2[570] = 163;
    var$2[571] = 8;
    var$2[572] = 99;
    var$2[573] = 8;
    var$2[574] = 227;
    var$2[575] = 8;
    $java.cjj_StaticTree_static_ltree = var$1;
    var$1 = $rt_createShortArray(60);
    var$2 = var$1.data;
    var$2[0] = 0;
    var$2[1] = 5;
    var$2[2] = 16;
    var$2[3] = 5;
    var$2[4] = 8;
    var$2[5] = 5;
    var$2[6] = 24;
    var$2[7] = 5;
    var$2[8] = 4;
    var$2[9] = 5;
    var$2[10] = 20;
    var$2[11] = 5;
    var$2[12] = 12;
    var$2[13] = 5;
    var$2[14] = 28;
    var$2[15] = 5;
    var$2[16] = 2;
    var$2[17] = 5;
    var$2[18] = 18;
    var$2[19] = 5;
    var$2[20] = 10;
    var$2[21] = 5;
    var$2[22] = 26;
    var$2[23] = 5;
    var$2[24] = 6;
    var$2[25] = 5;
    var$2[26] = 22;
    var$2[27] = 5;
    var$2[28] = 14;
    var$2[29] = 5;
    var$2[30] = 30;
    var$2[31] = 5;
    var$2[32] = 1;
    var$2[33] = 5;
    var$2[34] = 17;
    var$2[35] = 5;
    var$2[36] = 9;
    var$2[37] = 5;
    var$2[38] = 25;
    var$2[39] = 5;
    var$2[40] = 5;
    var$2[41] = 5;
    var$2[42] = 21;
    var$2[43] = 5;
    var$2[44] = 13;
    var$2[45] = 5;
    var$2[46] = 29;
    var$2[47] = 5;
    var$2[48] = 3;
    var$2[49] = 5;
    var$2[50] = 19;
    var$2[51] = 5;
    var$2[52] = 11;
    var$2[53] = 5;
    var$2[54] = 27;
    var$2[55] = 5;
    var$2[56] = 7;
    var$2[57] = 5;
    var$2[58] = 23;
    var$2[59] = 5;
    $java.cjj_StaticTree_static_dtree = var$1;
    $java.cjj_StaticTree_static_l_desc = $java.cjj_StaticTree__init_($java.cjj_StaticTree_static_ltree, $java.cjj_Tree_extra_lbits, 257, 286, 15);
    $java.cjj_StaticTree_static_d_desc = $java.cjj_StaticTree__init_($java.cjj_StaticTree_static_dtree, $java.cjj_Tree_extra_dbits, 0, 30, 15);
    $java.cjj_StaticTree_static_bl_desc = $java.cjj_StaticTree__init_(null, $java.cjj_Tree_extra_blbits, 0, 19, 7);
};
$rt_packages([-1, "com", 0, "jcraft", 1, "jzlib", 0, "sun", 3, "media", 4, "sound", -1, "java", 6, "security", 6, "util", 8, "regex", 8, "stream", 8, "function", 8, "concurrent", 12, "atomic", 6, "nio", 14, "charset", 15, "impl", 6, "io", 6, "math", 6, "text", 6, "net", 20, "impl", 6, "lang", 22, "annotation", 22, "reflect", -1, "javax", 25, "sound", 26, "midi", 27, "spi", 26, "sampled", 29, "spi", -1, "org", 31, "bouncycastle", 32, "crypto", 31, "teavm", 34, "jso", 35, "core", 35, "impl", 35, "canvas", 35,
"dom", 39, "css", 39, "xml", 39, "html", 39, "events", 35, "webgl", 35, "websocket", 35, "browser", 35, "media", 35, "typedarrays", 35, "webaudio", 35, "ajax", 34, "interop", 34, "classlib", 52, "impl", 53, "reflection", 53, "tz", 53, "unicode", 53, "currency", 53, "text", 52, "fs", 59, "memory", 34, "runtime", 34, "platform", 62, "metadata", 62, "plugin", 31, "json", -1, "me", 66, "ayunami2000", 67, "ayuncraft", 68, "tmi", 68, "java", 70, "security", 71, "spec", 68, "nbsapi", 68, "javax", 74, "crypto", 75,
"spec", -1, "net", 77, "minecraft", 78, "src", 78, "client", 77, "lax1dude", 81, "eaglercraft", 82, "adapter", 83, "teavm", 82, "glemu", 85, "vector"
]);
$rt_metadata([jl_Object, "Object", 22, 0, [], 0, 3, 0, ["$hashCode0", function() { return jl_Object_hashCode(this); }, "$equals", function(var_1) { return jl_Object_equals(this, var_1); }, "$toString", function() { return jl_Object_toString(this); }],
nle_Client, "Client", 82, jl_Object, [], 0, 3, 0, 0,
jlr_AnnotatedElement, "AnnotatedElement", 24, jl_Object, [], 3, 3, 0, 0,
jl_Class, "Class", 22, jl_Object, [jlr_AnnotatedElement], 0, 3, 0, 0,
otji_JS, "JS", 37, jl_Object, [], 4, 0, 0, 0,
otp_Platform, "Platform", 62, jl_Object, [], 4, 3, 0, 0,
ji_Serializable, "Serializable", 17, jl_Object, [], 3, 3, 0, 0,
jl_Comparable, "Comparable", 22, jl_Object, [], 3, 3, 0, 0,
jl_CharSequence, "CharSequence", 22, jl_Object, [], 3, 3, 0, 0,
jl_String, "String", 22, jl_Object, [ji_Serializable, jl_Comparable, jl_CharSequence], 0, 3, 0, ["$charAt", function(var_1) { return jl_String_charAt(this, var_1); }, "$length", function() { return jl_String_length(this); }, "$toString", function() { return jl_String_toString(this); }, "$equals", function(var_1) { return jl_String_equals(this, var_1); }, "$hashCode0", function() { return jl_String_hashCode(this); }, "$compareTo7", function(var_1) { return jl_String_compareTo0(this, var_1); }],
jl_Throwable, "Throwable", 22, jl_Object, [], 0, 3, 0, ["$getMessage", function() { return jl_Throwable_getMessage(this); }, "$toString", function() { return jl_Throwable_toString(this); }],
jl_Error, "Error", 22, jl_Throwable, [], 0, 3, 0, 0,
jl_LinkageError, "LinkageError", 22, jl_Error, [], 0, 3, 0, 0,
jl_NoClassDefFoundError, "NoClassDefFoundError", 22, jl_LinkageError, [], 0, 3, 0, 0,
jl_AbstractStringBuilder, "AbstractStringBuilder", 22, jl_Object, [ji_Serializable, jl_CharSequence], 0, 0, 0, ["$ensureCapacity", function(var_1) { jl_AbstractStringBuilder_ensureCapacity(this, var_1); }, "$toString", function() { return jl_AbstractStringBuilder_toString(this); }],
jl_Appendable, "Appendable", 22, jl_Object, [], 3, 3, 0, 0,
jl_StringBuilder, "StringBuilder", 22, jl_AbstractStringBuilder, [jl_Appendable], 0, 3, 0, ["$insert4", function(var_1, var_2, var_3, var_4) { return jl_StringBuilder_insert7(this, var_1, var_2, var_3, var_4); }, "$append8", function(var_1, var_2, var_3) { return jl_StringBuilder_append10(this, var_1, var_2, var_3); }, "$insert3", function(var_1, var_2, var_3, var_4) { return jl_StringBuilder_insert8(this, var_1, var_2, var_3, var_4); }, "$append7", function(var_1, var_2, var_3) { return jl_StringBuilder_append11(this,
var_1, var_2, var_3); }, "$charAt", function(var_1) { return jl_StringBuilder_charAt(this, var_1); }, "$length", function() { return jl_StringBuilder_length(this); }, "$toString", function() { return jl_StringBuilder_toString(this); }, "$ensureCapacity", function(var_1) { jl_StringBuilder_ensureCapacity(this, var_1); }, "$insert2", function(var_1, var_2) { return jl_StringBuilder_insert9(this, var_1, var_2); }, "$insert1", function(var_1, var_2) { return jl_StringBuilder_insert10(this, var_1, var_2); }, "$insert",
function(var_1, var_2) { return jl_StringBuilder_insert14(this, var_1, var_2); }],
jl_Number, "Number", 22, jl_Object, [ji_Serializable], 1, 3, 0, 0,
jl_Integer, "Integer", 22, jl_Number, [jl_Comparable], 0, 3, 0, ["$intValue", function() { return jl_Integer_intValue(this); }, "$longValue", function() { return jl_Integer_longValue(this); }, "$doubleValue", function() { return jl_Integer_doubleValue(this); }, "$toString", function() { return jl_Integer_toString0(this); }, "$hashCode0", function() { return jl_Integer_hashCode(this); }, "$equals", function(var_1) { return jl_Integer_equals(this, var_1); }, "$compareTo7", function(var_1) { return jl_Integer_compareTo0(this,
var_1); }],
jl_IncompatibleClassChangeError, "IncompatibleClassChangeError", 22, jl_LinkageError, [], 0, 3, 0, 0,
jl_NoSuchFieldError, "NoSuchFieldError", 22, jl_IncompatibleClassChangeError, [], 0, 3, 0, 0,
jl_NoSuchMethodError, "NoSuchMethodError", 22, jl_IncompatibleClassChangeError, [], 0, 3, 0, 0,
jl_Exception, "Exception", 22, jl_Throwable, [], 0, 3, 0, 0,
jl_RuntimeException, "RuntimeException", 22, jl_Exception, [], 0, 3, 0, 0,
otj_JSObject, "JSObject", 35, jl_Object, [], 3, 3, 0, 0,
otjde_EventTarget, "EventTarget", 43, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjde_FocusEventTarget, "FocusEventTarget", 43, jl_Object, [otjde_EventTarget], 3, 3, 0, 0,
otjde_MouseEventTarget, "MouseEventTarget", 43, jl_Object, [otjde_EventTarget], 3, 3, 0, 0,
otjde_KeyboardEventTarget, "KeyboardEventTarget", 43, jl_Object, [otjde_EventTarget], 3, 3, 0, 0,
otjde_LoadEventTarget, "LoadEventTarget", 43, jl_Object, [otjde_EventTarget], 3, 3, 0, 0,
otjb_WindowEventTarget, "WindowEventTarget", 46, jl_Object, [otjde_EventTarget, otjde_FocusEventTarget, otjde_MouseEventTarget, otjde_KeyboardEventTarget, otjde_LoadEventTarget], 3, 3, 0, 0,
otjb_StorageProvider, "StorageProvider", 46, jl_Object, [], 3, 3, 0, 0,
otjc_JSArrayReader, "JSArrayReader", 36, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjb_Window, "Window", 46, jl_Object, [otj_JSObject, otjb_WindowEventTarget, otjb_StorageProvider, otjc_JSArrayReader], 1, 3, 0, ["$addEventListener$exported$0", function(var_1, var_2) { return otjb_Window_addEventListener$exported$0(this, var_1, var_2); }, "$removeEventListener$exported$1", function(var_1, var_2) { return otjb_Window_removeEventListener$exported$1(this, var_1, var_2); }, "$get$exported$2", function(var_1) { return otjb_Window_get$exported$2(this, var_1); }, "$removeEventListener$exported$3",
function(var_1, var_2, var_3) { return otjb_Window_removeEventListener$exported$3(this, var_1, var_2, var_3); }, "$dispatchEvent$exported$4", function(var_1) { return otjb_Window_dispatchEvent$exported$4(this, var_1); }, "$getLength$exported$5", function() { return otjb_Window_getLength$exported$5(this); }, "$addEventListener$exported$6", function(var_1, var_2, var_3) { return otjb_Window_addEventListener$exported$6(this, var_1, var_2, var_3); }],
nlea_EaglerAdapterImpl2, "EaglerAdapterImpl2", 83, jl_Object, [], 0, 3, nlea_EaglerAdapterImpl2_$callClinit, 0,
nle_LocalStorageManager, "LocalStorageManager", 82, jl_Object, [], 0, 3, 0, 0,
nms_ServerList, "ServerList", 79, jl_Object, [], 0, 3, 0, 0,
otci_IntegerUtil, "IntegerUtil", 53, jl_Object, [], 4, 3, 0, 0,
otjc_JSString, "JSString", 36, jl_Object, [otj_JSObject], 1, 3, 0, 0,
otjde_EventListener, "EventListener", 43, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nlea_EaglerAdapterImpl2$2, "EaglerAdapterImpl2$2", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$2_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$3, "EaglerAdapterImpl2$3", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$3_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$4, "EaglerAdapterImpl2$4", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$4_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$5, "EaglerAdapterImpl2$5", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$5_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$6, "EaglerAdapterImpl2$6", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$6_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$7, "EaglerAdapterImpl2$7", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$7_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$8, "EaglerAdapterImpl2$8", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$8_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$9, "EaglerAdapterImpl2$9", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$9_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$10, "EaglerAdapterImpl2$10", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$10_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$11, "EaglerAdapterImpl2$11", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$11_handleEvent$exported$0(this, var_1); }]]);
$rt_metadata([nle_EarlyLoadScreen, "EarlyLoadScreen", 82, jl_Object, [], 0, 3, 0, 0,
otjw_AudioContext, "AudioContext", 49, jl_Object, [otj_JSObject], 1, 3, 0, 0,
otjb_TimerHandler, "TimerHandler", 46, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nlea_EaglerAdapterImpl2$12, "EaglerAdapterImpl2$12", 83, jl_Object, [otjb_TimerHandler], 4, 0, 0, ["$onTimer$exported$0", function() { return nlea_EaglerAdapterImpl2$12_onTimer$exported$0(this); }],
jl_Runnable, "Runnable", 22, jl_Object, [], 3, 3, 0, 0,
jl_Thread, "Thread", 22, jl_Object, [jl_Runnable], 0, 3, 0, 0,
jl_InterruptedException, "InterruptedException", 22, jl_Exception, [], 0, 3, 0, 0,
nle_AssetRepository, "AssetRepository", 82, jl_Object, [], 0, 3, 0, 0,
ji_IOException, "IOException", 17, jl_Exception, [], 0, 3, 0, 0,
nleg_EaglerAdapterGL30, "EaglerAdapterGL30", 85, nlea_EaglerAdapterImpl2, [], 0, 3, nleg_EaglerAdapterGL30_$callClinit, 0,
nle_EaglerAdapter, "EaglerAdapter", 82, nleg_EaglerAdapterGL30, [], 0, 3, 0, 0,
nms_CompressedStreamTools, "CompressedStreamTools", 79, jl_Object, [], 0, 3, 0, 0,
nms_NBTBase, "NBTBase", 79, jl_Object, [], 1, 3, 0, ["$equals", function(var_1) { return nms_NBTBase_equals(this, var_1); }, "$hashCode0", function() { return nms_NBTBase_hashCode(this); }],
nms_NBTTagCompound, "NBTTagCompound", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagCompound_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagCompound_load(this, var_1); }, "$getId", function() { return nms_NBTTagCompound_getId(this); }, "$toString", function() { return nms_NBTTagCompound_toString(this); }, "$copy", function() { return nms_NBTTagCompound_copy(this); }, "$equals", function(var_1) { return nms_NBTTagCompound_equals(this, var_1); }, "$hashCode0", function() {
return nms_NBTTagCompound_hashCode(this); }],
nle_BaseNCodec, "BaseNCodec", 82, jl_Object, [], 1, 3, 0, 0,
nle_Base64, "Base64", 82, nle_BaseNCodec, [], 0, 3, 0, 0,
nle_ConfigConstants, "ConfigConstants", 82, jl_Object, [], 0, 3, 0, 0,
nms_ServerData, "ServerData", 79, jl_Object, [], 0, 3, 0, ["$hashCode0", function() { return nms_ServerData_hashCode(this); }, "$equals", function(var_1) { return nms_ServerData_equals(this, var_1); }],
jl_System, "System", 22, jl_Object, [], 4, 3, 0, 0,
nmc_Minecraft, "Minecraft", 80, jl_Object, [jl_Runnable], 0, 3, 0, 0,
ju_Comparator, "Comparator", 8, jl_Object, [], 3, 3, 0, 0,
jl_String$_clinit_$lambda$_81_0, "String$<clinit>$lambda$_81_0", 22, jl_Object, [ju_Comparator], 0, 3, 0, 0,
jl_Character, "Character", 22, jl_Object, [jl_Comparable], 0, 3, 0, ["$toString", function() { return jl_Character_toString(this); }, "$equals", function(var_1) { return jl_Character_equals(this, var_1); }, "$hashCode0", function() { return jl_Character_hashCode(this); }, "$compareTo7", function(var_1) { return jl_Character_compareTo0(this, var_1); }],
jl_Iterable, "Iterable", 22, jl_Object, [], 3, 3, 0, 0,
ju_Collection, "Collection", 8, jl_Object, [jl_Iterable], 3, 3, 0, 0,
ju_AbstractCollection, "AbstractCollection", 8, jl_Object, [ju_Collection], 1, 3, 0, ["$contains", function(var_1) { return ju_AbstractCollection_contains(this, var_1); }, "$remove1", function(var_1) { return ju_AbstractCollection_remove(this, var_1); }, "$toString", function() { return ju_AbstractCollection_toString(this); }],
ju_List, "List", 8, jl_Object, [ju_Collection], 3, 3, 0, 0,
ju_AbstractList, "AbstractList", 8, ju_AbstractCollection, [ju_List], 1, 3, 0, ["$add", function(var_1) { return ju_AbstractList_add(this, var_1); }, "$iterator", function() { return ju_AbstractList_iterator(this); }, "$add0", function(var_1, var_2) { ju_AbstractList_add0(this, var_1, var_2); }, "$remove0", function(var_1) { return ju_AbstractList_remove(this, var_1); }, "$hashCode0", function() { return ju_AbstractList_hashCode(this); }, "$equals", function(var_1) { return ju_AbstractList_equals(this, var_1);
}],
ju_AbstractSequentialList, "AbstractSequentialList", 8, ju_AbstractList, [], 1, 3, 0, ["$add0", function(var_1, var_2) { ju_AbstractSequentialList_add(this, var_1, var_2); }],
ju_Queue, "Queue", 8, jl_Object, [ju_Collection], 3, 3, 0, 0,
ju_Deque, "Deque", 8, jl_Object, [ju_Queue], 3, 3, 0, 0,
ju_LinkedList, "LinkedList", 8, ju_AbstractSequentialList, [ju_Deque], 0, 3, 0, ["$size0", function() { return ju_LinkedList_size(this); }],
otjt_ArrayBuffer, "ArrayBuffer", 48, jl_Object, [otj_JSObject], 1, 3, 0, 0,
otjt_ArrayBufferView, "ArrayBufferView", 48, jl_Object, [otj_JSObject], 1, 3, 0, 0,
otjt_Uint8Array, "Uint8Array", 48, otjt_ArrayBufferView, [], 1, 3, 0, 0,
otjt_Float32Array, "Float32Array", 48, otjt_ArrayBufferView, [], 1, 3, 0, 0,
ju_Map, "Map", 8, jl_Object, [], 3, 3, 0, 0,
ju_AbstractMap, "AbstractMap", 8, jl_Object, [ju_Map], 1, 3, 0, ["$equals", function(var_1) { return ju_AbstractMap_equals(this, var_1); }, "$hashCode0", function() { return ju_AbstractMap_hashCode(this); }],
jl_Cloneable, "Cloneable", 22, jl_Object, [], 3, 3, 0, 0,
ju_HashMap, "HashMap", 8, ju_AbstractMap, [jl_Cloneable, ji_Serializable], 0, 3, 0, ["$newElementArray", function(var_1) { return ju_HashMap_newElementArray(this, var_1); }, "$entrySet", function() { return ju_HashMap_entrySet(this); }, "$putImpl", function(var_1, var_2) { return ju_HashMap_putImpl(this, var_1, var_2); }, "$createHashedEntry", function(var_1, var_2, var_3) { return ju_HashMap_createHashedEntry(this, var_1, var_2, var_3); }],
jt_Format, "Format", 19, jl_Object, [ji_Serializable, jl_Cloneable], 1, 3, 0, 0,
jt_DateFormat, "DateFormat", 19, jt_Format, [], 1, 3, 0, ["$format2", function(var_1, var_2, var_3) { return jt_DateFormat_format0(this, var_1, var_2, var_3); }],
jt_SimpleDateFormat, "SimpleDateFormat", 19, jt_DateFormat, [], 0, 3, 0, ["$equals", function(var_1) { return jt_SimpleDateFormat_equals(this, var_1); }, "$hashCode0", function() { return jt_SimpleDateFormat_hashCode(this); }],
ju_Set, "Set", 8, jl_Object, [ju_Collection], 3, 3, 0, 0,
ju_AbstractSet, "AbstractSet", 8, ju_AbstractCollection, [ju_Set], 1, 3, 0, ["$equals", function(var_1) { return ju_AbstractSet_equals(this, var_1); }, "$hashCode0", function() { return ju_AbstractSet_hashCode(this); }],
ju_HashSet, "HashSet", 8, ju_AbstractSet, [jl_Cloneable, ji_Serializable], 0, 3, 0, ["$add", function(var_1) { return ju_HashSet_add(this, var_1); }, "$contains", function(var_1) { return ju_HashSet_contains(this, var_1); }, "$iterator", function() { return ju_HashSet_iterator(this); }, "$size0", function() { return ju_HashSet_size(this); }],
otjt_Int32Array, "Int32Array", 48, otjt_ArrayBufferView, [], 1, 3, 0, 0,
nms_GLAllocation, "GLAllocation", 79, jl_Object, [], 0, 3, 0, 0,
nle_EaglerImage, "EaglerImage", 82, jl_Object, [], 0, 3, 0, 0,
jl_Float, "Float", 22, jl_Number, [jl_Comparable], 0, 3, 0, ["$intValue", function() { return jl_Float_intValue(this); }, "$longValue", function() { return jl_Float_longValue(this); }, "$doubleValue", function() { return jl_Float_doubleValue(this); }, "$toString", function() { return jl_Float_toString(this); }, "$equals", function(var_1) { return jl_Float_equals(this, var_1); }, "$hashCode0", function() { return jl_Float_hashCode(this); }, "$compareTo7", function(var_1) { return jl_Float_compareTo0(this, var_1);
}]]);
$rt_metadata([oti_AsyncCallback, "AsyncCallback", 51, jl_Object, [], 3, 3, 0, 0,
otpp_AsyncCallbackWrapper, "AsyncCallbackWrapper", 64, jl_Object, [oti_AsyncCallback], 0, 0, 0, ["$complete", function(var_1) { otpp_AsyncCallbackWrapper_complete(this, var_1); }, "$error", function(var_1) { otpp_AsyncCallbackWrapper_error(this, var_1); }],
otja_XMLHttpRequest, "XMLHttpRequest", 50, jl_Object, [otj_JSObject], 1, 3, 0, 0,
otja_ReadyStateChangeHandler, "ReadyStateChangeHandler", 50, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nlea_EaglerAdapterImpl2$1, "EaglerAdapterImpl2$1", 83, jl_Object, [otja_ReadyStateChangeHandler], 4, 0, 0, ["$stateChanged$exported$0", function() { return nlea_EaglerAdapterImpl2$1_stateChanged$exported$0(this); }],
otp_PlatformRunnable, "PlatformRunnable", 62, jl_Object, [], 3, 3, 0, 0,
otr_EventQueue$Event, "EventQueue$Event", 61, jl_Object, [], 3, 3, 0, 0,
jl_ThreadInterruptHandler, "ThreadInterruptHandler", 22, jl_Object, [], 3, 3, 0, 0,
jl_Thread$SleepHandler, "Thread$SleepHandler", 22, jl_Object, [otp_PlatformRunnable, otr_EventQueue$Event, jl_ThreadInterruptHandler], 0, 0, 0, ["$run", function() { jl_Thread$SleepHandler_run(this); }],
jl_AutoCloseable, "AutoCloseable", 22, jl_Object, [], 3, 3, 0, 0,
ji_Closeable, "Closeable", 17, jl_Object, [jl_AutoCloseable], 3, 3, 0, 0,
ji_InputStream, "InputStream", 17, jl_Object, [ji_Closeable], 1, 3, 0, ["$read", function(var_1) { return ji_InputStream_read(this, var_1); }, "$read1", function(var_1, var_2, var_3) { return ji_InputStream_read0(this, var_1, var_2, var_3); }, "$skip", function(var_1) { return ji_InputStream_skip(this, var_1); }, "$close", function() { ji_InputStream_close(this); }, "$mark0", function(var_1) { ji_InputStream_mark(this, var_1); }, "$reset", function() { ji_InputStream_reset(this); }],
ji_ByteArrayInputStream, "ByteArrayInputStream", 17, ji_InputStream, [], 0, 3, 0, ["$read2", function() { return ji_ByteArrayInputStream_read(this); }, "$read1", function(var_1, var_2, var_3) { return ji_ByteArrayInputStream_read0(this, var_1, var_2, var_3); }, "$skip", function(var_1) { return ji_ByteArrayInputStream_skip(this, var_1); }, "$available", function() { return ji_ByteArrayInputStream_available(this); }, "$mark0", function(var_1) { ji_ByteArrayInputStream_mark(this, var_1); }, "$reset", function()
{ ji_ByteArrayInputStream_reset(this); }, "$close", function() { ji_ByteArrayInputStream_close(this); }],
ji_FilterInputStream, "FilterInputStream", 17, ji_InputStream, [], 0, 3, 0, ["$read", function(var_1) { return ji_FilterInputStream_read0(this, var_1); }],
ji_DataInput, "DataInput", 17, jl_Object, [], 3, 3, 0, 0,
ji_DataInputStream, "DataInputStream", 17, ji_FilterInputStream, [ji_DataInput], 0, 3, 0, 0,
jnc_Charset, "Charset", 15, jl_Object, [jl_Comparable], 1, 3, 0, ["$compareTo7", function(var_1) { return jnc_Charset_compareTo0(this, var_1); }],
cjj_InflaterInputStream, "InflaterInputStream", 2, ji_FilterInputStream, [], 0, 3, 0, ["$read2", function() { return cjj_InflaterInputStream_read(this); }, "$read1", function(var_1, var_2, var_3) { return cjj_InflaterInputStream_read0(this, var_1, var_2, var_3); }, "$available", function() { return cjj_InflaterInputStream_available(this); }, "$skip", function(var_1) { return cjj_InflaterInputStream_skip(this, var_1); }, "$close", function() { cjj_InflaterInputStream_close(this); }, "$mark0", function(var_1)
{ cjj_InflaterInputStream_mark(this, var_1); }, "$reset", function() { cjj_InflaterInputStream_reset(this); }],
nle_GeneralDigest, "GeneralDigest", 82, jl_Object, [], 1, 3, 0, 0,
nle_SHA1Digest, "SHA1Digest", 82, nle_GeneralDigest, [], 0, 3, 0, 0,
ju_Arrays, "Arrays", 8, jl_Object, [], 0, 3, 0, 0,
ji_BufferedInputStream, "BufferedInputStream", 17, ji_FilterInputStream, [], 0, 3, 0, ["$available", function() { return ji_BufferedInputStream_available(this); }, "$close", function() { ji_BufferedInputStream_close(this); }, "$mark0", function(var_1) { ji_BufferedInputStream_mark(this, var_1); }, "$read2", function() { return ji_BufferedInputStream_read(this); }, "$read1", function(var_1, var_2, var_3) { return ji_BufferedInputStream_read0(this, var_1, var_2, var_3); }, "$reset", function() { ji_BufferedInputStream_reset(this);
}, "$skip", function(var_1) { return ji_BufferedInputStream_skip(this, var_1); }],
ju_RandomAccess, "RandomAccess", 8, jl_Object, [], 3, 3, 0, 0,
ju_ArrayList, "ArrayList", 8, ju_AbstractList, [jl_Cloneable, ji_Serializable, ju_RandomAccess], 0, 3, 0, ["$get5", function(var_1) { return ju_ArrayList_get(this, var_1); }, "$size0", function() { return ju_ArrayList_size(this); }, "$set3", function(var_1, var_2) { return ju_ArrayList_set(this, var_1, var_2); }, "$add", function(var_1) { return ju_ArrayList_add(this, var_1); }, "$add0", function(var_1, var_2) { ju_ArrayList_add0(this, var_1, var_2); }, "$remove0", function(var_1) { return ju_ArrayList_remove(this,
var_1); }, "$remove1", function(var_1) { return ju_ArrayList_remove0(this, var_1); }],
nms_NBTTagList, "NBTTagList", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagList_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagList_load(this, var_1); }, "$getId", function() { return nms_NBTTagList_getId(this); }, "$toString", function() { return nms_NBTTagList_toString(this); }, "$copy", function() { return nms_NBTTagList_copy(this); }, "$equals", function(var_1) { return nms_NBTTagList_equals(this, var_1); }, "$hashCode0", function() { return nms_NBTTagList_hashCode(this);
}],
ji_Flushable, "Flushable", 17, jl_Object, [], 3, 3, 0, 0,
ji_OutputStream, "OutputStream", 17, jl_Object, [ji_Closeable, ji_Flushable], 1, 3, 0, ["$write1", function(var_1, var_2, var_3) { ji_OutputStream_write0(this, var_1, var_2, var_3); }, "$close", function() { ji_OutputStream_close(this); }, "$flush", function() { ji_OutputStream_flush(this); }],
ji_FilterOutputStream, "FilterOutputStream", 17, ji_OutputStream, [], 0, 3, 0, 0,
ji_PrintStream, "PrintStream", 17, ji_FilterOutputStream, [], 0, 3, 0, 0,
jl_ConsoleOutputStreamStdout, "ConsoleOutputStreamStdout", 22, ji_OutputStream, [], 0, 0, 0, ["$write2", function(var_1) { jl_ConsoleOutputStreamStdout_write(this, var_1); }],
nms_Timer, "Timer", 79, jl_Object, [], 0, 3, 0, 0,
nms_SoundManager, "SoundManager", 79, jl_Object, [], 0, 3, 0, 0,
nms_Profiler, "Profiler", 79, jl_Object, [], 0, 3, 0, 0,
nms_Packet, "Packet", 79, jl_Object, [], 1, 3, nms_Packet_$callClinit, 0,
nms_Packet3Chat, "Packet3Chat", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { nms_Packet3Chat_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { nms_Packet3Chat_writePacketData(this, var_1); }, "$processPacket", function(var_1) { nms_Packet3Chat_processPacket(this, var_1); }, "$getPacketSize", function() { return nms_Packet3Chat_getPacketSize(this); }],
nle_EaglerProfile, "EaglerProfile", 82, jl_Object, [], 0, 3, nle_EaglerProfile_$callClinit, 0,
ju_Locale, "Locale", 8, jl_Object, [jl_Cloneable, ji_Serializable], 4, 3, 0, ["$equals", function(var_1) { return ju_Locale_equals(this, var_1); }, "$hashCode0", function() { return ju_Locale_hashCode(this); }],
nlea_EaglerAdapterImpl2$TextureGL, "EaglerAdapterImpl2$TextureGL", 83, jl_Object, [], 4, 3, 0, 0,
jn_Buffer, "Buffer", 14, jl_Object, [], 1, 3, 0, 0,
jn_IntBuffer, "IntBuffer", 14, jn_Buffer, [jl_Comparable], 1, 3, 0, 0,
nlea_EaglerAdapterImpl2$BufferGL, "EaglerAdapterImpl2$BufferGL", 83, jl_Object, [], 4, 3, 0, 0,
nlea_EaglerAdapterImpl2$ShaderGL, "EaglerAdapterImpl2$ShaderGL", 83, jl_Object, [], 4, 3, 0, 0,
nlea_EaglerAdapterImpl2$ProgramGL, "EaglerAdapterImpl2$ProgramGL", 83, jl_Object, [], 4, 3, 0, 0,
nlea_EaglerAdapterImpl2$UniformGL, "EaglerAdapterImpl2$UniformGL", 83, jl_Object, [], 4, 3, 0, 0,
nlea_EaglerAdapterImpl2$BufferArrayGL, "EaglerAdapterImpl2$BufferArrayGL", 83, jl_Object, [], 4, 3, 0, 0,
jnc_Charset$Charsets, "Charset$Charsets", 15, jl_Object, [], 0, 0, 0, 0,
jl_IllegalArgumentException, "IllegalArgumentException", 22, jl_RuntimeException, [], 0, 3, 0, 0,
jnc_UnsupportedCharsetException, "UnsupportedCharsetException", 15, jl_IllegalArgumentException, [], 0, 3, 0, 0,
jur_Pattern, "Pattern", 9, jl_Object, [ji_Serializable], 4, 3, 0, 0,
jnci_UTF8Charset, "UTF8Charset", 16, jnc_Charset, [], 0, 3, 0, 0]);
$rt_metadata([nle_EaglercraftRandom, "EaglercraftRandom", 82, jl_Object, [], 0, 3, 0, 0,
jt_DateFormatSymbols, "DateFormatSymbols", 19, jl_Object, [ji_Serializable, jl_Cloneable], 0, 3, 0, 0,
nlea_EaglerAdapterImpl2$13, "EaglerAdapterImpl2$13", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$13_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$14, "EaglerAdapterImpl2$14", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return nlea_EaglerAdapterImpl2$14_handleEvent$exported$0(this, var_1); }],
jn_ByteBuffer, "ByteBuffer", 14, jn_Buffer, [jl_Comparable], 1, 3, 0, ["$toString", function() { return jn_ByteBuffer_toString(this); }, "$hashCode0", function() { return jn_ByteBuffer_hashCode(this); }, "$equals", function(var_1) { return jn_ByteBuffer_equals(this, var_1); }, "$compareTo7", function(var_1) { return jn_ByteBuffer_compareTo0(this, var_1); }],
jn_ByteOrder, "ByteOrder", 14, jl_Object, [], 4, 3, 0, 0,
jnc_IllegalCharsetNameException, "IllegalCharsetNameException", 15, jl_IllegalArgumentException, [], 0, 3, 0, 0,
cjj_ZStream, "ZStream", 2, jl_Object, [], 128, 3, 0, 0,
cjj_Inflater, "Inflater", 2, cjj_ZStream, [], 4, 3, 0, 0,
nms_NBTTagEnd, "NBTTagEnd", 79, nms_NBTBase, [], 0, 3, 0, ["$load0", function(var_1) { nms_NBTTagEnd_load(this, var_1); }, "$write0", function(var_1) { nms_NBTTagEnd_write(this, var_1); }, "$getId", function() { return nms_NBTTagEnd_getId(this); }, "$toString", function() { return nms_NBTTagEnd_toString(this); }, "$copy", function() { return nms_NBTTagEnd_copy(this); }],
otjb_Performance, "Performance", 46, jl_Object, [otj_JSObject], 4, 3, 0, 0,
nms_Gui, "Gui", 79, jl_Object, [], 0, 3, 0, 0,
nms_GuiScreen, "GuiScreen", 79, nms_Gui, [], 0, 3, nms_GuiScreen_$callClinit, ["$keyTyped", function(var_1, var_2) { nms_GuiScreen_keyTyped(this, var_1, var_2); }, "$mouseClicked", function(var_1, var_2, var_3) { nms_GuiScreen_mouseClicked(this, var_1, var_2, var_3); }, "$mouseMovedOrUp", function(var_1, var_2, var_3) { nms_GuiScreen_mouseMovedOrUp(this, var_1, var_2, var_3); }, "$func_85041_a", function(var_1, var_2, var_3, var_4) { nms_GuiScreen_func_85041_a(this, var_1, var_2, var_3, var_4); }, "$actionPerformed",
function(var_1) { nms_GuiScreen_actionPerformed(this, var_1); }, "$initGui", function() { nms_GuiScreen_initGui(this); }, "$handleMouseInput", function() { nms_GuiScreen_handleMouseInput(this); }, "$updateScreen", function() { nms_GuiScreen_updateScreen(this); }, "$onGuiClosed", function() { nms_GuiScreen_onGuiClosed(this); }],
nle_GuiScreenEditProfile, "GuiScreenEditProfile", 82, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { nle_GuiScreenEditProfile_initGui(this); }, "$drawScreen", function(var_1, var_2, var_3) { nle_GuiScreenEditProfile_drawScreen(this, var_1, var_2, var_3); }, "$handleMouseInput", function() { nle_GuiScreenEditProfile_handleMouseInput(this); }, "$actionPerformed", function(var_1) { nle_GuiScreenEditProfile_actionPerformed(this, var_1); }, "$updateScreen", function() { nle_GuiScreenEditProfile_updateScreen(this);
}, "$onGuiClosed", function() { nle_GuiScreenEditProfile_onGuiClosed(this); }, "$keyTyped", function(var_1, var_2) { nle_GuiScreenEditProfile_keyTyped(this, var_1, var_2); }, "$mouseClicked", function(var_1, var_2, var_3) { nle_GuiScreenEditProfile_mouseClicked(this, var_1, var_2, var_3); }],
ji_ByteArrayOutputStream, "ByteArrayOutputStream", 17, ji_OutputStream, [], 0, 3, 0, ["$write2", function(var_1) { ji_ByteArrayOutputStream_write(this, var_1); }, "$write1", function(var_1, var_2, var_3) { ji_ByteArrayOutputStream_write0(this, var_1, var_2, var_3); }],
ji_DataOutput, "DataOutput", 17, jl_Object, [], 3, 3, 0, 0,
ji_DataOutputStream, "DataOutputStream", 17, ji_FilterOutputStream, [ji_DataOutput], 0, 3, 0, ["$write1", function(var_1, var_2, var_3) { ji_DataOutputStream_write0(this, var_1, var_2, var_3); }, "$write2", function(var_1) { ji_DataOutputStream_write(this, var_1); }],
otciu_CLDRHelper, "CLDRHelper", 56, jl_Object, [], 4, 3, 0, 0,
otpp_ResourceAccessor, "ResourceAccessor", 64, jl_Object, [], 4, 0, 0, 0,
nleg_GLObjectMap, "GLObjectMap", 85, jl_Object, [], 0, 3, 0, 0,
nlegv_Matrix, "Matrix", 86, jl_Object, [ji_Serializable], 1, 3, 0, 0,
nlegv_Matrix4f, "Matrix4f", 86, nlegv_Matrix, [ji_Serializable], 0, 3, 0, 0,
nlegv_ReadableVector, "ReadableVector", 86, jl_Object, [], 3, 3, 0, 0,
nlegv_Vector, "Vector", 86, jl_Object, [ji_Serializable, nlegv_ReadableVector], 1, 3, 0, 0,
nlegv_ReadableVector2f, "ReadableVector2f", 86, jl_Object, [nlegv_ReadableVector], 3, 3, 0, 0,
nlegv_ReadableVector3f, "ReadableVector3f", 86, jl_Object, [nlegv_ReadableVector2f], 3, 3, 0, 0,
nlegv_WritableVector2f, "WritableVector2f", 86, jl_Object, [], 3, 3, 0, 0,
nlegv_WritableVector3f, "WritableVector3f", 86, jl_Object, [nlegv_WritableVector2f], 3, 3, 0, 0,
nlegv_Vector3f, "Vector3f", 86, nlegv_Vector, [ji_Serializable, nlegv_ReadableVector3f, nlegv_WritableVector3f], 0, 3, 0, 0,
nlegv_ReadableVector4f, "ReadableVector4f", 86, jl_Object, [nlegv_ReadableVector3f], 3, 3, 0, 0,
nlegv_WritableVector4f, "WritableVector4f", 86, jl_Object, [nlegv_WritableVector3f], 3, 3, 0, 0,
nlegv_Vector4f, "Vector4f", 86, nlegv_Vector, [ji_Serializable, nlegv_ReadableVector4f, nlegv_WritableVector4f], 0, 3, 0, 0,
jn_ByteBufferImpl, "ByteBufferImpl", 14, jn_ByteBuffer, [], 0, 0, 0, 0,
jn_IntBufferImpl, "IntBufferImpl", 14, jn_IntBuffer, [], 1, 0, 0, 0,
jn_IntBufferOverArray, "IntBufferOverArray", 14, jn_IntBufferImpl, [], 0, 0, 0, ["$getElement", function(var_1) { return jn_IntBufferOverArray_getElement(this, var_1); }, "$putElement", function(var_1, var_2) { jn_IntBufferOverArray_putElement(this, var_1, var_2); }, "$readOnly1", function() { return jn_IntBufferOverArray_readOnly(this); }],
nms_NBTTagByte, "NBTTagByte", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagByte_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagByte_load(this, var_1); }, "$getId", function() { return nms_NBTTagByte_getId(this); }, "$toString", function() { return nms_NBTTagByte_toString(this); }, "$copy", function() { return nms_NBTTagByte_copy(this); }, "$equals", function(var_1) { return nms_NBTTagByte_equals(this, var_1); }, "$hashCode0", function() { return nms_NBTTagByte_hashCode(this);
}],
nms_NBTTagShort, "NBTTagShort", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagShort_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagShort_load(this, var_1); }, "$getId", function() { return nms_NBTTagShort_getId(this); }, "$toString", function() { return nms_NBTTagShort_toString(this); }, "$copy", function() { return nms_NBTTagShort_copy(this); }, "$equals", function(var_1) { return nms_NBTTagShort_equals(this, var_1); }, "$hashCode0", function() { return nms_NBTTagShort_hashCode(this);
}],
nms_NBTTagInt, "NBTTagInt", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagInt_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagInt_load(this, var_1); }, "$getId", function() { return nms_NBTTagInt_getId(this); }, "$toString", function() { return nms_NBTTagInt_toString(this); }, "$copy", function() { return nms_NBTTagInt_copy(this); }, "$equals", function(var_1) { return nms_NBTTagInt_equals(this, var_1); }, "$hashCode0", function() { return nms_NBTTagInt_hashCode(this); }],
nms_NBTTagLong, "NBTTagLong", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagLong_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagLong_load(this, var_1); }, "$getId", function() { return nms_NBTTagLong_getId(this); }, "$toString", function() { return nms_NBTTagLong_toString(this); }, "$copy", function() { return nms_NBTTagLong_copy(this); }, "$equals", function(var_1) { return nms_NBTTagLong_equals(this, var_1); }, "$hashCode0", function() { return nms_NBTTagLong_hashCode(this);
}],
nms_NBTTagFloat, "NBTTagFloat", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagFloat_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagFloat_load(this, var_1); }, "$getId", function() { return nms_NBTTagFloat_getId(this); }, "$toString", function() { return nms_NBTTagFloat_toString(this); }, "$copy", function() { return nms_NBTTagFloat_copy(this); }, "$equals", function(var_1) { return nms_NBTTagFloat_equals(this, var_1); }, "$hashCode0", function() { return nms_NBTTagFloat_hashCode(this);
}],
nms_NBTTagDouble, "NBTTagDouble", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagDouble_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagDouble_load(this, var_1); }, "$getId", function() { return nms_NBTTagDouble_getId(this); }, "$toString", function() { return nms_NBTTagDouble_toString(this); }, "$copy", function() { return nms_NBTTagDouble_copy(this); }, "$equals", function(var_1) { return nms_NBTTagDouble_equals(this, var_1); }, "$hashCode0", function() { return nms_NBTTagDouble_hashCode(this);
}],
nms_NBTTagByteArray, "NBTTagByteArray", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagByteArray_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagByteArray_load(this, var_1); }, "$getId", function() { return nms_NBTTagByteArray_getId(this); }, "$toString", function() { return nms_NBTTagByteArray_toString(this); }, "$copy", function() { return nms_NBTTagByteArray_copy(this); }, "$equals", function(var_1) { return nms_NBTTagByteArray_equals(this, var_1); }, "$hashCode0", function()
{ return nms_NBTTagByteArray_hashCode(this); }],
nms_NBTTagString, "NBTTagString", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagString_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagString_load(this, var_1); }, "$getId", function() { return nms_NBTTagString_getId(this); }, "$toString", function() { return nms_NBTTagString_toString(this); }, "$copy", function() { return nms_NBTTagString_copy(this); }, "$equals", function(var_1) { return nms_NBTTagString_equals(this, var_1); }, "$hashCode0", function() { return nms_NBTTagString_hashCode(this);
}],
nms_NBTTagIntArray, "NBTTagIntArray", 79, nms_NBTBase, [], 0, 3, 0, ["$write0", function(var_1) { nms_NBTTagIntArray_write(this, var_1); }, "$load0", function(var_1) { nms_NBTTagIntArray_load(this, var_1); }, "$getId", function() { return nms_NBTTagIntArray_getId(this); }, "$toString", function() { return nms_NBTTagIntArray_toString(this); }, "$copy", function() { return nms_NBTTagIntArray_copy(this); }, "$equals", function(var_1) { return nms_NBTTagIntArray_equals(this, var_1); }, "$hashCode0", function() {
return nms_NBTTagIntArray_hashCode(this); }],
jl_NullPointerException, "NullPointerException", 22, jl_RuntimeException, [], 0, 3, 0, 0,
jur_AbstractSet, "AbstractSet", 9, jl_Object, [], 1, 0, 0, ["$find0", function(var_1, var_2, var_3) { return jur_AbstractSet_find(this, var_1, var_2, var_3); }, "$findBack", function(var_1, var_2, var_3, var_4) { return jur_AbstractSet_findBack(this, var_1, var_2, var_3, var_4); }, "$getType0", function() { return jur_AbstractSet_getType(this); }, "$toString", function() { return jur_AbstractSet_toString(this); }, "$setNext", function(var_1) { jur_AbstractSet_setNext(this, var_1); }, "$first", function(var_1)
{ return jur_AbstractSet_first(this, var_1); }, "$processBackRefReplacement", function() { return jur_AbstractSet_processBackRefReplacement(this); }, "$processSecondPass", function() { jur_AbstractSet_processSecondPass(this); }],
ju_Calendar, "Calendar", 8, jl_Object, [ji_Serializable, jl_Cloneable, jl_Comparable], 1, 3, 0, 0,
jl_Readable, "Readable", 22, jl_Object, [], 3, 3, 0, 0,
jn_CharBuffer, "CharBuffer", 14, jn_Buffer, [jl_Comparable, jl_Appendable, jl_CharSequence, jl_Readable], 1, 3, 0, 0,
cjj_GZIPException, "GZIPException", 2, ji_IOException, [], 0, 3, 0, 0]);
$rt_metadata([jl_Enum, "Enum", 22, jl_Object, [jl_Comparable, ji_Serializable], 1, 3, 0, ["$toString", function() { return jl_Enum_toString(this); }, "$equals", function(var_1) { return jl_Enum_equals(this, var_1); }, "$hashCode0", function() { return jl_Enum_hashCode(this); }, "$compareTo7", function(var_1) { return jl_Enum_compareTo0(this, var_1); }],
nle_BaseNCodec$CodecPolicy, "BaseNCodec$CodecPolicy", 82, jl_Enum, [], 12, 0, 0, 0,
jur_FSet, "FSet", 9, jur_AbstractSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_FSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_FSet_getName(this); }, "$hasConsumed", function(var_1) { return jur_FSet_hasConsumed(this, var_1); }],
jur_Lexer, "Lexer", 9, jl_Object, [], 0, 0, 0, 0,
jur_PatternSyntaxException, "PatternSyntaxException", 9, jl_IllegalArgumentException, [], 0, 3, 0, ["$getMessage", function() { return jur_PatternSyntaxException_getMessage(this); }],
jl_CloneNotSupportedException, "CloneNotSupportedException", 22, jl_Exception, [], 0, 3, 0, 0,
nle_TextureLocation, "TextureLocation", 82, jl_Object, [], 0, 3, 0, 0,
ju_GregorianCalendar, "GregorianCalendar", 8, ju_Calendar, [], 0, 3, 0, 0,
cjj_Checksum, "Checksum", 2, jl_Object, [], 3, 0, 0, 0,
cjj_Adler32, "Adler32", 2, jl_Object, [cjj_Checksum], 4, 3, 0, ["$reset2", function(var_1) { cjj_Adler32_reset(this, var_1); }, "$reset", function() { cjj_Adler32_reset0(this); }, "$getValue1", function() { return cjj_Adler32_getValue(this); }, "$update", function(var_1, var_2, var_3) { cjj_Adler32_update(this, var_1, var_2, var_3); }],
jur_NonCapFSet, "NonCapFSet", 9, jur_FSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_NonCapFSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_NonCapFSet_getName(this); }, "$hasConsumed", function(var_1) { return jur_NonCapFSet_hasConsumed(this, var_1); }],
jur_AheadFSet, "AheadFSet", 9, jur_FSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_AheadFSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_AheadFSet_getName(this); }],
jur_BehindFSet, "BehindFSet", 9, jur_FSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_BehindFSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_BehindFSet_getName(this); }],
jur_AtomicFSet, "AtomicFSet", 9, jur_FSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_AtomicFSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_AtomicFSet_getName(this); }, "$hasConsumed", function(var_1) { return jur_AtomicFSet_hasConsumed(this, var_1); }],
jur_FinalSet, "FinalSet", 9, jur_FSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_FinalSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_FinalSet_getName(this); }],
jur_LeafSet, "LeafSet", 9, jur_AbstractSet, [], 1, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_LeafSet_matches(this, var_1, var_2, var_3); }, "$charCount0", function() { return jur_LeafSet_charCount(this); }, "$hasConsumed", function(var_1) { return jur_LeafSet_hasConsumed(this, var_1); }],
jur_EmptySet, "EmptySet", 9, jur_LeafSet, [], 0, 0, 0, ["$accepts", function(var_1, var_2) { return jur_EmptySet_accepts(this, var_1, var_2); }, "$find0", function(var_1, var_2, var_3) { return jur_EmptySet_find(this, var_1, var_2, var_3); }, "$findBack", function(var_1, var_2, var_3, var_4) { return jur_EmptySet_findBack(this, var_1, var_2, var_3, var_4); }, "$getName", function() { return jur_EmptySet_getName(this); }, "$hasConsumed", function(var_1) { return jur_EmptySet_hasConsumed(this, var_1); }],
jur_JointSet, "JointSet", 9, jur_AbstractSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_JointSet_matches(this, var_1, var_2, var_3); }, "$setNext", function(var_1) { jur_JointSet_setNext(this, var_1); }, "$getName", function() { return jur_JointSet_getName(this); }, "$first", function(var_1) { return jur_JointSet_first(this, var_1); }, "$hasConsumed", function(var_1) { return jur_JointSet_hasConsumed(this, var_1); }, "$processSecondPass", function() { jur_JointSet_processSecondPass(this);
}],
jur_NonCapJointSet, "NonCapJointSet", 9, jur_JointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_NonCapJointSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_NonCapJointSet_getName(this); }, "$hasConsumed", function(var_1) { return jur_NonCapJointSet_hasConsumed(this, var_1); }],
jur_AtomicJointSet, "AtomicJointSet", 9, jur_NonCapJointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_AtomicJointSet_matches(this, var_1, var_2, var_3); }, "$setNext", function(var_1) { jur_AtomicJointSet_setNext(this, var_1); }, "$getName", function() { return jur_AtomicJointSet_getName(this); }],
jur_PositiveLookAhead, "PositiveLookAhead", 9, jur_AtomicJointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_PositiveLookAhead_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_PositiveLookAhead_hasConsumed(this, var_1); }, "$getName", function() { return jur_PositiveLookAhead_getName(this); }],
jur_NegativeLookAhead, "NegativeLookAhead", 9, jur_AtomicJointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_NegativeLookAhead_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_NegativeLookAhead_hasConsumed(this, var_1); }, "$getName", function() { return jur_NegativeLookAhead_getName(this); }],
jur_PositiveLookBehind, "PositiveLookBehind", 9, jur_AtomicJointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_PositiveLookBehind_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_PositiveLookBehind_hasConsumed(this, var_1); }, "$getName", function() { return jur_PositiveLookBehind_getName(this); }],
jur_NegativeLookBehind, "NegativeLookBehind", 9, jur_AtomicJointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_NegativeLookBehind_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_NegativeLookBehind_hasConsumed(this, var_1); }, "$getName", function() { return jur_NegativeLookBehind_getName(this); }],
jur_SingleSet, "SingleSet", 9, jur_JointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_SingleSet_matches(this, var_1, var_2, var_3); }, "$find0", function(var_1, var_2, var_3) { return jur_SingleSet_find(this, var_1, var_2, var_3); }, "$findBack", function(var_1, var_2, var_3, var_4) { return jur_SingleSet_findBack(this, var_1, var_2, var_3, var_4); }, "$first", function(var_1) { return jur_SingleSet_first(this, var_1); }, "$processBackRefReplacement", function() { return jur_SingleSet_processBackRefReplacement(this);
}, "$processSecondPass", function() { jur_SingleSet_processSecondPass(this); }],
jl_IndexOutOfBoundsException, "IndexOutOfBoundsException", 22, jl_RuntimeException, [], 0, 3, 0, 0,
jlr_Array, "Array", 24, jl_Object, [], 4, 3, 0, 0,
jl_ArrayStoreException, "ArrayStoreException", 22, jl_RuntimeException, [], 0, 3, 0, 0,
jur_SpecialToken, "SpecialToken", 9, jl_Object, [], 1, 0, 0, 0,
jur_AbstractCharClass, "AbstractCharClass", 9, jur_SpecialToken, [], 1, 0, 0, ["$getBits", function() { return jur_AbstractCharClass_getBits(this); }, "$getLowHighSurrogates", function() { return jur_AbstractCharClass_getLowHighSurrogates(this); }, "$getInstance2", function() { return jur_AbstractCharClass_getInstance(this); }, "$hasUCI", function() { return jur_AbstractCharClass_hasUCI(this); }],
jur_CharClass, "CharClass", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass_contains(this, var_1); }, "$getBits", function() { return jur_CharClass_getBits(this); }, "$getLowHighSurrogates", function() { return jur_CharClass_getLowHighSurrogates(this); }, "$getInstance2", function() { return jur_CharClass_getInstance(this); }, "$toString", function() { return jur_CharClass_toString(this); }, "$hasUCI", function() { return jur_CharClass_hasUCI(this); }],
ju_MissingResourceException, "MissingResourceException", 8, jl_RuntimeException, [], 0, 3, 0, 0,
jur_QuantifierSet, "QuantifierSet", 9, jur_AbstractSet, [], 1, 0, 0, ["$first", function(var_1) { return jur_QuantifierSet_first(this, var_1); }, "$hasConsumed", function(var_1) { return jur_QuantifierSet_hasConsumed(this, var_1); }, "$processSecondPass", function() { jur_QuantifierSet_processSecondPass(this); }],
jur_LeafQuantifierSet, "LeafQuantifierSet", 9, jur_QuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_LeafQuantifierSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_LeafQuantifierSet_getName(this); }],
jur_CompositeQuantifierSet, "CompositeQuantifierSet", 9, jur_LeafQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_CompositeQuantifierSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_CompositeQuantifierSet_getName(this); }],
jur_GroupQuantifierSet, "GroupQuantifierSet", 9, jur_QuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_GroupQuantifierSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_GroupQuantifierSet_getName(this); }],
jur_AltQuantifierSet, "AltQuantifierSet", 9, jur_LeafQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_AltQuantifierSet_matches(this, var_1, var_2, var_3); }, "$setNext", function(var_1) { jur_AltQuantifierSet_setNext(this, var_1); }],
jur_UnifiedQuantifierSet, "UnifiedQuantifierSet", 9, jur_LeafQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_UnifiedQuantifierSet_matches(this, var_1, var_2, var_3); }, "$find0", function(var_1, var_2, var_3) { return jur_UnifiedQuantifierSet_find(this, var_1, var_2, var_3); }],
ju_TimeZone, "TimeZone", 8, jl_Object, [ji_Serializable, jl_Cloneable], 1, 3, 0, 0,
jl_NumberFormatException, "NumberFormatException", 22, jl_IllegalArgumentException, [], 0, 3, 0, 0,
jur_Quantifier, "Quantifier", 9, jur_SpecialToken, [jl_Cloneable], 0, 0, 0, ["$toString", function() { return jur_Quantifier_toString(this); }],
jur_FSet$PossessiveFSet, "FSet$PossessiveFSet", 9, jur_AbstractSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_FSet$PossessiveFSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_FSet$PossessiveFSet_getName(this); }, "$hasConsumed", function(var_1) { return jur_FSet$PossessiveFSet_hasConsumed(this, var_1); }],
ju_BitSet, "BitSet", 8, jl_Object, [jl_Cloneable, ji_Serializable], 0, 3, 0, 0,
jur_LowHighSurrogateRangeSet, "LowHighSurrogateRangeSet", 9, jur_JointSet, [], 0, 0, 0, ["$getName", function() { return jur_LowHighSurrogateRangeSet_getName(this); }],
jur_CompositeRangeSet, "CompositeRangeSet", 9, jur_JointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_CompositeRangeSet_matches(this, var_1, var_2, var_3); }, "$setNext", function(var_1) { jur_CompositeRangeSet_setNext(this, var_1); }, "$getName", function() { return jur_CompositeRangeSet_getName(this); }, "$hasConsumed", function(var_1) { return jur_CompositeRangeSet_hasConsumed(this, var_1); }, "$first", function(var_1) { return jur_CompositeRangeSet_first(this, var_1); }],
jur_SupplRangeSet, "SupplRangeSet", 9, jur_JointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_SupplRangeSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_SupplRangeSet_getName(this); }, "$contains1", function(var_1) { return jur_SupplRangeSet_contains(this, var_1); }, "$first", function(var_1) { return jur_SupplRangeSet_first(this, var_1); }, "$setNext", function(var_1) { jur_SupplRangeSet_setNext(this, var_1); }, "$hasConsumed", function(var_1) { return jur_SupplRangeSet_hasConsumed(this,
var_1); }],
jur_UCISupplRangeSet, "UCISupplRangeSet", 9, jur_SupplRangeSet, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_UCISupplRangeSet_contains(this, var_1); }, "$getName", function() { return jur_UCISupplRangeSet_getName(this); }],
jur_UCIRangeSet, "UCIRangeSet", 9, jur_LeafSet, [], 0, 0, 0, ["$accepts", function(var_1, var_2) { return jur_UCIRangeSet_accepts(this, var_1, var_2); }, "$getName", function() { return jur_UCIRangeSet_getName(this); }],
jur_RangeSet, "RangeSet", 9, jur_LeafSet, [], 0, 0, 0, ["$accepts", function(var_1, var_2) { return jur_RangeSet_accepts(this, var_1, var_2); }, "$getName", function() { return jur_RangeSet_getName(this); }, "$first", function(var_1) { return jur_RangeSet_first(this, var_1); }],
jur_HangulDecomposedCharSet, "HangulDecomposedCharSet", 9, jur_JointSet, [], 0, 0, 0, ["$setNext", function(var_1) { jur_HangulDecomposedCharSet_setNext(this, var_1); }, "$getName", function() { return jur_HangulDecomposedCharSet_getName(this); }, "$matches0", function(var_1, var_2, var_3) { return jur_HangulDecomposedCharSet_matches(this, var_1, var_2, var_3); }, "$first", function(var_1) { return jur_HangulDecomposedCharSet_first(this, var_1); }, "$hasConsumed", function(var_1) { return jur_HangulDecomposedCharSet_hasConsumed(this,
var_1); }]]);
$rt_metadata([jur_CharSet, "CharSet", 9, jur_LeafSet, [], 0, 0, 0, ["$charCount0", function() { return jur_CharSet_charCount(this); }, "$accepts", function(var_1, var_2) { return jur_CharSet_accepts(this, var_1, var_2); }, "$find0", function(var_1, var_2, var_3) { return jur_CharSet_find(this, var_1, var_2, var_3); }, "$findBack", function(var_1, var_2, var_3, var_4) { return jur_CharSet_findBack(this, var_1, var_2, var_3, var_4); }, "$getName", function() { return jur_CharSet_getName(this); }, "$first", function(var_1)
{ return jur_CharSet_first(this, var_1); }],
jur_UCICharSet, "UCICharSet", 9, jur_LeafSet, [], 0, 0, 0, ["$accepts", function(var_1, var_2) { return jur_UCICharSet_accepts(this, var_1, var_2); }, "$getName", function() { return jur_UCICharSet_getName(this); }],
jur_CICharSet, "CICharSet", 9, jur_LeafSet, [], 0, 0, 0, ["$accepts", function(var_1, var_2) { return jur_CICharSet_accepts(this, var_1, var_2); }, "$getName", function() { return jur_CICharSet_getName(this); }],
jur_DecomposedCharSet, "DecomposedCharSet", 9, jur_JointSet, [], 0, 0, 0, ["$setNext", function(var_1) { jur_DecomposedCharSet_setNext(this, var_1); }, "$matches0", function(var_1, var_2, var_3) { return jur_DecomposedCharSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_DecomposedCharSet_getName(this); }, "$first", function(var_1) { return jur_DecomposedCharSet_first(this, var_1); }, "$hasConsumed", function(var_1) { return jur_DecomposedCharSet_hasConsumed(this, var_1); }],
jur_UCIDecomposedCharSet, "UCIDecomposedCharSet", 9, jur_DecomposedCharSet, [], 0, 0, 0, 0,
jur_CIDecomposedCharSet, "CIDecomposedCharSet", 9, jur_DecomposedCharSet, [], 0, 0, 0, 0,
jur_PossessiveGroupQuantifierSet, "PossessiveGroupQuantifierSet", 9, jur_GroupQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_PossessiveGroupQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_PosPlusGroupQuantifierSet, "PosPlusGroupQuantifierSet", 9, jur_GroupQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_PosPlusGroupQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_AltGroupQuantifierSet, "AltGroupQuantifierSet", 9, jur_GroupQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_AltGroupQuantifierSet_matches(this, var_1, var_2, var_3); }, "$setNext", function(var_1) { jur_AltGroupQuantifierSet_setNext(this, var_1); }],
jur_PosAltGroupQuantifierSet, "PosAltGroupQuantifierSet", 9, jur_AltGroupQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_PosAltGroupQuantifierSet_matches(this, var_1, var_2, var_3); }, "$setNext", function(var_1) { jur_PosAltGroupQuantifierSet_setNext(this, var_1); }],
jur_CompositeGroupQuantifierSet, "CompositeGroupQuantifierSet", 9, jur_GroupQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_CompositeGroupQuantifierSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_CompositeGroupQuantifierSet_getName(this); }],
jur_PosCompositeGroupQuantifierSet, "PosCompositeGroupQuantifierSet", 9, jur_CompositeGroupQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_PosCompositeGroupQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_ReluctantGroupQuantifierSet, "ReluctantGroupQuantifierSet", 9, jur_GroupQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_ReluctantGroupQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_RelAltGroupQuantifierSet, "RelAltGroupQuantifierSet", 9, jur_AltGroupQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_RelAltGroupQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_RelCompositeGroupQuantifierSet, "RelCompositeGroupQuantifierSet", 9, jur_CompositeGroupQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_RelCompositeGroupQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_DotAllQuantifierSet, "DotAllQuantifierSet", 9, jur_QuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_DotAllQuantifierSet_matches(this, var_1, var_2, var_3); }, "$find0", function(var_1, var_2, var_3) { return jur_DotAllQuantifierSet_find(this, var_1, var_2, var_3); }, "$getName", function() { return jur_DotAllQuantifierSet_getName(this); }],
jur_DotQuantifierSet, "DotQuantifierSet", 9, jur_QuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_DotQuantifierSet_matches(this, var_1, var_2, var_3); }, "$find0", function(var_1, var_2, var_3) { return jur_DotQuantifierSet_find(this, var_1, var_2, var_3); }, "$getName", function() { return jur_DotQuantifierSet_getName(this); }],
jur_AbstractLineTerminator, "AbstractLineTerminator", 9, jl_Object, [], 1, 0, 0, 0,
jur_PossessiveQuantifierSet, "PossessiveQuantifierSet", 9, jur_LeafQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_PossessiveQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_PossessiveAltQuantifierSet, "PossessiveAltQuantifierSet", 9, jur_AltQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_PossessiveAltQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_PossessiveCompositeQuantifierSet, "PossessiveCompositeQuantifierSet", 9, jur_CompositeQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_PossessiveCompositeQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_ReluctantQuantifierSet, "ReluctantQuantifierSet", 9, jur_LeafQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_ReluctantQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_ReluctantAltQuantifierSet, "ReluctantAltQuantifierSet", 9, jur_AltQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_ReluctantAltQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_ReluctantCompositeQuantifierSet, "ReluctantCompositeQuantifierSet", 9, jur_CompositeQuantifierSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_ReluctantCompositeQuantifierSet_matches(this, var_1, var_2, var_3); }],
jur_SOLSet, "SOLSet", 9, jur_AbstractSet, [], 4, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_SOLSet_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_SOLSet_hasConsumed(this, var_1); }, "$getName", function() { return jur_SOLSet_getName(this); }],
jur_WordBoundary, "WordBoundary", 9, jur_AbstractSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_WordBoundary_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_WordBoundary_hasConsumed(this, var_1); }, "$getName", function() { return jur_WordBoundary_getName(this); }],
jur_PreviousMatch, "PreviousMatch", 9, jur_AbstractSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_PreviousMatch_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_PreviousMatch_hasConsumed(this, var_1); }, "$getName", function() { return jur_PreviousMatch_getName(this); }],
jur_EOLSet, "EOLSet", 9, jur_AbstractSet, [], 4, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_EOLSet_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_EOLSet_hasConsumed(this, var_1); }, "$getName", function() { return jur_EOLSet_getName(this); }],
jur_EOISet, "EOISet", 9, jur_AbstractSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_EOISet_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_EOISet_hasConsumed(this, var_1); }, "$getName", function() { return jur_EOISet_getName(this); }],
jur_MultiLineSOLSet, "MultiLineSOLSet", 9, jur_AbstractSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_MultiLineSOLSet_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_MultiLineSOLSet_hasConsumed(this, var_1); }, "$getName", function() { return jur_MultiLineSOLSet_getName(this); }],
jur_DotAllSet, "DotAllSet", 9, jur_JointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_DotAllSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_DotAllSet_getName(this); }, "$setNext", function(var_1) { jur_DotAllSet_setNext(this, var_1); }, "$getType0", function() { return jur_DotAllSet_getType(this); }, "$hasConsumed", function(var_1) { return jur_DotAllSet_hasConsumed(this, var_1); }],
jur_DotSet, "DotSet", 9, jur_JointSet, [], 4, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_DotSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_DotSet_getName(this); }, "$setNext", function(var_1) { jur_DotSet_setNext(this, var_1); }, "$getType0", function() { return jur_DotSet_getType(this); }, "$hasConsumed", function(var_1) { return jur_DotSet_hasConsumed(this, var_1); }],
jur_UEOLSet, "UEOLSet", 9, jur_AbstractSet, [], 4, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_UEOLSet_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_UEOLSet_hasConsumed(this, var_1); }, "$getName", function() { return jur_UEOLSet_getName(this); }],
jur_UMultiLineEOLSet, "UMultiLineEOLSet", 9, jur_AbstractSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_UMultiLineEOLSet_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_UMultiLineEOLSet_hasConsumed(this, var_1); }, "$getName", function() { return jur_UMultiLineEOLSet_getName(this); }],
jur_MultiLineEOLSet, "MultiLineEOLSet", 9, jur_AbstractSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_MultiLineEOLSet_matches(this, var_1, var_2, var_3); }, "$hasConsumed", function(var_1) { return jur_MultiLineEOLSet_hasConsumed(this, var_1); }, "$getName", function() { return jur_MultiLineEOLSet_getName(this); }],
jur_CIBackReferenceSet, "CIBackReferenceSet", 9, jur_JointSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_CIBackReferenceSet_matches(this, var_1, var_2, var_3); }, "$setNext", function(var_1) { jur_CIBackReferenceSet_setNext(this, var_1); }, "$getName", function() { return jur_CIBackReferenceSet_getName(this); }, "$hasConsumed", function(var_1) { return jur_CIBackReferenceSet_hasConsumed(this, var_1); }],
jur_BackReferenceSet, "BackReferenceSet", 9, jur_CIBackReferenceSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_BackReferenceSet_matches(this, var_1, var_2, var_3); }, "$find0", function(var_1, var_2, var_3) { return jur_BackReferenceSet_find(this, var_1, var_2, var_3); }, "$findBack", function(var_1, var_2, var_3, var_4) { return jur_BackReferenceSet_findBack(this, var_1, var_2, var_3, var_4); }, "$first", function(var_1) { return jur_BackReferenceSet_first(this, var_1); }, "$getName",
function() { return jur_BackReferenceSet_getName(this); }],
jur_UCIBackReferenceSet, "UCIBackReferenceSet", 9, jur_CIBackReferenceSet, [], 0, 0, 0, ["$matches0", function(var_1, var_2, var_3) { return jur_UCIBackReferenceSet_matches(this, var_1, var_2, var_3); }, "$getName", function() { return jur_UCIBackReferenceSet_getName(this); }],
jl_StringBuffer, "StringBuffer", 22, jl_AbstractStringBuilder, [jl_Appendable], 0, 3, 0, ["$insert4", function(var_1, var_2, var_3, var_4) { return jl_StringBuffer_insert4(this, var_1, var_2, var_3, var_4); }, "$append8", function(var_1, var_2, var_3) { return jl_StringBuffer_append7(this, var_1, var_2, var_3); }, "$insert3", function(var_1, var_2, var_3, var_4) { return jl_StringBuffer_insert5(this, var_1, var_2, var_3, var_4); }, "$append7", function(var_1, var_2, var_3) { return jl_StringBuffer_append8(this,
var_1, var_2, var_3); }, "$toString", function() { return jl_StringBuffer_toString(this); }, "$ensureCapacity", function(var_1) { jl_StringBuffer_ensureCapacity(this, var_1); }, "$insert2", function(var_1, var_2) { return jl_StringBuffer_insert6(this, var_1, var_2); }, "$insert1", function(var_1, var_2) { return jl_StringBuffer_insert7(this, var_1, var_2); }, "$insert", function(var_1, var_2) { return jl_StringBuffer_insert8(this, var_1, var_2); }],
jur_SequenceSet, "SequenceSet", 9, jur_LeafSet, [], 0, 0, 0, ["$accepts", function(var_1, var_2) { return jur_SequenceSet_accepts(this, var_1, var_2); }, "$find0", function(var_1, var_2, var_3) { return jur_SequenceSet_find(this, var_1, var_2, var_3); }, "$findBack", function(var_1, var_2, var_3, var_4) { return jur_SequenceSet_findBack(this, var_1, var_2, var_3, var_4); }, "$getName", function() { return jur_SequenceSet_getName(this); }, "$first", function(var_1) { return jur_SequenceSet_first(this, var_1);
}],
jur_UCISequenceSet, "UCISequenceSet", 9, jur_LeafSet, [], 0, 0, 0, ["$accepts", function(var_1, var_2) { return jur_UCISequenceSet_accepts(this, var_1, var_2); }, "$getName", function() { return jur_UCISequenceSet_getName(this); }],
jur_CISequenceSet, "CISequenceSet", 9, jur_LeafSet, [], 0, 0, 0, ["$accepts", function(var_1, var_2) { return jur_CISequenceSet_accepts(this, var_1, var_2); }, "$getName", function() { return jur_CISequenceSet_getName(this); }],
otcit_DateTimeZoneProvider, "DateTimeZoneProvider", 55, jl_Object, [], 4, 3, 0, 0,
ju_IANATimeZone, "IANATimeZone", 8, ju_TimeZone, [], 0, 0, 0, 0,
jur_AbstractCharClass$PredefinedCharacterClasses, "AbstractCharClass$PredefinedCharacterClasses", 9, jl_Object, [], 4, 0, 0, 0,
jur_AbstractCharClass$LazyCharClass, "AbstractCharClass$LazyCharClass", 9, jl_Object, [], 1, 0, 0, 0,
jur_UCISupplCharSet, "UCISupplCharSet", 9, jur_LeafSet, [], 0, 0, 0, ["$accepts", function(var_1, var_2) { return jur_UCISupplCharSet_accepts(this, var_1, var_2); }, "$getName", function() { return jur_UCISupplCharSet_getName(this); }],
jur_LowSurrogateCharSet, "LowSurrogateCharSet", 9, jur_JointSet, [], 0, 0, 0, ["$setNext", function(var_1) { jur_LowSurrogateCharSet_setNext(this, var_1); }, "$matches0", function(var_1, var_2, var_3) { return jur_LowSurrogateCharSet_matches(this, var_1, var_2, var_3); }, "$find0", function(var_1, var_2, var_3) { return jur_LowSurrogateCharSet_find(this, var_1, var_2, var_3); }, "$findBack", function(var_1, var_2, var_3, var_4) { return jur_LowSurrogateCharSet_findBack(this, var_1, var_2, var_3, var_4); }, "$getName",
function() { return jur_LowSurrogateCharSet_getName(this); }, "$first", function(var_1) { return jur_LowSurrogateCharSet_first(this, var_1); }, "$hasConsumed", function(var_1) { return jur_LowSurrogateCharSet_hasConsumed(this, var_1); }],
jur_HighSurrogateCharSet, "HighSurrogateCharSet", 9, jur_JointSet, [], 0, 0, 0, ["$setNext", function(var_1) { jur_HighSurrogateCharSet_setNext(this, var_1); }, "$matches0", function(var_1, var_2, var_3) { return jur_HighSurrogateCharSet_matches(this, var_1, var_2, var_3); }, "$find0", function(var_1, var_2, var_3) { return jur_HighSurrogateCharSet_find(this, var_1, var_2, var_3); }, "$findBack", function(var_1, var_2, var_3, var_4) { return jur_HighSurrogateCharSet_findBack(this, var_1, var_2, var_3, var_4);
}, "$getName", function() { return jur_HighSurrogateCharSet_getName(this); }, "$first", function(var_1) { return jur_HighSurrogateCharSet_first(this, var_1); }, "$hasConsumed", function(var_1) { return jur_HighSurrogateCharSet_hasConsumed(this, var_1); }],
jur_SupplCharSet, "SupplCharSet", 9, jur_LeafSet, [], 0, 0, 0, ["$accepts", function(var_1, var_2) { return jur_SupplCharSet_accepts(this, var_1, var_2); }, "$find0", function(var_1, var_2, var_3) { return jur_SupplCharSet_find(this, var_1, var_2, var_3); }, "$findBack", function(var_1, var_2, var_3, var_4) { return jur_SupplCharSet_findBack(this, var_1, var_2, var_3, var_4); }, "$getName", function() { return jur_SupplCharSet_getName(this); }, "$first", function(var_1) { return jur_SupplCharSet_first(this,
var_1); }]]);
$rt_metadata([jur_AbstractLineTerminator$1, "AbstractLineTerminator$1", 9, jur_AbstractLineTerminator, [], 4, 0, 0, ["$isLineTerminator", function(var_1) { return jur_AbstractLineTerminator$1_isLineTerminator(this, var_1); }, "$isAfterLineTerminator", function(var_1, var_2) { return jur_AbstractLineTerminator$1_isAfterLineTerminator(this, var_1, var_2); }],
jur_AbstractLineTerminator$2, "AbstractLineTerminator$2", 9, jur_AbstractLineTerminator, [], 4, 0, 0, ["$isLineTerminator", function(var_1) { return jur_AbstractLineTerminator$2_isLineTerminator(this, var_1); }, "$isAfterLineTerminator", function(var_1, var_2) { return jur_AbstractLineTerminator$2_isAfterLineTerminator(this, var_1, var_2); }],
jur_SequenceSet$IntHash, "SequenceSet$IntHash", 9, jl_Object, [], 0, 0, 0, 0,
otcit_DateTimeZone, "DateTimeZone", 55, jl_Object, [], 1, 3, 0, 0,
otcit_StorableDateTimeZone, "StorableDateTimeZone", 55, otcit_DateTimeZone, [], 1, 3, 0, 0,
otcit_FixedDateTimeZone, "FixedDateTimeZone", 55, otcit_StorableDateTimeZone, [], 4, 3, 0, ["$getOffset", function(var_1) { return otcit_FixedDateTimeZone_getOffset(this, var_1); }, "$getStandardOffset", function(var_1) { return otcit_FixedDateTimeZone_getStandardOffset(this, var_1); }, "$previousTransition", function(var_1) { return otcit_FixedDateTimeZone_previousTransition(this, var_1); }],
ju_AbstractQueue, "AbstractQueue", 8, ju_AbstractCollection, [ju_Queue], 1, 3, 0, 0,
ju_PriorityQueue, "PriorityQueue", 8, ju_AbstractQueue, [ji_Serializable], 0, 3, 0, ["$size0", function() { return ju_PriorityQueue_size(this); }],
otcit_DateTimeZoneProvider$1, "DateTimeZoneProvider$1", 55, jl_Object, [ju_Comparator], 4, 0, 0, ["$compare", function(var_1, var_2) { return otcit_DateTimeZoneProvider$1_compare0(this, var_1, var_2); }],
jl_Long, "Long", 22, jl_Number, [jl_Comparable], 0, 3, 0, ["$intValue", function() { return jl_Long_intValue(this); }, "$longValue", function() { return jl_Long_longValue(this); }, "$doubleValue", function() { return jl_Long_doubleValue(this); }, "$toString", function() { return jl_Long_toString0(this); }, "$hashCode0", function() { return jl_Long_hashCode(this); }, "$equals", function(var_1) { return jl_Long_equals(this, var_1); }, "$compareTo7", function(var_1) { return jl_Long_compareTo0(this, var_1); }],
otcit_AliasDateTimeZone, "AliasDateTimeZone", 55, otcit_StorableDateTimeZone, [], 0, 3, 0, ["$getOffset", function(var_1) { return otcit_AliasDateTimeZone_getOffset(this, var_1); }, "$getStandardOffset", function(var_1) { return otcit_AliasDateTimeZone_getStandardOffset(this, var_1); }, "$previousTransition", function(var_1) { return otcit_AliasDateTimeZone_previousTransition(this, var_1); }],
jl_Math, "Math", 22, jl_Object, [], 4, 3, 0, 0,
otcit_DateTimeZoneProvider$Score, "DateTimeZoneProvider$Score", 55, jl_Object, [], 0, 0, 0, 0,
juf_Function, "Function", 11, jl_Object, [], 3, 3, 0, 0,
otcit_DateTimeZoneProvider$detectTimezone$lambda$_5_0, "DateTimeZoneProvider$detectTimezone$lambda$_5_0", 55, jl_Object, [juf_Function], 0, 3, 0, 0,
jur_IntHash, "IntHash", 9, jl_Object, [], 0, 0, 0, 0,
jur_AbstractCharClass$LazySpace, "AbstractCharClass$LazySpace", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazySpace_computeValue(this); }],
jur_AbstractCharClass$LazyDigit, "AbstractCharClass$LazyDigit", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyDigit_computeValue(this); }],
jur_AbstractCharClass$LazyLower, "AbstractCharClass$LazyLower", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyLower_computeValue(this); }],
jur_AbstractCharClass$LazyUpper, "AbstractCharClass$LazyUpper", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyUpper_computeValue(this); }],
jur_AbstractCharClass$LazyASCII, "AbstractCharClass$LazyASCII", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyASCII_computeValue(this); }],
jur_AbstractCharClass$LazyAlpha, "AbstractCharClass$LazyAlpha", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyAlpha_computeValue(this); }],
jur_AbstractCharClass$LazyAlnum, "AbstractCharClass$LazyAlnum", 9, jur_AbstractCharClass$LazyAlpha, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyAlnum_computeValue(this); }],
jur_AbstractCharClass$LazyPunct, "AbstractCharClass$LazyPunct", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyPunct_computeValue(this); }],
jur_AbstractCharClass$LazyGraph, "AbstractCharClass$LazyGraph", 9, jur_AbstractCharClass$LazyAlnum, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyGraph_computeValue(this); }],
jur_AbstractCharClass$LazyPrint, "AbstractCharClass$LazyPrint", 9, jur_AbstractCharClass$LazyGraph, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyPrint_computeValue(this); }],
jur_AbstractCharClass$LazyBlank, "AbstractCharClass$LazyBlank", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyBlank_computeValue(this); }],
jur_AbstractCharClass$LazyCntrl, "AbstractCharClass$LazyCntrl", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyCntrl_computeValue(this); }],
jur_AbstractCharClass$LazyXDigit, "AbstractCharClass$LazyXDigit", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyXDigit_computeValue(this); }],
jur_AbstractCharClass$LazyJavaLowerCase, "AbstractCharClass$LazyJavaLowerCase", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaLowerCase_computeValue(this); }],
jur_AbstractCharClass$LazyJavaUpperCase, "AbstractCharClass$LazyJavaUpperCase", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaUpperCase_computeValue(this); }],
jur_AbstractCharClass$LazyJavaWhitespace, "AbstractCharClass$LazyJavaWhitespace", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaWhitespace_computeValue(this); }],
jur_AbstractCharClass$LazyJavaMirrored, "AbstractCharClass$LazyJavaMirrored", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaMirrored_computeValue(this); }],
jur_AbstractCharClass$LazyJavaDefined, "AbstractCharClass$LazyJavaDefined", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaDefined_computeValue(this); }],
jur_AbstractCharClass$LazyJavaDigit, "AbstractCharClass$LazyJavaDigit", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaDigit_computeValue(this); }],
jur_AbstractCharClass$LazyJavaIdentifierIgnorable, "AbstractCharClass$LazyJavaIdentifierIgnorable", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaIdentifierIgnorable_computeValue(this); }],
jur_AbstractCharClass$LazyJavaISOControl, "AbstractCharClass$LazyJavaISOControl", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaISOControl_computeValue(this); }],
jur_AbstractCharClass$LazyJavaJavaIdentifierPart, "AbstractCharClass$LazyJavaJavaIdentifierPart", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaJavaIdentifierPart_computeValue(this); }],
jur_AbstractCharClass$LazyJavaJavaIdentifierStart, "AbstractCharClass$LazyJavaJavaIdentifierStart", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaJavaIdentifierStart_computeValue(this); }],
jur_AbstractCharClass$LazyJavaLetter, "AbstractCharClass$LazyJavaLetter", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaLetter_computeValue(this); }],
jur_AbstractCharClass$LazyJavaLetterOrDigit, "AbstractCharClass$LazyJavaLetterOrDigit", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaLetterOrDigit_computeValue(this); }],
jur_AbstractCharClass$LazyJavaSpaceChar, "AbstractCharClass$LazyJavaSpaceChar", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaSpaceChar_computeValue(this); }],
jur_AbstractCharClass$LazyJavaTitleCase, "AbstractCharClass$LazyJavaTitleCase", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaTitleCase_computeValue(this); }],
jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart, "AbstractCharClass$LazyJavaUnicodeIdentifierPart", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart_computeValue(this); }],
jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart, "AbstractCharClass$LazyJavaUnicodeIdentifierStart", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart_computeValue(this); }],
jur_AbstractCharClass$LazyWord, "AbstractCharClass$LazyWord", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyWord_computeValue(this); }],
jur_AbstractCharClass$LazyNonWord, "AbstractCharClass$LazyNonWord", 9, jur_AbstractCharClass$LazyWord, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyNonWord_computeValue(this); }],
jur_AbstractCharClass$LazyNonSpace, "AbstractCharClass$LazyNonSpace", 9, jur_AbstractCharClass$LazySpace, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyNonSpace_computeValue(this); }],
jur_AbstractCharClass$LazyNonDigit, "AbstractCharClass$LazyNonDigit", 9, jur_AbstractCharClass$LazyDigit, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyNonDigit_computeValue(this); }],
jur_AbstractCharClass$LazyRange, "AbstractCharClass$LazyRange", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyRange_computeValue(this); }]]);
$rt_metadata([jur_AbstractCharClass$LazySpecialsBlock, "AbstractCharClass$LazySpecialsBlock", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazySpecialsBlock_computeValue(this); }],
jur_AbstractCharClass$LazyCategory, "AbstractCharClass$LazyCategory", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyCategory_computeValue(this); }],
jur_AbstractCharClass$LazyCategoryScope, "AbstractCharClass$LazyCategoryScope", 9, jur_AbstractCharClass$LazyCharClass, [], 0, 0, 0, ["$computeValue", function() { return jur_AbstractCharClass$LazyCategoryScope_computeValue(this); }],
ju_PriorityQueue$1, "PriorityQueue$1", 8, jl_Object, [ju_Comparator], 0, 0, 0, ["$compare", function(var_1, var_2) { return ju_PriorityQueue$1_compare(this, var_1, var_2); }],
otci_CharFlow, "CharFlow", 53, jl_Object, [], 0, 3, 0, 0,
otci_Base46, "Base46", 53, jl_Object, [], 4, 3, 0, 0,
otciu_UnicodeHelper, "UnicodeHelper", 56, jl_Object, [], 4, 3, 0, 0,
otcit_DateTimeZoneBuilder$PrecalculatedZone, "DateTimeZoneBuilder$PrecalculatedZone", 55, otcit_StorableDateTimeZone, [], 4, 0, 0, ["$getOffset", function(var_1) { return otcit_DateTimeZoneBuilder$PrecalculatedZone_getOffset(this, var_1); }, "$getStandardOffset", function(var_1) { return otcit_DateTimeZoneBuilder$PrecalculatedZone_getStandardOffset(this, var_1); }, "$previousTransition", function(var_1) { return otcit_DateTimeZoneBuilder$PrecalculatedZone_previousTransition(this, var_1); }],
otcit_DateTimeZoneBuilder$DSTZone, "DateTimeZoneBuilder$DSTZone", 55, otcit_StorableDateTimeZone, [], 4, 0, 0, ["$getOffset", function(var_1) { return otcit_DateTimeZoneBuilder$DSTZone_getOffset(this, var_1); }, "$getStandardOffset", function(var_1) { return otcit_DateTimeZoneBuilder$DSTZone_getStandardOffset(this, var_1); }, "$previousTransition", function(var_1) { return otcit_DateTimeZoneBuilder$DSTZone_previousTransition(this, var_1); }],
otciu_UnicodeHelper$Range, "UnicodeHelper$Range", 56, jl_Object, [], 0, 3, 0, 0,
otcit_CachedDateTimeZone, "CachedDateTimeZone", 55, otcit_StorableDateTimeZone, [], 4, 3, 0, ["$getOffset", function(var_1) { return otcit_CachedDateTimeZone_getOffset(this, var_1); }, "$getStandardOffset", function(var_1) { return otcit_CachedDateTimeZone_getStandardOffset(this, var_1); }, "$previousTransition", function(var_1) { return otcit_CachedDateTimeZone_previousTransition(this, var_1); }],
otcit_DateTimeZoneBuilder$Recurrence, "DateTimeZoneBuilder$Recurrence", 55, jl_Object, [], 4, 0, 0, 0,
otcit_DateTimeZoneBuilder$OfYear, "DateTimeZoneBuilder$OfYear", 55, jl_Object, [], 4, 0, 0, 0,
otcit_CachedDateTimeZone$Info, "CachedDateTimeZone$Info", 55, jl_Object, [], 4, 0, 0, 0,
jl_NegativeArraySizeException, "NegativeArraySizeException", 22, jl_RuntimeException, [], 0, 3, 0, 0,
jl_UnsupportedOperationException, "UnsupportedOperationException", 22, jl_RuntimeException, [], 0, 3, 0, 0,
jn_ReadOnlyBufferException, "ReadOnlyBufferException", 14, jl_UnsupportedOperationException, [], 0, 3, 0, 0,
jn_BufferOverflowException, "BufferOverflowException", 14, jl_RuntimeException, [], 0, 3, 0, 0,
jn_BufferUnderflowException, "BufferUnderflowException", 14, jl_RuntimeException, [], 0, 3, 0, 0,
ju_Map$Entry, "Map$Entry", 8, jl_Object, [], 3, 3, 0, 0,
ju_MapEntry, "MapEntry", 8, jl_Object, [ju_Map$Entry, jl_Cloneable], 0, 0, 0, ["$equals", function(var_1) { return ju_MapEntry_equals(this, var_1); }, "$getKey", function() { return ju_MapEntry_getKey(this); }, "$getValue0", function() { return ju_MapEntry_getValue(this); }, "$hashCode0", function() { return ju_MapEntry_hashCode(this); }, "$toString", function() { return ju_MapEntry_toString(this); }],
ju_HashMap$HashEntry, "HashMap$HashEntry", 8, ju_MapEntry, [], 0, 0, 0, 0,
jl_StringIndexOutOfBoundsException, "StringIndexOutOfBoundsException", 22, jl_IndexOutOfBoundsException, [], 0, 3, 0, 0,
ji_EOFException, "EOFException", 17, ji_IOException, [], 0, 3, 0, 0,
nlea_EaglerAdapterImpl2$BufferedVideo, "EaglerAdapterImpl2$BufferedVideo", 83, jl_Object, [], 0, 0, 0, 0,
cjj_Inflate, "Inflate", 2, jl_Object, [], 4, 0, 0, 0,
jur_AbstractCharClass$1, "AbstractCharClass$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_AbstractCharClass$1_contains(this, var_1); }],
jur_AbstractCharClass$2, "AbstractCharClass$2", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_AbstractCharClass$2_contains(this, var_1); }],
jur_CharClass$18, "CharClass$18", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$18_contains(this, var_1); }, "$toString", function() { return jur_CharClass$18_toString(this); }],
jl_IllegalStateException, "IllegalStateException", 22, jl_Exception, [], 0, 3, 0, 0,
ju_NoSuchElementException, "NoSuchElementException", 8, jl_RuntimeException, [], 0, 3, 0, 0,
jur_CharClass$1, "CharClass$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$1_contains(this, var_1); }],
jur_CharClass$3, "CharClass$3", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$3_contains(this, var_1); }],
jur_CharClass$2, "CharClass$2", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$2_contains(this, var_1); }],
jur_CharClass$5, "CharClass$5", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$5_contains(this, var_1); }],
jur_CharClass$4, "CharClass$4", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$4_contains(this, var_1); }],
jur_CharClass$7, "CharClass$7", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$7_contains(this, var_1); }],
jur_CharClass$6, "CharClass$6", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$6_contains(this, var_1); }],
jur_CharClass$9, "CharClass$9", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$9_contains(this, var_1); }],
jur_CharClass$8, "CharClass$8", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$8_contains(this, var_1); }],
jur_CharClass$11, "CharClass$11", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$11_contains(this, var_1); }],
jur_CharClass$10, "CharClass$10", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$10_contains(this, var_1); }],
jur_CharClass$13, "CharClass$13", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$13_contains(this, var_1); }],
jur_CharClass$12, "CharClass$12", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$12_contains(this, var_1); }],
jur_CharClass$15, "CharClass$15", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$15_contains(this, var_1); }],
jur_CharClass$14, "CharClass$14", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$14_contains(this, var_1); }],
jur_CharClass$17, "CharClass$17", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$17_contains(this, var_1); }],
jur_CharClass$16, "CharClass$16", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return jur_CharClass$16_contains(this, var_1); }],
ju_Iterator, "Iterator", 8, jl_Object, [], 3, 3, 0, 0,
ju_AbstractList$1, "AbstractList$1", 8, jl_Object, [ju_Iterator], 0, 0, 0, ["$hasNext", function() { return ju_AbstractList$1_hasNext(this); }, "$next", function() { return ju_AbstractList$1_next(this); }]]);
$rt_metadata([jl_ConsoleOutputStreamStderr, "ConsoleOutputStreamStderr", 22, ji_OutputStream, [], 0, 0, 0, ["$write2", function(var_1) { jl_ConsoleOutputStreamStderr_write(this, var_1); }],
nms_AxisAlignedBB, "AxisAlignedBB", 79, jl_Object, [], 0, 3, 0, ["$toString", function() { return nms_AxisAlignedBB_toString(this); }],
nms_GameSettings, "GameSettings", 79, jl_Object, [], 0, 3, nms_GameSettings_$callClinit, 0,
nms_RenderBlocks, "RenderBlocks", 79, jl_Object, [], 0, 3, 0, 0,
nms_EntityRenderer, "EntityRenderer", 79, jl_Object, [], 0, 3, 0, 0,
jt_SimpleDatePatternParser, "SimpleDatePatternParser", 19, jl_Object, [], 0, 0, 0, 0,
jt_DateFormatElement, "DateFormatElement", 19, jl_Object, [], 1, 0, 0, 0,
jnc_CodingErrorAction, "CodingErrorAction", 15, jl_Object, [], 0, 3, 0, 0,
nms_AABBPool, "AABBPool", 79, jl_Object, [], 0, 3, 0, 0,
nms_RenderEngine, "RenderEngine", 79, jl_Object, [], 0, 3, 0, 0,
nms_IBlockAccess, "IBlockAccess", 79, jl_Object, [], 3, 3, 0, 0,
nms_World, "World", 79, jl_Object, [nms_IBlockAccess], 1, 3, 0, ["$getBiomeGenForCoords", function(var_1, var_2) { return nms_World_getBiomeGenForCoords(this, var_1, var_2); }, "$getBlockId", function(var_1, var_2, var_3) { return nms_World_getBlockId(this, var_1, var_2, var_3); }, "$isAirBlock", function(var_1, var_2, var_3) { return nms_World_isAirBlock(this, var_1, var_2, var_3); }, "$getBlockMaterial", function(var_1, var_2, var_3) { return nms_World_getBlockMaterial(this, var_1, var_2, var_3); }, "$getBlockMetadata",
function(var_1, var_2, var_3) { return nms_World_getBlockMetadata(this, var_1, var_2, var_3); }, "$getLightBrightnessForSkyBlocks", function(var_1, var_2, var_3, var_4) { return nms_World_getLightBrightnessForSkyBlocks(this, var_1, var_2, var_3, var_4); }, "$getBrightness0", function(var_1, var_2, var_3, var_4) { return nms_World_getBrightness(this, var_1, var_2, var_3, var_4); }, "$getLightBrightness", function(var_1, var_2, var_3) { return nms_World_getLightBrightness(this, var_1, var_2, var_3); }, "$getBlockTileEntity",
function(var_1, var_2, var_3) { return nms_World_getBlockTileEntity(this, var_1, var_2, var_3); }, "$isBlockOpaqueCube", function(var_1, var_2, var_3) { return nms_World_isBlockOpaqueCube(this, var_1, var_2, var_3); }, "$isBlockNormalCube", function(var_1, var_2, var_3) { return nms_World_isBlockNormalCube(this, var_1, var_2, var_3); }, "$doesBlockHaveSolidTopSurface", function(var_1, var_2, var_3) { return nms_World_doesBlockHaveSolidTopSurface(this, var_1, var_2, var_3); }, "$isBlockProvidingPowerTo", function(var_1,
var_2, var_3, var_4) { return nms_World_isBlockProvidingPowerTo(this, var_1, var_2, var_3, var_4); }, "$getHeight", function() { return nms_World_getHeight(this); }, "$getWorldVec3Pool", function() { return nms_World_getWorldVec3Pool(this); }],
nms_Vec3Pool, "Vec3Pool", 79, jl_Object, [], 0, 3, 0, 0,
nms_Entity, "Entity", 79, jl_Object, [], 1, 3, 0, ["$equals", function(var_1) { return nms_Entity_equals(this, var_1); }, "$hashCode0", function() { return nms_Entity_hashCode(this); }, "$setDead", function() { nms_Entity_setDead(this); }, "$onUpdate", function() { nms_Entity_onUpdate(this); }, "$onEntityUpdate", function() { nms_Entity_onEntityUpdate(this); }, "$kill", function() { nms_Entity_kill(this); }, "$moveEntity", function(var_1, var_2, var_3) { nms_Entity_moveEntity(this, var_1, var_2, var_3); }, "$playStepSound",
function(var_1, var_2, var_3, var_4) { nms_Entity_playStepSound(this, var_1, var_2, var_3, var_4); }, "$playSound1", function(var_1, var_2, var_3) { nms_Entity_playSound(this, var_1, var_2, var_3); }, "$canTriggerWalking", function() { return nms_Entity_canTriggerWalking(this); }, "$updateFallState", function(var_1, var_2) { nms_Entity_updateFallState(this, var_1, var_2); }, "$getBoundingBox", function() { return nms_Entity_getBoundingBox(this); }, "$dealFireDamage", function(var_1) { nms_Entity_dealFireDamage(this,
var_1); }, "$fall", function(var_1) { nms_Entity_fall(this, var_1); }, "$isInWater", function() { return nms_Entity_isInWater(this); }, "$handleWaterMovement", function() { return nms_Entity_handleWaterMovement(this); }, "$getEyeHeight", function() { return nms_Entity_getEyeHeight(this); }, "$handleLavaMovement", function() { return nms_Entity_handleLavaMovement(this); }, "$getBrightnessForRender", function(var_1) { return nms_Entity_getBrightnessForRender(this, var_1); }, "$getBrightness", function(var_1) {
return nms_Entity_getBrightness(this, var_1); }, "$setWorld", function(var_1) { return nms_Entity_setWorld(this, var_1); }, "$onCollideWithPlayer", function(var_1) { nms_Entity_onCollideWithPlayer(this, var_1); }, "$addVelocity", function(var_1, var_2, var_3) { nms_Entity_addVelocity(this, var_1, var_2, var_3); }, "$attackEntityFrom", function(var_1, var_2) { return nms_Entity_attackEntityFrom(this, var_1, var_2); }, "$canBeCollidedWith", function() { return nms_Entity_canBeCollidedWith(this); }, "$canBePushed",
function() { return nms_Entity_canBePushed(this); }, "$isInRangeToRenderVec3D", function(var_1) { return nms_Entity_isInRangeToRenderVec3D(this, var_1); }, "$isInRangeToRenderDist", function(var_1) { return nms_Entity_isInRangeToRenderDist(this, var_1); }, "$getShadowSize", function() { return nms_Entity_getShadowSize(this); }, "$isEntityAlive", function() { return nms_Entity_isEntityAlive(this); }, "$isEntityInsideOpaqueBlock", function() { return nms_Entity_isEntityInsideOpaqueBlock(this); }, "$interact",
function(var_1) { return nms_Entity_interact(this, var_1); }, "$getCollisionBox", function(var_1) { return nms_Entity_getCollisionBox(this, var_1); }, "$updateRidden", function() { nms_Entity_updateRidden(this); }, "$updateRiderPosition", function() { nms_Entity_updateRiderPosition(this); }, "$getYOffset", function() { return nms_Entity_getYOffset(this); }, "$getMountedYOffset", function() { return nms_Entity_getMountedYOffset(this); }, "$mountEntity", function(var_1) { nms_Entity_mountEntity(this, var_1); },
"$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_Entity_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$getCollisionBorderSize", function() { return nms_Entity_getCollisionBorderSize(this); }, "$getLookVec", function() { return nms_Entity_getLookVec(this); }, "$getPortalCooldown", function() { return nms_Entity_getPortalCooldown(this); }, "$setVelocity", function(var_1, var_2, var_3) { nms_Entity_setVelocity(this, var_1, var_2, var_3); }, "$handleHealthUpdate",
function(var_1) { nms_Entity_handleHealthUpdate(this, var_1); }, "$performHurtAnimation", function() { nms_Entity_performHurtAnimation(this); }, "$updateCloak", function() { nms_Entity_updateCloak(this); }, "$getLastActiveItems", function() { return nms_Entity_getLastActiveItems(this); }, "$setCurrentItemOrArmor", function(var_1, var_2) { nms_Entity_setCurrentItemOrArmor(this, var_1, var_2); }, "$isBurning", function() { return nms_Entity_isBurning(this); }, "$isSneaking", function() { return nms_Entity_isSneaking(this);
}, "$func_98034_c", function(var_1) { return nms_Entity_func_98034_c(this, var_1); }, "$setInWeb", function() { nms_Entity_setInWeb(this); }, "$getEntityName", function() { return nms_Entity_getEntityName(this); }, "$getParts", function() { return nms_Entity_getParts(this); }, "$isEntityEqual", function(var_1) { return nms_Entity_isEntityEqual(this, var_1); }, "$setRotationYawHead", function(var_1) { nms_Entity_setRotationYawHead(this, var_1); }, "$canAttackWithItem", function() { return nms_Entity_canAttackWithItem(this);
}, "$func_85031_j", function(var_1) { return nms_Entity_func_85031_j(this, var_1); }, "$toString", function() { return nms_Entity_toString(this); }, "$canRenderOnFire", function() { return nms_Entity_canRenderOnFire(this); }, "$func_96092_aw", function() { return nms_Entity_func_96092_aw(this); }, "$getTranslatedEntityName", function() { return nms_Entity_getTranslatedEntityName(this); }],
nms_EntityLiving, "EntityLiving", 79, nms_Entity, [], 1, 3, 0, ["$setRotationYawHead", function(var_1) { nms_EntityLiving_setRotationYawHead(this, var_1); }, "$updateFallState", function(var_1, var_2) { nms_EntityLiving_updateFallState(this, var_1, var_2); }, "$setRevengeTarget", function(var_1) { nms_EntityLiving_setRevengeTarget(this, var_1); }, "$entityInit", function() { nms_EntityLiving_entityInit(this); }, "$canBeCollidedWith", function() { return nms_EntityLiving_canBeCollidedWith(this); }, "$canBePushed",
function() { return nms_EntityLiving_canBePushed(this); }, "$getEyeHeight", function() { return nms_EntityLiving_getEyeHeight(this); }, "$getTalkInterval", function() { return nms_EntityLiving_getTalkInterval(this); }, "$onEntityUpdate", function() { nms_EntityLiving_onEntityUpdate(this); }, "$onDeathUpdate", function() { nms_EntityLiving_onDeathUpdate(this); }, "$decreaseAirSupply", function(var_1) { return nms_EntityLiving_decreaseAirSupply(this, var_1); }, "$updateRidden", function() { nms_EntityLiving_updateRidden(this);
}, "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityLiving_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onUpdate", function() { nms_EntityLiving_onUpdate(this); }, "$heal", function(var_1) { nms_EntityLiving_heal(this, var_1); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityLiving_attackEntityFrom(this, var_1, var_2); }, "$getSoundPitch", function() { return nms_EntityLiving_getSoundPitch(this); }, "$performHurtAnimation",
function() { nms_EntityLiving_performHurtAnimation(this); }, "$getSoundVolume", function() { return nms_EntityLiving_getSoundVolume(this); }, "$getLivingSound", function() { return nms_EntityLiving_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityLiving_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityLiving_getDeathSound(this); }, "$onDeath", function(var_1) { nms_EntityLiving_onDeath(this, var_1); }, "$fall", function(var_1) { nms_EntityLiving_fall(this, var_1);
}, "$moveEntityWithHeading", function(var_1, var_2) { nms_EntityLiving_moveEntityWithHeading(this, var_1, var_2); }, "$isOnLadder", function() { return nms_EntityLiving_isOnLadder(this); }, "$isEntityAlive", function() { return nms_EntityLiving_isEntityAlive(this); }, "$canBreatheUnderwater", function() { return nms_EntityLiving_canBreatheUnderwater(this); }, "$onLivingUpdate", function() { nms_EntityLiving_onLivingUpdate(this); }, "$isAIEnabled", function() { return nms_EntityLiving_isAIEnabled(this); }, "$isClientWorld",
function() { return nms_EntityLiving_isClientWorld(this); }, "$isMovementBlocked", function() { return nms_EntityLiving_isMovementBlocked(this); }, "$jump", function() { nms_EntityLiving_jump(this); }, "$canDespawn", function() { return nms_EntityLiving_canDespawn(this); }, "$despawnEntity", function() { nms_EntityLiving_despawnEntity(this); }, "$updateAITasks", function() { nms_EntityLiving_updateAITasks(this); }, "$updateAITick", function() { nms_EntityLiving_updateAITick(this); }, "$updateEntityActionState",
function() { nms_EntityLiving_updateEntityActionState(this); }, "$getVerticalFaceSpeed", function() { return nms_EntityLiving_getVerticalFaceSpeed(this); }, "$kill", function() { nms_EntityLiving_kill(this); }, "$getLookVec", function() { return nms_EntityLiving_getLookVec(this); }, "$handleHealthUpdate", function(var_1) { nms_EntityLiving_handleHealthUpdate(this, var_1); }, "$isPlayerSleeping", function() { return nms_EntityLiving_isPlayerSleeping(this); }, "$getItemIcon", function(var_1, var_2) { return nms_EntityLiving_getItemIcon(this,
var_1, var_2); }, "$addPotionEffect", function(var_1) { nms_EntityLiving_addPotionEffect(this, var_1); }, "$isPotionApplicable", function(var_1) { return nms_EntityLiving_isPotionApplicable(this, var_1); }, "$getSpeedModifier", function() { return nms_EntityLiving_getSpeedModifier(this); }, "$isChild", function() { return nms_EntityLiving_isChild(this); }, "$getCreatureAttribute", function() { return nms_EntityLiving_getCreatureAttribute(this); }, "$func_82143_as", function() { return nms_EntityLiving_func_82143_as(this);
}, "$getHeldItem", function() { return nms_EntityLiving_getHeldItem(this); }, "$getCurrentArmor", function(var_1) { return nms_EntityLiving_getCurrentArmor(this, var_1); }, "$setCurrentItemOrArmor", function(var_1, var_2) { nms_EntityLiving_setCurrentItemOrArmor(this, var_1, var_2); }, "$getLastActiveItems", function() { return nms_EntityLiving_getLastActiveItems(this); }, "$swingItem", function() { nms_EntityLiving_swingItem(this); }, "$getEntityName", function() { return nms_EntityLiving_getEntityName(this);
}, "$func_94062_bN", function() { return nms_EntityLiving_func_94062_bN(this); }, "$func_94059_bO", function() { return nms_EntityLiving_func_94059_bO(this); }],
nms_ICommandSender, "ICommandSender", 79, jl_Object, [], 3, 3, 0, 0,
nms_EntityPlayer, "EntityPlayer", 79, nms_EntityLiving, [nms_ICommandSender], 1, 3, 0, ["$getBrightnessForRender", function(var_1) { return nms_EntityPlayer_getBrightnessForRender(this, var_1); }, "$getMaxHealth", function() { return nms_EntityPlayer_getMaxHealth(this); }, "$entityInit", function() { nms_EntityPlayer_entityInit(this); }, "$getPortalCooldown", function() { return nms_EntityPlayer_getPortalCooldown(this); }, "$playSound1", function(var_1, var_2, var_3) { nms_EntityPlayer_playSound(this, var_1,
var_2, var_3); }, "$handleHealthUpdate", function(var_1) { nms_EntityPlayer_handleHealthUpdate(this, var_1); }, "$isMovementBlocked", function() { return nms_EntityPlayer_isMovementBlocked(this); }, "$mountEntity", function(var_1) { nms_EntityPlayer_mountEntity(this, var_1); }, "$updateRidden", function() { nms_EntityPlayer_updateRidden(this); }, "$updateEntityActionState", function() { nms_EntityPlayer_updateEntityActionState(this); }, "$onDeath", function(var_1) { nms_EntityPlayer_onDeath(this, var_1); },
"$joinEntityItemWithWorld", function(var_1) { nms_EntityPlayer_joinEntityItemWithWorld(this, var_1); }, "$getEyeHeight", function() { return nms_EntityPlayer_getEyeHeight(this); }, "$resetHeight", function() { nms_EntityPlayer_resetHeight(this); }, "$getYOffset", function() { return nms_EntityPlayer_getYOffset(this); }, "$setDead", function() { nms_EntityPlayer_setDead(this); }, "$isEntityInsideOpaqueBlock", function() { return nms_EntityPlayer_isEntityInsideOpaqueBlock(this); }, "$func_71066_bF", function()
{ return nms_EntityPlayer_func_71066_bF(this); }, "$isPlayerSleeping", function() { return nms_EntityPlayer_isPlayerSleeping(this); }, "$addStat", function(var_1, var_2) { nms_EntityPlayer_addStat(this, var_1, var_2); }, "$jump", function() { nms_EntityPlayer_jump(this); }, "$moveEntityWithHeading", function(var_1, var_2) { nms_EntityPlayer_moveEntityWithHeading(this, var_1, var_2); }, "$fall", function(var_1) { nms_EntityPlayer_fall(this, var_1); }, "$setInWeb", function() { nms_EntityPlayer_setInWeb(this);
}, "$getItemIcon", function(var_1, var_2) { return nms_EntityPlayer_getItemIcon(this, var_1, var_2); }, "$getCurrentArmor", function(var_1) { return nms_EntityPlayer_getCurrentArmor(this, var_1); }, "$getEntityName", function() { return nms_EntityPlayer_getEntityName(this); }, "$func_94062_bN", function() { return nms_EntityPlayer_func_94062_bN(this); }, "$func_94059_bO", function() { return nms_EntityPlayer_func_94059_bO(this); }, "$canTriggerWalking", function() { return nms_EntityPlayer_canTriggerWalking(this);
}, "$getHeldItem", function() { return nms_EntityPlayer_getHeldItem(this); }, "$setCurrentItemOrArmor", function(var_1, var_2) { nms_EntityPlayer_setCurrentItemOrArmor(this, var_1, var_2); }, "$func_98034_c", function(var_1) { return nms_EntityPlayer_func_98034_c(this, var_1); }, "$getLastActiveItems", function() { return nms_EntityPlayer_getLastActiveItems(this); }, "$func_96092_aw", function() { return nms_EntityPlayer_func_96092_aw(this); }, "$getTranslatedEntityName", function() { return nms_EntityPlayer_getTranslatedEntityName(this);
}],
nlea_Tessellator, "Tessellator", 83, jl_Object, [], 0, 3, nlea_Tessellator_$callClinit, 0,
jt_NumberFormat, "NumberFormat", 19, jt_Format, [], 1, 3, 0, ["$format2", function(var_1, var_2, var_3) { return jt_NumberFormat_format0(this, var_1, var_2, var_3); }],
jt_DecimalFormat, "DecimalFormat", 19, jt_NumberFormat, [], 0, 3, 0, ["$equals", function(var_1) { return jt_DecimalFormat_equals(this, var_1); }, "$hashCode0", function() { return jt_DecimalFormat_hashCode(this); }, "$format2", function(var_1, var_2, var_3) { return jt_DecimalFormat_format0(this, var_1, var_2, var_3); }, "$format8", function(var_1, var_2, var_3) { return jt_DecimalFormat_format2(this, var_1, var_2, var_3); }, "$format7", function(var_1, var_2, var_3) { return jt_DecimalFormat_format(this, var_1,
var_2, var_3); }],
nms_ProfilerResult, "ProfilerResult", 79, jl_Object, [jl_Comparable], 4, 3, 0, ["$compareTo7", function(var_1) { return nms_ProfilerResult_compareTo(this, var_1); }],
nms_MathHelper, "MathHelper", 79, jl_Object, [], 0, 3, 0, 0,
nms_GuiAchievement, "GuiAchievement", 79, nms_Gui, [], 0, 3, 0, 0,
nms_ScaledResolution, "ScaledResolution", 79, jl_Object, [], 0, 3, 0, 0,
nms_GuiMainMenu, "GuiMainMenu", 79, nms_GuiScreen, [], 0, 3, nms_GuiMainMenu_$callClinit, ["$handleMouseInput", function() { nms_GuiMainMenu_handleMouseInput(this); }, "$keyTyped", function(var_1, var_2) { nms_GuiMainMenu_keyTyped(this, var_1, var_2); }, "$initGui", function() { nms_GuiMainMenu_initGui(this); }, "$mouseClicked", function(var_1, var_2, var_3) { nms_GuiMainMenu_mouseClicked(this, var_1, var_2, var_3); }, "$actionPerformed", function(var_1) { nms_GuiMainMenu_actionPerformed(this, var_1); }, "$drawScreen",
function(var_1, var_2, var_3) { nms_GuiMainMenu_drawScreen(this, var_1, var_2, var_3); }, "$updateScreen", function() { nms_GuiMainMenu_updateScreen(this); }],
ju_Date, "Date", 8, jl_Object, [jl_Comparable], 0, 3, 0, 0,
jn_CharBufferImpl, "CharBufferImpl", 14, jn_CharBuffer, [], 1, 0, 0, 0,
jn_CharBufferOverArray, "CharBufferOverArray", 14, jn_CharBufferImpl, [], 0, 0, 0, 0,
jnc_CharsetEncoder, "CharsetEncoder", 15, jl_Object, [], 1, 3, 0, 0,
jnc_CoderResult, "CoderResult", 15, jl_Object, [], 0, 3, 0, 0,
jl_ThreadLocal, "ThreadLocal", 22, jl_Object, [], 0, 3, 0, 0,
nms_AABBLocalPool, "AABBLocalPool", 79, jl_ThreadLocal, [], 4, 0, 0, 0,
jt_DecimalFormatSymbols, "DecimalFormatSymbols", 19, jl_Object, [jl_Cloneable], 0, 3, 0, 0,
nms_FontRenderer, "FontRenderer", 79, jl_Object, [], 0, 3, 0, 0,
jt_DecimalFormat$FormatField, "DecimalFormat$FormatField", 19, jl_Object, [], 3, 0, 0, 0,
jt_DecimalFormat$TextField, "DecimalFormat$TextField", 19, jl_Object, [jt_DecimalFormat$FormatField], 0, 0, 0, ["$render", function(var_1, var_2) { jt_DecimalFormat$TextField_render(this, var_1, var_2); }, "$equals", function(var_1) { return jt_DecimalFormat$TextField_equals(this, var_1); }, "$hashCode0", function() { return jt_DecimalFormat$TextField_hashCode(this); }],
jm_RoundingMode, "RoundingMode", 18, jl_Enum, [], 12, 3, 0, 0,
ju_Currency, "Currency", 8, jl_Object, [ji_Serializable], 4, 3, 0, ["$toString", function() { return ju_Currency_toString(this); }],
nms_EnumOS, "EnumOS", 79, jl_Enum, [], 12, 3, 0, 0,
otcic_CurrencyHelper, "CurrencyHelper", 57, jl_Object, [], 4, 3, 0, 0,
jn_IntBufferOverByteBuffer, "IntBufferOverByteBuffer", 14, jn_IntBufferImpl, [], 1, 0, 0, ["$readOnly1", function() { return jn_IntBufferOverByteBuffer_readOnly(this); }],
jn_IntBufferOverByteBufferLittleEndian, "IntBufferOverByteBufferLittleEndian", 14, jn_IntBufferOverByteBuffer, [], 0, 0, 0, ["$getElement", function(var_1) { return jn_IntBufferOverByteBufferLittleEndian_getElement(this, var_1); }, "$putElement", function(var_1, var_2) { jn_IntBufferOverByteBufferLittleEndian_putElement(this, var_1, var_2); }],
jn_IntBufferOverByteBufferBigEndian, "IntBufferOverByteBufferBigEndian", 14, jn_IntBufferOverByteBuffer, [], 0, 0, 0, ["$getElement", function(var_1) { return jn_IntBufferOverByteBufferBigEndian_getElement(this, var_1); }, "$putElement", function(var_1, var_2) { jn_IntBufferOverByteBufferBigEndian_putElement(this, var_1, var_2); }],
jur_BackReferencedSingleSet, "BackReferencedSingleSet", 9, jur_SingleSet, [], 0, 0, 0, ["$find0", function(var_1, var_2, var_3) { return jur_BackReferencedSingleSet_find(this, var_1, var_2, var_3); }, "$findBack", function(var_1, var_2, var_3, var_4) { return jur_BackReferencedSingleSet_findBack(this, var_1, var_2, var_3, var_4); }, "$processBackRefReplacement", function() { return jur_BackReferencedSingleSet_processBackRefReplacement(this); }],
ju_HashMap$2, "HashMap$2", 8, ju_AbstractCollection, [], 0, 0, 0, ["$size0", function() { return ju_HashMap$2_size(this); }, "$iterator", function() { return ju_HashMap$2_iterator(this); }],
jl_Double, "Double", 22, jl_Number, [jl_Comparable], 0, 3, 0, ["$doubleValue", function() { return jl_Double_doubleValue(this); }, "$intValue", function() { return jl_Double_intValue(this); }, "$longValue", function() { return jl_Double_longValue(this); }, "$toString", function() { return jl_Double_toString0(this); }, "$equals", function(var_1) { return jl_Double_equals(this, var_1); }, "$hashCode0", function() { return jl_Double_hashCode(this); }, "$compareTo7", function(var_1) { return jl_Double_compareTo0(this,
var_1); }],
nle_BaseNCodec$Context, "BaseNCodec$Context", 82, jl_Object, [], 0, 0, 0, 0,
nms_OpenGlHelper, "OpenGlHelper", 79, jl_Object, [], 0, 3, 0, 0,
nms_TextureManager, "TextureManager", 79, jl_Object, [], 0, 3, 0, 0,
nms_TexturePackList, "TexturePackList", 79, jl_Object, [], 0, 3, nms_TexturePackList_$callClinit, 0]);
$rt_metadata([nms_ChatAllowedCharacters, "ChatAllowedCharacters", 79, jl_Object, [], 0, 3, 0, 0,
nms_ColorizerGrass, "ColorizerGrass", 79, jl_Object, [], 0, 3, 0, 0,
nms_ColorizerFoliage, "ColorizerFoliage", 79, jl_Object, [], 0, 3, 0, 0,
nms_RenderManager, "RenderManager", 79, jl_Object, [], 0, 3, 0, 0,
nms_ItemRenderer, "ItemRenderer", 79, jl_Object, [], 0, 3, 0, 0,
nms_AchievementList, "AchievementList", 79, jl_Object, [], 0, 3, nms_AchievementList_$callClinit, 0,
nms_IStatStringFormat, "IStatStringFormat", 79, jl_Object, [], 3, 3, 0, 0,
nms_StatStringFormatKeyInv, "StatStringFormatKeyInv", 79, jl_Object, [nms_IStatStringFormat], 0, 3, 0, 0,
nms_MouseHelper, "MouseHelper", 79, jl_Object, [], 0, 3, 0, 0,
nms_IWorldAccess, "IWorldAccess", 79, jl_Object, [], 3, 3, 0, 0,
nms_RenderGlobal, "RenderGlobal", 79, jl_Object, [nms_IWorldAccess], 0, 3, 0, 0,
nms_EffectRenderer, "EffectRenderer", 79, jl_Object, [], 0, 3, 0, 0,
nleg_EffectPipeline, "EffectPipeline", 85, jl_Object, [], 0, 3, nleg_EffectPipeline_$callClinit, 0,
nms_GuiIngame, "GuiIngame", 79, nms_Gui, [], 0, 3, 0, 0,
nms_StringTranslate, "StringTranslate", 79, jl_Object, [], 0, 3, 0, 0,
nms_GuiConnecting, "GuiConnecting", 79, nms_GuiScreen, [], 0, 3, 0, ["$updateScreen", function() { nms_GuiConnecting_updateScreen(this); }, "$keyTyped", function(var_1, var_2) { nms_GuiConnecting_keyTyped(this, var_1, var_2); }, "$initGui", function() { nms_GuiConnecting_initGui(this); }, "$actionPerformed", function(var_1) { nms_GuiConnecting_actionPerformed(this, var_1); }, "$drawScreen", function(var_1, var_2, var_3) { nms_GuiConnecting_drawScreen(this, var_1, var_2, var_3); }],
nms_IProgressUpdate, "IProgressUpdate", 79, jl_Object, [], 3, 3, 0, 0,
nms_LoadingScreenRenderer, "LoadingScreenRenderer", 79, jl_Object, [nms_IProgressUpdate], 0, 3, 0, 0,
nle_GuiScreenLicense, "GuiScreenLicense", 82, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { nle_GuiScreenLicense_initGui(this); }, "$actionPerformed", function(var_1) { nle_GuiScreenLicense_actionPerformed(this, var_1); }, "$drawScreen", function(var_1, var_2, var_3) { nle_GuiScreenLicense_drawScreen(this, var_1, var_2, var_3); }, "$mouseClicked", function(var_1, var_2, var_3) { nle_GuiScreenLicense_mouseClicked(this, var_1, var_2, var_3); }],
cjj_InfBlocks, "InfBlocks", 2, jl_Object, [], 4, 0, 0, 0,
nle_DefaultSkinRenderer, "DefaultSkinRenderer", 82, jl_Object, [], 0, 3, 0, 0,
nms_GuiMultiplayer, "GuiMultiplayer", 79, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { nms_GuiMultiplayer_initGui(this); }, "$updateScreen", function() { nms_GuiMultiplayer_updateScreen(this); }, "$onGuiClosed", function() { nms_GuiMultiplayer_onGuiClosed(this); }, "$actionPerformed", function(var_1) { nms_GuiMultiplayer_actionPerformed(this, var_1); }, "$confirmClicked", function(var_1, var_2) { nms_GuiMultiplayer_confirmClicked(this, var_1, var_2); }, "$keyTyped", function(var_1, var_2) { nms_GuiMultiplayer_keyTyped(this,
var_1, var_2); }, "$drawScreen", function(var_1, var_2, var_3) { nms_GuiMultiplayer_drawScreen(this, var_1, var_2, var_3); }, "$mouseClicked", function(var_1, var_2, var_3) { nms_GuiMultiplayer_mouseClicked(this, var_1, var_2, var_3); }],
nle_GuiScreenVoiceChannel, "GuiScreenVoiceChannel", 82, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { nle_GuiScreenVoiceChannel_initGui(this); }, "$onGuiClosed", function() { nle_GuiScreenVoiceChannel_onGuiClosed(this); }, "$drawScreen", function(var_1, var_2, var_3) { nle_GuiScreenVoiceChannel_drawScreen(this, var_1, var_2, var_3); }, "$actionPerformed", function(var_1) { nle_GuiScreenVoiceChannel_actionPerformed(this, var_1); }, "$updateScreen", function() { nle_GuiScreenVoiceChannel_updateScreen(this);
}, "$keyTyped", function(var_1, var_2) { nle_GuiScreenVoiceChannel_keyTyped(this, var_1, var_2); }, "$mouseClicked", function(var_1, var_2, var_3) { nle_GuiScreenVoiceChannel_mouseClicked(this, var_1, var_2, var_3); }],
maa_NoteblockPlayer, "NoteblockPlayer", 68, jl_Object, [], 0, 3, maa_NoteblockPlayer_$callClinit, 0,
nms_KeyBinding, "KeyBinding", 79, jl_Object, [], 0, 3, 0, 0,
nms_EntityPlayerSP, "EntityPlayerSP", 79, nms_EntityPlayer, [], 0, 3, 0, ["$moveEntity", function(var_1, var_2, var_3) { nms_EntityPlayerSP_moveEntity(this, var_1, var_2, var_3); }, "$updateEntityActionState", function() { nms_EntityPlayerSP_updateEntityActionState(this); }, "$isClientWorld", function() { return nms_EntityPlayerSP_isClientWorld(this); }, "$onLivingUpdate", function() { nms_EntityPlayerSP_onLivingUpdate(this); }, "$updateCloak", function() { nms_EntityPlayerSP_updateCloak(this); }, "$isSneaking",
function() { return nms_EntityPlayerSP_isSneaking(this); }, "$getHeldItem", function() { return nms_EntityPlayerSP_getHeldItem(this); }, "$playSound1", function(var_1, var_2, var_3) { nms_EntityPlayerSP_playSound(this, var_1, var_2, var_3); }],
nms_EntityClientPlayerMP, "EntityClientPlayerMP", 79, nms_EntityPlayerSP, [], 0, 3, 0, ["$attackEntityFrom", function(var_1, var_2) { return nms_EntityClientPlayerMP_attackEntityFrom(this, var_1, var_2); }, "$heal", function(var_1) { nms_EntityClientPlayerMP_heal(this, var_1); }, "$onUpdate", function() { nms_EntityClientPlayerMP_onUpdate(this); }, "$joinEntityItemWithWorld", function(var_1) { nms_EntityClientPlayerMP_joinEntityItemWithWorld(this, var_1); }, "$swingItem", function() { nms_EntityClientPlayerMP_swingItem(this);
}, "$addStat", function(var_1, var_2) { nms_EntityClientPlayerMP_addStat(this, var_1, var_2); }, "$func_71066_bF", function() { return nms_EntityClientPlayerMP_func_71066_bF(this); }],
nms_IInventory, "IInventory", 79, jl_Object, [], 3, 3, 0, 0,
nms_InventoryPlayer, "InventoryPlayer", 79, jl_Object, [nms_IInventory], 0, 3, 0, ["$decrStackSize", function(var_1, var_2) { return nms_InventoryPlayer_decrStackSize(this, var_1, var_2); }, "$setInventorySlotContents", function(var_1, var_2) { nms_InventoryPlayer_setInventorySlotContents(this, var_1, var_2); }, "$getStackInSlot", function(var_1) { return nms_InventoryPlayer_getStackInSlot(this, var_1); }, "$getInventoryStackLimit", function() { return nms_InventoryPlayer_getInventoryStackLimit(this); }, "$onInventoryChanged",
function() { nms_InventoryPlayer_onInventoryChanged(this); }],
nleg_FixedFunctionShader, "FixedFunctionShader", 85, jl_Object, [], 0, 3, 0, 0,
nms_EnumOptions, "EnumOptions", 79, jl_Enum, [], 12, 3, 0, 0,
nms_GuiContainer, "GuiContainer", 79, nms_GuiScreen, [], 1, 3, 0, ["$initGui", function() { nms_GuiContainer_initGui(this); }, "$drawScreen", function(var_1, var_2, var_3) { nms_GuiContainer_drawScreen(this, var_1, var_2, var_3); }, "$mouseClicked", function(var_1, var_2, var_3) { nms_GuiContainer_mouseClicked(this, var_1, var_2, var_3); }, "$func_85041_a", function(var_1, var_2, var_3, var_4) { nms_GuiContainer_func_85041_a(this, var_1, var_2, var_3, var_4); }, "$mouseMovedOrUp", function(var_1, var_2, var_3)
{ nms_GuiContainer_mouseMovedOrUp(this, var_1, var_2, var_3); }, "$handleMouseClick", function(var_1, var_2, var_3, var_4) { nms_GuiContainer_handleMouseClick(this, var_1, var_2, var_3, var_4); }, "$keyTyped", function(var_1, var_2) { nms_GuiContainer_keyTyped(this, var_1, var_2); }, "$onGuiClosed", function() { nms_GuiContainer_onGuiClosed(this); }, "$updateScreen", function() { nms_GuiContainer_updateScreen(this); }],
nms_InventoryEffectRenderer, "InventoryEffectRenderer", 79, nms_GuiContainer, [], 1, 3, 0, 0,
nms_GuiInventory, "GuiInventory", 79, nms_InventoryEffectRenderer, [], 0, 3, 0, ["$updateScreen", function() { nms_GuiInventory_updateScreen(this); }, "$initGui", function() { nms_GuiInventory_initGui(this); }, "$drawGuiContainerForegroundLayer", function(var_1, var_2) { nms_GuiInventory_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$drawScreen", function(var_1, var_2, var_3) { nms_GuiInventory_drawScreen(this, var_1, var_2, var_3); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3)
{ nms_GuiInventory_drawGuiContainerBackgroundLayer(this, var_1, var_2, var_3); }, "$actionPerformed", function(var_1) { nms_GuiInventory_actionPerformed(this, var_1); }],
nms_GuiChat, "GuiChat", 79, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { nms_GuiChat_initGui(this); }, "$actionPerformed", function(var_1) { nms_GuiChat_actionPerformed(this, var_1); }, "$onGuiClosed", function() { nms_GuiChat_onGuiClosed(this); }, "$updateScreen", function() { nms_GuiChat_updateScreen(this); }, "$keyTyped", function(var_1, var_2) { nms_GuiChat_keyTyped(this, var_1, var_2); }, "$handleMouseInput", function() { nms_GuiChat_handleMouseInput(this); }, "$mouseClicked", function(var_1, var_2,
var_3) { nms_GuiChat_mouseClicked(this, var_1, var_2, var_3); }, "$confirmClicked", function(var_1, var_2) { nms_GuiChat_confirmClicked(this, var_1, var_2); }, "$drawScreen", function(var_1, var_2, var_3) { nms_GuiChat_drawScreen(this, var_1, var_2, var_3); }],
nms_WorldClient, "WorldClient", 79, nms_World, [], 0, 3, 0, 0,
nms_GuiSleepMP, "GuiSleepMP", 79, nms_GuiChat, [], 0, 3, 0, ["$initGui", function() { nms_GuiSleepMP_initGui(this); }, "$keyTyped", function(var_1, var_2) { nms_GuiSleepMP_keyTyped(this, var_1, var_2); }, "$actionPerformed", function(var_1) { nms_GuiSleepMP_actionPerformed(this, var_1); }],
nms_SoundManager$EntitySoundEvent, "SoundManager$EntitySoundEvent", 79, jl_Object, [], 0, 0, 0, 0,
nms_SoundManager$QueuedSoundEvent, "SoundManager$QueuedSoundEvent", 79, jl_Object, [], 0, 0, 0, 0,
jt_DateFormatElement$Numeric, "DateFormatElement$Numeric", 19, jt_DateFormatElement, [], 0, 3, 0, ["$format5", function(var_1, var_2) { jt_DateFormatElement$Numeric_format(this, var_1, var_2); }, "$processBeforeFormat", function(var_1) { return jt_DateFormatElement$Numeric_processBeforeFormat(this, var_1); }, "$equals", function(var_1) { return jt_DateFormatElement$Numeric_equals(this, var_1); }, "$hashCode0", function() { return jt_DateFormatElement$Numeric_hashCode(this); }],
jt_DateFormatElement$WeekdayText, "DateFormatElement$WeekdayText", 19, jt_DateFormatElement, [], 0, 3, 0, ["$format5", function(var_1, var_2) { jt_DateFormatElement$WeekdayText_format(this, var_1, var_2); }, "$equals", function(var_1) { return jt_DateFormatElement$WeekdayText_equals(this, var_1); }, "$hashCode0", function() { return jt_DateFormatElement$WeekdayText_hashCode(this); }],
jt_DateFormatElement$EraText, "DateFormatElement$EraText", 19, jt_DateFormatElement, [], 0, 3, 0, ["$format5", function(var_1, var_2) { jt_DateFormatElement$EraText_format(this, var_1, var_2); }, "$equals", function(var_1) { return jt_DateFormatElement$EraText_equals(this, var_1); }, "$hashCode0", function() { return jt_DateFormatElement$EraText_hashCode(this); }],
jt_DateFormatElement$BaseTimezone, "DateFormatElement$BaseTimezone", 19, jt_DateFormatElement, [], 1, 3, 0, ["$equals", function(var_1) { return jt_DateFormatElement$BaseTimezone_equals(this, var_1); }, "$hashCode0", function() { return jt_DateFormatElement$BaseTimezone_hashCode(this); }],
jt_DateFormatElement$Rfc822Timezone, "DateFormatElement$Rfc822Timezone", 19, jt_DateFormatElement$BaseTimezone, [], 0, 3, 0, ["$format5", function(var_1, var_2) { jt_DateFormatElement$Rfc822Timezone_format(this, var_1, var_2); }],
jt_DateFormatElement$AmPmText, "DateFormatElement$AmPmText", 19, jt_DateFormatElement, [], 0, 3, 0, ["$format5", function(var_1, var_2) { jt_DateFormatElement$AmPmText_format(this, var_1, var_2); }, "$equals", function(var_1) { return jt_DateFormatElement$AmPmText_equals(this, var_1); }, "$hashCode0", function() { return jt_DateFormatElement$AmPmText_hashCode(this); }],
jt_DateFormatElement$NumericHour, "DateFormatElement$NumericHour", 19, jt_DateFormatElement$Numeric, [], 0, 3, 0, ["$processBeforeFormat", function(var_1) { return jt_DateFormatElement$NumericHour_processBeforeFormat(this, var_1); }, "$equals", function(var_1) { return jt_DateFormatElement$NumericHour_equals(this, var_1); }, "$hashCode0", function() { return jt_DateFormatElement$NumericHour_hashCode(this); }],
jt_DateFormatElement$NumericWeekday, "DateFormatElement$NumericWeekday", 19, jt_DateFormatElement$Numeric, [], 0, 3, 0, ["$processBeforeFormat", function(var_1) { return jt_DateFormatElement$NumericWeekday_processBeforeFormat(this, var_1); }],
jt_DateFormatElement$GeneralTimezone, "DateFormatElement$GeneralTimezone", 19, jt_DateFormatElement$BaseTimezone, [], 0, 3, 0, ["$format5", function(var_1, var_2) { jt_DateFormatElement$GeneralTimezone_format(this, var_1, var_2); }],
jt_DateFormatElement$ConstantText, "DateFormatElement$ConstantText", 19, jt_DateFormatElement, [], 0, 3, 0, ["$format5", function(var_1, var_2) { jt_DateFormatElement$ConstantText_format(this, var_1, var_2); }, "$equals", function(var_1) { return jt_DateFormatElement$ConstantText_equals(this, var_1); }, "$hashCode0", function() { return jt_DateFormatElement$ConstantText_hashCode(this); }],
jt_DateFormatElement$Year, "DateFormatElement$Year", 19, jt_DateFormatElement, [], 0, 3, 0, ["$format5", function(var_1, var_2) { jt_DateFormatElement$Year_format(this, var_1, var_2); }, "$equals", function(var_1) { return jt_DateFormatElement$Year_equals(this, var_1); }, "$hashCode0", function() { return jt_DateFormatElement$Year_hashCode(this); }]]);
$rt_metadata([jt_DateFormatElement$Iso8601Timezone, "DateFormatElement$Iso8601Timezone", 19, jt_DateFormatElement, [], 0, 3, 0, ["$format5", function(var_1, var_2) { jt_DateFormatElement$Iso8601Timezone_format(this, var_1, var_2); }, "$equals", function(var_1) { return jt_DateFormatElement$Iso8601Timezone_equals(this, var_1); }, "$hashCode0", function() { return jt_DateFormatElement$Iso8601Timezone_hashCode(this); }],
jt_DateFormatElement$MonthText, "DateFormatElement$MonthText", 19, jt_DateFormatElement, [], 0, 3, 0, ["$format5", function(var_1, var_2) { jt_DateFormatElement$MonthText_format(this, var_1, var_2); }, "$equals", function(var_1) { return jt_DateFormatElement$MonthText_equals(this, var_1); }, "$hashCode0", function() { return jt_DateFormatElement$MonthText_hashCode(this); }],
jt_DateFormatElement$NumericMonth, "DateFormatElement$NumericMonth", 19, jt_DateFormatElement$Numeric, [], 0, 3, 0, ["$processBeforeFormat", function(var_1) { return jt_DateFormatElement$NumericMonth_processBeforeFormat(this, var_1); }],
jnci_BufferedEncoder, "BufferedEncoder", 16, jnc_CharsetEncoder, [], 1, 3, 0, 0,
jnci_UTF8Encoder, "UTF8Encoder", 16, jnci_BufferedEncoder, [], 0, 3, 0, 0,
ju_Collections, "Collections", 8, jl_Object, [], 0, 3, 0, 0,
jt_FieldPosition, "FieldPosition", 19, jl_Object, [], 0, 3, 0, 0,
jl_AssertionError, "AssertionError", 22, jl_Error, [], 0, 3, 0, 0,
jt_DecimalFormatParser, "DecimalFormatParser", 19, jl_Object, [], 0, 0, 0, 0,
ju_ConcurrentModificationException, "ConcurrentModificationException", 8, jl_RuntimeException, [], 0, 3, 0, 0,
nleg_EaglerAdapterGL30$DisplayList, "EaglerAdapterGL30$DisplayList", 85, jl_Object, [], 0, 0, 0, 0,
jl_Object$Monitor, "Object$Monitor", 22, jl_Object, [], 0, 0, 0, 0,
jl_IllegalMonitorStateException, "IllegalMonitorStateException", 22, jl_RuntimeException, [], 0, 3, 0, 0,
nms_IntHashMap, "IntHashMap", 79, jl_Object, [], 0, 3, 0, 0,
nms_IconRegister, "IconRegister", 79, jl_Object, [], 3, 3, 0, 0,
nle_TextureTerrainMap, "TextureTerrainMap", 82, jl_Object, [nms_IconRegister], 0, 3, nle_TextureTerrainMap_$callClinit, ["$registerIcon", function(var_1) { return nle_TextureTerrainMap_registerIcon(this, var_1); }],
nms_TextureMap, "TextureMap", 79, jl_Object, [nms_IconRegister], 0, 3, 0, ["$registerIcon", function(var_1) { return nms_TextureMap_registerIcon(this, var_1); }],
ji_Reader, "Reader", 17, jl_Object, [ji_Closeable], 1, 3, 0, 0,
ji_BufferedReader, "BufferedReader", 17, ji_Reader, [], 0, 3, 0, ["$read2", function() { return ji_BufferedReader_read(this); }],
ji_InputStreamReader, "InputStreamReader", 17, ji_Reader, [], 0, 3, 0, ["$close", function() { ji_InputStreamReader_close(this); }, "$read5", function(var_1, var_2, var_3) { return ji_InputStreamReader_read(this, var_1, var_2, var_3); }],
nms_MouseFilter, "MouseFilter", 79, jl_Object, [], 0, 3, 0, 0,
nms_EntityCreature, "EntityCreature", 79, nms_EntityLiving, [], 1, 3, 0, ["$updateEntityActionState", function() { nms_EntityCreature_updateEntityActionState(this); }, "$attackEntity0", function(var_1, var_2) { nms_EntityCreature_attackEntity(this, var_1, var_2); }, "$getBlockPathWeight", function(var_1, var_2, var_3) { return nms_EntityCreature_getBlockPathWeight(this, var_1, var_2, var_3); }, "$findPlayerToAttack", function() { return nms_EntityCreature_findPlayerToAttack(this); }, "$getSpeedModifier", function()
{ return nms_EntityCreature_getSpeedModifier(this); }],
nms_IAnimals, "IAnimals", 79, jl_Object, [], 3, 3, 0, 0,
nms_IMob, "IMob", 79, jl_Object, [nms_IAnimals], 3, 3, 0, 0,
nms_EntityMob, "EntityMob", 79, nms_EntityCreature, [nms_IMob], 1, 3, 0, ["$onLivingUpdate", function() { nms_EntityMob_onLivingUpdate(this); }, "$findPlayerToAttack", function() { return nms_EntityMob_findPlayerToAttack(this); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityMob_attackEntityFrom(this, var_1, var_2); }, "$attackEntityAsMob", function(var_1) { return nms_EntityMob_attackEntityAsMob(this, var_1); }, "$attackEntity0", function(var_1, var_2) { nms_EntityMob_attackEntity(this, var_1,
var_2); }, "$getBlockPathWeight", function(var_1, var_2, var_3) { return nms_EntityMob_getBlockPathWeight(this, var_1, var_2, var_3); }, "$getAttackStrength", function(var_1) { return nms_EntityMob_getAttackStrength(this, var_1); }],
nms_EntitySpider, "EntitySpider", 79, nms_EntityMob, [], 0, 3, 0, ["$entityInit", function() { nms_EntitySpider_entityInit(this); }, "$getMaxHealth", function() { return nms_EntitySpider_getMaxHealth(this); }, "$getMountedYOffset", function() { return nms_EntitySpider_getMountedYOffset(this); }, "$findPlayerToAttack", function() { return nms_EntitySpider_findPlayerToAttack(this); }, "$getLivingSound", function() { return nms_EntitySpider_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntitySpider_getHurtSound(this);
}, "$getDeathSound", function() { return nms_EntitySpider_getDeathSound(this); }, "$playStepSound", function(var_1, var_2, var_3, var_4) { nms_EntitySpider_playStepSound(this, var_1, var_2, var_3, var_4); }, "$attackEntity0", function(var_1, var_2) { nms_EntitySpider_attackEntity(this, var_1, var_2); }, "$isOnLadder", function() { return nms_EntitySpider_isOnLadder(this); }, "$setInWeb", function() { nms_EntitySpider_setInWeb(this); }, "$spiderScaleAmount", function() { return nms_EntitySpider_spiderScaleAmount(this);
}, "$getCreatureAttribute", function() { return nms_EntitySpider_getCreatureAttribute(this); }, "$isPotionApplicable", function(var_1) { return nms_EntitySpider_isPotionApplicable(this, var_1); }],
nms_Render, "Render", 79, jl_Object, [], 1, 3, 0, ["$updateIcons", function(var_1) { nms_Render_updateIcons(this, var_1); }],
nms_RenderLiving, "RenderLiving", 79, nms_Render, [], 1, 3, 0, ["$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderLiving_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$renderModel", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_RenderLiving_renderModel(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$renderLivingAt", function(var_1, var_2, var_3, var_4) { nms_RenderLiving_renderLivingAt(this, var_1, var_2, var_3, var_4); }, "$rotateCorpse",
function(var_1, var_2, var_3, var_4) { nms_RenderLiving_rotateCorpse(this, var_1, var_2, var_3, var_4); }, "$handleRotationFloat", function(var_1, var_2) { return nms_RenderLiving_handleRotationFloat(this, var_1, var_2); }, "$renderEquippedItems", function(var_1, var_2) { nms_RenderLiving_renderEquippedItems(this, var_1, var_2); }, "$inheritRenderPass", function(var_1, var_2, var_3) { return nms_RenderLiving_inheritRenderPass(this, var_1, var_2, var_3); }, "$shouldRenderPass", function(var_1, var_2, var_3) {
return nms_RenderLiving_shouldRenderPass(this, var_1, var_2, var_3); }, "$func_82408_c", function(var_1, var_2, var_3) { nms_RenderLiving_func_82408_c(this, var_1, var_2, var_3); }, "$getDeathMaxRotation", function(var_1) { return nms_RenderLiving_getDeathMaxRotation(this, var_1); }, "$getColorMultiplier", function(var_1, var_2, var_3) { return nms_RenderLiving_getColorMultiplier(this, var_1, var_2, var_3); }, "$preRenderCallback", function(var_1, var_2) { nms_RenderLiving_preRenderCallback(this, var_1, var_2);
}, "$func_96449_a", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_RenderLiving_func_96449_a(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderLiving_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_RenderSpider, "RenderSpider", 79, nms_RenderLiving, [], 0, 3, 0, ["$preRenderCallback", function(var_1, var_2) { nms_RenderSpider_preRenderCallback(this, var_1, var_2); }, "$getDeathMaxRotation", function(var_1) { return nms_RenderSpider_getDeathMaxRotation(this, var_1); }, "$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderSpider_shouldRenderPass(this, var_1, var_2, var_3); }, "$bindTexture2", function(var_1) { nms_RenderSpider_bindTexture(this, var_1); }],
nms_EntityCaveSpider, "EntityCaveSpider", 79, nms_EntitySpider, [], 0, 3, 0, ["$getMaxHealth", function() { return nms_EntityCaveSpider_getMaxHealth(this); }, "$spiderScaleAmount", function() { return nms_EntityCaveSpider_spiderScaleAmount(this); }, "$attackEntityAsMob", function(var_1) { return nms_EntityCaveSpider_attackEntityAsMob(this, var_1); }],
nms_EntityAgeable, "EntityAgeable", 79, nms_EntityCreature, [], 1, 3, 0, ["$entityInit", function() { nms_EntityAgeable_entityInit(this); }, "$onLivingUpdate", function() { nms_EntityAgeable_onLivingUpdate(this); }, "$isChild", function() { return nms_EntityAgeable_isChild(this); }],
nms_EntityAnimal, "EntityAnimal", 79, nms_EntityAgeable, [nms_IAnimals], 1, 3, 0, ["$updateAITick", function() { nms_EntityAnimal_updateAITick(this); }, "$onLivingUpdate", function() { nms_EntityAnimal_onLivingUpdate(this); }, "$attackEntity0", function(var_1, var_2) { nms_EntityAnimal_attackEntity(this, var_1, var_2); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityAnimal_attackEntityFrom(this, var_1, var_2); }, "$getBlockPathWeight", function(var_1, var_2, var_3) { return nms_EntityAnimal_getBlockPathWeight(this,
var_1, var_2, var_3); }, "$findPlayerToAttack", function() { return nms_EntityAnimal_findPlayerToAttack(this); }, "$getTalkInterval", function() { return nms_EntityAnimal_getTalkInterval(this); }, "$canDespawn", function() { return nms_EntityAnimal_canDespawn(this); }, "$isBreedingItem", function(var_1) { return nms_EntityAnimal_isBreedingItem(this, var_1); }, "$interact", function(var_1) { return nms_EntityAnimal_interact(this, var_1); }],
nms_EntityPig, "EntityPig", 79, nms_EntityAnimal, [], 0, 3, 0, ["$isAIEnabled", function() { return nms_EntityPig_isAIEnabled(this); }, "$getMaxHealth", function() { return nms_EntityPig_getMaxHealth(this); }, "$updateAITasks", function() { nms_EntityPig_updateAITasks(this); }, "$entityInit", function() { nms_EntityPig_entityInit(this); }, "$getLivingSound", function() { return nms_EntityPig_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityPig_getHurtSound(this); }, "$getDeathSound", function()
{ return nms_EntityPig_getDeathSound(this); }, "$playStepSound", function(var_1, var_2, var_3, var_4) { nms_EntityPig_playStepSound(this, var_1, var_2, var_3, var_4); }, "$fall", function(var_1) { nms_EntityPig_fall(this, var_1); }, "$isBreedingItem", function(var_1) { return nms_EntityPig_isBreedingItem(this, var_1); }, "$createChild", function(var_1) { return nms_EntityPig_createChild(this, var_1); }],
nms_RenderPig, "RenderPig", 79, nms_RenderLiving, [], 0, 3, 0, ["$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderPig_shouldRenderPass(this, var_1, var_2, var_3); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderPig_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderPig_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1)
{ nms_RenderPig_bindTexture(this, var_1); }],
nms_ModelBase, "ModelBase", 79, jl_Object, [], 1, 3, 0, ["$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelBase_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setLivingAnimations", function(var_1, var_2, var_3, var_4) { nms_ModelBase_setLivingAnimations(this, var_1, var_2, var_3, var_4); }],
nms_ModelQuadruped, "ModelQuadruped", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelQuadruped_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelQuadruped_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelPig, "ModelPig", 79, nms_ModelQuadruped, [], 0, 3, 0, 0,
nms_EntitySheep, "EntitySheep", 79, nms_EntityAnimal, [], 0, 3, 0, ["$isAIEnabled", function() { return nms_EntitySheep_isAIEnabled(this); }, "$updateAITasks", function() { nms_EntitySheep_updateAITasks(this); }, "$onLivingUpdate", function() { nms_EntitySheep_onLivingUpdate(this); }, "$getMaxHealth", function() { return nms_EntitySheep_getMaxHealth(this); }, "$entityInit", function() { nms_EntitySheep_entityInit(this); }, "$handleHealthUpdate", function(var_1) { nms_EntitySheep_handleHealthUpdate(this, var_1);
}, "$interact", function(var_1) { return nms_EntitySheep_interact(this, var_1); }, "$getLivingSound", function() { return nms_EntitySheep_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntitySheep_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntitySheep_getDeathSound(this); }, "$playStepSound", function(var_1, var_2, var_3, var_4) { nms_EntitySheep_playStepSound(this, var_1, var_2, var_3, var_4); }, "$createChild", function(var_1) { return nms_EntitySheep_createChild(this,
var_1); }],
nms_RenderSheep, "RenderSheep", 79, nms_RenderLiving, [], 0, 3, 0, ["$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderSheep_shouldRenderPass(this, var_1, var_2, var_3); }, "$bindTexture2", function(var_1) { nms_RenderSheep_bindTexture(this, var_1); }],
nms_ModelSheep2, "ModelSheep2", 79, nms_ModelQuadruped, [], 0, 3, 0, ["$setLivingAnimations", function(var_1, var_2, var_3, var_4) { nms_ModelSheep2_setLivingAnimations(this, var_1, var_2, var_3, var_4); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelSheep2_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelSheep1, "ModelSheep1", 79, nms_ModelQuadruped, [], 0, 3, 0, ["$setLivingAnimations", function(var_1, var_2, var_3, var_4) { nms_ModelSheep1_setLivingAnimations(this, var_1, var_2, var_3, var_4); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelSheep1_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_EntityCow, "EntityCow", 79, nms_EntityAnimal, [], 0, 3, 0, ["$isAIEnabled", function() { return nms_EntityCow_isAIEnabled(this); }, "$getMaxHealth", function() { return nms_EntityCow_getMaxHealth(this); }, "$getLivingSound", function() { return nms_EntityCow_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityCow_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityCow_getDeathSound(this); }, "$playStepSound", function(var_1, var_2, var_3, var_4) { nms_EntityCow_playStepSound(this,
var_1, var_2, var_3, var_4); }, "$getSoundVolume", function() { return nms_EntityCow_getSoundVolume(this); }, "$interact", function(var_1) { return nms_EntityCow_interact(this, var_1); }, "$spawnBabyAnimal0", function(var_1) { return nms_EntityCow_spawnBabyAnimal(this, var_1); }, "$createChild", function(var_1) { return nms_EntityCow_createChild(this, var_1); }],
nms_RenderCow, "RenderCow", 79, nms_RenderLiving, [], 0, 3, 0, ["$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderCow_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderCow_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderCow_bindTexture(this, var_1); }],
nms_ModelCow, "ModelCow", 79, nms_ModelQuadruped, [], 0, 3, 0, 0,
nms_EntityMooshroom, "EntityMooshroom", 79, nms_EntityCow, [], 0, 3, 0, ["$interact", function(var_1) { return nms_EntityMooshroom_interact(this, var_1); }, "$spawnBabyAnimal0", function(var_1) { return nms_EntityMooshroom_spawnBabyAnimal(this, var_1); }, "$createChild", function(var_1) { return nms_EntityMooshroom_createChild(this, var_1); }],
nms_RenderMooshroom, "RenderMooshroom", 79, nms_RenderLiving, [], 0, 3, 0, ["$renderEquippedItems", function(var_1, var_2) { nms_RenderMooshroom_renderEquippedItems(this, var_1, var_2); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderMooshroom_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderMooshroom_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1)
{ nms_RenderMooshroom_bindTexture(this, var_1); }],
nms_EntityTameable, "EntityTameable", 79, nms_EntityAnimal, [], 1, 3, 0, ["$handleHealthUpdate", function(var_1) { nms_EntityTameable_handleHealthUpdate(this, var_1); }],
nms_EntityWolf, "EntityWolf", 79, nms_EntityTameable, [], 0, 3, 0, ["$isAIEnabled", function() { return nms_EntityWolf_isAIEnabled(this); }, "$updateAITick", function() { nms_EntityWolf_updateAITick(this); }, "$getMaxHealth", function() { return nms_EntityWolf_getMaxHealth(this); }, "$entityInit", function() { nms_EntityWolf_entityInit(this); }, "$playStepSound", function(var_1, var_2, var_3, var_4) { nms_EntityWolf_playStepSound(this, var_1, var_2, var_3, var_4); }, "$canDespawn", function() { return nms_EntityWolf_canDespawn(this);
}, "$getLivingSound", function() { return nms_EntityWolf_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityWolf_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityWolf_getDeathSound(this); }, "$getSoundVolume", function() { return nms_EntityWolf_getSoundVolume(this); }, "$onUpdate", function() { nms_EntityWolf_onUpdate(this); }, "$getEyeHeight", function() { return nms_EntityWolf_getEyeHeight(this); }, "$getVerticalFaceSpeed", function() { return nms_EntityWolf_getVerticalFaceSpeed(this);
}, "$interact", function(var_1) { return nms_EntityWolf_interact(this, var_1); }, "$handleHealthUpdate", function(var_1) { nms_EntityWolf_handleHealthUpdate(this, var_1); }, "$isBreedingItem", function(var_1) { return nms_EntityWolf_isBreedingItem(this, var_1); }, "$createChild", function(var_1) { return nms_EntityWolf_createChild(this, var_1); }],
nms_RenderWolf, "RenderWolf", 79, nms_RenderLiving, [], 0, 3, 0, ["$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderWolf_shouldRenderPass(this, var_1, var_2, var_3); }, "$handleRotationFloat", function(var_1, var_2) { return nms_RenderWolf_handleRotationFloat(this, var_1, var_2); }, "$bindTexture2", function(var_1) { nms_RenderWolf_bindTexture(this, var_1); }],
nms_ModelWolf, "ModelWolf", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelWolf_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setLivingAnimations", function(var_1, var_2, var_3, var_4) { nms_ModelWolf_setLivingAnimations(this, var_1, var_2, var_3, var_4); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelWolf_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7);
}]]);
$rt_metadata([nms_EntityChicken, "EntityChicken", 79, nms_EntityAnimal, [], 0, 3, 0, ["$isAIEnabled", function() { return nms_EntityChicken_isAIEnabled(this); }, "$getMaxHealth", function() { return nms_EntityChicken_getMaxHealth(this); }, "$onLivingUpdate", function() { nms_EntityChicken_onLivingUpdate(this); }, "$fall", function(var_1) { nms_EntityChicken_fall(this, var_1); }, "$getLivingSound", function() { return nms_EntityChicken_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityChicken_getHurtSound(this);
}, "$getDeathSound", function() { return nms_EntityChicken_getDeathSound(this); }, "$playStepSound", function(var_1, var_2, var_3, var_4) { nms_EntityChicken_playStepSound(this, var_1, var_2, var_3, var_4); }, "$isBreedingItem", function(var_1) { return nms_EntityChicken_isBreedingItem(this, var_1); }, "$createChild", function(var_1) { return nms_EntityChicken_createChild(this, var_1); }],
nms_RenderChicken, "RenderChicken", 79, nms_RenderLiving, [], 0, 3, 0, ["$handleRotationFloat", function(var_1, var_2) { return nms_RenderChicken_handleRotationFloat(this, var_1, var_2); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderChicken_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderChicken_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1)
{ nms_RenderChicken_bindTexture(this, var_1); }],
nms_ModelChicken, "ModelChicken", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelChicken_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelChicken_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_EntityOcelot, "EntityOcelot", 79, nms_EntityTameable, [], 0, 3, 0, ["$entityInit", function() { nms_EntityOcelot_entityInit(this); }, "$updateAITick", function() { nms_EntityOcelot_updateAITick(this); }, "$canDespawn", function() { return nms_EntityOcelot_canDespawn(this); }, "$isAIEnabled", function() { return nms_EntityOcelot_isAIEnabled(this); }, "$getMaxHealth", function() { return nms_EntityOcelot_getMaxHealth(this); }, "$fall", function(var_1) { nms_EntityOcelot_fall(this, var_1); }, "$getLivingSound",
function() { return nms_EntityOcelot_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityOcelot_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityOcelot_getDeathSound(this); }, "$getSoundVolume", function() { return nms_EntityOcelot_getSoundVolume(this); }, "$isBreedingItem", function(var_1) { return nms_EntityOcelot_isBreedingItem(this, var_1); }, "$getEntityName", function() { return nms_EntityOcelot_getEntityName(this); }, "$createChild", function(var_1) { return nms_EntityOcelot_createChild(this,
var_1); }],
nms_RenderOcelot, "RenderOcelot", 79, nms_RenderLiving, [], 0, 3, 0, ["$preRenderCallback", function(var_1, var_2) { nms_RenderOcelot_preRenderCallback(this, var_1, var_2); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderOcelot_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderOcelot_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderOcelot_bindTexture(this,
var_1); }],
nms_ModelOcelot, "ModelOcelot", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelOcelot_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelOcelot_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setLivingAnimations", function(var_1, var_2, var_3, var_4) { nms_ModelOcelot_setLivingAnimations(this, var_1, var_2,
var_3, var_4); }],
nms_EntitySilverfish, "EntitySilverfish", 79, nms_EntityMob, [], 0, 3, 0, ["$getMaxHealth", function() { return nms_EntitySilverfish_getMaxHealth(this); }, "$canTriggerWalking", function() { return nms_EntitySilverfish_canTriggerWalking(this); }, "$findPlayerToAttack", function() { return nms_EntitySilverfish_findPlayerToAttack(this); }, "$getLivingSound", function() { return nms_EntitySilverfish_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntitySilverfish_getHurtSound(this); }, "$getDeathSound",
function() { return nms_EntitySilverfish_getDeathSound(this); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntitySilverfish_attackEntityFrom(this, var_1, var_2); }, "$attackEntity0", function(var_1, var_2) { nms_EntitySilverfish_attackEntity(this, var_1, var_2); }, "$playStepSound", function(var_1, var_2, var_3, var_4) { nms_EntitySilverfish_playStepSound(this, var_1, var_2, var_3, var_4); }, "$onUpdate", function() { nms_EntitySilverfish_onUpdate(this); }, "$getBlockPathWeight", function(var_1,
var_2, var_3) { return nms_EntitySilverfish_getBlockPathWeight(this, var_1, var_2, var_3); }, "$getAttackStrength", function(var_1) { return nms_EntitySilverfish_getAttackStrength(this, var_1); }, "$getCreatureAttribute", function() { return nms_EntitySilverfish_getCreatureAttribute(this); }],
nms_RenderSilverfish, "RenderSilverfish", 79, nms_RenderLiving, [], 0, 3, 0, ["$getDeathMaxRotation", function(var_1) { return nms_RenderSilverfish_getDeathMaxRotation(this, var_1); }, "$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderSilverfish_shouldRenderPass(this, var_1, var_2, var_3); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderSilverfish_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3,
var_4, var_5, var_6) { nms_RenderSilverfish_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderSilverfish_bindTexture(this, var_1); }],
nms_EntityCreeper, "EntityCreeper", 79, nms_EntityMob, [], 0, 3, 0, ["$isAIEnabled", function() { return nms_EntityCreeper_isAIEnabled(this); }, "$func_82143_as", function() { return nms_EntityCreeper_func_82143_as(this); }, "$fall", function(var_1) { nms_EntityCreeper_fall(this, var_1); }, "$getMaxHealth", function() { return nms_EntityCreeper_getMaxHealth(this); }, "$entityInit", function() { nms_EntityCreeper_entityInit(this); }, "$onUpdate", function() { nms_EntityCreeper_onUpdate(this); }, "$getHurtSound",
function() { return nms_EntityCreeper_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityCreeper_getDeathSound(this); }, "$onDeath", function(var_1) { nms_EntityCreeper_onDeath(this, var_1); }, "$attackEntityAsMob", function(var_1) { return nms_EntityCreeper_attackEntityAsMob(this, var_1); }],
nms_RenderCreeper, "RenderCreeper", 79, nms_RenderLiving, [], 0, 3, 0, ["$preRenderCallback", function(var_1, var_2) { nms_RenderCreeper_preRenderCallback(this, var_1, var_2); }, "$getColorMultiplier", function(var_1, var_2, var_3) { return nms_RenderCreeper_getColorMultiplier(this, var_1, var_2, var_3); }, "$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderCreeper_shouldRenderPass(this, var_1, var_2, var_3); }, "$inheritRenderPass", function(var_1, var_2, var_3) { return nms_RenderCreeper_inheritRenderPass(this,
var_1, var_2, var_3); }, "$bindTexture2", function(var_1) { nms_RenderCreeper_bindTexture(this, var_1); }],
nms_EntityEnderman, "EntityEnderman", 79, nms_EntityMob, [], 0, 3, nms_EntityEnderman_$callClinit, ["$getMaxHealth", function() { return nms_EntityEnderman_getMaxHealth(this); }, "$entityInit", function() { nms_EntityEnderman_entityInit(this); }, "$findPlayerToAttack", function() { return nms_EntityEnderman_findPlayerToAttack(this); }, "$onLivingUpdate", function() { nms_EntityEnderman_onLivingUpdate(this); }, "$getLivingSound", function() { return nms_EntityEnderman_getLivingSound(this); }, "$getHurtSound",
function() { return nms_EntityEnderman_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityEnderman_getDeathSound(this); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityEnderman_attackEntityFrom(this, var_1, var_2); }, "$getAttackStrength", function(var_1) { return nms_EntityEnderman_getAttackStrength(this, var_1); }],
nms_RenderEnderman, "RenderEnderman", 79, nms_RenderLiving, [], 0, 3, 0, ["$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderEnderman_shouldRenderPass(this, var_1, var_2, var_3); }, "$renderEquippedItems", function(var_1, var_2) { nms_RenderEnderman_renderEquippedItems(this, var_1, var_2); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderEnderman_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3,
var_4, var_5, var_6) { nms_RenderEnderman_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderEnderman_bindTexture(this, var_1); }],
nms_EntityGolem, "EntityGolem", 79, nms_EntityCreature, [nms_IAnimals], 1, 3, 0, ["$fall", function(var_1) { nms_EntityGolem_fall(this, var_1); }, "$getLivingSound", function() { return nms_EntityGolem_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityGolem_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityGolem_getDeathSound(this); }, "$getTalkInterval", function() { return nms_EntityGolem_getTalkInterval(this); }, "$canDespawn", function() { return nms_EntityGolem_canDespawn(this);
}],
nms_IRangedAttackMob, "IRangedAttackMob", 79, jl_Object, [], 3, 3, 0, 0,
nms_EntitySnowman, "EntitySnowman", 79, nms_EntityGolem, [nms_IRangedAttackMob], 0, 3, 0, ["$isAIEnabled", function() { return nms_EntitySnowman_isAIEnabled(this); }, "$getMaxHealth", function() { return nms_EntitySnowman_getMaxHealth(this); }, "$onLivingUpdate", function() { nms_EntitySnowman_onLivingUpdate(this); }],
nms_RenderSnowMan, "RenderSnowMan", 79, nms_RenderLiving, [], 0, 3, 0, ["$renderEquippedItems", function(var_1, var_2) { nms_RenderSnowMan_renderEquippedItems(this, var_1, var_2); }, "$bindTexture2", function(var_1) { nms_RenderSnowMan_bindTexture(this, var_1); }],
nms_EntitySkeleton, "EntitySkeleton", 79, nms_EntityMob, [nms_IRangedAttackMob], 0, 3, 0, ["$entityInit", function() { nms_EntitySkeleton_entityInit(this); }, "$isAIEnabled", function() { return nms_EntitySkeleton_isAIEnabled(this); }, "$getMaxHealth", function() { return nms_EntitySkeleton_getMaxHealth(this); }, "$getLivingSound", function() { return nms_EntitySkeleton_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntitySkeleton_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntitySkeleton_getDeathSound(this);
}, "$playStepSound", function(var_1, var_2, var_3, var_4) { nms_EntitySkeleton_playStepSound(this, var_1, var_2, var_3, var_4); }, "$attackEntityAsMob", function(var_1) { return nms_EntitySkeleton_attackEntityAsMob(this, var_1); }, "$getAttackStrength", function(var_1) { return nms_EntitySkeleton_getAttackStrength(this, var_1); }, "$getCreatureAttribute", function() { return nms_EntitySkeleton_getCreatureAttribute(this); }, "$onLivingUpdate", function() { nms_EntitySkeleton_onLivingUpdate(this); }, "$onDeath",
function(var_1) { nms_EntitySkeleton_onDeath(this, var_1); }],
nms_RenderBiped, "RenderBiped", 79, nms_RenderLiving, [], 1, 3, 0, ["$func_82421_b", function() { nms_RenderBiped_func_82421_b(this); }, "$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderBiped_shouldRenderPass(this, var_1, var_2, var_3); }, "$func_82408_c", function(var_1, var_2, var_3) { nms_RenderBiped_func_82408_c(this, var_1, var_2, var_3); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderBiped_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5,
var_6); }, "$renderEquippedItems", function(var_1, var_2) { nms_RenderBiped_renderEquippedItems(this, var_1, var_2); }, "$func_82422_c", function() { nms_RenderBiped_func_82422_c(this); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderBiped_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_RenderSkeleton, "RenderSkeleton", 79, nms_RenderBiped, [], 0, 3, 0, ["$func_82422_c", function() { nms_RenderSkeleton_func_82422_c(this); }, "$preRenderCallback", function(var_1, var_2) { nms_RenderSkeleton_preRenderCallback(this, var_1, var_2); }, "$bindTexture2", function(var_1) { nms_RenderSkeleton_bindTexture(this, var_1); }],
nms_EntityWitch, "EntityWitch", 79, nms_EntityMob, [nms_IRangedAttackMob], 0, 3, nms_EntityWitch_$callClinit, ["$entityInit", function() { nms_EntityWitch_entityInit(this); }, "$getLivingSound", function() { return nms_EntityWitch_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityWitch_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityWitch_getDeathSound(this); }, "$getMaxHealth", function() { return nms_EntityWitch_getMaxHealth(this); }, "$isAIEnabled", function()
{ return nms_EntityWitch_isAIEnabled(this); }, "$handleHealthUpdate", function(var_1) { nms_EntityWitch_handleHealthUpdate(this, var_1); }, "$getSpeedModifier", function() { return nms_EntityWitch_getSpeedModifier(this); }],
nms_RenderWitch, "RenderWitch", 79, nms_RenderLiving, [], 0, 3, 0, ["$preRenderCallback", function(var_1, var_2) { nms_RenderWitch_preRenderCallback(this, var_1, var_2); }, "$renderEquippedItems", function(var_1, var_2) { nms_RenderWitch_renderEquippedItems(this, var_1, var_2); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderWitch_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderWitch_doRender(this,
var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderWitch_bindTexture(this, var_1); }],
nms_EntityBlaze, "EntityBlaze", 79, nms_EntityMob, [], 0, 3, 0, ["$getMaxHealth", function() { return nms_EntityBlaze_getMaxHealth(this); }, "$entityInit", function() { nms_EntityBlaze_entityInit(this); }, "$getLivingSound", function() { return nms_EntityBlaze_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityBlaze_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityBlaze_getDeathSound(this); }, "$getBrightnessForRender", function(var_1) { return nms_EntityBlaze_getBrightnessForRender(this,
var_1); }, "$getBrightness", function(var_1) { return nms_EntityBlaze_getBrightness(this, var_1); }, "$attackEntity0", function(var_1, var_2) { nms_EntityBlaze_attackEntity(this, var_1, var_2); }, "$fall", function(var_1) { nms_EntityBlaze_fall(this, var_1); }, "$isBurning", function() { return nms_EntityBlaze_isBurning(this); }, "$getAttackStrength", function(var_1) { return nms_EntityBlaze_getAttackStrength(this, var_1); }],
nms_RenderBlaze, "RenderBlaze", 79, nms_RenderLiving, [], 0, 3, 0, ["$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderBlaze_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderBlaze_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderBlaze_bindTexture(this, var_1); }],
nms_EntityZombie, "EntityZombie", 79, nms_EntityMob, [], 0, 3, 0, ["$getSpeedModifier", function() { return nms_EntityZombie_getSpeedModifier(this); }, "$entityInit", function() { nms_EntityZombie_entityInit(this); }, "$getMaxHealth", function() { return nms_EntityZombie_getMaxHealth(this); }, "$isAIEnabled", function() { return nms_EntityZombie_isAIEnabled(this); }, "$isChild", function() { return nms_EntityZombie_isChild(this); }, "$attackEntityAsMob", function(var_1) { return nms_EntityZombie_attackEntityAsMob(this,
var_1); }, "$getAttackStrength", function(var_1) { return nms_EntityZombie_getAttackStrength(this, var_1); }, "$getLivingSound", function() { return nms_EntityZombie_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityZombie_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityZombie_getDeathSound(this); }, "$playStepSound", function(var_1, var_2, var_3, var_4) { nms_EntityZombie_playStepSound(this, var_1, var_2, var_3, var_4); }, "$getCreatureAttribute", function() { return nms_EntityZombie_getCreatureAttribute(this);
}, "$interact", function(var_1) { return nms_EntityZombie_interact(this, var_1); }, "$handleHealthUpdate", function(var_1) { nms_EntityZombie_handleHealthUpdate(this, var_1); }],
nms_RenderZombie, "RenderZombie", 79, nms_RenderBiped, [], 0, 3, 0, ["$func_82421_b", function() { nms_RenderZombie_func_82421_b(this); }, "$renderEquippedItems", function(var_1, var_2) { nms_RenderZombie_renderEquippedItems(this, var_1, var_2); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderZombie_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderZombie_shouldRenderPass(this, var_1, var_2,
var_3); }, "$rotateCorpse", function(var_1, var_2, var_3, var_4) { nms_RenderZombie_rotateCorpse(this, var_1, var_2, var_3, var_4); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderZombie_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderZombie_bindTexture(this, var_1); }],
nms_EntitySlime, "EntitySlime", 79, nms_EntityLiving, [nms_IMob], 0, 3, 0, ["$entityInit", function() { nms_EntitySlime_entityInit(this); }, "$getMaxHealth", function() { return nms_EntitySlime_getMaxHealth(this); }, "$getSlimeParticle", function() { return nms_EntitySlime_getSlimeParticle(this); }, "$getJumpSound", function() { return nms_EntitySlime_getJumpSound(this); }, "$onUpdate", function() { nms_EntitySlime_onUpdate(this); }, "$updateEntityActionState", function() { nms_EntitySlime_updateEntityActionState(this);
}, "$func_70808_l", function() { nms_EntitySlime_func_70808_l(this); }, "$getJumpDelay", function() { return nms_EntitySlime_getJumpDelay(this); }, "$onCollideWithPlayer", function(var_1) { nms_EntitySlime_onCollideWithPlayer(this, var_1); }, "$canDamagePlayer", function() { return nms_EntitySlime_canDamagePlayer(this); }, "$getAttackStrength0", function() { return nms_EntitySlime_getAttackStrength(this); }, "$getHurtSound", function() { return nms_EntitySlime_getHurtSound(this); }, "$getDeathSound", function()
{ return nms_EntitySlime_getDeathSound(this); }, "$getSoundVolume", function() { return nms_EntitySlime_getSoundVolume(this); }, "$getVerticalFaceSpeed", function() { return nms_EntitySlime_getVerticalFaceSpeed(this); }, "$makesSoundOnLand", function() { return nms_EntitySlime_makesSoundOnLand(this); }],
nms_RenderSlime, "RenderSlime", 79, nms_RenderLiving, [], 0, 3, 0, ["$preRenderCallback", function(var_1, var_2) { nms_RenderSlime_preRenderCallback(this, var_1, var_2); }, "$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderSlime_shouldRenderPass(this, var_1, var_2, var_3); }, "$bindTexture2", function(var_1) { nms_RenderSlime_bindTexture(this, var_1); }],
nms_ModelSlime, "ModelSlime", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelSlime_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_EntityMagmaCube, "EntityMagmaCube", 79, nms_EntitySlime, [], 0, 3, 0, ["$getBrightnessForRender", function(var_1) { return nms_EntityMagmaCube_getBrightnessForRender(this, var_1); }, "$getBrightness", function(var_1) { return nms_EntityMagmaCube_getBrightness(this, var_1); }, "$getSlimeParticle", function() { return nms_EntityMagmaCube_getSlimeParticle(this); }, "$isBurning", function() { return nms_EntityMagmaCube_isBurning(this); }, "$getJumpDelay", function() { return nms_EntityMagmaCube_getJumpDelay(this);
}, "$func_70808_l", function() { nms_EntityMagmaCube_func_70808_l(this); }, "$jump", function() { nms_EntityMagmaCube_jump(this); }, "$fall", function(var_1) { nms_EntityMagmaCube_fall(this, var_1); }, "$canDamagePlayer", function() { return nms_EntityMagmaCube_canDamagePlayer(this); }, "$getAttackStrength0", function() { return nms_EntityMagmaCube_getAttackStrength(this); }, "$getHurtSound", function() { return nms_EntityMagmaCube_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityMagmaCube_getDeathSound(this);
}, "$getJumpSound", function() { return nms_EntityMagmaCube_getJumpSound(this); }, "$handleLavaMovement", function() { return nms_EntityMagmaCube_handleLavaMovement(this); }, "$makesSoundOnLand", function() { return nms_EntityMagmaCube_makesSoundOnLand(this); }],
nms_RenderMagmaCube, "RenderMagmaCube", 79, nms_RenderLiving, [], 0, 3, 0, ["$preRenderCallback", function(var_1, var_2) { nms_RenderMagmaCube_preRenderCallback(this, var_1, var_2); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderMagmaCube_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderMagmaCube_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1)
{ nms_RenderMagmaCube_bindTexture(this, var_1); }],
nms_RenderPlayer, "RenderPlayer", 79, nms_RenderLiving, [], 0, 3, 0, ["$func_96449_a", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_RenderPlayer_func_96449_a(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$preRenderCallback", function(var_1, var_2) { nms_RenderPlayer_preRenderCallback(this, var_1, var_2); }, "$func_82408_c", function(var_1, var_2, var_3) { nms_RenderPlayer_func_82408_c(this, var_1, var_2, var_3); }, "$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderPlayer_shouldRenderPass(this,
var_1, var_2, var_3); }, "$renderEquippedItems", function(var_1, var_2) { nms_RenderPlayer_renderEquippedItems(this, var_1, var_2); }, "$rotateCorpse", function(var_1, var_2, var_3, var_4) { nms_RenderPlayer_rotateCorpse(this, var_1, var_2, var_3, var_4); }, "$renderLivingAt", function(var_1, var_2, var_3, var_4) { nms_RenderPlayer_renderLivingAt(this, var_1, var_2, var_3, var_4); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderPlayer_doRenderLiving(this, var_1, var_2, var_3,
var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderPlayer_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderPlayer_bindTexture(this, var_1); }],
nms_EntityFlying, "EntityFlying", 79, nms_EntityLiving, [], 1, 3, 0, ["$fall", function(var_1) { nms_EntityFlying_fall(this, var_1); }, "$updateFallState", function(var_1, var_2) { nms_EntityFlying_updateFallState(this, var_1, var_2); }, "$moveEntityWithHeading", function(var_1, var_2) { nms_EntityFlying_moveEntityWithHeading(this, var_1, var_2); }, "$isOnLadder", function() { return nms_EntityFlying_isOnLadder(this); }],
nms_EntityGhast, "EntityGhast", 79, nms_EntityFlying, [nms_IMob], 0, 3, 0, ["$attackEntityFrom", function(var_1, var_2) { return nms_EntityGhast_attackEntityFrom(this, var_1, var_2); }, "$entityInit", function() { nms_EntityGhast_entityInit(this); }, "$getMaxHealth", function() { return nms_EntityGhast_getMaxHealth(this); }, "$updateEntityActionState", function() { nms_EntityGhast_updateEntityActionState(this); }, "$getLivingSound", function() { return nms_EntityGhast_getLivingSound(this); }, "$getHurtSound",
function() { return nms_EntityGhast_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityGhast_getDeathSound(this); }, "$getSoundVolume", function() { return nms_EntityGhast_getSoundVolume(this); }],
nms_RenderGhast, "RenderGhast", 79, nms_RenderLiving, [], 0, 3, 0, ["$preRenderCallback", function(var_1, var_2) { nms_RenderGhast_preRenderCallback(this, var_1, var_2); }, "$bindTexture2", function(var_1) { nms_RenderGhast_bindTexture(this, var_1); }],
nms_EntityWaterMob, "EntityWaterMob", 79, nms_EntityCreature, [nms_IAnimals], 1, 3, 0, ["$canBreatheUnderwater", function() { return nms_EntityWaterMob_canBreatheUnderwater(this); }, "$getTalkInterval", function() { return nms_EntityWaterMob_getTalkInterval(this); }, "$canDespawn", function() { return nms_EntityWaterMob_canDespawn(this); }, "$onEntityUpdate", function() { nms_EntityWaterMob_onEntityUpdate(this); }],
nms_EntitySquid, "EntitySquid", 79, nms_EntityWaterMob, [], 0, 3, 0, ["$getMaxHealth", function() { return nms_EntitySquid_getMaxHealth(this); }, "$getLivingSound", function() { return nms_EntitySquid_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntitySquid_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntitySquid_getDeathSound(this); }, "$getSoundVolume", function() { return nms_EntitySquid_getSoundVolume(this); }, "$isInWater", function() { return nms_EntitySquid_isInWater(this);
}, "$onLivingUpdate", function() { nms_EntitySquid_onLivingUpdate(this); }, "$moveEntityWithHeading", function(var_1, var_2) { nms_EntitySquid_moveEntityWithHeading(this, var_1, var_2); }, "$updateEntityActionState", function() { nms_EntitySquid_updateEntityActionState(this); }],
nms_RenderSquid, "RenderSquid", 79, nms_RenderLiving, [], 0, 3, 0, ["$handleRotationFloat", function(var_1, var_2) { return nms_RenderSquid_handleRotationFloat0(this, var_1, var_2); }, "$rotateCorpse", function(var_1, var_2, var_3, var_4) { nms_RenderSquid_rotateCorpse(this, var_1, var_2, var_3, var_4); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderSquid_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4,
var_5, var_6) { nms_RenderSquid_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderSquid_bindTexture(this, var_1); }],
nms_ModelSquid, "ModelSquid", 79, nms_ModelBase, [], 0, 3, 0, ["$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelSquid_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelSquid_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_INpc, "INpc", 79, jl_Object, [nms_IAnimals], 3, 3, 0, 0,
nms_IMerchant, "IMerchant", 79, jl_Object, [], 3, 3, 0, 0,
nms_EntityVillager, "EntityVillager", 79, nms_EntityAgeable, [nms_INpc, nms_IMerchant], 0, 3, nms_EntityVillager_$callClinit, ["$isAIEnabled", function() { return nms_EntityVillager_isAIEnabled(this); }, "$updateAITick", function() { nms_EntityVillager_updateAITick(this); }, "$interact", function(var_1) { return nms_EntityVillager_interact(this, var_1); }, "$entityInit", function() { nms_EntityVillager_entityInit(this); }, "$getMaxHealth", function() { return nms_EntityVillager_getMaxHealth(this); }, "$canDespawn",
function() { return nms_EntityVillager_canDespawn(this); }, "$getLivingSound", function() { return nms_EntityVillager_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityVillager_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityVillager_getDeathSound(this); }, "$setRevengeTarget", function(var_1) { nms_EntityVillager_setRevengeTarget(this, var_1); }, "$onDeath", function(var_1) { nms_EntityVillager_onDeath(this, var_1); }, "$handleHealthUpdate", function(var_1) { nms_EntityVillager_handleHealthUpdate(this,
var_1); }],
nms_RenderVillager, "RenderVillager", 79, nms_RenderLiving, [], 0, 3, 0, ["$preRenderCallback", function(var_1, var_2) { nms_RenderVillager_preRenderCallback(this, var_1, var_2); }, "$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderVillager_shouldRenderPass(this, var_1, var_2, var_3); }, "$renderEquippedItems", function(var_1, var_2) { nms_RenderVillager_renderEquippedItems(this, var_1, var_2); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderVillager_doRenderLiving(this,
var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderVillager_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderVillager_bindTexture(this, var_1); }],
nms_EntityIronGolem, "EntityIronGolem", 79, nms_EntityGolem, [], 0, 3, 0, ["$entityInit", function() { nms_EntityIronGolem_entityInit(this); }, "$isAIEnabled", function() { return nms_EntityIronGolem_isAIEnabled(this); }, "$updateAITick", function() { nms_EntityIronGolem_updateAITick(this); }, "$getMaxHealth", function() { return nms_EntityIronGolem_getMaxHealth(this); }, "$decreaseAirSupply", function(var_1) { return nms_EntityIronGolem_decreaseAirSupply(this, var_1); }, "$onLivingUpdate", function() { nms_EntityIronGolem_onLivingUpdate(this);
}, "$handleHealthUpdate", function(var_1) { nms_EntityIronGolem_handleHealthUpdate(this, var_1); }, "$getLivingSound", function() { return nms_EntityIronGolem_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityIronGolem_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityIronGolem_getDeathSound(this); }, "$playStepSound", function(var_1, var_2, var_3, var_4) { nms_EntityIronGolem_playStepSound(this, var_1, var_2, var_3, var_4); }, "$onDeath", function(var_1) { nms_EntityIronGolem_onDeath(this,
var_1); }],
nms_RenderIronGolem, "RenderIronGolem", 79, nms_RenderLiving, [], 0, 3, 0, ["$renderEquippedItems", function(var_1, var_2) { nms_RenderIronGolem_renderEquippedItems(this, var_1, var_2); }, "$rotateCorpse", function(var_1, var_2, var_3, var_4) { nms_RenderIronGolem_rotateCorpse(this, var_1, var_2, var_3, var_4); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderIronGolem_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3,
var_4, var_5, var_6) { nms_RenderIronGolem_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderIronGolem_bindTexture(this, var_1); }],
nms_EntityAmbientCreature, "EntityAmbientCreature", 79, nms_EntityLiving, [nms_IAnimals], 1, 3, 0, 0,
nms_EntityBat, "EntityBat", 79, nms_EntityAmbientCreature, [], 0, 3, 0, ["$entityInit", function() { nms_EntityBat_entityInit(this); }, "$getSoundVolume", function() { return nms_EntityBat_getSoundVolume(this); }, "$getSoundPitch", function() { return nms_EntityBat_getSoundPitch(this); }, "$getLivingSound", function() { return nms_EntityBat_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityBat_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityBat_getDeathSound(this);
}, "$canBePushed", function() { return nms_EntityBat_canBePushed(this); }, "$getMaxHealth", function() { return nms_EntityBat_getMaxHealth(this); }, "$isAIEnabled", function() { return nms_EntityBat_isAIEnabled(this); }, "$onUpdate", function() { nms_EntityBat_onUpdate(this); }, "$updateAITasks", function() { nms_EntityBat_updateAITasks(this); }, "$canTriggerWalking", function() { return nms_EntityBat_canTriggerWalking(this); }, "$fall", function(var_1) { nms_EntityBat_fall(this, var_1); }, "$updateFallState",
function(var_1, var_2) { nms_EntityBat_updateFallState(this, var_1, var_2); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityBat_attackEntityFrom(this, var_1, var_2); }],
nms_RenderBat, "RenderBat", 79, nms_RenderLiving, [], 0, 3, 0, ["$preRenderCallback", function(var_1, var_2) { nms_RenderBat_preRenderCallback(this, var_1, var_2); }, "$rotateCorpse", function(var_1, var_2, var_3, var_4) { nms_RenderBat_rotateCorpse(this, var_1, var_2, var_3, var_4); }, "$renderLivingAt", function(var_1, var_2, var_3, var_4) { nms_RenderBat_renderLivingAt(this, var_1, var_2, var_3, var_4); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderBat_doRenderLiving(this,
var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderBat_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderBat_bindTexture(this, var_1); }],
nms_IBossDisplayData, "IBossDisplayData", 79, jl_Object, [], 3, 3, 0, 0,
nms_IEntityMultiPart, "IEntityMultiPart", 79, jl_Object, [], 3, 3, 0, 0,
nms_EntityDragon, "EntityDragon", 79, nms_EntityLiving, [nms_IBossDisplayData, nms_IEntityMultiPart], 0, 3, 0, ["$getMaxHealth", function() { return nms_EntityDragon_getMaxHealth(this); }, "$entityInit", function() { nms_EntityDragon_entityInit(this); }, "$onLivingUpdate", function() { nms_EntityDragon_onLivingUpdate(this); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityDragon_attackEntityFrom(this, var_1, var_2); }, "$onDeathUpdate", function() { nms_EntityDragon_onDeathUpdate(this); }, "$despawnEntity",
function() { nms_EntityDragon_despawnEntity(this); }, "$getParts", function() { return nms_EntityDragon_getParts(this); }, "$canBeCollidedWith", function() { return nms_EntityDragon_canBeCollidedWith(this); }, "$getBossHealth", function() { return nms_EntityDragon_getBossHealth(this); }, "$getLivingSound", function() { return nms_EntityDragon_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityDragon_getHurtSound(this); }, "$getSoundVolume", function() { return nms_EntityDragon_getSoundVolume(this);
}]]);
$rt_metadata([nms_RenderDragon, "RenderDragon", 79, nms_RenderLiving, [], 0, 3, 0, ["$bindTexture2", function(var_1) { nms_RenderDragon_bindTexture(this, var_1); }, "$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderDragon_shouldRenderPass(this, var_1, var_2, var_3); }, "$renderEquippedItems", function(var_1, var_2) { nms_RenderDragon_renderEquippedItems(this, var_1, var_2); }, "$rotateCorpse", function(var_1, var_2, var_3, var_4) { nms_RenderDragon_rotateCorpse(this, var_1, var_2, var_3,
var_4); }, "$renderModel", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_RenderDragon_renderModel(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderDragon_doRenderLiving(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderDragon_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityEnderCrystal, "EntityEnderCrystal", 79, nms_Entity, [], 0, 3, 0, ["$canTriggerWalking", function() { return nms_EntityEnderCrystal_canTriggerWalking(this); }, "$entityInit", function() { nms_EntityEnderCrystal_entityInit(this); }, "$onUpdate", function() { nms_EntityEnderCrystal_onUpdate(this); }, "$getShadowSize", function() { return nms_EntityEnderCrystal_getShadowSize(this); }, "$canBeCollidedWith", function() { return nms_EntityEnderCrystal_canBeCollidedWith(this); }, "$attackEntityFrom", function(var_1,
var_2) { return nms_EntityEnderCrystal_attackEntityFrom(this, var_1, var_2); }],
nms_RenderEnderCrystal, "RenderEnderCrystal", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderEnderCrystal_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityWither, "EntityWither", 79, nms_EntityMob, [nms_IBossDisplayData, nms_IRangedAttackMob], 0, 3, 0, ["$entityInit", function() { nms_EntityWither_entityInit(this); }, "$getShadowSize", function() { return nms_EntityWither_getShadowSize(this); }, "$getLivingSound", function() { return nms_EntityWither_getLivingSound(this); }, "$getHurtSound", function() { return nms_EntityWither_getHurtSound(this); }, "$getDeathSound", function() { return nms_EntityWither_getDeathSound(this); }, "$onLivingUpdate", function()
{ nms_EntityWither_onLivingUpdate(this); }, "$updateAITasks", function() { nms_EntityWither_updateAITasks(this); }, "$setInWeb", function() { nms_EntityWither_setInWeb(this); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityWither_attackEntityFrom(this, var_1, var_2); }, "$despawnEntity", function() { nms_EntityWither_despawnEntity(this); }, "$getBrightnessForRender", function(var_1) { return nms_EntityWither_getBrightnessForRender(this, var_1); }, "$canBeCollidedWith", function() { return nms_EntityWither_canBeCollidedWith(this);
}, "$getBossHealth", function() { return nms_EntityWither_getBossHealth(this); }, "$fall", function(var_1) { nms_EntityWither_fall(this, var_1); }, "$addPotionEffect", function(var_1) { nms_EntityWither_addPotionEffect(this, var_1); }, "$isAIEnabled", function() { return nms_EntityWither_isAIEnabled(this); }, "$getMaxHealth", function() { return nms_EntityWither_getMaxHealth(this); }, "$getCreatureAttribute", function() { return nms_EntityWither_getCreatureAttribute(this); }, "$mountEntity", function(var_1)
{ nms_EntityWither_mountEntity(this, var_1); }],
nms_RenderWither, "RenderWither", 79, nms_RenderLiving, [], 0, 3, 0, ["$preRenderCallback", function(var_1, var_2) { nms_RenderWither_preRenderCallback(this, var_1, var_2); }, "$shouldRenderPass", function(var_1, var_2, var_3) { return nms_RenderWither_shouldRenderPass(this, var_1, var_2, var_3); }, "$inheritRenderPass", function(var_1, var_2, var_3) { return nms_RenderWither_inheritRenderPass(this, var_1, var_2, var_3); }, "$doRenderLiving", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderWither_doRenderLiving(this,
var_1, var_2, var_3, var_4, var_5, var_6); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderWither_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$bindTexture2", function(var_1) { nms_RenderWither_bindTexture(this, var_1); }],
nms_RenderEntity, "RenderEntity", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderEntity_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityHanging, "EntityHanging", 79, nms_Entity, [], 1, 3, 0, ["$entityInit", function() { nms_EntityHanging_entityInit(this); }, "$onUpdate", function() { nms_EntityHanging_onUpdate(this); }, "$canBeCollidedWith", function() { return nms_EntityHanging_canBeCollidedWith(this); }, "$func_85031_j", function(var_1) { return nms_EntityHanging_func_85031_j(this, var_1); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityHanging_attackEntityFrom(this, var_1, var_2); }, "$moveEntity", function(var_1,
var_2, var_3) { nms_EntityHanging_moveEntity(this, var_1, var_2, var_3); }, "$addVelocity", function(var_1, var_2, var_3) { nms_EntityHanging_addVelocity(this, var_1, var_2, var_3); }],
nms_EntityPainting, "EntityPainting", 79, nms_EntityHanging, [], 0, 3, 0, ["$func_82329_d", function() { return nms_EntityPainting_func_82329_d(this); }, "$func_82330_g", function() { return nms_EntityPainting_func_82330_g(this); }],
nms_RenderPainting, "RenderPainting", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderPainting_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityItemFrame, "EntityItemFrame", 79, nms_EntityHanging, [], 0, 3, 0, ["$entityInit", function() { nms_EntityItemFrame_entityInit(this); }, "$func_82329_d", function() { return nms_EntityItemFrame_func_82329_d(this); }, "$func_82330_g", function() { return nms_EntityItemFrame_func_82330_g(this); }, "$isInRangeToRenderDist", function(var_1) { return nms_EntityItemFrame_isInRangeToRenderDist(this, var_1); }, "$interact", function(var_1) { return nms_EntityItemFrame_interact(this, var_1); }],
nms_RenderItemFrame, "RenderItemFrame", 79, nms_Render, [], 0, 3, 0, ["$updateIcons", function(var_1) { nms_RenderItemFrame_updateIcons(this, var_1); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderItemFrame_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_IProjectile, "IProjectile", 79, jl_Object, [], 3, 3, 0, 0,
nms_EntityArrow, "EntityArrow", 79, nms_Entity, [nms_IProjectile], 0, 3, 0, ["$entityInit", function() { nms_EntityArrow_entityInit(this); }, "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityArrow_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setVelocity", function(var_1, var_2, var_3) { nms_EntityArrow_setVelocity(this, var_1, var_2, var_3); }, "$onUpdate", function() { nms_EntityArrow_onUpdate(this); }, "$canTriggerWalking", function()
{ return nms_EntityArrow_canTriggerWalking(this); }, "$getShadowSize", function() { return nms_EntityArrow_getShadowSize(this); }, "$canAttackWithItem", function() { return nms_EntityArrow_canAttackWithItem(this); }],
nms_RenderArrow, "RenderArrow", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderArrow_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityThrowable, "EntityThrowable", 79, nms_Entity, [nms_IProjectile], 1, 3, 0, ["$entityInit", function() { nms_EntityThrowable_entityInit(this); }, "$isInRangeToRenderDist", function(var_1) { return nms_EntityThrowable_isInRangeToRenderDist(this, var_1); }, "$setVelocity", function(var_1, var_2, var_3) { nms_EntityThrowable_setVelocity(this, var_1, var_2, var_3); }, "$onUpdate", function() { nms_EntityThrowable_onUpdate(this); }, "$getGravityVelocity", function() { return nms_EntityThrowable_getGravityVelocity(this);
}, "$getShadowSize", function() { return nms_EntityThrowable_getShadowSize(this); }],
nms_EntitySnowball, "EntitySnowball", 79, nms_EntityThrowable, [], 0, 3, 0, ["$onImpact", function(var_1) { nms_EntitySnowball_onImpact(this, var_1); }],
nms_RenderSnowball, "RenderSnowball", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderSnowball_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_Item, "Item", 79, jl_Object, [], 0, 3, nms_Item_$callClinit, ["$getSpriteNumber", function() { return nms_Item_getSpriteNumber(this); }, "$getIconFromDamage", function(var_1) { return nms_Item_getIconFromDamage(this, var_1); }, "$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return nms_Item_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }, "$getStrVsBlock0", function(var_1, var_2) { return nms_Item_getStrVsBlock(this,
var_1, var_2); }, "$onItemRightClick", function(var_1, var_2, var_3) { return nms_Item_onItemRightClick(this, var_1, var_2, var_3); }, "$onEaten", function(var_1, var_2, var_3) { return nms_Item_onEaten(this, var_1, var_2, var_3); }, "$getMetadata", function(var_1) { return nms_Item_getMetadata(this, var_1); }, "$hitEntity0", function(var_1, var_2, var_3) { return nms_Item_hitEntity(this, var_1, var_2, var_3); }, "$onBlockDestroyed0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return nms_Item_onBlockDestroyed(this,
var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getDamageVsEntity", function(var_1) { return nms_Item_getDamageVsEntity(this, var_1); }, "$canHarvestBlock", function(var_1) { return nms_Item_canHarvestBlock(this, var_1); }, "$itemInteractionForEntity", function(var_1, var_2) { return nms_Item_itemInteractionForEntity(this, var_1, var_2); }, "$isFull3D", function() { return nms_Item_isFull3D(this); }, "$shouldRotateAroundWhenRendering", function() { return nms_Item_shouldRotateAroundWhenRendering(this);
}, "$getUnlocalizedName0", function() { return nms_Item_getUnlocalizedName(this); }, "$getUnlocalizedName", function(var_1) { return nms_Item_getUnlocalizedName0(this, var_1); }, "$getShareTag", function() { return nms_Item_getShareTag(this); }, "$getColorFromItemStack", function(var_1, var_2) { return nms_Item_getColorFromItemStack(this, var_1, var_2); }, "$onUpdate1", function(var_1, var_2, var_3, var_4, var_5) { nms_Item_onUpdate(this, var_1, var_2, var_3, var_4, var_5); }, "$onCreated", function(var_1, var_2,
var_3) { nms_Item_onCreated(this, var_1, var_2, var_3); }, "$getItemUseAction0", function(var_1) { return nms_Item_getItemUseAction(this, var_1); }, "$getMaxItemUseDuration0", function(var_1) { return nms_Item_getMaxItemUseDuration(this, var_1); }, "$onPlayerStoppedUsing0", function(var_1, var_2, var_3, var_4) { nms_Item_onPlayerStoppedUsing(this, var_1, var_2, var_3, var_4); }, "$addInformation", function(var_1, var_2, var_3, var_4) { nms_Item_addInformation(this, var_1, var_2, var_3, var_4); }, "$getItemDisplayName",
function(var_1) { return nms_Item_getItemDisplayName(this, var_1); }, "$hasEffect0", function(var_1) { return nms_Item_hasEffect(this, var_1); }, "$getRarity0", function(var_1) { return nms_Item_getRarity(this, var_1); }, "$isItemTool", function(var_1) { return nms_Item_isItemTool(this, var_1); }, "$getItemEnchantability", function() { return nms_Item_getItemEnchantability(this); }, "$requiresMultipleRenderPasses", function() { return nms_Item_requiresMultipleRenderPasses(this); }, "$getIconFromDamageForRenderPass",
function(var_1, var_2) { return nms_Item_getIconFromDamageForRenderPass(this, var_1, var_2); }, "$getSubItems", function(var_1, var_2, var_3) { nms_Item_getSubItems(this, var_1, var_2, var_3); }, "$getCreativeTab", function() { return nms_Item_getCreativeTab(this); }, "$getIsRepairable", function(var_1, var_2) { return nms_Item_getIsRepairable(this, var_1, var_2); }, "$registerIcons", function(var_1) { nms_Item_registerIcons(this, var_1); }],
nms_EntityEnderPearl, "EntityEnderPearl", 79, nms_EntityThrowable, [], 0, 3, 0, ["$onImpact", function(var_1) { nms_EntityEnderPearl_onImpact(this, var_1); }],
nms_EntityEnderEye, "EntityEnderEye", 79, nms_Entity, [], 0, 3, 0, ["$entityInit", function() { nms_EntityEnderEye_entityInit(this); }, "$isInRangeToRenderDist", function(var_1) { return nms_EntityEnderEye_isInRangeToRenderDist(this, var_1); }, "$setVelocity", function(var_1, var_2, var_3) { nms_EntityEnderEye_setVelocity(this, var_1, var_2, var_3); }, "$onUpdate", function() { nms_EntityEnderEye_onUpdate(this); }, "$getShadowSize", function() { return nms_EntityEnderEye_getShadowSize(this); }, "$getBrightnessForRender",
function(var_1) { return nms_EntityEnderEye_getBrightnessForRender(this, var_1); }, "$canAttackWithItem", function() { return nms_EntityEnderEye_canAttackWithItem(this); }],
nms_EntityEgg, "EntityEgg", 79, nms_EntityThrowable, [], 0, 3, 0, ["$onImpact", function(var_1) { nms_EntityEgg_onImpact(this, var_1); }],
nms_EntityPotion, "EntityPotion", 79, nms_EntityThrowable, [], 0, 3, 0, ["$getGravityVelocity", function() { return nms_EntityPotion_getGravityVelocity(this); }, "$onImpact", function(var_1) { nms_EntityPotion_onImpact(this, var_1); }],
nms_EntityExpBottle, "EntityExpBottle", 79, nms_EntityThrowable, [], 0, 3, 0, ["$getGravityVelocity", function() { return nms_EntityExpBottle_getGravityVelocity(this); }, "$onImpact", function(var_1) { nms_EntityExpBottle_onImpact(this, var_1); }],
nms_EntityFireworkRocket, "EntityFireworkRocket", 79, nms_Entity, [], 0, 3, 0, ["$entityInit", function() { nms_EntityFireworkRocket_entityInit(this); }, "$isInRangeToRenderDist", function(var_1) { return nms_EntityFireworkRocket_isInRangeToRenderDist(this, var_1); }, "$setVelocity", function(var_1, var_2, var_3) { nms_EntityFireworkRocket_setVelocity(this, var_1, var_2, var_3); }, "$onUpdate", function() { nms_EntityFireworkRocket_onUpdate(this); }, "$handleHealthUpdate", function(var_1) { nms_EntityFireworkRocket_handleHealthUpdate(this,
var_1); }, "$getShadowSize", function() { return nms_EntityFireworkRocket_getShadowSize(this); }, "$getBrightnessForRender", function(var_1) { return nms_EntityFireworkRocket_getBrightnessForRender(this, var_1); }, "$canAttackWithItem", function() { return nms_EntityFireworkRocket_canAttackWithItem(this); }],
nms_EntityFireball, "EntityFireball", 79, nms_Entity, [], 1, 3, 0, ["$entityInit", function() { nms_EntityFireball_entityInit(this); }, "$isInRangeToRenderDist", function(var_1) { return nms_EntityFireball_isInRangeToRenderDist(this, var_1); }, "$onUpdate", function() { nms_EntityFireball_onUpdate(this); }, "$getMotionFactor", function() { return nms_EntityFireball_getMotionFactor(this); }, "$canBeCollidedWith", function() { return nms_EntityFireball_canBeCollidedWith(this); }, "$getCollisionBorderSize", function()
{ return nms_EntityFireball_getCollisionBorderSize(this); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityFireball_attackEntityFrom(this, var_1, var_2); }, "$getShadowSize", function() { return nms_EntityFireball_getShadowSize(this); }, "$getBrightnessForRender", function(var_1) { return nms_EntityFireball_getBrightnessForRender(this, var_1); }],
nms_EntityLargeFireball, "EntityLargeFireball", 79, nms_EntityFireball, [], 0, 3, 0, ["$onImpact", function(var_1) { nms_EntityLargeFireball_onImpact(this, var_1); }],
nms_RenderFireball, "RenderFireball", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderFireball_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntitySmallFireball, "EntitySmallFireball", 79, nms_EntityFireball, [], 0, 3, 0, ["$onImpact", function(var_1) { nms_EntitySmallFireball_onImpact(this, var_1); }, "$canBeCollidedWith", function() { return nms_EntitySmallFireball_canBeCollidedWith(this); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntitySmallFireball_attackEntityFrom(this, var_1, var_2); }],
nms_EntityWitherSkull, "EntityWitherSkull", 79, nms_EntityFireball, [], 0, 3, 0, ["$getMotionFactor", function() { return nms_EntityWitherSkull_getMotionFactor(this); }, "$isBurning", function() { return nms_EntityWitherSkull_isBurning(this); }, "$onImpact", function(var_1) { nms_EntityWitherSkull_onImpact(this, var_1); }, "$canBeCollidedWith", function() { return nms_EntityWitherSkull_canBeCollidedWith(this); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityWitherSkull_attackEntityFrom(this,
var_1, var_2); }, "$entityInit", function() { nms_EntityWitherSkull_entityInit(this); }],
nms_RenderWitherSkull, "RenderWitherSkull", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderWitherSkull_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityItem, "EntityItem", 79, nms_Entity, [], 0, 3, 0, ["$canTriggerWalking", function() { return nms_EntityItem_canTriggerWalking(this); }, "$entityInit", function() { nms_EntityItem_entityInit(this); }, "$onUpdate", function() { nms_EntityItem_onUpdate(this); }, "$handleWaterMovement", function() { return nms_EntityItem_handleWaterMovement(this); }, "$dealFireDamage", function(var_1) { nms_EntityItem_dealFireDamage(this, var_1); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityItem_attackEntityFrom(this,
var_1, var_2); }, "$getEntityName", function() { return nms_EntityItem_getEntityName(this); }, "$canAttackWithItem", function() { return nms_EntityItem_canAttackWithItem(this); }],
nms_RenderItem, "RenderItem", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderItem_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityXPOrb, "EntityXPOrb", 79, nms_Entity, [], 0, 3, 0, ["$canTriggerWalking", function() { return nms_EntityXPOrb_canTriggerWalking(this); }, "$entityInit", function() { nms_EntityXPOrb_entityInit(this); }, "$getBrightnessForRender", function(var_1) { return nms_EntityXPOrb_getBrightnessForRender(this, var_1); }, "$onUpdate", function() { nms_EntityXPOrb_onUpdate(this); }, "$handleWaterMovement", function() { return nms_EntityXPOrb_handleWaterMovement(this); }, "$dealFireDamage", function(var_1) { nms_EntityXPOrb_dealFireDamage(this,
var_1); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityXPOrb_attackEntityFrom(this, var_1, var_2); }, "$canAttackWithItem", function() { return nms_EntityXPOrb_canAttackWithItem(this); }],
nms_RenderXPOrb, "RenderXPOrb", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderXPOrb_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityTNTPrimed, "EntityTNTPrimed", 79, nms_Entity, [], 0, 3, 0, ["$entityInit", function() { nms_EntityTNTPrimed_entityInit(this); }, "$canTriggerWalking", function() { return nms_EntityTNTPrimed_canTriggerWalking(this); }, "$canBeCollidedWith", function() { return nms_EntityTNTPrimed_canBeCollidedWith(this); }, "$onUpdate", function() { nms_EntityTNTPrimed_onUpdate(this); }, "$getShadowSize", function() { return nms_EntityTNTPrimed_getShadowSize(this); }],
nms_RenderTNTPrimed, "RenderTNTPrimed", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderTNTPrimed_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityFallingSand, "EntityFallingSand", 79, nms_Entity, [], 0, 3, 0, ["$canTriggerWalking", function() { return nms_EntityFallingSand_canTriggerWalking(this); }, "$entityInit", function() { nms_EntityFallingSand_entityInit(this); }, "$canBeCollidedWith", function() { return nms_EntityFallingSand_canBeCollidedWith(this); }, "$onUpdate", function() { nms_EntityFallingSand_onUpdate(this); }, "$fall", function(var_1) { nms_EntityFallingSand_fall(this, var_1); }, "$getShadowSize", function() { return nms_EntityFallingSand_getShadowSize(this);
}, "$canRenderOnFire", function() { return nms_EntityFallingSand_canRenderOnFire(this); }],
nms_RenderFallingSand, "RenderFallingSand", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderFallingSand_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityMinecart, "EntityMinecart", 79, nms_Entity, [], 1, 3, 0, ["$setWorld", function(var_1) { return nms_EntityMinecart_setWorld(this, var_1); }, "$canTriggerWalking", function() { return nms_EntityMinecart_canTriggerWalking(this); }, "$entityInit", function() { nms_EntityMinecart_entityInit(this); }, "$getCollisionBox", function(var_1) { return nms_EntityMinecart_getCollisionBox(this, var_1); }, "$getBoundingBox", function() { return nms_EntityMinecart_getBoundingBox(this); }, "$canBePushed", function()
{ return nms_EntityMinecart_canBePushed(this); }, "$getMountedYOffset", function() { return nms_EntityMinecart_getMountedYOffset(this); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityMinecart_attackEntityFrom(this, var_1, var_2); }, "$performHurtAnimation", function() { nms_EntityMinecart_performHurtAnimation(this); }, "$canBeCollidedWith", function() { return nms_EntityMinecart_canBeCollidedWith(this); }, "$setDead", function() { nms_EntityMinecart_setDead(this); }, "$onUpdate", function()
{ nms_EntityMinecart_onUpdate(this); }, "$getShadowSize", function() { return nms_EntityMinecart_getShadowSize(this); }, "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityMinecart_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setVelocity", function(var_1, var_2, var_3) { nms_EntityMinecart_setVelocity(this, var_1, var_2, var_3); }, "$getDefaultDisplayTile", function() { return nms_EntityMinecart_getDefaultDisplayTile(this); }, "$getDefaultDisplayTileData",
function() { return nms_EntityMinecart_getDefaultDisplayTileData(this); }, "$getDefaultDisplayTileOffset", function() { return nms_EntityMinecart_getDefaultDisplayTileOffset(this); }, "$getEntityName", function() { return nms_EntityMinecart_getEntityName(this); }],
nms_EntityMinecartTNT, "EntityMinecartTNT", 79, nms_EntityMinecart, [], 0, 3, 0, ["$getMinecartType", function() { return nms_EntityMinecartTNT_getMinecartType(this); }, "$getDefaultDisplayTile", function() { return nms_EntityMinecartTNT_getDefaultDisplayTile(this); }, "$onUpdate", function() { nms_EntityMinecartTNT_onUpdate(this); }, "$fall", function(var_1) { nms_EntityMinecartTNT_fall(this, var_1); }, "$handleHealthUpdate", function(var_1) { nms_EntityMinecartTNT_handleHealthUpdate(this, var_1); }],
nms_RenderMinecart, "RenderMinecart", 79, nms_Render, [], 0, 3, 0, ["$renderBlockInMinecart", function(var_1, var_2, var_3, var_4) { nms_RenderMinecart_renderBlockInMinecart(this, var_1, var_2, var_3, var_4); }, "$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderMinecart_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_RenderTntMinecart, "RenderTntMinecart", 79, nms_RenderMinecart, [], 0, 3, 0, ["$renderBlockInMinecart", function(var_1, var_2, var_3, var_4) { nms_RenderTntMinecart_renderBlockInMinecart(this, var_1, var_2, var_3, var_4); }],
nms_EntityMinecartMobSpawner, "EntityMinecartMobSpawner", 79, nms_EntityMinecart, [], 0, 3, 0, ["$getMinecartType", function() { return nms_EntityMinecartMobSpawner_getMinecartType(this); }, "$getDefaultDisplayTile", function() { return nms_EntityMinecartMobSpawner_getDefaultDisplayTile(this); }, "$onUpdate", function() { nms_EntityMinecartMobSpawner_onUpdate(this); }],
nms_RenderMinecartMobSpawner, "RenderMinecartMobSpawner", 79, nms_RenderMinecart, [], 0, 3, 0, ["$renderBlockInMinecart", function(var_1, var_2, var_3, var_4) { nms_RenderMinecartMobSpawner_renderBlockInMinecart(this, var_1, var_2, var_3, var_4); }],
nms_EntityBoat, "EntityBoat", 79, nms_Entity, [], 0, 3, 0, ["$canTriggerWalking", function() { return nms_EntityBoat_canTriggerWalking(this); }, "$entityInit", function() { nms_EntityBoat_entityInit(this); }, "$getCollisionBox", function(var_1) { return nms_EntityBoat_getCollisionBox(this, var_1); }, "$getBoundingBox", function() { return nms_EntityBoat_getBoundingBox(this); }, "$canBePushed", function() { return nms_EntityBoat_canBePushed(this); }, "$getMountedYOffset", function() { return nms_EntityBoat_getMountedYOffset(this);
}, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityBoat_attackEntityFrom(this, var_1, var_2); }, "$performHurtAnimation", function() { nms_EntityBoat_performHurtAnimation(this); }, "$canBeCollidedWith", function() { return nms_EntityBoat_canBeCollidedWith(this); }, "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityBoat_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setVelocity", function(var_1, var_2, var_3) { nms_EntityBoat_setVelocity(this,
var_1, var_2, var_3); }, "$onUpdate", function() { nms_EntityBoat_onUpdate(this); }, "$updateRiderPosition", function() { nms_EntityBoat_updateRiderPosition(this); }, "$getShadowSize", function() { return nms_EntityBoat_getShadowSize(this); }, "$interact", function(var_1) { return nms_EntityBoat_interact(this, var_1); }],
nms_RenderBoat, "RenderBoat", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderBoat_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityFishHook, "EntityFishHook", 79, nms_Entity, [], 0, 3, 0, ["$entityInit", function() { nms_EntityFishHook_entityInit(this); }, "$isInRangeToRenderDist", function(var_1) { return nms_EntityFishHook_isInRangeToRenderDist(this, var_1); }, "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityFishHook_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setVelocity", function(var_1, var_2, var_3) { nms_EntityFishHook_setVelocity(this, var_1,
var_2, var_3); }, "$onUpdate", function() { nms_EntityFishHook_onUpdate(this); }, "$getShadowSize", function() { return nms_EntityFishHook_getShadowSize(this); }, "$setDead", function() { nms_EntityFishHook_setDead(this); }],
nms_RenderFish, "RenderFish", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderFish_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_EntityWeatherEffect, "EntityWeatherEffect", 79, nms_Entity, [], 1, 3, 0, 0,
nms_EntityLightningBolt, "EntityLightningBolt", 79, nms_EntityWeatherEffect, [], 0, 3, 0, ["$onUpdate", function() { nms_EntityLightningBolt_onUpdate(this); }, "$entityInit", function() { nms_EntityLightningBolt_entityInit(this); }, "$isInRangeToRenderVec3D", function(var_1) { return nms_EntityLightningBolt_isInRangeToRenderVec3D(this, var_1); }]]);
$rt_metadata([nms_RenderLightningBolt, "RenderLightningBolt", 79, nms_Render, [], 0, 3, 0, ["$doRender", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_RenderLightningBolt_doRender(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_MapItemRenderer, "MapItemRenderer", 79, jl_Object, [], 0, 3, 0, 0,
nms_StatBase, "StatBase", 79, jl_Object, [], 0, 3, nms_StatBase_$callClinit, ["$toString", function() { return nms_StatBase_toString(this); }],
nms_Achievement, "Achievement", 79, nms_StatBase, [], 0, 3, 0, 0,
nms_RenderList, "RenderList", 79, jl_Object, [], 0, 3, 0, 0,
nms_GuiNewChat, "GuiNewChat", 79, nms_Gui, [], 0, 3, 0, 0,
cjj_InfTree, "InfTree", 2, jl_Object, [], 4, 0, 0, 0,
cjj_InfCodes, "InfCodes", 2, jl_Object, [], 4, 0, 0, 0,
nms_PlayerControllerMP, "PlayerControllerMP", 79, jl_Object, [], 0, 3, 0, 0,
nms_EntityOtherPlayerMP, "EntityOtherPlayerMP", 79, nms_EntityPlayer, [], 0, 3, 0, ["$resetHeight", function() { nms_EntityOtherPlayerMP_resetHeight(this); }, "$attackEntityFrom", function(var_1, var_2) { return nms_EntityOtherPlayerMP_attackEntityFrom(this, var_1, var_2); }, "$setPositionAndRotation2", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_EntityOtherPlayerMP_setPositionAndRotation2(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$updateCloak", function() { nms_EntityOtherPlayerMP_updateCloak(this);
}, "$onUpdate", function() { nms_EntityOtherPlayerMP_onUpdate(this); }, "$getShadowSize", function() { return nms_EntityOtherPlayerMP_getShadowSize(this); }, "$onLivingUpdate", function() { nms_EntityOtherPlayerMP_onLivingUpdate(this); }, "$setCurrentItemOrArmor", function(var_1, var_2) { nms_EntityOtherPlayerMP_setCurrentItemOrArmor(this, var_1, var_2); }, "$getEyeHeight", function() { return nms_EntityOtherPlayerMP_getEyeHeight(this); }],
nms_PlayerCapabilities, "PlayerCapabilities", 79, jl_Object, [], 0, 3, 0, 0,
nms_Vec3, "Vec3", 79, jl_Object, [], 0, 3, 0, ["$toString", function() { return nms_Vec3_toString(this); }],
nms_GuiParticle, "GuiParticle", 79, nms_Gui, [], 0, 3, 0, 0,
nms_MovingObjectPosition, "MovingObjectPosition", 79, jl_Object, [], 0, 3, 0, 0,
nms_EnumMovingObjectType, "EnumMovingObjectType", 79, jl_Enum, [], 12, 3, 0, 0,
nms_ItemStack, "ItemStack", 79, jl_Object, [], 4, 3, 0, ["$toString", function() { return nms_ItemStack_toString(this); }],
nms_Block, "Block", 79, jl_Object, [], 0, 3, nms_Block_$callClinit, ["$initializeBlock", function() { nms_Block_initializeBlock(this); }, "$renderAsNormalBlock", function() { return nms_Block_renderAsNormalBlock(this); }, "$getBlocksMovement", function(var_1, var_2, var_3, var_4) { return nms_Block_getBlocksMovement(this, var_1, var_2, var_3, var_4); }, "$getRenderType", function() { return nms_Block_getRenderType(this); }, "$getBlockBrightness", function(var_1, var_2, var_3, var_4) { return nms_Block_getBlockBrightness(this,
var_1, var_2, var_3, var_4); }, "$getMixedBrightnessForBlock", function(var_1, var_2, var_3, var_4) { return nms_Block_getMixedBrightnessForBlock(this, var_1, var_2, var_3, var_4); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_getBlockTexture(this, var_1, var_2, var_3, var_4, var_5); }, "$getIcon", function(var_1, var_2)
{ return nms_Block_getIcon(this, var_1, var_2); }, "$getSelectedBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return nms_Block_getSelectedBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$addCollisionBoxesToList", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_Block_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return nms_Block_getCollisionBoundingBoxFromPool(this,
var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return nms_Block_isOpaqueCube(this); }, "$canCollideCheck", function(var_1, var_2) { return nms_Block_canCollideCheck(this, var_1, var_2); }, "$isCollidable", function() { return nms_Block_isCollidable(this); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockDestroyedByPlayer", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onBlockDestroyedByPlayer(this,
var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_Block_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$damageDropped", function(var_1) { return nms_Block_damageDropped(this, var_1); }, "$getExplosionResistance", function(var_1) { return nms_Block_getExplosionResistance(this,
var_1); }, "$collisionRayTrace", function(var_1, var_2, var_3, var_4, var_5, var_6) { return nms_Block_collisionRayTrace(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onBlockDestroyedByExplosion", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onBlockDestroyedByExplosion(this, var_1, var_2, var_3, var_4, var_5); }, "$getRenderBlockPass", function() { return nms_Block_getRenderBlockPass(this); }, "$canPlaceBlockOnSide", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_canPlaceBlockOnSide0(this,
var_1, var_2, var_3, var_4, var_5); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return nms_Block_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return nms_Block_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onEntityWalking", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onEntityWalking(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockPlaced",
function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return nms_Block_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$velocityToAddToEntity", function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_Block_velocityToAddToEntity(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setBlockBoundsBasedOnState", function(var_1,
var_2, var_3, var_4) { nms_Block_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$getBlockColor", function() { return nms_Block_getBlockColor(this); }, "$getRenderColor", function(var_1) { return nms_Block_getRenderColor(this, var_1); }, "$colorMultiplier", function(var_1, var_2, var_3, var_4) { return nms_Block_colorMultiplier(this, var_1, var_2, var_3, var_4); }, "$isProvidingWeakPower", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_isProvidingWeakPower(this, var_1, var_2,
var_3, var_4, var_5); }, "$canProvidePower", function() { return nms_Block_canProvidePower(this); }, "$onEntityCollidedWithBlock", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onEntityCollidedWithBlock(this, var_1, var_2, var_3, var_4, var_5); }, "$isProvidingStrongPower", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_isProvidingStrongPower(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlockBoundsForItemRender", function() { nms_Block_setBlockBoundsForItemRender(this); }, "$onBlockPlacedBy",
function(var_1, var_2, var_3, var_4, var_5, var_6) { nms_Block_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onPostBlockPlaced", function(var_1, var_2, var_3, var_4, var_5) { nms_Block_onPostBlockPlaced(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockEventReceived", function(var_1, var_2, var_3, var_4, var_5, var_6) { return nms_Block_onBlockEventReceived(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$getMobilityFlag", function() { return nms_Block_getMobilityFlag(this);
}, "$idPicked", function(var_1, var_2, var_3, var_4) { return nms_Block_idPicked(this, var_1, var_2, var_3, var_4); }, "$getDamageValue", function(var_1, var_2, var_3, var_4) { return nms_Block_getDamageValue(this, var_1, var_2, var_3, var_4); }, "$getSubBlocks", function(var_1, var_2, var_3) { nms_Block_getSubBlocks(this, var_1, var_2, var_3); }, "$isFlowerPot", function() { return nms_Block_isFlowerPot(this); }, "$canDropFromExplosion", function(var_1) { return nms_Block_canDropFromExplosion(this, var_1);
}, "$hasComparatorInputOverride", function() { return nms_Block_hasComparatorInputOverride(this); }, "$getComparatorInputOverride", function(var_1, var_2, var_3, var_4, var_5) { return nms_Block_getComparatorInputOverride(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { nms_Block_registerIcons(this, var_1); }, "$getItemIconName", function() { return nms_Block_getItemIconName(this); }],
nms_Container, "Container", 79, jl_Object, [], 1, 3, 0, ["$addCraftingToCrafters", function(var_1) { nms_Container_addCraftingToCrafters(this, var_1); }, "$detectAndSendChanges", function() { nms_Container_detectAndSendChanges(this); }, "$func_94530_a", function(var_1, var_2) { return nms_Container_func_94530_a(this, var_1, var_2); }, "$retrySlotClick", function(var_1, var_2, var_3, var_4) { nms_Container_retrySlotClick(this, var_1, var_2, var_3, var_4); }, "$onCraftGuiClosed", function(var_1) { nms_Container_onCraftGuiClosed(this,
var_1); }, "$onCraftMatrixChanged", function(var_1) { nms_Container_onCraftMatrixChanged(this, var_1); }, "$updateProgressBar", function(var_1, var_2) { nms_Container_updateProgressBar(this, var_1, var_2); }, "$func_94531_b", function(var_1) { return nms_Container_func_94531_b(this, var_1); }],
nms_EntityList, "EntityList", 79, jl_Object, [], 0, 3, 0, 0,
otp_PlatformQueue, "PlatformQueue", 62, jl_Object, [otj_JSObject], 1, 3, 0, 0,
jl_Object$monitorExit$lambda$_8_0, "Object$monitorExit$lambda$_8_0", 22, jl_Object, [otp_PlatformRunnable], 0, 3, 0, ["$run", function() { jl_Object$monitorExit$lambda$_8_0_run(this); }],
ji_UTFDataFormatException, "UTFDataFormatException", 17, ji_IOException, [], 0, 3, 0, 0,
nms_ITexturePack, "ITexturePack", 79, jl_Object, [], 3, 3, 0, 0,
nms_TexturePackImplementation, "TexturePackImplementation", 79, jl_Object, [nms_ITexturePack], 1, 3, 0, 0,
nms_TexturePackDefault, "TexturePackDefault", 79, nms_TexturePackImplementation, [], 0, 3, 0, 0,
nms_IntHashMapEntry, "IntHashMapEntry", 79, jl_Object, [], 0, 0, 0, 0,
nms_Icon, "Icon", 79, jl_Object, [], 3, 3, 0, 0,
nle_TextureTerrainMap$TerrainIcon, "TextureTerrainMap$TerrainIcon", 82, jl_Object, [nms_Icon], 0, 0, 0, ["$getOriginX", function() { return nle_TextureTerrainMap$TerrainIcon_getOriginX(this); }, "$getOriginY", function() { return nle_TextureTerrainMap$TerrainIcon_getOriginY(this); }, "$getMinU", function() { return nle_TextureTerrainMap$TerrainIcon_getMinU(this); }, "$getMaxU", function() { return nle_TextureTerrainMap$TerrainIcon_getMaxU(this); }, "$getInterpolatedU", function(var_1) { return nle_TextureTerrainMap$TerrainIcon_getInterpolatedU(this,
var_1); }, "$getMinV", function() { return nle_TextureTerrainMap$TerrainIcon_getMinV(this); }, "$getMaxV", function() { return nle_TextureTerrainMap$TerrainIcon_getMaxV(this); }, "$getInterpolatedV", function(var_1) { return nle_TextureTerrainMap$TerrainIcon_getInterpolatedV(this, var_1); }, "$getIconName", function() { return nle_TextureTerrainMap$TerrainIcon_getIconName(this); }, "$getSheetWidth", function() { return nle_TextureTerrainMap$TerrainIcon_getSheetWidth(this); }, "$getSheetHeight", function() {
return nle_TextureTerrainMap$TerrainIcon_getSheetHeight(this); }],
jn_FloatBuffer, "FloatBuffer", 14, jn_Buffer, [jl_Comparable], 1, 3, 0, 0,
nms_ModelSpider, "ModelSpider", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelSpider_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelSpider_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelRenderer, "ModelRenderer", 79, jl_Object, [], 0, 3, 0, 0,
nms_ModelSilverfish, "ModelSilverfish", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelSilverfish_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelSilverfish_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelCreeper, "ModelCreeper", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelCreeper_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelCreeper_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelBiped, "ModelBiped", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelBiped_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelBiped_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelEnderman, "ModelEnderman", 79, nms_ModelBiped, [], 0, 3, 0, ["$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelEnderman_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelSnowMan, "ModelSnowMan", 79, nms_ModelBase, [], 0, 3, 0, ["$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelSnowMan_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelSnowMan_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelZombie, "ModelZombie", 79, nms_ModelBiped, [], 0, 3, 0, ["$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelZombie_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelSkeleton, "ModelSkeleton", 79, nms_ModelZombie, [], 0, 3, 0, ["$setLivingAnimations", function(var_1, var_2, var_3, var_4) { $java.nms_ModelSkeleton_setLivingAnimations(this, var_1, var_2, var_3, var_4); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelSkeleton_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelVillager, "ModelVillager", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelVillager_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelVillager_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelWitch, "ModelWitch", 79, nms_ModelVillager, [], 0, 3, 0, ["$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelWitch_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelBlaze, "ModelBlaze", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nms_ModelBlaze_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelBlaze_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelZombieVillager, "ModelZombieVillager", 79, nms_ModelBiped, [], 0, 3, 0, ["$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelZombieVillager_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelMagmaCube, "ModelMagmaCube", 79, nms_ModelBase, [], 0, 3, 0, ["$setLivingAnimations", function(var_1, var_2, var_3, var_4) { $java.nms_ModelMagmaCube_setLivingAnimations(this, var_1, var_2, var_3, var_4); }, "$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelMagmaCube_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nle_ModelBipedNewSkins, "ModelBipedNewSkins", 82, nms_ModelBiped, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { nle_ModelBipedNewSkins_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nle_ModelBipedNewSkins_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelGhast, "ModelGhast", 79, nms_ModelBase, [], 0, 3, 0, ["$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelGhast_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelGhast_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelIronGolem, "ModelIronGolem", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelIronGolem_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelIronGolem_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setLivingAnimations", function(var_1, var_2, var_3, var_4) { $java.nms_ModelIronGolem_setLivingAnimations(this,
var_1, var_2, var_3, var_4); }],
nms_ModelBat, "ModelBat", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelBat_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelDragon, "ModelDragon", 79, nms_ModelBase, [], 0, 3, 0, ["$setLivingAnimations", function(var_1, var_2, var_3, var_4) { $java.nms_ModelDragon_setLivingAnimations(this, var_1, var_2, var_3, var_4); }, "$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelDragon_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ModelWither, "ModelWither", 79, nms_ModelBase, [], 0, 3, 0, ["$render0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelWither_render(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setRotationAngles", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_ModelWither_setRotationAngles(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setLivingAnimations", function(var_1, var_2, var_3, var_4) { $java.nms_ModelWither_setLivingAnimations(this,
var_1, var_2, var_3, var_4); }],
nms_ModelSkeletonHead, "ModelSkeletonHead", 79, nms_ModelBase, [], 0, 3, 0, 0]);
$rt_metadata([nms_ModelMinecart, "ModelMinecart", 79, nms_ModelBase, [], 0, 3, 0, 0,
nms_ModelBoat, "ModelBoat", 79, nms_ModelBase, [], 0, 3, 0, 0,
nlea_EaglerAdapterImpl2$FramebufferGL, "EaglerAdapterImpl2$FramebufferGL", 83, jl_Object, [], 4, 3, 0, 0,
nle_EaglerProfile$EaglerProfileSkin, "EaglerProfile$EaglerProfileSkin", 82, jl_Object, [], 0, 3, 0, 0,
ju_Arrays$NaturalOrder, "Arrays$NaturalOrder", 8, jl_Object, [ju_Comparator], 0, 0, 0, ["$compare", function(var_1, var_2) { return $java.ju_Arrays$NaturalOrder_compare(this, var_1, var_2); }],
ju_Collections$_clinit_$lambda$_61_0, "Collections$<clinit>$lambda$_61_0", 8, jl_Object, [ju_Comparator], 0, 3, 0, ["$compare", function(var_1, var_2) { return $java.ju_Collections$_clinit_$lambda$_61_0_compare(this, var_1, var_2); }],
ju_Collections$_clinit_$lambda$_61_1, "Collections$<clinit>$lambda$_61_1", 8, jl_Object, [ju_Comparator], 0, 3, 0, 0,
jl_Object$monitorEnterWait$lambda$_6_0, "Object$monitorEnterWait$lambda$_6_0", 22, jl_Object, [otp_PlatformRunnable], 0, 3, 0, 0,
ji_UnsupportedEncodingException, "UnsupportedEncodingException", 17, ji_IOException, [], 0, 3, 0, 0,
nms_ItemTool, "ItemTool", 79, nms_Item, [], 0, 3, 0, ["$getStrVsBlock0", function(var_1, var_2) { return $java.nms_ItemTool_getStrVsBlock(this, var_1, var_2); }, "$hitEntity0", function(var_1, var_2, var_3) { return $java.nms_ItemTool_hitEntity(this, var_1, var_2, var_3); }, "$onBlockDestroyed0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return $java.nms_ItemTool_onBlockDestroyed(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getDamageVsEntity", function(var_1) { return $java.nms_ItemTool_getDamageVsEntity(this,
var_1); }, "$isFull3D", function() { return $java.nms_ItemTool_isFull3D(this); }, "$getItemEnchantability", function() { return $java.nms_ItemTool_getItemEnchantability(this); }, "$getIsRepairable", function(var_1, var_2) { return $java.nms_ItemTool_getIsRepairable(this, var_1, var_2); }],
nms_ItemSpade, "ItemSpade", 79, nms_ItemTool, [], 0, 3, $java.nms_ItemSpade_$callClinit, ["$canHarvestBlock", function(var_1) { return $java.nms_ItemSpade_canHarvestBlock(this, var_1); }],
nms_EnumToolMaterial, "EnumToolMaterial", 79, jl_Enum, [], 12, 3, 0, 0,
nms_ItemPickaxe, "ItemPickaxe", 79, nms_ItemTool, [], 0, 3, $java.nms_ItemPickaxe_$callClinit, ["$canHarvestBlock", function(var_1) { return $java.nms_ItemPickaxe_canHarvestBlock(this, var_1); }, "$getStrVsBlock0", function(var_1, var_2) { return $java.nms_ItemPickaxe_getStrVsBlock(this, var_1, var_2); }],
nms_ItemAxe, "ItemAxe", 79, nms_ItemTool, [], 0, 3, $java.nms_ItemAxe_$callClinit, ["$getStrVsBlock0", function(var_1, var_2) { return $java.nms_ItemAxe_getStrVsBlock(this, var_1, var_2); }],
nms_ItemFlintAndSteel, "ItemFlintAndSteel", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemFlintAndSteel_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_ItemFood, "ItemFood", 79, nms_Item, [], 0, 3, 0, ["$onEaten", function(var_1, var_2, var_3) { return $java.nms_ItemFood_onEaten(this, var_1, var_2, var_3); }, "$onFoodEaten0", function(var_1, var_2, var_3) { $java.nms_ItemFood_onFoodEaten(this, var_1, var_2, var_3); }, "$getMaxItemUseDuration0", function(var_1) { return $java.nms_ItemFood_getMaxItemUseDuration(this, var_1); }, "$getItemUseAction0", function(var_1) { return $java.nms_ItemFood_getItemUseAction(this, var_1); }, "$onItemRightClick", function(var_1,
var_2, var_3) { return $java.nms_ItemFood_onItemRightClick(this, var_1, var_2, var_3); }],
nms_ItemBow, "ItemBow", 79, nms_Item, [], 0, 3, 0, ["$onPlayerStoppedUsing0", function(var_1, var_2, var_3, var_4) { $java.nms_ItemBow_onPlayerStoppedUsing(this, var_1, var_2, var_3, var_4); }, "$onEaten", function(var_1, var_2, var_3) { return $java.nms_ItemBow_onEaten(this, var_1, var_2, var_3); }, "$getMaxItemUseDuration0", function(var_1) { return $java.nms_ItemBow_getMaxItemUseDuration(this, var_1); }, "$getItemUseAction0", function(var_1) { return $java.nms_ItemBow_getItemUseAction(this, var_1); }, "$onItemRightClick",
function(var_1, var_2, var_3) { return $java.nms_ItemBow_onItemRightClick(this, var_1, var_2, var_3); }, "$getItemEnchantability", function() { return $java.nms_ItemBow_getItemEnchantability(this); }, "$registerIcons", function(var_1) { $java.nms_ItemBow_registerIcons(this, var_1); }],
nms_CreativeTabs, "CreativeTabs", 79, jl_Object, [], 0, 3, 0, ["$displayAllReleventItems", function(var_1) { $java.nms_CreativeTabs_displayAllReleventItems(this, var_1); }],
nms_ItemCoal, "ItemCoal", 79, nms_Item, [], 0, 3, 0, ["$getUnlocalizedName", function(var_1) { return $java.nms_ItemCoal_getUnlocalizedName(this, var_1); }, "$getSubItems", function(var_1, var_2, var_3) { $java.nms_ItemCoal_getSubItems(this, var_1, var_2, var_3); }],
nms_ItemSword, "ItemSword", 79, nms_Item, [], 0, 3, 0, ["$getStrVsBlock0", function(var_1, var_2) { return $java.nms_ItemSword_getStrVsBlock(this, var_1, var_2); }, "$hitEntity0", function(var_1, var_2, var_3) { return $java.nms_ItemSword_hitEntity(this, var_1, var_2, var_3); }, "$onBlockDestroyed0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return $java.nms_ItemSword_onBlockDestroyed(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getDamageVsEntity", function(var_1) { return $java.nms_ItemSword_getDamageVsEntity(this,
var_1); }, "$isFull3D", function() { return $java.nms_ItemSword_isFull3D(this); }, "$getItemUseAction0", function(var_1) { return $java.nms_ItemSword_getItemUseAction(this, var_1); }, "$getMaxItemUseDuration0", function(var_1) { return $java.nms_ItemSword_getMaxItemUseDuration(this, var_1); }, "$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemSword_onItemRightClick(this, var_1, var_2, var_3); }, "$canHarvestBlock", function(var_1) { return $java.nms_ItemSword_canHarvestBlock(this, var_1);
}, "$getItemEnchantability", function() { return $java.nms_ItemSword_getItemEnchantability(this); }, "$getIsRepairable", function(var_1, var_2) { return $java.nms_ItemSword_getIsRepairable(this, var_1, var_2); }],
nms_ItemSoup, "ItemSoup", 79, nms_ItemFood, [], 0, 3, 0, ["$onEaten", function(var_1, var_2, var_3) { return $java.nms_ItemSoup_onEaten(this, var_1, var_2, var_3); }],
nms_ItemReed, "ItemReed", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemReed_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_PotionHelper, "PotionHelper", 79, jl_Object, [], 0, 3, nms_PotionHelper_$callClinit, 0,
nms_ItemHoe, "ItemHoe", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemHoe_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }, "$isFull3D", function() { return $java.nms_ItemHoe_isFull3D(this); }],
nms_ItemSeeds, "ItemSeeds", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemSeeds_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_ItemArmor, "ItemArmor", 79, nms_Item, [], 0, 3, 0, ["$getColorFromItemStack", function(var_1, var_2) { return $java.nms_ItemArmor_getColorFromItemStack(this, var_1, var_2); }, "$requiresMultipleRenderPasses", function() { return $java.nms_ItemArmor_requiresMultipleRenderPasses(this); }, "$getItemEnchantability", function() { return $java.nms_ItemArmor_getItemEnchantability(this); }, "$getIconFromDamageForRenderPass", function(var_1, var_2) { return $java.nms_ItemArmor_getIconFromDamageForRenderPass(this,
var_1, var_2); }, "$getIsRepairable", function(var_1, var_2) { return $java.nms_ItemArmor_getIsRepairable(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_ItemArmor_registerIcons(this, var_1); }, "$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemArmor_onItemRightClick(this, var_1, var_2, var_3); }],
nms_EnumArmorMaterial, "EnumArmorMaterial", 79, jl_Enum, [], 12, 3, 0, 0,
nms_ItemHangingEntity, "ItemHangingEntity", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemHangingEntity_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_ItemAppleGold, "ItemAppleGold", 79, nms_ItemFood, [], 0, 3, 0, ["$hasEffect0", function(var_1) { return $java.nms_ItemAppleGold_hasEffect(this, var_1); }, "$getRarity0", function(var_1) { return $java.nms_ItemAppleGold_getRarity(this, var_1); }, "$onFoodEaten0", function(var_1, var_2, var_3) { $java.nms_ItemAppleGold_onFoodEaten(this, var_1, var_2, var_3); }, "$getSubItems", function(var_1, var_2, var_3) { $java.nms_ItemAppleGold_getSubItems(this, var_1, var_2, var_3); }],
nms_Potion, "Potion", 79, jl_Object, [], 0, 3, 0, ["$isInstant", function() { return $java.nms_Potion_isInstant(this); }, "$isReady", function(var_1, var_2) { return $java.nms_Potion_isReady(this, var_1, var_2); }],
nms_ItemSign, "ItemSign", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemSign_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_ItemDoor, "ItemDoor", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemDoor_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_Material, "Material", 79, jl_Object, [], 0, 3, nms_Material_$callClinit, ["$isLiquid", function() { return $java.nms_Material_isLiquid(this); }, "$isSolid", function() { return $java.nms_Material_isSolid(this); }, "$getCanBlockGrass", function() { return $java.nms_Material_getCanBlockGrass(this); }, "$blocksMovement", function() { return $java.nms_Material_blocksMovement(this); }],
nms_ItemBucket, "ItemBucket", 79, nms_Item, [], 0, 3, 0, ["$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemBucket_onItemRightClick(this, var_1, var_2, var_3); }],
nms_BlockFluid, "BlockFluid", 79, nms_Block, [], 1, 3, 0, ["$getBlockColor", function() { return $java.nms_BlockFluid_getBlockColor(this); }, "$colorMultiplier", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFluid_colorMultiplier(this, var_1, var_2, var_3, var_4); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockFluid_getIcon(this, var_1, var_2); }, "$renderAsNormalBlock", function() { return $java.nms_BlockFluid_renderAsNormalBlock(this); }, "$isOpaqueCube", function() { return $java.nms_BlockFluid_isOpaqueCube(this);
}, "$canCollideCheck", function(var_1, var_2) { return $java.nms_BlockFluid_canCollideCheck(this, var_1, var_2); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockFluid_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFluid_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getRenderType", function() { return $java.nms_BlockFluid_getRenderType(this);
}, "$velocityToAddToEntity", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockFluid_velocityToAddToEntity(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$getMixedBrightnessForBlock", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFluid_getMixedBrightnessForBlock(this, var_1, var_2, var_3, var_4); }, "$getBlockBrightness", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFluid_getBlockBrightness(this, var_1, var_2, var_3, var_4); }, "$getRenderBlockPass", function()
{ return $java.nms_BlockFluid_getRenderBlockPass(this); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockFluid_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockFluid_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockFluid_registerIcons(this, var_1); }],
nms_ItemMinecart, "ItemMinecart", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemMinecart_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_ItemSaddle, "ItemSaddle", 79, nms_Item, [], 0, 3, 0, ["$itemInteractionForEntity", function(var_1, var_2) { return $java.nms_ItemSaddle_itemInteractionForEntity(this, var_1, var_2); }, "$hitEntity0", function(var_1, var_2, var_3) { return $java.nms_ItemSaddle_hitEntity(this, var_1, var_2, var_3); }],
nms_ItemRedstone, "ItemRedstone", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemRedstone_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_ItemSnowball, "ItemSnowball", 79, nms_Item, [], 0, 3, 0, ["$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemSnowball_onItemRightClick(this, var_1, var_2, var_3); }],
nms_ItemBoat, "ItemBoat", 79, nms_Item, [], 0, 3, 0, ["$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemBoat_onItemRightClick(this, var_1, var_2, var_3); }],
nms_ItemBucketMilk, "ItemBucketMilk", 79, nms_Item, [], 0, 3, 0, ["$onEaten", function(var_1, var_2, var_3) { return $java.nms_ItemBucketMilk_onEaten(this, var_1, var_2, var_3); }, "$getMaxItemUseDuration0", function(var_1) { return $java.nms_ItemBucketMilk_getMaxItemUseDuration(this, var_1); }, "$getItemUseAction0", function(var_1) { return $java.nms_ItemBucketMilk_getItemUseAction(this, var_1); }, "$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemBucketMilk_onItemRightClick(this, var_1,
var_2, var_3); }],
nms_ItemBook, "ItemBook", 79, nms_Item, [], 0, 3, 0, ["$isItemTool", function(var_1) { return $java.nms_ItemBook_isItemTool(this, var_1); }, "$getItemEnchantability", function() { return $java.nms_ItemBook_getItemEnchantability(this); }],
nms_ItemEgg, "ItemEgg", 79, nms_Item, [], 0, 3, 0, ["$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemEgg_onItemRightClick(this, var_1, var_2, var_3); }],
nms_ItemFishingRod, "ItemFishingRod", 79, nms_Item, [], 0, 3, 0, ["$isFull3D", function() { return $java.nms_ItemFishingRod_isFull3D(this); }, "$shouldRotateAroundWhenRendering", function() { return $java.nms_ItemFishingRod_shouldRotateAroundWhenRendering(this); }, "$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemFishingRod_onItemRightClick(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_ItemFishingRod_registerIcons(this, var_1); }],
nms_ItemDye, "ItemDye", 79, nms_Item, [], 0, 3, 0, ["$getIconFromDamage", function(var_1) { return $java.nms_ItemDye_getIconFromDamage(this, var_1); }, "$getUnlocalizedName", function(var_1) { return $java.nms_ItemDye_getUnlocalizedName(this, var_1); }, "$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemDye_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }, "$itemInteractionForEntity", function(var_1, var_2)
{ return $java.nms_ItemDye_itemInteractionForEntity(this, var_1, var_2); }, "$getSubItems", function(var_1, var_2, var_3) { $java.nms_ItemDye_getSubItems(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_ItemDye_registerIcons(this, var_1); }],
nms_ItemBed, "ItemBed", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemBed_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_ItemMapBase, "ItemMapBase", 79, nms_Item, [], 0, 3, 0, 0,
nms_ItemMap, "ItemMap", 79, nms_ItemMapBase, [], 0, 3, 0, ["$onUpdate1", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_ItemMap_onUpdate(this, var_1, var_2, var_3, var_4, var_5); }, "$onCreated", function(var_1, var_2, var_3) { $java.nms_ItemMap_onCreated(this, var_1, var_2, var_3); }, "$addInformation", function(var_1, var_2, var_3, var_4) { $java.nms_ItemMap_addInformation(this, var_1, var_2, var_3, var_4); }],
nms_ItemShears, "ItemShears", 79, nms_Item, [], 0, 3, 0, ["$onBlockDestroyed0", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return $java.nms_ItemShears_onBlockDestroyed(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$canHarvestBlock", function(var_1) { return $java.nms_ItemShears_canHarvestBlock(this, var_1); }, "$getStrVsBlock0", function(var_1, var_2) { return $java.nms_ItemShears_getStrVsBlock(this, var_1, var_2); }],
nms_ItemEnderPearl, "ItemEnderPearl", 79, nms_Item, [], 0, 3, 0, ["$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemEnderPearl_onItemRightClick(this, var_1, var_2, var_3); }]]);
$rt_metadata([nms_ItemPotion, "ItemPotion", 79, nms_Item, [], 0, 3, 0, ["$onEaten", function(var_1, var_2, var_3) { return $java.nms_ItemPotion_onEaten(this, var_1, var_2, var_3); }, "$getMaxItemUseDuration0", function(var_1) { return $java.nms_ItemPotion_getMaxItemUseDuration(this, var_1); }, "$getItemUseAction0", function(var_1) { return $java.nms_ItemPotion_getItemUseAction(this, var_1); }, "$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemPotion_onItemRightClick(this, var_1, var_2,
var_3); }, "$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemPotion_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }, "$getIconFromDamage", function(var_1) { return $java.nms_ItemPotion_getIconFromDamage(this, var_1); }, "$getIconFromDamageForRenderPass", function(var_1, var_2) { return $java.nms_ItemPotion_getIconFromDamageForRenderPass(this, var_1, var_2); }, "$getColorFromItemStack", function(var_1,
var_2) { return $java.nms_ItemPotion_getColorFromItemStack(this, var_1, var_2); }, "$requiresMultipleRenderPasses", function() { return $java.nms_ItemPotion_requiresMultipleRenderPasses(this); }, "$getItemDisplayName", function(var_1) { return $java.nms_ItemPotion_getItemDisplayName(this, var_1); }, "$addInformation", function(var_1, var_2, var_3, var_4) { $java.nms_ItemPotion_addInformation(this, var_1, var_2, var_3, var_4); }, "$hasEffect0", function(var_1) { return $java.nms_ItemPotion_hasEffect(this, var_1);
}, "$getSubItems", function(var_1, var_2, var_3) { $java.nms_ItemPotion_getSubItems(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_ItemPotion_registerIcons(this, var_1); }],
nms_ItemGlassBottle, "ItemGlassBottle", 79, nms_Item, [], 0, 3, 0, ["$getIconFromDamage", function(var_1) { return $java.nms_ItemGlassBottle_getIconFromDamage(this, var_1); }, "$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemGlassBottle_onItemRightClick(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_ItemGlassBottle_registerIcons(this, var_1); }],
nms_ItemEnderEye, "ItemEnderEye", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemEnderEye_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }, "$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemEnderEye_onItemRightClick(this, var_1, var_2, var_3); }],
nms_ItemMonsterPlacer, "ItemMonsterPlacer", 79, nms_Item, [], 0, 3, 0, ["$getItemDisplayName", function(var_1) { return $java.nms_ItemMonsterPlacer_getItemDisplayName(this, var_1); }, "$getColorFromItemStack", function(var_1, var_2) { return $java.nms_ItemMonsterPlacer_getColorFromItemStack(this, var_1, var_2); }, "$requiresMultipleRenderPasses", function() { return $java.nms_ItemMonsterPlacer_requiresMultipleRenderPasses(this); }, "$getIconFromDamageForRenderPass", function(var_1, var_2) { return $java.nms_ItemMonsterPlacer_getIconFromDamageForRenderPass(this,
var_1, var_2); }, "$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemMonsterPlacer_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }, "$getSubItems", function(var_1, var_2, var_3) { $java.nms_ItemMonsterPlacer_getSubItems(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_ItemMonsterPlacer_registerIcons(this, var_1); }],
nms_ItemExpBottle, "ItemExpBottle", 79, nms_Item, [], 0, 3, 0, ["$hasEffect0", function(var_1) { return $java.nms_ItemExpBottle_hasEffect(this, var_1); }, "$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemExpBottle_onItemRightClick(this, var_1, var_2, var_3); }],
nms_ItemFireball, "ItemFireball", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemFireball_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_ItemWritableBook, "ItemWritableBook", 79, nms_Item, [], 0, 3, 0, ["$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemWritableBook_onItemRightClick(this, var_1, var_2, var_3); }, "$getShareTag", function() { return $java.nms_ItemWritableBook_getShareTag(this); }],
nms_ItemEditableBook, "ItemEditableBook", 79, nms_Item, [], 0, 3, 0, ["$getItemDisplayName", function(var_1) { return $java.nms_ItemEditableBook_getItemDisplayName(this, var_1); }, "$addInformation", function(var_1, var_2, var_3, var_4) { $java.nms_ItemEditableBook_addInformation(this, var_1, var_2, var_3, var_4); }, "$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemEditableBook_onItemRightClick(this, var_1, var_2, var_3); }, "$getShareTag", function() { return $java.nms_ItemEditableBook_getShareTag(this);
}, "$hasEffect0", function(var_1) { return $java.nms_ItemEditableBook_hasEffect(this, var_1); }],
nms_ItemSeedFood, "ItemSeedFood", 79, nms_ItemFood, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemSeedFood_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_ItemEmptyMap, "ItemEmptyMap", 79, nms_ItemMapBase, [], 0, 3, 0, ["$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemEmptyMap_onItemRightClick(this, var_1, var_2, var_3); }],
nms_ItemSkull, "ItemSkull", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemSkull_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }, "$getSubItems", function(var_1, var_2, var_3) { $java.nms_ItemSkull_getSubItems(this, var_1, var_2, var_3); }, "$getIconFromDamage", function(var_1) { return $java.nms_ItemSkull_getIconFromDamage(this, var_1); }, "$getUnlocalizedName", function(var_1)
{ return $java.nms_ItemSkull_getUnlocalizedName(this, var_1); }, "$getItemDisplayName", function(var_1) { return $java.nms_ItemSkull_getItemDisplayName(this, var_1); }, "$registerIcons", function(var_1) { $java.nms_ItemSkull_registerIcons(this, var_1); }],
nms_ItemCarrotOnAStick, "ItemCarrotOnAStick", 79, nms_Item, [], 0, 3, 0, ["$isFull3D", function() { return $java.nms_ItemCarrotOnAStick_isFull3D(this); }, "$shouldRotateAroundWhenRendering", function() { return $java.nms_ItemCarrotOnAStick_shouldRotateAroundWhenRendering(this); }],
nms_ItemSimpleFoiled, "ItemSimpleFoiled", 79, nms_Item, [], 0, 3, 0, ["$hasEffect0", function(var_1) { return $java.nms_ItemSimpleFoiled_hasEffect(this, var_1); }],
nms_ItemFirework, "ItemFirework", 79, nms_Item, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemFirework_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }, "$addInformation", function(var_1, var_2, var_3, var_4) { $java.nms_ItemFirework_addInformation(this, var_1, var_2, var_3, var_4); }],
nms_ItemFireworkCharge, "ItemFireworkCharge", 79, nms_Item, [], 0, 3, 0, ["$getIconFromDamageForRenderPass", function(var_1, var_2) { return $java.nms_ItemFireworkCharge_getIconFromDamageForRenderPass(this, var_1, var_2); }, "$getColorFromItemStack", function(var_1, var_2) { return $java.nms_ItemFireworkCharge_getColorFromItemStack(this, var_1, var_2); }, "$requiresMultipleRenderPasses", function() { return $java.nms_ItemFireworkCharge_requiresMultipleRenderPasses(this); }, "$addInformation", function(var_1,
var_2, var_3, var_4) { $java.nms_ItemFireworkCharge_addInformation(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_ItemFireworkCharge_registerIcons(this, var_1); }],
nms_ItemEnchantedBook, "ItemEnchantedBook", 79, nms_Item, [], 0, 3, 0, ["$hasEffect0", function(var_1) { return $java.nms_ItemEnchantedBook_hasEffect(this, var_1); }, "$isItemTool", function(var_1) { return $java.nms_ItemEnchantedBook_isItemTool(this, var_1); }, "$getRarity0", function(var_1) { return $java.nms_ItemEnchantedBook_getRarity(this, var_1); }, "$addInformation", function(var_1, var_2, var_3, var_4) { $java.nms_ItemEnchantedBook_addInformation(this, var_1, var_2, var_3, var_4); }],
nms_ItemRecord, "ItemRecord", 79, nms_Item, [], 0, 3, 0, ["$getIconFromDamage", function(var_1) { return $java.nms_ItemRecord_getIconFromDamage(this, var_1); }, "$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemRecord_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }, "$addInformation", function(var_1, var_2, var_3, var_4) { $java.nms_ItemRecord_addInformation(this, var_1, var_2, var_3, var_4); }, "$getRarity0",
function(var_1) { return $java.nms_ItemRecord_getRarity(this, var_1); }, "$registerIcons", function(var_1) { $java.nms_ItemRecord_registerIcons(this, var_1); }],
ju_Dictionary, "Dictionary", 8, jl_Object, [], 1, 3, 0, 0,
ju_Hashtable, "Hashtable", 8, ju_Dictionary, [ju_Map, jl_Cloneable, ji_Serializable], 0, 3, 0, 0,
ju_Properties, "Properties", 8, ju_Hashtable, [], 0, 3, 0, 0,
ju_SortedMap, "SortedMap", 8, jl_Object, [ju_Map], 3, 3, 0, 0,
ju_NavigableMap, "NavigableMap", 8, jl_Object, [ju_SortedMap], 3, 3, 0, 0,
ju_TreeMap, "TreeMap", 8, ju_AbstractMap, [jl_Cloneable, ji_Serializable, ju_NavigableMap], 0, 3, 0, 0,
maat_TMI, "TMI", 69, jl_Enum, [], 12, 3, 0, 0,
nms_StepSound, "StepSound", 79, jl_Object, [], 0, 3, 0, ["$getBreakSound", function() { return $java.nms_StepSound_getBreakSound(this); }, "$getPlaceSound", function() { return $java.nms_StepSound_getPlaceSound(this); }],
nms_StepSoundStone, "StepSoundStone", 79, nms_StepSound, [], 4, 0, 0, ["$getBreakSound", function() { return $java.nms_StepSoundStone_getBreakSound(this); }, "$getPlaceSound", function() { return $java.nms_StepSoundStone_getPlaceSound(this); }],
nms_StepSoundSand, "StepSoundSand", 79, nms_StepSound, [], 4, 0, 0, ["$getBreakSound", function() { return $java.nms_StepSoundSand_getBreakSound(this); }],
nms_StepSoundAnvil, "StepSoundAnvil", 79, nms_StepSound, [], 4, 0, 0, ["$getBreakSound", function() { return $java.nms_StepSoundAnvil_getBreakSound(this); }, "$getPlaceSound", function() { return $java.nms_StepSoundAnvil_getPlaceSound(this); }],
nms_NoiseGenerator, "NoiseGenerator", 79, jl_Object, [], 1, 3, 0, 0,
nms_NoiseGeneratorPerlin, "NoiseGeneratorPerlin", 79, nms_NoiseGenerator, [], 0, 3, 0, 0,
nms_BlockStone, "BlockStone", 79, nms_Block, [], 0, 3, 0, 0,
nms_BlockGrass, "BlockGrass", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockGrass_getIcon(this, var_1, var_2); }, "$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockGrass_getBlockTexture(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockGrass_registerIcons(this, var_1); }, "$getBlockColor", function() { return $java.nms_BlockGrass_getBlockColor(this); }, "$getRenderColor", function(var_1)
{ return $java.nms_BlockGrass_getRenderColor(this, var_1); }, "$colorMultiplier", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockGrass_colorMultiplier(this, var_1, var_2, var_3, var_4); }],
nms_BlockDirt, "BlockDirt", 79, nms_Block, [], 0, 3, 0, 0,
nms_BlockWood, "BlockWood", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockWood_getIcon(this, var_1, var_2); }, "$damageDropped", function(var_1) { return $java.nms_BlockWood_damageDropped(this, var_1); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockWood_getSubBlocks(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_BlockWood_registerIcons(this, var_1); }],
nms_BlockFlower, "BlockFlower", 79, nms_Block, [], 0, 3, 0, ["$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFlower_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$canThisPlantGrowOnThisBlockID", function(var_1) { return $java.nms_BlockFlower_canThisPlantGrowOnThisBlockID(this, var_1); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockFlower_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$canBlockStay", function(var_1,
var_2, var_3, var_4) { return $java.nms_BlockFlower_canBlockStay(this, var_1, var_2, var_3, var_4); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFlower_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockFlower_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockFlower_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockFlower_getRenderType(this);
}],
nms_BlockSapling, "BlockSapling", 79, nms_BlockFlower, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockSapling_getIcon(this, var_1, var_2); }, "$damageDropped", function(var_1) { return $java.nms_BlockSapling_damageDropped(this, var_1); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockSapling_getSubBlocks(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_BlockSapling_registerIcons(this, var_1); }],
nms_BlockFlowing, "BlockFlowing", 79, nms_BlockFluid, [], 0, 3, 0, ["$getBlocksMovement", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFlowing_getBlocksMovement(this, var_1, var_2, var_3, var_4); }],
nms_BlockStationary, "BlockStationary", 79, nms_BlockFluid, [], 0, 3, 0, ["$getBlocksMovement", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockStationary_getBlocksMovement(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockStationary_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockSand, "BlockSand", 79, nms_Block, [], 0, 3, 0, ["$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockSand_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockGravel, "BlockGravel", 79, nms_BlockSand, [], 0, 3, 0, 0,
nms_BlockOre, "BlockOre", 79, nms_Block, [], 0, 3, 0, ["$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockOre_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$damageDropped", function(var_1) { return $java.nms_BlockOre_damageDropped(this, var_1); }],
nms_BlockLog, "BlockLog", 79, nms_Block, [], 0, 3, 0, ["$getRenderType", function() { return $java.nms_BlockLog_getRenderType(this); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockLog_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockLog_getIcon(this, var_1, var_2); }, "$damageDropped", function(var_1) { return $java.nms_BlockLog_damageDropped(this,
var_1); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockLog_getSubBlocks(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_BlockLog_registerIcons(this, var_1); }],
nms_BlockLeavesBase, "BlockLeavesBase", 79, nms_Block, [], 0, 3, 0, ["$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockLeavesBase_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockLeaves, "BlockLeaves", 79, nms_BlockLeavesBase, [], 0, 3, 0, ["$getBlockColor", function() { return $java.nms_BlockLeaves_getBlockColor(this); }, "$getRenderColor", function(var_1) { return $java.nms_BlockLeaves_getRenderColor(this, var_1); }, "$colorMultiplier", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockLeaves_colorMultiplier(this, var_1, var_2, var_3, var_4); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockLeaves_randomDisplayTick(this, var_1,
var_2, var_3, var_4, var_5); }, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockLeaves_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$damageDropped", function(var_1) { return $java.nms_BlockLeaves_damageDropped(this, var_1); }, "$isOpaqueCube", function() { return $java.nms_BlockLeaves_isOpaqueCube(this); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockLeaves_getIcon(this, var_1, var_2); }, "$getSubBlocks",
function(var_1, var_2, var_3) { $java.nms_BlockLeaves_getSubBlocks(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_BlockLeaves_registerIcons(this, var_1); }],
nms_BlockSponge, "BlockSponge", 79, nms_Block, [], 0, 3, 0, 0,
nms_BlockBreakable, "BlockBreakable", 79, nms_Block, [], 0, 3, 0, ["$isOpaqueCube", function() { return $java.nms_BlockBreakable_isOpaqueCube(this); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockBreakable_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockBreakable_registerIcons(this, var_1); }],
nms_BlockGlass, "BlockGlass", 79, nms_BlockBreakable, [], 0, 3, 0, ["$getRenderBlockPass", function() { return $java.nms_BlockGlass_getRenderBlockPass(this); }, "$isOpaqueCube", function() { return $java.nms_BlockGlass_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockGlass_renderAsNormalBlock(this); }],
nms_ITileEntityProvider, "ITileEntityProvider", 79, jl_Object, [], 3, 3, 0, 0,
nms_BlockContainer, "BlockContainer", 79, nms_Block, [nms_ITileEntityProvider], 1, 3, 0, ["$onBlockEventReceived", function(var_1, var_2, var_3, var_4, var_5, var_6) { return $java.nms_BlockContainer_onBlockEventReceived(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_BlockDispenser, "BlockDispenser", 79, nms_BlockContainer, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockDispenser_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockDispenser_registerIcons(this, var_1); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockDispenser_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onNeighborBlockChange", function(var_1,
var_2, var_3, var_4, var_5) { $java.nms_BlockDispenser_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockDispenser_createNewTileEntity(this, var_1); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockDispenser_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$hasComparatorInputOverride", function() { return $java.nms_BlockDispenser_hasComparatorInputOverride(this); }, "$getComparatorInputOverride",
function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockDispenser_getComparatorInputOverride(this, var_1, var_2, var_3, var_4, var_5); }]]);
$rt_metadata([nms_BlockSandStone, "BlockSandStone", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockSandStone_getIcon(this, var_1, var_2); }, "$damageDropped", function(var_1) { return $java.nms_BlockSandStone_damageDropped(this, var_1); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockSandStone_getSubBlocks(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_BlockSandStone_registerIcons(this, var_1); }],
nms_BlockNote, "BlockNote", 79, nms_BlockContainer, [], 0, 3, 0, ["$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockNote_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockNote_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockNote_createNewTileEntity(this,
var_1); }, "$onBlockEventReceived", function(var_1, var_2, var_3, var_4, var_5, var_6) { return $java.nms_BlockNote_onBlockEventReceived(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_BlockDirectional, "BlockDirectional", 79, nms_Block, [], 1, 3, 0, 0,
nms_BlockBed, "BlockBed", 79, nms_BlockDirectional, [], 0, 3, 0, ["$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockBed_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockBed_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockBed_registerIcons(this, var_1); }, "$getRenderType", function() { return $java.nms_BlockBed_getRenderType(this);
}, "$renderAsNormalBlock", function() { return $java.nms_BlockBed_renderAsNormalBlock(this); }, "$isOpaqueCube", function() { return $java.nms_BlockBed_isOpaqueCube(this); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockBed_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockBed_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$dropBlockAsItemWithChance",
function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockBed_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getMobilityFlag", function() { return $java.nms_BlockBed_getMobilityFlag(this); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockBed_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockRailBase, "BlockRailBase", 79, nms_Block, [], 1, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockRailBase_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockRailBase_isOpaqueCube(this); }, "$collisionRayTrace", function(var_1, var_2, var_3, var_4, var_5, var_6) { return $java.nms_BlockRailBase_collisionRayTrace(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setBlockBoundsBasedOnState",
function(var_1, var_2, var_3, var_4) { $java.nms_BlockRailBase_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$renderAsNormalBlock", function() { return $java.nms_BlockRailBase_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockRailBase_getRenderType(this); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockRailBase_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$getMobilityFlag", function() { return $java.nms_BlockRailBase_getMobilityFlag(this);
}],
nms_BlockRailPowered, "BlockRailPowered", 79, nms_BlockRailBase, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockRailPowered_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockRailPowered_registerIcons(this, var_1); }],
nms_BlockDetectorRail, "BlockDetectorRail", 79, nms_BlockRailBase, [], 0, 3, 0, ["$canProvidePower", function() { return $java.nms_BlockDetectorRail_canProvidePower(this); }, "$isProvidingWeakPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockDetectorRail_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }, "$isProvidingStrongPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockDetectorRail_isProvidingStrongPower(this, var_1, var_2, var_3, var_4, var_5);
}, "$hasComparatorInputOverride", function() { return $java.nms_BlockDetectorRail_hasComparatorInputOverride(this); }, "$getComparatorInputOverride", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockDetectorRail_getComparatorInputOverride(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockDetectorRail_registerIcons(this, var_1); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockDetectorRail_getIcon(this, var_1, var_2); }],
nms_BlockPistonBase, "BlockPistonBase", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockPistonBase_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockPistonBase_registerIcons(this, var_1); }, "$getRenderType", function() { return $java.nms_BlockPistonBase_getRenderType(this); }, "$isOpaqueCube", function() { return $java.nms_BlockPistonBase_isOpaqueCube(this); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7,
var_8, var_9) { return $java.nms_BlockPistonBase_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockPistonBase_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onBlockEventReceived", function(var_1, var_2, var_3, var_4, var_5, var_6) { return $java.nms_BlockPistonBase_onBlockEventReceived(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$setBlockBoundsBasedOnState",
function(var_1, var_2, var_3, var_4) { $java.nms_BlockPistonBase_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsForItemRender", function() { $java.nms_BlockPistonBase_setBlockBoundsForItemRender(this); }, "$addCollisionBoxesToList", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockPistonBase_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockPistonBase_getCollisionBoundingBoxFromPool(this,
var_1, var_2, var_3, var_4); }, "$renderAsNormalBlock", function() { return $java.nms_BlockPistonBase_renderAsNormalBlock(this); }],
nms_BlockWeb, "BlockWeb", 79, nms_Block, [], 0, 3, 0, ["$onEntityCollidedWithBlock", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockWeb_onEntityCollidedWithBlock(this, var_1, var_2, var_3, var_4, var_5); }, "$isOpaqueCube", function() { return $java.nms_BlockWeb_isOpaqueCube(this); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockWeb_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getRenderType", function() { return $java.nms_BlockWeb_getRenderType(this);
}, "$renderAsNormalBlock", function() { return $java.nms_BlockWeb_renderAsNormalBlock(this); }],
nms_BlockTallGrass, "BlockTallGrass", 79, nms_BlockFlower, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockTallGrass_getIcon(this, var_1, var_2); }, "$getBlockColor", function() { return $java.nms_BlockTallGrass_getBlockColor(this); }, "$getRenderColor", function(var_1) { return $java.nms_BlockTallGrass_getRenderColor(this, var_1); }, "$colorMultiplier", function(var_1, var_2, var_3, var_4) { return nms_BlockTallGrass_colorMultiplier(this, var_1, var_2, var_3, var_4); }, "$getDamageValue",
function(var_1, var_2, var_3, var_4) { return $java.nms_BlockTallGrass_getDamageValue(this, var_1, var_2, var_3, var_4); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockTallGrass_getSubBlocks(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_BlockTallGrass_registerIcons(this, var_1); }],
nms_BlockDeadBush, "BlockDeadBush", 79, nms_BlockFlower, [], 0, 3, 0, ["$canThisPlantGrowOnThisBlockID", function(var_1) { return $java.nms_BlockDeadBush_canThisPlantGrowOnThisBlockID(this, var_1); }],
nms_BlockPistonExtension, "BlockPistonExtension", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockPistonExtension_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockPistonExtension_registerIcons(this, var_1); }, "$getRenderType", function() { return $java.nms_BlockPistonExtension_getRenderType(this); }, "$isOpaqueCube", function() { return $java.nms_BlockPistonExtension_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockPistonExtension_renderAsNormalBlock(this);
}, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockPistonExtension_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$canPlaceBlockOnSide", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockPistonExtension_canPlaceBlockOnSide(this, var_1, var_2, var_3, var_4, var_5); }, "$addCollisionBoxesToList", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockPistonExtension_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6,
var_7); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockPistonExtension_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockPistonExtension_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockPistonExtension_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockCloth, "BlockCloth", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockCloth_getIcon(this, var_1, var_2); }, "$damageDropped", function(var_1) { return $java.nms_BlockCloth_damageDropped(this, var_1); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockCloth_getSubBlocks(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_BlockCloth_registerIcons(this, var_1); }],
nms_BlockPistonMoving, "BlockPistonMoving", 79, nms_BlockContainer, [], 0, 3, 0, ["$createNewTileEntity", function(var_1) { return $java.nms_BlockPistonMoving_createNewTileEntity(this, var_1); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockPistonMoving_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$canPlaceBlockOnSide", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockPistonMoving_canPlaceBlockOnSide(this, var_1, var_2, var_3, var_4, var_5); },
"$getRenderType", function() { return $java.nms_BlockPistonMoving_getRenderType(this); }, "$isOpaqueCube", function() { return $java.nms_BlockPistonMoving_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockPistonMoving_renderAsNormalBlock(this); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockPistonMoving_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$dropBlockAsItemWithChance",
function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockPistonMoving_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockPistonMoving_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockPistonMoving_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4);
}, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockPistonMoving_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockPistonMoving_idPicked(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockPistonMoving_registerIcons(this, var_1); }],
nms_BlockMushroom, "BlockMushroom", 79, nms_BlockFlower, [], 0, 3, 0, ["$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockMushroom_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$canThisPlantGrowOnThisBlockID", function(var_1) { return $java.nms_BlockMushroom_canThisPlantGrowOnThisBlockID(this, var_1); }, "$canBlockStay", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockMushroom_canBlockStay(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1)
{ $java.nms_BlockMushroom_registerIcons(this, var_1); }],
nms_BlockOreStorage, "BlockOreStorage", 79, nms_Block, [], 0, 3, 0, 0,
nms_BlockHalfSlab, "BlockHalfSlab", 79, nms_Block, [], 1, 3, 0, ["$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockHalfSlab_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsForItemRender", function() { $java.nms_BlockHalfSlab_setBlockBoundsForItemRender(this); }, "$addCollisionBoxesToList", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockHalfSlab_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6,
var_7); }, "$isOpaqueCube", function() { return $java.nms_BlockHalfSlab_isOpaqueCube(this); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockHalfSlab_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$damageDropped", function(var_1) { return $java.nms_BlockHalfSlab_damageDropped(this, var_1); }, "$renderAsNormalBlock", function() { return $java.nms_BlockHalfSlab_renderAsNormalBlock(this); }, "$shouldSideBeRendered",
function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockHalfSlab_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$getDamageValue", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockHalfSlab_getDamageValue(this, var_1, var_2, var_3, var_4); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockHalfSlab_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockStep, "BlockStep", 79, nms_BlockHalfSlab, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockStep_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockStep_registerIcons(this, var_1); }, "$getFullSlabName", function(var_1) { return $java.nms_BlockStep_getFullSlabName(this, var_1); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockStep_getSubBlocks(this, var_1, var_2, var_3); }],
nms_BlockTNT, "BlockTNT", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockTNT_getIcon(this, var_1, var_2); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockTNT_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockDestroyedByExplosion", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockTNT_onBlockDestroyedByExplosion(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockDestroyedByPlayer", function(var_1,
var_2, var_3, var_4, var_5) { $java.nms_BlockTNT_onBlockDestroyedByPlayer(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockTNT_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$canDropFromExplosion", function(var_1) { return $java.nms_BlockTNT_canDropFromExplosion(this, var_1); }, "$registerIcons", function(var_1) { $java.nms_BlockTNT_registerIcons(this, var_1);
}],
nms_BlockBookshelf, "BlockBookshelf", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockBookshelf_getIcon(this, var_1, var_2); }],
nms_BlockObsidian, "BlockObsidian", 79, nms_BlockStone, [], 0, 3, 0, 0,
nms_BlockTorch, "BlockTorch", 79, nms_Block, [], 0, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockTorch_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockTorch_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockTorch_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockTorch_getRenderType(this); }, "$canPlaceBlockAt", function(var_1,
var_2, var_3, var_4) { return $java.nms_BlockTorch_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockTorch_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockTorch_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$collisionRayTrace", function(var_1, var_2,
var_3, var_4, var_5, var_6) { return $java.nms_BlockTorch_collisionRayTrace(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockTorch_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockFire, "BlockFire", 79, nms_Block, [], 0, 3, 0, ["$initializeBlock", function() { $java.nms_BlockFire_initializeBlock(this); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFire_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockFire_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockFire_renderAsNormalBlock(this); }, "$getRenderType", function() {
return $java.nms_BlockFire_getRenderType(this); }, "$isCollidable", function() { return $java.nms_BlockFire_isCollidable(this); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFire_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockFire_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockFire_randomDisplayTick(this,
var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockFire_registerIcons(this, var_1); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockFire_getIcon(this, var_1, var_2); }],
nms_BlockMobSpawner, "BlockMobSpawner", 79, nms_BlockContainer, [], 0, 3, 0, ["$createNewTileEntity", function(var_1) { return $java.nms_BlockMobSpawner_createNewTileEntity(this, var_1); }, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockMobSpawner_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$isOpaqueCube", function() { return $java.nms_BlockMobSpawner_isOpaqueCube(this); }, "$idPicked", function(var_1, var_2,
var_3, var_4) { return $java.nms_BlockMobSpawner_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockStairs, "BlockStairs", 79, nms_Block, [], 0, 3, 0, ["$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockStairs_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockStairs_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockStairs_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockStairs_getRenderType(this); }, "$addCollisionBoxesToList", function(var_1,
var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockStairs_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockStairs_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockStairs_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockDestroyedByPlayer", function(var_1, var_2, var_3, var_4,
var_5) { $java.nms_BlockStairs_onBlockDestroyedByPlayer(this, var_1, var_2, var_3, var_4, var_5); }, "$getMixedBrightnessForBlock", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockStairs_getMixedBrightnessForBlock(this, var_1, var_2, var_3, var_4); }, "$getBlockBrightness", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockStairs_getBlockBrightness(this, var_1, var_2, var_3, var_4); }, "$getExplosionResistance", function(var_1) { return $java.nms_BlockStairs_getExplosionResistance(this,
var_1); }, "$getRenderBlockPass", function() { return $java.nms_BlockStairs_getRenderBlockPass(this); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockStairs_getIcon(this, var_1, var_2); }, "$getSelectedBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockStairs_getSelectedBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$velocityToAddToEntity", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockStairs_velocityToAddToEntity(this, var_1, var_2,
var_3, var_4, var_5, var_6); }, "$isCollidable", function() { return $java.nms_BlockStairs_isCollidable(this); }, "$canCollideCheck", function(var_1, var_2) { return $java.nms_BlockStairs_canCollideCheck(this, var_1, var_2); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockStairs_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onEntityWalking", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockStairs_onEntityWalking(this, var_1, var_2, var_3, var_4, var_5);
}, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockStairs_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onBlockDestroyedByExplosion", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockStairs_onBlockDestroyedByExplosion(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockStairs_onBlockPlacedBy(this, var_1,
var_2, var_3, var_4, var_5, var_6); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockStairs_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$collisionRayTrace", function(var_1, var_2, var_3, var_4, var_5, var_6) { return $java.nms_BlockStairs_collisionRayTrace(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$registerIcons", function(var_1) { $java.nms_BlockStairs_registerIcons(this, var_1); }],
nms_BlockChest, "BlockChest", 79, nms_BlockContainer, [], 0, 3, 0, ["$isOpaqueCube", function() { return $java.nms_BlockChest_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockChest_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockChest_getRenderType(this); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockChest_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$onBlockPlacedBy", function(var_1,
var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockChest_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockChest_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockChest_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8,
var_9) { return $java.nms_BlockChest_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockChest_createNewTileEntity(this, var_1); }, "$canProvidePower", function() { return $java.nms_BlockChest_canProvidePower(this); }, "$isProvidingWeakPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockChest_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }, "$isProvidingStrongPower",
function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockChest_isProvidingStrongPower(this, var_1, var_2, var_3, var_4, var_5); }, "$hasComparatorInputOverride", function() { return $java.nms_BlockChest_hasComparatorInputOverride(this); }, "$getComparatorInputOverride", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockChest_getComparatorInputOverride(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockChest_registerIcons(this, var_1);
}],
nms_BlockRedstoneWire, "BlockRedstoneWire", 79, nms_Block, [], 0, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockRedstoneWire_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockRedstoneWire_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockRedstoneWire_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockRedstoneWire_getRenderType(this);
}, "$colorMultiplier", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockRedstoneWire_colorMultiplier(this, var_1, var_2, var_3, var_4); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockRedstoneWire_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$isProvidingStrongPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockRedstoneWire_isProvidingStrongPower(this, var_1, var_2, var_3, var_4, var_5); }, "$isProvidingWeakPower", function(var_1,
var_2, var_3, var_4, var_5) { return $java.nms_BlockRedstoneWire_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", function() { return $java.nms_BlockRedstoneWire_canProvidePower(this); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockRedstoneWire_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockRedstoneWire_idPicked(this, var_1, var_2, var_3, var_4);
}, "$registerIcons", function(var_1) { $java.nms_BlockRedstoneWire_registerIcons(this, var_1); }],
nms_BlockWorkbench, "BlockWorkbench", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockWorkbench_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockWorkbench_registerIcons(this, var_1); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockWorkbench_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }],
nms_BlockCrops, "BlockCrops", 79, nms_BlockFlower, [], 0, 3, 0, ["$canThisPlantGrowOnThisBlockID", function(var_1) { return $java.nms_BlockCrops_canThisPlantGrowOnThisBlockID(this, var_1); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockCrops_getIcon(this, var_1, var_2); }, "$getRenderType", function() { return $java.nms_BlockCrops_getRenderType(this); }, "$getSeedItem", function() { return $java.nms_BlockCrops_getSeedItem(this); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCrops_idPicked(this,
var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockCrops_registerIcons(this, var_1); }],
nms_BlockFarmland, "BlockFarmland", 79, nms_Block, [], 0, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFarmland_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockFarmland_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockFarmland_renderAsNormalBlock(this); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockFarmland_getIcon(this, var_1, var_2);
}, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockFarmland_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFarmland_idPicked(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockFarmland_registerIcons(this, var_1); }],
nms_BlockFurnace, "BlockFurnace", 79, nms_BlockContainer, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockFurnace_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockFurnace_registerIcons(this, var_1); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockFurnace_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockFurnace_onBlockActivated(this,
var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockFurnace_createNewTileEntity(this, var_1); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockFurnace_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$hasComparatorInputOverride", function() { return $java.nms_BlockFurnace_hasComparatorInputOverride(this); }, "$getComparatorInputOverride", function(var_1, var_2, var_3, var_4,
var_5) { return $java.nms_BlockFurnace_getComparatorInputOverride(this, var_1, var_2, var_3, var_4, var_5); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFurnace_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockSign, "BlockSign", 79, nms_BlockContainer, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockSign_getIcon(this, var_1, var_2); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSign_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getSelectedBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSign_getSelectedBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsBasedOnState",
function(var_1, var_2, var_3, var_4) { $java.nms_BlockSign_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$getRenderType", function() { return $java.nms_BlockSign_getRenderType(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockSign_renderAsNormalBlock(this); }, "$getBlocksMovement", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSign_getBlocksMovement(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockSign_isOpaqueCube(this);
}, "$createNewTileEntity", function(var_1) { return $java.nms_BlockSign_createNewTileEntity(this, var_1); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockSign_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSign_idPicked(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockSign_registerIcons(this, var_1); }],
nms_TileEntity, "TileEntity", 79, jl_Object, [], 0, 3, 0, ["$readFromNBT", function(var_1) { $java.nms_TileEntity_readFromNBT(this, var_1); }, "$updateEntity0", function() { $java.nms_TileEntity_updateEntity(this); }, "$onInventoryChanged", function() { $java.nms_TileEntity_onInventoryChanged(this); }, "$getMaxRenderDistanceSquared", function() { return $java.nms_TileEntity_getMaxRenderDistanceSquared(this); }, "$invalidate", function() { $java.nms_TileEntity_invalidate(this); }, "$receiveClientEvent", function(var_1,
var_2) { return $java.nms_TileEntity_receiveClientEvent(this, var_1, var_2); }, "$updateContainingBlockInfo", function() { $java.nms_TileEntity_updateContainingBlockInfo(this); }],
nms_TileEntitySign, "TileEntitySign", 79, nms_TileEntity, [], 0, 3, 0, ["$readFromNBT", function(var_1) { $java.nms_TileEntitySign_readFromNBT(this, var_1); }],
nms_BlockDoor, "BlockDoor", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockDoor_getIcon(this, var_1, var_2); }, "$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockDoor_getBlockTexture(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockDoor_registerIcons(this, var_1); }, "$isOpaqueCube", function() { return $java.nms_BlockDoor_isOpaqueCube(this); }, "$getBlocksMovement", function(var_1, var_2,
var_3, var_4) { return $java.nms_BlockDoor_getBlocksMovement(this, var_1, var_2, var_3, var_4); }, "$renderAsNormalBlock", function() { return $java.nms_BlockDoor_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockDoor_getRenderType(this); }, "$getSelectedBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockDoor_getSelectedBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4)
{ return $java.nms_BlockDoor_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockDoor_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockDoor_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockDoor_onBlockActivated(this,
var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockDoor_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$collisionRayTrace", function(var_1, var_2, var_3, var_4, var_5, var_6) { return $java.nms_BlockDoor_collisionRayTrace(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockDoor_canPlaceBlockAt(this, var_1,
var_2, var_3, var_4); }, "$getMobilityFlag", function() { return $java.nms_BlockDoor_getMobilityFlag(this); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockDoor_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockLadder, "BlockLadder", 79, nms_Block, [], 0, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockLadder_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getSelectedBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockLadder_getSelectedBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockLadder_setBlockBoundsBasedOnState(this,
var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockLadder_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockLadder_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockLadder_getRenderType(this); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockLadder_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8,
var_9) { return $java.nms_BlockLadder_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockLadder_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockRail, "BlockRail", 79, nms_BlockRailBase, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockRail_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockRail_registerIcons(this, var_1); }],
nms_BlockLever, "BlockLever", 79, nms_Block, [], 0, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockLever_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockLever_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockLever_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockLever_getRenderType(this); }, "$canPlaceBlockOnSide",
function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockLever_canPlaceBlockOnSide(this, var_1, var_2, var_3, var_4, var_5); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockLever_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockLever_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onBlockPlacedBy", function(var_1,
var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockLever_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockLever_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockLever_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6,
var_7, var_8, var_9) { return $java.nms_BlockLever_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$isProvidingWeakPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockLever_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }, "$isProvidingStrongPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockLever_isProvidingStrongPower(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", function() { return $java.nms_BlockLever_canProvidePower(this);
}],
nms_BlockBasePressurePlate, "BlockBasePressurePlate", 79, nms_Block, [], 1, 3, 0, ["$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockBasePressurePlate_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockBasePressurePlate_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockBasePressurePlate_isOpaqueCube(this);
}, "$renderAsNormalBlock", function() { return $java.nms_BlockBasePressurePlate_renderAsNormalBlock(this); }, "$getBlocksMovement", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockBasePressurePlate_getBlocksMovement(this, var_1, var_2, var_3, var_4); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockBasePressurePlate_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockBasePressurePlate_onNeighborBlockChange(this,
var_1, var_2, var_3, var_4, var_5); }, "$isProvidingWeakPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockBasePressurePlate_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }, "$isProvidingStrongPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockBasePressurePlate_isProvidingStrongPower(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", function() { return $java.nms_BlockBasePressurePlate_canProvidePower(this); }, "$setBlockBoundsForItemRender",
function() { $java.nms_BlockBasePressurePlate_setBlockBoundsForItemRender(this); }, "$getMobilityFlag", function() { return $java.nms_BlockBasePressurePlate_getMobilityFlag(this); }, "$registerIcons", function(var_1) { $java.nms_BlockBasePressurePlate_registerIcons(this, var_1); }],
nms_BlockPressurePlate, "BlockPressurePlate", 79, nms_BlockBasePressurePlate, [], 0, 3, 0, ["$getMetaFromWeight", function(var_1) { return $java.nms_BlockPressurePlate_getMetaFromWeight(this, var_1); }, "$getPowerSupply", function(var_1) { return $java.nms_BlockPressurePlate_getPowerSupply(this, var_1); }],
nms_EnumMobType, "EnumMobType", 79, jl_Enum, [], 12, 3, 0, 0,
nms_BlockRedstoneOre, "BlockRedstoneOre", 79, nms_Block, [], 0, 3, 0, ["$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockRedstoneOre_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$onEntityWalking", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockRedstoneOre_onEntityWalking(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockRedstoneOre_onBlockActivated(this,
var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockRedstoneOre_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockRedstoneOre_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockRedstoneTorch, "BlockRedstoneTorch", 79, nms_BlockTorch, [], 0, 3, 0, ["$isProvidingWeakPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockRedstoneTorch_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockRedstoneTorch_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$isProvidingStrongPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockRedstoneTorch_isProvidingStrongPower(this,
var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", function() { return $java.nms_BlockRedstoneTorch_canProvidePower(this); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockRedstoneTorch_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockRedstoneTorch_idPicked(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockRedstoneTorch_registerIcons(this,
var_1); }],
nms_BlockButton, "BlockButton", 79, nms_Block, [], 1, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockButton_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockButton_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockButton_renderAsNormalBlock(this); }, "$canPlaceBlockOnSide", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockButton_canPlaceBlockOnSide(this,
var_1, var_2, var_3, var_4, var_5); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockButton_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockButton_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockButton_onNeighborBlockChange(this, var_1,
var_2, var_3, var_4, var_5); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockButton_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockButton_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockButton_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5,
var_6, var_7, var_8, var_9); }, "$isProvidingWeakPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockButton_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }, "$isProvidingStrongPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockButton_isProvidingStrongPower(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", function() { return $java.nms_BlockButton_canProvidePower(this); }, "$setBlockBoundsForItemRender", function() { $java.nms_BlockButton_setBlockBoundsForItemRender(this);
}, "$registerIcons", function(var_1) { $java.nms_BlockButton_registerIcons(this, var_1); }],
nms_BlockButtonStone, "BlockButtonStone", 79, nms_BlockButton, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockButtonStone_getIcon(this, var_1, var_2); }],
nms_BlockSnow, "BlockSnow", 79, nms_Block, [], 0, 3, 0, ["$registerIcons", function(var_1) { $java.nms_BlockSnow_registerIcons(this, var_1); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSnow_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockSnow_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockSnow_renderAsNormalBlock(this); }, "$setBlockBoundsForItemRender",
function() { $java.nms_BlockSnow_setBlockBoundsForItemRender(this); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockSnow_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSnow_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockSnow_onNeighborBlockChange(this, var_1, var_2, var_3, var_4,
var_5); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockSnow_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockIce, "BlockIce", 79, nms_BlockBreakable, [], 0, 3, 0, ["$getRenderBlockPass", function() { return $java.nms_BlockIce_getRenderBlockPass(this); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockIce_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$getMobilityFlag", function() { return $java.nms_BlockIce_getMobilityFlag(this); }],
nms_BlockSnowBlock, "BlockSnowBlock", 79, nms_Block, [], 0, 3, 0, 0,
nms_BlockCactus, "BlockCactus", 79, nms_Block, [], 0, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCactus_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getSelectedBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCactus_getSelectedBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockCactus_getIcon(this, var_1, var_2); }, "$renderAsNormalBlock",
function() { return $java.nms_BlockCactus_renderAsNormalBlock(this); }, "$isOpaqueCube", function() { return $java.nms_BlockCactus_isOpaqueCube(this); }, "$getRenderType", function() { return $java.nms_BlockCactus_getRenderType(this); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCactus_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockCactus_onNeighborBlockChange(this, var_1, var_2,
var_3, var_4, var_5); }, "$onEntityCollidedWithBlock", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockCactus_onEntityCollidedWithBlock(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockCactus_registerIcons(this, var_1); }],
nms_BlockClay, "BlockClay", 79, nms_Block, [], 0, 3, 0, 0]);
$rt_metadata([nms_BlockReed, "BlockReed", 79, nms_Block, [], 0, 3, 0, ["$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockReed_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockReed_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockReed_getCollisionBoundingBoxFromPool(this, var_1,
var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockReed_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockReed_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockReed_getRenderType(this); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockReed_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockJukeBox, "BlockJukeBox", 79, nms_BlockContainer, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockJukeBox_getIcon(this, var_1, var_2); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockJukeBox_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockJukeBox_dropBlockAsItemWithChance(this,
var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockJukeBox_createNewTileEntity(this, var_1); }, "$registerIcons", function(var_1) { $java.nms_BlockJukeBox_registerIcons(this, var_1); }, "$hasComparatorInputOverride", function() { return $java.nms_BlockJukeBox_hasComparatorInputOverride(this); }, "$getComparatorInputOverride", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockJukeBox_getComparatorInputOverride(this, var_1, var_2,
var_3, var_4, var_5); }],
nms_BlockFence, "BlockFence", 79, nms_Block, [], 0, 3, 0, ["$addCollisionBoxesToList", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockFence_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { nms_BlockFence_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockFence_isOpaqueCube(this); }, "$renderAsNormalBlock", function()
{ return $java.nms_BlockFence_renderAsNormalBlock(this); }, "$getBlocksMovement", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFence_getBlocksMovement(this, var_1, var_2, var_3, var_4); }, "$getRenderType", function() { return $java.nms_BlockFence_getRenderType(this); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockFence_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockFence_registerIcons(this,
var_1); }],
nms_BlockPumpkin, "BlockPumpkin", 79, nms_BlockDirectional, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockPumpkin_getIcon(this, var_1, var_2); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockPumpkin_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockPumpkin_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$registerIcons", function(var_1)
{ $java.nms_BlockPumpkin_registerIcons(this, var_1); }],
nms_BlockNetherrack, "BlockNetherrack", 79, nms_Block, [], 0, 3, 0, 0,
nms_BlockSoulSand, "BlockSoulSand", 79, nms_Block, [], 0, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSoulSand_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$onEntityCollidedWithBlock", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockSoulSand_onEntityCollidedWithBlock(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockGlowStone, "BlockGlowStone", 79, nms_Block, [], 0, 3, 0, 0,
nms_BlockPortal, "BlockPortal", 79, nms_BlockBreakable, [], 0, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockPortal_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockPortal_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockPortal_isOpaqueCube(this); }, "$renderAsNormalBlock", function()
{ return $java.nms_BlockPortal_renderAsNormalBlock(this); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockPortal_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockPortal_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$getRenderBlockPass", function() { return $java.nms_BlockPortal_getRenderBlockPass(this); }, "$onEntityCollidedWithBlock", function(var_1,
var_2, var_3, var_4, var_5) { $java.nms_BlockPortal_onEntityCollidedWithBlock(this, var_1, var_2, var_3, var_4, var_5); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockPortal_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockPortal_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockCake, "BlockCake", 79, nms_Block, [], 0, 3, 0, ["$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockCake_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsForItemRender", function() { $java.nms_BlockCake_setBlockBoundsForItemRender(this); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCake_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getSelectedBoundingBoxFromPool",
function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCake_getSelectedBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockCake_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockCake_registerIcons(this, var_1); }, "$renderAsNormalBlock", function() { return $java.nms_BlockCake_renderAsNormalBlock(this); }, "$isOpaqueCube", function() { return $java.nms_BlockCake_isOpaqueCube(this); }, "$onBlockActivated",
function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockCake_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockCake_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCake_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1,
var_2, var_3, var_4, var_5) { $java.nms_BlockCake_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCake_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockRedstoneLogic, "BlockRedstoneLogic", 79, nms_BlockDirectional, [], 1, 3, 0, ["$renderAsNormalBlock", function() { return $java.nms_BlockRedstoneLogic_renderAsNormalBlock(this); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockRedstoneLogic_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockRedstoneLogic_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockRedstoneLogic_registerIcons(this,
var_1); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockRedstoneLogic_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$func_96470_c", function(var_1) { return $java.nms_BlockRedstoneLogic_func_96470_c(this, var_1); }, "$isProvidingStrongPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockRedstoneLogic_isProvidingStrongPower(this, var_1, var_2, var_3, var_4, var_5); }, "$isProvidingWeakPower", function(var_1, var_2, var_3,
var_4, var_5) { return $java.nms_BlockRedstoneLogic_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockRedstoneLogic_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$func_94479_f", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockRedstoneLogic_func_94479_f(this, var_1, var_2, var_3, var_4, var_5); }, "$func_94476_e", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockRedstoneLogic_func_94476_e(this,
var_1, var_2, var_3, var_4, var_5); }, "$func_94478_d", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockRedstoneLogic_func_94478_d(this, var_1, var_2, var_3, var_4, var_5); }, "$getInputStrength", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockRedstoneLogic_getInputStrength(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", function() { return $java.nms_BlockRedstoneLogic_canProvidePower(this); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4,
var_5, var_6) { $java.nms_BlockRedstoneLogic_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onBlockDestroyedByPlayer", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockRedstoneLogic_onBlockDestroyedByPlayer(this, var_1, var_2, var_3, var_4, var_5); }, "$isOpaqueCube", function() { return $java.nms_BlockRedstoneLogic_isOpaqueCube(this); }, "$func_94477_d", function(var_1) { return $java.nms_BlockRedstoneLogic_func_94477_d(this, var_1); }, "$func_94480_d", function(var_1, var_2,
var_3, var_4, var_5) { return $java.nms_BlockRedstoneLogic_func_94480_d(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockRedstoneRepeater, "BlockRedstoneRepeater", 79, nms_BlockRedstoneLogic, [], 0, 3, 0, ["$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockRedstoneRepeater_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$func_94481_j_", function(var_1) { return $java.nms_BlockRedstoneRepeater_func_94481_j_(this, var_1); }, "$func_94485_e", function() { return $java.nms_BlockRedstoneRepeater_func_94485_e(this);
}, "$func_94484_i", function() { return $java.nms_BlockRedstoneRepeater_func_94484_i(this); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockRedstoneRepeater_idPicked(this, var_1, var_2, var_3, var_4); }, "$getRenderType", function() { return $java.nms_BlockRedstoneRepeater_getRenderType(this); }, "$func_94476_e", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockRedstoneRepeater_func_94476_e(this, var_1, var_2, var_3, var_4, var_5); }, "$func_94477_d", function(var_1)
{ return $java.nms_BlockRedstoneRepeater_func_94477_d(this, var_1); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockRedstoneRepeater_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockLockedChest, "BlockLockedChest", 79, nms_Block, [], 0, 3, 0, ["$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockLockedChest_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockLockedChest_registerIcons(this, var_1); }],
nms_BlockTrapDoor, "BlockTrapDoor", 79, nms_Block, [], 0, 3, 0, ["$isOpaqueCube", function() { return $java.nms_BlockTrapDoor_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockTrapDoor_renderAsNormalBlock(this); }, "$getBlocksMovement", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockTrapDoor_getBlocksMovement(this, var_1, var_2, var_3, var_4); }, "$getRenderType", function() { return $java.nms_BlockTrapDoor_getRenderType(this); }, "$getSelectedBoundingBoxFromPool",
function(var_1, var_2, var_3, var_4) { return $java.nms_BlockTrapDoor_getSelectedBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockTrapDoor_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockTrapDoor_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsForItemRender", function()
{ $java.nms_BlockTrapDoor_setBlockBoundsForItemRender(this); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockTrapDoor_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockTrapDoor_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$collisionRayTrace", function(var_1, var_2, var_3, var_4, var_5, var_6) { return $java.nms_BlockTrapDoor_collisionRayTrace(this,
var_1, var_2, var_3, var_4, var_5, var_6); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockTrapDoor_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$canPlaceBlockOnSide", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockTrapDoor_canPlaceBlockOnSide(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockSilverfish, "BlockSilverfish", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockSilverfish_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockSilverfish_registerIcons(this, var_1); }, "$getDamageValue", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSilverfish_getDamageValue(this, var_1, var_2, var_3, var_4); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockSilverfish_getSubBlocks(this, var_1, var_2,
var_3); }],
nms_BlockStoneBrick, "BlockStoneBrick", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockStoneBrick_getIcon(this, var_1, var_2); }, "$damageDropped", function(var_1) { return $java.nms_BlockStoneBrick_damageDropped(this, var_1); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockStoneBrick_getSubBlocks(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_BlockStoneBrick_registerIcons(this, var_1); }],
nms_BlockMushroomCap, "BlockMushroomCap", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockMushroomCap_getIcon(this, var_1, var_2); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockMushroomCap_idPicked(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockMushroomCap_registerIcons(this, var_1); }],
nms_BlockPane, "BlockPane", 79, nms_Block, [], 0, 3, 0, ["$isOpaqueCube", function() { return $java.nms_BlockPane_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockPane_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockPane_getRenderType(this); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return nms_BlockPane_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$addCollisionBoxesToList", function(var_1,
var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockPane_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setBlockBoundsForItemRender", function() { $java.nms_BlockPane_setBlockBoundsForItemRender(this); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockPane_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockPane_registerIcons(this, var_1); }],
nms_BlockMelon, "BlockMelon", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockMelon_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockMelon_registerIcons(this, var_1); }],
nms_BlockStem, "BlockStem", 79, nms_BlockFlower, [], 0, 3, 0, ["$canThisPlantGrowOnThisBlockID", function(var_1) { return $java.nms_BlockStem_canThisPlantGrowOnThisBlockID(this, var_1); }, "$getRenderColor", function(var_1) { return $java.nms_BlockStem_getRenderColor(this, var_1); }, "$colorMultiplier", function(var_1, var_2, var_3, var_4) { return nms_BlockStem_colorMultiplier(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsForItemRender", function() { $java.nms_BlockStem_setBlockBoundsForItemRender(this);
}, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { nms_BlockStem_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$getRenderType", function() { return $java.nms_BlockStem_getRenderType(this); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockStem_idPicked(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockStem_registerIcons(this, var_1); }],
nms_BlockVine, "BlockVine", 79, nms_Block, [], 0, 3, 0, ["$setBlockBoundsForItemRender", function() { $java.nms_BlockVine_setBlockBoundsForItemRender(this); }, "$getRenderType", function() { return $java.nms_BlockVine_getRenderType(this); }, "$isOpaqueCube", function() { return $java.nms_BlockVine_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockVine_renderAsNormalBlock(this); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockVine_setBlockBoundsBasedOnState(this,
var_1, var_2, var_3, var_4); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockVine_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$canPlaceBlockOnSide", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockVine_canPlaceBlockOnSide(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockColor", function() { return $java.nms_BlockVine_getBlockColor(this); }, "$getRenderColor", function(var_1) { return $java.nms_BlockVine_getRenderColor(this,
var_1); }, "$colorMultiplier", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockVine_colorMultiplier(this, var_1, var_2, var_3, var_4); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockVine_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }],
nms_BlockFenceGate, "BlockFenceGate", 79, nms_BlockDirectional, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockFenceGate_getIcon(this, var_1, var_2); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFenceGate_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFenceGate_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsBasedOnState",
function(var_1, var_2, var_3, var_4) { $java.nms_BlockFenceGate_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockFenceGate_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockFenceGate_renderAsNormalBlock(this); }, "$getBlocksMovement", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFenceGate_getBlocksMovement(this, var_1, var_2, var_3, var_4); }, "$getRenderType", function() { return $java.nms_BlockFenceGate_getRenderType(this);
}, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockFenceGate_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockFenceGate_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockFenceGate_shouldSideBeRendered(this,
var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockFenceGate_registerIcons(this, var_1); }],
nms_BlockMycelium, "BlockMycelium", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockMycelium_getIcon(this, var_1, var_2); }, "$getBlockTexture", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockMycelium_getBlockTexture(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockMycelium_registerIcons(this, var_1); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockMycelium_randomDisplayTick(this,
var_1, var_2, var_3, var_4, var_5); }],
nms_BlockLilyPad, "BlockLilyPad", 79, nms_BlockFlower, [], 0, 3, 0, ["$getRenderType", function() { return $java.nms_BlockLilyPad_getRenderType(this); }, "$addCollisionBoxesToList", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockLilyPad_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockLilyPad_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4);
}, "$getBlockColor", function() { return $java.nms_BlockLilyPad_getBlockColor(this); }, "$getRenderColor", function(var_1) { return $java.nms_BlockLilyPad_getRenderColor(this, var_1); }, "$colorMultiplier", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockLilyPad_colorMultiplier(this, var_1, var_2, var_3, var_4); }, "$canThisPlantGrowOnThisBlockID", function(var_1) { return $java.nms_BlockLilyPad_canThisPlantGrowOnThisBlockID(this, var_1); }, "$canBlockStay", function(var_1, var_2, var_3, var_4)
{ return $java.nms_BlockLilyPad_canBlockStay(this, var_1, var_2, var_3, var_4); }],
nms_BlockNetherStalk, "BlockNetherStalk", 79, nms_BlockFlower, [], 0, 3, 0, ["$canThisPlantGrowOnThisBlockID", function(var_1) { return $java.nms_BlockNetherStalk_canThisPlantGrowOnThisBlockID(this, var_1); }, "$canBlockStay", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockNetherStalk_canBlockStay(this, var_1, var_2, var_3, var_4); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockNetherStalk_getIcon(this, var_1, var_2); }, "$getRenderType", function() { return $java.nms_BlockNetherStalk_getRenderType(this);
}, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockNetherStalk_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockNetherStalk_idPicked(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockNetherStalk_registerIcons(this, var_1); }],
nms_BlockEnchantmentTable, "BlockEnchantmentTable", 79, nms_BlockContainer, [], 0, 3, 0, ["$renderAsNormalBlock", function() { return $java.nms_BlockEnchantmentTable_renderAsNormalBlock(this); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockEnchantmentTable_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$isOpaqueCube", function() { return $java.nms_BlockEnchantmentTable_isOpaqueCube(this); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockEnchantmentTable_getIcon(this,
var_1, var_2); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockEnchantmentTable_createNewTileEntity(this, var_1); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockEnchantmentTable_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockEnchantmentTable_onBlockPlacedBy(this, var_1, var_2, var_3, var_4,
var_5, var_6); }, "$registerIcons", function(var_1) { $java.nms_BlockEnchantmentTable_registerIcons(this, var_1); }],
nms_BlockBrewingStand, "BlockBrewingStand", 79, nms_BlockContainer, [], 0, 3, 0, ["$isOpaqueCube", function() { return $java.nms_BlockBrewingStand_isOpaqueCube(this); }, "$getRenderType", function() { return $java.nms_BlockBrewingStand_getRenderType(this); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockBrewingStand_createNewTileEntity(this, var_1); }, "$renderAsNormalBlock", function() { return $java.nms_BlockBrewingStand_renderAsNormalBlock(this); }, "$addCollisionBoxesToList", function(var_1,
var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockBrewingStand_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setBlockBoundsForItemRender", function() { nms_BlockBrewingStand_setBlockBoundsForItemRender(this); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockBrewingStand_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onBlockPlacedBy", function(var_1,
var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockBrewingStand_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockBrewingStand_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockBrewingStand_idPicked(this, var_1, var_2, var_3, var_4); }, "$hasComparatorInputOverride", function() { return $java.nms_BlockBrewingStand_hasComparatorInputOverride(this);
}, "$getComparatorInputOverride", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockBrewingStand_getComparatorInputOverride(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockBrewingStand_registerIcons(this, var_1); }],
nms_BlockCauldron, "BlockCauldron", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockCauldron_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockCauldron_registerIcons(this, var_1); }, "$addCollisionBoxesToList", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockCauldron_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$setBlockBoundsForItemRender", function() { $java.nms_BlockCauldron_setBlockBoundsForItemRender(this);
}, "$isOpaqueCube", function() { return $java.nms_BlockCauldron_isOpaqueCube(this); }, "$getRenderType", function() { return $java.nms_BlockCauldron_getRenderType(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockCauldron_renderAsNormalBlock(this); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockCauldron_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$idPicked", function(var_1,
var_2, var_3, var_4) { return $java.nms_BlockCauldron_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockEndPortal, "BlockEndPortal", 79, nms_BlockContainer, [], 0, 3, 0, ["$createNewTileEntity", function(var_1) { return $java.nms_BlockEndPortal_createNewTileEntity(this, var_1); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockEndPortal_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockEndPortal_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5);
}, "$addCollisionBoxesToList", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockEndPortal_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$isOpaqueCube", function() { return $java.nms_BlockEndPortal_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockEndPortal_renderAsNormalBlock(this); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockEndPortal_randomDisplayTick(this, var_1, var_2,
var_3, var_4, var_5); }, "$getRenderType", function() { return $java.nms_BlockEndPortal_getRenderType(this); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockEndPortal_idPicked(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockEndPortal_registerIcons(this, var_1); }],
nms_BlockEndPortalFrame, "BlockEndPortalFrame", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockEndPortalFrame_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockEndPortalFrame_registerIcons(this, var_1); }, "$isOpaqueCube", function() { return $java.nms_BlockEndPortalFrame_isOpaqueCube(this); }, "$getRenderType", function() { return $java.nms_BlockEndPortalFrame_getRenderType(this); }, "$setBlockBoundsForItemRender", function() { $java.nms_BlockEndPortalFrame_setBlockBoundsForItemRender(this);
}, "$addCollisionBoxesToList", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockEndPortalFrame_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockEndPortalFrame_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_BlockDragonEgg, "BlockDragonEgg", 79, nms_Block, [], 0, 3, 0, ["$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockDragonEgg_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockDragonEgg_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onBlockClicked", function(var_1, var_2, var_3, var_4, var_5) {
$java.nms_BlockDragonEgg_onBlockClicked(this, var_1, var_2, var_3, var_4, var_5); }, "$isOpaqueCube", function() { return $java.nms_BlockDragonEgg_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockDragonEgg_renderAsNormalBlock(this); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockDragonEgg_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$getRenderType", function() { return $java.nms_BlockDragonEgg_getRenderType(this);
}, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockDragonEgg_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockRedstoneLight, "BlockRedstoneLight", 79, nms_Block, [], 0, 3, 0, ["$registerIcons", function(var_1) { $java.nms_BlockRedstoneLight_registerIcons(this, var_1); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockRedstoneLight_idPicked(this, var_1, var_2, var_3, var_4); }],
nms_BlockWoodSlab, "BlockWoodSlab", 79, nms_BlockHalfSlab, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockWoodSlab_getIcon(this, var_1, var_2); }, "$getFullSlabName", function(var_1) { return $java.nms_BlockWoodSlab_getFullSlabName(this, var_1); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockWoodSlab_getSubBlocks(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_BlockWoodSlab_registerIcons(this, var_1); }],
nms_BlockCocoa, "BlockCocoa", 79, nms_BlockDirectional, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockCocoa_getIcon(this, var_1, var_2); }, "$getRenderType", function() { return $java.nms_BlockCocoa_getRenderType(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockCocoa_renderAsNormalBlock(this); }, "$isOpaqueCube", function() { return $java.nms_BlockCocoa_isOpaqueCube(this); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCocoa_getCollisionBoundingBoxFromPool(this,
var_1, var_2, var_3, var_4); }, "$getSelectedBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCocoa_getSelectedBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockCocoa_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockCocoa_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6);
}, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockCocoa_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockCocoa_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockCocoa_dropBlockAsItemWithChance(this,
var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCocoa_idPicked(this, var_1, var_2, var_3, var_4); }, "$getDamageValue", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockCocoa_getDamageValue(this, var_1, var_2, var_3, var_4); }, "$registerIcons", function(var_1) { $java.nms_BlockCocoa_registerIcons(this, var_1); }],
nms_BlockEnderChest, "BlockEnderChest", 79, nms_BlockContainer, [], 0, 3, 0, ["$isOpaqueCube", function() { return $java.nms_BlockEnderChest_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockEnderChest_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockEnderChest_getRenderType(this); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockEnderChest_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6);
}, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockEnderChest_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockEnderChest_createNewTileEntity(this, var_1); }, "$randomDisplayTick", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockEnderChest_randomDisplayTick(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1)
{ $java.nms_BlockEnderChest_registerIcons(this, var_1); }],
nms_BlockTripWireSource, "BlockTripWireSource", 79, nms_Block, [], 0, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockTripWireSource_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockTripWireSource_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockTripWireSource_renderAsNormalBlock(this); }, "$getRenderType", function() { return $java.nms_BlockTripWireSource_getRenderType(this);
}, "$canPlaceBlockOnSide", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockTripWireSource_canPlaceBlockOnSide(this, var_1, var_2, var_3, var_4, var_5); }, "$canPlaceBlockAt", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockTripWireSource_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockTripWireSource_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6,
var_7, var_8, var_9); }, "$onPostBlockPlaced", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockTripWireSource_onPostBlockPlaced(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockTripWireSource_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockTripWireSource_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4);
}, "$isProvidingWeakPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockTripWireSource_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }, "$isProvidingStrongPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockTripWireSource_isProvidingStrongPower(this, var_1, var_2, var_3, var_4, var_5); }, "$canProvidePower", function() { return $java.nms_BlockTripWireSource_canProvidePower(this); }],
nms_BlockTripWire, "BlockTripWire", 79, nms_Block, [], 0, 3, 0, ["$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockTripWire_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockTripWire_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockTripWire_renderAsNormalBlock(this); }, "$getRenderBlockPass", function() { return $java.nms_BlockTripWire_getRenderBlockPass(this);
}, "$getRenderType", function() { return $java.nms_BlockTripWire_getRenderType(this); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockTripWire_idPicked(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockTripWire_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockTripWire_setBlockBoundsBasedOnState(this, var_1,
var_2, var_3, var_4); }],
nms_BlockCommandBlock, "BlockCommandBlock", 79, nms_BlockContainer, [], 0, 3, 0, ["$createNewTileEntity", function(var_1) { return $java.nms_BlockCommandBlock_createNewTileEntity(this, var_1); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockCommandBlock_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$hasComparatorInputOverride", function() { return $java.nms_BlockCommandBlock_hasComparatorInputOverride(this);
}, "$getComparatorInputOverride", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockCommandBlock_getComparatorInputOverride(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockCommandBlock_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_BlockBeacon, "BlockBeacon", 79, nms_BlockContainer, [], 0, 3, 0, ["$createNewTileEntity", function(var_1) { return $java.nms_BlockBeacon_createNewTileEntity(this, var_1); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockBeacon_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$isOpaqueCube", function() { return $java.nms_BlockBeacon_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockBeacon_renderAsNormalBlock(this);
}, "$getRenderType", function() { return $java.nms_BlockBeacon_getRenderType(this); }, "$registerIcons", function(var_1) { $java.nms_BlockBeacon_registerIcons(this, var_1); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockBeacon_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }],
nms_BlockWall, "BlockWall", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockWall_getIcon(this, var_1, var_2); }, "$getRenderType", function() { return $java.nms_BlockWall_getRenderType(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockWall_renderAsNormalBlock(this); }, "$getBlocksMovement", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockWall_getBlocksMovement(this, var_1, var_2, var_3, var_4); }, "$isOpaqueCube", function() { return $java.nms_BlockWall_isOpaqueCube(this);
}, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { nms_BlockWall_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$getCollisionBoundingBoxFromPool", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockWall_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockWall_getSubBlocks(this, var_1, var_2, var_3); }, "$damageDropped", function(var_1) { return $java.nms_BlockWall_damageDropped(this,
var_1); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockWall_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons", function(var_1) { $java.nms_BlockWall_registerIcons(this, var_1); }],
nms_BlockFlowerPot, "BlockFlowerPot", 79, nms_Block, [], 0, 3, 0, ["$setBlockBoundsForItemRender", function() { $java.nms_BlockFlowerPot_setBlockBoundsForItemRender(this); }, "$isOpaqueCube", function() { return $java.nms_BlockFlowerPot_isOpaqueCube(this); }, "$getRenderType", function() { return $java.nms_BlockFlowerPot_getRenderType(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockFlowerPot_renderAsNormalBlock(this); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6,
var_7, var_8, var_9) { return $java.nms_BlockFlowerPot_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFlowerPot_idPicked(this, var_1, var_2, var_3, var_4); }, "$getDamageValue", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFlowerPot_getDamageValue(this, var_1, var_2, var_3, var_4); }, "$isFlowerPot", function() { return $java.nms_BlockFlowerPot_isFlowerPot(this); }, "$canPlaceBlockAt",
function(var_1, var_2, var_3, var_4) { return $java.nms_BlockFlowerPot_canPlaceBlockAt(this, var_1, var_2, var_3, var_4); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockFlowerPot_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockFlowerPot_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_BlockCarrot, "BlockCarrot", 79, nms_BlockCrops, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockCarrot_getIcon(this, var_1, var_2); }, "$getSeedItem", function() { return $java.nms_BlockCarrot_getSeedItem(this); }, "$registerIcons", function(var_1) { $java.nms_BlockCarrot_registerIcons(this, var_1); }],
nms_BlockPotato, "BlockPotato", 79, nms_BlockCrops, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockPotato_getIcon(this, var_1, var_2); }, "$getSeedItem", function() { return $java.nms_BlockPotato_getSeedItem(this); }, "$registerIcons", function(var_1) { $java.nms_BlockPotato_registerIcons(this, var_1); }],
nms_BlockButtonWood, "BlockButtonWood", 79, nms_BlockButton, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockButtonWood_getIcon(this, var_1, var_2); }],
nms_BlockSkull, "BlockSkull", 79, nms_BlockContainer, [], 0, 3, 0, ["$getRenderType", function() { return $java.nms_BlockSkull_getRenderType(this); }, "$isOpaqueCube", function() { return $java.nms_BlockSkull_isOpaqueCube(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockSkull_renderAsNormalBlock(this); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockSkull_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$getCollisionBoundingBoxFromPool",
function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSkull_getCollisionBoundingBoxFromPool(this, var_1, var_2, var_3, var_4); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockSkull_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockSkull_createNewTileEntity(this, var_1); }, "$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSkull_idPicked(this, var_1, var_2,
var_3, var_4); }, "$getDamageValue", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockSkull_getDamageValue(this, var_1, var_2, var_3, var_4); }, "$damageDropped", function(var_1) { return $java.nms_BlockSkull_damageDropped(this, var_1); }, "$dropBlockAsItemWithChance", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockSkull_dropBlockAsItemWithChance(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$registerIcons", function(var_1) { $java.nms_BlockSkull_registerIcons(this,
var_1); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockSkull_getIcon(this, var_1, var_2); }, "$getItemIconName", function() { return $java.nms_BlockSkull_getItemIconName(this); }],
nms_BlockAnvil, "BlockAnvil", 79, nms_BlockSand, [], 0, 3, 0, ["$renderAsNormalBlock", function() { return $java.nms_BlockAnvil_renderAsNormalBlock(this); }, "$isOpaqueCube", function() { return $java.nms_BlockAnvil_isOpaqueCube(this); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockAnvil_getIcon(this, var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockAnvil_registerIcons(this, var_1); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockAnvil_onBlockPlacedBy(this,
var_1, var_2, var_3, var_4, var_5, var_6); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockAnvil_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$getRenderType", function() { return $java.nms_BlockAnvil_getRenderType(this); }, "$damageDropped", function(var_1) { return $java.nms_BlockAnvil_damageDropped(this, var_1); }, "$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockAnvil_setBlockBoundsBasedOnState(this,
var_1, var_2, var_3, var_4); }, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockAnvil_getSubBlocks(this, var_1, var_2, var_3); }, "$shouldSideBeRendered", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockAnvil_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockPressurePlateWeighted, "BlockPressurePlateWeighted", 79, nms_BlockBasePressurePlate, [], 0, 3, 0, ["$getPowerSupply", function(var_1) { return $java.nms_BlockPressurePlateWeighted_getPowerSupply(this, var_1); }, "$getMetaFromWeight", function(var_1) { return $java.nms_BlockPressurePlateWeighted_getMetaFromWeight(this, var_1); }],
nms_BlockComparator, "BlockComparator", 79, nms_BlockRedstoneLogic, [nms_ITileEntityProvider], 0, 3, 0, ["$idPicked", function(var_1, var_2, var_3, var_4) { return $java.nms_BlockComparator_idPicked(this, var_1, var_2, var_3, var_4); }, "$func_94481_j_", function(var_1) { return $java.nms_BlockComparator_func_94481_j_(this, var_1); }, "$func_94485_e", function() { return $java.nms_BlockComparator_func_94485_e(this); }, "$func_94484_i", function() { return $java.nms_BlockComparator_func_94484_i(this); }, "$getRenderType",
function() { return $java.nms_BlockComparator_getRenderType(this); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockComparator_getIcon(this, var_1, var_2); }, "$func_96470_c", function(var_1) { return $java.nms_BlockComparator_func_96470_c(this, var_1); }, "$func_94480_d", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockComparator_func_94480_d(this, var_1, var_2, var_3, var_4, var_5); }, "$func_94478_d", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockComparator_func_94478_d(this,
var_1, var_2, var_3, var_4, var_5); }, "$getInputStrength", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockComparator_getInputStrength(this, var_1, var_2, var_3, var_4, var_5); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockComparator_onBlockActivated(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$func_94479_f", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockComparator_func_94479_f(this,
var_1, var_2, var_3, var_4, var_5); }, "$onBlockEventReceived", function(var_1, var_2, var_3, var_4, var_5, var_6) { return $java.nms_BlockComparator_onBlockEventReceived(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$registerIcons", function(var_1) { $java.nms_BlockComparator_registerIcons(this, var_1); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockComparator_createNewTileEntity(this, var_1); }],
nms_BlockDaylightDetector, "BlockDaylightDetector", 79, nms_BlockContainer, [], 0, 3, 0, ["$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockDaylightDetector_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$isProvidingWeakPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockDaylightDetector_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockDaylightDetector_onNeighborBlockChange(this,
var_1, var_2, var_3, var_4, var_5); }, "$renderAsNormalBlock", function() { return $java.nms_BlockDaylightDetector_renderAsNormalBlock(this); }, "$isOpaqueCube", function() { return $java.nms_BlockDaylightDetector_isOpaqueCube(this); }, "$canProvidePower", function() { return $java.nms_BlockDaylightDetector_canProvidePower(this); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockDaylightDetector_createNewTileEntity(this, var_1); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockDaylightDetector_getIcon(this,
var_1, var_2); }, "$registerIcons", function(var_1) { $java.nms_BlockDaylightDetector_registerIcons(this, var_1); }],
nms_BlockPoweredOre, "BlockPoweredOre", 79, nms_BlockOreStorage, [], 0, 3, 0, ["$canProvidePower", function() { return $java.nms_BlockPoweredOre_canProvidePower(this); }, "$isProvidingWeakPower", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockPoweredOre_isProvidingWeakPower(this, var_1, var_2, var_3, var_4, var_5); }],
nms_BlockHopper, "BlockHopper", 79, nms_BlockContainer, [], 0, 3, 0, ["$setBlockBoundsBasedOnState", function(var_1, var_2, var_3, var_4) { $java.nms_BlockHopper_setBlockBoundsBasedOnState(this, var_1, var_2, var_3, var_4); }, "$addCollisionBoxesToList", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_BlockHopper_addCollisionBoxesToList(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockHopper_onBlockPlaced(this,
var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockHopper_createNewTileEntity(this, var_1); }, "$onBlockPlacedBy", function(var_1, var_2, var_3, var_4, var_5, var_6) { $java.nms_BlockHopper_onBlockPlacedBy(this, var_1, var_2, var_3, var_4, var_5, var_6); }, "$onBlockActivated", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockHopper_onBlockActivated(this, var_1, var_2, var_3, var_4,
var_5, var_6, var_7, var_8, var_9); }, "$onNeighborBlockChange", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_BlockHopper_onNeighborBlockChange(this, var_1, var_2, var_3, var_4, var_5); }, "$getRenderType", function() { return $java.nms_BlockHopper_getRenderType(this); }, "$renderAsNormalBlock", function() { return $java.nms_BlockHopper_renderAsNormalBlock(this); }, "$isOpaqueCube", function() { return $java.nms_BlockHopper_isOpaqueCube(this); }, "$shouldSideBeRendered", function(var_1, var_2, var_3,
var_4, var_5) { return $java.nms_BlockHopper_shouldSideBeRendered(this, var_1, var_2, var_3, var_4, var_5); }, "$getIcon", function(var_1, var_2) { return $java.nms_BlockHopper_getIcon(this, var_1, var_2); }, "$hasComparatorInputOverride", function() { return $java.nms_BlockHopper_hasComparatorInputOverride(this); }, "$getComparatorInputOverride", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_BlockHopper_getComparatorInputOverride(this, var_1, var_2, var_3, var_4, var_5); }, "$registerIcons",
function(var_1) { $java.nms_BlockHopper_registerIcons(this, var_1); }, "$getItemIconName", function() { return $java.nms_BlockHopper_getItemIconName(this); }]]);
$rt_metadata([nms_BlockQuartz, "BlockQuartz", 79, nms_Block, [], 0, 3, 0, ["$getIcon", function(var_1, var_2) { return $java.nms_BlockQuartz_getIcon(this, var_1, var_2); }, "$onBlockPlaced", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9) { return $java.nms_BlockQuartz_onBlockPlaced(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9); }, "$damageDropped", function(var_1) { return $java.nms_BlockQuartz_damageDropped(this, var_1); }, "$getRenderType", function() { return $java.nms_BlockQuartz_getRenderType(this);
}, "$getSubBlocks", function(var_1, var_2, var_3) { $java.nms_BlockQuartz_getSubBlocks(this, var_1, var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_BlockQuartz_registerIcons(this, var_1); }],
nms_BlockDropper, "BlockDropper", 79, nms_BlockDispenser, [], 0, 3, 0, ["$registerIcons", function(var_1) { $java.nms_BlockDropper_registerIcons(this, var_1); }, "$createNewTileEntity", function(var_1) { return $java.nms_BlockDropper_createNewTileEntity(this, var_1); }],
nms_ItemBlock, "ItemBlock", 79, nms_Item, [], 0, 3, 0, ["$getSpriteNumber", function() { return $java.nms_ItemBlock_getSpriteNumber(this); }, "$getIconFromDamage", function(var_1) { return $java.nms_ItemBlock_getIconFromDamage(this, var_1); }, "$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemBlock_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }, "$canPlaceItemBlockOnSide", function(var_1, var_2, var_3,
var_4, var_5, var_6, var_7) { return $java.nms_ItemBlock_canPlaceItemBlockOnSide(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getUnlocalizedName", function(var_1) { return $java.nms_ItemBlock_getUnlocalizedName(this, var_1); }, "$getUnlocalizedName0", function() { return $java.nms_ItemBlock_getUnlocalizedName0(this); }, "$getCreativeTab", function() { return $java.nms_ItemBlock_getCreativeTab(this); }, "$getSubItems", function(var_1, var_2, var_3) { $java.nms_ItemBlock_getSubItems(this, var_1,
var_2, var_3); }, "$registerIcons", function(var_1) { $java.nms_ItemBlock_registerIcons(this, var_1); }],
nms_ItemCloth, "ItemCloth", 79, nms_ItemBlock, [], 0, 3, 0, ["$getIconFromDamage", function(var_1) { return $java.nms_ItemCloth_getIconFromDamage(this, var_1); }, "$getMetadata", function(var_1) { return $java.nms_ItemCloth_getMetadata(this, var_1); }, "$getUnlocalizedName", function(var_1) { return $java.nms_ItemCloth_getUnlocalizedName(this, var_1); }],
nms_ItemMultiTextureTile, "ItemMultiTextureTile", 79, nms_ItemBlock, [], 0, 3, 0, ["$getIconFromDamage", function(var_1) { return $java.nms_ItemMultiTextureTile_getIconFromDamage(this, var_1); }, "$getMetadata", function(var_1) { return $java.nms_ItemMultiTextureTile_getMetadata(this, var_1); }, "$getUnlocalizedName", function(var_1) { return $java.nms_ItemMultiTextureTile_getUnlocalizedName(this, var_1); }],
nms_ItemSlab, "ItemSlab", 79, nms_ItemBlock, [], 0, 3, 0, ["$getIconFromDamage", function(var_1) { return $java.nms_ItemSlab_getIconFromDamage(this, var_1); }, "$getMetadata", function(var_1) { return $java.nms_ItemSlab_getMetadata(this, var_1); }, "$getUnlocalizedName", function(var_1) { return $java.nms_ItemSlab_getUnlocalizedName(this, var_1); }, "$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemSlab_onItemUse(this, var_1, var_2, var_3, var_4,
var_5, var_6, var_7, var_8, var_9, var_10); }, "$canPlaceItemBlockOnSide", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { return $java.nms_ItemSlab_canPlaceItemBlockOnSide(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_ItemLeaves, "ItemLeaves", 79, nms_ItemBlock, [], 0, 3, 0, ["$getMetadata", function(var_1) { return $java.nms_ItemLeaves_getMetadata(this, var_1); }, "$getIconFromDamage", function(var_1) { return $java.nms_ItemLeaves_getIconFromDamage(this, var_1); }, "$getColorFromItemStack", function(var_1, var_2) { return $java.nms_ItemLeaves_getColorFromItemStack(this, var_1, var_2); }, "$getUnlocalizedName", function(var_1) { return $java.nms_ItemLeaves_getUnlocalizedName(this, var_1); }],
nms_ItemColored, "ItemColored", 79, nms_ItemBlock, [], 0, 3, 0, ["$getColorFromItemStack", function(var_1, var_2) { return $java.nms_ItemColored_getColorFromItemStack(this, var_1, var_2); }, "$getIconFromDamage", function(var_1) { return $java.nms_ItemColored_getIconFromDamage(this, var_1); }, "$getMetadata", function(var_1) { return $java.nms_ItemColored_getMetadata(this, var_1); }, "$getUnlocalizedName", function(var_1) { return $java.nms_ItemColored_getUnlocalizedName(this, var_1); }],
nms_ItemBlockWithMetadata, "ItemBlockWithMetadata", 79, nms_ItemBlock, [], 0, 3, 0, ["$getIconFromDamage", function(var_1) { return $java.nms_ItemBlockWithMetadata_getIconFromDamage(this, var_1); }, "$getMetadata", function(var_1) { return $java.nms_ItemBlockWithMetadata_getMetadata(this, var_1); }],
nms_ItemSnow, "ItemSnow", 79, nms_ItemBlockWithMetadata, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.nms_ItemSnow_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
nms_ItemLilyPad, "ItemLilyPad", 79, nms_ItemColored, [], 0, 3, 0, ["$onItemRightClick", function(var_1, var_2, var_3) { return $java.nms_ItemLilyPad_onItemRightClick(this, var_1, var_2, var_3); }, "$getColorFromItemStack", function(var_1, var_2) { return $java.nms_ItemLilyPad_getColorFromItemStack(this, var_1, var_2); }],
nms_ItemPiston, "ItemPiston", 79, nms_ItemBlock, [], 0, 3, 0, ["$getMetadata", function(var_1) { return $java.nms_ItemPiston_getMetadata(this, var_1); }],
nms_ItemAnvilBlock, "ItemAnvilBlock", 79, nms_ItemMultiTextureTile, [], 0, 3, 0, ["$getMetadata", function(var_1) { return $java.nms_ItemAnvilBlock_getMetadata(this, var_1); }],
ju_LinkedHashMap, "LinkedHashMap", 8, ju_HashMap, [ju_Map], 0, 3, 0, ["$newElementArray", function(var_1) { return $java.ju_LinkedHashMap_newElementArray(this, var_1); }, "$createHashedEntry", function(var_1, var_2, var_3) { return $java.ju_LinkedHashMap_createHashedEntry(this, var_1, var_2, var_3); }, "$putImpl", function(var_1, var_2) { return $java.ju_LinkedHashMap_putImpl(this, var_1, var_2); }, "$entrySet", function() { return $java.ju_LinkedHashMap_entrySet(this); }],
nms_EntityList$_clinit_$lambda$_61_0, "EntityList$<clinit>$lambda$_61_0", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_0_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_1, "EntityList$<clinit>$lambda$_61_1", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_1_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_2, "EntityList$<clinit>$lambda$_61_2", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_2_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_3, "EntityList$<clinit>$lambda$_61_3", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_3_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_4, "EntityList$<clinit>$lambda$_61_4", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_4_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_5, "EntityList$<clinit>$lambda$_61_5", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_5_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_6, "EntityList$<clinit>$lambda$_61_6", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_6_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_7, "EntityList$<clinit>$lambda$_61_7", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_7_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_8, "EntityList$<clinit>$lambda$_61_8", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_8_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_9, "EntityList$<clinit>$lambda$_61_9", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_9_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_10, "EntityList$<clinit>$lambda$_61_10", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_10_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_11, "EntityList$<clinit>$lambda$_61_11", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_11_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_12, "EntityList$<clinit>$lambda$_61_12", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_12_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_13, "EntityList$<clinit>$lambda$_61_13", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_13_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_14, "EntityList$<clinit>$lambda$_61_14", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_14_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_15, "EntityList$<clinit>$lambda$_61_15", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_15_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_16, "EntityList$<clinit>$lambda$_61_16", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_16_apply(this, var_1); }],
nms_EntityMinecartEmpty, "EntityMinecartEmpty", 79, nms_EntityMinecart, [], 0, 3, 0, ["$interact", function(var_1) { return $java.nms_EntityMinecartEmpty_interact(this, var_1); }, "$getMinecartType", function() { return $java.nms_EntityMinecartEmpty_getMinecartType(this); }],
nms_EntityList$_clinit_$lambda$_61_17, "EntityList$<clinit>$lambda$_61_17", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_17_apply(this, var_1); }],
nms_EntityMinecartContainer, "EntityMinecartContainer", 79, nms_EntityMinecart, [nms_IInventory], 1, 3, 0, ["$getStackInSlot", function(var_1) { return $java.nms_EntityMinecartContainer_getStackInSlot(this, var_1); }, "$getInventoryStackLimit", function() { return $java.nms_EntityMinecartContainer_getInventoryStackLimit(this); }, "$setDead", function() { $java.nms_EntityMinecartContainer_setDead(this); }, "$interact", function(var_1) { return $java.nms_EntityMinecartContainer_interact(this, var_1); }],
nms_EntityMinecartChest, "EntityMinecartChest", 79, nms_EntityMinecartContainer, [], 0, 3, 0, ["$getSizeInventory", function() { return $java.nms_EntityMinecartChest_getSizeInventory(this); }, "$getMinecartType", function() { return $java.nms_EntityMinecartChest_getMinecartType(this); }, "$getDefaultDisplayTile", function() { return $java.nms_EntityMinecartChest_getDefaultDisplayTile(this); }, "$getDefaultDisplayTileOffset", function() { return $java.nms_EntityMinecartChest_getDefaultDisplayTileOffset(this);
}],
nms_EntityList$_clinit_$lambda$_61_18, "EntityList$<clinit>$lambda$_61_18", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_18_apply(this, var_1); }],
nms_EntityMinecartFurnace, "EntityMinecartFurnace", 79, nms_EntityMinecart, [], 0, 3, 0, ["$getMinecartType", function() { return $java.nms_EntityMinecartFurnace_getMinecartType(this); }, "$entityInit", function() { $java.nms_EntityMinecartFurnace_entityInit(this); }, "$onUpdate", function() { $java.nms_EntityMinecartFurnace_onUpdate(this); }, "$interact", function(var_1) { return $java.nms_EntityMinecartFurnace_interact(this, var_1); }, "$getDefaultDisplayTile", function() { return $java.nms_EntityMinecartFurnace_getDefaultDisplayTile(this);
}, "$getDefaultDisplayTileData", function() { return $java.nms_EntityMinecartFurnace_getDefaultDisplayTileData(this); }],
nms_EntityList$_clinit_$lambda$_61_19, "EntityList$<clinit>$lambda$_61_19", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_19_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_20, "EntityList$<clinit>$lambda$_61_20", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_20_apply(this, var_1); }],
nms_Hopper, "Hopper", 79, jl_Object, [nms_IInventory], 3, 3, 0, 0,
nms_EntityMinecartHopper, "EntityMinecartHopper", 79, nms_EntityMinecartContainer, [nms_Hopper], 0, 3, 0, ["$getMinecartType", function() { return $java.nms_EntityMinecartHopper_getMinecartType(this); }, "$getDefaultDisplayTile", function() { return $java.nms_EntityMinecartHopper_getDefaultDisplayTile(this); }, "$getDefaultDisplayTileOffset", function() { return $java.nms_EntityMinecartHopper_getDefaultDisplayTileOffset(this); }, "$getSizeInventory", function() { return $java.nms_EntityMinecartHopper_getSizeInventory(this);
}, "$interact", function(var_1) { return $java.nms_EntityMinecartHopper_interact(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_21, "EntityList$<clinit>$lambda$_61_21", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_21_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_22, "EntityList$<clinit>$lambda$_61_22", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_22_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_23, "EntityList$<clinit>$lambda$_61_23", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_23_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_24, "EntityList$<clinit>$lambda$_61_24", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_24_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_25, "EntityList$<clinit>$lambda$_61_25", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_25_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_26, "EntityList$<clinit>$lambda$_61_26", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_26_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_27, "EntityList$<clinit>$lambda$_61_27", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_27_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_28, "EntityList$<clinit>$lambda$_61_28", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_28_apply(this, var_1); }],
nms_EntityPigZombie, "EntityPigZombie", 79, nms_EntityZombie, [], 0, 3, 0, ["$isAIEnabled", function() { return $java.nms_EntityPigZombie_isAIEnabled(this); }, "$onUpdate", function() { $java.nms_EntityPigZombie_onUpdate(this); }, "$findPlayerToAttack", function() { return $java.nms_EntityPigZombie_findPlayerToAttack(this); }, "$attackEntityFrom", function(var_1, var_2) { return $java.nms_EntityPigZombie_attackEntityFrom(this, var_1, var_2); }, "$getLivingSound", function() { return $java.nms_EntityPigZombie_getLivingSound(this);
}, "$getHurtSound", function() { return $java.nms_EntityPigZombie_getHurtSound(this); }, "$getDeathSound", function() { return $java.nms_EntityPigZombie_getDeathSound(this); }, "$interact", function(var_1) { return $java.nms_EntityPigZombie_interact(this, var_1); }, "$getAttackStrength", function(var_1) { return $java.nms_EntityPigZombie_getAttackStrength(this, var_1); }]]);
$rt_metadata([nms_EntityList$_clinit_$lambda$_61_29, "EntityList$<clinit>$lambda$_61_29", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_29_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_30, "EntityList$<clinit>$lambda$_61_30", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_30_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_31, "EntityList$<clinit>$lambda$_61_31", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_31_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_32, "EntityList$<clinit>$lambda$_61_32", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_32_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_33, "EntityList$<clinit>$lambda$_61_33", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_33_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_34, "EntityList$<clinit>$lambda$_61_34", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_34_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_35, "EntityList$<clinit>$lambda$_61_35", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_35_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_36, "EntityList$<clinit>$lambda$_61_36", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_36_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_37, "EntityList$<clinit>$lambda$_61_37", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_37_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_38, "EntityList$<clinit>$lambda$_61_38", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_38_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_39, "EntityList$<clinit>$lambda$_61_39", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_39_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_40, "EntityList$<clinit>$lambda$_61_40", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_40_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_41, "EntityList$<clinit>$lambda$_61_41", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_41_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_42, "EntityList$<clinit>$lambda$_61_42", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_42_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_43, "EntityList$<clinit>$lambda$_61_43", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_43_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_44, "EntityList$<clinit>$lambda$_61_44", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_44_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_45, "EntityList$<clinit>$lambda$_61_45", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_45_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_46, "EntityList$<clinit>$lambda$_61_46", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_46_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_47, "EntityList$<clinit>$lambda$_61_47", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_47_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_48, "EntityList$<clinit>$lambda$_61_48", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_48_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_49, "EntityList$<clinit>$lambda$_61_49", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_49_apply(this, var_1); }],
nms_EntityList$_clinit_$lambda$_61_50, "EntityList$<clinit>$lambda$_61_50", 79, jl_Object, [juf_Function], 0, 3, 0, ["$apply", function(var_1) { return $java.nms_EntityList$_clinit_$lambda$_61_50_apply(this, var_1); }],
ju_Collections$5, "Collections$5", 8, ju_AbstractSet, [], 4, 0, 0, 0,
ju_Collections$6, "Collections$6", 8, ju_AbstractMap, [], 4, 0, 0, 0,
ju_Collections$3, "Collections$3", 8, ju_AbstractList, [], 4, 0, 0, 0,
jnc_CharsetDecoder, "CharsetDecoder", 15, jl_Object, [], 1, 3, 0, 0,
jn_FloatBufferImpl, "FloatBufferImpl", 14, jn_FloatBuffer, [], 1, 0, 0, 0,
jn_FloatBufferOverArray, "FloatBufferOverArray", 14, jn_FloatBufferImpl, [], 0, 0, 0, ["$getElement0", function(var_1) { return $java.jn_FloatBufferOverArray_getElement(this, var_1); }, "$putElement0", function(var_1, var_2) { $java.jn_FloatBufferOverArray_putElement(this, var_1, var_2); }, "$readOnly1", function() { return $java.jn_FloatBufferOverArray_readOnly(this); }],
nlegv_Vector2f, "Vector2f", 86, nlegv_Vector, [ji_Serializable, nlegv_ReadableVector2f, nlegv_WritableVector2f], 0, 3, 0, 0,
maat__tmi_MgButtonHandler, "_tmi_MgButtonHandler", 69, jl_Object, [], 3, 3, 0, 0,
maat__tmi_MgItemHandler, "_tmi_MgItemHandler", 69, jl_Object, [], 3, 3, 0, 0,
maat__tmi_MgFocusHandler, "_tmi_MgFocusHandler", 69, jl_Object, [], 3, 3, 0, 0,
maat_TMIController, "TMIController", 69, jl_Object, [maat__tmi_MgButtonHandler, maat__tmi_MgItemHandler, maat__tmi_MgFocusHandler], 0, 3, 0, ["$onButtonRightClick", function(var_1) { return $java.maat_TMIController_onButtonRightClick(this, var_1); }, "$onButtonPress", function(var_1) { return $java.maat_TMIController_onButtonPress(this, var_1); }],
nms_EntityEggInfo, "EntityEggInfo", 79, jl_Object, [], 0, 3, 0, 0,
nms_CreativeTabBlock, "CreativeTabBlock", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabBlock_getTabIconItemIndex(this); }],
nms_CreativeTabDeco, "CreativeTabDeco", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabDeco_getTabIconItemIndex(this); }],
nms_CreativeTabRedstone, "CreativeTabRedstone", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabRedstone_getTabIconItemIndex(this); }],
nms_CreativeTabTransport, "CreativeTabTransport", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabTransport_getTabIconItemIndex(this); }],
nms_CreativeTabMisc, "CreativeTabMisc", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabMisc_getTabIconItemIndex(this); }, "$displayAllReleventItems", function(var_1) { $java.nms_CreativeTabMisc_displayAllReleventItems(this, var_1); }],
nms_CreativeTabSearch, "CreativeTabSearch", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabSearch_getTabIconItemIndex(this); }],
nms_CreativeTabFood, "CreativeTabFood", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabFood_getTabIconItemIndex(this); }],
nms_CreativeTabTools, "CreativeTabTools", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabTools_getTabIconItemIndex(this); }, "$displayAllReleventItems", function(var_1) { $java.nms_CreativeTabTools_displayAllReleventItems(this, var_1); }],
nms_CreativeTabCombat, "CreativeTabCombat", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabCombat_getTabIconItemIndex(this); }, "$displayAllReleventItems", function(var_1) { $java.nms_CreativeTabCombat_displayAllReleventItems(this, var_1); }],
nms_CreativeTabBrewing, "CreativeTabBrewing", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabBrewing_getTabIconItemIndex(this); }],
nms_CreativeTabMaterial, "CreativeTabMaterial", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabMaterial_getTabIconItemIndex(this); }],
nms_CreativeTabInventory, "CreativeTabInventory", 79, nms_CreativeTabs, [], 4, 0, 0, ["$getTabIconItemIndex", function() { return $java.nms_CreativeTabInventory_getTabIconItemIndex(this); }],
nms_PotionHealth, "PotionHealth", 79, nms_Potion, [], 0, 3, 0, ["$isInstant", function() { return $java.nms_PotionHealth_isInstant(this); }, "$isReady", function(var_1, var_2) { return $java.nms_PotionHealth_isReady(this, var_1, var_2); }],
nms_MaterialTransparent, "MaterialTransparent", 79, nms_Material, [], 0, 3, 0, ["$isSolid", function() { return $java.nms_MaterialTransparent_isSolid(this); }, "$getCanBlockGrass", function() { return $java.nms_MaterialTransparent_getCanBlockGrass(this); }, "$blocksMovement", function() { return $java.nms_MaterialTransparent_blocksMovement(this); }],
nms_MapColor, "MapColor", 79, jl_Object, [], 0, 3, 0, 0,
nms_MaterialLiquid, "MaterialLiquid", 79, nms_Material, [], 0, 3, 0, ["$isLiquid", function() { return $java.nms_MaterialLiquid_isLiquid(this); }, "$blocksMovement", function() { return $java.nms_MaterialLiquid_blocksMovement(this); }, "$isSolid", function() { return $java.nms_MaterialLiquid_isSolid(this); }]]);
$rt_metadata([nms_MaterialLogic, "MaterialLogic", 79, nms_Material, [], 0, 3, 0, ["$isSolid", function() { return $java.nms_MaterialLogic_isSolid(this); }, "$getCanBlockGrass", function() { return $java.nms_MaterialLogic_getCanBlockGrass(this); }, "$blocksMovement", function() { return $java.nms_MaterialLogic_blocksMovement(this); }],
nms_MaterialPortal, "MaterialPortal", 79, nms_Material, [], 0, 3, 0, ["$isSolid", function() { return $java.nms_MaterialPortal_isSolid(this); }, "$getCanBlockGrass", function() { return $java.nms_MaterialPortal_getCanBlockGrass(this); }, "$blocksMovement", function() { return $java.nms_MaterialPortal_blocksMovement(this); }],
nms_MaterialWeb, "MaterialWeb", 79, nms_Material, [], 4, 0, 0, ["$blocksMovement", function() { return $java.nms_MaterialWeb_blocksMovement(this); }],
ju_TreeMap$1, "TreeMap$1", 8, jl_Object, [ju_Comparator], 0, 0, 0, 0,
nms_IStatType, "IStatType", 79, jl_Object, [], 3, 3, 0, 0,
nms_StatTypeSimple, "StatTypeSimple", 79, jl_Object, [nms_IStatType], 4, 0, 0, 0,
nms_StatTypeTime, "StatTypeTime", 79, jl_Object, [nms_IStatType], 4, 0, 0, 0,
nms_StatTypeDistance, "StatTypeDistance", 79, jl_Object, [nms_IStatType], 4, 0, 0, 0,
ju_Enumeration, "Enumeration", 8, jl_Object, [], 3, 3, 0, 0,
ju_Hashtable$1, "Hashtable$1", 8, jl_Object, [ju_Enumeration], 4, 0, 0, 0,
ju_Hashtable$2, "Hashtable$2", 8, jl_Object, [ju_Iterator], 4, 0, 0, 0,
ju_Hashtable$Entry, "Hashtable$Entry", 8, ju_MapEntry, [], 0, 0, 0, 0,
maat_TMIConfig, "TMIConfig", 69, jl_Object, [], 0, 3, 0, 0,
maat_TMIItemInfo, "TMIItemInfo", 69, jl_Object, [], 0, 3, $java.maat_TMIItemInfo_$callClinit, 0,
maat_TMIPrivateFields, "TMIPrivateFields", 69, jl_Object, [], 0, 3, 0, 0,
ju_SortedSet, "SortedSet", 8, jl_Object, [ju_Set], 3, 3, 0, 0,
ju_NavigableSet, "NavigableSet", 8, jl_Object, [ju_SortedSet], 3, 3, 0, 0,
ju_TreeSet, "TreeSet", 8, ju_AbstractSet, [ju_NavigableSet], 0, 3, 0, ["$iterator", function() { return ju_TreeSet_iterator(this); }],
ju_HashMap$AbstractMapIterator, "HashMap$AbstractMapIterator", 8, jl_Object, [], 0, 0, 0, ["$hasNext", function() { return ju_HashMap$AbstractMapIterator_hasNext(this); }, "$remove2", function() { ju_HashMap$AbstractMapIterator_remove(this); }],
ju_HashMap$ValueIterator, "HashMap$ValueIterator", 8, ju_HashMap$AbstractMapIterator, [ju_Iterator], 0, 0, 0, ["$next", function() { return $java.ju_HashMap$ValueIterator_next(this); }],
jl_ArithmeticException, "ArithmeticException", 22, jl_RuntimeException, [], 0, 3, 0, 0,
jnc_CharacterCodingException, "CharacterCodingException", 15, ji_IOException, [], 0, 3, 0, 0,
jnci_BufferedDecoder, "BufferedDecoder", 16, jnc_CharsetDecoder, [], 1, 3, 0, 0,
jnci_UTF8Decoder, "UTF8Decoder", 16, jnci_BufferedDecoder, [], 0, 3, 0, 0,
nms_RenderHelper, "RenderHelper", 79, jl_Object, [], 0, 3, 0, 0,
ju_HashMap$1, "HashMap$1", 8, ju_AbstractSet, [], 0, 0, 0, ["$size0", function() { return $java.ju_HashMap$1_size(this); }, "$iterator", function() { return $java.ju_HashMap$1_iterator(this); }],
ju_HashMap$HashMapEntrySet, "HashMap$HashMapEntrySet", 8, ju_AbstractSet, [], 0, 0, 0, ["$size0", function() { return $java.ju_HashMap$HashMapEntrySet_size(this); }, "$contains", function(var_1) { return $java.ju_HashMap$HashMapEntrySet_contains(this, var_1); }, "$iterator", function() { return ju_HashMap$HashMapEntrySet_iterator(this); }],
ju_LinkedHashMap$LinkedHashMapEntry, "LinkedHashMap$LinkedHashMapEntry", 8, ju_HashMap$HashEntry, [], 4, 0, 0, 0,
maat__tmi_MgCanvas, "_tmi_MgCanvas", 69, jl_Object, [], 0, 3, 0, 0,
maat__tmi_MgTooltipHandler, "_tmi_MgTooltipHandler", 69, jl_Object, [], 3, 3, 0, 0,
maat_TMIView, "TMIView", 69, jl_Object, [maat__tmi_MgTooltipHandler], 0, 3, 0, 0,
maat_TMIUtils, "TMIUtils", 69, jl_Object, [], 0, 3, 0, 0,
nms_TileEntitySkull, "TileEntitySkull", 79, nms_TileEntity, [], 0, 3, 0, ["$readFromNBT", function(var_1) { $java.nms_TileEntitySkull_readFromNBT(this, var_1); }],
jur_AbstractCharClass$LazyJavaLowerCase$1, "AbstractCharClass$LazyJavaLowerCase$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaLowerCase$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaUpperCase$1, "AbstractCharClass$LazyJavaUpperCase$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaUpperCase$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaWhitespace$1, "AbstractCharClass$LazyJavaWhitespace$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaWhitespace$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaMirrored$1, "AbstractCharClass$LazyJavaMirrored$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaMirrored$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaDefined$1, "AbstractCharClass$LazyJavaDefined$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaDefined$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaDigit$1, "AbstractCharClass$LazyJavaDigit$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaDigit$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1, "AbstractCharClass$LazyJavaIdentifierIgnorable$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaIdentifierIgnorable$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaISOControl$1, "AbstractCharClass$LazyJavaISOControl$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaISOControl$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1, "AbstractCharClass$LazyJavaJavaIdentifierPart$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaJavaIdentifierPart$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1, "AbstractCharClass$LazyJavaJavaIdentifierStart$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaJavaIdentifierStart$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaLetter$1, "AbstractCharClass$LazyJavaLetter$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaLetter$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaLetterOrDigit$1, "AbstractCharClass$LazyJavaLetterOrDigit$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaLetterOrDigit$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaSpaceChar$1, "AbstractCharClass$LazyJavaSpaceChar$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaSpaceChar$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaTitleCase$1, "AbstractCharClass$LazyJavaTitleCase$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaTitleCase$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1, "AbstractCharClass$LazyJavaUnicodeIdentifierPart$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaUnicodeIdentifierPart$1_contains(this, var_1); }],
jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1, "AbstractCharClass$LazyJavaUnicodeIdentifierStart$1", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_AbstractCharClass$LazyJavaUnicodeIdentifierStart$1_contains(this, var_1); }],
jur_UnicodeCategory, "UnicodeCategory", 9, jur_AbstractCharClass, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_UnicodeCategory_contains(this, var_1); }]]);
$rt_metadata([jur_UnicodeCategoryScope, "UnicodeCategoryScope", 9, jur_UnicodeCategory, [], 0, 0, 0, ["$contains1", function(var_1) { return $java.jur_UnicodeCategoryScope_contains(this, var_1); }],
nms_GuiGameOver, "GuiGameOver", 79, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { $java.nms_GuiGameOver_initGui(this); }, "$keyTyped", function(var_1, var_2) { $java.nms_GuiGameOver_keyTyped(this, var_1, var_2); }, "$actionPerformed", function(var_1) { $java.nms_GuiGameOver_actionPerformed(this, var_1); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiGameOver_drawScreen(this, var_1, var_2, var_3); }, "$updateScreen", function() { $java.nms_GuiGameOver_updateScreen(this); }],
nms_GuiIngameMenu, "GuiIngameMenu", 79, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { $java.nms_GuiIngameMenu_initGui(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiIngameMenu_actionPerformed(this, var_1); }, "$updateScreen", function() { $java.nms_GuiIngameMenu_updateScreen(this); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiIngameMenu_drawScreen(this, var_1, var_2, var_3); }],
nms_WorldRenderer, "WorldRenderer", 79, jl_Object, [], 0, 3, nms_WorldRenderer_$callClinit, 0,
nms_EntitySorter, "EntitySorter", 79, jl_Object, [ju_Comparator], 0, 3, 0, ["$compare", function(var_1, var_2) { return $java.nms_EntitySorter_compare(this, var_1, var_2); }],
nms_BossStatus, "BossStatus", 79, jl_Object, [], 4, 3, 0, 0,
nms_EntityFX, "EntityFX", 79, nms_Entity, [], 0, 3, 0, ["$canTriggerWalking", function() { return $java.nms_EntityFX_canTriggerWalking(this); }, "$entityInit", function() { $java.nms_EntityFX_entityInit(this); }, "$onUpdate", function() { $java.nms_EntityFX_onUpdate(this); }, "$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getFXLayer", function() { return $java.nms_EntityFX_getFXLayer(this);
}, "$canAttackWithItem", function() { return $java.nms_EntityFX_canAttackWithItem(this); }, "$toString", function() { return $java.nms_EntityFX_toString(this); }],
jt_DecimalFormat$MantissaAndExponent, "DecimalFormat$MantissaAndExponent", 19, jl_Object, [], 0, 0, 0, 0,
jt_DecimalFormat$MinusField, "DecimalFormat$MinusField", 19, jl_Object, [jt_DecimalFormat$FormatField], 0, 0, 0, ["$render", function(var_1, var_2) { $java.jt_DecimalFormat$MinusField_render(this, var_1, var_2); }, "$equals", function(var_1) { return $java.jt_DecimalFormat$MinusField_equals(this, var_1); }, "$hashCode0", function() { return $java.jt_DecimalFormat$MinusField_hashCode(this); }],
nms_EntityDiggingFX, "EntityDiggingFX", 79, nms_EntityFX, [], 0, 3, 0, ["$getFXLayer", function() { return $java.nms_EntityDiggingFX_getFXLayer(this); }, "$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityDiggingFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
jn_FloatBufferOverByteBuffer, "FloatBufferOverByteBuffer", 14, jn_FloatBufferImpl, [], 1, 0, 0, ["$readOnly1", function() { return $java.jn_FloatBufferOverByteBuffer_readOnly(this); }],
jn_FloatBufferOverByteBufferLittleEndian, "FloatBufferOverByteBufferLittleEndian", 14, jn_FloatBufferOverByteBuffer, [], 0, 0, 0, ["$getElement0", function(var_1) { return $java.jn_FloatBufferOverByteBufferLittleEndian_getElement(this, var_1); }, "$putElement0", function(var_1, var_2) { $java.jn_FloatBufferOverByteBufferLittleEndian_putElement(this, var_1, var_2); }],
jn_FloatBufferOverByteBufferBigEndian, "FloatBufferOverByteBufferBigEndian", 14, jn_FloatBufferOverByteBuffer, [], 0, 0, 0, ["$getElement0", function(var_1) { return $java.jn_FloatBufferOverByteBufferBigEndian_getElement(this, var_1); }, "$putElement0", function(var_1, var_2) { $java.jn_FloatBufferOverByteBufferBigEndian_putElement(this, var_1, var_2); }],
nms_ModelBox, "ModelBox", 79, jl_Object, [], 0, 3, 0, 0,
nms_TextureOffset, "TextureOffset", 79, jl_Object, [], 0, 3, 0, 0,
nms_WorldProvider, "WorldProvider", 79, jl_Object, [], 1, 3, 0, ["$generateLightBrightnessTable", function() { $java.nms_WorldProvider_generateLightBrightnessTable(this); }, "$registerWorldChunkManager", function() { $java.nms_WorldProvider_registerWorldChunkManager(this); }, "$calculateCelestialAngle", function(var_1, var_2) { return $java.nms_WorldProvider_calculateCelestialAngle(this, var_1, var_2); }, "$isSurfaceWorld", function() { return $java.nms_WorldProvider_isSurfaceWorld(this); }, "$calcSunriseSunsetColors",
function(var_1, var_2) { return $java.nms_WorldProvider_calcSunriseSunsetColors(this, var_1, var_2); }, "$getFogColor0", function(var_1, var_2) { return $java.nms_WorldProvider_getFogColor(this, var_1, var_2); }, "$getCloudHeight", function() { return $java.nms_WorldProvider_getCloudHeight(this); }, "$isSkyColored", function() { return $java.nms_WorldProvider_isSkyColored(this); }, "$doesXZShowFog", function(var_1, var_2) { return $java.nms_WorldProvider_doesXZShowFog(this, var_1, var_2); }],
maat__tmi_MgWidget, "_tmi_MgWidget", 69, jl_Object, [], 0, 3, 0, ["$resize", function() { $java.maat__tmi_MgWidget_resize(this); }],
maat__tmi_MgTabView, "_tmi_MgTabView", 69, maat__tmi_MgWidget, [], 0, 3, 0, ["$draw1", function(var_1, var_2, var_3) { $java.maat__tmi_MgTabView_draw(this, var_1, var_2, var_3); }, "$resize", function() { $java.maat__tmi_MgTabView_resize(this); }, "$click", function(var_1, var_2, var_3) { return $java.maat__tmi_MgTabView_click(this, var_1, var_2, var_3); }],
maat_TMIEnchantPanel, "TMIEnchantPanel", 69, maat__tmi_MgWidget, [maat__tmi_MgButtonHandler], 0, 3, 0, ["$resize", function() { $java.maat_TMIEnchantPanel_resize(this); }, "$draw1", function(var_1, var_2, var_3) { $java.maat_TMIEnchantPanel_draw(this, var_1, var_2, var_3); }, "$click", function(var_1, var_2, var_3) { return $java.maat_TMIEnchantPanel_click(this, var_1, var_2, var_3); }, "$onButtonPress", function(var_1) { return $java.maat_TMIEnchantPanel_onButtonPress(this, var_1); }, "$onButtonRightClick",
function(var_1) { return $java.maat_TMIEnchantPanel_onButtonRightClick(this, var_1); }],
maat_TMIConfigPanel, "TMIConfigPanel", 69, maat__tmi_MgWidget, [], 0, 3, 0, 0,
maat_TMIPotionPanel, "TMIPotionPanel", 69, maat__tmi_MgWidget, [maat__tmi_MgButtonHandler], 0, 3, 0, ["$resize", function() { $java.maat_TMIPotionPanel_resize(this); }, "$onButtonPress", function(var_1) { return $java.maat_TMIPotionPanel_onButtonPress(this, var_1); }, "$onButtonRightClick", function(var_1) { return $java.maat_TMIPotionPanel_onButtonRightClick(this, var_1); }, "$draw1", function(var_1, var_2, var_3) { $java.maat_TMIPotionPanel_draw(this, var_1, var_2, var_3); }, "$click", function(var_1, var_2,
var_3) { return $java.maat_TMIPotionPanel_click(this, var_1, var_2, var_3); }],
maat_TMIFireworkPanel, "TMIFireworkPanel", 69, maat__tmi_MgWidget, [maat__tmi_MgButtonHandler], 0, 3, 0, ["$resize", function() { $java.maat_TMIFireworkPanel_resize(this); }, "$onButtonPress", function(var_1) { return $java.maat_TMIFireworkPanel_onButtonPress(this, var_1); }, "$onButtonRightClick", function(var_1) { return $java.maat_TMIFireworkPanel_onButtonRightClick(this, var_1); }, "$draw1", function(var_1, var_2, var_3) { $java.maat_TMIFireworkPanel_draw(this, var_1, var_2, var_3); }, "$click", function(var_1,
var_2, var_3) { return $java.maat_TMIFireworkPanel_click(this, var_1, var_2, var_3); }],
maat__tmi_MgButton, "_tmi_MgButton", 69, maat__tmi_MgWidget, [], 0, 3, 0, ["$graphicWidth", function(var_1) { return $java.maat__tmi_MgButton_graphicWidth(this, var_1); }, "$drawGraphic", function(var_1, var_2) { return $java.maat__tmi_MgButton_drawGraphic(this, var_1, var_2); }, "$draw1", function(var_1, var_2, var_3) { $java.maat__tmi_MgButton_draw(this, var_1, var_2, var_3); }, "$click", function(var_1, var_2, var_3) { return $java.maat__tmi_MgButton_click(this, var_1, var_2, var_3); }],
nms_PotionEffect, "PotionEffect", 79, jl_Object, [], 0, 3, 0, ["$hashCode0", function() { return $java.nms_PotionEffect_hashCode(this); }, "$toString", function() { return $java.nms_PotionEffect_toString(this); }, "$equals", function(var_1) { return $java.nms_PotionEffect_equals(this, var_1); }],
nlea_EaglerAdapterImpl2$AudioBufferSourceNodeX, "EaglerAdapterImpl2$AudioBufferSourceNodeX", 83, jl_Object, [], 0, 0, 0, 0,
nlea_EaglerAdapterImpl2$24, "EaglerAdapterImpl2$24", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$24_handleEvent$exported$0(this, var_1); }],
nms_EntitySmokeFX, "EntitySmokeFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntitySmokeFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntitySmokeFX_onUpdate(this); }],
nms_EntityRainFX, "EntityRainFX", 79, nms_EntityFX, [], 0, 3, 0, ["$onUpdate", function() { $java.nms_EntityRainFX_onUpdate(this); }],
nms_DestroyBlockProgress, "DestroyBlockProgress", 79, jl_Object, [], 0, 3, 0, 0,
nlea_EaglerAdapterImpl2$23, "EaglerAdapterImpl2$23", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$23_handleEvent$exported$0(this, var_1); }],
jm_BigDecimal, "BigDecimal", 18, jl_Number, [jl_Comparable, ji_Serializable], 0, 3, jm_BigDecimal_$callClinit, ["$equals", function(var_1) { return $java.jm_BigDecimal_equals(this, var_1); }, "$hashCode0", function() { return $java.jm_BigDecimal_hashCode(this); }, "$toString", function() { return $java.jm_BigDecimal_toString(this); }, "$longValue", function() { return $java.jm_BigDecimal_longValue(this); }, "$intValue", function() { return $java.jm_BigDecimal_intValue(this); }, "$doubleValue", function() { return $java.jm_BigDecimal_doubleValue(this);
}, "$compareTo7", function(var_1) { return $java.jm_BigDecimal_compareTo(this, var_1); }],
jm_BigInteger, "BigInteger", 18, jl_Number, [jl_Comparable, ji_Serializable], 0, 3, 0, ["$intValue", function() { return jm_BigInteger_intValue(this); }, "$longValue", function() { return $java.jm_BigInteger_longValue(this); }, "$doubleValue", function() { return $java.jm_BigInteger_doubleValue(this); }, "$hashCode0", function() { return $java.jm_BigInteger_hashCode(this); }, "$equals", function(var_1) { return jm_BigInteger_equals(this, var_1); }, "$toString", function() { return $java.jm_BigInteger_toString(this);
}, "$compareTo7", function(var_1) { return $java.jm_BigInteger_compareTo(this, var_1); }],
nms_PositionTextureVertex, "PositionTextureVertex", 79, jl_Object, [], 0, 3, 0, 0,
nms_TexturedQuad, "TexturedQuad", 79, jl_Object, [], 0, 3, 0, 0,
nms_AchievementMap, "AchievementMap", 79, jl_Object, [], 0, 3, nms_AchievementMap_$callClinit, 0,
ju_AbstractMap$SimpleEntry, "AbstractMap$SimpleEntry", 8, jl_Object, [ju_Map$Entry, ji_Serializable], 0, 3, 0, ["$getValue0", function() { return $java.ju_AbstractMap$SimpleEntry_getValue(this); }, "$getKey", function() { return $java.ju_AbstractMap$SimpleEntry_getKey(this); }, "$equals", function(var_1) { return $java.ju_AbstractMap$SimpleEntry_equals(this, var_1); }, "$hashCode0", function() { return $java.ju_AbstractMap$SimpleEntry_hashCode(this); }, "$toString", function() { return $java.ju_AbstractMap$SimpleEntry_toString(this);
}],
ju_TreeMap$TreeNode, "TreeMap$TreeNode", 8, ju_AbstractMap$SimpleEntry, [], 0, 0, 0, 0,
maat__tmi_MgTextField, "_tmi_MgTextField", 69, maat__tmi_MgWidget, [], 0, 3, 0, ["$draw1", function(var_1, var_2, var_3) { $java.maat__tmi_MgTextField_draw(this, var_1, var_2, var_3); }, "$click", function(var_1, var_2, var_3) { return $java.maat__tmi_MgTextField_click(this, var_1, var_2, var_3); }],
maat__tmi_MgItemButton, "_tmi_MgItemButton", 69, maat__tmi_MgButton, [], 0, 3, 0, ["$graphicWidth", function(var_1) { return $java.maat__tmi_MgItemButton_graphicWidth(this, var_1); }, "$drawGraphic", function(var_1, var_2) { return $java.maat__tmi_MgItemButton_drawGraphic(this, var_1, var_2); }],
maat_TMIImages, "TMIImages", 69, jl_Object, [], 0, 3, 0, 0,
maat_TMIEnchantItemPicker, "TMIEnchantItemPicker", 69, maat__tmi_MgWidget, [maat__tmi_MgButtonHandler], 0, 0, 0, ["$resize", function() { $java.maat_TMIEnchantItemPicker_resize(this); }, "$draw1", function(var_1, var_2, var_3) { $java.maat_TMIEnchantItemPicker_draw(this, var_1, var_2, var_3); }, "$click", function(var_1, var_2, var_3) { return $java.maat_TMIEnchantItemPicker_click(this, var_1, var_2, var_3); }, "$onButtonPress", function(var_1) { return $java.maat_TMIEnchantItemPicker_onButtonPress(this, var_1);
}, "$onButtonRightClick", function(var_1) { return $java.maat_TMIEnchantItemPicker_onButtonRightClick(this, var_1); }],
maat_TMIPotionEffectPicker, "TMIPotionEffectPicker", 69, maat__tmi_MgWidget, [maat__tmi_MgButtonHandler], 0, 3, 0, ["$resize", function() { $java.maat_TMIPotionEffectPicker_resize(this); }, "$onButtonPress", function(var_1) { return $java.maat_TMIPotionEffectPicker_onButtonPress(this, var_1); }, "$onButtonRightClick", function(var_1) { return $java.maat_TMIPotionEffectPicker_onButtonRightClick(this, var_1); }, "$draw1", function(var_1, var_2, var_3) { $java.maat_TMIPotionEffectPicker_draw(this, var_1, var_2,
var_3); }, "$click", function(var_1, var_2, var_3) { return $java.maat_TMIPotionEffectPicker_click(this, var_1, var_2, var_3); }],
maat_TMIPotionEffectControl, "TMIPotionEffectControl", 69, maat__tmi_MgWidget, [maat__tmi_MgButtonHandler], 0, 3, 0, ["$resize", function() { $java.maat_TMIPotionEffectControl_resize(this); }, "$draw1", function(var_1, var_2, var_3) { $java.maat_TMIPotionEffectControl_draw(this, var_1, var_2, var_3); }, "$click", function(var_1, var_2, var_3) { return $java.maat_TMIPotionEffectControl_click(this, var_1, var_2, var_3); }, "$onButtonPress", function(var_1) { return $java.maat_TMIPotionEffectControl_onButtonPress(this,
var_1); }, "$onButtonRightClick", function(var_1) { return $java.maat_TMIPotionEffectControl_onButtonRightClick(this, var_1); }],
ju_Random, "Random", 8, jl_Object, [ji_Serializable], 0, 3, 0, 0,
jl_ReflectiveOperationException, "ReflectiveOperationException", 22, jl_Exception, [], 0, 3, 0, 0,
jl_ClassNotFoundException, "ClassNotFoundException", 22, jl_ReflectiveOperationException, [], 0, 3, 0, 0,
maat_TMIItemMushroomCap, "TMIItemMushroomCap", 69, nms_ItemBlock, [], 0, 3, 0, ["$getMetadata", function(var_1) { return $java.maat_TMIItemMushroomCap_getMetadata(this, var_1); }],
maat_TMIItemSpawner, "TMIItemSpawner", 69, nms_ItemBlock, [], 0, 3, 0, ["$onItemUse", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10) { return $java.maat_TMIItemSpawner_onItemUse(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10); }],
maat_TMIItemCrop, "TMIItemCrop", 69, nms_ItemBlock, [], 0, 3, 0, ["$getMetadata", function(var_1) { return $java.maat_TMIItemCrop_getMetadata(this, var_1); }],
nlea_EaglerAdapterImpl2$AudioBufferX, "EaglerAdapterImpl2$AudioBufferX", 83, jl_Object, [], 0, 0, 0, 0]);
$rt_metadata([nms_BiomeGenBase, "BiomeGenBase", 79, jl_Object, [], 0, 3, 0, 0,
jt_DecimalFormat$1, "DecimalFormat$1", 19, jl_Object, [], 32, 0, jt_DecimalFormat$1_$callClinit, 0,
ju_Arrays$ArrayAsList, "Arrays$ArrayAsList", 8, ju_AbstractList, [ju_RandomAccess], 0, 0, 0, ["$get5", function(var_1) { return $java.ju_Arrays$ArrayAsList_get(this, var_1); }, "$set3", function(var_1, var_2) { return $java.ju_Arrays$ArrayAsList_set(this, var_1, var_2); }, "$size0", function() { return ju_Arrays$ArrayAsList_size(this); }],
otjw_DecodeSuccessCallback, "DecodeSuccessCallback", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nlea_EaglerAdapterImpl2$21, "EaglerAdapterImpl2$21", 83, jl_Object, [otjw_DecodeSuccessCallback], 4, 0, 0, ["$onSuccess$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$21_onSuccess$exported$0(this, var_1); }],
otjw_DecodeErrorCallback, "DecodeErrorCallback", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nlea_EaglerAdapterImpl2$22, "EaglerAdapterImpl2$22", 83, jl_Object, [otjw_DecodeErrorCallback], 4, 0, 0, ["$onError$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$22_onError$exported$0(this, var_1); }],
jm_Multiplication, "Multiplication", 18, jl_Object, [], 0, 0, $java.jm_Multiplication_$callClinit, 0,
nms_GuiTextField, "GuiTextField", 79, nms_Gui, [], 0, 3, 0, 0,
maat__tmi_MgImage, "_tmi_MgImage", 69, jl_Object, [], 0, 3, 0, 0,
maa_Color, "Color", 68, jl_Object, [], 0, 3, 0, 0,
nms_DataWatcher, "DataWatcher", 79, jl_Object, [], 0, 3, 0, 0,
nms_EnumEntitySize, "EnumEntitySize", 79, jl_Enum, [], 12, 3, 0, 0,
jl_Byte, "Byte", 22, jl_Number, [jl_Comparable], 0, 3, 0, ["$intValue", function() { return $java.jl_Byte_intValue(this); }, "$longValue", function() { return $java.jl_Byte_longValue(this); }, "$doubleValue", function() { return $java.jl_Byte_doubleValue(this); }, "$toString", function() { return $java.jl_Byte_toString(this); }, "$equals", function(var_1) { return $java.jl_Byte_equals(this, var_1); }, "$hashCode0", function() { return $java.jl_Byte_hashCode(this); }, "$compareTo7", function(var_1) { return $java.jl_Byte_compareTo0(this,
var_1); }],
jl_Short, "Short", 22, jl_Number, [jl_Comparable], 0, 3, 0, ["$intValue", function() { return $java.jl_Short_intValue(this); }, "$longValue", function() { return $java.jl_Short_longValue(this); }, "$doubleValue", function() { return $java.jl_Short_doubleValue(this); }, "$toString", function() { return $java.jl_Short_toString(this); }, "$equals", function(var_1) { return $java.jl_Short_equals(this, var_1); }, "$hashCode0", function() { return $java.jl_Short_hashCode(this); }, "$compareTo7", function(var_1) {
return $java.jl_Short_compareTo0(this, var_1); }],
nms_ChunkCoordinates, "ChunkCoordinates", 79, jl_Object, [jl_Comparable], 0, 3, 0, 0,
ju_HashMap$KeyIterator, "HashMap$KeyIterator", 8, ju_HashMap$AbstractMapIterator, [ju_Iterator], 0, 0, 0, ["$next", function() { return $java.ju_HashMap$KeyIterator_next(this); }],
ju_HashMap$EntryIterator, "HashMap$EntryIterator", 8, ju_HashMap$AbstractMapIterator, [ju_Iterator], 0, 0, 0, ["$next", function() { return ju_HashMap$EntryIterator_next0(this); }],
nms_GuiContainerCreative, "GuiContainerCreative", 79, nms_InventoryEffectRenderer, [], 0, 3, $java.nms_GuiContainerCreative_$callClinit, ["$updateScreen", function() { $java.nms_GuiContainerCreative_updateScreen(this); }, "$handleMouseClick", function(var_1, var_2, var_3, var_4) { $java.nms_GuiContainerCreative_handleMouseClick(this, var_1, var_2, var_3, var_4); }, "$initGui", function() { $java.nms_GuiContainerCreative_initGui(this); }, "$onGuiClosed", function() { $java.nms_GuiContainerCreative_onGuiClosed(this);
}, "$keyTyped", function(var_1, var_2) { $java.nms_GuiContainerCreative_keyTyped(this, var_1, var_2); }, "$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiContainerCreative_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$mouseClicked", function(var_1, var_2, var_3) { $java.nms_GuiContainerCreative_mouseClicked(this, var_1, var_2, var_3); }, "$mouseMovedOrUp", function(var_1, var_2, var_3) { $java.nms_GuiContainerCreative_mouseMovedOrUp(this, var_1, var_2, var_3); }, "$handleMouseInput",
function() { $java.nms_GuiContainerCreative_handleMouseInput(this); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiContainerCreative_drawScreen(this, var_1, var_2, var_3); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiContainerCreative_drawGuiContainerBackgroundLayer(this, var_1, var_2, var_3); }, "$actionPerformed", function(var_1) { $java.nms_GuiContainerCreative_actionPerformed(this, var_1); }],
nms_GuiButton, "GuiButton", 79, nms_Gui, [], 0, 3, 0, ["$getHoverState", function(var_1) { return $java.nms_GuiButton_getHoverState(this, var_1); }, "$drawButton", function(var_1, var_2, var_3) { $java.nms_GuiButton_drawButton(this, var_1, var_2, var_3); }, "$mouseDragged", function(var_1, var_2, var_3) { $java.nms_GuiButton_mouseDragged(this, var_1, var_2, var_3); }, "$mouseReleased", function(var_1, var_2) { $java.nms_GuiButton_mouseReleased(this, var_1, var_2); }, "$mousePressed", function(var_1, var_2, var_3)
{ return $java.nms_GuiButton_mousePressed(this, var_1, var_2, var_3); }, "$func_82251_b", function(var_1, var_2) { $java.nms_GuiButton_func_82251_b(this, var_1, var_2); }],
nle_License, "License", 82, jl_Object, [], 0, 3, 0, 0,
nms_EnumChatFormatting, "EnumChatFormatting", 79, jl_Enum, [], 12, 3, 0, ["$toString", function() { return $java.nms_EnumChatFormatting_toString(this); }],
nms_StatCollector, "StatCollector", 79, jl_Object, [], 0, 3, 0, 0,
jm_BitLevel, "BitLevel", 18, jl_Object, [], 0, 0, 0, 0,
jm_Division, "Division", 18, jl_Object, [], 0, 0, 0, 0,
jm_Elementary, "Elementary", 18, jl_Object, [], 0, 0, 0, 0,
nleg_EffectPipelineFXAA, "EffectPipelineFXAA", 85, jl_Object, [], 0, 3, 0, 0,
nms_ActiveRenderInfo, "ActiveRenderInfo", 79, jl_Object, [], 0, 3, 0, 0,
nms_ClippingHelper, "ClippingHelper", 79, jl_Object, [], 0, 3, 0, 0,
nms_ClippingHelperImpl, "ClippingHelperImpl", 79, nms_ClippingHelper, [], 0, 3, 0, 0,
nms_ICamera, "ICamera", 79, jl_Object, [], 3, 3, 0, 0,
nms_Frustrum, "Frustrum", 79, jl_Object, [nms_ICamera], 0, 3, 0, 0,
nms_StringUtils, "StringUtils", 79, jl_Object, [], 0, 3, 0, 0,
nle_EnumBrowser, "EnumBrowser", 82, jl_Enum, [], 12, 3, 0, 0,
nms_Direction, "Direction", 79, jl_Object, [], 0, 3, 0, 0,
nms_NetHandler, "NetHandler", 79, jl_Object, [], 1, 3, 0, 0,
nms_NetClientHandler, "NetClientHandler", 79, nms_NetHandler, [], 0, 3, 0, 0,
nms_GuiPlayerInfo, "GuiPlayerInfo", 79, jl_Object, [], 0, 3, 0, 0,
nms_ScorePlayerTeam, "ScorePlayerTeam", 79, jl_Object, [], 0, 3, 0, 0,
ju_AbstractMap$KeySet, "AbstractMap$KeySet", 8, ju_AbstractSet, [], 0, 0, 0, ["$iterator", function() { return $java.ju_AbstractMap$KeySet_iterator(this); }, "$size0", function() { return $java.ju_AbstractMap$KeySet_size(this); }],
cjj_Inflate$Return, "Inflate$Return", 2, jl_Exception, [], 0, 0, 0, 0,
cjj_GZIPHeader, "GZIPHeader", 2, jl_Object, [jl_Cloneable], 0, 3, 0, 0,
cjj_CRC32, "CRC32", 2, jl_Object, [cjj_Checksum], 4, 3, 0, ["$update", function(var_1, var_2, var_3) { $java.cjj_CRC32_update(this, var_1, var_2, var_3); }, "$reset", function() { $java.cjj_CRC32_reset(this); }, "$reset2", function(var_1) { $java.cjj_CRC32_reset0(this, var_1); }, "$getValue1", function() { return $java.cjj_CRC32_getValue(this); }],
nms_StitchHolder, "StitchHolder", 79, jl_Object, [jl_Comparable], 0, 3, 0, ["$toString", function() { return $java.nms_StitchHolder_toString(this); }, "$compareTo7", function(var_1) { return $java.nms_StitchHolder_compareTo(this, var_1); }],
nms_Texture, "Texture", 79, jl_Object, [], 0, 3, 0, 0,
nms_StitcherException, "StitcherException", 79, jl_RuntimeException, [], 0, 3, 0, 0,
nms_TextureStitched, "TextureStitched", 79, jl_Object, [nms_Icon], 0, 3, 0, ["$getOriginX", function() { return $java.nms_TextureStitched_getOriginX(this); }, "$getOriginY", function() { return $java.nms_TextureStitched_getOriginY(this); }, "$getMinU", function() { return $java.nms_TextureStitched_getMinU(this); }, "$getMaxU", function() { return $java.nms_TextureStitched_getMaxU(this); }, "$getInterpolatedU", function(var_1) { return $java.nms_TextureStitched_getInterpolatedU(this, var_1); }, "$getMinV", function()
{ return $java.nms_TextureStitched_getMinV(this); }, "$getMaxV", function() { return $java.nms_TextureStitched_getMaxV(this); }, "$getInterpolatedV", function(var_1) { return $java.nms_TextureStitched_getInterpolatedV(this, var_1); }, "$getIconName", function() { return $java.nms_TextureStitched_getIconName(this); }, "$getSheetWidth", function() { return $java.nms_TextureStitched_getSheetWidth(this); }, "$getSheetHeight", function() { return $java.nms_TextureStitched_getSheetHeight(this); }, "$updateAnimation0",
function() { $java.nms_TextureStitched_updateAnimation(this); }],
nms_Packet204ClientInfo, "Packet204ClientInfo", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet204ClientInfo_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet204ClientInfo_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet204ClientInfo_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet204ClientInfo_getPacketSize(this); }],
jt_DecimalFormat$PerMillField, "DecimalFormat$PerMillField", 19, jl_Object, [jt_DecimalFormat$FormatField], 0, 0, 0, ["$render", function(var_1, var_2) { $java.jt_DecimalFormat$PerMillField_render(this, var_1, var_2); }, "$equals", function(var_1) { return $java.jt_DecimalFormat$PerMillField_equals(this, var_1); }, "$hashCode0", function() { return $java.jt_DecimalFormat$PerMillField_hashCode(this); }],
jt_DecimalFormat$CurrencyField, "DecimalFormat$CurrencyField", 19, jl_Object, [jt_DecimalFormat$FormatField], 0, 0, 0, ["$render", function(var_1, var_2) { $java.jt_DecimalFormat$CurrencyField_render(this, var_1, var_2); }, "$equals", function(var_1) { return $java.jt_DecimalFormat$CurrencyField_equals(this, var_1); }, "$hashCode0", function() { return $java.jt_DecimalFormat$CurrencyField_hashCode(this); }]]);
$rt_metadata([jt_DecimalFormat$PercentField, "DecimalFormat$PercentField", 19, jl_Object, [jt_DecimalFormat$FormatField], 0, 0, 0, ["$render", function(var_1, var_2) { $java.jt_DecimalFormat$PercentField_render(this, var_1, var_2); }, "$equals", function(var_1) { return $java.jt_DecimalFormat$PercentField_equals(this, var_1); }, "$hashCode0", function() { return $java.jt_DecimalFormat$PercentField_hashCode(this); }],
nms_MovementInput, "MovementInput", 79, jl_Object, [], 0, 3, 0, 0,
nms_MovementInputFromOptions, "MovementInputFromOptions", 79, nms_MovementInput, [], 0, 3, 0, 0,
ju_ListIterator, "ListIterator", 8, jl_Object, [ju_Iterator], 3, 3, 0, 0,
ju_LinkedList$SequentialListIterator, "LinkedList$SequentialListIterator", 8, jl_Object, [ju_ListIterator], 0, 0, 0, 0,
ju_LinkedList$Entry, "LinkedList$Entry", 8, jl_Object, [], 0, 0, 0, 0,
maat_TMIItemPanel, "TMIItemPanel", 69, maat__tmi_MgWidget, [maat__tmi_MgButtonHandler], 0, 0, 0, ["$onButtonPress", function(var_1) { return $java.maat_TMIItemPanel_onButtonPress(this, var_1); }, "$onButtonRightClick", function(var_1) { return $java.maat_TMIItemPanel_onButtonRightClick(this, var_1); }, "$resize", function() { $java.maat_TMIItemPanel_resize(this); }, "$draw1", function(var_1, var_2, var_3) { $java.maat_TMIItemPanel_draw(this, var_1, var_2, var_3); }, "$click", function(var_1, var_2, var_3) {
return $java.maat_TMIItemPanel_click(this, var_1, var_2, var_3); }],
maat_TMIFavoritesPanel, "TMIFavoritesPanel", 69, maat_TMIItemPanel, [], 0, 0, 0, ["$draw1", function(var_1, var_2, var_3) { $java.maat_TMIFavoritesPanel_draw(this, var_1, var_2, var_3); }, "$click", function(var_1, var_2, var_3) { return $java.maat_TMIFavoritesPanel_click(this, var_1, var_2, var_3); }],
maat_TMIStateButtonData, "TMIStateButtonData", 69, jl_Object, [], 0, 0, 0, 0,
ju_LinkedHashMap$1, "LinkedHashMap$1", 8, ju_AbstractSet, [], 0, 0, 0, ["$size0", function() { return $java.ju_LinkedHashMap$1_size(this); }, "$iterator", function() { return $java.ju_LinkedHashMap$1_iterator(this); }],
nms_Facing, "Facing", 79, jl_Object, [], 0, 3, 0, 0,
jl_Boolean, "Boolean", 22, jl_Object, [ji_Serializable, jl_Comparable], 0, 3, 0, ["$toString", function() { return $java.jl_Boolean_toString0(this); }, "$hashCode0", function() { return $java.jl_Boolean_hashCode(this); }, "$equals", function(var_1) { return $java.jl_Boolean_equals(this, var_1); }, "$compareTo7", function(var_1) { return $java.jl_Boolean_compareTo0(this, var_1); }],
nms_Packet0KeepAlive, "Packet0KeepAlive", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet0KeepAlive_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet0KeepAlive_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet0KeepAlive_writePacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet0KeepAlive_getPacketSize(this); }],
nms_Packet1Login, "Packet1Login", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet1Login_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet1Login_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet1Login_getPacketSize(this); }],
nms_Packet2ClientProtocol, "Packet2ClientProtocol", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet2ClientProtocol_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet2ClientProtocol_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet2ClientProtocol_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet2ClientProtocol_getPacketSize(this); }],
nms_Packet4UpdateTime, "Packet4UpdateTime", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet4UpdateTime_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet4UpdateTime_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet4UpdateTime_getPacketSize(this); }],
nms_Packet5PlayerInventory, "Packet5PlayerInventory", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet5PlayerInventory_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet5PlayerInventory_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet5PlayerInventory_getPacketSize(this); }],
nms_Packet6SpawnPosition, "Packet6SpawnPosition", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet6SpawnPosition_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet6SpawnPosition_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet6SpawnPosition_getPacketSize(this); }],
nms_Packet7UseEntity, "Packet7UseEntity", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet7UseEntity_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet7UseEntity_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet7UseEntity_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet7UseEntity_getPacketSize(this); }],
nms_Packet8UpdateHealth, "Packet8UpdateHealth", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet8UpdateHealth_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet8UpdateHealth_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet8UpdateHealth_getPacketSize(this); }],
nms_Packet9Respawn, "Packet9Respawn", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet9Respawn_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet9Respawn_readPacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet9Respawn_getPacketSize(this); }],
nms_Packet10Flying, "Packet10Flying", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet10Flying_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet10Flying_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet10Flying_writePacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet10Flying_getPacketSize(this); }],
nms_Packet11PlayerPosition, "Packet11PlayerPosition", 79, nms_Packet10Flying, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet11PlayerPosition_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet11PlayerPosition_writePacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet11PlayerPosition_getPacketSize(this); }],
nms_Packet12PlayerLook, "Packet12PlayerLook", 79, nms_Packet10Flying, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet12PlayerLook_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet12PlayerLook_writePacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet12PlayerLook_getPacketSize(this); }],
nms_Packet13PlayerLookMove, "Packet13PlayerLookMove", 79, nms_Packet10Flying, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet13PlayerLookMove_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet13PlayerLookMove_writePacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet13PlayerLookMove_getPacketSize(this); }],
nms_Packet14BlockDig, "Packet14BlockDig", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet14BlockDig_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet14BlockDig_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet14BlockDig_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet14BlockDig_getPacketSize(this); }],
nms_Packet15Place, "Packet15Place", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet15Place_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet15Place_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet15Place_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet15Place_getPacketSize(this); }],
nms_Packet16BlockItemSwitch, "Packet16BlockItemSwitch", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet16BlockItemSwitch_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet16BlockItemSwitch_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet16BlockItemSwitch_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet16BlockItemSwitch_getPacketSize(this); }],
nms_Packet17Sleep, "Packet17Sleep", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet17Sleep_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet17Sleep_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet17Sleep_getPacketSize(this); }],
nms_Packet18Animation, "Packet18Animation", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet18Animation_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet18Animation_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet18Animation_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet18Animation_getPacketSize(this); }],
nms_Packet19EntityAction, "Packet19EntityAction", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet19EntityAction_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet19EntityAction_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet19EntityAction_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet19EntityAction_getPacketSize(this); }],
nms_Packet20NamedEntitySpawn, "Packet20NamedEntitySpawn", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet20NamedEntitySpawn_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet20NamedEntitySpawn_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet20NamedEntitySpawn_getPacketSize(this); }],
nms_Packet22Collect, "Packet22Collect", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet22Collect_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet22Collect_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet22Collect_getPacketSize(this); }],
nms_Packet23VehicleSpawn, "Packet23VehicleSpawn", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet23VehicleSpawn_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet23VehicleSpawn_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet23VehicleSpawn_getPacketSize(this); }],
nms_Packet24MobSpawn, "Packet24MobSpawn", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet24MobSpawn_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet24MobSpawn_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet24MobSpawn_getPacketSize(this); }],
nms_Packet25EntityPainting, "Packet25EntityPainting", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet25EntityPainting_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet25EntityPainting_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet25EntityPainting_getPacketSize(this); }],
nms_Packet26EntityExpOrb, "Packet26EntityExpOrb", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet26EntityExpOrb_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet26EntityExpOrb_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet26EntityExpOrb_getPacketSize(this); }],
nms_Packet28EntityVelocity, "Packet28EntityVelocity", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet28EntityVelocity_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet28EntityVelocity_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet28EntityVelocity_getPacketSize(this); }],
nms_Packet29DestroyEntity, "Packet29DestroyEntity", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet29DestroyEntity_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet29DestroyEntity_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet29DestroyEntity_getPacketSize(this); }],
nms_Packet30Entity, "Packet30Entity", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet30Entity_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet30Entity_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet30Entity_getPacketSize(this); }],
nms_Packet31RelEntityMove, "Packet31RelEntityMove", 79, nms_Packet30Entity, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet31RelEntityMove_readPacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet31RelEntityMove_getPacketSize(this); }],
nms_Packet32EntityLook, "Packet32EntityLook", 79, nms_Packet30Entity, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet32EntityLook_readPacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet32EntityLook_getPacketSize(this); }],
nms_Packet33RelEntityMoveLook, "Packet33RelEntityMoveLook", 79, nms_Packet30Entity, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet33RelEntityMoveLook_readPacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet33RelEntityMoveLook_getPacketSize(this); }],
nms_Packet34EntityTeleport, "Packet34EntityTeleport", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet34EntityTeleport_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet34EntityTeleport_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet34EntityTeleport_getPacketSize(this); }],
nms_Packet35EntityHeadRotation, "Packet35EntityHeadRotation", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet35EntityHeadRotation_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet35EntityHeadRotation_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet35EntityHeadRotation_getPacketSize(this); }],
nms_Packet38EntityStatus, "Packet38EntityStatus", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet38EntityStatus_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet38EntityStatus_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet38EntityStatus_getPacketSize(this); }],
nms_Packet39AttachEntity, "Packet39AttachEntity", 79, nms_Packet, [], 0, 3, 0, ["$getPacketSize", function() { return $java.nms_Packet39AttachEntity_getPacketSize(this); }, "$readPacketData", function(var_1) { $java.nms_Packet39AttachEntity_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet39AttachEntity_processPacket(this, var_1); }],
nms_Packet40EntityMetadata, "Packet40EntityMetadata", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet40EntityMetadata_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet40EntityMetadata_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet40EntityMetadata_getPacketSize(this); }],
nms_Packet41EntityEffect, "Packet41EntityEffect", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet41EntityEffect_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet41EntityEffect_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet41EntityEffect_getPacketSize(this); }],
nms_Packet42RemoveEntityEffect, "Packet42RemoveEntityEffect", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet42RemoveEntityEffect_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet42RemoveEntityEffect_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet42RemoveEntityEffect_getPacketSize(this); }]]);
$rt_metadata([nms_Packet43Experience, "Packet43Experience", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet43Experience_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet43Experience_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet43Experience_getPacketSize(this); }],
nms_Packet51MapChunk, "Packet51MapChunk", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet51MapChunk_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet51MapChunk_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet51MapChunk_getPacketSize(this); }],
nms_Packet52MultiBlockChange, "Packet52MultiBlockChange", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet52MultiBlockChange_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet52MultiBlockChange_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet52MultiBlockChange_getPacketSize(this); }],
nms_Packet53BlockChange, "Packet53BlockChange", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet53BlockChange_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet53BlockChange_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet53BlockChange_getPacketSize(this); }],
nms_Packet54PlayNoteBlock, "Packet54PlayNoteBlock", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet54PlayNoteBlock_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet54PlayNoteBlock_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet54PlayNoteBlock_getPacketSize(this); }],
nms_Packet55BlockDestroy, "Packet55BlockDestroy", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet55BlockDestroy_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet55BlockDestroy_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet55BlockDestroy_getPacketSize(this); }],
nms_Packet56MapChunks, "Packet56MapChunks", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet56MapChunks_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet56MapChunks_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet56MapChunks_getPacketSize(this); }],
nms_Packet60Explosion, "Packet60Explosion", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet60Explosion_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet60Explosion_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet60Explosion_getPacketSize(this); }],
nms_Packet61DoorChange, "Packet61DoorChange", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet61DoorChange_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet61DoorChange_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet61DoorChange_getPacketSize(this); }],
nms_Packet62LevelSound, "Packet62LevelSound", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet62LevelSound_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet62LevelSound_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet62LevelSound_getPacketSize(this); }],
nms_Packet63WorldParticles, "Packet63WorldParticles", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet63WorldParticles_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet63WorldParticles_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet63WorldParticles_getPacketSize(this); }],
nms_Packet70GameEvent, "Packet70GameEvent", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet70GameEvent_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet70GameEvent_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet70GameEvent_getPacketSize(this); }],
nms_Packet71Weather, "Packet71Weather", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet71Weather_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet71Weather_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet71Weather_getPacketSize(this); }],
nms_Packet100OpenWindow, "Packet100OpenWindow", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet100OpenWindow_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet100OpenWindow_readPacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet100OpenWindow_getPacketSize(this); }],
nms_Packet101CloseWindow, "Packet101CloseWindow", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet101CloseWindow_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet101CloseWindow_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet101CloseWindow_writePacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet101CloseWindow_getPacketSize(this); }],
nms_Packet102WindowClick, "Packet102WindowClick", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet102WindowClick_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet102WindowClick_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet102WindowClick_writePacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet102WindowClick_getPacketSize(this); }],
nms_Packet103SetSlot, "Packet103SetSlot", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet103SetSlot_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet103SetSlot_readPacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet103SetSlot_getPacketSize(this); }],
nms_Packet104WindowItems, "Packet104WindowItems", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet104WindowItems_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet104WindowItems_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet104WindowItems_getPacketSize(this); }],
nms_Packet105UpdateProgressbar, "Packet105UpdateProgressbar", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet105UpdateProgressbar_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet105UpdateProgressbar_readPacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet105UpdateProgressbar_getPacketSize(this); }],
nms_Packet106Transaction, "Packet106Transaction", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet106Transaction_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet106Transaction_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet106Transaction_writePacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet106Transaction_getPacketSize(this); }],
nms_Packet107CreativeSetSlot, "Packet107CreativeSetSlot", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet107CreativeSetSlot_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet107CreativeSetSlot_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet107CreativeSetSlot_writePacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet107CreativeSetSlot_getPacketSize(this); }],
nms_Packet108EnchantItem, "Packet108EnchantItem", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet108EnchantItem_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet108EnchantItem_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet108EnchantItem_writePacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet108EnchantItem_getPacketSize(this); }],
nms_Packet130UpdateSign, "Packet130UpdateSign", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet130UpdateSign_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet130UpdateSign_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet130UpdateSign_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet130UpdateSign_getPacketSize(this); }],
nms_Packet131MapData, "Packet131MapData", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet131MapData_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet131MapData_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet131MapData_getPacketSize(this); }],
nms_Packet132TileEntityData, "Packet132TileEntityData", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet132TileEntityData_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet132TileEntityData_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet132TileEntityData_getPacketSize(this); }],
nms_Packet200Statistic, "Packet200Statistic", 79, nms_Packet, [], 0, 3, 0, ["$processPacket", function(var_1) { $java.nms_Packet200Statistic_processPacket(this, var_1); }, "$readPacketData", function(var_1) { $java.nms_Packet200Statistic_readPacketData(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet200Statistic_getPacketSize(this); }],
nms_Packet201PlayerInfo, "Packet201PlayerInfo", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet201PlayerInfo_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet201PlayerInfo_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet201PlayerInfo_getPacketSize(this); }],
nms_Packet202PlayerAbilities, "Packet202PlayerAbilities", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet202PlayerAbilities_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet202PlayerAbilities_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet202PlayerAbilities_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet202PlayerAbilities_getPacketSize(this); }],
nms_Packet203AutoComplete, "Packet203AutoComplete", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet203AutoComplete_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet203AutoComplete_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet203AutoComplete_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet203AutoComplete_getPacketSize(this); }],
nms_Packet205ClientCommand, "Packet205ClientCommand", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet205ClientCommand_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet205ClientCommand_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet205ClientCommand_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet205ClientCommand_getPacketSize(this); }],
nms_Packet206SetObjective, "Packet206SetObjective", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet206SetObjective_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet206SetObjective_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet206SetObjective_getPacketSize(this); }],
nms_Packet207SetScore, "Packet207SetScore", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet207SetScore_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet207SetScore_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet207SetScore_getPacketSize(this); }],
nms_Packet208SetDisplayObjective, "Packet208SetDisplayObjective", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet208SetDisplayObjective_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet208SetDisplayObjective_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet208SetDisplayObjective_getPacketSize(this); }],
nms_Packet209SetPlayerTeam, "Packet209SetPlayerTeam", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet209SetPlayerTeam_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet209SetPlayerTeam_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet209SetPlayerTeam_getPacketSize(this); }],
nms_Packet250CustomPayload, "Packet250CustomPayload", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet250CustomPayload_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet250CustomPayload_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet250CustomPayload_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet250CustomPayload_getPacketSize(this); }],
nms_Packet252SharedKey, "Packet252SharedKey", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet252SharedKey_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet252SharedKey_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet252SharedKey_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet252SharedKey_getPacketSize(this); }],
nms_Packet253ServerAuthData, "Packet253ServerAuthData", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet253ServerAuthData_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet253ServerAuthData_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet253ServerAuthData_getPacketSize(this); }],
nms_Packet254ServerPing, "Packet254ServerPing", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet254ServerPing_readPacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet254ServerPing_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet254ServerPing_getPacketSize(this); }],
nms_Packet255KickDisconnect, "Packet255KickDisconnect", 79, nms_Packet, [], 0, 3, 0, ["$readPacketData", function(var_1) { $java.nms_Packet255KickDisconnect_readPacketData(this, var_1); }, "$writePacketData", function(var_1) { $java.nms_Packet255KickDisconnect_writePacketData(this, var_1); }, "$processPacket", function(var_1) { $java.nms_Packet255KickDisconnect_processPacket(this, var_1); }, "$getPacketSize", function() { return $java.nms_Packet255KickDisconnect_getPacketSize(this); }],
nms_IEntitySelector, "IEntitySelector", 79, jl_Object, [], 3, 3, 0, 0,
nms_FilterIMob, "FilterIMob", 79, jl_Object, [nms_IEntitySelector], 4, 0, 0, 0,
nms_Tuple, "Tuple", 79, jl_Object, [], 0, 3, 0, 0,
nms_EntityWitherAttackFilter, "EntityWitherAttackFilter", 79, jl_Object, [nms_IEntitySelector], 4, 0, 0, ["$isEntityApplicable", function(var_1) { return $java.nms_EntityWitherAttackFilter_isEntityApplicable(this, var_1); }],
nms_ISidedInventory, "ISidedInventory", 79, jl_Object, [nms_IInventory], 3, 3, 0, 0,
nms_TileEntityFurnace, "TileEntityFurnace", 79, nms_TileEntity, [nms_ISidedInventory], 0, 3, 0, ["$getSizeInventory", function() { return $java.nms_TileEntityFurnace_getSizeInventory(this); }, "$getStackInSlot", function(var_1) { return $java.nms_TileEntityFurnace_getStackInSlot(this, var_1); }, "$decrStackSize", function(var_1, var_2) { return $java.nms_TileEntityFurnace_decrStackSize(this, var_1, var_2); }, "$setInventorySlotContents", function(var_1, var_2) { $java.nms_TileEntityFurnace_setInventorySlotContents(this,
var_1, var_2); }, "$readFromNBT", function(var_1) { $java.nms_TileEntityFurnace_readFromNBT(this, var_1); }, "$getInventoryStackLimit", function() { return $java.nms_TileEntityFurnace_getInventoryStackLimit(this); }, "$updateEntity0", function() { $java.nms_TileEntityFurnace_updateEntity(this); }],
nms_TileEntityChest, "TileEntityChest", 79, nms_TileEntity, [nms_IInventory], 0, 3, 0, ["$getSizeInventory", function() { return $java.nms_TileEntityChest_getSizeInventory(this); }, "$getStackInSlot", function(var_1) { return $java.nms_TileEntityChest_getStackInSlot(this, var_1); }, "$readFromNBT", function(var_1) { $java.nms_TileEntityChest_readFromNBT(this, var_1); }, "$getInventoryStackLimit", function() { return $java.nms_TileEntityChest_getInventoryStackLimit(this); }, "$updateContainingBlockInfo", function()
{ $java.nms_TileEntityChest_updateContainingBlockInfo(this); }, "$updateEntity0", function() { $java.nms_TileEntityChest_updateEntity(this); }, "$receiveClientEvent", function(var_1, var_2) { return $java.nms_TileEntityChest_receiveClientEvent(this, var_1, var_2); }, "$invalidate", function() { $java.nms_TileEntityChest_invalidate(this); }],
nms_TileEntityEnderChest, "TileEntityEnderChest", 79, nms_TileEntity, [], 0, 3, 0, ["$updateEntity0", function() { $java.nms_TileEntityEnderChest_updateEntity(this); }, "$receiveClientEvent", function(var_1, var_2) { return $java.nms_TileEntityEnderChest_receiveClientEvent(this, var_1, var_2); }, "$invalidate", function() { $java.nms_TileEntityEnderChest_invalidate(this); }],
nms_TileEntityRecordPlayer, "TileEntityRecordPlayer", 79, nms_TileEntity, [], 0, 3, 0, ["$readFromNBT", function(var_1) { $java.nms_TileEntityRecordPlayer_readFromNBT(this, var_1); }],
nms_TileEntityDispenser, "TileEntityDispenser", 79, nms_TileEntity, [nms_IInventory], 0, 3, 0, ["$getSizeInventory", function() { return $java.nms_TileEntityDispenser_getSizeInventory(this); }, "$getStackInSlot", function(var_1) { return $java.nms_TileEntityDispenser_getStackInSlot(this, var_1); }, "$decrStackSize", function(var_1, var_2) { return $java.nms_TileEntityDispenser_decrStackSize(this, var_1, var_2); }, "$setInventorySlotContents", function(var_1, var_2) { $java.nms_TileEntityDispenser_setInventorySlotContents(this,
var_1, var_2); }, "$getInvName", function() { return $java.nms_TileEntityDispenser_getInvName(this); }, "$readFromNBT", function(var_1) { $java.nms_TileEntityDispenser_readFromNBT(this, var_1); }, "$getInventoryStackLimit", function() { return $java.nms_TileEntityDispenser_getInventoryStackLimit(this); }],
nms_TileEntityDropper, "TileEntityDropper", 79, nms_TileEntityDispenser, [], 0, 3, 0, ["$getInvName", function() { return $java.nms_TileEntityDropper_getInvName(this); }]]);
$rt_metadata([nms_TileEntityMobSpawner, "TileEntityMobSpawner", 79, nms_TileEntity, [], 0, 3, 0, ["$readFromNBT", function(var_1) { $java.nms_TileEntityMobSpawner_readFromNBT(this, var_1); }, "$updateEntity0", function() { $java.nms_TileEntityMobSpawner_updateEntity(this); }],
nms_TileEntityNote, "TileEntityNote", 79, nms_TileEntity, [], 0, 3, 0, ["$readFromNBT", function(var_1) { $java.nms_TileEntityNote_readFromNBT(this, var_1); }],
nms_TileEntityPiston, "TileEntityPiston", 79, nms_TileEntity, [], 0, 3, 0, ["$updateEntity0", function() { $java.nms_TileEntityPiston_updateEntity(this); }, "$readFromNBT", function(var_1) { $java.nms_TileEntityPiston_readFromNBT(this, var_1); }],
nms_TileEntityBrewingStand, "TileEntityBrewingStand", 79, nms_TileEntity, [nms_ISidedInventory], 0, 3, 0, ["$getSizeInventory", function() { return $java.nms_TileEntityBrewingStand_getSizeInventory(this); }, "$updateEntity0", function() { $java.nms_TileEntityBrewingStand_updateEntity(this); }, "$readFromNBT", function(var_1) { $java.nms_TileEntityBrewingStand_readFromNBT(this, var_1); }, "$getStackInSlot", function(var_1) { return $java.nms_TileEntityBrewingStand_getStackInSlot(this, var_1); }, "$decrStackSize",
function(var_1, var_2) { return $java.nms_TileEntityBrewingStand_decrStackSize(this, var_1, var_2); }, "$setInventorySlotContents", function(var_1, var_2) { $java.nms_TileEntityBrewingStand_setInventorySlotContents(this, var_1, var_2); }, "$getInventoryStackLimit", function() { return $java.nms_TileEntityBrewingStand_getInventoryStackLimit(this); }],
nms_TileEntityEnchantmentTable, "TileEntityEnchantmentTable", 79, nms_TileEntity, [], 0, 3, $java.nms_TileEntityEnchantmentTable_$callClinit, ["$readFromNBT", function(var_1) { $java.nms_TileEntityEnchantmentTable_readFromNBT(this, var_1); }, "$updateEntity0", function() { $java.nms_TileEntityEnchantmentTable_updateEntity(this); }],
nms_TileEntityEndPortal, "TileEntityEndPortal", 79, nms_TileEntity, [], 0, 3, 0, 0,
nms_TileEntityCommandBlock, "TileEntityCommandBlock", 79, nms_TileEntity, [nms_ICommandSender], 0, 3, 0, ["$readFromNBT", function(var_1) { $java.nms_TileEntityCommandBlock_readFromNBT(this, var_1); }],
nms_TileEntityBeacon, "TileEntityBeacon", 79, nms_TileEntity, [nms_IInventory], 0, 3, $java.nms_TileEntityBeacon_$callClinit, ["$updateEntity0", function() { $java.nms_TileEntityBeacon_updateEntity(this); }, "$getMaxRenderDistanceSquared", function() { return $java.nms_TileEntityBeacon_getMaxRenderDistanceSquared(this); }, "$readFromNBT", function(var_1) { $java.nms_TileEntityBeacon_readFromNBT(this, var_1); }, "$getSizeInventory", function() { return $java.nms_TileEntityBeacon_getSizeInventory(this); }, "$getStackInSlot",
function(var_1) { return $java.nms_TileEntityBeacon_getStackInSlot(this, var_1); }, "$decrStackSize", function(var_1, var_2) { return $java.nms_TileEntityBeacon_decrStackSize(this, var_1, var_2); }, "$setInventorySlotContents", function(var_1, var_2) { $java.nms_TileEntityBeacon_setInventorySlotContents(this, var_1, var_2); }, "$getInventoryStackLimit", function() { return $java.nms_TileEntityBeacon_getInventoryStackLimit(this); }],
nms_TileEntityDaylightDetector, "TileEntityDaylightDetector", 79, nms_TileEntity, [], 0, 3, 0, ["$updateEntity0", function() { $java.nms_TileEntityDaylightDetector_updateEntity(this); }],
nms_TileEntityHopper, "TileEntityHopper", 79, nms_TileEntity, [nms_Hopper], 0, 3, 0, ["$readFromNBT", function(var_1) { $java.nms_TileEntityHopper_readFromNBT(this, var_1); }, "$onInventoryChanged", function() { $java.nms_TileEntityHopper_onInventoryChanged(this); }, "$getSizeInventory", function() { return nms_TileEntityHopper_getSizeInventory(this); }, "$getStackInSlot", function(var_1) { return $java.nms_TileEntityHopper_getStackInSlot(this, var_1); }, "$decrStackSize", function(var_1, var_2) { return $java.nms_TileEntityHopper_decrStackSize(this,
var_1, var_2); }, "$setInventorySlotContents", function(var_1, var_2) { $java.nms_TileEntityHopper_setInventorySlotContents(this, var_1, var_2); }, "$getInventoryStackLimit", function() { return $java.nms_TileEntityHopper_getInventoryStackLimit(this); }, "$updateEntity0", function() { $java.nms_TileEntityHopper_updateEntity(this); }],
nms_TileEntityComparator, "TileEntityComparator", 79, nms_TileEntity, [], 0, 3, 0, ["$readFromNBT", function(var_1) { $java.nms_TileEntityComparator_readFromNBT(this, var_1); }],
nms_Enchantment, "Enchantment", 79, jl_Object, [], 1, 3, nms_Enchantment_$callClinit, ["$calcModifierLiving", function(var_1, var_2) { return $java.nms_Enchantment_calcModifierLiving(this, var_1, var_2); }, "$canApplyTogether", function(var_1) { return $java.nms_Enchantment_canApplyTogether(this, var_1); }, "$getName", function() { return $java.nms_Enchantment_getName(this); }, "$canApply", function(var_1) { return $java.nms_Enchantment_canApply(this, var_1); }],
nms_WatchableObject, "WatchableObject", 79, jl_Object, [], 0, 3, 0, 0,
jn_URL, "URL", 20, jl_Object, [ji_Serializable], 4, 3, 0, 0,
nms_ContainerCreative, "ContainerCreative", 79, nms_Container, [], 0, 0, 0, ["$retrySlotClick", function(var_1, var_2, var_3, var_4) { $java.nms_ContainerCreative_retrySlotClick(this, var_1, var_2, var_3, var_4); }, "$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerCreative_transferStackInSlot(this, var_1, var_2); }, "$func_94530_a", function(var_1, var_2) { return $java.nms_ContainerCreative_func_94530_a(this, var_1, var_2); }, "$func_94531_b", function(var_1) { return $java.nms_ContainerCreative_func_94531_b(this,
var_1); }],
nms_WorldInfo, "WorldInfo", 79, jl_Object, [], 0, 3, 0, 0,
nms_FoodStats, "FoodStats", 79, jl_Object, [], 0, 3, 0, 0,
ju_Formatter, "Formatter", 8, jl_Object, [ji_Closeable, ji_Flushable], 4, 3, 0, 0,
nms_Scoreboard, "Scoreboard", 79, jl_Object, [], 0, 3, 0, 0,
nms_ScoreObjective, "ScoreObjective", 79, jl_Object, [], 0, 3, 0, 0,
nms_Score, "Score", 79, jl_Object, [], 0, 3, 0, 0,
nms_Stitcher, "Stitcher", 79, jl_Object, [], 0, 3, 0, 0,
nms_StitchSlot, "StitchSlot", 79, jl_Object, [], 0, 3, 0, ["$toString", function() { return $java.nms_StitchSlot_toString(this); }],
nms_TextureClock, "TextureClock", 79, nms_TextureStitched, [], 0, 3, 0, ["$updateAnimation0", function() { $java.nms_TextureClock_updateAnimation(this); }],
nms_TextureCompass, "TextureCompass", 79, nms_TextureStitched, [], 0, 3, 0, ["$updateAnimation0", function() { nms_TextureCompass_updateAnimation(this); }],
nlea_EaglerAdapterImpl2$17, "EaglerAdapterImpl2$17", 83, jl_Object, [otjb_TimerHandler], 4, 0, 0, ["$onTimer$exported$0", function() { return $java.nlea_EaglerAdapterImpl2$17_onTimer$exported$0(this); }],
jn_URLConnection, "URLConnection", 20, jl_Object, [], 1, 3, 0, 0,
jn_HttpURLConnection, "HttpURLConnection", 20, jn_URLConnection, [], 1, 3, 0, 0,
jur_MatchResult, "MatchResult", 9, jl_Object, [], 3, 3, 0, 0,
jur_Matcher, "Matcher", 9, jl_Object, [jur_MatchResult], 4, 3, 0, 0,
nms_Slot, "Slot", 79, jl_Object, [], 0, 3, 0, ["$onCrafting", function(var_1, var_2) { $java.nms_Slot_onCrafting(this, var_1, var_2); }, "$onPickupFromSlot", function(var_1, var_2) { $java.nms_Slot_onPickupFromSlot(this, var_1, var_2); }, "$isItemValid", function(var_1) { return $java.nms_Slot_isItemValid(this, var_1); }, "$getStack", function() { return $java.nms_Slot_getStack(this); }, "$getHasStack", function() { return $java.nms_Slot_getHasStack(this); }, "$putStack", function(var_1) { $java.nms_Slot_putStack(this,
var_1); }, "$onSlotChanged", function() { $java.nms_Slot_onSlotChanged(this); }, "$getSlotStackLimit", function() { return $java.nms_Slot_getSlotStackLimit(this); }, "$getBackgroundIconIndex", function() { return $java.nms_Slot_getBackgroundIconIndex(this); }, "$decrStackSize0", function(var_1) { return $java.nms_Slot_decrStackSize(this, var_1); }, "$canTakeStack", function(var_1) { return $java.nms_Slot_canTakeStack(this, var_1); }],
nms_InventoryBasic, "InventoryBasic", 79, jl_Object, [nms_IInventory], 0, 3, 0, ["$getStackInSlot", function(var_1) { return $java.nms_InventoryBasic_getStackInSlot(this, var_1); }, "$decrStackSize", function(var_1, var_2) { return $java.nms_InventoryBasic_decrStackSize(this, var_1, var_2); }, "$setInventorySlotContents", function(var_1, var_2) { $java.nms_InventoryBasic_setInventorySlotContents(this, var_1, var_2); }, "$getInventoryStackLimit", function() { return $java.nms_InventoryBasic_getInventoryStackLimit(this);
}, "$onInventoryChanged", function() { $java.nms_InventoryBasic_onInventoryChanged(this); }],
nlea_EaglerAdapterImpl2$RenderbufferGL, "EaglerAdapterImpl2$RenderbufferGL", 83, jl_Object, [], 4, 3, 0, 0,
nms_ChunkPosition, "ChunkPosition", 79, jl_Object, [], 0, 3, 0, ["$equals", function(var_1) { return $java.nms_ChunkPosition_equals(this, var_1); }, "$hashCode0", function() { return $java.nms_ChunkPosition_hashCode(this); }],
jl_VirtualMachineError, "VirtualMachineError", 22, jl_Error, [], 0, 3, 0, 0,
jl_OutOfMemoryError, "OutOfMemoryError", 22, jl_VirtualMachineError, [], 0, 3, 0, 0,
nms_EnchantmentProtection, "EnchantmentProtection", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentProtection_getMaxLevel(this); }, "$getName", function() { return $java.nms_EnchantmentProtection_getName(this); }, "$canApplyTogether", function(var_1) { return $java.nms_EnchantmentProtection_canApplyTogether(this, var_1); }],
nms_EnchantmentOxygen, "EnchantmentOxygen", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentOxygen_getMaxLevel(this); }],
nms_EnchantmentWaterWorker, "EnchantmentWaterWorker", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentWaterWorker_getMaxLevel(this); }],
nms_EnchantmentThorns, "EnchantmentThorns", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentThorns_getMaxLevel(this); }, "$canApply", function(var_1) { return $java.nms_EnchantmentThorns_canApply(this, var_1); }],
nms_EnchantmentDamage, "EnchantmentDamage", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentDamage_getMaxLevel(this); }, "$calcModifierLiving", function(var_1, var_2) { return $java.nms_EnchantmentDamage_calcModifierLiving(this, var_1, var_2); }, "$getName", function() { return $java.nms_EnchantmentDamage_getName(this); }, "$canApplyTogether", function(var_1) { return $java.nms_EnchantmentDamage_canApplyTogether(this, var_1); }, "$canApply", function(var_1) { return $java.nms_EnchantmentDamage_canApply(this,
var_1); }],
nms_EnchantmentKnockback, "EnchantmentKnockback", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentKnockback_getMaxLevel(this); }],
nms_EnchantmentFireAspect, "EnchantmentFireAspect", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentFireAspect_getMaxLevel(this); }],
nms_EnchantmentLootBonus, "EnchantmentLootBonus", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentLootBonus_getMaxLevel(this); }, "$canApplyTogether", function(var_1) { return $java.nms_EnchantmentLootBonus_canApplyTogether(this, var_1); }],
nms_EnumEnchantmentType, "EnumEnchantmentType", 79, jl_Enum, [], 12, 3, 0, 0,
nms_EnchantmentDigging, "EnchantmentDigging", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentDigging_getMaxLevel(this); }, "$canApply", function(var_1) { return $java.nms_EnchantmentDigging_canApply(this, var_1); }],
nms_EnchantmentUntouching, "EnchantmentUntouching", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentUntouching_getMaxLevel(this); }, "$canApplyTogether", function(var_1) { return $java.nms_EnchantmentUntouching_canApplyTogether(this, var_1); }, "$canApply", function(var_1) { return $java.nms_EnchantmentUntouching_canApply(this, var_1); }],
nms_EnchantmentDurability, "EnchantmentDurability", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentDurability_getMaxLevel(this); }, "$canApply", function(var_1) { return $java.nms_EnchantmentDurability_canApply(this, var_1); }],
nms_EnchantmentArrowDamage, "EnchantmentArrowDamage", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentArrowDamage_getMaxLevel(this); }],
nms_EnchantmentArrowKnockback, "EnchantmentArrowKnockback", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentArrowKnockback_getMaxLevel(this); }]]);
$rt_metadata([nms_EnchantmentArrowFire, "EnchantmentArrowFire", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentArrowFire_getMaxLevel(this); }],
nms_EnchantmentArrowInfinite, "EnchantmentArrowInfinite", 79, nms_Enchantment, [], 0, 3, 0, ["$getMaxLevel", function() { return $java.nms_EnchantmentArrowInfinite_getMaxLevel(this); }],
jn_MalformedURLException, "MalformedURLException", 20, ji_IOException, [], 0, 3, 0, 0,
otjc_JSArray, "JSArray", 36, jl_Object, [otjc_JSArrayReader], 1, 3, 0, ["$get$exported$0", function(var_1) { return $java.otjc_JSArray_get$exported$0(this, var_1); }, "$getLength$exported$1", function() { return $java.otjc_JSArray_getLength$exported$1(this); }],
otjc_JSNumber, "JSNumber", 36, jl_Object, [otj_JSObject], 1, 3, 0, 0,
nms_ScoreComparator, "ScoreComparator", 79, jl_Object, [ju_Comparator], 4, 0, 0, ["$compare", function(var_1, var_2) { return $java.nms_ScoreComparator_compare(this, var_1, var_2); }],
jn_URLStreamHandler, "URLStreamHandler", 20, jl_Object, [], 1, 3, 0, 0,
jnc_CoderMalfunctionError, "CoderMalfunctionError", 15, jl_Error, [], 0, 3, 0, 0,
nms_Particle, "Particle", 79, jl_Object, [], 0, 3, $java.nms_Particle_$callClinit, 0,
ju_AbstractMap$KeySet$1, "AbstractMap$KeySet$1", 8, jl_Object, [ju_Iterator], 0, 0, 0, ["$hasNext", function() { return $java.ju_AbstractMap$KeySet$1_hasNext(this); }, "$next", function() { return $java.ju_AbstractMap$KeySet$1_next(this); }, "$remove2", function() { $java.ju_AbstractMap$KeySet$1_remove(this); }],
ju_LinkedHashMap$AbstractMapIterator, "LinkedHashMap$AbstractMapIterator", 8, jl_Object, [], 0, 0, 0, ["$hasNext", function() { return $java.ju_LinkedHashMap$AbstractMapIterator_hasNext(this); }, "$remove2", function() { $java.ju_LinkedHashMap$AbstractMapIterator_remove(this); }],
ju_LinkedHashMap$KeyIterator, "LinkedHashMap$KeyIterator", 8, ju_LinkedHashMap$AbstractMapIterator, [ju_Iterator], 0, 0, 0, ["$next", function() { return $java.ju_LinkedHashMap$KeyIterator_next(this); }],
jm_Conversion, "Conversion", 18, jl_Object, [], 0, 0, 0, 0,
nms_GuiButtonLanguage, "GuiButtonLanguage", 79, nms_GuiButton, [], 0, 3, 0, ["$drawButton", function(var_1, var_2, var_3) { $java.nms_GuiButtonLanguage_drawButton(this, var_1, var_2, var_3); }],
nms_ICrafting, "ICrafting", 79, jl_Object, [], 3, 3, 0, 0,
nms_CreativeCrafting, "CreativeCrafting", 79, jl_Object, [nms_ICrafting], 0, 3, 0, ["$sendContainerAndContentsToPlayer", function(var_1, var_2) { $java.nms_CreativeCrafting_sendContainerAndContentsToPlayer(this, var_1, var_2); }, "$sendSlotContents", function(var_1, var_2, var_3) { $java.nms_CreativeCrafting_sendSlotContents(this, var_1, var_2, var_3); }, "$sendProgressBarUpdate", function(var_1, var_2, var_3) { $java.nms_CreativeCrafting_sendProgressBarUpdate(this, var_1, var_2, var_3); }],
nms_GuiYesNo, "GuiYesNo", 79, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { $java.nms_GuiYesNo_initGui(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiYesNo_actionPerformed(this, var_1); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiYesNo_drawScreen(this, var_1, var_2, var_3); }],
nms_GuiConfirmOpenLink, "GuiConfirmOpenLink", 79, nms_GuiYesNo, [], 0, 3, 0, ["$initGui", function() { $java.nms_GuiConfirmOpenLink_initGui(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiConfirmOpenLink_actionPerformed(this, var_1); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiConfirmOpenLink_drawScreen(this, var_1, var_2, var_3); }],
otcit_DateTimeZoneBuilder, "DateTimeZoneBuilder", 55, jl_Object, [], 0, 3, 0, 0,
nms_TileEntityRenderer, "TileEntityRenderer", 79, jl_Object, [], 0, 3, nms_TileEntityRenderer_$callClinit, 0,
nms_RenderSorter, "RenderSorter", 79, jl_Object, [ju_Comparator], 0, 3, 0, ["$compare", function(var_1, var_2) { return $java.nms_RenderSorter_compare(this, var_1, var_2); }],
nms_IconFlipped, "IconFlipped", 79, jl_Object, [nms_Icon], 0, 3, 0, ["$getOriginX", function() { return $java.nms_IconFlipped_getOriginX(this); }, "$getOriginY", function() { return $java.nms_IconFlipped_getOriginY(this); }, "$getMinU", function() { return $java.nms_IconFlipped_getMinU(this); }, "$getMaxU", function() { return $java.nms_IconFlipped_getMaxU(this); }, "$getInterpolatedU", function(var_1) { return $java.nms_IconFlipped_getInterpolatedU(this, var_1); }, "$getMinV", function() { return $java.nms_IconFlipped_getMinV(this);
}, "$getMaxV", function() { return $java.nms_IconFlipped_getMaxV(this); }, "$getInterpolatedV", function(var_1) { return $java.nms_IconFlipped_getInterpolatedV(this, var_1); }, "$getIconName", function() { return $java.nms_IconFlipped_getIconName(this); }, "$getSheetWidth", function() { return $java.nms_IconFlipped_getSheetWidth(this); }, "$getSheetHeight", function() { return $java.nms_IconFlipped_getSheetHeight(this); }],
nms_MinecraftError, "MinecraftError", 79, jl_Error, [], 0, 3, 0, 0,
nms_WorldSavedData, "WorldSavedData", 79, jl_Object, [], 1, 3, 0, 0,
nms_MapData, "MapData", 79, nms_WorldSavedData, [], 0, 3, 0, 0,
nms_EnumAction, "EnumAction", 79, jl_Enum, [], 12, 3, 0, 0,
nms_EntitySelectorAlive, "EntitySelectorAlive", 79, jl_Object, [nms_IEntitySelector], 4, 0, 0, 0,
nms_EntitySelectorInventory, "EntitySelectorInventory", 79, jl_Object, [nms_IEntitySelector], 4, 0, 0, ["$isEntityApplicable", function(var_1) { return $java.nms_EntitySelectorInventory_isEntityApplicable(this, var_1); }],
nms_GuiRepair, "GuiRepair", 79, nms_GuiContainer, [nms_ICrafting], 0, 3, 0, ["$initGui", function() { $java.nms_GuiRepair_initGui(this); }, "$onGuiClosed", function() { $java.nms_GuiRepair_onGuiClosed(this); }, "$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiRepair_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$keyTyped", function(var_1, var_2) { $java.nms_GuiRepair_keyTyped(this, var_1, var_2); }, "$mouseClicked", function(var_1, var_2, var_3) { $java.nms_GuiRepair_mouseClicked(this,
var_1, var_2, var_3); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiRepair_drawScreen(this, var_1, var_2, var_3); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiRepair_drawGuiContainerBackgroundLayer(this, var_1, var_2, var_3); }, "$sendContainerAndContentsToPlayer", function(var_1, var_2) { $java.nms_GuiRepair_sendContainerAndContentsToPlayer(this, var_1, var_2); }, "$sendSlotContents", function(var_1, var_2, var_3) { $java.nms_GuiRepair_sendSlotContents(this,
var_1, var_2, var_3); }, "$sendProgressBarUpdate", function(var_1, var_2, var_3) { $java.nms_GuiRepair_sendProgressBarUpdate(this, var_1, var_2, var_3); }],
nms_EnumRarity, "EnumRarity", 79, jl_Enum, [], 12, 3, 0, 0,
jni_XHRStreamHandler, "XHRStreamHandler", 21, jn_URLStreamHandler, [], 0, 3, 0, ["$openConnection0", function(var_1) { return $java.jni_XHRStreamHandler_openConnection(this, var_1); }],
jni_DummyStreamHandler, "DummyStreamHandler", 21, jn_URLStreamHandler, [], 0, 3, 0, ["$openConnection0", function(var_1) { return $java.jni_DummyStreamHandler_openConnection(this, var_1); }],
nms_ChatClickData, "ChatClickData", 79, jl_Object, [], 0, 3, 0, 0,
nms_ChatLine, "ChatLine", 79, jl_Object, [], 0, 3, 0, 0,
jl_AbstractStringBuilder$Constants, "AbstractStringBuilder$Constants", 22, jl_Object, [], 0, 0, 0, 0,
otcit_DoubleAnalyzer, "DoubleAnalyzer", 58, jl_Object, [], 4, 3, 0, 0,
otcit_DoubleAnalyzer$Result, "DoubleAnalyzer$Result", 58, jl_Object, [], 0, 3, 0, 0,
jur_MatchResultImpl, "MatchResultImpl", 9, jl_Object, [jur_MatchResult], 0, 0, 0, 0,
ji_Writer, "Writer", 17, jl_Object, [jl_Appendable, ji_Closeable, ji_Flushable], 1, 3, 0, 0,
ji_StringWriter, "StringWriter", 17, ji_Writer, [], 0, 3, 0, 0,
ji_PrintWriter, "PrintWriter", 17, ji_Writer, [], 0, 3, 0, 0,
ji_StringReader, "StringReader", 17, ji_Reader, [], 0, 3, 0, ["$read2", function() { return $java.ji_StringReader_read(this); }, "$read5", function(var_1, var_2, var_3) { return $java.ji_StringReader_read0(this, var_1, var_2, var_3); }, "$close", function() { $java.ji_StringReader_close(this); }],
nlea_EaglerAdapterImpl2$QueryGL, "EaglerAdapterImpl2$QueryGL", 83, jl_Object, [], 4, 3, 0, 0,
maa_File, "File", 68, jl_Object, [], 0, 3, 0, 0,
nms_Rect2i, "Rect2i", 79, jl_Object, [], 0, 3, 0, 0,
nms_TileEntitySpecialRenderer, "TileEntitySpecialRenderer", 79, jl_Object, [], 1, 3, 0, ["$setTileEntityRenderer", function(var_1) { $java.nms_TileEntitySpecialRenderer_setTileEntityRenderer(this, var_1); }, "$onWorldChange", function(var_1) { $java.nms_TileEntitySpecialRenderer_onWorldChange(this, var_1); }],
nms_TileEntitySignRenderer, "TileEntitySignRenderer", 79, nms_TileEntitySpecialRenderer, [], 0, 3, 0, ["$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_TileEntitySignRenderer_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }],
nms_TileEntityRendererPiston, "TileEntityRendererPiston", 79, nms_TileEntitySpecialRenderer, [], 0, 3, 0, ["$onWorldChange", function(var_1) { $java.nms_TileEntityRendererPiston_onWorldChange(this, var_1); }, "$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_TileEntityRendererPiston_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }],
nms_TileEntityChestRenderer, "TileEntityChestRenderer", 79, nms_TileEntitySpecialRenderer, [], 0, 3, 0, ["$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_TileEntityChestRenderer_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }],
nms_TileEntityEnderChestRenderer, "TileEntityEnderChestRenderer", 79, nms_TileEntitySpecialRenderer, [], 0, 3, 0, ["$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_TileEntityEnderChestRenderer_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }]]);
$rt_metadata([nms_RenderEnchantmentTable, "RenderEnchantmentTable", 79, nms_TileEntitySpecialRenderer, [], 0, 3, 0, ["$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_RenderEnchantmentTable_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }],
nms_RenderEndPortal, "RenderEndPortal", 79, nms_TileEntitySpecialRenderer, [], 0, 3, 0, ["$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_RenderEndPortal_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }],
nms_TileEntityBeaconRenderer, "TileEntityBeaconRenderer", 79, nms_TileEntitySpecialRenderer, [], 0, 3, 0, ["$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_TileEntityBeaconRenderer_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }],
nms_TileEntitySkullRenderer, "TileEntitySkullRenderer", 79, nms_TileEntitySpecialRenderer, [], 0, 3, 0, ["$setTileEntityRenderer", function(var_1) { $java.nms_TileEntitySkullRenderer_setTileEntityRenderer(this, var_1); }, "$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_TileEntitySkullRenderer_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }],
nms_TileEntityMobSpawnerRenderer, "TileEntityMobSpawnerRenderer", 79, nms_TileEntitySpecialRenderer, [], 0, 3, 0, ["$renderTileEntityAt", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_TileEntityMobSpawnerRenderer_renderTileEntityAt(this, var_1, var_2, var_3, var_4, var_5); }],
otcit_FloatAnalyzer$Result, "FloatAnalyzer$Result", 58, jl_Object, [], 0, 3, 0, 0,
nms_ModelSign, "ModelSign", 79, nms_ModelBase, [], 0, 3, 0, 0,
nms_ModelChest, "ModelChest", 79, nms_ModelBase, [], 0, 3, 0, 0,
nms_ModelLargeChest, "ModelLargeChest", 79, nms_ModelChest, [], 0, 3, 0, 0,
nms_ModelBook, "ModelBook", 79, nms_ModelBase, [], 0, 3, 0, 0,
jni_XHRURLConnection, "XHRURLConnection", 21, jn_HttpURLConnection, [], 0, 3, 0, 0,
jnci_BufferedEncoder$Controller, "BufferedEncoder$Controller", 16, jl_Object, [], 0, 3, 0, 0,
jnc_BufferUnderflowException, "BufferUnderflowException", 15, jl_RuntimeException, [], 0, 3, 0, 0,
jnc_BufferOverflowException, "BufferOverflowException", 15, jl_RuntimeException, [], 0, 3, 0, 0,
jnc_MalformedInputException, "MalformedInputException", 15, jnc_CharacterCodingException, [], 0, 3, 0, ["$getMessage", function() { return $java.jnc_MalformedInputException_getMessage(this); }],
jnc_UnmappableCharacterException, "UnmappableCharacterException", 15, jnc_CharacterCodingException, [], 0, 3, 0, ["$getMessage", function() { return $java.jnc_UnmappableCharacterException_getMessage(this); }],
ju_TreeMap$EntrySet, "TreeMap$EntrySet", 8, ju_AbstractSet, [], 0, 0, 0, 0,
nms_SlotCreativeInventory, "SlotCreativeInventory", 79, nms_Slot, [], 0, 3, 0, ["$onPickupFromSlot", function(var_1, var_2) { $java.nms_SlotCreativeInventory_onPickupFromSlot(this, var_1, var_2); }, "$isItemValid", function(var_1) { return $java.nms_SlotCreativeInventory_isItemValid(this, var_1); }, "$getStack", function() { return $java.nms_SlotCreativeInventory_getStack(this); }, "$getHasStack", function() { return $java.nms_SlotCreativeInventory_getHasStack(this); }, "$putStack", function(var_1) { $java.nms_SlotCreativeInventory_putStack(this,
var_1); }, "$onSlotChanged", function() { $java.nms_SlotCreativeInventory_onSlotChanged(this); }, "$getSlotStackLimit", function() { return $java.nms_SlotCreativeInventory_getSlotStackLimit(this); }, "$getBackgroundIconIndex", function() { return $java.nms_SlotCreativeInventory_getBackgroundIconIndex(this); }, "$decrStackSize0", function(var_1) { return $java.nms_SlotCreativeInventory_decrStackSize(this, var_1); }],
maat_TMICompatibility, "TMICompatibility", 69, jl_Object, [], 0, 3, 0, 0,
nms_GuiOptions, "GuiOptions", 79, nms_GuiScreen, [], 0, 3, $java.nms_GuiOptions_$callClinit, ["$initGui", function() { $java.nms_GuiOptions_initGui(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiOptions_actionPerformed(this, var_1); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiOptions_drawScreen(this, var_1, var_2, var_3); }],
nms_GuiLanguage, "GuiLanguage", 79, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { $java.nms_GuiLanguage_initGui(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiLanguage_actionPerformed(this, var_1); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiLanguage_drawScreen(this, var_1, var_2, var_3); }, "$updateScreen", function() { $java.nms_GuiLanguage_updateScreen(this); }],
nle_GuiScreenLicenseDeclined, "GuiScreenLicenseDeclined", 82, nms_GuiScreen, [], 0, 3, 0, ["$drawScreen", function(var_1, var_2, var_3) { $java.nle_GuiScreenLicenseDeclined_drawScreen(this, var_1, var_2, var_3); }],
maa_GuiScreenModules, "GuiScreenModules", 68, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { $java.maa_GuiScreenModules_initGui(this); }, "$onGuiClosed", function() { $java.maa_GuiScreenModules_onGuiClosed(this); }, "$drawScreen", function(var_1, var_2, var_3) { $java.maa_GuiScreenModules_drawScreen(this, var_1, var_2, var_3); }, "$actionPerformed", function(var_1) { $java.maa_GuiScreenModules_actionPerformed(this, var_1); }, "$updateScreen", function() { $java.maa_GuiScreenModules_updateScreen(this);
}, "$keyTyped", function(var_1, var_2) { $java.maa_GuiScreenModules_keyTyped(this, var_1, var_2); }, "$mouseClicked", function(var_1, var_2, var_3) { $java.maa_GuiScreenModules_mouseClicked(this, var_1, var_2, var_3); }],
jl_StrictMath, "StrictMath", 22, jl_Object, [], 4, 3, 0, 0,
nms_Chunk, "Chunk", 79, jl_Object, [], 0, 3, 0, ["$generateHeightMap", function() { $java.nms_Chunk_generateHeightMap(this); }, "$generateSkylightMap", function() { $java.nms_Chunk_generateSkylightMap(this); }, "$getBlockLightOpacity", function(var_1, var_2, var_3) { return $java.nms_Chunk_getBlockLightOpacity(this, var_1, var_2, var_3); }, "$getBlockID", function(var_1, var_2, var_3) { return $java.nms_Chunk_getBlockID(this, var_1, var_2, var_3); }, "$getBlockMetadata", function(var_1, var_2, var_3) { return $java.nms_Chunk_getBlockMetadata(this,
var_1, var_2, var_3); }, "$setBlockIDWithMetadata", function(var_1, var_2, var_3, var_4, var_5) { return $java.nms_Chunk_setBlockIDWithMetadata(this, var_1, var_2, var_3, var_4, var_5); }, "$setBlockMetadata", function(var_1, var_2, var_3, var_4) { return $java.nms_Chunk_setBlockMetadata(this, var_1, var_2, var_3, var_4); }, "$getSavedLightValue", function(var_1, var_2, var_3, var_4) { return $java.nms_Chunk_getSavedLightValue(this, var_1, var_2, var_3, var_4); }, "$setLightValue", function(var_1, var_2, var_3,
var_4, var_5) { $java.nms_Chunk_setLightValue(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockLightValue", function(var_1, var_2, var_3, var_4) { return $java.nms_Chunk_getBlockLightValue(this, var_1, var_2, var_3, var_4); }, "$addEntity", function(var_1) { $java.nms_Chunk_addEntity(this, var_1); }, "$removeEntity", function(var_1) { $java.nms_Chunk_removeEntity(this, var_1); }, "$removeEntityAtIndex", function(var_1, var_2) { $java.nms_Chunk_removeEntityAtIndex(this, var_1, var_2); }, "$canBlockSeeTheSky",
function(var_1, var_2, var_3) { return $java.nms_Chunk_canBlockSeeTheSky(this, var_1, var_2, var_3); }, "$getChunkBlockTileEntity", function(var_1, var_2, var_3) { return $java.nms_Chunk_getChunkBlockTileEntity(this, var_1, var_2, var_3); }, "$setChunkBlockTileEntity", function(var_1, var_2, var_3, var_4) { $java.nms_Chunk_setChunkBlockTileEntity(this, var_1, var_2, var_3, var_4); }, "$removeChunkBlockTileEntity", function(var_1, var_2, var_3) { $java.nms_Chunk_removeChunkBlockTileEntity(this, var_1, var_2,
var_3); }, "$onChunkUnload", function() { $java.nms_Chunk_onChunkUnload(this); }, "$setChunkModified", function() { $java.nms_Chunk_setChunkModified(this); }, "$getEntitiesWithinAABBForEntity", function(var_1, var_2, var_3, var_4) { $java.nms_Chunk_getEntitiesWithinAABBForEntity(this, var_1, var_2, var_3, var_4); }, "$getEntitiesOfTypeWithinAAAB", function(var_1, var_2, var_3, var_4) { $java.nms_Chunk_getEntitiesOfTypeWithinAAAB(this, var_1, var_2, var_3, var_4); }, "$isEmpty", function() { return $java.nms_Chunk_isEmpty(this);
}, "$getAreLevelsEmpty", function(var_1, var_2) { return $java.nms_Chunk_getAreLevelsEmpty(this, var_1, var_2); }],
nms_ChunkCache, "ChunkCache", 79, jl_Object, [nms_IBlockAccess], 0, 3, 0, ["$getBlockId", function(var_1, var_2, var_3) { return $java.nms_ChunkCache_getBlockId(this, var_1, var_2, var_3); }, "$getBlockTileEntity", function(var_1, var_2, var_3) { return $java.nms_ChunkCache_getBlockTileEntity(this, var_1, var_2, var_3); }, "$getBrightness0", function(var_1, var_2, var_3, var_4) { return $java.nms_ChunkCache_getBrightness(this, var_1, var_2, var_3, var_4); }, "$getLightBrightnessForSkyBlocks", function(var_1,
var_2, var_3, var_4) { return $java.nms_ChunkCache_getLightBrightnessForSkyBlocks(this, var_1, var_2, var_3, var_4); }, "$getLightBrightness", function(var_1, var_2, var_3) { return $java.nms_ChunkCache_getLightBrightness(this, var_1, var_2, var_3); }, "$getBlockMetadata", function(var_1, var_2, var_3) { return $java.nms_ChunkCache_getBlockMetadata(this, var_1, var_2, var_3); }, "$getBlockMaterial", function(var_1, var_2, var_3) { return $java.nms_ChunkCache_getBlockMaterial(this, var_1, var_2, var_3); }, "$getBiomeGenForCoords",
function(var_1, var_2) { return $java.nms_ChunkCache_getBiomeGenForCoords(this, var_1, var_2); }, "$isBlockOpaqueCube", function(var_1, var_2, var_3) { return $java.nms_ChunkCache_isBlockOpaqueCube(this, var_1, var_2, var_3); }, "$isBlockNormalCube", function(var_1, var_2, var_3) { return $java.nms_ChunkCache_isBlockNormalCube(this, var_1, var_2, var_3); }, "$doesBlockHaveSolidTopSurface", function(var_1, var_2, var_3) { return $java.nms_ChunkCache_doesBlockHaveSolidTopSurface(this, var_1, var_2, var_3); },
"$getWorldVec3Pool", function() { return $java.nms_ChunkCache_getWorldVec3Pool(this); }, "$isAirBlock", function(var_1, var_2, var_3) { return $java.nms_ChunkCache_isAirBlock(this, var_1, var_2, var_3); }, "$getHeight", function() { return $java.nms_ChunkCache_getHeight(this); }, "$isBlockProvidingPowerTo", function(var_1, var_2, var_3, var_4) { return $java.nms_ChunkCache_isBlockProvidingPowerTo(this, var_1, var_2, var_3, var_4); }],
nms_ChestItemRenderHelper, "ChestItemRenderHelper", 79, jl_Object, [], 0, 3, 0, 0,
ju_LinkedHashMap$2, "LinkedHashMap$2", 8, ju_AbstractCollection, [], 0, 0, 0, ["$size0", function() { return $java.ju_LinkedHashMap$2_size(this); }, "$iterator", function() { return $java.ju_LinkedHashMap$2_iterator(this); }],
nms_MapCoord, "MapCoord", 79, jl_Object, [], 0, 3, 0, 0,
ju_Formatter$FormatWriter, "Formatter$FormatWriter", 8, jl_Object, [], 0, 0, 0, 0,
nms_EnchantmentData, "EnchantmentData", 79, jl_Object, [], 0, 3, 0, 0,
ju_IllegalFormatException, "IllegalFormatException", 8, jl_IllegalArgumentException, [], 0, 3, 0, 0,
ju_Objects, "Objects", 8, jl_Object, [], 4, 3, 0, 0,
jl_NoSuchMethodException, "NoSuchMethodException", 22, jl_ReflectiveOperationException, [], 0, 3, 0, 0,
jlr_InvocationTargetException, "InvocationTargetException", 24, jl_ReflectiveOperationException, [], 0, 3, 0, 0,
jl_IllegalAccessException, "IllegalAccessException", 22, jl_ReflectiveOperationException, [], 0, 3, 0, 0,
ju_FormatterClosedException, "FormatterClosedException", 8, jl_IllegalStateException, [], 0, 3, 0, 0,
otcit_FloatAnalyzer, "FloatAnalyzer", 58, jl_Object, [], 4, 3, 0, 0,
nlea_EaglerAdapterImpl2$StupidFunctionResolveString, "EaglerAdapterImpl2$StupidFunctionResolveString", 83, jl_Object, [otj_JSObject], 3, 0, 0, 0,
nlea_EaglerAdapterImpl2$25, "EaglerAdapterImpl2$25", 83, jl_Object, [nlea_EaglerAdapterImpl2$StupidFunctionResolveString], 4, 0, 0, ["$resolveStr$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$25_resolveStr$exported$0(this, var_1); }],
jlr_AccessibleObject, "AccessibleObject", 24, jl_Object, [jlr_AnnotatedElement], 0, 3, 0, 0,
jlr_Member, "Member", 24, jl_Object, [], 3, 3, 0, 0,
jlr_Method, "Method", 24, jlr_AccessibleObject, [jlr_Member], 0, 3, 0, ["$toString", function() { return $java.jlr_Method_toString(this); }],
nms_EnumGameType, "EnumGameType", 79, jl_Enum, [], 12, 3, 0, 0,
ju_LinkedHashMap$ValueIterator, "LinkedHashMap$ValueIterator", 8, ju_LinkedHashMap$AbstractMapIterator, [ju_Iterator], 0, 0, 0, ["$next", function() { return $java.ju_LinkedHashMap$ValueIterator_next(this); }],
jnci_BufferedDecoder$Controller, "BufferedDecoder$Controller", 16, jl_Object, [], 0, 3, 0, 0,
nms_ContainerPlayer, "ContainerPlayer", 79, nms_Container, [], 0, 3, 0, ["$onCraftMatrixChanged", function(var_1) { $java.nms_ContainerPlayer_onCraftMatrixChanged(this, var_1); }, "$onCraftGuiClosed", function(var_1) { nms_ContainerPlayer_onCraftGuiClosed(this, var_1); }, "$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerPlayer_transferStackInSlot(this, var_1, var_2); }, "$func_94530_a", function(var_1, var_2) { return $java.nms_ContainerPlayer_func_94530_a(this, var_1, var_2); }],
nms_ContainerWorkbench, "ContainerWorkbench", 79, nms_Container, [], 0, 3, 0, ["$onCraftMatrixChanged", function(var_1) { $java.nms_ContainerWorkbench_onCraftMatrixChanged(this, var_1); }, "$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerWorkbench_transferStackInSlot(this, var_1, var_2); }, "$func_94530_a", function(var_1, var_2) { return $java.nms_ContainerWorkbench_func_94530_a(this, var_1, var_2); }],
nms_GuiDisconnected, "GuiDisconnected", 79, nms_GuiScreen, [], 0, 3, 0, ["$keyTyped", function(var_1, var_2) { $java.nms_GuiDisconnected_keyTyped(this, var_1, var_2); }, "$initGui", function() { $java.nms_GuiDisconnected_initGui(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiDisconnected_actionPerformed(this, var_1); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiDisconnected_drawScreen(this, var_1, var_2, var_3); }],
nms_GuiSmallButton, "GuiSmallButton", 79, nms_GuiButton, [], 0, 3, 0, 0]);
$rt_metadata([nms_GuiSlider, "GuiSlider", 79, nms_GuiButton, [], 0, 3, 0, ["$getHoverState", function(var_1) { return $java.nms_GuiSlider_getHoverState(this, var_1); }, "$mouseDragged", function(var_1, var_2, var_3) { $java.nms_GuiSlider_mouseDragged(this, var_1, var_2, var_3); }, "$mousePressed", function(var_1, var_2, var_3) { return $java.nms_GuiSlider_mousePressed(this, var_1, var_2, var_3); }, "$mouseReleased", function(var_1, var_2) { $java.nms_GuiSlider_mouseReleased(this, var_1, var_2); }],
nms_GuiVideoSettings, "GuiVideoSettings", 79, nms_GuiScreen, [], 0, 3, $java.nms_GuiVideoSettings_$callClinit, ["$initGui", function() { $java.nms_GuiVideoSettings_initGui(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiVideoSettings_actionPerformed(this, var_1); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiVideoSettings_drawScreen(this, var_1, var_2, var_3); }],
nms_GuiControls, "GuiControls", 79, nms_GuiScreen, [], 0, 3, 0, ["$initGui", function() { $java.nms_GuiControls_initGui(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiControls_actionPerformed(this, var_1); }, "$mouseClicked", function(var_1, var_2, var_3) { $java.nms_GuiControls_mouseClicked(this, var_1, var_2, var_3); }, "$keyTyped", function(var_1, var_2) { $java.nms_GuiControls_keyTyped(this, var_1, var_2); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiControls_drawScreen(this,
var_1, var_2, var_3); }],
nms_GuiScreenChatOptions, "GuiScreenChatOptions", 79, nms_GuiScreen, [], 0, 3, $java.nms_GuiScreenChatOptions_$callClinit, ["$initGui", function() { $java.nms_GuiScreenChatOptions_initGui(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiScreenChatOptions_actionPerformed(this, var_1); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiScreenChatOptions_drawScreen(this, var_1, var_2, var_3); }],
nms_GuiSlot, "GuiSlot", 79, jl_Object, [], 1, 3, 0, 0,
nms_GuiSlotLanguage, "GuiSlotLanguage", 79, nms_GuiSlot, [], 0, 0, 0, ["$getSize", function() { return $java.nms_GuiSlotLanguage_getSize(this); }, "$elementClicked", function(var_1, var_2) { $java.nms_GuiSlotLanguage_elementClicked(this, var_1, var_2); }, "$isSelected", function(var_1) { return $java.nms_GuiSlotLanguage_isSelected(this, var_1); }, "$getContentHeight", function() { return $java.nms_GuiSlotLanguage_getContentHeight(this); }, "$drawBackground0", function() { $java.nms_GuiSlotLanguage_drawBackground(this);
}, "$drawSlot", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_GuiSlotLanguage_drawSlot(this, var_1, var_2, var_3, var_4, var_5); }],
nms_GuiSlotServer, "GuiSlotServer", 79, nms_GuiSlot, [], 0, 0, 0, ["$getSize", function() { return nms_GuiSlotServer_getSize(this); }, "$elementClicked", function(var_1, var_2) { $java.nms_GuiSlotServer_elementClicked(this, var_1, var_2); }, "$isSelected", function(var_1) { return $java.nms_GuiSlotServer_isSelected(this, var_1); }, "$getContentHeight", function() { return $java.nms_GuiSlotServer_getContentHeight(this); }, "$drawBackground0", function() { $java.nms_GuiSlotServer_drawBackground(this); }, "$drawSlot",
function(var_1, var_2, var_3, var_4, var_5) { $java.nms_GuiSlotServer_drawSlot(this, var_1, var_2, var_3, var_4, var_5); }],
nms_GuiScreenServerList, "GuiScreenServerList", 79, nms_GuiScreen, [], 0, 3, 0, ["$updateScreen", function() { $java.nms_GuiScreenServerList_updateScreen(this); }, "$initGui", function() { $java.nms_GuiScreenServerList_initGui(this); }, "$onGuiClosed", function() { $java.nms_GuiScreenServerList_onGuiClosed(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiScreenServerList_actionPerformed(this, var_1); }, "$keyTyped", function(var_1, var_2) { $java.nms_GuiScreenServerList_keyTyped(this, var_1, var_2);
}, "$mouseClicked", function(var_1, var_2, var_3) { $java.nms_GuiScreenServerList_mouseClicked(this, var_1, var_2, var_3); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiScreenServerList_drawScreen(this, var_1, var_2, var_3); }],
nms_GuiScreenAddServer, "GuiScreenAddServer", 79, nms_GuiScreen, [], 0, 3, 0, ["$updateScreen", function() { $java.nms_GuiScreenAddServer_updateScreen(this); }, "$initGui", function() { $java.nms_GuiScreenAddServer_initGui(this); }, "$onGuiClosed", function() { $java.nms_GuiScreenAddServer_onGuiClosed(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiScreenAddServer_actionPerformed(this, var_1); }, "$keyTyped", function(var_1, var_2) { $java.nms_GuiScreenAddServer_keyTyped(this, var_1, var_2); },
"$mouseClicked", function(var_1, var_2, var_3) { $java.nms_GuiScreenAddServer_mouseClicked(this, var_1, var_2, var_3); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiScreenAddServer_drawScreen(this, var_1, var_2, var_3); }],
nms_GuiSlider2, "GuiSlider2", 79, nms_GuiButton, [], 0, 3, 0, ["$getHoverState", function(var_1) { return $java.nms_GuiSlider2_getHoverState(this, var_1); }, "$mouseDragged", function(var_1, var_2, var_3) { $java.nms_GuiSlider2_mouseDragged(this, var_1, var_2, var_3); }, "$mousePressed", function(var_1, var_2, var_3) { return $java.nms_GuiSlider2_mousePressed(this, var_1, var_2, var_3); }, "$mouseReleased", function(var_1, var_2) { $java.nms_GuiSlider2_mouseReleased(this, var_1, var_2); }],
maa_MidiConverter, "MidiConverter", 68, jl_Object, [], 0, 3, 0, 0,
maa_GuiScreenModules$1, "GuiScreenModules$1", 68, jl_Object, [jl_Runnable], 0, 0, 0, 0,
nms_DamageSource, "DamageSource", 79, jl_Object, [], 0, 3, 0, ["$getSourceOfDamage", function() { return $java.nms_DamageSource_getSourceOfDamage(this); }, "$getEntity", function() { return $java.nms_DamageSource_getEntity(this); }],
ju_TreeMap$EntryIterator, "TreeMap$EntryIterator", 8, jl_Object, [ju_Iterator], 0, 0, 0, 0,
nms_MapStorage, "MapStorage", 79, jl_Object, [], 0, 3, 0, 0,
nms_INetworkManager, "INetworkManager", 79, jl_Object, [], 3, 3, 0, 0,
nle_WebsocketNetworkManager, "WebsocketNetworkManager", 82, jl_Object, [nms_INetworkManager], 0, 3, 0, 0,
nlea_EaglerAdapterImpl2$RateLimit, "EaglerAdapterImpl2$RateLimit", 83, jl_Enum, [], 12, 3, 0, 0,
maan_Song, "Song", 73, jl_Object, [], 0, 3, 0, 0,
ju_UnknownFormatConversionException, "UnknownFormatConversionException", 8, ju_IllegalFormatException, [], 0, 3, 0, 0,
maat__tmi_MgZOrder, "_tmi_MgZOrder", 69, jl_Object, [ju_Comparator], 0, 3, 0, ["$compare", function(var_1, var_2) { return $java.maat__tmi_MgZOrder_compare0(this, var_1, var_2); }],
nms_EnchantmentHelper, "EnchantmentHelper", 79, jl_Object, [], 0, 3, nms_EnchantmentHelper_$callClinit, 0,
jur_Matcher$1, "Matcher$1", 9, jl_Object, [], 0, 0, 0, ["$toString", function() { return $java.jur_Matcher$1_toString(this); }],
jlr_Modifier, "Modifier", 24, jl_Object, [], 0, 3, 0, 0,
jni_XHRURLConnection$performRequest$lambda$_5_0, "XHRURLConnection$performRequest$lambda$_5_0", 21, jl_Object, [otja_ReadyStateChangeHandler], 0, 3, 0, ["$stateChanged$exported$0", function() { return $java.jni_XHRURLConnection$performRequest$lambda$_5_0_stateChanged$exported$0(this); }],
otjt_Int8Array, "Int8Array", 48, otjt_ArrayBufferView, [], 1, 3, 0, 0,
jsm_MidiSystem, "MidiSystem", 27, jl_Object, [], 0, 3, 0, 0,
maa_MidiConverter$1, "MidiConverter$1", 68, jl_Object, [ju_Comparator], 4, 0, 0, ["$compare", function(var_1, var_2) { return $java.maa_MidiConverter$1_compare0(this, var_1, var_2); }],
jsm_MidiMessage, "MidiMessage", 27, jl_Object, [jl_Cloneable], 1, 3, 0, ["$getMessage1", function() { return $java.jsm_MidiMessage_getMessage(this); }, "$getStatus", function() { return $java.jsm_MidiMessage_getStatus(this); }, "$getLength", function() { return $java.jsm_MidiMessage_getLength(this); }],
jsm_MetaMessage, "MetaMessage", 27, jsm_MidiMessage, [], 0, 3, 0, 0,
jsm_ShortMessage, "ShortMessage", 27, jsm_MidiMessage, [], 0, 3, 0, 0,
maan_Layer, "Layer", 73, jl_Object, [], 0, 3, 0, 0,
maan_Note, "Note", 73, jl_Object, [], 0, 3, 0, 0,
maan_Instrument, "Instrument", 73, jl_Enum, [], 12, 3, 0, 0,
ju_DuplicateFormatFlagsException, "DuplicateFormatFlagsException", 8, ju_IllegalFormatException, [], 0, 3, 0, 0,
ju_IllegalFormatPrecisionException, "IllegalFormatPrecisionException", 8, ju_IllegalFormatException, [], 0, 3, 0, 0,
ju_IllegalFormatCodePointException, "IllegalFormatCodePointException", 8, ju_IllegalFormatException, [], 0, 3, 0, 0,
ju_IllegalFormatConversionException, "IllegalFormatConversionException", 8, ju_IllegalFormatException, [], 0, 3, 0, 0,
ju_Formattable, "Formattable", 8, jl_Object, [], 3, 3, 0, 0,
jsm_InvalidMidiDataException, "InvalidMidiDataException", 27, jl_Exception, [], 0, 3, 0, 0,
jsm_Sequence, "Sequence", 27, jl_Object, [], 0, 3, 0, 0,
jsm_Track, "Track", 27, jl_Object, [], 0, 3, 0, 0,
jsm_MidiEvent, "MidiEvent", 27, jl_Object, [], 0, 3, 0, 0,
ju_FormatFlagsConversionMismatchException, "FormatFlagsConversionMismatchException", 8, ju_IllegalFormatException, [], 0, 3, 0, 0,
ju_IllegalFormatFlagsException, "IllegalFormatFlagsException", 8, ju_IllegalFormatException, [], 0, 3, 0, 0,
ju_MissingFormatWidthException, "MissingFormatWidthException", 8, ju_IllegalFormatException, [], 0, 3, 0, 0,
nms_IEnchantmentModifier, "IEnchantmentModifier", 79, jl_Object, [], 3, 0, 0, 0,
nms_EnchantmentModifierDamage, "EnchantmentModifierDamage", 79, jl_Object, [nms_IEnchantmentModifier], 4, 0, 0, 0,
nms_EnchantmentModifierLiving, "EnchantmentModifierLiving", 79, jl_Object, [nms_IEnchantmentModifier], 4, 0, 0, 0,
nlea_EaglerAdapterImpl2$18, "EaglerAdapterImpl2$18", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$18_handleEvent$exported$0(this, var_1); }]]);
$rt_metadata([nlea_EaglerAdapterImpl2$19, "EaglerAdapterImpl2$19", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$19_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$20, "EaglerAdapterImpl2$20", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$20_handleEvent$exported$0(this, var_1); }],
otjw_WebSocket, "WebSocket", 45, jl_Object, [otj_JSObject], 1, 3, 0, 0,
jsms_MidiFileReader, "MidiFileReader", 28, jl_Object, [], 1, 3, 0, 0,
csms_JDK13Services, "JDK13Services", 5, jl_Object, [], 4, 3, 0, 0,
jsss_MixerProvider, "MixerProvider", 30, jl_Object, [], 1, 3, 0, 0,
csms_JSSecurityManager, "JSSecurityManager", 5, jl_Object, [], 4, 0, 0, 0,
jsss_FormatConversionProvider, "FormatConversionProvider", 30, jl_Object, [], 1, 3, 0, 0,
jsss_AudioFileReader, "AudioFileReader", 30, jl_Object, [], 1, 3, 0, 0,
jsss_AudioFileWriter, "AudioFileWriter", 30, jl_Object, [], 1, 3, 0, 0,
jsms_MidiDeviceProvider, "MidiDeviceProvider", 28, jl_Object, [], 1, 3, 0, 0,
jsms_SoundbankReader, "SoundbankReader", 28, jl_Object, [], 1, 3, 0, 0,
jsms_MidiFileWriter, "MidiFileWriter", 28, jl_Object, [], 1, 3, 0, 0,
js_PrivilegedAction, "PrivilegedAction", 7, jl_Object, [], 3, 3, 0, 0,
csms_JSSecurityManager$2, "JSSecurityManager$2", 5, jl_Object, [js_PrivilegedAction], 4, 0, 0, ["$run1", function() { return $java.csms_JSSecurityManager$2_run0(this); }],
js_AccessController, "AccessController", 7, jl_Object, [], 4, 3, 0, 0,
csms_JSSecurityManager$3, "JSSecurityManager$3", 5, jl_Object, [js_PrivilegedAction], 4, 0, 0, ["$run1", function() { return $java.csms_JSSecurityManager$3_run0(this); }],
ju_Collections$10, "Collections$10", 8, ju_AbstractList, [], 4, 0, 0, ["$get5", function(var_1) { return $java.ju_Collections$10_get(this, var_1); }, "$size0", function() { return $java.ju_Collections$10_size(this); }],
oti_Structure, "Structure", 51, jl_Object, [], 0, 3, 0, 0,
otr_RuntimeObject, "RuntimeObject", 61, oti_Structure, [], 0, 3, 0, 0,
otp_PlatformClass, "PlatformClass", 62, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otr_RuntimeClass, "RuntimeClass", 61, otr_RuntimeObject, [], 0, 3, 0, 0,
jlr_Field, "Field", 24, jlr_AccessibleObject, [jlr_Member], 0, 3, 0, 0,
jlr_Constructor, "Constructor", 24, jlr_AccessibleObject, [jlr_Member], 0, 3, 0, 0,
jl_ClassLoader, "ClassLoader", 22, jl_Object, [], 1, 3, 0, 0,
jla_Annotation, "Annotation", 23, jl_Object, [], 19, 3, 0, 0,
jl_Package, "Package", 22, jl_Object, [jlr_AnnotatedElement], 0, 3, 0, 0,
jl_StackTraceElement, "StackTraceElement", 22, jl_Object, [ji_Serializable], 4, 3, 0, 0,
otjc_JSError, "JSError", 36, jl_Object, [otj_JSObject], 1, 3, 0, 0,
otjdx_Node, "Node", 41, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjdx_Document, "Document", 41, jl_Object, [otjdx_Node], 3, 3, 0, 0,
otjdh_HTMLDocument, "HTMLDocument", 42, jl_Object, [otjdx_Document, otjde_EventTarget], 3, 3, 0, 0,
otjb_Screen, "Screen", 46, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjb_Location, "Location", 46, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjb_History, "History", 46, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjdx_Element, "Element", 41, jl_Object, [otjdx_Node], 3, 3, 0, 0,
otjdc_ElementCSSInlineStyle, "ElementCSSInlineStyle", 40, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjde_WheelEventTarget, "WheelEventTarget", 43, jl_Object, [otjde_EventTarget], 3, 3, 0, 0,
otjdh_HTMLElement, "HTMLElement", 42, jl_Object, [otjdx_Element, otjdc_ElementCSSInlineStyle, otjde_EventTarget, otjde_FocusEventTarget, otjde_MouseEventTarget, otjde_WheelEventTarget, otjde_KeyboardEventTarget, otjde_LoadEventTarget], 3, 3, 0, 0,
otjb_AnimationFrameCallback, "AnimationFrameCallback", 46, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjb_WindowFeatures, "WindowFeatures", 46, jl_Object, [], 0, 3, 0, 0,
otjde_Event, "Event", 43, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjb_Storage, "Storage", 46, jl_Object, [otj_JSObject], 1, 3, 0, 0,
otp_PlatformObject, "PlatformObject", 62, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otpm_Resource, "Resource", 63, jl_Object, [], 3, 3, 0, 0,
otpm_StaticFieldResource, "StaticFieldResource", 63, jl_Object, [otpm_Resource], 3, 3, 0, 0,
oti_Address, "Address", 51, jl_Object, [], 4, 3, 0, 0,
otp_PlatformString, "PlatformString", 62, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjc_JSRegExp, "JSRegExp", 36, jl_Object, [otj_JSObject], 1, 3, 0, 0,
otjc_JSReplaceFunction, "JSReplaceFunction", 36, jl_Object, [otj_JSObject], 3, 3, 0, 0]);
$rt_metadata([otjde_MouseEvent, "MouseEvent", 43, jl_Object, [otjde_Event], 3, 3, 0, 0,
otjde_KeyboardEvent, "KeyboardEvent", 43, jl_Object, [otjde_Event], 3, 3, 0, 0,
otjw_WebGLRenderingContext, "WebGLRenderingContext", 44, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nleat_WebGL2RenderingContext, "WebGL2RenderingContext", 84, jl_Object, [otjw_WebGLRenderingContext], 3, 3, 0, 0,
otjdh_HTMLMediaElement, "HTMLMediaElement", 42, jl_Object, [otjdh_HTMLElement], 3, 3, 0, 0,
otjdh_HTMLVideoElement, "HTMLVideoElement", 42, jl_Object, [otjdh_HTMLMediaElement], 3, 3, 0, 0,
otjc_CanvasImageSource, "CanvasImageSource", 38, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjdh_HTMLImageElement, "HTMLImageElement", 42, jl_Object, [otjdh_HTMLElement, otjc_CanvasImageSource], 3, 3, 0, 0,
otjdh_HTMLCanvasElement, "HTMLCanvasElement", 42, jl_Object, [otjdh_HTMLElement, otjc_CanvasImageSource], 3, 3, 0, 0,
otjw_AudioBuffer, "AudioBuffer", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nle_ServerQuery, "ServerQuery", 82, jl_Object, [], 3, 3, 0, 0,
otjc_CanvasRenderingContext2D, "CanvasRenderingContext2D", 38, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjde_WheelEvent, "WheelEvent", 43, jl_Object, [otjde_MouseEvent], 3, 3, 0, 0,
ju_Spliterator, "Spliterator", 8, jl_Object, [], 3, 3, 0, 0,
jus_BaseStream, "BaseStream", 10, jl_Object, [jl_AutoCloseable], 3, 3, 0, 0,
jus_Stream, "Stream", 10, jl_Object, [jus_BaseStream], 3, 3, 0, 0,
juf_Consumer, "Consumer", 11, jl_Object, [], 3, 3, 0, 0,
juf_UnaryOperator, "UnaryOperator", 11, jl_Object, [juf_Function], 3, 3, 0, 0,
otjw_AudioNode, "AudioNode", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_AudioDestinationNode, "AudioDestinationNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_AudioListener, "AudioListener", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_AudioBufferSourceNode, "AudioBufferSourceNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_MediaElementAudioSourceNode, "MediaElementAudioSourceNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_MediaStreamAudioSourceNode, "MediaStreamAudioSourceNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_MediaStream, "MediaStream", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_MediaStreamAudioDestinationNode, "MediaStreamAudioDestinationNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_AudioWorker, "AudioWorker", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_ScriptProcessorNode, "ScriptProcessorNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_AnalyserNode, "AnalyserNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_GainNode, "GainNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_DelayNode, "DelayNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_BiquadFilterNode, "BiquadFilterNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_IIRFilterNode, "IIRFilterNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_WaveShaperNode, "WaveShaperNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_PannerNode, "PannerNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_StereoPannerNode, "StereoPannerNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_ConvolverNode, "ConvolverNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_ChannelSplitterNode, "ChannelSplitterNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_ChannelMergerNode, "ChannelMergerNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_DynamicsCompressorNode, "DynamicsCompressorNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_OscillatorNode, "OscillatorNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
otjw_PeriodicWave, "PeriodicWave", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_PeriodicWaveConstraints, "PeriodicWaveConstraints", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
juf_ToIntFunction, "ToIntFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_ToLongFunction, "ToLongFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_ToDoubleFunction, "ToDoubleFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_BiFunction, "BiFunction", 11, jl_Object, [], 3, 3, 0, 0,
jt_ParsePosition, "ParsePosition", 19, jl_Object, [], 0, 3, 0, 0,
jt_CharacterIterator, "CharacterIterator", 19, jl_Object, [jl_Cloneable], 3, 3, 0, 0,
jt_AttributedCharacterIterator, "AttributedCharacterIterator", 19, jl_Object, [jt_CharacterIterator], 3, 3, 0, 0]);
$rt_metadata([nle_ServerQuery$QueryResponse, "ServerQuery$QueryResponse", 82, jl_Object, [], 0, 3, 0, 0,
ji_Console, "Console", 17, jl_Object, [], 0, 3, 0, 0,
otr_RuntimeArray, "RuntimeArray", 61, otr_RuntimeObject, [], 0, 3, 0, 0,
otpm_StringResource, "StringResource", 63, jl_Object, [otpm_Resource], 3, 3, 0, 0,
otjw_WebGLTexture, "WebGLTexture", 44, jl_Object, [otj_JSObject], 3, 3, 0, 0,
jn_ShortBuffer, "ShortBuffer", 14, jn_Buffer, [jl_Comparable], 1, 3, 0, 0,
jn_LongBuffer, "LongBuffer", 14, jn_Buffer, [jl_Comparable], 1, 3, 0, 0,
jn_DoubleBuffer, "DoubleBuffer", 14, jn_Buffer, [jl_Comparable], 1, 3, 0, 0,
otjw_WebGLBuffer, "WebGLBuffer", 44, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_WebGLShader, "WebGLShader", 44, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_WebGLProgram, "WebGLProgram", 44, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_WebGLUniformLocation, "WebGLUniformLocation", 44, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nleat_WebGLVertexArray, "WebGLVertexArray", 84, jl_Object, [otj_JSObject], 3, 3, 0, 0,
jus_IntStream, "IntStream", 10, jl_Object, [jus_BaseStream], 3, 3, 0, 0,
jus_LongStream, "LongStream", 10, jl_Object, [jus_BaseStream], 3, 3, 0, 0,
jus_DoubleStream, "DoubleStream", 10, jl_Object, [jus_BaseStream], 3, 3, 0, 0,
juf_IntFunction, "IntFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_IntUnaryOperator, "IntUnaryOperator", 11, jl_Object, [], 3, 3, 0, 0,
juf_IntToLongFunction, "IntToLongFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_IntToDoubleFunction, "IntToDoubleFunction", 11, jl_Object, [], 3, 3, 0, 0,
cjj_JZlib$WrapperType, "JZlib$WrapperType", 2, jl_Enum, [], 12, 3, 0, 0,
otpm_ResourceMap, "ResourceMap", 63, jl_Object, [otpm_Resource], 3, 3, 0, 0,
otpm_ResourceArray, "ResourceArray", 63, jl_Object, [otpm_Resource], 3, 3, 0, 0,
otciu_DateFormatCollection, "DateFormatCollection", 56, jl_Object, [otpm_Resource], 3, 3, 0, 0,
otciu_DecimalData, "DecimalData", 56, jl_Object, [otpm_Resource], 3, 3, 0, 0,
otciu_CurrencyLocalization, "CurrencyLocalization", 56, jl_Object, [otpm_Resource], 3, 3, 0, 0,
otcit_TimeZoneResource, "TimeZoneResource", 55, jl_Object, [otpm_Resource], 3, 3, 0, 0,
nms_WorldSettings, "WorldSettings", 79, jl_Object, [], 4, 3, 0, 0,
nms_IChunkProvider, "IChunkProvider", 79, jl_Object, [], 3, 3, 0, 0,
nms_IUpdatePlayerListBox, "IUpdatePlayerListBox", 79, jl_Object, [], 3, 3, 0, 0,
nms_EnumSkyBlock, "EnumSkyBlock", 79, jl_Enum, [], 12, 3, 0, 0,
nms_Explosion, "Explosion", 79, jl_Object, [], 0, 3, 0, 0,
nms_PathEntity, "PathEntity", 79, jl_Object, [], 0, 3, 0, 0,
nms_GameRules, "GameRules", 79, jl_Object, [], 0, 3, 0, 0,
nms_EnumStatus, "EnumStatus", 79, jl_Enum, [], 12, 3, 0, 0,
nms_InventoryEnderChest, "InventoryEnderChest", 79, nms_InventoryBasic, [], 0, 3, 0, 0,
nms_EntityLookHelper, "EntityLookHelper", 79, jl_Object, [], 0, 3, 0, 0,
nms_EntityMoveHelper, "EntityMoveHelper", 79, jl_Object, [], 0, 3, 0, 0,
nms_EntityJumpHelper, "EntityJumpHelper", 79, jl_Object, [], 0, 3, 0, 0,
nms_EntitySenses, "EntitySenses", 79, jl_Object, [], 0, 3, 0, 0,
nms_EnumCreatureAttribute, "EnumCreatureAttribute", 79, jl_Enum, [], 12, 3, 0, 0,
otcic_CurrencyResource, "CurrencyResource", 57, jl_Object, [otpm_Resource], 3, 3, 0, 0,
jt_DateFormatElement$TrieNode, "DateFormatElement$TrieNode", 19, jl_Object, [], 0, 0, 0, 0,
jt_AttributedCharacterIterator$Attribute, "AttributedCharacterIterator$Attribute", 19, jl_Object, [ji_Serializable], 0, 3, 0, 0,
jt_Format$Field, "Format$Field", 19, jt_AttributedCharacterIterator$Attribute, [], 0, 3, 0, 0,
nms_MerchantRecipe, "MerchantRecipe", 79, jl_Object, [], 0, 3, 0, 0,
nms_MerchantRecipeList, "MerchantRecipeList", 79, ju_ArrayList, [], 0, 3, 0, 0,
nms_EntityDragonPart, "EntityDragonPart", 79, nms_Entity, [], 0, 3, 0, ["$entityInit", function() { $java.nms_EntityDragonPart_entityInit(this); }, "$canBeCollidedWith", function() { return $java.nms_EntityDragonPart_canBeCollidedWith(this); }, "$attackEntityFrom", function(var_1, var_2) { return $java.nms_EntityDragonPart_attackEntityFrom(this, var_1, var_2); }, "$isEntityEqual", function(var_1) { return $java.nms_EntityDragonPart_isEntityEqual(this, var_1); }],
nleg_EaglerAdapterGL30$1, "EaglerAdapterGL30$1", 85, jl_Object, [], 32, 0, 0, 0,
nle_TextureTerrainMap$1, "TextureTerrainMap$1", 82, jl_Object, [], 32, 0, 0, 0]);
$rt_metadata([otjw_WebGLFramebuffer, "WebGLFramebuffer", 44, jl_Object, [otj_JSObject], 3, 3, 0, 0,
ju_Arrays$1, "Arrays$1", 8, jl_Object, [], 32, 0, 0, 0,
nms_IBehaviorDispenseItem, "IBehaviorDispenseItem", 79, jl_Object, [], 3, 3, 0, 0,
nms_IPosition, "IPosition", 79, jl_Object, [], 3, 3, 0, 0,
nms_ILocation, "ILocation", 79, jl_Object, [nms_IPosition], 3, 3, 0, 0,
nms_ILocatableSource, "ILocatableSource", 79, jl_Object, [nms_ILocation], 3, 3, 0, 0,
nms_IBlockSource, "IBlockSource", 79, jl_Object, [nms_ILocatableSource], 3, 3, 0, 0,
nms_EnumFacing, "EnumFacing", 79, jl_Enum, [], 12, 3, 0, 0,
otjw_MediaEvent, "MediaEvent", 49, jl_Object, [otjde_Event], 3, 3, 0, 0,
nms_EnumCreatureType, "EnumCreatureType", 79, jl_Enum, [], 12, 3, $java.nms_EnumCreatureType_$callClinit, 0,
jm_MathContext, "MathContext", 18, jl_Object, [ji_Serializable], 4, 3, $java.jm_MathContext_$callClinit, 0,
nms_WorldType, "WorldType", 79, jl_Object, [], 0, 3, 0, 0,
nms_ScoreObjectiveCriteria, "ScoreObjectiveCriteria", 79, jl_Object, [], 3, 3, 0, 0,
ju_AbstractMap$1, "AbstractMap$1", 8, jl_Object, [], 32, 0, 0, 0,
cjj_Deflate, "Deflate", 2, jl_Object, [jl_Cloneable], 4, 3, 0, 0,
nms_Packet51MapChunkData, "Packet51MapChunkData", 79, jl_Object, [], 0, 3, 0, 0,
maajs_Key, "Key", 71, jl_Object, [], 3, 3, 0, 0,
maajc_SecretKey, "SecretKey", 75, jl_Object, [maajs_Key], 3, 3, 0, 0,
maa_PubKey, "PubKey", 68, jl_Object, [], 0, 3, 0, 0,
jn_URLStreamHandlerFactory, "URLStreamHandlerFactory", 20, jl_Object, [], 3, 3, 0, 0,
jn_URI, "URI", 20, jl_Object, [jl_Comparable, ji_Serializable], 4, 3, 0, 0,
otjw_WebGLRenderbuffer, "WebGLRenderbuffer", 44, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjc_JSSortFunction, "JSSortFunction", 36, jl_Object, [], 3, 3, 0, 0,
otcit_DateTimeZoneBuilder$RuleSet, "DateTimeZoneBuilder$RuleSet", 55, jl_Object, [], 4, 0, $java.otcit_DateTimeZoneBuilder$RuleSet_$callClinit, 0,
otcit_DateTimeZoneBuilder$Transition, "DateTimeZoneBuilder$Transition", 55, jl_Object, [], 4, 0, 0, 0,
nleat_WebGLQuery, "WebGLQuery", 84, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nms_MapInfo, "MapInfo", 79, jl_Object, [], 0, 3, 0, 0,
otcir_JSCallable, "JSCallable", 54, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nms_ExtendedBlockStorage, "ExtendedBlockStorage", 79, jl_Object, [], 0, 3, 0, 0,
nms_ChunkCoordIntPair, "ChunkCoordIntPair", 79, jl_Object, [], 0, 3, 0, ["$hashCode0", function() { return $java.nms_ChunkCoordIntPair_hashCode(this); }, "$equals", function(var_1) { return $java.nms_ChunkCoordIntPair_equals(this, var_1); }, "$toString", function() { return $java.nms_ChunkCoordIntPair_toString(this); }],
ji_File, "File", 17, jl_Object, [ji_Serializable, jl_Comparable], 0, 3, 0, 0,
jsm_Patch, "Patch", 27, jl_Object, [], 0, 3, 0, 0,
jsm_MidiDevice$Info, "MidiDevice$Info", 27, jl_Object, [], 0, 3, 0, 0,
jsm_MidiDevice, "MidiDevice", 27, jl_Object, [jl_AutoCloseable], 3, 3, 0, 0,
jsm_Receiver, "Receiver", 27, jl_Object, [jl_AutoCloseable], 3, 3, 0, 0,
jsm_Transmitter, "Transmitter", 27, jl_Object, [jl_AutoCloseable], 3, 3, 0, 0,
jsm_Synthesizer, "Synthesizer", 27, jl_Object, [jsm_MidiDevice], 3, 3, 0, 0,
jsm_Sequencer, "Sequencer", 27, jl_Object, [jsm_MidiDevice], 3, 3, 0, 0,
jsm_Soundbank, "Soundbank", 27, jl_Object, [], 3, 3, 0, 0,
jsm_MidiFileFormat, "MidiFileFormat", 27, jl_Object, [], 0, 3, 0, 0,
nms_Empty3, "Empty3", 79, jl_Object, [], 0, 3, 0, 0,
otjde_MessageEvent, "MessageEvent", 43, jl_Object, [otjde_Event], 3, 3, 0, 0,
otjw_CloseEvent, "CloseEvent", 45, jl_Object, [otjde_Event], 3, 3, 0, 0,
jss_Mixer$Info, "Mixer$Info", 29, jl_Object, [], 0, 3, 0, 0,
jss_Line, "Line", 29, jl_Object, [jl_AutoCloseable], 3, 3, 0, 0,
jss_Mixer, "Mixer", 29, jl_Object, [jss_Line], 3, 3, 0, 0,
jss_AudioFormat$Encoding, "AudioFormat$Encoding", 29, jl_Object, [], 0, 3, 0, 0,
jss_AudioFormat, "AudioFormat", 29, jl_Object, [], 0, 3, 0, 0,
jss_AudioInputStream, "AudioInputStream", 29, ji_InputStream, [], 0, 3, 0, 0,
jss_AudioFileFormat, "AudioFileFormat", 29, jl_Object, [], 0, 3, 0, 0]);
$rt_metadata([jss_AudioFileFormat$Type, "AudioFileFormat$Type", 29, jl_Object, [], 0, 3, 0, 0,
jl_Thread$start$lambda$_4_0, "Thread$start$lambda$_4_0", 22, jl_Object, [otp_PlatformRunnable], 0, 3, 0, ["$run", function() { $java.jl_Thread$start$lambda$_4_0_run(this); }],
nms_EnumOptionsHelper, "EnumOptionsHelper", 79, jl_Object, [], 0, 0, nms_EnumOptionsHelper_$callClinit, 0,
ju_Collections$15, "Collections$15", 8, ju_AbstractMap, [], 4, 0, 0, 0,
nlea_EaglerAdapterImpl2$ServerQueryImpl, "EaglerAdapterImpl2$ServerQueryImpl", 83, jl_Object, [nle_ServerQuery], 0, 0, 0, 0,
ju_Collections$reverseOrder$lambda$_44_0, "Collections$reverseOrder$lambda$_44_0", 8, jl_Object, [ju_Comparator], 0, 3, 0, ["$compare", function(var_1, var_2) { return $java.ju_Collections$reverseOrder$lambda$_44_0_compare(this, var_1, var_2); }],
jur_IntArrHash, "IntArrHash", 9, jl_Object, [], 0, 0, 0, 0,
nlea_EaglerAdapterImpl2$ServerQueryImpl$1, "EaglerAdapterImpl2$ServerQueryImpl$1", 83, jl_Object, [otjde_EventListener], 0, 0, 0, ["$handleEvent$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$1_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$ServerQueryImpl$2, "EaglerAdapterImpl2$ServerQueryImpl$2", 83, jl_Object, [otjde_EventListener], 0, 0, 0, ["$handleEvent$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$2_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$ServerQueryImpl$3, "EaglerAdapterImpl2$ServerQueryImpl$3", 83, jl_Object, [otjde_EventListener], 0, 0, 0, ["$handleEvent$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$3_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$ServerQueryImpl$4, "EaglerAdapterImpl2$ServerQueryImpl$4", 83, jl_Object, [otjb_TimerHandler], 0, 0, 0, ["$onTimer$exported$0", function() { return $java.nlea_EaglerAdapterImpl2$ServerQueryImpl$4_onTimer$exported$0(this); }],
otjw_AudioParam, "AudioParam", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjm_MediaError, "MediaError", 47, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjm_TimeRanges, "TimeRanges", 47, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjm_MediaController, "MediaController", 47, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjm_AudioTrackList, "AudioTrackList", 47, jl_Object, [otjde_EventTarget, otjc_JSArrayReader], 3, 3, 0, 0,
otjm_VideoTrackList, "VideoTrackList", 47, jl_Object, [otjde_EventTarget, otjc_JSArrayReader], 3, 3, 0, 0,
otjm_TextTrackList, "TextTrackList", 47, jl_Object, [otjde_EventTarget, otjc_JSArrayReader], 3, 3, 0, 0,
otjm_TextTrack, "TextTrack", 47, jl_Object, [otjde_EventTarget], 3, 3, 0, 0,
jl_ClassLoader$ResourceContainer, "ClassLoader$ResourceContainer", 22, jl_Object, [otj_JSObject], 3, 0, 0, 0,
otp_PlatformSequence, "PlatformSequence", 62, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_AudioWorkerParamDescriptor, "AudioWorkerParamDescriptor", 49, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_AudioWorkerNode, "AudioWorkerNode", 49, jl_Object, [otjw_AudioNode], 3, 3, 0, 0,
oj_JSONObject, "JSONObject", 65, jl_Object, [], 0, 3, 0, ["$toString", function() { return $java.oj_JSONObject_toString(this); }],
jss_DataLine, "DataLine", 29, jl_Object, [jss_Line], 3, 3, 0, 0,
jss_TargetDataLine, "TargetDataLine", 29, jl_Object, [jss_DataLine], 3, 3, 0, 0,
jss_Line$Info, "Line$Info", 29, jl_Object, [], 0, 3, 0, 0,
jsm_SoundbankResource, "SoundbankResource", 27, jl_Object, [], 1, 3, 0, 0,
jsm_Instrument, "Instrument", 27, jsm_SoundbankResource, [], 1, 3, 0, 0,
jsm_MidiChannel, "MidiChannel", 27, jl_Object, [], 3, 3, 0, 0,
jsm_VoiceStatus, "VoiceStatus", 27, jl_Object, [], 0, 3, 0, 0,
jsm_Sequencer$SyncMode, "Sequencer$SyncMode", 27, jl_Object, [], 0, 3, 0, 0,
ju_EventListener, "EventListener", 8, jl_Object, [], 3, 3, 0, 0,
jsm_MetaEventListener, "MetaEventListener", 27, jl_Object, [ju_EventListener], 3, 3, 0, 0,
jsm_ControllerEventListener, "ControllerEventListener", 27, jl_Object, [ju_EventListener], 3, 3, 0, 0,
juf_Predicate, "Predicate", 11, jl_Object, [], 3, 3, 0, 0,
juf_BinaryOperator, "BinaryOperator", 11, jl_Object, [juf_BiFunction], 3, 3, 0, 0,
ju_Optional, "Optional", 8, jl_Object, [], 4, 3, 0, 0,
juf_Supplier, "Supplier", 11, jl_Object, [], 3, 3, 0, 0,
juf_BiConsumer, "BiConsumer", 11, jl_Object, [], 3, 3, 0, 0,
jus_Collector, "Collector", 10, jl_Object, [], 3, 3, 0, 0,
jus_Stream$Builder, "Stream$Builder", 10, jl_Object, [], 3, 3, 0, 0,
otjc_JSError$TryClause, "JSError$TryClause", 36, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjc_JSError$CatchClause, "JSError$CatchClause", 36, jl_Object, [otj_JSObject], 3, 3, 0, 0,
juf_IntPredicate, "IntPredicate", 11, jl_Object, [], 3, 3, 0, 0,
juf_IntConsumer, "IntConsumer", 11, jl_Object, [], 3, 3, 0, 0,
juf_IntBinaryOperator, "IntBinaryOperator", 11, jl_Object, [], 3, 3, 0, 0,
ju_OptionalInt, "OptionalInt", 8, jl_Object, [], 0, 3, 0, 0,
ju_OptionalDouble, "OptionalDouble", 8, jl_Object, [], 0, 3, 0, 0,
ju_PrimitiveIterator, "PrimitiveIterator", 8, jl_Object, [ju_Iterator], 3, 3, 0, 0]);
$rt_metadata([ju_PrimitiveIterator$OfInt, "PrimitiveIterator$OfInt", 8, jl_Object, [ju_PrimitiveIterator], 3, 3, 0, 0,
ju_Spliterator$OfPrimitive, "Spliterator$OfPrimitive", 8, jl_Object, [], 3, 3, 0, 0,
ju_Spliterator$OfInt, "Spliterator$OfInt", 8, jl_Object, [ju_Spliterator$OfPrimitive], 3, 3, 0, 0,
jus_IntStream$Builder, "IntStream$Builder", 10, jl_Object, [], 3, 3, 0, 0,
juf_IntSupplier, "IntSupplier", 11, jl_Object, [], 3, 3, 0, 0,
otjc_JSRegExpFlag, "JSRegExpFlag", 36, jl_Enum, [], 12, 3, 0, 0,
otjdx_Attr, "Attr", 41, jl_Object, [otjdx_Node], 3, 3, 0, 0,
otjdx_NodeList, "NodeList", 41, jl_Object, [otjc_JSArrayReader], 3, 3, 0, 0,
jss_Control, "Control", 29, jl_Object, [], 1, 3, 0, 0,
jss_Control$Type, "Control$Type", 29, jl_Object, [], 0, 3, 0, 0,
jss_LineListener, "LineListener", 29, jl_Object, [ju_EventListener], 3, 3, 0, 0,
otcf_VirtualFileSystem, "VirtualFileSystem", 59, jl_Object, [], 3, 3, 0, 0,
ji_FilenameFilter, "FilenameFilter", 17, jl_Object, [], 3, 3, 0, 0,
ji_FileFilter, "FileFilter", 17, jl_Object, [], 3, 3, 0, 0,
otcf_VirtualFile, "VirtualFile", 59, jl_Object, [], 3, 3, 0, 0,
nms_PathPoint, "PathPoint", 79, jl_Object, [], 0, 3, 0, ["$equals", function(var_1) { return $java.nms_PathPoint_equals(this, var_1); }, "$hashCode0", function() { return $java.nms_PathPoint_hashCode(this); }, "$toString", function() { return $java.nms_PathPoint_toString(this); }],
otjw_WebGLContextAttributes, "WebGLContextAttributes", 44, jl_Object, [otj_JSObject], 1, 3, 0, 0,
otjw_WebGLActiveInfo, "WebGLActiveInfo", 44, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjw_WebGLShaderPrecisionFormat, "WebGLShaderPrecisionFormat", 44, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjc_ImageData, "ImageData", 38, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjdc_CSSStyleDeclaration, "CSSStyleDeclaration", 40, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjdh_HTMLHtmlElement, "HTMLHtmlElement", 42, jl_Object, [otjdh_HTMLElement], 3, 3, 0, 0,
otjdh_HTMLBodyElement, "HTMLBodyElement", 42, jl_Object, [otjdh_HTMLElement], 3, 3, 0, 0,
otjdh_HTMLHeadElement, "HTMLHeadElement", 42, jl_Object, [otjdh_HTMLElement], 3, 3, 0, 0,
otjdh_TextRectangle, "TextRectangle", 42, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjdx_DocumentType, "DocumentType", 41, jl_Object, [otjdx_Node], 3, 3, 0, 0,
otjdx_DOMImplementation, "DOMImplementation", 41, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjdx_DocumentFragment, "DocumentFragment", 41, jl_Object, [otjdx_Node], 3, 3, 0, 0,
otjdx_Text, "Text", 41, jl_Object, [otjdx_Node], 3, 3, 0, 0,
otjdx_Comment, "Comment", 41, jl_Object, [otjdx_Node], 3, 3, 0, 0,
otjdx_CDATASection, "CDATASection", 41, jl_Object, [otjdx_Node], 3, 3, 0, 0,
otjdx_ProcessingInstruction, "ProcessingInstruction", 41, jl_Object, [otjdx_Node], 3, 3, 0, 0,
otjdx_EntityReference, "EntityReference", 41, jl_Object, [otjdx_Node], 3, 3, 0, 0,
otcit_DateTimeZoneBuilder$Rule, "DateTimeZoneBuilder$Rule", 55, jl_Object, [], 4, 0, 0, 0,
otjdx_NamedNodeMap, "NamedNodeMap", 41, jl_Object, [otj_JSObject, otjc_JSArrayReader], 3, 3, 0, 0,
juf_LongPredicate, "LongPredicate", 11, jl_Object, [], 3, 3, 0, 0,
juf_LongUnaryOperator, "LongUnaryOperator", 11, jl_Object, [], 3, 3, 0, 0,
juf_LongFunction, "LongFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_LongToIntFunction, "LongToIntFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_LongToDoubleFunction, "LongToDoubleFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_LongConsumer, "LongConsumer", 11, jl_Object, [], 3, 3, 0, 0,
juf_LongBinaryOperator, "LongBinaryOperator", 11, jl_Object, [], 3, 3, 0, 0,
ju_OptionalLong, "OptionalLong", 8, jl_Object, [], 0, 3, 0, 0,
ju_PrimitiveIterator$OfLong, "PrimitiveIterator$OfLong", 8, jl_Object, [ju_PrimitiveIterator], 3, 3, 0, 0,
ju_Spliterator$OfLong, "Spliterator$OfLong", 8, jl_Object, [ju_Spliterator$OfPrimitive], 3, 3, 0, 0,
jus_LongStream$Builder, "LongStream$Builder", 10, jl_Object, [], 3, 3, 0, 0,
juf_LongSupplier, "LongSupplier", 11, jl_Object, [], 3, 3, 0, 0,
otcir_JSFieldGetter, "JSFieldGetter", 54, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otcir_JSFieldSetter, "JSFieldSetter", 54, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjc_CanvasGradient, "CanvasGradient", 38, jl_Object, [otj_JSObject], 3, 3, 0, 0]);
$rt_metadata([otjc_CanvasPattern, "CanvasPattern", 38, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjc_TextMetrics, "TextMetrics", 38, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otp_PlatformClassMetadata, "PlatformClassMetadata", 62, jl_Object, [otj_JSObject], 3, 3, 0, 0,
nms_NibbleArray, "NibbleArray", 79, jl_Object, [], 0, 3, 0, 0,
juf_DoublePredicate, "DoublePredicate", 11, jl_Object, [], 3, 3, 0, 0,
juf_DoubleUnaryOperator, "DoubleUnaryOperator", 11, jl_Object, [], 3, 3, 0, 0,
juf_DoubleFunction, "DoubleFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_DoubleToIntFunction, "DoubleToIntFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_DoubleToLongFunction, "DoubleToLongFunction", 11, jl_Object, [], 3, 3, 0, 0,
juf_DoubleConsumer, "DoubleConsumer", 11, jl_Object, [], 3, 3, 0, 0,
juf_DoubleBinaryOperator, "DoubleBinaryOperator", 11, jl_Object, [], 3, 3, 0, 0,
ju_PrimitiveIterator$OfDouble, "PrimitiveIterator$OfDouble", 8, jl_Object, [ju_PrimitiveIterator], 3, 3, 0, 0,
ju_Spliterator$OfDouble, "Spliterator$OfDouble", 8, jl_Object, [ju_Spliterator$OfPrimitive], 3, 3, 0, 0,
jus_DoubleStream$Builder, "DoubleStream$Builder", 10, jl_Object, [], 3, 3, 0, 0,
juf_DoubleSupplier, "DoubleSupplier", 11, jl_Object, [], 3, 3, 0, 0,
ju_EventObject, "EventObject", 8, jl_Object, [ji_Serializable], 0, 3, 0, 0,
jss_LineEvent, "LineEvent", 29, ju_EventObject, [], 0, 3, 0, 0,
oj_JSONTokener, "JSONTokener", 65, jl_Object, [], 0, 3, 0, 0,
oj_JSONArray, "JSONArray", 65, jl_Object, [jl_Iterable], 0, 3, 0, ["$iterator", function() { return $java.oj_JSONArray_iterator(this); }, "$toString", function() { return $java.oj_JSONArray_toString(this); }],
oj_JSONPointer, "JSONPointer", 65, jl_Object, [], 0, 3, 0, 0,
oj_JSONException, "JSONException", 65, jl_RuntimeException, [], 0, 3, 0, 0,
otjm_VideoTrack, "VideoTrack", 47, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjm_AudioTrack, "AudioTrack", 47, jl_Object, [otj_JSObject], 3, 3, 0, 0,
otjt_Uint8ClampedArray, "Uint8ClampedArray", 48, otjt_ArrayBufferView, [], 1, 3, 0, 0,
otcf_VirtualFileAccessor, "VirtualFileAccessor", 59, jl_Object, [], 3, 3, 0, 0,
jus_Collector$Characteristics, "Collector$Characteristics", 10, jl_Enum, [], 12, 3, 0, 0,
otjm_TextTrackCueList, "TextTrackCueList", 47, jl_Object, [otj_JSObject, otjc_JSArrayReader], 3, 3, 0, 0,
otjm_TextTrackCue, "TextTrackCue", 47, jl_Object, [otjde_EventTarget], 3, 3, 0, 0,
oj_JSONPointer$Builder, "JSONPointer$Builder", 65, jl_Object, [], 0, 3, 0, 0,
jss_LineEvent$Type, "LineEvent$Type", 29, jl_Object, [], 0, 3, 0, 0,
otcir_Converter, "Converter", 54, jl_Object, [], 4, 3, 0, 0,
otcir_Flags, "Flags", 54, jl_Object, [], 4, 3, 0, 0,
maat_TMIEnchanting, "TMIEnchanting", 69, jl_Object, [], 0, 3, $java.maat_TMIEnchanting_$callClinit, 0,
nle_WebsocketNetworkManager$ByteBufferDirectInputStream, "WebsocketNetworkManager$ByteBufferDirectInputStream", 82, ji_InputStream, [], 0, 0, 0, ["$read2", function() { return $java.nle_WebsocketNetworkManager$ByteBufferDirectInputStream_read(this); }, "$available", function() { return $java.nle_WebsocketNetworkManager$ByteBufferDirectInputStream_available(this); }],
nms_ModelEnderCrystal, "ModelEnderCrystal", 79, nms_ModelBase, [], 0, 3, 0, 0,
nms_EnumArt, "EnumArt", 79, jl_Enum, [], 12, 3, 0, 0,
jl_SystemClassLoader, "SystemClassLoader", 22, jl_ClassLoader, [], 0, 0, 0, 0,
nms_ScoreDummyCriteria, "ScoreDummyCriteria", 79, jl_Object, [nms_ScoreObjectiveCriteria], 0, 3, 0, 0,
nms_ScoreHealthCriteria, "ScoreHealthCriteria", 79, nms_ScoreDummyCriteria, [], 0, 3, 0, 0,
cjj_Deflate$Config, "Deflate$Config", 2, jl_Object, [], 0, 0, 0, 0,
ju_ServiceLoader, "ServiceLoader", 8, jl_Object, [jl_Iterable], 4, 3, 0, 0,
nms_PacketCount, "PacketCount", 79, jl_Object, [], 0, 3, 0, 0,
otcf_VirtualFileSystemProvider, "VirtualFileSystemProvider", 59, jl_Object, [], 4, 3, 0, 0,
ju_Collections$16, "Collections$16", 8, ju_AbstractSet, [], 4, 0, 0, 0,
jt_MessageFormat, "MessageFormat", 19, jt_Format, [], 0, 3, 0, ["$format2", function(var_1, var_2, var_3) { return $java.jt_MessageFormat_format0(this, var_1, var_2, var_3); }],
oj_JSONObject$Null, "JSONObject$Null", 65, jl_Object, [], 4, 0, 0, ["$equals", function(var_1) { return $java.oj_JSONObject$Null_equals(this, var_1); }, "$hashCode0", function() { return $java.oj_JSONObject$Null_hashCode(this); }, "$toString", function() { return $java.oj_JSONObject$Null_toString(this); }],
otcfm_InMemoryVirtualFileSystem, "InMemoryVirtualFileSystem", 60, jl_Object, [otcf_VirtualFileSystem], 0, 3, 0, 0,
otcfm_AbstractInMemoryVirtualFile, "AbstractInMemoryVirtualFile", 60, jl_Object, [], 1, 3, 0, 0,
otcfm_InMemoryVirtualDirectory, "InMemoryVirtualDirectory", 60, otcfm_AbstractInMemoryVirtualFile, [], 0, 3, 0, 0,
nle_WebsocketNetworkManager$1, "WebsocketNetworkManager$1", 82, jl_Object, [], 32, 0, 0, 0]);
$rt_metadata([otcfm_InMemoryVirtualFile, "InMemoryVirtualFile", 60, otcfm_AbstractInMemoryVirtualFile, [], 0, 3, 0, 0,
oj_JSONObject$1, "JSONObject$1", 65, jl_Object, [], 32, 0, 0, 0,
ju_ServiceLoader$1, "ServiceLoader$1", 8, jl_Object, [ju_Iterator], 0, 0, 0, 0,
csms_StandardMidiFileReader, "StandardMidiFileReader", 5, jsms_MidiFileReader, [], 4, 3, 0, 0,
jl_InstantiationException, "InstantiationException", 22, jl_ReflectiveOperationException, [], 0, 3, 0, 0,
maat_TMIEnchantControl, "TMIEnchantControl", 69, maat__tmi_MgWidget, [], 0, 0, 0, ["$click", function(var_1, var_2, var_3) { return $java.maat_TMIEnchantControl_click(this, var_1, var_2, var_3); }, "$draw1", function(var_1, var_2, var_3) { $java.maat_TMIEnchantControl_draw(this, var_1, var_2, var_3); }],
jt_ChoiceFormat, "ChoiceFormat", 19, jt_NumberFormat, [], 0, 3, 0, ["$equals", function(var_1) { return $java.jt_ChoiceFormat_equals(this, var_1); }, "$format7", function(var_1, var_2, var_3) { return $java.jt_ChoiceFormat_format(this, var_1, var_2, var_3); }, "$format8", function(var_1, var_2, var_3) { return $java.jt_ChoiceFormat_format0(this, var_1, var_2, var_3); }, "$hashCode0", function() { return $java.jt_ChoiceFormat_hashCode(this); }],
ju_Collections$17, "Collections$17", 8, jl_Object, [ju_Iterator], 4, 0, 0, 0,
csms_SMFParser, "SMFParser", 5, jl_Object, [], 4, 0, 0, 0,
maa_CryptManager, "CryptManager", 68, jl_Object, [], 0, 3, 0, 0,
nle_EaglerInflater, "EaglerInflater", 82, jl_Object, [], 0, 3, 0, 0,
nms_InventoryCrafting, "InventoryCrafting", 79, jl_Object, [nms_IInventory], 0, 3, 0, ["$getStackInSlot", function(var_1) { return nms_InventoryCrafting_getStackInSlot(this, var_1); }, "$decrStackSize", function(var_1, var_2) { return $java.nms_InventoryCrafting_decrStackSize(this, var_1, var_2); }, "$setInventorySlotContents", function(var_1, var_2) { nms_InventoryCrafting_setInventorySlotContents(this, var_1, var_2); }, "$getInventoryStackLimit", function() { return $java.nms_InventoryCrafting_getInventoryStackLimit(this);
}, "$onInventoryChanged", function() { $java.nms_InventoryCrafting_onInventoryChanged(this); }],
nms_ContainerSheep, "ContainerSheep", 79, nms_Container, [], 0, 0, 0, 0,
jsm_Track$ImmutableEndOfTrack, "Track$ImmutableEndOfTrack", 27, jsm_MetaMessage, [], 0, 0, 0, 0,
ju_LinkedHashMap$LinkedHashMapEntrySet, "LinkedHashMap$LinkedHashMapEntrySet", 8, ju_HashMap$HashMapEntrySet, [], 4, 0, 0, ["$iterator", function() { return $java.ju_LinkedHashMap$LinkedHashMapEntrySet_iterator(this); }],
jl_StackOverflowError, "StackOverflowError", 22, jl_VirtualMachineError, [], 0, 3, 0, 0,
jn_InvalidMarkException, "InvalidMarkException", 14, jl_IllegalStateException, [], 0, 3, 0, 0,
nms_CombatTracker, "CombatTracker", 79, jl_Object, [], 0, 3, 0, 0,
nms_EntityBodyHelper, "EntityBodyHelper", 79, jl_Object, [], 0, 3, 0, 0,
cjj_GZIPInputStream, "GZIPInputStream", 2, cjj_InflaterInputStream, [], 0, 3, 0, 0,
juca_AtomicInteger, "AtomicInteger", 13, jl_Number, [ji_Serializable], 0, 3, 0, 0,
nms_CombatEntry, "CombatEntry", 79, jl_Object, [], 0, 3, 0, 0,
jsm_Track$1, "Track$1", 27, jl_Object, [], 32, 0, 0, 0,
obc_BufferedBlockCipher, "BufferedBlockCipher", 33, jl_Object, [], 0, 3, 0, 0,
obc_BlockCipher, "BlockCipher", 33, jl_Object, [], 3, 3, 0, 0,
obc_CipherParameters, "CipherParameters", 33, jl_Object, [], 3, 3, 0, 0,
ju_LinkedHashMap$EntryIterator, "LinkedHashMap$EntryIterator", 8, ju_LinkedHashMap$AbstractMapIterator, [ju_Iterator], 0, 0, 0, ["$next", function() { return $java.ju_LinkedHashMap$EntryIterator_next0(this); }],
nms_EntityPickupFX, "EntityPickupFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityPickupFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityPickupFX_onUpdate(this); }, "$getFXLayer", function() { return $java.nms_EntityPickupFX_getFXLayer(this); }],
nms_GuiDownloadTerrain, "GuiDownloadTerrain", 79, nms_GuiScreen, [], 0, 3, 0, ["$keyTyped", function(var_1, var_2) { $java.nms_GuiDownloadTerrain_keyTyped(this, var_1, var_2); }, "$initGui", function() { $java.nms_GuiDownloadTerrain_initGui(this); }, "$updateScreen", function() { $java.nms_GuiDownloadTerrain_updateScreen(this); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiDownloadTerrain_drawScreen(this, var_1, var_2, var_3); }],
nms_NpcMerchant, "NpcMerchant", 79, jl_Object, [nms_IMerchant], 0, 3, 0, 0,
nms_WorldProviderSurface, "WorldProviderSurface", 79, nms_WorldProvider, [], 0, 3, 0, 0,
nms_GuiMerchant, "GuiMerchant", 79, nms_GuiContainer, [], 0, 3, 0, ["$initGui", function() { $java.nms_GuiMerchant_initGui(this); }, "$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiMerchant_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$updateScreen", function() { $java.nms_GuiMerchant_updateScreen(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiMerchant_actionPerformed(this, var_1); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiMerchant_drawGuiContainerBackgroundLayer(this,
var_1, var_2, var_3); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiMerchant_drawScreen(this, var_1, var_2, var_3); }],
nms_GuiWinGame, "GuiWinGame", 79, nms_GuiScreen, [], 0, 3, 0, ["$updateScreen", function() { $java.nms_GuiWinGame_updateScreen(this); }, "$keyTyped", function(var_1, var_2) { $java.nms_GuiWinGame_keyTyped(this, var_1, var_2); }, "$initGui", function() { $java.nms_GuiWinGame_initGui(this); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiWinGame_drawScreen(this, var_1, var_2, var_3); }],
nms_EntityCrit2FX, "EntityCrit2FX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityCrit2FX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityCrit2FX_onUpdate(this); }, "$getFXLayer", function() { return $java.nms_EntityCrit2FX_getFXLayer(this); }],
ju_AbstractMap$SimpleImmutableEntry, "AbstractMap$SimpleImmutableEntry", 8, jl_Object, [ju_Map$Entry, ji_Serializable], 0, 3, 0, 0,
nms_GameRuleValue, "GameRuleValue", 79, jl_Object, [], 0, 0, 0, 0,
ju_Vector, "Vector", 8, ju_AbstractList, [ju_List, ju_RandomAccess, jl_Cloneable, ji_Serializable], 0, 3, 0, 0,
maajss_KeySpec, "KeySpec", 72, jl_Object, [], 3, 3, 0, 0,
maajcs_SecretKeySpec, "SecretKeySpec", 76, jl_Object, [maajss_KeySpec, maajc_SecretKey], 0, 3, 0, 0,
nms_InventoryMerchant, "InventoryMerchant", 79, jl_Object, [nms_IInventory], 0, 3, 0, ["$getStackInSlot", function(var_1) { return $java.nms_InventoryMerchant_getStackInSlot(this, var_1); }, "$decrStackSize", function(var_1, var_2) { return $java.nms_InventoryMerchant_decrStackSize(this, var_1, var_2); }, "$setInventorySlotContents", function(var_1, var_2) { $java.nms_InventoryMerchant_setInventorySlotContents(this, var_1, var_2); }, "$getInventoryStackLimit", function() { return $java.nms_InventoryMerchant_getInventoryStackLimit(this);
}, "$onInventoryChanged", function() { $java.nms_InventoryMerchant_onInventoryChanged(this); }],
nms_WorldProviderHell, "WorldProviderHell", 79, nms_WorldProvider, [], 0, 3, 0, ["$registerWorldChunkManager", function() { $java.nms_WorldProviderHell_registerWorldChunkManager(this); }, "$getFogColor0", function(var_1, var_2) { return $java.nms_WorldProviderHell_getFogColor(this, var_1, var_2); }, "$generateLightBrightnessTable", function() { $java.nms_WorldProviderHell_generateLightBrightnessTable(this); }, "$isSurfaceWorld", function() { return $java.nms_WorldProviderHell_isSurfaceWorld(this); }, "$calculateCelestialAngle",
function(var_1, var_2) { return $java.nms_WorldProviderHell_calculateCelestialAngle(this, var_1, var_2); }, "$doesXZShowFog", function(var_1, var_2) { return $java.nms_WorldProviderHell_doesXZShowFog(this, var_1, var_2); }],
nms_WorldProviderEnd, "WorldProviderEnd", 79, nms_WorldProvider, [], 0, 3, 0, ["$registerWorldChunkManager", function() { $java.nms_WorldProviderEnd_registerWorldChunkManager(this); }, "$calculateCelestialAngle", function(var_1, var_2) { return $java.nms_WorldProviderEnd_calculateCelestialAngle(this, var_1, var_2); }, "$calcSunriseSunsetColors", function(var_1, var_2) { return $java.nms_WorldProviderEnd_calcSunriseSunsetColors(this, var_1, var_2); }, "$getFogColor0", function(var_1, var_2) { return $java.nms_WorldProviderEnd_getFogColor(this,
var_1, var_2); }, "$isSkyColored", function() { return $java.nms_WorldProviderEnd_isSkyColored(this); }, "$isSurfaceWorld", function() { return $java.nms_WorldProviderEnd_isSurfaceWorld(this); }, "$getCloudHeight", function() { return $java.nms_WorldProviderEnd_getCloudHeight(this); }, "$doesXZShowFog", function(var_1, var_2) { return $java.nms_WorldProviderEnd_doesXZShowFog(this, var_1, var_2); }],
nlea_EaglerAdapterImpl2$BufferedImageElem, "EaglerAdapterImpl2$BufferedImageElem", 83, jl_Object, [], 0, 0, 0, 0,
jt_MessageFormat$FieldContainer, "MessageFormat$FieldContainer", 19, jl_Object, [], 0, 0, 0, 0,
jt_MessageFormat$Field, "MessageFormat$Field", 19, jt_Format$Field, [], 0, 3, 0, 0,
nms_InventoryCraftResult, "InventoryCraftResult", 79, jl_Object, [nms_IInventory], 0, 3, 0, ["$getStackInSlot", function(var_1) { return $java.nms_InventoryCraftResult_getStackInSlot(this, var_1); }, "$decrStackSize", function(var_1, var_2) { return $java.nms_InventoryCraftResult_decrStackSize(this, var_1, var_2); }, "$setInventorySlotContents", function(var_1, var_2) { $java.nms_InventoryCraftResult_setInventorySlotContents(this, var_1, var_2); }, "$getInventoryStackLimit", function() { return $java.nms_InventoryCraftResult_getInventoryStackLimit(this);
}, "$onInventoryChanged", function() { $java.nms_InventoryCraftResult_onInventoryChanged(this); }],
nms_SlotCrafting, "SlotCrafting", 79, nms_Slot, [], 0, 3, 0, ["$isItemValid", function(var_1) { return $java.nms_SlotCrafting_isItemValid(this, var_1); }, "$decrStackSize0", function(var_1) { return $java.nms_SlotCrafting_decrStackSize(this, var_1); }, "$onCrafting", function(var_1, var_2) { $java.nms_SlotCrafting_onCrafting(this, var_1, var_2); }, "$onPickupFromSlot", function(var_1, var_2) { $java.nms_SlotCrafting_onPickupFromSlot(this, var_1, var_2); }],
nms_SlotArmor, "SlotArmor", 79, nms_Slot, [], 0, 0, 0, ["$getSlotStackLimit", function() { return $java.nms_SlotArmor_getSlotStackLimit(this); }, "$isItemValid", function(var_1) { return $java.nms_SlotArmor_isItemValid(this, var_1); }, "$getBackgroundIconIndex", function() { return $java.nms_SlotArmor_getBackgroundIconIndex(this); }],
nlea_EaglerAdapterImpl2$15, "EaglerAdapterImpl2$15", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$15_handleEvent$exported$0(this, var_1); }],
nlea_EaglerAdapterImpl2$16, "EaglerAdapterImpl2$16", 83, jl_Object, [otjde_EventListener], 4, 0, 0, ["$handleEvent$exported$0", function(var_1) { return $java.nlea_EaglerAdapterImpl2$16_handleEvent$exported$0(this, var_1); }]]);
$rt_metadata([nms_SoundUpdaterMinecart, "SoundUpdaterMinecart", 79, jl_Object, [nms_IUpdatePlayerListBox], 0, 3, 0, 0,
nms_CraftingManager, "CraftingManager", 79, jl_Object, [], 0, 3, $java.nms_CraftingManager_$callClinit, 0,
jl_ArrayIndexOutOfBoundsException, "ArrayIndexOutOfBoundsException", 22, jl_IndexOutOfBoundsException, [], 0, 3, 0, 0,
jsm_SysexMessage, "SysexMessage", 27, jsm_MidiMessage, [], 0, 3, 0, 0,
csms_FastShortMessage, "FastShortMessage", 5, jsm_ShortMessage, [], 4, 0, 0, ["$getMessage1", function() { return $java.csms_FastShortMessage_getMessage(this); }, "$getLength", function() { return $java.csms_FastShortMessage_getLength(this); }, "$getStatus", function() { return $java.csms_FastShortMessage_getStatus(this); }],
nms_ChunkProviderClient, "ChunkProviderClient", 79, jl_Object, [nms_IChunkProvider], 0, 3, 0, 0,
jt_AttributedString, "AttributedString", 19, jl_Object, [], 0, 3, 0, 0,
nms_LongHashMap, "LongHashMap", 79, jl_Object, [], 0, 3, 0, 0,
nms_EmptyChunk, "EmptyChunk", 79, nms_Chunk, [], 0, 3, 0, ["$generateHeightMap", function() { $java.nms_EmptyChunk_generateHeightMap(this); }, "$generateSkylightMap", function() { $java.nms_EmptyChunk_generateSkylightMap(this); }, "$getBlockID", function(var_1, var_2, var_3) { return $java.nms_EmptyChunk_getBlockID(this, var_1, var_2, var_3); }, "$getBlockLightOpacity", function(var_1, var_2, var_3) { return $java.nms_EmptyChunk_getBlockLightOpacity(this, var_1, var_2, var_3); }, "$setBlockIDWithMetadata", function(var_1,
var_2, var_3, var_4, var_5) { return $java.nms_EmptyChunk_setBlockIDWithMetadata(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockMetadata", function(var_1, var_2, var_3) { return $java.nms_EmptyChunk_getBlockMetadata(this, var_1, var_2, var_3); }, "$setBlockMetadata", function(var_1, var_2, var_3, var_4) { return $java.nms_EmptyChunk_setBlockMetadata(this, var_1, var_2, var_3, var_4); }, "$getSavedLightValue", function(var_1, var_2, var_3, var_4) { return $java.nms_EmptyChunk_getSavedLightValue(this,
var_1, var_2, var_3, var_4); }, "$setLightValue", function(var_1, var_2, var_3, var_4, var_5) { $java.nms_EmptyChunk_setLightValue(this, var_1, var_2, var_3, var_4, var_5); }, "$getBlockLightValue", function(var_1, var_2, var_3, var_4) { return $java.nms_EmptyChunk_getBlockLightValue(this, var_1, var_2, var_3, var_4); }, "$addEntity", function(var_1) { $java.nms_EmptyChunk_addEntity(this, var_1); }, "$removeEntity", function(var_1) { $java.nms_EmptyChunk_removeEntity(this, var_1); }, "$removeEntityAtIndex",
function(var_1, var_2) { $java.nms_EmptyChunk_removeEntityAtIndex(this, var_1, var_2); }, "$canBlockSeeTheSky", function(var_1, var_2, var_3) { return $java.nms_EmptyChunk_canBlockSeeTheSky(this, var_1, var_2, var_3); }, "$getChunkBlockTileEntity", function(var_1, var_2, var_3) { return $java.nms_EmptyChunk_getChunkBlockTileEntity(this, var_1, var_2, var_3); }, "$setChunkBlockTileEntity", function(var_1, var_2, var_3, var_4) { $java.nms_EmptyChunk_setChunkBlockTileEntity(this, var_1, var_2, var_3, var_4); },
"$removeChunkBlockTileEntity", function(var_1, var_2, var_3) { $java.nms_EmptyChunk_removeChunkBlockTileEntity(this, var_1, var_2, var_3); }, "$onChunkUnload", function() { $java.nms_EmptyChunk_onChunkUnload(this); }, "$setChunkModified", function() { $java.nms_EmptyChunk_setChunkModified(this); }, "$getEntitiesWithinAABBForEntity", function(var_1, var_2, var_3, var_4) { $java.nms_EmptyChunk_getEntitiesWithinAABBForEntity(this, var_1, var_2, var_3, var_4); }, "$getEntitiesOfTypeWithinAAAB", function(var_1, var_2,
var_3, var_4) { $java.nms_EmptyChunk_getEntitiesOfTypeWithinAAAB(this, var_1, var_2, var_3, var_4); }, "$isEmpty", function() { return $java.nms_EmptyChunk_isEmpty(this); }, "$getAreLevelsEmpty", function(var_1, var_2) { return $java.nms_EmptyChunk_getAreLevelsEmpty(this, var_1, var_2); }],
nms_LongHashMapEntry, "LongHashMapEntry", 79, jl_Object, [], 0, 0, 0, 0,
nms_RecipesTools, "RecipesTools", 79, jl_Object, [], 0, 3, 0, 0,
nms_RecipesWeapons, "RecipesWeapons", 79, jl_Object, [], 0, 3, 0, 0,
nms_RecipesIngots, "RecipesIngots", 79, jl_Object, [], 0, 3, 0, 0,
nms_RecipesFood, "RecipesFood", 79, jl_Object, [], 0, 3, 0, 0,
nms_RecipesCrafting, "RecipesCrafting", 79, jl_Object, [], 0, 3, 0, 0,
nms_RecipesArmor, "RecipesArmor", 79, jl_Object, [], 0, 3, 0, 0,
nms_RecipesDyes, "RecipesDyes", 79, jl_Object, [], 0, 3, 0, 0,
nms_IRecipe, "IRecipe", 79, jl_Object, [], 3, 3, 0, 0,
nms_RecipesArmorDyes, "RecipesArmorDyes", 79, jl_Object, [nms_IRecipe], 0, 3, 0, ["$matches3", function(var_1, var_2) { return $java.nms_RecipesArmorDyes_matches(this, var_1, var_2); }, "$getCraftingResult", function(var_1) { return $java.nms_RecipesArmorDyes_getCraftingResult(this, var_1); }, "$getRecipeSize", function() { return $java.nms_RecipesArmorDyes_getRecipeSize(this); }],
nms_RecipesMapCloning, "RecipesMapCloning", 79, jl_Object, [nms_IRecipe], 0, 3, 0, ["$matches3", function(var_1, var_2) { return $java.nms_RecipesMapCloning_matches(this, var_1, var_2); }, "$getCraftingResult", function(var_1) { return $java.nms_RecipesMapCloning_getCraftingResult(this, var_1); }, "$getRecipeSize", function() { return $java.nms_RecipesMapCloning_getRecipeSize(this); }],
nms_ShapedRecipes, "ShapedRecipes", 79, jl_Object, [nms_IRecipe], 0, 3, 0, ["$matches3", function(var_1, var_2) { return $java.nms_ShapedRecipes_matches(this, var_1, var_2); }, "$getCraftingResult", function(var_1) { return $java.nms_ShapedRecipes_getCraftingResult(this, var_1); }, "$getRecipeSize", function() { return $java.nms_ShapedRecipes_getRecipeSize(this); }],
nms_RecipesMapExtending, "RecipesMapExtending", 79, nms_ShapedRecipes, [], 0, 3, 0, ["$matches3", function(var_1, var_2) { return $java.nms_RecipesMapExtending_matches(this, var_1, var_2); }, "$getCraftingResult", function(var_1) { return $java.nms_RecipesMapExtending_getCraftingResult(this, var_1); }],
nms_RecipeFireworks, "RecipeFireworks", 79, jl_Object, [nms_IRecipe], 0, 3, 0, ["$matches3", function(var_1, var_2) { return $java.nms_RecipeFireworks_matches(this, var_1, var_2); }, "$getCraftingResult", function(var_1) { return $java.nms_RecipeFireworks_getCraftingResult(this, var_1); }, "$getRecipeSize", function() { return $java.nms_RecipeFireworks_getRecipeSize(this); }],
nms_RecipeSorter, "RecipeSorter", 79, jl_Object, [ju_Comparator], 0, 0, 0, ["$compare", function(var_1, var_2) { return $java.nms_RecipeSorter_compare(this, var_1, var_2); }],
nms_GuiChest, "GuiChest", 79, nms_GuiContainer, [], 0, 3, 0, ["$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiChest_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiChest_drawGuiContainerBackgroundLayer(this, var_1, var_2, var_3); }],
nms_GuiCrafting, "GuiCrafting", 79, nms_GuiContainer, [], 0, 3, 0, ["$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiCrafting_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiCrafting_drawGuiContainerBackgroundLayer(this, var_1, var_2, var_3); }],
nms_GuiBeacon, "GuiBeacon", 79, nms_GuiContainer, [], 0, 3, 0, ["$initGui", function() { $java.nms_GuiBeacon_initGui(this); }, "$updateScreen", function() { $java.nms_GuiBeacon_updateScreen(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiBeacon_actionPerformed(this, var_1); }, "$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiBeacon_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiBeacon_drawGuiContainerBackgroundLayer(this,
var_1, var_2, var_3); }],
nms_GuiDispenser, "GuiDispenser", 79, nms_GuiContainer, [], 0, 3, 0, ["$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiDispenser_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiDispenser_drawGuiContainerBackgroundLayer(this, var_1, var_2, var_3); }],
nms_GuiHopper, "GuiHopper", 79, nms_GuiContainer, [], 0, 3, 0, ["$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiHopper_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiHopper_drawGuiContainerBackgroundLayer(this, var_1, var_2, var_3); }],
nms_GuiBrewingStand, "GuiBrewingStand", 79, nms_GuiContainer, [], 0, 3, 0, ["$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiBrewingStand_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiBrewingStand_drawGuiContainerBackgroundLayer(this, var_1, var_2, var_3); }],
nms_GuiEnchantment, "GuiEnchantment", 79, nms_GuiContainer, [], 0, 3, 0, ["$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiEnchantment_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$updateScreen", function() { $java.nms_GuiEnchantment_updateScreen(this); }, "$mouseClicked", function(var_1, var_2, var_3) { $java.nms_GuiEnchantment_mouseClicked(this, var_1, var_2, var_3); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiEnchantment_drawGuiContainerBackgroundLayer(this,
var_1, var_2, var_3); }],
nms_GuiFurnace, "GuiFurnace", 79, nms_GuiContainer, [], 0, 3, 0, ["$drawGuiContainerForegroundLayer", function(var_1, var_2) { $java.nms_GuiFurnace_drawGuiContainerForegroundLayer(this, var_1, var_2); }, "$drawGuiContainerBackgroundLayer", function(var_1, var_2, var_3) { $java.nms_GuiFurnace_drawGuiContainerBackgroundLayer(this, var_1, var_2, var_3); }],
csms_MidiUtils, "MidiUtils", 5, jl_Object, [], 4, 3, 0, 0,
jt_AttributedString$AttributedIterator, "AttributedString$AttributedIterator", 19, jl_Object, [jt_AttributedCharacterIterator], 0, 0, 0, 0,
nms_ShapelessRecipes, "ShapelessRecipes", 79, jl_Object, [nms_IRecipe], 0, 3, 0, ["$matches3", function(var_1, var_2) { return $java.nms_ShapelessRecipes_matches(this, var_1, var_2); }, "$getCraftingResult", function(var_1) { return $java.nms_ShapelessRecipes_getCraftingResult(this, var_1); }, "$getRecipeSize", function() { return $java.nms_ShapelessRecipes_getRecipeSize(this); }],
nms_EntityDamageSource, "EntityDamageSource", 79, nms_DamageSource, [], 0, 3, 0, ["$getEntity", function() { return $java.nms_EntityDamageSource_getEntity(this); }],
nms_ContainerChest, "ContainerChest", 79, nms_Container, [], 0, 3, 0, ["$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerChest_transferStackInSlot(this, var_1, var_2); }, "$onCraftGuiClosed", function(var_1) { $java.nms_ContainerChest_onCraftGuiClosed(this, var_1); }],
nms_ContainerBeacon, "ContainerBeacon", 79, nms_Container, [], 0, 3, 0, ["$addCraftingToCrafters", function(var_1) { $java.nms_ContainerBeacon_addCraftingToCrafters(this, var_1); }, "$detectAndSendChanges", function() { $java.nms_ContainerBeacon_detectAndSendChanges(this); }, "$updateProgressBar", function(var_1, var_2) { $java.nms_ContainerBeacon_updateProgressBar(this, var_1, var_2); }, "$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerBeacon_transferStackInSlot(this, var_1, var_2);
}],
nms_ContainerRepair, "ContainerRepair", 79, nms_Container, [], 0, 3, 0, ["$addCraftingToCrafters", function(var_1) { $java.nms_ContainerRepair_addCraftingToCrafters(this, var_1); }, "$updateProgressBar", function(var_1, var_2) { $java.nms_ContainerRepair_updateProgressBar(this, var_1, var_2); }, "$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerRepair_transferStackInSlot(this, var_1, var_2); }],
nms_ContainerDispenser, "ContainerDispenser", 79, nms_Container, [], 0, 3, 0, ["$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerDispenser_transferStackInSlot(this, var_1, var_2); }],
nms_ContainerHopper, "ContainerHopper", 79, nms_Container, [], 0, 3, 0, ["$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerHopper_transferStackInSlot(this, var_1, var_2); }, "$onCraftGuiClosed", function(var_1) { $java.nms_ContainerHopper_onCraftGuiClosed(this, var_1); }],
nms_ContainerMerchant, "ContainerMerchant", 79, nms_Container, [], 0, 3, 0, ["$addCraftingToCrafters", function(var_1) { $java.nms_ContainerMerchant_addCraftingToCrafters(this, var_1); }, "$detectAndSendChanges", function() { $java.nms_ContainerMerchant_detectAndSendChanges(this); }, "$updateProgressBar", function(var_1, var_2) { $java.nms_ContainerMerchant_updateProgressBar(this, var_1, var_2); }, "$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerMerchant_transferStackInSlot(this, var_1,
var_2); }, "$onCraftGuiClosed", function(var_1) { $java.nms_ContainerMerchant_onCraftGuiClosed(this, var_1); }],
nms_ContainerBrewingStand, "ContainerBrewingStand", 79, nms_Container, [], 0, 3, 0, ["$addCraftingToCrafters", function(var_1) { $java.nms_ContainerBrewingStand_addCraftingToCrafters(this, var_1); }, "$detectAndSendChanges", function() { $java.nms_ContainerBrewingStand_detectAndSendChanges(this); }, "$updateProgressBar", function(var_1, var_2) { $java.nms_ContainerBrewingStand_updateProgressBar(this, var_1, var_2); }, "$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerBrewingStand_transferStackInSlot(this,
var_1, var_2); }],
nms_ContainerEnchantment, "ContainerEnchantment", 79, nms_Container, [], 0, 3, 0, ["$addCraftingToCrafters", function(var_1) { $java.nms_ContainerEnchantment_addCraftingToCrafters(this, var_1); }, "$detectAndSendChanges", function() { $java.nms_ContainerEnchantment_detectAndSendChanges(this); }, "$updateProgressBar", function(var_1, var_2) { $java.nms_ContainerEnchantment_updateProgressBar(this, var_1, var_2); }, "$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerEnchantment_transferStackInSlot(this,
var_1, var_2); }],
nms_ContainerFurnace, "ContainerFurnace", 79, nms_Container, [], 0, 3, 0, ["$addCraftingToCrafters", function(var_1) { $java.nms_ContainerFurnace_addCraftingToCrafters(this, var_1); }, "$detectAndSendChanges", function() { $java.nms_ContainerFurnace_detectAndSendChanges(this); }, "$updateProgressBar", function(var_1, var_2) { $java.nms_ContainerFurnace_updateProgressBar(this, var_1, var_2); }, "$transferStackInSlot", function(var_1, var_2) { return $java.nms_ContainerFurnace_transferStackInSlot(this, var_1,
var_2); }],
oj_JSONString, "JSONString", 65, jl_Object, [], 3, 3, 0, 0,
nms_EntityDamageSourceIndirect, "EntityDamageSourceIndirect", 79, nms_EntityDamageSource, [], 0, 3, 0, ["$getSourceOfDamage", function() { return $java.nms_EntityDamageSourceIndirect_getSourceOfDamage(this); }, "$getEntity", function() { return $java.nms_EntityDamageSourceIndirect_getEntity(this); }],
nms_SlotBeacon, "SlotBeacon", 79, nms_Slot, [], 0, 0, 0, ["$isItemValid", function(var_1) { return $java.nms_SlotBeacon_isItemValid(this, var_1); }, "$getSlotStackLimit", function() { return $java.nms_SlotBeacon_getSlotStackLimit(this); }],
nms_InventoryRepair, "InventoryRepair", 79, nms_InventoryBasic, [], 0, 0, 0, ["$onInventoryChanged", function() { $java.nms_InventoryRepair_onInventoryChanged(this); }],
nms_SlotRepair, "SlotRepair", 79, nms_Slot, [], 0, 0, 0, ["$isItemValid", function(var_1) { return $java.nms_SlotRepair_isItemValid(this, var_1); }, "$canTakeStack", function(var_1) { return $java.nms_SlotRepair_canTakeStack(this, var_1); }, "$onPickupFromSlot", function(var_1, var_2) { $java.nms_SlotRepair_onPickupFromSlot(this, var_1, var_2); }]]);
$rt_metadata([nms_SlotMerchantResult, "SlotMerchantResult", 79, nms_Slot, [], 0, 3, 0, ["$isItemValid", function(var_1) { return $java.nms_SlotMerchantResult_isItemValid(this, var_1); }, "$decrStackSize0", function(var_1) { return $java.nms_SlotMerchantResult_decrStackSize(this, var_1); }, "$onCrafting", function(var_1, var_2) { $java.nms_SlotMerchantResult_onCrafting(this, var_1, var_2); }, "$onPickupFromSlot", function(var_1, var_2) { $java.nms_SlotMerchantResult_onPickupFromSlot(this, var_1, var_2); }],
nms_SlotBrewingStandPotion, "SlotBrewingStandPotion", 79, nms_Slot, [], 0, 0, 0, ["$isItemValid", function(var_1) { return $java.nms_SlotBrewingStandPotion_isItemValid(this, var_1); }, "$getSlotStackLimit", function() { return $java.nms_SlotBrewingStandPotion_getSlotStackLimit(this); }, "$onPickupFromSlot", function(var_1, var_2) { $java.nms_SlotBrewingStandPotion_onPickupFromSlot(this, var_1, var_2); }],
nms_SlotBrewingStandIngredient, "SlotBrewingStandIngredient", 79, nms_Slot, [], 0, 0, 0, ["$isItemValid", function(var_1) { return $java.nms_SlotBrewingStandIngredient_isItemValid(this, var_1); }, "$getSlotStackLimit", function() { return $java.nms_SlotBrewingStandIngredient_getSlotStackLimit(this); }],
nms_SlotEnchantmentTable, "SlotEnchantmentTable", 79, nms_InventoryBasic, [], 0, 0, 0, ["$getInventoryStackLimit", function() { return $java.nms_SlotEnchantmentTable_getInventoryStackLimit(this); }, "$onInventoryChanged", function() { $java.nms_SlotEnchantmentTable_onInventoryChanged(this); }],
nms_SlotEnchantment, "SlotEnchantment", 79, nms_Slot, [], 0, 0, 0, ["$isItemValid", function(var_1) { return $java.nms_SlotEnchantment_isItemValid(this, var_1); }],
nms_SlotFurnace, "SlotFurnace", 79, nms_Slot, [], 0, 3, 0, ["$isItemValid", function(var_1) { return $java.nms_SlotFurnace_isItemValid(this, var_1); }, "$decrStackSize0", function(var_1) { return $java.nms_SlotFurnace_decrStackSize(this, var_1); }, "$onPickupFromSlot", function(var_1, var_2) { $java.nms_SlotFurnace_onPickupFromSlot(this, var_1, var_2); }, "$onCrafting", function(var_1, var_2) { $java.nms_SlotFurnace_onCrafting0(this, var_1, var_2); }],
cjj_DeflaterOutputStream, "DeflaterOutputStream", 2, ji_FilterOutputStream, [], 0, 3, 0, ["$write2", function(var_1) { $java.cjj_DeflaterOutputStream_write(this, var_1); }, "$write1", function(var_1, var_2, var_3) { $java.cjj_DeflaterOutputStream_write0(this, var_1, var_2, var_3); }, "$close", function() { $java.cjj_DeflaterOutputStream_close(this); }, "$flush", function() { $java.cjj_DeflaterOutputStream_flush(this); }],
cjj_GZIPOutputStream, "GZIPOutputStream", 2, cjj_DeflaterOutputStream, [], 0, 3, 0, 0,
cjj_Deflater, "Deflater", 2, cjj_ZStream, [], 4, 3, 0, 0,
ju_IdentityHashMap, "IdentityHashMap", 8, ju_AbstractMap, [jl_Cloneable, ji_Serializable], 0, 3, 0, 0,
ju_SetFromMap, "SetFromMap", 8, ju_AbstractSet, [], 0, 3, 0, 0,
oj_JSONPropertyIgnore, "JSONPropertyIgnore", 65, jl_Object, [jla_Annotation], 19, 3, 0, 0,
oj_JSONPropertyName, "JSONPropertyName", 65, jl_Object, [jla_Annotation], 19, 3, 0, 0,
jl_SecurityException, "SecurityException", 22, jl_RuntimeException, [], 0, 3, 0, 0,
jt_AttributedString$Range, "AttributedString$Range", 19, jl_Object, [], 0, 0, 0, 0,
csms_MidiUtils$TempoCache, "MidiUtils$TempoCache", 5, jl_Object, [], 4, 3, 0, 0,
ju_IdentityHashMap$HashEntry, "IdentityHashMap$HashEntry", 8, ju_MapEntry, [], 0, 0, 0, 0,
nms_FurnaceRecipes, "FurnaceRecipes", 79, jl_Object, [], 0, 3, 0, 0,
nms_GuiEditSign, "GuiEditSign", 79, nms_GuiScreen, [], 0, 3, nms_GuiEditSign_$callClinit, ["$initGui", function() { $java.nms_GuiEditSign_initGui(this); }, "$onGuiClosed", function() { $java.nms_GuiEditSign_onGuiClosed(this); }, "$updateScreen", function() { $java.nms_GuiEditSign_updateScreen(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiEditSign_actionPerformed(this, var_1); }, "$keyTyped", function(var_1, var_2) { $java.nms_GuiEditSign_keyTyped(this, var_1, var_2); }, "$drawScreen", function(var_1,
var_2, var_3) { $java.nms_GuiEditSign_drawScreen(this, var_1, var_2, var_3); }],
nms_GuiCommandBlock, "GuiCommandBlock", 79, nms_GuiScreen, [], 0, 3, 0, ["$updateScreen", function() { $java.nms_GuiCommandBlock_updateScreen(this); }, "$initGui", function() { $java.nms_GuiCommandBlock_initGui(this); }, "$onGuiClosed", function() { $java.nms_GuiCommandBlock_onGuiClosed(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiCommandBlock_actionPerformed(this, var_1); }, "$keyTyped", function(var_1, var_2) { $java.nms_GuiCommandBlock_keyTyped(this, var_1, var_2); }, "$mouseClicked", function(var_1,
var_2, var_3) { $java.nms_GuiCommandBlock_mouseClicked(this, var_1, var_2, var_3); }, "$drawScreen", function(var_1, var_2, var_3) { $java.nms_GuiCommandBlock_drawScreen(this, var_1, var_2, var_3); }],
nms_EntityFireworkStarterFX, "EntityFireworkStarterFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityFireworkStarterFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityFireworkStarterFX_onUpdate(this); }, "$getFXLayer", function() { return $java.nms_EntityFireworkStarterFX_getFXLayer(this); }],
nms_EntityHugeExplodeFX, "EntityHugeExplodeFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityHugeExplodeFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityHugeExplodeFX_onUpdate(this); }, "$getFXLayer", function() { return $java.nms_EntityHugeExplodeFX_getFXLayer(this); }],
nms_EntityBubbleFX, "EntityBubbleFX", 79, nms_EntityFX, [], 0, 3, 0, ["$onUpdate", function() { $java.nms_EntityBubbleFX_onUpdate(this); }],
nms_EntitySuspendFX, "EntitySuspendFX", 79, nms_EntityFX, [], 0, 3, 0, ["$onUpdate", function() { $java.nms_EntitySuspendFX_onUpdate(this); }],
nms_EntityAuraFX, "EntityAuraFX", 79, nms_EntityFX, [], 0, 3, 0, ["$onUpdate", function() { $java.nms_EntityAuraFX_onUpdate(this); }],
nms_EntityCritFX, "EntityCritFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityCritFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityCritFX_onUpdate(this); }],
nms_EntitySpellParticleFX, "EntitySpellParticleFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntitySpellParticleFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntitySpellParticleFX_onUpdate(this); }],
nms_EntityNoteFX, "EntityNoteFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityNoteFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityNoteFX_onUpdate(this); }],
nms_EntityPortalFX, "EntityPortalFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityPortalFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getBrightnessForRender", function(var_1) { return $java.nms_EntityPortalFX_getBrightnessForRender(this, var_1); }, "$onUpdate", function() { $java.nms_EntityPortalFX_onUpdate(this); }],
nms_EntityEnchantmentTableParticleFX, "EntityEnchantmentTableParticleFX", 79, nms_EntityFX, [], 0, 3, 0, ["$getBrightnessForRender", function(var_1) { return $java.nms_EntityEnchantmentTableParticleFX_getBrightnessForRender(this, var_1); }, "$onUpdate", function() { $java.nms_EntityEnchantmentTableParticleFX_onUpdate(this); }],
nms_EntityExplodeFX, "EntityExplodeFX", 79, nms_EntityFX, [], 0, 3, 0, ["$onUpdate", function() { $java.nms_EntityExplodeFX_onUpdate(this); }],
nms_EntityFlameFX, "EntityFlameFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityFlameFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getBrightnessForRender", function(var_1) { return $java.nms_EntityFlameFX_getBrightnessForRender(this, var_1); }, "$onUpdate", function() { $java.nms_EntityFlameFX_onUpdate(this); }],
nms_EntityLavaFX, "EntityLavaFX", 79, nms_EntityFX, [], 0, 3, 0, ["$getBrightnessForRender", function(var_1) { return $java.nms_EntityLavaFX_getBrightnessForRender(this, var_1); }, "$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityLavaFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityLavaFX_onUpdate(this); }],
nms_EntityFootStepFX, "EntityFootStepFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityFootStepFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityFootStepFX_onUpdate(this); }, "$getFXLayer", function() { return $java.nms_EntityFootStepFX_getFXLayer(this); }],
nms_EntitySplashFX, "EntitySplashFX", 79, nms_EntityRainFX, [], 0, 3, 0, 0,
nms_EntityCloudFX, "EntityCloudFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityCloudFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityCloudFX_onUpdate(this); }],
nms_EntityReddustFX, "EntityReddustFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityReddustFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityReddustFX_onUpdate(this); }],
nms_EntityBreakingFX, "EntityBreakingFX", 79, nms_EntityFX, [], 0, 3, 0, ["$getFXLayer", function() { return $java.nms_EntityBreakingFX_getFXLayer(this); }, "$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityBreakingFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_EntityDropParticleFX, "EntityDropParticleFX", 79, nms_EntityFX, [], 0, 3, 0, ["$getBrightnessForRender", function(var_1) { return $java.nms_EntityDropParticleFX_getBrightnessForRender(this, var_1); }, "$onUpdate", function() { $java.nms_EntityDropParticleFX_onUpdate(this); }],
nms_EntitySnowShovelFX, "EntitySnowShovelFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntitySnowShovelFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntitySnowShovelFX_onUpdate(this); }],
nms_EntityHeartFX, "EntityHeartFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityHeartFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityHeartFX_onUpdate(this); }],
nms_EntityLargeExplodeFX, "EntityLargeExplodeFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityLargeExplodeFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$getBrightnessForRender", function(var_1) { return $java.nms_EntityLargeExplodeFX_getBrightnessForRender(this, var_1); }, "$onUpdate", function() { $java.nms_EntityLargeExplodeFX_onUpdate(this); }, "$getFXLayer", function() { return $java.nms_EntityLargeExplodeFX_getFXLayer(this);
}],
nms_EntityFireworkSparkFX, "EntityFireworkSparkFX", 79, nms_EntityFX, [], 0, 3, 0, ["$getBoundingBox", function() { return $java.nms_EntityFireworkSparkFX_getBoundingBox(this); }, "$canBePushed", function() { return $java.nms_EntityFireworkSparkFX_canBePushed(this); }, "$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityFireworkSparkFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }, "$onUpdate", function() { $java.nms_EntityFireworkSparkFX_onUpdate(this);
}, "$getBrightnessForRender", function(var_1) { return $java.nms_EntityFireworkSparkFX_getBrightnessForRender(this, var_1); }],
nms_GuiBeaconButton, "GuiBeaconButton", 79, nms_GuiButton, [], 0, 0, 0, ["$drawButton", function(var_1, var_2, var_3) { $java.nms_GuiBeaconButton_drawButton(this, var_1, var_2, var_3); }],
nms_GuiBeaconButtonConfirm, "GuiBeaconButtonConfirm", 79, nms_GuiBeaconButton, [], 0, 0, 0, ["$func_82251_b", function(var_1, var_2) { $java.nms_GuiBeaconButtonConfirm_func_82251_b(this, var_1, var_2); }],
nms_GuiBeaconButtonCancel, "GuiBeaconButtonCancel", 79, nms_GuiBeaconButton, [], 0, 0, 0, ["$func_82251_b", function(var_1, var_2) { $java.nms_GuiBeaconButtonCancel_func_82251_b(this, var_1, var_2); }],
nms_GuiButtonMerchant, "GuiButtonMerchant", 79, nms_GuiButton, [], 0, 0, 0, ["$drawButton", function(var_1, var_2, var_3) { $java.nms_GuiButtonMerchant_drawButton(this, var_1, var_2, var_3); }],
nms_GuiBeaconButtonPower, "GuiBeaconButtonPower", 79, nms_GuiBeaconButton, [], 0, 0, 0, ["$func_82251_b", function(var_1, var_2) { $java.nms_GuiBeaconButtonPower_func_82251_b(this, var_1, var_2); }],
nms_EnchantmentNameParts, "EnchantmentNameParts", 79, jl_Object, [], 0, 3, $java.nms_EnchantmentNameParts_$callClinit, 0,
jl_Class$MethodSignature, "Class$MethodSignature", 22, jl_Object, [], 4, 0, 0, ["$equals", function(var_1) { return $java.jl_Class$MethodSignature_equals(this, var_1); }, "$hashCode0", function() { return $java.jl_Class$MethodSignature_hashCode(this); }]]);
$rt_metadata([cjj_Tree, "Tree", 2, jl_Object, [], 4, 0, 0, 0,
jt_Annotation, "Annotation", 19, jl_Object, [], 0, 3, 0, 0,
nms_GuiScreenBook, "GuiScreenBook", 79, nms_GuiScreen, [], 0, 3, 0, ["$updateScreen", function() { $java.nms_GuiScreenBook_updateScreen(this); }, "$initGui", function() { $java.nms_GuiScreenBook_initGui(this); }, "$onGuiClosed", function() { $java.nms_GuiScreenBook_onGuiClosed(this); }, "$actionPerformed", function(var_1) { $java.nms_GuiScreenBook_actionPerformed(this, var_1); }, "$keyTyped", function(var_1, var_2) { $java.nms_GuiScreenBook_keyTyped(this, var_1, var_2); }, "$drawScreen", function(var_1, var_2,
var_3) { $java.nms_GuiScreenBook_drawScreen(this, var_1, var_2, var_3); }],
nms_EntityFireworkOverlayFX, "EntityFireworkOverlayFX", 79, nms_EntityFX, [], 0, 3, 0, ["$renderParticle", function(var_1, var_2, var_3, var_4, var_5, var_6, var_7) { $java.nms_EntityFireworkOverlayFX_renderParticle(this, var_1, var_2, var_3, var_4, var_5, var_6, var_7); }],
nms_PathFinder, "PathFinder", 79, jl_Object, [], 0, 3, 0, 0,
nms_InventoryLargeChest, "InventoryLargeChest", 79, jl_Object, [nms_IInventory], 0, 3, 0, ["$getSizeInventory", function() { return $java.nms_InventoryLargeChest_getSizeInventory(this); }, "$getStackInSlot", function(var_1) { return $java.nms_InventoryLargeChest_getStackInSlot(this, var_1); }, "$getInventoryStackLimit", function() { return $java.nms_InventoryLargeChest_getInventoryStackLimit(this); }],
nms_GuiButtonNextPage, "GuiButtonNextPage", 79, nms_GuiButton, [], 0, 0, 0, ["$drawButton", function(var_1, var_2, var_3) { $java.nms_GuiButtonNextPage_drawButton(this, var_1, var_2, var_3); }],
nms_Path, "Path", 79, jl_Object, [], 0, 3, 0, 0,
ju_AbstractList$TListIteratorImpl, "AbstractList$TListIteratorImpl", 8, jl_Object, [ju_ListIterator], 0, 0, 0, 0,
cjj_StaticTree, "StaticTree", 2, jl_Object, [], 4, 0, $java.cjj_StaticTree_$callClinit, 0]);
function $rt_array(cls, data) {
    this.$monitor = null;
    this.$id$ = 0;
    this.type = cls;
    this.data = data;
    this.constructor = $rt_arraycls(cls);
}
$rt_array.prototype = Object.create(($rt_objcls()).prototype);
$rt_array.prototype.toString = function() {
    var str = "[";
    for (var i = 0;i < this.data.length;++i) {
        if (i > 0) {
            str += ", ";
        }
        str += this.data[i].toString();
    }
    str += "]";
    return str;
};
$rt_setCloneMethod($rt_array.prototype, function() {
    var dataCopy;
    if ('slice' in this.data) {
        dataCopy = this.data.slice();
    } else {
        dataCopy = new this.data.constructor(this.data.length);
        for (var i = 0;i < dataCopy.length;++i) {
            dataCopy[i] = this.data[i];
        }
    }
    return new $rt_array(this.type, dataCopy);
});
$rt_stringPool(["Can\'t enter monitor from another thread synchronously", "@", " -------- starting minecraft -------- ", "Game Crashed! I have fallen and I can\'t get up! If this has happened more than once then please send the following text to ayunami2000#5250 on discord or https://discord.com/users/214118574485143553\n\nThe URL to this fork\'s GitHub repository is: https://github.com/ayunami2000/ayuncraft\n\n", "eaglercraft.version = \"", "22w20b", "\"\n", "eaglercraft.minecraft = \"1.5.2\"\n", "eaglercraft.brand = \"eagtek\"\n",
"eaglercraft.username = \"", "eaglercraft.channel = \"", "window.minecraftOpts", "window.navigator.userAgent", "window.navigator.vendor", "window.navigator.language", "window.navigator.hardwareConcurrency", "window.navigator.deviceMemory", "window.navigator.platform", "window.navigator.product", "rootElement.clientWidth = ", "rootElement.clientHeight = ", "window.innerWidth", "window.innerHeight", "window.outerWidth", "window.outerHeight", "window.devicePixelRatio", "window.screen.availWidth", "window.screen.availHeight",
"window.screen.colorDepth", "window.screen.pixelDepth", "window.currentContext", "window.location.href", "window.location.ancestorOrigins", "\n----- Begin Minecraft Config -----\n", "\n----- End Minecraft Config -----\n\n", "window.minecraftServer", "", "position:relative;", " = ", "Native Browser Exception\n", "----------------------------------\n", "  Line: ", "  Type: ", "  Message: ", "----------------------------------\n\n", "[]", "<init>", "<clinit>", "null", ": ", "    at ", "Caused by: ", "  at ", "Index out of bounds",
"String contains invalid digits: ", "String contains digits out of radix ", "The value is too big for int type: ", "String is null or empty", "Illegal radix: ", "#version 300 es", "https", "/", "UTF-8", "\r\n", "\n", "[\r\n]", "overflow-x:hidden;overflow-y:hidden;", "WebGL 2.0 is not supported in your browser (", ")", "mousedown", "wheel", "keyup", "screenshot_", ".png", "_eaglercraft.", "yyyy-MM-dd_HH.mm.ss", "NONE", "ESCAPE", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "MINUS", "EQUALS", "BACK", "TAB",
"Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "LBRACKET", "RBRACKET", "RETURN", "LCONTROL", "A", "S", "D", "F", "G", "H", "J", "K", "L", "SEMICOLON", "APOSTROPHE", "GRAVE", "LSHIFT", "BACKSLASH", "Z", "X", "C", "V", "B", "N", "M", "COMMA", "PERIOD", "SLASH", "RSHIFT", "MULTIPLY", "LMENU", "SPACE", "CAPITAL", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "NUMLOCK", "SCROLL", "NUMPAD7", "NUMPAD8", "NUMPAD9", "SUBTRACT", "NUMPAD4", "NUMPAD5", "NUMPAD6", "ADD", "NUMPAD1", "NUMPAD2", "NUMPAD3",
"NUMPAD0", "DECIMAL", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "KANA", "F19", "CONVERT", "NOCONVERT", "YEN", "NUMPADEQUALS", "CIRCUMFLEX", "AT", "COLON", "UNDERLINE", "KANJI", "STOP", "AX", "UNLABELED", "NUMPADENTER", "RCONTROL", "SECTION", "NUMPADCOMMA", "DIVIDE", "SYSRQ", "RMENU", "FUNCTION", "PAUSE", "HOME", "UP", "PRIOR", "LEFT", "RIGHT", "END", "DOWN", "NEXT", "INSERT", "DELETE", "CLEAR", "LMETA", "RMETA", "APPS", "POWER", "SLEEP", "a", "g", "p", "<error>", "profanity", "hide_down", "serverListTitle",
"serverListLink", "mainMenu", "mainMenuItem", "itemLine0", "itemLine1", "itemLine2", "itemLink", "servers", "default", "ws://", "wss://", "MOTD", "iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAAWonpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHja7ZpZjmO3lkX/OYoaAnseDoctUDOo4dfaVGRUOm0Dfnh+QH04w5YUiite8jS7IeXO//z3df/Fv9KruVya1V6r51/uucfBC/Off+M9Bp/f4/u3vv7E7795333/IfJW4jl9frX6df2P98P3AJ+nwavy00D2NVKYv/1Dz1/j2y8Dfd0oaUaRF/troP41UIqfP4SvAcZnWb52az8vYZ7P8/6xEvv87/SQ2hv7e5Bff8+N6O3CmynGk0LyPMaUPxNI+j+4NPhDfI+NC3nkdUz1Pf6ICQH5ozj5n2blfs3K96vwJ+//kpRUP+873vhtMOv38x++H8ofB9+9EP9057S+7/yb9/0J9dfl/Pj/3m3u3vNZ3ciVkNavRX1HRy+4cBLy9D5W+Wn8X3jd3k/nxxzVu8jOpmQnPyv0EEnLDTnsMMIN"
+ "5z2vsJhijieSkhjjIlF6z0hRjyt5R56yfsKNLfW0k5GtRXoT78bvuYR33/5ut4Jx4x24MgYGU9aj08Pf8fOnA92rkg/B23esmFdUoTINZU6PXEVCwv1RR+UF+MfPr/+U10QGywuzscDh52eIWcJXbamO0kt04sLC86ctQttfAxAi7l2YTEhkwNeQSqjBtxhbCMTRyM9gIKNp4iQFoZS4mWXMKVWSY1H35jMtvGtjiZ+3wSwSUWijRmp6GuQqA2zUT8tGDY2SSi6l1NKKlV5GTTXXUmttVeA3Wmq5lVZba9Z6G5YsW7FqzcxZt9FjT4AjiNlbt977GNx0MPLg04MLxphxpplnmXW2abPPsSiflVdZdbVlbvU1dtxpgxO77rZt9z1OOJTSyaecetqx08+4lNpNN99y623Xbr/jO2vBfdL6u5+/nrXwI2vxZUoXtu+s8dHWfgwRBCdFOSNjMQcy3pQBCjoqZ95CztEpdcqZ75GuKJFZFiVnB2WMDOYTYrnh"
+ "O3f/l7nf5M3l/G/lLf7InFPq/o7MOaXuTzL3+7z9Qdb2eKyZ3MuQ2lBB9Yn246IRjf/gpL/+7P7VD/wz0D8D/UcGGmGsOoOrnSbvPdWR2jqg9giht+pTsnBmhgWOjUXF72Zz5nZD3XPtdHqAuCu9bv5kW66m1Fe7MZUptVdCLuHruRnoVQGUWcYMfPbQoLumE3Mfe8Nx3IXZCNiuK3TtysBoR0C2yQjlpi525CPF78xYZfQ+9xzAglr/pAmC9XXLuMixX2Nk4/DjgQqgRC+Zdt0n5Hhjnmg4oDE3JpO2cc88Aa6wI8C10y3bbTTevDvFMyIIU0EV8LQiFEC7AibuVQo3QN4SqhmvggY+Ed94egGZEC5AmENOpFXH8j38Pkp63j3mbCNVnqtn4ikWu9nHuR5ipcB4qbiTwbvB5XmPuTqKpfDU+AUwPhcenqUx55ljY/UkchHmNTMpWL5s2MJA3uNOAIIRbZeL6tqs5voC4ufpLzGqqCEIft0OClsrxLkH"
+ "crHQ2RV8v2HP3GfbjhvYmYnQ3lGXeVvn9NSOR3bFdgoTP5MgdU9qmQChuExixlxifHFMkl/XUVVzhXYJwY4jxDkIO3DP7KxDN0Th+rWanbZnbDeN0+et7e5cxpnL2652Y3QzzNozayMzKdTFJef2IRIdixo626c8N5REZrn2sQcPp+wOvXV9IvQV3F1nMHU+Mu5Z/cZ9S2EOe+2R/Wnh1JQvFXiNxbUhQksEdu/a01WVqdxbcw2yvtXO2Cez6Bh2uaeskPhgup1L7okUDfHMbSV+pXRKsB4D/5GLkdukQF3x13ciMDPB7HtO2rG1GAYVWwqPuZMxGvJAl5eugQDbYjwEAHnY8xBy6eze774Tbp2+hVV1y7NmuSU1ap9uueh1ownyzkdlQDtOwYARS7QFeCDTeRw5457BmDakSZ+0TAs0Rjq2DNWY90KF4A+pDcI6VpvjkkPKuDC9nMY6FpoLNc1NUzL7imaHaXs55V7xL5pmjLaYSSoLFOkxMpV+G51J"
+ "++IV70pjt9kaeBRVAHNda2F0EiT1Y1WtlZh3JHUM301tRzkDRvP0fkhKPjuiGcZC32V1v5c0qkr1vHlQcRdVocQSqrwj7bWYbQpojzFRdylNnzbqzVYDG1DLnrC6s08Evga1ULWgXHqYa9FpM1rPgTcx82tIwF3QI90L0gBX1IGBcpav5einI56x9RWzlxVaB7dDPyoQC6FmiCkqKty85jHujYLa5wTyTWou1dUaHXH3caBl5DPMK81KW5KyUAdlG+hLWk8KkDSFfUdp6uZFwqj8ib9DnWXU4EyrRaQfZWqHi5CCpVGPxM9WGY8n+qAP020gIXZs0E/JgM30UISumRPiYGoW3WEBh/wPCdmyV+c5nk0SoQXKdtqY4BuGL+9ZFByaK94WACrQ3M5uaeGS0NmrpU1m9iWLYrfCp0kcBAX8jJJRrgeoIz+EBewZ2CAC0lUIEBZZMxrFsYQwQdIyWVDmuo5HrCVS53RtuhjEo5UAD7OuG2svjaAV468Y0r1S"
+ "rMxkusGquZAFcyWpjrCYtV1YOs2J4PTtotZHRelPim7CSiQ341aBOw9D7bNw2A5sv/lrFJXmT+OoChK1po6JCaShhsrpum4m8kIzwxeQB+yX3PbUIqBJAfVIdVicPvOZ9PK9BA1oayODNoXPH06C//DWlBCrBC9viA4oGpck9mEso5NIPAXdKW1xZ4W/4Ut+JQIUXqBZG1Ba6RTNbGEarxUtrRlpPnm/t+mTQT4pSz6kLqb+I1VtUGqwIZD0BHSOBP+tDE8empoSnduBK6JVaLy2PCUSNlPhZYct/d4kxkNldKIM/4AGjtgsduClnbB2If9tA/6UiNEFcyNfRqfxI+gaFg5BWqGBep4ygVcn4AM0TngQ5q2gCRBJGGpJtAD6yEMvlZqCZu48lecBSs9F5gJVixaibehDD6ENzZhZVn8TpelDHFuxXt5BXEZS0ToT6hGwUecgWyveGIzcUoYA7lr4da81QWTMTFh6tz9cTRY2WWPuVvagQAoloEaPoDBg"
+ "zBqZNCaqL/wvPMLHE6VI2ahJCHDDynWRNEXpatvoqppYy0z25bDaRjIuOApcuUsMZBDiRVKAHxA4spBfKrWK6dKSdnWTijt+1b4hLVIu/oM9Z8a+4dMusBMTSeuyYKBIQp+CWdJORdt5n2fAHwhAxM08xHqVbm/kPq6SiRkhRuqowsCadYjL8hsya/QUJheIXVhXsnPqdaiLmPxBkET/qOvOTehf56FgFsoVwChIy/wqLV+pRMpnI9xypHspVPSpQ8lSAVssH+YlU+i53aUUMpzlRSGL6oFXq8UTSDiMBrnCp4gqUY9WVrd7VIjSPWikS4k1hDJr0HwANoOtG5pt1Ga+rkNKhdkID+CSbHYVKQQgzIZexiApbVFlXIAu3RHKRPFpobRU5toD74Fs4F1WHhP5eUop2UbcoR0cMkFSBk0MwFH8/bShyfZ4pjTBLPtK41DfT05QlhYECKWQiUJaUO7jWQiUGy83zQOz+YcCTbyxeBhEC7XDpMLUToH0G2W6"
+ "IGYKCmiRvkzMGw1JvsWVkDq5gU2mbgnvIwr6pgyT9hpFOeQfjgQ8SWLF828UFSrLoOZWiqNRzdYAGPlosgmrQ4qweaHyYJ4rwn0gDG8EvbpDeomhBR8GslDMgcoGvcqphA3FRXWghwhJ4ENG8OmQwOdwL74ZaplZ05iIZUibBu83pThOg0LJ2lT77TIlFkvdRIDa3XAIEACOxEv38euVoCvUEryBWOC31xqHHjzhXIccQmJeaGogsTFTQDi9AjpD2doGpw4REgaW0H2gFVAMdRSBmzFVbNIIzBg1gge4wBRwvheoRX8sgAlQHiigm5SXpnRS84+KFiImAriSH0h71Nw+m8qOHYjTA63dN0DCXV+nIVaHntERr9LjKNqcEQFPYRgYjMrCVlXGXQ55PeRosSNv6wnoWkX+8PUN0QPDCkaFCnrDR0yXiJJb3mPaTBIKXXMgNAlZMDLNXDp/WNrrrBGBlJgrSo0EIdlTEqzS28Do0ekEtjY1IBuneHJw/QgL"
+ "wtOz/qN6znosdxG11CNca/NCTrgG3e3pAzqSZTbF4Bh3WViI4+nsc4mDl+HpIK8kUJMeQz5CT9yTGxBi8Pq1ENDCmslWb7mSuyTuh7mxITUg0IDGcPZCu5KsjTfliqv6xuiwXsCK+cBbcAt2Vjus2mTr9Gry2KwOguO5D8R5cQ1NxQBnUI+vNUTHcHpltbjkBnmj4PBKyASKEnkMcFJ82Zl0Kr6gcglBx5GmvsTBAKdQZDH/TolTwmNQzAli7NKcHtkNheKoyMXNjopQY+F4kXryUtinQWNkKhChADyJOx9ivqo6GbMH3mDqKFW0K3o3ILmpo0jsE3lInRFyMSB6gYG0jOlQqh/IC+fGHOAOBEBLIyONYtHqZ4qdm+fiCAIxQpGcZyIOUn2peJc1wbjB5moLlk8ecCHQ3gG3ESVgSgbt8PZqRPfk04XmoH7/oihR/I5sqFXuiRUAK3opgC3tC0UizydyrsjHJZGOzj9cEGnNCdSiTm2g1KjEHToDYNjV"
+ "tGgC7Cl2bKFDKTk+BYJD7R1yXJKF8pkOYERfAfwEep5z354RdsOehIEABkL50G6wC3gTgpS8PAvzNHgSvOxcFxxYXIJESmGxYbSD+wJ+6S7iXHPWtkylxc/SlsIWYiDUBwnuWDApE+Qlje56yFTGFQVRUUQYxRCHhOAiIrzDRUvuhfnge5rPqoe9tF2EI5DXgNn6diAK1EYmfIWDAw4iFfi4IvatM0d4DXuBwKcD2sHxoLJQ4iQB+iHPJiHYpnfadgEAQF7rYBSmr1L9irBU/00ZvwsdIFVgMaMFznrbBpH+lu8LPpoRVqcZAhfobOIjMFnwJMUUYgXrUTxWcYpDch5I7fhEXrSqfO6E6KEXnklwr14JH+oApQYDglgIVoCRXiTQseIwjo7gkrQWN0dk2MCfSIIDwyAr9FExxytDwFVSFEKQDadcqFWZHeIDLEGrSNaoAAmTSRckTinkhP6mhsFtbBbVXCTCrFVPtCHpTi4MHYNZMCKj1iH9MR9FAdr4"
+ "dVNz2c5puYibw8PGhJ42jFzVBhdsyJxo26MNI3yFxkg6KCBlLL6SIcQP09zaTWQty2UdeIDpSLvzbpHi1PbY0t4etEMyWVvSAQb5v03DAwa2CyqYcK+LX+H2rhPS4qljjEIYR6c66NAkqVoLfgfeBhwAZB1g2CaXh/YlPDoaQbaQNmxjaY4lyLs1+SFPxVb5VmRul5NlBZOR4SrAPkhnFlAgyVB7yWt0KEPeDCS50ID8RMdRoqaJi4eAzdy145GmkEhE9MwiZoub31TO6lOmkrYndGX66VBgfstfRBQEkk42DeqEIaFXEXeuGH58PJqt142sDTcnbDs5Pn5olyBqa1LGD0MbMAkZ0RICXin7jV9G/UOMD8FWUWui0aHS9LbHwPyq06UM/EB9IK5jqdgmYat2vJA6TXU1m5gkkd0cvY65MBIFcRSLBydYEXGT8+zlar8Esabtw9ze1iRmM442QgCZrqFNJZEAbml27PBE3pwhapCVZpoJVmsmjINahztT"
+ "UI/SQNUj8HDJeBmsDSoBAgbG4BhcEDzaqPYAoCHcADGEOBnW1nSl/485X7gdqRoCACwXvU+PgsVVuUX0z5rLMrQXUp/mloYfI5+tDStoGTQroDKyppIRorcKfoweD2FhjqlOrG+ReeD+XfSDaOb2Vzfbm+IgqSQR74smQrnrVFRMQ7iRCaS7Ju3FQh6Fe+Op4rgfS1akd0gACWm42adKjtemedSK3OthXlQz1HKuXd8Uod09BlGN/7actf8EXMLGZ4eD9KSx6G2xLt4fRLfh3h78G+rfe/5PDzQ7qh/Zj+FFEtVN/iDQUgEO2g2HhkwqKCx0A8WXAsof1NH+Trl0JOQN9aH0e6CKAG8kRJiUBEnFaOhUHnoi2zWli5NvyF7ShxtBsOPhBVCDFOxOUaMOB3rkgMX1MLhgdt352d1gsPRRRNCH3Ix/+3agcHFYsJUhDfwKLOCl1/DE2rGBuZCCE2I72hPQ4WwXop9VqzjXZOhim1hr4BwYwQjImnXtaqEY"
+ "ZBk7zNAjv2t3H9rvhv86tBtsTmMgzoySoE2w2EA3PdvctB48lm0AY6IvyCPNV25eewWz5Lc5B7JReQBdwdtEL/1DT8BnOrIAJSOVTcHCmtryn4glbwG+A5/gSpw8uI+bpLci3jNnOhbiRKz3Z7IyUrH6DNZvlL+ggklstPe4URArNYXAhHXQuwIfrHZVTMhke7gJ8Zj2GwkuJEm/N3e4DRYQ7qwbJOjauj6QSQLjHyXqQPzUGHFwkublFPK6KpIdZqbE8MgxILTwEg1qRulrx6RhZhEBrSEH/SZxj1p1qIY0wUwVlL7nxtQcEHCr9oNELjm5MbTXnDfNiJDQmTrxnga4XPhTOyhLWiGcnqW0iUmWutJHAFc/HxhhcQE2KbhgZhcZd/MiRBuqgaqJJbOeHhuwb8loGR3VIKoD9A2yrbcvQjVQx9c920l5nIKAifdt8tBPaPSgMyAmiBZG3NELqFgULZKROSHskM/RI/LJLLSAYqOq9SUK7GBf320HRL5T"
+ "UGhxosuzTh/gvnPpnGKqHcQYmD/Jxb9yTnvQ5IJZ6h3ORZTDIxgxHIl2sZAH0cGHsCfWiDUi2OiKj4ixTdIWnkAbHxAQikPb/9uqGDfOqDMbunoYNYUJdcg1/CKBGoVbAq0F1w8YSLMjUSV1aBSibPydN9DHqAmEAj2orR3URaG+vfM6cNJesYnUdMq0tPeN9kboVnFrx/6PjHhcOtQraiCMGlpEdSG9ijCMyYlAisefgl0T3tQ2TN06D0WHaaPY6HXA8erQU67FSyzR9qoDElFtLQSlOewdYRF2aRN/JKNmdVdKaGJ0aBPEVcGSgS+pZpTtQnDQUmgdaI8lIsNgEnfoIB1rYX6I+r6Yg4Mo0BlN3tr5XxM13SuYC4PDT75hyYRKd5j2RQzjUi057ZTv5nXkh/JB9qKVpY6hdn3ThFEfoyNypMBxoagi7TJp/4XMw4ZQHWLYyQLpS3B4odU/h0tqyqbdY9RZbNqxnPrKjpBsy9Qtqgm2pBJieRt62OHt"
+ "pg4+tOtNO1HZdSaAH9uQkRhwimpI3/O7Oap6EDtbEBwqqyeQuA1EYLkTfaSiCJ1OZjFkeOsk4UoYb0xn0GY2AjZ4WRlcwXg7+okQP6+rr95tQo2seWLtVpT1AGqHPANq/RNIfdGHoIHICGAIkgr2b3MIEJrqfQwDmHwrCtBl8Z+EIVKAnOmALzJTmTT4BGH0pPoE+fRNQJ0ulFdkyzN3w6no1JbZY/woCHQzfnRDOkGWgcRPRO9lSQtIpof62zlROKfO23TGgIaClHUzCJDKhodRZ5MYoK5hQeZ+SoVILwV8tKuGaH6VFielODLOtWpfCZSi3oxC0/cPweyuA5h66EUwSbuiLF0nD+DkFQi9Y0iAtS/tdt1IOxn1drAwOtXvb1+8TwdPlSFeGBlfCQdK6mlvBIPMGjt1SFyL9u6STtjHHPcllkCnghkSGM+KFdV3D7QlSjkO4J7SRcuSXj6d3jbK8zcJdXP0aTlc4HVL4sMqOF/WjdZ3rYGqgAgsPiGE"
+ "jPZBGeNQnhfQLkXGaEHoyPbZX62hsZ/mJANIengXyTNc1tcsoH4dsxZWRZR0FIICCDTIX/9mjPubvqPzz0D/3wdKgFB3/wtcE3QksSKtewAAAYRpQ0NQSUNDIHByb2ZpbGUAAHicfZE9SMNAHMVfU6UiFaF2EHHIUF20ICriKFUsgoXSVmjVweTSL2jSkKS4OAquBQc/FqsOLs66OrgKguAHiJubk6KLlPi/pNAixoPjfry797h7BwiNClPNrglA1SwjFY+J2dyqGHhFECEAYwhJzNQT6cUMPMfXPXx8vYvyLO9zf44+JW8ywCcSzzHdsIg3iGc2LZ3zPnGYlSSF+Jx43KALEj9yXXb5jXPRYYFnho1Map44TCwWO1juYFYyVOJp4oiiapQvZF1WOG9xVis11ronf2Ewr62kuU5zGHEsIYEkRMiooYwKLERp1UgxkaL9mId/yPEnySWTqwxGjgVUoUJy/OB/8LtbszA16SYFY0D3i21/jACBXaBZt+3v"
+ "Y9tungD+Z+BKa/urDWD2k/R6W4scAf3bwMV1W5P3gMsdYPBJlwzJkfw0hUIBeD+jb8oBA7dA75rbW2sfpw9AhrpavgEODoHRImWve7y7p7O3f8+0+vsBcEhypl5zelkAAA0YaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94"
+ "YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmVlODc0NzUwLWYyMTgtNGZhYi04ZmVkLTk3YjdiNTRlMTRmOSIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2ZjJlY2IyYi1lZDdlLTRiNDkt"
+ "YTlkZS03YmRlNTNlOWVjZDciCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpjNDQ3M2M4Yy02MmJhLTQyYjctYWQ0Yi02MjE4ODNiOTM5NDgiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJXaW5kb3dzIgogICBHSU1QOlRpbWVTdGFtcD0iMTYzOTc5MDc4MDQ5ODI0MSIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjI0IgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAg"
+ "ICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjYxMDQ5ZjkxLTE0N2ItNDJjNy1hYzRhLWMyNmU0ZDIzZmEwNSIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChXaW5kb3dzKSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMS0xMi0xN1QxNzoyNjoyMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg"
+ "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg"
+ "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg"
+ "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg"
+ "ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg"
+ "ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz4g"
+ "G/WSAAAABmJLR0QAnQCdAJ2roJyEAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5QwSARoUHogWFQAAB8dJREFUeNrt3Wtu4yAUQGG36hadRbqLzPxixDCAwYbESb4jVWqbGGPMubz8+Lrf7/cF+FC+FQEIABAAIABAAIAAAAEAAgAEAAgAEAAgAEAAgAAAAQACAAQACAAQACAAQACAAAABAAIABAAIABAAIABAAIAAAAEAAgAEAAgAEAAgAEAAgAAAAQACAAQACAAQACAAQACAAAABAAIABAAIABAAIAAIABAAIABAAIAAAAEAAgAEAAgAEAAgAEAAgADAa/OjCN6L39/f4v/WdV3WdVVIBHjfyn+73arfIYAu0FujghPgoyv/tm3L/X4ngi7Q47sfcf9bf7tcTr3lkpYrAV5kAEqAf/n6+vr7+/1+7x7XhPIcWa66QJMqP9plONrKEoAAHzfGGd2qEkDlfxjbtmV/bxnYzxLgZ1ZlyFWKnj5c"
+ "vH2pgp3tE7bktbbf2vZH0m1p6mcNrvckHrHPdV2b+/4jtmviPoht2+7rut6XZdn9Wde1mk5LGml627ZNyWsp70fzuZev1rT2jjd3fLX97+3vXfkZFT3iFcg0SqURLXy/pxncS+/393fZtm03UuVWS+P0c9H3EbM5t9utOI2ay1Mov1F5W9f1pbpyoUxOt4gjIn9LZGqNSGl6pahVipa9kbE1D6V0S61J2KalZYq3H3W8vS1AqWx6WtZcnlvLYC+dUpmfTftnRORqiZa5CNMScWrpldIsbdMa3dO0w3a5fmg6HhjZ32853tERNR6kjmhd0pY6bclz+6hd0Dd84uGMPS3RdK+fmbO7te+Zi4q1POSiYi2yt6bdm49amdQiWs9+elqA9Ltno2qtdVzX9e9PLn+946qnjgF6LWyJYGf7dLX0j0bpWdOdI9I7m0Y89ghlP3JckUb78L9SzyEeF+a+k7ZST5sGPVuZWueL33mufmYZtnZ54so/o9xrXcQrDMy/"
+ "r1gJrsroytnS151RhmEmbHblz5VdOtuVW5NJ5ZxZV4a2AHs3YzxTmtrA+BkXrZWOYXYZ5qaB4ynF2ZW/duy5aeCQr1mB8vJXg8aR4Gwh9MwaPbN78oiyvEIgSMcIj2h1p48BRmW45fa+UQLcbrfdhaeRi06jxz+9+aqVw6yuUG4xc9u2/1qfNNiF7tmM+nBqGnQ5sAh1dHp1SRaWwn5Ki0OjL4PYO64j06BH8n62DJeGSzlGncNa2Yd9x/8rTY3G57p32r2pHl9NgLNz9a2VaE+CnlXQVxEgzdOR1eKRVw2kK8apBOk5yEnwtHWAGQOT0krt6K5HmIkopf0pd3Jt2/bfjSmzB8R7U6Xp73E+wt9xns/m9Xt0Bb761GNp4Wf0ItCrTAvn+vylqcrZ57I1qF7ilsjWmZMrnfx04eeZlb02LfvofMw4l5UxZ5MEtcH4ZQWYMY/de2nDXvR/ZmVrib4z7ns9GsyeUT49U95DHv8yclDTM5DKXSbbOjDcm8nJ"
+ "DV6P3MCyNF7WfGZGpXQcLdseuUR7xjEcGaDvXVi4dwn6qHwtM2YbSlOX6YlpFSBOJ92+Nt2Xpn9EgOXEHVXp8bfce9BSfvExH5G8VLl6g8rZ6dC9qdJHsMyY3jpzElrSirfdq0AjWoHlxA06LdOcR9YmcuV39pbK2vYjK2Q41tnRvYWv+8C7jUuXLaQ3r7fctlgbtKbb58Ydpe+WLrTq7bvv9ZvjfLcOutNtj5Rh63H1bj/jQsDa4PthExT3DyOOci0rvLNWIPFGN8W/Culj9lrmpa8yY4Q5fH9i5e9tYj3olgBvIcDMPi0IcOnKP3KVmjzvw0eMAXIVNtwD0DIjMuNxIbgGQ6dBX2kMcEQiYwECvMU4oKdLpOIT4KMGx/r5BAA+Bi/IAAEAAgAEAAgAEAAgAEAAgAAAAQACAAQACAAQACAAQACAAAABAAIABACuzSUejPUujy0Mzx2a9bLpUrl5gsULtwDx8/rDT+sDrKa9Pfwi++spt0869rdrAR4Z"
+ "Nd/lGMILJp7xXl8CPKlLUYp2cWTatu3v97Zty74PII1kacXNPUY93m9pf7n04meQhu/En599OXju3bq1/LR+FvKQfj899r00CXBgHBA/tDb+f/z28PRk5frCofLFUTKNlqFpDyctFqYkQel1RaWuSLxdvL90X719+pqcpQcClz5LW5I4iNSOvZYmAU4OhOMKk5MjlqJUQeJ00hOV7rM2iN3b354EaaTNRfvWrkxuH7lta2nl3p3WIlpPmgQY0H+OI2Vv01qK4ld4EXXcIvS+eyD32PZQOUN5xemGcqt91iJC7fzU0iTAgHFA+P1s4cbdqNx44NGt3pknT7e0Nrfb7Z9yq312NC+1NPda1qOffcQYII0oIdKUmu/Wk5eLoGkfPdd6lPZXer1pb3em5/u5gfvejFB6XC1C7R37XppagAMChMFXejLTQWyuAu5Fi7jJLg0+cwPs2v5yszAtFTrtArV0IWpdlHignxtj1D7LzWa1HHstzVfA49Gf3L3LTUO+"
+ "w5qIFgDNEuzNIEEL8JbkuhxWdAkAPAyXQ4MAAAEAAgAEAAgAEAAgAEAAgAAAAQACAAQACAAQACAAQACAAAABAAIABAAIABAAIABAAIAAAAEAAgAEAAgAEAAgAEAAgAAAAQACAAQACAAQACAAQACAAAABAAIABAAIABAAIABAAIAAAAGAZVn+ANVuB8euXCQKAAAAAElFTkSuQmCC", "\nprecision lowp float; in vec2 a_pos; out vec2 v_pos; void main() { gl_Position = vec4(((v_pos = a_pos) - 0.5) * vec2(2.0, -2.0), 0.0, 1.0); }", "\nprecision lowp float; in vec2 v_pos; out vec4 fragColor; uniform sampler2D tex; uniform vec2 aspect; void main() { fragColor = vec4(texture(tex, clamp(v_pos * aspect - ((aspect - 1.0) * 0.5), 0.02, 0.98)).rgb, 1.0); }",
"a_pos", "tex", "aspect", "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAC4jAAAuIwF4pT92AAAEAklEQVR42u2dvXbjIBBG7T0+xw+gTp06v//LmE6dO/VR5a3wGZNh+BGSFeveJgkIBrDy8TGKds8/Pz/PExyW8/P55AY4MP9YgmNzmeeZVUABAA8AKADgAQAFADwAoACABwAUAPAAgAIAHgBQAMADAAoAeABAAY7LOI7fpQDX65VPtZCt18w5d7rdbigAbOgBxnE8DcPwJnnDMCTrNJlsUVcizTnj9HWxeVvINfN9y361OdTEk30551ZZt3PsvYDYxOSChoPQ6sJ21mRLBm61jY0lpy61gDKWNdfcNcv5wErWLbfPF88I9/s9WtayzopXS85YtPqcMeT23SqedV1pucal1V4iTUooV/IaWSfbWHU5JmkvpmzrsayaB9DqfJnVTpMff72sc869/WzVlcjjOI7mOOVYfBzfT05exLfT5pqae008a71L"
+ "y6tPASV79CfPylvFjpm+teLH+tXiF5nA2LOAUMpCibckWpPBUOJT20btFuDjyK8p+S45Z4fX+ti+LDb3pef62PosWbfkDbBW8mFPhB/gt8Vr7gG+kZK9+C/GM2+ArffnnKRHbT5gSdJoK0+ydrziGyCW115LolLxnHOr59q3lt89b6U8Czg4pgdI5bUtKY3VzfOclGBtTLVSmmqn1cdyC7Iud+5791KX1MLJDz3Mg2s59pK6sM/asdTmLrRx5pzjS+e+awWw9lstVeuv1/a10rqwT8sn5LQr8RzaMVfmKrR2qfnFjs57/puLS0nyoTZp0fL8XGq+ap8v4AES+3Msx74kN2/tmblewWoXPl9o+RykZH5/5hTQYv+y+vj084XcPHpJbHmt1s7yGbV1q+UBnHO/gnoZje2RmuzK/Vr2F3sWEF6TGkvutqH5CG08qTmk5u77tLyK5Qtq62rgxRA8AO8FHBkygQeHLQAFADwAoACABwAUAPAAgAIAHgBQAMAD"
+ "AAoAeABAAQAPACgA4AEABQA8AKAAgAcAFAC+3gNM03Tqum7VQSyN4dtvMdZDKcBWC9oqhr8JoIEHeDwep77vf5VJfL0vl9fLa/u+f+vPfx9eszSGNXZo5AH6vlcXW36gsqykrzViwAIPYL3r3nXd63v5m6i9J2+VaT8viWGNHZQbYE97+KdjHPIGKH0XPSyL7eXSjPk2YZlsN03Tq21OjLAs598ZggIT2MpMbW3IMICFN0Dsv4xpfUbfAvIAK9wAcOAtAMgDwJHzAIACAB4AUADAAwAKAHgAQAEADwAoAOABAAUAPACgAIAHABQA8ACAAgAeAFAAwAMACgB4AEABAA8AKADgAQAFADwAoACABwAUAPAAgAIAHgBQAMADAAoAeABAAQAPACgA4AEABQA8AKAAgAcAFADwANCe/0of1jQ8XY5YAAAAAElFTkSuQmCC", "main", "EAGPKG!!", "invalid epk file", "<file>", " end", "invalid file hash for ",
"</file>", "matrix is not supported while recording display list use tessellator class instead", "projection matrix stack overflow", "texture matrix stack overflow", "modelview matrix stack overflow", "projection matrix stack underflow", "texture matrix stack underflow", "modelview matrix stack underflow", "only GL_QUADS supported in a display list", "vertex format inconsistent in display list", "/glsl/occl.glsl", "\n#define CC_VERT\n", "\n#define CC_FRAG\n", "\n[/glsl/occl.glsl][VERT] ", "\n[/glsl/occl.glsl][FRAG] ",
"\n\n", "\n[/glsl/occl.glsl][LINKER] ", "matrix_m", "matrix_p", "only two texture units implemented", "Root tag must be a named compound tag", "BYTE", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE", "BYTE[]", "STRING", "LIST", "COMPOUND", "INT[]", ":[", ":", ",", "]", "Unable to allocate array size: ", "Input array too big, the output array would be bigger (", ") than the specified maximum size of ", "lineSeparator must not contain base64 characters: [", "Impossible modulus ", "Strict decoding: Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible encoding. Decoding requires at least two trailing 6-bit characters to create bytes.",
"Strict decoding: Last encoded character (before the paddings if any) is a valid base 64 alphabet but not a possible encoding. Expected the discarded bits from the character to be zero.", "pproxy.rom1504.fr", "webmcproxy.glitch.me", "net-browserify.glitch.me", "^(((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,6}|localhost|(([0-9]{1,3}\\.){3})[0-9]{1,3})(:[0-9]{1,5})?$", "1.5.2", "name", "ip", "hideAddress", "motd", "online", "max", "players", "icon", "Your IP is banned for DoS\n", "Try again in an hour", "Query Was Blocked\n",
"Try again in a minute", "Connection Blocked\n", "Either src or dest is null", "root", "terrain", "textures/blocks/", "items", "textures/items/", "/font.txt", "#", "/font/default.png", "/font/alternate.png", "/misc/grasscolor.png", "/misc/foliagecolor.png", "Pre startup", "Startup", "Post startup", "acceptLicense", "Eaglercraft Server", "warning: early beta, major problems will arise", "%clamp%/title/eagtek.png", "%blur%/title/mojang.png", "[not connected]", "GL_INVALID_ENUM", "GL_INVALID_VALUE", "GL_INVALID_OPERATION",
"GL_OUT_OF_MEMORY", "Unknown Error", "CONTEXT_LOST_WEBGL", "########## GL ERROR ##########", "@ ", "tick", "preRenderErrors", "Pre render", "sound", "render", "display", "gameRenderer", "Post render", "syncDisplay", "unspecified", ".", "##0.00", "[0] ", "ROOT ", " ", "%", "[?] ", "[", "] ", "stats", "gui", "pick", "gameMode", "textures", "pendingConnection", "levelRenderer", "level", "animateTick", "particles", "mouse", "keyboard", "manual crash", "FORCING RELOAD!", "Note: ", "fancyGraphicsNote", "Note: use F+6 to show your coordinates on the screen",
"Note: use F+6 to hide the coordinates off of the screen (if you\'re in public)", "P: ", ". T: ", ", ", "Unmatched braces in the pattern", "Unknown style: ", "array size does not equal image size", "yee", "End of stream reached", "Malformed UTF-8 sequence", "charsetName is null", "Should never been thrown", "buffer size must be greater than 0", "Stream closed", "negative skip length", "footer is not found", "Unexpected end of ZLIB input stream", "mark/reset not supported", "Stream is closed", "Mark has been invalidated.",
" entries of type ", "TAG_Byte", "TAG_Short", "TAG_Int", "TAG_Long", "TAG_Float", "TAG_Double", "TAG_Byte_Array", "TAG_String", "TAG_List", "TAG_Compound", "TAG_Int_Array", "UNKNOWN", "TAG_End", "/sounds/sounds.dat", "playbackOffset", "sounds", "e", "c", "AudioListener f***ed up again", "/sounds/", ".mp3", "unregistered sound effect: ", "/sounds/gta.mp3", "Something\'s taking too long! \'", "\' took aprox ", " ms", "Duplicate packet id:", "Duplicate packet class:", "Key was smaller than nothing!  Weird key!",
"Bad packet id ", "Skipping packet with id ", "String too big", "Received string length longer than maximum allowed (", " > ", "Received string length is less than zero! Weird string!", "ps", "cs", "_", "skins", "data", "slim", "Yeeish", "Yee", "Yeer", "Yeeler", "Eagler", "Eagl", "Darver", "Darvler", "Vool", "Vigg", "Deev", "Yigg", "Yeeg", "Bitch", "Cock", "Milf", "Groon", "Eag", "Deevis", "Chode", "Fucker", "Fucking", "Dumpster", "Cum", "Chad", "Egg", "Fudgler", "Fudgli", "Yeet", "Flumpter", "Darvy", "Fuck",
"Frick", "Cunt", "Darvig", "en", "CA", "fr", "zh", "CN", "FR", "de", "DE", "it", "IT", "ja", "JP", "ko", "KR", "TW", "GB", "US", "New position ", " is outside of range [0;", "New limit ", "The last int in src ", " is outside of array of size ", "Length ", " must be non-negative", "Offset ", "Patter is null", "�", "Replacement preconditions do not hold", "Capacity is negative: ", "The last byte in dst ", "The last byte in src ", "[ByteBuffer position=", ", limit=", ", capacity=", ", mark ", " is not set", " at ",
"BIG_ENDIAN", "LITTLE_ENDIAN", "random.click", "win", "mac", "solaris", "sunos", "linux", "unix", "/gui/background.png", "Edit Profile", "profile.title", "gui.done", "profile.addSkin", "profile.clearSkin", "Switch to Vanilla", "Switch to Eaglercraft", "En", "Dis", "able Proxy", "error: proxy is invalid! switching proxy... (if it fails too often, backspace out the proxy)", "profile.screenname", "profile.playerSkin", "Steve", "Alex", "1.8", "checking proxy...", "lol", "http", "s", "://", "/api/vm/net/connect",
"[^A-Za-z0-9\\-_]", "/gui/gui.png", "Default Steve", "Default Alex", "Tennis Steve", "Tennis Alex", "Tuxedo Steve", "Tuxedo Alex", "Athlete Steve", "Athlete Alex", "Cyclist Steve", "Cyclist Alex", "Boxer Steve", "Boxer Alex", "Prisoner Steve", "Prisoner Alex", "Scottish Steve", "Scottish Alex", "Developer Steve", "Developer Alex", "Herobrine", "Enderman", "Skeleton", "Blaze", "Barney", "Slime", "Noob", "Trump", "Notch", "Creeper", "Zombie", "Pig", "Squid", "Mooshroom", "Villager", "UTF Error", "-", "Zero length vector",
"Index ", " bytes]", "Empty string not allowed", "<", ">", "ERA=", "YEAR=", "MONTH=", "WEEK_OF_YEAR=", "WEEK_OF_MONTH=", "DAY_OF_MONTH=", "DAY_OF_YEAR=", "DAY_OF_WEEK=", "DAY_OF_WEEK_IN_MONTH=", "AM_PM=", "HOUR=", "HOUR_OF_DAY", "MINUTE=", "SECOND=", "MILLISECOND=", "ZONE_OFFSET=", "DST_OFFSET=", "The last char in dst ", "The last char in src ", " is outside of string of size ", "Start ", " must be before end ", "Can\'t compare ", " to ", "STRICT", "LENIANT", "fSet", "Is", "In", "could not load: ", "UTC", "001",
"NonCapFSet", "AheadFSet", "BehindFSet", "AtomicFSet", "FinalSet", "<Empty set>", "JointSet", "NonCapJointSet", "PosLookaheadJointSet", "NegLookaheadJointSet", "PosBehindJointSet", "NegBehindJointSet", "<Quant>", "<GroupQuant>", "GMT", "00", "{", "}", "posFSet", "range:", "^ ", "CompositeRangeSet:  <nonsurrogate> ", " <surrogate> ", "UCI range:", "decomposed Hangul syllable:", "UCI ", "CI ", "decomposed char:", "<DotAllQuant>", "<DotQuant>", "<SOL>", "WordBoundary", "PreviousMatch", "<EOL>", "EOI", "^", "DotAll",
"<Unix MultiLine $>", "<MultiLine $>", "CI back reference: ", "back reference: ", "UCI back reference: ", "sequence: ", "UCI sequence: ", "CI sequence: ", "Unknown zone type: ", "Lower", "Upper", "ASCII", "Alpha", "Digit", "Alnum", "Punct", "Graph", "Print", "Blank", "Cntrl", "XDigit", "javaLowerCase", "javaUpperCase", "javaWhitespace", "javaMirrored", "javaDefined", "javaDigit", "javaIdentifierIgnorable", "javaISOControl", "javaJavaIdentifierPart", "javaJavaIdentifierStart", "javaLetter", "javaLetterOrDigit",
"javaSpaceChar", "javaTitleCase", "javaUnicodeIdentifierPart", "javaUnicodeIdentifierStart", "Space", "w", "d", "BasicLatin", "Latin-1Supplement", "LatinExtended-A", "LatinExtended-B", "IPAExtensions", "SpacingModifierLetters", "CombiningDiacriticalMarks", "Greek", "Cyrillic", "CyrillicSupplement", "Armenian", "Hebrew", "Arabic", "Syriac", "ArabicSupplement", "Thaana", "Devanagari", "Bengali", "Gurmukhi", "Gujarati", "Oriya", "Tamil", "Telugu", "Kannada", "Malayalam", "Sinhala", "Thai", "Lao", "Tibetan", "Myanmar",
"Georgian", "HangulJamo", "Ethiopic", "EthiopicSupplement", "Cherokee", "UnifiedCanadianAboriginalSyllabics", "Ogham", "Runic", "Tagalog", "Hanunoo", "Buhid", "Tagbanwa", "Khmer", "Mongolian", "Limbu", "TaiLe", "NewTaiLue", "KhmerSymbols", "Buginese", "PhoneticExtensions", "PhoneticExtensionsSupplement", "CombiningDiacriticalMarksSupplement", "LatinExtendedAdditional", "GreekExtended", "GeneralPunctuation", "SuperscriptsandSubscripts", "CurrencySymbols", "CombiningMarksforSymbols", "LetterlikeSymbols", "NumberForms",
"Arrows", "MathematicalOperators", "MiscellaneousTechnical", "ControlPictures", "OpticalCharacterRecognition", "EnclosedAlphanumerics", "BoxDrawing", "BlockElements", "GeometricShapes", "MiscellaneousSymbols", "Dingbats", "MiscellaneousMathematicalSymbols-A", "SupplementalArrows-A", "BraillePatterns", "SupplementalArrows-B", "MiscellaneousMathematicalSymbols-B", "SupplementalMathematicalOperators", "MiscellaneousSymbolsandArrows", "Glagolitic", "Coptic", "GeorgianSupplement", "Tifinagh", "EthiopicExtended",
"SupplementalPunctuation", "CJKRadicalsSupplement", "KangxiRadicals", "IdeographicDescriptionCharacters", "CJKSymbolsandPunctuation", "Hiragana", "Katakana", "Bopomofo", "HangulCompatibilityJamo", "Kanbun", "BopomofoExtended", "CJKStrokes", "KatakanaPhoneticExtensions", "EnclosedCJKLettersandMonths", "CJKCompatibility", "CJKUnifiedIdeographsExtensionA", "YijingHexagramSymbols", "CJKUnifiedIdeographs", "YiSyllables", "YiRadicals", "ModifierToneLetters", "SylotiNagri", "HangulSyllables", "HighSurrogates", "HighPrivateUseSurrogates",
"LowSurrogates", "PrivateUseArea", "CJKCompatibilityIdeographs", "AlphabeticPresentationForms", "ArabicPresentationForms-A", "VariationSelectors", "VerticalForms", "CombiningHalfMarks", "CJKCompatibilityForms", "SmallFormVariants", "ArabicPresentationForms-B", "HalfwidthandFullwidthForms", "all", "Specials", "Cn", "IsL", "Lu", "Ll", "Lt", "Lm", "Lo", "IsM", "Mn", "Me", "Mc", "Nd", "Nl", "No", "IsZ", "Zs", "Zl", "Zp", "IsC", "Cc", "Cf", "Co", "Cs", "IsP", "Pd", "Ps", "Pe", "Pc", "Po", "IsS", "Sm", "Sc", "Sk",
"So", "Pi", "Pf", "Id must not be null", "Unknown mode: ", "=", "need dictionary", "unknown compression method", "unknown header flags set", "incorrect data check", "incorrect length check", "incorrect header check", "invalid window size", "bad extra field length", "header crc mismatch", "box[", " -> ", "Default", "key.forward", "key.left", "key.back", "key.right", "key.jump", "key.inventory", "key.drop", "key.chat", "key.sneak", "key.attack", "key.use", "key.playerlist", "key.pickItem", "key.sprint", "key.zoom",
"key.function", "en_US", "key.mouseButton", "options.off", "options.on", "options.graphics.fast", "options.graphics.fancy", "options.sensitivity.min", "options.sensitivity.max", "options.fov.min", "options.fov.max", "options.gamma.min", "options.gamma.max", "+", "px", "musicVolume", "soundVolume", "sensitivity", "fov", "gamma", "invertMouse", "viewDistance", "guiScale", "viewBobbing", "anaglyph", "limitFramerate", "fancyGraphics", "ambientOcclusion", "clouds", "fog", "lastServer", "language", "chatVisibility",
"chatColours", "chatLinks", "chatLinksPrompt", "chatOpacity", "fullScreen", "hideServerAddress", "advancedTooltips", "pauseOnLostFocus", "showCape", "touchscreen", "forceHeight", "forceWidth", "antialiasMode", "heldItemTooltips", "chatHeightFocused", "chatHeightUnfocused", "chatScale", "chatWidth", "patchAnisotropic", "showCoordinates", "options.renderDistance.far", "options.renderDistance.normal", "options.renderDistance.short", "options.renderDistance.tiny", "options.difficulty.peaceful", "options.difficulty.easy",
"options.difficulty.normal", "options.difficulty.hard", "options.guiScale.auto", "options.guiScale.small", "options.guiScale.normal", "options.guiScale.large", "options.chat.visibility.full", "options.chat.visibility.system", "options.chat.visibility.hidden", "options.particles.all", "options.particles.decreased", "options.particles.minimal", "performance.max", "performance.balanced", "performance.powersaver", "options.ao.off", "options.ao.min", "options.ao.max", "options.framebufferAntialias.none", "options.framebufferAntialias.auto",
"options.framebufferAntialias.fxaa", "options.framebufferAntialias.msaa4", "options.framebufferAntialias.msaa8", "cauldron_inner", "cauldron_bottom", "water", "water_flow", "lava", "lava_flow", "piston_side", "redstoneDust_cross", "redstoneDust_line", "redstoneDust_cross_overlay", "redstoneDust_line_overlay", "grass_top", "grass_side", "hopper", "hopper_inside", "lightTex", "center", "postprocess", "clear", "camera", "frustrum", "sky", "culling", "updatechunks", "prepareterrain", "entities", "litParticles",
"outline", "destroyProgress", "weather", "hand", "ambient.weather.rain", "/terrain.png", "/environment/rain.png", "/environment/snow.png", "Wrong number of repetitions of X pattern at ", "IGNORE", "REPLACE", "REPORT", "/gui/items.png", "%blur%", "%clamp%", "Could not load PNG", "checkLight", "global", "remove", "regular", "tileEntities", "pendingTileEntities", "chunkCheck", "All: ", "buildList", "playerCheckLight", "moodSound", "getBrightness", "checkedPosition < toCheckCount", "pathfind", "entityBaseTick",
"tilecrack_", "move", "rest", "liquid.swim", "random.fizz", "liquid.splash", "bubble", "splash", "generic", "entity.", ".name", "~NULL~", "%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f]", "mobBaseTick", "explode", "headTurn", "rangeChecks", "damage.hit", "damage.fallsmall", "damage.fallbig", "ai", "oldAi", "newAi", "jump", "travel", "push", "looting", "checkDespawn", "sensing", "targetSelector", "goalSelector", "mob tick", "controls", "look", "mobSpell", "mobSpellAmbient", "random.break", "iconcrack_", "humanoid",
"largesmoke", "portal", "random.drink", "random.eat", "keepInventory", "random.levelup", "Currency not found: ", "Can\'t avoid rounding", "achievement.get", "/achievement/bg.png", "missingno", "ayuncraft desktop runtime", "ayuncraft javascript runtime", "seenAcknowledgements", "fard!", "menu.multiplayer", "menu.forkme", "menu.options", "menu.editprofile", "/credits.txt", " -- file not found -- ", "   ", "eaglercraft readme.txt", "https://github.com/ayunami2000/ayuncraft", "minecraft 1.5.2", "ayuncraft 22w20b",
" (cracked)", "copyright 2013 Mojang AB", "site resources are", "ayuncraft readme.txt", "/title/bg/panorama0.png", "/title/bg/panorama1.png", "/title/bg/panorama2.png", "/title/bg/panorama3.png", "/title/bg/panorama4.png", "/title/bg/panorama5.png", "/title/mclogo.png", "/gui/demo_bg.png", "/gui/beacon.png", "Action must be non-null", "This exception should not been thrown", "/font/glyph_sizes.bin", "/font/glyph_%02X.png", "0123456789abcdefklmnor", "§", "CEILING", "FLOOR", "HALF_UP", "HALF_DOWN", "HALF_EVEN",
"UNNECESSARY", "LINUX", "SOLARIS", "WINDOWS", "MACOS", "TextureManager.registerTexture called, but this texture has already been registered. ignoring.", ".txt", "TextureManager.createTexture: Skipping ", " because of broken aspect ratio and not animation", "%blur%/misc/glint.png", "/misc/mapbg.png", "/misc/water.png", "openInventory", "mineWood", "buildWorkBench", "buildPickaxe", "buildFurnace", "acquireIron", "buildHoe", "makeBread", "bakeCake", "buildBetterPickaxe", "cookFish", "onARail", "buildSword", "killEnemy",
"killCow", "flyPig", "snipeSkeleton", "diamonds", "ghast", "blazeRod", "potion", "theEnd", "theEnd2", "enchantments", "overkill", "bookcase", " achievements", "prepare", "tileentities", "C: ", ", F: ", ", O: ", ", E: ", "fps | C: ", ", U: ", "E: ", ". B: ", ", I: ", "sortchunks", "getoccl", "occl", "nearChunksSearch", "sort", "cleanup", "trim", "records have been deleted to reduce file size", "hugeexplosion", "largeexplode", "fireworksSpark", "suspended", "depthsuspend", "townaura", "crit", "magicCrit", "smoke",
"spell", "instantSpell", "witchMagic", "note", "enchantmenttable", "flame", "footstep", "cloud", "reddust", "snowballpoof", "dripWater", "dripLava", "snowshovel", "slime", "heart", "angryVillager", "happyVillager", "mob.wither.spawn", "mob.enderdragon.end", "random.bow", "random.door_close", "random.door_open", "mob.ghast.charge", "mob.ghast.fireball", "mob.zombie.wood", "mob.zombie.metal", "mob.zombie.woodbreak", "mob.wither.shoot", "mob.bat.takeoff", "mob.zombie.infect", "mob.zombie.unfect", "random.anvil_break",
"random.anvil_use", "random.anvil_land", "random.glass", "destroy_", "/misc/tunnel.png", "/environment/sun.png", "/environment/moon_phases.png", "/environment/clouds.png", "/particles.png", "/glsl/pvert.glsl", "\n[/glsl/pvert.glsl] ", "reloading ", " pipeline shader programs", "\n[", "][CC_FRAG] ", "][LINKER] ", "f_color", "f_depth", "ssao_kernel[0]", "eeeaglerrENOPHILEr", "ssao_kernel[", "screenSize", "randomFloat", "f_ssao", "matrix_p_inv", "f_bloom", "direction", "randomInter", "randomInterF", "sleep", "expLevel",
"toolHighlight", "demo", "demo.demoExpired", "demo.remainingTime", " fps, ", " chunk updates", "debug", "minecraft 1.5.2 (", "bossHealth", "expBar", "healthArmor", "food", "air", "actionBar", "x: ", ", y: ", ", z: ", "not using an xbox live account", "Game is running in a browser (", "Used memory: ", "% (", "MB) of ", "MB", "Allocated memory: ", "MB)", "Player is not using an xbox live account", "Using cracked server @ ", " (", ") // c: ", "y: ", ") (feet pos)", "z: ", "f: ", ") / ", "Press F+6 to ", "enable",
"disable", " showing coords in ingame GUI", "opengl emulator status - v1.0", "lists: ", ", upload: ", "mbps", "verts: ", "k, triangles: ", "k", "rendering backend: ", "opengl30", "webgl20", "eaglercraft: 22w20b", "overlayMessage", "chat", "glsl ", ", 32 bytes/vert", "Bound Shaders:", "/glsl/core.glsl", "playerList", "/gui/icons.png", "Now playing: ", "%blur%/misc/pumpkinblur.png", "%blur%/misc/vignette.png", "/lang/", ".lang", "Format error: ", "ar_SA", "he_IL", "English (US)", "invalid uri websocket protocol",
"connect.failed", "disconnect.genericReason", "wss", "invalid port number", "EAG|MySkin", "disconnect.ipNowLocked", "disconnect.endOfStream", "disconnect.ipLocked", "disconnect.ipBlocked", "disconnect.ipFailedPossiblyLocked", "could not connect to ", "gui.cancel", "connect.authorizing", "connect.connecting", "invalid stored block lengths", "invalid block type", "too many length or distance symbols", "invalid bit length repeat", "EAG|FetchSkin", "/skins/01.default_steve.png", "/skins/02.default_alex.png", "/skins/03.tennis_steve.png",
"/skins/04.tennis_alex.png", "/skins/05.tuxedo_steve.png", "/skins/06.tuxedo_alex.png", "/skins/07.athlete_steve.png", "/skins/08.athlete_alex.png", "/skins/09.cyclist_steve.png", "/skins/10.cyclist_alex.png", "/skins/11.boxer_steve.png", "/skins/12.boxer_alex.png", "/skins/13.prisoner_steve.png", "/skins/14.prisoner_alex.png", "/skins/15.scottish_steve.png", "/skins/16.scottish_alex.png", "/skins/17.dev_steve.png", "/skins/18.dev_alex.png", "/skins/19.herobrine.png", "/mob/enderman.png", "/mob/skeleton.png",
"/mob/fire.png", "/skins/20.barney.png", "/skins/21.slime.png", "/skins/22.noob.png", "/skins/23.trump.png", "/skins/24.notch.png", "/skins/25.creeper.png", "/skins/26.zombie.png", "/skins/27.pig.png", "/skins/28.squid.png", "/skins/29.mooshroom.png", "/mob/villager/villager.png", "/skins/30.longarms.png", "/skins/31.laxdude.png", "selectServer.edit", "selectServer.delete", "selectServer.select", "selectServer.direct", "selectServer.add", "selectServer.refresh", "selectServer.deleteQuestion", "\'", "\' ", "selectServer.deleteWarning",
"selectServer.deleteButton", "selectServer.defaultName", "multiplayer.title", "can you not", "voice.title", "voice.connect", "voice.disconnect", "voice.addr", "voice.warning1", "voice.volume", "voice.warning2", "voice.warning3", "voice connected", " users listening", "/gamemode 0", "Need noteblock with instrument ", " and tuning ", ". Distance: ", ". XYZ: ", "portal.trigger", "Edit sign message:", "Enchant", "Repair", "entity.Villager.name", "container.inventory", "\n#define CC_a_color\n", "#define CC_a_normal\n",
"#define CC_a_texture0\n", "#define CC_a_texture1\n", "#define CC_TEX_GEN_STRQ\n", "#define CC_lighting\n", "#define CC_fog\n", "#define CC_alphatest\n", "#define CC_unit0\n", "#define CC_unit1\n", "#define CC_patch_anisotropic\n", "#define CC_swap_rb\n", "\n[/glsl/core.glsl][CC_VERT] ", "broken shader file", "\n[/glsl/core.glsl][CC_FRAG] ", "a_position", "a_texture0", "a_color", "a_normal", "a_texture1", "\n[LINKER] ", "matrix_t", "colorUniform", "normalUniform", "light0Pos", "light1Pos", "fogColor", "fogMode",
"fogStart", "fogEnd", "fogDensity", "fogPremultiply", "alphaTestF", "textureGenS_M", "textureGenT_M", "textureGenR_M", "textureGenQ_M", "textureGenS_V", "textureGenT_V", "textureGenR_V", "textureGenQ_V", "matrix_inverse_m", "anisotropic_fix", "tex0", "tex1", "texCoordV0", "texCoordV1", "MUSIC", "options.music", "SOUND", "options.sound", "INVERT_MOUSE", "options.invertMouse", "SENSITIVITY", "options.sensitivity", "FOV", "options.fov", "GAMMA", "options.gamma", "RENDER_DISTANCE", "options.renderDistance", "VIEW_BOBBING",
"options.viewBobbing", "ANAGLYPH", "options.anaglyph", "FRAMERATE_LIMIT", "options.framerateLimit", "DIFFICULTY", "options.difficulty", "GRAPHICS", "options.graphics", "AMBIENT_OCCLUSION", "options.ao", "GUI_SCALE", "options.guiScale", "RENDER_CLOUDS", "options.renderClouds", "PARTICLES", "options.particles", "CHAT_VISIBILITY", "options.chat.visibility", "CHAT_COLOR", "options.chat.color", "CHAT_LINKS", "options.chat.links", "CHAT_OPACITY", "options.chat.opacity", "CHAT_LINKS_PROMPT", "options.chat.links.prompt",
"USE_SERVER_TEXTURES", "options.serverTextures", "SNOOPER_ENABLED", "options.snooper", "USE_FULLSCREEN", "options.fullscreen", "PATCH_ANGLE", "options.patchAnisotropic", "ENABLE_FOG", "options.fog", "SHOW_CAPE", "options.showCape", "ANTIALIASING", "options.framebufferAntialias", "CHAT_SCALE", "options.chat.scale", "CHAT_WIDTH", "options.chat.width", "CHAT_HEIGHT_FOCUSED", "options.chat.height.focused", "CHAT_HEIGHT_UNFOCUSED", "options.chat.height.unfocused", " II", " III", " IV", "/gui/inventory.png", "container.crafting",
"Exit Chat", "chat.link.confirm", "gui.yes", "gui.no", "chat.copy", "chat.link.warning", "MpServer", "reEntryProcessing", "connection", "chunkCache", "tiles", "getChunk", "Quitting", "Explosions", "Flicker", "multiplayer.stopSleeping", "Positive number pattern not found in ", "Expected \';\' at ", " in ", "Prefix contains special character at ", "Quote opened at ", " was not closed in ", "Group separator found at fractional part at ", "Unexpected second decimal separator at ", "Unexpected \'0\' at optional digit part at ",
"Unexpected char at exponent at ", "Pattern does not specify exponent digits at ", "Two group separators at ", "Unexpected \'#\' at non-optional digit part at ", "Pattern does not specify integer digits at ", "Group separator at the end of number at ", "Couldn\'t find premade icon for ", " doing ", "Found animation info for: ", "debug.stitched_", "Don\'t register null!", "followpath", "stroll", "mob.spider.say", "mob.spider.death", "mob.spider.step", "%clamp%/misc/shadow.png", "deadmau5", "/mob/spider_eyes.png",
"/mob/spider.png", "/mob/cavespider.png", "mob.pig.say", "mob.pig.death", "mob.pig.step", "/mob/saddle.png", "/mob/pig.png", "mob.sheep.shear", "mob.sheep.say", "mob.sheep.step", "/mob/sheep_fur.png", "/mob/sheep.png", "mob.cow.say", "mob.cow.hurt", "mob.cow.step", "/mob/cow.png", "/mob/redcow.png", "mob.wolf.step", "mob.wolf.growl", "mob.wolf.bark", "mob.wolf.whine", "mob.wolf.panting", "mob.wolf.hurt", "mob.wolf.death", "mob.wolf.shake", "/mob/wolf_collar.png", "/mob/wolf.png", "/mob/wolf_angry.png", "/mob/wolf_tame.png",
"mob.chicken.say", "mob.chicken.hurt", "mob.chicken.step", "/mob/chicken.png", "mob.cat.purr", "mob.cat.meow", "mob.cat.purreow", "mob.cat.hitt", "entity.Cat.name", "/mob/ozelot.png", "/mob/cat_black.png", "/mob/cat_red.png", "/mob/cat_siamese.png", "head.main", "head.nose", "head.ear1", "head.ear2", "head", "nose", "ear1", "ear2", "mob.silverfish.say", "mob.silverfish.hit", "mob.silverfish.kill", "mob.silverfish.step", "/mob/silverfish.png", "random.fuse", "mob.creeper.say", "mob.creeper.death", "/armor/power.png",
"/mob/creeper.png", "mob.endermen.stare", "mob.endermen.portal", "mob.endermen.idle", "mob.endermen.scream", "mob.endermen.hit", "mob.endermen.death", "/mob/enderman_eyes.png", "none", "/mob/snowman.png", "mob.skeleton.say", "mob.skeleton.hurt", "mob.skeleton.death", "mob.skeleton.step", "/armor/", "_b.png", "SkullOwner", "cloth", "chain", "iron", "diamond", "gold", "/mob/skeleton_wither.png", "mob.witch.idle", "mob.witch.hurt", "mob.witch.death", "/mob/villager/witch.png", "mob.blaze.breathe", "mob.blaze.hit",
"mob.blaze.death", "mob.zombie.say", "mob.zombie.hurt", "mob.zombie.death", "mob.zombie.step", "mob.zombie.remedy", "/mob/zombie.png", "/mob/pigzombie.png", "/mob/zombie_villager.png", "mob.slime.", "small", "big", "/mob/slime.png", "mob.magmacube.small", "mob.magmacube.big", "Loaded new lava slime model", "/mob/lava.png", "LAX1DUDE", "/misc/laxcape.png", "/mob/char.png", "fireball", "mob.ghast.moan", "mob.ghast.scream", "mob.ghast.death", "/mob/ghast.png", "/mob/ghast_fire.png", "/mob/squid.png", "mob.villager.default",
"mob.villager.defaulthurt", "mob.villager.defaultdeath", "/mob/villager/farmer.png", "/mob/villager/librarian.png", "/mob/villager/priest.png", "/mob/villager/smith.png", "/mob/villager/butcher.png", "mob.irongolem.throw", "mob.irongolem.hit", "mob.irongolem.death", "mob.irongolem.walk", "/mob/villager_golem.png", "mob.bat.idle", "mob.bat.hurt", "mob.bat.death", "/mob/bat.png", "body", "tail", "wing", "mob.enderdragon.wings", "mob.enderdragon.growl", "mob.enderdragon.hit", "/mob/enderdragon/shuffle.png", "/mob/enderdragon/beam.png",
"/mob/enderdragon/ender_eyes.png", "/mob/enderdragon/ender.png", "glass", "cube", "base", "/mob/enderdragon/crystal.png", "mob.wither.idle", "mob.wither.hurt", "mob.wither.death", "mobGriefing", "/armor/witherarmor.png", "/mob/wither.png", "/mob/wither_invul.png", "/art/kz.png", "itemframe_back", "random.bowhit", "/item/arrows.png", "potion_splash", "potion_contents", "CONFLICT @ ", "item.", "shovelIron", "pickaxeIron", "hatchetIron", "flintAndSteel", "apple", "bow", "arrow", "coal", "ingotIron", "ingotGold",
"swordIron", "swordWood", "shovelWood", "pickaxeWood", "hatchetWood", "swordStone", "shovelStone", "pickaxeStone", "hatchetStone", "swordDiamond", "shovelDiamond", "pickaxeDiamond", "hatchetDiamond", "stick", "bowl", "mushroomStew", "swordGold", "shovelGold", "pickaxeGold", "hatchetGold", "string", "feather", "sulphur", "hoeWood", "hoeStone", "hoeIron", "hoeDiamond", "hoeGold", "seeds", "wheat", "bread", "helmetCloth", "chestplateCloth", "leggingsCloth", "bootsCloth", "helmetChain", "chestplateChain", "leggingsChain",
"bootsChain", "helmetIron", "chestplateIron", "leggingsIron", "bootsIron", "helmetDiamond", "chestplateDiamond", "leggingsDiamond", "bootsDiamond", "helmetGold", "chestplateGold", "leggingsGold", "bootsGold", "flint", "porkchopRaw", "porkchopCooked", "painting", "appleGold", "sign", "doorWood", "bucket", "bucketWater", "bucketLava", "minecart", "saddle", "doorIron", "redstone", "snowball", "boat", "leather", "milk", "brick", "clay", "reeds", "paper", "book", "slimeball", "minecartChest", "minecartFurnace", "egg",
"compass", "fishingRod", "clock", "yellowDust", "fishRaw", "fishCooked", "dyePowder", "bone", "sugar", "cake", "bed", "diode", "cookie", "map", "shears", "melon", "seeds_pumpkin", "seeds_melon", "beefRaw", "beefCooked", "chickenRaw", "chickenCooked", "rottenFlesh", "enderPearl", "ghastTear", "+0-1-2-3&4-4+13", "goldNugget", "netherStalkSeeds", "+4", "glassBottle", "spiderEye", "fermentedSpiderEye", "blazePowder", "magmaCream", "brewingStand", "cauldron", "eyeOfEnder", "speckledMelon", "monsterPlacer", "expBottle",
"writingBook", "writtenBook", "emerald", "frame", "flowerPot", "carrots", "potato", "potatoBaked", "potatoPoisonous", "emptyMap", "carrotGolden", "skull", "carrotOnAStick", "netherStar", "pumpkinPie", "fireworks", "fireworksCharge", "enchantedBook", "comparator", "netherbrick", "netherquartz", "minecartTnt", "minecartHopper", "13", "record", "cat", "blocks", "chirp", "far", "mall", "mellohi", "stal", "strad", "ward", "11", "wait", "Fireworks", "Flight", "fireworks.launch", "Item entity ", " has no item?!", "/item/xporb.png",
"/item/cart.png", "/item/boat.png", "random.splash", "ambient.weather.thunder", "random.explode", "/misc/mapicons.png", "########0.00", "achievement.", ".desc", "[CHAT] ", "oversubscribed dynamic bit lengths tree", "incomplete dynamic bit lengths tree", "oversubscribed distance tree", "incomplete distance tree", "empty distance tree with lengths", "oversubscribed literal/length tree", "incomplete literal/length tree", "invalid distance code", "invalid literal/length code", "(", "/gui/particles.png", "TILE",
"ENTITY", "id", "Count", "Damage", "tag", "x", "ench", "Name", "#%04d%s", "#%04d/%d%s", " #", "lvl", "color", "item.dyed", "Color: #", "Lore", "Durability: ", " / ", "RepairCost", "Slot ", " is already occupied by ", " when adding ", "tile.", "stone", "wood", "gravel", "grass", "sand", "snow", "ladder", "anvil", "methamphetamine", "dirt", "stonebrick", "sapling", "bedrock", "oreGold", "oreIron", "oreCoal", "log", "leaves", "sponge", "oreLapis", "blockLapis", "dispenser", "sandStone", "musicBlock", "goldenRail",
"detectorRail", "pistonStickyBase", "web", "tallgrass", "deadbush", "pistonBase", "flower", "rose", "mushroom_brown", "mushroom", "mushroom_red", "blockGold", "blockIron", "stoneSlab", "tnt", "bookshelf", "stoneMoss", "obsidian", "torch", "fire", "mobSpawner", "stairsWood", "chest", "redstoneDust", "oreDiamond", "blockDiamond", "workbench", "crops", "farmland", "furnace", "rail", "stairsStone", "lever", "pressurePlate", "oreRedstone", "notGate", "button", "ice", "cactus", "jukebox", "fence", "pumpkin", "hellrock",
"hellsand", "lightgem", "litpumpkin", "lockedchest", "trapdoor", "monsterStoneEgg", "stonebricksmooth", "fenceIron", "thinglass_top", "thinGlass", "pumpkinStem", "vine", "fenceGate", "stairsBrick", "stairsStoneBrickSmooth", "mycel", "waterlily", "netherBrick", "netherFence", "stairsNetherBrick", "netherStalk", "enchantmentTable", "endPortalFrame", "whiteStone", "dragonEgg", "redstoneLight", "woodSlab", "cocoa", "stairsSandStone", "oreEmerald", "enderChest", "tripWireSource", "tripWire", "blockEmerald", "stairsWoodSpruce",
"stairsWoodBirch", "stairsWoodJungle", "commandBlock", "beacon", "cobbleWall", "potatoes", "chestTrap", "weightedPlate_light", "weightedPlate_heavy", "daylightDetector", "blockRedstone", "quartzBlock", "stairsQuartz", "activatorRail", "dropper", "shrub", "fern", "Listener already listening", "Item", "XPOrb", "Painting", "Arrow", "Snowball", "Fireball", "SmallFireball", "ThrownEnderpearl", "EyeOfEnderSignal", "ThrownPotion", "ThrownExpBottle", "ItemFrame", "WitherSkull", "PrimedTnt", "FallingSand", "FireworksRocketEntity",
"Boat", "MinecartRideable", "MinecartChest", "MinecartFurnace", "MinecartTNT", "MinecartHopper", "MinecartSpawner", "Spider", "Ghast", "PigZombie", "CaveSpider", "Silverfish", "LavaSlime", "EnderDragon", "WitherBoss", "Bat", "Witch", "Sheep", "Cow", "Chicken", "Wolf", "MushroomCow", "SnowMan", "Ozelot", "VillagerGolem", "EnderCrystal", "/gui/unknown_pack.png", "/pack.png", "The default look of Minecraft", "The last float in dst ", "body.body", "wing.skin", "wingtip.skin", "rearleg.main", "rearfoot.main", "rearlegtip.main",
"head.upperhead", "wing.bone", "head.upperlip", "jaw.jaw", "frontleg.main", "wingtip.bone", "frontfoot.main", "neck.box", "frontlegtip.main", "body.scale", "head.scale", "neck.scale", "head.nostril", "upperlip", "upperhead", "scale", "nostril", "jaw", "neck", "box", "skin", "wingtip", "frontleg", "frontlegtip", "frontfoot", "rearleg", "rearlegtip", "rearfoot", "WOOD", "STONE", "IRON", "EMERALD", "GOLD", "fire.ignite", "random.burp", "bow_pull_0", "bow_pull_1", "bow_pull_2", "list_items.png", "itemGroup.", "buildingBlocks",
"decorations", "transportation", "misc", "search", "search.png", "tools", "combat", "brewing", "materials", "inventory", "survival_inv.png", "item.coal", "item.charcoal", "0 & !1 & !2 & !3 & 0+6", "-0+1-2-3&4-4+13", "!0 & 1 & !2 & !3 & 1+6", "+0+1-2-3&4-4+13", "0 & 1 & !2 & !3 & 0+6", "+0-1+2-3&4-4+13", "0 & !1 & 2 & !3", "-0-1+2-3&4-4+13", "!0 & !1 & 2 & !3 & 2+6", "-0+3-4+13", "!0 & !1 & !2 & 3 & 3+6", "!0 & !1 & 2 & 3", "!0 & 1 & !2 & 3 & 3+6", "+0-1-2+3&4-4+13", "0 & !1 & !2 & 3 & 3+6", "-0+1+2-3+13&4-4",
"!0 & 1 & 2 & !3 & 2+6", "!0 & 1 & 2 & 3 & 2+6", "+5-6-7", "-5+6-7", "+14&13-13", "potion.prefix.mundane", "potion.prefix.uninteresting", "potion.prefix.bland", "potion.prefix.clear", "potion.prefix.milky", "potion.prefix.diffuse", "potion.prefix.artless", "potion.prefix.thin", "potion.prefix.awkward", "potion.prefix.flat", "potion.prefix.bulky", "potion.prefix.bungling", "potion.prefix.buttered", "potion.prefix.smooth", "potion.prefix.suave", "potion.prefix.debonair", "potion.prefix.thick", "potion.prefix.elegant",
"potion.prefix.fancy", "potion.prefix.charming", "potion.prefix.dashing", "potion.prefix.refined", "potion.prefix.cordial", "potion.prefix.sparkling", "potion.prefix.potent", "potion.prefix.foul", "potion.prefix.odorless", "potion.prefix.rank", "potion.prefix.harsh", "potion.prefix.acrid", "potion.prefix.gross", "potion.prefix.stinky", "Can\'t dye non-leather!", "helmetCloth_overlay", "chestplateCloth_overlay", "leggingsCloth_overlay", "bootsCloth_overlay", "slot_empty_helmet", "slot_empty_chestplate", "slot_empty_leggings",
"slot_empty_boots", "CLOTH", "CHAIN", "DIAMOND", "**:**", "potion.moveSpeed", "potion.moveSlowdown", "potion.digSpeed", "potion.digSlowDown", "potion.damageBoost", "potion.heal", "potion.harm", "potion.jump", "potion.confusion", "potion.regeneration", "potion.resistance", "potion.fireResistance", "potion.waterBreathing", "potion.invisibility", "potion.blindness", "potion.nightVision", "potion.hunger", "potion.weakness", "potion.poison", "potion.wither", "liquid.water", "liquid.lava", "liquid.lavapop", "fishingRod_empty",
"black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "gray", "pink", "lime", "yellow", "lightBlue", "magenta", "orange", "white", "dyePowder_black", "dyePowder_red", "dyePowder_green", "dyePowder_brown", "dyePowder_blue", "dyePowder_purple", "dyePowder_cyan", "dyePowder_silver", "dyePowder_gray", "dyePowder_pink", "dyePowder_lime", "dyePowder_yellow", "dyePowder_lightBlue", "dyePowder_magenta", "dyePowder_orange", "dyePowder_white", "map_", "map_is_scaling", "Unknown map", "Scaling at 1:", "(Level ",
"Failed to read video map packet! ", "Failed to read image map packet! ", "CustomPotionEffects", "Id", "Amplifier", "Duration", "Ambient", "item.emptyPotion.name", "potion.prefix.grenade", ".postfix", "potion.potency.", "potion.empty", "monsterPlacer_overlay", "title", "author", "book.byAuthor", "item.skull.player.name", "skeleton", "wither", "zombie", "char", "creeper", "skull_skeleton", "skull_wither", "skull_zombie", "skull_char", "skull_creeper", "item.fireworks.flight", "  ", "Explosion", "Colors", "Type",
"item.fireworksCharge.type.", "item.fireworksCharge.type", "item.fireworksCharge.", "item.fireworksCharge.customColor", "FadeColors", "item.fireworksCharge.fadeTo", "Trail", "item.fireworksCharge.trail", "item.fireworksCharge.flicker", "fireworksCharge_overlay", "StoredEnchantments", "C418 - ", "record_", "instance", "dig.", "step.", "step.stone", "dig.wood", "dig.stone", "snow_side", "grass_side_overlay", "oak", "spruce", "birch", "jungle", "wood_spruce", "wood_birch", "wood_jungle", "sapling_spruce", "sapling_birch",
"sapling_jungle", "tree_top", "tree_side", "tree_spruce", "tree_birch", "tree_jungle", "leaves_spruce", "leaves_jungle", "leaves_opaque", "leaves_spruce_opaque", "leaves_jungle_opaque", "furnace_side", "furnace_top", "dispenser_front", "dispenser_front_vertical", "sandstone_top", "sandstone_bottom", "chiseled", "smooth", "sandstone_side", "sandstone_carved", "sandstone_smooth", "Tuning: ", "harp", "bd", "snare", "hat", "bassattack", "note.", "bed_feet_top", "bed_head_top", "bed_feet_end", "bed_head_end", "bed_feet_side",
"bed_head_side", "_powered", "detectorRail_on", "piston_top", "piston_top_sticky", "piston_inner_top", "piston_bottom", "tile.piston.out", "tile.piston.in", "cloth_", "stoneslab_top", "stoneslab_side", "cobble", "smoothStoneBrick", "quartz", "tnt_side", "tnt_top", "tnt_bottom", "fire.fire", "fire_0", "fire_1", "container.chestDouble", "workbench_side", "workbench_top", "workbench_front", "crops_", "farmland_wet", "farmland_dry", "furnace_front", "furnace_front_lit", "Duplicate id: ", "y", "z", "Furnace", "Chest",
"EnderChest", "RecordPlayer", "Trap", "Dropper", "Sign", "MobSpawner", "Music", "Piston", "Cauldron", "EnchantTable", "Airportal", "Control", "Beacon", "Skull", "DLDetector", "Hopper", "Comparator", "Text", "doorWood_lower", "doorWood_upper", "doorIron_lower", "doorIron_upper", "rail_turn", "everything", "mobs", "redtorch", "redtorch_lit", "cactus_side", "cactus_top", "cactus_bottom", "jukebox_top", "pumpkin_face", "pumpkin_jack", "pumpkin_top", "pumpkin_side", "portal.portal", "cake_side", "cake_inner", "cake_top",
"cake_bottom", "repeater", "repeater_lit", "mossy", "cracked", "stonebricksmooth_mossy", "stonebricksmooth_cracked", "stonebricksmooth_carved", "mushroom_inside", "mushroom_skin_stem", "mushroom_skin_brown", "mushroom_skin_red", "melon_side", "melon_top", "stem_straight", "stem_bent", "mycel_side", "mycel_top", "netherStalk_0", "netherStalk_1", "netherStalk_2", "enchantment_side", "enchantment_top", "enchantment_bottom", "brewingStand_base", "cauldron_top", "cauldron_side", "endframe_side", "endframe_top", "endframe_eye",
"redstoneLight_lit", "cocoa_0", "cocoa_1", "cocoa_2", "normal", "carrots_", "potatoes_", "anvil_base", "intact", "slightlyDamaged", "veryDamaged", "anvil_top", "anvil_top_damaged_1", "anvil_top_damaged_2", "comparator_lit", "daylightDetector_top", "daylightDetector_side", "hopper_top", "quartzblock_top", "quartzblock_chiseled_top", "quartzblock_lines_top", "quartzblock_bottom", "lines", "quartzblock_side", "quartzblock_chiseled", "quartzblock_lines", "dropper_front", "dropper_front_vertical", "mob.zombiepig.zpigangry",
"mob.zombiepig.zpig", "mob.zombiepig.zpighurt", "mob.zombiepig.zpigdeath", "newAction must be non-null", "Name...", "item", "next", "prev", "Make", "createEnchanted", "Favorite", "favoriteEnchanted", "ConvenientInventory", "mod_convenientInventory_handleClickOnSlot", "callConvenientInventoryHandler: ", "rain", "/toggledownfall", "survival", "creative", "adventure", "dawn", "noon", "dusk", "midnight", "health", "difficulty", "deleteMode", "true", "enablemp", "itemsonly", "false", "give-command", "/give {0} {1} {2} {3}",
"key", "o", "save-name", "replace-items", "{3}", "save", "favorites", "Unnamed", "Pumpkin Stem", "Melon Stem", "End Portal", "Pig Spawner", " Spawner", "[TMI] Cannot draw gradient rect. So sad.", "enchant", "potions", "Save ", "TMI 1.5.2 2013-04-25", "Load ", "Rain/snow is ", "OFF", "ON", "Creative mode", "Survival mode", "Adventure mode", "Set time to noon", "Set time to sunrise", "Set time to sunset", "Set time to midnight", "Fill health and food", "DELETE ALL ", "DELETE ", "DELETE ALL ITEMS from current inventory screen",
"Delete mode is ", "Add ", "Remove ", " to favorites", "TooManyItems.txt", "TMI.nbt", "Loading old favorites", "favorites|save\\d", "§r§9Charged Creeper Spawner", "SpawnData", "powered", "§r§9Wither Skeleton Spawner", "SkeletonType", "Equipment", "§r§9Saddled Pig Spawner", "Saddle", "§r§9TMI Wide-Area Torch Spawner", "It\'s full of torches!", "Tile", "Time", "DropItem", "MinSpawnDelay", "MaxSpawnDelay", "SpawnCount", "MaxNearbyEntities", "RequiredPlayerRange", "SpawnRange", "Creepy Sparkler", "Star", "Big Red",
"Old Glory", "§r§9TMI Random Firework Spawner", "Every one is different", "SpawnPotentials", "Weight", "Properties", "FireworksItem", "Random Firework", "LifeTime", ".yyyyMMdd.HHmmss", "tmi", "[code]TMI Version: 1.5.2 2013-04-25\n", "[/code]", "Error during safeReportException:", " : ", "TooManyItems", "Unlimited", "[TMI] Error setting stack damage", "/gamemode ", "/time set ", "melonStem", "SkullType", "Rot", "ExtraType", "deathScreen.respawn", "deathScreen.titleScreen", "deathScreen.leaveServer", "deathScreen.deleteWorld",
"deathScreen.title", "deathScreen.title.hardcore", "deathScreen.hardcoreInfo", "deathScreen.score", "menu.returnToMenu", "menu.disconnect", "menu.returnToGame", "ayuncraft", "menu.shareToLan", "Voice Channel", "Game menu", "rebuild", "upload", "Invalid call to Particle.setTex, use coordinate methods", ", Pos (", "), RGBA (", "), Age ", "May not work on MP servers", "potionType", "close", "createPotion", "favoritePotion", "Add effect...", "addEffect", "itemType", "make", "favorite", "type", "height", "trail",
"flicker", "No flicker", "No trail", "Flight: ", "None", "Colors:", "Fade colors:", "This method should only be called for matching effects!", ", Duration: ", " x ", ", Splash: true", "Scale out of range.", "Division by zero", "Non-terminating decimal expansion; no exact representable decimal result.", "0.", "Overflow", "Underflow", "Zero length BigInteger", "Negative bit address", "Negative exponent", "BigInteger divide by zero", "/achievement/map.txt", "Effect:", "time", "[Bad ID]", "[TMI] Failed to access spawner data from TileEntity.",
"[TMI] Failed to access TileEntity for spawner.", "Please avoid temperatures in the range 0.1 - 0.2 because of snow", "Ocean", "Plains", "Desert", "Extreme Hills", "Forest", "Taiga", "Swampland", "River", "Hell", "Sky", "FrozenOcean", "FrozenRiver", "Ice Plains", "Ice Mountains", "MushroomIsland", "MushroomIslandShore", "Beach", "DesertHills", "ForestHills", "TaigaHills", "Extreme Hills Edge", "Jungle", "JungleHills", "power of ten too big", "/tmi.png", " Red", " Green", " Blue", "Color parameter outside of expected range:",
"Unknown data type: ", "Data value id is too big with ", "! (Max is ", "Duplicate id value for ", "!", "SIZE_1", "SIZE_2", "SIZE_3", "SIZE_4", "SIZE_5", "SIZE_6", "inventory.binSlot", "/gui/creative_inv/", "tmp", "/gui/allitems.png", "BLACK", "DARK_BLUE", "DARK_GREEN", "DARK_AQUA", "DARK_RED", "DARK_PURPLE", "GRAY", "DARK_GRAY", "BLUE", "GREEN", "AQUA", "RED", "LIGHT_PURPLE", "YELLOW", "WHITE", "OBFUSCATED", "BOLD", "STRIKETHROUGH", "ITALIC", "RESET", "(?i)", "[0-9A-FK-OR]", "/glsl/fxaa.glsl", "\n[/glsl/fxaa.glsl] ",
"\n[/glsl/fxaa.glsl][LINKER] ", "Invalid shader code", ":0", "(?i)\\u00A7[0-9A-FK-OR]", " edg/", " opr/", " chrome/", " firefox/", " safari/", " trident/", " msie", " webkit/", " gecko/", " desktop/", "DESKTOP", "Desktop", "CHROME", "Chrome", "EDGE", "Edge", "IE", "FIREFOX", "Firefox", "SAFARI", "Safari", "OPERA", "Opera", "WEBKIT", "WebKit", "GECKO", "Gecko", "Unknown", "SOUTH", "WEST", "NORTH", "EAST", "fail", "websocket to ", " failed", "disconnect.disconnected", "disconnect.ratelimit.ipNowLocked", "disconnect.ratelimit.ipLocked",
"disconnect.ratelimit.ipBlocked", "disconnect.ratelimit.ipFailedPossiblyLocked", "RateLimit.", "null key passed", "AES", "BLOCKED", "disconnect.ratelimit.kickBlocked", "LOCKED", "disconnect.ratelimit.kickLocked", "random.pop", "random.orb", "Skipping Entity with id ", "Unable to locate sign at ", "demo.help.movement", "demo.help.jump", "demo.help.inventory", "random.successful_hit", "Unknown itemid: ", "Failed to read AyunamiMap packet! ", "\u0000", "MC|TrList", "EAG|UserSkin", "Name cannot be null", "Prefix cannot be null",
"Suffix cannot be null", "TextureHolder{width=", ", height=", "transferFromImage called with a BufferedImage with dimensions (", ") larger than the Texture dimensions (", "). Ignoring.", "Failed to read animation info for ", "Search", "§.", "Static", "Favorites:", "Drop items here", "or Alt-click them", "in the items panel.", "tile.bed.notValid", "gameMode.changed", "Tried to send \'", "\' with size ", " which is larger than the 32k so it was truncated down to 1 byte", "container.furnace", "Items", "Slot", "BurnTime",
"CookTime", "CustomName", "random.chestopen", "random.chestclosed", "RecordItem", "Record", "container.dispenser", "container.dropper", "EntityId", "blockId", "blockData", "facing", "progress", "extending", "container.brewing", "BrewTime", "Command", "SuccessCount", "Primary", "Secondary", "Levels", "TransferCooldown", "container.hopper", "OutputSignal", "Duplicate enchantment id!", "enchantment.", "enchantment.level.", "oxygen", "waterWorker", "thorns", "knockback", "digging", "untouching", "durability", "arrowDamage",
"arrowKnockback", "arrowFire", "arrowInfinite", "ftp", "unknown protocol(", ")://", "?", "An objective with the name \'", "\' already exists!", "Player is either on another team or not on any team. Cannot remove from team \'", "\'.", "Slot{originX=", ", originY=", ", width=", ", texture=", ", subSlots=", "enchantment.protect.", "fall", "explosion", "projectile", "damage.thorns", "enchantment.damage.", "undead", "arthropods", "lootBonus", "lootBonusDigger", "armor", "armor_feet", "armor_legs", "armor_torso",
"armor_head", "weapon", "digger", "//", "////", "String index out of bounds: ", "/./", "/.", "/../", "/..", "0.0", "0.00", "0.000", "0.0000", "0.00000", "0.000000", "0E", "0E+", "2147483648", "GMT+00:00", "icon-", "Unknown map packet type: ", "eat", "drink", "block", "container.repair", "container.repair.cost", "container.repair.expensive", "MC|ItemName", "/gui/repair.png", "common", "Common", "uncommon", "Uncommon", "rare", "Rare", "epic", "Epic", "GET", "HEAD", "OPTIONS", "POST", "PUT", "TRACE", "Unsupported protocol: ",
"http://", "^(?:(https?)://)?([-\\w_\\.]{2,}\\.[a-z]{2,4})(/\\S*)?$", "> ", " <", "/item/sign.png", "/item/chests/trap_small.png", "/item/xmaschest.png", "/item/chest.png", "/item/chests/trap_large.png", "/item/largexmaschest.png", "/item/largechest.png", "/item/enderchest.png", "/item/book.png", "/misc/particlefield.png", "/misc/beam.png", "The entity \'", "\' isn\'t registered", "Malformed input of length ", "Unmappable characters of length ", "Options", "options.title", "options.difficulty.hardcore", "options.video",
"options.controls", "options.language", "options.multiplayer.title", "options.texture.pack", "options.snooper.view", "Video Settings", "Controls", "options.languageWarning", "Close", "383", "Give", "Toggle Notebot", "Toggle Legit mode", "Stopped notebot!", "Playing \"", "\" on notebot!", ".nbs", "Wrong location! ", "Can\'t convert code point ", " to char", "0x", "+ ", "0-", "Missing format with for specifier ", "--#+ 0,(<", "Illegal format flags ", " for conversion ", "Duplicate format flags: ", "public", "protected",
"private", "abstract", "static", "final", "transient", "volatile", "synchronized", "native", "strictfp", "interface", "NOT_SET", "SURVIVAL", "CREATIVE", "ADVENTURE", "disconnect.ratelimit", "disconnect.requiresAuth", ".title", ".description0", ".description1", ".tryAgain", "gui.toMenu", "Authentication Required", "$", "This server requires a paid Minecraft account to join", "You are running Eaglercraft ", " which does not", "support Xbox Live sign-in, so this server is inaccessable", "Please contact the owner of this site to update, or",
"if you want to continue playing Eaglercraft without a", "real Minecraft account then please choose to play on", "an older server that does still you to play for free", "options.videoTitle", "options.farWarning1", "options.farWarning2", "controls.title", "??? ", "options.chat.title", "selectServer.hiddenAddress", "Server out of date!", "Client out of date!", "(no connection)", "ms", "Polling..", "addServer.enterIp", "addServer.SSLWarn1", "addServer.SSLWarn2", "addServer.add", "addServer.hideAddress", "addServer.title",
"addServer.enterName", "could not get sequence from input stream", "mob", "player", "thrown", "explosion.player", "inFire", "onFire", "inWall", "drown", "starve", "outOfWorld", "magic", "fallingBlock", "Can\'t set null data", "FAILED", "FAILED_POSSIBLY_LOCKED", "NOW_LOCKED", "Precise pitch must be from -32767 to 32767.", "Panning must be from 0 to 100.", "Velocity must be from 0 to 100.", "Pitch must be from 0 to 87.", "Song length must not be negative.", "Song height must not be negative.", "Tempo is too small!",
"Auto-save duration must be from 1 to 60.", "Time signature must be from 2 to 8.", "RMinutes spent must not be negative.", "Right-click count must not be negative.", "Left-click count must not be negative.", "Blocks added must not be negative.", "Blocks removed must not be negative.", "Unknown format conversion: ", "length out of bounds: ", "Invalid meta event with type ", "Invalid status byte: ", "Note position must not be negative.", "Volume must be from 0 to 100.", "HARP", "BASS", "DRUM", "SNARE", "CLICK",
"GUITAR", "FLUTE", "BELL", "CHIME", "XYLOPHONE", "IRON_XYLOPHONE", "COW_BELL", "DIDGERIDOO", "BIT", "BANJO", "PLING", "CUSTOM", "Illegal precision: ", "Can\'t format argument of ", " using ", " conversion", "Illegal format flags: ", "okay", "blocked", "locked", "vers", "brand", "ZLIB", "GZIP", "ANY", "Block", "doFireTick", "doMobSpawning", "doMobLoot", "doTileDrops", "commandBlockOutput", "OK", "NOT_POSSIBLE_HERE", "NOT_POSSIBLE_NOW", "TOO_FAR_AWAY", "OTHER_PROBLEM", "NOT_SAFE", "container.enderchest", "UNDEFINED",
"UNDEAD", "ARTHROPOD", "input_method_segment", "reading", "monster", "creature", "ambient", "waterCreature", "Digits < 0", "null RoundingMode", "flat", "largeBiomes", "default_1_1", "dummy", "deathCount", "playerKillCount", "totalKillCount", "stream end", "file error", "stream error", "data error", "insufficient memory", "buffer error", "incompatible version", "PCM_SIGNED", "PCM_UNSIGNED", "PCM_FLOAT", "ULAW", "ALAW", "WAVE", "wav", "AU", "au", "AIFF", "aif", "AIFF-C", "aifc", "SND", "snd", "Accept: ", "Query response could not be parsed: ",
"A JSONObject text must begin with \'{\'", "A JSONObject text must end with \'}\'", "A JSON Object can not directly nest another JSON Object or JSON Array.", "Expected a \':\' after a key", "Duplicate key \"", "\"", "Expected a \',\' or \'}\'", "Null key.", "JSONObject[", "] not found.", "Boolean", "int", "JSONArray", "long", "getClass", "getDeclaringClass", "get", "is", "\\t", "\\n", "\\f", "\\r", "\\u", "0000", "\\b", "\"\"", "val [", "] is not a valid number.", "-0", "JSON does not allow non-finite numbers.",
"java.", "javax.", "Null pointer", "Unable to write JSONObject value for key: ", "] is not a ", "JavaBean object contains recursively defined member variable of key ", "-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?", "Internal Clock", "MIDI Sync", "MIDI Time Code", "No Timing", "GLOBAL", "IGNORE_CASE", "MULTILINE", "Stepping back two steps is not supported", "Substring bounds error", "Illegal escape.", "Unterminated string", "JSON Array or Object depth too large to process.", ",:]}/\\\"[{;=#", "Missing value",
" [character ", " line ", "A JSONArray text must start with \'[\'", "Expected a \',\' or \']\'", "JSONArray initial value should be a string or collection or array.", "JSONArray[", "String", "Unable to write JSONArray value at index: 0", "Unable to write JSONArray value at index: ", "CONCURRENT", "UNORDERED", "IDENTITY_FINISH", "Open", "Start", "Stop", "ERROR: enchantment lacks type (", "Kebab", "Aztec", "Alban", "Aztec2", "Bomb", "Plant", "Wasteland", "Pool", "Courbet", "Sea", "Sunset", "Creebet", "Wanderer",
"Graham", "Match", "Bust", "Stage", "Void", "SkullAndRoses", "Wither", "Fighters", "Pointer", "Pigscene", "BurningSkull", "DonkeyKong", "Invalid argument number", "{0}", "{1}", "Missing element format", "date", "number", "choice", "Unknown element format", "full", "medium", "short", "currency", "percent", "integer", "not a valid MIDI file", "Unknown frame code: ", "Invalid or unsupported file type: ", "Unsupported division type: ", "invalid MIDI file", "Track length too big", "Meta length too big", "multiplayer.downloadingTerrain",
"MC|TrSel", "/gui/trading.png", "/title/win.txt", "PLAYERNAME", "XXXXXXXX", "/title/credits.txt", "\t", "    ", "[C]", "%blur%/gui/background.png", "message argument field", "minecart.base", "minecart.inside", "###", "#W#", "#X#", "XXX", "##", "X#X", "# #", " X ", "AAA", "BEB", "CCC", " # ", "X X", "XRX", "XSX", " B ", "A ", " B", "#  ", "## ", "  #", " #X", "# X", "# ", " X", "III", "#R#", "TTT", "D#D", " i ", "iii", "GGG", "QQQ", "WWW", "I I", "ICI", " I ", " recipes", "Invalid shapeless recipy!", "Invalid status byte for sysex message: 0x",
"MultiplayerChunkCache: ", "XX", "X#", "MMM", "#-", "#E#", " R ", "RGR", "GSG", "OOO", "NN", "/gui/container.png", "/gui/crafting.png", "MC|Beacon", "tile.beacon.primary", "tile.beacon.secondary", "/gui/trap.png", "/gui/hopper.png", "/gui/alchemy.png", "container.enchant", "/gui/enchant.png", "/gui/furnace.png", "Naming an item only, cost too high; giving discount to cap cost to 39 levels", "finished", "failed to deflate", "Done", "MC|AdvCdm", "advMode.setCommand", "advMode.command", "advMode.nearestPlayer",
"advMode.randomPlayer", "advMode.allPlayers", "fireworks.", "blast", "largeBlast", "_far", "twinkle", "twinkle_far", "/misc/footprint.png", "/misc/explosion.png", "the elder scrolls klaatu berata niktu xyzzy bless curse light darkness fire air earth water hot dry cold wet ignite snuff embiggen twist shorten stretch fiddle destroy imbue galvanize enchant free limited range of towards inside sphere cube self other ball mental physical grow shrink demon elemental spirit animal creature beast humanoid undead fresh stale ",
"pages", "book.signButton", "book.finalizeButton", "MC|BEdit", "MC|BSign", "book.editTitle", "book.pageIndicator", "book.finalizeWarning", "/gui/book.png", "OW KNOWS!"]);
jl_String.prototype.toString = function() {
    return $rt_ustr(this);
};
jl_String.prototype.valueOf = jl_String.prototype.toString;
jl_Object.prototype.toString = function() {
    return $rt_ustr(jl_Object_toString(this));
};
jl_Object.prototype.__teavm_class__ = function() {
    return $dbg_class(this);
};
function Long_eq(a, b) {
    return a.hi === b.hi && a.lo === b.lo;
}
function Long_ne(a, b) {
    return a.hi !== b.hi || a.lo !== b.lo;
}
function Long_gt(a, b) {
    if (a.hi < b.hi) {
        return false;
    }
    if (a.hi > b.hi) {
        return true;
    }
    var x = a.lo >>> 1;
    var y = b.lo >>> 1;
    if (x !== y) {
        return x > y;
    }
    return (a.lo & 1) > (b.lo & 1);
}
function Long_ge(a, b) {
    if (a.hi < b.hi) {
        return false;
    }
    if (a.hi > b.hi) {
        return true;
    }
    var x = a.lo >>> 1;
    var y = b.lo >>> 1;
    if (x !== y) {
        return x >= y;
    }
    return (a.lo & 1) >= (b.lo & 1);
}
function Long_lt(a, b) {
    if (a.hi > b.hi) {
        return false;
    }
    if (a.hi < b.hi) {
        return true;
    }
    var x = a.lo >>> 1;
    var y = b.lo >>> 1;
    if (x !== y) {
        return x < y;
    }
    return (a.lo & 1) < (b.lo & 1);
}
function Long_le(a, b) {
    if (a.hi > b.hi) {
        return false;
    }
    if (a.hi < b.hi) {
        return true;
    }
    var x = a.lo >>> 1;
    var y = b.lo >>> 1;
    if (x !== y) {
        return x <= y;
    }
    return (a.lo & 1) <= (b.lo & 1);
}
function Long_add(a, b) {
    if (a.hi === a.lo >> 31 && b.hi === b.lo >> 31) {
        return Long_fromNumber(a.lo + b.lo);
    } else if (Math.abs(a.hi) < Long_MAX_NORMAL && Math.abs(b.hi) < Long_MAX_NORMAL) {
        return Long_fromNumber(Long_toNumber(a) + Long_toNumber(b));
    }
    var a_lolo = a.lo & 0xFFFF;
    var a_lohi = a.lo >>> 16;
    var a_hilo = a.hi & 0xFFFF;
    var a_hihi = a.hi >>> 16;
    var b_lolo = b.lo & 0xFFFF;
    var b_lohi = b.lo >>> 16;
    var b_hilo = b.hi & 0xFFFF;
    var b_hihi = b.hi >>> 16;
    var lolo = a_lolo + b_lolo | 0;
    var lohi = a_lohi + b_lohi + (lolo >> 16) | 0;
    var hilo = a_hilo + b_hilo + (lohi >> 16) | 0;
    var hihi = a_hihi + b_hihi + (hilo >> 16) | 0;
    return new Long(lolo & 0xFFFF | (lohi & 0xFFFF) << 16, hilo & 0xFFFF | (hihi & 0xFFFF) << 16);
}
function Long_inc(a) {
    var lo = a.lo + 1 | 0;
    var hi = a.hi;
    if (lo === 0) {
        hi = hi + 1 | 0;
    }
    return new Long(lo, hi);
}
function Long_dec(a) {
    var lo = a.lo - 1 | 0;
    var hi = a.hi;
    if (lo ===  -1) {
        hi = hi - 1 | 0;
    }
    return new Long(lo, hi);
}
function Long_neg(a) {
    return Long_inc(new Long(a.lo ^ 0xFFFFFFFF, a.hi ^ 0xFFFFFFFF));
}
function Long_sub(a, b) {
    if (a.hi === a.lo >> 31 && b.hi === b.lo >> 31) {
        return Long_fromNumber(a.lo - b.lo);
    }
    var a_lolo = a.lo & 0xFFFF;
    var a_lohi = a.lo >>> 16;
    var a_hilo = a.hi & 0xFFFF;
    var a_hihi = a.hi >>> 16;
    var b_lolo = b.lo & 0xFFFF;
    var b_lohi = b.lo >>> 16;
    var b_hilo = b.hi & 0xFFFF;
    var b_hihi = b.hi >>> 16;
    var lolo = a_lolo - b_lolo | 0;
    var lohi = a_lohi - b_lohi + (lolo >> 16) | 0;
    var hilo = a_hilo - b_hilo + (lohi >> 16) | 0;
    var hihi = a_hihi - b_hihi + (hilo >> 16) | 0;
    return new Long(lolo & 0xFFFF | (lohi & 0xFFFF) << 16, hilo & 0xFFFF | (hihi & 0xFFFF) << 16);
}
function Long_compare(a, b) {
    var r = a.hi - b.hi;
    if (r !== 0) {
        return r;
    }
    r = (a.lo >>> 1) - (b.lo >>> 1);
    if (r !== 0) {
        return r;
    }
    return (a.lo & 1) - (b.lo & 1);
}
function Long_isPositive(a) {
    return (a.hi & 0x80000000) === 0;
}
function Long_isNegative(a) {
    return (a.hi & 0x80000000) !== 0;
}
function Long_mul(a, b) {
    var positive = Long_isNegative(a) === Long_isNegative(b);
    if (Long_isNegative(a)) {
        a = Long_neg(a);
    }
    if (Long_isNegative(b)) {
        b = Long_neg(b);
    }
    var a_lolo = a.lo & 0xFFFF;
    var a_lohi = a.lo >>> 16;
    var a_hilo = a.hi & 0xFFFF;
    var a_hihi = a.hi >>> 16;
    var b_lolo = b.lo & 0xFFFF;
    var b_lohi = b.lo >>> 16;
    var b_hilo = b.hi & 0xFFFF;
    var b_hihi = b.hi >>> 16;
    var lolo = 0;
    var lohi = 0;
    var hilo = 0;
    var hihi = 0;
    lolo = a_lolo * b_lolo | 0;
    lohi = lolo >>> 16;
    lohi = (lohi & 0xFFFF) + a_lohi * b_lolo | 0;
    hilo = hilo + (lohi >>> 16) | 0;
    lohi = (lohi & 0xFFFF) + a_lolo * b_lohi | 0;
    hilo = hilo + (lohi >>> 16) | 0;
    hihi = hilo >>> 16;
    hilo = (hilo & 0xFFFF) + a_hilo * b_lolo | 0;
    hihi = hihi + (hilo >>> 16) | 0;
    hilo = (hilo & 0xFFFF) + a_lohi * b_lohi | 0;
    hihi = hihi + (hilo >>> 16) | 0;
    hilo = (hilo & 0xFFFF) + a_lolo * b_hilo | 0;
    hihi = hihi + (hilo >>> 16) | 0;
    hihi = hihi + a_hihi * b_lolo + a_hilo * b_lohi + a_lohi * b_hilo + a_lolo * b_hihi | 0;
    var result = new Long(lolo & 0xFFFF | lohi << 16, hilo & 0xFFFF | hihi << 16);
    return positive ? result : Long_neg(result);
}
function Long_div(a, b) {
    if (Math.abs(a.hi) < Long_MAX_NORMAL && Math.abs(b.hi) < Long_MAX_NORMAL) {
        return Long_fromNumber(Long_toNumber(a) / Long_toNumber(b));
    }
    return (Long_divRem(a, b))[0];
}
function Long_udiv(a, b) {
    if (a.hi >= 0 && a.hi < Long_MAX_NORMAL && b.hi >= 0 && b.hi < Long_MAX_NORMAL) {
        return Long_fromNumber(Long_toNumber(a) / Long_toNumber(b));
    }
    return (Long_udivRem(a, b))[0];
}
function Long_rem(a, b) {
    if (Math.abs(a.hi) < Long_MAX_NORMAL && Math.abs(b.hi) < Long_MAX_NORMAL) {
        return Long_fromNumber(Long_toNumber(a) % Long_toNumber(b));
    }
    return (Long_divRem(a, b))[1];
}
function Long_urem(a, b) {
    if (a.hi >= 0 && a.hi < Long_MAX_NORMAL && b.hi >= 0 && b.hi < Long_MAX_NORMAL) {
        return Long_fromNumber(Long_toNumber(a) / Long_toNumber(b));
    }
    return (Long_udivRem(a, b))[1];
}
function Long_divRem(a, b) {
    if (b.lo === 0 && b.hi === 0) {
        throw new Error("Division by zero");
    }
    var positive = Long_isNegative(a) === Long_isNegative(b);
    if (Long_isNegative(a)) {
        a = Long_neg(a);
    }
    if (Long_isNegative(b)) {
        b = Long_neg(b);
    }
    a = new LongInt(a.lo, a.hi, 0);
    b = new LongInt(b.lo, b.hi, 0);
    var q = LongInt_div(a, b);
    a = new Long(a.lo, a.hi);
    q = new Long(q.lo, q.hi);
    return positive ? [q, a] : [Long_neg(q), Long_neg(a)];
}
function Long_udivRem(a, b) {
    if (b.lo === 0 && b.hi === 0) {
        throw new Error("Division by zero");
    }
    a = new LongInt(a.lo, a.hi, 0);
    b = new LongInt(b.lo, b.hi, 0);
    var q = LongInt_div(a, b);
    a = new Long(a.lo, a.hi);
    q = new Long(q.lo, q.hi);
    return [q, a];
}
function Long_shiftLeft16(a) {
    return new Long(a.lo << 16, a.lo >>> 16 | a.hi << 16);
}
function Long_shiftRight16(a) {
    return new Long(a.lo >>> 16 | a.hi << 16, a.hi >>> 16);
}
function Long_and(a, b) {
    return new Long(a.lo & b.lo, a.hi & b.hi);
}
function Long_or(a, b) {
    return new Long(a.lo | b.lo, a.hi | b.hi);
}
function Long_xor(a, b) {
    return new Long(a.lo ^ b.lo, a.hi ^ b.hi);
}
function Long_shl(a, b) {
    b &= 63;
    if (b === 0) {
        return a;
    } else if (b < 32) {
        return new Long(a.lo << b, a.lo >>> 32 - b | a.hi << b);
    } else if (b === 32) {
        return new Long(0, a.lo);
    } else {
        return new Long(0, a.lo << b - 32);
    }
}
function Long_shr(a, b) {
    b &= 63;
    if (b === 0) {
        return a;
    } else if (b < 32) {
        return new Long(a.lo >>> b | a.hi << 32 - b, a.hi >> b);
    } else if (b === 32) {
        return new Long(a.hi, a.hi >> 31);
    } else {
        return new Long(a.hi >> b - 32, a.hi >> 31);
    }
}
function Long_shru(a, b) {
    b &= 63;
    if (b === 0) {
        return a;
    } else if (b < 32) {
        return new Long(a.lo >>> b | a.hi << 32 - b, a.hi >>> b);
    } else if (b === 32) {
        return new Long(a.hi, 0);
    } else {
        return new Long(a.hi >>> b - 32, 0);
    }
}
function LongInt(lo, hi, sup) {
    this.lo = lo;
    this.hi = hi;
    this.sup = sup;
}
function LongInt_mul(a, b) {
    var a_lolo = (a.lo & 0xFFFF) * b | 0;
    var a_lohi = (a.lo >>> 16) * b | 0;
    var a_hilo = (a.hi & 0xFFFF) * b | 0;
    var a_hihi = (a.hi >>> 16) * b | 0;
    var sup = a.sup * b | 0;
    a_lohi = a_lohi + (a_lolo >>> 16) | 0;
    a_hilo = a_hilo + (a_lohi >>> 16) | 0;
    a_hihi = a_hihi + (a_hilo >>> 16) | 0;
    sup = sup + (a_hihi >>> 16) | 0;
    a.lo = a_lolo & 0xFFFF | a_lohi << 16;
    a.hi = a_hilo & 0xFFFF | a_hihi << 16;
    a.sup = sup & 0xFFFF;
}
function LongInt_sub(a, b) {
    var a_lolo = a.lo & 0xFFFF;
    var a_lohi = a.lo >>> 16;
    var a_hilo = a.hi & 0xFFFF;
    var a_hihi = a.hi >>> 16;
    var b_lolo = b.lo & 0xFFFF;
    var b_lohi = b.lo >>> 16;
    var b_hilo = b.hi & 0xFFFF;
    var b_hihi = b.hi >>> 16;
    a_lolo = a_lolo - b_lolo | 0;
    a_lohi = a_lohi - b_lohi + (a_lolo >> 16) | 0;
    a_hilo = a_hilo - b_hilo + (a_lohi >> 16) | 0;
    a_hihi = a_hihi - b_hihi + (a_hilo >> 16) | 0;
    var sup = a.sup - b.sup + (a_hihi >> 16) | 0;
    a.lo = a_lolo & 0xFFFF | a_lohi << 16;
    a.hi = a_hilo & 0xFFFF | a_hihi << 16;
    a.sup = sup;
}
function LongInt_add(a, b) {
    var a_lolo = a.lo & 0xFFFF;
    var a_lohi = a.lo >>> 16;
    var a_hilo = a.hi & 0xFFFF;
    var a_hihi = a.hi >>> 16;
    var b_lolo = b.lo & 0xFFFF;
    var b_lohi = b.lo >>> 16;
    var b_hilo = b.hi & 0xFFFF;
    var b_hihi = b.hi >>> 16;
    a_lolo = a_lolo + b_lolo | 0;
    a_lohi = a_lohi + b_lohi + (a_lolo >> 16) | 0;
    a_hilo = a_hilo + b_hilo + (a_lohi >> 16) | 0;
    a_hihi = a_hihi + b_hihi + (a_hilo >> 16) | 0;
    var sup = a.sup + b.sup + (a_hihi >> 16) | 0;
    a.lo = a_lolo & 0xFFFF | a_lohi << 16;
    a.hi = a_hilo & 0xFFFF | a_hihi << 16;
    a.sup = sup;
}
function LongInt_inc(a) {
    a.lo = a.lo + 1 | 0;
    if (a.lo === 0) {
        a.hi = a.hi + 1 | 0;
        if (a.hi === 0) {
            a.sup = a.sup + 1 & 0xFFFF;
        }
    }
}
function LongInt_dec(a) {
    a.lo = a.lo - 1 | 0;
    if (a.lo ===  -1) {
        a.hi = a.hi - 1 | 0;
        if (a.hi ===  -1) {
            a.sup = a.sup - 1 & 0xFFFF;
        }
    }
}
function LongInt_ucompare(a, b) {
    var r = a.sup - b.sup;
    if (r !== 0) {
        return r;
    }
    r = (a.hi >>> 1) - (b.hi >>> 1);
    if (r !== 0) {
        return r;
    }
    r = (a.hi & 1) - (b.hi & 1);
    if (r !== 0) {
        return r;
    }
    r = (a.lo >>> 1) - (b.lo >>> 1);
    if (r !== 0) {
        return r;
    }
    return (a.lo & 1) - (b.lo & 1);
}
function LongInt_numOfLeadingZeroBits(a) {
    var n = 0;
    var d = 16;
    while (d > 0) {
        if (a >>> d !== 0) {
            a >>>= d;
            n = n + d | 0;
        }
        d = d / 2 | 0;
    }
    return 31 - n;
}
function LongInt_shl(a, b) {
    if (b === 0) {
        return;
    }
    if (b < 32) {
        a.sup = (a.hi >>> 32 - b | a.sup << b) & 0xFFFF;
        a.hi = a.lo >>> 32 - b | a.hi << b;
        a.lo <<= b;
    } else if (b === 32) {
        a.sup = a.hi & 0xFFFF;
        a.hi = a.lo;
        a.lo = 0;
    } else if (b < 64) {
        a.sup = (a.lo >>> 64 - b | a.hi << b - 32) & 0xFFFF;
        a.hi = a.lo << b;
        a.lo = 0;
    } else if (b === 64) {
        a.sup = a.lo & 0xFFFF;
        a.hi = 0;
        a.lo = 0;
    } else {
        a.sup = a.lo << b - 64 & 0xFFFF;
        a.hi = 0;
        a.lo = 0;
    }
}
function LongInt_shr(a, b) {
    if (b === 0) {
        return;
    }
    if (b === 32) {
        a.lo = a.hi;
        a.hi = a.sup;
        a.sup = 0;
    } else if (b < 32) {
        a.lo = a.lo >>> b | a.hi << 32 - b;
        a.hi = a.hi >>> b | a.sup << 32 - b;
        a.sup >>>= b;
    } else if (b === 64) {
        a.lo = a.sup;
        a.hi = 0;
        a.sup = 0;
    } else if (b < 64) {
        a.lo = a.hi >>> b - 32 | a.sup << 64 - b;
        a.hi = a.sup >>> b - 32;
        a.sup = 0;
    } else {
        a.lo = a.sup >>> b - 64;
        a.hi = 0;
        a.sup = 0;
    }
}
function LongInt_copy(a) {
    return new LongInt(a.lo, a.hi, a.sup);
}
function LongInt_div(a, b) {
    var bits = b.hi !== 0 ? LongInt_numOfLeadingZeroBits(b.hi) : LongInt_numOfLeadingZeroBits(b.lo) + 32;
    var sz = 1 + (bits / 16 | 0);
    var dividentBits = bits % 16;
    LongInt_shl(b, bits);
    LongInt_shl(a, dividentBits);
    var q = new LongInt(0, 0, 0);
    while (sz-- > 0) {
        LongInt_shl(q, 16);
        var digitA = (a.hi >>> 16) + 0x10000 * a.sup;
        var digitB = b.hi >>> 16;
        var digit = digitA / digitB | 0;
        var t = LongInt_copy(b);
        LongInt_mul(t, digit);
        if (LongInt_ucompare(t, a) >= 0) {
            while (LongInt_ucompare(t, a) > 0) {
                LongInt_sub(t, b);
                 --digit;
            }
        } else {
            while (true) {
                var nextT = LongInt_copy(t);
                LongInt_add(nextT, b);
                if (LongInt_ucompare(nextT, a) > 0) {
                    break;
                }
                t = nextT;
                ++digit;
            }
        }
        LongInt_sub(a, t);
        q.lo |= digit;
        LongInt_shl(a, 16);
    }
    LongInt_shr(a, bits + 16);
    return q;
}
function TeaVMThread(runner) {
    this.status = 3;
    this.stack = [];
    this.suspendCallback = null;
    this.runner = runner;
    this.attribute = null;
    this.completeCallback = null;
}
TeaVMThread.prototype.push = function() {
    for (var i = 0;i < arguments.length;++i) {
        this.stack.push(arguments[i]);
    }
    return this;
};
TeaVMThread.prototype.s = TeaVMThread.prototype.push;
TeaVMThread.prototype.pop = function() {
    return this.stack.pop();
};
TeaVMThread.prototype.l = TeaVMThread.prototype.pop;
TeaVMThread.prototype.isResuming = function() {
    return this.status === 2;
};
TeaVMThread.prototype.isSuspending = function() {
    return this.status === 1;
};
TeaVMThread.prototype.suspend = function(callback) {
    this.suspendCallback = callback;
    this.status = 1;
};
TeaVMThread.prototype.start = function(callback) {
    if (this.status !== 3) {
        throw new Error("Thread already started");
    }
    if ($rt_currentNativeThread !== null) {
        throw new Error("Another thread is running");
    }
    this.status = 0;
    this.completeCallback = callback ? callback : function(result) {
        if (result instanceof Error) {
            throw result;
        }
    };
    this.run();
};
TeaVMThread.prototype.resume = function() {
    if ($rt_currentNativeThread !== null) {
        throw new Error("Another thread is running");
    }
    this.status = 2;
    this.run();
};
TeaVMThread.prototype.run = function() {
    $rt_currentNativeThread = this;
    var result;
    try {
        result = this.runner();
    } catch (e){
        result = e;
    } finally {
        $rt_currentNativeThread = null;
    }
    if (this.suspendCallback !== null) {
        var self = this;
        var callback = this.suspendCallback;
        this.suspendCallback = null;
        callback(function() {
            self.resume();
        });
    } else if (this.status === 0) {
        this.completeCallback(result);
    }
};
function $rt_suspending() {
    var thread = $rt_nativeThread();
    return thread != null && thread.isSuspending();
}
function $rt_resuming() {
    var thread = $rt_nativeThread();
    return thread != null && thread.isResuming();
}
function $rt_suspend(callback) {
    var nativeThread = $rt_nativeThread();
    if (nativeThread === null) {
        throw new Error("Suspension point reached from non-threading context (perhaps, from native JS method).");
    }
    return nativeThread.suspend(callback);
}
function $rt_startThread(runner, callback) {
    (new TeaVMThread(runner)).start(callback);
}
var $rt_currentNativeThread = null;
function $rt_nativeThread() {
    return $rt_currentNativeThread;
}
function $rt_invalidPointer() {
    throw new Error("Invalid recorded state");
}
main = $rt_mainStarter(nle_Client_main);
(function() {
    var c;
    c = otjb_Window.prototype;
    c.dispatchEvent = c.$dispatchEvent$exported$4;
    c.addEventListener = c.$addEventListener$exported$0;
    c.removeEventListener = c.$removeEventListener$exported$1;
    c.getLength = c.$getLength$exported$5;
    c.get = c.$get$exported$2;
    c.addEventListener = c.$addEventListener$exported$6;
    c.removeEventListener = c.$removeEventListener$exported$3;
    c = nlea_EaglerAdapterImpl2$2.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$3.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$4.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$5.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$6.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$7.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$8.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$9.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$10.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$11.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$12.prototype;
    c.onTimer = c.$onTimer$exported$0;
    c = nlea_EaglerAdapterImpl2$1.prototype;
    c.stateChanged = c.$stateChanged$exported$0;
    c = nlea_EaglerAdapterImpl2$13.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$14.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$24.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$23.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$21.prototype;
    c.onSuccess = c.$onSuccess$exported$0;
    c = nlea_EaglerAdapterImpl2$22.prototype;
    c.onError = c.$onError$exported$0;
    c = nlea_EaglerAdapterImpl2$17.prototype;
    c.onTimer = c.$onTimer$exported$0;
    c = otjc_JSArray.prototype;
    c.getLength = c.$getLength$exported$1;
    c.get = c.$get$exported$0;
    c = nlea_EaglerAdapterImpl2$25.prototype;
    c.resolveStr = c.$resolveStr$exported$0;
    c = jni_XHRURLConnection$performRequest$lambda$_5_0.prototype;
    c.stateChanged = c.$stateChanged$exported$0;
    c = nlea_EaglerAdapterImpl2$18.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$19.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$20.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$ServerQueryImpl$1.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$ServerQueryImpl$2.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$ServerQueryImpl$3.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$ServerQueryImpl$4.prototype;
    c.onTimer = c.$onTimer$exported$0;
    c = nlea_EaglerAdapterImpl2$15.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
    c = nlea_EaglerAdapterImpl2$16.prototype;
    c.handleEvent = c.$handleEvent$exported$0;
})();
})();

//# sourceMappingURL=classes.js.map